• 
    

    
    

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

      基于PPO的機(jī)械臂控制研究方法

      2021-03-22 17:05:34郭坤武曲張義
      電腦知識(shí)與技術(shù) 2021年4期
      關(guān)鍵詞:強(qiáng)化學(xué)習(xí)機(jī)械臂

      郭坤 武曲 張義

      摘要:目前應(yīng)用于機(jī)械臂控制中有許多不同的算法,如傳統(tǒng)的自適應(yīng)PD控制、模糊自適應(yīng)控制等,這些大多需要基于數(shù)學(xué)模型。也有基于強(qiáng)化學(xué)習(xí)的控制方法,如:DQN(Deep Q Network)、Sarsa等。但這些強(qiáng)化學(xué)習(xí)算法在連續(xù)高維的動(dòng)作空間中存在學(xué)習(xí)效率不高、回報(bào)獎(jiǎng)勵(lì)設(shè)置困難、控制效果不佳等問(wèn)題。論文對(duì)基于PPO(Proximal Policy Optimization近端策略優(yōu)化)算法實(shí)現(xiàn)任意位置的機(jī)械臂抓取應(yīng)用進(jìn)行研究,并將實(shí)驗(yàn)數(shù)據(jù)與Actor-Critic(演員-評(píng)論家)算法的進(jìn)行對(duì)比,驗(yàn)證了使用PPO算法的控制效果良好,學(xué)習(xí)效率較高且穩(wěn)定。

      關(guān)鍵詞:強(qiáng)化學(xué)習(xí);機(jī)械臂;近端策略優(yōu)化算法;Actor-Critic算法;離線學(xué)習(xí)

      中圖分類號(hào): TP301? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1009-3044(2021)04-0222-04

      Abstract: In manipulator control, there are many different control methods, such as traditional adaptive PD control and fuzzy adaptive control, which are mostly based on mathematical models. There are also control methods based on reinforcement learning, such as DQN (Deep Q Network), Sarsa, etc. However, these reinforcement learning algorithms have some problems such as low learning efficiency, difficulty in setting rewards, and poor control effect in the continuous high-dimensional action space. According to Proximal Policy Optimization algorithm, the application of robot arm grasping at any position is studied, and the experimental data is compared with actor-critic algorithm, which proves that the PPO algorithm has good control effect, high learning efficiency and stability.

      Key words: reinforcement learning; robot manipulator; proximal strategy optimization algorithm; Actor - Critic algorithm; offline learning

      目前在機(jī)器學(xué)習(xí)領(lǐng)域,根據(jù)學(xué)習(xí)系統(tǒng)與環(huán)境交互方式的不同,機(jī)器學(xué)習(xí)大致上可分為三種學(xué)習(xí)方法——強(qiáng)化學(xué)習(xí)、監(jiān)督學(xué)習(xí)、無(wú)監(jiān)督學(xué)習(xí)[1]。在基于行為的智能機(jī)器人控制系統(tǒng)中,機(jī)器人是否能夠根據(jù)環(huán)境的變化進(jìn)行有效的行為選擇是提高機(jī)器人的自主性的關(guān)鍵問(wèn)題[2]。隨著信息技術(shù)的發(fā)展,以強(qiáng)化學(xué)習(xí)為代表的智能算法以其自適應(yīng)特性越來(lái)越多運(yùn)用于機(jī)器人控制領(lǐng)域[3,4]。其中機(jī)械臂控制作為機(jī)器人控制的重要模塊發(fā)展迅速,深度強(qiáng)化學(xué)習(xí)(DRL)的出現(xiàn)使得機(jī)械臂具備了自主學(xué)習(xí)能力[5],解決了機(jī)械臂只能通過(guò)固定程序完成任務(wù),在復(fù)雜高維的環(huán)境中無(wú)法自適應(yīng)訓(xùn)練學(xué)習(xí)的問(wèn)題。

      在深度強(qiáng)化學(xué)習(xí)中,典型的優(yōu)化策略有深度Q網(wǎng)絡(luò)(DQN)[6] 、深度SARSA(State Action Reward State Action)[7]和彩虹(Rainbow)[8]等。這些方法多用來(lái)處理離散動(dòng)作低維度的問(wèn)題,無(wú)法應(yīng)用于機(jī)械臂抓取這類連續(xù)動(dòng)作。雖然策略梯度(Policy Gradients)、演員-評(píng)論家(Actor-Critic)等方法,能應(yīng)用于連續(xù)空間,但基于Actor-Critic算法的近似策略優(yōu)化PPO(Proximal Policy Optimization)方法在處理學(xué)習(xí)率的問(wèn)題上表現(xiàn)更加優(yōu)異,能更好地應(yīng)用于機(jī)械臂控制問(wèn)題。

      1 強(qiáng)化學(xué)習(xí)

      強(qiáng)化學(xué)習(xí)是一種無(wú)監(jiān)督學(xué)習(xí)方法,Agent 通過(guò)與動(dòng)態(tài)環(huán)境的反復(fù)交互,學(xué)會(huì)選擇最優(yōu)或近最優(yōu)的行為以實(shí)現(xiàn)其長(zhǎng)期目標(biāo)[9]。Sutton 和 Barto 定義了強(qiáng)化學(xué)習(xí)方法的四個(gè)關(guān)鍵要素:策略、獎(jiǎng)賞函數(shù)、價(jià)值函數(shù)、環(huán)境模型[10]。如圖1,Agent通過(guò)與Environment反復(fù)交互進(jìn)行學(xué)習(xí),每次交互中Agent采取某種動(dòng)作傳入Environment,Environment根據(jù)傳入的動(dòng)作向Agent提供觀測(cè)值以及獎(jiǎng)勵(lì)值,來(lái)使Agent做出新的動(dòng)作。強(qiáng)化學(xué)習(xí)的目的就是Agent通過(guò)與環(huán)境的不斷交互,來(lái)獲得最優(yōu)的累計(jì)獎(jiǎng)勵(lì)值。

      如圖2所示,Agents分為三類,雖然Value-Based的強(qiáng)化學(xué)習(xí)可以有效完成連續(xù)狀態(tài)空間的問(wèn)題,但它的動(dòng)作空間仍是離散的,也無(wú)法學(xué)習(xí)隨機(jī)策略或應(yīng)用到高維空間。而Policy-Based雖然能解決上述問(wèn)題,但缺點(diǎn)是只能局部收斂且評(píng)估策略效率低方差很大。Actor-Critic結(jié)合了前兩種類型的優(yōu)點(diǎn),通過(guò)策略梯度的方法選擇動(dòng)作,同時(shí)也保存在每個(gè)狀態(tài)所得到的獎(jiǎng)勵(lì)。

      2 Actor-Critic算法

      Actor-Critic算法將Value-Based和Policy-Based結(jié)合,具有Actor和Critic兩種不同的體系,可以看作兩個(gè)不同的神經(jīng)網(wǎng)絡(luò)。

      此算法的主要思想是不使用reward來(lái)評(píng)估真實(shí)價(jià)值函數(shù),而是利用Critic網(wǎng)絡(luò)來(lái)評(píng)價(jià)價(jià)值函數(shù),用Policy函數(shù)作為Actor,生成動(dòng)作與環(huán)境進(jìn)行交互,Critic來(lái)評(píng)價(jià)指導(dǎo)觀察Actor的動(dòng)作并做評(píng)價(jià)。Critic的評(píng)估action-value函數(shù)是基于[πθ]的近似如公式(1):

      其中s為狀態(tài),a為動(dòng)作,[πθ]代表策略。所以Actor-Critic算法是遵循近似的Policy Gradient(策略梯度)如公式(2):

      Critic網(wǎng)絡(luò)需要更新參數(shù)w,Actor網(wǎng)絡(luò)需要更新參數(shù)θ,基本的Actor-Critic算法流程如算法1所示:

      算法1 Actor-Critic算法

      輸入:[γ,α,β,θ,w]

      輸出:optimized[θ,w]

      1.Initialize:s,θ

      2.Samplea~[πθ]

      3.foreachstepdo

      4.? Samplerewardr=[Ras];sampletransition[s'?Pas],

      5.? Sample action [a'?πθs',a']

      6.? [δ=r+γQws',a'-Qws,a]

      7.? [θ=θ+α?θlogπθs,aQws,a]

      8.? [w←w+βδ?s,a]

      9.? [a←a',s←s']

      10.end for

      結(jié)束算法

      Actor-Critic算法成比例的優(yōu)化Critic模型,使它向著TD error(TD誤差)乘以特征的方向(誤差最小化)進(jìn)行優(yōu)化,此處的誤差指估計(jì)的價(jià)值和執(zhí)行步驟后現(xiàn)實(shí)的價(jià)值之間的。Actor模型實(shí)際決定在環(huán)境中做什么,并向Critic模型認(rèn)為價(jià)值高的方向優(yōu)化。

      3 PPO(Proximal Policy Optimization近端策略優(yōu)化)算法

      Actor-Critic采用在線更新方法,不能經(jīng)驗(yàn)回訪,PPO(Proximal Policy Optimization近端策略優(yōu)化)基于Actor-Critic算法,應(yīng)用Important-sampling實(shí)現(xiàn)離線更新。PPO在每步迭代中都更新新的策略,在保證損失函數(shù)最小的同時(shí)減少與上一步策略間差值,所以引用Important-sampling數(shù)學(xué)方法,在有連續(xù)隨機(jī)變量x,[px]、[qx]為概率密度,[fx]的期望表示如公式(3)所示:

      [pxqx]為Importance Weight,是新舊策略在當(dāng)前狀態(tài)s采取動(dòng)作a對(duì)應(yīng)的概率比。在ppo中的一個(gè)回合中不斷重復(fù)對(duì)[qx]充分采樣,來(lái)改進(jìn)新策略[px],則N回合平均獎(jiǎng)勵(lì)值的梯度為公式(4):

      ppo在更新Actor時(shí),使用clipped surrogate objective的方式,對(duì)[pθat|stpθ'at|st]進(jìn)行clip操作,[clippθat|stpθ'at|st,1-?,1+?]([?]為可調(diào)超參數(shù))。

      算法2 PPO算法

      輸入:[s]環(huán)境狀態(tài)

      輸出:a動(dòng)作

      1.Initialize:Actor[A(s∣θA)]網(wǎng)絡(luò)、Critic[C(s,a∣θC)]網(wǎng)絡(luò)、Clip

      2.for episode=1 to M do

      3.? for t=1 to T do

      4.? [at←A(s∣θA)]

      5.? ?執(zhí)行[at],獲得單步獎(jiǎng)勵(lì)[rt]

      6.? ?更新Actor網(wǎng)絡(luò)權(quán)重[θA]

      7.? ?更新Critic網(wǎng)絡(luò)[θC]

      8.? end for

      9.end for

      4 實(shí)驗(yàn)設(shè)計(jì)與實(shí)現(xiàn)

      4.1 實(shí)驗(yàn)機(jī)械臂設(shè)計(jì)

      本文使用python中pyglot可視化庫(kù)來(lái)構(gòu)建二維機(jī)械臂環(huán)境來(lái)實(shí)現(xiàn)機(jī)械臂抓取控制。仿真環(huán)境參考了周沫凡的 2D機(jī)械臂仿真模型[11],在此基礎(chǔ)上對(duì)環(huán)境進(jìn)行修改,使其更易于實(shí)現(xiàn)PPO的仿真實(shí)驗(yàn)。如圖4所示,以o為中心點(diǎn)建立機(jī)械臂初始中心點(diǎn),實(shí)驗(yàn)中將始終繞o轉(zhuǎn)動(dòng),利用三角函數(shù)與設(shè)定L1、L2臂長(zhǎng)計(jì)算每段手臂4個(gè)端點(diǎn)坐標(biāo),以便機(jī)械臂隨機(jī)生成轉(zhuǎn)動(dòng)角α、β時(shí)記錄對(duì)應(yīng)坐標(biāo)。同時(shí)環(huán)境每次刷新目標(biāo)位置也隨機(jī)生成,實(shí)現(xiàn)任意位置的機(jī)械臂抓取,不僅豐富訓(xùn)練數(shù)據(jù),也能測(cè)試算法的穩(wěn)定性。

      4.2 實(shí)驗(yàn)參數(shù)設(shè)置

      通過(guò)仿真環(huán)境獲取轉(zhuǎn)動(dòng)角α、β與對(duì)應(yīng)坐標(biāo)關(guān)系,向三層全連接神經(jīng)網(wǎng)絡(luò)輸入7維狀態(tài)空間(L1末端與o點(diǎn)水平距離和垂直距離、L2末端與o點(diǎn)水平距離和垂直距離、o點(diǎn)與仿真環(huán)境中心點(diǎn)水平距離和垂直距離、是否達(dá)到目標(biāo)位置),輸出2個(gè)動(dòng)作(關(guān)節(jié)轉(zhuǎn)動(dòng)角度)。

      因?yàn)橄∈璧幕貓?bào)值學(xué)習(xí)效果很差,所以在設(shè)置獎(jiǎng)勵(lì)回報(bào)時(shí)將離散回報(bào)值改寫為連續(xù)回報(bào)值,當(dāng)機(jī)械臂L2末端(x2,y2)離目標(biāo)位置(xo,yo)相對(duì)距離越近獎(jiǎng)勵(lì)值越大,相對(duì)距離表示為Dabs=[x2-x02+y2-y02],獎(jiǎng)勵(lì)回報(bào)值公式(5)如下:

      4.3實(shí)驗(yàn)效果與分析

      實(shí)驗(yàn)效果如圖5所示,在交互界面上可任意移動(dòng)目標(biāo)位置,機(jī)械臂都能準(zhǔn)確地實(shí)現(xiàn)快速抓取,說(shuō)明了PPO有良好的學(xué)習(xí)效果。

      在將Actor學(xué)習(xí)率、Critic學(xué)習(xí)率、訓(xùn)練次數(shù)、訓(xùn)練網(wǎng)絡(luò)單次提取的數(shù)據(jù)Batch_size、衰減率等共有參數(shù)均保持相同的情況下,比較 PPO與Actor-Critic深度強(qiáng)化學(xué)習(xí)算法,驗(yàn)證PPO更適用于機(jī)械臂控制。

      圖6、7分別表示PPO與Actor-Critic前1000集獎(jiǎng)勵(lì)函數(shù)圖,雖然顯示兩種算法都能在該環(huán)境中達(dá)到良好學(xué)習(xí)效果,但 PPO能在更少的集數(shù)中取得最更大的獎(jiǎng)勵(lì)值,與Actor-Critic比較收斂速度提高了27.58%學(xué)習(xí)效率更高,且明顯獲得的獎(jiǎng)勵(lì)值更高。

      圖8表示了兩種算法訓(xùn)練最后100集所用步數(shù),共分為10組對(duì)比區(qū)間內(nèi)累計(jì)step。Actor-Critic的平均步數(shù)是117.28,PPO的平均步數(shù)是101.96,通過(guò)對(duì)比發(fā)現(xiàn)PPO所使用的step更少并且數(shù)據(jù)波動(dòng)浮動(dòng)相對(duì)穩(wěn)定,訓(xùn)練效果更好。

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

      本文通過(guò)實(shí)現(xiàn)基于PPO算法的機(jī)械臂任意位置抓取,根據(jù)成功訓(xùn)練出的仿真結(jié)果與 Actor-Critic算法實(shí)現(xiàn)的數(shù)據(jù)對(duì)比,分析應(yīng)用在機(jī)械臂實(shí)驗(yàn)中強(qiáng)化學(xué)習(xí)算法效果,驗(yàn)證了PPO能實(shí)現(xiàn)良好的學(xué)習(xí)效果,學(xué)習(xí)效率較高且穩(wěn)定。

      參考文獻(xiàn):

      [1] 褚建華. Q-learning強(qiáng)化學(xué)習(xí)算法改進(jìn)及其應(yīng)用研究[D].北京化工大學(xué),2009.

      [2] 秦志斌,錢徽,朱淼良.自主移動(dòng)機(jī)器人混合式體系結(jié)構(gòu)的一種Multi-agent實(shí)現(xiàn)方法[J].機(jī)器人,2006,28(5):478-482.

      [3] Liu Q, Zhai J W, Zhang Z C, et al. Review of deepreinforcement learning[J]. Chinese Journal of Computers,2018(1): 1-27.

      [4] Wang S, Chaovalitwongse W, Babuska R. MachineLearning Algorithms in Bipedal Robot Control[J]. IEEETransactions on Systems Man & Cybernetics Part C, 2012,42(5):728-743.

      [5] 劉全,翟建偉,章宗長(zhǎng),等.深度強(qiáng)化學(xué)習(xí)綜述[J].計(jì)算機(jī)學(xué)報(bào),2018,41(1):1-27.

      [6] Mnih V,Kavukcuoglu K,Silver D,et al.Human-levelcontrol through deep reinforcement learning[J].Nature,2015,518(7540):529-533.

      [7] Zhao D,Wang H,Shao K,et al.Deep reinforcementlearning with experience replay based on sarsa[C]//Proceedings of the 2016 IEEE Symposium Series on Computational Intelligence(IEEE-SSCI),2016:1-6.

      [8] Hessel M,Modayil J,Van Hasselt H,et al.Rainbow:combining improvements in deep reinforcement learning[J].arXiv preprint arXiv:1710.02298,2017.

      [9] Wang Z,Shi Z,Li Y,et al. The optimization of path planning for multi-robot system using Boltzmann Policy based Q-learning algorithm[C]/ /2013 IEEE International Conferenceon Robotics and Biomimetics(ROBIO). Shenzhen,2013:1199 -1204.

      [10] Sutton, R, Barto, A. Reinforcement Learning: An Introduction[M]. MIT Press, 1998.

      [11] Morvanzhou. Train a robot arm from scratch[Z]. 2017: [2018-10-4].

      【通聯(lián)編輯:唐一東】

      猜你喜歡
      強(qiáng)化學(xué)習(xí)機(jī)械臂
      智能車自主避障路徑規(guī)劃研究綜述
      一種記憶可修剪型仿生機(jī)器人的速度跟蹤算法研究
      基于強(qiáng)化學(xué)習(xí)的在線訂單配送時(shí)隙運(yùn)能分配
      論“以讀促寫”在初中英語(yǔ)寫作教學(xué)中的應(yīng)用
      智能交通車流自動(dòng)導(dǎo)引系統(tǒng)
      基于智能車技術(shù)的圖書館書籍整理機(jī)器人
      機(jī)械臂平面運(yùn)動(dòng)控制與分析
      機(jī)械臂工作空間全局相對(duì)可操作度圖的構(gòu)建方法
      分布式系統(tǒng)中基于非合作博弈的調(diào)度算法
      人機(jī)交互課程創(chuàng)新實(shí)驗(yàn)
      松桃| 花垣县| 苏尼特右旗| 黎川县| 泰顺县| 泗洪县| 连城县| 梓潼县| 新建县| 荔浦县| 龙州县| 乐业县| 威远县| 宝鸡市| 和田市| 德令哈市| 清苑县| 高碑店市| 宁南县| 定陶县| 延寿县| 孟村| 隆昌县| 贡觉县| 望城县| 盱眙县| 石渠县| 股票| 合肥市| 和龙市| 甘泉县| 巩留县| 平邑县| 佛坪县| 东宁县| 施秉县| 阳泉市| 福建省| 郸城县| 通许县| 高州市|