Repository Summary

Checkout URI https://bitbucket.org/qbrobotics/qbshin-ros.git
VCS Type git
VCS Version production-humble
Last Updated 2024-03-19
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

README

qb SoftHand Industry is an adaptable yet robust robotic hand gripper for collaborative robotic arms and for humanoid robots. It is in scale 1:1 with the average human hand and it is similarily composed by 19 completely desensorized phalanges and a flat palm.

The specific system of tendons connected to just a single motor provides the mechanical adaptability of the grasp to the shape and softness of any object without damaging it, i.e. exploiting the intrinsic capability of soft robots to continuously deform in a huge variety of possible configurations through interaction with external items.

In addition, the single actuator fixed directly on the back of the hand barely affects the total encumbrance and weight (only 480 grams) of the device.

Table of Contents

  1. Installation
    1. Requirements
    2. Ubuntu Packages
    3. Sources
    4. Device Setup
  2. Usage
    1. Launch File
    2. GUI Control
    3. API Control
  3. Support, Bugs and Contribution
  4. Purchase

Installation

Requirements

If you have never set it up, you probably need to add your linux user to the dialout group to grant right access to the serial port resources. To do so, just open a terminal and execute the following command:

sudo gpasswd -a <user_name> dialout

where you need to replace the <user_name> with your current linux username.

Note: don’t forget to logout or reboot.

Ubuntu Packages

If you prefer to leave your colcon workspace as it is, you can simply install all the ROS packages from the Ubuntu official repositories:

sudo apt update
sudo apt install ros-humble-qb-softhand-industry

Sources

Since you are interested in the ROS2 interfaces for our devices, it is assumed that you are familiar at least with the very basics of the ROS2 environment. If not, it might be useful to spend some of your time with ROS2 tutorials. After that, don’t forget to come back here and start having fun with our Nodes.

Install the qb SoftHand Industry packages for a ROS user is straightforward. Nonetheless the following are the detailed steps which should be easy to understand even for ROS beginners:

  1. Clone the qb_softhand_industry packages to your Catkin Workspace, e.g. ~/colcon_ws:
   cd `~/colcon_ws/src`
   git clone https://bitbucket.org/qbrobotics/qbshin-ros.git
   cd qbshin-ros
   git checkout production-humble
   
  1. Install ROS dependencies using rosdep:
   cd `~/colcon_ws`
   rosdep install --from-paths src --ignore-src -r -y
   
  1. Compile the packages using colcon:
   colcon build
   

Note: depending on your ROS installation, you may need some extra packages to properly compile the code. Please use sudo apt install ros-humble-<pkg-name> for each package missing.

  1. If you were not familiar with ROS you should be happy now: everything is done! Nonetheless, if you encounter some troubles during the compilation, feel free to ask for support on our Bitbucket.

Device Setup

To connect a qb SoftHand Industry to your system is read carefully the manual to understand all the requirements and advices. The communication can happen via Ethernet, ( default address 192.168.1.110) in this case you have to configure your wired connection with an IP of the same family. Alternatively USB serial connection can be established with the device (Mini-USB type B cable for Elmo driver is needed).

Usage

Launch file

Once the device is physically connected to your system, you can launch the device node with the following command line:

ros2 launch qb_softhand_industry_ros2_control qb_softhand_industry_bringup.launch.py use_rviz:=true 

The arguments explained
  • use_rviz [false]: Choose whether or not to use rviz. If enabled you should see a virtual hand on screen performing a similar behavior.

    Be aware that the qb SoftHand 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 from the real configuration of your qb SoftHand (e.g. when grasping an object).

Additional arguments
  • ip_address [192.168.1.110]: The IP address of the ELMO driver.
  • flange_angle [0]: The angle of the configurable flange (in radians).
  • use_only_ethernet [true]: Choose whether or not to look SoftHand Industry on serial ports.
  • serial_port_name []: Use explicit serial port name, leave empty to search for serial ports.
  • device_id [1]: The number assigned for that particular device, added in order to use multiple devices. Supported values from 1 to 5 otherwise edit controllers list in qb_softhand_industry_controllers.yaml
Command the device

If everything went well, the launch file should have loaded and started the ros2 controller forward position controller. In order to move the hand, commands have to be published on the topic /forward_position_controller/commands. This can be done with the following command:

ros2 topic pub /qbshin[DEVICE_ID]/forward_position_controller/commands std_msgs/msg/Float64MultiArray "layout:
  dim: []
  data_offset: 0
data: [VALUE]" -1

[VALUE] must be replaced with a number between 0 (fully open) and 1 (fully close).

File truncated at 100 lines see the full file

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repo symbol

qb_softhand_industry repository

Repository Summary

