自动驾驶仿真测试——安全高效测试的必由之路
本文由经纬恒润科技汽车电子前瞻技术负责人张大鹏主讲,主题为《自动驾驶仿真测试-安全高效测试的必由之路》。
1.仿真测试的必要性,为什么在自动驾驶中,需要引入仿真测试这个概念;
2.仿真测试的系统组成;
3.自动驾驶系统的传感器仿真方案;
4.经纬恒润科技的仿真测试案例。
在浏览正文之前,可以带着以下4个问题:
-相比于传统的纵向开发流程,V流程有什么优势?
-在复杂的交通场景中,智能驾驶的控制逻辑是如何的?
-VTD仿真软件给仿真测试带来了哪些便利?
-在智能驾驶系统中,各传感器仿真解决方案是如何交互配合的?
主讲实录
张大鹏:首先给大家做个简短的自我介绍,我是来自恒润科技前瞻技术部的张大鹏,现在就开始我们今天的课程。
对于自动驾驶开发,我们首先要进行算法开发,验证测试的手段是必不可少的,自动驾驶控制系统的功能也非常复杂,怎样高效地进行测试验证,确保开发不断地向前推进,是个非常重要的问题。
我今天讲的内容主要分为四个章节:
第一个是仿真测试的必要性,介绍为什么在做自动驾驶过程中,需要引入仿真测试这个概念;
第二个是仿真测试的系统组成;
第三个是自动驾驶系统的传感器仿真方案;
最后是介绍一下我们公司的仿真测试案例。
自动驾驶系统,其实也是一种汽车电控系统。对于传统的汽车电控系统,大家可能都稍微有些了解,比如像发动机控制器、变速箱的控制系统、车身稳定系统以及助力转向底盘系统,类似的还有车身信息娱乐系统和新能源电控系统,比如说DMS-MCU和MCU等等一系列的监控系统。首先我们来看一下这些电控系统是怎么开发的。
这页PPT是一条时间轴,我们能看到早期电控系统的功能算法还是比较简单的。从上世纪50年代到现在这几十年间,电控系统都是在逐步发展完善的,首先从发动机的控制逐渐演变到底盘的控制,然后到车身信息娱乐的控制,再到ADAS驾驶辅助以及最后到智能驾驶的过程,从对车身的控制逻辑来讲,是从车辆纵向控制到车辆的横向控制的发展。
我们发现在发展的过程中,汽车电控系统的功能越来越复杂,还涉及到之前电控系统的不断迭代和更新。为了保证这种高效的测试,所以就衍生出一些先进的测试理论、方法及流程来确保整个系统开发测试的有效性和高效性。
我们看一下当代汽车电控系统算法的开发测试流程。左边这张图片叫做V流程,包括功能设计、快速控制原型、代码集成与测试、hil测试以及实车标定,这个过程不同于传统的正向开发过程,我们知道传统的正向开发都是先进行算法功能设计与开发,然后同步地进行硬件的算法开发,再把算法集成到整个硬件中,最后再做台架实验和实车标定。
使用传统的正向开发流程会带来一些问题,在试车的时候可能还会发现一些低级错误,因为无论是硬件还是软件上,在正向开发的每个过程都会产生一些bug,如果在前期不进行充分的验证,容易导致最终上车出问题。
实际上,这种V流程的开发模式是一种非常好的办法,在开发算法的时候,我们可以通过plant model(被控对象模型)把算法模型一块集成进去,然后进行MIL仿真和验证,最后再做一下HIL(半实物仿真验证系统)仿真与验证。
首先进行纯软件的MIL算法验证,再进行快速控制原型的半实物仿真验证,这个阶段中验证如果没有太大问题,就可以进入实车标定的阶段,这时实车标定中出现的问题会比较少。
上图的右边是从一篇论文中截取的一张图,在人们做了大量统计后发现,在汽车电控系统开发的过程中,测试验证的时间越早,开发成本越低,验证的时间越晚,开发成本越高。
因此整个V流程的核心思想就是确保在开发早期建立测试验证的手段方法,首先进行仿真测试,然后再进行排架以及实车的标定设施,这样能快速高效地发现问题,加速整个算法的迭代速度和收敛速度,从整体上提高开发效率,降低开发成本。
在上面的开发流程中提到了快速控制原型,是由恒润科技开发的ARCP快速控制原型,用Infineon的TCL99做主处理芯片,功能强大,同时预留了CAN/CAN FD、LIN和ETH等通讯接口、一些基础数字模拟量接口,可满足正常智能驾驶快速控制原型的使用要求,大家可以把算法直接下载到该原型系统,做一些半实物仿真验证,如果没有太多问题就可以做实车验证,这样可以提升整体效率。
在V流程中提到了仿真测试,仿真测试包括纯仿真测试以及半实物仿真测试。首先来看一下仿真测试的基本原理,真实的控制系统由传感器和执行机构作用到真实控制器中去控制整个实车的过程。那么如何进行仿真测试呢?将真实控制器变成算法,其中开发的算法、传感器以及执行机构也可以用一些模型替代,在实车中,会换成一些实时仿真的模型,构成仿真的测试系统。上面这张图只给出半实物仿真测试系统。
上图的右边我们可以看到发动机控制系统、变速箱控制系统、车身稳定系统、电动助力转向系统、电池管理系统以及整车控制器,这些基本都可以用左边这张图以及刚才讲的原理来处理。
举个例子,比如发动机控制系统的传感器中有曲轴和凸轮轴这些转速相位的传感器,它的执行机构有节气门、点火线圈等,控制对象是整个发动机,该发动机是汽车的动力系统,发动机输出扭距作用到传动轴,驱动车辆行驶。
接下来我们看一下智能驾驶汽车电控系统与传统的发动机底盘电控系统有什么区别和共同点。
智能驾驶的控制系统类似于发动机和底盘的控制系统,它将整个发动机底盘的控制系统集成起来,相当于增强了复杂化,同时它的传感器来源是整个交通场景,这一点和传统的电控系统不同。
另外,传感器又包括了摄像头、雷达、GPS定位信号,同时包括了传统控制器所需要的车辆运动学信号。
需要注意的一点是,由于现在智能驾驶系统的发展还不是很成熟,还是在L4包括L4以下的驾驶辅助系统,驾驶员是需要操纵整个车辆的,所以整个驾驶员和无人驾驶控制器之间有交互的过程。
我们发现交通场景与传统的控制器是不同的,仿真需求也是不同的,那么对交通场景仿真有什么样的需求呢?
对于智能驾驶,目标是L4或L5的等级,将来要实现全自动的无人驾驶,而无人驾驶的系统就是要完全替代驾驶员的作用,因此它接收到的传感器信号,包括前方障碍物、车道线、交通标志等,这些信号需要和驾驶员所判别的是类似的。
与此同时,还要注意到,由于车辆是需要开在非常复杂的交通环境中,而这些复杂的交通环境中有行人、车辆以及各种复杂道路,如复杂的立交桥、隧道,这些复杂的环境都需要仿真出来。
目前智能驾驶开发的情况,美国以及北欧比较领先,从一些国外的数据我们可以看到,对于国外来说,也是把这种仿真测试的手段引入到整个智能驾驶开发过程中的,要验证的自动驾驶汽车需要比人类有更好的性能,同时也是需要有非常高的里程数来保证,据统计这个数字是数十亿英里。
仿真测试的意义还有什么呢?仿真测试相对于实车测试更容易,可以使用软件设置复杂的交通场景,同时它的重复性很高,可以重复测试,这样更容易发现与定位问题;另外也可以进行利用实车测试非常困难的极限的工况测试。做智能驾驶某些部分时,使用一些机器学习算法做仿真测试以及算法训练也十分必要,包括HIL测试。
智能驾驶系统还需要和其他的一些控制节点一块联合控制整个车辆,利用仿真测试便于在实验室里实现。
接下来讲一下通用智能驾驶的测试手段方法,仿真测试是重要的手段方法,但它不能完全替代道路测试。
如上图可见仿真测试、封闭场地测试、道路测试的一些优缺点和必要性。对于智能驾驶系统,仿真测试是非常重要的,它的不仅不会带来测试安全问题,测试效率也非常高。
封闭场地测试和道路测试的优点比如封闭场地内测试的安全性高,可进行性能测试标定,这是仿真测试不具备的。另外,道路测试的优点如测试场景丰富,测试验证最终是需要通过道路测试来实现的。
正常开发智能驾驶的测试流程比较高效和科学的一种手段是,先进行仿真测试,再进行封闭场地测试,最后进行道路测试。
而且由于现在智能驾驶系统还很不成熟,因此需要进行大量的仿真测试验证。来自Waymo的报告,我们可以看到这是数十亿英里的仿真测试,以及300多万英里的道路测试。
我们来看一下仿真测试系统的组成。如上框图,首先需要仿真测试平台运行它的车辆模型和场景仿真软件,之后再把智能驾驶控制系统和仿真平台结合起来,利用程序自动化的测试手段对整个系统进行测试,同时仍然需要驾驶员模拟器来进行驾驶员的控制。因此刚才讲到的驾驶员也会参与到现阶段的智能驾驶行为中。
接下来讲讲驾驶员模拟器的主要作用。由于在仿真中是可以有驾驶员模型的,但无法对整个系统进行主观评价;如果有真实的驾驶员去操控车辆,类似于大家玩过的极品飞车游戏,驾驶员加上智能驾驶系统在实验室中做测试,对整个车辆和系统进行评价,同时还可做一些人机切换测试,包括驾驶员自己的行为分析以及交通车辆驾驶员行为的模拟。
右图是驾驶员模拟器的结构,我们做的驾驶员模拟器效果优于游戏中的小型模拟器,我们这种大型模拟器仿真精度比较高,有大型的环屏包括真实车辆的改造,可将真实的转向制动系统集成进去、六自由度的体感,可以使驾驶员产生真实的感觉。
在这样高逼真、高保真度的系统中,驾驶员才有可能做出接近真实车辆操控的行为。
除了驾驶员模型,在仿真过程中需要车辆模型,恒润选择的是高保真度的车辆模型,该车辆模型是基于多体动力学搭建的模型,它实际是上包括了整个的车身悬架、转向、制动、动力系统等真实部件的车辆模型。
使用这些复杂车辆模型,可以保证车辆的仿真精度更高,使被控对象更接近于真实的对象。
同时它还有一个较好的作用是在制作智能驾驶系统开发时可能涉及到一些转向、制动、线控系统开发,这种系统也需要被控对象模型。有了这些被控对象模型后,我们就可以把真实的线控制动、线控转向系统和智能驾驶系统集成到大系统中共同做仿真测试,这样测试的目的和意义主要是为了独立验证整个线控制动系统,同时还可以验证智能驾驶系统与线控系统的交互。
在拿到这种复杂模型之后,还需要对模型进行参数化对标来确保车辆模型的保真度。如果不对整个车辆模型进行参数化对标,那么很难对智能驾驶控制系统包括线控系统构成闭环测试的条件。
上面讲了车辆模型,下面还需要介绍一下场景仿真软件,这个场景仿真软件是与其他监控系统不同虚拟化的工具。
上面也介绍了对场景仿真的一些需求,恒润现在代理一款叫VTD的场景仿真软件,虽然它是在Linux系统运行,但它同时也有一些优势,Linux是一个开放式的系统,大家可以自由地进行一些开发设计,这款软件是非常灵活、高度模块化的软件,对于不同开发的需求都是非常有帮助的。
使用这款工具可以进行MIL\SIL以及各种XL的仿真,同时还可以进行多车在环仿真,也就是可以进行多个智能驾驶控制系统与整个仿真系统集成,验证多个车辆在整个交通系统中的行为,可以大大增加仿真测试的效率。
我们可以看到VTD这款软件它定义的标准是被业界是广泛采用的,尤其是欧洲这些国家,它定义的包括OpenDrive(基于路网结构的道路信息)、OpenCRG(基于复杂道路表面信息)以及OpenSCENARIO(基于道路和交通行为),它已经构成了统一的标准。
接下来看一下VTD这款软件的实际应用,它提供两种道路和交通场景的搭建方式,一种是通过手动搭建道路,手动搭建道路是通过软件编辑器来进行搭建,有丰富的交通标志库和素材库,搭建道路有专门的编辑器,它还提供了基于高清地图导入的功能,可以把地图转化成OpenDrive格式的地图,然后直接导入虚拟场景仿真软件,这样速度就变得非常的快了。
我们看到VTD软件可以进行交通流的生成,包括交通车辆、行人,根据统计学的比例进行生成,这样就不需要手动编辑器逐个添加,可以提升整个场景搭建的速度。
同时它是基于Linux系统的,有着丰富的网络接口,可以和其他的车辆动力学软件进行联合仿真。
除此之外,VTD还提供了高保真度的场景,可以渲染出真实道路颗粒度的图像、动画以及光照,这些对做摄像头的传感器仿真非常有帮助。
恒润可以提供这种交通场景的搭建服务,可以按照客户的需求定制实验场园区、城市高速公路以及乡村道路的场景,再把它整合在一起提供给有需求的整车厂或者供应商。
介绍完仿真的一些基本部件,来看传感器仿真是怎样实现的。对于智能驾驶仿真系统,传感器仿真也非常重要,在HIL流程图中有传感器和执行器,而智能驾驶系统的传感器比较特殊,不同于其他的转向制动系统,它包括动力系统的一些传感器。
在讲传感器之前,首先看一下智能驾驶系统是怎么工作的,上图是智能驾驶算法的基本框图,其中传感器种类有很多,包括摄像头、毫米波雷达、超声波雷达、激光雷达以及需要定位的DGPS+IMU传感器以及高精度地图,这些传感器能是用来检测周围的一些交通场景,比如车辆和行人,也可以进行路径规划和定位,确认车辆在道路中的位置,再结合检测出来的可行驶区域,进行局部的路径规划,最后进行控制整个车辆动力制动转向系统。
把上面的逻辑框图画成如图这张表以及流程图,可以发现对于智能驾驶传感器仿真实际上可以分为不同层级,这主要取决于客户的需求以及实际使用的情况。
智能驾驶系统,首先通过传感器采集信号,这些信号通过处理和融合之后,再传输到决策层,最后传输到整个执行机构。从仿真的角度来讲,可以从三个不同的层级仿真,第一个是物理信号仿真,第二个是原始信号进行仿真,第三个是传感器目标进行仿真。
物理信号仿真,就是直接仿真传感器接收到的信号,如摄像头:直接仿真摄像头检测到的光学信号;雷达:直接仿真声波和电磁波信号。
原始信号仿真,是把传感器探测的单元拆掉,因为控制电控嵌入式系统中有专门的数字处理芯片,可以直接仿真数字处理芯片的输入单元。
最后一层传感器目标仿真。做传感器感知和决策如果是分为两个不同层级的芯片来做,那么可以将传感器检测的理想目标直接仿真到决策层算法输入端。
这种目标级输入信号一般是CAN总线输入信号或者其他通讯协议格式输入信号。
如下表,摄像头的物理信号仿真是通过视频暗箱来实现,原始信号仿真是通过视频注入来实现,传感器目标仿真是通过CAN总线来实现;毫米波雷达可以用毫米波雷达模拟器进行物理信号的仿真,通过CAN总线进行传感器目标的仿真;而激光雷达中,物理信号仿真还没有解决方案,可以通过点云信号来进行原始信号的仿真,通过CAN总线信号进行目标仿真;超声波雷达有相应的超声波雷达仿真盒进行物理信号的仿真,CAN总线信号进行传感器目标仿真。
高精地图可以通CAN或者Ethernet协议来仿真;差分GPS和IMU可以通过串口通讯来仿真。
最后是关于车联网相关部件V2X,由于目前V2X还有一些技术上的问题没有完全解决,因此现在用的人并不是很多,都处于研发阶段,我们也提供了相当于物理信号仿真的手段,比如使用无线信道模拟器来直接仿真这种射频信号,在此不再展开讲解。
接下来看毫米波雷达的物理级仿真方案。恒润开发了毫米波雷达模拟器,已经向客户提供过。这是一套高精密仪器,因为光的电子波传输速度非常快,需要先通过接收探头检测雷达的发射探测波,然后经过物理处理,再加上仿真模型把障碍物信息叠加到所需要监测接收到的回波,由于雷达发射接收一次都非常快,因此这个系统相对来说也是比较复杂的。同时图中可以看到毫米波雷达可以模拟多个方向的目标,模拟多方向的目标实际上是通过多个转盘来进行仿真模拟,也就是仿真不同方向的空间相位的反射。
摄像头是通过视频黑箱拍摄的解决方案来实现的,通过摄像头直接对着显示器进行拍摄仿真出来的交通场景仿真动画作为摄像头的输入,摄像头中的内部算法会根据动画来识别障碍车和行人。
这种暗箱适用性好,可以多自由度进行调节,适用于多款不同焦距的单目摄像头。
超声波的仿真方案和毫米波类似,装超声波探头进行回波,把检测到的超声波信号再利用模型计算出反射时间,再给到超声波这个回波,同时可支持多个超声波传感器,这样就可以做自主泊车、半自主泊车等测试。另外,在做智能驾驶测试中对超声波雷达也有一些需要。
接下来探讨摄像头视频注入仿真方案,这个方案实际上是把传感器的探头和摄像头的镜头拿掉,直接把仿真的数据注入到图像处理芯片中去进行仿真。它的仿真优点在于可以模拟不同的镜头仿真,包括了单目摄像头、三目摄像头、多目摄像头、鱼眼摄像头。由于多目摄像头和鱼眼摄像头畸变比较大、视场角比较大,因此是很难通过视频暗箱进行仿真的。
接下来看激光点云的仿真方案。对于激光点云,没办法进行物理仿真,但是可以把仿真检测出来的点云信号给到点云信息处理算法的前面去,可以通过交通产品仿真软件生成出不同的点云效果,包括16线、64线,同时还可以定制不同厂家、不同线的激光雷达点云信号。
传感器目标仿真也非常重要,它是在最后目标级,我们可以直接去模拟最后的CAN总线信号,比如采用总线仿真直接给到决策算法中,对要做决策算法开发的供应商,这个也是非常必要的,也非常灵活,比如可以对开发毫米波、摄像头这些检测出来的目标级信号的格式进行一些更改和对标,相当于对传感器通讯信号进行二次开发,再给到决策算法前,这样就可以做智能驾驶决策算法的测试了。
最后介绍一下恒润科技的团队和案例,大家都知道这是一家汽车电子公司,实际上,恒润科技做仿真业务已有很多年,专门为整车厂提供半实物仿真测试解决方案。
其中包括各种车身和各种系统,包括动力系统、新能源、底盘、车身、驾驶辅助以及娱乐系统和智能驾驶系统,甚至把这些系统集成起来,构成整部虚拟车辆的仿真平台。做过的车型包括乘用车、商用车等各种不同的车型。
上图可以看到恒润科技的半实物仿真案例在逐渐增长,这两年发展非常迅猛,尤其是在新能源和智能驾驶技术创新开发的热潮中。
我们有庞大的队伍来支持整个仿真测试,其中包括驻地工程师团队,从整个业务划分的角度来讲,我们也是模块化划分,分别由模型团队、硬件团队、软件团队以及测试团队来维持整个业务的发展。做过的项目案例也很多,从整车意义的电控系统来讲,都有涉猎。
上图是我们已交付的ADAS项目案例,正在进行的项目更多,恒润科技基于自主开发的单目摄像头做的测试验证,同时基于MobileEyes的系统和基于wabco的毫米波雷达控制器做出来的雷达模拟系统,目前这些都已交付给客户,并已经进行测试验证。
现在同时进行这种项目的客户群有很多,我们发现有传统的整车厂以及一些新兴的整车厂,比如蔚来汽车、车和家以及小鹏汽车都是新兴整车厂,并且立志于做智能驾驶开发,也有一些传统的整车厂在做前瞻技术和智能驾驶开发,这些项目目前也都在开展中。
今天的讲解就到这里,感谢大家的聆听。
提问环节
提问一
高斌-晶众交通-项目经理
1、自动驾驶测试如何有效规避突发应急事件(人或物)?
2、仿真场景搭建需要准备哪些工作,可否举例说明。
张大鹏:首先第一个问题,如果做仿真测试没有问题,因为仿真测试非常安全不会考虑规避突发事件这种问题,先做仿真测试没问题再上路测试,危险系数就少很多;上路一定要考虑安全问题,如果不能确保算法万无一失,建议把算法参数调的更保守一些。
第二个问题,首先要考虑算法的复杂程度,如果只是L3以下的算法,比如ACC、AEB这些算法,那么搭建的场景只需考虑ACC、AEB的常规场景,如果做智能驾驶测试开发,一定要考虑到更复杂的场景,场景搭建需要考虑到方方面面。
提问二
何艾阳-四维图新-测试工程师
整个系统能不能个性化定制传感器类型,毕竟每家的传感器方案都不一样。
张大鹏:考虑到要开发的智能驾驶系统的等级、功能、传感器不同,选取不同供应商产品也会有差异,所以我们HIL系统是定制化系统,它不是一种标准性的产品,是定制化的系统,考虑到不同客户的使用,我在课程中讲了很多传感器的仿真方式,实际上,我们是把它们以不同方式组合起来,另外需要考虑到,即使是同样的产品进行仿真也会有区别。
提问三
展竹义-众泰研究院-主管工程师
仿真能否覆盖所有道路工况,对控制策略、算法开发的指导意义体现在哪些方面?
张大鹏:仿真测试并不能完全替代路试,是因为它模型保真度的问题。但是对控制策略算法开发的指导意义在于:使用了仿真测试,能排除算法开发中的一些bug,可以进行功能测试验证,还可以验证功能算法到底对不对,至于算法好不好,好到什么程度,还需要进行道路的标定。
提问四
邢鑫-美国V&O汽车-CEO
仿真测试与实际路测的差异在哪里,占比多大?
张大鹏:首先对不同的电控系统仿真测试和实际路测的占比是不一样的,以智能驾驶角度来讲,Waymo的报告是数十亿英里的仿真测试和350万英里的道路测试,这说明一定的道路测试即350万英里道路测试不可能覆盖数十亿英里的仿真测试,因为很多道路都是比较平坦的没什么危险工况,所以道路测试只是最终验证手段;而说仿真测试,由于智能驾驶系统安全性首要的,且场景复杂程度非常大,所以首先要进行非常的大量仿真测试。通过仿真测试,可设计出非常复杂的交通场景和工况,比实际路测实现起来容易的多。在实践路测发现的问题,也可以拿回仿真测试继续进行验证,具体占比可以参考Waymo的报告。
提问五
王赞-华晨-测试工程师
零部件供应商和主机厂对于ADAS测试的区别?
张大鹏:主机厂首先关注车卖得好不好、做的有没有差异性,它需要解决的是整个ADAS系统、整个车辆结合的好不好的问题。比如ADAS系统会和其他动力系统、制动系统、转向系统进行通讯,这整个架构好不好、功能有没有问题,对于整车厂,更多是需要关注把整个ADAS系统,包括其它的电控系统集成在一起,一块进行测试验证。而对于零部件供应商,主要是要开发,需要对ADAS系统测试的这个功能进行验证,确保功能没有问题。整车厂如果也要开发ADAS控制系统,类似扮演零部件供应商的角色,那他必须要保证ADAS系统各种功能,也得保证整车性能。
提问六:
庞亚娜-同力重工-线控化工程师
1.对于全封闭和半封闭场景下的无人驾驶车辆,对于仿真系统需求是否迫切?是否所有无人驾驶车辆都需要模拟场景测试,实地测试风险如果不考虑人的影响,风险主要在哪方面?
2.传感器的测试是否可以在场地中进行,而非模拟场景测试?
张大鹏:1.对于全封闭场景测试的优点是保真度非常高,但是目前的场地还是比较小,所以并不能实现出很多场景的测试。所以如果真的验证这种智能驾驶,比如L4及以上等级的智能驾驶,仿真是非常必要的。实车测试风险不止对人还有对车的风险,可能会在测试中撞坏车、车内测试人员、道路交通设施、行人、行车等;算法一旦出现小错误或不完善的地方都会造成极大的风险。
2.传感器测试既要在场地中测试也要在模拟场景中测试,通过模拟测试更新代码会更快速,在场地测试也很必要,因为需要匹配传感器的检测元件的一些参数。
最新资讯
-
厂商要多努力,才能让用户听起来毫不费力?
2024-11-22 17:10
-
TOP30!海克斯康入选2024福布斯中国数字科
2024-11-22 15:25
-
揭秘国产装备制造厂商的成功秘籍:好耐电子
2024-11-22 15:24
-
一文详解安全分析方法STPA:以自动紧急制动
2024-11-22 15:20
-
选对涉氢压力表:守护涉氢场所安全的关键一
2024-11-22 15:19