软件在环(Software-in-the-loop,简称 SIL)是在仿真组件上运行生产软件或具有代表性的软件。硬件在环(Hardware-in-the-loop,简称 HIL)把真实硬件接入闭环测试,而被控对象、传感器或环境的其余部分仍由仿真模型代替。真正有用的区别是真实与仿真的边界,而不是仿真器产品名称。
SIL 支持快速、确定性场景探索。 HIL 揭示了控制器调度、真实I/O、转换器、网络和电气行为。物理机器人测试仍能揭示结构顺应性、摩擦、安装、感应和环境效应,而这些都无法完美模拟。
本指南应与 虚拟调试指南 及 机器人延迟预算指南结合使用。高能耗和安全相关测试需要受控设施和合格人员。
为每个检验定义实边界和模拟边界
列出真实应用代码、控制器CPU、输入输出模块、网络、驱动器、传感器、被控对象动态、环境和操作员接口。识别每个接口是生产硬件、仿真器、模型、重放还是测试替身。
说明测试无法暴露的内容。仅通过理想化软件API连接的真实控制器可能进行调度,但会错过模拟量缩放、布线故障和现场总线时序;调用 HIL 无法弥补这一空白。
使用 SIL 实现快速且可重复的状态-空间探索
SIL 可以确定性地运行,速度快于或慢于实际时间,分叉精确初始状态,并扫描数千个环境、参数和策略组合。它非常适合逻辑、状态机、规划器、感知和回归测试,然后再进行硬件访问。
保留随机种子、模拟器和资产版本、数值设置和场景定义。高模拟通过率仅是建模条件和验收判据的证据。
用 HIL 来暴露控制器和接口的行为
HIL 将真实控制硬件与生产界面的模拟输入和设备响应连接起来。它可以揭示错过截止时间、量化、 I/O缩放、总线时序、启动序列、看门狗行为以及链路或电源中断的恢复情况。
验证电平、采样、传输、转换和命令应用。如果旁路测试端口跳过生产协议或固件路径,记录该差异并保留单独接口测试。
把物理测试平台当作另一个受控证据层
NIST将其 制造机器人测试平台 描述为结合了代表性的机器人、传感器、 AGV、测量系统和仿真,包括仿真验证的研究。这说明了为什么真实和虚拟组件可以有意地结合起来。
物理测试平台可以测量运动、载荷、感知和环境相互作用,但仍存在地形、生产差异和罕见危险的限制。记录其与部署机器人和现场的差异。

将一个需求转化为层级特定观测
拒绝陈旧感知等需求可以通过 SIL 时间戳场景、 HIL 真实时钟和总线行为,以及机器人传感器对运动响应的测量来验证。需求保持不变,而可用测量值会变化。
在每一层分配需求ID、场景、输入、预期状态、容忍和证据路径。不要让每个测试团队自行发明一个无关的通过定义。
| 层 | 实元素 | 主要证据 | 暴露风险 |
|---|---|---|---|
| SIL | 目标软件 | 逻辑与情景响应 | 硬件时序与物理 |
| HIL | 控制器与输入输出 | 截止日期与接口 | 完整机械系统与部署现场 |
| 测试平台 | 机器人或子系统 | 测量的物理反应 | 生产差异 |
| 场地试验 | 已安装系统 | 端到端操作 | 罕见的长期工况 |
| 车队监控 | 现场部署机群 | 漂移与复发 | 可控因果关系 |
将模型忠实度表示为决策相关误差
避免仅仅给模型贴上高保真度标签。测量可能改变测试决策的残差:制动距离、接触力、执行器饱和度、传感器噪声、定位漂移、能耗或场景下的延迟。
定义速度、负载、姿态、表面、光照、温度和故障类型的有效性域。域外则降级置信度或要求另一层测试。
将模拟时间与实时执行分开
仿真步进可以不受实际计算耗时约束,而真实控制器必须满足实际时钟周期和设备截止时间。比实时更快的 SIL 对覆盖范围有价值,但无法证明实时可行性。
在 HIL中,测量合格时钟上的输入到达、控制器释放、计算、输出传输及被控对象模型响应。当证据跨越时钟领域时 ,使用机器人时间同步指南。
在受控地点和时间注入故障
指定故障是否发生在传感器物理、数字化、消息传输、控制器存储、执行器命令、电源或机械装置。记录起始时间、持续时间、强度、通道与恢复或锁存行为之间的相关性。
传感器值被强制归零并不代表所有开路、陈旧样品或合理的偏置测量。利用失效分析选择注射点,并保留独立的安全包覆以应对危险情况。
对测试设备及其自身的失效模式进行资格认证
校准I/O、时序、负载和参考测量。验证模拟器和接口硬件能否在不导致数据饱和或无声丢失的情况下,生成所需的速率和极端值。
应与被测设备分开监控测试设备健康状况。测试台架运行超限、被控对象模型过期或通道失效时,应判定本次试验无效,而非机器人故障或通过。
在验收中包含诊断和安全故障
验收不仅应涵盖命令准确性,还应涵盖检测、故障报告、安全状态转换、重启控制和证据完整性。在隐藏注入故障的情况下达到预期输出的系统可能不适合操作。
尽可能使用独立判据。比较指令状态和测量状态、控制器诊断、测试设备真实性和物理参考,这样一个受损信号就无法自我判断。
在与风险变化频率匹配的测试中进行测试
在持续集成中加入快速确定性 SIL 检查。在计划中的基础设施 HIL 控制器、接口和时序的变更,并保留物理设备用于相关性、高影响行为以及改变机械或环境假设的变化。
维护一个变更测试矩阵。模型、驱动、控制器、校准、有效载荷更新或网络更新可能需要不同层,相关性失败的结果应重新打开模拟器假设。

