定位、建圖與 SLAM

掃描匹配

掃描匹配是機器人透過比較前後相隔片刻拍下的兩張周圍環境快照,來弄清自己移動了多遠的方法。每一張快照——也就是一次掃描——是雷射或深度感測器測出的一束距離讀數,本質上是附近牆壁和物體的一圈點狀輪廓。如果機器人向前挪了一點、又轉了一點,那麼第二張輪廓看起來就會像第一張恰好平移、旋轉了那麼多。掃描匹配做的,就是找出這個「平移加轉動」:那唯一的一次移動,能讓新輪廓整整齊齊地落在舊輪廓上。

想像同一張平面圖在描圖紙上印了兩份。你把其中一張在另一張上慢慢推動、輕輕轉動,直到兩邊的線條盡可能地重合。你推了多少、轉了多少角度,就是答案。機器人用數字做著同樣的事:它嘗試各種細小的平移和旋轉,為每一個猜測打分,看兩次掃描吻合得有多好,然後留下讓它們對得最齊的那一個。這個勝出的「平移加旋轉」,就是機器人自上一次掃描以來估計出的運動。

這之所以重要,是因為它讓機器人能憑眼前所見來追蹤自己的運動,而不必只靠車輪的轉數——在光滑或顛簸的地面上,車輪會打滑、會「撒謊」。把這些一次接一次的掃描估計隨時間疊加起來,就勾勒出機器人的路徑,也有助於建出地圖,因此掃描匹配是雷射雷達 SLAM 和許多深度相機系統裡的主力。它的弱點是「千篇一律」:在又長又空的走廊裡,每一次掃描看上去都一樣,於是沒有清楚的辦法判斷你沿著它滑了多遠,估計就會變得搖擺不定。

掃地機器人撞上椅子腿、打了個滑,車輪數也數錯了——但掃描匹配發現牆並沒有像車輪所說的那樣移動那麼多,於是修正了這個估計。

當車輪撒謊時,周圍的環境會說出真相。

把最新的掃描與不斷擴大的地圖(而不只是上一次掃描)相匹配,叫做「掃描對地圖」匹配,它通常漂移更小。

又稱
scan registration扫描配准掃描配準