机器人手臂控制系统研究与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机器人手臂控制系统研究与实现
发表时间:2016-11-25T14:41:26.370Z 来源:《低碳地产》2016年10月第20期作者:赖伟贤
[导读] 机器人手臂是机器人设计的一个重要部分,其控制系统则是整个机器人的核心部分之一,对机器人的平稳运行起着至关重要的作用。本文介绍了机器人手臂的结构、硬件系统,提出采用PLC控制,并对控制系统及程序算法进行了设计研究,最终实现了基于PLC的机器人手臂的位置控制。
肇庆市技师学院广东肇庆 526060
【摘要】机器人手臂是机器人设计的一个重要部分,其控制系统则是整个机器人的核心部分之一,对机器人的平稳运行起着至关重要的作用。本文介绍了机器人手臂的结构、硬件系统,提出采用PLC控制,并对控制系统及程序算法进行了设计研究,最终实现了基于PLC的机器人手臂的位置控制。
【关键词】机器;手臂;控制系统;设计;分析
引言
机器人技术综合了多学科的发展成果,代表着一个国家的高科技发展水平,在人类生活应用领域的不断扩大引起了越来越多的关注。近年来,各国的众多研究所都大力投入机器人的研究,使得机器人技术发展迅速。而机器人手臂是机器人的一个重要部位,要实现机器人手臂运动的灵活性和功能性,就需要设计多自由度的机器人手臂控制系统。为此,本文就基于PLC的机器人手臂位置控制算法进行研究,仅供参考。
1 机器人手臂的结构
机器人手臂是工业机器人的微缩模型,它使用了PLC、传感器、位置控制、电机驱动等技术,具有零组件的自动输送、取拿和移送功能,是一个三轴多位置的机械装置。
图1为机器人手臂实物图,它由底座、限位开关、旋转编码器、垂直升降臂、水平伸缩臂、旋转腰部和末端的机械手爪构成。除末端执行器外共有三个自由度。传动装置采用电气传动:升降臂作垂直升降运动,水平臂作水平伸缩运动,腰部作水平旋转运动,机械手爪做松开或夹紧动作。
除此之外,在承载底座的铝板之下还有电气接线面板,包括电源、电气驱动板、信号转接板、保护电平转换板、步进电机驱动器、空气开关等。
机器人手臂各轴的动作范围如下:
(1)升降臂:上下运动行程为70mm;
(2)水平臂:水平运动行程为100mm;
(3)腰部旋转:水平旋转180°。
机械手爪的张、合和腰部旋转的运行由直流电机驱动;机器人手臂的垂直手臂和水平手臂由步进电机控制。本系统应用的是型号为DL-022M-I的步进电机驱动器驱动两相式步进电机。
输入信号板的功能是将设备上旋转编码器和限位开关的信号转换为统一电平的驱动信号,方便设备与控制器之间信号的传递,该信号板使用的是高电平驱动方式;输出信号板的功能是将控制器输出的信号转换为统一电平的驱动信号,也是为方便控制器与被驱动设备之间信号的传递,该信号板使用的也是高电平驱动方式。
2 机器人手臂的硬件系统
2.1 机器人手臂系统控制平台
机器人手臂控制系统采用的ControlLogix系统模块有处理器模块、I/O模块、电源模块、EtherNet及DeviceNet通信模块。
2.2 控制系统的总体架构
2.2.1 控制系统结构
机器人手臂位置控制系统采用单机控制模式,其控制系统的架构如图2所示。
2.2.2 输入输出配线
在本系统中,安装在各轴上的限位开关用来检测手臂和腰部的位置:当碰到某一限位开关时,限位开关闭合,此时高电平信号作为输入信号传递给PLC,PLC根据输入信号的变化,按照程序驱动相应电动机运转。
在本系统中,控制对象的I/O点数如下:
限位开关8个:水平手臂、垂直手臂及腰部各2个,开关量输入8个;控制按钮3个:启动、停止及复位按钮,开关量输入3个;脉冲输入1个:腰部旋转的脉冲信号,开关量输入1个;直流电机2个:为了实现直流电机正反转,2个直流电机占用4个开关量输出端口;步进电机2个:每个步进电机需要一个端口来控制方向,一个端口来产生脉冲,所以2个步进电机占用了4个开关量输出端口。总计:开关量输入12个,开关量输出8个。将机器人手臂的输入输出端口与控制平台相应的输入输出模块连接,其接线示意图如图3所示。
2.2.3 输入输出地址分配
根据机器人手臂位置控制系统要实现的功能及设备接线示意图,对输入输出点的地址分配如表1和表2所示。
3 机器人手臂位置控制系统的软件设计
机器人手臂位置控制系统由软件和硬件两大部分组成。机器人手臂位置控制系统的软件设计包括使用网络组态软件RSNetWorx进行相关网络的组态,利用编程软件RSLogix5000进行I/O模块、通信模块的建立,控制系统程序的开发,以及利用RSView SE监控软件实现上位机界面动态监控。最后,对系统进行运行调试并达到预期的目标。
3.1 控制系统的功能
本系统机器人手臂的运行空间如图4所示。
机器人手臂要实现的功能是:在其可运行的空间里(图4所示的半空心圆柱),能够到任意指定的地方抓取物料,并且将其放置在任意指定的地方,而且在整个运行过程结束后用时最短。
3.2 控制系统的算法实现
3.2.1 水平手臂和垂直手臂的位置控制
机器人手臂的水平和垂直手臂均是由步进电机控制。PLC产生两路信号,一路为步进脉冲信号CP,步进电机驱动器每接收一个脉冲信号CP,就驱动步进电机旋转一步距角,脉冲信号CP的频率和步进电机的转速成正比,脉冲信号CP的个数决定了步进电机旋转的角度。另一路为方向电平信号DIR,当DIR为高电平时,步进电机顺时针旋转;当DIR为低电平时,步进电机逆时针旋转。
多次测量得到的脉冲数据如表3所示,X轴每前伸或后缩1mm需要给步进电机60个脉冲信号,Y轴每上升或下降1mm需要81个脉冲信号,通过控制输入给步进电机的脉冲信号个数控制机器人手臂运行的距离。至于伸臂或缩臂,升臂或降臂,则需要控制步进电机的方向信号。在该系统中,两个步进电机的方向信号为高电平时,伸臂和降臂;相反,则缩臂和升臂。
3.2.2 腰部旋转的位置控制
在控制机器人手臂水平旋转的直流减速电机的后端轴上固定有增量式光电编码器,在腰部旋转时会产生一系列的脉冲。通过计数该旋转脉冲数可以控制腰部的旋转角度,该控制为闭环控制。通过数次测试,腰部旋转180°取平均值得到234个脉冲,旋转1°需要1.33个脉冲。
3.2.3 综合控制
在该系统的功能中提到,要实现系统在一个周期运行下来时间最短,因此就不能在某一个时间点只驱动某一部分,必须控制水平手臂、垂直手臂和腰部三者同时运行,等三者都到达指定的地方时,再让手爪抓取或放下物料。
假设机械手爪当前的位置为A点,需将物料从B点移送到C点,若设手爪从A点到B点再到C点的每个过程的时间为T1、T2、T3,则其完成一次任务的时间为T=T1+T2+T3;若在B点和C点间循环往复地抓取和放置物料,则T=T1+n•(T2+T3)。在T的计算公式里,T1、T2、T3分别为每个阶段水平手臂、垂直手臂和腰部运行的耗时最长者的时间。
3.3 控制系统程序实现
机器人手臂位置控制系统的PLC梯形图程序有系统自动控制程序设计和回原点程序设计,利用编程软件RSLogix5000编写梯形图,主要使用顺序控制的设计方法。
步骤如下:首先根据系统工艺过程,画出程序流程图,然后根据程序流程图画出梯形图。
3.3.1 程序流程图
该控制系统功能的实现是基于机器人手臂当前所停留位置的已知。利用上文所提到的例子,设A点的坐标为A(X0,θ0,Y0),B(X1,θ1,Y1),C(X2,θ2,Y2),则该系统的程序流程图如图5所示。
3.3.2 控制系统程序设计思路
(1)自动程序设计思路
自动程序的设计主要是要实现机器人手臂的单周期或多周期自动循环工作。要实现在其可运行空间里,在任意指定位置抓取和放置物料,需要考虑位置数据的输入,水平手臂位置数据输入的梯形图如图6所示。图中X_Start、X_Stop、X_Current分别指水平手臂抓取物料、放置物料及当前位置的数据值,经过计算得到X_Result1和X_Result2,将正值直接赋给X_Result1_1和X_Result2_2,若是负值则需先取反再赋值,此数据即是手臂需要运行的距离。根据距离与脉冲数的关系可以得到控制电机运行的脉冲个数,并将结果作为相应的计数器的预置值。另外,X_Result1和X_Result2的正负还可以决定电机正转或反转,即水平手臂的伸缩状态。图6实现的是水平手臂先从186mm的地方运行到200mm的地方抓取物料,然后再运行到220mm的地方放下物料。