国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于逆強(qiáng)化學(xué)習(xí)與行為樹的機(jī)械臂復(fù)雜操作技能學(xué)習(xí)方法

2024-04-02 03:42:44宋越杰馬陳昊孟子晗劉元?dú)w
現(xiàn)代電子技術(shù) 2024年7期
關(guān)鍵詞:操作技能底層機(jī)械

宋越杰,馬陳昊,孟子晗,劉元?dú)w

(南京郵電大學(xué)自動(dòng)化學(xué)院人工智能學(xué)院,江蘇南京 210023)

0 引 言

社會(huì)老齡化的加劇與各種意外事故的發(fā)生,導(dǎo)致老殘人群數(shù)量日益增加,不同程度的肢體殘障對(duì)老殘人群的日常生活產(chǎn)生了較大影響。為在一定程度上解決上述問(wèn)題,除了提供社會(huì)支持和無(wú)障礙環(huán)境外,助老助殘輔助設(shè)備的開發(fā)也非常重要。隨著機(jī)器人技術(shù)的發(fā)展,機(jī)器人在改善或替代受損肢體功能方面的研究,近年來(lái)取得了較多有影響力的成果[1],特別是伴隨人工智能技術(shù)的引入,機(jī)器人在輔助老殘人群日常生活活動(dòng)操作方面,尤其是在機(jī)械臂學(xué)習(xí)人類的日常生活活動(dòng)操作技能方面,國(guó)內(nèi)外研究非常深入并取得了較好的進(jìn)展[2]。

在機(jī)械臂學(xué)習(xí)人類的日常生活活動(dòng)操作技能方面,針對(duì)較為簡(jiǎn)單的操作任務(wù),可以分為模仿學(xué)習(xí)與強(qiáng)化學(xué)習(xí)兩種不同類型的機(jī)器學(xué)習(xí)方法。模仿學(xué)習(xí)是一種監(jiān)督學(xué)習(xí)方法,它通過(guò)觀察和模仿專家的行為來(lái)獲取人類操作技能的仿生學(xué)習(xí)方式[3],具體又可分為軌跡編碼、動(dòng)態(tài)系統(tǒng)及策略過(guò)程三種不同類型。在軌跡編碼模仿學(xué)習(xí)方面,文獻(xiàn)[4]運(yùn)用基于參數(shù)化的高斯混合模型學(xué)習(xí)了人機(jī)協(xié)作搬運(yùn)與裝配操作技能,文獻(xiàn)[5]基于Baxter 協(xié)作機(jī)器人平臺(tái)并運(yùn)用隱半馬爾科夫模型學(xué)習(xí)了人類的穿衣技能。動(dòng)態(tài)運(yùn)動(dòng)基元作為動(dòng)態(tài)系統(tǒng)模仿學(xué)習(xí)方法的典型代表,在機(jī)器人輔助操作技能學(xué)習(xí)方面也得到了較好的應(yīng)用。文獻(xiàn)[6]通過(guò)融合動(dòng)態(tài)運(yùn)動(dòng)基元與概率運(yùn)動(dòng)基元兩類不同的動(dòng)態(tài)系統(tǒng)模仿學(xué)習(xí)方法,構(gòu)建了概率動(dòng)態(tài)運(yùn)動(dòng)基元學(xué)習(xí)框架,并在機(jī)器人輔助日常生活拾取操作中進(jìn)行了較好的驗(yàn)證。針對(duì)策略過(guò)程模仿學(xué)習(xí)方法,文獻(xiàn)[7]為提高技能的泛化性能,運(yùn)用逆強(qiáng)化學(xué)習(xí)方法學(xué)習(xí)了變阻抗控制參數(shù)及獎(jiǎng)勵(lì)函數(shù),并通過(guò)機(jī)器人輔助插孔和杯盤放置實(shí)驗(yàn)驗(yàn)證了算法的有效性。同模仿學(xué)習(xí)不同的是,強(qiáng)化學(xué)習(xí)是通過(guò)智能體與環(huán)境的交互試錯(cuò)來(lái)學(xué)習(xí)最優(yōu)策略的一種方法。文獻(xiàn)[8]運(yùn)用基于近端策略優(yōu)化的強(qiáng)化學(xué)習(xí)算法,通過(guò)設(shè)計(jì)連續(xù)獎(jiǎng)勵(lì)函數(shù),學(xué)習(xí)了雙臂機(jī)器人從床上扶起患者的操作技能軌跡。文獻(xiàn)[9]為在一定程度上解決深度強(qiáng)化學(xué)習(xí)在機(jī)器人本體上的部署問(wèn)題,通過(guò)聯(lián)合深度P 網(wǎng)絡(luò)及對(duì)決深度P 網(wǎng)絡(luò),以減少樣本數(shù)量并提高樣本學(xué)習(xí)效率與穩(wěn)定性。

