Shadow Dexterous Hand

ROS Software Maintainer: Ugo Cupcic <software@shadowrobot.com>

The Shadow Dexterous Hand is a truly anthropomorphic approach to robot manipulation. With 20 actuated degrees of freedom, position and force sensors, and ultra sensitive touch sensors on the fingertips, the hand provides unique capabilities for problems that require the closest approximation of the human hand currently possible. The Shadow Dexterous Hand uses industry standard interfaces and can be used as a tele-operation tool or mounted on a range of robot arms as part of a robot system.

For more information check out the Dexterous Hand page on the Shadow Robot Company website.


For a typical user, we recommend installing our software directly from the apt repository This will ensure that you keep the latest released software on your computer. This section includes a brief introduction as to how to install our software, more details can be found in this User Manual.

ROS Indigo and Kinetic

Please note that information about ROS Indigo and Kinetic installations could be found here

We assume you've already installed ROS Fuerte, as detailed here.

Next install the following packages from the apt-get repositories:

sudo apt-get install ros-fuerte-shadow-robot ros-fuerte-shadow-robot-ethercat ros-fuerte-sr-visualization ros-fuerte-sr-teleop

If you have an EtherCAT Hand, you should create an overlay for the sr_config stack: this stack contains all the different configuration files which can be modified to reflect your specific system. You shouldn't use the one installed by default as they are defined for the simulated hand.

If you plan to modify some parts of our code, you can use an overlay to install some of the sources from our publicly available Launchpad repository on top of your existing installation.

Details of how to create overlays can be found here.

Once you've set up your workspace you can create an sr_config overlay like so:

rosws set sr_config bzr lp:sr_config

Capability Overview

  • shadow_robot: contains simulation software, utility packages etc. This is the core stack.

  • shadow_robot_ethercat: contains the code for running our etherCAT hand.

  • sr_contrib: contains experimental high level packages. If you write an interesting package, we'd be happy to add it to this stack.

  • sr_visualization: contains the GUI and visualisation tools.

  • sr_teleop: contains drivers for different tools used to teleoperate our hand (eg cyberglove)

  • sr_config: contains the configuration files. If you have one of our Hands, you should have an overlay of this configuration to make sure you don't lose your configuration when updating your system


Simulated Hand

Below is a list of basic commands to get the simulated hand up and running. For more details see this User Manual.

To start the simulated robot you can simply run:

roslaunch sr_hand gazebo_hand.launch

Or if you want a simulated Shadow Arm as well as our hand:

roslaunch sr_hand gazebo_arm_and_hand.launch

To start the GUI, run:

rosrun rqt_gui rqt_gui

We're using the rqt_gui for driving the hand and have implemented some plugins to help you control the hand. They can be found in the Shadow Robot item in the plugins menu.

To start rviz run the command below. You'll need to select a base link and add a Robot Model from the add button in rviz.

rosrun rviz rviz

Real Hand

For details of how to get the real hand up and running please see this User Manual.


Please contact us: software@shadowrobot.com.

Wiki: Robots/Shadow_Hand (last edited 2018-11-13 14:09:50 by Andriy Petlovanyy)