?

基于深度強化學習的水下機械臂自主控制研究

2024-01-09 07:06李忻陽盧倪斌呂詩為劉海瑞
控制與信息技術 2023年6期
關鍵詞:執行器坐標系機械

李忻陽,盧倪斌,呂詩為,劉海瑞

(上海中車艾森迪海洋裝備有限公司, 上海 201306)

0 引言

近年來,隨著各國相繼提出“工業4.0”發展計劃,智能控制、水下機器人技術、海洋科學等前沿科技逐漸受到了廣泛的關注[1]。水下機器人作為探索海洋的主力軍,近些年來更是獲得了飛速的發展。水下機器人按控制方式大體上可分為遙控水下機器人(remotely operated vehicle,ROV)、半自主水下機器人(unmanned underwater vehicle,UUV)和智能水下機器人(autonomous underwater vehicle,AUV),其中水下作業任務通常是由裝載有水下機械臂的ROV來完成。由于水下機器人往往只能從有限的角度觀測目標物,不僅受水下海流、能見度等因素影響,而且水下作業環境復雜多變,傳統的控制算法很難實現水下機械臂的自主控制。操作水下機器人和機械臂進行作業通常需要經驗豐富的操作手謹慎地完成,會耗費大量的時間和精力。

2014 年,夏威夷大學的Giacomo 等[2]在“SAUVIM”型UUV的基礎上,設計并搭載了一款基于聲吶和視覺的多重感知系統。其通過獲得的感知信息,在海洋環境中完成了目標的抓取和移動任務。2016年,美國斯坦福大學(Stanford University)和阿卜杜拉國王科技大學紅海研究中心(KAUST’s Red Sea Research Center)以及MEKA機器人(MEKA Robotics)合作研制了“海洋一號”(Ocean One)人形水下機器人來代替潛水員實現較高度智能的水下作業[3]。其配備了兩個七功能的機械臂以及多種傳感器,方便操作人員通過遙控的方式進行控制和感知,可以執行精細的水下勘探和考古等作業任務。2018 年,Satja 等提出了一種用于作業級水下機器人的全自動視覺伺服控制算法[4],其通過視覺伺服的方法獲取目標位置的偏差量,然后通過逆運動學計算各關節的期望位置,以此來控制機械臂的運動。但這種方法往往僅適用于小范圍的機械臂移動,而且隨著機械臂自由度的提高,逆運動學求解也會愈發困難。由此可見,實現水下機械臂系統的自主控制仍然面臨著諸多挑戰,特別是隨著自由度的提高,狀態維度會成倍增加,控制的難度和復雜度也會顯著提升。

近年來,隨著人工智能技術的發展,深度強化學習逐漸被證明是一種極具發展潛力的智能控制算法,其優秀的自學習能力、良好的魯棒性以及可以快速適應不同環境的強大能力,為實現水下機器人及機械臂的自主控制提供了廣闊的發展前景。本文以作業級水下機器人上搭載的七功能機械臂為主要研究對象,分析并應用強化學習算法,實現了水下七功能機械臂在空間內自主地向目標位置進行快速精準移動。文中提出的基于人工勢場的獎勵塑造方法不僅適用于水下機械臂的強化學習訓練,而且對目標移動類型的強化學習任務訓練均有較好的學習效果。

1 任務概述和建模

1.1 任務概述

如圖1 所示,本文所研究的水下機械臂自主運動控制任務可以被看作是一系列連貫的決策-運動控制過程。在每一個時間步內,智能體會從環境中獲得機械臂和目標物的狀態信息,包括機械臂各關節的位置、速度和目標物的位置等數據。隨后智能體會根據獲得的數據,基于強化學習訓練得到的策略做出相應的決策,決策數據會對應輸出給各個關節的控制器,控制機械臂各關節的運動。在下一個時間步內,智能體會根據新的狀態信息,做出新的決策,直到完成任務目標或被判定任務失敗。從任務開始直到達成目標或任務失敗的這一系列決策-運動控制的過程被稱之為一幕(Episode)。

1.2 系統建模

設世界坐標系為{I},機械臂關節坐標系為{i},i∈{0,1,2,…,n},其中{n}為末端執行器坐標系。則,由世界坐標系到末端執行器坐標系的齊次變換矩陣可表示為[5]

式中:T0,I——機械臂基坐標到世界坐標系的齊次變換矩陣,由機械臂基座的安裝位置決定;Ti,i-1(ηi)——機械臂關節i到關節(i-1)的齊次變換矩陣,由機械臂的DH(Denavit-Hartenberg)參數ηi決定。

機械臂各關節的運動學可通過下列方程組遞歸得出:

