V-Model: The aim of this article is to inform the reader about the development steps which are used during the development of a critical control algorithm in the aerospace industry. An article describes the motivation for the use of automatic code generators for the development of critical control applications. A V-cycle model-based design is introduced and its advantages and development practices that lead from the design of a MATLAB / Simulink models to a real target application are depicted.
Introduction
Development procedures and practices in the aerospace industry have originated on those used in industry and automotive sector. A process that describes steps and linkages between individual development stages of the project has been established over the time. This process is often called “V-cycle”.
The V-cycle is a graphical construct used to communicate a model-based software development methodology. The advantages of Vu-cycle lies in its inherently intuitive nature, easy reuse of model and portability across multiple platforms. Model-based control design is a time saving and cost-effective approach, allowing engineers to work with a single model in an integrated software environment. The graphical representation of the V-cycle is shown the main image.
The complete design consists of particular steps, such as control design, rapid control prototyping, target implementation, hardware-in-the-loop testing, and calibration.
Within the function design stage, the modeling and computer simulations of the closed-loop system have been done. A mathematical model of both the controlled system (so-called plant model) and a controller (ECU) are necessary at this point. The important thing is that the control algorithms are developed as symbolic models, not in a C-code. When the synthesis of the ECU is finished and the results of simulations are well, the engineers start with verification of ECU’s algorithms in ‘real-time’ on real-time hardware. This stage is called a rapid control prototyping (RCP). The RCP is a process that lets the engineers quickly test and iterate control strategies on a real-time computer with either real or modeled system-under-control. The computer model is used in a case where inadequate action of ECU could cause damage to equipment or endanger lives. The biggest advantage of using the integrated software environment for modeling, simulation and also function prototyping is that the control engineer does not have to be a C-code expert nor have enough skills to port the C-code to a real-time target. By virtue of an automated build process, the RCP systems do this work for them. In the next stage, the target code for the ECU is automatically generated by special software, which reads math model files and generates a compile-able code that replicates the behavior of the model. This dramatically reduces the implementation time and, in addition, the engineers have systematic consistency between a specification and production stage. Moreover, improvements to the ECU could be easily added, even after implementation of an initial code. The time for hardware-in-the-loop testing is coming on once the ECU is programmed. Hardware-in-the-loop is a form of a real-time simulation that differs from a pure real-time simulation by addition of ‘real’ component into the loop. This component might be the ECU or real system-under-control. Current industry definition of the hardware-in-the-loop system is that a plant is simulated and the ECU is real. The model of the plant (and the simulation HW also) is the same as in the stage of RCP. Next step is a calibration, which is a process of optimizing or tuning real control algorithms to get the desired response from the system. A calibration tool is a combination of a hardware interface and a software application that enables the engineer to access and change ‘calibration variables’ in the ECU. Typical components of control algorithms which need calibration are look-up tables, gains, and constants. The structure of the control algorithm is not changed during the calibration process.