APP下载

基于NC代码的工业机器人加工轨迹规划研究*

2012-02-05仇晓黎刘明灯

组合机床与自动化加工技术 2012年8期
关键词:插值代码刀具

王 引,仇晓黎,刘明灯,赵 鹏

(1.东南大学机械工程学院,南京 211189;2.南京四开电子企业有限公司,南京 210007)

基于NC代码的工业机器人加工轨迹规划研究*

王 引1,仇晓黎1,刘明灯2,赵 鹏2

(1.东南大学机械工程学院,南京 211189;2.南京四开电子企业有限公司,南京 210007)

随着数控技术在制造业的深入发展,NC代码得到了广泛应用。若以通用NC代码直接作为工业机器人的工作语言,将大大克服机器人工作语言的复杂性,使得连续路径编程特别是曲面编程不再局限于示教编程。文章首次提出并采用“虚拟刀具”的概念,即用五个相对位置保持不变的点来虚拟末端工具,将每条NC代码信息便捷地转化成机器人逆解所需参数。利用三次五次复合插值法,对工业机器人的连续路径进行规划,获得了精确的路径点。经仿真,验证了算法的正确性。

NC代码;虚拟刀具;工业机器人;轨迹规划;插值

0 引言

工业机器人遍及当今制造业中的模型雕刻、焊机、切割、喷涂等行业。不同品牌的工业机器人工作语言专用性较强,并且掌握起来比较困难,特别是对于连续作业的编程,如喷漆,很多还停留在示教编程的水平。机器人工作语言的不通用性与掌握起来的困难性是阻碍工业机器人进一步发展的主要因素。随着数控技术在制造业的深入发展,NC代码得到了广泛应用。NC代码来源广泛,除了比较流行的诸如从UG、Pro/e、Master CAM等CAM软件获得外,国内外很多学者开发专系统,在特殊环境下获得NC代码如康胜武等研究了基于VC++的NC代码自动生成系统,从而便捷的将 DXF文件转换为NC代码[1]。而将NC代码应用于工业机器人,国内也有所研究。上海交通大学刘为志[2]等人在《基于G代码的工业机器人的自动编程》中对圆弧的插补作了深入的研究,最终将NC代码转化为Motoman UP6语言格式。希腊学者Mitsi S、Bouzakis K-D等研制的机器人离线编程系统具有轨迹规划、仿真和产生NC代码等功能[3],但该离线编程系统产生的NC代码是适合该机器人运行的NC代码,而并非能够在五轴机床上运行。

基于上述对工业机器人语言和NC语言的阐述,研究一种直接以NC语言作为工作语言的工业机器人,将快速发展的工业机器人业与传统数控代码结合起来,将会开辟一条工业机器人发展的新出路。

1 轨迹规划预处理

轨迹规划预处理目的是将每一条NC代码信息通过算法转化为工业机器人逆解所需要的参数。

1.1 NC代码及后处理设置

不同数控系统所使用的NC代码是不完全相同的,相同数控系统不同机床结构所使用的NC代码也是不同的。本文以双摆头五轴数控机床使用的代码为例进行阐述。在CAM后处理器中,将机床定义为图1所示的双摆头结构,并且设置第四轴、第五轴偏置均为零,则由此产生的NC代码基本格式为:

其中,N为行号,G为插补方式,XYZ为刀尖点坐标,BC为B、C轴转角,F为进给速度,S为主轴转速。

图1 CAM后处理中双摆头五轴机床的定义

1.2 虚拟刀具

本文没有单独定义工具坐标系{T},而是将NC代码上的信息经过数学处理全部转化为机器人手腕中心C点的位置和姿态,然后再进行逆运动学计算。

工业机器人的末端工具形式多样,比如:喷漆用的喷枪、高速旋杯、焊接切割用的焊枪、切削用的电主轴、抓取用的气动抓手等。对于上述比较常见的末端工具,只需五个点就能够描述其基本特征,如图2所示,Q、W、R、T和S共5个点用来虚拟末端工具的初始位置,作如下规定:

(1)设置Q点位于编程坐标系原点。

(2)设置W点位于编程坐标系+Z轴上。

(3)S点的设置时其各坐标要加上机器人第六轴长度以及刀具连接部分的尺寸,以保证虚拟刀具“安装”后S点与机器人手腕中心C点重合。

(4)设置T点坐标,使得虚拟刀具“安装”后,ST连线与机器人第六轴线重合。

