自动驾驶—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. 如何 管理复杂仿真资源(车辆、传感器、代理)

💡 核心价值

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

相关推荐
AI_小站1 小时前
6个GitHub爆火的免费大模型教程,助你快速进阶AI编程
人工智能·langchain·github·知识图谱·agent·llama·rag
xindoo1 小时前
GitHub Trending霸榜!深度解析AI Coding辅助神器 Superpowers
人工智能·github
时间之里1 小时前
【深度学习】:RF-DETR与yolo对比
人工智能·深度学习·yolo
北京阿法龙科技有限公司1 小时前
数智化升级:AR 智能眼镜驱动工业运维效能革新
人工智能
风落无尘1 小时前
《智能重生:从垃圾堆到AI工程师》——第二章 概率与生存
大数据·人工智能
j_xxx404_1 小时前
Linux:静态链接与动态链接深度解析
linux·运维·服务器·c++·人工智能
收获不止数据库1 小时前
达梦9发布会归来:AI 时代,我们需要一款什么样的数据库?
数据库·人工智能·ai·语言模型·数据分析
hhb_6181 小时前
AI全栈编程生存指南
人工智能
AI-Frontiers2 小时前
transformer进阶之路:#2 工作原理详解
人工智能·深度学习·transformer
科研前沿2 小时前
2026 数字孪生前沿科技:全景迭代报告 —— 镜像视界生成式孪生(Generative DT)技术白皮书
大数据·人工智能·科技·算法·音视频·空间计算