AWS RoboMaker
Developer Guide

Voice Commands

In this section, explore a robot that accepts commands through natural language text and voice in a simulated bookstore using Amazon Lex. The robot supports the commands "move [direction] [rate]", "turn [direction] [rate]", and "stop". Each command is acknowledged and then executed.

Before you use AWS RoboMaker for the first time, complete the tasks in Create an Account. Then, in the AWS RoboMaker console, launch the Voice Commands sample application.

Use Natural Language Text to Move the Robot

Use rqt to view images from the robot's camera.

To view simulated camera images

  1. Sign in to the AWS RoboMaker console at https://us-west-2.console.aws.amazon.com/robomaker/home/.

  2. In the AWS RoboMaker console, choose Simulation jobs on the left and then select the Voice Commands simulation job.

  3. In the Simulation details screen, in the Simulation tools section, select Gazebo. Zoom in on the robot. There are a series of obstacles positioned in front of it.

  4. In the Simulation details screen, in the Simulation tools section, select terminal.

  5. In terminal, type in the following commands to set up the ROS environment and run the text command tool:

    BUNDLE_CURRENT_PREFIX=~/workspace/robot-application/bundle source ~/workspace/robot-application/bundle/setup.sh rosrun voice_interaction_robot text_input.py
  6. Type in the following to see the robot collide with the obstacles. The robot will be moving forward at 0.4 meters per second.

    move forward 0.4

    The robot will try to move forward until it is told to stop. The faster the robot moves, the more the obstacles will be displaced. Reasonable speeds ar 0.3 to 0.5 meters per second.

    You can also move the robot backward:

    move backward 0.4
  7. The robot can be commanded to turn clockwise or counterclockwise. For example:

    turn clockwise .5 turn counterclockwise .65

    The turn rate is radians per second. Values between 0.4 and 0.78 are reasonable for the robot.

  8. Type stop to stop the robot.