四轴飞行器垂直动力学建模Matlab

时间:2015-02-19 10:45:05

标签: matlab

我尝试在重力作用下获得四轴飞行器垂直运动的状态空间模型。

我无法模拟重力的影响。为此,我尝试将矩阵K添加到我的状态空间模型中,但没有成功。如果我使用的话没有区别:

sys = idss(A,B,C,D,K,x0,timestep)

sys = ss(A,B,C,D,timestep)

结果相同。有代码:

clear all
timestep = 0.002;
m = 0.0027;
g = 9.81;
T_hover = 20000;
Kt = g*m/T_hover;

A = [1 timestep ; 0 1];
B = [+(Kt/m)*(timestep^2)/2 ;  +(Kt/m)*timestep];
K = [ -(g)*(timestep^2)/2 ;   -(g)*timestep];
C = [1 0];
D = [0];
x0 = [0; 0];
sys = idss(A,B,C,D,K,x0,timestep)

length = 2000;
inputm = zeros(length,1);
inputm(300:500) = 25000;
t = 0:timestep:(length-1)*timestep;

[y_m,t_m,x_m] = lsim(sys,inputm,t,x0);
subplot(2,1,1);
plot(inputm);
title('input thrust');
ylim([-1000 26000]);
subplot(2,1,2);
plot(x_m);
legend('coordinate','speed');

也许我错过了一些明显的东西,请给我建议。

0 个答案:

没有答案