你的位置:首頁(yè) > 傳感技術(shù) > 正文

從傳感器到算法原理,機(jī)器人避障的出路在哪里?

發(fā)布時(shí)間:2016-11-25 責(zé)任編輯:wenwei

【導(dǎo)讀】避障是指移動(dòng)機(jī)器人在行走過(guò)程中,通過(guò)傳感器感知到在其規(guī)劃路線(xiàn)上存在靜態(tài)或動(dòng)態(tài)障礙物時(shí),按照 一定的算法實(shí)時(shí)更新路徑,繞過(guò)障礙物,最后達(dá)到目標(biāo)點(diǎn)。從原理上來(lái)講,沒(méi)有哪個(gè)傳感器是完美的,比方說(shuō)機(jī)器人面前是一塊完全透明的玻璃,那么采用紅外、激光雷達(dá)或視覺(jué)的方案,就可能因?yàn)檫@個(gè)光線(xiàn)直接穿過(guò)玻璃導(dǎo)致檢測(cè)失敗……
 
避障常用哪些傳感器
 
不管是要進(jìn)行導(dǎo)航規(guī)劃還是避障,感知周邊環(huán)境信息是第一步。就避障來(lái)說(shuō),移動(dòng)機(jī)器人需要通過(guò)傳感器 實(shí)時(shí)獲取自身周?chē)系K物信息,包括尺寸、形狀和位置等信息。避障使用的傳感器多種多樣,各有不同的原理和特點(diǎn),目前常見(jiàn)的主要有視覺(jué)傳感器、激光傳感器、紅外傳感器、超聲波傳感器等。下面我簡(jiǎn)單介紹一下這幾種傳感器的基本工作原理。
 
超聲波
 
超聲波傳感器的基本原理是測(cè)量超聲波的飛行時(shí)間,通過(guò)d=vt/2測(cè)量距離,其中d是距離,v是聲速,t是 飛行時(shí)間。由于超聲波在空氣中的速度與溫濕度有關(guān),在比較精確的測(cè)量中,需把溫濕度的變化和其它因素考慮進(jìn)去。
 
從傳感器到算法原理,機(jī)器人避障的出路在哪里?
 
上面這個(gè)圖就是超聲波傳感器信號(hào)的一個(gè)示意。通過(guò)壓電或靜電變送器產(chǎn)生一個(gè)頻率在幾十kHz的超聲波脈沖組成波包,系統(tǒng)檢測(cè)高于某閾值的反向聲波,檢測(cè)到后使用測(cè)量到的飛行時(shí)間計(jì)算距離。超聲波傳感器一般作用距離較短,普通的有效探測(cè)距離都在幾米,但是會(huì)有一個(gè)幾十毫米左右的最小探測(cè)盲區(qū)。由于超聲傳感器的成本低、實(shí)現(xiàn)方法簡(jiǎn)單、技術(shù)成熟,是移動(dòng)機(jī)器人中常用的傳感器。超聲波傳感器也有一些缺點(diǎn),首先看下面這個(gè)圖。
 
從傳感器到算法原理,機(jī)器人避障的出路在哪里?
 
因?yàn)槁曇羰清F形傳播的,所以我們實(shí)際測(cè)到的距離并不是 一個(gè)點(diǎn),而是某個(gè)錐形角度范圍內(nèi)最近物體的距離。
 
另外,超聲波的測(cè)量周期較長(zhǎng),比如3米左右的物體,聲波傳輸這么遠(yuǎn)的距離需要約20ms的時(shí)間。再者,不同材料對(duì)聲波的反射或者吸引是不相同的,還有多個(gè)超聲傳感器之間有可能會(huì)互相干擾,這都是實(shí)際應(yīng)用的過(guò)程中需要考慮的。
 
紅外
 
一般的紅外測(cè)距都是采用三角測(cè)距的原理。紅外發(fā)射器按照一定角度發(fā)射紅外光束,遇到物體之后,光會(huì)反向回來(lái),檢測(cè)到反射光之后,通過(guò)結(jié)構(gòu)上的幾何三角關(guān)系,就可以計(jì)算出物體距離D。
 
