国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于深度強化學(xué)習(xí)的四足機器人后空翻動作生成方法

2021-12-02 04:58李岸蕎王志成朱秋國
導(dǎo)航定位與授時 2021年6期
關(guān)鍵詞:軌跡控制器神經(jīng)網(wǎng)絡(luò)

李岸蕎,王志成,古 勇,2,吳 俊,2,朱秋國,2

(1.浙江大學(xué)智能系統(tǒng)與控制研究所,杭州 310027; 2.浙江大學(xué)工業(yè)控制技術(shù)國家重點實驗室,杭州 310027)

0 引言

相比于輪式機器人,四足機器人在崎嶇地面和障礙物較多的環(huán)境中有著更好的移動性能。通過落腳點的自由選擇,可以讓它們在移動時克服與其腿長相當?shù)恼系K物?;谶@種靈活性,它們可以在樓房和森林中進行搜救任務(wù),在未知地形的隧道中進行勘探,甚至在外星球進行勘察工作。四足機器人的結(jié)構(gòu)形態(tài)使得其具有完成人類和四足哺乳動物可以完成的動作的潛力[1],例如跳遠、跳高[2]以及后空翻等。

靈巧運動的實現(xiàn)離不開優(yōu)秀的控制算法。傳統(tǒng)方法主要通過基于模型的控制方法實現(xiàn)這些運動。針對特定的目標運動,采用開環(huán)控制方法,通過預(yù)先設(shè)定各關(guān)節(jié)位置軌跡,對各關(guān)節(jié)進行位置控制,從而使機器人完成運動。這種方法可以呈現(xiàn)較好的效果,但是在機器人本體質(zhì)量發(fā)生變化或與地面摩擦系數(shù)發(fā)生變化時,容易造成運動失效[3]。因此,這種方法在單一環(huán)境下表現(xiàn)較好,但當機器人和環(huán)境參數(shù)改變時,擴展性不強。

強化學(xué)習(xí)作為一種基于數(shù)據(jù)驅(qū)動的新型控制方法,在四足機器人的控制領(lǐng)域開始嶄露頭角。在強化學(xué)習(xí)的框架下,機器人與環(huán)境之間不斷進行交互,根據(jù)用戶制定的高層獎勵,學(xué)習(xí)使獎勵最大化的動作,省去了對底層控制器進行大量調(diào)參的繁重工作。這種方法訓(xùn)練出的神經(jīng)網(wǎng)絡(luò)控制器,在每個控制周期內(nèi)對環(huán)境進行觀測,并根據(jù)觀測值決定運動軌跡,因此是一種閉環(huán)控制方法。而且,其訓(xùn)練出的端到端控制器也使得機器人可以充分發(fā)揮自己的運動潛力,完成更加靈活的運動。2018年,來自Google的T.Haarnoja和J.Tan首次嘗試使用深度強化學(xué)習(xí)進行四足機器人的運動控制[4],成功地使用端到端的方法,在機器人Minitaur上實現(xiàn)了walk、trot 和gallop步態(tài)。同在2018年,加州大學(xué)伯克利分校的X.B.Peng等利用對專家經(jīng)驗進行模仿的方法,在仿真中實現(xiàn)了對視頻中人類或動物靈巧運動的模擬[5]。通過構(gòu)建和視頻中生物類似的結(jié)構(gòu),仿真中的智能體可以完成和視頻中幾乎一模一樣的動作。進一步地,X.B.Peng等利用領(lǐng)域自適應(yīng)的方法,成功地將仿真中模仿狗運動的智能體遷移到了實物上[6],利用現(xiàn)實中的機器人完成了walk等步態(tài)。2019年,蘇黎世聯(lián)邦理工學(xué)院的M.Hutter團隊在機器人ANYmal上成功利用強化學(xué)習(xí)完成了多種步態(tài)[1]和崎嶇路面行走[7],并實現(xiàn)了機器人自動倒地爬起[8]。2020年,來自愛丁堡大學(xué)的李智彬團隊利用多網(wǎng)絡(luò)切換的方法,在絕影機器人上成功實現(xiàn)了機器人姿勢一摔倒后的恢復(fù)動作。通過檢測機器人摔倒后的姿態(tài),利用不同的網(wǎng)絡(luò)恢復(fù)不同的摔倒姿勢[9]。同在2020年,浙江大學(xué)的朱秋國團隊利用帶有預(yù)訓(xùn)練的強化學(xué)習(xí)方法在四足機器人絕影上實現(xiàn)了Bounding步態(tài)[10]。

盡管強化學(xué)習(xí)在四足機器人的目標動作訓(xùn)練方面已經(jīng)取得初步成效,但對于一些較為復(fù)雜的運動,由于其本身較難準確量化描述,直接設(shè)計符合目標的獎勵函數(shù)較為困難,甚至設(shè)計獎勵函數(shù)所花費的大量時間背離了深度強化學(xué)習(xí)方法節(jié)省人力的初衷。因此,在有目標運動的參考軌跡時,可以選擇采用模仿學(xué)習(xí)的思路,根據(jù)專家數(shù)據(jù)模仿專家的行為,從而極大減少設(shè)計獎勵函數(shù)和訓(xùn)練模型的時間,提高訓(xùn)練效率。

本文通過對位置控制下的絕影Lite機器人后空翻軌跡進行模仿,利用深度強化學(xué)習(xí)近端策略優(yōu)化(Proximal Policy Optimization, PPO)方法,在仿真環(huán)境Raisim中訓(xùn)練出可以使四足機器人進行后空翻的神經(jīng)網(wǎng)絡(luò)控制器。通過設(shè)計實驗,改變機器人模型本身和環(huán)境參數(shù),證明該神經(jīng)網(wǎng)絡(luò)控制器相比于位置控制器在一些方面具有適應(yīng)性更高的特點。

1 實驗平臺

1.1 絕影Lite機器人

絕影Lite是一款通用型智能四足機器人,共有12個關(guān)節(jié)自由度,每個關(guān)節(jié)由無刷電機驅(qū)動,如圖1所示。這款機器人仿生設(shè)計、身型小巧、動作靈敏、感知豐富,基于先進的控制算法,具有行走和跳躍等多種運動模態(tài)。

絕影Lite四肢強度大,關(guān)節(jié)扭矩大,質(zhì)量較小,能完成后空翻等高難度運動,部分參數(shù)如表1所示。

1.2 機器人模型

絕影Lite機器人為全肘式(all-elbow)構(gòu)型。簡化后的關(guān)節(jié)-連桿模型如圖2所示,所有關(guān)節(jié)坐標系均保持一致。腿部關(guān)節(jié)包括髖側(cè)擺關(guān)節(jié)(HipX)、髖俯仰關(guān)節(jié)(HipY)和膝關(guān)節(jié)(Knee)。四腿分別表示為FL(左前腿)、FR(右前腿)、HL(左后腿)和HR(右后腿)。機器人軀干質(zhì)量5.64kg,大腿質(zhì)量0.55kg,小腿質(zhì)量0.08kg。左右髖間距11cm,前后髖間距25.6cm,大腿和小腿長度均為18cm。因深度強化學(xué)習(xí)中無需對機器人進行動力學(xué)建模,因此不再詳述該機器人的建模。

圖2 機器人模型Fig.2 Robot model

2 算法介紹

2.1 深度強化學(xué)習(xí)算法

本文將對機器人的控制過程視為馬爾可夫過程。在每一個時間步Δt中,機器人獲得觀測值ot∈O,執(zhí)行動作at∈A,并獲得一個標量獎勵rt∈R。對于一段時間為Δh個步長的運動,用Ot=表示這段時間內(nèi)觀測值的集合。在基于策略的強化學(xué)習(xí)算法中,智能體執(zhí)行的動作at來源于策略π(at|Ot),該策略為在觀測值集合Ot下的概率分布。優(yōu)化的目標為選取到一個策略π*使得在這個運動過程中的機器人獲得的累積獎勵值最大,即

