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.

Optical Navigation to the Moon

There is great interest in lunar missions. The U.S. plans to land astronauts on the moon in this decade. Several commercial companies are working on landers. Many other national space programs are working on their own landers and rovers.

As with all spacecraft, you need to know where you are. The traditional way is to use a communications link from the ground to get range and range rate (via Doppler shift.) This works well but you need to collect data over a long period of time to get an 3-dimensional fix.

Recently, NASA discovered via the Magnetospheric Multiscale Mission (MMS), that GPS could be used at altitudes higher than the GPS altitude, and maybe all the way to the moon!

Princeton Satellite Systems developed an Optical Navigation System for NASA as part of an SBIR project. It uses two cameras. One is a navigation camera mounted on a 2-axis gimbal that looks for nearby planets or asteroids. A second camera points out of the orbit plane just looking at the star field. The navigation camera has sufficient dynamic range so that it can image a planet or moon and still see stars. The whole system works as a sextant, that has been used by mariners for hundreds of years. The Apollo astronauts used a sextant for backup navigation. Our system automates the process so that it is fully autonomous. Our simulations for the SBIR were for deep space missions, like simulated NASA Messenger and New Horizons spacecraft, and for communication satellites.

Recently we’ve customized the system to lunar missions. The following images are from a MATLAB script that simulates a transfer from the Earth to the Moon. The first is from the star camera pointing out of the orbit plane. The numbers are the star id from a list and don’t correspond to numbers in the Hipparcos Catalog which is used for the star simulation.

The second is the navigation camera, that points at the moon. The star moves as the relative angle changes. The circle around the moon is its disk.

The third shows the trajectory. It starts from behind the Earth. A lunar orbit insertion is done when the spacecraft reaches the moon.

Here is the spacecraft in lunar orbit.

The simulation runs until the spacecraft reaches the moon. The following video shows the simulation in action.

The simulation uses functions coming out in the 2020.1 release of the Spacecraft Control Toolbox. Contact us for more information!

Artemis: From Gateway to Low Lunar Orbit

One concept Gateway may be in a polar orbit with an apolune of 70,000 km and perilune of 3,000 km. One concept is for the lander and Orion to meet at Gateway. Our alternative is for Artemis to stay in a low lunar orbit and be met there by Orion, the cargo transfer vehicle and the tanker. There are many orbit maneuver sequences that will get us from Gateway to our 15 km altitude orbit. A simple one is shown below. We first lower apogee to 3,000 km we then do a Hohmann transfer from the 3,000 km orbit to the 1753 km orbit (that is 15 km altitude). The maneuver to lower apogee is shown below.

The delta-v for the first maneuver is 0.49 km/s and for the Hohmann transfer is 0.39 km/s.

While in low lunar orbit in between landings the lunar lander will do high resolution photo surveys of the surface. These will be used to train the neural network for landing navigation.

Artemis: NASA RFP for Lunar Landers

NASA recently released a request for proposal for a lunar lander with a due date of November 1.

https://www.nasa.gov/feature/fast-track-to-the-moon-nasa-opens-call-for-artemis-lunar-landers

NASA would like a crew to land on the moon by 2024.

We didn’t have time to write a proposal, but here is our design. We propose a single stage vehicle, that can land from and return to a 15 km circular orbit. It uses 2 Blue Origins BE-3U engines that use cryogenic hydrogen and oxygen. An Orion capsule houses the astronauts. The Orion would take astronauts to and from Gateway and to and from the Earth. Lockheed Martin is building the Orion spacecraft. The European Space Agency is building the service module. A separate transport would bring fuel and payload to the lander. In the future, the lander could be refueled from lunar water.

The dimensions are in meters. The Orion is shown below. We purchased the model from https://hum3d.com.

The landing gear were scaled from the Apollo Lunar module.

It is interesting to compare its size with the Apollo Lunar Module. The Artemis is designed to fit into the 10 m SLS fairing. This a fully reusable lunar vehicle that can be refueled. It is designed for a long-term, sustainable, lunar base.

We use two toroidal hydrogen tanks and two spherical oxygen tanks. The cylinder on the outside is the solar array producing 34 kW of power. Of course, numerous details are omitted. We developed this model using our Spacecraft Control Toolbox. The design script will be available in the Spacecraft Control Toolbox Version 2019.1 due in mid-November.

Other elements of the lander were designed for different purposes. The GN&C system is based on our Army Precision Attitude Control System.

Our control system is based on a robotic lander we designed some time ago. We have full C++ code for the control and guidance system.

The architecture for Earth/Moon transportation system is shown below. Eventually, a Direct Fusion Drive freighter would be the main way of moving cargo between Earth orbit, lunar orbit and Gateway. The lander would remain in lunar orbit. Humans would go to the moon using fast orbital transfer, much like during Apollo.

Our next blog post will show how we get from Gateway to and from our 15 km starting orbit. A subsequent post will demonstrate our lunar landing guidance that uses a neural network for navigation based on images of the surface. Using it for landing would require higher resolution images than we have today, but short of building a lunar GPS system, it might be more cost-effective to have a satellite assembling images from low lunar orbit.

We will also update this blog post from time to time. Stay tuned!

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 Landing Control System

The first soft moon landings were accomplished in the 1960’s by the Soviet Luna 9 and the U.S. Surveyor Spacecraft. These were followed by the U.S. Lunar Module landings during the Apollo program. The Soviets had their own LK Lander lunar lander for landing humans on the moon but it never flew. China’s Chang’e-3 landed on the moon on December 13, 2013. India plans to land the Chandrayaan-2 on the moon in 2018.  South Korea intends to land a spacecraft on the moon in 2020.

The U.S. Lunar Module was flown by a crew but had a digital computer that performed guidance, navigation and control. A great new book by Don Eyles, Sunburst and Luminary an Apollo Memoir explains how that was accomplished with a computer less powerful than those in toaster ovens today. Don played a key role in saving the Apollo 14 mission when an abort light appeared on the crew’s console prior to descent. Read the book for for the whole story.

NASA intended follow-ons to the Lunar Module that would have been fully automated for delivering materials to the moon in preparation for a permanent human presence. Unfortunately, those plans never materialized.

As we are always looking for new missions for testing our Precision Attitude Control System, we added guidance, navigation and control for lunar landings. We use a really simple guidance algorithm called 2nd order guidance. It is nothing more than a Proportional Derivative (PD) controller with the landing spot as a target. You can adjust the damping ratio and undamped natural frequency of the controller to mimic more sophisticated, “optimal” guidance algorithms. The 2nd order guidance works until the lander gets near the surface and then it switches to landing algorithm that hovers, nulling any remaining translational velocities and then descends to the surface. Lidar would be used as guidance. Once it is hovering it would need to search for a flat spot for landing. NASA has developed Hazard Detection Software for Lunar Landing that uses lidar. It is available for licensing from Caltech.

Here is one simulation in our Simulation Framework. Once the descent is initiated, the spacecraft reorients so that the main engine thrust vector is in the desired direction. The display on the left shows the attitude errors (the two boxes) and the throttle setting (which is zero during the attitude maneuver.)

A close up of the attitude display. Pitch and yaw are offsets of the green rectangle. Roll is rotation of the rectangle. This is quite primitive but it is easy to add your own displays if you know a little OpenGL!

Descent starts and the throttle is about 50% at this point. The two plots are of altitude and velocity. The maneuver starts at 15 km and the target is 600 km along track. The lander has solar panels on a two-axis gimbal and a high gain antenna, also on a two-axis gimbal.

The propulsion page shows two attitude thrusters firing and the main engine.

The spacecraft has landed! You can see the terminal descent phase on the altitude and velocity plots. The lunar surface is featureless because we have not added close up maps of the landing zone to the planet display.

The descent page shows the throttle settings. You can monitor the guidance force demand and simulated force.

This is the propulsion page. The attitude thrusters get very busy during the terminal descent phase. Note that we have a lot of fuel left! We could have hovered for quite some time.

The graphics are from our VisualCommander product that runs on Mac OS X.

This GN&C system is capable of autonomous flight from LEO all the way to the moon. It uses our Optical Navigation System, developed under a NASA Phase II SBIR for trajectory determination on the flight to the moon and lunar orbit entry.

For more information contact us directly!

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.

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

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

Heading to the Moon

We have transitioned our lunar lander work from the Spacecraft Control Toolbox to VisualCommander. Here is a simulation of the lander heading to the moon on the elliptical transfer orbit designed in our Landing on the Moon blog post.

Lunar Transfer

The model was discussed in our Moon Lander Design blog post. We exported it from the Spacecraft Control Toolbox as a Wavefront obj file. The textures were applied by Amazing3D Graphics. Amazing 3D Graphics builds very high quality models with low polygon counts that are ideal for simulation and games.

The attitude control system is our Precision ACS system. In the next few weeks we’ll be adding software to perform mid-course corrections, lunar orbit insertion and lunar landing. Say tuned!

Moon Lander Design

Our last post showed the mission planning script for our lunar lander. The next step was to layout the lander. We did this using the BuildCADModel function in the Spacecraft Control Toolbox. The propulsion system is designed to meet the requirements of the mission plan. We use six 1 N HPGP thrusters for attitude control and one 220 N thruster for orbit maneuvers and landing. We have two HPGP tanks for the fuel. There are two cameras. One is used as a star camera for attitude determination and navigation and the second, which is articulated, is used for optical navigation, descent navigation and science. The IMU and C&DH box can bee seen in the drawing.

LunarCAD

The solar array has two degrees-of-freedom articulation. The high gain antenna is also articulated. We adapted the landing legs from the Apollo Lunar Module. The thruster layout is shown in the following figure and is done using the ThrusterLayout function in the toolbox.

LunarThruster

We get full 6 degree-of-freedom attitude control and z-axis velocity change control. We use the 220 N engine as the primary engine for landing but can also use four of the 1 N thrusters for fine terminal control.

We are working on the science payload for the mission. One experiment will be to mine helium-3 from the surface. Helium-3 would be a fuel for advanced nuclear fusion power plants and nuclear fusion propulsion systems.

Landing on the Moon

There is a lot of interest in lunar landing missions for both scientific exploration and commercial purposes. Commercial applications might include mining helium-3 for future nuclear fusion power plants on earth and mining water for rocket fuel.

The Spacecraft Control Toolbox makes it easy to do preliminary planning for lunar missions. In this blog we present a single MATLAB script that takes a spacecraft from a low Earth parking orbit to the lunar surface! Here is the final segment, the descent to the moon.

MoonMission_03

We ended up with a 30 kg dry mass for a spacecraft that can use an ECAPS 220 N HPGP thruster for delta-v.

The published script can be found here:

Lunar Mission Planning as a published MATLAB script

You can also send us an email to find out more about our Lunar Mission Design Tools.