推薦開源項目:簡單的SLAM與機器人教程與編程實踐-github
瘋言瘋語:
如果你對一個算法有什麼用都一無所知,那麼學這個算法的難度那就增加了100倍。——知乎@Ai醬
首先我們看看粒子濾波怎麼用的。我以粒子濾波可以用來機器人自主定位爲例。現在已知機器人腦子裏面有某個商場的地圖,然後它想知道自己到底在哪。注意:現在機器人已知商場地圖,並且能看到周圍長啥樣,需要求機器人位於地圖哪個位置(就像我們人自己在商場都經常迷路不知道自己在哪)。那麼根據粒子濾波算法機器人怎麼知道自己在地圖中哪個位置呢?
前面我們提到機器人是知道地圖的,所以機器人先猜自己的位置,然後根據自己當前的觀測來縮小猜的範圍。下面這幅圖就是一個商場的地圖,紅點是機器人猜自己可能在的位置。藍色是建築物。然後它根據自己的攝像頭或者雷達看周圍環境,比如它能夠看到圓形建築物,(由於機器人已知商場的地圖)那麼它就可以確定自己在商場的中央區域。這樣就可以縮小猜的範圍。
然後它再走兩下發現,自己右側有三個建築物。然後猜測的範圍又縮小了。
就這樣根據觀測和地圖來不斷縮小猜測範圍,最終可以確定機器人所在的位置。