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:

Support to system concept

EICASLAB includes the following features to support the system concept:
Hardware architectures including multi-processors and software architectures including multi-level hierarchical control are considered. The control software is subdivided into functions allocated by the designer to the different processors. Each control function has its own sampling frequency and a time window for its execution, which are scheduled by the designer by means of the EICASLAB scheduler.
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.
EICASLAB includes the following tools and features to support the control algorithm design:
The Automatic Algorithm Generation tool, starting from the “plant simplified model” and from the "control required performance" generates the control algorithm. On the basis of the plant design data, the applied control design methodology allows design of controllers with guaranteed performance without requiring any tuning in field in spite of the unavoidable uncertainty which always exists between any mathematical model built on the basis of plant design data and the plant actual performance.
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 plant's state observer task may be extended to estimate and predict the disturbance acting on the plant. The plant disturbance prediction and compensation is an original control feature, which allows significant reduction of control error.
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 is a tool to be used in the phase of setting up of the plant control, providing a variable by variable analysis of the control software performance during experimental trials performed by means of the actual plant.
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.