Model-Based Design for Space Control Systems
Imagine that your team is developing the power system of a satellite. The system incorporates a combination of physical elements (e.g., battery, solar panels), control logic, and external conditions (e.g., temperature, radiation). Before you begin the design, you want to address some key questions—for example:
• How do we size the batteries?
• What if the requirements change?
• How can we optimize the design to ensure the desired performance?
• How can we test the design thoroughly while minimizing risk?
Whether you’re developing controls for a flight system, an industrial robot, a wind turbine, a production machine, an autonomous vehicle, an excavator, or an electric servo drive, if your team is manually writing code and using document-based requirements capture, the only way to answer these questions will be through trial and error or testing on a physical prototype. And if a single requirement changes, the entire system will have to be recoded and rebuilt, delaying the project by days, or even weeks.
Using Model-Based Design with MATLAB® and Simulink®, instead of handwritten code and documents, you create a system model—a model incorporating the physical model, the control algorithms, and the environment. You can simulate the model at any point to get an instant view of system behavior and to test out multiple what-if scenarios and tradeoff analyses without risk, without delay, and without reliance on costly hardware.
This white paper introduces Model-Based Design and provides tips and best practices for getting started. Using real-world examples, it shows how teams across industries have adopted Model-Based Design to reduce development time, minimize component integration issues, and deliver higher-quality products.
What Is Model-Based Design?
The best way to understand Model-Based Design is to see it in action:
A team of aerospace engineers sets out to design the guidance, navigation, and control (GNC) system for a satellite. Because they are using Model-Based Design, they begin by building an architecture model from the system requirements; in this case, it’s the satellite model itself. A simulation/design model is then derived. This high-level, low-fidelity model includes portions of the controls software that will be running in the satellite, plus the plant and the operating environment.
The team performs initial system and integration tests by simulating this high-level model under various scenarios to verify that the system is represented correctly and that it properly responds to input signals.
They add detail to the model, continuously testing and verifying the system-level behavior against specifications. If the system is large and complex, the engineers can develop and test individual components independently but still test them frequently in a full system simulation.
Ultimately, they build a detailed model of the system and the environment in which it operates. This model captures the accumulated knowledge about the system (the IP). The engineers generate code automatically from the model of the control algorithms for software testing and verification. Following hardware-in-the-loop tests, they download the generated code onto production hardware for testing in an actual final system.