摘 要: 采用模塊化的設(shè)計思想,,設(shè)計了一個可靠的低價格雙足機(jī)器人平臺。首先簡化機(jī)器人的空間運(yùn)動和受力,,通過分析和求解,,得到與機(jī)器人平衡相關(guān)的各個關(guān)節(jié)的位移、角度等變量的關(guān)系,;用C語言在CodeVsionAVR編譯器下開發(fā)程序,,選用1片ATmega128單片機(jī)來實時控制20個伺服舵機(jī),并達(dá)到微秒級的控制精度,。最終實現(xiàn)了兩足仿人機(jī)器人的各個關(guān)節(jié)的協(xié)調(diào)平穩(wěn)運(yùn)動,。
關(guān)鍵詞: 兩足仿人機(jī)器人;模塊化,;單片機(jī),;控制精度
0 引言
機(jī)器人是一種典型的機(jī)電一體化產(chǎn)品,隨著科學(xué)技術(shù)的進(jìn)步,機(jī)器人的應(yīng)用領(lǐng)域不斷拓寬[1],。雙足仿人機(jī)器人具有仿人的外形和步行方式,,行走系統(tǒng)占地面積小,活動范圍大[2],,移動“盲區(qū)”小,,對步行環(huán)境要求低且具有一定的逾越障礙的能力,這些特點受到了各方的廣泛關(guān)注,,成為機(jī)器人研究領(lǐng)域的熱點,。兩足仿人機(jī)器人運(yùn)動過程中的行走和對機(jī)器人的控制是研究的重點和難點。雙足步行是生物界難度最大的步行動作,,但其步行性能卻是其他步行結(jié)構(gòu)所無法比擬的,,因此雙足步行是雙足仿人機(jī)器人研究的關(guān)鍵技術(shù)之一。穩(wěn)定的步行是雙足仿人機(jī)器人區(qū)別于其他機(jī)器人的主要標(biāo)志,。本文研制了一種雙足仿人機(jī)器人,,通過對機(jī)器人進(jìn)行步態(tài)規(guī)劃,使其能夠在平地上實現(xiàn)穩(wěn)定行走,。
1 整體設(shè)計思想
雙足機(jī)器人在行走過程中,,其運(yùn)動的平穩(wěn)性受重力、運(yùn)動機(jī)構(gòu)的慣性,、軟硬件設(shè)計等綜合因素的影響,。為提高其穩(wěn)定性,簡化設(shè)計思路,,雙足機(jī)器人的設(shè)計采用了模塊化的設(shè)計方法[3],。雙足機(jī)器人的設(shè)計主要分為3個模塊:結(jié)構(gòu)運(yùn)動模塊、硬件電路模塊,、軟件程序設(shè)計模塊,。整體設(shè)計思路如圖1所示。
2 雙足機(jī)器人結(jié)構(gòu)設(shè)計
雙足機(jī)器人的運(yùn)動與人類的運(yùn)動方式類似,,是通過腳與地面接觸來推動機(jī)體移動,。一個步行周期基本上可以分為4個狀態(tài),如圖2所示,。
?。?)兩腳著地,機(jī)器人的重量平分在兩條腿上,。
?。?)兩腳著地,機(jī)器人的重心往一條腿上偏移,,重量集中在一條腿上,。
?。?)單腳著地,機(jī)器人的一條腿空起,,準(zhǔn)備跨步,。
(4)雙腳落地,,機(jī)器人的重心從一條腿偏移到兩條腿中間,,兩條腿受力均勻。
式(1)和式(2)中,,m1,、m2,、m3分別為L1,、L2、L3的質(zhì)量,,L1,、L2、L3,、L4為已知條件,,需要求出的關(guān)系。由于機(jī)器人運(yùn)動過程中存在慣性,,使計算復(fù)雜,,需要依據(jù)以上理論關(guān)系結(jié)合實驗,用軟件進(jìn)行調(diào)試,。
左腿把重心前移的情況如圖4所示,。
LsinC1+2LcosB1=H(3)
A1=B1(4)
S1=2LsinA1(5)
其中,H和L已知,,S1為重心前移的距離,,由式(3)、式(4),、式(5)可以求出:
B1=A1(6)
C1=arccos(H-2LcosB1)×180°/π(7)
機(jī)器人右腿運(yùn)動情況與左腿運(yùn)動類似,。
3 硬件電路設(shè)計
機(jī)器人采用ATmega128單片機(jī)[4]作為主控制芯片。ATmega128有64個引腳,,53個可編程I/O口,,具有處理速度快、功能齊全的特點,。各執(zhí)行部件采用伺服舵機(jī)實現(xiàn),,具有體積緊湊、輸出力矩大,、穩(wěn)定性好等特點,。其控制原理圖如圖5所示。
4 軟件設(shè)計
在機(jī)器人動作的過程中,最為關(guān)鍵的是保持重心的位置,。為保持機(jī)器人運(yùn)動時的平衡,,采用HENG1[60]、HENG2[100],、HENG3[60],、HENG4[60]、HENG5[20],、HENG6[20] 6個一維數(shù)組調(diào)整機(jī)器人在運(yùn)動過程中的重心位置,,控制程序的流程圖如圖6所示。
伺服舵機(jī)I/O控制口為PA口,、PD口和PC口的低四位口,,程序設(shè)計如下:
Void robot_duoji(unsigned char label,unsigned char anglex)
{switch(label)
{case 11:angle11=anglex,;break,;
case 12:angle12=anglex;break,;
case 13:angle13=anglex,;break;
…
}
}
通過ATmega128單片機(jī)的定時器1實時精確產(chǎn)生20個伺服舵機(jī)的10 s PWM波,,單片機(jī)每10 s中斷一次,,每中斷一次angle自加1,加到255后又從0開始自加1,,如此循環(huán),。angle完成一次自加的周期是2.55 ms。用angle與angle(x)比較,,如果angle<angle(x),,則對應(yīng)端口輸出高電平,否則輸出低電平,。程序設(shè)計如下:
interrupt[TIM1_OVF]void timer1(void)
{
TCNT1H=0xff,;
TCNT1L=0xec;
angle++,;
if(angle<angle11)
PORTA|=0x01,;
else
PORTA&=0xfe;
…
}
5 結(jié)束語
通過機(jī)構(gòu)運(yùn)動分析與電路的仿真設(shè)計,,完成了雙足機(jī)器人的設(shè)計,。采用模塊化的設(shè)計方法,以及合理的程序結(jié)構(gòu)和機(jī)械部件,,使系統(tǒng)結(jié)構(gòu)簡單,,且具有較好的穩(wěn)定性,、可靠性,較好地實現(xiàn)了雙足機(jī)器人的直線行走動作,。
參考文獻(xiàn)
[1] 周伯英.工業(yè)機(jī)器人設(shè)計[M].北京:機(jī)械工業(yè)出版社,,1995.
[2] 毛勇,王家廞,,莊新彥,,等.基于氣動人工肌肉的雙足機(jī)器人關(guān)節(jié)設(shè)計[J].電子技術(shù)應(yīng)用,2006,,32(3):78-80.
[3] 董存輝,,擺玉龍,柴乾隆.基于模糊控制的自主尋跡機(jī)器人設(shè)計[J].電子技術(shù)應(yīng)用,,2012,,38(5):139-141.
[4] 劉蘭香,張秋生.ATmega128單片機(jī)應(yīng)用與開發(fā)實例[M].北京:機(jī)械工業(yè)出版社,,2006.