式中:ωi,i——第i個關節相對于坐標系{i}的角速度;Vi,i——第i個關節相對于坐標系{i}的線速度;Ri-1,i——由坐標系{i-1}到坐標系{i}的旋轉變換矩陣;zi-1,i-1——在坐標系{i-1}下第( )i-1 個關節的旋轉軸方向;ri,i——在坐標系{i}中表示的由坐標系{i-1}原點指向坐標系{i}原點的位置向量。

系統的動力學模型如下[6-7]:

式中:M——計及附加質量的慣性矩陣;C——計及附加質量的科氏力矩陣;D——阻尼矩陣;G——恢復力矩陣;τctrl——控制力(矩)。

2 基于強化學習的機械臂自主控制策略

多功能機械臂的自主控制具有高維且連續的狀態空間和動作空間,應用強化學習算法需保證強化學習策略更新方向準確并有效解決強化學習訓練過程中的獎勵稀疏問題。

2.1 PPO結合AC算法模型和原理

強化學習的本質就是學習“做什么才能使得數值化的收益信號最大化”,其中“做什么”指的是如何把當前的情景映射成動作輸出。近端策略優化[8](proximal policy optimization,PPO)屬于一類基于策略的強化學習方法。所謂策略指的是由狀態空間到動作空間的一個映射,主要通過構建深度神經網絡的方式來實現。

對于隨機策略,策略函數π(a|s,θ)的意義為:在時刻t、狀態s和參數θ下選擇動作a的概率,即

式中:At——t時刻采取的動作;St——t時刻的狀態;θt——t時刻的策略網絡參數。

基于策略的強化學習算法通常采用式(5)和式(6)進行策略的更新:

式中:Gt——t時刻的綜合收益或回報;T——當前幕的總時間步數;γ——獎勵折扣系數,用于反映某一時刻的收益與之前時刻的關聯程度,一般取值在0.9~0.99之間;Rk——(k-1)時刻后智能體從環境中獲得的即時獎勵;α——學習率,也稱步長,用于控制參數更新的步進效率。

該策略梯度算法被稱為REINFORCE[9],它的策略參數的更新正比于回報Gt和一個向量的乘積。這個向量是選取動作概率的梯度除以概率本身,這使得參數更新的大小正比于回報,而反比于選擇動作的概率。前者的意義在于它使得參數向著更有利于產生最大回報動作的方向更新;而后者的意義在于如果不這樣的話,在當前策略下頻繁被選擇的動作會具有優勢而被頻繁更新,即便這些動作并不是產生最大回報的選擇,而這將導致這些動作可能會在學習的過程中勝出,繼而影響策略的優化。

該方法在大多數簡單的強化學習環境中都獲得了良好的表現,但對水下具有多個自由度的機械臂控制而言,卻難以取得較好效果。主要原因有:1) REINFORCE所使用的獎勵是由環境直接給出的,它所評判的只是某一時刻所采取的動作正確與否,而非基于當前已學習到的策略的評判。在水下機械臂控制這一類高維環境下,這樣的獎勵很難指導智能體朝著正確的方向更新策略;2) 相較于簡單的強化學習測試環境,水下機械臂的自主控制更為接近真實的環境,具有較高的狀態維度。這使得智能體難以充分地去探索環境以獲得有效的獎勵,致使訓練過程進展緩慢甚至無法得到進展。

因此,本文采用PPO 結合AC 算法[10]框架進行強化學習訓練,AC 包含行動器(actor)和評判器(critic)兩部分,算法結構如圖2所示。

圖2 PPO 結合AC 算法結構圖Fig.2 Algorithm structure of PPO combined with AC

行動器使用深度神經網絡構建和擬合策略函數,并使用PPO算法對策略網絡進行參數學習和更新,策略參數更新的表達式為

式中:Vt——t時刻的優勢函數,用于描述t時刻所采取的行為的優劣;θold——上一次策略更新后的策略參數向量;?——裁剪系數;clip——裁剪函數。

式(8)為clip 函數,用于修正新舊策略的比值函數,見式(9),避免在相同狀態下,依據新、舊策略選擇某一動作的概率出現過大的差異,進而影響強化學習策略參數的更新。

近端策略優化算法通過裁剪函數來控制新舊策略之間的差異,并將其控制在(1-?,1+?)的范圍內。此時,如果優勢函數Vt>0,則依據梯度上升的原理,式(9)將大于1,如果比值超出了()1+?,程序將會提前中斷策略參數的更新,從而將新舊策略之間的比值控制在(1+?)以內;反之,如果優勢函數Vt<0,根據梯度上升原理,式(9)將小于1,程序就會將新舊策略間的比值限制在(1-?)和1之間。

