查看: 3394|回复: 39
收起左侧

[教程经验] 分享-斜坡运动时间计算

Slimming 2022-11-10 18:26:57 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
一、简述
汇川中型机的斜坡代表的是速度的变化趋势,轴的斜坡方式分为4种:梯形、sin平方、二次方、二次方平滑
离散运动主要包括绝对运动和相对运动,在不同的斜坡类型中,运行出的曲线也各不相同。
本文主要介绍以这几种方式进行位置运动的时间计算,部分设备工艺中需要计算设备运行效率,可以使用此部分程序计算,程序放在附件中,需要自取。
梯形.gif

二、斜坡方式
1.梯形
梯形是默认的斜坡方式,也是最常用的斜坡方式。
梯形的本质是直线加减速,对于位置的控制更为直观,对速度的规划也更简单,以至于在凸轮曲线类型中,也会常常使用梯形曲线。
梯形曲线图如下,直线的加减速所带来的后果就是存在加速度的突变,通常我们更在意速度的连续性,若负载要求电机出力柔和,那么梯形可能就不适用。
image.png
关于梯形的相关计算也相对容易,已知设定位置fPos,设定速度fVel,设定加速度fAcc,设定减速度fDec,对于梯形的计算可以先从速度和时间入手。
电机在一段位置中的运动时间可以进行细分,定义加速时间fT1,匀速时间fT2,减速时间fT3,加速距离fP1,匀速距离fP2,减速距离fP3,
1668068023231.jpg

fT2的计算,其实是需要判断是否存在同步区间的,例如位置是1,速度无限大,那么设定速度必然无法达到,就不存在匀速区间,如下图。
image.png

所以在进行计算时,需要判断fP1+fP3和fPos的大小。

①若fP1+fP3>fPos则不存在匀速区间fT2=0,fVel的数值也无法到达,需要重新限定fVel的值。
根据三角形的面积计算,令 fVel * (fT1 + fT2 ) / 2= fPos,可求出fVel的表达式
1668068480794.jpg
此时根据更新后的fVel再重新计算一次fT1和fT3即可得出运动的总时间
1668068593392.jpg

②若fP1+fP3<fPos则存在匀速区间,fT2≠0。
匀速区的时间,可以直接用剩余位置除速度得出。
1668068730081.jpg




2.sin平方
sin²属于正余弦函数,由降幂公式可知,sin²等同于cos。
image.png
正余弦函数的性质不同于一元n次方程多项式,n次方程求导n+1次后结果为0,正余弦函数求导后仍然是正余弦函数,仅有系数变化,函数周期T不变。不同于梯形曲线的是余弦曲线加速度连续变化无突变,而且启动较快,所以有响应性要求又不希望力突变的可以考虑此方式。
image.png
sin平方在曲线规划上,和梯形有部分相似,fJerk均不生效,fAcc和fDec的值均可到达设定值,且最大值是设定值。
基于上述理论基础,可以假设其加速度函数fy=Asin(Bx)+C,由其性质可知,y(0)=0,A=fAcc,T=Pi/B,所以规划加速度和减速度的函数。
加速度和减速度函数:
1668070304553.jpg
针对加速度和减速度函数,做积分得出加速和减速函数,且速度最大值为fVel,最小值为0,可得出C和B的表达式。
速度和速度函数:
1668070644053.jpg

根据上述两个函数,先求出B的表达式,再求出T的表达式,就可以求出fT1和fT3的值
1668070813040.jpg


1668070969974.jpg
同样的,需要判断fP1+fP3和fPos的大小。
①若fP1+fP3>fPos则不存在匀速区间fT2=0,fVel的数值也无法到达,需要重新限定fVel的值。
根据三角形的面积计算,令 fVel * (fT1 + fT2 ) / 2= fPos,可求出fVel的表达式。
1668071446474.jpg
此时根据更新后的fVel再重新计算一次fT1和fT3即可得出运动的总时间



②若fP1+fP3<fPos则存在匀速区间,fT2≠0。
匀速区的时间,可以直接用剩余位置除速度得出。


