RGBD SLAM属于视觉SLAM中的一种,使用的RGBD传感器包括zed(双目立体,适用于室外)、Kinect(结构光,仅限室内)、Kinect v2(TOF,主要用于室内)等。
功能包
现在有比较多的现成的功能包可以进行学习和二次开发:
gmapping:
实时构建室内地图,在构建小场景地图所需的计算量较小且精度较高。相比Hector SLAM对激光雷达频率要求低、鲁棒性高(Hector 在机器人快速转向时很容易发生错误匹配,建出的地图发生错位,原渣坦因主要是优化算法容易陷入局部最小值)。
而相比Cartographer在构建小场景地图时,Gmapping不需要太多的粒子并且没有回环检测因此计算量小于Cartographer而精度并没有差太多。但是,不适合构建大场景地图,并且没有回环检测,因此在回环闭合时可能会造成地图错位,虽然增加粒子数目可以使地图闭合但是以增加计算量和内存为代价,不能像Cartographer那样构建大的地图。
hector_slam:
设计初衷Hector主要用于救灾等地面不平坦的情况,因此无法使用里程计,特点是用IMU解决了激光的运动畸变问题。虽然系统不提供明确的循环卜乱关闭能力,但对于许多真实世界场景来说它足够准确。
cartographer:
累计误差较前两种算法低,能天然的输出协方差矩阵,后端优化的如弊桐输入项。成本较低的雷达也能跑出不错的效果。是Google开源的一个ROS系统支持的2D和3D SLAM(simultaneous localization and mapping)库。