激光雷达SLAM包括以下几种方案:
直接法, 直接法的典型代表是ICP和NDT系列,ICP可以直接计算出激光的位姿,多帧可以构成联合优化,这种方案比较简单但是比较有效,常用于激光雷达的多程对齐。
基于特征的匹配(LO),该方案的典型代表是LOAM和后续的改进方案A-LOAM/F-LOAM,该方案通过寻找线面特征,并通过特征匹配来计算帧间的位姿,多个位姿可以做BA优化。
多传感器融合的方案。该方案的典型代表是LIO-Mapping,LINS和LIO-SAM.LIO-Mapping算法借鉴VINS-Mono的预积分和后端优化,前端视觉里程计改成激光里程计。
基于栅格的,该方案的代表是谷歌开源的cartography,这种方案在室内的机器人定位比较有优势。
基于面元,该方案的典型代表是suma。
基于语义信息,该方案的典型代表是segmap和suma++。
高精地图的生产包括语义信息的提取(通常来自视觉,部分也可来自激光),单程LIO(gnss+imu+dmi+lidar/visual odometry),多程对齐。说一下每一部分的难点吧:
图像语义信息的提取。图像的语义信息包括车道线,杆状物体,牌子,地面车信等;在高速场景,物体遮挡较少,物体检测的准确率是可以做到95%以上的;在城市道路,由于树木的遮挡(对牌子和杆状物体的遮挡), 车辆遮挡(对车道线和地面车信的遮挡),目前的检测是很难做到90%以上的。
点云的语义信息提取。点云对于特殊材料反射率较大(如车道线),基本上二分就可以解决很多问题,对于高速场景,车道线磨损并不严重,语义信息提取较容易;对于城市道路车道线磨损严重,且存在老旧的车道线的干扰,语义信息的提取是很难做到90%以上的。
LIO. 高精采集车一般配备激光雷达,相机,imu, dmi和RTK等设备,对单程轨迹来说,是可以采用多传感器融合的。对于高速场景,建筑物遮挡较少,RTK信号较好,后结算的RTK的精度是可以做到30cm以内的(在山区和隧道场景例外),自动化比较难做,这个和场景有关系。
多程融合。主要看人眼去分辨点云是否对齐,当然是可以建立小规模数据集进行评测,自动化率非常低。
总的来说,目前高精地图的生产是很难做到自动化的,主要原因是场景复杂,corner case太多,绝对精度和相对精度都很难满足要求。
总结一下,目前激光SLAM的直接法比较简单,可以用于激光里程计的多程对齐或回环检测; 纯LO的算法目前工业圈很少使用,一般采用多传感器融合的方案,毕竟激光雷达都用了,也不差IMU这样的传感器。多传感器融合的方案主要用于高精地图的制作,自动驾驶领域一般采用高精地图作为先验来定位,不会同时定位和建图。基于栅格的可以用于移动机器人,在室内环境栅格假设大多数还是有效的,在室外场景的话,一般会采用NDT Map来存储地图。基于语义信息和面元的话,个人不太了解,在工业圈的使用也不多。