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

?

基于深度強化學習的機械臂運動控制研究

2023-09-20 11:54:42王文龍張帆
關鍵詞:機械狀態(tài)動作

王文龍,張帆

(200335 上海市 上海工程技術大學 機械與汽車工程學院)

0 引言

隨著人工智能和機器人技術的發(fā)展,機械臂被廣泛應用于工業(yè)生產(chǎn)的各個領域,其智能化要求也隨之提高。人工智能和機械臂技術相結合,研究具有自主決策能力的控制方法成為一個重要分支,也是國內(nèi)外研究的重點和前沿。

機械臂經(jīng)典控制方法如自適應滑??刂?、示教控制、前饋補償控制等,提高了機械臂運動的魯棒性,具有響應速度快、穩(wěn)定性好和精確度較高等特點。肖任等[1]提出了一種基于時間固定擾動觀測器的滑??刂品椒?,在消除不確定擾動的基礎上,有效地抑制了系統(tǒng)抖振;Wang 等[2]提出了基于連續(xù)軌跡點控制的位置控制方法,提高了機械臂的控制精度。這些控制方法雖有一定成效,仍存在編程難度大、泛化性能弱、適應環(huán)境能力較差、智能化程度低等問題。

強化學習(RL)是人工智能的一個重要分支,在深度學習的快速發(fā)展下,深度學習和強化學習結合,使強化學習在機器人控制領域有了進一步發(fā)展,使其具有強大的感知和決策能力,深度強化學習算法也應用在機械臂的控制領域。尤其是在深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法[3]被David Silver 等提出后,可以讓深度強化學習算法的經(jīng)典算法深度Q 學習網(wǎng)絡(Deep Q-learning Network,DQN)拓展到連續(xù)動作空間,這使得深度強化學習和機器人技術的結合更加緊密。Peng 等[4]將采用后視經(jīng)驗重放的方法改進DDPG 算法應用到機械臂,對沖壓自動生產(chǎn)線中的運動物體進行抓取,提高了智能體的樣本的利用,將平均成功率從31%提升到82%;趙寅甫等[5]采用DDPG 算法先2D 后3D 模型的方法,通過數(shù)據(jù)驅動的訓練過程,控制機械臂到達目標位置,縮短了接近52%的訓練時長;劉勇等[6]將傳統(tǒng)的PID控制方法與DDPG 算法相結合,利用PID 控制快速接近目標位置,采用DDPG 算法使機械臂學習追蹤目標物體投影,并避開障礙物體投影,最終實現(xiàn)在三維空間實現(xiàn)追蹤和避障。

本文使用Gym 官方提供的機械臂深度強化學習訓練環(huán)境,重置其獎勵函數(shù),并在DDPG 算法中比較其對機械臂訓練過程的影響,比較不同的深度強化學習算法在機械臂自主學習中的性能。實現(xiàn)虛擬環(huán)境中達到較高的獎勵值,并使末端執(zhí)行器快速、準確地到達目標位置,并保持姿態(tài)不變。

1 機器人模型與環(huán)境

帶接觸的多關節(jié)動力學(Multi-Joint dynamics with Contact,MuJoCo)是一個物理引擎模擬器,主要用于機器人、生物力學、圖形與動畫、機器學習等領域,能夠快速準確模擬鉸鏈結構和環(huán)境的交互,它包括廣義坐標系中的多關節(jié)動力學、整體約束、干關節(jié)摩擦、關節(jié)和肌腱極限、無摩擦和摩擦接觸、可能具有的滑動、扭轉和滾動摩擦[7]。本文機械臂模型及其使用的MuJoCo 運行界面如圖1 所示。

圖1 Simulate 中的機械臂Fig.1 Manipulator in simulate

