Gmapping算法总结:
分解了定位和建图的过程。Gmapping算法针对RBPF算法因为粒子数较多占用大量内存和频繁执行重采样造成的例子退化的问题进行了改进,首先根据里程计观测结果对机器人位姿的影响,将其融入到各个地图中,从而使地图更加精准,大大减少了估计误差,因此可以用较少的例子来表示后验概率。然后采用自适应重采样策略,有效减少执行重采样的次数,能够保持合理的例子多样性,降低粒子退化耗尽的风险。
利用滑动窗口进行边缘化:
如果只是单纯地在接收新帧时边缘化最旧帧,可能会因新帧不能提供更多新约束而导致整个滑动窗口的约束减少,所以进行边缘化时需要满足滑动窗口策略,分为两种情况:一是如果新帧是关键帧时候则可以丢弃最旧帧,因为关键帧有着许多新的特征约束,所以可以将最旧帧关联的视觉和惯性数据边缘化,并转换成为先验信息加入优化函数中;二是如果新帧不是关键帧时,则说明倒数第二帧与该帧存在相似约束,可以剔除倒数第二帧的视觉观测保留其IMU约束,既保证IMU预积分的连续性又能保证关键帧间有足够视差能够三角化足够多的地图点。通过上述后端BA优化以及边缘化,可以使系统准确、鲁棒运行。