How-to: control the mobile base#

The robot base can be teleoperated by using the PAL Teleop functionality through its graphical joystick. The joystick is available both on the Rviz graphical interface or the WebGUI.

  • Make sure the robot is undocked

  • Make sure that the robot has sufficient space to move around

The joystick controls both linear and angular velocities at the same time.

../_images/velocities_robot.svg

Moving the base with Rviz Map Editor#

Launch the commands listed to launch PAL’s Rviz Map editor with a specific file for navigation. In order to ensure that rviz works properly, make sure that the robot computer is able to resolve the development computer hostname.

export ROS_MASTER_URI=http://ari-0c:1131
export ROS_IP=10.68.0.128
rosrun rviz rviz -d `rospack find ari_2dnav`/config/rviz/navigation.rviz

For more details on the Map Editor and how to use it for navigation, refer to Laser-based SLAM and path planning on the robot. In order to teleoperate the robot you only need the PAL Teleop and DockUndock panels.

Guide the red circle of the graphical joystick towards the direction you wish the robot to move

../_images/ARI_navigation11.png

Moving the base with WebGUI#

You may also access the graphical joystick through the Web GUI, from the Dashboard tab. Open the graphical joystick by pressing the lower-left icon, and drag the orange circle towards the direction you wish to move the robot. Refer to the WebGUI Teleoperation tab for more details.

../_images/teleop_webgui.png

Mobile base control ROS API#

At user level, linear and rotational speeds can be sent to the mobile base controller using the following topic:

/mobile_base_controller/cmd_vel

These velocities are specified in meters per second and are translated to wheel angular velocities internally.

Different ROS nodes publish velocity commands to the mobile base controller through the /mobile_base_controller/cmd_vel topic. The graphical joystick of Rviz of WebGUI are translated into velocity commands directly through Rviz interface. The move_base node on the other hand is the one in charge of the autonomous navigation, and publishes in a topic the velocity commands required to reach a goal.

../_images/base_diagram.png