自动驾驶—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. 实时状态监控
相关推荐
娱乐我有2 小时前
北京深梵科技公益捐赠二十万 赋能流浪动物温暖过冬
人工智能·科技·json
MarkHD2 小时前
智能体在车联网中的应用:第11天 CARLA自动驾驶仿真入门:从零安装到理解客户端-服务器架构
服务器·架构·自动驾驶
丁劲犇2 小时前
使用AI辅助开发SDR-多相滤波DDC/DUC工具核心原理详解
人工智能·软件无线电·sdr·ddc·duc·多相滤波·数字下变频
IT·小灰灰2 小时前
Gemini 3 Flash:速度与智慧的完美协奏
人工智能·深度学习
WZGL12302 小时前
数字化模式全面赋能,“智能+养老”破题养老痛点
大数据·人工智能·科技·生活·智能家居
qq_411262422 小时前
基于 ESP32 的 AI 硬件方案设计思考
人工智能
MarkHD2 小时前
智能体在车联网中的应用:第12天 Python科学计算双雄:掌握NumPy与Pandas,筑牢AI与自动驾驶数据基石
人工智能·python·numpy
Wnq100722 小时前
解构中心化困境:工业控制SCADA的延时与可靠性症结及分布式边缘计算转型路径
人工智能·分布式·云计算·去中心化·边缘计算
霍格沃兹测试学院-小舟畅学2 小时前
零基础用Cursor快速搭建网站:实测1小时完成
人工智能