孫明軒 吳雨芯 張 鈺
(浙江工業(yè)大學(xué)信息工程學(xué)院 杭州 310023)
矩陣求逆與矩陣方程求解是廣泛應(yīng)用于科學(xué)研究及工程等領(lǐng)域中的典型計(jì)算問題。Hopfield于20世紀(jì)80年代提出的遞歸神經(jīng)網(wǎng)絡(luò)是常用的求解方法[1,2]。遞歸神經(jīng)網(wǎng)絡(luò)計(jì)算具有并行計(jì)算的特點(diǎn),能夠高效、高精度地獲得計(jì)算結(jié)果。這種神經(jīng)網(wǎng)絡(luò)也被廣泛用于解決優(yōu)化問題。例如,文獻(xiàn)[3]將非線性規(guī)劃歸結(jié)為遞歸神經(jīng)網(wǎng)絡(luò)的穩(wěn)態(tài)解,文獻(xiàn)[4]設(shè)計(jì)動(dòng)態(tài)梯度系統(tǒng)求解優(yōu)化問題,文獻(xiàn)[5]采用對(duì)偶遞歸神網(wǎng)絡(luò)模型求解線性與二次規(guī)劃問題。為解決傳統(tǒng)遞歸神經(jīng)網(wǎng)絡(luò)在求解時(shí)變問題時(shí)的不足,文獻(xiàn)[6]提出一種漸近收斂遞歸神經(jīng)網(wǎng)絡(luò)模型(recurrent neural networks, RNN),將其用于求解時(shí)變線性矩陣方程,能夠保證其計(jì)算解指數(shù)地收斂于理論解。文獻(xiàn)[7]討論了這種RNN在離散實(shí)現(xiàn)時(shí)的計(jì)算性能, 并與牛頓迭代法進(jìn)行了比較,其與梯度法的比較結(jié)果見文獻(xiàn)[8]。文獻(xiàn)[9]將這種方法應(yīng)用于求解線性矩陣不等式,文獻(xiàn)[10] 在誤差方程中引入積分項(xiàng),以提高干擾影響下的計(jì)算精度。文獻(xiàn)[11]提出一種時(shí)變參數(shù)遞歸神經(jīng)網(wǎng)絡(luò),并將其應(yīng)用于時(shí)變Sylvester方程的在線求解。
與漸近穩(wěn)定系統(tǒng)不同,終態(tài)吸引系統(tǒng)是一類具有有限時(shí)間收斂特性的動(dòng)態(tài)系統(tǒng)[12]。采用漸近收斂網(wǎng)絡(luò)模型,求解過程收斂至精確解需無限長(zhǎng)的時(shí)間,因此有限時(shí)間收斂神經(jīng)網(wǎng)絡(luò)模型更適用于求解時(shí)變矩陣計(jì)算問題。將終態(tài)吸引系統(tǒng)理論用于遞歸神經(jīng)網(wǎng)絡(luò),可以在2個(gè)方面改善計(jì)算性能:一方面提高收斂速度,另一方面提高計(jì)算精度。文獻(xiàn)[13-15]提出的遞歸神經(jīng)網(wǎng)絡(luò)計(jì)算模型,計(jì)算過程能夠在有限時(shí)間內(nèi)收斂,給出了時(shí)變矩陣計(jì)算問題更為有效的解決方案。這種終態(tài)神經(jīng)網(wǎng)絡(luò)已應(yīng)用于求解線性矩陣方程[16]、Lyapunov方程[17]以及Sylvester方程[18,19]。
冗余機(jī)械臂是指末端執(zhí)行器在執(zhí)行給定任務(wù)時(shí)所具有自由度超出所需自由度的機(jī)械臂,超出的自由度可以使末端執(zhí)行器在完成給定任務(wù)的同時(shí)完成其他各項(xiàng)性能指標(biāo)。傳統(tǒng)的冗余度解析方法是基于偽逆的方法。但是基于偽逆方法得到的關(guān)節(jié)運(yùn)動(dòng)可能不具有可重復(fù)性[20,21]。文獻(xiàn)[22]通過修正運(yùn)動(dòng)指標(biāo),形成重復(fù)運(yùn)動(dòng)規(guī)劃(二次規(guī)劃), 進(jìn)一步通過拉格朗日乘子法將二次規(guī)劃轉(zhuǎn)換為矩陣求逆問題, 并以遞歸神經(jīng)網(wǎng)絡(luò)求解冗余度解析問題。近來,為了提高解算效率,基于終態(tài)神經(jīng)網(wǎng)絡(luò)求解運(yùn)動(dòng)規(guī)劃引起人們的關(guān)注[16-18]。從已發(fā)表的文獻(xiàn)可以看出,目前提出的終態(tài)網(wǎng)絡(luò)模型多具有無限值,不易于實(shí)現(xiàn)。
本文提出一類新穎的二次曲線型終態(tài)神經(jīng)網(wǎng)絡(luò),包括雙曲線型、橢圓型和拋物線型3種終態(tài)神經(jīng)網(wǎng)絡(luò),其典型特征是網(wǎng)絡(luò)各變量取值有限。文中詳細(xì)分析了這類網(wǎng)絡(luò)的有限時(shí)間收斂特性,并以雙曲線型終態(tài)神經(jīng)網(wǎng)絡(luò)為例,檢驗(yàn)其在時(shí)變矩陣計(jì)算與機(jī)器人軌跡規(guī)劃方面的有效性。首先將其應(yīng)用于一般時(shí)變線性矩陣方程的求解,它能夠在有限時(shí)間內(nèi)快速、準(zhǔn)確地收斂到理論解。對(duì)于冗余機(jī)械臂重復(fù)規(guī)劃問題,本文將重復(fù)運(yùn)動(dòng)指標(biāo)取為終態(tài)收斂性能指標(biāo),通過將其轉(zhuǎn)化為二次規(guī)劃問題,在初始位置偏移的情況下,利用雙曲線型終態(tài)神經(jīng)網(wǎng)絡(luò)進(jìn)行求解,從而實(shí)現(xiàn)冗余機(jī)器人有限時(shí)間收斂的重復(fù)運(yùn)動(dòng)規(guī)劃任務(wù)。
為了解決時(shí)變神經(jīng)計(jì)算問題,本節(jié)提出二次曲線型終態(tài)神經(jīng)網(wǎng)絡(luò),并分析這種終態(tài)神經(jīng)網(wǎng)絡(luò)的有限時(shí)間收斂性、確定收斂時(shí)間。
提出2種雙曲線型終態(tài)神經(jīng)網(wǎng)絡(luò),用于時(shí)變問題求解。
雙曲線型終態(tài)神經(jīng)網(wǎng)絡(luò)1的誤差動(dòng)態(tài)方程如下:
(1)
F1(Eij(t),a,b)=
其中,Eij(t)為誤差變量,ε>0為用于調(diào)整收斂速度的常值;δ、b>0 分別表示雙曲線半實(shí)軸與半虛軸長(zhǎng)度。
定理1由式(1)描述的雙曲線型終態(tài)神經(jīng)網(wǎng)絡(luò)1全局有限時(shí)間收斂,其收斂時(shí)間為
T=
(2)
證明針對(duì)誤差動(dòng)態(tài)方程式(1),分2種情形討論。
(Eij(t)+a)2=Y2+a2
(3)
對(duì)其兩端關(guān)于時(shí)間t求導(dǎo):
(4)
這時(shí),式(1)化簡(jiǎn)為
(5)
將式(3)與式(5)代入式(4),得:
(6)
定義Y=atanZ,代入式(6)可得:
(7)
求取Eij(t)由Eij(0)收斂到Eij(t)=0的時(shí)間:
解出T得:
(2) 當(dāng)Eij(t)≤0時(shí),同理可得:
雙曲線型終態(tài)神經(jīng)網(wǎng)絡(luò)2的誤差動(dòng)態(tài)方程為
(8)
F2(Eij(t),σ)=
當(dāng)σ取不同值時(shí),函數(shù)F2(Eij(t),σ)的變化情形如圖1所示??梢钥闯?,調(diào)整參數(shù)σ會(huì)改變?cè)摵瘮?shù)在原點(diǎn)附近的斜率;當(dāng)時(shí)間趨于0時(shí),該函數(shù)導(dǎo)數(shù)趨于無窮大,從而使得網(wǎng)絡(luò)有限時(shí)間收斂。
圖1 函數(shù)F2(Eij(t),σ)
定理2由式(8)所描述的雙曲線型神經(jīng)網(wǎng)絡(luò)2全局有限時(shí)間收斂,其有限時(shí)間收斂性分2種情形。
(1) 當(dāng)|Eij(t)|<σ時(shí),誤差Eij(t)從Eij(0)收斂到原點(diǎn)所需時(shí)間為
T=
(9)
(2) 當(dāng)|Eij(t)|≥σ時(shí),該網(wǎng)絡(luò)收斂時(shí)間為
(10)
證明針對(duì)誤差方程式(8),下面分4種情形分別討論。
(1) 當(dāng)0≤Eij(t)<δ時(shí),類似定理1的證明,求得的收斂時(shí)間為
(2) 當(dāng)-δ (3) 當(dāng)Eij(t)≥δ時(shí),首先考慮誤差從Eij(0)收斂到σ所需的時(shí)間T1,有: 解出T1為 誤差由Eij(t)=σ收斂到Eij(t)=0所需時(shí)間滿足 解得 因此,當(dāng)Eij(t)≥σ時(shí),Eij(t)從Eij(0)收斂到0所需時(shí)間T為 以上提出的是雙曲線型網(wǎng)絡(luò),除此以外,二次曲線型終態(tài)網(wǎng)絡(luò)還有2種形式,即拋物線型與橢圓型終態(tài)網(wǎng)絡(luò)。 拋物線型終態(tài)神經(jīng)網(wǎng)絡(luò)的誤差動(dòng)態(tài)方程如下: (11) F(Eij(t),σ)= 定理3由式(11)描述的拋物線型終態(tài)神經(jīng)網(wǎng)絡(luò)全局有限時(shí)間收斂,其有限時(shí)間收斂性分以下2種情形。 (1) 當(dāng)|Eij(t)|<σ時(shí),誤差Eij(t)從初始誤差Eij(0)收斂到Eij(t)=0所需時(shí)間為 (12) (2) 當(dāng)|Eij(t)|≥σ時(shí),該神經(jīng)網(wǎng)絡(luò)的收斂時(shí)間為 (13) 證明依據(jù)誤差動(dòng)態(tài)方程式(1),分4種情況分別討論。 (1) 當(dāng)0≤Eij(t)<σ時(shí), 由式(11)可知: (14) 對(duì)式(14)兩端積分: 誤差Eij(t)由Eij(0)收斂至原點(diǎn)所需時(shí)間為 (2) 當(dāng)-σ 因此,當(dāng)|Eij(t)|<σ時(shí),收斂時(shí)間如式(12)所示。 因此, 這樣,從初始誤差Eij(0)收斂到原點(diǎn)的時(shí)間為 (4) 當(dāng)Eij(t)≤-σ時(shí),與情形(3)推導(dǎo)類似, 故當(dāng)|Eij(t)|≥σ時(shí),收斂時(shí)間如式(13)所示。 橢圓型終態(tài)神經(jīng)網(wǎng)絡(luò)的誤差動(dòng)態(tài)方程如下: (15) F(Eij(t),σ)= 定理4由式 (15) 描述的橢圓型終態(tài)神經(jīng)網(wǎng)絡(luò)全局有限時(shí)間收斂,其有限時(shí)間收斂性分以下2種情形。 (1) 當(dāng)|Eij(t)|<σ時(shí),該網(wǎng)絡(luò)從初始誤差Eij(0)收斂到Eij(t)=0所需時(shí)間為 (16) (2) 當(dāng)|Eij(t)|≥σ時(shí),該網(wǎng)絡(luò)的收斂時(shí)間為 (17) 證明依據(jù)誤差動(dòng)態(tài)方程式(15), 分4種情形分別討論。 Y2+(Eij(t)-a)2=a2 (18) 對(duì)式(18)兩端關(guān)于時(shí)間求導(dǎo): (19) (20) 對(duì)式(20)兩端積分, 有: 可求得誤差Eij(t)由Eij(0)收斂到原點(diǎn)的時(shí)間T滿足: (2) 當(dāng)-σ 故當(dāng)|Eij(t)|<σ時(shí), 收斂時(shí)間如式(16)所示。 誤差從Eij(t)=σ收斂到0所需的時(shí)間T2滿足: 解得, 這樣,誤差從初始誤差Eij(0)收斂到Eij(t)=0所需的時(shí)間為 (4) 當(dāng)Eij(t)≤-σ時(shí),同理可得: 故當(dāng)|Eij(t)|≥σ時(shí), 收斂時(shí)間如式(17)所示。 考慮下述一般時(shí)變線性矩陣方程: (21) 其中,Ak(t)∈Rn×n,Bk(t)∈Rm×m,C(t)∈Rn×m為時(shí)變系數(shù)矩陣,X(t)∈Rn×m為待求解未知時(shí)變矩陣。 本文的計(jì)算目的是以雙曲線型終態(tài)神經(jīng)網(wǎng)絡(luò)求解未知時(shí)變矩陣X(t),在有限時(shí)間收斂后,獲得時(shí)變矩陣的解。為此目的,依據(jù)式 (21),定義矩陣值誤差函數(shù)為 (22) 對(duì)式 (22) 左右兩邊同時(shí)求導(dǎo),可得到: (23) (24) 為了驗(yàn)證所提出的雙曲線型終態(tài)神經(jīng)網(wǎng)絡(luò)在計(jì)算時(shí)變線性矩陣方程式(21)方面的有效性,本文設(shè)置時(shí)變線性矩陣方程式(21)不同的系數(shù)矩陣,給出具體形式的時(shí)變矩陣方程,包括時(shí)變Lyapunov方程和時(shí)變Sylvester方程。分別給出將雙曲線型終態(tài)神經(jīng)網(wǎng)絡(luò)用于求解這2類時(shí)變矩陣方程的計(jì)算結(jié)果,并與遞歸神經(jīng)網(wǎng)絡(luò)對(duì)于同一算例的結(jié)果進(jìn)行比較,以驗(yàn)證所提出的雙曲線型終態(tài)神經(jīng)網(wǎng)絡(luò)的收斂性能。 (25) 定義矩陣值誤差函數(shù)為 (26) 對(duì)式 (26) 左右兩邊同時(shí)求導(dǎo): (27) 將式(27)代入網(wǎng)絡(luò)誤差動(dòng)態(tài)方程式(1)和式(8),可得如下終態(tài)神經(jīng)網(wǎng)絡(luò)模型。 例1利用雙曲線型終態(tài)網(wǎng)絡(luò)模型式(28)求解時(shí)變Lyapunov方程式(25),其中時(shí)變矩陣為 (29) (30) 圖2 時(shí)變Lyapunov方程的求解結(jié)果 圖3 時(shí)變Lyapunov方程計(jì)算誤差軌跡 圖4 時(shí)變Lyapunov方程計(jì)算誤差對(duì)比 在時(shí)變線性矩陣方程式(21)中,置k=2,m=n,B1(t)=A2(t)=I,該方程簡(jiǎn)化為下述時(shí)變Sylvester方程: A1(t)X(t)+X(t)B2(t)=C(t) (31) 定義矩陣值誤差函數(shù)為 E(t)=A1(t)X(t)+X(t)B2(t)-C(t) (32) 對(duì)式(32)左右兩邊同時(shí)求導(dǎo),可得: (33) 將式(33)代入網(wǎng)絡(luò)誤差動(dòng)態(tài)方程式(1)和式(8),可得雙曲線型終態(tài)神經(jīng)網(wǎng)絡(luò)模型。 例2利用雙曲線型終態(tài)網(wǎng)絡(luò)模型式(34)求解時(shí)變Sylvester方程式(31),其中時(shí)變矩陣為 (35) (36) (37) 圖5和圖6給出了雙曲線型終態(tài)網(wǎng)絡(luò)的求解結(jié)果及計(jì)算誤差。當(dāng)所有解元素的誤差小于5×10-3時(shí),基于雙曲線型終態(tài)網(wǎng)絡(luò)1求解所需時(shí)間t=0.699 s;基于雙曲線型終態(tài)網(wǎng)絡(luò)2求解所需時(shí)間t=0.837 s。當(dāng)T∈[9,10]范圍內(nèi),基于雙曲線型終態(tài)網(wǎng)絡(luò)求解得到的誤差波動(dòng)范圍為[-5×10-3, 5×10-3]。圖7為分段邊界σ取不同值時(shí),利用雙曲線型終態(tài)網(wǎng)絡(luò)2求解時(shí)誤差的F范數(shù),可以看出,隨著σ的減小,X(t)收斂到理論解X*(t)的速度加快。 上述算例表明,所提出的雙曲線型終態(tài)網(wǎng)絡(luò)對(duì)于解決一般時(shí)變線性矩陣問題是有效的。相比于具有漸近收斂動(dòng)態(tài)特性的遞歸網(wǎng)絡(luò),雙曲線型終態(tài)網(wǎng)絡(luò)具有有限時(shí)間收斂性、收斂速度快、計(jì)算精度高的特點(diǎn)。 圖5 雙曲線型終態(tài)網(wǎng)絡(luò)1求解結(jié)果及計(jì)算誤差 圖6 雙曲線型終態(tài)網(wǎng)絡(luò)2求解結(jié)果及計(jì)算誤差 圖7 雙曲線型終態(tài)神經(jīng)網(wǎng)絡(luò)2求解誤差范數(shù) 本節(jié)將雙曲線型終態(tài)網(wǎng)絡(luò)應(yīng)用于求解冗余機(jī)械臂重復(fù)運(yùn)動(dòng)規(guī)劃,并以PA10機(jī)械臂為例驗(yàn)證所提出終態(tài)網(wǎng)絡(luò)的適用性。 考慮n自由度機(jī)械臂的關(guān)節(jié)角度和末端執(zhí)行器位移關(guān)系 r(t)=f(θ(t)) (38) 其中,r(t)表示末端執(zhí)行器在笛卡爾坐標(biāo)系下的位姿變量,θ(t)表示關(guān)節(jié)角。末端笛卡爾空間和關(guān)節(jié)空間的各變量微分之間的關(guān)系為 (39) 為了執(zhí)行重復(fù)運(yùn)動(dòng)任務(wù),可引入重復(fù)運(yùn)動(dòng)指標(biāo)作為優(yōu)化準(zhǔn)則,將冗余機(jī)械臂運(yùn)動(dòng)規(guī)劃描述為相應(yīng)的二次規(guī)劃問題,通過求解該優(yōu)化問題形成重復(fù)運(yùn)動(dòng)規(guī)劃方案。與文獻(xiàn)[18]不同的是,本文將重復(fù)運(yùn)動(dòng)指標(biāo)設(shè)計(jì)為終態(tài)收斂性能指標(biāo),其具體形式如下: (40) 其中, g(θ)= sgn(θ(t)-θd(0)) (41) 定義拉格朗日函數(shù)如下: -βr(rd-f(θ))) (42) W(t)Y(t)=V(t) (43) 其中, 為求解由式(41)所示的二次規(guī)劃問題,定義誤差: E(t)=W(t)Y(t)-V(t) (44) 將式(44)代入誤差動(dòng)態(tài)方程,可得終態(tài)神經(jīng)網(wǎng)絡(luò)模型。 (45) 據(jù)此模型完成求解過程,便可得到機(jī)械臂各個(gè)關(guān)節(jié)角軌跡。 圖8分別給出了求解獲得的 PA10 末端執(zhí)行器在空間中的運(yùn)動(dòng)軌跡及各個(gè)關(guān)節(jié)運(yùn)動(dòng)軌跡。可以看出,末端執(zhí)行器的初始位置不在期望軌跡上,但各個(gè)關(guān)節(jié)的軌跡在運(yùn)行一個(gè)周期后是閉合的,實(shí)現(xiàn)了重復(fù)運(yùn)動(dòng)控制。為了說明該終態(tài)網(wǎng)絡(luò)在重復(fù)運(yùn)動(dòng)規(guī)劃中的有效性,機(jī)械臂末端執(zhí)行器完成圓軌跡過程中相應(yīng)的關(guān)節(jié)角和關(guān)節(jié)角速度軌跡如圖 9 所示。機(jī)械臂各關(guān)節(jié)角最終收斂于期望關(guān)節(jié)角位置,關(guān)節(jié)角速度收斂于0 ,機(jī)械臂運(yùn)動(dòng)停止。末端執(zhí)行器各個(gè)位置誤差如圖10所示,隨著時(shí)間增加(T=10 s),末端執(zhí)行器的終值位置誤差精度在XYZ軸3個(gè)方向上達(dá)到4×10-6,實(shí)際軌跡與期望軌跡吻合,從而實(shí)現(xiàn)由初始位置收斂于期望軌跡。 圖8 PA10末端執(zhí)行器運(yùn)動(dòng)軌跡及各關(guān)節(jié)運(yùn)動(dòng)軌跡 圖9 PA10關(guān)節(jié)角及關(guān)節(jié)角速度軌跡 另外,表1 給出了當(dāng)軌跡規(guī)劃完成時(shí)的雙曲線型終態(tài)網(wǎng)絡(luò)及漸近收斂網(wǎng)絡(luò)各關(guān)節(jié)角實(shí)際回?cái)n角度與其期望角度之間的偏差對(duì)比,其中,取參數(shù)ε=2。 本文提出一種新的二次曲線型終態(tài)神經(jīng)網(wǎng)絡(luò)并證明其有限時(shí)間收斂性。以雙曲線型終態(tài)神經(jīng)網(wǎng)絡(luò)為例,將其用于一般時(shí)變線性矩陣方程的求解,使時(shí)變線性矩陣方程解能夠快速地在有限時(shí)間內(nèi)收斂到其理論解。將雙曲線型終態(tài)神經(jīng)網(wǎng)絡(luò)應(yīng)用于冗余機(jī)械臂重復(fù)運(yùn)動(dòng)規(guī)劃,并將重復(fù)運(yùn)動(dòng)指標(biāo)設(shè)計(jì)為終態(tài)收斂性能指標(biāo),在初始位置偏移的情況下,實(shí)現(xiàn)冗余機(jī)械臂快速有限時(shí)間內(nèi)收斂的重復(fù)運(yùn)動(dòng)規(guī)劃任務(wù),進(jìn)一步說明了雙曲線型終態(tài)神經(jīng)網(wǎng)絡(luò)的適用性。 圖10 末端執(zhí)行器各位置誤差 表1 各關(guān)節(jié)角實(shí)際回?cái)n角度與期望角度偏差1.2 拋物線型終態(tài)神經(jīng)網(wǎng)絡(luò)
1.3 橢圓型終態(tài)神經(jīng)網(wǎng)絡(luò)
2 時(shí)變線性矩陣方程求解
2.1 時(shí)變Lyapunov方程
2.2 時(shí)變Sylvester方程
3 冗余機(jī)械臂重復(fù)運(yùn)動(dòng)規(guī)劃
4 結(jié) 論