qbrobotics logo

This repository contains just few examples of how to properly set up several qbrobotics® devices to work together on ROS related applications.

Please, refer to the following wikis respectively if you are dealing with a qbhand, a qbmove, or even both: - qbhand - qbmove

Table of Contents

  1. Installation
  2. Usage
  3. ROS Packages Overview
  4. Support, Bugs and Contribution
  5. Purchase


If you have not yet installed the ROS related packages for either your qbhands or qbmoves (or even both if you need to use them together), please follow their wikis first.

To install also this packages, simply clone in your Catkin Workspace as you have done for the others. Note that there is no need to recompile since this repository contains only example configurations based on the other packages.

Actually the installation is not required. Nonetheless it is recommended to follow the proposed approach for your customizations to keep everything tidy and structured.


Each system configuration has a unique name. And that name is used as prefix for all the configuration files: - qb_chain_description/rviz/<unique_name>.rviz: the rviz configuration file. - qb_chain_description/urdf/<unique_name>.urdf.xacro: the urdf/xacro model describing the physical chained system by connecting together simpler qbhand or qbmove modules (and possibly other parts). - qb_chain_control/launch/<unique_name>_control.launch: the launch file to start the control Node for the given chained system. Be aware that this must strictly match the above URDF model of your actual system, e.g. device types, joint names, ... - qb_chain_control/config/<unique_name>_waypoints.yaml [optional]: the waypoints that the chained system must follow if use_waypoints is set.

After you have looked at the proposed examples you can launch a given configuration by executing:

roslaunch qb_chain_control <unique_name>_control.launch

Every launch file has a structure close to the ones explained in details in qbhand and qbmove packages. The only difference is that the argument robot_hardware (required by the combined_robot_hw) plays a crucial role when using several devices together, i.e. its names must match the ones of the loaded hardware interfaces to bring up everything correctly.

On the other hand, almost all the arguments used in the single-device launch files hold even for the chained system. Have a look at the following example:


Please remember that in a multi-device configuration, each qbrobotics® device connected to your system must have a unique ID.

ROS Packages Overview

qb_chain: qb_chain_control, qb_chain_description

Support, Bugs and Contribution

Since we are not only focused on this project it might happen that you encounter some trouble once in a while. Maybe we have just forget to think about your specific use case or we have not seen a terrible bug inside our code. In such a case, we are really sorry for the inconvenience and we will provide any support you need.

To help you in the best way we can, we are asking you to do the most suitable of the following steps:

  1. It is the first time you are holding a qbrobotics® device, or the first time you are using ROS, or even both: it is always a pleasure for us to solve your problems, but please consider first to read again the instructions above and the ROS tutorials. If you have ROS related questions the right place to ask is ROS Answers.
  2. You are a beginner user stuck on something you completely don't know how to solve or you are experiencing unexpected behaviour: feel free to contact us at support+ros at, you will receive the specific support you need as fast as we can handle it.
  3. You are quite an expert user, everything has always worked fine, but now you have founded something strange and you don't know how to fix it: we will be glad if you open an Issue in the package of interest on our Bitbucket.
  4. You are definitely an expert user, you have found a bug in our code and you have also correct it: it will be amazing if you open a Pull Request in the package of interest on our Bitbucket; we will merge it as soon as possible.
  5. You are comfortable with qbrobotics® products but you are wondering whether is possible to add some additional software features: feel free to open respectively an Issue or a Pull Request in the package of interest on our Bitbucket, according to whether it is just an idea or you have already provided your solution.

In any case, thank you for using qbrobotics® solutions.


If you have just found out our company and you are interested in our products, come to visit us and feel free to ask for a quote.