| import logging | |
| from pathlib import Path | |
| from ROAR_Sim.configurations.configuration import Configuration as CarlaConfig | |
| from ROAR_Sim.carla_client.carla_runner import CarlaRunner | |
| from ROAR.agent_module.pure_pursuit_agent import PurePursuitAgent | |
| from ROAR.configurations.configuration import Configuration as AgentConfig | |
| import argparse | |
| from misc.utils import str2bool | |
| from ROAR.agent_module.michael_pid_agent import PIDAgent | |
| from ROAR.agent_module.forward_only_agent import ForwardOnlyAgent | |
| def main(args): | |
| """Starts game loop""" | |
| agent_config = AgentConfig.parse_file(Path("./ROAR/configurations/carla/carla_agent_configuration.json")) | |
| carla_config = CarlaConfig.parse_file(Path("./ROAR_Sim/configurations/configuration.json")) | |
| carla_runner = CarlaRunner(carla_settings=carla_config, | |
| agent_settings=agent_config, | |
| npc_agent_class=PurePursuitAgent) | |
| try: | |
| my_vehicle = carla_runner.set_carla_world() | |
| agent = ForwardOnlyAgent(vehicle=my_vehicle, | |
| agent_settings=agent_config) | |
| carla_runner.start_game_loop(agent=agent, | |
| use_manual_control=not args.auto) | |
| except Exception as e: | |
| logging.error(f"Something bad happened during initialization: {e}") | |
| carla_runner.on_finish() | |
| logging.error(f"{e}. Might be a good idea to restart Server") | |
| if __name__ == "__main__": | |
| logging.basicConfig(format='%(levelname)s - %(asctime)s - %(name)s ' | |
| '- %(message)s', | |
| datefmt="%H:%M:%S", | |
| level=logging.DEBUG) | |
| logging.getLogger(" streaming client").setLevel(logging.WARNING) | |
| import warnings | |
| warnings.filterwarnings("ignore", module="carla") | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument("--auto", type=str2bool, default=False, help="True to use auto control") | |
| warnings.filterwarnings("ignore", module="carla") | |
| args = parser.parse_args() | |
| main(args) | |