本發(fā)明涉及冗余度機(jī)械臂控制領(lǐng)域,具體涉及一種基于有限時(shí)間變參收斂微分神經(jīng)網(wǎng)絡(luò)解決冗余度機(jī)械臂關(guān)節(jié)角偏移問題的方法。
背景技術(shù):
近年來,機(jī)器人在工業(yè)生產(chǎn)中越來越受歡迎,因?yàn)闄C(jī)器人可替代人類在惡劣環(huán)境中完成指定任務(wù),同時(shí)具有非常的效率。機(jī)械臂可分為冗余度機(jī)械臂和非冗余度機(jī)械臂兩種。冗余度機(jī)械臂因?yàn)榫哂懈嗟淖杂啥龋虼丝梢栽谕瓿赡┒酥魅蝿?wù)的同時(shí),實(shí)現(xiàn)一些附屬任務(wù),比如障礙物躲避和奇異點(diǎn)躲避等。但是更多的自由度會(huì)使機(jī)械臂的控制變得困難,計(jì)算量變大,算法變復(fù)雜。在實(shí)際工業(yè)生產(chǎn)應(yīng)用中,我們希望機(jī)械臂在完成一個(gè)周期的閉合路徑末端任務(wù)時(shí),各關(guān)節(jié)能回到原來的位置,即關(guān)節(jié)角無偏移。如果關(guān)節(jié)角有偏移,則會(huì)對(duì)下一周期末端任務(wù)的精度產(chǎn)生影響,嚴(yán)重的會(huì)對(duì)周圍的其他設(shè)備和人員造成損害??山鉀Q關(guān)節(jié)角偏移問題的方法有數(shù)值求解器和神經(jīng)網(wǎng)絡(luò)求解器。其中神經(jīng)網(wǎng)絡(luò)求解器由于有并行計(jì)算能力,便于在計(jì)算機(jī)中實(shí)現(xiàn),更受歡迎。傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)求解器中的設(shè)計(jì)參數(shù)是固定的,并且其激活函數(shù)為傳統(tǒng)的單調(diào)遞增的奇函數(shù),只有全局收斂性。而本發(fā)明的有限時(shí)間變參收斂微分神經(jīng)網(wǎng)絡(luò)求解器的設(shè)計(jì)參數(shù)是時(shí)變的,具有更快的收斂速度,同時(shí)因?yàn)榧せ詈瘮?shù)為可調(diào)激活函數(shù),在有限時(shí)間內(nèi)便可收斂至理論解。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)的不足,提供了一種基于有限時(shí)間變參收斂微分神經(jīng)網(wǎng)絡(luò)解決冗余度機(jī)械臂關(guān)節(jié)角偏移問題的方法。
本發(fā)明的目的可以通過如下技術(shù)方案實(shí)現(xiàn):
一種解決冗余度機(jī)械臂關(guān)節(jié)角偏移問題的方法,所述方法包括以下步驟:
1)將冗余度機(jī)械臂的逆運(yùn)動(dòng)學(xué)問題通過一階求導(dǎo)設(shè)計(jì)為關(guān)節(jié)角無偏移規(guī)劃;
2)將步驟1)的關(guān)節(jié)角無偏移規(guī)劃添加末端軌跡反饋控制;
3)將步驟2)添加了末端軌跡反饋控制的關(guān)節(jié)角無偏移規(guī)劃寫成標(biāo)準(zhǔn)的二次規(guī)劃方案;
4)將步驟3)的標(biāo)準(zhǔn)二次規(guī)劃方案通過構(gòu)造拉格朗日函數(shù)轉(zhuǎn)變?yōu)橐粋€(gè)時(shí)變矩陣等式的求解問題;
5)將步驟4)中時(shí)變矩陣等式的求解問題用有限時(shí)間變參收斂微分神經(jīng)網(wǎng)絡(luò)來求解。
所述步驟1)的具體過程為:對(duì)冗余度機(jī)械臂的正運(yùn)動(dòng)學(xué)方程r=f(θ)兩邊一階求導(dǎo),獲得機(jī)械臂關(guān)節(jié)角速度層的逆運(yùn)動(dòng)學(xué)方程
所述步驟2)的具體過程為:在冗余度機(jī)械臂關(guān)節(jié)角速度層無偏移性能指標(biāo)
所述步驟3)的具體過程為:設(shè)計(jì)性能指標(biāo)為最小化(xt(t)w(t)x(t))/2+ct(t)x(t),受約束于j(θ)x(t)=b(t),其中
所述步驟4)將標(biāo)準(zhǔn)的二次規(guī)劃方案通過拉格朗日乘子法l(x(t),λ(t),t)=(xt(t)w(t)x(t))/2+ct(t)x(t)+λt(t)(j(θ)x(t)-b(t))轉(zhuǎn)化為一個(gè)時(shí)變矩陣等式a(t)y(t)=g(t)的求解問題,其中λ(t)為拉格朗日因子,
所述步驟5)將時(shí)變矩陣等式的求解問題用有限時(shí)間變參收斂微分神經(jīng)網(wǎng)絡(luò)來求解,即
本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn)和有益效果:
1、本發(fā)明通過微分方程理論,設(shè)計(jì)了帶有變參的負(fù)的時(shí)間倒數(shù)的神經(jīng)網(wǎng)絡(luò),具有超指數(shù)收斂性,使收斂速度大大增加,同時(shí)利用可調(diào)激活函數(shù)加快了該神經(jīng)網(wǎng)絡(luò)在有限時(shí)間內(nèi)收斂至理論解,進(jìn)一步提高收斂速度,可迅速消除初始誤差。
2、本發(fā)明采用可調(diào)激活函數(shù)的帶有變參的神經(jīng)網(wǎng)絡(luò)來求解關(guān)節(jié)角無偏移規(guī)劃,大幅提高了關(guān)節(jié)角無偏移精度,大幅減小了關(guān)節(jié)角偏移值。
附圖說明
圖1為本發(fā)明實(shí)施例一種解決冗余度機(jī)械臂關(guān)節(jié)角偏移問題的方法流程圖。
圖2為冗余度機(jī)械臂寫完字回到原點(diǎn)時(shí)出現(xiàn)關(guān)節(jié)角偏移問題的示意圖。
圖3為實(shí)現(xiàn)本發(fā)明實(shí)施例的冗余度機(jī)械臂關(guān)節(jié)角無偏移規(guī)劃的示意圖。
具體實(shí)施方式
下面結(jié)合實(shí)施例及附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不限于此。
實(shí)施例:
本實(shí)施例提供了一種解決冗余度機(jī)械臂關(guān)節(jié)角偏移問題的方法,流程圖如圖1所示,包括以下步驟:
1)將冗余度機(jī)械臂的逆運(yùn)動(dòng)學(xué)問題通過一階求導(dǎo)設(shè)計(jì)為關(guān)節(jié)角無偏移規(guī)劃;
2)將步驟1)的關(guān)節(jié)角無偏移規(guī)劃添加末端軌跡反饋控制;
3)將步驟2)添加了末端軌跡反饋控制的關(guān)節(jié)角無偏移規(guī)劃寫成標(biāo)準(zhǔn)的二次規(guī)劃方案;
4)將步驟3)的標(biāo)準(zhǔn)二次規(guī)劃方案通過構(gòu)造拉格朗日函數(shù)轉(zhuǎn)變?yōu)橐粋€(gè)時(shí)變矩陣等式的求解問題;
5)將步驟4)中時(shí)變矩陣等式的求解問題用有限時(shí)間變參收斂微分神經(jīng)網(wǎng)絡(luò)來求解。
圖2為冗余度機(jī)械臂寫完字回到原點(diǎn)時(shí)出現(xiàn)關(guān)節(jié)角偏移問題的示意圖,給定末端任務(wù)為寫一個(gè)漢字“囧”,由圖中可看出,當(dāng)機(jī)械臂末端執(zhí)行器在寫完“囧”字回到原點(diǎn)時(shí),機(jī)械臂各個(gè)關(guān)節(jié)角的末狀態(tài)和初始狀態(tài)不重合,出現(xiàn)了關(guān)節(jié)角偏移問題。經(jīng)過本實(shí)施例的改進(jìn)后,實(shí)現(xiàn)了冗余度機(jī)械臂關(guān)節(jié)角的無偏移規(guī)劃,示意圖如圖3所示。
本實(shí)施例所述方法的具體過程如下:
首先對(duì)冗余度機(jī)械臂的正運(yùn)動(dòng)學(xué)方程r=f(θ)兩邊一階求導(dǎo),獲得機(jī)械臂關(guān)節(jié)角速度層的逆運(yùn)動(dòng)學(xué)方程
由于在實(shí)際應(yīng)用中模型誤差和由有限字長限制引起的舍入誤差的存在,引入末端軌跡反饋控制能非常有效地提高末端執(zhí)行器的精度,因此在冗余度機(jī)械臂關(guān)節(jié)角速度層無偏移性能指標(biāo)
為了便于對(duì)添加反饋控制的關(guān)節(jié)角無偏移規(guī)劃進(jìn)行求解,可將其改寫為標(biāo)準(zhǔn)的二次規(guī)劃,由于是在關(guān)節(jié)角速度層上進(jìn)行的規(guī)劃,因此可考慮用x(t)代替冗余度機(jī)械臂的關(guān)節(jié)角速度矢量
為求解二次規(guī)劃問題,可使用拉格朗日乘子法,首先構(gòu)造拉格朗日函數(shù):
l(x(t),λ(t),t)=(xt(t)w(t)x(t))/2+ct(t)x(t)+λt(t)(j(θ)x(t)-b(t))
其中λ(t)為拉格朗日因子,對(duì)上式求偏導(dǎo),并令偏導(dǎo)等于零,可得下列方程組:
上式可寫完下列時(shí)變矩陣等式a(t)y(t)=g(t),其中
直接求解用拉格朗日乘子法獲得的時(shí)變矩陣等式是非常困難和不實(shí)際的,因此我們需要找到間接的方法,一個(gè)矢量誤差函數(shù)可以定義如下:
ε(t)=a(t)y(t)-g(t)
如果上述矢量誤差函數(shù)可以趨近于零,則理論解便可以得到。根據(jù)神經(jīng)動(dòng)力學(xué)的設(shè)計(jì)方法,需要矢量誤差函數(shù)有負(fù)的時(shí)間導(dǎo)數(shù),則我們可以設(shè)計(jì)如下負(fù)的時(shí)間倒數(shù):
(dε(t))/dt=-(γ+tγ)φft(ε(t))
其中:(γ+tγ)用來設(shè)計(jì)ε(t)的收斂速度參數(shù),φft(·)為一種可調(diào)激活函數(shù)φft(x)=sign(x)(k1xr+k2x+k3x1/r),其中sign(x)為符號(hào)函數(shù),k1>0,k2>0,k3>0且0<r<1,該可調(diào)激活函數(shù)可使矢量誤差函數(shù)ε(t)在負(fù)的時(shí)間導(dǎo)數(shù)有限時(shí)間內(nèi)收斂至零,將矢量誤差函數(shù)ε(t)=a(t)y(t)-g(t)代入負(fù)的時(shí)間導(dǎo)數(shù)(dε(t))/dt=-(γ+tγ)φft(ε(t))中可以最終得到下列隱式動(dòng)力學(xué)方程:
其中(γ+tγ)為有限時(shí)間變參收斂微分神經(jīng)網(wǎng)絡(luò)的收斂速度參數(shù),由于此種設(shè)計(jì)方法是基于微分方程理論,并且設(shè)計(jì)參數(shù)(γ+tγ)是隨時(shí)間變化的,再加上可調(diào)激活函數(shù)φft(·)可使隱式動(dòng)力學(xué)方程在有限時(shí)間內(nèi)收斂至理論解,所以稱為有限時(shí)間變參收斂微分神經(jīng)網(wǎng)絡(luò)。
以上所述,僅為本發(fā)明專利較佳的實(shí)施例,但本發(fā)明專利的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明專利所公開的范圍內(nèi),根據(jù)本發(fā)明專利的技術(shù)方案及其發(fā)明專利構(gòu)思加以等同替換或改變,都屬于本發(fā)明專利的保護(hù)范圍。