跳转至

仿真平台

自动驾驶仿真平台是连接算法研发与实车部署的关键基础设施。本章对主流仿真平台进行深入剖析,涵盖架构设计、核心能力、适用场景,并提供选型指南与集成方案。


1. 主流仿真平台详细介绍

1.1 CARLA

CARLA(Car Learning to Act)是由英特尔实验室与巴塞罗那自治大学(CVC)联合开发的开源自动驾驶仿真平台,基于 Unreal Engine 4 构建。

架构设计:

CARLA 采用经典的 客户端-服务器(Client-Server)架构

  • 服务器端:运行 Unreal Engine 渲染引擎,负责物理仿真、场景渲染、传感器模拟和交通参与者管理
  • 客户端端:通过 Python/C++ API 与服务器通信,发送控制指令并接收传感器数据
┌─────────────────────────────┐     TCP/IP      ┌──────────────────────┐
│   CARLA Server (UE4)        │ ◄──────────────► │   Python Client      │
│  - 物理引擎 (PhysX)         │                  │  - 车辆控制          │
│  - 渲染管线                  │                  │  - 数据采集          │
│  - 传感器模拟               │                  │  - 算法接口          │
│  - 交通管理器 (TM)          │                  │  - 可视化            │
└─────────────────────────────┘                  └──────────────────────┘

核心能力:

  • 支持多种传感器模型:RGB 相机、深度相机、语义分割相机、LiDAR(含语义标注)、雷达、IMU、GNSS
  • 内置交通管理器(Traffic Manager),支持大规模交通流仿真
  • 支持多种天气与光照条件的动态切换
  • 提供 OpenDRIVE 标准地图格式支持,可自定义地图

CARLA 传感器噪声模型

CARLA 的 LiDAR 模型支持配置噪声参数。例如,LiDAR 点云噪声可建模为高斯分布:

\[\mathbf{p}_{\text{noisy}} = \mathbf{p}_{\text{true}} + \mathcal{N}(0, \sigma^2)\]

其中 \(\sigma\) 可根据实际传感器的标定数据进行调整,典型值为 \(\sigma \approx 0.01 \sim 0.05 \text{ m}\)

适用场景:学术研究、感知算法开发与验证、强化学习训练、数据集生成


1.2 LGSVL Simulator

LGSVL Simulator(现更名为 SVL Simulator)由 LG 电子硅谷实验室开发,基于 Unity 引擎构建。

项目状态

LGSVL Simulator 已于 2022 年停止官方维护,但其开源代码仍可获取。社区分叉版本(如 Simulator Next)仍在活跃开发中。

架构特点:

  • 基于 Unity HDRP(High Definition Render Pipeline)渲染管线,画面质量优秀
  • 原生支持 ROS/ROS2 桥接,可直接接入 Autoware 和 Apollo 等自动驾驶栈
  • 支持分布式仿真,传感器渲染与物理仿真可部署在不同节点
  • 提供基于 Web 的场景编辑器与仿真管理界面

核心优势:

  • 与 Autoware.Auto 和百度 Apollo 的深度集成
  • 传感器模型精度高,特别是相机与 LiDAR 的高保真度
  • 支持 Python API 进行场景编排与自动化测试
  • 内置 HD Map 注释工具

1.3 SUMO

SUMO(Simulation of Urban Mobility)是由德国航空航天中心(DLR)开发的开源微观交通仿真平台。

架构设计:

SUMO 的核心是基于 连续空间、离散时间 的微观交通仿真模型:

\[x_i(t + \Delta t) = x_i(t) + v_i(t) \cdot \Delta t + \frac{1}{2} a_i(t) \cdot \Delta t^2\]

其中 \(x_i(t)\) 为车辆 \(i\) 在时刻 \(t\) 的位置,\(v_i(t)\) 为速度,\(a_i(t)\) 为加速度,\(\Delta t\) 为仿真步长(默认 1 秒)。

SUMO 内置多种跟驰模型,其中最常用的 Krauss 模型 定义安全速度为:

\[v_{\text{safe}} = v_{l} + \frac{g - v_{l} \cdot \tau}{\frac{v_{l} + v_{f}}{2b} + \tau}\]

