the object is outside the image plane, the best predic-
tion is given by steady-state filters (αβ/αβγ depend-
ing on the object’s dynamics: velocity−acceleration).
Obviously, considering more filters and more be-
haviour cases, FKF can be improved but computa-
tional cost of additional considerations can be a prob-
lem in real-time execution. These five filters are con-
sidered by authors as the best consideration (solu-
tion taking into account the prediction quality and the
computational cost). This is the reason to combine
these five filters to obtain the FKF.
This paper is focused on the new FKF filter and
is structured as follows: in section 2 we present the
considered dynamics, the considered dynamics is a
Jerk model with adaptable parameters obtained by
KFs (Nomura and T., 2000), (Li and Jilkov, 2000)
and (Mehrotra and Mahapatra, 1997). In section 3,
we present the block diagram for the visual servo-
ing task. This block diagram is widely used in sev-
eral works like (Corke, 1998) or (Chroust and Vincze,
2003). Section 4 presents the basic idea applied in our
case (see (Wang, 1997b) and (Wang, 1997a)), but the
main work done is focused in one of the blocks de-
scribed in section 3, the Fuzzy Kalman Filter (FKF)
is described in section 5.
In section 6, we can see the results with simulated
data. These results show that FKF can be used to im-
prove the high speed visual servoing tasks. This sec-
tion is organized in two parts: in the first one (Sub-
section 6.1), the analysis of the FKF behaviour is fo-
cussed and in the second one (Subsection 6.2) their
results are compared those with achieved by Chroust
and Vince (Chroust and Vincze, 2003) and with CPA
(Tenne and Singh, 2002) algorithm (algorithm used
for aeronautic/aerospace applications). Conclusions
and future work are presented in section 7.
2 THE DYNAMICS OF A MOVING
OBJECT
The object’s movement is not known (a priori) in
a general visual servoing scheme. Therefore, it is
treated as an stochastic disturbance justifying the use
of a KF as a stochastic observer. The KF algorithm
presented by Kalman (Kalman, 1960) starts with the
system description given by 1 and 2.
x
k+1
= F · x
k
+ G· ξ
k
(1)
y
k
= C· x
k
+ N · η
k
(2)
where x
k
∈ ℜ
nx1
is the state vector and y
k
∈ ℜ
mx1
is
the output vector. The matrix F ∈ ℜ
nxm
is the so-
called system matrix witch describes the propagation
of the state from k to k + 1 and C ∈ ℜ
mxn
describes
the way in which the measurement is generated out of
the state x
k
. In our case of visual servoing m is 1 (be-
cause only the position is measured) and n = 4. The
matrix G ∈ ℜ
nx1
distributes the system noise ξ
k
to the
states and η
k
is the measurement noise. In the KF the
noise sequences η
k
and ξ
k
are assumed to be gaussian,
white and uncorrelated. The covariance matrices of
ξ
k
and η
k
are Q and R respectively (these expressions
consider 1D movement). A basic explanation for the
assumed gaussian white noise sequences is given in
(Maybeck, 1982).
In the general case of tracking, the usual model
considered is a constant acceleration model (Chroust
and Vincze, 2003), but in our case, we consider a con-
stant jerk model described by matrices F and C are:
F =
1 T T
2
/2 T
3
/6
0 1 T T
2
/2
0 0 1 T
0 0 0 1
;C =
1 0 0 0
where T is the sampling time. This model is called a
constant jerk model because it assumes that the jerk
(dx
3
(t)/dt
3
) is constant between two sampling in-
stants.
F and C matrices are obtained from expression 3 to 7:
a− a
i
t − t
i
=
∆a
∆t
= J
0
(3)
x(t) = x
i
+ v
i
(t − t
i
) +
1
2
a
i
(t − t
i
)
2
+
1
6
J
i
(t − t
i
)
3
(4)
v(t) = v
i
+ a
i
(t − t
i
) +
1
2
J
0
(t − t
i
)
2
(5)
a(t) = a
i
+ J
0
(t − t
i
) (6)
J(t) = J
0
(7)
where, x is the position, v is the velocity, a is the ac-
celeration and J is the jerk. So the relation between
them is:
x(t) = f(t); ˙x(t) = v(t); ¨x(t) = a(t);
...
x
(t) = J(t)
3 DESCRIPTION OF THE
CONTROL SYSTEM
The main objective of the visual servoing is to bring
the target to a position of the image plane and to keep
it there for any object’s movement. In figure 1 we
can see the visual control loop presented by Corke in
(Corke, 1998). The block diagram can be used for a
moving camera and for a fixed camera controlling the
motion of a robot. Corke use a KF to incorporate a
feed-forward structure. We incorporate the FKF algo-
rithm in the same structure (see figure 2) but reorder-
ing the blocks for an easier comprehension.
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
134