《1 前言》

1 前言

作为一种新型加工装备, 并联机床的若干运动坐标轴与工件笛卡尔坐标轴之间为非线性关系, 导致刀具的位置和姿态能力存在耦合关系, 且刚度、速度和精度受终端位姿影响较大[1,2]。因此, 为了保证工件加工满足作业空间和精度的要求, 必须研究和开发适合并联构型特点的后置处理算法及控制结构。然而, 目前的研究多限于根据机构逆解模型计算各控制参数, 或直接采用传统的后置处理结构[3], 不利于并联装备性能的提高及实用化进程。

笔者结合六自由度6-TPS型并联机床的研究与开发, 阐述了后置处理器中控制数据的流程及其功能需求, 研究了系统的结构体系, 详细论述了关键模块和算法。最后给出一个实际的样件切削实验, 验证了所开发的后置处理器的实用性和有效性。

《2 结构》

2 结构

六自由度6-TPS型并联机床结构和坐标系如图1, 分别建立机床坐标系{M}、运动坐标系{T}、基础坐标系{B}和工件坐标系{C}[4,5]。基于上述结构, 清华大学与天津大学合作, 研制了中国第一台镗铣类并联机床原型样机——VAMT1Y (如图2) ;与昆明机床厂合作, 完成了商品化样机——XNZ63 的研究和开发, 并参加了2001年第四届北京国际机床展览会。

《图1》

图1 并联机床结构及坐标系

图1 并联机床结构及坐标系  

Fig.1 The structure and coordinate system of the parallel kinematic machine tools

《图2》

图2 并联机床原型样机——VAMT1Y

图2 并联机床原型样机——VAMT1Y  

Fig.2 VAMT1Y—a parallel kinematic machine tool prototype

《3 控制数据生成原理及流程》

3 控制数据生成原理及流程

《3.1 控制数据生成原理》

3.1 控制数据生成原理

后置处理系统接受刀位文件, 根据机床结构参数和工艺要求, 将其转化为实际控制轴的坐标。首先进行工件坐标系的定位计算, 即建立{C}和{M}的关系, 将相对于{C}的刀具位姿转化为相对于{M}的坐标, 然后根据刀具位姿确定动平台位姿, 最后计算6个伸缩杆的位置和速度。

确定基于{M}的机床位姿过程可表示为[6]

DΤCCq=Τ[00-Lt1]Τ(1)DΤCCk=Τ[0010]Τ,(2)

式中Cq=[qxqypz 1]T为刀位文件中相对于{C}的刀具位置矢量;

Ck=[kxkykz 0]T为刀位文件中相对于{C}的刀具方向矢量;

《图3》

为工件坐标系的定位转换矩阵, 表示{C}相对{M}的关系;

《图4》

为机床运动传输矩阵, 反映{T}和{M}的关系;

TC为刀位文件的预处理矩阵;

Lt为刀具长度。

利用式 (1) 和式 (2) 求出的动平台位姿MrTMRT, 可求得静平台和动平台各铰链点相对于{M}的位置矢量MBiMTi, 可表示为

ΜBi=ΜrB+ΜRBBBi,(i=1,2,6)(3)ΜΤi=ΜrΤ+ΜRΤΤΤi,(i=1,2,6)(4)

式中MrB, MBB为{B}相对于{M}的位置矢量和姿态矩阵, 根据图1定义, MBB为单位矩阵。

BBi, TTi为静平台和动平台各铰链点相对于{B}和{T}的位置矢量。

各伺服支链的矢量分别为

lili=ΜBi-ΜΤi,(i=1,2,6)(5)

式中li为第i个支链的方向矢量;

li为第i个支链的长度。

由式 (5) 对时间求导, 速度表达式为

V=Jv(6)

式中V是由6条支链伸缩速度组成的关节空间速度矢量;

v为刀具在笛卡儿空间中的六维速度矢量;

J为雅可比矩阵, 反映了工作空间向关节空间的速度映射。

《3.2 控制流程》

3.2 控制流程

