后方格智能化观察网
首页 > 资讯 > 一款基于ARM的多自由度人形教育机器人控制系统的设计

一款基于ARM的多自由度人形教育机器人控制系统的设计

摘要:针对以往教育机器人自由度少、控制不灵活、教育功能弱的缺点,使用高集成度ARM芯片设计了一个简洁的17自由度人形机器人控制系统。规划了机器人的软硬件结构,设计了控制电路和驱动系统,采用1个定时器产生17路PWM驱动信号。重点以实例讲解了波形产生及驱动函数的编写方法和技巧。设计的机器人能够完成整套体操运动。这种方法在多自由度机器人操控和教学中具有广泛的借鉴意义。
1 系统方案设计
人形机器人控制系统包括机器人和机器人遥控器两部分。其中以飞利浦公司的ARM7处理器为核心,包含17个舵机控制驱动电路与接口、串口通信调试电路、遥控接口、电源等。通过串口下载和传输控制信息。机器人遥控器使用无线模块向机器人发送指令,控制机器人完成规定动作。
2 硬件设计
人形机器人主板由控制核心LPC2114、电源及检测电路、外部晶振、JTAG调试接口、串口模块、遥控模块、舵机接口、LED指示灯等组成,组成框图如图1所示。


LPC2114基于一个支持实时仿真和跟踪的32位ARM7TDMI-S CPU,并带有128 k字节的高速Flash存储器,非常小的LQFP64封装、极低的功耗、2个32位定时器、4路10位ADC、PWM输出、46个GPIO以及多达9个外部中断使它们特别适用于工业控制、医疗系统、访问控制和电子收款机(POS)等[2]。
较高的功能集成度和强大的端口驱动能力使得机器人主板电路的核心部分非常简洁,基本上实现了单芯片的设计,如图2所示为LPC2114电路和4个舵机的驱动接口电路,其余13个舵机驱类同。


考虑到教育机器人的运动平衡控制,将PCB电路板按图3(a)所示位置布局。该布局除了处理器最小系统,以及必要的指示和控制电路外,最重要的就是17个舵机驱动接口,这里使用弯角3排针连接,保证链接的紧凑和可靠。17个舵机接口分为5组,与下载接口按照左右各9个布局,其中人形机器人的头包含1个舵机接口,负责左右运动,左胳膊包含3个舵机接口,分控肩、肘、腕3个运动自由度,左腿包含4个舵机接口,分控胯的左右/上下、膝盖及脚腕4个自由度。右胳膊与右腿的分控接口和功能与机器人左半部分对称[3]。



            最后将与7.2V电芯并列装配到铝合金外壳中,作为机器人的躯体,同时作为运动平衡的重心,良好的布局对机器人的运动至关重要[4]。
考虑到人形机器人的自重和动作力度,设计采用FUTABA系列产品中的S3050大力矩车用、船用竞赛型金属齿轮数字舵机,如图3(b)所示。该舵机自重48.8克,尺寸小,在6V电压下工作,能够达到0.16秒/60度的转速,力矩大小为6.5千克/厘米。
17个舵机按照前述的分组和关节结构对称排列布局,头部1个舵机,左右胳膊各3个舵机,分别做为肩、肘、腕关节,左右腿各5个舵机,分别为髋关节的左右运动1个、前后运动1个、膝关节1个、踝关节前后运动1个、左右运动1个,其中2个肩关节舵机和2个髋关节的左右运动的舵机,上下左右对称紧凑安装,作为身体的一部分,所有其他舵机使用铝合金支撑固定成紧凑的人形结构[5]。
3 软件设计
软件设计主要包含软件架构设计、程序流程设计和驱动控制函数的设计。
3.1 软件架构
该人形机器人控制系统原理是:当机器人接收到遥控器发出的指令后,ARM处理器根据指令要求,将要执行的动作参数分解成一系列宽度不等的PWM信号,并通过驱动电路输出到舵机接口,外部舵机根据占空比不同的PWM信号转动相应的角度,多个舵机不同的转动角度构成了不同的机器人瞬时动作,多个动作连贯执行就完成与外部命令相应的响应动作。软件架构如图4所示。本文主要对关键驱动函数进行说明。


3.2 舵机驱动程序设计
驱动脉冲与舵机转动角度如表1所示,不同的高电平时间对应着舵机不同的输出位置。因此可以使用LPC2114内部定时器模拟出17路以20ms为周期、高电平宽度与位置时序对应的PWM波形,来分别驱动控制17个舵机转动的角度,配合完成机器人的相关动作[6]。





            多个舵机的驱动需要依据机器人的姿态数据计算出转动时间,将其时间数据按一定算法进行排序,并在CPU的控制下设置各舵机的运动和停止时间。