(1)

其中,γ∈(0,1)為折扣系數(shù);τ(π)表示機器人的運動軌跡,受機器人的策略π和環(huán)境的共同影響。在基于策略的強化學(xué)習(xí)算法中,策略π一般用神經(jīng)網(wǎng)絡(luò)來實現(xiàn)。這種使用神經(jīng)網(wǎng)絡(luò)作為策略的強化學(xué)習(xí)算法被稱為深度強化學(xué)習(xí)。

為了獲得目標策略,本實驗采用的深度強化學(xué)習(xí)算法為PPO算法以優(yōu)化此策略。該算法為基于策略的深度強化學(xué)習(xí)算法,與Policy-Gradient算法相比,減少了優(yōu)化步長的選擇對于優(yōu)化過程的影響;相比于信任域策略優(yōu)化(Trust Region Policy Optimization,TRPO)算法,增強了對整體策略空間的搜索能力。另外,該算法采用了 Actor-Critic框架,優(yōu)化過程同時優(yōu)化Actor和Critic這2個網(wǎng)絡(luò),保證了對于狀態(tài)的價值估計和策略的優(yōu)化同時進行[11-13]。

2.2 軌跡模仿框架

DeepMimic是一種基于模仿學(xué)習(xí)思想構(gòu)造的深度強化學(xué)習(xí)框架[14],其使用的優(yōu)化算法仍然是PPO算法。DeepMimic框架主要由PPO算法和精巧設(shè)計的獎勵函數(shù)構(gòu)成。它的主要作用是通過設(shè)計獎勵函數(shù)來實現(xiàn)多關(guān)節(jié)智能體對已知動作的模仿。在DeepMimic框架中,根據(jù)設(shè)置的獎勵函數(shù),神經(jīng)網(wǎng)絡(luò)的目標是縮小智能體的當前運動軌跡和目標運動軌跡的差值。如圖3所示,在每一步動作之后,參考軌跡和當前狀態(tài)的差值被輸入到優(yōu)化器中,優(yōu)化器對控制器的優(yōu)化目標為使智能體每一次完成動作后都與參考軌跡非常接近。

圖3 DeepMimic流程圖Fig.3 Workflow of DeepMimic

2.3 參考軌跡選擇

在DeepMimic算法中,若想讓神經(jīng)網(wǎng)絡(luò)對目標動作有良好的模仿效果,選擇合適的參考軌跡至關(guān)重要。本文選擇的參考軌跡包括以下幾類(采樣參考軌跡的頻率與控制器的頻率保持一致,均為1ms):

1)機器人軀干質(zhì)心在世界坐標系下的位置(3維);

2)機器人軀干在世界坐標系下的姿態(tài)(4維,采用四元數(shù)表示,因為身體在旋轉(zhuǎn)過程中由程序解算出的歐拉角可能會發(fā)生突變,導(dǎo)致智能體在學(xué)習(xí)過程中產(chǎn)生和參考軌跡相似的角度,但由于解算問題會出現(xiàn)2個數(shù)值差距巨大的歐拉角表示,因此采用四元數(shù)更加方便、快捷);

3)機器人各關(guān)節(jié)位置(12維);

4)機器人各關(guān)節(jié)速度(12維);

5)機器人各關(guān)節(jié)力矩(12維);

6)機器人足部距離身體質(zhì)心的距離(4維,四足機器人的4條腿相當于連接在浮動基上的4個機械臂,末端位置相當于對機械臂末端位置的限制,在關(guān)于機械臂的強化學(xué)習(xí)中經(jīng)常用到,在腿足系統(tǒng)中也被證明是有效的[9])。

2.4 獎勵函數(shù)選擇

參考DeepMimic算法中對于參考軌跡的模仿,本文使用如下4個獎勵函數(shù)進行模型的訓(xùn)練。

(2)

(3)

(4)

(5)

采用指數(shù)函數(shù)的目的是使智能體動作和參考軌跡動作越接近時,該獎勵的增益越小,這樣可以防止機器人完全刻板地模仿參考軌跡,達到機器人在大體模仿參考軌跡的同時平衡各項獎勵收益的目的。上述獎勵函數(shù)中帶有^值均代表期望值。

