張 瑞 張奇志 周亞麗
(北京信息科技大學(xué)自動(dòng)化學(xué)院,北京100192)
1990 年,McGeer[1]研制出了只依靠重力作用并能夠沿著一定的坡度向下行走的雙足機(jī)器人,同時(shí)提出了被動(dòng)行走概念。這種裝置利用勢(shì)能轉(zhuǎn)換為行走的動(dòng)能,從而實(shí)現(xiàn)周期行走。劉延柱[2]分析了人體雙足步行的動(dòng)態(tài)穩(wěn)定性和跳躍運(yùn)動(dòng)的動(dòng)力學(xué)過程。柳寧等[3-4]采用胞映射法對(duì)被動(dòng)行走機(jī)器人的吸引域進(jìn)行了研究。鄭鵬等[5]引入擴(kuò)展赫茲接觸模型和LuGre 摩擦模型建立了被動(dòng)行走機(jī)器人的動(dòng)力學(xué)模型,并研究了系統(tǒng)關(guān)于摩擦系數(shù)的分岔與混沌現(xiàn)象。
純被動(dòng)行走穩(wěn)定范圍小,抗干擾能力差,研究者們開始轉(zhuǎn)向半被動(dòng)機(jī)器人領(lǐng)域,通過對(duì)部分關(guān)節(jié)施加驅(qū)動(dòng),使機(jī)器人能夠穩(wěn)定行走。由于半被動(dòng)行走機(jī)器人充分利用了動(dòng)力學(xué)特征,耗能少,并且與人類步態(tài)相似,引起了人們的廣泛關(guān)注。Suzuki 等[6-7]采用惰性控制的方法為機(jī)器人輸入必要的能量,保證剛性腿雙足機(jī)器人能夠在微小斜面上持續(xù)行走。
為了得到與人類走路和奔跑相似的步態(tài),研究者們進(jìn)行了大量的研究工作。Geyer 等[8]采用簡單的彈簧質(zhì)點(diǎn)模型研究雙足機(jī)器人的行走步態(tài),此模型由兩個(gè)無質(zhì)量的彈簧腿和一個(gè)簡化的集中質(zhì)量組成,稱為B-SLIP(bipedal spring loaded inverted pendulum)。由于動(dòng)物和人類在行走和奔跑時(shí)利用腿部驅(qū)動(dòng)改變系統(tǒng)的能量,但是被動(dòng)的B-SLIP 模型能量是不變的,不能夠完全模擬實(shí)際中的步行和奔跑步態(tài)。所以為了改變系統(tǒng)的能量,許多研究者采用腿部驅(qū)動(dòng)來調(diào)整系統(tǒng)的能量。其中最著名的是Raibert[9]采用一個(gè)恒定的推力改變彈簧的壓縮量來改變系統(tǒng)的能量。Riese 等[10]通過改變自然狀態(tài)下腿的長度和剛度實(shí)現(xiàn)不同能量級(jí)別的連續(xù)跳躍。Visser 等[11]采用輸入輸出狀態(tài)反饋線性化進(jìn)行軌跡跟蹤,實(shí)現(xiàn)了V-SLIP(variable SLIP) 雙足機(jī)器人行走。Piovan等[12]采用主動(dòng)的SLIP 模型,在原本不可積分的SLIP 模型上利用部分反饋線性化的方法獲得了解析解,并使用可調(diào)節(jié)的串聯(lián)彈性腿部驅(qū)動(dòng)器來調(diào)整腿的長度,以此改變系統(tǒng)的能量實(shí)現(xiàn)單腿機(jī)器人的連續(xù)跳躍。Hamza?cebi 等[13]通過在髖關(guān)節(jié)添加驅(qū)動(dòng)力矩和調(diào)節(jié)腿的長度來改變機(jī)器人的能量,最終實(shí)現(xiàn)單腿機(jī)器人的跳躍。Dadashzadeh 等[14]將主動(dòng)的SLIP作為參考模型,采用兩級(jí)控制策略在ATRIAS 雙足機(jī)器人上實(shí)現(xiàn)了行走。
傳統(tǒng)雙足行走大多采用軌跡跟蹤控制方法[11-15],先結(jié)合各種優(yōu)化目標(biāo)生成機(jī)器人的運(yùn)動(dòng)軌跡,然后再跟蹤軌跡。在跟蹤控制過程中,控制器會(huì)產(chǎn)生較大的驅(qū)動(dòng)力,能量效率不高,而人類行走大部分時(shí)間是近似無源的[16]。并且人類行走通過后腿蹬地控制系統(tǒng)能量,防止向后傾倒;通過前腿觸地位置控制高度和前向運(yùn)動(dòng)速度,防止向前傾倒。因此通過觀察人類行走模式,本文提出了一種能量高效、步態(tài)自然的模仿人類行走的控制策略,只在雙支撐開始階段調(diào)整后腿剛度使機(jī)器人的總能量接近期望值,在單支撐階段通過擺動(dòng)腿觸地位置控制機(jī)器人的高度和前向速度。機(jī)器人大部分時(shí)間處于無源狀態(tài),利用自身的動(dòng)力學(xué)特性實(shí)現(xiàn)零輸入的純被動(dòng)周期行走。
變剛度雙足彈簧負(fù)載倒立擺模型是在雙足彈簧負(fù)載倒立擺模型的基礎(chǔ)上,將彈簧剛度由K0變?yōu)镵0+u,引入了剛度控制輸入量u,其模型[11]如圖1 所示。
圖1 變剛度雙足機(jī)器人行走模型圖
假設(shè)所有關(guān)節(jié)質(zhì)量都集中在髖關(guān)節(jié),同時(shí)忽略關(guān)節(jié)摩擦的影響。定義系統(tǒng)的廣義坐標(biāo)為q=[x,y],所以系統(tǒng)的狀態(tài)可以由z表示
假設(shè)機(jī)器人單步行走從單腿支撐并且方向垂直于水平面的V LOi狀態(tài)開始,當(dāng)質(zhì)點(diǎn)運(yùn)動(dòng)到下一個(gè)V LOi+1狀態(tài)時(shí)結(jié)束,如圖1 所示,此過程由單腿支撐和雙腿支撐兩個(gè)階段組成。
假設(shè)機(jī)器人所有質(zhì)量集中在髖關(guān)節(jié),質(zhì)量為m,并且兩條腿沒有質(zhì)量,同時(shí)假定腳與地面無相對(duì)滑動(dòng)。L0為腿在自然狀態(tài)下的原長,后腿L1為支撐腿長度,前腿L2為擺動(dòng)腿長度,彈簧在自然狀態(tài)下的剛度系數(shù)為K0,擺動(dòng)腿觸地時(shí)和地面的夾角為α,g代表重力加速度,u1和u2分別為支撐腿和擺動(dòng)腿的剛度控制量,可在機(jī)器人行走過程中改變。為了使腿的剛度更加貼近實(shí)際情況,對(duì)雙腿剛度控制量ui作如下限制
采用拉格朗日方法可以得到雙足機(jī)器人行走的動(dòng)力學(xué)方程。系統(tǒng)拉格朗日函數(shù)為
其中K(q,q,) 是系統(tǒng)動(dòng)能,P(q) 是系統(tǒng)勢(shì)能。
系統(tǒng)的拉格朗日方程為
式中,F(xiàn)i為施加到質(zhì)點(diǎn)上的廣義力。
通過計(jì)算圖1 所示該系統(tǒng)的動(dòng)能和勢(shì)能,可得拉格朗日函數(shù)表達(dá)式為
式中
式中,a為擺動(dòng)腿觸地點(diǎn)的x坐標(biāo)值。
將式(5) 和式(6) 代入到式(4) 中,可得系統(tǒng)雙支撐階段的動(dòng)力學(xué)方程
式(7) 去掉和前腿相關(guān)的項(xiàng)可以得到單支撐階段動(dòng)力學(xué)方程
當(dāng)機(jī)器人從雙支撐切換到單支撐時(shí),切換條件為支撐腿到達(dá)原長,并且腳的速度向上,即
當(dāng)機(jī)器人從單支撐切換到雙支撐時(shí),切換條件為質(zhì)點(diǎn)高度到達(dá)H,并且腳的速度向下,即
假設(shè)純被動(dòng)雙足機(jī)器人以給定初值在V LOi狀態(tài)開始行走,如圖1 所示,當(dāng)機(jī)器人運(yùn)動(dòng)到下個(gè)VLO(vertical leg orientation) 狀態(tài)時(shí)為V LOi+1。若要使機(jī)器人實(shí)現(xiàn)周期行走,即保證
其中
由此可以得到機(jī)器人周期行走的不動(dòng)點(diǎn)
傳統(tǒng)的行走控制以z?為初值,利用近似解析解或數(shù)值近似解方法得到期望軌跡,再采用軌跡跟蹤控制方法實(shí)現(xiàn)雙足機(jī)器人的周期行走控制。為了保證系統(tǒng)的性能,一般閉環(huán)系統(tǒng)具有較高的剛度。即使沒有外界干擾,由于近似解得到期望軌跡與真實(shí)解存在誤差,跟蹤控制需要較大的控制力,能量效率不高。文獻(xiàn)[8] 表明,在能量守恒的前提下,系統(tǒng)是自穩(wěn)定的,即在小擾動(dòng)條件下,不需要外界控制自動(dòng)回到周期行走狀態(tài)。因此,可以利用系統(tǒng)的自穩(wěn)定特性,設(shè)計(jì)控制器保證系統(tǒng)能量不變,進(jìn)而實(shí)現(xiàn)雙足機(jī)器人的穩(wěn)定行走。
周期行走時(shí)機(jī)器人系統(tǒng)的總能量E?為
機(jī)器人在行走時(shí)具有的總能量E(t)
式中,?L1和?L2分別為腿長L1和L2的形變量
在遇到外界擾動(dòng)時(shí),為保持機(jī)器人穩(wěn)定行走,需要給機(jī)器人增加或者減少能量。本文模擬人類行走后腿蹬地補(bǔ)充能量行為,采用在雙支撐初始時(shí)刻只對(duì)后腿剛度施加變剛度控制u1,前腿剛度K0保持不變的控制策略。
令E?=E(t),聯(lián)立式(14) 和式(15),解得
在單支撐階段采用固定的觸地角可以實(shí)現(xiàn)穩(wěn)定行走[8]和奔跑[17],為了提高行走的魯棒性,采用Seyfarth 等[18]提出的模擬人類跑步的擺動(dòng)腿常角速度轉(zhuǎn)動(dòng)方法控制觸地位置的方法。在機(jī)器人行走過程中,單支撐階段擺動(dòng)腿的觸地角度α(t) 為
式中,α0為初始角度,ω為擺動(dòng)角速度,tVLO為支撐腿位于豎直位置時(shí)的時(shí)間。
由于在單支撐階段只是通過調(diào)節(jié)擺動(dòng)腿的觸地角度,同時(shí)忽略了腿的質(zhì)量,因此系統(tǒng)在單支撐階段的總能量是不變的。擺動(dòng)腿勻速轉(zhuǎn)動(dòng)自動(dòng)調(diào)節(jié)集中質(zhì)量的高度和前向速度,進(jìn)而穩(wěn)定到周期行走狀態(tài)。
雙支撐階段初始時(shí)刻改變后腿剛度和單支撐階段采用擺動(dòng)腿勻速轉(zhuǎn)動(dòng),構(gòu)成了雙足機(jī)器人仿人行走控制策略。當(dāng)機(jī)器人在期望能量E?下周期行走時(shí),雙腿的剛度則恢復(fù)為K0,使機(jī)器人僅依靠系統(tǒng)的動(dòng)力學(xué)特性實(shí)現(xiàn)機(jī)器人零輸入的周期行走。
實(shí)驗(yàn)仿真在軟件MATLAB 中進(jìn)行,由于動(dòng)力學(xué)方程具有非線性特性,采用4 階龍格庫塔法進(jìn)行數(shù)值計(jì)算,仿真時(shí)間間隔為1 ms, 其中m=80 kg,K0=15 696 N/m,L0=1 m,α=70?,g=9.81 m/s2。根據(jù)上述系統(tǒng)參數(shù)[15]得到一組機(jī)器人周期行走的初值z(mì)?=[0,0.999,1.172,0],計(jì)算得到系統(tǒng)具有總能量E?= 838.964 4 J。單支撐階段擺動(dòng)腿轉(zhuǎn)動(dòng)控制策略使用的控制參數(shù)α0=75?,ω=?49(?)/s。
純被動(dòng)行走機(jī)器人采用上述參數(shù)在VLO 狀態(tài)進(jìn)行60 步行走仿真,在第30 步至第32 步行走的單支撐階段過程中施加外部擾動(dòng)力F=(?20,20)TN,從圖2 中可以看出,受干擾后機(jī)器人的總能量急劇減小,水平速度降低,進(jìn)而摔倒。
圖2 施加擾動(dòng)下純被動(dòng)系統(tǒng)狀態(tài)隨行走距離變化曲線
圖2 施加擾動(dòng)下純被動(dòng)系統(tǒng)狀態(tài)隨行走距離變化曲線(續(xù))
為了考察仿人行走控制策略的效果,下面分別對(duì)只采用雙支撐階段的能量控制和單支撐段的擺動(dòng)腿控制進(jìn)行仿真。
同樣施加上述擾動(dòng),只在雙支撐的初始階段進(jìn)行能量控制,系統(tǒng)狀態(tài)隨行走距離變化曲線如圖3所示。從圖3 中可以看出,系統(tǒng)的能量能夠逐漸恢復(fù)到E?附近,但是質(zhì)點(diǎn)的水平速度急劇上升,質(zhì)點(diǎn)高度減小,最后倒下。因此,可以得出結(jié)論:行走過程中在雙支撐階段初始時(shí)刻采用的能量控制器產(chǎn)生了作用,但是不足以使系統(tǒng)穩(wěn)定,不能使機(jī)器人穩(wěn)定行走。
圖3 施加擾動(dòng)能量控制下系統(tǒng)狀態(tài)隨行走距離變化曲線
只采用單支撐階段的擺動(dòng)腿控制策略,采取同樣的擾動(dòng)進(jìn)行仿真,系統(tǒng)狀態(tài)隨行走距離變化曲線如圖4 所示。由于單支撐階段系統(tǒng)是保守系統(tǒng),控制器并沒有對(duì)系統(tǒng)的能量進(jìn)行改變,只是調(diào)節(jié)了質(zhì)點(diǎn)的水平速度和高度。在施加外部擾動(dòng)后,質(zhì)心的高度和前向速度都下降。因此,可以得出結(jié)論:在行走過程中采用擺動(dòng)腿控制方法調(diào)節(jié)了集中質(zhì)量的前進(jìn)速度和高度,但是仍然不能穩(wěn)定系統(tǒng)。
圖4 施加擾動(dòng)擺動(dòng)腿控制下系統(tǒng)狀態(tài)隨行走距離變化曲線
圖4 施加擾動(dòng)擺動(dòng)腿控制下系統(tǒng)狀態(tài)隨行走距離變化曲線(續(xù))
由此可見,單獨(dú)采用能量控制和擺動(dòng)腿控制策略并不能使機(jī)器人穩(wěn)定行走,因此下面結(jié)合兩個(gè)控制器的優(yōu)點(diǎn),使用完整的仿人控制策略對(duì)系統(tǒng)進(jìn)行仿真。采取同樣的參數(shù),仿真結(jié)果如圖5 所示。從圖中可以看出,施加擾動(dòng)后,系統(tǒng)能量經(jīng)過多步調(diào)整逐漸恢復(fù)到期望值附近,質(zhì)點(diǎn)的高度和前向速度恢復(fù)到周期狀態(tài)。由于對(duì)變剛度進(jìn)行了限幅,控制器則出現(xiàn)了飽和,如果不限幅,系統(tǒng)可以更快地恢復(fù)到周期行走狀態(tài)。
圖5 施加擾動(dòng)仿人控制下系統(tǒng)狀態(tài)隨行走距離變化曲線
由此可見,仿人行走控制策略可以抵抗外界擾動(dòng),消除擾動(dòng)后的系統(tǒng)能量,最終穩(wěn)定在期望值附近;在沒有干擾后,機(jī)器人恢復(fù)被動(dòng)周期行走。結(jié)果表明仿人行走控制策略對(duì)于外界干擾具有魯棒性。
本文針對(duì)變剛度半被動(dòng)雙足機(jī)器人行走控制問題,提出了仿人行走控制策略。此策略不需要事先規(guī)劃機(jī)器人的運(yùn)動(dòng)軌跡,并且充分利用系統(tǒng)的動(dòng)力學(xué)特征,只在系統(tǒng)受到干擾時(shí)進(jìn)行變剛度控制,沒有干擾時(shí)不需要外界輸入,僅依靠自身的動(dòng)力學(xué)特性實(shí)現(xiàn)純被動(dòng)周期行走。在MATLAB 仿真平臺(tái)上進(jìn)行了驗(yàn)證,仿真實(shí)驗(yàn)結(jié)果驗(yàn)證了仿人行走控制策略的有效性,且控制系統(tǒng)對(duì)于外界干擾具有魯棒性。
本文所提出的方法在快速響應(yīng)和減少系統(tǒng)能量輸入上具有一定的優(yōu)勢(shì),可以為設(shè)計(jì)高效的類人步態(tài)行走控制器提供參考。在本文理論研究和實(shí)驗(yàn)基礎(chǔ)上進(jìn)行硬件實(shí)驗(yàn)平臺(tái)的驗(yàn)證是需要進(jìn)一步研究的課題。