劉廣瑞,孟少飛,王 釗,高建設
(鄭州大學機械與動力工程學院,河南 鄭州 450001)
6R機器人是一個集成度很高的機電一體化產品,運動學是其研究的首要前提,包括正逆運動學,而逆運動學求解的精度、泛化能力、實時性等是機器人進行軌跡規(guī)劃和離線編程的基礎,機器人的逆運動學模型是一個多輸入多輸出系統,其逆運動學方程具有高維、非線性的特點,求解復雜且不易求出。
許多學者對6R 串聯機械臂的逆運動學研究做了很大的貢獻[1-3],例如解析法,幾何法和數值迭代法等。解析法雖然可以得到全部解,但計算過程較復雜;幾何法只能簡化某些特殊的結構,通用性較差;迭代法具有通用性,但卻無法得到全部的解,且存在迭代時間長和迭代不收斂的情況,進行實時控制時可靠性低。
神經網絡作為一種智能算法,能在一個有限的集合內和任意精度下逼近任何非線性函數,影響網絡的收斂精度主要有兩個因素,訓練樣本的質量、網絡的結構參數。
不少學者運用神經網絡對機器人逆運動學求解方面進行了研究工作,訓練樣本采集主要為運動學正解和實驗獲取兩種途徑。
文獻[4]采用RBF 網絡研究了SCARA 機器人逆解問題,訓練樣本通過對關節(jié)角取等間隔獲得,雖取得了滿意結果,但精度和泛化能力仍需提高。
文獻[5-6]分別采用RBF網絡和MFBP網絡研究了機器人逆解問題,雖然逆解角度取得了不錯的效果,但對樣本篩選處理的算法過程過于復雜,由于逆解多解的存在,剔除矛盾樣本時人為干擾因素較多,增加了逆解求解的難度和時間周期。
文獻[7]采用BP網絡研究了自主研發(fā)的6R機器人逆解問題,取得了滿意的結果,但訓練樣本通過實驗獲取,浪費大量精力,且樣本容量較小,訓練的網絡泛化能力較差。
不難看出,單獨的用解析法、幾何法、數值迭代法進行機器人逆運動學求解具有一定的局限性,雖然神經網絡在機器人逆運動學中取得了一定的成就,但由于機器人逆解多解和奇異性問題使得在神經網絡求解的精度、泛化能力、篩選訓練樣本算法的問題上仍有進一步的提升空間。
因此為了提高求解的精度和縮短逆解求解的時間周期,這里采用解析法與BP神經網絡相結合的方法求解6R模塊化機器人逆運動學,解析法求解前幾個關節(jié)逆解,其余使用BP神經網絡預測求逆解,即(q解析+BP,q=0,1…6)通過使用不同的組合模式,仿真對比發(fā)現,3解析+BP組合模型求解精度比其它組合模式具有更高的精度,較強的泛化能力,且縮短了求逆解的時間周期,該求逆解模型為6R機器人求逆解提供了新的思路和方法。
機械臂正運動學求解是已知機械臂各關節(jié)角度,求取機械臂末端手抓在基坐標系下的期望位姿,6R機器人的前三個關節(jié)角度確定手腕參考點的位置,后三個關節(jié)角度確定手腕的姿態(tài),根據機器人的結構參數和外形尺寸,運用D-H法建立各個關節(jié)的坐標系,其結構示意圖和各連桿變換坐標系,如圖1所示。
相鄰兩連桿坐標系的齊次變換矩陣為;
式中:ai-1—連桿的長度;αi-1—扭角;di—偏置;θi—關節(jié)角。其中:ci=cos(θi),si=sin(θi)。
6R模塊化機器人的D-H參數表,如表1所示。
表1 6R模塊化機器人D-H參數Tab.1 D-H Parameters of 6-R Modular Robot
根據相鄰連桿坐標的齊次變化矩陣,機器人末端相對于坐標系0的位姿矩陣為:
式中:En—機器人末端姿態(tài);Pn—機器人末端位置。
式中:sij=sin(θi+θj);cij=cos(θi+θj)。
機器人作業(yè)時是已知手抓工具末端的位姿矩陣,而求逆解需知機器人末端的位姿矩陣即:
上式對機器人直接求逆是非常困難的,需要對12個非線性方程進行求解,由于神經網絡可以預測非線性系統,因此采用解析+BP神經網絡相結合的方式求逆解。
網絡訓練時為了減小網絡結構負擔,把機器人末端姿態(tài)變量En轉化為繞固定軸x-y-z變化的RPY角,根據坐標轉換原理可得末端姿態(tài)En的RPY角為:
根據文獻[8]可知,采用解析法求解時,后一個關節(jié)角的求解需在前一個關節(jié)角的求解基礎之上,隨著解析解求關節(jié)角度個數的增加,求解算法越來越復雜,前三個關節(jié)確定機器人位置,后三個確定姿態(tài),求機器人前三個關節(jié)角度比后三個關節(jié)角度簡單許多,所以qmax=3。
針對大部分6R機器人,如PUMA560、IRB120等,多解一般產生在前三個關節(jié),當q=3時,對神經網絡訓練樣本進行篩選,簡化了逆解多解的問題,減少了矛盾樣本的容量,從而縮短了篩選樣本的時間周期,因此當q=3時,該逆解組合求解模型較優(yōu),計算周期最短。以下主要討論3解析+BP組合模型的求解過程。
該機器人最后三個關節(jié)軸線交于一點,滿足Pieper準則,存在封閉解。由于直接求解12個非線性方程組較為復雜,所以根據機器人末端位姿用解析法求前三個關節(jié)角度,從而得到的位姿,根據齊次矩陣變換原理得到手爪末端相對于第三個關節(jié)坐標的位姿變化矩陣為:
接下來用BP神經網絡對后三個關節(jié)角度進行預測。
令式(22)兩邊的(1,4)、(2,4)元素分別對應相等有:
因此求出關節(jié)2、3的角度和:
當選中關節(jié)3的一組解后,關節(jié)2的角度也隨之確定,即:
BP 神經網絡是一種按誤差逆?zhèn)鞑ニ惴ㄓ柧毜亩鄬忧梆伨W絡,學習規(guī)則使用最速下降法,通過反向傳播不斷調整網絡的權值和閾值,使網絡的誤差平方和最小。網絡模型拓撲結構包括輸入層,隱含層,輸出層,其結構,如圖2所示。
網絡的輸入為機器人手抓末端位姿變量α、β、γ、Px、Py和Pz,網絡的輸出為機器人各個關節(jié)角,網絡的輸入和輸出的關系為:
式中:—輸入層第j個神經元在樣本p作用下的輸入(j,p=1,2,3…M);Wij、θi—輸入層到隱含層的權值和隱含層的閾值(i=1,2,3…,q);g1—隱含層的激活函數;Wki、θj—隱含層到輸出層的權值和輸出層的閾值。(k=1,2,3…,L);g2—輸出層的激活函數—輸出層第k個神經元在樣本p作用下的輸出。對于每一個樣本P的輸入模式對的二次型誤差函數為:
BP網絡的實質就是根據誤差Jp函數梯度變換的反方向不斷的調整網絡的權值和閾值,當網絡的全局誤差或迭代次數滿足設定的條件時,網絡停止訓練。
訓練數據的準備工作是網絡設計與訓練的基礎,數據選擇的科學合理性不但影響網絡的學習和泛化能力,而且影響網絡的精度。
因前三個關節(jié)角度由解析法求出,所以訓練樣本只針對后三個關節(jié)角取值,假定選取各個關節(jié)角度的間隔為θ,單位為度,可得總的樣本容量N為:
選取訓練樣本時,若取各關節(jié)的角度間隔θ=2時,可得N=757666。雖然樣本覆蓋范圍較廣,但樣本之間可能存在冗余和矛盾樣本,因此要對樣本進行優(yōu)選。
許多學者完成了用模糊C均值聚類算法(FCM)對樣本數據進行聚類,但該算法存在的嚴重缺陷是對初始聚類中心敏感且不易收斂于全局最優(yōu),因此,這里采用基于核的改進的模糊C均值聚類算法(KFCM)[9-10]對訓練樣本進行優(yōu)選。它通過核函數將訓練樣本映射到特征空間中,求取聚類中心,使得目標函數最小,目標函數為:
式中:K(xj,vi)—高斯徑向基函數。得:
利用拉格朗日的極值必要條件,得出:
式中:uij—第j個樣本屬于第i個聚類中心的隸屬度;
vi—第i個聚類中心;
m—模糊指數;
δ—徑向基函數的參數;
c—聚類個數;
采用上式可得到訓練樣本數據的聚類中心,接下來用隨機抽取算法優(yōu)選訓練樣本。算法步驟如下;
(1)確定各個關節(jié)角度取值間隔,通過機器人正運動學得出機器人手抓末端工具相對于第三個關節(jié)的位姿矩陣樣本數據。
(2)對樣本數據進行預處理,剔除矛盾樣本和冗余的樣本,以減少樣本容量。
(3)設迭代次數k=0,算法最大迭代次數為maxiter,收斂精度ε,用FCM算法初始化中心矩陣V(0)。
(4)用式(31)、式(32)計算Uk+1,Vk+1,令k=k+1。
(5)重復步驟④,直到滿足如下終止條件;k≥maxiter或或存在i(1 ≤i≤c)使得。
(6)采用隨機抽取算法對聚類后的樣本進行選取,得到優(yōu)選的網絡訓練樣本。
由于網絡的輸入數據常常具有不同的物理意義和量綱,為防止因凈輸入的絕對值過大而使神經元輸出飽和,需對訓練樣本進行歸一化處理,歸一化后的樣本參數范圍在(0,1),歸一化的公式為:
式中:xi-輸入/輸出數據;xmin-數據范圍的最小值;xmax-數據范圍的最大值。
根據以上算法步驟,在機器人的工作空間范圍內約選出2000個訓練樣本,對手抓末端位姿經式(16)變換,然后經式(33)進行歸一化處理,參考文獻[11]中方法,對BP神經網絡進行訓練。
經過訓練后的關節(jié)角度是(0~1)之間的數,需要進行反歸一化處理,即:
為了驗證該逆解模型方法的正確性,根據該6R模塊化機器人的結構參數,用Matlab軟件的Robotics工具箱建立機器人連桿模型,并使機器人手抓末端仿真一段圓弧曲線,如圖3所示。
圖3 機器人作業(yè)軌跡圖Fig.3 Robot Operation Trajectory Diagram
隨機取20個點作為預測點,并確立這些點的末端姿態(tài),由式(15)、式(16)得到20組α、β、γ、Px、Py和Pz,經歸一化后作為BP神經網絡的測試數據,得到20組網絡預測輸出值,并由式(34)反歸一化處理。
為了驗證該逆解模型方法的有效性,采用以下兩個指標絕對誤差和均方根誤差進行評價,即:
式中:θyci—第i個關節(jié)的逆解角度;θi—第i個關節(jié)角度的理論值;N—測試樣本數,N=20。
由于采用解析解+BP神經網絡求逆解,逆解存在多解,為了更好評定網絡預測的效果,逆解只選取與20個位置點關節(jié)角的理論值相對應的角度。20個作業(yè)位置的關節(jié)角度理論值、逆運動學求解值、關節(jié)角預測誤差值,如表2所示。求得后三個關節(jié)角在20個作業(yè)位置的絕對誤差值,如圖4所示。
表2 6R機器人20個作業(yè)位置的逆解Tab.2 Inverse Solution of 20 Working Positions of 6R Robot
圖4 后三個關節(jié)角絕對誤差值Fig.4 Absolute Error of the Angle of the Last Three Joints
從表2和圖4中看出,前三個關節(jié)角的絕對誤差和均方根誤差均為0,證明了該正運動學模型建立和解析法求解的正確性。后三個關節(jié)角求解的絕對誤差最小值為6.8212e-8,絕對誤差最大值為2.0922e-4,均方根誤差最小值為1.1812e-5,均方根誤差最大值為1.2218e-4。通過以上數據可以看出,基于前三個關節(jié)解析法+BP神經網絡的逆解預測模型具有很高的求解精度。
為了客觀的評價該算法的求解精度和可行性,用和該算法類似的求解步驟分別建立不同組合的數學模型(qmax=3);0 解析+BP、1解析+BP、2解析+BP。
根據表1中6R機器人關節(jié)轉角限制范圍任取兩組關節(jié)角,對以上建立的不同組合模型進行逆解求解精度的對比,結果,如表3所示。
通過表3 對任取兩組關節(jié)角逆解求解的結果得出,0解析+BP求解的絕對誤差最小值為0.0474,絕對誤差最大值為0.2972,均方根誤差為0.1623,1 解析+BP 求解的絕對誤差最小值為0.0000,絕對誤差最大值為0.1344,均方根誤差為0.0653,2解析+BP求解的絕對誤差最小值為0.0000,絕對誤差最大值為0.0928,均方根誤差為0.0402,3 解析+BP 求解的絕對誤差最小值為0.0000,絕對誤差最大值為0.0001,均方根誤差為6.4550e-05。通過對比以上數據的絕對誤差值、均方根誤差值,3解析+BP組合模式的誤差均小于其它的求解組合模式,說明該求逆解組合方式不但模型更優(yōu)、計算周期短,而且具有較高的求解精度、泛化能力和魯棒性。
表3 6R模塊化機器人不同組合模式的逆解Tab.3 Inverse Solution of Different Combination Modes of 6R Modular Robot
(1)提出了一種解析法+BP神經網絡相結合求解6R機器人逆運動學的方法,并以6R模塊化機器人為例進行逆運動求取,通過運動學軌跡仿真驗證了該方法的有效性與可行性。
(2)通過對q解析法+BP神經網絡相結合求逆解的4種組合模式進行仿真誤差精度對比,結果顯示隨著q值的增大逆解模型的求解精度逐漸提高,且進行神經網絡訓練時矛盾樣本的容量逐漸減少,縮短了樣本篩選的時間周期,即當q=3時,該逆解模型最優(yōu)。
(3)3解析法+BR神經網絡建立的求逆解模型可廣泛用于其他一般的6R機器人,獲得較高的逆解精度、較短的計算時間周期并能準確的進行軌跡規(guī)劃。