在给定位置周围均匀创建500个粒子
然后在每个步骤:
使用里程表运动更新所有粒子(我当前的方法是newX = oldX + odometryX(1 + standardGaussianRandom),等等)
返回具有最大概率的粒子作为此步骤的位置
然后按照权重从旧粒子中重新采样9/10个新粒子,并在预测位置附近均匀采样1/10。
现在,我为机器人的环境编写了一个模拟器,这是本地化的行为方式:
http://www.youtube.com/watch?v=q7q3cqktwZI
我很担心机器人会在更长的时间内迷路。如果将粒子添加到更大的区域,机器人会更容易丢失。
我希望有更好的表现。有什么建议吗?
#1 楼
我刚刚回答了StackOverflow上的问题。这是链接:https://stackoverflow.com/questions/21249131/monte-carlo-localization-for-mobile-robot
评论
$ \ begingroup $
阅读您的回答,您是对的:)
$ \ endgroup $
– Neo
2014年2月4日在6:46
评论
考虑到单个声纳传感器,视频中显示的性能很好。您是否有机器人遗失的示例视频?实际上有5个声纳,还是会说很好吗?我没有失去机器人的视频,但是今天我将在一个真正的机器人上进行尝试。
我不清楚您的关注是什么。您实施的PF似乎工作正常。也许您可以更详细地了解问题所在。
请不要在多个堆栈交换站点上问相同的问题。如果您不小心在错误的网站上提问,则可以将其迁移到正确的网站。
欢迎使用机器人技术Andrei Ivanov。就目前情况而言,不清楚您的实际问题在这里。我们倾向于根据您所遇到的实际问题提出实用,可回答的问题。看看“如何询问和浏览”以获取有关堆栈交换如何工作的更多信息,并考虑如何编辑问题以使其更易于回答。