+ All Categories
Home > Documents > One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... ·...

One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... ·...

Date post: 10-Jun-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
58
Engineering Postgraduate Project B (ENGG7803) One Sweet Robot: A Compliant 3D-Printed Robotic Hand Thesis Final Report Alexandre CAYLA (44004712) Supervisor: Dr Surya Singh 7 th November 2016
Transcript
Page 1: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Engineering Postgraduate Project B (ENGG7803)

One Sweet Robot:

A Compliant 3D-Printed Robotic Hand

Thesis – Final Report

Alexandre CAYLA

(44004712)

Supervisor: Dr Surya Singh

7th November 2016

Page 2: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

2 / 58

Abstract

This thesis report presents the design process, construction and testing of an underactuated

compliant robotic grasper. It then explains how this robotic hand was used to investigate

compliant grasping: experiments were lead to analyse the adaptability of the grasp by

constructing experimental grasp maps.

The design of the hand is derived from Northeastern's Baxter Easyhand [1] (for the fingers)

and on Yale's OpenHand Model T [2] (for the actuation system). Most of the components are

3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

The robotic grasper has three fingers, each containing two flexible urethane joints and

compliant pads. They are actuated by a single servomotor; the motion is transmitted through a

pulley/tendons structure. All of this conception choices result in a low-cost and easy to control

compliant robotic hand, which can conform to variations of shapes in the grasped object.

The grasp is commanded using force control: the hand closes until the load sensor in the

motor reaches a certain threshold value. This procedure is implemented in the motor through a

Matlab script. Using this basic algorithm, an experiment is lead to quantify the probability of

successfully grasping an object depending on the relative distance between the grasper and the

object. The results are displayed graphically in grasp probability maps. We can conclude that

compliance effectively improves the adaptability of the grasp, as the grasper is able to

compensate substantial positioning errors. Other observations can be made from this analysis,

notably the presence of a probability gradient zone (about 10mm wide) or the influence of the

asymmetry of the finger layout.

Page 3: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

3 / 58

Contents

Abstract ...................................................................................................................................... 2

Introduction ................................................................................................................................ 4

1. Background ......................................................................................................................... 5

1.1. Grasp Mechanics ......................................................................................................... 5

1.2. Underactuation ........................................................................................................... 11

1.3. Compliance ................................................................................................................ 16

1.4. Existing Robotic Hands ............................................................................................. 17

2. Creation of the Robotic Hand ........................................................................................... 20

2.1. Detailed design .......................................................................................................... 20

2.2. List of Components ................................................................................................... 26

2.3. Construction Process ................................................................................................. 27

2.4. Power Supply and Control ......................................................................................... 32

3. Characterisation of a Compliant Grasp ............................................................................. 34

3.1. Prerequisite: Programming the Hand for Grasping ................................................... 34

3.2. Building Experimental Grasp Probability Maps ....................................................... 38

3.3. Results and Analysis .................................................................................................. 40

4. Critical Review of the Project ........................................................................................... 46

4.1. Respect of the Schedule ............................................................................................. 46

4.2. Project Goals .............................................................................................................. 46

4.3. Evaluation and Suggestions for Further Projects ...................................................... 46

Conclusion ................................................................................................................................ 47

Acknowledgement .................................................................................................................... 48

References ................................................................................................................................ 49

Appendices ............................................................................................................................... 51

Appendix A: Exploded View of the Robotic Hand .............................................................. 51

Appendix B: Control Table of the Dynamixel MX-64T ...................................................... 52

Appendix C: Matlab Grasp Script ........................................................................................ 54

Page 4: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

4 / 58

Introduction

Robotic graspers can broadly be divided into two categories. The first ones are factory-type

robots, powerful and stiff, with very simple design, easy to control and relatively cheap;

however, their range of action is very limited. In contrast, the second ones are sophisticated

human-like hands, capable of complex and precise manipulations; they are nonetheless very

costly and hard to control.

For the past decade, researchers have created new robotic hand designs using rapid

prototyping techniques, underactuation and, most importantly, compliance. The resulting

graspers are inexpensive, easy to control and yet adaptive. We can hence wonder: what are the

characteristics of such compliant grasps, and to what extent does compliance improve grasp

performances? The approach followed in this project to answer this question is to design and

build a compliant robotic hand and characterize experimentally its soft grasp.

In a first section, the relevant bibliographical background is reviewed, giving solid bases

about grasp mechanics, underactuation systems and compliance, and presenting a short review

of the robotic hands that are the most adapted for our application. Secondly, the design of the

robotic hand is presented, with a systematic justification of the conception choices, and the

construction process is detailed. Then, the experiment investigating the compliant grasp of the

hand is described, followed by the obtained results and possible interpretations. The report ends

with a small analysis of the project execution, notably from the angle of the schedule and the

objectives.

Page 5: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

5 / 58

1. Background

This first section introduces several notions and some context necessary to a good

understanding of this thesis report. It does not cover in depth theory – see the referenced

documents for more advanced information – but should give a good overview of the

fundamental concepts involved in the project

1.1. Grasp Mechanics

As the robotic hand's main purpose is to efficiently grasp various objects, knowing how the

grasping process occurs mechanically and under what conditions it succeeds may guide us in

the design.

This part presents some basic elements about grasp mechanics; only rigid bodies will be

considered here (no deformations). It echoes and complement the "Dynamics and Grasping"

paragraph in [3].

1.1.1. Introduction to Wrenches

1.1.1.1. Forces

A force is a mechanical linear action exerted on a body. It may either result from a contact

on a specific point, or from the effect on a field (electric, magnetic, gravitational) on the whole

volume of the body.

Forces' main characteristics are their axis, direction and magnitude (in Newtons). They

hence are represented by vectors, noted 𝐹 ⃗⃗ ⃗, which carry all this information. If we want to

change the coordinates of a force vector 𝐹 ⃗⃗ ⃗ from a frame ℛ2 to a frame ℛ1, we only need to

multiply it by the rotation matrix 𝑅12:

𝑭𝟏⃗⃗ ⃗⃗ = 𝑹𝟏𝟐 𝑭𝟐⃗⃗ ⃗⃗

1.1.1.2. Moments

The moment (or torque) of a force with respect to a point represents the rotational effect

induced by the force on the body around this point. The moment of a force 𝐹 ⃗⃗ ⃗ applied on a

point M with respect to O is the vector 𝑇𝑜(𝐹 ⃗⃗ ⃗) ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗

defined by the cross product:

𝑇𝑜(𝐹 ⃗⃗ ⃗) ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ = 𝑂𝑀⃗⃗ ⃗⃗ ⃗⃗ × 𝐹 ⃗⃗ ⃗

Due to the cross product, 𝑇𝑜(𝐹 ⃗⃗ ⃗) ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗

is normal to both 𝑂𝑀⃗⃗ ⃗⃗ ⃗⃗ and 𝐹 ⃗⃗ ⃗, and is collinear to the axis

of rotation. Its intensity (in Newton-meters) could be understood as a "rotational force".

Lenarcic et al. propose in [4] a generalisation of the concept of vectorial cross product to

matrices. For a vector 𝑂𝑀⃗⃗ ⃗⃗ ⃗⃗ = (𝑥𝑀, 𝑦𝑀 , 𝑧𝑀)𝑇, the matrix counterpart to the operator 𝑂𝑀⃗⃗ ⃗⃗ ⃗⃗ × is

defined by:

𝑃𝑀 = (

0 −𝑧𝑀 𝑦𝑀𝑧𝑀 0 −𝑥𝑀− 𝑦𝑀 𝑥𝑀 0

)

Page 6: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

6 / 58

For any vector �⃗� ∈ ℝ3, we effectively have 𝑂𝑀⃗⃗ ⃗⃗ ⃗⃗ × �⃗� = 𝑃𝑀�⃗� .

The change of coordinates of a moment 𝑇𝑂′(𝐹2 ⃗⃗⃗⃗ ⃗) ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗

from a frame ℛ2 centred in 𝑂′ to a

frame ℛ1 centred in 𝑂 requires more operations than the change of frame for a force. In

addition to changing the orientation with the rotation matrix 𝑅12, the centre of rotation must be

switched from 𝑂′ to 𝑂, which generates an additional term:

𝑇𝑂(𝐹1 ⃗⃗ ⃗⃗ ) ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ = 𝑂𝑀⃗⃗ ⃗⃗ ⃗⃗ × 𝐹1⃗⃗ ⃗

= 𝑂𝑂′⃗⃗ ⃗⃗ ⃗⃗ ⃗ × 𝐹1⃗⃗ ⃗ + 𝑂′𝑀⃗⃗⃗⃗⃗⃗ ⃗⃗ × 𝐹1⃗⃗ ⃗

= 𝑂𝑂′⃗⃗ ⃗⃗ ⃗⃗ ⃗ × 𝑅12𝐹2⃗⃗ ⃗ + 𝑂′𝑀⃗⃗⃗⃗⃗⃗ ⃗⃗ × 𝑅12𝐹2⃗⃗ ⃗

𝑻𝑶(𝑭𝟏 ⃗⃗ ⃗⃗ ⃗) ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗ = 𝑷𝑶′𝑹𝟏𝟐𝑭𝟐⃗⃗ ⃗⃗ + 𝑹𝟏𝟐𝑻𝑶′(𝑭𝟐 ⃗⃗ ⃗⃗ ⃗) ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗

1.1.1.3. Wrenches

As proven in [4] and [5], both a force 𝐹 ⃗⃗ ⃗ and the moment it generates 𝑇𝑜(𝐹 ⃗⃗ ⃗) ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗

can be

described by a single mechanical object 𝑊 called wrench which gathers all six coordinates:

𝑊 = (𝐹 ⃗⃗ ⃗

𝑇𝑜(𝐹 ⃗⃗ ⃗)⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ) =

(

𝑓𝑥𝑓𝑦𝑓𝑧𝑡𝑥𝑓𝑦𝑡𝑧)

The results from the previous two paragraphs can be used to deduce how to change the

coordinates of a wrench W from a frame ℛ2 centred in 𝑂′ to a frame ℛ1 centred in 𝑂:

𝑊1 = (𝐹1 ⃗⃗ ⃗⃗

𝑇𝑜(𝐹1 ⃗⃗ ⃗⃗ )⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ) = (

𝑅12 𝐹2⃗⃗ ⃗

𝑃𝑂′𝑅12𝐹2⃗⃗ ⃗ + 𝑅12𝑇𝑂′(𝐹2 ⃗⃗⃗⃗ ⃗) ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗

) = (𝑅12 0

𝑃𝑂′𝑅12 𝑅12

)(𝐹2 ⃗⃗⃗⃗ ⃗

𝑇𝑜′(𝐹2 ⃗⃗⃗⃗ ⃗)⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ ⃗)

𝑾𝟏 = (𝑹𝟏𝟐 𝟎

𝑷𝑶′𝑹𝟏𝟐 𝑹𝟏𝟐

)𝑾𝟐

1.1.2. Contact Types

When a rigid body contacts another one (for instance, a finger touching an object we want

to grasp), the first one can apply a force and a moment on the second, which can be summarized

into a wrench W. However, due to the frictional effects (or rather to the possible lack of

frictional effects), not all types of mechanical efforts can be transmitted. To take this limitation

into account, [4], [5] and [6] introduce the idea of contact types.

Page 7: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

7 / 58

B

B

B

Depending on the situation, specific wrench components will be equal to zero, traducing the

impossibility to transmit some types of actions. Below are detailed three contact models, with

different sets of constraints. The wrench expression is systematically divided as 𝑊 = 𝐵𝐹,

where 𝐵 is the wrench basis and 𝐹 a column vector.

1.1.2.1. Frictionless Contact Point

In this first and simplest model, the first object can only apply a force normal to the contact

surface on the second. Besides, moments cannot be transmitted. Therefore, as explained in [4],

[5] and [6], the wrench exerted will be:

𝑊𝐹𝑟𝑖𝑐𝑙𝑒𝑠𝑠 =

(

00𝑓000)

=

(

001000)

𝑓 with 𝑓 = ‖𝐹 ⃗⃗ ⃗‖ ≥ 0

1.1.2.2. Coulomb Friction Point

In this second model, the force exerted on the object can have a tangential component, which

will be due to friction (moments still cannot be transmitted). However, as stated in the

Coulomb's dry friction model, the tangential force to normal force ratio cannot exceed a