系统接收的数据有两类, 一类是与标准数控代码兼容的G代码, 另一类是来自CAD/CAM的刀位文件。与传统机床不同, 在并联机床中G代码的作用类似于刀位文件, 描述基于坐标系{M}的刀具运动轨迹, 它只是为了增强并联机床兼容性而采用的一种中间代码。系统控制流程如图3, 对于五自由度刀位文件, 系统根据预先计算得到的定位矢量对其进行预处理、代码转换和作业空间检验。G代码必须经过编辑、译码和刀具补偿处理。系统将加工程序段生成参数化的二进制轨迹文件, 以磁盘方式传送给指令解释执行模块, 进行速度控制和虚轴空间插补计算, 然后经过虚实空间的坐标变换生成实际控制轴的运动指令, 并传送给可编程多轴控制器PMAC。PMAC对数据点进行精插补生成每个插补周期的控制指令。

《4 系统功能及结构体系》

4 系统功能及结构体系

后置处理器可完成如下功能:

●接收G代码以及商品化CAD/CAM系统生成的刀位文件, 并将其转化为数控代码;

●对刀位文件进行多种镜像或旋转处理;

●根据机床内部信息传输协议, 将数控代码转化为参数化的二进制刀具轨迹文件;

●根据机床的独特机械构型及加工要求进行作业验证;

●刀具补偿, 包括二维刀补和三维刀补;

●译码, 包括语法检查和词法检查;

《图5》

图3 控制流程图

图3 控制流程图  

Fig.3 The flow chart of control data

●虚轴空间的粗插补;

●轮廓速度和主轴速度规划;

●字符输入和编辑;

●基本数控;

●与PMAC通讯。

系统采用结构化和模块化的设计, 划分为若干相互独立的功能模块, 定义彼此通讯协议, 既保证功能实现, 又增加了程序的可扩充性和可维护性。整体结构如图4所示。

《图6》

图4 系统功能模块框图

图4 系统功能模块框图  

Fig.4 The function modules of the system

《5 关键技术》

5 关键技术

《5.1 内部数据传输协议》

5.1 内部数据传输协议

传统机床在加工中对文本格式的数控程序进行分段解释和运行, 系统运行效率低, 限制机床运行速度。笔者在研究中, 定义了参数化的二进制轨迹文件, 将程序段分为运动控制指令和辅助控制指令, 分别定义相应数据格式以代替传统数控代码[7]。系统对文本式加工程序进行预编译, 将其从源代码形式转换成预先定义的参数化的二进制码, 并针对需进行插补的运动控制指令, 预先进行插补计算准备, 减小实时插补时间。这种方式提高了系统读取速度和程序反复运行的效率。数据格式包括文件头和加工轨迹段两种。文件头包含文件识别和版本信息、原始轨迹个数、定义轨迹时所依据的刀具长度和轨迹起始位姿等信息。加工轨迹段的定义包括轨迹段的类型、光滑转接标志、终点位姿, 以及直线和圆弧轨迹段的参数。

采用这种参数化的二进制内部数据传输, 缩短了数据处理和插补时间, 提高了控制实时性。

《5.2 粗插补》

5.2 粗插补

并联机床采用两级插补策略, 即基于笛卡儿空间的粗插补和基于实际控制坐标的精插补。在粗插补中, 采用不同的刀具位姿描述所生成的刀具运动轨迹不同。一般的方法是基于动平台位姿进行线性化离散。首先由五自由度刀位文件转化为六自由度的动平台位姿文件, 基于这6个坐标分别线性插补。由于动平台的姿态采用欧拉角描述, 具有不唯一性和不连续性, 使得线性化插补中出现刀具姿态与实际编程要求不符, 产生过切现象, 严重影响工件的加工质量。采用基于刀轴矢量的插补方法可解决这一问题[6]。经仿真和实际切削试验表明, 基于刀具位姿的插补方法通过对刀轴矢量的线性控制, 使刀具姿态变化平稳, 符合编程要求, 避免刀具过切。该方法能够使刀具速度和加速度的变化更加均匀, 保证零件加工质量。

