Acoustic Localization For Mobile Robots Rolando R. Henríquez *, Antonio Paulo G. M. Moreira **, Paulo J. C. G. da Costa ** amoreira@fe.up.pt, paco@fe.ua.pt * University of Pinar del Río, Department of Telecommunications and Electronics, Cuba. ** University of Porto, Faculty of Engineering, Portugal. Resumo – Existem diferentes técnicas usadas pelos humanos para estimarem a localização de fontes de som. Uma delas baseia-se na diferença de fase do sinal captado por cada um dos ouvidos devido ao percurso executado pela onda sonora ter comprimento diferente. Este algoritmo pode ser implementada num Robot equipado com dois microfones e com recurso a algum processamento de sinal. Neste artigo mostra-se que utilizando um sinal sinusoidal com duas frequências é possível estimar-se com alguma precisão o ângulo de incidência da onda sonora mesmo na presença de ruído. Esta medida pode ser utilizada para a estimativa da localização de múltiplos Robots. Abstract - There are many techniques used by a human to estimate the location of a sound source. One of then is based on the phase difference on each ear due to a longer path taken by the acoustic wave to reach the farthest ear. That technique can be reproduced on a mobile robot equipped with two microphones and modest processing power to apply the proposed algorithm. It is shown that with two frequencies the angle in the horizontal plane of the sound source can be estimated even under heavy noise levels. That can contribute to the relative localization of multiple mobile robots. I. INTRODUCTION The cues used by a human to localize the source of a sound are many and some of them are not yet fully understood. There is a great body of research on that subject. Some are easier than others to model and reproduce on a mobile robot. The phase shift of the perceived sound on each ear is the one of the most powerful cues used by humans so it is widely used on positional sound synthesis. A mobile robot, to extract the angle of incidence (the azimuth) of an acoustic wave, can use a similar technique. The problem can be made simpler because there are extra design options: the distance between the sound transducers can be wider and the head does not necessarily block the sound path. Assuming the we are using this approach to obtain the relative positions of multiple mobile robots, we have the extra advantage of being able to design the emitted sound so that some desired properties are met. In our case we will ensure that the sound signal contains essentially two selected frequencies that can be used to extract the angle of the incident acoustic wave. The performance of this approach can be accessed under several situations where the signal is corrupted with white noise. II. DETECTING THE DIRECTION OF AN ACOUSTIC PLANAR WAVE We are only interested in the azimuth of the sound source. To estimate the elevation a third microphone could be use but the principle behind that approach would remain the same. The robot acoustic system is composed by two microphones connected to a sound card that can sample with a frequency of 44.1kHz and with 16 bit resolution. The embedded PC takes care of the audio processing. The heaviest operation is the 1024 bytes FFT that is needed by the algorithm. A possible speedup is to calculate only the coefficients of the desired frequencies but the price is a less general implementation of the algorithm In figure 1 it is shown the relative position of the microphones and the incident acoustic wave. We consider that the acoustic wave maintains the propagation direction constant and the microphones rotate β radians. That angle can be estimated from the perceived phase on both microphones. The following equations describe the relation between these variables. Mic a β λ 1 d m d Mic b Fig. 1. Both microphones and the incident acoustic wave. If at least one of the frequencies present on the generate sound has a wavelength (λ 1 ) greater than the distance between the two microphones (d m ), the phase difference (ϕ 1 ) is related with the wavelength and relative microphones position by (see figure 1):