Carla 手动控制

CARLA 手动控制包 是与 Carla 一起打包的 manual_control.py 脚本的仅 ROS 版本。所有数据均通过 ROS 主题接收。


需求

为了能够使用carla_manual_control,需要将一些特定的传感器连接到自我车辆(有关如何将传感器连接到车辆的信息,请参阅 Carla 生成对象 对象):

  • to display an image: 参与者名为rgb_view和分辨率为 800x600 的相机。
  • to display the current position: 具有参与者名称 gnss 的全球导航卫星系统传感器和具有参与者名odometry的里程计伪传感器。
  • to get a notification on lane invasions: 具有参与者名lane_invasion的压线传感器。
  • to get a notification on collisons: 具有参与者名collision的碰撞传感器。

运行包

要运行包:

1. 确保 Carla 正在运行。启动 ROS 桥:

# ROS 1
roslaunch carla_ros_bridge carla_ros_bridge.launch

# ROS 2
ros2 launch carla_ros_bridge carla_ros_bridge.launch.py

2. 生成对象:

# ROS 1
roslaunch carla_spawn_objects carla_spawn_objects.launch

# ROS 2
ros2 launch carla_spawn_objects carla_spawn_objects.launch.py

3. 启动 carla_manual_control 节点:

# ROS 1
roslaunch carla_manual_control carla_manual_control.launch

# ROS 2
ros2 launch carla_manual_control carla_manual_control.launch.py

4. 要手动驾驶车辆,请按“B”。按“H”查看说明。

或者,将上述所有命令组合成一个单独的启动文件,并可以通过执行以下命令同时运行:

# ROS 1
roslaunch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch

# ROS 2
ros2 launch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch.py