*,移動機器人是工廠物(wu)料運輸的解(jie)決(jue)方案,是提(ti)高生(sheng)產(chan)效率,降低生(sheng)產(chan)成本(ben),增(zeng)強生(sheng)產(chan)穩定(ding)性的*。為了滿足(zu)工業生(sheng)產(chan)需求(qiu),一款(kuan)的移動機器人產(chan)品首先需要解(jie)決(jue)三(san)大問題:

小藍(杭州藍芯科技有限公司簡稱)就是專業解(jie)決導(dao)航規(gui)劃問題滴,接(jie)下來就和大家好(hao)好(hao)嘮嘮怎么(me)實(shi)現一次走(zou)位。

軌跡計劃
世界上遙遠的距離不是(shi)生與死,而是(shi)明明出口就在眼前,而我卻要(yao)去遠遠的兜一圈才(cai)能到。移動機器(qi)人(ren)在面對復(luan)雜(dui)環(huan)(luan)境(fang)時,也需要(yao)完成(cheng)走迷宮般的絕望任務(wu)。

圖 1
為了應付復雜的人類以及胖胖的自己,我們機智的機器人,擁有了自己的軌跡規劃方法。那就是把你們變胖,把自己變瘦(美麗)!于是提出了兩個重要假設(敲黑板):
機器人是一個點,障礙物按機器人半徑進行膨脹;
機器人是完整的,忽略非完整約束對姿態的限制;
于是,工(gong)作空(kong)間(jian)就的降為了二(er)維物(wu)理空(kong)間(jian)(姿(zi)態空(kong)間(jian)),如圖2

圖 2
于是路徑(jing)規劃問題(ti)就變(bian)成了(le)姿(zi)(zi)(zi)態空間(jian)的搜索問題(ti):在自(zi)由姿(zi)(zi)(zi)態空間(jian)中為機器人尋找一條路徑(jing),使其從初始姿(zi)(zi)(zi)態發展到目標(biao)姿(zi)(zi)(zi)態。將(jiang)姿(zi)(zi)(zi)態空間(jian)離散化以后,就能進行啦。
快速擴展隨機樹法(RRT)
快速擴(kuo)展隨(sui)(sui)機(ji)樹(shu)(shu)法(fa)可(ke)以看作一種樹(shu)(shu)形算法(fa),它(ta)從(cong)一個(ge)(ge)起始(shi)構型(對(dui)于二維圖,就(jiu)是(shi)一個(ge)(ge)點(dian))出(chu)發(fa),不斷延伸樹(shu)(shu)型數據,終與目標(biao)點(dian)相連。具(ju)體(ti)做法(fa)就(jiu)是(shi)以一個(ge)(ge)初(chu)始(shi)點(dian)作為(wei)根節(jie)點(dian),通過隨(sui)(sui)機(ji)采(cai)樣增(zeng)加(jia)葉(xie)(xie)子(zi)節(jie)點(dian)的方式,生成一個(ge)(ge)隨(sui)(sui)機(ji)擴(kuo)展樹(shu)(shu),當(dang)隨(sui)(sui)機(ji)樹(shu)(shu)中的葉(xie)(xie)子(zi)節(jie)點(dian)包含(han)了目標(biao)點(dian)或進入(ru)了目標(biao)區域,便可(ke)以在(zai)隨(sui)(sui)機(ji)樹(shu)(shu)中找(zhao)到一條(tiao)由從(cong)初(chu)始(shi)點(dian)到目標(biao)點(dian)的路徑。

