Carla仿真系列:4_在 Carla 的 Tesla 上装 4 路摄像头,并创建网格为环视拼接做准备

前几期把环境搭好、加了 NPC、跑通了 YOLO 检测。这期开始为环视拼接做准备------在 Tesla 车上安装前后左右 4 路摄像头,并创建标定用的棋盘格。

1 为什么是 4 路摄像头

环视拼接需要覆盖车辆四周 360 度,用 4 路 120 度 FOV 的相机,每路间隔 90 度,留有 30 度重叠区域用于拼接。

ini 复制代码
       前 (yaw=0°)
        ↑
左 ←── 车 ──→ 右
(yaw=90°)  (yaw=-90°)
        ↓
       后 (yaw=180°)

2 摄像头安装配置

在 carla_spawn_objects/config/objects.json 中给 Tesla 配置 4 个传感器。

Tesla 尺寸:4.6 × 1.84 × 1.44 m

json 复制代码
{
  "type": "sensor.camera.rgb",
  "id": "rgb_front",
  "spawn_point": {"x": 2.3, "y": 0.0, "z": 0.8, "roll": 0.0, "pitch": 0.0, "yaw": 0.0},
  "image_size_x": 640,
  "image_size_y": 480,
  "fov": 120.0
},
{
  "type": "sensor.camera.rgb",
  "id": "rgb_back",
  "spawn_point": {"x": -2.3, "y": 0.0, "z": 0.8, "roll": 0.0, "pitch": 0.0, "yaw": 180.0},
  "image_size_x": 640,
  "image_size_y": 480,
  "fov": 120.0
},
{
  "type": "sensor.camera.rgb",
  "id": "rgb_left",
  "spawn_point": {"x": 0.0, "y": 0.92, "z": 0.8, "roll": 0.0, "pitch": 0.0, "yaw": 90.0},
  "image_size_x": 640,
  "image_size_y": 480,
  "fov": 120.0
},
{
  "type": "sensor.camera.rgb",
  "id": "rgb_right",
  "spawn_point": {"x": 0.0, "y": -0.92, "z": 0.8, "roll": 0.0, "pitch": 0.0, "yaw": -90.0},
  "image_size_x": 640,
  "image_size_y": 480,
  "fov": 120.0
}

下图是通过rviz查看4路摄像头的数据。

复制代码
rosrun rviz rviz -d carla_sim_config.rviz

关键点解释

配置 说明
x=2.3 / -2.3 前后相机装在车头/车尾前方
y=0.92 / -0.92 左右相机装在车两侧(车宽1.84m的一半)
z=0.8 相机离地高度0.8米
yaw旋转 后180°、左90°、右-90°,让相机朝向车外
fov=120 广角,保证相邻相机有重叠区域

坐标系用的是右手坐标系,跟 ROS 一致。

3 Python3 获取4路图像

跟之前一样的套路,终端启动基础环境,然后:

arduino 复制代码
终端3: TCP Bridge Server(多相机版)
终端4: Python 3.10 接收图像
bash 复制代码
# 终端3:多相机 TCP 服务端(Python 2.7)
cd /opt/carla_ws
python tcp_bridge/tcp_bridge_server_multi_camera_py2.py

# 终端4:接收图像(Python 3.10)
source activate py310
cd /opt/carla_ws/sim_workspace/image_detect
python tcp_bridge_client_py3.py

4 创建标定网格

Carla里面是没有标准的黑白的棋盘格,所以我这边是创建的网格来代替。

bash 复制代码
# 终端5:创建标定棋盘格
python scripts/create_board_py2.py --vehicle-id 513
# --vehicle-id 是车辆的 ID,在创建 ego_vehicle 时会有打印输出,换成你自己的车辆 ID 即可。

演示视频

点击前往 B 站观看

5 下一步

4 路相机 + 棋盘格都准备好了,下一期就是真正的环视拼接------把 4 路图像投影到统一的 BEV 鸟瞰视角,拼接成完整的 360 度环视图。

往期回顾

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

相关推荐
miofly1 小时前
GitHub 日榜趋势速报 | 2026-10-13
开源·github
刘发财12 小时前
前端如何生成10000页PDF文件?
前端·javascript·开源
Erishen13 小时前
Lume C11编译器内部架构:从树形解释器到双LLVM后端的设计之旅
架构·开源·编译器
冬奇Lab13 小时前
一天一个开源项目(第234篇):CC Switch —— 一个 App 管理十款 AI 编程工具的 Provider、MCP、Skills 和 Prompts
人工智能·开源·claude
小蠢驴打代码13 小时前
给 Codex Plan 模式加一本决策账本:问过什么、选了什么,都进仓库
开源·openai·ai编程
程序员老赵18 小时前
Docker 部署 Portainer CE:轻松搭建容器管理平台
docker·容器·开源
TTATTC18 小时前
Gmail、Drive、日历共用一套命令:gws 如何在运行时把 Discovery 文档编译成 CLI
docker·开源
feasibility.19 小时前
“美版DeepSeek”等海外开放模型,能夺回生态入口吗?——中国开放权重领先下的2026全球AI分水岭
人工智能·开源·大模型·llm·minimax·deepseek·beam
缘友一世19 小时前
开源 Linux截图工具闪构(SnapForge)
linux·运维·ubuntu·开源·截图
鶴哥只手遮天1 天前
第 06 章 SQLite 持久化契约与数据模型
人工智能·开源