数控机床S型加减速控制方法
技术领域
本发明涉及数控系统领域,特别是涉及数控机床S型加减速控制方法。
背景技术
随着技术的飞速发展,开放式的数控系统研究已经成为世界各国数控界研究的热点,而我国目前在这一领域的研究相对落后,尤其是在加减速控制技术的研究上,与国外还有很大的差距。数控机床的进给速度与加工精度、生产率以及工件表面粗糙度有着密切关系,数控机床的进给速度应该稳定、停止的位置准确。因此数控机床系统必须具有加减速控制功能,现在较为流行的加减速控制是S型加减速控制,相比直线型加减速和指数型加减速控制,S型加减速控制有速度曲线光滑、均匀、运动平稳、无冲击等优势。S型加减速控制能较好的实现机床各轴的平滑启停和速度切换,可做到无加速的突变,能够较好的减少机床的运动冲击和震荡,从而有效的提高工件的加工质量,特别适用于高速高精加工。
一般S型速度曲线是关于时间的多项式,其长度曲线的最大阶次可以是3次、4次、5次。高阶的曲线可以获得高阶的连续导数,但计算量也会更大。在应用中,长度曲线大于3阶对加工精度影响不明显,实际上最为常用的是限制加加速度的2次S型速度曲线即3次长度曲线,本发明采用的S型加减速曲线即是2次S型速度曲线。一个完整的S型加减速曲线要包括7个速度曲线段,即加加速段、匀加速段、减加速段、匀速度段、加减速段、匀减速段和减减速度段。一般情况下,S型加减速曲线包含5个时间未知量,始末速度不为零的S型运动曲线,加速度曲线会有十四情形,又涉及到多元非线性方程,计算比较繁琐,没有统一的公式解法,并且在加减速时间规划中这5个时间未知量不能为负数,这就使得求解S型加减速控制的各阶段时间尤为复杂。
发明内容
本发明要克服现有技术的上述不足,提供一种数控机床S型加减速控制方法,避免现有S型加减速控制的复杂、繁琐运算,提供了一种精度高、易于理解、便于实现的控制方法。
所述一种数控机床S型加减速控制方法包括以下步骤:
第一步:把数控机床加工程序输入数控系统,得到各线段轨迹的起点和终点坐标值等数据,进而计算出各线段轨迹的长度,根据数控系统以及工件的工艺要求确定加加速度、最大限制加速度、最大限制速度。
第二步:求第一段待加工轨迹加速度变化时间即tj1、tj2值。
一般情况S型加减速控制包含七个加速度变化段,即加加速度段、匀加速段、减加速度段、匀速度段、加减速度段、匀减速段和减减速度段。始末速度与加减速时间的关系如公式(1)所示,长度与加减速时间的关系如公式(2)所示:
其中S是长度,j是加加速度,vs是初始速度,ve是末速度,am是最大限制加速度,vm是最大限制速度以上都是已知量,tj1是加加速度时间同时也是减加速度时间、ta1是匀加速时间、tv1是匀速度时间、tj2是加减速度时间同时也是减减速度时间、ta2匀减速时间,这五个量都是未知量。
式子(1)、(2)有五个未知量,但是只有二个关系式,直接根据关系式无法得到确切解,从实际情况考虑,总是希望在满足加工精度要求下,以最短的时间完成加工任务。因此先假定ta1=0,ta2=0,tv1=0,求得tj1,tj2值,由公式(1)、(2)可得到关于速度和长度的二个方程:
对上述公式(3)、(4)分别构造成二个函数式f(tj1,tj2)、g(tj1,tj2):
求上述二个函数(5)、(6)的一阶偏导数并构成矩阵A;
其中是f(tj1,tj2)关于tj1的一阶偏导数,是f(tj1,tj2)关于tj2的一阶偏导数,是g(tj1,tj2)关于tj1的一阶偏导数,是g(tj1,tj2)关于tj2的一阶偏导数。
求得偏导数矩阵A的逆矩阵A_inv,计算tj1、tj2的迭代初值,好的迭代初值能快速收敛,节省计算时间,由于tj1、tj2在很多情形下,二个值相差不大,并且迭代初值也不需要太精确,因此把tj1、tj2看作相等的值tj,用简化的长度限制条件求出tj,并把tj赋值给tj10,tj20,计算公式如下所示:
把tj10、tj20分别代入上述公式(5)、(6)求得一组函数值,并构成矩阵B:
把tj10,tj20代入A_inv,进而计算一次迭代值tj11,tj21,计算公式如下(11):
利用计算出的迭代值计算迭代精度esp:
判断精度要求是否满足要求,如果不满足则把计算出的迭代值代入公式(10)、(11)、(12)进行计算,直到计算出满足精度要求的迭代值,如果迭代始终无法收敛,则迭代次数达到设定值就停止迭代,进行后面的计算过程。
由于采用迭代法求出的收敛值只是近似最优解,并且考虑到速度和长度的限制,求出的收敛值可能不是我们所需要的结果,如果最终收敛值是一组负数解,根据实际情况,这时我们需要的就不是最终收敛值,而是最接近收敛解的一组正数解。可对每次求出的迭代值进行保存,如果求出的迭代值中有一个是正数一个是负数,让负数为零后作为迭代值进行保存,当最终收敛值是一组负数解,取最接近最终收敛值的一组非负迭代值作为最终计算结果。
考虑速度,加速度限制,由于最大速度vqm出现减加速度段结束时,由公式(1)可得计算公式为:
判断最大限制速度vm是否小于vqm,如果小于,说明速度要求不满足,需要重新计算tj1,计算公式如下:
再判断加速度限制要求,加速度最大值aqm出现在加加速度段结束时,计算公式如下:
aqm=jtj1 (15)
判断最大限制加速度am是否小于aqm,如果小于,说明加速度要求不满足,需要重新计算tj1,计算公式如下:
此时tj2与tj1相关,tj1改变则相应的tj2也需要重新计算,由公式(3)可得:
由上述公式可求出tj1改变后的tj2的值。
判断加减速阶段达到的加速度最大值aqm是否满足要求,计算公式如下:
aqm=jtj2 (18)
判断am是否小于aqm,如果小于,说明加减速度阶段的加速度也不满足要求,需要重新计算tj2,计算公式如下:
这样就求出满足速度和加速度限制要求的tj1、tj2的值。
由于用迭代法求出的最优解,存在着误差,为了减少误差,提高准确度,需要根据始末速度限制条件和长度限制条件对求出的tj1,tj2,再次进行迭代修正。考虑到计算出的时间必须满足加速度和速度的限制要求则进行第二次迭代修正时,时间值tj1、tj2只能减少不能增加。速度误差v_esp计算公式如下:
设定某一精度值ESP,假定ESP=0.01,如果v_esp>ESP,则说明tj1取得值较大,相应的tj1减少一个伺服周期Ts,再代入公式(20)进行计算比较,如果还不满足要求,则继续减少,一直减少到满足要求为止,如果tj1减到零时,也无法满足要求,则退出循环;如果v_esp<-ESP,则说明tj2取得值较大,相应的tj2减少一个伺服周期Ts,再代入公式(20)进行计算比较,一直减少到满足要求为止,如果tj2减到零时,也无法满足要求,则退出循环。
根据长度限制条件进行判断,对求出的tj1,tj2,进行迭代修正。计算公式如下:
其中s_esp是根据规划的时间计算得到的长度值和实际长度值之差。如果s_esp>0,则说明按照计算出的时间进行加工,加工长度值会大于所要求的长度值,这不符合实际要求,所以必须减少规划的时间,tj1相应的减少一个伺服周期值,由于涉及的是长度的变化,它与tj1,tj2都相关,所以相应的tj2也要改变,由公式(3)可得tj2的计算公式如下:
再代入上述公式(21)计算长度误差进行比较,如果还不满足要求则重复此过程;当s_temp<0说明按照计算出的时间进行加工的长度量小于实际的长度,这和实际情况相符,说明还有其他的速度变化段,结束迭代修正过程。
综上过程就能求出满足要求、误差减到最小的tj1,tj2的值。
第三步:求第一段待加工轨迹匀加速段和匀减速段时间即ta1、ta2值。
由于速度、加速度的限制,一般会出现匀加速段和匀减速段,考虑用时最短原则,假定tv1=0,有公式(1)、(2)可得到关于始末速度和长度限制的二个方程:
对上述公式(23)、(24)分别构造成二个函数式f(ta1,ta2)、g(ta1,ta2):
求上述二个函数(25)、(26)的一阶偏导数并构成矩阵A:
其中是f(ta1,ta2)关于ta1的一阶偏导数,是f(ta1,ta2)关于ta2的一阶偏导数,是g(ta1,ta2)关于ta1的一阶偏导数,是g(ta1,ta2)关于ta2的一阶偏导数。
求出偏导数矩阵A的逆矩阵A_inv,计算ta1、ta2的迭代初值,好的迭代初值能快速收敛,节省计算时间,由于ta1、ta2在很多情形下,二个值相差不大,并且迭代初值也不需要太精确,因此ta1、ta2看作相等的值ta,代入公式(24)可得到简化的长度公式(28),求出ta:
由于tj1、tj2在第一步中已经求得具体值,式子里面只有ta是未知量,是关于ta的一元二次方程,解方程可得二个根取其中较大值作为ta的解,如果求出的值都是负值,ta取值为0,把ta赋值给ta10、ta20作为迭代初值,把ta10、ta20代入上述公式(25)、(26)求得一组函数值,并构成矩阵B:
把ta10、ta20代入A_inv,进而计算一次迭代值ta11,ta21:
利用计算出的迭代值计算迭代精度esp,计算公式如下:
判断精度要求是否满足要求,如果不满足则把计算出的迭代值重新代入公式(29)、(30)、(31),直到计算出满足精度要求的迭代值,如果迭代始终无法收敛,则迭代次数达到设定值就停止迭代,进行后面的计算过程。
由于采用迭代法求出的收敛值只是近似最优解,并且考虑到速度和长度的限制,求出的收敛值可能不是我们所需要的结果,如果最终收敛值是一组负数解,根据实际情况,这时我们需要的就不是最终收敛值,而是最接近收敛解的一组正数解。可对每次求出的迭代值进行保存,如果求出的迭代值中有一个是正数一个是负数,让负数为零后作为迭代值进行保存,当最终收敛值是一组负数解,取最接近最终收敛值的一组非负迭代值作为最终计算结果。
考虑速度限制,由于最大速度vqm出现减加速度段结束时,计算公式为:
判断最大限制速度vm是否小于vqm,如果小于,那ta1必须重新计算,计算公式如下:
如果ta1变化,相应的ta2也要随着变化,有公式(23)可得计算公式如下:
可求得新的ta2值。
由于用迭代法求出的最优解,存在着误差,为了减少误差,提高准确度,需要根据始末速度限制条件和长度限制条件对求出的ta1、ta2,再次进行迭代修正。考虑到计算出的时间必须满足速度的限制要求则进行第二次迭代修正时,时间值ta1、ta2只能减少不能增加。速度误差v_esp计算公式如下:
设定某一精度值ESP,假定ESP=0.01,如果v_esp>ESP,则说明ta1取得值较大,相应的ta1减少一个伺服周期值,再代入公式(35)进行计算比较,如果还不满足要求,则继续减少,一直减少到满足要求为止,如果ta1减到零时,也无法满足要求,则退出循环;如果v_esp<-ESP,则说明ta2取得值较大,相应的ta2减少一个伺服周期值,再代入公式(35)进行计算比较,一直减少到满足要求为止,如果ta2减到零时,也无法满足要求,则退出循环,进行后面的计算。
根据长度限制条件对求出的ta1、ta2,进行迭代修正。由公式(24)可得计算公式如下:
其中s_esp是根据规划的时间计算得到的长度值和实际长度值之差。如果s_esp>0,则说明按照计算出的时间进行加工,加工长度值会大于所要求的长度值,这不符合实际要求,所以必须减少规划的时间,ta1相应的减少一个伺服周期值,由于涉及的是长度的变化,它与ta1、ta2都相关,所以相应的ta2也要改变,由公式(23)可得ta2的计算公式为:
根据求出的ta1、ta2的代入上述长度误差公式(36)重新计算s_esp,如果不满足要求,则反复进行这个步骤,直到s_esp小于零或者ta1等于零为止。
综上过程就能求出满足要求、误差减到最小的ta1、ta2值。
第四步:求第一段待加工轨迹匀速段时间即tv1值。
求tv1时,通过前面三步,四个满足要求的时间参数值tj1、tj2、ta1、ta2已经求出,不存在的阶段时间参数值等于0,由于求tv1,只有一个公式,且是一元一次方程,必有一个解,把tj1、tj2、ta1、ta2代入,即可解出tv1值。由公式(2)可得计算公式如下:
通过这个公式可以求出tv1,如果求出的tv1为非正数则说明匀速运动阶段不存在,则tv1赋值为零。
至此第一段待加工轨迹的加减速变化时间都已经求出,根据加减速变化时间,可以得到此待加工轨迹的速度曲线。
第五步:判断是否还存在其他加工轨迹线段如果还有则重复第二、三、四、五步,并且上一段轨迹的末速度作为下一段轨迹的起始速度代入计算,最后一段的末速度为零;如果没有其他线段则进行第六步。
第六步:根据求出的速度曲线以及起始点,进行插补运算计算出中间点的坐标值,根据坐标值变化向相应坐标输出脉冲信号,控制各执行元件的进给速度、进给方向和进给长度量等,进而完成工件的加工任务。
本发明与现有技术相比具有如下优点和效果:
本发明算法采用牛顿迭代法和迭代修正的方式逐步求解出符合要求的加减速时间,避免现有S型加减速控制的复杂、繁琐运算,提供了一种精度高、易于理解、便于实现的计算方法。通过与现有技术对比,本发明算法在求解时,所需要的计算时间更短,精度更高,求出的时间能很好的满足加工要求,减少机床运动冲击和震荡,特别适合高速高精加工,提高了机床的加工精度和效率。本发明对数控系统加减速控制技术的研究成果,无疑具有重要的现实意义和实用价值。
附图说明
图1是本发明方法的计算流程图
图2是本发明方法不考虑加速度、速度限制的加速度变化示意图
图3是本发明方法不考虑匀速段的加速度变化示意图
图4是S型加减速控制七个运动阶段都具备的加速度变化示意图
图5是分别采用本发明方法和常规S型加减速控制方法所用时间对比示意图
其中tj1是加加速度时间同时也是减加速度时间、ta1是匀加速时间、tv1是匀速度时间、tj2是加减速度时间同时也是减减速度时间、ta2匀减速时间。线A是采用本发明方法,利用matlab软件完成仿真计算所需要的时间与待加工轨迹线段长度的变化曲线,线B是采用常规S型加减速控制方法,利用matlab软件完成仿真计算所需要的时间与待加工轨迹线段长度的变化曲线。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
如图1,2,3,4实施例表明,数控机床S型加减速控制方法包括以下步骤:
第一步:把数控机床加工程序输入数控系统,得到各线段轨迹的起点和终点坐标值等数据,进而计算出各线段轨迹的长度,根据数控系统以及工件的工艺要求确定加加速度、最大限制加速度、最大限制速度。
第二步:求第一段待加工轨迹加速度变化时间即tj1、tj2值。
一般情况S型加减速控制包含七个加速度变化段,即加加速度段、匀加速段、减加速度段、匀速度段、加减速度段、匀减速段和减减速度段。始末速度与加减速时间的关系如公式(1)所示,长度与加减速时间的关系如公式(2)所示:
其中S是长度,j是加加速度,vs是初始速度,ve是末速度,am是最大限制加速度,vm是最大限制速度以上都是已知量,tj1是加加速度时间同时也是减加速度时间、ta1是匀加速时间、tv1是匀速度时间、tj2是加减速度时间同时也是减减速度时间、ta2匀减速时间,这五个量都是未知量。
式子(1)、(2)有五个未知量,但是只有二个关系式,直接根据关系式无法得到确切解,从实际情况考虑,总是希望在满足加工精度要求下,以最短的时间完成加工任务。因此先假定ta1=0,ta2=0,tv1=0,求得tj1,tj2值,由公式(1)、(2)可得到关于速度和长度的二个方程:
对上述公式(3)、(4)分别构造成二个函数式f(tj1,tj2)、g(tj1,tj2):
求上述二个函数(5)、(6)的一阶偏导数并构成矩阵A;
其中是f(tj1,tj2)关于tj1的一阶偏导数,是f(tj1,tj2)关于tj2的一阶偏导数,是g(tj1,tj2)关于tj1的一阶偏导数,是g(tj1,tj2)关于tj2的一阶偏导数。
求得偏导数矩阵A的逆矩阵A_inv,计算tj1、tj2的迭代初值,好的迭代初值能快速收敛,节省计算时间,由于tj1、tj2在很多情形下,二个值相差不大,并且迭代初值也不需要太精确,因此把tj1、tj2看作相等的值tj,用简化的长度限制条件求出tj,并把tj赋值给tj10,tj20,计算公式如下所示:
把tj10、tj20分别代入上述公式(5)、(6)求得一组函数值,并构成矩阵B:
把tj10,tj20代入A_inv,进而计算一次迭代值tj11,tj21,计算公式如下(11):
利用计算出的迭代值计算迭代精度esp:
判断精度要求是否满足要求,如果不满足则把计算出的迭代值代入公式(10)、(11)、(12)进行计算,直到计算出满足精度要求的迭代值,如果迭代始终无法收敛,则迭代次数达到设定值就停止迭代,进行后面的计算过程。
由于采用迭代法求出的收敛值只是近似最优解,并且考虑到速度和长度的限制,求出的收敛值可能不是我们所需要的结果,如果最终收敛值是一组负数解,根据实际情况,这时我们需要的就不是最终收敛值,而是最接近收敛解的一组正数解。可对每次求出的迭代值进行保存,如果求出的迭代值中有一个是正数一个是负数,让负数为零后作为迭代值进行保存,当最终收敛值是一组负数解,取最接近最终收敛值的一组非负迭代值作为最终计算结果。
考虑速度,加速度限制,由于最大速度vqm出现减加速度段结束时,由公式(1)可得计算公式为:
判断最大限制速度vm是否小于vqm,如果小于,说明速度要求不满足,需要重新计算tj1,计算公式如下:
再判断加速度限制要求,加速度最大值aqm出现在加加速度段结束时,计算公式如下:
aqm=jtj1 (15)
判断最大限制加速度am是否小于aqm,如果小于,说明加速度要求不满足,需要重新计算tj1,计算公式如下:
此时tj2与tj1相关,tj1改变则相应的tj2也需要重新计算,由公式(3)可得:
由上述公式可求出tj1改变后的tj2的值。
判断加减速阶段达到的加速度最大值aqm是否满足要求,计算公式如下:
aqm=jtj2 (18)
判断am是否小于aqm,如果小于,说明加减速度阶段的加速度也不满足要求,需要重新计算tj2,计算公式如下:
这样就求出满足速度和加速度限制要求的tj1、tj2的值。
由于用迭代法求出的最优解,存在着误差,为了减少误差,提高准确度,需要根据始末速度限制条件和长度限制条件对求出的tj1,tj2,再次进行迭代修正。考虑到计算出的时间必须满足加速度和速度的限制要求则进行第二次迭代修正时,时间值tj1、tj2只能减少不能增加。速度误差v_esp计算公式如下:
设定某一精度值ESP,假定ESP=0.01,如果v_esp>ESP,则说明tj1取得值较大,相应的tj1减少一个伺服周期Ts,再代入公式(20)进行计算比较,如果还不满足要求,则继续减少,一直减少到满足要求为止,如果tj1减到零时,也无法满足要求,则退出循环;如果v_esp<-ESP,则说明tj2取得值较大,相应的tj2减少一个伺服周期Ts,再代入公式(20)进行计算比较,一直减少到满足要求为止,如果tj2减到零时,也无法满足要求,则退出循环。
根据长度限制条件进行判断,对求出的tj1,tj2,进行迭代修正。计算公式如下:
其中s_esp是根据规划的时间计算得到的长度值和实际长度值之差。如果s_esp>0,则说明按照计算出的时间进行加工,加工长度值会大于所要求的长度值,这不符合实际要求,所以必须减少规划的时间,tj1相应的减少一个伺服周期值,由于涉及的是长度的变化,它与tj1,tj2都相关,所以相应的tj2也要改变,由公式(3)可得tj2的计算公式如下:
再代入上述公式(21)计算长度误差进行比较,如果还不满足要求则重复此过程;当s_temp<0说明按照计算出的时间进行加工的长度量小于实际的长度,这和实际情况相符,说明还有其他的速度变化段,结束迭代修正过程。
综上过程就能求出满足要求、误差减到最小的tj1,tj2的值。
第三步:求第一段待加工轨迹匀加速段和匀减速段时间即ta1、ta2值。
由于速度、加速度的限制,一般会出现匀加速段和匀减速段,考虑用时最短原则,假定tv1=0,有公式(1)、(2)可得到关于始末速度和长度限制的二个方程:
对上述公式(23)、(24)分别构造成二个函数式f(ta1,ta2)、g(ta1,ta2):
求上述二个函数(25)、(26)的一阶偏导数并构成矩阵A:
其中是f(ta1,ta2)关于ta1的一阶偏导数,是f(ta1,ta2)关于ta2的一阶偏导数,是g(ta1,ta2)关于ta1的一阶偏导数,是g(ta1,ta2)关于ta2的一阶偏导数。
求出偏导数矩阵A的逆矩阵A_inv,计算ta1、ta2的迭代初值,好的迭代初值能快速收敛,节省计算时间,由于ta1、ta2在很多情形下,二个值相差不大,并且迭代初值也不需要太精确,因此ta1、ta2看作相等的值ta,代入公式(24)可得到简化的长度公式(28),求出ta:
由于tj1、tj2在第一步中已经求得具体值,式子里面只有ta是未知量,是关于ta的一元二次方程,解方程可得二个根取其中较大值作为ta的解,如果求出的值都是负值,ta取值为0,把ta赋值给ta10、ta20作为迭代初值,把ta10、ta20代入上述公式(25)、(26)求得一组函数值,并构成矩阵B:
把ta10、ta20代入A_inv,进而计算一次迭代值ta11,ta21:
利用计算出的迭代值计算迭代精度esp,计算公式如下:
判断精度要求是否满足要求,如果不满足则把计算出的迭代值重新代入公式(29)、(30)、(31),直到计算出满足精度要求的迭代值,如果迭代始终无法收敛,则迭代次数达到设定值就停止迭代,进行后面的计算过程。
由于采用迭代法求出的收敛值只是近似最优解,并且考虑到速度和长度的限制,求出的收敛值可能不是我们所需要的结果,如果最终收敛值是一组负数解,根据实际情况,这时我们需要的就不是最终收敛值,而是最接近收敛解的一组正数解。可对每次求出的迭代值进行保存,如果求出的迭代值中有一个是正数一个是负数,让负数为零后作为迭代值进行保存,当最终收敛值是一组负数解,取最接近最终收敛值的一组非负迭代值作为最终计算结果。
考虑速度限制,由于最大速度vqm出现减加速度段结束时,计算公式为:
判断最大限制速度vm是否小于vqm,如果小于,那ta1必须重新计算,计算公式如下:
如果ta1变化,相应的ta2也要随着变化,有公式(23)可得计算公式如下:
可求得新的ta2值。
由于用迭代法求出的最优解,存在着误差,为了减少误差,提高准确度,需要根据始末速度限制条件和长度限制条件对求出的ta1、ta2,再次进行迭代修正。考虑到计算出的时间必须满足速度的限制要求则进行第二次迭代修正时,时间值ta1、ta2只能减少不能增加。速度误差v_esp计算公式如下:
设定某一精度值ESP,假定ESP=0.01,如果v_esp>ESP,则说明ta1取得值较大,相应的ta1减少一个伺服周期值,再代入公式(35)进行计算比较,如果还不满足要求,则继续减少,一直减少到满足要求为止,如果ta1减到零时,也无法满足要求,则退出循环;如果v_esp<-ESP,则说明ta2取得值较大,相应的ta2减少一个伺服周期值,再代入公式(35)进行计算比较,一直减少到满足要求为止,如果ta2减到零时,也无法满足要求,则退出循环,进行后面的计算。
根据长度限制条件对求出的ta1、ta2,进行迭代修正。由公式(24)可得计算公式如下:
其中s_esp是根据规划的时间计算得到的长度值和实际长度值之差。如果s_esp>0,则说明按照计算出的时间进行加工,加工长度值会大于所要求的长度值,这不符合实际要求,所以必须减少规划的时间,ta1相应的减少一个伺服周期值,由于涉及的是长度的变化,它与ta1、ta2都相关,所以相应的ta2也要改变,由公式(23)可得ta2的计算公式为:
根据求出的ta1、ta2的代入上述长度误差公式(36)重新计算s_esp,如果不满足要求,则反复进行这个步骤,直到s_esp小于零或者ta1等于零为止。
综上过程就能求出满足要求、误差减到最小的ta1、ta2值。
第四步:求第一段待加工轨迹匀速段时间即tv1值。
求tv1时,通过前面三步,四个满足要求的时间参数值tj1、tj2、ta1、ta2已经求出,不存在的阶段时间参数值等于0,由于求tv1,只有一个公式,且是一元一次方程,必有一个解,把tj1、tj2、ta1、ta2代入,即可解出tv1值。由公式(2)可得计算公式如下:
通过这个公式可以求出tv1,如果求出的tv1为非正数则说明匀速运动阶段不存在,则tv1赋值为零。
至此第一段待加工轨迹的加减速变化时间都已经求出,根据加减速变化时间,可以得到此待加工轨迹的速度曲线。
第五步:判断是否还存在其他加工轨迹线段如果还有则重复第二、三、四、五步,并且上一段轨迹的末速度作为下一段轨迹的起始速度代入计算,最后一段的末速度为零;如果没有其他线段则进行第六步。
第六步:根据求出的速度曲线以及起始点,进行插补运算计算出中间点的坐标值,根据坐标值变化向相应坐标输出脉冲信号,控制各执行元件的进给速度、进给方向和进给长度量等,进而完成工件的加工任务。
如图5实施例表明,为验证本发明算法的可行性,,用matlab软件模拟数控系统进行仿真计算,分别用本发明方法和常规S型加减速控制方法进行编程,常规S型加减速控制方法的加减速时间是采用消元迭代法进行计算。给定限制条件:起始速度vs等于0.06(m/s),末速度ve等于0.03(m/s),加加速度j等于25(m/s3),伺服周期Ts等于0.001(s),最大限制加速度am等于5(m/s2),最大限制速度vm等于0.8(m/s),把长度量作为唯一变量,长度量S从0.005(m)到5000(m)进行等间距取值,统计采用这二种方法分别取不同的长度值时,matlab仿真完成所需要的时间。
通过图5可以看出在长度S小于0.05(m)时,采用本发明算法比采用常规的求解方法所需要的时间要多一些,但是当长度S大于0.05(m)时,本发明算法的优势就能体现出来,所花费的时间要明显小于常规的求解方法,并且随着长度的增加,求解时间基本稳定0.001(s),这说明本发明算法能够满足高速高精的加工要求,能有效的提高数控系统的精度和效率。
显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本发明可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。
本发明所要求保护的范围仅由所述的权利要求书进行限定。