10
Acoustic robot navigation using distributed microphone arrays Qing Hua Wang, Teodor Ivanov, Parham Aarabi * Electrical and Computer Engineering, University of Toronto, 10 Kings College Road, Toronto, Canada M5S3G4 Received 22 July 2003; received in revised form 15 October 2003; accepted 15 October 2003 Abstract This paper presents a method for the navigation of a mobile robot using sound localization in the context of a robotic lab tour guide. Sound localization, which is achieved using an array of 24 microphones distributed on two walls of the lab, is performed whenever the robot speaks as part of the tour. The SRP-PHAT sound localization algorithm is used to estimate the current location of the robot using approximately 2 s of recorded signal. Navigation is achieved using several stops during which the estimated location of the robot is used to make course adjustments. Experiments using the acoustic robot navigation system illustrate the accuracy of the proposed technique, which resulted in an average localization error of about 7 cm close to the array and 30 cm far away from the array. Ó 2003 Elsevier B.V. All rights reserved. Keywords: Robot navigation; Sound localization; Microphone arrays 1. Introduction Numerous applications exist for mobile robots capable of exploring and navigating through their environment. They can be deployed in hazardous envi- ronments like mines and chemically contaminated buildings, which are too dangerous for human intrusion. They can and have been used in the exploration of new or otherwise inaccessible environments like other plan- ets. They can also be used in tasks such as conducting guided tours of museums or laboratories. All of these applications rely heavily on an accurate navigation system, which in turn requires accurate estimations of the position of the robot. Once this information is known, it is possible to plot a path between two or more points, or even to find a course for an articulated robot in a tightly spaced environment [17]. A wide variety of robot localization algorithms have been explored in the past. A commonly applied method makes use of electromagnetic beacons, which are de- tected by the robot and used for localization [15,18]. A robot localization technique that utilized environ- mental landmarks was discussed by [19]. This system required bearing measurements from the robot to three or more landmarks in order to perform robot localiza- tion. Additional hardware, such as unspecified bearing sensors were required to localize the robot from land- mark information. Vision-based localization represents another com- monly applied solution to the problem. One such example is the technique of [6], which used cameras mounted on the robot to capture landmark images and compared them to a prior landmark map. The tech- niques of [9,11] present two other examples of vision- based robot localization. The technique used by [9] took brightness measurements of the ceiling using a vertically mounted camera, knowledge of the robot’s motion, and a base map of the entire environment’s ceiling brightness in order to calculate the robot’s position. The vision- based technique proposed by [11] used a neural network trained with a set of sample images in the environment in order to determine the robot’s position from camera images. A similar technique involving visual landmarks proposed by [20] combines the benefits of vision-based and landmark-based localization. Each of these vision- based localization methods brings certain solutions to the robot localization problem, but all require addi- tional computation and hardware onboard the robot. The ultrasonic sensor-based localization method presented by [12] employed a set of ultrasonic sensors in a ring configuration to create a map of the environment, which was then compared with a prior environment * Corresponding author. Tel.: +1-416-9467893; fax: +1-416- 9784425. E-mail address: [email protected] (P. Aarabi). 1566-2535/$ - see front matter Ó 2003 Elsevier B.V. All rights reserved. doi:10.1016/j.inffus.2003.10.002 Information Fusion 5 (2004) 131–140 www.elsevier.com/locate/inffus

Acoustic robot navigation using distributed microphone arrays

Embed Size (px)

Citation preview

Information Fusion 5 (2004) 131–140

www.elsevier.com/locate/inffus

Acoustic robot navigation using distributed microphone arrays

Qing Hua Wang, Teodor Ivanov, Parham Aarabi *

Electrical and Computer Engineering, University of Toronto, 10 Kings College Road, Toronto, Canada M5S3G4

Received 22 July 2003; received in revised form 15 October 2003; accepted 15 October 2003

Abstract

This paper presents a method for the navigation of a mobile robot using sound localization in the context of a robotic lab tour

guide. Sound localization, which is achieved using an array of 24 microphones distributed on two walls of the lab, is performed

whenever the robot speaks as part of the tour. The SRP-PHAT sound localization algorithm is used to estimate the current location

of the robot using approximately 2 s of recorded signal. Navigation is achieved using several stops during which the estimated

location of the robot is used to make course adjustments. Experiments using the acoustic robot navigation system illustrate the

accuracy of the proposed technique, which resulted in an average localization error of about 7 cm close to the array and 30 cm far

away from the array.

� 2003 Elsevier B.V. All rights reserved.

