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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

z(t<br />

dz/dt=<br />

dS/dt=<br />

d!/dt=<br />

u(t<br />

d delay<br />

Innovation<br />

y(t<br />

4.3 real-time Implementation<br />

Figure 4.26: Decomposition of the adaptive-<strong>gain</strong> <strong>extended</strong> <strong>Kalman</strong> <strong>filter</strong>.<br />

(development diagram <strong>and</strong> Scicos block of the real-time task)<br />

Consequently, developing the equations on paper gives us simplified expressions. In<br />

addition, useless computations are avoided 25 .<br />

In the case of the DC machine, with a model made up of 3 equations, the second solution is<br />

definitely the one to use.<br />

The computation of the innovation requires a solution of the model given in equation<br />

(4.3.3) over a time window of length d. This may also be done using an external routine,<br />

lsode, which already exists in Scilab source code. It is the simulator used both by Scilab<br />

<strong>and</strong> Scicos to cope with ordinary differential equations. Here a<strong>gain</strong> the machine.h header<br />

<strong>and</strong> a function call, identical to the ones described above, need to be included (for more<br />

information on how to use this routine see [73]). Unfortunately, unlike dmmul <strong>and</strong> dmmul1,<br />

the use of lsode is not supported by the real-time compiler. We instead implement a fourth<br />

order Runge-Kutta algorithm (see [104] for example).<br />

The C code of those two computational functions is given in Appendices C.3 <strong>and</strong> C.4.<br />

4.3.5 Experimental Results<br />

We implemented the adaptive <strong>high</strong>-<strong>gain</strong> <strong>extended</strong> <strong>Kalman</strong> <strong>filter</strong> along with<br />

− a Luenberger <strong>high</strong>-<strong>gain</strong> observer,<br />

− an <strong>extended</strong> <strong>Kalman</strong> <strong>filter</strong>,<br />

− <strong>and</strong> a <strong>high</strong>-<strong>gain</strong> <strong>extended</strong> <strong>Kalman</strong> <strong>filter</strong>.<br />

Several simulations were performed in order to find <strong>and</strong> correct values for the <strong>high</strong>-<strong>gain</strong><br />

parameters. The parameters were estimated at a low speed (ωr = 180 rad.s −1 ) <strong>and</strong> the<br />

observers tested according to the following scenario:<br />

25 In the present case n = 3 which is rather low <strong>and</strong> allows us to reasonably develop the equations by h<strong>and</strong>.<br />

In the case of systems with much <strong>high</strong>er dimensions or multiple output systems the use of formal calculation<br />

softwares such as Mathematica, Mapple or Maxima [2] shall be considered.<br />

87

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

Saved successfully!

Ooh no, something went wrong!