1 虚拟仿真技术的定义
虚拟仿真技术是一种先进的以高性能计算机系统为支撑平台的计算机仿真技术。虚拟仿真技术是在物理样机制造出来之前,利用计算机技术建立系统的数字化模型并进行仿真分析;以图形方式显示该系统在真实工程条件下的各种特性,从而修改并优化设计方案。
2 虚拟仿真测试的意义
随着计算机技术的飞快发展,汽车行业也越来越向软件行业靠拢,当下”软件定义汽车”的概念已经开始在汽车圈被广泛讨论。这一定义侧面映射出当前汽车行业的一个趋势,那就是更新迭代速度的加快。以前,一部车从项目立案到SOP需要至少五年以上的时间,从设计、开发,到测试验证,遵循着一套复杂而完备的流程。而当下,汽车厂商更新车型的速度越来越快,如若不然就可能被对手甩在身后。
这个更新速度的加快,给技术人员带来的压力是显而易见的。每一块子系统从研发到释放,都需要经历一系列的测试。拿开发V流程来说,至少需要经历模型验证,软件验证,硬件和系统集成验证,到最后的整车验证,才能SOP。而这些开发流程是必不可少的,那么如果要压缩开发时间,唯一的出路就是提高整个开发流程的效率,以更少的时间完成相当乃至更多的流程验证,毕竟现代的汽车所具备的功能数目是十几年前不可比拟的,这无疑又给汽车工程师加了难度。
新的挑战,必然需要新的技术手段去高效实现开发过程的验证工作。传统的验证工作主要是在样车发布以后才能上实车验证,大部分的问题都是在实车上发现的,然后再反馈给开发人员修复问题,再进行实车迭代验证。而且,由于样车的制造没有规模效应,其制造成本非常昂贵,使得样车在企业内部也是非常紧俏的。据数据统计,在整个开发过程中,大约有40%的开发周期能够接触到样车,而能够接触到样车进行测试验证的工程师大约占10%。这不仅带来的是效率问题,还存在一个巨大的风险问题。如果在实车验证中发现某个零部件不适合,需要更换零部件,那么这个工作量和风险就太大了。
如何从根源上解决这些难题呢?那就是开发前置(front-loading),即将整个开发流程往前移动,在开发的早期就能发现更多的问题并验证。在样车搭建出来之前,利用虚拟仿真技术尽可能发现更多的问题,这样就可以大大减轻开发后期的压力。
如图1,对比虚拟仿真测试和传统的真实样车测试在开发过程中发现并解决的问题数量和时间分布情况,可以看出利用虚拟仿真技术,可以及早地发现更多问题并解决。

3 虚拟仿真测试的要素
虚拟仿真技术,是利用计算机程序对真实世界的一种模型表达和逼近。所以,理论上,真实世界存在什么,虚拟仿真技术就应该用模型对应表达。虚拟仿真测试的要素,我们可以从真实世界的测试去推演。
3.1 真实路试的要素
这里,我主要以汽车整车测试为例展开说明。一个典型的测试场景可能包含待测车辆、测试场地、测试人员、交通和环境。说的通俗一点,就是测试人员在测试场地或公开道路,驾驶待测车辆进行一些列测试的流程。期间可能会与其他交通发生交互,特别是对于无人驾驶车辆或者配备高级驾驶辅助功能的汽车而言。传感器探测其他交通参与者,以及交通标志、交通灯的信息是系统成功运行的第一步。同时,环境状况又会对传感器的探测识别和汽车系统的执行造成一定的影响,因此也需要被考虑在内。

3.2 虚拟仿真测试的映射
接下来,我们就对虚拟仿真测试与真实路试进行映射,真实路试具备哪些要素,统统都需要在虚拟仿真测试中得到映射和表达。
待测车辆
首先,我们得利用仿真技术搭建待测车辆,建立虚拟样车模型。图3中,列举了虚拟样车模型包含的各个汽车子系统模块。在进行虚拟仿真测试之前,必须要先搭建一辆虚拟样车。

