欢迎来到知嘟嘟! 联系电话:13336804447 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13336804447
知嘟嘟经纪人
收藏
专利号: 2022116091683
申请人: 天津理工大学
专利类型:发明专利
专利状态:已下证
专利领域: 控制;调节
更新日期:2025-12-18
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.数控系统中基于切线矢量的阿基米德螺线实时插补方法,其特征在于,包括以下步骤:S1、获取新一段插补阿基米德螺线弧信息,并确定插补阿基米德螺线弧信息;先求解出阿基米德螺线上点(xθ,yθ)的切线矢量(dxθ,dyθ)和对应的向心矢量(normal_dxθ,normal_dyθ);

然后,根据需要插补完成的阿基米德螺线段划分最长脉冲轴,对待插补完成的阿基米德螺线段进行插补区域的划分;所述最长脉冲轴的意思是在一个插补区域内发送脉冲个数最多的轴;

S2:比较x、y方向的脉冲余数,所述的脉冲余数是每次实际发送脉冲到达的位置与理论插补点之间的差值的加和,判断是哪个轴的脉冲余数绝对值大于0.5,进行脉冲处理;

当没有一个方向上的余数的绝对值超过0.5,进行S3;

S3:求解理论插补点的角度值对应的阿基米德螺线点的切线矢量;

S4、将理论插补点的切线矢量分量与各自轴的脉冲当量相乘,判断哪个轴此刻为最长脉冲轴,决定发送脉冲;并求出下一个点的发送脉冲的轴坐标,再根据近似处理法求出另一个轴的坐标,而后判断另一个轴的脉冲余数绝对值是否大于0.5,若另一个轴的脉冲余数绝对值是否大于0.5则进行脉冲处理;

S5:重复S2到S4,直到判断完成本段阿基米德螺线插补。

2.根据权利要求1所述的数控系统中基于切线矢量的阿基米德螺线实时插补方法,其特征在于,S1中对待插补完成的阿基米德螺线段进行插补区域的划分的过程包括以下步骤:S10、基于阿基米德螺线段所在坐标系划分为A‑‑>B,B‑‑>C,C‑‑>D,D‑‑>A四个区域,其中OA、OB、OC、OC为阿基米德螺线段所在坐标系第一象限至第四象限中的四条射线,即分割角界线;O为阿基米德螺线段所在坐标系原点;

区分角度求解公式如下:

其中,b为阿基米德螺旋线系数,表示每旋转1度时极径的增加量;θ为极角;a为当θ=0°时的极径;pulunitx为x轴的脉冲当量,pulunity为y轴的脉冲当量,单位为pulse/mm,正负符号是根据所处的象限来决定,当象限在1、3范围时,则为正,当象限在2、4范围内时,则为负号;

根据区分角度求解公式,利用牛顿迭代方法,并通过不同象限角度范围不同的约束条件,给定初值,进行迭代求解处理分割角θ分割角,将四个象限中对应的分割角分别记为θ1分割角、θ2分割角、θ3分割角、θ4分割角;

在AOD、BOC区间内的阿基米德螺线段的最长脉冲轴是Y轴;在AOB、COD区间内的阿基米德螺线段的最长脉冲轴是X轴;

S11、基于分割角确定将需要插补的阿基米德螺线划分区域;

每个区域的最长脉冲轴的脉冲数相加得到要插补的阿基米德螺线的总脉冲数,也是所需要进行插补计算所需的迭代循环次数,即此条阿基米德螺线的分割数;

若是阿基米德螺线处于AOB范围内,设阿基米德螺线上的起点和终点分别为S点到E点,则只需要求解从阿基米德螺线的S点到E点的Y方向所需完成的脉冲总数即为阿基米德螺线的分割数;

若是阿基米德螺线处于BOC范围内,则只需要求解从阿基米德螺线的S点到E点的X方向所需完成的脉冲总数即为阿基米德螺线的分割数;

若是阿基米德螺线处于AOB和BOC范围内,在AOB范围最长脉冲轴是X轴,在BOC范围最长脉冲轴为Y轴,则需要求解从阿基米德螺线的S点到OB分割角对应的点的Y方向所需完成的脉冲总数再加上OB分割角对应的点到E点的X方向所需完成的脉冲总数才为阿基米德螺线总的分割数。

3.根据权利要求2所述的数控系统中基于切线矢量的阿基米德螺线实时插补方法,其特征在于,所述分割角的具体求解过程包括以下步骤:针对第一象限的分割角:

S101、首先是根据 求解出来分割

角对应的向心矢量的角度θ_normal=atan2(pulunitx,pulunity),atan2是求解角度的函数;

S102、以θ_normal为极角即θ=θ_normal,求解此时对应的阿基米德螺线的极径r(θ)=a+b×θ;

