Battle tank - with Voice Control

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

 

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

  • Actuators / output devices: IR, servo, Tamiya gears, laser, piezo transducer
  • Control method: non-autonomous
  • CPU: atmega88
  • Power source: 5V
  • Programming language: C
  • Sensors / input devices: HS0038 IR detector
  • Target environment: indoor

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/battle-tank-with-voice-control

i am sooo interested in IR
i am sooo interested in IR comunication! Let me ask you, is the tank "hit" only when it receives a modulated IR signal or are you using some kind of protocols?

Great!!

I wish my dad made me cool toys. Great work! Also could you give me a clue about the chase material.

IR communication

There are several possible ways to implement a specific protocol. The most resource demanding one, I believe, will be decoding the TV remote control signal. I did a small study and implementation before, the commands are in 48 bit long. Decoding it may use a lot of resource on the MCU, if not additional hardware is used.

Theorectically I think I can modulate the USART signal at 38kHz. The demodulation side can feed the signal directly to the USART RXD. But I have not tried this yet.

In this robot, as I decide to use one MCU, and the USART RXD is already used by the RF module, the IR signal is not specific. It means that when I fried the IR gun. I have to turn off the IR receiver interrupts. Otherwise it will kill itself immediately.

It is aluminium material for
It is aluminium material for window frame. Here is the tank base information.

tankbase

what are the mesurements for the tankbase? you are making me wanting to build one. lol

 

It is about 3" x 7", 2"

It is about 3" x 7", 2" tall (exclude wheels and tracks). I made it too small and I suggest a bigger dimension.

It is quite interesting to play with a tank…go ahead !

ok
ok thanks! great robot!

you should in my opinion use
you should in my opinion use a lens to focus the IR, else you are gonna have a very big cone of light, which makes it very easy for the tank commander to hit other ones! :slight_smile:

You say it’s not inventive…

You say it’s not inventive… Well… it could be quite easily; Add one player mode… with 2 tanks, one Ai controlled :slight_smile:

And score counter!

nice idea. You could include
nice idea. You could include a wide beam (could also be IR) for approximate detection and one lensed beam for the shooting part!

Very good ideas !
Very good ideas !

Very good work clcheunghk.

Very good work clcheunghk.
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.

 

GroG
my robots
my garden

Woah! Awesome voice
Woah! Awesome voice control!

Hi GroGI use the same one

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 -

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

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. :sunglasses:

So … I’m confused. Is
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

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
Oooh I see, ok. That makes a lot more sense. :slight_smile: