機(jī)器人自主定位導(dǎo)航需要解決三個(gè)問題:定位、建圖與路徑規(guī)劃。
SLAM與各領(lǐng)域關(guān)系圖
定位:
當(dāng)你打開手機(jī)中的導(dǎo)航軟件,在選擇前往目的地的最佳路線之前,首先要做的動(dòng)作是什么呢?沒錯(cuò),就是定位。我們要先知道自己在地圖中的位置,才可以進(jìn)行后續(xù)的路徑規(guī)劃。機(jī)器人也是如此。
在機(jī)器人實(shí)時(shí)定位問題中,由于通過機(jī)器人運(yùn)動(dòng)估計(jì)得到的機(jī)器人位置信息通常具有較大的誤差,我們還需要使用測距單元得到的周圍環(huán)境信息更正機(jī)器人的位置。
目前,常見的測距單元包括激光測距、超聲波測距以及圖像測距三種。其中,激光雷達(dá)憑借良好的指向性和高度聚焦性,成為移動(dòng)機(jī)器人的核心傳感器,同時(shí)它也是目前最可靠、最穩(wěn)定的定位技術(shù)。
建圖:
地圖構(gòu)建也是機(jī)器人實(shí)現(xiàn)自主導(dǎo)航行動(dòng)的前提。地圖一方面可以幫助機(jī)器人配合自身的傳感器進(jìn)行實(shí)時(shí)定位,同時(shí)也用于后續(xù)展開行動(dòng)時(shí),導(dǎo)航過程的路徑規(guī)劃。
雖然環(huán)境地圖可以通過事先人為繪制并提供給機(jī)器人設(shè)備,但由于這類人為繪制的地圖大多與真實(shí)場景存在區(qū)別,且與機(jī)器人傳感器所觀測的數(shù)據(jù)存在區(qū)別,因此在實(shí)際應(yīng)用中存在挑戰(zhàn)。
相同環(huán)境下,由人工繪制的CAD圖(左)和由機(jī)器人使用激光雷達(dá)自主繪制的地圖(右)對(duì)比
目前,機(jī)器人SLAM建圖主要有激光SLAM和VSLAM兩種。
采用激光雷達(dá)的SLAM技術(shù)可以直接繪制高精度的環(huán)境地圖,并且因?yàn)榈貓D數(shù)據(jù)直接記錄了環(huán)境的障礙物情況,因此地圖內(nèi)容可直接用于后續(xù)機(jī)器人導(dǎo)航和路徑規(guī)劃,并且比較直觀,易于人理解。
采用激光雷達(dá)的SLAM算法進(jìn)行地圖構(gòu)建的過程
激光SLAM主要采用柵格地圖的表現(xiàn)方式,一方面它能表示空間環(huán)境中的很多特征,機(jī)器人可以用它來進(jìn)行路徑規(guī)劃,另一方面,它又不直接記錄傳感器的原始數(shù)據(jù),相對(duì)實(shí)現(xiàn)了空間和時(shí)間消耗的最優(yōu)。因此,柵格地圖是目前機(jī)器人所廣泛應(yīng)用的地圖存儲(chǔ)方式。
思嵐科技的SLAMWARE系統(tǒng)內(nèi)部也采用柵格地圖的建圖方式。
近些年來,另一種SLAM技術(shù)在研究領(lǐng)域得到了長足的發(fā)展。它不采用激光雷達(dá)作為核心傳感器,而采用了目前更加普遍的圖像傳感器(攝像頭)作為地圖構(gòu)建的主要數(shù)據(jù)輸入源。這種基于視覺的SLAM方法被稱為VSLAM(Visual SLAM)。
ORB-SLAM實(shí)現(xiàn)單攝像頭的建圖過程
VSLAM主要采用特征點(diǎn)地圖作為表現(xiàn)方式,雖然數(shù)據(jù)量少,但是它往往不能反應(yīng)所在環(huán)境的一些必須的信息,比如環(huán)境中障礙物的位置。VSLAM技術(shù)中,多采用這種地圖來解決機(jī)器人定位問題。想讓機(jī)器人進(jìn)行自主避障和路徑規(guī)劃,還需要額外配置距離傳感器,如激光雷達(dá)、超聲波來完成。
相比于激光雷達(dá),視覺傳感器可以提供更為豐富的環(huán)境信息,并且視覺傳感器天生不需要進(jìn)行機(jī)械掃描,安裝要求也較低,因此被行業(yè)給予厚望。
不過目前這類方法距離實(shí)際應(yīng)用上有較多技術(shù)挑戰(zhàn)有待解決。例如當(dāng)環(huán)境光發(fā)生變化(如在黑夜)亦或環(huán)境中紋理數(shù)據(jù)較弱的情況下,目前VSLAM的可靠性將受很大影響。此外,目前VSLAM所構(gòu)建的地圖也難以用于后續(xù)的導(dǎo)航定位。所以行業(yè)內(nèi)使用VSLAM技術(shù)的機(jī)器人產(chǎn)品相對(duì)較小,但相信假以時(shí)日,VSLAM方式將逐步成為新的行業(yè)主流。
激光SLAM與VSLAM的對(duì)比
路徑規(guī)劃:
SLAM≠自主定位導(dǎo)航,不解決運(yùn)動(dòng)問題,需要在完成SLAM之后,進(jìn)行一個(gè)叫做目標(biāo)點(diǎn)導(dǎo)航的能力,規(guī)劃一條從A點(diǎn)到B點(diǎn)的路徑出來,然后讓機(jī)器人移動(dòng)過去。
路徑規(guī)劃分為:全局規(guī)劃和局部規(guī)劃。
全局規(guī)劃:是最上層的運(yùn)動(dòng)規(guī)劃邏輯,它按照機(jī)器人預(yù)先記錄的環(huán)境地圖并結(jié)合機(jī)器人當(dāng)前位姿以及任務(wù)目標(biāo)點(diǎn)的位置,在地圖上找到前往目標(biāo)點(diǎn)最快捷的路徑。
局部規(guī)劃:當(dāng)環(huán)境出現(xiàn)變化或者上層規(guī)劃的路徑不利于機(jī)器人實(shí)際行走的時(shí)候(比如機(jī)器人無法按照規(guī)劃的路徑完成特定轉(zhuǎn)彎半徑的轉(zhuǎn)向),局部路徑規(guī)劃將做出微調(diào)。
分層級(jí)的運(yùn)動(dòng)規(guī)劃框架以及對(duì)應(yīng)輸出數(shù)據(jù)
這種從A點(diǎn)到B點(diǎn)進(jìn)行路徑規(guī)劃并控制移動(dòng)的運(yùn)動(dòng)規(guī)劃算法的目標(biāo)在于盡可能快速的抵達(dá)目的地,同時(shí)避免讓機(jī)器人進(jìn)入環(huán)境中的無關(guān)區(qū)域。但是在針對(duì)一些特殊情況,如:掃地機(jī)器人,需要的就不是規(guī)劃從A點(diǎn)到B點(diǎn)的最短路徑,而是盡可能覆蓋A到B點(diǎn)的全部區(qū)域。
所以,除了上述兩種較為典型的路徑規(guī)劃算法之外,還需要與實(shí)際應(yīng)用相結(jié)合的算法模型。因此,讓機(jī)器人實(shí)現(xiàn)定位、建圖以及導(dǎo)航,還是有非常多的工作要做的。這個(gè)需要整個(gè)行業(yè)共同努力的,也是目前的主要挑戰(zhàn)之一。
關(guān)鍵字:机器人自主定位导航