
万万字详解自动驾驶、车路协同中的高精度地图(下)
5 高精度地图数据数据播发与自动驾驶控制器如何进行信息交互
高精度地图数据数据播发与自动驾驶控制器如何进行信息交互 - 知乎 (zhihu.com)
本段着重从自动驾驶开发的角度说明高精地图如何进行数据播发,自动驾驶控制器如何对来自以太网的高精地图信号进行转化,以确保转化后的数据能够为其所用。此外,文章会详细讲解根据高精地图的输出数据,如何进行自动驾驶围栏设置。
5.1 高精地图播发与数据重构
当高精地图信息以一定的形式播发出来时,自动驾驶控制器如何对该高精地图信息进行利用是自动驾驶系统架构的数据感知处理单元需要首先处理的问题,即地图数据传递到ADAS系统应用需要一个分解、传输再重构的过程,如下图表示了相关的播发和重构原理图。
AHP(ADAS Horizon Provider)即电子地平线,作用是为ADAS 应用提供超视距的前方道路和数据信息。提取地图及位置信息生成ADAS Horizon数据,通过总线传输到ADAS控制器,ADAS控制器中有一个重构单元AHR(ADAS Horizon Reconstructor),AHR用于解析AHP 发出的消息并重建地图数据,供终端 ADAS 应用模块使用。即将收到的数据进行重构变成ADAS系统可以看懂的数据。目前ADASIS已发布V3版本支持包含车道在内的高精地图数据,支持车载以太总线传输。
5.2 高精地图数据播发原理
高精地图实际是一种数字地图,用各种细节级别来表示对于世界的抽象。比如当对道路进行建模时,需要以不同的曲线表示无岔路的直道,而以连接点的方式来表示岔路节点,而以各种不同的连线及节点组合一起构成道路网络的拓扑结构,随后在利用世界坐标系进行坐标定位。
上图为一个简单的T型交点表示现实中车道简化模型。红色点表示数字地图中的节点,红色和黄色的线表示了各节点之间的连结性。为了更加真实的表示路网结构,将类似十字路口或其他更为复杂的情况简化为一个简单的抽象视图。随即通过一定的要素(如位置、连接关系等)把零散的地图要素表达成一幅完整的地图加以描述。
为了更好的对高精地图数据播发原理进行说明,需要对当前高精地图常用的播发要素进行说明如下:
ADAS范围是对车辆前方环境的一种预测树视图,它被描述为不同路径的集合和周围的数字导航地图数据。预测树是由多条路径连接而成,每条路径都代表道路的一部分,并通过交叉点(交叉口)和其他路径连接起来。一旦车辆移动并更改其位置,预测视图也会更改:可能会删除一些经过的路径,或者增加一些新的路径。在自动驾驶系统控制过程中,应用高精地图比较广泛的场景包含如下一些:
其一,高精地图需要告知自动驾驶系统当前车辆处于何种位置,该位置下周边环境怎样?
其二,高精地图需要结合驾驶员设置的导航信息,告知自动驾驶系统从当前时刻开始,下一步车辆应该从道路的何种路径行驶通过。
为了对如上两步中的过程进行完善,我们需要对行驶过程中相关的元素分别进行概括分析如下:
a)节点PathNode及路径朝向HeadingAngle:
道路分支节点,可用于表达场景网络拓扑下的路径关系,他可以区分自动驾驶系统控制下的各条行驶路径间的关系,其相关的信息包括分支点相对于当前道路位置的偏移量NodeOffset、子路径编号SubpathID、分岔路与主路间的夹角α/β。该夹角从右向左分别从0°增加到360°,其中α=180°时,表示沿着当前方向没有分支点,当α=180°时,表示该子路径与自车行驶路径相反。
b)路径ID:
如下图罗列出当前车辆可以通过的可行使路线。实际上,在高精地图进行路径规划中会包括驾驶路线及所有可能的路线,每条路径分配有相应的编号即PathID,该编号根据是否存在分支节点会随时生成相应的主路径与子路径,其中主路径MainID是指车辆当前行驶位置到分支节点间的行驶路径,子路径SubID是指在节点后的分叉路径。行驶过程中是通过不断地寻找在各个节点处相同地路径编号PathId,作为规划下一时刻的行驶过程。如下图所示,以前述路径交叉节点为分界点,可以描绘出不同的行驶路径,并为各个路径进行编号。如下图表示了4条不同的路径。
c)偏移量NodeOffset:
偏移量具体是指自车当前位置距离前方关键点的距离,这里的距离是一个相对量,而计算该距离的过程是两个绝对值相减的过程,如下图表示了当前车辆位置(这里称作坐标原点)与关键点的偏移量表达,其中针对交叉节点分割的两条路径,分别计算不同的路径偏移,如果是非主路上的路径偏移则需要计算两个部分偏移进行叠加,一部分是岔路点到车辆当前位置的偏移距离offet1,一部分是岔路点到子路径关键点的路径偏移offset2;总体偏移量为以上两者的总和:即offset_path2=offset1+offset2;
高精地图实际时针对当前位置实时动态的向前播发一定距离的地图数据,实际数据播发过程以车道模型为基本单元,在车道模型属性中的车道数量、车道线、车道类型变化的地方设置断点,一般设置断点间的距离为100-600米左右,由此需要保证车辆前方有至少2km左右的数据,如果有岔路出现,则对该岔路标识的子路径播发500-1km左右的距离。
如下图所示,表示了高精地图向前播发数据的位置及原理。
此外,为了节省内存空间,需要对无用数据占用的缓存空间进行定时清理,删除车辆后方(或称拖尾)的一些无用地图数据,删除过程一般采用限定拖尾范围距离的方式进行,即自车的行驶距离超过该拖尾范围距离时,执行删除指令。这里要注意的是,需要确保删除的拖尾不能是当前车辆正在通过的行驶路径。
d)车道模型LaneModel
在现实世界中,至少要有一条车道来描述一条路。车道通常是道路上的一个横向分隔区域,供车辆朝一个方向行驶。每个路段都可以通过车道数和行驶方向来描述。在水平面上传输的所有车道组可以包括所有可想象的车道类型。从一段路到另一段路,特别是在十字路口,车道相互连接。
每条车道都有属性和几何描述,车道模型概要文件包含描述特定路径上的车道的信息。对于每个车道,它包括关于车道号、方向、过渡和车道类型的信息,以及描述车道边界的两个线性对象标识符。一般的,车道模型包含不同的类型,如普通车道、应急车道、公交车道、超车道、加速车道、非机动车道等。
车道的方向和连接描述了道路的逻辑视图,再次呈现出地平线路径的一部分。识别车道的方法是在驾驶方向上从右到左从1开始计数,包括肩道(如果要表示肩道)。作为高精数据的车道模型是按照一定规则打断后播发的基础单元,包含了车道类型、编号、转化关系等信息。
e)车道连接属性Lane Connectivity
车道连接属性表示了一个车道模型到下一个车道模型之间的车道连接关系。他可以对不同车道之间建立有效的连接关系,也可以对同一车道内的有效车道与无效车道之间建立分隔关系。首先通过对车道路径按照一定的距离进行打点分割,将分割的两段车道线进行编号排序,排好序的车道属性作为车道行驶路径连接的规划点表达(车道编号:LaneNumber,车道所在路径编号:PathID)。
f)导航路径规划 Navigation Path Planning
导航路径规划实际是高精地图接收导航地图发送的驾驶员设置目的地信息进行路径规划的过程,它包含对当前车辆位置的探测,车辆下一时刻形式位置的预测,并对该预测出的路径打上标签发送标志信号给自动驾驶中央控制器以进行相应的车辆轨迹规划。
当前车辆定位完成后,分别生成了两段可行使路径,随后在设置了导航路径后,分别为该两段路径打上标签,当某段路径属性与当前位置路段属性一致时,则将两端同一属性的路径标实为下一时刻需要行驶的路径。如下图,表示了当前车辆位置处路段属性为Path_1_Label=1,下一时刻两条不同路径的属性标签分别为Path_2_Label=0,Path_3_Label=1,Path_4_Label=0,此时Path_1_Label=Path_3_Label,则表示车辆需要沿着Path_3进入岔路口。
这里需要注意的是,导航数据播发是通过从检测到前方特殊特殊路径开始生成。比如前方一定距离PreDis后有匝道,则从该时刻开始进行路径预测。
如上路径轨迹预测播发过程如下:
i.导航地图根据人的指令(如目标POI点)规划出全局行驶路线(道路级);
ii.然后将规划的“行驶路线”给到高精地图;
iii.高精地图基于“行驶路线”计算出“车道级路径规划”;
iv.再将“车道级路径规划”给到自动驾驶控制器辅助决策局部路径规划;
g)车道信息Lane Information
车道信息包含了基本车道信息及车道几何信息。
基本车道信息包括了车道编号(行车方向从右向左,编号递增)、车道置信度(包含高、中、低等多类别)、车道类型(车道线、中心线、篱笆、护栏、墙等)、车道颜色(白、黄、橙、蓝、绿、灰、左白右黄、左黄右白等)、车道线型(单实线、单虚线、短虚线、双实线、双虚线、左实右虚、右实左虚、导流线等)等要素。
车道几何信息包括了车道线编号、车道边界坐标、车道中心线坐标、车道曲率、车道纵坡度、车道横坡度、车道航向。
5.3 自动驾驶地理围栏设置
地理围栏是高精地图针对自动驾驶功能设置的电子围栏,用于限定自动驾驶车辆在该范围内的激活控制前提条件,当车辆处于地理围栏内时可以确认开启自动驾驶功能,当车辆处于地理围栏外时,自动驾驶功能退出或禁止开启或触发相应的报警功能
一般情况下能够利用高精地图设置的地理围栏规则如下,地理围栏包括两个部分,其一是特殊场景标识的禁行区,地理围栏外的特殊场景设置包括道路等级、道路构成、收费站、检查站、收费站、检查站、施工/禁行/被借用、交通灯、曲率、横坡、纵坡等。如上图中表示出了比较典型的驶出地理围栏的标识。其二是禁行区外的距离延长区,该区域内是对地理围栏的确认判断区,可作为自动驾驶的报警区。
5.4 总结
真正高精地图播发的数据一般是以以太网数据格式进行发送,而在自动驾驶控制器看来是无法直接利用起来的,除开信号格式不一致外,信号也需要经过包含一系列数据解析的方式进行数据重构。
6 集中式自动驾驶控制域中的高精地图数据解析算法
LK分享|集中式自动驾驶控制域中的高精地图数据解析算法 - 知乎 (zhihu.com)
面向自动驾驶场景,高精度地图让自动驾驶车辆人性化地理解不断变化的现实环境,通过云端实时更新的多图层高精度地图数据,在自动驾驶车感知、定位、 规划、决策等模块起到重要作用。当前高精度地图的数据处理方式主要是放在自己单独的地图盒子里面进行前端处理,包含将原始高精地图的建图数据进行有效的分析分解形成自动驾驶域控制器可用的数据。
这一过程我们通常称之为EHP(Electronic Horizon Provider)数据到EHR(Electronic Horizon Reconstructor)数据的转化。EHP是ADASIS协会的一个标准,这个标准它主要是为了解决在CAN总线上各模块异构的问题,能够以CAN总线消息的方式,向以太网或者向CAN总线发送这个地图数据,告诉所ECU前方的情况是什么样。所以它也叫EHP,eHorizon也就是电子地平线。车辆通过EHP它就能够知道前方的路况怎么样,前方是不是有比较大的弯道,前方限速是不是有变化或者是不是车辆马上该出主路了等等。然后用EHP播发地图时相当于把一个地图的语言转成一个汽车的语言。而实际上,在自动驾驶中央域控制器单元中,还是无法直接利用高精地图地平线直接的播发EHP数据,而是需要在终端进行重构,重构后的Can数据才能真正的为自动驾驶系统所用。其中,该重构的过程包含了电子地平线数据的提取、存储、同步和格式转化等几个过程,这个详细的数据处理模块也正是放在高精度地图盒子里的。
6.1 下一代自动驾驶系统高精定位架构
为了适应下一代自动驾驶系统的开发需求,我们实际是把如上数据处理过程放入了中央控制单元进行。所有的开发算法需要由自动驾驶AI/SOC芯片或者MCU芯片来承担。由于将高精度地图原始数据直接输入至自动驾驶中央域控制器中,这就要求域控制器具备足够高的处理能力,这里我们通常考虑的指标包含了算力、带宽、利用率等几个因素。众所周知,MCU作为决策规划的高级别处理单元,对自动驾驶传感输入端的结果数据处理是够用的,但是对于以指数级别递增的原始传感数据,则显得无能为力。因此,我们在高精地图数据处理及转化中也通常会放到前端SOC芯片中,因为其算力、带宽及融合算法都是相对成熟的。如下图表示了一种高精地图集中式数据处理的结构图。
本文将针对性讲解自动驾驶域控制器如何将前端EHP数据转化为后端可处理执行的EHR数据。
6.2 地图数据播发与重构算法分析
自动驾驶域控制器在针对高精地图数据的集中式处理方式上主要是采用了紧耦合方式,其原理是将图商提供的地图原始数据EHP与AI芯片算法需要使用的数据(主要包含传感器感知数据、IMU数据、轮速数据、RTK数据)进行有效融合,最终生成可以直接供自动驾驶域控制器逻辑处理单元MCU利用的高精度定位信息EHR。届时,数据定位与播发EHP,数据管理与重构EHR的任务都交给了中央域控制器内部处理单元进行,图商只是提供众包和生成的底图。就内部数据传输而言,以上EHP与EHR两者之间仍旧基于ADASIS V3协议进行通信,自动驾驶控制算法模块能够直接利用的仍旧是EHR信息,因此EHR仍旧需要解析以及向上层应用输出统一接口(一般为直接的CAN数据)。
在我们针对EHP转EHR的软件设计中主要需要考虑如下一些设计原则,才能确保转换后的数据是准确无误的。
1、传输可靠性
地图数据传输过程中需要严格按照ADASIS V3标准进行封装,EHR在解析地图数据包EHP时,需要严格按照ADASIS V3接口标准进行,保障地图数据传输过程中的正确性。此外,EHR系统内部算法需采用统一的数据模型,确保内部运算的稳定性。一般的EHP与EHR在控制器内部通信协议中仍旧采用原始以太网的方式进行。
2、算法适应性
当前不同的图商在地图数据包的传输和内容封装上都有各自不同的标准和格式。如何设计有效的算法模型能够作为基准让所有的图商适配这套EHR软件系统是必须要考虑的问题。
3、软件更新度
自动驾驶对于高精定位的需求不会是一层不变的,往往会随着功能的迭代出现大幅的增加。软件的可更新度就是可以尽量确保当有新的需求需要更改融合定位软件时,无需更改软件逻辑架构,而只是在已有软件架构基础上做一定的参数标定即可。实现方法是可以弱化软件定位软件模块间的耦合度,对外封装单独的标定参数接口。
有前文分析,EHR软件模块可看成是一种简单的TCP协议架构,主要包含物理层、数据链路层、数据过渡层以及接口封装层四个层级,且每个层级都是为上一个层级服务的。如下图所示是各个层级之间的关系图。
如上图所示的地图数据转换模型中,从下至上的数据模型构建分别可以起到的作用如下:
1、物理层:
负责地图终端数据抽取,使用的网络协议主要为ethernet/SomeIp,抽取完成的数据应用ADASIS基本地图协议进行初级解析,解析完成的数据放入数据缓冲池,作为数据中间件的数据源。
物理层模块主要包含的处理要素分为如下:
2、数据链路层:
由于原始地图数据提供的数据格式存在一定的差异,可能导致系统对于EHP到EHR的重构算法失败,因此数据链路层的主要任务是负责将原始地图所表示的EHP数据转换成上层系统所要求的数据格式,由此对数据过渡层提供统一的道路数据结构。
这里需要注意物理层与数据链路层在进行模块数据处理(读取和写入)时,都采用了多线程的方式,因此各个处理模块之间是彼此独立不影响的。
物理层模块主要包含的处理要素分为如下:
3、数据过渡层:
这是数据转换中最重要的单元,数据过渡层主要负责高精地图原始众包数据EHP到EHR数据的实际转化过程,同时,该过程融合了自车提供的导航数据信息,生成了基于实车导航数据的高精度地图信息。其中,导航地图(SD)完成道路级路径规划,输出路径地图特征信息,在 高精地图(HD)中完成道路路径匹配,并规划出相应的车道级路径。
此外,由于ADSIS V3协议采用了增量更新策略。即,在地图还原过程中需要引入多帧数据叠加才能确保还原效果,因此在数据过度层中设置高速数据Cache可以完美地保持住当前的输入数据帧,并确保连续性。包含优化数据接口封装层对数据访问效率,提升数据链路层对数据应用接口层对数据的读取效率。
数据过渡层模块主要包含的处理要素分为如下:
4、接口封装层:
由于重构的EHR数据信息可能在真实地整车级数据协议上存在不适配的情况,这就要求在数据封装时进行接口适配和数据重整合。接口适配是需要使接口输出模块对应于输出协议,其重构的内容符合整车要求的信号协议(如Can协议)。
接口封装层模块主要包含的处理要素分为如下:
6.3 总结
下一代自动驾驶系统架构已经倾向于完全集中式设计方案,即将所有原始传感器处理的数据纳入中央集中式处理,这一过程也涉及到将以前的高精地图盒子所承载的数据转化功能纳入自动驾驶域控制器中进行。这里我们需要明确地知道相关地图数据的提取、转化、缓冲以及封装等各个重要单元的工作步骤、原理及关键点。ADASISV3协议作为高级驾驶员辅助系统接口规范,其定义了“ADAS Horizon”的概念,作为一种手段,可以精确地传达部分道路网络及其特征。因此,在我们做数据转化过程中通常也都是基于ADASISV3协议进行的,并且,后续从上层角度出发实现数据转换包的开发。这其中所有的算法过程都需要后续嵌入到域控制器中。由此,我们在前期设计域控制器时,就需要从算力(包含AI算力以及逻辑算力)、带宽、DDR、eMMC、接口资源需求以及功能安全需求等几个方面充分考虑其是否能够完全满足高精定位系统的需求。
7 自动驾驶汽车是如何利用高精度地图和高精度定位来进行“导航”的
LK分享|自动驾驶汽车是如何利用高精度地图和高精度定位来进行“导航”的 - 知乎 (zhihu.com)
高精度地图一定是匹配高精度定位来使用的,如果车辆定位本身精度不高,就类似于你获得了碧血剑谱,但是没有自宫,这个武功是没有办法学会的。
高精度地图数据的采集、处理、以及地图的建模都需要以高精度的位置坐标作为框架。高精度地图中道路和场景是自动驾驶汽车感知和决策的数据基础,若在制图过程中位置标定出现误差,就有可能造成自动驾驶系统的判断失误。
以高精度地图为基础,结合感知匹配实现高精度的自主导航定位,在定位信号中断或不稳定的情况下,保证自动驾驶汽车仍明确知晓车辆在当前环境中的准确位置。而高精度地图与高精度定位相结合,车辆能够提供了解当前位置可能的道路特征情况,调高传感器的识别精度,降低对于传感器的性能要求。
普通GPS的定位精度只能到5-10米左右的绝对精度,做的相对比较好的可以做到5米左右,但是无法充分满足自动驾驶汽车对高精定位的要求,需要寻求其他辅助手段来提高定位精度。
7.1 RTK绝对位置高精度定位
RTK——“地面上的卫星定位系统”。RTK技术指实时动态载波相位差分技术, 通过地面基准站与流动站之间的观测误差,实现分米乃至厘米级的高精度定位。卫星定位的误差难以避免,而地面上某些固定点位的绝对位置坐标是可以相对精确给定的——例如特定的地理坐标点、卫星接收站等,以该点位为中心的20-40km半径范围内,对流层、电离层等环境干扰对卫星信号的干扰方向和程度基本一致。
因此这类点位作为RTK中的“基准站”,协助附近的运动物体一一“流动站”矫正卫星定位的结果。简要流程如下:一、基准站将卫星定位结果与已有精确坐标比对,计算出此时该区域的卫星定位的综合误差;
二、基准站将该误差数据发送给附近的流动终端;
三、流动站收到误差数据,矫正自身卫星定位结果, 实现厘米至亚米量级定位精度。
简单点理解,就是增加了一些基站,类似移动4G这样的基站,这个基站是专门用来做高精度辅助定位的,此时就需要在车上增加RTK接收的天线,同时这个RTK类似于移动收费一样,用户需缴服务费获得差分修正数据,这笔钱要交给地基增强网运营商。从RTK原理可以看出,除了设备和技术本身,RTK定位精度还取决于基站绝对位置的精度,以及距基准站的距离。RTK的供应商国内第一的就是千寻,全国建立超过2600个地基增强站,这个可以在很多位置可以覆盖高精度定位。是不是看起来非常理想,通过RTK就可以解决高精度定位,还是太年轻,想想RTK的本质还是需要接收到GPS信号,同时结合接收RTK的基站信号,成本这里就不谈了,需要增加接收差分信号接收天线和模块,关键你怎么保障你车子行驶的位置都有GPS和RTK基站信号。首先来看GPS信号接收比较困难,是因为卫星的发射功率并不大,信号到达地面时已经很弱。这种信号强度相当于1.6万公里外一个25瓦的灯泡发出的光。再做个比喻,它比电视机天线所接收到的功率还要低10亿倍,所以在隧道、树木茂密、高楼林立的地方,虽然天空中有7-8颗卫星,但是至少需要接收到4颗卫星及以上才能定位。此时经过信号的反射多路径干扰,隧道的衰减等等,所以在这些天桥、隧道、树木茂密等驾驶环境下GPS搜不到信号也是正常。我们再来看看RTK的一个基站覆盖的范围是20-40KM,而且基站建立的成本也不低,主要在城市道路或者常用的高速道路附近有基站,所以不能完全保证在所有道路上都能定位,碰上GPS信号不好,而且RTK基站也不能覆盖的地方,难道就缴械投降了?不着急,我们还有一种方式定位,IMU惯性导航定位,专门就是用来应对这些场景的。
7.2 IMU实现不依赖外部信息的自主导航 惯性导航
IMU即惯性策略单元,是组成惯性导航系统的设备单元, 是组成惯性导航系统的设备单元,由陀螺仪、加速计、算法处理单元三部分组成。陀螺仪与加速计分别测量角度、加速度信息。不依靠外界的信息输入,惯性导航系统可以向自动驾驶汽车提供航向、姿态、速度、位置等导航参数, 是高精定位不可或缺的一部分。IMU提供信息的维度称为自由度(DOF) , 三轴(x轴、y轴、z轴) 陀螺仪加三轴加速计, 组成六自由度IMU, 也称六轴IMU。再加上用于测量相对于地球磁场方向的三轴磁强计组成九自由度IMU, 也称九轴IMU。IMU提供的信息与汽车轮速记、方向盘转角等信息有重叠, 为自动驾驶汽车感知方位与姿态提供冗余信息。有点难懂,我们从网上找到比较简单容易理解的方式;当我们晚上回到家,发现家里停电时,眼睛在黑暗中什么都看不见的情况下,只能根据自己的经验,极为谨慎地走小碎步,并不断用手摸周围的东西(比如冰箱),用以确定自己所在的位置。
IMU的原理和黑暗中走小碎步很相似。
在黑暗中,由于自己对步长的估计和实际走的距离存在误差,走的步数越来越多时,自己估计的位置与实际的位置相差会越来越远。
就像下图所示。
走第一步时,估计位置(黑人所在位置)与实际位置(白人所在位置)还比较接近;但随着步数增多,估计位置与实际位置的差别越来越大。图中的小人只朝一个方向移动,是一维的。根据此方法推广到三维,就是惯性测量单元的原理。
学术上的语言是:以牛顿力学定律为基础,通过测量载体在惯性参考系的加速度,将它对时间进行积分,且把它变换到导航坐标系中,就能够得到在导航坐标系中的速度、偏航角和位置等信息。所以看到这个惯性导航,实际就是根据牛顿力学,在GPS失去信号的时候,根据当前的位置,前进的速度,方向和角度,自己建立一个坐标系,算出一个预估的位置,输出给导航地图一个经纬度位置,实现自主导航,从图片中也可以看到,这个有一个确定,这个可以短时间使用,如果长时间使用的话,这个位置累积偏移会非常严重。如果要测试一个IMU的自主导航的偏移度怎么样,就应该长时间失去GPS信号的情况下去测试,此时最合适的就是长长的隧道,所以为什么台北的雪山隧道,这么受到车厂的测试爱戴,因为它全长约12.9公里,完全有这么长的时间测试IMU的偏移度。
IMU在自动驾驶汽车高精定位中的作用:协助GPS定位与无外部信号自主导航。IMU在自动驾驶过程中时刻发挥着作用:GPS信号的更新频率为10Hz——也就是每0.1秒更新一次GPS定位信息, 而IMU设备的更新频率在100Hz以上, 在两次GPS信号更新之间, 自动驾驶汽车可以结合IMU提供的车辆方位、姿态、速度等信息推算汽车的精确位置,实现高频率高精度定位,满足自动驾驶汽车对实时定位的要求。
而在无定位信号或弱定位信号区域, 自动驾驶汽车可以通过IMU实现短时间自主导航——这是IMU在自动驾驶高精定位环节发挥的另一重要作用。例如,当自动驾驶汽车驶入隧道、山路等信号较弱路段,或接收电磁波信号、光信号(用于摄像头识别)受到强烈干扰导致设备无法正常工作时,汽车保留最后一次稳定接收到的定位数据, 基于IMU提供的参数信息计算汽车在弱信号路段的具体位置, 结合高精地图数据实现自主导航。但IMU的计算误差会随时间增大, 因此强调是在一定时间范围内的自主导航。
跑在控制器上的软件对信息的处理流程在时间维度上类似下图。在0~100ms的周期中,使用IMU进行9次位置的估计,待新的GPS定位数据进来时,则进行修正,以此实现高频率的定位结果输出。
就这样,GPS与IMU便相辅相成地实现了无人车的稳定定位,就能解决我们前面提到的定位刷新频率≥100HZ的问题。
到这里了,高精度定位绝对位置的倚天和屠龙都已经亮出来了,我们看看首先是RTK在GPS信号和基站信号的情况下可以实现2-30cm的高精度定位,而IMU惯性导航,可以弥补GPS定位缺陷,精确感应定位和车身姿态,IMU全天候工作,受外界干扰小,短期精度和稳定性好,数据更新频率高,劣势就是自动驾驶的IMU的成本需要非常高。
其实这里也可以看到RTK使用有很多痛点:第一,用户购买终端硬件贵,差分技术及元器件实际上过去是应用测绘行业,硬件成本高。第二,用户需缴服务费获得差分修正数据,这笔钱要交给地基增强网运营商。第三,用户需缴通讯流量费用于用户端与增强系统间的数据传输,这笔钱要交给4G运营商。第四,数据保密问题,地基增强网是双向数据,用户位置数据会被运营方自动无偿获取。第五,使用范围有限制:只在差分站覆盖范围内,实际上有保障可用信号的范围目前还非常有限。第六,由于技术复杂,导致维权法律上取证难度大。出现事故后,在卫星网络、地基增强网络、3G/4G运营商、终端设备供应商之间难以鉴别划分责任。
总结下来从车厂还有用户角度出发的最关键痛点是:用户终端硬件贵需缴服务费和通信费:获得差分修正数据使用范围有限制:差分站和通讯网络覆盖范围内
其实在这里除了RTK这样的屠龙,还有一种葵花宝典的RAC技术。在最近的2020智能网联汽车C-V2X“新四跨”暨大规模先导应用示范活动在上海国际汽车城测试场,本次“新四跨”大规模测试验证的17个实现车路协同的场景,绝大多数都要求车辆具有高精度的实时定位能力。在不依赖车载雷达和视觉的条件下,高精度卫星定位已成为不可或缺的技术方案。
此次新四跨大规模实际道路测试和现场公开演示中,百度Apollo,PSA等多家厂商经过大规模测试选用搭载RAC,驾驶精度和驾驶体验都优于RTK,得到体验专家和媒体的高度评价。
RAC就是多阵列天线去接收GPS信号,通过算法来实现精度的提高。
可以看到用户使用RAC的BOM成本低,无需差分修正数据支持,所以不需要流量费用,数据可以得到很好的保密,只为用户和车厂所有,使用范围也广,在城市环境,树木遮挡、高架桥下、RAC动态稳定性鲁棒性比RTK好。
7.3 高精度定位相对定位
绝对位置定位是以地球为参考系,相对位置定位以当前驾驶场景为参考系,相对位置定位思路和人类驾驶过程更为类似:人类驾驶员在驾驶过程中,通过视觉观察周围场景中的物体,包括建筑、路缘、标志线等,经过对比判断车辆在当前场景中的位置。
类似的,自动驾驶汽车通过高清摄像头、激光雷达等感知设备获取周围场景内物体的图像或反射信号,将其与事先采集的高精度地图数据进行匹配,从而获得车辆当前位置的精确估计。
相对位置定位可以分为(激光雷达)点云匹配和视觉定位两大技术路线。点云匹配以激光雷达为核心;激光雷达向外发射激光脉冲,从地面或者物体表面发射形成多个回波返回进行匹配,实现汽车当前场景的高精度定位。目前主流的匹配算法包括概率地图与NDT(正太分布变换)算法两种,代表玩家如google、HERE、TomTom。
视觉定位以摄像头为核心,分为两种路径:视觉匹配和视觉里程定位,视觉匹配通过提取图像中的道路标识、车道线等参照物体与高精度地图进行匹配,实现精准定位,代表玩家如特斯拉、Mobileye、英伟达。基于视觉里程算法的定位技术以双目摄像头为主,通过图像识别以及前后两帧图像之间的特征关系来计算车辆当前的位置,但该方案依赖摄像头的成像质量,在光线不佳、视线遮挡等环境下定位可靠性有待考量,一般不会单独使用。
7.4 如何利用高精度地图和高精度定位来进行“导航”
当前自动驾驶导航过程可以简要分为三个阶段:路线级规划、车道级规划、自动驾驶控制。路线级规划通过导航地图确定具体行驶路线,考虑交通方式、路线距离、交通状况、途径地点等,是点到点的粗略规划。车道级规划依靠高精度地图,根据给定的路线确定具体的形式方案,包括车辆起步和停止、速度限制、车道保持与变道、车道坡度等。在自动驾驶控制阶段,系统依据具体的行驶方案控制汽车,实现自动驾驶。具体到自动驾驶的控制,我们可以将自动驾驶流程分为“感知层-决策层-执行层”,高精地图横跨“感知层”和“决策层”。在感知层,车辆通过摄像头、毫米波雷达、激光雷达等设备获取周围场景信息,实现周围感知;将周围场景信息与高精度地图进行比对,确定车辆相对位置,并通过GNSS、RTK 定位、惯性导航系统确定自身姿态、速度和绝对位置,共同实现自我感知。感知信息进入决策层,算法将依据高精地图、车联网技术提供的多维度信息对具体驾驶问题做出判断、输出车辆控制信号并交给执行层执行。①感知层首先要感知周围环境,高精地图用于环境感知,能够与激光雷达、摄像头等感知设备输出结果形成冗余,提高识别的准确度。此外,高精地图信息能够为感知设备识别提供辅助信息。例如,通过高精度地图,已知汽车在当前位置附近有红绿灯,再通过摄像头、雷达设备感知该红绿灯存在的准确率能够有所提升。②除了感知周围环境,自动驾驶的车辆同时要实现自我感知,即知道“我在哪”。利用高精度地图&高精度定位(绝对位置+相对位置)是自动驾驶汽车定位解决方案的定位模式。
以激光雷达点云匹配的定位方案为例:一方面,车载激光雷达扫描获得点云数据,并提取数据中包含的环境特征;另一方面,车辆从“ GNSS + RTK + IMU ”定位组合中获得车辆位置的预测值,从高精地图中获取该位里附近的环境特征,之后将扫描识别的环境特征与高精地图记述的环境特征做匹配融合,获取车辆当前场景下精确的位置信息。高精定位方案中,共有三部分相互重盈的定位子系统:
一、卫星定位,包括RTK 定位技术、地基增强网络等;二、航位推算引擎,包括 IMU 、车身里程计、以及车辆控制系统的总线信息;三、基于高精地图的相对位置。三部分之间信息相互藕合,结果相互冗余,从而保证定位的精度和可靠性。我们来看看行业最具代表性的百度Apollo 2.0的多传感器高精度定位的实现方式。
按照百度 APollo的划分,适用于自动驾驶汽车的定位技术可由六部分组成,分别为:惯性导航(定位)、卫星定位、磁力导航(定位)、重力导航(定位)、激光点云定位、视觉定位。不同部分之间优势互补,定位结果之间相互重叠以矫正误差,提高定位精度和鲁棒性。
以 Apollo2.O 多传感器融合定位模块为例,以IMU为基础的惯性导航解算子模块、以地面基站和车端天线为基础的 GNSS 定位子模块、以及以激光雷达、高精地图为基础的点云匹配子模块相互融合,输出一个 6 DOF(自由度)位置和姿态信息,并且融合结果反馈给 GNSS 定位和点云定位子模块,提高两定位模块的精度。在该框架中, GNSS定位模块向系统提供车辆绝对位置信息,而点云定位模块向车辆提供相对距离、相对位置信息。③感知完周边环境和自我位置之后,高精度地图接下来用于进行决策支持。在规划与决策层面,高精地图除了用于自动驾驶汽车车道级别的线路规划外,还能够为决策和识别算法提供支持。例如,当车辆驶近人行横道——高精地图上标注的“兴趣区”时,识别算法将提前进行模型比较,提高对各类行人姿态的识别准确率,同时降低车速,避免事故的发生。由于自动驾驶需要极高的安全性,因此系统的鲁棒性非常重要,由于摄像头、激光雷达、毫米波雷达、高精度地图都有信息缺失或者不能及时获取的可能,因此各种传感器的信息相互补充,互为冗余就非常重要了。高精地图和感知层(激光雷达、毫米波雷达、摄像头)一起构成了信息冗余的组成环节,信息冗余确保自动驾驶的鲁棒性。高精地图提供的部分道路和环境信息,例如道路细节信息、交通标志等,与自动驾驶汽车通过摄像头、激光雷达等感知设备获取的信息存在重叠,达到“信息冗余”状态。一方面,冗余信息确保车辆在遇到恶劣环境、信号不佳、识别错误等非常规状况时能够依靠多余信息实现正确驾驶决策,确保自动驾驶的“鲁棒性”。另一方面,信息冗余为相对位置定位提供支持。通过将实时感知信息与高精地图信息进行对比,汽车可以获取当前行驶的相对位置,与基于GNSS 等技术手段的绝对位置定位互补,构成另一层次的“信息冗余”。到这里为止,就讲明白了高精度地图,高精度定位,怎么通过传感器的融合和冗余实现高精度地图的感知、定位、决策的整套流程。
8 中国高精地图未来发展趋势
LK分享|中国高精地图未来发展趋势 - 知乎 (zhihu.com)
8.1 2020高精度地图市场份额报告
百度、四维图新和易图通位列市场份额前三位,分别为28.07%,21.61%和16.15%。
8.2 国内适用于自动驾驶地图制作的标准正式发布
重磅!国内适用于自动驾驶地图制作的标准正式发布! - 知乎 (zhihu.com)
由易图通牵头携手业内专家共同制定的“自动驾驶地图采集要素模型与交换格式”已于2021年5月13日正式发布(标准号为:T/CSAE 185-2021)。
自动驾驶地图是一种辅助车辆实现自动驾驶功能的专题图,能辅助自动驾驶汽车实现高精度定位、给车辆提供超视距的道路先验信息。自动驾驶地图属于导航电子地图的新型种类和重要组成部分,国外在这一领域起步研究较早,目前已有的行业联盟包括OpenDrive, NDS,ADASIS协会等都只针对地图数据的物理编译格式和应用数据传输进行研究,并没有某项标准从自动驾驶地图要素内容以要素数据表达方式方面进行详细描述。国内也一样,目前正在研制或将发布的自动驾驶地图相关标准均侧重于自动驾驶地图生产过程、产品与功能应用方面,本标准的颁布,意味着行业顶层架构将全面对自动驾驶地图采集要素进行了定义与规范,特别是在路侧智能设备方面新纳入内容,这是未来自动驾驶地图交换格式的支撑基础。
据应用场景不同,自动驾驶地图包含的地图要素有所不同。综合各参与单位在相关项目中的经验,自动驾驶地图通过构建主要包含动态环境信息(移动物体、驾驶环境信息等)及静态高精要素(道路级路网、车道级路网、路面标线和道路交通设施物等图层)的自动驾驶环境模型。为日后图商及相关企业在自动驾驶地图采集要素方面形成能“多源一标准共用”参考标准,有效降低自动驾驶地图成本、提升成图效率,标准在制定过程中充分考虑了自动驾驶地图应用场景覆盖、数据结构与表达方式、业内各类方案、以及多种数据源等要素,提炼并规范了针对国内道路工况的自动驾驶地图要素表达内容及方式,同时也对路侧设备地理信息方面进行定义和要求,满足通用性原则,也适用于未来地图众包更新、动态高精地图信息来源,实现信息层的实时更新与共享等。
此外,国内目前在自动驾驶地图相关标准还未构成体系,目前正在研制的相关国标、行标、地标、团标等包括《道路高精度电子导航地图数据规范》《道路高精度电子导航地图生产技术规范》《智能运输系统智能驾驶电子地图数据模型与交换格式》《电子公路图路线及沿线设施要素高精度表达规范》《智能网联车道路基础数据规范》《智能汽车基础地图数据规定》《高速公路路面及沿线设施要素模型与交换格式》《自动驾驶高精度地图特征定位数据技术规范》《自动驾驶地图动态信息数据交换格式》《自主代客泊车地图与定位技术要求》等,后续将陆续公开发布,未来将对自动驾驶地图制作与应用的行业规范起到推进作用。
原文作者:爱是与世界平行
原文链接:https://blog.51cto.com/lovebetterworld/5168279
