一款基于ARM的多自由度人形教育机器人控制系统的设计
编者按: 摘要:针对以往教育机器人自由度少、控制不灵活、教育功能弱的缺点,使用高集成度ARM芯片设计了一个简洁的17自由度人形机器人控制系统。规划了机器人的软硬件结构,设计了控制电路和驱动系统,采用1个定时器产生17路PWM驱动信号。重点以实例讲解了波形产生及驱动函数的编写方法和技巧。设计的机器人能够完成整套体操运动。这种方法在多自由度机器人操控和教学中具有广泛的借鉴意义。 1 系统方案设计 人形机器人控制系统包括机器人控制器和机器人遥控器两部分。其中控制器以飞利浦公司的ARM7处理器为核心,包含1
最后将控制器与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]。
![](http://m.amcfsurvey.com/webstorage/images/2014/m/wx.png)
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码