• 
    

    
    

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

      基于深度學(xué)習(xí)的冗余機械臂無碰運動規(guī)劃*

      2021-07-02 01:32:08季曉明文懷海
      關(guān)鍵詞:執(zhí)行器障礙物精度

      季曉明,文懷海

      (1.江蘇安全技術(shù)職業(yè)學(xué)院電氣工程系,江蘇 徐州 221011;2.大連理工大學(xué)機械工程學(xué)院,遼寧 大連 116024)

      0 引言

      工業(yè)機器人是智能制造領(lǐng)域的重要構(gòu)成單元,被廣泛應(yīng)用于3C行業(yè)、汽車制造、食品包裝及航空航天等領(lǐng)域,在國民經(jīng)濟與社會發(fā)展中起著重要作用。在機器人技術(shù)中,冗余機械臂無碰運動規(guī)劃問題一直是國內(nèi)外的研究熱點[1-2]。該問題研究的是在避免碰觸到周圍環(huán)節(jié)障礙物的前提下,尋找從初始位形到目標(biāo)位形的機械臂運動,其中避碰是核心。

      機械臂的避碰研究一般分為全局避碰法與局部避碰法兩種[3]。前者需預(yù)先獲得機械臂周圍環(huán)境信息,再對機械臂進行離線規(guī)劃,常見的方法有A*搜索[4]、馬爾科夫決策法[5]、隨機樹形搜索法[6]等。這些方法雖能有效解決機械臂的避碰運動規(guī)劃,但也會帶來諸如關(guān)節(jié)位姿無法約束、算法極易陷入局部最優(yōu)值、實時性較差等問題,故不易得到推廣。局部避碰法中含有碰撞檢測環(huán)節(jié),可根據(jù)機械臂運動狀態(tài)與障礙物信息實時作出避碰決策,這也是目前最受學(xué)者青睞的方法。例如,曹博等采用改進人工勢場法分別在任務(wù)空間和關(guān)節(jié)空間內(nèi)建立勢場引導(dǎo)7自由度機械臂的無碰運動,該算法的可行性在仿真和試驗下得到了驗證[7]。Shen H Y等采用主從任務(wù)轉(zhuǎn)化法實現(xiàn)了避碰運動與機械臂末端執(zhí)行器運動的主從優(yōu)先級轉(zhuǎn)化,降低了計算量和減少了運動奇異性出現(xiàn)的概率[8]。Chen Y J等用橢球模型近似描述障礙物與機械臂連桿,提出了基于虛擬力的避碰運動規(guī)劃方法[9]。然而,上述方法大都將障礙物簡化成一個質(zhì)點或球形,忽略了機械臂連桿與障礙物原有的三維幾何信息,這樣會導(dǎo)致關(guān)節(jié)速度激變、末端執(zhí)行器運動精度變差。

      本文提出了一種基于深度學(xué)習(xí)的冗余機械臂避碰運動規(guī)劃方法,該方法的核心算法是基于天牛須搜索機制的循環(huán)神經(jīng)網(wǎng)絡(luò)算法(Beetle Antennae Olfactory Recurrent Neural Network,簡稱BAORNN),這屬于位置級而非速度級的運動規(guī)劃,即規(guī)劃過程中不要求末端執(zhí)行器的初始位置處于參考軌跡上,可避免雅可比矩陣的計算、提高計算效率。另外,本算法中碰撞檢測策略選擇的是Gilbert Johnson Keerthi (簡稱GJK)算法,它能有效描述兩個多面體之間的距離[10]。最后,通過仿真算例對本文所提算法的可行性和有效性進行了驗證。

      1 問題描述

      考慮冗余機械臂跟蹤一條光滑曲線,其實質(zhì)是將關(guān)節(jié)空間的運動軌跡投影到任務(wù)空間末端執(zhí)行器的運動軌跡中,即可通過正向運動學(xué)來實現(xiàn)上述功能[11]:

      x(t)=f(θ(t))

      (1)

      式中,t為時間,x(t)∈Rn為末端執(zhí)行器位形,θ(t)∈Rm為關(guān)節(jié)角序列,m>n代表了機械臂構(gòu)型上冗余?;谑?1),可獲得冗余機械臂逆向運動學(xué)的描述形式為:

      θ(t)=f-1(x(t))

      (2)

      在機械臂實際操作中應(yīng)預(yù)先規(guī)劃好末端執(zhí)行器的運動軌跡xr(t)。為了跟蹤該軌跡,關(guān)節(jié)角序列必須滿足[12]:

      θ(t)=f-1(xr(t))

      (3)

      根據(jù)冗余機械臂的結(jié)構(gòu)特性可知,式(3)存在關(guān)節(jié)角的多組解,即存在冗余性。為解決上述問題,需從關(guān)節(jié)空間中找出一組合適解,進而可將軌跡規(guī)劃問題轉(zhuǎn)化成如下函數(shù)優(yōu)化問題:

      (4)

      這里的gtr(·)是軌跡規(guī)劃目標(biāo)函數(shù),其具體形式為:

      (5)

      在軌跡規(guī)劃問題中考慮避碰條件以保證冗余機械臂安全作業(yè)。選擇最大化末端執(zhí)行器與障礙物之間的最小距離作為避障目標(biāo)函數(shù),并將其添加到式(4)中,有:

      (6)

      式中,O是障礙物頂點的笛卡爾坐標(biāo),gOI(·)是避障函數(shù),即:

      (7)

      式中,β是超參數(shù),di(O,θ(t))是第i根連桿到障礙物頂點的距離,由GJK算法計算獲得,具體形式如下所示:

      (8)

      式中,VA∈RnA×3和VB∈RnB×3分別為三維空間中不規(guī)則體A與B的頂點集合,nA和nB是最大頂點數(shù)。

      由式(8)可知,GJK算法需要連桿和障礙物的幾何信息。定義連桿頂點函數(shù)為Mi(θ)∈Rni×3,即:

      Mi(θ)=Ri(θ)Mi(0)+Ti(θ)

      (9)

      式中,ni是第i根連桿的頂點數(shù),Ri(θ)和Ti(θ)分別為第i根連桿的轉(zhuǎn)動矩陣和移動矩陣。

      2 BAORNN算法

      冗余機械臂的避障控制包含三部分:軌跡規(guī)劃、避碰及關(guān)節(jié)角約束。綜合這些要求并將其轉(zhuǎn)換成函數(shù)優(yōu)化問題,即:

      (10)

      式中,g(·)是總優(yōu)化目標(biāo)函數(shù),其具體形式為:

      g(O,xr(t),θ(t))=ω1gtr(xr(t),θ(t))+ω2gOI(O,θ(t))

      (11)

      式中,ω1和ω2為權(quán)重因子。

      本文用BAORNN算法來求解上述優(yōu)化問題。其中,BAO算法模擬的是天牛在未知環(huán)境下搜尋食物的過程,即天牛根據(jù)兩個觸須獲得的氣味大小來確定下一步的走向[13]。在這個過程中,天牛不會在任何方向上隨機移動,而是用嗅覺判明方向后,再做出下一步的計算決策,這可保證算法的多樣性。算法的數(shù)學(xué)機理為:

      假設(shè)在第k次迭代時,機械臂的關(guān)節(jié)位置為θk,用標(biāo)準(zhǔn)正態(tài)分布函數(shù)b∈Rm模擬天牛左右兩個觸須接收到的氣味信息,即:

      (12)

      式中,λk是模擬兩觸須間距離的超參數(shù),θkL和θkR分別為第k次迭代時左右關(guān)節(jié)角(對應(yīng)兩個觸須氣味信息),該位置應(yīng)滿足如下約束:

      ΩθkX=PΩ(θkX)

      (13)

      式中,X∈{L,R}。PΩ是關(guān)于集合Ω的投影函數(shù),其數(shù)學(xué)描述為:

      (14)

      集合Ω的數(shù)學(xué)描述為:

      Ω={θ∈Rm|θ-<θ(t)<θ+,di>dmin}

      (15)

      式中,di=di(O,θ(t))。

      結(jié)合式(10)與式(13),可得到用來評價當(dāng)前關(guān)節(jié)位置的目標(biāo)函數(shù):

      gkX=g(O,xr(t),ΩθkX)

      (16)

      進而,設(shè)計第k+1次迭代時關(guān)節(jié)預(yù)測位置為:

      Ωθk + 1=PΩ[θk-δk(λk)sign(gkL-gkR)b]

      (17)

      式中,sign(gkL-gkR)b為符號函數(shù),能保證天牛向著目標(biāo)函數(shù)較小的觸角方向移動。δk(λk)為超參數(shù),用來計算θ(k+1)X與θkX間的歐氏距離。上式可在預(yù)測的左右關(guān)節(jié)角中抉擇出較優(yōu)值。

      第k+1次迭代時預(yù)測關(guān)節(jié)角對應(yīng)的目標(biāo)函數(shù)為:

      (18)

      更新冗余機械臂的關(guān)節(jié)角與目標(biāo)函數(shù),即:

      (19)

      (20)

      進而,將BAO算法添加進RNN中形成BAORNN算法,去解決冗余機械臂的避碰運動規(guī)劃問題,算法的流程如圖1所示。

      圖1 BAORNN算法流程圖

      其中,RNN是一種常見的深度學(xué)習(xí)策略,其包括輸入層、隱藏層和輸出層,它將冗余機械臂關(guān)節(jié)角預(yù)測問題轉(zhuǎn)換為前后有依賴性的兩層時間序列問題,整個結(jié)構(gòu)包括3m+6個神經(jīng)元。在每個隱藏層中,用投影函數(shù)PΩ作為每個神經(jīng)元的激活函數(shù),并通過目標(biāo)函數(shù)g(·)來判斷信號流向。根據(jù)上述分析可知BAORNN算法的計算復(fù)雜度為O(m),即計算復(fù)雜度為關(guān)節(jié)數(shù)的線性函數(shù),故可在普通計算機上高效率運算。

      3 仿真算例

      為驗證本文所提避障算法的合理性,選取文獻[14]提出的7-DOF冗余機械臂作為分析對象,該機械臂類似于肩腕關(guān)節(jié)偏置的仿人手臂,具有靈活性高、柔順性好的特點,如圖2所示。相應(yīng)的DH參數(shù)也在表1中給出。另外,BOARNN算法的參數(shù)設(shè)置為:c1=0.6,c2=0.7,Tmax=500,ω1=0.7,ω2=0.3。仿真環(huán)境為Inter Core i7-4720 PC,MATALAB 2020a。

      圖2 7-DOF冗余機械臂

      表1 冗余機械臂的DH參數(shù)

      仿真中,利用蒙特卡羅法[15]按照標(biāo)準(zhǔn)正態(tài)形式隨機生成機械臂的可達工作位形,并作為訓(xùn)練樣本來訓(xùn)練網(wǎng)絡(luò)。蒙特卡羅法的計算公式為:

      θi=θimin+(θimax-θimin)·randn(0,1)

      (21)

      式中,randn(·)為呈正態(tài)分布的隨機函數(shù)。將生成的隨機關(guān)節(jié)角代入到正向運動學(xué)公式(1),便可獲得冗余機械臂末端執(zhí)行器的位形。這里的訓(xùn)練樣本由1000個位形構(gòu)成(如圖3所示),取其中700作為訓(xùn)練集,300作為測試集。

      圖3 冗余機械臂的隨機位形

      為了評價預(yù)測結(jié)果的優(yōu)劣,選取單次預(yù)測的精度評估公式為:

      (22)

      式中,Ωθ是預(yù)測關(guān)節(jié)角,θ是參考關(guān)節(jié)角,δ為預(yù)測精度。對雙隱藏層的BAORNN算法,分別選取神經(jīng)元數(shù)為15、21、27、33和39進行訓(xùn)練,其預(yù)測精度如圖4所示。從圖中可以看出,隨著隱藏層神經(jīng)元數(shù)目的增加,BAORNN算法的預(yù)測精度也隨之增加,當(dāng)數(shù)目逾27后,預(yù)測精度卻開始下降,故選擇隱藏層的神經(jīng)元數(shù)目為27。

      圖4 預(yù)測精度

      用訓(xùn)練好的網(wǎng)絡(luò)預(yù)測測試集中的末端執(zhí)行器位形,并計算其相對誤差,結(jié)果在圖5中給出。從圖中可以看出,在BAORNN算法的幫助下,測試集的相對預(yù)測誤差均小于5%,這說明了本文所提算法預(yù)測準(zhǔn)確性較高。

      圖5 BAORNN相對預(yù)測誤差

      接著選取四面體的一個面作為待加工面,機械臂的末端執(zhí)行器需沿著其三個頂點運動,此過程可模擬機器人焊接、噴涂等過程。假設(shè)工作環(huán)境中有一長方體障礙物,要求機械臂繞開障礙物并依次達到三個目標(biāo)點位置。表2給出了待加工面和障礙物的坐標(biāo)信息。為了比較BAORNN算法的性能,引入改進人工勢場法[7]進行比較,結(jié)果如表3所示。

      表2 待加工面與障礙物的信息

      從表3中可以看出,BAORNN算法的預(yù)測精度比改進人工勢場法平均高出10.89%、算法時間節(jié)約2.44 s。同時,基于BAORNN算法的冗余機械臂的無碰運動規(guī)劃效果如圖6所示。從圖中可以明顯看出機械臂的避碰過程和運動過程。圖7給出了7個關(guān)節(jié)角的響應(yīng),過程中沒有出現(xiàn)嚴(yán)重的關(guān)節(jié)突變,變化過程較為平滑、柔順。上述結(jié)果驗證了本文所提算法的可行性與優(yōu)越性。

      表3 兩種算法預(yù)測能力的對比

      (a) 三維軌跡圖

      (b) XY平面內(nèi)的軌跡 圖6 冗余機械臂的運動規(guī)劃結(jié)果

      圖7 關(guān)節(jié)角的響應(yīng)

      4 結(jié)束語

      本文針對冗余機械臂無碰運動規(guī)劃問題,提出使用BAORNN算法進行預(yù)測,主要結(jié)論如下:

      (1)BAORNN算法的預(yù)測精度與神經(jīng)元數(shù)目有關(guān),仿真中最佳神經(jīng)元數(shù)目為27,此時算法的預(yù)測精度最高。

      (2)BAORNN算法的相對預(yù)測誤差小于5%,基本上能滿足本文冗余機械臂無碰運動規(guī)劃的需求。

      (3)與改進人工勢場法相比,BAORNN算法的平均預(yù)測精度要高出10.89%,運算時間節(jié)約2.44 s。

      (4)BAORNN算法具有較高的預(yù)測精度,能夠較好地解決冗余機械臂避碰運動規(guī)劃問題。

      猜你喜歡
      執(zhí)行器障礙物精度
      高低翻越
      SelTrac?CBTC系統(tǒng)中非通信障礙物的設(shè)計和處理
      測控技術(shù)(2018年12期)2018-11-25 09:37:50
      基于DSPIC33F微處理器的采集精度的提高
      電子制作(2018年11期)2018-08-04 03:25:38
      飛機裝配預(yù)連接緊固件自動化安裝末端執(zhí)行器設(shè)計
      GPS/GLONASS/BDS組合PPP精度分析
      考慮執(zhí)行器飽和的改進無模型自適應(yīng)控制
      一類具有執(zhí)行器飽和的非線性系統(tǒng)抗飽和方法研究
      改進的Goldschmidt雙精度浮點除法器
      巧用磨耗提高機械加工精度
      河南科技(2014年14期)2014-02-27 14:11:53
      江阴市| 陕西省| 苏尼特左旗| 济阳县| 安塞县| 岢岚县| 洞头县| 南丰县| 灵丘县| 南通市| 广丰县| 房产| 合作市| 涟水县| 莆田市| 平凉市| 墨玉县| 绵竹市| 惠州市| 淮阳县| 江川县| 井研县| 十堰市| 灵川县| 舟山市| 腾冲县| 咸宁市| 阳山县| 册亨县| 元阳县| 平阴县| 眉山市| 北辰区| 会理县| 尤溪县| 荣昌县| 城步| 柘城县| 保定市| 商城县| 广东省|