一、hector
hector采用泰勒展开近似优化激光雷达数据的匹配过程,因此两次激光雷达采集数据时位姿变化不能太大,否则余项误差过大,造成建图失败——这也是为什么在hector论文中需要使用到扫描频率高达40Hz的激光雷达,如果使用10Hz的激光雷达,很容易建图失败(尤其在转向速度较大的时候)。
二、gmapping
gmapping采用粒子滤波方法,但其基本匹配过程仍然是通过odom获得初始位姿估计,然后迭代比较(scanmatcher)优化激光雷达数据的匹配过程,其匹配范围可以简单地通过(步长*迭代次数)确定,意味着超过迭代范围的误差将导致建图失败,因此如果odom是通过简单的差速计算得到的,那么在转向速度较大的时候,odom误差将急剧增加,很容易导致建图失败,可以通过卡尔曼滤波(robot_pose_ekf等)加入惯导数据提高odom的精度,从而提高gmapping实际建图过程中的稳定性。