多瑙知识论坛第一期视频和文稿

多瑙知识论坛第一期:自动驾驶专题讲座,视频和文稿。

本讲座内容版权归讲座作者和奥中科技交流协会所有,转载请注明出处。

自动驾驶硬件的发展趋势

主讲人:周轶博士

周轶博从2010年起一直从事自动驾驶的研发和管理工作,曾以项目第一技术负责人的身份,引导了中国第一个L3项目的量产开发项目。

 

从宏观上介绍自动驾驶硬件的一些发展趋势,包括一些架构的发展趋势。

SAE自动驾驶级别

自动驾驶的定义是由 SAESociety of Automotive Engineers)来定义的,总共分为6个不同的级别,实际上应该分为辅助和自动两个部分。

 L1L2级别是辅助驾驶,最大的区别是驾驶员应该负责系统的控制,辅助驾驶系统只是帮助驾驶员更好的、更安全、更舒适的完成一个驾驶,包括横向纵向和警告的控制。

L3以上才是真正的自动驾驶。L3L4最大的区别就是L3涉及到一个驾驶员的接管要求, L4就没有驾驶员的接管要求。

一个很大的分水岭就是从L2L3,因为 L3以上是汽车自动驾驶,那么就涉及到一个冗余的控制。如果没有冗余的话,安全性都不会得到保证。

所以从L2L3的变化就会造成硬件的巨大的变化,包括软件整个架构的巨大的变化,从L3L4,实际上硬件软件差别并不大。

2018年奥迪推出L3,到最后失败退出,近来的发展趋势是很多公司直接做L4,因为成本几乎是一样的。

车厂产品三大块

对车厂来说,我们更希望根据架构和硬件成本来考虑,到底需要哪些范围的车。实际上这里我大概归纳总结实际上有三块,车厂考虑到底要推出什么样的车,它的价格的区别是怎么样的。

L0L2级别的辅助驾驶,要求可以帮助驾驶员更安全、更出色的驾驶。在这个级别上,除了对驾驶的辅助以外,也要考虑到一些法规的要求(NCAPGeneral Safety Regulation)。车厂会把整体把这一块共享到一个品牌,也就是辅助驾驶从L0~L2。这里列举了一些比较基本的功能:ACCEB、辅助停车、死角雷达,基本上每家都有这个东西。对车厂来说可以做两件工作:让系统更稳定,降低价格。

L3L4级别是这种自动驾驶,除了L3有一个驾驶员的接管要求,在整个驾驶过程中,车辆是来负责驾驶。如果有什么事情,车辆要考虑到应该怎么处理。整个系统都会比较复杂,所以要求的传感器会更越来越多。最核心的就是Redundancy,一定要有一个冗余系统。一旦有一个传感器失效,或者有一个计算平台失效,是那么必须同时有另外一个新的平台进行接管。L3L4级别的车实际上已经在面试的路上了,奥迪失败了,但是本田202012月份拿到了日本的交通局的许可证,所以本田成为了第一个实现L3级别智能驾驶的OEM车厂。对于车厂来说最重要的工作点是法规的要求,需要政府相应的法规给的允许

我们再回头看看L2+SAE并没有定义,L2+是一个主动和被动产生的产物。大家对自动驾驶的要求越来越高,对自动驾驶的性能要求越高,所以必须有一个自动驾驶的功能被推出。L2+的好处是最终还是驾驶员进行负责,所以说 L2+就不用考虑到系统的冗余,探测精度要求没有那么高。你去只需要考虑99.9%的情况,但不用考虑剩下的0.1%,因为最终是驾驶员负责。所以L2+成为一个这两年的超级明星,所有车厂都想推出L2+。特斯拉是第一个推出L2+项目的车厂。特斯拉也是第一个实现,除了在高速上,也在城市道路上实现L2+功能的车厂。所以要记住这两个核心,第一个是hands off 就是人可以脱手,所以叫L2+。但是因为是Driver Response,所以还是L2

因为这些核心要求的区别,造成了硬件的变化,以及后来会对软件产生的影响。

L2+来说,车厂最主要工作的重点是它的AvailabilitySafetyRobustness。可以提供L2+的更多使用场景,比如说在高速上、在国道上、或者是在城市道路上。毕竟L2+也是属于部分自动驾驶,所以说对于车厂来说,我们一定要提高整个探测的精度。包括各种情况的车身的一个反应的速度和反应的决策的正确性。还有一点,我们必须要对驾驶员进行一个行为监测,因为很容易会造成消费者滥用L2+,把L2+L3混为一谈,认为可以完全不管不顾。

从宏观上再一次强调什么叫自动驾驶:实际上每次我们讨论自动驾驶的时候,大家都可以始终把车和人进行一个比较,人做驾驶员实际上是三部分:感知,定位,决策。对于自动驾驶来说,感知是由雷达,由传感器加地图来进行感知加定位的。决策是由于算法来进行决策,当然的算法的所基于的硬件平台。控制就是发出加减速度信号转向信号。实际上从本质来说并没有太大的区别。所以说我们人类驾驶所遇到的问题,我们的优点和缺点,在自动驾驶的硬件上都应该得到一个体验。如果做好一个更好的自动驾驶的话,那么相当于纵向是硬件的感知和运算所要提供的东西,就应该弥补人员的不足。比如说距离,比如说反应速度,那么就要在这种设计理念上,我们才能提供一个更好的自动驾驶。

传感器

首先谈谈自动驾驶的传感器,自动驾驶的核心就是感知:超声波雷达、毫米波雷达、激光雷达和摄像头。

从宏观的看传感器的区别,实际上传感器从本身来说并没有本质的区别。可能从本质上考虑有主动传感器和被动传感器之分,但是每一个传感器都有它自己的定位,都有它自己的功能。

自动驾驶应当考虑,从宏观上怎么样把这些传感器全部融合起来,在一个性价比、性能、安全,做一个比较好的配合。

从技术上来讨论的话,超声波雷达、毫米波雷达和激光雷达的本质区别,就是频率区别,因为频率会造成带宽的区别,频率会造成波长的区别,也会造成信息量的区别,同时也会造成硬件的区别。如果考虑这三种雷达的话,基本上它会分三大部件,发生器、接收器和处理器,因为频率的提升,那么就会造成硬件的成本提高。因为带宽的提升就会造成处理的难度的提高,那么同样会造成软硬件的要求的提高。

摄像头是被动传感器,因为它使用的带宽很宽,很难对发送信号进行一些编码。但是摄像头它的优势,因为它是被动接收,所以不涉及到一个主动发射的行为。

因为不管是激光雷达也好,毫米波雷达也好,都受到很多法规的要求,因为特别是雷达来说,你是无线电信号,会对周围进行一些干扰。

如果看硬件发展趋势的话,现在我们涵盖了低频段、中频端,也许在未来会有一些传感器会涵盖更高频率的范围,或者产生一些主动的摄像头,就是有发射信号的摄像头,或者涵盖一些不同的波段。因为不同的波段除了带宽和频率的话,也会涉及到对大气的影响,对环境的影响,对宇宙射线的影响。

所以也许以后会在新的传感器,但目前来说这4款传感器都是有存在的必要,有存在的价值。

雷达的硬件,主动传感器分为:发送,接收和处理。雷达的发展最主要的要求在以下方面的性能的提高:包括距离、速度水平角度,垂直角度,目标探测,竞争目标探测,其他功能。

以下列举的是一些欧洲的比较强的几个供应商(见录像)。当然中国的本土供应商也会在慢慢的起步之中,只是我个人认为雷达的的技术壁垒还是有一定的偏高,可能除了华为一家以外,没有一家可以超过国外的一些传统供应商。

摄像头部分的的发展方向主要是接收和处理两方向。对摄像头来说,对于神经网络的学习要求会越来越高。在摄像头的方面,发展最大的趋势是越来越多的图像处理部分会被移到中央预算平台来进行处理。目前和未来的发展趋势,把整个传感器做成一个单独的摄像头,然后通过信号连接,把处理部分放在中央预算平台上面。要配合提高它的精度,同时要配合它的动态范围。摄像头主要的供应商主要是两大阵营,第一个是Mobileye,还有一些单打独斗的厂商(见录像)。在这一块,中国供应商有很好的优势,因为摄像头不存在很高频芯片的一些技术壁垒。

摄像头的单目和双目的区别,这个可能我们在以后的讨论中可以介绍,到底单目是正确的方案,还是双目是正确的方案。

还有其他一些硬件,比如包括激光雷达,驾驶员检测、地图等等。

 

ADSECU

ADSECU(Electronic control unit)可能是整个自动驾驶越到后来越核心的部分。它的发展趋势无非提高算力、增加内存、中心化、集成化。集成化这点我想说两句,未来自动驾驶可能芯片集成会变得越来越重要。目前所有的知名的芯片厂商都开始进行这一块(见录像)。每一家的芯片都有自己的设计理念。很难满足每一家的需求,所以你也可以看到发展趋势,芯片厂商会越来越多的和直接跟车厂合作,直接为车厂定制他们所需要的芯片。特斯拉做第一个吃螃蟹的,抛弃掉所有的传统芯片,自己做芯片。因为只有当你自己能定制芯片的时候,你才能控制我需要多少算力给GPU、给CPU或者给神经网络。

华为的MDC300600已经可以打败大部分的国际的竞争对手了,所以中国是非常有优势的。当然就光有好的硬件价格也不行,也需要很更好的软件架构来满足这些要求,包括软件的算法,包括软件的架构,整个网络。

总结

L2级别,L2+级别到L3L4级别到底需要哪些传感器,哪些ECU,为什么?

L2基本上需要五雷达加一摄像头方案。为什么?探测实际上是分为三个区域的:前项区域,后向区域和侧向区域,所以只有当我们可以探测这5个区域以后,我们才能完成自动驾驶,所以说做自动驾驶到L2级以后,我们需要4个小雷达,一个前置摄像头,一个前置雷达,那么基本上可以满足你所有的要求。当然当雷达和摄像头多了以后,我们需要一个ECU来做目标融合来做决策。如果说你的摄像头或者雷达的芯片够强大的话,你也可以把所有的运算工作全部集成到传感器上,这样的话可以节约很多成本,但是基本上都有一个ECU存在。