Keywords: Robot navigation; Sound localization; Microphone arrays

1. Introduction

Numerous applications exist for mobile robots

capable of exploring and navigating through their

environment. They can be deployed in hazardous envi-ronments like mines and chemically contaminated

buildings, which are too dangerous for human intrusion.

They can and have been used in the exploration of new

or otherwise inaccessible environments like other plan-

ets. They can also be used in tasks such as conducting

guided tours of museums or laboratories. All of these

applications rely heavily on an accurate navigation

system, which in turn requires accurate estimations ofthe position of the robot. Once this information is

known, it is possible to plot a path between two or more

points, or even to find a course for an articulated robot

in a tightly spaced environment [17].

A wide variety of robot localization algorithms have

been explored in the past. A commonly applied method

makes use of electromagnetic beacons, which are de-

tected by the robot and used for localization [15,18].A robot localization technique that utilized environ-

mental landmarks was discussed by [19]. This system

required bearing measurements from the robot to three

*Corresponding author. Tel.: +1-416-9467893; fax: +1-416-

9784425.

E-mail address: [email protected] (P. Aarabi).

1566-2535/$ - see front matter � 2003 Elsevier B.V. All rights reserved.

doi:10.1016/j.inffus.2003.10.002

or more landmarks in order to perform robot localiza-

tion. Additional hardware, such as unspecified bearing

sensors were required to localize the robot from land-

mark information.

Vision-based localization represents another com-monly applied solution to the problem. One such

example is the technique of [6], which used cameras

mounted on the robot to capture landmark images and

compared them to a prior landmark map. The tech-

niques of [9,11] present two other examples of vision-

based robot localization. The technique used by [9] took

brightness measurements of the ceiling using a vertically

mounted camera, knowledge of the robot’s motion, anda base map of the entire environment’s ceiling brightness

in order to calculate the robot’s position. The vision-

based technique proposed by [11] used a neural network

trained with a set of sample images in the environment

in order to determine the robot’s position from camera

images. A similar technique involving visual landmarks

proposed by [20] combines the benefits of vision-based

and landmark-based localization. Each of these vision-based localization methods brings certain solutions to

the robot localization problem, but all require addi-

tional computation and hardware onboard the robot.

The ultrasonic sensor-based localization method

presented by [12] employed a set of ultrasonic sensors in

a ring configuration to create a map of the environment,

which was then compared with a prior environment

Fig. 1. The modified four-speaker system on the robot.

132 Q.H. Wang et al. / Information Fusion 5 (2004) 131–140

map. As mentioned in [12], this technique did not pro-vide a very accurate localization system, but offered a

simple and cost effective one. Nevertheless, it required

16 onboard ultrasonic sensors.

Often, more than one type of sensory modality can

provide complementary information to improve the

robot’s localization accuracy and robustness, as in the

camera and laser range-finder method presented by [16].

A panoramic view of the room is obtained from thecamera, and vertical landmarks such as walls, pillars, or

doors, are found by an edge-finding filter. The range

finder is used to limit the possibilities for the vertical

landmarks. In [8] a solution was presented using an

omnidirectional vision system and a laser range finder.

A similar technique presented by Aldon and Le Bris [5]

used a laser, called a light stripe sensor, that projected

certain light stripes on objects ahead of the robot. Acamera obtained the projected image and the image was

compared to prior knowledge of the landmarks. This

resulted in less than 3 cm error for distances less than

3 m from the observed landmarks, but the localization

results become worse as the robot moved away from

the landmarks.

In this paper, a robot localization system using sound

is presented in the context of a robotic lab tour guideapplication. Sound source localization is advantageous

since it does not require any additional hardware on the

robot except the speech synthesizer and speaker system

required for the lab tour. Furthermore, no additional

power is consumed by the localization, since the sound

needed for the localization is embedded in the context

and for the purpose of the tour.

The speech sounds produced by the robot are re-corded using an array of 24 microphones and localized

using the time differences of arrival (TDOA) between all

microphone pairs.

This paper will first discuss the setup of the system

used in this project in Section 2. The sound localization

algorithm will then be explained in Section 3, followed

by the navigation algorithm in Section 4. Section 5 will

describe the algorithm used to detect and avoid obsta-cles.

Fig. 2. The main physical features of the robot.

2. System overview

The robot used in this project is a modified model of

the Trilobot, a mobile research robot manufactured by

Arrick Robotics. The behaviour of the robot is con-

trolled by an onboard Intel 8032 microprocessor. Two

DC gear motors are used to drive the robot, and optical