上述單純基于模仿學(xué)習(xí)與強(qiáng)化學(xué)習(xí)的機(jī)器人輔助操作技能,在相對(duì)較為簡(jiǎn)單的操作任務(wù)場(chǎng)景中具有較好的效果,但是面對(duì)復(fù)雜多階段的操作任務(wù)仍存在一定的欠缺。為解決上述問(wèn)題,基于分層學(xué)習(xí)的機(jī)器人操作技能學(xué)習(xí)框架日益受到關(guān)注。文獻(xiàn)[10]針對(duì)復(fù)雜多階段的機(jī)器人輔助電纜布線任務(wù),提出了一種分層模仿學(xué)習(xí)框架,其中底層采用行為克隆學(xué)習(xí)單個(gè)夾子布線操作技能,上層采用深度網(wǎng)絡(luò)學(xué)習(xí)不同布線階段的執(zhí)行順序,二者結(jié)合較好地完成了整個(gè)布線任務(wù)。作者所在課題組前期提出了一種基于分層強(qiáng)化學(xué)習(xí)的機(jī)械臂復(fù)雜操作技能學(xué)習(xí)方法,底層運(yùn)用SAC(Soft Actor Critic)算法學(xué)習(xí)子任務(wù)操作技能,根據(jù)底層得到的子任務(wù)最優(yōu)策略,上層進(jìn)一步通過(guò)改進(jìn)的最大熵目標(biāo)強(qiáng)化學(xué)習(xí)算法學(xué)習(xí)子任務(wù)執(zhí)行順序[11]。文獻(xiàn)[12]提出了一種基于層次強(qiáng)化學(xué)習(xí)的機(jī)械臂手內(nèi)魯棒控制方法,通過(guò)定義底層操作基元并結(jié)合中層深度強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò),實(shí)現(xiàn)了物體位姿及手指接觸點(diǎn)位置發(fā)生改變情況下的機(jī)器人操作方法,三指機(jī)械手的仿真實(shí)驗(yàn)驗(yàn)證了所提方法的有效性。

上述分層強(qiáng)化學(xué)習(xí)方法雖取得了一定的效果,但在實(shí)際應(yīng)用中,一方面,底層子任務(wù)學(xué)習(xí)存在樣本效率低、獎(jiǎng)勵(lì)稀疏等問(wèn)題,上層任務(wù)規(guī)劃學(xué)習(xí)面臨學(xué)習(xí)時(shí)間過(guò)長(zhǎng)甚至難以完全學(xué)會(huì)整個(gè)復(fù)雜任務(wù)的問(wèn)題;另一方面,由于仿真與真實(shí)環(huán)境之間存在差異,導(dǎo)致仿真環(huán)境遷移到真實(shí)環(huán)境后的策略可能會(huì)失效。針對(duì)上述問(wèn)題,本文提出了一種基于逆強(qiáng)化學(xué)習(xí)與行為樹的機(jī)械臂復(fù)雜操作技能學(xué)習(xí)框架,其中,逆強(qiáng)化學(xué)習(xí)用于學(xué)習(xí)底層子任務(wù)最優(yōu)策略,然后將具有最優(yōu)策略的子任務(wù)作為節(jié)點(diǎn),在上層構(gòu)建行為樹來(lái)實(shí)現(xiàn)不同子任務(wù)間的任務(wù)規(guī)劃,進(jìn)而實(shí)現(xiàn)機(jī)械臂復(fù)雜操作技能的學(xué)習(xí)與再現(xiàn)。

1 方 法

1.1 基于逆強(qiáng)化學(xué)習(xí)和行為樹的機(jī)械臂復(fù)雜操作技能學(xué)習(xí)系統(tǒng)

為了解決分層強(qiáng)化學(xué)習(xí)算法底層子任務(wù)學(xué)習(xí)存在的樣本效率低、獎(jiǎng)勵(lì)稀疏等問(wèn)題,上層任務(wù)規(guī)劃學(xué)習(xí)面臨學(xué)習(xí)時(shí)間過(guò)長(zhǎng)甚至難以完全學(xué)會(huì)整個(gè)復(fù)雜任務(wù)的問(wèn)題,本文提出了基于逆強(qiáng)化學(xué)習(xí)和行為樹的機(jī)械臂復(fù)雜操作技能學(xué)習(xí)框架。

本文提出的基于逆強(qiáng)化學(xué)習(xí)和行為樹的機(jī)械臂復(fù)雜操作技能學(xué)習(xí)系統(tǒng)框圖如圖1 所示。該系統(tǒng)框圖分為底層子任務(wù)學(xué)習(xí)和上層復(fù)雜任務(wù)規(guī)劃,其中底層子任務(wù)學(xué)習(xí)主要包括復(fù)雜任務(wù)分割模塊、RL 參數(shù)設(shè)計(jì)模塊、逆強(qiáng)化學(xué)習(xí)模塊;上層任務(wù)規(guī)劃主要包括真實(shí)環(huán)境部署模塊和行為樹構(gòu)建模塊。主要實(shí)現(xiàn)方案為:通過(guò)仿真環(huán)境構(gòu)建模塊建立相應(yīng)的仿真環(huán)境,并進(jìn)行復(fù)雜操作任務(wù)演示,得到復(fù)雜任務(wù)演示軌跡;接著通過(guò)復(fù)雜任務(wù)分割模塊進(jìn)行分割,并確定分割后每個(gè)子任務(wù)的RL 參數(shù),得到子任務(wù)專家策略集合;然后通過(guò)逆強(qiáng)化學(xué)習(xí)模塊獲取每個(gè)子任務(wù)的最優(yōu)策略,并部署到真實(shí)環(huán)境中;最后通過(guò)行為樹構(gòu)建模塊構(gòu)建行為樹,得到整體最優(yōu)策略,在真實(shí)環(huán)境中執(zhí)行復(fù)雜操作任務(wù)。

圖1 基于逆強(qiáng)化學(xué)習(xí)和行為樹的機(jī)械臂復(fù)雜操作技能學(xué)習(xí)系統(tǒng)框圖

1.2 基于GAIL 和SAC 的底層子任務(wù)學(xué)習(xí)方法

本文使用文獻(xiàn)[11]所在課題組分割復(fù)雜任務(wù)的方法,采用基于β過(guò)程的自回歸隱馬爾科夫模型分割復(fù)雜任務(wù),并且設(shè)計(jì)了底層子任務(wù)的學(xué)習(xí)方法。

1.2.1 底層子任務(wù)學(xué)習(xí)框架

逆強(qiáng)化學(xué)習(xí)是利用有限的專家樣本推斷獎(jiǎng)勵(lì)函數(shù),并根據(jù)該獎(jiǎng)勵(lì)函數(shù)尋找最優(yōu)策略的一種方法。本文采用生成對(duì)抗模仿學(xué)習(xí)[13]從專家演示軌跡中學(xué)習(xí)到子任務(wù)的獎(jiǎng)勵(lì)函數(shù),在此基礎(chǔ)上進(jìn)一步根據(jù)獎(jiǎng)勵(lì)函數(shù)并通過(guò)SAC算法尋找到子任務(wù)最優(yōu)策略,其算法框圖如圖2 所示。

圖2 GAIL+SAC 算法框圖

生成對(duì)抗模仿學(xué)習(xí)主要由生成器和判別器兩個(gè)部分組成。生成器根據(jù)專家策略產(chǎn)生生成策略,力求使判別器無(wú)法分辨其與專家策略的差異;而判別器則旨在辨別生成器產(chǎn)生的生成策略是否是專家策略。生成器和判別器相互博弈,通過(guò)不斷對(duì)抗,最終訓(xùn)練出一個(gè)優(yōu)越的獎(jiǎng)勵(lì)函數(shù)和策略網(wǎng)絡(luò)。

在得到獎(jiǎng)勵(lì)函數(shù)和策略網(wǎng)絡(luò)后,使用SAC 算法進(jìn)行訓(xùn)練,通過(guò)GAIL 得到獎(jiǎng)勵(lì)函數(shù)和生成策略,SAC 算法不再?gòu)念^開始訓(xùn)練策略,而是在有限的專家經(jīng)驗(yàn)基礎(chǔ)上,更高效地訓(xùn)練出適應(yīng)性強(qiáng)、性能優(yōu)越的子任務(wù)智能體。

1.2.2 底層子任務(wù)學(xué)習(xí)方法

底層子任務(wù)通過(guò)GAIL+SAC 框架來(lái)學(xué)習(xí)得到子任務(wù)最優(yōu)策略。

GAIL 包括生成器和判別器的網(wǎng)絡(luò)結(jié)構(gòu)。首先為生成器提供少量的專家策略,記為πE,記生成器網(wǎng)絡(luò)輸入為子任務(wù)專家策略集合πE中的狀態(tài)動(dòng)作對(duì)(s,a),輸出為生成器模仿子任務(wù)專家策略生成的子任務(wù)生成策略πg(shù),記為策略Gw(s,a),生成器的損失函數(shù)LG為:

式中:Eπg(shù)表示期望值;DΦ(Gw(s,a) )表示判別器D 判斷策略,DΦ(Gw(s,a) )= sigmoid(Gw(s,a)),其中sigmoid 是一種激活函數(shù),Gw(s,a)是專家軌跡的概率。

通過(guò)添加熵來(lái)鼓勵(lì)生成器生成多變的軌跡,熵?fù)p失LE為:

式中:σ為熵?fù)p失系數(shù);softplus 是一種激活函數(shù)。

判別器的輸入為Gw(s,a),輸出為DΦ(Gw(s,a) ),判別器的損失函數(shù)LD為:

因此,生成對(duì)抗模仿學(xué)習(xí)模型的總損失函數(shù)為:Ltotal=LG+LE+LD。

通過(guò)訓(xùn)練好的判別器D 的輸出作為獎(jiǎng)勵(lì)函數(shù)訓(xùn)練模仿者策略,所述獎(jiǎng)勵(lì)函數(shù)R(s,a)為:

式中:β表示熵?fù)p失權(quán)重;DΦ(Gw(s,a) )表示判別器D 判斷策略Gw(s,a)是專家軌跡的概率。

通過(guò)GAIL 預(yù)訓(xùn)練得到獎(jiǎng)勵(lì)函數(shù)和策略網(wǎng)絡(luò)后,將其引入到SAC 算法進(jìn)行正式訓(xùn)練。

SAC 算法的過(guò)程是:

1)從經(jīng)驗(yàn)池中采樣當(dāng)前時(shí)刻的狀態(tài)st、動(dòng)作at、獎(jiǎng)勵(lì)r、下一時(shí)刻的狀態(tài)st+1后,送入策略網(wǎng)絡(luò),輸出下一時(shí)刻的策略πθ(st+1)和熵log (πθ(at|st)),同時(shí)更新策略網(wǎng)絡(luò)參數(shù),更新公式如下:

其中:

2)將經(jīng)驗(yàn)池中當(dāng)前時(shí)刻的狀態(tài)st、動(dòng)作at、獎(jiǎng)勵(lì)r輸出至主值網(wǎng)絡(luò),通過(guò)主值網(wǎng)絡(luò)中的兩個(gè)Q網(wǎng)絡(luò)Net1 和Net2 來(lái)計(jì)算估計(jì)Q值Qt(?1)、Qt(?2)。

3)將策略網(wǎng)絡(luò)輸出的策略和熵通過(guò)目標(biāo)值網(wǎng)絡(luò)中的兩個(gè)Q網(wǎng)絡(luò)Net1 和Net2 來(lái)計(jì)算目標(biāo)Q值,并輸出兩個(gè)目標(biāo)Q值中的較小值,與主值網(wǎng)絡(luò)計(jì)算的估計(jì)Q值作均方誤差計(jì)算,其目標(biāo)函數(shù)如下:

同時(shí)目標(biāo)值網(wǎng)絡(luò)參數(shù)通過(guò)主值網(wǎng)絡(luò)參數(shù)進(jìn)行軟更新,更新方式如下:

4)主值網(wǎng)絡(luò)的參數(shù)更新方式如下:

1.3 基于行為樹的上層子任務(wù)規(guī)劃方法

1.3.1 真實(shí)環(huán)境部署

現(xiàn)有強(qiáng)化學(xué)習(xí)方法大多采用先在仿真環(huán)境中進(jìn)行訓(xùn)練,再部署到真實(shí)環(huán)境中的方法,但由于仿真環(huán)境和真實(shí)環(huán)境存在一定的誤差,比如建模差異、環(huán)境差異、姿態(tài)差異等,導(dǎo)致在部署過(guò)程中會(huì)產(chǎn)生策略失效的問(wèn)題。

在本文的實(shí)驗(yàn)中,仿真環(huán)境與真實(shí)環(huán)境的差距主要為機(jī)械臂末端的姿態(tài)差距。為了彌補(bǔ)姿態(tài)差距,首先將真實(shí)環(huán)境中的機(jī)械臂置于初始位姿,獲取此時(shí)機(jī)械臂每個(gè)關(guān)節(jié)的旋轉(zhuǎn)角度JR1、JR2、JR3、JR4、JR5、JR6以及真實(shí)環(huán)境中機(jī)械臂末端位置xR、yR、zR和姿態(tài)的四元數(shù)dxR、dyR、dzR、dwR;接著將姿態(tài)四元數(shù)dxR、dyR、dzR、dwR轉(zhuǎn)換為歐拉角XR、YR、ZR,在仿真環(huán)境中機(jī)械臂每個(gè)關(guān)節(jié)的旋轉(zhuǎn)角度JS1、JS2、JS3、JS4、JS5、JS6置為JR1、JR2、JR3、JR4、JR5、JR6,并獲取此時(shí)仿真環(huán)境中機(jī)械臂的歐拉角XS、YS、ZS;最后求出仿真環(huán)境與真實(shí)環(huán)境中機(jī)械臂的姿態(tài)差ΔX=XR-XS、ΔY=YR-YS、ΔZ=ZR-ZS。

1.3.2 基于行為樹的上層子任務(wù)規(guī)劃

行為樹是一種用于描述和控制智能體行為的圖形化模型。它是一種樹形結(jié)構(gòu),其中每個(gè)節(jié)點(diǎn)代表一種行為或控制邏輯,主要包括控制節(jié)點(diǎn)、裝飾器節(jié)點(diǎn)、條件節(jié)點(diǎn)、動(dòng)作節(jié)點(diǎn)等。

行為樹的節(jié)點(diǎn)構(gòu)建如圖3 所示。子任務(wù)的行為樹執(zhí)行由一個(gè)帶記憶功能的順序節(jié)點(diǎn)來(lái)確定執(zhí)行順序,該順序節(jié)點(diǎn)的子節(jié)點(diǎn)包括一個(gè)條件節(jié)點(diǎn)和一個(gè)動(dòng)作節(jié)點(diǎn)。其中條件節(jié)點(diǎn)根據(jù)當(dāng)前環(huán)境狀態(tài)和任務(wù)目標(biāo)判斷是否滿足執(zhí)行子策略的前提條件,如果滿足執(zhí)行條件,則向順序節(jié)點(diǎn)返回成功,順序節(jié)點(diǎn)繼續(xù)執(zhí)行;如果不滿足執(zhí)行條件,則返回失敗,順序節(jié)點(diǎn)向其父節(jié)點(diǎn)返回失敗,直接結(jié)束當(dāng)前回合。動(dòng)作節(jié)點(diǎn)根據(jù)當(dāng)前環(huán)境的狀態(tài)執(zhí)行強(qiáng)化學(xué)習(xí)子策略,并接收實(shí)時(shí)獎(jiǎng)勵(lì),如果實(shí)時(shí)獎(jiǎng)勵(lì)大于任務(wù)成功獎(jiǎng)勵(lì),則向順序節(jié)點(diǎn)返回成功,順序節(jié)點(diǎn)繼續(xù)執(zhí)行下一個(gè)子任務(wù);如果在一定時(shí)間后未達(dá)到成功獎(jiǎng)勵(lì),則向順序節(jié)點(diǎn)返回失敗,順序節(jié)點(diǎn)向其父節(jié)點(diǎn)返回失敗,直接結(jié)束當(dāng)前回合。

