自动驾驶—CARLA仿真(25)synchronous_mode demo

📌 测试用例

PythonAPI/examples/synchronous_mode.py

同步模式下的多传感器可视化示例,用于:

  1. 同步采集 RGB 摄像头和语义分割摄像头数据
  2. 将两路图像叠加显示(RGB 为底图,语义分割为半透明覆盖层)
  3. 通过预设路径自动控制车辆移动

适用于 多模态感知算法验证、传感器融合调试、教学演示 。


🔑 主要模块解析

1. CarlaSyncMode 类:同步模式上下文管理器(核心创新)
  • 功能:封装 CARLA 同步模式的开启/关闭逻辑

  • 优势 :

    • 自动管理 world.tick() 与传感器数据对齐
    • 确保每帧只处理同一仿真时刻的多传感器数据
  • 使用方式 :

    python 复制代码
    with CarlaSyncMode(world, camera_rgb, camera_semseg, fps=30) as sync_mode:
        snapshot, image_rgb, image_semseg = sync_mode.tick(timeout=2.0)
  • 关键机制 :

    • 为每个传感器创建独立队列(queue.Queue)
    • 通过 assert all(x.frame == self.frame for x in data) 确保帧同步

✅ 这是 CARLA 多传感器同步采集的最佳实践。


2. 车辆控制逻辑(简化版路径跟踪)
python 复制代码
# 初始化
waypoint = m.get_waypoint(start_pose.location)

# 主循环中
waypoint = random.choice(waypoint.next(1.5))
vehicle.set_transform(waypoint.transform)
  • 特点 :
    • 禁用物理引擎 :vehicle.set_simulate_physics(False)
    • 直接设置位姿:跳过控制指令,直接 teleport 到路点
    • 随机路径选择 :random.choice(waypoint.next(1.5)) 在前方 1.5 米处随机选路点
  • 效果:车辆沿道路自动行驶,但运动不连续(瞬移式)

⚠️ 注意:这不是真实驾驶,而是路径可视化演示。


3. 多传感器叠加显示
python 复制代码
# 绘制 RGB 图像(底层)
draw_image(display, image_rgb)

# 绘制语义分割图像(半透明覆盖层)
draw_image(display, image_semseg, blend=True)
  • blend=True 实现 :

    python 复制代码
    if blend:
        image_surface.set_alpha(100)  # 设置透明度(0-255)
  • 语义分割着色 :

    python 复制代码
    image_semseg.convert(carla.ColorConverter.CityScapesPalette)
    • 使用 CityScapes 标准调色板(道路=灰色,车辆=蓝色等)

🎨 效果:RGB 图像 + 半透明语义标签覆盖,直观显示分割结果。


4. 性能监控

实时显示两种 FPS:

python 复制代码
# 真实 FPS(Pygame 渲染帧率)
font.render('% 5d FPS (real)' % clock.get_fps(), ...)

# 仿真 FPS(CARLA 仿真步长)
fps = round(1.0 / snapshot.timestamp.delta_seconds)
font.render('% 5d FPS (simulated)' % fps, ...)
  • 典型值 :
    • simulated FPS = 30(由 fps=30 参数决定)
    • real FPS ≈ 30(取决于渲染性能)

✅ 总结

该脚本是 CARLA 多传感器同步可视化的精简范例,展示了:

  1. 如何 可靠地同步多传感器数据
  2. 如何 叠加显示不同模态的感知结果
  3. 如何 通过路点系统实现自动路径跟踪
相关推荐
sell-cloud3 小时前
Prompt Engineering要凉了?Fable 5.5能“猜“意图,但银行正在封杀AI Agent——企业AI的真正护城河是什么
人工智能·prompt
Navicat中国4 小时前
Navicat 18 内置 AI 助手让数据库开发从繁琐操作迈向智能协作
大数据·人工智能·数据库开发
4SAPI5 小时前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php
魔乐社区5 小时前
翼芯・智算测试与适配优化专区,让国产算力“选得准、跑得通、用得好“
人工智能·开源·大模型
XCDoris7 小时前
郴州logo设计机构
大数据·人工智能·python
Goboy7 小时前
一个人带三个Agent,我用全新TRAE从0到1搭了个资讯周刊站
人工智能·trae
俊哥V7 小时前
每日 AI 研究简报 · 2026-10-19
人工智能·ai
AI_AGENT_DEV_AI7 小时前
AI英语教培智能体的开发
人工智能
物联网软硬件开发-轨物科技7 小时前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人
海宇数据7 小时前
零信任架构实战:基于海宇网上踪迹欺诈行为识别构建自动化信贷资信评估网关
运维·人工智能·架构·自动化