the fuzzy kalman filter

26
Fuzzy Sets and Systems 157 (2006) 2145 – 2170 www.elsevier.com/locate/fss The fuzzy Kalman filter: State estimation using possibilistic techniques Fernando Matía a , , Agustín Jiménez a , Basil M. Al-Hadithi a, b , Diego Rodríguez-Losada a , Ramón Galán a a Intelligent Control Group – Universidad Politécnica de Madrid, Spain b Universidad Alfonso X El Sabio, Spain Received 17 October 2005; received in revised form 4 May 2006; accepted 9 May 2006 Available online 9 June 2006 Abstract A new method to implement fuzzy Kalman filters is introduced. The combination of possibilistic techniques and the extended Kalman filter has special application in fields where inaccurate information is involved. The novelty of this article comes from the fact that by using possibility distributions, instead of Gaussian distributions, a fuzzy description of the expected state and observation is sufficient to obtain a good estimation. Some characteristics of this approach are that uncertainty does not need to be symmetric, and that a wide region of possible values for the expectations is allowed. To implement the algorithm, this approach also contributes a method to propagate uncertainty through the process model and the observation model, based on trapezoidal possibility distributions. Finally, several examples of a real mobile robot moving through a localization process, while using qualitative landmarks, are shown. © 2006 Elsevier B.V.All rights reserved. Keywords: State estimation; Extended Kalman filter; Fuzzy control; Possibility distributions; Localization; Robotics 1. Introduction The extended Kalman filter is traditionally implemented using probabilistic techniques. It can be agreed that the algorithm is able to provide an accurate solution to the state estimation problem, where the only condition seems to be the appropriate initialization of the uncertainty matrices of the initial state estimation and of the process and observation models. Nevertheless, the classical filter has some inherent problems which are only detected when trying to carry out a complex estimation experiment. Among them are the following: (i) Process noise and observation noise are not always symmetric, which means that Gaussian distributions are not always the most appropriate. A clear example is a proximity sensor which provides a distance to an object, with more positive than negative systematic errors. This work is funded by Spanish Ministry of Science and Technology (ROBINT project DPI-2004-07907-C02) and is developed under the supervision of the Science Museum Príncipe Felipe de Valencia. Corresponding author. Tel.: +34 91 336 30 61; fax: +34 91 336 30 10. E-mail address: [email protected] (F. Matía). URL: http://www.disam.upm.es/control. 0165-0114/$ - see front matter © 2006 Elsevier B.V. All rights reserved. doi:10.1016/j.fss.2006.05.003

Upload: -

Post on 14-Apr-2015

33 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: The Fuzzy Kalman Filter

Fuzzy Sets and Systems 157 (2006) 2145–2170www.elsevier.com/locate/fss

The fuzzy Kalman filter: State estimation usingpossibilistic techniques�

Fernando Matíaa,∗, Agustín Jiméneza, Basil M. Al-Hadithia,b,Diego Rodríguez-Losadaa, Ramón Galána

aIntelligent Control Group – Universidad Politécnica de Madrid, SpainbUniversidad Alfonso X El Sabio, Spain

Received 17 October 2005; received in revised form 4 May 2006; accepted 9 May 2006Available online 9 June 2006

Abstract

A new method to implement fuzzy Kalman filters is introduced. The combination of possibilistic techniques and the extendedKalman filter has special application in fields where inaccurate information is involved. The novelty of this article comes from thefact that by using possibility distributions, instead of Gaussian distributions, a fuzzy description of the expected state and observationis sufficient to obtain a good estimation. Some characteristics of this approach are that uncertainty does not need to be symmetric,and that a wide region of possible values for the expectations is allowed. To implement the algorithm, this approach also contributes amethod to propagate uncertainty through the process model and the observation model, based on trapezoidal possibility distributions.Finally, several examples of a real mobile robot moving through a localization process, while using qualitative landmarks, are shown.© 2006 Elsevier B.V. All rights reserved.

Keywords: State estimation; Extended Kalman filter; Fuzzy control; Possibility distributions; Localization; Robotics

1. Introduction

The extended Kalman filter is traditionally implemented using probabilistic techniques. It can be agreed that thealgorithm is able to provide an accurate solution to the state estimation problem, where the only condition seems to bethe appropriate initialization of the uncertainty matrices of the initial state estimation and of the process and observationmodels.

Nevertheless, the classical filter has some inherent problems which are only detected when trying to carry out acomplex estimation experiment. Among them are the following:

(i) Process noise and observation noise are not always symmetric, which means that Gaussian distributions are notalways the most appropriate. A clear example is a proximity sensor which provides a distance to an object, withmore positive than negative systematic errors.

� This work is funded by Spanish Ministry of Science and Technology (ROBINT project DPI-2004-07907-C02) and is developed under thesupervision of the Science Museum Príncipe Felipe de Valencia.

∗ Corresponding author. Tel.: +34 91 336 30 61; fax: +34 91 336 30 10.E-mail address: [email protected] (F. Matía).URL: http://www.disam.upm.es/control.

0165-0114/$ - see front matter © 2006 Elsevier B.V. All rights reserved.doi:10.1016/j.fss.2006.05.003

Page 2: The Fuzzy Kalman Filter

2146 F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170

(ii) Propagation of probability distributions through non-linear equations produce accumulation of errors, which havedemonstrated to become important when the filter runs for a long time. An example is a mobile robot which movesfor hundreds of meters along a large exhibition area.

(iii) And finally, most important is that the estimation process is done by averaging incoming measurements withaccurate models, while in most cases available models are highly inaccurate, because they have been extractedfrom human knowledge. Again a good example is a qualitative map of the environment given to a mobile robotfor navigation.

In this article we suggest a method to apply fuzzy logic to solve, or at least minimize, the above-mentioned prob-lems. Firstly, replacing Gaussian distributions by trapezoidal distributions allows the introduction of asymmetriesin a natural manner. Secondly, propagating the main points of a trapezoidal distribution through non-linear models,and recalculating its center of gravity and uncertainty of the propagation, will produce less error than propagatingthe mean value and the variance of the Gaussian distribution through a linearized model. This will in turn force thepropagated distribution to continue being Gaussian. A similar idea is in the core of the unscented Kalman filter [15]but for Gaussian distributions. Thirdly, instead of trying to build very accurate models by understanding the availableknowledge, we will keep the knowledge in its qualitative form and use possibility distributions with margins as wide asnecessary.

