PSS has been performing aerospace consulting since our founding in 1992. Our aerospace capabilities include consulting, MATLAB toolboxes, flight software and high-fidelity simulation, and CubeSat hardware development.
The Space subcommittee of the Fusion Industry Association, of which we are a member, has prepared a new white paper recommending government funding for a dedicated fusion propulsion development program, styled similarly to ARPA-E and DARPA.
The next space race is not simply into orbit; it is to the Moon, Mars, and beyond. The global competition is fierce, and the stakes are high—from landing the first humans on Mars to harvesting the limitless wealth of asteroids, and much more. Fusion propulsion is the best path to winning this “Deep Space Race.”
Fusion Energy for Space Propulsion, FIA, June 2021
The goal is to provide funding not just for “paper studies,” but enough funding to build real hardware and start to test fusion propulsion concepts. We want the US to remain competitive in the upcoming Deep Space Race – building a human presence on the Moon, and then Mars, and beyond. Direct Fusion Drive is directly applicable to near-term, modestly sized fusion propulsion!
If you want to express your support for government funding of fusion propulsion, contact your Representatives and Senators!
As a Summer 2021 intern, my first project was to complete the structural design of a 1U CubeSat that will fly in orbit with and observe the NASA Solar Cruiser. The 1U CubeSat needed to follow the CubeSat design specifications set by the California Polytechnic State University; it needed to have specific dimensions, needed to weigh a certain amount, and needed to be able withstand structural loads and natural frequency/vibrational loads. In order to design and test the CubeSat, I used Fusion360’s design and simulation softwares. I based my design of the CubeSat off of the engineering drawing provided by the California Polytechnic State University’s “CubeSat Design Specification” manual.
I designed the initial model in Fusion360 as one part made up of different components, as shown below:
The top of the CubeSat faces the positive z-direction, while the front faces the negative y-direction and the right side faces the positive x-direction. The CubeSat also needed four deployable solar panels attached by hinge mechanisms to the four edges of the top face. The panels needed to start parallel to the walls and then, when deployed by some mechanism, needed to swing upward in the positive z-direction.
After designing the idealized CubeSat, I ran multiple modal frequency analyses and structural analyses in order to make sure the CubeSat could withstand the proper loads. First, I ran modal frequency analyses, with fixed boundary conditions for a cantilever beam. The natural frequencies for the first four modes of the CubeSat are shown in the following table:
CubeSat natural frequencies for the first four modes, calculated by Fusion360
The above natural frequencies calculated in Fusion360 are very similar to the theoretical natural frequencies of a cantilever beam, given by the formula:
Where “E” is the modulus of elasticity (also known as Young’s Modulus), and “I” is the area moment of inertia. This formula can be used to find the natural frequencies of a cantilever beam for any mode of vibration, “n”.
These results are from the following study: https://www.hindawi.com/journals/ijae/2018/9724263/
These results are similar to the ones I found in my modal frequency analyses.
After running the modal frequency analyses, I ran a few structural load analyses. The CubeSat frame had a honeycomb structure, which I modeled in Fusion360, and was made up of Aluminum 7075 material. The CubeSat needed to be able to withstand a maximum pressure differential of 15.2 psi (0.104 MPa) created by the Space Launch System (SLS) ascent into space, according to NASA’s Space Launch System Program’s White paper.
The maximum displacement of the CubeSat’s structure due to the applied force was 0.009 m, which is very low. Fusion360 calculates Von Mises stresses, and the maximum stress was 16.08 MPa, which is well under Young’s Modulus of Aluminum 7075 (71.7 GPa). The safety factor of the structure was 8+ everywhere on the structure, meaning the structure is much stronger than the 15.2 psi (0.104 MPa) load applied.
After running the modal frequency and static stress analyses in Fusion360 and getting the desired results, the CubeSat was ready to be modeled as 3D printable parts and 3D printed with PLA on the FlashForge Creator Pro printer:
The initial CubeSat design in Fusion360 had to be modified and broken up into different parts that were each 3D printable; after printing each part, I assembled them to form the whole CubeSat. I decided to break the initial design up into the following 3D printable parts: the top, the bottom, four separate side walls, four separate side rails, four deployable solar panels; finally, I needed to add four hinges plus four rods to attach each of the solar panels to the main structure (similar to a door hinge mechanism). This allowed the solar panels to rotate on a hinge from their initial position up to 180 degrees upward and back. Photos of the different 3D printed parts are shown below:
After 3D printing all the necessary parts, I needed to assemble them. I modeled screw holes in Fusion360 on each 3D printed part in specific locations, so that I would not need to bore holes manually after the parts were printed. I ordered screws for plastic from McMaster Carr, so I knew the correct diameter and length for the screw holes I modeled in Fusion360. This way, the parts were ready to be assembled immediately after 3D printing. Images of the final assembled 1U CubeSat are shown below:
3D printing the final product was an iterative process, so I ended up assembling two different CubeSats entirely and printing a multitude of different versions of each part until I assembled the final product correctly. During the printing process I ran into many problems with the design of the parts, as well as issues with the printer itself. Some design problems included incorrect part sizes, incorrect screw hole placement, incorrect screw hole tolerancing/sizing, and incorrect dimensions of the overall assembled cube. Some printer issues included warping and two nozzle clogs. Some of my parts warped due to a lack of adhesion between the printer bed and the filament coming out of the nozzle, meaning the corners of these parts bent upward and were no longer usable. I solved this problem by reducing the heat of the 3D print bed to make sure the filament could cool down correctly on the bed. On a couple of occasions, parts would not print at all or the filament would come out tangled and would not stick to the bed; I solved this problem by taking apart the nozzle and manually unclogging it so that the filament could come out correctly. I also re-leveled the bed, to make sure the nozzle was close enough to the printer bed so that when the filament initially came out of the nozzle it would stick to the bed immediately. Photos of intermediate designs are shown below:
Overall, this project was educational, challenging, and fun! I learned a new CAD software, Fusion360, which will be useful in the future, and I practiced my engineering design and 3D printing skills!
Overall, this project was educational, challenging, and fun! I learned a new CAD software, Fusion360, which will be useful in the future, and I practiced my engineering design and 3D printing skills!
In 2015, astronomers from Caltech determined that a giant ninth planet may be orbiting the Sun. It was called Planet X and then Planet 9. The discovery was based on perturbations in the orbits of TNOs, trans Neptunian Objects. The planet has about the mass of Neptune and is in a 10,000 to 20,000 year solar orbit. Jakub Scholtz of Durham University and James Unwin of University of Illinois at Chicago hypothesize that Planet 9 might be a black hole. The orbit of Planet 9 looks something like this.
We used a semi-major axis of 700 AU, an inclination of 30 degrees and an eccentricity of 0.6. The plot shows the full orbit of Planet 9, but the simulation only shows 150 years of the other planets.
It would be very interesting to visit Planet 9. One way is to use a solar sail. The sail would start on a trajectory aiming at perigee very close to the sun and then accelerate at high speed. Another approach is to use a spacecraft propelled by Direct Fusion Drive, a fusion propulsion system we’ve been working on for several years. A 26000 kg spacecraft with a 12 MW engine and 2000 kg of payload could rendezvous with Planet 9 (based on the above orbit) in just 11 years. This is the spacecraft trajectory
Spacecraft with thrusters or instruments with large magnetic dipole will experience torques in a planetary magnetic field. U.S. Patent 10,752,385, just granted to Princeton Satellite Systems, uses a current loop to cancel the magnetic field of the onboard dipole. The patent text is:
“A dipole cancellation system and method may include a plurality of magnetometers for measuring a device magnetic field associated with a plurality of device coils generating a device magnetic field having a primary magnetic dipole moment. A compensating coil carrying a compensating current running a first direction that generates a compensating magnetic field having a compensating magnetic dipole moment. The compensating coil may be positioned and the first current may be selected so that the compensating magnetic dipole moment completely cancels the primary magnetic dipole moment. A method may use the system to stabilize a spacecraft by calculating an estimated torque of the spacecraft, receiving a value for an external magnetic field, receiving a value for a device magnetic field, and calculating and applying a compensating current may be then applied to the compensating coil to cancel the primary magnetic dipole moment, wherein the spacecraft is stabilized.”
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!
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:
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.
It is sometimes necessary to change your orbit semi-major axis, ascending node and inclination with a low-thrust engine. It is easy to do, as long as you can point your engine along orbit normal and tangential to the orbit.
It is easiest to see how this is done by looking at the Gauss’ Variational equations, simplified for small eccentricity.
I is inclination, is semi-major axis, is the gravitational parameter, is argument of perigee, is true anomaly, is ascending node. and the orbit tangential acceleration and is the orbit normal acceleration.
The resulting simulation is shown below. Mode 0 is semi-major axis change, Mode 1 is ascending node change, Mode 2 is inclination change and Mode 3 is off. It is best to change inclination and ascending node at the highest semi-major axis. You should change ascending node at the lowest inclination. The burns are done where the rate of changes are higher. Some change in inclination and ascending. node will happen when the other is being corrected.
The script for this simulation with the controller is part of the Spacecraft Control Toolbox Release 2020.1 coming in May.
A popular way of launching a small satellite is to bring it up on an International Space Station resupply mission. The Spacecraft Control Toolbox has functions to help you animate the orbit of your spacecraft near the ISS. A function, ISSOrbit, generates the orbital elements for the ISS. ISSOrbit generates Keplerian Elements from the latest 2-line elements. We use the function CoplanarOrbit to create an orbit 50 m below the ISS. There are no disturbances and the gravity model is for a point mass Earth.
DrawSpacecraft.m is a function that will draw any number of spacecraft in the viewer. This is the ISS and our, very small, NanoSatellite. The MATLAB camera controls allow you to zoom in or rotate the view. The view is with respect to the first satellite entered in the argument list, which in this case is the nano satellite.
DrawSpacecraft also does animation and will create an avi file. You can see the animation on our YouTube Channel or by clicking the video below. We converted the avi file to an mp4 file using a movie converter.
The script is an m-file that you can download, just to view, here.
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!
On May 29, 2019, Ms. Thomas gave an invited talk to the Future In-Space Operations working group on Direct Fusion Drive (DFD) for deep space propulsion. The slides and talk audio are available from FISO’s online archive here. The group hosts weekly telecon seminars to discuss upcoming technologies and their potential impact on space operations.
Our talk introduces Direct Fusion Drive, explains how it is based on the Princeton Field Reversed Configuration (PFRC), and reviews some potential missions. There are summaries of the key physics points enabling the PFRC and the computational and modeling tools we apply. We conclude with the roadmap to spaceflight, including the supporting technologies that will be required for successful space engines, like lightweight space radiators.
We’ve added some new tools to the Aircraft Control Toolbox for our upcoming 2019 release. The first is a new GUI for creating aircraft models. You import a Wavefront OBJ files and then you point and click to define leading edges, wing areas, engine locations and so forth. This makes it easier to import the geometric data. The GUI is shown below. It illuminates the view that you need to use for a given geometric element in red. The inertia matrix is generated from the mass and the surface geometry.
A new simulation function was added to use the data from this GUI. It has a flat Earth aircraft model with a plugins architecture. You can add your own lift, drag and thrust models or use the simple built-in models. It is much simpler than AC.m which is designed to be a comprehensive high-fidelity simulation. We’ve added a new animation GUI to show you the results of your simulations.
We expect 2019.1 to be available in June. You can get a demo with previews of the new functions now.