Table of contents
Data transmission
Data is transmitted via sound, from the sender (computer) to the receiver (robot).
See Communication Frame for details about the data frame.
Sender
Any sound emitting device can be used to send the data.
Either a smartphone, or a laptop was used to play premade .wav files1 containing the command that the robot must execute. These commands can be “Go forward 50cm”, “Turn left 180°”, etc.
Receiver
The robot receives these audio commands using its onboard microphone. This sound is then amplified, filtered and translated by the robot.
See Audio for details about the audio processing.
Acoustic transmission
Data is transmitted via frequency modulated sound. A 13bit frame is sent, each bit is represented by a 100ms long sound note:
- 900 Hz - Represents a 0 bit
- 1100 Hz - Represents a 1 bit
See Communication Frame for details about the data frame.
Example
Here is an audio file of a frame (Turn Left 90°):
Diagram
This diagram explains the data transmission pipeline.
-
These .wav files can be found at the project’s Github repository in
comms_sender/Audio commands examples/
↩