圖 3
RRT算法(fa)也有一些缺點(dian),它是(shi)(shi)一種純粹的(de)(de)隨機(ji)搜(sou)索算法(fa)對環境類型不敏(min)感,當C-空間中包(bao)含大(da)量障礙物或(huo)狹窄通道(dao)(dao)約束時(shi),算法(fa)的(de)(de)收斂速度慢(man),效率(lv)會大(da)幅(fu)下降(jiang)。同(tong)時(shi),RRT 的(de)(de)一個弱(ruo)點(dian)是(shi)(shi)難以在有狹窄通道(dao)(dao)的(de)(de)環境找到(dao)路徑。因為(wei)狹窄通道(dao)(dao)面積小,被碰(peng)到(dao)的(de)(de)概率(lv)低(di)。
因(yin)此有學者提(ti)出了RRTConnect算法(fa),基本的RRT每次搜(sou)索(suo)都(dou)只有從初始狀(zhuang)(zhuang)態點生長(chang)的快(kuai)速(su)擴展隨(sui)機(ji)樹來搜(sou)索(suo)整個狀(zhuang)(zhuang)態空間,如果(guo)從初始狀(zhuang)(zhuang)態點和目標狀(zhuang)(zhuang)態點同時生長(chang)兩(liang)棵快(kuai)速(su)擴展隨(sui)機(ji)樹來搜(sou)索(suo)狀(zhuang)(zhuang)態空間,效率會更高。
該算(suan)法與原始(shi)RRT相比,在目標點(dian)(dian)區域建立(li)第二棵樹(shu)進行擴展(zhan)。每一次迭代(dai)中,開始(shi)步驟與原始(shi)的RRT算(suan)法一樣,都是采(cai)樣隨機點(dian)(dian)然后進行擴展(zhan)。然后擴展(zhan)完棵樹(shu)的新節點(dian)(dian)qnew后,以這個(ge)新的目標點(dian)(dian)作為第二棵樹(shu)擴展(zhan)的方向。

圖 4
這種雙向的(de)(de)RRT技術具有良(liang)好的(de)(de)搜(sou)索(suo)(suo)特性(xing),比(bi)原始(shi)RRT算(suan)法(fa)的(de)(de)搜(sou)索(suo)(suo)速度(du)、搜(sou)索(suo)(suo)效(xiao)率有了顯(xian)著提高(gao),被廣泛應用。首先(xian),Connect算(suan)法(fa)較(jiao)之前的(de)(de)算(suan)法(fa)在(zai)擴(kuo)展(zhan)的(de)(de)步長上更長,使(shi)得(de)樹(shu)(shu)的(de)(de)生長更快(kuai);其次(ci),兩棵(ke)樹(shu)(shu)不(bu)斷朝(chao)向對方交替擴(kuo)展(zhan),而不(bu)是采用隨機擴(kuo)展(zhan)的(de)(de)方式,特別(bie)當起始(shi)位姿和(he)目標位姿處于約束區(qu)域(yu)時,兩棵(ke)樹(shu)(shu)可以通過朝(chao)向對方快(kuai)速擴(kuo)展(zhan)而逃離各(ge)自的(de)(de)約束區(qu)域(yu)。這種帶有啟(qi)發性(xing)的(de)(de)擴(kuo)展(zhan)使(shi)得(de)樹(shu)(shu)的(de)(de)擴(kuo)展(zhan)更加貪婪和(he)明確,使(shi)得(de)雙樹(shu)(shu)RRT算(suan)法(fa)較(jiao)之單樹(shu)(shu)RRT算(suan)法(fa)更加有效(xiao)。
單元分解法
單元分解法的基本思想是將姿(zi)態空間(jian)中的自由空間(jian)分隔成幾個(ge)(ge)小區域,將每個(ge)(ge)區域當(dang)成一個(ge)(ge)單元。以(yi)單元為頂點(dian),以(yi)單元之間(jian)的相鄰關系為邊構成一張連(lian)(lian)通圖。然后(hou)(hou)在連(lian)(lian)通圖中搜索(suo)初(chu)始姿(zi)態和目標姿(zi)態所在的單元,然后(hou)(hou)搜索(suo)連(lian)(lian)接(jie)初(chu)始單元和目標單元的路徑。后(hou)(hou)就(jiu)能(neng)按照所得(de)路徑的單元序列生成單元內部的路徑了。

圖 5
單(dan)元分解法的(de)(de)有點在(zai)(zai)于,機器人不需(xu)要(yao)考慮(lv)它在(zai)(zai)每個(ge)空閑(xian)單(dan)元中(zhong)的(de)(de)具體位(wei)置,只(zhi)需(xu)要(yao)考慮(lv)如何從(cong)一個(ge)單(dan)元移動到相鄰(lin)的(de)(de)空閑(xian)單(dan)元,同時單(dan)元數和環境大小(xiao)無(wu)關。
但是計算效率(lv)會極大地依賴于環(huan)境(jing)(jing)中的物體(ti)的復雜(za)(za)度,為了解(jie)決這方面的問題,又提(ti)出了新的單元分解(jie)法,也就(jiu)是柵(zha)格表示法:將環(huan)境(jing)(jing)分解(jie)成若(ruo)干個大小相(xiang)同的柵(zha)格。這樣其實就(jiu)是對地圖(tu)的一種近似,就(jiu)不用(yong)考慮環(huan)境(jing)(jing)的疏密和(he)物體(ti)形狀的復雜(za)(za)度。

