CN102880119B - 单位弧长增量插补法 - Google Patents

单位弧长增量插补法 Download PDF

Info

Publication number
CN102880119B
CN102880119B CN201210328234.XA CN201210328234A CN102880119B CN 102880119 B CN102880119 B CN 102880119B CN 201210328234 A CN201210328234 A CN 201210328234A CN 102880119 B CN102880119 B CN 102880119B
Authority
CN
China
Prior art keywords
totalizer
interpolation
arc length
curve
rank
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.)
Active
Application number
CN201210328234.XA
Other languages
English (en)
Other versions
CN102880119A (zh
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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201210328234.XA priority Critical patent/CN102880119B/zh
Publication of CN102880119A publication Critical patent/CN102880119A/zh
Application granted granted Critical
Publication of CN102880119B publication Critical patent/CN102880119B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)
  • Image Generation (AREA)

Abstract

本发明公开了一种单位弧长增量插补法,用于数控机床中对空间曲线进行插补。本发明的单位弧长增量插补法以弧长为自变量,在每个插补计算周期内的弧长增量均为一个单位长度,通过计算该增量在各个坐标轴上的投影,在各个坐标轴上分别对增量投影并使用四舍五入法来确定该轴是否应进给。本发明兼具脉冲增量插补法和数据采样插补法的优点,使得曲线插补既能拥有脉冲增量插补法精度高、计算简单的优点,又能使线速度和角速度保持均匀,可以对两个或两个以上的曲线运动进行同步插补,还可以实现多个以角度及位移为自变量的多轴联动复杂空间曲线插补。

Description