(5)设置R点坐标,使得TR连线与ST连线垂直并,并尽量使R点靠近所虚拟的刀具的边缘。

图2、3中的坐标系{P}为编程坐标系或工件坐标系(此处将编程坐标系与工件坐标系重合),图3即为五个点虚拟的电主轴,考虑到第六轴和连接部件的尺寸,虚拟刀具的S点并不在电主轴上。对于喷漆作业,要求喷枪距离工件表面200~300mm的距离,设置虚拟刀具时,Q点则不能在编程坐标系{P}的原点,而是将Q点z坐标设为距离的数值。W点的z坐标大于Q点z坐标即可。

图2 五点虚拟工具

图3 五点虚拟的主轴

1.3 NC代码信息向C点转化

路径规划是建立在机器人封闭的坐标系之上的,图4是机器人作业时坐标系。一般机器人算法封闭的链从图5中1-1处分开成{B}→{S}→{P}→{T}和{B}→{W}→{T}两条路径来求解;而本文由于引入了虚拟刀具的概念,所以在工具坐标系的处理上与一般机器人算法有所不同,通过将NC代码的数据转化为机器人手腕中心C点的位姿,从而舍弃了工具坐标系的使用,封闭的链从图5中2-2处分开成{B}→{S}→{P}→{W}和{B}→{W}两条路径进行求解。

图4 机器人作业坐标系

NC代码信息向机器人手腕中心C点转化时,首先要做的就是按照定义求出虚拟刀具的五个点在编程坐标系{P}下的坐标。由于在1.1节设置受处理器第四五轴的偏置均为0,故NC代码基本格式中,(X,Y,Z)表示工件表面点坐标也表示刀尖点坐标,而角度B和C则确定了该点的法线方向,因为在实际加工过程中,是由刀具切削工件而产生工件表面上的点,所以基本格式中的(X,Y,Z,B,C)也就确定了刀尖点(刀具)在编程坐标系{P}中的坐标和矢量。概括为图5,分以下几步实现:

图5 NC代码向关节角的转化

(1)将处于初始位姿的虚拟刀具5个点分别绕Y轴和Z轴旋转相应的角度,式(1)、(2)分别是绕Y、Z轴旋转的旋转矩阵,式(3)是某点(x,y,z)绕Y轴旋转角度 B 变换得到(x',y',z'),式(4)是点(x',y',z')再绕 Z 轴旋转角度 C 得到(x″,y″,z″)。

(2)虚拟刀具初始位置的点(x,y,z)分别绕B、C旋转后得到的点(x″,y″,z″)后,再加上刀尖点的位置坐标即NC代码中数据点坐标,可以得到在编程坐标系{P}下虚拟刀具的5个点坐标(xP,yP,zP),如式(5)所示。

(3)经过机器人对工件进行标定(若工作台固定,根据标定算法,此处可以忽略工作台坐标系),就可以知道编程坐标系{P}和机器人坐标系{B}之间变换,从而可求出机器人坐标系{B}中的虚拟刀具的5 个点坐标(xB,yB,zB),如式(6)所示。

(4)求出了机器人坐标系{B}中虚拟刀具的5个点坐标,根据这5个点坐标就可以求出机器人手腕中心C点在机器人坐标系{B}中的位姿:按照虚拟刀具设定的定义,S点坐标就是机器人坐标系{B}中手腕中心点的位置坐标;S点和T点确定了接近矢量a,T点和R点决定了方向矢量o,而n=o×a,从而机器人坐标系{B}中的三个矢量可确定手腕中心C点的姿态。

(5)根据(4)中的逆解参数(S点坐标及三个矢量)进行机器人逆运动学计算。

本文引入了五点虚拟刀具,通过上述五个步骤将NC代码的数据信息转化成虚拟刀具五个点的坐标值,然后求出机器人逆解参数,进而进行机器人逆运动学计算。

2 基于三次五次插值的轨迹计算

机器人轨迹规划就是根据作业任务的要求计算预期作业过程中机器人的位移、速度、加速度[4]这里的轨迹主要是指每个自由度关节的位置、速度、加速度的时间序列[5]。对于点到点(PTP)、过一个或多个路径点的抓放作业可用三次或高次多项式进行插值。对于弧焊、曲面加工、雕刻等具有连续运动的加工,本文提出了一种轨迹规划方法,三次五次复合插值法。所谓三次五次复合插值,如图6所示,就是先取路径上四个连续的点A、B、C、D进行三次拟合获得中间两点B、C的速度、加速度,然后舍弃第一点,再顺次取B、C、D、E四个连续点进行三次拟合获得前两点B、C的速度、加速度,将两次求的B、C点的速度、加速度取平均值作为B、C点的最终速度和加速度,加上B、C两点的位移条件,共有6个已知条件,插值一条五次曲线(放大图中中间线所示),这样,既保证了控制点的位移又保证了控制点导数连续,即在平滑性的基础上获得精确的数据点。

