You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

212 lines
9.2 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

%--------------------------------------------------------------%
%---------InitialData File for simulink model "***.mdl"--------%
%
clear all;
disp(' Initial Data for model sat9.mdl ');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 1.卫星的轨道参数及相关的地球参数 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
R_s = 6371230 + 705000; %圆轨道,卫星半长轴,单位:米;
Mu = 3.986015e14; %地心引力常数;
T0 = 2*pi*sqrt(R_s^3/Mu); %轨道周期;单位:秒;根据公式T0=2*pi*sqrt(R^3/Mu;
Omega0 = 2*pi/T0; %轨道角速度rad/s
% load B.dat; %装入地磁场的离线计算值
T = 0.2;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 2.卫星本体惯量及帆板挠性参数 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%---------------------Satellite parameters----------------%
m_sat = 3100; %整星质量 kg
%-----Inertia tensor of sat------%
Ix = 8235.3;
Iy = 5973.7;
Iz = 11733.8;
Ixy = -59.2;
Iyz = -40.8;
Ixz = -483.7;
I_sas = [Ix,-Ixy,-Ixz;-Ixy,Iy,-Iyz;-Ixz,-Iyz,Iz]; %帆板展开时整星相对于Ob的转动惯量kg.m2(sat affix spread)
I_ben = [2188.4,59.0,481.8;59.0,5856.0,39.5;481.8,39.5,5677.0]; % 卫星本体不含帆板相对于Ob的惯量kg.m2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 展开状态 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%-----------------帆板系原点在本体系中位置矢量--------------------%
r_p1 = [2.96;1037;0]*0.001; %+Y帆板(m)
r_p2 = [2.96;-1037;0]*0.001; %-Y帆板(m)
Rp_mat1 = vec2mat(r_p1);
Rp_mat2 = vec2mat(r_p2);
Omega_1 = diag([0.0901,0.5013,0.5514,0.5881,1.5297,1.8149,2.9137,3.2012,4.6741,4.8323],0)*2*pi; %附件振动耦合矩阵(10阶)---两个帆板通用
Omega_2 = Omega_1;
xi_1 = diag([0.01;0.01;0.01;0.01;0.01;0.01;0.01;0.01;0.01;0.01]); %挠性模态阻尼系数(阻尼比)---两个帆板通用
xi_2 = xi_1;
B_tran1 = [-2.5591e-11 4.0962e-10 -6.5798;... % +Y帆板太阳电池阵局部坐标系下的与转角无关的平动耦合系数,挠性附件振动对附件平动的耦合系数,通过有限元模型计算得到
7.2553 -0.0053 5.1308e-8;...
2.4257e-7 -2.2529e-9 -3.5996;...
-1.0111e-6 5.5133e-10 -0.4947;...
-6.5783e-9 -3.6992e-9 1.9825;...
-1.0444e-7 6.5840e-10 -0.0989;...
-6.8739e-9 -4.2777e-9 1.1973;...
-6.6231e-8 9.0168e-10 -0.1045;...
4.4429e-9 9.7248e-9 -1.6161;...
-5.5866e-8 1.7895e-8 -0.1009];
B_tran2 = [-2.5591e-11 -4.0962e-10 6.5798;... % -Y帆板太阳电池阵局部坐标系下的与转角无关的平动耦合系数,挠性附件振动对附件平动的耦合系数,通过有限元模型计算得到
7.2553 0.0053 -5.1308e-8;...
2.4257e-7 2.2529e-9 3.5996;...
-1.0111e-6 -5.5133e-10 0.4947;...
-6.5783e-9 3.6992e-9 -1.9825;...
-1.0444e-7 -6.5840e-10 0.0989;...
-6.8739e-9 4.2777e-9 -1.1973;...
-6.6231e-8 -9.0168e-10 0.1045;...
4.4429e-9 -9.7248e-9 1.6161;...
-5.5866e-8 -1.7895e-8 -0.1009];;
B_rot1 = [-46.6574 0.0621 2.3823e-10;... % +Y帆板太阳电池阵局部坐标系下的与转角无关的转动耦合系数,挠性附件振动对附件转动的耦合系数,通过有限元模型计算得到
1.1612e-7 6.9951e-7 -47.6960;...
-7.8112 -0.6626 -1.5925e-6;...
-1.0435 4.6264 6.6374e-6;...
2.6541 0.0963 4.1253e-8;...
-0.1219 1.7069 6.4940e-7;...
1.1634 0.1011 3.7618e-8;...
-0.0970 0.9859 3.5322e-7;...
-1.2392 -0.0403 -1.5143e-8;...
-0.0759 0.5447 1.9007e-7];
B_rot2 = [-46.6574 -0.0621 -2.3823e-10;... % -Y帆板太阳电池阵局部坐标系下的与转角无关的转动耦合系数,挠性附件振动对附件转动的耦合系数,通过有限元模型计算得到
1.1612e-7 -6.9951e-7 47.6960;...
-7.8112 0.6626 1.5925e-6;...
-1.0435 -4.6264 -6.6374e-6;...
2.6541 -0.0963 -4.1253e-8;...
-0.1219 -1.7069 -6.4940e-7;...
1.1634 -0.1011 -3.7618e-8;...
-0.0970 -0.9859 -3.5322e-7;...
-1.2392 0.0403 1.5143e-8;...
-0.0759 -0.5447 -1.9007e-7];
I_a1 = B_rot1'*B_rot1; % +Y帆板相对于安装点Oa的转动惯量
I_a2 = B_rot2'*B_rot2; % -Y帆板相对于安装点Oa的转动惯量
P1 = [0; 0; 0]; % +Y帆板对于安装点Oa点的一阶惯量矩静矩通过有限元模型计算得到
P2 = [0; 0; 0]; % -Y帆板对于安装点Oa点的一阶惯量矩静矩通过有限元模型计算得到
%----------------save parameters in mat form----------------%
save SatPara r_p1 B_rot1 B_tran1 I_a1 Rp_mat1 P1 I_ben...
r_p2 B_rot2 B_tran2 I_a2 Rp_mat2 P2 ;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 3.卫星敏感器及姿态确定参数 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%--------------------------------%
% 敏感器性能指标 %
%--------------------------------%
Wgmax =[2;2;2]*pi/180; %速率陀螺最大测量范围,2度/秒
gyro_bias_initial = [1,1,1]'*pi/180/3600; %常值偏移 rad/s
var_gyro = (0.005/3600*2*pi/360)^2;
sigmav = 0.005/3600*2*pi/360;% %角速率随机游走系数,等价于输入白噪声的标准差
var_gyro_bias = (0.005/3600*2*pi/360*1e-3)^2;
sigmau = 0.005/3600*2*pi/360*1e-3;% %角度随机游走系数,等价于输入白噪声的标准差
gyro_white_noise_seed = fix(1000*rand(3,1)); %陀螺白噪声的随机数种子
star_white_noise_seed = fix(1000*rand(4,1)); %星敏感器白噪声的随机数种子
sample_time = 0.5; %采用时间与星载计算机采用时间相同
%--------------------------------%
% Kalman滤波器参数 %
%--------------------------------%
K = [diag([0.0143 0.0143 0.0143]);diag([-0.0008 -0.0008 -0.0008])];
%%Q
Q = [0.25*0.6/3600*2*pi/360*eye(3),0*eye(3);0*eye(3),0.6/3600*2*pi/360*1e-3*eye(3)];
%%H
H = [eye(3),zeros(3)];
%%G
G = [-0.5*eye(3),zeros(3,3);zeros(3,3),eye(3,3)];
%%R
R = 35/3600*2*pi/360*eye(3);
%%P0
P0 = [0.0004*eye(3),0*eye(3);0*eye(3),0.0009*eye(3)];
%%s_time
s_time = 0.5;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 4.卫星执行机构及控制器参数 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%--------------------------------%
% 执行机构参数 %
%--------------------------------%
%=============反作用飞轮参数===========
Jwheel = 0.106; %飞轮转动惯量kg.m^2
Tmotormax = 0.2; % 最大反作用力矩Nm
Kr = 0.015;
Tr = 0.1;
Usaturate = 42; %饱和电压;
Wsaturate = 3500*30/pi; %飞轮的饱和转速最大3500rpm
Hsaturate = 25; %飞轮的饱和角动量最大25Nms
%===============磁力矩器参数========
% Mags = 100; %磁力矩器的最大磁矩A.m2
%飞轮安装矩阵
Dwheel = [1 0 0 cos(54*pi/180) cos(54*pi/180);...
0 1 0 cos(55.1*pi/180) -cos(55.1*pi/180);...
0 0 1 cos(55.1*pi/180) cos(55.1*pi/180)];
%------------飞轮角动量------------%
HmA = 0;%正常稳态运行时X轴A轮的标称角动量;
HmB = 0;%正常稳态运行时Y轴B轮的标称角动量;
HmC = 0;%正常稳态运行时Z轴C轮的标称角动量;
HmD = 0;%正常稳态运行时斜装S1轮的标称角动量;
HmE = 0;%正常稳态运行时斜装S2轮的标称角动量;
%------------磁卸载参数------------%
% kxunload = 4;
% kyunload = 4;%
% kzunload = 4;
Qerror = 1/30;
%---------卫星三轴控制参数---------%
% PID=[900,0,5600,760,0,2000,900,0,6000];
wn = 1*2*pi; %带宽wn
k = wn^2;
c = 2*0.9*wn; %阻尼0.9
Kx = [Ix*k, Ix*k*0.001, Ix*c]; %[kp;ki;kd]
Ky = [Iy*k, Ix*k*0.001, Iy*c];
Kz = [Iz*k, Ix*k*0.001, Iz*c];
Kpx = Kx(1);
Kpix = Kx(2);
Kwx = Kx(3);
Kpy = Ky(1);
Kpiy = Ky(2);
Kwy = Ky(3);
Kpz = Kz(1);
Kpiz = Kz(2);
Kwz = Kz(3);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 5.卫星初始姿态参数 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%卫星初始的姿态角度,姿态角速度
phi0 = 0.01;
theta0 = 0;
psi0 = -0.01;
dphi0 = 0;
dtheta0 = 0;
dpsi0 = 0;
An = [phi0; theta0; psi0]*pi/180;
Av = [dphi0; dtheta0; dpsi0]*pi/180;
W0 = [Av(1)*cos(An(2)) - Av(3)*cos(An(1))*sin(An(2));...
Av(2) + Av(3)*sin(An(1));...
Av(3)*cos(An(2))*cos(An(1)) + Av(1)*sin(An(2))];
W0 = W0 - Omega0*[cos(An(2))*sin(An(3)) + sin(An(1))*sin(An(2))*cos(An(3));...
cos(An(1))*cos(An(3));...
sin(An(2))*sin(An(3)) - sin(An(1))*cos(An(2))*cos(An(3))];
%卫星本体坐标系相对于质心轨道坐标系的姿态四元数初值为qbo
qbo0 = cos(An(1)/2)*cos(An(2)/2)*cos(An(3)/2) - sin(An(1)/2)*sin(An(2)/2)*sin(An(3)/2);
qbo1 = sin(An(1)/2)*cos(An(2)/2)*cos(An(3)/2) - cos(An(1)/2)*sin(An(2)/2)*sin(An(3)/2);
qbo2 = sin(An(1)/2)*cos(An(2)/2)*sin(An(3)/2) + cos(An(1)/2)*sin(An(2)/2)*cos(An(3)/2);
qbo3 = cos(An(1)/2)*cos(An(2)/2)*sin(An(3)/2) + sin(An(1)/2)*sin(An(2)/2)*cos(An(3)/2);
qbo = [qbo0 qbo1 qbo2 qbo3];
%卫星机动的指令欧拉角,相对于轨道系
cphi = 0;
ctheta = 0;
cpsi = 0;
%%%%%%%%%%初始化完成对话框%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Data=1:64;Data=(Data'*Data)/64;
initialsuccesshintbox=msgbox('卫星参数初始化数据完毕,可以进行数学仿真了!','卫星参数初始化','custom',Data,summer(64));