Gym 是由OpenAI 公司提供的一個可調節(jié)參數(shù)訓練和比較RL 算法的環(huán)境平臺,其中含有很多強化學習環(huán)境,包括Atari 游戲、Classic control、MuJoCo、Robotics 等,現(xiàn)在主要支持Python 語言。本文結合Pytorch 框架,進行深度強化學習的訓練。采用的是環(huán)境ID 為“FetchReach-v1”的機械臂。在此環(huán)境中,主要輸出為當前狀態(tài)St、下一時刻的狀態(tài)St+1以及輸入動作策略的獎勵值R。狀態(tài)包含3 個部分:智能體的觀察狀態(tài)、智能體經(jīng)過動作所到達的位置坐標以及目標位置。狀態(tài)作為Actor 網(wǎng)絡的輸入,應為向量形式,在此環(huán)境中以字典形式儲存,故需要對此進行預處理,轉化為一維向量。此機械臂的狀態(tài)為1×16 的向量。

2 深度強化學習算法

深度強化學習是利用深度學習的感知功能以及強化學習的決策功能的算法,強化學習是在智能體和環(huán)境之間交互時,在不被告知采取哪種行動的情況下,智能體通過執(zhí)行某些動作,基于環(huán)境反饋的獎勵或者懲罰不斷地調整其策略、改善其行為、得到最優(yōu)策略的算法。它包含智能體、環(huán)境、獎勵、動作、觀察5 個元素,其交互過程如圖2 所示。

圖2 智能體與環(huán)境交互Fig.2 Interaction between an agent and the environment

智能體觀察環(huán)境t時刻的狀態(tài)S,采取動作A并在環(huán)境中執(zhí)行,得到下一時刻的狀態(tài)即St+1,并且獎勵函數(shù)對執(zhí)行的動作A 進行評價,得到獎勵R,反饋給智能體。

2.1 馬爾可夫決策過程

馬爾可夫決策過程(Markov Decision Process,MDP)是深度強化學習的理論基礎,它的4 元素為(S,A(s),R(s,a),P(s,a,s')[8]。其中,S為所有狀態(tài)的集合,A(s)為狀態(tài)s下的所有動作的集合,R(s,a)為智能體的獎勵值,表示在狀態(tài)s下執(zhí)行動作a后所得到的獎勵值或者懲罰值。P(s,a,s')為狀態(tài)轉移概率,在狀態(tài)s執(zhí)行動作a后轉移到狀態(tài)的概率值。

在MDP 中有一個較重要的參數(shù)為折扣因子γ∈(0,1),它控制在訓練中一個回合的收益值對下一個動作獎勵值的依賴程度,收益為

執(zhí)行策略為π時,其狀態(tài)分布則為pπ,學習目標為執(zhí)行最優(yōu)策略時使期望累計獎勵值達到最大值,累計期望值為

最佳策略可表示為

在尋找最優(yōu)策略過程中,Bellman 方程給出了最優(yōu)狀態(tài)的值

式中:pa,i→j——在狀態(tài)i產(chǎn)生的動作a以狀態(tài)j結束的概率。

除了狀態(tài)值外,在強化學習中還定義了動作值Qs,a,在Q-learning 中

對于狀態(tài)值和動作值的可爾科夫決策過程,進行Bellman 迭代更新

2.2 深度確定性策略梯度算法(DDPG)

DDPG 算法是基于Actor-Critic(演員-評論家)網(wǎng)絡的異策略算法,相比于Actor-Critic 算法,它的策略是確定的,直接根據(jù)狀態(tài)確定所采取的動作,并且不需要像PG 算法那樣為計算的每個步驟集成到整個動作空間中。這樣可以將鏈規(guī)則應用于Q值,通過最大化Q值改進策略。Actor 和Critic 網(wǎng)絡都是3 層神經(jīng)網(wǎng)絡,其控制策略如圖3 所示。

圖3 DDPG 算法的網(wǎng)絡結構Fig.3 Network structure of DDPG algorithm

其中,Actor 網(wǎng)絡是根據(jù)每個給定的狀態(tài)返回N個值,每個動作一個值,這種映射關系是確定的。Critic 的作用是估計Q值,即在某個狀態(tài)下智能體采取的動作經(jīng)過環(huán)境交互所獲得的折扣獎勵。因為動作在網(wǎng)絡中是以數(shù)字向量的形式呈現(xiàn),所以Critic 網(wǎng)絡有2 個輸入,即狀態(tài)和動作,動作是在第2 層網(wǎng)絡中輸入,它的輸出是反映Q值的單個數(shù)字。Actor 網(wǎng)絡最后一層網(wǎng)絡使用tanh 激活函數(shù)主要利用其值域為[-1,1]的特性,保證所得到的動作也是在這個區(qū)間內(nèi)。

DDPG 算法使用了當?shù)兀╨ocal)和目標(target)2 套神經(jīng)網(wǎng)絡,在此算法中由于使用的是確定性策略,為了增加機械臂對環(huán)境的探索能力,在Actor網(wǎng)絡的返回值中增加噪聲再傳遞給環(huán)境來實現(xiàn),此噪聲被稱為OU 過程,在離散時間情況下可以寫為