break-beam encoders are positioned over each motor to

monitor the distance and position of each motor. The

motors are attached to wheels made of dense rubber.Since the motors are independently controlled, the robot

can move straight, rotate on the spot, or move in an arc.

The full complement of the sensor systems of therobot is not employed in this project, but the �whis-kers’––conductive metal wires that come in contact with

a metal bracket when bent and thus act as touch sen-

sors––and the optical encoders were used to detect col-

lisions with obstacles. The robot is equipped with a

speech synthesizer, which was extensively used during

sound localization. The speech is played by a set of four

speakers attached at a height of 1.6 m to an addedaluminum support structure. The main physical features

of the robot are shown in Figs. 1 and 2.

The goal of the project is for the robot to deliver a

guided tour of the laboratory in which it resides. The

tour consists of a series of �stations’ that the robot visitsin sequence. At each station, the robot stops to give a

description of the features of the lab at that location.

Certain physical limitations (i.e. friction, unequal per-

Microphones

0.2m

Walls

(0,0)x-direction

y-di

rect

ion

Fig. 4. Setup of the localization area, coordinate system, and locations

of the microphones.

Fig. 5. The microphone array and part of the localization area in the

lab.

Q.H. Wang et al. / Information Fusion 5 (2004) 131–140 133

formance between the two motors, extra load from theadded speaker support structure, etc.) cause the course

of the robot to deviate for trips longer than approxi-

mately 1 m. These limitations also hamper rotations:

the robot often does not turn the exact angle intended.

When traveling between stations, the robot makes

several �steps’ to adjust its path in order to reduce these

effects. At each step, the robot speaks a sentence and the

microphone array in the room localizes its position. Therobot control program then recalculates the trajectory

towards the next station by taking into consideration

the newly localized coordinates and the previous co-

ordinates of the robot.

The lab in which the robot gives tours is approxi-

mately 12 m · 6 m in size, with a mixture of wall types

that resulted in an approximate reverberation time of

0.1 s. An array of 24 microphones is located across twowalls in the upper half of the room, as shown in Fig. 3.

The stations on the tour are all located within a 6 m · 4m area in front of the array, indicated by the dotted

rectangle in Fig. 3. The locations of the microphones

and the setup of the coordinate system that was used are

shown in Fig. 4, and the microphone array and part of

the localization are in the lab are shown in Fig. 5.

The tasks of navigating the robot and localizing itsposition are accomplished by two different programs

running on separate PC computers. This arrangement is

for accommodating the hardware setup: the microphone

array and its associated processing hardware is con-

Fig. 3. Map of the laboratory. The heavy lines in a reverse �L’ shapeindicate the location of the microphone array along the walls. The

dotted rectangle indicates the area of room covered by the array.

nected to one PC, while the wireless communication

interface to the robot is connected to the other. The two

programs communicate with each other in a �hand-shaking’ process, to indicate when the robot has begun

its speech, and to pass localized coordinates from the

sound localization program to the robot control pro-

gram. Furthermore, it should be mentioned that the

robot’s speech intensity was set at a high level as toovercome and dominate other speech sources in the

room for both better sound localization (after all, more

noise does reduce the accuracy of the sound localization

process) and better tour guide explanations.

3. Robot localization using sound

In this section, localization of the robot using an

array of microphones is discussed. We start by consid-

ering the general localization problem, stated as follows:

3.1. Generalized robot localization

Assuming that we want to localize the robot in a

room, and that a set of M sensors (which can be cam-eras, microphone arrays, ultrasonic sensors, etc.) are

available for the localization, the ith of which obtains a

134 Q.H. Wang et al. / Information Fusion 5 (2004) 131–140

data vector Wi, the maximum likelihood robot locationis:

~x ¼ argmaxx

P ðxjW1;W2; . . . ;WMÞ ð1Þ

If we assume that the prior probability of the robot

location is uniform over all spatial positions (i.e. P ðxÞ isa constant), then the above statement is equivalent to:

~x ¼ argmaxx

P ðW1;W2; . . . ;WM jxÞ ð2Þ

Now, if we assume that, given the robot location, the

data vector of each sensor is independent, then we have:

~x ¼ argmaxx

YMi¼1

P ðWijxÞ ð3Þ

which, due to the monotonicity of the logarithm is

equivalent to:

~x ¼ argmaxx

XMi¼1

log PðWijxÞ ð4Þ

Eq. (4) can be viewed as a summation of different

spatial likelihood function (SLF) layers for each sensors.

