肖 樂,常晉義,殷晨波
(1.常熟理工學(xué)院 計算機(jī)科學(xué)與工程學(xué)院,江蘇 常熟 215500;
2.南京工業(yè)大學(xué) 機(jī)械與動力工程學(xué)院,南京 210009)
仿人機(jī)器人是通過腳掌與地面發(fā)生間斷接觸來實現(xiàn)行走的,在仿人機(jī)器人諸多運動特性中,姿態(tài)穩(wěn)定性是最重要的一環(huán),失去姿態(tài)穩(wěn)定性會產(chǎn)生嚴(yán)重后果,它將使機(jī)器人無法維持穩(wěn)定行走狀態(tài)[1,2].
為了實現(xiàn)穩(wěn)定行走,本文通過引入FZMP概念,提出了基于FZMP的在線穩(wěn)定性控制方法,針對實際環(huán)境進(jìn)行自適應(yīng)步態(tài)行走控制,通過計算機(jī)仿真來模擬系統(tǒng)的動態(tài)特性,揭示機(jī)構(gòu)的合理運動方案及有效的參數(shù)化設(shè)計,從而解決在機(jī)器人設(shè)計、制造以及運行過程中的問題.
對于仿人機(jī)器人來說,運動穩(wěn)定性一直是困擾其快速穩(wěn)定運動的一大問題,ZMP[3]概念的引入在一定程度上解決了運動過程中的穩(wěn)定性判別,但是在實際中,往往會因為模型誤差、運動參數(shù)的誤差等原因,使得理論上的ZMP與實際的ZMP點不同,比如計算出的ZMP點超出了支撐多邊形的范圍,此時仿人機(jī)器人就會摔倒.要使得機(jī)器人能在行走中保持動態(tài)平衡,必須考慮地面反作用力作用點Pc和支撐多邊形之間的聯(lián)系.如果Pc點的位置位于支撐多邊形內(nèi),那么機(jī)器人處于動態(tài)平衡,計算確定的Pc點就是習(xí)慣上所稱的ZMP點;如果計算所得的Pc點位于支撐多邊形以外,稱之為FZMP點(Fictious Zero-Moment Point,簡稱FZMP)[4].
如果我們知道FZMP的位置,就可以確定旋轉(zhuǎn)邊界、FZMP到旋轉(zhuǎn)邊界的距離以及失穩(wěn)的方向.這兩個參數(shù)在保持機(jī)器人穩(wěn)定性分析中起著重要的作用.
如果計算得到的地面反作用力作用點Pc處于支撐多邊形之外,此時采用基于FZMP在線調(diào)整控制策略[5],如圖1所示.根據(jù)FZMP定義,可以得到兩個重要參數(shù),即FZMP到旋轉(zhuǎn)邊界的距離以及失穩(wěn)的方向,由安裝在仿人機(jī)器人關(guān)節(jié)處的角度傳感器我們可以獲得關(guān)節(jié)角度的改變量△θ.根據(jù)旋轉(zhuǎn)邊界的距離以及失穩(wěn)的方向確定落腳點位置,并通過平衡控制方法改變FZMP位置,使其落在新的支撐多邊形之內(nèi).
首先通過調(diào)整擺動腳的著地位置來改變支撐多邊形大小,將FZMP點調(diào)整到支撐多邊形內(nèi)的任意位置,從而讓機(jī)器人穩(wěn)定.圖2所示為考慮前向平面內(nèi),原腳掌應(yīng)該落在實線表示的平面位置上,陰影的位置是改變步長后向前移動的位置.
在單腳支撐期時,當(dāng)機(jī)器人有向后跌倒的趨勢時,應(yīng)該采取降低支撐腿的高度,抬高擺動腿踝關(guān)節(jié)向前的高度,補(bǔ)償增大支撐腿踝關(guān)節(jié)前向運動量,使得支撐腿踝關(guān)節(jié)以上的軀干向前運動的加速度增大,擺動腳落在原支撐多邊形以外,形成一個新的支撐多邊形,此時FZMP將落在新支撐多邊形內(nèi).反之,當(dāng)機(jī)器人向前傾倒時,補(bǔ)償增大支撐踝關(guān)節(jié)前擺的反向運動量.腳的著地位置應(yīng)該改變以適應(yīng)保持穩(wěn)定的要求.
由于傳感器返回數(shù)值的不準(zhǔn)確或數(shù)據(jù)延時,都會造成機(jī)器人的運動角度超過規(guī)劃角度從而失去控制最終摔倒,此時關(guān)節(jié)角度通常遠(yuǎn)遠(yuǎn)大于規(guī)劃的角度,可以調(diào)整關(guān)節(jié)返回上一姿態(tài)以維持機(jī)器人的平衡,這需要給步態(tài)發(fā)生器以信號返回上一步態(tài),重新開始規(guī)劃的序列.
通過擴(kuò)大支撐多邊形的工作過程及其變量定義如下:
(2)為確定落腳位置在線計算FZMP到旋轉(zhuǎn)邊界距離及失穩(wěn)方向.
圖1 基于FZMP在線調(diào)整控制策略
圖2 機(jī)器人落腳位置確定
(6)根據(jù)當(dāng)前步態(tài)參數(shù)和關(guān)節(jié)軌跡,通過三次樣條插值擬合方法,重新規(guī)劃擺動腿踝關(guān)節(jié)的運動軌跡曲線,并返回給模糊控制器輸入端.
由于仿人機(jī)器人研制的復(fù)雜性,必需在物理樣機(jī)制造之前先建立一個虛擬樣機(jī)系統(tǒng),在虛擬環(huán)境中模擬仿人機(jī)器人雙足行走的狀態(tài),估計步態(tài)軌跡、步行控制方法的有效性,通過模型計算出各個關(guān)節(jié)的驅(qū)動力矩的變化軌跡等,并對設(shè)計方案進(jìn)行優(yōu)化,提高物理樣機(jī)研制成功的概率.因此以機(jī)械系統(tǒng)動力學(xué)分析軟件ADAMS為基礎(chǔ),建立仿人機(jī)器人虛擬樣機(jī),從而實現(xiàn)一個完整的虛擬樣機(jī)模型.
ADAMS模型中的輸入變量相當(dāng)于要求的控制量,即關(guān)節(jié)驅(qū)動力矩;輸出變量相當(dāng)于傳感器的測量值,即系統(tǒng)的狀態(tài)信息,主要包括:各個關(guān)節(jié)的角位移、角速度和角加速度以及整體信息如重心、FZMP等.
ADAMS中具體的建模過程為:
1、設(shè)置ADAMS基本參數(shù).ADAMS基本參數(shù)的設(shè)置包括工作柵格、單位、重力等的設(shè)置.
2、確立設(shè)計變量.在參數(shù)化仿真分析時,我們需要用到設(shè)計變量.有兩個定義設(shè)計變量參數(shù)值的方法,一種是定義變量的變化范圍,另一種是用列表的方式給定在各次分析中每一個變量的參數(shù)值.這里,我們定義機(jī)器人的大腿和小腿的長度為設(shè)計變量,在進(jìn)行參數(shù)化分析時,分析大小腿長度比例對機(jī)器人腳底受力的影響.
3、參數(shù)化建模.創(chuàng)建機(jī)器人立正姿態(tài)的各個關(guān)鍵點,以關(guān)鍵點為基準(zhǔn)建立各連桿和機(jī)構(gòu).當(dāng)點的位置變化時,連桿和機(jī)構(gòu)會相應(yīng)更新.
4、添加運動副和約束.在相鄰兩連桿間建立鉸鏈運動副,使連桿只能在一個方向上相對轉(zhuǎn)動,約束其余的5個相對自由度.在機(jī)器人的雙腳與地面間建立接觸模型,并設(shè)置好靜磨擦系數(shù)和滑動磨擦系數(shù).
5、創(chuàng)建運動.為各個關(guān)節(jié)給定運動約束,為運動關(guān)節(jié)施加驅(qū)動力矩.這些力矩是機(jī)器人運動的驅(qū)動力矩,是機(jī)器人動力的來源.
6、建立測量和虛擬傳感器.開發(fā)了名為Robot的機(jī)器人仿真菜單,如圖3所示,點擊其下拉菜單Simulation會出現(xiàn)機(jī)器人的設(shè)計變量列表,如圖4所示.設(shè)計變量是由用戶定義的獨立參量,用來控制模型中的對象,如機(jī)器人的雙腿.由于分析的需要,雙腿的長度是可變的,這時就可以定義一個長度變量,用這個變量來控制機(jī)器人大腿和小腿的長度.通過參數(shù)化建模,改變大、小腿的長度進(jìn)行仿真,比較大腿和小腿的長度對足部受力的影響.在表中輸入變量的值并點擊ok會自動生成機(jī)器人的模型.在實際的設(shè)計研究過程中,對虛擬樣機(jī)進(jìn)行建模、仿真分析和數(shù)據(jù)后處理,還要對虛擬樣機(jī)作進(jìn)一步的深入分析.用人工的方式對虛擬樣機(jī)進(jìn)行多次修改,然后進(jìn)行反復(fù)的仿真分析,最終可以得到滿意的虛擬樣機(jī)模型.
圖3 機(jī)器人仿真菜單
圖4 設(shè)計變量列表
在ADAMS中建立可參數(shù)化模型及各部件的相互約束后,就可以對規(guī)劃的步行規(guī)律進(jìn)行仿真試驗,以解決桿件之間的協(xié)調(diào)關(guān)系,同時通過仿真可以驗證規(guī)劃操作的可行性,得到可用于實際操作的目標(biāo)值.
圖5,6,7為大小腿長度不同時足底中心受力情況.其中圖5為大腿和小腿長度分別為0.3m和0.4m時的受力情況,圖6為大腿和小腿長度都為0.35m時的受力情況,圖7為大腿和小腿長度分別為0.4m和0.3m時的受力情況.
圖5 大小腿長度為0.3m和0.4m時的受力
圖6 大小腿長度都為0.35m時的受力
由圖可以看出,當(dāng)大腿長度為0.3m小腿長度為0.4m的時候,受力曲線的斜率變化較大,但在受力的最大值處過渡比較平穩(wěn);當(dāng)大小腿長度相等,都為0.35m的時候,受力曲線下降的比較平穩(wěn),但在曲線最高點處斜率變化較大;第三種情況和第二種情況相似,只是斜率是由小變大,而第二種情況時斜率是由大變小的.從穩(wěn)定性方面來看,當(dāng)步態(tài)規(guī)劃曲線相同時,第一種情況在受力的最大值處,也就是0.35s左右過渡平穩(wěn),穩(wěn)定性比較好,而在始末階段沖擊比較大,較容易失穩(wěn);第二和第三種情況在受力的最大值處,也就是0.1s左右受力變化較快,穩(wěn)定性較差,而在始末階段受力過渡平穩(wěn),穩(wěn)定性較高.
圖7 大小腿長度為0.4m和0.3m時的受力
由仿真結(jié)果可知,通過FZMP控制策略,預(yù)先輸入的關(guān)節(jié)運動的驅(qū)動關(guān)節(jié)能夠按照預(yù)先規(guī)劃的軌跡運行,實現(xiàn)仿人機(jī)器人的穩(wěn)定行走.參數(shù)化建模使得設(shè)計者只需輸入設(shè)計變量系統(tǒng)就會自動生成模型,簡化了建模過程;機(jī)器人仿真專用菜單則簡化了仿真過程,點擊Robot菜單的下拉菜單Simulation就能方便快捷地進(jìn)行機(jī)器人的仿真.并對大、小腿長度不同時的腳底受力情況進(jìn)行比較,分析大、小腿長度對足底受力的影響.在ADAMS中建立仿人機(jī)器人虛擬樣機(jī)模型,提供機(jī)器人三維實體模型,為實現(xiàn)仿人機(jī)器人實時控制奠定了基礎(chǔ).
[1]Plestan F,Grizzle W,Wesrervelt R,et al.Stable Walking of a 7-DOF Biped Robot[J].IEEE Transactions on Robotics and Automation,2004,19(4):653-668.
[2]Napoleon S,Nakaura M.Sampel Balance Control Analysis of Humanoid Robot based on ZMP Feedback Control[C].Proceedings of the 2002 IEEE/RSJ International Conference on Intelligent Robots and System.Lausanne(Swizerland):2002:2437-2442.
[3]Vukobratovic M,Juricic D.Contributions to the synthesis of biped gait[J].IEEE Trans on Bio-Medical Engineerin,1969,16(1):1-6.
[4]Yin Chenbo,Albert Albers,et al.Stability Maintenance of a Humanoid Robot under Disturbance with Fictitious Zero-Moment Point[C].IEEE/RSJ International Conference on Intelligent Robots and Systems.Edmonton Alberta(Canada):2005:1780-1787.
[5]肖樂,殷晨波,鄭冬華.仿人機(jī)器人上下樓梯穩(wěn)定行走控制策略[J].計算機(jī)工程與設(shè)計,2009,30(10):2453-2456.