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