圖 6
人工勢場法
人工(gong)勢場法(fa)利(li)用磁場的特(te)性來(lai)解決路徑規劃的問(wen)題。假設目標點對(dui)(dui)機器(qi)人產(chan)生(sheng)吸引(yin)力(li),障(zhang)礙物對(dui)(dui)機器(qi)人產(chan)生(sheng)排斥力(li)。這樣就能(neng)根據力(li)的合成構成機器(qi)人的控制(zhi)方(fang)法(fa)了(le)。

圖 7
引力(li)(li)(li)場(attraction)隨機(ji)器(qi)(qi)人與目標點的(de)距離增加(jia)而(er)單(dan)調遞增,且方向(xiang)指向(xiang)目標點;斥(chi)力(li)(li)(li)場(repulsion)在機(ji)器(qi)(qi)人處在障礙物(wu)(wu)(wu)位置(zhi)時有一(yi)極大值(zhi),并(bing)隨機(ji)器(qi)(qi)人與障礙物(wu)(wu)(wu)距離的(de)增大而(er)單(dan)調減小,方向(xiang)指向(xiang)遠離障礙物(wu)(wu)(wu)方向(xiang)。如圖8就是引力(li)(li)(li)場和斥(chi)力(li)(li)(li)場同時作用下的(de)勢場圖。

圖 8
人工(gong)勢場(chang)法通(tong)過構(gou)建(jian)人工(gong)勢場(chang),進行(xing)勢場(chang)力計(ji)算,受力分析進而計(ji)算合力,得到終(zhong)加速(su)度(du)。

圖 9
人工勢(shi)場法結構(gou)簡(jian)單,便于(yu)底(di)層的(de)實(shi)(shi)時(shi)控制,在實(shi)(shi)時(shi)避障和平(ping)滑的(de)軌跡(ji)控制方(fang)面得(de)到(dao)廣泛的(de)應用。但是(shi)由于(yu)斥力作用范圍(wei)較小(xiao)(xiao)的(de)問(wen)題,勢(shi)場法只能解決局(ju)部(bu)(bu)空(kong)間的(de)避障問(wen)題,它缺乏全局(ju)信息,這(zhe)(zhe)樣,它就很容易陷(xian)入局(ju)部(bu)(bu)小(xiao)(xiao)值。當機器人位(wei)于(yu)局(ju)部(bu)(bu)小(xiao)(xiao)點(dian)的(de)時(shi)候,機器人容易產(chan)生(sheng)振蕩或者停滯不前。障礙物越(yue)多(duo)(duo),產(chan)生(sheng)局(ju)部(bu)(bu)小(xiao)(xiao)點(dian)的(de)可能性就越(yue)大,產(chan)生(sheng)局(ju)部(bu)(bu)小(xiao)(xiao)點(dian)的(de)數量(liang)也就越(yue)多(duo)(duo),這(zhe)(zhe)是(shi)具體實(shi)(shi)現過程中(zhong)需要注意的(de)。
通(tong)過上述介紹,想(xiang)必大家存在一個疑惑,構(gou)建了很多(duo)單元和路(lu)徑(拓撲圖),那么如(ru)何(he)去(qu)搜索路(lu)徑呢(ni),又怎么去(qu)判斷哪(na)條路(lu)徑更加呢(ni)。下(xia)期論點,讓我們討(tao)論路(lu)徑規劃算(suan)(suan)法(fa)中的(de)路(lu)徑所搜法(fa),一起學習(xi)A*算(suan)(suan)法(fa),遺傳算(suan)(suan)法(fa)以及粒子濾波算(suan)(suan)法(fa)是如(ru)何(he)為我們服務的(de)。
電話
微信掃一掃