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