In todays lab session we will be giving our Borg robot ears in the form of the NXT microphone. The goal is to run a few experiments to determine the capabilities and the sensitivity of the newly attached unit.
Initial experiments:
The first thing we did after attaching the sound unit, was to download and run the SonicSensorTest java program. The idea here was to test how the microphone registers different pitches, loudness and how much proximity matters.
It was clear that a "sudden" noises like claps and stomps registered as quick peak values. The microphone has a fairly smooth "step" measurement, meaning that if you have a constant noise that increases in volume gradually, the microphone will detect that fairly accurately and increase the value read as well. However when the value gets to 93 and above the granularity fades and the value either stays at 93 or suddenly jumps higher.
Also the distance to the microphone will lower the value that is read, which is to be expected since even the mighty Borg have to obey the laws of nature. (At least sometime)
Steering a car with sounds
Next we installed the SoundCtrCar program and played around with it. The way this program works is by having 4 different movement modes that it alternates between: Forward, left, right and stopped. It switches between these states every time it hears a sound louder than the value "90". It doesn't matter what sort of sound it is or how long it persists.
After playing around with it a bit, we changed it so that we could abort the program using the escape button, even if we were in one of the movement modes. This was a rather minor change and was quickly done. However it is important to remember that one should be able to stop the car in whichever state it might be so that you don't have to pull the battery in case that you want an unexpected stop.
Applaud the Borg
Lastly we made a program with two movement modes: Forward and stopped. The way it changes between these states is again controlled by the sound that comes through the microphone. However now it will only respond to claps. Being able to distinguish claps from ordinary chatter and background noise, or even extended loud sounds is fairly "simple" since Sivan Toledo has already done all the research. This way we did an algorithm that did exactly as the exercise suggested and it works really well.
The fact to be noted here is of course that the robot never distinguishes between actual "claps" and other sounds. It only reads values from the microphone and then determines if the pattern of the input matches a typical clap-pattern. This way it would probably be possible to make the robot aware of even more specific sounds, if one had the proper sound patterns for these.
This method is not flawless of course, and a stomp in the ground will this way also be registered as a clap. A human would of course be able to distinguish the two based on the pitch of the sound and other things, but the Borg knows not these things.
Just as the Borg does not distinguish between humans and other lifeforms: All must be conquered. But all in due time...
torsdag den 20. september 2007
Abonner på:
Kommentarer til indlægget (Atom)
Ingen kommentarer:
Send en kommentar