Using MathWorks' Simulink® and Real-Time Workshop® Code Generator to Produce Attitude Control Test and Flight Code
Other literature type
- Publisher: DigitalCommons@USU
This paper describes the use of a commercial product, MathWorks' RealTime Workshop® (RTW), to generate actual flight code for NASA's Thermosphere, Ionosphere, Mesosphere Energetics and Dynamics (TIMED) mission. The Johns Hopkins University Applied Physics Laboratory is handling the design and construction of this satellite for NASA. As TIMED is scheduled to launch in May of the year 2000, software development for both ground and flight systems are well on their way. However, based on experience from previous APL missions such as Midcourse Space Experiment (MSX) and the Near Earth Asteroid Rendezvous (NEAR), the designers of the attitude estimation and control system desire a more streamlined approach for analysts to incorporate their algorithms into flight code. Specifically, the attitude control designers want an easier and quicker iteration capability during integration and test that somehow includes their principle development environment, Simulink®. One of the problems is that complete attitude simulations in the Simulink models include both flight and non-flight elements. With a significant initial effort, RTW now separates flight code from the non-flight code, incorporating changes directly from Simulink instead of editing the code after the fact. RTW first converts the Simulink inner workings into a single, "all-knowing" file. The Target Language Compiler. (TLC) then uses this file to convert the information into actual code. Simulink's RTW product comes complete with "canned" TLC configuration files that control the generated C code. By editing these configuration files, analysts are able to perform complete estimation and control simulations in Simulink, and then with the click of a button produce code that can be directly compiled and linked onto flight systems. This ease has one caveat, however. By empowering the analysts to generate their own code, they also inherit the class of problems associated with real-time embedded systems, such as concerns with time and space efficiency.