自动驾驶—CARLA仿真(21)manual_control_carsim demo

📌 测试用例

PythonAPI/examples/manual_control_carsim.py

功能完备的手动驾驶控制客户端(Manual Control Client),提供:

  • 完整的车辆手动控制(油门、刹车、转向、灯光等)
  • 多传感器支持(RGB、深度、语义分割、LiDAR、雷达、DVS)
  • 高级仿真功能(天气切换、地图图层控制、录制/回放)
  • 实时 HUD 信息显示

适用于 交互式驾驶测试、传感器调试、教学演示、数据采集

manual_control_carsim.py与manual_control.py 基本一致,不同点在于该测试用例支持carsim 物理仿真,以实现更真实地模拟车辆

PythonAPI/examples/manual_control_chrono.py功能如manual_control_carsim.py,不过manual_control_chrono.py用例支持 三种物理引擎:

  1. PhysX(默认)
  2. CarSim(商用高保真)
  3. Chrono(开源多体动力学)
  • Ctrl + K:切换 CarSim
  • Ctrl + O:切换 Chrono

通过键盘控制操作不太灵活:

carla_manual_control_carsim


🔑 主要模块解析

1. World 类:仿真世界管理器
  • 核心职责
    • 管理主车(Player)的生成与重生(Backspace 键)
    • 初始化并管理 5 类传感器
      • CollisionSensor(碰撞检测)
      • LaneInvasionSensor(车道入侵)
      • GnssSensor(GPS 定位)
      • IMUSensor(惯性测量)
      • RadarSensor(毫米波雷达可视化)
    • 控制 天气预设C/Shift+C
    • 管理 地图图层 (建筑、植被、路灯等,V/B 键)

✅ 是整个仿真环境的"中枢控制器"。


2. KeyboardControl 类:全功能车辆控制
  • 基础控制

    按键 功能
    W/S 油门/刹车
    A/D 左/右转向
    Q 切换倒挡
    Space 手刹
    M + ,/. 手动换挡
  • 灯光系统

    • L:位置灯 → 近光灯 → 雾灯 → 关闭
    • Shift+L:开启远光灯
    • Z/X:左/右转向灯
    • I:车内灯
    • 自动灯光:刹车时亮刹车灯,倒车时亮倒车灯
  • 高级功能

    • Ctrl+W:启用 60 km/h 定速巡航
    • P:切换自动驾驶(Autopilot)
    • Backspace:重生车辆(保留传感器配置)

✅ 实现了 真实车辆的完整人机交互逻辑


3. HUD 类:专业级抬头显示器

实时显示 15+ 项关键信息

  • 性能指标:服务器/客户端 FPS
  • 车辆状态:速度、航向角、加速度、陀螺仪
  • 定位数据:GNSS 坐标、高度、罗盘方向
  • 控制参数:油门/刹车/转向量(进度条可视化)
  • 环境感知
    • 碰撞历史强度曲线(200 帧)
    • 周围车辆列表(距离排序,最远 200 米)

💡 通过 颜色编码 直观展示车辆状态(如红色=急刹,绿色=加速)。


4. 传感器系统(CameraManager)

支持 9 种传感器模式 ,通过 ````` 或 N 键切换:

传感器类型 特性
RGB 摄像头 支持畸变模拟(色差、晕影)
深度摄像头 3 种深度着色模式(Raw/Gray/Logarithmic)
语义分割 CityScapes 调色板
LiDAR 点云投影为 2D 图像
DVS 动态视觉传感器(事件相机)
  • 5 种预设视角Tab 键切换):
    1. 车后跟随(第三人称)
    2. 车内视角
    3. 侧前方
    4. 高空俯视
    5. 左侧后视镜

✅ 提供 多模态感知数据 的实时可视化。


5. 雷达可视化(RadarSensor)
  • 创新实现

    python 复制代码
    self.debug.draw_point(radar_data.transform.location + fw_vec, color=carla.Color(r,g,b))
  • 速度着色

    • 红色:远离车辆(正速度)
    • 蓝色:接近车辆(负速度)
    • 绿色:横向移动(零径向速度)
  • 动态点云:每个点存活 0.06 秒,形成运动轨迹

📡 这是 CARLA 唯一官方提供的雷达可视化方案


6. 录制与回放系统
  • 图像录制R 键保存传感器图像到 _out/
  • 仿真录制Ctrl+R 录制完整仿真到 manual_recording.log
  • 回放控制
    • Ctrl+P:启动回放
    • Ctrl+ +/-:调整回放起点(±1/10 秒)

✅ 支持 实验可复现性数据集生成


7. 地图图层控制
  • 11 类图层

    python 复制代码
    [Buildings, Foliage, ParkedVehicles, StreetLights, Walls, ...]
  • 操作方式

    • V / Shift+V:切换图层类型
    • B / Shift+B:加载/卸载当前图层

🌆 允许 动态调整场景复杂度(如关闭建筑物简化测试)。


✅ 总结

该脚本是 CARLA 最全面的手动驾驶示例,集成了:

  1. 车辆动力学控制(标准 + 灯光系统)
  2. 多传感器融合(视觉、激光雷达、雷达、DVS)
  3. 环境动态调控(天气、地图图层)
  4. 数据记录与回放
  5. 实时状态监控
相关推荐
小鸡吃米…30 分钟前
机器学习 - K - 中心聚类
人工智能·机器学习·聚类
好奇龙猫1 小时前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
沈浩(种子思维作者)1 小时前
真的能精准医疗吗?癌症能提前发现吗?
人工智能·python·网络安全·健康医疗·量子计算
minhuan1 小时前
大模型应用:大模型越大越好?模型参数量与效果的边际效益分析.51
人工智能·大模型参数评估·边际效益分析·大模型参数选择
Cherry的跨界思维1 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
MM_MS1 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
ASF1231415sd2 小时前
【基于YOLOv10n-CSP-PTB的大豆花朵检测与识别系统详解】
人工智能·yolo·目标跟踪
m0_650108242 小时前
VGGT-Long:突破千米级长 RGB 序列单目 3D 重建的极限
自动驾驶·机器人导航·vggt·3d视觉基础模型·千米级单目3d重建·通用模型·分块-对齐-闭环-全局优化
水如烟2 小时前
孤能子视角:“意识“的阶段性回顾,“感质“假说
人工智能
Carl_奕然2 小时前
【数据挖掘】数据挖掘必会技能之:A/B测试
人工智能·python·数据挖掘·数据分析