【控制】基于气动力的导弹姿态控制含Matlab源码附报告
【控制】基于气动力的导弹姿态控制含Matlab源码附报告
TT_Matlab
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。
1 简介
对于 大气层内飞行的 导弹 ,为了 使其准确的完成飞行 ,首要 任务 是使 其 姿态 保持 稳定 。 导弹的 姿态控制系统是 导弹 飞行成败的关键系统之一, 姿态 控制过程和方法一直 备受关注 , 它在导弹 设计、使用、储存的整个生命周期 中都意义重大 。在此背景下,本文针对大气层内导弹的姿态控制方法进行研究。
首先 建立了一系列 坐标系 来描述 大气层内 导弹 的飞行特性 ,包括 弹体坐标系、地面 惯性 坐标系、速度坐标系和弹道坐标系, 之后对 这些坐标系之间的变 转换 关系 进行了推导 。然后, 推导计算 大气层内 导弹 的动力学方程 组、 运动学方程组、攻角和侧滑角计算模型、弹道倾角和弹道偏角计算模型、气动力模型、气动力矩模型 以及 重力模型 ,由上述模型 得出 导弹 的姿态控制系统数学模型。由于 大气层内导弹 的姿态控制数学模型 具有 强耦合、非线性的 特点 , 因此 先对其进行解耦和线性化处理, 而后进行控制器设计。 本文 应用 小扰动假设 下的 线性化 方法, 分别建立 了 各通道的传递函数。之后,运用 PD 控制方法 对 三个通道的控制律 分别进行设计 ,使 导弹能在要求时间内达到目标姿态 。最后, 设计 MATLAB 仿真程序, 对控制律进行仿真验证 ,并对 仿真 结果进行分析。
仿真 结果 表明, 对大气层内导弹姿态控制模型进行 线性化及各通道解耦 处理 后, 应用 PD 控制 方法设计控制律, 能够 使系统 实现快速、稳定的达到 目标 姿态 的目的 。
2 部分代码
clc;clear;
%------------------------定义导弹、大气、地球等固定参数---------------------%
Jx
=
2.95;Jy=168.2;Jz=168.2;
m
=
300;S=0.0616;L=0.3;
rho
=
1.2;g=9.8;
i
=
10000;
ii
=
i/10;
t
=
zeros(1,ii-1);dt=0.001;
H
=
pi/180;K=180/pi;
%-------------------------定义初始位置参数---------------------------------%
x
=
zeros(1,i);y=zeros(1,i);z=zeros(1,i);
y(1)
=
30000;
%-------------------------定义初始速度参数---------------------------------%
V
=
zeros(1,i);Vx=zeros(1,i);Vy=zeros(1,i);Vz=zeros(1,i);
V(1)
=
2275;Vx(1)=2275;
%-------------------------定义初始弹道参数---------------------------------%
theta
=
zeros(1,i);psiv=zeros(1,i);gammav=zeros(1,i);
theta(1)
=
(40*pi)/180;
%-------------------------定义初始姿态参数---------------------------------%
htheta
=
zeros(1,i);psi=zeros(1,i);gamma=zeros(1,i);
htheta(1)
=
40*H;psi(1)=0*H;gamma(1)=5*H;
htheta0
=
50*H;psi0=10*H;gamma0=0*H;
%---------------------------定义初始舵偏角---------------------------------%
deltax
=
zeros(1,i);deltay=zeros(1,i);deltaz=zeros(1,i);
%--------------------------定义初始姿态角速度参数---------------------------%
omegax
=
zeros(1,i);omegay=zeros(1,i);omegaz=zeros(1,i);
%-------------------------定义攻角/侧滑角----------------------------------%
alpha
=
zeros(1,i);beta=zeros(1,i);dalpha=0;dbeta=0;
%--------------------定义空气动力和空气动力矩-------------------------------%
X
=
zeros(1,i);Y=zeros(1,i);Z=zeros(1,i);
Mx
=
zeros(1,i);My=zeros(1,i);Mz=zeros(1,i);
%--------------------------定义控制律参数----------------------------------%
Kpx
=
-1.5; Kdx=-0.018;
Kpy
=
-1.5; Kdy=-0.05;
Kpz
=
-1.8; Kdz=-0.05;
%--------------------------------定义绘图用数组----------------------------%
hthetat
=
zeros(1,ii-1);psit=zeros(1,ii-1);gammat=zeros(1,ii-1);
omegaxt
=
zeros(1,ii-1);omegayt=zeros(1,ii-1);omegazt=zeros(1,ii-1);
xt
=
zeros(1,ii-1);yt=zeros(1,ii-1);zt=zeros(1,ii-1);
Mxt
=
zeros(1,ii-1);Myt=zeros(1,ii-1);Mzt=zeros(1,ii-1);
deltaxt
=
zeros(1,ii-1);deltayt=zeros(1,ii-1);deltazt=zeros(1,ii-1);
%------------------------定义气动力、气动力矩的插值矩阵---------------------%
B
=
[-6,-4,-2,0,2,4,6];
A
=
[-6;-4;-2;0;2;3;4;6;8;10];
CX
=
[0.926,0.750,0.636,0.583,0.614,0.722,0.888;0.758,0.596,0.511,0.468,0.489,0.570,0.726;
0.644,0.504,0.426,0.398,0.411,0.487,0.614;0.602,0.477,0.399,0.367,0.390,0.458,0.574;
0.650,0.508,0.428,0.410,0.415,0.502,0.627;0.699,0.547,0.463,0.434,0.449,0.533,0.674;
0.762,0.601,0.512,0.471,0.497,0.585,0.739;0.921,0.749,0.628,0.578,0.613,0.735,0.902;
1.136,0.949,0.817,0.763,0.800,0.934,1.115;1.405,1.212,1.080,1.029,1.067,1.200,1.388];
CY
=
[-2.694,-2.563,-2.426,-2.351,-2.427,-2.605,-2.686;-1.854,-1.710,-1.642,-1.593,-1.618,-1.711,-1.800;
-0.920,-0.818,-0.802,-0.794,-0.797,-0.798,-0.873;0.034,0.036,0.015,0.033,0.009,0.004,0.031;
0.930,0.894,0.868,0.808,0.802,0.836,0.928;1.373,1.331,1.275,1.190,1.233,1.257,1.340;
1.825,1.751,1.685,1.566,1.633,1.715,1.787;2.704,2.647,2.460,2.344,2.428,2.583,2.677;
3.411,3.458,3.365,3.276,3.312,3.397,3.392;4.175,4.292,4.283,4.241,4.218,4.263,4.181];
CZ
=
[2.703,1.833,0.932,0,-0.932,-1.833,-2.703;2.619,1.753,0.880,0,-0.880,-1.753,-2.619;
2.479,1.634,0.846,0,-0.846,-1.634,-2.479;2.447,1.620,0.806,0,-0.806,-1.620,-2.447;
2.513,1.670,0.816,0,-0.816,-1.670,-2.513;2.582,1.693,0.829,0,-0.829,-1.693,-2.582;
2.637,1.719,0.845,0,-0.845,-1.719,-2.637;2.717,1.823,0.931,0,-0.931,-1.823,-2.717;
2.700,1.930,1.000,0,-1.000,-1.930,-2.700;2.775,1.999,1.027,0,-1.027,-1.999,-2.775];
MX
=
[-0.035,-0.008,0.030,0,-0.030,0.008,0.035;0.027,0.006,0.020,0,-0.020,-0.006,-0.027;
0.021,0.060,0.008,0,-0.008,-0.060,-0.021;0.000,0.000,0.000,0,0.000,0.000,0.000;
-0.017,-0.034,-0.002,0,0.002,0.034,0.017;-0.032,-0.047,0.001,0,-0.001,0.047,0.032;
-0.034,-0.012,0.037,0,-0.037,0.012,0.034;0.014,0.028,0.038,0,-0.038,-0.028,-0.014;
0.022,0.095,0.025,0,-0.025,-0.095,-0.022;0.007,0.195,0.098,0,-0.098,-0.195,-0.007];
MY
=
[2.096,1.498,0.750,0,-0.750,-1.498,-2.096;1.893,1.314,0.671,0,-0.671,-1.314,-1.893;
1.658,1.126,0.612,0,-0.612,-1.126,-1.658;1.612,1.138,0.530,0,-0.530,-1.138,-1.612;
1.763,1.224,0.564,0,-0.564,-1.224,-1.763;1.873,1.223,0.545,0,-0.545,-1.223,-1.873;
2.010,1.291,0.612,0,-0.612,-1.291,-2.010;2.257,1.549,0.810,0,-0.810,-1.549,-2.257;
2.398,1.838,0.988,0,-0.988,-1.838,-2.398;2.729,2.137,1.126,0,-1.126,-2.137,-2.729];
MZ
=
[2.320,2.042,1.857,1.738,1.848,2.083,2.243;1.617,1.287,1.216,1.243,1.192,1.260,1.456;
0.732,0.501,0.527,0.566,0.519,0.455,0.616;-0.164,-0.181,-0.141,-0.147,-0.132,-0.130,-0.182;
-0.964,-0.898,-0.840,-0.751,-0.729,-0.787,-0.956;-1.366,-1.303,-1.186,-1.050,-1.094,-1.166,-1.322;
-1.763,-1.647,-1.525,-1.334,-1.422,-1.579,-1.713;-2.525,-2.469,-2.077,-1.881,-2.011,-2.349,-2.498;
-3.078,-3.052,-2.793,-2.608,-2.734,-2.994,-3.040;-3.690,-3.709,-3.563,-3.438,-3.493,-3.692,-3.699];
%---------------------------------循环计算--------------------------------%
end
%-------------------------------绘图--------------------------------------%
figure(1)
plot(t/100,hthetat*K)
title(’俯仰角变化曲线’)
xlabel(’时间’)
ylabel(’俯仰角’)
grid
on
figure(2)
plot(t/100,psit*K)
title(’偏航角变化曲线’)
xlabel(’时间’)
ylabel(’偏航角’)
grid
on
figure(3)
plot(t/100,gammat*K)
title(’滚转角变化曲线’)
xlabel(’时间’)
ylabel(’滚转角’)
grid
on
figure(4)
plot(t/100,omegaxt*K)
title(’角速度变化曲线’)
xlabel(’时间’)
ylabel(’滚转角速度’)
grid
on
figure(5)
plot(t/100,omegayt*K)
title(’角速度变化曲线’)
xlabel(’时间’)
ylabel(’偏航角速度’)
grid
on
figure(6)
plot(t/100,omegazt*K)
title(’角速度变化曲线’)
xlabel(’时间’)
ylabel(’俯仰角速度’)
grid
on
figure(7)
plot3(zt,xt,yt)
title(’导弹运动轨迹’)
xlabel(’Z’)
zlabel(’Y’)
ylabel(’X’)
grid
on
figure(8)
plot(t/100,Mxt)
title(’力矩变化曲线’)
xlabel(’时间’)
ylabel(’滚转力矩’)
grid
on
figure(9)
plot(t/100,Myt)
title(’力矩变化曲线’)
xlabel(’时间’)
ylabel(’偏航力矩’)
grid
on
figure(10)
plot(t/100,Mzt)
title(’力矩变化曲线’)
xlabel(’时间’)
ylabel(’俯仰力矩’)
grid
on
figure(11)
plot(t/100,deltazt)
title(’舵偏角变化曲线’)
xlabel(’时间’)
ylabel(’俯仰通道舵偏角’)
grid
on
figure(12)
plot(t/100,deltayt)
title(’舵偏角变化曲线’)
xlabel(’时间’)
ylabel(’偏航通道舵偏角’)
grid
on
figure(13)
plot(t/100,deltaxt)
title(’舵偏角变化曲线’)
xlabel(’时间’)
ylabel(’滚转通道舵偏角’)
grid
on
3 仿真结果
4 参考文献
[1]姚红, 闫野, 周伯昭. 基于Matlab的弹道导弹姿态控制系统设计与仿真软件研究[J]. 系统仿真学报, 2004, 16(11):3.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
