From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Developer(s)EICAS Automazione S.p.A.
Operating systemWindows/Linux
TypeTechnical computing

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[1][2][3][4] 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.[5]

To facilitate such a knowledge transfer, EICASLAB was equipped with an “automated algorithm and code generation” software engine,[6] 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 (ARFLEX IST-NMP2-016880[7] and PISA Project NMP2-CT-2006-026697)[8] and automotive (HI-CEPS Project TIP5-CT-2006-031373[9] and ERSEC Project FP7 247955).[10] 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.[11][12][13][14][15][16][17][18][19][20][21][22]

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[edit]

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[edit]

Support to system concept[edit]

EICASLAB includes the following features to support the system concept:

  • Design of multiprocessor control architectures
  • Design of multilevel hierarchical control algorithms

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[edit]

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[edit]

EICASLAB includes the following tools and features to support the control algorithm design:

  • AAG: Automatic Algorithm Generation
  • MPI: Model Parameter Identification
  • CPO: Control Parameter Optimisation

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 (for fundamentals on control in presence of uncertainty see [23][24]). 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.

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 (host command sequence and disturbance acting on the plant and any other potential event related to the plant performance) and for a given functional cost associated to the plant control performance.

Support to code generation for the final target[edit]

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[edit]

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 (unless there are numerical errors depending on the differences between the processor where the EICASLAB is running and the one used in the actual plant controller, but the experience has shown that the effects of such differences are negligible). 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 (RTOS) (in two available versions, namely, Linux RTAI and Linux RT with kernel preemption), in order to test the control algorithm in the PC environment instead of the final target hardware, performing Rapid Control Prototyping (RCP) 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 (HIL) 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.


  1. ^ ACODUASIS IPS-2001-42068 : ACODUASIS Project web-site Archived 2008-04-17 at the Wayback Machine
  2. ^ CORDIS Issue n. 44 – September 2003, Technology opportunities today, page 16: "EICASLAB: A family of CAE tools using automated algorithm generation to design control systems". Published by European Commission – Innovation, on line[permanent dead link]
  3. ^ EVCA Barometer April 2006, page 5: "An easy to use tool for automated control systems", on line Archived 2006-12-07 at the Wayback Machine
  4. ^ CORDIS - ICT results: Results that lead the way: "An easy-to-use tool for automated control systems", Published by European Commission, on line
  5. ^ Prof. Francesco Donati (Politecnico of Torino, Italy): "The innovative methodology and the ACODUASIS Project", ACODUASIS Workshop "One Step further in Automatic Control Design", Torino (Italy), 3 October 2005, on line Archived 2011-07-19 at the Wayback Machine
  6. ^ Gabriella Caporaletti (EICAS Automazione, Italy): "The ACODUASIS Project: A professional software tool supporting the control design in robotics", 6th International Conference on Climbing and Walking Robots And the Support Technologies for Mobile Machines. CLAWAR 2003 September 17–19, 2003, Catania, Italy
  7. ^ ARFLEX Project IST-NMP2-016880 : ARFLEX Project web-site/
  8. ^ PISA Project NMP2-CT-2006-026697 PISA Project web-site
  9. ^ HI-CEPS Project TIP5-CT-2006-031373: HI-CEPS Project web-site
  10. ^ ERSEC Project FP7 247955: ERSEC Project web-site:
  11. ^ Gabriella Caporaletti (EICAS Automazione, Italy), Rui Neves da Silva and Maria Marques (UNINOVA, Portugal): "Advanced Automated Algorithm Generation Software in the Control of Solar Plant" - MIC 2004 Twenty-Third IASTED International Conference on Modelling, Identification and Control, abstract on line
  12. ^ Kerscher, Zoellner and Dillman (University of Karlsruhe, Germany), Stella and Caporaletti (EICAS Automazione, Italy):"Model and Control of joints driven by fluidic muscles with the help of advanced automatic algorithm generation software"- CLAWAR 2005 8th International Conference on Climbing and Walking Robots and the Support Technologies for Mobile Machines
  13. ^ Kay Ch. Fuerstenberg (IBEO Automobile Sensor GmbH, Germany), Pierre Baraud (Peugeot Citroën Automobile, France), Gabriella Caporaletti (EICAS Automazione,Italy), Silvia Citelli (Fiat Research Center,Italy), Zafrir Eitan (TAMAM/IAI, Israel), Ulrich Lages (IBEO Automobile Sensor GmbH, Germany), Christophe Lavergne (Renault SA, France) Development of a Pre-crash sensorial system: The CHAMELEON Project, on line[permanent dead link]
  14. ^ A. Bottero and D. Martinello (COMAU Robotics, Italy):Industrial robot simulation models for control design and analysis purposes, ACODUASIS Workshop "One Step further in Automatic Control Design", Torino (Italy), 3 October 2005, on line Archived 2011-07-19 at the Wayback Machine
  15. ^ F. Motto and A. Ramoino (EICAS Automazione, Italy), A. Bottero and D. Martinello (COMAU Robotics,Italy: Industrial robots control with EICASLAB approach: industrial prototyping and experimentation results, ACODUASIS Workshop "One Step further in Automatic Control Design", Torino (Italy), 3 October 2005, on line Archived 2011-07-19 at the Wayback Machine
  16. ^ J. Fottner (MIAS, Germany), T. Kerscher (University of Karlsruhe, Germany), G. di Gropello and A. Stella (EICAS Automazione, Italy): Modelling and Control of Automated Guided Vehicles (AGVs) for the transport of meals, laundry and waste in the healthcare domain, ACODUASIS Workshop "One Step further in Automatic Control Design", Torino (Italy), 3 October 2005, on line Archived 2011-07-19 at the Wayback Machine
  17. ^ G. Caporaletti and A. Stella (EICAS Automazione, Italy), P. Pina (UNINOVA,Portugal), V. Abadie (CYBERNETIX, France):"Control of a hydraulic servoactuator using an automated algorithm generator", ACODUASIS Workshop "One Step further in Automatic Control Design", Torino (Italy), 3 October 2005, on line Archived 2011-07-19 at the Wayback Machine
  18. ^ Y. Dodeman and N. Moisan (IPSIS, France), G. di Gropello (EICAS Automazione, Italy):"Synthesis of multivariable control of a thermic power plant", ACODUASIS Workshop "One Step further in Automatic Control Design", Torino (Italy), 3 October 2005, on line Archived 2011-07-19 at the Wayback Machine
  19. ^ Prof. R. Bucher and K.Kaufmann – (SUPSI, Switzerland):"Rapid Control Prototyping with EICASLAB and Linux RTAI", ACODUASIS Workshop "One Step further in Automatic Control Design", Torino (Italy), 3 October 2005, on line Archived 2011-07-19 at the Wayback Machine
  20. ^ Prof. Silvano Balemi (University of Applied Sciences of Southern Switzerland, Lugano-Manno, Switzerland): "Rapid Controller Prototyping Platform for Precision Applications", Proceedings of the 6th euspen International Conference – Baden bei Wien - May 2006, on line[permanent dead link]
  21. ^ Paola Donati and Francesco Donati:” Modelling and Forecasting the Yield Curve under Model uncertainty, by Paola Donati and Francesco Donati”, Working Paper Series 917, European Central Bank (ECB), on line
  22. ^ Paola Donati:” Monetary Policy Effectiveness in Times of Crisis: Evidence from the Euro Area Money Market”, European Central Bank (ECB) workshop December 2009, on line
  23. ^ Prof. F. Donati , Prof. D. Carlucci: "Control of norm of uncertain systems", IEEE Transactions on Automatic Control, vol.20-AC, 1975, pp.792- 795
  24. ^ Prof. F. Donati , Prof. M. Vallauri: "Guaranteed control of almost-linear plants", IEEE Transactions on Automatic Control, vol. 29- AC, 1984, pp. 34-41