李 彥, 王 玲
(江蘇科技大學 電子信息學院,江蘇 鎮(zhèn)江 212003)
目前,造船工業(yè)中應用最廣泛也是最關(guān)鍵的船板加工技術(shù)之一即是水火彎板成型技術(shù)。由于該工藝技術(shù)性強,難度大,操作技藝難以掌握,目前大型復雜曲面鋼板水火加工在實際生產(chǎn)中主要由老技術(shù)工人來完成,這種人工方式嚴重制約造船事業(yè)的快速發(fā)展。
而在水火彎板智能控制系統(tǒng)中,機械手的應用將工人從繁重的體力勞動中解脫出來,大大提高了生產(chǎn)效率和加工精度,而且產(chǎn)生的噪聲小。水火彎板工藝的自動化和智能化對提高船外板成型的質(zhì)量和造船速度以及降低造船成本有著重要意義[1]。
本文主要研究水火彎板機械手的運動學問題。傳統(tǒng)的求逆方法如代數(shù)法、幾何法及迭代法這幾種方法計算量大,有一定的限制[2]。本文采用最小二乘支持向量機LS-SVM算法對逆運動學進行求解,并與LMBP神經(jīng)網(wǎng)絡算法結(jié)果進行對比,仿真效果良好,符合彎板機械手的控制要求,為下一步動力學研究及實際使用奠定基礎(chǔ)。
按照加工工藝的要求,機械手需要在全空間中進行作業(yè),為了使所有運動都能實現(xiàn),機械手要有6個自由度,本文研究的彎板機械手也采用六自由度。
機械手的正向運動學是已知6個關(guān)節(jié)的角度確定末端位姿的過程。首先用D-H[3]方法建立機械手的坐標模型。D-H分析方法用來描述機械手相鄰兩連桿之間的運動學關(guān)系:相鄰兩連桿的位姿用1個4×4的齊次變換矩陣進行描述,并由此推導出機械手末端夾持機構(gòu)坐標系相對于底座參考坐標系的齊次變換矩陣,進而建立機械手的運動學方程和幾何模型,具體如下:
式中:θi為關(guān)節(jié)角度;di為偏移量;ai為連桿長度;αi為扭轉(zhuǎn)角。
本系統(tǒng)中彎板機械手6個關(guān)節(jié)的運動范圍分別為±15°,±30°,±60°,±100°,±120°,±160°,最大速度分別為30°/s,30°/s,30°/s,60°/s,60°/s,60°/s。D-H參數(shù)如表1所示。
表1 彎板機械手D-H參數(shù)
機械手的逆運動學是已知末端軌跡求解各個關(guān)節(jié)角度的過程,逆解求取是機械手運動學研究的難點。
傳統(tǒng)求解機械手逆運動學的方法非常復雜,計算量大,且存在多解問題[4]。機械手逆運動學問題的求解方法大致可分成封閉解法與數(shù)值解法這兩大類。其存在的主要問題是計算量大,受硬件結(jié)構(gòu)的限制比較大,甚至可能得不到有效的逆解。
智能控制方法是現(xiàn)代控制方法的發(fā)展方向,主要包括遺傳算法、神經(jīng)網(wǎng)絡算法及各種智能計算方法的組合形式。針對機械手的逆解求取,其求解思路是把機器人運動方程轉(zhuǎn)化為一個控制問題來求解。機械手逆運動學是由笛卡爾空間到關(guān)節(jié)空間的轉(zhuǎn)換,是典型的非線性映射問題。而BP網(wǎng)絡是一種典型的單向傳播的多層前向網(wǎng)絡,適合解決非線性映射問題[5]。
BP神經(jīng)網(wǎng)絡由輸入層,隱含層和輸出層3個層次組成,確定神經(jīng)網(wǎng)絡的結(jié)構(gòu)即確定每層神經(jīng)元的個數(shù)是算法的重點之一。
支持向量機的主要思想是:將選擇的非線性映射從輸入映射至高維空間,并且在這個空間中可以構(gòu)造最優(yōu)的決策函數(shù)。當構(gòu)造最優(yōu)的決策函數(shù)時,不僅利用結(jié)構(gòu)風險最小化原則,而且將原來的核函數(shù)取代了高維特征空間中的點積運算[6-7]。
最小二乘支持向量機是對標準支持向量機進行的擴展之一,優(yōu)化指標用的是平方項,而且用等式約束代替標準支持向量機中的不等式約束,從而推出了一系列的等式約束,故把二次規(guī)劃的問題轉(zhuǎn)化成為求解線性方程組的問題,不僅簡化了計算的復雜性,而且求解速度相對有所增加[8]。LSSVM的優(yōu)化目標采用的是ξi的平方項,所以優(yōu)化問題如下式:
(2)
s.t:yi=ωTψ(xi)+b+ξi,i=1,…,n。
(3)
下面引入拉格朗日函數(shù)求解式(2)的優(yōu)化問題,
b+ξi-yi}。
(4)
式中ai為拉格朗日乘子。根據(jù)KTT優(yōu)化條件有:
得到以下等式約束條件:
ωTψ(xi)+b+ξi-yi=0。
對于i=1,…,n,消去ω,ξ可得線性方程組:
式中:e為元素為1的n×1向量;I為n×n的單位陣。
a=[a1,a2,…,an]T,y=[y1,y2,…,yn]T,
G=[ψ(x1)T,ψ(x2)T,…,ψ(xn)T]。
根據(jù)Mercer條件,定義核函數(shù)如下:
K(xi,yi)=ψ(xi)Tψ(xj)。
(6)
綜上,該方程組為:
(7)
式(7)的線性方程可用最小二乘法求出a和b, 則線性回歸函數(shù)為
(8)
通常核函數(shù)采用徑向基函數(shù):
最小二乘支持向量機通過有約束的二次優(yōu)化方法確定網(wǎng)絡的隱含層節(jié)點個數(shù)和網(wǎng)絡權(quán)值,這種映射與感知器和徑向基神經(jīng)網(wǎng)絡(RBF)的形式相似,不同的是神經(jīng)網(wǎng)絡的結(jié)構(gòu)和權(quán)值初值的選取決定了網(wǎng)絡的訓練速度和收斂特性,而最小二乘支持向量機的這種形式?jīng)Q定了其優(yōu)越特性。
為驗證所用算法在水火彎板機械手求逆運動學中的有效性,本文進行了相關(guān)的仿真實驗。
首先在Matlab中建立機械手的模型,進行正運動學的仿真實驗。
在各關(guān)節(jié)允許的范圍內(nèi)給予機械手的初始角度q1=[0 0 0 0 0 0]和終點角度q2=[5.120 -15.362 46.885 82.653 100.996 -122.542]。機械手運動過程平穩(wěn),圖1是當給予上述初始和終點角度后,機械手在空間中走出的一段平滑軌跡,由此可以驗證彎板機械手模型建立的正確性和有效性。
圖1 機械手運動軌跡圖Fig.1 Trajectory of manipulator
根據(jù)各關(guān)節(jié)角的變化范圍以及機器人實際工作要求確定各關(guān)節(jié)角的變化范圍。根據(jù)“多移動小關(guān)節(jié)少移動大關(guān)節(jié)”的選取原則,結(jié)合實際操作的需要,在各關(guān)節(jié)允許的角度范圍內(nèi)隨機產(chǎn)生1 000組角度值,其中θ1的取值范圍限定為(-5,+5),θ2為(-5,+5),θ3為(-10,+10),θ4為(-15,+15),θ5為(-30,+30),θ6為(-60,+60), 單位為(°)。
從而得到了1 000組輸入輸出數(shù)據(jù),980組作為訓練樣本,20組作為測試樣本。LMBP神經(jīng)網(wǎng)絡的訓練函數(shù)為trainlm,當訓練步數(shù)為231時達到誤差精度范圍。用20組數(shù)據(jù)對網(wǎng)絡進行測試,圖2為關(guān)節(jié)6預測值與期望值的比較及誤差曲線。
圖2 關(guān)節(jié)6的LMBP預測值與期望值Fig.2 Expected and neural network prediction output of the sixth joint angles
圖3 關(guān)節(jié)6的LMBP誤差曲線Fig.3 Error curve of the sixth joint angles of neural network
由圖2和圖3可看出,神經(jīng)網(wǎng)絡雖然可以近似地實現(xiàn)逆解的求取,但誤差較大,部分角度甚至達到10°,不能滿足彎板機械手精度要求。
針對存在的誤差,本文重點設計了LS-SVM即最小二乘支持向量機,對機械手逆運動學進行求解分析。樣本同LMBP神經(jīng)網(wǎng)絡的選取方法相同,980組作為訓練學習樣本,20組作為測試樣本。圖4~圖7分別為用LS-SVM方法時,關(guān)節(jié)5和關(guān)節(jié)6的期望值與輸出值比較及誤差曲線圖。
圖4 關(guān)節(jié)5的LSSVM預測值與期望值Fig.4 Expected and LSSVM prediction output of the fifth joint angles
圖5 關(guān)節(jié)5的LSSVM誤差曲線Fig.5 Error curve of the fifth joint angles of LSSVM
圖6 關(guān)節(jié)6的LSSVM預測值與期望值Fig.6 Expected and LSSVM prediction output of the sixth joint angles
圖7 關(guān)節(jié)6的LSSVM誤差曲線Fig.7 Error curve of the sixth joint angles of LSSVM
由圖4~圖7可以看出,采用最小二乘支持向量機算法求得的關(guān)節(jié)5的誤差在0.6°范圍內(nèi),而關(guān)節(jié)6的誤差也降低到5°以下,比LMBP的求解精度有明顯的提高。
用此算法將求得的關(guān)節(jié)角度給予機械手,由正運動可以得到機械手末端軌跡,如圖8所示。由圖可看出,跟蹤誤差在±3 mm范圍內(nèi),效果良好,能夠滿足彎板機械手對加熱軌跡的精度要求。
圖8 彎板機械手末端軌跡跟蹤效果Fig.8 Tracking results of bending robot
本文利用D-H方法對水火彎板機械手進行了運動學的建模,并在Matlab中進行了仿真,驗證了模型建立的正確性。重點對逆運動學進行了相關(guān)探討,首先運用神經(jīng)網(wǎng)絡LMBP對機械手逆模型進行模擬,基本實現(xiàn)了由末端軌跡到關(guān)節(jié)角度的映射。針對存在的誤差,重點介紹了最小二乘支持向量機LS-SVM的應用。根據(jù)各個關(guān)節(jié)角度的變化范圍,隨機產(chǎn)生訓練樣本對模型進行學習,并通過測試樣本驗證了此方法的可行性和優(yōu)越性。由仿真結(jié)果可以看出,LS-SVM的應用使得系統(tǒng)精度提高,誤差減小,很好地對水火彎板機械手逆運動學進行了求解,最終實現(xiàn)末端軌跡的良好跟蹤。
[1] 廖忠凱.水火彎板成型單懸臂機器人設計分析[D].大連:大連理工大學,2006.
[2] 倪驕驊,趙忠偉,孫美艷.基于代數(shù)算法神經(jīng)網(wǎng)絡在機器人逆運動學中的應用[J].制造業(yè)自動化,2009,31(8):179-183.
NI Xiao-hua,ZHAO Zhong-wei,SUN Mei-yan.Neural network based on algebra algorithm applying to inverse kinematics of robot manipulator[J].Manufacturing Automation,2009,31(8):179-183.
[3] 彭疆,周國榮.基于神經(jīng)網(wǎng)絡的機器人逆運動學算法[J].企業(yè)技術(shù)開發(fā),2005,24(3):30-32.
PENG Jiang,ZHOU Guo-rong.Arithmetic of inverse kinematics of robots based on neural networks[J].Technological Development of Enterprise,2005,24(3):30-32.
[4] 王耀南,印峰,夏漢民.多關(guān)節(jié)機器人逆運動學問題的實時求解[J].中國機械工程,2010,21(10):1143-1148.
[5] 王求.焊接機械手的運動學分析和仿真[D].合肥工業(yè)大學,2011.
[6] 楊延西,劉丁,辛菁.基于LS-SVM的機器人逆運動學建模[J].系統(tǒng)仿真學報,2006,18(5):1260-1263.
YANG Yan-xi,LIU Ding,XIN Jing. Inverse kinematics of robotic manipulators based on LS-SVM[J].Journal of System Simulation,2006,18(5):1260-1263.
[7] 張雪峰.最小二乘與最小二乘支持向量機[D].成都:電子科技大學,2007.
[8] 方輝,王倩.支持向量機的算法研究[J].長春師范學院學報,2007,26(3):90-91.
FANG Hui,WANG Qian.Support vector machine algorithm[J].Chang Chun Teachers College,2007,26(3):90-91.
[9] MATLAB中文論壇.MATLAB神經(jīng)網(wǎng)絡30個案例分析[M].北京:北京航空航天大學出版社,2010.