图6 三次五次插值原理

CAM后处理出来的NC代码的数据点是连续的,取作业过程中连续4个数据进行轨迹插值,以相邻点的弦长l为横坐标别以 X(l)、Y(l)、Z(l)、B(l)、C(l)为纵坐标进行计算。现以X(l)为例。

6个方程 6个未知数,同理可求出 α、β、γ、μ、φ和ζ,每个参数都是l2l3的表达式,这里仍然不给出具体表达式,软件编程时写成矩阵形式求解。

3 验证

首先在CAD软件中画一个直径、高均为100的圆柱,在圆柱上表面挖出一个凹球的测试工件,如图7所示,然后采用1.1节所述方法设置后处理构造器生成后处理RoboPost,后处理时采用曲面驱动的方式选取凹圆面,生产NC代码。将此NC代码导入笔者开发的SKY-1型工业机器人仿真系统SkyGuider,可以清楚的看出机器人运行稳定,没有关节突变等,从而验证了算法的正确性。

图7 测试工件

图8 虚拟加工两个瞬间

4 结论

现代制造业中,NC代码的普遍性和易获得性决定了它的地位。本文通过五点虚拟刀具的提出与引入,将NC代码上的信息便捷地转化到机械手手腕中心C点,从而获得了逆解参数。同时利用三次五次复合插值法对轨迹进行规划,通过验证,由于得到了精确的过程点,在仿真过程,机器人运行稳定,从而验证算法的正确性,为开发一套直接以NC代码为工作语言的工业机器人奠定了理论基础。

[1]康胜武,毛哲,乐利梁,等.基于VC++的NC代码自动生成程序开发 [J].机床与液压,2010,38(16).DOI:10.3969/j.issn.1001 -3881.2010.16.011.

[2]刘为志,栾楠,刘宝生.基于G代码的工业机器人的自动编程[J].机器人,2002(11):18-22.

[3]Mitsi S,Bouzakis K -D,Mansour G(2005).Off-line Programming of an Industrial Robot For Manufacturing.In:TCMM,Technical Publishing House,Bucharest,40:311 -316.

[4]宋伟刚.机器人学—运动学、动力学与控制[M].北京:科学出版社,2007.

[5] John J.Craig.Introduction to Robotics:Mechanics and Control[M].Pearson Education International,2005.

(编辑 赵蓉)

Research on Path Planning of Industrial Robot Based on NC Code

W ith the deep development of numerical control technology in manufacturing industry,NC code has been w idely used.If NC code is taken directly as the working language of industrial robot,the complexity of which may be overcome,and the continual path programm ing,especially the curve programming may not be confined to teaching programming.This paper firstly puts forward and uses the concept“virtual tool”that using five points whose relative locations are not changed to virtue the end tool of a robot,to convert NC code to parameters for inverse kinematic.To get precise trajectory data,the continuous path is planed using three-five compound interpolation theory.Simulating results verify the rightness of the algorithm.

NC code;virtual tool;industrial robot;trajectory planning;interpolation

TP242

A

1001-2265(2012)08-0014-04

2011-12-02;

2012-01-09

“高档数控机床与基础制造装备”科技重大专项课题(2010ZX04001-052);江苏省六大人才高峰计划资助

王引(1986—),男,江苏泗阳人,东南大学硕士研究生,主要从事工业机器人控制、仿真等研究,(E-mail)wangyin1122@126.com。WANG Yin1,QIU Xiao-li1,LIU Ming-deng2,ZHAO Peng2(1.School of Mechanical Engineering,Southeast University,Nanjing 211189,China;2.Nanjing SKY E-lectronics Co.,Ltd.,Nanjing 210007,China)

猜你喜欢

插值代码刀具
滑动式Lagrange与Chebyshev插值方法对BDS精密星历内插及其精度分析
无织构刀具与织构刀具铣削性能对比研究
创世代码
创世代码
创世代码
创世代码
基于pade逼近的重心有理混合插值新方法
切削刀具刃口形貌对刀具使用寿命的影响
PCD刀具刃磨质量研究
混合重叠网格插值方法的改进及应用