Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Robot sound localisation

Status
Not open for further replies.

mankmanky1

New Member
Robot sound tracking system
« on: Yesterday at 07:06:02 AM »

Hi

I have the following project:

I need to build a robot with 2 microphones attached to it on either side. The robot is placed on a 4x4 meter grid. 2 speakers are placed on the top and left side of the grid respectively. They each output a specific frequency.

I need the robot to establish its coordinates based on the sounds received from the 2 speakers and then move to a specific coordinate...

Any ideas?

Thanks
 
But how will the robot be able to differentiate which speaker the sensor is sending a pulse to? Won't it get confused between the 2 speakers?
 
Don't have them generate the pulses at the same time. Give enough delay between the left and top speaker to let the echoes die out.

Your first big problem with this is determining the start time of the pulse. Unless you have a super-accurate synchronized clock, you are going to need radio or IR communications to establish the start time of the pulse.
 
Oh, I see. I misread it as the speakers and microphone were all on the robot.

In addition to what duffy said, you need three beacons in order to get your position in a 2D plane. You need 4 beacons to get a position in a 3D space. Two is not enough. If you are not entirely sure what he is talking about, this is what he is talking about:
**broken link removed**


1. You basically need two signals per beacon that travel at different speeds so you can tell when the signal left the beacon. Your robot sends a wireless RF signal to the beacons and it will respond by sending out sound pulse. If you take into account the speed of the RF signal and the speed of sound, you can come up with some equations that will allow you to calculate how far away each beacon is. THe math to do this though is more complicated than 2 since you the time your RF command was sent is not the time the beacon sent the sound pulse. The good news is that since light travels much much faster than sound, you can assume that light took zero time to travel so that the sound pulse was sent at the same time the RF command was sent. This makes the math very simple (almost identical to 2) and you lose almost no accuracy. (If you two other types of signals that had speeds that weren't so different, then you would have to do the complicated math). Instead of an RF signal you can also use an IR signal to trigger the beacons (like a remote control). This may be simpler and cheaper for you.

2. The other method is to have each of the three beacon alternately send out an IR pulse and sound pulse at the same time. You measure the time difference between the arrival time of the sound pulse and IR pulse and take into account the speed of each (in this case, since light travels way faster than sound, you can assume light takes zero time to travel to simplify your math). You can then figure out the distance from beacon and your robot (the farther away the beacon is, the larger the difference in arrival time between light and sound since one travels faster than the other and they were both sent at the same time).

With either 1 or 2, do this for 3 beacons and you get 3 circles that only intersect at one point. THis is where your robot is (in reality the circles won't intersect perfectly at a single point. Instead they will probably produce 3 intersections with each other forming a triangle. Your robot is somewhere around this triangle. YOu then need some extra math to figure out where the center of this triangle is, since that's probably the best guess at where your robot is.)

The reason for a light or radio signal is so you don't need super accurate synchronization between your robot and the beacons. THis is very difficult to do. GPS does this with the atomic clocks they have aboard each satellite, but of course, you can't do this. You must make it so only one beacon sends a signal at a time. If you want to make them send it all at around the same time, then you need to use different wavelengths of IR light as well as sound and put light and sounds filters on the robot. But this is difficult to do.
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top