一种六轴五联动激光加工开放式数控系统及其工作方法转让专利

申请号 : CN202010544778.4

文献号 : CN111665785B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘强殷振朔孙鹏鹏王健

申请人 : 北京航空航天大学北京航空航天大学江西研究院

摘要 :

本发明公开一种六轴五联动激光加工开放式数控系统及其工作方法,属于激光加工数控技术领域;其技术要点在于:所述的数控系统包括上位机和下位机;上位机包括四个模块:人机界面模块、译码器、全局速度规划模块、激光功率优化模块;下位机包括五个模块:插补计算模块、坐标变换模块、位置补偿模块、逻辑处理模块、伺服和激光控制模块。采用本申请的一种六轴五联动激光加工开放式数控系统及其工作方法,能够有效的提高激光加工质量。

权利要求 :

1.一种六轴五联动激光加工开放式数控系统,包括上位机(1)和下位机(2);其特征在于:

上位机包括四个模块:人机界面模块(3)、译码器(4)、全局速度规划模块(5)、激光功率优化模块(6);

其中,人机界面模块(3)用于输入加工程序和显示各类信息;

其中,译码器(4)用于将输入的NC代码解释成指令队列;

其中,全局速度规划模块(5)根据机床动力学限制修改指令队列中的超约束值;

其中,激光功率优化模块(6)用于调整激光功率与进给速度相匹配;

下位机(2)包括五个模块:插补计算模块(7)、坐标变换模块(8)、补偿模块(9)、逻辑处理模块(10)、伺服和激光控制模块(11);

其中,插补计算模块(7)用来将轨迹曲线离散成位置坐标;

其中,坐标变换模块(8)用来进行六轴五联动正逆坐标变换;

其中,补偿模块(9)用来对位置误差进行补偿以提高定位精度;

其中,逻辑处理模块(10)用来处理外部输入IO信号;

其中,伺服和激光控制模块(11)用来驱动轴和激光器动作;

上位机各组成模块信息流程如下:

1)人机界面接收加工代码传至译码器;

2)译码器将加工代码转换成指令队列方便机器内部传送和处理,并将指令队列传至全局速度规划模块;

3)全局速度规划模块在接收指令队列后根据机床的动力学限制修改队列中的超约束值,并将修改后的指令队列传至激光功率优化模块;

4)激光功率优化模块接收指令队列后修改激光的功率使之与进给速度相匹配;至此上位机非实时任务完成,得到了适合加工的指令队列;

上位机处理好的指令队列通过ADS标准通信协议传至下位机;

下位机各组成模块信息流程如下:

1)上位机处理好的指令队列首先进入插补计算模块将指令队列中的曲线轨迹离散成位置坐标,并传至坐标变换模块;

2)坐标变换模块将位置坐标分解成各轴运动量传给补偿模块;

3)补偿模块根据激光干涉仪检测的机床补偿值将调整各轴运动量的值,以提高定位精度;

4)伺服和激光控制模块接收到各轴运动量和激光指令功率后利用TwinCAT PTP功能驱动伺服轴和激光器动作;

5)逻辑处理模块的任务是处理外部输入的IO信号,实时在线工作;

其中,全局速度规划模块(5),包括以下步骤:步骤一:接收到来自译码器(4)的指令队列后首先根据机床联动动力学约束计算前后曲线段衔接点的过渡速度,即第i段曲线的末速度或者第i+1段曲线的起速度vi为:其中Amax为机床最大加速度,Tc为插补周期,F为指令速度,θ=arccos(τ1,τ2),τ1和τ2分别是第i曲线段的末端单位切矢和第i+1曲线段的起始单位切矢;

步骤二:计算第i段曲线段从vi‑1加/减速到vi所需最小距离Smin:其中当加/减速过程中有匀加/减速阶段的计算方式为:反之,当加/减速过程中没有匀加/减速阶段的计算方式:其中vmax=max(vi‑1,vi),vmin=min(vi‑1,vi),vi‑1和vi分别为第i段曲线的起末速度,Am和Jm分别为机床所能达到的最大加速度和最大捷度;

