宋 宇,胡 莉,劉滿祿,2*,張 華,徐冬苓
(1.西南科技大學(xué) 信息工程學(xué)院,綿陽 621000;2.中國科技大學(xué) 信息科學(xué)技術(shù)學(xué)院,合肥 230026;3.上海核工程研究設(shè)計(jì)院有限公司,上海 200233)
隨著我國核能發(fā)電、軍用核動力裝置、輻照產(chǎn)業(yè)的廣泛開展[1,2],在放射性環(huán)境下采用機(jī)器人代替人進(jìn)入核電廠等涉核設(shè)施內(nèi)部對設(shè)備進(jìn)行維修、檢查等操作具有廣闊的應(yīng)用前景[3,4]。機(jī)器人在核電廠等涉核設(shè)施內(nèi)部工作時(shí),需要完成大量諸如軸孔裝配這類的高精度裝配任務(wù)。軸孔裝配是一個(gè)復(fù)雜的裝配過程,由于零件普遍存在加工誤差,使得軸孔裝配在孔內(nèi)只能使用較小的位姿進(jìn)行調(diào)整,在裝配精度上有較高的要求。傳統(tǒng)的軸孔裝配任務(wù)中,機(jī)器人與環(huán)境的接觸環(huán)境較為穩(wěn)定,一旦在未知環(huán)境中面臨不確定因素,機(jī)器人的適應(yīng)性就會變得很差,機(jī)器人處理核電廠這類未構(gòu)造的復(fù)雜環(huán)境的能力受限。因此,研究如何讓機(jī)器人在核電廠這類未構(gòu)造的環(huán)境中完成高精度軸孔裝配任務(wù)具有深刻的現(xiàn)實(shí)意義。
在CAP1400示范工程項(xiàng)目中,核電廠部分系統(tǒng)采用了特殊的布置和設(shè)備設(shè)計(jì),堆腔底部的堆外核測探測器安裝作業(yè)空間狹小,需要利用專用工具把探測器安裝在儀器井內(nèi)部,并通過銷釘固定,涉及的軸孔裝配操作步驟比較繁瑣,直接依靠人工的工作強(qiáng)度很大,且堆腔底部輻照劑量非常高。本文重點(diǎn)考慮核電廠堆外核測探測器安裝過程中,探測器與儀器井的軸孔柔順裝配問題,研究利用主從遙操作機(jī)械臂進(jìn)行軸孔裝配的關(guān)鍵策略。核電廠堆外核測探測器軸孔裝配環(huán)境如圖1所示。
圖1 核電廠堆外核測探測器軸孔裝配環(huán)境
核電廠堆外核測探測器所處環(huán)境較為復(fù)雜且狹小,使用傳統(tǒng)的控制方法并不能很好的完成軸孔裝配任務(wù)。傳統(tǒng)的控制方式是使用稱為“示教器”的控制箱定義機(jī)器人運(yùn)動的關(guān)鍵位置和動作來執(zhí)行裝配任務(wù)[5,6],但是這種在線編程的方式通常需要消耗大量的時(shí)間,即使在完成編程后,由于生產(chǎn)環(huán)境的改變,仍然需要花費(fèi)很長時(shí)間來調(diào)整用于將機(jī)器人部署在新環(huán)境的參數(shù),因此并不適用于核電廠環(huán)境下的軸孔裝配任務(wù)。另一種常見的控制方式是基于視覺傳感器完成裝配任務(wù)[7,8],這種控制方式需要測量銷釘和孔之間的位置和方向。但是,在許多實(shí)際的裝配任務(wù)中,孔的位置和方向通常是難以通過視覺傳感器準(zhǔn)確測量的,位置誤差或部分遮擋而產(chǎn)生的較大接觸力將導(dǎo)致裝配過程失敗,所以這種基于視覺傳感器的裝配方法難以成功完成裝配任務(wù)。
深度強(qiáng)化學(xué)習(xí)算法(deep reinforcement learning,DRL)作為一種新興的通用人工智能算法技術(shù),在游戲、機(jī)器人控制等領(lǐng)域被大量使用[9],是人工智能邁向智能決策的重要一步。將具有良好適應(yīng)性和魯棒性的DRL應(yīng)用在機(jī)器人軸孔裝配任務(wù)中,可以有效提升機(jī)器人軸孔裝配的精度。Luo J等人[10]將機(jī)器人手腕傳感器的扭矩測量結(jié)果合并為兩個(gè)部分,將其集成到策略網(wǎng)絡(luò)學(xué)習(xí)過程中,并在與神經(jīng)網(wǎng)絡(luò)耦合的導(dǎo)納控制器中使用,這使得機(jī)器人可以學(xué)習(xí)接觸環(huán)境復(fù)雜的裝配任務(wù),而無需精確的關(guān)節(jié)力矩控制。Hou Z等人[11]提出了一種基于模型的深度確定性策略梯度算法,用來學(xué)習(xí)解決多孔軸孔裝配問題的通用裝配策略,為了在真實(shí)環(huán)境的組裝任務(wù)中實(shí)現(xiàn)快速學(xué)習(xí)過程,在策略搜索階段,采用了一種混合探索策略驅(qū)動的探索方式。Inoue T等人[12]提出了一種高精度軸孔裝配策略,通過訓(xùn)練帶有強(qiáng)化學(xué)習(xí)的長短期記憶網(wǎng)絡(luò)學(xué)習(xí)兩種單獨(dú)的裝配策略來完成緊密間隙的軸孔裝配任務(wù)。以上方法雖然能夠?qū)崿F(xiàn)部分典型環(huán)境、對象、狀態(tài)的軸孔裝配任務(wù),但針對核電廠這類具有工作環(huán)境復(fù)雜、輻射劑量較高等特征對象的軸孔裝配任務(wù)難以廣泛應(yīng)用。
為降低運(yùn)維人員所受輻射劑量,提高運(yùn)維效率,本文提出一種基于人機(jī)合作的核運(yùn)維機(jī)器人軸孔裝配方法。在堆外核測探測器安裝流程中引入機(jī)器人自主控制技術(shù),但所有作業(yè)必須在有人監(jiān)控的前提下進(jìn)行,即“遙操作+局部自主”。把機(jī)器人智能跟人的智能充分結(jié)合起來:利用人的經(jīng)驗(yàn)知識完成軸孔裝配的尋孔任務(wù),增強(qiáng)操作過程的可靠性,保證風(fēng)險(xiǎn)可控;同時(shí),利用DRL算法使機(jī)器人在局部區(qū)域自主完成銷釘?shù)牟迦肴蝿?wù)。
根據(jù)核運(yùn)維機(jī)器人在核電廠環(huán)境中的運(yùn)行特點(diǎn),將軸孔裝配任務(wù)分為搜索階段和插入階段:
1)搜索階段:主端機(jī)械臂控制夾持住銷釘?shù)膹亩藱C(jī)械臂進(jìn)行尋孔,將銷釘放置在孔的中心位置(允許誤差內(nèi))。
2)插入階段:從端機(jī)械臂依據(jù)力反饋信息實(shí)時(shí)調(diào)整銷釘?shù)奈恢煤头较?驅(qū)動銷釘插入孔中。
核電廠堆腔底部的堆外核測探測器安裝作業(yè)空間狹小,且安裝環(huán)境中其他設(shè)備較為精密,不能發(fā)生碰撞,機(jī)器人自主完成搜索階段的尋孔任務(wù)難度較大,需要借助人工輔助搜索的方式完成。主端機(jī)械臂通過操作空間映射算法控制從端機(jī)械臂將由末端夾持器夾持住的銷釘移動到孔的周圍,需要說明的是,從端機(jī)械臂每次都是以相同的姿態(tài)夾持銷釘相同的位置。然后再控制銷釘與孔端面接觸,基于力反饋信息對銷釘進(jìn)行平移,當(dāng)力反饋數(shù)據(jù)為0時(shí),銷釘?shù)竭_(dá)孔的中心位置。搜索階段尋孔模型如圖2所示。
圖2 搜索階段尋孔模型
在核電廠探測器與儀器井的軸孔裝配任務(wù)中,銷釘和孔之間的間隙很小,通常只有10微米,對于操作人員來說是極其困難的。對于機(jī)器人來說,完成比自身位置精度更小的插入任務(wù)也是非常困難的。因此,機(jī)器人需要采用基于力矩傳感器信息的DRL算法自主完成精確的插入任務(wù)。
根據(jù)對于核運(yùn)維機(jī)器人軸孔裝配任務(wù)的問題描述,軸孔裝配的作業(yè)流程如下圖3所示。在搜索階段建立主從機(jī)械臂控制系統(tǒng),實(shí)現(xiàn)異構(gòu)遙操作控制,將銷釘放置在孔的中心位置。在插入階段基于DRL算法模型,以從端機(jī)械臂末端的力反饋和銷釘位姿兩種信息為依據(jù)構(gòu)建馬爾科夫決策過程,通過訓(xùn)練得到從端機(jī)械臂當(dāng)前狀態(tài)與動作的映射關(guān)系從而獲取最優(yōu)控制策略,依據(jù)力反饋信息實(shí)時(shí)調(diào)整銷釘?shù)奈恢煤头较?推動銷釘插入孔中。
圖3 軸孔裝配流程圖
在核運(yùn)維機(jī)器人軸孔裝配任務(wù)中,主端機(jī)械臂和從端機(jī)械臂是異構(gòu)系統(tǒng),通過關(guān)節(jié)空間映射的方法建立主從機(jī)械臂各關(guān)節(jié)之間的控制系統(tǒng)將非常復(fù)雜[13],而采用操作空間映射的方法,將主端機(jī)械臂末端的位姿通過操作空間映射算法映射到從端機(jī)械臂末端的位姿可以解決這一問題。
由于核電廠堆腔底部的堆外核測探測器安裝作業(yè)空間是不規(guī)則的,因此在進(jìn)行操作空間映射時(shí)需要對主從機(jī)械臂的操作空間進(jìn)行限定,設(shè)主從機(jī)械臂末端在三維空間中的操作范圍為pmd∈[pmdmin,pmdmax]和psd∈[psdmin,psdmax],d分別取x,y,z方向,pmd與psd分別為主從機(jī)械臂末端在某一方向的位置分量。主從機(jī)械臂操作空間映射算法如圖4所示。
圖4 主從異構(gòu)機(jī)械臂操作空間映射示意圖
在t時(shí)刻時(shí),主從機(jī)械臂末端執(zhí)行器空間位置分別為pm(t)=(pmx(t),pmy(t),pmz(t))T,ps(t)=(psx(t),psy(t),psz(t))T,映射關(guān)系如式(1)所示:
通過式(1)得到從端機(jī)械臂末端在工作空間中的位置ps,根據(jù)逆運(yùn)動學(xué)可以計(jì)算出一組關(guān)節(jié)角作為輸入傳遞到從端機(jī)械臂的編碼器中,進(jìn)而實(shí)現(xiàn)主從機(jī)械臂的跟隨控制。
可以將核運(yùn)維機(jī)器人軸孔裝配任務(wù)的插入階段公式化為一個(gè)馬爾可夫決策過程模型(markov decision process,MDP)。MDP作為強(qiáng)化學(xué)習(xí)的基本框架,由一個(gè)四元組構(gòu)成,即(S,A,Psa,R),其中S為狀態(tài)空間集,A為動作空間集,Psa為狀態(tài)轉(zhuǎn)移概率,R為獎勵(lì)函數(shù)。在插入階段,從端機(jī)械臂作為強(qiáng)化學(xué)習(xí)中的智能體,當(dāng)從端機(jī)械臂執(zhí)行某個(gè)動作后,裝配環(huán)境將會轉(zhuǎn)到一個(gè)新的狀態(tài)。對于該新的狀態(tài),裝配環(huán)境會給出一個(gè)獎勵(lì)信號(正向獎勵(lì)或者負(fù)向獎勵(lì))。智能體根據(jù)新的狀態(tài)和裝配環(huán)境反饋的獎勵(lì)信號,按照一定的策略執(zhí)行新的動作。智能體學(xué)習(xí)的目標(biāo)就是學(xué)會將狀態(tài)映射到動作從而求得從端機(jī)械臂控制的最優(yōu)策略μ*。
核運(yùn)維機(jī)器人軸孔裝配任務(wù)的插入階段是一個(gè)連續(xù)動作過程,常見的面向離散控制任務(wù)的DRL算法——深度Q網(wǎng)絡(luò)[14,15](deep Q-network,DQN)并不適用,因此本文使用可應(yīng)用于連續(xù)型動作的深度確定性策略梯度網(wǎng)絡(luò)[16](deep deterministic policy gradient algorithms,DDPG)。
從端機(jī)械臂的狀態(tài)空間定義為:
其中,F和M分別表示力矩傳感器返回的力和力矩;P和R分別表示根據(jù)正運(yùn)動學(xué)從從端機(jī)械臂編碼器測量的關(guān)節(jié)角度計(jì)算出的由末端夾持器夾持的銷釘?shù)奈恢煤头较?。下?biāo)x,y,z表示從端機(jī)械臂末端坐標(biāo)軸的方向。
從端機(jī)械臂的動作空間定義為:
其中,Pd是銷釘?shù)奈恢?Rd是銷釘?shù)姆较?根據(jù)逆運(yùn)動學(xué)計(jì)算出一組關(guān)節(jié)角作為輸入傳遞到從端機(jī)械臂的編碼器中。
強(qiáng)化學(xué)習(xí)算法通過使累積獎勵(lì)最大化來學(xué)習(xí)機(jī)器人裝配策略:
其中,γ是折扣因子,是介于[0,1]的常數(shù);rk是分配給每個(gè)狀態(tài)-動作對的即時(shí)獎勵(lì);k是步數(shù)的索引;n是一個(gè)回合的總步數(shù)。
機(jī)器人軸孔裝配的插入階段從開始到結(jié)束的過程稱為一個(gè)回合。在本文提出的算法中,我們僅在每個(gè)回合的最后一步計(jì)算一個(gè)獎勵(lì)r。如果裝配成功,則會向網(wǎng)絡(luò)提供一個(gè)正向獎勵(lì):
其中,c為常數(shù);k是裝配完成時(shí)的實(shí)際步數(shù);kmax是一個(gè)回合的最大步數(shù)。
本文提出的算法目標(biāo)是使用最少的步數(shù)完成裝配任務(wù),如果不能在kmax內(nèi)完成任務(wù),則會向網(wǎng)絡(luò)提供一個(gè)負(fù)向獎勵(lì):
其中,D是孔的深度,dt是時(shí)間步長t時(shí)銷釘插入孔的深度。
在DDPG算法中,將深度神經(jīng)網(wǎng)絡(luò)與確定性策略梯度(deterministic policy gradient,DPG)算法進(jìn)行融合,并使用演說家-評論家(actor-critic,AC)算法作為該算法的基本框架。分別使用參數(shù)為μθ的策略網(wǎng)絡(luò)來表示確定性行為策略a=μ(s|θμ),輸入為當(dāng)前的狀態(tài)s,輸出確定性的動作值a;使用參數(shù)為θQ的價(jià)值網(wǎng)絡(luò)來表示動作值函數(shù)Q(s,a|θQ),用于求解貝爾曼方程。DDPG算法框架滿足強(qiáng)化學(xué)習(xí)的馬爾可夫決策過程,actor和critic為智能體的內(nèi)容,其中actor負(fù)責(zé)策略網(wǎng)絡(luò),critic負(fù)責(zé)價(jià)值網(wǎng)絡(luò)。通過智能體與環(huán)境進(jìn)行交互的過程,把交互所產(chǎn)生的樣本存儲在經(jīng)驗(yàn)池中,下一時(shí)間步從經(jīng)驗(yàn)池中隨機(jī)提取小批量樣本數(shù)據(jù)傳遞給actor和critic進(jìn)行計(jì)算。
根據(jù)實(shí)踐證明,在只使用單個(gè)神經(jīng)網(wǎng)絡(luò)算法的強(qiáng)化學(xué)習(xí)算法中,動作值函數(shù)Q的學(xué)習(xí)過程可能會出現(xiàn)不穩(wěn)定,因?yàn)閮r(jià)值網(wǎng)絡(luò)的參數(shù)在頻繁梯度更新的同時(shí),又用于計(jì)算策略網(wǎng)絡(luò)的梯度?;谶@個(gè)問題,DDPG算法分別為策略網(wǎng)絡(luò)和價(jià)值網(wǎng)絡(luò)各自創(chuàng)建兩個(gè)神經(jīng)網(wǎng)絡(luò),一個(gè)為在線網(wǎng)絡(luò),另一個(gè)為目標(biāo)網(wǎng)絡(luò)。DDPG算法使用了4個(gè)網(wǎng)絡(luò)模型,其更新關(guān)系是在結(jié)束一次小批量樣本數(shù)據(jù)的訓(xùn)練后,通過梯度上升或梯度下降算法更新在線網(wǎng)絡(luò)的參數(shù),然后再通過軟更新(每一時(shí)間步都會更新目標(biāo)網(wǎng)絡(luò))算法更新目標(biāo)網(wǎng)絡(luò)的參數(shù)。核運(yùn)維機(jī)器人軸孔裝配任務(wù)的插入階段算法結(jié)構(gòu)如圖5所示。
圖5 插入階段算法結(jié)構(gòu)圖
機(jī)器人在對軸孔裝配環(huán)境進(jìn)行探索,其目的是尋找更多潛在的更優(yōu)策略,因此在網(wǎng)絡(luò)模型的訓(xùn)練過程中,引入隨機(jī)噪聲影響動作的選擇。DDPG算法中使用OU隨機(jī)過程(ornstein-uhlenbeck)作為引入的隨機(jī)噪聲。
DDPG算法的目標(biāo)函數(shù)被定義為折扣累積獎勵(lì)的期望,即如式(7)所示:
其中β為行為策略,行為策略根據(jù)當(dāng)前在線策略網(wǎng)絡(luò)μ和隨機(jī)OU噪聲生成隨機(jī)過程,并從該隨機(jī)過程進(jìn)行采樣獲得動作值at。
DDPG算法的目標(biāo)是求解最優(yōu)確定性行為策略μ*,即目標(biāo)函數(shù)最大化的策略如式(8)所示:
從經(jīng)驗(yàn)池中隨機(jī)采樣小批量的N個(gè)轉(zhuǎn)換經(jīng)驗(yàn)樣本(si,ai,ri,si+1),使用最小化損失函數(shù)來更新critic網(wǎng)絡(luò)如式(9)所示:
其中yi=ri+γQ′(si+1,μ′(si+1|θμ′)|θQ′),θμ′為actor目標(biāo)策略網(wǎng)絡(luò)的參數(shù),θQ′為critic目標(biāo)價(jià)值網(wǎng)絡(luò)的參數(shù),使用梯度下降算法更新網(wǎng)絡(luò)模型中的參數(shù)。actor目標(biāo)策略網(wǎng)絡(luò)μ′和critic目標(biāo)價(jià)值網(wǎng)絡(luò)Q′使得網(wǎng)絡(luò)在學(xué)習(xí)過程中更加穩(wěn)定,更容易收斂。
目標(biāo)函數(shù)Jβ(μ)關(guān)于策略網(wǎng)絡(luò)參數(shù)θμ的梯度,等價(jià)于動作值函數(shù)Q(s,a|θQ關(guān)于θμ的期望梯度,因此遵循鏈?zhǔn)角髮?dǎo)法則對目標(biāo)函數(shù)進(jìn)行求導(dǎo),使用梯度策略算法更新actor網(wǎng)絡(luò):
對式(10)使用梯度上升算法的目標(biāo)函數(shù)進(jìn)行優(yōu)化計(jì)算,使用梯度上升的目標(biāo)是提高折扣累積獎勵(lì)的期望。最終使得算法沿著提升動作值函數(shù)Q(s,a|θQ的方向更新actor策略網(wǎng)絡(luò)的參數(shù)θμ。
在本節(jié)中,通過實(shí)驗(yàn)驗(yàn)證基于人機(jī)合作的機(jī)器人軸孔裝配算法的可行性。
3.1.1 實(shí)物環(huán)境搭建
在真實(shí)場景中搭建基于Phantom omni力反饋設(shè)備和UR5機(jī)械臂的主從異構(gòu)遙操作系統(tǒng),編寫Python語言腳本通過機(jī)器人開源操作系統(tǒng)ROS完成主從機(jī)械臂的跟隨控制,并完成搜索階段的尋孔任務(wù)。插入階段的主從異構(gòu)遙操作系統(tǒng)實(shí)物圖如圖6所示。
圖6 主從異構(gòu)遙操作系統(tǒng)實(shí)物圖
3.1.2 實(shí)驗(yàn)與結(jié)果分析
搜索階段的主從異構(gòu)遙操作系統(tǒng)如圖7所示。首先操作者控制主端機(jī)械臂完成一系列動作,然后ROS系統(tǒng)獲取主端機(jī)械臂節(jié)點(diǎn)omni1的末端位姿信息并發(fā)布名為/phantom/pose的主題,從端機(jī)械臂在python腳本中設(shè)置一個(gè)節(jié)點(diǎn)UR5_control實(shí)時(shí)訂閱該主題,最后將訂閱的主端機(jī)械臂末端位姿信息通過操作空間映射算法發(fā)送給從端機(jī)械臂,控制銷釘?shù)竭_(dá)孔的中心位置。其中,節(jié)點(diǎn)robot_state_publisher用來訂閱節(jié)點(diǎn)omni1發(fā)布的名為joint_states的主題,該節(jié)點(diǎn)可以觀察主端機(jī)械臂末端的實(shí)時(shí)位置信息,用于判斷末端是否在主端工作空間內(nèi)。搜索階段的ROS節(jié)點(diǎn)圖如圖8所示。
圖7 搜索階段的主從異構(gòu)遙操作系統(tǒng)
圖8 搜索階段的ROS節(jié)點(diǎn)圖
通過主從異構(gòu)遙操作系統(tǒng)完成搜索階段的尋孔任務(wù),在一次尋孔的過程中,我們可視化了機(jī)器人尋孔的軌跡,如圖9、圖10所示。由于充當(dāng)主從機(jī)械臂的兩個(gè)設(shè)備的空間坐標(biāo)軸設(shè)置存在差異,為了便于操作,將從端機(jī)械臂末端的Y坐標(biāo)軸對應(yīng)主端機(jī)械臂末端的-Z坐標(biāo)軸,從端機(jī)械臂末端的Z坐標(biāo)軸對應(yīng)主端機(jī)械臂末端的Y坐標(biāo)軸。
圖9 搜索階段主端機(jī)械臂末端運(yùn)行軌跡
圖10 搜索階段從端機(jī)械臂末端運(yùn)行軌跡
從圖9、圖10中觀察到,主從機(jī)械臂末端可以實(shí)現(xiàn)實(shí)時(shí)跟隨并完成搜索階段的尋孔任務(wù)。
3.2.1 仿真環(huán)境搭建
在機(jī)器人仿真軟件webots中建立軸孔裝配仿真環(huán)境,編寫python語言腳本控制仿真環(huán)境中的機(jī)器人完成軸孔裝配任務(wù)的插入階段。其中包括UR5機(jī)械臂,六維力矩傳感器,夾持器和軸孔裝配工件。仿真環(huán)境中,基于DRL算法模型,通過訓(xùn)練得到從端機(jī)械臂當(dāng)前狀態(tài)與動作的映射關(guān)系從而獲取最優(yōu)控制策略,依據(jù)力反饋信息實(shí)時(shí)調(diào)整銷釘?shù)奈恢煤头较?驅(qū)動銷釘插入孔中。插入階段仿真環(huán)境如圖11所示。
圖11 插入階段仿真環(huán)境
3.2.2 實(shí)驗(yàn)與結(jié)果分析
插入階段的仿真系統(tǒng)如圖12所示。首先獲取webots中銷釘位姿和力矩傳感器信息,將獲取的信息進(jìn)行篩選和計(jì)算,將其結(jié)果作為環(huán)境狀態(tài)發(fā)送給DRL智能體進(jìn)行決策;actor網(wǎng)絡(luò)根據(jù)當(dāng)前狀態(tài)按照確定性行為策略選擇合適的動作,同時(shí)發(fā)送動作指令給控制器控制從端機(jī)械臂運(yùn)動,然后獲取下一個(gè)數(shù)據(jù)作為環(huán)境狀態(tài)再次發(fā)送給智能體;critic網(wǎng)絡(luò)判斷當(dāng)前狀態(tài)的價(jià)值并更新網(wǎng)絡(luò)。重復(fù)以上過程,直到裝配成功或者達(dá)到最大的訓(xùn)練回合數(shù)。
圖12 插入階段仿真系統(tǒng)
搜索階段已將銷釘放置在孔的中心位置,插入階段的DRL訓(xùn)練實(shí)驗(yàn)進(jìn)行了300回合,對于仿真中的一個(gè)回合,銷釘?shù)姆较蚴窃陔S機(jī)初始化的,每回合最大步數(shù)kmax為300,部分參數(shù)如表1所示。實(shí)驗(yàn)訓(xùn)練結(jié)果如圖13和圖14所示。
表1 算法使用的部分參數(shù)
圖13 每個(gè)回合的累積獎勵(lì)
圖14 每個(gè)回合的裝配步數(shù)
圖13為訓(xùn)練過程中每個(gè)回合的累積獎勵(lì)變化情況,圖14為訓(xùn)練過程中每個(gè)回合的裝配步數(shù)變化情況,從圖中可以看到,剛開訓(xùn)練時(shí),裝配失敗的次數(shù)較多,每個(gè)回合得到的累積獎勵(lì)很低且裝配步數(shù)較多,隨著裝配成功次數(shù)及訓(xùn)練回合數(shù)的增加,智能體逐漸學(xué)會如何通過調(diào)整銷釘?shù)奈蛔送瓿裳b配,當(dāng)訓(xùn)練回合數(shù)達(dá)到200回合時(shí),累積獎勵(lì)趨于穩(wěn)定且達(dá)到最大值附近,單個(gè)回合的裝配步數(shù)也逐漸變少。智能體通過不斷的訓(xùn)練,學(xué)會了插入階段的軸孔裝配控制策略。
訓(xùn)練完成之后,基于學(xué)習(xí)到的插入階段軸孔裝配控制策略執(zhí)行插入階段的裝配任務(wù),在一次成功裝配的單一回合中,裝配過程中的力和力矩變化如圖15所示,裝配過程中銷釘?shù)奈恢煤妥藨B(tài)變化如圖16、圖17所示。從圖15中可以看到插入過程中從端機(jī)械臂末端的力和力矩分量最終都在零值附近,結(jié)合圖15~圖17可以看到從端機(jī)械臂依據(jù)力反饋信息實(shí)時(shí)調(diào)整銷釘?shù)奈恢煤妥藨B(tài)逐漸將銷釘插入孔中,圖16中銷釘位置的三個(gè)坐標(biāo)分量最終都為零值,說明銷釘成功插入孔中。
圖15 單一回合中力及力矩的變化
圖16 單一回合中銷釘位置的變化
圖17 單一回合中銷釘姿態(tài)的變化
為了提高核設(shè)施日常運(yùn)行維護(hù)的效率,保障核設(shè)施的安全運(yùn)行,同時(shí)降低工作人員的受輻射劑量,針對CAP1400核電廠示范工程項(xiàng)目的任務(wù)需求,本文提出一種基于人機(jī)合作的核運(yùn)維機(jī)器人軸孔裝配方法。根據(jù)核運(yùn)維機(jī)器人在核電廠環(huán)境中的運(yùn)行特點(diǎn),將軸孔裝配任務(wù)分為基于遙操作系統(tǒng)的搜索階段和基于DRL的插入階段。在真實(shí)場景中搭建基于Phantom omni力反饋設(shè)備和UR5機(jī)械臂的主從異構(gòu)遙操作系統(tǒng),使用ROS通信實(shí)現(xiàn)了主從機(jī)械臂的跟隨控制,并很好的完成了搜索階段的尋孔任務(wù)。在webots中建立簡化軸孔裝配仿真環(huán)境,通過編寫python語言腳本控制仿真環(huán)境中的機(jī)器人完成軸孔裝配任務(wù)的插入階段,進(jìn)行了300回合的仿真訓(xùn)練實(shí)驗(yàn),實(shí)驗(yàn)中算法可以用少量的裝配步數(shù)和較高的獎勵(lì)實(shí)現(xiàn)銷釘?shù)牟迦肴蝿?wù)。
在未來進(jìn)一步的研究中,需要考慮真實(shí)環(huán)境下插入階段的軸孔接觸情況,并且增加該方法的泛化能力。同時(shí),開展在核電廠環(huán)境下的實(shí)物驗(yàn)證也是接下來的重要工作。