Reaction Wheel Friction Models

Reaction wheels are used in many spacecraft for attitude control. A reaction wheel is a momentum exchange device because it controls the spacecraft by exchanging momentum with the rest of the spacecraft. Momentum is exchanged via a motor that is fixed to the spacecraft. As with all rotating parts it is subject to friction. Friction needs to be modeled as part of the design process.

The standard way to model friction is with three terms. One is damping which is proportional to wheel speed. The faster the wheel spins the more friction torque is produced. Ultimately, this limits the net control torque. At some speed the motor is just balancing the friction torque. The second component is Coulomb friction that is constant but flips signs when the wheel speed changes sign. the third is static friction. It is like Coulomb friction but only exists at zero speed.

An alternative friction model is known as the bristle friction model. This models friction as bristles that bend. It also has the same friction components described above but they are applied though the bristle state.

Both models can be made to produce similar results as shown in the following figure.

FrictionComparison

The static friction is clearly seen. The wheel speeds are nearly the same. The middle plot is of the bristle state. The problem with these models is when the torque is low and the wheel speed passes through zero. We then get limit cycling as shown below.

LimitCycle

This is due to numerical error.

We can eliminate the limit cycling by using a very small integration time step with the bristle friction model. An alternative approach is to use the first model and multiply the sum of the static and Coulomb friction with a sigmoid, or s function.

Friction

The coefficient of the sigmoid function is beta. Very small betas remove the static friction, and all Coulomb friction, near zero speed. The large betas retain the form of the friction and eliminate the limit cycling!

HighBeta

These models can be found in the Spacecraft Control Toolbox 2015.1 . This particular script will be available in 2015.2 which will be released in July.

Two Stage to Orbit with the Launch Vehicle Toolbox

The Launch Vehicle Toolbox (LVT) combines the Spacecraft Control Toolbox, the Aircraft Control Toolbox and additional libraries of launch vehicle functions and scripts. We’ve used it internally to support a number of contracts.

We have studied two stage to orbit vehicles for a number of years. Our design, known as Space Rapid Transit, uses an aircraft first stage (the Ferry) with a turbo-ramjet engine to take the launch vehicle to 40 km and Mach 6.5. The turbo-ramjet engine is dual fuel using jet fuel for the turbofan and hydrogen for the ramjet. The turbofan core would be based on an existing modern jet engine. A hydrogen fueled turbo-ramjet was tested by MBB for their Sanger launch vehicle. Hydrogen fueled ramjets have been tested by NASA. The SR-71 engine was an early operational turbo-ramjet.

The Orbiter uses a cryogenic hydrogen/oxygen engine to enter the transfer ellipse and then circularize the orbit. The Ferry engine can operate in pure turbofan mode for efficient low-speed operations such as moving the Orbiter between airfields.

TSTODemo.m is a LVT script that models the trajectory from takeoff through circular orbit insertion. The TSTO stack starts on the runway in takeoff mode. When it is moving at the takeoff speed it pulls up and climbs. It transitions from turbofan to ramjet and climbs to the separation altitude and velocity. The simulation works with flight path and heading angles. You can try flying the vehicle in a variety of trajectories. The following figure shows the trajectory up to Ferry/Orbiter separation.

SRTTrajectory

The Space Rapid Transit vehicle is documented in this paper:

Paluszek, M. and J. Mueller, Space Rapid Transit – A Two Stage to Orbit
Fully Reusable Launch Vehicle, IAC-14,C4,6.2, International Astronautical Congress, Toronto, Ontario Canada, October 2014.

The Orbiter starts at the termination condition. The script computes a transfer orbit and the necessary velocity changes to get the Orbiter into an ISS altitude orbit. Part of the delta-V is the drag loss. The Orbiter trajectory is not simulated. The architecture of LVT makes it easy to build these kind of analysis and simulation scripts. Your aren’t locked into a specific design path as can happen with GUI based tools.

For more information go to Launch Vehicle Toolbox for MATLAB.

Elements for a 2000 satellite constellation? No problem!

A customer recently asked if we had any constellation design tools in the toolbox, which at that point we did not. This customer had been tasked with simulating a constellation of nearly 2000 CubeSats, and had available only a GUI-based tool that required him to enter each satellite’s elements individually. He was able to clone them, but still had to open up each one to edit the elements. This means he first had to make a table of the elements he wanted, then painstakingly enter them. In the Spacecraft Control Toolbox, creating these elements and simulating or visualizing the satellites is as easy as writing a for loop.

Our workflow using the SCT is mostly programmatic, using functions and scripts. Functions such as El2RV make it easy to go from Kepler elements to a Cartesian state for initializing a simulation. In just a few hours, I was able to write a function to generate elements for a Walker-Delta constellation of any size, and plot the results; to examples are shown below.

The WalkerConstellation.m function will be in our 2015.1 release, due out in a week. It can generate elements for a classic rosette or a polar star. If there is sufficient customer interest we may expand the constellation design tools available in the toolbox!

