自动驾驶—CARLA仿真(17)invertedai_traffic demo

📌 测试用例

PythonAPI/examples/invertedai_traffic.py

CARLA 与 InvertedAI 的联合仿真系统(Co-simulation),用于:

  1. 利用 InvertedAI 云服务生成高真实感交通流
  2. 在 CARLA 中渲染并同步这些智能体的行为
  3. 支持车辆 + 行人混合交通、交通灯联动、路径规划

适用于 大规模城市级自动驾驶仿真、行为预测验证、V2X 场景生成。

💡 InvertedAI

一家提供 云原生交通仿真 API 的公司,其模型基于真实世界驾驶数据训练,能生成比 CARLA TrafficManager 更真实的车辆行为。

免费额度有限!


🔑 主要模块解析

1. InvertedAI 初始化流程
python 复制代码
# 1. 获取地图区域信息
location_info_response = iai.location_info(location=args.location)

# 2. 划分初始化区域(四叉树)
regions = iai.get_regions_default(...)

# 3. 调用 large_initialize 生成初始智能体
response = iai.large_initialize(
    location=args.location,
    regions=regions,
    traffic_light_state_history=[traffic_lights_states],
    ...
)
  • large_initialize :
    • 在指定地理区域(如 carla:Town10HD)生成 50+ 辆车 的初始状态
    • 考虑 交通灯状态 和 车辆间相对位置
    • 返回每个智能体的 AgentState(位置/朝向/速度)和 AgentProperties(尺寸/类型)

✅ 解决了 CARLA 原生 spawn 点不足的问题,支持 任意位置生成车辆。


2. CARLA-InvertedAI 双向同步机制
(1) CARLA → InvertedAI 同步
  • 交通灯状态:

    python 复制代码
    traffic_lights_states = assign_iai_traffic_lights_from_carla(...)
    • 将 CARLA 交通灯状态(红/黄/绿)映射到 InvertedAI ID
    • 每帧更新,确保 AI 车辆遵守信号灯
  • 行人状态(非 IAI 控制):

    python 复制代码
    state, properties = initialize_iai_agent(actor, "pedestrian")
    response.agent_states[agent_id] = state  # 反馈行人位置给 IAI
    • CARLA 控制的行人位置实时同步到 InvertedAI
    • 避免 IAI 车辆与行人碰撞
(2) InvertedAI → CARLA 同步
python 复制代码
def update_transforms(iai2carla, response):
    for agent_id in iai2carla.keys():
        if agentdict["is_iai"]:
            agent = response.agent_states[agent_id]
            actor.set_transform(transform_iai_to_carla(agent))
  • 每帧将 InvertedAI 计算的 新位姿 应用到 CARLA 车辆
  • 关键设置 :actor.set_simulate_physics(False)
    → 禁用 CARLA 物理引擎,完全由 IAI 控制运动

3. 动态路径规划(Waypoint System)
python 复制代码
def get_next_waypoints(carla_map, agent_states, waypoints, args):
    # 1. 检查是否需要新航点
    if distance_to_waypoint <= detection_threshold or >= max_distance_away:
        # 2. 从 CARLA 路网获取下一个航点
        wp = carla_map.get_waypoint(agent_location)
        next_wp = random.choice(wp.next(args.iai_waypoint_distance))
        return [next_wp.x, next_wp.y]
  • 解决 IAI 无全局路径问题 :
    InvertedAI 只提供局部行为,本脚本通过 CARLA 路网补充 长距离导航
  • 参数控制 :
    • --iai-waypoint-distance=15:航点间隔 15 米
    • --iai-max-distance-away=20:偏离超 20 米则重规划

✅ 实现 InvertedAI 行为 + CARLA 导航 的混合控制。


4. 混合交通参与者管理
类型 控制方 生成方式
IAI 车辆 InvertedAI 云服务 large_initialize + large_drive
CARLA 行人 CARLA 内置 AI controller.ai.walker
Hero 车 用户(可选) 第一辆生成的车辆
  • 行人特殊处理 :
    • 仅由 CARLA 控制(不调用 IAI)
    • 但位置同步给 IAI 避障
  • Hero 车 :
    • 通过 --hero 参数指定
    • 自动设置第三人称视角跟随

5. 高级配置与日志
  • API 参数 :
    • --api-model=bI5p:指定 InvertedAI 模型版本
    • --iai-async=True:异步调用 API 提升性能
  • 数据记录 :
    • --record:启用 CARLA 录制(.log 文件)
    • --iai-log:导出 InvertedAI 专用日志(.json),支持可视化回放

🌐 系统架构图

复制代码
+------------------+       +---------------------+
|   InvertedAI     |<----->|      CARLA          |
|  (Cloud Service) |  API  |  (Local Simulator)  |
+------------------+       +----------+----------+
        ↑                             ↑
        | 同步交通灯状态              | 同步行人位置
        | 下发车辆位姿                | 上报路网信息
        ↓                             ↓
+------------------+       +---------------------+
|  Real-world      |       |  Rendering &        |
|  Driving Data    |       |  Physics (Disabled) |
+------------------+       +---------------------+

✅ 总结

该脚本是 CARLA 与商业级交通仿真 API 集成的案例,展示了:

  1. 如何 扩展 CARLA 原生交通能力 至城市级规模
  2. 如何 融合云服务 AI 与本地渲染引擎
  3. 如何 实现高保真、可扩展、可复现 的混合仿真

💡 核心价值 :

利用 InvertedAI 的 真实驾驶行为模型 ,弥补 CARLA TrafficManager 在 复杂交互场景(如无保护左转、密集车流)中的不足,为自动驾驶系统提供更严苛的测试环境。

相关推荐
sell-cloud3 小时前
Prompt Engineering要凉了?Fable 5.5能“猜“意图,但银行正在封杀AI Agent——企业AI的真正护城河是什么
人工智能·prompt
Navicat中国4 小时前
Navicat 18 内置 AI 助手让数据库开发从繁琐操作迈向智能协作
大数据·人工智能·数据库开发
4SAPI4 小时前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php
魔乐社区5 小时前
翼芯・智算测试与适配优化专区,让国产算力“选得准、跑得通、用得好“
人工智能·开源·大模型
XCDoris6 小时前
郴州logo设计机构
大数据·人工智能·python
Goboy7 小时前
一个人带三个Agent,我用全新TRAE从0到1搭了个资讯周刊站
人工智能·trae
俊哥V7 小时前
每日 AI 研究简报 · 2026-10-19
人工智能·ai
AI_AGENT_DEV_AI7 小时前
AI英语教培智能体的开发
人工智能
物联网软硬件开发-轨物科技7 小时前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人
海宇数据7 小时前
零信任架构实战:基于海宇网上踪迹欺诈行为识别构建自动化信贷资信评估网关
运维·人工智能·架构·自动化