自动驾驶—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. 如何 通过路点系统实现自动路径跟踪
相关推荐
龙腾AI白云3 小时前
AI检索增强生成(RAG):解决大模型幻觉的核心落地技术
数据库·人工智能·机器学习·知识图谱
云票3 小时前
企业对接AI合同审查系统的工程实践
人工智能
admin and root3 小时前
「AI安全篇」实战AntiDebug自动化JS逆向加解密MCP
javascript·人工智能·网络安全·自动化·漏洞挖掘·cnvd·src赏金
智能RPA3 小时前
智能体自动化平台与主数据管理平台(MDM)对比评测
人工智能·自动化·agent·rpa
跨境小彭4 小时前
Temu拉美站点铺货实操复盘:手动复制痛点与批量自动化解决方案
服务器·人工智能·搜索引擎·自动化·temu电商运营
封印师请假去地球钓鱼4 小时前
边解边变的问题:从“决策依赖“一词出发
人工智能·算法
AI搅拌机4 小时前
ComfyUI管理大师:安全稳定升级+切换指定版本!
人工智能
浅安的邂逅4 小时前
20929-OpenAI 一天踩三脚急刹:暂停前沿训练、叫停 Astra、披露越权访问澳政府网站
人工智能·大模型·ai编程·行业动态·ai日报
Qyr994 小时前
2026-2032直接芯片液冷板市场爆发式增长:AI算力浪潮下的热管理核心赛道
大数据·人工智能
微学AI4 小时前
不让每一步都调用最贵模型:用蓝耘智能路由改造自主式研究 Agent
数据库·人工智能·蓝耘