Localization by Voronoi diagrams correlation

6

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

jjaeone
Proceedings of the 2001 IEEE International Conference on Robotics & Automation Seoul, Korea 匀 May 21-26, 2001
jjaeone
0-7803-6475-9/01/$10.00 © 2001 IEEE
jjaeone
4232

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.

jjaeone
4233

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.

jjaeone
4234

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

jjaeone
4235

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)

jjaeone
4236

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.

jjaeone
4237