從傳感器到算法原理,機(jī)器人避障的出路在哪里?
 
當(dāng)D的距離足夠近的時(shí)候,上圖中L值會(huì)相當(dāng)大,如果超過(guò)CCD的探測(cè)范圍,這時(shí),雖然物體很近,但是傳感器反而看不到了。當(dāng)物體距離D很大時(shí),L值就會(huì)很小,測(cè)量量精度會(huì)變差。因此,常見(jiàn)的紅外傳感器 測(cè)量距離都比較近,小于超聲波,同時(shí)遠(yuǎn)距離測(cè)量也有最小距離的限制。另外,對(duì)于透明的或者近似黑體的物體,紅外傳感器是無(wú)法檢測(cè)距離的。但相對(duì)于超聲來(lái)說(shuō),紅外傳感器具有更高的帶寬。
 
激光
 
常見(jiàn)的激光雷達(dá)是基于飛行時(shí)間的(ToF,time of flight),通過(guò)測(cè)量激光的飛行時(shí)間來(lái)進(jìn)行測(cè)距d=ct/2,類(lèi)似于前面提到的超聲測(cè)距公式,其中d是距離,c是光速,t是從發(fā)射到接收的時(shí)間間隔。激光雷達(dá)包括發(fā)射器和接收器 ,發(fā)射器用激光照射目標(biāo),接收器接收反向回的光波。機(jī)械式的激光雷達(dá)包括一個(gè)帶有鏡子的機(jī)械機(jī)構(gòu),鏡子的旋轉(zhuǎn)使得光束可以覆蓋 一個(gè)平面,這樣我們就可以測(cè)量到一個(gè)平面上的距離信息。
 
對(duì)飛行時(shí)間的測(cè)量也有不同的方法,比如使用脈沖激光,然后類(lèi)似前面講的超聲方案,直接測(cè)量占用的時(shí)間,但因?yàn)楣馑龠h(yuǎn)高于聲速,需要非常高精度的時(shí)間測(cè)量元件,所以非常昂貴;另一種發(fā)射調(diào)頻后的連續(xù)激光波,通過(guò)測(cè)量接收到的反射波之間的差頻來(lái)測(cè)量時(shí)間。
 
從傳感器到算法原理,機(jī)器人避障的出路在哪里?
圖一
 
從傳感器到算法原理,機(jī)器人避障的出路在哪里?
圖二
 
比較簡(jiǎn)單的方案是測(cè)量反射光的相移,傳感器以已知的頻率發(fā)射一定幅度的調(diào)制光,并測(cè)量發(fā)射和反向信號(hào)之間的相移,如上圖一。調(diào)制信號(hào)的波長(zhǎng)為lamda=c/f,其中c是光速,f是調(diào)制頻率,測(cè)量到發(fā)射和反射光束之間的相移差theta之后,距離可由lamda*theta/4pi計(jì)算得到,如上圖二。
 
激光雷達(dá)的測(cè)量距離可以達(dá)到幾十米甚至上百米,角度分辨率高,通??梢赃_(dá)到零點(diǎn)幾度,測(cè)距的精度也高。但測(cè)量距離的置信度會(huì)反比于接收信號(hào)幅度的平方,因此,黑體或者遠(yuǎn)距離的物體距離測(cè)量不會(huì)像光亮的、近距離的物體那么好的估計(jì)。并且,對(duì)于透明材料,比如玻璃,激光雷達(dá)就無(wú)能為力了。還有,由于結(jié)構(gòu)的復(fù)雜、器件成本高,激光雷達(dá)的成本也很高。
 
一些低端的激光雷達(dá)會(huì)采用三角測(cè)距的方案進(jìn)行測(cè)距。但這時(shí)它們的量程會(huì)受到限制,一般幾米以?xún)?nèi),并且精度相對(duì)低一些,但用于室內(nèi)低速環(huán)境的SLAM或者在室外環(huán)境只用于避障的話(huà),效果還是不錯(cuò)的。
 
視覺(jué)
 
