《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于ATmega88和Delphi的双足竞步机器人设计
基于ATmega88和Delphi的双足竞步机器人设计
2014年微型机与应用第23期
叶孝璐,俞 立,陈军统
(浙江工业大学 信息工程学院,浙江 杭州 310023)
摘要: 采用自主设计的PCB板和CDS5401舵机设计了一种双足竞步机器人,开发了基于ATmega88的机器人控制系统,基于仿生学原理的步态规划确定了机器人的运动序列。所设计的控制系统不仅操作简单,运行稳定可靠,而且人机交互界面友好,再扩展性强。最后,将所开发的机器人运用于中国机器人大赛双足竞步机器人比赛,取得了优异成绩
Abstract:
Key words :

  摘 要: 采用自主设计的PCB板CDS5401舵机设计了一种双足竞步机器人,开发了基于ATmega88的机器人控制系统,基于仿生学原理的步态规划确定了机器人的运动序列。所设计的控制系统不仅操作简单,运行稳定可靠,而且人机交互界面友好,再扩展性强。最后,将所开发的机器人运用于中国机器人大赛双足竞步机器人比赛,取得了优异成绩。

  关键词: 双足竞步机器人;PCB板;ATmega88;CDS5401舵机;Delphi

  0 引言

  双足步行机器人是机器人领域中的一个热点研究课题[1-2]。其不仅质量轻、能耗小、动作灵活,而且具有很强的环境适应性,相对于轮式、履带式机器人具有更大的优势,如可以进入狭隘的空间进行工作,也可以跨越障碍、上下台阶、斜坡及在不平整地面上工作[3]。

  双足机器人是一个自由度多、结构复杂、耦合性强的非线性系统,因此,实现其稳定的步行控制是双足机器人研究中的热点和难点。目前,稳定步行控制的方法主要有基于ZMP的步行控制、基于裸关节力矩的步行控制、基于传感器补偿的步行控制、基于改变落脚点的步行控制等。而人类双足步行是在生物进化史中得出的最高效的移动方法,自动化程度最高,也最为复杂,因此基于仿生学原理的步行控制具有稳定、可靠的优点。本文基于仿生学原理进行机器人的步行控制,在控制器和机械结构方面提出了许多新颖、独特的设计方法使所设计的机器人具有很好的稳定性,且系统可靠、易于调试。特别地,所设计的机器人在2013年中国机器人大赛双足竞步机器人比赛项目中获得了全国一等奖的好成绩,充分体现了本设计的先进性。

  本文的主要目的是以中国机器人大赛双足竞步机器人项目为背景,自主设计一款6自由度的双足竞步机器人,研究双足竞步机器人的机械结构、控制系统、步态规划以及控制程序的编写和调试,最终实现双足竞步机器人的稳定行走和向前向后翻跟斗的功能。该机器人控制系统采用自主设计的PCB板和CDS5401舵机为机械结构的主要材料,控制系统以ATmega88为控制核心,输出6路PWM波驱动CDS5401舵机,基于仿生学原理进行步态规划,并使用Delphi设计了人机界面,实现了双足竞步机器人比赛要求的规定动作及更高难度的动作。该系统控制精度高、便于调试、抗干扰性强,而且可扩展为控制多舵机的模块系统,可应用于工业机械臂、服务机器人、娱乐机器人以及相关领域的控制。