For example, we can separately compute SLF layers for

the microphone arrays, each camera, and other sensors,

and then combine them by appropriately scaling themand adding them. While ideally a variety of sensors will

be used for the localization of the robot, in this paper we

focus on microphone array based localization. In other

words, if the entire data recorded by the microphones

is defined as W, we wish to compute:

~x ¼ argmaxx

log P ðWjxÞ ð5Þ

3.2. Sound localization

When the robot produces a sound, this sound arrives

at different microphones at different times and with

different intensities. These time differences and intensity

differences can be used to localize the sound source

location [1–4,7,13,14]. In practice, due to the presence ofreverberations, the TDOAs are more reliable for sound

source localization, and hence are commonly used as the

primary basis for source localization.

Assuming that the signal arriving at the ith micro-

phone is denoted as miðtÞ and is recorded from time t1 totime t2, then a standard cross correlation can be used to

localize the source position. In fact, if we assume our

sound source to be localized and the sensor noises to beindependent white Gaussian, then Eq. (5) is equivalent

to the standard cross correlation based localization

algorithm shown below:

~x ¼ argmaxx

Z t2

t1

Xi

Xj

miðtÞmjðt � sijðxÞÞdt ð6Þ

where ~x is the estimated source position vector and sijðxÞis the TDOA between microphones i and j corre-

sponding to position x. In practice, because the recorded

signal is discrete, we use a discrete-time form of Eq. (6).

Furthermore, in order to avoid delaying discrete signals

by non-integer amounts, and for other reasons that shall

soon become clear, we state the localization equation

in the frequency domain.

Assuming that the sampled signal miðtÞ is recordedfor a total of N samples, and denoting the fast Fourier

transform (FFT) of this discrete signal as MiðkÞ, we havean equivalent frequency domain and discrete-time ver-

sion of Eq. (6):

~x ¼ argmaxx

XN�1

k¼0

Xm

Xn

MmðkÞMnðkÞe�j2pkFssijðxÞ=N ð7Þ

where Fs is the sampling rate of the signal.

Hence, we compute a SLF, whose maximum value we

hope occurs at the true sound source location. While

such a strategy is commonly used for source localiza-

tion, the choice of SLF used in Eq. (7), which is knownas steered response power (SRP), is not commonly used

due to its poor performance in adverse (noisy and/or

reverberant) environments. A more commonly used

technique is to filter the recorded signals with a

weighting function prior to source localization. When

the filters are frequency whitening filters, this technique

is known as the SRP PHAse Transform, or SRP-PHAT

[2,10]. The SRP-PHAT approach has been successfullyemployed in practical environments even in the presence

of reverberations. Since our recorded signals are real

in the time domain, the SRP-PHAT version of Eq. (7)

can be stated as:

~x ¼ argmaxx

XN=2�1

k¼0

Xm

Xn

cosð\MmðkÞ � \MnðkÞ

� 2pkFssijðxÞ=NÞ ð8Þ

4. Navigation algorithm description

4.1. Tour algorithm

Within the main tour program, the coordinates of thestations are stored in an array, and the verbal explana-

tions required at each station are stored in a separate

array in the same order as the corresponding stations.

The algorithm that runs the entire tour is fairly simple: it

calls a separate traversal algorithm repeatedly to direct

the robot from one station to another until the final

station is reached. The traversal algorithm is the one

responsible for the navigation––recalculating trajecto-ries, handling obstacles, etc.––between two adjacent

stations.

Microphones

Walls

(0,0)x-direction

y-di

rect

ion

(1.5, 1.5)

(3.6, 3.5)

Station 1, Station 3

Station 2

Fig. 6. Setup of the stations used in the experiment to evaluate the

effectiveness of the constant step length traversal program. The robot

starts at coordinate (1.5 m, 1.5 m), goes to coordinate (3.6 m, 3.5 m)

where its position is measured, and then returns to the starting co-

ordinate where its position is also measured.

Q.H. Wang et al. / Information Fusion 5 (2004) 131–140 135

4.2. Traversal algorithm

The traversal algorithm is responsible for navigating

the robot from a starting station to a destination station.

It is only given the coordinates of these two stations, and

relies on localization information to move the robot

closer and closer towards the destination. Initially, the

traversal algorithm was implemented with the robot

making �steps’ of constant length. At each step, themicrophone array is used to localize the position of the

robot. The new position is compared with the destina-

tion coordinates, so that if the robot has come within a

pre-defined radius around the destination, it is deemed

to have arrived.

The new position of the robot is also used to make

