EICASLAB
Encyclopedia
EICASLAB is a software suite
Software suite
A software suite or application suite is a collection of computer programs, usually application software and programming software of related functionality, often sharing a more-or-less common user interface and some ability to smoothly exchange data with each other.Sometimes software makers...

 providing a laboratory for automatic control
Automatic control
Automatic control is the application of concepts derived from the research area of modern control theory. Automatic control is also a technology for application of control strategies. The implementing requires prior of analyzing and modeling of the subject to be controlled...

 design and time-series forecasting
Forecasting
Forecasting is the process of making statements about events whose actual outcomes have not yet been observed. A commonplace example might be estimation for some variable of interest at some specified future date. Prediction is a similar, but more general term...

 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 (ARFLEX IST-NMP2-016880 and PISA Project NMP2-CT-2006-026697) and automotive (HI-CEPS Project TIP5-CT-2006-031373 and ERSEC Project FP7 247955). 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
Embedded system
An embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...

 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.

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

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
Scheduling (computing)
In computer science, a scheduling is the method by which threads, processes or data flows are given access to system resources . This is usually done to load balance a system effectively or achieve a target quality of service...

.

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
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 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
Automatic control
Automatic control is the application of concepts derived from the research area of modern control theory. Automatic control is also a technology for application of control strategies. The implementing requires prior of analyzing and modeling of the subject to be controlled...

” 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 has to be used to generate the disturbance acting on the plant during the simulated trials and to schedule any other event concerning the plant performance, such as plant parameters variations. The second one is devoted to generate the host command to be sent to the plant control during the simulated trials.

Support to control algorithm design

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 is a tool, which - starting from the “plant simplified model” and from the "control required performance" - generates the control algorithm. On the basis only of the plant design data, the applied control design methodology allows to design 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 ).
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
Open loop
An open loop is a rhetorical device to instill curiosity by creating anticipation for what will come next. The device is sometimes also called a tension loop for the tension and anticipation it creates.- Short Example :...

 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
Closed loop
Closed loop may refer to:* A feedback loop, often found in:** Control theory#Closed-loop transfer function, where a closed-loop controller may be used** Electronic feedback loops in electronic circuits** PID controller, a commonly used closed-loop controller...

 action
, which is computed as the action necessary to correct the plant state error with respect to the reference one.
A particular relevance is given to the plant state observer
State observer
In control theory, a state observer is a system that models a real system in order to provide an estimate of its internal state, given measurements of the input and output of the real system. It is typically a computer-implemented mathematical model....

, the task of which may be extended to estimate and to predict the disturbance acting on the plant. The plant disturbance prediction and compensation is an original control feature, which allows to reduce significantly the control error.
The 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”. Let us point out that the above parameter “true” value does not exists. Indeed, the model is an approximated description of the plant and then, the parameter “best” value is depending on the cost functional 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.
The Control Parameter Optimization is a tool which allows to perform the 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

The EICASLAB Automatic Code Generation tool provides the ANSI C
ANSI C
ANSI C refers to the family of successive standards published by the American National Standards Institute for the C programming language. Software developers writing in C are encouraged to conform to the standards, as doing so aids portability between compilers.-History and outlook:The first...

source code related to the control algorithm developed.
The final result of the designer work is the “application software” in ANSI C
ANSI C
ANSI C refers to the family of successive standards published by the American National Standards Institute for the C programming language. Software developers writing in C are encouraged to conform to the standards, as doing so aids portability between compilers.-History and outlook:The first...

, 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
    Rapid prototyping
    Rapid prototyping is the automatic construction of physical objects using additive manufacturing technology. The first techniques for rapid prototyping became available in the late 1980s and were used to produce models and prototype parts. Today, they are used for a much wider range of applications...

     (precisely called Rapid Control Prototyping, RCP)
  • Hardware-in-the-loop


The Slow Motion View is a tool to be used in the phase of setting up of the plant control, with the aim to allow, step by step and variable by variable, the 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
Real-time operating system
A real-time operating system is an operating system intended to serve real-time application requests.A key characteristic of a RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task; the variability is jitter...

 (RTOS) (in two available versions, namely, Linux RTAI
RTAI
RTAI stands for Real-Time Application Interface. It is a real-time extension for the Linux kernel - which lets you write applications with strict timing constraints for Linux...

 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 Prototyping (Rapid Control Prototyping, also called RCP) tests. EICASLAB RCP includes a Real-Time Scheduler based on multithreading
Thread (computer science)
In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process...

 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.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK