一种scara机器人分布式控制系统及其控制方法

文档序号:9407345阅读:986来源:国知局
一种scara机器人分布式控制系统及其控制方法
【技术领域】
[0001]本发明涉及机器人控制系统,尤其涉及一种SCARA机器人分布式控制系统及其控制方法。
【背景技术】
[0002]SCARA机器人又称为平面关节型机器人,有3个旋转关节,其轴线相互平行,在平面内进行定位和定向,另一个关节是移动关节,用于完成末端件在垂直于平面的运动。SCARA机器人结构轻便、响应快,在X,Y方向上具有顺从性,而在Z轴方向具有良好的刚度,特别适合于装配工作,SCARA的另一个特点是其串接的两杆结构,类似人的手臂,可以伸进有限空间中作业然后收回,适合于搬动和取放物件。由于SCARA机器人结构和动作原理的特殊性,电机的运行位置与机器人末端执行器的位姿无法简单直观的进行对应,已知末端执行器的位姿,求取各个关节电机的运行位置,称之为反解,反解的计算比较复杂,因此控制机器人动作需要专用的控制器,目前主流的技术有以下两种:
[0003]1、基于PC+运动控制卡的方案:逻辑控制和SCARA机器人相关的数学计算在PC平台上进行,运动控制卡在每个控制周期将计算的结果通过脉冲或者通讯总线发送给伺服电机驱动器;
[0004]2、基于专用运动控制器的方案:在运动控制器中采用比较高端的处理器,完成逻辑控制和SCARA机器人相关的数学计算,在每个控制周期将计算的结果通过脉冲或者通讯总线发送给伺服电机驱动器。
[0005]然而,在上述现有技术中,存在以下问题:首先,现有技术属于集中控制,控制器需要进行周期性的反解计算,对处理器的计算能力要求很高;其次,使用脉冲周期性通讯,控制器和每一台电机驱动器都要连接脉冲线,在现场很容易受到干扰,出现干扰时排查和解决都比较困难,接线数量也较多;再次,使用高速现场总线周期性通讯,对总线的传输带宽要求比较高,需要选择高性能高成本的总线,实现方案复杂。
[0006]近年来,随着半导体技术的飞速发展,嵌入式CPU处理能力越来越强,存储空间越来越大,这使得电机驱动器在完成电机控制相关计算的前提下有富余的资源。但是目前电机驱动器富余的资源多用于增强电机的驱动性能,从系统的角度来看,驱动器CPU性能的提升并没有降低控制器CPU的压力。

【发明内容】

