Hazbot
Australia
Asked
— Edited
Current speech recognition can operate one command line but is there a way a speech line can effect a series of servo scripts for a series of actions to take place.
For example:A speech command as a question instead of a directive such as -
Microphone command: Robot are you happy :
Robot nods head
servo(d14, 32) sleep(500) servo(d14,83) sleep(500) servo(d14,83) sleep(500) releaseall()
Apologies if there is a simple answer to this
Hazbot
Hazbot,
All you need to do is make a script and then execute it via speech recog config for the phrase you want.
Speech Command: Robot are you Happy
Execute: CommandControl("Nod", ScriptStart)
I'm at work so that's off the top of my head for the command line.
So basically you issue the voice command and it executes that command to run the script.
On my Wall-E I do something similar for waving and head nodding.
You would need to create an EZ-Script called "Nod". In it you place all the servo commands you have listed above.
You can also link to other scripts from within your script and build things up from there.
My omnibots do this. When I say "Omnibot's look left", it executes a script to turn the servo left, and within that script I run another script to drop the arms, and another script to blink the eyes.
So many ways to do things with scripting. I run a lot of random scripts. I pause them (typically 15 secs) when I have it execute voice commands then re-activate. Also the Personality control works great.
If you need help with scripting let me know. I'm fumbling my way through.
Like Lumpy said, im working on scripts for my Wall-E movement, i got it to do a multiple movements at the same time using relative servo + script (see my Wall-E video) and call it via CommandControl("Script Name", scriptstart), you can even put script within a script like this for even more complicated movement without duplicating the codes, may have to play with the pause time to get it right, i've had trouble where servos are jumpy because pause time is too short. Hope that help.
Robot nods head
servo(d14, 32) sleep(500) servo(d14,83) sleep(500) servo(d14,83) sleep(500) CommandControl("Script Name", scriptstart) releaseall()
Yep I think I've got it - thanks guys, (Louis & Lumpy) :it's one of those things you don't think about much until you want to give you robot character as you both have.
Cheers
It's great to watch the scripts in action.
As I give voice commands, certain scripts pause, others start, timers start/stop.
It's magical.
I use a Init script which gets run randomly from the Personailty Generator. So every 30-60 seconds it runs my Init script which resets everything back to default and restarts my random script.
I also like the script before voice cmd feature. It's great for adding an acknowledgment .wav/.mp3 and/or resetting arms/heads to neutral before executing another script.
I'm really having fun with Bob now..a neat little trick to use on friends is to ask a complicated question and finish with the command tag - ie . " Gee wiz Bob, it's going to be a stinking hot day today, does that make (Bob happy) - ControlCommand script is "Bob Happy" so Bob then goes into his script routine..in this case happy to Bob was having him throw his arms up and shaking his head. The combinations and fun here are endless...