步骤三:如果曲线段长度L>Smin,则起末速度可达,反之,则需根据L的大小调整起末速度;

步骤四:判断指令速度是否可达,如果不可达根据以下公式降低指令速度:其中F为指令速度,Jm为机床所能达到的最大捷度;

完成上述步骤后,指令队列中的速度超约束值已经修改完毕,接下来修改激光功率使之与进给速度相匹配。

2.根据权利要求1所述的六轴五联动激光加工开放式数控系统,其特征在于,人机界面模块(3)基于Qt平台开发,利用QML和C++语言开发系统前端和后端。

3.根据权利要求1所述的六轴五联动激光加工开放式数控系统,其特征在于,译码器(4)利用正则表达式进行文本匹配,提取指令信息,将指令信息存入指令队列供速度规划模块(5)使用。

4.根据权利要求1所述的六轴五联动激光加工开放式数控系统,其特征在于,激光功率优化模块(6)具有以下流程:

步骤一:计算两相邻曲线段最大转角限制θcr:其中F为指令速度,ε为预设最大转角误差,Kf和Kp分别为伺服前馈增益和位置增益;

步骤二:计算前后两段曲线的弓高误差δ1、δ2:δ1=R(1‑cosα1)

δ2=R(1‑cos(π‑θ‑α1))其中R为两曲线段外接圆半径,α1=arctan(l1sin(π‑θ)/(l2+l1cos(π‑θ))),l1和l2分别为前后两段曲线段的长度,θ为前后两曲线段的切矢夹角;

步骤三:如果前后两曲线段的切矢夹角θ≤θcr或者预设最大弓高误差δ

其中vi为衔接点速度,vcmd和Pcmd分别为指令速度和指令激光功率;

完成上述步骤后,激光功率已经和进给速度相匹配,接下来通过ADS协议将指令队列传至下位机。

5.根据权利要求1所述的六轴五联动激光加工开放式数控系统,其特征在于,插补计算模块(7)具有以下流程:

步骤一:根据“S”型速度曲线计算插补步长ΔL为:ΔL=vtTc

其中vt为速度曲线上t时刻的指令速度,Tc为插补周期;

步骤二:根据步长计算下一个周期节点矢量ui+1,其中直线、圆弧、NURBS曲线插补节点矢量计算分别如下:

直线的插补节点矢量递推计算:ui+1=ui+Tc圆弧的插补节点矢量递推计算:ui+1=ui+ΔL/RNURBS曲线的插补节点矢量递推计算:其中,R为圆的半径值,C′(ui)和C″(ui)分别为NURBS曲线的一阶和二阶导数,||·||为向量的模,<·>为向量内积;ui是当前周期曲线在参数域上的的节点矢量,ui+1是下一周期曲线在参数域上的的节点矢量;

步骤三:将下一周期的节点矢量代入曲线表达式计算插补点坐标,其中直线、圆弧、NURBS曲线在ui+1处的坐标Pi+1计算分别如下:直线的坐标计算:

其中,Pi+1是节点参数为ui+1时曲线上的点,Ps为起点坐标,Pe为终点坐标,us为起点的节点矢量,ue为终点的节点矢量;

圆弧的坐标计算:Pi+1=Pc+R(ui+1‑us,N)(Ps‑Pc)其中,R(ui+1‑us,N)是表示向量绕N旋转ui+1‑us角度,N为空间圆的法向量,Pc为圆心坐标,Ps起点坐标,us起点的节点矢量;

NURBS曲线的基函数递推计算如下:其中i为节点序号,k为曲线次数,Ni,k(·)为基函数,u表示节点矢量;

根据NURBS曲线的基函数计算在参数ui+1处的插补坐标Pi+1(ui+1)如下:其中di为控制顶点,wi为权因子, 为基函数的累加;

完成上述步骤后,指令曲线已经离散成位置坐标值,接下来传至坐标变换模块分解成各轴运动量。

6.根据权利要求1所述的六轴五联动激光加工开放式数控系统,其特征在于,在测量出七个机床固有参数后,坐标变换模块(8)能够适应AB轴结构形式的正逆坐标变换;完成坐标变换后,可得到各轴的运动量,接下来传至补偿模块进行调整。

