NASA Ames developed the onboard flight software for the LADEE spacecraft using Model-Based Design with MATLAB® and Simulink®. Development was completed in a series of build cycles, each comprising modeling, simulation, code generation, and testing.
Working in Simulink, NASA Ames engineers developed models for the flight software, including separate models for attitude control, power management, thermal control, navigation, communications, and command processing. The team also developed a Simulink model of the LADEE spacecraft, including its propulsion system, environment, and gravity fields. These models ensured that the flight software could be developed rapidly and in a realistic setting.
Using Simulink Check™, the team verified that their models conformed to custom modeling guidelines that were derived from the MAAB (MathWorks Automotive Advisory Board) guidelines.
After running unit-level simulations in Simulink to verify that the subsystems met their requirements, the team used Simulink Coder™ and Embedded Coder® to generate more than 26,000 lines of C code from their Simulink controller models.
To catch any design errors, the engineers used Polyspace Bug Finder™ and Polyspace Code Prover™ to perform static analysis of the generated code.
With Simulink Coder they generated code from their plant model for processor-in-the-loop (PIL) and hardware-in-the-loop (HIL) testing. They integrated their controller code with NASA’s Core Flight Executive (cFE) and Core Flight System (cFS) software packages and deployed it to a Broad Reach PowerPC processor.
The team conducted numerous real-time, system-level PIL and HIL tests that included lunar orbit insertion, activation sequences, science operations, and fault management scenarios.
The team used Simulink Report Generator throughout the project to track requirements and test results for each requirement in accordance with NPR 7150 regulations.
They completed software development on schedule and in line with cost estimates.