基于延遲反饋的雙足機器人行走非單周期步態(tài)控制方法
【專利說明】基于延遲反饋的雙足機器人行走非單周期步態(tài)控制方法
[0001] 專利領(lǐng)域
[0002] 本發(fā)明屬于機器人行走控制領(lǐng)域,具體涉及一種基于延遲反饋的雙足機器人行走 非單周期步態(tài)控制方法。
【背景技術(shù)】
[0003] 極限環(huán)行走是雙足機器人行走模式中的重要一類,在能量效率、速度等方面具有 優(yōu)勢。極限環(huán)行走步態(tài)呈現(xiàn)周期性的特點,步態(tài)序列是軌道穩(wěn)定的,即可以在相空間中形 成一個穩(wěn)定的極限環(huán),但在步態(tài)周期中的任意瞬時并不具備局部穩(wěn)定性。采用電機-驅(qū)動 桿-彈簧結(jié)構(gòu)的耦合彈性驅(qū)動方法,能實現(xiàn)雙足機器人在平地上的極限環(huán)行走,由于該行 走模式充分利用了機器人自身的動力學(xué)特性,對機器人運動施加的人為約束條件較少,隨 著參數(shù)的持續(xù)增大,原本穩(wěn)定的單周期步態(tài)在分岔點處穩(wěn)定性會發(fā)生突變,轉(zhuǎn)變?yōu)榍队幸?個不穩(wěn)定單周期軌道(UP0)的穩(wěn)定的二倍周期步態(tài),雙足機器人的步態(tài)會出現(xiàn)倍周期分 岔、多周期分岔以及混沌的非單周期步態(tài)。
[0004] 在實際行走中,常常認為單周期步態(tài)是"好的"、"正常的",而不傾向于應(yīng)用非單周 期步態(tài),因為非單周期步態(tài)相鄰兩步的行走姿態(tài)不一致,認為其是"不正常的"、"瘸"的,不 能有效利用能量。同時,非單周期步態(tài)中嵌有一個不穩(wěn)定單周期步態(tài),這個不穩(wěn)定單周期步 態(tài)通常比相應(yīng)的非單周期步態(tài)具有更高的行走速度與能量效率。
[0005] 現(xiàn)有的一種控制非單周期步態(tài)的0GY方法計算量大,且反饋形式依賴于不動點 的狀態(tài),如果對目標不動點計算不準確或者參數(shù)發(fā)生未知變化時,將造成狀態(tài)和參數(shù)的 Jacobian矩陣的計算值與真實值產(chǎn)生誤差,這樣的誤差導(dǎo)致0GY方法將非單周期步態(tài)控制 到另一組參數(shù)對應(yīng)的不動點上,偏離期望參數(shù)組合下的不動點及期望的性能,更大的誤差 甚至會導(dǎo)致0GY方法失效。另一種控制非單周期步態(tài)的方法是DFC,即延遲反饋控制,但該 方法有拓撲局限問題,即對于關(guān)于狀態(tài)的Jacobian矩陣有奇數(shù)個大于1的實特征值的離散 系統(tǒng),無論反饋增益如何選取,都不能實現(xiàn)雙曲平衡點的鎮(zhèn)定。對于特定參數(shù)的模型,反饋 增益可以通過離線設(shè)計或者試探法來確定,有效的單一反饋增益K通常僅可以在一個狹窄 的范圍內(nèi)選擇,而且當參數(shù)變化范圍較大時,這樣確定的反饋增益K無法保證步態(tài)快速收 斂,甚至失去鎮(zhèn)定非單周期步態(tài)的能力。
[0006] 對于非單周期步態(tài),當參數(shù)變化時內(nèi)嵌的目標單周期軌道也隨之變化,采用0GY 方法需要反復(fù)多次準確計算不動點并線性化,采用周期性擾動的DFC方法無法保證收斂到 單周期的速度,當參數(shù)變化較大時失去鎮(zhèn)定的能力。因此,需要發(fā)明一種不需反復(fù)準確計算 不動點并線性化,對大范圍參數(shù)變化都有效的非單周期步態(tài)控制方法。
【發(fā)明內(nèi)容】
[0007] 為解決上述問題,本發(fā)明公開了一種基于延遲反饋的雙足機器人行走非單周期步 態(tài)控制方法,其特征在于,包括:
[0008] 步驟1、機器人包括一對內(nèi)腿和一對外腿,將它們通過鉸鏈連接成髖部結(jié)構(gòu)體,能 自由擺動,在兩對腿的下端腳均設(shè)有開關(guān)式傳感器,傳感器信號輸出端與控制器信號輸入 端相連,兩對腿上分別安裝電機,電機轉(zhuǎn)動軸分別與驅(qū)動桿相連,相鄰內(nèi)外腿的兩個驅(qū)動桿 的另一端以線性彈簧連接,彈簧的形變由腿的姿態(tài)以及電機輸出共同決定;
[0009] 步驟2、將機器人行走時的內(nèi)腿和外腿分別定義為擺動腿和支撐腿,將機器人行走 時的每一步依次分為兩個擺動階段和一個驅(qū)動桿擺動階段;
[0010] 第一階段:上一步擺動腿與地面發(fā)生碰撞時后進入第一擺動階段,電機角度保持 鎖定,驅(qū)動桿相對于腿的角度固定不變,模型在彈簧彈力的作用下利用自身的慣性自由擺 動向前行走T。時長;
[0011] 第二階段:驅(qū)動桿擺動階段電機開始勻速轉(zhuǎn)動,當前步支撐腿電機轉(zhuǎn)動帶動驅(qū)動 桿向前拉伸彈簧,擺動腿電機帶動驅(qū)動桿向后拉伸彈簧,轉(zhuǎn)動速率相同,此階段結(jié)束后電機 停止轉(zhuǎn)動,支撐腿和擺動腿的驅(qū)動桿從負的預(yù)設(shè)驅(qū)動角度變?yōu)檎念A(yù)設(shè)驅(qū)動角度,從機器 人前進方向右側(cè)看去,由髖部到豎直方向開始逆時針轉(zhuǎn)動所得角度為正;
[0012] 第三階段:第二擺動階段兩電機均沒有動作,電機角度鎖定,模型在彈簧彈力的作 用下利用自身的慣性自由擺動直到擺動腿與地面發(fā)生碰撞,當前步結(jié)束;
[0013] 步驟3、機器人行走的控制參數(shù)包括從一步開始到驅(qū)動桿開始轉(zhuǎn)動經(jīng)過的時間長 度T。,單位為秒;驅(qū)動桿開始擺動到擺動結(jié)束所持續(xù)的時間長度τ,單位為秒;驅(qū)動桿擺動 幅度φ,單位為弧度;確定一個控制參數(shù)作為攝動參數(shù)Ρ后,保持其他控制參數(shù)的值不變
[0014] 步驟4、確定龐加萊截面,并截取機器人行走過程中的一系列狀態(tài),將第i步的該 狀態(tài)記為Sy建立前后兩步在龐加萊截面上的狀態(tài)之間映射:si+1= Step (s ;,ρ;),其中口;為 攝動參數(shù)P在第i步行走中經(jīng)過攝動后的參數(shù)值;
[0015] 步驟5、確定目標控制參數(shù)組合,其中攝動參數(shù)ρ的數(shù)值記為標稱參數(shù)ρ* ;確定其 對應(yīng)的目標單周期不動點s*,即機器人單周期步態(tài)時在龐加萊截面上穿過相同位置的狀 態(tài);
[0016] 步驟6、建立單周期不動點處的線性化模型,在已確定的單周期不動點處對模型線 性化:
[0020] 式中A為不動點處的Jacobian矩陣,b為反映攝動后的攝動參數(shù)ρ對狀態(tài)的影響 的梯度矩陣,S Sl為第i步狀態(tài)與不動點的差值,δ p i為第i步的攝動量;
[0021] 步驟7、確定狀態(tài)和攝動參數(shù)延遲反饋控制器的反饋增益Kf、反饋增益Kp;基于步 驟4中的線性化模型,設(shè)計延遲反饋控制器:
[0024] 步驟8、確定最大攝動量的限制值;
[0025] 步驟9、設(shè)定機器人的初始狀態(tài)及控制參數(shù),傳遞給狀態(tài)機執(zhí)行,令機器人行走;
[0026] 步驟10、測量機器人在龐加萊截面上的狀態(tài)Sl,根據(jù)步驟6確定的反饋增益K f、反 饋增益κρ和設(shè)計的延遲反饋控制器得到當前步的攝動量
計算出當前步的攝動參數(shù)Pi = Ρ、δ Pi,更新狀態(tài)機中的參數(shù)。
[0027] 步驟11、若步驟10中得到的當前步的攝動參數(shù)Pl未超出最大攝動量的限制,控制 器依照電機的控制方式開始驅(qū)動電機,執(zhí)行攝動參數(shù),使P達到p1;若P 1超出限制,則執(zhí)行 標稱參數(shù)P*,使參數(shù)p達到P*。
[0028] 步驟12、驅(qū)動桿擺動階段結(jié)束后電機角度鎖定,當擺動腿的開關(guān)式傳感器感應(yīng)到 擺動腿落地后,當前步結(jié)束;下一步開始,重復(fù)步驟8~步驟10,控制機器人步態(tài)。
[0029] 所述攝動參數(shù)p為驅(qū)動桿擺動幅度Φ,抑制分岔的最大攝動量的限制值為0. 3弧 度,消除混沌的最大攝動量的限制值為〇. 1弧度。
[0030] 所述龐加萊截面截取機器人的擺動腿與地面發(fā)生碰撞時的狀態(tài),狀態(tài)向量
,由第i步此狀態(tài)時支撐腿與豎直垂線的夾角&,、擺動腿與豎直垂線 的夾角義"、支撐腿的角速度t以及擺動腿的角度<。組成。
[0031] 所述反饋增益Kf、反饋增益Kp確定的具體步驟為:
[0032] 利用龐加萊截面狀態(tài)數(shù)據(jù),通過類周期點回復(fù)方法和最小二乘法求出不動點處的 Jacobian矩陣Α和攝動參數(shù)對狀態(tài)影響的梯度矩陣b,線性化系統(tǒng)和攝動參數(shù)構(gòu)成η+1維 的攝動系統(tǒng):
[0038] 設(shè)置矩陣Α。的所有η+1個特征值為零,通過特征多項式的系數(shù)匹配求得矩陣[cTd]中的所有元素,則控制器的反饋增益Kf=cT(A_In) \反饋增益Kp=d_Kfb。
[0039] 所述反饋增益Kf、反饋增益Kp確定的具體步驟為:從零開始試探性地給出一組反 饋增益;觀察這組反饋增益的步態(tài)控制效果,若非單周期步態(tài)收斂速度慢,增大反饋增益; 若無法控制單周期步態(tài)則減小反饋增益;反復(fù)試探直至找到符合要求的反饋增益。
[0040] 有益效果
[0041] 本發(fā)明對于整個可行走范圍內(nèi)參數(shù)變化引起的不同的非單周期步態(tài),僅采用一組 恒定的狀態(tài)反饋系數(shù)就能通過參數(shù)攝動使步態(tài)逐步收斂,經(jīng)過數(shù)步行走快速穩(wěn)定到期望不 動點,實現(xiàn)單周期步態(tài);與非單周期步態(tài)相比,鎮(zhèn)定后的單周期步態(tài)能量效率提高,行走速 度提升。應(yīng)用本發(fā)明所述控制方法后,機器人可行走的參數(shù)范圍進一步擴大。
【附圖說明】
[0042] 圖1是本發(fā)明實施例所用雙足機器人模型的側(cè)視圖;
[0043] 圖2是本發(fā)明實施例所用雙足機器人模型的前視圖;
[0044] 圖3是本發(fā)明實施例所述機器人模型一步行走過程的原理圖;
[0045] 圖4是本發(fā)明實施例所述行走方法所用狀態(tài)機控制器;
[0046] 圖5 (a)~(f)是本發(fā)明實施例在不同彈性系數(shù)下行走(包括分岔、混沌)龐加萊 截面上狀態(tài)的投影圖;
[0047] 圖6(a)~(b)是采用本發(fā)明方法實施在分岔步態(tài)實例上的機器人步態(tài)收斂過 程;
[0048] 圖7(a)~(b)是采用本發(fā)明方法實施在混沌步態(tài)實例上的機器人步態(tài)收斂過 程;
[0049] 圖8是實施本發(fā)明方法控制的機器人隨彈性系數(shù)變化的單周期步態(tài)變化和未施 加控制的機器人隨彈性