3. SIL 与 HIL 的边界定义

在 NVIDIA DRIVE 这类自动驾驶计算平台的验证体系中,MIL、SIL、HIL、VIL 并不是四个可以随意互换的“仿真阶段”,而是四条被测对象(DUT)边界不同的验证链路。边界一旦定义错误,就会出现“在 SIL 里通过的用例,到 HIL 上因为时序和驱动差异而失败”,或者“把本该在 HIL 验证的传感器接入问题,错误地放到 SIL 里反复调参”。因此,本节的核心不是记住四个缩写,而是先明确每一环里哪些是真实件、哪些是模型、哪些是仿真激励,再据此确定联合验证的触发条件与切换策略。

一、四环的边界:被测对象与真实件的替换关系

可以用一条“真实度递增轴”来理解四环。MIL 中,被控对象模型(车辆动力学、执行器)和控制器模型都在仿真环境里,DUT 是控制算法模型本身,输入输出都是信号,没有编译产物、没有实时约束。SIL 中,控制器由模型自动生成 C/C++ 代码并编译为可执行程序,运行在宿主机或目标 SoC 上,被控对象仍是模型,此时开始暴露代码生成、定点/浮点、调度顺序等问题。HIL 中,真实 ECU 或 NVIDIA DRIVE 计算平台接入,被控对象与传感器由实时仿真机模拟,通过 CAN/CAN FD、以太网、视频注入、GNSS 模拟等物理接口闭环,DUT 是真实硬件与真实基础软件。VIL 中,真实车辆或整车台架成为闭环的一部分,传感器部分或全部为真实件,验证的是“整车 + 环境 + 驾驶员”层面的系统行为。

需要特别强调:HIL 的边界是“真实计算平台 + 仿真世界”,而不是“真实传感器”。摄像头、激光雷达、毫米波雷达在 HIL 中通常由视频注入卡、点云回放或雷达目标模拟器提供激励,其时间戳、帧率、触发沿必须与真实件一致,否则 HIL 结论无法外推到实车。VIL 的边界则是“真实车辆 + 可控或半可控环境”,常用于验证 HIL 无法覆盖的底盘耦合、轮胎-路面交互和驾驶员接管行为。

四环验证边界:真实件替换程度与联合验证触发点 真实度 MIL 模型在环 控制算法模型 (DUT) 被控对象模型 车辆/执行器 纯信号激励 无实时约束 真实件:无 SIL 软件在环 自动生成代码 (DUT) 被控对象模型 宿主机/目标SoC 软实时 真实件:编译产物 HIL 硬件在环 DRIVE 计算平台 (DUT) 实时仿真机 车辆/传感器模型 CAN/以太网/视频注入 硬实时闭环 真实件:ECU+基础软件 VIL 车辆在环 真实车辆/台架 (DUT) 真实传感器 或部分注入 场景/驾驶员 道路或转鼓 真实件:整车+环境 切换触发:MIL→SIL 代码生成通过;SIL→HIL 实时性/接口冻结;HIL→VIL 传感器与底盘耦合需实车确认

二、联合验证的触发条件

四环之间不是“做完一个做下一个”的串行关系,而是由明确的准入判据触发切换。MIL 进入 SIL 的触发条件通常是:控制算法模型通过 MIL 功能用例,且自动代码生成无未定义行为告警,代码与模型的一致性检查(如 SIL 与 MIL 的数值比对)在设定容差内。SIL 进入 HIL 的触发条件更严格:软件在目标 SoC 上完成编译与部署,实时性指标(任务周期抖动、端到端延迟)满足设计预算,且所有对外接口(CAN 报文、以太网 SOME/IP 服务、视频流格式)已冻结并具备 HIL 侧对应模拟能力。

HIL 进入 VIL 的触发条件则与“仿真无法覆盖的物理耦合”有关:例如轮胎非线性、制动热衰退、悬架与转向的机械耦合、真实光照与天气对摄像头的影响。当 HIL 用例在这些维度上出现“模型置信度不足”或“无法建模”的结论时,才触发 VIL。反过来,VIL 发现的问题若可复现为信号级或接口级,应回退到 HIL 定位,而不是直接在实车上反复试错。

三、切换策略:以“问题定位”而非“阶段推进”为导向

实际工程中,切换策略应遵循“就近定位”原则。若问题表现为算法逻辑错误、状态机跳转异常,优先在 MIL/SIL 复现,因为此时可观测性最强、迭代成本最低。若问题表现为时序抖动、驱动兼容、总线负载、传感器时间戳错位,应切到 HIL,因为只有真实硬件与实时仿真机才能暴露这类问题。若问题只在真实路面、真实光照或真实驾驶员操作下出现,则切到 VIL。

一个常见的误区是“HIL 通过就认为可以上实车”。HIL 的传感器激励是注入的,其噪声模型、镜头畸变、点云密度分布与真实件存在差异。因此,HIL 与 VIL 之间应设置一致性回归:选取同一场景,在 HIL 与 VIL 下分别运行,比较关键信号(如目标距离、TTC、制动请求时刻)的偏差。若偏差超出阈值,说明 HIL 的传感器模型或时间同步需要修正,而不是直接放行。

四、一致性要求:时间、坐标与接口三层对齐

联合验证能否成立,取决于三层一致性。第一层是时间一致性:所有环的仿真步长、传感器帧率、总线周期必须与真实件对齐,时间戳基准统一到同一时钟源,否则 HIL 与 VIL 的延迟对比没有意义。第二层是坐标一致性:车辆坐标系、传感器安装位置与外参、世界坐标系的原点与朝向必须在 MIL 到 VIL 全链路保持一致,任何一环的坐标定义不同都会导致目标位置系统性偏移。第三层是接口一致性:信号名称、单位、量程、无效值定义、报文周期与超时行为必须冻结并版本化管理,HIL 侧模拟器与真实件的行为差异应记录在接口控制文档中。

建议在项目早期建立一份“四环边界与一致性矩阵”,逐项记录每个环的 DUT、真实件、仿真件、接口类型、时间基准和坐标定义。该矩阵是后续切换决策和问题回退的依据,而不是事后补写的文档。

五、一个可执行的切换判据示例

以下判据表可用于日常验证决策,字段和阈值需按项目实际标定,此处仅为示例结构:

当前环触发切换的现象目标环切换前必须确认
MIL算法逻辑通过,需验证代码生成与数值一致性SIL代码生成无告警,MIL/SIL 数值偏差在容差内
SIL出现实时性、驱动、总线负载或时间戳问题HIL接口冻结,实时预算满足,HIL 激励能力就绪
HIL问题依赖真实光照、轮胎耦合或驾驶员行为VILHIL 与 VIL 场景一致,关键信号偏差已记录
VIL问题可复现为信号级或接口级HIL/SIL已提取可回放的激励数据与时间戳

最后需要明确:四环的边界定义不是一次性的,而是随项目阶段动态调整的。当传感器模型置信度提升、实时仿真机能力增强时,原本必须到 VIL 验证的用例可以前移到 HIL;当发现某类问题在 SIL 中无法暴露时,也应果断把该用例的准入门槛提高到 HIL。联合验证的价值,正在于让每个问题都在成本最低且能真实暴露它的那一环被解决。