L2+级别,最主要的区别是你需要一个驾驶员监测系统,防止我们的驾驶员滥用L2+,把它当做L3。需要一个地图,因为功能不是对所有的路段都可以使用的,所以只有当地图告诉你,你在哪,是否满足我的可控的范围内,才会激活系统,不然的话系统是无法激活的。

L3级别以后,整个系统就变得复杂了很多了。基本上你可以把L3考虑成两个L2+加在一起。对L3级别说,要保证中央处理是有冗余的,所以每个主ECU和一个冗余ECU,我们的探测是要冗余的。所以我们需要前方除了L2+需要的前置雷达、前置摄像头、前置角雷达,我们需要第二套雷达、第二套摄像头。特别重要一点是,需要一个激光传感器,因为L3级别要考虑的不是99.9%,而是99.999%

没有激光传感器完全没法实现的,比如说突然路面上出现一个没有见过的东西,一个很小的障碍物,传统的摄像头是很难识别的,必须有激光提供这样的高精度能够帮助你做决策,然后对环境的探测,也只有激光雷达能给你一个非常高清晰的目标环境。

除了以上探测器的冗余以外,前项探测冗余,后项探测冗余,也包括双电源,双刹车和双转向,所以整个L3的系统是呈指数级别的提高的。如果花这么多精力做L3的话,倒不如直接上个L4,因为所需要硬件差别并不大。

这里当然需要强调的是 main ECUbackup ECU,它们并不一定是要两个不同的硬件,可以在一个硬件上实现,甚至在一个芯片上实现。

驾驭这么大一个系统,失效的概率是提高非常快的,如果有一点失效的话,系统该怎么处理?怎么样做合理的失效处理,是自动驾驶最难做的难点所在。

还有一些架构:

EMC,要考虑到包括它们之间的互相影响,低频的影响、高频影响,特别是4g5g信号普及率越高,怎么样解决EMC问题?怎么样解决功耗的问题?功耗带来的发热问题。集成问题。还有cleaning的问题。特别是对激光对摄像头来说,怎么样保证它的表面清洁。然后因为传感器的提高怎么会跟设计的冲突?重量要求,因为涉及到碳排放,公共安全法规和安全,加起来整个这样自动驾驶的硬件发展是越来越复杂的。只有大家可以从宏观上把问题考虑好,自动驾驶才有希望,才能走出一个比更合理的产业化的过程。

 

 

车载激光雷达:从原理到应用

李铀博士2013年底与法国贝尔福门贝利亚技术大学完成自动驾驶感知系统方向的博士课题。2014年起曾先后在法国国家科学研究中心与荷兰应用科学研究,组织从事野外机器人以及自动驾驶的研发。2016年底开始,担任Robortax项目感知系统负责人,主要同时工作方向为高等级自动驾驶感知,系统研发参与并负责多项法国与欧盟科研项目。

 

非常感谢刚刚周轶博士从宏观上就介绍了整个自动驾驶从L2L3,从传感器到整个系统的架构,包括一些设计上考虑,那么接下来我的报告,主要是比较瞄准一些微观的,尤其是激光雷达单一传感器的一些介绍,那么主要是介绍激光雷达的原理,它的物理的原理,它有很多不同的技术路径。然后最后我会再提到一下激光雷达在自动驾驶上的一些应用。

激光雷达的组成部分

激光雷达传感器,就像刚刚周轶说的,其实和摄像头、毫米波雷达是大同小异的。主动也好、被动也好,都是接收一些外界的信号。激光雷达从实质上本身来说的话,由这两个部分构成:

第一个部分我们叫做 laser range finder,就是一个激光测距的单元。激光设计单元最简单的一个形态,比如说超市你们都可以买得到的博世的激光的测距仪。比如说在进行家里面装修,你点一下仪器,它会发射一个激光出去,然后接收到回波它可以测量距离。激光雷达其实就是由这种激光测距仪演变出来的。

一个激光测距仪,再加上一个所谓的 laser steering system,中文翻译就是一个转向的装置。因为我激光测距单元只能测量单点的距离信息,如果我要得到一个有空间上的距离信息的话,我就需要不停的转向或者移动激光测距单元。那么通过转动激光测距单元,我就可以获得一个面或一个空间的具体信息,那么把这两个结合在一起,其实就是得到了我们的一个LiDAR system,得到一个激光雷达的系统。

系统的详细的原理图,我们可以看一下下图(见录像)。在大蓝色圈里面,是一个激光设计单元,它是由一个发射器,通过一些光学的结构发射出去,然后通过光学的镜头又接收回来,会有一个 Photo-detector是一个光电的转换器或者说是一个接收器,能把它变成电信号。之后再由我们信号处理单元去计算,比较收到的信号和发送的信号之间的异同,然后能够求得该激光反射回波的距离。

这样的一个激光的测距仪和和我们 laser steerings ystem移动的转向系统相结合,我们就可以从单点就变成一个point cloud,变成一个点云,就可以获得空间上的信息。在激光测距单元系统里面,主要构成的成分是一个激光的光源,还有不同的波长,有不同的技术指标,我们待会会简单介绍一下。

另外一个就是光学系统,由透镜构成。

第三个很重要的部件就是 photo detector,光电的接收器。光电的接收器负责将光信号转化成电信号,对应不同波长的激光,会有不同的光电转换器。在激光雷达的发展的技术路径当中,光电的接收器也是一个非常重要的区分不同技术路线的指标。

第三个就是信号处理单元。信号处理的单元是根据测距原理来分的。我们测距原理主要有两种:一种是time of flight,就是所谓的飞行式之间测距法,是最简单的测距方法。另外一种,有点像毫米波雷达,连续波调频方法,通过分析相位或者波频率的envelope信号,能够得到距离以及速度。信号处理的单元根据测距不同的原理,会有不同的这样信号处理方法。

激光雷达的分类

关于激光雷达的分类,首先从激光光源上主要可以分为905纳米的激光雷达与1550纳米激光雷达。

905是近红外的激光雷达。1550就会伸展到了 short wave infrared就是短波红外的频谱。还有一个所谓的 VCSEL是属于以垂直墙面激光发生器,这也是一种比较特殊,但是最近非常流行的激光发生的装置。

那么在 photo detector就是所谓的光电转换器上,那么主要的区别是雪崩光电二极管apd,然后以及单光子spad的区别。

通过测距原理,通过飞行时间、还是通过调频连续波来测距,是区分激光雷达的一个比较重要的指标。

固态激光雷达厂家,技术区分主要的是从 steering system,就是怎么扫描平面的方法来区分的。最初也是最原始是机械式的扫描,还有一些厂家在做 mems,就是一个非常微小的阵镜的扫描方式。以及 flash,相当于所有的激光都是在同时间打出去,然后同时间收回来这样一种方式。以及最后一种是opa,但是我今天可能不会提到 opa的方式,因为 opa的技术路径难度是非常大的,而且opa的代表厂家最近这几年可能是处于被大家质疑的这么一个状态。

 

那么我们首先介绍一下激光雷达的测距原理,飞行时间测距法是最简单也是最常见的激光雷达的扫描方式。它的原理是通过一个脉冲激光枪,打在了一个障碍物的身上,然后通过透镜收回激光的反射波。通过激光的光电传感器能够接收到这个信号,我们通过比较你发射时间的状态和接收到的时间,有一个时间差,通过光束这些尾常量就可以判断出这个物体。它的技术上的要求,主要是一个时间的同步,还有在模数转化器中,能够算出多少的这种时间差的精度,因为光速是非常快的。在一个七八米的距离之内,要能够算出时间差,对于信号处理的能力要求是比较高,所以这是方面是一个难点。

第二个是 frequency modulated continous wave并不是一个非常主流车载激光雷达方案。在其他激光雷达市场上,它已经存在了很多年。我们知道光的波粒二象性。光可以把它当做是一种电磁波,所以说就可以应用雷达类似的技术。我们发射一个连续波激光,比如说前面这边有一幅图,那么这条曲线其实就是一个已经调频了的激光。在这个时间点上,它有一个能量非常大的脉冲打出去,然后再接收回来,那么调频的连续波它的功率是一个恒定的,就像电磁波一样,它在频率上进行了调制,在接收回波时候,频率会发生一个变化。那么我们将接收波与发射波与接收波进行一个混合,得到一个混合后的信号,然后通过分析混合后信号的包络,以及信号的特征,我们可以算出物体的距离。更重要的是,它可以算出物体的和运动速度。因为我们知道都有一些在 microwave里面有一个多普勒的效应。当一个消防车快速逼近你的时候,你会听到消防车声音非常尖锐,当它远离你的时候,声音它会变稍微变得低沉一些。这种原理就是因为物体在运动的时候会发生一个相位、频率的移动。我们通过移动就可以测出物体的速度,那么这是fmcw这样的激光雷达相对于tof飞行时间的一类的一个很大的优势,就说它可以测出你的速度。

tof的激光雷达其实也是可以测速,但是一个间接的手法。我们需要得到两帧或者说三帧的激光雷达的反射的距离,然后我们通过中间的时间,你就可以估计出物体的速度,是一个间接的手法。fmcw是可以直接,就是测的当下的时间点,我就可以告诉你这个物体的速度。这两种不同的激光雷达的原理,他们的一个优劣的比较, time of flight非常的便宜,容易制造,是我们现在的主流。但是它缺点:首先第一个缺点是眼睛的安全,因为激光对人眼肯定是有伤害的,它有一个伤害所谓的阈值,就是说你对某一定的频谱的激光,它达到了一个功率之后,就会对人有伤害,那么在阈值之下,我们认为是人眼安全的。因为 time of flight采用的是脉冲激光,在短时间内会有非常高功率的激光发射出去。如果发射的激光功率超过人眼的能接受的阈值,那么对人眼就是有伤害性。所以说time of flight没有办法把激光的功率做得非常的高,是因为是必须要保护人眼的安全。第二个问题就是所谓的cross talking,就是激光雷达之间会相互干扰。比如说两个激光雷达互相对着,那么其实我接收到的激光是对面激光雷达发射的激光,那并不是我自己发射的激光,那么就会造成干扰,尽管这种干扰可能并不是很常见,因为它必须要发生在你一个非常恰当的时机才能够有这种干扰,但是其实我们也测过,其实是有这种状况发生的。因为这种脉冲激光它的物理原理上是很难克服这种cross talking这种现象。最后一个缺点的话,就是速度需要一个间接的方法来测量,在学术界上有很多算法去估计激光雷达点云的速度,但是效果往往不是特别好,而且非常消耗计算资源。所以这是一个他的问题。

