Spacecraft Control Toolbox To The Moon

Today, I will discuss two functions in release 2020.1 of the Spacecraft Control Toolbox (SCT) which can be used to get your spacecraft into a lunar orbit. They are LunarTargeting.m and LunarMissionControl.m. They are demonstrated together in the script LunarMission.m.

LunarTargeting.m produces a transfer orbit that starts at a Low Earth Orbit (LEO) altitude and ends up passing by the Moon with a specified perilune (periapsis of the Moon) and lunar orbital inclination. Its novel approach to the patched-conic-sections model of multibody orbital transfers uses the solution to Lambert’s problem to target a point on the gravitational boundary between the Earth and the Moon. Then it numerically optimizes over points on that surface until the initial velocity of the transfer is minimized. LunarTargeting.m requires the MATLAB optimization toolbox.

LunarMissionControl.m implements a control system which enables a spacecraft to propulsively enter lunar orbit. Like the other control systems implemented in the SCT, it stores its active state and degrees of freedom in a data structure, and accepts a list of commands as arguments. The commands we’ll see used here are ‘initialize,’ ‘lunar orbit insertion prepare,’ ‘align for lunar insertion,’ and ‘start main engine.’

LunarMission.m ties them both together and simulates a spacecraft, down to the attitude-control level. The simulation includes power and thermal models. The spacecraft can be controlled by reaction wheels or thrusters. Forces from the Sun, Earth, and Moon are included. The spacecraft starts on the trajectory returned by LunarTargeting.m, then acts in accordance to commands to LunarMissionControl.m. It takes the spacecraft 4.5 days to get to perilune, at which point it inserts itself into lunar orbit. Let’s take a look!

A figure produced by LunarMission.m. This figure shows the whole trajectory, from Low Earth altitude to a complete orbit around the Moon after insertion.

Take a look at the above figure. This is the entire mission trajectory in the Earth-Centered Inertial (ECI) frame. We can see the initial transfer orbit as the red line. Then it approaches the blue line (the Moon’s orbit), and begins corkscrewing around it after orbital insertion. Let’s look at that insertion in close-up:

One figure produced by LunarMission.m. This figure shows the lunar orbit insertion.

The above figure shows the final part of the trajectory in Moon-centered coordinates. The red line starts as the spacecraft passes the imaginary gravitational boundary between the Earth and the Moon. It falls closer to the Moon, and at its closest point, fires its engines to reduce its velocity. You can’t see it in this figure, but that process is actually resolved on a 2 second timescale. The spacecraft is commanded to point retrograde using a PID controller, waits until it has pointed correctly, then fires its engines for a prescribed duration. If you look closely, you will see that moon has a 3 dimension surface courtesy of the Clementine mission.

Let’s finish this post off with some technical details:

On the far left, you can see the reaction wheel rates. They stay at zero for 4.5 days, as the spacecraft coasts. Then, when the craft is commanded to point retrograde for its orbital insertion, you can see wheels 2 and 3 spin up. Wheel 1 stays near zero; its vertical scale is 10^-16. Then in the center, you can see fuel use. The only fuel use is the insertion burn, so fuel stays constant until 4.5 days in. Less than 2 kg of fuel is used for this example, as the spacecraft is a 6U cubesat. On the right, the components of the body quaternion are displayed. Again, they are constant until 4.5 days in, when the craft is commanded to point retrograde.

I hope you’ve enjoyed this demonstration of how to simulate a lunar mission with the SCT! For more information on our toolboxes check out our Spacecraft Control Toolbox for MATLAB. You can contact us directly by email if you have any questions.

NASA SBIR Phase III: Low Energy Mission Planning

Hello PSS fans! This is Charles Swanson, recently minted doctor of plasma physics and PSS’s newest employee. It’s my distinct pleasure to discuss our most recent NASA contract: A Phase III SBIR to integrate our Low Energy Mission Planning Toolbox (LEMPT) into NASA’s open source Orbit Determination Toolbox (ODTBX).

Have you read about the kinds of maneuvers conducted by Hiten and AsiaSat 3 that allowed them to reach orbits that would seemingly be outside their Delta-V budgets? Have you always wondered how one goes about planning such maneuvers?

What about the Lunar Gateway from which NASA plans to stage missions to the surface of the Moon in the coming decades? What kinds of clever orbital tricks can we use to get to, from, and about the Moon with the minimum possible fuel?

That’s what LEMPT is for. LEMPT is a suite of tools written in MATLAB for the planning of low energy missions, the kinds of missions that loop way outside the target orbit of the Moon and deep into chaotic regions of the gravitational landscape. Here’s an example:

This LEO to Lunar Orbit mission takes just one impulsive burn of 2.8 km/s. It loops way outside the Moon and back in for a ballistic capture.

To go from LEO to a low lunar orbit usually takes almost 4 km/s of Delta-V. The maneuver depicted takes only 2.8 km/s. This is the kind of planning capability that NASA would like for their ODTBX. From now until December, we’ll be integrating the LEMPT into ODTBX, where it will help NASA mission planners evaluate all of their options along the trade-off of mission time and Delta-V.

The orbit above doesn’t look anything like the Keplerian ellipse that we know and love. That’s because this is a four-body system, with the Sun, Earth, Moon, and spacecraft all interacting gravitationally. Even the three-body system is famously chaotic: here are two examples of the kind of distinctly weird-looking orbits you can get:

This is a periodic orbit in the Sun-Earth-Spacecraft system. Periodic orbits are rare in such systems.

This orbit starts with only 0.01% more velocity than the periodic orbit but escapes the Earth entirely. This is an example of chaos.

It’s this chaos that the LEMPT leverages to plan exotic and efficient maneuvers.

Lunar Orbit Insertion Maneuver

New functions in the Lunar Cube module in 2016.1 allow you to easily plan lunar insertion and orbit change maneuvers. In the following pictures you can see a lunar orbit insertion from a hyperbolic orbit. In all figures the lunar terrain is exaggerated by a factor of 10.

LunarMnvr2

The same maneuver looking down on the orbit plane. The green arrows are the force vectors.

LunarMnvr1

The following figure shows a two maneuver sequence. The first puts the spacecraft into an elliptical orbit. The second circularizes the orbit.

Lunar3

Patched Conics

Patched conics are a useful approximation when dealing with orbits that are under the influence of multiple planets or moons. The idea is that only one planet’s or moon’s gravitational field is active at any one time. For example, at the start of a mission from Earth orbit to the Moon, we assume that only the Earth’s gravity acts on the spacecraft. For each planet or moon we define a sphere of influence where that body’s gravity is greater than all other sources. In the Earth/Moon system the Moon’s sphere of influence extends to about 66,000 km from the moon.

A new function in the Spacecraft Control Toolbox Release 2015.1 is PatchedConicPlanner.m. It allows you to explore trajectories in a two-body system. The following figure shows the trajectory of the spacecraft and the orbit of the Moon in the Earth-centered frame. The trajectories assume that the spacecraft is only under the influence of the Earth. The spacecraft is in an elliptical orbit designed to have its apogee just behind the Moon.

PCC1

The next figure shows the spacecraft in the Moon centered frame. The blue line is the trajectory of the spacecraft assuming that the Moon was not there. The green line is the hyperbolic trajectory of the spacecraft starting from the patch point computed assuming the Earth’s gravity had no influence on the trajectory. Notice the sharp turn due to the Moon’s gravity. The function returns the Moon-centered orbital elements along with other useful quantities.

PCC2

The following shows a closeup of the trajectory. The miss distance, as expected, is less for the hyperbolic trajectory. The plot clearly shows a good place for a delta-v maneuver to put the spacecraft into lunar orbit.

PCC3

This function allows you quickly explore the effect of different patch points and to try different spacecraft transfer orbits. While a “high-fidelity” analysis requires numerical orbit propagation that includes the Moon, Sun and Earth’s gravitational fields, PatchedConicPlanner.m, let’s you generate good starting trajectories for mission planning.

Move it or lose it!

Space is silent. No air, no sound. This must have seemed strange on February 10, 2009, when the satellites “Kosmos-2251” and “Iridium 33” collided, shattering the spacecraft into more than 2,000 pieces of debris. Now, each of these pieces presents a new risk of collision to our satellites in low Earth orbit.

An example collision avoidance scenario between two close-orbiting satellites.

An example collision avoidance scenario between two close-orbiting satellites.

The potential to collide with other satellites or debris is a real and growing concern. As a result, collision detection and avoidance are becoming a critical aspect of satellite operations.

We have worked on new collision avoidance algorithms and strategies for several different projects, including the Prisma formation flying mission which was launched in 2010.

Some of our work in this area was just published in the Journal of Aerospace Information Systems. The paper is “Avoidance Maneuver Planning Incorporating Station-Keeping Constraints and Automatic Relaxation”. You can find it here: http://arc.aiaa.org/toc/jais/10/6

The paper discusses different ways to model the time-varying avoidance region that represents the predicted path of another satellite, and methods for computing minimum-fuel maneuvers that satisfy both the avoidance constraints and station-keeping constraints for the mission. The details may be complex, but the message is simple: “Move it or lose it!”