国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于BP神經(jīng)網(wǎng)絡的冗余機械臂逆運動學分析

2020-01-03 07:23劉世平曹俊峰胡江波李世其
中國機械工程 2019年24期
關鍵詞:運動學神經(jīng)元軌跡

劉世平 曹俊峰 孫 濤 胡江波 付 艷 張 帥 李世其

華中科技大學機械科學與工程學院,武漢,430074

0 引言

目前常見的機械臂自由度數(shù)大多不超過6,在給定末端位姿的情況下,機械臂各關節(jié)的關節(jié)角有限制。機械臂各關節(jié)角處于奇異形位時,機械臂可能出現(xiàn)無解的情況。冗余機械臂自由度大于末端位姿參數(shù)個數(shù)時,關節(jié)空間中有無數(shù)組解與特定末端位姿對應。與非冗余機械臂相比,冗余機械臂能實現(xiàn)避障[1],具有容錯[2]和關節(jié)力矩優(yōu)化[3]等功能,但冗余特性使其逆運動學解法過于繁雜,限制了冗余機械臂的應用。機械臂運動學求解是機械臂位置控制的基礎,主要用于機械臂末端執(zhí)行器的精確定位和軌跡規(guī)劃,因此研究如何快速獲取精確的機械臂逆運動學模型,實現(xiàn)逆運動學求解具有重要的現(xiàn)實意義。

七自由度冗余機械臂逆運動學求解方法主要有幾何解法[4]、代數(shù)解法[5-6]和迭代解法[7]。幾何解法通用性很差,具有一定的局限性且建模求解過程比較復雜,但具有計算較快、精度較高的優(yōu)勢[8]。代數(shù)解法在求解過程中涉及到的坐標變換較多,運動學求解精度不高,有一定的誤差。迭代解法通過大量數(shù)據(jù)進行反復迭代,計算量很大,不適用于實時在線任務。SHIMIZU等[9]提出了臂形角的概念,將冗余機械臂的前三個關節(jié)、第四個關節(jié)、后三個關節(jié)分別類比于人體的肩關節(jié)、肘關節(jié)和腕關節(jié),通過建立臂形角的約束來參數(shù)化求解冗余機械臂的逆運動學。OZGOREN等[10]采用解析法完成了冗余機械臂的逆運動學求解并進行了相應的優(yōu)化,但求解過程復雜,求解精度不高。SINGH等[11]在完成機械臂幾何構型分析的基礎上,通過旋轉角表示并確定肘關節(jié)的位置,進而完成其他關節(jié)角的運動學求解。LUO等[12]為解決具有關節(jié)偏置的機械手運動學求解問題,詳細分析了將不同關節(jié)角作為冗余參數(shù)的情況。為了克服傳統(tǒng)方法的不足,遺傳算法[13]、神經(jīng)網(wǎng)絡[14]等已用于機械臂逆運動問題的求解。KARLIK等[15]證明了雙隱層 BP 神經(jīng)網(wǎng)絡結構在解決機械臂逆運動學問題時具有優(yōu)勢。董云等[16]結合解析法和遺傳算法尋找最優(yōu)關節(jié)角,以實現(xiàn)機器人避障及冗余機械手控制。

本文以某型七自由度冗余機械臂為平臺,通過建立BP神經(jīng)網(wǎng)絡模型來解決七自由度冗余機械臂逆運動學問題。該方法首先采集10 000組機械臂末端位姿數(shù)據(jù)及對應的各個關節(jié)角度,然后通過訓練數(shù)據(jù)擬合出機械臂逆運動學模型,根據(jù)末端位姿反解各關節(jié)角度。通過Baxter機械臂在實際運動中獲取的數(shù)據(jù)訓練后,BP神經(jīng)網(wǎng)絡進行逆運動學求解得到的結果是有效的單一解,關節(jié)角變化是連續(xù)光滑的,可以滿足運動要求。

1 BP神經(jīng)網(wǎng)絡的搭建

