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