查看: 4558|回复: 27
收起左侧

[教程经验] 分享:中型机的速度斜坡-计算加减速时间和距离

Slimming 2022-1-24 22:53:17 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

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

x
本帖最后由 孙黎明 于 2022-1-24 23:25 编辑

一、简介

中型机的速度斜坡有四种方式:梯形、sin²、二次方、二次方平滑。加减速过程与设定加速度、设定加加速度参数有关,参数不同从而影响加减速性能。

首先声明,此文全部为个人根据trace跟踪曲线仿真建模计算出,涉及到高等数学的微积分和高中数学的三角函数。纯手工计算。

二、原理

微分和积分是互为反向的过程,此次建模的主要过程就是根据确定速度函数的幂和类型,根据最低次幂的函数和设定值积分还原速度函数表达式。

1.梯形

设定加速度有效,设定加加速度无效。

速度:V(t)=V0+V'(t)*t;

加速度:V'(t)=AccSet;

加加速度:V''(t)=0;

加速度恒定为设定值,加加速度恒等于0,速度以设定加速度值为斜率变化。

2.sin²

设定加速度有效,设定加加速度无效但不为0。

速度:V(t)=V0+Asin²(Bt)

加速度:V'(t)=ABsin(2Bt)

加加速度:V''(t)=2AB²cos(2Bt)

加速度V'(t)函数恒定,加加速度V''(t)是加速度V'(t)的导函数,即设定加加速度值不生效但为其导函数,可根据当前速度和设定速度求出常数A=(V0-Vset)/2,再根据设定加速度值A*B=AccSeet求出B

3.二次方

设定加速度有效,设定加加速度有效。

速度:V(t)=Ax²+B

加速度:V'(t)=2Ax

加加速度:V''(t)=2A

加加速度V''(t)为设定值JerkSet,根据加速度的方向变化为V''(t)=±JerkSet,加速度V'(t)以加加速度V''(t)为斜率进行变化。

需要注意的是,二次方为中心对称速度曲线,按照加速度曲线来看也就是分段对称曲线,加速度变化范围0->JerkSet,JerkSet->0。

4.二次方平滑

仿真时推算二次方平滑为六阶高次多项式的分段对称函数,是的六阶,求了五次导函数才为直线,过于复杂且不常用,本人放弃推算。
三、加减速的计算和验证


1.梯形

梯形的加减速时间最为简单,速度按照设定加速度值进行变化,即时间=速度的变化值/设定加速度。
梯形的加减速距离,按照速度曲线计算为直角梯形的面积,面积在几何意义上时则为积分,即速度积分=距离。

时间:Acctime= (Vset-V0)/AccSet;

距离:AccPos = (Vset+V0)*Acctime/2;

验证结果如图:



2.sin²

sin²函数其实可看作为cosx,高中数学的三角函数转换,sin²x=(1-cos2x)/2,简化来看就是cosx,cosx=sin(x+Π/2),整体来看其实就是sinx的函数。

速度V(t)=Asin²(Bt);

加速度V'(t)=ABsin(2Bt);

加加速度V''(t)=2AB²cos(2Bt);

可根据当前速度V0和目标速度Vset算出,A=(Vset-V0)/2,再根据AB=AccSet算出B,即可算出全部表达式,加加速度表达式与设定加加速度值无关。

加速过程中各个函数均对称,即加速过程为正弦函数的半个周期,即加速时间为半个周期,根据高中数学的三角函数周期可知,周期T=2Π/B。加速过程中走过的距离为此区间内的速度的面积,中心对称的正限面积为梯形的面积。

时间:Acctime= T / 2 = 2Π / B / 2;

距离:AccPos = (Vset+V0)*Acctime/2;

验证结果如图:

image.png image.png



image.png image.png

3.二次方

二次方简单说就是速度Ax²,加速度Ax,加加速度A(常数)。但是同时,二次方相对计算较为繁琐,繁琐的地方在于设定加速度值过大,或者设定加速度过小。

①设定加速度值过大,实际加速过程可能会无法到达,所以存在理论计算的最大加速度。举例设定速度为1,设定加速度1000,设定加加速度1000,若加速度从0增加至1000会导致速度超过设定速度1,所以加速度设定不合理会出现无法到达的情况。

②设定加速度值过大,实际加速度到达后,加速度无法继续增大而出现的加速度恒定,即匀加速段。举例设定速度为100,设定加速度1,设定加加速度1,加速度从0增大至1后保持恒定,中间出现匀加速段。

速度:V(t)=Ax²+B

加速度:V'(t)=2Ax

加加速度:V''(t)=2A

二次方表达式简单,但是分类较多,计算结果如下:

(1)设定加速度值可到达,无匀加速段:速度10,加速度100,加加速度1000

image.png image.png


(2)设定加速度值不可到达:速度10,加速度4000(实际加速度值300),加加速度1000

image.png image.png

(3)设定加速度到达,存在匀速段:速度100,加速度200,加加速度500

image.png image.png

4.二次方平滑

不讨论,但是还是展示下其各阶导函数的曲线,我个人表示看呆了,六阶高次多项式。

image.png

四、总结

速度斜坡的加减速时间、距离的计算过程其实就是利用加速度函数进行面积计算,只要算出了加速度的实际值,不用计算函数表达式就可以计算出时间和距离。因为速度函数对称,几何的积分为面积,所以较多的积分运算可用梯形或三角形面积计算公式替代,所以也算是取巧的计算。

其中二次方的计算涉及到匀加速段和加速值无法到达设定值的情况,所以理论加减速时间可能出现失控情况。如果对加速时间有较高的要求,可采取边界情况,即加速度和加加速度的设定保证无匀速段、刚好能够到达设定速度,那就需要将加速时间代入函数中,反算加速度和加加速度值。反算加速度和加加速度在之前有讲过,

AccSet=Vset/(Acctime/2)=2Vset/Acctime,j=AccSet/(Acctime/2)=4v/Acctime²

这方面感兴趣的可以去看一下我之前的帖子《分享:梯形、二次方速度曲线的加减速时间计算》。




另外,部分代码放到评论区,通过这个帖子希望能让大家复习下数学知识,呼吁大家多学多用,后续还会再分享一些三次曲线和五次曲线的一些计算问题。


点评

很强,正好想要了解  发表于 2023-7-5 08:38
有心了,赞一个!  发表于 2022-7-30 15:22




上一篇:关于汇川AM600与鸣志STF05-ECX-H回原问题
下一篇:1拆解算法多泵切换

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

Slimming 2022-1-24 23:18:38 | 显示全部楼层
sin²部分代码
image.png
回复 送花

使用道具 举报

Slimming 2022-1-24 23:19:48 | 显示全部楼层
二次方代码
image.png
2 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香! 鲜花榜单
回复 送花

使用道具 举报

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

本版积分规则

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

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

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

4000-300124

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

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

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