夏钲轩 吴长水
摘 要:近年来,基于模型的开发方式(Model Based Development, MBD)逐渐成为汽车软件系统开发的主流方式,而硬件在环(Hardware-In-the-Loop, HIL)测试是实现MBD的关键步骤。现基于MBD,在MATLAB/Simulink环境中,对针对ADAS算法的自动化硬件在环仿真测试进行研究,通过建立车辆动力学模型和外部环境模型,模拟车辆与环境的交互信号,搭建硬件在环自动测试平台,并以自动紧急刹车(Autonomous Emergency Braking, AEB)为例进行一系列硬件在环自动化测试,验证了该系统的测试能力,对测试平台的开发及V模型开发等问题具有借鉴意义。
关键词:硬件在环;ADAS;自动化测试;MBD
中图分类号:TP311.52 文献标识码:A
Design of HIL Test Platform for ADAS based on Model Design
XIA Zhengxuan,WU Changshui
(School of Mechanical and Automotive Engineering, Shanghai University of Engineering Science, Shanghai 201620, China)
xiazhengxuan1996@163.com; wuchangshui@sues.edu.cn
Abstract: In recent years, Model Based Development (MBD) has gradually become the major trend of automotive software system development, and Hardware-In-the-Loop (HIL) is a key step to realize MBD. In this paper, a HIL in MATLAB/Simulink based on MBD is built for automatic HIL simulation of ADAS (Advanced Driving Assistance System) algorithm. Automobile dynamics model and external environment model are built to simulate the interaction between automobile and environment. HIL automated test platform is thus built. Furthermore, a series of HIL automated tests are carried out by taking Autonomous Emergency Braking (AEB) as an example to verify the testing capability of the system, which offers references for the development of test platforms and V model development.
Keywords: HIL; ADAS;automated test; MBD
1 引言(Introduction)
近年來,随着电子信息化的发展和智能化的普及,越来越多的车辆上开始装载ADAS(Advanced Driving Assistance System)系统。ADAS系统通过传感器(如雷达、激光、视觉)来探测周围环境,帮助驾驶员识别周围环境,在正常行驶和一些特殊交通状况下进行预警辅助和主动控制(包括制动和转向等),能显著提高驾驶舒适性和安全性。
由于ADAS系统的功能越来越丰富,逐渐代替驾驶员成为主体,因此对ADAS系统的可靠性和安全性等方面有着较高的要求,必须对ADAS系统在各种复杂的交通情况下进行测试,测试其是否能够正确识别和处理各种情形和问题。实车测试能够在真实的场景中对ADAS系统进行测试,然而容易产生危险,很多功能如ACC(Adaptive Cruise Control)、AEB(Autonomous Emergency Braking)等涉及高速行驶,实验人员的人身安全难以保障。并且,实车测试的测试效率低,天气、道路、光线等各种场景多变且不可控,难以覆盖所有场景。实车测试对控制系统的验证是有限的,由于无法准确控制车辆的状态,难以复现在测试中遇到的问题,无法追根溯源查找问题[1]。同时,ADAS系统功能越多,集成在一辆车上产生故障的概率也就越大,这种交互问题在实车测试中也难以检测。
硬件在环测试由仿真和真实组件组成,或者可以用一个具有相同输入输出特性的人工组件进行模拟代替。理想情况下在闭环中,每个组件都不能分别出它所连接的是真实的组件还是模拟仿真的组件。硬件在环测试可以弥补实车测试安全系数低的缺点,并且测试效率高、覆盖度广,还可以实现自动化测试[2]。ADAS自动化测试可以根据已经编写好的测试用例测算法来实现,并自动生成测试报告。传统的测试费时费力,而自动化测试可以完美解决测试用例多、输入繁杂的痛点。随着近几年自动驾驶汽车的飞速发展,硬件在环测试对汽车制造商越来越重要。测试的时间越早,开发的周期越短,项目成本也就越低,才能保证功能开发的效率,实现产品的快速迭代。
本文基于MBD理念,在MATLAB/Simulink环境中搭建了针对ADAS算法的HIL实时系统,构建整车模型、外部环境模型,并对搭载AEB算法的控制器进行了硬件在环测试及验证,实现了自动化测试,验证了该系统对自动驾驶算法的测试能力,对解决ADAS系统的开发测试等相关问题具有一定的借鉴意义。
2 HIL系统设计需求(HIL system design requirements)
HIL仿真的主要优点是它提供了一个可重复的实验室环境,用于安全、灵活和可靠的控制器验证[3]。HIL的完整系统可以是真实的,包括传感器、执行器和控制器,如图1所示。HIL提供了模拟的灵活性,使用真实组件可以提高模拟的可靠性。控制器的性能和稳定性可以在不受其他外部干扰的情况下进行测试,还可以通过控制抖动和故障注入来验证可靠性。由于在HIL系统中可以模拟所有的车辆部件,因此在早期开发阶段可以解决原型车和真实部件缺失的问题,加快开发进度[4]。
HIL系统的基本功能需求如下:
(1)实现系统集成、配置、测试环境界面;
(2)实现模型所有测试变量、参数的任意调用、实时记录、曲线显示;
(3)实验环境数据采集速率满足1 ms、10 ms等要求;
(4)实现仿真过程的在线控制(启动、停止),并具备测量、标定、诊断功能;
(5)任务调度的监视、各个子系统运行周期的监视;
(6)能用脚本调用完成自动测试。
3 HIL仿真的设计与搭建(Design and construction of HIL simulation)
3.1 HIL架构图
架构设计是HIL系统开发过程中最关键的阶段。HIL是一个混合系统,由真实的组件和虚拟的子系统组成,这些真实的组件与虚拟的子系统一同工作,形成一个闭环的半虚拟半真实的环境[5]。在架构设计阶段,需要确定系统的主要元素和它们的功能,并且要确定虚拟子系统和真实组件的边界与接口。
如图2所示,ADAS硬件在环测试的工作过程相当于将实车上视觉传感器、雷达、惯性单元等部件所检测出来的信号通过CAN总线传递给控制器。控制器在接收到模拟的车辆信息和外部环境信息后,误以为处于实车环境中,经过计算将不同的控制信号发送给车辆模型的执行器,改变车辆的状态。
在算法方面,将模型自动生成的代码编译至开发板中,真正的代码与虚拟的车辆模型、外部环境模型通过CAN相连接,如图3所示。
在确认好架构后,便可着手对HIL系统进行搭建,系统搭建步骤如图4所示。
本文针对AEB系统所搭建的HIL系统主要分为五大模块,分别是:CAN信号的接收模块、车辆动力学模块、目标输出模块、数据记录模块、CAN信号的发送模块。
3.2 车辆动力学模型
在HIL测试环境中,所测试的控制器并没有安装在真实的车辆上,若想获得车辆对控制逻辑响应的真实信息,前提条件就是正确搭建一个可靠的车辆模型。车辆模型能够根据模拟驾驶员的输入状况,计算出车辆的状态及位移,实时更新虚拟场景。
对于车辆来说,研究车辆动力学主要是研究车辆轮胎及其相关部件的受力情况。比如纵向速度控制通过控制轮胎转速实现,横向航向控制通过控制轮胎转角实现。在车辆动力学模型中,力与加速度成为首要的关注对象。由于模型的复杂度造成了计算量的增加,本文为此简化模型,做出了如下假设:
(1)忽略横、纵向的空气动力学对于车身受力分析的影响;
(2)只考虑纯侧偏轮胎特性;
(3)忽略轮胎力的纵横向耦合关系;
(4)假设车体为一刚体,只在平整的路面行驶。
基于以上理想化的假设,本文根据实验目标车辆的参数以及实际标定和台架实验数据等在Simulink中进行建模,搭建了一个三自由度的车辆模型。此次构建的车辆动力学模型简化为单轨模型,前后双轮简化为前后单轮仅具有沿X轴的纵向运动、沿Y轴的横向运动及沿Z轴的横摆运动。O_XYZ平面为世界直角坐标系,o_xyz平面为车身坐标系。简化后的车辆动力学模型如图5所示。
根据车辆模型力-加速度与力矩-角速度的平衡关系得出式(1):
式(1)中,第一个方程为车辆纵向力与纵向加速度平衡;第二个方程为车辆横向力与横向加速度平衡;第三个方程为车辆质心处力矩与角加速度平衡。具体符号表示如表1所示。
由于本文实验车辆采用的是前驱车,故可以忽略前、后轮驱动力对车辆横摆角的影响,所以后轮驱动力及前轮转角近似于0,由此可得到:,。故可以将式(1)简化为:
式(2)中,FX为车身坐标系下沿X轴方向前后轮胎的合力,且。
该车辆动力学模型主要是执行数值的计算并产生所需要的信号,可以在一个仿真步长时间内,接收虚拟的传感器信号和真实的车辆控制信号,输出车辆的纵向、横向及横摆动作信息,被后续的控制算法和环境模型所接收,形成完整的闭环控制流。
本文搭建的车辆动力学模型参数如表2所示。最终搭建的车辆动力学模型如图6所示。
3.3 外部环境模拟
为了让控制器处于趋近真实的环境,还需建立基于真实传感器参数的外部环境模型。外部环境模拟能够根据测试用例的要求,模拟传感器工作的外界环境条件[6]。
由于测试对象是AEB算法,因此搭建的环境只考虑模拟静态目标、动态目标两种因素,不考慮其他因素对AEB功能的影响。
此外部环境模拟模块是用M语言编写的目标参数生成模块,用于输出多种预先设置的目标动作参数,如目标物类型(车、行人)、目标物初始位置速度、何时开始加速度等信息,将信号传送给车辆模型和控制器,形成闭环。
搭建好的外部环境模拟模块如图7所示。
3.4 基于场景的自动化测试
自动驾驶的测试又分为基于场景和基于里程的测试。基于场景的测试主要是针对被测功能或部件,通过预先设定的测试环境进行测试;基于里程的测试较为连续,不需要特定某项环境设置就可以连续不断地测试和采集,在大量的车辆数据中对功能和部件的工作效果进行分析。这两种方法均可用于虚拟环境和真实路测环境。
自动化测试是按照事先编写好的测试用例表对系统进行自动化测试的方法。自动化测试建立在测试环境已经搭建调试完成的基础上,用自动化测试程序对测试用例的输入信号依次进行赋值,再根据测试用例的输出值进行比较确认。
测试完成后,会自动生成本次测试的测试报告,测试报告的内容包括:测试结果和预期结果是否一致、信号期望值与实际值之间的比较(包括误差和允许误差范围)等。
本文使用的工具是Simulink Test Manager,可自行编写脚本。本文编写的脚本可以根据Excel文件自动读取测试用例,确定测试用例的输入与输出,这样大大减轻了测试人员工作的复杂度,提高了测试效率。在测试结束后,也编写了脚本,可自行设定通过准则,并且会自动生成测试报告,能够快速完成大量的测试工作,减少人力投入,极大地减少了产品的研发成本。自动化测试流程如图8所示。
4 实验验证与分析(Test verification and analysis)
在搭建好硬件在环自动化测试环境、编写好测试用例之后,对ADAS系统的自动刹车辅助功能进行实验验证,并用CANalyzer对CAN数据进行观测,如图10所示。
4.1 测试用例及通过准则
基于用例的测试方法是指通过预先定义的测试用例来验证待测功能是否满足需求的方法。测试用例往往是为某个特定的目标而设定的,需要有确定的输入、执行条件及输出结果。如对于AEB的测试,需要在不同条件下验证车辆是否能够与目标障碍物保持距离,避免碰撞。
本部分参考C_NCAP测试标准和JT/T 883—2014(《营运车辆行驶危险预警系统技术要求和试验方法》),搭建多种场景对AEB算法进行HIL测试,其中包括:前车静止工况(Car-to-Car Rear Stationary, CCRs)、前车慢行工况(Car-to-Car Rear Moving, CCRm)、前车制动工况(Car-to-Car Rear Braking, CCRb)、Override工况、行人横穿工况、前车启动工况、横向偏移退出工况、制动钳异常工况等[7-8]。根据各种工况,共设定了49 种测试用例。测试用例的输入信号如表3所示,主要包括自车的位置、速度信息以及目标物的位置和速度信息。验证标准主要包括是否对AEB进行触发以及是否发生碰撞。
为了详细说明整个测试的具体步骤,接下来以32 号测试用例为例来进行说明,如图11所示。该测试用例所设定的场景为:目标车辆速度为20 km/h,自车车速为45 km/h,目标车辆在自车正前方40 m处,模型的执行时间为50 s,步长时间为0.02 s。预期验证结果为:AEB模式激活,并不发生碰撞。
将49 个测试用例按照上述格式输入Excel表格中,根据自行编写的脚本可自动读取测试用例并将其输入模型。
在测试结束后,自动触发脚本对数据进行分析。在脚本中设定验证准则,若不通过将显示错误。
4.2 自动化测试结果分析
对49 个测试用例进行自动化测试后,生成了测试报告,49 个测试用例均通过,如图12所示。测试报告如图13所示。
以32 号测试用例为例,如图14所示,在AEB模式启动的条件下,自车行驶至1.52 s时,开始以-3 m/s2的加速度进行减速;行驶至2.52 s时,开始以-9.8 m/s2的加速度进行减速;在3.5 s时,减速为0 m/s。并且整个过程中,没有发生碰撞(Collision_Flag=0)。因此,32 号测试用例通过。32 号测试用例自动生成的测试报告如图15所示。
至此,完成了AEB系统的典型工况实验结果分析,证明了所测算法在合理工作范围内可以有效避免纵向碰撞,验证了HIL系统的正确性及实时性。
5 结论(Conclusion)
本文提出了一种以MATLAB/Simulink为基础搭建的HIL系统,包括车辆动力学模型和外部环境模型,并完成对AEB算法的自动化HIL测试。结果证明,该系统方案能够很好地对ADAS算法进行自动化硬件在环验证,为测试平台的开发提供了一套值得借鉴的方案。
参考文献(References)
[1] 和福建,张晋崇,石娟.智能网联汽车测试技术研究[J].汽车电器,2019(03):19-21,24.
[2] 李石.采用摄像头传感器的高级驾驶辅助系统硬件在环测试研究[J].机械工程师,2019(09):87-89.
[3] 孙涛,丁琴琴,李卫兵.ADAS系统测试平台设计及实现[J].中国测试,2019,45(04):155-160.
[4] 齐鲲鹏,隆武强,陈雷.硬件在环仿真在汽车控制系统开发中的应用及关键技术[J].内燃机,2006(5):27-30.
[5] 杨世春,肖赟,夏黎明,等.自动驾驶汽车平台技术基础[M].北京:清华大学出版社,2020:154-178.
[6] FORKENBROCK G J, SNYDER A S. NHTSA's 2014 automatic emergency braking test track evaluations[R]. Washington D.C.: NHTSA, 2015.
[7] DEERING R K. Cash avoidance metrics partnership annual report[R]. Washington D.C.: NHTSA, 2002.
[8] BUTENUTH M, KALLWEIT R, PRESCHER P. Vehicle-in-the-loop real-word vehicle tests combined with virtual scenarios[J]. ATZ Worldwide, 2017, 119(9):52.
作者簡介:
夏钲轩(1996-),男,硕士生.研究领域:高级汽车辅助驾驶.
吴长水(1978-),男,博士,副教授.研究领域:汽车电子控制技术.