Carla仿真系列:1_Carla + ROS 仿真环境从零搭建,跑通完整数据流

📅 2026/7/29 21:08:30 👁️ 阅读次数 📝 编程学习
Carla仿真系列:1_Carla + ROS 仿真环境从零搭建,跑通完整数据流

做算法验证,最头疼的问题就是没有实车和传感器。
之前我都是用 Carla 仿真来替代,但每次搭环境都会踩一遍坑。这次把完整的搭建过程记录下来,并集成到一个镜像中方便管理,从容器启动到 ROS 数据可视化,一条线走通。

1 整体架构

Carla UE4(仿真服务端) ↓ Carla ROS Bridge(数据桥接) ↓ ROS 话题(相机图像、激光雷达点云) ↓ RVIZ(可视化)

2 第一步:启动容器

我的环境是用 Docker 封装的,这样换机器也能一键跑起来。

cdcarla_simbashdocker/scripts/dev_start.sh# 启动容器bashdocker/scripts/dev_into.sh# 进入容器

3 第二步:启动 Carla UE4

容器内执行:

cd/opt/carla_wsbash./CarlaUe4.sh

这时候会弹出 Carla 的仿真窗口,能看到城镇场景和初始车辆。第一次启动可能稍慢,耐心等就行。

4 第三步:启动 ROS Bridge

新开一个终端,同样进入容器,然后加载 ROS 环境并启动桥接节点:

sourceros_bridge_env.shcd/opt/carla_ws/ros_bridge_wssourcedevel/setup.bashcd/opt/carla_ws roslaunch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch

这一步会把 Carla 仿真中的传感器数据(相机图像、激光雷达点云、GPS 等)发布成 ROS 话题,供后续算法节点订阅。

启动成功后,可以查看一下有哪些话题:

rostopic list

会看到类似这样的输出:

/carla/ego_vehicle/rgb_front/image /carla/ego_vehicle/lidar/point_cloud /carla/ego_vehicle/vehicle_info ...

5 第四步:RVIZ 可视化

再新开一个终端,同样进入容器,启动 RVIZ:

cd/opt/carla_ws rosrun rviz rviz-dcarla_sim_config.rviz

如果配置正确,RVIZ 中会显示车前相机图像和激光雷达点云,车周围的建筑物、行人、车辆都能看到。

到了这一步,整套 Carla + ROS 的数据通路就算跑通了。后面不管是做目标检测、路径规划还是传感器融合,都有了数据基础。

6 几个注意点

  1. 三个终端各干各的:Carla UE4、ROS Bridge、RVIZ 各占一个终端,缺一不可
  2. 第一次启动慢:Carla UE4 第一次启动需要加载着色器,耐心等
  3. Docker 环境:用容器封装的好处是换机器不用重新配环境,拉到镜像直接跑

1_Carla+ROS仿真环境跑通

如果本文对你有帮助,欢迎点赞、收藏
遇到问题可以评论区留言交流,也欢迎转发给需要的朋友。