首页 > 行业资讯 > 【控制】基于气动力的导弹姿态控制含Matlab源码附报告

【控制】基于气动力的导弹姿态控制含Matlab源码附报告

时间:2022-05-16 来源: 浏览:

【控制】基于气动力的导弹姿态控制含Matlab源码附报告

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集 #物理应用matlab源码 25个

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代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