OHB Develops Satellite Guidance, Navigation, and Control Software for Autonomous Formation Flying

“Traditionally, control engineers specify requirements using text and diagrams and someone else codes the software. With Model-Based Design, we have eliminated that step. We work with models from concept to implementation, and we have the automatically generated code flying in space.”


Develop low-cost satellite GNC systems to enable autonomous formation flying, rendezvous, and close-proximity operations with a small team


Use MathWorks tools for Model-Based Design to model GNC algorithms, perform real-time simulations, and generate production flight code


  • 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.”


Prisma will demonstrate autonomous formation flying as well as Autonomous Rendezvous, in which Mango approaches Tango from 10 kilometers away to within 10 meters, and Proximity Operations, in which this distance closes to 1 meter.

OHB needed to develop entirely new GNC algorithms to take advantage of the satellites’ advanced sensors and propulsion systems.

“With a limited amount of propellant on board, we needed to verify that our systems would work well before we started experiments in space,” says Robin Larsson, attitude orbit control system engineer at OHB.

OHB engineers needed to collaborate with engineers working in France and Germany and to integrate their Simulink models and C code into the complete GNC system.


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.


  • 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.”