写在前面
自动驾驶定位模块是自动驾驶系统必不可少的模块之一,但对其精度的要求一直没有一个严格的标准。前段时间有幸阅读到Localization Requirements for Autonomous Vehicles这篇文章,为更好地进行学习自动驾驶定位技术并进行相关工作,本人在同事的帮助下完成了自己对全文的阅读与翻译,以后将逐步更新自己对这篇文章的解读,欢迎大家一起讨论。
原文:Localization Requirements for Autonomous Vehicles
摘要
自动驾驶汽车需要精确的位置和方向信息用于感知、路径规划、控制和通常的安全操作,并且这些信息的获取应不受天气因素和交通条件的影响。实现自动驾驶汽车的前提是满足这些定位要求。本文从安全完整性等级开始,在探讨现今道路安全需要改进处的同时,定义了运行过程中每小时发生故障的概率。此处比较了航空和铁路对定位完整性级别的要求,发现两个要求的数值相近,运行时每小时发生故障的概率都为 1 0 − 8 10^{-8} 10−8。本文随后定义了几何问题,目的是了解汽车所在车道的信息并判断所处车道级别。本文提出了警报限制(Alert limits,AL)的概念,并根据美国道路几何标准(车道、宽度、曲率和垂直间隙)和允许的汽车尺寸,得出了95%(2 σ \sigma σ)精度要求下的纵向,横向和垂直定位误差范围(警报限制)。乘用车在高速公路道路上行驶时,要求横向误差范围为0.57 m(0.20 m,95%),纵向界限1.40 m(0.48 m,95%),垂直界限为1.30 m(0.43 m,95%),且的姿态界限为1.50度(0.51度,95%)。而在园区和城市街道上,道路几何形状使得横向要求更加严格,横向,纵向误差范围都为0.29 m(0.10 m,95%),定位方向要求为0.50度(0.17度,95%)。
关键词:自动驾驶汽车,自动驾驶,定位,位置,要求,安全性,完整性。
引言
自动驾驶系统对定位精度和可靠性的高要求是前所未有的。如下文所示,自动驾驶汽车要求在高速公路上运行时定位级别为分米级,在园区、城市或居民区街道上运行的定位级别接近厘米级。这些要求只为了一个目的:让车辆准确感知自身所处的车道。在水平方向上,精度要求由纵向(前后)和横向(左右)组成。在垂直方向上,要求车辆必须知道在多级别车道上自身所处的车道级别。在任何给定的时间内,对车辆每个方向上位置误差最大值进行估计,这些估计值被称为保护级别,如图1所示。在每个方向上,可以确报运行安全的最大保护级被称作警报限制。这些警报限制被设计为变量,对我们来说他必须足够小才可以在任何时间下都可以确保车辆在它自身车道内。在任何给定的时间内,如果保护级别高于警报限制,将不确定车辆是否行驶在对应车道上。这些界限将通过与车辆尺寸(长度和宽度)和道路几何标准(路宽和曲率)有关的函数表达。
表1列出了上个世纪关于定位取得的进展以及分米级精度定位的挑战。在20世纪初期,最先进的定位工具被用在海上,包括测量星星纬度的六分仪和用于测量经度的船用精密计时器的精确机械钟。结合起来,这些传感器在海上可以提供一个大约3Km精度的位置信息。第二次世界大战时,空中导航要求在任何天气下可用并且要具有实时性,从而加速了无线电在新兴的空中导航作业的应用。随着地基无线电灯塔的发展,定位精度大约可以达到500m,但这个精度实现的前提是必须在该基础设施的限制范围内。在20世纪60年代,第一个卫星导航系统——Transit上线了,该系统由美国海军运营,其精度可以达到25m,达到北极星弹道导弹潜艇的定位要求。这个系统只有少数的几个卫星在近地轨道上,所以需要一个小时或者更多时间去获取位置信息。在20世纪90年代,全球定位系统(GPS)开始上线及运营,现在可以在任何开阔的场地实时的提供精度为1-5m的位置信息。图3清晰地指出了在上个世纪每隔30年定位精度的增长程度。这些都预示着21世纪20年代将是实现分米级定位的第一个十年。并且也表现了我们关注的一个问题,就是在这个趋势下,定位精度也将满足运行自动驾驶汽车的定位需求。
图2展示了汽车工程师协会(SAE)对按照对车辆操控的程度对自动驾驶进行了分级。L0表示无自动化,驾驶员对车辆所有行为进行操控,大约在20世纪70年代的所有车辆几乎都属于这个级别。L1表示在操纵油门、制动和转向方面添加了一些对驾驶员辅助的功能,但仍要求驾驶员监视和控制车辆,这些功能包括巡航控制和ABS等。L2为部分自动化,驾驶员负责监控驾驶场景,系统负责一些动态驾驶任务包括横向和纵向运动(转向、加速和制动)。当驾驶驱动系统无法工作时驾驶员必须立刻接手动态驾驶任务。一些L2的的系统包括但不仅限于特斯拉2014年发布的Autopilot和通用2017年发布的Super Cruise系统。L3表示有条件的自动化,意味着在特定的情况下,车辆可以运行在设定的的范围(ODD)内。这个系统负责监控场景和包括一些横向和纵向运动(转向、加速和制动)的动态行驶控制。当系统确定其无法完成任务或者超出设计的运行范围(ODD)时,在这个时间范围内,通知驾驶员接手动态运行控制以完成运行任务。L4指高度自动驾驶,即在设计好的运行范围(ODD)内,系统可以实现所有的动态控制.这个运行模式可能仅限于一些包含适当支持的区域(例如地图支持并且连续性好的区域),而且对天气等条件的要求更加严格。在2018年,一些研究已经有很大的进展,例如Waymo在可以享受共享服务的小型自动驾驶货车方面取得了很大进展。L5级是完全的自动化,系统在所有区域和所有条件下都可以执行所有的动态控制。
Basnayake等人之前对车联网应用的位置精度要求进行了严格细分,将其分为在哪条道路(<5米)、在哪条车道(<1.5米)和在车道的哪个位置(<1.0米),这都取决于所需求的功能或者操作。国家高速道路安全管理局(NHTSA)在V2V交流会上规定了一部分联邦机动车标准,报告了位置精度在1.5米(1 σ \sigma σ或68%)时姑且相信可以提供保证安全应用的车道级信息。Stephenson提供一种高级驾驶辅助系统(ADAS)用于提高驾驶导航性能要求(RNP),使得汽车定位要求得到了更进一步的发展。Stephenson添加了一类关于控制车辆的功能,其定位要求精度优于0.1米。
在本文中,我们专注于自动驾驶的汽车,并讨论了可以控制汽车行驶条件下的精度要求。在这种情况下,本文中的自动驾驶汽车更多应用于L3+系统,当然本文内容也可以应用于L2。研究这些要求的流程如图4所示。我们首先通过建立目标安全级别来定义问题的统计信息。通过民航局的发展方法,目标安全级别用于为系统的每个元素(包括定位)分配完整性风险。接下来我们通过定义问题的几何方式去建立位置区域。这些将通过一个有关道路几何标准的函数表示,例如车道宽度和道路允许的车辆尺寸等。这些分析都是在美国道路和乘用车标准上的,这些标准也可应用在其他地区和车辆上。
在安全性上规范定位系统时,通常将瞬时估计的位置最大误差称为保护等级。图1表示了我们对整车的横向、纵向和垂直方向上的保护等级定义。我们定义了一个盒子作为道路汽车的逻辑分解方式,也有其他人已经提出了一些基于椭圆的方式。一些传感器和系统例如可以识别车道线的摄像头可以更好地解决横向信息,还有一些传感器例如轮速里程计可以解决纵向信息。允许的横向,纵向,和垂直保护等级的硬性界限称为警报限制,警报限制将通过几何的方式去定义。我们将通过这些信息去判定我们所处的车道。如果保护级别大于警报限制时我们将不能判断车辆是否在车道范围内。总体来说,系统对定位精度的要求是通过完整性级别和几何边界来定义。
定位系统的安全界限有几点性能上的要求,分别为精度、完整性和可靠性。可靠性是指发生保护等级高于警报限制的频次。如果保护等级一直在警报限制之下,系统的可靠性为100%;如果某些时刻保护级别在警报限制之下,那么系统可靠性受到限制。对一个系统来讲,当自动驾驶模式运行时,定位必须是稳定可靠的。另一方面,定位可靠性也是判断能否启用自动驾驶功能的指标之一,因为定位可靠性可以确认车辆是否行驶在制定的设计范围内。这项功能的实现还要依靠高精度地图或者其他可以支持的基础设施。
完整性是指真实误差超出我们预估的保护级别和警报限制的频次。超出的这些值和危险信息都会被反馈到汽车的决策和控制系统。这些信息可以代表系统发生故障的概率,通常指运行期间每小时发生故障的概率。一般的,我们根据不同的道路安全等级提出不同的完整性需求。
通过与商用航空达到的安全水平比较,我们将确定一个可以代表今天道路安全发展水平的级别。我们也将完整性编号与汽车行业和其他行业现有的安全标准设计联合起来。图5和图6总结了保护级别、警报限制、可靠性、误导信息和危险的误导信息之间的关系。在本文中这些都将进行进一步论述。
精度通常在第95百分位处(2 σ \sigma σ)进行测量,是由系统的典型性能描述。这是定位误差统计分布的一个体现,其中警报极限通常定义了操作到所需的完整性级别所需的最大允许误差,该误差定义了统计分布的尾部。因此,准确性是衡量名义性能的指标,完整性是衡量极限的指标。
这种关系如图4所示。
如今,没有一种单一的定位设备可以满足在所有天气、道路和交通情况下提出的安全运行要求。今天,福特汽车公司的自动驾驶研究平台使用复杂的传感器融合策略用来进行定位和感知,如图7所示。这其中包括激光雷达、超声波雷达、摄像头、全球卫星定位导航系统接收机和IMU,这其中每一部分都可以自成为一个系统。因为没有一个技术可以独自满足在所有情况下的运行要求,所以必须通过智能化的手段结合多种传感器以达到运行要求的完整性等级。
尽管在图7中展示了很多可以满足研究发展要求的传感器融合策略,但是在量产时传感器的成本问题成为第一个挑战。分米级精度需要在板载传感器上进行交互、资源计算和储存,并且需要基础设施例如高精度地图和GNSS对其纠正。这样的基础设施对精确定位的可靠性也会影响自动驾驶的功能实现。最终,准确的车辆位置也只在特定语境中使用,所以先验地图是主要的难题。我们将把本文的范围限于定位,因为地图本身就是一个巨大而复杂的领域。当地图要求涉及到定位时我们也会做相关说明。
完整性
2016年美国发生34439起致命车祸,导致37461人死亡。以每英里去计算,平均每1000万英里就有1.18的人数致死(死亡率为 1.18 × 1 0 − 8 1.18×10^{-8} 1.18×10−8 死亡人数/英里)。车祸原因估计值如下:94%( ± \pm ± 2.2%)来自于驾驶员失误;2%( ± \pm ± 0.7%)来自于电器和机械组件故障;2%( ± \pm ± 1.3%)来自于路积水、积冰和积雪等路况影响;还有2%( ± \pm ± 1.4%)的不明原因。总体上来看,在美国道路事故死亡人数中:95%来自道路交通,2%来自铁路,2%来自水路交通运输业,其中1%来自航空业。从20世纪60年代以来,虽然每英里公路的死亡人数减少了五倍,但近十年来死亡人数依然保持恒定,没有下降趋势。
图8对比了在美国1960年到2015年交通事故的致死人数和航空事故的致死人数。航空事故平均每英里造成 2.50 × 1 0 − 10 2.50×10^{-10} 2.50×10−10人死亡,在每英里的条件下比道路事故安全性提高了两个数量级。自动驾驶旨在通过传感器、芯片和硬件融合的方式替代驾驶员执行一些操作,以提高道路安全性。第一代虚拟驾驶系统如果被社会接受的话将代替驾驶员,且相较于驾驶员来说安全性更高。目前所发生的事故中,只有2%的原因是车辆部件故障,而有94%的原因是人为因素造成的,如果能用虚拟驾驶系统代替驾驶员并且以同样的标准要求,那么将极大程度上提高驾驶的安全性。这也就意味着自动驾驶道路车辆的系统要求必须达到民航局的水平,且需要通过严格的地面及线上训练,以及需要基础设施的支持和完善的标准。
做这个分析的起点是通过虚拟驾驶系统将道路安全性提高100倍。民航局的安全性水平是每公里的事故致死人数为 2.5 × 1 0 − 10 2.5×10^{-10} 2.5×10−10,这也是我们想要达到的标准。以道路车辆每公里的致命碰撞做单位,我们用死亡人数除以致命碰撞,在2016年这个值为 37461 34439 = 1.09 \frac{37461}{34439}=1.09 3443937461=1.09,保守的来说,达到了TLS对道路车每公里碰撞率的目标水平 2.0 × 1 0 − 10 2.0×10^{-10} 2.0×10−10.,将此转换为系统级别要求,我们必须同时检查历史数据和自动驾驶汽车架构,这也是民航业的常用方法。
图10展示了自动驾驶车辆的一些系统故障,包括了模拟驾驶员模块和其他车辆模块。此外,它显示了单个元素之间分配完整性风险的一种可能,其最终目标安全等级为 T L S = 2 × 1 0 − 10 TLS = 2×10^{-10} TLS=2×10−10(致命碰撞/英里)。为了获得这种分布,我们必须从TLS开始倒退工作,首先我们必须考虑一个事实,即并非每个故障都会直接导致致命危险。某些故障可能只会导致车道偏离或轻微撞车。信息技术方面,这种致命事故与事故发生率 P F : I P_{F:I} PF:I的比例为1:10,图9显示了原因。该图显示了商用航空和公路运输的致命事故与报告的事故总数的年比率。航空显示为1:14,汽车1:172。这并不意外,因为飞机具有更高的运行速度,以及坠机导致的严重后果。根据这些历史数据,我们保守地选择了汽车致命撞车与事故的比率,即 P F : I P_{F:I} PF:I = 1 0 − 2 10^{-2} 10−2(致命撞车/故障),这意味着每100起事故中有一个致命撞车,其他事故可视为车道偏离或小崩溃。
我们选择的致命撞车事故率是保守的,因为此数字代表致命事故占所有事故总数的比率, 警方报告的撞车事故,不一定是所有发生的事件,即实际上发生的事故可能更多。商用航空关于坠机的数据一般是真实可靠的,因为他们有十分严格的报告要求.在汽车领域,并不是所有的事情都会被报告。据统计,有60%的仅财产损失事故和24%的伤亡事故没有向警察汇报。另外,这个数据体现了每100起警察报道的事故中,只有一起事故与道路的功能性和类型匹配,例如洲际和地方城市道路。因此,我们认为,估算值与大多数驾驶情况处于一个数量级。
下一步是将可接受的完整性风险级别分配给车辆系统 P v e h P_{veh} Pveh和虚拟驾驶员系统 P v d s P_{vds} Pvds。 这些与安全TLS的目标级别和致命碰撞事故比率 P F : I P_{F:I} PF:I 有关,如下所示:
T L S = P F : I ( P v e h + P v d s ) (1) TLS = P_{F:I}(P_{veh}+ P_{vds})\tag{1} TLS=PF:I(Pveh+Pvds)(1)
为了达到TLS = 2×10 − 10 ^{-10} −10(致命碰撞/英里数)的标准,我们将为虚拟驾驶员和车辆系统分配相同的完整性风险。计算结果为 P v e h = P v d s = 1 0 − 8 P_{veh}= P_{vds}=10^{-8} Pveh=Pvds=10−8(故障/英里),并反映在图10中。为清楚的表达,将这些值代入公式(1)即可得到所需的结果:
T L S = P F : I ( P v e h + P v d s ) = 1 0 − 2 致 命 碰 撞 故 障 数 ( 1 0 − 8 + 1 0 − 8 ) 故 障 数 英 里 数 = 2 × 1 0 − 10 致 命 碰 撞 英 里 数 (2) \begin{aligned} TLS &= P_{F:I}(P_{veh}+ P_{vds})\\\\&=10^{-2}\frac{致命碰撞}{故障数}(10^{-8}+10^{-8})\frac{故障数}{英里数}\\\\&=2×10^{-10}\frac{致命碰撞}{英里数}\tag{2} \end{aligned} TLS=PF:I(Pveh+Pvds)=10−2故障数致命碰撞(10−8+10−8)英里数故障数=2×10−10英里数致命碰撞(2)
对历史数据的检查表明,目前的车辆系统故障率 P v e h P_{veh} Pveh非常接近 1 0 − 8 10^{-8} 10−8故障/英里。这可以通过警察报告的撞车事故,NHTSA估算的因车辆系统造成的撞车以及行驶的车辆行驶距离来估算。在2010年至2015年期间,平均每年警察报告的美国道路发生撞车事故有580万起。这些致命事故故障的总和,由致死故障分析报告系统得出,人身伤害和财产损失事故由美国国家汽车抽样系统——一种通用的估计系统估计得出。目前,NHTSA估计大约有2%( ± \pm ± 0.7%)的事故由于汽车系统的故障。通过这种方式,并根据2010-2015年美国3005829000000英里的实际数据,我们可以获得一个关于历史失败率的估计值 P ^ v e h \hat{P}_{veh} P^veh:
P ^ v e h = 580000000 事 故 3005829000000 英 里 × 2 × 1 0 − 2 = 3.8 × 1 0 − 8 每 公 里 故 障 率 (3) \begi