1 机械机构的设计

  1.1 机械结构材料的选择

  根据中国机器人大赛的要求,机器人的总重量不超过1 kg,所需的材料需要满足密度小、刚度高、便于加工等特点[4]。鉴于PCB板具有硬度高、质量轻、可塑性好等特点,本文选择PCB板作为双足竞步机器人的机械设计材料。与其他选择钢板或铝板作为机械材料的机器人,其优势如下:

  (1) 可以将控制系统嵌入到PCB板中,避免了在机械结构上外加控制系统而导致的系统不稳定、累赘,影响双足竞步机器人行走或翻跟斗动作的流畅度等缺点。

  (2) 直接用焊锡就可以将各个关节连接,省去了螺母、连接杆等器件,既简化了双足竞步机器人的机械结构,也减轻了双足竞步机器人的质量。

  (3) PCB板便于加工,价格便宜。

  1.2 机械结构的设计

  本文将双足竞步机器人的机械结构分成躯干部、胯部、膝部、脚部四部分。

  (1) 脚部机械结构的设计

  本文设计的机器人脚板长宽为149 mm×59 mm,比参赛要求的最大值分别小1 mm。同时,在保证脚板刚度和强度的情况下,将脚板镂空,以降低脚部机械结构的重量。为了保证机器人具有足够大的驱动力矩,本文设计的双足竞步机器人将舵机和脚板以垂直的方式进行连接。

  (2) 膝部机械结构的设计

  膝关节在机器人行走的过程中负责向前跨步和辅助调节机器人重心的位置,为了避免膝关节部分的舵机成为多余的负载,本文将舵机的安装位置上移,膝部的舵机与机器人躯干串联[5]。同时,为了减轻双足竞步机器人的质量,在保证机器人强度和刚性的情况下,也将其关节的连接板块进行镂空处理。

  (3) 胯部机械结构的设计

  胯部机械结构是髋关节自由度的载体,在机器人行走时负责保持上体直立和辅助平衡。为了防止机器人行走和翻跟斗时两腿之间发生碰撞,其胯部舵机不直接与躯干部的舵机相连接,以一块结构板隔开,舵机串联在结构板上。

  (4) 躯干部机械结构的设计

  本文将躯干部的侧向控制板设计成双直板结构,以保证双足机器人进行前翻滚和后翻滚时不发生偏转。

  1.3 自由度的配置

  双足竞步机器人只能依靠电机来驱动各个关节运动,而且比赛要求最多只能用6个舵机,所以本文将双足竞步机器人的6个自由度配置为每条腿3个,每条腿的3个自由度配置为:髋关节1个自由度,膝关节1个自由度,踝关节1个自由度。

  髋关节处的自由度是一个控制前向运动的自由度,在双足竞步机器人的步行中起到使机器人保持直立和辅助平衡的作用。

  膝关节的自由度也是一个控制前向运动的自由度,主要用来调节双足竞步机器人向前走动并且使得双足竞步机器人的步态不生硬。

  踝关节的自由度是控制侧向运动的自由度,用来控制双足竞步机器人的侧向运动,调整机器人的重心位置,以保持双足竞步机器人的稳定行走。

  本文设计的机械结构如图1~图3所示。

001.jpg

2 控制系统设计

  2.1 原器件选型

  CDS5401舵机是专业的小型伺服电机,扭矩大,速度快,运行的环境温度和工作范围广,适合作为双足竞步机器人的驱动电机,因此本文选择CDS5401舵机作为控制系统的驱动。

  ATmega88 单片机不仅速度快、主频高,而且片上外设非常丰富,使得单片机的外围电路变得简洁,因此选择ATmega88单片机作为控制芯片[6]。另一方面,ATmega88的工作电压为5 V,可以直接输出5 V的PWM波来驱动舵机,省去了舵机驱动电路,使得系统的稳定性更高。

  2.2 控制方案设计

  本文运用8位AVR单片机ATmega88作为控制器,具体的控制方案如下:

  (1) 在下位机软件应用分时成组法,利用ATmega88内部的定时器结合中断功能产生6路PWM波来控制6个舵机的运动;

  (2) 基于仿生学原理进行步态规划,根据各关节的步态轨迹建立行为数据库;

  (3) 用Delphi编写6路PWM的上位机程序,得到双足竞步机器人的人机交互界面;

  (4) 根据步态规划得到的行为数据库,在上位机界面上调试出双足竞步机器人的动作序列,实现双足竞步机器人行走和翻跟斗的功能。

  控制系统结构如图4所示。

002.jpg

