張國秀 鄧宏彬 趙娜 王超
自20世紀(jì)70年代以來,多機(jī)器人系統(tǒng)開始成為一個相對獨立的研究領(lǐng)域[1],得到了國內(nèi)外研究學(xué)者的廣泛關(guān)注.多機(jī)器人通過協(xié)作,可以從本質(zhì)上提高系統(tǒng)性能,并完成單個機(jī)器人無法完成的任務(wù)[2].相對于個體機(jī)器人而言,有明顯優(yōu)勢.近年來多機(jī)器人系統(tǒng)的研究受到越來越多的重視.
編隊控制是多機(jī)器人協(xié)作研究中的一類典型問題,也是許多協(xié)作問題的研究基礎(chǔ).
多移動機(jī)器人的編隊行為,是指多個機(jī)器人以某一參考點為標(biāo)準(zhǔn),經(jīng)過合理的規(guī)劃,機(jī)器人分別奔向各自的目標(biāo)位置,并避開相關(guān)環(huán)境的約束,形成一定的幾何隊形[3].
針對不同的環(huán)境及特點形成了領(lǐng)航跟隨法[4]、遺傳算法[5]、核增強(qiáng)學(xué)習(xí)方法[6]、虛擬結(jié)構(gòu)法[7]以及人工勢場法[8?9]等編隊算法.勢場法由于其簡單性被廣泛采用但存在局部極小在相近障礙物間不易發(fā)現(xiàn)路徑以及振蕩和擺動現(xiàn)象[10].這些研究大都建立在機(jī)器人位置信息和周圍環(huán)境已知的情況下,沒有充分考慮控制對象的動態(tài)性能,并且受限于具體的任務(wù)環(huán)境和控制參數(shù),控制性能的最優(yōu)性無法保證.對于未知環(huán)境下多機(jī)器人的編隊,環(huán)境的多變性、機(jī)器人初始位置的隨機(jī)性以及機(jī)器人之間的協(xié)作性都是需要考慮的方面.基于以上方法的特點,顯然無法完成未知環(huán)境下多機(jī)器人編隊的任務(wù).
模糊邏輯法[11]是模擬駕駛員的駕駛思想,將模糊控制本身所具有的魯棒性與基于生理學(xué)上的“感知—動作”行為結(jié)合起來,避開了傳統(tǒng)算法中存在的對移動機(jī)器人的定位精度敏感、對環(huán)境信息依賴性強(qiáng)的缺點.適合解決機(jī)器人在未知環(huán)境下的路徑規(guī)劃問題,具有較高的優(yōu)越性和實時性.關(guān)于未知環(huán)境下機(jī)器人路徑規(guī)劃的研究,付宜利和靳保等[12?13]采用了模糊邏輯法,樊長虹等[14]采用了神經(jīng)網(wǎng)絡(luò)法.他們的研究只是集中在單機(jī)器人的路徑規(guī)劃方面.
結(jié)合模糊控制法的特點以及現(xiàn)有的研究,能夠?qū)崿F(xiàn)未知環(huán)境下多機(jī)器人編隊任務(wù)的方法,模糊控制法的契合度最高.
本文基于模糊控制法,以兩輪機(jī)器人作為多機(jī)器人布局個體,結(jié)合未知環(huán)境下多機(jī)器人編隊初始位置隨機(jī),障礙物信息不確定等特點,建立模糊控制器,根據(jù)輪式機(jī)器人特點,確立模糊控制器的輸入輸出.根據(jù)多機(jī)器人編隊對于快速性和準(zhǔn)確性的要求,結(jié)合多機(jī)器人遇障情況以及機(jī)器人速度因素確立模糊控制規(guī)則.并通過仿真驗證了該方法的有效性和準(zhǔn)確性.
移動機(jī)器人模型如圖1所示,機(jī)器人左右有兩個驅(qū)動輪,后方有一個拖尾用于輔助保持機(jī)器人運(yùn)動過程的平衡.兩輪機(jī)器人通過調(diào)整兩輪轉(zhuǎn)速可實現(xiàn)繞其中心自由旋轉(zhuǎn)、直行、左轉(zhuǎn)、右轉(zhuǎn)等運(yùn)動行為.機(jī)器人安裝有4組傳感器,位于頭部的左側(cè)傳感器組、前方傳感器組、右側(cè)傳感器組分別測量其與左前方、正前方、右前方障礙物之間的距離.信號通訊器用于機(jī)器人之間的相互通信,來獲取機(jī)器人之間的位置信息.
圖1 移動機(jī)器人模型圖
根據(jù)兩輪機(jī)器人的運(yùn)動特點,確立其運(yùn)動模型如圖2所示.
圖2 兩輪機(jī)器人運(yùn)動學(xué)模型圖
機(jī)器人的運(yùn)動學(xué)方程為:
式中為機(jī)器人的位姿信息,其中(x,y)為機(jī)器人的位置坐標(biāo),θ為機(jī)器人運(yùn)動方向與橫軸的夾角,為機(jī)器人的運(yùn)動信息,其中v為機(jī)器人的速度,ω為機(jī)器人的轉(zhuǎn)動角速度.通過控制機(jī)器人的前進(jìn)速度v和轉(zhuǎn)動角速度ω可以實現(xiàn)機(jī)器人的避障及到達(dá)目標(biāo)的目的.機(jī)器人的前進(jìn)速度v和轉(zhuǎn)動角速度ω與位姿信息的關(guān)系為:
在模糊控制系統(tǒng)中,模糊控制器是模糊控制系統(tǒng)的核心.傳統(tǒng)的模糊控制器基本結(jié)構(gòu)主要由模糊化、數(shù)據(jù)庫、規(guī)則庫、模糊推理和清晰化等5部分構(gòu)成.
多機(jī)器人編隊過程中,單個機(jī)器人作為執(zhí)行單位,由總控單元確定機(jī)器人的編隊陣型,并向每個機(jī)器人發(fā)送目標(biāo)點信息,每個機(jī)器人根據(jù)目標(biāo)點信息,獨立自主地完成編隊任務(wù).未知環(huán)境下完成編隊的任務(wù)過程中,機(jī)器人初始位置隨機(jī).同時由于機(jī)器人的運(yùn)動環(huán)境比較復(fù)雜,需要通過安裝距離傳感器獲取周圍信息.根據(jù)獲取的環(huán)境信息完成避障,到達(dá)目標(biāo)點.針對以上特點,需要在傳統(tǒng)模糊控制器中加入反饋環(huán)節(jié),實現(xiàn)機(jī)器人編隊任務(wù).根據(jù)以上描述設(shè)計模糊控制器結(jié)構(gòu)如圖3所示.將通過傳感器獲取的距離信息(機(jī)器人與障礙物前端距離,機(jī)器人相互之間的距離)和目標(biāo)的位置信息作為輸入,機(jī)器人轉(zhuǎn)動角度以及前進(jìn)距離作為輸出.
圖3 模糊控制器結(jié)構(gòu)圖
在模糊控制中用來進(jìn)行模糊推理的是模糊變量,需要將機(jī)器人所處環(huán)境中各方向的障礙物距離信息目標(biāo)信息進(jìn)行轉(zhuǎn)化.本文將左中右3個位置傳感器采集的距離信息dl,dc,dr的論域劃分為N,F(N距離小,F距離大),當(dāng)為N時控制器啟動避障措施;將機(jī)器人之間的距離信息dod的論域劃分為LN,LF,RN,RF(LN:左側(cè)有機(jī)器人且距離較近;LF:左側(cè)有機(jī)器人距離較遠(yuǎn);RN:右側(cè)有機(jī)器人距離較近;RF:右側(cè)有機(jī)器人距離較遠(yuǎn));由于兩輪機(jī)器人可以實現(xiàn)原地旋轉(zhuǎn),故將輸出轉(zhuǎn)動角度量st的論域劃分為TL,TR,TA,TZ(TL:左轉(zhuǎn)角度,TR:右轉(zhuǎn)角度,TA:調(diào)整角度指向目標(biāo),TZ:轉(zhuǎn)動量為零);將輸出速度量v的論域劃分為MQ,MS,MZ(MQ:快速移動,MS:慢速移動,MZ:前進(jìn)量為零).采用三角函數(shù)作為隸屬度函數(shù),根據(jù)實際的環(huán)境情況,建立隸屬度函數(shù)如下.
模糊控制規(guī)則的建立是模糊控制的核心問題[15].根據(jù)模糊集合理論,模糊控制規(guī)則可以用從輸入變量到輸出變量的兩個關(guān)系矩陣表示.
在多機(jī)器人編隊任務(wù)中,單個機(jī)器人作為執(zhí)行單元,其能否避開障礙物到達(dá)目標(biāo)點是整個多機(jī)器人布局的關(guān)鍵.在未知環(huán)境下,機(jī)器人遇到障礙物的情況如圖4所示,圖中箭頭代表機(jī)器人正前方、左前方、右前方.
圖4 距離的隸屬度函數(shù)
圖5 機(jī)器人間距離隸屬度函數(shù)
圖6 轉(zhuǎn)動角度隸屬度函數(shù)
圖7 前進(jìn)速度v隸屬度函數(shù)
圖8 機(jī)器人遇障情況
當(dāng)機(jī)器人在編隊過程中遇到以上情況時,機(jī)器人通過調(diào)整轉(zhuǎn)角,繞過障礙物到達(dá)目標(biāo)點.
在多機(jī)器人編隊任務(wù)中,如何盡快地完成編隊也是需要考慮的內(nèi)容.現(xiàn)有的方法大都沒有考慮機(jī)器人的運(yùn)動速度對多機(jī)器人編隊的影響,從而因為速度設(shè)置不當(dāng),導(dǎo)致機(jī)器人在未進(jìn)行避障行為時速度過低,增加編隊時間或因速度過高導(dǎo)致與障礙物發(fā)生碰撞.為解決這個問題,在模糊規(guī)則中引入速度控制,當(dāng)機(jī)器人距離障礙物較遠(yuǎn)時,控制器調(diào)整輸出速度讓機(jī)器人快速向目標(biāo)移動,同時在移動的過程中實時調(diào)整前進(jìn)方向,避免偏離目標(biāo).當(dāng)機(jī)器人距離障礙物較近時,根據(jù)距離傳感器返回的信息確定障礙物信息,控制器調(diào)整輸出轉(zhuǎn)角值,同時降低前進(jìn)速度,保證機(jī)器人成功避障.
通過以上規(guī)則建立模糊規(guī)則如表1所示.
未知環(huán)境下多機(jī)器人編隊,由于無法掌握整個環(huán)境障礙物信息,機(jī)器人需要根據(jù)周圍環(huán)境實時修改移動路徑,因此無法對多機(jī)器人的移動路徑進(jìn)行總體規(guī)劃.導(dǎo)致機(jī)器人在向目標(biāo)移動的過程中,難免會出現(xiàn)兩個機(jī)器人距離較近,甚至發(fā)生碰撞的情況.在即將碰撞時一般分為兩種情況,一種是兩機(jī)器人周圍沒有障礙物或障礙物距離還未觸發(fā)避障行為,此時應(yīng)采取兩機(jī)器人向相反方向偏轉(zhuǎn)的策略,通過控制器調(diào)整輸出轉(zhuǎn)角值,避免碰撞發(fā)生;另一種情況是障礙物距離觸發(fā)避障行為,此時應(yīng)采取需避障機(jī)器人等待,無避障機(jī)器人先行的策略,通過控制器調(diào)整輸出轉(zhuǎn)角值,避免碰撞發(fā)生.根據(jù)以上規(guī)則建立模糊控制規(guī)則表如表2所示.
表1 機(jī)器人避障模糊規(guī)則表
表2 機(jī)器人避碰模糊規(guī)則表
由于上述過程只是求得了各個模糊變量,而要控制機(jī)器人完成相應(yīng)動作,需要將各個模糊變量進(jìn)行解模糊化處理.采用重心數(shù)法進(jìn)行解模糊化.將得到的模糊變量作為模糊集合B,求得模糊集合B的重心位置量,通過尺度轉(zhuǎn)換,轉(zhuǎn)化成兩輪機(jī)器人轉(zhuǎn)向角量和前進(jìn)量.在此基礎(chǔ)上,根據(jù)上述模糊規(guī)則,便可完成多機(jī)器人編隊與動態(tài)避碰的任務(wù).
機(jī)器人在避障的過程中對前進(jìn)速度的要求較高,如果速度過小,將增加機(jī)器人信息處理系統(tǒng)處理傳感器采樣信息的頻次,增加機(jī)器人避障時間;如果速度過大,會出現(xiàn)機(jī)器人剎車不及時,碰到障礙物的情況.現(xiàn)有的大部分基于模糊控制路徑規(guī)劃算法的研究,其模糊規(guī)則在機(jī)器人的整個運(yùn)動過程中保持不變,但這種方式在機(jī)器人遇到障礙物進(jìn)行避障動作時其避障效率以及避障成功率將受到極大的影響.如果在機(jī)器人前進(jìn)速度與各方向障礙物距離及目標(biāo)位置再建立一套相應(yīng)的模糊控制規(guī)則,這樣模糊控制器將是多維輸出,而且計算量會增大.
為了解決上述問題,在機(jī)器人避障過程中采用一套速度控制方法.根據(jù)機(jī)器人與障礙物距離來調(diào)整前進(jìn)速度.由于機(jī)器人距離障礙物越近,其轉(zhuǎn)向角越大,因此用轉(zhuǎn)向角來控制速度.根據(jù)兩輪機(jī)器人尺寸和實際經(jīng)驗,考慮兩輪機(jī)器人轉(zhuǎn)彎的特點,建立轉(zhuǎn)向角與速度之間的函數(shù)關(guān)系如下:
其中,v為機(jī)器人的前進(jìn)速度,vmax為機(jī)器人沒遇到障礙物時的前進(jìn)速度,θ為機(jī)器人的轉(zhuǎn)角.
采用了上述手段后,相當(dāng)于給機(jī)器人裝上了自動變速裝置,使機(jī)器人根據(jù)轉(zhuǎn)角大小自動調(diào)整速度,在一定程度上保證機(jī)器人在轉(zhuǎn)彎處獲得足夠反應(yīng)時間的同時盡量減少機(jī)器人完成避障任務(wù)的時間.
Netlogo是一個多主體建模仿真集成環(huán)境,由美國西北大學(xué)連接學(xué)習(xí)與計算機(jī)建模中心(Center for Connected Learning and Computer-Based Modeling,CCL)開發(fā),是繼承了Logo語言的一款編程開發(fā)平臺,但它又改進(jìn)了Logo語言只能控制單一個體的不足,它可以在建模中控制多個個體.本文將運(yùn)用Netlogo5.05軟件進(jìn)行多機(jī)器人在初始狀態(tài)未知的情況下,完成不同隊形編隊的路徑仿真,以此來驗證模型的合理性,以及算法的有效性.
Netlogo5.05仿真世界由turtles、patches、observer三類主體構(gòu)成.turtles指能夠在世界中移動的主體;世界是二維的,劃分為由patches組成的網(wǎng)格,每個patch占據(jù)一個矩形小塊;observer是一個全局主體,它觀察著由turtles和patches構(gòu)成的世界.
在Netlogo5.05軟件仿真環(huán)境下,設(shè)置整個仿真空間面積為160×160,設(shè)置4個“turtles”作為移動機(jī)器人,通過 “faceagent”,“forward number”,“l(fā)eft number”,“right number”4 條指令分別控制機(jī)器人面向目標(biāo)、前進(jìn)number步、左轉(zhuǎn)number度、右轉(zhuǎn)number度等運(yùn)動行為,設(shè)置4個“patches”作為每個機(jī)器人的目標(biāo)點,通過調(diào)整目標(biāo)點的位置坐標(biāo)來調(diào)整機(jī)器人編隊隊形.設(shè)置8個“turtles”作為障礙物.
仿真過程中,首先通過“setxy random”指令完成機(jī)器人和障礙物的隨機(jī)分布,然后進(jìn)行機(jī)器人運(yùn)動仿真,并記錄仿真結(jié)果.
隨機(jī)生成4個機(jī)器人的初始位置及朝向如圖9所示.
圖9 四邊形編隊初始狀態(tài)圖
調(diào)整避障距離即機(jī)器人開始避障行為時與障礙物的距離,其對多機(jī)器人編隊的影響如表3所示.通過表3可以看出當(dāng)避障距離小于14時,機(jī)器人出現(xiàn)碰到障礙物的情況,避障距離為14時,編隊完成且用時最短.其仿真結(jié)果如圖10所示,4個機(jī)器人從各自的初始位置開始運(yùn)動,成功繞開障礙物,最后完成近似四邊形編隊.
圖10 四邊形編隊路徑圖
表3 不同避障距離對四邊形編隊的影響
隨機(jī)生成4個機(jī)器人的初始位置及朝向如圖11所示.
圖11 “一”字形編隊初始狀態(tài)圖
避障距離對多機(jī)器人編隊的影響如表4所示,通過表4可以看出當(dāng)避障距離小于15時,機(jī)器人出現(xiàn)碰到障礙物的情況,避障距離為15時,編隊完成且用時最短.避障距離為15時仿真結(jié)果如圖12所示,由圖可以看出,3號機(jī)器人和4號機(jī)器人在運(yùn)動過程中出現(xiàn)要碰撞的情況,兩機(jī)器人進(jìn)行避碰行為,成功避免彼此碰撞,并繞開障礙物,到達(dá)目的點與其他機(jī)器人完成“一”字形布局.
圖12 “一”字形編隊路徑圖
表4 不同避障距離對一字型編隊的影響
隨機(jī)生成4個機(jī)器人的初始位置及朝向如圖13所示.
圖13 梯形編隊機(jī)器人初始狀態(tài)圖
避障距離對多機(jī)器人梯形編隊的影響如表5所示,通過表5可以看出當(dāng)避障距離小于12時,機(jī)器人出現(xiàn)碰到障礙物的情況,避障距離為12時,編隊完成且用時最短.避障距離為12時仿真結(jié)果如圖14所示,由圖14可以看出,1號機(jī)器人和2號機(jī)器人成功穿過兩個距離較近的障礙物.4個機(jī)器人從初始位置出發(fā),到達(dá)目的點完成梯形編隊.
圖14 梯形編隊路徑圖
表5 不同避障距離對梯形編隊的影響
本文基于模糊控制理論,提出了一種多機(jī)器人自主避障,避免碰撞,完成編隊任務(wù)的控制算法,該方法首先建立了兩輪機(jī)器人行駛的動力學(xué)模型,然后結(jié)合輪式機(jī)器人的運(yùn)動特點和機(jī)器人與障礙物,機(jī)器人與機(jī)器人之間的距離關(guān)系,確定模糊控制器的輸入和輸出,確立了模糊控制器規(guī)則.通過仿真實驗證明了該方法保持了模糊控制所具有的計算量小的特點,能夠適應(yīng)復(fù)雜的環(huán)境,完成多機(jī)器人編隊的任務(wù).