[Documentation] [TitleIndex] [WordIndex

Allegro Hand



ROS Software Maintainer: Zihun Kye < zihun.kye@wonik.com >

Allegro Hand ROS stack: allegro_hand_ros

IMPORTANT: This software is compatible with both 32-bit and 64-bit systems. Make sure to install the correct Allegro Hand Grasping library: libBHand

Tested and working on:

Ubuntu 12.04 LTS (kernel 3.2.0 - 3.13.0), ROS Fuerte
Ubuntu 12.04 - 14.04 LTS (kernel 3.13.0), ROS Groovy

Note: Extremely unstable control on ROS Electric. Also, no rviz visualization.


Allegro Hand is a low-cost and highly adaptive robotic hand.
With four fingers and sixteen independent torque-controlled joints,
it's the perfect platform for grasp and manipulation research.

More information can be found on the Allegro Hand wiki:


See the README file included in the package.

Hardware and software documentation as well as purchasing information can be found on the Allegro Hand wiki:

Using ROS



Create Workspace

We will install the Allegro Hand stack, allegro_hand_ros, in a ROS workspace to allow for easy editing and version control. To take advantage of these features, you must first install rosws.

Create the workspace and work environment

rosws init ~/allegro_ws /opt/ros/<distro>
source ~/allegro_ws/setup.bash

You can also add the source ~/... line to ~/.bashrc to source setup.bash for every newly opened terminal.

Peak CAN Driver

Installation instructions are from the libpcan package wiki page.

First you must download the Peak PCAN driver and ROS package, libpcan, to your ROS stacks directory or workspace:

cd ~/allegro_ws
rosws set libpcan --git https://github.com/ipa320/cob_extern.git
rosws update libpcan
cd ~/allegro_ws/libpcan/
git checkout <distro|groovy**>
source ~/allegro_ws/setup.bash

**If you are using a version other than groovy and have installation issues, please email the maintainer of the Allegro Hand ROS package. Note that libpcan fuerto branch works for kernel 3.2.0 but has compiling issues with kernel 3.13.0 under ROS Fuerte while libpcan groovy branch works for both kernel 3.2.0 and kernel 3.13.0 under ROS Fuerte and Groovy.

Initialize rosdep (This is not necessary if done before):

sudo rosdep init
rosdep update

Install dependencies and build:

rosdep install libpcan
rosmake libpcan

Install the module:

roscd libpcan
sudo ./install_pcan.sh

After this, the driver is installed for your system (and your kernel, so you have to repeat the procedure if your kernel is changed).

Possible Error: When running sudo ./install_pcan.sh

can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
File to patch:

Solution: Comment out patch command in line 4 of the script.

patch -p0 < patch.diff
#patch -p0 < patch.diff

Possible Error: When running sudo ./install_pcan.sh

./install_pcan.sh: 7: cd: can't cd to build/peak-linux-driver-7.6

Solution: Change the driver version number in line 1 of the script to the driver version number(x.x) used in the "build" directory.


Possible Error: When running sudo ./install_pcan.sh

insmod: error inserting 'pcan.ko': -1 File exists

Solution: Comment out insmod command in the script.

insmod pcan.ko
#insmod pcan.ko

To activate the driver you have to restart the system or manually load the driver with:

sudo modprobe pcan

After restart (or modprobe) the driver will be activated automatically.

You can verify the result with the command:

ls -l /dev/pcan*

Allegro Grasping Library

Download, build, and install the correct Allegro Hand Grasping library: libBHand

Allegro Hand Stack

Clone the Allegro Hand ROS git repository, allegro_hand_ros, to your ROS workspace:

cd ~/allegro_ws
rosws set allegro_hand_ros --git  https://github.com/simlabrobotics/allegro_hand_ros.git
rosws update allegro_hand_ros


git clone  https://github.com/simlabrobotics/allegro_hand_ros.git
rosws set allegro_hand_ros

Note: Using the rosws update command allows git, svn and hg repositories within the workspace to all be updated with the same command.

Source setup.bash again to recognize stack and packages.

source ~/allegro_ws/setup.bash


cd ~/allegro_ws/allegro_hand_ros

Note: If you receive the error "cannot find -lBHand" then you most likely installed the wrong version of the BHand library (libBHand) (32-bit vs 64-bit).


Tutorials are available on the Allegro Hand Wiki.


If you would like to contribute to the ROS software for Wonikrobotics's Allegro hand, please contact Wonikrobotics < robotics.biz@wonik.com >. Thank you.

Suggest a Feature

Report a Bug


2024-07-13 12:37