針對Baxter機械臂的逆運動學求解問題,本文建立的BP神經(jīng)網(wǎng)絡模型中,輸入層有6個神經(jīng)元,輸入數(shù)據(jù)包括3個平移和3個旋轉的機械臂末端位姿信息;輸出層有7個神經(jīng)元,輸出數(shù)據(jù)為機械臂的關節(jié)角度。BP神經(jīng)網(wǎng)絡具體訓練步驟如下:

(1)神經(jīng)網(wǎng)絡參數(shù)的初始化設置。神經(jīng)網(wǎng)絡的權值和偏置的初始值不能為零,否則會出現(xiàn)權值無法根據(jù)輸出誤差進行有效學習的問題,因此需指定區(qū)間(-1,1),根據(jù)一定的概率分布函數(shù),將各個權值和偏置賦予相應的隨機值,完成初始化設置。同時對收斂精度ε進行設置,根據(jù)預期響應時間,設置最大迭代次數(shù)N0,把學習速率α設置為0、1內(nèi)的小數(shù)。

(2)完成數(shù)據(jù)的正向傳播。在神經(jīng)網(wǎng)絡模型中輸入數(shù)據(jù),經(jīng)過隱藏層的多次非線性變換,在輸出層輸出結果。輸出層輸出數(shù)據(jù)為

(1)

(2)

(3)完成整體樣本代價函數(shù)的計算。根據(jù)訓練樣本的N組輸入數(shù)據(jù)確定整體樣本代價函數(shù):

(3)

式中,λ為權重衰減參數(shù);hW,b(*)為激勵函數(shù);x(i)為第i個輸入數(shù)值;y(i)為第i個輸出數(shù)值;nl為神經(jīng)網(wǎng)絡模型的總層數(shù)。

函數(shù)計算值趨于穩(wěn)定后,若其大于收斂精度ε,則結束前向傳播,開始誤差反向傳播,完成進一步的計算;反之則認為模型訓練結束,模型參數(shù)已準確設置。

(4)完成誤差反向傳播,得到整體樣本代價函數(shù)的偏導數(shù),并調(diào)整權重大小。其過程如下:

(4)

(5)

按照步驟(1)設置神經(jīng)網(wǎng)絡模型基本參數(shù),依次經(jīng)過步驟(2) ~ (4)后,模型的權重與偏置都發(fā)生變化。重復循環(huán)步驟(2) ~ (4)訓練模型,直到模型的輸出誤差小于預設的收斂精度或訓練次數(shù)超過預設的最大次數(shù)。訓練次數(shù)超過預設的最大次數(shù)時,若模型的輸出誤差仍不收斂,則重新構建并訓練新的神經(jīng)網(wǎng)絡模型,得到準確的冗余機械臂逆運動學模型。

2 BP神經(jīng)網(wǎng)絡的優(yōu)化

(θ1,θ2,…,θ7)T=T(x,y,z,θx,θy,θz)T

式中,T為7×6的矩陣,其他變量均為數(shù)值。

激勵函數(shù)、隱藏層神經(jīng)元數(shù)量Nn、神經(jīng)網(wǎng)絡層數(shù)NL、學習速率α都會對BP神經(jīng)網(wǎng)絡最終的模型擬合精度造成很大的影響,因此本文利用大量的實驗數(shù)據(jù)進行模型的訓練,確定合適的模型參數(shù)和結構,建立準確、合理、適用的冗余機械臂逆運動學求解模型。

2.1 激勵函數(shù)的選擇

神經(jīng)網(wǎng)絡中,多個線性輸入與非線性輸出之間的映射關系是通過構建激勵函數(shù)來實現(xiàn)的。本文引入能夠增加非線性因素的激勵函數(shù)來進行模型的擬合。針對Baxter冗余機械臂的特點,將單極性sigmod函數(shù)、雙曲正切tanh函數(shù)和ReLu(rectified linear unit)函數(shù)進行組合,通過分析9種不同神經(jīng)網(wǎng)絡模型的擬合效果來選擇適合的激勵函數(shù)。使用訓練集數(shù)據(jù),訓練神經(jīng)網(wǎng)絡模型并得到其模型參數(shù),使用交叉驗證集內(nèi)的數(shù)據(jù)檢測其模型的輸出誤差,得到相應的結果。

