一种数控加工全局NURBS轨迹实时插补方法及其应用

文档序号:26138593发布日期:2021-08-03 14:21阅读:165来源:国知局
一种数控加工全局NURBS轨迹实时插补方法及其应用

本发明属于数控机床加工领域,更具体地,涉及一种数控加工全局nurbs轨迹实时插补方法及其应用。



背景技术:

目前,数控加工的刀具轨迹通常采用g01小线段表示。这种表示形式的刀具轨迹数据存储量和传输量大,而且在轨迹的连接点处只有c0位置连续,加工过程中速度和加速度不连续,从而降低工件加工精度,不能满足高速、高精加工的要求。因此,在实际加工中,越来越多的公司和研究人员在进行轨迹规划的时候使用nurbs曲线对刀位点进行拟合,然后将nurbs曲线输入到数控系统中直接进行插补。与传统的直线插补或圆弧插补相比,nurbs曲线插补具有运动平稳、速度快、位置跟踪误差小、抖动幅度小等优点。但是由于nurbs曲线弧长与参数的非线性关系,样条实时插补会存在进给速度波动问题。为此,产生了许多针对nurbs样条轨迹的实时插补方法。中国专利cn109828535a公布了一种基于四阶runge-kutta的nurbs曲线插补方法,其实时插补的原理是:采用四阶runge-kutta算法求解节点矢量增量,采用向后差分法替代求导过程,并且采用最大弓高误差约束步长、最大加速度约束补偿,从而实现对计算误差的控制。中国专利cn111983975a公开了一种参数增量补偿的样条曲线插补方法,其实时插补的原理是:首先基于二阶runge-kutta法计算从当前插补点到下一插补点的参数增量预估值,利用向后差分法将参数增量中的导数进行近似替代;其次,比较曲线上预估插补点所对应弧长与理想进给速度下的插补点所对应的弧长,利用曲率圆近似计算补偿弧长和参数增量补偿值;最后,根据参数增量值确定下一插补点的曲线参数值。

在数控加工领域,由于通常的插补周期是1-2ms,因此样条插补点参数计算作为其中一个步骤,就要求其计算时间是在微妙级别的;同时,对于不同的样条轨迹,样条插补点参数计算时间应该保持稳定,每次计算时间都差别不大。而上述传统方法都是通过构建常微分方程进行求解,获取样条参数,这种方法计算通常比较复杂,计算时间较长,同时对于常微分的求解涉及数值迭代,迭代次数不确定,导致计算时间不稳定。



技术实现要素:

本发明提供一种数控加工全局nurbs轨迹实时插补方法及其应用,用以解决现有nurbs轨迹实时插补方法不能同时兼具实时在线插补和高精度插补性能的技术问题。

本发明解决上述技术问题的技术方案如下:一种数控加工全局nurbs轨迹实时插补方法,包括:

按节点区间对nurbs曲线进行分段,将每个轨迹段的nurbs曲线通过将nurbs曲线整体参数转换成局部参数以转换成幂基表达形式;并基于该幂基表达形式对每个轨迹段进行采样,得到局部参数序列t和采样点序列q,进一步采用以弦代弧的方式由采样点序列q计算得到采样弧长序列s;

对每个轨迹段的采样弧长序列s归一化处理得到归一化弧长序列θ,将序列θ作为自变量带入弧长-参数映射模型,得到拟合参数序列以最小化拟合参数序列和局部参数序列t之间的差值为目标,求解a,得到该轨迹段的弧长-参数映射模型,其中,a表示弧长-参数映射模型的多项式系数,φ表示将序列θ带入映射模型得到的系数矩阵;

根据当前累积弧长sk以及所需弧长增量δsk,确定归一化弧长,以带入当前轨迹段的弧长-参数映射模型计算局部插补点参数tk+1;并将tk+1带入当前轨迹段的所述幂基表达形式,计算得到插补点,k表示插补周期。

本发明的有益效果是:本发明对每段轨迹段分别建立幂基表达形式和弧长-参数映射模型,基于每段的弧长-参数映射模型和幂基表达形式计算每个插补周期插补点的坐标,避免了现有通过迭代求解常微分方程的方式,实现实时在线插补。同时,在线计算样条弧长序列,采用构建的弧长-参数高精度映射模型来进行插补点计算,保证了nurbs曲线插补点样条参数的精确计算。因此,本发明提出的数控加工全局nurbs轨迹实时插补方法能够同时兼具实时在线插补和高精度插补性能。

上述技术方案的基础上,本发明还可以做如下改进。

进一步,在所述按节点区间对nurbs曲线进行分段之前,所述方法还包括:

根据曲线特征约束,对每个节点区间内的nurbs轨迹段进行检查,若不符合曲线特征约束,则对该轨迹段做节点插入,直至所有轨迹段均符合所述曲线特征约束。

