由于底盘部分没处理好,想了个偏门的法子,就是利用雷达扫描与周围环境匹配实现位姿估计,将位姿估计当做里程计提供给gmapping进行建图,经过博主测试,使用gmapping+laser_scan_matcher建图在环境特征比较明显的地方建图效果特别好,尤其是在比较复杂的室内环境,凌乱一点也行,缺点呢,在长廊这种特征环境不是特别明显的地方,建图的时候位姿估计得不是很精确,因为环境特征比较单一,容易出现机器人移动的距离与地图上估计的位置不匹配,从而使地图没有和真实环境完全匹配上。
在工作空间目录下下载gmapping与laser_scan_matcher以及依赖csm的源码包:
cd ~/eaix4_ws/src
git clone https://github.com/ros-perception/slam_gmapping.git