SLAM作為機器人自主定位導航的重要突破口正不斷引起業(yè)內重視,它是實現(xiàn)機器人自主行走的關鍵技術,可幫助機器人實現(xiàn)即時定位與地圖構建,在實際應用中,SLAM技術究竟又是如何實現(xiàn)的呢?一起來探個究竟。
在這一技術實現(xiàn)過程中主要包含預處理、匹配及地圖融合三大步驟:
預處理
預處理是對激光雷達原始數據進行優(yōu)化,剔除一些有問題的數據,或進行濾波。我們都知道機器人想要完成定位及建圖,需要搭配激光雷達來實現(xiàn),激光雷達可獲取它所在位置的環(huán)境信息,也就是我們通常說的點云,但它只能反映機器人所在環(huán)境中的一個部分。
匹配
匹配是一個非常關鍵的步驟,是指將當前一局部環(huán)境的點云數據在已建立的地圖上尋找到對應的位置。說其關鍵是因為它直接影響了SLAM地圖構建的精度,這與拼圖游戲有點類似,就是在已拼好的畫面中找到相似之處,確定新的一個拼圖該放在哪里。而在SLAM過程中,需要將激光雷達采集到的點云匹配拼接到原有的地圖中,如下圖的紅色部分:
如果未進行匹配,所構建的地圖便會很混亂
地圖融合
在匹配這一步驟完成后便可直接進入地圖融合了,地圖融合就是將來自激光雷達的新數據拼接到原始地圖當中,并最終完成地圖的更新。如下圖,該過程是永遠伴隨著SLAM過程的。
當然,在實際應用過程中,傳感器所描繪的世界與實際情況會有所誤差,機器人所在環(huán)境很容易出現(xiàn)變化,例如突然走進一個人或闖入一只小貓。面對復雜的應用環(huán)境,需要用到很多概率算法,并采用濾波的方式進行融合,將以上過程依次執(zhí)行后,最終就產生了我們所看到的柵格地圖。
柵格地圖就是把環(huán)境劃分成一系列柵格,其中每一柵格給定一個可能值,表示該柵格被占據的概率。這種地圖看起來和人們所認知的地圖沒什么區(qū)別,它最早由 NASA 的 Alberto Elfes 在 1989 年提出,在火星探測車上就用到過,其本質是一張位圖圖片,但其中每個「像素」則表示了實際環(huán)境中存在障礙物的概率分布。
以上過程聽起來似乎并不復雜,但要處理好還是有很大難度的,比如實現(xiàn)機器人回環(huán)問題時,如果匹配算法不夠精準,或在現(xiàn)實環(huán)境中存在很多干擾,可能出現(xiàn)繞環(huán)境一圈后,原本該閉合的一個環(huán)形走道被斷開了。
比如正常地圖應該像左邊圖這樣,但如果處理不好,就有可能變成右邊圖的樣子。
在環(huán)境較大的場景中,回環(huán)問題是不得不面對的,但在現(xiàn)實中即使是像激光雷達這種高精度的傳感器,也難免會存在一些誤差。該問題的難點在于在剛開始出現(xiàn)些許誤差時并不易發(fā)掘,直到機器人繞著環(huán)路一圈,才發(fā)現(xiàn)誤差的累加,但此時發(fā)現(xiàn)已經晚了,環(huán)路閉合問題已很難解決了。當然該問題也并不是完全無解,一個好的商用化SLAM系統(tǒng)便能很好的解決回環(huán)問題。回環(huán)問題能否很好的解決,也成為評判該系統(tǒng)實力的指標了。
以上是思嵐科技工作人員在辦公室進行的測試,左邊的視頻是基于開源的ROS機器人操作系統(tǒng)進行的地圖構建,右邊的是基于SLAMWARE構建的地圖。當機器人繞場一周后,ROS構建的地圖出現(xiàn)了中斷,而SLAMWARE構建的地圖是一個完美的閉環(huán),它與思嵐科技辦公室的設計圖完美重合。
責任編輯:haq
-
機器人
+關注
關注
211文章
28466瀏覽量
207306 -
SLAM
+關注
關注
23文章
425瀏覽量
31855
發(fā)布評論請先 登錄
相關推薦
評論