張 翠,楊劍鋒,張 峰
(蘭州交通大學(xué),蘭州 730070)
機(jī)械臂運(yùn)動(dòng)學(xué)逆問(wèn)題指給定機(jī)械臂末端執(zhí)行器的空間位姿,求解為達(dá)到該位姿而所需的關(guān)節(jié)變量[1],是正問(wèn)題的反向求解過(guò)程?,F(xiàn)有求解方法主要有代數(shù)法、幾何法、迭代法以及基于神經(jīng)網(wǎng)絡(luò)的求解方法[2~6]等。利用神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行機(jī)械臂逆運(yùn)動(dòng)學(xué)求解,以滿足控制器設(shè)計(jì)中的精度要求及解決多值性問(wèn)題[6],成為一種極為有效的途徑。
本文采用熵聚類(lèi)學(xué)習(xí)算法來(lái)訓(xùn)練RBF神經(jīng)網(wǎng)絡(luò)(En tropy Clustering RBF,EC-RBF),對(duì)機(jī)械臂運(yùn)動(dòng)學(xué)逆問(wèn)題進(jìn)行辨識(shí)求解,在滿足一定精度要求的同時(shí)加速網(wǎng)絡(luò)訓(xùn)練過(guò)程,為下一步控制器設(shè)計(jì)問(wèn)題中的實(shí)時(shí)性問(wèn)題提供可能。
本文研究對(duì)象為自主研發(fā)的具有四個(gè)自由度的教學(xué)用關(guān)節(jié)型機(jī)械臂,由三個(gè)旋轉(zhuǎn)關(guān)節(jié)以及一個(gè)自由旋轉(zhuǎn)底座構(gòu)成,實(shí)現(xiàn)在空間內(nèi)運(yùn)動(dòng)。分析其運(yùn)動(dòng)學(xué)問(wèn)題,采用Denavit-Hartenberg(D-H)方法建立其運(yùn)動(dòng)學(xué)方程,根據(jù)機(jī)械臂實(shí)際參數(shù)計(jì)算相鄰關(guān)節(jié)變換矩陣,其中 為連桿扭角, 為連桿長(zhǎng)度、 為連桿距離,且均為常量分; 為關(guān)節(jié)變量。機(jī)械臂末端執(zhí)行器相對(duì)于基坐標(biāo)系的總變換矩陣為:
EC-RBF神經(jīng)網(wǎng)絡(luò)算法,先通過(guò)熵聚類(lèi)算法確定聚類(lèi)中心初值和聚類(lèi)數(shù)目,再利用K-m eans算法進(jìn)一步調(diào)整和修改RBF函數(shù)的中心值和寬度。熵聚類(lèi)算法實(shí)現(xiàn)的步驟大體分為4步[7,8],在文獻(xiàn)中有詳述,這里不再贅述。本文中EC-RBF神經(jīng)網(wǎng)絡(luò)算法具體步驟如下:
4)判斷所有的訓(xùn)練樣本且中心分布是否不再變化。在實(shí)際應(yīng)用過(guò)程中,只要中心的變化(設(shè)定值),可認(rèn)為中心不再有任何變化。否則,轉(zhuǎn) 2)繼續(xù)。
5)寬度半徑 等于每個(gè)聚類(lèi)中心與屬于該類(lèi)的樣本之間的平均距離,即:
6)輸出權(quán)值 采用線性的偽逆算法來(lái)調(diào)整,R為網(wǎng)絡(luò)隱節(jié)點(diǎn)輸出, 為網(wǎng)絡(luò)期望輸出,即
由于省去了網(wǎng)絡(luò)學(xué)習(xí)算法過(guò)程中尋找初值和聚類(lèi)數(shù)的迭代計(jì)算量,因而能夠保證RBF神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的快速性。
2)訓(xùn)練EC-RBF神經(jīng)網(wǎng)絡(luò)
選取1500組數(shù)據(jù),采用EC-RBF算法來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)。經(jīng)過(guò)多次試驗(yàn),最優(yōu)參數(shù)取表1為從網(wǎng)絡(luò)輸出的逆解結(jié)果中截取的關(guān)節(jié)角的部分?jǐn)?shù)據(jù),并與目標(biāo)值比較。
表1 關(guān)節(jié)角 部分逆解結(jié)果
3)測(cè)試網(wǎng)絡(luò)泛化能力
圖1 測(cè)試輸出誤差
4)兩種算法的比較
具體內(nèi)容及運(yùn)行結(jié)果如表2所示。EC-RBF學(xué)習(xí)算法中所得聚類(lèi)中心數(shù)目分別為43和139。
表2 兩種算法的比較
分析上述結(jié)果,由表1可以看到網(wǎng)絡(luò)實(shí)際輸出與期望輸出的均方誤差數(shù)量級(jí)基本上控制在10-3,符合網(wǎng)絡(luò)設(shè)計(jì)之初的目標(biāo)。由網(wǎng)絡(luò)的測(cè)試輸出可以看到,基于熵聚類(lèi)算法的EC-RBF神經(jīng)網(wǎng)絡(luò)具有很好的泛化能力,對(duì)于網(wǎng)絡(luò)訓(xùn)練樣本之外的數(shù)據(jù)仍然有很好的計(jì)算能力,能夠滿足機(jī)械臂關(guān)節(jié)角度的精度要求,對(duì)機(jī)械臂運(yùn)動(dòng)學(xué)逆解問(wèn)題具有很好的解決能力。在網(wǎng)絡(luò)訓(xùn)練過(guò)程中,相比傳統(tǒng)K-m eans算法,EC-RBF算法計(jì)算精度更高,且在訓(xùn)練樣本數(shù)量較大時(shí),極大的加速了數(shù)據(jù)聚類(lèi)過(guò)程,從而提高RBF網(wǎng)絡(luò)的訓(xùn)練速度,為機(jī)械臂控制器設(shè)計(jì)節(jié)省了時(shí)間,以達(dá)到實(shí)時(shí)性要求。
基于熵聚類(lèi)學(xué)習(xí)算法的EC-RBF神經(jīng)網(wǎng)絡(luò),在很大程度上克服了傳統(tǒng)K-m eans學(xué)習(xí)算法在中心值和類(lèi)別數(shù)初值取值上的不確定性,使其更快速收斂,從而加速網(wǎng)絡(luò)的訓(xùn)練過(guò)程。將EC-RBF神經(jīng)網(wǎng)絡(luò)用于機(jī)械臂的運(yùn)動(dòng)控制中,仿真結(jié)果表明在求解機(jī)械臂逆問(wèn)題過(guò)程中,避免了繁瑣的公式推導(dǎo),在數(shù)據(jù)樣本巨大時(shí),大大的減小了計(jì)算量,比運(yùn)用傳統(tǒng)RBF網(wǎng)絡(luò)進(jìn)行逆問(wèn)題求解具有更快的處理速度,并且具有很好的求解精度。同時(shí),也為后續(xù)機(jī)械臂嵌入式運(yùn)動(dòng)控制器的開(kāi)發(fā)與實(shí)現(xiàn)提供了理論基礎(chǔ)。
[1] 蔡自新.機(jī)器人學(xué)(第二版)[M].北京:清華大學(xué)出版社,2007.
[2] 楊國(guó)軍,崔平遠(yuǎn).機(jī)械手逆運(yùn)動(dòng)學(xué)神經(jīng)網(wǎng)絡(luò)建模與仿真[J].系統(tǒng)工程與電子技術(shù),2001,23(1):55-58.
[3] Li Zhem ing, Li Chungui, Lv Shao jiao. A Method fo r So lving Inverse Kinem atics o f PUMA560 Manipu lator Based on PSO -RBF Netw o rk[C]//8th In ternational Con ference on Natu ral Com pu tation , 2012:298-301.
[4] 榮盤(pán)祥,楊晶,胡林果,馬廣富.基于RBF網(wǎng)絡(luò)的SCARA機(jī)器人的運(yùn)動(dòng)學(xué)逆解[J].電機(jī)與控制學(xué)報(bào),2007,11(3):303-305.
[5] 盛黨紅,溫秀蘭,黃文良.基于免疫進(jìn)化神經(jīng)網(wǎng)絡(luò)的機(jī)械手逆運(yùn)動(dòng)控制[J].中國(guó)機(jī)械工程,2007,18(3):282-285.
[6] 陳勇,鄭加強(qiáng),郭偉斌.除草機(jī)器人機(jī)械臂運(yùn)動(dòng)分析與控制[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2007,38(8):105-108.
[7] 王華麗,周尚波.基于熵聚類(lèi)的RBF神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法[J].計(jì)算機(jī)仿真,2008,25(11):168-171.
[8] J.Yao,M.Dash, S.T. Tan, et al. En tropy-based Fuzzy Clustering and Modeling [J]. Fuzzy Sets and System s,2000, 113(3)382-388.