使用粒子或卡尔曼滤波器解决绑架机器人问题

Solving kidnapped robot problem using particle or kalman filter

我正在研究 ROS 中的导航算法,我想测试 gazebo 中的机器人绑架问题。在互联网上我看到两种解决方案是粒子和卡尔曼滤波器。我知道 amcl 已经实现了粒子滤波器,你可以使用这个 package 的卡尔曼滤波器,但它们的问题是 amcl 需要机器人的初始位置。所以我的问题是 amcl 是否真的解决了绑架机器人问题,还有其他方法可以解决这个问题吗?

AMCL 不需要初始姿势。当未给出初始姿态时,它将在地图上均匀地初始化粒子。机器人移动足够距离后,粒子滤波器会收敛到正确的位姿。

AMCL 通过添加随机粒子解决机器人被绑架问题。当机器人被绑架时,添加的随机粒子数量会增加。在机器人实际姿势附近的随机粒子中,它们获得最高权重,并且在重新采样时,将在正确姿势附近添加更多粒子。经过几次传感器更新和重采样后,pf 将收敛到机器人的实际位姿。

在研究中针对绑架机器人问题提出了很多解决方案。他们中的大多数使用额外的设置或额外的传感器。