2.5 神經(jīng)網(wǎng)絡(luò)輸入輸出選擇

在基于神經(jīng)網(wǎng)絡(luò)的深度強化學(xué)習(xí)下,選擇合適的輸入輸出對于模型表現(xiàn)效果至關(guān)重要。另外,深度強化學(xué)習(xí)選擇的觀測量要與選擇的獎勵函數(shù)具有一定的相關(guān)性,這樣對神經(jīng)網(wǎng)絡(luò)優(yōu)化更有利。神經(jīng)網(wǎng)絡(luò)在優(yōu)化時的指標是當前狀態(tài)的獎勵,如果獎勵和神經(jīng)網(wǎng)絡(luò)的輸入(即觀測量)關(guān)系較小,實際上是增加了神經(jīng)網(wǎng)絡(luò)尋找最優(yōu)解的壓力。最終選擇的網(wǎng)絡(luò)輸入如下所示:

1)機器人軀干質(zhì)心在世界坐標系下的高度(1維);

2)機器人軀干在世界坐標系下的姿態(tài)(4維,理由同選擇參考軌跡時的理由);

3)機器人各關(guān)節(jié)位置(12維);

4)機器人各關(guān)節(jié)速度(12維);

5)機器人一組起跳腿和一組非起跳腿的髖俯仰關(guān)節(jié)和膝關(guān)節(jié)的差值(8維,對于后空翻來講,即前2條腿的髖俯仰關(guān)節(jié)和膝關(guān)節(jié)的差值、后2條腿的髖俯仰關(guān)節(jié)和膝關(guān)節(jié)的差值,這種方法類似于在大數(shù)據(jù)處理中的特征工程,目標在于根據(jù)先驗知識預(yù)先提取出部分特征,達到減輕網(wǎng)絡(luò)擬合壓力的效果,加快訓(xùn)練速度[19],另外為了使三種翻滾運動的輸入統(tǒng)一,選擇對每相臨的2條腿都做這一處理);

6)機器人大腿和足部距離身體質(zhì)心的距離(24維,理由同選擇參考軌跡時的理由);

7)時間標簽(1維,在翻滾動作下,會出現(xiàn)一些與機器人狀態(tài)量類似的情況,例如初始狀態(tài)和最終結(jié)束狀態(tài),這時神經(jīng)網(wǎng)絡(luò)控制器需要一個時間標簽來判別這兩種不同的情況);

神經(jīng)網(wǎng)絡(luò)的輸出選擇為12維目標位置和12維目標速度信息,底層關(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)到達的位置和速度。

2.6 深度強化學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)

在Actor-Critic框架下,Actor和Critic各需要一個神經(jīng)網(wǎng)絡(luò)來實現(xiàn)。本文實驗中的2個神經(jīng)網(wǎng)絡(luò)控制器均由具有2個全連接隱藏層的神經(jīng)網(wǎng)絡(luò)來實現(xiàn),第一個隱藏層為1024個神經(jīng)元,第二個隱藏層為512個神經(jīng)元,對每一個神經(jīng)元選擇的激活函數(shù)為LeakyRelu[15],該激活函數(shù)有效解決了常用的激活函數(shù)Relu中的神經(jīng)元死亡問題。

在訓(xùn)練過程中,本文神經(jīng)網(wǎng)絡(luò)輸出的24維關(guān)節(jié)位置和關(guān)節(jié)速度實際上是24個高斯分布,即輸出為24個均值和24個方差,經(jīng)過采樣后得到24個數(shù)值。在訓(xùn)練結(jié)束后的測試模式下,控制器直接將24個均值作為目標量輸送到關(guān)節(jié)。以下為簡化表達,神經(jīng)網(wǎng)絡(luò)的輸出均表示為一個24維的向量。

3 實驗結(jié)果

3.1 仿真環(huán)境

