黃 駿,朱 強
(蕪湖職業(yè)技術(shù)學院 智能制造學院,安徽 蕪湖 241006)
隨著科技的不斷發(fā)展,智能機器人被應用到工業(yè)、物流業(yè)、電力行業(yè)等越來越多的領(lǐng)域。規(guī)劃科學合理的避障路徑是決定智能機器人作業(yè)效率及作業(yè)執(zhí)行效果的關(guān)鍵[1]。多機器人在協(xié)同作業(yè)過程中,易發(fā)生相互碰撞,極大影響作業(yè)效率。李洋等[2]基于自適應步長快速擴展隨機樹的方法提出了一種雙臂機器人協(xié)同路徑規(guī)劃算法,提高了碰撞檢測的有效性。董朝瑞等[3]設(shè)計了一種基于預約格柵方法的多機器人動態(tài)路徑規(guī)劃算法,提高了倉儲機器人協(xié)同作業(yè)的系統(tǒng)效率。彭湘等[4]通過引入半自由柵格和半障礙柵格概念,融合蟻群算法得到了多地形情況下移動機器人的最佳路徑規(guī)劃。劉劍等[5]以揀貨智能機器人為研究對象,結(jié)合所設(shè)定的能耗與移動間距等目標函數(shù),構(gòu)建出3層布谷鳥模型,進而得到機器人協(xié)同路徑規(guī)劃。該方法雖然可以快速得到不同類型食品揀貨機器人規(guī)劃作業(yè)路徑,卻不能完全避免機器人間的碰撞,協(xié)同規(guī)劃效果不佳。萬逸飛等[6]以降低機器人運行耗時、提升路徑平滑度等為研究目標,采用多目標及協(xié)同算法,對多目標函數(shù)的協(xié)調(diào)路徑規(guī)劃問題進行求解,得到了多機器人協(xié)同路徑規(guī)劃。此方法所規(guī)劃的協(xié)同路徑雖然在避障與避碰撞方面均表現(xiàn)良好,但所用算法的運算過程過于煩瑣,整體規(guī)劃效率較低。
粒子群算法是通過對鳥群搜索食物的過程實施仿真而產(chǎn)生的一種全局性優(yōu)化算法,該算法具有搜索速度快、全局搜索性能強、平穩(wěn)性好等特點,但針對組合優(yōu)化問題的處理效果稍差[7]。而蟻群算法是通過對蟻群搜索食物的過程實施仿真的一種算法,同時也是一種通過概率搜索最優(yōu)路徑的啟發(fā)式全局優(yōu)化算法。該算法搜索最優(yōu)路徑時主要依據(jù)路徑的信息素與啟發(fā)函數(shù)2種參數(shù)值[8-9]。蟻群算法具有收斂性能好、魯棒性及搜索準確性高等特點,尤其適用于處理組合優(yōu)化問題,其缺點主要為搜索效率稍差、運算量高、易陷入局部最優(yōu)等[10]。為此,本研究通過融合粒子群算法與蟻群算法,獲得蟻群粒子群融合算法,在暫不考慮機器人間干擾的情況下,確定各機器人全局最優(yōu)避障路徑,再結(jié)合多機器人協(xié)同作業(yè)避碰規(guī)則,規(guī)劃出免碰撞的最佳機器人間協(xié)同路徑,為多機器人協(xié)同作業(yè)效率與安全性的提升提供保障。
多機器人協(xié)同路徑規(guī)劃要解決的主要問題是避障路徑規(guī)劃和協(xié)同作業(yè)避碰,最終獲得可避障與避碰的多機器人最優(yōu)協(xié)同路徑。
1.1.1 建立多機器人協(xié)同作業(yè)環(huán)境的柵格模型
在規(guī)劃多機器人協(xié)同路徑之前,先選用柵格法構(gòu)建多機器人協(xié)同作業(yè)環(huán)境模型[11]。在建模之前,對相關(guān)條件進行設(shè)定:
1)各機器人均以1.18 m/s的速度移動;
2)機器人的實際規(guī)格不予以考量;
3)以各個柵格的中點坐標作為各自柵格的坐標;
4)當障礙物的大小小于單個柵格時,也視其為一個柵格;
5)機器人的作業(yè)運動環(huán)境為二維空間。
按上述設(shè)定條件創(chuàng)建多機器人協(xié)同作業(yè)環(huán)境柵格模型,其結(jié)構(gòu)如圖1所示。
在圖1中,白色柵格與黑色柵格分別代表自由區(qū)域與障礙物區(qū)域,各機器人作業(yè)運動時需避開全部障礙物區(qū)域,在自由區(qū)域內(nèi)完成作業(yè)運動。其中,柵格j與二維空間內(nèi)的坐標(xj,yj)相對應,將柵格空間內(nèi)按著橫、縱坐標方向的行、列柵格數(shù)量設(shè)定為Mx與My。將圖內(nèi)左上角第1個柵格設(shè)定為首個柵格,其坐標為(0.5,5.5);將首個柵格右側(cè)的柵格依次設(shè)定為柵格2~6,并按條件設(shè)定柵格的坐標。每個柵格坐標同其序號之間的關(guān)聯(lián)式為
(1)
式中,mod(j/Mx)與cell(j/My)分別為j/Mx的余數(shù)和j/My的整數(shù)。
柵格經(jīng)過二維平面化處理后,經(jīng)由各機器人自身傳感器實時采集作業(yè)環(huán)境信息,通過膨化操作處理作業(yè)環(huán)境內(nèi)的各個障礙物,令其占據(jù)若干個柵格[12-13]。設(shè)Ai(x0,y0)與Qi(x1,y1)為第i個機器人的運動初始點與終點坐標,以柵格信息為依據(jù),在兩點之間為機器人查詢符合約束條件的最佳路徑。按此方法獲取全部機器人的最佳路徑。
1.1.2 設(shè)定機器人約束條件
在規(guī)劃機器人路徑的過程中,需設(shè)定位移、避障、結(jié)束運動等約束條件[14]。設(shè)Bi為第i個機器人的路徑,它包含多個柵格序號,即Bi=(bi1,bi2,…,bik),其中,k為路徑中的總柵格數(shù)。該機器人最短路徑長度Di為
(2)
式中,n為機器人的總數(shù)量。
機器人約束條件設(shè)定如下:
1)位移約束條件:此約束條件是對機器人的運動方向?qū)嵤┘s束,設(shè)定其僅可朝向左、右、前、后4個方向產(chǎn)生平面位移運動與暫停,且單次位移運動只能選擇一個方向。約束條件表示為
(3)
式中:(xc,yc)為機器人行走至第c步時所對應的坐標,l為常數(shù)。
2)避障約束條件:該約束條件是對機器人距障礙物的間距實施約束,約束條件表示為
(4)
式中,(xe,ye)為障礙物柵格的坐標。
3)結(jié)束運動約束條件:該約束條件約定機器人抵達目標點時才可以結(jié)束路徑的搜索。約束條件表示為
(5)
由公式(2)可知,如果機器人由c-2步至c-1步的過程中所行走的步數(shù)為1,且不考慮是向前還是向后運動,那么,當機器人由c-1步至c步時,既能夠待在原地不動(也就是步數(shù)為0),也能夠繼續(xù)運動1步。但是,如果機器人由c-2步至c-1步的過程中的步數(shù)為0時,即機器人待在原地不動,則此時機器人留在此處。
1.2 基于蟻群粒子群融合的多機器人避障路徑規(guī)劃過程
1.2.1 粒子群算法下多機器人最優(yōu)參考路徑預規(guī)劃
初始階段任意分布在解區(qū)間的一組粒子構(gòu)成了算法的起始狀態(tài),其作用是為了提高后續(xù)迭代的效率及效果。在通過粒子群算法預規(guī)劃各機器人最優(yōu)參考路徑過程中,可采取對各粒子的速度與位置持續(xù)更新的方式獲得最優(yōu)解,即各機器人的最優(yōu)參考路徑。粒子位置與速度更新的表達式為
(6)
式中:Xij(t)為第(i,j)個粒子的初始位置,Xij(t+1)為t+1時刻更新后的位置;Vij(t)與Vij(t+1)為粒子的初始速度與更新之后的速度;μ為加權(quán)系數(shù);σ1與σ2為學習因子;rand(·)為隨機數(shù),且其取值范圍為(0,1);hB與Bi j,B分別為當前粒子群的全局最優(yōu)解與第(i,j)個粒子的最優(yōu)解。
在建立的柵格模型內(nèi),確定障礙物、終點、初始點的坐標,并將各粒子視為對應機器人,對全部粒子的位置與速度、粒子群算法的各參數(shù)均進行初始化處理。運用公式(6)持續(xù)更新各粒子的位置與速度,連續(xù)迭代至最高迭代次數(shù),μ值緩慢降低,實現(xiàn)全局最優(yōu)解及個體最優(yōu)解的反復更新調(diào)整。得到的最優(yōu)解即為各機器人的最優(yōu)參考路徑,從而完成了各機器人的路徑預規(guī)劃。
1.2.2 蟻群算法下多機器人全局最優(yōu)避障路徑
(7)
在規(guī)劃路徑過程中,螞蟻柵格路徑的啟發(fā)函數(shù)和信息素濃度這2類參數(shù)值可正向決定螞蟻選擇此柵格作為可行柵格的概率。在初始柵格處放置螞蟻,在公式(7)的基礎(chǔ)上,螞蟻由所處柵格j向之后柵格j+1運動的概率Pj+1的計算公式為
(8)
式中:δj為啟發(fā)函數(shù),γ為期望啟發(fā)因子,Ji為螞蟻所處柵格j的全部后續(xù)可行柵格集合,m為該集合的總數(shù)量。由此,2個柵格之間路徑的啟發(fā)函數(shù)δj,j+1的計算公式為
(9)
式中:Lj,j+1為所處柵格j與可行柵格j+1的間距,ω1為Lj,j+1的權(quán)重系數(shù),Lj+1,Q為可行柵格j+1距目標柵格Q的距離,ω2為Lj+1,Q的權(quán)重系數(shù)。
(10)
(11)
最佳路徑上的信息素濃度與迭代次數(shù)成正比關(guān)系,當達到最高迭代次數(shù)之后,結(jié)束路徑搜索過程,確定全局最優(yōu)避障路徑。
1.3 基于作業(yè)避碰規(guī)則的多機器人協(xié)同路徑規(guī)劃
為有效防止各機器人相互之間的碰撞,需進一步規(guī)劃出多機器人協(xié)同避碰路徑,實現(xiàn)多機器人的協(xié)同作業(yè)。為實現(xiàn)此目標,需設(shè)定多機器人協(xié)同作業(yè)避碰規(guī)則[15],并以此規(guī)則得到最佳或者接近最佳的路徑組合,即多機器人最佳協(xié)同路徑,最終實現(xiàn)多機器人協(xié)同路徑規(guī)劃目標。
(12)
由此,根據(jù)式(2)可完成多機器人協(xié)同路徑規(guī)劃。
以某變電站的多個智能巡檢機器人為例,運用本文所提算法對此類機器人巡檢作業(yè)中的協(xié)同路徑實施規(guī)劃,通過規(guī)劃結(jié)果檢驗本文所提算法的實際應用性能。
從該變電站的智能巡檢機器人中抽選出2個尺寸規(guī)格相同的機器人A和B,在MATLAB 2017軟件環(huán)境下進行仿真實驗,實驗關(guān)鍵參數(shù)設(shè)定見表1。
表1 實驗關(guān)鍵參數(shù)設(shè)定
在上述實驗條件下,先通過本文所提算法創(chuàng)建2個實驗機器人協(xié)同作業(yè)環(huán)境的柵格模型(圖2)。
使用本文算法中的基礎(chǔ)粒子群算法預規(guī)劃出各機器人的最優(yōu)參考路徑。預規(guī)劃效果如圖3所示。
注:灰色柵格—機器人的初始點與目標點;灰色實線—機器人A的路徑;黑色虛線—機器人B的路徑。
以路徑預規(guī)劃結(jié)果為基礎(chǔ),繼續(xù)融合蟻群算法繼而獲得各機器人的全局最優(yōu)避障路徑,結(jié)果如圖4所示。
由圖3和圖4可知,預規(guī)劃最優(yōu)參考路徑與全局最優(yōu)避障路徑均能夠有效避開所有障礙柵格,但預規(guī)劃的2個機器人的最優(yōu)參考路徑的長度均高于融合蟻群算法規(guī)劃所得的路徑??梢?,本文所提算法規(guī)劃所得的最優(yōu)避障路徑更為理想。
由于運用本文所提算法所得的2個機器人全局最優(yōu)避障路徑存在重合碰撞路徑,所以依據(jù)作業(yè)避碰規(guī)則得到2個機器人的最終協(xié)同路徑規(guī)劃結(jié)果(圖5)。
由圖5可知,運用本文所提算法最終得到的2個機器人協(xié)同路徑中,通過令機器人A在黑色實線路徑上[坐標范圍為(14.5,13.5)~(16.5,13.5)]折返一次,可將2個機器人的重合碰撞路徑消除掉,同時未改變最優(yōu)路徑,從而實現(xiàn)了多機器人協(xié)同路徑規(guī)劃。
為進一步檢驗本文所提算法的綜合性能,對規(guī)劃過程中各階段的耗時進行統(tǒng)計,結(jié)果見表2。
表2 規(guī)劃過程中各階段耗時統(tǒng)計結(jié)果 單位:ms
由表2可知,本文所提算法對2個機器人路徑規(guī)劃的整體耗時結(jié)果相差不大,且平均耗時低于200 ms。
在多機器人共同作業(yè)情況下,科學合理的多機器人協(xié)同路徑是保障作業(yè)效率與效果的關(guān)鍵。本文以粒子群算法預規(guī)劃所得最優(yōu)參考路徑作為蟻群算法的信息素加強值,實現(xiàn)了多個機器人最優(yōu)全局避障路徑的規(guī)劃;在此基礎(chǔ)上,為避免協(xié)同作業(yè)時多個機器人之間產(chǎn)生的相互碰撞,引入作業(yè)避碰規(guī)則,消除了各機器人協(xié)同作業(yè)時的碰撞路徑,獲得了最終多機器人協(xié)同路徑。實驗仿真結(jié)果表明,本文所提算法規(guī)劃效率較高,能保障多機器人協(xié)同路徑規(guī)劃的時效性,綜合性能表現(xiàn)較好。