• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      空間3R機(jī)械手逆向運(yùn)動(dòng)學(xué)的多模塊神經(jīng)網(wǎng)絡(luò)求解

      2019-05-31 08:46:56游雨龍
      中國(guó)機(jī)械工程 2019年10期
      關(guān)鍵詞:運(yùn)動(dòng)學(xué)機(jī)械手連桿

      肖 帆 李 光 游雨龍

      湖南工業(yè)大學(xué)機(jī)械工程學(xué)院,株洲,412007

      0 引言

      機(jī)器人逆運(yùn)動(dòng)學(xué)求解作為機(jī)器人離線編程、軌跡規(guī)劃、控制算法設(shè)計(jì)等其他課題研究的基礎(chǔ),一直是機(jī)器人學(xué)中的一個(gè)經(jīng)典問題,同樣也是研究熱點(diǎn)[1]。逆運(yùn)動(dòng)學(xué)求解的實(shí)質(zhì)是完成機(jī)器人工作空間到關(guān)節(jié)空間的映射,它們之間的映射關(guān)系是非線性且多耦合的,問題比較復(fù)雜。很多學(xué)者在該領(lǐng)域做了大量研究與探索,提出了許多理論與方法。傳統(tǒng)方法有解析法[2]、幾何法[3]和迭代法[4]等。在求機(jī)器人逆運(yùn)動(dòng)學(xué)解問題中,解析法計(jì)算較為復(fù)雜,但是在機(jī)器人滿足PEIPER[5]、DUFFY[6]分別提出的結(jié)構(gòu)特點(diǎn)時(shí),可以得到全部解;幾何法針對(duì)機(jī)器人的某些特殊結(jié)構(gòu)進(jìn)行簡(jiǎn)化,再進(jìn)行求解,一般無(wú)法單獨(dú)使用甚至根本無(wú)法使用[7];迭代法受到初始值選取的約束,只能求得一組逆運(yùn)動(dòng)學(xué)解。

      雖然傳統(tǒng)方法中解析法和幾何法能求機(jī)器人逆運(yùn)動(dòng)學(xué)的多解,但是需要滿足特殊結(jié)構(gòu)。隨著機(jī)器人結(jié)構(gòu)復(fù)雜化和計(jì)算機(jī)發(fā)展的突飛猛進(jìn),現(xiàn)代智能算法[8-10]被應(yīng)用來(lái)求逆運(yùn)動(dòng)學(xué)解。

      神經(jīng)網(wǎng)絡(luò)對(duì)連續(xù)函數(shù)具有非常好的擬合能力及泛化能力,尤其是后者,使其被廣泛應(yīng)用于機(jī)器人逆運(yùn)動(dòng)學(xué)求解中。通常,在使用神經(jīng)網(wǎng)絡(luò)求機(jī)器人的逆運(yùn)動(dòng)學(xué)解時(shí),采用如下思路進(jìn)行:通過(guò)正向運(yùn)動(dòng)學(xué),得出關(guān)節(jié)空間Q對(duì)應(yīng)的工作空間位姿T,從而得到學(xué)習(xí)樣本中輸入與輸出關(guān)系T→Q。在這種學(xué)習(xí)樣本獲取方法中,無(wú)法準(zhǔn)確地建立一組位姿對(duì)應(yīng)多組逆解,而只能建立一組位姿對(duì)應(yīng)一組逆解的訓(xùn)練方式,這會(huì)導(dǎo)致在存在逆運(yùn)動(dòng)學(xué)多解的區(qū)域用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)求解時(shí)得到的是一個(gè)折中的結(jié)果。

      文獻(xiàn)[9]提出在關(guān)節(jié)子空間下,使用6個(gè)子神經(jīng)網(wǎng)絡(luò)組成的多層感知結(jié)構(gòu),解決了平面二連桿機(jī)器人逆運(yùn)動(dòng)學(xué)多解問題。文獻(xiàn)[10]使用三層BP神經(jīng)網(wǎng)絡(luò),通過(guò)增加方位角作為輸入?yún)?shù),消除了輸入-輸出間的映射錯(cuò)誤關(guān)系。雖然文獻(xiàn)[9]和文獻(xiàn)[10]提出了應(yīng)用神經(jīng)網(wǎng)絡(luò)解決機(jī)器人逆運(yùn)動(dòng)學(xué)多解的方法,但是二者都是在工作空間為二維平面運(yùn)動(dòng)的機(jī)器人中實(shí)現(xiàn)的,都沒有解決三維工作空間中逆運(yùn)動(dòng)學(xué)多解的問題。末端執(zhí)行器在三維工作空間的逆運(yùn)動(dòng)學(xué)多解問題遠(yuǎn)比二維平面的復(fù)雜。文獻(xiàn)[11]提出多神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的方式,求得了高精度的空間3R機(jī)械手的逆運(yùn)動(dòng)學(xué)完備解。

      本文通過(guò)對(duì)空間3R機(jī)械手進(jìn)行幾何分析,確定了在關(guān)節(jié)空間中逆運(yùn)動(dòng)學(xué)多解的分布規(guī)律,根據(jù)該規(guī)律將關(guān)節(jié)空間劃分為4個(gè)子空間,每個(gè)子空間用3個(gè)BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練及求解,并在每個(gè)神經(jīng)網(wǎng)絡(luò)的輸入中,增加繞Z軸旋轉(zhuǎn)的矩陣元素作為特征參數(shù);并進(jìn)行了仿真驗(yàn)證。

      1 三連桿機(jī)器人運(yùn)動(dòng)學(xué)分析

      1.1 正向運(yùn)動(dòng)學(xué)模型

      圖1a所示是空間3R機(jī)械手,其中(p?x?,p?y?,p?z?)表示末端執(zhí)行器的空間位置,關(guān)節(jié)1的軸線為鉛垂方向且和關(guān)節(jié)2的軸線垂直,其交點(diǎn)與基座的距離為L(zhǎng)?1;關(guān)節(jié)2和關(guān)節(jié)3的軸線水平且平行,距離為L(zhǎng)?2;末端執(zhí)行器與關(guān)節(jié)3軸線的距離為L(zhǎng)?3。根據(jù)標(biāo)準(zhǔn)D-H坐標(biāo)[12]建立圖1b所示連桿坐標(biāo)系,相應(yīng)的連桿參數(shù)列于表1。其中,L?1=783 mm,L?2=702.5 mm,L?3=651 mm,α?1=π/2。根據(jù)表1所示連桿參數(shù)可求得其正向運(yùn)動(dòng)學(xué)方程為

      (1)

      (a)空間3R機(jī)械手

      (b)D-H坐標(biāo)系圖1 空間3R機(jī)械手及其連桿坐標(biāo)系Fig.1 Space 3R manipulator and its linkagecoordinate system

      表1 空間3R機(jī)械手連桿參數(shù)

      1.2 基于幾何分析的關(guān)節(jié)子空間劃分

      (a)組合1

      (b)組合2圖2 觀察視角Fig.2 Observation perspective

      根據(jù)上述記法,將表1中的關(guān)節(jié)空間劃分為表2中的4個(gè)子空間。

      表2 關(guān)節(jié)子空間

      1.3 特征參數(shù)

      三連桿機(jī)械手的工作空間可以理解為二連桿形成的平面工作空間繞Z?軸旋轉(zhuǎn)形成的三維圖,因此,表2中的4個(gè)區(qū)域在Z?軸上的位置仍然有無(wú)窮多組解。參考文獻(xiàn)[9]對(duì)接近點(diǎn)的描述可知,以ε?(ε?為最小正實(shí)數(shù))為半徑、Z?軸為旋轉(zhuǎn)軸的鄰域內(nèi),在用神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)也會(huì)存在映射錯(cuò)誤。

      假設(shè)每個(gè)區(qū)域的θ?1都平分成n?-1份,則每個(gè)區(qū)域?qū)?yīng)的工作空間將由n?個(gè)平面組成,在第i?個(gè)平面中,末端執(zhí)行器的位置都相同地增加一個(gè)繞Z?軸旋轉(zhuǎn)θ?1i?的旋轉(zhuǎn)矩陣R:

      θ?1i?=arctan2p?y?,p?x?

      (2)

      R=rotzθ?1i?

      (3)

      式(2)用于Zone1和Zone2中時(shí),每個(gè)平面只需選擇一個(gè)滿足p?y?>0,p?x?≠0的點(diǎn)即可;式(2)用于Zone3和Zone4中時(shí),同樣只需選擇一個(gè)滿足p?y?≤0,p?x?≠0的點(diǎn)即可。

      2 BP神經(jīng)網(wǎng)絡(luò)及其MATLAB實(shí)現(xiàn)

      2.1 BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)

      BP神經(jīng)網(wǎng)絡(luò)具有多層結(jié)構(gòu),分別是輸入層、一層或多層隱含層、輸出層。各層神經(jīng)元之間是全連接的,層內(nèi)無(wú)連接。隱含層各神經(jīng)元節(jié)點(diǎn)采用Sigmoid函數(shù)[13]作為激勵(lì)函數(shù)。圖3所示是一個(gè)三層的BP神經(jīng)網(wǎng)絡(luò),其中閾值未畫出。

      圖3 三層BP神經(jīng)網(wǎng)絡(luò)Fig.3 Three-layer BP neural network

      圖3中,輸入層有M?個(gè)神經(jīng)元,輸入向量X=(x?1,x?2,…,x?M?)T;隱含層有I?個(gè)神經(jīng)元;輸出層有J?個(gè)神經(jīng)元,輸出向量Y=(y?1,y?2,…,y?J?)T;ω?mi?是輸入層與隱含層之間的權(quán)值,ω?ij?是隱含層與輸出層之間的權(quán)值,隱含層各神經(jīng)元閾值為a?i?(i?=1,2,…,I?),輸出層各神經(jīng)元閾值為b?j?(j?=1,2,…,J?)。

      根據(jù)圖3可以得到網(wǎng)絡(luò)的輸出:

      (4)

      j?=1,2,…,J?

      式中,f?(·)為隱含層的激勵(lì)函數(shù)。

      2.2 MATLAB神經(jīng)網(wǎng)絡(luò)工具箱

      在MATLAB中可通過(guò)以下步驟訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)[14]。

      (1)創(chuàng)建前向神經(jīng)網(wǎng)絡(luò):

      net?=feedforwardnet?(hiddenSizes?,trainFcn?)

      (5)

      其中,hiddenSizes?表示隱含層的規(guī)模,列數(shù)表示隱含層數(shù),每列的數(shù)值表示各隱含層神經(jīng)元個(gè)數(shù);trainFcn?是訓(xùn)練權(quán)值的算法,默認(rèn)為“trainlm”,即LM算法(Levenberg-Marquadt算法)。LM算法將梯度下降法與高斯-牛頓法相結(jié)合,既有高斯-牛頓法的局部收斂性,又具有梯度下降法的全局特性[15]。

      (2)參數(shù)設(shè)定。net?.trainParam?.epochs?為迭代最大輪數(shù);net?.trainParam?.max_fail?為訓(xùn)練最大的失敗次數(shù),默認(rèn)為6;net?.divideParam?.trainRatio?為訓(xùn)練樣本占總樣本百分比,默認(rèn)75%;net?.divideParam?.valRatio?為校驗(yàn)樣本占總樣本百分比,默認(rèn)15%;net?.divideParam?.testRatio?為測(cè)試樣本占總樣本百分比,默認(rèn)15%。net?.trainParam?.goal?為目標(biāo)誤差。

      (3)訓(xùn)練BP神經(jīng)網(wǎng)絡(luò):

      [net?,TR?]=train?(net?,Ptrain,Ttrain)

      (6)

      式中,Ptrain為訓(xùn)練樣本的輸入矩陣;Ttrain為訓(xùn)練樣本的輸出矩陣;TR?為記錄訓(xùn)練的結(jié)果。

      (4)預(yù)測(cè)數(shù)據(jù):

      Y=net?(Ttest)

      (7)

      式中,Y為網(wǎng)絡(luò)預(yù)測(cè)結(jié)果;Ttest為需要預(yù)測(cè)的輸入。

      2.3 樣本選取

      采用以下方式得到訓(xùn)練樣本,在Zonei?(i?=1,2,3,4)中,先將θ?j?(j?=1,2,3)平均分成M?θ?、I?θ?、H?θ?,然后將θ?j?進(jìn)行組合,如圖4所示。

      圖4 關(guān)節(jié)角的組合Fig.4 Combination of joint angle

      Zonei?中的關(guān)節(jié)角組合均為M?θ?×I?θ?×H?θ?組,記為Qi?(i?=1,2,3,4)。

      2.4 網(wǎng)絡(luò)的輸入輸出

      LM算法訓(xùn)練權(quán)值時(shí),在每輪計(jì)算中均會(huì)存儲(chǔ)一個(gè)M?×P?×N?(M?為輸出神經(jīng)元個(gè)數(shù),P?為樣本個(gè)數(shù),N?為權(quán)值與閾值的總個(gè)數(shù))的雅可比矩陣,雅可比矩陣的大小直接影響網(wǎng)絡(luò)的訓(xùn)練速度。每個(gè)網(wǎng)絡(luò)只用一個(gè)關(guān)節(jié)角作為輸出與多個(gè)關(guān)節(jié)角作為輸出相比,可以大大地提高訓(xùn)練速度,減小各網(wǎng)絡(luò)的計(jì)算開支,加之LM算法具有收斂快、誤差小的特點(diǎn),從而使得每個(gè)網(wǎng)絡(luò)可以在更短的訓(xùn)練時(shí)間內(nèi)收斂。

      2.5 預(yù)測(cè)效果評(píng)定

      用θ?Pij?(i?=1,2,3;j?=1,2,…,N?)表示預(yù)測(cè)得到的關(guān)節(jié)角,θ?Tij?(i?=1,2,3;j?=1,2,…,N?)表示實(shí)際的關(guān)節(jié)角,(x?Tj?,y?Tj?,z?Tj?)表示實(shí)際位置,(x?Pj?,y?Pj?,z?Pj?)表示預(yù)測(cè)位置,其中i?是關(guān)節(jié)角序號(hào),N?是測(cè)試樣本數(shù)量。評(píng)價(jià)指標(biāo)公式如下:

      e?j?=θ?Tij?-θ?Pij?

      (8)

      (9)

      式中,e?j?為預(yù)測(cè)的關(guān)節(jié)角與實(shí)際關(guān)節(jié)角間的誤差;E?j?為實(shí)際笛卡兒坐標(biāo)與預(yù)測(cè)笛卡兒坐標(biāo)之間的絕對(duì)誤差。

      3 輸入點(diǎn)區(qū)域識(shí)別及逆運(yùn)動(dòng)學(xué)求解

      3.1 輸入點(diǎn)的識(shí)別方法

      由于在整個(gè)工作空間中,部分區(qū)域?qū)⒉淮嬖谒慕M逆運(yùn)動(dòng)學(xué)解,在進(jìn)行預(yù)測(cè)前,需要確定如何選用訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)。本文使用投影識(shí)別方法確定輸入點(diǎn)所在的工作子空間。

      (1)工作子空間輪廓的投影方法。在OXY?平面中,邊界條件為θ?1的取值范圍;在OXZ?平面中,投影輪廓根據(jù)表1中各關(guān)節(jié)子空間取值范圍代入式(1)得到,其中Zone1和Zone2的θ?1都取0°,Zone3和Zone4的θ?1都取π(或-π)。

      (3)識(shí)別點(diǎn)的判據(jù)。若θ?在Zonei?的θ?1范圍內(nèi),且在OXZ?的投影坐標(biāo)也屬于Zonei?的輪廓范圍,則輸入點(diǎn)屬于Zonei?,其中有一條不符合則不屬于Zonei?。

      3.2 逆運(yùn)動(dòng)學(xué)求解

      對(duì)每個(gè)工作子空間都建立一個(gè)區(qū)域識(shí)別器Recognition Unit,簡(jiǎn)寫為RU?i?(i?=1,2,3,4),RU?i?與net?i?串聯(lián)且每個(gè)net?i?中有3個(gè)子神經(jīng)網(wǎng)絡(luò),分別為net?ij?(i?=1,2,3,4;j?=1,2,3)。當(dāng)位置輸入時(shí),先通過(guò)每個(gè)識(shí)別器進(jìn)行識(shí)別,符合其條件的,添加旋轉(zhuǎn)4矩陣,再輸入到與之對(duì)應(yīng)的BP神經(jīng)網(wǎng)絡(luò)中求逆運(yùn)動(dòng)學(xué)解。

      Zone1和Zone2中,p?y?>0的部分仍然用式(2)求θ?1i?,p?y?≤0的部分用式(10)求θ?1i?;Zone3和Zone4中,p?y?≤0的部分仍然用式(2)求θ?1i?,p?y?>0的部分用式(11)求θ?1i?。位于Z?軸上的點(diǎn),以實(shí)際需要給予一個(gè)θ?1i?:

      θ?1i?=π+arctan2p?y?,p?x?

      (10)

      θ?1i?=arctan2p?y?,p?x?-π

      (11)

      圖5為逆運(yùn)動(dòng)學(xué)求解流程圖,圖中的net?i?均表示已訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)。net?i?若是有輸出,表示該點(diǎn)在相應(yīng)的關(guān)節(jié)子空間有逆運(yùn)動(dòng)學(xué)解,net?i?沒有輸出,則表示該點(diǎn)在相應(yīng)的關(guān)節(jié)子空間中沒有對(duì)應(yīng)的逆運(yùn)動(dòng)學(xué)解。輸出Qi?的個(gè)數(shù),表示存在逆向運(yùn)動(dòng)學(xué)解的組數(shù)。

      圖5 逆運(yùn)動(dòng)學(xué)求解流程Fig.5 Inverse kinematics solution flow

      4 算例

      4.1 BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練及結(jié)果分析

      取2.3節(jié)的M?θ?=18,I?θ?=16,H?θ?=14,Zonei?均得到4 032組樣本,使用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱創(chuàng)建BP神經(jīng)網(wǎng)絡(luò),篇幅所限,僅列出Zone1中net?1j?(1,2,3)的訓(xùn)練和求解結(jié)果進(jìn)行分析。

      每個(gè)神經(jīng)網(wǎng)絡(luò)的參數(shù)如下:net?11中,hiddenSizes?=[8,8,8];net?.trainParam?.epochs?=6 000;net?12中,hiddenSizes?=[13,12,10],net?.trainParam?.epochs?=6 000;net?13中,hiddenSizes?=[13,12,11],net?.trainParam?.epochs?=6 000。

      每個(gè)BP神經(jīng)網(wǎng)絡(luò)中的樣本均分為訓(xùn)練樣本、校驗(yàn)樣本、測(cè)試樣本,各樣本所占比例為2.2節(jié)中的默認(rèn)值,net?.trainParam?.goal?均設(shè)為10-10,其余參數(shù)均設(shè)為默認(rèn)值。

      圖6~圖8所示分別為Zone1中BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程、測(cè)試樣本中各關(guān)節(jié)角預(yù)測(cè)誤差、測(cè)試樣本中預(yù)測(cè)位置與實(shí)際位置間的絕對(duì)誤差。

      (a)net11訓(xùn)練及預(yù)測(cè)均方差

      (b)net12訓(xùn)練及預(yù)測(cè)均方差

      (c)net13訓(xùn)練及預(yù)測(cè)均方差圖6 各BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程Fig.6 Training process of each BP neural network

      在每個(gè)區(qū)域中雖然使用了3個(gè)BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練,但是各區(qū)域內(nèi)網(wǎng)絡(luò)依次訓(xùn)練的時(shí)間之和均在30 min內(nèi),與文獻(xiàn)[11]相比,網(wǎng)絡(luò)訓(xùn)練的輪數(shù)或時(shí)間均大大減少。文獻(xiàn)[11]中關(guān)節(jié)角預(yù)測(cè)誤差分別為±0.06°,±0.15°,±0.05°,而本文的關(guān)節(jié)角誤差分別為±0.002°,±0.05°,±0.02°,位置誤差在0.04 mm內(nèi)。通過(guò)對(duì)比,顯然本文所用方法具有更快的收斂速度和更高的預(yù)測(cè)精度。

      4.2 預(yù)測(cè)點(diǎn)的識(shí)別及其逆運(yùn)動(dòng)學(xué)求解結(jié)果

      在工作空間中選3個(gè)點(diǎn)(表3)按圖5的流程求逆運(yùn)動(dòng)學(xué)解,最終結(jié)果顯示,P1有四組逆運(yùn)動(dòng)學(xué)解,P2在Zone1和Zone4中有逆運(yùn)動(dòng)學(xué)解,P3沒有逆運(yùn)動(dòng)學(xué)解,說(shuō)明P3不在工作空間內(nèi)。表4為P1、P2分別用訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)求得的逆運(yùn)動(dòng)學(xué)解和預(yù)測(cè)位置。

      (a)關(guān)節(jié)1

      (b)關(guān)節(jié)2

      (c)關(guān)節(jié)3圖7 各關(guān)節(jié)角預(yù)測(cè)誤差Fig.7 Error of each joint angle prediction

      圖8 位置絕對(duì)誤差Fig.8 Absolute error of position

      Pipx(mm)py(mm)pz(mm)P13002001 700P2-834722600P3-100-100100

      5 結(jié)論

      (1)本文提出了一種基于幾何分析的多模塊神經(jīng)網(wǎng)絡(luò)求解空間3R機(jī)械手逆運(yùn)動(dòng)學(xué)多解的方法。

      (2)進(jìn)行了幾何分析,將關(guān)節(jié)空間劃分為4個(gè)只有唯一逆運(yùn)動(dòng)學(xué)解的子空間,對(duì)各子空間用3個(gè)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和求解。仿真試驗(yàn)結(jié)果表明,該方法具有訓(xùn)練時(shí)間短、預(yù)測(cè)精度高的優(yōu)點(diǎn)。

      (3)對(duì)于已訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò),可以通過(guò)輸入點(diǎn)區(qū)域識(shí)別的方法進(jìn)行選擇。

      猜你喜歡
      運(yùn)動(dòng)學(xué)機(jī)械手連桿
      抓取脆弱物體的機(jī)械手
      某發(fā)動(dòng)機(jī)連桿螺栓擰緊工藝開發(fā)
      基于MATLAB的6R機(jī)器人逆運(yùn)動(dòng)學(xué)求解分析
      基于D-H法的5-DOF串并聯(lián)機(jī)床運(yùn)動(dòng)學(xué)分析
      搬運(yùn)機(jī)械手PLC控制系統(tǒng)設(shè)計(jì)
      基于運(yùn)動(dòng)學(xué)原理的LBI解模糊算法
      基于ADAMS與MATLAB的機(jī)械手控制系統(tǒng)仿真研究
      連桿的運(yùn)動(dòng)及有限元分析
      一種連桿、杠桿撬斷澆口的新型模具設(shè)計(jì)
      雙足機(jī)器人運(yùn)動(dòng)學(xué)分析與仿真
      雷州市| 雷山县| 宁阳县| 仁布县| 洛川县| 东乡| 通辽市| 靖江市| 江孜县| 商都县| 镇康县| 夹江县| 喀喇| 怀安县| 泰安市| 资阳市| 黔南| 山西省| 漳州市| 兴文县| 皋兰县| 车致| 天津市| 双辽市| 临城县| 基隆市| 时尚| 兰溪市| 井冈山市| 水富县| 永春县| 遂宁市| 延庆县| 甘谷县| 乐东| 永寿县| 孟州市| 滦南县| 白水县| 金川县| 韶关市|