根據(jù)結果可知,將ReLu函數(shù)作為激勵函數(shù)時,輸出誤差能夠穩(wěn)定收斂并達到最小,說明模型參數(shù)在訓練過程中不斷逼近其真實值,因此將ReLu函數(shù)作為神經(jīng)網(wǎng)絡模型中各個神經(jīng)層的激勵函數(shù)。

2.2 隱藏層神經(jīng)元數(shù)量

神經(jīng)元數(shù)量Nn與神經(jīng)網(wǎng)絡模型的訓練精度及擬合效果呈現(xiàn)正相關的關系,為了提高神經(jīng)網(wǎng)絡模型的訓練精度,可增加隱藏層的神經(jīng)元。然而,神經(jīng)元的增加會提高神經(jīng)網(wǎng)絡模型的訓練難度,從而導致過擬合。為了選擇合理的隱藏層神經(jīng)元數(shù)量,本文設置不同的隱藏層神經(jīng)元數(shù)量,模型輸出誤差

不同隱藏層神經(jīng)元數(shù)量(Nn=10,12,14,16,18,20)模型的輸出誤差都可以穩(wěn)定收斂到最小,且輸出誤差不會隨隱藏層神經(jīng)元的增加而產(chǎn)生太大變化;神經(jīng)元過多將導致模型變得復雜,訓練時間也相應延長。16個神經(jīng)元模型的收斂最快,其原因在于增加神經(jīng)元將有效增強神經(jīng)網(wǎng)絡模型的擬合能力,提高模型收斂速度,因此本文選擇16個隱藏層神經(jīng)元的神經(jīng)網(wǎng)絡模型。

2.3 神經(jīng)網(wǎng)絡的層數(shù)

理論上,含有至少1個非線性隱藏層和1個線性輸出層的BP神經(jīng)網(wǎng)絡能夠逼近任何有理函數(shù)。增加BP神經(jīng)網(wǎng)絡模型中的隱藏層雖然可以提高擬合精度,但會導致網(wǎng)絡結構復雜化和過擬合,進而延長神經(jīng)網(wǎng)絡模型參數(shù)的訓練周期,降低模型的泛化性。本文分別選擇不同層數(shù)(NL=3,4,5)的神經(jīng)網(wǎng)絡模型進行實驗,并得到其輸出誤差。不同層數(shù)的神經(jīng)網(wǎng)絡模型的輸出誤差都能夠收斂到最小,且輸出誤差不會隨隱藏層的增加而減小,因此,增加神經(jīng)網(wǎng)絡模型的層數(shù)并不會明顯提高其精度,反而會將模型復雜化。本文最終采用3層神經(jīng)網(wǎng)絡模型來建立Baxter機械臂的冗余機械臂逆運動學求解模型。

2.4 學習速率

神經(jīng)網(wǎng)絡模型的學習速率與神經(jīng)網(wǎng)絡權重變化量的大小成正相關的關系。較大的學習速率導致神經(jīng)網(wǎng)絡權重的變化量很大,使模型收斂不穩(wěn)定;較小的學習速率導致神經(jīng)網(wǎng)絡權重的變化量很小,使模型收斂時間較長,甚至難以在最大迭代次數(shù)之前收斂到最優(yōu)解。本文分別設置了不同學習速率(α=0.000 1,0.001,0.01,0.1)以求出模型的輸出誤差。學習速率大于0.001的模型輸出誤差波動,難以收斂;學習速率不大于0.001的模型能夠很好地穩(wěn)定收斂到最優(yōu)解,且收斂速度隨學習速率的增大而加快。綜合考慮系統(tǒng)的收斂速度和穩(wěn)定性,本文選擇學習速率為0.001的神經(jīng)網(wǎng)絡模型。

