首页 > 其他分享 >matlab 七段式轨迹 S型速度规划

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

时间:2022-10-24 13:00:18浏览次数:43  
标签:10 轨迹 para 曲线 matlab time LineWidth sigma 七段

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

matlab 七段式轨迹 S型速度规划_边界条件





标签:10,轨迹,para,曲线,matlab,time,LineWidth,sigma,七段
From: https://blog.51cto.com/domi/5789465

相关文章