4. 闭环仿真核心概念

在自动驾驶研发中,仿真并不是简单地“把车放进虚拟世界跑一圈”。真正决定仿真价值的,是闭环二字。开环仿真只负责播放一段固定场景,车辆按预设轨迹运动,传感器数据与车辆动作之间没有因果联系;而闭环仿真中,车辆根据传感器感知结果做出决策,决策又改变车辆运动,运动进一步改变传感器看到的场景,形成持续反馈。这种“感知—决策—控制—运动—再感知”的循环,才是逼近真实道路测试的核心机制。

闭环仿真的本质:仿真器不是录像机,而是一个会“回应”被测系统的动态环境。被测算法的每一个输出,都会通过车辆动力学模型改变自车状态,并经由传感器模型重新生成观测输入。

4.1 闭环仿真定义与反馈机制

闭环仿真可以定义为:在虚拟环境中,将被测自动驾驶系统(ADS)与车辆动力学模型、传感器模型、场景执行器构成一个闭环回路,使系统输出能够实时影响环境状态,环境状态又实时反馈给系统输入。其关键判定标准是是否存在从控制输出到感知输入的反馈通路。

反馈机制通常包含四个环节:

  • 决策输出:规划控制模块输出油门、制动、转向或加速度、曲率等控制量。
  • 动力学响应:车辆动力学模型根据控制量计算下一时刻的位置、姿态、速度与横摆角速度。
  • 传感器重采样:传感器模型基于更新后的自车与环境状态,重新生成摄像头图像、激光雷达点云、毫米波雷达目标等观测。
  • 感知再输入:感知模块处理新观测,输出障碍物、车道线、可行驶区域等信息,供决策规划使用。

这个循环的周期称为仿真步长。步长过大,反馈延迟明显,控制容易振荡;步长过小,计算开销急剧上升。工程上常见步长为 10 ms、20 ms 或 50 ms,需与传感器帧率和控制周期匹配。

闭环仿真反馈回路 感知模块 检测/跟踪/分割 决策规划 行为/轨迹规划 控制模块 油门/制动/转向 车辆动力学模型 位置/姿态/速度 传感器模型 相机/激光/毫米波 场景与环境 交通流/天气/地图 感知结果 规划轨迹 控制量 自车状态 观测数据 场景更新 反馈闭环:控制输出 → 车辆运动 → 传感器观测 → 感知输入 → 决策规划

4.2 传感器模拟:从物理模型到数据生成

传感器模拟是闭环仿真中最容易失真、也最影响验证有效性的环节。它需要回答一个问题:当自车处于某个位姿、环境处于某个状态时,传感器应该看到什么?

常见传感器模拟分为三个层次:

  1. 理想传感器:直接输出真值目标列表,不考虑噪声、遮挡和探测概率,适合早期算法功能验证。
  2. 参数化传感器:引入探测距离、视场角、分辨率、噪声方差、虚警率、漏检率等参数,模拟统计特性。
  3. 物理级传感器:基于光线追踪、雷达散射截面、材质反射率等生成原始数据,最接近真实但计算代价最高。

以激光雷达为例,其模拟通常包括射线投射、回波强度计算、点云噪声叠加和运动畸变补偿。摄像头则涉及投影变换、光照模型、镜头畸变和图像后处理。毫米波雷达更关注多普勒效应、距离分辨率与角度模糊。

传感器模拟的核心不是“像不像”,而是“错得是否一致”。如果仿真中传感器永远完美,闭环测试会高估算法鲁棒性;如果噪声模型与真实分布偏差过大,又会产生大量虚假失效。

4.3 车辆动力学模型与场景交互

车辆动力学模型是闭环回路的“执行器”。它接收控制模块输出的油门开度、制动压力、方向盘转角,计算车辆下一时刻的运动状态。常用模型包括:

模型类型自由度适用场景计算开销
运动学自行车模型3低速泊车、路径跟踪低
动力学自行车模型7~10中高速横纵向控制中
多体动力学模型14+极限工况、舒适性评估高
轮胎魔术公式模型—附着极限、冰雪路面中高

场景交互则决定车辆运动如何改变环境。例如,自车变道会触发旁车减速或鸣笛;自车急刹会导致后车跟驰距离缩短;行人看到车辆逼近可能加速通过或退回。这些交互行为通常由场景执行器中的行为树、状态机或社会力模型驱动。

# 闭环仿真单步伪代码
for t in simulation_time:
    obs = sensor_model.render(ego_state, scene_state)
    perception = ads.perception(obs)
    trajectory = ads.planning(perception, map)
    control = ads.control(trajectory, ego_state)
    ego_state = vehicle_dynamics.step(control, ego_state, dt)
    scene_state = scenario_engine.update(ego_state, scene_state, dt)

4.4 案例与常见误区

某项目在仿真中验证 AEB 功能时,开环回放显示车辆能在 40 km/h 下于 25 m 内刹停,但闭环测试却频繁碰撞。排查发现,开环时制动指令由脚本直接下发,而闭环中感知延迟 120 ms、控制延迟 80 ms,导致实际制动起点比预期晚了约 2.2 m。这正是闭环仿真暴露出的真实问题。

常见误区一:把开环回放当作闭环验证。没有反馈通路,就无法评估延迟、振荡和耦合失效。
常见误区二:传感器模型过于理想。忽略遮挡和噪声,会导致感知算法在仿真中“虚高”。
常见误区三:动力学模型参数与实车不一致。轮胎侧偏刚度、质心高度、制动响应等偏差会直接改变闭环结果。
常见误区四:场景交互静态化。其他交通参与者不响应自车行为,闭环就退化为“带反馈的单车仿真”。

复盘闭环仿真时,应重点检查三件事:反馈通路是否完整、传感器误差分布是否可信、动力学与场景交互是否与实车一致。只有这三者同时成立,闭环仿真才能成为安全验证的有效手段,而不是一个看起来热闹的动画播放器。