Let's Make Robots!

Battle tank - with Voice Control

remote control, sound effect, shooting with laser and IR, detect IR, control electronic applicants

Before going on developing the Home Explorer, I have to make a battle tank with shooting capability for my son...because I promised him several months ago. The battle tanks are remote controlled and made to shoot each other by laser or infrared. It has these features:

- remote control

- moving in eight directions, 2 speed

- rotating canon tower

- laser gun, to shoot a target

- IR gun, to shoot a target, or turn on some electronics applicants

- IR detector, when it is shot by another tank or by a TV remote control, the tank will be frozen for several seconds

- Sound effect

- Voice control, see the third movie

This is not an innovative project. But it is quite a challenge to put it together in a small tank with one MCU (atmega88):





Voice Control

I make use of the CMU Sphinx http://cmusphinx.sourceforge.net/html/cmusphinx.php to make the voice control part.

Sphinx is a powerful speaker-independent continuous speech recognition engine. It is open source and come with very rich features. I use Sphinx, not only it is open source, but also it has pocket version that is tuned for handheld / mobile devices. In the near future we shall be able to use mobile devices to control our robot at a reasonable cost. A pocket version means that your robot will listen to your commands, without going through the PC.

Comparing with Microsoft technology, it is relative difficult to make it work initially. There are a large number of development tools created for R&D purpose. It is not very handy to make a simple command oriented robot control program.

Since I don't have a handheld device, I use Sphinx 3 on my PC in this project. Together with a wireless mic, I shall be a ble to control any robots at home with my PC as the speech recognition engine.

mic => PC => Sphinx 3 => robot control program => RF module => robot

In the future, it will be:

mic => pocketsphinx on the robot


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Very good ideas !

Very good work .
What is the  RF module?  Is it the same one you used in your ultrasonic scanner?
I have not worked with microcontrollers before, but am interested in controlling them from a PC and am wondering the most reliable/cost effective way.  These seem interesting, 1200 bps serial - with 1000m range, but the price is too much.

This looks much more reasonable, and I believe Fritsl has made several projects with them or some derivative.


my robots
my garden

Hi GroG

I use the same one that I mentioned previously, about $2 for a pair of ASK at 315MHz. Reliability and distance are not my concerns. Anything within 10 meters is ok. Since I am not flying a plane, I don't need very reliable one neither.

I think ASK is less reliable. How about the nordic chips, like this one. It is more affordable, around $15-30, 20-100m Range at 250kbps - 1 Mbps ! At this speed you can do photo, music, voice, movie streaming !

I never try them before but I find it quite popular in my region.

Here is a good reference - it has a variety of modules listed here and it shows you how to implement several protocols, most being geared to home automation.  I was wondering - if my PC has a transmitter and the little mobile robot has a reciever, is it really necessary to have a PIC on the mobile robot?  Can't a 4 bit serial to parallel chip be used on the robot? For example 2 bits for each motor?

It depends on how little is your robot, I believe. If you put an IR ranger, light sensor, speed controller, touch sensor, voice output and etc. on your little robot, it will become unmanagable.  Even if you just have one IR ranger, and you still need to encode the signal in a proper way and send it back to your PC. 

Unless your robot is very very simple, it is desirable to have a MCU on your robot side. However, I would like to use AVR instead PIC. 8-)

Woah!  Awesome voice control!
So ... I'm confused.  Is Sphinx running on the ATMega88, or do you have a separate component for the voice recognition?  Is it really as simple as attaching a mic and downloading the software??

Sphinx can never run on ATMega88. Voice recognition software requires lots of resource to run. It can run on a PC or a handheld, depending on the version.

In the video, it is running from my PC, my PC interpret the command, then remote control the tank.

Sphinx is quite complicated. I think go for Microsoft engine is easier. But I prefer Sphinx as the reasons I state above. You can go to my blog for more information to run Sphinx.

Oooh I see, ok.  That makes a lot more sense.  :)


I decided to order some sample Atmega88s.  I was wondering if you could describe your programmer and the tools you are currently using?  I would greatly appreciate any info you might give a complete noobie.