Lab 32b: Dialog - robotic-picker-sp22/fetch-picker GitHub Wiki
In order to create effective turn-taking interactions, you'll need to think about explicitly managing all of the robot's actions with respect to what the user is doing. A lot can go wrong:
- You may fail to recognize what the person said
- The user may say something you weren't expecting
- The person may walk away in the middle of the interaction
Representing the interaction
Hopefully you've come up with some interactions for your project. Try scripting out the "happy path" through an interaction, where the system and the user both operate exactly as you hope they will.
Test it out to see what issues come up.
Try having another team member or classmate perform the interaction. Note the most frequent issues.
Handling failure
Starting with the most common issues, try to make your interaction more robust. Your goal should be that the robot never goes into brick mode---waiting for an utterance that'll never come.
Making it friendly
Now that you have a reasonably reliable interaction, see what animations you can add to make it more natural. For instance, can you make Kuri's lights pulse when she's waiting for an utterance? Can you make her look around if she loses track of whoever was speaking?