多项式轨迹--五次多项式轨迹
本文总字数:3641,阅读预计需要:9分钟
在轨迹规划中,规划起始点与终点的加速度连续非常重要,如果在终点或起始点的端点处,加速度有跳变,对于乘坐舒适性有很大影响。采用五次多项式进行轨迹规划时,需要六个条件才能求解出五次多项式的6个系数,因此很容易找出这6个边值条件,分别是起始点的位置、速度、加速度以及终点的位置、速度、加速度。
五次多项式形式:q(t)表示与t0时刻相距(t-t0)距离时多项式的值
起始点及终止点的条件:
这里定义T = t1 − t0 ,求得多项式系数为h = q1 - q0。
例一:
clc;
clear
%轨迹定义条件
%% 左图
% t0s时刻初始条件
t0=0; q0=0; v0=0; acc0=0;
%位置和速度(a)
t1=8; q1=10; v1=0; acc1=0;
%利用公式(1-2)求系数
h = q1 - q0;
T = t1 - t0;
a0 = q0;
a1 = v0;
a2 = 1.0/2 * acc0;
a3 = 1.0/(2*T*T*T) * (20*h-(8*v1+12*v0) * T + (acc1-3*acc0)/(T*T));
a4 = 1.0/(2*T*T*T*T) * (-30*h+(14*v1+16*v0) * T + (3*acc0-2*acc1)/(T*T));
a5 = 1.0/(2*T*T*T*T*T) * (12*h-6*(v1+v0) * T + (acc1-acc0)/(T*T));
%轨迹生成
t=t0:0.1:t1;
%位置
q=a0+a1*power((t-t0),1)+a2*power((t-t0),2)+a3*power((t-t0),3)+...
a4*power(t-t0,4)+a5*power(t-t0,5);
%速度
v=a1+2*a2*power((t-t0),1)+3*a3*power((t-t0),2)+4*a4*power(t-t0,3)+...
5*a5*power(t-t0,4);
%加速度
acc=2*a2+6*a3*power((t-t0),1)+12*a4*power(t-t0,2)+20*a5*power(t-t0,3);
%绘图
subplot(3,2,1)
plot(t,q,'r');
axis([0,8,0,11])
ylabel('position')
grid on
subplot(3,2,3)
plot(t,v,'b');
axis([0,8,-1,2.5])
ylabel('velocity')
grid on
subplot(3,2,5)
plot(t,acc,'g');
xlabel('(a)');
ylabel('acceleration')
grid on
%% 右图
%时间
t0=0;
t1=8;
%位置和速度(a)
q0=0;
q1=10;
v0=-5;
v1=0;
acc0=0;
acc1=0;
%利用公式(1-25)求系数
h=q1-q0;
T=t1-t0;
a0=q0;
a1=v0;
a2=1.0/2*acc0;
a3=1.0/(2*T*T*T)*(20*h-(8*v1+12*v0)*T+(acc1-3*acc0)*(T*T));
a4=1.0/(2*T*T*T*T)*((-30*h +(14*v1+16*v0)*T)+(3*acc0-2*acc1)*(T*T));
a5=1.0/(2*T*T*T*T*T)*(12*h-6*(v1+v0)*T+(acc1-acc0)*(T*T));
%轨迹生成
t=t0:0.1:10;
%位置
q=a0+a1*power((t-t0),1)+a2*power((t-t0),2)+a3*power((t-t0),3)+...
a4*power(t-t0,4)+a5*power(t-t0,5);
%速度
v=a1+2*a2*power((t-t0),1)+3*a3*power((t-t0),2)+4*a4*power(t-t0,3)+...
5*a5*power(t-t0,4);
%加速度
acc=2*a2+6*a3*power((t-t0),1)+12*a4*power(t-t0,2)+20*a5*power(t-t0,3);
%绘图
subplot(3,2,2)
plot(t,q,'r');
axis([0,8,-5,30])
ylabel('position')
grid on
subplot(3,2,4)
plot(t,v,'b');
ylabel('velocity')
grid on
subplot(3,2,6)
plot(t,acc,'g');
xlabel('(b)');
ylabel('acceleration')
grid on
我们向往远方,却忽略了此刻的美丽
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
2020-11-21 Python中 No module named解决方法