Lockheed Martin engineers accelerated the development of the IRIS GN&C flight software by using Model-Based Design.
Working in MATLAB and Simulink, the engineers developed a basic model of the control system to analyze pointing performance, or how accurately the spacecraft could be reoriented.
To create a plant model, the team reused existing Simulink and Stateflow® models of satellite components developed by the Lockheed Martin Space Vehicle Integration Laboratory (SVIL). They combined models of reaction wheels, magnetic torque rods, a star tracker, sun sensors, and other components with a Simulink model of the environment.
The team exported their Simulink control model, using Simulink Report Generator™ to create an interactive web view that was examined in depth during design reviews.
They verified the initial GN&C design by running closed-loop simulations with the plant model and performing model coverage analysis on the simulations using Simulink Coverage™.
Working with the MathWorks Pilot Engineering Group, they partitioned their initial flight software GN&C model into components, including the attitude controller, reaction wheel controller, and attitude determination module. Each component corresponded to a software unit in the flight code.
They used Embedded Coder® to generate C code for these components, adding a small amount of hand-generated “glue” code for a Moog Broad Reach Engineering radiation-hardened microprocessor and its executive software. Using a custom MATLAB user interface, the team exercised a variety of Simulink test cases for each GN&C flight software unit.
SVIL engineers added an integration layer to the plant model and used Embedded Coder to generate C code, which was deployed to a real-time computer for processor-in-the-loop testing.
After running real-time tests and optimizing the design in Simulink, the team generated approximately 20,000 lines of code for the production RAD750 processor. The GN&C system is in operation aboard IRIS, which is already delivering high-resolution images and spectral data.