%-------------------------------------------------------------------
%   Form:
%   elements = WalkerConstellation( t, p, f, inc, sma, doStar )
%-------------------------------------------------------------------
WalkerConstellation( 720, 24, 2, 65*pi/180, 6800 )

 

WalkerDelta

% Create a polar star similar to Iridium
WalkerConstellation( 66, 6, f, 86.4*pi/180, 7150, true );

PolarStar

 

Full function header:
%--------------------------------------------------------------------
%   Compute orbital elements for a Walker constellation.
%
%   Generates a delta constellation be default, also called a rosette. For
%   a star geometry, pass in true for the optional doStar parameter. The
%   notation is i:n/p/f; f, the relative spacing, is an integer which can
%   take any value from 0 to (p-1).
%
%   Real-life examples include the Galileo, a delta geometry, and Iridium,
%   a star geometry.
%
%   Since version 2015.1
%--------------------------------------------------------------------
%   Form:
%   elements = WalkerConstellation( t, p, f, inc, sma, doStar )
%--------------------------------------------------------------------
%   -----
%   Input
%   -----
%   t         (1,1)    Total number of satellites
%   p         (1,1)    Number of orbital planes
%   f         (1,1)    Relative spacing between satellites in adjacent planes
%   inc       (1,1)    Inclination (rad)
%   sma       (1,1)    Semi-major axis (km)
%   raan      (1,1)    RAAN spread, optional. The default is 2*pi.
%
%   ------
%   Output
%   ------
%   elements   (6,t)    Kepler elements
%
%--------------------------------------------------------------------
%  Reference: Larson and Wertz, Space Mission Analysis and Design, second
%  edition (1996), "Constellation Patterns", p. 191
%--------------------------------------------------------------------

SolidWorks Interface in SCT 2015.1

Version 2015.1 will have a new DXF file format exporter to export CAD models built in the Spacecraft Control Toolbox into SolidWorks. The following figure shows the Lunar Lander model in the Spacecraft Control Toolbox CAD window.

LunarLander

Exporting requires just two lines of code:

g = BuildCADModel( 'get model' );
ExportDXF(g,'LunarLander');

Rodger Stephens of Prism Engineering provided SolidWorks models from the DXF file. The file opened in SolidWorks with 7 parts creating an assembly called LunarLander-1.

SolidWorks1

Each part contains planes, sketches, and surfaces.

SolidWorks2

The Spacecraft Control Toolbox has always had DXF import capability but now it can export in a format that is supported by most CAD packages. This will speed the process of going from conceptual designs in the Spacecraft Control Toolbox to detailed designs in SolidWorks and other CAD packages.

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.

Spacecraft CAD Design in the Spacecraft Control Toolbox

AutoDesk Inventor and SolidWorks are powerful software packages for the computer-aided design of spacecraft. Ultimately you need to use one of those packages for the mechanical design of your satellite, but what about the preliminary design phase when you are still determining what components you even need? The CAD software in the Spacecraft Control Toolbox can provide you with a valuable tool to do your conceptual layouts and early trade studies, and the same model can be used as the basis for disturbance analysis in later design phases.

A CAD model in SCT is built in a script which allows you to build your models algorithmically. You can call design functions, use for loops and revision-control your source code. For example, within the script you can do an eclipse analysis and compute the battery capacity. This number can generate the volume of your batteries which you can then use to size your spacecraft.

The function BuildCADModel provides the model-building interface. The CreateComponent function is used to generate the individual components using parameter pairs as arguments. Components are grouped into bodies to allow for rotation and articulation. A GUI displays your finished model and allows you to visualize it in 3D. You then store your finished models as mat-files. Our disturbance model uses every triangle in your model for disturbance analysis.

The example figure shows a solar sail design, with the spacecraft bus in the middle. BuildCADModel allows you to group components into subsystems as on the left-hand side, which can then be highlighted using transparency.

The figure below shows the BuildCADModel GUI which allows you to verify the body and component properties.

There are many examples of spacecraft models in the SCT to help you get started, and a lengthy chapter in the User’s Guide discussing the finer points of component location, orientation, and physical properties such as drag and optical coefficients. Your CAD model essentially functions as a database for your entire spacecraft model!

Simulating Magnetic Hysteresis Damping

CubeSats have caused a renewed interest in magnetic control of satellites, and passive hysteresis damping in particular. Modeling actual hysteresis rods on a satellite is not trivial, and generally requires empirical data on the properties of the rods selected. Our newest CubeSat simulation demonstrates damping using rods in LEO. A permanent magnet is modeled using a constant dipole moment, and we expect the satellite to align with the magnetic field and damp. We evaluate the results by plotting the angle between the dipole and the Earth’s magnetic field and the body rates.

First, let’s verify the magnetic hysteresis model in the toolbox using the bulk material properties in orbit. We use a dipole model of the Earth’s magnetic field. The nice hysteresis curves below confirms that we are computing the derivatives of the magnetic field correctly in the body frame, which requires careful accounting of rotating coordinates. Also we stay within the saturation limits which means our magnetic flux derivatives are correct too.

