《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 两足仿人机器人的设计与实现
两足仿人机器人的设计与实现
2015年微型机与应用第1期
胡晓军1,张远亮2
(1.天津职业技术师范大学 机械工程学院,天津 300222; 2.西南交通大学 牵引动力国家重点实验室,四川 成都 610031)
摘要: 采用模块化的设计思想,设计了一个可靠的低价格双足机器人平台。首先简化机器人的空间运动和受力,通过分析和求解,得到与机器人平衡相关的各个关节的位移、角度等变量的关系;用C语言在CodeVsionAVR编译器下开发程序,选用1片ATmega128单片机来实时控制20个伺服舵机,并达到微秒级的控制精度。最终实现了两足仿人机器人的各个关节的协调平稳运动。
Abstract:
Key words :

  摘  要: 采用模块化的设计思想,设计了一个可靠的低价格双足机器人平台。首先简化机器人的空间运动和受力,通过分析和求解,得到与机器人平衡相关的各个关节的位移、角度等变量的关系;用C语言在CodeVsionAVR编译器下开发程序,选用1片ATmega128单片机来实时控制20个伺服舵机,并达到微秒级的控制精度。最终实现了两足仿人机器人的各个关节的协调平稳运动。

  关键词: 两足仿人机器人;模块化;单片机;控制精度

0 引言

  机器人是一种典型的机电一体化产品,随着科学技术的进步,机器人的应用领域不断拓宽[1]。双足仿人机器人具有仿人的外形和步行方式,行走系统占地面积小,活动范围大[2],移动“盲区”小,对步行环境要求低且具有一定的逾越障碍的能力,这些特点受到了各方的广泛关注,成为机器人研究领域的热点。两足仿人机器人运动过程中的行走和对机器人的控制是研究的重点和难点。双足步行是生物界难度最大的步行动作,但其步行性能却是其他步行结构所无法比拟的,因此双足步行是双足仿人机器人研究的关键技术之一。稳定的步行是双足仿人机器人区别于其他机器人的主要标志。本文研制了一种双足仿人机器人,通过对机器人进行步态规划,使其能够在平地上实现稳定行走。

1 整体设计思想

  双足机器人在行走过程中,其运动的平稳性受重力、运动机构的惯性、软硬件设计等综合因素的影响。为提高其稳定性,简化设计思路,双足机器人的设计采用了模块化的设计方法[3]。双足机器人的设计主要分为3个模块:结构运动模块、硬件电路模块、软件程序设计模块。整体设计思路如图1所示。

001.jpg

2 双足机器人结构设计

  双足机器人的运动与人类的运动方式类似,是通过脚与地面接触来推动机体移动。一个步行周期基本上可以分为4个状态,如图2所示。

002.jpg

  (1)两脚着地,机器人的重量平分在两条腿上。

  (2)两脚着地,机器人的重心往一条腿上偏移,重量集中在一条腿上。

  (3)单脚着地,机器人的一条腿空起,准备跨步。

003.jpg

  (4)双脚落地,机器人的重心从一条腿偏移到两条腿中间,两条腿受力均匀。

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

  式(1)和式(2)中,m1、m2、m3分别为L1、L2、L3的质量,L1、L2、L3、L4为已知条件,需要求出的关系。由于机器人运动过程中存在惯性,使计算复杂,需要依据以上理论关系结合实验,用软件进行调试。

  左腿把重心前移的情况如图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 硬件电路设计

  机器人采用ATmega128单片机[4]作为主控制芯片。ATmega128有64个引脚,53个可编程I/O口,具有处理速度快、功能齐全的特点。各执行部件采用伺服舵机实现,具有体积紧凑、输出力矩大、稳定性好等特点。其控制原理图如图5所示。

004.jpg

4 软件设计

  在机器人动作的过程中,最为关键的是保持重心的位置。为保持机器人运动时的平衡,采用HENG1[60]、HENG2[100]、HENG3[60]、HENG4[60]、HENG5[20]、HENG6[20] 6个一维数组调整机器人在运动过程中的重心位置,控制程序的流程图如图6所示。

005.jpg

  伺服舵机I/O控制口为PA口、PD口和PC口的低四位口,程序设计如下:

  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实时精确产生20个伺服舵机的10 s PWM波,单片机每10 s中断一次,每中断一次angle自加1,加到255后又从0开始自加1,如此循环。angle完成一次自加的周期是2.55 ms。用angle与angle(x)比较,如果angle<angle(x),则对应端口输出高电平,否则输出低电平。程序设计如下:

  interrupt[TIM1_OVF]void timer1(void)

  {

  TCNT1H=0xff;

  TCNT1L=0xec;

  angle++;

  if(angle<angle11)

  PORTA|=0x01;

  else

  PORTA&=0xfe;

  …

  }

5 结束语

  通过机构运动分析与电路的仿真设计,完成了双足机器人的设计。采用模块化的设计方法,以及合理的程序结构和机械部件,使系统结构简单,且具有较好的稳定性、可靠性,较好地实现了双足机器人的直线行走动作。

参考文献

  [1] 周伯英.工业机器人设计[M].北京:机械工业出版社,1995.

  [2] 毛勇,王家廞,庄新彦,等.基于气动人工肌肉的双足机器人关节设计[J].电子技术应用,2006,32(3):78-80.

  [3] 董存辉,摆玉龙,柴乾隆.基于模糊控制的自主寻迹机器人设计[J].电子技术应用,2012,38(5):139-141.

  [4] 刘兰香,张秋生.ATmega128单片机应用与开发实例[M].北京:机械工业出版社,2006.


此内容为AET网站原创,未经授权禁止转载。