一款基于ARM的多自由度人形教育机器人控制系统的设计
函数定义:void ManMoveKeyframeToFrame(void)
本文引用地址:https://www.eepw.com.cn/article/267427.htm{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<=ID_Max-1;id++)//把所有的关键动作帧细分连接起来
{t=T_Key[id];/*每一帧的运行时间*/
for(k=1;k<=t;k++){ if(id==0) { h=(H[id])*(k)/t; … ; rl5=(RL5[id])*(k)/t; }/*将第1帧特殊处理*/
else{ h=(H[id]-H[id-1])*(k)/t; … ; rl5=(RL5[id]-RL5[id-1])*(k)/t; }/*细分时间*/
ManMoveFrame(H[id-1]+h,LA1[id-1]+la1,LA2[id-1]+la2, … ,RL5[id-1]+rl5,1);/*驱动运行*/}}}
3.6 机器人程序流程
机器人根据接收到的遥控命令自行判断并完成动作,工作流程如图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
万能遥控器相关文章:万能遥控器代码
pwm相关文章:pwm是什么
晶振相关文章:晶振原理
评论