Magnetic control demand analysis
Put a satellite aligned with LVLH (nadir-pointing) in a 350 km inclined orbit and evaluate the ability of the magnetic control to create a particular torque along the orbit. There are 3 orthogonal torquers. Note that the pure x torque can only be created at certain points along the orbit.
------------------------------------------------------------------------ See also: MagneticControl, RVFromKepler, PlotOrbit, Date2JD, TimeLabl, Mag, Cross, Plot2D
Contents
%-------------------------------------------------------------------------- % Copyright (c) 2011-2012 Princeton Satellite Systems, Inc. % All rights reserved. %-------------------------------------------------------------------------- % Since version 10. %--------------------------------------------------------------------------
Set up orbit and torquer model
% Three orthogonal torquers u = eye(3); % Define the orbit jD0 = Date2JD([2014 6 1 0 0 0]); el = [6378+350,0.9*pi/2,0,0,0,0]; [r, v, t] = RVFromKepler( el ); n = size(r,2); PlotOrbit(r,t,jD0); % Point the satellite along nadir q = QLVLH( r, v ); % Compute the B field using a simple dipole model jD = jD0 + t/86400; b = QForm( q, BDipole( r, jD ) ); % Specify an x-axis torque demand tDemand = 1e-5*[1;0;0]; % Nm
Evaluate the magnetic control demand
m = zeros(3,n); tErr = zeros(3,n); gamma = zeros(3,n); for k = 1:n [m(:,k), tErr(:,k)] = MagneticControl( b(:,k), tDemand, u, 10 ); gamma(:,k) = Mag(Cross(u,b(:,k)))'; end [t, tL] = TimeLabl( t ); yL = {'M','T_x Err' 'T_y Err' 'T_z Err'}; Plot2D( t, [m;tErr], tL, yL, 'Magnetic Dipole Control','lin',{[1 2 3],4,5,6}); subplot(4,1,1); y = axis; axis([y(1:2) -1.2 1.2]) yL = {'B_x' 'B_y' 'B_z'}; Plot2D( t, b, tL, yL, 'Magnetic Field'); fprintf(1,'Average error = %12.4e Nm\n',mean(tErr,2)); %--------------------------------------
Average error = -3.3182e-06 Nm Average error = -1.7550e-09 Nm Average error = 2.7419e-08 Nm