本實驗使用Raisim仿真軟件進行仿真。其對于接觸力的解算采用了鉸接體算法(Articulated Body Algorithm,ABA)[16],大大增加了對于鉸接系統(tǒng)的接觸力求解速度,相對于機器人關(guān)節(jié)數(shù)目的計算時間復(fù)雜度為O(n)。

3.2 模型訓(xùn)練結(jié)果

深度強化學(xué)習(xí)訓(xùn)練所用計算機中央處理器(Central Processing Unit, CPU)為Intel 9900K,圖形處理器(Graphics Processing Unit, GPU)為RTX2080Ti。當訓(xùn)練次數(shù)為8100次左右時,四足機器人第一次可以完成較為完整的后空翻運動,如圖6所示。訓(xùn)練過程中的獎勵變化曲線如圖4所示。

(a)關(guān)節(jié)位置模仿獎勵

(b)身體姿態(tài)模仿獎勵

(c)身體位置模仿獎勵

(d)末端位置模仿獎勵圖4 訓(xùn)練過程中獎勵變化曲線Fig.4 Four kinds of reward verse time in training

每個訓(xùn)練回合(epoch)設(shè)置為1.4s,在運動時間達到0.7s時,恢復(fù)機器人為初始狀態(tài),即在一個訓(xùn)練回合中,機器人可以獲得2次翻滾運動的模仿結(jié)果數(shù)據(jù),目的為在保證每個訓(xùn)練回合訓(xùn)練時間不過長的同時增強神經(jīng)網(wǎng)絡(luò)的收斂效果。

因為在后空翻中主要產(chǎn)生俯仰角(pitch)的變化,因此通過對比兩種控制器下后空翻的俯仰角軌跡,可以清晰地觀察到學(xué)習(xí)效果,如圖5所示。俯仰角的最大差值為0.58,平均差值為0.11,即神經(jīng)網(wǎng)絡(luò)控制器在模仿位置控制器的后空翻時,平均誤差在6°左右。結(jié)合圖6可以看出,神經(jīng)網(wǎng)絡(luò)控制器在模仿位置控制器的基礎(chǔ)上完成了后空翻運動。另外,由圖7可以看出,各關(guān)節(jié)輸出的關(guān)節(jié)力矩均未超出設(shè)定的物理限制。綜上所述,利用深度強化學(xué)習(xí)成功實現(xiàn)了使用神經(jīng)網(wǎng)絡(luò)控制器對位置控制器下后空翻運動的模仿。

圖5 神經(jīng)網(wǎng)絡(luò)控制器(紅)和位置控制器(藍)下 后空翻俯仰角軌跡對比Fig.5 Comparison of the pitch angles under the neural network controller (red) and the position controller (blue)

3.3 兩種控制器下適應(yīng)性對比

為進一步證明帶有實時狀態(tài)反饋的神經(jīng)網(wǎng)絡(luò)控制器具有比開環(huán)位置控制器適應(yīng)性更高的特點,分別通過改變軀干質(zhì)量和地面摩擦系數(shù)來觀察2個控制器的表現(xiàn),這2個變化分別對應(yīng)機器人本身的性質(zhì)和外部環(huán)境性質(zhì)。在該對比實驗中,選擇關(guān)節(jié)的底層控制器均為Raisim仿真環(huán)境中帶有前饋重力補償?shù)腜D控制器。

3.3.1 改變軀干質(zhì)量

機器人原軀干質(zhì)量為5.64kg,改變機器人質(zhì)量為15.64kg后,原位置控制因無法支撐身體達到后空翻所要求的高度而無法完成整個動作,而神經(jīng)網(wǎng)絡(luò)控制器仍可以完成運動,如圖9所示。

圖6 后空翻運動的訓(xùn)練結(jié)果(右側(cè)機器人在位置控制下進行后空翻運動,左側(cè)機器人通過訓(xùn)練模仿右側(cè)機器人在 神經(jīng)網(wǎng)絡(luò)控制器下進行后空翻運動。圖片時間間隔為0.05s,總時長為后空翻0.7s加關(guān)節(jié)恢復(fù)初始位置0.1s)Fig.6 Result of backflip training

