2015 Nice 4018
2015 Nice 4018
$ % &' (
" !) * +" $ , ' !
+ + '
# $
.+ '
!( & ! ++ %$ # +,-.
*/$' 0
1 $ ## 1 % 1 2 * /" 0 ! . '
" $/ 2 1 3'" & $ '1 * 4 % .,
$ 1 % 1 ' % 1 .'
) $ $$ 1 % 1 2 * /" 0 ! . '
% '1 $ 1 0 " ' 5
* $$ ) $# 1 $ " $ $ 1 ', !
i
Abstract
Sommario
Negli ultimi decenni il lavoro di una parte sempre maggiore di ricercatori che
si occupano di robotica si è concentrato su un particolare gruppo di robot
appartenenti alla famiglia dei manipolatori paralleli: i robot a cavi. No-
nostante i numerosi studi al riguardo, questi robot presentano ancora oggi
numerose problematiche del tutto (o in parte) irrisolte. Lo studio della loro
cinematica nello specifico, già complesso per i manipolatori paralleli tradi-
zionali, è ulteriormente complicato dalla natura non lineare dei cavi, i quali
possono esercitare sforzi di sola trazione. Il lavoro presentato in questa tesi si
concentra dunque sullo studio della cinematica dei robot a cavi e sulla messa
a punto di tecniche numeriche in grado di affrontare parte delle problemati-
che ad essa legate. La maggior parte del lavoro è incentrata sullo sviluppo
di una procedura per la soluzione del problema geometrico diretto di un ge-
nerico manipolatore a cavi basata sull’analisi per intervalli. Questa tecnica
di analisi numeirica, oltre a consentire una rapida soluzione del problema,
permette di garantire i risultati ottenuti in caso di errori di cancellazione e
arrotondamento e consente di considerare eventuali incertezze presenti nel
modello del problema. Il codice sviluppato è stato testato attraverso un pic-
colo prototipo di manipolatore a cavi la cui realizzazione, avvenuta durante
il percorso di dottrato, è descritta all’interno dell’elaborato unitamente al
lavoro collaterale svolto durante la fase di progettazione e simulazione.
iii
Résumé
1 Introduction 1
1.1 Serial and parallel manipulators . . . . . . . . . . . . . . . . . 2
1.2 Cable robots . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.1 History and main applications . . . . . . . . . . . . . . 7
1.2.2 Main components . . . . . . . . . . . . . . . . . . . . . 12
1.3 Interval analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.1 Basic Notions . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.2 Evaluation function . . . . . . . . . . . . . . . . . . . 19
1.3.3 Problem-solving algorithm . . . . . . . . . . . . . . . . 21
1.3.4 Application in robotics . . . . . . . . . . . . . . . . . . 24
1.3.5 Advantages and disadvantages . . . . . . . . . . . . . . 27
v
vi CONTENTS
5 Conclusions 97
5.1 Future perspectives . . . . . . . . . . . . . . . . . . . . . . . . 98
List of Figures
vii
viii LIST OF FIGURES
1.13 On the left, the Athlete vehicle during a low gravity test
[Wilcox 2012] and on the right a rendering of the FAST tele-
scope [Nan 2006]. . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.14 (a) The haptic interface Spidar G-G [Murayama et al. 2004]
and (b) the Marionet Rehab by Merlet [Merlet 2010]. . . . . . 14
1.15 The SkyCam [SkyCam 2015]. . . . . . . . . . . . . . . . . . . 14
1.16 (a) The latest prototype of winches developed by the Fraun-
hofer Institute IPA [Schmidt et al. 2015] and the cable ac-
tuators with linear motors mounted on the Marionet Rehab
[Merlet 2010]. . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.17 A detail of the winches developed by the Fraunhofer Institute. 17
3.1 The four different cases for the possible location of Bi accord-
ing to the location of Aj , the leg length ρj and the distance
between Bi and Bj . The admissible region zone for Bi is
represented by the dashed line. . . . . . . . . . . . . . . . . . 49
3.2 The solution box after the inflation process. . . . . . . . . . . 63
xi
Prologue in English
In the late 80s some researchers began to explore the possibility of replacing
parallel manipulators’ rigid-body actuators with cables, in order to overcome
the main weaknesses of this family of robots, such as the limited workspace,
a considerably complex manufacturing process and maintenance, and high
costs. These robots, defined cable-driven parallel robots (CDPRs), or simply
cable robots, in addition to the advantages deriving from parallel architecture,
thanks to cable flexibility can also have extremely large workspaces, higher
load capacity, better kinematic performance and enhanced ease of design
and assembly. A more detailed presentation of cable robots, the literature
on them and the description of the most famous prototypes is reported in
the first part of Chapter 1 of this thesis.
However, the already difficult control and kinematic analysis of parallel
robots (that took more than 30 years to be completely solved) is for these
manipulators further complicated by the inability of cables to withstand
compressive loadings. This implies that certain poses (i.e. positions and
orientations) and/or loading conditions cannot be achieved because some
cables can suddenly become slack, thus modifying the robot configuration,
its static and/or dynamic equilibrium and compromising its control. The
work done during the three years of the Ph.D. program primarily dealt with
the study of these problems and especially on direct kinematics issues.
Direct or forward kinematics refers to compute the end-effector pose from
specified values of the joint variables, in this case cable lengths. If a robot
with n ≥ 6 cables and at least m = 6 of them are in tension, the 6 end-
effector degrees of freedom can be determined by the equations deriving
from the geometric constraints imposed by taut cables. When m < 6 these
geometric conditions are not sufficient to completely define robot pose, which
will be determined by the platform static equilibrium. In order to fulfill
equilibrium conditions, the 6 equations of the statics and the m unknown
cable tensions have to be added to the m geometric equations. Moreover only
solutions having cable tensions greater than 0 have to be taken into account.
xiii
xiv PROLOGUE IN ENGLISH
These are the main reasons that make the already challenging kinematic
analysis of parallel robots even more complex for CDPRs. These issues,
together with the description of the geometric models of cable robots adopted
in this manuscript, are discussed in Chapter 2 along with an overview of the
literature devoted to direct kinematics problems of cable robots and related
methods currently adopted to deal with it.
Chapter 3 presents the work that led to the development of a problem-
solving routine that numerically solves the direct kinematic problem of a
generic cable driven parallel robot. This method can completely solve the
problem, and its results are guaranteed against numerical errors thanks to
interval analysis computational techniques. Interval analysis is a branch
of numerical analysis that includes a variety of tools that solve numeric
problems without the risk of errors due to elimination or rounding effects.
While a basic description of interval analysis and the methods used in this
thesis is reported in the second half of Chapter 1, Chapter 3 provides an
in-depth analysis of the structure of the implemented method, its different
versions and proposes possible strategies for further developments and real-
time applications.
Chapter 4 describes the results obtained during the test phase of the dif-
ferent versions of the procedure and discusses them. The method developed
during this Ph.D. program showed very good performances. It allows for
a complete analysis of direct geometrico-static problem for a generic robot
with n cables with very low computation times. Thanks to interval analysis,
it also directly searches for real solutions with positive cable tensions and its
results are guaranteed against numerical errors. This chapter also describes
the realization of a small prototype that was built in order to test the im-
plementation of the on-line version of the algorithm within a true control
scheme.
xv
Chapter 5 summarizes the main goals achieved during this work, and
presents the principal lines of development for future research.
Prologue in Italian
Verso la fine degli anni ’80 alcuni ricercatori in ambito robotico cominciarono
ad esplorare la possibilità di sostituire i tradizionali attuatori a corpo rigido
dei manipolatori paralleli con cavi, in modo tale da superare i principali
svantaggi di questa famiglia di robot, come ad esempio il limitato spazio di
lavoro, la complessità dei processi di fabbricazione, montaggio e manuten-
zione e i costi elevati. Questi robot, definiti in inglese cable-driven parallel
robots (CDPRs), o semplicemente robot a cavi, oltre ai vantaggi derivanti
dall’architettura parallela, grazie alla flessibilità dei cavi sono in grado di op-
erare in spazi di lavoro molto vasti, posseggono maggiori capacità di carico,
migliori prestazioni cinematiche e sono di più facile progettazione e assem-
blaggio. Una dettagliata presentazione dei robot a cavi, della letteratura a
loro dedicata e la descrizione dei prototipi più famosi è riportata nella prima
parte del del Capitolo 1 di questa tesi di dottorato.
L’analisi cinematica e il controllo di questi robot, però, oltre alle prob-
lematiche già complesse proprie dei manipolatori paralleli (risolte solo dopo
più di 30 anni di ricerche), sono rese ancora più difficoltose dalla incapacità
dei cavi di sopportare sforzi di compressione. Ciò comporta che alcune pose
(ovvero posizioni ed orientamenti) e/o condizioni di carico non possono essere
raggiunte perché alcuni cavi diventano improvvisamente laschi, modificando
quindi la configurazione del robot, il suo equilibrio statico e/o dinamico e
compromettendo seriamente il controllo. Il lavoro svolto durante i tre anno
del percorso di dottorato è stato incentrato principalmente sullo studio di
queste problematiche e specialmente sugli aspetti della cinematica diretta.
Per cinematica diretta si intende il calcolare la posa del membro termi-
nale del robot per assegnati valori delle variabili di giunto, in questo caso
quindi le lunghezze dei cavi. Se si considera un robot con n ≥ 6 cavi di
cui almeno m = 6 in tensione, i 6 gradi di libertà dell’end-effector possono
essere determinati dalle equazioni derivanti dai vincoli geometrici imposti
dai cavi tesi. Quando m < 6 invece, queste condizioni geometriche non sono
sufficienti in numero a definire completamente la posa del robot, la quale
xvii
xviii PROLOGUE IN ITALIAN
xxi
xxii PROLOGUE IN FRENCH
posées par les câbles tendus. Lorsque m < 6, ces conditions géométriques ne
sont pas en nombre suffisant pour définir complètement la pose du robot, qui
peut être déterminée seulement en considérant l’équilibre statique de la plate-
forme. Afin de respecter cette condition, les 6 équations de la statique dans
les m inconnues représentés par les tensions des câbles doivent être ajoutés
aux m équations des contraintes géométriques. En outre, les seules solutions
dans lesquelles les tensions dans les câbles sont positives doivent être pris en
considération. En conséquence, l’analyse cinématique de ces manipulateurs
doit être résolu au même temps que la statique et en considérant les con-
traintes non linéaires dans le câbles. En fait, afin de contrôler un robot à
câbles dans un façon totalement sûre est nécessaire de garantir qu’à tout mo-
ment la configuration du manipulateur ne change pas en raison d’une perte
de tension d’un ou plusieurs câbles. Donc, toutes les configurations possi-
bles qui peuvent être obtenues si un ou plusieurs câbles deviennent lâches
devraient être prises en considération ce qui équivaut, pour un générique
manipulateur à n câbles, à l’analyser un nombre de configurations égal à
n
X n!
N=
m!(n − m)!
m=1
Telles sont les principales raisons qui font que l’analyse cinématique
déjà complexe de manipulateurs parallèles soit encore plus difficile pour les
CDPR. Ces questions, ainsi que la description de la modélisation géométrique
des robot à câbles utilisée dans ce travail, sont examinées dans le Chapitre
2 avec une revue de la littérature consacrée aux problèmes de cinématique
directe et les méthodes utilisées dans sa résolution .
Le Chapitre 3 présente le travail qui a conduit à l’élaboration d’une
routine pour trouver numériquement les solutions de la cinématique direct
d’un générique manipulateur à câbles. Cette méthode permet de résoudre
le problème complètement et ses résultats sont garantis contre les erreurs
numériques grâce à l’utilisation d’une technique d’analyse numérique appelé
analysepar intervalles. L’analyse par intervalles est une branche de l’analyse
numérique qui comprend une variété d’outils pour résoudre problèmes sans
le risque d’erreurs en cas d’élimination ou arrondissement. Bien que la de-
scription des concepts de base et des méthodes d’analyse par intervalles pré-
conisés dans le manuscrit est affichée dans la seconde moitié du Chapitre
1, le Chapitre 3 décrit en détail la structure de la méthode de calcul mise
en œuvre, ses différentes versions et propose des stratégies pour les futurs
développements et applications en temps réel.
Le Chapitre 4 montre les résultats obtenus au sein de la phase de test
xxiii
Introduction
Throughout history, mankind has kept developing more and more sophisti-
cated mechanisms and machines for a great variety of uses and tasks, many
of them being represented by mechanisms capable of moving an object with
respect to a fixed base. The position and the orientation of a rigid body
in three dimensional space can be described through a maximum of 6 in-
dependent coordinates called degrees of freedom (dofs). The term robot or
manipulator includes every mechanical system that can move an object with
respect to a fixed base and control 2 or more of its degrees of freedom.
During the second half of the last century, the use of robots in industries
grew dramatically together with the interest of the scientific community in
their challenging issues. Over the last decades of the 1900s, indeed, a fruitful
combination of scientific and technological developments in both theoretical
and practical scientific fields allowed robotic devices to greatly expand their
application domains, even in quite unexpected sectors.
From a technological point of view, for example, in the last 50 years
electric motors have greatly increased their power density to the extent that
it is possible to install relatively small and lightweight motors for heavy
duties. Moreover, thanks to the discoveries in metallurgical and material
engineering, great improvements were made from a mechanical point of view
to gearboxes, that are coupled to the motors and have become more and
more compact and reliable, giving designers more freedom during the de-
velopment of new robot architectures and geometries. At the same time,
the progress made in electronic components combined with the consecutive
advent of computer science, made it possible to build and expand what can
be defined as the intelligence of robotic systems, which definitely shows the
differences with respect to traditional mechanisms and redefines the meaning
1
2 CHAPTER 1. INTRODUCTION
of automation.
During the same period, the scientific community started to show a grow-
ing interest to the more and more challenging issues emerging from robot
development. Thanks to more powerful processors and more efficient pro-
grams provided by progress in computer science, researchers ceaselessly kept
producing innovative solutions and contributions to the growth of robotics
and its applications.
Indeed, the first manipulators replaced humans for most of the easier
and repetitive operations in assembly lines, or for all those tasks that must
be carried out in potentially harmful or unhealthy environments such as
painting, welding, waste management, etc. Initially the most common robot
model had a structure very similar to that of a human arm and all the
manipulators sharing this architecture are defined serial robots.
(a) (b)
The first advantage of parallel robots that immediately stands out is the
redistribution of the load applied to the end-effector on the links forming
the closed-loop chains. This implies that bodies and joints constituting the
links, also commonly called legs, can be lighter provided that the end-effector
stiffness remains constant. This fact, together with a lower positioning sensi-
tivity to joint measurement errors due to the fact that actuators are directly
4 CHAPTER 1. INTRODUCTION
(a) (b)
Figure 1.3 – The tire testing machine developed by Gough on the left, and
a modern flight simulator on the right [Airbus 2010].
joint. Thanks to this platform, tire position and orientation were precisely
controlled like the forces acting upon it. High versatility and stiffness led the
Gough platform to be successfully employed in many other domains: flight
simulators (like the one depicted in Fig. 1.3b), drilling and milling machines,
micro-positioning devices, haptic interfaces, etc.
Another successful model of a parallel manipulator is the Delta robot. It
has a limited number of degrees of freedom and it was invented by Clavel in
1988 ([Clavel 1988]). It consists of three links, each one with a parallelogram
linkage connected, by means of two revolute joints on its short sides, to the
end-effector and to a motorized lever. The Delta is generally equipped with
3 motors and consequently has 3 dofs that sometimes rise to 4 when the end
effector is equipped with a rotating head (like the one in Fig. 1.4).
(a) (b)
Figure 1.6 – On the left an image from the “de Architectura” of Marcus
Vitruvius Pollio and on the right an ancient block-and-tackle system.
systems are successfully used in prototypes of robotic hands like the one pro-
posed in [Grebenstein et al. 2012] and depicted in Fig. 1.8a, where they act
as human tendons to drive finger movements, or in the so-called tensegrity
robots where cables and rods are interlocked together forming rigid struc-
tures. These robots can change their shapes and stiffness or even movements
[Paul et al. 2006] by controlling cables lengths.
Another example of an interesting application of cables in robotics is
presented in [Dekker et al. 2006, Behzadipour & Khajepour 2006], where
cables replace rigid links in a Delta parallel robot (Fig. 1.8b). This choice
further reduces the mass of moving elements of the Delta architecture, but
necessarily needs an additional extensible passive or active member generally
called “spine” between the base and the end-effector that guarantees positive
tensions in cables.
(a) The DLR robotic hand presented in [Grebenstein (b) The DeltaBotTM prototype
et al. 2012]. [Dekker et al. 2006].
1.2. CABLE ROBOTS 9
(a) (b)
Figure 1.8 – On the left the first prototype of the NIST RoboCrane and on
the right its version for aircraft painting and maintenance ([NIST 2006]).
the NIST and still devoted to shipping yards, is the Flying Carpet project
[Bostelman et al. 2002], where robot cranes are used to move suspended
scaffolding and provide a safer worker access to ships, as shown by the model
in Fig. 1.9b.
(a) (b)
Figs. 1.10a and 1.10b show how cable robots can be also installed on
ships as proposed by the AACTS project (Automated All Weather Cargo
Transfer System) [Lee 1992] or by the U.S. Navy [Quadvlieg et al. 2011] to
perform ship-to-dock or ship-to-ship operations.
(a) (b)
Performing freight management and pick and place tasks with cable
robots is a potentially winning strategy, especially when operations over
1.2. CABLE ROBOTS 11
(a) (b)
Figure 1.11 – The CoGiRo robot on the left [Alexandre Dit Sandretto 2013]
and the ReelAx8 on the right: the two prototypes available at the LIRMM
[Lamaury et al. 2012].
Cable robots provide excellent performances also if they are used as large
positioning systems. A huge 6-dof cable crane is currently in service at the
NASA to perform simulated low-gravity operations (Fig. 1.13a), and the
Chinese government started the construction of a giant telescope (FAST,
[Wilcox 2012, Nan 2006]) that can drive the light focus cabin by means of
6 cables (Fig. 1.13b). Cables’ intrinsic flexibility and compliance joined
with the ease of assembly and reconfiguration make CDPRs particularly
well suited also as haptic interfaces [Williams II 1998, Gallina et al. 2001,
Murayama et al. 2004] and rehabilitation devices [Merlet 2010, Rosati et al.
2007, Surdilovic et al. 2007] (Fig. 1.14 shows two examples of these robots,
one for each application).
Here only the most relevant prototypes and applications for cable robots
are reported. Indeed, in the last 10 years CDPRs have become very popular
among researchers and the number of teams and publications on this subject
keeps growing. But although this technology is very promising for a large
set of industrial domains, only a few are already operative and employed
12 CHAPTER 1. INTRODUCTION
(a) (b)
(c)
Figure 1.12 – (a) The Fraunhofer Institute prototype for power solar plant
construction [Pott et al. 2010], (b) the portable rescue crane Marionet Res-
cue by Merlet [Merlet & Daney 2010], (c) the cable-driven platform for au-
tomated warehouses from the Duisburg University [Bruckmann et al. 2013].
and currently there are no companies selling them except those producing
cable-driven film and television cameras like the Skycam (Fig. 1.15) or the
Spidercam.
(a) (b)
Figure 1.13 – On the left, the Athlete vehicle during a low gravity test [Wilcox
2012] and on the right a rendering of the FAST telescope [Nan 2006].
(a) (b)
Figure 1.14 – (a) The haptic interface Spidar G-G [Murayama et al. 2004]
and (b) the Marionet Rehab by Merlet [Merlet 2010].
an essential element for accurate robot control. More refined actuators can
be realized by equipping simple reels with a level-wind wire guide system
(1.16b) in order to have more precise and organized cable coiling. Further-
more, the most sophisticated prototypes have added a level-wind wire guide
system to specially grooved reel drums (see Fig. 1.16b). Since cable overlap-
ping is mechanically prevented, this architecture is more suitable in all those
application where higher precision (and cost) is preferred compared to minor
stroke lengths. An alternative to cable winches as actuators for these robots
is represented by the solution proposed by Merlet in [Merlet 2008], where ca-
ble lengths are controlled by pulley systems mounted on linear motors (Fig.
1.16).
From the actuators to the platform anchor points, cables are generally
routed through pulleys, rings or more complex systems in order to define
1.2. CABLE ROBOTS 15
(a) Scheme of a generic cable-driven (b) A SkyCam motorized reel [SkyCam 2015].
parallel robot [Bruckmann et al.
2008a].
possibly unique and fixed points, called exit points, that together with the
anchor points are fundamental geometric parameters for robot control. The
design of these components, indeed, may have a great influence on robot
performances, since exit points must allow cables to freely pass through
them and at the same time their position must remain possibly the same.
They are usually realized with orientable pulleys, like for example the ones
shown in Fig. 1.17, or with small ceramic eyes, although this latter solution
is practically feasible only in the case of small prototypes because it causes
wear and abrasion issues.
Then, a few words must be spent on wires, i.e. the components that
physically provide motion to the end-effector. Cable properties and appli-
cation domains are well known both in mechanics and civil engineering.
Cable-robot prototypes can be equipped with any sort of wires, ropes and
lines but the most common choices are essentially two: traditional steel-wire
ropes or aramid-fiber lines. Steel-wire ropes are generally preferred when
high load capacities are required, mainly because of the better knowledge
of their physical properties which makes it possible to easily pick the right
diameter for given safety coefficients. However, steel cables need mainte-
nance and constant lubrication, winches must be designed in order to be
extremely resistant to wear and pitting, coil overlapping is totally undesired
because it severely damages cable surfaces. Steel cables also have a high
linear density, so that mass effects like sagging must be taken into account
when dealing with large workspaces, and they have high linear thermal ex-
pansion coefficients which implies that cable lengths vary considerably with
temperature. Aramid-fiber lines, like Kevlar or Dyneema ropes and cords,
16 CHAPTER 1. INTRODUCTION
(a)
(b)
Figure 1.16 – (a) The latest prototype of winches developed by the Fraun-
hofer Institute IPA [Schmidt et al. 2015] and the cable actuators with linear
motors mounted on the Marionet Rehab [Merlet 2010].
have lower linear densities and practically inexistent thermal and humidity
effects. They can still provide high tensile strength and stiffness within a
lower weight than steel wire ropes and they guarantee lower wear issues.
They can also be fabricated so as to have signal cables woven into them
(like two of the four cables in the SkyCam system). The main drawback of
aramid-fiber lines is the highly non-linear behavior and the lack of experience
regarding their mechanical fatigue life. This latter aspect is very important
in the cable-robot design process. Indeed, as previously described, for this
application it is necessary to coil and uncoil cables on drums and make them
pass through pulley systems. This involves a great number of bending cycles
on cable fibers and demands on the one hand a careful choice of pulley and
drum diameters. On the other hand, since exit points must be realized so as
to be possibly modeled with a fixed point, the knowledge of the minimum
bending radius allowed for a given cable in relation of the maximum number
1.3. INTERVAL ANALYSIS 17
w(X) = x − x, (1.2)
18 CHAPTER 1. INTRODUCTION
Interval arithmetic
The sum among intervals is defined as
X + Y = x + y, x + y (1.6)
It is worth noting that the interval sum and product operations are commu-
tative and associative since the following properties hold:
0 + X = X + 0 = 0, 1X = X1 = X, 0X = X0 = 0. (1.12)
1.3. INTERVAL ANALYSIS 19
[1, 2] (1 − 1) = 0 (1.13)
a (Y + Z) = aY + aZ, ∀a ∈ R (1.15)
X (Y + Z) = XY + XZ if XY > 0 (1.16)
This property implies that when dealing with interval analysis methods,
the choice of the parameterization is extremely important. Indeed, if the
problem is modeled by a set of parameters that lead to expressions having a
large number of multiple occurrences, the interval evaluation of each function
will be heavily overestimated, affecting algorithm performances.
In summary, it is possible to extend every mathematical function to inter-
val analysis but its implementation has to be done carefully. As mentioned
before, the distributive property does not generally hold so it is better to sim-
plify expressions manually. Moreover, function interval extensions are more
computationally expensive with respect to traditional ones implemented in
computer systems since they are built so as to provide the tightest, but at
the same time guaranteed, bounds. As a consequence, natural function eval-
uation is the best choice in order to limit the computational burden, but at
the same time functions have to be formulated so as to contain the minimum
number of multiple occurrences, which is not always possible. However, when
dealing with interval analysis based methods, if multiple parameterizations
are available, it can be better to consider simpler expressions, even at a price
of a larger number of unknowns, and avoid overestimation on the function
evaluation.
This is the most common implementation for the evaluation operator. How-
ever, a more sophisticated version of this operator is presented in Section
3.3.2. A box which is neither discarded nor deemed to be a solution is bi-
sected. The strategy adopted in the code to select which variable has to be
bisected consists in picking the variable contained in the box Bi having the
largest width. The complete scheme of the algorithm is described in Algo-
rithm 1. A strength of an algorithm of this kind is that it always terminates,
since the size of a box always decreases after a bisection. Furthermore, pro-
vided that the new boxes emerging from a bisection are put at the top of the
list, there is usually no problem of memory storage.
Calibration
Robot design
Besides the analysis problems, i.e. determining for a given robot its perfor-
mances and/or verifying if they fulfill the requirements even in the presence
of uncertainties, interval analysis can be helpful during the design stage, also
called synthesis, of a robot. Design algorithms usually employ optimization
procedures to numerically determine a single set of geometric parameters
that minimize (or maximize) a user defined cost function. However, the
choice of the best cost function and its implementation are difficult tasks.
Through the interval-analysis based approach it is possible to obtain certified
continuous sets of solutions that satisfy all requirements and also allow the
management of uncertainties in physical realization. The structure of one
very simple algorithm for these purposes proceeds as follows. Let B be a box
of intervals in which geometric parameters can vary. Then B is processed by
considering one system of inequalities representing the first requirement and
at the end a set S1 of feasible geometries is obtained. After this process has
been repeated for every requirement, the intersection between all the feasi-
ble sets, if it exists, is the set of configurations satisfying design constraints.
More information and details about this kind of applications can be found
in [Merlet 2009].
1.3. INTERVAL ANALYSIS 27
29
30 CHAPTER 2. GEOMETRICO-STATIC MODEL FOR CDPRS
Figure 2.1 – The 8-cable haptic device developed by the Fraunhofer Institute
[Yang Ho et al. 2015].
anchor points on the platform being distinct. Thus, only 3 dofs of the end-
effector can be controlled, e.g. the position of a point of the platform, while
the remaining 3 (the orientation) can not. It is, however, possible to design
such a CDPR and plan its trajectories in order to move the platform along
the three directions while orientation deviations remain inside certain safety
ranges.
Another important reason that motivates the study of this family of
cable-robots is that also fully-constrained CDPRs may act like undercon-
strained ones if the external wrench applied to the end-effector requires a
negative tension in more than n − 6 cables, where 6 is the number of robot
dofs. Conversely, this fact may be also considered as an advantage and used
to extend robot workspaces to all those regions where only a subset of cables
are in tension, thus improving CDPRs reconfigurability attitudes.
Although all these reasons should encourage a careful study of under-
constrained CDPRs, little attention has been dedicated to them [Collard &
Cardou 2013, Fattah & Agrawal 2005, Fink et al. 2011, Gao et al. 2012, Hey-
den & Woernle 2006, Jiang & Kumar 2010b, Yamamoto et al. 2004, Jiang
& Kumar 2010a]. This may be caused by the complexity of their kinematic
study, which makes their control very difficult. As previously stated, since
only n dofs may be controlled (with n < 6), the platform is still movable
even if cable lengths are assigned. Thus the actual pose of the end-effector
will be ultimately determined by the wrenches acting upon it. As a conse-
quence, the set of equations deriving from the geometric constraints imposed
by cable lengths must be simultaneously solved with the relations emerging
from static equilibrium. Hereinafter, due to this coupling between kinematic
and static equations, the displacement analysis of a generic CDPR will be
defined as a geometrico-static problem. In particular the problem of finding
all the possible equilibrium poses with a given set of lengths is called a direct
geometrico-static problem (DGP).
chor points like rigid body extensible legs in traditional parallel manipulators,
i.e as SP S or SP U kinematic chains, where S denotes a spherical joint, P a
prismatic joint and U an universal joint. Thus, anchor points on the platform
are usually assumed to behave like spherical or universal joints. Indeed, in
some prototypes, they are made with real universal or ball-and-socket joints.
However, in order to preserve cable robot reconfigurability and ease of as-
sembly they are more often realized with hooks or carabiners connected to
eyebolts or rings, or with specific wire terminal fittings (see Fig. 2.2) or
even with simple knots. As usually assumed, hereinafter anchor points are
considered to be fixed to the end effector and corresponding, for example, to
the center of connection rings or the end of threaded sleeves (Fig. 2.3).
The methods developed and presented in this thesis are based also on
the assumption of dealing with massless and perfectly stiff cables. The main
reason for this simplification is that the primary purpose of this work is
to develop an algorithm that can rapidly solve the full direct-geometrico
static problem of a generic CDPR, considering all the possible combinations
of slack cables. This is an already complex task and the effects that both
sagging and elasticity may have on it deserve more in-depth investigations.
Some studies on cable elasticity are available in the literature (see [Pott
2010, Merlet 2008, 2010]) and also on kinematic analysis with real weighting
cable models (see [Kozak et al. 2006, Riehl et al. 2009]). However, a general
approach for the solution of the full DGP of cable robots has only recently
been presented[Merlet & Alexandre-dit Sandretto 2015]. Moreover, if a real
cable model is adopted, the part of cable that is comprised between each
winch and the corresponding exit point should also be considered.
2.3. GEOMETRICO-STATIC MODEL 33
As previously mentioned, cable exit points are usually modeled like spher-
ical joints, so they can be assumed as fixed points attached to the robot
framework. However, this assumption is stronger than the one made for the
anchor points on the moving platform. Indeed, cable exit points must allow
cable length changes. Generally they are made by steering roller guidance
(like the ones in Fig. 1.17) but this solution conflicts with the assumption of
considering them fixed. Indeed, as shown in Fig. 2.4, the actual exit points
vary according to end-effector pose [Gouttefarde et al. 2014, Bruckmann
et al. 2008a]. A possible solution consists in routing cables through fixed
rings with slightly bigger diameters than the cables. However, this solution
can be adopted only for small prototypes and very light loads. Otherwise,
friction effects severely modify cable behavior, thus making the analysis even
more complex with respect to the one with roller guidances.
This section describes how the DGP is modeled for robots with m cables
in tension, m ≤ n, and which parameterizations and equation sets are used
for each value of m. Hereinafter, an equilibrium configuration is defined
admissible if all cable tensions are positive or zero, and feasible if it is also
stable.
Figure 2.5 – The geometric model of a cable driven parallel robot with n
cables.
b′i = Bi − O′ = [x′i , yi′ , zi′ ], g′ = G − O′ = [gx′ , gy′ , gz′ ], diG = kb′i − g′ k, and
dij = kb′i − b′j k.
If ρi is the assigned length of the ith cable (taken as strictly positive),
when m cables are active (i.e. in tension) the set of geometrical constraints
imposed on the platform is formed by the following relations:
kbi − ai k = ρi , i = 1, . . . , m (2.2)
Since the platform has 6 dofs, if m < 6 its pose is ultimately deter-
mined by mechanical equilibrium. The normalized Plücker vector of the
line associated with the ith cable is Li /ρi , where, in axis coordinates, Li =
(ai − bi ) ; pi × (ai − bi ) and pi is any vector from an arbitrarily-chosen
reference point P (called, for brevity, moment pole) to the cable line. Ac-
cordingly, the wrench exerted by the ith cable on the platform is (τi /ρi )Li ,
with τi being a positive scalar representing the intensity of the cable tensile
force. Static equilibrium may then be expressed as
τ1 /ρ1
.
.
L1 . . . Lm Le . = 0 , (2.3)
| {z } τm /ρm
M(P )
Q
with τi ≥ 0, i = 1, . . . , m.
2.3.2 Parameterization
The choice of the parameters has a great influence on the effectiveness of
interval-analysis-based methods. Indeed, if on the one hand it is better to
36 CHAPTER 2. GEOMETRICO-STATIC MODEL FOR CDPRS
have a small number of unknowns in order to limit the number of boxes gen-
erated by the bisection process that have to be processed, on the other hand
a greater number of variables generally means simpler expressions which lead
to lower overestimation of the system equations.
Before introducing the adopted parameterization for the geometrico-
static model of cable robots, it is interesting to review the parameterizations
tested during the development of the algorithms and list their main issues.
Although the set of parameters currently adopted was derived from the one
presented in [Merlet 2004], the first part of the research was focused on
reviewing other parameterizations and measuring their performances when
dealing with DGPs of cable robots.
kp + R(Θ)b′i − ai k = ρi (2.4)
cos(φx ) = cx ; sin(φx ) = sx ;
cos(φy ) = cy ; sin(φy ) = sy ;
cos(φz ) = cz ; sin(φz ) = sz ;
and consequently the three trigonometric identities were added to the system
of equations
pk (X) = 0, k = 1, . . . , Np (2.11)
(a) The 4 possible solu- (b) Geometric model of the DGP with
tions of the DGP with one cable in tension.
one active cable.
40 CHAPTER 2. GEOMETRICO-STATIC MODEL FOR CDPRS
Dj (ϑ) = (aix + rij cos ϑ − ajx )2 + (aiy + rij sin ϑ − ajy )2 + (aiz + ρi + zij − ajz )2
(2.12)
where Oi is the projection of Bj on line Bi G, and quantities
only depend on the platform geometry. The minimum and maximum values
of Dj (ϑ) are obtained by setting ∂Dj /∂ϑ = 0, which yields
ajy − aiy
ϑDj min , ϑDj max = arctan + kπ, k ∈ {0, 1}, (2.14)
ajx − aix
where Dj min = Dj (ϑDj min ), Dj max = Dj (ϑDj max ) and Dj min and Dj max
are distinguished by evaluating the corresponding sign of the second deriva-
tive
∂ 2 Dj
= 2rij [(ajy − aiy ) sin ϑ + (ajx − aix ) cos ϑ] (2.15)
∂ϑ2
The routine outlined in Algorithm 2 computes Dj min and verifies whether
Dj min < ρj . If the latter condition is satisfied for every j = 1, . . . , n, j 6= i,
then the equilibrium configuration with the single ith cable in tension is
deemed feasible.
Figure 2.6 – Geometric model of the DGP with two cables in tension.
the fixed reference frame along the z axis in order to have the exit points A1
and A2 lying on the xz plane, the number of variables can be reduced to 6,
since, at the equilibrium, the y component of b1 , b2 and g must necessarily
vanish. These 6 parameters are not independent, since they have to satisfy
the distance relations imposed by the geometry of the platform, namely:
kb2 − b1 k = d12
kb1 − g k = d1G (2.16)
kb2 − g k = d2G
Substituting (2.18) into (2.3) and considering relations (2.16) and (2.17),
a system of 8 equations in the 8 variables comprised in the array Y =
T T T
X ,τ is finally obtained, where X = [x1 , z1 , x2 , z2 , xg , zg ]T and τ =
T
[τ1 , τ2 ] . This parameterization allows one to simultaneously search for so-
lutions in both operation modes.
The number of unknowns (and consequently the number of equations)
could be reduced by observing that the system in (2.3) admits a solution only
if rank(M) ≤ 2. Thus, cable tensions τ could be eliminated from equilibrium
equations by imposing det(M) = 0. This strategy, applied in [Carricato &
2.3. GEOMETRICO-STATIC MODEL 43
Merlet 2013], is not adopted here, because it does not allow an initial search
domain for the cable tensions to be specified. In this case, negative-tension
solutions should be filtered by a subsequent procedure that would increase
computation time.
The variables X used to describe the platform pose in case 1 are the
position vectors of 3 non-aligned points of the platform, say b1 , b2 and b3 .
These points are called reference points. The remaining m − 3 anchor points
and G are denoted as secondary points, and they are:
3
X
bi = βik bk i = 4, . . . , m
k=1
(2.24)
X3
g = αk bk .
k=1
4
X
b5 = βik bk
k=1
(2.25)
4
X
g = αk bk .
k=1
l
!2 l
!2 l
!2
X X X
βik xk − aix + βik yk − aiy + βik zk − aiz = ρ2i (2.27)
k=1 k=1 k=1
with i = l + 1, . . . , m.
Similarly to (2.19), another set of C2l relations (namely, 3 for l = 3 and
6 for l = 4) emerges from the distance constraints between the reference
points, i.e.
(xi − xj )2 + (yi − yj )2 + (zi − zj )2 = d2ij (2.28)
The methods presented in this chapter solve the direct geometrico-static prob-
lem (DGP) of a generic n-n CDPR (n ≤ 6), namely a robot in which the n
exit points of cables on the base and the n cable anchor points on the plat-
form are distinct. The DGP consists in assigning the cable lengths as input
variables and in finding all possible equilibrium configurations, taking into
account the fact that one or more cables may be slack. While the DGP of a
CDPR having 6 taut cables can be dealt with using the same tools employed
for the Gough-Stewart Platform, the DGP for robots with less than 6 cables
in tension, is remarkably more complex. A successful implementation of the
methodology proposed by Carricato and Merlet [Carricato & Merlet 2010,
2013], based on exact-arithmetic elimination procedures, allowed the DGP of
2-2, 3-3, 4-4 and 5-5 CDPRs to be solved [Carricato 2013, Carricato & Merlet
2013, 2011, Abbasnejad & Carricato 2015]. In particular, least-degree uni-
variate polynomials in the ideals generated by the equations governing the
problems were found. However, the approach used in the aforementioned
contributions has the following drawbacks.
47
48 CHAPTER 3. DGP SOLVING PROCEDURE
In this section, the most important parts of the interval-analysis code are
discussed. The code solves any geometry of cable-robots with n ≤ 6 ca-
bles. In the current version, the geometric parameters are assumed to be
known, thus not affected by uncertainties. The ALIAS C++ library [Merlet
2007] is used. ALIAS C++ is large set of interval methods mainly devoted
to the solution of robotic and kinematic problems. ALIAS C++ relies on
the BIAS/Profil library for basic interval arithmetics operations in double
precision.
The main routine of the code reads the geometry data of the n-n CDPR
from a user-defined file, thus generating a list containing NDGP sub-problems,
each solving the DGP for a subset of m cables in tension, m ≤ n. Sub-
problems are processed one at a time.
Figure 3.1 – The four different cases for the possible location of Bi according
to the location of Aj , the leg length ρj and the distance between Bi and Bj .
The admissible region zone for Bi is represented by the dashed line.
+ −
be aligned on the x axis, and let Ci , Cij and Cij be the projections of Si ,
+ −
Sij and Sij in plane xz, with M1 , M2 and N1 , N2 being the intersection
+ −
points between Ci , Cij and Ci , Cij , respectively. Figure 3.1 represents the
following 4 cases:
1. if ρj + dij > Dij + ρi and max {0, ρj − dij } ≤ Dij − ρi , Bi lies on Si ;
2. if ρj + dij < Dij + ρi and max {0, ρj − dij } ≤ Dij − ρi , Bi lies on the
+
part of Si contained within Sij ;
3. if ρj + dij > Dij + ρi and max {0, ρj − dij } ≥ Dij − ρi , Bi lies on the
−
part of Si not contained within Sij ;
4. if ρj + dij < Dij + ρi and max {0, ρj − dij } ≥ Dij − ρi , Bi lies on the
+ −
part of Si contained within Sij but not contained within Sij ;
In the first case, no improvement on the bounds of Bi can be obtained
with respect to those determined by Eq. (3.2). In the second case, xM ,
which is the x coordinate of points M1 and M2 , is a better lower bound
for the first component of Bi than −Xij . In addition to that, if xM −
aix ≥ 0, also the third component of Bi can be updated to the interval
[−zM , zM ]. Similarly, in the third case, xN is a better upper bound for the
first component of Bi than Xij , and if xN −aix ≤ 0 the third component of Bi
can be narrowed to [−zN , zN ]. In the fourth case, both xM and xN improve
the initial bounds for Bi . Furthermore, thanks to the spherical symmetry of
the problem, [−zM , zM ] and [−zN , zN ] can be used to improve the bounds
for the component yi of Bi as well. If Ai and Aj are not aligned with the x
axis, a rotation matrix always exists that allows the bounds determined by
this procedure to be conveniently rotated, thus improving the actual box Bi .
For the DGP of a n-n CDPR with m cables in tension, the above procedure
has to be repeated for all pairs of taut cables i, j with i, j ∈ {1, . . . , m}. It
is possible to further improve the initial bounds for Bi , i ∈ {1, . . . , m}, by
applying the procedure for each slack cable k, with k ∈ {m + 1, . . . , n − m}
−
provided that the radius of Sik is set equal to zero. Though extremely
simple, this latter refinement may largely speed up the computation, since it
sometimes determines an empty initial search space and thus prevents any
further calculation.
for each element of τ can be set equal to zero and only solutions having
nonnegative cable tensions are consequently looked for. On the other hand,
choosing the upper bound of cable tensions a priori is not an easy task. For
the particular case of suspended cable robots, an upper bound for tensions
can be obtained by observing that each element of the third line of matrix
M in (2.3) is negative, i.e. M3j < 0, for j = 1, . . . , m. Thus, by considering
the third equation of system (2.3), i.e.
m
X τj
Q=− M3j (3.3)
ρj
j=1
However, for all CDPRs which are not suspended, an upper bound for
tensions cannot be determined. Setting a too small value can cause the
algorithm to exclude feasible solutions (with high values of cable tensions),
that may actually exist within the geometrical workspace. These solutions
are the most dangerous from the mechanical point of view and it is important
to determine them, since they may possibly occur. Setting a too high value
(compared with the intensity Q of the applied load) infers a large interval
evaluation of static equations (2.3), and thus a large number of bisections
to assess whether mechanical equilibrium is attained. This leads to high
computation times.
Section 3.1.3 describes a specific filtering procedure is described, which
can drastically reduce the influence of the width of cable tension search
domain on the code performances. Thanks to this improvement, an initial
search domain for cable tension is no longer required and, when not provided,
the algorithm automatically finds all feasible solutions.
Cable numbering
For a generic n-n CDPR, with n l,the l reference points on the platform
may be chosen arbitrarily. However, this choice has an influence on both the
size of the geometric search space and the value of coefficients αk and βik
of the secondary points (cf. equations (2.23) through (2.25)), consequently
increasing or decreasing their interval evaluation. As shown in [Merlet 2004]
for the Gough-Stewart platform, these two factors, have a great influence on
the computation speed.
52 CHAPTER 3. DGP SOLVING PROCEDURE
√ √
inverse function of X indicates that x should lie in − u, u and, from
this information, the current interval of x may be updated. If u > 0, the
√ √
inverse function of X shows that x should lie outside − u, u : if the range
of x is included in this interval, then there is no solution of the equation in the
current box. The 2B approach can also be applied, with some modifications,
to constraints expressed by inequalities.
for any i 6= j.
When a sub-DGP is analyzed, further inequalities are added to the fil-
tering procedure, in order to take the constraints imposed by slack cables
into account, namely:
|bi − ai |2 ≤ρ2i
(3.7)
|bj − ai |2 ≤(ρi + dij )2
where i denotes one of the n − m cables considered to be slack and j denotes
one of the m active cables.
Another procedure that helps to improve the bounds on the pose variables
consists in applying the 2B method to all relations like (2.24) and (2.25)
that emerge from all possible choices of reference and secondary points (not
54 CHAPTER 3. DGP SOLVING PROCEDURE
ZJ τ = ZQ
|{z} (3.10)
C
By doing this, a square system is obtained and the interval version of the
Gauss elimination scheme provided by ALIAS [Merlet 2007] can be applied.
This algorithm, when successful (i.e. when C contains only regular matri-
ces), returns an interval vector that is the enclosure of the infinite possible
solutions of the linear interval system. According to [Rohn 1996], in or-
der to improve the algorithm performances, a good candidate for K is the
3.1. CODE STRUCTURE 55
However, this choice is questionable in this case, mainly due to the product
mid(J)T mid(J). Indeed, while the first three elements of each column of J
are pure numbers, the remaining three are the result of the cross product
between a dimensionless vector and a position vector whose components are
lengths. Accordingly, the elements of the matrix mid(J)T mid(J) contains the
sum between pure numbers and lengths, which is physically meaningless.
We solve this issue by considering a generalized inverse defined as
The optimization problem emerging from relations (3.16) and (3.17) can be
analytically solved with the generalized Lagrange multiplier method and,
thus, implemented without using numeric optimization algorithms.
By virtue of the optimization of Z, improvements on the bounds of cable
tension variables can be obtained even if cable tensions are not involved in
the optimization formulation. When CDPRs having m ≤ 5 are considered,
this strategy allows the filtering procedure to partially reduce the coupling
between geometric and tension variables and, as a consequence, the influence
of the width of the tension search domain on computation time. When
dealing with the DGP of a CDPR with 6 taut cables, cable tensions are
not included in the parameterization, and the above procedure is applied to
discard boxes having negative cable tensions. In this case Z = mid(J)−1 ,
since the linear system (3.9) is square.
• small differences between the computation times for the DGP of robots
with 3, 4 or 5 cables in tension, even though they involve a different
number of variables.
3.2. CODE IMPROVEMENTS 57
Kantorovitch operator
The numerical analysis provide a theorem that can guarantee the conver-
gence of the Newton method[Tapia 1971]. Newton-based methods, indeed,
allow the solution of a nonlinear system of equations to be found provided
that a convenient solution guess is given as an input. Though very fast, these
methods are not guaranteed to converge, and if they succeed they may con-
verge not on the solution closest to the guessed one given as input. Through
the Kantorovitch theorem both these issues can be addressed.
Let a system of h equations in h unknowns of any DGP presented in
Section 2.3 be considered. Let Y0 be a robot configuration, r0 , s0 , p0 be
positive real constants,
P U = {Y : kY − Y0 k∞ ≤ 2r0 } a ball centered in Y0 ,
and kAk∞ = maxi j |aij | be the infinity row norm of a generic matrix A.
If Y0 is such that
58 CHAPTER 3. DGP SOLVING PROCEDURE
s0 = kΓx0 k∞ = 1 (3.21)
1
r0 = kΓx0 f (x0 )k∞ = (3.22)
10
The third constant p0 needed by the theorem is computed by taking the max
between the infinity norms of the Hessian matrices from the two functions in
f . Neither of the Hessian matrices depends on x, since functions contained
3.2. CODE IMPROVEMENTS 59
• if it succeeds
• By this algorithm, the code can guarantee that the solution is unique
in the given box and it can calculate it within an arbitrary accuracy
and it fails only when, with the current computer precision, the value
of at least one equation cannot be determined over a box reduced to a
point: in this case, it may be shown that no other algorithm is capable
of solving the system;
Inflation procedure
The ball containing a single solution determined by Kantorovitch may be
widened using the inflation procedure described in [Neumaier 2001]. Let Y0∗
be a solution of the system of equations f (Y) = 0 and that Y1∗ is another
solution close to Y0∗ , so that f (Y0∗ ) = f (Y1∗ ) = 0. The mean value theorem
yields
f (Y1∗ ) = f (Y0∗ ) + J(Y)(Y1∗ − Y0∗ ) (3.24)
where J is the Jacobian matrix of the system and Y ∈ {Y0∗ , Y1∗ }. Since
(3.24) is true only when J(Y)(Y1∗ − Y0∗ ) = 0 which admits a solution only if
J(Y) is singular. Therefore, to be certain that there is no other solution in
a box centered in Y0∗ it must be checked that J(Y) is regular for any point
of the box.
This box can be obtained by means
of the H-matrix theory described in
[Neumaier 2001, 1990]. Let B0 = [Y10∗ − δ, Y10∗ + δ], . . . , [Yh0∗ − δ, Yh0∗ + δ]
be a box centered in Y0∗ and δ a small real number, and S be an interval
matrix, obtained as follows
where J(B0 ) is the interval evaluation of the Jacobian matrix over the box
B0 . Let the following interval operators also be defined
If mS > MS , then J is regular over B0 and the whole process is repeated for
the new box B1 = [Y10∗ − 2δ, Y10∗ + 2δ], . . . , [Yh0∗ − 2δ, Yh0∗ + 2δ] . When
for the box Bk = [Y10∗ − 2k δ, Y10∗ + 2k δ], . . . , [Yh0∗ − 2k δ, Yh0∗ + 2k δ] this
regularity test is not satisfied, the process stops and sets Bk−1 as a new
single-solution box. This box can be used, again, to filter the other boxes
through the F operator taking advantage of possible interferences.
3.2. CODE IMPROVEMENTS 61
Also the inflation process can be simplified in the case of system of equa-
tions formed by second-degree polynomials. In this case, indeed, each com-
ponent of the Jacobian matrix is linear in the unknowns. Let Yi0∗ be the
∗ ∗
elements of Y0 and Y∆ = Y1 + ∆, . . . , Yh0∗ + ∆ , where ∆ = [−δ, δ].
0∗
∗
Jij (Y∆ ) = µij + ηij ∆ (3.30)
where µij and ηij depends only on Y0∗ . Left-multiplying J by J(Y0∗ )−1 yields
J(Y0∗ )−1 J = Ih + Z (3.31)
| {z }
T
where Ih is the identity matrix of dimension h and Z an interval matrix
whose elements have the form Zij = ξij ∆ with ξij functions of η coefficients
and of the elements of J(Y0∗ )−1 . Quantities mT and MT are introduced and
computed as
mT = min (low(Tii )) = min (1 − |ξii |δ) (3.32)
i∈{1,...,h} i∈{1,...,h}
Xh h
X
MT = max high(Tij ) = max δ |ξij | (3.33)
i∈{1,...,h} i∈{1,...,h}
j=1,j6=i j=1,j6=i
∗
and the following relations must be satisfied for T to be regular over Y∆
mT ≥ M T (3.34)
which yields
h
X
min (1 − |ξii |δ) ≥ max δ |ξij |
i∈{1,...,h} i∈{1,...,h}
j=1,j6=i
h
X
1− max (|ξii |δ) ≥ max δ |ξij |
i∈{1,...,h} i∈{1,...,h}
j=1,j6=i
h
X
1−δ max (|ξii |) ≥ δ max |ξij |
i∈{1,...,h} i∈{1,...,h}
j=1,j6=i
1
δmin = δ ≤ (3.35)
h
X
max |ξij | + max (|ξii |)
i∈{1,...,h} i∈{1,...,h}
j=1,j6=i
where 2δmin is the width of the box B∆ min guaranteed to contain only
solution Y0∗ .
62 CHAPTER 3. DGP SOLVING PROCEDURE
This result
√ (as shown √ also in
√Fig. 3.2)
√ guarantees
that in the box B∗∆ =
(2 − 3)/4, (2 + 3)/4 , 3/4, 3 3/4 there is a unique solution and
provides a much wider uniqueness domain. From this example it is possible
to show that if the equations in f = 0 are at most of degree 2 in the unknowns,
once the inverse of the Jacobian matrix J(Y0∗ ) is computed it is possible to
immediately obtain the largest bound of the box where the solution is guar-
anteed to be unique, since all the µ and η coefficients can be precomputed.
All the described parameterizations in Sec. 2.3 fulfill this requirement so
this simplified version of the inflation process can be implemented and the
evaluation operator E further upgraded.
3.2. CODE IMPROVEMENTS 63
3.2.2 Stability
A third important refinement consists in checking the solution for stability.
All the configurations that are deemed solutions by the algorithm are indeed
equilibrium equations. However, only stable ones are feasible in practice.
Thus each solution identified by E can be processed by a procedure that
determines whether the corresponding equilibrium configuration is stable or
not. A sufficient condition for the equilibrium to be stable consists in having
the (reduced) Hessian matrix Hr being positive definite. If I3 denotes the
3 × 3 identity matrix, and ñ denotes, for a generic vector n, the skew-
symmetric matrix associated with the operator n×, Hr may be computed
as (Carricato & Merlet [2013])
Hr = NT HN, (3.41)
64 CHAPTER 3. DGP SOLVING PROCEDURE
where
m
" #
X τi I3 h −(b̃i − g̃) i
H= 1 ,
ρi (b̃i − g̃) 2 (b̃i − g̃) (g̃ − ãi ) + (g̃ − ãi ) (b̃i − g̃)
i=1
(3.42)
and N is a 6 × (6 − m) matrix whose columns generate the null space of the
Jacobian matrix JT :
(b1 − a1 )T /ρ1 (b1 − g) × (b1 − a1 )T /ρ1
JT =
.. ..
(3.43)
. . .
(bm − am )T /ρm (bm − g) × (bm − am )T /ρm
in this case computed assuming G as the moment pole. Finally, the final
upgraded version of the evaluation operator E is
• if it succeeds
This approach may also take advantage of modern multi-core CPU ar-
chitectures. By following this scheme and by using POSIX thread libraries,
a distributed implementation of the DGP code was set up on a single work-
station with a multi-core CPU. In the first step, an instance of E generates
a few boxes and it stores them in the list L. Then, a number of threads
equal to the number of CPUs is created, with each one taking a box from
L. A local instance of E performs an assigned number of bisections and it
appends the generated boxes to L. The solutions that are found, if any, are
appended to the solution list S.
• since the filter operator F of the actual code was developed incremen-
tally, some modules repeat computations made by previous parts of
the code, so an in-depth review of the methods implemented within
may lead to huge simplifications;
• the actual version of the code processes each single DGP problem sep-
arately and the solution of the full DGP is made up of the sum of all
sub-DGPs, then this new version presents an approach that considers
all DGPs at the same time.
The main idea for this new version of the code consists in trying to con-
sider the DGP of a generic CDPR as a single problem and whose solution
can be computed within a unique interval algorithm. During the implemen-
tation of this approach, as will be explained below, several improvements to
the original code were made.
3.3.1 Initialization
Let a CDPR with n cables be considered. Its platform is parameterized as
described in Sec. 2.3 and a set of l reference and n − l secondary points is
conveniently chosen.
For each of the NDGP configurations with different sets of taut cables,
using the procedure described in Sec. 3.1.1, the code computes the exis-
tence bounds for the platform points bi and g and the cable tensions τ and
66 CHAPTER 3. DGP SOLVING PROCEDURE
During this initialization process, all the constants needed by the Kan-
torovitch procedure and the inflation process are computed.
with i, j = 1, . . . , n, i 6= j.
3.3. CODE STRUCTURE: BETA VERSION 67
• all the relations (2.21) and (2.25) for any possible combination of ref-
erence and secondary points
This filter checks if the actual pose Ωi contained in the analyzed box Vi is
compatible with the following n cable constraints
The filter returns −1 if at least one of the two conditions is not fulfilled, i.e.
when for at least for one i or for a couple i, j, kbi − ai k > ρi or kbi − aj k >
ρj + dij .
Moreover, from (3.48), if kbi − ai k < ρi then cable i is certainly slack.
As a consequence, the filter sets to zero all configurations in wi containing
cable i, and the corresponding cable tension search domain Ψ(i). Then the
filter tries to improve bounds for Ωi by applying 2B method to inequalities
(3.48) and (3.49), and if it succeeds it returns 1. If the box Vi remains
unchanged it returns 0.
The first main difference in this version of operator E is that the evalua-
tion of the system of equation f = 0 is avoided, because it is already included
in F. Second, the system of equations for the statics of each sub-DGP was
slightly updated in order to take into account a generic external wrench act-
ing upon the platform, and not only a single force. Third, a module that
filters boxes by intersecting them with the enlarged solution boxes coming
from the inflation process is added to F.
3.3.3 Remarks
The beta version of the code structure can handle the DGP of CDPR with
n cables as a unique problem and gives interesting, but preliminary, results.
However, it is in an early development stage, its procedures are not defini-
tive since relevant changes on the algorithm structure were made and other
specific and more efficient procedures may be added to it. Moreover, it has
not completed the test phase yet and still presents minor bugs.
3.3. CODE STRUCTURE: BETA VERSION 69
In this section the results obtained during the test phase on the developed
algorithms are presented. As previously stated, the beta version of the code
is currently under development so computation times are not suited to make
comparisons between methods.
In order to investigate the feasibility of solutions found by the algorithm
and to test the real likelihood of operation mode changes, a small prototype
for teaching and experimental purposes was built during the last year of
the Ph.D. program. On this prototype, some preliminary tests were done
in order to implement a real-time compliant version of the developed DGP
solving procedures.
The first part of this chapter describes the teaching prototype and gives
an overview of the results obtained by the real-time procedures developed
for its control. In the second part some results from tests of the two versions
of the DGP solving algorithm are reported and discussed.
71
72 CHAPTER 4. EXPERIMENTS AND RESULTS
The winches are realized by coupling timing belt pulleys (Fig. 4.1b) to
the 6 Phidget R DC gear motors whose characteristics are reported in Table
4.1. Each motor is actuated by a Phidget R driver, whose characteristics are
listed in Table 4.2. All the drivers are powered by an AC/DC adapter from
an old PC and connected through a USB hub to a personal computer that
runs the control algorithm.
The winches are located and oriented with respect to the exit points in
order to avoid cable overlapping on pulleys and, as shown by experiments,
if this positioning is accurate, there are generally no cable coiling issues.
However, this badly affects the reconfigurability of cable exit-points.
4.1. DESCRIPTION OF THE TEACHING PROTOTYPE 73
Motor properties
Motor type DC Motor with encoder
Mechanical output power 7W
Maximum speed at rated voltage 73RPM
Rated torque 0.61Nm
Stall torque 7.04Nm
Electrical properties
Rated voltage 12V DC
Rated current 1.1A
Stall current 5.0A
Gearbox specifications
Gearbox type Spur
Gear ratio 50 : 1
Number of gear trains 4
Maximum strength of gears 1.2Nm
Shaft diameter 6mm
Shaft maximum axial load 35N
Shaft maximum radial load 25N
Encoder specifications
Encoder resolution 360CPR
Connector type E4P
4.1.2 Software
Controller properties
Motor type DC Motor
Velocity resolution 0.39% duty cycle
Acceleration resolution 0.39% duty cycle/s
Acceleration min 24, 5% duty cycle/s
Acceleration max 6250% duty cycle/s
Acceleration time min 32ms
Acceleration time max 8.2s
Encoder interface
Number of encoder inputs 1
Count rate max 500000 cycles/s
Encoder interface resolution ×1
Update rate 125 samples/s
Time resolution 0.33ms
Electrical properties
Supply voltage min 9V DC
Supply voltage max 28V DC
Continuous motor current max 5A
Over-current trigger 8A
Current consumption min 20mA
Current consumption max 100mA
Inverse kinematics
The control routine has 4 different modules computing the inverse kinemat-
ics, one for each underconstrained robot with m = 3, . . . , 6 cables in tension.
When the robot has m < 6 cables in tension, 6 − m degrees of freedom of
the platform cannot be controlled.
Let the 6 degrees of freedoms of the moving platform be described by 3
parameters xO′ , yO′ and zO′ for the position of the origin O′ of the mobile
frame in Oxyz and by 3 angles ϕx , ϕy and ϕz , representing the orientation
of the platform by three consecutive rotations along the x, y and z fixed
axes. When the robot has m = 3 cables in tension, the inverse kinemat-
ics guarantees the control over the 3 position parameters, when m = 4
the user may choose to control also one of the two rotations ϕx or ϕy ,
and if m = 5 both ϕx and ϕy are managed. By means of this parame-
4.1. DESCRIPTION OF THE TEACHING PROTOTYPE 75
Figure 4.2 – The large wrapping angle of the cable on the right on the fishing
rod top eye cause a non uniform tension along the cable.
where both cable tensions and lengths were supposed to be all equal. As
the platform height gets closer to one of the exit points, and consequently
cable tension become higher, the error on platform orientation increases. As
shown in figures 4.3a and 4.3b, this error vanishes if, when the platform is
still, the cables are momentarily released (for example by manually tilting
the platform).
(a) (b)
Figure 4.3 – The moving platform before (a) and after (b) the manual redis-
tribution of cable tensions
Forward kinematics
The procedure that solves the direct geometrico-static problem is imple-
mented in the control routine as follows. Basically, it relies on the Psolve
procedure of the beta version of the code presented in Sec. 3.3.2. Assume
that at time t0 of the control routine the robot has the platform pose Y0 for a
given set of cable lengths ρ0 . Then, in order to follow the desired trajectory,
the controller computes the inverse kinematics and the motors move to a new
set of cable lengths ρ1 d. After a delay of few milliseconds ∆t , that is the
system interrupt time, the controller computes the cable lengths by reading
the actuator encoders. Without additional sensors, this estimate of cable
lengths is the only measurement available for feedback position control and
thus can be considered the real set of cable lengths ρ1 at time t1 = t0 + ∆t .
In order to measure the error of the platform pose with respect to the desired
trajectory, the actual pose Y1 satisfying the new cable constraints ρ1 must
be computed.
Let a CDPR with 6 cables in tension be considered. According to the
parameterization used for the inverse kinematics, assume that the upper
bounds on platform velocities vmax and ωmax are known. Thus, it is possible
to determine a bounding box for the reference points bi , with i = 1, . . . , h.
Each bounding box is centered in b0i , i.e. the coordinates of the ith reference
point at Y0 , and its edges are 2∆t (vmax + ωmax kb′i k), with i = 1, . . . , h.
The steps of the procedure are described hereafter.
If at the end of the algorithm more than one solution has been found in the
box, the robot is stopped.
This approach, from the tests done so far on the teaching prototype,
allows the DGP for a CDPR with m cables in tension, with m = 3, . . . , 6,
to be solved with performances equivalent to standard Newton methods.
Indeed, as explained in Sec. 3.2.1, since the matrix containing the second
order derivatives can be precomputed because it is constant, the overhead
required by this test is due to the numerical inversion of the system Jacobian
matrix. From the tests done on the teaching prototype, Kantorovitch was
successful in all tests, in every point of different trajectories.
Then the test were repeated by disabling the Kantorovitch module in the
algorithm and with the only action of operator F and after a few bisections,
a solution for the DGP (with an accuracy threshold of ε = 1.e − 4) is found
usually within 4 ms, and no more than 7ms. However this is a worst case
scenario, since even if Kantorovitch fails at the first step of the algorithm, it
usually succeeds after a few bisections and the solutions in the box can still
be computed with arbitrary precision.
h
!2 h
!2 h
!2
X X X
βik xk − aix + βik yk − aiy + βik zk − aiz = ρ2i (4.2)
k=1 k=1 k=1
and the first element of the ith row of the Jacobian matrix of the system is
h
!
X
Ji1 = 2βi1 βik xk − aix (4.3)
k=1
Thus the first row of the Hessian matrix Hi of the ith equation will be, if
h = 4,
2
Hi1,1..12 = 2βi1 0 0 2βi1 βi2 0 0 2βi1 βi3 0 0 2βi1 βi4 0 0
(4.4)
The other rows of this hessian matrix contain the same elements but in
different positions. Thus the norm of Hi is given by
4
X
kHi k∞ = 2|βi1 | |βik | (4.5)
k=1
80 CHAPTER 4. EXPERIMENTS AND RESULTS
The maximum value of kHi k among all the equations in the system gives
the value of the constant p0 of the Kantorovitch theorem (see Sec. 3.2.1)
and, being considered the fourth condition required by the theorem, if p0
is small, the theorem has more chances to be successfully applied. With
the current parameterization, the lowest value for the constant p0 is 4, i.e.
the norm of the hessian matrices related to point to point distance relations
(2.28). Thus, considering also that coefficients β and α appear in the static
equations, it is important to choose among the different sets of reference
points the combination that gives the lowest coefficients β and α not only to
reduce overestimation in secondary points evaluation but also to minimize
p0 .
Here, instead, an example is proposed that shows how Kantorovitch suc-
cess is affected also by the problem scaling. Let a robots with two cables be
considered. By the notation presented in Sec. 2.3 the coordinates of its exit
points are a1x = 0, a1z = 0, a2x = 7 and a2z = 1.5 and platform geometry
is defined by d12 = 3, d1g = 2, d2g = 2. All the measurements are in meters.
For cable lengths ρ1 = 3 and ρ2 = 5.5 the system has a solution Y0 in
x1 1.1197 x2 1.6640 xg 0.0909 τ1 0.9795
= = = =
z1 −2.7832 z2 0.1679 zg −1.0681 τ2 0.3768
(4.6)
Suppose that new cable lengths are now given by motors, and they are
ρ1 = 3.003 and ρ2 = 5.503. So, the inverse of J(Y0 ) is computed and its norm
is kΓY0 k∞ = 3.5418 = s0 . Constant r0 is computed as kΓY0 f (Y0 )k∞ =
0.00704. Since constant p0 = 4 in this case and the dimension of the problem
is 8 the following inequality does not hold
However, if the geometric data are all multiplied by a scale factor sf = 1/2,
an equivalent problem is obtained. But if all the computations are repeated,
since the following constants are now s0 = 4.3549, r0 = 0.00211 and p0 = 4,
the inequality in (4.7) is now satisfied
and the theorem now holds. However, how to determine the best scale factor
for a given direct geometrico-static problem is a subject that deserves more
investigations, and up to now we have dealt with it only by an empirical
approach.
4.1. DESCRIPTION OF THE TEACHING PROTOTYPE 81
γi = ci0 + ci1 x + ci2 y + ci3 xy + ci4 xy 2 + ci5 x2 y + ci6 y 3 + ci7 x3 + ci8 x2 + ci9 y 2
(4.10)
where i = 1, . . . , 6 and coefficients cik contain the geometric data of the
robot and the assigned pose parameters. Each curve γi (as shown in Fig.
4.4) divides the plane xO′ yO′ in two regions Ψi− and Ψi+ where ti is negative
82 CHAPTER 4. EXPERIMENTS AND RESULTS
where
∂γi
γix = (4.12)
∂x xij ,yij
∂γi
γiy = (4.13)
∂y xij ,yij
4.1. DESCRIPTION OF THE TEACHING PROTOTYPE 83
Figure 4.5 – Detail of the two lines bisecting the angles formed by the two
tangents of γi and γj in λij .
Then, variables [t1 , . . . , t6 ] are computed in the two pairs of points lying
on rij′ and r ′′ obtained by substituting δ ′ = ±ǫ and δ ′′ = ±ǫ in (4.15), where
ij
ǫ is an arbitrary small real number. If for one point, ti > 0, i = 1, . . . , 6,
it is possible to consequently determine the corresponding sections of curves
γi and γj constituting part of the WFW boundary. The algorithm proceeds
84 CHAPTER 4. EXPERIMENTS AND RESULTS
analyzing all the intersections λ and determines whether all the sections of
curves γ deemed part of the WFW boundary form closed loops.
This procedure runs in less than 1.5ms so it is manageable in real-time.
It is possible, thus, to assign platform orientation and zO′ and computes at
each cycle time the boundaries of the WFW of xO′ and yO′ . However, this
algorithm is at its preliminary stage of development and its implementation
will be further improved in the future. For example, since the expressions
of curves γ are known, the area of a section of the WFW determined by
following this approach can be computed fairly quickly. It would thus be
possible to assess whether the current trajectory of the robot or the external
wrenches applied on the moving platform are leading to a dangerous con-
traction of the WFW or if the current pose of the end-effector is getting near
to the WFW boundaries.
• a configuration number;
• 3 parameters xO′ , yO′ and zO′ describing the position of the origin O′
of the mobile frame in Oxyz;
• a symbol that denotes whether the solution is stable (>) or not (<).
All tests were performed on a PC with an Intel R Xeon W3520 2.67 GHz
CPU with 4 cores.
4.2. TEST OF THE DGP SOLVING PROCEDURE 85
6
X 8!
NDGP = = 246 (4.18)
k! (8 − k)!
k=1
sub-DGPs. Table 4.4 reports all solutions found by running the code for
all the 246 sets of taut cables and the number of solutions retrieved is 46,
i.e. 6 with 6 cables in tension, 16 with 5 cables in tension, 15 with 4 cables
in tension, 4 with 3 cables in tension and 5 with 2 cables in tension. The
computation time is 1343 seconds by a single-core execution, and 348 seconds
if the code is distributed over 4 CPUs. The beta version of the code shown
better performances: 1219 seconds for single core execution and 314 for the
parallel implementation.
86 CHAPTER 4. EXPERIMENTS AND RESULTS
(a) (b)
Five out of 34 solutions are stable and they are reported in Table 4.4, for the
sake of conciseness. Their feasibility was checked on the teaching prototype
(Fig. 4.7).
(a) (b)
(c) (d)
Figure 4.7 – From Table 4.6: (a) configuration No. 1, (b) Configuration No.
3, (c) configuration No. 4, (d) configuration No. 5.
in Section 2.3, with a strong effect on computation times. The second and
the third tests analyzes the DGP of robots with spatial disposition of the
anchor points on the respective moving platforms. For this kind of geometry,
the code needs higher computation times. However, performances are still
particularly interesting. For the second example, without considering the 36
subproblems with 1 and 2 active cables, that are processed in less than 2
seconds, the code solves 56 sub-DGPs with 3 cables in tension, 70 with 4
cables in tension, 56 with 5 cables in tension and 28 with 6 cables in tension
in 1343 with the standard version of the code (1219 with the beta version),
with a mean computation time of nearly 7 (6) seconds for each problem.
For the third example, without considering the 21 subproblems with 1 and
2 active cables (they are generally processed in less than 1 second), the code
solves 20 sub-DGP with 3 cables in tension, 15 with 4 cables in tension, 6
with 5 cables in tension and 1 with 6 cables in tension in 702 seconds, with
a mean computation time of roughly 17 seconds for each problem.
It is worth mentioning that the obtained computation times are not nec-
essarily the lowest ones. It can happen that the procedure that selects the
best cable numbering for each DGP fails to find the best combination. In-
deed, the ranking criterion expressed in (3.16) is an empirical relation coming
from the data gathered during tests and on the results obtained in [Merlet
2004], which deserve further investigation.
In tests 2, 3 and 4, multiple feasible solutions are obtained for a given
set of cable lengths. In the third example, the robot (Fig. 4.6a) can easily
switch from configuration No. 1 to configuration No. 3 (Fig. 4.6b) (passing
through an unstable configuration with 4 taut cables) and vice-versa, while
configuration No. 2 cannot be directly reached without detaching cables.
Configuration No. 3 with 6 cables in tension is almost coincident with con-
figuration No. 4, with 5 taut cables, as can be noted by the small value
of tension in the fourth cable. Accordingly, in this part of the workspace,
the robot may easily act as an underconstrained one in an uncontrolled way.
In the fourth test, if the platform is in configuration No. 1 (Fig. 4.7a), a
potential external disturbance can cause the robot to fall in one of the 3
solutions with 5 cables in tension (Figs. 4.7b, 4.7c and 4.7d show configura-
tions No. 3, 4 and 5), and without additional external sensors it is difficult
to determine in which solution branch the robot is operating. Conversely,
configuration No. 2, with 6 cables in tension, is not directly achievable with
a finite movement of the platform without detaching and reattaching cables.
The current version of the code can determine the stability of equilibrium
only after the computation of all statically-admissible solutions. The results
obtained during the experimental campaign show that stable solutions are
4.2. TEST OF THE DGP SOLVING PROCEDURE 89
b′5 = [−0.503, 0.493, 0.000] b′6 = [0.500, −0.340, 0.999] b′7 = [0.502, 0.275, 0.000] b′8 = [−0.505, −0.346, 0.998]
g′ = [0, 0, 0.5] (ρ1 , ρ2 , ρ3 , ρ4 , ρ5 , ρ6 , ρ7 , ρ8 ) = [10.482, 9.839, 10.160, 9.968, 10.310, 9.422, 9.663, 9.656] Q = 1
Conf. m xO ′ yO ′ zO ′ ϕx ϕy ϕz τ1 τ2 τ3 τ4 τ5 τ6 τ7 τ8 Stability
1 6 −0.465 −0.309 1.988 2.177 −0.505 1.499 0 0.655 0 0.680 0.309 0.311 0.632 0.136 >
2 6 −0.182 −0.481 1.631 −0.027 −0.718 −3.121 0 0.874 0.396 0.071 0.445 0.279 0.683 0 >
3 6 0.519 1.329 2.460 1.048 1.339 −0.765 0.454 0.279 0 0.761 0 0.879 0.340 0.305 >
4 6 0.635 0.381 1.697 0.396 0.646 −2.999 0.389 0.269 0.710 0 0 0.818 0.471 0.091 >
5 6 0.921 0.236 1.989 −2.193 0.243 1.421 0.358 0.219 0.617 0.154 0 0.628 0 0.724 >
6 6 0.416 0.564 1.627 2.761 −1.363 −1.210 0.670 0.085 0.027 0.589 0 0.741 0.697 0 >
7 5 0.245 −0.521 1.418 −2.147 1.260 −0.514 0 0 0.570 0.599 0 0.012 0.634 0.543 >
8 5 0.255 −0.039 0.828 0.033 −0.099 0.055 0 0 0.622 0.546 0 0.011 0.626 0.551 >
9 5 −0.836 −0.182 2.462 −1.369 −0.222 −1.386 0 0.236 0 1.459 0 0.147 0.591 0.895 <
10 5 0.339 1.246 2.387 0.688 1.067 −0.883 0 0.205 0 1.422 0 0.381 0.446 0.916 <
11 5 −0.405 −0.664 1.902 1.131 −0.659 2.580 0 1.101 0.328 0 0.728 0.227 0.543 0 <
12 5 0.250 −1.140 2.361 −1.079 −1.201 −0.403 0 0.198 0.607 0.770 0 0.101 0 1.434 <
13 5 −0.111 −0.304 1.747 0.124 −0.892 2.799 0 0.711 0.365 0.295 0.570 0 0.855 0 <
14 5 0.469 1.295 2.572 1.868 1.330 0.053 0.651 0 0 0.773 0 0.826 0.543 0.080 <
15 5 0.577 0.242 1.789 0.462 0.814 −3.137 0.399 0 0.963 0 0 0.585 0.448 0.384 <
16 5 0.588 0.084 1.779 −1.430 0.391 1.450 0.408 0 1.112 0 0 0.436 0.106 0.956 <
17 5 0.712 −0.492 1.990 −1.970 0.959 0.693 0.033 0 1.485 0.079 0 0.034 0 1.579 <
18 5 0.109 0.045 1.346 0.829 −0.476 0.568 0.682 0 0.274 0.306 0 0.660 0.678 0 <
91
19 5 1.198 0.503 2.442 1.086 0.461 −1.454 0.617 0.720 0 0.308 0 1.370 0 0.352 <
92
20 5 0.574 1.289 2.541 1.799 1.509 −0.065 0.717 0.121 0 0.604 0 0.993 0.448 0 <
21 5 0.976 0.674 2.135 −1.322 0.548 2.532 0.798 0.233 0.497 0 0 1.176 0.385 0 <
22 5 0.378 −0.289 1.218 −0.981 0.610 0.341 0.435 0.696 0.082 0 1.138 0 0.110 0 <
23 4 0.188 1.161 2.654 1.703 1.021 0.109 0 0 0 1.554 0 0.177 0.705 0.790 <
24 4 −0.831 −0.141 2.560 −1.555 −0.276 −1.367 0 0.111 0 1.558 0 0 0.769 0.820 <
25 4 −0.269 −0.504 2.419 −0.622 −0.445 −1.262 0 0.476 0 1.597 0 0.490 0 1.611 <
26 4 0.219 0.092 2.744 −3.098 −0.006 −1.393 0 0.624 0 0.652 0 0.655 0 0.667 <
27 4 0.748 0.696 2.428 0.628 0.447 −1.260 0 0.438 0 1.601 0 0.549 0 1.582 <
28 4 0.230 0.094 2.685 3.137 −0.016 1.380 0 0.621 0 0.641 0 0.648 0 0.647 <
29 4 −0.163 −0.612 2.814 1.784 0.414 2.682 0 0.460 1.442 0 0 0.258 1.526 0 <
Table 4.4 – Complete solution set for the the 8 cable robot Cogiro. Platform anchor points are not coplanar.
4.2. TEST OF THE DGP SOLVING PROCEDURE
DATA
a1 = [1.886, 0.558, 2.590] a2 = [1.921, −2.876, 2.750] a3 = [−1.498, 0.809, 2.745]
a4 = [1.567, 0.895, 2.600] a5 = [−1.581, −3.015, 2.740] a6 = [−1.692, 0.372, 2.580]
b′1 = [0.63, 0.59, 0.585] b′2 = [0.63, 0.585, 0.015] b′3 = [−0.03, 0.05, 0.585]
b′4 = [0.63, 0.05, 0.585] b′5 = [−0.03, 0.585, 0.015] b′6 = [−0.03, 0.59, 0.585]
g′ = [0.3, 0.3, 0.3] (ρ1 , ρ2 , ρ3 , ρ4 , ρ5 , ρ6 ) = [2.755, 3.519, 2.849, 2.837, 3.489, 2.609] Q = 1
Conf. m xO ′ yO ′ zO ′ ϕx ϕy ϕz τ1 τ2 τ3 τ4 τ5 τ6 Stability
1 6 −0.270 0.235 0.778 2.554 0.124 0.080 0.398 0.226 0.248 0.078 0.244 0.268 >
2 6 0.253 −0.520 0.338 0.960 −0.105 −3.077 0.262 0.291 0.293 0.278 0.314 0.283 >
3 6 −0.278 −1.470 0.549 −0.670 0.014 −0.043 0.374 0.271 0.156 0.004 0.376 0.220 >
4 5 −0.279 −1.470 0.549 −0.669 0.016 −0.046 0.381 0.267 0.161 0 0.380 0.213 >
5 4 −0.502 −0.452 0.351 0.817 −0.913 −2.873 0 0.300 0 0.492 0.243 0.679 <
6 4 −0.289 −0.592 0.553 0.940 0.069 0.008 0 0.395 0.496 0.464 0.432 0 <
7 4 0.530 −0.505 2.234 −1.986 −0.324 −3.011 1.403 0 0.353 0 1.332 0.134 <
8 4 −0.217 0.025 1.237 −2.420 0.068 0.058 0.545 0.082 0 0 0.177 0.506 <
9 4 0.334 −0.380 2.325 −1.695 0.067 3.134 0.464 1.200 0 0 0.031 1.352 <
10 4 0.151 −0.579 2.411 −2.009 0.333 3.075 0.054 1.337 0 0.395 0 1.409 <
11 4 0.879 −0.455 0.751 0.862 0.757 3.036 0.658 0.229 0.524 0 0.339 0 <
12 3 0.132 −0.597 2.425 −2.065 0.376 3.057 0 1.355 0 0.471 0 1.419 <
13 3 0.386 −0.364 2.294 −1.703 −0.087 −3.059 1.393 0 0 0 1.256 0.480 <
14 3 0.552 −0.525 2.211 −2.131 −0.431 −2.963 1.421 0 0.546 0 1.374 0 <
15 3 0.332 −0.383 2.328 −1.700 0.073 3.132 0.442 1.229 0 0 0 1.373 <
16 2 −0.218 −1.192 1.499 1.220 0.379 1.539 0 1.569 1.612 0 0 0 <
17 2 0.342 −0.676 1.244 1.194 −0.403 −1.458 0 0 0 1.691 1.681 0 <
Table 4.5 – Solution set for the CDPR suspended by 6 cables MARIONET-VR: cable anchor points on the platform
93
are not coplanar.
94
DATA
a1 = [0.238, 0.063, 0.785] a2 = [0.736, 0.551, 0.785] a3 = [0.738, 0.551, 0.781]
a4 = [0.062, 0.729, 0.785] a5 = [0.064, 0.729, 0.789] a6 = [0.238, 0.062, 0.785]
b′1 = [0.369, −0.002, 0.025] b′2 = [0.369, 0.002, 0.025] b′3 = [−0.017, 0.033, 0.025]
b′4 = [−0.020, 0.031, 0.025] b′5 = [−0.020, −0.031, 0.025] b′6 = [−0.017, −0.033, 0.025]
g′ = [0, 0, 0.019] (ρ1 , ρ2 , ρ3 , ρ4 , ρ5 , ρ6 ) = [0.799, 0.790, 0.796, 0.787, 0.798, 0.791] Q = 1
Conf. m xO ′ yO ′ zO ′ ϕx ϕy ϕz τ1 τ2 τ3 τ4 τ5 τ6 Stability
Table 4.6 – Solution set for a CDPR suspended by 6 cables: all cable anchor points on the platform are coplanar.
95
Chapter 5
Conclusions
97
98 CHAPTER 5. CONCLUSIONS
second part of the first chapter describes some basics elements of this theory,
and lists some of its possible applications in robotics.
In the second chapter, the main definitions used through all the manuscript
are introduced and the assumptions made in order to model cable-robots and
develop the procedures are stated and discussed. Then the geometrico-static
model for CDPRs having m = 1, . . . , 6 cables in tension is presented along
with the different systems of equations used to solve the related DGPs. The
second chapter reports also a brief overview of the different parameteriza-
tions used during the development of the code but that turned out to be
ineffective.
In the third chapter, the code structure was described in detail together
with its main procedures. Then particular attention was devoted to some
refinements that are fundamental for the reliability of the code. The last part
of the third chapter describes a new version, currently still in a development
phase.
The code was tested on real prototypes, and during the Ph.D. program,
in order to simplify testing operations, a small teaching prototype was built.
Thanks to this prototype it was possible to develop a version of the DGP
solving routine that can be used in real-time together with an online al-
gorithm to compute the wrench feasible workspaces boundaries for a given
orientation and height of the moving platform. Then, in the second part of
the fourth chapter, numerical results of the most relevant tests conducted
on the offline algorithm for finding the complete set of DGP solutions were
presented and discussed.
101
102 BIBLIOGRAPHY
P. Gallina, et al. (2001). ‘3-dof wire driven planar haptic interface’. Journal
of Intelligent and Robotic Systems 32(1):23–36.
B. Gao, et al. (2012). ‘Combined inverse kinematic and static analysis and
optimal design of a cable-driven mechanism with a spring spine’. Advanced
Robotics 26(8-9):923–946.
M. Grebenstein, et al. (2012). ‘The hand of the DLR Hand Arm System:
Designed for interaction’. The International Journal of Robotics Research
31(13):1531–1555.
J.-P. Merlet (2012a). ‘The kinematics of the redundant N–1 wire driven par-
allel robot’. In (ICRA), 2012 IEEE International Conference on Robotics
and Automation, St. Paul, MN, USA, 14-18 May 2012, pp. 2313–2318.
J.-P. Merlet (2012b). ‘The kinematics of the redundant n-1 wire driven paral-
lel robot’. In IEEE International Conference on Robotics and Automation
(ICRA), 2012, pp. 2313–2318.
J.-P. Merlet & D. Daney (2010). ‘A portable, modular parallel wire crane for
rescue operations’. In (ICRA), 2010 IEEE International Conference on
Robotics and Automation, Anchorage, Alaska, 3-8 May 2010., pp. 2834–
2839.
C. Paul, et al. (2006). ‘Design and control of tensegrity robots for locomo-
tion’. IEEE Transactions on Robotics 22(5):944–957.
A. Pott, et al. (2010). ‘Large-scale assembly of solar power plants with par-
allel cable robots’. In Robotics (ISR), 2010 41st International Symposium
on and 2010 6th German Conference on Robotics (ROBOTIK), pp. 1–6.
S. Tadokoro, et al. (2002). ‘A motion base with 6-DOF by parallel cable drive
architecture’. IEEE/ASME Transactions on Mechatronics 7(2):115–123.
First of all, I would like to thank my supervisors Marco Carricato and Jean-
Pierre Merlet, for their support and guidance throughout all these years.
Their advice on both research as well as on my career have been priceless.
I would also like to express my deepest gratitude to Tobias Bruckmann,
Andreas Pott and Stéphane Caro, who accepted to be the referees and re-
viewed my manuscript, giving me precious comments and suggestions.
I would also like to thank professor Vincenzo Parenti-Castelli that gave
me the pleasure to be president of the jury, and dr. David Daney for being
member of the examining committee.
A special thank to my friends and colleagues Claudio, Margherita, Fab-
rizio, Federica, Irene, Michele, Nicola, Antonio, Daniele, Glauco, Julien,
Laurent, Rémy, Karim, Ting.
Finally, words cannot express how grateful I am to my girlfriend Giulia,
to my family and to all my friends who always encouraged me and provided
unending support during these years.
111