Note: This tutorial assumes that you have completed the previous tutorials: qbhand Setup.
(!) Please ask about problems and questions regarding this tutorial on Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

qbhand GUI Control

Description: Control the qbhand motion through a GUI

Keywords: qbhand control GUI

Tutorial Level: BEGINNER

Next Tutorial: qbhand Waypoint Control


This control mode is the simpler and the one suggested to test that everything is working as expected. You are able to open and close the hand interactively, but nothing more than this.


  1. A qbhand properly connected to your system (cf. qbhand Setup tutorial).

  2. Set the current device ID in the launch file:
    1. Open the qb_hand_control/launch/gui_control.launch.

    2. Check if the device_id argument is set with ID you have annotated before.

    3. If not, simply change it with the current ID.


To start the ROS node open a terminal and execute the following command:

roslaunch qb_hand_control gui_control.launch

If you have made any modifications at the C++ code (this does not apply for .xml launch files and .yaml configuration files), remember to recompile the the whole Catkin Workspace (cf. qbhand ROS Packages Installation).

After a while a GUI should appear to screen with two empty dropdown menus, a red enable button below them, and a speed scaling slider at the bottom.

  1. Select the Controller Manager namespace from the left menu, e.g. /qbhand/controller_manager (where /qbhand/ is the current device namespace, modifiable from within the launch file). This enables the right menu which provides all the controllers available for the connected device.

  2. Select the qbhand controller: the only option available is the single synergy controller which acts on the motor position.

Be aware that the chosen controller must match the control_action parameter set in the launch file.

  1. Click the enable button (available only after the selection of the controller). A single slider will appear in the GUI to control the closure of the hand, which ranges from 0 (hand completely open) to 1 (hand completely closed).

  2. Move the slider to perform a complete grasp or to partially open/close the qbhand. You can also vary the speed through the bottom speed scaling slider if you like a faster/slower motion. No other timing constraints can be set in this mode.

If rviz is enabled (look at the launch file and see if use_rviz is set to true) you should see a virtual hand on screen performing a similar behavior. Be aware that the qbhand is desensorized and therefore it is not possible to know exactly the position of each finger: the screen visualization is just the result of an estimation of the closure value and may differ form the physical configuration of your qbhand (e.g. when grasping an object).

Wiki: qb_hand_control/Tutorials/qbhand GUI Control (last edited 2017-03-15 14:49:14 by AlessandroTondo)