The combination of fuzzy logic and the Kalman filter is not new. Several authors have implemented differentversions of what we could call a fuzzy Kalman filter, but with other objectives not less important than the threeabove-mentioned ones. Some of them [14,17,23] present probabilistic Kalman filters for mobile robots, where fuzzyrules are used to adapt process noise and observation noise. Longo et al. [19] apply fuzzy rules combined with aprobabilistic Kalman filter for mobile robots localization, where fuzzy logic is only used for sensor fusion outsidethe state estimation process. Cipriano et al. [2] also uses the example of a mobile robot to reduce linearization errorsof the extended Kalman filter, by implementing a set of probabilistic linear Kalman filters which are averaged by afuzzy supervisor. Simon [24] uses Kalman filtering technique to design a estimator for Takagi-Sugeno fuzzy model.Chen et al. [4] present a Kalman filter in which the parameters of the models are fuzzy numbers. Oussalah et al.[22] build a kind of possibilistic Kalman filter by extending the idea of interval Kalman filter [3] to different �-cuts, in which the filter parameters are intervals. Layne et al. [18] go further and uses fuzzy relations to representboth the process and observation models, although the noise is white. Trajanoski et al. [25] present a fuzzy filter fora glucoregulatory system which has better performance than a conventional Kalman filter, but which also includesprobability.

In our work, we completely replace probability by possibility [20,21]. Zadeh [27] introduces what a possibilitydistribution is and states the probability/possibility consistency principle, and Dubois et al. [8] formalize managementof possibility distributions using sup–min rules. Most of the previous references on fuzzy Kalman filtering focus onusing fuzzy rules or fuzzy relations but with random variables. Instead we propose to include fuzzy logic in the variable’sdefinition. The use of fuzzy numbers can be found in [5,11,26]. The analogy between random and fuzzy variables isestablished in [9,6]. Additionally, the expected value and variance of a possibility distribution used in [12,1], are basedon the idea of mean value of a fuzzy number [7,10]. Nevertheless, in our work we preferred to use the center of gravity,a method more frequently used in fuzzy control. For our purpose, any operator is valid if it guarantees that the mainequations of the conventional Kalman filter remain the same, and that the estimation is optimal from the recursiveleast-square estimation point of view.

The implementation of our algorithm is intended to be used with possibility distributions defined at several userdefined �-cuts. In fact, the use of trapezoidal distributions drives to the subset � = {0, 1}. The use of �-cuts means thatmany operations can be implemented using interval arithmetic [13].

2. Fuzzy variables and uncertainty management

The justification of using fuzzy variables instead of random ones is that, in many applications, information about thebehavior of variables is possibilistic, rather than probabilistic. A person is able to reason using a qualitative criterioninstead of highly precise information. So, if humans are able to make estimations in the presence of uncertainty, soshould an algorithm.

Page 3: The Fuzzy Kalman Filter

F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170 2147

Fig. 1. Possibility distribution.

We model a fuzzy variable x, defined over the universe of discourse X, using a trapezoidal possibility distribution�X(x), such as (Fig. 1) this means,

