Using the NI MATRIXx Toolset for XSS-10 Microsatellite Flight Software Development
"The entire product design loop is shortened without sacrificing reliability or increasing costs. "
- Steve Fisher,
Octant Technologies, Inc.
Designing, developing, and testing XSS-10 experimental microsatellite flight software while also developing processor-in-the-loop (PIL) and hardware-in-the-loop (HWIL) test-bed systems for component integration and overall system qualification.
Using the NI MATRIXx software suite, including SystemBuild and AutoCode tools, in conjunction with the Octant Orion/ MMS rapid-prototyping platform to design and verify the XSS-10 flight software.
Steve Fisher - Octant Technologies, Inc.
The Design Process
The increasing complexity spiral between electronics systems and the software that controls them requires new methods to keep project development times and costs from increasing exponentially. This is especially true for satellite systems, where system development time is typically measured in years.
The Octant Technologies engineer team has been involved in flight software development for several microsatellites during the past seven years. Our success is directly tied to using Xmath, SystemBuild, and AutoCode tools to design and develop the flight software for these applications. We use the Orion/MMS real-time simulation environment to verify the flight software performance in a closed-loop environment.
We used a Delta II launch vehicle, whose primary mission was to launch a GPS satellite, as the launch platform for the 28 kg XSS-10 microsatellite. The XSS-10 mission was to eject from the expended second-stage booster, navigate through an autonomous inspection sequence around the booster, and transmit live video feeds to a series of ground stations. The maneuvers involved complex interactions between line-of-sight guidance and inertial navigation. We successfully executed the entire mission, which lasted approximately 24 hours, in January 2003.
Our design team was an AIAA 2003 Space Systems Award corecipient recognized for outstanding achievements associated with the XSS-10 software architecture, analysis, design, and implementation. We developed all of the components, with the exception of the command and data handling subcomponent, using SystemBuild and AutoCode. The resulting multirate SystemBuild model required approximately 250 SuperBlocks and state transition diagrams.
The design phase included classic gain/phase margin stability analysis using the Xmath control design module. We performed robustness analysis to evaluate the ability to reject disturbances by running extensive Monte Carlo simulation suites using Xmath scripting capabilities in conjunction with the SystemBuild software models. We used the SystemBuild state transition diagram module to develop the logic to transition between the various flight control modes.
Integration and Testing
Once we verified the that SystemBuild subsystem models satisfied mission requirements, we used AutoCode to generate code for testing in a real-time environment. We coded the avionics flight software using AutoCode/Ada and integrated it into the flight processor executive control software. We coded the various truth subsystem models (vehicle 6-DOF dynamics, vehicle thruster models, ephemeris models, etc.) using AutoCode/C to run on the Orion/MMS hardware.
Internally, we connected the various subsystem truth models to each other and to built-in I/O device drivers using the Orion/MMS graphical, name-based signal connection editor. Externally, we connected wiring harnesses between the flight hardware avionics unit and the Orion/MMS system to create a closed-loop testing environment.
We performed various levels of real-time HWIL and PIL integration tests throughout the project as hardware components were available for testing. We used the test results to modify and refine the system design and truth models when unexpected behavior occurred. Once we verified a subsystem model using Orion/MMS, we placed it under configuration control (at the object level) for subsequent use as a building block in higher-level system tests. In this manner, we created increasingly complex, closed-loop tests to verify the XSS-10 flight software.
The VME-based Orion/MMS system is ideally suited for PIL and HWIL testing because we can connect individual subsystem models without first having to create a monolithic, higher-level model (in fact, MMS stands for multiple model system). This feature is not directly possible using SystemBuild and AutoCode (or other code generation tools) and becomes increasingly important for large models, as code generation and compilation times increase geometrically with respect to model size. Additionally, the VME-based Orion/MMS is multiprocessor-capable and runs VxWorks to ensure real-time performance.
We used the same truth models to validate the flight software and create a high-fidelity mission simulator (MSIM). The MSIM system served as both a prelaunch mission operations training tool as well as a real-time simulation tool during the actual mission. We achieved communications between the truth models and a VME-equivalent flight processor across the Orion/MMS backplane instead of using physical wiring harnesses.
We ran the MSIM system in conjunction with XSS-10 microsatellite, receiving the same be run faster than in real time, to simulate off-nominal conditions that helped the mission operations crew decide whether to modify the mission events sequence. It was also a helpful tool in visualizing satellite operating conditions.
SystemBuild and AutoCode are an integral part of our design methodology. Using these products, a relatively small engineer team can design and develop powerful GN&C flight software. Also, engineers can build modular component libraries, which can be reused on future applications, using the SystemBuild object-oriented architecture.
Using AutoCode, the same engineer team can focus on satisfying the overall flight software requirements without worrying about the underlying implementation. As a result, they participate from the initial design and development stages all the way to the critical integration and testing phases. The entire product design loop is shortened without sacrificing reliability or increasing costs.
Explore the NI Developer Community
Discover and collaborate on the latest example code and tutorials with a worldwide community of engineers and scientists.
Who is National Instruments?
National Instruments provides a graphical system design platform for test, control, and embedded design applications that is transforming the way engineers and scientists design, prototype, and deploy systems.