原文:https://blog.csdn.net/weixin_38145317/article/details/82852580
KLD采样
就是为了控制上述粒子数冗余而设计的。比如在栅格地图中,看粒子占了多少栅格。占得多,说明粒子很分散,在每次迭代重采样的时候,允许粒子数量的上限高一些。占得少,说明粒子都已经集中了,那就将上限设低,采样到这个数就行了。
测距仪的似然域(likelihood field)
主要思想是首先将传感器扫描到的终点映射到地图的全局坐标空间。假定三种噪声和不确定性的来源
1.测量噪声。由测量过程引起的噪声使用高斯进行建模。在x-y空间,它涉及寻找地图上最近的障碍物。
2.测量失败,
3. 无法解释的随机测量
将障碍物检测的似然描述成全局x-y坐标的函数,叫作似然域。
有三种类型的ROS参数可以用来配置AMCL节点,整体滤波器,激光模式,odometery模型。
Transforms:
AMCL将传入的激光扫描数据转为里程计结果(odom_frame_id),因此必须存在从激光发布到里程计的tf树转换。
说白了就是2D的概率定位系统,输入激光雷达数据,里程计数据,输出机器人在地图中的位姿,用的是自适应蒙特卡洛定位方法,这个方法是在已知地图中使用粒子滤波方法得到位姿的。
MCL算法和AMCl算法的区别
AMCL算法增加了短期和长期的指数滤波器衰减率αslow,αfast,换句话说MCL中αslow,αfast为0,AMCL中的不为0.
四个参数的含义
3)xt代表M个粒子的集合,第5行利用运动模型从旧粒子采样获取新位姿,第6行它的重要性权重依据测量模型设置。
4)AMCL中最重要的地方就是随机采样概率
(5)motion_model用的是《概率机器人》这本书第5章的sample_motion_model_velociy