amcl 自适应蒙特卡罗方法

amcl

蒙特卡罗方法(Monte Carlo method)

基本思想——当所要求解的问题是某种事件出现的概率,或者是某个随机变量 的期望值时,它们可以通过某种“试验”的方法,得到这种事件出现的频率,或 者这个随机变数的平均值,并用它们作为问题的解。

粒子滤波:初始化、状态转移、计算权重、重采样

假设这是我们的飞机,我们有以下几个可 得到的信息: 
• 我们可以测量其相对于海面的海拔高度 
• 我们可以测量其到地面的距离 
• 我们有地图但是我们不知道我们在地图上的位置,现在我们使用粒子滤波去估算飞机的位置。

1)初始化
产生200个位置假设。(采样)
黑色的点代表假设的位置,随机分布我们叫它们为粒子。

在这里插入图片描述

在这个时刻可得到的信息有:
• 已经测量了飞机到地面的距离(有一些不确定性)
• 我们有地图
• 我们知道我们现在飞得多高(一维问题)

2)计算权重
依据它的海拔高度和到地面的距离,记录发现粒子的可能性,对于十分可能得假设,对这个粒子附一个较大的权重。

在这里插入图片描述

所有粒子都进行相同的评估:
可能性大的分配一个较大的权重,可能性小的分配较小的权重。
(图上用黑点大小代表权重)

3)重采样
抛弃旧粒子生成200个新粒子,生成的200个新粒子集中出现在权重大的旧粒子位置上,并且有大量的新粒子叠加在同一个位置。
另外,因为所有的新粒子都是重采样得到,它们现在有相同的权重。

在这里插入图片描述

4)状态转移
飞机继续前进,粒子也依据运动模型一起移动。
我们根据传感器知道飞机的方向和速度范围(波动值),用于粒子的移动。

在这里插入图片描述

重复上诉行为,当权重较为集中时,作为问题的解。

在这里插入图片描述

自适应蒙特卡洛定位

解决了两个问题:
1.粒子数固定的问题,当机器人定位基本完成的时候,比如这些粒子都集中在一块了,这个时候重采样的粒子数可以少一点。
2.机器人绑架的问题,当粒子的平均分数突然降低(意味着正确的粒子在某次迭代中被抛弃了),在全局再重新的撒一些粒子。

机器人定位三大问题:全局定位、位姿跟踪、绑架劫持
“绑架劫持”:是机器人在已知自身位姿的情况下,得到了一个错误的位姿信息或者外界将其放到另外一个位姿,而里程计信息给出了错误的信息。

AMCL功能包

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值