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

?

基于深度強化學(xué)習(xí)的蛇形機械臂控制策略研究

2022-10-31 11:31唐超張帆王文龍李徐
關(guān)鍵詞:蛇形控制策略機械

唐超,張帆,王文龍,李徐

(201620 上海市 上海工程技術(shù)大學(xué) 機械與汽車工程學(xué)院)

0 引言

隨著科學(xué)技術(shù)的不斷發(fā)展,機器人技術(shù)被廣泛應(yīng)用于社會的各個領(lǐng)域。蛇形機械臂由于具有多自由度、環(huán)境適應(yīng)性強、結(jié)構(gòu)細長等特點[1],在醫(yī)療器械、核電設(shè)備檢修、航天航空制造和地震災(zāi)后救援等領(lǐng)域有著廣泛的應(yīng)用[2-5]。特別是在醫(yī)療器械領(lǐng)域,蛇形機械臂有著較大的發(fā)展空間。HU[6]等人設(shè)計了一種用于腹腔鏡手術(shù)的基于線驅(qū)動機構(gòu)的被動蛇形機械臂;WEI[7]等人設(shè)計了一種用于喉部微創(chuàng)手術(shù)的微型蛇形裝置。

在蛇形機械臂控制領(lǐng)域,通常采用數(shù)學(xué)方法對其運動學(xué)和動力學(xué)方程進行研究。馬影[8]等人提出了一種基于末端跟隨算法的運動控制策略,該方法采用幾何推導(dǎo)實現(xiàn)了蛇形機械臂末端的位置跟蹤;王軫[9]等人提出一種基于脊線模態(tài)法和快速擴展隨機樹(RRT)的控制算法,實現(xiàn)了蛇形機械臂的避障軌跡規(guī)劃。但由于蛇形機械臂結(jié)構(gòu)的限定,機械臂通常涉及多個動作變量,從而使其模型更加復(fù)雜。并且由于自由度類型和外部不確定性干擾等因素,這些方法在不同的原型之間缺乏魯棒性和可移植性。

近年來深度強化學(xué)習(xí)(Deep Reinforcement Learning,DRL)在機械臂控制領(lǐng)域逐漸興起,并得到廣泛應(yīng)用。孫康[10]等人基于深度強化學(xué)習(xí)提出了一種空間漂浮基機械臂抓捕控制策略,實現(xiàn)對非合作目標(biāo)的快速逼近和抓捕;劉錢源[11]基于深度強化學(xué)習(xí)提出了一種雙臂機器人協(xié)同抓取策略,使雙臂機器人能夠成功地完成抓取物體的任務(wù)。上述研究表明,深度強化學(xué)習(xí)在多自由度機械臂逼近和抓捕問題上有較好的適用性,但是深度強化學(xué)習(xí)在蛇形機械臂控制領(lǐng)域還缺乏應(yīng)用。

本文針對蛇形機械臂,提出了一種基于深度強化學(xué)習(xí)的控制策略。該策略使用深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法,通過設(shè)置獎勵函數(shù),實現(xiàn)了蛇形機械臂在2D 平面對目標(biāo)物的快速精確逼近。該策略在不同的原型之間具有很大的可移植性,因為它學(xué)習(xí)獨立于特定的蛇形機械臂模型。最后通過仿真實驗在2D 平面驗證了所學(xué)習(xí)的策略在控制過程中的適應(yīng)性和魯棒性。

1 基本概念

1.1 深度強化學(xué)習(xí)

深度學(xué)習(xí)(Deep Learning,DL)是機器學(xué)習(xí)的一種。深度學(xué)習(xí)的概念來源于人工神經(jīng)網(wǎng)絡(luò)的研究,具有多個隱藏層的多層感知器就是一種深度學(xué)習(xí)結(jié)構(gòu)。深度學(xué)習(xí)是通過建立神經(jīng)網(wǎng)絡(luò)來模擬人腦解決問題。強化學(xué)習(xí)(Reinforcement Learning,RL)也是機器學(xué)習(xí)的一種,是關(guān)于一個主體與環(huán)境的相互作用,通過反復(fù)試驗,在自然科學(xué)、社會科學(xué)和工程的廣泛領(lǐng)域中為順序決策問題學(xué)習(xí)一個最優(yōu)策略。深度學(xué)習(xí)感知能力強,但缺乏一定的決策能力;而強化學(xué)習(xí)具有較強的決策能力,但沒有辦法處理感知問題。深度強化學(xué)習(xí)將深度學(xué)習(xí)的感知能力和強化學(xué)習(xí)的決策能力相結(jié)合,可以直接根據(jù)輸入的圖像進行控制,是一種更接近人類思維方式的人工智能方法。

1.2 深度確定性梯度算法

