一款基于ARM的多自由度人形教育机器人控制系统的设计-2019年精选文档_第1页
一款基于ARM的多自由度人形教育机器人控制系统的设计-2019年精选文档_第2页
一款基于ARM的多自由度人形教育机器人控制系统的设计-2019年精选文档_第3页
一款基于ARM的多自由度人形教育机器人控制系统的设计-2019年精选文档_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一款基于ARM勺多自由度人形教育机器人控制系统的 设计DOI: 10.3969/j.issn.1005-5517.2015.1.008 基金项目:河南省科技攻关计划项目( 142102310226)席东 河( 1980- ),男,硕士,实训中心主任、讲师,研究方向:电 子技术及自动化、嵌入式系统与应用方向。申一歌( 1982 - ), 女,硕士,讲师,研究方向:电气自动化方向。杜娟( 1984- ), 女,工程师,研究方向:计算机应用方向。高吉珍( 1964- ), 女,高级工程师,研究方向:结构设计。1 系统方案设计 人形机器人控制系统包括机器人控制器和机器人遥控器两部分。其中控制器以飞利浦

2、公司的 ARM处理器为核心,包含17 个舵机控制驱动电路与接口、串口通信调试电路、遥控接口、电 源等。通过串口下载和传输控制信息。 机器人遥控器使用无线模 块向机器人控制器发送指令,控制机器人完成规定动作。2 硬件设计人形机器人控制器主板由控制核心 LPC2114电源及检测电 路、外部晶振、JTAG调试接口、串口模块、遥控模块、舵机接 口、LED指示灯等组成,组成框图如图I所示。LPC2114基于一个支持实时仿真和跟踪的 32位ARM7TDMI-S CPU并带有128 k字节的高速 Flash存储器,非常小的 LQFP64 封装、极低的功耗、2个32位定时器、4路10位ADC PWM输出、46

3、个GPI0以及多达9个外部中断使它们特别适用于工业控制、 医疗系统、访问控制和电子收款机(POS等。较高的功能集成度和强大的端口驱动能力使得机器人控制 器主板电路的核心部分非常简洁,基本上实现了单芯片的设计, 如图2所示为LPC2114控制器电路和4个舵机的驱动接口电路, 其余 13 个舵机驱类同。考虑到教育机器人的运动平衡控制, 将PCB电路板按图3(a) 所示位置布局。 该布局除了处理器最小系统、 以及必要的指示和 控制电路外、最重要的就是 17个舵机驱动接口,这里使用弯角 3排针连接,保证链接的紧凑和可靠。17个舵机接口分为 5组,与下载接口按照左右各 9 个布局,其中人形机器人的头包含

4、 1 个 舵机接口,负责左右运动,左胳膊包含 3 个舵机接口,分控肩、 肘、腕 3 个运动自由度,左腿包含 4 个舵机接口,分控胯的左右 / 上下、膝盖及脚腕 4 个自由度。右胳膊与右腿的分控接口和功 能与机器人控制器左半部分对称。最后将控制器与 7.2V 电芯并列装配到铝合金外壳中,作为 机器人的躯体, 同时作为运动平衡的重心, 良好的布局对机器人 的运动至关重要。考虑到人形机器人的自重和动作力度,设计采用FUTABA系列产品中的S3050大力矩车用、船用竞赛型金属齿轮数字舵机, 如图3 (b)所示。该舵机自重 48.8克,尺寸小,在6V电压下 工作,能够达到 0 .16 秒/60 度的转速

5、,力矩大小为 6.5 千克 / 厘米。17 个舵机按照前述的分组和人体关节结构对称排列布局, 头部 1个舵机,左右胳膊各 3个舵机,分别做为肩、 肘、腕关节, 左右腿各 5个舵机,分别为髋关节的左右运动 1 个、前后运动 1 个、膝关节 1 个、踝关节前后运动 1 个、左右运动 1 个,其中 2 个肩关节舵机和 2 个髋关节的左右运动的舵机, 上下左右对称紧 凑安装, 作为身体的一部分, 所有其他舵机使用铝合金支撑固定 成紧凑的人形结构。3 软件设计软件设计主要包含软件架构设计、 程序流程设计和驱动控制 函数的设计。3.1 软件架构 该人形机器人控制系统原理是: 当机器人控制器接收到遥控 器发

6、出的指令后,ARM处理器根据指令要求,将要执行的动作参 数分解成一系列宽度不等的 PWM信号,并通过驱动电路输出到舵 机接口,外部舵机根据占空比不同的 PWM信号转动相应的角度, 多个舵机不同的转动角度构成了不同的机器人瞬时动作, 多个动 作连贯执行就完成与外部命令相应的响应动作。软件架构如图 4 所示。本文主要对关键驱动函数进行说明。3.2 舵机驱动程序设计驱动脉冲与舵机转动角度如表 1 所示,不同的高电平时间对应着舵机不同的输出位置。因此可以使用LPC2114内部定时器模 拟出17路以20ms为周期、高电平宽度与位置时序对应的PWM波形,来分别驱动控制 17 个舵机转动的角度,配合完成机器

7、人的 相关动作。单个舵机的驱动函数(以机器人头部舵机为例)定义: 多个舵机的驱动需要依据机器人的姿态数据计算出转动时 间,将其时间数据按一定算法进行排序,并在CPU的控制下设置 备舵机的运动和停止时间。3.3 机器人舵机整体驱动函数 ManMoveFram(e )设计 函数功能:将输入的各伺服器角度转换为各伺服器的高电平时间,按照 1 7个伺服器高电平时间从短到长依次凋用对应伺服 器驱动。共 1 8个入口参数, 17个是伺服器角度, 1 个是动画停 留时间,转换关系: 1 度约为 0.00814mS。函数定义:3.4 机器人姿态数据输入驱动函数 ManMoveKeyframeDa(ta ) 设

8、计机器人动作的关键姿态是由各舵机转动位置决定的, 需要参 照机器人的体态对 17个舵机的自由度关系数据进行设置,驱动 函数将如表 2所示设置的参数转换为驱动信号,控制 17个舵机 的转动, 从而完成机器人行走的动作。 表格空白的地方默认数据 为 O。函数功能:初始化各伺服器角度 / 时间数组,将机器人每姿 态动作的各舵机角度数据输入给各伺服器数组。共 19 个入口参 数: 1个关键帧号、 17 个伺服器角度、 1个动画停留时间。函数定义:3.5 机器人动作控制驱动函数ManMoveKeyframeToFram(e )设计 主要功能:把动作幅度较大的姿态关键帧数据结合其下面紧 挨的姿态关键帧数据转换为时间均匀的普通帧驱动参数, 供整体 驱动使用。入口参数:无。出口参数:无。函数定义:3.6 机器人程序流程 机器人根据接收到的遥控命令自行判断并完成动作, 工作流 程如图 5 所示。因为人形机器人使用电池,工作比较耗电,所以 在运动前要先检测工作电压, 如果达到工作要求就接着工作, 否 则不执行动作并报警, 工作电压不满足要求会造成机器人因动力 不足而摔倒, 接收到结束命令就停止运行, 不再响应外部所发来 的遥控命令,如果完成一个动作就恢复到立正站立状态。需要指出的是, 在机器人运动时, 程序对其外部的伺服器控 制要进行分时分批控制, 以减轻处理器功耗

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论