HW 1 Kklloh
HW 1 Kklloh
HW 1 Kklloh
Observation:
SPE 510 Midterm Report
Kelvin Loh (20114534)
Room 3333, Department Of Aerospace Engineering
KAIST
[email protected]
April 9, 2012
Abstract
A suite of MATLAB functions are developed to analyze the Walker-Delta Con-
stellation. Since this is one of the more popular constellations, two cases are
also being thought out to determine if the constellation pattern can be a so-
lution for the cases that require extensive Earth observation. It is shown that
the constellation is sensitive to altitude changes.
1 Introduction
A constellation is a set of satellites distributed over space intended to work together
to achieve common objectives. The Walker-Delta Constellation is one such popular
constellation design since it is the most symmetric. In order to study the performance
of this type of constellation, a set of computational tools have to be developed. The
theoretical foundations are important as it directly aects the accuracy of the anal-
ysis. The functions are tested and the results of the tests are also reported in this
report. Additional models are also included in the code such as low-thrust maneu-
vers tangential to the spacecraft ight path, but they are only documented in the
comments of the MATLAB functions.
2 K. Loh
2 Theoretical Models
This section covers the theoretical basis for the codes used to evaluate the perfor-
mances of the Walker-Delta constellation to cover a target on Earth for observation.
Proofs of the models used are not provided in this report.
2.1 Equations of relative motion
The two-body equation of motion, namely, Newtons second law and his universal
law of gravitation form the starting point for any study of astrodynamics. Equation
1 describes the motion of a body (satellite) of negligible mass with respect to another
body (Earth) under the inuence of a gravitational force. This then assumes that an
inertial frame of reference can be centered at the barycenter of the massive body.
r =
r
2
r
r
(1)
In Newtons law of gravitation, the gravitational force can be expressed in terms
of the gradient of a scalar gravitational potential function of a body. For a
spherical body
F = =
_
r
_
(2)
For a non-spherical body, can contain additional terms which can be used to
determine
F, and subsequently
r. As the inertial reference frame is centered at the
center of the massive body, Equation 1 is also known as the fundamental equation
of relative two-body motion. The MATLAB function orbit.m uses this equation to
determine the satellite motion.
2.2 Keplerian Orbit Propagation
Keplers laws are derived from Equation 1. The orbital position as a function of
time can be decribed by the mean anomaly, M
e
. The propagation routines used
in the codes ground track2.m and satellite constellation.m are based on solving the
Keplers equation (Equation 3) for each time step.
M
e
= E e sin (E) (3)
where E is the eccentric anomaly, and e is the eccentricity.
Walker-Delta Satellite Constellation for Earth Observation 3
For elliptical orbits, it can be shown [1] that
M
e
=
2
h
3
_
1 e
2
_3
2
t (4)
So, Equation 4 becomes
M
e
=
2
T
t (5)
With this, it can be seen that numerically solving the Keplers equation for each
time step and directly using an Euler forward rst-order time-stepping scheme is faster
than directly integrating Equation 1 using a Runge-Kutta (4th-order or higher) xed
time-step scheme. Therefore, this method is primarily used to propagate the satellite
constellation for this project.
2.3 Orbit Perturbations
Equation 1 assumes that the revolving body experiences forces only from the central
body. However, this assumption does not hold for actual orbits. In reality, there are
many perturbations to the orbital motion. The equation can then be generalized to
include all the other perturbation forces acting on the body as described by Equation
6.
r =
r
2
r
r
+a
p
(6)
As the Earth is not a perfect sphere, the gravitational potential will deviate from
that of a perfect sphere. Due to this eect, the orbital motion will encounter pertur-
bations. This project considers the eects of Earth Gravity Harmonics mainly, the
J
2
perturbation on the secular rates of the right ascension of ascending node (),
the argument of perigee (
p
), and a small correction to the mean motion of the orbit
(
M
e
). The rates are computed by the following equations:
=
3
2
J
2
R
2
E
p
2
ncos i (7)
p
=
3
2
J
2
R
2
E
p
2
n
_
2
5
2
sin
2
i
_
(8)
M
e
= n =
_
a
3
0
_
1 +
3
2
J
2
R
2
E
p
2
_
1
3
2
sin
2
i
_
1 e
2
_
(9)
4 K. Loh
with the symbols taking their usual notations. Atmospheric drag perturbation eects
was not included in the simulations since it is assumed that the main propulsion sys-
tem onboard a satellite will perform the necessary station-keeping maneuvers during
the mission.
For the special perturbation method employed in orbit.m, Cowells method [2]
was used. From Equation 2, it is seen that the gravitational force acting on the
revolving body can be described by the gradient of a potential function. From this,
the potential theory provides a clear picture of the gravity harmonics of the Earth.
The potential function for the primary body due to the J
2
perturbation is described
by Equation 10 in the inertial Cartesian coordinate frame (ECI).
=
r
1
2
J
2
_
R
E
r
_
2
_
1 3
_
z
r
_
2
_
(10)
where r =
_
x
2
+y
2
+z
2
It can then be derived from Equation 10 and Equation 2 that
a
J
2
=
3
2
J
2
R
2
E
r
4
_
x
r
_
1 5
_
z
r
_
2
_
,
y
r
_
1 5
_
z
r
_
2
_
,
z
r
_
3 5
_
z
r
_
2
__
(11)
The acceleration a
J
2
is then added to the right-hand side of Equation 6 as part of the
perturbation acceleration.
2.4 Earth Coverage
This section will only reference gures from the text used [3] to compute the Earth
target coverage by a satellite. Also, the programs assume that for coverage purposes,
the Earth is a perfect sphere. An area access coordinate frame on the Earths surface
is dened corresponding to the nadir coordinate frame of the spacecraft. Figure 9-2
of the text [3] shows the denition of the access area coordinate frame. The trans-
formation between latitude and longitude and access area coordinates is relatively
straightforward.
For the programs, the maximum Earth Central Angle is given by,
0
=
R
E
R
E
+H
(12)
However, to account for the optical sensor resolution, the Earth central angle is
limited by the resolution requirements (Figure 9-3 of the text [3]). From the Rayleigh
Walker-Delta Satellite Constellation for Earth Observation 5
criterion and cosine rule,
sin =
x
res
2h
= 1.220
WL
D
a
(13)
cos = 1
(h
)
2
h
2
2R
E
(R
E
+H)
(14)
The transformation from the latitude and longitude of the target (P) and sub-
satellite point (SSP) (Figure 9-4 of the text [3])are as follows:
Lat
P
= 90
Lat
P
, Lat
SSP
= 90
Lat
SSP
(15)
L = Long
SSP
Long
P
(16)
r
P
= cos
1
[cos Lat
P
cos Lat
SSP
+ sin Lat
P
sin Lat
SSP
cos L] (17)
The target will be observable from the spacecraft optical payload if
r
P
min(
0
, )
2.5 Walker-Delta constellation
The most symmetric of the satellite patterns is the Walker Constellation. The Walker-
Delta Pattern contains a total of T satellites with S satellites evenly distributed
in each of P orbit planes. All of the orbit planes are assumed to be at the same
inclination, i, relative to the equator. The ascending nodes of the P orbit planes
in Walker patterns are uniformly distributed around the equator at intervals of
360
P
.
Within each orbital plane, the S satellites are uniformly distributed at intervals of
360
S
. The phase dierence, , in a constellation is dened as the angle in the
direction of motion from the ascending node to the nearest satellite at a time when
a satellite in the next most westerly plane is at its ascending node. must be an
integral multiple, F, of
360
T
, where 0 < F P 1.
Figure 1 shows an example of a Walker-Delta pattern generated by the program
ground track2.m with the satellites at their initial positions. The green cube shows
the seed/rst satellite.
Figure 2 shows the classical orbit elements for the satellites in the 45:4/2/1 Walker-
Delta constellation as generated by the ground track2.m program.
3 General Description of the Codes
Several MATLAB functions (mainly, optim main.m, ground track2.m, orbit.m, and
test t.m) were written to analyze the behaviour of the Walker-Delta constellation.
6 K. Loh
Figure 1: Walker-Delta Pattern 45:4/2/1 at 10,000 km altitude
Figure 2: The initial Walker-Delta Pattern in Classical Orbit Elements
Walker-Delta Satellite Constellation for Earth Observation 7
The ground track2.m function was written as a tool to test the orbit propagator
(satellite constellation.m) for a perturbed Keplerian orbit used in optim main.m as
well as to visualize the nal design parameter chosen for the observation of KAIST.
In general the basic structure of the codes are similar to each other. The rst sec-
tion will be the inputs of the simulation, second function will initialize the spacecraft
state vectors in the ECI (SV) or in the Keplerian orbit elements (COE). After that
each satellite in the constellation are propagated along the same rates, hence, for
the constellation, only the initial condition is important. After the SVs or COEs
are known at each time step from the propagator, the position of the satellites
are then converted into the Earth latitude and longitude coordinate frame. In the
nd ra and dec function, this is being done. This makes it easier to obtain the
subsatellite point latitudes and longitudes for coverage determination.
The appendix lists the important codes. The optim main.m code is a wrapper code
which can brute force calculate potentially all the design variables of the Walker-Delta
constellation. It uses the MATLAB parallel toolbox for independent design variable
computations.
4 Validation cases
There currently are no test cases to be compared against. However, the author
believes that if the individual functions are working and tested, the results after the
functions are combined can be reliable.
4.1 Initialization and propagation
The rst test is the satellite initialization subroutine. The output in Figure 2 shows
that the initialization was done correctly. The orbit was also propagated correctly
with all the outputs showing that the satellites were uniformly propagated. The
nal output is shown in Figure 3. Table 1 presents the results of a single satellite
using dierent propagator models. One is run using orbit.m and the other using
ground track2.m. As can be seen, the results show not a large dierence between
the RK5 and Kepler propagator model, with the exception that the Kepler model is
faster to run but the disadvantage is that it assumes an elliptical orbit.
8 K. Loh
Figure 3: Final output
Table 1: Results of FOM for single satellite using dierent propagator models
Method of propagation Average altitude (km) % Coverage Mean response time (s)
RK5 - Newton 392.75 0.255 27987
Kepler 400 0.301 27667
4.2 Earth coverage
Unfortunately, there is no known standard test case to be run for the calculation of
the earth coverage. However, another MATLAB function orbit2.m was written to test
the earth coverage calculations and to verify them. The function orbit2.m calculates
the Earth central angle
rp
from target on the surface to the subsatellite point using
both Equations 17 and 18 for comparison. Equation 18 is dened as follows:
cos
rp
=
r r
t
|r||r
t
|
(18)
where r is the position vector of the satellite from the center of the Earth in ECI
frame, and r
t
is the position vector of the target on the surface of the Earth from the
center of the Earth in ECI frame.
Figure 4 shows the path of the target on the surface of the Earth with respect to
the ECI frame as calculated by the orbit2.m function. It shows the correct path as
predicted since the Earth is modelled to spin only in the z-axis. It is then assured
that the target position vector is correct. Also, it is known that the satellite position
vector is also correct. Therefore, Equation 18 can be used as a verication for the
method used in the other functions.
A test orbit is used for method validation. The target is KAIST (36.372 N, 127.363
E), with inclination of 60
with an
altitude of 700 km. This also imposes an altitude limitation in which the satellite
altitudes must not go above 1000 km.
For the case of observing KAIST, the optim main.m code was used to determine
the design variables which gives the maximum percent coverage. The brute force
searching technique was used. Figure 14 provides an indication of the percent coverage
variation with respect to the total number of satellites (T) parameter and the altitude.
For this case, the number of planes (P) is set at the maximum which is equal to T.
The discontinuous looking pattern is very likely due to the discrete nature of the
variable T, and also, the simulation for observing the ground, the time step might be
too large in that it might have skipped a few points on the ground, thereby causing
the percent coverage plot to be rather irregular. However, a pattern can be seen,
which shows that the percent coverage increases with decreasing altitude. This is
probably due to the increasing limited Earth Central Angle imposed by the Rayleigh
criterion. Of particular interest is shown in Figure 15 that increasing or decreasing
the number of planes with a maximum number of satellites (T = 30) does not change
Walker-Delta Satellite Constellation for Earth Observation 15
the percent coverage by a signicant amount. What is clear from the plot is that the
largest dierence comes again yet from changing altitude. This can only be explained
by performance plateaus which is aected by altitude and inclination as described by
the text [3].
Figure 14: Contour map of percent coverage as a function of altitude and number of
satellites
An optimization wrapper, optim main2.m was used to obtain the maximum Earth
coverage with respect to the number of planes (P), relative phasing parameter (F),
and altitude. As expected the maximum percentage coverage happens in an altitude
of 100 km, however, this is too low when drag is considered. Hence, an altitude of
400 km is chosen from the data set and the maximum set of the p cover1 variable
corresponding to the altitude of 400 km is chosen. Using the information gained, the
constellation 60:30/30/15 is chosen as the nal design point to maximize the percent
coverage to observe KAIST. The constellation will have an altitude of 400 km and
the initial longitude of the rst satellite at t=0 is at 0