DDPG 是Lillicrap 等人[12]提出的包含價值網(wǎng)絡(luò)和策略網(wǎng)絡(luò)的算法,該算法包含了深度Q 網(wǎng)絡(luò)算法(Deep Q Network,DQN)和演員-評論家算法(Actor-Critic,AC)的優(yōu)點。在強化學(xué)習(xí)領(lǐng)域,DDPG 算法是從PG(Policy Gradient)[13]、DPG(Deterministic Policy Gradient)[14]、DDPG(Deep Deterministic Policy Gradient)一路發(fā)展而來的。

DDPG 是一種基于Actor-Critic 框架的確定性策略梯度的無模型算法,其學(xué)習(xí)過程如下:

(1)根據(jù)當(dāng)前的策略和探索過程的隨機噪聲選擇應(yīng)執(zhí)行的動作(action):

在環(huán)境中執(zhí)行動作at,環(huán)境將給出一個新的狀態(tài)st+1并返回獎勵值rt;

(2)將狀態(tài)轉(zhuǎn)移的(st,at,rt,st+1)存儲在replay buffer 中,并隨機采樣N組數(shù)據(jù)(si,ai,ri,si+1)。

(3)設(shè)置關(guān)于價值函數(shù)的目標(biāo)值:

(4)更新Critic 網(wǎng)絡(luò):

(5)更新Actor 網(wǎng)絡(luò):

(6)更新目標(biāo)網(wǎng)絡(luò)

2 基于深度強化學(xué)習(xí)的蛇形機械臂的控制

2.1 深度強化學(xué)習(xí)

系統(tǒng)包括深度強化學(xué)習(xí)算法和實驗仿真2 個部分[15],系統(tǒng)通過深度強化學(xué)習(xí)對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,使得DDPG 算法可以控制蛇形機械臂抵達目標(biāo)物。實驗仿真部分的環(huán)境包括蛇形機械臂和目標(biāo)物兩部分,搭建仿真環(huán)境,環(huán)境接收算法的控制變量使蛇形機械臂產(chǎn)生相應(yīng)的運動,然后將運動后的環(huán)境信息傳遞給深度強化學(xué)習(xí)算法,根據(jù)接收的環(huán)境信息,深度強化學(xué)習(xí)獲得狀態(tài)變量和獎勵值[16],通過狀態(tài)變量計算蛇形機械臂的控制量,通過獎勵值更新深度強化學(xué)習(xí)中神經(jīng)網(wǎng)絡(luò)的參數(shù)。

2.2 蛇形機械臂模型

本文所采用的蛇形機械臂具有4 個蛇形機械臂單元,它們通過具有 2 自由度的萬向鉸鏈相互連接。每個蛇形機械臂單元長為72 mm,外徑為55 mm,上下萬向鉸鏈距離為95 mm,如圖1 所示。

圖1 相鄰關(guān)節(jié)的偏角姿態(tài)Fig.1 Deflection posture of adjacent joints

由于相鄰蛇形機械臂單元空間有限,萬向鉸鏈的旋轉(zhuǎn)角度受到一定的限制。在萬向鉸鏈旋轉(zhuǎn)角度的計算中,本文將相鄰關(guān)節(jié)軸線的交點作為原點,旋轉(zhuǎn)角度關(guān)系如圖2 所示。

圖2 萬向鉸鏈的最大轉(zhuǎn)動角度Fig.2 Maximum rotation angle of universal joint

由幾何關(guān)系可知,萬向鉸鏈可轉(zhuǎn)動的最大角度與相鄰關(guān)節(jié)之間的垂直距離D和蛇形機械臂單元外徑L的數(shù)學(xué)關(guān)系如下:

最后求得萬向鉸鏈可轉(zhuǎn)動最大角度θw=45.3°

2.3 獎勵函數(shù)

在深度強化學(xué)習(xí)中,獎勵reward 表示某一個狀態(tài)所產(chǎn)生的某一個動作對達到目標(biāo)有多大貢獻的評價[17]。深度強化學(xué)習(xí)算法通過獎勵函數(shù)輸出的獎勵reward 進行學(xué)習(xí)訓(xùn)練,同時獎勵函數(shù)也涉及到算法的收斂問題,所以獎勵函數(shù)的設(shè)計十分重要。

根據(jù)蛇形臂末端是否抵達目標(biāo)物設(shè)置獎勵函數(shù)r1為:

在訓(xùn)練過程中,某次訓(xùn)練蛇形機械臂末端抵達目標(biāo)次數(shù)連續(xù)超過30 次時,才視為完成此次訓(xùn)練,每抵達目標(biāo)物一次獎勵函數(shù)r1均運算一次。