单位弧长增量插补法
技术领域
本发明涉及数控系统领域,尤其涉及一种用于运动控制的增量插补方法。 
背景技术
在数控机床中,为了使刀具能够沿着加工代码指定的轨迹运动,加工出符合精度要求的工件轮廓,需要对机床各个轴的运动进行精确、快速的控制。插补的目的在于协调各个轴的运动顺序和位置,使所有轴的运动合成严格满足所期望的运动轨迹,是数控系统中的重要组成部分。 
目前国内外厂家生产的数控系统中采用的插补方法主要可分为两类: 
(1)、脉冲增量插补法。它通过插补器来计算每一步的位置偏差并发送进给脉冲至各个轴的驱动器。其特点是:精度高(插补误差在一个脉冲当量以内);插补过程中的计算简单(只需要进行整数的加减法),易于通过价格低廉的硬件实现;插补速度有限,不适合高速加工;只能插补直线和圆弧两种线型;插补圆弧时线速度和角速度不够稳定(每进给一步对应的圆弧弧长增量不一致),难以对线速度或角速度要求一致或成固定比例的两个运动(如齿轮啮合运动)进行同步插补。这类插补法的典型代表有逐点比较法、数字积分法、最小偏差法。 
(2)、数据采样插补法。它根据时间间隔和精度要求,在加工路径段上采集一系列的点,将这些点依次连结形成一系列小直线段,小直线段矢量的各分量值作为增量的形式向各个轴输出。其特点是:可插补的线型种类比脉冲增量插补法的多,可以插补由方程式表达的各种曲线;采样时需要进行浮点数运算;线速度和角速度可由指令给定,因而可以保持在较为均匀的状态;插补速度快,加工路径段为直线时无理论误差,而加工路径段为曲线时则通过牺牲一定的轮廓精度来提高插补速度;当采样点较多、较密时,相当于插补大量的小直线段,不利于速度规划。这类插补法的典型代表有时间分割法和扩展数字积分法。 
刘希汉在专利号为89100725.3、名称为《复合逐点比较插补法及其系统软件》的专利中介绍了一种改进的逐点比较插补法,采用沿(圆弧)弧线运动的弧切线长取代弧长,每插补一步,对弧长进行累加计算。该方法既可以插补直线、圆弧,也可以插补这两种运动合成的曲线(如阿基米德螺旋线、摆线等),但由于每步插补的弧长增量不一致,导致插补线速度不均匀,且对合成线型的各个单元进行同步插 补的计算较为繁琐。 
因此,本领域的技术人员致力于开发一种单位弧长增量插补法,以期同时获得脉冲增量插补法和数据采样插补法的优点,使得曲线插补既拥有脉冲增量插补法精度高、计算简单的特点,又拥有数字采样法线速度和角速度保持均匀的特点,具有对两个或两个以上的曲线运动进行同步插补,还可以实现多个以角度及位移为自变量的多轴联动复杂空间曲线的插补能力。 
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种单位弧长增量插补法,即以弧长为自变量,每个插补计算周期弧长增量均为一个单位长度,并计算弧长增量在各个坐标轴上的投影,在各个坐标轴上分别对弧长增量投影使用四舍五入法来确定该轴是否应进给。 
为实现上述目的,本发明提供了一种单位弧长增量插补法,其特征在于,包括步骤: 
步骤一、参数初始化,包括: 
建立曲线以其弧长s为自变量的表达式: r R ( s ) = x R , 1 ( s ) x R , 2 ( s ) · · · x R , n ( s ) 以获得所述曲线在所述弧长)处的参考点的坐标,其中,所述弧长(s)是从所述曲线的起点坐标开始的曲线长度,0≤s≤L,L为所述曲线的总长度;n为所述曲线的坐标轴的个数,n≥1; 
设置对于各坐标轴的多阶累加器的初始值、多阶当量和多阶阈值; 
步骤二、将所述参考点沿着所述曲线前进的方向移动一个单位弧长Δs,分别对于各坐标轴对所述多阶累加器进行逐阶计算; 
步骤三、对于各坐标轴,根据步骤二的计算结果更新所述参考点的插补点的值,并输出所述多阶累加器中的零阶累加器经过步骤二后的变化量作为进给脉冲; 
步骤四、s+=Δs,若s≥L,则插补结束;否则转至步骤二。 
进一步地,所述步骤一中的所述多阶累加器的初始值设置为:对于第i个坐标轴的所述零阶累加器的初始值Si,0(0)=xR,i(0),j阶累加器的初始值Si,j(0)=0,其中,i=1,2,…,n,j=1,2,…,m,m为所述多阶累加器的最大阶数,m≥1。 
进一步地,通过对所述曲线在所述参考点处进行泰勒展开,得到所述参考点的 逼近点的坐标 r A ( s ) = x A , 1 ( s ) x A , 2 ( s ) · · · x A , n ( s ) , 并得到所述参考点沿着所述曲线前进的方向移动一个单位弧长(Δs)后,所述逼进点的增量
进一步地,所述步骤一中的所述多阶当量和所述多阶阈值设置为:对于第i个坐标轴的j阶当量及j阶阈值Qi,j满足关系式: 所述多阶当量和所述多阶阈值的最大阶值皆为m。 
进一步地,所述步骤二中对于各坐标轴对所述多阶累加器进行的逐阶计算包括:对第i个坐标轴,i=1,2,…,n,依j=m,m-1,…,2,1的次序,将所述j阶当量加入所述j阶累加器Si,j(s),若有|Si,j(s+Δs)|≥Qi,j,则对j-1阶累加器Si,j-1(s)及j阶累加器Si,j(s+Δs)做修正。 
进一步地,对所述j-1阶累加器Si,j-1(s)的所述修正为:Si,j-1(s)+=sgn[Si,j(s+Δs)];对所述j阶累加器Si,j(s+Δs)的所述修正为Si,j(s+Δs)-=sgn[Si,j(s+Δs)]·2Qi,j。 
下面以平面圆弧为例说明建立本发明的单位弧长增量插补法的理论基础,并推导到任意空间曲线的情况。 
对于X-Y平面内的圆弧,以其弧长s为参数为自变量的表达式为: 
r R ( s ) = X ( s ) Y ( s ) = R cos ( ks R + θ 0 ) R sin ( ks R + θ 0 )
其中,圆弧半径为R,圆弧的起点为(XR(0),YR(0))T,其与圆心的连线与X轴正方向的夹角为0,终点为(XR(L),YR(L))T;圆弧总弧长为L,弧长s是从圆弧的起点坐标开始的曲线长度,0≤s≤L;圆弧的坐标轴的个数n=2,分别为X轴和Y轴;圆弧在弧长s处对应的点为(XR(s),YR(s))T(该点称为圆弧在当前插补位置的参考点);方向参数k=1时表示沿逆时针方向插补圆弧、k=-1时表示沿顺时针方向插补圆弧。这里为了便于说明和计算,设圆弧的圆心位于坐标系原点(0,0)T。对于圆心不在原点的情况,可以使用坐标变换将圆心变换到原点后再插补。 
对圆弧的插补的基本步骤如下: 
(1)、圆弧上的参考点(XR(s),YR(s))T沿逆时针方向前进一个增量Δs时,则其相应的X轴坐标增量为: 
ΔX R ( s ) = X R ( s + Δs ) - X R ( s )
= dX R ( s ) ds Δs + 1 2 ! d 2 X R ( s ) ds 2 Δs 2 + · · ·
= - k R · R sin ( ks R + θ 0 ) Δs - k 2 2 R 2 · R cos ( ks R + θ 0 ) Δs 2 + · · ·
≈ - k R · R sin ( ks R + θ 0 ) Δs - 1 2 R 2 · R cos ( ks R + θ 0 ) Δs 2
= - k Y R ( s ) R Δs - X R ( s ) 2 R 2 Δs 2
为了便于计算,在下面的平面圆弧插补算法推导过程中,所有长度量均以Δs为单位进行表示,1Δs=1BLU(脉冲当量)。例如“5Δs”就以“5”来表示。将基本参数从以mm为单位的量值Nmm到以Δs个数为单位的量值NBLU的单位转换可采用下式: 
N BLU ( BLU ) = N mm ( mm ) Δs ( mm )
由此得到: ΔX R ( s ) ≈ - kY R ( s ) R - X R ( s ) 2 R 2 ; 同理可得Y轴坐标增量为: 
Δ Y R ( s ) ≈ kX R ( s ) R - Y R ( s ) 2 R 2
对ΔXR(s)和ΔYR(s)表达式的推导过程中对三角函数利用泰勒公式展开,并最高保留至二阶项。对于一整个圆的插补,注意到对任意非负整数j都有|YR(s)|≤R和|XR(s)|≤R,因此由忽略泰勒公式展开式高阶项引起的总逼近误差为: 
当R>20时,εappr<0.08。由于R值一般都远大于20个单位长度,因此三阶项的累加和远远小于1,忽略三阶及三阶以上的高阶项是合理的。 
由于坐标增量的计算是近似计算,所以参数s是近似弧长参数。通过一系列的递推得到圆弧的一系列逼近点,设(XA(s),YA(s))T为圆弧上的参考点(XR(s),TR(s))T的逼近点,则参考点(XR(s+1),YR(s+1))T的逼近点(XA(s+1),YA(s+1))T可由下两式进行递推: 
X A ( s + 1 ) = X A ( s ) + &Delta;X R ( s ) = X A ( s ) - kY R ( s ) R - X R ( s ) 2 R 2
Y A ( s + 1 ) = Y A ( s ) + &Delta;Y R ( s ) = Y A ( s ) - kX R ( s ) R - Y R ( s ) 2 R 2
因为无法在不采用浮点数运算的情况下得到(XR(s),YR(s))T的精确值,故用插补点(XI(s),YI(s))T来近似代替(XR(s),YR(s))T,由此可得: 
X A ( s + 1 ) = X A ( s ) - kY I ( s ) R - X I ( s ) 2 R 2 = X A ( s ) + 1 R ( - kY I ( s ) + 1 2 R ( - X I ( s ) ) ) - - - ( 1 )
Y A ( s + 1 ) = Y A ( s ) + kX I ( s ) R - Y I ( s ) 2 R 2 = Y A ( s ) + 1 R ( kX I ( s ) + 1 2 R ( - Y I ( s ) ) ) - - - ( 2 )
利用式(1)和式(2)进行递推需要进行除法运算。为了避免除法,将递推过程分为以下两步进行: 
①针对二阶项 &Delta;X A , 2 ( s ) = - X I ( s ) 2 R 2 , &Delta;Y A , 2 ( s ) = - Y I ( s ) 2 R 2 , 引入二阶当量  &Delta; X ~ A , 2 ( s ) = - X I ( s ) , &Delta; Y ~ A , 2 ( s ) = - Y I ( s ) , 以及二阶累加器SX,2(s)、SY,2(s),以及累加器阈值分别为QX,2=QY,2=R,累加器的初始值均为0。每递推一步,有: 
S X , 2 ( s + 1 ) = S X , 2 ( s ) + &Delta; X ~ A , 2 ( s ) = S X , 2 ( s ) - X I ( s )
S Y , 2 ( s + 1 ) = S Y , 2 ( s ) + &Delta; Y ~ A , 2 ( s ) = S Y , 2 ( s ) - Y I ( s ) - - - ( 4 )
结合式(1)、式(2)、式(3)、式(4)可见:若有SX,2(s+1)>QX,2=R,则表明 这时一阶累加器的值应做出修正SX,1(s)+=1,同时二阶累加器也要相应地修正SX,2(s+1)-=2QX,2。其中符号“-=”(或“+=”)表示将左侧操作数减去(或加上)右侧操作数后所得的结果赋给左侧操作数。对于其它情况,修正的方法与此类似。 
②针对一阶项 &Delta;X A , 1 ( s ) = - kY I ( s ) R , &Delta;Y A , 1 ( s ) = kX I ( s ) R , 引入一阶当量  以及一阶累加器SX,1(s)、SY,1(s),以及累加器阈值累加器的初始值均为0。每递推一步,有: 
S X , 1 ( s + 1 ) = S X , 1 ( s ) + &Delta; X ~ A , 1 ( s ) = S X , 1 ( s ) - kY I ( s ) - - - ( 5 )
S Y , 1 ( s + 1 ) = S Y , 1 ( s ) + &Delta; Y ~ A , 1 ( s ) = S Y , 1 ( s ) + kX I ( s ) - - - ( 6 )
结合式(1)、式(2)、式(5)、式(6)可见:若有则表明  | X A ( s + 1 ) - X I ( s ) | > 1 2 , | X A ( s + 1 ) - X I ( s ) | < 1 2 , 按照四舍五入法的思想,应在X轴上由XI(s)向着XA(s+1)方向进给一个单位长度距离,即: 
XI(s+1)=XI(s)+1 
并再对一阶累加器做相应的修正SX,1(s+1)-=2QX,1。其它情况下各轴进给、累加器修正的方法与此类似。 
令零阶累加器SX,0(s)≡XI(s),可将该步骤归结为:根据二阶累加器的溢出情况修正一阶累加器和二阶累加器,再根据一阶累加器的溢出情况修正零阶累加器和一阶累加器。 
(2)、累计弧长增加Δs,即令s+=Δs。若此时累计弧长大于或等于圆弧总弧长L,则说明插补到达圆弧终点,插补结束;否则将转至步骤(1),继续插补过程的循环。 
下面将上述方法推广到空间中的曲线,曲线长度为L,曲线以其弧长s为参数的表达式如下: 
r R ( s ) = x R , 1 ( s ) x R , 2 ( s ) &CenterDot; &CenterDot; &CenterDot; x R , n ( s ) .
其中,曲线的起点坐标为rR(0)=(xR,1(0),xR,2(0),…,xR,n(0))T,终点坐标为rR(L)=(xR,1(L),xR,2(L),…,xR,n(L))T,曲线在累计弧长为s处的参考点的坐标为rR(s)=(xR,1(s),xR,2(s),…,xR,n(s))T。 
将增量ΔrR(s)的表达式以泰勒级数展开至m阶: 
&Delta;r R ( s ) = r R ( s + &Delta;s ) - r R ( s )
&ap; dr R ( s ) ds &Delta;s + 1 2 ! d 2 r R ( s ) ds 2 &Delta;s 2 + &CenterDot; &CenterDot; &CenterDot; + 1 m ! d m r R ( s ) ds m &Delta;s m
= &Sigma; j = 1 m 1 j ! d j r R ( s ) ds j &Delta;s j
= &Delta;r A ( s )
其中rA(s)是曲线在弧长为s处的逼近点,rA(0)=rR(0)。根据的特点,设置j阶累加器Sj(s)=(S1,j(s),S2,j(s),…,Sn,j(s))T,并选取各阶当量  &Delta; r ~ A , j ( s ) = ( &Delta; x ~ A , 1 , j ( s ) , &Delta; x ~ A , 2 , j ( s ) , &CenterDot; &CenterDot; &CenterDot; , &Delta; x ~ A , n , j ( s ) ) T 和阈值Qj=(Q1,j,Q2,j,…,Qn,j)T使得它们满足 
1 j ! d j x R , i ( s ) ds j &Delta;s j = 1 2 j &Pi; l = 1 j Q i , l &Delta; x ~ A , i , j ( s ) - - - ( 7 )
从而使得ΔrA(s)的每个元素ΔxA,i(s)可改写成如下形式: 
&Delta;x A , i ( s ) = &Sigma; j = 1 m 1 j ! d j x R , i ( s ) ds j &Delta;s j = 1 2 Q i , 1 ( &Delta; x ~ A , i , 1 ( s ) + 1 2 Q i , 2 ( &Delta; x ~ A , i , 2 ( s ) + 2 2 Q i , 3 ( &Delta; x ~ A , i , 3 ( s ) + &CenterDot; &CenterDot; &CenterDot; ) ) ) - - - ( 8 )
对该曲线的具体插补步骤如下: 
(1)、参数初始化。包括计算曲线弧长L,分别针对坐标轴i=1,2,…,n,设置零阶累加器的初始值Si,0(0)=xR,i(0),以及根据曲线逼近点rA(s)的增量表达式分别针对坐标轴i=1,2,…,n,依j=1,2,…,m的次序,设置各阶累加器的初始值Si,j(0)=0,并根据式(8)选取各阶当量和阈值Qi,j使得它们满足式(7)。若存在某个i∈[1,n]使得ΔxR,i(s)至多展开至ms阶(ms<m),则对于j∈[ms+1,m]取Qi,j=1、使得Si,j(s)不会溢出。 
(2)、各轴逐阶累加器计算。曲线参考点rR(s)沿着曲线前进方向移动一个单位长度Δs,分别对每个坐标值i=1,2,…,n,依j=m,m-1,…,2,1的次序:将当量加入累加器Si,j(s),若有|Si,j(s+Δs)|≥Qi,j,则先对累加器Si,j-1(s)做修正Si,j-1(s)+=sgn[Si,j(s+Δs)]再对累加器Si,j(s+Δs)做修正Si,j(s+Δs)-=sgn[Si,j(s+Δs)]·2Qi,j。其中符号“-=”(或“+=”)表示将左侧操作数减去(或加上)右侧操作数后所得的结果赋给左侧操作数。这一流程可用伪代码表述如下: 
其中 
sgn ( x ) = 1 x > 0 0 x = 0 - 1 x < 0
(3)、各轴进给。注意到第i个坐标值的零阶累加器Si,0(s)对应的就是坐标轴i的插补点坐标xI,i(s)。因此令xI,i(s+Δs)=Si,0(s+Δs),i=1,2,…,n,即可得到新的插补点位置。输出各轴零阶累加器在本插补周期内的变化量Si,0(s+Δs)-Si,0(s)作为进给脉冲。 
(4)、终点判别。累计弧长增加一个单位长度Δs,即令s+=Δs。若此时累计弧长大于或等于曲线总弧长L,则说明插补到达曲线终点,插补结束;否则转至步骤(2),继续插补过程的循环。 
在本发明的第一个较佳实施方式中,使用了本发明的单位弧长增量插补法对一段圆弧进行了插补,圆弧半径R=10(BLU)、起始角为0°、终止角为90°,包括步骤:一、参数初始化,包括计算圆弧的弧长L、初始化弧长参数s=0,初始化累加器Si,j(0)=0,选取当量选取阈值Qi,j;二、将圆弧上的参考点沿着曲线前进的方向移动一个单位弧长Δs,分别对于X、Y坐标轴对多阶累加器进行逐阶计算;三、对于X、Y坐标轴,根据步骤二的计算结果更新参考点的插补点的值,并输出零阶累加器经过步骤二后的变化量作为进给脉冲;s+=Δs,若s≥L,则插补结束,否则转至步骤二。在本发明的第二个较佳实施方式中,使用了本发明的单位弧长增量插补法对一段空间曲线进行了插补,该空间曲线为上下异形面中的一对曲线,其中,上表面的线形为一段圆弧,下表面的线形为一段直线。插补步骤包括:一、参数初始化,包括分别计算该圆弧段和直线段的弧长L、初始化弧长参数s=0, 初始化累加器Si,j(0)=0,选取当量选取阈值Qi,j;二、将曲线上的参考点沿着曲线前进的方向移动一个单位弧长Δs,分别对于各坐标轴对多阶累加器进行逐阶计算;三、对于各坐标轴,根据步骤二的计算结果更新参考点的插补点的值,并输出零阶累加器经过步骤二后的变化量作为进给脉冲;s+=Δs,若s≥L,则插补结束,否则转至步骤二。 
本发明的单位弧长增量插补法相对于诸如逐点比较法、最小偏差法及数据采样法等的常用插补法,在线速度变化、精度、计算量三项指标上皆具有较佳表现。如表1所示,在线速度变化方面,本发明的单位弧长增量插补法由于弧长增量在每个插补周期内是固定的,因而线速度最均匀、无变化;在精度方面,本发明的插补法与逐点比较法精度相当(最大误差都小于一个单位长度),比最小偏差法的精度(最大误差小于个单位长度)略低,比一般的数据采样法的精度高(因为数据采样法还包含轮廓误差);在计算量方面,本发明的插补法由于需要计算多个累加器的值并进行修正,因此计算量比逐点比较法、最小偏差法要大一些;但由于可以避免进行浮点数运算,故计算量比数据采样法小。此外,采用传统的脉冲增量插补法对圆进行插补时,每一个插补周期内需要进行过象限判断;本发明的插补法能够自动修正累加器的增量值,无需对圆做过象限判断,简化了算法。因此可见,本发明可用于对插补速度均匀性和插补精度要求较高的场合,以及需要对多段曲线进行同步插补的场合,可实现多个以角度及位移为自变量的多轴联动复杂空间曲线插补。 
表1 
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。 
附图说明
图1是本发明的单位弧长增量插补法的流程图。 
图2是在本发明的第一个实施例中使用本发明的单位弧长增量插补法对圆弧进行插补的过程示意图。 
图3是使用DDA法对图2中的圆弧进行插补的过程示意图。 
图4是在本发明的第二个实施例中使用本发明的单位弧长增量插补法进行插补的上下异形直纹面的三维示意图。 
图5是使用本发明的单位弧长增量插补法对图4所示的上下异形面中的一对曲线进行插补的过程示意图。 
具体实施方式
实施例1 
本实施例中,采用电机的脉冲当量BLU(一般为10μm、1μm或0.1μm)作为单位,即Δs=1BLU。除了方向k以外,所有基本参数均以Δs为单位。采用本发明的单位弧长增量插补法在平面中沿逆时针方向插补一段半径R=10(BLU)、起始角为0°、终止角为90°的圆弧,具体步骤如下(参见图1): 
步骤一、参数初始化,包括计算圆弧的弧长L、初始化弧长参数s=0,初始化累加器Si,j(0)=0,选取当量选取阈值Qi,j。 
本实施例中的圆弧以弧长s为参数的表达式为: 
r R ( s ) = x R , 1 ( s ) x R , 2 ( s ) = 10 cos ( s 10 ) 10 sin ( s 10 ) 0 &le; s &le; L
其中,圆弧的起点为(10,0)T,终点为(0,10)T,圆弧弧长为L≈16。 
将累加器初始化: 
S1,0(0)=xR,1(0)=10 
S2,0(0)=xR,2(0)=0 
S1,1(0)=S1,2(0)=S2,1(0)=S2,2(0)=0 
将弧长参数表达式的增量表达式ΔrR(s)以泰勒级数展开至二阶,将圆弧逼近点rA(s)的增量表达式写成形如式(8)的格式: 
&Delta;r A ( s ) = 1 2 &CenterDot; 5 ( - x I , 2 ( s ) + 1 2 &CenterDot; 10 ( - x I , 1 ( s ) ) ) 1 2 &CenterDot; 5 ( x I , 1 ( s ) + 1 2 &CenterDot; 10 ( - x I , 2 ( s ) ) )
根据式(7)的条件可确定当量: 
&Delta; x ~ A , 1,1 ( s ) = - x I , 2 ( s ) , &Delta; x ~ A , 1,2 ( s ) = - x I , 1 ( s ) , &Delta; x ~ A , 2 , 1 ( s ) = x I , 1 ( s ) , &Delta; x ~ A , 2 , 2 ( s ) = - x I , 2 ( s )
并确定阈值: 
Q1,1=Q2,1=5,Q1,2=Q2,2=10 
步骤二、将圆弧上的参考点沿着曲线前进的方向移动一个单位弧长Δs,分别对于各坐标轴对多阶累加器进行逐阶计算。 
具体地,曲线参考点rR(s)沿着曲线前进方向移动一个单位长度Δs,分别对每个坐标轴i=1,2,依j=2,1的次序,将当量加入累加器Si,j(s)。若有|Si,j(s+1)|≥Qi,j,则先对累加器Si,j-1(s)做修正Si,j-1(s)+=sgn[Si,j(s+1)]再对累加器做修正Si,j(s+1)-=sgn[Si,j(s+1)]·2Qi,j。 
步骤三、对于各坐标轴,根据步骤二的计算结果更新参考点的插补点的值,并输出零阶累加器经过步骤二后的变化量作为进给脉冲。 
具体地,令xI,i(s+1)=Si,0(s+1),i=1,2,即可得到新的插补点位置: 
r I ( s + 1 ) = x I , 1 ( s + 1 ) x I , 2 ( s + 1 ) .
步骤四、s+=Δs,若s≥L,则插补结束;否则转至步骤二。 
具体地,累计弧长增加1,即令s+=1。若此时s≥L=16,则说明插补到达曲线终点,插补结束;否则转至步骤二,继续插补过程的循环。 
图2给出了本实施例的插补过程,表2给出了插补过程中所产生的误差 作为比较,图3给出了采用DDA插补法插补本实施例的圆弧的过程,表3给出了该插补过程中所产生的误差其中,各数值均以脉冲当量为单位。 
表2本实施例的插补过程中所产生的误差 
表3采用DDA插补法的插补过程中所产生的误差 
通过对比可发现:采用本发明的单位弧长增量插补法时,插补误差均保证小于一个脉冲当量;而DDA插补法随着插补过程的进行、累计弧长的增加,插补误差越来越大,在最后三步时误差已经超过一个脉冲当量,精度比单位弧长增量法要低。这是因为DDA插补法的思想是将曲线的弧长参数表达式的增量表达式ΔrR(s)以泰勒级数仅展开至一阶,精度自然要比将泰勒级数展开至一阶以上的算法要低。 
值得注意的是,数据采样法中的扩展数字积分法(扩展DDA法)采用了割线段逼近圆弧的方法,其插补点坐标递推公式的思想与本发明类似,在每个插补周期进给长度为一个单位长度时的精度也与本发明相当,但由于扩展数字积分法是采用解析式 直接计算推出下一点的坐标位置,浮点数运算量较大,因此实时性不够好。表4给出了在单片机AT89C55上对几个不同半径的圆分别采用扩展数字积分法和本发明的单位弧长增量插补法插补一周所需的时间。可以看出,要对相同半径的圆进行插补,前者所需的时间约为后者的两倍。 
表4扩展DDA法与本发明的单位弧长增量插补法的对比 
实施例2 
本发明的单位弧长增量插补法可以实现多条以角度及位移为自变量的多轴联动复杂空间曲线的同步插补。例如在线切割机床中,使用本发明的单位弧长增量插补法对上下异形面的一组曲线进行插补。在上下异形面加工中,当工件上、下平面加工轮廓曲线的形状或长度不一致时,就需要通过多轴联动,对各段加工轮廓曲线按照其长度比例做同步插补。本实施例中对上下异形面中的一对曲线进行插补,图4给出了本实施例中插补的上下异形直纹面的示意图,具体步骤如下(参见图1): 
步骤一、参数初始化,包括分别对一对曲线计算其弧长L、初始化弧长参数s=0,初始化累加器Si,j(0)=0,选取当量选取阈值Qi,j。 
本实施例中采用电机的脉冲当量BLU(一般为10μm、1μm或0.1μm)作为单位,即Δs=1BLU。如图4和图5所示,上平面(UV面)曲线为圆弧,半径为R,弧长为L1,起点和终点分别为图4和图5中的B点(XB,YB)T和F点(XF,YF)T,圆心在原点,起点与圆心的连线与x1方向的夹角为θ0;下平面(XY面)曲线为直线,弧长为L2,起点和终点分别为A点(XA,YA)T和E点(XE,YE)T。令Lmax=max(L1,L2),可将这两条曲线视为空间中的一条曲线,这条曲线的参数s为圆弧、直线中较长者的弧长参数,称s为广义弧长。这对上下异形面曲线在空间中的表达 式为: 
r R ( s ) = x R , 1 ( s ) x R , 2 ( s ) x R , 3 ( s ) x R , 4 ( s ) = R cos ( 1 R &CenterDot; L 1 L max s + &theta; 0 ) R sin ( 1 R &CenterDot; L 1 L max s + &theta; 0 ) X A + L 2 L max s &CenterDot; X E - X A L 2 Y A + L 2 L max s &CenterDot; Y E - Y A L 2 = R sin ( L 1 RL max s + &theta; 0 ) R sin ( L 1 RL max s + &theta; 0 ) X A + X E - X A L max s Y A + Y E - Y A L max s
①对于圆弧将累加器初始化: 
S1,0(0)=xR,1(0)=XB=Rcosθ0
S2,0(0)=xR,2(0)=YB=Rsin00
S1,1(0)=S1,2(0)=S2,1(0)=S2,2(0)=0 
并确定当量: &Delta; x ~ A , 1,1 ( s ) = - x I , 2 ( s ) , &Delta; x ~ A , 1 , 2 ( s ) = - x I , 1 ( s ) , &Delta; x ~ A , 2 , 1 ( s ) = x I , 1 ( s ) , &Delta; x ~ A , 2 , 2 ( s ) = - x I , 2 ( s ) , 确定阈值: 
Q 1,1 = Q 2,1 = R 2 , Q1,2=Q2,2=R 
②对于直线AE,将累加器初始化: 
S3,0(0)=xR,3(0)=XA
S4,0(0)=xR,4(0)=YA
S3,1(0)=S3,2(0)=S4,1(0)=S4,2(0)=0 
由直线逼近点的增量表达式(泰勒级数至多展开至ms=1阶) 
&Delta; x A , 3 ( s ) &Delta; x A , 4 ( s ) = X E - X A 2 &CenterDot; L max 2 Y E - Y A 2 &CenterDot; L max 2
可确定当量 &Delta; x ~ A , 3,1 ( s ) = X E - X A , &Delta; x ~ A , 3,2 ( s ) = 0 , &Delta; x ~ A , 4,1 ( s ) = Y E - Y A , &Delta; x ~ A , 4,2 ( s ) = 0 , 并确定阈值 Q 3,1 = Q 4,1 = L max 2 , Q3,2=Q4,2=1。 
注意Q3,2=Q4,2=1,即累加器S3,2(s)和S4,2(s)的值既不会变化也不会溢出。 
步骤二、将曲线上的参考点沿着曲线前进的方向移动一个单位弧长Δs,分别 对于各坐标轴对多阶累加器进行逐阶计算。 
具体地,曲线参考点rR(s)沿着曲线前进方向移动一个单位长度Δs,分别对每个坐标值i=1,2,3,4,依j=2,1的次序,将当量加入累加器Si,j(s),若有Si,j(s+1)|≥Qi,j,则先对累加器Si,j-1(s)做修正Si,j-1(s)+=sgn[Si,j(s+1)]再对累加器Si,j(s+1)做修正Si,j(s+1)-=sgn[Si,j(s+1)]·2Qi,j。 
步骤三、对于各坐标轴,根据步骤二的计算结果更新参考点的插补点的值,并输出多阶累加器经过步骤二后的变化量作为进给脉冲。 
具体地,令xI,i(s+1)=Si,0(s+1),i=1,2,3,4,即可得到新的插补点位置 
r I ( s + 1 ) = x I , 1 ( s + 1 ) x I , 2 ( s + 1 ) x I , 3 ( s + 1 ) x I , 4 ( s + 1 )
然后,求线切割机床中的上、下导丝器位置。将工件上、下平面中的插补点(图5中的C、D点)的连线向两侧延伸,分别与线切割机床上、下导丝器所在的平面相交,得到上、下导丝器的新位置,从而可得导丝器在当前插补周期内的位移量,将其转换成脉冲、方向指令使电机运动。 
步骤四、s+=Δs,若s≥L,则插补结束;否则转至步骤二。 
具体地,累计广义弧长增加1,即令s+=1。若此时s≥Lmax,则说明插补到达曲线终点,插补结束;否则转至步骤二,继续插补过程的循环。图5给出了本实施例的插补过程。 
由此可见,采用单位弧长增量插补法进行多轴联动复杂空间曲线插补,不仅简单灵活,而且易于保证两条或两条以上曲线之间的插补同步性。 
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域的技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。 