7.根据权利要求1所述的六轴五联动激光加工开放式数控系统,其特征在于,经过坐标变换后的各轴位置在补偿模块(9)中进行双向补偿,有效提高机床定位精度。

8.根据权利要求1所述的六轴五联动激光加工开放式数控系统,其特征在于,伺服和激光控制模块(11)利用TwinCAT提供的Tc2‑MC2库,实现点对点运动控制。

9.一种六轴五联动激光加工开放式数控系统的工作方法,其特征在于,采用如权利要求1至8任意一项所述的一种六轴五联动激光加工开放式数控系统,包括以下步骤:系统部署到机床的工控机内,系统中各轴变量、激光变量以及IO变量分别和机床的伺服驱动器、激光器以及IO模块硬件进行扫描连接;

机床开机自动运行系统程序,人机交互模块接收加工程序和显示系统状态信息,接收的加工程序经过系统各个模块的处理优化后,驱动硬件完成加工。

说明书 :

一种六轴五联动激光加工开放式数控系统及其工作方法

技术领域

[0001] 本发明涉及激光加工数控技术领域,更具体地说,尤其涉及一种六轴五联动激光加工开放式数控系统及其工作方法。

背景技术

[0002] 激光加工以其效率高,质量高,灵活性高,操作简便,节能环保等突出优点,被广泛应用于汽车,电子,航空航天,冶金,铁路和轮船等行业,已成为先进制造业的发展方向。随
着激光加工技术的飞速发展,其对数控系统的要求越来越高。仅生产激光加工设备而不配
备高质量数控系统不可能充分利用激光加工的优势。因此,开发一种高效高精、开放智能的
激光加工数控系统是有必要的。

发明内容

[0003] 本发明的目的在于针对上述现有技术的不足,提供一种六轴五联动激光加工开放式数控系统及其工作方法。
[0004] 本发明解决其技术问题所采用的技术方案是:
[0005] 一种六轴五联动激光加工开放式数控系统,包括上位机(1)和下位机(2);其特征在于:
[0006] 上位机包括四个模块:人机界面模块(3)、译码器(4)、全局速度规划模块(5)、激光功率优化模块(6);
[0007] 其中,人机界面模块(3)用于输入加工程序和显示各类信息;
[0008] 其中,译码器(4)用于将输入的NC代码解释成指令队列;
[0009] 其中,全局速度规划模块(5)根据机床动力学限制修改指令队列中的超约束值;
[0010] 其中,激光功率优化模块(6)用于调整激光功率与进给速度相匹配;
[0011] 下位机(2)包括五个模块:插补计算模块(7)、坐标变换模块(8)、补偿模块(9)、逻辑处理模块(10)、伺服和激光控制模块(11);
[0012] 其中,插补计算模块(7)用来将轨迹曲线离散成位置坐标;
[0013] 其中,坐标变换模块(8)用来进行六轴五联动正逆坐标变换;
[0014] 其中,补偿模块(9)用来对位置误差进行补偿以提高定位精度;
[0015] 其中,逻辑处理模块(10)用来处理外部输入IO信号;
[0016] 其中,伺服和激光控制模块(11)用来驱动轴和激光器动作;
[0017] 上位机各组成模块信息流程如下:
[0018] 1)人机界面接收加工代码传至译码器;
[0019] 2)译码器将加工代码转换成指令队列方便机器内部传送和处理,并将指令队列传至全局速度规划模块;
[0020] 3)全局速度规划模块在接收指令队列后根据机床的动力学限制修改队列中的超约束值,并将修改后的指令队列传至激光功率优化模块;
[0021] 4)激光功率优化模块接收指令队列后修改激光的功率使之与进给速度相匹配;至此上位机非实时任务完成,得到了适合加工的指令队列;
[0022] 上位机处理好的指令队列通过ADS标准通信协议传至下位机;
[0023] 下位机各组成模块信息流程如下:
[0024] 1)上位机处理好的指令队列首先进入插补计算模块将指令队列中的曲线轨迹离散成位置坐标,并传至坐标变换模块;
[0025] 2)坐标变换模块将位置坐标分解成各轴运动量传给补偿模块;
[0026] 3)补偿模块根据激光干涉仪检测的机床补偿值将调整各轴运动量的值,以提高定位精度;
[0027] 4)伺服和激光控制模块接收到各轴运动量和激光指令功率后利用TwinCAT PTP功能驱动伺服轴和激光器动作;
[0028] 5)逻辑处理模块的任务是处理外部输入的IO信号,实时在线工作。
[0029] 下位机接收到来自ADS协议的指令队列后按照指令进行插补计算,得到位置值后经过坐标变换计算和补偿计算即可驱动各轴运动,逻辑处理模块和伺服和激光控制模块可
直接改变PLC状态。
[0030] 进一步,人机界面模块(3)基于Qt平台开发,利用QML和C++语言开发系统前端和后端。
[0031] 进一步,译码器(4)利用正则表达式进行文本匹配,提取指令信息,将指令信息存入指令队列供速度规划模块(5)使用。
[0032] 全局速度规划模块(5),包括以下步骤:
[0033] 步骤一:接收到来自译码器(4)的指令队列后首先根据机床联动动力学约束计算前后曲线段衔接点的过渡速度(即第i段曲线的末速度或者第i+1段曲线的起速度)vi为:
[0034]
[0035] 其中Amax为机床最大加速度,Tc为插补周期,F为指令速度,θ=arccos(τ1,τ2),τ1和τ2分别是第i曲线段的末端单位切矢和第i+1曲线段的起始单位切矢;
[0036] 步骤二:计算第i段曲线段加(减)速所需最小距离Smin:
[0037] 其中当加(减)速过程中有匀加(减)速阶段的计算方式为:
[0038]
[0039] 反之,当加(减)速过程中没有匀加(减)速阶段的计算方式:
[0040]
[0041] 其中vmax=max(vi‑1,vi),vmin=min(vi‑1,vi),vi‑1和vi分别为第i段曲线的起末速度,Am和Jm分别为机床所能达到的最大加速度和最大捷度;
[0042] 步骤三:如果曲线段长度L>Smin,则起末速度可达,反之,则需根据L的大小调整起末速度;
[0043] 步骤四:判断指令速度是否可达,如果不可达根据以下公式降低指令速度:
[0044]
[0045] 其中F为指令速度,Jm为机床所能达到的最大捷度;
[0046] 完成上述步骤后,指令队列中的速度超约束值已经修改完毕,接下来修改激光功率使之与进给速度相匹配。
[0047] 进一步,激光功率优化模块(6)具有以下流程:
[0048] 步骤一:计算两相邻曲线段最大转角限制θcr:
[0049]
[0050] 其中F为指令速度,ε为预设最大转角误差,Kf和Kp分别为伺服前馈增益和位置增益;
[0051] 步骤二:计算前后两段曲线的弓高误差δ1、δ2:
[0052] δ1=R(1‑cosα1)
[0053] δ2=R(1‑cos(π‑θ‑α1))
[0054] 其中R为两曲线段外接圆半径,α1=arctan(l1sin(π‑θ)/(l2+l1cos(π‑θ))),l1和l2分别为前后两段曲线段的长度,θ为前后两曲线段的切矢夹角;
[0055] 步骤三:如果前后两曲线段的切矢夹角θ≤θcr或者预设最大弓高误差δ
[0056] Pi=viPcmd/vcmd
[0057] 其中vi为衔接点速度,vcmd和Pcmd分别为指令速度和指令激光功率;
[0058] 完成上述步骤后,激光功率已经和进给速度相匹配,接下来通过ADS协议将指令队列传至下位机。
[0059] 进一步,插补计算模块(7)具有以下流程:
[0060] 步骤一:根据“S”型速度曲线计算插补步长ΔL为:
[0061] ΔL=vtTc
[0062] 其中vt为速度曲线上t时刻的指令速度,Tc为插补周期;
[0063] 步骤二:根据步长计算下一个周期节点矢量ui+1,其中直线、圆弧、NURBS曲线插补节点矢量计算分别如下:
[0064] 直线的插补节点矢量递推计算:ui+1=ui+Tc
[0065] 圆弧的插补节点矢量递推计算:ui+1=ui+ΔL/R
[0066] NURBS曲线的插补节点矢量递推计算:
[0067] 其中,R为圆的半径值,C′(ui)和C″(ui)分别为NURBS曲线的一阶和二阶导数,||·||为向量的模,<·>为向量内积;ui是当前周期曲线在参数域上的的节点矢量,ui+1是下一周
期曲线在参数域上的的节点矢量(节点矢量是参数曲线的重要参数,一个参数域的节点矢
量对应曲线上一个点);
[0068] 步骤三:将下一周期的节点矢量代入曲线表达式计算插补点坐标,其中直线、圆弧、NURBS曲线在ui+1处的坐标Pi+1计算分别如下:
[0069] 直线的坐标计算:
[0070] 其中,Pi+1是节点参数为ui+1时曲线上的点,Ps为起点坐标,Pe为终点坐标,us为起点的节点矢量,ue为终点的节点矢量(给定插补曲线后us、ue为已知量,默认:us=0,ue=1);
[0071] 圆弧的坐标计算:Pi+1=Pc+R(ui+1‑us,N)(Ps‑Pc)
[0072] 其中,R(ui+1‑us,N)是表示向量绕N旋转ui+1‑us角度,N为空间圆的法向量,Pc为圆心坐标,Ps起点坐标,us起点的节点矢量;
[0073] NURBS曲线的基函数递推计算如下:
[0074]
[0075] 其中i为节点序号,k为曲线次数,Ni,k(·)为基函数,u表示节点矢量(已知量,给定一条NURBS加工轨迹就会提供相应的节点矢量);
[0076] 根据NURBS曲线的基函数计算在参数ui+1处的插补坐标Pi+1(ui+1)如下:
[0077]
[0078] 其中di为控制顶点,wi为权因子, 为基函数的累加;
[0079] 完成上述步骤后,指令曲线已经离散成位置坐标值,接下来传至坐标变换模块分解成各轴运动量。
[0080] 进一步,在测量出七个机床固有参数后,坐标变换模块(8)能够适应AB轴结构形式的正逆坐标变换;完成坐标变换后,可得到各轴的运动量,接下来传至补偿模块进行调整。
[0081] 进一步,经过坐标变换后的各轴位置在补偿模块(9)中进行双向补偿,有效提高机床定位精度。
[0082] 进一步,伺服和激光控制模块(11)利用TwinCAT提供的Tc2‑MC2库,实现点对点运动控制。
[0083] 一种六轴五联动激光加工开放式数控系统的工作方法,其特征在于,采用前述的一种六轴五联动激光加工开放式数控系统,包括以下步骤:
[0084] 系统部署到机床的工控机内,系统中各轴变量、激光变量以及IO等变量分别和机床的伺服驱动器、激光器IO模块等硬件建立连接;
[0085] 机床开机自动运行系统程序,人机交互模块接收加工程序和显示系统状态信息,接收的加工程序经过系统各个模块的处理优化后,驱动硬件完成加工。
[0086] 进一步,译码器利用正则表达式进行文本匹配,提取指令信息,将指令信息存入指令队列供速度规划模块使用。
[0087] 进一步,速度规划模块具有以下步骤:接收指令队列后首先根据机床联动动力学约束计算衔接点的过渡速度,使速度曲线更加光顺;之后判断过渡速度是否可达,如果不可
达则调整过渡速度;最后判断指令速度是否可达,如果不可达则降低指令速度。
[0088] 进一步,激光功率优化模块具有以下流程:首先根据最大转角限制和弓高误差约束判断路径拐点,然后根据拐点速度修改拐点处的激光功率,以此减少拐角处的烧蚀现象。
[0089] 进一步,插补计算模块根据“S”型速度曲线计算插补步长,根据步长和曲线表达式计算下一个周期的位置点,插补计算模块能够完成直线、圆弧、NURBS三种类型曲线插补。
[0090] 进一步,坐标变换模块在测量出七个机床固有参数后,能够适应AB轴结构形式的正逆五轴坐标变换。
[0091] 进一步,补偿模块能够进行双向补偿,有效提高机床定位精度。
[0092] 进一步,伺服和激光控制模块利用TwinCAT提供的Tc2‑MC2库,实现点对点运动控制。
[0093] 本发明的有益效果是:
[0094] 第一,一种六轴五联动激光加工开放式数控系统能够准确的将NC代码翻译成指令队列,能够在机床动力学约束下合理的进行全局速度规划,能够准确的进行插补计算,能够
实现六轴五联动的坐标变换,并且系统具有良好的开放性和通用性,可方便的扩展和移植。
[0095] 第二,本发明的六轴五联动激光加工开放式数控系统包括上位机和下位机两部分。上位机是基于Qt平台设计的,执行非实时任务,运行于Windows系统。Qt是一个用于UI设
计的高效强大的软件,它支持不同的开发语言,例如C++,QML,Python等。下位机在TwinCAT
(The Windows Control and Automation Technology)内核中运行,处理实时任务。
TwinCAT是德国倍福开发的基于PC的自动化软件,编程遵循IEC 61131‑3标准,同时可方便
的兼容C/C++,Matlab/Simulink等语言开发的模块。因此,TwinCAT本身具有开放性、灵活性
和模块编程的特点,便于开发复杂的开放式数控系统。上位机和下位机的通讯是利用ADS协
议实现的,ADS协议是倍福公司基于TCP/IP协议开发的用于各个模块之间的信息交换和PLC
与外部环境通讯的接口协议,利用协议提供的端口和库函数可方便获取下位机PLC信息并
传至上位机。

