EICASLAB
EICASLAB is a software suite providing a laboratory for automatic control design and time-series forecasting developed as final output of the European ACODUASIS Project IPS-2001-42068 funded by the European Community within the Innovation Programme. The Project - during its lifetime - aimed at delivering in the robotic field the scientific breakthrough of a new methodology for the automatic control design.
To facilitate such a knowledge transfer, EICASLAB was equipped with an “automated algorithm and code generation” software engine, that allows to obtain a control algorithm algorithm even without a deep knowledge of the theory and the methodology that are otherwise normally required with traditional control design methodologies.
EICASLAB has been and is actually adopted in other European Research Projects dealing with robotics and automotive. EICASLAB is used in European industries, research institutes and academia to design control systems and time series forecasting documented in the scientific and technical literature.
EICASLAB includes tools for modelling plants, designing and testing embedded control systems, assisting the phases of the design process of the control strategy, from system concept to generation of the control software code for the final target.
Software organisation
EICASLAB is a software suite composed by a main program, called MASTER, able to assist and manage all the control design steps by means a set of tools, respectively:- the SIMBUILDER tool, devoted to program the simulation models of the plant and of the control algorithms;
- the SIM tool, devoted to the simulation and the evaluation of performances of the control algorithms;
- the POST tool, devoted to the analysis of results through post-processing of recorded simulation data;
- the MPI/CPO tool, devoted to model parameter identification and control parameter optimization;
- the RCP Manager tool, devoted to manage the Rapid Control Prototyping activities;
- the SLOW MOTION tool, devoted to the offline repetition of experimental trials executed on field for advanced debugging and tuning purposes.
Features to support to control design phases
Support to system concept
EICASLAB includes the following features to support the system concept:- Design of multiprocessor control architectures
- Design of multilevel hierarchical control algorithms
Data can be exchanged among the control functions allocated to the same processor and among the different processors belonging to the plant control system. The delay time in the data transmission is considered.
The final “application software” generated in C is subdivided into files each one related to a specific processor.
Support to system simulation
EICASLAB includes specific working areas for developing, optimizing and testing algorithms and software related to the “plant controller”, including both the “automatic control” and the “trajectory generation” and the "disturbances" acting on the plant. To perform such a task three different working areas are available as follows.- The plant area to be used to simulate the plant dynamic behaviour by means of the “plant fine model”,
- The control area to be used to design the functions related to the automatic control and the trajectory generation,
- The mission area to be used in order to plan the simulated trials. It is split in two sections, respectively, the plant mission and the control mission. The first one generates the disturbance acting on the plant during the simulated trials and schedules any other event concerning the plant performance, such as plant parameters' variations. The second one generates the host command to be sent to the plant control during the simulated trials.
Support to control algorithm design
- AAG: Automatic Algorithm Generation
- MPI: Model Parameter Identification
- CPO: Control Parameter Optimisation
The designer can choose among three control basic schemes and for each one he has the option of selecting control algorithms at different level of complexity.
In synthesis, the automatically generated control is performed by the resultant of three actions:
- the open loop action, which is given by the commands necessary to track the reference signals computed on the basis of the plant simplified model;
- the plant disturbance compensation, which is computed on the basis of the disturbance predicted by the plant state observer;
- the closed loop action, which is computed as the action necessary to correct the plant state error with respect to the reference one.
Model Parameter Identification is a tool which allows the identification of the most appropriate values of the simplified model parameters from recorded experimental data or simulated trials performed by using the “plant fine model”. The parameter's "true" value does not exist: the model is an approximated description of the plant and then, the parameter's "best" value depends on the cost function adopted to evaluate the difference between model and plant. The identification method estimates the best values of the simplified model parameters from the point of view of the closed loop control design.
Control Parameter Optimization is a tool which performs control parameter tuning in simulated environment. The optimization is performed numerically over a predefined simulated trial, that is for a given mission and for a given functional cost associated to the plant control performance.
Support to code generation for the final target
The EICASLAB Automatic Code Generation tool provides the ANSI C source code related to the control algorithm developed.The final result of the designer work is the “application software” in ANSI C, debugged and tested, ready to be compiled and linked in the plant control processors. The “application software” includes the software related to the “automatic control” and the “trajectory generation” functions. The simulated control functions are strictly the same one that the designer can transfer in field in the actual plant controller.
Support to control tuning
EICASLAB includes the following tools to support the control tuning:- Slow-Motion View
- Rapid Prototyping
- Hardware-in-the-loop
The plant input and output and the host commands sent to the controller are recorded during experimental trials and then they can be processed by EICASLAB as follows. The recorded plant input and output variables are used in the Plant Area inside of the input and output variables obtained by the plant simulation. The recorded host commands are used in the Control Mission area inside of the host command generated by the Control Mission function.
Then, when a simulated trial is performed, the control function receives the recorded outputs of the actual plant and the related recorded host commands inside of the simulated ones. Because the control function running in the EICASLAB is strictly the same one, which is running in the actual plant controller, then, the commands resulting from the simulated control function and sent from the simulated control to the simulated plant should be strictly the same of the recorded plant inputs.
Then, the recorded experimental trial performed by the actual plant controller is completely repeated in the EICASLAB, with the difference that now the process can be performed in slow-motion and, if useful, step by step by using a debugger program.
Automatic Code Generation tool can be used to insert the controller code in a Linux Real-time operating system , in order to test the control algorithm in the PC environment instead of the final target hardware, performing Rapid Control Prototyping tests. EICASLAB RCP includes a real-time scheduler based on multithreading programming techniques and able to run on a multi-core processor.
Automatic Code Generation tool can be used to insert the controller code in the final Hardware Target.
Once performed such operation, Hardware In the Loop tests may be performed, consisting in piloting – instead of the actual plant - the plant simulated in EICASLAB and running on your PC, suitable configured and connected through the necessary hardware interfaces with the final Hardware Target.