#!/usr/bin/env python # This work is licensed under the terms of the MIT license. # For a copy, see . """ This module provides a dummy agent to control the ego vehicle """ from __future__ import print_function import carla from srunner.autoagents.autonomous_agent import AutonomousAgent class DummyAgent(AutonomousAgent): """ Dummy autonomous agent to control the ego vehicle """ def setup(self, path_to_conf_file): """ Setup the agent parameters """ def sensors(self): """ Define the sensor suite required by the agent :return: a list containing the required sensors in the following format: [ {'type': 'sensor.camera.rgb', 'x': 0.7, 'y': -0.4, 'z': 1.60, 'roll': 0.0, 'pitch': 0.0, 'yaw': 0.0, 'width': 300, 'height': 200, 'fov': 100, 'id': 'Left'}, {'type': 'sensor.camera.rgb', 'x': 0.7, 'y': 0.4, 'z': 1.60, 'roll': 0.0, 'pitch': 0.0, 'yaw': 0.0, 'width': 300, 'height': 200, 'fov': 100, 'id': 'Right'}, {'type': 'sensor.lidar.ray_cast', 'x': 0.7, 'y': 0.0, 'z': 1.60, 'yaw': 0.0, 'pitch': 0.0, 'roll': 0.0, 'id': 'LIDAR'} """ sensors = [{'type': 'sensor.camera.rgb', 'x': 0.7, 'y': 0.0, 'z': 1.60, 'roll': 0.0, 'pitch': 0.0, 'yaw': 0.0, 'width': 800, 'height': 600, 'fov': 100, 'id': 'Center'}, {'type': 'sensor.camera.rgb', 'x': 0.7, 'y': -0.4, 'z': 1.60, 'roll': 0.0, 'pitch': 0.0, 'yaw': -45.0, 'width': 800, 'height': 600, 'fov': 100, 'id': 'Left'}, {'type': 'sensor.camera.rgb', 'x': 0.7, 'y': 0.4, 'z': 1.60, 'roll': 0.0, 'pitch': 0.0, 'yaw': 45.0, 'width': 800, 'height': 600, 'fov': 100, 'id': 'Right'}, {'type': 'sensor.lidar.ray_cast', 'x': 0.7, 'y': -0.4, 'z': 1.60, 'roll': 0.0, 'pitch': 0.0, 'yaw': -45.0, 'id': 'LIDAR'}, {'type': 'sensor.other.gnss', 'x': 0.7, 'y': -0.4, 'z': 1.60, 'id': 'GPS'}, {'type': 'sensor.can_bus', 'reading_frequency': 25, 'id': 'can_bus'}, {'type': 'sensor.hd_map', 'reading_frequency': 1, 'id': 'hdmap'}, ] return sensors def run_step(self, input_data, timestamp): """ Execute one step of navigation. """ print("=====================>") for key, val in input_data.items(): if hasattr(val[1], 'shape'): shape = val[1].shape print("[{} -- {:06d}] with shape {}".format(key, val[0], shape)) else: print("[{} -- {:06d}] ".format(key, val[0])) print("<=====================") # DO SOMETHING SMART # RETURN CONTROL control = carla.VehicleControl() control.steer = 0.0 control.throttle = 0.0 control.brake = 0.0 control.hand_brake = False return control