如何直观理解粒子滤波并进行Python编程实践
推荐开源项目:简单的SLAM与机器人教程与编程实践-github
疯言疯语:
如果你对一个算法有什么用都一无所知,那么学这个算法的难度那就增加了100倍。——知乎@Ai酱
首先我们看看粒子滤波怎么用的。我以粒子滤波可以用来机器人自主定位为例。现在已知机器人脑子里面有某个商场的地图,然后它想知道自己到底在哪。注意:现在机器人已知商场地图,并且能看到周围长啥样,需要求机器人位于地图哪个位置(就像我们人自己在商场都经常迷路不知道自己在哪)。那么根据粒子滤波算法机器人怎么知道自己在地图中哪个位置呢?
前面我们提到机器人是知道地图的,所以机器人先猜自己的位置,然后根据自己当前的观测来缩小猜的范围。下面这幅图就是一个商场的地图,红点是机器人猜自己可能在的位置。蓝色是建筑物。然后它根据自己的摄像头或者雷达看周围环境,比如它能够看到圆形建筑物,(由于机器人已知商场的地图)那么它就可以确定自己在商场的中央区域。这样就可以缩小猜的范围。
然后它再走两下发现,自己右侧有三个建筑物。然后猜测的范围又缩小了。
就这样根据观测和地图来不断缩小猜测范围,最终可以确定机器人所在的位置。
知乎 https://www.zhihu.com/people/yuanmuou/activities