Classical Orbital Elements

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 14

Orbital Elements -Numerical Analysis -I using MATLAB

Spacecraft Navigation and Guidance

AEROSPACE DEPARTMENT

Submitted to,
Prof. Yadu Krishnan.S

Submitted by,
Manjunath
17030141AE009
1.Classical Orbital Elements:
Orbital elements are the parameters required to define a specific orbit in space. A
real orbit and its elements change over time due gravitational Perturbations by other
celestial bodies and effects the general relativity. There are total 6 Classical Orbital Elements
which can define the orbit’s attitude but with some exceptions.
These COE’s are:

Semi-major Axis
Eccentricity
Inclination
RAAN
Argument Of Perigee
True Anomaly

Fig. [1] Classical Orbital Elements

Page No. 01
1.1. Semi-major Axis :

Fig [2] Semi-major Axis of an Orbit

It is the half length of longest axis passing the two foci from Apoapsis to Periapsis. In
other words it is the sum of the Periapsis and Apoapsis distances divided by two will give us
the Semi-major Axis as shown in Fig [2]. It will define the size of the Orbit.
Mathematical Formulation for finding Semi-major axis using parameters are:

1 ra rp
a= (r ¿ ¿ a+r p )¿ a= =
2 (1+e) (1−e)

2
h 1
a=
P μ 2 v2
a= = −
1−e 1−e2
2
r μ

Where,
a = Semi-major Axis
r a = Apogee Radius

r p = Perigee Radius

v = Velocity of the Satellite


Page No. 02
P = Semi-Latus Rectum
h = Specific Angular Momentum
e = Eccentricity
μ = Standard Gravitational Parameter

1.2. Eccentricity (e):


We describe ‘out of roundness’ of any conic-section in terms of its Eccentricity.
Eccentricity specifies the shape of an orbit by looking at the ratio of the distance between
the two foci (i.e., 2c) and the length of the major axis(i.e., 2a). See Fig [3]

e=2 c /2 a

Where,
c = Distance between the foci
a = Semi-major Axis
Table [1] will Specify the shape of the conic-section based the eccentricity :

Conic Section Eccentricity


Circle e=0
Ellipse 0<e<1
Parabola e=1
Hyperbola e>1

Fig [3] Different Conic Sections having Different Eccentricity


Page No. 03
1.3. Inclination (I) :
Vertical tilt of the Orbit around the Line of Nodes Axis with respect to the Equatorial
plane is inclination , it describes the orientation of an orbit with respect to our coordinate

system . Tilt angle is measured between perpendicular Vector of the orbital plane ( h ) and

reference plane (k ). Any three points on an ellipse will define the ellipse orbital plane. The
Reference plane and the Ellipse plane are both two-dimensional objects defined in three-
dimensional space. See Fig [1] for notation i.

Table [2] Orbital Types Depending on their Inclination

1.4. RAAN (Ω ) :
Right ascension of the ascending node (Ω),used to describe orbital orientation with
respect to the principal direction ( ^I ) or Vernal Equinox to the line of nodes Vector ( n⃑ ). It’s
measured in Equatorial plane and it ranges between 0 0 to 3600 and It is not defined when
inclination is 0 0 or 1800 . Refer Fig [1]

Page No. 04

−1
Ω=cos ¿

Where,

n=Line of Nodal Vector
It is the vector that formed due to intersection of orbital plane with the Equatorial
plane and it passes through ascending and descending nodes.

1.5. Arguement Of Perigee (ω) :

It is the measure of the angle along the orbital path between the ascending node
and perigee, termed as argument of perigee, ω. We always measure angle in the
direction of the spacecraft movement. It gives us the orientation of the orbit within the
orbital plane, as shown in Fig [1]. It’s value range between 0 0 ¿ ω ¿ 3600 . It is not defined
when inclination is 0 0∨1800 and when eccentricity is 0.

−1
ω=cos ¿

Where,

e=¿ Eccentricity Vector

n=¿ Line of Nodal Vector
1.6. True Anomaly ( ν ) :
True anomaly, ν, is the angle along the orbital path from perigee to the spacecraft’s
position vector. Similar to the argument of perigee, we measure true anomaly also in the
direction of the spacecraft’s motion. Fig [1] shows true anomaly. Its range of values is
0 0
0 ¿ ν<360 . It is not defined when eccentricity is 0. True anomaly, ν, tells us the location of
the spacecraft in its orbit. Of all the COEs, only true anomaly changes with time as the
spacecraft moves in its orbit.