fmcw的激光雷达,那么它的优点其实是很多的,从技术上讲它很多都是优点,包括它的一般功率比较低,所以说能够很容易满足人眼安全性的要求。然后它也不会有 cross talking这种现象。cross talking其实在毫米波波雷达上已经解决了。可以对你的调频的波进行一些编码,区分自己的调频波和别人的调频波。然后同时它也可以测量速度。fmcw的问题主要就是它是一种非常高科技的激光雷达,就是说它比较贵,然后它的信号处理的难度也远远的大于飞行时间。目前来说在工业界还并不是非常的成熟,但是也有不少初创企业其实已经瞄准了fmcw路径。比如说目前已经有一家 fmcw雷达已经上市了,前一段时间在美国上市的叫HIWA,应该是跟大德国大众集团非常深入的合作,具体的信息还披露的不够多。在美国也有,比如像blackmore等等,一宣布做出了激光雷达,就被美国的欧罗拉给收购掉了。

 

我们刚刚介绍了激光雷达的不同测距原理。我们再讲一下激光本身,那也是一个非常重要的指标,那么刚刚周轶博士也提到了,那么不管是你毫米波也好,你的自然光也好,还是激光也好,区别其实仅仅在于波长。

我们可以看一下这张图,在这张图的这一部分,你看这种像彩虹一样,其实就是我们的可见光,大部分摄像头工作的频谱是在可见光的领域,主要是由太阳或者说是一些人工的光源打到你物体上,然后接受回波。在可见光之外,就是说在红光之外,应该一个infrared的红外就是红外的波段,那么红外的波段再往上走,就是microwave就是微波这一块,就是我们毫米波雷达和工作的区段。在红外你们又可以细分,也包括近红外,远红外。远红外其实就是我们的所谓的热成像的工作平台。之前周轶博士提到的,摄像头其实是有不少是在做夜视的,它们是在 lwir这个频段工作。我们的激光雷达其实主要是在nir就是在近红外以及短波红外这两个频段工作。近红外的话以905纳米为代表,包括还有903,包括850等等,基本上都是在近红外波段。这种激光雷达的光源从在光学的有工程上来讲的话,是一个非常普遍的存在。在激光雷达之前,我们就已经有很多905纳米的光源,已经可以非常容易地购买到,非常便宜,制造的稳定性也非常高,所以是刚开始激光雷达大部分是在这个近红外,尤其是905纳米波段工作的原因。问题刚刚我也简单介绍了一下,主要是一个eyesafety的限制,因为人眼对905纳米激光雷达的伤害阈值是比较低的,所以说很难做到一个高的功率,很难做到高功率就意味着很难更远的距离,或者说是容易被一些不太好的环境,比如说像雨雾、灰尘、雾霾等等所干扰。

1550纳米是作用在短波红外的波段,好处就是在人眼对于短波红外的激光,它的 eyesafey安全性的阈值是比较高的,意思就是说可以把激光打到一个比较高的功率,这样子的话就可以在晴好的天气下,就可以感受到更远的距离。在一些恶劣天气下,比如说一些雨雾,如果这些雨雾并不是特别严重,仰仗着我这个功率还是比较高,依然可以测的目标的距离。比如说它是一个长距离,并且能够对抗一些天气环境的激光的波段,那么它也比较容易满足人眼的安全性。它的问题就在于量子的激光雷达,1550纳米激光雷达,以前在光纤通信往往是采用这个波段的激光。光纤激光它的成本是比较高的,是相比于905是要高很多的。然后它的体积也是比较大,已经大到意味着在装车的时候就会遇到很多问题。车里面没有那么大的空间给你装,或者说装到外面会感觉会比较丑陋。所以说这是1550纳米的激光雷达的一个问题。

 

我们刚刚介绍了激光雷达的不同种类,然后我们接下来介绍一下激光雷达的按照laser steering system就是激光导向系统的分分类。我们刚刚介绍了第一种是 mechanical spinning,是机械旋转式的激光雷达,这种激光雷达是最早的车载激光雷达形态,比如说我们很出名的美国velodyne的激光雷达,通过一维的旋转,它其实只是在平面上做了rotation。在纵向平面上,这款激光雷达和velodyne同样出名,它是有64根激光构成,就是说它里面有64个激光的光源,同时有64个激光的 photo detector,就是接收器,那么把它并排排列成大概一条线上。我们转动这根轴,我们就可以同时用64根线扫描整个环境,那么它是一维的运动。然后我想介绍一下,前段时间也比较热的 livox,就是我们国内大疆旗下的 livox上的激光雷达,它之前已经是跟小鹏汽车达成了合作协议,说2021年或者2022年就要上车。它的激光雷达是一个非常特殊的机械结构,它是所谓的 Risely prism。通过两个棱镜,互相运动,这边的一束激光打出去,有两个棱镜,都在做旋转运动,方向可以有不同,或者说位置是有不同,可以通过两个棱镜的相对的位置能够控制激光。通过这两个棱镜之后,我们通过控制这两个棱镜的运动速度,就可以激光扫描。它也是一种非常特殊的机械旋转的结构,必须要有两个旋转的棱镜构成,这种扫描的方法是一个成本很低的方法,那么只这两个棱镜基本上可以说不要钱,就是玻璃晶片而已。只要一个激光就可以扫描一片区域,所以是这样结构成本可以压得很低,但是机械式激光雷达的一个问题就是稳定性。因为刚刚周轶博士讲到的摄像头也好、像毫米波雷达也好,如果大家仔细去想一下,里面其实是没有任何旋转的部件。毫米波雷达的信号发生器也好,或者天线也好,都是固定的。摄像头更不用说,里面其实就是一些 pixel的光电的转换器,把光信号转换成电信号。但是到了激光雷达,和其他传感器不一样的地方,就是它有一个旋转的装置。不管你是velodyne这种旋转的方式也好,还是大疆livox这种旋转的方式也好,对于汽车来说其实是比较害怕的,因为在不同的这种工作状态下,有长期的这种震动的环境下,包括甚至会有一些碰撞的问题。那么这种激光雷达是否可以稳定的工作长时间,这是一个比较大的问题。那么所以在激光雷达的业界,大家都是在寻求一种所谓的soild state,固态激光雷达这种解决方案。那么solid state指的就是激光雷达没有旋转部件,或者说尽可能少旋转部件。第一个这种soild state,我要介绍的就是所谓的mems,微型的机电雷达,它其实并不是一个百分百的固态的激光雷达,它有一个旋转装置,就是所谓的光学阵镜。我们可以看这边是有个阵镜,它是一个非常小的旋转装置,相比于之前介绍的,它的旋转部件非常的小,可以嵌入在电路上面。我们通过这个电流,因为电流会产生一个洛伦兹力磁场的力,我们可以改变阵镜的旋转方向。就可以对一个空间进行扫描。MEMS的方案它的好处就是便宜,和刚刚的我介绍大疆的那种方案其实是比较像的。大疆你可以把它想象成一个机械版或者说是一个粗糙版的mems。它有一个旋转装置能够指挥一个激光,一根激光能够扫描一整片区域,那么这样子的话我们会非常大的节省激光雷达的成本。

相比之前的 velodyne激光雷达,64个扫描器,就要64个激光接收器,然后同时还有电路的问题,所以这个会做得非常大,而且成本会非常高。我们MEMS激光雷达就变成了一个激光,一个接收器可以扫描一整片。从物料成本来说,跟64线比的话,物料上成本就降到1/64,可以极大的减少成本。但是它的问题主要也是出在阵镜上,毕竟它还是有旋转的装置,他是否能够满足,尤其是满足欧洲企业对于车载的元器件的安全与质量的标准,现在还不确定。

在全球有不少的基于mems的企业比较出名的,以色列的Innoviz,,美国的Luminar。其实早几年都有宣布,比如说Innoviz宣布2021年要和宝马进行一个量产,但是可能这个量产可能都会进行推迟,可能问题就出在生产制造的领域,可能安全性或者稳定性还达不到,尤其是欧洲厂商这边的标准。最后一个

我要介绍的一个flash激光雷达。这种激光雷达是一种百分百的固态的激光雷达,它里面没有任何的旋转的机构。它的工作原理是一个激光我们打出去,然后通过一个光学的 optical diffuser,相当于把一个激光扩散成一个面,均匀的打在一个平面上,然后通过一个2d接收扫描平面。跟mems不一样的地方,是完全没有旋转方式,所以说对于这种激光雷达来说,它能够达到前面我刚刚讲的机械式和mems所达不到的这种稳定性和安全性。但是它有缺点,就是因为把一束激光已经打散掉,所以说这么一束激光的功率就下降了。那么你回波的强度也会下降,所以说很难在这种激光雷达上做到比较远的距离。这是它的主要的缺点。所以说我们现在其实已经有了一些flash的激光雷达,但是检测距离还相对来说比较近,有效检测距离大概只有在50米左右。指标上应该是小于100米,有效的话可能在50米左右。这样的一个距离的话,往往主要是做一些 AEB的功能使用。

最后我们看两个例子,一个是美国luminar1550纳米的mems激光雷达,它是一个配合mems扫描的装置。我们可以看一下它的典型的效果图。首先要说的话,1550它的一个最大的优势就是距离远,在这个视频当中我们可以非常明显的看到,这个激光雷达可以探测到200米以外的距离。mems的激光雷达的一个特点,因为它的mems阵镜非常大的一个角度,所以说在实际当中是拼接了好多个mems,能够来达到一个广角的范围。所以说我们可以看到mems激光雷达里面会明显看到拼接的痕迹,所以才会有这样一个这个不是很平滑的状态发生。这边还视频还介绍了一些感知算法的效果。

