胡艷明,華 煒
(之江實(shí)驗(yàn)室,杭州 311121)
機(jī)器人在現(xiàn)代社會與經(jīng)濟(jì)的發(fā)展中扮演著重要的角色,顯著地提高了人類的工作效率與安全性,并加快了科學(xué)發(fā)展的進(jìn)程。與人類相比,現(xiàn)有的機(jī)器人在未知環(huán)境下的行為能力還很低下[1-3]。參照人類提升行為能力的方式,研究人員通過研究基于示教學(xué)習(xí)的機(jī)器人學(xué)習(xí)方法,使機(jī)器人通過模仿示教者來獲得新的行為。
示教學(xué)習(xí)是通過最小化機(jī)器人與示教者之間的行為差異來獲得新行為的技術(shù)[4]。相比基于“試錯(cuò)”的強(qiáng)化學(xué)習(xí),示教學(xué)習(xí)的樣本使用率與學(xué)習(xí)效率更高。但是,示教學(xué)習(xí)依賴示教樣本的質(zhì)量,所學(xué)行為魯棒性較差,較小誤差的動作會使機(jī)器人逐漸偏移正確的行為,從而在真實(shí)應(yīng)用中失效。針對該問題,研究人員提出一系列經(jīng)典算法,如基于搜索的結(jié)構(gòu)化預(yù)測算法[5]、隨機(jī)混合迭代學(xué)習(xí)算法[6]、數(shù)據(jù)集聚合(Dataset Aggregation, DAgger)算法[7-8]、基于示教的近似策略迭代算法[9]、用于模仿的聚合值算法(Aggregate Values to Imitate, AggreVaTe)[10]等(詳細(xì)介紹見文獻(xiàn)[11])。隨著生成對抗網(wǎng)絡(luò)(Generative Adversarial Network, GAN)[12]的提出,許多研究人員利用GAN 的樣本生成能力,提出了基于GAN 的模仿學(xué)習(xí)算法,如生成對抗模仿學(xué)習(xí)[13]、互信息生成對抗模仿學(xué)習(xí)[14]、多智能體對抗模仿學(xué)習(xí)[15]、獎(jiǎng)勵(lì)增廣模仿學(xué)習(xí)[16]、基于動作排序的對抗模仿學(xué)習(xí)[17]等。
以上所示的大部分經(jīng)典算法與基于GAN 的算法由兩個(gè)基本時(shí)期組成:①示教樣本收集;②策略導(dǎo)出。對于示教學(xué)習(xí)來說,示教樣本包含了機(jī)器人可能學(xué)到的行為。當(dāng)機(jī)器人遇到示教樣本中未包含的場景時(shí),所學(xué)行為極有可能會失效。這類填鴨式的示教學(xué)習(xí)方法使機(jī)器人不具備適應(yīng)新環(huán)境的能力。為了能夠適應(yīng)新遇到的場景,經(jīng)典算法中的DAgger 與AggreVaTe 采用數(shù)據(jù)增廣技術(shù)在線收集更多專家的示教數(shù)據(jù)。但是,該類方法需要專家一直處于關(guān)注狀態(tài),且需要時(shí)刻給機(jī)器人提供觀察狀態(tài)對應(yīng)的示教動作。因此,DAgger 與AggreVaTe 的學(xué)習(xí)成本高昂。此外,以上方法都是其于深度學(xué)習(xí)的方法[18]。但是,深度學(xué)習(xí)會出現(xiàn)災(zāi)難性遺忘問題[19-20],即學(xué)習(xí)的新行為會覆蓋之前所習(xí)得的行為,深度學(xué)習(xí)的災(zāi)難性遺忘問題至今沒有得到很好的解決。DAgger與AggreVaTe 方法會在接收到新樣本后,將其混入數(shù)據(jù)集中一起對模型進(jìn)行重訓(xùn)練,學(xué)習(xí)效率很難進(jìn)一步提高,進(jìn)而限制了環(huán)境適應(yīng)性與行為魯棒性的提升。綜上所述,當(dāng)前的示教學(xué)習(xí)方法主要存在三方面的問題:①環(huán)境適應(yīng)性差;②學(xué)習(xí)效率低;③行為魯棒性差。
基于徑向基函數(shù)(Radial Basis Function, RBF)網(wǎng)絡(luò)的增量式學(xué)習(xí)方法被應(yīng)用于可持續(xù)強(qiáng)化學(xué)習(xí)任務(wù)中[21-22]。本文融合該增量式學(xué)習(xí)方法與示教學(xué)習(xí),將人類加入到機(jī)器人學(xué)習(xí)的環(huán)路中,使機(jī)器人能夠在遇到新場景時(shí)主動向人類請求示教;并僅利用新接收的新數(shù)據(jù)增量式地學(xué)習(xí)行為,使機(jī)器人能不斷適應(yīng)新環(huán)境。其次,為了降低人在環(huán)路的示教學(xué)習(xí)的交互成本,利用傳統(tǒng)優(yōu)化方法[23]將人類易示教的高層行為轉(zhuǎn)換成機(jī)器人易學(xué)習(xí)的低層行為。再次,借鑒大腦基底神經(jīng)節(jié)中紋狀邊緣區(qū)域的工作機(jī)理[24-25],賦予機(jī)器人潛意識學(xué)習(xí)的能力,使其能夠在內(nèi)部世界不斷產(chǎn)生虛擬的數(shù)據(jù)用于學(xué)習(xí),進(jìn)一步得到魯棒的行為。最后,通過移動機(jī)器人學(xué)習(xí)走廊通行行為實(shí)驗(yàn)證明了本文方法是合理有效的。
本文提出如圖1 所示的人在環(huán)路的可持續(xù)示教學(xué)習(xí)框架。該框架由三部分組成:①基于增量式RBF 網(wǎng)絡(luò)的可持續(xù)示教學(xué)習(xí);②基于貝塞爾曲線的軌跡跟蹤;③機(jī)器人潛意識學(xué)習(xí)??沙掷m(xù)示教學(xué)習(xí)使機(jī)器人能夠主動與外部世界進(jìn)行交互——請求人類示教或在真實(shí)世界中利用學(xué)到的行為。因此,人類被加入到機(jī)器人學(xué)習(xí)的環(huán)路中,并在機(jī)器人的整個(gè)生命周期對其進(jìn)行示教引導(dǎo)。軌跡跟蹤方法將高層級的參考軌跡轉(zhuǎn)換成低層級的狀態(tài)-動作對。基于此,人類僅需要給機(jī)器人提供能夠擬合成參考軌跡的稀疏引導(dǎo)點(diǎn)。潛意識學(xué)習(xí)通過在內(nèi)部世界對新場景進(jìn)行探索,生成多樣性的示教數(shù)據(jù),使機(jī)器人學(xué)到更加魯棒的行為。下面將分別對這三部分進(jìn)行詳細(xì)介紹。
圖1 人在環(huán)路的機(jī)器人可持續(xù)示教學(xué)習(xí)框架Fig.1 Human-in-the-loop continual robot learning from demonstration framework
示教學(xué)習(xí)(Learning from Demonstration, LfD)歸屬于有監(jiān)督學(xué)習(xí)范疇。在監(jiān)督學(xué)習(xí)中,學(xué)習(xí)系統(tǒng)被有標(biāo)簽的數(shù)據(jù)訓(xùn)練,并學(xué)習(xí)近似該數(shù)據(jù)分布的函數(shù)。在示教學(xué)習(xí)中,訓(xùn)練數(shù)據(jù)由示教者執(zhí)行任務(wù)的示例組成。最終用于示教學(xué)習(xí)的示例是一個(gè)二元組<x,a>,它由狀態(tài)及動作組成。示教學(xué)習(xí)的目的是學(xué)習(xí)一個(gè)策略π:x→a?,F(xiàn)有的大部分示教學(xué)習(xí)方法都是一次性的學(xué)習(xí),即機(jī)器人基于固定的示教數(shù)據(jù)集學(xué)習(xí),策略會在學(xué)習(xí)完成后固定下來,機(jī)器人可能無法適應(yīng)新出現(xiàn)的場景與情況。本節(jié)通過融合示教學(xué)習(xí)與基于RBF網(wǎng)絡(luò)的增量式學(xué)習(xí),提出可持續(xù)示教學(xué)習(xí)算法。
文獻(xiàn)[22]提出基于RBF 網(wǎng)絡(luò)的增量式學(xué)習(xí)方法。圖2 顯示了一個(gè)標(biāo)準(zhǔn)的RBF 網(wǎng)絡(luò)模型,其由模型參數(shù)W與結(jié)構(gòu)D={d1,d2,…,dn}兩部分組成。L2 正則化的核遞歸最小二乘(L2-norm Kernel Recursive Least Squares, L2-KRLS)算法被用來增量式學(xué)習(xí)RBF 網(wǎng)絡(luò)的參數(shù)與結(jié)構(gòu)(詳見文獻(xiàn)[22]的算法1)。其中,近似線性獨(dú)立(Approximate Linear Dependence, ALD)準(zhǔn)則用來判定狀態(tài)是否需要加入D。具體地,對于第t個(gè)遇到的狀態(tài)xt,計(jì)算xt被D近似線性表示的誤差δt,如果δ t>μ則將該狀態(tài)加入D,其中μ為設(shè)定的閾值。ALD準(zhǔn)則如式(1)所示:
圖2 增量式RBF 網(wǎng)絡(luò)Fig.2 Incremental RBF network
本文利用ALD 準(zhǔn)則作為機(jī)器人與人類主動交互的機(jī)制。對于機(jī)器人的每一個(gè)決策周期,可分以下三種情形。
情形1:如果機(jī)器人已經(jīng)獲取到期望的執(zhí)行動作at,則利用<xt,at>輸入到L2-KRLS 算法對RBF 網(wǎng)絡(luò)進(jìn)行更新。
情形2:如果機(jī)器人此時(shí)未獲得期望的執(zhí)行動作at,并且xt滿足ALD 準(zhǔn)則(δt≤μ),則利用所學(xué)的RBF 網(wǎng)絡(luò)生成當(dāng)前狀態(tài)的可執(zhí)行動作at。
情形3:如果機(jī)器人此時(shí)未獲得期望的執(zhí)行動作at,并且xt不滿足ALD 準(zhǔn)則(δ t>μ),則向人類發(fā)出請求示教信號獲得執(zhí)行動作at,并利用<xt,at>輸入到L2-KRLS 算法對RBF 網(wǎng)絡(luò)進(jìn)行更新。
為了使機(jī)器人能夠利用人類示教的高層行為示教數(shù)據(jù)學(xué)習(xí),本節(jié)提出基于貝塞爾曲線的軌跡跟蹤算法將參考軌跡轉(zhuǎn)換成狀態(tài)-動作對。當(dāng)人類接受機(jī)器人的示教請求信號時(shí),便向機(jī)器人提供當(dāng)前場景的稀疏引導(dǎo)點(diǎn),假定提供五個(gè)引導(dǎo)點(diǎn),可表示為R={(x1,y1) ,(x2,y2) ,… ,(x5,y5)}。利用式(2)所示的三次多項(xiàng)式對引導(dǎo)點(diǎn)進(jìn)行擬合,得到機(jī)器人的參考路徑S。
軌跡跟蹤方法規(guī)劃出最優(yōu)的動作使機(jī)器人跟蹤上該參考路徑。機(jī)器人在對參考路徑進(jìn)行跟蹤的過程中會生成狀態(tài)-動作對,并基于此對RBF網(wǎng)絡(luò)模型進(jìn)行更新。
本文提出的軌跡跟蹤算法是文獻(xiàn)[23]中基于貝塞爾曲線的離散優(yōu)化框架。首先,利用貝塞爾曲線公式生成候選軌跡;然后,利用設(shè)計(jì)的評價(jià)函數(shù)對每條候選軌跡進(jìn)行評價(jià);最后,選出代價(jià)最低的作為當(dāng)前的最優(yōu)執(zhí)行軌跡。
候選軌跡生成:本文以移動機(jī)器人Turtlebot[22]為實(shí)驗(yàn)對象,采用二階貝塞爾曲線模擬機(jī)器人的行駛軌跡。二階貝塞爾曲線由三個(gè)控制點(diǎn)唯一確定。假定候選軌跡的個(gè)數(shù)為NPT,第i條候選軌跡可表為圖3 為候選軌跡各控制點(diǎn)的選擇示意圖。圖中所有點(diǎn)均在機(jī)器人本體坐標(biāo)系XOY下,X軸為機(jī)器人正前方。候選軌跡的第一個(gè)控制點(diǎn)為機(jī)器人坐標(biāo)系原點(diǎn);第二個(gè)控制點(diǎn)為機(jī)器人正前方γPTLPT處的點(diǎn);候選軌跡最后一個(gè)控制點(diǎn)是在[-φPT,φPT]區(qū)間的圓弧上進(jìn)行均勻采樣獲得。其中,γPT是控制軌跡平滑程度的因子;為圓弧上的角度采樣間隔。各控制點(diǎn)的計(jì)算公式見式(3)。
圖3 候選軌跡控制點(diǎn)采樣示意圖Fig.3 Control points of candidate trajectories
評價(jià)函數(shù)設(shè)計(jì):本文采用候選軌跡與參考路徑的重合度作為評價(jià)指標(biāo)。第i條候選軌跡的代價(jià)計(jì)算公式如下:
其中,NcPT為一條曲線上均勻采樣點(diǎn)的個(gè)數(shù);為參考路徑上第j個(gè)采樣點(diǎn);為第i條候選軌跡上第j個(gè)采樣點(diǎn);采樣點(diǎn)p是由二維平面上坐標(biāo)值組成的二維向量[x,y]。
最優(yōu)軌跡選擇:根據(jù)設(shè)計(jì)的評價(jià)函數(shù)得到各候選軌跡的代價(jià)值后,選擇代價(jià)最小的軌跡作為當(dāng)前的執(zhí)行軌跡。圖4 給出軌跡跟蹤方法的示例。圖中,粉紅色點(diǎn)表示人類給出的示教路點(diǎn),紅色 曲線為擬合的參考路徑,黃色曲線為生成的候選軌跡簇,綠色曲線為最終選定的最優(yōu)執(zhí)行軌跡。
圖4 軌跡跟蹤方法示例Fig.4 Example of bézier curve based path tracking
得到最優(yōu)可執(zhí)行軌跡后,可以計(jì)算機(jī)器人的執(zhí)行指令。Turtlebot 的執(zhí)行指令為速度(v)和角速度(ω)。由于Turtlebot 的移動速度相對緩慢,可以固定為常值不變,角速度成為唯一影響軌跡跟蹤的指令。根據(jù)公式(5)計(jì)算最優(yōu)候選貝塞爾曲線起點(diǎn)處的曲率k0,再根據(jù)ω=vk計(jì)算當(dāng)前機(jī)器人期望的執(zhí)行角速度。最后,利用傳感器數(shù)據(jù)構(gòu)造機(jī)器人當(dāng)前的狀態(tài)xt,并結(jié)合機(jī)器人的期望動作at=[ω]組成用于行為學(xué)習(xí)的示教樣本
為了進(jìn)一步提高機(jī)器人學(xué)習(xí)的效率,借鑒大腦的工作機(jī)制,賦予機(jī)器人潛意識學(xué)習(xí)的能力。所謂的潛意識學(xué)習(xí)即機(jī)器人在內(nèi)部世界對外部世界遇到的新場景進(jìn)行探索,生成多樣性的訓(xùn)練樣本,用于更新行為模型。潛意識學(xué)習(xí)使得機(jī)器人不必暫停與外部世界的正常交互,它利用內(nèi)部世界產(chǎn)生的多樣性虛擬樣本提升機(jī)器人在真實(shí)世界的行為能力。本文將潛意識學(xué)習(xí)分成三個(gè)子問題:內(nèi)外世界計(jì)算資源配置、內(nèi)部世界與外部世界的數(shù)據(jù)流控制以及如何在內(nèi)部世界探索新場景。
計(jì)算資源配置:本文框架按計(jì)算資源解耦可得三個(gè)獨(dú)立的模塊:內(nèi)部世界探索、外部世界交互、行為可持續(xù)學(xué)習(xí)。這三個(gè)模塊可以進(jìn)行并行計(jì)算,并且三個(gè)模塊之間的計(jì)算允許異步進(jìn)行。因此,根據(jù)不同的情況,存在如圖5 所示的三種配置情況:(1)在相對簡單的任務(wù)時(shí),如果機(jī)器人配置的計(jì)算資源充足,甚至配備多臺計(jì)算的情況下,三個(gè)模塊可以都放于本地;(2)如果任務(wù)復(fù)雜,存在大量的內(nèi)部世界片段需要被探索,可將內(nèi)部世界模塊置于云端計(jì)算,緩減本地計(jì)算的壓力,同時(shí)這也是一種降低機(jī)器人硬件成本的途徑;(3)如果任務(wù)的復(fù)雜性再增加,可以將增量式學(xué)習(xí)與內(nèi)部世界模塊都置于云端計(jì)算,這種方式需要以合適的頻率更新機(jī)器人本地的策略模型。
圖5 計(jì)算資源配置Fig.5 Allocation of computing resources
數(shù)據(jù)流控制:機(jī)器人本體在真實(shí)世界中運(yùn)行以及與人類交互的同時(shí),系統(tǒng)的內(nèi)部世界也在并行運(yùn)行著。內(nèi)部世界中,機(jī)器人需要采樣各種初始姿態(tài)以完成對虛擬環(huán)境的充分學(xué)習(xí)。外部世界不定時(shí)地會出現(xiàn)需要請求人類示教的場景??赡軙霈F(xiàn)這種情況:上一個(gè)虛擬環(huán)境還未被內(nèi)部世界利用完成,就接收到新的虛擬環(huán)境。針對該情況,有兩種應(yīng)對策略:(1)虛擬環(huán)境隊(duì)列,記為E,如圖6 所示;(2)內(nèi)部世界列表,記為I,如圖7所示。前者只需要維持一個(gè)內(nèi)部世界,待處理的虛擬環(huán)境被暫存在隊(duì)列中,按先進(jìn)先出的順序依次輸入到內(nèi)部世界被學(xué)習(xí)。后者是存在多個(gè)并行處理器(或多個(gè)機(jī)算機(jī))的前提下,新到來的虛擬環(huán)境被隨機(jī)分配到當(dāng)前空閑的處理器/計(jì)算機(jī),此處的每個(gè)處理器/計(jì)算機(jī)就是機(jī)器人各個(gè)內(nèi)部世界的載體。
圖6 虛擬環(huán)境隊(duì)列Fig.6 Virtual environment queue
圖7 內(nèi)部世界列表 Fig.7 Internal world list
新場景探索:潛意識學(xué)習(xí)的核心思想就是在不干擾機(jī)器人在外部世界運(yùn)行的前提下,利用內(nèi)部世界對陌生的環(huán)境進(jìn)行系統(tǒng)的學(xué)習(xí),使機(jī)器人學(xué)到更加魯棒的行為。為了達(dá)到該目的,機(jī)器人在內(nèi)部模擬時(shí),需要獲得多樣化的樣本。機(jī)器人以某一初始姿態(tài)跟蹤上參考軌跡,這一過程可作為一個(gè)場景。機(jī)器人需要在同一虛擬環(huán)境模擬足夠多的初始姿態(tài),從而完成對該局部環(huán)境的探索。圖8 給出一個(gè)在內(nèi)部世界探索左轉(zhuǎn)角場景的例子。首先,從參考軌跡(粉紅色曲線)上采樣一系帶方向的點(diǎn)(青色箭頭)作為虛擬參考初始位姿點(diǎn);然后,對各虛擬參考初始位姿點(diǎn)按式(6)添加確定擾動,分別得到左、右兩個(gè)探索初始位姿點(diǎn)。
其中,Δlat為橫向擾動量,Δang為角度擾動量。
圖8 內(nèi)部世界探索新場景示例Fig.8 Example of exploring new scene in internal world
在確定計(jì)算資源的配置與數(shù)據(jù)流控制方案后,根據(jù)內(nèi)部世界探索新場景的方法獲得若干探索初始位姿點(diǎn)。對于每個(gè)探索初始位姿點(diǎn)都構(gòu)建一個(gè)用于探索的虛擬場景實(shí)例。在虛擬場景實(shí)例中利用基于貝塞爾曲線的路徑跟蹤方法獲得最優(yōu)執(zhí)行動作,利用運(yùn)動學(xué)模型更新下一步的狀態(tài),這樣迭代若干周期得到一系列用于行為學(xué)習(xí)的虛擬狀態(tài)-動作對。
由第2 節(jié)介紹的人在環(huán)路的可持續(xù)學(xué)習(xí)框架,可實(shí)例化人在環(huán)路的可持續(xù)學(xué)習(xí)系統(tǒng)。該系統(tǒng)由三個(gè)并行運(yùn)行的線程組成,分別為:(1)外部世界線程;(2)內(nèi)部世界線程;(3)增量式學(xué)習(xí)線程。圖9 給出三個(gè)線程之間的數(shù)據(jù)交互關(guān)系圖。共享隊(duì)列變量QH與QL分別存儲高層行為與低層行為,它們在三個(gè)線程間共享。外部世界推進(jìn)新的高層行為,并將當(dāng)前得到的低層行為推進(jìn)QL。內(nèi)部世界線程接收從QH中推出的高層行為,并將得到的低層行為推進(jìn)QL。增量式學(xué)習(xí)線程接受QL推出的低層行為增量式更新策略模型。得到的策略模型在增量式學(xué)習(xí)線程與外部世界線程間共享。下面分別對三個(gè)線程進(jìn)行介紹。
圖9 各線程之間的數(shù)據(jù)流Fig.9 Data stream between each threads
外部世界線程主要負(fù)責(zé)機(jī)器人與真實(shí)世界的交互,包括獲取環(huán)境的信息、自身的狀態(tài)、與人 類進(jìn)行交互以及執(zhí)行動作作用于環(huán)境。該線程基于增量式學(xué)習(xí)線程學(xué)習(xí)到的策略模型信息判定當(dāng)前機(jī)器人是否需要請求示教,因此,存在兩種狀態(tài):(1)利用學(xué)習(xí)到的行為;(2)請求示教獲得行為。如果為前者,則利用學(xué)習(xí)到的策略模型生成當(dāng)前期望動作;否則調(diào)用軌跡跟蹤方法得到當(dāng)前的期望動作。在每一個(gè)運(yùn)行步,機(jī)器人都要發(fā)布期望動作到底層控制器,對環(huán)境作出響應(yīng)。外部世界線程具體步驟如下。
步驟 1:初始化srobot←利用,t← 1;
步驟 2:使用傳感器獲得機(jī)器人當(dāng)前的狀態(tài)xt與位姿rt;
步驟 3:如果srobot==利用,執(zhí)行步驟 4;否則,執(zhí)行步驟 5;
步驟 4:如果xt滿足ALD 準(zhǔn)則,則利用RBF網(wǎng)絡(luò)輸出當(dāng)前狀態(tài)的期望動作at;否則,從人類示教者獲取引導(dǎo)點(diǎn)R,并利用式(2)擬合參考路徑S,然后將S存入高層行為隊(duì)列QH末尾,置srobot←示教;跳至步驟 6;
步驟 5:如果軌跡未跟蹤結(jié)束,則基于軌跡跟蹤方法獲得執(zhí)行動作at,并將(x t,at)存入低層行為隊(duì)列QL末尾;否則,srobot←利用;
步驟 6:將期望動作at發(fā)布給底層控制器執(zhí)行,t←t+ 1,跳轉(zhuǎn)至步驟 2。
內(nèi)部世界線程主要負(fù)責(zé)從共享隊(duì)列QH中獲取虛擬環(huán)境,構(gòu)成內(nèi)部世界,從而模擬得到低層的行為,并存儲到共享隊(duì)列QL。線程中主要分為兩個(gè)部分:(1)對機(jī)器人的初始位姿進(jìn)行采樣,得到一系列虛擬實(shí)例,并存入隊(duì)列Qtemp;(2)從隊(duì)列Qtemp中獲取虛擬實(shí)例,并調(diào)用軌跡跟蹤方法得到低層行為。內(nèi)部世界線程具體步驟如下。
步驟 1:t← 1,Qtemp←?;
步驟 2:如果Qtemp==?并且﹁QH==?,彈出,并獲取QH隊(duì)首的參考路徑S,并在S采樣若干探索初始位姿{r1,r2,…},依次構(gòu)造(S,ri),i=1,2,…存入Qtemp;彈出,并獲取Qtemp隊(duì)首單元(S,r),賦值Snow←S,rnow←r;
步驟 3:如果Snow跟蹤未結(jié)束,則基于Snow與rnow,用軌跡跟蹤方法獲得at,獲取虛擬狀態(tài)xt,將虛擬狀態(tài)動作對(x t,at)存入低層行為隊(duì)列QL末尾,基于機(jī)器人運(yùn)動學(xué)模型更新rnow;否則,彈出,并獲取Qtemp隊(duì)首單元(S,r),賦值Snow←S,rnow←r;
步驟 4:t←t+ 1,跳轉(zhuǎn)至步驟 2。
增量式學(xué)習(xí)線程的任務(wù)相對簡潔,它只負(fù)責(zé)從QL獲取訓(xùn)練樣本,增量式地更新機(jī)器人的策略網(wǎng)絡(luò)。當(dāng)隊(duì)列為空時(shí),便暫停學(xué)習(xí);當(dāng)隊(duì)列有數(shù)據(jù)時(shí),便開啟學(xué)習(xí)。增量式學(xué)習(xí)線程具體步驟如下。
步驟 1:t← 1;
步驟 2:如果﹁QL==?,則彈出,并獲取QL隊(duì)首的狀態(tài)-動作對x,a),并利用(x,a)增量式更新RBF 網(wǎng)絡(luò);
步驟 3:t←t+ 1,跳轉(zhuǎn)至步驟 2。
本實(shí)驗(yàn)基于移動機(jī)器人平臺Turtlebot[26]與基于ROS[27]與Stage[28]的回形仿真走廊環(huán)境驗(yàn)證人在環(huán)路的可持續(xù)示教學(xué)習(xí)方法的有效性。機(jī)器人需要在搭建的回形走廊仿真環(huán)境中,通過與人類的交互,逐步學(xué)習(xí)通道行駛行為。本實(shí)驗(yàn)包括三組實(shí)驗(yàn)。
(1)人直接示教低層行為,不包含軌跡跟蹤與潛意識學(xué)習(xí)模塊,簡稱為simpleLfD;具體地,機(jī)器人主動地向人類請求示教;然后,人類利用游戲手柄直接給出期望動作控制機(jī)器人運(yùn)行一段距離,并產(chǎn)生一系列狀態(tài)-動作對(x,a);同時(shí)用在線產(chǎn)生的(x,a)增量式更新行為模型。
(2)人示教高層行為,包含軌跡跟蹤模塊,但不包含潛意識學(xué)習(xí)模塊,簡稱為BZPTLfD;具體地,機(jī)器人主動地向人類請求示教,然后,人類通過點(diǎn)擊地圖界面給機(jī)器人提供五個(gè)稀疏引導(dǎo)點(diǎn),緊接著擬合得到參考路徑,然后基于軌跡跟蹤算法跟蹤該路徑一段距離,產(chǎn)生一系列狀態(tài)-動作對(x,a),同時(shí)用在線產(chǎn)生的(x,a)增量式更新行為模型。
(3)本文完整框架;具體地,機(jī)器人主動向人類請求示教,然后,人類通過點(diǎn)擊地圖界面給機(jī)器人提供五個(gè)稀疏引導(dǎo)點(diǎn),緊接著擬合得到參考路徑,然后基于軌跡跟蹤算法跟蹤該路徑一段距離并收集一系列狀態(tài)-動作對存入低層行為隊(duì)列QL,同時(shí),潛意識學(xué)習(xí)對新場景進(jìn)行探索獲得一系列狀態(tài)-動作對也存入QL,增量式學(xué)習(xí)依次從QL中?。▁,a)更新行為模型。
圖10 顯示了最終的實(shí)驗(yàn)結(jié)果。圖中綠色曲線為機(jī)器人依靠所學(xué)策略行駛的軌跡,紅色箭頭記錄了每次機(jī)器人請求示教時(shí)的位姿。如果機(jī)器人能夠僅依賴學(xué)習(xí)到策略完整運(yùn)行一圈,期間沒有出現(xiàn)需要請求示教的狀態(tài),就說明機(jī)器人對該環(huán)境學(xué)習(xí)完成。三種方式下,機(jī)器人依靠人類的示教增量式地更新策略模型,最終都能夠利用所學(xué)行為在該回形走廊環(huán)境中正常行駛。圖10(a)為simpleLfD 的結(jié)果,機(jī)器人總共向人類請求了53次示教;圖10(b)為BZPTLfD 的結(jié)果,人類示教23 次;圖10(c)為本文完整框架,所需示教次為13 次。仔細(xì)觀察圖10 中,三張圖中記錄的示教位姿分布以及學(xué)習(xí)完成后的行駛軌跡。
圖10(a)顯示simpleLfD 在走廊拐角處的紅色箭頭與綠色軌線存在許多不一致的情況,這說明機(jī)器人在學(xué)習(xí)過程中,由于人類很難直接控制機(jī)器人按照期望的軌跡運(yùn)動,因此機(jī)器人所學(xué)行為不斷變化。BZPTLfD(圖10(b))與完整框架(圖10(c))的紅色箭頭與綠色軌線基本重合,即示教軌跡與所學(xué)行為基本一致。這說明基于貝塞爾曲線的軌跡規(guī)劃方法將人類更加易于給出的高層稀疏路點(diǎn)轉(zhuǎn)換成更加穩(wěn)定的機(jī)器人行為,提高行為學(xué)習(xí)的穩(wěn)定性。simpleLfD 與BZPTLfD 在走廊拐角處存在許多重疊或相近的示教位姿(重疊的紅色箭頭),這種紅色箭頭重疊現(xiàn)象在本文完整框架(圖10(c))中明顯減少。這說明,當(dāng)機(jī)器人不具備潛意識學(xué)習(xí)能力時(shí),遇到歷史場景時(shí)會陷入故障狀態(tài),需要重復(fù)向人類請求示教;然而,使機(jī)器人在內(nèi)部世界對新場景進(jìn)行探索的潛意識學(xué)習(xí)能夠提高行為學(xué)習(xí)的魯棒性與效率。
圖10 仿真實(shí)驗(yàn)結(jié)果。Fig.10 Experiment results in virtual environment
實(shí)驗(yàn)結(jié)果表明:(1)融合增量式學(xué)習(xí)方法與示教學(xué)習(xí)方法,將人類加入到機(jī)器人學(xué)習(xí)的閉環(huán)中,的確能夠使機(jī)器人自主地向人類請求示教,并且能夠增量式地學(xué)習(xí)不同的行為;(2)將傳統(tǒng)規(guī)劃(軌跡跟蹤)方法與機(jī)器人學(xué)習(xí)方法結(jié)合,使人類僅需要向機(jī)器人提供高層的行為,降低了人類交互的成本,并提高了機(jī)器人學(xué)習(xí)的效率與穩(wěn)定性;(3)具有潛意識學(xué)習(xí)能力的機(jī)器人,可在內(nèi)部世界中進(jìn)行模擬,生成大量虛擬的樣本,進(jìn)一步提高機(jī)器人學(xué)習(xí)的效率,并提高了所學(xué)行為的魯棒性。
為了驗(yàn)證本文方法在真實(shí)環(huán)境中的有效性,本節(jié)在真實(shí)環(huán)境中搭建了如圖11 中間所示的回字形走廊環(huán)境。Turtlebot 被隨機(jī)置于該環(huán)境中某位置,然后基于本文提出的人在環(huán)路的機(jī)器人在線可持續(xù)學(xué)習(xí)框架主動向人類請求示教,基于示教數(shù)據(jù)在線可持續(xù)地學(xué)習(xí)走廊通行行為。
圖11 真實(shí)環(huán)境實(shí)驗(yàn)結(jié)果Fig.11 Experiment results in real environment
圖11 中周圍一圈實(shí)景圖片顯示了機(jī)器人在對應(yīng)時(shí)間的狀態(tài),紅色時(shí)間表示請求示教,白色表示自主運(yùn)行。最后,機(jī)器人只向人類請求了5次示教,便學(xué)會了在該走廊通道正常行駛的行為。圖12(a)顯示了該實(shí)驗(yàn),RBF 網(wǎng)絡(luò)的神經(jīng)元個(gè) 數(shù)隨著學(xué)習(xí)的進(jìn)行,在線增長的情況;圖12(b)顯示了隨著學(xué)習(xí)的進(jìn)行,機(jī)器人請求示教的頻次(次/秒)。結(jié)果顯示,隨著學(xué)習(xí)的進(jìn)行,RBF 網(wǎng)絡(luò)的節(jié)點(diǎn)個(gè)數(shù)從零開始增加,學(xué)習(xí)也能夠快速收斂。
圖12 仿真實(shí)驗(yàn)結(jié)果Fig.12 Experiment results in simulation
本文融合基于RBF 網(wǎng)絡(luò)的增量式學(xué)習(xí)方法與示教學(xué)習(xí)方法,提出人在環(huán)路的增量式學(xué)習(xí)方法。為了降低人類交互的成本以及人類示教的不確定性,將傳統(tǒng)規(guī)劃方法加入機(jī)器人學(xué)習(xí)方法中,使人類只需要向機(jī)器人提供高層的行為(路點(diǎn)或路徑)。然后,利用基于貝塞爾曲線的路徑跟蹤方法將人類示教的高層行為轉(zhuǎn)換為機(jī)器人的可執(zhí)行動作(低層行為)。低層行為可以直接被機(jī)器人學(xué)習(xí)到策略模型中。另外,賦予機(jī)器人潛意識學(xué)習(xí)的能力,使其在內(nèi)部世界不斷模擬出虛擬數(shù)據(jù),豐富機(jī)器人的知識儲備,從而提高所學(xué)行為的魯棒性。綜合各模塊,得到最終的人在環(huán)路的在線可持續(xù)學(xué)習(xí)系統(tǒng)。本文通過回形走廊環(huán)境的通道行駛行為學(xué)習(xí)實(shí)驗(yàn)驗(yàn)證了人在環(huán)路的增量式學(xué)習(xí)框架的有效性。實(shí)驗(yàn)結(jié)果表明:人在環(huán)路的增量式學(xué)習(xí)方法能夠以使機(jī)器人通過與人類的主動交互,高效率、增量式地學(xué)習(xí)到魯棒的行為。同時(shí),真實(shí)環(huán)境中的回形走廊實(shí)驗(yàn)驗(yàn)證了本文方法在真實(shí)應(yīng)用中的有效性。