李 鵬,張凡凡,楊文權(quán),韓恒恒,趙 進
LI Peng, ZHANG Fan-fan, YANG Wen-quan, HAN Heng-heng, ZHAO Jin
(貴州大學(xué) 機械工程學(xué)院,貴陽 550025)
日、美等國的學(xué)者在仿人機器人領(lǐng)域開展了廣泛和深入的研究,取得了較多的理論和實踐成果,實現(xiàn)了從靜態(tài)步行到動態(tài)步行,從離線規(guī)劃到實時控制,從平地行走到斜坡、階梯行走,從簡單的雙足行走機構(gòu)到具有手臂、頭部以及腰部的仿人機器人的發(fā)展[1]。
國內(nèi)也已研制出各種步行及跑步機器人,但是這些仿人機器人的作用多停留在表演展示階段,缺少實際應(yīng)用[2]。
本文主要研究仿人機器人抬起重物的實際應(yīng)用問題。首先建立仿人機器人的動力學(xué)的運動學(xué)模型,然后以此為基礎(chǔ),基于人體抬起重物的實際動作姿態(tài),運用MATLAB Robotics Toolbox建立仿人機器人的運動學(xué)仿真模型,并對機器人各關(guān)節(jié)角度進行軌跡規(guī)劃。最后建立仿人機器人的三維模型,并運用虛擬樣機軟件ADAMS對軌跡規(guī)劃結(jié)果進行仿真。
本文設(shè)定仿人機器人結(jié)構(gòu)如圖1所示。腿部有三個自由度,分別為踝關(guān)節(jié)1個自由度,膝關(guān)節(jié)一個自由度,髖關(guān)節(jié)1個自由度;胳膊有三個自由度,分別為肩關(guān)節(jié)兩個自由度,肘關(guān)節(jié)一個自由度。胳膊沒有腕關(guān)節(jié),抬起重物時,通過小臂末端掛鉤于重物上設(shè)置的吊耳將重物搬起。同時將機器人的頭固定在在軀干上作為軀體的一部分,不考慮脖子的自由度。
因為本文只考慮機器人的前向和上下運動,故踝關(guān)節(jié)、髖關(guān)節(jié)和肩關(guān)節(jié)的外伸和旋轉(zhuǎn)運動不予考慮。
圖1 仿人機器人的結(jié)構(gòu)
要實現(xiàn)機器人穩(wěn)定的搬運動作,必須合理的安排各個動作順序和各關(guān)節(jié)的運動。在基于模型與實際情況相吻合的前提下,為了便于分析,將搬運重物動作分解為下蹲、搬起和站起三個階段。根據(jù)人體搬起重物的動作設(shè)計這個動作流程如圖2所示。同時這里只考慮機器人的前向和上下方向的運動,可以把仿人機器人簡化為平面連桿結(jié)構(gòu)來分析。
圖2 仿人機器人抬起重物流程
1)下蹲動作的設(shè)計
下蹲動作不考慮腰部以上的身體動作,可以將上肢簡化為一個整體,機器人可簡化為串聯(lián)六連桿機構(gòu)。建立如圖3所示坐標(biāo)系,選取右腳起點為世界坐標(biāo)系,其與地面固結(jié),各關(guān)節(jié)處建立局部坐標(biāo)系。
圖3 仿人機器人下肢運動坐標(biāo)系
運用MATLAB Robotics Toolbox進行軌跡規(guī)劃求出各關(guān)節(jié)的角速度、角加速度曲線??梢詫⒘B桿機構(gòu)平面化,在Robotics Toolbox環(huán)境下,根據(jù)機器人的D-H方法,建立下肢運動坐標(biāo)系。規(guī)定角度逆時針為正,順時針為負(fù)。運動坐標(biāo)系中每個桿件用參數(shù)采用參數(shù)alpha,A ,theta,D來描述。其中alpha為繞軸Xi從軸Zi-1到Zi旋轉(zhuǎn)的角度,A為沿軸Xi從軸Zi-1到軸Z的距離,theta為繞軸Zi-1從軸Xi到軸Xi-1的角度,D為沿軸Zi從軸Xi到軸Xi-1的距離。確定D-H坐標(biāo)參數(shù)后,采用函數(shù)link[alpha A theta D sigma]建立機器人桿件三維模型。Link函數(shù)中的simga表示關(guān)節(jié)類型,0代表旋轉(zhuǎn)關(guān)節(jié),非0代表移動關(guān)節(jié)。參考人體搬起重物的動作,機器人下蹲時前跨一步。初始時各關(guān)節(jié)姿態(tài)角q1=[0 0 0 0 0],動作完成后各關(guān)節(jié)姿態(tài)角q2=[-1.3769,2.7563,0.8565,-2.2359,0]。定義時間t=[0:0.0056:2];采用函[q,qd,qdd]=jtraj(q1,q2,t)對所建模型進行關(guān)節(jié)空間的連續(xù)路徑運動規(guī)劃仿真??汕蟮脗€關(guān)節(jié)角度、角速度和角加速度曲線如圖4~圖6所示。
圖4 仿人機器人下肢各關(guān)節(jié)角度變化
圖5 仿人機器人下肢各關(guān)節(jié)角速度變化
圖6 仿人機器人下肢各關(guān)節(jié)角加速度變化
2)上肢搬起起動作設(shè)計
機器人下蹲動作完成后,下肢姿態(tài)保持不變,同樣可以將下肢簡化為一個整體,又由于兩只手臂的動作一致,可以將機器人上肢簡化為以平面三桿機構(gòu)。建立如圖7所示坐標(biāo)系。同1)方法在在Robotics Toolbox環(huán)境下,根據(jù)機器人的D-H結(jié)構(gòu)參數(shù),建立機器人桿件三維模型。
圖7 仿人機器人上肢運動坐標(biāo)系
手臂搬起重物動作可分為兩個階段。首先手臂前伸,小臂末端與重物接觸并固定。各關(guān)節(jié)初始姿態(tài)角為姿態(tài)角為q1=[0,0,0],動作結(jié)束后各關(guān)節(jié)姿態(tài)角為q2=[-0.8538,1.0020,1.0123]。然后雙臂搬著重物向軀干方向收回,此階段初始姿態(tài)角為上一階段完成姿態(tài)角,動作完成姿態(tài)角為q3=[-0.1537,-0.0723,2.2902]。采用MATLAB Robotics Toolbox進行軌跡規(guī)劃求出各關(guān)節(jié)的角速度、角加速度曲線如圖8~圖10所示。
圖8 仿人機器人上肢各關(guān)節(jié)角度變化
圖9 仿人機器人上肢各關(guān)節(jié)角速度變化
圖10 仿人機器人上肢各關(guān)節(jié)角加速度變化
3)站起動作設(shè)計
機器人站起動作為下蹲動作的逆動作,以1)中下蹲動作完成后的各關(guān)節(jié)姿態(tài)角為初始姿態(tài)角。動作完成后,由于機器人雙臂懷抱重物,機器人若成直立雙腳并攏姿態(tài),將會因為機器人重心不落在腳掌ZMP范圍內(nèi),導(dǎo)致機器人傾覆。故根據(jù)人體搬運重物的實際動作姿態(tài),設(shè)計仿人機器人站起后各關(guān)節(jié)姿態(tài)角為q2=[-0.18846,-0.25131,0.9425,-0.50263,0]動作完成后下肢各關(guān)節(jié)姿態(tài)。采用MATLAB Robotics Toolbox進行軌跡規(guī)劃求出各關(guān)節(jié)的角度、角速度、角加速度曲線如圖11~圖13所示。
圖11 仿人機器人站起時下肢各關(guān)節(jié)角度變化
圖12 仿人機器人站起時下肢各關(guān)節(jié)角速度變化
圖13 仿人機器人站起時下肢各關(guān)節(jié)角加速度變化
為了驗證上述方法的有效性和正確性,本文采用虛擬樣機軟件ADAMS建立了仿人機器人的模型。其主要尺寸如表1所示。機器人的物理樣機包括電機、軸承座、軸承、傳動機構(gòu)等很多零件,進行運動學(xué)和動力學(xué)仿真時,無需注重這些具體零件的細(xì)節(jié),只需考慮他們的重量、重心和轉(zhuǎn)動慣量等物理參數(shù)。為減少不必要的麻煩,本文將機器人簡化為由數(shù)個剛體組成的剛體模型。
表1 仿人機器人主要幾何參數(shù)(單位:cm)
首先將MATLAB軟繪制的機器人各關(guān)節(jié)運動軌跡曲線,以文本文件格式導(dǎo)出MATLAB,在文本文件中將三個文中所述三個階段的軌跡數(shù)據(jù),按運動先后順序接合。然后將數(shù)據(jù)導(dǎo)入ADAMS環(huán)境中,采用ADAMS的近似擬合曲線函數(shù)AKISPL進行曲線擬合。機器人的關(guān)節(jié)驅(qū)動調(diào)用擬合后樣條曲線(spline),在ADAMS/View中進行機器人運動仿真。仿真過程如圖14所示。
圖14 仿人機器人抬起重物ADAMS仿真過程
圖15 各關(guān)節(jié)角度ADAMS仿真結(jié)果
圖15 中關(guān)節(jié)1、2、3、4、5的1~2秒仿真時間對應(yīng)著仿人機器人下蹲的過程,6~8秒仿真時間對應(yīng)著機器人站起的過程,仿真曲線與規(guī)劃曲線一致。仿真時間2~6秒下肢各關(guān)節(jié)沒有動作,所以其角度值保持不變,在圖中保持為直線。關(guān)節(jié)7、8為上肢手臂,如圖中所示,仿真時間2~6秒為抬起過程,其仿真曲線與規(guī)劃曲線一致。仿真時間1~2秒和6~8秒上肢手臂無動作,在圖中保持為直線。對于關(guān)節(jié)6,其在2~6秒的抬起重物過程的仿真曲線與規(guī)劃曲線基本一致。由于仿真時,仿人機器人作為一個整體,下肢運動必然帶動上肢運動,在仿真時間1~2秒和6~8秒時,機器人下蹲和站起過程中,為保證上肢軀干的穩(wěn)定,需對關(guān)節(jié)6角度進行規(guī)劃。如圖16所示,下蹲和站起過程中,關(guān)節(jié)1角度為負(fù),關(guān)節(jié)2角度為正,關(guān)節(jié)6角度為負(fù),
圖16 下蹲和站起過程中關(guān)節(jié)6角度規(guī)劃
仿真結(jié)果表明,對仿人機器人搬運重物的運動軌跡規(guī)劃是可行的和精確的。本文基于MATLAB和ADAMS建立了仿人機器人抬起重物的仿真模型。通過對機器人各關(guān)節(jié)的動作軌跡規(guī)劃,實現(xiàn)了仿人機器人下蹲、抬起重物、站起的動作,為仿人機器人的后續(xù)研究奠定了基礎(chǔ)。
[1] 徐莉,等.仿人機器人綜述[J].黑龍江科學(xué).2013(7):57-61.
[2] 張利格,黃強,楊潔,時有,王志杰,JAFRI Ali Raza.仿人機器人復(fù)雜動態(tài)動作設(shè)計及相似性研究[J].自動化學(xué)報,2007,33(5):522-528.
[3] 蔡自興.機器人學(xué)[M].北京:清華大學(xué)出版社,2009.
[4] Corke P I. A robotics toolbox for MATLAB[J]. Robotics & Automation Magazine,IEEE,1996,3(1):24-32.
[5] 許麗佳,等.MATLAB程序設(shè)計及應(yīng)用[M].北京:清華大學(xué)出版社,2011.10.
[6] 魏航信.仿人跑步機器人快速跑步研究[D].西安:電子科技大學(xué), 2006.01.
[7] 羅剛.小型仿人機器人的設(shè)計與步態(tài)研究[D].重慶:重慶大學(xué),2009.04.
[8] 易丐.仿人機器人動力學(xué)建模及參數(shù)辨識研究[D].廣西:廣西大學(xué),2011.06.
[9] (日)梶田秀司.仿人機器人[M].北京:清華大學(xué)出版社,2007.