�X(x) ={

1, ∀ x ∈ [x2, x3],0, ∀ x /∈ [x1, x4]. (1)

This distribution is, in general, asymmetric, which is the usual case of a sensor’s uncertainty, as already mentioned.The fuzzy variable x takes possible values inside the region [x2, x3], and impossible values outside [x1, x4], withx1 �x2 �x3 �x4. We will restrict the analysis to trapezoidal distributions because, in practical applications, the humanhas no criterion to define the distribution shape between the possible and the impossible regions.

Furthermore, the use of two �-cuts was decided to simplify notation along the article. But there is no limit of thenumber of �-cuts selected by the user. All the measurements defined in this section and the following ones can bemodified appropriately to guarantee that the algorithm continues working properly. Nevertheless, and as it will beshown in the final experiments, an increase in the number of �-cuts does not influence the quality of the estimation.

Now we introduce some definitions that will be used in the next sections.

Definition 1. Suppose a fuzzy variable x defined by a trapezoidal distribution. We define the expectation of x as

E[x] ∼ �(x1, x2, x3, x4). (2)

Example 1. The triangular distribution E[x] ∼ �(−2, 1, 1, 5) corresponds to a fuzzy variable with only one possiblevalue, x = 1, and impossible values outside the region [−2, 5].

Example 2. The rectangular distribution E[x] ∼ �(3, 3, 7, 7) corresponds to a crisp variable with possible valuesinside the region [3, 7], and impossible values outside it.

Example 3. The singleton distribution E[x] ∼ �(4, 4, 4, 4) corresponds to a crisp variable with only one possiblevalue, x = 4, and impossible values ∀x �= 4.

We define the following uncertainty measurements for fuzzy variables.

Definition 2. The area of the distribution is defined as

�x =∫

�X(x) dx. (3)

In general, the area of a possibility distribution is not equal to one, as happens in the probabilistic case.

Definition 3. If f is a function of x, then we define the central value of f (x) as

C[f (x)] =∫

f (x) �X(x) dx

�x

. (4)

Definition 4. The center of gravity is given by

x = C[x] =∫

x �X(x) dx

�x

. (5)

Page 4: The Fuzzy Kalman Filter

2148 F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170

The center of gravity can be useful in the case that a crisp value is needed for further calculations outside the Kalmanfilter. The following property will be used later:

C[x − x] =∫(x − x)�X(x) dx

�x

=∫

x�X(x) dx

�x

− x = 0. (6)

Definition 5. The uncertainty of the distribution is defined as

U [x] = C[(x − x)2] =∫(x − x)2�X(x) dx

�x

. (7)

U [x] can be considered a measurement of the fuzziness of the estimation given by the Kalman filter. All the abovemeasurements, �x , x and U [x], can be easily precalculated for the case of trapezoidal distributions:

�x =∫

�X(x) dx = x2 − x1

2+ x3 − x2 + x4 − x3

2= x4 + x3 − x2 − x1

2, (8)

x =∫

x �X(x) dx

�x

= 1

�x

[∫ x2

x1

xx − x1

x2 − x1dx +

∫ x3

x2

x dx +∫ x4

x3

xx4 − x

x4 − x3dx

]

= (x24 + x4x3 + x2

3 ) − (x22 + x2x1 + x2

1 )

6�x

, (9)

U [x] =∫(x − x)2�X(x) dx

�x

= 1

�x

[∫ x2

x1

(x − x)2 x − x1

x2 − x1dx +

∫ x3

x2

(x − x)2 dx +∫ x4

x3

(x − x)2 x4 − x

x4 − x3dx

]

= 1

�x

[1

x2 − x1

(x4

2 − x41

4− x1x

32 − x4

1

3

)+ x3

3 − x32

3

+ 1

x4 − x3

(x4

4 − x4x33

3− x4

4 − x43

4

)]− x. (10)

Example 4. For the trapezoidal distribution E[x] ∼ �(2, 3, 5, 7) we have

�x = 7 + 5 − 3 − 2

2= 3.5, (11)

x = (72 + 7 · 5 + 52) − (32 + 3 · 2 + 22)

6 · 3.5= 4.29, (12)

U [x] = 1

3.5

[1

3 − 2

(34 − 24

4− 2 · 33 − 24

3

)+ 53 − 33

3

+ 1

7 − 5

(74 − 7 · 53

3− 74 − 54

4

)]− 4.29 = 1.23. (13)

Example 5. For the singleton distribution E[x] ∼ �(4, 4, 4, 4) we have

�x = 0, (14)

x = 4 (the previous formula is not valid in this case), (15)

U [x] = 0. (16)

Page 5: The Fuzzy Kalman Filter

F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170 2149

Fig. 2. Affine relation (a > 0).

Possibility distributions are propagated through equations as follows: suppose that the affine relation (Fig. 2) betweenE[x] and E[z] is defined by

�Z(z) = �X(x), ∀x, z | z = ax + b. (17)

This implies that

�z =∫

�Z(z) dz =∫

�X(x) |a| dx = |a| �x, (18)

z =∫

z �Z(z) dz

�z

=∫(ax + b) �X(x) |a| dx

|a| �x

= a x + b, (19)

U [z] =∫(z − z)2�Z(z) dz

�z

=∫

a2(x − x)2�X(x) |a| dx

|a| �x

= a2U [x]. (20)

As we can see, the area of the distribution is not conserved (in the probabilistic case, the area is always equal to one).Furthermore, ∀l ∈ {1, . . . , 4},

zl ={

a xl + b if a > 0,

a x5−l + b if a < 0.(21)

Note that this consideration with the sign of a is not necessary in the probabilistic case, because Gaussian functionsare symmetric by definition.

It is clear to see that, if we project the possibility distribution to obtain its representative points zl , and we calculatefrom them �z, z and U [z], we would obtain the same result.

Example 6. The projection of the possibility distribution E[x] ∼ �(2, 3, 5, 7) to E[z] through the function z = −x

leads to (Fig. 3):

�z = �x = 3.5, (22)

z = −x = −4.29, (23)

U [z] = U [x] = 1.23, (24)

being E[z] ∼ �(−7, −5, −3, −2).

Example 7. The projection of the possibility distribution E[x] ∼ �(2, 3, 5, 7) to E[z] through the function z = 2x−3leads to:

�z = 2�x = 7, (25)

Page 6: The Fuzzy Kalman Filter

2150 F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170

Fig. 3. Affine relation (a < 0).

Fig. 4. Projection by linearization.

z = 2x − 3 = 5.58, (26)

U [z] = 4U [x] = 4.92, (27)

being E[z] ∼ �(1, 3, 7, 11).

In the case of a non-linear function, z = f (x), there are two ways to propagate uncertainty. The first one is tolinearize f around x, and then apply the previous relations (Fig. 4):

z ≈ f (x) + �f

�x

∣∣∣∣x

(x − x) = f (x) + a (x − x). (28)

So,

�z ≈ |a|�x, (29)

z ≈ f (x), (30)

U [z] ≈ a2U [x]. (31)

This is exactly what is done to propagate probabilistic uncertainty, which produces a linearization error.The second way to obtain these uncertainty measurements is to propagate the fuzzy distribution �X(x), and deduce

them from its projection �Z(z). Provided that f (x) is monotonously increasing or decreasing in the range [x1, x4], then∀l ∈ {1, . . . , 4},

zl =⎧⎨⎩

f (xl) if �f

�x

∣∣∣x

> 0,

f (x5−l ) if �f

�x

∣∣∣x

< 0.(32)

The use of only two �-cuts, suggests us to carry out a linear interpolation among these points, so that a trapezoidaldistribution can be obtained (Fig. 5).

Page 7: The Fuzzy Kalman Filter

F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170 2151

Fig. 5. Projection point by point.

Then,

�z ≈∫

�Z(z) dz, (33)

z ≈∫

z �Z(z) dz

�z

, (34)

U [z] ≈∫(z − z)2�Z(z) dz

�z

. (35)

It should be taken into account that the propagation of the center of gravity obtained through the first method will be,in general, different from the center of gravity of the propagation. In other words,

f (C[x]) �= C[f (x)]. (36)

Example 8. The projection of the distribution E[x] ∼ �(2, 3, 5, 7) to E[z] through the function z = x2 − 10 leadsto the distribution E[z] ∼ �(−6, −1, 15, 39), with

�z = 30.5, (37)

z = 12.5, (38)

U [z] = 102. (39)

3. The multivariable case

In the case of a multivariable system, with x and y defined over the universes of discourse X and Y, respectively, ajoint possibility distribution �X,Y (x, y) is used with

sup �X,Y (x, y) = 1. (40)

Definition 6. The volume of the distribution is given by

�x,y =∫ ∫

�X,Y (x, y) dx dy, (41)

which is not equal to one, in general.

Definition 7. The central value is defined as

C[f (x, y)] =∫ ∫

f (x, y) �X,Y (x, y) dx dy

�x,y

. (42)

Page 8: The Fuzzy Kalman Filter

2152 F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170

Definition 8. The marginal distributions �X(x) and �Y (y) are those which satisfy

�X(x)

�x

=∫

�X,Y (x, y) dy

�x,y

, (43)

�Y (y)

�y

=∫

�X,Y (x, y) dx

�x,y

. (44)

Definition 9. The centers of gravity of the marginal distributions are defined as

x = C[x] =∫ ∫

x �X,Y (x, y) dx dy

�x,y

=∫

x∫

�X,Y (x, y) dy dx

�x,y

=∫

x �X(x) dx

�x

, (45)

y = C[y] =∫ ∫

y �X,Y (x, y) dx dy

�x,y

=∫

y∫

�X,Y (x, y) dx dy

�x,y

=∫

y �Y (y) dy

�y

. (46)

Definition 10. The uncertainties of the marginal distributions are given by

U [x] = C[(x − x)2] =∫ ∫

(x − x)2 �X,Y (x, y) dx dy

�x,y

=∫(x − x)2

∫�X,Y (x, y) dy dx

�x,y

=∫(x − x)2�X(x) dx

�x

, (47)

U [y] = C[(y − y)2] =∫ ∫

(y − y)2 �X,Y (x, y) dx dy

�x,y

=∫(y − y)2

∫�X,Y (x, y) dx dy

�x,y

=∫(y − y)2�Y (y) dy

�y

. (48)

Definition 11. The dependency between two fuzzy variables is given by

Dep[x, y] = C[(x − x)(y − y)] =∫ ∫

(x − x)(y − y)�X,Y (x, y) dx dy

�x,y

. (49)

Definition 12. The dependency index between two fuzzy variables is

�(x, y) = Dep[x, y]√U [x]U [y] . (50)

Example 9. When x and y are independent (Fig. 6),

�X,Y (x, y) = �X(x)�Y (y). (51)

The upper part of �X,Y (x, y) represents the possible region, while outside the lower part we have the impossible region.Then,

�x,y =∫

�X(x) dx

∫�Y (y) dy = �x�y, (52)

Page 9: The Fuzzy Kalman Filter

F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170 2153

Fig. 6. Independent variables.

Fig. 7. Dependent variables (� = 1).

Fig. 8. Dependent variables (� = −1).

Dep[x, y] =∫ ∫

(x − x)(y − y)�X,Y (x, y) dx dy

�x,y

=∫(x − x)�X(x) dx

∫(y − y)�Y (y) dy

�x�y

= C[(x − x)]C[(y − y)] = 0, (53)

�(x, y) = 0. (54)

Example 10. If x and y are completely dependent (Figs. 7 and 8),

�X,Y (x, y) = �X(x) = �Y (y), ∀x, y | y = ax + b. (55)

Again, the upper part of �X,Y (x, y) represents the possible pairs {x, y}. Then,

�x,y = 0, (56)

Page 10: The Fuzzy Kalman Filter

2154 F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170

Fig. 9. Addition operation using interval arithmetic.

�y = |a|�x, (57)√U [y] = |a|√U [x], (58)

Dep[x, y] =∫ ∫

(x − x)(y − y)�X,Y (x, y) dx dy

�x,y

=∫

a (x − x)2∫

�X,Y (x, y) dy dx

�x,y

= a∫(x − x)2�X(x) dx

�x

= a U [x] = a√

U [x]√U [x] = a

|a|√

U [x]U [y], (59)

�(x, y) = a

|a| = ±1. (60)

Uncertainty propagation is carried out as follows.

Example 11. Suppose the relation z = x + y. Then, using interval arithmetic we can check that (Fig. 9)

zl = xl + yl. (61)

Furthermore,

z =∫ ∫

(x + y)�X,Y (x, y) dx dy

�x,y

=∫

x∫

�X,Y (x, y) dy dx

�x,y

+∫

y∫

�X,Y (x, y) dy dx

�x,y

=∫

x �X(x) dx

�x

+∫

y �Y (y) dy

�y

= x + y, (62)

U [z] =∫ ∫ [(x − x) + (y − y)]2�X,Y (x, y) dx dy

�x,y

=∫(x − x)2

∫�X,Y (x, y) dy dx

�x,y

+∫(y − y)2

∫�X,Y (x, y) dy dx

�x,y

+2

∫ ∫(x − x)(y − y)�X,Y (x, y) dx dy

�x,y

=∫(x − x)2�X(x) dx

�x

+∫(y − y)2�Y (y) dy

�y

+2

∫ ∫(x − x)(y − y)�X,Y (x, y) dx dy

�x,y

= U [x] + U [y] + 2 Dep(x, y). (63)

It can be seen that, for the same z, dependency between x and y modifies U [z].

Page 11: The Fuzzy Kalman Filter

F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170 2155

The above-mentioned operations can be simplified using array notation:

x =[

x

y

](64)

and

E[x] ∼ �(x1, x2, x3, x4), (65)

which stands for

E[x] ∼ �(x1, x2, x3, x4),

E[y] ∼ �(y1, y2, y3, y4). (66)

Definition 13. We can define the uncertainty matrix of x as

U [x] = C[(x − x)(x − x)T]= C

[(x − x)2 (x − x)(y − y)

(x − x)(y − y) (y − y)2

]=[

U [x] Dep[x, y]Dep[x, y] U [y]

]. (67)

Note that, in the case of independency between x and y, uncertainty matrices are diagonal, this means,

U [x] =[

U [x] 00 U [y]

]. (68)

Example 12. For the relation z = Ax + b, we have that

zl = Axl + b, (69)

and

z = Ax + b, (70)

U [z] = U [Ax + b] = C[A(x − x)(x − x)TAT] = AU [x]AT. (71)

Example 13. The previous example in which z = x + y can also be solved using this notation:

z = [ 1 1] [ x

y

], (72)

zl = [ 1 1] [ xl

yl

](73)

and

z = [ 1 1] [ x

y

], (74)

U [z] = [ 1 1] [ U [x] Dep[x, y]

Dep[x, y] U [y]] [

11

]= U [x] + U [y] + 2 Dep[x, y]. (75)

Example 14. Suppose that z = Ax + By + c. In this case,

zl = Axl + Byl + c (76)

Page 12: The Fuzzy Kalman Filter

2156 F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170

and

U [z] = U [Ax + By + c]= C[A(x − x)(x − x)TAT + B(y − y)(y − y)TBT

+A(x − x)(y − y)TBT + B(y − y)(x − x)TAT]. (77)

If x and y are independent, which will occur later on in the Kalman filter equations, we obtain

U [z] = AU [x]AT + BU [y]BT. (78)

Example 15. In the case of a non-linear function, z = f(x),

zl = f(xl ) (79)

and �z, z and U [z] are calculated from the trapezoidal distributions of z.

This is, at least, in theory. The elements of the diagonal of U [z] can be obtained from E[z]. But the Kalman filterwill also need the dependency between its components, and there exists an implementation problem in its calculationfrom Dep[x, y], because the propagation of a joint possibility distribution through a non-linear function produces anon-uniform distribution too complicated to be managed. So, although some accuracy is lost, the best way to obtain itis from linearization. We will follow the next steps:(1) Linearize f:

z ≈ z + A(x − x). (80)

(2) Calculate an approximation of U [z]:

U∗[z] =[

U∗[z1] Dep∗[z1, z2]Dep∗[z1, z2] U∗[z2]

]= AU [x]AT. (81)

(3) Obtain the dependency index:

�(x, y) = Dep∗[z1, z2]√U∗[z1]U∗[z2] . (82)

(4) Propagate �X(x) and �Y (y) to obtain �Z1(z1) and �Z2(z2).(5) Obtain U [z1] and U [z2] from �Z1(z1) and �Z2(z2).(6) Calculate the dependency of z:

Dep[z1, z2] = �(x, y)√

U [z1]U [z2]. (83)

(7) Build the uncertainty matrix:

U [z] =[

U [z1] Dep[z1, z2]Dep[z1, z2] U [z2]

]. (84)

4. Building a fuzzy least-square estimator

We will now see how to build a least-square estimator using possibilistic techniques. Consider the following obser-vation model

z(k) = H(k)x + w(k), (85)

where x is the unknown real state (i.e. non-fuzzy), z(k) is the observation, w(k) the measurement noise, and H(k) theobservation matrix at instant k. If the noise has an associated possibility distribution, center of gravity and uncertaintymatrix, respectively (Fig. 10):⎧⎨

⎩E[w(k)] ∼ �(w1(k), w2(k), w3(k), w4(k)),

w(k) = 0,

U [w(k)] = R(k),

(86)

Page 13: The Fuzzy Kalman Filter

F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170 2157

Fig. 10. Possibility distribution of one component of w(k).

Fig. 11. Possibility distribution of one component of z(k).

then, the observation inherits its uncertainty as follows (Fig. 11):

zl (k) = H(k)x + wl (k), (87)⎧⎨⎩

E[z(k)] ∼ �(z1(k), z2(k), z3(k), z4(k)),

z(k) = H(k)x,

U [z(k)] = R(k).

(88)

After k observations, the state x can be estimated from the accumulated observation zk = Hkx + wk , with

zk =⎡⎢⎣

z(1)...

z(k)

⎤⎥⎦ , Hk =

⎡⎢⎣

H(1)...

H(k)

⎤⎥⎦ , wk =

⎡⎢⎣

w(1)...

w(k)

⎤⎥⎦ . (89)

Now we have that{wk = 0,

U [wk] = Rk (90)

with

Rk =

⎡⎢⎢⎢⎢⎣

R(1) 0 · · · 0

0. . .

. . ....

.... . .

. . . 00 · · · 0 R(k)

⎤⎥⎥⎥⎥⎦ (91)

and {zk = Hkx,

U [zk] = Rk.(92)

The least-square estimation procedure consists of minimizing (wk)T(Rk)−1(wk), this means,

∇x(wk)T(Rk)−1(wk) = 0. (93)

Expanding this expression we have

∇x(wk)T(Rk)−1(wk) = ∇x[zk − Hkx]T(Rk)−1[zk − Hkx]= −2(Hk)T(Rk)−1zk + 2(Hk)T(Rk)−1Hkx= 0. (94)

Page 14: The Fuzzy Kalman Filter

2158 F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170

Fig. 12. Possibility distribution of one component of x(k).

This means that the estimation of x at instant k is given by

x(k) = [(Hk)T(Rk)−1Hk]−1(Hk)T(Rk)−1zk. (95)

As zk is a fuzzy variable, x(k) is also fuzzy, so we can obtain its possibility distribution,

E[x(k)] ∼ �(x1(k), x2(k), x3(k), x4(k)), (96)

xl (k) = [(Hk)T(Rk)−1Hk]−1(Hk)T(Rk)−1zkl

= [(Hk)T(Rk)−1Hk]−1(Hk)T(Rk)−1[Hkx + wkl ]

= x + [(Hk)T(Rk)−1Hk]−1(Hk)T(Rk)−1wkl (97)

and its center of gravity

C[x(k)] = [(Hk)T(Rk)−1Hk]−1(Hk)T(Rk)−1zk

= [(Hk)T(Rk)−1Hk]−1(Hk)T(Rk)−1H(k)x= x. (98)

This is an important result which means that the optimal estimation from the least-square point of view is centered inthe real value of the state (Fig. 12).

Furthermore, the variance of this estimation is given by

U [x(k)] = [(Hk)T(Rk)−1Hk]−1(Hk)T(Rk)−1

×U [zk](Rk)−1Hk[(Hk)T(Rk)−1Hk]−1

= [(Hk)T(Rk)−1Hk]−1(Hk)T(Rk)−1Hk[(Hk)T(Rk)−1Hk]−1

= [(Hk)T(Rk)−1Hk]−1

= P(k). (99)

We can improve this method from a computational point of view, by using the recursive least-square estimation. Bydenoting

zk+1 =[

zk

z(k + 1)

], Hk+1 =

[Hk

H(k + 1)

], wk+1 =

[wk

w(k + 1)

](100)

and

Rk+1 =[

Rk 00 R(k)

](101)

we can recalculate the variance

P−1(k + 1) = (Hk+1)T(Rk+1)−1Hk+1

=[(Hk)THT(k + 1)

] [Rk 00 R(k + 1)

]−1 [Hk

H(k + 1)

]= (Hk)T(Rk)−1Hk + HT(k + 1)R−1(k + 1)H(k + 1), (102)

Page 15: The Fuzzy Kalman Filter

F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170 2159

P(k + 1) = [(Hk)T(Rk)−1Hk + HT(k + 1)R−1(k + 1)H(k + 1)]−1

= P(k) − P(k)HT(k + 1)[H(k + 1)P(k)HT(k + 1)

+R(k + 1)]−1H(k + 1)P(k)

= P(k) − P(k)HT(k + 1)S−1(k + 1)H(k + 1)P(k)

= [I − W(k + 1)H(k + 1)]P(k), (103)

where

S(k + 1) = H(k + 1)P(k)HT(k + 1) + R(k + 1), (104)

W(k + 1) = P(k)HT(k + 1)S−1(k + 1) (105)

and the state estimation is

x(k + 1) = [(Hk+1)T(Rk+1)−1Hk+1]−1(Hk+1)T(Rk+1)−1zk+1

= P(k + 1)[(Hk)THT(k + 1)][

Rk 00 R(k)

]−1 [zk

z(k + 1)

]= [I − W(k + 1)H(k + 1)]P(k)

[(Hk)T(Rk)−1zk + HT(k + 1)R−1(k + 1)z(k + 1)]= [I − W(k + 1)H(k + 1)]x(k)

+W(k + 1)[S(k + 1) − H(k + 1)P(k + 1)HT(k + 1)]×R−1(k + 1)z(k + 1)

= x(k) + W(k + 1)[z(k) − H(k + 1)x(k)]. (106)

Again, the center of gravity of this estimation is x:

C[x(k + 1)] = C[x(k)] + W(k + 1)[C[z(k)] − H(k + 1)C[x(k)]]= x + W(k + 1)[H(k + 1)x − H(k + 1)x]= x. (107)

5. The fuzzy Kalman filter

Suppose now that the process and observation models of a system are described as follows:

x(k + 1) = �(k)x(k) + G(k + 1)u(k + 1) + v(k + 1), (108)

z(k + 1) = H(k + 1)x(k + 1) + w(k + 1), (109)

where k and k + 1 are two consecutive instants of time, x(k) is the state, u(k + 1) is the system input and z(k + 1) isthe observation.

Six fuzzy variables are involved: the state estimation after having integrated the previous observation x(k|k), theprocess noise v(k+1), the state estimation without having integrated the next observation x(k+1|k), the measurementnoise w(k + 1), the observation estimation z(k + 1) and the state estimation after having integrated the last observationx(k + 1|k + 1). Each of them has an associated possibility distribution, center of gravity and uncertainty matrix(Figs. 13–18):{

E[x(k|k)] ∼ �(x1(k|k), x2(k|k), x3(k|k), x4(k|k)),

U [x(k|k)] = P(k|k),(110)

⎧⎨⎩

E[v(k + 1)] ∼ �(v1(k + 1), v2(k + 1), v3(k + 1), v4(k + 1)),

v(k + 1) = 0,

U [v(k + 1)] = Q(k + 1),

(111)

Page 16: The Fuzzy Kalman Filter

2160 F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170

Fig. 13. Possibility distribution of one component of x(k|k).

Fig. 14. Possibility distribution of one component of v(k + 1).

Fig. 15. Possibility distribution of one component of x(k + 1|k).

Fig. 16. Possibility distribution of one component of w(k + 1).

Fig. 17. Possibility distribution of one component of z(k + 1).

Fig. 18. Possibility distribution of one component of x(k + 1|k + 1).

Page 17: The Fuzzy Kalman Filter

F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170 2161{E[x(k + 1|k)] ∼ �(x1(k + 1|k), x2(k + 1|k), x3(k + 1|k), x4(k + 1|k)),

U [x(k + 1|k)] = P(k + 1|k),(112)

⎧⎨⎩

E[w(k + 1)] ∼ �(w1(k + 1), w2(k + 1), w3(k + 1), w4(k + 1)),

w(k + 1) = 0,

U [w(k + 1)] = R(k + 1),

(113)

{E[z(k + 1)] ∼ �(z1(k + 1), z2(k + 1), z3(k + 1), z4(k + 1)),

U [z(k + 1) − z(k + 1)] = S(k + 1),(114)

⎧⎨⎩

E[x(k + 1|k + 1)] ∼ �(x1(k + 1|k + 1), x2(k + 1|k + 1),

x3(k + 1|k + 1), x4(k + 1|k + 1)),

U [x(k + 1|k + 1)] = P(k + 1|k + 1).

(115)

The Kalman filter steps [16] are exactly the same as in the probabilistic case, because uncertainty matrix notation allowsan analog formulation. The only difference is the way in which the estimations are propagated through the models:

(a) Prediction:

xl (k + 1|k) = �(k)xl (k|k) + G(k + 1)u(k + 1) + vl (k + 1), (116)

P(k + 1|k) = �(k)P(k|k)�T(k) + Q(k + 1), (117)

where x(k|k) and v(k + 1) are independent.

zl (k + 1) = H(k + 1)xl (k + 1|k) + wl (k + 1), (118)

S(k + 1) = H(k + 1)P(k + 1|k)HT(k + 1) + R(k + 1), (119)

where x(k + 1|k) and w(k + 1) are independent.(b) Observation:

z(k + 1). (120)

(c) Matching: A possibilistic criterion to accept or reject the observation is

�Z(z(k + 1))�� (121)

for each component of z(k + 1), where � is a confidence value.(d) Correction:

xl (k + 1|k + 1) = [I − W(k + 1)H(k + 1)]xl (k + 1|k)

+W(k + 1)zl (k + 1), (122)

P(k + 1|k + 1) = [I − W(k + 1)H(k + 1)]P(k + 1|k)[I − W(k + 1)H(k + 1)]T

+W(k + 1)R(k + 1)WT(k + 1)

= P(k + 1|k) − W(k + 1)H(k + 1)P(k + 1|k)

−P(k + 1|k)HT(k + 1)WT(k + 1)

+W(k + 1)S(k + 1)WT(k + 1). (123)

We must remember that, in all the above operations involving propagation of possibility distributions, the sign of thederivatives must be taken into account.

To obtain the fuzzy Kalman gain W(k + 1) that minimizes this uncertainty P(k + 1|k + 1) we must calculate thesolution of

∇W(k+1)P(k + 1|k + 1) = 0, (124)

where

∇W(k+1)P(k + 1|k + 1) = −2P(k + 1|k)HT(k + 1) + 2W(k + 1)S(k + 1). (125)

Page 18: The Fuzzy Kalman Filter

2162 F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170

Fig. 19. Possibility distributions for x(4|4).

From this equation, the optimal gain is given by

W(k + 1) = P(k + 1|k)HT(k + 1)S−1(k + 1). (126)

This means that the estimation uncertainty can be simplified to

P(k + 1|k + 1) = P(k + 1|k) − W(k + 1)S(k + 1)WT(k + 1). (127)

or

P(k + 1|k + 1) = [I − W(k + 1)H(k + 1)]P(k + 1|k). (128)

Example 16. Suppose that a mobile robot is located at (Fig. 19)

x(4) =[

x(4)

y(4)

](129)

with

E[x(4|4)] ∼ �(0.173, 0.373, 0.673, 0.773), (130)

E[y(4|4)] ∼ �(0.283, 0.483, 0.783, 0.883), (131)

this means,

U [x(4|4)] = 0.019, (132)

U [y(4|4)] = 0.019. (133)

If we suppose that x(4|4) and y(4|4)) are independent, then

P(4|4) =[

0.019 00 0.019

]. (134)

The possible position of the robot can also be drawn from an upper view with two rectangles reflecting the possibleand impossible regions (Fig. 20):

To explain with a very simple example how the algorithm works, we will suppose that the robot is completely still,this means that the process model is defined by

�(4) = I, (135)

u(5) = 0, (136)

E[v(5)] ∼ �(0, 0, 0, 0), (137)

Q(5) = 0. (138)

Page 19: The Fuzzy Kalman Filter

F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170 2163

Fig. 20. Possible and impossible regions for x(4|4).

Fig. 21. Possibility distribution for w(5).

Fig. 22. Possibility distribution for z(5).

The sensor model is defined by a proximity sensor that is oriented in the y direction, with (Fig. 21)

H(5) = [0 1], (139)

E[w(5)] ∼ �(−0.233, −0.033, −0.033, 0.267), (140)

R(5) = 0.011. (141)

Supposing that the next observation is z(5) = 0.498, then the estimation at k = 5 is obtained by (Fig. 22)(a) Prediction:

E[x(5|4)] ∼ �(0.173, 0.373, 0.673, 0.773), (142)

E[y(5|4)] ∼ �(0.283, 0.483, 0.783, 0.883), (143)

P(5|4) =[

0.019 00 0.019

], (144)

zl(5) = H(5)xl (5|4) + wl(5) = yl(5|4) + wl(5), (145)

E[z(5)] ∼ �(0.05, 0.45, 0.75, 1.15), (146)

S(5) = H(5)P(5|4)HT(5) + R(5) = 0.030. (147)

(b) Observation:

z(5) = 0.498. (148)

Page 20: The Fuzzy Kalman Filter

2164 F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170

Fig. 23. Possibility distribution for y(5|5).

Fig. 24. Possible and impossible regions for x(5|5).

(c) Matching:

�Z(0.498) = 1. (149)

(d) Correction (Fig. 23):

W(5) = P(5|4)HT(5)S−1(5) =[

00.633

], (150)

xl (5|5) = [I − W(5)H(5)]xl (5|4) + W(5)z(5), (151)

E[x(5|5)] ∼ �(0.173, 0.373, 0.673, 0.773), (152)

E[y(5|5)] ∼ �(0.419, 0.492, 0.603, 0.639), (153)

P(5|5) = P(5|4) − W(5)S(5)WT(5) =[

0.019 00 0.007

]. (154)

We can see that the uncertainty of y decreases. Fig. 24 represents the estimation of the final position of the robot afteriteration k = 5.

6. Practical application

In practice, process and observation models are non-linear, and it is necessary to use an extended possibilistic filter.For the calculation of the estimations, the method of propagating the four points of the trapezoidal distributions is alsoused. But for the calculation of the uncertainty matrices, which are necessary to calculate the Kalman gain matrix, themethod of the dependency index obtained by linearization is employed, as has been explained already.

The extended filter steps follow:(a) Prediction:

xl (k + 1|k) = f(k + 1, xl (k|k), u(k + 1)) + vl (k + 1), (155)

P(k + 1|k) = �(k)P(k|k)�T(k) + Q(k + 1), (156)

zl (k + 1) = h(k + 1, xl (k + 1|k)) + wl (k + 1), (157)

S(k + 1) = H(k + 1)P(k + 1|k)HT(k + 1) + R(k + 1). (158)

Page 21: The Fuzzy Kalman Filter

F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170 2165

(b) Observation:

z(k + 1). (159)

(c) Matching:

�Z(z(k + 1))�� (160)

for each component of z(k + 1).(d) Correction:

xl (k + 1|k + 1) = [I − W(k + 1)H(k + 1)]xl (k + 1|k) + W(k + 1)zl (k + 1), (161)

P(k + 1|k + 1) = P(k + 1|k) − W(k + 1)S(k + 1)WT(k + 1), (162)

W(k + 1) = P(k + 1|k)HT(k + 1)S−1(k + 1). (163)

Of course, in this case, the estimation is not optimal, but suboptimal, as happens with the probabilistic version ofthe extended Kalman filter.

The following examples show the application of the extended possibilistic Kalman filter for the localization of amobile robot (B21 robot from iRobots company). The state vector is the oriented position of the robot,

x(k) =⎡⎣ x(k)

y(k)

�(k)

⎤⎦ (164)

the sensor is a laser telemeter (SICK LMS-200), while the process model is the robot odometry equation:⎡⎣ x(k + 1)

y(k + 1)

�(k + 1)

⎤⎦ =

⎡⎣ x(k)

y(k)

�(k)

⎤⎦+

⎡⎣ d(k) cos (�(k) + �(k)/2)

d(k) sin (�(k) + �(k)/2)

�(k)

⎤⎦ , (165)

where d(k) and �(k) are the drive and steer encoder incremental values, respectively, and

u(k) =[

d(k)

�(k)

]. (166)

Example 17. A first experiment reflects the simulation of the mobile robot following a straight line (y-axis), startingat

x(0) =⎡⎣ x(0)

y(0)

�(0)

⎤⎦ =

⎡⎣ 0

0�/2

⎤⎦ (167)

and localizing itself by using one landmark located at

xL =[

xL

yL

]=[

1010

]. (168)

The observation is the relative position of the landmark with respect to the robot:

z(k) =[

z1(k)

z2(k)

]=[

cos �(k) sin �(k)

− sin �(k) cos �(k)

]([xL

yL

]−[

x(k)

y(k)

]). (169)

Fig. 25 represents the evolution of the possibility distributions of the estimation components x(k|k), y(k|k) and �(k|k).

Page 22: The Fuzzy Kalman Filter

2166 F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170

0 10 20 30 40 50 60 70 80 90 100-0.4

-0.2

0

0.2

0.4X evolution

0 10 20 30 40 50 60 70 80 90 100-5

0

5

10Y evolution

0 10 20 30 40 50 60 70 80 90 1001.5

1.55

1.6

1.65Theta evolution

Fig. 25. Possibility distributions evolution.

Each graph shows the four points of the corresponding trapezoidal distribution. It is also possible to see that theprobabilistic estimation (central line), which was run in parallel, is always inside the possible region.

Fig. 26 shows the evolution of the uncertainty of the estimation components, U [x], U [y] and U [�], together withthe probabilistic variances �2

x , �2y and �2

�. The initial estimation of the position of the robot is

E[x(0|0)] ∼ �(−0.3, −0.2, 0.2, 0.3), (170)

E[y(0|0)] ∼ �(−0.3, −0.2, 0.2, 0.3), (171)

E[�(0|0)] ∼ �(�

2− 0.03,

2− 0.02,

2+ 0.02,

2+ 0.03

), (172)

while the estimated position of the landmarks is

E[xL] ∼ �(0.90, 9.94, 10.06, 10.10), (173)

E[yL] ∼ �(0.90, 9.94, 10.06, 10.10), (174)

E[�L] ∼ �(−0.010, −0.006, 0.006, 0.010). (175)

The experiment is simple, but the filter seems to work in an appropriate manner.

Example 18. The second experiment reflects a more complex simulation in which the same robot moves inside aroom, localizing itself by using three landmarks and three walls, represented as segments. This room is the same onein which the actual robot will move in the next experiment.

Page 23: The Fuzzy Kalman Filter

F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170 2167

0 10 20 30 40 50 60 70 80 90 1000

0.01

0.02

0.03X variance

0 10 20 30 40 50 60 70 80 90 1000

0.01

0.02

0.03Y variance

0 10 20 30 40 50 60 70 80 90 1000

2

4x 10-4 Theta variance

Fig. 26. Uncertainty evolution.

Fig. 27. Navigation with landmarks and segments.

Each segment is represented using the position of its middle point:

xS =⎡⎣ xS

yS

�S

⎤⎦ . (176)

Page 24: The Fuzzy Kalman Filter

2168 F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170

Fig. 28. URBANO tour-guide robot.

Now the robot observes both landmarks and segments. The observation of the latter is the relative distance and angleof the segment with respect to the robot:

z(k) =[

z1(k)

z2(k)

]=[

sin �S(k) − cos �S(k) 00 0 1

]⎛⎝⎡⎣ xS

yS

�S

⎤⎦−

⎡⎣ x(k)

y(k)

�(k)

⎤⎦⎞⎠ . (177)

Fig. 27 shows both the odometry and the estimated paths after having running for a while. Uncertainty is only shownfor x(k) and y(k) as a pair of rectangles which represent the possible and impossible regions.

Example 19. The third experiment was carried out with the actual robot, a mobile platform called URBANO, andused for tour guiding at museums and trade fairs (Fig. 28).

The experiment was performed at the UPM laboratory, and considers not only landmarks and segments, but alsoedges. All of them have a possibilistic position which was defined by a human being, who previously used a softwaretool especially designed for this purpose.

Page 25: The Fuzzy Kalman Filter

F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170 2169

The position of each edge has the form

xE =[

xE

yE

](178)

and, logically, each of them must correspond to a segment (wall). The same happens with landmarks, which are locatedat walls. The observation model is the same as the one used for landmarks.

7. Conclusion

A new fuzzy Kalman filter has been introduced which uses the classical extended Kalman filter equations, but is ableto manage possibilistic uncertainty. Its main difference compared with other Kalman filters commonly treated in theliterature which use fuzzy logic is that, in this proposed filter, fuzzy logic is included in the variable’s definition, byrepresenting their uncertainty using possibility distributions instead of Gaussian distributions. Hence, fuzzy variablesreplace random ones, and not as other authors do in replacing the process and observation equations by fuzzy rules.

Precisely, one main problem of the classical probabilistic estimation is derived from the use of Gaussian functions.In many cases, uncertainty is asymmetric, and additionally in others it is not probabilistic. Furthermore, linearizing anon-linear model and forcing the propagation to keep a Gaussian shape, produces accumulation of errors which canlead to inconsistencies in the filter when the number of iterations is very large.

On the other hand, new uncertainty measurements for possibility distributions are defined, equivalent to the variancematrix. This guarantees that the well-known Kalman filter equations can be managed in a very similar way, and thatthe optimal gain for the linear case is exactly the same as when using probability. The error due to the calculation of theuncertainty matrices is also reduced by obtaining the uncertainty directly from the propagated distributions. We leaveit open to the reader to use, in the fuzzy Kalman filter, the definition of mean value of a fuzzy number instead of itscenter of gravity.

Practical experiments have been carried out to test the theoretical results. Some of them have been implemented witha real mobile robot, resulting in excellent results. Experiments with the real robot have not shown any benefit of usingmore than two �-cuts. The experiments also show that, although the accuracy is not necessary to navigate properly, itcan also be achieved using fuzzy logic.

But in this article we do not state that this possibilistic filter will always yield better than the probabilistic one. Wesimply argue that we must choose between these different approaches depending on the available type of knowledgewhich describes our system. Clearly the possibilistic version makes more sense in applications where uncertaintyis managed in a qualitative manner. Some differences between the probabilistic and the possibilistic approaches areillustrated in Table 1.

Furthermore, the selection of one method does not exclude the other. In fact, both types of uncertainty representationcan be applied in parallel, as we have seen in the first experiment (see Example 17). Normally, probabilistic estimationshould always remain inside the possible region.

Table 1Comparison between approaches

Probabilistic Possibilistic

The area of the distribution is always one The area of the distribution changesDistribution shape is usually symmetric Distribution shape can be asymmetricObservation noise is estimated by experimentation Observation noise is estimated by approximationAn accurate model is needed, or a lot of measurements will berejected

Allows larger uncertainty in the models, that will be corrected bythe filter

It is a strict filter which rejects small errors It allows bigger errorsIt only accepts probable data It only rejects impossible dataThe initial state estimation should be coherent with the initialvariance matrix

The initial state estimation should be coherent with the initialpossible region

Page 26: The Fuzzy Kalman Filter

2170 F. Matía et al. / Fuzzy Sets and Systems 157 (2006) 2145 –2170

Acknowledgments

We deeply thank Mr. Andrés Feito for his detailed work, who spent more than one year programming the abovealgorithm, detecting and solving implementation problems, and testing everything in a robotic platform with successfulresults. We also want to thank the anonymous reviewers and the journal editors for their contribution improving thequality of the paper.

References

[1] C. Carlsson, R. Fullér, P. Majlender, On possibilistic correlation, Fuzzy Sets and Systems 155 (2005) 425–445.[2] R. Carrasco, A. Cipriano, R. Carelli, Nonlinear state estimation in mobile robots using a fuzzy observer, 16th IFAC World Congress, Prague,

Czech Republic, 2005.[3] G. Chen, J. Wang, L.S. Shieh, Interval Kalman filtering, IEEE Trans. Aerospace Electron Systems 33 (1) (1997) 251–259.[4] G. Chen, Q. Xie, L.S. Shieh, Fuzzy Kalman filtering, Inform. Sci. 109 (1998) 197–209.[5] D. Dubois, E. Kerre, R. Mesiar, H. Prade, Fuzzy interval analysis, in: D. Dubois, H. Prade (Eds.), Fundamentals of Fuzzy Sets, The Handbooks

of Fuzzy Sets Series, Kluwer, Dordrecht, 2000, pp. 483–581.[6] D. Dubois, H.T. Nguyen, H. Prade, Possibility theory, probability and fuzzy sets: misunderstandings, bridges and gaps, in: D. Dubois, H. Prade

(Eds.), Fundamentals of Fuzzy Sets, The Handbooks of Fuzzy Sets Series, Kluwer, Dordrecht, 2000, pp. 343–438.[7] D. Dubois, H. Prade, The mean value of a fuzzy number, Fuzzy Sets and Systems 24 (1987) 279–300.[8] D. Dubois, H. Prade, Possibility theory—An approach to computerized processing of uncertainty, Processing of Uncertainty, Plenum Press,

New York, 1988.[9] D. Dubois, H. Prade, When upper probabilities are possibility measures, Fuzzy Sets and Systems 49 (1992) 65–74.

[10] R. Fullér, P. Majlender, On weighted possibilistic mean and variance of fuzzy numbers, Fuzzy Sets and Systems 136 (2003) 363–374.[11] M. Hanss, Applied Fuzzy Arithmetics, Springer, Berlin, 2004.[12] S. Heilpern, The expected value of a fuzzy number, Fuzzy Sets and Systems 47 (1992) 81–87.[13] L. Jaulin, M. Kieffer, O. Didrit, E. Walter, Applied Interval Analysis, Springer, Berlin, 2001.[14] L. Jetto, S. Longhi, G. Venturini, Development and experimental validation of an adaptive extended Kalman filter for the localization of mobile

robot, IEEE Trans. Robotics Automat. 15 (1999) 219–229.[15] S.J. Julier, J.K. Uhlmann, A new extension of the Kalman filter to nonlinear systems, Proceedings of AeroScience: The 11th International

Symposium on Aerospace/Defence Sensing, Simulation and Controls, 1997.[16] R.E. Kalman, A new approach to linear filtering and prediction problems, Trans. ASME J. Basic Eng. (1960) 35–45.[17] K. Kobayashi, K.C. Cheok, K. Watanabe, Fuzzy logic rule-based Kalman filter for estimating true speed of a ground vehicle, Intell. Automat.

Soft Comput. 1 (1995) 179–190.[18] J.R. Layne, K.M. Passino, A fuzzy dynamic model based state estimator, Fuzzy Sets and Systems 122 (2001) 45–72.[19] D. Longo, G. Muscato, V. Sacco, Localization using fuzzy and Kalman filtering data fusion, Fifth International Conference on Climbing and

Walking Robots, CLAWAR 2002, Paris, France, 2002.[20] F. Matía,A. Jiménez, D. Rodríguez-Losada, B.M.Al-Hadithi,A novel fuzzy Kalman filter for mobile robots localization, Information Processing

and Management of Uncertainty in Knowledge-based Systems (IPMU), Perugia, Italia, 2004.[21] F. Matía, A. Jiménez, D. Rodríguez-Losada, Ramón Galán, B.M. Al-Hadithi, The possibilistic filter: an alternative approach for state estimation,

16th IFAC World Congress, Prague, Czech Republic, 2005.[22] M. Oussalah, J.D. Schutter, Possibilistic Kalman filtering for radar 2D tracking, Inform. Sci. 130 (2000) 85–107.[23] J.Z. Sasiadek, Q. Wang, Sensor fusion based on fuzzy Kalman filtering for autonomous robot vehicle, Proceedings of the IEEE International

Conference on Robotics and Automation, ICRA (1999).[24] D. Simon, Kalman filtering for discrete time dynamic systems, Appl. Soft Comput. 3 (2003) 191–207.[25] Z. Trajanoski, P. Wach, Fuzzy filter for state estimation of a glucoregulatory system, Comput. Methods Programs Biomed. 50 (1996) 265–273.[26] H.Q. Yang, Y. Hua, J.D. Jones, Calculating functions of fuzzy numbers, Fuzzy Sets and Systems 55 (1993) 273–283.[27] L.A. Zadeh, Fuzzy sets as a basis for a theory of possibility, Fuzzy Sets and Systems 1 (1978) 3–28.