CN114675600A - 一种基于圆弧切线矢量的圆弧插补方法 - Google Patents

一种基于圆弧切线矢量的圆弧插补方法 Download PDF

Info

Publication number
CN114675600A
CN114675600A CN202111208582.9A CN202111208582A CN114675600A CN 114675600 A CN114675600 A CN 114675600A CN 202111208582 A CN202111208582 A CN 202111208582A CN 114675600 A CN114675600 A CN 114675600A
Authority
CN
China
Prior art keywords
pulse
axis
interpolation
coordinate
circular arc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111208582.9A
Other languages
English (en)
Inventor
刘清建
张�杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Yuanjie Automation Technology Co ltd
Original Assignee
Jiangsu Yuanjie Automation Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Yuanjie Automation Technology Co ltd filed Critical Jiangsu Yuanjie Automation Technology Co ltd
Priority to CN202111208582.9A priority Critical patent/CN114675600A/zh
Publication of CN114675600A publication Critical patent/CN114675600A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34083Interpolation general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

本发明公开了一种基于圆弧切线矢量的圆弧插补方法,包括如下步骤:输入新一段插补圆弧信息;比较输入的x、y方向的脉冲余量,判断哪个坐标轴的脉冲余量绝对值大于等于0.5,进行脉冲处理;求解此刻的圆弧点的切线矢量,并归一化处理;将归一化处理后的数据分别与各自坐标轴的脉冲当量相乘,判断哪个坐标轴此刻为最长轴,决定发送脉冲;根据当前点坐标、下一点的一个轴坐标和圆心坐标,求解另一轴的坐标值,并反转为为脉冲值;根据终点判别方法决定是否完成圆弧插补。本发明利用直线插补时分解到各轴的比例值,而后进行等比例的脉冲处理来进行圆弧插补,方法流程清晰简单,可以精确地计算出复杂曲线的插补点且易于实现,满足工程实际需求。

Description