常用的計(jì)算機(jī)視覺(jué)方案也有很多種, 比如雙目視覺(jué),基于TOF的深度相機(jī),基于結(jié)構(gòu)光的深度相機(jī)等。深度相機(jī)可以同時(shí)獲得RGB圖和深度圖,不管是基于TOF還是結(jié)構(gòu)光,在室外強(qiáng)光環(huán)境下效果都并不太理想,因?yàn)樗鼈兌际切枰鲃?dòng)發(fā)光的。像基于結(jié)構(gòu)光的深度相機(jī),發(fā)射出的光會(huì)生成相對(duì)隨機(jī)但又固定的斑點(diǎn)圖樣,這些光斑打在物體上后,因?yàn)榕c攝像頭距離不同,被攝像頭捕捉到的位置也不相同,之后先計(jì)算拍到的圖的斑點(diǎn)與標(biāo)定的標(biāo)準(zhǔn)圖案在不同位置的偏移,利用攝像頭位置、傳感器大小等參數(shù)就可以計(jì)算出物體與攝像頭的距離。而我們目前的E巡機(jī)器人主要是工作在室外環(huán)境,主動(dòng)光源會(huì)受到太陽(yáng)光等條件的很大影響,所以雙目視覺(jué)這種被動(dòng)視覺(jué)方案更適合,因此我們采用的視覺(jué)方案是基于雙目視覺(jué)的。
 
從傳感器到算法原理,機(jī)器人避障的出路在哪里?
 
雙目視覺(jué)的測(cè)距本質(zhì)上也是三角測(cè)距法,由于兩個(gè)攝像頭的位置不同,就像我們?nèi)说膬芍谎劬σ粯?,看到的物體不一樣。兩個(gè)攝像頭看到的同一個(gè)點(diǎn)P,在成像的時(shí)候會(huì)有不同的像素位置,此時(shí)通過(guò)三角測(cè)距就可以測(cè)出這個(gè)點(diǎn)的距離。與結(jié)構(gòu)光方法不同的是,結(jié)構(gòu)光計(jì)算的點(diǎn)是主動(dòng)發(fā)出的、已知確定的,而雙目算法計(jì)算的點(diǎn)一般是利用算法抓取到的圖像特征,如SIFT或SURF特征等,這樣通過(guò)特征計(jì)算出來(lái)的是稀疏圖。
 
要做良好的避障,稀疏圖還是不太夠的,我們需要獲得的是稠密的點(diǎn)云圖,整個(gè)場(chǎng)景的深度信息。稠密匹配的算法大致可以分為兩類(lèi),局部算法和全局算法。局部算法使用像素局部的信息來(lái)計(jì)算其深度,而全局算法采用圖像中的所有信息進(jìn)行計(jì)算。一般來(lái)說(shuō),局部算法的速度更快,但全局算法的精度更高。
 
這兩類(lèi)各有很多種不同方式的具體算法實(shí)現(xiàn)。能過(guò)它們的輸出我們可以估算出整個(gè)場(chǎng)景中的深度信息,這個(gè)深度信息可以幫助我們尋找地圖場(chǎng)景中的可行走區(qū)域以及障礙物。整個(gè)的輸出類(lèi)似于激光雷達(dá)輸出的3D點(diǎn)云圖,但是相比來(lái)講得到信息會(huì)更豐富,視覺(jué)同激光相比優(yōu)點(diǎn)是價(jià)格低很多,缺點(diǎn)也比較明顯,測(cè)量精度要差 一些,對(duì)計(jì)算能力的要求也高很多。當(dāng)然,這個(gè)精度差是相對(duì)的,在實(shí)用的過(guò)程中是完全足夠的,并且我們目前的算法在我們的平臺(tái)NVIDIA TK1和TX1上是可以做到實(shí)時(shí)運(yùn)行。
 
從傳感器到算法原理,機(jī)器人避障的出路在哪里?
 
KITTI采集的圖
 
從傳感器到算法原理,機(jī)器人避障的出路在哪里?
 
實(shí)際輸出的深度圖,不同的顏色代表不同的距離
 
在實(shí)際應(yīng)用的過(guò)程中,我們從攝像頭讀取到的是連續(xù)的視頻幀流,我們還可以通過(guò)這些幀來(lái)估計(jì)場(chǎng)景中 目標(biāo)物體的運(yùn)動(dòng),給它們建立運(yùn)動(dòng)模型,估計(jì)和預(yù)測(cè)它們的運(yùn)動(dòng)方向、運(yùn)動(dòng)速度,這對(duì)我們實(shí)際行走、避障規(guī)劃是很有用的。
 
以上幾種是最常見(jiàn)的幾種傳感器 ,各有其優(yōu)點(diǎn)和缺點(diǎn),在真正實(shí)際應(yīng)用的過(guò)程中,一般是綜合配置使用多種不同的傳感器 ,以最大化保證在各種不同的應(yīng)用和環(huán)境條件下,機(jī)器人都能正確感知到障礙物信息。我們公司的E巡機(jī)器人的避障方案就是以雙目視覺(jué)為主,再輔助以多種其他傳感器,保證機(jī)器人周邊360度空間立體范圍內(nèi)的障礙物都能被有效偵測(cè)到,保證機(jī)器人行走的安全性。
 
避障常用算法原理
 
在講避障算法之前,我們假定機(jī)器人已經(jīng)有了一個(gè)導(dǎo)航規(guī)劃算法對(duì)自己的運(yùn)動(dòng)進(jìn)行規(guī)劃,并按照規(guī)劃的路徑行走。避障算法的任務(wù)就是在機(jī)器人執(zhí)行正常行走任務(wù)的時(shí)候,由于傳感器的輸入感知到了障礙物的存在,實(shí)時(shí)地更新目標(biāo)軌跡,繞過(guò)障礙物。
 
Bug算法知乎用戶(hù)無(wú)方表示
 
Bug算法應(yīng)該是最簡(jiǎn)單的一種避障算法了,它的基本思想是在發(fā)現(xiàn)障礙后,圍著檢測(cè)到的障礙物輪廓行走,從而繞開(kāi)它。Bug算法目前有很多變種, 比如Bug1算法,機(jī)器人首先完全地圍繞物體,然后從距目標(biāo)最短距離的點(diǎn)離開(kāi)。Bug1算法的效率很低,但可以保證機(jī)器人達(dá)到目標(biāo)。
 
從傳感器到算法原理,機(jī)器人避障的出路在哪里?
 
Bug1算法示例
 
改進(jìn)后的Bug2算法中,機(jī)器人開(kāi)始時(shí)會(huì)跟蹤物體的輪廓,但不會(huì)完全圍繞物體一圈,當(dāng)機(jī)器人可以直接移動(dòng)至目標(biāo)時(shí),就可以直接從障礙分離,這樣可以達(dá)到比較短的機(jī)器人行走總路徑。
 
從傳感器到算法原理,機(jī)器人避障的出路在哪里?
 
Bug2算法示例
 
除此之外,Bug算法還有很多其他的變種, 比如正切Bug算法等等。在許多簡(jiǎn)單的場(chǎng)景中,Bug算法是實(shí)現(xiàn)起來(lái)比較容易和方便的,但是它們并沒(méi)有考慮到機(jī)器人的動(dòng)力學(xué)等限制,因此在更復(fù)雜的實(shí)際環(huán)境中就不是那么可靠好用了。
 
勢(shì)場(chǎng)法(PFM)
 
實(shí)際上,勢(shì)場(chǎng)法不僅僅可以用來(lái)避障,還可以用來(lái)進(jìn)行路徑的規(guī)劃。勢(shì)場(chǎng)法把機(jī)器人處理在勢(shì)場(chǎng)下的 一個(gè)點(diǎn),隨著勢(shì)場(chǎng)而移動(dòng),目標(biāo)表現(xiàn)為低谷值,即對(duì)機(jī)器人的吸引力,而障礙物扮演的勢(shì)場(chǎng)中的一個(gè)高峰,即斥力,所有這些力迭加于機(jī)器人身上,平滑地引導(dǎo)機(jī)器人走向目標(biāo),同時(shí)避免碰撞已知的障礙物。當(dāng)機(jī)器人移動(dòng)過(guò)程中檢測(cè)新的障礙物,則需要更新勢(shì)場(chǎng)并重新規(guī)劃。
 
