基于LPC2114处理器实现人形机器人控制系统的设计

发布时间:2023-04-06  

1 系统方案设计

人形机器人控制系统包括机器人控制器和机器人遥控器两部分。其中控制器以飞利浦公司的ARM7处理器为核心,包含17个舵机控制驱动电路与接口、串口通信调试电路、遥控接口、电源等。通过串口下载和传输控制信息。机器人遥控器使用无线模块向机器人控制器发送指令,控制机器人完成规定动作。


2 硬件设计

人形机器人控制器主板由控制核心LPC2114、电源及检测电路、外部晶振、JTAG调试接口、串口模块、遥控模块、舵机接口、LED指示灯等组成,组成框图如图1所示。

基于LPC2114处理器实现人形机器人控制系统的设计

LPC2114基于一个支持实时仿真和跟踪的32位ARM7TDMI-S CPU,并带有128 k字节的高速Flash存储器,非常小的LQFP64封装、极低的功耗、2个32位定时器、4路10位ADC、PWM输出、46个GPIO以及多达9个外部中断使它们特别适用于工业控制、医疗系统、访问控制和电子收款机(POS)等[2]。


较高的功能集成度和强大的端口驱动能力使得机器人控制器主板电路的核心部分非常简洁,基本上实现了单芯片的设计,如图2所示为LPC2114控制器电路和4个舵机的驱动接口电路,其余13个舵机驱类同。

o4YBAGB1S9eAZhEVAAKFeKJNch4279.png

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

o4YBAGB1S96ATFG2AAF7SXzQSWw798.png

最后将控制器与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所示。本文主要对关键驱动函数进行说明。

o4YBAGB1S-WAFBDrAACS8HQrKd8952.png

3.2 舵机驱动程序设计

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

o4YBAGB1S-yALgFAAADBAqkpPUg010.png

o4YBAGB1S_iAVtswAACOnXPE0KI359.png

多个舵机的驱动需要依据机器人的姿态数据计算出转动时间,将其时间数据按一定算法进行排序,并在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。

o4YBAGB1TACAZZaeAABx-OpZmTo846.png

函数功能:初始化各伺服器角度/时间数组,将机器人每姿态动作的各舵机角度数据输入给各伺服器数组。共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]。

o4YBAGB1TAaAUzenAADyX5TmaBY644.png

需要指出的是,在机器人运动时,程序对其外部的伺服器控制要进行分时分批控制,以减轻处理器功耗压力,达到可靠驱动的目的。


4 结论

按照机器人的运动体态完成运动数据的设计,经过测试,该控制系统可以完成包括前滚翻、后滚翻、俯卧撑在内的多种体操运动。课题组计划进一步封装函数,并设计可视化图形编程界面,以便可以在电脑上更加直观地生成运动数据,积木化编程,降低操作难度。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    变速器国内市场,其中民用自动变速器海外市场份额占据70%以上,受国际环境和国内芯片行业技术日益成熟度影响,该市场规模有进一步爆发的趋势。绿传科技自主可控的车辆变速器智能控制系统目前已完成第二代样机开发,计划于2025......
    理论与算法软件开发;集成电路设计;智能控制系统集成等。 封面图片来源:拍信网......
    范围包括:软件开发;集成电路设计;集成电路芯片设计及服务;人工智能通用应用系统人工智能行业应用系统集成服务;人工智能基础资源与技术平台;智能控制系统集成;工业互联网数据服务;人工智能应用软件开发;集成......
    作为全球物联网解决方案供应商,面向港口领域可提供从基建环节的有线与无线网络通讯方案、作业环节的车载终端与手持终端、港口多环节的高性能控制系统与设备,乃至港口解决方案,全方位助力港口数字化转型升级。 在传统港口,作业效率、生产......
    技术不断创新和发展,为其提供了更智能化的能力。现代的伺服控制系统采用先进的算法和高速数字信号处理技术,能够实现高速、高精度的位置控制,并具备多轴联动、网络通信和实时数据反馈等功能。同时,智能控制系统......
    方式实现对在家里冰箱、热水器、插座、空调、地暖、投影机、新风系统等等进行智能控制。比如对空调地暖进行定时或者远程控制,让您到家后马上享受舒适的温度和新鲜的空气,离家时自动对电器断电等。 5、智能门窗控制系统......
    看出,机器人是一门涵盖了多学科的科学,涉及人工智能、机械工程、控制科学、计算机、电子、材料等多个领域。”王耀南表示,“但不管多么复杂的机器人,实际上它都是一个自动化系统,具备感知系统、决策系统控制系统以及复杂的本体结构系统......
    载波通讯技术、嵌入式计算机智能化信息处理,以及节能控制等技术组成的分布式照明控制系统,来实现对照明设备的智能化控制。 从产品定位来看,智慧照明的基本功能有两个:光源照明+智能控制。光源照明功能不用多介绍,智能控制......
    芯片上的处理能力和处理速度的需求更为强劲。传统基于CPU的处理器已经不能满足各项智能任务的要求,智能控制SoC芯片的横空出世,已经成为众多智能终端设备的首选,智能控制SoC芯片的多核异构结构能够配合人工智能算法进行深度耦合,获取......
    膜识别|神经网络芯片|智能传感器|智能PID|专家控制器|神经元网络控制器|人工神经网络控制系统|智能搜索引擎|计算机视觉|图像处理等。 智慧工地展区 智能化系统集成|智慧工地装备板块|建筑设备监控系统......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>