本发明的进一步有益效果是:由于本发明方法需要对分段的nurbs轨迹进行采样,当输入的nurbs曲线段形状变化过大,或者长度过长,显然采样的误差也会过大。因此,对输入的样条曲线形状进行检查和约束,保证后续采样得到的弧长序列误差在给定精度范围内。

进一步,所述曲线特征约束为:

其中,s、κmax、和τmax分别表示曲线的弧长、最大曲率、最大曲率变化率和最大挠率,δ1、δ2、δ3为定值。

进一步,所述nurbs曲线为三次nurbs曲线;则所述弧长-参数映射模型为六次多项式。

本发明的进一步有益效果是:当nurbs曲线为三次nurbs曲线时,选用六次多项式的映射模型,弧长序列与参数序列的拟合精度较高。

进一步,所述以最小化拟合参数序列和局部参数序列t之间的差值为目标,求解得到a,具体为:

建立弧长-参数拟合求解方程:求解该方程得到a;其中,a=[a0a1a2a3a4a5]t为边界约束系数矩阵,t0为弧长-参数映射模型二阶导数连续约束。

本发明的进一步有益效果是:为保证插补速度在样条曲线段端点处的连续,在构建映射模型时,设置弧长-参数映射模型二阶导数连续约束。

进一步,采用拉格朗日乘数法,对所述弧长-参数拟合求解方程进行求解。

进一步,当出现所述局部插补点参数tk+1小于当前局部插补点参数tk时,采用一阶泰勒展开式将计算得到的tk+1进行修正。

本发明的进一步有益效果是:采用了一阶泰勒展开式进行修正,能够避免弧长-参数映射多项式出现参数反转,保证插补点参数随弧长单调递增。

本发明还提供一种数控加工设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现如上所述的一种数控加工全局nurbs轨迹实时插补方法。

本发明还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现如上所述的一种数控加工全局nurbs轨迹实时插补方法。

附图说明

图1为本发明实施例提供的一种数控加工全局nurbs轨迹实时插补方法流程框图;

图2为本发明实施例提供的弧长-参数映射模型构建流程示意图;

图3为本发明实施例提供的全局平滑nurbs曲线实时插补流程示意图;

图4为本发明实施例提供的数控加工全局平滑nurbs轨迹实时插补方法的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

实施例一

一种数控加工全局nurbs轨迹实时插补方法,如图1所示,包括:

步骤110、按节点区间对nurbs曲线进行分段,将每个轨迹段的nurbs曲线通过将nurbs曲线整体参数转换成局部参数以转换成幂基表达形式;并基于该幂基表达形式对每个轨迹段进行采样,得到局部参数序列t和采样点序列q,进一步采用以弦代弧的方式由采样点序列q计算得到采样弧长序列s;

步骤120、对每个轨迹段的采样弧长序列s归一化处理得到归一化弧长序列θ,将序列θ作为自变量带入弧长-参数映射模型,得到拟合参数序列以最小化拟合参数序列和局部参数序列t之间的差值为目标,求解a,得到该轨迹段的弧长-参数映射模型,其中,a表示弧长-参数映射模型的多项式系数,φ表示将序列θ带入映射模型得到的系数矩阵;

步骤130、根据当前累积弧长sk以及所需弧长增量δsk,确定归一化弧长,以带入当前轨迹段的弧长-参数映射模型计算局部插补点参数tk+1;并将tk+1带入当前轨迹段的所述幂基表达形式,计算得到插补点,k表示插补周期。

优选的,在进行按节点区间将nurbs曲线分段之前,可首先通过对输入的样条轨迹进行检查,对曲线特征不符合要求的节点区间段进行拆分,做节点插入。

具体的,根据曲线特征约束,对每个节点区间内的nurbs轨迹段进行检查,若不符合曲线特征约束,则对该轨迹段做节点插入,直至所有轨迹段均符合所述曲线特征约束。

由于后续过程中需要对分段的nurbs轨迹进行采样,当输入的nurbs曲线段形状变化过大,或者长度过长,显然采样的误差也会过大。因此,对输入的样条曲线形状进行检查和约束,保证后续采样得到的弧长序列误差在给定精度范围内。

本实施例考虑到,一条空间曲线,其形状完全由曲线的曲率κ、曲率变化率挠率τ和弧长s决定,因此通过控制κmaxs、和τmaxs的取值上界,即可实现对采样误差εreme的控制:

其中s、κmax、τmax分别表示曲线的弧长、最大曲率、最大曲率变化率,以及最大挠率。δ1、δ2、δ3、εthreshold为定值。

那么在nurbs轨迹输入之前,按照上式对每个节点区间内的nurbs轨迹段进行检查,如果不符合上述约束,则做节点插入。

