本发明的目的是为了解决现有数控机床运动控制器存在开放性差、灵活性 差,导致控制器不易功能扩充及
修改,无法满足可配置型运动控制器的要求; 以及采用型值点直接插值方法使控制器中的信息量成倍增加,造成NC程序量 严重受限等问题。为此,本发明提供了一种具有NURBS插补功能的五坐标数 控机床运动控制器。
本发明为解决上述技术问题采取的技术方案是:本发明所述运动控制器为 运行在PC机Windows
操作系统上的应用程序系统,所述运动控制器读取五坐 标数控程序后产生的机床各轴运动指令通过SERCOS
接口传递给伺服系统实 现五坐标数控机床的数控加工;所述运动控制器包括以下单元:人机接口模
块、 任务协调模块、任务生成模块、轴组模块、轴模块、逆运动变换模块、控制规 律模块和离散逻辑控
制模块,其中:
人机接口模块,用于负责操作者与控制器之间的交互,还用于(主要)完 成在数控系统运行前和运行中数控系统参数的修改和设定;
任务协调模块,用于进行任务分配以及负责所述运动控制器内各模块的协 调与调度;
任务生成模块,用于解析零件加工程序文件(NC程序),提取加工程序 中的各种信息并生成包含运动信息的运动段指令和逻辑控制指令,还用于对运 动指令进行刀具补偿,还用于生成方位曲线和协调样条曲线;
轴组模块,用于完成插补任务,对译码得到的运动指令按照进给速度要求 进行细分,得到单个插补周期内的进给量,并输出给各个轴模块;
轴模块,用于接收来自轴组模块的指令,同时读取外部的反馈信息,根据 用户需求选择性地调用伺服控制规律完成位置控制或速度控制等功能,并将控 制信息发送给逆运动变换模块;
逆运动变换模块,用于对
工件坐标系下表示刀具位置的位置矢量点及表示 刀轴方位的刀位矢量点进行逆机床的运动学变换,求取插补周期结束时刻机床 各运动轴的位置信息,并将控制信息发送给外部执行单元;
控制规律模块,用于负责伺服控制规律的计算,提供多种控制策略(如 PID控制规律、模糊控制规律和神经网络等);
离散逻辑
控制模块,用于负责对外部输入和内部状态变量进行布尔运算得 到相应输出和内部状态变量,并对外部输入输出设备进行控制;
上述各模块单元对外提供可操作、可执行接口以及向用户提供程序接口;
任务生成模块生成协调样条曲线的具体过程为:
根据插补过程中位置曲线两点间弧长与方位曲线两点间
角度存在一一对 应的关系,位置曲线上参数u1与参数u2间所夹弧的长度s采用式1计算:
方位曲线上方位矢量q1和方位矢量q2间的夹角λ采用式2计算
λ=arccos(q1·q2) (2)
采用式3所示多项式样条建立位置曲线弧长S和方位曲线矢量间的夹角λ 的映射关系,以获得机床线性轴与旋
转轴间的协调运动关系:
式中:hj=Sj-Sj-1;Mj为样条系数列;
任务生成模块生成方位曲线的具体过程为:
设存储在“NURBS”结构体的“machA”和“machC”数组中的角度值分别为 {a0,a1,…,an}和{c0,c1,…,cn},则对应的方位矢量qi(i=0,1,…,n)可以通过公式4 求得:
加工过程中为了获得连续变化的机床
旋转轴角度,需要构造一条通过所有 方位矢量的方位曲线与位置曲线相对应;选取非均匀B样条曲线作为方位矢量 的插值曲线;选取两方位矢量间的夹角作为方位曲线的
节点矢量,两矢量qi与 qi+1间的夹角通过公式5求取:
λi=arccos(qi·qi+1),i=0,1,…,n-1 (5)
方位曲线的控制
顶点采用计算机辅助几何设计CAGD中的B样条曲线反算 方法获得;
当方位曲线的节点矢量和控制顶点确定以后,相应的方位曲线唯一确定;
所述轴组模块完成插补任务的具体过程为:
当双端队列singleStep_deque中的信息通过共享内存传递给轴组模块,并 且控制器接收到autorun指令时,轴组模块进行实时插补运算:
设输入控制器的位置样条曲线为p(u),方位样条曲线为q(λ),任务生成 器模块单元生成的协调样条曲线为λ(S);以第k+1个插补周期的插补点求取 为例说明曲线的实时插补运算过程;
假定进给速度设定为v,所述运动控制器的插补周期设定为T,则有:
所以:
将参数u对t进行二阶Taylor展开,得其截断高阶余项的计算公式:
这里uk=u(tk)为第k个插补周期,tk=kT时刻参数u的值;
从而:
设p(uk)和p(uk+1)分别为参数uk和uk+1对应的位置样条曲线上的插补点, r为该两点对应的
曲率圆弧半径,L为两点间弦长;其中ξ为弓高误差;
两插补点间的弦长通过下式求取:
L=‖p(uk+1)-p(uk)‖ (10)
弓高误差的求取表达式为:
从而可以求出满足弓高误差要求的插补最大弦长为:
将公式10求得的插补点间弦长与公式12求得的插补最大弦长进行比较, 如果L超出最大弦长Lexp的范围,则将Lexp作为插补弦长对p(uk+1)进行修正, 否则按照公式9求得的uk+1进行曲线插补;这样,在
曲率半径比较大的区域, 机床将按照给定的进给速度进行切削加工,当进入曲率半径小的区域时,通过 降低切削速度使得控制器配置过程中
指定的插补误差得到保证;
采用公式1求取参数uk+1对应的位置曲线弧长,并将其带入协调样条曲线 方程,可以求得方位曲线对应的角度参数λk+1;将参数λk+1带入方位曲线方程 可以求得第k+1个插补周期的方位矢量点。
本发明的有益效果是:
采用本发明的NURBS插补方法进行数控加工时,在NC程序大量减少的 同时,加工误差较线性插补误差大幅减小(如图8所示)。本发明采用模块化 的体系结构,满足可配置型运动控制器的要求,增强数控系统的开放性,每个 模块为功能独立的组件单元,控制器的功能扩充及修改可针对具
体模块施行。 此外,通过更换有限模块单元,可使控制器方便、灵活地适应不同的机床形式。
本发明最小量运行运动控制中的实时性任务,满足了数控系统硬实时性 要求。本发明的NURBS插补功能中立于机床运动学,可用于任意形式五坐标 机床的运动控制。通过建立位置曲线和方位曲线间的参数映射,使机床平动轴 与转动轴间的运动规划符合实际加工要求。实际加工实验验证了控制器的性能 及插补方法的正确性。本发明中选取两方位矢量间的夹角作为方位曲线的节点 矢量,该选取方法充分考虑了机床旋转轴插补的实质,更加合理。
各模块单元对外提供可操作和可执行接口,实现了功能应用与技术实现 的分离,增强了模块单元的可重用性。各模块单元向用户提供程序接口,便于 集成先进加工经验及开发特定应用的模块单元。所述运动控制器为运行在PC 机Windows操作系统上的应用程序系统,控制器产生的机床各轴运动指令通 过SERCOS(数控系统和数字伺服通讯的唯一国际标准)接口传递给伺服系统。 同时,加工过程中的检测量及监控量也通过该接口传输回控制器,由控制器进 行处理。本发明参考美国OMAC协议标准。
附图说明
图1是本发明的整体结构
框图;图2是准备机能指令图(G05.6);图3是 插补过程中的弓高误差图;图4是自由型曲面图;图5是安装有本发明的数控 机床照片;图6是用于对图4所示自由曲面进行数控加工的NC程序截图(将 进给速度指令设定为3600mm/min,插补周期设定为0.0025s);图7a为位置 样条进给
速度曲线图,7b为方位样条进给速度曲线图;图8是对图4所示自 由曲面分别采用五坐标线性插补加工方法和本发明所述的NURBS插补方法进 行数控加工的误差曲线比较图;图9是采用本发明对图4所示自由型曲面加工 时的加工过程中图片;图10是采用本发明对图4所示自由型曲面加工时的加 工结果图片。
具体实施方式一:结合图1~3所示,说明本实施方式:
本实施方式所述的
具有NURBS插补功能的五坐标数控机床运动控制器的 结构为:所述运动控制器为运行在PC机Windows操作系统上的应用程序系统, 所述运动控制器读取五坐标数控程序后产生的机床各轴运动指令通过 SERCOS接口传递给伺服系统实现五坐标数控机床的数控加工;所述运动控制 器包括以下单元:人机接口模块1、任务协调模块2、任务生成模块3、轴组 模块4、轴模块5、逆运动变换模块6、控制规律模块7和离散逻辑控制模块8, 其中:
人机接口模块1,用于负责操作者与控制器之间的交互,还用于(主要) 完成在数控系统运行前和运行中数控系统参数的修改和设定;
任务协调模块2,用于进行任务分配以及负责所述运动控制器内各模块的 协调与调度;
任务生成模块3,用于解析零件加工程序文件(NC程序),提取加工程序 中的各种信息并生成包含运动信息的运动段指令和逻辑控制指令,还用于对运 动指令进行刀具补偿,还用于生成方位曲线和协调样条曲线;
轴组模块4,用于完成插补任务,对译码得到的运动指令按照进给速度要 求进行细分,得到单个插补周期内的进给量,并输出给各个轴模块;
轴模块5,用于接收来自轴组模块的指令,同时读取外部的反馈信息,根 据用户需求选择性地调用伺服控制规律完成位置控制或速度控制等功能,并将 控制信息发送给逆运动变换模块6;
逆运动变换模块6,用于对工件坐标系下表示刀具位置的位置矢量点及表 示刀轴方位的刀位矢量点进行逆机床的运动学变换,求取插补周期结束时刻机 床各运动轴的位置信息,并将控制信息发送给外部执行单元;
控制规律模块7,用于负责伺服控制规律的计算,提供多种控制策略(如 PID控制规律、模糊控制规律和神经网络等);
离散逻辑控制模块8,用于负责对外部输入和内部状态变量进行布尔运算 得到相应输出和内部状态变量,并对外部输入输出设备进行控制;
上述各模块单元对外提供可操作、可执行接口以及向用户提供程序接口。
本实施方式所述的具有NURBS插补功能的五坐标数控机床运动控制器的 NURBS插补的指令格式为:
对零部件进行数控加工时,需要生成定义刀具相对工件表面运动的刀具路 径。三坐标数控加工的刀具轨迹由一系列的笛卡尔矢量表达。每个矢量(位置 矢量)表达一个加工位置。对五坐标刀具路径而言,需同时指定刀具的
姿态(刀 位矢量)。因而,五坐标的刀具路径由位置矢量序列和刀位矢量序列构成的矢 量集表达。用CAM系统进行五坐标数控程序编制时,根据所选取的刀具路径 生成方法、初始给定的刀倾角和刀转角进行路径规划,根据干涉判别方法进行 修正,可以分别计算出刀具刀心点位置矢量和刀轴方位矢量。将求得的一系列 位置矢量进行NURBS曲线拟合并求取加工过程中的刀转角,根据拟合曲线信 息和刀转角信息生成符合图3所示NURBS插补指令格式的NC加工程序。
如图2所示,G05.6为准备机能指令,控制器读入其后的样条曲线信息进 行插补运算。X、Y、Z等代码指
定位置样条曲线的控制顶点,K代码指定其 节点矢量;R指定控制点处的权重值;F代码为进给速度指令;A、C等代码 指定数控机床的旋转轴角度值。不同于一般的商品化机床,输入控制器的 NURBS曲线信息其所在坐标系为工件坐标系,当机床形式发生变化时,保持 NC程序文件不变,只需选取相应的逆运动学变换模块单元并定制机床参数即 可构建适应新的机床形式的运动控制器。
本实施方式所述的具有NURBS插补功能的五坐标数控机床运动控制器的 数控程序信息提取及参数映射建立过程为:
1、数控程序信息提取
NC程序输入数控机床控制器后,控制器的任务生成器模块单元将提取 NC程序中的信息并开辟存储空间对信息进行存储;任务生成器模块单元中开 发的用于加工信息存储的数据结构(C++语言编写)如下所示:
typedef enum{LINE,CSCURVE,NURBS}//定义运动段类型
typedef struct NURBS_struct{
double traverse_rate,start_rate,end_rate;//速度信息
double*tparx,*tpary,*tparz;//方位矢量
int P;//位置样条的阶次
double*nodevt;//位置样条节点矢量
double*con1pt,*con2pt,*con3pt;//位置样条控制顶点
double*rval;//控制顶点对应权重
double*tnodevt;//方位样条节点矢量
double*tcon1pt,*tcon2pt,*tcon3pt;//方位样条控制顶点
double*SepAngle;//方位矢量夹角
double*ArcLength;//节点对应点间的弧长
double*coordvt;//协调样条节点矢量
double*coord1pt,*coord2pt,*coord3pt;//协调样条的控制顶点
double*machA,*machC;//旋转轴角度
……
}NURBS;
typedef struct singleStep2_struct{
SINGLESTEP_TYPE singleStep_type;
m_struct m_struct;
spsline spsline_struct;
spspline spspline_struct;
NURBS NURBS_struct;
……
}singleStep2;
位置曲线信息、方位曲线信息和协调样条曲线信息存入双端队列 singleStep_deque中,待译码工作完成以后通过共享内存传递给轴组模块单元 进行数据点的密化(插补)工作。
2、协调样条建立
五坐标数控插补过程中,如何求取不同插补时刻机床的旋转轴角度值是五 坐标插补技术的一个重要问题。将位置曲线及方位曲线参数取同的做法只适用 于位置曲线和方位曲线长度相当,且曲线曲率变化均匀的场合。当两曲线长度 存在较大差别或曲线曲率变化规律相似度较差时,插补求得的机床角度值将存 在较大的误差。插补过程中位置曲线两点间弧长(以曲线起始点作为参考点) 与方位曲线两点间角度(以曲线起始点作为参考点)存在一一对应的关系。
位置曲线上参数u1与参数u2间所夹弧的长度s采用式1计算:
方位曲线上方位矢量q1和方位矢量q2间的夹角λ采用式2计算:
λ=arccos(q1·q2) (2)
本发明中NURBS插补控制方法采用式3所示多项式样条建立位置曲线弧 长s和方位曲线矢量间的夹角λ的映射关系,以获得机床线性轴与旋转轴间的 协调运动关系;
式中:hj=Sj-Sj-1;Mj为样条系数列;
3、方位样条曲线的建立
假定存储在NURBS结构体的“machA”和“machC”数组中的角度值分别为 {a0,a1,…,an}和{c0,c1,…,cn},则对应的方位矢量qi(i=0,1,…,n)可以通过公式4求 得
加工过程中为了获得连续变化的机床旋转轴角度,需要构造一条通过所有 方位矢量的曲线与位置曲线相对应。选取非均匀B样条曲线作为方位矢量的插 值曲线。在他人的研究中普遍采用两方位矢量间的弦长作为插值曲线的节点矢 量。本
专利中的控制器选取两方位矢量间的夹角作为方位曲线的节点矢量,该 选取方法充分考虑了机床旋转轴插补的实质,更加合理。两矢量qi与qi+1间的夹 角通过公式5求取。
λi=arccos(qi·qi+1),i=0,1,…,n-1 (5)
方位曲线的控制顶点采用计算机辅助几何设计(CAGD)中的B样条曲线 反算方法获得。
当方位曲线的节点矢量和控制顶点确定以后,相应的方位曲线唯一确定。
本实施方式所述的具有NURBS插补功能的五坐标数控机床运动控制器的 曲线实时插补运算具体过程为:
当双端队列singleStep_deque中的信息通过共享内存传递给轴组模块,并 且控制器接收到autorun指令时,轴组模块进行实时插补运算。
假设输入控制器的位置样条曲线为p(u),方位样条曲线为q(λ),任务生成 器模块单元生成的协调样条曲线为λ(S);以第k+1个插补周期的插补点求取为 例说明曲线的实时插补运算过程:
假定进给速度设定为v,控制器的插补周期设定为T,则有:
所以:
将参数u对t进行二阶Taylor展开,得其截断高阶余项的计算公式:
这里uk=u(tk)为第k个插补周期,tk=kT时刻参数u的值。
从而:
假定p(uk)和p(uk+1)分别为参数uk和uk+1对应的位置样条曲线上的插补点, r为该两点对应的曲率圆弧半径,L为两点间弦长;其对应关系如图3所示; 其中ξ为弓高误差;
两插补点间的弦长通过下式求取:
L=‖p(uk+1)-p(uk)‖ (10)
弓高误差的求取表达式为:
从而可以求出满足弓高误差要求的插补最大弦长为:
将公式10求得的插补点间弦长与公式12求得的插补最大弦长进行比较, 如果L超出最大弦长Lexp的范围,则将Lexp作为插补弦长对p(uk+1)进行修正,否 则按照公式9求得的uk+1进行曲线插补。这样,在曲率半径比较大的区域,机 床将按照给定的进给速度进行切削加工,当进入曲率半径小的区域时,通过降 低切削速度使得控制器配置过程中指定的插补误差得到保证。
采用公式1求取参数uk+1对应的位置曲线弧长(以曲线起始点作为参考 点),并将其带入协调样条曲线方程,可以求得方位曲线对应的角度参数λk+1; 将参数λk+1带入方位曲线方程可以求得第k+1个插补周期的方位矢量点qk+1。
本实施方式所述的具有NURBS插补功能的五坐标数控机床运动控制器的 插补点的逆运动学变换的具体过程为:
机床控制器接收的NC文件中的曲线信息为工件坐标系下的加工信息,因 而,经轴组模块实时插补运算所得的数据点位于工件坐标系下。这些数据还不 能输出给
驱动器控制机床运动;逆运动学变换模块对插补所得数据点执行逆机 床的运动学变换操作,将该数据点坐标映射至数控机床的机床坐标系;下面以 带回转
工作台的X,Y,Z,A,C型五轴联动数控机床(带有三个平动轴和两个转动 轴)为例,说明插补点的逆机床的运动学变换过程:
假设求取的第k+1个插补周期的插补点为:位置矢量p(uk+1)=[xk+1,yk+1,zk+1], 方位矢量q(λk+1)=[lk+1,mk+1,nk+1];工件坐标系原点与机床坐标系原点间的距离为 d(d为可定制参数);
假定p(uk+1)和q(λk+1)映射至机床坐标系后,所得机床各轴的运动坐标值为 Xcom,Ycom,Zcom,Acom,Ccom;
转动轴运动坐标值按下述方程求取:
平动轴运动坐标值按下述方程求取:
开发了对应各种形式五轴联动数控机床的逆机床运动学变换模块单元,机 床使用者可以根据自己机床的形式选取相应的逆运动学变换模块单元,定制机 床参数,最后按照控制器的架构配置出自己需要的具有NURBS插补功能的运 动控制器。
具体实施方式二:本实施方式所述人机接口模块1、任务协调模块2和任 务生成模块3执行非实时性任务,为所述运动控制器的非实时模块,采用组件 对象模型(Component Object Model,COM)技术开发。其它与具体实施方式 一相同。
具体实施方式三:本实施方式所述轴组模块4、轴模块5、逆运动变换模 块6、控制规律模块7和离散逻辑控制模块8执行实时性任务,为所述运动控 制器的实时模块,采用实时动态链接库(Real-Time Dynamic Link Library, RTDLL)技术开发。其它与具体实施方式一或二相同。
实验验证
将该NURBS插补运动控制器配置到齐齐哈尔第二机床厂与本研究所(哈 尔滨工业大学机电工程学院机械制造及自动化系数控技术研究所)联合研制的 带回转工作台的X,Y,Z,A,C型五轴联动数控机床XKV715上(如图5),并对 图4所示的自由型曲面进行了加工实验。
由图7a和7b可知当以指定速度恒速进给时,位置样条曲线进给速度波 动在0.06mm/s范围内,不超过设定速度的0.1%。方位样条曲线进给速度由协 调曲线获得,旋转轴进给速度不恒定,但是与线性插补对比可知,其速度
波动 大幅减小,进给速度平滑。
对图4所示自由曲面分别采用五坐标线性插补加工方法和本文的NURBS 插补方法进行数控加工。采用线性插补加工时,其插补路径由146段线性单元 构成。分别采集插补过程中的弓高误差绘制弓高误差曲线,误差曲线如图8 所示。显然,采用本发明所述NURBS插补方法进行数控加工时,在NC程序 大量减少的同时,加工误差较线性插补误差大幅减小。
采用本发明的具有NURBS插补功能的数控机床运动控制器对图4所示自 由型曲面加工时,加工过程中图片和加工结果图片分别如图9和图10所示。