发明内容
针对现有技术中运用直线加减速和滤波技术结合的规划方法只局限于单程序段规划的不足之处,本发明要解决的技术问题是提供一种简单、光滑、平稳、高速、连续的基于前瞻-滤波技术的多程序段连续加减速控制方法。
为解决上述技术问题,本发明采用的技术方案是:
本发明一种基于前瞻-滤波技术的多程序段连续加减速控制方法包括以下步骤:
根据输入的工件加工程序数据进行前瞻规划,确定各程序段的前瞻规划参数;利用上述各程序段的规划参数进行相应的直线加减速规划,并对速度值进行插补;对各段插补后的速度值进行分段滑动平均滤波,得到新的速度值。
所述对输入工件加工程序数据进行前瞻规划计算包括以下步骤:
根据工件加工程序数据,按照转接点算法确定各程序段间的转接点速度;按照规划参数求解算法完成对各程序段规划参数的确定,其中规划参数包括:最大速度、直线加减速加速段和减速段的加速度以及滤波项数;
按照位移补偿算法确定直线加减速规划时的新位移。
所述转接点算法为:
初始化程序标号为0;
当当前程序段末端初始速度Vp大于当前程序段始端速度Vs时,直接判断当前实际位移L是否大于第1阈值S0,否则将当前程序段末端初始速度Vp的值与当前程序段始端速度Vs的值互换,并将程序标号赋值为1,再判断当前实际位移L是否大于第1阈值S0;
如果实际位移L大于第1阈值S0时,则根据公式(2)求得加速过程中的匀加速段插补周期T的个数,即为中间变量k:
式中,b为中间变量,
m为初始滤波项数,a
max为最大加速度;
再根据公式(3)求得最大可达末端速度V′p;
V′p=Vs+(m+k)Tamax (3)
判断程序标号是否为1,如为1则将当前程序段末端初始速度Vp与当前程序段始端速度Vs互换;
当当前程序段始端速度Vs大于最大可达转接点速度V′p时,调整当前程序段始端速度Vs的值为最大可达转接点速度V′p,转接点的初始速度Vp不需调整,端点速度确定完毕;
如果当前程序段始端速度Vs不大于最大可达转接点速度V′p,则转接点的初始速度Vp不需调整,端点速度确定完毕;
或者,如果程序标号不为1,则:
当转接点的初始速度Vp大于最大可达转接点速度V′p时,调整转接点的初始速度Vp等于最大可达转接点速度V′p,端点速度确定完毕;
当转接点的初始速度Vp不大于最大可达转接点速度V′p时,转接点的初始速度Vp不需调整,端点速度确定完毕;
或者,当实际位移L不大于第1阈值S0时,利用公式(4)求得加加速阶段插补周期个数,即为中间变量n:
若n≥1,则利用公式(5)计算最大可达转接点速度V′p:
V′p=Vs+(nT)2J (5)
接续判断程序标号是否为1步骤;
或者,若n<1,则令n=1,V′p=Vp,再利用公式(6)重新计算当前程序段始端速度Vs:
Vs=Vp-J(nT)2,Ve=Vp (6)
其中,Ve为当前程序段末端速度;
端点速度确定完毕。
所述规划参数求解算法为:当当前程序段末端速度Ve小于该段始端速度Vs时,按照公式(7)确定第2阈值L0:
a=JmT (7)
其中,V′p为大可达转接点速度,Vs为当前程序段始端速度,Ve为当前程序段末端速度,Vmax为最大速度,amax为最大加速度,J为加加速,T为插补周期,m为加速段减速段初始滤波项数,a为加速段减速段初始加速度;
当实际位移L大于第2阈值L0时,在第2阈值L0的加减速规划模式的前提下,按照公式(8)确定匀加速段的时间周期数,即为中间变量k:
其中,b为中间变量,b=2VsT+3maT2
将加速段滤波项数m1、减速度滤波项数m2赋值为初始滤波项数m,将加速段加速度a1、减速段加速度a2赋值为初始加速度a;
按照公式(9)确定最大可达速度Vm:
Vm=Vs+m(m+k)T2J (9)
判断最大可达速度Vm是否大于系统给定的最大速度Vmax,如果不大于,则此次规划结束;
或者,当实际位移L不大于第2阈值L0时,在第2阈值L0的加减速规划模式的前提下,按照公式(10)确定加速段、匀速段的周期数,即为中间变量n:
其中,b为中间变量,
将加速段滤波项数m1赋值为n,减速度滤波项数m2赋值为初始滤波项数m,将加速段加速度a1、减速段加速度a2赋值为初始加速度a;
按照公式(11)可确定最大可达速度Vm:
Vm=Vs+(m1T)2J (11)
判断最大可达速度Vm是否大于系统给定的最大速度Vmax,如果不大于,则此次规划结束;
或者,当当前程序段末端速度Ve不小于该段始端速度Vs时,按照公式(12)确定第2阈值L0:
a=JmT (12)
当实际位移L大于第2阈值L0时,在第2阈值L0的加减速规划模式的前提下,按照公式(13)确定匀加速段的插补周期数,即为中间变量k:
其中,b为中间变量,b=2VeT+3maT2
将加速段滤波项数m1、减速段滤波项数m2赋值为初始滤波项数m,加速段加速度a1、减速段加速度a2赋值为加速度a;
按照公式(14)确定最大可达速度Vm:
Vm=Ve+m(m+k)T2J (14)
判断最大可达速度Vm是否大于系统给定的最大速度Vmax,如果不大于,则此次规划结束;
或者,当实际位移L不大于第2阈值L0时,在第2阈值L0的加减速规划模式的前提下,按照公式(15)确定减速段、稳定段的周期数,即为中间变量n:
其中,b为中间变量,
将加速段滤波项数m1赋值为初始滤波项数m,减速段滤波项数m2赋值为n,加速段加速度a1赋值为初始加速度a,减速段加速度a2赋值为JnT;
按照公式(16)确定最大可达速度Vm:
Vm=Ve+(m2T)2J (16)
判断最大可达速度Vm是否大于系统给定的最大速度Vmax,如果不大于,则此次规划结束;
如果上述求解得到的最大可达速度Vm大于系统给定的最大速度Vmax,则令最大可达速度Vm等于系统给定的最大速度Vmax;
按公式(17)、(18)求解新的加速段减速段初始滤波项数m和加速度a:
a1=Jm1T,a2=Jm2T (18)
则此次规划结束。
所述确定直线加减速规划时的新位移为:对指令位移补偿后再进行加减速规划,使滤波后的实际位移等于指令位移,补偿后的位移即为规划位移S′:
其中,L为实际位移,m1为规划参数中加速段滤波项数、m2为规划参数中减速段滤波项数,Vm为最大可达速度,Ve为当前程序段末端速度,Vs为当前程序段始端速度,T为插补周期。
所述直线加减速规划包括:在传统的直线加减速规划模式的末端,添加一段匀速段,该匀速段速度为程序段的末端速度,时间长度为匀速段之前的加减速段的滤波项数与插补周期的乘积。
所述分段滑动平均滤波是对M个数据做累加平均,得到新的滤波值;
最后一个滤波值为:
式中,加速段和匀速段的滤波项数M=m1,而减速段和稳定段滤波项数M=m2,其中,m1为规划参数中加速段滤波项数、m2为规划参数中减速段滤波项数;V′0为滤波后的第一个速度值,V0为滤波前的初始速度值,N为滤波的速度值个数。
所述对速度值进行插补时,各程序段的时间均是插补周期的整数倍;根据此整周期加工的要求,利用剩余位移补偿方法消除加减速规划过程中的剩余位移误差;
所述的剩余位移补偿方法根据公式(20)求得剩余位移ΔS:
其中t
e为运动时间,T为插补周期,
为匀速段的插补周期个数;根据公式(21)求出可以在一个插补周期内补偿剩余位移的速度V
r:
当减速至第一个小于Vr的速度Vi时,按Vi匀速规划一个插补周期,再继续减速规划;
根据公式(22)得到新的剩余位移ΔS′:
ΔS′=ΔS-ViT=(Vr-Vi)T (22)
重复上述剩余位移的补偿过程,直至剩余位移小于当前程序段末端速度与一个插补周期的乘积为止;
当前程序段最终的剩余位移并入下一程序段的位移中进行规划计算,直至最后一个程序段为止。
本发明具有以下有益效果及优点:
1.速度快,效率高。多程序段连续加工的实现,可以省去单段加工时用于启停的时间,平均加工运动速度得到提高,提高了加工效率;另一方面,本发明的小计算量也可节省计算时间,提高了系统的计算效率。
2.平滑性好。程序段连接处的速度光滑,加速度连续,使加工效果更平滑。如果采用滑动加权滤波,可使加速度光滑。
3.易于实现。简单的直线加减速规划方法和简单的滤波技术的结合,使得算法复杂度相比同等效果的S形曲线加减速和加速度光滑加减速要小的多。
4.解决了数控机床在运动中的振动问题。多程序段连续加工减少了机床运动的启停次数,使得机床产生振动的几率降低;同时由于滤波方法的引入,使得机床运行更加平稳,可以较好地解决机床运动中的振动问题。
5.灵活智能。本发明提供的各程序段的滤波项数是独立的,且各程序段中加速段和减速段的滤波项数也是相互独立的,根据各程序段路径特点可以确定其加速段和减速段可行的滤波项数和加速度,并保证加加速度有界。
具体实施方式
本发明一种基于前瞻-滤波技术的多程序段连续加减速控制方法采用基于前瞻技术、滤波技术以及改进的直线加减速相结合的控制方法,实现S型或加速度平滑的多程序段连续加工加减速控制。本发明方案如图4所示:
1)根据输入的工件加工程序数据进行前瞻规划,确定各程序段的前瞻规划参数;
2)利用上述各程序段的规划参数进行相应的直线加减速规划,并对速度值进行插补;
3)对各段插补后的速度值进行分段滑动平均滤波,得到新的速度值。
所述对输入工件加工程序数据进行前瞻规划计算包括以下步骤:
1.1)根据工件加工程序数据,按照转接点算法确定各程序段间的转接点速度;
1.2)按照规划参数求解算法完成对各程序段规划参数的确定,其中规划参数包括:最大速度Vm、直线加减速加速段和减速段的加速度a1、a2以及滤波项数m1、m2;
1.3)按照位移补偿算法确定直线加减速规划时的新位移S′。
一般的基于滤波的加减速方法中,整个程序段采用一个滤波项数,直线加减速中的加速段和减速段采用相同的加速度。如步骤1.2)中所述,本发明中加速段和减速段采用了不同的加速度和滤波项数,这一点和一般的加减速规划参数的设计有所不同。之所以如此规划,是为了保证在滤波后加速段和减速段的加加速不超过允许值;同时,加减速规划方式整体也更加灵活。
步骤1.3)中所述的确定规划位移S′是指计算直线加减速规划的位移。因为要实现多段连续加工,程序段末端速度不为零,因此,滤波后的位移与直线加减速规划的位移不相同,需要重新计算规划位移。
如图1所示,步骤2)中所述改进的直线加减速规划是通过在直线加减速的未端保持一段固定长度的匀速段(称为稳定段)来实现的。此稳定段的速度为程序段的末端速度,时间为稳定段前的加减速段滤波项数和插补周期T的乘积。
改进的直线加减速规划方法还要求各运动段(加速段,匀速段,减速段,稳定段)的时间均为插补周期的整数倍,这一点在实际速度规划中很难得到保证,因而使程序段在速度规划后存在剩余位移,该剩余位移小于匀速段速度一个插补周期的位移。剩余位移通过如下方式进行补偿:
根据剩余位移ΔS,求出可以在一个插补周期内补偿ΔS的速度Vr(有Ve≤Vr<Vm),当减速至第一个小于等于Vr的速度Vi时,则按Vi匀速规划一个插补周期,再继续减速规划。重复这一补偿方式,直至该程序段规划结束,最终的剩余位移将小于程序段未端速度一个插补周期的位移,将该剩余位移并入下一程序段进行规划。
步骤3)中,所述分段滑动平均滤波是源于加速段和减速段相异的滤波项数这一特点,即加速段和减速段分别采用不同的滤波项数完成速度滤波。
步骤1.1)转接点速度确定方案如图5所示:
设规划程序段的实际位移为L,始端速度为Vs,末端初始速度为Vp,满足滤波要求的最大可达转接点速度为V′p,末端速度为Ve,系统限定的最大进给速度为Vmax,加加速为J,最大加速度为amax,加加速阶段周期数(初始滤波项数)为m,插补周期为T。
通过确定第1阈值S0(如图3所示)来判定程序段的加速过程,其中,S0为加速阶段的加速度可以达到最大加速度amax,且加速过程仅有加加速与减加速阶段而无匀加速阶段的最小实际位移,进而根据该程序段的加速过程求解相应的V′p。
所述转接点算法为:
初始化程序标号为0,即line=0;
当当前程序段末端初始速度Vp大于当前程序段始端速度Vs时,直接判断当实际位移L是否大于第1阈值S0,否则将当前程序段末端初始速度Vp的值与当前程序段始端速度Vs的值互换,并将程序标号赋值为1,再判断当前实际位移L是否大于第1阈值S0;
如果实际位移L大于第1阈值S0时,表示加速过程有匀加速段,S0根据公式(1)求得:
S0=2VsmT+amax(mT)2 (1)
其中,
根据公式(2)求得加速过程中的匀加速段插补周期T的个数,即为中间变量k:
式中,b为中间变量,
m为初始滤波项数,a
max为最大加速度;
再根据公式(3)求得最大可达末端速度V′p;
V′p=Vs+(m+k)Tamax (3)
判断程序标号是否为1,如为1则将当前程序段末端初始速度Vp与当前程序段始端速度Vs互换;
当当前程序段始端速度Vs大于最大可达转接点速度V′p时,调整当前程序段始端速度Vs的值为最大可达转接点速度V′p,转接点的初始速度Vp不需调整,端点速度确定完毕;
如果当前程序段始端速度Vs不大于最大可达转接点速度V′p,则转接点的初始速度Vp不需调整,端点速度确定完毕;
或者,如果程序标号不为1,则:
当转接点的初始速度Vp大于最大可达转接点速度V′p时,调整转接点的初始速度Vp等于最大可达转接点速度V′p,端点速度确定完毕;
当转接点的初始速度Vp不大于最大可达转接点速度V′p时,转接点的初始速度Vp不需调整,端点速度确定完毕;
或者,当实际位移L不大于第1阈值S0时,表示加速过程无匀加速段,且加速度达不到amax,即加加速阶段插补周期数小于m。设加加速阶段插补周期数为n,则该阶段的加速度为a=nTJ,位移为:
L=2TVs·n+T3J·n3
求解上述三次方程,得到公式(4);
利用公式(4)求得加加速阶段插补周期个数,即为中间变量n:
若n≥1,则利用公式(5)计算最大可达转接点速度V′p:
V′p=Vs+(nT)2J (5)
接续判断程序标号是否为1步骤;
或者,若n<1,则令n=1,V′p=Vp,再利用公式(6)重新计算当前程序段始端速度Vs:
Vs=Vp-J(nT)2,Ve=Vp (6)
其中,Ve为当前程序段末端速度;
端点速度确定完毕。
步骤1.2)规划参数确定方案如图6所示:
滤波后的位移是实际位移,直线加减速的规划位移和滤波后的位移值不相同。设指令位移为L,直线加减速的规划位移为S′,加速段滤波项数为m1,减速段滤波项数为m2,插补周期为T,程序段始端速度和末端速度分别为Vs与Ve,直线加减速规划的最大速度为Vm。
如图1所示,整个过程可描述为:程序段始端速度Vs以加速度a1加速至Vm,以最大速度Vm匀速运动至少m1个插补周期,由最大速度Vm以加速度a2减速至末端速度Ve,然后以速度Ve匀速运动m2个插补周期。其中,最后的匀速段过程称为稳定段。
为确定各程序段的规划参数,设定一个“加-匀-减-稳”规划方式的位移阈值L0。
所述规划参数求解算法为:
当当前程序段末端速度Ve等于最大可达转接点速度V′p时,整个过程仅有加速段和稳定段,无需计算L0。加速段和减速段的滤波项数m1、m2和加速度a1、a2的取值如下:
其中,中间变量p、q的值为:
a1=Jm1T,a2=0
此次规划结束;
当当前程序段始端速度Vs等于最大可达转接点速度V′p时,整个过程仅有减速段和稳定段,无需计算L0。加速段和减速段的滤波项数m1、m2和加速度a1、a2的取值如下:
m1=0,
a1=0,a2=Jm2T
此次规划结束;
当当前程序段末端速度Ve小于该段始端速度Vs时,按照公式(7)确定第2阈值L0,L0对应的规划方式的加速段、匀速段、稳定段均设为m个插补周期,加速段和减速段的加速度均设为a,其中,m为加速段减速段初始滤波项数,a是达到最大可达速度的最大可达加速度,m、a以及L0的求解公式如下:
a=JmT (7)
其中,V′p为大可达转接点速度,Vs为当前程序段始端速度,Ve为当前程序段末端速度,Vmax为最大速度,amax为最大加速度,J为加加速,T为插补周期;
当实际位移L大于第2阈值L0时,将多出的位移L-L0添加到加速段,减速段以及匀速段中,使得加速段减速段插补周期数均增加k个,稳定段周期数不变。在第2阈值L0的加减速规划模式的前提下,按照公式(8)确定匀加速段的时间周期数,即为中间变量k:
其中,b为中间变量,b=2VsT+3maT2
将加速段滤波项数m1、减速度滤波项数m2赋值为加速段减速段初始滤波项数m,将加速段加速度a1、减速段加速度a2赋值为初始加速度a;
按照公式(9)确定最大可达速度Vm:
Vm=Vs+m(m+k)T2J (9)
判断最大可达速度Vm是否大于系统给定的最大速度Vmax,如果不大于,则此次规划结束;
或者,当实际位移L不大于第2阈值L0时,需从加速段,减速段,匀速段共减去L0-L大小的位移,使得加速段、匀速段、减速段的插补周期数均减少k个,稳定段周期数不变。在第2阈值L0的加减速规划模式的前提下,按照公式(10)确定加速段、匀速段的周期数,即为中间变量n:
其中,b为中间变量,
将加速段滤波项数m1赋值为n,减速度滤波项数m2赋值为初始滤波项数m,将加速段加速度a1、减速段加速度a2赋值为初始加速度a;
按照公式(11)可确定最大可达速度Vm:
Vm=Vs+(m1T)2J (11)
判断最大可达速度Vm是否大于系统给定的最大速度Vmax,如果不大于,则此次规划结束;
或者,当当前程序段末端速度Ve不小于该段始端速度Vs时,按照公式(12)确定第2阈值L0:
a=JmT (12)
当实际位移L大于第2阈值L0时,将多出的位移L-L0添加到加速段,减速段以及匀速段中,使得加速段减速段插补周期数均增加k个,稳定段周期数不变。在第2阈值L0的加减速规划模式的前提下,按照公式(13)确定增加的插补周期数,即为中间变量k:
其中,b为中间变量,b=2VeT+3maT2
将加速段滤波项数m1、减速段滤波项数m2赋值为初始滤波项数m,加速段加速度a1、减速段加速度a2赋值为加速段减速段初始加速度a;
按照公式(14)确定最大可达速度Vm:
Vm=Ve+m(m+k)T2J (14)
判断最大可达速度Vm是否大于系统给定的最大速度Vmax,如果不大于,则此次规划结束;
或者,当实际位移L不大于第2阈值L0时,需从加速段,减速段,匀速段以及稳定段共减去L0-L大小的位移,使得加速段、减速段、稳定段的插补周期数均减少k个,匀速段周期数不变。在第2阈值L0的加减速规划模式的前提下,按照公式(15)确定减速段、稳定段的周期数,即为中间变量n:
其中,b为中间变量,
将加速段滤波项数m1赋值为加速段减速段初始滤波项数m,减速段滤波项数m2赋值为n,加速段加速度a1赋值为加速段减速段初始加速度a,减速段加速度a2赋值为JnT;
按照公式(16)确定最大可达速度Vm:
Vm=Ve+(m2T)2J (16)
综上,如果上述过程中求得的最大可达速度Vm大于系统给定的最大速度Vmax,则令最大可达速度Vm等于系统给定的最大速度Vmax;
按公式(17)、(18)求解新的加速段减速段初始滤波项数m和加速度a:
a1=Jm1T,a2=Jm2T (18)
则此次规划结束。
步骤2)采用改进的直线加减速规划方案,具体为:
在确定了程序段的规划参数后,对其进行直线加减速规划。此处的直线加减速是指改进后的直线加减速方案,所述直线加减速规划包括:在传统的直线加减速规划模式的末端,添加一段匀速段,该匀速段速度为程序段的末端速度,时间长度为匀速段之前的加减速段的滤波项数与插补周期的乘积。
上述改进方法可确定直线加减速规划时的新位移为:对指令位移补偿后再进行加减速规划,使滤波后的实际位移等于指令位移,补偿后的位移即为规划位移S′:
当进行直线加减速规划时,利用上述公式对实际位移适当修正得到规划位移,则保证滤波后的位移正好是目标路径的实际位移。上述位移补偿方法和滤波方法相结合,保证了滤波前后程序段的始末速度一致,且滤波后的位移同程序段的实际位移一致。
规划方案要求程序段的各个运动阶段(加速段,匀速段,减速段,稳定段)的时间均应为插补周期的整数倍。此整周期要求会使得程序段在对各运动段(加速段、匀速段、减速段、稳定段)规划时产生一定的剩余位移。该剩余位移可通过如下方案进行补偿以完成该程序段规划:
由于已知规划程序段的加速段和减速段的滤波项数m1、m2以及加速度a1、a2,最大速度Vm,则可以确定加速段、减速段以及稳定段的规划位移,假设剩余的规划位移全部用作最大速度的匀速运动,则匀速段加工时间无法保证是插补周期的整数倍。根据整周期加工的要求,必会有一段长度小于VmT的位移剩余。
设匀速段的运动时间为t
e,插补周期为T,则匀速段的插补周期个数为
可得剩余的位移为:
根据ΔS,求出可以在一个插补周期内补偿剩余位移的速度Vr(Ve≤Vr<Vm),当减速至第一个小于Vr的速度Vi时,按Vi匀速规划一个插补周期(后称为小匀速段),再继续减速规划。
Vr求解公式如下:
同时,可得到新的剩余位移:
ΔS′=ΔS-ViT=(Vr-Vi)T (22)
重复上述剩余位移的补偿过程,直至ΔS<VeT为止。
上述补偿过程结束后,当前程序段最终的剩余位移ΔS将向后计算至下一程序段的位移中进行规划。
步骤3)中的分段滑动平均滤波如图7所示:
滤波即指在直线加减速规划完毕之后,串联一个滑动平均滤波器,对速度值进行滑动平均滤波。若滤波项数为M,通过对前M个速度值的累加平均求出新的速度值,然后随着新的规划数据的加入,老的速度规划值被移出滤波器。本发明采用的滤波方式为分段的滑动平均滤波,具体的滤波方式如下:
设滤波项数为M,滤波的速度值个数为N,直线加减速规划速度为Vi(i=0,1,…,N)。其中,M有两种取值选择,加速段和匀速段的滤波项数M=m1,而减速段和稳定段滤波项数M=m2,采用下列公式进行滤波,能够保证始末速度均为规划速度,而且由于滤波产生的滞后位移可以在稳定段得到补偿。具体公式如式(23)所示:
根据滤波后的速度
可得位置增量为
则程序段实际位移为:
滤波前后的速度曲线图如图2所示,图中直线段图形表示为滤波前的速度曲线,曲线段图形为滤波后的速度曲线。图2表明,经过滤波后的速度曲线较滤波前的直线加减速速度曲线平滑性好。