28.01.2013 Views

Adaptative high-gain extended Kalman filter and applications

Adaptative high-gain extended Kalman filter and applications

Adaptative high-gain extended Kalman filter and applications

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

tel-00559107, version 1 - 24 Jan 2011<br />

4.3 real-time Implementation<br />

to be hard real-time whenever the completion of an operation after its deadline is considered<br />

useless. When limited delays in the response time can be accepted, or in other words when<br />

we can afford to wait for the end of computations, the system is said to be soft real-time.<br />

The most common approach consists of defining a real-time task <strong>and</strong> using a clock that<br />

sends signals to the system at a frequency set by the user. Each time a signal is sent by the<br />

clock, a real-time task is launched whatever the conclusion of the previous task. In other<br />

words, a hard real-time system does not make a task conditional with respect to the real-time<br />

constraints. The system forces the designer of the task to respect the real-time constraints.<br />

We chose a Linux based real-time engine provided with a full development suite: RTAI-Lab<br />

[34].<br />

RTAI-Lab is composed of several software components including:<br />

− RTAI [5]: RTAi is a user friendly RealTime Operating System.<br />

The linux O.S. suffers from a lack of real time support. To obtain real time behavior, it is<br />

necessary to change the kernel source code. RTAI is an add-on to the Linux Kernel core<br />

that provides it with the features of an industrial real-time operating system within a<br />

full non real-time operating system (access to TCP/IP, graphical display <strong>and</strong> windowing<br />

systems, etc...).<br />

Basically RTAI is a non intrusive interrupt dispatcher, it traps the peripheral interrupts<br />

<strong>and</strong> when necessary re-routes them to Linux. It uses a concept called Hardware<br />

Abstraction Layer to get information into <strong>and</strong> out of the kernel with only a few dependencies.<br />

RTAI considers Linux as a background task running when no real time activity<br />

occurs.<br />

− Comedi [4]: Comedi is a collection of drivers for a variety of common data acquisition<br />

plug-in boards. The drivers are implemented as a core Linux kernel module.<br />

− Scilab/Scicos [6–8, 41]: Scilab is a free scientific software package for numerical computation<br />

similar to Matlab. The software was initially developed at INRIA <strong>and</strong> is now<br />

under the guidance of the Scilab consortium (see the history section of [8]).<br />

Scicos is a a graphical dynamical system modeler <strong>and</strong> simulator (or Computer Aided<br />

Control System Design Software) developed by the group METALAU at INRIA. It<br />

provides a block oriented development environment that can be found either embedded<br />

into Scilab or in the distribution ScicosLab 13 .<br />

− RTAI-Lib [5, 34]: RTAI-Lib is a Scicos palette, i.e. a collection of blocks to use with<br />

Scicos. This palette is specific to the real-time issues RTAI is dealing with. These<br />

blocks can be used to generate a real-time task (which is not the case of the regular<br />

Scicos blocks).<br />

− Xrtailab [34]: Xrtailab is a oscilloscope-like software that takes care of communications<br />

between the non real-time part of the platform (i.e. the Linux O.S, the graphic displays)<br />

<strong>and</strong> the real-time executable when it is active. With Xrtailab, it is possible to plot <strong>and</strong><br />

record signals <strong>and</strong> change online the parameter values of the simulation blocks (e.g. PI<br />

<strong>and</strong> PID coefficients, activate braking).<br />

13 Notice that recent versions of Scilab (2010) doesn’t seem to include Scicos anymore but some similar<br />

utility called xcos.<br />

77

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!