圖3 行為樹節(jié)點(diǎn)構(gòu)建

2 實(shí)驗(yàn)與仿真

2.1 實(shí)驗(yàn)任務(wù)設(shè)計(jì)

本實(shí)驗(yàn)的仿真環(huán)境通過(guò)物理仿真引擎MuJoCo 對(duì)基于逆強(qiáng)化學(xué)習(xí)和行為樹的機(jī)械臂復(fù)雜操作技能學(xué)習(xí)進(jìn)行驗(yàn)證,所使用的是Kinova Jaco2 機(jī)械臂,型號(hào)為j2n6s300;真實(shí)環(huán)境通過(guò)rviz 可視化機(jī)械臂操作,并通過(guò)行為樹來(lái)控制機(jī)械臂。

為了充分考慮家庭環(huán)境中任務(wù)的多樣性和復(fù)雜性,同時(shí)考慮到老年人日常需求,本文將拉開抽屜拿取藥瓶作為實(shí)驗(yàn)任務(wù)。

首先建立拉開抽屜拿取藥瓶的實(shí)驗(yàn)場(chǎng)景,如圖4所示。

接著執(zhí)行拉開抽屜拿取藥瓶的實(shí)驗(yàn)任務(wù),記錄下機(jī)械臂末端的軌跡,0 即機(jī)械臂末端的位置和姿態(tài)。然后采用基于β過(guò)程的自回歸隱馬爾科夫模型對(duì)所采集的演示數(shù)據(jù)進(jìn)行分割,分割結(jié)果如圖5 所示。

圖5 機(jī)械臂復(fù)雜操作任務(wù)分割結(jié)果

圖5 為位置和四元數(shù)隨時(shí)間變化的曲線圖,不同顏色的區(qū)間表示基于β過(guò)程的自回歸隱馬爾科夫模型算法分割得到的不同任務(wù)區(qū)間。根據(jù)四元數(shù)可以看出分割出了4 段具有明顯物理意義的分段,分別為抓取抽屜把手(分段①)、拉開抽屜(分段②)、抓取物體(分段⑥)、放置物體(分段⑨)。

最后為所有分割的子任務(wù)建立仿真訓(xùn)練環(huán)境,圖6為4個(gè)子任務(wù)的訓(xùn)練環(huán)境。圖6a)為抓取抽屜把手,任務(wù)目標(biāo)為機(jī)械臂末端抓取抽屜把手;圖6b)為拉開抽屜,任務(wù)目標(biāo)為機(jī)械臂末端將抽屜把手拉至目標(biāo)點(diǎn);圖6c)為抓取物體,任務(wù)目標(biāo)為機(jī)械臂抓取抽屜中的物體;圖6d)為放置物體,任務(wù)目標(biāo)為將物體放置到藍(lán)色小球處。

圖6 子任務(wù)仿真訓(xùn)練環(huán)境

在所有子任務(wù)的仿真環(huán)境都建立好后,接下來(lái)進(jìn)行實(shí)驗(yàn)參數(shù)設(shè)置。

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

2.2.1 子任務(wù)專家策略的RL 參數(shù)設(shè)置

