硬件:
64线激光雷达平装,用于采集道路路面,16线激光雷达斜向上装,用于检测比较高处的红绿灯和标牌信息等。还有GPS(采用的是RTK)、IMU、长短焦相机。
进行采集数据前需要保证传感器可以工作而且传感器已被标定过。如相机内外参数不一致会导致采集的数据不准确。不同厂商的激光雷达地面点的反射值不一样。
RTK方案提供更高的精度。
原理:观测站(无遮挡情况)通过在某个位置长时间地进行定点观测计算,数据非常准确,静态站点。车辆(无遮挡情况)作为动态站点,通过载波信号的差分得到厘米级的定位效果。
GPS在传输过程中,可能会受到多径效应、电离层大气层、反射折射等影响。但设定一定范围内的不同基站,受到的影响相对一致。
采集流程:
首先检测传感器状态ok,正确标定。然后打开开关进行采集,采集过程中需要将双向车道全覆盖3-5遍(最好5遍),如果是采用16线需要更多次才能达到很好的效果。车速方面Apollo没有明确的要求,不要太快即可。早期大家使用Riegl放在路口中间静态扫描采集红绿灯,违反交通规则而且很危险。Apollo则不需要在路口可以停留/采集最终得到的是一个个的bag包,bag包包含所有信息,如点云、车辆标定参数、定位结果等。
采集完成后Apollo地图数据服务平台提供一系列制图服务,离线过程。
生产流程:
通过64线激光雷达采集到的点云信息+定位信息,拼接得出一个完整的点云效果。
地图要素识别:基于深度学习网络,包含两个层面
Apollo所需要的地图:
定位地图类似于整齐排列的小格子,存储了坐标信息和反射强度信息等,用于点云定位。
高精地图是基于反射地图生产的。通过融合底图数据、图像数据、点云数据,整合生成高精地图数据,将可形成一份相对完整精确的自动驾驶地图数据。
路径规划地图主要用于车道级别规划。
仿真地图主要用于基于高精地图的仿真。
路口级别:
交通信号灯:
线上策略很复杂,需要将图像坐标系转到车辆坐标系,再转到全局的整体坐标系,整个过程都会存在一些误差,会导致红绿灯的框匹配不完美,还需要其他复杂的策略。
逻辑关系西表述:
UTM坐标系:UTM坐标系把全球分成60个区域带(Zone),每个Zone里面都是相当于Zone中心的一个局部坐标系。可以把全球每个位置描述的非常精确。
84坐标系:84坐标系是一套全球经纬度,也是高精地图里面使用的坐标系。在该坐标系中,把整个地球想象成是一个椭球,地面的高度是相对于椭球面的一个偏移。高由正数表示,低由负数表示。
Track坐标系:Track坐标系是基于st的,s是纵向,t是横向。这个坐标系用来表述一个元素跟Lane之间关系,描述它位于Lane的什么位置,相对于Lane起点的偏移量是多少。
Apollo openDRIVE规范:
把所有元素做了一个归类。类似于Road和Junction。路上的所有的地面标识都归属为Objects,所有的标牌都归属为Signal,并通过Overlap把它们关联起来。
Apollo的OpenDRIVE跟标准OpenDRIVE的区别:
Overlap:
Overlap主要是用来描述两个元素的空间关系。空间上有重叠都会描述为Overlap
如,Lane和Junction在空间上有重叠,它们之间就会有Overlap。
HDMAP引擎:
HDMAP引擎是Apollo里面用于从HDMAP里面提取相关元素给下游的一个模块。HDMAP 引擎可以通过ID去检索一个元素,也可以通过空间位置查找元素,比如给定一个点和半径,可以把这个范围之内所有的红绿灯都提出来。