Hector slam :
Hector slam 利用高斯牛顿方法解决 scan-matching 问题,对传感器要求较高。
缺点:需要雷达( LRS )的更新频率较高,测量噪声小。所以在制图过程中,需要 robot 速度控制在比较低的情况下,建图效果才会比较理想,这也是它没有回环( loop close )的一个后遗症;且在里程计数据比较精确的时候,无法有效利用里程计信息。
优点:不需要使用里程计,所以使得空中无人机及地面小车在不平坦区域建图存在运用的可行性;利用已经获得的地图对激光束点阵进行优化 , 估计激光点在地图的表示 , 和占据网格的概率;利用高斯牛顿方法解决 scan-matching 问题,获得激光点集映射到已有地图的刚体变换( x,y,theta );为避免局部最小而非全局最优,使用多分辨率地图;导航中的状态估计加入惯性测量系统( IMU ),利用 EKF 滤波;
补充: 11-11 hector_slam 通过最小二乘法匹配扫描点,且依赖高精度的激光雷达数据,因此扫描角很小且噪声较大的 Kinect 是不行的,匹配时会陷入局部点,地图比较混乱。
gmapping :
scanmatch 方法: 链接
gmapping 是目前应用最广的 2D slam 方法,利用 RBPF 方法,故需要了解粒子滤波算法。 scan-match 方法在于估计机器人位置( pose ),利用梯度下降的方法,在当前构建的地图,与当前的激光点,和机器人位置( pose )为初始估计值。
粒子滤波的方法一般需要大量的粒子来获取好的结果 , 但这必会引入计算的复杂度 ; 粒子是一个依据过程的观测逐渐更新权重与收敛的过程 , 这种重采样的过程必然会代入粒子耗散问题 (depletion problem), 大权重粒子显著 , 小权重粒子会消失 ( 有可能正确的粒子模拟可能在中间的阶段表现权重小而消失 ). 自适应重采样技术引入减少了粒子耗散问题 , 计算粒子分布的时候不单单仅依靠机器人的运动 ( 里程计 ), 同时将当前观测考虑进去 , 减少了机器人位置在粒子滤波步骤中的不确定性 . (FAST-SLAM 2.0 的思想,可以适当减少粒子数 )
缺点:依赖里程计( odometry ),无法适用无人机及地面小车不平坦区域;无回环;
优点:在长廊及低特征场景中建图效果好;
补充:( 11-11 )据说 gmapping 可以用 Kinect 转换出来的激光雷达数据建图,但是苦于没有里程计,所以没有尝试。(如果你有试过,请把结果告诉我,谢谢)
实验表明:在大地图,低特征( distinctive landmarks )场景中, hector 的建图误差高于 gmapping 。这是由于 hector 过分依赖 scan-match 。特别是在长廊问题中,误差更加明显。
cartographer 是 Google 的实时室内建图项目,传感器安装在背包上面,可以生成分辨率为 5cm 的 2D 格网地图。
获得的每一帧 laser scan 数据,利用 scan match 在最佳估计位置处插入子图( submap )中,且 scan matching 只跟当前 submap 有关。在生成一个 submap 后,会进行一次局部的回环( loop close ),利用分支定位和预先计算的网格,所有 submap 完成后,会进行全局的回环。
A.scans
submap 的构造是一个重复迭代配准 scan 和 submap 的过程。利用配准估算出 pose 对 scan 进行刚体变换,插入到 submap 中。
B.submaps
连续的 scan 用来构造 submap ,这里 submap 以概率格网的形式表现。每一个 scan ,在插入格网( submap )时,每一个 grid 有 hits 和 miss 两种情况。离 scan 终点最近的 grid 为 hits ,在 scan 原点和终点之间相交的 grid 为 miss 。之前未观察的 grid 分配一个概率,已观察的 grid 进行概率更新。
C.Ceres scan matching
把求 pose 的问题转换为一个求解非线性最小二乘问题,利用 Ceres 解决这个问题。
因为最小二乘问题是一个局部最优问题,故一个好的初值( pose 初值)对求解有很大影响。因此 IMU 能被用来提供 pose 初值的旋转变量。在缺乏 IMU 的时候,可以用提高 scan match 频率或匹配精度。
closing loops
利用 SPA 方法优化 scan 和 submap 的 pose 。存储插入 scan 位置处对应的 pose 用来做回环检测。此外,当 submap 不在变化时,对应 pose 的 scan 和 submap 也被用来做回环。 scan match 中找到的 good match 其对应的 pose 将被用来做优化问题。
A.Optimization problem
回环优化问题构造成非线性最小二乘问题,来求解。
公式中分别为 submap 的 pose , scan 的 pose ,对应 submap 和 scan 的 pose 的相关性,及相关协方差矩阵。
B.Branch-and bround scan matching
缺点:
优点:不采用粒子滤波( PF ),从而低廉设备也能获得较好的性能表现。