首页/文章/ 详情

什么是硬件在环仿真测试-HIL?

1年前浏览1316


大家好,我是李慢慢。

作为一名自动驾驶仿真工程师,只知道仿真是远远不够的,还需要深刻地理解仿真在整个车辆开发过程中的作用。在自动驾驶仿真的知识地图中(如上图所示),就有一项非常重要的应用领域,硬件在环测试(HIL,Hardware-In-Loop)。本文想要简单地来说说它。



目录:

1、什么是硬件在环测试

2、为什么要用硬件在环测试

3、硬件在环测试的原理

4、硬件在环测试的硬件设备分类



1、什么是硬件在环测试


简单来说,HIL测试就是用假的被控对象去测试真的控制器,如下图所示。



怎么来理解这里的真与假呢?
最有信服力的测试肯定是拿真实的车辆来测试真实的控制器是吧?但是呢,由于实车测试成本高、时间长、安全性还低,所以必须找个东西来代替实车,作为替身,什么东西可以来代替实车呢?自然是虚拟模型了。虚拟模型的运行需要硬件来支持吧?所以很自然的引用到了实时仿真机,将虚拟模型运行在实时仿真机里,仿真机再输出信号给控制器。因为真的有数据输入,所以控制器被欺骗了,真的以为外面有个真实的车辆,有真实的传感器,所以快乐地开始工作。然后控制器该干啥还是干啥,它依然会根据输入产生输出,这个输出又被虚拟仿真机接收,用来控制虚拟模型的驾驶行为,这样,闭环就形成了,也就是“在环”。

顺嘴说一句,硬件在环仿真测试也被称为半实物仿真测试。看了上面的介绍,你大概知道了这里的“半实物”的意思了吧?

2、硬件在环测试有哪些优势?

关于硬件在环的优势,在前文大概有一些描述,此处再展开描述下,优势如下所示。

2.1、安全性
控制器如果没有经过全面的测试,直接去控制实车,可能会发生安全事故。而如果是做硬件在环仿真,即便控制器出问题了,也就是导致硬件在环设备中的汽车模型跑飞而已。

2.2、效率
用真实的车辆去测真实的控制器,测试必须按照流程按部就班地完成,测试效率很低。而在硬件在环仿真中,可以使用自动化测试的手段大大提高测试效率,缩短控制器上市时间。

比如测试汽车控制器,某次测试结束后,下一次测试要求汽车重新回到初始状态再开始测试(比如车子开回原来的位置或者达到初始的速度)。在实车测试时,就真的得把车子开到初始的状态;而在硬件在环仿真过程中,只要点击初始化按钮,车辆模型就回到了初始化的状态。

又比如,测试时,需要车辆从初始状态车速=1m/s,3m/s,5m/s分三次进行测试,对于硬件在环仿真,只需要设置循环,循环时设置好初始车速即可完成三次测试。

2.3、成本
第一,自动化测试的方式大大提高了效率,能节省大量的时间和人力成本。第二,以汽车测试为例,PSA做过一个研究,通过包括硬件在环仿真在内的多种测试手段,可减少30%的测试车辆。一般而言,一个平台的测试车辆,最少在1000辆左右,如果省去30%的测试车辆,也就是几乎省去300辆车的成本。

2.4、全面性
硬件在环仿真中,因为测试场景和被控对象都是虚拟的,所以可以轻松创建一些在现实世界中较难实现的测试用例来对控制器进行测试,比如车速达到180公里/小时,电机超负荷运行等等(这些工况如果实车测试,会很危险)。硬件在环仿真可以轻松创建全面的测试用例对控制器进行全面的测试。

用真实的被控对象去测真实的控制器(暂且命名为实物测试)是必不可少的,但硬件在环仿真是对实物测试的一种有效补充。在实物测试之前,通过硬件在环仿真充分、全面地对控制器进行测试,提前暴露和解决控制器的bug,让实物测试更省时省力省钱。

3、硬件在环测试的原理

下图是硬件在环测试的框架图。

为什么需要上图中这么多东东?我们可以来理一下思路。

3.1、HIL测试,首先肯定需要有一个被控对象的模型去模拟被控对象的状态,那么必然需要有一个处理器去运行模型,而且得是带实时操作系统的处理器,这就是第一个东东——实时主机(Real Time Target Computer)。

