Small Satellites

Home » Posts tagged 'angular momentum'

Tag Archives: angular momentum

THE LAGRANGE COEFFICIENTS

The task we are trying to solve is with a given initial position and velocity of an orbiting body at a given instant calculate the position and velocity at any later time. Assume an earth satellite moves in the xy plane of an inertial frame with origin at the earth’s center. Initial position and velocity of the satellite at that frame are

clc;
clear all;
R0 = [8000.2 -6900.5];      %[km]
V0 = [0.450 8.9000];        %[km/s]
% Compute the position and velocity vectors when the change in satellite
% true anomaly equals to 100 [deg].
dfi = 100;                  %[deg]
% Magnitude of R0 and V0 vectors
r0 = norm(R0);              %[km]
v0 = norm(V0);              %[km/s]
% Radial component of V0
vr0 = R0*V0'/r0;             %[km/s]
% Magnitude of the constant angular momentum
h = r0*(v0^2-vr0^2)^0.5;    %[km^2/s]
mu      = 398600;           % Earth’s gravitational parameter [km^3/s^2]
r = h^2/mu*1/(1+(h^2/mu/r0 -1)*cosd(dfi)- h*vr0/mu*sind(dfi));
% Lagrange coefficients in terms of the change in true anomaly
f = 1 -  mu*r/h^2*(1-cosd(dfi));
g = r*r0/h*sind(dfi);
fd = mu/h*(1 - cosd(dfi))/sind(dfi)*(mu/h^2*(1 - cosd(dfi)) -1/r0 - 1/r);
gd = 1 - mu*r0/h^2*(1 - cosd(dfi));
% Resultant position and velocity vectors
R = f*R0 + g*V0;
V = fd*R0 + gd*V0;
fprintf('R = %4.2f*i + %4.2f*j [km] \n',R(1),R(2));
fprintf('V = %4.4f*i + %4.4f*j [km/s] \n',V(1),V(2));
R = 3634.07*i + 6101.27*j [km] 
V = -7.6623*i + 7.5831*j [km/s]

Inertial components of the angular acceleration

Example 10.4, Orbital Mechanics for Engineering Students, 2nd Edition.

The inertial components of the angular momentum of a torque-free rigid body are

Hg = [320; -375; 450 ];       %[kg*m^2/s] IJK
% the Euler angles [deg] are
fi      =  20;
theta   =  50;
psi     =  75;
% The inertia tensor in the body-fixed principal frame is
Ig = [1000, 0,    0;
         0, 2000, 0;
         0, 0,    3000]; %[kg*m^2]

Obtain the inertial components of the (absolute) angular acceleration Matrix of the transformation from body-fixed frame to inertial frame

QxX = [-sind(fi)*cosd(theta)*sind(psi) + cosd(fi)*cosd(psi), ...
 -sind(fi)*cosd(theta)*cosd(psi) - cosd(fi)*sind(psi),sind(fi)*sind(theta);
 cosd(fi)*cosd(theta)*sind(psi) + sind(fi)*cosd(psi),...
  cosd(fi)*cosd(theta)*cosd(psi) - sind(fi)*sind(psi),-cosd(fi)*sind(theta);
    sind(theta)*sind(psi),   sind(theta)*cosd(psi),    cosd(theta)
       ]
QxX =

    0.0309   -0.9646    0.2620
    0.6720   -0.1740   -0.7198
    0.7399    0.1983    0.6428

Matrix of the transformation from inertial frame to body-fixed frame

QXx = QxX'
QXx =

    0.0309    0.6720    0.7399
   -0.9646   -0.1740    0.1983
    0.2620   -0.7198    0.6428

Obtain the components of HG in the body frame

Hgx = QXx*Hg            % [kg*m^2/s]
Hgx =

   90.8616
 -154.1810
  643.0376

The components of angular velocity in the body frame

Ig_inv = inv(Ig);
wx = Ig_inv*Hgx         % [rad/s]
wx =

    0.0909
   -0.0771
    0.2143

From Euler ’s equations of motion we calculate angular acceleration in the body frame.

alfa_x = - Ig_inv*cross(wx,Ig*wx)               % [rad/s^2]
alfa_x =

    0.0165
    0.0195
    0.0023

Angular acceleration in the inertial frame

alfa_X = QxX*alfa_x                             % [rad/s^2] IJK
alfa_X =

   -0.0177
    0.0060
    0.0176

Published with MATLAB® 7.10

 

%d bloggers like this: