OPENBIONICS

Open-Source Robotic & Bionic Hands

OpenBionics is an open-source initiative that focuses on the development of affordable, light-weight, modular, adaptive robot hands and prosthetic devices, which can be easily reproduced using off-the-shelf materials and rapid prototyping techniques. Our robot hands cost less than 100$ and weigh less than 200 gr, while our new anthropomorphic prosthetic hands cost less than 200$ and weigh less than 300 gr.

OpenBionics got the 2nd prize of the 2015 Hackaday Prize and was the winner of the 2015 Robotdalen International Innovation Award. The OpenBionics initiative is inspired by the Yale Open Hand Project and was supported by the European Commission through the Integrated Project no. 248587, "THE Hand Embodied" (2010-2014), within the FP7-ICT-2009-4-2-1 program Cognitive Systems and Robotics.

Team Members



George Kontoudis
Virginia Tech


Agisilaos Zisimatos
NTUA


Minas Liarokapis
The University of Auckland
Research Advisors
Prof. Tomonari Furukawa, Virginia Tech
Prof. Kostas Kyriakopoulos, NTUA
Dr. Minas Liarokapis, The University of Auckland
Scientific Collaborations
Control Systems Lab, NTUA, Greece
New Dexterity, The University of Auckland, New Zealand
Robotdalen, Sweden
Open Innovation Consultant
Vasilis Kostakis, Tallinn Univ. of Tech. / Harvard / P2P Lab
Dissemination Team
Georgia Koufli, Communications
Harry Mourelatos, Digital Marketing

DESIGNS

Robotic and Bionic Hand Designs


1. Affordable Prosthetic Hands

Bio-inspired Compliant Robot Fingers with Soft Fingertips

The finger actuation and transmission system follows a bio-inspired design that structurally reproduces the flexion (with tendons driven through low-friction tubes) and extension (using elastomer materials) movements of human fingers. The structure of the finger is constructed with Plexiglas (acrylic) and the flexure joints are implemented with silicone sheets.

For the robot fingers we use also the following materials: 1) sponge like tape that is easily deformable (to enlarge contact patches, reduce contact forces impact to the grasped object and enhance stability), 2) rubber tape (to increase friction and constrain the sponge like tape on the robot phalanges) and 3) anti-slip tape (to maximize friction during contact, enhansing stability of grasps).

Thumb Mechanism

A selectively lockable toothed mechanism that can implement 9 different opposition configurations, is proposed for the thumb. The proposed mechanism substitutes the three Degrees of Freedom (DoF) that implement the human thumb opposition with only one rotational DoF. The proposed mechanism is completely stiff when it is locked and is not affected by torsional forces inherent in dynamic / unstructured environments. A separate tendon routing system is used for the thumb and its tendon is terminated to a separate servo pulley.

Selectively Lockable Differential Mechanism (Whiffletree)

We propose a novel selectively lockable differential mechanism that can block the motion of each finger, using a button. The differential allows the user to select in an intuitive manner the desired finger combinations, implementing different grasping strategies with only 1 motor. The top two bars of our whiffletree have appropriately designed holes and the palm accommodates a series of buttons that upon pressing are elongated. The idea is that when the button is pressed the elongated part fills the appropriate finger hole and the motion of this particular finger is constrained.

A total of 16 different index, middle, ring and pinky combinations can be implemented using the differential mechanism and a single motor. These can be combined with the 9 discrete positions of the thumb, to produce a total of 144 different grasping postures.

Personalized Designs

The use of parametric models derived from human hand anthropometry studies, allows for the development of personalized prosthesis. The only parameters that we need in order to derive the finger phalanges lengths and the personalized finger base frames positions and orientations, are the human hand length (HL) and the human hand breadth (HB).

The proposed hands can be fabricated using off-the-shelf, low-cost materials and rapid prototyping techniques (3D printing) or standard machinery tools. All required materials can be easily found in hardware stores around the world.

CAD Files

In this section we provide appropriate cad files (Solidworks .sldasm, .sldprt and .dwg, .dxf, .stl), for the replication of the proposed design. Download the files here: CAD Files (.zip) | CAD Files (.rar)


2. Robot Hands

Bioinspired Robot Fingers

Our design is based on a simple but yet effective idea: to use agonist and antagonist forces to implement flexion and extension of robot fingers, following a bioinspired approach where steady elastomer materials (silicone sheets) implement the human extensor tendons counterpart, while cables driven through low-friction tubes, implement the human flexor tendons analogous.

