Spacecraft Control Toolbox

Overview | Release 2017.1 | SCT Pro | Academic | CubeSat | Textbook |

Version 9 Release Notes

Version 9 of the Spacecraft Control Toolboxwas released in November, 2010. Some of the new features in v9 include:

(Click here for a complete list of newly added functions)

New Examples

Low-Energy Orbit Maneuvers

These additional functions will help formulate trajectories using Low Energy Transfer (LET) maneuvers to save on fuel cost. These maneuvers utilize optimization methods to find the transfer orbit for a low energy trajectory between two orbits in the Circular Restricted Three Body Problem (CRTBP).

A specific trajectory can also been formulated for a transfer to a lunar orbit that requires less fuel than the typical elliptical parking/transfer orbits. This new trajectory incorporates a Low Energy Transfer maneuver to a ballistic lunar capture. This transfer capitalizes on the Sun's perturbation of the Earth-Moon system to raise the orbit's perigee to lunar distance, and allow ballistic transition to a lunar orbit through the Earth-Moon L2 Lagrange point.

This software addition was given a letter of commendation from NASA's SBIR Program. You can view the letter here: Low Energy Mission Planning Toolbox

* Note that these new functions require the Optimization Toolbox from MATLAB

Optical Navigation Simulations

Three new demos help show off the new methods of space guidance and navigation. The first one allows for orbit determination using an Unscented Kalman Filter and referencing the position of two planets and a star. This method is pictured to the left. The sun is the reference star located in the bottom right corner at (0,0). Earth and Mars are the two reference planets used to determine the orbit of the spacecraft.

The other two demos both also utilize the Unscented Kalman Filter (UKF). One determines the orbit using centroid data from a planet. The other uses lunar landmark data from the Hipparcos catalog to estimate a spacecraft in geosynchronous orbit. All three of these demos are located in the Estimation Module under 'OpticalNavigation'

Image Processing

There is great interest in using cameras onboard satellites for navigation. The new imaging module allows you to apply a variety of imaging processing techniques towards navigation such as corner and edge detection. A new demo introduced in version 9 shows the edge detection abilities. It utilizes a canny enhancer function to thin the edges to an almost perfect circle therefore incrasing the precision of optical navigation.

Magnetic Torquer analysis

Magnetic Torquers can have many applications for use as a spacecraft actuator. SCT version 9 now comes with functions that will allow you to design these magnetic torquers for a variable number of input parameters. These functions will also produce plots showing the change in torque for particular parameters. Below is a graph showing the influence of length of the torquer on the actual torque available for delivery.

Temperature Controller

A lot of utility functions have been added to the thermal module. A demo has been built to showcase a few of these functions. LQThermalControl is a demo that creates a linear quadratic temperature controller. Below are a few of the output graphs from this demo. This shows the net heat flux being dissipated through convection into space as well as the surface temperature of a heat sink being heated from a heater source such as a solar panel.

Published Demos

You can now access the SCT's 200+ demos right from MATLAB's built in help system. You can search or browse all of the demos by module and even run them directly from the MATLAB help menu. Below is a picture showcasing the browsing ability within MATLAB help.

These demos are now broken down and gone through step by step showing you how each function is being called and evaluated. As seen below, every demo has a table of contents that will guide you directly where you need to go in the demo to see where each function is being called. It even displays the results and graphs in a nice and neat manner directly where they are initialized in the demo.

New Help System

The Spacecraft Control Toolbox help system has now been integrated into the MATLAB help system. This allows you to browse all of the functions provided by SCT. They are organized by folder depth and grouped together in modules. These functions are completely searchable within MATLAB's search field as well. Below is a picture illustrating how to browse and navigate through the list of functions.

Once you have selected a function, a page will open showing you the function description including it's inputs and outputs. It will also list any children functions that it might use to make you aware of any other functions that this particular function depends on. Below is a picture illustrating how to navigate and find a certain function using the search field.

Change List

The following is a complete list of functions which have been added since Version 8.


Common/CAD/CADNotebook.m Common/CAD/DrawSpacecraftPatches.m Common/Coord/AzElRangeRangeDotToRV.m Common/Coord/Inertial2Rotating.m Common/Coord/Rotating2Inertial.m Common/Demos/GeneralEstimation/KFFrequencyResponse.m Common/General/ColumnSizeCellArray.m Common/General/LatexScientificNotation.m Common/General/ListParents.m Common/Graphics/SliderBar.m Common/Interface/VCFlatFile.m Common/Materials/PoissonsRatio.m Common/Math/Logistic.m

Note: the following functions moved to the Math module in a future release.

Common/Demos/FDIR/DCMotorSim.m Common/Demos/FDIR/FDIROLASim.m Common/Demos/FDIR/OrbitFDIRDemo.m Common/Demos/FDIR/SpinnerFDIRDemo.m Common/FDIR/BuildLinearDF.m Common/FDIR/ComputeGainsPlugIn.m Common/FDIR/DCMotorDetectionFilter.m Common/FDIR/DCMotorFailures.m Common/FDIR/DCMotorParitySpace.m Common/FDIR/DetectionFilter.m Common/FDIR/DetectionFilterBuild.m Common/FDIR/DetectionFilterBuilder.m Common/FDIR/DetectionFilterSimulation.m Common/FDIR/DetectionFilterUnnormalized.m Common/FDIR/DualDCMotors.m Common/FDIR/NonlinearEstimator.m Common/FDIR/NonlinearSpring.m Common/FDIR/NonlinearSpringFault.m Common/FDIR/NormalizeMatrix.m Common/FDIR/NormalizePlugIn.m Common/FDIR/OnlineApproximator.m Common/FDIR/RadialBasisFunction.m Common/FDIR/SimulatePlugIn.m Common/FDIR/StateSpacePlugIn.m Common/FDIR/TMatrix.m