從傳感器到算法原理,機(jī)器人避障的出路在哪里?
 
上面這個(gè)圖是勢(shì)場(chǎng)比較典型的示例圖,最上的圖a左上角是出發(fā)點(diǎn),右下角是目標(biāo)點(diǎn),中間三個(gè)方塊是障礙物。中間的圖b就是等勢(shì)位圖,圖中的每條連續(xù)的線(xiàn)就代表了一個(gè)等勢(shì)位的一條線(xiàn),然后虛線(xiàn)表示的在整個(gè)勢(shì)場(chǎng)里面所規(guī)劃出來(lái)的一條路徑,我們的機(jī)器人是沿著勢(shì)場(chǎng)所指向的那個(gè)方向一直行走,可以看見(jiàn)它會(huì)繞過(guò)這個(gè)比較高的障礙物。最下面的圖,即我們整個(gè)目標(biāo)的吸引力還有我們所有障礙物產(chǎn)生的斥力最終形成的一個(gè)勢(shì)場(chǎng)效果圖,可以看到機(jī)器人從左上角的出發(fā)點(diǎn)出發(fā),一路沿著勢(shì)場(chǎng)下降的方向達(dá)到最終的目標(biāo)點(diǎn),而每個(gè)障礙物勢(shì)場(chǎng)表現(xiàn)出在很高的平臺(tái),所以,它規(guī)劃出來(lái)的路徑是不會(huì)從這個(gè)障礙物上面走的。
 
一種擴(kuò)展的方法在基本的勢(shì)場(chǎng)上附加了了另外兩個(gè)勢(shì)場(chǎng):轉(zhuǎn)運(yùn)勢(shì)場(chǎng)和任務(wù)勢(shì)場(chǎng)。它們額外考慮了由于機(jī)器人本身運(yùn)動(dòng)方向、運(yùn)動(dòng)速度等狀態(tài)和障礙物之間的相互影響。
 
轉(zhuǎn)動(dòng)勢(shì)場(chǎng)考慮了障礙與機(jī)器人的相對(duì)方位,當(dāng)機(jī)器人朝著障礙物行走時(shí),增加斥力, 而當(dāng)平行于物體行走時(shí),因?yàn)楹苊黠@并不會(huì)撞到障礙物,則減小斥力。任務(wù)勢(shì)場(chǎng)則排除了那些根據(jù)當(dāng)前機(jī)器人速度不會(huì)對(duì)近期勢(shì)能造成影響的障礙,因此允許規(guī)劃出 一條更為平滑的軌跡。
 
另外還有諧波勢(shì)場(chǎng)法等其他改進(jìn)方法。勢(shì)場(chǎng)法在理論上有諸多局限性, 比如局部最小點(diǎn)問(wèn)題,或者震蕩性的問(wèn)題,但實(shí)際應(yīng)用過(guò)程中效果還是不錯(cuò)的,實(shí)現(xiàn)起來(lái)也比較容易。
 
向量場(chǎng)直方圖(VFH)
 
它執(zhí)行過(guò)程中針對(duì)移動(dòng)機(jī)器人當(dāng)前周邊環(huán)境創(chuàng)建了一個(gè)基于極坐標(biāo)表示的局部地圖,這個(gè)局部使用柵格圖的表示方法,會(huì)被最近的一些傳感器數(shù)據(jù)所更新。VFH算法產(chǎn)生的極坐標(biāo)直方圖如圖所示:
 
從傳感器到算法原理,機(jī)器人避障的出路在哪里?
 