《5.3 刀具补偿》

5.3 刀具补偿

刀具补偿可分为刀具长度补偿和半径补偿。对刀具长度的处理, 可以将机床的运动坐标系{T}直接建立在刀尖点上, 在位姿转换中即可将刀具长度计算在内。这里分别介绍三维刀具补偿和二维刀具补偿的实现方法。

《5.3.1 三维刀具半径补偿》

5.3.1 三维刀具半径补偿

系统可根据指令选择二维或三维刀具半径补偿。进行三维刀具半径补偿时, 系统根据加工表面切触点的坐标及单位法向矢量、刀具类型和参数, 计算刀心点的位置 (图5) 。

设刀具切触点P的位置矢量为p=[x y z]T, 单位法向矢量为n=[nxnynz]T, 则刀具中心点T的位置矢量为

Τ=Ρ+R1n+Q,(7)

式中Q= (R-R1) m, R为刀具半径;

R1为刀具的刃口半径, 球形刀:R=R1, 环形刀:R>R1, 端铣刀:R1=0;

mnXY平面上投影的单位矢量,

m=nx-y|nx-y|=1nx2+ny2[nxny0]Τ

《5.3.2 二维刀具半径补偿 》

5.3.2 二维刀具半径补偿

《图7》

图5 三维刀具半径补偿示意图

图5 三维刀具半径补偿示意图  

Fig.5 Three-dimension tool radius compensation

刀具补偿的轨迹可分为切入程序段、切削程序段和注销程序段。切入程序段是由起刀位置到切入零件轮廓并开始形成补偿的程序段, 必须是直线段, 与切削程序段的转接如图6。

《图8》

图6 刀具切入程序段后的拐角过渡轨迹

图6 刀具切入程序段后的拐角过渡轨迹  

Fig.6 The tool path of the first tool radius compensation block

1) 刀具半径矢量的计算。

刀具半径矢量是编程轨迹点指向补偿后的刀心点的矢量。以x-y 平面上的加工为例, 如图7所示, 在直线段中, 设起点A (x0, y0) 和终点B (x1, y1) , 刀具半径为R, 刀具半径矢量r=[rxry]T满足下式

ABr=0,(8)|r|=R,(9)

经整理可得

r=[rxry]=gRD[-(y1-y0)?(x1-x0)],(10)

式中D为程序段长度,

《图9》

g为刀具补偿方向的标志, g=1, 当程序段为G41;g=-1, 当程序段为G42。

《图10》

图7 直线的半径矢量

图7 直线的半径矢量  

Fig.7 Tool radius vector of a line

在圆弧中 (见图8) , 设起点为A (x0, y0) , 终点为B (x1, y1) , 起点指向圆心的矢量为q[I, J]T, 圆弧上一点P (xp, yp) 的半径矢量为

r=gRΡ|Ρ|,(11)

式中P是由圆心指向补偿点P 的矢量,

Ρ=[x-x0-Ιy-y0-J],|Ρ|=(x1-x0-Ι)+(y1-y0-J)2,

g为刀具补偿方向的标志, g=1, 当程序段为G02G41或G03G42;g=-1, 当程序段为G02G42或G03G41。

2) 轮廓交接类型判断及计算。

如图9所示, 设A, BC分别为两段轨迹的起点、交接点和终点, ΚB为交接点处的切向量, 则轮廓转接可分为:a.缩短型:当S1S2ΚB<0; b. 伸长型:当S1S2ΚB0BS1BS20;c. 插入型:当S1S2ΚB0BS1BS2<0

《图11》

图8 圆弧的半径矢量

图8 圆弧的半径矢量  

Fig.8 Tool radius vector of a circle

对于伸长型交点的计算, 4种轮廓交接计算最后均可归结为求两直线交点。对于缩短型交点的计算, 除直线接直线求交之外, 其他三种轮廓转接交点求解最后归结为直线与圆弧的求交。对于插入型交点计算, 首先根据两个线段的矢量 (或切线矢量) 和刀具补偿半径计算插入点S3和S4, 然后用直线段将S1, S2, S3和S4连接起来。

