基于策略梯度學(xué)習(xí)法的模型參數(shù)修正方法及修正器
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及機(jī)器人行走控制技術(shù)領(lǐng)域,尤其是涉及基于策略梯度學(xué)習(xí)法的模型參數(shù)修正方法及修正器。
背景技術(shù)
[0002] 在機(jī)器人的行走問(wèn)題中,為了生成的穩(wěn)定步態(tài),目前的方案大多將機(jī)器人抽象為簡(jiǎn)單的物理模型,如線性倒立擺模型(LIPM)、桌子-小車模型等,利用模型簡(jiǎn)化機(jī)器人的運(yùn)動(dòng)方程,并進(jìn)行離線軌跡規(guī)劃,此類方法中如果模型的參數(shù)是固定的,則機(jī)器人的步態(tài)是無(wú)法修改的,因而對(duì)于未知的外界擾動(dòng)缺乏抑制能力。目前將學(xué)習(xí)方法應(yīng)用于機(jī)器人行走的方案中,大多都是選定影響步態(tài)的關(guān)鍵參數(shù),在高維度的搜索空間內(nèi)直接對(duì)關(guān)鍵參數(shù)進(jìn)行優(yōu)化學(xué)習(xí),并未將機(jī)器人進(jìn)行抽象建模,因而需要進(jìn)行大量的離線訓(xùn)練或進(jìn)行長(zhǎng)時(shí)間的在線學(xué)習(xí),尋找局部最優(yōu)解,以保證機(jī)器人行走的穩(wěn)定性,這些方法使得機(jī)器人的步態(tài)是可調(diào)整的,但不適合機(jī)器人在未知環(huán)境下的實(shí)時(shí)快速調(diào)節(jié)。
發(fā)明內(nèi)容
[0003] 本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供基于策略梯度學(xué)習(xí)法的模型參數(shù)修正方法及修正器,將學(xué)習(xí)的方法引入機(jī)器人倒立擺模型,設(shè)計(jì)了一種基于策略梯度學(xué)習(xí)法的模型參數(shù)修正器,間接優(yōu)化步態(tài)參數(shù),在修正器的作用下,策略方程收斂快速,機(jī)器人能在未知的擾動(dòng)下快速、實(shí)時(shí)地調(diào)節(jié)步態(tài)和身體姿態(tài),提高了行走的自適應(yīng)性和魯棒性。
[0004] 本發(fā)明的目的可以通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn):
[0005] 基于策略梯度學(xué)習(xí)法的模型參數(shù)修正方法包括以下步驟:
[0006] S1:選擇倒立擺輸入?yún)?shù)和機(jī)器人軀干姿態(tài)參數(shù)為修正量,建立修正量的模型參數(shù)修正方程,所述模型參數(shù)修正方程內(nèi)包含待優(yōu)化的增益系數(shù);
[0007] S2:選擇機(jī)器人質(zhì)心跟蹤的誤差以及機(jī)器人身體姿態(tài)相對(duì)于直立狀態(tài)的誤差作為機(jī)器人對(duì)當(dāng)前環(huán)境的適應(yīng)度指標(biāo),建立適應(yīng)度評(píng)價(jià)函數(shù);
[0008] S3:根據(jù)適應(yīng)度評(píng)價(jià)函數(shù),利用策略梯度學(xué)習(xí)法優(yōu)化模型參數(shù)修正方程中的增益系數(shù),將優(yōu)化后的增益參數(shù)代入模型參數(shù)修正方程得到下一個(gè)單腳支撐階段的修正量。
[0009] 步驟S1中,選擇為修正量的倒立擺輸入?yún)?shù)包括x軸向步伐大小和y軸向步伐大小,選擇為修正量的機(jī)器人軀干姿態(tài)參數(shù)包括x軸向軀干角和y軸向軀干角,所述模型參數(shù)修正方程具體為:
[0010]
[0011]
[0012]
[0013]
[0014] 其中,下標(biāo)x、y、z分別表示x、y、z軸向,s為步伐大小,Δs為步伐大小的修正量,θB為軀干角,ΔθB為軀干角的修正量,N為一個(gè)單腳支撐階段的插值的步數(shù),下標(biāo)i表示單腳支撐階段中第i個(gè)步數(shù),xf為卡爾曼濾波后質(zhì)心的估計(jì)值,xe為質(zhì)心的理想值, 為軀干直立時(shí)的傾斜角,pRHip和pLHip分別為機(jī)器人右腿和左腿髖關(guān)節(jié)的位移,pHead和pSuppFoot分別為機(jī)器人頭部關(guān)節(jié)和支撐腳的位移,K1,...,K6為增益參數(shù)。
[0015] 所述適應(yīng)度評(píng)價(jià)函數(shù)F(K)具體為:
[0016]
[0017]
[0018]
[0019]
[0020]
[0021] 其中,K={K1,...,K6}表示增益參數(shù)集,αx、αy、βx和βy為權(quán)重因子,且滿足αx+αy=1,βx+βy=1,適應(yīng)度評(píng)價(jià)函數(shù)的值越小,表示機(jī)器人在增益參數(shù)集下的適應(yīng)度越高。
[0022] 所述策略梯度學(xué)習(xí)法的具體步驟為:
[0023] 301:在第k次迭代中,對(duì)于上一次迭代獲得的增益參數(shù)集Kk-1,計(jì)算F(K)在Kk-1內(nèi)每個(gè)參數(shù)值處的偏導(dǎo),并在Kk-1附近隨機(jī)生成n個(gè)策略,得到的策略集用mKk-1(m=1,...,n)表示,策略的個(gè)數(shù)n與搜索空間成正比,策略集的生成公式如下:
[0024] mKk-1=Kk-1+mρ
[0025] 其中,mρ(m=1,...,n)表示擾動(dòng)集合,擾動(dòng)集合中每個(gè)擾動(dòng)ρm在集合{-em,0,+em}中隨機(jī)選取,em表示對(duì)應(yīng)ρm的擾動(dòng)增益參量;
[0026] 302:根據(jù)擾動(dòng)ρm的-em,0,+em取值情況將mKk-1對(duì)應(yīng)分成三組: G0和 將k-1
mK 代入適應(yīng)度評(píng)價(jià)函數(shù),得到每個(gè)分組對(duì)應(yīng)的平均值: 和
[0027] 303:計(jì)算近似的梯度值 若 且 否則
[0028] 304:對(duì) 進(jìn)行正交化處理,乘一個(gè)固定的步長(zhǎng)因子η得到梯度值 從策
略集Kk-1減去梯度值 得到本次迭代的策略集Kk,并利用Kk進(jìn)行下一次的迭代;
[0029] 305:當(dāng)?shù)螖?shù)達(dá)到預(yù)設(shè)值Niter時(shí),迭代結(jié)束。
[0030] 一種基于上述模型參數(shù)修正方法的模型參數(shù)修正器,該模型參數(shù)修正器輸出為步伐大小的修正量Δs和軀干角的修正量ΔθB,模型參數(shù)修正器的輸出傳遞給倒立擺模型和機(jī)器人模型進(jìn)行補(bǔ)償,滿足以下公式:
[0031]
[0032] θB,i=θB,i-1-ΔθB
[0033] 其中,為下一個(gè)單腳支撐階段步伐大小,每一個(gè)單腳支撐階段只補(bǔ)償一次;而θB,i為單腳支撐階段第i幀的軀干角,每一個(gè)單腳支撐階段補(bǔ)償N次。