4. 仿真验证基础

在驾驶智能体的闭环评测体系中,仿真验证是连接算法开发与实车落地之间最关键的一道桥梁。它通过构建可控、可重复、可扩展的虚拟环境,让感知、决策、规划、控制等模块在接近真实的条件下反复运行,从而在极低成本和风险下暴露问题、验证能力、积累数据。理解仿真验证的基本概念、作用以及软件在环、硬件在环、车辆在环三类典型仿真形式的差异与适用场景,是搭建完整评测体系的第一步。

一、仿真验证的基本概念

仿真验证是指利用数学模型、物理模型或真实部件,在虚拟或半虚拟环境中复现车辆运行场景,并对驾驶智能体的功能、性能与安全性进行测试与评估的过程。它并不是简单地“跑一遍场景”,而是包含场景构建、被测对象接入、激励注入、数据采集、指标判定和结果回溯的完整闭环。

一个典型的仿真验证闭环通常包含四个要素:场景库(静态地图、动态交通流、天气光照、传感器模型)、被测系统(算法软件、控制器硬件或整车)、接口与激励(传感器数据注入、CAN/以太网通信、时间同步)、评价体系(碰撞率、接管率、舒适度、通行效率等指标)。四者缺一不可,否则仿真结果就难以支撑工程决策。

仿真验证的核心价值可以概括为三句话:把危险场景变成安全实验,把偶发问题变成可复现问题,把实车里程变成可加速的虚拟里程。

二、仿真验证的作用

  • 安全性前置:碰撞、鬼探头、极端天气等高风险场景无法在实车上反复测试,仿真可以安全地无限次重放。
  • 效率提升:实车路测受限于时间、里程和成本,仿真可并行运行成千上万个场景,显著缩短验证周期。
  • 可复现性:同一场景、同一参数可精确重放,便于定位偶发缺陷和回归验证。
  • 覆盖度量化:通过场景覆盖率、边界覆盖率等指标,量化评测的充分性,避免“测了很多但没测到关键点”。
  • 成本控制:减少实车改装、场地租赁和人力投入,把资源集中在真正需要实车确认的环节。

三、常见仿真类型:软件在环、硬件在环、车辆在环

按照被测对象接入仿真环境的“真实程度”,仿真验证通常分为三类:软件在环(SIL)、硬件在环(HIL)和车辆在环(VIL)。三者的核心区别在于:哪些部分是虚拟的,哪些部分是真实的。

SIL / HIL / VIL 三类仿真验证的虚实边界 软件在环 SIL 全部虚拟,纯软件运行 虚拟车辆动力学模型 轮胎/悬架/驱动简化模型 虚拟传感器模型 摄像头/雷达/激光雷达 被测算法(软件) 感知/决策/规划/控制 场景与评价模块 场景注入 + 指标判定 适用:算法早期迭代、回归测试 硬件在环 HIL 真实控制器 + 虚拟环境 实时仿真机 车辆/传感器/交通流模型 I/O 与通信接口 CAN / 以太网 / 模拟量 真实 ECU / 域控制器 运行真实嵌入式软件 故障注入与测试管理 信号异常 / 总线负载 适用:控制器功能、通信、故障测试 车辆在环 VIL 真实车辆 + 虚拟场景 虚拟场景与传感器注入 视频/点云/目标级注入 测功机 / 转鼓台架 车轮转速与阻力模拟 真实车辆与执行器 转向/制动/驱动真实响应 数据采集与安全监控 实车状态 + 紧急接管 适用:整车级功能、舒适性验证 虚拟程度高 真实程度高

从上图可以看出,SIL 到 VIL 的演进本质上是“真实部件逐步替换虚拟模型”的过程。SIL 中全部为软件模型,适合算法快速迭代;HIL 中接入真实 ECU 或域控制器,适合验证嵌入式软件、通信协议和故障响应;VIL 中接入真实车辆或台架,适合验证整车级动力学、执行器响应和乘坐体验。

四、三类仿真的对比与适用场景

对比维度 软件在环 SIL 硬件在环 HIL 车辆在环 VIL
被测对象 算法软件 真实 ECU / 域控制器 真实车辆或整车台架
环境真实度 低,全部虚拟 中,环境虚拟、控制器真实 高,车辆真实、场景虚拟
典型工具 CARLA、Prescan、SUMO dSPACE、NI VeriStand、Vector 转鼓台架、驾驶模拟器、实车
主要验证内容 算法逻辑、功能正确性 实时性、通信、故障安全 整车响应、舒适性、执行器
成本与周期 低、快 中、中 高、慢
适用阶段 开发早期、回归测试 集成阶段、DV/PV 整车验收、最终确认

五、典型场景与工程实践

以自动紧急制动(AEB)功能验证为例,可以清晰看到三类仿真的分工。在 SIL 阶段,工程师在 CARLA 中批量生成前车静止、前车慢行、行人横穿等场景,快速筛选算法阈值和逻辑缺陷;在 HIL 阶段,将真实 AEB 控制器接入 dSPACE 实时仿真机,注入轮速、雷达目标等信号,验证控制器在总线延迟、信号丢失、故障注入下的响应;在 VIL 阶段,把整车放到转鼓台架上,用视频注入方式模拟前方障碍物,验证真实制动系统的减速度、响应时间和车辆稳定性。

# 典型 SIL 场景批量运行配置示例
scenario: cut_in_front
ego_speed: 60 km/h
target_speed: 40 km/h
cut_in_gap: 15 m
weather: rain
sensor_config: camera + radar
metrics:
  - collision_rate
  - min_ttc
  - max_deceleration
  - comfort_jerk
runs: 200
实践建议:不要试图用 SIL 替代 HIL 或 VIL。SIL 负责“逻辑对不对”,HIL 负责“控制器扛不扛得住”,VIL 负责“整车舒不舒服”。三者是递进关系,而不是替代关系。

六、常见误区与复盘

  • 误区一:仿真通过就等于实车通过。仿真模型存在简化,传感器噪声、执行器延迟、路面附着等差异可能导致实车表现不同,必须保留实车确认环节。
  • 误区二:只追求场景数量,不关注覆盖质量。大量重复的简单场景并不能提升验证有效性,应关注边界场景、危险场景和长尾场景的覆盖。
  • 误区三:忽视时间同步与实时性。HIL 和 VIL 对实时性要求极高,若仿真步长与控制器周期不匹配,测试结果将失去参考价值。
  • 误区四:评价指标单一。只看碰撞率会忽略舒适性和通行效率,应建立多维指标体系,并结合权重进行综合评分。

复盘时建议建立“问题—场景—层级”的追溯表:每个在实车或 HIL 中发现的问题,都应能回溯到对应的 SIL 场景,并补充进回归场景库。这样才能让仿真验证真正成为持续积累、不断收敛的工程能力,而不是一次性的测试动作。