发布一个仿真到物理验证的文件
保留需求、回路边界、模型版本与有效域、测试台架校准、时序配置、故障注入记录、各验证层结果、相对于实机测试的残差、未解决问题以及发布依据。
仔细审查,请进行以下检查。
评估“机器人 SIL 与 HIL 测试:模型、时序与故障注入”时,还应保存模型版本、机器人配置、标定文件、测试日期和全部试验记录。把成功、失败、恢复与人工介入放在同一份数据中,才能区分模型能力、系统接口和现场流程造成的差异。
成本评估除了设备与算力,还要记录数据采集、工程调试、安全措施、维护、停机和人员培训。只有把这些持续投入与单位成功任务的价值比较,才能判断方案是否适合扩大。
上线后仍要持续检查分布变化、传感器漂移、机械磨损和人工接管原因。监测结果应能触发降级、停止与重新验证流程,并为下一轮数据采集和模型更新留下可追溯记录。
最终结论应明确写出已知限制、尚未验证的场景和下一项可证伪的实验,使后续团队能够沿着证据继续推进。
实际项目还应指定数据、模型、控制器和安全流程的负责人,并预先定义回滚条件。责任边界、审批记录与变更日志越清楚,故障发生后越容易停止扩散、定位原因并安全恢复。
| 证据门 | 所需产物 | 失效模式 | 升级 |
|---|---|---|---|
| 边界 | 环路和接口映射 | HIL 标签,没有细节 | 重新分类测试 |
| 模型 | 效度域与残差 | 无界保真度主张 | 物理相关性 |
| 时间安排 | 合格时钟和轨迹 | 步进时间称为延迟 | 实时 HIL |
| 断层 | 注入规格 | 零值捷径 | 接口特定测试 |
| 发行 | 跨层可追溯性 | 无间隙的及格率 | 靶向机器人试验 |
- 说出所有真实的、模拟的、重玩和模拟的组件。
- 测量可能改变接受度的模型误差。
- 将模拟时间与现实时间下的截止时限区分开来。
- 在显式接口注入故障,并实现受控恢复。
- 将 SIL 与 HIL 结果与物理测试证据进行关联。
常见问题
使用真实控制器会让每个仿真测试都成为 HIL 吗?
只有真实硬件通过相关生产接口接入明确定义的闭环时才算 HIL;同时应记录仍被旁路的环节。
高度详细的 SIL 模型能否消除物理测试?
不。它可以减少和聚焦这些问题,但必须通过实物证据来确立模型有效性。
应该先注入哪些故障?
优先考虑可信且高后果的失败、诊断漏洞和现有层能安全且现实地注入的变更。
为什么要分开模拟时间和实际时钟时间?
在真实硬件上,正确的模拟轨迹可能耗时过长,而实际时钟的截止日期即使模型步骤看起来正确也可能失败。
SIL和HIL结果应该如何关联?
使用相同的需求和场景ID、层级特定观察以及物理行为的测量残差。
仿真到物理证据的边界
SIL 和 HIL 是证据层,而非质量标签。仅在真实与模拟的边界、时序、故障模型及与物理机器人的相关性明确且与决策相关时发布。