CubeSat/AttitudeControl/MomentumUnloading.m CubeSat/Demos/Simulation/CubeSatRWASimulation.m CubeSat/Demos/Simulation/CubeSatSurfaceModelforDSim.m CubeSat/Demos/Simulation/MomentumManagement.m CubeSat/MissionPlanning/FindTimeWindows.m CubeSat/Simulation/RHSCubeSatRWA.m CubeSat/Simulation/RHSMomentum.m


Estimation/Demos/OpticalNavigation/UKFDemoOrbitOpticalNavDeepSpace.m Estimation/Demos/OpticalNavigation/UKFDemoOrbitOpticalNavLunar.m Estimation/OpticalNavigation/NavTargetTrackingLunar.m Estimation/OpticalNavigation/NavTargetTrackingPlanetary.m Estimation/OpticalNavigation/OpticalNavLunarLandmarkStar.m Estimation/OpticalNavigation/OpticalNavPlanetStar.m Estimation/OpticalNavigation/OpticalNavPlanetStarNoiseMatrix.m Estimation/OrbitEstimation/LoadILRSDataFromFRD.m


Imaging/Calibration/CalibrationCube.m Imaging/Calibration/CameraCalibration.m Imaging/Calibration/CameraCalibrationModel.m Imaging/Demos/ImageMatching/MoonEdgeAndLandmarks.m


Orbit/LowEnergyManeuver/CRTBPJacobiConstant.m Orbit/LowEnergyManeuver/CheckForOptimizationToolbox.m Orbit/LowEnergyManeuver/EnergyWRTMoon.m Orbit/LowEnergyManeuver/LETGuess.m Orbit/LowEnergyManeuver/LETPhasing.m Orbit/LowEnergyManeuver/LowEnergyEarthToMoonTransfer.m Orbit/LowEnergyManeuver/LowEnergyTransferInCRTBP.m Orbit/LowEnergyManeuver/MinE4BP.m Orbit/LowEnergyManeuver/PeriodicOrbitFromGuess.m Orbit/LowEnergyManeuver/PlotLET.m Orbit/LowEnergyManeuver/PlotLET3BP.m Orbit/LowEnergyManeuver/Targeting3BP2.m Orbit/LowEnergyManeuver/Targeting4BP.m Orbit/LowEnergyManeuver/Targeting4BPB.m Orbit/LowEnergyManeuver/V0FromJacobiConstant.m Orbit/OrbitCoord/CRTBP2kms.m Orbit/OrbitCoord/J20002RotPuls.m Orbit/OrbitCoord/J20002RotPulsPlanetMoon.m Orbit/OrbitCoord/Kms2CRTBP.m Orbit/OrbitCoord/RotPuls2J2000.m Orbit/OrbitCoord/TEMEToPEF.m Orbit/OrbitManeuver/OrbMnvrCircularize.m Orbit/OrbitMechanics/Propagate3BP.m Orbit/OrbitMechanics/Propagate4BP.m Orbit/OrbitMechanics/PropagateCRTBP.m Orbit/OrbitMechanics/PropagateCRTBPToPeriapse.m Orbit/OrbitMechanics/RHSCRTBP.m Orbit/Visualization/SeeTLE.m Orbit/Visualization/SelectTLEGroup.m


Power/Electrical/DiameterAWG.m Power/Electrical/ResistanceAWG.m


Propulsion/Chemical/QRFuel.m (previously QR.m) Propulsion/Demos/Utilities/SRTPropulsionDesign.m Propulsion/Gas/MachNumber.m Propulsion/Utilities/SphericalTankFluidHeight.m Propulsion/Utilities/ThrusterLayout.m


SC/Demos/CAD/CADNotebookCubeSat.m SC/Ephem/LocalTimeToGMT.m SC/Ephem/PlanetPositionEMBarycenter.m


SCPro/Optics/PixelSpread.m (now in Imaging/) SCPro/ProActuators/MagneticTorquerDesign.m SCPro/ProActuators/MagneticTorquerDipoleMoment.m SCPro/ProActuators/ReactionWheelStress.m SCPro/ProControl/PID3Axis.m SCPro/ProTools/InertiaFromOBJFile.m


Sail/Actuator/SearchVaneAngles.m Sail/Actuator/SolveVaneAngles.m Sail/Actuator/VaneAngles.m Sail/Coordinates/AnglesMcInnesToU.m Sail/Coordinates/AnglesRotToU.m Sail/Coordinates/QSteeringYAligned.m Sail/Demos/Actuator/SailVanesDemo.m Sail/Demos/Actuator/VaneAnglesDemo.m Sail/Demos/Actuator/VaneSearchDemo.m Sail/Demos/Coordinates/McInnesAngles.m Sail/Demos/Disturbances/SailForceWithIncidenceAngle.m Sail/Demos/Missions/LEOCombinedDemo.m Sail/Demos/Missions/SunCombinedDemo.m Sail/Demos/SailDesigns/FlatCP1Sail.m Sail/Demos/SailDesigns/SailWithFourVanes.m Sail/GAOT/deltaFunction.m Sail/Guidance/EarthGuidance.m Sail/Guidance/SunGuidance.m Sail/SailModeling/UpdateSailOpticalProps.m Sail/Utilities/ApplyProfileToModel.m


Thermal/Demos/ThermalControl/LQThermalControl.m Thermal/ThermalAnalysis/AeroHeatFlux.m Thermal/ThermalAnalysis/RHSAerodynamicHeating.m Thermal/ThermalAnalysis/ReynoldsNumber.m Thermal/ThermalAnalysis/SutherlandsLaw.m Thermal/ThermalAnalysis/TemperatureStagnation.m

Prior Releases

SCT Version 8
SCT Version 7