刚刚播了一个视频,是美国luminar激光雷达的效果图。luminar这家公司是被沃尔沃投资的。在去年的时候沃尔沃有一个新闻,就是宣布和沃尔沃准备在2022年,将luminar的激光雷达用在沃尔莫新一代量产车上。它的激光雷达的路线,跟我待会要提一下的,蔚来昨天刚刚宣布的激光雷达路线是一模一样的,都是1550纳米mems的激光雷达技术。他们的安装方式也都很有意思。很多人都应该去看了昨天的新闻,它是安放在汽车的车顶。这个原因我刚才也说了,因为1550纳米的激光往往来自于光纤激光器,它的体积比较大,所以说如果放在车的前保险杠上,可能空间不够大,所以说放在一个车顶。

然后接下来我们讲 continental flash式的激光雷达。我们这边有一段视频。 continental flash式的激光雷达,它其实是收购于美国的一个叫asc的一个公司。

应该是在201516年就已经收购了,在收购之后,主要是做一个工业化的、大规模制造的工作。2019年左右的时间,正式推向了市场,continentalflash的激光雷达,在后面一个点云的来看,这是他在2018年的CES上的一个宣传的一个demo。我们可以看到这样的激光雷达,它的点云是非常密集的。同时我也说到了 flash式的激光雷达,它的最大问题就是检测距离比较近,往往很难超过100米的有效范围。我们在 CES展台上也是用不着,没有100米的范围,所以说看到效果还可以。但是真正到了实际的应用过程当中,可能会发现弱点。

激光雷达市场

刚刚我简要介绍一下激光雷达不同的技术路径,当今市场非常热闹,非常多的激光雷达的厂商,那么都是采用了哪一些技术路径?这边是一个2018年的报告,我们可以把它做一些简单的归类。在画面的左端是激光雷达的laser的原理,就是激光的原理。用调制的,就是用脉冲的激光雷达,那么很显然是占了主要。如果用脉冲激光雷达的话,那么它就是一个tof就是飞行时间测距的方法。

然后再看连续波的激光雷达是属于绝对的少数的地位,fmcw激光雷达是由blackmore首先做了一个展示。最近这几年也有一些厂家,比如说我刚刚提到的大众有投资关系的以色列的激光雷达。

然后我们再来看纵向的来看,主要是用扫描方式做了一些区分。机械式激光雷达,集中了大部分的玩家。包括velodyne,包括像瓦里奥的斯卡拉,都是属于机械旋转式的激光雷达。还有我们国内的和赛,包括速腾,都是用机械式的。

然后还有一些比较特殊的机械扫描,其实相当于是一个MEMS和机械混合的技术。

然后在mems方向也是有非常多的玩家,包括以色列比较出名的innoviz的激光雷达,包括美国AI的激光雷达,都是mems的激光雷达。

flash的这一行,那么主要是continental,里面还有一些比较特殊的,比如说像美国福特和大众联合的ARGO公司。它用一个非常特殊的激光光源,1350纳米的激光光源。它使用这个激光光源的原因是因为在自然界当中几乎没有1350纳米的自然光或者说是光源存在,所以说在波长范围内就像一个黑洞。如果激光雷达是在作用在这个波段的话,可以极大的降低造成的干扰,比如自然光或者其他外界的光源造成的干扰。你接收到的肯定是你发射到的光,那么在这种波长波段下,就可以用一些比较单板的一些传感器,比如说单光子的传感器,非常少量的光子就可以触发雪崩的效应,都可以加到你的回波。但这种单光子最大的问题就是噪声。所以说如果在1350的波段可以避免这个问题。但是1350纳米本身是一个比较特殊的波段,它的制备的工艺并不是很成熟,所以说这也是ARGO虽然收购了,但是它现在能够展示的车辆上用的还是一些传统的激光雷达。

激光雷达公司

然后我们再来讲几家最近比较火热的激光雷达公司。第一个是Luminar,我刚才已经介绍过了。Aeva的话他是和大众(合作)。然后velodyne的话,它将激光雷达和自动驾驶的应用推上了一个新的台阶。它下一代的固态激光雷达叫做Valerie,是和瑞典的威尔尼亚进行合作,在北美进行生产,那么它的激光雷达主要是一个905纳米,再加上它的旋转方式,并不是一个完全的mems的方式,所以我没有写。它是自己的一个专利,然并没有透露太多的一个细节,但是它仍然有旋转的部件。

这样的激光雷,优点当然是比旋转式要稳定很多,问题是探测不了非常远的距离,可能往往是作为一个 Aeb的功能使用,比较难使用在ACC,就是说主动跟车的功能上,所以说它的使用可能对于车企来说可能会是一个问题。比如说乘客用到更多的功能,往往是这自动跟车的功能,并不是AEB的功能,我觉得大家可能都不希望使用到这个功能,毕竟是一个紧急情况。所以说在这时候你上一个比较昂贵的激光雷达,那么乘客反而是属于一个比较少用的频率上,那么从逻辑上可能就不太说得过去。

Ouster的激光雷达公司也是前段时间在北美上市,借壳上市。这家的激光雷达的原理是属于比较特殊一点,但是采用了一个垂直墙面的激光发射器,就是VCSEL的激光,再加上单光子泵二极管这样的一个检测的方式。那么VCSEL这样的技术路线其实是和我们苹果手机里面,包括苹果的 iPad激光雷达的技术路径是一致的。 VCSEL的激光它是比较容易做成激光阵列的,可以放成一个二维的激光阵列,打出一面光。 spite的单光子的接收阵列也是比较容易做成一个2d的接收阵列,相当于是打出一面光接受一面光,然后它可以放到一个比较小的体积的激光雷达里面。这样子的技术方式,首先是被苹果采用,但是苹果的激光雷达毕竟是一个比较近距离的,一米远的这么一个范围。Ouster如果要用在汽车行业的话,必须要达到几百米的检测范围,这对Ouster是一个挑战。然后单光子的这种检测方式,比较容易受到噪音的影响,噪音也比较多一点。这就是Ouster的技术路径。

接下来就是Livox,我们国内大疆的投资的另外一家厂商。我个人觉得应该是一个机械式旋转的结构测试,用两个棱镜构成的,然后它的激光光源采用的也是905纳米。它已经和小鹏宣布了,将在明年量产车上实现。我觉得这样子激光雷达我觉得是一个非常特殊的激光雷达,因为在国际上这种棱镜的方案,其实是有一些厂商在做,但是规模都非常小,那么主要的这个路径是想去掉旋转的部件。但是我们可以看到Livox的系统里面其实是有两块旋转的部件,那么从制造的角度来讲的话,提高提出了比较高的挑战。我觉得Livox激光雷达的稳定程度,还需要再观察一下。

然后是昨天蔚来宣布的 innovation的激光雷达,它的激光雷达的技术路径应该是和国际上是比较接轨的,就是它不像Livox是一个非常特殊的存在,是一个比较主流的一个路径,就是采用1550纳米激光,然后再加上一个mems的阵镜,能够实现一个相对来说成本低,并且距离远这样一个扫描方式。我想讲了一下,Nio激光雷达其实是可以反应有OEM厂商对于汽车雷达的需求。激光雷达因为成本很贵,所以说在上车的或者说满足车企的过程当中,往往牺牲掉一些性能。能够实现比较降低的成本,那么性能(牺牲)很大程度上就是你的检测距离。这里面就会有我刚刚说到的一个比较尴尬的局面,如果你的检测距离近了,那么用户可能往往用到的功能就不是那么多,那么比如说你在高速公路上你很难开启用激光雷达做自动跟车,那么往往就是做一些紧急这种自动刹车。这种紧急刹车的制动,消费者其实是比较难体验到激光雷达的强大的功能。所以说你如果坚持采用1550纳米比较昂贵的这种激光雷达,那么其实是有它的道理的。如果你用1550的激光纳米做在在高速公路上做自动跟车,那么你消费者是可以感受到激光雷达所带来的效果。那么和aeb的激光雷达相比的话,即使它的价格要更贵一些,但是我觉得应该也是会有消费者买单的。我想nio不仅是要把中国特斯拉,我觉得它应该对标是一个保时捷这样的地位,所以说它的这种成本是可以以达到使用这种激光雷达的要求。

激光雷达的应用

然后我们刚刚介绍了一下激光雷达很多种的不同技术路径,然后我们再来讲一下激光雷达的应用。那么激光雷达主要是两个用途,一个是感知、一个是定位,定位其实相当于也是一个广义的感知,我们待会再简要提一下。

我们重点讲一下这个感知。广义上来讲,对于自动驾驶来说的话,分为两个层次的信息,那么第一个层次信息的感知,是感知你的物理的状态,所谓的物理状态就是你的车辆也好、行人也好,它的位置距离的远近,包括它的体积的大小,包括你 Heading就是导向角指向、包括运动的速度等等这些物理的信息。那么LiDAR毫无疑问是在物理信息上是要超过这个摄像头的,那么它应该是当前检测最为准确的,就是在距离检测上最为准确的这样一个传感器的存在。

第二层的信息是semantic,是一个语意上面的信息。就是你不仅检测到在物理上检测到只有一个障碍物,那么你还要去识别这个障碍物是人是车,还是比如说卡车等等不同的障碍物。那么在 semantic Information里面,往往用到大量的机器学习、深度学习的技术,因为LiDAR的分辨率现在目前来说低于摄像头,所以说LiDAR在深度学习的物体识别上的能力还是要弱于这个摄像头,尤其是在行人检测方面,要弱于摄像头。但是LiDAR有一个好处。我个人的使用的体验是对于车辆的检测,如果单单用激光雷达,我的意思激光雷达是分辨率要达到某种的程度,它的车辆的检测的性能是接近甚至超过于摄像头的。原因在于摄像头的 Pixel像素的信息它是非常丰富的,那么我们不同的车辆在不同的天气,不同的颜色,不同的这种日日光照射下,它的车辆是表现的应该说它的dimension维度是非常的高的。那么对于LiDAR来说就比较简单了,因为车辆如果你从这个形状上来说,那么车辆它都往往满足于某种特定的这种形状。