一种基于圆弧切线矢量的圆弧插补方法
技术领域
本发明涉及数控机床和工业机器人领域,具体涉及一种基于圆弧切线矢量的圆弧插补方法。
背景技术
在工业机器人和数控机床实际操作过程中,常常需要以圆弧曲线轨迹进行拾放物体和加工零部件。通常机器人和机床在进行圆弧轨迹插补时,首先确定其轨迹长度,然后根据设置的柔性加减速规划,将连续的圆弧曲线轨迹离散为一系列的插补点,在每一个脉冲指令下执行插补点的运动,直到达到总的执行时间就终止圆弧曲线的插补。那么圆弧曲线插补的核心问题就是提高其插补精度,提高插补精度就是建立圆弧曲线弧长以及插补点计算的精确数学模型,由于圆弧曲线弧长属于第二类圆弧积分,使得其没有解析解。
圆弧插补主要内容之一是插补计算,即生成插补点,从而将连续的圆弧轨迹分解成离散的点,然后再将离散的点送入数控系统的位置控制模块即可控制机床生成运动轨迹。二是进行终点判别,以便插补到达圆弧终点时及时准确的结束插补,避免欠插补和过插补现象的发生。
当前的圆弧的实时插补算法一般采用的方法为:方法一逐点比较法,方法二数字积分法。此二类方法基于直线延伸到对于圆弧的插补进行了具体的算法实现,同时基于此的最小二乘法、Bresenham算法等等改进型算法。它们的中心思想也都是尽量的是满足与圆心的距离尽可能的接近圆弧半径值。但它是需要进行整体象限处理,即过象限处理,这样的处理就需要分为4个象限,有的方法甚至于需要分为8个象限处理,这样对于算法而言需要考虑的情况较多,存在着算法复杂、效率低、插补点坐标精度不高等问题。
发明内容
为解决上述技术问题,本发明提供一种基于圆弧切线矢量的圆弧插补方法,利用直线插补时分解到各轴的比例值,而后进行等比例的脉冲处理的思想来进行圆弧插补,以解决上述背景技术中提及的问题。
一种基于圆弧切线矢量的圆弧插补方法,其特征在于,包括如下步骤:
步骤一:输入新一段插补圆弧信息,所述圆弧信息包括圆心、初始点、终点、圆弧半径、旋转方向;
步骤二:比较输入的x、y方向的脉冲余量,判断哪个坐标轴的脉冲余量绝对值大于等于0.5,进行脉冲处理;
步骤三:求解此刻的圆弧点的切线矢量,并归一化处理;
步骤四:将归一化处理后的数据分别与各自坐标轴的脉冲当量相乘,判断哪个坐标轴此刻为最长轴,决定发送脉冲;
步骤五:根据当前点坐标、下一点的一个轴坐标和圆心坐标,求解另一轴的坐标值,并反转为为脉冲值;
步骤六:重复步骤三到步骤五,并根据终点判别方法决定是否完成圆弧插补。
作为本发明进一步的方案,所述步骤一具体为:设圆弧所在的平面为XY两轴构成,设圆弧的圆心为o(X0,Y0),半径长为r,当前的插补坐标为a(X,Y),下一个脉冲的插补坐标为b(X1,Y1),终点坐标为c(X’,Y’)。
作为本发明进一步的方案,所述步骤二具体为:设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轴发送一个脉冲。
作为本发明进一步的方案,所述步骤三具体为:若是没有一个方向上的余数的绝对值超过0.5,则直接进入下面的计算:首先计算切向矢量:z轴的矢量与圆上的点到圆心点的矢量叉乘所得,圆上的点到圆心点的矢量,即为a(X,Y,0);切向矢量 vector(m,n,k);
至于z轴的矢量,若切线沿逆时针旋转,则设为z(0.0,0.0,1.0);
Figure BDA0003307907010000021
若切线沿顺时针旋转,则设为z(0.0,0.0,-1.0);
Figure BDA0003307907010000022
然后将切向矢量单位化:
Figure BDA0003307907010000023
切线逆时针:
Figure BDA0003307907010000031
切线顺时针:
Figure BDA0003307907010000032
作为本发明进一步的方案,所述步骤四具体为:判断哪个轴为长轴,哪个方向发送一个脉冲,设脉冲当量分别为pulunitx和pulunity,设numx,numy分别为切线矢量分别与各自轴的脉冲当量的乘积数值;
numx=m*pulunitx;
numy=n*pulunity;
如果|numx|>|numy|,则x方向发送一个脉冲,不然则y方向发送一个脉冲。
作为本发明进一步的方案,所述步骤五具体为:(1)如果x方向发送脉冲,若 numx>0,则求下一个插补坐标b(X1,Y1);
X1=X+1/pulunitx;
若numx<0,则X1=X-1/pulunitx;
利用内插法求Y1
Figure BDA0003307907010000033
Figure BDA0003307907010000034
否则,
Figure BDA0003307907010000035
此时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轴发送一个脉冲;
(2)如果y方向发送脉冲,若numy>0,则求下一个插补坐标b(X1,Y1);
Y1=Y+1/pulunity;
若numy<0,则Y1=Y-1/pulunity;
利用内插法求X1
Figure BDA0003307907010000036
Figure BDA0003307907010000041
否则
Figure BDA0003307907010000042
此时x方向增加了脉冲余数(X1--X)pulunitx,x方向总脉冲余数变为 repulse_x+(X1--X)pulunitx;
此时重新判断x方向总脉冲余数是否超出范围值,即绝对值大于0.5;
当|repulse_x>0.5|,且repulse_x>0,则令repulse_x-1,同时x轴发送一个脉冲;
当|repulse_x>0.5|,且repulse_x<0,则令repulse_x+1,同时x轴发送一个脉冲。
作为本发明进一步的方案,所述步骤六具体为:重复步骤三到步骤五,直到判断完成本段圆弧插补,所述终点判断依据为:当前点坐标是否为终点坐标,其中为了防止整圆现象,加一个标志量,若是当前第一次进入插补,则不需要比较终点坐标,而是第二次开始才开始进行终点位置比较判断,终点之间的误差若是小于0.5个脉冲数,则判断为本段圆弧插补结束。
本发明的技术效果和优点:本发明采用的基于圆弧切线矢量的圆弧插补方法,利用直线插补时分解到各轴的比例值,而后进行等比例的脉冲处理来进行圆弧插补,适用于任意起终点、任意空间平面的圆弧插补,通过区域划分的方法,来划分最长脉冲轴,再根据圆弧经过的区域具体分析,而后每个区域的最长轴的脉冲数相加得到我们需要对于椭圆对应圆心的圆弧分隔的段数,无需进行插补象限的判断,同时每一个点的处理方式都是采用的脉冲余数和矢量分解比较判断决定哪个轴发送脉冲,且矢量的方向自身含有了发送脉冲的正负,而不像之前所处理的需要自己特定标注正负方向。方法流程清晰简单,可以精确地计算出复杂曲线的插补点且易于实现,满足工程实际需求。
附图说明
图1为本发明中一个5X5的方格的示意图;
图2为本发明方法第一次插补示意图;
图3为本发明方法第二次插补示意图;
图4为本发明方法第三次插补示意图;
图5为本发明方法第四次插补示意图;
图6为本发明方法第五次插补示意图;
图7为本发明方法第六次插补示意图;
图8为本发明方法第七次插补示意图;
图9为本发明方法中切线顺时针旋转示意图;
图10为本发明方法中切线逆时针旋转示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。本发明的实施例是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
作为本发明的一个实施例,如图1所示,一个5*5的方格,从A点出发,到B点。脉冲当量为1pulse/mm其计算过程为:
步骤一:
首先,设圆弧所在的平面为XY两轴构成,设圆弧的圆心为o(0,0),半径长为5,当前的插补坐标为a(0,5),下一个脉冲的插补坐标为b(X1,Y1),终点坐标为c(5,0);
步骤二:
设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轴发送一个脉冲;
步骤三:
若是没有一个方向上的余数的绝对值超过0.5,则直接进入下面的计算:首先计算切向矢量:是z轴的矢量与圆上的点到圆心点的矢量叉乘所得。圆上的点到圆心点的矢量,a(0,5,0);切向矢量vector(m,n,k);
至于z轴的矢量,切线沿顺时针旋转,则设为z(0.0,0.0,-1.0);
Figure BDA0003307907010000051
然后将切向矢量单位化:
Figure BDA0003307907010000052
切线顺时针:
Figure BDA0003307907010000053
Vector:(1,0,0);
步骤四:
接下来判断哪个是长轴,谁发送一个脉冲,设脉冲当量分别为pulunitx和pulunity,pulunitx=pulunity=1,设numx,numy分别为切线矢量分别与各自轴的脉冲当量的乘积数值;
numx=m*pulunitx=1;
numy=n*pulunity=0;
|numx|>|numy|,x方向发送一个脉冲;
步骤五:
1、如果x方向发送脉冲,若numx>0,则求下一个插补坐标b(X1,Y1)
X1=X+1/pulunitx;
若numx<0,则
X1=X-1/pulunitx;
因为numx>0,则
X1=1;
利用内插法求Y1
Figure BDA0003307907010000061
Figure BDA0003307907010000062
否则
Figure BDA0003307907010000063
Figure BDA0003307907010000064
Y1=4.8989;
即下一点的脉冲坐标为(1,4.8989);
此时y方向增加了脉冲余数(Y1--Y)pulunity,y方向总脉冲余数变为 repulse_y+(Y1--Y)pulunity;repulse_y+(Y1--Y)pulunity=-0.1010;
此时重新判断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轴发送一个脉冲;
|-0.1010|<0.5;
则不发送脉冲,具体如图2所示。
第一次插补结束,返回步骤三,圆上的点到圆心点的矢量,a(1,4.8989,0);切向矢量vector(m,n,k);
至于z轴的矢量,切线沿顺时针旋转,则设为z(0.0,0.0,-1.0);
Figure BDA0003307907010000071
然后将切向矢量单位化:
Figure BDA0003307907010000072
切线顺时针:
Figure BDA0003307907010000073
Vector:(0.97978,-0.2,0)
步骤四判断得到X方向为最长轴,X正方向发送一个脉冲;
步骤五numx>0,X1=X+1/pulunitx=2;
利用内插法求得Y1=4.5826,即下一点的脉冲坐标为(2,4.5826),此时y方向增加了脉冲余数(Y1--Y)pulunity=-0.3163,Y方向总脉冲余数变为repulse_y=-0.1010+(-0.3163)=-0.4174;因为|-0.4174|<0.5,则不发送脉冲,具体如图3所示。
第二次插补结束,返回步骤三,圆上的点到圆心点的矢量,a(1,4.8989,0);切向矢量vector(m,n,k);
至于z轴的矢量,切线沿顺时针旋转,则设为z(0.0,0.0,-1.0);
Figure BDA0003307907010000074
然后将切向矢量单位化:
Figure BDA0003307907010000075
切线顺时针:
Figure BDA0003307907010000076
Vector:(0.91652,-0.4,0);
步骤四判断得到X方向为最长轴,X正方向发送一个脉冲。
步骤五numx>0,X1=X+1/pulunitx=3,利用内插法求得Y1=4,即下一点的脉冲坐标为 (3,4),此时y方向增加了脉冲余数(Y1--Y)pulunity=-0.5826,Y方向总脉冲余数变为repulse_y=-0.4174+(-0.5826)=-1.0,因为|-1|>0.5-1<0,此时重新判断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轴发送一个脉冲;
Y方向总脉冲余数变为repulse_y=0,y轴发送一个脉冲。
第四次插补过程如下表,结果如图4所示。
Figure 2
Figure 3
第五次插补,圆上的点到圆心点的矢量a(4,3);切向矢量vector(m,n,k);
至于z轴量,切线沿顺时针旋转,则设为z(0.0,0.0,-1.0);
Figure BDA0003307907010000092
然后将切向矢量单位化:
Figure BDA0003307907010000093
切线顺时针:
Figure BDA0003307907010000094
Vector:(0.6,-0.8,0);
步骤四,如果|numx|<|numy|,判断得到Y方向为最长轴,Y负方向发送一个脉冲;
步骤五,如果y方向发送脉冲,若numy>0,则求下一个插补坐标b(X1,Y1);
Y1=Y+1/pulunity;
若numy<0,则
Y1=Y-1/pulunity;
numy<0,Y1=Y-1/pulunity=2;
利用内插法求X1
Figure BDA0003307907010000095
Figure BDA0003307907010000101
否则
Figure BDA0003307907010000102
Figure BDA0003307907010000103
X1=4.5826;
即下一点的脉冲坐标为(2,4.5826);
此时x方向增加了脉冲余数(X1--X)pulunitx,x方向总脉冲余数变为repulse_x+(X1--X)pulunitx;(X1--X)pulunitx=0.5826;repulse_x+(X1--X) pulunitx=0.5826;因为|0.5826|>0.5,此时重新判断x方向总脉冲余数是否超出范围值,即绝对值大于0.5;
当|repulse_x>0.5|,且repulse_x>0,则令repulse_x-1,同时x轴发送一个脉冲;
当|repulse_x>0.5|,且repulse_x<0,则令repulse_x+1,同时x轴发送一个脉冲;
X方向总脉冲余数变为repulse_y=-0.4174,x轴发送一个脉冲。
第六七次插补过程省略,结果如下表所示。
Figure BDA0003307907010000104
Figure 1

