Scientific Bulletin of the Petru Maior University o f Tirgu Mures [629745]

Scientific Bulletin of the Petru Maior University o f Tirgu Mures
Vol. 6 (XXIII), 2009
ISSN 1841-9267

Keywords: electron beam, deflecting system, simulation Mobile Robot Position Estimation Using the Kalman F ilter

Caius Suliman 1, Cristina Cruceru 1, Florin Moldoveanu 1
Transilvania University of Brasov, Department of Automati on, Eroilor. 29,
69121 Brasov, Romania
{caius.suliman, moldof }@unitbv.ro, [anonimizat]

Abstract
The Kalman filters have been widely used for
mobile robot navigation and system integration. So
that it may operate autonomously, a mobile robot mu st
know where it is. Accurate localization is a key
prerequisite for successful navigation in large-sca le
environments, particularly when global models are
used, such as maps, drawings, topological
descriptions, and CAD models. The objective of this
paper is to implement the Kalman filter (KF) and th e
extended Kalman Filter (EKF) for determining the
position of a mobile robot. Based on the results of the
study, from the figures can be seen that despite of the
errors present in measurements, the filters can per form
quite well in estimating, the robot's true position .

1. Introduction

Filtering is a very used method in engineering and
embedded systems. A good filtering algorithm can
reduce the noise from signals while retaining the u seful
information. The Kalman filter (KF) [12] is a
mathematical tool that can estimate the variables o f a
wide range of process. It estimates the states of a linear
system. This type of filter works very well in prac tice
and that is why it is often implemented in embedded
control system and because we need an accurate
estimate of the process variables. The KF has been
widely used for mobile robot navigation [3, 5, 6] a nd
system integration. So that it may operate
autonomously, a mobile robot must know where it is.
Accurate localization is a key perquisite for succe ssful
navigation in large-scale environments, particularl y
where global models are used. The KF has many
limitations and that is why many authors proposed
various fixes and modifications to better estimate the
process variables [7]. The extended Kalman filter (EKF) is a variation of
the standard KF to nonlinear systems. It works by
linearizing the nonlinear state dynamics and
measurement models. Like the KF, the EKF has been
successfully applied in the field of position estim ation
for mobile robots [2, 5, 8, 9, 11].One of the most
important applications of the EKF is an simultaneou s
localization and map building (SLAM) [10, 13]. Some
authors have even combined the EKF with fuzzy logic
for a better estimation of the robot’s position [1, 4].
In this paper we present the position estimation,
with the help of the KF and the EKF, for an
autonomous mobile robot based on Ackermann
steering. Here we provide a comparison of the
localization accuracy between the KF based
implementation and the EKF based implementation.

2. Kalman filter implementation

To model the robot position, we wish to know its x
and coordinates and its orientation. These three
param eters can be combined into a vector called a state y
vari able vector. The robot uses an overhead camera to
obtain the information about how far the robot has
traveled to calculate its position. These measureme nts
include a component of error. If trigonometry is us ed
to calculate the robot's position it can have a lar ge error
and can change significantly from frame to frame
depending on the measurement at the time. The
Kalman filter is a smarter way to integrate
measurement data into an estimate by recognising th at
measurements are noisy and that sometimes they
should be ignored or have only a small effect on th e
state estimate. It smooths out the effects of noise in the
state variable being estimated by incorporating mor e
information from reliable data than from unreliable
data. The user can tell the Kalman filter how much
noise there is in the system and it calculates an
estimate of the position taking the noise into acco unt.
75

It is less likely to incorporate one bad measuremen t if
the current position confidence is high.
For the KF implementation we have used the
kinematic model of an autonomous mobile robot based
on Ackermann steering (see figure 1). The mobile
robot is supposed to move in a 2D coordinate system .

Figure 1. Robot representation.

