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

💡 核心价值

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

相关推荐
Lee川1 小时前
Milvus 实战:当 RAG 遇上向量数据库,从"玩具 Demo"到"生产可用的"那一步
前端·数据库·人工智能
小a彤2 小时前
elec-ops-inspection:电力巡检缺陷检测,NPU推理速度提升3倍
人工智能·cann
ZhengEnCi3 小时前
09aaa-LayerNorm是什么?
人工智能
这是谁的博客?3 小时前
AI Agent 安全架构设计:漏洞分析与防护策略深度解析
人工智能·安全·网络安全·ai·agent·安全架构·架构设计
人月神话-Lee3 小时前
【图像处理】Sobel 边缘检测——让机器“看见“轮廓
图像处理·人工智能·计算机视觉·ios·ai编程·swift
冬奇Lab3 小时前
Agent系列(四):工具调用深度解析——Agent 的手和眼
人工智能·llm
Black蜡笔小新3 小时前
自动化AI算法训练服务器DLTM助力医学影像分析进入AI智能分析新时代
人工智能·算法·自动化
冬奇Lab4 小时前
一天一个开源项目(第111篇):Understand Anything - 把代码库变成可探索知识图谱的 AI 引擎
人工智能·开源·llm
猿饵块4 小时前
git--github
人工智能
黎阳之光4 小时前
黎阳之光:以视频孪生重构智慧防火,打造“天空地人智”一体化森林防火新范式
大数据·运维·人工智能·物联网·安全