The structure of one robot finger is presented. The elastomer materials appear at the lower part of the image (white sheets), while the low-friction tubes that are used for tendon routing, appear at the upper part of the image (white tubes) together with the rigid phalanges. The finger base is also depicted at the right part of the figure.

Modular Fingers Basis with Multiple Slots

The robot hand has a modular fingers basis equipped with 5 slots, that can be used to "accommodate" a total of four fingers. More specifically robot hands with various geometries of finger base frames, can be developed. Line and 2D polytope geometries are easily created, while for 3D polytope geometries finger bases with different heights have to be used (to create vertical offsets). Those hands are very capable of grasping various everyday life objects and each one is specialized for different types of tasks.

The robot hands wrist module is depicted.
Disk Shaped Differential Mechanism

A disk-shaped differential mechanism has been developed, in order to connect all the independent finger cables with the actuator (servo motor). The differential mechanism, allows for independent finger flexions in case that one or multiple fingers have stopped moving, due to workspace constraints, or in case that they are already in contact with the object surface.

The disk-shaped differential mechanism used in our robot hands.
Replicating the Robot Hands Design
The robot hand consist of low-cost off-the-shelf materials:

1. A combination of sponge-like material with low thickness rubber, that offers a high friction coefficient for fingertips.
2. Dyneema fishing line which is used for the cables, offering zero elasticity and handling of high forces.
3. Low friction tubes that are used for tendon routing.
4. A series of v-groove sealed ball bearings that are used to minimize friction.
5. Flexure joints that are made from silicone sheets of different thickness.
6. Various fasteners.
7. Rigid links which are built by 2mm acrylic material (plexiglas).

For the assembly of the robot fingers we use fishing line and needles in order to stitch the silicone sheets onto the rigid links (the links have appropriate holes by design).

CAD Files

In this section we provide appropriate cad files (Solidworks .sldasm, .sldprt and .dwg, .dxf, .stl), for the replication of the proposed design. A new version of our design is under development and can be found in our GitHub repository: OpenBionics GitHub Repository Download the files here: CAD Files (.zip)

CODES

The software used for the control of our hands.


All files required for the replication of the proposed robot hands, can also be found in our GitHub repository: OpenBionics GitHub Repository.

ROS Package

The serial communication between our robot hands and the Planner PC, is implemented with the Robot Operating System (ROS).

Introduction

?he Planner PC runs two nodes, the client node (Main.py) and the server node (stdServo.py or robotHand.py). The client node (Main.py) receives from the user the angle of the servo motor. The server node sends the desired angle to the robot hand.

ROS Installation

Install this ROS package placing the folder in the /src directory of your ROS workspace. Build the package using the following command:

$catkin_make

You have successfully installed the package. Make sure that all files are executable, using the following commands:

$chmod +x Main.py $chmod +x stdServo.py $chmod +x robotHand.py
Arduino Installation

Upload with the arduino IDE, the provided program to the arduino Micro board. For the Dynamixel AX12 servo, we use this library.

How to run ROS nodes

To run this ROS package, you have to run one of the following launch files:

$roslaunch openbionics stdServo.launch $roslaunch openbionics HandAX12.launch

In the launch file you can set up the USB port, to establish serial communication with the robot hand. For the robot hand with the AX12 servo, the server node returns the state of the servo motor: 1) the goal position, 2) the current position and 3) the load. In order to do so, the robotHand.py node publishes the state of the motor, in the Hand ROS topic.

How to control the robot hand

To control the robot hand you can use the following command:

$rosrun openbionics Main.py arg1 arg2 arg3

Replace the arg1 with STD or AX12 depending on your servo. Replace the arg2 with the command that you want send to robot hand (e.g., PS is used for position control of the servo). Replace the arg3 with the desired joint angle value (the ranges are: 0 - 218 for stdServo, 100 - 1023 for AX12). Download the provided software package here: Software (.zip)

ELECTRONICS

The electronics used in our hands.


All files required for the replication of the proposed robot hands, can also be found in our GitHub repository: OpenBionics GitHub Repository.

In order to control the servo motor that actuates the robot hand, we use as low-cost, light-weight and small-sized solution, the Arduino Micro microcontroller platform. A standard PCB module has been developed on purpose, which connects the Arduino platform with the different servo motors.

Download the Electronics files here: Electronics (.zip)

FILES