course corrections towards the destination. At each step,

simple Euclidean geometry is used to determine the de-sired heading from the current position of the robot to

the target station. The current heading of the robot is

determined by using the current position, the previous

position and the assumption that the robot is facing the

direction in which it has traveled to reach the current

position.

The physical layout of the microphone array pro-

duces localization results that are less accurate in the y-direction than in the x-direction when the sound source

is further away from the array. In this situation, a cor-

rected y-position is calculated from the previous co-

ordinates, the updated x-position, and the distance

traveled by using the Pythagorean theorem. The tra-

versal algorithm also handles the detection, storage,

and avoidance of obstacles, discussed in Section 5.

A series of experiments was conducted to find anoptimal length of the constant steps during traversal and

to assess the effectiveness of the algorithm. The setup of

the experiments is shown in Fig. 6. The robot was

started at Station 1 facing the positive y-direction. When

it arrived at Station 2, its actual position was measured.

Similarly, its actual position was measured at Station 3.

The same three-station tour was run 10 times for each

step length of 0.46, 0.61 and 0.91 m. Fig. 7 shows theexperimental results.

There was a slight increase in average error at the

destinations (Stations 2 and 3) between 0.46 and 0.61 m,

but a more pronounced increase between 0.61 and 0.91

m. Since the largest contribution to tour running time

comes from the time required for the robot to be

localized (the time for the robot to physically make the

steps is fairly constant, since the robot moves at a con-stant speed), the number of steps needed to complete the

tour is a good indicator of total running time. The

average number of steps required to complete the tour

showed a steady decrease with increasing step length, as

shown in Table 3.

The experimental results discussed above showed that

using shorter steps resulted in more accurate positioning

at the stations since more localizations were used, but

consequently more steps were required to complete the

traversal. There is one issue that requires further clari-

fication, and that is the decrease in the absolute error for

Station 2 from a step size of 0.61 m to a step size of 0.91

m. While it would intuitively seem that the larger thestep size the better, in fact for larger step sizes and only

for Station 2, the localization prior to the last step is

performed closer to the array, resulting in a more

accurate final step and lower final error. For smaller

steps and only for Station 2, the last localization is

performed further away from the array resulting in a

more erroneous last step. On the other hand, smaller

step sizes correspond to a smaller error in the quanti-zation effect of the discrete steps, and as a result, should

have a smaller overall error.

For Station 2, these two factors come into play in

making the error at 0.91 m comparable to that of 0.46 m

and less than that of 0.61 m. For Station 3, all final

localizations are accurate and hence the main factor is

the quantization effect of the steps resulting in the error

to increase as the step size increases.An improved traversal algorithm, employing variable

step lengths, was then developed. To improve both the

speed of the trips and the accuracy of the position of the

robot at stations, the traversal algorithm was modified

to employ longer steps at the beginning of a trip, shorter

steps near the destination, and a final exact step at the

end. The longer initial steps meant that fewer total steps

would be necessary, while the final step that made up theexact remaining distance to the station produced lower

average error at the destination.

The enhanced traversal program uses the basic con-

stant step length traversal program, discussed earlier,

Fig. 7. The results of the constant step length traversal experiments.

The points on each graph indicate the actual final positions at each

station, with the position of the station located at the origin of the

graph. The distances are all in units of metres. Graphs (a) and (b) show

the results from a step length of 0.46 m, (c) and (d) with step length

0.61 m, and (e) and (f) with step length 0.91 m.

Fig. 8. Lab view of the progress of the robot between two stations.

136 Q.H. Wang et al. / Information Fusion 5 (2004) 131–140

twice: the first time with a step size of 1.5 m to bring the

robot within 2 m of the target, and a second time with a

step size of 0.91 m to bring the robot within 0.7 m of the

target. The remaining distance to the target is then cal-culated, and the robot makes the final step. Fig. 8 shows

a series of pictures of the robot traversing from coor-

dinate (3.6 m, 3.5 m) to coordinate (0.6 m, 0.7 m), and

Fig. 9 shows the corresponding map of the traversal.

Note that the smaller deviation in the middle step was

not because of an obstacle, but due to an incorrect

localization, most likely as a result of background noise.

The same experiment that was conducted for theconstant step length traversal was repeated using the

variable step length traversal, and the results are shown

in Fig. 10 and Tables 1–3. Comparing Fig. 10 to Fig. 7,

it is clear that the error in the final positions has been

noticeably reduced.

Although the 0.91 m constant step tours were slightly