3.2、实时主机中运行的模型,是一个纯虚拟的东西。而控制器的接口是真实的电气接口,没法直接跟虚拟的模型连接。这时候就需要给实时主机提供I/O板卡,虚拟的模型通过这些I/O板卡获得真实的电气接口,用以跟控制器连接。

3.3、然而很多时候,控制器接口的电气规格和实时主机的IO板卡的电气规格是不一致的,比如控制器接口是24V的,而IO板卡接口是5V的,这时候就需要信号调理模块去将不一致的规格调理成一致,比如说把5V转换成24V。

3.4、真实的被控对象中,会有一些执行器被控制器所控制,这些执行器被称为负载。在HIL测试中,我们需要模拟这些负载,这就是负载仿真

3.5、有时候为了让HIL机柜更接近真实的被控对象,会把一些真实的执行器和真实的传感器接入到HIL机柜中,所这就是Real Loads/Real Sensors,有些机柜会提供一个专门的负载抽屉来放置这些设备。

3.6、对于汽车来说,车上会有一个车载电源,给车内设备和控制器供电,因此HIL机柜需要一个设备去模拟车载电源,这就是HIL机柜中的程控电源,电源电压可以通过软件来控制。

3.7、真正开车的时候,传感器、执行器等等都有可能出现故障,比如短路、断路等等,HIL测试也要模拟这些故障,这就是故障注入模块


这样一来,整个结构和原理就很清晰。我们再来更详细地说明下各个模块(并不是每个HIL系统都包括了所有以下模块,简化的情况下可能只有少数一两个模块)。

· Real Time Target Computer + IO(实时主机和IO板卡):实时系统的核心部分,主要是实时处理器加外围IO。这里的IO通道一般根据被测控制器的接口信息调整。比如当被测控制器的通道为模拟输入时,此时HIL系统一般配模拟输出,以此类推。在配置系统时需注意要预留一定的IO通道。

· Signal Conditioning(信号调理):信号调理模块,主要是因为控制器接口的规格和实时系统的IO规格可能不一致,所以需要一些信号调理板卡,将实时系统的IO规格转换成控制器所需要的规格。比如控制器的数字输入信号的规格是12V的,而实时系统的模拟输出规格是5V的,那么就需要一个5V转12V的信号调理模块。

· FIU(故障注入):故障注入模块,串接在控制器和实时系统IO线束上的开关矩阵,用于控制模拟控制器引出线束上的一些故障,比如短路、断路等。故障注入是HIL测试的一个重要环节,可以测试控制器在发生故障情况下的反应。

· Load Simulation:负载仿真。当控制器工作时,部分通道需要输出电流控制某些继电器、阀体等。如果将这些通道直接连接到实时系统IO上,由于实时系统IO的阻抗很高,不能产生足够的电流。因此需要在通道上连接一些负载,让控制器可以正常工作,不会被诊断存在问题。

· Real Loads/Real Sensors:当有一些传感器/负载无法有效模拟时,可以连接真实的负载或传感器。但真实传感器的信号需要由实时系统控制或读取,真实负载的驱动信号也要有实时系统读取,然后参与模型运算。

· 程控电源:由实时系统控制的供电模块,模拟车载低压电池的供电。同时该供电也是作为故障注入单元,负载仿真的参考点等。

· 上位机:上位机用于搭建模型、编译下载、监控模型运算,同时通过标定诊断工具,读取控制器中变量。运行自动化测试软件。

4、硬件在环测试的硬件设备分类

根据设备的形态,可以分为两类:机柜式和桌面式。

4.1、机柜式
机柜式在汽车领域用得多。汽车领域的硬件在环仿真设备几乎已经有了一定的标准,涉及到很多部件,桌面式的设备已经难以容纳这些设备,所以会做成机柜的形式,把这些设备都集成在一个大机柜中。

4.2、桌面式
一般而言,汽车以外领域的硬件在环仿真设备相对没那么复杂,多放在桌面上。

本文完。

原创声明:本文较多参考知乎文章,仅作学习用,原文作者颜卿,原文链接见文末。如有不妥,还请联系处理。

来源:车路慢慢
电源汽车电机自动驾驶控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-21
最近编辑:1年前
李慢慢
硕士 自动驾驶仿真工程师一枚
获赞 11粉丝 71文章 122课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