Lunar Halo Orbits
Extension
Halo Orbit Selection

Halo orbits offer many advantages for lunar communication’s systems. However, inserting into a halo orbit is not a trivial task. Not only do halo orbits deal with the complexity of a 3 body system, they are dynamically unstable. This extension investigates a method called the Single Shooting Algorithm, which can be used to select initial conditions for a lunar halo orbit. The first question we must ask when designing a halo orbit is:

What makes an orbit periodic?

Simple periodic orbits exhibit two distinct characteristics (3):

  1. They are symmetric about the xz plane
  2. They intersect the x-axis twice per orbit

These characteristics can be used to determine a successful orbit insertion, and are made mathematically relevant by considering the spacecraft state, namely its position and velocity. The state of the spacecraft can be organized into a vector X:

X = [                 ]
 x  y  z  x˙ y˙ z˙T (26)

Assume the spacecraft crosses the xz plane perpendicularly. If this is the case, it will only have a velocity in the y direction. Setting this condition as the initial time, t = t0 = 0, the state simplifies to:

X0 = [                   ]
 x0  0  z0  0  ˙y0  0T (27)

From this initial condition, the orbit will be periodic only if it is perpendicular to the xz plane every time it crosses it. The next xz crossing after t0 will occur half a period later, at time t = T∕2, and will have a similar looking state:

X(T∕2) = [                 ]
 x  0  z  0  y˙ 0T (28)

An orbit can be considered periodic if, at time t = T∕2, || and |ż| are close to zero (< 1012) (6).

How do we select a periodic orbit?

Because halo orbits are unstable, the initial conditions must be selected perfectly to produce periodicity. Even a trajectory that is close to periodic, when propagated forward to t = T∕2, will have some non-zero velocity components in the x and z directions. If intelligent adjustments are made to the initial state X0, a periodic solution can be found.

A deviation of the initial state is defined as:

δX0 = [                      ]
δx0   0  δz0  0  δ˙y0  0T (29)

To choose this deviation, the problem can be linearized around the current halo trajectory.

δX(T∕2) = Φ(T∕2,t0)δX0 + δ(T∕2) (30)

Although an approximation, this Taylor series linearly relates small deviations of the state at two different times using Φ, the state transition matrix. Φ is defined as:

Φ(T∕2,t0) = δX  (T ∕2)
---------
  δX (t0) (31)

and can be integrated forward in time by solving the following differential equation:

˙Φ = AΦ (32)

where A is the partial derivative matrix of the state evaluated on the halo trajectory:

A(t) =   ˙
δ-X-(t)
δX  (t) (33)

Assuming the current trajectory is not exactly periodic, || and |ż| will be non-zero at time t = T∕2. Small deviations will need to be made to the state to correct this poor condition for periodicity. The state transition matrix, Φ(t0,T∕2), can be used to map these small deviations at time t = T∕2 to the analogous deviations at the initial time t = t0, using Equation 30. By setting Φ to the identity matrix at time t = t0, it can be integrated forward to obtain the mapping of state deviations at time T∕2 to deviation at time t0.

Simplifying the linearized equation results in two methods for changing the values of || and |ż| at time T∕2. This can be achieved by changing the initial state parameters z0 and and leaving x0 fixed:

[   ]
  δ˙x
  δ˙x = [(         )      (  )           ]
   Φ43  Φ45     1- xš  (        )
   Φ63  Φ65   − ˙y   šz   Φ23  Φ25(    )
  δz0
  δy˙0 (34)

or by changing z0 and and fixing z0:

[   ]
  δ˙x
  δ˙x = [(         )      (  )           ]
   Φ41  Φ45  −  1- šx   (Φ    Φ  )
   Φ61  Φ65     ˙y  zš    21    25(    )
  δx0
  δy˙0 (35)

Because this procedure uses linearized approximations to a nonlinear problem, the adjustments made by these equations will not perfectly correct unwanted || and |ż| motion at T∕2. However, this process can be iterated until it converges on a periodic orbit (6).


Analysis of the Single Shooting Method

Equations 34 and 35 represent a trajectory correction method known as the Single Shooting Method. Given some nominal trajectory for a halo orbit, this method can be used to refine that trajectory into a truly periodic halo trajectory.

To see how this method performs, an initial spacecraft state is given below:

x0 = 1.142198291366583
y0 = 0.0
z0 = 0.1599
0 = 0.0
0 = 0.223
ż0 = 0.0

in the CRTBP frame, assuming μ = 0.012150585609624, a distance unit of 384747.962856037 km and a time unit of 6.192169331319632 s . Integrating this initial condition forward in time produces the halo orbit shown below.

PIC
Figure 14: Initial Guess for a Periodic Lunar Halo Orbit

Obviously, the orbit it not periodic. After, a single revolution it begins to exponentially diverge, heading towards Earth.

Can we correct our initial conditions using the Single Shooting Method?

The algorithm is organized as follows.

PIC
Figure 15: Single Shooting Method Flow Chart (6)

First we integrate our state, X, and state transition matrix, Φ, to time T∕2 using a variable-step, numerical integrator. We can then check the state at time T∕2 for periodicity by seeing if || and |ż| are close to zero. Unless we have chosen perfectly, we will need to compute changes to our initial state to correct for unwanted motion in || and |ż|. We can compute these changes using Equation 34 or 35, depending on which component is further from zero during the current iteration.

After iterating this procedure, until || and |ż| are under a specified tolerance, we calculate a new initial state:

x0 = 1.14219829136658
y0 = 0.0
z0 = 0.160042849805986
0 = 0.0
0 = 0.222583571494137
ż0 = 0.0

After integrating the new state forward, the resulting orbit is periodic:

PIC
Figure 16: Corrected Periodic Lunar Halo Orbit



Mission Recommendation

Based on the analysis above, we can refine an initial guess for a halo orbit by changing the initial trajectory by only a small amount, ΔX0:

Δx0 = 2.71410808587724E-5
Δy0 = 0.0
Δz0 = 0.000142849805986417
Δ0 = 0.0
Δ0 = 0.000416428505862626
Δż0 = 0.0

The change required to correct the orbit is surprisingly small. Due to the instability of the halo orbit at L2, even a small amount of error in the initial conditions will cause trajectory to diverge quickly.

Due to the extreme dynamics of this orbit, a well formulated orbit determination and trajectory station keeping scheme will need to be implemented. Maintaining a lunar halo orbit requires very accurate knowledge of the location and velocity of the spacecraft during the entire life of the mission. The Single Shooting Method in conjunction with quality attitude determination information can be used not only to insert a communications satellite into a lunar halo orbit, but can provide the necessary station keeping maneuvers to keep it there.


MATLAB Source Code

finalproject.m
singleshot.m
crtbp_statetransition.m
crtbp_derivatives.m
crtbp.m