factor 𝝁, called friction coefficient (its value depends on the two materials in contact).

Geometrically speaking, the force has to stay inside a cone – which axis is normal to the contact

surface and that has an aperture angle of 𝛼 = arctan (𝜇). The wrench for a Coulomb friction

point hence is:

𝑊𝐶𝑜𝑢𝑙 =

(

𝑓𝑥𝑓𝑦𝑓𝑧000)

=

(

1 0 00 1 00 0 10 0 00 0 00 0 0)

𝐹 ⃗⃗ ⃗ with 𝐹 ⃗⃗ ⃗ = (

𝑓𝑥𝑓𝑦𝑓𝑧

) and

{

𝑓𝑧 ≥ 0

√𝑓𝑥2+𝑓𝑦

2

|𝑓𝑧| ≤ 𝜇

1.1.2.3. Soft Finger Contact

In this last model, besides a force with some potential friction components, it is possible to

apply a moment normal to the contact surface. Similarly to the previous case, the ratio moment

to normal force cannot exceed a particular torsional coefficient, noted 𝜸. This results in the

following expression of the wrench:

𝑊𝑆𝑜𝑓𝑡 =

(

𝑓𝑥𝑓𝑦𝑓𝑧00𝑡𝑧)

=

(

1 0 0 00 1 0 00 0 1 00 0 0 00 0 0 00 0 0 1)

(𝐹 ⃗⃗ ⃗

𝑡𝑧) with 𝐹 ⃗⃗ ⃗ = (

𝑓𝑥𝑓𝑦𝑓𝑧

) and

{

𝑓𝑧 ≥ 0

√𝑓𝑥2+𝑓𝑦

2

|𝑓𝑧| ≤ 𝜇

|𝑡𝑧|

|𝑓𝑧| ≤ 𝛾

Page 8: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

8 / 58

Figure 1: Frictionless, Coulomb and Soft Finger contacts

1.1.3. Application to Grasping

As detailed in [4] and [5], the previous notions can be applied to grasping.

1.1.3.1. Change of frame for a single contact point

Grasping an object is the result of simultaneous contacts exerted on different locations of

this object. However, to be able to consider the contribution of each contact action, we must

first express them in the object frame.

Let us consider a finger exerting at the point 𝐶1 a contact action on an object attached to the

frame ℛ𝑂 defined by (𝑂, 𝑥𝑂 , 𝑦𝑂 , 𝑧𝑂). The finger frame ℛ1 is defined by (𝐶1, 𝑥1, 𝑦1, 𝑧1).

Figure 2: Frames during a Contact Action (inspired by [4])

The finger applies on 𝐶1 a wrench 𝑊1 = 𝐵 𝐹𝐶1 to the object (where 𝐵 is the wrench basis,

depending on the type of contact, and 𝐹𝐶1 the column vector with the components of the contact

action). The wrench applied on 𝑂 in the object frame is:

𝑊𝑂 = (𝑅𝑂1 0

𝑃1𝑅𝑂1 𝑅𝑂1

)𝑊1 = (𝑅𝑂1 0

𝑃1𝑅𝑂1 𝑅𝑂1

)𝐵 𝐹𝐶1

𝑾𝑶 = 𝑮 𝑭𝑪𝟏 with G = (𝑅𝑂1 0

𝑃1𝑅𝑂1 𝑅𝑂1

)𝐵

This 𝐺 matrix introduced in [4] and [5] is called grasp, grasp matrix or grasp map. It gives

the wrench basis in the object frame.

Page 9: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

9 / 58

G

1.1.3.2. Grasp matrix and Friction cone

If several wrenches 𝑊1,𝑊2,𝑊3, … ,𝑊𝑛 are simultaneously exerted on the same object, the

total wrench applied will be, as stated in [5]:

𝑊𝑂 = 𝐺1 𝐹𝐶1 + 𝐺2 𝐹𝐶2 + 𝐺3 𝐹𝐶3 +⋯+ 𝐺𝑛 𝐹𝐶𝑛

𝑊𝑂 = (𝐺1 𝐺2 𝐺3 ⋯ 𝐺𝑛)

(

𝐹𝐶1𝐹𝐶2𝐹𝐶3⋮𝐹𝐶𝑛)

The global grasp matrix G describes here all the elementary contact actions in the object

coordinate frame. The 𝐹𝐶𝑖 vector defines a subset of ℝ𝑝 (p being the dimension of the vector)

which is called friction cone, and noted FC. It is the Cartesian product of the individual friction

cones generated for each contact. The boundaries of this subset are defined by the constraints

on each contact force (cf 1.1.2.):

for a friction less contact point 𝐹𝑐𝑖 = 𝑓 ≥ 0;

for a Coulomb friction point 𝐹𝑐𝑖 = (𝑓𝑥, 𝑓𝑦, 𝑓𝑧)𝑇, 𝑓𝑧 ≥ 0,

√𝑓𝑥2+𝑓𝑦

2

|𝑓𝑧|≤ 𝜇;

for a soft finger contact 𝐹𝑐𝑖 = (𝑓𝑥, 𝑓𝑦, 𝑓𝑧 , 𝑡𝑧)𝑇, 𝑓𝑧 ≥ 0,

√𝑓𝑥2+𝑓𝑦

2

|𝑓𝑧|≤ 𝜇,

|𝑡𝑧|

|𝑓𝑧|≤ 𝛾.

As explained in [5], knowing the grasp map G and the friction cone FC completely

characterises the grasp.

1.1.3.3. Force Closure

Let us consider a robotic hand grasping an object. The grasp is characterized by the grasp

map G and the friction cone FC.

The subset of ℝ6 defined by G(FC) determines the range of wrenches W= (𝐹 ⃗⃗ ⃗

𝑇 ⃗⃗ ⃗) which can

be exerted by the hand on the object. In other words, if the exterior actions applied on the object

can be compensated by a wrench included in G(FC), then the grasp will be successful.

Therefore, the ideal grasp should be able to resist any type of exterior wrench. This desirable

property is called force closure. A formal characterisation given in [4] (and backed by [6] and

[7]) is that "a grasp is force-closure grasp if and only if G(FC) = ℝ6". A simpler (yet

equivalent) definition would be:

(𝑮, 𝑭𝑪) is force closure ⟺ for all 𝑾𝒆𝒙𝒕 ∈ ℝ𝟔, there is a 𝑭 ̃ ∈ 𝑭𝑪 such as 𝑮 𝑭 ̃ = −𝑾𝒆𝒙𝒕

However, finding a force closure grasp for a given couple grasper / grasped object can be

very complicated. The existence and configuration of the force closure grasp will mainly

depend on:

The shape of the object,

The number of contact points,

The type of the contact points (frictionless, Coulomb, or soft).

Page 10: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

10 / 58

As demonstrated in [7] and [8], stable force closure grasp of polyhedrons is possible when

you have at least:

Two independent soft finger contacts, or

Three independent Coulomb friction points, or

Seven independent frictionless points.

Besides, Lenarcic et al. state in chapter 9.2 of [4] that "a gripper with four fingers can grasp

99 % of the objects that can be manipulated by a gripper with five fingers" and that "a gripper

with three fingers can successfully grasp 90 % of all objects, while a gripper with two fingers

only 40 % of the objects".

When possible, the goal is to find where to exert the contact actions on the object so that the

resulting grasp is force closure. This purely geometrical problem can be solved using various

methods or algorithms; some of these calculation techniques are presented in [7] and [8]. Below

are illustrated several configurations of force closure grasp for the 3 Coulomb friction points

scenario:

Figure 3: Examples of force closure configurations for 3 Coulomb friction points [8]

1.1.4. Conclusion on Grasp dynamics

Grasp analysis is a challenging mechanical problem. A grasp consists of several contacts,

which are themselves made of elementary actions (depending on the contact type); its effect,

stability and robustness can be deduced from its grasp matrix and friction cone. We are

interested in the inverse problem: find the force closure grasps for a given object and grasper.

This problem is purely geometrical and can require precise calculations.

Consequently, precise grasp planning is too complex to be used in this project. Finding one

of the optimal force-closure grasps requires detecting precisely the shape and position of the

object, and then computing the adequate positioning of fingers with some algorithm – which

would need to be very sophisticated to handle various object shapes. Besides, once the ideal

grasp determined, the device would need precise control over the fingers to place them at the

desired spots. All of this would generate too much complexity, which is not part of the scope

of the project and cannot be handled with the allocated time and budget. Nevertheless, the

results from 1.1.3.3 about the link between number/type of contacts and existence of force

closure grasps will be used as guidelines to design the robotic hand.

A solution to obtain satisfactory grasps without such planning is to implement in the robot

the concepts detailed in the next two parts: underactuation and compliance.

Page 11: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

11 / 58

1.2. Underactuation

1.2.1. Definition

As explained in [6], [9] and [10], underactuation is a specific category of actuation

architecture used in robotics. The idea is to have less actuators ("sources of motion", which are

mostly motors) than degrees of freedom (noted DOF) in the system. The "missing" actuators

are compensated by adapted transmission systems, along with some passive elements (springs,

damper, flexible part) to constrain the structure [11].

Reducing the number of actuators has two main consequences. On the one hand, it narrows

down the robot's possibilities in the sense that not all of the states are reachable. Some

specific sets of positions of the effectors, which should be obtainable regarding the original

degrees of freedom, are impossible to achieve with the action of the actuators alone. On the

other, the robot becomes much easier to control – which is the key reason why underactuation

is widely used in robotics. While fully actuated (or even overactuated) mechanisms require the

user to precisely choose and coordinate the action of all the motors, part of this complex

synchronization is relieved by the transmission system in the underactuated apparatuses. In the

particular case of grasping devices, underactuation also grants the hand some adaptability (cf

part 1.3 about compliance), as contact with the grasped object determines the ending position

of the fingers.

Figure 4: Underactuated adaptive grasp [2]

A secondary – yet crucial – consequence of having less actuators than DOF is the limitation

of the cost and weight of the robot. Actuators are very often some the heaviest and most

expensive components; therefore, minimising their number can be a smart choice in terms of

price and efficiency.

We do not consider the volume gain obtained by removing the actuators as an advantage,

as this room is likely to be filled with the transmission system – nevertheless, removing the

electric connections reduces the system's overall complexity. Similarly, the fact that the

actuator's power will be divided among the several effectors it operates (and the subsequent

losses in the transmission) are not pertinent, as this additional power requirement must be taken

into account by selecting a suitable motor.

For robotics hands, underactuation can be applied on two levels: to couple the movement of

the different phalanges in a single finger, and to link the motion of several fingers together.

Page 12: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

12 / 58

1.2.2. Underactuated Grasping Mechanisms

Below are some examples of transmission systems used to achieve underactuation for

robotic graspers.

1.2.2.1. Underactuated fingers

As evoked in paragraph 1.2.1, the concept of underactuation can be used to drive the two or

three phalanges (or more) of a finger with a single actuator. As motion is transmitted to

successive parts attached to each other, this relies on serial mechanisms. Calculations of force

transmission are detailed in [10]. Here are some of the technological solutions for finger

underactuation:

Linkage-driven fingers: as studied in [10] and [11], fingers can be actuated through a

cascade of rigid elements and linkages. Several stiff parts are connected by pivoting

and/or sliding links according to a specific architecture, and due to this mechanism,

pulling or pushing on the first element will make the whole finger follow – there is a

huge range of possible architectures, as detailed in [11]. Due to the stiffness of the parts,

this type of fingers is able to transmit large grasping forces [12]. However, their complex

structural design involves numerous parts, which complicates the assembly, and can

create critical configurations where the motion is stuck (for instance if all of the

phalanges are aligned).

Figure 5: (a) Example of linkage-driven finger architecture [10]; (b) Example of complete mechanism [13]

Pulley-tendon systems: this second type of transmission uses pulleys fixed along the

finger phalanges or joints connected by tendons. In this type of structures, pulling on

the bottom end of the final tendon will actuate the whole finger. The wheels should be

able to rotate freely, so that only the variation of length of the tendons controls the

movement (and not rotation at the joints induced by the pulleys wheels). As stated in

[11], tendon-driven mechanisms are generally less robust and more limited in

transmitting high forces, due to the friction generated by the wires and the elasticity they

develop for high loads. Nevertheless, they are much simpler to design, more flexible

and less likely to encounter any singular configurations.

A variation of this transmission system consists in only using tendons, routing them

through a specific path along the finger. This accentuates friction, but simplifies the

overall layout.

Page 13: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

13 / 58

Figure 6: (a) Example of pulley-tendon finger architecture [10]; (b) Tendon-only mechanism [14]

Gear transmission: gears can be used instead of linkage or tendons for finger motion.

For each junction, a rigidly attached gear transmits the movement to the next phalange;

the ratios between teeth numbers of these junction gears allows to control the relative

closing speeds of the different phalanges. Inside the phalanges themselves, a gear train

transmits the motion between the two extreme gearwheels (the number of gears in this

intermediate gear train must be odd, so that the two extreme wheels spin in the same

direction); alternatively, a belt can be used. This mechanism is even stiffer than the

linkage architecture, and can possibly convey high forces; besides, using the gear ratios,

it is possible to precisely plan the complete motion of the finger. Yet it is very complex,

and requires highly customized and resistant gear train to work properly. We also lose

the adaptability granted by the previous two configurations, as the motion is here fully

determined by the gear setup.

Figure 7: Example of gear actuated finger architecture [10]

It is also possible to combine those mechanisms: phalanges can have different types of

transmission depending on the requirement of each

When high forces are not involved, pulley-tendon are generally favoured, due to the

simplicity and adaptability they offer.

Page 14: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

14 / 58

1.2.2.2. Underactuation between the fingers

The same concept can be applied to drive several fingers with only one actuator, making

them open or close collectively. It grants additional adaptability and distribute the force

adequately among the fingers. Despite a similar principle, there is nonetheless a significant

structural difference with the finger transmission from paragraph 1.2.2.1: the mechanisms are

now differential – the fingers are somewhat independent, they do not form a chain as the

phalanges previously did. [9], [10] and [2] present a review of the most common differential

technological solutions for robotic hands:

Movable pulleys: a first solution (used in [15]) to drive two fingers at once is to

implement movable pulleys, or sliding pulleys. The two fingers are controlled by a

single cable, which goes around a pulley wheel; by pulling this pulley we can actuate

both fingers. This configuration allows to divide the efforts appropriately; for instance,

if one finger is blocked, pulling the pulley will only drive the second finger. However,

the pulley assembly and design can be challenging, and measures shall be taken to avoid

the rope sliding out of the pulley wheel path.

Seesaw mechanism: another possibility is to use a seesaw mechanism (or whippletree).

The two cables driving the fingers are attached to the opposite ends of a rigid

longitudinal bar – the seesaw; by pulling on a third cable fixed in the middle of the

seesaw, we can control both fingers. Similarly to the previous system, this architecture

adaptively distribute the force; but here this differential distribution is limited by the

size of the pivoting bar (which can be either a drawback or an advantage, depending on

what we want). And although a little simpler to implement, they may require a bigger

volume to move freely.

Gear differential: as reminded in [2], gear differential is a robust transmission

technology mainly used for automobiles. This compact gear assembly outputs two

adaptive torques with only one input. Their main advantages are their robustness and

their capacity to transmit large efforts; however, they are much more complex and

expensive than the previous two solutions.

Figure 8: Common differential systems: (a) Movable pulley; (b) Seesaw mechanism; (c) Gear differential [2]

Other systems (less common than the ones above) can also be used. For instance, a

fluidic stage is proposed in [9] to distribute the force between the fingers, which can be

a great solution, but requires to manage issues raised by fluids, notably sealing. It is also

possible to combine different solutions for enhanced performances, as in [2] with the

"hybrid pulley/whiffletree differential".

Page 15: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

15 / 58

Figure 9: Other differential systems: (d) fluidic stage [9]; (e) Hybrid pulley/seesaw [2]

These mechanisms are mostly used to actuate two fingers at once. To control more fingers,

it is theoretically possible to design more advanced structures with additional outputs by

customising the previous ones – we could imagine replacing the rod of the seesaw by a

polygonal or star-shaped part.

Nevertheless, the most straightforward solution to drive more fingers is to cascade two or

more of the basic configurations above. Depending on the requirements, we can use multiple

copies of the same mechanism, or different ones if some stages require more robustness, power,

or flexibility. The architecture can include parallel or serial routings; [9] gives an example of a

transmission system using several movable pulleys:

Figure 10: Multiple pulleys transmission system [9]

Page 16: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

16 / 58

1.3. Compliance

1.3.1. Definition

The compliance of a robot can be defined as its ability adapt and get deformed reversibly

under actions of its environment. In that sense, this concept is similar to the flexibility of the

device and opposed to its stiffness.

Odhner et al. show in [16] that compliance is, to some extent, a highly desirable property

for robotic hands. First, it enables the grasp to automatically conform to the shape of the object,

making it possible to achieve firm and stable grasps (with multiple contacts) without advanced

control. Secondly, it can be used to put the system back into its initial position: the actuation

only needs to handle the flexion of the fingers, while the extension is handled by compliance

(or conversely). Finally, compliance is a way to absorb energy, making the robot more resistant

to shocks or disturbances, and protecting it from damage due to an excessive grasping force.

On the other hand, this limitation of the maximal force exerted can be a drawback when large

power is required.

As suggested in chapter 7 of [6], compliance can be active or passive (or both).

Active compliance consists in controlling the inputs to reduce the overall stiffness of the

system. Concretely, it requires a good sensing of the environment (in particular of the forces

and torques applied by/on the device) and some control implementation (microcontroller and

feedback loop) to respond to environmental stimuli. This can prove to be costly and

complicated; besides the response time needs to be small enough for active compliance become

operative when needed.

Passive compliance gives flexibility through the structure of the robot itself – cf. paragraph

1.3.2. This is a much cheaper and simpler approach, as the adaptability is directly integrated to

the system and no dynamic computing is required. It however limits the controllability and

precision of the device, as well as the range of configurations it can reach. Passive compliance

also implies that the compliance shall be fully included in the early design of the robot, and

cannot be changed afterwards.

1.3.2. Passive Elements for Compliance in Robotic Hands

Due to the simplicity of their design, most of the compliance in robotic hands is provided

by passive elements. Here are a few examples of technological solutions granting passive

compliance:

Flexible joints (as used in [16], [17] and [1]) linking the fingers' phalanges complement

nicely the underactuation in adapting the grasp to the object geometry.

Compliant springs are another option for compliance at the joints. Torsion springs can

be installed on the rotation points between the phalanges to achieve similar compliance.

Soft pads on the finger tips (studied extensively in [18]) and/or on the phalanges increase

friction with the object, generating a more robust grip.

The underactuation system can be considered as a part of the passive compliance of the

system, as the automatic coordination between the fingers (and also between the

phalanges of the fingers) contributes to the device adaptability.

Page 17: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

17 / 58

1.4. Existing Robotic Hands

1.4.1. Generalities

As explained in [19], robotic hands, graspers or grippers were originally designed to help

or replace humans by performing repetitive or hazardous work. Today, in addition to this, they

are used in various domains where they outclass humans either in strength, precision or stamina.

Due to their multiple fields of application, these robotic manipulators come in many shapes

(each having properties and performances relevant to their function); it is nonetheless possible

to divide them into two broad categories.

The first and oldest type of robotic hands is mainly used for industrial applications. These

grippers are stiff and robust, and may be able to handle high loads. They principally handle dull

simple tasks in a constrained environment. For instance, on an assembly line, they would

regularly pick up items of the same shape with a predetermined orientation to place them

somewhere else. A typical example of these basic graspers would be the parallel jaws grippers.

The main advantages of this sort of robotic hands are their robustness, their simplicity (which

makes them predictable and easy to control), and consequently their affordable cost. The range

of possible actions is however quite limited, they may lack precision and have low adaptability.

At the other end of the spectrum, some more recent robotic graspers have been designed to

mimic the actual human hand's capabilities. These sophisticated devices contain advanced

electronics and mechanisms, enabling them to perform a wide range of gestures and actions.

Their complex actuation structure grants them precision, while their advanced sensing and

control systems adapts the motion to the environment (or object to grasp). There are notable

applications of these hands for prosthetics (human-like hands with multiple possibilities), or

for areas requiring precision such as surgery. Due to their design complexity, these devices are

generally very expensive and can be hard to pilot; besides, they are not able to lift heavy items.

In the past decades, the study and development of compliant (or soft) graspers lead to new

designs and made it possible to reconcile low cost and simplicity with adaptability. In particular,

recent studies have been applying rapid prototyping techniques to build efficient and simple

robotic hands. This is the approach followed in this thesis.

1.4.2. Two Compliant Underactuated Robotic Hands

This paragraph describes with more details two particular underactuated compliant robotic

graspers from the literature. The robotic grasper built for this thesis project is heavily inspired

from their design.

1.4.2.1. Yale's OpenHand Model T [2]

The Model T presented in [2] is a 3D-printed robotic grasper which is part of Yale's

OpenHand project (which consists in proposing several open-source designs of low-cost 3D-

printed hands for the research community).

This hand contains four 3D-printed ABS fingers (2 facing 2, with an offset). A remarkable

feature about them is that they include polymer flexible parts, embedded by Shape

Deposition Manufacturing (SDM). This technique, first used for robotic hands in [20], allows

the integration of compliant joints and pads to the hand very easily and efficiently. To do so,

the fingers are 3D printed in one block with cavities at the location of the future flexible parts;

these gaps are then filled with liquid polymer resin (urethanes), which once cured will form the

Page 18: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

18 / 58

compliant parts. The thin walls delimiting the former cavity can then be cut out. The stiffness

of the polyurethanes is chosen according to their function: the pads are made of relatively

smooth polymer (30A hardness) to optimise the contact and friction with the object, while the

joints are much stiffer (80A hardness), to obtain a firm grasp. The compliance given by these

flexible elements is also controlled through their thickness. In some alternate versions of this

hand, the flexure joints are replaced by pivots with springs.

These four fingers are actuated by a single Dynamixel motor (the MX-64) and a specific

pulley differential system. This tendon-based underactuation uses several mobile pulleys and

hybrid pulley/seesaw blocks; it is depicted below:

Figure 11: Model T Underactuation Pulley System [2]

The top ends of the cables are routed through the fingers and attached to their tips, causing

them to close adequately – thanks to their joints.

Most of the component constituting the hand (such as the top and bottom bases, or the

various small parts involved in the pulley system) are 3D-printed. The acetal pulleys are

maintained with press-fitted metallic pins, and the whole system is held together thanks to four

standoffs and a few screws and bolts.

Figure 12: CAD model and photograph of the Model T [21]

According to [2], this 400g hand achieves good grasping capabilities: it can exert a grip

force up to 10N and is able to grasp a wide range object (varying by size and shape) with simple

force control.

Page 19: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

19 / 58

1.4.2.2. Northeastern's Baxter EasyHand [1]

This second robotic hand introduced in [1] is specifically designed to be mounted on the

Baxter robotic arm (from Rethink Robotics). As it uses the existing actuator of the robotic

arms, this device stands out by its simplicity and reduced cost. It is a variation of the model

T42, one of Yale's OpenHand other designs.

This device only has two wide fingers facing each other. Once again, they are 3D-printed

and include some SDM flexible parts on the joints and pads. The polyurethane resins are

the same grade as the ones in the Model T (cf paragraph 1.4.2.1). The finger design is however,

as depicted below, noticeably different. In particular:

there are no hollow part or pin for tendon routing at the back,

a capstan on the last phalange facilitates and consolidates the tendon fixation,

the aperture angle at the rest position is narrower – close to 90° instead of 180°, which

prevents from grasping large object but reduces the closing time and efforts, and the

maximal diameter of the hand.

Figure 13: CAD model and photograph of the Model T [1]

Past the fingers, the actuation system is straightforward: the tendons from each of the two

fingers are directly connected to the sliders of the Baxter actuator. Therefore, the only other

parts needed are two 3D-printed plates to host the actuator, four standoffs and a few screws and

nuts to hold the robot together.

Figure 14: Actuation system and Finished EasyHand [1]

This design offers good grasp performances, especially for cylindrical object. Grasps forces

up to 7N were measured.

Page 20: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

20 / 58

2. Creation of the Robotic Hand

The notions and applications from the literature studied in the previous section give a solid

theoretical and practical background about grasping in robotics. In this section, we apply this

knowledge to address our problem: design and build a low-cost and easy to control robotic hand

with good grasping capabilities.

2.1. Detailed design

This part comprehensively describes the final design of the robotic hand, highlighting its

most important features and justifying the selected technological solutions.

2.1.1. General guidelines

From the knowledge base acquired in section 1, the robotic hand was designed according

to the following design principles:

CAD and 3D-printing: Most of the components are designed with a CAD software,

namely Autodesk Inventor, and 3D-printed. Thanks to this rapid prototyping

technique, highly customized parts can be produced without any complex, long and

expensive machining process (this advantage also applies if a replacement part is

needed). Besides, the polymer 3D-printed parts are made of (ABS, or Acrylonitrile

Butadiene Styrene) has satisfactory mechanical properties, and is much lighter than

metallic materials.

Three fingers: The robotic hand has three fingers. According to part 1.1, multiplying the

number of contacts improves the stability of the grasp; however, a good practice is to

limit the number of fingers as each additional one requires power to be actuated,

increases the cost, weight and volume of the hand, and complicates the control and

transmission systems. Consequently, a three-fingered grasper seems to be the best

trade-off: its grasping capabilities and stability are far superior to a two-fingered

grasper, while the gains from a fourth finger are not substantial. It is important to note

that this odd number may, depending on the configuration, induce asymmetry, which

effect shall be taken into account.

Finger design (cf. paragraph 2.1.2): The fingers include compliant joints and pads,

which facilitate their actuation and enhance the adaptability of the grasp. However, as

compliant behaviours are hard to plan and model, it is much safer to follow one of the

designs from the literature. The fingers used here are therefore very similar to the ones

from Northeastern's Baxter Easyhand [1] described in 1.4.2.2, which performances

have been tested.

One motor and a pulley/tendons transmission system (cf. paragraph 2.1.3): To limit the

costs and make the control easier, the grasp will be operated by the action of a single

motor. This effort is transmitted through a pulley/tendon underactuation, as

paragraph 1.2 tends to show this structure is the most advantageous when high forces

are not required. Once again, this system is heavily inspired from the literature: it is

analogous to the proven actuation design from Yale's Model T [2]. Nonetheless,

several changes have been performed, notably to accommodate the different type and

number of fingers (three instead of four).

Page 21: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

21 / 58

2.1.2. Finger design

As stated in the previous paragraph, the fingers of the robotic

hand are very similar to those from Northeastern's Baxter Easyhand

[1] (described in 1.4.2.2).

They are divided in three solid parts, linked together with flexible

joints: the base, which is to be fixed on the rest of the hand (with

two screws), and two phalanges. The inner side of each phalange is

covered with a compliant polymer pad. The base has a vertical slot

and holes to host two pulley wheels and the pins holding them. Thin

holes are drilled through the phalanges to allow proper tendon

routing; a capstan-shaped terminator at the back of the second

phalange enables a solid and easy tendon fixation and tuning. Their

tendon routing is represented in paragraph 1.4.2.2.

Although the final fingers consist of separate elements, they are designed as single blocks

with cavities at the flexible parts locations. As explained in paragraph 1.4.2, this allows to use

Shape Deposition Manufacturing (SDM) to embed directly the compliant polymers. Once the

polymers are set, sacrificial walls can be removed – see part 2.2 for the building process. To

prevent the flexible elements from "popping out" of the finger during the hand functioning, two

distinct strategies are used:

The joint cavities are bone-shaped, so that they can transmit the flexion and extension

motions (not breaking down or escaping the slot).

Each pad hole contains four small longitudinal solid T-shaped elements attached to the

body of the phalange. When the polymer is poured, it goes around these T extrusions

and traps them; and once set, this embedding keeps the pad in place.

Figure 16: CAD model of the finger mould

The polymers are the same as the ones used for the EasyHand's fingers: a smooth grade

(30A hardness) for the pads, and a stiffer grade for the joints (80A hardness) – respectively the

Vytaflex ® 30A and the PMC-780 from Smooth-On Inc.

Figure 15: CAD

model of the finger

Page 22: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

22 / 58

The fingers are 20mm wide and have a maximal longitudinal dimension of 110 mm. The

joints are both approximately 10 mm long and 4 mm thick (and 20 mm wide, like the rest of

the finger). He pads are designed to have a 1-millimeter thick trapezoidal pattern on their

surface to further improve their grip; this pattern is partially replaced by a thin slot on the last

phalange (which could host a small force-resisting sensor). At rest, the finger make an angle

comprised between 20° and 45° with the vertical axis, which could be averaged to around 35°.

Figure 17: Diagram of the finger – Dimensions in mm, Width = 20mm

2.1.3. Actuation and Transmission

As evoked in paragraph 2.1.1, the actuation architecture is derived from the one in Yale's

OpenHand model T [2] (described in 1.4.2.1). This part first describes the actuator, i.e. the

Dynamixel MX-64T, and then the pulley/tendon underactuation mechanism.

2.1.3.1. The Motor: Dynamixel MX-64T

The motor needs to actuate the three fingers at once, and for each of

those, it has to balance the elastic force generated by the compliant joints.

Therefore, a considerable torque is required (the order of magnitude of the

maximum being estimated around 1 Newton-meter).

The Dynamixel MX-64T servomotor matches all of our requirements.

It integrates efficient reduction, which enables its torque to go up to 6N.m

(1.2 in normal functioning). It is robust, compact (around 60x40x40mm)

and its mass (135g) is acceptable. More information can be found on [22].

In addition to great mechanical reduction, the electronics embedded

in the device allow to control it easily and precisely. With a few cables, a

power source and specific adapters (cf part 2.4), it can be programmed

from a computer by controlling either its rotation speed or its position. It

also includes several sensors which can be used for its programming, such

as speed, temperature or load sensors (cf. part 3.1).

Figure 18: Dynamixel MX64-T

Page 23: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

23 / 58

2.1.3.2. The Underactuation System: Pulley/Tendon Architecture

The underactuation system is an adapted version of the one in Yale's OpenHand model T

[2] – briefly mentioned in paragraph 1.4.2.1. It uses a set of small 3D-printed elements used to

form several mobile pulley blocks (see 1.2.2.2).

The first element of this pulley/tendon structure is a custom wheel which complements the

one originally attached to the Dynamixel motor. It contains a hole to attach the extremity of the

first tendon; its inner radius is 6.5mm. A first block, made of a couple of 3D-printed pieces (and

two pulleys), is screwed at the top of the motor to redirect the tendon along the vertical axis.

Figure 19: Motor with the first pulleys

The rest of the transmission system is composed of four other pulley blocks: two fixed with

a single pulley, and two mobile hybrid pulley-seesaw elements (see 1.2.2.2) with two pulleys

each. They contain one or two 3D-printed components and are held together by press-fitted

pins. Below is represented the complete pulley system (except from the motor and the fingers

for clarity):

Figure 20: Underactuation pulley/tendon system, with fixed and mobile pulley blocks

Then, the three tendon terminations are routed through the three fingers and attached to the

capstans at the top. This routing is depicted on figure 13 (paragraph 1.4.2.2).

Page 24: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

24 / 58

The pulleys wheels are not 3D-printed (except from the motor one which needs to be

customised), as the result would not be precise enough and the material not adapted. Instead,

nylon (or acetal) pulley wheel were bought, with an outside diameter of 9.5mm; their size and

resistance match our requirements. A total of 14 pulleys is required for the whole system (the

8 represented on the previous diagram + 2 for each finger).

For the tendons, a very strong braided fishing line ("Power Pro Spectra 100lbs") is used.

This line is able to withstand loads up to 45kg, and extremely resistant to fraying.

2.1.4. Base Structure

The cylindrical body of the hand which contains the

motor and the pulley/tendon system consists of three 3D-

printed disk-shaped plates attached together with four

metallic standoffs and eight countersunk screws (cf.

exploded view on the right). The length of the standoffs

(around 62mm) was chosen to match the height of the motor,

so that tightening the base screws would hold the motor

inside without additional fixation. The total height of the

base is 80mm; its diameter is 100m

The top plate includes, in addition to the holes for the

standoffs, three sets of three holes for the fingers. In each

set, the two circular holes host the screws to fix the finger,

while the third rectangular one lets the tendon circulate from

the underactuation system below to the finger. The finger

holes are placed so that two fingers face the third one. This

configuration was selected to simplify the structure of the

pulley system, but also because it seems to be the most

versatile – dispositions where all the fingers face the centre

may be more efficient to grasp spherical object, but are quite

limited for items with a large longitudinal dimension (such

as cylinders) or a small thickness. Extrusions are added on

the bottom side of the plate to fit the motor shape.

Figure 22: Top plate of the hand base (2 views)

Figure 21: Exploded view of

the robotic hand's base

Page 25: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

25 / 58

The bottom plate is divided into two parts; this allow to keep in place the fixed pulleys

(presented in paragraph 2.1.3.2) without any screw, by simply sandwiching their "feet" between

the two disks. The uppermost plate has thin extrusions to host the motor; they both have holes

for the standoff screws.

Figure 23: Two bottom plates (right = uppermost)

2.1.5. Complete Model

Below is depicted the CAD model of the assembled hand, as well as a drawing with several

important dimensions. The total height of the hand is 176mm, and its maximum aperture is

111mm – the aperture angle is around 70°.

Figure 24: CAD model of the complete robotic hand and diagrams with key dimensions (in mm)

Page 26: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

26 / 58

2.2. List of Components

Once the hand design is complete, the components must be ordered before building a

prototype. This part gives the exhaustive list of components and materials which are required,

and presents a brief cost analysis.

Qty Component Description Reference Vendor

1 Servomotor Dynamixel MX-64T Robot Actuator RO-902-0060-000 trossenrobotics.com

14 Pulley Wheels Pulley for Wire Rope, Acetal, for 1/32" Rope Diameter, 3/8" OD

PUI008-0095-033-A smallparts.com.au

6 Pins for finger

pulleys Type 303 SS Dowel Pin, 1/8" Diameter, 3/4" Length

DP032-019-303-1 smallparts.com.au

10 Pins for under-

actuation system Type 303 SS Dowel Pin, 3mm Diameter, 10mm Length

DP030-010-303-2 smallparts.com.au

8 Countersunk screws

for standoffs 18-8 SS Countersunk Screw, 6-32 Thread, 5/8" Long

SK035C-016-SL-S4 smallparts.com.au

8 Nuts Type 18-8 SS Hex Nut, 2-56 Thread Size, 3/16" Wide, 1/16" High

NT0218C-HX-S4 smallparts.com.au

6 Screws for the

fingers 18-8 SS Pan Head Screw, 2-56 Thread, 5/8" Length

SC022C-016-P-PH-S4

smallparts.com.au

2 Screws for the Motor 18-8 SS Pan Head Screw, 2-56 Thread, 3/4" Length

SC022C-019-P-PH-S4

smallparts.com.au

4 Standoffs Female ThreadedStandoff, 1/4" OD, 2-1/2" Length, 6-32 Thread

2142927 au.elements14.com

1 Polyurethane for the joints

PMC ® - 780 - Trial Unit / rowetrading.com.au

1 Polyurethane for the pads

Vytaflex 30 Urethane Mold Making Rubber - Trial Unit

/ rowetrading.com.au

1 Fishing line for

tendons PowerPro Braided Spectra Fishing Line 100LB 150 Yds

/ tackledirect.com

Table 1: List of Components of the Robotic Hand

In addition to these components, we also need to 3D-print a total of 15 parts modelled with

CAD (3 finger moulds, 3 plates and 9 small elements for the pulley system); these 3D printed

elements are listed further in part 2.3.

The cost calculation depends on the availability of the components. The total price of the

robotic hand is evaluated here for a minimum and a maximum scenario:

The maximum price includes shipping costs to Brisbane and considers that the price of

the whole packs, in particular for the urethane resins (even though only a small fraction

of them is used for the hand). An additional $30 is added for the 3D-printing of the parts.

It is close to the price for building one hand (if more are built, money can be saved by

using the remaining polymers and buying components in large quantities – scale effect)

with no previously available elements in the laboratory.

The minimum price does not include shipping costs and only counts the price of the

components effectively used. It supposes a free access to a 3D-printer. This value

represents the "raw" cost of the materials and components made to use the hand.

For each scenario, the price is given with and without the motor. The basic hardware and

tools (such as screwdrivers, duct tape and plastic cups) involved in the building process of the

hand is considered available – and thus their price is not included.

Page 27: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

27 / 58

Total Price ($AUD)

Without Motor With Motor

Minimum $151 $541

Maximum $409 $828

Table 2: Price Range of the Robotic Hand

The robotic hand can be built with 151A$ worth of materials and components, motor

excluded. In both scenarii, the motor represents more than half of the total price; having one

already available dramatically limits the expenses. In this project, the motor was available, but

all of the other components had to be ordered, resulting in a prototype costing around 400A$.

The "real" price of the hand hence ranges between 400A$ and 800A$, which is very low

for an effective robotic grasper, as of the most commercially available ones cost several

thousands of dollars.

2.3. Construction Process

2.3.1. 3D-Printing

The very first step of the building process is to print all of the custom elements previously

designed and modelled with CAD. There are in total 15 3D-printed parts in the robotic hand

design:

3 identical fingers moulds described in paragraph 2.1.2;

The three plates used to make the hand base showed in paragraph 2.1.4;

9 small elements constituting the underactuation system (cf. 2.1.3) depicted below:

Figure 25: 3D-printed parts for the puley system: (a) motor wheel; (b) and (c) two elements of the motor block;

(d) fixed pulley; (e) half of the first mobile pulley; (f) half of the second mobile pulley.

The 3D printer used for the project was a MakerBot. Although the level of detail was not

optimal (approximately ±0.5mm), that was sufficient for our application.

Page 28: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

28 / 58

Nevertheless, the parts could not be used as printed; some post-treatment was necessary.

First, the support material had to be removed from the cavities and slots, with a long metallic

item such as a screwdriver, and/or a cutter. Special care had to be taken for the finger moulds

to remove the support structure from the joints and pad cavities without damaging the thin

sacrificial walls. Second, most of the parts had to be extensively filed to remove the last bits of

support material, and to make up for the dimensional errors due to the printer relative

inaccuracy.

Last step in the preparation of the 3D-printed components: redrilling the circular holes. The

holes hosting the pins and screws are likely to lack precision; redrilling them facilitates the

further assembly. The holes for press-fitting should not be too wide so that the pins do not slide

freely inside them. The three thin holes for tendon routing evoked in 2.1.2 shall be drilled in

each of the fingers (they are not included in the finger mould CAD design, as they are too small

to be printed correctly, but small slots indicate where to drill); this can be done before or after

the Shape Deposition Manufacturing step.

2.3.2. Compliant parts: Shape Deposition Manufacturing

As explained in paragraph 2.1.2 and 2.3.1, the 3D-printed fingers contain cavities at the

joints and pads locations. The compliant joints and pads are formed through Shape

Deposition Manufacturing (SDM): liquid polymers are poured inside the cavities, and once

cured, the walls are removed, forming the fingers with the embedded flexible elements. This

paragraph details this process. The indications provided in [23] were particularly useful.

First, we seal the finger moulds with duct tape (on the bottom and on the sides) to avoid

spillage and leaks of the liquid urethanes. Additional sealing was provided by using Blu-Tack

on some small breaches in the walls.

Figure 26: Sealed Finger Moulds

Then, we prepare the liquid polyurethanes. They are sold as two separate chemical

compounds which must be mixed with a precise 1:1 or 2:1 ratio.

We mix the compounds for the first urethane (the PMC-780 for the joints, the stiffest and

longest to cure) in a plastic cup with a wooden rod. But as the air bubbles – formed during the

mixing process – could drastically deteriorate the compliant parts quality and resistance, we

eliminate them by degassing the mixture in a vacuum chamber. Then, we pour the degassed

liquid resin into the joint cavities – for more precision, a small syringe was used.

We then repeat the process for the second polyurethane (Vytaflex 30A) and pour it into the

pad cavities.

Page 29: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

29 / 58

Figure 27: (a) Mixed PMC-780; (b) Pouring of the Vitaflex 30A: (c) Filled finger moulds

The curing time of the polyurethanes are 48h for the PMC-780 and 16h for the Vytaflex

30A. Past this delay, the formerly liquid resins are fully set and have formed the flexible parts.

The last step of the SDM process consists in get rid of the unnecessary bits, to finally have

"clean" and functional compliant fingers. After removing the sealing duct tape and Blu-tack,

we can cut the surplus urethanes on the sides with a sharp blade (type cutter or scalpel). Then,

the sacrificial walls (which purpose was to contain the polymers while liquid) can be cut away

to obtain the desired compliance. The joint walls can be cracked and removed by hand by

flexing the fingers, while cutting is really necessary for the pads (the blade shall not damage

the flexible elements, or else it could lead to crack propagation and tearing after repeated use).

Figure 28: (a) Cured Fingers; (b) Polymer surplus removed; (c) Final finger (sacrificial walls removed)

2.3.3. Assembly

Once the SDM performed to fabricate the fingers, all parts are ready to be assembled.

2.3.3.1. Sub-blocks

First, we build the sub-assemblies such as the pulley or motor blocks.

The pulley blocks are obtained by press-fitting the stainless steel pins. We use a vice bench

to force the pins through the holes: the ABS material having some elasticity, it deforms to let

Page 30: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

30 / 58

the pin go through the purposely too narrow hole, and after the pressing, the pin stays in place

without further fixation (the friction is enough to retain it). In the case of the two mobile pulleys,

the pins are pressed through the first half, then the pulley wheels are placed, and then the second

half is pressed on top of the structure:

Figure 29: Press-fitting assembly of a mobile pulley

A similar procedure is used for the press fitting of the pins / pulley wheels inside the others

parts. However, the pulley must be in place since the beginning of the pressing, else the slot

becomes too narrow to insert them. In the end, all of our pulley sub-blocks are assembled:

Figure 30: (a) Pulley sub-blocks of the underactuation system; (b) Fingers with pulleys

Finally, we can mount the custom pulley wheel and the elements of the motor block on the

motor itself before proceeding with the general assembly. The motor is put upside-down, and

the two elements are directly screwed on it:

Figure 31: Motor assembly

The motor side of the first tendon can be attached to the motor wheel and routed through

the motor block at that point.

Page 31: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

31 / 58

2.3.3.2. Hand assembly

Starting with the bottom plate, we place the two fixed pullies in their slots, and maintain

them in place by putting the second bottom plate on top of it. The standoffs can be screwed to

fix this assembly, and the motor block can be placed in its slot. The free end of the motor tendon

can already be attached to the first moving pulley (red tendon on figure 20 paragraph 2.1.3.2).

Figure 32: Assembly – Bottom part (Process)

In parallel, the fingers are screwed to the top plate. The tendon linking the two adjacent

fingers (blue tendon on figure 20, paragraph 2.1.3.2) and going through the second moving

pulley shall be installed at this point. As both ends are fixed to finger capstans, the tension can

easily be tuned (even after the completion of the assembly). The tendon going through the third

finger can be placed, be must be loose.

Figure 33: Assembly – Top part (2 views)

Page 32: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

32 / 58

Finally, the bottom and the top part are attached together by screwing the top part of the

assembly to the four standoffs. The last tendon (green tendon on figure 20, paragraph 2.1.3.2)

shall be attached to the second moving pulley, routed through all the underactuation system,

and fixed to the capstan of the remaining finger. The three tendon ends attached to the capstans

(especially the one on the individual finger) can be used to tune the tension at rest of the whole

transmission system.

Figure 34: Complete Robotic Hand

The final hand weights less than 400g. Its dimensions are close to those measured on the

CAD model: 180mm high, a base diameter of 100mm and a maximal grasp aperture of 100mm.

2.4. Power Supply and Control

All of the actuation comes from the Dynamixel servomotor; hence it is the only element

which needs power supply and which can be controlled. Thanks the electronics integrated in

the Dynamixel servomotor, the architecture of for control and power supply is simple, and very

few components and connections are required.

The Dynamixel MX-64T communicates with a TTL protocol (3-pin port) and requires a

12V power supply. Four elements are involved in this powering and controlling process:

A computer sends and receives data to control the robotic hand (it sends commands,

receives feedback and measurements from the sensors). It is connected through USB to

a device called "USB2Dynamixel".

The USB2Dynamixel device links the computer to the rest of the system. One side is

connected through USB to the computer, while the other exchanges data with the

"SMPS2Dynamixel" adapter with a 3-pin connector.

Page 33: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

33 / 58

The SMPS2Dynamixel adapter receives power from a 12V power supply, and is linked

to the USB2Dynamixel and to the motor with two 3-pin connectors. It has a double

purpose: feed the electrical power it receives to the motor, and transmit the data between

the USB2Dynamixel device and the motor.

The Dynamixel MX-64T motor (the robotic hand) receives both power and instructions

from the SMPS2Dynamixel adapter through a 3-pin connector. It also sends back the

signals from its sensors. As it includes a built-in microcontroller, all of this processing

is handled internally.

The diagram below depicts the connections and data/power exchanges in the system:

Figure 35: Diagram of the electrical connections of the system

Figure 36: Picture of the Connected Robotic Hand

The software and programming used to control the robotic hand are detailed in part 3.1.

Page 34: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

34 / 58

3. Characterisation of a Compliant Grasp

Now that the functional robotic grasper is built and functional, it can be used to characterise

soft grasp. A series of experiments were conducted to try and evaluate the grasping abilities of

this compliant hand. This section details the principle, design and outcome of these

experiments, as well as analyses and possible interpretations of the results.

3.1. Prerequisite: Programming the Hand for Grasping

Before considering testing the grasp capabilities of the robotic hand, we need to program

the actual grasp action. This part presents the control structure of the motor electronics, and the

software and scripts used to automate the grasp.

3.1.1. Functioning of the Dynamixel MX-64T Servomotor

Most of the information in this paragraph are drawn from the motor specifications [22].

The protocol used by the Dynamixel MX-64T servomotor is a "Half duplex Asynchronous

Serial Communication (8bit,1stop, No Parity)" [22]. This means that it can send and receive

data in 8-bit packets; but due to the half-duplex communication system, information cannot

be sent and received simultaneously.

The motor is controlled by reading and assigning hexadecimal values to specific

addresses in its embedded microcontroller. Each of these values is 8-bit long and contains data

about the current motor status or operation. These 8-bit data blocks (or bytes) have the

following properties:

EEPROM or in RAM: the data contained in the EEPROM area is kept after the power

is turned off, while the data in the RAM is only saved until the device is shut down (and

reset to the initial value after turning it on again).

Access: Some bytes can only be read (model number of the motor, sensor values, etc.)

while others can be both read and written, allowing to command the motor (mode of

functioning, rotation speed, LED on/off, etc.)

Size: Although all addresses can only contain 8-bit values (one byte), data with more

than 256 possible values requires more space. In this case, the data is split into two bytes

on two adjacent addresses: the first one contains the lowest 8 bits, and the second the

highest 8 bits.

The meaning of the bytes at the different addresses is detailed in the control table provided

by Robotis and present in appendix B. All the values are hexadecimal 8-bit numbers, and it is

necessary to refer to the documentation to convert them into understandable quantities.

Controlling the robotic hand will mostly consist in reading the data from the sensor bytes,

and command the appropriate reaction by assigning values to the speed or position bytes of the

servomotor. Due to this architecture, if a value is assigned to an address, the motor will keep

following this order until the value is replaced by another or the power is turned off. In

particular, if the connection with the computer breaks, the motor will maintain the behaviour

corresponding to the last given orders (last assigned values) until the connection is restored

or the device is shut down.

Page 35: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

35 / 58

We can finally note that the motor has three modes of functioning: wheel mode, joint mode,

and multi-turn mode:

In the wheel mode, the user assigns a constant rotation speed and the motor spins

infinitely (until the speed is changed).

In the joint mode, the movement is limited between two maximal angles (the span is

inferior to 360°). The user inputs a goal angle; the motor then spins until it reaches the

angle, and then stops.

The multi-turn mode is similar to the joint mode, as the user decides a goal position and

the motor reaches it, but the movement is no longer limited to a range of 360°. The

reachable positions extend to several turns in both directions.

As explained in paragraph 3.1.3, only the wheel mode was used to control the robot.

3.1.2. Basic Operations with the RoboPlus Software

Once the robotic hand connected to the power source and to the computer according to the

diagram on part 2.4, the easiest way to control it is to use the "Dynamixel Wizard" of software

RoboPlus provided by Robotis.

After detecting and connecting to the motor, a window showing the instantaneous values of

all the bytes appears. In this interface, we see the address number and its meaning next to each

byte; it is possible to manually change the values of the writable bytes by selecting it and using

the commands appearing on the side.

Figure 37: RoboPlus interface (this example does not match our motor or control table) [24]

(1) Connected devices; (2) List of all the addresses/bytes; (3) Commands for the selected byte

Page 36: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

36 / 58

Although relatively clear, this interface is not very practical (even for simple uses). Besides,

it is not possible to program a sequence of actions with loops and conditions (if we do not have

an external controller), and we cannot retrieve the measured values over time (only the

instantaneous values are visible) to analyse the behaviour of the robot.

Consequently, we need another way to control the robot. This software was only used to

check whether the motor is correctly connected, and if we want to assign some values manually.

3.1.3. Matlab Grasp Script

Thanks to the Dynamixel Software Development Kit (SDK) provided by Robotis, it is

possible to control the servomotor with various programing languages (such as C, python or

Matlab). It is therefore possible to use one of these – instead of the basic software described in

the previous paragraph – to create sequences of grasp motions, handling feedback from the

sensors and saving data during the whole experiment. Matlab was chosen for its simplicity,

convenience, and ability to efficiently draw graphical representations of the data.

3.1.3.1. Matlab Configuration and SDK Specificities

Matlab R2016b was used on a Windows 10 laptop (with Visual Studio 2015 installed).

The first step is to download the last version of the Dynamixel-SDK-master on Github, and

follow the configuration instructions provided by Robotis on [25] and/or the more recent ones

on [26]. Two protocols were available in the SDK, 1.0 and 2.0; the protocol 1.0 shall be used

(2.0 provides more functionalities, but is only handled by the Dynamixel "Pro" servomotors).

The script written to grasp objects is based on the "read_write.m" file provided in the SDK.

The main specificities of the script are:

The configuration code at the beginning and at the end to load/unload the libraries and

connect / disconnect the computer to the motor.

It frequently uses the read1ByteTxRx function provided in the SDK, which "reads" the

value of a byte at a specific address. This function takes as inputs the information to

identify the motor and the address we want to read, and returns the instantaneous value

of this byte. An alternate version, called read2ByteTxRx¸ reads the value of variables

coded on two bytes.

It also uses the write1ByteTxRx function provided in the SDK, which "writes" / "assigns"

a specific value at a specific address. This function takes as inputs the information to

identify the motor, the address where we want to write and the value we want to assign,

and implements this value inside the motor's microcontroller. An alternate version,

called write2ByteTxRx¸ assigns a value to variables coded on two bytes.

Verifications are systematically performed to check if the "read" or "write" function

worked as intended.

Except from these features, the script only uses general Matlab syntax and functions.

Page 37: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

37 / 58

3.1.3.2. Principle of the Grasp Script

The full Matlab grasp script is presented in Appendix C; this paragraph only explains its

general principle. The general idea is to use force control, or in other words to close the hand

until a load threshold is reached.

We first set a limit load. Once the script started, the hand closes at a constant speed; the

computer reads the intensity measured by the load sensor periodically during this phase. Once

the measured load rises above the limit (which either means that the object has been grasped or

that the hand is fully closed with the fingers touching each other), the motor stops, keeping the

hand closed. After a few seconds, the hand releases the grasp and opens again until the initial

position is reached.

The closing speed, time interval between the load checks and grasp duration can be set

inside the script. Also, by tuning the limit load, it is possible to achieve softer or firmer grasps

(by respectively lowering or increasing the limit). This limit should however not be too high,

as not reaching it would keep the closing motion going and potentially damage the object, the

hand or the motor.

Apart from the load, the script also reads multiple other values provided by the sensors

embedded in the motor, in particular the position, speed, voltage and temperature of the motor.

These measurements are printed directly in the Matlab command window during the grasping

(allowing the user to check that everything is working fine) but also saved in matrices – and

can then be plotted afterwards.

3.1.3.3. Basic Testing

Preliminary tests were run to make sure the script (and the robotic hand) produces a good

grasp. The idea was simple: hold the robotic device upside down on top of an object, run the

script, and see whether the object is grasped or not.

Six objects (varying in size, shape, mass and stiffness) were used for this test: a paper roll,

a marker, a plastic cup, a duct tape roll, a clothespin and a cream filled cookie. For all of them,

the speed of the motor was set to approximately 4.5 RPM and the limit load to 10% of the

maximum torque of the motor. The robotic hand attempted to grasp the items from several

orientations, and succeeded every time, except when the cookie and the clothespin were laid

flat on the table (too thin to be reached).

Figure 38: (a) Objects grasped for the test; (b) Speed and load over time for one of the grasping tests

Page 38: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

38 / 58

We can deduce that the grasp provided by this script is satisfactory (for objects at least

1cm-thick); it can be used for the characterisation of the hand that follows.

3.2. Building Experimental Grasp Probability Maps

3.2.1. Purpose and Principle

Due to its compliance, the robotic hand built for this project can supposedly conform to the

shape of the grasped object and compensate for the variability of an unknown environment.

The purpose of this characterization is to quantify the extent of this adaptability. During this

experiment, we are mapping the probability of successfully grasping an object depending on

the relative position between the grasper and the object.

If the object (which size and shape are chosen to be optimal for the grasper) is placed at the

centre of the hand, the grasp will succeed every time – it would even if the hand was not

compliant. However, if the object is now translated from the previous location, the grasp may

or may not be successful, depending on how big the shift is and on how much the grasper is

able to adapt.

By changing this relative distance between the centre of grasp and the centre of the object,

and attempting a grasp for each location, we can draw a map showing where the grasp is

successful and where it fails. If we symbolize a successful grasp by a 1 and a failure by a 0,

reproduce the experiment several times, and average the results, we obtain a map of the grasp

probability. Analysing the shape, size, and gradient of these probability maps will show how

robust the grasp is, but also give information about the influence of compliance and other design

choices on the robotic hand performances.

3.2.2. Experimental Setup and Procedure

The grasped object chosen for the experiment is a tennis ball (mass ≈56g, diameter ≈65mm).

Its size is particularly adapted for the hand aperture, its spherical shape remove the influence

of the angles / orientation, and its rough surface improves the grip.

As stated in the previous paragraph, we are making the relative distance between the ball

and the hand vary. The most practical and accurate way to do so is to keep one at a static

position and move the other one around it. We hence hung the ball to a rigid structure at a

fixed location (x=0, y=0, z=H in our frame), and displaced the robotic hand below it.

Figure 39: (a) Complete setup with rigid structure; (b) Hand positioning from above

Page 39: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

39 / 58

With (x = 0 ; y = 0) being the centre position, grasps were attempted every 5mm from

–30mm to +40mm (15 values) along the x axis and from –20mm to +20mm along the y axis (9

values), which makes a total of 15*9 = 135 measurements per mapping. As explained in

paragraph 3.2.1, a successful grasp is recorded as a 1 and a failure as a 0 (occasionally, 0.5

scores were given for successful but very unstable grasps). These measurement were repeated

six times and averaged to obtain a grasp probability map.

Figure 40: (a) Example of one-time grasp recording for H = 155mm; (b) Average map for H = 155mm

The limits ±20mm along the y axis were chosen as the fingers started to touch the ball for

further y values, losing the significance of "relative position between the hand and the ball".

Nevertheless, additional measurements were performed up to y = ± 100mm to try and complete

the grasp zone shape (which added 14 new y values).

Grasp maps were measured for three ball heights:

H = 155mm, which placed the centre of gravity of the ball below the centre of the grasp

and allowed contact with the pads on both fingers phalanges;

H = 175mm, which placed the centre of gravity of the ball approximately at the same

height as the centre of the grasp;

H = 190mm, which placed the centre of gravity of the ball above the centre of the grasp,

and only allowed contact with the top pads.

As a result, we hence have a three-dimensional mapping on the grasp probability of the

robotic hand.

Page 40: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

40 / 58

3.3. Results and Analysis

3.3.1. Grasp Probability Maps

The grasp probability maps obtained through the experiments described above are

represented below. The orientation of the robotic hand was identical for all of them: fingers

along the y axis, with the adjacent ones at the top and the single one at the bottom (as depicted

on the maps).

Figure 41: Grasp probability maps (colour maps) for y between -20mm and +20mm

Figure 42: 3D grasp probability map (contour plot) for y between -20mm and +20mm

Page 41: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

41 / 58

Figure 43: Full grasp probability map (H=155mm)

with diagrams showing whether the ball is in (0;0) or pushed by the hand

Figure 44: Full grasp probability maps (H = 175mm and H =190mm)

Page 42: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

42 / 58

Figure 45: Full 3D grasp probability map (contour plot)

3.3.2. Analysis and Interpretation

This analysis will focus more on the grasp probability maps comprised between y = –20mm

and +20mm, as they are more meaningful (the x and y really represent the relative distance

between the centre of grasp and the centre of gravity of the object).

3.3.2.1. General Shape of the Maps

From the general shape of the grasp probability maps, we can notice that:

The successful grasp area is relatively big (in yellow, where p = 1): ±10 to 25mm

along x and ±20mm along y. Compared to the diameter of the ball (65mm), it is the

equivalent of a 30% shift in both directions. This really proves that thanks to its

compliance, the hand can adapt and compensate substantial positioning errors.

Figure 46: Successful grasp despite a substantial positioning error

Page 43: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

43 / 58

The geometrical shape formed by the successful grasp zone reflects the asymmetry of

the finger layout (2 opposed to 1), forming a trapezoid. The direction is inverted: the

robotic hand is oriented with the two adjacent fingers at the top whereas the trapezoid

largest size is at the bottom. This inversion is logical, because if we move the hand

towards the negative values of y, the two adjacent fingers will be closer to the ball and

will contact it first during the grasping – providing more contact points / surfaces, hence

improving the grasp. Conversely, if we move the hand towards the negative values of y,

the single finger will be closer to the ball and will contact it first – having a single contact

point decreases the stability.

The transition between grasp success and failure is not sharp: there is a probability

gradient zone all around the successful grasp zone where the probability progressively

decreases from 1 to 0. This gradient zone is 5 to 15mm wide.

3.3.2.2. Specific Comparisons

More advanced analyses can be led by focusing on specific samples of the data to study the

influence of certain factors.

In particular, we can analyse the effect of the ball altitude H. Logically, grasp

performances should be optimal for H = 155mm, where the ball is in contact with all of the

finger pads (power grasp), and should decline when H increases (progressively diminishing the

contact surface during the grasp). This expected behaviour can already be seen by comparing

the aspect of the grasp maps (the surface area of the successful grasp zone decreases for higher

values of H). The two graphs below compare the grasp probabilities along one axis (either x or

y, the other one being fixed) for the three heights:

Figure 47: Effect of H on the grasp probability (Left: x = +30mm, y varies; Right = y=0, x varies)

Besides confirming that grasp adaptability decrease with H, these graphs show that the loss

is much more important from H = 155mm to 175mm than from 175mm to 190mm – the last

two have somewhat similar performances, even though H = 175mm remains superior.

Finally, we can also notice that, in this two cases, the probabilities at the boundaries seem

to be relatively independent of the height. For x = +30mm, p(-20) = 0.4 and p(10) = 0 for every

H; for y=0, the probability reaches zero for x =-30 and +35 (except for H=155m which has a

5mm offset).

Page 44: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

44 / 58

A second analysis we can perform is the evaluation of the difference between both sides

of the grasp zone (i.e. compare the grasp probability for y = +20mm and y = -20mm). The idea

is to quantify the effect of the hand asymmetry:

Figure 48: Variation of the grasp zone width between y = +20 and -20mm

For H = 155mm and 175mm, the grasp zone at y = +20 is 43% less wide than at y = -20.

For H = 190mm, it is even a little more, with a 50% width reduction. These values are a little

lower than the physical difference of width between the sides of the grasper (1-fingered side:

w=20mm; 2-fingered side: w = 20 + 20 + 8 (spacing) = 48mm), corresponding to a width

reduction of 58%.

We can finally notice on the curves than the slopes are quite similar: the asymmetry does

not seem to affect the probability gradient. An explanation of this observation could be that the

ball is generally caught by two fingers only at the limit of the grasp zone, negating the additional

stability provided by the third one around the border.

3.3.3. Synthesis and Further Studies

Through this experiment and the subsequent analysis, we were able to graphically represent

the adaptability of the robotic hand with grasp probability maps.

Thanks to its compliance, the prototype can compensate relatively big positioning errors

and produce stable grasps. The structural asymmetry is reflected in the performances, and shall

be taken into account if the hand were to be used in real conditions (for instance by trying to

position closer to the side with the two adjacent fingers). Finally, the flexibility – and the control

loss that comes with it – generates some uncertainty, which appears in the gradient zone where

the grasp probability is neither 1 nor 0.

Page 45: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

45 / 58

Using the same experimental procedure, other deeper analyses can be conducted, such as:

Reproducing the experiments with smaller length intervals and/or more grasp iterations

for the probability calculation in order to achieve a better resolution and precision.

Building and testing a similar hand with less (or even no) compliance, to determine

by comparison what real impact compliance has on the grasping capabilities.

Repeating the experiment with different parameters to analyse their influence, for

instance:

o With a different ball: smaller/bigger, lighter/heavier, smoother/rougher or

stiffer/more flexible;

o With a slightly different robotic hand: similar structure, but different stiffness

for the pads and/or joints, or different finger configuration and/or number;

o With a different object shape: polyhedron, cylinder, or asymmetric solid (this

would however require to consider the relative orientation between the object

and the hand as a parameter).

Page 46: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

46 / 58

4. Critical Review of the Project

This section is a brief reflection about the performance on this thesis project. It compares

the actual progress with the initial planning, analyses the evolution of the thesis objectives and

check if they all have been met in the end.

4.1. Respect of the Schedule

The original planning developed in the project proposal [3] divided the project as follows:

Semester 1: Bibliography review (March), Design of the robotic hand (April – May),

ordering and printing of the components (June).

Semester 2: Construction of the hand (July – August), Testing and Experiments

(September – October), Thesis Writing (September to November).

Everything went on schedule during semester 1; the design of the hand was complete and

the orders placed by mid-June. Then, a huge delay in the ordering process (which took three

months in total) retarded the rest of the execution: the component only arrived in late

September, leaving only one month for building and testing the robot – and completing the

thesis. Nevertheless, despite a heavy workload, the hand was built, several experiments were

led and all the deadlines were met on time.

In sum, the schedule have been followed for the first semester and squeezed during the

second, imposing a hectic rhythm during the last few weeks. More experiments and analyses

could have been done with more time.

4.2. Project Goals

The core of the project have always been to design and build a compliant robotic hand using

rapid prototyping techniques. However, the secondary goal evolved throughout the year.

Originally, the idea was to mount the hand on a robotic arm and program it (using computer

vision) to detect and move several cookies from one box to another. As the interface with the

arm added a lot of complexity to the design, the idea of connecting the hand was slowly

abandoned, as well as the detection and programming that went with it. The interest shifted

from computer vision to grasp analysis, and the objective became to analyse and evaluate how

compliance could improve the grasp abilities of a grasper.

All the final goals were met: the hand was fully designed and build (and worked!), and could

be used for the expected compliant grasp analysis.

4.3. Evaluation and Suggestions for Further Projects

Overall, I feel that the project was correctly handled as all the objectives were met. Although

the ordering delay retarded the progress, additional work during the late phases could make up

for it. Because of this, my biggest recommandation for future project would be to plan well in

advance any task or order requiring a third party, leaving as much buffer time as possible to

compensate any trouble.

Page 47: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

47 / 58

Conclusion

During this project, an efficient and adaptive robotic grasper was successfully designed,

built, and used to investigate and quantify the adaptability of a soft (compliant) grasp.

On the basis of previous works on low-cost compliant graspers (in particular [1] and [2]), a

CAD model was elaborated and the corresponding prototype was built. Thanks to judicious

conception choices, such as the use of 3D-printing, underactuation and compliant joints, the

resulting hand ends up being inexpensive and easy to command, but still robust and capable to

grasp a wide range of objects with a simple force control algorithm. The capabilities and limits

of the robotic hand were tested during a grasp experiment, which purpose was to map the

probability of successfully grasping a given object depending on positioning errors. The

resulting grasp probability maps showed that the compliant grasp could compensate relatively

big variations in the object position (up to ±20mm in both directions). They also highlighted

several properties of the grasp, such as its asymmetry (reflecting the hand's asymmetry), the

presence of an uncertainty zone (with the probability gradient between the success and failure

zones) or the decline of its performances with the altitude.

This study can be continued in many directions. As stated in paragraph 3.3.3, the

experimental procedure can be reproduced with some variations to obtain new results and

analyse how specific properties – of the hand, such as the joint stiffness or the number of

fingers; or of the grasped object, such as its shape, roughness and size – can influence the

compliant grasp. The experimental setup can be improved to make the measurements more

efficient, for example by automating he grasp attempts with an X-Y level. Finally, a more

advanced project could explore the inverse problem: creating methods and algorithms which,

given an objective grasp probability map, would generate a robotic hand design achieving such

performances (or at least would give some guidelines and recommendations for designing this

hand).

Page 48: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

48 / 58

Acknowledgement

I would like to thank my supervisor Dr Surya P. N. Singh for his involvement all over the

year. The weekly meetings he hosted were a great way to work regularly and have constructive

feedback on my progress. I really appreciated his kindness and motivation, and the insights he

regularly provided guided me efficiently throughout the year.

I would also like to thank the whole team from the Robotic Design Lab (in 47-311), who

welcomed me for the experimental side of the project (hand building and testing), and in

particular Edwin and Will, for their precious help during the hand fabrication.

I would finally like to thank my family who followed every step of this thesis project and

supported me day after day from the other side of the planet.

Page 49: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

49 / 58

References

[1] G. Franchi, A. ten Pas, R. Platt, and S. Panzieri, ‘The Baxter Easyhand: A Robot Hand that

Costs $150 US in Parts’, in International Conference on Intelligent Robots and Systems,

2015, pp. 2917–2922.

[2] R. R. Ma, L. U. Odhner, and A. M. Dollar, ‘A Modular, Open-Source 3D Printed

Underactuated Hand’, in International Conference on Robotics and Automation (ICRA),

2013, pp. 2737–2743.

[3] Alexandre Cayla, ‘One Sweet Robot - Project Proposal’. The University of Queensland,

2016.

[4] J. Lenarcic, T. Bajd, and M. M. Stanišić, Robot Mechanisms, vol. 60. Springer Science &

Business Media, 2012.

[5] R. M. Murray, Z. Li, and S. S. Sastry, A Mathematical Introduction to Robotic

Manipulation. CRC press, 1994.

[6] B. Siciliano and O. Khatib, Springer handbook of robotics. Springer Science & Business

Media, 2008.

[7] V.-D. Nguyen, ‘Constructing Force-Closure Grasps’, Int. J. Robot. Res., vol. 7, no. 3, pp.

3–16, 1988.

[8] V.-D. Nguyen, ‘The Synthesis of Stable Force-Closure Grasps.’, DTIC Document, 1986.

[9] L. Birglen and C. M. Gosselin, ‘Force Analysis of Connected Differential Mechanisms:

Application to Grasping’, Int. J. Robot. Res., vol. 25, no. 10, pp. 1033–1046, 2006.

[10] L. Birglen, T. Laliberté, and C. M. Gosselin, Underactuated robotic hands, vol. 40.

Springer, 2007.

[11] L. Birglen, ‘Type synthesis of linkage-driven self-adaptive fingers’, J. Mech. Robot.,

vol. 1, no. 2, p. 21010, 2009.

[12] T. Laliberté, L. Birglen, and C. Gosselin, ‘Underactuation in robotic grasping hands’,

Mach. Intell. Robot. Control, vol. 4, no. 3, pp. 1–11, 2002.

[13] T. Moyer, E. L. Faulring, and J. J. Santos-Munne, ‘One motor finger mechanism’, Jun-

2013.

[14] C. Ishii, Recognition of Finger Motions for Myoelectric Prosthetic Hand Via Surface

EMG. INTECH Open Access Publisher, 2011.

[15] C. Gosselin, F. Pelletier, and T. Laliberte, ‘An anthropomorphic underactuated robotic

hand with 15 dofs and a single actuator’, in Robotics and Automation, 2008. ICRA 2008.

IEEE International Conference on, 2008, pp. 749–754.

[16] L. U. Odhner et al., ‘A compliant, underactuated hand for robust manipulation’, Int. J.

Robot. Res., vol. 33, no. 5, pp. 736–752, 2014.

[17] A. M. Dollar and R. D. Howe, ‘A Robust Compliant Grasper via Shape Deposition

Manufacturing’, IEEEASME Trans. Mechatron., vol. 11, no. 2, pp. 154–161, 2006.

[18] L. Biagiotti, P. Tiezzi, G. Vassura, and C. Melchiorri, ‘Modelling and Controlling the

Compliance of a Robotic Hand with Soft Finger-pads’, in Multi-point interaction with real

and virtual objects, Springer, 2005, pp. 55–73.

[19] K. Tai, A.-R. El-Sayed, M. Shahriari, M. Biglarbegian, and S. Mahmud, ‘State of the

Art Robotic Grippers and Applications’, Robotics, vol. 5, no. 2, p. 11, Jun. 2016.

[20] A. M. Dollar and R. D. Howe, ‘The Highly Adaptive SDM Hand: Design and

Performance Evaluation’, Int. J. Robot. Res., vol. 29, no. 5, pp. 585–597, 2010.

[21] ‘Yale OpenHand Project - Model T’. [Online]. Available:

https://www.eng.yale.edu/grablab/openhand/model_t.html.

[22] ‘Dynamixel MX-64 Servomotor Specifications’. [Online]. Available:

http://support.robotis.com/en/product/dynamixel/mx_series/mx-64.htm.

Page 50: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

50 / 58

[23] ‘Baxter EasyHand Assembly Instructions’, 2015. [Online]. Available:

http://www.ccs.neu.edu/research/helpinghands/easyhand/easyhand_assy_instructions.html

.

[24] ‘RoboPlus - Dynamixel Wizard Documentation’. [Online]. Available:

http://support.robotis.com/en/software/roboplus/dynamixel_monitor.htm.

[25] ‘Dynamixel SDK with Matlab (Robotis)’. [Online]. Available:

http://support.robotis.com/en/software/dynamixel_sdk/usb2dynamixel/windows/matlab.ht

m.

[26] ‘Dynamixel SDK with Matlab (Github)’, GitHub. [Online]. Available:

https://github.com/ROBOTIS-GIT/DynamixelSDK.

Page 51: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

51 / 58

Appendices

Appendix A: Exploded View of the Robotic Hand

The sub-blocks are not exploded for clarity purposes. Also, the two movable pulleys are not

represented.

The blue legends indicate components / hardware; the red designate 3D-printed parts / sub-

blocks.

Figure 49: Exploded View of the Robotic Hand

Page 52: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

52 / 58

Appendix B: Control Table of the Dynamixel MX-64T

This table is drawn from Robotis's specifications [22].

Area Address

(Hexa) Name Description Access*

Initial Value

(Hexa)

E

E

P

R

O

M

0 (0X00) Model Number(L) Lowest byte of model number R 54 (0X36)

1 (0X01) Model Number(H) Highest byte of model number R 1 (0X01)

2 (0X02) Version of Firmware Information on the version of firmware R -

3 (0X03) ID ID of Dynamixel RW 1 (0X01)

4 (0X04) Baud Rate Baud Rate of Dynamixel RW 34 (0X22)

5 (0X05) Return Delay Time Return Delay Time RW 250 (0XFA)

6 (0X06) CW Angle Limit(L) Lowest byte of clockwise Angle Limit RW 0 (0X00)

7 (0X07) CW Angle Limit(H) Highest byte of clockwise Angle Limit RW 0 (0X00)

8 (0X08) CCW Angle Limit(L) Lowest byte of counterclockwise Angle Limit RW 255 (0XFF)

9 (0X09) CCW Angle Limit(H) Highest byte of counterclockwise Angle Limit RW 15 (0X0F)

11 (0X0B) the Highest Limit Temperature Internal Limit Temperature RW 80 (0X50)

12 (0X0C) the Lowest Limit Voltage Lowest Limit Voltage RW 60 (0X3C)

13 (0X0D) the Highest Limit Voltage Highest Limit Voltage RW 160 (0XA0)

14 (0X0E) Max Torque(L) Lowest byte of Max. Torque RW 255 (0XFF)

15 (0X0F) Max Torque(H) Highest byte of Max. Torque RW 3 (0X03)

16 (0X10) Status Return Level Status Return Level RW 2 (0X02)

17 (0X11) Alarm LED LED for Alarm RW 36 (0X24)

18 (0X12) Alarm Shutdown Shutdown for Alarm RW 36 (0X24)

20 (0X14) Multi Turn Offset(L) multi-turn offset least significant byte (LSB) RW 0 (0X00)

21 (0X15) Multi Turn Offset(H) multi-turn offset most significant byte (MSB) RW 0 (0X00)

22 (0X16) Resolution Divider Resolution divider RW 1 (0X01)

R

A

M

24 (0X18) Torque Enable Torque On/Off RW 0 (0X00)

25 (0X19) LED LED On/Off RW 0 (0X00)

26 (0X1A) D Gain Derivative Gain RW 0 (0X00)

27 (0X1B) I Gain Integral Gain RW 0 (0X00)

28 (0X1C) P Gain Proportional Gain RW 32 (0X20)

30 (0X1E) Goal Position(L) Lowest byte of Goal Position RW -

Page 53: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

53 / 58

R

A

M

31 (0X1F) Goal Position(H) Highest byte of Goal Position RW -

32 (0X20) Moving Speed(L) Lowest byte of Moving Speed (Moving Velocity) RW -

33 (0X21) Moving Speed(H) Highest byte of Moving Speed (Moving Velocity) RW -

34 (0X22) Torque Limit(L) Lowest byte of Torque Limit (Goal Torque) RW ADD14

35 (0X23) Torque Limit(H) Highest byte of Torque Limit (Goal Torque) RW ADD15

36 (0X24) Present Position(L) Lowest byte of Current Position (Present Velocity) R -

37 (0X25) Present Position(H) Highest byte of Current Position (Present Velocity) R -

38 (0X26) Present Speed(L) Lowest byte of Current Speed R -

39 (0X27) Present Speed(H) Highest byte of Current Speed R -

40 (0X28) Present Load(L) Lowest byte of Current Load R -

41 (0X29) Present Load(H) Highest byte of Current Load R -

42 (0X2A) Present Voltage Current Voltage R -

43 (0X2B) Present Temperature Current Temperature R -

44 (0X2C) Registered Means if Instruction is registered R 0 (0X00)

46 (0X2E) Moving Means if there is any movement R 0 (0X00)

47 (0X2F) Lock Locking EEPROM RW 0 (0X00)

48 (0X30) Punch(L) Lowest byte of Punch RW 0 (0X00)

49 (0X31) Punch(H) Highest byte of Punch RW 0 (0X00)

68 (0X44) Current(L) Lowest byte of Consuming Current RW 0 (0X00)

69 (0X45) Current(H) Highest byte of Consuming Current RW 0 (0X00)

70 (0X46) Torque Control Mode Enable Torque control mode on/off RW 0 (0X00)

71 (0X47) Goal Torque(L) Lowest byte of goal torque value RW 0 (0X00)

72 (0X48) Goal Torque(H) Highest byte of goal torque value RW 0 (0X00)

73 (0X49) Goal Acceleration Goal Acceleration RW 0 (0X00)

*In the Access column, "R" corresponds to read-only (data that only be collected, such as

sensor values) and "RW" corresponds to read-and-write (possibility to assign values).

Page 54: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

54 / 58

Appendix C: Matlab Grasp Script

This is the Matlab script used to trigger the grasp routine described in paragraph 3.1.3. It is

based on the "read_write.m" script provided in the Dynamixel SDK.

It uses several functions and libraries from the SDK and the custom function "Check_error"

(the script for this function is provided after).

Grasp.m

%% Settings

clc;

clear all;

lib_name = '';

if strcmp(computer, 'PCWIN')

lib_name = 'dxl_x86_c';

elseif strcmp(computer, 'PCWIN64')

lib_name = 'dxl_x64_c';

elseif strcmp(computer, 'GLNX86')

lib_name = 'libdxl_x86_c';

elseif strcmp(computer, 'GLNXA64')

lib_name = 'libdxl_x64_c';

end

% Load Libraries

if ~libisloaded(lib_name)

[notfound, warnings] = loadlibrary(lib_name, 'dynamixel_sdk.h',

'addheader', 'port_handler.h', 'addheader', 'packet_handler.h');

end

% Control table address

ADDR_MX_CW_LIMIT = 6;

ADDR_MX_CCW_LIMIT = 8;

ADDR_MX_TORQUE_ENABLE = 24;

ADDR_MX_GOAL_POSITION = 30;

ADDR_MX_MOVING_SPEED = 32;

ADDR_MX_PRESENT_POSITION = 36;

ADDR_MX_PRESENT_SPEED = 38;

ADDR_MX_PRESENT_LOAD = 40;

% Protocol version

PROTOCOL_VERSION = 1.0;

% Default setting

DXL_ID = 1; % Dynamixel ID: 1

BAUDRATE = 57142.9;

DEVICENAME = 'COM4'; % Port used

TORQUE_ENABLE = 1;

TORQUE_DISABLE = 0;

DXL_MINIMUM_POSITION_VALUE = 0;

DXL_MAXIMUM_POSITION_VALUE = 0;

DXL_STATUS_THRESHOLD = 10;

Page 55: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

55 / 58

ESC_CHARACTER = 'e'; % Key for escaping loop

COMM_SUCCESS = 0; % Communication Success Value

COMM_TX_FAIL = -1001; % Communication Tx Failed

%% Connection to the motor

port_num = portHandler(DEVICENAME);

% Initialize PacketHandler Structs

packetHandler();

index = 1;

dxl_comm_result = COMM_TX_FAIL; % Communication result

dxl_goal_speed = 0; % Goal speed

dxl_error = 0; % Dynamixel error

dxl_present_position = 0; % Present position

% Open port

if (openPort(port_num))

fprintf('Succeeded to open the port!\n');

else

unloadlibrary(lib_name);

fprintf('Failed to open the port!\n');

input('Press any key to terminate...\n');

return;

end

% Set port baudrate

if (setBaudRate(port_num, BAUDRATE))

fprintf('Succeeded to change the baudrate!\n');

else

unloadlibrary(lib_name);

fprintf('Failed to change the baudrate!\n');

input('Press any key to terminate...\n');

return;

end

%% Initial value assignments

% Enable Dynamixel Torque

write1ByteTxRx(port_num, PROTOCOL_VERSION, DXL_ID, ADDR_MX_TORQUE_ENABLE,

TORQUE_ENABLE);

Error = Check_error(port_num, PROTOCOL_VERSION);

if Error

fprintf('Dynamixel has been successfully connected \n');

end

% Put in wheel mode (speed control)

write2ByteTxRx(port_num, PROTOCOL_VERSION, DXL_ID, ADDR_MX_CW_LIMIT, 0);

Error = Check_error(port_num, PROTOCOL_VERSION);

write2ByteTxRx(port_num, PROTOCOL_VERSION, DXL_ID, ADDR_MX_CW_LIMIT, 0);

Error = or(Error,Check_error(port_num, PROTOCOL_VERSION));

if Error

fprintf('Dynamixel has been successfully connected \n');

end

Page 56: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

56 / 58

%% Important variables for the routine

Test_time = 40; % Maximum duration of the grasp experiment

dt = 0.05 % Time interval between sensor readings

load_limit = 100; % Load limit value (1023 = 100%)

i = 1;

speed = 50; % Rotation speed (max 1023 = 117.07 RPM)

if or(speed < 0, speed > 100)

speed = 0;

end

tgrab = 100000;

stop = false;

%% Grasp routine

% Start the timer

tic

% Loop until the end of the grasp or until the time limit is reached

while and(toc <= Test_time,stop == false)

% Read the timer value

TIME(i) = toc;

% Assign the speed value to the motor

write2ByteTxRx(port_num, PROTOCOL_VERSION, DXL_ID,

ADDR_MX_MOVING_SPEED, speed);

Check_error(port_num, PROTOCOL_VERSION);

% Read the value various sensors

POSITION(i) = read2ByteTxRx(port_num, PROTOCOL_VERSION, DXL_ID,

ADDR_MX_PRESENT_POSITION);

Check_error(port_num, PROTOCOL_VERSION);

SPEED(i) = read2ByteTxRx(port_num, PROTOCOL_VERSION, DXL_ID,

ADDR_MX_PRESENT_SPEED);

Check_error(port_num, PROTOCOL_VERSION);

LOAD(i) = read2ByteTxRx(port_num, PROTOCOL_VERSION, DXL_ID,

ADDR_MX_PRESENT_LOAD);

Check_error(port_num, PROTOCOL_VERSION);

VOLT(i) = read2ByteTxRx(port_num, PROTOCOL_VERSION, DXL_ID, 42);

Check_error(port_num, PROTOCOL_VERSION);

TEMP(i) = read2ByteTxRx(port_num, PROTOCOL_VERSION, DXL_ID, 43);

Check_error(port_num, PROTOCOL_VERSION);

% Print in the command window the values of the sensors

clc

fprintf('[ID:%03d] Time:%f Load:%03d Volt:%03d Temp:%03d\n', DXL_ID,

TIME(i), LOAD(i), VOLT(i), TEMP(i));

% If load limit reached, stop

if tgrab==100000 && mod(LOAD(i),1024)>load_limit && i>10

old_speed = speed;

speed = 0;

tgrab = toc;

end

Page 57: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

57 / 58

% If has stopped for 2s, then open the hand (spin in other direction)

if toc > tgrab + 2

speed = old_speed + 1024;

end

% If hand open, stop and signal the grasp is finished

if toc > 2*tgrab + 2

speed = 0;

write2ByteTxRx(port_num, PROTOCOL_VERSION, DXL_ID,

ADDR_MX_MOVING_SPEED, speed);

Check_error(port_num, PROTOCOL_VERSION);

stop = true;

end

while toc < TIME(i) + dt

end

i = i+1;

end

% Make sure the hand stops moving

write2ByteTxRx(port_num, PROTOCOL_VERSION, DXL_ID, ADDR_MX_MOVING_SPEED,

0);

Check_error(port_num, PROTOCOL_VERSION);

%% Disconnection and final settings

% Disable Dynamixel Torque

write1ByteTxRx(port_num, PROTOCOL_VERSION, DXL_ID, ADDR_MX_TORQUE_ENABLE,

TORQUE_DISABLE);

Check_error(port_num, PROTOCOL_VERSION);

% Close port

closePort(port_num);

% Unload Library

unloadlibrary(lib_name);

%% Optional bit of code to write the measured values in an Excel file

% DATA = [{'Input Speed:'}, {old_speed}, {''}, {'Load Limit:'},

{load_limit}, {''};

% {''}, {''}, {''}, {''}, {''}, {''};

% {'Time (s)'}, {'Position'}, {'Speed'}, {'Load'}, {'Voltage

(mV)'}, {'Temperature (°C)'};

% num2cell([TIME', POSITION', SPEED', LOAD', VOLT', TEMP'])];

%

% filename = strcat('Results\Data ', datestr(datetime, 'yyyy-mm-dd_HH-MM-

SS'), '.xlsx');

%

% xlswrite(filename, DATA);

close all;

Page 58: One Sweet Robot: A Compliant 3D-Printed Robotic Hand › uqssing7 › share › THESIS... · 3D-printed, and the flexible parts are formed using Shape Deposition Manufacturing (SDM).

Alexandre Cayla ENGG7803

Thesis – Final Report The University of Queensland

58 / 58

Here is the function "Check_error". Using this function considerably reduces the size of the

previous script (as error checks are performed at every reading of writing step).

Check_error.m

function Error = Check_error(port_num, PROTOCOL_VERSION)

%Checking for error.

Error = false;

if getLastTxRxResult(port_num, PROTOCOL_VERSION) ~= 0

printTxRxResult(PROTOCOL_VERSION, getLastTxRxResult(port_num,

PROTOCOL_VERSION));

Error = true;

elseif getLastRxPacketError(port_num, PROTOCOL_VERSION) ~= 0

printRxPacketError(PROTOCOL_VERSION, getLastRxPacketError(port_num,

PROTOCOL_VERSION));

Error = true;

end

end


Recommended