前面的教程都在"车里"看世界——相机、雷达、BEV。这期换个视角:跳出车辆,从上帝视角俯瞰整个仿真场景,实时看到所有车辆、行人的位置和运动状态。
1 为什么需要上帝视角
自动驾驶开发中,除了"车里的感知",还经常需要"全局的观察":
| 场景 | 用途 |
|---|---|
| 调试 | 一眼看清所有NPC跑得对不对 |
| 验证 | 观察算法下车的行为是否符合预期 |
| 讲解/演示 | 观众能直观看到整个场景 |
| 数据采集 | 全局记录车辆轨迹 |
2 实现思路
CARLA 仿真环境中自带OpenDRIVE 高清地图,本期的做法是:
读取并解析 OpenDRIVE 地图(道路/车道/路口) ↓ 解析成几何形状 绘制地图可视化(道路、车道线) ↓ 实时获取 所有NPC的位置和运动状态 ↓ 叠加 上帝视角全局画面核心:不是自己画地图,是解析CARLA自带的高精地图并可视化,再把动态目标叠加上去。
3 启动流程
# 终端1-2:启动环境 + Carla UE4# 终端3:启动 ROS Bridgecdcarla_simbashros_bridge.sh# 终端4:创建NPC(让场景动起来)python scripts/spawn_random_npc_py2.py _vehicle_count:=20_walker_count:=10# 终端5:上帝视角可视化cd/opt/carla_ws/sim_workspace/sim_view python sim_view_py2.py4 核心功能
4.1 跟随模式
- 默认跟随ego vehicle运动
- F 键:切换跟随开关
- N 键:切换跟随的车辆ID
4.2 地图操作
- 单击拖动:平移地图
- 滚动:缩放地图
4.3 实时状态显示
- 实时查看所有 NPC 的位置和运动速度
4.4 图形颜色标识
| 图形 | 含义 |
|---|---|
| 蓝色方块 | ego vehicle(自车) |
| 红色方块 | NPC 车辆 |
| 绿色方块 | NPC 行人 |
| 三角形 | 交通灯(颜色=状态) |
5 视觉效果
运行后可以看到:
- 完整的高精地图(道路、车道、路口)
- 所有车辆/行人以方块形式实时移动
- 交通灯实时变化(红/绿/黄)
- 跟随模式自动追踪自车
这就是一个"仿真世界监控大屏"——整个场景的状态一目了然。
11_仿真环境的上帝视角可视化
6 下一期
下期将介绍如何通过GPS+激光雷达+相机构建仿真环境的点云地图和语义地图。
7 往期回顾
- Carla仿真系列:10_Carla 双目障碍物测距,视差图还原真实距离
- Carla仿真系列:9_Carla 单目障碍物测距,四种方法原理与实测
- Carla仿真系列:8_相机与激光雷达融合,点云投影到图像
- Carla仿真系列:7_BEV + 语义分割融合,一张鸟瞰图看懂整个场景
- Carla仿真系列:6_实时图像语义分割,SegFormer 和 YOLOPv2 实测对比
- Carla仿真系列:5_Carla 四路相机标定与BEV环视拼接
- Carla仿真系列:4_在 Carla 的 Tesla 上装 4 路摄像头,并创建网格为环视拼接做准备
- Carla仿真系列:3_Carla 仿真中跑通 YOLOv8 实时目标检测
- Carla仿真系列:2_Carla 仿真中批量添加 NPC,让场景动起来
- Carla仿真系列:1_Carla + ROS 仿真环境从零搭建,跑通完整数据流
如果本文对你有帮助,欢迎点赞、关注、收藏。
遇到问题可以评论区留言交流,也欢迎转发给需要的朋友。
开源项目地址放在个人主页简介中,欢迎前往查看。