白文峰, 劉紀陽, 雷宇欣
(長春工業(yè)大學 電氣與電子工程學院, 吉林 長春 130012)
?
微分進化優(yōu)化神經(jīng)網(wǎng)絡(luò)KUKA機器人逆運動學求解
白文峰, 劉紀陽, 雷宇欣
(長春工業(yè)大學 電氣與電子工程學院, 吉林 長春 130012)
結(jié)合KUKA機器人的正運動學分析,將正運動學求解的結(jié)果作為DE-BP優(yōu)化網(wǎng)絡(luò)的訓練樣本,求解了機器人逆運動學問題。
機器人; 微分進化; 神經(jīng)網(wǎng)絡(luò); 逆運動學求解
機械臂運動學研究的是機械臂的運動規(guī)律,而非機械臂動作的力和力矩。主要研究內(nèi)容包括:正運動學求解問題和逆運動學求解問題[1]。機器人運動學正問題,就是根據(jù)給定的各關(guān)節(jié)角度求解出機器人末端執(zhí)行器在工作空間上的位姿。機器人運動學逆問題是依據(jù)機器人末端執(zhí)行器(手端)在工作空間上的位姿求得各對應關(guān)節(jié)變量的過程。目前,求解逆運動學的主要方法有:解析法、幾何法、迭代法、幾何-解析法、符號及數(shù)值法[2]。然而,實際應用中不容易得到精準的機器人模型,導致上述方法存在一定不足,如多解、奇異性、收斂速度慢及計算量大等問題。文中采用的神經(jīng)網(wǎng)絡(luò)具有很強的非線性映射能力,依靠網(wǎng)絡(luò)結(jié)構(gòu)就能求得機器人的運動學逆解,而不用考慮機器人有幾個自由度[3-5]??紤]到神經(jīng)網(wǎng)絡(luò)訓練時存在收斂速度慢、迭代次數(shù)多等缺點,文中采用微分進化DE算法對BP網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)進行優(yōu)化,從而快速獲得更高精度的逆解。
研究的KUKA工業(yè)機器人共有6個自由度,各個關(guān)節(jié)均可旋轉(zhuǎn),機器人末端操作手的位置由前3個關(guān)節(jié)控制,姿態(tài)由后3個關(guān)節(jié)控制。建立KUKA工業(yè)機器人的連桿坐標系模型[6-7]如圖1所示。
各連桿參數(shù)見表1。
θi、di、ai、αi這4個參數(shù)稱為D-H參數(shù),其中,di、ai、αi是代表機器人結(jié)構(gòu)參數(shù)的常量,θi用來控制機器人位姿的關(guān)節(jié)變量。
圖1 KUKA工業(yè)機器人的連桿坐標系
連桿iθi/(°)di/mmai/mmαi/(°)θi范圍/(°)1067526090-185~18529006450-155~353003590-130~15440670090-350~35051800090-130~1306011500-350~350
根據(jù)表1中各連桿參數(shù)和關(guān)節(jié)變量值,利用剛體運動學理論知識[8]計算出連桿i-1到連桿i的齊次變換矩陣:
i-1Ti=Trans(zi-1,di)Rot(zi-1,θi)Trans(xi,ai)Rot(xi,αi)=
其中,sθi=sinθi,cθi=cosθi,sαi=sinαi,cαi=cosαi。
根據(jù)串聯(lián)剛體間的鏈式關(guān)系,將連桿變換矩陣連乘,可以得到由機器人基準坐標系到末端坐標系的轉(zhuǎn)換關(guān)系,即機器人末端(手端)相對于機器人基準坐標系的位姿:
微分進化(DE)是一種隨機優(yōu)化算法[10]。除了具有強大的全局搜索性能外,還具有魯棒性好、快速、簡單等特點。它的變異算子是由種群中任意選取的多對向量的差值得到的,這是與其它進化算法的不同之處。在非線性問題上,該算法優(yōu)于其它進化算法。微分進化(DE)的基本操作步驟是:構(gòu)造矢量參數(shù)集,通過雜交、變異和選擇得到初始化群體,對種群逐步進化得到最優(yōu)解。
BP網(wǎng)絡(luò)主要由三部分構(gòu)成:輸入層、中間層和輸出層[11-13]。包含有正向傳播和反向傳播兩個學習過程。主要訓練思想是:信息從輸入層經(jīng)中間層而后再經(jīng)過輸出層得到一個實際輸出值,若與預期值存在一定偏差,網(wǎng)絡(luò)就會反向傳播,逐一修正各層神經(jīng)元的權(quán)值和閾值。如此不斷反復地迭代更新權(quán)值和閾值,直到求得實驗預期的輸出值為止。BP神經(jīng)網(wǎng)絡(luò)存在諸多不足,如訓練過程中容易陷入局部最優(yōu);學習新樣本存在遺失原樣本的可能;在原始數(shù)據(jù)信噪比低時存在不收斂的情況。因此,文中運用了DE算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)參數(shù)以避免以上問題,減少了優(yōu)化過程對種群原始數(shù)據(jù)的依賴,使得算法的全局搜索能力更加優(yōu)良。
采用的BP網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
機器人末端的空間位姿P=[x,y,z,Rx,Ry,Rz]作為BP網(wǎng)絡(luò)的6個輸入,中間層有8個隱含結(jié)點,BP網(wǎng)絡(luò)的輸出分別是6個關(guān)節(jié)變量
θ=[θ1,θ2,θ3,θ4,θ5,θ6]
文中用微分進化算法對BP神經(jīng)網(wǎng)絡(luò)的閾值和權(quán)值進行優(yōu)化,使下面的適應度函數(shù)達到最小值:
式中: yi,j----BP神經(jīng)網(wǎng)絡(luò)的實際輸出;
DE優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的工作流程如圖3所示。
圖3 DE優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的過程
1)根據(jù)樣本數(shù)據(jù)確定BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,由這些權(quán)值和閾值作為微分進化算法的初始化種群;設(shè)定DE算法的種群規(guī)模NP=220,變異因子F=0.6,交叉因子CR=0.5,最大迭代次數(shù)A=500。
2)采用粒子群雜交、變異的方式求得新一代候選個體;對個體適應度評估,選擇最優(yōu)個體更新原有粒子群。
3)循環(huán)迭代直到求出滿足條件的閾值和權(quán)值,然后替換BP神經(jīng)網(wǎng)絡(luò)原有的閾值和權(quán)值。
仿真實驗基于MATLAB的Robotics工具箱和神經(jīng)網(wǎng)絡(luò)工具箱對DE-BP神經(jīng)網(wǎng)絡(luò)的有效性進行驗證。通過式(2)和式(3)計算關(guān)節(jié)空間{θ1,θ2,θ3,θ4,θ5,θ6}對應的機器人末端執(zhí)行器位姿矩陣{xi,yi,zi,Rxi,Ryi,Rzi},從而得到學習樣本{xi,yi,zi,Rxi,Ryi,Rzi}→{θ1i,θ2i,θ3i,θ4i,θ5i,θ6i}。網(wǎng)絡(luò)的輸入為機器人位姿矩陣,網(wǎng)絡(luò)輸出為各關(guān)節(jié)角度。將誤差精度等級設(shè)為0.001,以θ2為例,對期望輸出值與預期輸出值進行誤差比較試驗。
采用同樣的訓練樣本,分別選用標準BP網(wǎng)絡(luò)和DE-BP網(wǎng)絡(luò)進行逆運動學求解,仿真得到期望輸出和實際輸出的誤差,如圖4和圖5所示。
顯然,優(yōu)化后的BP網(wǎng)絡(luò)誤差更符合要求。
圖4 標準BP網(wǎng)絡(luò)輸出誤差
圖5 DE-BP網(wǎng)絡(luò)輸出誤差
根據(jù)KUKA機器人的可動范圍及各關(guān)節(jié)角實際參數(shù),可以確定各個關(guān)節(jié)角的取值范圍為:
-180°≤θ1,θ4,θ6≤180°
-120°≤θ3,θ5≤120°
-120°≤θ2≤35°
網(wǎng)絡(luò)訓練成功后,在機器人工作空間隨機選取8組測試數(shù)據(jù),將待測數(shù)據(jù)送入網(wǎng)絡(luò)中,驗證結(jié)果見表2。
表2 DE-BP網(wǎng)絡(luò)對KUKA機器人逆解的求解結(jié)果
采用微分進化算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值的方法在一定程度上解決了難以在初始階段設(shè)定BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值難的問題,實現(xiàn)了二者的互補,使得BP神經(jīng)網(wǎng)絡(luò)能夠較快地求得關(guān)節(jié)變量的最優(yōu)解。仿真結(jié)果證明,此算法使誤差精度基本達到了機器人逆運動學問題求解的要求。
[1] 蔡自興.機器人學[M].2版.北京:清華大學出版社, 2009.
[2]NikuSB.機器人學導論:分析、系統(tǒng)及應用[M].孫富春,朱紀洪,劉國棟,等,譯.北京:電子工業(yè)出版社,2004.
[3]KarlikB,AydinS.Animprovedapproachtothesolutionofinversekinematicsproblemsforrobotmanipulators[J].EngineeringApplicationofArtificialIntelligence,2000,13:159-164.
[4] 陳學生,陳在禮,孔民秀,等.基于神經(jīng)網(wǎng)絡(luò)的6-SPS并聯(lián)機器人正運動學精確求解用[J].哈爾濱工業(yè)大學學報,2002,34(1):120-124.
[5]MartinetzM,RitterJ,SchultenJ.Three-dimensionalneuralnetforlearningvisuomotorcoordinationofarobotarm[J].IEEETransactionsonNeuralNetworks,1990(1):131-136.
[6] 熊有倫.機器人技術(shù)基礎(chǔ)[M].2版.武漢:華中理工大學出版社,1997.
[7] 魏厚忠,薛丹,焦立奇,等.基于KUKA6自由度機器人的誤差分析與仿真[J].長春工業(yè)大學學報:自然科學版,2012,33(3):328-332.
[8] 王德倫.機械運動微分幾何學分析與綜合[M].北京:機械工業(yè)出版社,2015.
[9] 宋偉剛.機器人學—運動學、動力學與控制[M].北京:科學出版社,2007.
[10] 馮琦,周德云.基于微分進化算法的時間最優(yōu)路徑規(guī)劃[J].計算機工程與應用,2005,41(12):74-75,222.
[11] 鐘珞,饒文碧,鄒承明.人工神經(jīng)網(wǎng)絡(luò)及其融合應用技術(shù)[M].北京:科學出版社,2007.
[12] 高雋.人工神經(jīng)網(wǎng)絡(luò)原理及其仿真實例[M].北京;機械工業(yè)出版社,2003.
[13] 葛哲學,孫志強.神經(jīng)網(wǎng)絡(luò)理論與MATLABR2007實現(xiàn)[M].北京:電子工業(yè)出版社,2007.
Inverse kinematics solution of KUKA robot based on improved differential evolution-neural network
BAI Wenfeng, LIU Jiyang, LEI Yuxin
(School of Electrical & Electronic Engineering, Changchun University of Technology, Changchun 130012, China)
The results from forward kinematics analysis for KUKA robot is taken as the training samples for differential evolution-neural network to solve the inverse kinematics problems.
robot; differential evolution; neural network; inverse kinematics.
2016-08-17
白文峰(1962-),男,漢族,吉林長春人,長春工業(yè)大學教授,碩士,主要從事智能儀器與智能控制方向研究,E-mail:baiwenfeng@ccut.edu.cn.
10.15923/j.cnki.cn22-1382/t.2017.2.11
TP 241.2
A
1674-1374(2017)02-0162-05