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