那么我们LiDAR它不管你的这种色彩信息是如何,它只管你形状信息,那么其实它的数据反应的维度是相对来说比比较低的,所以这样子的话可以用比较廉价的这种学习的方式就可以达到比较好的性能,单单是针对车辆而言。那么对于行、对于自行车、包括摩托车等等,这些问题来说的话,那么LiDAR目前它的检测了我的能力主要是受限于分辨率还不够。比如说一个行人在30米之外,可能激光雷达的点云覆盖就已经有限了,可能就几个点。那么在这种情况下,算法是很难成功识别这个行人。但是摄像头的话,有非常高的分辨率,也有很多机器学习算法来进行识别。

LiDAR的感知算法可以基本上分为三块,物体的检测、物体的识别和物体的跟踪。那么这三块也是分别对应了就是这两种不同的感知的这种信息,我们讲detection是可以拿到物体的位置的信息,那么识别的话是可以拿到语意信息,那么tacking的话是可以算出它的方向角以及是行驶速度等等这些信息。

那么接下来我这边提到的就是一个比较经典激光雷达数据处理的方法。那么我们一个激光雷达点进来,车顶上有个激光雷达,对360度进行一个扫描。我们把地面信息与障碍物信息进行一个分割,然后非地面的点云,我们再做一个聚类。然后对于聚类的物体,我们进行目标的跟踪,然后同时我们也可以做一些 intention prediction,车辆和行为的预测,那么这是一个比较非常传统的而LiDAR的检测方法。

最近这几年,机器学习的 perception感知的方法也是非常流行,而且它对于特定的检测物体,处于一个绝对的领先的状态。这边我展示的是2019年的一个结果,这里面展示的是用激光雷达点云,配合神经网络去检测车辆行人,这些已经预定义的障碍物的结果。目前激光用深度学习激光雷达点云有非常多的方法,也取得非常好的成果。但是它的一个局限性主要是你只能检测到特定的一些障碍物,比如说行人也好,车辆等这些已经在我们的数据里。但是对于一些任意的物体,我们有时候有可能在现实场景中碰到的,比如说前些年比较出名的特斯拉撞翻滚的货车的事故,比如说一个卡车翻滚在路面,那么在训练集当中过去应该是没有见过的这种情况,这时候神经网络就很有可能会出现问题。因为这种情况是你训练集当中没有看到过的,那么这时候传统的这种就之前提到传统的检测方法也就派上了用场。但是对于已经定义好的这种状态,那么神经网络它的确的像目前是最好。

那么我这边最后 perception这一块最后展示一段视频,这段视频是韩国的一个初创企业,叫做Seoul Robortics一个视频,那么他们这家企业是专门做激光雷达感知算法的。我们可以看出它这边应该是配备一个128线的激光雷达,然后展示的是它的车辆的检测,跟踪,还有包括他行为的一个prediction预测的一个功能。我们可以看到在这里面应该是展示了两种,即有传统的激光雷达的算法,也有基于深度学习的算法,红框应该都是一个车辆的标志,还有一些黄框行人标志,我们可以看到这个所有的物体都被框出来了。我们感知的算法其实就是把这些点云也好,pixel也好,形成一个框,那么每一个框包含你的位置,你的大小以及速度以及你的导向角,那么这个就是一个抽象化的 object物体的信息,这算是我觉得激光雷达这块感觉做的还是不错的一个 video。但是现在目前的你如果使用深度学习技术的话,可以应该说达到这样的这种这种表现的话,其实并不是特别难。我觉得深度学习这种技术也,算法相当于是民主化了。因为有很多的这种开源工具,你去调用的话都可以实现相当好的这种功能。

 

最后我再简要提一下激光雷达对于定位的作用。那么其实对于像谷歌公司来说,包括很多做好像四等级的激光雷达公司来说,激光雷达是最重要的一个传感器。那么它的重要性不仅仅在于感知能够提供非常精准的结果,更重要其实还并不在于感知。因为感知的话,如果你有摄像头,如果你有毫米波雷达,也可以做检测。但是对于定位来讲而言的话,如果这些L4这些厂家如果没有激光雷达,我觉得定位会出非常大的问题。车辆能不能在这个地图里面跑一分钟,我觉得都会出问题。原因是这样子,因为做testing的项目往往都是在市区里,市区尤其是一些城市,像是san francisco这种地方有比较多的建筑物,那么你的gps卫星导航的信号会受到很大的影响。比如说会被建筑物遮挡,甚至被一棵树给遮挡,那么你的卫星定位就会出问题,会漂移。定位用的常用传感器,还没有惯性测量单元,那么惯性测量单元它是一定会是一个测量方式,就是说它的检测误差会随着时间的增加会慢慢逐渐增加的,你没办法消除误差的。所以这种方式的话,现在能够采用的一个方法就是用激光雷达在你要指定运行的区域里面先制定一个高清地图HD Map,那么这个HD Map往往指的是一个三维点云。它包含你运行环境所有建筑、树木的点云扫描的地图。我们精心制作一张这样的地图,让它达到非常准确的精度,往往是厘米级的精度。预先存在我们的车机里面。这张地图往往主要是由激光雷达,还配合的非常高精度的 gps卫星导航系统,包括惯性导航单元等等一起制作这样一张地图,然后我们在实际在做运行的时候,抽取其中一部分地图,和我们激光雷达当前的点云做一个匹配,再去和惯性测量单元和卫星的定位系统和摄像头进行结合的工作,然后从而可以一直持续的达到厘米级的定位精度。

接下来最后一个视频我就展示一下,一个来自学术界,比较容易懂的一段视频,展示了在一个大学校园里面,他把大学校园的事先用的激光雷达,扫描所有大学校园制作一张精度非常高的一个激光雷达点云的地图。然后我不知道是robot的还是车辆,实际在运行当中,你可以看到彩色的点,这个车辆当前激光雷达采集到的点,然后灰色的灰白的点,已经制作好的激光雷达的高清地图。它的定位方式就是通过 how to go匹配你当前点和你地图里面的点云,然后从而可以知道你就在地图的哪个位置,然后再配合一些其他的一些传感器是可以实现非常高的精度。这样子的定位方式,是不怕你的卫星定位的信号消失的,因为你其实已经知道了,你周围的环境然后再进行,所以是非常准确和安全。它的唯一的一个缺点就是你可能需要不停的去更新这个地方,而且这个地图也会比较大,不像gps

我主要是介绍一下激光雷达的在物理上的原理的区分,当前激光雷达厂商的动态,顺带再简要介绍了一下激光雷达的感知。

 

新一代汽车软件架构SOA

赵玉龙博士,担任智能驾驶与控制事业部资深软件架构师,主要负责车载计算平台与中央网关的软件研发项目。

 

各位好,我是赵玉龙,今天很荣幸跟大家分享一下我个人对于新一代汽车软件架构 SOA的一些理解体会,也就是说面向服务的架构。目前作为软件架构师,负责车载计算平台与中央网关的软件研发项目。我个人的本身对 SOA还有Adaptive Autosar和车载OS这一块比较感兴趣,也一直是在持续关注这个领域的发展趋势。

今天要跟各位分享的这些内容全部都来自于互联网,另外加上我自己的一些观点看法,报告分为4个部分,首先是新四化浪潮下电器电子架构的发展趋势,然后我会介绍一下SOA的原理以及设计理念,也就是面向服务的架构。最后我们一起来看一下当今最先进的平台软件架构,大众MEB平台上的 ICAS

新四化浪潮下电器电子架构

这张图就是博世两三年前的一张图,是对汽车电器电子架构发展趋势的一个预测。从最早的分布式的系统到现在流行的域集中式架构,再到跨域控制器,中央计算平台之后到云计算,咱目前到了哪个阶段了?

大部分还是在中间这层就是说也就是域控制器,比如说ADS控制器或者是娱乐域控制器等等。先进一点的可能到了跨域控制器。博世预计2021年或者是今后几年之内的域控制仍然将是E/E架构的主流。

那么将来会发展什么样?就是会进一步的集中化,进行整车层面的融合,实现所谓的区控制器,或者说是中央计算平台,最后实现车云一体,也就是把汽车真正的变成一个移动终端。

总体来说,电器电子架构的发展趋势就是越来越集中,ECU或者是车载电脑的性能越来越高,联网程度也越来越高。而汽车智能化的实现,它需要大量数据的实时处理,用于计算机视觉或者是基于多传感器输入的模型的推导,应用程序对通过对数据的并行处理及时给出解决方案。

然后除了需要高性能的计算机或者计算平台提供新硬件架构的支持,也需要依赖新的软件架构支持跨平台的计算处理能力。所以新四化趋势下的另外一个趋势就是通讯方式的改变。

传统汽车通讯仍然是基于信号的通讯方式,既信息发送者他不关心是谁接收,而只负责将信号发送。数据接收者也不关心是谁发送的,而只负责接收自己想要的即可。

这种方式非常适用于有限大小控制数据的应用场景,而诸如自动驾驶等复杂应用场景加入以后,大量数据的动态交互必须采用面向服务的通信方式,以提高通讯效率,降低负载。

在这种方式下,接收方作为一个客户端只需要查找订阅服务,等待接收信息即可,而发送者作为服务提供方只需要给订阅者提供订阅的服务即可。基于信号和面向服务的两种通讯方式怎么结合起来,是对新一代E/E架构提出的一个严峻的挑战。

当前车载控制器,比如说嵌入式ECU或者是与信息娱乐性控制器有明显的不同。基于Auto的经典平台开发的汽车控制器一般具有实时性强、消耗资源少、软件功能固定的特点。而这个信息娱乐性控制器正好相反,一般会在占用比较大的硬件资源,而且一般不具有实时性。因为它一般运行在嵌入式PC上,如Linux,而不是汽车级的车柜级的操作系统上。所以即使出现故障的话,也不会造成严重的安全事故。

而这个Adaptive Autosar作为异构软件平台的软件架构,主要用于域控制器,可以成为连接Classic AutosarLinux这样的非实时OS的一个桥梁。它的特点是什么?一个是软事实,具有毫米级内的最后期限,错过最后期限也不会造成灾难性的后果。第二个是它可以满足一定的功能安全要求,可以达到ACB或者更高的级别。第三,它更适合于多核动态操作系统的高资源消耗环境如QX。但Adaptive Autosar的出现并不是为了取代 Classic Autosar平台,而是针对不同的应用场景实现两者的共存和协作。

