查看: 2019|回复: 12
收起左侧

[教程经验] 凸轮极值计算

Slimming 2022-12-10 18:42:00 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

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

x
本帖最后由 Slimming 于 2022-12-10 19:02 编辑

1.简介

  codesys底层的凸轮功能,使用的是5次函数曲线,对于曲线规划时可能会存在异常情况,例如位置曲线越界、速度曲线反向等问题。
  针对于此类问题,在凸轮表中已有最大位置、速度、加速度的提示,但是配置参数灵活性不高,本文的功能就在于在凸轮规划参数时,实时刷新这些参数,可以起到保护和报警的判断。

凸轮表

2.公式计算

  公式计算之前,先考虑位置、速度、加速度直接的极值求解关系,根据定义可知,加速度是速度的导数,速度是位置的导数,5次方曲线为位置曲线,5次曲线相关计算在之前文章中已给出。
  若要求得位置(5次函数)的极值,则要求速度(4次函数)=0的解;
  若要求的速度(4次函数)的极值,则要求加速度(3次函数)=0的解;
  若要求的加速度(3次函数)的极值,则要求加加速度(2次函数)=0的解;

2.1 四次函数-费拉里公式

  费拉里公式的核心在于将四次方程化简为一个三次方程和两个二次方程。一元四次方程的根是两个二次方程的根。
  一元四次方程 :

一元四次方程

  一元二次方程:
一元二次方程

   z是一元三次方程的任一实根。
  一元三次方程:
一元三次方程

  所以只要使用盛金公式解出三次方程的其中一个根z,将z代入两个二次方程中即可求出四次方程的四个根。

2.2 三次函数-盛金公式

  一元三次方程 :

一元三次方程

  重根判别式:
一元三次方程重根式

  总判别式:
总判别式

  • (1) A=B=0
    判别式1
  • (2)  Δ> 0
    判别式2
  • (3)  Δ= 0
    判别式3
  • (4)  Δ < 0
    判别式4

      使用盛金公式对三次方程求解后,保留不含虚数i的解,即为所需要的。

3.案例演示

  将上述计算公式写到程序的fc中,对5次方程的系数进行判断,分别计算出5次函数的位置、速度、加速度的极值。
  程序源码开源,已经上传至附件中,纯数学函数关系,完全个人独立建模解算,需要自取,不太建议小白学习,演示案例如下。

演示


凸轮极值计算工程.rar

82.92 KB, 下载次数: 47

售价: 20  [记录]

开源程序





上一篇:编程规范--博图程序设计规范
下一篇:几个ST语言常规例程分享

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

Slimming 2022-12-12 11:21:23 | 显示全部楼层
简单总结:位置、速度、加速度的极值,是关于四次、三次、二次函数的求解,纯数学模型,感兴趣的可以深入研究一下
回复 送花

使用道具 举报

好想摆烂 2022-12-13 13:24:49 | 显示全部楼层
前辈,请教一下这个功能有什么用,实时刷新极值有什么用吗,我现在从轴会反转,困扰很久了
回复 送花

使用道具 举报

Slimming 2022-12-15 17:50:31 来自手机 | 显示全部楼层
好想摆烂 发表于 2022-12-13 13:24
前辈,请教一下这个功能有什么用,实时刷新极值有什么用吗,我现在从轴会反转,困扰很久了 ...

如果求出速度极值小于0,就代表会反转,那就可以减小x的长度。我之前的文章里面有讲过反转的情况,可以去翻翻看看
回复 送花

使用道具 举报

我爱汇川 2022-12-15 19:54:00 | 显示全部楼层
凸轮极值计算
回复 送花

使用道具 举报

yyc99888 2022-12-16 00:40:00 | 显示全部楼层
求极值我一般用牛顿迭代法,你这个方法不知道精度怎么样?
回复 送花

使用道具 举报

Slimming 2022-12-16 20:58:07 | 显示全部楼层
yyc99888 发表于 2022-12-16 00:40
求极值我一般用牛顿迭代法,你这个方法不知道精度怎么样?

迭代的方式,需要多次计算,数据比较的精度存在偏差。
我的这种是使用函数本身特性计算出结果,精度偏差只与浮点数机制有关,或者可以说无误差。
回复 送花

使用道具 举报

我爱汇川 2022-12-24 11:17:46 | 显示全部楼层
凸轮极值计算
回复 送花

使用道具 举报

qepar 2023-2-13 11:53:49 | 显示全部楼层
凸轮极值计算,先收藏学习
回复 送花

使用道具 举报

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

本版积分规则

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

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

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

4000-300124

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

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

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