結(jié)合蛇形機械臂的環(huán)境,獎勵函數(shù)還包含目標(biāo)物和蛇形機械臂末端的位置信息。目標(biāo)物位置為(xgoal,ygoal),蛇形機械臂末端的位置為(x4,y4)獎勵函數(shù)為r2:

最終確定獎勵函數(shù)R:

2.4 狀態(tài)state

在訓(xùn)練過程中,較全的蛇形機械臂狀態(tài)信息會加快收斂速度。對于2D 末端執(zhí)行器定位任務(wù),狀態(tài)信息由機械手末端執(zhí)行器相對于目標(biāo)的相對位置定義[17]。而對于本文所采用的蛇形機械臂,傳統(tǒng)位置定義的狀態(tài)信息難以滿足快速收斂需求。本文將狀態(tài)信息表示為:每一個蛇形機械臂單元末端相對于目標(biāo)物和中心點的相對位置,4 個蛇形機械臂單元16 個狀態(tài)信息,及蛇形機械臂末端是否在目標(biāo)物上(如是返回值1,如果不是返回值0),共17 個狀態(tài)信息。17 個位置信息保證了控制精度,也使得收斂速度大幅提升。

2.5 動作action

動作設(shè)計實質(zhì)上屬于運動規(guī)劃范疇,是根據(jù)目標(biāo)物體的位置控制機械臂的各關(guān)節(jié)運動,進而使機械臂末端執(zhí)行器到達目標(biāo)物體位置[18]。本文采用的蛇形機械臂共有4 個蛇形機械臂單元,每個單元在2D 空間均可左右轉(zhuǎn)動45°,即轉(zhuǎn)動范圍為[-45°,45°],每個關(guān)節(jié)每次轉(zhuǎn)動的角度在[-45°,45°]中隨機選取一個值。

3 仿真實驗與結(jié)果

3.1 仿真實驗環(huán)境

本文通過仿真實驗來驗證所提出方法的優(yōu)劣?;赑ython 語言,使用gym 中的pyglet 模塊搭建了一個蛇形機械臂在2D 空間的運動環(huán)境,整個環(huán)境如圖3 所示。本文在2D 空間中用矩形代替3D空間中的圓柱形蛇形機械臂單元。該蛇形機械臂是由4 節(jié)蛇形機械臂單元串聯(lián)組成的,其中每節(jié)蛇形機械臂單元可以分別向左、向右轉(zhuǎn)動45°。其目標(biāo)是通過深度強化學(xué)習(xí),在蛇形機械臂的工作范圍內(nèi)使蛇形機械臂的末端抵達目標(biāo)物,即使第4 節(jié)蛇形機械臂單元的頂端抵達灰色正方形區(qū)域。

圖3 蛇形機械臂仿真環(huán)境Fig.3 Snake-like arm simulation environment

3.2 實驗設(shè)置

本文使用在深度學(xué)習(xí)領(lǐng)域使用較為廣泛的框架TensorFlow 來搭建用于訓(xùn)練蛇形機械臂的深度強化學(xué)習(xí)算法DDPG,使用matplotlib 模塊可視化實驗結(jié)果。深度強化學(xué)習(xí)的網(wǎng)絡(luò)共包含2 個全連接層,網(wǎng)絡(luò)的輸入為蛇形機械臂的狀態(tài)(state),輸出為蛇形機械臂的動作(action)。為保證模型的魯棒性,在蛇形機械臂每一個episode 后,將蛇形機械臂的初始位置設(shè)置為隨機。4 節(jié)蛇形機械臂單元的臂長和臂寬均為95 個單位和24.5 個單位,并且可以分別向左、向右轉(zhuǎn)動45°。

本文設(shè)置的DDPG 訓(xùn)練參數(shù)為:最大迭代次數(shù)(MAX_EPISODES)為600,每次迭代的最大步數(shù)(MAX_EP_STEPS)為300,actor的學(xué)習(xí)率為0.001,critic 的學(xué)習(xí)率為0.001,獎勵折扣值為0.9,內(nèi)存容量為30 000,每一個batch 的大小為32,神經(jīng)元的個數(shù)為300。當(dāng)某次訓(xùn)練時蛇形機械臂末端抵達目標(biāo)次數(shù)連續(xù)超過30 次時,則視為完成此次訓(xùn)練。

3.3 結(jié)果分析

