張博
(寶雞文理學(xué)院陜西寶雞721016)
通常情況下,工業(yè)機(jī)器人的自由度為6個(gè),實(shí)踐經(jīng)驗(yàn)發(fā)現(xiàn)自由度的增加可以使工業(yè)機(jī)器人的性能得到顯著改善,比如可以實(shí)現(xiàn)避障、靈活度增加以及機(jī)械臂性能的改善等,在帶來(lái)便利性的同時(shí),也增加了運(yùn)動(dòng)學(xué)逆解[1-3]。關(guān)于這項(xiàng)問(wèn)題的研究也是一項(xiàng)重要的內(nèi)容,主要是通過(guò)求解復(fù)雜過(guò)程辨別矩陣違逆[4]。如果是采用傳統(tǒng)的方法無(wú)法滿足實(shí)時(shí)控制冗余機(jī)械臂的要求[5-6]。人工神經(jīng)功能對(duì)于非線性系統(tǒng)的逼近能力十分強(qiáng)大,以神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的相關(guān)方法也已經(jīng)被成功引入到了冗余機(jī)械臂的實(shí)際求解過(guò)程中[7]。
為了使機(jī)械臂的應(yīng)用方便性以及控制精度等得到強(qiáng)化與提升,本次所采用的王法為RBF神經(jīng)網(wǎng)絡(luò),然后再借助于遺傳算法來(lái)完成運(yùn)動(dòng)學(xué)逆解,最終對(duì)設(shè)計(jì)的內(nèi)容開(kāi)展相應(yīng)的仿真實(shí)驗(yàn),驗(yàn)證其應(yīng)用效果。
本次研究所采用的建模方法為D-H模型,這種模型對(duì)于機(jī)器人的關(guān)節(jié)和連桿建模都十分方便,對(duì)于機(jī)器人中的兩個(gè)相鄰連桿坐標(biāo)系的空間位姿關(guān)系采用齊次變換矩陣展開(kāi)相應(yīng)的描述。本次研究主要是對(duì)于冗余機(jī)械臂展開(kāi)研究,所以也可以采用D-H建模方法。根據(jù)該模型的建模規(guī)則,所建立的機(jī)械臂坐標(biāo)系如圖1所示。
圖1 機(jī)械臂坐標(biāo)系示意圖
圖1為機(jī)械臂所建立的坐標(biāo)系,從坐標(biāo)系可以得到相關(guān)的模型參數(shù)表:
表1 模型具體參數(shù)
正運(yùn)動(dòng)學(xué)所有的方程當(dāng)中共包含12個(gè),其中一半的方程屬于獨(dú)立方程[8]。在機(jī)械臂采用證運(yùn)動(dòng)學(xué)方程進(jìn)行解算的過(guò)程中,因?yàn)槭艿饺哂嘧杂啥鹊挠绊?,?huì)導(dǎo)致出現(xiàn)無(wú)窮多的運(yùn)動(dòng)學(xué)逆解,想要使這么多的逆解當(dāng)中獲取唯一的一個(gè)逆解,就必須要再額外的附加其他的條件,最終得到最優(yōu)解[9-10]。本次研究當(dāng)中采用了最佳柔順性的相關(guān)規(guī)則,這種規(guī)則應(yīng)用的前提是加權(quán)最小二乘法。需要對(duì)方程的條件增加約束條件,通過(guò)約束條件的添加,可以得到最優(yōu)的逆解。關(guān)于本規(guī)則的表達(dá)式如下:
在以上公式當(dāng)中,關(guān)節(jié)i自身所處位置的關(guān)節(jié)角與前一個(gè)位置關(guān)節(jié)角之間的差距之間的差值得到明確表示。在選擇加權(quán)系數(shù)的過(guò)程中應(yīng)當(dāng)按照以下相關(guān)原則,即:下臂多運(yùn)動(dòng),上臂少運(yùn)動(dòng)。之所以遵循這樣的原則,主要是因?yàn)榛谶@樣的原則所設(shè)計(jì)出的內(nèi)容所具備的優(yōu)勢(shì)比較多,因?yàn)橄卤弁ǔG闆r下會(huì)比上臂更輕一些,這樣就能夠?qū)崿F(xiàn)能源的節(jié)約,同時(shí)也會(huì)讓整個(gè)運(yùn)動(dòng)過(guò)程變得更加的平穩(wěn),使運(yùn)轉(zhuǎn)的效率得到相應(yīng)的提升[11]。
在問(wèn)題優(yōu)化的過(guò)程中需要設(shè)置相應(yīng)的約束條件,而在本次設(shè)計(jì)研究過(guò)程中在設(shè)置了相應(yīng)的約束條件之后,所得到的經(jīng)過(guò)優(yōu)化以后的問(wèn)題可以進(jìn)行以下表示:
1)編碼過(guò)程
FGA是直接描述連續(xù)關(guān)節(jié)角的一種算法,而且在具體描述的過(guò)程中不需要進(jìn)行相應(yīng)的編碼和解碼過(guò)程[12]。與傳統(tǒng)的遺傳算法相比較而言,F(xiàn)GA的優(yōu)勢(shì)明顯更多。比如:速度與準(zhǔn)確度會(huì)更高,可以在大范圍之內(nèi)進(jìn)行搜索。同時(shí)因?yàn)椴恍枰獯a與編碼,所以可以減少這兩個(gè)環(huán)節(jié)過(guò)程中所發(fā)生的困難,與其他相關(guān)技術(shù)的融合性更高。
2)補(bǔ)償函數(shù)
本次研究所使用的補(bǔ)償函數(shù),具體表達(dá)結(jié)果如下所示:
在以上所列出的公式當(dāng)中,在多數(shù)條件下約束條件主要為:a=2,β=2,C=0.5。另外,遺傳代數(shù)是一個(gè)不斷增大的過(guò)程,因此補(bǔ)償壓力整體上也會(huì)呈現(xiàn)出明顯的增加趨勢(shì)[13-14]。最終所得到的函數(shù)如下所示:
3)具體操作
本次研究過(guò)程中競(jìng)爭(zhēng)性選擇算子是實(shí)現(xiàn)選擇的重要過(guò)程。算數(shù)交叉算子則是實(shí)現(xiàn)交叉的重要環(huán)節(jié)[15]。本次在方程設(shè)置過(guò)程中將變異定義為自適應(yīng)變異,概率值具體設(shè)定的數(shù)量為0.08,而交叉概率所設(shè)置的值則是0.25。
4)仿真圖
當(dāng)所擁有的參數(shù)達(dá)到了比較完整的預(yù)期位姿之后,可以借助遺傳算法來(lái)進(jìn)行關(guān)節(jié)參數(shù)的求解,再借助于正運(yùn)動(dòng)學(xué)方程,這樣就可以得到機(jī)械臂的具體位姿情況。接著,通過(guò)仿真圖來(lái)觀察預(yù)期點(diǎn)與機(jī)械臂末端可以達(dá)到的距離。研究人員也可以通過(guò)仿真圖來(lái)對(duì)所得到的運(yùn)動(dòng)學(xué)正解優(yōu)良性進(jìn)行判斷[16]。
神經(jīng)網(wǎng)絡(luò)必須要具備好的性能,但是想要確保其性能足夠好就必須要接受相應(yīng)的網(wǎng)絡(luò)訓(xùn)練。對(duì)于冗余機(jī)械臂而言,因?yàn)槟娼獾臄?shù)量是無(wú)窮的,因此想要獲得可以符合實(shí)際需求的逆解還需要進(jìn)行一定的條件限制,這樣才可以將最終得到的逆解作為真正的訓(xùn)練樣本。
本次研究過(guò)程中在使用遺傳算法的過(guò)程中同時(shí)也結(jié)合了比較先進(jìn)的準(zhǔn)則,即最佳柔順性原則。
本次通過(guò)計(jì)算得到了相應(yīng)的訓(xùn)練樣本,樣本數(shù)量共計(jì)400組,然后再對(duì)RBF神經(jīng)網(wǎng)絡(luò)開(kāi)展專門(mén)的訓(xùn)練過(guò)程,最終讓網(wǎng)絡(luò)可以達(dá)到更加穩(wěn)定的狀態(tài),之后就可以開(kāi)展仿真與實(shí)驗(yàn)的具體驗(yàn)證了。
本次所設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)為RBF神經(jīng)網(wǎng)絡(luò)。該非樣本末端位姿點(diǎn)可以使用P1來(lái)進(jìn)行表示。
運(yùn)動(dòng)學(xué)逆解值的得到還需要借助于遺傳算法來(lái)開(kāi)展專門(mén)的計(jì)算,通過(guò)遺傳算法的應(yīng)用,本次所得到的逆解值為:
在得到了運(yùn)動(dòng)學(xué)逆解值之后需要讓其與本次研究所設(shè)計(jì)的RBF神經(jīng)網(wǎng)絡(luò)相互結(jié)合,這樣就可以得到位姿運(yùn)動(dòng)逆解值,具體結(jié)果如下:
通過(guò)對(duì)實(shí)驗(yàn)所得到的數(shù)據(jù)比較結(jié)果來(lái)看,各個(gè)數(shù)值之間的差異并不是很大,所以誤差也都在可控范圍之內(nèi),而位姿的誤差則更小,只有0.1 mm。筆者為了使本次研究所得到的結(jié)果及算法有效性得到進(jìn)一步的驗(yàn)證,專門(mén)設(shè)計(jì)了空間直線軌跡,圖2為位姿仿真示意圖:
圖2 位姿仿真示意圖
在研究的過(guò)程中選擇50個(gè)不同的位姿參數(shù),然后再通過(guò)本次設(shè)計(jì)的RBF神經(jīng)網(wǎng)絡(luò)得到不同位姿參數(shù)的逆解值,再將求得的逆解值直接帶入到運(yùn)動(dòng)學(xué)方程當(dāng)中。圖2當(dāng)中我們可以發(fā)現(xiàn)直線和空間位置點(diǎn)之間的重合程度比較好,這也說(shuō)明了本次研究設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)具備一定的效果。
本次所設(shè)計(jì)的機(jī)械臂是在傳統(tǒng)6自由度基礎(chǔ)上進(jìn)一步優(yōu)化升級(jí)的7自由度機(jī)械臂,為了驗(yàn)證設(shè)計(jì)出的機(jī)械臂實(shí)際性能需要開(kāi)展相應(yīng)的仿真實(shí)驗(yàn)進(jìn)行驗(yàn)證。
圖1當(dāng)中的機(jī)械臂主要構(gòu)造就是設(shè)計(jì)成品的簡(jiǎn)易圖。該機(jī)械臂的控制系統(tǒng)所采用的控制模式為運(yùn)動(dòng)控制卡與IPC控制相結(jié)合的方式。
運(yùn)動(dòng)控制卡主要是向用戶提供和調(diào)用DDA指令,DDA制定的工作周期具體為1 ms。如果用戶可以將自己已經(jīng)提前規(guī)劃好的軸差補(bǔ)點(diǎn)關(guān)節(jié)角直接輸入到緩沖區(qū)當(dāng)中時(shí),控制卡就會(huì)自動(dòng)發(fā)出相應(yīng)的指令。緩沖區(qū)的容量足以容納1 000條指令。7個(gè)機(jī)械臂旋轉(zhuǎn)關(guān)節(jié)的軸聯(lián)動(dòng)正是借助于這種方式來(lái)實(shí)現(xiàn)的。
本次所設(shè)計(jì)的七自由度機(jī)械臂主要是在焊接作業(yè)當(dāng)中進(jìn)行使用。在焊接工作當(dāng)中,圓弧、直線等都是十分常見(jiàn)的焊接軌跡。所以本次研究所設(shè)計(jì)的運(yùn)動(dòng)軌跡也是圓弧形的。但是圓弧形焊接軌跡在具體的焊接過(guò)程中是怎樣實(shí)現(xiàn)呢?這需要在設(shè)計(jì)的過(guò)程中需要對(duì)3個(gè)焊接末端位姿點(diǎn)進(jìn)行示教,首先需要對(duì)3個(gè)位姿點(diǎn)的數(shù)值給出,然后再設(shè)計(jì)具體的軌跡規(guī)劃。
本次對(duì)規(guī)劃好的軌跡設(shè)計(jì)達(dá)到的方法主要為:
1)焊槍末端位姿點(diǎn)需要在笛卡爾空間當(dāng)中給予專門(mén)的插補(bǔ),這樣就可以得到中間點(diǎn)位姿。
2)然后再借助于RBF神經(jīng)網(wǎng)絡(luò)來(lái)得到插補(bǔ)點(diǎn)的逆解值和各軸的關(guān)節(jié)點(diǎn)數(shù)值。
3)通過(guò)對(duì)DDA指令的調(diào)用,然后將插補(bǔ)點(diǎn)所對(duì)應(yīng)的軸關(guān)節(jié)角數(shù)據(jù)直接送到DDA緩沖區(qū)當(dāng)中。通過(guò)以上流程的完成就可以讓圓弧運(yùn)動(dòng)軌跡得到實(shí)現(xiàn),最終也可以達(dá)到理想的焊接目標(biāo)。
為了突出本次設(shè)計(jì)的七自由度機(jī)械臂優(yōu)勢(shì),在仿真實(shí)驗(yàn)開(kāi)展的過(guò)程中還與傳統(tǒng)的六自由度機(jī)械臂進(jìn)行對(duì)比。本次設(shè)計(jì)的基于神經(jīng)網(wǎng)絡(luò)的七自由度機(jī)械臂精度可以達(dá)到93.3%,收斂速度提升15.1%。具體比較結(jié)果如表2所示。
表2 七自由度機(jī)械臂與六自由度機(jī)械臂仿真結(jié)果比較
根據(jù)表2當(dāng)中的數(shù)據(jù),發(fā)現(xiàn)基于神經(jīng)網(wǎng)絡(luò)的七自由度機(jī)械臂在精度以及收斂速度方面與傳統(tǒng)的六自由度機(jī)械臂相比均存在顯著的優(yōu)越性,這說(shuō)明本次所設(shè)計(jì)與研究的內(nèi)容也具有較強(qiáng)的實(shí)踐應(yīng)用價(jià)值。
本次主要是基于神經(jīng)網(wǎng)絡(luò),采用位姿分離的方式來(lái)對(duì)機(jī)械臂的運(yùn)動(dòng)學(xué)逆解等進(jìn)行相應(yīng)的計(jì)算與研究。這種方式不僅得到的數(shù)值誤差小,而且整個(gè)計(jì)算過(guò)程中也十分簡(jiǎn)單,可以更好的滿足機(jī)械臂在實(shí)際應(yīng)用過(guò)程當(dāng)中需要進(jìn)行實(shí)時(shí)控制的需求。冗余機(jī)械臂控制最為關(guān)鍵的環(huán)節(jié)就是要選擇最為合適的關(guān)節(jié),而且也需要對(duì)冗余關(guān)節(jié)角度的大小進(jìn)行明確的確定。本文在傳統(tǒng)六自由度機(jī)械臂的基礎(chǔ)上設(shè)計(jì)研究七自由度機(jī)械臂運(yùn)動(dòng)學(xué)逆解的內(nèi)容,整個(gè)計(jì)算方法簡(jiǎn)單,優(yōu)化效果也十分明確,不僅使機(jī)械臂的工作效率得到顯著提升,而且通過(guò)仿真實(shí)驗(yàn)也得到了較好的結(jié)果。
由于冗余機(jī)械臂運(yùn)動(dòng)逆解值較多因此需要設(shè)置專門(mén)的約束條件,在此基礎(chǔ)上采取優(yōu)化策略,達(dá)到優(yōu)化目標(biāo),實(shí)現(xiàn)對(duì)機(jī)械臂更加靈活的控制。