每個(gè)子任務(wù)的專家策略包括:機(jī)械臂當(dāng)前時(shí)刻t的狀態(tài)空間St、當(dāng)前時(shí)刻t的動(dòng)作空間At、下一時(shí)刻t+ 1 的狀態(tài)空間St+1、當(dāng)前時(shí)刻t的實(shí)時(shí)獎(jiǎng)勵(lì)Rt、一個(gè)回合結(jié)束的最終獎(jiǎng)勵(lì)Repisode和一個(gè)回合開始的標(biāo)志位Estart。其中狀態(tài)空間為所有子任務(wù)狀態(tài)空間的并集,包括機(jī)械臂夾持器1 維、機(jī)械臂位置3 維、機(jī)械臂姿態(tài)3 維、藥瓶位置3 維、抽屜把手位置3 維、藥瓶放置位置3 維、藥瓶放置姿態(tài)3 維、目標(biāo)點(diǎn)位置3 維、目標(biāo)點(diǎn)姿態(tài)3 維,總計(jì)25 維;所有子任務(wù)的動(dòng)作空間都是7 維,其中前6 維表示機(jī)械臂末端的位置和姿態(tài),第7 維表示末端夾持器開合程度;實(shí)時(shí)獎(jiǎng)勵(lì)Rt為機(jī)械臂在狀態(tài)St時(shí)的獎(jiǎng)勵(lì)函數(shù);最終獎(jiǎng)勵(lì)Repisode為回合結(jié)束后機(jī)械臂得到的獎(jiǎng)勵(lì);標(biāo)志位Estart在開始時(shí)為1,表示回合開始,其余時(shí)刻均為0。

2.2.2 GAIL 與SAC 網(wǎng)絡(luò)參數(shù)設(shè)計(jì)

在GAIL 算法的網(wǎng)絡(luò)結(jié)構(gòu)中,預(yù)訓(xùn)練的總時(shí)間步total_timestep 設(shè)為100 萬(wàn),學(xué)習(xí)率learning_rate 設(shè)為7×10-9,預(yù)訓(xùn)練的迭代次數(shù)n_epochs 設(shè)為10 000,驗(yàn)證間隔interval 設(shè)置為100,每個(gè)epoch 中訓(xùn)練策略的步數(shù)g_step設(shè)為3,每個(gè)epoch 中訓(xùn)練鑒別器的步數(shù)d_step 設(shè)為3,獎(jiǎng)勵(lì)分配器步長(zhǎng)d_stepsize 設(shè)為0.000 3,生成器熵?fù)p失系數(shù)σ設(shè)為0.001,判別器輸出獎(jiǎng)勵(lì)函數(shù)的熵?fù)p失權(quán)重β設(shè)為10-8。

在SAC算法的網(wǎng)絡(luò)結(jié)構(gòu)中,每個(gè)網(wǎng)絡(luò)層之間的激活函數(shù)采用ReLU函數(shù),經(jīng)驗(yàn)池大小buffer_size設(shè)置為16 384,每次訓(xùn)練從經(jīng)驗(yàn)池中采樣樣本數(shù)量batch_size 設(shè)為256,學(xué)習(xí)率learning_rate 為7×10-5,折扣因子gamma 為0.99,Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)均采用Adam 優(yōu)化器進(jìn)行優(yōu)化。

2.3 實(shí)驗(yàn)結(jié)果

2.3.1 底層子任務(wù)訓(xùn)練結(jié)果

底層子任務(wù)的訓(xùn)練過(guò)程中采用GAIL+SAC 算法對(duì)子策略進(jìn)行訓(xùn)練,并將其與僅采用SAC 算法的訓(xùn)練進(jìn)行對(duì)比,對(duì)比結(jié)果展示在圖7 中。

圖7 底層子任務(wù)訓(xùn)練結(jié)果

觀察到GAIL+SAC 方法所需的時(shí)間步遠(yuǎn)遠(yuǎn)少于僅采用SAC 方法的情況。在放置物體任務(wù)的過(guò)程中,由于龐大的狀態(tài)空間,SAC 算法訓(xùn)練的模型甚至出現(xiàn)了局部最優(yōu)的情況。

接著對(duì)每個(gè)子任務(wù)的最優(yōu)策略在仿真環(huán)境中進(jìn)行25 次測(cè)試,測(cè)試結(jié)果見表1。研究表明,采用GAIL+SAC 算法的成功率明顯高于僅采用SAC 算法的情況。

表1 子任務(wù)最優(yōu)策略在仿真環(huán)境中的成功率 %

2.3.2 上層復(fù)雜任務(wù)執(zhí)行結(jié)果

基于復(fù)雜任務(wù)的執(zhí)行邏輯,構(gòu)建了如圖8 所示的行為樹。其中行為樹的葉子節(jié)點(diǎn)為已完成真實(shí)環(huán)境部署的強(qiáng)化學(xué)習(xí)子策略,在執(zhí)行前需要判斷是否滿足條件,如果滿足就執(zhí)行子策略,如果沒(méi)有滿足條件,直接結(jié)束當(dāng)前回合。