−1
ν=cos ¿

Page No. 05
Where,

e=¿ Eccentricity Vector

r =¿ Position Vector of Satellite

Exceptional cases where cannot define some COE’s :


Under some exceptional cases, some of the Classical Orbital Elements can not be
defined. For example if the orbit was circular there will be no periapsis. In this case we
cannot define both Argument of Perigee(ω) and true anomaly( ν ), because both will consider
periapsis as the reference axis. And similarly when the inclination is 0 0∨1800 we cannot
define RAAN because line of node vector is not defined. Refer Table [4] to know about
exceptional cases. To correct this deficiency we introduce a new set of 3 more orbital
elements in general called as Alternate Orbital elements.

Element Name Range of Values Undefined


a Semi-major axis Depends on the Never
conic section
e Eccentricity e = 0: Circle Never
0 <e< 1: Ellipse
i Inclination 0 ¿ i¿ 1800 Never
Ω Right ascension of the 0 ¿ Ω<¿ 3600 When i = 0 0 or 1800
ascending node
ω Argument of Perigee 0 ¿ ω< ¿ 3600 When i = 0 0 or 1800
or e = 0
ν True Anomaly 0 ¿ ν< ¿ 3600 When e = 0

Table [3] Summary of COE’s

2. Alternate Orbital Elements:


In general, whenever we face a peculiar orbit with one or more of the COEs
undefined, we work backward from the spacecraft’s position vector (the one thing that’s
always defined) to the next quantity that is defined.
These Alternate Orbital Elements listed as:

Argument of Latitude (u)


Longitude of Perigee ( Π )
True Longitude (l )
Page No. 06
Fig [4] Alternate Orbital Elements

2.1. Argument of Latitude (u):


We measure argument of latitude(u), along the orbital path from the ascending node
to the spacecraft’s position in the direction of the spacecraft’s motion. It is used in place of
True Anomaly ( ν ) when the orbit is circular and there is no Periapsis. It’s values range
between 0 0 ¿ u<360 0. Refer Fig [4] to visualize it.

u=cos−1 ¿

where,

n=¿ Line of Nodes Vector

r =¿ Satellite position Vector

2.2. Longitude Of Perigee ( Π ):

Longitude of perigee(Π) is the angle measured from the Vernal Equinox, to the
perigee in the direction of the spacecraft’s motion. It is defined when orbit is an
Equatorial orbit i.e., inclination of the orbit is 0 0∨1800 because in this condition we
cannot define RAAN and Argument of Perigee since there is no Line of Nodes Vector
formed. It’s values ranges in between 0 0 ¿ Π <3600 . Refer Fig [4] to visualize it.

−1
Π=cos ¿

Page No. 07
Where,

e=¿ Eccentric Vector

I =¿ Principle Axis

2.3. True Longitude (l ):



It is measured from the principal direction ( I ), to the spacecraft’s position vector ( r⃑ ).
It is defined when the orbit is Circular Equatorial Orbit i.e., circular orbit with inclination
0 0
0 ∨180 because in this condition we cannot define RAAN , Argument of Perigee and
neither True Anomaly since there is no Perigee and also no line of nodes Vector. It’s values
ranges in between 0 0 ¿ Π <3600 . Refer Fig [4] to visualize it.

−1
l=cos ¿

Where,

I =¿ Principle Axis

r =¿ Satellite Position Vector

Element Name Description Range of Values When to Use


0 0
u Argument of Angle from ascending node to 0 ¿ u<360 When e=0
Latitude the spacecraft position
Π Longitude of Angle from principle direction 0
0 ¿ Π <360
0
When no
Perigee to perigee ascending node
0 0
l True Longitude Angle from the principle 0 ¿ l<360 When e = 0 and
direction to the spacecraft Orbit is
position Equatorial

Table [4] Alternate Orbital Elements and when to use them

Page No. 08

Problem:
 Position and Velocity Vectors of a earth satellite at a particular time is given as, R =
8250 ^I + 390 ^J + 6900 ^ K
V = -0.7 ^I + 6.6 ^J – 0.6 ^
K
Determine all the Orbital Elements to define it’s orbit in space with respect
to Equatorial plane of earth.
⋙ Input:

Output:

Code for getting all the Orbital Elements values by giving input as Position Vector
and Velocity Vector of Satellite

clear
clc
disp('<strong>Enter all the Units in SI System-></strong>')
%% Input from Users
R = input('Enter the position Vector of Satellite:');
V = input('Enter the Velocity Vector of Satellite:');
%% Value Assignment and Formulation
mu = 3.986e+05;
I = [1 0 0];
J = [0 1 0];
K = [0 0 1];
r = norm(R);
v = norm(V);
h = cross(R,V);
n = cross(K,h);
E = (1/mu).*(((v^2)-mu/r).*R-(dot(R,V)).*V);
e = norm(E);

i = (acosd((dot(h,K))/norm(h)));
ohm = (acosd((dot(I,n))/norm(n)));
omega = (acosd((dot(n,E))/((norm(n)).*(e))));
Page No. 09
nu = (acosd((dot(E,R))/(e*r)));
a = 1/((2/r)-((v^2)/mu));
c = a*e;
r_peri = a*(1-e);
r_apo = a*(1+e);

%% 2-D Plot Of Orbit


%{
theta = linspace(0,2*pi,1000);
rt = ((norm(h)^2)/(mu))./(1+e.*cos(theta));
x = rt.*cos(theta);
y = rt.*sin(theta);
re = 6378;
x1 = re.*cos(theta)-2*c+6378;
y1 = re.*sin(theta);
fill(x1,y1,'b');
axis equal
hold on
comet([0 r_apo],[0 0]);%,'LineWidth',5);
comet(x,y,0.05)
%}
%% Code to get Right Ascension Of Ascending Node

%% When the Orbit is Elliptical and it is inclined wrt Equatorial Plane

if r_peri <= 6378


