《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 兩足仿人機器人的設(shè)計與實現(xiàn)
兩足仿人機器人的設(shè)計與實現(xiàn)
2015年微型機與應(yīng)用第1期
胡曉軍1,,張遠亮2
(1.天津職業(yè)技術(shù)師范大學(xué) 機械工程學(xué)院,,天津 300222,; 2.西南交通大學(xué) 牽引動力國家重點實驗室,,四川 成都 610031)
摘要: 采用模塊化的設(shè)計思想,,設(shè)計了一個可靠的低價格雙足機器人平臺,。首先簡化機器人的空間運動和受力,,通過分析和求解,得到與機器人平衡相關(guān)的各個關(guān)節(jié)的位移,、角度等變量的關(guān)系,;用C語言在CodeVsionAVR編譯器下開發(fā)程序,選用1片ATmega128單片機來實時控制20個伺服舵機,,并達到微秒級的控制精度,。最終實現(xiàn)了兩足仿人機器人的各個關(guān)節(jié)的協(xié)調(diào)平穩(wěn)運動。
Abstract:
Key words :

  摘  要: 采用模塊化的設(shè)計思想,,設(shè)計了一個可靠的低價格雙足機器人平臺,。首先簡化機器人的空間運動和受力,通過分析和求解,,得到與機器人平衡相關(guān)的各個關(guān)節(jié)的位移,、角度等變量的關(guān)系;用C語言在CodeVsionAVR編譯器下開發(fā)程序,,選用1片ATmega128單片機來實時控制20個伺服舵機,,并達到微秒級的控制精度。最終實現(xiàn)了兩足仿人機器人的各個關(guān)節(jié)的協(xié)調(diào)平穩(wěn)運動,。

  關(guān)鍵詞: 兩足仿人機器人,;模塊化;單片機,;控制精度

0 引言

  機器人是一種典型的機電一體化產(chǎn)品,,隨著科學(xué)技術(shù)的進步,機器人的應(yīng)用領(lǐng)域不斷拓寬[1],。雙足仿人機器人具有仿人的外形和步行方式,,行走系統(tǒng)占地面積小,活動范圍大[2],,移動“盲區(qū)”小,,對步行環(huán)境要求低且具有一定的逾越障礙的能力,這些特點受到了各方的廣泛關(guān)注,,成為機器人研究領(lǐng)域的熱點,。兩足仿人機器人運動過程中的行走和對機器人的控制是研究的重點和難點。雙足步行是生物界難度最大的步行動作,,但其步行性能卻是其他步行結(jié)構(gòu)所無法比擬的,,因此雙足步行是雙足仿人機器人研究的關(guān)鍵技術(shù)之一。穩(wěn)定的步行是雙足仿人機器人區(qū)別于其他機器人的主要標志,。本文研制了一種雙足仿人機器人,,通過對機器人進行步態(tài)規(guī)劃,使其能夠在平地上實現(xiàn)穩(wěn)定行走,。

1 整體設(shè)計思想

  雙足機器人在行走過程中,,其運動的平穩(wěn)性受重力,、運動機構(gòu)的慣性、軟硬件設(shè)計等綜合因素的影響,。為提高其穩(wěn)定性,,簡化設(shè)計思路,雙足機器人的設(shè)計采用了模塊化的設(shè)計方法[3],。雙足機器人的設(shè)計主要分為3個模塊:結(jié)構(gòu)運動模塊,、硬件電路模塊、軟件程序設(shè)計模塊,。整體設(shè)計思路如圖1所示,。

001.jpg

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

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

002.jpg

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

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

 ?。?)單腳著地,,機器人的一條腿空起,,準備跨步。

003.jpg

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

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

  式(1)和式(2)中,,m1、m2,、m3分別為L1,、L2、L3的質(zhì)量,,L1,、L2、L3,、L4為已知條件,,需要求出的關(guān)系,。由于機器人運動過程中存在慣性,使計算復(fù)雜,,需要依據(jù)以上理論關(guān)系結(jié)合實驗,,用軟件進行調(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)

  機器人右腿運動情況與左腿運動類似,。

3 硬件電路設(shè)計

  機器人采用ATmega128單片機[4]作為主控制芯片,。ATmega128有64個引腳,53個可編程I/O口,,具有處理速度快,、功能齊全的特點。各執(zhí)行部件采用伺服舵機實現(xiàn),,具有體積緊湊,、輸出力矩大、穩(wěn)定性好等特點,。其控制原理圖如圖5所示,。

004.jpg

4 軟件設(shè)計

  在機器人動作的過程中,最為關(guān)鍵的是保持重心的位置,。為保持機器人運動時的平衡,,采用HENG1[60]、HENG2[100],、HENG3[60],、HENG4[60]、HENG5[20],、HENG6[20] 6個一維數(shù)組調(diào)整機器人在運動過程中的重心位置,,控制程序的流程圖如圖6所示。

005.jpg

  伺服舵機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單片機的定時器1實時精確產(chǎn)生20個伺服舵機的10 s PWM波,單片機每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é)束語

  通過機構(gòu)運動分析與電路的仿真設(shè)計,完成了雙足機器人的設(shè)計,。采用模塊化的設(shè)計方法,,以及合理的程序結(jié)構(gòu)和機械部件,使系統(tǒng)結(jié)構(gòu)簡單,,且具有較好的穩(wěn)定性,、可靠性,較好地實現(xiàn)了雙足機器人的直線行走動作,。

參考文獻

  [1] 周伯英.工業(yè)機器人設(shè)計[M].北京:機械工業(yè)出版社,,1995.

  [2] 毛勇,王家廞,,莊新彥,,等.基于氣動人工肌肉的雙足機器人關(guān)節(jié)設(shè)計[J].電子技術(shù)應(yīng)用,2006,,32(3):78-80.

  [3] 董存輝,擺玉龍,,柴乾隆.基于模糊控制的自主尋跡機器人設(shè)計[J].電子技術(shù)應(yīng)用,,2012,38(5):139-141.

  [4] 劉蘭香,,張秋生.ATmega128單片機應(yīng)用與開發(fā)實例[M].北京:機械工業(yè)出版社,,2006.


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