深度嵌入式的软件功能需要部署运行在经典平台上,而Adaptive Autosar则支持,对大量数据的并行处理是用于运算性能要求比较高的应用,它的出现不仅可以满足现有的需求,还可以满足未来汽车技术的革新变化。

由于它支持各种微控制器以及各种非Autosar系统的互动,未来汽车将拥有不同类型的一些并互相进行补充。为了支持复杂的应用程序,同时在处理和计算资源分配中能够提供最大的灵活性和可伸缩性。

SOA的原理以及设计理念

Adaptive Autosar遵循了面向服务的架构,SOA就是service oriented architecture,它是一种设计软件的方法,它的组建,通过网络上预定义的协议来提供和使用服务。服务组建要满足这些要求,比如说功能上的分离,然后怎么分布,然后互通性也就是接口定义,还有可重用性。

那么什么是服务?服务就是一个独立的功能单元,可以被远程访问,并且独立更新。一个服务是一个功能模块,它具有完备的特性,然后黑盒子,没有状态,可重用并且具有标准化的接口。 SOA它支持SOME/IPIPCDDS等提供服务及与查找功能的协议,或者说中间件。优点就是它更清晰的架构,模块之间的耦合度更低,中间层在系统启动的时候建立通讯路径,并且通过调用底层软件的服务来定义数据的序列化,这样的好处是什么?一个是可以实现软件的局部升级,一个是提高失效安全性,比如说一个service失效了,另外一个相同的或者是匹配的service可以立刻代替的。也就是说在分布式系统中实现同一个服务的多个ECU不需要同时更新,还有一个特点,优点它就是可以使用像Asynchronous RPC这样强大的设计模型。

面向服务的通信原理很简单, service provider提供注册服务,然后service consumer在注册表中查找服务,最后调用服务。

那么具体的通信管理是怎么样的?提供了标准化的方法,一个是向上通过 Languagebinding语言绑定给应用层的application提供定义好的服务,一个是向下通过network binding网络绑定,把服务数据表示在网络上。语言绑定定义了如何使用目标变成语言,将服务的方法事件字段转换成可以直接访问的标识符,通常由服务接口定义提供的源代码生成器实现。网络绑定定义如何序列化与配置服务的实际数据,并将其绑定到特定的网络上。它可以通过基于传输层序列化的代码生成器来实现。服务注册表也是网络绑定的一部分。

语言绑定和网络绑定之间的接口是私有接口,允许平台供应商自己来定义。SOA架构的主要特征,首先它是用于分布式系统面向服务的通信,既可以在 software component之间,也可以在eco之间,这个跟classic autosar基于信号的通讯是一样的。不同的什么呢?重要的决定不是在设计的时候做出的,而是在runtime实时运行的时候作出的。比如说Binding服务双方的关联,通过 service Discovery来实现。

比如动态的通讯,动态的pdo可以通过序列化和去序列化来实现。还有另外一个重要特征,它就是一个开放的系统,可以在运行的时候添加新的服务或者是升级服务关闭服务,都是可以的。然后 SW component使用的是service interfaceAdaptive Autosar作为实现的平台,用c++来编写。

SOA有哪些优缺点?一个是运行的时候非常灵活,可以添加关闭单个的服务,相当于车外的服务可以关联起来,服务的升级加强都是可能的。通信的设计简化,启动和关闭的简化了,使实现更复杂更开放的软件架构成为可能。

比如说 Complex interface,比如RPC。最后这个软件架构的维护和拓展都变得容易了,因为这个软件模块之间的耦合度大降低了。

它的缺点是什么呢?它可预见性弱,然后这种架构很消耗资源,对硬件要求高。最后一个缺点是测试更难了,因为它是动态的,所以系统配置的可能性变多了,不同的配置都需要测试,这就增加了测试的难度。但是对于客户来说,他们得到了一个灵活开放,动态的分布式嵌入系统。

下面我们对比一下面向服务的和面向(基于)信号的架构。都叫SOA,一个是 signal oriented architecture,一个是service oriented architecture

左边我们就刚才已经看过,然后我们看右边基于信号的架构。它的优点也很多,首先整个系统是确定的,并且系统在运行时的状态,在设计完成的时候就是可以预知的,包括响应时间和资源消耗。对资源消耗的优化,可以在系统设计的时候完成。最后这个架构已经很成熟了,大家都很熟悉了,积累了很多年的经验,客户可以得益于他的可预知性,并且可以在低成本硬件的基础上进行优化。

我们可以看到这两种架构各有所长,所以在接下来一段时间内的两者会并存。我们既需要在高性能的车载电脑上使用面向服务的架构,也需要在传统ECU上使用基于信号的架构,或者在一个ECU上同时使用两种架构,都是可以的。

SOA作为一种面向服务的架构,是一种设计思想和方法论。在SOA架构中,服务是最核心的抽象手段,和系统最基础的描述单元,这里展示的是SOA的一个架构模型。

最下面的一层是应用层,最上面一层是业务层,也就是use case。中间结合二者接口的这层是服务接口层。每个服务组件具备独立的功能,而且可以被复用,服务组件之间的接口遵循统一标准,可以相互访问,可以组合扩展,而业务过程则是带有这个状态和调度策略的服务组件的组合与扩展。

通过SOA架构可以让OEM从总体上在不同操作系统硬件平台上整合业务功能,实现对系统功能的快速迭代与重组,来应对灵活多变的智能网联趋势下的业务要求。结合未来车载域控制器的架构使用,SOA架构可以实现业务功能的快速迭代与灵活重组,这张图就是一个SOA架构的应用举例。

首先我们可以看到车上有三个大域控器,ADAS,运动域控制器以及娱乐域。他们是通过一台网相连连接,每个域的下面就连接着实时性要求比较高的ECU,比如说传感器或者是执行器,或者是电源管理。这些传统技术上面跑的还是 classic autosar平台。这些传统ECU还是使用基于信号的通讯机制跟各大预控制器来进行通讯,所以在预控制器的上面需要一个mapping来实现信号与服务之间的一个转换。一会儿在大众的MEB平台上会看到这么一个模块。转换完成之后,我就有了基本的服务组件,它们可以相互组合复用,甚至说移动。因为到了这层我已经实现了软硬分离,可以在任何硬件上部署服务功能组件。整个服务的管理是通过服务中间件来进行,他们提供了服务注册与服务查找等接口,最终小的基础服务可以组合成大的服务,大的服务可以进一步组合扩展,并最终构建出新的业务过程,实现OEM的业务目标。

如果再结合OTA技术,用户可以在车辆使用期限内订阅新的功能或者说是APP,而新的APP的业务逻辑依赖于这些已有的服务组件。

大众的MEB平台的软件架构ICAS

 

最后一部分,我们一起来看一下大众的最新的 MEB平台的软件架构,ICAS就是in car application server

从几年前开始,大众集团发展全面数字化,并且对整车的电器电子架构进行全面的升级,已开发全新的MEB电动车平台,在这个平台上使用,比如说千兆以太骨干网,时间敏感网络,TS adaptive autosar平台,高性能车载计算平台等,目前最先进的各种软硬件及通信技术。这个平台主要实现了什么?就是对应用软件和IO功能的一个解耦。

中间的这条红色的虚线把它分成两层,下面这层是传感器执行器,传统的嵌入式ECU,没有什么智能需要被控制,而上面这层我们有高性能的in car application server,一种集中式的功能架构,也就是智能汽车的各种系统功能都是在这个层面来实现的。

如果把这个计算层比作人类的大脑,那么下面IO层就相当于反射神经,比如说安全气囊。在这个基础上我们还有小脑,它提供一些其他的功能,比如说 basic services,前面提到的基础服务组件。比如它可以提供地图或者是车的实时位置信息,然后在这之上我们还有大脑,大脑的作用是什么?可以用来学习新知识,添加新的技能,也就是在这里,也就是这里的application,应用层它不仅是在车内,而且可以在云端。当前ECO的附加值主要是在一个短位之内,而在将来附加值会更多的体现在跨域层面。人们会把很多车的功能,从这些分布式的ECU移动到 SAS计算层面。判断一个功能是否可以被移动到上层的一个重要标准,就是这个功能是否可以被升级,是否可以被更新,最终通过这种方法将实现应用和IO层面的解耦。这样的好处就是降低了整个系统的复杂度,降低了系统集成的难度,而且节省了开发时间,提高了开发效率,可以把注意力集中在跟最终用户密切相关的车载应用上。

SOA架构的优缺点咱们前面都讲过了,最主要的这里也说了实现一个新功能的即插即用,增强了可升级性、可更新性、可重复使用性和可一致性。左上角的图其实就是描述了软硬分离的这么一个状态。下面是传感器执行器,上面是服务层,又可以细分为这个基础软件框架和应用,两个部分。

整个架构通过什么来实现,在计算层面只是动态绑定,比如说是通过服务发现发布订阅机制,还要实现面向服务于基于信号通讯的分离,要通过 communication server来实现具体怎么实现,两个世界之间的 mapping,就是要看OEM自己的功力。

另外在开发这个功能模块的时候,要尽可能遵守,比如说rest原则,比如说统一的接口,没有状态,关注点分离这样的设计准准则,最后一点就是接口的一个向前向后的兼容性。这点必须满足,以保证在不影响系统其他部分的情况下,某个功能的可升级性:向前的兼容性,就是说接收方能够忽略发送房间在接口上新增加的元素,而向后的兼容性就是说接收方可以允许发送方提供一个不完整的接口。

Adaptive Autosar的推出是为了满足汽车行业的控制软件及车辆安全,所以不得不提出对自己本身的软件要求,同时为了满足统一的接口要求,才会对现有的就是基于软件生态体系提出的这么一个概念或者是一个平台。

操作系统必须是基于POSIX的。整个系统在一个虚拟机上运行,虚拟机就是由Hyperwiser来运行和管理。虚拟化能够直接从硬件层面硬件资源保持片上多软件系统的独立性,对多核处理芯片进行硬件资源,合理降低信息安全和公共安全的隐患。