式中:θ,μ,σ——超參數(shù)。

該式(8)表示OU 過程的下一個值由先前的噪聲值加上一個正常噪聲產(chǎn)生。最終輸入到環(huán)境中的動作為

式中:?——超參數(shù),主要作用是動作a對噪聲N的貪婪程度。

DDPG 算法的目標網(wǎng)絡參數(shù)更新方式采用軟更新方式,也可稱為指數(shù)平均移動,使用超參數(shù)學習率,將上一時刻的網(wǎng)絡參數(shù)和新的本地網(wǎng)絡參數(shù)做加權平均,然后賦給目標網(wǎng)絡

當?shù)氐腁ctor 網(wǎng)絡采用采樣的策略梯度方法進行優(yōu)化

式中:si——當前時刻智能體觀測到的狀態(tài)。

當?shù)氐腃ritic 網(wǎng)絡使用均方差損失函數(shù)定義損失,并進行優(yōu)化更新。在這個過程中使用目標網(wǎng)絡對下一個策略的估計,其預估價值為

式中:ri——當前策略所得到的獎勵值;在本實驗中γ=0.99;Q'——目標Critic 網(wǎng)絡對下一個策略的估值。在此基礎上,其網(wǎng)絡損失函數(shù)表示為

3 分布式策略梯度算法

分布式策略梯度算法(D4PG)是由Gabriel Barth-Maron 等在2018 年提出的方法[9],主要是在DDPG 算法的基礎上進行改進,將經(jīng)驗收集的Actor 和策略學習learner 分開,使用多個actor 分布式采樣,并儲存在同一個經(jīng)驗池中,經(jīng)過優(yōu)先級重放采樣方式進行采樣[10],更新后將權重同步到各個actor 上,實現(xiàn)了更好的離線學習。

D4PG算法的Critic網(wǎng)絡使用分布式價值函數(shù),為了引入分布式更新,其隨機變量的返回值為

式中,s=s0,a=a0,a=π(s)。則分布更新的Q為

分布貝爾算子就可以定義為

式中:Jπ——分布貝爾算子,關于隨機變量的概率定律是相等的,此算子雖然跟規(guī)范的Bellman 算子相近,但是它所用的函數(shù)類型不同。

分布變量采用從狀態(tài)到動作對映射到分布的函數(shù),并返回相同形式的函數(shù)。為了在此算法中使用這個函數(shù),將其參數(shù)化,并定義其損失函數(shù)為

式中:d——分布之間的度量,在D4PG 算法中主要使用交叉熵損失來度量。

為了完成這種分布式梯度策略,Actor 網(wǎng)絡的優(yōu)化方式使對行動價值分布的期望來完成。

在D4PG 中改進的部分還包括在估計TD 誤差時使用N步返回,減少了更新時的方差。

機械臂在D4PG 算法的訓練步驟如下:

(1)超參數(shù)輸入:包括學習率、經(jīng)驗池大小、批量大小、經(jīng)驗池初始大小、軌跡長度等;