附图说明

[0096] 下面结合附图中的实施例对本发明作进一步的详细说明,但并不构成对本发明的任何限制。
[0097] 图1为本发明系统的总体架构图。
[0098] 图2为系统人机界面。
[0099] 图3为NC代码主要指令图。
[0100] 图4为“S”型加减速曲线示意图。
[0101] 图5为全局速度规划流程图。
[0102] 图6为曲线分段点示意图。
[0103] 图7为机床实物图。
[0104] 附图标记说明如下:
[0105] 上位机1,下位机2,人机界面模块3,译码器4,全局速度规划模块5,激光功率优化模块6,插补模块7,坐标变换模块8,补偿模块9,逻辑处理模块10,伺服和激光控制模块11。

具体实施方式

[0106] 实施例1:以用于航空发动机机匣表面刻型的六轴五联动激光刻型机为例对本发明进行具体说明。
[0107] 实施例1的六轴五联动激光加工开放式数控系统的人机界面是在Qt集成开发环境上利用QML语言设计的,它包含八个子窗口:主加工,参数设置,系统设置,伺服设置,文档管
理,三维测量,螺距补偿,状态监控,如图2所示。
[0108] 译码器的功能是将NC代码从文本转换为系统可以处理的命令队列。NC代码的主要命令如图3所示。特别的,激光的打开和关闭分别由M03和M05控制。D、L和S分别表示激光器
的占空比,功率和频率。为了方便地匹配命令文本,译码器利用了正则表达式,例如:
[0109] (\\s*(([DGMNPS]\\d+)|([ABCFIJKXYZ][+]?\\d+\\.?\\d*)|([ABCFIJKXYZ][+‑]?\\d*\\.?\\d+)|([AZ]{2,})))*(\\s*[;%].*)?
[0110] ([A‑Z])([+‑]?\\d*\\.?\\d*)
[0111] 第一个表达式可以用作语法检查语句,无法与其匹配的任何单行文本都被视为无效命令。第二个表达式可以用作单段命令检查语句,以提取此命令的类型和数据值。
[0112] 全局速度规划模块是整个系统的重要组成部分。合理的速度曲线既可以提高精度,又可以节省加工时间。速度规划首先计算前后曲线段衔接点的过渡速度(即第i段曲线
的末速度或者第i+1段曲线的起速度)vi为
[0113]
[0114] 其中Amax为机床最大加速度,Tc为插补周期,F为指令速度,θ=arccos(τ1,τ2),τ1和τ2分别是第i曲线段的末端单位切矢和第i+1曲线段的起始单位切矢;
[0115] 在获得每段曲线的末速度之后,判断每段曲线速度是否可以达到。如果使用如图4所示的“S”型速度曲线,假设vi‑1和vi是第i段的起末速度,如果加(减)速过程中有匀加(减)
速阶段,则从vi‑1加速或减速到vi的最短距离Smin为:
[0116]
[0117] 如果加(减)速过程中没有匀加(减)速阶段,则最短距离Smin为:
[0118]
[0119] 其中vmax=max(vi‑1,vi),vmin=min(vi‑1,vi),vi‑1和vi分别为第i段曲线的起末速度,Am和Jm分别为机床所能达到的最大加速度和最大捷度;
[0120] 假设第i段曲线段的长度为L。如果L>Smin则vi是可达的。否则,需要调整vi的值。调整步骤如下:1.如果vi‑1≤vi,此时是加速过程,则直接根据L减小vi。2.如果vi‑1>vi,此时是
减速过程,我们可以根据L减小vi‑1。但是由于前一段的末速度已更改,则,需要回溯至前一
段再次以上述方式判断是否可达。
[0121] 在确定各段衔接速度都可达后,需要继续判断指令速度F是否可达。首先,将vi‑1和F带入公式(2)或(3),计算最小距离Smin1。同样,将vi和F带入(2)或(3),计算最小距离Smin2。
如果L>Smin1+Smin2,则指令速度可达,否则根据公式(4)修改指令速度。
[0122]
[0123] 全局速度规划的算法流程图如图5所示。
[0124] 在全局速度规划后进行激光功率优化,使其与进给速度匹配,避免出现拐角烧蚀现象。调整激光功率应首先确定段间分割点。判断条件有两个:最小转角限制和最大弓高误
差限制。如图6所示为曲线分段点示意图,图中实线为指令轨迹,虚线为实际轨迹,则最小转
角限制为:
[0125] θcr=2×arccos(Kpε/F/(1‑Kf))                           (5)
[0126] 其中F为指令速度,ε为预设最大转角误差,Kf和Kp分别为伺服前馈增益和位置增益。然后计算两个最大弓高误差限制为:
[0127] δ1=R(1‑cosα1)                             (6)
[0128] δ2=R(1‑cos(π‑θ‑α1))                       (7)
[0129] 其中R=2×l1/sinα1,α1=arctan(l1sin(π‑θ)/(l2+l1cos(π‑θ))),l1和l2分别为前后曲线段的长度,θ为前后两曲线段的切矢夹角。
[0130] 确认分割点后,可通过公式(1)计算分割点的速度(vi)。假设指令速度和指令激光功率分别为vcmd和Pcmd,则更改后的激光功率为:
[0131] Pi=viPcmd/vcmd                               (8)
[0132] 插补器计算的任务是根据所规划的速度曲线计算位置点,驱动各轴运动。图3所示的速度曲线的表达式为:
[0133]
[0134] 其中 :A和J分 别为机 床最大 加速度和最 大捷度 ,2 2
v3=F‑J(t5‑t4) /2,v4=F‑J(t5‑t4) /2‑A(t6‑t5)。
[0135] 根据分段点前后速度相等,可计算分段时间的表达式为:
[0136] t1=t3‑t2=t5‑t4=t7‑t6=A/J
[0137] t2‑t1=(F‑A2/J‑vs)/A
[0138] t6‑t5=(F‑A2/J‑ve)/A
[0139]
[0140] 根据公式(9)和公式(10),计算插补步长为:
[0141] ΔL=vtTc                                       (11)
[0142] 其中Tc为插补周期。
[0143] 根据步长计算下一个周期节点矢量ui+1,其中直线、圆弧、NURBS曲线插补节点矢量计算分别如下:
[0144] 直线的插补节点矢量递推计算:ui+1=ui+Tc
[0145] 圆弧的插补节点矢量递推计算:ui+1=ui+ΔL/R
[0146] NURBS曲线的插补节点矢量递推计算:
[0147] 其中,R为圆的半径值,C′(ui)和C″(ui)分别为NURBS曲线的一阶和二阶导数,||·||为向量的模,<·>为向量内积;ui是当前周期曲线在参数域上的的节点矢量,ui+1是下一周
期曲线在参数域上的的节点矢量,节点矢量是参数曲线的重要参数,一个参数域的节点矢
量对应曲线上一个点;
[0148] 将下一周期的节点矢量代入曲线表达式计算插补点坐标,其中直线、圆弧、NURBS曲线在ui+1处的坐标Pi+1计算分别如下:
[0149] 直线的坐标计算:
[0150] 其中,Pi+1是节点参数为ui+1时曲线上的点;Ps为起点坐标,Pe为终点坐标,us为起点的节点矢量,ue为终点的节点矢量(给定插补曲线后us、ue为已知量,默认:us=0,ue=1);
[0151] 圆弧的坐标计算:Pi+1=Pc+R(ui+1‑us,N)(Ps‑Pc)
[0152] 其中,R(ui+1‑us,N)是表示向量绕N旋转ui+1‑us角度,N为空间圆的法向量,Pc为圆心坐标,Ps起点坐标,us起点的节点矢量;
[0153] NURBS曲线的基函数递推计算如下:
[0154]
[0155] 其中i为节点序号,k为曲线次数,Ni,k(·)为基函数;u表示节点矢量,是已知量,给定一条NURBS加工轨迹就会提供相应的节点矢量;
[0156] 根据NURBS曲线的基函数计算在参数ui+1处的插补坐标Pi+1(ui+1)如下:
[0157]
[0158] 其中di为控制顶点,wi为权因子, 为基函数的累加。
[0159] 得到位置坐标后,需要将坐标变换后的位置发送到伺服轴。六轴五联动激光刻型机从激光焦点到工件的逆坐标变换为:
[0160] px=X+x2+x1cos B‑y1sin B‑tycos A sin B+tzsin A sin B
[0161] py=Y+y2+x1sin B+y1cos B+tycos A cos B‑tzsin A cos B
[0162] pz=Z+z2+tzcos A+tysin A
[0163] i=sin A sin B
[0164] j=‑sin A cos B
[0165] k=cos A                                                 (16)
[0166] 反解得到正坐标变换为:
[0167] A=‑arccos(k)
[0168] B=arctan(‑i/j)
[0169] X=px‑x2‑x1cos B+y1sin B+tycos A sin B‑tzsin A sin B
[0170] Y=py‑y2‑x1sin B‑y1cos B‑tycos A cos B+tzsin A cos B
[0171] Z=pz‑z2‑tzcos A‑tysin A                  (17)
[0172] 其中ty,tz为激光焦点与A轴坐标系之间的距离,x1,y1为A轴坐标系到B轴坐标系的距离,A、B为两个旋转轴的运动角度,X,Y,Z为三个线性轴的运动值,x3,y3和z3为测得的校准
常数。
[0173] 坐标转换后,每个轴的位置值加上补偿值可以驱动轴移动。补偿值由激光干涉仪测量,手动输入到HMI。运动控制是使用TwinCAT PTP提供的Tc2‑MC2库实现的。
[0174] 如图7所示为机床实物图,配有倍福C6640‑0040工控机,采用CoreTM i7 2.3GHz CPU,8G运行内存,系统采用win7专业版;机床旋转轴采用Kollmorgen AKD驱动器和支持
EtherCAT协议的DDR D06X系列电机,线性轴采用SIEMENS S120驱动器和1FK7系列电机,支
持PROFIdrive协议。
[0175] 以上所举实施例为本发明的较佳实施方式,仅用来方便说明本发明,并非对本发明作任何形式上的限制,任何所属技术领域中具有通常知识者,若在不脱离本发明所提技
术特征的范围内,利用本发明所揭示技术内容所作出局部更动或修饰的等效实施例,并且
未脱离本发明的技术特征内容,均仍属于本发明技术特征的范围内。