Sound Driven-Collision Detection Robot

Hello there,

I need to construct a robot that will be able to detect sound in order to move while at the same time avoiding the possible obstacles that exist.

So far my main problem is how to make my robot detect the sound. I was thinking of using 3-4 electret microphones for this purpose but a relatively complex circuit is needed in order to use them. Something like this for example http://wiring.org.co/learning/basics/microphone.html

I was wondering if there is an easier way to make my robot detect the sound direction.

Thanks a lot in advance!

What are you proposing to determine the direction?
Time-of-arrival or phase?

How do you propose to implement the obstacle avoidance?

You seem to have caught me off guard with this question!!!

Let me describe what I want to do. There is going to be a speaker somewhere is a small room for example. My robot is going to be set one meter or a little more away from the speaker and between the speaker and the robot are going to be some small obstacles. I want my robot to be able to determine the position of the speaker and navigate towards it, avoiding all the obstacles in between!!!

I hope I have helped you to help me!

Thanks!

Yes, and the question is "how" is it going to achieve those aims?

I was wondering if there is an easier way to make my robot detect the sound direction.

A microphone that rotates on a fast servo (120 RPM?) that listens like a radar ? The rotation will give some doppler effect but that will be hard to detect. better map the amplitude per direction.

my 2 cents ;)

For the detection of the obstacles I am going to use IR sensors. As far as the sound detection is concerned I was thinking of using a number of electret microphones. However a rather complex circuit is needed and I would like to know if there is any part (with a microphone on it of course) that I could use. Something more "plug & play" I would say...

However a rather complex circuit is needed

Because it is a rather complex thing you're trying to do.

How are you going to eliminate the effects of echoes (reflections) off the walls of the room or the obstacles in the robot's way?

Is the speaker producing a single continuous note?

I want my robot to be able to determine the position of the speaker and navigate towards it, avoiding all the obstacles in between!!!

To avoid obstacles a ping:)))) sensor or similar can be used. Search the forum in the robotics section and you will find info.

Now you can alternate between two detection modes.

loop()
{
locate speaker
go inthat direction until obstacle
avoid it
}

I still have one question, how to determine that you have reached the speaker?

robtillaart:

I was wondering if there is an easier way to make my robot detect the sound direction.

A microphone that rotates on a fast servo (120 RPM?) that listens like a radar ? The rotation will give some doppler effect but that will be hard to detect. better map the amplitude per direction.

my 2 cents ;)

I must have posed my question rather ambiguously. What I mean is if there is any kind of a microphone I could use so that I can avoid building my own circuit to make it possible for the Arduino to process the sound. For example in order to use an electret microphone I have to make a circuit full of capacitors, resistors etc. Is there any module I can connect directly to the Arduino and get sound measurements???

Sorry that one was depreciated, replacement: http://www.sparkfun.com/products/9964

Is there any module I can connect directly to the Arduino and get sound measurements???

Yes, but it probably contains amplifiers, capacitors, resistors etc.

AWOL:

However a rather complex circuit is needed

Because it is a rather complex thing you’re trying to do.

How are you going to eliminate the effects of echoes (reflections) off the walls of the room or the obstacles in the robot’s way?

Is the speaker producing a single continuous note?

The presentation is going to take place in a rather large classroom so I think I won’t have to confront with such problems. Now about the speaker. I want to impose a threshold concerning the intensity of the sound and when it is reached the robot will “know” that it is close enough to the speaker.

My most important question though is if there is a module (microphone) I can use that can be directly connected to the analog (or even digital) input of the Arduino. So that I don’t need to build a circuit myself.

Perhaps you could equip the speaker with a bump sensor & give the robot the task of getting close enough to "TURN THAT FSCKING MUSIC OFF" ;)

robtillaart: - http://www.sparkfun.com/products/8669 ??

Sorry that one was depreciated, replacement: http://www.sparkfun.com/products/9964

Thank you so much mate! That must be the thing I need!!!!!

rainfugi:

robtillaart: - http://www.sparkfun.com/products/8669 ??

Sorry that one was depreciated, replacement: http://www.sparkfun.com/products/9964

Thank you so much mate! That must be the thing I need!!!!!

After a quick search though this sensors is said to have a lot of problems. Any other suggestion is appreciated...

Thank you all!!

Google "envelope detector"