評判器使用深度神經網絡構建和擬合當前環境的狀態價值函數v(St|ω),并采用深度學習中的梯度下降算法對價值網絡的參數進行更新。價值網絡更新過程中的損失計算采用均方誤差的方式,損失函數Lv為

價值網絡參數ω通過梯度下降算法進行更新,更新的價值網絡參數為ωq,其計算公式為

式中:q——強化學習訓練輪次。

價值網絡所擬合的正是在當前策略下的狀態價值函數,將此時的回報與狀態價值函數進行比較,即可得到基于當前策略的優勢函數:

2.2 獎勵塑造

稀疏獎勵問題是指智能體在訓練環境中進行探索的過程中難以獲得有效的獎勵,導致學習緩慢甚至無法進行學習[11]。這是強化學習訓練過程中經常會面臨的核心問題之一,特別是在面對復雜任務或是接近真實環境的情況下。

解決強化學習中的稀疏獎勵問題,通常首選的思路是使用人為設計的密集獎勵;但如果人為設計獎勵的方法不當,會使強化學習訓練產生諸多的問題。首先,人為設計獎勵的方法大都是針對某一特定的強化學習環境,幾乎不具備足夠的通用性,即便是相近的環境,也經常需要對獎勵的設計做出較大的改動;其次,不當的人為獎勵設計往往會給予智能體以錯誤的引導,使學習到的策略錯誤地收斂到局部最優,從而導致強化學習訓練的失??;再者,不當的人為獎勵可能會使訓練得到的策略存在安全隱患,甚至在應用后對機器人或周邊環境帶來損害。

對于獎勵的設計,文獻[12-13]給出了一種在獎勵設計的過程中可以保證最優策略不變的充分必要條件,結論是當附加的值函數可以表示為勢函數的差分形式的時候可以保證原最優策略不變,即

