除了道路测试,软件模拟也很重要。
车云按:2017年6月21日-22日,由中国安全产业协会、TIAA车载信息服务产业应用联盟与车云网共同主办的2017年中国安全产业峰会暨首届交通安全产业论坛在北京召开。本文系天欧汽车工程软件(上海)有限公司执行总监黄汉知在会上发表的演讲。黄汉知就基于PreScan仿真的智能驾驶性能开发和测试方法和大家进行了探讨。
天欧汽车工程软件(上海)有限公司执行总监 黄汉知
我今天汇报的题目是基于PreScan模型的智能驾驶系统性能开发和测试的方法。主要这几部分内容,首先有三页,介绍一下我们公司,然后会介绍自动驾驶的背景,第三部分、第四部分是今天技术交流主要的内容。
TASS是一家来自于荷兰的公司,公司规模并不大,但是在自动驾驶的工具化测试方面是一家比较专的公司,我是来自于TASS在中国的公司。公司的产品线,跟供应商不一样,我们不做硬件,三个方面,第一个提供仿真软件,第二个提供实验室第三方服务,第三部分我们会做工程开发和咨询的项目。依托在这方面的工具,构成了自动驾驶开发的方法论。我们的愿景,希望在不久将来全球上市的每一辆汽车都有我们开发的工具。
智能驾驶系统开发与测试的挑战
就像刚才马总说的那个问题,现在自动驾驶ADAS,智能网联这个话题铺天盖地,以谷歌为例,在美国做了非常多的路试,但是不可能穷尽测试工况,要上市就要解决这个矛盾。把这个矛盾细化一下,可以从这几个方面考虑,第一个测试的里程当然很重要,但是经历的工况多少更重要。开了一天,我是希望系统出问题,不是希望系统不出问题,出问题好优化,优化了第二天做了算法具体调试之后希望能够重现,但是在道路上更多是主观测试,缺乏真值:这个目标在什么地方,是什么状态,都不知道;最后有些工况可能很危险,测试的人对这些问题深有体会,这也是开发者的困难挑战。
今天我带来的这个基于模型的方法,目的不是为了取代路试这种方法,而是希望尽量缩短开发的过程,提高产品的性能。这里面核心工具就是这个仿真软件,PreScan支撑我们常见的所有基于摄像头、毫米波雷达、激光雷达这些技术的智能网联汽车功能仿真工具。仿真永远不可能跟真实数据百分百吻合,但有一个巨大优势,可以定制测试工况,能够提供真值,提供大规模工况自动计算评估的手段,可以充分的弥补路试的缺点。
今天既然说PreScan,这个软件对这四个部分分别进行建模仿真:工况,传感器,算法,执行机构。工况这边有元素库,传感器有常见的市面上传感器的框架模型,算法通过Simulink这个平台导入,不管是什么格式的开发工具开发出来的代码,这个也是被开发被测试的对象,这不是PreScan软件提供的。最后是车辆动力学部分,车辆纵向加速减速,横向的运动,通过车辆动力学来描述。
开发和测试方法论:基于模型的仿真方法
进入到开发和测试的方法论介绍,这里面有个论点,之之前中间这条线来说,我个人认为要开发一个自动驾驶的系统,必然要经历软件仿真、硬件在环仿真、车辆在环仿真,再到我们室内的实验室测试,到室外的受控场地的测试,最后再到公共道路大规模的道路测试,这是正向开发方法。正向开发方法每一个阶段都很重要,我们试图用一些案例介绍,这些案例可能不全,但是抛砖引玉,激发大家的思路。
PreScan虚拟仿真SiL
第一个阶段纯软件的仿真,就像马总刚才说的,测试工况对任何一个系统来讲可能是几千个案例,几万个案例,还是几十万个案例,谁的测试工况越多越全,谁的测试就越充分。工况有很多来源。我们做这个项目,工况的来源是欧洲的事故数据GIDAS,路上实际发生伤亡事故发生前5秒,加害者和被害者都做了什么,都是有冲突极具价值的工况,目前有几万起,北欧这家以安全著名的OEM花了这么多精力开发众多的ADAS了系统,究竟对减轻和避免事故有什么好处?就可以通过这种完整的模型计算来回答。
当然GIDAS数据我们是没有,但是PreScan这个软件提供一个转换接口,自动把GIDAS数据转换成虚拟工况模型,做到虚拟测试。在中国是CIDAS,去年北汽用CIDAS事故数据做为测试场景工况,发表了一篇论文,获得中国汽车工程学会安全分会的最佳论文奖。
给大家介绍一下大规模工况的概念,以ACC为例,典型的工况之一就是cut-in,其中有很多变量,我们随便看几个变量组合一下,你就可以发现,一个工况可能延伸出60万变化种,这很显然在路上是很难做到的,但是仿真很容易做到大规模快速的计算。这是这个思路。
另外一个案例我们说评价ACC的性能非常重要的一个参数就是加速减速过程的舒适不舒适,舒适不舒适与什么相关呢?可能与雷达检测的延迟有关系,也可能与算法参数标定有关系,也可能与执行器响应性能关系,也可能与底盘动力学性能有关系,要定量分析,四个参数都要做一个敏感性的分析,这个是路上很难做到的,但是在模型计算中很容易实现。
另外一个案例就是设计光学系统的时候,比如说摄像头,四个范畴的参数,光学、成像、算法、安装位置,要实现好的性能有很多种参数组合,要想找出最优参数组合,通过硬件来评估,费时费力,通过仿真分析更高效。
另外一个新的工具给大家带来叫分割传感器segmentation sensor,做人工智能算法非常重要的一个分支就是做语义分割,把周边的环境、道路、人、车分割出来,这样用它的真值训练你的算法,第二个可以比对你的算法计算结果。这个视频中,我们用PreScan软件自动生成5000多辆不同类型、角度、遮挡等的车的素材库,这个库还提供真值,可以用真值训练,这是它的好处:节省了你采数据和标注的时间,但也有缺点,跟真实世界的真实度存在差异。这是我们TASS上周刚推出的功能,非常希望跟做人工智能的公司一起合作测试。
PreScan硬件在环台架HiL
接下来进入HiL的技术环节。当然摄像头看屏幕这是大家都非常熟悉的HIL方式,技术非常成熟,缺点是受到显示器显示能力的物理局限的限制,非常适合做上层算法开发,不适合做环境感知。我们试图把这个限制克服掉,不要用投影,直接把数字视频发给摄像头ECU图象处理的芯片。这种方案有两个技术要求,第一个要求既然跨过了光学元件和成像元件,那这二者的模型一定要精准,不能有误差,需要用到PreScan的摄像头物理模型。第二个视频转换板是定制的。两个技术难点在这。
这是我们目前即将交付的的HiL项目,我们看到,在车上用了很多摄像头、毫米波雷达、超声波探头、激光扫描雷达,客户的目的是要实现较高级别的自动驾驶。在试验室里,通过HiL硬件在环的方式,要把这些功能都实现。目的是开发控制器里的数据融合、控制决策算法,这相比路测是一个很高效的办法,在办公室就可以实行的开发平台。
PreScan车辆在环台架ViL
另一个ViL车辆在环的项目,我们客户是OEM,在乎的是要有高效的开发工具,高效的测试工具,系统怎么测。比如以前测ACC系统,两个人拿对讲机,一位工程师开ACC的主车,以为工程师开目标车,试图实现想要测试的工况,做一天下来发现大部分工况不是他想要的,因为人很难精准实现,这导了致效率问题。使用ViL台架能够提高效率,这是一段示例视频:这看到这个实验其实是在动态广场,这个是弯道工况,两辆目标车在弯道前端行驶,是非常典型的ACC测试工况,这个系统应该跟随蓝车,但有时候因为雷达的原因,动态判定的原因误跟随了红车,弯道跟随了右侧的红车,蓝车减速的时候没有正常的反应,可以看到最后系统ACC和AEB功能都介入了,但并没有避免碰撞。这个是例子。
室内主动安全试验室VeHIL
我们进入到室内的测试环节,我们在荷兰有一个VeHIL安全实验室,用受控的机器人车辆代表室外的交通参与者,在室内做一些测试,左侧是ACC的工况示意,右侧是VeHIL试验室中如何实现这个工况。他的优点是:工况可以定制,可以是重复的,测试效率高一天可以测几百个。但有一个缺点,被测车不能转向。同时,实验室也可以做雷达目标检测性能的对标,把机器人车的轨迹状态记下来,再把雷达检测结果记下来,一比,就知道雷达检测结果错误、误差在哪儿。
仿真方法的技术难点: 模型的物理化和精度
如上所述,基于仿真的开发方法有很多的优点,能够带来开发和测试的便利,提高自动驾驶和智能网联系统的开发效率。但是,仿真的结果高度依赖于模型的精确度。为了提高模型的质量,我们在其中做了很多工作,稍微举几个例子看看我们做了哪些事情:第一个测试工况不同于游戏效果,不追求视觉的“炫”,而追求对传感器的响应特性。比如说下午逆光对摄像头成像有影响,对路面和车道线的对比度有影响,我们试图去重现。晚上的情况,照明比较复杂,中国人特别喜欢开远光灯,模型中也最大程度的逼近这种效果。毫米波雷达对天气不是特别敏感,但是也有衰减特性。举个例子,在模型中设置不同的天气,都有对毫米波能量的衰减特性在里面。这是环境模型的方面。
传感器模型方面,我们看摄像头传感器。我们知道,基本摄像头模型通过设计参数可以得到基本的模型,实际上还有一个进阶版的模型,从光源、传播路径、目标的纹理材质和反射特性,反射回的光线传播媒介的衰减,再进入光学器件和成像器件,每个环节都需要建模。当然为了建模,所需要的输入参数比较多。从光源的辐射图谱,光源特性,目标的纹理材质和反射特性,再到环境光谱的特性,光学器件的参数,包括MTF、分辨率、畸变等等,再到成像器件:色彩滤波,到后面像素的分布、光电转换,包括AD转换、噪声模型,在这里面一一都可以涵盖到,我不再详细深入到每个细节。
毫米波雷达也是一样,基本的模型可以输出距离、相对速度和角度的误差模型。红色是雷达原安装点,黑色的点是试验检测结果,红色的点是模型的结果,也是有检测性能的模型尽量逼近这个实际的误差特性。除此之外,雷达还有很多缺陷,正检测就不说了,还有漏检测,还有误检测:地面上什么也没有,不存在目标,但雷达报告了目标检出;然后噪声,刚才也说过。目标的散列,一个车被报告出三个目标,还有延迟,因为目标刚进入我的视场,检测方面会有延迟。这些都有分布的模型,在PreScan当中,把这种缺陷性能分布的模型已经集成在里面。
今天我详述PreScan的所有功能,举了一些实际的案例。最后,还是我今天主要的观点,不管是路试的方法还是仿真的方法,都有优点和缺点,需要互相有机的结合,帮助尽量快的开放自动驾驶和智能网联系统。
最后的结论是这样:
从仿真,到硬件在环HiL,再到车辆在环ViL,最后到试验室测试、场地测试、道路路试等各阶段的开发和测试的手段,构成了正向开发的方法;过去都是系统做出来了之后直接上路,测试之后发现还有缺陷,还是要返工,这是一种费时费力的试错方法,希望能够用基于模型的开发方法来取代。这其中核心的工具是PreScan软件,PreScan是一个强大的工具,大家可以试一试。