what?(HD map)
数据精度为分米,甚至是cm,包含语义信息、语义信息、和时间信息的数据体
空间信息--点云地图
语义信息--车道线、停止线、转向路标、速度标识、人行横道、路牙
时间信息--红绿灯信息、早晚可变车道信息
格式?
Vector Map
lanelet 2
opendrive
Nds
(不同格式的地图可以相互转换)
点云如何创建原理简单描述?
输入点云数据一般基于激光雷达坐标,激光雷达坐标系和车身坐标为一体,如果将车辆的起始位置作为地图坐标系的原点,那么在之后运动的过程中的某些间隔均匀时刻,如果能够准确的获取车辆的位姿变换,就能将原本基于激光雷达的点云信息转换到地图坐标系下,进而就构成了点云地图的一部分。以此往复,就会构成一张庞大的点云地图。
车辆的位姿变换如何获取?
RTK差分定位(成本较高,需要建立基站,不能有遮挡)
激光SLAM匹配算法(存在累计误差,长时间使用会造成飘移)
轮速计定位(同上)
实际情况中,混合使用
工具(标注语义)信息?
Autoware tools、Unity插件版、VTD、roadrunner等
HD Map的生产流程?
数据融合->点云地图建立(RTK投影)->降采样去噪->语义信息标注
数据融合:一般为相机和激光雷达形成的RGB点云数据、便于车道信息的提取(有些高级激光雷达可以清晰显示车道信息)。也有一些通过边建图边语义识别路况信息的系统,目的是为了降低后面手动语义标注的工作量。
经典的slam算法
视觉slam(VIO):orbslam、vins、svo、dso
激光slam(2d):gmapping、hector、karto、cartographer2d
激光slam(3d):loam系、cartographer3d、Ndt
HDmap和经典建图算法
建图的关键在于位姿变换的准确估计,对于slam来说,位姿变换的计算是通过点云特征匹配优化后得出的。
根据特征匹配行驶的分类
scan to scan:loam系
loam会根据输入scan中的点云根据曲率大小分为平面点和边缘点、之后的匹配优化过程也是针对当前输入scan和上一scan的平面点和边缘点来研究进行的,根据边缘点的距离优化公式和平面点的距离优化公式来构造优化方程求解位姿变化量。
scan to map: Cartographer、Ndt
二者都是通过当前的scan同已经建好的map(or submap)来进行特征匹配的,和loam提取有曲率特征的点云不同、Catographer将当前scan通过hit的方式来和上一次建好的submap来进行匹配;而Ndt则是将map网格化后计算每个网格的均值方差,并通过当前的scan中的每点落在map网格中的正太分布概率来进行匹配优化的。