Included with RoboticsLab v1.12 are most of the necessary files to run the Allegro Hand. The RoboticsLab SDK includes all of the model files and device files but does not include the MS Visual Studio solution and source code. That source, along with some setup instructions, are included below.


Download Project


To avoid changing numerous paths in the project and source code, it is best to unzip the project into the following directory:

[RoboticsLab Install Directory]\examples\casestudy\RealtimeRobotics\AllegroHand_dist\

If the path does not exist, please create the necessary folders.

Other files

Control XDL

Within the AllegroHand_dist directory, you will find a folder titles "other_files". Within this folder are two XDL files used to link to the controller DLL and set properties (like left or right) for the hand controller. Move both of these files to the following directory:

[RoboticsLab Install Directory]\bin\controls\

Both of these files are identical except for the property, "whichHand", which specifies if the hand is a left or right hand.

Device DMLs

The encoder and motor DMLs hold information like joint directions and offsets. These DMLs are therefore made specifically for each Allegro Hand. The DML files for your Allegro Hand can be downloaded from your customer page on this wiki. Look for the link just below the the table of directions and offsets for the respective hand on your page.

The DML folder contains 16 encoder DMLs and 16 motor DMLs along with DMLS for CAN and other other communication devices. Copy these files to the following folder, replacing all duplicates. You may need admin privileges to do this.

 [RoboticsLab Install Directory]\bin\models\Etc\ERHand\devices\

Note: If device DMLs are not available on your customer-specific page, please email

MSVS Solution

The MSVS2008 solution is located in the folder "msvc9" in the "AllegroHand_dist" directory.

Important: For the ability to launch rPlayer and rPlot and rLicenseManager, you must run MSVS with administrator privileges.

There are two applications included in this solution:

  • simAllegroHand_dist runs a dynamic simulation of the Allegro Hand using the control_AHAS control plugin.
  • appAllegroHand_dist runs the actual Allegro Hand hardware via a CAN interface using the same controller, control_AHAS.

Note: For both of these projects, you will need to set the working directory to either:


or if you put the files in the suggested directory, you can set it to


To run either of the applications, set it as the start-up project (right-click the project > Set as StartUp Project), compile, and hit "run"!

Left or Right

Find this line in both applications, simAllegroHand_dist and appAllegroHand_dist:

string_type control_path = _T("controls/control_AHAS_R.xdl");     // For a right Allegro Hand

If you are using a right Allegro Hand, you can leave this line as is. If you are using a left hand, then simply change the "R" to an "L" like so:

string_type control_path = _T("controls/control_AHAS_L.xdl");     // For a left Allegro Hand

Using Your CAN Interface

Out of the box, Allegro Hand and Allegro Application Studio/RoboticsLab support five different CAN interfaces:

  • Softing PCI
  • Kvaser PCI
  • Peak PCI
  • Peak USB
  • NI USB

To use any of these CAN interfaces, you must load the proper Allegro Hand AML file. In the application, appAllegroHand_dist, find the line:

string_type aml_path = _T("models/Etc/ERHand/ERHand_RT_PeakCAN.aml");

Surrounding this line, you will see commented lines referring to each of your twelve (12) options for Allegro Hands. There are six (6) CAN options available and a separate model for Left and Right hands. Comment out the default right-handed Peak CAN USB model and un-comment the one you will be using.

The source code for all of these interfaces is included in the Allegro Hand MSVS solution above.

If you need to implement support for another CAN interface, please see the following page for support:
Allegro Hand CAN Protocol (English)
File:AllegroHandCanProtocol KR.pdf (Korean, 한국어)

Please see the RoboticsLab documentation for information on creating a CAN System Device and including it in the Allegro Hand AML model file.

Add your comment
Allegro Hand welcomes all comments. If you do not want to be anonymous, register or log in. It is free.

Copyright & Trademark Notice
Allegro, the Allegro logo, RoboticsLab, the RoboticsLab logo, and all related files and documentation are Copyright ⓒ 2008-2016 WONIK ROBOTICS. All rights reserved. RoboticsLab and Allegro are trademarks of WONIK ROBOTICS. All other trademarks or registered trademarks mentioned are the properties of their respective owners.

SimLab's Allegro Hand is based on licensed technology developed by the Humanoid Robot Hand research group at the Korea Institute of Industrial Technology (KITECH).

Any references to the BHand Library or the Allegro Hand Motion and/or Grasping Library refer to a library of humanoid robotic hand grasping algorithms and motions developed and published by KITECH researchers.
J.-H. Bae, S.-W. Park, D. Kim, M.-H. Baeg, and S.-R. Oh, "A Grasp Strategy with the Geometric Centroid of a Groped Object Shape Derived from Contact Spots," Proc. of the 2012 IEEE Int. Conf. on Robotics and Automation (ICRA2012), pp. 3798-3804

Wiki maintained by Sean Yi <>

KitechLogo.jpg Wonikrobotics logo.png

Whos here now:   Members 0   Guests 0   Bots & Crawlers 1