圖中x軸是以機(jī)器人為中心感知到的障礙物的角度,y軸表示在該方向存在障礙物的概率大小p。實(shí)際應(yīng)用的過(guò)程中會(huì)根據(jù)這個(gè)直方圖首先辨識(shí)出允許機(jī)器人通過(guò)的足夠大的所有空隙,然后對(duì)所有這些空隙計(jì)算其代價(jià)函數(shù),最終選擇具有最低代價(jià)函數(shù)的通路通過(guò)。
 
代價(jià)函數(shù)受三個(gè)因素影響: 目標(biāo)方向、機(jī)器人當(dāng)前方向、之前選擇的方向,最終生成的代價(jià)是這三個(gè)因素的加權(quán)值,通過(guò)調(diào)節(jié)不同的權(quán)重可以調(diào)整機(jī)器人的選擇偏好。VFH算法也有其他的擴(kuò)展和改進(jìn),比如在VFH+算法中,就考慮了機(jī)器人運(yùn)動(dòng)學(xué)的限制。由于實(shí)際底層運(yùn)動(dòng)結(jié)構(gòu)的不同,機(jī)器的實(shí)際運(yùn)動(dòng)能力是受限的,比如汽車(chē)結(jié)構(gòu),就不能隨心所欲地原地轉(zhuǎn)向等。VFH+算法會(huì)考慮障礙物對(duì)機(jī)器人實(shí)際運(yùn)動(dòng)能力下軌跡的阻擋效應(yīng),屏蔽掉那些雖然沒(méi)有被障礙物占據(jù)但由于其阻擋實(shí)際無(wú)法達(dá)到的運(yùn)動(dòng)軌跡。我們的E巡機(jī)器人采用的是兩輪差動(dòng)驅(qū)動(dòng)的運(yùn)動(dòng)形式,運(yùn)動(dòng)非常靈活,實(shí)際應(yīng)用較少受到這些因素的影響。
 
具體可以看 一下這個(gè)圖示:
 
從傳感器到算法原理,機(jī)器人避障的出路在哪里?
 
類(lèi)似這樣傳統(tǒng)的避障方法還有很多,除此之外,還有許多其他的智能避障技術(shù),比如神經(jīng)網(wǎng)絡(luò)、模糊邏輯等。
 
神經(jīng)網(wǎng)絡(luò)方法對(duì)機(jī)器人從初始位置到目標(biāo)位置的整個(gè)行走路徑進(jìn)行訓(xùn)練建模,應(yīng)用的時(shí)候,神經(jīng)網(wǎng)絡(luò)的輸 入為之前機(jī)器人的位姿和速度以及傳感器的輸 入,輸出期望的下一目標(biāo)或運(yùn)動(dòng)方向。
 
模糊邏輯方法核心是模糊控制器,需要將專(zhuān)家的知識(shí)或操作人員的經(jīng)驗(yàn)寫(xiě)成多條模糊邏輯語(yǔ)句,以此控制機(jī)器人的避障過(guò)程。 比如這樣的模糊邏輯:第一條,若右前方較遠(yuǎn)處檢測(cè)到障礙物,則稍向左轉(zhuǎn);第 二條,若右前方較近處檢測(cè)到障礙物,則減速并向左轉(zhuǎn)更多角度;等等。
 
避障過(guò)程中存在哪些問(wèn)題

傳感器失效
 
從原理上來(lái)講,沒(méi)有哪個(gè)傳感器是完美的,比方說(shuō)機(jī)器人面前是一塊完全透明的玻璃,那么采用紅外、激光雷達(dá)或視覺(jué)的方案,就可能因?yàn)檫@個(gè)光線(xiàn)直接穿過(guò)玻璃導(dǎo)致檢測(cè)失敗,這時(shí)候就需要超聲波這樣的傳感器來(lái)進(jìn)行障礙物的偵測(cè)。所以我們?cè)谡嬲龖?yīng)用的過(guò)程中,肯定都需要采取多種傳感器的結(jié)合,對(duì)不同傳感器采集到的數(shù)據(jù)進(jìn)行一個(gè)交叉驗(yàn)證,以及信息的融合,保證機(jī)器人能夠穩(wěn)定可靠的工作。
 
