This project presents a differential drive robot that has two continuous rotation servos. The board of the robot is the popular “Propeller Demo Board” of Parallax. The Robot has the ability to recognize voice commands from the user and then it performs the corresponding movements.
The project is based on “Goertzel Speech Recognition Demo” introduced by Phil Pilgrim. When I saw Phil’s project I became so exciting and I decided to build a robot able to recognize the four basic movement commands: “FORWARD”, “BACKWARD”, “RIGHT” and “LEFT” in order to perform these movements according the user’s desire. Instead of a TV monitor, the robot uses 3 different LED s (Green, Red and Yellow) to interact with the user. First the user must teach the robot the four commands. For this reason the robot can hear and learn a command pronounced by the user when the Red LED is blinking. If a voice command is not very “clear” and the robot is not able to understand it the Yellow LED is blinking. The Green led is blinking when the robot has successfully recorded and learned a voice command or has understood a voice command and it is ready to perform the next recording or the next movement.
The hardware and the design:
If you already have a BoeBot and a Propeller Demo Board it is very easy to create a Propeller speech recognition robot. The only you have to do is to remove the”Board of Education” from the Boebot and replace it with the Propeller demo Board. In addition you need three LED s (Red Green and Yellow) and some resistors to build the appropriate circuit on the Propeller demo board’s breadboard. If you don’t have a Boebot here is the list of hardware you need and you can find from Parallax store:
Propeller Demo Board
Boe Bot Chassis
Polyethylene Ball 1"
2 X Boe-Bot/SumoBot Wheel & Tire
2 X Parallax (Futaba) Continuous Rotation Servo
4AA Battery Holder
1 X Green LED
1 X Red LED
1 X Yellow LED
2 X 1K ohm, 1/4 watt resistor
3 X 220 ohm, 1/4 watt resistor
If you build your Propeller speech recognition robot with the hardware that I suggested above, your robot will looks like this:
I give you a Skethup schematic instead of a real image because I didn’t use a BoeBote to build my Propeller speech recognition robot. Although I had two BoeBots in my lab I didn’t use them because I had bounded them in other projects so I decided to build a new simple robot platform by myself.
I used a simple homemade chassis from plexiglas and two homemade aluminum servo adapters to adapt the two servos on the chassis. The plexiglas chassis has in the middle a square hole to bind a 7,2 V rechargeable battery. The wheels have 4,7 cm diameter each and are smaller than the BoeBot’s wheels.
I also give you a 3d eDrawing file: (Propeller speech recognition robot Drawings.rar) where you can see both models with full details.
Note: You need the viewer 3D eDrawing Viewer Download (viewer)
The circuit of the robot is the following:
Here you can see a video with the construction and the operation of the robot.
The software of the robot is written in spin code. To be honest I don’t believe that I have written any new code. I would say that my work was mainly a montage of already existed spin code that I found through the Parallax Forums. As I told you before the code is based on the “Goertzel Speech Recognition Demo” by Phil Pilgrim. I made some small changes in this code such us the way that the robot interacts with the user. I removed the TV output commands and I replaced them by the three blinking LED s commands. I also added some code from “Control Two Servos.spin” file by PE Kit Servo Control v1.4 in order to make the robot to move according the voice commands. I have also changed a bit the “Servos for PE Kit.spin” in order to work properly with the rest code. The code you have to run is the “Speach_REC_Robot_4_commandsVer2.spin” in conjunction with the objects: ”goertzel.spin”, and “Servos for PE Kit_nikos”. All the necessary code is included in the “Speach_recognition_Robot_Code.rar” file.