本發(fā)明屬于機(jī)器人智能控制領(lǐng)域,具體涉及一種基于姿態(tài)合成控制網(wǎng)絡(luò)的雙足機(jī)器人智能控制方法。
背景技術(shù):
1、復(fù)雜環(huán)境下的雙足人形機(jī)器人是機(jī)器人市場(chǎng)的重要組成部分。雙足人形機(jī)器人是一種仿生類型的機(jī)器人,在酒店、運(yùn)輸、養(yǎng)老等多個(gè)不同服務(wù)領(lǐng)域都有極強(qiáng)的作業(yè)能力。然而當(dāng)前人形雙足機(jī)器人主要服務(wù)范圍僅僅能夠部署于簡(jiǎn)單環(huán)境,面對(duì)地震災(zāi)區(qū)、火災(zāi)區(qū),甚至是沙地環(huán)境,雙足機(jī)器人的步態(tài)控制效果將會(huì)大打折扣甚至無法正常工作。因此,針對(duì)復(fù)雜環(huán)境下的雙足機(jī)器人應(yīng)用研究是當(dāng)前市場(chǎng)亟需的研究方向。
2、當(dāng)前,模仿學(xué)習(xí)是解決這一難題的主流方法之一,然而模仿學(xué)習(xí)存在極大局限性,嚴(yán)重依賴于演示的質(zhì)量,同時(shí)必須考慮雙足機(jī)器人與人類之間的關(guān)節(jié)、體型等差異。目前基于模仿人類真實(shí)運(yùn)動(dòng)的控制方法中減少了控制器設(shè)計(jì)中對(duì)人工的依賴,但需要完整的運(yùn)動(dòng)數(shù)據(jù)工程。此外,在數(shù)據(jù)受限的運(yùn)動(dòng)控制任務(wù)中,目前基于數(shù)據(jù)的控制方法過度依賴手工標(biāo)注的數(shù)據(jù),產(chǎn)生的姿態(tài)不自然并且數(shù)據(jù)利用率低。cn113467235b公開了一種雙足機(jī)器人步態(tài)控制方法、控制裝置,其結(jié)合了模仿學(xué)習(xí)和強(qiáng)化學(xué)習(xí),但需要大量的完整模型運(yùn)動(dòng)數(shù)據(jù),訓(xùn)練過程也較為復(fù)雜。cn116400717a公開了一種基于模仿學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的雙足機(jī)器人運(yùn)動(dòng)控制方法,其預(yù)先規(guī)劃多條參考軌跡,并利用啟發(fā)式方法生成探索性軌跡,訓(xùn)練神經(jīng)網(wǎng)絡(luò)以輸出合適的動(dòng)作指令,然而對(duì)未見過的運(yùn)動(dòng)任務(wù)泛化能力有限。cn117213475a公開一種用于雙足機(jī)器人的數(shù)據(jù)處理方法、裝置及存儲(chǔ)介質(zhì),其側(cè)重于利用多傳感器數(shù)據(jù)融合進(jìn)行相機(jī)位姿估計(jì),劣勢(shì)在于對(duì)傳感器精度要求高且計(jì)算量大。cn117215204b公開了一種基于強(qiáng)化學(xué)習(xí)的機(jī)器人步態(tài)訓(xùn)練方法及系統(tǒng),其設(shè)計(jì)線性步態(tài)觀測(cè)獎(jiǎng)勵(lì)函數(shù)以訓(xùn)練神經(jīng)網(wǎng)絡(luò),然而獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)也極具挑戰(zhàn)性,需要深入分析步態(tài)特征才能定義合理的獎(jiǎng)勵(lì)目標(biāo)。
3、在注意力機(jī)制、變分自編碼器、強(qiáng)化學(xué)習(xí)學(xué)科的研究中,出現(xiàn)自注意力機(jī)制、近端策略優(yōu)化等先進(jìn)技術(shù),并用于模仿學(xué)習(xí)的改進(jìn),為打破模仿學(xué)習(xí)瓶頸提供了新的思路。利用人體姿態(tài)估計(jì)、智能體姿態(tài)生成方法,打通雙足機(jī)器人模仿學(xué)習(xí)瓶頸,精準(zhǔn)對(duì)接雙足機(jī)器人步態(tài)控制,具有良好的研究可行性、研究前景和應(yīng)用價(jià)值。
技術(shù)實(shí)現(xiàn)思路
1、為了克服以上技術(shù)問題,本發(fā)明的目的在于提供一種基于姿態(tài)合成控制網(wǎng)絡(luò)的雙足機(jī)器人智能控制方法,該方法能夠使雙足機(jī)器人在復(fù)雜環(huán)境中自主規(guī)劃運(yùn)動(dòng)姿態(tài)以完成目標(biāo)任務(wù)。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明采用了如下技術(shù)方案:
3、一種基于姿態(tài)合成控制網(wǎng)絡(luò)的雙足機(jī)器人智能控制方法,包括以下步驟:
4、步驟s1:采集走路、跳躍和轉(zhuǎn)彎三種3d人體姿態(tài)數(shù)據(jù),標(biāo)注數(shù)據(jù)并生成數(shù)據(jù)集;
5、步驟s2:設(shè)置姿態(tài)約束獎(jiǎng)勵(lì)函數(shù)和任務(wù)獎(jiǎng)勵(lì)函數(shù);
6、步驟s3:構(gòu)建狀態(tài)變分自編碼器,包括編碼器、狀態(tài)網(wǎng)絡(luò)和解碼器,設(shè)置狀態(tài)變分自編碼器的損失函數(shù)并訓(xùn)練狀態(tài)變分自編碼器,得到預(yù)訓(xùn)練模型;
7、步驟s4:構(gòu)建并訓(xùn)練姿態(tài)合成控制架構(gòu),通過姿態(tài)合成控制架構(gòu)合成姿態(tài)序列,將姿態(tài)進(jìn)行雙足機(jī)器人關(guān)節(jié)適配后部署到雙足機(jī)器人中,實(shí)現(xiàn)雙足機(jī)器人智能控制。
8、優(yōu)選地,步驟s1采集走路、跳躍和轉(zhuǎn)彎三種3d人體姿態(tài)數(shù)據(jù),標(biāo)注數(shù)據(jù)并生成數(shù)據(jù)集,具體為:
9、步驟s1.1:人體通過穿戴動(dòng)作捕捉設(shè)備,采集兩小時(shí)姿態(tài)序列數(shù)據(jù),姿態(tài)形式包括走路、跳躍和轉(zhuǎn)彎,同時(shí)保證每種類型的姿態(tài)序列數(shù)據(jù)的時(shí)長(zhǎng)相同;
10、步驟s1.2:通過人工標(biāo)注針對(duì)不同的姿態(tài)生成對(duì)應(yīng)人體姿態(tài)序列捕捉文件,創(chuàng)建人體姿態(tài)序列捕捉數(shù)據(jù)集。
11、優(yōu)選地,步驟s2設(shè)置姿態(tài)約束獎(jiǎng)勵(lì)函數(shù)和任務(wù)獎(jiǎng)勵(lì)函數(shù),具體為:
12、步驟s2.1:設(shè)置行走與轉(zhuǎn)彎姿態(tài)合成時(shí)的獎(jiǎng)勵(lì)函數(shù)表示如下:
13、
14、其中,代表右腳踝關(guān)節(jié)在z軸方向的距離的平方,代表左腳踝關(guān)節(jié)在z軸方向的距離的平方,α代表懲罰系數(shù);
15、步驟s2.2:設(shè)置行走與跳躍姿態(tài)合成時(shí)的獎(jiǎng)勵(lì)函數(shù)表示如下:
16、
17、其中,t代表當(dāng)前的運(yùn)動(dòng)階段,(0,0,0)代表行走,(1,0,0)代表行走到跳躍準(zhǔn)備,(1,1,0)代表跳躍上升,(1,1,1)代表跳躍下降,代表右腳踝關(guān)節(jié)在z軸方向的距離的平方,代表左腳踝關(guān)節(jié)在z軸方向的距離的平方,代表臀部關(guān)節(jié)在y軸方向的距離的平方,β1和β2代表懲罰系數(shù);
18、步驟s2.3:設(shè)置到達(dá)目標(biāo)任務(wù)獎(jiǎng)勵(lì)函數(shù)rtask,任務(wù)成功為1,任務(wù)失敗為0。
19、優(yōu)選地,步驟s3構(gòu)建狀態(tài)變分自編碼器,包括編碼器、狀態(tài)網(wǎng)絡(luò)和解碼器,設(shè)置狀態(tài)變分自編碼器的損失函數(shù)并訓(xùn)練狀態(tài)變分自編碼器,得到預(yù)訓(xùn)練模型,具體為:
20、步驟s3.1:構(gòu)建由三層全連接層組成的編碼器fenc,其中,每層全連接層后都接一個(gè)線性整流單元激活函數(shù);
21、步驟s3.2:將t時(shí)刻和t+1時(shí)刻的姿態(tài)數(shù)據(jù)pt和pt+1輸入至編碼器;
22、編碼器最后一層全連接層的輸出會(huì)分別送入兩個(gè)獨(dú)立的全連接層,輸出潛在向量的均值μt和方差σt;
23、使用重參數(shù)化技巧對(duì)均值μt和方差σt進(jìn)行采樣生成潛在向量zt,表示如下:
24、zt=μt+σt*∈t
25、其中,∈t代表隨機(jī)噪聲;
26、步驟s3.3:構(gòu)建由三層全連接層組成的狀態(tài)網(wǎng)絡(luò)fs,每層全連接層后都接一個(gè)線性整流單元激活函數(shù);
27、fs的后面接一個(gè)輸出層和一個(gè)歸一化指數(shù)激活函數(shù);
28、步驟s3.4:將t時(shí)刻的姿態(tài)數(shù)據(jù)pt和潛在向量z相結(jié)合放至狀態(tài)網(wǎng)絡(luò),生成狀態(tài)向量s=[s1,...,sn];
29、步驟s3.5:構(gòu)建n個(gè)由三層前饋神經(jīng)網(wǎng)絡(luò)組成的解碼器fdec,其中,每個(gè)線形層后都接一個(gè)線性整流單元激活函數(shù);
30、步驟s3.6:通過遍歷i=(1,...,n)的方式,將第i個(gè)編碼器的所有全連接層的權(quán)重wi與si進(jìn)行矩陣點(diǎn)乘運(yùn)算以進(jìn)行加權(quán)操作;
31、將所有加權(quán)后的編碼器權(quán)重進(jìn)行矩陣加法運(yùn)算得到混合編碼器網(wǎng)絡(luò)的權(quán)重wmix,計(jì)算方式如下:
32、wmix=w1⊙s1+...+wn⊙sn
33、通過遍歷i=(1,...,n)的方式,將第i個(gè)編碼器的所有全連接層的偏置bi與si進(jìn)行矩陣點(diǎn)乘運(yùn)算以進(jìn)行加權(quán)操作;
34、將所有加權(quán)后的編碼器偏置進(jìn)行矩陣加法運(yùn)算得到混合編碼器網(wǎng)絡(luò)的偏置bmix,計(jì)算方式如下:
35、bmix=b1⊙s1+...+bn⊙sn
36、步驟s3.7:將t時(shí)刻的姿態(tài)數(shù)據(jù)pt和潛在向量z相結(jié)合輸送至混合編碼器,生成t+1時(shí)刻的預(yù)測(cè)姿態(tài)數(shù)據(jù)
37、步驟s3.8:通過自回歸的方式,將代替pt+1作為后面訓(xùn)練迭代過程中的輸入;
38、步驟s3.9:設(shè)置狀態(tài)變分自編碼器fsvae的損失函數(shù)lsvae,損失函數(shù)包括三個(gè)部分,分別是重構(gòu)損失、kl散度和姿態(tài)相似性懲罰,lsvae的計(jì)算方法如下:
39、
40、其中,fmse(·)代表均方誤差函數(shù),dkl(·)代表kl散度函數(shù),n(·,·)代表分布,η代表控制懲罰強(qiáng)度的超參數(shù),m代表歷史姿態(tài)的個(gè)數(shù),ωi代表每個(gè)姿態(tài)在姿態(tài)相似性度量中的權(quán)重,sci代表預(yù)測(cè)的姿態(tài)與歷史中第i個(gè)姿態(tài)的相似性得分;
41、步驟s3.10:對(duì)于每一類姿態(tài),均訓(xùn)練一個(gè)單獨(dú)的fsvae,從而得到跑步、跳躍和轉(zhuǎn)彎共三個(gè)模型。
42、優(yōu)選地,步驟s4構(gòu)建并訓(xùn)練姿態(tài)合成控制架構(gòu),通過姿態(tài)合成控制架構(gòu)合成姿態(tài)序列,將姿態(tài)進(jìn)行雙足機(jī)器人關(guān)節(jié)適配后部署到雙足機(jī)器人中,實(shí)現(xiàn)雙足機(jī)器人智能控制,具體為:
43、步驟s4.1:建立姿態(tài)合成控制的馬爾科夫決策過程并表示為元組,其中,代表狀態(tài)空間,代表動(dòng)作空間,代表狀態(tài)轉(zhuǎn)移概率函數(shù),代表獎(jiǎng)勵(lì)函數(shù),γ代表折扣因子,動(dòng)作空間由n個(gè)解碼器中的潛在采樣和姿態(tài)的混合比率{z,ω}構(gòu)成;
44、給定當(dāng)前姿勢(shì)pt∈s和動(dòng)作at的下一個(gè)姿勢(shì)pt+1∈s的概率密度用p表示,其中動(dòng)作表示為:
45、
46、步驟s4.2:根據(jù)策略網(wǎng)絡(luò)采樣at,分別經(jīng)過相應(yīng)的中的混合解碼器,得到姿態(tài)
47、姿態(tài)與混合比率分別相乘后求和得到最終的合成姿態(tài)表示為:
48、
49、步驟s4.3:設(shè)置強(qiáng)化學(xué)習(xí)方法近端策略優(yōu)化2(ppo2)的優(yōu)勢(shì)函數(shù)at:
50、at=δt+(γλ)δt+1+(γλ)2δt+2+...+(γλ)t-t+1δt-1
51、其中,λ代表時(shí)序差分誤差控制參數(shù),δt代表在時(shí)間步t的時(shí)序差分誤差,δt的計(jì)算公式為:
52、δt=rt+γvφ(st+1)-vφ(st)
53、步驟s4.4:設(shè)置強(qiáng)化學(xué)習(xí)方法ppo2的策略網(wǎng)絡(luò)損失函數(shù)lπ(θ),計(jì)算方式如下:
54、
55、其中,θ代表策略網(wǎng)絡(luò)當(dāng)前的參數(shù),θk代表策略網(wǎng)絡(luò)在k時(shí)刻之前的參數(shù),πθ(a|s)代表當(dāng)前策略,代表在狀態(tài)s下采取動(dòng)作a的優(yōu)勢(shì)函數(shù)值,∈代表新策略與舊策略之間差異程度的超參數(shù),clip(x,a,b)代表將x的值限制在[a,b]范圍內(nèi),如果x小于a則返回a,如果x大于b則返回b,否則返回x;
56、步驟s4.5:設(shè)置強(qiáng)化學(xué)習(xí)方法ppo2的價(jià)值網(wǎng)絡(luò)損失函數(shù)φk+1,表示如下:
57、
58、其中,dk代表一個(gè)包含多條軌跡的集合,|dk|代表dk中軌跡的數(shù)量,t代表每條軌跡的長(zhǎng)度,vφ(st)代表價(jià)值網(wǎng)絡(luò)預(yù)測(cè)的狀態(tài)st的價(jià)值,代表在時(shí)間步t的累計(jì)獎(jiǎng)勵(lì);
59、步驟s4.6:訓(xùn)練姿態(tài)合成控制架構(gòu)fsmc,輸出機(jī)器人姿態(tài)序列,將姿態(tài)關(guān)節(jié)點(diǎn)適配于雙足機(jī)器人關(guān)節(jié)點(diǎn),實(shí)現(xiàn)雙足機(jī)器人的智能控制。
60、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
61、(1)本發(fā)明通過狀態(tài)變分自編碼器將當(dāng)前姿態(tài)和下一個(gè)姿態(tài)之間的動(dòng)力學(xué)轉(zhuǎn)換壓縮到一個(gè)潛在空間,能夠生成多樣化和高質(zhì)量的姿態(tài)。同時(shí),通過姿態(tài)合成控制架構(gòu)同時(shí)訓(xùn)練多個(gè)解碼器來實(shí)現(xiàn)分段運(yùn)動(dòng)的無縫拼接和不同來源的姿態(tài)合成,從而提升生成效率、增強(qiáng)控制效果。
62、(2)本發(fā)明增強(qiáng)了雙足機(jī)器人的模仿學(xué)習(xí)能力,提高了運(yùn)動(dòng)數(shù)據(jù)的利用率,從而通過有限的分段運(yùn)動(dòng)和模仿學(xué)習(xí)智能控制雙足機(jī)器人完成復(fù)雜任務(wù)。