找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2760|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

深度解析|機器人自主移動的秘密(二)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:156214 發(fā)表于 2017-8-11 10:58 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

SLAM主要解決機器人的實時定位與自動建圖問題,那么,在實際應(yīng)用時,SLAM究竟是如何實現(xiàn)的呢?在實現(xiàn)過程中有哪些難點?

這是一個完整的SLAM和導(dǎo)航系統(tǒng)的主要架構(gòu)圖:

其中,SLAM核心過程包括3個步驟,第一步稱為預(yù)處理。我們知道,激光雷達和其他雷達設(shè)備一樣,某一個時刻只能獲取它所在位置的環(huán)境信息。

這就是我們所說的點云,它只能反映機器人所在環(huán)境中的一個部分。第一步預(yù)處理就是對激光雷達原始數(shù)據(jù)進行優(yōu)化,剔除一些有問題的數(shù)據(jù),或者進行濾波。


第二步是匹配,也就是說把當前這一個局部環(huán)境的點云數(shù)據(jù)在已經(jīng)建立地圖上尋找到對應(yīng)的位置,這個步驟非常關(guān)鍵。

這個是ICP的點云匹配算法,用于實現(xiàn)匹配。說這個過程關(guān)鍵,就是因為它的好壞,直接影響了SLAM構(gòu)建地圖的精度。這個過程和我們玩拼圖游戲有點類似,就是在已經(jīng)拼好的畫面中找到相似之處,確定新的一個拼圖該放在哪里。

在SLAM過程中,需要將激光雷達當前采集的點云(紅色部分)匹配拼接到原有地圖中。

如果不進行匹配過程,所構(gòu)建的地圖可能就亂成一團,變成這樣。

在這個部分完畢以后,就進行第三步,地圖融合,也就是將這一輪來自激光雷達的新數(shù)據(jù)拼接到原始地圖當中,最終完成地圖的更新。

就像這個圖一樣,這個過程是永遠伴隨SLAM過程的。
數(shù)據(jù)融合和簡單的貼圖是有很大的差異的。因為實際上傳感器描繪的世界存在一定的誤差,或者正巧在這個時間環(huán)境有了變化,例如機器人旁邊闖入了一只小貓。

因此,實際要進行的過程會更加復(fù)雜,需要用很多概率算法,并采用濾波的方式進行融合。將上述這個過程逐次執(zhí)行,就最終產(chǎn)生了我們看到的柵格地圖。


這個過程聽起來其實并不復(fù)雜,但是要處理好有很大難度。這里舉幾個例子,比如叫做Loop Closure(回環(huán))問題。如果匹配算法不足夠優(yōu)秀,或者環(huán)境中存在很不巧的干擾,當機器人繞著環(huán)境一圈后,就會發(fā)現(xiàn)原本是應(yīng)該閉合的一個環(huán)形走廊斷開了。

比如正常地圖應(yīng)該這樣:


如果處理不好,實際地圖就成這樣:

對于環(huán)境比較大的場景,回環(huán)問題是不得不面對的,但現(xiàn)實總是不完美的,即使是激光雷達這種高精度傳感器,也難免存在誤差。而回環(huán)問題的難點恰恰在于在一開始出現(xiàn)少許誤差的時候,并不會被發(fā)覺,直到機器人繞著環(huán)路一圈,隨著誤差的累加,發(fā)現(xiàn)環(huán)路已經(jīng)無法閉合時,此時已經(jīng)釀成大錯,一般很難回天。
當然這個問題并不是無解,一個好的商用化SLAM系統(tǒng),回環(huán)問題是否能很好的解決,就成為評判這個系統(tǒng)實力的指標了。

這是前兩天在我們辦公室進行的測試,左邊的視頻是基于開源的ROS機器人操作系統(tǒng)進行的地圖構(gòu)建,右邊的是基于SLAMWARE構(gòu)建的地圖。
插入的視頻:ROS構(gòu)建地圖和SLAMWARE構(gòu)建的地圖

當機器人已經(jīng)繞場一周后,ROS構(gòu)建的地圖出現(xiàn)了中斷,而SLAMWARE構(gòu)建的地圖是一個完美的閉環(huán),它與我們辦公室的設(shè)計圖完美重合。


除了算法層面的回環(huán)問題,SLAM實際應(yīng)用中還有很多這種坑,比如走廊問題外界干擾問題。

以外界干擾問題來說,通常,激光雷達作為機器人的眼睛,一般是安裝在底盤上的,它能看到的視野很有限。當受到外界干擾(人類或者寵物等等)后,機器人很容易丟失定位精度,無法正常完成后續(xù)的建圖工作。

當機器人安裝SLAMWARE后,機器人受到干擾,可以完全不受影響,照樣能夠正常工作。


目前,SLAM的開源實現(xiàn)代表多為學(xué)術(shù)界,實際應(yīng)用有很多Corner Case要處理,需要傳感器、系統(tǒng)參數(shù)、其他輔助設(shè)備的聯(lián)合調(diào)優(yōu)。

一般來說,上述的SLAM過程對于運算消耗是巨大的,雖然并沒有達到像訓(xùn)練神經(jīng)網(wǎng)絡(luò)動用服務(wù)器集群那種地步,但傳統(tǒng)上需要PC級別的處理器。

除配備激光雷達外,還需要機器人具有IMU(慣性測量單元)、里程計來為激光雷達提供輔助數(shù)據(jù),否則SLAM系統(tǒng)也難以得到運行?偟膩碚f,SLAM算法本身是一個對于外部系統(tǒng)有著多種依賴的算法,這是一個切實的工程問題。

很多機器人,比如掃地機是不可能裝一個PC進去的,為了讓SLAM能在這類設(shè)備里運行,除了解決激光雷達成本外,還要對SLAM算法做出很好的優(yōu)化。

這也是我們思嵐科技SLAMTEC主要的努力方向,一方面,我們這7年多很好的解決了各類實際SLAM算法難點,另一方面,我們把SLAM這個復(fù)雜的系統(tǒng)做了很大的優(yōu)化,可以放到一個硬幣那么大的模塊內(nèi)部,降低尺寸功耗。此外,它還集成了IMU等配套傳感器,力求做到對于SLAM的使用便捷性。


那么,機器人利用SLAM技術(shù)得到了有效的空間信息后,它是怎樣實現(xiàn)路徑規(guī)劃的?SLAM和路徑規(guī)劃之間關(guān)系是怎樣的?下期,我們再見。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表