0

我目前正在蒙特卡洛定位(MCL)中评估不同的绑架机器人问题检测方法。到目前为止,我使用ROS amcl作为本地化方法。这样做的问题是,这种方法对我来说尝试我的论文有点聪明。当我在凉亭中拿起机器人时,就会发布凉亭/set_model_state 消息。粒子的粒子在地图上均匀地重新分布。我认为这与 AMCL 的 KLD 采样有关。

我希望过程如下

  • 启动 Gazebo 3d 模拟环境
  • 启动 amcl 节点
  • 启动带有导航目标的自定义脚本以使粒子收敛
  • 使用 gazebo/set_model_state 将机器人传送到新位置
  • 为机器人设置新的导航目标(这是在它被绑架之后只是为了让它移动)
  • 让检测方法检测到发生绑架事件

和问题

  • 当 Gazebo/set_model_state 被调用时(Ergo 绑架发生)。粒子在地图上均匀分布,导致全局定位过程重新启动

随着这种情况的发生,我无法公平地比较检测方法,因此我必须禁用此全局本地化才能再次发生。

4

0 回答 0