本發(fā)明涉及冗余度機(jī)械臂控制領(lǐng)域,具體涉及一種基于變參收斂微分神經(jīng)網(wǎng)絡(luò)來(lái)解決冗余度機(jī)械臂關(guān)節(jié)角偏移問(wèn)題的方法。
背景技術(shù):
冗余度機(jī)械臂在完成末端執(zhí)行任務(wù)時(shí)具有比其所需自由度更多的自由度,這種更多的自由度可以提高機(jī)械臂的性能,如躲避障礙物和奇異點(diǎn)等。但是更多的自由度就意味著對(duì)應(yīng)一個(gè)末端執(zhí)行器位置點(diǎn),可以得到無(wú)窮個(gè)關(guān)節(jié)角度解。所以末端執(zhí)行器在完成一個(gè)閉合路徑任務(wù)時(shí),冗余度機(jī)械臂的關(guān)節(jié)角偏移問(wèn)題就很有可能會(huì)出現(xiàn)。如果關(guān)節(jié)角偏移問(wèn)題不能得以解決,就會(huì)影響到下個(gè)周期任務(wù)的精度,甚至?xí)箼C(jī)械臂的關(guān)節(jié)扭傷,影響生產(chǎn)過(guò)程,損害周圍設(shè)備并傷害工作人員。固然我們可以在每個(gè)周期任務(wù)完成時(shí)通過(guò)調(diào)節(jié)關(guān)節(jié)的運(yùn)動(dòng)來(lái)解決關(guān)節(jié)角偏移問(wèn)題,但是這種方法效率很低。
一種傳統(tǒng)的解決關(guān)節(jié)角偏移問(wèn)題的方法是基于偽逆的方法,但是這種方法并不能在任何關(guān)節(jié)狀態(tài)下都能解決問(wèn)題。為了解決冗余度機(jī)械臂的關(guān)節(jié)角偏移問(wèn)題,關(guān)節(jié)角無(wú)偏移規(guī)劃被提出,其主要思想是最小化關(guān)節(jié)角的末狀態(tài)和初狀態(tài)的差,接著將關(guān)節(jié)角無(wú)偏移規(guī)劃寫(xiě)成標(biāo)準(zhǔn)的二次規(guī)劃問(wèn)題,求解二次規(guī)劃問(wèn)題的方法有數(shù)值方法求解器和神經(jīng)網(wǎng)絡(luò)求解器,其中神經(jīng)網(wǎng)絡(luò)求解器在近年來(lái)更受歡迎。因?yàn)樯窠?jīng)網(wǎng)絡(luò)求解器具有并行計(jì)算能力和更好的效率。在目前的神經(jīng)動(dòng)力學(xué)方法中,設(shè)計(jì)參數(shù)都是固定的,而本發(fā)明的神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)參數(shù)是隨著時(shí)間變化的,具有更快的收斂速度,魯棒性更好,又因?yàn)樵O(shè)計(jì)方法基于微分理論,稱為變參收斂微分神經(jīng)網(wǎng)絡(luò)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)的不足,提供了一種快速求解冗余度機(jī)械臂關(guān)節(jié)角偏移問(wèn)題的方法。
本發(fā)明的目的可以通過(guò)如下技術(shù)方案實(shí)現(xiàn):
一種快速求解冗余度機(jī)械臂關(guān)節(jié)角偏移問(wèn)題的方法,所述方法包括以下步驟:
1)將冗余度機(jī)械臂關(guān)節(jié)角速度層的逆運(yùn)動(dòng)學(xué)問(wèn)題設(shè)計(jì)為考慮反饋的關(guān)節(jié)角無(wú)偏移規(guī)劃;
2)將步驟1)的關(guān)節(jié)角無(wú)偏移規(guī)劃寫(xiě)成一個(gè)標(biāo)準(zhǔn)的二次規(guī)劃;
3)將步驟2)中標(biāo)準(zhǔn)的二次規(guī)劃通過(guò)拉格朗日乘子法轉(zhuǎn)化為時(shí)變矩陣等式的求解問(wèn)題;
4)將步驟3)的時(shí)變矩陣等式用變參收斂微分神經(jīng)網(wǎng)絡(luò)來(lái)求解。
進(jìn)一步地,所述步驟1)的將冗余度機(jī)械臂關(guān)節(jié)角速度層的逆運(yùn)動(dòng)學(xué)問(wèn)題設(shè)計(jì)為考慮反饋的關(guān)節(jié)角無(wú)偏移規(guī)劃,即將冗余度機(jī)械臂關(guān)節(jié)角速度層無(wú)偏移性能指標(biāo)
進(jìn)一步地,所述步驟2)的將關(guān)節(jié)角無(wú)偏移規(guī)劃寫(xiě)成一個(gè)標(biāo)準(zhǔn)的二次規(guī)劃,即設(shè)計(jì)性能指標(biāo)為最小化(xt(t)w(t)x(t))/2+ct(t)x(t),受約束于j(θ)x(t)=b(t),其中
進(jìn)一步地,所述步驟3)將標(biāo)準(zhǔn)的二次規(guī)劃通過(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)化為時(shí)變矩陣等式a(t)y(t)=g(t)的求解問(wèn)題,其中λ(t)為拉格朗日因子,
進(jìn)一步地,所述步驟4)將時(shí)變矩陣等式用變參收斂微分神經(jīng)網(wǎng)絡(luò)來(lái)求解,即
本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn)和有益效果:
1、本發(fā)明通過(guò)微分方程理論,設(shè)計(jì)了帶有變參的負(fù)的時(shí)間倒數(shù)的神經(jīng)網(wǎng)絡(luò),具有超指數(shù)收斂性,使收斂速度大大增加。
2、本發(fā)明采用帶有變參的負(fù)的時(shí)間倒數(shù)的神經(jīng)網(wǎng)絡(luò)來(lái)求解關(guān)節(jié)角無(wú)偏移規(guī)劃,大幅提高了關(guān)節(jié)角無(wú)偏移精度,大幅減小了關(guān)節(jié)角偏移值。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例快速求解冗余度機(jī)械臂關(guān)節(jié)角偏移問(wèn)題方法的流程圖。
圖2為冗余度機(jī)械臂出現(xiàn)關(guān)節(jié)角偏移問(wèn)題的示意圖。
圖3為實(shí)現(xiàn)了本發(fā)明實(shí)施例的冗余度機(jī)械臂關(guān)節(jié)角無(wú)偏移規(guī)劃的示意圖。
具體實(shí)施方式
下面結(jié)合實(shí)施例及附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不限于此。
實(shí)施例:
本實(shí)施例提供了一種快速求解冗余度機(jī)械臂關(guān)節(jié)角偏移問(wèn)題的方法,流程圖如圖1所示,包括以下步驟:
1)將冗余度機(jī)械臂關(guān)節(jié)角速度層的逆運(yùn)動(dòng)學(xué)問(wèn)題設(shè)計(jì)為考慮反饋的關(guān)節(jié)角無(wú)偏移規(guī)劃;
2)將步驟1)的關(guān)節(jié)角無(wú)偏移規(guī)劃寫(xiě)成一個(gè)標(biāo)準(zhǔn)的二次規(guī)劃;
3)將步驟2)中標(biāo)準(zhǔn)的二次規(guī)劃通過(guò)拉格朗日乘子法轉(zhuǎn)化為時(shí)變矩陣等式的求解問(wèn)題;
4)將步驟3)的時(shí)變矩陣等式用變參收斂微分神經(jīng)網(wǎng)絡(luò)來(lái)求解。
圖2為機(jī)械臂出現(xiàn)關(guān)節(jié)角偏移問(wèn)題的示意圖,給定末端任務(wù)為一個(gè)閉合的桃心形曲線,由圖中可看出,當(dāng)機(jī)械臂完成閉合路徑的任務(wù)后,機(jī)械臂的末狀態(tài)和初始狀態(tài)不重合,出現(xiàn)了關(guān)節(jié)角偏移問(wèn)題。經(jīng)過(guò)本實(shí)施例的改進(jìn)后,實(shí)現(xiàn)了機(jī)械臂關(guān)節(jié)角的無(wú)偏移規(guī)劃,示意圖如圖3所示。
所述方法的具體過(guò)程如下:將冗余度機(jī)械臂關(guān)節(jié)角速度層的逆運(yùn)動(dòng)學(xué)問(wèn)題設(shè)計(jì)為考慮反饋的關(guān)節(jié)角無(wú)偏移規(guī)劃,即將冗余度機(jī)械臂關(guān)節(jié)角速度層無(wú)偏移性能指標(biāo)
將上述關(guān)節(jié)角無(wú)偏移規(guī)劃寫(xiě)成一個(gè)標(biāo)準(zhǔn)的二次規(guī)劃,即設(shè)計(jì)性能指標(biāo)為最小化(xt(t)w(t)x(t))/2+ct(t)x(t),受約束于j(θ)x(t)=b(t),其中
通過(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)為拉格朗日因子,拉格朗日函數(shù)分別對(duì)x(t)和λ(t)求偏導(dǎo)并令其等于零得:
寫(xiě)為一個(gè)時(shí)變矩陣等式:a(t)y(t)=g(t),其中:
定義矢量誤差函數(shù):ε(t)=a(t)y(t)-g(t),為了讓矢量誤差函數(shù)趨近于零,根據(jù)神經(jīng)動(dòng)力學(xué)的設(shè)計(jì)方法,需要矢量誤差函數(shù)有負(fù)的時(shí)間倒數(shù),則可以設(shè)計(jì)如下負(fù)的時(shí)間倒數(shù):(dε(t))/dt=-(γ+tγ)φ(ε(t)),其中:(γ+tγ)為變參收斂微分神經(jīng)網(wǎng)絡(luò)的收斂速度參數(shù),φ(·)為激活函數(shù)矢量,由確定數(shù)量的標(biāo)量的單調(diào)遞增的奇的激活函數(shù)子函數(shù)φ(·)組成,將矢量誤差函數(shù)代入設(shè)計(jì)的負(fù)的時(shí)間導(dǎo)數(shù)得到如下隱式動(dòng)力學(xué)方程:
以上所述,僅為本發(fā)明專利較佳的實(shí)施例,但本發(fā)明專利的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明專利所公開(kāi)的范圍內(nèi),根據(jù)本發(fā)明專利的技術(shù)方案及其發(fā)明專利構(gòu)思加以等同替換或改變,都屬于本發(fā)明專利的保護(hù)范圍。