Difference between revisions of "Speech Recognition"
(→Setup audio devices) |
(→Commands recognized by Robotino) |
||
Line 31: | Line 31: | ||
==Commands recognized by Robotino== | ==Commands recognized by Robotino== | ||
+ | <pre> | ||
+ | ROBOTINO STOP | ||
+ | |||
+ | ROBOTINO ROTATE *NUMBER* DEGREES | ||
+ | ROBOTINO ROTATE *NUMBER* *NUMBER* DEGREES | ||
+ | ROBOTINO ROTATE *NUMBER* *NUMBER* *NUMBER* DEGREES | ||
+ | |||
+ | ROBOTINO ROTATE MINUS *NUMBER* DEGREES | ||
+ | ROBOTINO ROTATE MINUS *NUMBER* *NUMBER* DEGREES | ||
+ | ROBOTINO ROTATE MINUS *NUMBER* *NUMBER* *NUMBER* DEGREES | ||
+ | |||
+ | ROBOTINO MOVE FORWARD *NUMBER* METERS | ||
+ | ROBOTINO MOVE FORWARD *NUMBER* *NUMBER* METERS | ||
+ | ROBOTINO MOVE FORWARD *NUMBER* *NUMBER* *NUMBER* METERS | ||
+ | ROBOTINO MOVE FORWARD *NUMBER* CENTIMETERS | ||
+ | ROBOTINO MOVE FORWARD *NUMBER* *NUMBER* CENTIMETERS | ||
+ | ROBOTINO MOVE FORWARD *NUMBER* *NUMBER* *NUMBER* CENTIMETERS | ||
+ | |||
+ | ROBOTINO MOVE BACKWARD *NUMBER* METERS | ||
+ | ROBOTINO MOVE BACKWARD *NUMBER* *NUMBER* METERS | ||
+ | ROBOTINO MOVE BACKWARD *NUMBER* *NUMBER* *NUMBER* METERS | ||
+ | ROBOTINO MOVE BACKWARD *NUMBER* CENTIMETERS | ||
+ | ROBOTINO MOVE BACKWARD *NUMBER* *NUMBER* CENTIMETERS | ||
+ | ROBOTINO MOVE BACKWARD *NUMBER* *NUMBER* *NUMBER* CENTIMETERS | ||
+ | |||
+ | ROBOTINO MOVE LEFT *NUMBER* METERS | ||
+ | ROBOTINO MOVE LEFT *NUMBER* *NUMBER* METERS | ||
+ | ROBOTINO MOVE LEFT *NUMBER* *NUMBER* *NUMBER* METERS | ||
+ | ROBOTINO MOVE LEFT *NUMBER* CENTIMETERS | ||
+ | ROBOTINO MOVE LEFT *NUMBER* *NUMBER* CENTIMETERS | ||
+ | ROBOTINO MOVE LEFT *NUMBER* *NUMBER* *NUMBER* CENTIMETERS | ||
+ | |||
+ | ROBOTINO MOVE RIGHT *NUMBER* METERS | ||
+ | ROBOTINO MOVE RIGHT *NUMBER* *NUMBER* METERS | ||
+ | ROBOTINO MOVE RIGHT *NUMBER* *NUMBER* *NUMBER* METERS | ||
+ | ROBOTINO MOVE RIGHT *NUMBER* CENTIMETERS | ||
+ | ROBOTINO MOVE RIGHT *NUMBER* *NUMBER* CENTIMETERS | ||
+ | ROBOTINO MOVE RIGHT *NUMBER* *NUMBER* *NUMBER* CENTIMETERS | ||
+ | |||
+ | *NUMBER* = ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE | ||
+ | </pre> |
Revision as of 15:30, 22 February 2011
Contents
Introduction
Speech recognition
Robotino has already been trained for a voice but this may not work for everyone. In case it doesn't, then a new acoustic model will have to be created for that person. There are two ways to do this
- Recommended The acoustic model is created by us and we just need your training data -> Recording data for speech recognition training
- Creating the acoustic model yourself
Setup audio devices
When the Logitech ClearChat headset is plugged into Robotino's USB port, the udev rule "/etc/udev/rules.d/99-robotinosr.rules" matches
SUBSYSTEMS=="usb", KERNEL=="hiddev[0-9]*", SYSFS{idVendor}=="046d", SYSFS{idProduct}=="0a12", RUN+="/usr/local/OpenRobotinoAPI/1/daemons/srd.sh start", SYMLINK+="headset"
udev runs "/usr/local/OpenRobotinoAPI/1/daemons/srd.sh start"
Copy "/etc/udev/rules.d/99-robotinosr.rules" to "/etc/udev/rules.d/99-myheadset.rules" and modify the new rule to fit your hardware. How to do this can be read here.
"/usr/local/OpenRobotinoAPI/1/daemons/srd.sh" uses the "/usr/local/OpenRobotinoAPI/1/daemons/configure_alsa.sh" to write a valid alsa configuration to "/root/.asoundrc". The audo interface from which card and device number are taken is given in "/etc/robotino/sr/devicename". Modify this file to match the output from "aplay -l".
Test the setup by running "/usr/local/OpenRobotinoAPI/1/daemons/configure_alsa.sh" and see if "/root/.asoundrc" is reasonable. Then run "/usr/local/OpenRobotinoAPI/1/daemons/srd.sh start". If this works test your udev rule by detaching and reattaching your USB audio device and see if srd comes up.
Commands recognized by Robotino
ROBOTINO STOP ROBOTINO ROTATE *NUMBER* DEGREES ROBOTINO ROTATE *NUMBER* *NUMBER* DEGREES ROBOTINO ROTATE *NUMBER* *NUMBER* *NUMBER* DEGREES ROBOTINO ROTATE MINUS *NUMBER* DEGREES ROBOTINO ROTATE MINUS *NUMBER* *NUMBER* DEGREES ROBOTINO ROTATE MINUS *NUMBER* *NUMBER* *NUMBER* DEGREES ROBOTINO MOVE FORWARD *NUMBER* METERS ROBOTINO MOVE FORWARD *NUMBER* *NUMBER* METERS ROBOTINO MOVE FORWARD *NUMBER* *NUMBER* *NUMBER* METERS ROBOTINO MOVE FORWARD *NUMBER* CENTIMETERS ROBOTINO MOVE FORWARD *NUMBER* *NUMBER* CENTIMETERS ROBOTINO MOVE FORWARD *NUMBER* *NUMBER* *NUMBER* CENTIMETERS ROBOTINO MOVE BACKWARD *NUMBER* METERS ROBOTINO MOVE BACKWARD *NUMBER* *NUMBER* METERS ROBOTINO MOVE BACKWARD *NUMBER* *NUMBER* *NUMBER* METERS ROBOTINO MOVE BACKWARD *NUMBER* CENTIMETERS ROBOTINO MOVE BACKWARD *NUMBER* *NUMBER* CENTIMETERS ROBOTINO MOVE BACKWARD *NUMBER* *NUMBER* *NUMBER* CENTIMETERS ROBOTINO MOVE LEFT *NUMBER* METERS ROBOTINO MOVE LEFT *NUMBER* *NUMBER* METERS ROBOTINO MOVE LEFT *NUMBER* *NUMBER* *NUMBER* METERS ROBOTINO MOVE LEFT *NUMBER* CENTIMETERS ROBOTINO MOVE LEFT *NUMBER* *NUMBER* CENTIMETERS ROBOTINO MOVE LEFT *NUMBER* *NUMBER* *NUMBER* CENTIMETERS ROBOTINO MOVE RIGHT *NUMBER* METERS ROBOTINO MOVE RIGHT *NUMBER* *NUMBER* METERS ROBOTINO MOVE RIGHT *NUMBER* *NUMBER* *NUMBER* METERS ROBOTINO MOVE RIGHT *NUMBER* CENTIMETERS ROBOTINO MOVE RIGHT *NUMBER* *NUMBER* CENTIMETERS ROBOTINO MOVE RIGHT *NUMBER* *NUMBER* *NUMBER* CENTIMETERS *NUMBER* = ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE