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

💡 核心价值

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

相关推荐
财富自由且长命百岁1 天前
移动端老兵转型端侧 AI:第一周,我跑通了 ResNet50 推理
机器学习
美酒没故事°1 天前
Open WebUI安装指南。搭建自己的自托管 AI 平台
人工智能·windows·ai
云烟成雨TD1 天前
Spring AI Alibaba 1.x 系列【6】ReactAgent 同步执行 & 流式执行
java·人工智能·spring
AI攻城狮1 天前
用 Obsidian CLI + LLM 构建本地 RAG:让你的笔记真正「活」起来
人工智能·云原生·aigc
鸿乃江边鸟1 天前
Nanobot 从onboard启动命令来看个人助理Agent的实现
人工智能·ai
lpfasd1231 天前
基于Cloudflare生态的应用部署与开发全解
人工智能·agent·cloudflare
俞凡1 天前
DevOps 2.0:智能体如何接管故障修复和基础设施维护
人工智能
comedate1 天前
[OpenClaw] GLM 5 关于电影 - 人工智能 - 的思考
人工智能·电影评价
财迅通Ai1 天前
6000万吨产能承压 卫星化学迎来战略窗口期
大数据·人工智能·物联网·卫星化学
liliangcsdn1 天前
Agent Memory智能体记忆系统的示例分析
数据库·人工智能·全文检索