%--------------------------------------------------------------% %---------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; save initial_data.mat % initialsuccesshintbox=msgbox('卫星参数初始化数据完毕,可以进行数学仿真了!','卫星参数初始化','custom',Data,summer(64));