The Orion Spacecraft is NASA’s vehicle for manned exploration outside of low Earth orbit. At the center of the Guidance, Navigation & Control (GN&C) subsystem is the GN&C Flight Software (FSW) that executes on the Vehicle Management Computers (VMCs). This software receives inputs from navigation sensors and pilot controls, and displays and commands the appropriate effectors on the CM (Crew Module), SM (Service Module), and LAS (Launch Abort System) to accomplish mission objectives.
The Orion GN&C software operates across a variety of mission phases, including pre-launch, ascent, Earth orbit, transit, loiter, rendezvous, docking, entry, and various abort scenarios. The software must operate in both manual and automated modes, and must handle commands from the crew and the ground. The software must also execute complex guidance and navigation algorithms while controlling highly dynamic configurations during entry, ascent aborts, and orbital maneuvers. The resulting breadth of algorithm types drives a multi-rate architecture to meet CPU usage allocations.
The challenge of producing the GN&C FSW was how to produce a robust, autonomous, man-rated GN&C FSW system at reduced cost with a minimal team in place. Traditionally, a GN&C designer typically hand-codes a prototype algorithm to demonstrate how it works and meets requirements. The prototype algorithms are put through analysis and design cycles in closed-loop simulations. After verifying that the algorithm works, the GN&C designers create GN&C Algorithm FSW requirements that are used to produce FSW requirements, which are passed to the software engineer. The software engineer then interprets these requirements into a FSW design, and generates hand-coded software. This code is finally vigorously tested and verified by the FSW team.
Although the traditional method has proven effective, it is a long, slow process vulnerable to interpretation. Each document created requires interpretation by either the GN&C designer or the software engineer. Because the GN&C designers and software engineers work as separate groups with minimal communication, incomplete or incorrect interpretations of documents are likely.
The Orion Crew Exploration Vehicle (CEV) GN&C design and analysis team has developed the onboard GN&C FSW using the MATLAB/Simulink tool suite to embrace a Model-Based Design (MBD) approach to FSW development. The MBD process includes developing algorithms in the Simulink graphical design environment, automatically generating C++ code, and integrating the code into an ARINC 653 partition.
The Orion MBD approach allowed software engineers to provide a framework (rate groups, I/O) early in the development process. GN&C designers create models that are autocoded and eventually become flight software. This also allows for a greatly reduced FSW team since they are no longer hand-coding algorithms or models. Now, the software becomes available much earlier for analysis and testing, leading to more run time on the flight code before it flies, and decreased errors in the autocode. Finally, it allowed NASA to establish a process and templates for future use.
Developed by a geographically separated team, the large and complex Orion GN&C application required new approaches to software architecture, design approach, modeling standards, unit-level and closed-loop testing simulation, test environments, and testing and verification of the auto-generated code products.
Some of the benefits that GN&C is now observing include no need to schedule time for hand-coding GN&C algorithms (60,000+ SLOC were autocoded by the Critical Design Review), and a detailed requirements review was replaced by a review of MBD artifacts that had proven functionality. The automated test framework and report generation has simplified testing and production of test artifacts, and the automated standards checking tools (e.g. Model Advisor) and graphical artifacts have facilitated the inspection process.
This work was done by Timothy Straube, Joel Henry, Ryan Proud, Chris Madsen, David Weiler, Scott Tamblyn, Robert Gay, Mark Kane, Mike Buttacoli, Riana Pecourt, Brian Hoelscher, Aaron Brown, Jeremy Rea, Michael Tigges, Luke McNamara, Daniel Matz, Jared Daum, Kelly Smith, Susan Stachowiak, Deborah Merritt, Mark McPherson, Greg Holt, David Saley, Karen Frank, Carl Soderland, Jason Arnold, Tim Crain, David Saley, and Chris D’Souza of Johnson Space Center; Mark Jackson, Scott Jenkins, Ellis King, and Renato Zanetti of Charles Stark Draper Lab; Ben Meier, David Oelschlaeger, Jake Horky, Kevin Morrill, Roger Wacker, Greg Loe, and Kevin Key of Honeywell; Richard Burt, Jeff Patterson, Katherine Sullivan, Mary Fleet, Steven Rehfeldt, Harvey Mamich, Nicole Demandante, Andrew (Andy) Barth, David Shoemaker, Charity Duke, Jastesh Sud, Jason Roon, Douglas Reid, and Robert Chambers of Lockheed Martin; Brian Bihari of Hamilton Sunstrand Corp.; Denise Brown of Odyssey Space Research; Jimmy Young of ARES Corp.; and Marina Moen of Langley Research Center. This software is available for use. To request a copy, please visit here .