傅 劍,曹 策,申思遠(yuǎn)
(武漢理工大學(xué)自動(dòng)化學(xué)院,湖北 武漢,430070)
近年來(lái),示范學(xué)習(xí)結(jié)合強(qiáng)化學(xué)習(xí)框架已成功應(yīng)用于機(jī)器人運(yùn)動(dòng)技能的獲取,但如何基于示范任務(wù)學(xué)習(xí)讓機(jī)器人快速獲得完成新任務(wù)的能力仍然是個(gè)難題。運(yùn)動(dòng)基元是一種用于表示機(jī)器人運(yùn)動(dòng)策略的方法,可以看作是組成各種復(fù)雜運(yùn)動(dòng)的基本結(jié)構(gòu)單元,能產(chǎn)生機(jī)器人新的運(yùn)動(dòng)狀態(tài)、調(diào)節(jié)運(yùn)動(dòng)速度、進(jìn)行多任務(wù)協(xié)作以及學(xué)習(xí)示范軌跡等。常見(jiàn)的運(yùn)動(dòng)基元模型有基于時(shí)間索引的DMPs[1-2]和基于狀態(tài)索引的SEDs[3],這兩種模型都是確定狀態(tài)下的動(dòng)力系統(tǒng)模型,其完成多任務(wù)的能力有限,而且基于傳統(tǒng)運(yùn)動(dòng)基元模型的機(jī)器人學(xué)習(xí)方法存在學(xué)習(xí)速度慢、學(xué)習(xí)結(jié)果精度低等問(wèn)題。概率運(yùn)動(dòng)基元(probabilistic movement primitives, ProMPs)[4-6]是一種非動(dòng)力系統(tǒng)模型,它表達(dá)的是機(jī)器人運(yùn)動(dòng)軌跡的分布概率,此軌跡可以定義在關(guān)節(jié)空間、笛卡爾空間或者其他任意空間上,其中關(guān)節(jié)空間上的軌跡分布是本研究關(guān)注重點(diǎn)。
在實(shí)際的機(jī)器人系統(tǒng)中,任何動(dòng)作都存在觀測(cè)和執(zhí)行的噪聲,因此,為了獲得更好的學(xué)習(xí)效果,本文提出一種新的機(jī)器人學(xué)習(xí)方法。首先使用ProMPs模型在多條示范軌跡中找到一條概率最大的軌跡進(jìn)行模仿學(xué)習(xí)[7-9],然后在這一條軌跡的基礎(chǔ)上運(yùn)用貝葉斯估計(jì)算法[10]進(jìn)行新任務(wù)學(xué)習(xí),并在完成任務(wù)的基礎(chǔ)上加入路徑積分PI2(Policy Improvement with Path Integrals)策略[11]進(jìn)行軌跡搜索,在設(shè)置的約束條件下找到一條最優(yōu)軌跡。最后,通過(guò)協(xié)作機(jī)器人UR5實(shí)驗(yàn)平臺(tái)并結(jié)合機(jī)器人仿真軟件V-REP,以經(jīng)過(guò)標(biāo)記點(diǎn)為任務(wù),與傳統(tǒng)融合DMPs-LWR[2]和PI2策略的運(yùn)動(dòng)技能獲取方法進(jìn)行對(duì)比實(shí)驗(yàn),來(lái)驗(yàn)證本文方法的可行性和有效性。

(1)
(2)

顯然,一條觀測(cè)軌跡的概率可表達(dá)為:
(3)
假設(shè)有M條示范軌跡,通過(guò)基函數(shù)的線性擬合可以得到M組權(quán)值:W={ω1,…,ωm,…,ωM}。
不失一般性,定義ω服從參數(shù)為θ的概率分布:
ω~p(ω;θ)=N(ω|μω,Σω)
(4)
將式(4)代入式(3),可得:
(5)
參數(shù)θ={μω,Σω}可以從多條示范軌跡中通過(guò)最大似然法獲得,計(jì)算方法如下:
(6)
將由式(6)得到的參數(shù)θ={μω,Σω}代入式(5),可以很容易估計(jì)出任意時(shí)間點(diǎn)的均值和方差。
本文引入相變量z來(lái)將運(yùn)動(dòng)和時(shí)間解耦。相變量可以是關(guān)于時(shí)間的任意增函數(shù),通過(guò)改變相變量來(lái)調(diào)節(jié)運(yùn)動(dòng)速度。這里使用的相變量函數(shù)如式(7)所示,相變量和時(shí)間的關(guān)系曲線見(jiàn)圖1。
(7)