S103、求解偏转角度值Δθ=arctan2(b,r(θ));然后得到此时极角θ所对应的向心矢量角度θ_n=θ‑Δθ;

S104、计算分割角对应的向心矢量角度θ_normal与求解出来的极角θ所对应的向心矢量角度θ_n之间的差值error=θ_normal‑θ_n;而后令θ=θ+error;

S105、将此时的θ_n作为极角即θ=θ_n,重复S102至S104步骤,直至求解出来的error的值趋向于0,即求解出来了第一象限的分割角θ1分割角;

若是第二、三、四象限,各分割角对应的向心矢量的角度θ_normal_2=atan2(pulunitx,‑pulunity)θ_normal_3=atan2(‑pulunitx,‑pulunity)θ_normal_4=atan2(‑pulunitx,pulunity)θ_normal_2、θ_normal_3、θ_normal_4分别表示第二、三、四象限中的θ_normal;对于负值角度即3、4象限的角度进行如下处理:θ_normal_3=θ_normal_3+2×πθ_normal_4=θ_normal_4+2×π;

通过上述求解得到对应的区分矢量OA、OB、OC、OD的角度分别为:θ1分割角、θ2分割角、θ3分割角、θ4分割角。

4.根据权利要求3所述的数控系统中基于切线矢量的阿基米德螺线实时插补方法,其特征在于,所述分割数的求解过程包括以下步骤:设θn为插补阿基米德螺线终点的向心矢量与X轴正半轴的夹角,即:首先判断在插补起点与终点之间是否有最长脉冲轴的改变,即判断θ1分隔角、θ2分隔角、θ3分隔角、θ4分隔角这四个角度是否至少有任意一个存在于θ1‑θn之中;θ1表示插补阿基米德螺线起点的向心矢量与X轴正半轴的夹角;

(一)若没有,则直接计算得到x和y两个方向上的脉冲数:其中,x1、y1为起点的坐标值,xn、yn为终点的坐标值;

当|xn‑x1|和|yn‑y1|存在小数部分时,若小数部分大于0.5,则直接进1,若小数部分小于等于0.5,则只保留整数部分;

最后求得总脉冲数为n总=max{nx,ny},也为阿基米德螺线的分割数;

(二)若这四个角度至少有任意一个处在θ1‑θn之中,则设此角度为α,则此角度数值必然是四个角度之一,即α=[θ1分隔角,θ2分隔角,θ3分隔角,θ4分隔角],则需要进行分段考虑并计算;

假设只有一个分割角在θ1‑θn之中,即插补段在P(xα,yα)点被分成两段;根据方程式:xα=(a+b×α)×cos(α)+xo

yα=(a+b×α)×sin(α)+yo

其中阿基米德螺线的圆心为O(x0,y0);

先计算S点到P点之间的脉冲数,首先

其中,当|xα‑x1|和|yα‑y1|存在小数部分时,若小数部分大于0.5,则直接进1,若小数部分小于等于0.5,则只保留整数部分;求得第一段脉冲数为n1=max{nx1,ny1};

而后计算P点到E点的脉冲数,首先

其中,当|xα‑xn|和|yα‑yn|存在小数部分时,若小数部分大于0.5,则直接进1,若小数部分小于等于0.5,则只保留整数部分;求得第二段脉冲数为n2=max{nx2,ny2};

由此得出总脉冲数为n总=n1+n2;即分割数;

(三)若有两个以上分割角在θ1‑θn之中,即插补段被分成三段以上,按照上述方式进行处理,将多个计算分割角之间的脉冲数进行加总脉冲数为n总;即分割数。

5.根据权利要求4所述的数控系统中基于切线矢量的阿基米德螺线实时插补方法,其特征在于,每当步骤S2注意处理新的阿基米德螺线时,其x、y方向的脉冲余数初值是0.0。

6.根据权利要求5所述的数控系统中基于切线矢量的阿基米德螺线实时插补方法,其特征在于,步骤S2所述判断是哪个轴的脉冲余数绝对值大于0.5,进行脉冲处理的过程包括以下步骤:设x方向脉冲余数为repulse_x,y方向脉冲余数为repulse_y,并判断这两个方向的脉冲余数是否超出范围值,即绝对值大于0.5;

当|repulse_x|>0.5,且repulse_x>0,则令repulse_x‑1,同时x轴发送一个脉冲;同时总脉冲数减一;

当|repulse_x|>0.5,且repulse_x<0,则令repulse_x+1,同时x轴发送一个脉冲;同时总脉冲数减一;

当|repulse_y|>0.5,且repulse_y>0,则令repulse_y‑1,同时y轴发送一个脉冲;同时总脉冲数减一;

当|repulse_y|>0.5,且repulse_y<0,则令repulse_y+1,同时y轴发送一个脉冲;同时总脉冲数减一。

