[发明专利]数控机床S型加减速控制方法有效

专利信息
申请号: 201410421152.9 申请日: 2014-08-25
公开(公告)号: CN104181860A 公开(公告)日: 2014-12-03
发明(设计)人: 许守金;杨亮亮;史伟民 申请(专利权)人: 浙江理工大学
主分类号: G05B19/18 分类号: G05B19/18
代理公司: 杭州天正专利事务所有限公司 33201 代理人: 王兵;黄美娟
地址: 310018 浙江*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 数控机床S型加减速控制方法,首先把加工程序输入数控系统,数控装置得到必要的数据,然后根据用时最短原则和速度、加速度的限制条件把S型加减速控制中所涉及的五元非线性方程组分解为二个二元非线性方程组和一个一元线性方程,采用牛顿迭代法和迭代修正的方式逐步求解出符合要求的加减速时间,进而求出速度曲线,最后进行插补运算,输出脉冲完成工件的加工任务。本发明能有效避免现有S型加减速控制的复杂、繁琐运算,提供了一种精度高、求解用时短、易于理解、便于实现的加减速控制方法。
搜索关键词: 数控机床 减速 控制 方法
【主权项】:
数控机床S型加减速控制方法,其特征在于步骤如下:第一步:把数控机床加工程序输入数控系统,得到各线段轨迹的起点和终点坐标值等数据,进而计算出各线段轨迹的长度,根据数控系统以及工件的工艺要求确定加加速度、最大限制加速度、最大限制速度;第二步:求第一段待加工轨迹加速度变化时间即tj1、tj2值:一般情况S型加减速控制包含七个加速度变化段,即加加速度段、匀加速段、减加速度段、匀速度段、加减速度段、匀减速段和减减速度段,始末速度与加减速时间的关系如公式(1)所示,长度与加减速时间的关系如公式(2)所示:ve=vs+jtj12+jtj1ta1-jtj22-tj2ta2---(1)]]>s=2vstj1+(vs+12jtj12)ta1+12jta12tj1+(jtj12+jtj1ta1)tj1+(vs+jtj1ta1+jtj12)tv1+(vs+jtj1ta1+jtj12)tj2-16jtj23+(vs+jtj1ta1+jtj12-12jtj22)ta2-12jtj2ta22+(vs+jtj1ta1+jtj12-12jtj22-jtj2ta2)tj2-13jtj23---(2)]]>其中S是长度,j是加加速度,vs是初始速度,ve是末速度,am是最大限制加速度,vm是最大限制速度以上都是已知量,tj1是加加速度时间同时也是减加速度时间、ta1是匀加速时间、tv1是匀速度时间、tj2是加减速度时间同时也是减减速度时间、ta2匀减速时间,这五个量都是未知量;式子(1)、(2)有五个未知量,但是只有二个关系式,直接根据关系式无法得到确切解,从实际情况考虑,总是希望在满足加工精度要求下,以最短的时间完成加工任务,因此先假定ta1=0,ta2=0,tv1=0,求得tj1,tj2值,由公式(1)、(2)可得到关于速度和长度的二个方程:ve=vs+jtj12-jtj22---(3)]]>s=2vstj1+jtj13+2(vs+jtj12)tj2-jtj23---(4)]]>对上述公式(3)、(4)分别构造成二个函数式f(tj1,tj2)、g(tj1,tj2):f(tj1,tj2)=vs+jtj12-jtj22-ve---(5)]]>g(tj1,tj2)=2vstj1+jtj13+2(vs+jtj12)tj2-jtj23-s---(6)]]>求上述二个函数(5)、(6)的一阶偏导数并构成矩阵A;A=ftj1ftj2gtj1gtj2---(7)]]>其中是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,计算公式如下所示:tj=s4vs---(8)]]>tj10=tjtj20=tj---(9)]]>把tj10、tj20分别代入上述公式(5)、(6)求得一组函数值,并构成矩阵B:B=f(tj10,tj20)g(tj10,tj20)---(10)]]>把tj10,tj20代入A_inv,进而计算一次迭代值tj11,tj21,计算公式如下(11):tj11tj21=tj10tj20-A_inv×B---(11)]]>利用计算出的迭代值计算迭代精度esp:esp=((tj11-tj10)2+(tj21-tj20)2)2---(12)]]>判断精度要求是否满足要求,如果不满足则把计算出的迭代值代入公式(10)、(11)、(12)进行计算,直到计算出满足精度要求的迭代值,如果迭代始终无法收敛,则迭代次数达到设定值就停止迭代,进行后面的计算过程;由于采用迭代法求出的收敛值只是近似最优解,并且考虑到速度和长度的限制,求出的收敛值可能不是我们所需要的结果,如果最终收敛值是一组负数解,根据实际情况,这时我们需要的就不是最终收敛值,而是最接近收敛解的一组正数解。可对每次求出的迭代值进行保存,如果求出的迭代值中有一个是正数一个是负数,让负数为零后作为迭代值进行保存,当最终收敛值是一组负数解,取最接近最终收敛值的一组非负迭代值作为最终计算结果;考虑速度,加速度限制,由于最大速度vqm出现减加速度段结束时,由公式(1)可得计算公式为:vqm=vs+jtj12---(13)]]>判断最大限制速度vm是否小于vqm,如果小于,说明速度要求不满足,需要重新计算tj1,计算公式如下:tj1=vm-vsj---(14)]]>再判断加速度限制要求,加速度最大值aqm出现在加加速度段结束时,计算公式如下:aqm=jtj1  (15)判断最大限制加速度am是否小于aqm,如果小于,说明加速度要求不满足,需要重新计算tj1,计算公式如下:tj1=amj---(16)]]>此时tj2与tj1相关,tj1改变则相应的tj2也需要重新计算,由公式(3)可得:ve=vs+jtj12-jtj22---(17)]]>由上述公式可求出tj1改变后的tj2的值,判断加减速阶段达到的加速度最大值aqm是否满足要求,计算公式如下:aqm=jtj2  (18)判断am是否小于aqm,如果小于,说明加减速度阶段的加速度也不满足要求,需要重新计算tj2,计算公式如下:tj2=amj---(19)]]>这样就求出满足速度和加速度限制要求的tj1、tj2的值;由于用迭代法求出的最优解,存在着误差,为了减少误差,提高准确度,需要根据始末速度限制条件和长度限制条件对求出的tj1,tj2,再次进行迭代修正,考虑到计算出的时间必须满足加速度和速度的限制要求则进行第二次迭代修正时,时间值tj1、tj2只能减少不能增加,速度误差v_esp计算公式如下:v_esp=vs+jtj12-jtj22-ve---(20)]]>设定某一精度值ESP,假定ESP=0.01,如果v_esp>ESP,则说明tj1取得值较大,相应的tj1减少一个伺服周期Ts,再代入公式(20)进行计算比较,如果还不满足要求,则继续减少,一直减少到满足要求为止,如果tj1减到零时,也无法满足要求,则退出循环;如果v_esp<‑ESP,则说明tj2取得值较大,相应的tj2减少一个伺服周期Ts,再代入公式(20)进行计算比较,一直减少到满足要求为止,如果tj2减到零时,也无法满足要求,则退出循环;根据长度限制条件进行判断,对求出的tj1,tj2,进行迭代修正。计算公式如下:s_esp=2vstj1+jtj13+2(vs+jtj12)tj2-jtj23-s---(21)]]>其中s_esp是根据规划的时间计算得到的长度值和实际长度值之差,如果s_esp>0,则说明按照计算出的时间进行加工,加工长度值会大于所要求的长度值,这不符合实际要求,所以必须减少规划的时间,tj1相应的减少一个伺服周期值,由于涉及的是长度的变化,它与tj1,tj2都相关,所以相应的tj2也要改变,由公式(3)可得tj2的计算公式如下:tj2=vs+jtj12-vej---(22)]]>再代入上述公式(21)计算长度误差进行比较,如果还不满足要求则重复此过程;当s_temp<0说明按照计算出的时间进行加工的长度量小于实际的长度,这和实际情况相符,说明还有其他的速度变化段,结束迭代修正过程;综上过程就能求出满足要求、误差减到最小的tj1,tj2的值;第三步:求第一段待加工轨迹匀加速段和匀减速段时间即ta1、ta2值:由于速度、加速度的限制,一般会出现匀加速段和匀减速段,考虑用时最短原则,假定tv1=0,有公式(1)、(2)可得到关于始末速度和长度限制的二个方程:ve=vs+jtj12+jtj1ta1-jtj22-tj2ta2---(23)]]>s=2vstj1+(vs+12jtj12)ta1+12jta12tj1+(jtj12+jtj1ta1)tj1+(vs+jtj1ta1+jtj12)tj2+(vs+jtj1ta1+jtj12-12jtj22)ta2-12jtj2ta22+(vs+jtj1ta1+jtj12-12jtj22-jtj2ta2)tj2-12jtj23---(24)]]>对上述公式(23)、(24)分别构造成二个函数式f(ta1,ta2)、g(ta1,ta2):f(ta1,ta2)=vs+jtj12+jtj1ta1-jtj22-tj2ta2-ve---(25)]]>g(ta1,ta2)=2vstj1+(vs+12jtj12)ta1+12jta12tj1+(jtj12+jtj1ta1)tj1+(vs+jtj1ta1+jtj12)tj2+(vs+jtj1ta1+jtj12-12jtj22)ta2-12jtj2ta22+(vs+jtj1ta1+jtj12-12jtj22-jtj2ta2)tj2-12jtj23-s---(26)]]>求上述二个函数(25)、(26)的一阶偏导数并构成矩阵A:A=fta1fta2gta1gt2---(27)]]>其中是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:12jta2tj1+2vstj1+(vs+12jtj12)ta+jtj13+jtj12ta+(vs+jtj1ta+jtj12)tj2+(vs+jtj1ta+jtj12-12jtj22)ta-12jtj2ta2+(vs+jtj1ta+jtj12-12jtj22-jtj2ta)tj2-12jtj23-s=0---(28)]]>由于tj1、tj2在第一步中已经求得具体值,式子里面只有ta是未知量,是关于ta的一元二次方程,解方程可得二个根取其中较大值作为ta的解,如果求出的值都是负值,ta取值为0,把ta赋值给ta10、ta20作为迭代初值,把ta10、ta20代入上述公式(25)、(26)求得一组函数值,并构成矩阵B:B=f(ta10,ta20)g(ta10,ta20)---(29)]]>把ta10、ta20代入A_inv,进而计算一次迭代值ta11,ta21:ta11ta21=ta10ta20-A_inv×B---(30)]]>利用计算出的迭代值计算迭代精度esp,计算公式如下:esp=((ta11-ta10)2+(ta21-ta20)2)2---(31)]]>判断精度要求是否满足要求,如果不满足则把计算出的迭代值重新代入公式(29)、(30)、(31),直到计算出满足精度要求的迭代值,如果迭代始终无法收敛,则迭代次数达到设定值就停止迭代,进行后面的计算过程;由于采用迭代法求出的收敛值只是近似最优解,并且考虑到速度和长度的限制,求出的收敛值可能不是我们所需要的结果,如果最终收敛值是一组负数解,根据实际情况,这时我们需要的就不是最终收敛值,而是最接近收敛解的一组正数解;可对每次求出的迭代值进行保存,如果求出的迭代值中有一个是正数一个是负数,让负数为零后作为迭代值进行保存,当最终收敛值是一组负数解,取最接近最终收敛值的一组非负迭代值作为最终计算结果;考虑速度限制,由于最大速度vqm出现减加速度段结束时,计算公式为:vqm=vs+jtj12+jtj1ta1---(32)]]>判断最大限制速度vm是否小于vqm,如果小于,那ta1必须重新计算,计算公式如下:ta1=vm-vsjtj1-tj1---(33)]]>如果ta1变化,相应的ta2也要随着变化,有公式(23)可得计算公式如下:ta2=vs+jtj12+jtj1ta1-jtj22-vejtj2---(34)]]>可求得新的ta2值;由于用迭代法求出的最优解,存在着误差,为了减少误差,提高准确度,需要根据始末速度限制条件和长度限制条件对求出的ta1、ta2,再次进行迭代修正;考虑到计算出的时间必须满足速度的限制要求则进行第二次迭代修正时,时间值ta1、ta2只能减少不能增加,速度误差v_esp计算公式如下:v_esp=vs+jtj12+jtj1ta1-jtj22-tj2ta2-ve---(35)]]>设定某一精度值ESP,假定ESP=0.01,如果v_esp>ESP,则说明ta1取得值较大,相应的ta1减少一个伺服周期值,再代入公式(35)进行计算比较,如果还不满足要求,则继续减少,一直减少到满足要求为止,如果ta1减到零时,也无法满足要求,则退出循环;如果v_esp<‑ESP,则说明ta2取得值较大,相应的ta2减少一个伺服周期值,再代入公式(35)进行计算比较,一直减少到满足要求为止,如果ta2减到零时,也无法满足要求,则退出循环,进行后面的计算;根据长度限制条件对求出的ta1、ta2,进行迭代修正,由公式(24)可得计算公式如下:s_esp=2vstj1+(vs+12jtj12)ta1+12jta12tj1+(jtj12+jtj1ta1)tj1+(vs+jtj1ta1+jtj12)tj2+(vs+jtj1ta1+jtj12-12jtj22)ta2-12jtj2ta22+(vs+jtj1ta1+jtj12-12jtj22-jtj2ta2)tj2-12jtj23-s---(36)]]>其中s_esp是根据规划的时间计算得到的长度值和实际长度值之差,如果s_esp>0,则说明按照计算出的时间进行加工,加工长度值会大于所要求的长度值,这不符合实际要求,所以必须减少规划的时间,ta1相应的减少一个伺服周期值,由于涉及的是长度的变化,它与ta1、ta2都相关,所以相应的ta2也要改变,由公式(23)可得ta2的计算公式为:ta2=vs+jtj12+jtj1ta1-jtj22-vejtj2---(37)]]>根据求出的ta1、ta2的代入上述长度误差公式(36)重新计算s_esp,如果不满足要求,则反复进行这个步骤,直到s_esp小于零或者ta1等于零为止;综上过程就能求出满足要求、误差减到最小的ta1、ta2值;第四步:求第一段待加工轨迹匀速段时间即tv1值:求tv1时,通过前面三步,四个满足要求的时间参数值tj1、tj2、ta1、ta2已经求出,不存在的阶段时间参数值等于0,由于求tv1,只有一个公式,且是一元一次方程,必有一个解,把tj1、tj2、ta1、ta2代入,即可解出tv1值,由公式(2)可得计算公式如下:s=2vstj1+(vs+12jtj12)ta1+12jta12tj1+(jtj12+jtj1ta1)tj1+(vs+jtj1ta1+jtj12)tv1+(vs+jtj1ta1+jtj12)tj2-16jtj23+(vs+jtj1ta1+jtj12-12jtj22)ta2-12jtj2ta22+(vs+jtj1ta1+jtj12-12jtj22-jtj2ta2)tj2-13jtj23---(38)]]>通过这个公式可以求出tv1,如果求出的tv1为非正数则说明匀速运动阶段不存在,则tv1赋值为零;至此第一段待加工轨迹的加减速变化时间都已经求出,根据加减速变化时间,可以得到此待加工轨迹的速度曲线;第五步:判断是否还存在其他待加工轨迹线段如果还有则重复第二、三、四、五步,并且上一段轨迹的末速度作为下一段轨迹的起始速度代入计算,最后一段的末速度为零;如果没有其他线段则进行第六步;第六步:根据求出的速度曲线以及起始点,进行插补运算计算出中间点的坐标值,根据坐标值变化向相应坐标输出脉冲信号,控制各执行元件的进给速度、进给方向和进给长度量等,进而完成工件的加工任务。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江理工大学;,未经浙江理工大学;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410421152.9/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top