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