《图12》

图9 刀具补偿轮廓的转接

图9 刀具补偿轮廓的转接  

Fig.9 The joint of the tool compensation paths

《5.4 刀位文件的预处理》

5.4 刀位文件的预处理

对于一些具有对称结构的零件, 为了减小零件编程工作量, 一般不需要CAD/CAM系统生成零件的全部刀位文件。这就要求系统具有对刀位文件镜像或旋转处理的功能, 即刀位文件的数据预处理, 确定式 (1) 和式 (2) 中的TC, 转换的形式为[8]

Cq=ΤCCq,(12)Ck=ΤCCk,(13)

式中Cq′, Ck′为转换后的刀具位置和方向矢量。

《5.5 译码》

5.5 译码

系统对以单个程序段为单位的零件程序进行处理, 需要将其中的各种零件轮廓信息 (如起点、终点、直线或圆弧等) 、加工速度信息 (F代码) 和其他辅助信息 (M, S, T代码等) 识别出来, 这个过程称为译码。译码模块可看作是一个小型的编译程序:输入源程序, 经过编译, 把编译的情况列表, 并输出一个目的程序。编译情况列表包括源程序、程序的出错代码及位置。

译码可分为词法分析和语法分析。首先, 进行词法分析, 对源程序依次进行扫描, 对构成源程序的字符串进行分解, 识别单词。在语法分析中, 将单词符号串合成各类语法单位, 确定整个输入串是否构成语法上正确的句子。如果在源程序中发现有不符合词法和语法规定的地方, 及时报警, 给出错误代码提示, 回到编辑状态进行修改。

每种语言都有一套自身的语法规则。本系统采用了扩展BNF范式 (extended backus Naur form, EBNF) 来描述数控加工程序的语法。根据这些语法规则, 系统定义了用来存放单词词法信息和每一程序段语法信息的两个数据结构, 以此进行相应的词法和语法检查。

《6 实验研究》

6 实验研究

利用所开发的系统, 进行了若干切削实验[9]。图10所示零件是一个上顶端截面为圆、下底端截面为椭圆的锥形柱体, 首先经过 ProE 建模, 生成刀位文件。由于该零件结构对称, 只生成了一个象限下的刀位文件。在后置处理器中, 经过正常格式、x-z 平面镜像、y -z 平面镜像和绕 z 轴旋转90°四种格式转换后, 得到四个象限下的四个动平台的位姿文件。该文件经过作业空间检验, 被转化为二进制的参数化轨迹文件, 输入到实时的指令解释执行模块中, 经过速度控制、插补计算和虚实映射变换后, 得到实轴控制指令, 传送给伺服系统。在1 000余行的程序段加工中, 尽管该零件是由4个程序段组合而成, 刀具运行平稳, 速度均匀, 加工样件表面精度达到了一般五轴铣床的水平。

《图13》

图10 机床在进行切削试验

图10 机床在进行切削试验  

Fig.10 The machining experiment

《7 结论》

7 结论

笔者论述了6-TPS型并联机床后置处理器的开发及实验, 主要结论:

1) 并联机床后置处理器不仅具有传统后置处理的编程和自动转换刀位文件的功能, 而且具有大部分传统数控系统的实时功能。

2) 采用参数化的二进制轨迹文件代替传统文本代码, 可提高运算速度, 增强系统实时性。

3) 基于刀轴矢量的粗插补能更好地满足编程要求, 保持切削速度变化平稳, 避免过切。

4) 基于刀具半径矢量的刀具半径补偿, 求解唯一且快速, 适合机床控制。

5) 在预处理中对刀位文件进行镜像、旋转等处理, 减少了编程工作量, 提高了系统的适应性。

6) 采用EBNF 范式来描述数控代码的词法和语法, 可有效完成数控代码的译码。

加工实验表明, 所开发的后置处理器完全可应用于实际的制造环境, 对其他构型的并联机床也具有适用性。