Skip to content

用激光雷达传感器和里程计信息做粒子滤波的定位算法

Notifications You must be signed in to change notification settings

Maojiabao/AMCL-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 

Repository files navigation

AMCL-

激光定位部分主要使用激光雷达,外部环境地图以及小车位姿信息来做先验信息,通过粒子滤波的思想建立粒子点云代表小车位姿,利用各个先验信息建立运动模型和传感器模型实现对粒子点云的预测和更新,最终得到收敛程度较好的粒子点云,并以各个粒子的权重做加权计算,得到最终的机器人位姿。

  1. 关键技术
  • 坐标变换技术

本文采用的粒子滤波算法最终得到一个最佳定位点Mp, 它是base_frame相对map上的坐标。机器人最终的位姿即为最佳定位点Mp关于map地图坐标系的坐标变换。而这里的odom坐标原点是始终随机器人运动数据而变化的。机器人理想情况下,里程计没有误差,我们可以直接使用里程计信息推算出机器人(base_frame)相对里程计坐标系(odom_frame)的位置。但现实情况,里程计存在漂移以及无法忽略的累计误差,所以AMCL采用先根据里程计信息初步定位base_frame,然后通过测量模型得到base_frame相对于map_frame(全局地图坐标系),从而获取机器人的位姿。

  • 粒子滤波技术

用粒子代表机器人的位置,每个粒子都有权重,用权重的大小代表粒子趋近真实机器人位置的可能性高低。通过某种评价方法(根据激光数据和地图数据比较),改变粒子的分布情况。通过不断地迭代,粒子都集中到最趋近于真实机器人位置的地方,最后经过加权计算,得出最终的机器人位姿。

机器人定位中的粒子滤波主要包括以下流程:

首先:根据机器人初始位置,在机器人地图下进行粒子的撒点。
 Step1:粒子跟随机器人移动,同时加入运动过程中的噪声,可以看到粒子变得更加的发散。
Step2:根据激光雷达传感器和地图的匹配程度,赋予每个粒子不同的权重值,约接近真实情况,权重值越大。
Step3:粒子重采样,收回所有粒子按照权重重新撒点,权重高的地方粒子撒的多,权重低的地方粒子撒的少。
重复步骤123,直到粒子收敛达到设定的要求,最后输出粒子位置,即为机器人位姿。

About

用激光雷达传感器和里程计信息做粒子滤波的定位算法

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published