1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #!/usr/bin/env python
- # This work is licensed under the terms of the MIT license.
- # For a copy, see <https://opensource.org/licenses/MIT>.
- """
- 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
|