草莓采摘机器人——ROS导航(三)
ROS自适应蒙特卡罗定位算法(AMCL)理解
在详细解释ROS工作原理与步骤之前, 我想先Mark一下自适应蒙特卡罗定位算法的原理与思想。 毕竟算法才是王道。
AMCL(adaptive Monte Carlo Localization)自适应性蒙特卡罗定位,根据ROS官网的简介为:amcl is a probabilistic localization system for a robot moving in 2D. It implements the adaptive (or KLD-sampling) Monte Carlo localization approach (as described by Dieter Fox), which uses a particle filter to track the pose of a robot against a known map.
翻译过来可以理解为: AMCL是一个关于机器人在2D空间移动的概率定位系统。 AMCL实现了自适应性蒙特卡罗定位方法,其实现方法为:通过粒子滤波来跟踪机器人在已知地图上的位姿。
对于机器人来说, 知道自己实时的位置位姿的精确定位是非常必要的。如果无法正确定位机器人的当前位置与位姿, 机器人就无法规划出正确的目的地目标与移动轨迹, 在很大程度上可以说:位姿位置的定位精度决定了规划路径与导航的精度。
自适应蒙特卡罗定位的思想
在介绍自适应蒙特卡罗之前梳理一下几个重要的几个概念:
(1)蒙特卡罗和粒子滤波
蒙特卡洛:是一种思想或方法。举例:一个矩形里面有个不规则形状,怎么计算不规则形状的面积?不好算。但我们可以近似。拿一堆豆子,均匀的撒在矩形上,然后统计不规则形状里的豆子的个数和剩余地方的豆子