圖7 右前腿和右后腿各關(guān)節(jié)輸出力矩變化(由于腿的對稱性,只繪制了右側(cè)雙腿的關(guān)節(jié)力矩曲線)Fig.7 Output torque in each joint of the right front leg and right hind leg

改變軀干質(zhì)量前后的俯仰角軌跡對比如圖8中同顏色虛線和實線所示,兩種控制器下的俯仰角軌跡對比為圖中紅線和藍線所示。

3.3.2 改變環(huán)境摩擦系數(shù)

仿真環(huán)境中機器人與環(huán)境的摩擦系數(shù)設(shè)置為0.7,在降低該摩擦系數(shù)為0.15后,位置控制器出現(xiàn)了明顯的打滑現(xiàn)象,從而無法完成完整的后空翻運動,但是訓(xùn)練8000次后的部分神經(jīng)網(wǎng)絡(luò)控制器仍然可以使機器人完成完整的后空翻運動,分別如圖10和圖11所示。

圖8 改變軀干質(zhì)量前后的俯仰角軌跡對比和 兩種控制器下俯仰角軌跡對比Fig.8 The pitch angle trajectories under the two controllers before and after changing the torso mass

圖9 改變軀干質(zhì)量的訓(xùn)練結(jié)果(右側(cè)機器人在位置控制下進行后空翻運動,左側(cè)機器人通過訓(xùn)練模仿右側(cè)機器人在 神經(jīng)網(wǎng)絡(luò)控制器下進行后空翻運動。圖片時間間隔為0.05s,總時長為后空翻0.7s加關(guān)節(jié)恢復(fù)初始位置0.1s)Fig.9 Traing result after changing robot base mass

圖10 改變摩擦系數(shù),位置控制器出現(xiàn)打滑現(xiàn)象 (圖片時間間隔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ò)控制器下的后空翻 (圖片時間間隔0.1s)Fig.11 Backflip under neural network controller after changing friction coefficient

從實驗結(jié)果可以看出,神經(jīng)網(wǎng)絡(luò)控制器在工程應(yīng)用中的一個優(yōu)點,即可以在訓(xùn)練產(chǎn)生的上百個模型中挑選合適的模型。雖然部分模型對環(huán)境的適應(yīng)能力較差,但由于學(xué)習(xí)過程具有一定的隨機性,仍可以找到部分符合條件的模型。

4 總結(jié)與展望

本文利用基于模仿專家經(jīng)驗的深度強化學(xué)習(xí)方法實現(xiàn)了可以控制四足機器人進行后空翻運動的神經(jīng)網(wǎng)絡(luò)控制器,并通過改變機器人的軀干質(zhì)量和機器人與環(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)性,也具有很強的泛化能力。在通過模仿學(xué)習(xí)獲得了能進行參考運動的神經(jīng)網(wǎng)絡(luò)控制器后,可以將該控制器作為預(yù)訓(xùn)練模型,根據(jù)需求加入新的獎勵函數(shù),從而使機器人具備原控制器所不具備的能力。這種預(yù)訓(xùn)練可以大大節(jié)省人力物力,值得進一步探索。

猜你喜歡
軌跡控制器神經(jīng)網(wǎng)絡(luò)
基于神經(jīng)網(wǎng)絡(luò)的船舶電力系統(tǒng)故障診斷方法
三轉(zhuǎn)子式比例控制器設(shè)計與內(nèi)泄漏分析
南京溧水電子3款控制器產(chǎn)品
解析幾何中的軌跡方程的常用求法
MIV-PSO-BP神經(jīng)網(wǎng)絡(luò)用戶熱負荷預(yù)測
基于改進Hopfield神經(jīng)網(wǎng)絡(luò)的對地攻擊型無人機自主能力評價
軌跡
軌跡
基于NFV的分布式SDN控制器節(jié)能機制
三次樣條和二次刪除相輔助的WASD神經(jīng)網(wǎng)絡(luò)與日本人口預(yù)測