Have a verbal conversation with your robot using your voice by navigating through menu options so your robot can perform tasks.
How to add the Conversational Menu robot skill
- Load the most recent release of ARC (Get ARC).
- Press the Project tab from the top menu bar in ARC.
- Press Add Robot Skill from the button ribbon bar in ARC.
- Choose the Audio category tab.
- Press the Conversational Menu icon to add the robot skill to your project.
Don't have a robot yet?
Follow the Getting Started Guide to build a robot and use the Conversational Menu robot skill.
How to use the Conversational Menu robot skill
Have a conversation with your robot using your voice by navigating through menu options so your robot can perform tasks. This is similar to how menu trees on phone systems work. You can define the menu tree in the configuration to run scripts based on options selected by the user with their voice. The menu tree can have as many branches as necessary.The robot will speak each menu prompt and then optionally speak each option to the user. The microphone on the robot or PC is used for the user's response. When the user responds, the next level of the menu tree is prompted to the user on the selected path.
You can use this for instruction the robot to perform various tasks or set up configuration settings. Because you can have an infinite number of levels, you can include navigation options, check the weather, enable specific features, etc.
Main Window

Configuration
Configuration - Menu
Options and prompts define the menu. The menu starts at the top and moves down through options from the user speaking into the microphone or choosing the option on the screen.

Configuration - Settings

1) Use EZB Speaker
If checked, the audio menu options will be spoken out of the EZB speaker.
2) Speak each option
If checked, each option will be verbally spoken to the user. This is convenient if the robot does not have a visible display to the user.
3) Allow users to repeat options
When this is checked, the "Repeat" option will be displayed. If a user says Repeat, the current option is repeated.
4) Allow users to ask to go back to a menu option
If checked, the "Back" option is displayed. If a user says Back, the last menu option is repeated.
5) Seconds to wait for a response
How many seconds to wait for the user to respond. If nothing is detected, the menu will exit.
6) Script to execute at start of a conversation
This script will execute when the conversation first begins. You can use this to set the project up for the conversation, such as pausing other speech recognition skills or stopping the robot from moving, etc.
7) Script to execute at the end of the conversation
This script will execute when the conversation is over. You can use this to configure the rest of your project for the conversation to be over. Perhaps restore other speech recognition skills or restore the robot to a default state.
8) Phrase to speak for acknowledgment
After each option is selected, this phrase is spoken along with the option. You can set it to things like "Got it master" or "Cool.":). If you do not want an acknowledgment, leave this blank.
Control Commands
There is one ControlCommand() that you can use to start the Conversation Menu robot skill. This command will instruct the conversation menu to begin.
Code:
ControlCommand("Conversation Menu", "Start");
I tried using the conversation menu but could only go to three items. It would not allow me to push the + button to add another. Not sure if it was a glitch on the screen or if I'm doing something wrong.
- allow users to say BACK to go up a menu option
- allow users to say REPEAT to repeat the current menu
- acknowledge option so the robot will speak every acknowledgment
See the manual above for more information.
- new layout for editing the menu items
cancel, repeat, back all work
I noticed you now have the print command in Blockly which I think can take the response say the number 10 and put it into a variable which can be manipulated after the fact. I'm new to this print function in Blockly can you guide me through a hypothetical scenario.
Hey Robot move conveyor ok how many inches 10 ok got it left or right right ok watch this the 10 could then be manipulated in a variable to create the proper amount of encoder ticks. If we can just get the number into a variable then I can do my thing to manipulate it.
The print command was most commonly used in basic, such as
10 print hello
Print (answer from speech recognition)=Answerforlength
Not sure what the blocks would look like
Rather than writing 10 individual scripts it would be just one time
Thanks!
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
Thanks!Code:
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.