参考资料:
车路协同、车联网、智慧交通、智能网联车、自动驾驶、无人驾驶、高精度地图资料汇总与整理
VX:lovebetterworld
车路协同优质资料整理地址:
- 语雀:车路协同、自动驾驶、车联网、智能网联车 · 语雀 (yuque.com)
- 个人网站:车路协同 | 爱是与世界平行 (lovebetterworld.com)
- GItee:自动驾驶: 整理车路协同自动驾驶相关的内容,为车路协同自动驾驶提供资料和笔记,包含车路协同解决方案,车路协同参考资料、车路协同规范,车路协同云控平台,高精度地图,Appllo自动驾驶学习笔记等。 (gitee.com)
- CSDN:爱是与世界平行的博客_CSDN博客-智慧交通与车路协同,▷项目总结,▷大数据领域博主
因阿里云盘内容太多,没办法直接一个网盘进行分享,遂对某部分感兴趣的,可以加好友,单独分享。
1 高精度地图介绍
所谓高精度地图(也称为高精度地图),实际上是和普通导航电子地图相对而言的服务于自动驾驶系统的专题地图。高精地图也称自动驾驶地图、高分辨率地图,是面向自动驾驶汽车的一种新的地图数据范式。高精地图绝对位置精度接近1m 相对位置精度在厘米级别,能够达到10-20cm。
准确和全面地表征道路特征,并要求更高的实时性,是高精度地图最显著的特征。此外,高精地图记录驾驶行为的具体细节,包括典型驾驶行为、最佳加速点及刹车点、路况复杂程度、以及对不同路段信号接收情况的标注等。
高精度地图可以分为两个层级:静态高精度地图和动态高精度地图。
静态高精度地图处于底层,是目前研发的重点。它一般由含有语义信息的车道模型、道路部件(Object)、道路属性三类矢量信息,以及用于多传感器定位的特征(feature)图层构成。
动态高精度地图则建立于静态高精度地图的基础之上,它主要包括实时动态信息,既有其他交通参与者的信息(如道路拥堵情况、施工情况、是否有交通事故、交通管制情况、天气情况等),也有交通参与物的信息(如红绿灯、人行横道等)。
对于自动驾驶车辆来说, 它做出变道决策需要知道很多具体的信息:
- 我们当前在哪条车道上以及当前车道在地图中的具体位置
- 当前车道是否有隔壁车道,如果没有车道也就无法变道,只能采取本车道避障
- 当前车道是否允许变道,车道的类型,车道线是虚线还是实线,变道距离是否足够长,变道后是否能够达到终点等
传统导航地图,通常精度大约为米级或10米级左右,而高精地图的坐标精度可以达到亚米级甚至更高。
传统导航地图通常只提供路网结构信息和粗略的几何点位置。而高精地图除了这些信息外,还会包含车道信息(车道线位置、类型,车道方向、车道交通限制信息等)、交通标志信息以及红绿灯、立交桥、龙门架等的位置信息。
1.1 高精定位
在自动驾驶中的定位通常分成两部分,一部分是横向的车道定位,另一部分是纵向的坐标定位。车道定位就是你在第几根车道上行驶。比如一条三车道马路,你知道自己是在最左边车道行驶,高精地图又告诉你,最左边车道是左转直行车道,且禁止掉头。这样就能得到更多的车道级信息。
而纵向定位,传统的GPS大约可以提供10米级精度的定位。使用RTK外加IMU等系统的辅助,这一精度可以提高到分米甚至厘米级。但目前RTK的成本、量产都还是个问题。一台RTK的成本大约在数千元到数万元,而且这是直接加到每台车上的成本,再算上各种服务费,成本就很可观了。
因此,在没有RTK的情况下,通常会尝试利用感知系统感知定位元素,再和高精地图中的定位元素做匹配,以此来实现亚米级或是分米级的定位。其中定位元素包括地面文字、地面箭头和交通标志、电线杆等杆状物。比如摄像头检测到前方10米有个限速标志,但字迹模糊,分辨不出到底是限速多少公里。根据GPS的粗略定位,车辆可以在高精地图中寻找附近的限速标志。然后发现我附近就一个限速80公里的标志,可以得到它的绝对坐标。这样我就知道自车的坐标位置,以及那个限速标志是限速80公里的。另外知道了自车位置,我还可以得到很多其它信息,比如前方1公里会有车辆汇入,前方3公里有个高速出口等等。这些信息光通过摄像头或是激光雷达,是不可能知道的。
1.2 地图制作过程
1.2.1 众包地图
众包地图的生产过程简单来讲,首先由在售的车辆上传对应的感知局部重建结果,并在车端对数据进行压缩,并通过4G/5G通讯传递到云端后进入生产环节。另外,通过少量基准修正车辆获得动态控制点并同步进入云端。利用全局SLAM技术对矢量特征信息进行大规模的聚类与对齐。对局部问题点和质量问题进行人工修正,并存入母库,完成一次众包地图的生产过程。
众包采集,即把地图更新的任务交给道路上行驶的大量非专业采集车辆,利用车载传感器实时检测环境变化,并与高精度地图进行比对,当发现道路变化时,将数据上传至云平台,再下发更新给其他车辆,从而实现地图数据的快速更新。
当前主要有三种移动测量技术用于测绘采集,分别是专业型采集车、工业型采集车和众包型采集车。专业型采集车的成本相对较高,进口单车成本达到几百万,精度可达厘米级。工业型采集车单车成本约为70W,精度在20-50cm左右,众包型采集车精度及成本则低于专业型和工业型采集车。
1.2.2 高精度地图
高精度地图的生产过程简单来讲,首先由专业的测绘车在道路上行驶,采集原始的图像与激光数据以及部分静态控制点信息。将采集的数据通过物理手段传递到云端后,进入生产环节,首先需要对原始的GPS数据和点云数据进行必要的后处理与对齐,获得精度更高的原始点云数据后,开始正式的地图生产线任务。标注员利用半自动化的工具链以及生产平台,在点云和原始图像上进行矢量特征的绘制作业,由系统完成后续的编译任务后,最终进入质检环节,在质量合格的情况下存入母库,完成一次高精度地图的生产过程。
1.2.3 对比
评估维度 | 高精度地图 | 众包地图 |
---|---|---|
绝对精度的评估 | 5cm | 0.5-5m |
相对精度的评估 | 10cm (定位5cm+地图5cm) | 10cm (匹配2cm+感知8cm) |
采集元素 | 激光点云(特制高频单线激光)与360全景图像+高精度GPS信号 | 自车传感器的感知信息(3DPOI+1D公式线型)+高/低精度GPS信号 |
数据传递方式 | 硬盘快递 | 数据实时上传 |
采集车情况 | 200-500万的专业测绘车 (2-100辆) | 出售的营运车辆 (千万辆级别) Ps:仍需要2-10辆20-100万元量级的基准修正车辆 |
优势 | 在和城市交通等外围行业合作时可以提供统一基准 | 在自有数据闭环内部可以建立高效的内部标准 |
数据大小 | 3-10GB/km | 10-500KB/km |
优缺点 | 有计划地控制采集范围和最终地图的数据质量,但更新和生产成本高 | 采集范围和数据质量受到用户行为和车辆传感器性能影响,但更新和生产成本低 |
自动驾驶适配性 | 动力与定位适配性一般,但法规匹配性较好 | 动力域定位适配性较好,但法规匹配性较差 |
适用范围 | 变更较小的高速道路 | 变更较快的城市道路 |
采集策略 | 一般单向道路只需要采集一次,另外需要配合控制点的静态测绘 | 一般单向道路每根车道需要采集一遍,控制点信息主要由基准修正的车辆动态测绘提供 |
生产方式 | 人工标注生产线配合半自动的生产和质量保障工具 | 半自动的生产平台,配合一定的人员进行辅助修正与质量保障 |
1.3 高精地图和自动驾驶
L3以下可以不用高精度地图,L3+必须要用到高精度地图。
高精地图不一定比传统地图精度更高,但包含信息更全面,或者实时性更强。
高精地图的特征
- 实时性
- 描述车道或者车道边界线等,包含了人能看到的能影响驾驶的全部信息。
高精地图与传统导航地图的区别示意
1.4 高精地图与其他模块的关系
1.4.1 定位
目前两种主流定位方法:点云定位、视觉定位。
比如,结合粒子滤波以及高精地图计算概率确认所在位置
1.4.2 感知
超距感知与隔障碍物感知、红绿灯感知。
弥补感知传感器的局限性:距离的局限性(如激光雷达在一定距离之外点云稀疏,摄像头在恶劣环境下的情况);雷达穿透能力强,精度不高;激光雷达穿透能力弱,遇到雾霾等天气会有较大误差;遮挡情况
高精度地图的先验提高识别率,缩小检测范围。
1.4.3 规划预测决策
长距离规划(路由选择):类似于导航,主要针对于静态环境,但会考虑车道级别的规划。
短距离规划(轨迹选择):通过高精度地图决定短距离规划的目的地(车道)。
预测:底层依赖于高精度地图,根据障碍物所在车道位置或者红绿灯等信息预测障碍物可能的运行轨迹。
1.4.4 安全
无人车的操作系统、控制系统、通信系统可能会被攻击、被干扰或者发生故障。
高精度地图提供了一个离线的标准,与实时探测到的进行匹配。
1.4.5 仿真系统
基于高精地图构建仿真系统,保证测试时候的场景和实际道路运行的差别不会很大。
1.5 高精度地图作用
- 静态感知,把人的经验传递给自动驾驶系统
- 弥补系统性缺陷,目前4G网络无法实现实时传输数据,云端计算
1.5.1 高精度地图在车路协同中的应用
车路协同 /车路云边一体化
车路协同是采用先进的无线通信和新一代互联网等技术,全方位实施车与车、车与路、车与人之间动态实时信息交互,并在全时空动态交通信息采集与融合的基础上开展车辆主动安全控制和道路协同管理,充分实现人车路的有效协同,保证交通安全,提高通行效率,从而形成安全、高效和环保的道路交通系统。
在车路协同应用中,为确保汽车安全,高精地图精度、鲜度要求都非常高,因此其采集与制作、更新过程也与传统的导航地图也有所不同。
高精度地图 /绘制与更新
传统导航地图是利用装载了摄像头、GNSS等多种传感器的汽车进行道路数据采集,随后经由内业人员绘制、编码、纠偏等复杂工序制作而成。高精度地图成图过程与之类似,但由于地图精度要求极高,采集车主要利用激光雷达来进行点云采集,然后利用当前领先的深度学习进行语义分割,提取点云中的地面标线、交通设施等高精地图要素进行矢量化处理而成图。
相比于其他传感器,激光雷达具有探测距离远、探测精度高、可靠性强等特点,因此它也被认为是无人驾驶所必须的传感器器件,同时也是高精度地图采集不可或缺的基础设备。目前,L4及L5级的无人驾驶高精度地图广泛采用激光雷达、IMU、RTK等与视觉传感器兼具的综合解决方案,以达到安全冗余的目的。
网联化的车路协同系统对高精度地图有“实时性”的要求,这与传统导航地图一贯采用的按季度/月度等更新机制完全不同。高精度地图更新一般采取通过路侧设备及众包等方式更新,以配合ITS(智能交通系统)的高频并发与响应。
车路协同 /落地优势更明显
基于不同的项目需求和软硬件条件,车路协同项目解决方案都不尽相同,对地图服务的要求也各不一样,以江西路运一体化车路协同重点示范项目——昌九智慧高速公路建设为例,易图通在参与时为其提供了定制化的高精度解决方案,服务内容涵盖:
■ 高精度地图数据采集与加工
■ 三维可测实景数字化公路管理系统
■ 车道级高精导航引擎
■ 车路协同应用系统与高精地图服务平台实时交互、数据分析
……
对比单车智能的技术路线而言,如果在路侧安装摄像头和激光雷达等感知设备,探测周围环境的三维坐标来进行信息融合优势则相当明显——由于传感器安装的高度基本可让其拥有“上帝视野”,不容易被遮挡,视距条件更好,可最大化减少盲区,提高数据获取的准确性,数据实时发送到ITS中心(智能交通系统)以及车端,那么车侧的部分激光雷达成本可以被节省下来,从而大幅降低车载成本。
1.6 高精度地图面临的诸多问题
可靠的车道级定位的成本。还是将成本放在第一位来说,毕竟量产车开发最care 的事情就是这个了。即使有了可用的高精度地图,想要准确将车定位在HDM的车道上,也需要较高成本的定位系统。依照目前主流的高精定位方案:高精度地图+GNSS+定位服务(RTK)+ADAS相机+IMU+车辆CAN信号,想要获得比较可靠的定位效果,需要双频GNSS接收机+双频RTK定位服务,同时要获得较长时间的航迹推算能力,则需要战术级的IMU。很不幸的是,目前相关零部件行业的发展,还未成熟到以OEM能接受的价格来提供。双频GNSS接收机价格是车规单频接收机的7倍以上,双频RTK服务是单频的4倍以上,战术级IMU和消费级相比也是N倍的成本倍数。所以即使克服了HDM的成本,高精度定位的成本也是很大一笔支出。
融合定位的可靠性。高精度地图+GNSS+定位服务(RTK)+ADAS相机+IMU+车辆CAN信号这样的融合定位方案,如何在全国范围内验证其可靠性,进而间接验证HDM数据的可靠性,这也是另一个难题。
**功能安全和完好性。**整个定位系统,是否需要符合ISO 26262的功能安全要求,怎样符合要求。这也是目前尚未解决的核心问题。而定位数据又存在多源融合、传感路径长的问题,其预期功能安全也是需要探索和研究的。
2 高精度地图标准化建设研究
我国已发布了1项自动驾驶地图标准《自动驾驶地图采集要素模型与交换格式》,处于制定中的国家标准4项,行业标准2项,地方标准1项,团体标准2项。
该领域标准处于起步阶段,主要重点在地图数据模型与交换、数据审查、数据表达、技术要求方面。从预研标准项目来看,标准正从基础通用类、交换格式和接口协议、数据处理、数据应用、数据测试、数据安全方面逐步开展工作。
3 采集和生产基础知识汇总
高精地图是L3级以上自动驾驶的必备组件,对于自动驾驶汽车而言,高精度地图具备以下三大功能:路径规划、地图匹配、辅助环境感知。它可以将车辆位置精准地定位于车道之上、帮助车辆获取准确有效的当前位置及环境信息,并为车辆规划制定最优路线。
3.1 高精度地图的元素构成
一般而言,电子地图是通过不同的图层去描述,然后将图层叠加来进行表达。在一张电子地图里,水系、铁路、街区、建筑物可能会分别位于不同图层,每一个图层可以理解为一张透明薄膜 ,多图层被绘制叠加后才能真正为我们所用。
高精度地图也一样,同样是分层绘制而成。它能更加真实地反映道路实际样式,因此包含更多的图层数量和道路数据细节。
**高精度地图可分为车道级路网、定位、动态地图三个图层。**车道级路网以及所包含的元素列表大家做得都比较类似。而目前业界分歧最大其实是定位层以及动态地图层。
事实上,国外部分主流图商也会将高精地图分为:Road Model, Localization Model 和 Lane Model 这三层。虽然叫法不一,但大体上都是认为:Road Model用于导航规划;Localization Model用于在地图中定位车辆;Lane Model用于感知和考虑当前道路和交通状况的路线规划。
3.1.1 车道级路网图层(Road Model)
需要为自动驾驶汽车提供准确的道路信息,因此要对路网精确的三维表征(厘米级精度)进行描述,比如路面的几何结构、道路标示线的颜色与形状、每个车道的(坡度、曲率、航向、高程等)数据属性,甚至还要将道路隔离带(及材质)等信息及其所在位置进行详尽描述。
此外,在采集道路周边环境时,所生成的点云数据中包含了极为丰富的地理空间信息,如道路标识牌、路灯、安全岛、绿化带、里程桩、杆状物路灯、摄像头、交通护栏等特征点线,以及相关属性信息(等级、材质、类型、宽度等)。在制作高精度地图时,这些要素信息通过点云的提取,既方便又能达到较高的空间几何精度。
车道级路网数据,根据采集的特征点线,以及相应的属性信息,在 ArcGIS 软件中,经过符号化处理、图面整饰、晕渲后即可形成色彩协调、图面美观的显示地图。
3.1.2 定位层
定位层(Localisation Model)主要用于辅助自动驾驶车辆定位。
关于定位层,高精地图包含的元素取决于无人驾驶车辆本身采用了什么样的传感器。其次,定位层还与应用场景紧密相关,比如在无人矿区或地下停车场所自动驾驶时所需要的高精地图信息要素也不一样。
目前自动驾驶汽车在“定位”方面的解决方案差异性较大,有太多不同的传感器包括摄像头、激光雷达组合方案,目前定位技术主要集中在Feature Based和Dense Information Based这两种方法上,高精度地图制图也主要围绕这两种方式。
因此在未来,图商有可能会根据不同的场景、不同的传感器生成不同的高精地图。
3.1.3 动态层
动态层(Lane Model),主要用于自动驾驶汽车感知和考虑当前道路和交通状况的路线规划,但只有当车辆在地图中准确定位时,动态地图层(Lane Model)才能辅助车辆进行环境感知。
目前也有些图商基于项目的研发,主张动态层信息要素需要具备如下要求:
Highly accurate geometry model;Lane attributes ;Traffic Regulations,Road Furniture And Parking;Lane connectivity;
3.2 高精度地图的采集与生产
3.2.1 采集用的一些传感器
- GPS:通过观测卫星(四颗及以上)得到地球上的点位置
- IMU
- 轮速计:通过分析每个时间段里左右轮的总转数,可以得出车走了多远,但路面情况会影响结果
- 激光雷达
3.2.2 生产——计算模型
空间结构的三维重建
高度简化的计算模型
3.2.3 生产——视觉制图
采用纯视觉的制图模式
- 基于激光雷达:摄像头与激光雷达融合使用,激光雷达准确但信息少,摄像头信息更多
- 基于视觉:硬件较强的可以实时监测实时生成
3.3 高精度地图的格式规范
- NDS
- OpenDRIVE
- NDS支持局部更新,提供一些描述功能,较为复杂,但信息很全面。
- 地图分块封装地图数据。
- OpenDRIVE中,道路被切分成多个section,车道线变化、虚实线变化、道路属性变化都是其划分原则。规定了参考车道,基于参考车道向左向右的车道ID分别递加递减。规定了路口概念,包含红色线(虚拟路),用于连接可通行方向。
- tracking坐标系:S相对于参考车道的起点的纵向偏移量;T基于参考车道的横向偏移量。所有车道线的描述都基于这个参考车道偏移描述。
3.4 高精地图数据采集要素的构成与表达
高精地图主要是采用移动扫描车进行数据采集,内业对点云进行处理,并基于处理后的点云提取高精地图所需的道路要素。
根据团标《自动驾驶地图采集要素模型与交换格式》,高精地图主要由五大图层构成,即采集场景基本信息层、道路交通标志层、道路交通标线层、其他道路安全设施物层及智能路侧设备层等。具体图层构成及图层间关系如下图所示。
3.4.1 采集场景基本信息层
高精地图需设置要素关联的场景载体要素,主要分为室外道路场景和公共停车场道路场景。(1)室外道路场景
针对室外道路场景,场景基本信息图层包括道路路面。其主要用途是现实中所有道路对象的载体以 及显示渲染应用。道路路面区分路口和路段。道路路面图层依据道路可行驶范围为边界来获取,以3D面要素来表达。
道路路面属性包括:
a) 道路路面编号:记录当前道路路面对象的唯一ID;
b) 类型:记录道路路面的类型,分为路段路面和路口路面两种;
c) 采集时间:记录当前存储对象实际采集时间,记录到某年某月某日;格式为:YYMMDD,如200101 代表2020年1月1日;
d) 数据来源:记录当前对象获取的来源,包括激光点云、影像以及其他;
e) 所属分区编码:记录当前对象所在的行政区划的编码,记录到市级行政区划,例如南京市。
(2)公共停车场道路场景
针对公共停车场场景,场景基本信息层包括停车场的基本属性、停车场背景等信息。其主要用途是自主代客泊车自动驾驶系统人机交互界面显示以及相关位置停车场采集要素信息的载体。
停车场的基本属性包括停车场的名称、类型、楼层数等。几何表达按照停车场区域面中心位置获取,以3D点要素表达。
停车场背景是指记录某个停车场某一层的基本属性,包括停车场某一平层或连接通道的背景名称、所在楼层等。几何表达按照停车场分层的背景外轮廓进行获取,以3D面要素表达。
停车场基本信息的属性包括:
a) 停车场编号:记录当前停车场的唯一 ID;
b) 类型:记录停车场的分类,包括室外停车场、室内停车场、综合停车场;
c) 楼层数:记录停车场的楼层总数;
d) 停车场名称:记录停车场的官方中文名称;
e) 采集时间:记录当前存储对象实际采集时间,记录到某年某月某日;格式为:YYMMDD,如 200101 代表 2020 年 1 月 1 日;
f) 数据来源:记录当前对象获取的来源,包括激光点云、影像以及其他;
g) 所属分区编码:记录当前对象所在的行政区划的编码,记录到市级行政区划,例如南京市。
停车场背景信息的属性包括:
a) 停车场背景编号:记录当前停车场背景的唯一 ID;
b) 停车场背景名称:停车场背景所在的楼层名称,例如 B1、B2 等;
c) 所在楼层:记录停车场背景所在楼层;
d) 类型:记录停车场背景类型,分为平层和连接通道;
e) 所在停车场编号:记录所属停车场 ID;
f) 停车场限高信息:记录所在停车场针对车辆的限高值;
g) 采集时间:记录当前存储对象实际采集时间,记录到某年某月某日;格式为:YYMMDD,如 200101 代表 2020 年 1 月 1 日;
h) 数据来源:记录当前对象获取的来源,包括激光点云、影像以及其他;
i) 所属分区编码:记录当前对象所在的行政区划的编码,记录到市级行政区划,例如南京市。
3.4.2 道路交通标志层
针对室外道路场景,道路交通标志是以颜色、形状、字符、图形等向道路使用者传递信息、用于管 理交通的设施。交通标志结合道路及交通情况设置,通过交通标志提供准确及时的信息和引导,使道路 使用者顺利快捷的抵达目的地、促进交通畅通和行车安全。其主要用途是辅助车辆纵向、横向定位,同时其语义信息可为自动驾驶地图后续深度加工提供丰富的道路和车道的属性。
针对公共停车场场景,交通标志包括以下两类:一种是用文字、符号、颜色传递引导、限制、警告 或指示信息的道路设施;另一种是场地标识,是在 AVP 系统中人为布置在停车场内外的具有一定规则, 专用于 AVP 车辆的标识,用于辅助识别车辆在停车场的位置,帮助用户识别在停车场中的位置。其主 要用途是 AVP 系统辅助定位,同时可对车辆行驶过程中起到驾驶策略辅助作用。
室外道路场景中交通标志的几何表达以3D面要素来表达室外普通道路上的各类交通标志,获取交通标志朝向车辆一面的角点或最小外 接矩形进行矢量化。
公共停车场场景中交通标志的几何表达,针对常规的道路交通标志,根据标志牌的类型以 3D 面要素进行矢量化,如复合标牌则对里面内容 进行分别矢量化。
针对 AVP 场地专用标识,根据标识的形态以 3D 面要素进行矢量化,标识分为平层和跨层两种形式。
针对停车场墙面经常印刷的各种标志,以 3D 面要素进行矢量化,包括:立柱诱导标线、墙面警示 线等。
道路交通标志层的属性说明如下:a) 交通标志编号:记录当前道路交通标志的唯一ID; b) 形状:记录道路交通标志牌常见的形状,包括矩形、正三角形、倒三角形、圆形、八角形、菱 形以及其他; c) 类型:记录道路交通标志牌的标准分类,包括警告标志、禁令标志、指示标志、指路标志、旅 游区标志、作业区标志、告示标志、辅助标志等; d) 可变信息标识:记录道路交通标志牌是否可提供动态可变信息; e) 标志牌底色:记录道路交通标志牌常见的底板主色,包括红色、黄色、蓝色、绿色、棕色、黑 色、白色、橙色; f) 照片编号:记录每个道路标志牌的照片ID;针对每个道路交通标牌单独存储其照片; g) 采集时间:记录当前存储对象实际采集时间,记录到某年某月某日;格式为:YYMMDD,如200101 代表2020年1月1日; h) 数据来源:记录当前对象获取的来源,包括激光点云、影像以及其他; i) 所属道路路面编号:针对室外普通道路场景下,记录当前对象位置所在道路路面的编号;j) 所属停车场背景编号:针对公共停车场场景下,记录当前对象位置所在停车场背景的编号; k) 所属分区编码:记录当前对象所在的行政区划的编码,记录到市级行政区划,例如南京市。
3.4.3 道路交通标线层
针对室外道路场景,道路交通标线是指由施划或安装于道路上的各种线条、箭头、文字、图案及立 面标记、实体标记、突起路标和轮廓标等所构成的交通设施,作用是向道路使用者传递有关道路交通的 规则、警告、指引等信息,可与交通标志配合使用,也可以单独使用。其主要用途是配合传感器辅助自 车定位,以及用于驾驶策略辅助,例如车行道分界线用于标明两侧的车道上的车辆是否可以跨线并道。针对室外道路场景中常见的用于自动驾驶应用的道路交通标线,根据其不同的种类和形态,分别按照线 状要素和面状要素两种分类表达。
针对公共停车场场景,AVP 适用场地标识规范基于《GB 5768.3—2009 道路交通标志和标线第3部分:道路交通标线》的规定,遵循其中停车场及停车位相关规定。同时 AVP 适用场地标识应符合各地停车场建设相关规范,满足相关建设指导。其主要用途是辅助AVP系统进行定位辅助以及驾驶策略判断辅助。
道路交通标线的几何表达分为依据场景分为室外道路场景和公共停车场场景。室外道路场景具体分为线状道路标线和面状道路标线,公共停车场场景又具体分为停车位地面标线、停车位面和停车场路面定位标线等。
属性说明具体分为四类:线状交通标线、面状交通标线、停车位面和停车场路面定位标线,每一类根据类别情况有若干属性项。
3.4.4 其他道路安全设施物层
针对室外道路场景和部分停车场场景,其他道路设施物包括各类路侧设施,如交通信号灯、路灯杆等,以及路侧防护设施等的相关数据。其主要用途是辅助横向和纵向定位、交通诱导信息提示以及可视化等功能。例如交通信号灯用于辅助车辆在路口区域的定位,其语义信息可辅助车辆进行交通灯状态信息的感知,并规控通过路口的行为以及预测其他交通参与者的行为。
针对公共停车场场景,通常取得具有特殊的道路安全设施物、例如墙体和柱子,以及各种安全附属 设备。其主要用途是AVP车辆定位辅助以及避碰功能等。
交通信号灯的几何表达按照交通灯朝向车辆一面的外接轮廓矢量化,具体如下:用灯头的 3D 外接矩形面进行表示,该矩 形面应朝向车辆,3D 角点连线按照顺时针方向表达。
支撑结构(杆状物)的几何表达对竖杆和横杆分别要求。针对竖杆,获取可见的竖直部分,弯曲部分不取以及地面被遮挡部分不取;针对横杆,取得横梁两端点连线。若针对某种支撑结构同时存在横杆和竖杆,则同时都取得,例如龙门 架、红绿灯、限高杆等。
针对自动驾驶道路有影响作用的路侧防护设施进行矢量化,几何取其顶部实际位置,连续线状表达。针对所有路侧防护设施的铅锤方向投影位置处以线要素表达路面基线,用于针对后续加工计算路侧防护 设施高度参考。
停车场墙体的几何表达,针对柱子,取得其整体外轮廓;针对闭合 的墙体几何,直接取其整体外轮廓;如果是不闭合的墙体,以靠近可行驶道路一侧的墙体进行矢量化, 取得一定厚度构成面对象。
停车场附属安全设施几何表达 根据物体的物理外轮廓,以 3D 面要素方式表达。
3.4.5 智能路侧设备层
智能路侧设备是指设置于道路路侧或场端,用于道路或场端信息采集、感知、计算、传输的自动化、智能设施设备,是智慧道路建设过程中重要的交通基础设施。智能路侧设备主要分为路侧通信设施,如 RSU和路侧感知设施设备两类,主要用于路侧或场端实时、准实时动态信息采集、感知,为智能交通参 与者和管理者提供引导、信息传输、决策支持、信息交互等功能,是智慧交通的重要基础设施。针对各类智能路侧设备,根据设备几何形状及大小以3D点、3D线或3D面要素进行表达。
4 什么是高精度地图语义信息?
对于自动驾驶而言,语义信息是指那些能让无人车更好地理解行车规则、感知路面交通状况、规划行车路线,且被涵盖在高精度地图里的多层次、富维度的信息。
相对于典型的点云地图而言,语义地图能够很好的表示出无人车到的地方是什么,无人车“看”到的东西是什么。比如当无人车进入一条马路,点云地图中,无人车并不能识别显示出来的一块块的点云到底是什么。
点云图
但是语义地图的构建可以分辨出马路中的车道、汽车、隔离带、路边树木、指示牌、蓝天等诸多不同对象及概念。
语义分割图
语义有层次之分,一般来说,场景级、物体级、单点云点 or 单像素是比较通用的空间分级方法,时间上还有静态和动态之分。
也有人把图像的语义分为视觉层、对象层和概念层。视觉层即通常所理解的底层,即颜色、纹理和形状等等,这些特征都被称为底层特征语义;对象层即中间层,通常包含了属性特征等,就是某一对象在某一时刻的状态;概念层则是高层,是图像表达出的最接近人类理解的东西。
语义图不是一个单独的图层,它通常能够以几何图、矢量图、路网图、点云图等任何一种地图作为载体,将语义映射到其中。
对于自动驾驶汽车而言,语义图是最接近人类进行“道路行车”这个任务所用时知识的表示。语义地图的构建,对于SLAM研究有着很重大的意义。
4.1 高精度地图语义信息能做什么?
自动驾驶里常用到的SLAM是一种时间模型,它的目标是从复杂的信息中计算出一系列状态,包括预期环境,距离,以及根据之前的状态和信息得出的路径。
SLAM需要高精度地图提供大量的驾驶辅助信息进行配合,例如道路网的精确三维表征以及语义信息(交通信号、限速等),道路网提供的的几何描绘可帮助车辆进行自身定位,并准确识别车辆自身于地图中所处位置,语义信息则帮助车辆在行车过程中对周围环境进行理解。
以交通信号灯为例,在普通地图中,它们只是三维形状,有坐标位置、朝向或车道应用范围等信息,这些信息并不足以帮助自动驾驶车辆做出行驶决策,因为交通灯还可能有红灯或绿灯等各种状态,这时语义地图就能够发挥作用,它能够辅助车辆的感知和规划系统判定交通信号灯的状态,这就是语义地图与其他地图的区别所在。
语义地图可帮助车辆保持在某一正常车道内运行,让自动驾驶车辆了解不同类型的道路之间、道路与路灯和行人之间是怎样的关系,并按照社会公序良俗和具体环境中他人的期望(如避让行人&车辆等)来选择如何作为。语义高精地图是高层级的高精地图,当然,语义地图的实现需要以几何地图为基础。
地图结合语义信息,有助于SLAM提升车辆定位的精度、稳健性、实时性,同时也有利于提高自动驾驶系统的稳健性。
4.2 高精度地图语义信息包含了什么?
从数据维度来看,高精度地图在传统电子地图道路数据基础上加载了更多的路面语义信息和交通环境信息,比如交通信号灯状态、道路标示线的特征信息、车道特征信息、路标等要素。
在道路图层和车道几何图层中,语义关系定义了无人车如何在复杂的车道关系中协同工作。这些语义信息服务于自动驾驶技术的上层应用,不同的上层应用可能需要不同类型的高精度语义地图。易图通具备强大的高精度地图生产线,能提供适应客户需求的语义点云、语义栅格、及各类混合地图,以支撑自动驾驶技术的各种上层应用。
5 高精度地图数据数据播发与自动驾驶控制器如何进行信息交互
本段着重从自动驾驶开发的角度说明高精地图如何进行数据播发,自动驾驶控制器如何对来自以太网的高精地图信号进行转化,以确保转化后的数据能够为其所用。此外,文章会详细讲解根据高精地图的输出数据,如何进行自动驾驶围栏设置。
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 集中式自动驾驶控制域中的高精地图数据解析算法
面向自动驾驶场景,高精度地图让自动驾驶车辆人性化地理解不断变化的现实环境,通过云端实时更新的多图层高精度地图数据,在自动驾驶车感知、定位、 规划、决策等模块起到重要作用。当前高精度地图的数据处理方式主要是放在自己单独的地图盒子里面进行前端处理,包含将原始高精地图的建图数据进行有效的分析分解形成自动驾驶域控制器可用的数据。
这一过程我们通常称之为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 自动驾驶汽车是如何利用高精度地图和高精度定位来进行“导航”的
高精度地图一定是匹配高精度定位来使用的,如果车辆定位本身精度不高,就类似于你获得了碧血剑谱,但是没有自宫,这个武功是没有办法学会的。
高精度地图数据的采集、处理、以及地图的建模都需要以高精度的位置坐标作为框架。高精度地图中道路和场景是自动驾驶汽车感知和决策的数据基础,若在制图过程中位置标定出现误差,就有可能造成自动驾驶系统的判断失误。
以高精度地图为基础,结合感知匹配实现高精度的自主导航定位,在定位信号中断或不稳定的情况下,保证自动驾驶汽车仍明确知晓车辆在当前环境中的准确位置。而高精度地图与高精度定位相结合,车辆能够提供了解当前位置可能的道路特征情况,调高传感器的识别精度,降低对于传感器的性能要求。
普通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 中国高精地图未来发展趋势
8.1 2020高精度地图市场份额报告
百度、四维图新和易图通位列市场份额前三位,分别为28.07%,21.61%和16.15%。
8.2 国内适用于自动驾驶地图制作的标准正式发布
由易图通牵头携手业内专家共同制定的“自动驾驶地图采集要素模型与交换格式”已于2021年5月13日正式发布(标准号为:T/CSAE 185-2021)。
自动驾驶地图是一种辅助车辆实现自动驾驶功能的专题图,能辅助自动驾驶汽车实现高精度定位、给车辆提供超视距的道路先验信息。自动驾驶地图属于导航电子地图的新型种类和重要组成部分,国外在这一领域起步研究较早,目前已有的行业联盟包括OpenDrive, NDS,ADASIS协会等都只针对地图数据的物理编译格式和应用数据传输进行研究,并没有某项标准从自动驾驶地图要素内容以要素数据表达方式方面进行详细描述。国内也一样,目前正在研制或将发布的自动驾驶地图相关标准均侧重于自动驾驶地图生产过程、产品与功能应用方面,本标准的颁布,意味着行业顶层架构将全面对自动驾驶地图采集要素进行了定义与规范,特别是在路侧智能设备方面新纳入内容,这是未来自动驾驶地图交换格式的支撑基础。
据应用场景不同,自动驾驶地图包含的地图要素有所不同。综合各参与单位在相关项目中的经验,自动驾驶地图通过构建主要包含动态环境信息(移动物体、驾驶环境信息等)及静态高精要素(道路级路网、车道级路网、路面标线和道路交通设施物等图层)的自动驾驶环境模型。为日后图商及相关企业在自动驾驶地图采集要素方面形成能“多源一标准共用”参考标准,有效降低自动驾驶地图成本、提升成图效率,标准在制定过程中充分考虑了自动驾驶地图应用场景覆盖、数据结构与表达方式、业内各类方案、以及多种数据源等要素,提炼并规范了针对国内道路工况的自动驾驶地图要素表达内容及方式,同时也对路侧设备地理信息方面进行定义和要求,满足通用性原则,也适用于未来地图众包更新、动态高精地图信息来源,实现信息层的实时更新与共享等。
此外,国内目前在自动驾驶地图相关标准还未构成体系,目前正在研制的相关国标、行标、地标、团标等包括《道路高精度电子导航地图数据规范》《道路高精度电子导航地图生产技术规范》《智能运输系统智能驾驶电子地图数据模型与交换格式》《电子公路图路线及沿线设施要素高精度表达规范》《智能网联车道路基础数据规范》《智能汽车基础地图数据规定》《高速公路路面及沿线设施要素模型与交换格式》《自动驾驶高精度地图特征定位数据技术规范》《自动驾驶地图动态信息数据交换格式》《自主代客泊车地图与定位技术要求》等,后续将陆续公开发布,未来将对自动驾驶地图制作与应用的行业规范起到推进作用。