Claims (2)

1.一种单位弧长增量插补法,主要应用于数控系统,其特征在于,包括步骤: 
步骤一、参数初始化,包括: 
建立曲线以其弧长s为自变量的表达式:以获得所述曲线在所述弧长s处的参考点的坐标,其中,所述弧长s是从所述曲线的起点坐标开始的曲线长度,0≤s≤L,L为所述曲线的总长度;n为所述曲线的坐标轴的个数,n≥1; 
设置对于各坐标轴的多阶累加器的初始值、多阶当量和多阶阈值;所述多阶累加器的初始值设置为:对于第i个坐标轴的零阶累加器的初始值Si,0(0)=xR,i(0),j阶累加器的初始值Si,j(0)=0,其中,i=1,2,…,n,j=1,2,…,m,m为所述多阶累加器的最大阶数,m≥1;所述曲线在所述参考点处进行泰勒展开,得到所述参考点的逼近点的坐标为并得到所述参考点沿着所述曲线前进的方向移动一个单位弧长Δs后,所述逼近点的增量为 所述多阶当量和所述多阶阈值设置为:对于第i个坐标轴的j阶当量及j阶阈值Qi,j满足关系式: 所述多阶当量和所述多阶阈值的最大阶值皆为m; 
步骤二、将所述参考点沿着所述曲线前进的方向移动一个单位弧长Δs,分别对于各坐标轴对所述多阶累加器进行逐阶计算;所述多阶累加器进行的逐阶计算包括:对第i个坐标轴,i=1,2,…,n,依j=m,m-1,…,2,1的次序,将所述j阶当量加入所述j阶累加器Si,j(s),若有|Si,j(s+Δs)|≥Qi,j,则先对j-1阶累加器Si,j-1(s)做修正再对j阶累加器Si,j(s+Δs)做修正; 
步骤三、对于各坐标轴,根据步骤二的计算结果更新所述参考点的插补点的 值,并输出所述多阶累加器中的所述零阶累加器经过步骤二后的变化量作为进给脉冲; 
步骤四、s+=Δs,若s≥L,则插补结束;否则转至步骤二。 
2.如权利要求1所述的单位弧长增量插补法,其中对所述j-1阶累加器Si,j-1(s)的所述修正为:Si,j-1(s)+=sgn[Si,j(s+Δs)];对所述j阶累加器Si,j(s+Δs)的所述修正为Si,j(s+Δs)-=sgn[Si,j(s+Δs)]·2Qi,j
CN201210328234.XA 2012-09-06 2012-09-06 单位弧长增量插补法 Active CN102880119B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210328234.XA CN102880119B (zh) 2012-09-06 2012-09-06 单位弧长增量插补法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210328234.XA CN102880119B (zh) 2012-09-06 2012-09-06 单位弧长增量插补法