3 實驗設計與驗證

為驗證上述神經(jīng)網(wǎng)絡模型計算機械臂逆解的有效性與精確度,設計了軌跡跟蹤實驗來進行數(shù)據(jù)分析。實驗任務要求如下:給定機械臂末端不同的運動軌跡,利用BP神經(jīng)網(wǎng)絡模型反解出各關節(jié)角度,控制機械臂按照各關節(jié)角運動,機械臂末端的實際運動軌跡與期望軌跡保持一致。設定的機械臂末端運動軌跡包括一個圓心坐標為(0.63 m, 0.38 m,0.05 m)、半徑為0.1 m的圓,和一段起始點坐標分別為(0.73 m, 0.38 m, 0.05 m)和(0.73 m, 0.58 m, 0.25 m)的直線。對圓和直線軌跡進行插值,插值點總數(shù)為600,記錄每個插值點的位姿,將各個插值點的位姿作為BP神經(jīng)網(wǎng)絡模型的輸入數(shù)據(jù),通過該模型預測出對應各關節(jié)角度。

將預測的各關節(jié)角度依次發(fā)送給機械臂控制器,使其控制機械臂各關節(jié)運動,運動軌跡如圖1所示,圖中圓點為機械臂實際運動軌跡,曲線為期望運動軌跡。由圖1可以看出,實際運動軌跡與期望運動軌跡幾乎重合。經(jīng)過計算,機械臂末端運動軌跡為圓時,擬合誤差(實際運動軌跡與期望運動軌跡的誤差)為9.8 mm;機械臂末端運動軌跡為直線時,擬合誤差為1.6 mm。在實際任務中,該誤差是可以接受的,能滿足我們的運動要求。這表明通過建立BP神經(jīng)網(wǎng)絡來擬合機械臂逆運動學模型的方法是可行的,并且求解精度較高,可以滿足實際需求。

(a) 圓軌跡

(b) 直線軌跡

4 結論

本文針對Baxter七自由度機械臂,通過搭建BP神經(jīng)網(wǎng)絡模型來實現(xiàn)冗余機械臂逆運動學的求解,建立了冗余機械臂工作空間到關節(jié)空間的映射關系,選擇了適合的神經(jīng)網(wǎng)絡模型激勵函數(shù)、隱藏層神經(jīng)元數(shù)量、神經(jīng)網(wǎng)絡層數(shù)、學習速率。軌跡跟蹤實驗表明,利用BP神經(jīng)網(wǎng)絡來擬合機械臂逆運動學模型的方法是可行的。

猜你喜歡
運動學神經(jīng)元軌跡
軌跡
軌跡
基于MATLAB的6R機器人逆運動學求解分析
工業(yè)機器人在MATLAB-Robotics中的運動學分析
軌跡
躍動的神經(jīng)元——波蘭Brain Embassy聯(lián)合辦公
進化的軌跡(一)——進化,無盡的適應
基于運動學原理的LBI解模糊算法
毫米波導引頭預定回路改進單神經(jīng)元控制
側腦室注射DIDS對缺血再灌注腦損傷大鼠神經(jīng)元凋亡的拮抗作用
双辽市| 黔西| 岳阳县| 德格县| 天门市| 宝坻区| 新蔡县| 仁布县| 璧山县| 鄂托克前旗| 灵武市| 乌拉特中旗| 巴塘县| 玉林市| 马关县| 乐山市| 上林县| 府谷县| 太白县| 怀集县| 扶绥县| 肥东县| 宁河县| 龙门县| 德化县| 阜康市| 济宁市| 金秀| 呼和浩特市| 尉犁县| 泸溪县| 永靖县| 镶黄旗| 宁明县| 安宁市| 南川市| 六枝特区| 黔南| 色达县| 靖安县| 龙井市|