采用GMapping定位,增加一个垂直扫描的2D激光实时采集三维点云。
发现GMapping的定位精度还是没有办法满足高精度点云采集位姿的需要。尤其是当旋转的速度比较大的时候,位姿精度更差。原因是扫描匹配可以获取较高精度的位姿,但是两次扫描匹配之间的运动只有里程计相对运动数据,因此里程计误差严重。
本来计划融合2D激光和Kinect的,看来2D SLAM进行定位提供实时位姿还是有一定问题,两次扫描匹配时间间隔之间的位姿精度都比较低。旋转的影响更大。
考虑融合IMU数据。
1. 点云融合IMU的方式(参考 https://www.zhihu.com/question/53571648)
(1)简单调用,直接读取IMU的角速度和线加速度。使用的时候利用Odometry的平移量和IMU的旋转量。参考Cartographer的 imu_tracker
(2)松耦合,将视觉或者激光扫描匹配得到的位姿信息作为状态量,与IMU融合,采用EKF或者UKF方法
(3)紧耦合,将视觉或者激光特征作为状态量,与IMU融合。
-------------------------------------------------
2018年11月20日
目前已经完全改为通过Cartographer进行三维点云数据采集。效果很不错。