hector_mapping添加imu

最近发现网上有几篇文章评论了多种2d lidar slam的效果,其中有两篇提到hector slam算法的时候都说剧烈晃动时会出现警告信息,提示搜索的范围过大.从而导致定位失败.而这和hector slam在2011年机器人搜救大赛的表现相悖.

本人的博客http://blog.csdn.NET/sean_xyz/article/details/53405190 中也提到没有IMU的情况下,稳定性能不好.那么hector slam有IMU的效果又如何呢? 本人打算亲自做个实验.

1> 首先建立如下系统,添加IMU

hector_mapping添加imu_第1张图片

2>然后启动rviz进行观察, 平坦的情况下,有IMU辅助建立的地图和没有IMU的情况效果一样,

hector_mapping添加imu_第2张图片

3>然后将其倾斜30度,并摇晃, 情况如下, 没有太大的变化, 此时hector_mapping 没有出现错误或者警告的打印.

hector_mapping添加imu_第3张图片


4> 当关闭IMU节点后,在将其倾斜30度,情况如下,明显可以看到激光数据有问题了(反射来自地面,而不是墙壁)

hector_mapping添加imu_第4张图片

5>晃动设备,slam定位发生错乱.

hector_mapping添加imu_第5张图片

结论: hector slam算法添加IMU,测量roll, pitch 数据,用来对scan的数据进行预处理(就增加了个三角变换, 以及过滤高度差太大的激光点), 可以很大程度上提高SLAM的精度,消除倾角带来的干扰

你可能感兴趣的:(hector_mapping添加imu)