(2)環(huán)境激活:定義網(wǎng)絡、智能體、經(jīng)驗池,隨機初始化網(wǎng)絡的權重(θ,ω),初始化目標權重(θ',ω'),定義Actor 和Critic 網(wǎng)絡參數(shù)優(yōu)化器;

(3)進行400 000 次循環(huán)訓練;

(4)為更好地探索環(huán)境,初始化隨機過程噪聲;

(5)初始化環(huán)境,獲得觀察狀態(tài)s;

(6)對觀察狀態(tài)進行預處理;

(7)經(jīng)過100 次隨機動作熱身后,將經(jīng)過處理的狀態(tài)輸入Actor 網(wǎng)絡返回π(s);

(8)對π(s)增加隨機噪聲得到動作,并返回環(huán)境,得到獎勵值及下一個狀態(tài)值s',并將(s,a,r,s')儲存在經(jīng)驗池中;

(9)當循環(huán)次數(shù)大于經(jīng)驗池初始大小值時對經(jīng)驗池進行優(yōu)先級重放的方式采樣;

(10)構建目標分布:

(11)計算Actor 和Critic 網(wǎng)絡進行更新參數(shù):

(12)更新網(wǎng)絡參數(shù):

(13)采用軟更新方式對目標網(wǎng)絡更新:

(14)每1 000 次對訓練模型進行測試,并保存最好模型。

4 仿真實驗與結果

4.1 重置獎勵函數(shù)

在Gym 環(huán)境中設置的獎勵值為稀疏獎勵,其獎勵函數(shù)為

式中:δ——機械臂到達目標位置的精度,在此環(huán)境中設定為δ=0.05。

在訓練初期,使用此獎勵函數(shù)訓練速度慢,效果不顯著,主要原因是探索環(huán)境中不同的動作策略可能出現(xiàn)相同的獎勵值,導致機械臂學習速度較慢。考慮到稀疏獎勵訓練困難,使用線性獎勵函數(shù)

設置此獎勵函數(shù)的原因為:在環(huán)境訓練中,包含有正負獎勵值的獎懲方式對機械臂訓練穩(wěn)定有較好的幫助,先利用DDPG 算法進行訓練并與獎勵函數(shù)r=-d(全負獎勵)進行比較,其訓練結果經(jīng)過0.6因子的平滑后如圖4,圖5 所示。在訓練過程中的測試獎勵如圖6 所示。

圖4 DDPG 算法下訓練期間的獎勵Fig.4 Rewards during training under DDPG algorithm

圖5 DDPG 算法下Actor 網(wǎng)絡損失Fig.5 Actor network loss under DDPG algorithm

圖6 不同獎勵函數(shù)的測試結果Fig.6 Test results of different reward functions

在對DDPG 算法的2 種獎勵機制訓練得到的最好模型進行100 次可視化實驗,均能在精度范圍內(nèi)到達指定位置,但是獎勵函數(shù)為r=-d的模型在到達指定位置后出現(xiàn)幅度較大的抖動現(xiàn)象,而r=δ-d的獎勵機制所訓練的最好的模型在100 次實驗中未出現(xiàn)抖動現(xiàn)象。

通過實驗可以看出,帶有正負樣本的獎勵機制對機械臂訓練穩(wěn)定性有顯著的作用,其每個策略的獎勵值在達到較好的獎勵值后不會出現(xiàn)大幅度的下降,Actor 網(wǎng)絡和Critic 網(wǎng)絡的損失函數(shù)收斂較為穩(wěn)定,不會出現(xiàn)激增現(xiàn)象。

4.2 D4PG 訓練參數(shù)設定

在D4PG 訓練過程中有很多關鍵超參數(shù),對訓練結果至關重要,如果參數(shù)不合理,可能造成訓練不穩(wěn)定,達不到預期要求。本實驗的超參數(shù)設定如表1 所示。

