Hectorslam:Hectorslam采用Gauss-Newton方法解决scan-matching问题,对传感器要求较高。缺点:要求雷达(LRS)更新频率高,测量噪声低。所以在建图的过程中,需要将机器人的速度控制在一个比较低的水平,这样建图的效果才会比较理想。这也是它没有关闭循环的后遗症;而当里程表数据相对准确时,它就无法发挥作用。利用里程表信息。优点:不需要里程表,可以使用无人机和地面车辆测绘高低不平的地方;利用得到的地图优化激光束点阵,估计激光点在地图上的表示,以及占据网格的概率;利用高斯-牛顿法求解扫描匹配问题,得到激光点集映射到已有地图的刚体变换(x,y,theta);为了避免局部最小值而不是全局最优值,使用多分辨率率图;在导航状态估计中加入惯性测量系统(IMU),并使用EKF滤波器;补充:11-11hector_slam通过最小二乘法匹配扫描点,依赖高精度激光雷达数据,所以扫描角度小,噪音大较大的Kinect是不行的,匹配的时候会掉到局部点,地图是更混乱。gmapping:scanmatch方法:https://blog.csdn.net/zyh8213...gmapping是目前使用最广泛的2Dslam方法,使用的是RBPF方法,所以了解粒子滤波算法很有必要。scan-match方法是估计机器人位置(pose),采用梯度下降法,当前构建的地图,当前激光点,机器人位置(pose)作为初始估计。粒子滤波的方法一般需要大量的粒子才能获得好的效果,但这必然会引入计算复杂度;粒子是一个根据过程的观察逐渐更新权重并收敛的过程,而这个重采样过程必然会代入粒子Dissipation问题(耗尽问题),大权重的粒子显着,小权重的粒子会消失(有可能是正确的粒子模拟可能会显示权重小,中间阶段消失)。自适应重采样技术的引入减少了粒子耗散问题,在计算粒子分布时,不仅依赖于机器人的运动(里程计),还考虑了当前的观测,减少了机器人在运动过程中位置的不确定性粒子过滤步骤。(FAST-SLAM2.0的思想可以适当减少粒子数)缺点:依赖里程计,无法适用于无人机和地面车辆的不平坦区域;没有循环;优点:在长走廊和低特征场景下的贴图效果好;补充:(11-11)据说gmappingKinect转换的激光雷达数据可以用来建图,不过我没有里程计,所以没试。(如果你试过,请告诉我结果,谢谢)实验表明:在大地图和低特征(独特地标)场景中,hector的建图误差高于gmapping。这是由于hector过度依赖scan-match造成的。尤其是在长廊问题上,误差更为明显。cartographer:cartographer是谷歌的实时室内制图项目。传感器安装在背包上,可以生成分辨率为5cm的二维网格图。将得到的每一帧激光扫描数据在最佳估计位置处使用扫描匹配插入到子图中,扫描匹配只与当前子图相关。子图生成后,会进行局部闭环。使用分支定位和预先计算的网格,在所有子图完成后,将进行全局循环关闭。局部2DslamA.scanssubmap的构建是一个反复迭代配准scan和submap的过程。使用配准估计位姿对scan进行刚体变换,插入到submap中。B.子图的连续扫描用于构造子图,其中子图以概率网格的形式表示。对于每次扫描,在插入网格(子图)时,每个网格有两种情况:命中和未命中。最接近扫描结束的网格是命中,而在扫描的原点和结束之间相交的网格是未命中。以前未观察到的网格被分配一个概率,观察到的网格用概率更新。C.Ceres扫描匹配将寻找位姿的问题转化为求解非线性最小二乘的问题,并使用Ceres来解决这个问题。因为最小二乘问题是一个局部最优问题,一个好的初值(poseinitialvalue)对求解有很大的影响。因此,可以利用IMU为姿态初始值提供旋转变量。当缺少IMU时,可以利用它来提高扫描匹配频率或匹配精度。闭环使用SPA方法优化扫描和子图的位姿。与插入的扫描位置相对应的位姿被存储用于环回检测。另外,当submap不发生变化时,pose对应的scan和submap也用于loopback。在扫描匹配中找到的良好匹配的相应位姿将用于优化问题。A.优化问题环回优化问题构造为非线性最小二乘问题来解决它。公式是submap的位姿,scan的位姿,submap位姿和scan的相关性,相关协方差矩阵。B.Branch-andbroundscanmatching缺点:优点:没有使用粒子滤波器(PF),使得低成本的设备可以获得更好的性能。