Publications (2)

Publication Number Publication Date
CN102880119A CN102880119A (zh) 2013-01-16
CN102880119B true CN102880119B (zh) 2015-01-14

Family

ID=47481491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210328234.XA Active CN102880119B (zh) 2012-09-06 2012-09-06 单位弧长增量插补法

Country Status (1)

Country Link
CN (1) CN102880119B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103934528B (zh) * 2014-04-14 2016-02-10 上海交通大学 一种用于电火花加工的六轴联动插补方法
CN105094089B (zh) * 2015-06-26 2018-04-03 上海交通大学 一种基于编码器播放器体系架构的工业控制系统
CN106527351B (zh) * 2015-09-10 2019-01-22 沈阳高精数控智能技术股份有限公司 一种过渡曲线长度动态确定的小线段实时插补方法
CN109143965A (zh) * 2018-09-21 2019-01-04 大族激光科技产业集团股份有限公司 一种样条曲线过滤拐角的插补方法及其插补系统
CN111045387B (zh) * 2019-12-20 2020-12-22 哈尔滨工程大学 一种三阶轮廓误差实时估计方法
CN117226193B (zh) * 2023-11-10 2024-02-02 华潞科技(山西)有限公司 一种电火花线切割硬件插补方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1044716A (zh) * 1989-02-01 1990-08-15 刘希汉 复合逐点比较插补法及其系统软件
JP2000082152A (ja) * 1998-09-07 2000-03-21 Usc Corp 軌跡制御方法及び軌跡制御方法を記録した記録媒体
CN102608956A (zh) * 2012-03-05 2012-07-25 浙江工业大学 一种基于de Boor算法的NURBS曲线自适应插补控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1044716A (zh) * 1989-02-01 1990-08-15 刘希汉 复合逐点比较插补法及其系统软件
JP2000082152A (ja) * 1998-09-07 2000-03-21 Usc Corp 軌跡制御方法及び軌跡制御方法を記録した記録媒体
CN102608956A (zh) * 2012-03-05 2012-07-25 浙江工业大学 一种基于de Boor算法的NURBS曲线自适应插补控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于Gauss-Legendre求积的参数曲线实时插补;陈金成 等;《上海交通大学学报》;20021231(第8期);1104-1108 *
基于Quasi-Hermite空间曲线的插补优化算法研究;梁常春 等;《组合机床与自动化加工技术》;20111231(第4期);5-8 *

