Swedish Space Corporation Develops Satellite Guidance, Navigation, and Control Software for Autonomous Formation Flying
Challenge
Develop low-cost satellite GNC systems to enable autonomous formation flying, rendezvous, and close-proximity operations with a small team
Solution
Use MathWorks tools for Model-Based Design to model GNC algorithms, perform real-time simulations, and generate production flight code
Results
- Development time cut by 50%
- Early verification and test reuse enabled
- Interagency collaboration simplified
Products Used
“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.” |
Prisma’s MAIN and TARGET satellites in the sunbeam of the space simulator. |
Planned space missions often depend on autonomous formation flying, in which one spacecraft approaches or flies alongside another. The Prisma project, led by the Swedish Space Corporation (SSC) 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.
SSC 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, MAIN and TARGET. 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 SSC. “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
Prisma will demonstrate autonomous formation flying as well as Autonomous Rendezvous, in which MAIN approaches TARGET from 10 kilometers away to within 10 meters, and Proximity Operations, in which this distance closes to 1 meter.
SSC 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 SSC.
SSC 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.
Solution
SSC 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.
SSC 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.
SSC 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™, SSC engineers generated code from their GNC models and plant model. They deployed the plant code to xPC Target™, and compiled the GNC code for the onboard target LEON2 processor. SSC then ran hardware-in-the-loop (HIL) tests of the combined xPC Target 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, SSC ran simulations against the plant model on xPC Target.
SSC engineers used MATLAB Compiler™ to build standalone applications for displaying and analyzing satellite flight data. SSC staff can use these applications to prepare for satellite operations even if they do not have MATLAB installed.
SSC 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 xPC Target 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.”