陶紅武,譚躍剛,陳建文
(武漢理工大學(xué)機(jī)電工程學(xué)院,湖北 武漢 430070)
隨著仿生四足機(jī)器人[1]技術(shù)的發(fā)展,近年來四足機(jī)器人的研究熱點(diǎn)逐漸從低速靜步態(tài)運(yùn)動(dòng)轉(zhuǎn)向高速動(dòng)步態(tài)運(yùn)動(dòng)如跳躍運(yùn)動(dòng)步態(tài)。跳躍運(yùn)動(dòng)是一種高動(dòng)態(tài)性、高靈活性的運(yùn)動(dòng),在足端著地時(shí)具有大沖擊力的特點(diǎn)[2]。采用剛性的結(jié)構(gòu)形式和常用的位置控制方法往往運(yùn)動(dòng)效果不大理想[3]。
國內(nèi)外專家學(xué)者提出了許多新穎的結(jié)構(gòu)形式和控制方法。在結(jié)構(gòu)上的解決方案主要是通過在單腿上加裝被動(dòng)元件,如彈簧,阻尼等,使腿部在運(yùn)動(dòng)中被動(dòng)地實(shí)現(xiàn)一定的柔順效果,如文獻(xiàn)[4]基于貓的腿部結(jié)構(gòu)設(shè)計(jì)足式機(jī)器人,但這種方法只能應(yīng)用在單一的結(jié)構(gòu)化環(huán)境中,不具有地形適應(yīng)性。目前較好的解決方案是在單腿系統(tǒng)的控制方法上采用柔順控制方法,如虛擬模型控制,阻抗控制[5]等方法。文獻(xiàn)[6-7]采用虛擬模型的方法對(duì)著地過程進(jìn)行主動(dòng)柔順控制,文獻(xiàn)[8]在阻抗控制的基礎(chǔ)上采用虛擬分解的柔順控制方法,文獻(xiàn)[9]通過有效改變剛度系數(shù)和阻尼系數(shù)的方法實(shí)現(xiàn)柔順效果。
為了使單腿系統(tǒng)具有良好的跳躍表現(xiàn),解決機(jī)器人運(yùn)動(dòng)時(shí)存在的沖擊力問題,設(shè)計(jì)了一種基于力的阻抗控制的柔順控制方法。通過控制的手段,使單腿足端與環(huán)境交互時(shí)具有一定的阻抗特性,這種阻抗特性表現(xiàn)為足端位置與足端力的映射關(guān)系,通過調(diào)整這種映射關(guān)系,減少足端著地沖擊,避免沖擊造成的不良影響,使單腿的跳躍運(yùn)動(dòng)更加柔順。
單腿結(jié)構(gòu)主要包括四個(gè)部分:腿部連桿部分、驅(qū)動(dòng)部分、傳動(dòng)部分和傳感器部分。采用平行四邊形機(jī)構(gòu)將髖關(guān)節(jié)和膝關(guān)節(jié)的電機(jī)置于機(jī)身,其三維結(jié)構(gòu)模型和結(jié)構(gòu)簡圖,如圖1所示。
圖1 單腿結(jié)構(gòu)簡圖Fig.1 Schematic Diagram of a Single Leg Structure
圖中:θ1、θ2—電機(jī)轉(zhuǎn)動(dòng)的角位移,腿部連桿用連桿l1,連桿l2,連桿l3連桿l4連桿l5表示。
為了便于分析,利用平行四邊形機(jī)構(gòu)的運(yùn)動(dòng)特點(diǎn),對(duì)平行四邊形的次要平行桿進(jìn)行簡化去除,留下l1和l2兩個(gè)主要連桿。與此同時(shí),在機(jī)身、l1、l2和足端上分別固定坐標(biāo)系{0},坐標(biāo)系{1},坐標(biāo)系{2}和坐標(biāo)系{3},連桿結(jié)構(gòu)簡圖,如圖2所示。
圖中:φ1、φ2—關(guān)節(jié)角度。θ1,θ2,φ1,φ2間的關(guān)系,如式(1)所示。
根據(jù)如圖2建立的坐標(biāo)系,進(jìn)行運(yùn)動(dòng)學(xué)計(jì)算,得到末端坐標(biāo)系{3}在基坐標(biāo)系{0}的坐標(biāo)表達(dá),由此得到單腿系統(tǒng)的正運(yùn)動(dòng)學(xué)方程,如式(2)所示。
根據(jù)式(1)中θ1,θ2,φ1,φ2間的關(guān)系,將正運(yùn)動(dòng)學(xué)方程寫成與θ1,θ2有關(guān)的形式:
通過對(duì)正運(yùn)動(dòng)學(xué)方程兩邊求導(dǎo),可得單腿的速度雅可比矩陣J為:
單腿足端所受廣義力與關(guān)節(jié)上廣義力之間的映射關(guān)系即力雅克比矩陣JT,其在形式上為速度雅可比矩陣的轉(zhuǎn)置。
單腿系統(tǒng)在進(jìn)行跳躍運(yùn)動(dòng)時(shí),根據(jù)其足端是否與地面接觸分為著地相和騰空相,足端與地面接觸的狀態(tài)稱為著地相,反之稱為騰空相[10]。在單腿的著地相中,根據(jù)單腿運(yùn)動(dòng)方向可分為緩沖階段和起跳階段,相應(yīng)地,單腿的騰空相可分為上升階段和下落階段。
在單腿跳躍過程中,足端與髖關(guān)節(jié)的距離一直在周期性的增大和減小,整體質(zhì)量主要集中在機(jī)身處。為了便于研究單腿的跳躍運(yùn)動(dòng),將單腿系統(tǒng)簡化為“質(zhì)量-彈簧-阻尼”系統(tǒng),如圖3所示。通過合理簡化分析,可以進(jìn)一步揭示單腿的跳躍機(jī)理。
圖3 “質(zhì)量-彈簧-阻尼”系統(tǒng)Fig.3 “Mass-Spring-Damping”System
假設(shè)單腿系統(tǒng)豎直周期跳躍高度為H,腿著地時(shí)腿長為L,腿部虛擬剛度為k,虛擬阻尼為c,整個(gè)單腿系統(tǒng)質(zhì)量為m。設(shè)單腿僅在豎直方向上進(jìn)行跳躍運(yùn)動(dòng),在水平方向上位置保持不變。對(duì)跳躍的各階段建立數(shù)學(xué)模型。
著地相緩沖階段時(shí),足端受重力,虛擬阻尼力和虛擬彈力,其動(dòng)力學(xué)方程可以描述為:
著地相起跳階段時(shí),足端受重力,虛擬阻尼力,虛擬彈力和驅(qū)動(dòng)元件提供的起跳力Fj,其動(dòng)力學(xué)方程可以描述為:
在騰空相上的升階段和下降階段時(shí),系統(tǒng)受重力作用,為保證跳起高度,離地點(diǎn)的初始速度與著地點(diǎn)初始速度大小相同,方向相反。此時(shí)單腿的運(yùn)動(dòng)符合自由落體運(yùn)動(dòng)規(guī)律。
為了對(duì)單腿系統(tǒng)的質(zhì)心進(jìn)行規(guī)劃,首先應(yīng)確定系統(tǒng)的虛擬剛度和虛擬阻尼。設(shè)單腿系統(tǒng)在著地緩沖時(shí)緩沖距離為S,在著地最低點(diǎn)時(shí),虛擬阻尼消耗掉所有下落沖擊能量,單腿系統(tǒng)速度為零,虛擬彈力等于單腿系統(tǒng)重力,此時(shí)系統(tǒng)虛擬剛度k應(yīng)為:
為使單腿系統(tǒng)下落緩沖平和無振蕩,系統(tǒng)應(yīng)處于臨界阻尼狀態(tài)或過阻尼狀態(tài),此時(shí)系統(tǒng)的虛擬阻尼應(yīng)滿足:
根據(jù)四足機(jī)器人單腿系統(tǒng)實(shí)物樣機(jī)的質(zhì)量參數(shù)m和腿長參數(shù)L,給定規(guī)劃的單腿跳躍高度H和緩沖距離S,如表1所示。根據(jù)式(9)和式(10)計(jì)算虛擬剛度k和虛擬阻尼c。
表1 跳躍運(yùn)動(dòng)規(guī)劃參數(shù)表Tab.1 The Table of Skip Motion Planning Parameter
由于該微分方程的解析解形式較為復(fù)雜,為了便于將規(guī)劃應(yīng)用于跳躍控制中,對(duì)著地相質(zhì)心軌跡進(jìn)行多項(xiàng)式擬合,擬合后的質(zhì)心軌跡方程為:
為了解決機(jī)器人運(yùn)動(dòng)時(shí)存在的沖擊力的問題,可以對(duì)機(jī)器人進(jìn)行柔順控制。阻抗控制的思想在于通過對(duì)機(jī)器人的力或位置進(jìn)行協(xié)調(diào)控制,從而使機(jī)器人在與環(huán)境交互時(shí)表現(xiàn)出相應(yīng)的阻抗特性。
單腿系統(tǒng)中采用直流無刷電機(jī)作為機(jī)器人的驅(qū)動(dòng)元件,根據(jù)直流無刷電機(jī)的轉(zhuǎn)矩方程,控制電機(jī)的電樞電流即可控制電機(jī)的電磁轉(zhuǎn)矩。由于電機(jī)的阻尼和傳動(dòng)系統(tǒng)的摩擦及外界環(huán)境干擾等因素的影響,傳遞到髖關(guān)節(jié)和膝關(guān)節(jié)的關(guān)節(jié)力矩往往會(huì)有一定的損耗。為了對(duì)單腿系統(tǒng)的關(guān)節(jié)力矩進(jìn)行精確控制,采用了關(guān)節(jié)力矩傳感器用于檢測(cè)關(guān)節(jié)的輸入力矩,通過力矩反饋計(jì)算力矩誤差,并將力矩誤差換算為參考電流誤差,再經(jīng)過電流PI控制器,即可實(shí)現(xiàn)關(guān)節(jié)輸入力矩的精確控制。
根據(jù)機(jī)器人動(dòng)力學(xué)的一般形式,當(dāng)機(jī)器人末端受外力時(shí)有:
式中:τ—機(jī)器人的輸入驅(qū)動(dòng)力矩;M(q)—機(jī)器人質(zhì)量矩陣;V—離心力和科式力部分;G(q)—重力部分;Fe—機(jī)器人末端力;JT-機(jī)器人力雅可比矩陣。
基于力的阻抗控制中,以力閉環(huán)為內(nèi)環(huán),阻抗控制環(huán)為外環(huán)來設(shè)計(jì)阻抗控制系統(tǒng),此時(shí)阻抗控制器應(yīng)根據(jù)足端的位置誤差來計(jì)算阻抗力。阻抗力與位置間的關(guān)系可以用慣性,阻尼,剛度三個(gè)要素來定義,通過慣性,阻尼和剛度三個(gè)參數(shù),來設(shè)計(jì)阻抗控制模型。
設(shè)計(jì)單腿跳躍運(yùn)動(dòng)時(shí)足端的阻抗控制率為:
由式(16)可知,足端力與關(guān)節(jié)輸入力矩和系統(tǒng)動(dòng)力學(xué)力矩有關(guān)。為了實(shí)現(xiàn)期望的阻抗特性,還需要對(duì)機(jī)器人的輸入力矩進(jìn)行逆動(dòng)力學(xué)補(bǔ)償,設(shè)補(bǔ)償力矩為:
當(dāng)逆動(dòng)力學(xué)模型參數(shù)沒有誤差時(shí),有:
將式(20)與式(13)對(duì)比可知,此時(shí)的足端接觸力可以跟隨足端阻抗力,可以實(shí)現(xiàn)零誤差足端阻抗跟蹤。足端阻抗可以表示為:
根據(jù)以上分析,可以給出基于力的阻抗控制系統(tǒng)方框圖,如圖4所示。
圖4 基于力的阻抗控制系統(tǒng)方框圖Fig.4 Block Diagram of Impedance Control System Based on Force
基于力的阻抗控制模型可以通過對(duì)關(guān)節(jié)輸出力矩的控制實(shí)現(xiàn)足端接觸力對(duì)阻抗力的跟蹤,使足端表現(xiàn)出阻抗特性。以力矩控制環(huán)作為內(nèi)環(huán)可以提高整個(gè)控制系統(tǒng)的響應(yīng)速度,理論上具有很好的控制效果。
為了驗(yàn)證單腿控制系統(tǒng)的控制性能,采用Adams和Matlab/Simulink聯(lián)合仿真的方法,結(jié)合前文中跳躍運(yùn)動(dòng)的分析和規(guī)劃,以基于力的阻抗控制對(duì)單腿系統(tǒng)的跳躍過程進(jìn)行柔順控制,分析仿真過程中足端著地力,足端位置和足端離地高度。
設(shè)置Adams模型,單腿系統(tǒng)模型足端與地面的距離為0.05m,設(shè)置Adams模型重力,使單腿系統(tǒng)整體可在重力作用下下落。采用Adams中的Impact接觸模型在足端與地面之間設(shè)置接觸約束,接觸約束中地面剛度系數(shù)為3.0×105,阻尼系數(shù)為1000N,仿真步長為0.005s。為防止仿真中單腿系統(tǒng)下落過程中發(fā)生傾倒,對(duì)單腿機(jī)身的旋轉(zhuǎn)自由度進(jìn)行約束,使其只能在上下和前后方向運(yùn)動(dòng),如圖5所示。
圖5 單腿系統(tǒng)Adams模型Fig.5 Adams Model of Single Leg System
根據(jù)圖4中基于力的阻抗控制框圖,在Simulink中建立控制模型。在Simulink控制模型中,取阻抗控制參數(shù)M=0.1,B=25,K=1000,對(duì)單腿系統(tǒng)的跳躍運(yùn)動(dòng)進(jìn)行柔順控制。仿真結(jié)果,如圖6所示。
圖6 基于力的阻抗控制下單腿跳躍運(yùn)動(dòng)仿真結(jié)果Fig.6 Simulation Results of Single Leg Jumping Motion under Force-Based Impedance Control
根據(jù)仿真結(jié)果可知,采用基于力的阻抗控制方法進(jìn)行仿真時(shí),單腿系統(tǒng)可以實(shí)現(xiàn)周期性跳躍運(yùn)動(dòng)。
從足端接觸力的角度來看,在三次跳躍過程中,單腿足端接觸力變化平緩,著地接觸力峰值不超過75N,起跳接觸力不超過70N,在最后一次著地時(shí),單腿系統(tǒng)自由下落,著地力比前三次大,為80N,由此可見有阻抗控制下落與無阻抗自由下落相比,有效減少足端接觸力的大小。運(yùn)動(dòng)停止時(shí),著地力穩(wěn)定在33.7N。
從足端位置的角度來看,在著地相時(shí)單腿足端位置具有明顯的收縮緩沖現(xiàn)象,其足端運(yùn)動(dòng)軌跡與規(guī)劃運(yùn)動(dòng)軌跡有一定的誤差,最大誤差為0.03m。在騰空相時(shí),對(duì)足端位置誤差進(jìn)行了修正,使足端位置保持在y=-0.35處。
從跳躍高度的角度來看,每次單腿系統(tǒng)起跳,在騰空相最高點(diǎn)時(shí)足端離地高度均為0.05m,單腿的跳躍具有較好的連續(xù)性和重復(fù)性。
對(duì)四足機(jī)器人單腿系統(tǒng)進(jìn)行跳躍運(yùn)動(dòng)實(shí)驗(yàn),通過實(shí)驗(yàn)的方法,驗(yàn)證四足機(jī)器人單腿系統(tǒng)的柔順運(yùn)動(dòng)性能。
以單腿系統(tǒng)足端離地0.05m為實(shí)驗(yàn)初始位置,足端相對(duì)于機(jī)身坐標(biāo)系的坐標(biāo)為y=-0.35。實(shí)驗(yàn)過程中單腿系統(tǒng)僅在豎直方向跳躍,水平方向位置保持不變,其足端軌跡規(guī)劃與前文豎直跳躍仿真中軌跡規(guī)劃一致?;诹Φ淖杩箍刂破鲄?shù)與仿真環(huán)境相同,取M=0.1,B=25,K=1000,控制周期為0.025s;足端力傳感器和關(guān)節(jié)力矩傳感器采樣頻率均為100Hz。
對(duì)單腿系統(tǒng)進(jìn)行豎直跳躍運(yùn)動(dòng)實(shí)驗(yàn),并利用足端力傳感器和關(guān)節(jié)力矩傳感器采集記錄運(yùn)動(dòng)過程中的受力情況,利用電機(jī)編碼器記錄電機(jī)運(yùn)動(dòng)位置并將其換算為足端位置,單腿系統(tǒng)豎直跳躍運(yùn)動(dòng)實(shí)驗(yàn)過程,如圖7所示。實(shí)驗(yàn)結(jié)果,如圖8所示。
圖7 單腿系統(tǒng)豎直跳躍運(yùn)動(dòng)實(shí)驗(yàn)過程Fig7 Experimental Process of Vertical Jump in Single Leg System
圖8 四足機(jī)器人單腿系統(tǒng)豎直跳躍實(shí)驗(yàn)Fig.8 Vertical Jumping Experiment of Quadruped Robot Single Leg System
從足端接觸力的角度看,采用基于力的阻抗控制時(shí),單腿系統(tǒng)豎直跳躍運(yùn)動(dòng)中足端著地力變化較緩和,無明顯沖擊,具有較好的柔順性。在單個(gè)跳躍運(yùn)動(dòng)周期中,著地接觸瞬間最大沖擊力約為54N,隨后在阻抗控制的柔順作用下接觸力逐漸減小,至起跳階段時(shí)腿部蹬地發(fā)力,接觸力增大,使單腿系統(tǒng)起跳,起跳時(shí)足端離地接觸力為零。三個(gè)跳躍周期之后,單腿系統(tǒng)自由下落,下落著地力峰值為55N,隨后逐漸穩(wěn)定,穩(wěn)定時(shí)接觸力為32N,即單腿系統(tǒng)的重力。
從足端位置的角度看,采用基于力的阻抗控制時(shí),運(yùn)動(dòng)過程中足端的實(shí)際位置與規(guī)劃的足端位置有一定的誤差,特別是在著地相時(shí)誤差非常明顯,這種足端位置誤差與系統(tǒng)的機(jī)械結(jié)構(gòu)精度和阻抗控制的位置犧牲作用有關(guān),但這種誤差對(duì)跳躍運(yùn)動(dòng)的影響不大,單腿足端的運(yùn)動(dòng)狀態(tài)與規(guī)劃的運(yùn)動(dòng)狀態(tài)相符,且跳躍運(yùn)動(dòng)周期也具有一致性。跳躍運(yùn)動(dòng)結(jié)束之后,單腿足端在機(jī)身坐標(biāo)系下的坐標(biāo)為y=-0.335,這也是因?yàn)樽杩箍刂剖菭奚恢镁葋韺?shí)現(xiàn)力的柔順的。
在四足機(jī)器人單腿系統(tǒng)的豎直跳躍仿真和實(shí)驗(yàn)中,單腿系統(tǒng)成功完成了三個(gè)周期的豎直跳躍運(yùn)動(dòng),得出以下結(jié)論。(1)采用基于力的阻抗控制方法,跳躍過程中有效減少足端接觸力的大小,著地沖擊力較小,具有明顯的沖擊力柔順效果。(2)表明單腿系統(tǒng)的設(shè)計(jì),跳躍控制策略是合理的。