Localization by Voronoi diagrams correlation
-
Upload
independent -
Category
Documents
-
view
1 -
download
0
Transcript of Localization by Voronoi diagrams correlation
Localization by Voronoi Diagrams Correlation
D.Blanco, B.L.Boada and L.Moreno
System Engineering and Automation Division.Carlos III University.
C/Butarque 15, 28911, Legan�es (Madrid), SPAIN.dblanco, bboada, [email protected]
Abstract
Sensor-based localization is one of the fundamentalproblems in mobile robots. In this paper we present anew technique for on-line robot localization in an a pri-ori known indoor environment. Our approach uses theLocal Voronoi Diagram (LVD), generated from a laserrange scan, to match it against the global Voronoi Di-
agram of the robot's workspace. The result from thisprocess is used to estimate the robot's position in themap or to correct the robot's odometry. Experimentswith real data will be presented to validate this algo-rithm.
1 Introduction
Mobile robots need to have the ability to determine
its position in the world to operate autonomously fol-
lowing a path between two points and to perform use-
ful tasks.
Mobile robot localization, the process of determin-
ing the position of a mobile robot relative to its en-
vironment, has received considerable attention over
the past few years. Many publications on localization
show the importance of this problem. An overview
can be found in [3], but it is not yet satisfactorily re-
solved.In the present time the mobile robot localiza-
tion is still an open question in robotics [10].
By position, we mean the vehicle's (x; y; �) con�g-
uration with respect to either a global or local coordi-
nate frame.
The �rst available source of information to localize a
robot is dead reckoning systems. They are incremental
positioning methods using odometry sensors to mea-
sure the distance covered by a vehicle. However, this
measurement drift with time so that the estimated po-
sition of the vehicle becomes increasingly poor, which
leads to unbounded position error. In order to correct
these cumulative errors, the vehicle must sense its en-
vironment and use this external and independent ref-
erence for periodically error reduction. Sensor based
localization is one of the most fundamental problems
when providing a mobile robot with autonomous ca-
pabilities.
Our work addresses the robot localization problem
by using laser range scans. Our purpose is to compare
sensed range data to a reference map in order to esti-
mate robot's position in an absolute coordinate frame.
We de�ne a matching algorithm which determines the
congruence between the Local Voronoi Diagram ex-
tracted from range data [2] and an a priori constructed
Voronoi Diagram of the robot's workspace.
The localization process described in this paper is
directed to be used in a particular application. We are
developing a mobile manipulator, �gure 1, to collabo-
rate with human operator in material handling. Our
robot is not required to be fully autonomous. The hu-
man operator is in charge of path planning and robot
guiding. We are interested to provide some auton-
omy to the mobile manipulator to anticipate to some
situations into its current local environment (such as
doorways, corridors, corners, ...)and local path plan-
ning for helping task execution. This is because a lo-
calization process is necessary. However it is not nec-
essary a very accurate localization because the robot
only needs to know where it is in a approximate way.
We use the Local Voronoi Diagram for robot localiza-
tion because this workspace representation is also used
for local path planning in our system.
2 State of the art
Many researchers have proposed localization tech-
niques for mobile robots. These techniques can be
Figure 1: Experimental Platform. Mobile Manipulator
broadly classi�ed into the following two categories ac-
cording to their objective:
� Local approaches: The objective is to correct the
odometric error based on sensor data. The ini-
tial location of the robot must be known. These
techniques are only capable of tracking the robot
location. Most of the existing localization ap-
proaches fall into this category.
� Global approaches: They can determine the robot's
localization without knowledge of the initial lo-
cation.
According to the method used, the perception-based
localization techniques for indoor environments can be
roughly divided into landmarks based systems or map
based systems.
2.1 Landmarks based systems
These methods require external absolute references
in order to estimate the position. In some cases, the
pose of the robot is estimated by measuring the di-
rection of incidence or the distances to several signals
transmitted or re ected by arti�cial beacons placed in
a priori known locations in the environment, see chap-
ter 15 in [7].
Other approaches rely on detecting natural or arti-
�cial landmarks. The use of these landmarks requires
solving the object recognition problem. In the �rst
case, the system must recognize structures within a
robot's environment which can serve as landmarks,
for example, vertical structures such as door posts and
poles, large planes, geometric beacons or regions classi-
�ed by type (corridor, intersection, doorway, room); in
some cases this natural landmarks are compared with
an priori known map,or with a global map, previously
extracted during a learning phase [14], [13]. Recogniz-
ing natural landmarks is not always easy due to noise
or ambient conditions which di�cults the sensor infor-
mation interpretation. Arti�cial landmarks, designed
and located especially, are more easily detected [1].
Their disadvantage is that the environment must be
modi�ed. Many di�erent types of beacons have been
proposed: bar-code, spot mark, LED panels, circles on
walls, cones, etc...
There have been many e�orts to use high level ar-
ti�cial vision techniques to detect landmarks, partic-
ularly stereo vision. However, vision systems involve
large computational cost.
2.2 Map based systems
A key step in the map based process of localization
involves matching the sensor data, collected from the
local environment, with some established map which
models the workspace.
Matching a priori models with 2D scene images is
possible if the robot is equipped with a vision system
[6]. Due to the enormous computational requirements
when using image data, using two-dimensional laser
range scans has also been proposed. For example in
[5], his approach determines the congruence between
the range data and a 2D map of robot's environment.
Often the occupancy grid maps have been use for
robot localization. In [11] and [12] a local grid map
is matched against a global reference map directly or
by correlation of extracted grip map features. In other
works, [4], probabilistic methods has been applied with
grip maps.
Some topological localization approaches have been
developed. In [8], localization is done by matching
meet points (points where several GVG edges meet).
This paper proposes a localization algorithm based
on matching a local perception map against a global
reference map, therefore it falls into the map based
systems. As we will explained, this technique can be
used for local or global localization.
3 LVD construction
An object in the environment is represented by a
set of points which are supplied directly from the laser
sensor. For each point in the plane, it is necessary to
compute the minimum distance to each set of gener-
ators. Our approach involves discretizing the visible
area.
The algorithm to construct the LVD on the visible
region has the followings steps:
1. Scan points are grouped in sets, which are called
clusters.
2. Visible region on the plane is discretized with
suitable resolution.
3. For each cell, its ownership to Voronoi regions
generated by obstacles is evaluated. Cells equidis-
tant to two objects are labeled as Voronoi edges.
The results presented in �gure 2 show the Voronoi
Diagram obtained in the visible region around the laser
scanner of with 2cm cell resolution.
Figure 2: Local Voronoi Diagram
(Computing time: 1886ms; dmax: 6m)
4 Voronoi DiagramsMatching Algorithm
The robot builds a Local Voronoi Diagram from
laser scan data as we explained in the previous section.
The global reference Voronoi diagram is built from a
geometrical representation of the workspace and it is
stored in memory.
Both local and global reference maps are grid rep-
resentations of the Voronoi Diagrams of the environ-
ment. Our approach consists of a template matching
technique of maximum correlation, i.e. for each tested
pose in the search space, the match process counts the
number of agreements between both maps. This algo-
rithm is based on template matching and correlation
techniques used for image processing [9].
The search space, in which our algorithm works,
corresponds to a three dimensional space with axes
x, y and �. The x, y axes are discretized with the
same resolution for both local and reference Voronoi
Diagrams, and the � axe is sampled with a chosen
resolution.
We generate a global map representing the Voronoi
Diagram of the environment. This reference map is
divided into pose cells with the same resolution with
which the LVD is constructed, from laser range data.
The maps are represented as bi-level images. The cells
which belong to the Voronoi Diagram edges and nodes
have value one, and the rest of the cells have value
zero. The matching process moves the Local Voronoi
Diagram to all possible positions into the reference
Voronoi Diagram map and computes a numerical in-
dex that indicates the agreement.
To compute that correlation numerical index, the
LVD map is aligned with the global map according to
the test pose currently being processed by the search.
Instead of comparing all cells, we only take into ac-
count cells with value one on the local map. For each
one of these cells the corresponding cell of the global
map is evaluated. If this cell value is one the cor-
relation index is increased by one, in other case the
correlation index is left unchanged. In this way, we
only evaluate the edge cells agreements. To normalize
this index, these correlation index is divided by the
total number of cells with value one in the local map.
A perfect match would yield a correlation index with
value 1, and in the worse case the value will be 0.
Therefore, the correlation numerical index is com-
puted by the following algorithm:
forall (Mlocal[i][j]==1) fntotal++;if(Mglobal[i+s][j+t]==1)
c[s][t]++;g
correlation index[s][t]=c[s][t]ntotal
;
The maximum value of correlation index gives the
most probable position. When the local map has its
(0,0) pixel placed over the (s,t) pixel of the global map
corresponding to the maximum correlation index, the
more alike they are.
The match process involves a search in all of the
possible rotation o�sets. For each test pose the local
map is rotated. The rotation angle varies around the
odometric heading estimated for the robot. The an-
gular sampling parameter is chosen accordingly to the
required precision. The rotated local map is used to
compute the correlation numerical index.
5 Experimental Results
Our algorithm was tested with real data from two
di�erent environments. Our mobile robot manipulator
(see �gure 1) is equipped with a laser scanner mounted
on the robot platform to collect range scans from the
environment.The laser sensor has a viewing angle of
360 degrees. However the clear angle of scan when it
is mounted on the robot is limited to 180 degrees pro-
viding 361 measurements each scan, with a 0.5 degrees
angular resolution.The algorithm has been tested on a
Pentium II at 350MHz.
The environments in which the experiments were
carried out are structured indoor environments: the
�rst one is formed by a hall with open doors leading
to other rooms and obstacles, measuring roughly 14x20
m.; and the second one is a corridor, 60m. large and
5m. width, with various opened doors and two halls.
There is no recourse to passive or active beacons placed
in the environment.
5.1 Global Localization
The �rst experiment, the correlation is performed
over all possible pose into the reference map and the
best matches which appear to be valid, evaluating the
match score, are retained. The results are presented
in �gures 3, 4 and 5.
Figure 3: First environment(Computing time: 1249ms)
We used a medium-grained discretization of the space.
The cell resolution has been setting up 10cm to keep
Figure 4: Second environment(Computing time: 5036ms)
the processing time reduced. These experiments have
been carried out without angular search, i.e. we sup-
pose the robot is aligned with the map. This is be-
cause of the high processing time necessary to com-
pute the correlation index in all possible poses with
angular search. If we search in �10� around the es-
timated heading, the global localization process can
reach more than 60s. Because of this high comput-
ing time, the localization process has not been applied
to the heading global localization. Computing time
is environment size dependent. In the �rst workspace
the computing time is about 1 second, and while the
second one reaches 7 seconds.
The algorithm correctly determines the robot's po-
sition in the environment with a reasonable small er-
ror. Our experiments demonstrate that we can deter-
mine the robot's position with an error less than 20cm:
in x and y directions in most of the cases. This error is
twice the cell size. The processing time is determinate
Figure 5: Second environment(Computing time: 7263ms)
by workspace dimension and by discretization resolu-
tion. In our experiments a global localization takes
around 60s seconds in environments about 300m2.
Many o�ce environments present ambiguous situ-
ations, i.e. from di�erent positions in the global map
the laser scan will provide a very similar Local Voronoi
Diagrams, as it occurs in our second test environ-
ment. As �gure 5 shows, localization algorithm pro-
vides some possible solutions with a similar correlation
index. Represented by crosses. In these cases, an er-
roneous localization is very probable .
5.2 Local Localization
Global localization process only considers one infor-
mation source, the laser range data. We can take into
account the position estimated by odometry to reduce
processing time and to eliminate ambiguities.
To reduce the computing time, the search space can
be restricted around the robot's approximated posi-
tion provided by odometry. Moreover, our knowledge
of the approximated robot's position allows us to dis-
tinguish among various possible solutions provided by
localization algorithm when the robot is in an ambigu-
ous situation.
In the second designed experiment, the odometric
estimated position is read at each range sample .The
match process only considers possible positions to the
Local Voronoi Diagram in the reference Voronoi Dia-
gram around this current estimation. The processing
time is highly reduced. We have checked computing
timing around 300ms when reducing space search to
4� 4m2 area, without heading estimation.
Using local localization process ambiguities, as �g-
ure 5 shows, can be absolutely eliminated.
Figure 6 shows the result of applying local local-
ization process with angular search. The estimated
heading provided by odometry is 10� and the heading
estimated by our algorithm is 13�. The total process-
ing time with angular search is around 10s in this en-
vironment if the search is restricted to �2m in the x
and y axes and �5� in rotation.
Figure 6: Local Localization with angular search
(Computing time: 10 s)
6 Summary and Conclusions
This paper described a new position estimation sys-
tem for robot localization in indoor environments. The
approach presented is based on the use of Voronoi Di-
agrams as features of environments. A very simple
matching algorithm to �nd the best correlation has
been developed. The correlation function is inspired
by template matching techniques frequently used in
image processing.
The precision of the algorithm is limited by the cell
resolution in the grid map representations. The esti-
mation error can be reduced by decreasing the cell size
at expense of increasing the processing time.
The computing time is also dependent of the global
workspace size. To reduce this time a local localization
process is proposed. This process takes account of the
estimated position by odometry reducing the search
space into the match algorithm. The small number of
points to be compared in the matching process helps to
keep the processing time small in the local localization
process. On the other hand, this local process allows
us to avoid ambiguities in environments with many
symmetries.
Only a small number of localization methods are
capable of localizing a robot without knowledge of its
initial position. Our approach is capable of both local
and global localization.
Despite our algorithm is still a bit slow for continu-
ous localization, it is appropriate for our application.
We do not need a very fast algorithm because the robot
is guided by a human operator. The system only uses
the localization process in some particular situations:
when an error in position is detected or when it is nec-
essary to anticipate some environment's feature (door,
corner, corridor). In all other situations the robot nav-
igates using odometry and following human operator.
Acknowledgments
The authors gratefully acknowledge the funds pro-
vided by the Spanish Government through the CI-
CYT project TAP97-0296. Further, we thank Angela
Nombela for her assistance.
References
[1] J. M. Armingol Moreno. Localizaci�on de RobotsM�oviles Aut�onomos. PhD thesis, Universidad
Carlos III de Madrid, 1997.
[2] D. Blanco, B.L. Boada, L. Moreno, and M.A.
Salichs. Local Mapping from On-line Laser
Voronoi Extraction. In Proc. IEEE/RSJ Int.
Conference on Intelligent Robots and Systems,pages { To appear, 2000.
[3] J. Borenstein, B. Everett, and L. Feng. NavigatingMobile Robots: Systems and Techniques. A. K.
Peters, Ltd., Wellesley, MA, 1996.
[4] W. Burgard, A. Derr, D. Fox, and A.B. Cre-
mers. Integrating Global Position Estimation and
Position Tracking for Mobile Robots: The Dy-
namic Markow Localization Approach. In Proc.IEEE/RSJ Intl. Conf. On Intelligent Robots andSystems, pages 730{735, Victoria, Canada, 1998.
[5] I. J. Cox. Blanche: Position Estimation for
an Autonomous Robot Vehicle. In IEEE/RSJInt. Workshop on Intelligent Robots and Systems,pages 432{439. IEEE, 1989.
[6] A. Escalera, L. Moreno, M.A. Salichs, and J.M.
Armingol. Continous mobile robot localization by
using structurd light and a geometric map. Int.Journal of Systems Science, 27:771{782, 1996.
[7] H.R. Everett. Sensors for Mobile Robots : Theoryand Application. Wellesley : AK Peters, 1995.
[8] K. Nagatani and H. Choset. Toward Robust Sen-
sor Based Exploration by Constructing Reduced
Generalized Voronoi Graph. In Proc. IEEE/RSJInt. Conf. On Intelligent Robots and Systems,pages 1687{1698, Kyongju, Korea, 1999.
[9] J. R. Parker. Practical Computer Vision Using"C". John Wiley and sons, Inc., 1994.
[10] M. A. Salichs and L. Moreno. Navigation of mo-
bile robots: Open questions. Robotica, 18:227{234, 2000.
[11] B. Schiele and J. Crowley. A comparison of posi-
tion estimation techniques using occupancy grids.
In Proc. IEEE Int. Conf. On Robotics and Au-tomation, 1994.
[12] A. Schultz, W. Adams, and B. Yamauchi. In-
tegrating Exploration, Localization, Navigation
and Planning with a Common Representation.
Autonomous Robots, 6:293{308, 1999.
[13] P.E. Trahanias, S. Velissaris, and S.C. Or-
phanoudakis. Visual Recognition of Workspace
Landmarks for Topological Navigation. Au-tonomous Robots, 7:143{158, 1999.
[14] O. Wijk and H. I. Christensen. Localization and
navigation of a mobile robot using natural point
landmarks extracted from sonar data. Roboticsand Autonomous Systems, 31:31{42, 2000.