local motion voice command_interface - socrob/mbot_documentation GitHub Wiki

Local motion voice command interface

Interface to move the robot locally via speech

Useful to give verbal commands to the robot to move its base locally to a desired relative position.

Example: move forward, move backwards, turn right, turn left.

Pipeline goes like this:

speech recognition (string) -> mbot_command_translator (interpret) -> send command to controller (geometry_msgs/Twist)

launch procedure:

    roslaunch mbot_command_translator mbot_command_translator.launch
    rostopic pub --once /recognized_speech std_msgs/String "data: 'move left'"

To launch the controller:

    roslaunch mcr_relative_base_controller relative_base_controller.launch

To start the motion:

    rostopic pub /mcr_navigation/relative_base_controller/event_in std_msgs/String "data: 'e_start'"

To stop the motion:

    rostopic pub /mcr_navigation/relative_base_controller/event_in std_msgs/String "data: 'e_stop'"

To launch the teleoperation via joypad:

    roslaunch mbot_twist_mux twist_mux.launch

Notice that the relative controller has a dynamic reconfigure interface enabled:

It is possible to adjust x, y, theta velocity and distance tolerance

    rosrun rqt_reconfigure rqt_reconfigure
    roslaunch mbot_teleop_joypad teleop_joypad.launch

To launch the simulation (ridgeback! wait some time for the mbot):

    roslaunch ridgeback_gazebo ridgeback_world.launch