楊窈+李霽+葉建南+章平+強(qiáng)俊
摘要:利用具有17個自由度的智能雙足機(jī)器人,采用智能技術(shù),通過ARM單片機(jī)來控制各個舵機(jī)。通過編碼調(diào)試,無線傳輸,使其達(dá)到預(yù)定的角度,由此模擬人類前進(jìn)、后退、翻滾等的各式各樣的動作,并伴隨著音樂節(jié)拍,實(shí)現(xiàn)機(jī)器人舞蹈效果。通過反復(fù)實(shí)驗(yàn)調(diào)試,智能雙足機(jī)器人舞蹈動作控制及穩(wěn)定性能良好,完成整段舞蹈的編排,達(dá)到了預(yù)期效果,證明了技術(shù)的正確性和可行性。
關(guān)鍵詞:智能雙足機(jī)器人;機(jī)器人舞蹈;動作;控制及穩(wěn)定性;自由度
中圖分類號:TP242 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)28-0192-04
Abstract:This thsis using intelligent biped robot With 17 degrees of freedom,adopted intelligent technology,using ARM single chip to control every actuators.By coding and testing,Wirelessly transmission to achieve concerted angle,from this to imitate human multifarious motion such as forwarding,fallbacking,rolling and so on,realize robot dancing effect with musical beat.By experimental testing tautologically,the action control and cooperation for intelligent biped robot function fine,complete all dancing arrange,achieve concerted effect,shows that this technology is correct and feasible.
Key words:intelligent biped robot; robot dancing; action; control and cooperation; degree of freedom
隨著社會科學(xué)技術(shù)的發(fā)展,對于機(jī)器人的研究已成為高技術(shù)領(lǐng)域內(nèi)代表性極強(qiáng)的戰(zhàn)略目標(biāo)[1]。智能雙足機(jī)器人是一種智能化的、可以模仿人類運(yùn)動方式和動作行為的特種機(jī)器人[2](如圖1)。因其具有較強(qiáng)的穩(wěn)定性及柔和性,消除了以往機(jī)器人動作的機(jī)械感與僵硬感,在國內(nèi)外收到廣泛歡迎[3]。2016春節(jié)聯(lián)歡晚會,540個機(jī)器人組成了四個方陣進(jìn)行了機(jī)器人舞蹈,節(jié)奏一致、步伐整齊,展現(xiàn)了成熟的機(jī)器人技術(shù)。
機(jī)器人的發(fā)展歷史可以追溯到1968年,美國研究人員R.Smosher制作了一臺操縱型雙足步行機(jī)械Rig,從而揭開智能雙足機(jī)器人研制的序幕[4];1969年,日本早稻田大學(xué)教授加藤一郎研制出了具有六個自由度的平面自由度步行機(jī)WAP-1,它是采用人造橡膠肌肉為關(guān)節(jié),通過肌肉收縮牽引關(guān)節(jié)轉(zhuǎn)動來實(shí)現(xiàn)動作,但因只具有六個自由度,所以它的穩(wěn)定性不高[5];國內(nèi)的起步較晚,哈爾濱工業(yè)大學(xué)于1985年開始研制雙足機(jī)器人;1989年,國防科技大學(xué)研制成功一臺具有是十個自由度并且能進(jìn)行靜態(tài)和動態(tài)步行的雙足行走機(jī)器人;本文介紹了Robonova-2智能雙足機(jī)器人模擬人類的前進(jìn)、后退、轉(zhuǎn)彎、橫向跨步、前滾翻、后滾翻、側(cè)手翻、單腿支撐蹲起、倒立、做俯臥撐、伏地起身等各種各樣的動作。并伴隨著一定的音樂節(jié)拍,實(shí)現(xiàn)機(jī)器人舞蹈效果。
1 軟硬件詳述
1.1 機(jī)器人規(guī)格
Robonova-2智能雙足機(jī)器人具有17個自由度,肩寬為9.0厘米,雙臂伸平橫向長度為18.0厘米,直立高度為32.0厘米,此尺寸類似于人體比例,由此做出的舞蹈動作更美觀,穩(wěn)定性也隨之加強(qiáng)。Robonova-2采用可充電鋰聚合物電池供電,充電時間為60分鐘左右,保證了機(jī)器人保持非連續(xù)工作一小時以上。
Robonova-2智能雙足機(jī)器人上肢三個自由度、下肢五個自由度和頭部一個自由度共17個自由度,如圖2。九號舵機(jī)控制機(jī)器人頭部的旋轉(zhuǎn)運(yùn)動方向,六號、七號、八號和十二號、十三號、十四號分別控制機(jī)器人的左右手旋轉(zhuǎn)運(yùn)動方向,零號、一號、二號、三號、四號和十八號、十九號、二十號、二十一號、二十二號分別控制機(jī)器人的左腿和右腿運(yùn)動。通過燒錄軟件將代碼燒錄到主板中,控制電路板接受來自信號線的控制信號,控制電機(jī)轉(zhuǎn)動,電機(jī)帶動一系列齒輪組,減速后傳動至輸出舵機(jī),這一系列的運(yùn)動使機(jī)器人完成各種復(fù)雜的動作。
1.2 編程軟件R-BASIC
R-BASIC全稱RoboBasic,可作為Robonova-2智能雙足機(jī)器人的編程軟件,如圖3,R-BASIC是專為控制機(jī)器人設(shè)計(jì)的一種類C語言,連接機(jī)器人與電腦,設(shè)置相應(yīng)端口,通過一些定義的變量和語句編程,用roboBasic命令控制機(jī)器人各舵機(jī)的旋轉(zhuǎn)角度從而控制機(jī)器人舞蹈。主要包括頭文件和一些動作函數(shù),用戶自定義一些機(jī)器人動作,然后通過roboBasic語法對該動作函數(shù)進(jìn)行實(shí)現(xiàn),在每個函數(shù)之間加入適當(dāng)?shù)难訒r,一個基本的控制機(jī)器人的程序就完成了。roboBasic的語法是基于普通的BASIC程序的語言,大多數(shù)的roboBasic和BASIC相像。R-BASIC的一些常用指令有DIM指令,用于變量的聲明;GOSUB,用于調(diào)用子程序;SPEED指令,用于設(shè)置伺服電機(jī)速度;DELAY指令,用于延遲程序執(zhí)行的指定時間。
2 機(jī)器人舞蹈的動作設(shè)計(jì)過程
智能雙足機(jī)器人的舞蹈動作設(shè)計(jì),是設(shè)計(jì)者根據(jù)真人舞蹈、卡通視頻以及想象中的舞蹈動作,按照機(jī)器人本身的機(jī)械結(jié)構(gòu)和形象特點(diǎn),設(shè)計(jì)各種個性化的動作。通過控制舵機(jī)在指定時間內(nèi)到達(dá)指定角度,使機(jī)器人形成預(yù)想的空間動作,如圖4。智能雙足機(jī)器人完成一個期望的動作主要有兩個過程,一是將動作數(shù)字化,即把真人的動作表示成舵機(jī)的旋轉(zhuǎn)角度、旋轉(zhuǎn)速度以及完成時間等數(shù)據(jù)序列;二是按照這些數(shù)據(jù)序列控制機(jī)器人運(yùn)動,在規(guī)定的時間內(nèi)完成相應(yīng)的舞蹈動作[4]。
智能雙足機(jī)器人的舞蹈動作設(shè)計(jì)方法主要有以下兩種:
1)直觀估測法:這種方法基于簡單模仿的思想,直接模仿模特動作,由此進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。觀察真人動作,目測估計(jì)各個動作的參數(shù),如時間間隔、舵機(jī)旋轉(zhuǎn)角度、舵機(jī)旋轉(zhuǎn)速度等。將估測到的數(shù)據(jù)用roboBASIC語言寫入單片機(jī)控制板,編譯運(yùn)行后觀察動作的效果,如果效果不佳,則返回修改相關(guān)數(shù)據(jù),重新執(zhí)行,直至確定最終結(jié)果。這種方法在觀察真人動作時存在很大的隨意性與不確定性,并且在將這些參數(shù)寫入單片機(jī)控制板之前,機(jī)器人并沒有給出相關(guān)反饋,究竟在這組數(shù)據(jù)控制下的舞蹈動作是否穩(wěn)定、協(xié)調(diào)、美觀,是否與音樂合拍等。因此,用直觀估測法設(shè)計(jì)機(jī)器人舞蹈動作需要進(jìn)行反復(fù)多次調(diào)試。
2)動作示教法:這種方法是認(rèn)為對機(jī)器人各關(guān)節(jié)進(jìn)行一定角度的旋轉(zhuǎn),將其擺置成期望的動作,記錄這個動作所對應(yīng)的舵機(jī)參數(shù)值,然后通過roboBASIC語言將各個參數(shù)值按組寫入單片機(jī)控制板,編譯運(yùn)行后觀察動作的效果,并不斷調(diào)整參數(shù)值直至達(dá)到最理想狀態(tài)。這種方法的優(yōu)勢在于可以直接反映出各關(guān)節(jié)運(yùn)動的參數(shù)值,即可以直接將機(jī)器人動作轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)程序,減少直觀估測時反復(fù)調(diào)試的次數(shù)。
3 穩(wěn)定性研究
3.1 靜態(tài)步行與動態(tài)步行
智能雙足機(jī)器人的行走方式分為兩種:靜態(tài)步行和動態(tài)步行。靜態(tài)步行是指雙足機(jī)器人在行走過程中一直處于靜態(tài)平衡狀態(tài),即其重心在地面的投影始終位于支撐面內(nèi)。靜態(tài)步行時,各桿件的速度及加速度較小,可不考慮慣性力的影響對機(jī)器人的影響,其著地時腳掌與地面接觸的瞬間速度可以忽略,可認(rèn)為不發(fā)生碰撞,因此穩(wěn)定性較易控制。而動態(tài)步行是一種高速步行方式,動態(tài)步行時,由于其高速性,使得機(jī)器人在前向和側(cè)向兩個平面產(chǎn)生慣性力,破壞了靜態(tài)平衡,穩(wěn)定性不易控制。從能量角度分析,靜態(tài)步行的驅(qū)動力矩主要是克服重力矩的,而動態(tài)步行的驅(qū)動力矩是克服重力與慣性力的合力矩的。
機(jī)器人重心(center of gravity,COG)在地面的投影可體現(xiàn)靜態(tài)步行的穩(wěn)定性。智能雙足機(jī)器人在行走的過程中,左右腳掌交替落地支撐,產(chǎn)生一個不斷移動和變化的支撐面。在此過程中,如果機(jī)器人重心在地面的投影始終保持在支撐面內(nèi),稱為滿足靜態(tài)穩(wěn)定性條件。在機(jī)器人步行速度較低時,滿足靜態(tài)穩(wěn)定性條件可保證機(jī)器人實(shí)現(xiàn)穩(wěn)定靜態(tài)步行。相反,若其重心在地面的投影落在支撐面邊緣則處于臨界穩(wěn)定狀態(tài);落在支撐面之外,則處于不穩(wěn)定狀態(tài),此時機(jī)器人會發(fā)生傾倒。因此,保持雙足機(jī)器人重心在地面的投影始終落在支撐面內(nèi),才能實(shí)現(xiàn)其穩(wěn)定的靜態(tài)步行,如圖5。
動態(tài)步行時,由于機(jī)器人慣性力的作用,其重心在地面的投影可能不會一直落在支撐面內(nèi),還會落在支撐面邊緣,如圖6所示,因此對其動態(tài)步行時的穩(wěn)定性的研究不能用重心在地面的投影來體現(xiàn),ZMP概念的提出,為機(jī)器人動態(tài)步行穩(wěn)定性的研究提供了依據(jù)。
3.2 ZMP穩(wěn)定性判據(jù)
智能雙足機(jī)器人在動態(tài)行走、舞蹈的過程中,與地面的接觸面積較小,重心較高,易發(fā)生傾倒。因此,步行的穩(wěn)定性一直是智能雙足步行機(jī)器人所要解決的技術(shù)重難點(diǎn)。常用的步行穩(wěn)定性理論是ZMP(Zero-Moment Point,零力矩點(diǎn))穩(wěn)定性判據(jù)。
1972年,伍科布拉托維奇(Vukobrastovic)等人首次提出了ZMP概念,后成為研究雙足機(jī)器人穩(wěn)定性的經(jīng)典理論。ZMP指地面上雙足機(jī)器人足底受到的合力點(diǎn),由于力的相互作用,其足底將受到的地面反作用力,反力在該點(diǎn)繞其在地面上的力矩分量為零。當(dāng)雙足機(jī)器人靜態(tài)步行時,其重心在地面的投影和ZMP重合,如圖7所示;動態(tài)步行時,由于速度的存在而產(chǎn)生慣性力,導(dǎo)致機(jī)器人的重心在地面的投影不能一直保持與ZMP重合,如圖8所示。當(dāng)重心在地面的投影落在支撐面之外時,機(jī)器人運(yùn)動是不穩(wěn)定的;若ZMP點(diǎn)落在支撐面以內(nèi),則機(jī)器人運(yùn)動是穩(wěn)定的[6]。
在智能雙足機(jī)器人行走的過程中,ZMP應(yīng)始終保持在支撐面區(qū)域之內(nèi)。若單腳支撐,則ZMP位于支撐腳的支撐區(qū)域內(nèi),此時機(jī)器人保持動態(tài)平衡,否則機(jī)器人會因穩(wěn)定性不高而傾倒。
在機(jī)器人行走的過程中,ZMP應(yīng)一直保持在支撐腳掌所組成的凸多邊形有效支撐面內(nèi)。如圖9和圖10所示,單腳支撐時,ZMP位于支撐腳的支撐面內(nèi)時機(jī)器人能保持靜態(tài)平衡,符合穩(wěn)定性要求;雙腳支撐時,ZMP位于支撐多邊形以內(nèi)且距邊緣一定距離時,機(jī)器人保持動態(tài)平衡,滿足穩(wěn)定性要求;反之,若ZMP位于穩(wěn)定支撐于的邊界,那么機(jī)器人將會傾倒或傾倒的可能性較大,此時為臨街穩(wěn)定性狀態(tài);若ZMP位于單腳支撐時的支撐多邊形之外,那么機(jī)器人會因不能保持平衡而傾倒,這就是ZMP穩(wěn)定性判據(jù)。ZMP的引入,為雙足機(jī)器人的穩(wěn)定性及動態(tài)步行的設(shè)計(jì)提供了重要的理論依據(jù)。
3.3 不穩(wěn)定原因
導(dǎo)致智能雙足機(jī)器人不穩(wěn)定的原因主要有以下五點(diǎn):
1)雙足機(jī)器人自身的不穩(wěn)定性。由于雙足機(jī)器人的各個活動關(guān)節(jié)為舵機(jī),在無電機(jī)驅(qū)動力的情況下,機(jī)器人難以保持直立狀態(tài),在有電機(jī)驅(qū)動力的情況下,當(dāng)機(jī)器人的重心在地面的投影落在足底且ZMP點(diǎn)落在支撐面以內(nèi)時,雙足機(jī)器人才可能保持穩(wěn)定行走,否則就會傾倒。
2)雙足機(jī)器人本身是一個非線性的混合系統(tǒng)。其模型近似于倒立擺模型,但機(jī)器人接觸的平面是隨機(jī)的,即它的落腳點(diǎn)是任意的,由此雙足機(jī)器人是一個非線性的復(fù)雜系統(tǒng)。
3)雙足機(jī)器人所接觸的地面隨機(jī)。在地面特征未知的情況下,機(jī)器人穩(wěn)定步行的條件是苛刻的,地面的任意角度都有可能導(dǎo)致機(jī)器人傾倒,致使雙足機(jī)器人穩(wěn)定步行的難度加大。
4)目前對人類步態(tài)行走以及人類運(yùn)動穩(wěn)定性機(jī)理的研究還不夠深入,有待進(jìn)一步的學(xué)習(xí)和提高。
3.4 ZMP的計(jì)算
要實(shí)現(xiàn)機(jī)器人的動態(tài)步行,必須保證零力矩點(diǎn)ZMP在機(jī)器人步行的過程中,始終落在其支撐面以內(nèi)。下面進(jìn)行ZMP的計(jì)算。
在笛卡爾坐標(biāo)系下的期望ZMP為[5]:
其中,(XZMP,YZMP,0)為機(jī)器人ZMP點(diǎn)的坐標(biāo);
mi為機(jī)器人各連桿的質(zhì)量;
i,i,i為機(jī)器人各連桿的質(zhì)心加速度;
(Xi,Yi,Zi)為機(jī)器人各連桿的質(zhì)心坐標(biāo);
g為重力加速度;
當(dāng)機(jī)器人靜態(tài)步行時,各連桿的質(zhì)心加速度相等且為0,即i=i=i=0,得:
由式(3)與式(4)得出智能雙足機(jī)器人靜態(tài)步行時的質(zhì)心即為ZMP。所以,只要機(jī)器人重心的投影落在其腳面上,就能保證機(jī)器人步行的穩(wěn)定性。
4 機(jī)器人舞蹈實(shí)驗(yàn)過程與結(jié)果分析
本實(shí)驗(yàn)通過不斷計(jì)算ZMP的值以及調(diào)試機(jī)器人舵機(jī)的角度來調(diào)節(jié)其穩(wěn)定性與美觀性,下面分別對機(jī)器人進(jìn)行零點(diǎn)設(shè)置實(shí)驗(yàn)、金雞獨(dú)立實(shí)驗(yàn)、側(cè)步實(shí)驗(yàn)和倒立實(shí)驗(yàn)。
4.1 零點(diǎn)設(shè)置實(shí)驗(yàn)
機(jī)器人最原始的動作,也是機(jī)器人復(fù)位和調(diào)零的動作,機(jī)器人雙手伸平,雙腿保持站立姿勢,方便對機(jī)器人舵機(jī)的初始角度進(jìn)行調(diào)零,以及對后面復(fù)雜的動作進(jìn)行調(diào)試,同時還是各個動作之間的銜接點(diǎn),其重心在地面投影一直落在支撐面內(nèi),穩(wěn)定性較高,如圖11。
機(jī)器人保持站立姿勢時,各個舵機(jī)的值應(yīng)該為100,將這組數(shù)據(jù)燒錄到機(jī)器人中后,機(jī)器人的雙手和雙腳有存在一定程度的彎曲,在無電機(jī)驅(qū)動力的情況下此動作穩(wěn)定性不高,需對機(jī)器人左右腳舵機(jī)進(jìn)行微調(diào),使其保持標(biāo)準(zhǔn)的站立姿勢,直到達(dá)到最理想的姿勢。
4.2 金雞獨(dú)立實(shí)驗(yàn)
機(jī)器人模擬人類單腳站立的動作,前進(jìn)時先將身體的重心傾向左邊,接著抬起右腳,然后右腳向后伸展,身體重心左傾,伸直兩臂,就完成了金雞獨(dú)立動作,如圖12。
機(jī)器人抬腳時,應(yīng)該將重心偏向一方,然后抬起另一只腳,根據(jù)這個動作先寫出大致的舵機(jī)角度,然后將這組數(shù)據(jù)燒錄到人形機(jī)器人中,發(fā)現(xiàn)人形機(jī)器人的重心偏移的程度不夠,其重心在地面的投影落在支撐面以內(nèi)的邊緣處,難以保持平衡,易發(fā)生傾斜導(dǎo)致側(cè)翻。對機(jī)器人的穩(wěn)定性進(jìn)行微調(diào),使其能夠保持平衡且左腳邁出的距離足夠,經(jīng)過不斷地調(diào)試與運(yùn)行,穩(wěn)定完成金雞獨(dú)立動作。
4.3 側(cè)步實(shí)驗(yàn)
機(jī)器人模擬人類橫向平移動作,先將重心右移,彎曲右膝,接著抬起左腳向左跨步,待左腳穩(wěn)定踏地后彎曲右膝抬起右腳,實(shí)現(xiàn)右腳向左跨步,如圖13。在此過程中,機(jī)器人重心的偏移是造成不穩(wěn)定的主要原因,其在重心左右傾的過程中重心在地面的投影有可能在支撐面邊緣甚至超出支撐面,因此不斷調(diào)試舵機(jī)角度將其重心保持在支撐面中心。
4.4 倒立實(shí)驗(yàn)
機(jī)器人倒立時,先將身體的重心往下壓,之后伸出雙手并慢慢倒下,將雙手收回然后沿水平方向?qū)㈦p手平舉并緩慢抬起雙腳,用雙手和頭當(dāng)支點(diǎn)來保持身體平衡,防止機(jī)器人摔倒,在倒立的同時雙腳可以做各種復(fù)雜的動作,如圖14。
倒立這個動作是依靠人形機(jī)器人的雙手和頭部來支撐他的平衡,雙腳保持直立朝上,先模擬出這一組數(shù)據(jù),將這組數(shù)據(jù)燒錄到人形機(jī)器人中,機(jī)器人保持平衡,但是兩腿的方向不一致,并且腿部有點(diǎn)彎曲,倒立時的支撐面積相對較小,因此對機(jī)器人穩(wěn)定性要求較高,對機(jī)器人腿部的舵機(jī)進(jìn)行微調(diào)來解決這一問題。
6 結(jié)束語
本文利用具有17個自由度的智能雙足機(jī)器人并對其進(jìn)行舞蹈動作控制及協(xié)作研究。通過RoboBasic編譯軟件對Robonova-2智能雙足機(jī)器人進(jìn)行舞蹈的編排,通過不斷地計(jì)算ZMP的值以及調(diào)試舵機(jī)的角度保證其重心在地面的投影落在支撐面以內(nèi),增強(qiáng)舞蹈動作的穩(wěn)定性與美觀度,并可以伴隨音樂節(jié)拍實(shí)現(xiàn)一定的舞蹈效果,對機(jī)器人娛樂、服務(wù)等領(lǐng)域的研究做出了一定貢獻(xiàn)。
參考文獻(xiàn):
[1]陳宗君. 舞蹈機(jī)器人控制系統(tǒng)設(shè)計(jì)[J].科學(xué)之友,2013(1):1-2.
[2]鄭萬通,仉俊峰,王東,等.仿人機(jī)器人舞蹈動作的研究[J]. 自動化技術(shù)與應(yīng)用,2015(10):134-137+145.
[3]胡志強(qiáng),王潤孝,李曙光.舞蹈機(jī)器人動作設(shè)計(jì)與實(shí)現(xiàn)研究[J]. 制造業(yè)自動化,2006(11):36-39.
[4]郗俊杰.多智能雙足機(jī)器人的動作控制及協(xié)作研究[D].西安電子科技大學(xué),2012.
[5]羅偉,游鵬輝,陸榮信,等.仿人機(jī)器人足部結(jié)構(gòu)與感知系統(tǒng)設(shè)計(jì)及ZMP計(jì)算[J].機(jī)械與電子,2013(10):67-70.
[6]熊芳. 雙足舞蹈機(jī)器人穩(wěn)定性研究[D].蘭州理工大學(xué),2012.