Multi-Functional Guidance, Navigation and Control Simulation Environment-Rapid Prototyping of Space Simulations

Many space projects involve at one stage or the other extensive mission analysis, either to serve as an indication of system performance or as input to the design of sub-systems, such as the satellite’s guidance, navigation and control (GNC) system. From the large difference in nature of these space projects one would expect a huge diversity of simulation models. A few typical examples include GPS satellites orbiting the Earth, the Voyager-1 and -2 flying in a heliocentric orbit through the solar system, Apollo’s mission to the Moon, the European robotic spacecraft Giotto flying to Halley’s comet and providing pictures of the cometary nucleus, Huygens entering the atmosphere of Saturn’s moon Titan, and the Viking 1 and 2 spacecraft landing on Mars. However, upon closer study it seems that there are many commonalities in both simulation models and simulation approach. Also the experience from several major projects has resulted in a generic approach for development, integration, verification and validation of on-board software for GNC, and Data/Handling systems (Mooij and Wijnands, 2002; Neefs and Haye, 2002; Mooij and Ellenbroek, 2007). This approach contains inter-connected paths for rapid prototyping, control-algorithm design and verification, on-board software development, and integration thereof with dedicated (flight) hardware in the control loop. To allow for a modular design of a particular simulator that is independent of the chosen spacecraft, (space) environment and mission, a (large) number of elementary functions and models is available to the user through a number of model libraries. These models can easily be combined by means of ‘drag and drop’. In this way a significant cost reduction in terms of man-hours, as well as a short turnaround time can be achieved. Of course, this can only be guaranteed if each individual model is extensively tested and well documented. Worldwide, MATLAB/Simulink is the most commonly used simulation environment for the design of control systems, not only in the aerospace industry, but also in, for instance, the automotive industry. So, for the sake of the current discussion, the programming environment of our choice is MATLAB/Simulink, although it must be stressed that the philosophy behind the generic simulation environment is independent of programming language.