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

?

基于深度學(xué)習(xí)的冗余機(jī)械臂無(wú)碰運(yùn)動(dòng)規(guī)劃*

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

季曉明,文懷海

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

0 引言

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

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

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

1 問(wèn)題描述

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

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

(1)

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

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

(2)

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

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

(3)

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

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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

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

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

(9)

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

2 BAORNN算法

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

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

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

(12)

式中,λk是模擬兩觸須間距離的超參數(shù),θkL和θkR分別為第k次迭代時(shí)左右關(guān)節(jié)角(對(duì)應(yīng)兩個(gè)觸須氣味信息),該位置應(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),可得到用來(lái)評(píng)價(jià)當(dāng)前關(guān)節(jié)位置的目標(biāo)函數(shù):

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

(16)

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

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

(17)

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

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

(18)

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

(19)

(20)

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

圖1 BAORNN算法流程圖

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

3 仿真算例

為驗(yàn)證本文所提避障算法的合理性,選取文獻(xiàn)[14]提出的7-DOF冗余機(jī)械臂作為分析對(duì)象,該機(jī)械臂類似于肩腕關(guān)節(jié)偏置的仿人手臂,具有靈活性高、柔順性好的特點(diǎn),如圖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冗余機(jī)械臂

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

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

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

(21)

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

圖3 冗余機(jī)械臂的隨機(jī)位形

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

(22)

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

圖4 預(yù)測(cè)精度

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

圖5 BAORNN相對(duì)預(yù)測(cè)誤差

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

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

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

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

(a) 三維軌跡圖

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

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

4 結(jié)束語(yǔ)

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

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

(2)BAORNN算法的相對(duì)預(yù)測(cè)誤差小于5%,基本上能滿足本文冗余機(jī)械臂無(wú)碰運(yùn)動(dòng)規(guī)劃的需求。

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

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

猜你喜歡
執(zhí)行器障礙物精度
高低翻越
SelTrac?CBTC系統(tǒng)中非通信障礙物的設(shè)計(jì)和處理
測(cè)控技術(shù)(2018年12期)2018-11-25 09:37:50
基于DSPIC33F微處理器的采集精度的提高
電子制作(2018年11期)2018-08-04 03:25:38
飛機(jī)裝配預(yù)連接緊固件自動(dòng)化安裝末端執(zhí)行器設(shè)計(jì)
GPS/GLONASS/BDS組合PPP精度分析
考慮執(zhí)行器飽和的改進(jìn)無(wú)模型自適應(yīng)控制
一類具有執(zhí)行器飽和的非線性系統(tǒng)抗飽和方法研究
改進(jìn)的Goldschmidt雙精度浮點(diǎn)除法器
巧用磨耗提高機(jī)械加工精度
河南科技(2014年14期)2014-02-27 14:11:53
昭通市| 营口市| 巧家县| 三台县| 永春县| 祁连县| 正阳县| 门源| 小金县| SHOW| 万载县| 正宁县| 丽水市| 资源县| 石泉县| 蚌埠市| 滁州市| 龙南县| 治县。| 万州区| 江津市| 垫江县| 繁昌县| 博野县| 玛沁县| 柳州市| 浙江省| 枞阳县| 垣曲县| 名山县| 开化县| 图木舒克市| 乌鲁木齐县| 丹江口市| 如东县| 潮州市| 泾川县| 台安县| 平和县| 牙克石市| 图片|