我们看到 MEB的平台,它是以Adaptive Autosar软件框架,整个框架首先使用的是基于POSIX的操作系统,比如Linux。另外加上了一些,比如说诊断安全、配置管理。对于操作系统本身大家普遍青睐 Linux,开源可以带来一个自由定制,但是刚开发Linux的时候,并没有涉及到汽车控制领域,对于任务调度还有抢占机制还在优化过程中。

虽然有很多切换和OEM在使用QX,但是一旦涉及到深度的软件定制开发,那么QX本身的开放程度将会决定未来可以应用的范围。然后这里面最重要的就是 AR模块,它给 basic services和基础服务的开发独立于操作系统。在这个基础服务之上大众提供了所谓的VW API public它提供了通向外界的编程接口给 APP开发者使用。

另外比较重要的就是框架提供的通用的开发方法论与交换格式,并且使用了标准的升级与通讯协议。最后这张图,就是MEB整个的软件架构。可以看出来,它的域控制器也是中间这一大块计算平台的使用了 SOA架构,并且基于POSIX的操作系统。

由于目前这个SOA架构的实时性还是无法保证的, classic Autosar还得继续在实时性要求比较高的地方发光发热。比如说动力底盘车身都还是使用 classic platform。而对计算性能要求实时性要求不太高的领域,比如说Entertainment,比如说ADAS可以使用 AP来驱动。然后每个OS都是独立运行在虚拟机上,以确保它的安全性。

 

CPAP之间的通讯是通过 Provider提供communication Service来完成。如果你的硬件资源够用的话,还可以单独搞一个基于CP safety os和一个security os。最后我们在这个顶部可以看到,它是可以通过后台来更新应用程序的。整体来说MEB的架构是非常先进的,最新的消息显示IT3的销量很不错,在有些地区已经超过了特斯拉的Model 3,所以说擅长机械工程的德国人搞起软件来也是可以很认真的。这是一些参考文献。好,以上就是我对 SOA的一些理解与体会,这里是我的联系方式,就是非常欢迎大家线下进行交流讨论,谢谢大家。

基于场景的自动驾驶系统测试验证

陶剑波,主要工作方向是网络物理系统及高级自动驾驶系统的开发与验证工作。今天讲座的题目是基于场景的自动驾驶系统,由于驾驶环境的不确定性,自动驾驶系统可能遇到的驾驶场景数量往往是无限的。基于场景的方法是未来自动驾驶验证的重要手段。本次讲座以此为背景,主要介绍并分析基于场景的测试验证方法的现状问题。

 

在接下来时间,我会给大家分享和介绍一下基于场景的自动驾驶系统测试验证方法。我的演讲主要分为三大块,第一块就是讲一下它的问题,之后就介绍一下基于场景的验证方法本身,最后再介绍一下它的难点和它的一些未来的挑战。

问题

首先我想给大家去看几组的数据,这里可以看到是摘自Waymo的安全的报告。截止20209月份,Waymo已经进行的道路实测是超过2000万英里,然后他累积的仿真测试是超过150亿英里。左边这个图展示的是一个研究所,在所有一些比较热门的自动驾驶车以及一些新发的机构,他们所累计下来到2019年为止的一些实际的路测英里数。我们可以看到好多的数量都是相当可观非常多的。但是即便如此,刚刚李铀他也介绍了,去年特斯拉model 3,即便是在一个比较的简单,人类通常能够去处理的一个交通环境情况下,还是陆陆续续有不同的crash产生了。这边我们也可以看到,对于高等级自动驾驶的来说,测试里程它不等于是的安全,不一定的代表说我累积了许多或者说在单一的测试里程测试情况下,就能去充分的验证和去探测出在我系统当中的一些漏洞和安全的问题。

这边可以看到是ICCVE机构Koopman教授,他很好的去形式化的总结的一个:到底它最大的一个主要难点是什么呢?就是一个环境的不确定性和复杂多变的环境的因素。这边可以看到,他列举了6个比较简单的也是常见的,我们在日常生活当中可以碰到的一些场景也好、路面也好、天气因素也好,但是往往这些所谓的我们人类简单的一些情况,对于自动驾驶系统的来说是一个非常大的挑战。总结了4大块,主要就是场景环境因素的复杂度,然后是场景一个不确定性和不寻常,然后还有一个是极端的严苛的环境因素,还有包括天气的因素。所以说现在行业普遍共识的是,如果要去完全的去验证和保证我自动驾驶系统的安全性,不能只采用基于通常之前说的行驶的里程也好,到我实际路程也好,一个问题是我不能去很好的完全去覆盖在我日常生活的当中能出现的一些各式各样的组合,还有一些严苛、不寻常的环境的因素。另外一个就是说我怎么样能够去大批量的去处理这么多的场景,所以说现在行业普遍共识是采用基于场景的验证方法,去克服这样子的一些挑战和困难。

基于场景的验证方法

这个页面我想这边讲的就是说现在基于场景的自动驾驶的测试主要就是分为6大块。第一块是数据的来源,主要可以综合成两大块,一个是基于我的知识:可以有我的专家知识,或者说我各主机厂和我的各供应商他们所沉淀下来的一些知识也好,各种各样的 plans的也好。然后第二块主要大的就是数据,数据主要现在有几大块,一个可以到我的事故数据库,可以到交通局那边去采纳许多年来的一些交通事故。然后另外一个就是我的自然驾驶数据库,另外一个就是我可以到我 oddf规范下的去进行一些实测的的路程,它的优缺点我在之后的 PPT当中都会提到。

第二部分就是根据我不同的数据来源进行场景的生成和的抓取。第三块对我的场景进行了管理,德国项目对它进行了一个的划分,主要可以划为是功能场景、逻辑场景和具体场景。功能场景主要指的是高层次上的对场景进行通常是以人类可读的文本或者图形形式的一种定义和描述。就是说我现在想要测一个在三车道的高速公路上的一个向左的变道的这样子一个场景,这个就是一个功能场景。逻辑场景是对我功能场景更做进一步的具体化,也就是说对于我这个场景里面的参数进行一个的列举,但没有对它的值进行一个的列举。具体化场景就是对逻辑场景再做进一步的实例化或者具体化,也就是说在怎么样一个三车道的高速公路上面,它的车道宽是怎么样的,它的路的限行和它的颜色怎么样子,以怎么样的速度去进行去进行一个的变道,其他的车辆的速度或运动态势怎么样子。场景管理之后一步就是进行具体场景的选择,其实也就是大家通常说的测试用例的生成,也是以及测试用例的泛化的过程。之后一步就是当我生成好了具体的测试用例之后,我就会对我的场景进行执行,这边所涵盖的就是在汽车研发过程当中,不同的软件也好,硬件也好,车辆也好,甚至是包括最终的我到我的 pre ground去做我的实际物理测试也好,都是运用我前面所生成的测试用例。

最后一步是对前期的场景执行的一些的结果,根据我前期定义好的评价的标准指标,还有包括不同的体系下的KPI去对我的整个的function去进行评价和评估。

在进行到场景建模和分类之前,我想给大家介绍一个非常重要的概念,就是自动驾驶设计工作运行域,也就是odd。就说在SAE3016里面对odd的定义是:对自动驾驶特定系统或其功能专门设计的一个运行条件,包括但不限于有一些环境因素、地理因素,还有时间限制的因素,然后还有的包括我在交通和道路特征方面的一些的描述。简而言之就是说我的自动驾驶的功能必须确保在我在操作设计与odd下进行安全的工作。右边这个图就是是2020年英国标准学会最新推出的一个pas1883,它是对于我怎么样去对自动驾驶车辆的一个odd进行一个形式化的描述,然后它有哪一些的分类这边是摘取了里面一个它的大的分类图,把它分为三类:一个是情景,然后是环境条件,还有一个动态的元素。在情景底下主要就是对我的一些的静态的,包括我的路可驾驶的区域的范围,还有包括一些道路的特征进行一些的描述。在第二大的分支里面就是对我的环境条件,包括我的气候,包括我的雨、雪、雾,还有包括我的粉尘,还有我的光照的条件,做一些相对应的一些的规范。第三块就是对我的车辆之外的一些其他的一些车辆,其他一些动态的元素,包括人、车其他一些运动的物体做了一些规范。

然后还有一个点就是在 pas1883里面,它是对所有的比如说对我的环境的因素都去做了一个可测量化的规范定义。也就是说我的雨雪,我的雪从无到最大的雪,它都在里面去分好了不同的可测量的物理范围量,来让我的odd和我的车能在实时运行时候可以去的判定我现在的环境因素:雨和雪到底下到了哪一个程度,来去结合我的前期设计运行域来做相对论的判定,去判别我现在这个功能是可以的运行,还是说超过了我的odd设计的范围。

