“关于硬件在环HIL测试的简单介绍,供大家批评。”
01 是什么
硬件在环hardware-in-the-loop,简称HIL,大家可能经常听到,那这到底是什么呢?可以说是一种对控制器进行测试的手段,而其名字已经揭示了含义。名字中的“hardware”硬件,即是这个测试手段的被测对象,一般是控制器实物,比如整车控制器VCU、电池管理系统BMS、ADAS控制器或者是自动驾驶的计算平台;“in-the-loop”在环,强调了被测控制器要在一个闭合的回路里,这个回路即是控制器接收被控对象的状态并发出控制指令,然后得到被控对象反馈并再次发出控制指令的过程。形成了这个测试闭环,就可通过设置被测对象不同的状态,来测试控制器能否对不同的工况进行正确处理,其功能是否都能够正常工作。
那么如何形成这个测试闭环呢?我们从真实控制器和真实被控对象的情况说起。比如真实的自动驾驶控制器控制真实车辆时,控制器发送控制指令(如加速、减速、转向等)给车辆上的执行器,车辆根据控制指令做出相应的动作,然后车辆上安装的传感器检测状态信息(如车速、横摆角、障碍物信息等),并反馈给控制器,控制器继续根据新的状态信息计算并发出控制指令,周而复始。
进行HIL测试时,使用HIL设备替代真实被控对象,接收所有控制指令,并模拟所有状态信息返回给真实控制器,使控制器以为自己在控制真实对象,从而形成测试闭环。
这要求HIL设备一方面能够按照真实被控对象和控制器接口的线路形式和协议收发信息,另一方面能够对控制指令做出正确响应并发出正确的状态值。从而,HIL设备一般由这样几部分构成:
(1)被控对象仿真模型:用来精确的模拟被控对象,发出正确状态信息,比如车辆动力学模型、电池模型、交通场景模型和传感器模型等。
(2)实时处理器:由于接入了控制器实物,由HIL设备模拟的虚拟被控对象也要能够实时运行,这样才能准确模拟真实对象。从而需要一个高性能的实时处理器来运行仿真模型以及处理I/O通信、数据记录等各项HIL测试中的任务。
(3)I/O接口:用来模拟控制器和被控对象间的交互,按照真实的线路形式(如硬线、CAN总线、以太网等)和协议收发信息,按照与真实对象一样的形式通过线路与控制器相连,并实现信号的收发。
(4)操作界面:有时也被称为上位机软件、试验管理软件,其与实时处理器通信,提供可视化操作和观测界面,进行设备硬件、软件和测试任务的管理。
为了使用的便利性,HIL设备的各个部分有时会集成到一个机柜中。
02 为什么
说了这么多,为什么需要进行HIL测试呢?或者说HIL测试有什么好处呢?简单列举如下几种:
(1)节省成本
不管是开放道路还是封闭试验场的实车测试都需要大量的费用,比如样车制造费用比量产车辆要高很多、试验场地昂贵的租赁费用和紧张的测试时间、实车测试设备费用常常较高、实车测试需要不同专业的测试人员等等。虽然HIL测试不能替代全部的实车测试,但使用HIL测试可以在实验室完成一大部分的测试,从而节省大笔支出。
(2)减少危险
汽车是一个非常复杂的移动机电液耦合装置,其机械和控制器部分都可能包含潜在的问题。在开发阶段贸然的进行实车测试,特别是危险工况的实车测试,可能因为潜在问题的发生而造成危险,甚至是人员伤亡。在控制器安装到车辆上进行实车测试前,进行常用的或者全部功能的HIL测试,有助于发现并解决很多潜在问题。这在一款新控制器的开发阶段或者代码更新后尤其有效。
(3)同步开发
一款全新汽车的开发可能要经历两三年的时间,而控制器和被控的整车或者零部件可能处于同步开发的状态;也可能通用性的控制器远早于整车的开发,比如控制器供应商提前完成控制器开发,再根据整车适配性修改。两种情况都会造成控制器开发时,并没有被控对象进行匹配测试。而HIL测试中通过仿真设备模拟被控对象信号,可以在开发早期实现控制器的功能测试,从而节省开发时间,提高测试效率。
(4)故障注入
控制器需要能够妥善处理故障情况,比如信号丢失、线路短路等等。这些故障情况在实车上难以设置和复现,而且具有一定的危险性。通过HIL测试可方便的对多种故障的组合和取值进行遍历测试,大大提高测试效率。
03 怎么做
说了这么多,如果要进行HIL测试该怎么做呢?可以分为HIL工具开发、HIL系统集成、测试场景开发和HIL测试执行四个步骤。
(1)HIL工具开发
HIL工具涉及到软件工具和硬件工具。对于自动驾驶测试来说,软件工具包括场景和传感器仿真软件、车辆动力学仿真软件、测试管理软件等不同功能的软件;硬件工具有实时仿真机、IO接口板卡和传感器模拟器等。这些工具可以根据具体的需求情况和开发能力,在市场上选择适合的现有工具或者自行开发。
(2)HIL集成
HIL系统集成包含两个方面的工作:①根据测试需要选择合适的测试工具并将其集成为完整的HIL测试环境;②将被测算法与HIL测试环境集成,实现闭环测试。
第一方面工作的难点在于:①市场上的测试工具种类较多,哪个能满足测试需求?②这些测试工具多是由不同公司开发的,在将其集成到一起时,相互之间的数据接口需要定制化开发。
第二方面工作的难点在于:①现成的工具与被测算法的数据接口也不一致,在定制化开发通信接口的过程中,既需要创造性的思考,也需要步步为营的调试。②如何能够保证仿真环境与真实环境的相似度,比如传感器的信号是否与真实情况一致、车辆动力学模型的响应是否与真实车辆一致?
(3)测试场景开发
测试场景开发工作的一个关键问题是:如何保证仿真测试的场景覆盖度?或者说算法在仿真环境进行了1000万个场景、1000万公里的测试后,我们可以有多大信心在真实世界的同样场景下进行自动驾驶?
这需要针对自动驾驶算法的设计运行域进行详细而系统的测试场景设计。充分考虑道路、周围车辆的位置和运动、传感器感知局限和自车状态等等不同方面的影响。
(4)HIL测试执行
HIL测试执行包含两个方面的工作:①对测试场景库的维护和针对不同算法选择合适的测试场景并进行测试;②在测试完成后,整理并提供清晰的测试报告,并提供测试结果的统计数据,为算法团队的改进提供有效支撑。
HIL测试一般是自动化测试,配置好测试用例后进行无人值守的自动化运行和评估,这有利于提供测试效率、正确性和一致性。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。