Make a Voice Controlled Robot

190K21960

Intro: Make a Voice Controlled Robot

(requested for contest, 18+ age category)

This tutorial will show how to build a simple voice controlled robot that's easy enough for beginners to make in just a few hours. I show how it can be done in two languages, both English and Thai.

The cost of the entire project is about ~$224, which factors in quality components and parts.

There will be three parts to this tutorial. This part will show you how to assemble the robot mechanically, the next part will show you how to program your microcontroller, and the last part will be how to configure voice recognition.

Watch the video for step-by-step instructions, and see the result at the end. If you like it, please boost my ego and rate this Instructable =)

STEP 1: Parts Needed

You can find all the parts you need for your robot using this handy-dandy robot parts list .

(2) servos - I used HS-311 for ~$8.99 each

(2) servo mounts $1.95

(2) wheels - I custom made these using a CNC (although a laser cutter would be better), but you can buy some for ~$3 each

(1) 6V NiMH battery - about ~$22 for a quality battery

(1) small piece of plastic (scrap)

(16) 4-40 screws ~$2

(1) Axon II microcontroller  $118

(1) VRbot Voice Recognition Module $57.95

STEP 2: Installing Software

Now that your robot is assembled, we will now program the robot.

If you have never used the Axon before, the getting started tutorial will get you up and running quickly:
http://societyofrobots.com/axon2/axon2_setup1.shtml

The fully commented source code to this project can be downloaded here:
http://www.societyofrobots.com/downloads/Axon2_Voice_Recognition_Software.zip

You will need AVR Studio to upload the .hex file to your Axon - no programming required. But feel free to modify it should you want to do more.

This tutorial video will now show you how to customize the software of your robot using WebbotLib Project Designer .




The robot in the video you saw uses this following code:


It includes a WebbotLib Project Designer file

STEP 3: Configure VRbot

The last step is to program in your voice commands using VRbot. The easiest way to do this is with a TTL serial to USB adapter. I used the Sparkfun FTDI board . Make sure you power your VRbot using the 5V USB output, not the 3.3V output or it won't work. The VRbot manual has more specific details if you get stuck.

After connecting the VRbot module to your computer, follow this manufacturers video tutorial on how to use their GUI software :




The specific list of commands programmed into the VRbot are as follows, although many were not used in this demo:

Group 1:
PASA_THAI
LEFT
RIGHT
FORWARD
DANCE
WAI
BOW
ARM
ATTACK
SHUTDOWN
POWER_UP
LED
UP
DOWN
GRAB
RELEASE

Group 2:
PASA_ANGRIT
LONG
KEUN
LEO_SAI
LEO_KWA
DTRONG_BAI

STEP 4: Upgrade Your Robot

Now that you have the basics done, start adding more servos and other voice commands to slowly build up your butler robot.

This of course is beyond the scope of this Instructable so I won't go into further detail, however I want to show what possibilities there are.

This video demonstrates higher level commands for your robot. If you'd like to get designs and source code for this robot, as well as find out more, I've documented it all here:
http://www.societyofrobots.com/robot_ERP.shtml

STEP 5: About the Axon II Microcontroller (shameless Plug)

(FYI - I'm the creator of the Axon, so I'm biased)

Why use the Axon II instead of the Arduino?

The Axon requires only one 6V battery to run everything, while the Arduino requires two batteries - a 6V for servos and a 7.2V battery for the microcontroller. The Axon is plug-n-play while the Arduino requires additional costly shields and rats-nest protoboards. These are hidden costs of the Arduino.

The Axon is just as easy if not easier to use than an Arduino, with simple drag-n-drop programming using WebbotLib Project Designer . The Axon is ~2x more expensive, but has ~3x more features.

Here are a few videos on how simple it is:


56 Comments

thank you for having this it's already helping people including me!!!!!!!!!!!!

Question, can we make it with four smaller wheels

Can i use a arduino uno r3 instead of an axon 2 microcontroller ... cz its cheaper ....

Can i make thos project with arduino, what arduino series should i use, and how to make it. Thanks

I am making a robot, so Im using more than 2(about 9) servos, should I get a different battery or is that battery still fine

If all servos were running they would be slow or not work at all. Size of battery shouldn't matter if you were only using 1 or 2.

so basically get a different battery, what do you suggest I should get for 9 servo humanoid robot?

I would choose Lead-Acid for lifetime, but lithium-ion should work best for size, amp hour, and the least maintenance.

did a couple of research yesterday and I'm completely new to robotics and I heard lithium ion batteries are very dangerous and can explode, I was thinking of getting nimh batteries but found out those can explode too, the robot might use 9 servos but it still won't be that big so won't lead acid be to heavy?

For lead-acid just don't use car batteries, they do sell them down to a size of D-batteries, so you would want to connect them in a series for voltage and parallel for amp hour.

okay, thank you, and how safe are lead acid batteries, also I don't understand that second part about connecting them in a series for voltage and parallel for amp hour

They are mostly safe, I recommend "no maintenance" specified battery, also don't overcharge or over-discharge them, aka get a charger for them. Series is positive to negative and negative to positive, and continued. Parallel is positive to positive and negative to negative.

thx so much, so if I get an actually charger for them its not possible to overcharge/over discharge? it'll automatically stop charging when its full?

Yes if it measures the batteries charge and adjusts its output, it can prevent overcharge, but not over discharging. I recommend recharging when the servos become slow, and always keeping it in the charger when not using it.

ok im guessing discharging is when you use the zapper to zap electricity into the battery, I won't be discharging, but I will be using the battery for a robot so I'll be using it all the time, is that bad? I want to make a robot that will never get turned off, just goes to sleep every night/charges

More Comments