如何搭建虚拟样车?在此,用IPG CarMaker仿真软件的方案做个例子展开说明:
首先,在搭建虚拟样车前,需要明确整个测试系统的待测件是什么?接着,要明确用什么手段去测试此待测件。比如,我们需要测试AEB控制器(紧急制动),这个控制器是我们的待测件。假设目前处于开发早期的功能验证阶段,我还只有算法模型,真实样件还没有出来,此时需要采取模型在环或者软件在环的验证方法。
其次,在确定了待测部件和验证方法之后,接下来就需要分析如何来搭建虚拟样车。搭建虚拟样车并没有我们想象地那么容易,因为不是所有子系统的参数我们都能拿到。对于OEM来说这都是一个难点,毕竟涉及到多个部门之间的数据共享,对于其他人而言,这就更难了。 因此,我们需要想方设法应对这个困境呢?我们可以适当的调整建模的目标,比如我们测试AEB,最重点需要关注的是制动系统,当制动系统接收到待测控制器发过来的刹车指令时,它能否执行?以及制动效果、数据如何?至于其他的子系统,我们可以不重点关注。
1) 先利用CarMaker自带的车辆模型数据集生成器,利用待测车的一些基础数据(网上公开数据)就可以获得一辆虚拟样车,当然这个虚拟样车的参数都是数据库中获取的,对于虚拟仿真测试来说,它是一个起点。
2) 在有了基础虚拟样车经验参数之后,我们再重点配置制动系统。如踏板-主缸压力曲线,建压时间、制动分泵分配系数等。如果拿不到具体参数,也可以通过对比实车的试验数据,然后在仿真工具中调参试验出来。当把整个系统的配置压缩到某一个子系统时,难度就已经大大降低了。

3)最后一部分,就是待测控制器如何集成到虚拟样车中?如果当下处在模型验证的阶段,可以通过CarMaker与Simulink联合仿真的手段,将AEB集成到虚拟样车中。或者在软件验证阶段通过c/c++, FMU方式集成待测控制器。而在之后的硬件在环验证,则需要利用I/O板卡将待测硬件集成到虚拟样车中。

测试场地
测试场地,即道路模型如何建模,常规的方式有三种:
1)手动绘制
手动绘制,即利用仿真工具的场景编辑器去手动创建测试场地,场地要素至少包含路网,道路附属元素(车道线、交通标志、交通灯等)和三维场景元素(如建筑物、景观等)。
手动绘制的优点是可以画的尽可能地细致。但也有局限,对于大规模场景的绘制效率不高,而且对于道路曲率的逼近难度也很大。

2)地图导入
而为了解决手动绘制带来的局限,地图导入应运而生。通过地图导入,可以将路网、道路附属元素一并导入,这样可以大大加速大规模场景的建模问题。目前CarMaker中可以支持谷歌地图kml格式,openDRIVE格式,以及GPS坐标点导入。
3)路采
此方式是利用激光雷达、摄像头、GPS等传感器手段,实现地图测绘,然后再导入仿真软件的方法。因为有些厂商本身手里有大量的场景数据可供利用;或者在路试过程中遇到有必要进行重复测试的情况时,如果能够将其导入仿真软件中重现,那将大大提升重复验证的效率,毕竟真实路试的可重复性是很低的。
交通
交通包含静态交通和动态交通,静态交通可以是房屋、建筑和路边的停车;动态交通则是其他的交通参与者,如行人、自行车和机动车。交通的建模也分为几种不同的方式,常见的也有三种:
1)手动搭建
在CarMaker中,可以定义创建静态交通和动态交通。包括交通障碍物的定位、属性以及运动(基于时间触发和事件触发)。但手动搭建有其局限性,即对于大批量的交通障碍物和随机性很高的现实交通环境,搭建起来难度很大。
2)与交通软件联合仿真
而交通仿真软件呢,它是专注于对交通流量和交通行为进行仿真建模的工具。前面提高的大批量交通场景,以及随机性很高的交通环境,在其软件中都有模型可以调用,如果车辆仿真软件能够和此类交通仿真软件联合仿真,那么则可以结合两者的优势,进行互补。目前,CarMaker可以和PTV Vissim进行联合仿真,PTV Vissim是行业内知名的交通仿真软件。
3)路采
路采交通和路采道路有些类似,也是利用传感器的解决方案实现对交通障碍物的采集。原理和上面介绍的道路采集类似。
驾驶员
驾驶员模型在虚拟仿真测试中也是一个非常重要的要素,人与人的差异性导致每个人的驾驶行为和习惯都是不一样的,由于驾驶员的差异导致每个人在遇到相同的情况时,都可能采取不同的应对状况。驾驶员的风格也需要被模型化,最简单的分类,我们可以将驾驶员分为普通驾驶员、保守驾驶员和激进驾驶员。例如,在前方200米红绿灯已经变红的情况下,这几种不同的驾驶员风格执行的策略也是完全不同的,保守驾驶员可能已经开始收油门,慢慢的溜到红绿灯排队末尾;而激进驾驶员则可能还在踩油门,直到快要接近排队末尾才猛踩制动。
可以想象,这几种驾驶员对于动力系统测试的技术人员来说,无疑是很有吸引力的,因为这几种驾驶员开出来的油耗和里程肯定是不一样的,这在当下逐渐推开的真实驾驶排放测试(RDE)来说格外重要。当然,对于高级驾驶辅助程序而言,不同的驾驶员输入也是需要验证的。
环境
环境模型包括:大气阻尼(温度、湿度、气压),降雨、降雪等情况,这些都可能对仿真的各个子系统产生影响,也是需要建模考虑的。在仿真软件中,也是有入口可以配置这些参数的。
虚拟仿真技术的应用
虚拟仿真技术在汽车开发过程中的应用,在此笔者将按照汽车部件系统来进行分类讲解。
无人驾驶、高级驾驶辅助
主要可以分为以下两类比较大的应用:
1)控制器闭环验证
控制器闭环验证,主要包含无人驾驶、高级驾驶辅助所涉及到的各类控制器的测试验证。通过搭载在虚拟样车上的传感器感知周围的交通环境,为控制器输入目标列表,经控制器处理输出控制指令返回各执行机构。此类验证的闭环关键在于如何将传感器数据喂给待测控制器。
传感器的数据输入又可以分为至少三类,分别是,总线注入、传感器在环和传感器拟真,这个将在以后的文章详细阐述,在此不表。
控制器闭环验证主要是OEM的关注点,控制器主要是OEM自研的居多,而传感器的数据本身对于OEM来说就是一个黑盒,其技术细节都掌握在Tier1手中。