Claims (7)

1.一种基于圆弧切线矢量的圆弧插补方法,其特征在于,包括如下步骤:
步骤一:输入新一段插补圆弧信息,所述圆弧信息包括圆心、初始点、终点、圆弧半径、旋转方向;
步骤二:比较输入的x、y方向的脉冲余量,判断哪个坐标轴的脉冲余量绝对值大于等于0.5,进行脉冲处理;
步骤三:求解此刻的圆弧点的切线矢量,并归一化处理;
步骤四:将归一化处理后的数据分别与各自坐标轴的脉冲当量相乘,判断哪个坐标轴此刻为最长轴,决定发送脉冲;
步骤五:根据当前点坐标、下一点的一个轴坐标和圆心坐标,求解另一轴的坐标值,并反转为为脉冲值;
步骤六:重复步骤三到步骤五,并根据终点判别方法决定是否完成圆弧插补。
2.根据权利要求1所述的基于圆弧切线矢量的圆弧插补方法,其特征在于,所述步骤一具体为:设圆弧所在的平面为XY两轴构成,设圆弧的圆心为o(X0,Y0),半径长为r,当前的插补坐标为a(X,Y),下一个脉冲的插补坐标为b(X1,Y1),终点坐标为c(X’,Y’)。
3.根据权利要求2所述的基于圆弧切线矢量的圆弧插补方法,其特征在于,所述步骤二具体为:设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轴发送一个脉冲。
4.根据权利要求3所述的基于圆弧切线矢量的圆弧插补方法,其特征在于,所述步骤三具体为:若是没有一个方向上的余数的绝对值超过0.5,则直接进入下面的计算:首先计算切向矢量:z轴的矢量与圆上的点到圆心点的矢量叉乘所得,圆上的点到圆心点的矢量,即为a(X,Y,0);切向矢量vector(m,n,k);
至于z轴的矢量,若切线沿逆时针旋转,则设为z(0.0,0.0,1.0);
Figure FDA0003307906000000011
若切线沿顺时针旋转,则设为z(0.0,0.0,-1.0);
Figure FDA0003307906000000021
然后将切向矢量单位化:
Figure FDA0003307906000000022
切线逆时针:Vector:
Figure FDA0003307906000000023
切线顺时针:Vector:
Figure FDA0003307906000000024
5.根据权利要求4所述的基于圆弧切线矢量的圆弧插补方法,其特征在于,所述步骤四具体为:判断哪个轴为长轴,哪个方向发送一个脉冲,设脉冲当量分别为pulunitx和pulunity,设numx,numy分别为切线矢量分别与各自轴的脉冲当量的乘积数值;
numx=m*pulunitx;
numy=n*pulunity;
如果|numx|>|numy|,则x方向发送一个脉冲,不然则y方向发送一个脉冲。
6.根据权利要求5所述的基于圆弧切线矢量的圆弧插补方法,其特征在于,所述步骤五具体为:(1)如果x方向发送脉冲,若numx>0,则求下一个插补坐标b(X1,Y1);
X1=X+1/pulunitx;
若numx<0,则X1=X-1/pulunitx;
利用内插法求Y1
Figure FDA0003307906000000025
Figure FDA0003307906000000026
否则,
Figure FDA0003307906000000027
此时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轴发送一个脉冲;
(2)如果y方向发送脉冲,若numy>0,则求下一个插补坐标b(X1,Y1);
Y1=Y+1/pulunity;
若numy<0,则Y1=Y-1/pulunity;
利用内插法求X1
Figure FDA0003307906000000031
Figure FDA0003307906000000032
否则
Figure FDA0003307906000000033
此时x方向增加了脉冲余数(X1--X)pulunitx,x方向总脉冲余数变为repulse_x+(X1--X)pulunitx;
此时重新判断x方向总脉冲余数是否超出范围值,即绝对值大于0.5;
当|repulse_x>0.5|,且repulse_x>0,则令repulse_x-1,同时x轴发送一个脉冲;
当|repulse_x>0.5|,且repulse_x<0,则令repulse_x+1,同时x轴发送一个脉冲。
7.根据权利要求6所述的基于圆弧切线矢量的圆弧插补方法,其特征在于,所述步骤六具体为:重复步骤三到步骤五,直到判断完成本段圆弧插补,所述终点判断依据为:当前点坐标是否为终点坐标,其中为了防止整圆现象,加一个标志量,若是当前第一次进入插补,则不需要比较终点坐标,而是第二次开始才开始进行终点位置比较判断,终点之间的误差若是小于0.5个脉冲数,则判断为本段圆弧插补结束。
CN202111208582.9A 2021-10-18 2021-10-18 一种基于圆弧切线矢量的圆弧插补方法 Pending CN114675600A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111208582.9A CN114675600A (zh) 2021-10-18 2021-10-18 一种基于圆弧切线矢量的圆弧插补方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111208582.9A CN114675600A (zh) 2021-10-18 2021-10-18 一种基于圆弧切线矢量的圆弧插补方法