圖1 相變量和時(shí)間的關(guān)系曲線
式(7)中,斜率4/3可以保證相變量是關(guān)于時(shí)間的增函數(shù),且在3T/4時(shí)刻,機(jī)器人基本平穩(wěn)到達(dá)終點(diǎn)。在實(shí)際應(yīng)用中可以根據(jù)情況調(diào)整此斜率值。確定了相變量之后,就可直接使用相空間中的基函數(shù)來(lái)代替時(shí)域里的基函數(shù)。
本文采用高斯基函數(shù):
(8)
式中:h表示每個(gè)基的寬度;ci表示第i個(gè)基的中心。
對(duì)基函數(shù)進(jìn)行歸一化,得:
(9)
基函數(shù)歸一化可以增強(qiáng)函數(shù)擬合的效果。如圖2所示,歸一化后,基函數(shù)的中心均勻分布在[-δ,T+δ]區(qū)間上,其中0<δ 圖2 基函數(shù)分布 (10) (11) (12) 將更新后的參數(shù)θ+代入式(5),即可得到新的軌跡概率。本文使用此概率公式產(chǎn)生一條新的軌跡,從而實(shí)現(xiàn)過(guò)點(diǎn)任務(wù),如圖3所示。圖3中藍(lán)色的線是機(jī)器人模仿學(xué)習(xí)到的示范軌跡,設(shè)置點(diǎn)一位置(0.2T,0.2 rad)和點(diǎn)二位置(0.35T,0.8 rad),經(jīng)過(guò)貝葉斯估計(jì)之后獲得黃色軌跡。從圖3可以看出,經(jīng)過(guò)貝葉斯估計(jì)更新參數(shù)之后,機(jī)器人可快速達(dá)到預(yù)期的過(guò)點(diǎn)效果,但與此同時(shí),更新后的軌跡并不平滑。 圖3 通過(guò)貝葉斯估計(jì)獲得的軌跡 圖3中各條軌跡的運(yùn)動(dòng)速度如圖4所示。從圖4中可以明顯看出,經(jīng)過(guò)貝葉斯估計(jì)更新之后的軌跡速度在0.6T前變化起伏較大。圖3和圖4說(shuō)明,貝葉斯估計(jì)方法可以使機(jī)器人獲得良好的運(yùn)動(dòng)精度,但是會(huì)損失運(yùn)動(dòng)的平穩(wěn)性。 圖4 貝葉斯估計(jì)前后的軌跡運(yùn)動(dòng)速度 Fig.4 Comparison of trajectory speeds before and after Bayesian estimation 如上所述,通過(guò)對(duì)原始軌跡進(jìn)行貝葉斯估計(jì)實(shí)現(xiàn)了快速精準(zhǔn)的過(guò)點(diǎn),ProMPs和相變量的使用保證機(jī)器人最終能平穩(wěn)到達(dá)預(yù)定位置。但是在實(shí)際應(yīng)用中,機(jī)器人軌跡規(guī)劃往往還有很多其他的優(yōu)化目標(biāo),比如滿足關(guān)節(jié)約束條件、力矩或運(yùn)動(dòng)能量最小、軌跡足夠平滑等,這時(shí)就需要利用路徑積分PI2策略,讓機(jī)器人進(jìn)一步學(xué)習(xí)和改善技能。 PI2是一種結(jié)合最優(yōu)控制和動(dòng)態(tài)規(guī)劃的強(qiáng)化學(xué)習(xí)算法。具體來(lái)說(shuō),對(duì)于一個(gè)隨機(jī)動(dòng)態(tài)系統(tǒng),為進(jìn)行最優(yōu)控制,可以根據(jù)貝爾曼最優(yōu)準(zhǔn)則和隨機(jī)HJB(Hamilton-Jacobi-Bellman)方程,得到一個(gè)線性偏微分方程形式的優(yōu)化目標(biāo)函數(shù),然后利用費(fèi)曼-卡茨定理就可以把要解決的隨機(jī)最優(yōu)控制問(wèn)題近似地轉(zhuǎn)換成路徑積分問(wèn)題,從而間接地得到目標(biāo)值函數(shù)的解。 需要指出的是,本文使用的是PI2改進(jìn)型。它利用核典型相關(guān)分析(KCCA)提取機(jī)器人關(guān)節(jié)間的非線性相關(guān)性,并作為一種啟發(fā)式信息對(duì)PI2施加攝動(dòng)ε,從而提高PI2的收斂速度。該方法由本課題組提出,在文獻(xiàn)[12]中有詳細(xì)描述。使用ProMPs可以讓機(jī)器人很好地學(xué)習(xí)到示范軌跡,式(1)中的ω就是學(xué)習(xí)到的權(quán)值,通過(guò)蒙特卡洛模擬實(shí)驗(yàn)對(duì)權(quán)值加入隨機(jī)攝動(dòng)(ω+ε),產(chǎn)生K條變分路徑,從而得到K條代價(jià)不同的路徑,然后對(duì)其進(jìn)行加權(quán)平均處理,并進(jìn)行權(quán)值更新。這個(gè)過(guò)程中的最優(yōu)控制量為: (13) (14) (15) 式中:λ為常系數(shù);S(τti,k)為第k條軌跡的代價(jià)函數(shù);εti,k為第k個(gè)樣本第i時(shí)刻的攝動(dòng)值。 P(τi,k)是用各個(gè)軌跡的代價(jià)通過(guò)Softmax函數(shù)映射到區(qū)間[0,1]得到的概率來(lái)表示的,由式(14)可知,代價(jià)越高的軌跡其概率反而越小,從而保證了PI2向代價(jià)低的地方收斂。本文第k條軌跡的代價(jià)函數(shù)公式如下: (16) (17) (18) 然后,在上述代價(jià)函數(shù)中加入過(guò)點(diǎn)的懲罰項(xiàng): (19) 最終,第j個(gè)關(guān)節(jié)第k個(gè)權(quán)系數(shù)的第l個(gè)分量的PI2更新公式如下: (20) (21) 式(20)是對(duì)權(quán)值增量在各個(gè)時(shí)間點(diǎn)進(jìn)行加權(quán)平均。式(20~21)中:Δωi;j是第j個(gè)關(guān)節(jié)在第i時(shí)刻的最佳權(quán)系數(shù)(控制值),Δωi;j;k;l為其第k個(gè)權(quán)系數(shù)的第l個(gè)分量;Bi;j;k;l為Bi;j的第k個(gè)權(quán)系數(shù)的第l個(gè)分量,其中Bi;j對(duì)應(yīng)于第j個(gè)關(guān)節(jié)在第i時(shí)刻的基函數(shù);N為運(yùn)動(dòng)終點(diǎn)時(shí)刻索引值。 綜上所述,基于貝葉斯估計(jì)和KCCA啟發(fā)式PI2策略優(yōu)化算法的核心是,通過(guò)ProMPs對(duì)機(jī)器人軌跡進(jìn)行模仿學(xué)習(xí),然后使用貝葉斯估計(jì)和PI2進(jìn)行取長(zhǎng)補(bǔ)短:一方面,貝葉斯估計(jì)會(huì)導(dǎo)致軌跡過(guò)于曲折,但是其優(yōu)點(diǎn)是過(guò)點(diǎn)簡(jiǎn)單快速(即迅速獲得新任務(wù)的可行解),這一特性對(duì)于機(jī)器人的實(shí)時(shí)控制意義重大;另一方面,單獨(dú)使用PI2策略搜索會(huì)相對(duì)比較耗費(fèi)時(shí)間且學(xué)習(xí)能力有限,但是能夠讓機(jī)器人學(xué)習(xí)到平滑、完美的軌跡(附加泛函指標(biāo)約束)。貝葉斯估計(jì)和PI2兩者相互結(jié)合就實(shí)現(xiàn)了軌跡快速、平穩(wěn)、精準(zhǔn)過(guò)點(diǎn)。 經(jīng)過(guò)PI2學(xué)習(xí)后的軌跡如圖5中紅線所示,可以看出該軌跡明顯平滑了很多。同時(shí),學(xué)習(xí)過(guò)程只經(jīng)過(guò)了幾十次迭代就可以收斂,而單獨(dú)使用PI2完成過(guò)點(diǎn)任務(wù)時(shí)至少需要幾百次學(xué)習(xí),并且僅向指定點(diǎn)靠近,無(wú)法實(shí)現(xiàn)過(guò)點(diǎn)。 圖5 PI2學(xué)習(xí)前后的軌跡對(duì)比 Fig.5 Comparison of trajectories before and after PI2learning 下面將利用機(jī)器人仿真軟件V-REP和協(xié)作機(jī)器人UR5來(lái)驗(yàn)證本文算法。UR5有6個(gè)關(guān)節(jié),易于編程,高度可定制化,很適合于過(guò)點(diǎn)實(shí)驗(yàn)任務(wù)。實(shí)驗(yàn)流程如下:首先采用ProMPs從多條示范軌跡中學(xué)習(xí)參數(shù)θ={μω,Σω},然后采用貝葉斯估計(jì)算法重新規(guī)劃出一條軌跡,使之通過(guò)隨機(jī)設(shè)置的點(diǎn),最后利用PI2在參數(shù)空間進(jìn)行策略搜索,完成平滑軌跡過(guò)點(diǎn)任務(wù)。此外,為了進(jìn)行對(duì)比分析,還采用了傳統(tǒng)的DMP-LWR-PI2[2,11]學(xué)習(xí)策略完成相同的任務(wù)。 該實(shí)驗(yàn)中根據(jù)式(10~12)計(jì)算在過(guò)點(diǎn)任務(wù)要求下的新任務(wù)軌跡。首先設(shè)定軌跡的起點(diǎn)和終點(diǎn),然后利用UR5的最小能量運(yùn)動(dòng)模式生成示范軌跡,其中6條曲線對(duì)應(yīng)6個(gè)關(guān)節(jié),最后設(shè)置過(guò)單點(diǎn)任務(wù),通過(guò)不同學(xué)習(xí)策略優(yōu)化方法來(lái)完成。圖6為L(zhǎng)WR-PI2學(xué)習(xí)后的軌跡,圖7為貝葉斯ProMPs-PI2學(xué)習(xí)后的軌跡。從圖6~圖7可以看出,采用本文算法可以精準(zhǔn)地通過(guò)標(biāo)記點(diǎn),軌跡也較平滑,而采用LWR-PI2方法時(shí)關(guān)節(jié)3和關(guān)節(jié)6都有一定的誤差。 圖6 LWR-PI2學(xué)習(xí)后的過(guò)單點(diǎn)運(yùn)動(dòng)軌跡 圖7 貝葉斯ProMPs-PI2學(xué)習(xí)后的過(guò)單點(diǎn)運(yùn)動(dòng)軌跡 Fig.7 Trajectories via one point learned by Bayesian ProMPs-PI2 圖8和圖9為UR5的實(shí)驗(yàn)照片,其中紅色標(biāo)志物是設(shè)置的過(guò)點(diǎn)任務(wù),圖8對(duì)應(yīng)于圖6中LWR-PI2學(xué)習(xí)后的UR5笛卡爾空間軌跡,圖9對(duì)應(yīng)于圖7中貝葉斯ProMPs-PI2學(xué)習(xí)后的空間軌跡。從圖8~圖9中可以看出,LWR-PI2所學(xué)軌跡僅僅是擦過(guò)標(biāo)志物,但經(jīng)過(guò)貝葉斯ProMPs-PI2優(yōu)化后,UR5能快速精準(zhǔn)地經(jīng)過(guò)標(biāo)記點(diǎn),從而可完成擊中、拾取等任務(wù)。 Fig.9 Image of UR5 trajectory learned by Bayesian ProMPs-PI2 為進(jìn)一步驗(yàn)證貝葉斯估計(jì)的快速過(guò)點(diǎn)能力和PI2的優(yōu)化能力,下面進(jìn)行過(guò)兩點(diǎn)任務(wù)實(shí)驗(yàn),采用與過(guò)單點(diǎn)任務(wù)時(shí)相同的示范軌跡。首先,單獨(dú)運(yùn)用貝葉斯估計(jì)獲得如圖10所示軌跡。從圖10中可以看出,即使是復(fù)雜的6關(guān)節(jié)過(guò)兩點(diǎn)任務(wù),采用貝葉斯估計(jì)算法也可以精準(zhǔn)完成。 圖10 貝葉斯估計(jì)學(xué)習(xí)后的過(guò)兩點(diǎn)軌跡 Fig.10 Trajectories via two points learned by Bayesian estimation 在機(jī)器人仿真軟件V-REP中得到的過(guò)兩點(diǎn)軌跡如圖11所示。從圖11可以看出,軌跡經(jīng)過(guò)了設(shè)置的兩個(gè)球形標(biāo)志物,但是軌跡并不平滑。 (a)示范軌跡 (b) 貝葉斯估計(jì)學(xué)習(xí)軌跡 Fig.11 Trajectory via two points learned by Bayesian estimation in V-REP simulation 通過(guò)PI2策略搜索優(yōu)化后,可以得到如圖12所示的各關(guān)節(jié)軌跡,V-REP中的機(jī)器人仿真軌跡如圖13所示。相比于圖11(b),圖13中機(jī)器人運(yùn)動(dòng)軌跡平滑了很多,這證明了PI2優(yōu)化策略的有效性。 圖12 貝葉斯ProMPs-PI2學(xué)習(xí)后的過(guò)兩點(diǎn)軌跡 Fig.12 Trajectories via two points learned by Bayesian ProMPs-PI2 圖13 V-REP仿真中貝葉斯ProMPs-PI2學(xué)習(xí)后的過(guò)兩點(diǎn)軌跡 Fig.13 Trajectory via two points learned by Bayesian ProMPs-PI2in V-REP simulation PI2優(yōu)化過(guò)程中的代價(jià)函數(shù)值變化如圖14所示,該指標(biāo)包括過(guò)點(diǎn)懲罰項(xiàng)和曲線平滑項(xiàng)。由圖14可見(jiàn),隨著迭代的進(jìn)行,代價(jià)函數(shù)值迅速下降,經(jīng)過(guò)120次迭代后基本穩(wěn)定,這表明PI2算法調(diào)整了軌跡的平滑度并最終達(dá)到收斂。 圖14 PI2優(yōu)化過(guò)程中的代價(jià)值變化 圖15所示為機(jī)器人某關(guān)節(jié)的速度在優(yōu)化前后的對(duì)比。從圖15可以看出,優(yōu)化后關(guān)節(jié)角速度變化范圍比優(yōu)化前的小很多,進(jìn)一步佐證了前面的研究結(jié)論。 圖15 PI2優(yōu)化前后的關(guān)節(jié)速度對(duì)比 Fig.15 Comparison of joint velocities before and after PI2optimization 圖16為采用LWR-PI2學(xué)習(xí)策略的過(guò)兩點(diǎn)實(shí)驗(yàn)結(jié)果,其過(guò)點(diǎn)時(shí)間和過(guò)點(diǎn)位置要求都與采用其他學(xué)習(xí)策略時(shí)相同。從圖16可以看出,機(jī)器人無(wú)法完成所要求的任務(wù)。 圖16 LWR-PI2學(xué)習(xí)后的過(guò)兩點(diǎn)軌跡 綜上所述,貝葉斯ProMPs可以實(shí)現(xiàn)快速過(guò)點(diǎn),而PI2強(qiáng)化學(xué)習(xí)方法可以優(yōu)化貝葉斯估計(jì)方法獲得的不平滑軌跡,減少軌跡的能量消耗,兩者取長(zhǎng)補(bǔ)短。 本文提出的貝葉斯ProMPs-PI2機(jī)器人學(xué)習(xí)策略將貝葉斯估計(jì)應(yīng)用于ProMPs模型,并加入啟發(fā)式的KCCA-PI2方法優(yōu)化軌跡,不僅可以快速完成所要求的過(guò)點(diǎn)任務(wù),還能找到一條平滑且能量消耗較小的優(yōu)化路徑。通過(guò)UR5的過(guò)單點(diǎn)及過(guò)兩點(diǎn)任務(wù)實(shí)驗(yàn),證明采用該方法能快速而精準(zhǔn)地完成從示范任務(wù)到陌生任務(wù)(本文為過(guò)點(diǎn)任務(wù))的泛化學(xué)習(xí),從而實(shí)現(xiàn)機(jī)器人的新技能獲取。
2 貝葉斯估計(jì)算法



3 基于貝葉斯ProMPs-PI2的策略優(yōu)化算法






4 實(shí)驗(yàn)及結(jié)果分析
4.1 過(guò)單點(diǎn)任務(wù)


4.2 過(guò)兩點(diǎn)任務(wù)








5 結(jié)語(yǔ)