Robotics & Sound Localization I
The following movie was made during a neurobionics lab course I
taught. NOTE: Loud! Turn down the volume!
What can be seen are two robots (the larger one is called
"Joschka" and the smaller one is called
"Günther"). One is programmed to chase (the
"hunter") and the other is programmed to run away (the
"prey"). The interesting thing is that they can only sense each
other through the sound they are making when they are moving (and through
their collision avoidance systems). This is why they stop at regular
intervals to listen, otherwise they would get confused by their own motor
noise.
Their behavior can be summarized like this:
- Avoid obstacles (this always takes precedence).
- Move toward a sound (hunter) or away from a sound (prey).
The idea of the lab course was to show students (mainly biologists, but
also computer scientists) how to start with inspiration from nature
and get to a technical implementation.
I designed and taught this 3-4 day lab course which began with the physical and
neurobiological basics of sound localization. Then different algorithms
were implemented with Matlab on the PC. On the last day, the behavior of
two sound localizing robots had to be programmed (I did the
implementation of the sound localization algorithms on the robots myself,
as that would have been beyond the scope of the lab course).
Scroll down for a description and close-up pictures of the robots.
Common characteristics:
- Base:
- Conrad Electronic CCRP5.
- Control Processor:
- Infineon C164CI microcontroller (Conrad
Electronic C-CONTROL II unit).
- Control software written in:
- C2.
This is the programming language of the C-CONTROL II unit. It is
syntactically similar to C, but compiled to bytecode and interpreted
in a virtual machine on the C164CI microcontroller.
- Sensors:
- Wheel encoders, IR collision avoidance system (front left / front
right), touch sensor, motor current sense, IR communication system.
- Microphones:
- 2 omnidirectional electret condenser microphone capsules, connected to a custom-built preamplifier board.
Günther
- Binaural sound source localization method:
- Correlation in the time domain.
- Implementation language:
- C164 assembly.
- Running on:
- C164CI microcontroller.
- Microphone preamplifier connected to 2 A/D inputs of microcontroller.
|
Joschka
- Binaural sound source localization method:
- Dual delay-line algorithm
(detection of phase coincidence in the frequency
domain).
- Implementation language:
- C.
- Running on:
- Spectrum Digital DSK6713 DSP Starter Kit board (Texas Instruments TMS320C6713 digital signal processor).
- Microphone preamplifier connected to stereo line-in input of DSP board.
- Communication between C164CI microntroller and DSP board through I²C bus.
|
Home
Günther, the sound source localizing robot.
Joschka, the sound source localizing robot.