All the files required for the development and operation of our devices.

New versions of our designs are typically under development in our OpenBionics GitHub Repository.

1. Affordable Prosthetic Hands

CAD Files
In this section we provide appropriate cad files (Solidworks .sldasm, .sldprt and .dwg, .dxf, .stl), for the replication of the proposed design. Download the CAD files here: CADProsthetic Files (.zip) | CAD Files (.rar)

2. Robot Hands

Tutorial
A tutorial for the replication of our hands, can be found here!
CAD Files
In this section we provide appropriate cad files (Solidworks .sldasm, .sldprt and .dwg, .dxf, .stl), for the replication of the proposed design. Download the CAD files here: CAD Files (.zip)

3. ROS Package

The serial communication between our robot hands and the Planner PC, is implemented with the Robot Operating System (ROS).

Introduction

?he Planner PC runs two nodes, the client node (Main.py) and the server node (stdServo.py or robotHand.py). The client node (Main.py) receives from the user the angle of the servo motor. The server node sends the desired angle to the robot hand.

ROS Installation

Install this ROS package placing the folder in the /src directory of your ROS workspace. Build the package using the following command:

$catkin_make

You have successfully installed the package. Make sure that all files are executable, using the following commands:

$chmod +x Main.py $chmod +x stdServo.py $chmod +x robotHand.py
Arduino Installation

Upload with the arduino IDE, the provided program to the arduino Micro board. For the Dynamixel AX12 servo, we use this library.

How to run ROS nodes

To run this ROS package, you have to run one of the following launch files:

$roslaunch openbionics stdServo.launch $roslaunch openbionics HandAX12.launch

In the launch file you can set up the USB port, to establish serial communication with the robot hand. For the robot hand with the AX12 servo, the server node returns the state of the servo motor: 1) the goal position, 2) the current position and 3) the load. In order to do so, the robotHand.py node publishes the state of the motor, in the Hand ROS topic.

How to control the robot hand

To control the robot hand you can use the following command:

$rosrun openbionics Main.py arg1 arg2 arg3

Replace the arg1 with STD or AX12 depending on your servo. Replace the arg2 with the command that you want send to robot hand (e.g., PS is used for position control of the servo). Replace the arg3 with the desired joint angle value (the ranges are: 0 - 218 for stdServo, 100 - 1023 for AX12). Download the provided software package here: Software (.zip)

HUMANLIKENESS

A methodology for the quantification of anthropomorphism of robot hands.

Over the last years the field of robot hands design has received increased attention. Anthropomorphic characteristics (e.g. appearance, kinematics), use of light-weight, low-cost and flexible materials and synergistic actuation are some of the current trends. The aforementioned interest, is motivated by the fact that robot hands can be used for a number of everyday life applications, ranging from teleoperation/telemanipulation studies, to human robot interaction, for humanoid robots or even as affordable myoelectric prostheses.

Our robot hands are created with different levels of anthropomorphism. Thus design directions will be provided for robot hands that have only anthropomorphic fingers and/or humanlike placement of the finger base frames (simple low-cost robot hands), as well as for anthropomorphic myoelectric prostheses, inspired by the most dexterous end-effector known, the human hand.

Minas V. Liarokapis, Panagiotis K. Artemiadis and Kostas J. Kyriakopoulos, "Quantifying Anthropomorphism of Robot Hands", IEEE International Conference on Robotics and Automation (ICRA), Karlsruhe (Germany), 2013. [BibTeX] [PDF]

A toolbox for the quantification of anthropomorphism can be found at the OpenBionics GitHub repository. Another approach for the quantification of anthropomorphism (by Feix et al.) can be found here.

PUBLICATIONS

A list of OpenBionics publications.

To cite the OpenBionics robot hands please use [this BibTeX file.]
To cite the OpenBionics prosthetic hands please use [this BibTeX file.]
To cite the OpenBionics initiative please use [this BibTeX file.]
Conference Papers

[5] George P. Kontoudis, Minas V. Liarokapis, Agisilaos G. Zisimatos, Christoforos I. Mavrogiannis and Kostas J. Kyriakopoulos, "Open-Source, Anthropomorphic, Underactuated Robot Hands with a Selectively Lockable Differential Mechanism: Towards Affordable Prostheses", IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Hamburg (Germany), 2015. [BibTeX] [PDF]

