CN105128010B - 一种scara机器人分布式控制系统及其控制方法 - Google Patents
一种scara机器人分布式控制系统及其控制方法 Download PDFInfo
- Publication number
- CN105128010B CN105128010B CN201510485575.1A CN201510485575A CN105128010B CN 105128010 B CN105128010 B CN 105128010B CN 201510485575 A CN201510485575 A CN 201510485575A CN 105128010 B CN105128010 B CN 105128010B
- Authority
- CN
- China
- Prior art keywords
- module
- scara
- parameter
- main shaft
- cam
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 17
- 238000004891 communication Methods 0.000 claims abstract description 51
- 230000000306 recurrent effect Effects 0.000 claims description 26
- 239000012636 effector Substances 0.000 claims description 14
- 210000000245 forearm Anatomy 0.000 claims description 11
- 230000004807 localization Effects 0.000 claims description 9
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 claims description 9
- 230000005611 electricity Effects 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 2
- 241000208340 Araliaceae Species 0.000 claims 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 2
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 2
- 235000008434 ginseng Nutrition 0.000 claims 2
- 238000005516 engineering process Methods 0.000 abstract description 8
- 230000009467 reduction Effects 0.000 abstract description 3
- 238000011835 investigation Methods 0.000 description 4
- 238000000465 moulding Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 210000001367 artery Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000003462 vein Anatomy 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
- Control Of Position Or Direction (AREA)
Abstract
本发明公开了一种SCARA机器人分布式控制系统,包括有主站和从站,所述主站中的用户程序模块用于执行用户编写的逻辑程序,该逻辑程序包含定位指令,在执行定位指令时,PTP命令执行模块获取指令中的目标点坐标,并发送到SCARA反解计算模块,SCARA反解计算模块对目标点的坐标进行一次反解计算,得出目标点对应的各个轴的位置,本轴位置直接发送给本轴的电子凸轮模块,其他轴的位置通过通讯控制模块发送给各个从站,之后虚拟主轴模块持续发出虚拟主轴,驱动各轴的电子凸轮运行。本发明相比现有技术而言能够降低对主站计算能力的要求、降低对总线带宽需求、降低布线和排查难度以及提高抗干扰能力。
Description
技术领域
本发明涉及机器人控制系统,尤其涉及一种SCARA机器人分布式控制系统及其控制方法。
背景技术
SCARA机器人又称为平面关节型机器人,有3个旋转关节,其轴线相互平行,在平面内进行定位和定向,另一个关节是移动关节,用于完成末端件在垂直于平面的运动。SCARA机器人结构轻便、响应快,在X,Y方向上具有顺从性,而在Z轴方向具有良好的刚度,特别适合于装配工作,SCARA的另一个特点是其串接的两杆结构,类似人的手臂,可以伸进有限空间中作业然后收回,适合于搬动和取放物件。由于SCARA机器人结构和动作原理的特殊性,电机的运行位置与机器人末端执行器的位姿无法简单直观的进行对应,已知末端执行器的位姿,求取各个关节电机的运行位置,称之为反解,反解的计算比较复杂,因此控制机器人动作需要专用的控制器,目前主流的技术有以下两种:
1、基于PC+运动控制卡的方案:逻辑控制和SCARA机器人相关的数学计算在PC平台上进行,运动控制卡在每个控制周期将计算的结果通过脉冲或者通讯总线发送给伺服电机驱动器;
2、基于专用运动控制器的方案:在运动控制器中采用比较高端的处理器,完成逻辑控制和SCARA机器人相关的数学计算,在每个控制周期将计算的结果通过脉冲或者通讯总线发送给伺服电机驱动器。
然而,在上述现有技术中,存在以下问题:首先,现有技术属于集中控制,控制器需要进行周期性的反解计算,对处理器的计算能力要求很高;其次,使用脉冲周期性通讯,控制器和每一台电机驱动器都要连接脉冲线,在现场很容易受到干扰,出现干扰时排查和解决都比较困难,接线数量也较多;再次,使用高速现场总线周期性通讯,对总线的传输带宽要求比较高,需要选择高性能高成本的总线,实现方案复杂。
近年来,随着半导体技术的飞速发展,嵌入式CPU处理能力越来越强,存储空间越来越大,这使得电机驱动器在完成电机控制相关计算的前提下有富余的资源。但是目前电机驱动器富余的资源多用于增强电机的驱动性能,从系统的角度来看,驱动器CPU性能的提升并没有降低控制器CPU的压力。
发明内容
本发明要解决的技术问题在于,针对现有技术的不足,提供一种降低对主站计算能力的要求、降低对总线带宽需求、降低布线和排查难度、提高抗干扰能力的SCARA机器人分布式控制系统及其控制方法。
为解决上述技术问题,本发明采用如下技术方案。
一种SCARA机器人分布式控制系统,所述SCARA机器人包括有依次设置的基座旋转轴、小臂旋转轴、升降轴和末端执行器旋转轴,所述SCARA机器人分布式控制系统包括有主站和从站,其中:所述主站内设有用户程序模块、PTP命令执行模块、SCARA反解计算模块、通讯控制模块、虚拟主轴模块、电子凸轮模块和电机控制模块,其中,所述用户程序模块用于执行用户编写的逻辑程序,该逻辑程序包含定位指令,在执行定位指令时,PTP命令执行模块获取指令中的目标点坐标,并发送到SCARA反解计算模块,SCARA反解计算模块对目标点的坐标进行一次反解计算,得出目标点对应的各个轴的位置,本轴位置直接发送给本轴的电子凸轮模块,其他轴的位置通过通讯控制模块发送给各个从站,之后虚拟主轴模块持续发出虚拟主轴,驱动各轴的电子凸轮运行;所述从站内设有电机控制模块、电子凸轮模块和通讯模块,所述通讯模块接收到本轴目标位置后,将参数传递给电子凸轮模块,电子凸轮模块根据这些参数,计算对应的电子凸轮曲线并保存到凸轮表,接收到虚拟主轴时,根据凸轮表周期性的计算本周期应该发出的周期脉冲量,电机控制模块每个周期接收电子凸轮模块的输出信号,控制电机运行。
优选地,所述主站中:所述用户程序模块供于用户编程,在程序的控制下调用SCARA机器人定位指令,定位指令包括直接坐标系下末端执行器的X、Y、Z坐标以及末端执行器的旋转角度参数,用户程序模块在定位指令生效后将这些参数传递给PTP命令执行模块;所述通讯控制模块用于将参数打包发送到对应的电机驱动器;所述虚拟主轴模块用于在插补运行中周期性的发出数量和速度可控的虚拟主轴。
优选地,所述从站中:通讯控制模块用于接收控制器发送给本机的参数,对通讯数据进行校验,校验通过后将参数发送到电子凸轮模块;电子凸轮模块用于根据设定的曲线类型、目标点位置、当前位置参数自动计算产生凸轮曲线,运行时根据虚拟主轴周期计算得到每个周期的周期脉冲量,发送到电机控制模块;电机控制模块用于实现电机的控制算法,根据周期脉冲量驱动电机运行,同时反馈电机的运行状态。
优选地,所述电子凸轮模块包括:参数缓冲区,保存通讯控制模块发来的定位控制参数;电子凸轮曲线计算模块,根据参数计算对应的电子凸轮曲线并保存到凸轮表;凸轮表,用来保存电子凸轮曲线;虚拟主轴接收模块,每个周期接收控制器传递过来的虚拟主轴,计算主轴增量;电子凸轮运行控制模块,每个计算周期根据虚拟主轴和凸轮表计算本周期应该发出的周期脉冲量,发送给电机控制模块。
优选地,电子凸轮模块包括参数缓冲区、电子凸轮曲线计算模块、凸轮表、虚拟主轴接收模块及电子凸轮运行控制模块,其中:参数缓冲区用来保存通讯控制模块发送的相关参数,该相关参数包括曲线类型、目标点位置,定位启动时,电子凸轮曲线计算模块根据参数缓冲区内容计算相应的电子凸轮曲线,保存到凸轮表中,之后虚拟主轴接收模块开始接收虚拟主轴数据,电子凸轮运行控制模块根据虚拟主轴的位置和凸轮表计算得到周期脉冲量。
一种SCARA机器人分布式控制方法,该控制方法包括:主站将用户编写程序中的SCARA机器人定位指令解析成对应的参数,将参数通过总线发送到从站的电机驱动器中,电机驱动器接收到有效的数据后将其中的定位运行参数解析出来,发送到电子凸轮模块,电子凸轮模块在虚拟主轴的驱动下周期性的计算,每个周期计算出周期脉冲量,电机控制模块根据周期脉冲量驱动电机运行。
优选地,控制系统由一个主站和三台从站构成,一个主站和三台从站分别对应SCARA机器人的基座旋转轴、小臂旋转轴、升降轴和末端执行器旋转轴,主站电机驱动器基于ARM嵌入式处理器,处理器上运行的用户程序模块用于处理用户编写的程序,用户编写程序可控制SCARA机器人的定位运行,程序判断定位指令满足执行条件时,将参数送到PTP命令执行模块,PTP命令执行模块根据SCARA反解算法计算出目标位置对应的各关节电机位置。
优选地,SCARA反解的算法为:θ1=atan2(A,±sqrt(1-A2))-φ;θ2=acos((r*sin(θ1+φ)-L1)/L2);d3=-Pz;θ4=θ2-asin(-sinθ1*nx+cosθ1*ny);A=(L12-L22+Px2+Py2)/(2*L1*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坐标,L1为第一臂长度,L2为小臂长度,θ1为基座关节角度,θ2为小臂关节角度,d3为升降高度,θ4为末端执行器旋转角度。
优选地,计算出θ1、θ2、d3、θ4后,SCARA反解计算模块根据用户预设的机械参数,该机械参数为减速机减速比、臂长、螺距,根据机械参数计算出对应各轴电机的目标位置,之后主站将这些数据发送到本机电子凸轮模块和通讯控制模块,通讯控制模块由通讯的处理程序及相关通讯接口硬件组成,在接收到SCARA反解计算模块发送过来的数据后,将数据转换成通讯需要的格式,通过接口硬件发送到对应的电机驱动器,在各从站接收完定位运行参数并生成凸轮曲线后,PTP命令执行模块启动虚拟主轴,开始驱动定位运行。
本发明公开的SCARA机器人分布式控制系统及控制方法中,主站将用户编写程序中的SCARA机器人定位指令解析成对应的参数,将参数通过总线发送到从站的电机驱动器中,电机驱动器接收到有效的数据后将其中的定位运行参数解析出来,发送到电子凸轮模块,电子凸轮模块在虚拟主轴的驱动下周期性的计算,每个周期计算出周期脉冲量,电机控制模块根据周期脉冲量驱动电机运行。本发明相比现有技术而言,本发明在SCARA机器人的各轴电机驱动器内进行周期计算,充分利用电机驱动器富余的计算资源,对主站计算能力要求不高;同时,本发明在SCARA机器人进行定位控制时只需要在启动时通过总线传输一组参数,在插补过程中只需要发出虚拟主轴,不需要周期性的传递数据,降低了对总线的带宽需求;此外,本发明只需要在主站和从站之间连接通讯线及虚拟主轴线,降低了布线和排查的难度,不易受到干扰。
附图说明
图1为本发明SCARA机器人分布式控制系统的结构示意图。
图2为电子凸轮模块的的工作流程图。
图3为SCARA反解计算过程的流程图。
图4为SCARA机器人的结构示意图。
图5为SCARA机器人活动坐标系示意图。
具体实施方式
下面结合附图和实施例对本发明作更加详细的描述。
本发明公开了一种SCARA机器人分布式控制系统,结合图1至图5所示,所述SCARA机器人包括有依次设置的基座旋转轴100、小臂旋转轴101、升降轴102和末端执行器旋转轴103,所述SCARA机器人分布式控制系统包括有主站1和从站2,其中:
所述主站1内设有用户程序模块、PTP命令执行模块、SCARA反解计算模块、通讯控制模块、虚拟主轴模块、电子凸轮模块和电机控制模块,其中,所述用户程序模块用于执行用户编写的逻辑程序,该逻辑程序包含定位指令,在执行定位指令时,PTP命令执行模块获取指令中的目标点坐标,并发送到SCARA反解计算模块,SCARA反解计算模块对目标点的坐标进行一次反解计算,得出目标点对应的各个轴的位置,本轴位置直接发送给本轴的电子凸轮模块,其他轴的位置通过通讯控制模块发送给各个从站2,之后虚拟主轴模块持续发出虚拟主轴,驱动各轴的电子凸轮运行;
所述从站2内设有电机控制模块、电子凸轮模块和通讯模块,所述通讯模块接收到本轴目标位置后,将参数传递给电子凸轮模块,电子凸轮模块根据这些参数,计算对应的电子凸轮曲线并保存到凸轮表,接收到虚拟主轴时,根据凸轮表周期性的计算本周期应该发出的周期脉冲量,电机控制模块每个周期接收电子凸轮模块的输出信号,控制电机运行。
上述SCARA机器人分布式控制系统中,主站将用户编写程序中的SCARA机器人定位指令解析成对应的参数,将参数通过总线发送到从站的电机驱动器中,电机驱动器接收到有效的数据后将其中的定位运行参数解析出来,发送到电子凸轮模块,电子凸轮模块在虚拟主轴的驱动下周期性的计算,每个周期计算出周期脉冲量,电机控制模块根据周期脉冲量驱动电机运行。本发明相比现有技术而言,本发明在SCARA机器人的各轴电机驱动器内进行周期计算,充分利用电机驱动器富余的计算资源,对主站计算能力要求不高;同时,本发明在SCARA机器人进行定位控制时只需要在启动时通过总线传输一组参数,在插补过程中只需要发出虚拟主轴,不需要周期性的传递数据,降低了对总线的带宽需求;此外,本发明只需要在主站和从站之间连接通讯线及虚拟主轴线,降低了布线和排查的难度,不易受到干扰。
作为一种优选方式,所述主站1中:所述用户程序模块供于用户编程,在程序的控制下调用SCARA机器人定位指令,定位指令包括直接坐标系下末端执行器的X、Y、Z坐标以及末端执行器的旋转角度参数,用户程序模块在定位指令生效后将这些参数传递给PTP命令执行模块;所述通讯控制模块用于将参数打包发送到对应的电机驱动器;所述虚拟主轴模块用于在插补运行中周期性的发出数量和速度可控的虚拟主轴。
进一步地,所述从站2中:通讯控制模块用于接收控制器发送给本机的参数,对通讯数据进行校验,校验通过后将参数发送到电子凸轮模块;电子凸轮模块用于根据设定的曲线类型、目标点位置、当前位置参数自动计算产生凸轮曲线,运行时根据虚拟主轴周期计算得到每个周期的周期脉冲量,发送到电机控制模块;电机控制模块用于实现电机的控制算法,根据周期脉冲量驱动电机运行,同时反馈电机的运行状态。
其中,所述电子凸轮模块包括参数缓冲区、电子凸轮曲线计算模块、凸轮表、虚拟主轴接收模块和电子凸轮运行控制模块,具体地:参数缓冲区保存通讯控制模块发来的定位控制参数;电子凸轮曲线计算模块根据参数计算对应的电子凸轮曲线并保存到凸轮表;凸轮表用来保存电子凸轮曲线;虚拟主轴接收模块,每个周期接收控制器传递过来的虚拟主轴,计算主轴增量;电子凸轮运行控制模块,每个计算周期根据虚拟主轴和凸轮表计算本周期应该发出的周期脉冲量,发送给电机控制模块。
本实施例中,电子凸轮模块包括参数缓冲区、电子凸轮曲线计算模块、凸轮表、虚拟主轴接收模块及电子凸轮运行控制模块,其中:参数缓冲区用来保存通讯控制模块发送的相关参数,该相关参数包括曲线类型、目标点位置,定位启动时,电子凸轮曲线计算模块根据参数缓冲区内容计算相应的电子凸轮曲线,保存到凸轮表中,之后虚拟主轴接收模块开始接收虚拟主轴数据,电子凸轮运行控制模块根据虚拟主轴的位置和凸轮表计算得到周期脉冲量。
基于上述SCARA机器人分布式控制系统,本发明还公开了一种SCARA机器人分布式控制方法,该控制方法包括:主站将用户编写程序中的SCARA机器人定位指令解析成对应的参数,将参数通过总线发送到从站的电机驱动器中,电机驱动器接收到有效的数据后将其中的定位运行参数解析出来,发送到电子凸轮模块,电子凸轮模块在虚拟主轴的驱动下周期性的计算,每个周期计算出周期脉冲量,电机控制模块根据周期脉冲量驱动电机运行。
本实施例中,控制系统由一个主站和三台从站构成,一个主站和三台从站分别对应SCARA机器人的基座旋转轴、小臂旋转轴、升降轴和末端执行器旋转轴,主站电机驱动器基于ARM嵌入式处理器,处理器上运行的用户程序模块用于处理用户编写的程序,用户编写程序可控制SCARA机器人的定位运行,程序判断定位指令满足执行条件时,将参数送到PTP命令执行模块,PTP命令执行模块根据SCARA反解算法计算出目标位置对应的各关节电机位置。其中,SCARA反解的算法为:
θ1=atan2(A,±sqrt(1-A2))-φ;
θ2=acos((r*sin(θ1+φ)-L1)/L2);
d3=-Pz;
θ4=θ2-asin(-sinθ1*nx+cosθ1*ny);
A=(L12-L22+Px2+Py2)/(2*L1*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坐标,L1为第一臂长度,L2为小臂长度,θ1为基座关节角度,θ2为小臂关节角度,d3为升降高度,θ4为末端执行器旋转角度。
本发明在计算出θ1、θ2、d3、θ4后,SCARA反解计算模块根据用户预设的机械参数,该机械参数为减速机减速比、臂长、螺距,根据机械参数计算出对应各轴电机的目标位置,之后主站将这些数据发送到本机电子凸轮模块和通讯控制模块,通讯控制模块由通讯的处理程序及相关通讯接口硬件组成,在接收到SCARA反解计算模块发送过来的数据后,将数据转换成通讯需要的格式,通过接口硬件发送到对应的电机驱动器,在各从站接收完定位运行参数并生成凸轮曲线后,PTP命令执行模块启动虚拟主轴,开始驱动定位运行。
本发明技术方案中,从站电机驱动器包括通讯控制模块、电子凸轮模块及电机控制模块。其中通讯控制模块接收到通讯帧后,对数据进行校验,根据数据中的地址判断是否是发送给本机的数据,如果是发送给本机的数据且校验正确,则将解析出的数据发送到电子凸轮模块,如果出现了校验错误则要求重发,电机控制模块控制电机跟随电子凸轮模块输出的周期脉冲量,其包括位置环、速度环、电流环计算逻辑以及相应的硬件,以及必要的保护及监控功能。
本发明公开的SCARA机器人分布式控制系统及其控制方法,进行定位运行时,在主站里进行一次目标点的反解计算,然后通过简单的异步通讯总线将反解得到的各个轴对应目标点的位置发送到各个轴,各轴根据当前所处位置和目标位置生成凸轮曲线;主站和从站之间只需要一条虚拟主轴连接,定位运行时,主站发出虚拟主轴,各轴根据虚拟主轴和凸轮表周期性的计算位置增量,驱动电机运行;主轴发送完成时,机器人运行到目标位置。结合以上所述可以看出,本发明相比现有技术而言能够降低对主站计算能力的要求、降低对总线带宽需求、降低布线和排查难度以及提高抗干扰能力。
以上所述只是本发明较佳的实施例,并不用于限制本发明,凡在本发明的技术范围内所做的修改、等同替换或者改进等,均应包含在本发明所保护的范围内。
Claims (4)
1.一种SCARA机器人分布式控制系统,所述SCARA机器人包括有依次设置的基座旋转轴、小臂旋转轴、升降轴和末端执行器旋转轴,其特征在于,所述SCARA机器人分布式控制系统包括有主站和从站,其中:
所述主站内设有用户程序模块、PTP命令执行模块、SCARA反解计算模块、通讯控制模块、虚拟主轴模块、电子凸轮模块和电机控制模块,其中,所述用户程序模块用于执行用户编写的逻辑程序,该逻辑程序包含定位指令,在执行定位指令时,PTP命令执行模块获取指令中的目标点坐标,并发送到SCARA反解计算模块,SCARA反解计算模块对目标点的坐标进行一次反解计算,得出目标点对应的各个轴的位置,本轴位置直接发送给本轴的电子凸轮模块,其他轴的位置通过通讯控制模块发送给各个从站,之后虚拟主轴模块持续发出虚拟主轴,驱动各轴的电子凸轮运行;
所述从站内设有电机控制模块、电子凸轮模块和通讯模块,所述通讯模块接收到本轴目标位置后,将参数传递给电子凸轮模块,电子凸轮模块根据这些参数,计算对应的电子凸轮曲线并保存到凸轮表,接收到虚拟主轴时,根据凸轮表周期性的计算本周期应该发出的周期脉冲量,电机控制模块每个周期接收电子凸轮模块的输出信号,控制电机运行;
所述主站中:所述用户程序模块供于用户编程,在程序的控制下调用SCARA机器人定位指令,定位指令包括直接坐标系下末端执行器的X、Y、Z坐标以及末端执行器的旋转角度参数,用户程序模块在定位指令生效后将这些参数传递给PTP命令执行模块;
所述通讯控制模块用于将参数打包发送到对应的电机驱动器;
所述虚拟主轴模块用于在插补运行中周期性的发出数量和速度可控的虚拟主轴;
所述从站中:通讯控制模块用于接收控制器发送给本机的参数,对通讯数据进行校验,校验通过后将参数发送到电子凸轮模块;
电子凸轮模块用于根据设定的曲线类型、目标点位置、当前位置参数自动计算产生凸轮曲线,运行时根据虚拟主轴周期计算得到每个周期的周期脉冲量,发送到电机控制模块;
电机控制模块用于实现电机的控制算法,根据周期脉冲量驱动电机运行,同时反馈电机的运行状态;
电子凸轮模块包括参数缓冲区、电子凸轮曲线计算模块、凸轮表、虚拟主轴接收模块及电子凸轮运行控制模块,其中:参数缓冲区用来保存通讯控制模块发送的相关参数,该相关参数包括曲线类型、目标点位置,定位启动时,电子凸轮曲线计算模块根据参数缓冲区内容计算相应的电子凸轮曲线,保存到凸轮表中,之后虚拟主轴接收模块开始接收虚拟主轴数据,电子凸轮运行控制模块根据虚拟主轴的位置和凸轮表计算得到周期脉冲量。
2.一种SCARA机器人分布式控制方法,其特征在于,该控制方法包括:主站将用户编写程序中的SCARA机器人定位指令解析成对应的参数,将参数通过总线发送到从站的电机驱动器中,电机驱动器接收到有效的数据后将其中的定位运行参数解析出来,发送到电子凸轮模块,电子凸轮模块在虚拟主轴的驱动下周期性的计算,每个周期计算出周期脉冲量,电机控制模块根据周期脉冲量驱动电机运行;
控制系统由一个主站和三台从站构成,所述主站内设有用户程序模块、PTP命令执行模块、SCARA反解计算模块、通讯控制模块、虚拟主轴模块、电子凸轮模块和电机控制模块,所述从站内设有电机控制模块、电子凸轮模块和通讯模块,一个主站和三台从站分别对应SCARA机器人的基座旋转轴、小臂旋转轴、升降轴和末端执行器旋转轴,主站电机驱动器基于ARM嵌入式处理器,处理器上运行的用户程序模块用于处理用户编写的程序,用户编写程序可控制SCARA机器人的定位运行,程序判断定位指令满足执行条件时,将参数送到PTP命令执行模块,PTP命令执行模块根据SCARA反解算法计算出目标位置对应的各关节电机位置;
所述主站中:所述用户程序模块供于用户编程,在程序的控制下调用SCARA机器人定位指令,定位指令包括直接坐标系下末端执行器的X、Y、Z坐标以及末端执行器的旋转角度参数,用户程序模块在定位指令生效后将这些参数传递给PTP命令执行模块;
所述通讯控制模块用于将参数打包发送到对应的电机驱动器;
所述虚拟主轴模块用于在插补运行中周期性的发出数量和速度可控的虚拟主轴;
所述从站中:通讯控制模块用于接收控制器发送给本机的参数,对通讯数据进行校验,校验通过后将参数发送到电子凸轮模块;
电子凸轮模块用于根据设定的曲线类型、目标点位置、当前位置参数自动计算产生凸轮曲线,运行时根据虚拟主轴周期计算得到每个周期的周期脉冲量,发送到电机控制模块;
电机控制模块用于实现电机的控制算法,根据周期脉冲量驱动电机运行,同时反馈电机的运行状态;
电子凸轮模块包括参数缓冲区、电子凸轮曲线计算模块、凸轮表、虚拟主轴接收模块及电子凸轮运行控制模块,其中:参数缓冲区用来保存通讯控制模块发送的相关参数,该相关参数包括曲线类型、目标点位置,定位启动时,电子凸轮曲线计算模块根据参数缓冲区内容计算相应的电子凸轮曲线,保存到凸轮表中,之后虚拟主轴接收模块开始接收虚拟主轴数据,电子凸轮运行控制模块根据虚拟主轴的位置和凸轮表计算得到周期脉冲量。
3.如权利要求2所述的SCARA机器人分布式控制方法,其特征在于,SCARA反解的算法为:
θ1=atan2(A,±sqrt(1-A2))-φ;
θ2=acos((r*sin(θ1+φ)-L1)/L2);
d3=-Pz;
θ4=θ2-asin(-sinθ1*nx+cosθ1*ny);
A=(L12-L22+Px2+Py2)/(2*L1*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坐标,L1为第一臂长度,L2为小臂长度,θ1为基座关节角度,θ2为小臂关节角度,d3为升降高度,θ4为末端执行器旋转角度。
4.如权利要求2所述的SCARA机器人分布式控制方法,其特征在于,计算出θ1、θ2、d3、θ4后,SCARA反解计算模块根据用户预设的机械参数,根据机械参数计算出对应各轴电机的目标位置,该机械参数为减速机减速比、臂长、螺距,之后主站将这些数据发送到本机电子凸轮模块和通讯控制模块,通讯控制模块由通讯的处理程序及相关通讯接口硬件组成,在接收到SCARA反解计算模块发送过来的数据后,将数据转换成通讯需要的格式,通过接口硬件发送到对应的电机驱动器,在各从站接收完定位运行参数并生成凸轮曲线后,PTP命令执行模块启动虚拟主轴,开始驱动定位运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510485575.1A CN105128010B (zh) | 2015-08-07 | 2015-08-07 | 一种scara机器人分布式控制系统及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510485575.1A CN105128010B (zh) | 2015-08-07 | 2015-08-07 | 一种scara机器人分布式控制系统及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105128010A CN105128010A (zh) | 2015-12-09 |
CN105128010B true CN105128010B (zh) | 2017-12-29 |
Family
ID=54713750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510485575.1A Active CN105128010B (zh) | 2015-08-07 | 2015-08-07 | 一种scara机器人分布式控制系统及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105128010B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843764B (zh) * | 2016-04-07 | 2019-02-12 | 大族激光科技产业集团股份有限公司 | 机器人的控制方法和装置 |
CN108278333A (zh) * | 2017-12-22 | 2018-07-13 | 中国船舶重工集团公司第七0七研究所 | 一种光纤陀螺绕环机正交排布控制方法 |
CN113031479A (zh) * | 2021-03-09 | 2021-06-25 | 深圳市微秒控制技术有限公司 | 一种电机定位控制系统及方法 |
CN114018529A (zh) * | 2022-01-10 | 2022-02-08 | 中国空气动力研究与发展中心低速空气动力研究所 | 一种水洞三自由度动态试验方法及系统 |
CN114800492A (zh) * | 2022-04-11 | 2022-07-29 | 深圳市大族机器人有限公司 | 从站末端的控制方法、系统、计算机设备和存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06301412A (ja) * | 1993-04-14 | 1994-10-28 | Citizen Watch Co Ltd | ロボットセル用制御装置 |
US6442451B1 (en) * | 2000-12-28 | 2002-08-27 | Robotic Workspace Technologies, Inc. | Versatile robot control system |
JP5061558B2 (ja) * | 2006-09-28 | 2012-10-31 | 株式会社ジェイテクト | 数値制御装置のプログラムの記述方法、数値制御装置、及び加工装置 |
CN103163822B (zh) * | 2011-12-19 | 2015-09-16 | 苏州汇川技术有限公司 | 电子凸轮控制装置及方法 |
CN102650862B (zh) * | 2012-05-15 | 2016-06-08 | 深圳市汇川控制技术有限公司 | 可编程逻辑控制器的电子凸轮控制系统及方法 |
CN103552711B (zh) * | 2013-10-31 | 2016-04-06 | 中达电子零组件(吴江)有限公司 | 多轴控制装置、循圆方法以及包装机 |
CN103770462B (zh) * | 2014-01-03 | 2015-08-26 | 中达电通股份有限公司 | 用于控制多轴设备的轴运行的方法及系统 |
CN104570952B (zh) * | 2015-01-19 | 2017-11-07 | 深圳市微秒控制技术有限公司 | 多轴插补控制方法与装置 |
-
2015
- 2015-08-07 CN CN201510485575.1A patent/CN105128010B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105128010A (zh) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105128010B (zh) | 一种scara机器人分布式控制系统及其控制方法 | |
CN105929797A (zh) | 一种六轴关节机器人分布式控制系统及方法 | |
CN109159151A (zh) | 一种机械臂空间轨迹跟踪动态补偿方法和系统 | |
CN108638066A (zh) | 一种用于机器人的传送带同步跟踪的装置、方法及系统 | |
CN102545733B (zh) | 硅片传输机械手双电机同步控制装置及其方法 | |
CN103358309B (zh) | 一种基于以太网的机械手运动控制系统 | |
CN107175406A (zh) | 焊接轨迹的控制方法和系统 | |
CN104385283B (zh) | 一种六自由度机械臂奇异位形的快速判断方法 | |
CN108279630A (zh) | 一种基于总线的分布式运动控制系统及方法 | |
CN203725983U (zh) | 具有四轴运动控制及插补功能的激光焊接机 | |
CN105824270B (zh) | 多轴运动控制器 | |
CN111360795B (zh) | 一种六自由度并联机器人的控制系统及其控制方法 | |
CN105223868A (zh) | 一种Delta机器人分布式控制系统及控制方法 | |
CN203250190U (zh) | 工业机器人控制器 | |
CN113001069B (zh) | 一种六关节机器人的焊缝跟踪方法 | |
CN104570952A (zh) | 多轴插补控制方法与装置 | |
CN113942012A (zh) | 机械臂关节方法、系统、计算机及可读存储介质 | |
CN108073097B (zh) | 工业机器人的图像处理装置 | |
CN111026037A (zh) | 基于windows平台工业机器人运动控制器及控制方法 | |
CN103552072B (zh) | 一种基于嵌入式控制器的机器人控制方法和装置 | |
CN206326604U (zh) | 基于机械视觉的机器人运动修正系统 | |
CN104536381A (zh) | 一种用于对多轴运动控制系统测量轮廓误差的系统及方法 | |
Jiang et al. | Kinematics calculation of minimally invasive surgical robot based on FPGA | |
CN212019735U (zh) | 一种激光加工系统的通用视觉处理装置及激光加工系统 | |
CN113031479A (zh) | 一种电机定位控制系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A Distributed Control System and Control Method for SCARA Robots Effective date of registration: 20231018 Granted publication date: 20171229 Pledgee: Shenzhen small and medium sized small loan Co.,Ltd. Pledgor: SHENZHEN VMMORE CONTROL TECHNOLOGY Co.,Ltd. Registration number: Y2023980061572 |