The kinematic equations for the mobile robot:
/g537cos /g152/g32 Vx /g6 , (1)
/g537sin /g152/g32 Vy /g6 , (2)
LV /g41/g152 /g32tan /g537/g6. (3)
Where V is the velocity of the robot, represents
the distance between the rear axel and front one, a nd
is the steering angle. L
/g41
/g187/g187/g187/g187/g187
/g188/g186
/g171/g171/g171/g171/g171
/g172/g170
/g41/g152/g152/g39 /g152/g152/g39/g14 /g152/g152/g39/g14
/g32
/g187/g187/g187
/g188/g186
/g171/g171/g171
/g172/g170
/g14/g14/g14
LVt Vt y Vt x
yx
kk
kkk
tan /g537sin /g537cos
/g537111
, (4)
Measurements are taken from an overhead camera,
and thus x, and can be measured directly: y/g537
),( kk k vxh z /g32 , (5)
where is a vector containing the state variables,
is a vector containing the measurement variables and
is the observation noise. kxkz
kv
The KF calculation steps are described below:
I.The prediction step:
1 1 1 ˆ ˆ /g16 /g16 /g16 /g16/g14 /g32 k k kk k uB xF x , (6)
1 1 /g16 /g16/g16/g14 /g32kT
k kk k Q FPF P , (7) where is the state transition model which is appli ed
to the previous state ; is the control-input
model which is applied to the control vector . kF
1ˆ/g16kx1/g16kB
1/g16ku
II.Observat ion:
/g16/g16 /g32 kk k k xHz y ˆ~, (8)
1 1 /g16 /g16/g16/g14 /g32kT
k kk k Q FPF P , (9)
where ky~ represents the innovation or measurement
residual; is the observation model which maps the
true state space into the observed space; represen ts
th e predicted ( a priori ) estimate covariance; is
the covariance of the process noise. kH
/g16
kP
1/g16kQ
III.Up date:
1/g16 /g16 /g32kT
k k k SHP K , (10)
kk k k yK x x ~ˆ ˆ /g14 /g32 /g16, (11)
/g16/g16/g32 kkk k PHKI P ) ( , (12)
where is the optimal kalman gain and is the
innovation (or residual) covariance. kKkS

3. The EKF implementation

Because of the nonlinear case that is encountered
here we also have used an EKF that linearizes the
current mean and covariance. The EKF has been
applied to the same robot model as the one used for the
KF case.
The EKF algorithm is described in the following:
I.The prediction step:
/g44)
00, , ˆ( ˆ1 1
/g32/g32/g16/g16
/g16/g16
kk k k
wu xf x , (13)
T
k kk T
k kk k WQW FPF P 1 1 /g16 /g16/g16/g14 /g32 , (14)
where is the Jacobian matrix of partial derivates of
with respect to and is the Jacobian matrix of
part ial derivates of with respect to . kW
fkw
fkF
kx
Now we need to calculate the Jacobians and
: kF
kW
/g187/g187/g187
/g188/g186
/g171/g171/g171
/g172/g170
/g152/g152/g16
/g32
1 00 /g537cos 10 /g537sin 01
vv
Fk, .
/g187/g187/g187
/g188/g186
/g171/g171/g171
/g172/g170
/g32
000 000 000
kW (15)
II.Observat ion and update:
In this step we need to compute the Kalman gain
: kK
76

1) (/g16 /g16 /g16/g14 /g32T
kkk T
kkk T
kk k VRV JPJJP K . (16)
Now, we need to compute the Jacobians and
: kJ
kV
/g187/g187/g187
/g188/g186
/g171/g171/g171
/g172/g170
/g32
100 010 001
kJ , ,
/g187/g187/g187
/g188/g186
/g171/g171/g171
/g172/g170
/g32
100 010 001
kV (17)
where is the Jacobian matrix of partial derivates of
with respect to and is is the Jacobian matrix
of part ial derivates of with respect to . kJ
hkxkV
hkv
The m easurement update equations are:
) ( ˆ ˆ HzK x x kk k k /g16 /g14 /g32 /g16, (18)
/g16/g16/g32 k kk k PJKI P ) ( . (19)

4. Simulation results

In this section of the paper we compare the results
obtained by simulating the KF case, with the ones
obtained from the EKF case. For this purpose both
filters were implemented in Matlab. We have
considered a very simple case: a robot that follows a
path obtained from the system model. In the figures it
is presented the estimated path of the robot compar ed
to the real path.

Figure 2. Trajectory estimation with the KF.

In figure 2 it is shown the path estimated with the
help of the KF, and in figure 3 is presented the pa th
estimated with the help of the EKF.

Figure 3. Trajectory estimation with the EKF.

Both filters performed very well, but it can be see n
that the EKF has performed better and as a result t he
estimated path with the help of this filter is clos er to
the real path. To better evaluate the performance o f the
two filters, we ploted the actual states and the
estimated ones for the entire simulation. For this
purpose we have ploted the estimated data for the X
axis and compared it to the real data (see figure 4 ).

Figure 4. Illustration of using the EKF and KF to e stimate
the position on the X axis.

We also ploted the estimated data for the Y axis
(see figure 5). In both plots it can be seen clearl y that
the EKF (green line) predicted path is closer to the real
path (blue line). At first the KF (red line) perfor med
almost as well as the EKF, but as the simulation
continued the errors of the KF were bigger than the
ones of the EKF. The difference between the
performance of the two filters can be seen above.
77

[3] Choi, B. S., Lee, J. J., "The Position Estimation of
Mobile Robot Under Dynamic Environment", Proceedings of
the 33rd Annual Conference of the IEEE Industrial
Electronics Society , Taipei, Taiwan, 2007, pp. 134-138.

[4] Choomuang, R., Afzulpurkar, N., "Hybrid Kalman
Filter/Fuzzy Logic based Position Control of Autono mous
Mobile Robot", International Journal of Advanced Robotic
Systems , IN-TECH, 2005, Vol. 2, No. 3, pp. 197-208.

[5] Freestone, L., "Applications of the Kalman Filt er
Algorithm to Robot Localisation and World Modelling ",
Technical Report, University of Newcastle , NSW, Australia
2002.

[6] Hu, C., Chen, W., Chen, Y., Liu, D., "Adaptive Kalman
filtering for vehicle navigation", Journal of Global
Positioning Systems , CPGPS, Calgary, Canada, 2003, Vol. 2,
No.1, pp.42-7. Figure 5. Illustration of using the EKF and KF to estimate
the position on the Y axis.
[7] Johnson, R., Sasiadek, J., Zalewski, J., "Kalman F ilter
Enhancement for UAV Navigation", Proceedings of the
International Symposium on Collaborative Technologi es and
Systems , Orlando, USA, Jan. 2003. 5. Conclusions

In this paper the standard Kalman filter and one of
the main variations of this filter, the extended Ka lman
filter, are used for the position estimation of an
autonomous mobile robot based on Ackermann
steering. Comparing the simulation results show tha t
the performance of the EKF is consistently better t han
the KF. In the future we will try to combine the fu zzy
logic with one of the filters presented in this pap er for
a better position estimation. Furthermore, we will use
the EKF in a visual based SLAM system, where the
camera calibration and corect feature detection play a
vital role in solving the data association problem.
[8] Kim, S. G., Crassidis, J. L., Cheng, Y., Fosbury, A. M.,
Junkins, J. L., "Kalman filtering for relative spac ecraft
attitude and position estimation" Journal of Guidance
Control and Dynamics , American Institute Of Aeronautics
and Astronautics, Jan. 2007, Vol. 30, No. 1 pp. 133 -143.

[9] Santana, A. M., Sousa, A. S. S., Britto, R. S., Alsina, P.
J., Medeiros, A. A. D., "Localization Of A Mobile R obot
Based In Odometry And Natural Landmarks Using Exten ded
Kalman Filter", Proceedings of the 5th International
Conference on Informatics in Control, Automation &
Robotics , Funchal-Madeira, Portugal, 2008.
Acknowledgement. Thi s paper is supported by the
Sectoral Operational Programme Human Resources
Development (SOP HRD), financed from the
European Social Fund and by the Romanian
Government under the contract number
POSDRU/6/1.5/S/6. [10] Sasiadek, J.Z. Monjazeb, A. Necsulescu, D.,
"Navigation of an autonomous mobile robot using EKF-
SLAM and FastSLAM", Proceedings of the 16th
Mediterranean Conference on Control and Automation ,
Ajjacio, France, 2008, pp. 517-522.

[11] Wang, L. C., Yong, L. S., Ang, M. H., "Mobile Robo t
Localisation for Indoor Environment", Technical Rep ort,
Singapore Institute of Manufacturing Technology , Singapore,
2002. 7. References

[1] Aguirre, E., González, A., Muñoz, R., "Mobile R obot
Map-Based Localization using approximate locations and the
Extended Kalman Filter", Proceedings of the 10th
International Conference on Information Processing and
Management of Uncertainty in Knowledge-Based System s ,
Perugia, Italy, 2004, pp. 191-198.
[12] Welch, G., Bishop, G., "An Introduction to the Kalman
Filter", Technical Report: TR95-041, University of North
Carolina , Chapel Hill, USA, 2006.

[13] Yuen, D. C. K., MacDonald, B. A., "A Compariso n
Between Extended Kalman Filtering and Sequential Mo nte
Carlo Techniques for Simultaneous Localization and Map-
building", Proceedings of the Australasian Conference on
Robotics and Automation , Auckland, Australia, Nov. 2002,
pp. 111-116.
[2] Casanova, O. L., Alfissima, F., Machaca, F. Y., "Robot
Position Tracking Using Kalman Filter", Proceedings of the
World Congress on Engineering , London, UK, July 2008,
pp. 1604-1608.
78

Similar Posts