Hysteresis curves from simulating magnetic hysteresis in orbit

Hysteresis curves from simulating magnetic hysteresis in orbit

We will assume the rods are 1 mm radius and 95 mm length, with rods placed perpendicular to each other and the permanent magnet. Three rods are used per axis. The apparent rod parameters are taken from the literature. The actual rods will not reach saturation while in orbit, so we will see a minor loop.

Minor loops from damping rods

Minor loops from damping rods using apparent properties

The rods produce only a small amount of damping per orbit, so we have to run for many orbits or days to see significant damping – in some passive satellites, the total time allotted for stabilization is two months! In this case we test the rods’ ability to damp the torque induced by turning on a torque rod with a dipole of 1 AM2 and allowing the CubeSat to align itself with the magnetic field, starting from LVLH pointing.

Damping in LEO using hysteresis rods

Damping in LEO using hysteresis rods

Simulating the rods is time-intensive, with a timestep of about 4 seconds required – which makes a simulation of several days on orbit take several minutes of computation. Once performance of the rods has been verified, a simple damping factor can be substituted.

This new simulation along with the functions for hysteresis rod dynamics will be in the new version of our CubeSat Toolbox, due for release in June!

References:

  1. F. Santoni and M. Zelli, “Passive magnetic attitude stabilization of the UNISAT-4 micro satellite”, Acta Astronautica,65 (2009) pp. 792-803
  2. J. Tellinen, “A Simple Scalar Model for Magnetic Hysteresis”, IEEE Transactions on Magnetics, Vol. 34, No. 4, July 1998
  3. T. Flatley and D. Henretty, “A Magnetic Hysteresis Model”, N95-27801 (NASA Technical Repoets Server), 1995

Adaptive Cruise Control

The automotive industry continues to incorporate advanced technology and control systems design into new vehicles. Features such as adaptive cruise control, lane keep assist, autonomous park assist, and adaptive lights are becoming more common in the automotive market. These exciting technologies greatly increase vehicle safety!

Adaptive cruise controls measure the distance and speed of nearby vehicles and adjust the speed of the vehicle with the cruise control to maintain safe following distances. Typically a system will use a radar that measures range, range rate and azimuth to vehicles in its field of view.

A typical situation is shown below. The car with adaptive cruise control is traveling near three additional vehicles. Two cars have been tracked for awhile but a third is passing and plans to insert itself into the space between the tracking car and one of the tracked cars. How does the cruise control keep the three cars straight?

MHTAuto

Every measurement has uncertainty. The following drawing shows the uncertainty ellipsoids for the three vehicles. As you can see they overlap so a measurement could be associated with more than one car.

UncertaintyEllipsoids

The Princeton Satellite Systems Target Tracking Module for MATLAB implements track oriented Multiple Hypothesis Testing (MHT). MHT is a Bayesian method for reliably associating measurements with tracks. The system is shown below:

MHTSystemSimplified

The system includes a powerful track pruning algorithm that eliminates the need for ad-hoc track pruning. Without track pruning the number of tracks maintained would grow exponentially. The system generates hypotheses that are collections of tracks that are consistent, that is the tracks do not share any measurements. Measurements are incorporated into tracks and tracks are propagated using Kalman Filters. The MHT system also can handle multiple sensors for automobiles with cameras and radar.

Check out what all our MATLAB toolboxes have to offer!
Core Control Toolbox
Aircraft Control Toolbox
CubeSat Toolbox
Spacecraft Control Toolbox

Brand New Free SCT Textbook Companion App for MATLAB

We are happy to announce the release of our free Textbook Companion App for MATLAB (2012b or later).  Based on four Chapter 2 walk through tutorials, the goal is to design a geostationary spacecraft, maintaining an exact orbital position, delivering a -126 dB in the Ku band, and 7 year lifetime.

app_cover

The GUI allows us to look at the results of various gravity models, summing various types of disturbances caused by the sun-angle, a basic geo-synchronous orbit simulation, and then a full simulation that incorporates the orbit, disturbances, and Control and Link parameters. app_results

The app is available on the textbook support page: http://support.psatellite.com/sct/theory_textbook.php.

 

Europa Report

Europa Report is a movie about a human mission to Europa, a moon of Jupiter, to explore the moon for signs of life. Europa has an oxygen atmosphere and a surface composed of water ice that has led to the hypothesis that there is an ocean under the ice.

Europa Report does a great job of being scientifically accurate. The spacecraft shown in the movie addresses the major issues that travelers would experience on a voyage to Jupiter. The crew section of the spacecraft is spun for artificial gravity and accommodations are made to deal with the high radiation environment around Jupiter.

Our Spacecraft Control Toolbox can be used to design the spacecraft and simulate every phase from Earth Orbit to Europa landing. We have a script for a powered Europa landing. Here are the results!

EuropaLanding

For more information about how you can design your space missions visit our Spacecraft Control Toolbox page!