1.激光数据处理(非常重要!!!)
- 激光运动畸变;
- 轮式里程计的标定;
标定参数:轮子半径,两轮间距;
为什么标定:虽然出厂会给出参数(轮子半径、轮间距),但也不是十分标准,类似相机一样需要标定一下;
标定方法:基于模型法标定,假设激光位于车体的正中心,将里程计积分值与激光雷达的匹 配值构建线性方程;
- IMU的标定
标定参数:一般标定的参数有刻度系数矩阵和零偏。刻度系数是指imu的输出物理量(可能是电压)与输入角速率的比值,零偏是指当输入角速率为零时,imu的输出值。
为什么标定:由于工艺、技术等原因,致使器件存在缺陷。温飘、噪声等。
标定方法:对加速度计进行标定可以直接使用重力场作为参考。对加速计进行标定是求解加速度计的刻度系数矩阵和加速度计的零偏。常采用六面法标定加速度计,即依次让三个加速度计朝天和朝地放置,并采集静止状态下三个加速度计的输出,参考基准值为重力加速度。同样,在计算的过程中可以计算各个位置采集数据的均值以降低噪声的干扰。将不同位置时三个加速度计的输出值和相应的重力加速度向量带入三轴加速度计的标定模型,使用最小二乘法即可计算加速度计的刻度系数矩阵和零偏,完成加速度计标定。
- 多传感器时间同步;
2.激光数据帧间匹配(计算相邻两帧激光之间的相对位姿)
- ICP
- PL-ICP
- N-ICP
- IMLS-ICP
- NDT
- CSM
3.激光回环检测(识别回到访问过的环境)
- scan-to-scan
- scan-to-map
- map-to-map
4.后端优化(优化图,调整机器人节点位姿,尽量满足边的约束)
- 图优化方法:估计机器人的全部位姿
- 滑动窗口方法:估计固定数量得机器人位姿
- 滤波器方法:仅估计当前位姿
后端算法的实现大同小异,不同的库的使用方法都不太相同,但是核心思想都是相同的,即根据前端构建的残差函数,计算每个测量的残差,构建最小二乘问题,然后利用高斯牛顿、LM方法等,求解构建的最小二乘问题,实现位姿变换的求解。常使用的库有Ceres,G2O、gstam等。
5.地图的构建
- 基于占用概率的栅格地图
- 基于TSDF的栅格地图