机器人领域HIL/SIL测试有其特殊性:它不是一个控制器加一个被控对象,而是感知-决策-控制-执行多个子系统紧耦合,对实时性、确定性、低延迟通信要求极高。
机器人HIL测试通常分两类:
一、单控制器HIL(最常见)
被测件为单块计算板(如Xavier、Orin、工控机),仿真对象包括电机驱动器、IMU、LiDAR等通过CAN/EtherCAT总线接入。仿真机使用实时系统模拟物理世界加传感器数据流。
典型测试场景:
– 电机故障(堵转、过流、编码器失效):看控制板能否安全停机
– 通信延迟/丢包注入:看规划重规划是否合理
– 电源跌落/电压扰动:看ROS2节点watchdog是否触发
– 总线负载打满:看实时性能否保住
常用工具:
– dSPACE SCALEXIO / MicroAutoBox III:汽车/工业通用
– Speedgoat:Mathworks紧密集成,Simulink模型一键部署
– NI VeriStand + PXI:灵活,FPGA可做纳秒级电机仿真
– Vector VT System:CAN/CAN FD/EtherCAT强项
二、多机HIL/整系统HIL(高级)
整台机器人所有控制器、传感器、驱动器都在环,仿真机模拟外部环境(地形、障碍物、其他动态体),用于多智能体协同、复杂场景验证。成本高,但接近真实。
ROS2中间件层测试要点:
– 话题QoS配置测试
– 节点生命周期测试(configure/activate/deactivate/cleanup)
– 参数动态重配置测试
– TF树一致性测试
– 时间同步测试(use_sim_time、消息头时间戳一致性)
关键注意事项:
– 仿真器不等于真实物理,尤其接触、摩擦、柔性
– 时间一致性配置错位会让融合模块崩溃
– SIL全绿不代表实机不翻车,关键安全功能必须上HIL