《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 兩足仿人機(jī)器人的設(shè)計與實現(xiàn)
兩足仿人機(jī)器人的設(shè)計與實現(xiàn)
2015年微型機(jī)與應(yīng)用第1期
胡曉軍1,張遠(yuǎn)亮2
(1.天津職業(yè)技術(shù)師范大學(xué) 機(jī)械工程學(xué)院,,天津 300222,; 2.西南交通大學(xué) 牽引動力國家重點實驗室,四川 成都 610031)
摘要: 采用模塊化的設(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)動,。
Abstract:
Key words :

  摘  要: 采用模塊化的設(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所示。

001.jpg

2 雙足機(jī)器人結(jié)構(gòu)設(shè)計

  雙足機(jī)器人的運(yùn)動與人類的運(yùn)動方式類似,,是通過腳與地面接觸來推動機(jī)體移動,。一個步行周期基本上可以分為4個狀態(tài),如圖2所示,。

002.jpg

 ?。?)兩腳著地,機(jī)器人的重量平分在兩條腿上,。

 ?。?)兩腳著地,機(jī)器人的重心往一條腿上偏移,,重量集中在一條腿上,。

 ?。?)單腳著地,機(jī)器人的一條腿空起,,準(zhǔn)備跨步,。

003.jpg

  (4)雙腳落地,,機(jī)器人的重心從一條腿偏移到兩條腿中間,,兩條腿受力均勻。

  YE[K_YA[]{{30IIZ9}Z@GDE.jpg

  式(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所示。

004.jpg

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所示。

005.jpg

  伺服舵機(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.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。