2)传感器感知
而对于Tier1/2或者部分OEM来说,不仅仅需要在控制器闭环验证,还需要做传感器感知。前面提到的仿真软件给目标列表是直接跳过了感知模块,用户可以基于应用搭载各类理想传感器或者高精度的传感器。但这类传感器给出的是已经感知的目标,这些目标列表对于控制器而言是输入,而对于感知模块来说则是输出。
如果客户是要验证自己的感知模块,那么这些目标列表将不再适用,需要有原始数据供其使用。拿图像而言,需要输入视频流信号供用户验证图像识别处理算法。那么对于这类用户而言,仿真软件还需要能够提供此类原始数据,包括激光雷达的点云数据,毫米波雷达的电磁波收发信号等。
车辆动力学
在车辆动力学领域,又主要分类以下三类主要应用,如图8所示:

1)转向系统开发
包括转向路感、EPS的测试和标定,主客观评价、虚拟法规认证和虚拟对标等。
值得说明的是,在HIL测试验证阶段可以将分别将单EPS ECU,EPS+执行机构,或整个转向系纳入闭环中,可以实现功能验证和性能标定,还可以进行故障注入测试。
虚拟法规认证是目前在欧洲已经执行的,通过虚拟仿真测试法规认证机构就可以为厂商颁发法规认证证书。主要手段是首先将实车整车与虚拟样车做一轮对标测试,确保虚拟样车的模型精度达到法规认证机构的认可,随后通过此经验证的虚拟样车进行的仿真测试结果也将受到认证机构的认可。
2)底盘控制系统开发
包括制动系统和主动安全,ESP的测试和标定,主客观评价,虚拟法规认证和虚拟对标等。
3)悬架系统开发设计
包括悬架优化、平顺性评价,主客观评价,虚拟法规认证和虚拟对标等。
动力系统
主要包括以下三大类:
1)能效和性能优化:里程和油耗,真实驾驶排放(RDE),发动机热管理
2)ECU标定
3)可预测能量管理或者电子地平线验证
4)耐久,系统集成测试
值得注意的是,现有的解决方案已经可以实现虚拟仿真软件与动力系统台架(测功机,转毂台架)联合应用,这可以看成一个大型的HIL,或者叫动力系统在环,可以在实验室内进行整个动力系统的在环测试。
此应用在真实驾驶排放中有很大的用处。区别于传统的NEDC, WLTC测试,RDE更注重的是车辆在真实世界的排放数据,测试道路还需要包括乡村道路、城市道路和高速道路的结合,以及不同驾驶风格对排放的影响。这在传统的台架解决方案中是无法满足的,但是结合了虚拟仿真软件之后,就能将台架与场景相结合,再加上先进的驾驶员模型,感觉就是为RDE量身定制的一种解决方案。
当然,在此基础上,还可以集成底盘域和智能驾驶域的应用,实现静态的车辆在环(VIL)

后语
随着计算机仿真技术的发展,还可以在MIL, SIL阶段,将场景布置在计算机集群(HPC)或者在云上进行大批量算力的并行计算,从而大大提升模型验证的效率,从而大大压缩模型验证周期。同时也为实现尽可能多地覆盖更多的场景提供了可能性,这对于无人驾驶汽车来说无非是至关重要的。
在可见的未来,虚拟仿真技术在汽车开发中的应用将会扮演着越来越重要的角色,这点是毋庸置疑的。因为人类的进步,永远得益于人类的“懒”。
在此,期待未来的虚拟仿真技术的更快发展。