SLAM導(dǎo)航技術(shù)介紹
僅在 100 年,全球就出貨了 000,2021 輛自動導(dǎo)引車 (AGV) 和自主移動機(jī)器人 (AMR)。在收入方面,AMR 產(chǎn)生了 1 億美元,AGV 增長到 6 億美元(1)。這些市場正在迅速增長,預(yù)計到 3 年,AGV 和 AMR 的 t 將增長到 1 億美元(18)。推動這一增長的是機(jī)器人軟件領(lǐng)域幾十年來一直在進(jìn)步,但對許多人來說仍然是陌生的——同步定位和映射(SLAM)。
有人可能會認(rèn)為SLAM僅適用于先進(jìn)的工業(yè)自主機(jī)器人,但它比大多數(shù)人想象的更加普遍。例如,許多家庭現(xiàn)在使用具有內(nèi)置激光雷達(dá)傳感器并使用SLAM清潔地板的自動真空吸塵器。還有最后一英里送貨機(jī)器人和倉庫機(jī)器人,它們利用SLAM快速適應(yīng)不斷變化的操作環(huán)境。
SLAM在最簡單的解釋中是一種在跟蹤地圖創(chuàng)建者位置的同時創(chuàng)建環(huán)境地圖的方法。這種映射和定位方法是使機(jī)器人能夠自主了解其在空間中的當(dāng)前位置并導(dǎo)航到新位置的關(guān)鍵部分。
與人工智能等許多技術(shù)一樣,SLAM 受益于激光雷達(dá)和邊緣計算等新進(jìn)步,以不斷發(fā)展和突破界限。SLAM 有許多變體,每種變體都有優(yōu)點和缺點,具體取決于用例。在這篇博文中,我們將以更簡單的術(shù)語介紹 SLAM,以幫助您了解該技術(shù)并在采用自主技術(shù)時做出更好的決策。
什么是 SLAM
想象一下自己在異國他鄉(xiāng)醒來。你會怎么做?您可能會開始環(huán)顧四周以找到您所在的位置。在此過程中,您將標(biāo)記一些對象以幫助您記住要去的地方。你會做一個心理地圖,畫出你周圍的世界是什么樣子的,以及你在那個世界里的位置。這就是同步定位和映射 (SLAM) 的作用。SLAM是機(jī)器人技術(shù)中必不可少的一部分,它可以幫助機(jī)器人在地圖上估計它們的姿勢 - 位置和方向,同時創(chuàng)建環(huán)境地圖以執(zhí)行自主活動。讓我們分解一下,看看本地化和映射的含義。
地方化
當(dāng)自主機(jī)器人打開時,它做的第一件事就是識別它在哪里。在典型的定位場景中,機(jī)器人配備了傳感器來掃描其周圍環(huán)境并監(jiān)控其運(yùn)動。使用來自傳感器的輸入,機(jī)器人能夠識別它在給定地圖上的位置。在某些情況下,像GPS這樣的跟蹤設(shè)備被用來協(xié)助本地化過程(例如,這就是谷歌在谷歌地圖上給你藍(lán)點的方式)。
映射
雖然聽起來很簡單,但創(chuàng)建地圖并不是一件容易的事,尤其是對于機(jī)器人來說。首先,使用一種視覺探測器(如相機(jī)或激光雷達(dá)傳感器)來記錄周圍環(huán)境。隨著機(jī)器人的移動,它會捕獲更多的視覺信息,并嘗試建立聯(lián)系并提取特征(如角落)以標(biāo)記一些可識別的點。然而,一些特征可能看起來非常相似,機(jī)器人很難區(qū)分哪個是哪個。這時,本地化對于通過 SLAM 創(chuàng)建更準(zhǔn)確的地圖變得非常有用。
為什么使用 SLAM
讓我們通過使用真空吸塵器示例更深入地了解為什么 SLAM 對自主機(jī)器人有用。想象一個典型的客廳,里面有大型家具,比如沙發(fā),位置非常固定。較小的物品,例如可以經(jīng)常在房間內(nèi)移動的咖啡桌和永遠(yuǎn)不會移動的房間墻壁(除非您正在進(jìn)行大型改造!為了清潔房間,自動吸塵器需要一張地圖來導(dǎo)航空間。
地圖可以通過不同的方式送入真空。一種方法是手動創(chuàng)建地圖并將其上傳到機(jī)器,這需要您在移動一件家具時重新繪制地圖。另一種方法是每次打開真空吸塵器時重新繪制全新的地圖,這對于遠(yuǎn)程家用設(shè)備來說將是非常資源繁重且效率低下的。這是SLAM大放異彩的時候。
通過使用SLAM,真空吸塵器能夠僅更新與上次掃描相比已更改的位置。因此,它可以更有效地執(zhí)行掃地的主要工作。在這個例子中,機(jī)器人可以依靠墻壁來獲得一致的參考,但是當(dāng)一件家具位于意外的位置時,機(jī)器人將更新地圖。類似的好處也適用于其他自主機(jī)器人,如最后一英里的送貨機(jī)器人。社區(qū)的一般地圖可以提供給送貨機(jī)器人,但機(jī)器人可以響應(yīng)他們使用 SLAM 看到的任何新物體,如停放的汽車或行人。
SLAM 也可以在無法獲得地圖時使用——例如,礦井、火山隧道或火星!自主機(jī)器人能夠檢查這些未知條件,創(chuàng)建準(zhǔn)確的地圖,并與控制器共享結(jié)果以進(jìn)行進(jìn)一步的研究或探索。
如何實現(xiàn) SLAM
如前所述,本地化和映射緊密相連,一起使用時效果更好。事實上,合作是可能的,因為它們都利用了從周圍環(huán)境中提取的特征。但什么是功能?在上一節(jié)中,我們使用拐角或平面作為特征的示例。在高級別上,它們是要素,因為它們是可以在地圖上指出的不同視覺信息。但是,提取特征在基于相機(jī)的方法和基于激光雷達(dá)的方法之間是完全不同的。
基于攝像頭的 SLAM
當(dāng)相機(jī)用于捕捉場景時,它能夠記錄具有豐富細(xì)節(jié)的高分辨率圖像。計算機(jī)視覺算法,如 SIFT(尺度不變特征變換)或 ORB(定向快速和旋轉(zhuǎn)簡報),可用于檢測特征。例如,如果機(jī)器人使用相機(jī)繪制倉庫地圖,則記錄的圖片可能具有托盤、貨架和門。通過檢查相鄰像素的顏色差異,機(jī)器人可以識別場景中存在不同的物體。
基于激光雷達(dá)的SLAM
(基于激光雷達(dá)的SLAM利用強(qiáng)度來映射要素的示例。
資料來源:Shan等人使用成像激光雷達(dá)進(jìn)行穩(wěn)健的位置識別。)
與基于相機(jī)的 SLAM 不同,激光雷達(dá)傳感器本機(jī)收集有關(guān)場景中捕獲的對象的深度和幾何形狀的信息。如果上面的同一個倉庫機(jī)器人使用激光雷達(dá)傳感器而不是相機(jī),它將使用返回給傳感器的距離和形狀來識別物體。事實上,基于激光雷達(dá)的SLAM使用通過設(shè)備記錄的邊和平面作為特征,而不是相鄰像素來連接視覺信息并創(chuàng)建地圖。與相機(jī)不同,這種方法在創(chuàng)建 3D 地圖的數(shù)字孿生副本方面要好得多,這更逼真。
如何選擇合適的 SLAM
(不同SLAM算法的輸出)
有各種 SLAM 方法的功能完全不同。此外,每種方法都有優(yōu)點和缺點,具體取決于用例。讓我們看一些有助于決定 SLAM 算法的區(qū)別。
一類是 SLAM 算法的輸出。例如,如果您在公園,您是否想知道樹木和長椅的相對位置(拓?fù)浞椒ǎ┗蛩鼈冎g的確切距離(公制方法)?此外,您是否計劃重新創(chuàng)建公園的數(shù)字副本(體積法)或僅提供足夠的信息來區(qū)分對象(基于特征的方法)?可以想象,某些輸出需要大量資源甚至不同類型的傳感器才能完成工作。
另一個因素是環(huán)境的性質(zhì)。運(yùn)行 SLAM 算法的位置是不會隨時間變化的靜態(tài)位置還是需要更新的動態(tài)位置?想象一下,一個機(jī)器人在倉庫的空蕩蕩的過道上漫步,但在回來的路上發(fā)現(xiàn)了成堆的托盤。它是否能夠關(guān)閉循環(huán)并建立連接,表明它在同一個位置,但只是添加了不同的對象?
最后但并非最不重要的是多機(jī)器人實例。當(dāng)有多個機(jī)器人在倉庫內(nèi)自主導(dǎo)航時,它可能面臨不同的挑戰(zhàn)。一個挑戰(zhàn)是能夠在沒有其他機(jī)器人的情況下創(chuàng)建干凈的地圖。您如何確保每個機(jī)器人都知道其他機(jī)器人的位置,以便能夠在映射中排除它們?如果機(jī)器人可以相互通信,那么每個機(jī)器人是否可以在本地創(chuàng)建較小的地圖并與中央系統(tǒng)共享以創(chuàng)建整個地圖?
如您所見,沒有單一的 SLAM 算法可以滿足所有用例。然而,SLAM 仍在隨著技術(shù)的進(jìn)步而發(fā)展。為了取得成功,需要真正了解用例,并靈活地測試不同的算法以找到最佳解決方案。
SLAM 之后會發(fā)生什么
一開始,我們用在異國他鄉(xiāng)醒來的例子來解釋SLAM是繪制周圍環(huán)境地圖并在地圖上定位您所在位置的行為。但是,這不包括地圖上的“內(nèi)容”。當(dāng)我們看到一棵樹時,我們知道一棵樹,但機(jī)器人不知道。我們需要讓他們知道,在他們面前的中心周圍散布著點的高大物體實際上是一棵樹。在SLAM輸出中添加語義可以提高機(jī)器人可以完成的自主級別。例如,如果機(jī)器人能夠識別人類并在他們附近減速以防止突然移動造成的事故,那么它可以更安全地在倉庫周圍機(jī)動。
隨著機(jī)器學(xué)習(xí)的發(fā)展,向SLAM添加語義變得越來越容易,進(jìn)一步擴(kuò)展了AGV和AMR的用例。有可以識別托盤及其孔的自動叉車,以便能夠運(yùn)輸托盤,還有可以移動到特定位置挖掘土壤的自動挖掘機(jī)。
結(jié)論
我們討論了什么是同步定位和映射,實現(xiàn)SLAM的不同算法,以及增加增強(qiáng)自治水平的語義。正如您所見證的,SLAM 不是一個容易理解的概念,即使對于經(jīng)驗豐富的從業(yè)者來說也不容易應(yīng)用于用例。在實施之前,有許多注意事項需要仔細(xì)檢查。