其中 \(v_l\) 为前车速度,\(g\) 为车间距,\(\tau\) 为反应时间,\(b\) 为最大减速度。

核心能力:

  • 支持数十万辆车的大规模交通流仿真
  • 内置多种跟驰模型(Krauss、IDM、Wiedemann 等)和换道模型
  • 支持多模式交通(机动车、自行车、行人、公共交通)
  • 提供 TraCI(Traffic Control Interface)接口用于在线控制
import traci

traci.start(["sumo", "-c", "scenario.sumocfg"])

while traci.simulation.getMinExpectedNumber() > 0:
    traci.simulationStep()
    vehicles = traci.vehicle.getIDList()
    for vid in vehicles:
        speed = traci.vehicle.getSpeed(vid)
        position = traci.vehicle.getPosition(vid)
    traci.vehicle.setSpeed("ego", 15.0)  # 控制ego车辆速度

traci.close()

适用场景:大规模交通流仿真、V2X 通信研究、交通信号优化、宏观交通规划


1.4 AirSim

AirSim(Aerial Informatics and Robotics Simulation)是微软开发的开源仿真平台,基于 Unreal Engine 构建,最初面向无人机仿真,后扩展至自动驾驶。

核心特点:

  • 高度逼真的视觉渲染(基于 UE4 的 PBR 管线)
  • 内置强化学习接口,原生支持 OpenAI Gym 接口封装
  • 支持多种车辆动力学模型,从简单运动学到完整动力学模型
  • 提供丰富的 API 支持(Python、C++、C#、Java)

AirSim 与 Project AirSim

微软已于 2022 年将 AirSim 归档,并推出商业化后继产品 Project AirSim,定位于工业级无人机与自主系统仿真。原始 AirSim 代码仍可通过 GitHub 获取。

车辆动力学模型:

AirSim 的车辆模型基于经典的 自行车模型(Bicycle Model)

\[\dot{x} = v \cos(\psi + \beta)\]
\[\dot{y} = v \sin(\psi + \beta)\]
\[\dot{\psi} = \frac{v}{l_r} \sin(\beta)\]
\[\beta = \arctan\left(\frac{l_r}{l_f + l_r} \tan(\delta_f)\right)\]

其中 \(\psi\) 为航向角,\(\beta\) 为质心侧偏角,\(l_f\)\(l_r\) 分别为前后轴距,\(\delta_f\) 为前轮转角。


1.5 NVIDIA DRIVE Sim

NVIDIA DRIVE Sim 是 NVIDIA 基于 Omniverse 平台构建的企业级自动驾驶仿真解决方案。

架构设计:

  • 基于 NVIDIA Omniverse 平台,采用 USD(Universal Scene Description)作为场景描述格式
  • 利用 RTX 光线追踪 技术实现物理级别的光照渲染
  • 集成 NVIDIA PhysX 5 提供高精度物理仿真
  • 支持硬件在环(Hardware-in-the-Loop, HIL)和软件在环(Software-in-the-Loop, SIL)测试

核心优势:

  • 传感器保真度极高:基于光线追踪的相机模拟可精确还原镜头畸变、运动模糊、曝光效果
  • 域随机化(Domain Randomization):自动生成多样化训练场景以提升算法泛化能力
  • 数字孪生:支持从高精地图直接导入真实世界场景
  • 可扩展性:支持云端大规模并行仿真

光线追踪传感器仿真

传统基于光栅化的传感器仿真在处理镜面反射、透明物体和间接光照时存在固有缺陷。DRIVE Sim 采用的光线追踪渲染遵循物理光学模型:

\[L_o(\mathbf{x}, \omega_o) = L_e(\mathbf{x}, \omega_o) + \int_{\Omega} f_r(\mathbf{x}, \omega_i, \omega_o) L_i(\mathbf{x}, \omega_i) (\omega_i \cdot \mathbf{n}) \, d\omega_i\]

该渲染方程精确模拟了光线的发射、反射与散射过程,使传感器仿真数据更接近真实传感器输出。


1.6 51Sim-One

51Sim-One(五一仿真)是国内领先的自动驾驶仿真平台,由 51World 开发。

核心特点:

  • 面向中国道路场景优化,内置国内典型道路拓扑与交通规则
  • 支持 C-V2X 通信仿真,适用于车路协同研发
  • 提供高精地图自动化构建工具链
  • 支持与国产自动驾驶栈(百度 Apollo、华为 MDC 等)的对接

适用场景:面向中国市场的自动驾驶研发、车路协同(V2X)仿真、智慧交通系统验证


2. 仿真平台对比表

特性 CARLA LGSVL SUMO AirSim DRIVE Sim 51Sim-One
渲染引擎 UE4 Unity HDRP 无(2D) UE4 Omniverse 自研
开源/商业 开源 (MIT) 开源 (停维) 开源 (EPL-2.0) 开源 (MIT) 商业 商业
传感器保真度 不适用 极高
交通流仿真 中等 中等 极强
ROS/ROS2 支持 桥接 原生 桥接 桥接 原生 桥接
光线追踪 不适用 部分
HIL 支持
地图格式 OpenDRIVE Apollo/Lanelet2 SUMO XML 自定义 USD/OpenDRIVE OpenDRIVE
多车仿真 支持 支持 支持 有限 支持 支持
学习曲线 中等 中等 较高 较低 较高 中等
社区活跃度 低(停维) 中(归档) N/A N/A
中国道路支持 一般 一般 一般 一般 一般 优秀

3. 开源与商业平台的权衡

3.1 开源平台优势

  • 零许可成本:无需支付许可费用,降低研发门槛
  • 完全可控:可深入修改源代码,定制传感器模型或物理引擎
  • 学术生态:论文可复现性强,便于同行评审和基准测试
  • 社区支持:丰富的社区插件、教程和预构建场景

3.2 商业平台优势

  • 技术支持与 SLA:提供专业技术支持,保障项目进度
  • 传感器保真度:光线追踪、精确的物理传感器模型
  • 合规认证:部分商业平台提供符合 ISO 26262 等标准的验证报告
  • 集成度:与 OEM 工具链(dSPACE、Vector 等)的深度集成

3.3 成本模型分析

选择平台时,需考虑 总拥有成本(TCO)

\[\text{TCO} = C_{\text{license}} + C_{\text{hardware}} + C_{\text{integration}} + C_{\text{maintenance}} \times T\]

其中:

  • \(C_{\text{license}}\):软件许可费用(开源平台为零,商业平台年费可达数十万美元)
  • \(C_{\text{hardware}}\):硬件成本(GPU 服务器、HIL 设备等)
  • \(C_{\text{integration}}\):与现有研发流程的集成开发成本
  • \(C_{\text{maintenance}}\):年维护与升级费用
  • \(T\):预计使用年限

典型成本对比

以一个 10 人团队、3 年使用周期为例:

  • 开源方案(CARLA + SUMO):硬件 \(C_h \approx\) 50 万元,集成开发 \(C_i \approx\) 100 万元,年维护 \(C_m \approx\) 20 万元。TCO \(\approx\) 210 万元。
  • 商业方案(DRIVE Sim):许可 \(C_l \approx\) 150 万元/年,硬件 \(C_h \approx\) 80 万元,集成 \(C_i \approx\) 30 万元,年维护 \(C_m \approx\) 10 万元。TCO \(\approx\) 560 万元。

商业方案成本较高,但集成开发时间显著缩短,且传感器保真度通常更高。


4. 仿真平台选型指南

4.1 需求维度评估

选型时应从以下维度进行系统评估:

评估维度 学术研究 初创公司 OEM/Tier-1
预算 有限 中等 充裕
传感器保真度 中高 极高
交通流规模 小-中 中-大
合规要求
定制灵活性 极高
技术支持 社区 社区+顾问 商业 SLA

4.2 按应用场景推荐

感知算法研发与训练:

  • 首选 CARLA:传感器种类齐全,标注数据自动生成,社区活跃
  • 备选 DRIVE Sim:需要极高传感器保真度时(如验证雨雾场景下的感知性能)

规划与决策算法验证:

  • 首选 SUMO + CARLA 联合仿真:SUMO 提供大规模交通流,CARLA 提供感知输入
  • 高保真需求可选 DRIVE Sim

大规模场景回归测试:

  • 商业平台优势明显(Applied Intuition、DRIVE Sim),提供云端并行仿真能力
  • 开源方案需自建 CI/CD 管线,但灵活性更高

V2X 与车路协同:

  • 国内场景推荐 51Sim-One + SUMO
  • 国际场景可选 CARLA + ns-3 网络仿真器

4.3 决策流程

需求分析 → 是否需要高保真传感器仿真?
  ├─ 是 → 预算是否充足?
  │   ├─ 是 → NVIDIA DRIVE Sim / 商业方案
  │   └─ 否 → CARLA(开源)
  └─ 否 → 是否以交通流仿真为主?
      ├─ 是 → SUMO
      └─ 否 → 是否需要中国道路场景?
          ├─ 是 → 51Sim-One
          └─ 否 → CARLA / AirSim

5. 平台集成与互操作

5.1 CARLA + SUMO 联合仿真

CARLA 与 SUMO 的联合仿真是最成熟的 协同仿真(Co-Simulation) 方案之一,通过 carla-sumo-cosimulation 工具实现。

架构:

┌──────────────┐   TraCI    ┌──────────────┐   CARLA API   ┌──────────────┐
│   SUMO       │ ◄────────► │  Co-Sim      │ ◄───────────► │   CARLA      │
│ (交通流管理)  │            │  Bridge      │               │ (渲染+传感器) │
└──────────────┘            └──────────────┘               └──────────────┘

同步机制:

联合仿真需要严格的时间同步。设 CARLA 仿真步长为 \(\Delta t_C\),SUMO 仿真步长为 \(\Delta t_S\),则同步周期为:

\[\Delta t_{\text{sync}} = \text{lcm}(\Delta t_C, \Delta t_S)\]

通常设置 \(\Delta t_C = \Delta t_S = 0.05 \text{ s}\)(即 20 Hz)以保证一致性。

配置示例:

# CARLA-SUMO 联合仿真配置
from sumo_integration.run_synchronization import SimulationSynchronization

sync = SimulationSynchronization(
    sumo_cfg="town01.sumocfg",
    carla_host="localhost",
    carla_port=2000,
    step_length=0.05,       # 同步步长 (秒)
    sync_vehicle_lights=True,
    sync_vehicle_color=True
)
sync.run()

5.2 ROS/ROS2 集成

ROS(Robot Operating System)是自动驾驶软件栈的事实标准中间件。主流仿真平台均提供 ROS 桥接方案:

平台 ROS 支持方式 典型话题(Topics)
CARLA carla-ros-bridge /carla/ego/lidar, /carla/ego/camera/rgb
LGSVL 原生 ROS2 桥接 /lgsvl/state_report, /lgsvl/gnss
AirSim airsim_ros_pkgs /airsim_node/camera/image_raw
SUMO 自定义桥接 /sumo/vehicle_states

CARLA ROS2 桥接示例:

# 启动 CARLA ROS2 桥接
ros2 launch carla_ros_bridge carla_ros_bridge.launch.py \
    host:=localhost \
    port:=2000 \
    synchronous_mode:=true \
    fixed_delta_seconds:=0.05

ROS2 与仿真性能

使用 ROS2 的 DDS 通信时,大规模点云数据(如 64 线 LiDAR,约 \(1.2 \times 10^6\) 点/秒)可能成为通信瓶颈。建议:

  • 使用共享内存传输(Shared Memory Transport)减少数据拷贝
  • 适当降低点云发布频率(如从 20 Hz 降至 10 Hz)
  • 采用点云压缩(如 Draco 编码)减小消息体积

5.3 场景标准与互操作

为实现跨平台的场景复用,业界推动了多项标准化工作:

  • OpenSCENARIO:定义动态驾驶场景的描述语言(事件触发、参与者行为等)
  • OpenDRIVE:描述道路网络的静态几何与拓扑
  • OpenCRG:描述高精度路面纹理与起伏

这三者共同构成了仿真场景的标准化描述体系。支持 OpenSCENARIO 的平台之间可以直接交换场景文件,大幅提高场景资产的复用率。


6. 新兴平台与趋势

6.1 NVIDIA Omniverse 生态

NVIDIA Omniverse 正在从单一的 DRIVE Sim 工具演进为完整的 仿真生态系统

  • Isaac Sim:原用于机器人仿真,现扩展至自动驾驶场景,特别是低速自主系统(物流车、矿卡等)
  • Omniverse Replicator:合成数据生成工具,支持大规模域随机化数据集的自动化生产
  • 数字孪生管线:从实车传感器数据自动重建虚拟场景,实现 "真实世界 → 数字孪生 → 仿真测试" 的闭环

6.2 云原生仿真平台

Applied Intuition 提供完整的云端仿真 SaaS 解决方案:

  • 基于云的大规模并行仿真,支持数千场景同时运行
  • 内置场景编辑器、测试用例管理和回归测试框架
  • 与主流 CI/CD 工具(Jenkins、GitLab CI 等)集成
  • 估值超过 60 亿美元,客户包括多家全球顶级 OEM

Foretellix 专注于 基于覆盖率驱动的验证(Coverage-Driven Verification)

  • 借鉴芯片验证领域的方法论,将覆盖率指标引入自动驾驶测试
  • 定义可衡量的场景覆盖率指标 \(C\)
\[C = \frac{|\mathcal{S}_{\text{tested}}|}{|\mathcal{S}_{\text{total}}|} \times 100\%\]

其中 \(\mathcal{S}_{\text{tested}}\) 为已测试的场景空间子集,\(\mathcal{S}_{\text{total}}\) 为目标场景空间。Foretellix 通过约束随机生成(Constrained Random Generation)系统性提高覆盖率。

6.3 生成式 AI 驱动的仿真

大语言模型和生成式 AI 正在重塑仿真技术:

  • 神经辐射场(NeRF)重建:从实车采集数据自动生成可交互的 3D 仿真场景,减少手动建模成本
  • 扩散模型生成场景:利用扩散模型生成多样化的驾驶场景图像或视频,用于感知算法训练
  • LLM 驱动的场景编排:通过自然语言描述自动生成仿真场景脚本

世界模型(World Model)与仿真的融合

以 NVIDIA 的 GAIA-1 和 Wayve 的 GAIA 为代表的 世界模型 技术,正在模糊传统仿真与神经网络生成之间的界限。世界模型通过学习驾驶场景的时空分布,能够自回归地生成逼真的未来驾驶场景,为仿真提供了一种全新的范式。

6.4 发展趋势总结

趋势 描述 代表技术/平台
云原生化 仿真从本地工作站迁移至云端 Applied Intuition, AWS RoboMaker
传感器真实感提升 光线追踪与神经渲染结合 DRIVE Sim, NeRF
AI 原生场景生成 生成式模型替代手动场景构建 GAIA-1, DriveDreamer
标准化与互操作 OpenSCENARIO 2.0 等标准推动 ASAM 标准组织
验证方法论成熟 覆盖率驱动、形式化验证 Foretellix, RSS
软硬件协同仿真 SIL/HIL 无缝切换 dSPACE, DRIVE Sim

7. 参考资料

  1. Dosovitskiy A, Ros G, Codevilla F, et al. "CARLA: An Open Urban Driving Simulator." Proceedings of the 1st Annual Conference on Robot Learning (CoRL), 2017.
  2. Rong G, Shin B H, Tabatabaee H, et al. "LGSVL Simulator: A High Fidelity Simulator for Autonomous Driving." IEEE International Conference on Intelligent Transportation Systems (ITSC), 2020.
  3. Lopez P A, Behrisch M, Bieker-Walz L, et al. "Microscopic Traffic Simulation using SUMO." IEEE International Conference on Intelligent Transportation Systems (ITSC), 2018.
  4. Shah S, Dey D, Lovett C, et al. "AirSim: High-Fidelity Visual and Physical Simulation for Autonomous Vehicles." Field and Service Robotics, 2018.
  5. NVIDIA. "NVIDIA DRIVE Sim." https://developer.nvidia.com/drive/simulation
  6. ASAM. "OpenSCENARIO Standard." https://www.asam.net/standards/detail/openscenario/
  7. Amini A, et al. "VISTA 2.0: An Open, Data-driven Simulator for Multimodal Sensing and Policy Learning for Autonomous Vehicles." ICRA, 2022.
  8. Hu A, et al. "GAIA-1: A Generative World Model for Autonomous Driving." arXiv preprint, 2023.