揭秘機器人自主移動(dòng)背后技術(shù),從SLAM技術(shù)說(shuō)起
智能服務(wù)機器人正成為行業(yè)的風(fēng)口浪尖,從清掃機器人開(kāi)始,家庭陪伴機器人、送餐機器人等陸續進(jìn)入公眾視線(xiàn)。
本文引用地址:http://dyxdggzs.com/article/201710/367719.htm在討論這類(lèi)機器人是否能解決實(shí)際問(wèn)題時(shí),自主定位導航技術(shù)作為機器人智能化的第一步正不斷引起行業(yè)內的重視。同時(shí),作為自主定位導航技術(shù)的重要突破口,SLAM技術(shù)也成為關(guān)注焦點(diǎn)。
正如圖中所示,機器人自主定位導航技術(shù)中包括定位、地圖創(chuàng )建與路徑規劃(運動(dòng)控制),而SLAM本身只是完成機器人的定位和地圖創(chuàng )建,二者有所區別。
那么,SLAM技術(shù)究竟是如何實(shí)現的?它有哪些難點(diǎn)?機器人如何實(shí)現路徑規劃和自動(dòng)導航?到底什么樣的掃地機器人才算智能?
這些問(wèn)題,小編將為你一一解答,帶領(lǐng)大家了解機器人自主移動(dòng)的秘密。
今天,我們先從SLAM說(shuō)起。
SLAM是同步定位與地圖構建(Simultaneous LocalizaTIon And Mapping)的縮寫(xiě),最早由Hugh Durrant-Whyte和John J.Leonard提出。
其實(shí),SLAM更像是一個(gè)概念而不是一個(gè)算法,它本身包含許多步驟,其中的每一個(gè)步驟均可以使用不同的算法實(shí)現。主要用于解決移動(dòng)機器人在未知環(huán)境中運行時(shí)即時(shí)定位與地圖構建的問(wèn)題。
當你身處異地,怎么準確找到想去的地方?在戶(hù)外迷路時(shí),怎么找到回家的路?沒(méi)錯,我們有導航軟件和戶(hù)外地圖。
和人類(lèi)繪制地圖一樣,機器人描述環(huán)境、認識環(huán)境的過(guò)程主要就是依靠地圖。它利用環(huán)境地圖來(lái)描述其當前環(huán)境信息,并隨著(zhù)使用的算法與傳感器差異采用不同的地圖描述形式。
機器人學(xué)中地圖的表示方法有四種:柵格地圖、特征地圖、直接表征法以及拓撲地圖。
1、柵格地圖
機器人對環(huán)境地圖的描述的方式最常見(jiàn)的為柵格地圖(Gridmap)或者稱(chēng)為OccupancyMap。柵格地圖就是把環(huán)境劃分成一系列柵格,其中每一柵格給定一個(gè)可能值,表示該柵格被占據的概率。
這種地圖看起來(lái)和人們所認知的地圖沒(méi)什么區別,它最早由NASA的AlbertoElfes在1989年提出,在火星探測車(chē)上就用到過(guò),其本質(zhì)是一張位圖圖片,但其中每個(gè)“像素”則表示了實(shí)際環(huán)境中存在障礙物的概率分布。
一般來(lái)說(shuō),采用激光雷達、深度攝像頭、超聲波傳感器等可以直接測量距離數據的傳感器進(jìn)行SLAM時(shí),可以使用該地圖。這種地圖也可以通過(guò)距離測量傳感器、超聲波(早期)、激光雷達(現在)繪制出來(lái)。
2、特征點(diǎn)地圖
特征點(diǎn)地圖,是用有關(guān)的幾何特征(如點(diǎn)、直線(xiàn)、面)表示環(huán)境,常見(jiàn)于vSLAM(視覺(jué)SLAM)技術(shù)中。
相比柵格地圖,這種地圖看起來(lái)就不那么直觀(guān)了。它一般通過(guò)如GPS、UWB以及攝像頭配合稀疏方式的vSLAM算法產(chǎn)生,優(yōu)點(diǎn)是相對數據存儲量和運算量比較小,多見(jiàn)于最早的SLAM算法中。
3、直接表征法
直接表征法中,省去了特征或柵格表示這一中間環(huán)節,直接用傳感器讀取的數據來(lái)構造機器人的位姿空間。
上圖就是直接記錄了屋子內天花板畫(huà)面的圖像地圖。這種方法就像衛星地圖一樣,直接將傳感器原始數據通過(guò)簡(jiǎn)單處理拼接形成地圖,相對來(lái)說(shuō)更加直觀(guān)。
4、拓撲地圖
拓撲地圖,是一種相對更加抽象的地圖形式,它把室內環(huán)境表示為帶結點(diǎn)和相關(guān)連接線(xiàn)的拓撲結構圖,其中結點(diǎn)表示環(huán)境中的重要位置點(diǎn)(拐角、門(mén)、電梯、樓梯等),邊表示結點(diǎn)間的連接關(guān)系,如走廊等。這種方法只記錄所在環(huán)境拓撲鏈接關(guān)系,這類(lèi)地圖一般是由前幾類(lèi)地圖通過(guò)相關(guān)算法提取得到。
比如掃地機器人要進(jìn)行房間清掃的時(shí)候,就會(huì )建立這樣的拓撲地圖:
5.小結
在機器人技術(shù)中,SLAM的地圖構建通常指的是建立與環(huán)境幾何一致的地圖。
一般算法中建立的拓撲地圖只反映了環(huán)境中的各點(diǎn)連接關(guān)系,并不能構建幾何一致的地圖,因此,這些拓撲算法不能被用于SLAM。
直接表征法類(lèi)似衛星地圖,它是直接使用傳感器(一般是圖像傳感器)構建得到。這種方法的信息冗余度最大,對于數據存儲是很大的挑戰,同時(shí),機器人要從中提取出有用的數據也要耗費一番周折,因此在實(shí)際應用中很少使用。
特征點(diǎn)地圖又是另一個(gè)極端,雖然數據量少,但是它往往不能反應所在環(huán)境的一些必須的信息,比如環(huán)境中障礙物的位置。vSLAM技術(shù)中,多采用這種地圖來(lái)解決機器人定位問(wèn)題。想讓機器人進(jìn)行自主避障和路徑規劃,還需要額外配置距離傳感器,如激光雷達、超聲波來(lái)完成。
柵格地圖,或者Occupancy Map(占據地圖)恰好介于其中,一方面它能表示空間環(huán)境中的很多特征,機器人可以用它來(lái)進(jìn)行路徑規劃,另一方面,它又不直接記錄傳感器的原始數據,相對實(shí)現了空間和時(shí)間消耗的最優(yōu)。因此,柵格地圖是目前機器人所廣泛應用的地圖存儲方式。
思嵐科技的SLAMWARE系統內部也采用這種地圖方式。
當你打開(kāi)手機中的導航軟件,在選擇前往目的地的最佳路線(xiàn)之前,首先要做的動(dòng)作是什么呢?沒(méi)錯,就是定位。我們要先知道自己在地圖中的位置,才可以進(jìn)行后續的路徑規劃。
在機器人實(shí)時(shí)定位問(wèn)題中,由于通過(guò)機器人運動(dòng)估計得到的機器人位置信息通常具有較大的誤差,我們還需要使用測距單元得到的周?chē)h(huán)境信息更正機器人的位置。
目前,常見(jiàn)的測距單元包括激光測距、超聲波測距以及圖像測距三種。其中,憑借激光良好的指向性和高度聚焦性,激光雷達已經(jīng)成為移動(dòng)機器人的核心傳感器,同時(shí)它也是目前最可靠、最穩定的定位技術(shù)。
自1988年被提出以來(lái),SLAM的理論研究發(fā)展十分迅速。在實(shí)際應用時(shí),除配備激光雷達外,還需要機器人具有IMU(慣性測量單元)、里程計來(lái)為激光雷達提供輔助數據,這一過(guò)程的運算消耗是巨大的,傳統上需要PC級別的處理器,這也成為限制SLAM廣泛應用的瓶頸之一。
那么,實(shí)現SLAM的過(guò)程中,都會(huì )遇到哪些坑呢?
評論