[0007]本发明要解决的技术问题在于,针对现有技术的不足,提供一种降低对主站计算能力的要求、降低对总线带宽需求、降低布线和排查难度、提高抗干扰能力的SCARA机器人分布式控制系统及其控制方法。
[0008]为解决上述技术问题,本发明采用如下技术方案。
[0009]—种SCARA机器人分布式控制系统,所述SCARA机器人包括有依次设置的基座旋转轴、小臂旋转轴、升降轴和末端执行器旋转轴,所述SCARA机器人分布式控制系统包括有主站和从站,其中:所述主站内设有用户程序模块、PTP命令执行模块、SCARA反解计算模块、通讯控制模块、虚拟主轴模块、电子凸轮模块和电机控制模块,其中,所述用户程序模块用于执行用户编写的逻辑程序,该逻辑程序包含定位指令,在执行定位指令时,PTP命令执行模块获取指令中的目标点坐标,并发送到SCARA反解计算模块,SCARA反解计算模块对目标点的坐标进行一次反解计算,得出目标点对应的各个轴的位置,本轴位置直接发送给本轴的电子凸轮模块,其他轴的位置通过通讯控制模块发送给各个从站,之后虚拟主轴模块持续发出虚拟主轴,驱动各轴的电子凸轮运行;所述从站内设有电机控制模块、电子凸轮模块和通讯模块,所述通讯模块接收到本轴目标位置后,将参数传递给电子凸轮模块,电子凸轮模块根据这些参数,计算对应的电子凸轮曲线并保存到凸轮表,接收到虚拟主轴时,根据凸轮表周期性的计算本周期应该发出的周期脉冲量,电机控制模块每个周期接收电子凸轮模块的输出信号,控制电机运行。
[0010]优选地,所述主站中:所述用户程序模块供于用户编程,在程序的控制下调用SCARA机器人定位指令,定位指令包括直接坐标系下末端执行器的X、Y、Z坐标以及末端执行器的旋转角度等参数,用户程序模块在定位指令生效后将这些参数传递给PTP命令执行模块;所述通讯控制模块用于将参数打包发送到对应的电机驱动器;所述虚拟主轴模块用于在插补运行中周期性的发出数量和速度可控的虚拟主轴。
[0011]优选地,所述从站中:通讯控制模块用于接收控制器发送给本机的参数,对通讯数据进行校验,校验通过后将参数发送到电子凸轮模块;电子凸轮模块用于根据设定的曲线类型、目标点位置、当前位置等参数自动计算生产凸轮曲线,运行时根据虚拟主轴周期计算得到每个周期的周期脉冲量,发送到电机控制模块;电机控制模块用于实现电机的控制算法,根据周期脉冲量驱动电机运行,同时反馈电机的运行状态。
[0012]优选地,所述电子凸轮模块包括:参数缓冲区,保存通讯控制模块发来的定位控制参数;电子凸轮曲线计算模块,根据参数计算对应的电子凸轮曲线并保存到凸轮表;凸轮表,用来保存电子凸轮曲线;虚拟主轴接收模块,每个周期接收控制器传递过来的虚拟主轴,计算主轴增量;电子凸轮运行控制模块,每个计算周期根据虚拟主轴和凸轮表计算本周期应该发出的周期脉冲量,发送给电机控制模块。
[0013]优选地,电子凸轮模块包括参数缓冲区、电子凸轮曲线计算模块、凸轮表、虚拟主轴接收模块及电子凸轮运行控制模块,其中:参数缓冲区用来保存通讯控制模块发送的相关参数,该相关参数包括曲线类型、目标点位置,定位启动时,电子凸轮曲线计算模块根据参数缓冲区内容计算相应的电子凸轮曲线,保存到凸轮表中,之后虚拟主轴接收模块开始接收虚拟主轴数据,电子凸轮运行控制模块根据虚拟主轴的位置和凸轮表计算得到周期脉冲量。
[0014]—种SCARA机器人分布式控制方法,该控制方法包括:主站将用户编写程序中的SCARA机器人定位指令解析成对应的参数,将参数通过总线发送到从站的电机驱动器中,电机驱动器接收到有效的数据后将其中的定位运行参数解析出来,发送到电子凸轮模块,电子凸轮模块在虚拟主轴的驱动下周期性的计算,每个周期计算出周期脉冲量,电机控制模块根据周期脉冲量驱动电机运行。
[0015]优选地,控制系统由一个主站和三台从站构成,一个主站和三台从站分别对应SCARA机器人的基座旋转轴、小臂旋转轴、升降轴和末端执行器旋转轴,主站电机驱动器基于ARM等嵌入式处理器,处理器上运行的用户程序模块用于处理用户编写的程序,用户编写程序可控制SCARA机器人的定位运行,程序判断定位指令满足执行条件时,将参数送到PTP命令执行模块,PTP命令执行模块根据SCARA反解算法计算出目标位置对应的各关节电机位置。
[0016]优选地,SCARA反解的算法为:Θ I = atan2 (A, 土 sqrt (1-A2)) - Φ ; θ 2 =acos ((r*sin ( θ 1+ φ) -LI) /L2) ;d3 = -Pz ; θ 4 = θ 2-asin (-sin θ l*nx+cos θ l*ny) ;Α =(L12_L22+Px2+Py2)/(2*Ll*sqrt(Px2+Py2)) ;r = sqrt(Px2+Py2) ; Φ = atan2 (Px, Py) ;nx=cos ( Θ 1+ Θ 2+ Θ 4) ;ny = sin ( Θ 1+ Θ 2+ Θ 4);其中,Px、Py、Pz 为目标点直角坐标系下 X、Y、Z坐标,LI为第一臂长度,L2为小臂长度,Θ I为基座关节角度,Θ 2为小臂关节角度,d3为升降高度,0 4为末端执行器旋转角度。
[0017]优选地,计算出Θ 1、Θ 2、d3、Θ 4后,SCARA反解计算模块根据用户预设的机械参数,该机械参数为减速机减速比、臂长、螺距,根据机械参数计算出对应各轴电机的目标位置,之后主站将这些数据发送到本机电子凸轮模块和通讯控制模块,通讯控制模块由通讯的处理程序及相关通讯接口硬件组成,在接收到SCARA反解计算模块发送过来的数据后,将数据转换成通讯需要的格式,通过接口硬件发送到对应的电机驱动器,在各从站接收完定位运行参数并生成凸轮曲线后,PTP命令执行模块启动虚拟主轴,开始驱动定位运行。
[0018]本发明公开的SCARA机器人分布式控制系统及控制方法中,主站将用户编写程序中的SCAR
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1