SLAM 背后的核心思想是讓機器人或自主系統能夠探索未知環境并創建該環境的地圖,同時確定其在生成的地圖中的位置。這是通過融合來自各種傳感器(例如激光雷達、攝像頭和慣性測量單元 (IMU))的數據來估計機器人的軌跡和環境中地標的位置來實現的。
SLAM 算法通常由兩個主要部分組成:預測步驟和校正步驟。預測步驟也稱為運動或里程計更新,根據傳感器提供的機器人先前的位置和運動信息來估計機器人的新位置。校正步驟也稱為觀察或傳感器更新,它使用環境測量值(例如激光雷達傳感器檢測到的地標的距離)來細化預測位置。
通過迭代執行預測和校正步驟,SLAM 算法可以不斷更新機器人的位置和環境地圖。生成的地圖可以以各種形式表示,例如占用網格、點云或地標之間的空間關系圖。
地圖生成和姿態估計
使用激光雷達數據生成地圖并估計機器人在地圖內的姿態的過程是激光雷達 SLAM 的核心。地圖可以用多種形式表示,例如占用網格,其中網格中的每個單元格指示該單元格被對象占用的概率,或者作為點云,其中環境中對象的位置表示為3D 空間中的點集。
為了估計機器人的姿態,SLAM 算法使用激光雷達數據來識別和跟蹤環境中的地標。通過將觀察到的地標與地圖中存儲的地標進行比較,該算法可以確定機器人相對于地圖的位置和方向。此過程通常涉及找到將觀測到的激光雷達數據與存儲的地圖最佳對齊的轉換,這可以使用迭代最近點 (ICP) 或其他優化算法等技術來實現。
隨著機器人探索環境并收集新的激光雷達數據,地圖會不斷更新,機器人的姿勢也會得到完善。這一迭代過程使激光雷達 SLAM 系統能夠創建準確的地圖,并在從自動駕駛車輛到移動機器人和室內測繪等各種應用中提供實時定位。
為特定 SLAM 應用選擇合適的激光雷達傳感器取決于所需范圍、分辨率、視場和成本等因素。
機械掃描激光雷達:
機械掃描激光雷達傳感器是 SLAM 應用中最常見的激光雷達傳感器類型之一。它們由安裝在旋轉平臺上的激光發射器和探測器組成,允許傳感器通過在寬視場中引導激光脈沖來掃描環境。機械掃描激光雷達傳感器可以提供范圍長達 200 米的高分辨率點云,具體取決于具體的傳感器型號和配置。
Velodyne HDL-64E 是自動駕駛車輛和機器人應用中常用的機械掃描激光雷達傳感器的一個示例。其數據集具有64個激光掃描光束、360度水平視場和26.9度垂直視場,最大范圍為120米,角分辨率為0.08度。高分辨率和寬視場使其適用于需要詳細環境數據的各種SLAM應用。
固態激光雷達:
固態激光雷達傳感器代表了新一代激光雷達技術,不依賴移動部件來掃描環境。相反,固態激光雷達傳感器使用電子光束控制方法,例如光學相控陣或微機電系統 (MEMS) 鏡,將激光脈沖引導到整個視場。與機械掃描激光雷達傳感器相比,固態激光雷達傳感器具有多種優勢,包括更高的耐用性、更低的功耗以及更小的尺寸和重量。
Innoviz Technologies 的 InnovizOne 是專為汽車和機器人應用設計的固態激光雷達傳感器的一個示例。它的范圍可達 250 米,水平視野為 73 度,垂直視野為 20 度。該傳感器提供角分辨率為0.1度的高分辨率點云,使其適合需要精確環境數據的SLAM應用。
閃光激光雷達:
閃光激光雷達傳感器是另一種固態激光雷達技術,它用單個廣角激光脈沖照亮整個場景,并用 2D 傳感器陣列捕獲反射光。閃光激光雷達傳感器可以提供快速的單次環境測量,非常適合需要高速數據采集的應用,例如空中測繪或高速自動駕駛車輛中的障礙物檢測。
Advanced Scientific Concepts 的 ASC TigerCub 是專為機器人和航空測繪應用而設計的閃存激光雷達傳感器的一個示例。它的范圍可達 150 米,水平視野為 90 度,垂直視野為 20 度。該傳感器提供空間分辨率為 1 厘米的點云數據,可在 SLAM 系統中進行精確的繪圖和定位。
為 SLAM 選擇合適的激光雷達傳感器
為 SLAM 應用選擇合適的激光雷達傳感器對于獲得最佳性能和滿足特定要求至關重要。
范圍和分辨率
激光雷達傳感器的范圍和分辨率直接影響生成的地圖的準確性和細節以及這些地圖內的定位性能。更長的范圍使 SLAM 系統能夠檢測和繪制更遠距離的物體,這對于高速行駛的自動駕駛汽車等應用至關重要。高分辨率激光雷達傳感器可以提供更詳細的點云,從而能夠識別環境中更小或更復雜的地標。
例如,Velodyne HDL-64E 的最大范圍為 120 米,角分辨率為 0.08 度,非常適合需要大面積詳細環境數據的應用。相比之下,具有較短距離和較低分辨率的低成本激光雷達傳感器可能足以滿足環境較小且不太復雜的室內機器人應用。
視野
激光雷達傳感器的視場 (FoV) 決定了傳感器在單次掃描中可以捕獲的環境的空間范圍。寬視場使 SLAM 系統能夠繪制更大的環境區域,并檢測相對于傳感器不同角度的物體。這對于需要全面了解周圍環境的應用尤其重要,例如自動駕駛車輛的防撞或繪制大型室內空間地圖。
例如,InnovizOne 固態激光雷達傳感器提供 73 度水平 FoV 和 20 度垂直 FoV,使其能夠捕獲廣闊的環境視野。這種寬視場非常適合需要徹底了解周圍環境的應用,例如城市駕駛或復雜的室內環境。
更新率和延遲
激光雷達傳感器的更新速率和延遲會顯著影響 SLAM 系統的性能,特別是在物體和地標可能快速變化的動態環境中。更高的更新率使 SLAM 系統能夠更頻繁地捕獲環境快照,從而更準確地表示不斷變化的環境。低延遲激光雷達傳感器可以提供近乎實時的環境數據,這對于需要快速決策的應用至關重要,例如快速移動的自動駕駛車輛中的障礙物檢測和避讓。
ASC TigerCub Flash Lidar 傳感器是高速 Lidar 傳感器的一個示例,專為需要快速數據采集的應用而設計。TigerCub具有單次測量能力,可以瞬間捕獲整個場景,提供適合高速自主導航的快速環境更新。
成本和復雜性
在為 SLAM 應用選擇傳感器時,激光雷達傳感器的成本和復雜性也可能是關鍵因素。具有長距離、高分辨率和寬視場的高端激光雷達傳感器往往更昂貴,并且可能需要更復雜的集成和校準程序。相比之下,成本較低的傳感器可能具有較低的性能特征,但更易于訪問且更容易集成到 SLAM 系統中。
為特定 SLAM 應用選擇激光雷達傳感器時,必須平衡性能要求與傳感器的成本和復雜性。通過仔細考慮范圍、分辨率、視場、更新速率和延遲等因素以及成本和復雜性,可以選擇滿足特定 SLAM 應用的獨特需求的激光雷達傳感器。
流行的激光雷達 SLAM 算法
激光雷達 SLAM 算法是生成精確地圖并在這些地圖中定位機器人或自動駕駛車輛的基石。高效算法的開發和實施帶來了 SLAM 領域的重大進步。
多種激光雷達 SLAM 算法因其性能、魯棒性和可擴展性而受到歡迎。
通用映射
GMapping 是基于激光雷達的 SLAM 的 Rao-Blackwellized 粒子濾波器 (RBPF) 的著名實現。該算法利用網格地圖表示并使用掃描匹配將激光雷達掃描與地圖對齊。GMapping 能夠在小型和大型環境中提供準確的地圖和定位結果。
GMapping 采用自適應重采樣策略,根據機器人姿態估計的不確定性調整濾波器中使用的粒子數量。這種策略使得算法能夠在計算效率和魯棒性之間保持平衡。GMapping 已廣泛應用于機器人應用,包括自主導航、室內測繪和移動機器人定位。
赫克托·斯拉姆
Hector SLAM 是一種基于激光雷達的 SLAM 算法,不依賴里程計數據,因此適用于沒有車輪編碼器或其他運動傳感器的平臺。該算法使用網格地圖表示和多分辨率方法來處理不同分辨率的激光雷達數據,使其能夠有效地處理大規模環境。
Hector SLAM 的核心是快速掃描匹配技術,它對齊連續的激光雷達掃描來估計機器人的運動。該算法還結合了閉環檢測和優化,以糾正機器人姿態估計隨時間的累積漂移。Hector SLAM 已成功應用于各種平臺,包括飛行器、地面機器人,甚至手持式激光雷達掃描儀。
制圖師
Cartographer 是 Google 開發的一種多功能且可擴展的激光雷達 SLAM 算法。它支持 2D 和 3D 映射,旨在與各種類型的傳感器配合使用,包括激光雷達、IMU 和里程計數據。Cartographer 采用局部和全局優化技術的組合來創建一致且準確的環境地圖。
在局部優化階段,Cartographer使用實時掃描匹配來估計機器人的位姿并更新當前正在構建的子圖。在全局優化階段,該算法采用位姿圖優化技術來糾正漂移并保持全局一致的地圖。Cartographer 已用于廣泛的應用,從室內測繪和自主導航到大型室外測繪項目
LOAM(激光雷達里程計和測繪)
LOAM 是一種實時激光雷達 SLAM 算法,專為使用高分辨率激光雷達傳感器進行 3D 測繪而設計。該算法將激光雷達數據分解為兩個部分:用于估計機器人里程計的低分辨率部分和用于構建詳細環境地圖的高分辨率部分。
LOAM 利用多線程方法有效處理激光雷達數據。該算法首先從激光雷達掃描中提取特征,例如邊緣和平面,然后在連續掃描之間匹配這些特征以估計機器人的運動。然后使用運動估計來構建環境的詳細 3D 地圖。LOAM 已成功應用于自動駕駛汽車、無人機和機器人平臺,展示了其在各種環境中的穩健性和準確性。
選擇正確的算法
如前所述,有多種可用的激光雷達 SLAM 算法,每種算法都有其優點和缺點。選擇符合您的應用程序要求的算法至關重要。例如,如果實時性能至關重要,那么計算高效的算法(如 Hector SLAM 或 ICP)可能是合適的。相反,如果需要高精度和可擴展性,像 Cartographer 這樣基于圖的 SLAM 算法可能是更好的選擇。
配置參數
選擇最合適的激光雷達 SLAM 算法后,下一步就是配置其參數。這些參數控制算法的各個方面,例如傳感器模型、運動模型和優化設置。需要考慮的一些關鍵參數包括:
傳感器噪聲模型:激光雷達傳感器的噪聲特性,例如距離和角度測量噪聲,會顯著影響 SLAM 算法的性能。為了獲得可靠的測繪和定位結果,必須對這種噪聲進行精確建模。
運動模型:運動模型描述了機器人的運動學和動力學,SLAM 算法使用這些模型來預測機器人隨時間變化的姿態。選擇適合機器人特性的運動模型對于準確的位姿估計至關重要。
優化設置:許多SLAM算法都涉及優化過程,例如圖優化或粒子過濾。這些過程的設置(例如收斂標準、迭代次數和優化算法)可以顯著影響算法的性能和準確性。
配置這些參數可能需要進行實驗和微調,因為最佳值可能會根據具體應用和環境而有所不同。
集成解決方案
配置激光雷達 SLAM 算法后,最后一步是將其集成到您的應用程序中。這涉及到算法與激光雷達傳感器、運動數據源和其他相關系統(例如定位、導航和控制)的接口。
集成SLAM算法時,要考慮數據同步、數據處理速率、硬件要求等因素。確保激光雷達傳感器和其他來源的數據正確同步并以正確的速率處理對于獲得可靠且準確的 SLAM 結果至關重要。此外,請確保硬件資源(例如處理能力和內存)足以使所選 SLAM 算法實現最佳性能。
激光雷達 SLAM 在現實生活中的流行應用:
自動駕駛汽車:
激光雷達SLAM(同步定位和建圖)技術是自動駕駛汽車開發的重要組成部分。這些車輛中使用的激光雷達傳感器可創建周圍環境的 3D 地圖,幫助汽車的車載計算機自動導航。激光雷達 SLAM 可用于自動駕駛汽車的多種應用,包括障礙物檢測和規避、定位和地圖繪制。傳感器檢測并分類汽車路徑中的障礙物,例如其他車輛、行人和道路危險。該信息用于規劃安全有效的路線,避免潛在的碰撞。激光雷達 SLAM 幫助汽車的車載計算機在環境中準確定位,這對于規劃最佳駕駛路徑和避免碰撞至關重要。最后,激光雷達 SLAM 創建的高度詳細的周圍環境 3D 地圖可用于改善汽車對環境的感知并優化其駕駛行為。
清潔機器人:
激光雷達 SLAM 可用于清潔機器人的多種應用,包括障礙物檢測和規避、定位和地圖繪制。傳感器檢測機器人路徑中的障礙物(例如家具和其他物體)并對其進行分類,并使用這些信息來規劃有效的清潔路徑,避免碰撞。激光雷達 SLAM 幫助機器人在環境中準確定位,這對于規劃最佳清潔路徑和避免碰撞至關重要。最后,激光雷達 SLAM 創建的高度詳細的 3D 環境地圖可用于優化機器人的清潔行為,確保其覆蓋房間的所有區域并避免遺漏任何點。
SLAM 無人機:
配備激光雷達傳感器的無人機可以創建周圍環境的 3D 地圖,可用于多種應用,包括測量、測繪和檢查。激光雷達 SLAM 可用于自動化無人機中的多種應用,包括障礙物檢測和規避、定位和地圖繪制。傳感器對無人機路徑中的障礙物(例如建筑物、樹木和其他物體)進行檢測和分類,并利用這些信息來規劃安全高效的飛行路徑,避免碰撞。激光雷達 SLAM 幫助無人機在環境中準確定位,這對于規劃最佳飛行路徑和避免碰撞至關重要。最后,激光雷達 SLAM 創建的高度詳細的 3D 環境地圖可用于繪制地形、檢查基礎設施和監測野生動物種群等應用
激光雷達 SLAM 的挑戰和局限性
傳感器限制
激光雷達傳感器雖然功能強大且準確,但其固有的局限性可能會影響 SLAM 算法的性能。其中一些限制包括:
范圍限制:激光雷達傳感器有一個最大范圍,超出該范圍就無法提供準確或可靠的測量。這種范圍限制可能會影響 SLAM 算法在大型環境中或當遠處的物體感興趣時進行地圖和定位的能力。
分辨率和精度:激光雷達傳感器的分辨率和精度可能因傳感器類型、環境和操作條件而異。較低的分辨率和精度可能會導致地圖和定位估計不太精確,特別是在具有小或復雜特征的復雜環境中。
對環境因素的敏感性:激光雷達傳感器對各種環境因素非常敏感,例如環境光、灰塵、霧和雨。這些因素會降低傳感器數據的質量,進而影響 SLAM 算法的性能。
有限的視野:大多數激光雷達傳感器的視野有限,這可能導致環境測繪不完整或部分。當機器人需要全面了解周圍環境以實現安全有效的導航時,這種限制尤其成問題。
計算復雜度
激光雷達 SLAM 算法可能需要大量計算,特別是在處理大規模環境和高分辨率傳感器數據時。計算復雜性可能會給實時性能和硬件要求帶來挑戰。在某些情況下,可能需要針對特定應用或硬件平臺優化 SLAM 算法才能實現所需的性能。
動態環境
激光雷達 SLAM 算法通常是針對靜態環境設計的,其中假設環境不會隨時間發生顯著變化。然而,在現實場景中,具有移動物體(例如行人、車輛或其他機器人)的動態環境是常見的。在激光雷達 SLAM 中處理動態環境可能具有挑戰性,因為算法必須能夠區分靜態和動態對象并相應地更新地圖。
循環閉合和全局一致性
SLAM 的主要挑戰之一是實現全局一致性,特別是在處理大規模環境或長期任務時。由于傳感器數據的高維性和感知混疊的可能性(即不同的地方看起來相似),算法識別機器人已返回之前訪問過的位置的閉環過程在激光雷達 SLAM 中可能具有挑戰性。
穩健性和可靠性
確保激光雷達 SLAM 的穩健性和可靠性至關重要,特別是在自動駕駛車輛或機器人助手等安全關鍵型應用中。開發能夠處理傳感器噪聲、數據異常值和其他不確定性的算法是 SLAM 領域持續面臨的挑戰。此外,在面對硬件或軟件故障時實現容錯和故障安全操作對于實際應用至關重要。
總之,激光雷達 SLAM 面臨著一些挑戰和限制,包括傳感器限制、計算復雜性、動態環境、閉環和魯棒性。應對這些挑戰并開發可靠、高效的 SLAM 解決方案是機器人和自主系統領域持續研究和開發的領域。
常見問題 (FAQ)
1:激光雷達SLAM主要應用有哪些?
激光雷達 SLAM 具有多種應用,包括自動駕駛汽車、無人機、移動機器人、室內導航、測量、測繪,甚至虛擬現實。這些應用涵蓋汽車、農業、物流和建筑等各個行業。
2:激光雷達SLAM可以在黑暗或弱光條件下工作嗎?
是的,激光雷達傳感器是主動傳感器,它們以激光脈沖的形式發射自己的光,這使得它們能夠在黑暗或弱光條件下有效工作。這是激光雷達 SLAM 相對于其他依賴無源傳感器的技術(例如基于攝像頭的 SLAM)的優勢之一。
3:激光雷達SLAM如何處理環境中的移動物體?
對于激光雷達 SLAM 算法來說,處理具有移動物體的動態環境可能具有挑戰性。高級算法通常使用對象跟蹤、數據關聯或分段等技術來區分靜態和動態對象并相應地更新地圖。
4:2D和3D激光雷達SLAM有什么區別?
2D 和 3D 激光雷達 SLAM 之間的主要區別在于激光雷達傳感器收集的數據的維度。在 2D 激光雷達 SLAM 中,傳感器在單個平面中提供數據,而在 3D 激光雷達 SLAM 中,傳感器捕獲三維空間中的數據。因此,3D 激光雷達 SLAM 可以提供更詳細、更準確的環境地圖,但代價是計算復雜性增加。
5:激光雷達SLAM適合戶外應用嗎?
是的,激光雷達SLAM適合戶外應用。然而,激光雷達傳感器的性能可能會受到某些環境因素的影響,例如雨、霧或灰塵。選擇專為戶外應用設計的激光雷達傳感器并確保 SLAM 算法能夠應對這些環境挑戰至關重要。
-
算法
+關注
關注
23文章
4599瀏覽量
92637 -
定位
+關注
關注
5文章
1302瀏覽量
35337 -
SLAM
+關注
關注
23文章
419瀏覽量
31786 -
激光雷達
+關注
關注
967文章
3938瀏覽量
189593
原文標題:激光雷達 SLAM:同步定位和建圖終極指南
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論