本發(fā)明涉及一種用于四足仿生機(jī)器人的靜步態(tài)與對角小跑步態(tài)之間切換的算法,屬于人工智能技術(shù)領(lǐng)域。
背景技術(shù):
現(xiàn)階段,四足機(jī)器人逐漸從室內(nèi)走向室外,其高動(dòng)態(tài)性、環(huán)境適應(yīng)性和大負(fù)載能力顯著提高。為了完成給定任務(wù),機(jī)器人一般都是采用某種單一的運(yùn)動(dòng)模式,這顯著降低了機(jī)器人對各種不同復(fù)雜環(huán)境的適應(yīng)性,而四足哺乳動(dòng)物可以根據(jù)不同環(huán)境進(jìn)行不同運(yùn)動(dòng)模式的切換。因此,為了提高機(jī)器人的環(huán)境適應(yīng)性,需要研究機(jī)器人各種不同運(yùn)動(dòng)模式的統(tǒng)一生成方法和相互之間的平穩(wěn)切換策略。
另外,能量利用效率對機(jī)器人也是一個(gè)重要的指標(biāo),機(jī)器人要完成復(fù)雜、冗長的任務(wù),必須具有較高的能量利用效率。因此,在機(jī)器人的運(yùn)動(dòng)控制中,必須提高機(jī)器人的能量利用效率,進(jìn)行機(jī)器人各種運(yùn)動(dòng)模式參數(shù)的優(yōu)化,而這也需要研究機(jī)器人在不同運(yùn)動(dòng)模式之間的切換策略。例如,為了降低能量消耗,馬、狗等四足哺乳動(dòng)物可以根據(jù)自己運(yùn)動(dòng)速度的不同,進(jìn)行不同步態(tài)之間的切換;基于生物學(xué)仿生,較多的學(xué)者進(jìn)行了機(jī)器人步態(tài)切換的研究工作。
目前,步態(tài)轉(zhuǎn)換的控制方法主要有兩種:基于中樞模式發(fā)生器(central pattern generator,CPG)的生物誘導(dǎo)行走控制方法和基于關(guān)節(jié)運(yùn)動(dòng)軌跡的設(shè)計(jì)方法。2009年發(fā)表在《Intelligent Service Robotics》(《智能服務(wù)機(jī)器人技術(shù)》)105-112頁的《Gait planning for quadruped robot based on dynamic stability:landing accordance ratio》(《基于動(dòng)態(tài)穩(wěn)定性的四足機(jī)器人步態(tài)規(guī)劃:按照比例落足》)與2007年發(fā)表在《International Journal of Robotics Research》(《國際機(jī)器人研究雜志》)475-490頁的《Adaptive Dynamic Walking of a Quadruped Robot on Natural Ground Based on Biological Concepts》(《在自然環(huán)境中基于生物學(xué)思想的四足仿生機(jī)器人自適應(yīng)動(dòng)態(tài)行走》)利用CPG實(shí)現(xiàn)了對四足仿生機(jī)器人的步態(tài)控制;2011年發(fā)表在《Robotics&Autonomous Systems》(《機(jī)器人學(xué)和自主系統(tǒng)》)620-634頁上的《Gait transition and modulation in a quadruped robot:A brainstem-like modulation approach》(《四足仿生機(jī)器人步態(tài)轉(zhuǎn)換與調(diào)整:一種仿腦干調(diào)整方法》)和發(fā)表在《Proceedings of IEEE International Conference on Robotics and Biomimetics》(《IEEE機(jī)器人學(xué)及仿生學(xué)國際會議論文集》)19到24頁的《Gait generation and transitions of quadruped robot based on Wilson-Cowan weakly neural networks》(《基于Wilson-Cowan弱神經(jīng)網(wǎng)絡(luò)的四足仿生機(jī)器人步態(tài)生成和切換》)中利用CPG實(shí)現(xiàn)了步態(tài)轉(zhuǎn)換。
上述CPG方法主要是構(gòu)造一個(gè)微分方程控制器,利用輸入反饋的改變來調(diào)整步態(tài)曲線的輸出,進(jìn)而將輸出曲線映射到機(jī)器人的髖關(guān)節(jié)或整個(gè)腿部區(qū)間,實(shí)現(xiàn)機(jī)器人的步態(tài)切換。在機(jī)器人穩(wěn)定性條件保證的前提下,CPG方法可以實(shí)現(xiàn)機(jī)器人的步態(tài)改變,但是,由于沒有考慮機(jī)器人穩(wěn)定性和步態(tài)切換效率,僅利用CPG方法實(shí)現(xiàn)切換條件的方法存在較大的局限性;另外,仿生機(jī)器人由機(jī)械構(gòu)成,電氣控制,自身固有的約束注定了它不可能如動(dòng)物般具有完善的自身反饋機(jī)制。
基于關(guān)節(jié)運(yùn)動(dòng)軌跡的設(shè)計(jì)方法是利用機(jī)器人步態(tài)參數(shù)的改變來實(shí)現(xiàn)機(jī)器人的步態(tài)切換和步態(tài)的調(diào)整,例如,2012年發(fā)表在《中國機(jī)械工程學(xué)報(bào):英文版》29-37頁的《Gait Definition and Successive Gait-transition Method Based on Energy Consumption for a Quadruped》(《基于四足機(jī)器人能量消耗的步態(tài)定義和連續(xù)步態(tài)生成方法》)的研究,首先對各種步態(tài)進(jìn)行介紹,又分別給出步態(tài)中相位差和占空比的關(guān)系以及速度與氧氣消耗的關(guān)系,認(rèn)為每種步態(tài)都有一個(gè)最優(yōu)速度,在這個(gè)速度下平均氧氣消耗達(dá)到最小,從而從理論上實(shí)現(xiàn)了基于能量消耗最小的步態(tài)切換,當(dāng)機(jī)器人速度增加到一定程度時(shí),利用步態(tài)參數(shù)的改變實(shí)現(xiàn)了不同步態(tài)的切換。
近幾年來,對步態(tài)切換的研究多了起來,但目前還沒有比較完善的、綜合考慮機(jī)器人在步態(tài)切換過程中的穩(wěn)定性、速度平滑切換和保證最小切換時(shí)間的方法。2013年發(fā)表在《IEEE International Conference on Robotics and Biomimetics》(《IEEE機(jī)器人學(xué)及仿生學(xué)國際會議論文集》)2535-2539頁的《Gait transition of quadruped robot using rhythm control and stability analysis》(《運(yùn)用節(jié)律控制的機(jī)器人步態(tài)切換和穩(wěn)定性分析》)與2014年發(fā)表在《Ifac Proceedings Volumes》(《IFAC會議論文集》)2171-2176頁的論文《Automated Transitions Between Walking and Running in Legged Robots》(《足式機(jī)器人行走與奔跑的自動(dòng)切換》)中利用倒立擺模型與剛性彈簧完成步態(tài)切換,2014年的一篇碩士論文《四足仿生機(jī)器人步態(tài)控制與切換策略分析》中指出了walk-trot步態(tài)切換與速度變化的影響,但并未給出切換的具體執(zhí)行過程,文《Hysteresis in gait transition induced by changing waist joint stiffness of a quadruped robot driven by nonlinear oscillators with phase resetting》中利用占空比改變的方法完成步態(tài)切換,文《A Gait-Transition Method for a Quadruped Walking Robot》提出一種切換方法使正在行走的機(jī)器人在滿足條件的某一點(diǎn)處停止,以開始下一種步態(tài),但是都未考慮到步態(tài)切換中由步長和周期的改變引起的穩(wěn)定性與平滑性問題;《A gait transition algorithm based on hybrid walking gait for a quadruped walking robot》首先將間歇靜步態(tài)改進(jìn)為非間歇靜步態(tài),然后給出非間歇一種狀態(tài)下完成切換的過程,將切換過程分為用時(shí)相同的三部分,未考慮速度過渡的問題;《Biologically inspired gait transition control for a quadruped walking robot》中已提出比較完整的walk-to-trot切換方案,但收到切換信息到執(zhí)行切換點(diǎn)存在時(shí)差較長,靜步態(tài)狀態(tài)若不符合切換條件,需繼續(xù)運(yùn)行直到符合給出的兩種切換情況的初始狀態(tài),使得步態(tài)切換效率大打折扣。
機(jī)器人在運(yùn)動(dòng)過程中,為了提高環(huán)境適應(yīng)性和運(yùn)動(dòng)效率,一般,較平坦地形采用對角小跑步態(tài)(trot),較為崎嶇地形采用靜步態(tài)(static walk,簡記為walk)。
本發(fā)明對上述最具有代表性的兩種步態(tài)進(jìn)行研究,探索間歇靜步態(tài)向?qū)切∨懿綉B(tài)切換的有效方法。使得機(jī)器人在步態(tài)切換過程中,在運(yùn)動(dòng)不中斷的前提下完成步態(tài)的平滑、穩(wěn)定切換,從而減小能量消耗、提高機(jī)器人的環(huán)境適應(yīng)性。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有的四足仿生機(jī)器人間歇靜步態(tài)(static walk,簡記為walk)向?qū)切∨懿綉B(tài)(trot)轉(zhuǎn)換(walk-to-trot)存在的問題,本發(fā)明提供一種應(yīng)用于四足仿生機(jī)器人的靜步態(tài)和對角小跑步態(tài)切換算法,該算法同時(shí)考慮相位差和切換速度,在提高步態(tài)切換穩(wěn)定性平滑性的同時(shí),縮短由收到切換信號到切換開始的時(shí)間差,保證機(jī)器人步態(tài)切換的穩(wěn)定高效。
本發(fā)明的應(yīng)用于四足仿生機(jī)器人的靜步態(tài)和對角小跑步態(tài)切換算法,首先,為標(biāo)明足端擺動(dòng)起始點(diǎn)和落足點(diǎn)在機(jī)體坐標(biāo)系x方向的位置,定義足端與自身髖關(guān)節(jié)的相對位置hip_x,表示原則為以自身髖關(guān)節(jié)為原點(diǎn),若落足點(diǎn)在原點(diǎn)前方則位置為正,在后方則為負(fù);
具體過程是:
(1)定義間歇靜步態(tài)的六個(gè)發(fā)生步態(tài)切換的點(diǎn):
采用的間歇靜步態(tài),定義步長為L,一個(gè)周期分為六階段,定義六個(gè)切換點(diǎn),六個(gè)階段的結(jié)束點(diǎn)分別命名為切換點(diǎn)SP1、切換點(diǎn)SP2、切換點(diǎn)SP3、切換點(diǎn)SP4、切換點(diǎn)SP5和切換點(diǎn)SP6,并給出各個(gè)切換點(diǎn)的四足hip_x值:
SP1:
SP2:
SP3:
SP4:
SP5:
SP6:
(2)定義對角小跑步態(tài)的作為接入點(diǎn)的所有狀態(tài),并用hip_x值標(biāo)定各狀態(tài)的足端位置:
采用的對角小跑步態(tài)定義步長為L',將左前-右后腿定義為對角腿DL1,右前-左后腿定義為對角腿DL2;
一個(gè)trot周期內(nèi)對角小跑步態(tài)的接入點(diǎn)有兩個(gè),分別為狀態(tài)C1和狀態(tài)C2;C1中,DL1位于自身髖關(guān)節(jié)前方半個(gè)步長,DL2位于自身髖關(guān)節(jié)后方半個(gè)步長;C2中,DL1位于自身髖關(guān)節(jié)后方半個(gè)步長,DL2位于自身髖關(guān)節(jié)前方半個(gè)步長;
位于自身髖關(guān)節(jié)后方半個(gè)步長的對角腿為下一階段擺動(dòng)腿,另一對角腿為下一階段支撐腿,C1的下一對擺動(dòng)足為DL2,C2的下一對擺動(dòng)足為DL1;
各狀態(tài)點(diǎn)處四足的hip_x值如下:
C1:
C2:
(3)節(jié)律控制隊(duì)列:
①執(zhí)行第一切換隊(duì)列,進(jìn)行重心的調(diào)整,在左右方向?qū)⒅匦恼{(diào)至中心位置,在前后方向上,選取x值較大的一側(cè)足(左側(cè)足或右側(cè)足),得到這一側(cè)足的前后落足點(diǎn)中心位置作為重心投影在前后方向的位置;
②執(zhí)行第二切換隊(duì)列,重心加速前進(jìn),由四足中hip_x最小的足所在的對角腿作為本階段擺動(dòng)對角腿,若有兩個(gè)足hip_x都為最小,后腿優(yōu)先;在重心前移距離不變的情況下,使擺動(dòng)的對角腿相對于自身髖關(guān)節(jié)的hip_x變?yōu)長'/2,并進(jìn)入下一切換隊(duì)列;
③執(zhí)行第三切換隊(duì)列,重心加速前進(jìn),控制另一對角腿向前擺動(dòng),使其hip_x達(dá)到L'/2;這一階段結(jié)束點(diǎn)處四足hip_x值與trot步態(tài)兩接入狀態(tài)hip_x值比較,選擇hip_x值相同的狀態(tài)作為trot步態(tài)接入點(diǎn);
(4)模式控制:
walk-to-trot步態(tài)切換中,除了要改變節(jié)律之外,步長S、周期T、重心移動(dòng)速度v都需要進(jìn)行相應(yīng)調(diào)整,三者關(guān)系為v=S/T,但是,間歇靜步態(tài)的重心前移并不是均勻分布在整個(gè)周期中,而是集中在1/3個(gè)周期,因此,將間歇靜步態(tài)重心的實(shí)際移動(dòng)速度記為:vwalk=3L/Twalk,而對trot步態(tài)一個(gè)周期的兩個(gè)階段來說,重心不斷前移,速度記為:vtrot=2L'/Ttrot,其中,L'為trot步態(tài)的步長,Ttrot為其周期;
為保證步態(tài)切換過程中重心移動(dòng)速度的連續(xù)性,希望得到一個(gè)合適的加速度,使得機(jī)器人在開始切換到切換完成的過程中達(dá)到下列目標(biāo):
①切換隊(duì)列起點(diǎn)速度為vwalk;
②切換隊(duì)列終點(diǎn)速度為vtrot;
③三個(gè)切換隊(duì)列速度連續(xù),加速度保持不變。
其中,三個(gè)切換隊(duì)列任意時(shí)刻重心移動(dòng)距離記為Lt,速度記為vt,兩者和時(shí)間的關(guān)系分別為:
Lt=vwalkt+0.5at2,
vt=vwalk+at,
由于切換隊(duì)列結(jié)束點(diǎn)的重心移動(dòng)距離Lsum和速度vtrot已知,并設(shè)三個(gè)切換隊(duì)列用時(shí)為Tsum,將下列條件t=Tsum,L=Lsum,vt=vtrot帶入以上公式Lt=vwalkt+0.5at2和vt=vwalk+at:
求得
因此,切換隊(duì)列的開始點(diǎn)到結(jié)束點(diǎn)之間速度變化是一個(gè)關(guān)于時(shí)間t的函數(shù),如下公式:
這樣,就保證了由walk步態(tài)向trot步態(tài)切換過程中速度變化連續(xù)性,從而,提高轉(zhuǎn)換過程中機(jī)器人的平滑穩(wěn)定性;
(5)改進(jìn)的泛穩(wěn)定裕量失穩(wěn)判據(jù)法:
首先,利用以下公式對于零力矩投影點(diǎn)在不受慣性力影響和受到慣性力影響兩種情況在前進(jìn)方向的差值d進(jìn)行計(jì)算:
其中,h為機(jī)體重心高度,v為停止瞬間機(jī)體前進(jìn)速度。
求得d值如下:
為使機(jī)器人保持原有穩(wěn)定域度,不受慣性力帶來的影響,首先,在勻加速開始的第一周期內(nèi),使四足擺動(dòng)較給定標(biāo)準(zhǔn)步長短d,支撐多邊形在其它情況不變的基礎(chǔ)上也較原來的支撐多邊形少向前移動(dòng)d;然后,恢復(fù)給定標(biāo)準(zhǔn)步長,使改進(jìn)的支撐多邊形始終位于改進(jìn)前支撐多邊形后方d處;最后,當(dāng)勻加速運(yùn)動(dòng)結(jié)束時(shí),在一個(gè)周期內(nèi)使足端向前擺動(dòng)步長較標(biāo)準(zhǔn)步長增加d,恢復(fù)為改進(jìn)前的支撐多邊形。
本發(fā)明同時(shí)考慮相位差和切換速度,在提高步態(tài)切換穩(wěn)定性平滑性的同時(shí),縮短由收到切換信號到切換開始的時(shí)間差,保證機(jī)器人步態(tài)切換的穩(wěn)定高效。
附圖說明
圖1是本發(fā)明中所采用的間歇靜步態(tài)(static walk,簡記為walk)示意圖。
圖2是本發(fā)明中采用的對角小跑步態(tài)(trot)示意圖。
圖3是一個(gè)trot周期內(nèi)對角小跑步態(tài)的接入點(diǎn)示意圖。
圖4是對角腿選取規(guī)則示意圖。
圖5是靜步態(tài)切換點(diǎn)1到動(dòng)步態(tài)接入點(diǎn)2切換規(guī)則示意圖。
圖6是靜步態(tài)切換點(diǎn)2到動(dòng)步態(tài)接入點(diǎn)1切換規(guī)則示意圖。
圖7是靜步態(tài)切換點(diǎn)3到動(dòng)步態(tài)接入點(diǎn)1切換規(guī)則示意圖。
圖8是靜步態(tài)切換點(diǎn)4到動(dòng)步態(tài)接入點(diǎn)1切換規(guī)則示意圖。
圖9是靜步態(tài)切換點(diǎn)5到動(dòng)步態(tài)接入點(diǎn)2切換規(guī)則示意圖。
圖10是靜步態(tài)切換點(diǎn)6到動(dòng)步態(tài)接入點(diǎn)2切換規(guī)則示意圖。
圖11是改進(jìn)的泛穩(wěn)定裕量失穩(wěn)判據(jù)法的示意圖。
具體實(shí)施方法
本發(fā)明的應(yīng)用于四足仿生機(jī)器人的靜步態(tài)和對角小跑步態(tài)切換算法,首先需要定義切換過程中足端位置x值。本發(fā)明中,給出一種切換過程中足端位置x值的定義方法,在切換過程中,由于存在足的擺動(dòng)和身體的前進(jìn)同時(shí)進(jìn)行的情況,因此,足端擺動(dòng)的初始位置與落地點(diǎn)位置是足端對于自身坐標(biāo)系的相對位置,為標(biāo)明足端擺動(dòng)起始點(diǎn)和落足點(diǎn)在機(jī)體坐標(biāo)系x方向的位置,定義足端與自身髖關(guān)節(jié)的相對位置hip_x,表示原則為以自身髖關(guān)節(jié)為原點(diǎn),若落足點(diǎn)在原點(diǎn)前方則位置為正,在后方則為負(fù)。
本發(fā)明給出了間歇靜步態(tài)向?qū)切∨懿綉B(tài)切換的六種情況以及最優(yōu)的切換方法。首先,給出了步態(tài)切換過程中足端位置描述的定義方法,提出了間歇靜步態(tài)及其可發(fā)生切換的點(diǎn)和對角小跑步態(tài)及其可接入的點(diǎn);然后,給出了步態(tài)切換中節(jié)律控制的規(guī)則和模式控制的策略,保證了切換過程中速度的平滑性;最后,提出改進(jìn)的泛穩(wěn)定裕量穩(wěn)定性判別法,使其可以準(zhǔn)確監(jiān)控步態(tài)過渡時(shí)處于加速狀態(tài)的機(jī)體穩(wěn)定性。具體過程如下所述。
1.間歇靜步態(tài)及其可發(fā)生切換的點(diǎn)
本發(fā)明中所采用的間歇靜步態(tài)(static walk,簡記為walk)如圖1所示,定義步長為L,一個(gè)周期可分為六階段。階段1:右后足(right hind foot,RH)向前擺動(dòng)一個(gè)步長(記為L),此階段結(jié)束時(shí),RH落足點(diǎn)在自身髖關(guān)節(jié)前方L/2處;階段2:右前足(right front foot,RF)向前擺動(dòng)一個(gè)步長,使足端落足點(diǎn)位于自身髖關(guān)節(jié)前L/2處;階段3:重心向右向前移動(dòng),在圖1中,標(biāo)出了walk步態(tài)的中心線、左側(cè)穩(wěn)定邊界、右側(cè)穩(wěn)定邊界,左右穩(wěn)定邊界與中心線的距離為根據(jù)機(jī)身尺寸的大小確定的使機(jī)器人保持穩(wěn)定行走的最小值。前移距離為L/2,右移到達(dá)右側(cè)穩(wěn)定邊界。此階段運(yùn)動(dòng)結(jié)束時(shí),RF、RH落足點(diǎn)與自身髖關(guān)節(jié)在x方向保持一致,左前足(lift front foot,LF)、左后足(lift hind foot,LH)在自身髖關(guān)節(jié)后方L/2處;階段4:LH向前擺動(dòng)L,使LH落足點(diǎn)位于自身髖關(guān)節(jié)前方L/2處;階段5:LF向前擺動(dòng)L,該階段結(jié)束時(shí)其落足點(diǎn)位于自身髖關(guān)節(jié)前方L/2處;階段6:重心向左向前移動(dòng),前移距離為L/2,左移到左側(cè)穩(wěn)定邊界,這一階段結(jié)束后,LF、LH的x值與各自自身髖關(guān)節(jié)x值相同,RF、RH則位于自身髖關(guān)節(jié)后方L/2處。通過上述六個(gè)階段往復(fù)循環(huán),機(jī)器人完成walk步態(tài)運(yùn)動(dòng)。
為使walk能夠最小時(shí)間切換,必須滿足每一階段結(jié)束后都可以立即進(jìn)行步態(tài)轉(zhuǎn)換的要求,從而定義以下六個(gè)如圖1所示的切換點(diǎn),階段1、2、3、4、5、6結(jié)束點(diǎn)分別命名為切換點(diǎn)1(Switching Point1,簡記為SP1)、切換點(diǎn)2(SP2)、切換點(diǎn)3(SP3)、切換點(diǎn)4(SP4)、切換點(diǎn)5(SP5)、切換點(diǎn)6(SP6)。
各切換點(diǎn)處四足的hip_x值如下:
SP1:
SP2:
SP3:
SP4:
SP5:
SP6:
2.對角小跑步態(tài)及其可接入的點(diǎn)
本發(fā)明中采用的對角小跑步態(tài)(trot)如圖2所示,定義步長為L',將左前-右后腿定義為對角腿1(Diagonal Legs1,簡記為DL1),右前-左后腿定義為對角腿2(Diagonal Legs2,DL2)。一個(gè)步態(tài)周期,分為兩階段,兩對角腿分別作為一次支撐足和擺動(dòng)足,其中,足端位于自身髖關(guān)節(jié)后方半個(gè)步長的對角腿作為擺動(dòng)足,另外的足作為支撐足,且在擺動(dòng)足處于步態(tài)曲線的最高點(diǎn)時(shí),四足分別位于自身髖關(guān)節(jié)的正下方。上述半個(gè)周期結(jié)束后,第一階段的支撐足位于自身髖關(guān)節(jié)后方半個(gè)步長,第一階段的擺動(dòng)足位于自身髖關(guān)節(jié)前方半個(gè)步長,開始下一階段擺動(dòng)與支撐。
一個(gè)trot周期內(nèi)對角小跑步態(tài)的接入點(diǎn)有圖3中的兩個(gè),分別為狀態(tài)1(Condition1,簡記為C1)和狀態(tài)2(Condition2,C2)。C1中,DL1位于自身髖關(guān)節(jié)前方半個(gè)步長,DL2位于自身髖關(guān)節(jié)后方半個(gè)步長;C2中,DL1位于自身髖關(guān)節(jié)后方半個(gè)步長,DL2位于自身髖關(guān)節(jié)前方半個(gè)步長。
另外,還需知道trot步態(tài)狀態(tài)點(diǎn)處下一時(shí)刻哪一對角腿擺動(dòng)。圖3中空心實(shí)線圓點(diǎn)為每種狀態(tài)下一階段的擺動(dòng)足,可見,位于自身髖關(guān)節(jié)后方半個(gè)步長的對角腿為下一階段擺動(dòng)腿,另一對角腿為下一階段支撐腿,C1的下一對擺動(dòng)足為DL2,C2的下一對擺動(dòng)足為DL1。
各狀態(tài)點(diǎn)處四足的hip_x值如下:
C1
C2
3.切換規(guī)則
3.1節(jié)律調(diào)整
針對六種不同的walk步態(tài)切換點(diǎn),給出同樣的三個(gè)切換隊(duì)列:切換隊(duì)列1是調(diào)整重心位置;切換隊(duì)列2是調(diào)整DL1(DL2);切換隊(duì)列3是調(diào)整DL2(DL1)。針對切換隊(duì)列2和3,如何確定哪一隊(duì)列對哪一對角腿進(jìn)行調(diào)整,接入trot步態(tài)的哪一狀態(tài),遵循圖4中的對角腿選取規(guī)則。切換隊(duì)列的三個(gè)階段具體如下:
切換隊(duì)列1:重心調(diào)整,在左右方向?qū)⒅匦恼{(diào)至中心位置,在前后方向上,將重心調(diào)至x值較大一側(cè)足(左側(cè)足或右側(cè)足)的兩落足點(diǎn)x方向中心位置;
切換隊(duì)列2:重心加速前進(jìn)。由四足中hip_x最小的足所在的對角腿作為本階段擺動(dòng)對角腿,若有兩個(gè)足hip_x都為最小,后腿優(yōu)先。例如:切換點(diǎn)1處發(fā)生切換時(shí),右前、右后腿的hip_x都為-L'/2,選擇右后腿所在的對角腿1進(jìn)行調(diào)整。切換點(diǎn)2處發(fā)生切換時(shí),則由hip_x值最小的右前腿來決定此次進(jìn)行調(diào)整的腿為對角腿2。在重心前移距離不變的情況下,使擺動(dòng)的對角腿相對于自身髖關(guān)節(jié)的hip_x變?yōu)長'/2,并進(jìn)入下一階段;
切換隊(duì)列3:重心加速前進(jìn)??刂屏硪粚峭认蚯皵[動(dòng),使其hip_x變?yōu)長'/2。
在walk步態(tài)六個(gè)不同切換點(diǎn)處的具體切換方法如下:
①Case 1:靜步態(tài)切換點(diǎn)1到動(dòng)步態(tài)接入點(diǎn)2切換規(guī)則
walk步態(tài)在階段1各個(gè)時(shí)刻接到切換步態(tài)命令均在切換點(diǎn)1處發(fā)生切換。切換點(diǎn)1時(shí)刻,機(jī)器人結(jié)束向左向前重心調(diào)整,準(zhǔn)備邁動(dòng)右后腿。如圖5所示,執(zhí)行切換隊(duì)列進(jìn)行切換。
切換隊(duì)列1:調(diào)整重心位置,在前后方向不變的前提下,將重心向右調(diào)整,達(dá)到中心線位置;
切換隊(duì)列2:調(diào)整DL1,使得調(diào)整結(jié)束時(shí),-LFhip_x=RHhip_x=0.5L';
切換隊(duì)列3:調(diào)整DL2,使得調(diào)整結(jié)束時(shí),RFhip_x=LHhip_x=0.5L'。
在轉(zhuǎn)換隊(duì)列2和3中,重心勻加速前移,每一切換隊(duì)列前進(jìn)距離都為L',切換隊(duì)列結(jié)束后,四足相對于自身髖關(guān)節(jié)的hip_x取值因此trot步態(tài)接入點(diǎn)2,開始trot步態(tài)。
②Case 2:靜步態(tài)切換點(diǎn)2到動(dòng)步態(tài)接入點(diǎn)1切換規(guī)則
walk步態(tài)執(zhí)行過程中,若在階段2內(nèi)接到步態(tài)切換信號,在到達(dá)切換點(diǎn)2處發(fā)生切換。此時(shí),右后腿擺動(dòng)結(jié)束,如圖6所示,根據(jù)切換規(guī)則進(jìn)行如下切換。
切換隊(duì)列1:向右調(diào)整重心,使其投影到達(dá)中心線位置;
切換隊(duì)列2:選取DL2作為切換隊(duì)列2中的擺動(dòng)腿,擺動(dòng)結(jié)束后:
RFhip_x=LHhip_x=0.5L';
切換隊(duì)列3:對DL1作為擺動(dòng)腿,調(diào)整至結(jié)束位置為LFhip_x=RHhip_x=0.5L'。
在切換隊(duì)列2和3中,重心加速前移,每一切換隊(duì)列中前進(jìn)距離均為L',因此,四足位置為trot步態(tài)的接入點(diǎn)1,開始trot步態(tài)。
③Case 3:靜步態(tài)切換點(diǎn)3到動(dòng)步態(tài)接入點(diǎn)1切換規(guī)則
若在walk步態(tài)的階段3內(nèi)收到切換命令,則在切換點(diǎn)3處開始執(zhí)行切換隊(duì)列,如圖7所示,這一切換時(shí)間點(diǎn)為右前腿擺動(dòng)結(jié)束而重心移動(dòng)還沒有開始,根據(jù)切換隊(duì)列做如下調(diào)整:
切換隊(duì)列1:將重心向右調(diào)整到中心線上方,向前移至右側(cè)前后足落足點(diǎn)中心位置;
切換隊(duì)列2:邁動(dòng)DL2到指定位置,使擺動(dòng)結(jié)束時(shí)hip_x值為
RFhip_x=LHhip_x=0.5L';
切換隊(duì)列3:邁動(dòng)DL1,使擺動(dòng)結(jié)束時(shí)hip_x值為LFhip_x=RHhip_x=0.5L'。
在切換隊(duì)列2和3中,重心加速前移,前進(jìn)距離都為L',因此,轉(zhuǎn)換隊(duì)列3結(jié)束之后,四足位置為trot步態(tài)中的接入點(diǎn)1,進(jìn)入trot步態(tài)。
④Case 4:靜步態(tài)切換點(diǎn)4到動(dòng)步態(tài)接入點(diǎn)1切換規(guī)則
階段4中收到切換,切換點(diǎn)4處開始執(zhí)行,時(shí)間點(diǎn)為重心向右前方移動(dòng)結(jié)束而左后腿擺動(dòng)還沒有開始,如圖8所示,根據(jù)切換隊(duì)列依次調(diào)整如下:
切換隊(duì)列1:將重心向左調(diào)整,使其投影位于中心線正上方;
切換隊(duì)列2:調(diào)整DL1,使其擺動(dòng)結(jié)束時(shí)位置為RFhip_x=LHhip_x=0.5L';
切換隊(duì)列3:調(diào)整DL2,結(jié)束時(shí)DL2的位置為LFhip_x=RHhip_x=0.5L',同時(shí),RFhip_x=LHhip_x=-0.5L'。
在切換隊(duì)列2和3中,重心加速前移,前進(jìn)距離都為L',因此切換隊(duì)列3結(jié)束后,四足位置為trot步態(tài)接入點(diǎn)1的描述,開始trot步態(tài)。
⑤Case 5:靜步態(tài)切換點(diǎn)5到動(dòng)步態(tài)接入點(diǎn)2切換規(guī)則
切換點(diǎn)5處發(fā)生切換,時(shí)間點(diǎn)為左后足擺動(dòng)結(jié)束而左前足擺動(dòng)還沒有開始,如圖9所示。
切換隊(duì)列1:向左調(diào)整重心到中心線位置,完成切換隊(duì)列1;
切換隊(duì)列2:調(diào)整DL1,擺動(dòng)結(jié)束后使DL1位置為LFhip_x=RHhip_x=0.5L';
切換隊(duì)列3:調(diào)整對角腿2,擺動(dòng)結(jié)束后DL2位置為RFhip_x=LHhip_x=0.5L'。
在切換隊(duì)列2和3中,重心加速前移,前進(jìn)距離均為L',因此,四足位置為trot步態(tài)的接入點(diǎn)2,開始執(zhí)行trot步態(tài)。
⑥Case 6:靜步態(tài)切換點(diǎn)6到動(dòng)步態(tài)接入點(diǎn)2切換規(guī)則
切換點(diǎn)6處發(fā)生切換時(shí)如圖10所示,這一切換時(shí)間點(diǎn)為LF擺動(dòng)結(jié)束而重心移動(dòng)未開始。
切換隊(duì)列1:將重心向左調(diào)整到中心線上方,向前移至左側(cè)前后足落足點(diǎn)中心位置;
切換隊(duì)列2:邁動(dòng)對DL1到指定位置,使LFhip_x=RHhip_x=0.5L';
切換隊(duì)列3:邁動(dòng)對DL2,使RFhip_x=LHhip_x=0.5L'。
在切換隊(duì)列2和3中,重心加速前移,前進(jìn)距離都為L',因此,切換隊(duì)列3結(jié)束之后,四足位置為trot步態(tài)中的接入點(diǎn)2,進(jìn)入trot步態(tài)。
4.2模式控制
walk-to-trot步態(tài)切換中,除了要改變節(jié)律之外,其步長S、周期T、重心移動(dòng)速度v都需要進(jìn)行相應(yīng)調(diào)整。三者關(guān)系為v=S/T。但是,間歇靜步態(tài)的重心前移并不是均勻分布在整個(gè)周期中,而是集中在1/3個(gè)周期。因此,將間歇靜步態(tài)重心的實(shí)際移動(dòng)速度記為:vwalk=3L/Twalk。而對trot步態(tài)一個(gè)周期的兩個(gè)階段來說,重心不斷前移,速度可記為:vtrot=2L'/Ttrot。其中,L'為trot步態(tài)的步長,Ttrot為其周期。
為保證步態(tài)切換過程中重心移動(dòng)速度的連續(xù)性,希望得到一個(gè)合適的加速度,使得機(jī)器人在開始切換到切換完成的過程中達(dá)到下列目標(biāo):
(1)切換隊(duì)列起點(diǎn)速度為vwalk;
(2)切換隊(duì)列終點(diǎn)速度為vtrot;
(3)三個(gè)切換隊(duì)列速度連續(xù),加速度保持不變。
其中,三個(gè)切換隊(duì)列任意時(shí)刻重心移動(dòng)距離記為Lt,速度記為vt,兩者和時(shí)間的關(guān)系分別為:
Lt=vwalkt+0.5at2 (1)
vt=vwalk+at (2)
由于切換隊(duì)列結(jié)束點(diǎn)的重心移動(dòng)距離Lsum和速度vtrot已知,并設(shè)三個(gè)切換隊(duì)列用時(shí)為Tsum,將下列條件t=Tsum,L=Lsum,vt=vtrot帶入公式(1)和(2):
求得
因此,切換隊(duì)列的開始點(diǎn)到結(jié)束點(diǎn)之間速度變化是一個(gè)關(guān)于時(shí)間t的函數(shù),如下公式:
這樣,就保證了由walk步態(tài)向trot步態(tài)切換過程中速度變化連續(xù)性,從而,提高轉(zhuǎn)換過程中機(jī)器人的平滑穩(wěn)定性。
4.改進(jìn)的泛穩(wěn)定裕量失穩(wěn)判據(jù)法
機(jī)器人勻速前進(jìn)時(shí),采用泛穩(wěn)定裕量(wide stability margin,WSM)進(jìn)行穩(wěn)定性判據(jù)。但在walk-to-trot切換隊(duì)列中,機(jī)器人勻加速前進(jìn),從而產(chǎn)生向后的慣性力,這時(shí),只考慮重力對機(jī)身重心投影的影響已不再準(zhǔn)確。另外,若慣性力過大,采用WSM得到的穩(wěn)定域度可能不再滿足給定穩(wěn)定域度最小值,因此,需要抵消慣性力對機(jī)身產(chǎn)生的影響。本發(fā)明同時(shí)考慮重力和慣性力,在兩力的合力方向?qū)ふ抑匦耐队包c(diǎn),如圖11所示,將該方法稱為改進(jìn)的泛穩(wěn)定裕量失穩(wěn)判據(jù)法(modified wide stability margin,MWSM)。
首先,利用公式(4)對于零力矩投影點(diǎn)在不受慣性力影響和受到慣性力影響兩種情況在前進(jìn)方向的差值d進(jìn)行計(jì)算;
其中,h為機(jī)體重心高度,v為停止瞬間機(jī)體前進(jìn)速度。
利用公式(4)求得d值如下:
為使機(jī)器人保持原有穩(wěn)定域度,不受慣性力帶來的影響。首先,在勻加速開始的第一周期內(nèi),使四足擺動(dòng)較給定標(biāo)準(zhǔn)步長短d,支撐多邊形在其他情況不變的基礎(chǔ)上也較原來的支撐多邊形少向前移動(dòng)d;然后,恢復(fù)給定標(biāo)準(zhǔn)步長,使改進(jìn)的支撐多邊形始終位于改進(jìn)前支撐多邊形后方d處;最后,當(dāng)勻加速運(yùn)動(dòng)結(jié)束時(shí),在一個(gè)周期內(nèi)使足端向前擺動(dòng)步長較標(biāo)準(zhǔn)步長增加d,恢復(fù)為改進(jìn)前的支撐多邊形。