这个页面我想给大家展示的,就是说我们怎么样去描述或者说怎么样去对我的场景进行的建模,这个是在德国的配套设施项目里面,去定义了一个6层的道路场景和环境场景的模型。第一层是对我的基础道路和包括我的道路几何尺寸,它是直路的弯路,它有的几段它是上坡的下坡,一些道路尺寸的特征进行了一个定义。第二层在它之上的就是对我一些道路设施和我一些的规则,包括一些交通标识牌,它的限速是怎么样子的,它是它的允许的驾驶的方向等等去做了一些规范的定义。然后在第三层面对我基于前两层之上再去加了一些,比如说我现在要道路施工和一些临时的改造和一些活动方面的定义。第四部分也就是我们通常说的一些 dynamic的情况,就是说基于我定义好的一二三层的路上面,其他的一些除了我vehicle之外的移动的一些运动的物体,它们是怎么样的,包括我的车、人,还有我其他的飘过一个气球、其他车上掉下一个木的纸箱。去做这些运动的物体,在我场景当中进行一些的定义。然后第五层的话,刚才也对应前面 pass1883里面定义对我的环境条件,也包括我的光照的信息,是自然光还是我的人工光,然后还有我的道路的天气去进行一些相关的定义。然后第六层面是对我一些 v2x一些数字的信息,包括我的数字数据和的地图相关信息进行一些定义。它给了一个大层次上面的Highlevel方面的,怎么样去做自动驾驶一个虚拟的验证,基于场景的验证。场景的当中怎么样去分,怎么样去建我这么一个场景的技术的概念。但是,下面一个问题就是说,有了这些基本要素之后,我怎么样去怎么样去建,甚至都包括我怎么样去进行的仿真,怎么样去到我的整个验证的流程链的当中。下面我就基于,德国ASAM自动化及测量系统标准的协会,他们所在近几年的工作的当中所去出台的一系列的标准。德国ASAM的标准现在是应用比较的广泛。也是参与的机构和厂商是比较多的一系列的标准。他们称为open X一个自动驾驶仿真验证领域的一系列的标准。具体里面包括了仿真格式,包括open CRG道路的路面,在左边这个图当中大家也可以看到。第二块就是对路的逻辑的网络进去进行一个标准化是open drive,现在最新的是出到1.6,是对我所有静态的地图的场景进行一个规范和描述,包括刚刚说的路的几何的尺寸的架构,然后有几个车道车道的宽,还有不同的颜色,还有不它不同的标识牌等等。然后还有openscenario,现在是进行到1.x。是对所有的动态行为的场景,还包括了环境的因素进行一个定义的规范。这边是open osi是对传感器和3D的环境进行一个仿真接口的定义。然后还有一个就是对我场景的标签和传感器原始数据方面的open label一些相关的定义。左边这个图大家可以看到现在在 open x下,他们的相互关系是怎么样子的?中间可以看到对场景的描述主要是open drive,静态openscenario,动态,还有openCRG路面,对核心的场景和路和scenario去进行一个的描述。然后这边的包括和simulator去相邻的有我的osi然后在一块还有它的输入这边有我的open label,还有就是去年的夏天刚刚开始的一个open oddASAM也是结合, odd的相关的法规的标准,去的定义一个怎么样去采用统一的定义的语言和统一的量和的所有的一些的定义去结合到我open x的当中,对我的odd去进行一个规范化的定义。然后还非常重要的是,大家可以看到在这边有去年的夏天也开始了一个open x ontology知识图谱的本体论的一个规范化的标准,它的作用是什么?是要把所有在ASAM open x底下所牵涉到的Domain里面的量:不同的路的规范的定义,它的名称怎么样,它的单位它的相互关系是怎么样子的,所有静动态还有osi open label,所有把它的里面的量通过一个形式语法semantic的方法把串联起来和进行标准化。可以说Asam是在相关领域已经做了非常超前的一个的布局和一些标准化的工作。

这个页面我想给大家展示的就是刚刚德国的Asam,他们是对于标准以及基于场景的自动驾驶测试一个流程。他们是怎么样去理解,然后他们是怎么样去映射到各个标准和的规范,到整个的流程的当中。可以看到我从最左边的开始到我的测试用例和我的requirement和我的规范的文件的定义的开始,它这边的用到现在也是刚刚开始的一个open test。对我现在到底去做,硬件、软件、真实道路测试也好,对我的整个测试去做一个定义好的规范描述。然后这边对我的整个操作运行域odd去进行一个的描述。

然后这边是通过我刚刚的介绍的open drive crgopen scenario包括之后又会出来的一个2.0去对我场景的本身,包括它的通过和失败的一些的标准评价的指标去进行一个的描述。中间层,就刚刚说的进行一个场景的执行,包括虚拟和结实的真实,然后包括最后的完全的侦测的一个路测去进行一个场景的执行,然后是包括到怎么样对我的场景处理的数据和它的前期的requirement和它的规范去进行一个结合,场景执行的结果了一个后处理,然后包括怎么样去存储这些的数据,去做了一系列的相关的一个的映射,以及从规范标准上面的考量。这边的一些的信息,大家可以在具体的在ASAM他们的官网的当中可以得到非常详细的内容。

难点和挑战

我们下面就来讲一下,基于场景的测试的验证,它主要有哪一些的挑战呢?这边我下面列了几大比较重要的挑战的问题,第一个的问题就是解决我测试场景数量的爆炸的问题,是什么个的意思?就是这边可以看到这是一个非常简单的逻辑的场景。红颜色是我的自身车辆,绿颜色是其他的 Dynamic的一个车辆的参与者。可以看到它的非常简单的一个测量,如果我们假设它这个功能场景有200个,这只是其中一个,这边就是考虑到了我要如果有行人、如果有自行车、如果我下了雨了、如果我光线变化了,如果我车不是一个小轿车、是一个大卡车、然后我的路面的曲率等等的不同的因素情况下。如果我假设我的功能场景有200个,我每个功能场景有6个关键变量的参数,也就是说这边我车的类型、它的速度、是不是一个的行人、它的雨它的路面情况、有没有十字路口,有没有斑马线等等。然后我每个参数的取值,我把它有10个离散的维度,我们通常说的如果我去做全数组的暴力求解,把所有这些组合全都去测一遍的话,单单200个的话,我需要的测试的场景是就要有2亿个就200乘以106次方。就是说这边可以看到就在非常简单的情况下,我们所面临的一个问题就是说,在我高等级自动驾驶情况下,我所可能之后碰到的一个测试场景数量可能是一个几十亿或者甚至是几百亿这个的场景。这边所碰到一个问题就是说我怎么样从我的测试用例生成以及方法论的上面,怎么样去解决这么一个爆炸性能的问题。

然后第二个比较大的问题,结合刚刚ASAM它所展示的一个整个的流程图。这个是一个德国亚琛的工大他们去做了一个非常好的总结,就是我这边蓝颜色的一个块可以把它理解为是我整个的高等级自动驾驶去结合到我整个研发和我v字流程当中所能用到的一个所有的数据库。包括我的原始的数据,包括我的所采集的数据仿真数据,以及我所生成的一些场景的数据。这边展所展示的一个就是他所代表的一个复杂度,我怎么样去在我整个从我的概念,到我的实车的一个整车的验证,在我所有的包括我的软件硬件各个流程的当中,我所需要去做到了数据流的分析,包括我之后一个的摘取。然后这边所牵涉到一个问题,也就是说在我整个的验证流程和我场景数据开发和我的验证方法的当中,我怎么样去进行模块化,然后怎么样去进行一个自动化的验证。然后包括场景自动的生成,自动的重组等等所面临到的一些难点。还有一个比较大的难点,包括我的法规的也好,包括我的汽车认证流程也好,我怎么从测试认证法规上面去做一个完备的的定义。这边所展示的一个图是世界汽车工业国际的协会他们所提出的一个设想。大体的思路是把大量的所生成出来的场景,包括我前面的从功能场景到逻辑场景到我的具体的场景,通过我的仿真的测试,比如说这边有一亿个。通过我的仿真的测试,一步一步的去把我所谓的这种严苛的场景,critical的场景、corner case,甚至都包括的edge case,怎么一步一步去在我流程的当中去进行的缩减,到最后去综合成最后的一些严苛的场景,到我真实的道路当中去进行的测试和我的一些法规类的开放。

这个图也就是继刚刚世界汽车工业协会,它所去描述的一个,我怎么样的是去到真实的路测的当中去进行测,然后怎样的一个场景到我的虚拟情况下去测。他这边是列了一个在自然交通情况下的常见度,和我它的场景的一个困难度。可以看到比较常见的一大部分的是这种比较的简单或者说比较的常见的驾驶的场景,就是我从右边朝左边开,然后这边有一辆白颜色的车停在我的斑马线前,有一个行人从斑马线的右边去穿了。这种比较简单的场景,他建议是到我的自然的一个正式道路上面去进行实测。然后在这边一步一步复杂下来,也可以映射到我刚刚说的就是非常多的一些虚拟的场景。就是说这边的结合我这辆车停在了右边又有两辆车,它这辆车去的覆盖到影响到了我一个vehicle的传感器的视角,然后行人突然之间从白颜色和红颜色两辆车之间快速的通过,要到被定义为是一个critical任务。然后什么是这种 corner case或者说是非常少见的一些edge case。这边白颜色的车在我对面车道进行急刹车,然后他身后又有一辆自行车快速的通过,然后与此的同时这边停了三辆车,停了的间隙也很小,然后在两辆车的中间,有一个行人在我自行车穿过的时候,突然之间去的穿马路。去验证我车在这种相对比较复杂的情况下,是怎么样子的一种表现情况。像这种场景他就是推荐是要通过对虚拟的simulation的方式去进行一个验证跟测速。

相关标准和法规

这边是对我刚刚报告的当中,对于基于场景的验证,我所去谈到了一些主要的的标准和一些的法规,来供大家去进行一些的背景知识的阅读,主要这边一个的重要的就是我们的 Sotif21448,是一个预期功能的安全,它是专门对于高等级的自动驾驶,去除了我的比较的传统的2626基本是对于车内,然后预期功能安全是去定义了由于我车外的环境的一些因素,去导致了我车的一些失效,或者说我一些的功能的不安全性去做了相关的定义。

然后之后这的五个我是ISO3450系列,从34501~34505,去对于自动驾驶场景的术语和通用的信息,然后就包括我场景工程的框架设定,34503是对 odd去进行了一个分类,它和前面说的英国标准协会的pass1883是做一个非常好的相互的补充,然后还有我的34504对场景定义去进行分类,它所对应的也是我之前说的是一个66列的模型,去做了一个的呼应,和相关的补充的定义。然后34505是我对于自动驾驶系统的评测的体系,我怎么样去系统化的去评测它,我怎么样去定义相关的一些评测的指标,是在34505里面做了相关的规范介绍。

然后这边我列了一个去年全球首款由联合国出台了一个对于自动车道保持系统在L3的级别的一个认证的法规。里面定义了从驾驶员L3的接管,然后到我相关的一些严苛的一些车辆的交通的环境的场景,然后我怎么样去通过仿真的一个的手段去对他进行的验证,做了相关详细的一些介绍。

然后这边是刚介刚刚的介绍了就是ASAMopen x一系列的一个仿真的测试系列的标准,然后这就是刚刚说的英国的一个pas1883,然后还有就是H case是他们做的ul4600对自动驾驶安全评价指标去做了一个规范。这边我就是挑了一些重要的规范给大家分享一下。