商宗雪{1}李泽豪{2}俞清川{2}
天津赛象科技股份有限公司{1} 天津 300384 天津中德应用技术大学智能制造学院{2} 天津 300350
摘要:随着科技的快速发展,工业生产中对于机器人的加工要求也越来越高。工业机器人被大量应用在机械加工、焊接、喷涂等精确且需要重复工作的生产领域中,然而机器人单轴独立运动很难精确完成加工要求。正因如此,需要控制工业机器人多轴运动实现精确加工并提升效率。本文基于ZMC406控制器,使用ZDevelop软件开发及仿真平台,通过ZBasic语言完成圆心螺旋插补控制以及仿真应用实验。
关键词:工业机器人;ZDevelop仿真平台;ZBasic语言;空间圆弧插补
1.ZMC406控制器和ZDevelop编程软件
本文使用正运动技术有限公司的控制器,通过ZDevelop开发环境来完成控制程序的编程与调试。通过ZDevelop开发环境用户能够很容易的对控制器进行配置,快速开发应用程序以及对运动控制器正在运行的程序进行实时调试。该环境支持三种编程方式:Basic、梯形图以及HMI,本文选用Basic语言编写程序,ZBasic是ZMotion运动控制器所使用的Basic编程语言,提供所有标准程序语法、变量、数组、条件判断、循环及数学运算。最后使用ZDevelop软件将编写好的程序可以下载到正运动控制器里仿真测试,也可以在PC平台仿真运行[1]。
2.空间圆弧插补原理
空间圆弧插补功能是根据当前点和圆弧指令参数设置的终点和中间点(或圆心),由三个点确定圆弧,并实现空间圆弧插补运动,坐标为三维坐标,至少需要三个轴分别沿X轴、Y轴和Z轴运动[2]。即在一个插补计算中算出机器人末端执行器从当前位置(Xi,Yi,Zi)和方位(γi,αi,βi)沿圆弧割线上截取弦长f=FT后,所到达的下一个插补点的位置(Xi+1,Yi+1,Zi+1)和方位(γi+1,αi+1,βi+1,)。空间插补原理示意图如下图1所示。
3.插补语句说明与实际应用仿真
3.1 空间圆弧语句说明
例程背景:在数控系统、机器人系统等领域要求完成空间上的移动。这些移动必须沿着所设置好的路径在一定的精度范围内移动,即要进行精确的连续轨迹控制。通常情况下要将路径的关键点确定下来,然后根据轨迹特征使用相应的插补语句,通过控制器的控制,从而是先高效精确的运动控制。本文主要介绍圆心螺旋代码完成孔加工的仿真。首先介绍Zdevelop中圆心螺旋运动主要控制指令:
MHELICAL(end1,end2,centre1,centre2,direction,distance3,[mode]);
其中:end1代表结束点相对于起始点第一个轴运动坐标;end2代表结束点相对于起始点第二个轴运动坐标;centre1代表圆心相对于起始点第一个轴运动坐标;centre2代表圆心相对于起始点第二个轴运动坐标;direction为0代表逆时针运动,值为1代表顺时针运动;distance3带表第三个轴运动距离;mode代表第三轴的速度计算,值为0代表第三轴参与插补速度计算,值为1代表第三轴不参与插补速度计算。使用圆心螺旋语句完成孔加工的仿真程序举例:
BASE(0,1,2) //轴列表选择0,1,2三轴
UNITS=100,100,100 //三根轴脉冲当量设置均为100
DPOS=0,0,0 //三根轴坐标偏移至0
SPEED=100,100,100 //三根轴速度设置为100 units/s
ACCEL=1000,1000,1000 //三根轴的加速度设置为1000 units/s2
DECEL=1000,1000,1000 //三根轴的减速度设置为1000 units/s2
MHELICAL(200,-200,200,0,1,100) //原点作为起点,中心(200,0),终点(200,-200),顺时针,Z轴参与速度计算,Z轴运动距离100 units
(1)轴号选择:首先选择需要的轴数量,通常在空间圆弧插补中用到三个基本轴。选择轴0,轴1作为本次实验的主轴,轴2参与插补速度计算。每个任务拥有各自独立的轴列表,会记住任务中BASE选择的轴或者轴组,用于不同机台的控制。
(2)脉冲当量设置:脉冲当量指定每单位发送的脉冲数,支持5位小数精度。控制器以UNITS作为基本单位,修改后坐标显示会随UNITS改变比例变化。本实验轴0、1、2都设置为脉冲轴,脉冲当量分别设置为100、100、100。
(3)轴指令位置:轴的虚拟坐标位置,或称需要位置。将轴0、1、2的坐标偏移至0,0点设置为此实验的原点。
(4)轴运动速度设置:当多轴运动时,作为插补运动的速度。SPEED修改后,立刻生效,可以实现动态变速。本文设置轴0、1、2的速度均为100units/s。
(5)加速度设置:当多轴运动时,插补运动的加速度为主轴加速度。设置轴0、1、2的加速度均为1000units/s2。
(6)减速的设置
当多轴运动时,作为插补运动的减速度。当设置为0时,自动等于加速度ACCEL值,进行对称的加减速。设置轴0、1、2的减速度均为1000units/s2。
3.2 圆心螺旋指令设置
第一轴和第二轴进行圆弧插补,第三轴完成螺旋。自定义速度的连续插补运动可以使用SP后缀的指令。圆心螺旋可完整螺旋一圈,从Z方向看为一整圆。将第三步设置的原点作为起点,应用轴0和轴1以点(200,0)为中心画圆,当圆的位置到达(200,-200)时作为圆的终点,轴顺时针运动并且Z轴参与速度计算,向Z轴方向运动100 units。三轴插补运行轨迹如图2和图3所示。
3.3 利用圆心螺旋功能进行孔加工
实际应用中,机器人由控制器控制,首先通过离线编程生成制孔数控程序。然后通过机器人离线编程和仿真对指控数控程序进行后续处理,生成机器人程序。最后将机器人程序导入机器人的控制器进行最终的加工。螺旋插补铣孔代镗孔的加工轨迹比较简单:刀具按照螺旋插补的方式从进刀点进刀,开始加工进给,每周铣进一个深度,逐次指定螺旋插补进给,直到完成孔加工的全部深度。如果是盲孔,在孔底还需加入一段圆插补指令以保证孔底平面质量[3]。
参考文献
[1]正运动.ZMotion Basic编程手册.深圳正运动有限公司,2020。
[2]叶伯生.机器人空间三点圆弧功能的实现[J].华中科技大学学报(自然科学版),2007。
[3]陈贵亮 杨岩立.数控加工中螺旋插补功能的使用.宣化工程机械股份有限公司,2003.2.3。