万万字详解自动驾驶车路协同中的高精度地图
Posted 爱是与世界平行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了万万字详解自动驾驶车路协同中的高精度地图相关的知识,希望对你有一定的参考价值。
参考资料:
本站文章引用或转载写明来源,感谢原作者的辛苦写作,如果有异议或侵权,及时联系我处理,谢谢!
更多车路协同,车路协同建设解决方案,参考链接:https://gitee.com/AiShiYuShiJiePingXing/smart-city
-
个人网站:https://www.lovebetterworld.com/
-
微信:lovebetterworld
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协议架构,主要包含物理层、数据链路层、数据过渡层以及接口封装层四个
以上是关于万万字详解自动驾驶车路协同中的高精度地图的主要内容,如果未能解决你的问题,请参考以下文章