李岸蕎,王志成,古 勇,2,吳 俊,2,朱秋國,2
(1.浙江大學(xué)智能系統(tǒng)與控制研究所,杭州 310027; 2.浙江大學(xué)工業(yè)控制技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,杭州 310027)
相比于輪式機(jī)器人,四足機(jī)器人在崎嶇地面和障礙物較多的環(huán)境中有著更好的移動(dòng)性能。通過落腳點(diǎn)的自由選擇,可以讓它們?cè)谝苿?dòng)時(shí)克服與其腿長相當(dāng)?shù)恼系K物。基于這種靈活性,它們可以在樓房和森林中進(jìn)行搜救任務(wù),在未知地形的隧道中進(jìn)行勘探,甚至在外星球進(jìn)行勘察工作。四足機(jī)器人的結(jié)構(gòu)形態(tài)使得其具有完成人類和四足哺乳動(dòng)物可以完成的動(dòng)作的潛力[1],例如跳遠(yuǎn)、跳高[2]以及后空翻等。
靈巧運(yùn)動(dòng)的實(shí)現(xiàn)離不開優(yōu)秀的控制算法。傳統(tǒng)方法主要通過基于模型的控制方法實(shí)現(xiàn)這些運(yùn)動(dòng)。針對(duì)特定的目標(biāo)運(yùn)動(dòng),采用開環(huán)控制方法,通過預(yù)先設(shè)定各關(guān)節(jié)位置軌跡,對(duì)各關(guān)節(jié)進(jìn)行位置控制,從而使機(jī)器人完成運(yùn)動(dòng)。這種方法可以呈現(xiàn)較好的效果,但是在機(jī)器人本體質(zhì)量發(fā)生變化或與地面摩擦系數(shù)發(fā)生變化時(shí),容易造成運(yùn)動(dòng)失效[3]。因此,這種方法在單一環(huán)境下表現(xiàn)較好,但當(dāng)機(jī)器人和環(huán)境參數(shù)改變時(shí),擴(kuò)展性不強(qiáng)。
強(qiáng)化學(xué)習(xí)作為一種基于數(shù)據(jù)驅(qū)動(dòng)的新型控制方法,在四足機(jī)器人的控制領(lǐng)域開始嶄露頭角。在強(qiáng)化學(xué)習(xí)的框架下,機(jī)器人與環(huán)境之間不斷進(jìn)行交互,根據(jù)用戶制定的高層獎(jiǎng)勵(lì),學(xué)習(xí)使獎(jiǎng)勵(lì)最大化的動(dòng)作,省去了對(duì)底層控制器進(jìn)行大量調(diào)參的繁重工作。這種方法訓(xùn)練出的神經(jīng)網(wǎng)絡(luò)控制器,在每個(gè)控制周期內(nèi)對(duì)環(huán)境進(jìn)行觀測,并根據(jù)觀測值決定運(yùn)動(dòng)軌跡,因此是一種閉環(huán)控制方法。而且,其訓(xùn)練出的端到端控制器也使得機(jī)器人可以充分發(fā)揮自己的運(yùn)動(dòng)潛力,完成更加靈活的運(yùn)動(dòng)。2018年,來自Google的T.Haarnoja和J.Tan首次嘗試使用深度強(qiáng)化學(xué)習(xí)進(jìn)行四足機(jī)器人的運(yùn)動(dòng)控制[4],成功地使用端到端的方法,在機(jī)器人Minitaur上實(shí)現(xiàn)了walk、trot 和gallop步態(tài)。同在2018年,加州大學(xué)伯克利分校的X.B.Peng等利用對(duì)專家經(jīng)驗(yàn)進(jìn)行模仿的方法,在仿真中實(shí)現(xiàn)了對(duì)視頻中人類或動(dòng)物靈巧運(yùn)動(dòng)的模擬[5]。通過構(gòu)建和視頻中生物類似的結(jié)構(gòu),仿真中的智能體可以完成和視頻中幾乎一模一樣的動(dòng)作。進(jìn)一步地,X.B.Peng等利用領(lǐng)域自適應(yīng)的方法,成功地將仿真中模仿狗運(yùn)動(dòng)的智能體遷移到了實(shí)物上[6],利用現(xiàn)實(shí)中的機(jī)器人完成了walk等步態(tài)。2019年,蘇黎世聯(lián)邦理工學(xué)院的M.Hutter團(tuán)隊(duì)在機(jī)器人ANYmal上成功利用強(qiáng)化學(xué)習(xí)完成了多種步態(tài)[1]和崎嶇路面行走[7],并實(shí)現(xiàn)了機(jī)器人自動(dòng)倒地爬起[8]。2020年,來自愛丁堡大學(xué)的李智彬團(tuán)隊(duì)利用多網(wǎng)絡(luò)切換的方法,在絕影機(jī)器人上成功實(shí)現(xiàn)了機(jī)器人姿勢一摔倒后的恢復(fù)動(dòng)作。通過檢測機(jī)器人摔倒后的姿態(tài),利用不同的網(wǎng)絡(luò)恢復(fù)不同的摔倒姿勢[9]。同在2020年,浙江大學(xué)的朱秋國團(tuán)隊(duì)利用帶有預(yù)訓(xùn)練的強(qiáng)化學(xué)習(xí)方法在四足機(jī)器人絕影上實(shí)現(xiàn)了Bounding步態(tài)[10]。
盡管強(qiáng)化學(xué)習(xí)在四足機(jī)器人的目標(biāo)動(dòng)作訓(xùn)練方面已經(jīng)取得初步成效,但對(duì)于一些較為復(fù)雜的運(yùn)動(dòng),由于其本身較難準(zhǔn)確量化描述,直接設(shè)計(jì)符合目標(biāo)的獎(jiǎng)勵(lì)函數(shù)較為困難,甚至設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù)所花費(fèi)的大量時(shí)間背離了深度強(qiáng)化學(xué)習(xí)方法節(jié)省人力的初衷。因此,在有目標(biāo)運(yùn)動(dòng)的參考軌跡時(shí),可以選擇采用模仿學(xué)習(xí)的思路,根據(jù)專家數(shù)據(jù)模仿專家的行為,從而極大減少設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù)和訓(xùn)練模型的時(shí)間,提高訓(xùn)練效率。
本文通過對(duì)位置控制下的絕影Lite機(jī)器人后空翻軌跡進(jìn)行模仿,利用深度強(qiáng)化學(xué)習(xí)近端策略優(yōu)化(Proximal Policy Optimization, PPO)方法,在仿真環(huán)境Raisim中訓(xùn)練出可以使四足機(jī)器人進(jìn)行后空翻的神經(jīng)網(wǎng)絡(luò)控制器。通過設(shè)計(jì)實(shí)驗(yàn),改變機(jī)器人模型本身和環(huán)境參數(shù),證明該神經(jīng)網(wǎng)絡(luò)控制器相比于位置控制器在一些方面具有適應(yīng)性更高的特點(diǎn)。
絕影Lite是一款通用型智能四足機(jī)器人,共有12個(gè)關(guān)節(jié)自由度,每個(gè)關(guān)節(jié)由無刷電機(jī)驅(qū)動(dòng),如圖1所示。這款機(jī)器人仿生設(shè)計(jì)、身型小巧、動(dòng)作靈敏、感知豐富,基于先進(jìn)的控制算法,具有行走和跳躍等多種運(yùn)動(dòng)模態(tài)。
絕影Lite四肢強(qiáng)度大,關(guān)節(jié)扭矩大,質(zhì)量較小,能完成后空翻等高難度運(yùn)動(dòng),部分參數(shù)如表1所示。
絕影Lite機(jī)器人為全肘式(all-elbow)構(gòu)型。簡化后的關(guān)節(jié)-連桿模型如圖2所示,所有關(guān)節(jié)坐標(biāo)系均保持一致。腿部關(guān)節(jié)包括髖側(cè)擺關(guān)節(jié)(HipX)、髖俯仰關(guān)節(jié)(HipY)和膝關(guān)節(jié)(Knee)。四腿分別表示為FL(左前腿)、FR(右前腿)、HL(左后腿)和HR(右后腿)。機(jī)器人軀干質(zhì)量5.64kg,大腿質(zhì)量0.55kg,小腿質(zhì)量0.08kg。左右髖間距11cm,前后髖間距25.6cm,大腿和小腿長度均為18cm。因深度強(qiáng)化學(xué)習(xí)中無需對(duì)機(jī)器人進(jìn)行動(dòng)力學(xué)建模,因此不再詳述該機(jī)器人的建模。
圖2 機(jī)器人模型Fig.2 Robot model
本文將對(duì)機(jī)器人的控制過程視為馬爾可夫過程。在每一個(gè)時(shí)間步Δt中,機(jī)器人獲得觀測值ot∈O,執(zhí)行動(dòng)作at∈A,并獲得一個(gè)標(biāo)量獎(jiǎng)勵(lì)rt∈R。對(duì)于一段時(shí)間為Δh個(gè)步長的運(yùn)動(dòng),用Ot=
(1)
其中,γ∈(0,1)為折扣系數(shù);τ(π)表示機(jī)器人的運(yùn)動(dòng)軌跡,受機(jī)器人的策略π和環(huán)境的共同影響。在基于策略的強(qiáng)化學(xué)習(xí)算法中,策略π一般用神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)。這種使用神經(jīng)網(wǎng)絡(luò)作為策略的強(qiáng)化學(xué)習(xí)算法被稱為深度強(qiáng)化學(xué)習(xí)。
為了獲得目標(biāo)策略,本實(shí)驗(yàn)采用的深度強(qiáng)化學(xué)習(xí)算法為PPO算法以優(yōu)化此策略。該算法為基于策略的深度強(qiáng)化學(xué)習(xí)算法,與Policy-Gradient算法相比,減少了優(yōu)化步長的選擇對(duì)于優(yōu)化過程的影響;相比于信任域策略優(yōu)化(Trust Region Policy Optimization,TRPO)算法,增強(qiáng)了對(duì)整體策略空間的搜索能力。另外,該算法采用了 Actor-Critic框架,優(yōu)化過程同時(shí)優(yōu)化Actor和Critic這2個(gè)網(wǎng)絡(luò),保證了對(duì)于狀態(tài)的價(jià)值估計(jì)和策略的優(yōu)化同時(shí)進(jìn)行[11-13]。
DeepMimic是一種基于模仿學(xué)習(xí)思想構(gòu)造的深度強(qiáng)化學(xué)習(xí)框架[14],其使用的優(yōu)化算法仍然是PPO算法。DeepMimic框架主要由PPO算法和精巧設(shè)計(jì)的獎(jiǎng)勵(lì)函數(shù)構(gòu)成。它的主要作用是通過設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù)來實(shí)現(xiàn)多關(guān)節(jié)智能體對(duì)已知?jiǎng)幼鞯哪7?。在DeepMimic框架中,根據(jù)設(shè)置的獎(jiǎng)勵(lì)函數(shù),神經(jīng)網(wǎng)絡(luò)的目標(biāo)是縮小智能體的當(dāng)前運(yùn)動(dòng)軌跡和目標(biāo)運(yùn)動(dòng)軌跡的差值。如圖3所示,在每一步動(dòng)作之后,參考軌跡和當(dāng)前狀態(tài)的差值被輸入到優(yōu)化器中,優(yōu)化器對(duì)控制器的優(yōu)化目標(biāo)為使智能體每一次完成動(dòng)作后都與參考軌跡非常接近。
圖3 DeepMimic流程圖Fig.3 Workflow of DeepMimic
在DeepMimic算法中,若想讓神經(jīng)網(wǎng)絡(luò)對(duì)目標(biāo)動(dòng)作有良好的模仿效果,選擇合適的參考軌跡至關(guān)重要。本文選擇的參考軌跡包括以下幾類(采樣參考軌跡的頻率與控制器的頻率保持一致,均為1ms):
1)機(jī)器人軀干質(zhì)心在世界坐標(biāo)系下的位置(3維);
2)機(jī)器人軀干在世界坐標(biāo)系下的姿態(tài)(4維,采用四元數(shù)表示,因?yàn)樯眢w在旋轉(zhuǎn)過程中由程序解算出的歐拉角可能會(huì)發(fā)生突變,導(dǎo)致智能體在學(xué)習(xí)過程中產(chǎn)生和參考軌跡相似的角度,但由于解算問題會(huì)出現(xiàn)2個(gè)數(shù)值差距巨大的歐拉角表示,因此采用四元數(shù)更加方便、快捷);
3)機(jī)器人各關(guān)節(jié)位置(12維);
4)機(jī)器人各關(guān)節(jié)速度(12維);
5)機(jī)器人各關(guān)節(jié)力矩(12維);
6)機(jī)器人足部距離身體質(zhì)心的距離(4維,四足機(jī)器人的4條腿相當(dāng)于連接在浮動(dòng)基上的4個(gè)機(jī)械臂,末端位置相當(dāng)于對(duì)機(jī)械臂末端位置的限制,在關(guān)于機(jī)械臂的強(qiáng)化學(xué)習(xí)中經(jīng)常用到,在腿足系統(tǒng)中也被證明是有效的[9])。
參考DeepMimic算法中對(duì)于參考軌跡的模仿,本文使用如下4個(gè)獎(jiǎng)勵(lì)函數(shù)進(jìn)行模型的訓(xùn)練。
(2)
(3)
(4)
(5)
采用指數(shù)函數(shù)的目的是使智能體動(dòng)作和參考軌跡動(dòng)作越接近時(shí),該獎(jiǎng)勵(lì)的增益越小,這樣可以防止機(jī)器人完全刻板地模仿參考軌跡,達(dá)到機(jī)器人在大體模仿參考軌跡的同時(shí)平衡各項(xiàng)獎(jiǎng)勵(lì)收益的目的。上述獎(jiǎng)勵(lì)函數(shù)中帶有^值均代表期望值。
在基于神經(jīng)網(wǎng)絡(luò)的深度強(qiáng)化學(xué)習(xí)下,選擇合適的輸入輸出對(duì)于模型表現(xiàn)效果至關(guān)重要。另外,深度強(qiáng)化學(xué)習(xí)選擇的觀測量要與選擇的獎(jiǎng)勵(lì)函數(shù)具有一定的相關(guān)性,這樣對(duì)神經(jīng)網(wǎng)絡(luò)優(yōu)化更有利。神經(jīng)網(wǎng)絡(luò)在優(yōu)化時(shí)的指標(biāo)是當(dāng)前狀態(tài)的獎(jiǎng)勵(lì),如果獎(jiǎng)勵(lì)和神經(jīng)網(wǎng)絡(luò)的輸入(即觀測量)關(guān)系較小,實(shí)際上是增加了神經(jīng)網(wǎng)絡(luò)尋找最優(yōu)解的壓力。最終選擇的網(wǎng)絡(luò)輸入如下所示:
1)機(jī)器人軀干質(zhì)心在世界坐標(biāo)系下的高度(1維);
2)機(jī)器人軀干在世界坐標(biāo)系下的姿態(tài)(4維,理由同選擇參考軌跡時(shí)的理由);
3)機(jī)器人各關(guān)節(jié)位置(12維);
4)機(jī)器人各關(guān)節(jié)速度(12維);
5)機(jī)器人一組起跳腿和一組非起跳腿的髖俯仰關(guān)節(jié)和膝關(guān)節(jié)的差值(8維,對(duì)于后空翻來講,即前2條腿的髖俯仰關(guān)節(jié)和膝關(guān)節(jié)的差值、后2條腿的髖俯仰關(guān)節(jié)和膝關(guān)節(jié)的差值,這種方法類似于在大數(shù)據(jù)處理中的特征工程,目標(biāo)在于根據(jù)先驗(yàn)知識(shí)預(yù)先提取出部分特征,達(dá)到減輕網(wǎng)絡(luò)擬合壓力的效果,加快訓(xùn)練速度[19],另外為了使三種翻滾運(yùn)動(dòng)的輸入統(tǒng)一,選擇對(duì)每相臨的2條腿都做這一處理);
6)機(jī)器人大腿和足部距離身體質(zhì)心的距離(24維,理由同選擇參考軌跡時(shí)的理由);
7)時(shí)間標(biāo)簽(1維,在翻滾動(dòng)作下,會(huì)出現(xiàn)一些與機(jī)器人狀態(tài)量類似的情況,例如初始狀態(tài)和最終結(jié)束狀態(tài),這時(shí)神經(jīng)網(wǎng)絡(luò)控制器需要一個(gè)時(shí)間標(biāo)簽來判別這兩種不同的情況);
神經(jīng)網(wǎng)絡(luò)的輸出選擇為12維目標(biāo)位置和12維目標(biāo)速度信息,底層關(guān)節(jié)PD控制器接收到指令之后輸出力矩信息。
綜上所述,神經(jīng)網(wǎng)絡(luò)的輸入為65維,輸出為24維。另外,神經(jīng)網(wǎng)絡(luò)的控制頻率設(shè)置為1ms,即該神經(jīng)網(wǎng)絡(luò)預(yù)測的信息為1ms后關(guān)節(jié)應(yīng)到達(dá)的位置和速度。
在Actor-Critic框架下,Actor和Critic各需要一個(gè)神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)。本文實(shí)驗(yàn)中的2個(gè)神經(jīng)網(wǎng)絡(luò)控制器均由具有2個(gè)全連接隱藏層的神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn),第一個(gè)隱藏層為1024個(gè)神經(jīng)元,第二個(gè)隱藏層為512個(gè)神經(jīng)元,對(duì)每一個(gè)神經(jīng)元選擇的激活函數(shù)為LeakyRelu[15],該激活函數(shù)有效解決了常用的激活函數(shù)Relu中的神經(jīng)元死亡問題。
在訓(xùn)練過程中,本文神經(jīng)網(wǎng)絡(luò)輸出的24維關(guān)節(jié)位置和關(guān)節(jié)速度實(shí)際上是24個(gè)高斯分布,即輸出為24個(gè)均值和24個(gè)方差,經(jīng)過采樣后得到24個(gè)數(shù)值。在訓(xùn)練結(jié)束后的測試模式下,控制器直接將24個(gè)均值作為目標(biāo)量輸送到關(guān)節(jié)。以下為簡化表達(dá),神經(jīng)網(wǎng)絡(luò)的輸出均表示為一個(gè)24維的向量。
本實(shí)驗(yàn)使用Raisim仿真軟件進(jìn)行仿真。其對(duì)于接觸力的解算采用了鉸接體算法(Articulated Body Algorithm,ABA)[16],大大增加了對(duì)于鉸接系統(tǒng)的接觸力求解速度,相對(duì)于機(jī)器人關(guān)節(jié)數(shù)目的計(jì)算時(shí)間復(fù)雜度為O(n)。
深度強(qiáng)化學(xué)習(xí)訓(xùn)練所用計(jì)算機(jī)中央處理器(Central Processing Unit, CPU)為Intel 9900K,圖形處理器(Graphics Processing Unit, GPU)為RTX2080Ti。當(dāng)訓(xùn)練次數(shù)為8100次左右時(shí),四足機(jī)器人第一次可以完成較為完整的后空翻運(yùn)動(dòng),如圖6所示。訓(xùn)練過程中的獎(jiǎng)勵(lì)變化曲線如圖4所示。
(a)關(guān)節(jié)位置模仿獎(jiǎng)勵(lì)
(b)身體姿態(tài)模仿獎(jiǎng)勵(lì)
(c)身體位置模仿獎(jiǎng)勵(lì)
(d)末端位置模仿獎(jiǎng)勵(lì)圖4 訓(xùn)練過程中獎(jiǎng)勵(lì)變化曲線Fig.4 Four kinds of reward verse time in training
每個(gè)訓(xùn)練回合(epoch)設(shè)置為1.4s,在運(yùn)動(dòng)時(shí)間達(dá)到0.7s時(shí),恢復(fù)機(jī)器人為初始狀態(tài),即在一個(gè)訓(xùn)練回合中,機(jī)器人可以獲得2次翻滾運(yùn)動(dòng)的模仿結(jié)果數(shù)據(jù),目的為在保證每個(gè)訓(xùn)練回合訓(xùn)練時(shí)間不過長的同時(shí)增強(qiáng)神經(jīng)網(wǎng)絡(luò)的收斂效果。
因?yàn)樵诤罂辗兄饕a(chǎn)生俯仰角(pitch)的變化,因此通過對(duì)比兩種控制器下后空翻的俯仰角軌跡,可以清晰地觀察到學(xué)習(xí)效果,如圖5所示。俯仰角的最大差值為0.58,平均差值為0.11,即神經(jīng)網(wǎng)絡(luò)控制器在模仿位置控制器的后空翻時(shí),平均誤差在6°左右。結(jié)合圖6可以看出,神經(jīng)網(wǎng)絡(luò)控制器在模仿位置控制器的基礎(chǔ)上完成了后空翻運(yùn)動(dòng)。另外,由圖7可以看出,各關(guān)節(jié)輸出的關(guān)節(jié)力矩均未超出設(shè)定的物理限制。綜上所述,利用深度強(qiáng)化學(xué)習(xí)成功實(shí)現(xiàn)了使用神經(jīng)網(wǎng)絡(luò)控制器對(duì)位置控制器下后空翻運(yùn)動(dòng)的模仿。
圖5 神經(jīng)網(wǎng)絡(luò)控制器(紅)和位置控制器(藍(lán))下 后空翻俯仰角軌跡對(duì)比Fig.5 Comparison of the pitch angles under the neural network controller (red) and the position controller (blue)
為進(jìn)一步證明帶有實(shí)時(shí)狀態(tài)反饋的神經(jīng)網(wǎng)絡(luò)控制器具有比開環(huán)位置控制器適應(yīng)性更高的特點(diǎn),分別通過改變軀干質(zhì)量和地面摩擦系數(shù)來觀察2個(gè)控制器的表現(xiàn),這2個(gè)變化分別對(duì)應(yīng)機(jī)器人本身的性質(zhì)和外部環(huán)境性質(zhì)。在該對(duì)比實(shí)驗(yàn)中,選擇關(guān)節(jié)的底層控制器均為Raisim仿真環(huán)境中帶有前饋重力補(bǔ)償?shù)腜D控制器。
3.3.1 改變軀干質(zhì)量
機(jī)器人原軀干質(zhì)量為5.64kg,改變機(jī)器人質(zhì)量為15.64kg后,原位置控制因無法支撐身體達(dá)到后空翻所要求的高度而無法完成整個(gè)動(dòng)作,而神經(jīng)網(wǎng)絡(luò)控制器仍可以完成運(yùn)動(dòng),如圖9所示。
圖6 后空翻運(yùn)動(dòng)的訓(xùn)練結(jié)果(右側(cè)機(jī)器人在位置控制下進(jìn)行后空翻運(yùn)動(dòng),左側(cè)機(jī)器人通過訓(xùn)練模仿右側(cè)機(jī)器人在 神經(jīng)網(wǎng)絡(luò)控制器下進(jìn)行后空翻運(yùn)動(dòng)。圖片時(shí)間間隔為0.05s,總時(shí)長為后空翻0.7s加關(guān)節(jié)恢復(fù)初始位置0.1s)Fig.6 Result of backflip training
圖7 右前腿和右后腿各關(guān)節(jié)輸出力矩變化(由于腿的對(duì)稱性,只繪制了右側(cè)雙腿的關(guān)節(jié)力矩曲線)Fig.7 Output torque in each joint of the right front leg and right hind leg
改變軀干質(zhì)量前后的俯仰角軌跡對(duì)比如圖8中同顏色虛線和實(shí)線所示,兩種控制器下的俯仰角軌跡對(duì)比為圖中紅線和藍(lán)線所示。
3.3.2 改變環(huán)境摩擦系數(shù)
仿真環(huán)境中機(jī)器人與環(huán)境的摩擦系數(shù)設(shè)置為0.7,在降低該摩擦系數(shù)為0.15后,位置控制器出現(xiàn)了明顯的打滑現(xiàn)象,從而無法完成完整的后空翻運(yùn)動(dòng),但是訓(xùn)練8000次后的部分神經(jīng)網(wǎng)絡(luò)控制器仍然可以使機(jī)器人完成完整的后空翻運(yùn)動(dòng),分別如圖10和圖11所示。
圖8 改變軀干質(zhì)量前后的俯仰角軌跡對(duì)比和 兩種控制器下俯仰角軌跡對(duì)比Fig.8 The pitch angle trajectories under the two controllers before and after changing the torso mass
圖9 改變軀干質(zhì)量的訓(xùn)練結(jié)果(右側(cè)機(jī)器人在位置控制下進(jìn)行后空翻運(yùn)動(dòng),左側(cè)機(jī)器人通過訓(xùn)練模仿右側(cè)機(jī)器人在 神經(jīng)網(wǎng)絡(luò)控制器下進(jìn)行后空翻運(yùn)動(dòng)。圖片時(shí)間間隔為0.05s,總時(shí)長為后空翻0.7s加關(guān)節(jié)恢復(fù)初始位置0.1s)Fig.9 Traing result after changing robot base mass
圖10 改變摩擦系數(shù),位置控制器出現(xiàn)打滑現(xiàn)象 (圖片時(shí)間間隔0.02s)Fig.10 After changing the friction coefficient between the robot and ground, the robot controlled by position controller appears to skid
圖11 改變摩擦系數(shù),神經(jīng)網(wǎng)絡(luò)控制器下的后空翻 (圖片時(shí)間間隔0.1s)Fig.11 Backflip under neural network controller after changing friction coefficient
從實(shí)驗(yàn)結(jié)果可以看出,神經(jīng)網(wǎng)絡(luò)控制器在工程應(yīng)用中的一個(gè)優(yōu)點(diǎn),即可以在訓(xùn)練產(chǎn)生的上百個(gè)模型中挑選合適的模型。雖然部分模型對(duì)環(huán)境的適應(yīng)能力較差,但由于學(xué)習(xí)過程具有一定的隨機(jī)性,仍可以找到部分符合條件的模型。
本文利用基于模仿專家經(jīng)驗(yàn)的深度強(qiáng)化學(xué)習(xí)方法實(shí)現(xiàn)了可以控制四足機(jī)器人進(jìn)行后空翻運(yùn)動(dòng)的神經(jīng)網(wǎng)絡(luò)控制器,并通過改變機(jī)器人的軀干質(zhì)量和機(jī)器人與環(huán)境之間的摩擦系數(shù),證明了訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)控制器相比于傳統(tǒng)位置控制器在環(huán)境適應(yīng)性上有一定程度的提高。
神經(jīng)網(wǎng)絡(luò)控制器不僅具有良好的環(huán)境適應(yīng)性,也具有很強(qiáng)的泛化能力。在通過模仿學(xué)習(xí)獲得了能進(jìn)行參考運(yùn)動(dòng)的神經(jīng)網(wǎng)絡(luò)控制器后,可以將該控制器作為預(yù)訓(xùn)練模型,根據(jù)需求加入新的獎(jiǎng)勵(lì)函數(shù),從而使機(jī)器人具備原控制器所不具備的能力。這種預(yù)訓(xùn)練可以大大節(jié)省人力物力,值得進(jìn)一步探索。