uthman
QQ:3749615
级别: 家园常客
精华主题: 1 篇
发帖数量: 447 个
工控威望: 805 点
下载积分: 2729 分
在线时间: 764(小时)
注册时间: 2007-10-25
最后登录: 2024-09-16
查看uthman的 主题 / 回贴
楼主  发表于: 2024-01-31 13:26
如需转载,请注明出处。
七次多项式推导
f(x)=A_7 x⁷ + A_6 x⁶ + A_5 x⁵ + A_4 x⁴ + A_3 x³ + A_2 x² + A_1 x + A_0
f'(x)=7A_7 x⁶ + 6A_6 x⁵ + 5A_5 x⁴ + 4A_4 x³ + 3A_3 x² + 2A_2 x + A_1
f''(x)=42A_7 x⁵ + 30A_6 x⁴ + 20A_5 x³ + 12A_4 x² + 6A_3 x + 2A_2
f'''(x)=210A_7 x⁴ + 120A_6 x³ + 60A_5 x² + 24A_4 x + 6A_3
归一化处理
f(0)=0
f(1)=1

f'(0)=v_0
f'(1)=v_1
f''(0)=a_0
f''(1)=a_1
f'''(0)=j_0
f'''(1)=j_1
可得出系数如下
A_0 = 0
A_1 = v_0
A_2 = 1 / 2 a_0
A_3 = 1 / 6 j_0
A_4 = -5 a_0 + 5 / 2 a_1 - 2 / 3 j_0 - 1 / 6 j_1 - 20v_0 - 15v_1 + 35
A_5 = 10a_0 - 7a_1 + j_0 + 1 / 2 j_1 + 45v_0 + 39v_1 - 84
A_6 = -15 / 2 a_0 + 13 / 2 a_1 - 2 / 3 j_0 - 1 / 2 j_1 - 36v_0 - 34v_1 + 70
A_7 = 2a_0 - 2a_1 + 1 / 6 j_0 + 1 / 6 j_1 + 10v_0 + 10v_1 - 20

通过以上公式可生成无比丝滑的凸轮曲线
以下曲线是通过七次多项式生成
位置&速度


位置&加速度
  

位置&加加速度
[ 此帖被uthman在2024-02-01 11:16重新编辑 ]
本帖最近评分记录:
  • 下载积分:+1(工控人航天员) 真诚感谢!
    flyfeky
    bilibili 工控贵族
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 875 个
    工控威望: 1025 点
    下载积分: 1968 分
    在线时间: 687(小时)
    注册时间: 2012-05-09
    最后登录: 2024-09-14
    查看flyfeky的 主题 / 回贴
    1楼  发表于: 2024-06-11 14:50
    看到大神的杰作, 我试着理解一下,  有不对的地方, 请指正。
    1.  f(x)=A_7 x⁷ + A_6 x⁶ + A_5 x⁵ + A_4 x⁴ + A_3 x³ + A_2 x² + A_1 x + A_0  //   速度x-位置曲线f(x)方程
    2.  f'(x)=7A_7 x⁶ + 6A_6 x⁵ + 5A_5 x⁴ + 4A_4 x³ + 3A_3 x² + 2A_2 x + A_1 // 1的导数 速度x-加速度曲线 方程
    3.  f''(x)=42A_7 x⁵ + 30A_6 x⁴ + 20A_5 x³ + 12A_4 x² + 6A_3 x + 2A_2    //  2的导数  速度x-加加速度曲线方程
    4.  f'''(x)=210A_7 x⁴ + 120A_6 x³ + 60A_5 x² + 24A_4 x + 6A_3   // 3的导数

    归一化处理   ,百度了下把数据标准化到 (0,1);
    分别代入  f(0)=0 ,f(1)=1;   f'(0)=0 ,f'(1)=1;   f''(0)=0 ,f''(1)=1;   f'''(0)=0 ,f'''(1)=1;

    8 个未知数 ,8个方程  ,解得系数。

    我没有理解归一化处理后,得到的系数,适应了以前的曲线, 或者只是一种处理方法。欢迎补充。
    西门子倍福WPF+C#数据库,槽式设备专家