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