3.3 机器人舵机整体驱动函数 ManMoveFrame()设计
函数功能:将输入的各伺服器角度转换为各伺服器的高电平时间,按照17个伺服器高电平时间从短到长依次调用对应伺服器驱动。共18个入口参数,17个是伺服器角度,1个是动画停留时间,转换关系:1度约为0.00814ms。
函数定义:void ManMoveFrame(int16 Head_Angle,int16 Larm1_Angle,… ,,int16 Rleg5_Angle,uint8 t)
{uint8 i,t1; int HeadTime,Larm1Time,Larm2Time, … ,Rleg4Time,Rleg5Time;/*与角度对应的时间变量*/
int MotorTime[17]; /*各舵机驱动脉冲时间数组*/
MotorTime[0]=HeadTime=Head_0+Head_Angle*Angle1;/*头部驱动脉冲时间*/
/*MotorTime[1]至MotorTime[16]略;*/
qsort(MotorTime,17,sizeof(int),Compare); /*对MotorTime数组快排序,使其值从小到大重排*/ …
for(i=0;i机器人姿态数据输入驱动函数ManMoveKeyframeData()设计
机器人动作的关键姿态是由各舵机转动位置决定的,需要参照机器人的体态对17个舵机的自由度关系数据进行设置,驱动函数将如表2所示设置的参数转换为驱动信号,控制17个舵机的转动,从而完成机器人行走的动作。表格空白的地方默认数据为0。


函数功能:初始化各伺服器角度/时间数组,将机器人每姿态动作的各舵机角度数据输入给各伺服器数组。共19个入口参数:1个关键帧号、17个伺服器角度、1个动画停留时间。
函数定义:void ManMoveKeyframeData(uint16 ID,int16 H_Angle, …,int16 RL5_Angle,uint8 t){
ID_Max++;/*动作帧数,全局变量,记录动作帧数,每加入1帧,ID_Max的值就增1*/
H[ID]=H_Angle;/*头的角度*/ … RL5[ID]=RL5_Angle; /*左肩的角度*/
T_Key[ID]=t;/*帧动作完成的时间长度*/ }
3.5 机器人动作控制驱动函数ManMoveKeyframeToFrame()设计
主要功能:把动作幅度较大的姿态关键帧数据结合其下面紧挨的姿态关键帧数据转换为时间均匀的普通帧驱动参数,供整体驱动使用。入口参数:无。出口参数:无。

            函数定义:void ManMoveKeyframeToFrame(void)
{uint16 id,h,la1,la2,la3,ra1,ra2,ra3,ll1,ll2,ll3,ll4,ll5,rl1,rl2,rl3,rl4,rl5;uint8 t,k;/*帧号、舵机时间临时变量*/
for(id=0;id机器人程序流程
机器人根据接收到的遥控命令自行判断并完成动作,工作流程如图5所示。因为人形机器人使用电池,工作比较耗电,所以在运动前要先检测工作电压,如果达到工作要求就接着工作,否则不执行动作并报警,工作电压不满足要求会造成机器人因动力不足而摔倒,接收到结束命令就停止运行,不再响应外部所发来的遥控命令,如果完成一个动作就恢复到立正站立状态[7]。


需要指出的是,在机器人运动时,程序对其外部的伺服器控制要进行分时分批控制,以减轻处理器功耗压力,达到可靠驱动的目的。
4 结论
按照机器人的运动体态完成运动数据的设计,经过测试,该控制系统可以完成包括前滚翻、后滚翻、俯卧撑在内的多种体操运动。课题组计划进一步封装函数,并设计可视化图形编程界面,以便可以在电脑上更加直观地生成运动数据,积木化编程,降低操作难度。
参考文献:
[1] 阎世梁, 张华等.高等工程教育中的机器人教育探索与实践[J].实验室研究与探索.2013(8):149-152
[2] 高彦杰.嵌入式温度测量系统的设计与实现[J]. 数字技术与应用.2012(6):147-149
[3] 赵瑞林,卢庆林,张顺星.教学型双足步行机器人的结构及其控制电路设计[J]. 计算技术与自动化.2014(2):74
[4]付伟,王建华.一种用于仿人型机器人控制的脚本语言的设计与实现[J].计算机应用. 2014,32(8):24
[5] 刘磊,韩冰,王连弟等.一种双足行走机构的构型设计与运动学分析[J]. 天津理工大学学报.2014(3):32-35
[6] 陈强,罗斌,秦超.仿人型机器人控制系统设计的几个问题[J]. 自动化技术与应用.2013,32(5) 14
[7] 李红岩,高阳东.基于LPC2131的RF遥控多关节蛇形机器人[J]. 自动化与仪表.2014(6):3-4

           

标签:

猜你喜欢

智能化资讯 西南财经政法大...
西南财经政法大学:培养卓越法律与经济人才的学府 在中国高等教育领域,西南财经政法大学以其独特的专业特色和深厚的学术底蕴,成为了法律与经济双重培养人才的重要...
智能化资讯 西南财经大学天...
西南财经大学天府学院:财经学术的新风尚与创新引领者 西南财经大学天府学院,作为该校的重要组成部分,不仅在教育领域内展现出其卓越的教学质量,更是在经济学研究...
智能化资讯 金融学科的未来...
金融学科的未来:财经大学如何培养下一代经济管理者? 在全球化和信息化不断发展的今天,金融学科正面临着前所未有的挑战。随着金融市场的不断深化和复杂化,传统的...
智能化资讯 中国光刻梦激光...
一、中国光刻梦:激光引领芯片新篇章 二、自主之路:中国光刻机的历史回顾与发展历程 自主研发是科技强国的重要标志。从“四小龙”到“一带一路”,中国在高科技领...