PDA

View Full Version : Changing Direction with Say It when it's running another command.



paulvive
01-20-2012, 04:11 PM
This is a response I got from one of the engineers that manufactuers the Say It module.

Hi Paul,

Unfortunately it might not be easy to get vocal commands while the robot is
moving, for two reasons:

1) The motor gears, especially servos, can be very noisy and you may also have
electrical noise coupling into the microphone input, if your hardware has not
been carefully designed. Recognition could work to some extent with soft
environmental noise, mostly homogeneous, but does not work reliably with sudden
noises.

2) You need some hardware support from your microcontroller, so that you're able
to receive at least one character while controlling the motors.

With Parallax Basic Stamps I think you only have one true serial port, which is
used for communication with the PC. The SayIt module is connected to pins 0-2,
which simulate a serial interface with a blocking software routine. Therefore
you can't receive the result of voice recognition while controlling the servo
motors, because during a servo pulse you could miss a received character,
partially or entirely.

With more powerful microcontrollers, with a spare hardware UART, you could try
to use voice recognition during robot movements, but you could always face noise
problems outlined above, either electrical or mechanical.

That's why the demo code was designed that way.

I hope this helps. Have a nice weekend.

Kind regards,

Markku

Well he didn't say it was impossible. I don't have a STOP command in the word set so if I add a STOP command and add a different command I think I can at least get it to follow something other than a straight path. Anyway I'll try it.

RobotWorkshop
01-20-2012, 04:24 PM
Since you're using the BASIC Stamp and would really need to watch for responses from the Say It module you may want to look at using something like the ServoPAL to offload the task of keeping your motors going. With that you should be able to set the speed as needed and then stay in a loop the rest of the time watching for the next response from the Say It module.

paulvive
01-21-2012, 01:31 PM
Thanks. What is Servo Pal and where can I get it. I've been dealing with servos for fifty years in my planes and boats but never heard of servo Pal. I was thinking maybe I could accomplish what I want through the code it looks like it would be complicated if I could do it at all. Thanks again for your reply.

RobotWorkshop
01-21-2012, 01:47 PM
I should have added a link to the product page. You can get all the information about the ServoPAL here:

http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/servopal/List/0/SortField/4/ProductID/481/Default.aspx

You could also add something like this instead as a co-processor to handle the servo control

http://www.parallax.com/Store/Accessories/MotorServos/tabid/163/txtSearch/servopal/List/0/SortField/4/ProductID/595/Default.aspx

With this you can just send out the serial commands to tell how you want to move the servos and then just update it when you want to change it,

paulvive
01-22-2012, 02:29 PM
Thanks, I'll have consider the Servo Pal. It sounds interesting