同時定位和製圖在構建或更新環境表示的同時,估算機器人的軌跡。這兩種估計相互依賴:運動用於在地圖中放置觀測值,需要地圖來糾正累積的運動誤差。因此, SLAM 是一個估計問題,而不僅僅是繪製佔用影像的方法。
LiDAR、視覺和視覺慣性 SLAM 在觀測內容和失效方式上有所不同。距離掃描強調幾何結構,相機利用影像外觀和投影,視覺-慣性系統結合影像約束與高速慣性傳播。輪里程計、深度、 GNSS 或其他先驗可以補充其中任何一種。
使用本指南與 機器人感測器融合指南 及 機器人感測器概覽一起使用。從校正軌跡和下游任務證據中選擇系統,而非僅憑一張漂亮的地圖截圖。
SLAM 同時估計位姿並構建地圖
機器人從不確定的姿態開始,接收來自未知或部分已知的地標、表面或影像特徵的觀測。相對運動連線連續狀態,而重複觀測則將軌跡回溯到早期位置。最佳化或過濾則找到一組最符合這些約束的狀態和對映變數。
必須定義規範自由度和參考系。區域性地圖可以在沒有全球測量原點的情況下內部一致。尺度可在公制距離系統中觀測,但不一定能從單一相機中單獨觀測,除非有額外資訊。輸出為度量、重力一致且全域參照的狀態。

前端將感測器資料轉換為約束
SLAM 前端檢測影像特徵、對齊掃描、估計視覺里程或將新觀測與早期狀態關聯。它提供相對姿態或標誌約束和不確定性。不良關聯會產生後端可能無法修復的可靠錯誤邊緣。
時間戳和外部校正影響所有約束。滾動快門、運動失真、車輪打滑和 IMU 偏置需要合適的模型或預處理。監控匹配得分、內點數量和殘差分佈,而非假設每個接受匹配都同樣可靠。
| SLAM 層 | 主要工作 | 證據 | 失敗 |
|---|---|---|---|
| 感測器準備 | 時間和校正輸入 | 時間戳和校正殘差 | 運動失真 |
| 前端 | 建立區域性約束 | 鄰近與匹配殘差 | 錯誤的關聯 |
| 里程計 | 傳播局部運動 | 增量與協方差 | 累積漂移 |
| 迴環閉合 | 認識到重訪 | 幾何驗證 | 錯誤或漏掉環 |
| 後端 | 最佳化圖表或狀態 | 目標與剩餘 | 不一致解 |
後端負責分配累積誤差
姿態圖將機器人姿態表示為節點,相對約束為邊。當有效的迴環檢測包將目前姿態與先前存取過的位置連線起來時,圖最佳化可以將漂移重新分佈到多個姿態,而不是應用一個突兀的區域性補丁。
目前 slam_toolbox 檔案描述 了姿態圖對映和定位工作流程。當重複性重要時,儲存序列化的圖和設定;僅渲染影像會失去後續診斷所需的約束和不確定性資訊。
LiDAR SLAM 觀察幾何範圍結構
二維 LiDAR SLAM 能夠對齊平面掃描,並且在牆體和物體在掃描平面附近形成獨特幾何形態時表現良好。三維繫統增加了垂直結構並支援更豐富的運動,但增加了資料、計算和校正負擔。
Google 的 Cartographer 存檔庫 展示了區域性軌跡構建和全球姿態圖的理念。距離感測也並非免疫於失敗:漫長無特徵的走廊、對稱性、玻璃、鏡面、灰塵、雨水和流動的人群都可能導致遺漏或誤導性的返回。
視覺 SLAM 使用外觀和攝影機幾何
單目視覺 SLAM 追蹤影像特徵或直接強度關係,並根據系統不同可以建立稀疏或密集的地圖。立體或 RGB-D 相機在其可靠範圍內增加度量深度。相機提供豐富的視覺效果,但依賴於曝光、對焦、紋理和可見度。
運動模糊、重複圖案、黑暗、眩光和大光照變化會降低關聯質量。動態人物或螢幕可能會移動系統假定為靜態的特徵。相機校正、快門模型和曝光策略是估計器的一部分,而非單獨的外觀設定。

