Controlling a Robot Hand in Simulation and Reality

Project Enquiry:

Fields with * are mandatory


This master thesis was made at the Institute of Technology Stockholm and is a part of a robot hand project called 10-X with the aim to develop a low-cost robot hand that is light and strong.  The project specification is to further improve the ability to control the robot hand in a user friendly way.

This has been done by implementing a controller, earlier used and developed at KTH, which is intuitive and easy to customize after the needs in different kinds of grasps. To make the controller easy to use a user interface has been made.

Before the implementation of the controller was made on the real hand it was tested and development on a simulation created in MATLAB/simulink with help from a graphic physics engine called GraspIt! The movement of the robot finger is effected of the force from a leaf spring and a tendon that bends the finger. Also the finger is exposed of contact forces and all these components had to be modeled in the simulation to make the finger act properly.


Thru the earlier thesis projects a working hand prototype has been developed and built. It is also good to have a simulated model, even though the robot hand already exists in the real world.

One of the reasons is that it is possible to run tests on the robot hand in a controlled environment where the entire environment can be fully controlled. It is also possible to repeat the test Values that are hard to measure or require advanced equipment can also be measured from the simulation without affecting the behavior of the hand.

It is also easy to present the result as functions of parameters like the weight or choice of material for further development. Grasp quality and optimization of finger position in different grasps are other things that can be done with a good model.

Sketch of 10-X Finger Components.

Sketch of 10-X Finger Components.



In earlier work at KTH on the Barrett hand control of the robot hand has been performed and evaluated with good results. The idea, is that the signals are transformed into a new space where the control is made and then transformed back. This makes it easy to create different controllers that match the specific grasps.

Dual Mode:

The controller used in the 10-X project is divided in to two modes. When the grasp starts the hand uses just position control with the purpose to place all fingers so they all have contact with the object to be grasped.

 Schematic Diagram of the Controller.

Schematic Diagram of the Controller.


The simulink model was from the beginning built with the purpose to be used for both simulation and in real life.  But before the system will work properly on the real robot some changes has to be done in the software and hardware.


  • In the model the block named robot hand was replaced with another named dSPACE consisting of the motor drivers and the sensor and position signals.
  • The median filter for the force sensors was replaced with the low pass filter block
  • All MATLAB functions that was included in the block diagram had to be constructed as block diagram because MATLAB could not build code out of these functions
  • Some changes had to be done to make it possible to restart the system and reset the variables
  • A manual control had to be created to make it possible to move the fingers for the system calibration.


  • There are limitations on the dSPACE box like the number of inputs. The hand has 9 tactile sensors while the dSPACE box only has got 8 inputs. The new robot hand is equipped with a palm sensor and therefore the proximal and middle sensors will be connected to each other on finger one and two. Until then the middle sensor on finger one will not be connected to dSPACE at all.
  • There is only two encoder inputs on the dSPACE board. For this reason the position of the two forefingers are the same read from the encoder on finger two. In the new prototype new encoders are built in that are absolute and uses the PWM inputs.


To avoid the hand from damaging itself limitations has to be made on the servo and motors. One idea is to use the mechanic models to calculate the angles of the finger links as a function of the current string position and the normal forces acting on them. This is possible to do in the simulation model when a numerical solver can be used. The calculations are demanding and take some time to solve and for that reason this is not possible to use when the hand is controlled in real time.



At the start of the project a lot of problem was caused by the limitations of the computers. To run the simulations in GraspIt! a new graphic card had to be installed. Otherwise the graphic calculations would be prioritized before the mathematical with a slow simulation as a result. Also some tested control concepts had to be discarded due to large number of calculations.


The electric components are connected from the hand thru some circuit boards. At the beginning of the project there were some problems to get the motors to run. The connections from the power supply were not reliable enough to work every time. The position detectors also had some problems to give signal to the dSPACE board. This was caused by the thin cables that connects the sensors were easy to bend and break.


To test the results and compare between the simulation and the prototype the same transform matrix and references as used in Examples (p. 24) will be applied onto the two systems. The hand will start by move the fingers until contact and then increase the grasping force until it reaches 0.8 N and all fingers have the same position.


The new hand manufactured parallel to this project uses a different type of position encoder that is absolute. Further improvements have to be done to get the position information into the controller in some way. The problem in this case is that the tendon of which the encoder is mounted on rotates more than one revolution while the finger bends.

Another feature of the new hand is a tactile sensor mounted onto the palm to detect contact when the hand is moved towards an object. For example this can be used as the start/stop control of the grasp controller. Because the limited number of inputs in the dSPACE box the arrangement of the sensors also has to be changed.

A lot of changes have to be done in the controller every time the configuration of the grasp is changed. After further improvements it may be possible just to push a button to select grasping strategy.

The plan is to implement the hand onto the robot arm, which is now possible due to the robot arm interface on the new robot hand. From that point the research continues with further studies in moving objects from one point to another.

To make the hand smaller and lighter in the future the controller may be implemented onto a microprocessor instead of the dSPACE box. This will also result in more flexibility when the hand can be moved without consideration of cables.

Thru the project problems have been discovered on the circuit boards. Further studies are to improve their reliability, make them more compact, and build them so that they can use 12 V only.

Source: Linkoping University
Author: Magnus Birgestam

Download Project

>> Robotic Projects using Matlab with Base Paper Downloads

Project Enquiry:

Fields with * are mandatory

Leave a Comment

Your email address will not be published. Required fields are marked *