由圖4 可見,仿真實驗過程中學(xué)習(xí)初期屬于探索階段,蛇形機械臂在不斷地探索環(huán)境,不斷地收集環(huán)境的樣本數(shù)據(jù),難以抵達目標(biāo)物。使其獎勵值較低,并且每個episode 所采取的step 較多。在學(xué)習(xí)中期,由于樣本數(shù)量的不斷積累,動作策略與獎勵函數(shù)之間的關(guān)系被不斷建立起來,蛇形機械臂從探索環(huán)境開始轉(zhuǎn)變?yōu)槔铆h(huán)境,可以較好地抵達目標(biāo)物,在130 次迭代后模型開始收斂。隨著蛇形機械臂學(xué)習(xí)的不斷深入,蛇形機械臂嘗試開始自己調(diào)整運動趨勢,使其以最少的step 抵達目標(biāo)物。最終獎勵值穩(wěn)定在25 左右,step 穩(wěn)定在30 左右。從獎勵值和step 的變化趨勢來看,模型符合要求。

圖4 蛇形機械臂的學(xué)習(xí)過程Fig.4 Learning process of snake-like arm

經(jīng)過學(xué)習(xí)之后,為了測試學(xué)習(xí)過程的有效性,我們在蛇形機械臂的工作范圍內(nèi)隨機選擇一個目標(biāo)(520,420),然后進行了2 組實驗。第1 組實驗使蛇形機械臂分別向上、向下各移動2 次,每次移動10 個單位。第2 組實驗使蛇形機械臂分別向左、向右各移動2 次,每次移動10 個單位。并且我們希望蛇形機械臂最終能在目標(biāo)物上連續(xù)停留至少30 次,最終測試結(jié)果如圖5 和圖6 所示,反映了蛇形機械臂的末端和目標(biāo)物中心之間的距離通常隨蛇形機械臂采取行動而減小,并且最終達到預(yù)期的效果。這些實驗結(jié)果證明了我們控制策略的有效性。

圖5 蛇形機械臂以相同縱坐標(biāo)分別向上、向下各移動2 次Fig.5 Snake-like arm moves up and down twice with the same vertical coordinate

圖6 蛇形機械臂以相同縱坐標(biāo)分別向左、向右各移動2 次Fig.6 Snake-like arm moves to left and right twice with the same vertical coordinate

3.4 魯棒性測試

為了檢驗控制策略的魯棒性,本文對蛇形機械臂進行了一些人工干擾,在每次的單獨實驗中分別對4 個蛇形機械臂單元進行了鎖死,即不讓該單元產(chǎn)生左右轉(zhuǎn)動。同樣,在蛇形機械臂的工作范圍內(nèi)隨機選擇一個目標(biāo)(520,420),希望蛇形機械臂末端能抵達目標(biāo)物,且在目標(biāo)物上連續(xù)停留至少30 次。測試結(jié)果如圖7 所示。

圖7 分別對4 個蛇形機械臂單元進行了鎖死Fig.7 Four snake-like arm units locked respectively

系統(tǒng)能夠抵抗第2 節(jié)和第3 節(jié)蛇形機械臂關(guān)節(jié)鎖死產(chǎn)生的擾動,蛇形機械臂仍然能夠順利到達目標(biāo)物。在鎖死第4 節(jié)蛇形機械臂關(guān)節(jié)的實驗中,雖然蛇形機械臂末端不能在目標(biāo)物上連續(xù)停留至少30 次,但蛇形機械臂末端在該關(guān)節(jié)鎖定的情況下仍能抵達目標(biāo)物,并且最終停留在目標(biāo)物附近。在鎖死第1 節(jié)蛇形機械臂關(guān)節(jié)的實驗中,擾動已經(jīng)超過了系統(tǒng)的容差。該策略只是相對有效的,因為目標(biāo)物已經(jīng)超出了蛇形機械臂的工作范圍。蛇形機械臂試圖接近目標(biāo),達到極限后保持不變。這些實驗證明了我們控制策略的魯棒性。

4 結(jié)語

本文在2D 平面提出了一種基于深度強化學(xué)習(xí)的蛇形機械臂控制策略。通過仿真實驗表明了該方法在控制效果和魯棒性上有不錯的表現(xiàn),同時它獨立于特定的模型,具有較高的可移植性,能夠移植到其他多自由度的機械臂上,如軟體機械臂和基于折紙機構(gòu)的連續(xù)體機械臂。

在今后的研究中,我們將添加更多的蛇形機械臂單元,考慮更多真實情況。比如避開障礙物,完成更復(fù)雜的任務(wù)。我們還會將該方法擴展到3D 空間的控制問題上,并考慮使用多個蛇形機械臂協(xié)同配合完成多目標(biāo)任務(wù)。

猜你喜歡
蛇形控制策略機械
AMT坡道起步輔助控制策略
基于強化學(xué)習(xí)的直流蒸汽發(fā)生器控制策略研究
鉗工機械操作的質(zhì)量控制策略
調(diào)試機械臂
采用并聯(lián)通用內(nèi)模的三相APF重復(fù)控制策略
簡單機械
叢林秘境
叢林秘境
按摩機械臂
“蛇來了”