視覺慣性 SLAM 增加了高速運動證據
ORB-SLAM3 是一個開放參考文獻,涵蓋視覺、視覺慣性和多地圖研究流程。其 倉庫檔案 還顯示,相機-IMU 校正和初始化是明確要求,而非可選改進。
IMU 有助於連線快速運動和低紋理間隔,並在適當的激勵下使重力和公制尺度可觀測。然而,偏置、時序和軸誤差的積分速度較快。初始化弱或運動無激發性會導致即使軌跡看起來平滑,比例、偏置或方向也難以被觀察到。
| 家庭 | 觀察力強 | 典型弱點 | 驗證場景 |
|---|---|---|---|
| 2D LiDAR | 平面幾何 | 玻璃與重複走廊 | 混合牆幾何 |
| 3D LiDAR | 度規 3D 結構 | 成本與運動失真 | 多層路線 |
| 單眼視覺 | 外觀與方位 | 比例與燈光 | 紋理與曝光掃視 |
| 立體聲或 RGB-D | 公制視覺深度 | 射程與光學故障 | 近遠天體 |
| 視覺-慣性 | 快速運動與重力 | 時序、偏置與初始化 | 激動的六軸運動 |
迴環檢測需要幾何驗證
地點辨識提出兩個觀察來自同一地點。在新增環路前,應透過單獨的幾何檢查驗證相對變換。重複的書架、門或走廊可以產生感知上相似但物理上不同的位置。
同時測試假陽性和漏迴環行為。一個假的高置信閉包可能會扭曲本應有用的對映,而沒有閉包則允許漂移存在。記錄提案、驗證殘差、接受邊以及每個環路引起的軌跡變化。
軌跡度量揭示了地圖影像所隱藏的內容
絕對軌跡誤差衡量路徑上與參考的對齊情況,而相對姿態誤差則檢查選定區間內的區域性漂移。還測量環路一致性、重新定位時間、追蹤丟失率、地圖重複性以及長時間會話中的 CPU 或記憶體行為。
報告對齊方法和參考不確定性。擬合變換可以隱藏縮放或全域偏移,因此保留原始和對齊的指標。導航方面,新增定位跳躍、路徑淨空誤差和重複路線成功。幾何清晰的壁面地圖可以與偏向機器人姿勢共存。
失敗測試應當還原真實環境
建造帶有直線走廊、旋轉、電梯或坡道、玻璃、變換燈光、動態物體以及臨時遮擋的路線。調整速度、加速度和感測器溫度。測試多個地圖點啟動,而非總是從一個已知起點啟動。
移除車輪里程計、遮擋攝影機、阻擋部分掃描或引入時間戳延遲。驗證不確定性、跟蹤丟失檢測和恢復。一個穩健的系統必須知道何時信心薄弱;繼續保持看起來精準錯誤的姿勢可能比停止更糟糕。
SLAM,定位和導航有不同的作用
SLAM 估算軌跡和地圖,定位估計在現有表示中定位,導航選擇並控制朝目標移動。一個軟體包可以暴露多種模式,但這些要求保持獨立。地圖維護和僅定位操作在資料保留和變更策略上也有所不同。
在全域校正過程中為控制器定義影格連續性。在適當情況下透過單獨的變換應用地圖級修正時,保持區域性里程平滑。用規劃器覆蓋、障礙物層和重複路線驗證地圖,確保估計輸出在下游有效。
評估“機器人 SLAM 類型:LiDAR、視覺與視覺慣性 SLAM”時,還應儲存模型版本、機器人設定、校正檔案、測試日期和全部試驗記錄。
只有把這些持續投入與單位成功任務的價值比較,才能判斷方案是否適合擴大。
上線後仍要持續檢查分佈變化、感測器漂移、機械磨損和人工接管原因。
- 校正時序、本徵和感測器外因。
- 測量區域性漂移和全域環路一致性。
- 幾何驗證迴環檢測。
- 測試光照、幾何、運動和動態物體失效。
- 驗證已儲存地圖上的定位和導航。
常見問題
SLAM 和導航是同一種技術嗎?
不。 SLAM 估計姿勢和地圖;導航使用世界表示和狀態估計來規劃和控制運動。
LiDAR SLAM 總是比視覺 SLAM 更準確嗎?
不會。準確性取決於環境、運動、校正、演算法和參考。幾何形狀差或反射的場景會破壞 LiDAR 就像光線會破壞視覺一樣。
迴環檢測是強制性的嗎?
並非每個短任務都如此,但如果沒有全域引用或重訪,區域性漂移通常會在較長的路線上積累。
SLAM 能沒有輪式編碼器工作嗎?
是的。 LiDAR、視覺慣性或其他方法可以估算運動,但編碼器輸入在正確建模時可以補充有用的證據。
乾淨的地圖能證明定位準確嗎?
不需要。評估軌跡誤差、迴圈一致性、重複定位和下游導航,而不僅僅是渲染後的地圖。
SLAM 證據邊界註釋
SLAM 輸出取決於校正、環境、運動、關聯和估計設定。部署前,使用獨立參考和下游導航棧驗證軌跡和故障恢復。