Skip to Main Content Skip to Search
Home |   Select Country  Choose Country  |  Contact Us  |  Cart Store 
Create Account | Log In
Products & Services Solutions Academia Support User Community Company
spacer spacer spacer spacer spacer spacer

 

User Stories

MathWorks Tools Cut Satellite Software Development Time


 Download this user story 79k

Challenge To develop the attitude control system for Minisat-01, the first satellite to be completely built in Spain
Solution Use MATLAB, Simulink, and Real-Time Workshop to develop, test, and automatically generate code for the attitude control system
Results
  • Accelerated simulation
  • Substantial time and cost savings
  • Problem-free performance, helping to extend the satellite's mission life


In June 1994, the Instituto Nacional de Tecnica Aeroespacial (INTA), Spain's equivalent of NASA, contracted with the Spanish aerospace company CASA to design and manufacture the Minisat-01satellite. CASA subcontracted the development of the attitude control system (ACS) to SENER Ingenieria y Sistemas.

The ACS controls the three-axis, sun-pointing attitude of the satellite in orbit to maintain solar power and telemetry control. The system also controls the spin and rotation of the satellite to accommodate three onboard low-earth orbit experiments.

SENER was able to complete the ACS within a very tight schedule and budget by using MATLAB , Simulink , and Real-Time Workshop. "We firmly believe that this is the approach to be followed in the future for cost-effective development of real-time control systems," says SENER ACS Technical Manager, Jose Ramon Villa.

Challenge

The ACS software had to be less than 100 KB in size, and it had to be written, tested, and integrated with other systems on a single, shared, onboard, 16-Mhz Intel 386 processor within 14 months on a budget of only $1.3 million for the whole ACS system.

The SENER team quickly realized how restrictive the 14-month deadline was. If they followed their normal procedures, writing the real-time code alone would take more than a year.

To produce the ACS system on schedule and within budget, SENER would need to develop real-time flight code concurrently with designing and testing algorithms. They knew that MathWorks control design products supported this approach: "We had been using MATLAB for other things, and learned about the diagramming and code generation tools directly from The MathWorks," Villa explains. However, Simulink and Real-Time Workshop were new to SENER.

It was a risk, he admits, to stake the entire development effort on tools that SENER had never used before. But it was a risk the team was forced to take: developing the real-time flight code and designing and tuning algorithms at the same time was the only way to complete the project on time and within budget.

"We faced the challenge not only of developing the software for the attitude control system for Minisat-01 in less than one year, but also of completing exhaustive tests before the integration of the software with the other satellite systems, all within 14 months. It would not have been possible to develop, produce, and test the software within that time frame without MathWorks tools."

Jose Ramon Villa
División Aeroespacial
SENER Ingenieria y Sistemas, S.A.

Solution

The ACS software, also known as the onboard attitude software (OBASW), was developed using six top-level software components. Three of these components were entirely hand-coded, while two are full Simulink subsystems. The remaining component comprises a complex Simulink subsystem and some handwritten code. In all, the OBASW uses up to seven Simulink subsystem levels, over 13,000 Simulink blocks, 11 hand-coded S-function blocks imported into Simulink diagrams with 6,000 lines of handwritten C code, and 25,000 lines of automatically generated code.

To comply with the size limitation on the ACS software, the SENER team developed a C utility that automatically rolled lines of Real-Time Workshop generated code into C loops, a feature included in later versions of the product. From this C source code the team produced an executable that reduced the size of the final OBASW to a little over 100 KB.

Once the OBASW was written, it had to be tested before being loaded onto the onboard computer. The intensive software testing had to be done quickly, but it had to include simulating the behavior of the satellite through three months of continuous satellite mission time.

The schedule did not allow for three months of testing. However, because the original attitude determination and control algorithms and logic had been developed in the MATLAB and Simulink environment, the limited testing time was not a problem for the team: they could use that same environment to accelerate testing.

First, the SENER engineers used Simulink and Real-Time Workshop to create a dynamic simulator that would test the code against an internal clock accelerated to cycle 20 times faster than real time. The different OBASW modules, including those handwritten in C, were integrated in Simulink as a fully coded Simulink model. Using this approach, the team extended testing for 8,000 hours, or half of the satellite's projected two-year mission life. The Minisat-01 was launched in April 1997 using the airborne Pegasus launcher from Orbital Sciences Corporation. Since then, it has operated without malfunction.


Results

  • Accelerated simulation.  Using Simulink and Real-Time Workshop, SENER engineers built a simulator that ran 20 times faster than real time. This enabled them to simulate almost a full year in orbit—half the satellite's mission—before it was launched.  
  • Substantial time and cost savings.  It took just over a year to design the ACS algorithms and develop and test the software for integration with other onboard software systems. "Using MathWorks tools shortened the development cycle, accelerated testing, and required fewer people to document algorithms and write code," says Villa.  
  • Problem-free performance, helping to extend the satellite's mission life.  The OBASW has performed flawlessly following the normal adjustments that were made after it was put into orbit. The satellite passed its original mission life of two years and was still operating correctly three years after its launch.  

Products Used

Contact sales
E-mail this page
Print this page