圖8 基于行為樹的子任務(wù)規(guī)劃

為與傳統(tǒng)強(qiáng)化學(xué)習(xí)算法進(jìn)行對(duì)比,根據(jù)所構(gòu)建的行為樹,分別采用傳統(tǒng)SAC 算法和本文所提出的GAIL+SAC 算法,進(jìn)行了真實(shí)環(huán)境中的機(jī)械臂復(fù)雜操作技能對(duì)比實(shí)驗(yàn),結(jié)果分別如圖9 和圖10 所示,在25 次測(cè)試實(shí)驗(yàn)中,傳統(tǒng)SAC 算法的成功率為28%,GAIL+SAC 在真實(shí)環(huán)境中成功率為76%。由于傳統(tǒng)SAC 算法在仿真環(huán)境中放置物體子策略的成功率較低,導(dǎo)致整體任務(wù)的成功率偏低。而本文提出的算法在仿真環(huán)境中成功率較高,但由于并不能完全消除仿真環(huán)境和真實(shí)環(huán)境的差距,在真實(shí)環(huán)境中的成功率有所降低。

圖9 真實(shí)環(huán)境中基于SAC 的機(jī)械臂復(fù)雜操作技能再現(xiàn)

圖10 真實(shí)環(huán)境中基于GAIL+SAC 的機(jī)械臂復(fù)雜操作技能再現(xiàn)

以上實(shí)驗(yàn)結(jié)果表明,基于逆強(qiáng)化學(xué)習(xí)和行為樹的復(fù)雜操作技能學(xué)習(xí)方法成功完成了從仿真環(huán)境到真實(shí)環(huán)境的部署,并且在真實(shí)場(chǎng)景中的成功率高于傳統(tǒng)強(qiáng)化學(xué)習(xí)算法。

3 結(jié) 語(yǔ)

本文提出一種基于逆強(qiáng)化學(xué)習(xí)和行為樹的機(jī)械臂復(fù)雜操作技能學(xué)習(xí)方法,用于解決傳統(tǒng)分層強(qiáng)化學(xué)習(xí)方法底層子任務(wù)樣本效率低、獎(jiǎng)勵(lì)稀疏,上層學(xué)習(xí)時(shí)間過(guò)長(zhǎng),以及策略在真實(shí)環(huán)境中部署困難的問(wèn)題。該方法底層采用逆強(qiáng)化算法學(xué)習(xí)子策略,保證了子任務(wù)的學(xué)習(xí)效率;上層通過(guò)行為樹來(lái)規(guī)劃子任務(wù),構(gòu)建整體策略。實(shí)驗(yàn)結(jié)果表明,該方法成功學(xué)習(xí)到了復(fù)雜操作任務(wù),大大減少了訓(xùn)練的時(shí)間,并在性能上優(yōu)于其他算法。

猜你喜歡
操作技能底層機(jī)械
航天企業(yè)提升采購(gòu)能力的底層邏輯
機(jī)械裝配中鉗工的操作技能分析
關(guān)于學(xué)生實(shí)驗(yàn)操作技能省級(jí)測(cè)試的思考——以高中生物學(xué)為例
調(diào)試機(jī)械臂
簡(jiǎn)單機(jī)械
機(jī)械班長(zhǎng)
按摩機(jī)械臂
北京再辦塔機(jī)司機(jī)操作技能競(jìng)賽
PDCA循環(huán)在護(hù)生中醫(yī)操作技能培訓(xùn)中的應(yīng)用研究
回到現(xiàn)實(shí)底層與悲憫情懷
郎溪县| 黑河市| 黑山县| 新津县| 天镇县| 阜平县| 孝义市| 紫金县| 日土县| 扶风县| 遵化市| 沅江市| 比如县| 云林县| 玛纳斯县| 新宁县| 景泰县| 霍城县| 尚义县| 榆中县| 梅州市| 建平县| 洮南市| 永胜县| 桂林市| 任丘市| 贵阳市| 上杭县| 兴隆县| 青岛市| 同心县| 汨罗市| 周至县| 饶阳县| 雅江县| 平乡县| 朝阳市| 哈尔滨市| 股票| 涞源县| 盐津县|