[4] Agisilaos G. Zisimatos, Minas V. Liarokapis, Christoforos I. Mavrogiannis and Kostas J. Kyriakopoulos, "Open-Source, Affordable, Modular, Light-Weight, Underactuated Robot Hands", IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Chicago (USA), 2014. [BibTeX] [PDF]

[3] Minas V. Liarokapis, Agisilaos G. Zisimatos, Melina N. Bousiou and Kostas J. Kyriakopoulos, "Open-Source, Low-Cost, Compliant, Modular, Underactuated Fingers: Towards Affordable Prostheses for Partial Hand Amputations", 36th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC), Chicago (USA), 2014. [BibTeX] [PDF]

[2] Christoforos I. Mavrogiannis, Charalampos P. Bechlioulis, Minas V. Liarokapis and Kostas J. Kyriakopoulos, "Task-Specific Grasp Selection for Underactuated Hands", IEEE International Conference on Robotics and Automation (ICRA), Hong Kong (China), 2014. [BibTeX] [PDF]

[1] Minas V. Liarokapis, Panagiotis K. Artemiadis and Kostas J. Kyriakopoulos, "Quantifying Anthropomorphism of Robot Hands", IEEE International Conference on Robotics and Automation (ICRA), Karlsruhe (Germany), 2013. [BibTeX] [PDF]

Workshop Papers\Abstracts

[1] Minas V. Liarokapis, Agisilaos G. Zisimatos, Christoforos I. Mavrogiannis and Kostas J. Kyriakopoulos, "OpenBionics: An Open-Source Initiative for the Creation of Affordable, Modular, Light-Weight, Underactuated Robot Hands and Prosthetic Devices", 2nd ASU Rehabilitation Robotics Workshop, Arizona State University (ASU), Tempe, AZ (USA), 2014. [BibTeX] [PDF]

Technical Reports\Tutorials

[2] George P. Kontoudis, Minas V. Liarokapis, Agisilaos G. Zisimatos, Christoforos I. Mavrogiannis, and Kostas J. Kyriakopoulos, "How to Create Affordable, Anthropomorphic, Personalized, Light-Weight Prosthetic Hands", Control Systems Lab, School of Mechanical Engineering, National Technical University of Athens, October 2015. [BibTeX] [PDF]

[1] Agisilaos G. Zisimatos, Minas V. Liarokapis, Christoforos I. Mavrogiannis, George P. Kontoudis and Kostas J. Kyriakopoulos, "How to Create A ffordable, Modular, Light-Weight, Underactuated, Compliant Robot Hands", Control Systems Lab, School of Mechanical Engineering, National Technical University of Athens, January 2015. [BibTeX] [PDF]

VIDEOS

1. Affordable Prosthetic Hands

The first set of experiments focuses on validating the efficiency of the proposed selectively lockable differential mechanism to implement different postures and gestures, using only one motor. The second set of experiments focuses on grasping a wide range of everyday life objects, to execute daily living activities.

2. Robot Hands

In the following videos, we present extensive experimental paradigms with two fingered, three fingered and four fingered robot hands.

Regarding the first video, we present a series of possible applications for our robot hands. More specifically at the first part of the video we grasp multiple everyday life objects with a four-fingered (each finger consists of two phalanges) robot hand. At the second part of the video, a three-fingered robot hand is used as a myoelectric prosthesis (by an able-bodied person) and the subject grasps using the myoelectric activity of his forearm muscles, two different objects. The third part of the video presents some preliminary results on a grasping capable quadrotor (based on the AR.Drone platform) that we created in our lab, using a two-fingered robot hand prototype. The forth part presents the disk shaped differential mechanism. The fifth part presents a robot hand grasping a full 500ml bottle of water with a lateral pinch grasp, while the sixth part presents a two-fingered robot hand performing a precision grasp of an egg.

The second video presents autonomous anthropomorphic grasp planning experiments using Navigation Function models for the case of the Mitsubishi PA10 robot arm and a four fingered version of our robot hands, developed on purpose. As you can see, the robot hand can efficiently grasp, a series of everyday life objects, even under position uncertainties.

The third video presents the Grebenstein test, where a user hits the robot hand fingers with a hammer, in order to prove their robustness again impacts.

A three fingered robot hand mounted on a KUKA YouBot.

LICENSE

Creative Commons License

The OpenBionics research by the OpenBionics Initiative (www.openbionics.org), is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

CONTACT

Interested in our devices? Contact us!



+64 9-923-6688
info@openbionics.org