一种S形速度曲线快速插补计算的方法与流程
未命名
09-23
阅读:39
评论:0
一种s形速度曲线快速插补计算的方法
技术领域
1.本发明涉及数控机床控制技术领域,具体涉及一种s形速度曲线快速插补计算的方法。
背景技术:
2.数控机床的进给速度与加工精度、生产率以及工件表面粗糙度有着密切关系。刀路中存在大量的微小线段或圆弧,在转角处需要适当减速。通过对刀路进行前瞻速度规划,以便提前获得加减速信息,提高加工效率。速度规划中,比较高级的算法是s形加减速控制,相比梯形加减速和指数型加减速控制,s形加减速控制有速度曲线光滑、均匀、运动平稳、无冲击且可以有效地抑制振动,并提高效率。
3.速度曲线规划好后,需要计算输出指定插补周期内各轴要移动的距离,此即“插补”,它能让机床按规划好的速度曲线,在指定的时刻抵达指定的位置。
4.一般为了计算当前周期的运动量,需要计算出该周期的终点位置,而后减去之前一周期存储的终点位置。而位置计算是一个高次多项式,需要多次乘加计算。
技术实现要素:
5.本发明的目的在于克服上述技术问题,提供一种计算方法简单、高效,实时性高,指向性高的s形速度曲线快速插补计算的方法。
6.为实现上述目的,本发明采用的技术方案如下。
7.第一方面,本发明提供一种s形速度曲线快速插补计算的方法。
8.一种s形速度曲线快速插补计算的方法,所述的方法包括以下步骤:
9.s101读取即时运动参数;
10.s102即时运动参数按顺序初始化修正;
11.s103输出当前的位置增量;
12.s104按顺序修正运动参数获取所需实际参数;
13.s105重复步骤s103,进入下一个循环。
14.进一步的,步骤s101所述的即时运动参数包括速度v、加速度a、加加速度j和加加加速度s;其中,规划好的s形速度曲线,某任意阶段的某个时刻,即时的运动状态为(v,a,j,s),该阶段该时刻后还有n个完整的插补周期t。
15.进一步的,步骤s102所述的即时运动参数按顺序初始化修正公式为:
[0016][0017][0018][0019]
式中,左箭头符号
←
表示将右边的表达式计算结果赋给左边的变量,t为插补周
期。
[0020]
进一步的,步骤s103所述的输出当前的位置增量为v*t。
[0021]
进一步的,步骤s103所述的输出当前的位置增量后,令n
←
n-1,如果n=0,表明输出已完成,退出;
[0022]
如果n≠0,则进行s104步骤。
[0023]
进一步的,步骤s104所述的按顺序修正运动参数获取所需实际参数公式为:
[0024]j←
j+s*t,
[0025]a←
a+j*t,
[0026]v←
v+a*t,
[0027]
式中,左箭头符号
←
表示将右边的表达式计算结果赋给左边的变量,t为插补周期。
[0028]
进一步的,所述的s形速度曲线为15段式s形速度曲线。
[0029]
进一步的,所述的s形速度曲线为7段式s形速度曲线。
[0030]
第二方面,本发明提供另一种s形速度曲线快速插补计算的方法。
[0031]
一种s形速度曲线快速插补计算的方法,所述的加加加速度s=0时,所述的方法为:
[0032]
s201对即时运动参数初始化修正:
[0033]
s202输出当前的位置增量:v*t;
[0034]
s203令n
←
n-1,当n=0,表明输出已完成,退出;当n≠0,则进行s204步骤;
[0035]
s204按下面顺序,修正运动参数:
[0036]a←
a+j*t;
[0037]v←
v+a*t;
[0038]
s205转到步骤s202,进入下一个循环。
[0039]
进一步的,所述的插补周期t为时间常量;
[0040]
将运动参数(v,a,j,s)的时间单位转化为以t为单位,则上述公式中的*t和/或*t2和/或*t3等同于“*1”,不用实际作乘法运算,省去上述公式中*t和/或*t2和/或*t3乘法运算;
[0041]
将运动参数中的长度单位,转换成设备的脉冲当量,插补所得的位置增量无需单位转换,即为所需的脉冲值。
[0042]
业界通常所说的s形速度曲线,是指速度(velocity)、加速度(acceleration)可连续,加加速度(jerk)阶跃非连续,最多可分7个阶段。如果让加加速度(jerk)也连续,加加加速度(snap)阶跃非连续,则最多可分15个阶段。前者的7个阶段完全包含于后者的15个阶段中,故本发明直接针对更高阶的后者来叙述。
[0043]
已知:规划好的15段s形速度曲线,对于某任意某阶段的某个时刻,即时的运动状态为(v,a,j,s),该阶段此时刻后还有n个完整的插补周期t。则在此时刻后,连续的n周期,各个周期结束时,位置的顺序增量计算方法为:
[0044]
(1)读取即时运动参数;
[0045]
(2)即时运动参数按顺序初始化修正:
[0046][0047][0048][0049]
式中,左箭头符号
←
表示将右边的表达式计算结果赋给左边的变量。
[0050]
(3)输出当前的位置增量v*t;
[0051]
令n
←
n-1,当n=0,表明输出已完成,退出;当n≠0,则按顺序修正运动参数获取所需实际参数:
[0052]j←
j+s*t,
[0053]a←
a+j*t,
[0054]v←
v+a*t。
[0055]
(4)输出当前的位置增量v*t,进入下一个循环。
[0056]
以上给出的是一般情形,也适用于其它特殊情形。比如:对于7段式的s形速度曲线,可看作15段s形速度曲线中的加加加速度s=0的情形,计算还可进一步简化:
[0057]
(1)对运动参数,初始化修正:
[0058][0059]
(2)输出当前的位置增量:v*t;
[0060]
(3)令n
←
n-1,如果n等于0,表明输出已完成,退出;
[0061]
(4)按下面顺序,修正运动参数:
[0062]a←
a+j*t,
[0063]v←
v+a*t;
[0064]
(5)输出当前的位置增量v*t,进入下一个循环。
[0065]
插补周期t对于数控系统来说是一个事先设定的固定的时间常量,比如t=0.5ms,将运动参数(v,a,j,s)的时间单位转化为以t为单位,则上述流程中的“*t”、“*t
2”等实际上等同于“*1”,不用实际作乘法运算。
[0066]
如下当v=12000mm/min=200mm/s时,则v*t=200mm/s*0.5ms=0.1mm,也可以先进行时间单位转换:v=200mm/s=200mm/(2000*t)=0.1mm/t,则v*t=0.1mm/t*1t=0.1mm,相乘仅导致量纲发生变化,而数值可保持不变,即可省去“*t”、“*t
2”等乘法运算。
[0067]
相应地,将运动参数中的长度单位,事先转换成设备的脉冲当量,插补所得的位置增量,无需单位转换,即为所需的脉冲值。
[0068]
经上述原理转换后,15段高阶s形速度曲线,对于任意某阶段,在每个周期,最多仅需三次加法运算,即可得到该周期内的位置增量。如果采用传统计算方法,先计算该周期结束时的位置,就需大量的乘法及加法运算,而且还需缓存该位置,以便下周期进行相减才能得到输出值。
[0069]
以上是一维情形的插补,如果是空间三维的插补,只需作简单的映射变换即可,此处不再赘述。对于空间线段,可事先初始化一些投影矢量,在每个插补周期里,对矢量仅进行类似的自增运算,亦可避免乘法运算。
[0070]
公式推导:在任意某个阶段,其内部t时刻对应的运动状态是:(v
t
,a
t
,j
t
,s
t
),其中
t=0时刻对应的即时状态(v0,a0,j0,s0)为已知。全程s
t
=s0保持不变,其它运动参数需按如下积分进行:
[0071][0072][0073][0074][0075]
其中s[t]为t时刻的位置,如果需要计算当前插补周期运动的路程,需要计算s[t]-s[t-t],其中t为插补周期。
[0076]
如果该阶段t=0时刻后还有n个完整的插补周期t,则需要计算这连续的n个周期的位置增量:s[t]-s[0],s[2t]-s[t],
…
,s[nt]-s[(n-1)t]。
[0077]
用上述过程得到的某个周期的位置增量,公式中势必需用固定的(v0,a0,j0,s0)进行表达,会比较复杂。而本发明,则采用了迭代修正运动参数的方法,可以证明两者是等效的,但因简化了公式,大幅减少了插补所需的计算量。
[0078]
本发明提供的s形速度曲线快速插补计算的方法,用插补周期作为运动参数的时间单位;用脉冲当量作为运动参数的长度单位。可避免后续的单位转换需要的乘除法运算。对于采用非s形速度曲线的数控系统,此条亦适用,且是优化途径之一。
[0079]
本发明提供的s形速度曲线快速插补计算的方法,利用迭代修正运动参数的方法,简化了计算公式。
[0080]
通过本发明提供的s形速度曲线快速插补计算的方法,可快速计算各周期的位置增量:对于含有加加加速度(snap)且不变的阶段,仅用三次加法运算;对于含有加加速度(jerk)且不变的阶段,仅用两次加法运算;对于含有加速度(acceleration)且不变的阶段,仅用一次加法运算即可;对于匀速段,直接即可输出该值。
[0081]
在数控系统中,设备在每个插补周期里,必须得到对应的脉冲增量,才能让机床按预先规划好的速度曲线进行运动。而cpu不仅需要进行插补运算,还需及时处理各种i/o请求等,如果在某个周期里来不及计算,就破环了实时性,将导致严重后果。
[0082]
因每个插补周期都需要进行一次插补运算,计算频次非常高,且是个必经过程。通过本发明所述方法,避免了大量乘法加法运算,仅通过少量的加法运算即可,节省并出让了大量宝贵的cpu资源,为数控系统的实时性提供了保障;或者说,通过应用本发明,在相同的硬件下,可以尝试采用更短插补周期,从而可获得更佳的加工效果。
[0083]
采用本发明提供的s形速度曲线快速插补计算的方法,在实际加工过程中,可以极大的减轻插补负荷,即使在低配置的硬件上运行,也能确保实时性。另一方面,可极大缩短仿真时间。比如同样的刀路,实际加工需60h左右,在同样的硬件设备上仿真,某知名数控系统提供商,需要1h2m33s,而本发明的的方法仅需1m41s,效率是对方的37.16倍。
[0084]
与现有技术相比,本发明提供的一种s形速度曲线快速插补计算的方法的优点在于:
[0085]
(1)方法简单、高效。
[0086]
(2)插补负荷低,硬件配置要求低。
[0087]
(3)仿真时间短,效率高。
具体实施方式
[0088]
为使本领域的技术人员更好地理解本发明的技术方案,以下实施例对本发明的作进一步详细描述,以下实施例仅用于说明发明,但不用来限制本发明的范围。
[0089]
第一方面,本发明提供一种s形速度曲线快速插补计算的方法。
[0090]
一种s形速度曲线快速插补计算的方法,所述的方法包括以下步骤:
[0091]
s101读取即时运动参数;
[0092]
s102即时运动参数按顺序初始化修正;
[0093]
s103输出当前的位置增量;
[0094]
s104按顺序修正运动参数获取所需实际参数;
[0095]
s105重复步骤s103,进入下一个循环。
[0096]
进一步的,步骤s101所述的即时运动参数包括速度v、加速度a、加加速度j和加加加速度s;其中,规划好的s形速度曲线,某任意阶段的某个时刻,即时的运动状态为(v,a,j,s),该阶段该时刻后还有n个完整的插补周期t。
[0097]
进一步的,步骤s102所述的即时运动参数按顺序初始化修正公式为:
[0098][0099][0100][0101]
式中,左箭头符号
←
表示将右边的表达式计算结果赋给左边的变量,t为插补周期。
[0102]
进一步的,步骤s103所述的输出当前的位置增量为v*t。
[0103]
进一步的,步骤s103所述的输出当前的位置增量后,令n
←
n-1,如果n=0,表明输出已完成,退出;
[0104]
如果n≠0,则进行s104步骤。
[0105]
进一步的,步骤s104所述的按顺序修正运动参数获取所需实际参数公式为:
[0106]j←
j+s*t,
[0107]a←
a+j*t,
[0108]v←
v+a*t,
[0109]
式中,左箭头符号
←
表示将右边的表达式计算结果赋给左边的变量,t为插补周期。
[0110]
进一步的,所述的s形速度曲线为15段式s形速度曲线。
[0111]
进一步的,所述的s形速度曲线为7段式s形速度曲线。
[0112]
第二方面,本发明提供另一种s形速度曲线快速插补计算的方法。
[0113]
一种s形速度曲线快速插补计算的方法,所述的加加加速度s=0时,所述的方法
为:
[0114]
s201对即时运动参数初始化修正:
[0115]
s202输出当前的位置增量:v*t;
[0116]
s203令n
←
n-1,当n=0,表明输出已完成,退出;当n≠0,则进行s204步骤;
[0117]
s204按下面顺序,修正运动参数:
[0118]a←
a+j*t;
[0119]v←
v+a*t;
[0120]
s205转到步骤s202,进入下一个循环。
[0121]
进一步的,所述的插补周期t为时间常量;
[0122]
将运动参数(v,a,j,s)的时间单位转化为以t为单位,则上述公式中的*t和/或*t2和/或*t3等同于“*1”,不用实际作乘法运算,省去上述公式中*t和/或*t2和/或*t3乘法运算;
[0123]
将运动参数中的长度单位,转换成设备的脉冲当量,插补所得的位置增量无需单位转换,即为所需的脉冲值。
[0124]
实施例1
[0125]
一种s形速度曲线快速插补计算的方法,所述的方法包括以下步骤:
[0126]
s101读取即时运动参数;
[0127]
s102即时运动参数按顺序初始化修正;
[0128]
s103输出当前的位置增量;
[0129]
s104按顺序修正运动参数获取所需实际参数;
[0130]
s105重复步骤s103,进入下一个循环。
[0131]
进一步的,步骤s101所述的即时运动参数包括速度v、加速度a、加加速度j和加加加速度s;其中,规划好的s形速度曲线,某任意阶段的某个时刻,即时的运动状态为(v,a,j,s),该阶段该时刻后还有n个完整的插补周期t。
[0132]
进一步的,步骤s102所述的即时运动参数按顺序初始化修正公式为:
[0133][0134][0135][0136]
式中,左箭头符号
←
表示将右边的表达式计算结果赋给左边的变量,t为插补周期。
[0137]
进一步的,步骤s103所述的输出当前的位置增量为v*t。
[0138]
进一步的,步骤s103所述的输出当前的位置增量后,令n
←
n-1,如果n=0,表明输出已完成,退出;如果n≠0,则进行s104步骤。
[0139]
进一步的,步骤s104所述的按顺序修正运动参数获取所需实际参数公式为:
[0140]j←
j+s*t,
[0141]a←
a+j*t,
[0142]v←
v+a*t,
[0143]
式中,左箭头符号
←
表示将右边的表达式计算结果赋给左边的变量,t为插补周期。
[0144]
进一步的,所述的s形速度曲线为15段式s形速度曲线。
[0145]
所述的插补周期t为时间常量;将运动参数(v,a,j,s)的时间单位转化为以t为单位,则上述公式中的*t和/或*t2和/或*t3等同于“*1”,不用实际作乘法运算,省去上述公式中*t和/或*t2和/或*t3乘法运算;将运动参数中的长度单位,转换成设备的脉冲当量,插补所得的位置增量无需单位转换,即为所需的脉冲值。
[0146]
实施例2
[0147]
一种s形速度曲线快速插补计算的方法,所述的加加加速度s=0时,所述的方法为:
[0148]
s201对即时运动参数初始化修正:
[0149]
s202输出当前的位置增量:v*t;
[0150]
s203令n
←
n-1,当n=0,表明输出已完成,退出;当n≠0,则进行s204步骤;
[0151]
s204按下面顺序,修正运动参数:
[0152]a←
a+j*t;
[0153]v←
v+a*t;
[0154]
s205转到步骤s202,进入下一个循环。
[0155]
进一步的,所述的插补周期t为时间常量;
[0156]
将运动参数(v,a,j,s)的时间单位转化为以t为单位,则上述公式中的*t和/或*t2和/或*t3等同于“*1”,不用实际作乘法运算,省去上述公式中*t和/或*t2和/或*t3乘法运算;将运动参数中的长度单位,转换成设备的脉冲当量,插补所得的位置增量无需单位转换,即为所需的脉冲值。
[0157]
以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种变换,这些简单变型均属于本发明的保护范围。
[0158]
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征和步骤,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
[0159]
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
技术特征:
1.一种s形速度曲线快速插补计算的方法,其特征在于,所述的方法包括以下步骤:s101读取即时运动参数;s102即时运动参数按顺序初始化修正;s103输出当前的位置增量;s104按顺序修正运动参数获取所需实际参数;s105重复步骤s103,进入下一个循环。2.根据权利要求1所述的一种s形速度曲线快速插补计算的方法,其特征在于:步骤s101所述的即时运动参数包括速度v、加速度a、加加速度j和加加加速度s;其中,规划好的s形速度曲线,某任意阶段的某个时刻,即时的运动状态为(v,a,j,s),该阶段该时刻后还有n个完整的插补周期t。3.根据权利要求1所述的一种s形速度曲线快速插补计算的方法,其特征在于,步骤s102所述的即时运动参数按顺序初始化修正公式为:s102所述的即时运动参数按顺序初始化修正公式为:s102所述的即时运动参数按顺序初始化修正公式为:式中,左箭头符号
←
表示将右边的表达式计算结果赋给左边的变量,t为插补周期。4.根据权利要求1所述的一种s形速度曲线快速插补计算的方法,其特征在于,步骤s103所述的输出当前的位置增量为v*t。5.根据权利要求1所述的一种s形速度曲线快速插补计算的方法,其特征在于,步骤s103所述的输出当前的位置增量后,令n
←
n-1,如果n=0,表明输出已完成,退出;如果n≠0,则进行s104步骤。6.根据权利要求1所述的一种s形速度曲线快速插补计算的方法,其特征在于,步骤s104所述的按顺序修正运动参数获取所需实际参数公式为:j
←
j+s*t,a
←
a+j*t,v
←
v+a*t,式中,左箭头符号
←
表示将右边的表达式计算结果赋给左边的变量,t为插补周期。7.根据权利要求1所述的一种s形速度曲线快速插补计算的方法,其特征在于,所述的s形速度曲线为15段式s形速度曲线。8.根据权利要求1所述的一种s形速度曲线快速插补计算的方法,其特征在于,所述的s形速度曲线为7段式s形速度曲线。9.根据权利要求1或8所述的一种s形速度曲线快速插补计算的方法,其特征在于,所述的加加加速度s=0时,所述的方法为:s201对即时运动参数初始化修正:s202输出当前的位置增量:v*t;s203令n
←
n-1,当n=0,表明输出已完成,退出;当n≠0,则进行s204步骤;
s204按下面顺序,修正运动参数:a
←
a+j*t;v
←
v+a*t;s205转到步骤s202,进入下一个循环。10.根据权利要求3或4或6或8所述的一种s形速度曲线快速插补计算的方法,其特征在于,所述的插补周期t为时间常量;将运动参数(v,a,j,s)的时间单位转化为以t为单位,则上述公式中的*t和/或*t2和/或*t3等同于“*1”,不用实际作乘法运算,省去上述公式中*t和/或*t2和/或*t3乘法运算;将运动参数中的长度单位,转换成设备的脉冲当量,插补所得的位置增量无需单位转换,即为所需的脉冲值。
技术总结
本发明涉及数控机床控制技术领域,具体涉及一种S形速度曲线快速插补计算的方法。所述的方法包括以下步骤:S101读取即时运动参数;S102即时运动参数按顺序初始化修正;S103输出当前的位置增量;S104按顺序修正运动参数获取所需实际参数;S105重复步骤S103,进入下一个循环。本发明的优点在于:方法简单、高效。优化效果好。实时性高,指向性高。指向性高。
技术研发人员:郭先强 何长安 彭伟
受保护的技术使用者:苏州谋迅智能科技有限公司
技术研发日:2022.11.14
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/