对于上述步骤110,具体地,利用nurbs曲线的局部性原理,将nurbs按照节点区间进行分段。例如,对于三次nurbs曲线,在节点区间[ui,ui+1]内,nurbs曲线整体参数u转换成使用局部参数t∈[0,1]表示为:

u=u(t)=(1-t)ui+tui+1,t∈[0,1];

那么三次nurbs曲线在节点区间[ui,ui+1]内的局部幂基表示形式为:

紧接着,对分段后的局部nurbs曲线段进行采样,得到局部参数序列t和采样点序列q:

进一步地,采用累积弦长近似弧长,得到采样弧长序列:

s=[s0s1s2…sn-1];

其中:

对于上述步骤120,具体的,如图2所示,首先对采样弧长序列进行归一化处理(目的是消除量纲,减少弧长序列方差的影响,避免拟合偏差过大),得到序列θ=[α0α1α2…αn-1]=[0s1/smaxs2/smax…1],原弧长-参数映射模型由转化为其次,为保证插补速度在样条曲线段端点处的连续,设置弧长-参数映射模型二阶导数连续约束:

其中:

将归一化的弧长序列θ=[α0α1α2…αn-1]作为自变量带入弧长-参数映射模型得到拟合参数序列

考虑上述二阶导数连续约束,得到带约束的最小二乘拟合方程:

其中a=[a0a1a2a3a4a5]t是拟合多项式系数,为边界约束系数矩阵。

对于上述最小二乘问题,可采用拉格朗日乘数法进行求解:

其中z为拉格朗日乘数序列。

通过上式,即可求出拟合多项式系数a。

需要说明的是,上述nurbs曲线为三次nurbs曲线时,则映射模型采用了六次多项式。

对于上述步骤130,根据当前累积弧长sk以及所需弧长增量δsk,确定归一化弧长,在确定下一插补点对应的弧长后,利用前五步得到的弧长-参数映射模型,计算出下一插补点对应的样条参数。

在步骤120得到拟合多项式系数,也即得到弧长-参数映射模型。接下来,如图3所示,步骤130根据当前累积弧长sk以及所需弧长增量δsk,确定归一化弧长利用弧长-参数映射模型,计算局部插补点参数tk+1:

优选的,为防止出现参数反转,对计算出的样条参数进行检查,采用一阶泰勒展开式对出现参数反转的位置进行参数修正。最后将样条参数带入nurbs曲线方程中,得到下一插补点坐标。

具体的,插补过程中,累积的弧长增量s是关于样条局部参数t的单调递增函数,那么,随着插补的推进,插补点参数ti应该是递增的,即弧长-参数映射模型应该保持单调递增。弧长-参数映射多项式是六次多项式,而六次多项式最多存在五个极值点,有可能出现参数反转的情况,即下一插补点参数tk+1小于当前插补点参数tk,为了避免这一点,采用一阶泰勒展开式进行修正,即当出现参数反转时,修正插补点参数为确保不会出现参数反转。

最后将参数tk+1带入样条局部幂基表达式,即可得到插补点pk=c(tk)。

综上,本实施例方案,可预先对nurbs轨迹进行了检查,对于不满足曲线特征的节点区间段进行了拆分,保证后续采样得到的弧长序列误差在给定精度范围内。另外,采用六次多项式拟合弧长与参数的关系,并考虑了nurbs区间轨迹段端点的二阶连续性。在插补阶段,为了避免弧长-参数映射多项式出现参数反转,保证插补点参数随弧长单调递增,采用了一阶泰勒展开式进行修正。通过避免迭代求解,整个拟合过程是实时在线的,计算时间尺度能够控制在微妙级别,无需专门的离线工具进行处理,也不需要开发特殊的编程指令将弧长参数映射关系式输入到数控系统中。

因此,本实施例提供了一种全局平滑nurbs曲线实时插值方法,整个算法的计算时间尺度可以控制在微妙级别。如图4所示,所述实时插值方法按节点区间将nurbs曲线分段,并转换为局部表达形式;对拆分的nurbs曲线段进行实时采样,得到采样弧长序列和参数序列。紧接着采用多项式拟合弧长与参数序列,并考虑nurbs曲线在边界处的二阶连续性约束,得到弧长与参数的映射多项式,得到弧长与参数映射模型。最后,在进行插补时,利用弧长与参数映射模型,根据输入的弧长,计算出高精度的样条参数,并且为了避免出现插补反转,采用一阶泰勒展开式修正插补反转,进而计算出高精度的插补点坐标,减少进给速度波动。

实施例二

一种数控加工设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现如上所述的一种数控加工全局nurbs轨迹实时插补方法。相关技术方案同实施例一,在此不再赘述。

实施例三

一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现如上所述的一种数控加工全局nurbs轨迹实时插补方法。相关技术方案同实施例一,在此不再赘述。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1