• matlab 七段式轨迹 S型速度规划


    1、内容简介


    609-可以交流、咨询、答疑

    2、内容说明

    S形速度规划相对于梯形速度规划其速度曲线会更加平滑,电机运行会更加平稳。常见的S曲线包括7段式加速度曲线,这种曲线计算量大, 而且规划起来困难。一种简单的方法是采用Sigmoid对称函数加减速曲线规划法。典型的Sigmoid函数为: 其值域为(0,1),函数关于横坐标左右对称,关于点(0,0.5)中心对称。其函数图形为: 如要将此曲线应用在步进电机的加、减速过程中,需要将方程在XY坐标系进行平移,同时对曲线进行拉升变化。

    3、仿真分析

    %% S曲线规划
    % 边界条件
    q0 = 0; q1 = 200; 
    v0 = 0; v1 = 0;
    vmax = 10; amax = 2; jmax = 1;
    sigma = sign(q1 - q0);
    % 得到规划参数Ta, Tv, Td, Tj1, Tj2, q0, q1, v0, v1, vlim, amax, amin, alima, alimd, jmax, jmin
    para = STrajectoryPara(q0, q1, v0, v1, vmax, amax, jmax)
    i = 1; 
    T = para(1) + para(2) + para(3)
    for t = 0: 0.001: T
       time(i) = 0.001*i;
       q(i) = S_position(t, para(1), para(2), para(3), para(4), para(5), para(6), para(7), para(8), para(9), para(10), para(11), para(12), para(13), para(14), para(15), para(16));
       qd(i) = S_velocity(t, para(1), para(2), para(3), para(4), para(5), para(6), para(7), para(8), para(9), para(10), para(11), para(12), para(13), para(14), para(15), para(16));
       qdd(i) = S_acceleration(t, para(1), para(2), para(3), para(4), para(5), para(6), para(7), para(8), para(9), para(10), para(11), para(12), para(13), para(14), para(15), para(16));
       qddd(i) = S_jerk(t, para(1), para(2), para(3), para(4), para(5), para(6), para(7), para(8), para(9), para(10), para(11), para(12), para(13), para(14), para(15), para(16));
       i = i + 1;
    end
    q = sigma*q;
    qd = sigma*qd;
    qdd = sigma*qdd;
    qddd = sigma*qddd;


    figure(1)
    subplot(4, 1, 1)
    plot(time, q, 'r', 'LineWidth', 1.5)
    grid on
    subplot(4, 1, 2)
    plot(time, qd, 'b', 'LineWidth', 1.5)
    grid on
    subplot(4, 1, 3)
    plot(time, qdd, 'g', 'LineWidth', 1.5)
    grid on
    subplot(4, 1, 4)
    plot(time, qddd, 'LineWidth', 1.5)
    grid on

    4、参考论文

  • 相关阅读:
    ggplot2画各种误差线和森林图
    深度分享:OLAP CUBE、空间换时间、MDX(上)
    嵌入式养成计划-46----QT--简易版网络聊天室实现--QT如何连接数据库
    Jenkins 简述及其搭建
    Java 第一阶段建立编程思想 【枚举和注解】
    Vue(九)——页面路由(1)
    JS高级:事件循环模型
    深度置信网络(DBN)【经典的DBN网络结构是由若干层 RBM(受限波尔兹曼机)和一层 BP 组成的一种深层神经网络】
    【 C++ 】set、multiset的介绍和使用
    python实现线性插值
  • 原文地址:https://blog.csdn.net/qingfengxd1/article/details/127454409