丁 浩, 楊茂舉, 李 巖
(1.長(zhǎng)春工業(yè)大學(xué) 電氣與電子工程學(xué)院, 吉林 長(zhǎng)春 130012;2.中國(guó)聯(lián)合網(wǎng)絡(luò)通信有限公司 長(zhǎng)春市分公司, 吉林 長(zhǎng)春 130000;3.一汽模具制造有限公司, 吉林 長(zhǎng)春 130011)
機(jī)械臂最初被用于工業(yè)制造,20世紀(jì)50年代末,機(jī)械臂得到了迅猛發(fā)展。由于要求具有高度的智能化和自動(dòng)化,因此,機(jī)械臂路徑規(guī)劃已成為近年來(lái)眾多學(xué)者的研究重點(diǎn)。關(guān)于最優(yōu)路徑規(guī)劃問(wèn)題,既是一個(gè)復(fù)雜組合,也是一個(gè)優(yōu)化問(wèn)題[1]。
針對(duì)優(yōu)化問(wèn)題,已經(jīng)提出了許多策略,如A*[2]、Dijkstra[3]、神經(jīng)網(wǎng)絡(luò)[4]等算法。Bakdi等[5]提出了一種基于遺傳算法和自適應(yīng)模糊邏輯控制的移動(dòng)機(jī)器人最優(yōu)路徑規(guī)劃與執(zhí)行;Rajagopal等[6]提出了一種基于神經(jīng)網(wǎng)絡(luò)的離線近似動(dòng)態(tài)規(guī)劃方法;為了確保避免車輛后端碰撞,并滿足頭部的速度和加速度約束;Shen等[7]提出了一種軌跡規(guī)劃算法來(lái)生成時(shí)間最優(yōu)速度曲線;趙曉等[8]將跳點(diǎn)搜索算法與A*算法結(jié)合,通過(guò)算法中的跳點(diǎn)進(jìn)行拓展,選取有用的跳點(diǎn),取代了原有的鄰節(jié)點(diǎn),從而提高尋路效率。
針對(duì)最短路徑的規(guī)劃問(wèn)題,Wang等[9-11]提出了一種用于解決最短路徑問(wèn)題的遞歸神經(jīng)網(wǎng)絡(luò);Araújo等[12]提出了一種求解最短路徑問(wèn)題的雙層遞歸神經(jīng)網(wǎng)絡(luò)的方法;為了解決最短路徑問(wèn)題,ZHANG等[13]提出了一種改進(jìn)的矩陣乘法方法;Sang等[14]首次提出了ZNN模型,處理非線性激活函數(shù)被納入網(wǎng)絡(luò)模型,并且對(duì)性能分析獲得了重大發(fā)展[15-16]。
文中闡述了一種求解高度非線性最優(yōu)路徑問(wèn)題的方案。針對(duì)二自由度機(jī)械臂,將張神經(jīng)網(wǎng)絡(luò)應(yīng)用到機(jī)械臂中,尋找到最短路徑。與此同時(shí),展開理論分析,以確保所提出的方法具有良好性能,并通過(guò)實(shí)際案例驗(yàn)證提出的方法具有可行性和有效性。
依據(jù)文獻(xiàn)[14]提出的張神經(jīng)網(wǎng)絡(luò),并考慮一類具有約束優(yōu)化問(wèn)題的目標(biāo)函數(shù),可以得出
(1)
令
Cij={cij}∈Rp×n,
d=(d1,d2,…,dp)T,
A={akj}∈Rm×n,
b=(b1,b2,…,bm)T,
由式(1)可以寫成
minf(x)=eTF(Cx-d),
s.t.Ax≤b。
(2)
激活函數(shù)
F(e)=e。
(3)
令式(2)中e=(1,1,…,1)T∈Rp,d=0,可以得出
mincTx,
s.t.Ax≤b,
(4)
式(2)通過(guò)構(gòu)造Lagrange函數(shù)得出
L(x,y,u)=f(x)+yT(Ax-b),
(5)
L(x*,y)≤L(x*,y*)≤L(x,y*)。
(6)
f(x*)+yT(Ax*-b)≤f(x*)+(y*)T(Ax*-b)≤
f(x)+(y*)T(Ax-b),
(7)
(y-y*)T(Ax*-b)≤0,
(8)
從式(7)右側(cè)可以得出
f(x*)+(y*)TAx*≤f(x)+(y*)TAx,
(9)
式中:x*----凸函數(shù)f(x)+(y*)TAx的最小點(diǎn),所以,x*滿足
0∈?f(x*)+ATy*,
(10)
通過(guò)式(9)和式(10)結(jié)合,得出
(11)
式中:λ----正常數(shù)。
為確保系統(tǒng)穩(wěn)定,令
y=Cx-d,
(12)
對(duì)式(12)求導(dǎo),
(13)
將式(12)代入式(11),得:
(14)
令Q=CCT,式(14)可寫成
(15)
考慮如下李雅普諾夫函數(shù)
(16)
對(duì)式(16)求導(dǎo)
將式(15)代入可得
(17)
其中,根據(jù)式(3)可得出
(18)
所以
(19)
令
(20)
得出
(21)
為了驗(yàn)證文中所提出算法的可行性,以二自由度機(jī)械臂為參考模型進(jìn)行仿真。參考模型如圖1所示。
在ZNN中,選取7個(gè)頂點(diǎn),參數(shù)λ=10-2,如圖2所示。
圖2所討論的是二自由度機(jī)械臂的路徑問(wèn)題,其中包括7個(gè)頂點(diǎn),頂點(diǎn)Node 1為目標(biāo)點(diǎn),圖中其他數(shù)字都是由系統(tǒng)隨機(jī)生成的參考點(diǎn)??梢钥闯觯瑱C(jī)械臂系統(tǒng)可以從任何頂點(diǎn)獲取到Node 1的最短路徑。其余圖為剩余參考點(diǎn)到頂點(diǎn)1的最短路徑圖。最短路徑由加粗曲線來(lái)標(biāo)注。可以很容易地驗(yàn)證,從頂點(diǎn)1到終止點(diǎn)3的最短路徑為1→5→3,如圖3所示。
選取相同初始條件的兩種神經(jīng)網(wǎng)絡(luò)控制算法進(jìn)行仿真實(shí)驗(yàn)。CNN作用下,其余點(diǎn)到Node 1的距離(需迭代上限150次),如圖4所示。
ZNN作用下的距離曲線如圖5所示。
由圖5可以看出,隨著迭代次數(shù)的增加,張神經(jīng)網(wǎng)絡(luò)獲取的各點(diǎn)距離均小于CNN各點(diǎn)距離。
圖4和圖5詳略圖分別如圖6~圖11所示。
從圖中可以看出,隨著迭代次數(shù)的增加,ZNN各節(jié)點(diǎn)距離均小于CNN各點(diǎn)距離。
機(jī)械臂移動(dòng)的最短路徑圖像如圖12所示。
將張神經(jīng)網(wǎng)絡(luò)運(yùn)用到機(jī)械臂的路徑規(guī)劃中,需要機(jī)械臂在圖中所示的迷宮圖中空心圓所代表位置移動(dòng)到最近的實(shí)心圓處,其中黑色所處位置設(shè)置障礙物,白色所處位置表示機(jī)械臂可到達(dá)的空間。另外,圖中還存在三個(gè)位置標(biāo)記為灰色圓圈,作為機(jī)械臂可選擇的點(diǎn)。
針對(duì)二自由度機(jī)械臂,提出了一種基于ZNN的最短路徑規(guī)劃方法。將張神經(jīng)網(wǎng)絡(luò)應(yīng)用到機(jī)械臂中,尋找到最短路徑。與此同時(shí),展開理論分析,以確保所提出的方法具有良好性能。最終對(duì)具有簡(jiǎn)單環(huán)境約束的機(jī)械臂進(jìn)行路徑規(guī)劃,并驗(yàn)證提出的方法的可行性和有效性。