熊 超,張鵬超,馮博琳,賀洋洋,杜梟雄
(陜西理工大學(xué) a.機械工程學(xué)院;b.陜西省工業(yè)自動化重點實驗室,陜西 漢中 723001)
1001-2265(2017)10-0034-03
10.13462/j.cnki.mmtamt.2017.10.008
2016-11-25;
2017-01-03
陜西省科技廳工業(yè)攻關(guān)項目(2016GY-070);陜西省教育廳重點項目(16JS017)
熊超(1992—),男 ,陜西寶雞人,陜西理工大學(xué)碩士研究生,研究方向為機器人技術(shù)、智能控制,(E-mail)1062715043@qq.com。
基于并行RBF神經(jīng)網(wǎng)絡(luò)的機器人逆運動求解*
熊 超a,張鵬超b,馮博琳a,賀洋洋a,杜梟雄a
(陜西理工大學(xué) a.機械工程學(xué)院;b.陜西省工業(yè)自動化重點實驗室,陜西 漢中 723001)
機器人逆運動求解的傳統(tǒng)方法因為需要大量公式推導(dǎo)往往繁瑣復(fù)雜,新出現(xiàn)的基于神經(jīng)網(wǎng)絡(luò)的算法又存在一定的局限和不足,所以,文章在分析現(xiàn)有神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)上致力于找到一種簡單快速的求解方法。考慮到RBF神經(jīng)網(wǎng)絡(luò)在非線性函數(shù)逼近中的優(yōu)秀表現(xiàn),文章將兩個相同結(jié)構(gòu)的RBF神經(jīng)網(wǎng)絡(luò)應(yīng)用于機器人逆運動求解中。以NACHI-MZ04型機器人為例,首先建立其運動學(xué)模型并在此基礎(chǔ)上得到用以訓(xùn)練和測試神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù),然后基于Matlab nntool搭建網(wǎng)絡(luò)模型并分別對網(wǎng)絡(luò)進行訓(xùn)練和測試,最后得到滿足精度要求的網(wǎng)絡(luò)模型。結(jié)果表明,該方法在逆運動求解問題中應(yīng)用效果良好,具有一定的推廣價值。
逆運動學(xué);MZ04機器人;并行神經(jīng)網(wǎng)絡(luò)
機器人逆運動求解作為機器人離線編程、軌跡規(guī)劃、控制算法設(shè)計等其它課題研究的基礎(chǔ),一直是機器人學(xué)中的一個經(jīng)典問題,同樣也是研究熱點[1-3]。機器人的運動控制要求在給定機械手末端在工作空間的位姿坐標后,可以有滿足正運動學(xué)方程的關(guān)節(jié)變量q與之匹配,即完成笛卡爾空間到關(guān)節(jié)空間的映射,這便是逆運動求解問題的實質(zhì)[4-5]。
逆運動求解問題往往具有很強的非線性,問題比較復(fù)雜,所以大量學(xué)者和科研工作者在該領(lǐng)域做了大量研究和探索,提出了許多理論和方法。其中傳統(tǒng)方法可以歸納為幾何法、代數(shù)法、數(shù)值迭代法以及由它們?nèi)诤系姆椒╗6-7]。這些方法在部分機器人逆運動求解中取得了較好的效果,但是由于其自身的某些局限性卻限制了其進一步的推廣。比如幾何法往往具有模型依賴性,只能求解同一類型的機械臂逆解;代數(shù)法不一定有封閉解,且計算量大;數(shù)值迭代法通常受初值的影響較大,收斂速度難以保證。同時由于現(xiàn)代生產(chǎn)制造對機器人控制精度要求越來越高,傳統(tǒng)方法因其固有的局限性已很難滿足要求,所以越來越多的學(xué)者將仿生智能算法應(yīng)用到該問題求解,其中人工神經(jīng)網(wǎng)絡(luò)在逆運動求解的應(yīng)用與研究較為流行。在現(xiàn)有的基于人工神經(jīng)網(wǎng)絡(luò)的機器人逆運動求解算法研究中,BP網(wǎng)絡(luò)和RBF網(wǎng)絡(luò)一直是研究的熱點,基于這兩種網(wǎng)絡(luò)的算法及改進算法也取得了一定的成果[2,5]。在已有網(wǎng)絡(luò)模型中,基于單個網(wǎng)絡(luò)的基本算法及其改進算法往往輸入樣本差異大,所以收斂速度和收斂精度都不夠理想;基于多個并行網(wǎng)絡(luò)的算法雖然收斂精度有所提高但又因網(wǎng)絡(luò)太過龐大不便于實際的工程應(yīng)用。另外,機器人逆運動求解實質(zhì)上是在關(guān)節(jié)空間上的非線性函數(shù)逼近,相比與BPNN,RBFNN具有逼近精度高,訓(xùn)練速度快的特點,所以更適宜機器人逆運動求解[8-9]。
本文在基于對RBF神經(jīng)網(wǎng)絡(luò)分析的基礎(chǔ)上,提出了一種用于求解機器人逆運動問題的并行RBF神經(jīng)網(wǎng)絡(luò)模型。為了在不嚴重影響求解精度的前提下提高求解速度,設(shè)計的網(wǎng)絡(luò)由兩個具有相同結(jié)構(gòu)的6輸入3輸出RBFNN組成。通過建立NACHI-MZ04型機器人的正運動學(xué)模型,求解出多組正運動學(xué)解來訓(xùn)練網(wǎng)絡(luò),然后再用部分解對訓(xùn)練好的網(wǎng)絡(luò)加以測試,以檢驗所提方法在逆運動求解中的有效性。仿真結(jié)果表明該方法滿足求解精度要求,提高了求解速度且網(wǎng)絡(luò)模型簡單。
1.1 機器人結(jié)構(gòu)參數(shù)
機器人本體可被抽象成由一系列連桿構(gòu)成的機構(gòu),各連桿通過某種運動副連接,首件固定,運動通過運動副依次傳遞到末端。其中最常見的是由6個桿件組成,它有6個運動高副,每個運動副可提供一個自由度,因此整個機構(gòu)具有6個自由度,這樣機構(gòu)末端就可在空間中達到任意位置跟姿態(tài)。Denavit和Hatenberg提出的D-H參數(shù)法是建立機器人數(shù)學(xué)模型的通用方法[10]。該方法以基座為0號依次向后對機器人連桿進行編號,同理也對連接連桿的關(guān)節(jié)(運動副)進行編號。編號后的連桿,依次在各關(guān)節(jié)軸線上建立坐標系,并采用4×4矩陣表示上編號連桿坐標系向下編號連桿坐標系的變換關(guān)系,從而可通過變換矩陣最終得到機械手端部(末桿)對基座的關(guān)系,即機器人正向運動學(xué)方程。該方法涉及的參數(shù)ai、αi、θi、di分別表示i號連桿的桿長、扭角,i號關(guān)節(jié)的變量角及偏置。NACHI MZ04機器人的D-H參數(shù)見表1。
表1 MZ04機器人D-H參數(shù)
1.2 運動學(xué)分析
機器人正運動學(xué)問題是已知機器人關(guān)節(jié)參數(shù)根據(jù)齊次變換矩陣求解機械手端部位姿的問題[11]。根據(jù)D-H法的約定給全部連桿建立好坐標系之后,可由兩個旋轉(zhuǎn)矩陣和兩個平移矩陣建立相鄰兩連桿坐標系i-1與i的轉(zhuǎn)換關(guān)系,其變換矩陣為:
(1)
其展開式即為相鄰坐標系的變換通式:
(2)
(3)
機器人逆運動求解則是在知道位姿信息的條件下求解關(guān)節(jié)參數(shù)的問題。機器人正逆運動求解問題可用圖1所示的映射關(guān)系表示。
圖1 正逆運動學(xué)關(guān)系圖
2.1 RBF神經(jīng)網(wǎng)絡(luò)簡介
RBF神經(jīng)網(wǎng)絡(luò)是典型的前向網(wǎng)絡(luò),它能以任意精度逼近任意連續(xù)函數(shù),非常適合非線性函數(shù)擬合[12]。它有固定的三層結(jié)構(gòu)模型即由輸入層、隱含層、輸出成構(gòu)成。不同網(wǎng)絡(luò)結(jié)構(gòu)都由網(wǎng)絡(luò)的核心亦是基本組成單元的RBF神經(jīng)元組成,其中具有n個輸入的RBF神經(jīng)網(wǎng)絡(luò)的神經(jīng)元結(jié)構(gòu)如圖2所示。
圖2 RBF神經(jīng)元模型
不同于其它前向網(wǎng)絡(luò),RBF網(wǎng)絡(luò)的隱含層采用徑向基函數(shù)作為激活函數(shù),且常使用高斯型函數(shù)。如圖2結(jié)構(gòu)所示,網(wǎng)絡(luò)將輸入向量x和權(quán)值向量ω的距離║dist║作為激活函數(shù)的輸入,這樣可構(gòu)成一個關(guān)于n維空間中心對稱的隱含層空間,輸入距中心點的遠近將直接影響神經(jīng)元的激活程度,這決定了RBF網(wǎng)絡(luò)是一個局部逼近網(wǎng)絡(luò),可以有較快的逼近速度。給定n個輸入樣本,則網(wǎng)絡(luò)的隱含層第k個節(jié)點的輸出可表示為:
(4)
其中,x是n維輸入向量,ci是跟x同維的隱含層第i個徑向基函數(shù)的中心,bi是決定第i個徑向基函數(shù)寬度的參數(shù),通常稱為擴展參數(shù),m為隱含層節(jié)點數(shù)。 網(wǎng)絡(luò)輸出層第j個輸出節(jié)點的輸出可表示為:
(5)
其中,θj通常取0,p為輸出層節(jié)點數(shù)。
這種網(wǎng)絡(luò)結(jié)構(gòu)的特點正好體現(xiàn)了RBF神經(jīng)網(wǎng)絡(luò)的基本思想,即以RBF函數(shù)作為隱含層的“基”,構(gòu)成隱含層空間以實現(xiàn)輸入空間到隱含層的直接非線性映射,而隱含層到輸出層又是通過線性加權(quán)完成線性映射,這樣整個網(wǎng)絡(luò)便很容易實現(xiàn)輸入空間到輸出空間的非線性映射[8,12]。另外,整個網(wǎng)絡(luò)網(wǎng)絡(luò)對可調(diào)參數(shù)又是線性的,這使得網(wǎng)絡(luò)學(xué)習(xí)速度大幅提升且避免了局部極小值問題。
2.2基于并行RBF神經(jīng)網(wǎng)絡(luò)的機器人逆運動求解模型
對于RBF神經(jīng)網(wǎng)絡(luò),即使在處理同一問題時,網(wǎng)絡(luò)輸入層和輸出層節(jié)點數(shù)對網(wǎng)絡(luò)整體規(guī)模和性能會有較顯著影響。通常輸入、輸出節(jié)點越多,要達到相同的性能要求所需的隱含層節(jié)點就會大幅增加,從而導(dǎo)致網(wǎng)絡(luò)過于龐大,這在實際工程應(yīng)用中十分不利。對于6R機器人逆運動求解問題,常見的RBF網(wǎng)絡(luò)都需要12輸入節(jié)點和6輸出節(jié)點,但是基于對網(wǎng)絡(luò)輕量化設(shè)計的考慮以及網(wǎng)絡(luò)輸入數(shù)據(jù)的內(nèi)在關(guān)系,可對輸入數(shù)據(jù)做如式(6)的處理,將其姿態(tài)矩陣參數(shù)轉(zhuǎn)化成歐拉角參數(shù)形式[13]。
φz=arctan2(ny,nx)
φy=arctan2(-nz,nxcosφz+nysinφz)
φx= arctan2(axsinφz-aycosφz,oycosφz-oxsinφz)
(6)
這樣輸入?yún)?shù)減半,然后可用兩個6輸入3輸出的并行RBF網(wǎng)絡(luò)來完成6R機器人逆運動求解?;赗BF神經(jīng)網(wǎng)絡(luò)的機器人逆運動求解模型如圖3所示。
圖3 機器人逆運動求解并行RBF神經(jīng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)圖
該并行網(wǎng)絡(luò)由兩個6輸入3輸出的RBF神經(jīng)網(wǎng)絡(luò)組成,它們有相同的輸入向量為:
網(wǎng)絡(luò)運行流程分為兩步:
(1)離線訓(xùn)練:將訓(xùn)練數(shù)據(jù)p作為各個子網(wǎng)絡(luò)的共同輸入送入整個網(wǎng)絡(luò),網(wǎng)絡(luò)根據(jù)誤差要求和特定訓(xùn)練算法不斷訓(xùn)練網(wǎng)絡(luò)直到完成離線訓(xùn)練;
(2)在線運行:訓(xùn)練好的網(wǎng)絡(luò)對在線輸入的向量進行關(guān)節(jié)空間的映射,完成逆運動學(xué)實時求解。
以NACHI-MZ04機器人為例,在Matlab Robotics工具箱中進行正運動求解得到5100組解,其中5000組數(shù)據(jù)用于網(wǎng)絡(luò)訓(xùn)練,100組數(shù)據(jù)用于網(wǎng)絡(luò)在線求解,以驗證網(wǎng)絡(luò)的性能。并行RBF神經(jīng)網(wǎng)絡(luò)的徑向基函數(shù)采用高斯函數(shù),輸出層采用線性激活函數(shù)。調(diào)用Matlab 神經(jīng)網(wǎng)絡(luò)工具箱中的newrb()函數(shù)方便高效地建立神經(jīng)網(wǎng)絡(luò)模型,將目標誤差設(shè)為0.01,然后將5000組數(shù)據(jù)作為網(wǎng)絡(luò)輸入對網(wǎng)絡(luò)進行訓(xùn)練。為比較本文采用的并行RBF網(wǎng)絡(luò)與單一RBF網(wǎng)絡(luò)的性能,本文也設(shè)計了一個12輸入6輸出的單一RBF神經(jīng)網(wǎng)絡(luò),且用于網(wǎng)絡(luò)訓(xùn)練和測試的數(shù)據(jù)都來源于同樣的數(shù)據(jù)樣本。最后將訓(xùn)練好的兩個網(wǎng)絡(luò)選用相同的5組數(shù)據(jù)進行網(wǎng)絡(luò)測試,其輸出結(jié)果如表2所示。
表2 逆運動求解結(jié)果(rad)
分析表2,顯然,與單神經(jīng)網(wǎng)絡(luò)相比本文采用的并行RBF神經(jīng)網(wǎng)絡(luò)輸出誤差小,具有更好地輸出精度。與普遍采用的多并行RBF網(wǎng)絡(luò)相比,在基本可以滿足逆運動求解精度要求的前提下,該網(wǎng)絡(luò)具有更好地收斂速度。
基于神經(jīng)網(wǎng)絡(luò)的逆運動求解算法避免了傳統(tǒng)方法中繁雜的公式推導(dǎo)。將通常采用12輸入6輸出的網(wǎng)絡(luò)用兩個6輸入3輸出的并行網(wǎng)絡(luò)代替,大幅度縮減了網(wǎng)絡(luò)復(fù)雜度。因為兩個子網(wǎng)絡(luò)并行運行,所以網(wǎng)絡(luò)在線求解速度相當于6輸入3輸出的網(wǎng)絡(luò)的運行速度,在一定程度上提高了網(wǎng)絡(luò)整體運行速度,相比于多并行網(wǎng)絡(luò),該網(wǎng)絡(luò)具有更好的實時性。
[1] De Zheng Song,Chao Yun.Kinematics Research of 6R Arc Welding Robot Based on Radial Basis Function Neural Network[J].Applied Mechanics and Materials,2012,163:247-250.
[2] Pei-Yan Zhang ,Tian-Sheng Lv ,Li-Bo Song .RBF networks-based inverse kinematics of 6Rmanipulator[J].The International Journal of Advanced Manufacturing Technology,2005,26(1-2):144-147
[3] 劉超穎,李博,王戰(zhàn)中,等.基于BP神經(jīng)網(wǎng)絡(luò)的6DOF噴漆機器人逆運動學(xué)研究[J].機械設(shè)計與制造,2012(9):170-172.
[4]Chiddarwar Shital S,Ramesh Babu N.Comparison of RBF and MLP neural networks to solve inverse kinematic problem for 6R serial robot by a fusion approach[J].Engineering Applications of Artificial Intelligence: The International Journal of Intelligent Real-Time Automation,2010,123(7):1083-1092.
[6] 臧慶凱,李春貴,鐘宛余.基于RBF和BP網(wǎng)絡(luò)的機器人逆運動學(xué)求解[J].廣西工學(xué)院學(xué)報,2013,23(1):28-33.
[7] 臧慶凱,李春貴,鐘宛余.基于三個并行BP神經(jīng)網(wǎng)絡(luò)的機器人逆運動學(xué)求解[J].計算機測量與控制,2012,20(8):2244-2247.
[8] 叢爽.徑向基函數(shù)網(wǎng)絡(luò)的功能分析與應(yīng)用的研究[J].計算機工程與應(yīng)用,2002,38(3):85-87.
[9] 陳平,劉國海.基于RBF神經(jīng)網(wǎng)絡(luò)的MOTOMAN -UPJ型機器人運動學(xué)逆解[J].機床與液壓,2006,34(12):72-74.
[10] 張新敏,朱學(xué)軍,趙晨晨,等.基于MATLAB的HP20機器人運動學(xué)分析與仿真[J].制造業(yè)自動化,2014,36(13):12-15.
[11] 林立俊,柳和生,饒錫新,等.基于MATLAB的ARB-120型機器人運動學(xué)仿真研究[J].組合機床與自動化加工技術(shù),2013(3):67-69.
[12] 劉冰,郭海霞.MATLAB 神經(jīng)網(wǎng)絡(luò)超級學(xué)習(xí)手冊[M].北京:人民郵電出版社,2014.
[13] 榮盤祥,楊晶,胡林果,等.基于RBF網(wǎng)絡(luò)的SCARA機器人的運動學(xué)逆解[J].電機與控制學(xué)報,2007,11(3):303-305.
SolutiontoInverseKinematicsofRobotBasedonParallelRBFNeuralNetworks
XIONG Chaoa, ZHANG Peng-chaob, FENG Bo-lina, HE Yang-yanga, DU Xiao-xionga
(a.School of Mechanical Engineering; b.Key Laboratory of Industrial Automation of Shaanxi Province, Shaanxi University of Technology, Hanzhong Shaanxi 723001, China)
The traditional solutions to the inverse kinematics of the robot is very complicated because of the need of a large number of formula derivation. And,the new neural network-based algorithms always have some limitations and shortcomings,therefore,in this paper,it devotes to find a simple and fast method of solving inverse kinematics based on the analysis of the existing neural network models. So, considering the outstanding performance of RBF neural network in nonlinear function approximation, this paper puts out a parallel neural networks modal which have two RBF neural network with the same structure. Taking NACHI-MZ04 robot as an example, modeling of kinematics at first , it manipulates the necessary data for training and testing the neural networks , then based on neural network toolbox, it builds the network model which it trains and tests after setting it up, and finally it meets the precision requirement of network model. It shows that the method applied to the solution of the inverse kinematics has good application results and is worth using widely.
inverse kinematics; MZ04 robot ;parallel neural networks
TH165;TG659
A
(編輯李秀敏)