Source code for igp2

"""
IGP2: Interpretable Goal-Based Prediction and Planning for Autonomous Vehicles
"""

from .opendrive import *
from .core import *
from .planlibrary import *
from .recognition import *
from .agents import *
from .planning import *
from .agents.mcts_agent import MCTSAgent
from igp2 import data
from igp2 import carlasim
from igp2 import simplesim


[docs]def setup_logging(level=None, vel_smooting_level=None, log_dir=None, log_name=None): import sys import os import logging from datetime import datetime if level is None: level = logging.DEBUG if vel_smooting_level is None: vel_smooting_level = logging.INFO # Add %(asctime)s for time log_formatter = logging.Formatter("[%(threadName)-10.10s:%(name)-20.20s] [%(levelname)-6.6s] %(message)s") root_logger = logging.getLogger("igp2") root_logger.setLevel(level) if log_dir and log_name: if not os.path.isdir(log_dir): os.mkdir(log_dir) date_time = datetime.today().strftime('%Y%m%d_%H%M%S') file_handler = logging.FileHandler("{0}/{1}_{2}.log".format(log_dir, log_name, date_time)) file_handler.setFormatter(log_formatter) root_logger.addHandler(file_handler) console_handler = logging.StreamHandler(stream=sys.stdout) console_handler.setFormatter(log_formatter) root_logger.addHandler(console_handler) logging.getLogger("igp2.core.velocitysmoother").setLevel(vel_smooting_level) return root_logger