Also Published As

Publication number Publication date
CN102880119A (zh) 2013-01-16

Similar Documents

Publication Publication Date Title
CN102880119B (zh) 单位弧长增量插补法
CN103934528B (zh) 一种用于电火花加工的六轴联动插补方法
CN101980091B (zh) 双转台五轴联动数控加工旋转刀具中心点补偿方法
Farouki et al. Real-time CNC interpolators for Pythagorean-hodograph curves
CN106647623B (zh) 一种几何精度及衔接速度最优化的五轴联动平滑插补方法
CN103678818B (zh) 一种双圆弧修正摆线齿轮的精确建模方法
CN100462881C (zh) 摆动从动件空间凸轮凹槽的非等径数控加工方法
CN104133424A (zh) 一种基于可编程控制器的工业机器人直线插补方法
CN103676787B (zh) 一种用于运动控制系统的圆心模式空间圆弧插补方法
CN104597847A (zh) 基于Akima样条曲线拟合的前瞻插补方法
CN102147600A (zh) 实时生成曲率连续路径的数控插补系统
CN108568817A (zh) 一种基于贝塞尔曲线的Delta机器人轨迹连接控制方法
CN103809521A (zh) 基于弦截法的样条曲线插补方法
Han et al. A local smoothing interpolation method for short line segments to realize continuous motion of tool axis acceleration
CN113433889B (zh) 一种基于三段式羊角曲线的五轴机床加工的刀具轨迹规划方法
CN102073301A (zh) 具有刀具长度补偿功能的五轴样条插补器
CN111967096B (zh) 金刚滚轮及蜗杆砂轮的设计方法
Baek et al. Precision NURBS interpolator based on recursive characteristics of NURBS
CN105785914A (zh) 由展成刀具确定被加工螺旋曲面廓形的点矢量二次包络法
Jahanpour et al. Real-time PH curve CNC interpolators for high speed cornering
Han et al. Linkage model and interpolation analysis of helical non-circular gear hobbing
Sencer et al. Curvature-continuous sharp corner smoothing scheme for Cartesian motion systems
CN104020718A (zh) 一种nurbs曲线参考模型自适应实时插补方法
CN103668793A (zh) 一种实现控制电子花样机进行多重缝的方法
Chen et al. Smooth geodesic interpolation for five-axis machine tools

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant