The Boeing team chose MATLAB®, Simulink®, Simulink Coder™, Control System Toolbox™, Robust Control Toolbox™, Statistics and Machine Learning Toolbox™, and Simulink Design Optimization™. They knew that these products would streamline software implementation, shorten the design-to-software-to-verification cycle, and enable them to make late changes as the vehicle’s design matured.
The engineers used Simulink and the MATLAB toolboxes to create, block-diagram, and simulation-test the flight-control laws. Simulink Coder was used to automatically generate C code for the GN&C system. They then modified an independent Fortran simulation of the Space Shuttle autoland algorithm to fit the X-40A configuration. Finally, they validated the C and Fortran codes against each other until the results matched identically.
In the model analysis phase, the team used MATLAB and the Monte Carlo simulation technique to test the GN&C code. They also used MATLAB and Statistics and Machine Learning Toolbox to develop a tool to process and analyze the Monte Carlo data.
The X-40A was tested in three phases: ground testing, to check subsystems and verify and refine models; captive flight testing, to check dynamic sensors, verify tow stability, and collect pressure data; and free-flight testing. The engineers refined the Simulink models during the first two tests. Then they used MATLAB and the toolboxes to analyze the test data in preparation for free-flight testing.
The initial implementation of the GN&C took six weeks—two weeks for the Simulink modeling and four weeks for the unit testing. Each subsequent update, including verification and analysis, took one week.