7.根据权利要求6所述的数控系统中基于切线矢量的阿基米德螺线实时插补方法,其特征在于,S3所述求解理论插补点的角度值对应的阿基米德螺线点的切线矢量的过程包括以下步骤:基于插补方向将切线分为切线顺时针旋转和切线逆时针旋转,并计算理论插补点的切向矢量:dx=‑(a+b×θ)×sin(θ)+b×θ

dy=(a+b×θ)×cos(θ)+b×θ

dz=0.0

然后求解出来理论插补点的切线矢量:tangent(m,n,k);

dx=‑(a+b×θ)×sin(θ)+b×θ=m即:dy=(a+b×θ)×cos(θ)+b×θ=ndz=0.0=k。

8.根据权利要求7所述的数控系统中基于切线矢量的阿基米德螺线实时插补方法,其特征在于,S4的具体过程包括以下步骤:判断哪个是最长脉冲轴,则谁发送一个脉冲,设numx、numy分别为切线矢量与各自轴的脉冲当量的数值乘积;

numx=m×pulunitx

numy=n×pulunity

判断|numx|和|numy|的大小,分为两种情况进行说明:(A)如果|numx|>|numy|,则x方向发送一个脉冲;同时总脉冲数减一;

将下一个理论插补点的理论插点补坐标记为U;首先确定一个求解插补点Q,然后基于求解插补点Q再最终确定U;

若numx>0,则

x2=x1+1/pulunitx

若numx≤0,则

x2=x1‑1/pulunitx

首先根据x2坐标求解出来对应的临时y2坐标值,即y2_temp;

若numy>0,则

y2_temp=y1+abs(numy/numx)/pulunity;

若numy≤0,则

y2_temp=y1‑abs(numy/numx)/pulunity;

其中abs(·)为用于求数据绝对值的函数;

将插补点Q的坐标设为:pt_next,其x、y点坐标记为:pt_next.x,pt_next.y,首先令:pt_next.x=x2,pt_next.y=y2_temp;同时,令当前初始点S坐标为:pt,其x、y点坐标记为:pt.x,pt.y;然后进行如下处理:

第一步、求解出来要求解的插补点的旋转角度Δθ:

其中len_pt是本次计算的插补点

和当前点的距离;

根据阿基米德螺线弧长求解出来当前点的近似曲率半径radius的值即进而得到Δθ=len_pt/radius;

若是顺时针旋转,则需要进行一个负号赋值:Δθ=0.0‑Δθ;

第二步、求解插补点所对应的阿基米德螺线的角度值θ_next:设θ为当前点所对应的阿基米德螺线的角度值,则插补点所对应的阿基米德螺线的角度值θ_next=θ+Δθ;

第三步、设U为真正的理论插补点,根据下面公式所示求解出来此角度对应的阿基米德螺线的半径r(θ_next)值:r(θ_next)=a+b×θ=a+b×θ_next;

第四步、求解出来此时真正的阿基米德螺线的理论插补点U坐标:设Δ_x,Δ_y为插补点到阿基米德螺线O(x0,y0)的x、y轴距离值;

Δ_x=pt_next.x‑xo

Δ_y=pt_next.y‑yo

求解出来插补点到阿基米德螺线圆心的距离len_Δ_xy:进而得到真正的理论插补点U坐标:

pt_next.x=Δ_x*r_pt_next/len_Δ_xy+xopt_next.y=Δ_y*r_pt_next/len_Δ_xy+yo此时y方向增加了脉冲余数(y1‑y)*pulunity,y方向总脉冲余数变为repulse_y+(y1‑y)*pulunity;

此时重新判断y方向总脉冲余数是否超出范围值,即绝对值大于0.5;

当|repulse_y|>0.5,且repulse_y>0,则令repulse_y‑1,同时y轴发送一个脉冲;同时总脉冲数减一;

当|repulse_y|>0.5,且repulse_y≤0,则令repulse_y+1,同时y轴发送一个脉冲;同时总脉冲数减一;

(B)若|numx|<=|numy|,则y方向发送一个脉冲;同时总脉冲数减一;

numx|<=|numy|确定理论插补点U并发送脉冲的过程中,x轴和y轴的处理过程与|numx|>|numy|情况中的y轴和x轴的处理方式相同。

9.根据权利要求8所述的数控系统中基于切线矢量的阿基米德螺线实时插补方法,其特征在于,S5中判断完成本段阿基米德螺线插补的过程如下:在进行阿基米德螺线插补的过程中,从第二次插补开始,将当前点坐标位置与终点坐标位置进行比较;如果当前点坐标位置与终点坐标位置之间的误差小于0.5个脉冲数,则判断为本段阿基米德螺线插补结束。

10.一种数控系统中基于切线矢量的阿基米德螺线实时插补设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至9之一所述的数控系统中基于切线矢量的阿基米德螺线实时插补方法。