除此之外也有其他模式可能導(dǎo)致傳感器失效,比如超聲波測(cè)距,一般需要超聲陣列,而陣列之間的傳感器如果同時(shí)工作的話(huà),會(huì)容易互相產(chǎn)生干擾,傳感器A發(fā)射的光波反射回來(lái)被傳感器B接收,導(dǎo)致測(cè)量結(jié)果出現(xiàn)錯(cuò)誤,但是如果按照順序一個(gè)個(gè)工作,由于超聲波傳感器采樣的周期相對(duì)比較長(zhǎng),會(huì)減慢整個(gè)采集的速度,對(duì)實(shí)時(shí)避障造成影響,這就要求從硬件的結(jié)構(gòu)到算法都必須設(shè)計(jì)好,盡可能提高采樣速度,減少傳感器之間的串?dāng)_。
 
還有比如說(shuō),機(jī)器人如果需要運(yùn)動(dòng)的話(huà),一般都需要電機(jī)和驅(qū)動(dòng)器,它們?cè)诠ぷ鬟^(guò)程中都會(huì)產(chǎn)生電容兼容性的問(wèn)題,有可能會(huì)導(dǎo)致傳感器采集出現(xiàn)錯(cuò)誤,尤其是模擬的傳感器,所以在實(shí)現(xiàn)過(guò)程中要把電機(jī)驅(qū)動(dòng)器等設(shè)備、傳感器的采集部分,以及電源通信部分保持隔離,保證整個(gè)系統(tǒng)是能夠正常工作的。
 
算法設(shè)計(jì)
 
在剛剛提到的幾個(gè)算法,很多在設(shè)計(jì)的時(shí)候都并沒(méi)有完善考慮到整個(gè)移動(dòng)機(jī)器人本身運(yùn)動(dòng)學(xué)模型和動(dòng)力學(xué)模型,這樣的算法規(guī)劃出來(lái)的軌跡有可能在運(yùn)動(dòng)學(xué)上是實(shí)現(xiàn)不了的,有可能在運(yùn)動(dòng)學(xué)上可以實(shí)現(xiàn),但是控制起來(lái)非常困難,比如剛剛提到的如果一臺(tái)機(jī)器人的底盤(pán)是汽車(chē)的結(jié)構(gòu),就不能隨心所欲地原地轉(zhuǎn)向,或者哪怕這個(gè)機(jī)器人是可以原地轉(zhuǎn)向,但是如果一下子做一個(gè)很大的機(jī)動(dòng)的話(huà),我們的整個(gè)電機(jī)是執(zhí)行不出來(lái)的。所以在設(shè)計(jì)的時(shí)候,就要優(yōu)化好機(jī)器人本身的結(jié)構(gòu)和控制,設(shè)計(jì)避障方案的時(shí)候,也要考慮到可行性的問(wèn)題。
 
然后在整個(gè)算法的架構(gòu)設(shè)計(jì)的時(shí)候,我們要考慮到為了避讓或者是避免傷人或者傷了機(jī)器人本身,在執(zhí)行工作的時(shí)候,避障是優(yōu)先級(jí)比較高的任務(wù),甚至是最高的任務(wù),并且自身運(yùn)行的優(yōu)先級(jí)最高,對(duì)機(jī)器人的控制優(yōu)先級(jí)也要最高,同時(shí)這個(gè)算法實(shí)現(xiàn)起來(lái)速度要足夠快,這樣才能滿(mǎn)足我們實(shí)時(shí)性的要求。
 
總之,在我看來(lái),避障在某種程度上可以看做機(jī)器人在自主導(dǎo)航規(guī)劃的一種特殊情況,相比整體全局的導(dǎo)航,它對(duì)實(shí)時(shí)性和可靠性的要求更高一些,然后,局部性和動(dòng)態(tài)性是它的一個(gè)特點(diǎn),這是我們?cè)谠O(shè)計(jì)整個(gè)機(jī)器人硬件軟件架構(gòu)時(shí)一定要注意的。
 
讀者提問(wèn):

多機(jī)協(xié)同的避障策略有哪些?
 