表1 D4PG 算法的超參數(shù)設定Tab.1 Hyperparameter setting of D4PG algorithm

4.3 D4PG 訓練結果及分析

結合上述較佳獎勵機制,設置隨機目標位置,利用D4PG 算法對機械臂進行訓練,每次100 個回合,每回合50 步,進行400 k 次訓練,并相應地用DDPG 算法訓練,結果如圖7、圖8 所示。

圖7 機械臂訓練期間獎勵Fig.7 Rewards during manipulator training

圖8 機械臂訓練期間損失Fig.8 Loss of manipulator during training

圖7 為機械臂在訓練期間的獎勵變化曲線,其中圖7(a)為每100 個回合平均獎勵值,圖7(b)為每幀的獎勵值。從圖7 可以看出,D4PG 算法在訓練中能收斂到更好的獎勵值,接近環(huán)境的最高獎勵值;DDPG 算法在前期獎勵值大于D4PG,這主要原因是D4PG 是先采樣一定數(shù)量的動作后再進行智能體的學習過程。

從圖8 的Actor 和Critic 網(wǎng)絡的2 種算法的損失對比,D4PG算法的性能更優(yōu),訓練過程更加穩(wěn)定,收斂度好。在訓練過程中每1 000 次對訓練模型進行測試,測試結果如圖9 所示。

圖9 機械臂測試期間獎勵Fig.9 Rewards during manipulator testing

在測試中可以看出D4PG 訓練的模型在測試中比DDPG 算法表現(xiàn)更好,能更快接近環(huán)境的最大獎勵值,并保持較穩(wěn)定的收斂狀態(tài),而DDPG 收斂到最大獎勵值的速度慢。在經(jīng)過400 k 幀的訓練中,D4PG 算法最大達到了1.978 的獎勵,已經(jīng)非常接近環(huán)境的最大獎勵值了。

5 結論

控制策略對機械臂生產(chǎn)效率有很大影響,好的控制策略能起到事半功倍的效果。本文利用DDPG算法,研究獎勵函數(shù)對機械臂訓練的作用。利用較好的獎勵機制,使用D4PG 算法進行機械臂末端執(zhí)行器到達目標位置進行仿真訓練,相比于DDPG 算法,D4PG 訓練過程更加穩(wěn)定,在最短時間內(nèi)收斂,在相同次數(shù)的測試中能達到更大的獎勵。模型可視化實驗中也能以100%的成功率到達目標位置。利用深度強化學習控制策略使機械臂的控制更加智能化,效率更高。

在D4PG 算法的模型測試中也遇到了一些問題,最好的測試模型在可視化實驗中會出現(xiàn)到達目標位置后發(fā)生抖動現(xiàn)象,但是在測試中獎勵值次一點的模型可視化實驗中未出現(xiàn)抖動現(xiàn)象,需要進一步研究和改進。

猜你喜歡
機械狀態(tài)動作
調試機械臂
當代工人(2020年8期)2020-05-25 09:07:38
狀態(tài)聯(lián)想
動作描寫要具體
生命的另一種狀態(tài)
簡單機械
畫動作
動作描寫不可少
機械班長
熱圖
家庭百事通(2016年3期)2016-03-14 08:07:17
堅持是成功前的狀態(tài)
山東青年(2016年3期)2016-02-28 14:25:52
安图县| 峨山| 肃南| 阿拉善盟| 中阳县| 古浪县| 治县。| 平和县| 巧家县| 锡林郭勒盟| 哈密市| 宜阳县| 门头沟区| 杭州市| 仪陇县| 玉龙| 阿合奇县| 太仆寺旗| 虹口区| 原平市| 涞源县| 延边| 梁河县| 名山县| 富顺县| 湖南省| 西乌珠穆沁旗| 南和县| 临高县| 汾阳市| 犍为县| 五常市| 万州区| 曲周县| 台州市| 锦屏县| 新乐市| 靖江市| 翁牛特旗| 涞源县| 区。|