OHB Develops Satellite Guidance, Navigation, and Control Software for Autonomous Formation Flying
Challenge
Solution
Results
- Development time cut by 50%
- Early verification and test reuse enabled
- Interagency collaboration simplified
Planned space missions often depend on autonomous formation flying, in which one spacecraft approaches or flies alongside another. The Prisma project, led by OHB AG (OHB) in collaboration with the French and German space agencies and the Technical University of Denmark, tests and validates guidance, navigation, and control (GNC) strategies for advanced autonomous formation flying.
OHB engineers used Model-Based Design to develop GNC algorithms, run system-level real-time closed-loop simulations, and generate flight code for Prisma’s two satellites, Mango and Tango. They got a jump-start on the project by reusing MATLAB® and Simulink® models previously developed for the SMART-1 satellite.
“We evaluated different GNC algorithm concepts in MATLAB and then rapidly moved to Simulink models for simulation,” says Ron Noteborn, lead engineer at OHB. “Those models evolved into full flight models, which we verified in closed-loop simulations with a Simulink plant model. From there, generated flight code was just a click away.”
Challenge
Solution
OHB engineers used MathWorks tools for Model-Based Design to model and simulate the GNC system, perform real-time closed-loop simulations, and generate production flight code.
OHB partitioned the GNC design into formation flying, rendezvous, and proximity operations. They tested and analyzed algorithm ideas in MATLAB before modeling them in Simulink and Stateflow® to verify the algorithms in closed-loop simulation.
OHB engineers wrote MATLAB scripts that imported module interface data from a spreadsheet and automatically created a Simulink model with a matching interface and signal buses for each system module. Scripts were also used to verify the interfaces on completed modules.
The team ran closed-loop simulations in Simulink to verify GNC algorithms. These simulations tested individual components of the plant model as well as integrated systems comprising multiple subsystems that were contributed by the collaborating agencies.
Using Simulink Coder™ and Embedded Coder®, OHB engineers generated code from their GNC models and plant model. They deployed the plant code to Simulink Real-Time™, and compiled the GNC code for the onboard target LEON2 processor. OHB then ran hardware-in-the-loop (HIL) tests of the combined Simulink Real-Time system and LEON2 controller to verify the real-time operation of the algorithms.
As satellite hardware became available, the team replaced parts of the plant model with real sensors and actuators and reran their simulations. This resulted in a test setup with a maximum amount of flight HIL, including the onboard computer and GPS receiver stimulated by RF signals. To rehearse actual mission flight operations and verify flight command sequences, OHB ran simulations against the plant model on Simulink Real-Time.
OHB engineers used MATLAB Compiler™ to build standalone applications for displaying and analyzing satellite flight data. OHB staff can use these applications to prepare for satellite operations even if they do not have MATLAB installed.
OHB engineers are reusing Prisma models for yet a third program: Small GEO, a general-purpose geostationary satellite platform.
Results
Development time cut by 50%. “Using Model-Based Design to develop and verify our algorithms is 50% faster than hand-coding,” says Noteborn. “And by reusing 70% of the SMART-1 attitude control models, we eliminated development time for those parts almost completely.”
Early verification and test reuse enabled. “We have four levels of verification, ranging from desktop simulations in Simulink to HIL tests using Simulink Real-Time and flight command sequences on our target hardware,” says Larsson. “We ran tests very early on and then reused those same tests throughout development. This approach ensured consistency and repeatability.”
Interagency collaboration simplified. “We incorporate C code from other agencies into our Simulink simulations as S-functions so that we can verify them within the complete system,” says Noteborn. “We also exchange Simulink models with colleagues in other agencies. It’s much easier to understand how another engineer’s design works from Simulink block diagrams than from C code.”