3.二次方
二次方斜坡速度,其位置函数是三次方,二次方的速度用做曲线衔接比较方便,其加速度是一次,即直线加速度和直线减速度,运行时加速度无突变,如下图。
二次方曲线规划比较复杂,因其加加速度生效,加速度连续,速度连续,所以需要考虑速度饱和、位置饱和两种情况,非常复杂。例如因距离过短,需要限定速度运行,速度限定后可能会再限定加速度或者减速度,排列组合情况很多,本人未能全部解耦,只讲一种特殊情况,fAcc=fDec。
image.png
二次方因其加速度连续,适用于大负载运行,启停较为柔和。

假设距离、速度不被其余参数限定,按照下面曲线图来计算加减速时间的话,需要对曲线分为7段。
1加加速、2匀加速,3减加速,4匀速,5加减速,6匀减速,7减减速,下图在加加速度fJerk曲线中已标出。
image.png
简单讨论此种特殊情况。
加速时间分为3段,匀速时间1段,减速时间3段,其计算公式如下:
1668072867164.jpg

1668072932374.jpg

计算出时间和速度后,利用对称性可再计算出位置,利用梯形面积公式
1668074008797.jpg

此时需要fP1+fP3和fPos的大小,来决定是否存在4匀速段。
除4匀速段需要判断是否存在之外,还需要判断2匀加速,6匀减速是否存在,排列组合较多,此处不再过多阐述,程序中只讨论了fAcc=fDec的情况。


三、时间计算函数
针对上述的计算,本人做了一个函数,用于计算梯形、sin平方、二次方的运行时间。
参数接口包括:斜坡类型,设定位置,设定速度,设定加速度,设定减速度,设定加加速度
image.png
程序中适用case针对不同的斜坡方式,做不同的判断和计算,另外在任务中做了时间记录,用于对比计算时间和轴运动时间记录的对比,部分测试结果如下。
1.梯形

2.sin平方
sin平方.gif
3.二次方(fAcc=fDec)
二次方.gif



image.png

斜坡运动时间计算.rar

104.45 KB, 下载次数: 127

售价: 10  [记录]

点评

感谢分享!!!  发表于 2023-2-23 08:37
感谢分享  发表于 2023-1-18 15:29




上一篇:电子凸轮疑问,急,始终没得到个权威的解答!
下一篇:威伦通触摸屏程序打不开,如何解决!网友支持一下!

已有 2 人打赏作者

10004466 赏了楼主1水滴 ZHUHP 赏了楼主1水滴
1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香! 鲜花榜单
回复 邀请回答送花

使用道具 举报

Slimming 2022-11-10 18:30:37 | 显示全部楼层
二次方的情况太复杂,几种特殊情况实在求不出来了,希望路过的懂哥给点建议,日后若算出来会再补充上来

点评

大佬,二次方平滑计算方式,另外一个大佬那边有,想不想***下?  发表于 2023-4-10 18:14
回复 送花

使用道具 举报

Slimming 2022-11-10 19:27:14 来自手机 | 显示全部楼层
程序源码已放入附件中,需要的自取
回复 送花

使用道具 举报

Lion123456 2022-11-10 19:54:52 | 显示全部楼层
内容详细,感谢分享!
回复 送花

使用道具 举报

emnenn 2022-11-10 20:02:36 | 显示全部楼层
感谢分享,受益匪浅 2.png 1.png 3.png 4.png
回复 送花

使用道具 举报

Tnalll 2022-11-10 20:04:56 | 显示全部楼层
这个很实用,强烈推荐 2.png 1.png 3.png 4.png
回复 送花

使用道具 举报

44267825 2022-11-10 20:07:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 送花

使用道具 举报

finiiy 2022-11-10 20:09:24 | 显示全部楼层
实用的FB,感谢分享, 2.png 1.png 3.png 4.png
回复 送花

使用道具 举报

zwqiu 2022-11-10 20:13:33 | 显示全部楼层

感谢分享,受益匪浅
回复 送花

使用道具 举报

chb7623 2022-11-10 22:26:20 | 显示全部楼层


感谢分享,受益匪浅
1评论混水1.jpg
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部