Spacecraft Control Toolbox

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

Version 11 Release Notes

Version 11, released in May, 2013, includes 9 new demos and over 100 new functions. Some of the new features include:

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

New Kalman Filter functions

The new Kalman Filter functions in v11 provide enhanced ease-of-use and functionality making it easier than ever to develop Kalman Filters. All three types of Kalman Filter, Conventional, Extended and Unscented, now have a consistent interface and make use of the same data structure for their parameters, states and covariances. This makes it easy to change from one filter to another. All three types of filters are separated into Predict and Update functions which gives the user greater flexibility when measurements are aperiodic or sporadic. The Unscented Kalman Filter now uses the Cholesky algorithm to compute the sigma points making it faster and less susceptible to numerical problems. Two types of smoothers are added, the Rauch-Tung-Striebel smoother and Unscented Kalman Smoother. We have also added functions to implement Interactive Multiple Models, which is essential when the tracked objects dynamical model is not well known.

Attitude profiling functions and visualization

The group of new attitude profile functions allow high-level directives to be defined, and they automatically compute an attitude profile that meets the target alignment objectives while satisfying all pointing constraints. The 2D plot below displays a time history of the rotation angle about the primary body axis. The primary body axis is aligned with the primary target. We can then rotate about this axis to align a secondary body axis as closely as possible with a secondary target. At the same, we have one or more pointing constraints which impose time-varying bounds on the rotation angle.

The 3D view above shows the orbital path (cyan) of the satellite about the Earth, with a CAD model at the current orbit location in the center of the figure. The sun vector is shown (yellow) and the Earth lighting is based on the sun location. The primary alignment vector (green) is directed towards a coordinate on the Earth, and the secondary alignment is pointed in the orbit-normal direction. Constraint directions are shown in red with angular sweeps to show their size. The sensor cone is a star camera that has to keep the sun, Earth and moon out of its field of view. A new playback control GUI allows you to animate this view forwards backwards in time.

Libration point orbits and transfers

Several new functions have been added that help analyze and visualize orbits within the context of the Circular Restricted Three-Body Problem (CRTBP). The plot below displays a L2 trajectory for a nuclear fusion propulsion system designed using the toolbox.

Image analysis functions

The new detector model includes a comprehensive pixel level noise model. All noise sources are included. This makes it possible to accurately assess the accuracy of centroiding algorithms.

Brushless DC motor functions

The brushless DC motor functions are high fidelity models of the brushless DC motor drives. These motors are used in many spacecraft mechanisms including robot arms, antenna gimbals and reaction wheels. The model includes trapezoidal commutation and electrical motor dynamics so you can accurately simulate the use of these motors in control loops including the disturbances generated by these motors. Motor disturbances are a major source of jitter in spacecraft. The models also allow you to model the low-speed performance of the motors which is highly nonlinear. The toolbox includes bristle friction models for accurate modeling of friction at all speeds.

Change List

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


Common/AtmosphericCalculations/JacchiaLineberry.m Common/CAD/GetCADVF.m Common/Demos/GeneralEstimation/IMMDemo.m Common/Demos/GeneralEstimation/UKFAndEKFNLSpring.m Common/General/MatrixCellTo3D.m Common/General/TreeDiagram.m Common/GeneralEstimation/CWPAModel.m Common/GeneralEstimation/EKFPredict.m Common/GeneralEstimation/EKFUpdate.m/a> Common/GeneralEstimation/FXNLSpring.m Common/GeneralEstimation/IMMPredict.m Common/GeneralEstimation/IMMUpdate.m Common/GeneralEstimation/KFPredict.m Common/GeneralEstimation/KFUpdate.m Common/GeneralEstimation/KalmanFilterCombine.m Common/GeneralEstimation/RTSS.m Common/GeneralEstimation/SigmaPointsChol.m Common/GeneralEstimation/UKFPredict.m Common/GeneralEstimation/UKFRTSS.m.m Common/GeneralEstimation/UKFUT.m Common/GeneralEstimation/UKFUpdate.m Common/GeneralEstimation/UKFWeight.m Common/Graphics/AddFillToPlots.m Common/Graphics/PlaybackControls.m Common/Graphics/PlotAngleRange.m Common/Interface/ReadCSVTable.m Common/Math/AngleSepFromRotation.m Common/Math/FindValidAngleRange.m Common/Math/InsideAngleRange.m Common/Math/LinearSinCosToQuadCos.m Common/Math/MergeAngleRange.m Common/Math/PointInGridInTriangle.m/a> Common/Math/PointInTriangle.m Common/Math/SectorPatch.m Common/Math/SolveLinearSinCos.m Common/Probability/NormalDistribution.m Common/Probability/RandP.m Common/Probability/RandPN.m


Estimation/Demos/OrbitEstimation/UKFComparison.m Estimation/Demos/OrbitEstimation/UnscentedKalmanSmootherDemo.m Estimation/OrbitEstimation/AngleSensor.m Estimation/OrbitEstimation/RHSX.m


Link/Radar/RadarPulseTrain.m Link/Radar/RadarThermalNoise.m


Orbit/Demos/OrbitMechanics/LEOToSunEarthL2Design.m Orbit/Demos/OrbitMechanics/RelativeOrbitSim.m Orbit/OrbitCoord/ECIToSunEarthRot.m Orbit/OrbitData/EarthMoonSystemConstants.m Orbit/OrbitData/SunEarthMoonSystemConstants.m Orbit/OrbitMechanics/CRTBPLinearSystem.m Orbit/OrbitMechanics/EclipticInjectionPlane.m Orbit/OrbitMechanics/HALOFamily.m Orbit/OrbitMechanics/HALOInit.m Orbit/OrbitMechanics/HALOState.m Orbit/OrbitMechanics/LTAN.m Orbit/OrbitMechanics/LyapunovFamily.m Orbit/OrbitMechanics/LyapunovInit.m Orbit/OrbitMechanics/RandomOrbit.m Orbit/OrbitMechanics/ShortArcToHills.m Orbit/OrbitMechanics/SunSyncNode.m Orbit/OrbitPropagator/DoubleIntegratorWithAccel.m Orbit/Visualization/HALOPlot.m Orbit/Visualization/L2OrbitPlots.m Orbit/Visualization/PlotEMTraj.m Orbit/Visualization/PlotSEMTraj.m


SC/Demos/Ephemeris/ExampleLEOAnalysis.m SC/Sensor/MeasAccel.m SC/Sensor/MeasEarthSensor.m SC/Sensor/MeasMagnetometerEarth.m SC/Sensor/MeasRateGyro.m SC/Sensor/MeasRateIntegratingGryo.m SC/Sensor/MeasRelativePosition.m SC/Sensor/MeasStarTracker.m SC/Sensor/MeasState.m SC/Sensor/MeasSunSensorAnalog.m SC/Sensor/MeasSunSensorDigital.m


SCPro/Demos/ProActuators/BLDCMDemo.m SCPro/Demos/ProEphemeris/EclipseDurationSunSync.m SCPro/Optics/VMToPhotons.m SCPro/Optics/ZodiacalLight.m SCPro/ProActuators/BLDCMFlux.m SCPro/ProActuators/BLDCMFriction.m SCPro/ProActuators/BLDCMInverter.m SCPro/ProActuators/BLDCMRHS.m SCPro/ProAttitude/AttitudeProfilePlots.m SCPro/ProAttitude/AttitudeProfileVis.m SCPro/ProAttitude/QAlignWithCon.m SCPro/ProAttitude/QRotateToAlignWithCon.m SCPro/ProEnvirons/SolarFluxFromPlateECI.m SCPro/ProEphemeris/EarthEclipseDuration.m

These functions moved to the Imaging module in a future release:


Prior Releases

SCT Version 10
SCT Version 9
SCT Version 8
SCT Version 7