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