Checkout URI https://bitbucket.org/qbrobotics/qbshin-ros.git
VCS Type git
VCS Version production-noetic
Last Updated 2024-02-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

README

qb SoftHand Industry is an adaptable yet robust robotic hand gripper for collaborative robotic arms and for humanoid robots. It is in scale 1:1 with the average human hand and it is similarily composed by 19 completely desensorized phalanges and a flat palm.

The specific system of tendons connected to just a single motor provides the mechanical adaptability of the grasp to the shape and softness of any object without damaging it, i.e. exploiting the intrinsic capability of soft robots to continuously deform in a huge variety of possible configurations through interaction with external items.

In addition, the single actuator fixed directly on the back of the hand barely affects the total encumbrance and weight (only 480 grams) of the device.

Table of Contents

  1. Installation
    1. Requirements
    2. Ubuntu Packages
    3. Sources
    4. Device Setup
  2. Usage
    1. Launch File
    2. GUI Control
    3. API Control
  3. Support, Bugs and Contribution
  4. Purchase

Installation

Requirements

If you have never set it up, you probably need to add your linux user to the dialout group to grant right access to the serial port resources. To do so, just open a terminal and execute the following command:

sudo gpasswd -a <user_name> dialout

where you need to replace the <user_name> with your current linux username.

Note: don’t forget to logout or reboot.

Ubuntu Packages

If you prefer to leave your catkin workspace as it is, you can simply install all the ROS packages from the Ubuntu official repositories:

sudo apt update
sudo apt install ros-noetic-qb-softhand-industry

Sources

Since you are interested in the ROS interfaces for our devices, it is assumed that you are familiar at least with the very basics of the ROS environment. If not, it might be useful to spend some of your time with ROS and catkin tutorials. After that, don’t forget to come back here and start having fun with our Nodes.

Install the qb SoftHand Industry packages for a ROS user is straightforward. Nonetheless the following are the detailed steps which should be easy to understand even for ROS beginners:

  1. Clone the qb_softhand_industry packages to your Catkin Workspace, e.g. ~/catkin_ws:
   cd `~/catkin_ws/src`
   git clone https://bitbucket.org/qbrobotics/qbshin-ros.git
   
  1. Install ROS dependencies using rosdep:
   cd `~/catkin_ws`
   rosdep install --from-paths src --ignore-src -r -y
   
  1. Compile the packages using catkin:
   catkin build
   

Note: depending on your ROS installation, you may need some extra packages to properly compile the code. Please, be sure that you have already installed at least ros-noetic-ros-controllers, ros-noetic-transmission-interface, ros-noetic-joint-limits-interface, ros-noetic-combined-robot-hw, and their dependencies (e.g. use sudo apt install <ros-pkg>).

  1. If you were not familiar with ROS you should be happy now: everything is done! Nonetheless, if you encounter some troubles during the compilation, feel free to ask for support on our Bitbucket.

Device Setup

To connect a qb SoftHand Industry to your system is read carefully the manual to understand all the requirements and advices. The communication can happen via Ethernet, ( default address 192.168.1.110) in this case you have to configure your wired connection with an IP of the same family. Alternatively USB serial connection can be established with the device (Mini-USB type B cable for Elmo driver is needed).

Usage

Launch file

Once the device is physically connected to your system, you can launch the device node with the following command line:

roslaunch qb_softhand_industry_control shin_control.launch use_rviz:=true use_controller_gui:=true

The arguments explained
  • use_rviz [false]: Choose whether or not to use rviz. If enabled you should see a virtual hand on screen performing a similar behavior.

    Be aware that the qb SoftHand 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 from the real configuration of your qb SoftHand (e.g. when grasping an object).

  • use_controller_gui [false]: Choose whether or not to use the controller GUI.

Additional arguments
  • control_duration [0.001]: The duration of the control loop expressed in seconds.
  • ip_address [192.168.1.110]: The IP address of the ELMO driver.
  • flange_angle [0]: The angle of the configurable flange (in radians).
  • max_repeats [3]: The maximum number of consecutive repetitions to mark retrieved data as corrupted.
  • use_only_ethernet [true]: Choose whether or not to look SoftHand Industry on serial ports.
  • serial_port_name []: Use explicit serial port name, leave empty to search for serial ports.

The followings are particular control modes which are enabled with few parameters, but the concepts of this paragraph hold for all of them.

1. GUI Control

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

You will probably need this only the very first times and for debugging.

To start this mode just add use_controller_gui:=true to the general roslaunch command.

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. /<robot_namespace>/control/controller_manager (where <robot_namespace> is an additional argument of the launch file needed with several devices). This enables the right menu which provides all the controllers available for the connected device.

File truncated at 100 lines see the full file