多機(jī)協(xié)同避障策略在整個(gè)SLAM方向上都還是一個(gè)在鉆研的熱點(diǎn)領(lǐng)域,單純就避障來(lái)說(shuō),目前的方案是,當(dāng)有兩個(gè)或多個(gè)機(jī)器人協(xié)同工作的時(shí)候,每個(gè)機(jī)器人會(huì)在一個(gè)局部各自維護(hù)一個(gè)相對(duì)的動(dòng)態(tài)地圖,所有機(jī)器人共享一個(gè)相對(duì)靜態(tài)的地圖,而對(duì)于單個(gè)機(jī)器人來(lái)說(shuō),它們會(huì)各自維護(hù)一個(gè)更加動(dòng)態(tài)的地圖,這樣當(dāng)兩個(gè)機(jī)器人接近一個(gè)位置時(shí),它們會(huì)將它們維護(hù)的動(dòng)態(tài)地圖合并起來(lái)。
 
這樣子有什么好處呢,比如視覺(jué)只能看到前方一個(gè)方向,這時(shí)候跟后面機(jī)器人的動(dòng)態(tài)地圖合并之后,就能看到前后整個(gè)局部的動(dòng)態(tài)信息,然后完成避障。
 
多機(jī)協(xié)同的關(guān)鍵在于,兩個(gè)局部地圖之間的分享,就是它們分別在整個(gè)相對(duì)靜態(tài)的全局地圖上是有一小塊一個(gè)窗口的位置,到這兩個(gè)窗口可能融合的話(huà),會(huì)把它們?nèi)诤显谝黄?,同時(shí)去指導(dǎo)兩個(gè)機(jī)器人的避障。在具體實(shí)現(xiàn)過(guò)程中,也要考慮整個(gè)信息傳輸?shù)膯?wèn)題,如果是自己本身的局部地圖,由于都是本機(jī)的運(yùn)算,速度一般都比較快,如果是兩個(gè)機(jī)器人協(xié)作的話(huà),就要考慮到傳輸?shù)难訒r(shí),以及帶寬的問(wèn)題。
 
避障有無(wú)標(biāo)準(zhǔn)的測(cè)試標(biāo)準(zhǔn)和指標(biāo)?
 
目前就我所了解業(yè)界并沒(méi)有什么統(tǒng)一的測(cè)試標(biāo)準(zhǔn)和指標(biāo),我們目前測(cè)試的時(shí)候會(huì)考慮這些指標(biāo),比如在單個(gè)障礙物或是多個(gè)障礙物,障礙物是靜態(tài)的或動(dòng)態(tài)的情況下避障效果如何,以及實(shí)際規(guī)劃出的路徑完美度如何,還有這個(gè)軌跡是否平滑,符合我們觀感的效果。
 
當(dāng)然,這個(gè)最重要的指標(biāo)我覺(jué)得應(yīng)該避障是否失敗就是成功率的問(wèn)題,要保證這個(gè)避障不管是碰到靜態(tài)的或者是動(dòng)態(tài)的物體,然后那個(gè)物體不管是什么材質(zhì),比如說(shuō)如果是動(dòng)態(tài)的人,我們穿什么樣的衣服會(huì)不會(huì)對(duì)整個(gè)避障功能造成影響,另外就是不同的環(huán)境又會(huì)有什么樣的影響,比如光線(xiàn)充足或暗淡。對(duì)于避障來(lái)說(shuō),成功率才是最為關(guān)鍵的。
 
【本文內(nèi)容由大道智創(chuàng)CTO邢志偉在硬創(chuàng)公開(kāi)課分享,新智造整理】
 
 
 
推薦閱讀:


2017年中國(guó)射頻器件行業(yè)發(fā)展趨勢(shì)如何?
ESD器件在保護(hù)電路中的十大應(yīng)用
2016年智能家居市場(chǎng)現(xiàn)狀令人堪憂(yōu)?
DCDC變換器輕載時(shí)三種工作模式是什么?
Altium讓多相和多模塊電路板設(shè)計(jì)變得簡(jiǎn)單!

 
 
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