Publications (1)

Publication Number Publication Date
CN114675600A true CN114675600A (zh) 2022-06-28

Family

ID=82070792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111208582.9A Pending CN114675600A (zh) 2021-10-18 2021-10-18 一种基于圆弧切线矢量的圆弧插补方法

Country Status (1)

Country Link
CN (1) CN114675600A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116048004A (zh) * 2022-12-14 2023-05-02 天津理工大学 数控系统中基于切线矢量的阿基米德螺线实时插补方法及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116048004A (zh) * 2022-12-14 2023-05-02 天津理工大学 数控系统中基于切线矢量的阿基米德螺线实时插补方法及设备
CN116048004B (zh) * 2022-12-14 2024-04-19 天津理工大学 数控系统中基于切线矢量的阿基米德螺线实时插补方法及设备

Similar Documents

Publication Publication Date Title
JPS6336524B2 (zh)
CN105619411B (zh) 一种六轴工业机器人码垛方法
CN109732589B (zh) 一种基于线激光传感器的机器人作业轨迹获取方法
US9244456B2 (en) Tool path generation method and apparatus
CN110561428B (zh) 机器人基坐标系位姿的确定方法、装置、设备及可读介质
CN113687629B (zh) 激光cam加工的圆弧直线拟合方法、系统、设备及存储介质
JP3070329B2 (ja) 産業用ロボットシステム
CN108549319B (zh) 一种双转台五轴数控机床通用后处理方法
CN108081616A (zh) 一种适用于3d打印控制系统的轨迹算法
CN114675600A (zh) 一种基于圆弧切线矢量的圆弧插补方法
JP2019070953A (ja) 加工プログラム処理装置およびこれを備えた多軸加工機
JP4431880B2 (ja) 多軸数値制御装置用のncポストプロセッサ装置
CN105717874B (zh) 一种五轴数控加工奇异区域刀位点优化方法
CN108829032B (zh) 一种高精度控制的插补方法
JP2006227701A (ja) 円弧加工指令作成装置及びその方法並びにプログラム
CN109773581B (zh) 一种机器人应用于再现机加工的方法
TWI541623B (zh) 五軸加工數值控制系統及其數值控制方法
CN111176214B (zh) 一种刀具轨迹生成方法、装置和铣削机器人
CN113917887A (zh) 一种基于三角网格模型的机床加工轨迹生成方法
JPH0683422A (ja) 数値制御方法
JP6000496B1 (ja) 数値制御装置
CN113946139A (zh) 数控系统的速度预测、数控系统的控制方法及数控系统
JP3507032B2 (ja) ロボットの機差導出方法
JPH0981221A (ja) Ncデータ作成装置及びその補正データ作成方法
CN111801630A (zh) 变位机轴坐标系标定方法、机器人系统及存储装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20220628