fprintf('\n')
disp(' <strong>|->Orbit is not possible, the space-object will crash
into the planet</strong>');
elseif i ~= 0 || 180 && e >0

if n(1) > 0 && n(2) > 0


fprintf('\n<strong>It is a Prograde Elliptical orbit:</strong>\n |-
><strong>n</strong> Vector lies in First Quadrant\n')

if ohm >90
ohm = 360 - ohm;
disp([' |->RAAN is = ',num2str(ohm),'
<strong>Degree</strong>'])
else
disp([' |->RAAN is = ',num2str(ohm),'
<strong>Degree</strong>'])
end

elseif n(1) < 0 && n(2) > 0


fprintf('\n<strong>It is a Retrograde Elliptical orbit:</strong>\n
|-><strong>n</strong> Vector lies in Second Quadrant\n')

if ohm >180
ohm = 360 - ohm;
disp([' |->RAAN is = ',num2str(ohm),'
<strong>Degree</strong>'])
else
disp([' |->RAAN is = ',num2str(ohm),'
<strong>Degree</strong>'])
end

elseif n(1) < 0 && n(2) < 0


Page No. 10

fprintf('\n<strong>It is a Retrograde Elliptical orbit:</strong>\n |-


><strong>n</strong> Vector lies in Third Quadrant\n');
if ohm < 180
ohm = 360 - ohm;
disp([' |->RAAN is = ',num2str(ohm),'
<strong>Degree</strong>'])
else
disp([' |->RAAN is = ',num2str(ohm),'
<strong>Degree</strong>'])
end

elseif n(1) > 0 && n(2) < 0


fprintf('\n<strong>It is a Prograde Elliptical orbit:</strong>\n |-
><strong>n</strong> Vector lies in Fourth Quadrant\n')

if ohm < 90
ohm = 360 - ohm;
disp([' |->RAAN is = ',num2str(ohm),'
<strong>Degree</strong>'])
else
disp([' |->RAAN is = ',num2str(ohm),'
<strong>Degree</strong>'])
end
end

disp([' |->Inclination of Orbit from Equatorial plane is =


',num2str(i),'<strong> Degree</strong>']);
Values = ' |->Eccentricity of the Orbit is = %8.5f \n |->Arguement of
Perigee is = %8.5f <strong>Degree</strong> \n |->True Anamoly is = %8.5f
<strong>Degree</strong> \n |->Semi-major Axis is = %8.5f
<strong>Km</strong>\n';
fprintf(Values,e,omega,nu,a);

%% When the Orbit is Circular and it is inclined wrt Equatorial Plane


elseif i ~= 0 || 180 && e == 0

if n(1) > 0 && n(2) > 0


fprintf('\n<strong>It is a Prograde Elliptical orbit:</strong>\n |-
><strong>n</strong> Vector lies in First Quadrant\n')

if ohm >90
ohm = 360 - ohm;
disp([' |->RAAN is = ',num2str(ohm),'
<strong>Degree</strong>'])
else
disp([' |->RAAN is = ',num2str(ohm),'
<strong>Degree</strong>'])
end
elseif n(1) < 0 && n(2) > 0
fprintf('\n<strong>It is a Retrograde Elliptical orbit:</strong>\n
|-><strong>n</strong> Vector lies in Second Quadrant\n')

if ohm >180
ohm = 360 - ohm;
disp([' |->RAAN is = ',num2str(ohm),'

Page No. 11
<strong>Degree</strong>'])
else
disp([' |->RAAN is = ',num2str(ohm),'
<strong>Degree</strong>'])
end
elseif n(1) < 0 && n(2) < 0
fprintf('\n<strong>It is a Retrograde Elliptical orbit:</strong>\n
|-><strong>n</strong> Vector lies in Third Quadrant\n')

if ohm < 180


ohm = 360 - ohm;
disp([' |->RAAN is = ',num2str(ohm),'
<strong>Degree</strong>'])
else
disp([' |->RAAN is = ',num2str(ohm),'
<strong>Degree</strong>'])
end
elseif n(1) > 0 && n(2) < 0
fprintf('\n<strong>It is a Prograde Elliptical orbit:</strong>\n |-
><strong>n</strong> Vector lies in Fourth Quadrant\n')

if ohm < 90
ohm = 360 - ohm;
disp([' |->RAAN is = ',num2str(ohm),'
<strong>Degree</strong>'])
else
disp([' |->RAAN is = ',num2str(ohm),'
<strong>Degree</strong>'])
end
end

Arg_of_lattitude_u = acosd(dot(n,R)/(norm(n)*r)) ;
disp([' |->Inclination of Orbit from Equatorial plane is =
',num2str(i)],' Degree');
Values = 'Semi-major axis of the Orbit is = %8.5f <strong>Km</strong>\n
|->Eccentricity of the Orbit is = %8.5f |->Argument of Lattitude is = %8.5f
<strong>Degree</strong> \n<strong> Orbital Elements like Argument of
Perigee and True Anomaly cannot be defined</strong> \n';
fprintf(Values,a,e,Arg_of_lattitude_u);

%% When the Orbit is Elliptical and it is Parallel to Equatorial Plane


elseif i == 0 || 180 && e >0
disp(['Inclination of Orbit from Equatorial plane is = ',num2str(i)]);
nu = acosd((dot(E,R))/(e*r));
Long_of_peri_pi = acosd(dot(I,E)/(norm(I)*e));
Values = ' |->Semi-major Axis is = %8.5f <strong>Km</strong> \n |-
>Eccentricity of the Orbit is = %8.5f \n |->Longitude of perigee is = %8.5f
<strong>Degree</strong> \n |->True Anamoly is = %8.5f
<strong>Degree</strong> \n <strong> Orbital Elements like RAAN and Argument
of Perigee cannot be defined';
fprintf(Values,a,e,Long_of_peri_pi,nu);

%% When the Orbit is Circular and it is Parallel to Equatorial Plane


elseif i ==0 || 180 && e == 0
disp(['Inclination of Orbit from Equatorial plane is = ',num2str(i)]);
Tr_long_l = acosd(dot(I,R)/(r*norm(I)));
Values = ' |->Semi-major Axis is = %8.5f <strong>Km</strong>\n |-
>Eccentricity of the Orbit is = %8.5f \n |->True longitude is = %8.5f

Page No. 12
<strong>Degree</strong> \n<strong> Orbital Elements like RAAN, Argument of
Perigee and True Anomaly cannot be defined </strong> ';
fprintf(Values,a,e,Tr_long_l);
end

References:

 Wikiwand.com, ‘Orbital_elements’
 Federal Aviation Administration, ‘Advanced Aerospace Medicine
Online’
 Orbital Mechanics For Engineering Students-Elsevier_Butterworth-
Heinemann (2020)
 For Pictures – Wikipidia
 For entire code in well mannered way, click on the below Icon

Page No. 13

You might also like