zoukankan      html  css  js  c++  java
  • 几种常见建图算法简介

    一、gmapping

    gmaping主要是采用一个粒子滤波的方式来实现。主要框架如下:

    (1) 数据输入 
    在ROS GMapping包中,获取激光和里程计数据传入openslam GMapping包中,为新一时刻的建图做准备。 
    (2)运动模型 
    根据t-1时刻的粒子位姿以及里程计数据,预测t时刻的粒子位姿,在初始值的基础上增加高斯采样的noisypoint。 
    (3)扫描匹配 
    对每个粒子执行扫描匹配算法,GMapping默认采用30个采样粒子。扫描匹配的作用是找到每个粒子在t时刻位姿的最佳坐标。为后面每个粒子权重更新做准备。如果此处扫描匹配失败,则粒子权重更新则采用默认的似然估计。 
    (4)建议分布 
    混合了运动模型和观测模型的建议分布,根据上一步扫描匹配获得的最佳坐标,围绕该坐标取若干位置样本(距离差值小于某阈值)计算均值与方差,使得当前粒子位置满足该均值方差的高斯分布。 
    (5)权重计算 
    对各个粒子的权重进行更新,更新之后还需进行归一化操作。注意:重采样前更新过一次,重采样后又更新过一次。 
    (6)重采样 
    使用Neff判断是否进行重采样(重采样频率越高,粒子退化越严重,即粒子多样性降低,导致建图精确度降低,有必要设定一个判定值改善粒子退化问题)。 
    (7)粒子维护地图 
    每个粒子都维护了属于自己的地图,即运动轨迹。该步骤执行的操作是更新每个粒子维护的地图。 
    (8)地图更新 
    在ros中进行地图更新。先得到最优的粒子(使用权重和 weightSum判断 ),得到机器人最优轨迹,地图膨胀更新。 

    参考:http://blog.csdn.net/lqygame/article/details/71158558

    优点:依赖里程计(odometry),无法适用无人机及地面小车不平坦区域;无回环;

    缺点:在长廊及低特征场景中建图效果好;

    二、cartographer 

    整个建图系统框架如下所示:

    主要的流程从框架图可以看出来,输入主要是:里程计、imu、雷达(或者点云、超声波等),输出为submap

    Cartographer主要理论是通过闭环检测来消除构图过程中产生的累积误差[1]。用于闭环检测的基本单元是submap。一个submap是由一定数量的laser scan构成。将一个laser scan插入其对应的submap时,

    会基于submap已有的laser scan及其它传感器数据估计其在该submap中的最佳位置。submap的创建在短时间内的误差累积被认为是足够小的。然而随着时间推移,越来越多的submap被创建后,submap间的误差累积则会越来越大。

    因此需要通过闭环检测适当的优化这些submap的位姿进而消除这些累积误差,这就将问题转化成一个位姿优化问题。当一个submap的构建完成时,也就是不会再有新的laser scan插入到该submap时,该submap就会加入到闭环检测中。

    闭环检测会考虑所有的已完成创建的submap。当一个新的laser scan加入到地图中时,如果该laser scan的估计位姿与地图中某个submap的某个laser scan的位姿比较接近的话,那么通过某种 scan match策略就会找到该闭环。

    Cartographer中的scan match策略通过在新加入地图的laser scan的估计位姿附近取一个窗口,进而在该窗口内寻找该laser scan的一个可能的匹配,如果找到了一个足够好的匹配,则会将该匹配的闭环约束加入到位姿优化问题中

    Cartographer的重点内容就是融合多传感器数据的局部submap创建以及用于闭环检测的scan match策略的实现。

    参考:http://blog.csdn.net/u012700322/article/details/53513527

  • 相关阅读:
    POJ 1681 Painter's Problem(高斯消元法)
    HDU 3530 Subsequence(单调队列)
    HDU 4302 Holedox Eating(优先队列或者线段树)
    POJ 2947 Widget Factory(高斯消元法,解模线性方程组)
    HDU 3635 Dragon Balls(并查集)
    HDU 4301 Divide Chocolate(找规律,DP)
    POJ 1753 Flip Game(高斯消元)
    POJ 3185 The Water Bowls(高斯消元)
    克琳:http://liyu.eu5.org
    WinDbg使用
  • 原文地址:https://www.cnblogs.com/kuangxionghui/p/8494566.html
Copyright © 2011-2022 走看看