Adaptative high-gain extended Kalman filter and applications
Adaptative high-gain extended Kalman filter and applications
Adaptative high-gain extended Kalman filter and applications
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