式中:F(s,a,s')——在狀態s采取動作a并達到狀態s'后給予的附加獎勵;Φ(s)——狀態s的勢函數,其定義為狀態到實數的映射。

根據這一原理,本文提出了一種基于人工勢場法的密集獎勵設計方法,該方法在保證整體強化學習最優策略不變的同時,可以廣泛適用于多種水下作業任務。

設pn=[xn yn zn]T為末端執行器在世界坐標系下的坐標,pt=[xtytzt]T為目標物在世界坐標系下的坐標,則末端執行器和目標物的相對位置矢量可以表示為

此時,末端執行器與目標物的歐幾里得距離ρ(pnt)可表示為

則密集獎勵的勢函數可表示為

式中:ξ——大于0的獎勵增益系數。

式(16)中取負號的原因在于,對于強化學習中的獎勵而言,越接近目標物智能體所獲得的獎勵應是不斷增大的,這樣才有利于智能體朝著正確的方向更新相應的抓取策略。由此可得,每一步的附加獎勵函數的表達式:

3 仿真試驗和分析

為驗證基于人工勢場法的獎勵塑造方法的有效性,將應用獎勵塑造前后的強化學習訓練綜合獎勵曲線進行對比分析;同時,應用強化學習訓練后的策略進行仿真試驗,分析自主控制策略的有效性和穩定性。

3.1 仿真試驗環境

本文中的仿真試驗所采用的仿真建模工具為OpenAI Gym MuJoCo(Multi-Joint dynamics with Contact),在機器人的運動仿真過程中,MuJoCo可以通過設置介質密度和黏度來模擬水下操作環境,通過設置關節和驅動,完成對水下機器人各自由度的狀態模擬和運動控制,實現水下機器人的姿態控制和機械臂運動仿真功能[14-15]。此外,MuJoCo也可以設置多種類型的傳感器,以方便地獲得各類數據,如位置、角度、速度信息等,便于對強化學習結果進行驗證。本文搭建的仿真環境包括水下仿真環境、七功能機械臂仿真模型和目標物模型,以模擬水下機械臂自主操作控制的場景。

圖3 示出水下機械臂實物和仿真模型,其中七功能機械臂的后兩個關節主要用于末端執行器的轉動和開合,并不影響末端執行器的位置。因此,本文僅對影響末端執行器運動的前五個轉動關節進行了仿真建模。為方便觀察,本文在仿真模型中以一個球形點表示末端執行器位置的參考點;目標物隨機生成在機械臂的作業空間內,同樣以一個球形點表示,如圖3中的機械臂仿真模型所示。

圖3 水下機械臂實物和仿真模型Fig.3 Physical and simulated models of the underwater manipulator

3.2 仿真試驗設置

本文采用Python 搭建仿真訓練程序,策略網絡和價值網絡均包含2個隱層,每個隱層包含64個神經元,激活函數采用Tanh 函數,輸出層無激活函數。輸入層包含5 個關節的角度和角速度,以及末端執行器與目標的相對位置關系,共13個神經元;輸出層包含5個關節的控制力信息,共5個神經元。

本文設置的PPO 訓練參數為:獎勵折扣系數γ=0.99,裁剪系數?=0.2,策略網絡學習率αθ=0.000 3,價值網絡學習率αω=0.001,每幕最大時間步長為1 000,每個訓練輪次步長為4 000,訓練輪次為400次。

環境獎勵設置為:每個時間步給予-0.1的獎勵。當關節角超出限定值,額外給予-30獎勵。末端執行器與目標距離小于0.005 m,并穩定維持3 個時間步后,任務判定成功,額外給予100獎勵。若應用獎勵塑造后的附加獎勵,則獎勵增益系數ξ=1 000。

3.3 仿真結果分析

強化學習訓練綜合獎勵曲線如圖4所示。圖中,曲線V0表示未應用獎勵塑造時的強化學習獎勵曲線,曲線V1表示應用獎勵塑造后的強化學習獎勵曲線。

圖4 獎勵曲線對比Fig.4 Comparison of reward curves

從曲線V0可以看出,由于智能體始終難以探測到有效的正獎勵,最終只能避免獲得更大的負獎勵,經過約100萬步訓練后,訓練獎勵穩定在-100。而從曲線V1中看到,智能體經過約90萬步的訓練后,逐漸獲得了有效的自主控制策略,綜合獎勵曲線逐漸收斂,獎勵穩定在300左右。其中獎勵曲線的波動主要源于目標物生成位置的隨機性,最終的任務成功率達到95%以上。

為驗證智能體經過強化學習訓練后策略的有效性,本文在機械臂的工作范圍內隨機生成了一個目標點(0.626,0.295,0.137)進行仿真試驗。圖5和圖6分別示出水下機械臂5 個關節的角度和角速度曲線??梢钥闯?,在智能體控制機械臂自主向目標移動過程中,機械臂各關節的運動過程穩定、連貫,共同帶動末端執行器向目標位置快速移動。

圖5 機械臂關節轉角曲線Fig.5 Angle curves of manipulator joints

圖6 機械臂關節角速度曲線Fig.6 Angular velocity curves of manipulator joints

圖7 和圖8 分別顯示了末端執行器向目標靠近過程中的三維路徑曲線和歐氏距離曲線??梢钥闯?,在機械臂的整個運動過程中,末端執行器徑直趨向目標,并走出了一條較為平直且順滑的三維趨近曲線;同時從歐氏距離曲線中也可以看到,僅經過約140 個仿真時間步,末端執行器即完成了初始距離約0.5 m的趨近任務,整個趨近過程流暢且穩定,達到了水下機械臂自主運動控制的預期效果。

圖7 機械臂末端執行器軌跡Fig.7 Track of the manipulator end effector

圖8 末端執行器與目標距離Fig.8 Distance between the end effector and the target

4 結束語

受水下環境水動力的復雜特性以及水下作業時觀測角度因素的影響,操作水下多功能機械臂完成水下精細的作業任務一直以來都需要耗費大量的人力和時間成本,這對自主控制技術的研究提出了更為迫切的需求。本文針對水下機械臂的自主控制問題,設計了一種將PPO與AC結合的深度強化學習訓練方法。同時,針對此類高維環境下強化學習訓練過程中出現的獎勵稀疏問題,文章提出了一種能夠保證最優策略不變的基于人工勢場法的獎勵塑造方法,并使用MuJoCo 建立了仿真模擬環境,通過對比分析強化學習訓練綜合獎勵曲線,驗證了該獎勵塑造方法的有效性。通過隨機生成目標點的方式,驗證了經強化學習訓練得到的策略可以在較短的時間內控制水下機械臂向目標完成趨近,趨近過程流暢、穩定且可靠。

目前,受客觀條件的限制,水下機械臂自主控制的整體研究還僅是在仿真環境下進行,缺少實際水下機械臂的自主控制經驗。在今后的研究中,我們會逐步將仿真結果遷移到實際的水下機器人的機械臂控制中,并將其應用到更多、更復雜的情況中,比如更多的自由度、水下機器人自主控制乃至多智能體的協同作業等。

猜你喜歡
執行器坐標系機械
調試機械臂
測控技術(2018年12期)2018-11-25
解密坐標系中的平移變換
坐標系背后的故事
簡單機械
飛機裝配預連接緊固件自動化安裝末端執行器設計
基于重心坐標系的平面幾何證明的探討
考慮執行器飽和的改進無模型自適應控制
一類具有執行器飽和的非線性系統抗飽和方法研究
按摩機械臂
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合