faster, the accuracy with the variable step length tra-versal is far better. The errors were smaller at Station 3

in all cases because it is located closer to the array,

where localization results are more accurate and

adjustments using the Pythagorean theorem are not re-

quired. The average total error in positioning using the

variable step length traversal was approximately 7 cm

close to the array and 30 cm away from the array. Based

on these results, it was decided to use the variable steplength traversal for the tour.

5. Obstacle detection and avoidance algorithm

Two of the sensing systems on the robot were used in

obstacle detection: the whiskers and the optical encod-ers. Fig. 11 shows the location of the whiskers. For

simplicity, the robot control program only takes into

Fig. 9. Resulting path of the traversal of the robot between two sta-

tions.

Fig. 10. Results of the variable step length traversal experiment. The

position of the station is at the origin of each graph, and the dots

indicate the actual final positions of the robot, with the units in metres.

Compared to the results of the constant step length traversal experi-

ment, these results clearly slow improved accuracy of position.

Table 1

Summary of experimental results for Station 2

Step size Station 2 average errors

x Error (m) y Error (m) Absolute error (m)

0.46 m 0.150 0.310 0.367

0.61 m 0.215 0.460 0.529

0.91 m 0.180 0.295 0.379

Variable 0.087 0.281 0.300

Table 2

Summary of experimental results for Station 3

Step size Station 3 average errors

x Error (m) y Error (m) Absolute error (m)

0.46 m 0.095 0.105 0.155

0.61 m 0.125 0.085 0.178

0.91 m 0.200 0.140 0.278

Variable 0.041 0.052 0.072

Table 3

Summary of number of steps taken as a function of step size

Tour steps

Average number of steps in tour

Const. steps: 0.46 m 13.9

Const. steps: 0.61 m 9.5

Const. steps: 0.91 m 7.3

Variable steps 8.2

Fig. 11. Arrangement of �whiskers’ around the base of the robot.

The whiskers are touch sensors that are used in obstacle detection.

Q.H. Wang et al. / Information Fusion 5 (2004) 131–140 137

account the front whiskers, since the majority of

obstacles encountered on a typical tour will be from the

front. The robot is also equipped with a pair of sonar

distance sensors, but they are only effective for smooth,

regularly shaped objects more than 0.15 m ahead. They

proved insufficient for handling irregularly shaped ob-

jects such as chairs, so the whiskers were used instead.

Unfortunately, the whiskers cannot sense all the

possible points of contact on the robot, so that the robotcould collide with an obstacle without activating any of

the whiskers. Thus a second obstacle detection

method––comparing the actual distance traveled with

the intended step distance––is also used to improve the

overall obstacle detection accuracy. The distance trav-

eled is read from the optical encoders, and after much

experimentation, it was found that if less than 75%

of the intended step distance has been traveled, therobot has most likely collided with an obstacle.

Checking for obstacles at each step of the traversal is

done repeatedly in a loop so that multiple obstacles can

be detected. Each obstacle is handled in the same

manner until there is no further obstruction in front of

the machine. When an obstacle is detected, the machine

localizes itself to obtain the location of the obstacle. It

then moves backwards, localizes itself, turns away fromthe obstacle, moves forward, localizes itself one final

time, and resumes the rest of the traversal program.

These additional localizations are necessary to calculate

the heading of the robot at each step of the obstacle

avoidance procedure.

138 Q.H. Wang et al. / Information Fusion 5 (2004) 131–140

After the robot has moved away from the obstacle,the direction to turn, either left or right, is determined

based on the current heading direction and current

location of the robot. The aim is to turn such that

subsequent forward motion will tend to be toward the

center of the room, in order to avoid losing the robot off

the edges of the localization region. When the robot is

not near the edges, the direction of the turn depends on

the whiskers being pressed so that the robot turns away

Fig. 12. Lab view of the progress of the robot between two stations,

with an obstacle in the room to be encountered and avoided.

from the obstacle. Fig. 12 shows a series of photographsof the robot traversing from coordinate (3.6 m, 3.5 m) to

coordinate (0.6 m, 0.7 m) with an obstacle in the path.

Fig. 13 shows the corresponding map of the traversal.

Each time the robot encounters an obstacle, the po-

sition of the obstacle is inferred from the direction in

which the robot was traveling and the position of the

robot at the collision. The position of the obstacle is

then stored in memory in an array so that it may beavoided on future trips through the same area. The

Fig. 13. Resulting path of the traversal of the robot between two

stations, with an obstacle in the room to be encountered and avoided.

direction of travel

location of robot

