李新茂,劉滿祿,王基生,周祺杰
(1.西南科技大學 制造科學與工程學院,綿陽 621000;2.西南科技大學 信息工程學院,綿陽 621000;3.中國科學技術大學信息科學技術學院,合肥 230026)
在以核應急處理處置、核退役等為代表的危險環(huán)境作業(yè)中,采用機器人進行遠程作業(yè)已經(jīng)被國際社會廣泛認可[1]。針對危險環(huán)境下的閥門旋擰作業(yè),傳統(tǒng)的示教或編程的控制方法的任務適應性差;人工遠程操作亦存在誤操作風險。
針對閥門旋擰作業(yè),國內(nèi)外學者已經(jīng)提出了不同的研究策略。使用傳統(tǒng)控制方法,令人形機器人能夠執(zhí)行閥門旋擰任務[2~4]。Ahmadzadeh S R[5]等人在閥門旋擰階段基于力/運動混合控制策略,并采用一種反應決策系統(tǒng)來克服操作過程中的干擾和不確定因素。邢宏軍[6]通過設計專門夾持器并采用基于阻抗控制的主動柔順控制方法克服了閥門旋擰任務中的旋擰側(cè)向力問題和軸向位移問題。Fares J等人[7]提出了一種從示例學習的框架,用于檢索時變剛度輪廓,使機器人在閥門操作任務中具有較好的反應。各學者提出的以上方法能夠完成特定的作業(yè)任務,但是存在一些問題:1)適應性差,無法自適應地應對未知環(huán)境可能存在多類型閥門;2)需要針對性設計專門的夾持裝置,才能夠有效開展工作;3)針對典型問題的建模較為復雜。
深度強化學習(Deep Reinforcement Learning,DRL)具有很好的環(huán)境適應性和自我優(yōu)化的特點,在其他應用研究中已經(jīng)取得了一定的成果,如抓取、開門、折疊衣物[8~11]等等。研究表明,通過分析任務、分解基本動作,利用DRL能夠很好地學習擬合復雜的最優(yōu)控制策略。因此,本文主要針對閥門旋擰作業(yè)任務,提出了一種基于DRL的機械臂控制方法。在已經(jīng)通過遙操作或視覺引導完成機械臂對閥門夾持的基礎上,討論機械臂如何自適應地完成未知尺寸閥門手輪的旋擰作業(yè)。
閥門作為常用的開關控制器,規(guī)格尺寸多樣,如圖1所示。在以核應急處理處置、核退役等為代表的危險環(huán)境作業(yè)中,可能需要對多種規(guī)格尺寸的閥門手輪進行旋擰作業(yè),這對機械臂控制的適應性要求極高。本文直接將上述情況視為旋擰未知規(guī)格尺寸的閥門手輪。其中,夾持方式為使用二指夾持器夾持閥門輪緣,雖然這種方法會導致運動規(guī)劃困難,但能夠保證機械臂的環(huán)境適應能力。另外,默認機械臂夾持器已夾持住閥門輪緣,主要研究機械臂旋擰閥門問題。
圖1 不同規(guī)格尺寸的閥門手輪
為了實現(xiàn)對未知規(guī)格尺寸閥門手輪的旋擰操作,本文基于馬爾科夫決策過程(Markov Decision Processes,MDP)[12]建立閥門旋擰操作模型。采用深度確定性策略梯度算法(Deep Deterministic Policy Gradient,DDPG)[13],學習閥門旋擰的技能。
為降低算法復雜程度,采用跟蹤貼于閥門輪緣上標簽運動間接實現(xiàn)閥門旋擰的策略。并通過“Eye-in-Hand”手眼系統(tǒng)獲取標簽相對于夾持器的坐標信息。而由于機械臂在旋擰閥門的過程中,夾持器與閥門輪緣是相對靜止的,因此需要對標簽同時進行位置跟蹤和姿態(tài)跟蹤。
1)狀態(tài)空間
閥門旋擰過程的狀態(tài)空間S定義如下。
其中D描述位置跟蹤狀態(tài),L描述姿態(tài)跟蹤狀態(tài)。
位置跟蹤狀態(tài)D式(2)由夾持器中心點P(xp,yp)與標簽點F(xf,yf)之間的距離表示,如圖3所示。由于實際情況下夾持器中心P與標簽點F相對靜止,因此降低標簽點信息更新率的方法,以實現(xiàn)D值的變化。即當夾持器到達上一次更新得到的標簽點信息,再更新標簽點信息。
姿態(tài)跟蹤狀態(tài)L表示方法如下所述。如圖2所示,選取與點P相對位姿不變的一點M,與點P和點F構(gòu)成三角形。其中邊PM和邊PF是常量,因此邊MF的長度變化可以用于描述姿態(tài)跟蹤狀態(tài)L(式(3))。
圖2 環(huán)境信息描述
其中,l為邊MF的實時長度,l0為邊MF的初始長度。
3)動作空間
本文默認閥門為水平放置,故動作空間為A={αx,αy,ω},其中αx表示沿x軸方向運動,αy表示沿y軸方向運動,ω表示以夾持器中心為旋轉(zhuǎn)軸做旋轉(zhuǎn)運動。
4)獎懲函數(shù)
獎懲函數(shù)式(4)的設計主要依據(jù)位置與姿態(tài)的跟蹤狀態(tài),并通過參數(shù)λ,η調(diào)節(jié)D值和L值之間的數(shù)量級關系。另外,通過添加階梯函數(shù)φ(D,L)式(5)對閥門旋擰運動進行額外獎勵,加快模型訓練的收斂速度。
其中,單位為毫米。
本文基于DDPG實現(xiàn)對閥門旋擰策略模型的學習訓練。基于DDPG的訓練目標為尋找最優(yōu)網(wǎng)絡參數(shù)θ,使得閥門旋擰策略μ最優(yōu),如圖3所示。
圖3 DDPG算法結(jié)構(gòu)圖
該算法在狀態(tài)st時,根據(jù)策略μ選取動作at式(6),并在動作執(zhí)行后,返回新的狀態(tài)和獎勵(rt,st+1)。策略網(wǎng)絡μ會將(st,at,rt,st+1)存入記憶池(Replay Memory,RM),作為訓練行為網(wǎng)絡的數(shù)據(jù)集。記憶池的使用,可以減少算法的不穩(wěn)定性。
其中,μ為策略函數(shù),θ為策略參數(shù),s為當前狀態(tài)。即狀態(tài)為s時,相同策略的動作是唯一確定的。
網(wǎng)絡訓練時,會從RM中隨機采樣N個數(shù)據(jù),作為行為策略網(wǎng)絡μ、行為價值網(wǎng)絡Q的一個mini-batch訓練數(shù)據(jù),mini-batch中的單個數(shù)據(jù)記為(si,ai,ri,si+1)。
首先依據(jù)式(7)計算行為價值網(wǎng)絡Q的梯度,并更新該網(wǎng)絡。
接下來,使用mini-batch數(shù)據(jù),依據(jù)式(8)計算行為策略網(wǎng)絡μ的策略梯度,并更新該網(wǎng)絡。
目標網(wǎng)絡是行為網(wǎng)絡的拷貝,采用滑動平均的方法對μ'和Q'進行更新如式(9)所示。由于其更新緩慢低幅,能夠使訓練模型計算的值函數(shù)Q在一定程度上減少波動,令計算更穩(wěn)定。
為了加快收斂速度,并避免機械臂發(fā)生劇烈抖動或反方向旋擰,在訓練時作如下設計:一次標簽更新循環(huán)中,若規(guī)定步數(shù)內(nèi)D大于設定閾值,則令夾持器回到本次循環(huán)起始位置,繼續(xù)訓練。
算法流程如下:
仿真環(huán)境基于V-rep仿真平臺建立,如圖4所示。使用帶有RG2夾持器的UR5機械臂,動力學引擎為bullet2.83。所提出算法基于Tensorflow框架,部分參數(shù)如表1所示。
表1 網(wǎng)絡參數(shù)設計
圖4 仿真環(huán)境
訓練過程中所面對的閥門手輪直徑為300mm。所提出算法在訓練過程中累積獎勵R的變化如圖5所示。前10個回合即可快速收斂,在10~80個回合中存在震蕩。第80個回合后,累積獎勵R開始收斂。在第135回合左右,出現(xiàn)劇烈波動,但很快又重新收斂。
圖5 訓練中累積獎勵R變化過程
考慮閥門手輪的尺寸、規(guī)格多樣性,以及仿真環(huán)境中UR5機械臂的工作空間,針對直徑分別為300mm以及200mm、400mm、500mm的閥門手輪進行測試。
基于300mm直徑閥門手輪的測試結(jié)果如圖6~圖8及表2所示。其實際軌跡與理論軌跡基本重合,姿態(tài)跟蹤狀態(tài)L最大不超過2mm,因此所提出算法具有較好的運動性能。
圖6 300mm直徑旋擰軌跡
圖7 300mm直徑旋擰軌跡徑向誤差
圖8 300mm直徑旋擰軌跡姿態(tài)跟蹤狀態(tài)L
基于直徑為200mm,400mm,500mm的閥門手輪的測試結(jié)果如表2所示。雖然所提出算法是基于單一尺寸規(guī)格的閥門手輪進行訓練,但在閥門手輪尺寸未知的情況下仍然可以旋擰其他尺寸規(guī)格的閥門手輪,表明所提出算法具有較好的適應性。
表2 實驗仿真測試結(jié)果
針對典型危險環(huán)境作業(yè),本文提出了基于深度強化學習算法的機械臂自適應閥門旋擰方法。詳細分析了閥門旋擰問題,考慮旋擰過程中機械臂與閥門手輪的相對狀態(tài),設計了閥門旋擰操作的馬爾科夫過程。使用DDPG算法尋求最優(yōu)閥門旋擰策略。仿真實驗表明,所提出方法運動性能良好,能夠在閥門手輪尺寸未知的情況下實現(xiàn)對多種閥門手輪的旋擰操作。對在危險環(huán)境中利用機械臂開展閥門旋擰作業(yè),有很高的實用價值。