3 控制系统设计

  基于仿生学原理,将运用实验的方法得到双足竞步机器人的运动序列。通过大量的实验,获得不同实验者的步态,然后进行分析整理,得到最稳定合理的步态。然后将其制作成人类行走的慢速动画,动画的每一帧图片就是双足竞步机器人的动作序列。动画模拟双足竞步机器人的动作序列可分为两部分:

  (1) 右定左动行走:当右脚为支撑脚,左脚为摆动脚时,迈左脚行走动作的序列。

  (2) 左定右动行走:当左脚为支撑脚,右脚为摆动脚时,迈右脚行走的动作序列。

  根据实验,可以建立出双足竞步机器人的行为数据库(即行走时的动作序列),其行走可以看作单脚支撑期和双脚支撑期的交替。

  根据以上考虑,为了实现稳步竞走(左腿先起步),规划双足竞步机器人行走时的行为数据库(动作序列)为:重心右移(先是右腿支撑)、左腿抬起、左腿放下、重心移到双腿中间、重心左移、右腿抬起、右腿放下、重心移到双腿间8个阶段。

  本文设计的双足竞步机器人可满足中国机器人大赛要求,完成大赛指定的向前/向后行走、翻跟斗等功能。根据仿生学原理建立的行为数据库,可得出双足机器人实际行走的序列。

  (1) 行走的动作序列

  双足竞步机器人的行走可分为右定左动迈步动作和左定右动迈步动作。行走动作序列可细分直立、右倾、抬左腿、左腿落地、左倾调整、左倾、抬右腿、右腿落地。

  (2) 前滚翻动作

  前滚翻动作的动作序列可细分为直立、下弯、卧倒、抬右腿、右腿落地、抬左腿、左腿落地、直立。

  (3) 后滚翻动作

  后滚翻的动作序列可细分为直立、后弯、后卧倒、抬右腿、右腿落地、抬左腿、左腿落地、直立。

4 控制程序实现

  4.1 下位机程序

  本文选择2.5 ms为一个时间片,将20 ms的PWM周期进行等分,分成8等份,最多可以同时输出8路PWM波。由于本文设计的双足竞步机器人只有6个舵机,只需6路PWM波,因此为方便双足竞步机器人动作序列的载入,最后两个时间片段空运行。控制系统的总流程如图5所示。

003.jpg

  4.2 上位机程序

004.jpg

  本系统的人机交互界面如图6所示,其主要功能如下:

  (1) 可设置双足竞步机器人左上、左中、左下、右上、右中、右下6个舵机角度。

  (2) 可设置机器人行走的速度。

  (3) 可添加、插入、删除单个动作元素,动作元素可自行名字。

  (4) 可以自行组合和命名动作序列。

  (5) 可在弹出窗口中放置窗口控制功能键,使弹出窗口可以最小(大)化,及任意移动窗口。

  (6) 可直接通过数据的接收区和发送区观测到数据收发状况。

  (7) 可通过设置“即时更新”和“自动行走”执行单个动作元素、一组或多组动作序列。

5 结论

  本文提出采用PCB板作为主要材料的双足竞步机器人机械结构的设计,并设计了基于ATmega88和 Delphi的多舵机协调控制系统,实现了双足竞步机器人行走、向前向后翻跟斗以及倒立等功能。该系统不仅稳定、精确、便于调试、抗干扰性强,而且具有很好的人机交互界面和再扩展功能,可推广到工业机械臂、服务机器人、娱乐机器人以及相关领域的多舵机协调控制。

  本文所设计的双足竞步机器人成功参加了2013年中国机器人大赛,并取得了优异成绩。

参考文献

  [1] 彭胜军, 税海涛, 杨庆, 等. 双足步行机器人的步态规划及实现[J]. 信息与控制, 2010,39(6):783- 789.

  [2] 阮晓钢, 李志谦. 基于CMAC的双足步行机器人逆运动学控制[J]. 控制工程, 2009,16(5):623- 626.

  [3] 毕盛, 闵清华, 温正东, 等. 双足步行机器人控制电路设计与实现[J]. 科学技术与工程, 2010,31(10):7661-7664.

  [4] 范强. 双足竞步机器人设计及其步态规划研究[D]. 淄博:山东理工大学, 2009.

  [5] 史耀强. 双足机器人的步行仿真及实验研究[D]. 上海: 上海交通大学, 2008.

  [6] 刘海峰, 王娜. 用AVR单片机实现步行机器人的设计[J]. 科技信息, 2011(21):465- 466.


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