自动驾驶—CARLA仿真(19)automatic_control demo

📌 测试用例

PythonAPI/examples/automatic_control.py
自动驾驶代理(Autonomous Agent)演示系统,用于:

  1. 加载三种不同级别的自动驾驶代理(Basic/Constant/Behavior)
  2. 自动规划路径并控制车辆从起点到随机目的地
  3. 提供完整的 HUD 信息显示、传感器管理和交互控制

carla_automatic_control

🔑 主要模块解析

1. 自动驾驶代理系统(核心创新)

脚本集成了 CARLA 官方提供的三种导航代理:

代理类型 特性
BasicAgent agents.navigation.basic_agent 基于 Pure Pursuit 的简单路径跟踪,支持速度限制
ConstantVelocityAgent agents.navigation.constant_velocity_agent 保持恒定速度沿直线行驶(用于测试)
BehaviorAgent agents.navigation.behavior_agent 高级行为代理 ,支持 cautious/normal/aggressive 三种驾驶风格

在 CARLA 的 BehaviorAgent 中,cautious(谨慎)、normal(正常)、aggressive(激进)代表三种预设的驾驶行为风格,它们通过调整底层参数来模拟不同性格驾驶员的行为

  • 路径规划

    python 复制代码
    destination = random.choice(spawn_points).location
    agent.set_destination(destination)
  • 循环模式
    --loop 参数启用后,到达目的地自动选择新目标

✅ 这是 CARLA 官方推荐的自动驾驶开发入口


2. World 类:仿真环境管理器
  • 车辆生成
    • 随机选择符合 --filter--generation 的车辆
    • 设置 role_name='hero' 便于识别
  • 传感器集成
    • 碰撞检测CollisionSensor
    • 车道入侵检测LaneInvasionSensor
    • GNSS 定位GnssSensor
    • 多摄像头/LiDARCameraManager 支持 7 种传感器模式)
  • 物理优化
    modify_vehicle_physics() 启用 sweep wheel collision 提升稳定性

3. HUD(抬头显示器)系统

实时显示关键信息:

  • 性能指标:服务器/客户端 FPS
  • 车辆状态:速度、航向角、位置、档位
  • 环境信息:地图名称、仿真时间、天气
  • 感知数据
    • 碰撞历史(200 帧强度曲线)
    • 周围车辆列表(距离排序)
    • GNSS 坐标

💡 通过 进度条+数值 直观展示油门/刹车/转向量。


4. 传感器管理系统(CameraManager)
  • 多视角支持:5 种预设摄像头位置(车后、车内、侧方等)

  • 多模态传感器

    python 复制代码
    self.sensors = [
        ['sensor.camera.rgb', ...],
        ['sensor.camera.depth', ...],
        ['sensor.camera.semantic_segmentation', ...],
        ['sensor.lidar.ray_cast', ...]
    ]
  • 实时渲染:LiDAR 点云投影为 2D 图像

  • 录制功能self.recording = True 保存图像到 _out/ 目录


5. 主控制循环
python 复制代码
while True:
    # 1. 推进仿真
    if args.sync: world.world.tick()
    
    # 2. 获取代理控制指令
    control = agent.run_step()
    
    # 3. 应用车辆控制
    world.player.apply_control(control)
    
    # 4. 检查是否到达目的地
    if agent.done():
        if args.loop: 
            agent.set_destination(new_destination)
  • 同步模式支持:确保代理决策与仿真严格对齐
  • 资源安全清理finally 块恢复设置并销毁所有 Actor

🎯 核心应用场景

场景 配置示例
基础路径跟踪测试 --agent Basic --behavior normal
激进驾驶行为分析 --agent Behavior --behavior aggressive
恒速巡航验证 --agent Constant
长距离连续导航 --loop --agent Behavior
多传感器数据采集 结合 CameraManager 的录制功能

✅ 总结

该脚本是 CARLA 自动驾驶代理的标准参考实现,展示了:

  1. 如何 集成官方导航代理 实现端到端自动驾驶
  2. 如何 构建完整的仿真监控系统(HUD + 传感器)
  3. 如何 管理复杂仿真资源(车辆、传感器、代理)

💡 核心价值

为研究人员和开发者提供了一个 开箱即用的自动驾驶测试平台 ,无需从零实现路径规划和控制逻辑,可直接聚焦于 高级行为策略感知-决策融合 的研究。

相关推荐
好奇龙猫25 分钟前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
沈浩(种子思维作者)33 分钟前
真的能精准医疗吗?癌症能提前发现吗?
人工智能·python·网络安全·健康医疗·量子计算
minhuan34 分钟前
大模型应用:大模型越大越好?模型参数量与效果的边际效益分析.51
人工智能·大模型参数评估·边际效益分析·大模型参数选择
Cherry的跨界思维40 分钟前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
MM_MS43 分钟前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
ASF1231415sd1 小时前
【基于YOLOv10n-CSP-PTB的大豆花朵检测与识别系统详解】
人工智能·yolo·目标跟踪
m0_650108241 小时前
VGGT-Long:突破千米级长 RGB 序列单目 3D 重建的极限
自动驾驶·机器人导航·vggt·3d视觉基础模型·千米级单目3d重建·通用模型·分块-对齐-闭环-全局优化
水如烟2 小时前
孤能子视角:“意识“的阶段性回顾,“感质“假说
人工智能
Carl_奕然2 小时前
【数据挖掘】数据挖掘必会技能之:A/B测试
人工智能·python·数据挖掘·数据分析
旅途中的宽~2 小时前
《European Radiology》:2024血管瘤分割—基于MRI T1序列的分割算法
人工智能·计算机视觉·mri·sci一区top·血管瘤·t1