saved positionof obstacle

Fig. 14. Any obstacles encountered are stored in an array for future

avoidance.

Q.H. Wang et al. / Information Fusion 5 (2004) 131–140 139

relationship between the position of the robot at thecollision, the position of the saved obstacle, and the

direction of travel are shown in Fig. 14.

Before making each step in the traversal, the robot

control program checks the region ahead that will be

covered by the step for known obstacles so that they can

be avoided in advance. The program checks ahead more

than the distance of the step so that the robot does not

complete the step directly in front of a known obstacle,resulting in a collision on the next step. The regions to

either side of the checking path are also checked, to allow

for drift in the movements of the robot. If an obstacle is

found, the program calculates the angle needed for the

robot to turn and avoid the obstacle, and checks along

this new path for additional known obstacles until a clear

path is found. A representation of algorithm to check

for known obstacles is shown in Fig. 15.

location of robot

intended travel path

extended search path

search region

location of saved obstacle

Fig. 15. The search algorithm for the obstacle checking. The algorithm

searches in a swath ahead of the robot for any known obstacles so that

they can be avoided in advance.

Table 4

Several robot localization techniques presented in the literature are compare

Method

Real-time vision-based robot localization [6]

Cooperation between two omnidirectional perception systems for mobile

robot localization [8]

Range-only localization and mapping [15]

Mobile robot localization using a light-stripe sensor [5]

(Vision-based) mobile robot localization from learned landmarks [20]

CONDENSATION algorithm for vision-based mobile robot localization

Mobile robot localization based on a multi-sensor cooperation approach

Vision-based robot localization without explicit object models [11]

Proposed sound localization based algorithm

The evaluation was based on three main factors: additional hardware add

localization.aNote that for the proposed technique, the 7 cm error is only for location

region is about 30 cm.

6. Robot tracking and visualization

A �radar mapping’ feature was added to the project

for testing purposes. The location of each step of the

robot and any obstacles it encountered were plotted on a

scale map of the room, with lines connecting the steps to

form a continuous path as the robot moved. This

functionality was not essential, but valuable for quickly

assessing whether a localization result was correct, easilyanalyzing the previous movements of the robot without

having to refer to numerical program outputs, and

visually assessing the progress of the program. As the

robot moves, each step is added to the map to create a

cumulative history of its movements. Any obstacles

encountered during tours are also shown on the map.

The paths shown in Figs. 9 and 13 were generated

by this visualization program.

7. Comparison with previous robot localization systems

A summary of the comparison of accuracy and run-

ning time of various alternative robot localization

algorithms is shown in Fig. 5. In cases were each paper

considered multiple methods, the most accurate method

was selected for inclusion in this table. As shown, the

proposed sound localization algorithm of this paperranks in the middle of the techniques in terms of accu-

racy, and is comparable to other techniques in terms

of running time.

Although a few methods present a smaller overall

localization error than that of the technique proposed in

this paper––that is, the distance between the robot’s ac-

tual position and the localized position––they require

hardware and power consumption in addition to thatrequired for the robot’s movement and tour-giving tasks.

For the proposed application, a speaker is needed for

any robot in order to introduce and discuss the different

elements of the tour. However, for the system proposed

d here

Onboard hardware Distance error Running time

Camera 1 cm 0.5 s

2 Cameras+ laser 11 cm N/A

Radio transponder 23 cm N/A

Camera 3 cm N/A

Camera+ laser 6.8 cm N/A

[9] Camera 10 cm Real-time

[16] Camera+ laser 3 cm 3.5 s

Camera 0.8 cm 3 s

None 7 cma 2 s

ed to the robot, distance error of localization, and time required for

s in the vicinity of the array. The error for locations outside the array

140 Q.H. Wang et al. / Information Fusion 5 (2004) 131–140

in this paper, no extra hardware on the robot is requiredfor tracking purposes. Ideally, to improve the accuracy

and robustness of the localization, a multi-modal ap-

proach should eventually be employed combining our

proposed acoustic method with the visual methods that

are compared in Table 4.

8. Conclusion

In this paper a robot navigation system was imple-

mented using sound localization. A distributed array of24 microphones was used to localize the position of the

robot. With this system, the robot was programmed to

conduct a guided laboratory tour. To travel between

stations on the tour, the robot made a series of steps,

and at each step sound localization was used to find the

new location, taking advantage of the fact that the robot

was speaking as part of the tour. The updated locations

were used to calculate any needed course corrections.Experimental results showed that the error in the posi-

tion of the robot at each station was approximately 7 cm

