1. Introduction
硬件在环(Hardware-in-the-Loop, HIL),是一种对控制器进行测试的方法,其中“Hardware”是核心,表明被测的对象,一搬是控制器实物(e.g., 整车控制器VCU,ADAS控制器)。或者,通过HIL测试,机器或系统的物理部分被仿真器所替代,并广泛运用于汽车控制器开发过程种;“in-the-Loop”在环,强调背侧控制器要在一个闭合的回路里。所谓的回路,是控制器接受被控对象的状态并发出控制指令,然后得到被控对象反馈并再次发出控制指令的过程(e.g., ADAS and ego vehicle)。在这个测试闭环中,可以通过设置被测对象不同的状态,来测试控制器能否正常的行驶。
如何形成测试闭环也是一个关键性的问题,从真实的控制器和被控对象的场景出发(真实的自动驾驶控制器控制真实的车辆时,ADAS and ego vehicle),控制器接受真实车的状态,计算并发出控制指令(e.g., 加速,减速 and 转向,etc.),车辆根据控制指令做出相应的动作,车辆按照指令执行完之后,车辆的感知系统捕获周围的信息(e.g., 车速,障碍物信息, etc.)并将捕获的信息反馈/发送给控制器,控制器接受感知系统传来的信息计算并发出相应的控制指令,周而复始。
Question:是否一定需要“in-the-loop”? 这是一个非常好的一个问题,值得我们去深思。
Answers: 硬件在环,这个环是否一定要存在?换言之,环没有了,那么只有硬件了。
我们可以从测试的目的出发,HIL目的为了测试硬件(i.e., 真实的控制器),HIL主要包含两个components:Hardware and others (i.e, ADAS控制器和被控对象(Vehicle)),被控对象(Vechile)本质上起到一个辅助的作用,帮助ADAS收集环境信息和Vehicle状态,并且间接展示ADAS操作的效果(i.e., pass or not)。如果这个Hardware能够自己扮演这样的角色,那么Others(被控对象)应该是可以被取代。For instance, 汽车控制器控制的结果,可以通过控制器本身的设施显示出来(e.g., 通过灯的状态On/Off)。 但是又出现一个问题,这样的Test scenario是否需要我们这样的关注呢,意义又何在呢?
Concluding Remarks: 理论上,HIL的环是可以取代,但是对于它的应用个人持有保留意见
2. HIL Testing
在进行HIL测试时,使用HIL设备替代真实的被控对象,用于接受所有的控制指令,并模拟所有的状态信息返回给真实的控制器,使控制器认为自己在控制真实的对象,从而形成闭环。具体的展示如下图:
3. 为什么需要进行HIL Testing?
(1) 节省成本,不管开放道路还是封闭试验场的实车测试都需要大量的费用。
(2) 降低测试的风险
(3) 减少开发时间,增加开发效率,同步开发一款全新的汽车的开发需要大量的时间
(4) 在系统开发生命周期的前期,及时的发现故障,以保障系统的质量