close to the array. The robot detected obstacles with a

set of touch sensors, and with the use of sound locali-

zation, the positions of the obstacles were saved in

memory to be avoided for future tours.

References

[1] P. Aarabi, Self localizing dynamic microphone arrays, IEEE

Transactions on Systems, Man, and Cybernetics, Part C 32 (4)

(2002) 474–484.

[2] P. Aarabi, The fusion of distributed microphone arrays for sound

localization, EURASIP Journal on Applied Signal Processing

Special Issue on Sensor Networks 4 (2003) 338–347.

[3] P. Aarabi, A. Mahdavi, The relation between speech segment

selectivity and time-delay estimation accuracy, in: Proceedings of

the IEEE Conference on Acoustics, Speech, and Signal Processing,

May 2002.

[4] P. Aarabi, S. Zaky, Robust sound localization using multi-source

audiovisual information fusion, Information Fusion 3 (2) (2001)

209–223.

[5] M.J. Aldon, L. Le Bris, Mobile robot localization using a light-

stripe sensor, in: Proceedings of the ’94 Symposium on Intelligent

Vehicles, October 1994, pp. 255–259.

[6] Sami Atiay, Greg Hager, Real-time vision-based robot localiza-

tion, IEEE International Conference on Robotics and Automa-

tion 1 (1991) 639–644.

[7] M.S. Brandstein, H. Silverman, A robust method for speech signal

time-delay estimation in reverberant rooms, in: Proceedings of the

IEEE Conference on Acoustics, Speech, and Signal Processing,

May 1997.

[8] A. Clerentin, L. Delahoche, E. Brassart, Cooperation between two

omnidirectional perception systems for mobile robot localization,

in: IEEE International Conference on Intelligent Robots and

Systems, vol. 2, October 2000, pp. 1499–1504.

[9] F. Dellaert, W. Burgardan, D. Fox, S. Thrun, Using the

condensation algorithm for robust, vision-based mobile robot

localization, in: IEEE Computer Society Conference on Com-

puter Vision and Pattern Recognition, vol. 2, 1999, pp. 588–

594.

[10] J. DiBiase, H. Silverman, M. Brandstein, Robust localization in

reverberant rooms, in: M.S. Brandstein, D.B. Ward (Eds.),

Microphone Arrays: Signal Processing Techniques and Applica-

tions, 2001.

[11] G. Dudek, C. Zhang, Vision-based robot localization without

explicit object models, in: IEEE International Conference on

Robotics and Automation, vol. 1, April 1996, pp. 76–82.

[12] Feng-ji Zhao, Hai-jiao Guo, Abe Kenichi, A mobile robot

localization using ultrasonic sensors in indoor environment, in:

Proceedings of the 6th IEEE International Workshop on Robot

and Human Communication, RO-MAN’97, October 1997,

pp. 52–57.

[13] J. Flanagan, J. Johnston, R. Zahn, G. Elko, Computer-steered

microphone arrays for sound transduction in large rooms, Journal

of the Acoustical Society of America (1985) 1508–1518.

[14] K. Guentchev, J. Weng, Learning-based three dimensional sound

localization using a compact non-coplanar array of microphones,

in: Proceedings of the 1998 AAAI Symposium on Intelligent

Environments, 1998.

[15] G. Kantor, S. Singh, Preliminary results in range-only localization

and mapping, in: IEEE International Conference on Robotics and

Automation, vol. 2, May 2002, pp. 1818–1823.

[16] D. Laurent, M. El Mustapha, P. Claude, V. Pascal, A mobile

robot localization based on a multisensor cooperation approach,

in: Proceedings of the IEEE IECON 22nd International Confer-

ence on Industrial Electronics, Control and Instrumentation,

vol. 1, August 1996, pp. 155–160.

[17] Elisha Sacks, Path planning for planar articulated robots using

configuration spaces and compliant motion, IEEE Transactions

on Robotics and Automation 19 (3) (2003) 381–390.

[18] Ishwar K. Sethi, Gening Yu, A neural network approach to robot

localization using ultrasonic sensors, Proceedings of the 5th IEEE

International Symposium on Intelligent Control 1 (1990) 513–

517.

[19] I. Shimshoni, On mobile robot localization from landmark

bearings, IEEE Transactions on Robotics and Automation 18

(2002) 971–976.

[20] R. Sim, G. Dudek, Mobile robot localization from learned

landmarks, in: IEEE International Conference on Intelligent

Robots and Systems, vol. 2, October 1998, pp. 1060–1065.