Você está na página 1de 125

UNIVERSIDADE FEDERAL DE SANTA CATARINA

CAMPUS FLORIANÓPOLIS
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA MECÂNICA

Marina Baldissera de Souza

Computational Efficiency Enhancement in Differential Kinematics of


Mechanisms

Florianópolis
2020
Marina Baldissera de Souza

Computational Efficiency Enhancement in Differential Kinematics of


Mechanisms

Exame de Qualificação submetido ao Programa de


Pós-Graduação em Engenharia Mecânica da Uni-
versidade Federal de Santa Catarina para obtenção do tí-
tulo de Doutora em Engenharia Mecânica.
Orientador: Prof. Daniel Martins, Dr. Eng.
Coorientador: Prof. Andrea Piga Carboni, Dr. Eng.

Florianópolis
2020
RESUMO

A cinemática diferencial de manipuladores robóticos consiste na relação entre as


velocidades das juntas e a velocidade angular e linear do efetuador final. A matriz
Jacobiana, ou simplesmente Jacobiano, é uma das ferramentas matemáticas mais
utilizadas na análise cinemática diferencial. O Jacobiano é empregado no estudo
de singularidades e a sua inversão é utilizada na solução da cinemática inversa,
i.e. na determinação das variáveis de junta a partir da posição e da orientação
desejadas do efetuador final. No controle em tempo real de um manipulador, a
inversa do Jacobiano deve ser atualizada constantemente, o que gera muitas
dificuldades, visto que a determinação numérica da inversa do Jacobiano exige
esforço computacional considerável. O Jacobiano baseado na teoria de helicoides
pode ter como referência qualquer sistema de coordenadas. Dependendo da escolha
do sistema de coordenadas, um Jacobiano com maior esparsidade e termos mais
simples pode ser gerado. Contudo, o Jacobiano não pode ser tão esparso a ponto de se
tornar indecomponível, i.e. não pode passar por permutações que levam a uma forma
triangular particionada em blocos. A inversão de uma matriz decomponível com elevada
esparsidade exige menor esforço computacional, reduzindo o tempo de solução da
cinemática inversa. Outra forma de realizar a análise cinemática diferencial baseada
na teoria de helicoides é o método de Davies, especialmente em manipuladores
paralelos, cujo Jacobiano é complexo de se obter devido à presença de cadeias
fechadas. A esparsidade, a complexidade dos elementos e a decomponibilidade das
matrizes geradas por meio do método de Davies também dependem do sistema de
coordenadas de referência. A seleção das juntas atuadas de manipuladores paralelos
também exerce influência sobre a esparsidade e a decomponibilidade das metrizes
geradas pelo método de Davies. Este trabalho tem por objetivo propor uma pesquisa
para desenvolver um método e um algoritmo para determinar a posição e a orientação
de um sistema de coordenadas que gere uma matriz mais esparsa, composta de
elementos menos complexos e que seja decomponível. O objetivo é diminuir o custo
computacional da solução da cinemática inversa de manipuladores seriais e paralelos.
Para isto, serão empregadas técnicas de álgebra linear de decomposição de matrizes,
como o método QR, e de análise combinatória, por meio da teoria de matroides.
Para mostrar o impacto da seleção do sistema de coordenadas nas matrizes da
análise cinemática diferencial, nesta qualificação são apresentados alguns estudos de
caso: o manipulador serial espacial PUMA; o manipulador Tripteron e um mecanismo
assimétrico com 3 graus de liberdade, ambos manipuladores paralelos espaciais.
A esparsidade e a decomponibilidade do Jacobiano geométrico e do Jacobiano
baseado na teoria de helicoides do PUMA são investigadas. Nos estudos de caso
dos manipuladores paralelos, a análise cinemática diferencial é realizada por meio do
método de Davies e ambos os estudos incluem a avaliação do impacto da alocação
dos atuadores sobre a esparsidade e a decomponibilidade das matrizes.

Palavras-chave: Cinemática diferencial de robôs. Cinemática inversa de robôs.


Jacobiano. Método de Davies. Esparsidade. Decomponibilidade.
ABSTRACT

The differential kinematics analysis of robot manipulators consists of the relationship


between the joints’ velocities and the end-effector’s velocity state. The Jacobian
matrix, or simply Jacobian, is one of the most employed mathematical tools in the
differential kinematics analysis. The Jacobian is employed in the study of singularities
and its inversion is used in the solution of the inverse kinematics problem, i.e. in the
determination of the joints’ variables from the desired position and orientation of the
end-effector. In the real-time control of a manipulator, the Jacobian inverse must be
constantly updated, bringing some difficulties, since the numerical determination of
the Jacobian inverse requires considerable computational effort. The screw-based
Jacobian can refer to any coordinate system. Depending on the reference frame choice,
a Jacobian with enhanced sparsity and simpler terms can be generated. Nonetheless,
the Jacobian cannot be so sparse to the point of becoming indecomposable, i.e it
cannot be permuted into block triangular form. The inversion of a decomposable matrix
with enhanced sparsity demands less computational effort, reducing the solution time
of the inverse kinematics. Another way to carry out the differential kinematics analysis
based on screw theory is the Davies method, specially for parallel manipulators, whose
Jacobian is harder to obtain due to the presence of closed chains. The sparsity, the
elements’ complexity and the decomposability of the matrices generated via Davies’
method also depend on the reference frame. In addition, the selection of actuated joints
of parallel manipulators influences the sparsity and the decomposability of the matrices
coming from the Davies method. This work aims to propose a research to develop a
method and an algorithm to define the position and the orientation of a reference frame
that gives a sparser and decomposable matrix, composed of simpler elements. The
objective is decreasing the computation cost in the solution of the inverse kinematics of
serial and parallel manipulators. To achieve this goal, linear algebra techniques, such
as the QR factorization, and combinatorics analysis, through the use of matroid theory,
are employed. In order to emphasize the impact of the reference coordinate system in
the differential kinematics analysis, this thesis proposal presents some case studies:
the spatial serial robot PUMA, the Tripteron manipulator and an asymmetrical 3 DOF
mechanism, both spatial parallel manipulators. The sparsity and the decomposability
of the PUMA’s geometric Jacobian and screw-based Jacobian are investigated. In the
parallel manipulators case studies, the differential kinematics analysis is carried out
though Davies’ method. Both case studies include the evaluation of the impact of the
actuators’ allocation on the sparsity and the decomposability of the matrices.

Keywords: Differential kinematics of robots. Inverse kinematics of robots. Jacobian.


Davies’ method. Sparsity. Decomposability.
LIST OF FIGURES

Figure 1 – Models of the PUMA robot. . . . . . . . . . . . . . . . . . . . . . . . 17


Figure 2 – Schematic representation of a PUMA robot with frames defined by
Denavit-Hartenberg convention. . . . . . . . . . . . . . . . . . . . . 18
Figure 3 – Asymmetrical 3 DOF mechanism, with joints i and j actuated, and
the reference frame Ox0 0 y 0 z 0 . . . . . . . . . . . . . . . . . . . . . . . . 20
Figure 4 – Asymmetrical 3 DOF mechanism, with joints f , g and one axis of joint
j actuated, and the reference frame Ox0000 y 00 z 00 . . . . . . . . . . . . . . 22
Figure 5 – The matrix D of Equation (7) and its bipartite graph representation
G(D). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figure 6 – A matching representing a subset of nonzeros of matrix D. . . . . . 27
Figure 7 – A maximum matching representing the nonzeros of D whose permu-
tation generates a diagonal with the maximum number of nonzeros
on it. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Figure 8 – A cover of the bipartite graph representation of the structure matrix K . 29
Figure 9 – Schematic of the full QR factorization. . . . . . . . . . . . . . . . . . 33
Figure 10 – Schematic of the reduced QR factorization. . . . . . . . . . . . . . . 33
Figure 11 – Coordinate transformation in a serial manipulator. . . . . . . . . . . . 38
Figure 12 – Links parameters of a serial manipulator with n joints. . . . . . . . . 38
Figure 13 – Sequence of links in a serial manipulator, with Oxyz attached to the
link i. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Figure 14 – Spatial four bar mechanism. . . . . . . . . . . . . . . . . . . . . . . . 52
Figure 15 – PUMA robot with coordinate systems defined by DH convention. . . 58
Figure 16 – Tripteron manipulator and the initial coordinate system Oxyz . . . . . 67
Figure 17 – Tripteron parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Figure 18 – Tripteron manipulator and the second coordinate system Ox0 0 y 0 z 0 . . . 71
Figure 19 – Tripteron manipulator and the third coordinate system Ox0000 y 00 z 00 . . . . 75
Figure 20 – Asymmetrical 3 DOF parallel mechanism and the coordinate system
Oxyz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Figure 21 – Position vectors of the couplings in respect to the Oxyz frame. . . . . 83
Figure 22 – Asymmetrical 3 DOF mechanism and the second reference frame
Ox0 0 y 0 z 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Figure 23 – Asymmetrical 3 DOF mechanism and the third reference frame
Ox0000 y 00 z 00 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Figure 24 – Puma robot with coordinate systems defined by DH convention. . . . 111
Figure 25 – Puma robot with coordinate systems defined by DH convention. . . . 114
Figure 26 – Graph representation of the Tripteron manipulator. . . . . . . . . . . 121
Figure 27 – Coupling graph of the Asym3DOF. . . . . . . . . . . . . . . . . . . . 122
Figure 28 – Motion graph of the Asym3DOF. . . . . . . . . . . . . . . . . . . . . 122
LIST OF TABLES

Table 1 –Sparsity score and decomposability of the PUMA’s Jacobian matrices. 64


Table 2 –Numerical values adopted for the Jacobians’ variables. . . . . . . . . 65
Table 3 –Mean of the time to solve the linear system ~ẋ = J~ġ 105 times. . . . . . 65
Table 4 –Adopted values of Tripteron parameters. . . . . . . . . . . . . . . . . 67
Table 5 –Sparsity score and decomposability of the Tripteron’s [M̂NS ]12×9
matrices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Table 6 – Mean of the time to solve the linear system [M̂NS ]m×m {ψ ~ }
S m×1 =
~ 5
–[M̂NP ]m×FN {ψP }FN ×1 10 times for the Tripteron manipulator. . . . . 81
Table 7 – Sparsity score and decomposability of the Asym3DOF’s [M̂NS ]12×9
matrices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Table 8 – Mean of the time to solve the linear system [M̂NS ]m×m {ψ ~ }
S m×1 =
~ 5
–[M̂NP ]m×FN {ψP }FN ×1 10 times for the Asym3DOF. . . . . . . . . . 94
Table 9 – Schedule for thesis activities. . . . . . . . . . . . . . . . . . . . . . . . 100
Table 10 – DH parameters of the PUMA robot. . . . . . . . . . . . . . . . . . . . 111
Table 11 – Couplings’ data to build the twists of the Tripteron’s motion matrices. . 120
Table 12 – Couplings’ data to build the twists of Asym3DOF’s motion matrices. . 122
Table 13 – Enumeration of the Asym 3DOF actuation schemes . . . . . . . . . . 124
LIST OF ABBREVIATIONS AND ACRONYMS

Asym3DOF asymmetrical 3 DOF parallel mechanism


DH Denavit-Hartenberg
DOF degrees of freedom
LAR Laboratory of Applied Robotics
SERF Sparsity Enhancing Reference Frame
UFSC Universidade Federal de Santa Catarina
LIST OF SYMBOLS

ι Sparsity score of a matrix


Nzero Number of zero entries of a matrix
Ntotal Number of elements composing a matrix
V Vertex-set of a bipartite graph
E Set of edges of a bipartite graph
G(A) Bipartite graph associated with a matrix A
R Set of rows composing a matrix
C Set of columns composing a matrix
M Matching
⊗ Nonzero elements represented by a matching
rt Term-rank
r Rank
(U X , U Y ) Cover
cj Column j of a matrix
ri Row i of a matrix
A[I, J] Submatrix of a matrix A
I Subset of rows of a matrix
J Subset of columns of a matrix
|•| Number of elements of a set (cardinality)
dm Dulmage-Mendelsohn decomposition
~aj Column vector of matrix A
~qi Orthonormal vector
Q̂ Matrix composed of orthonormal vectors defined from the reduced QR
factorization
R̂ Upper- triangular matrix defined from the reduced QR factorization
Q Unitary matrix defined from the full QR factorization
R Upper- triangular matrix defined from the full QR factorization
I Independent set
I Family of independent sets
B Family of maximal independent sets or bases
E Ground set of matroid
M (A) Matroid defined on the column vectors of matrix A
M∗ Dual matroid
B∗ Family of bases of a dual matroid
B Basis of a matroid
J Jacobian
~x˙ Vector representing the velocity state of the end-effector
~g˙ Vector containing joint velocities
Ai–1
i Homogeneous transformation matrix
On Origin of the end-effector frame
~vn Linear velocity of the end-effector
~n
ω Angular velocity of the end-effector
θ̇i Rotation rate about the ith joint axis
ḋi Translation rate along the ith joint axis
~zi–1 Unit vector along the ith joint axis
~ri–1,n Position of the origin of On with respect to Oi–1
R Rotation matrix
Ox0 y0 z0 Fixed frame (link 0)
h Screw pitch
$̂ Normalised twist
~s Unit vector defining the direction of the screw axis
~s0 Position vector of any point on the screw axis
$ Twist
~v0 Velocity of a point on the end-effector instantaneously coinciding with the
origin of Ox0 y0 z0
Ti→j Screw transformation matrix
S Skew-symmetric matrix
ν Number of fundamental circuits of a graph
n Number of links of a mechanism/nodes of a graph
e Number of couplings of a mechanism/edges of a graph
[B]ν×e Fundamental circuit matrix
[BM ]ν×F Fundamental circuit matrix generated from a motion graph
F Gross degree of freedom
fi Number of independent unitary motions allowed by a coupling
λ Order of the screw system
Oxyz Coordinate system
{r , s, t} Twist components - angular velocity vector (Davies notation)
{u, v , w} Twist components - linear velocity vector (Davies notation)
ϕ Twist magnitude
[MD ]λ×F Motion matrix
[M̂D ]λ×F Unit motion matrix
~
{ψ} Vector containing the twists magnitudes
F ×1
[M̂N ]λν×F Network unit motion matrix
FN Net degree of freedom
m Rank of the matrix [M̂N ]λ.ν×F
[M̂NS ]m×m Matrix composed of the columns of [M̂N ]λ.ν×F corresponding to the
secondary variables
{ψ ~ } Vector containing the secondary variables magnitudes
S m×1
[M̂NP ]m×FN Matrix composed of the columns of [M̂N ]λ.ν×F corresponding to the primary
variables
{ψ ~ }
P FN ×1 Vector containing the primary variables magnitudes
I Identity matrix
Jg Geometric Jacobian
Js Screw-based Jacobian
li Length of Tripteron’s link i
dij Distance of Tripteron’s link i from the origin along the j axis
CONTENTS

1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1 CONTEXTUALIZATION . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2 JUSTIFICATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3 IMPACT OF REFERENCE FRAME AND ACTUATORS’ ALLOCATION:
EXAMPLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.1 Serial manipulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.2 Parallel mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.4 ORIGINALITY OF THE THESIS’ SUBJECT . . . . . . . . . . . . . . 22
1.5 OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2 PRELIMINARY BIBLIOGRAPHIC REVIEW . . . . . . . . . . . . . . 25
2.1 SPARSE MATRICES . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 MATRIX DECOMPOSABILITY . . . . . . . . . . . . . . . . . . . . . . 26
2.3 QR DECOMPOSITION . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4 MATROID THEORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5 DIFFERENTIAL KINEMATICS OF ROBOT MANIPULATORS . . . . . 35
2.5.1 Jacobian Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.5.1.1 Geometric Jacobian . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.5.1.2 Screw-based Jacobian . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.5.2 Davies’ method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.5.3 Actuation of parallel manipulators and matroid theory . . . . . . 47
2.6 SPARSITY OF THE DIFFERENTIAL KINEMATICS MATRICES . . . 48
2.6.1 Reference coordinate system . . . . . . . . . . . . . . . . . . . . . 48
2.6.2 Actuation schemes of parallel robots . . . . . . . . . . . . . . . . . 51
3 CASE STUDIES EVALUATING SPARSITY AND DECOMPOSABILITY 55
3.1 REFERENCE FRAME ORIENTATION DEFINED THROUGH FULL
QR FACTORIZATION . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2 CASE STUDIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2.1 PUMA robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2.1.1 PUMA’s geometric Jacobian . . . . . . . . . . . . . . . . . . . . . . . 58
3.2.1.2 PUMA’s screw-Based Jacobian . . . . . . . . . . . . . . . . . . . . . 59
3.2.2 Tripteron manipulator . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.2.2.1 Impact of the actuation set . . . . . . . . . . . . . . . . . . . . . . . . 66
3.2.2.2 Impact of the reference frame . . . . . . . . . . . . . . . . . . . . . . 70
3.2.3 Asymmetrical 3 DOF parallel mechanism . . . . . . . . . . . . . . 82
3.2.3.1 Impact of the actuation set . . . . . . . . . . . . . . . . . . . . . . . . 82
3.2.3.2 Impact of the actuation set . . . . . . . . . . . . . . . . . . . . . . . . 86
4 THESIS PROPOSAL . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.1 THESIS OBJECTIVES . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.2 THESIS CONTRIBUTIONS . . . . . . . . . . . . . . . . . . . . . . . 98
4.3 ACTIVITIES AND TIMELINE . . . . . . . . . . . . . . . . . . . . . . . 99
4.4 FINANCIAL FORECAST . . . . . . . . . . . . . . . . . . . . . . . . . 99
5 FINAL CONSIDERATIONS . . . . . . . . . . . . . . . . . . . . . . . 101
REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
APPENDIX A – HOMOGENEOUS TRANSFORMATION MATRICES
OF PUMA ROBOT . . . . . . . . . . . . . . . . . . 111
APPENDIX B – DH JACOBIAN OF PUMA ROBOT . . . . . . . . . 114
APPENDIX C – SCREW-BASED JACOBIAN AND FRAMES DE-
FINED THROUGH DH CONVENTION . . . . . . . 118
APPENDIX D – MOTION MATRICES OF THE TRIPTERON MANIP-
ULATOR . . . . . . . . . . . . . . . . . . . . . . . . 120
APPENDIX E – MOTION MATRICES OF THE ASYMMETRIC 3
DOF MECHANISM . . . . . . . . . . . . . . . . . . 122
APPENDIX F – ACTUATION SETS OF THE ASYMMETRIC 3 DOF
MECHANISM . . . . . . . . . . . . . . . . . . . . . 124
13

1 INTRODUCTION

This chapter introduces the research’s problem and how the thesis proposed will
handle it. The context of the thesis proposal is detailed in Section 1.1; the main goal of
the thesis is justified in Section 1.2; some examples to illustrate the goal of the thesis
are presented in Section 1.3; the novelty of the thesis proposal is highlighted in Section
1.4; and finally the overview of this document is presented in Section 1.5.

1.1 CONTEXTUALIZATION

Robot kinematics include forward and inverse kinematics. In the forward


kinematics, the position and orientation of the end-effector are computed by joint
parameters. The inverse kinematics is the opposite problem of the forward kinematics:
the inverse kinematics uses the kinematics equations of a robot to determine the joint
parameters that provide a desired position and orientation of the end-effector. In general,
the forward kinematics solution can be easily calculated for serial robots, while the
solution of their inverse kinematics problem is quite complex. By contrast, the solution
of the inverse kinematics of parallel robots is simple to be calculated, but getting the
solution of their forward kinematics is not trivial (YE et al., 2020).
The differential kinematics of robots establishes the relationship between joint
velocities and the end-effector linear and angular velocities. One of the objectives of
carrying out a differential kinematics analysis of a given robot is generating a matrix
that helps to solve the inverse kinematics of this robot (SICILIANO et al., 2010). The
solution of the inverse kinematics plays a crucial role in robotics, as it is directly related
to tasks like off-line programming, trajectory planning and real time control. The inverse
kinematics is also important for robot design and dynamic analysis of manipulators
(WEI et al., 2014; KUCUK; BINGUL, 2014).
There are mainly two approaches of obtaining the inverse kinematics solution:
the analytical methods and the numerical methods (KUCUK; BINGUL, 2014). The
analytical methods involve deriving an explicit mathematical model of the system
under consideration. One way to solve the inverse kinematics problem is obtaining an
analytical closed-form solution: the problem is reduced to an algebraic equation relating
the end-effector location to a single joint variable (TSAI, 1999). A robot manipulator
is solvable when it is possible to compute all the joint configurations corresponding
to a given location of the end-effector (PIEPER, D. L., 1968). Pieper and Roth (1969)
defined a sufficient condition for serial manipulators be solvable: they must have any
three consecutive joint axes intersecting at a common point, i.e. a spherical wrist, or
any three consecutive joint axes parallel to each other.
The advantages of using analytical methods include their accuracy, fast
computation and being able to find all the solutions of the inverse kinematics problem.
Chapter 1. Introduction 14

In other words, analytical methods provide complete forward kinematics solutions for
different configurations of a robot (YE et al., 2020). Analytical methods present some
drawbacks such as relying on simplifying assumptions and experimental parameter
estimations based on the real system. This characteristic could provoke the analytical
model to differ from the real system (REN; BEN-TZVI, 2020). Besides, closed-form
solutions only can be found for manipulators with simple geometry, such as serial
robots presenting the features described by Pieper and Roth (1969). However, there are
manipulators which do not have such characteristics. Finally, deriving a mathematical
model can be unnecessarily complicated due to the complex kinematics structure of
some manipulators with general geometry (KUCUK; BINGUL, 2014).
Numerical methods have the advantage of being data-driven and providing
approximate solutions within a desired tolerance (REN; BEN-TZVI, 2020). Some
numerical methods developed to solve the inverse kinematics problem are based on
the inversion of the Jacobian matrix. Inverting the Jacobian matrix leads to a negative
point of these methods: the Jacobian has to be inverted in each iteration and its inverse
matrix is not so simple to obtain (KUCUK; BINGUL, 2014; ZUBIZARRETA et al., 2018).
The correct solution is not always guaranteed and multiple solutions are not calculated.
Moreover, numerical methods present the inconvenience of being unstable in the region
of singularities (where the determinant of the Jacobian is zero and hence there is
no solution) and the calculation is time consuming especially for the computation of
redundant kinematic chains. Nonetheless, they are still preferred to analytical resolution
for their versatility and speed of implementation (BERTRAND et al., 2012).
Numerical methods for solving the inverse kinematics problem bring a challenge
when applied to real-time control of robotic systems. Obtaining a numerical solution
demands long computation time and the control system needs to calculate the inverse
of the Jacobian each control cycle to update the joints parameters (YE et al., 2020).
A very long computing time can be an issue especially for parallel robots, since they
are designed for fast applications. The control cycle of a parallel robot is usually small
(even less than 1 ms), which requires to compute the position of the end-effector as
fast as possible (ZUBIZARRETA et al., 2018). Hence, the computational cost is a key
issue when implementing controllers for robot manipulators.

1.2 JUSTIFICATION

A robot’s final position and orientation can only be fully programmed and
controlled using inverse kinematics to transform the position and orientation of the
joint variables (WEI et al., 2014). The solution of the inverse kinematics problem is
computationally expensive and generally takes much time for real time control of robot
manipulators (KUCUK; BINGUL, 2014). So there is a demand of algorithms which
enhance computational efficiency in the solution of the inverse kinematics problem.
Chapter 1. Introduction 15

Both numerical and analytical methods require these algorithms.


Most of the algorithms employed by industrial robots avoid numerical inversion of
the Jacobian matrix by driving an analytical solution on an ad hoc basis (HASAN et al.,
2009). Therefore, algorithms to obtain the Jacobian and other differential kinematics
matrices should favor analytical solutions.
The Jacobian and its inverse can be referred to any coordinate system. Some
reference frames yield a relatively simple Jacobian, which is easier to invert and
an analytical expression of its determinant is conveniently obtained. This analytical
expression allows to map singular configurations independently of the reference frame.
This is due to the fact that the value of the determinant of the Jacobian is the same
in any coordinate system, because the determinant is a function solely of the relative
configuration of the actuator axes. These statements are also valid for other differential
kinematics matrices based on screw theory, such as the motion matrices coming
from the Davies method (HUNT, 1987; BONILLA, 2004) . In this work, the differential
kinematics analysis of serial robots is done via Jacobian matrix. For the differential
kinematics analysis of parallel robots, the Davies method is employed to generate a
motion matrix.
A simple Jacobian matrix or a simple motion matrix has many of its elements
equal to zero. Matrices with this feature can be computed as sparse. In the computation
of sparse matrices, the numerically zero entries are not stored and no computation is
performed with them. This leads to computational savings and reduction of solution
time (DUFF et al., 2017). A sparser Jacobian simplifies the singularity analysis, by
making an analytical inversion possible, and increases the computational efficiency in
the solution of the inverse kinematics problem (WALDRON, K. et al., 1985). Thus, in
the differential kinematics analysis of robots, finding a reference frame that enables the
construction of a matrix with many zeros is crucial.
For parallel manipulators, another aspect influences the sparsity of the motion
matrices besides the reference frame. The selection of the actuated joints defines the
sparsity of the matrix that should be inverted to solve the differential kinematics analysis.
So this characteristic should be also taken into consideration when seeking to increase
computational efficiency in the inverse kinematics problem.
Another matrix feature that influences computational efficiency is whether the
matrix is decomposable or not. An indecomposable matrix cannot be permuted into
block triangular form. A matrix that can be permuted into block triangular form allows
the solution of a linear system via smaller subsystems instead of inverting the original
matrix, with higher dimensions. In robotics, the Jacobian inversion via smaller matrices
helps to rank the singularities of a manipulator and lightens the computational efforts
and errors in the solution of the inverse kinematics problem (MARTINS; GUENTHER,
2003). The decomposability of the Jacobian is an essential feature, specially when
Chapter 1. Introduction 16

numerical methods are concerned, as the Jacobian is inverted over and over again.
These remarks are also valid for the motion matrices coming from the Davies method
in the differential kinematics analysis of parallel manipulators.
For these reasons, this work analyses the impact of the reference frame and
the allocation of the actuators (for parallel manipulators) on the sparsity and on the
decomposability of the Jacobian and of the motion matrices coming from the Davies
method. The main goal of the thesis to be developed in this doctorate comprises
the development of a general method and an algorithm that determine the reference
coordinate system that gives Jacobian matrices and motion matrices with enhanced
sparsity. The reference frame defined from the method and the algorithm will be
called Sparsity Enhancing Reference Frame (SERF). For parallel manipulators, the
method and the algorithm will also determine which joints should be actuated to
obtain sparser motion matrices. In addition, this method/algorithm will prevent these
matrices from becoming indecomposable. The objective of generating matrices with
these characteristics is increasing the computational efficiency in the solution of the
inverse kinematics problem.

1.3 IMPACT OF REFERENCE FRAME AND ACTUATORS’ ALLOCATION: EXAM-


PLES

Two examples are provided to demonstrate how the coordinate system used as
reference to build the Jacobian of a serial manipulator and the motion matrices of a
parallel mechanism influences the sparsity and decomposability of the matrices. The
impact of the selection of the actuated joints on the motion matrix structure is illustrated
as well.

1.3.1 Serial manipulator

Created in 1978, the PUMA robot was developed as a small parts handling line
robot for General Motors (IFR, 2017). The PUMA robot is a serial manipulator with six
degrees of freedom, with a spherical wrist at its far end. Some models of the PUMA
robot are shown in Figure 1.
Figure 2 contains a schematic representation of a PUMA robot. In this
representation, the PUMA’s links are numerated from 0 to 6 and the PUMA’s joints
are numerated from i to vi. A frame is attached to each link following the Denavit-
Hartenberg convention (HARTENBERG; DENAVIT, 1955). The joint variables are
θi , i = 1...6. The PUMA’s Jacobian can be defined based on the Denavit-Hartenberg
convention, giving rise to the geometric Jacobian. The resulting matrix is expressed in
the fixed coordinate frame Ox0y 0z0 , so the end-effector’s velocity state calculated from
the geometric Jacobian refers to the robot’s base.
Chapter 1. Introduction 17

Figure 1 – Models of the PUMA robot.

Source – Available at IFR (2017).

The geometric Jacobian Jg of the PUMA’s robot is shown in Equation (1). Section
2.5.1.1 briefly details how to obtain the geometric Jacobian.
 
g g1,2 g1,3 g1,4 g1,5 0
 1,1 
g2,1 g2,2 g2,3 g2,4 g2,5 0 
 
 0 g3,2 g3,3 g3,4 g3,5 0 
Jg =  (1)
 

 0 sin(θ1 ) sin(θ1 ) g4,4 g4,5 g4,6 
 
 0 – cos(θ ) – cos(θ ) g5,4 g5,5 g5,6 
 1 1 
1 0 0 – cos(θ2 + θ3 ) g6,5 g6,6
Note that Jg has few elements equal to zero, only 8 among its 36 elements.
Also note that not all elements of Jg are explicitly shown. Due to their complexity, they
were omitted for clarity reasons. The complete form of the elements gi,j is presented in
Appendix B.
When the Jacobian is determined in relation to the base frame, the resulting
matrix is relative dense, i.e. contains many nonzero entries, and its elements are very
complex (MARTINS, 2004). Using the fixed base frame also risks generating a matrix
that cannot be permuted into block-triangular form. That is the case of Jg (criteria to
evaluate the decomposability of a matrix are detailed in Section 2.2). In summary, the
geometric Jacobian of Equation (1) has poor sparsity, very complex elements and is
indecomposable. Thus it illustrates how using the base frame Ox0y 0z0 as reference
can compromise the solution time of the inverse kinematics problem.
The method based on the Denavit-Hartenberg is not the only way to obtain
Chapter 1. Introduction 18

Figure 2 – Schematic representation of a PUMA robot with frames defined by Denavit-


Hartenberg convention.

x4 L
56
x5
z4
O
O4 5
z5
v
x3 4 5 x6
z3 iv vi
iii 3 O6
L1 O2 x2 6
2 O3 z6
ii L 34
z0 z2
O0 O1
1 x1
z1 L2
i

the Jacobian of a serial robot. The Jacobian can be defined using screw theory. In
contrast to the method to obtain the geometric Jacobian, where the selection of the
reference frame is very strict, the screw-based Jacobian presents the advantage of
enabling its representation in any coordinate system. This feature allows to choose
the reference coordinate system that gives a matrix with enhanced sparsity and more
simple elements. It also diminishes the risk of generating an indecomposable Jacobian.
To exemplify these statements, Equation (2) shows the screw-based Jacobian of the
same PUMA robot represented in Figure 2, using the frame Ox3y 3z3 as reference:

 
sin(θ2 + θ3 ) 0 0 0 – sin(θ4 ) cos(θ4 ) sin(θ5 )
 

 0 1 1 0 cos(θ4 ) sin(θ4 ) sin(θ5 )  
 – cos(θ + θ ) 0 0 1 0 cos(θ5 ) 
3J =  2 3
 (2)

s 
–L1 cos(θ2 + θ3 ) L2 sin(θ3 ) 0 0 –L34 cos(θ4 ) –L34 sin(θ4 ) sin(θ5 )
 
 –L cos(θ ) 0 0 0 –L34 sin(θ4 ) L34 cos(θ4 ) sin(θ5 ) 
 2 2 
–L1 sin(θ2 + θ3 ) –L2 cos(θ3 ) 0 0 0 0

The screw-based Jacobian 3 Js is more suitable to solve the inverse kinematics


of the PUMA robot, in comparison to Jg shown in Equation (1). 3 Js has almost the
double of zero elements, 17 elements. In addition, the screw-based Jacobian 3 Js is
composed of much more simple elements, so much so that all of them are explicitly
Chapter 1. Introduction 19

shown in Equation (2). Finally, 3 Js can be permuted into block-triangular form, as it will
be seen in Chapter 3.
All these characteristics of the screw-based Jacobian come from the fact that
3 J is expressed in a frame attached to an intermediate link (O
s x3y 3z3 ), in contrast
to Jg , which expressed in the base frame (Ox0y 0z0 ). However, we do not know if the
frame Ox3y 3z3 generates the Jacobian matrix with as many zeros as possible. The
PUMA robot presents other features that could define a reference frame which gives
enhanced sparsity. The screw-based Jacobian 3 Js presented good sparsity because
the frame Ox3y 3z3 has its axes aligned to the axes of parallel joints (joints ii and iii) and
to their common perpendiculars. But the reference frame could be defined at the point
of concurrence of the spherical wrist composed of joints iv , v and vi, a location that is
known to give a sparser Jacobian composed of more simple elements (WALDRON, K.
et al., 1985). More details on how the selection of the reference frame can influence
the elements of a screw-based Jacobian are found in Section 2.6.1. The impact of the
reference frame on the Jacobian of the PUMA robot is further explored in Chapter 3.
Therefore, a method and an algorithm to define the position and orientation of the
reference frame that results in a decomposable Jacobian with as many zero elements
as possible would guarantee that the best choice is made, avoiding a try and error
approach.

1.3.2 Parallel mechanism

Regarding parallel mechanisms, besides the reference frame, the selection of


the actuated joints affects the sparsity and decomposability of the differential kinematics
matrices as well. To demonstrate the influence of both reference frame and allocation
of actuators, consider the spatial asymmetrical mechanism of Figure 3.
Developed by Refaat et al. (2006), the asymmetrical mechanism has 3 degrees
of freedom. Generating its Jacobian is not a trivial task, so much so that its creators do
not carry out a differential kinematics analysis in their article. To work around this issue,
the Davies method is used to generate a matrix to analyse the differential kinematics of
the asymmetrical mechanism. The reason behind this choice is that the Davies method
allows to build differential kinematics matrices in a systematic way having as input a
brief description of the mechanism. Furthermore, associating the Davies method with
matroid theory enables to enumerate all feasible ways to actuate a parallel mechanism.
More details on the Davies method and on matroid theory are found in Sections 2.5.2,
2.4 and 2.5.3.
Considering the coordinate system Ox0 0 y 0 z 0 shown in Figure 3 as reference frame
and that the revolute joint i and the universal joint j are actuated (indicated in Figure 3
by the dashed line contour around these joints), the Davies method is applied to create
Chapter 1. Introduction 20

Figure 3 – Asymmetrical 3 DOF mechanism, with joints i and j actuated, and the
reference frame Ox0 0 y 0 z 0 .

y0

0 0
45◦ 7
d h
4
e O0
5 i
0 6
x0
f g
a 8
1
45◦
b j
c
2 3

z0

a matrix whose structure is shown in Equation (3):

a b cr cs d e f g h
 
× × × 0 0 0 0 0 0
0 0 0 × 0 × × × 0
 
 
0 0 0 × 0 × × × 0
 
0 0 0 × 0 0 × × 0
 
 
× × × × × × × × 0
 
0 × × × × ×
O
[ M̂NS ]12×9 =  × × × 0 (3)
 
0 0 0 0 0
 0 0 0 ×
0 0 0 0 0
 × × × 0
 
0 0 0 0 0
 × × × 0
0 0 0 0 0
 0 × × 0
 
0 0 0 0 × × × × ×
0 0 0 0 × × × × ×

The elements of the matrix whose structure is shown in Equation (3) are quite
complex. Moreover, we are interested in analysing the nonzero pattern of the matrix.
So only its structure is presented in this chapter. The process to obtain the matrix is
detailed in Section 2.5.2 and Chapter 3, where the asymmetrical mechanism is used
as a case study.
0
Some features of the motion matrix [O M̂NS ]12×9 can be observed from Equation
Chapter 1. Introduction 21

0
(3). [O M̂NS ]12×9 contains 59 elements equal to 0 and can be permuted into block-
triangular form, as it will be shown in Chapter 3.
Taking as reference another coordinate system and actuating other joints lead
to a motion matrix with different characteristics. Figure 4 shows the same asymmetrical
00
mechanism with another reference frame, Ox 00 y 00 z 00 , and with another actuation scheme.
Highlighted by dashed line contours in Figure 4, the new actuation scheme consists of
revolute joints f , g and one revolution axis of the universal joint j, indicated by jr .
Using the considerations represented in Figure 4 and the Davies method, the
matrix whose structure is shown in Equation (4) is generated:

a b cr cs d e h i js
 
× × × 0 0 0 0 0 0
0 0 0 × 0 × 0 0 0
 
 
0 0 0 0 0 0 0 0 0
 
0 0 0 × 0 0 0 0 0
 
 
0 × × 0 × 0 0 0 0
 
00 × × × 0 0
O
[ M̂NS ]12×9 =  × 0 0 0  (4)
 
0 0 0 0 0
 0 × × 0 
0 0 0 0 0
 × 0 0 × 
 
0 0 0 0 0 0 0 0 0
 
0 0 0 0 0
 0 0 0 × 
 
0 0 0 0 × 0 0 × 0
0 0 0 0 0 × × 0 0

Similarly to the previous example, only the nonzero pattern of the matrix is shown
00
in Equation (4). More details about the generation of the motion matrix [O M̂NS ]12×9
are presented in Chapter 3, as the matrix is part of a case study.
00
Comparing Equation (4) to Equation (3), it is noticeable that [O M̂NS ]12×9
0 0
contains more zero elements than [O M̂NS ]12×9 . While [O M̂NS ]12×9 is composed of 59
00
zero elements, 86 zero elements compose [O M̂NS ]12×9 . As it will be seen in Chapter
00
3, [O M̂NS ]12×9 can be permuted into block-triangular form.
0 00
The comparison between [O M̂NS ]12×9 and [O M̂NS ]12×9 exemplifies that, for
the same mechanism, just by changing the reference frame and selecting other
actuated joints, the sparsity of the differential kinematics matrix can be enhanced. So
the coordinate system Ox0000 y 00 z 00 , associated with the actuation of joints f and g and
one axis of joint j, is more suitable to be the reference frame used to solve the inverse
kinematics problem of the asymmetrical mechanism created by Refaat et al. (2006).
The example of this section is a simple asymmetric mechanism and defining
the reference frame do not seem so hard. Nonetheless, for more complex asymmetric
parallel mechanisms, defining the best reference frame is not so obvious. That is the
Chapter 1. Introduction 22

Figure 4 – Asymmetrical 3 DOF mechanism, with joints f , g and one axis of joint j
actuated, and the reference frame Ox0000 y 00 z 00 .

0 0
7
d h
4
e
5 i
0 6
O 00 jr
g
a f 8
1
b j
y 00
c x 00
2 3

z 00

reason why developing a method and an algorithm that define the reference frame that
gives a decomposable matrix with enhanced sparsity is useful.

1.4 ORIGINALITY OF THE THESIS’ SUBJECT

A search in the literature for similar works to the research proposed in this
document has been carried out. Li et al. (1991) developed an efficient computational
method of the Jacobian, by reducing the number of necessary numerical operations for
computing the Jacobian. The amount of numerical operations of the method proposed in
the paper is compared with the number of operations involved in other methods. Zomaya
et al. (1999) used a parallel-processing architecture to compute the Jacobian to reduce
computation time. The parallel algorithms are compared to their homologues developed
in a sequential approach. The method created by Goehler and Murray (2012) aims to
develop the Jacobian more efficiently than traditional techniques (such as the ones
based on the Denavit-Hartenberg parameters). Their method is based on generalized
kinematic equations and incorporates partial derivatives of matrices with Leibniz’s Law.
Much shorter run-times were achieved when generating the Jacobian through this
method. None of these papers presents an allusion neither to a Jacobian generation
aiming computational performance in the solution of the inverse kinematics problem,
nor the selection of a reference frame that could speed-up computations involved in the
same problem.
Some tips on where to position and how to define the orientation of the reference
frame to obtain a matrix with enhanced sparsity are found in the literature. They
Chapter 1. Introduction 23

are detailed in Section 2.6.1 of this work. Pozna and Precup (2017) proposed an
original translated frame-based approach to generate a Jacobian with simpler elements,
by reducing the number of nonzero parameters. However this approach presents a
drawback: the reference coordinate system is on the base, leading to a Jacobian with
lower sparsity. Since it is not based on screw theory, the Jacobian cannot refer to a
coordinate system that could simplify its elements even more. These concepts are
explained in Chapter 2 of this document. Some works use other approaches to deal
with real-time control, such as neural networks (ZUBIZARRETA et al., 2018) or dual
quaternions (PHAM et al., 2018).
In summary, no research focused on using sparsity or decomposability of
the Jacobian as criterion to define the reference frame was found. To the author’s
knowledge, an algorithm to establish the reference coordinate system that provides
enhanced sparsity and decomposability has not been developed yet. Therefore the
proposed thesis would be a novelty in the robotics field.

1.5 OVERVIEW

Chapter 2 contains a preliminary bibliographic review necessary to the develop-


ment of this thesis proposal.
Some case studies are presented in Chapter 3. The case studies focus on the
influence of the reference frame on the sparsity and decomposability of the Jacobian
of serial robots and the motion matrices of parallel manipulators. In the case studies
of parallel robots, the impact of the selection of the actuated joints is also evaluated. A
preliminary evaluation of computational efficiency is carried out in the case studies.
Chapter 4 details the thesis proposal, introducing the objectives, potential
contributions, activities and timeline and financial forecast.
Finally, Chapter 5 shows some final considerations about this work and the thesis
proposal.
The appendices include some extra information regarding the case studies:

• Appendix A presents the homogeneous transformation matrices of the Puma


robot;

• Appendix B presents the geometric Jacobian, based on the Denavit-Hartenberg


method, of the Puma robot;

• Appendix C details how to obtain a screw-based Jacobian using the frames


defined through the Denavit-Hartenberg convention;

• Appendix D presents the input data for the kinematics analysis via Davies method
of the Tripteron manipulator;
Chapter 1. Introduction 24

• Appendix E presents the input data for the kinematics analysis via Davies method
of a spatial asymmetrical 3 DOF mechanism;

• Appendix F lists all feasible actuation schemes of the spatial asymmetrical 3 DOF
mechanism.
25

2 PRELIMINARY BIBLIOGRAPHIC REVIEW

This chapter presents some theories and methods needed to explain the thesis
proposal. Section 2.1 defines sparse matrices. Section 2.2 brings the concept of
decomposability and some criteria to verify if a matrix can be permuted into block
triangular form. Section 2.3 presents the QR decomposition. Section 2.4 introduces
some concepts of matroid theory. Section 2.5 exposes some methods to carry out the
differential kinematics analysis of serial and parallel manipulators. Finally, Section 2.6
details how the sparsity of the matrices is influenced by the reference coordinate system
and the actuated joints (for parallel manipulators).

2.1 SPARSE MATRICES

There are several definitions of sparse matrices in the literature. They all
converge to the concept that a matrix is sparse if many of its coefficients are zero.
Tewarson (1973) classifies a square matrix of size n × n as sparse if it has order of
n nonzero elements, say two to ten nonzero elements in each row, for large n. Some
authors use the concept of limit to define sparse matrices: a matrix is sparse when the
amount of elements different from zero is proportional to n for n sufficiently large. Other
alternative to define sparse matrices uses a constant γ whose value changes according
to the problem field: for a matrix of order n to be sparse, the number of nonzeros must
be nγ+1 , where γ < 1. For example, for electrical problems γ = 0.2 is employed, while
for a band matrix associated with a grid is adopted a value of 0.5 (PISSANETZKY,
1984). A more practical definition of sparse matrices states that a matrix is sparse
when exploiting the percentage of zero elements and/or their distribution in the matrix
is advantageous (DUFF, 1977). One advantage of sparse matrices regards the data
structure used to store a sparse matrix. The data structure can exploit sparsity by not
storing numerically zero entries. The exploitation of the sparsity of matrices can lead to
computational savings, reducing solution time. This is due to the fact that, when using
sparse matrix algorithms, the zeros of a sparse matrix do not need to be stored and no
computation is performed with them (DUFF et al., 2017).
A matrix A ∈ Rm×n is dense if it is stored as a full array of m rows and n columns
with mn entries (DAVIS, 2006), i.e. none of its zeros is treated specially (DUFF et al.,
2017).
Sparse matrices appear in diverse science fields, such as linear programming,
structural analyses, network theory and power distribution systems, graph theory,
genetic theory, social and behavioural sciences and numerical solution of differential
equations (TEWARSON, 1973).
In quantative terms, the density of a matrix is defined as the percentage of
nonzero entries to the total number of elements of the matrix (DUFF, 1977). The
Chapter 2. Preliminary Bibliographic Review 26

complement of the density can also be used to evaluate the sparsity of matrix. The
sparsity of a matrix can be quantified with a score ι, which is the ratio between the
Nzero zero values of the matrix and the total number of elements of the matrix, Ntotal
(BROWNLEE, 2014):

Nzero
ι= (5)
Ntotal
We are interested only in the structure of the matrix in the definition of its score.
For example, consider the matrix D of Equation (6):
 
–3 4 0 6
 
0 0 –1 0
D=
1
 (6)
 0 0 2
0 7 3 3
Since the numerical values of the nonzero elements of D can be disregarded
in the sparsity evaluation, the nonzero entries of D are replaced by the symbol ×, as
shown in Equation (7):
 
× × 0 ×
 
0 0 × 0
D=
×
 (7)
 0 0 ×
0 × × ×
Among the 16 elements of A there are 7 zero elements and 9 nonzero entries,
as can be counted in Equation (7). Adopting the quantification of sparsity presented in
Equation (5), a score ι = 43.75% is obtained.
The representation of the structure of a matrix exemplified in Equation (7) is
adopted in the remaining of this work.

2.2 MATRIX DECOMPOSABILITY

Some advantages can be taken of the distribution of the zero elements in a


sparse matrix. This work focus on sparse matrices in block triangular form, where the
diagonal and nonzero off-diagonal are full (DUFF, 1977). Equation (8) shows a square
matrix A with size m × m in block triangular form:
 
A11 · · · A1m
 .. .. 
A=
 . . 
 (8)
Amm
Permuting the non-zero elements of a sparse matrix to gain triangular form is
largely used to handle linear systems. This permutation divides the initial problem
Chapter 2. Preliminary Bibliographic Review 27

into significantly smaller ones, allowing to solve a linear system by back-substitution


process (BOGIATZIS et al., 2019). The block triangular form reduces the work required
for some factorization, such as the LU and QR factorization, and provides a precise
characterization of structurally rank-deficient matrices (DAVIS, 2006). For example,
to solve a linear system with LU factorization, only the diagonal blocks need to be
factorized, followed by a block backsolve for the off-diagonal blocks.
A matrix that can be placed into block triangular form by simultaneous
row/column permutations is said to be reducible. Otherwise, the matrix is irreducible
(GRADSHTEYN; RYZHIK, 2014).
Some concepts of bipartite graphs are introduced here to help evaluate de
decomposability of a matrix. A bipartite graph G is a graph with vertex-set V = X ∪ Y
partitioned into two non-empty disjoint sets X and Y so that no edges of G join two
vertices in the same part of the partition, i.e. there is no edge connecting two vertices
of X , and similarly for Y (GORDON; MCNULTY, 2012). The notation used to describe
a bipartite graph is G = (X , Y , E ), where E is the set of edges of G.
The coefficient matrix of a linear system of equations can be represented by
a bipartite graph (MUROTA, 2009). The bipartite graph associated with a matrix A is
noted as G(A)= (R, C, E ). The set R is composed of vertices corresponding to the rows
of A, C is the set of vertices corresponding to the columns of A and E is the set of
edges corresponding to the nonzero entries of A. Figure 5 illustrates this association
taking the matrix D of Equation (7) as example.

Figure 5 – The matrix D of Equation (7) and its bipartite graph representation G(D).

c1 r1
c1 c2 c3 c4

× × ×

0 r1 c2 r2
0
D = 0 × 0  r2

× 0 0 ×

r3 c3 r3
0 × × × r4 c4 r4

In bipartite graphs, a matching M is a subset of edges where no two edges


share any vertex, i.e. the edges of M have no common endpoints. Each matching
uses the same number of vertices in X as it does in Y (GORDON; MCNULTY, 2012;
POTHEN; FAN, 1990). An example of a matching is shown in the bipartite graph G(D)
of Figure 6. The matching comprises the dot-slashed edges. The nonzero elements of
D represented by the matching are indicated by the symbol ⊗ in Figure 6.

Figure 6 – A matching representing a subset of nonzeros of matrix D.


Chapter 2. Preliminary Bibliographic Review 28

c1 r1
c1 c2 c3 c4

⊗ × ×

0 r1 c2 r2
0
D = 0 ⊗ 0  r2

× 0 0 ×

r3 c3 r3
0 × × ⊗ r4 c4 r4

It can be noted in Figure 6 that a matching corresponds to a subset of nonzeros,


no two of which belong to the same row or column (POTHEN; FAN, 1990).
The number of edges of a matching is the cardinality of the matching. A maximum
matching has maximum cardinality (POTHEN; FAN, 1990). The bipartite graph G(D)
in Figure 7 is used to exemplify this definition. The maximum matching comprises the
slashed edges and has cardinality equal to 4. The elements of D corresponding to the
maximum matching are highlighted in Figure 7.

Figure 7 – A maximum matching representing the nonzeros of D whose permutation


generates a diagonal with the maximum number of nonzeros on it.

c1 r1
c1 c2 c3 c4

× ⊗ ×

0 r1 c2 r2
0
D = 0 ⊗ 0  r2

⊗ 0 0 ×

r3 c3 r3
0 × × ⊗ r4 c4 r4

In the matrix, a maximum matching corresponds to a diagonal with the maximum


amount of nonzeros in it (POTHEN; FAN, 1990). This diagonal can be obtained through
the permutation of rows and columns of the matrix.
From the maximum matching, the concept of term-rank or structural rank arises.
The maximum amount of nonzeros of a matrix, no two in the same row or in the
same column, is called the term-rank or structural rank of this matrix (RECSKI, 2013).
Thus the term-rank of a matrix A is equal to the cardinality of a maximum matching in
G(A) (MUROTA, 2009). The term-rank of A is equal to the maximal rank, in the usual
numerical sense, of all the matrices with the same nonzero pattern of A (REINSCHKE,
1988). In other words, the term-rank is the largest rank that can be obtained by
reassigning the numerical values of the entries in its data structure (DAVIS, 2006).
Therefore the term-rank rt of A cannot be less than the rank r of A: rt (A) ≥ r (A).
The term-rank of matrix D of Equation (6) is rt (D) = 4, i.e. the cardinality of
the maximum matching presented in Figure 7. The rank of D is also r (D) = 4, i.e.
rt (D) = r (D).
Chapter 2. Preliminary Bibliographic Review 29

A change of the numerical value of matrix D of Equation (6), keeping the same
nonzero pattern presented in Equation (7), can reduce the rank, but not altering the
term-rank. For example, if the element d42 = 7 of matrix D shown in Equation (6) is
replaced by the numerical value "1", a new matrix D 0 is generated, where d42
0 = 1:

 
–3 4 0 6
 
0 0 –1 0
D0 = 
1

 0 0 2
0 1 3 3
The rank of matrix D 0 is r (D 0 ) = 3 and the term-rank remains rt (D 0 ) = 4, so
rt (D 0 ) > r (D 0 ).
In a bipartite graph G(X , Y , E ), a cover is a pair (U X , U Y ), where U X ⊆ X and
U Y ⊆ Y , such that there are no edges between X \ U X and Y \ U Y (MUROTA, 2009).
Figure 8 illustrates this definition.

Figure 8 – A cover of the bipartite graph representation of the structure matrix K .

c1 r1
c1 c2 c3 c4

× ×

0 0 r1 c2 r2
× 0 × 0 r2
K = 

0 0 0 ×

r3 c3 r3
0 × 0 0 r4 c4 r4

Consider the structure matrix K and its bipartite graph representation in Figure 8.
The set composed of the columns cj (where j = 1, ..., 4) of K is C = {c1 , c2 , c3 , c4 }
and the rows ri (where r = 1, ..., 4) of K form the set R = {r1 , r2 , r3 , r4 }. A possible
cover for G(K ) is the pair of subsets U C = {c2 , c4 } (where U C ⊆ C) and U R = {r2 }
(where U R ⊆ R). The elements of U C and U R are represented by the white vertices
of G(K ). In this case, the difference operation of sets results in C \ U C = {c1 , c3 } and
R \ U R = {r1 , r3 , r4 }.
The difference operation "removes" the vertices belonging to U C and U R from
G(K ). In Figure 8, this "removal" is represented by the dashed lines of G(K ) and the
remaining vertices are represented by the black vertices. Note that after removing the
vertices c2 , c4 and r2 of G(K ), there are no edges connecting the remaining vertices.
The theory of bipartite graphs detailed in this section supports the introduction
of some criteria to verify if a matrix can be decomposed into block triangular form.
A matrix A with size m × n, with m ≥ n, has the Hall property if every subset of k
columns has nonzeros in at least as many rows for all k in the range 1 to n. The matrix
A has a maximum matching in which all its columns are matched if and only if it has
Chapter 2. Preliminary Bibliographic Review 30

the Hall property. In other words, A has the Hall property if and only if it has full column
term-rank (POTHEN; FAN, 1990; DAVIS, 2006). As can be seen in Figure 7, matrix D
of Equation (6) is an example of matrix with the Hall property. The bipartite graph G(D)
in Figure 7 shows a maximum matching in which all the columns of D are matched.
A m × n matrix A has the Strong Hall property if every set of k columns has
nonzero entries in at least k + 1 rows for all k in the range 1 to n – 1 (DAVIS, 2006).
If A is square and has full term-rank but is not strong Hall, it can be permuted to
block triangular form, where each diagonal block is square with zero-free diagonal and
has the strong Hall property. The strong Hall property implies full term-rank. (DAVIS,
2006).
In spite of being a square matrix with full term-rank, matrix D of Equation (6)
cannot be permuted to block triangular form, since D is an example of strong Hall matrix.
Another decomposability condition supports this statement.
Murota (2009) gives another condition to evaluate the decomposability of
matrices. A matrix A is fully indecomposable if it does not contain a zero submatrix
A[I, J]= O (where I and J are subsets of rows and columns of A, respectively), with
I 6= ∅, J 6= ∅ and |I|+|J| = max(|R|, |C|). The symbol |•| indicates the number of elements
of a set. R is the set composed of the rows of A and C is the set comprising the columns
of A.
To illustrate this condition, consider matrix D of Equation (6). One method to gen-
erate a matrix with block triangular form is the Dulmage-Mendelsohn decomposition,
based on bipartite graphs (DULMAGE, Andrew L; MENDELSOHN, Nathan S, 1958;
DULMAGE, Andrew L, 1959; DULMAGE, A.; MENDELSOHN, N., 1967). The permuta-
tion of the columns and rows of D using this decomposition results in the matrix Ddm ,
where dm stands for "Dulmage-Mendelsohn decomposition":
 
–3 4 6 0
 
0 7 3 3
Ddm = 
1

 0 2 0
0 0 0 –1
Matrix Ddm is not in block triangular form because there is a nonzero element
below the main diagonal. This is due to the fact that matrix D of Equation (6) does not
contain a zero submatrix where the sum of the number of rows and columns gives 4.
Therefore, matrix D is irreducible.
Now consider the matrix L of Equation (9):
 
–3 4 0 6
 
0 0 –1 0
L=
0
 (9)
 0 0 2
0 7 3 3
Chapter 2. Preliminary Bibliographic Review 31

The matrix L contains a zero submatrix, highlighted in Equation (9), where


the sum of the number of rows and the number of columns gives 4, thus L can be
decomposed to a block triangular form and therefore it is reducible. Applying the
Dulmage-Mendelsohn decomposition in matrix L permutes its rows and columns to
create the matrix Ldm , which is in block triangular form:
 
–3 4 0 6
 
0 7 3 3
Ldm = 
0

 0 –1 0

0 0 0 2
In graph terms, A[I, J] = O is a cover (R \ I, C \ J) of the associated bipartite graph
G(A). A matrix A is fully indecomposable if and only if G(A) has no cover (U R , U C ) such
that U R 6= R and U C 6= C and |U R | + |U C | = min(|R|, |C|).
The decomposability condition presented by Murota (2009) in matrix terms is
considered in the case studies of Chapter 3.

2.3 QR DECOMPOSITION

The coefficient matrix of a linear system of equations in the form A~x = ~b can be
treated as a sparse matrix. There are some techniques to decompose the matrix A in
a product of matrices with specific characteristics. One of these techniques is the QR
decomposition.
Consider a m × n matrix A = [~a1 , ~a2 , · · · , ~an ], where {~aj , j = 1, ..., n} is a set of
m × 1 linearly independent vectors (m ≥ n). This means that r (A) = n. The primary aim
of the QR decomposition is to express vectors {~a1 , ~a2 , · · · , ~an } as a linear combination
of n orthonormal vectors ~qi , i = 1, ..., n} (SOMAN et al., 2012). The orthonormal set of
vectors {~q1 , · · · , ~qn } presents the following properties:
q
||~qi ||2 = (~qiT ~qi ) = 1 (each vector is of unit length)

~qiT ~qj = 0 (i 6= j)

The QR factorization is classified as reduced QR factorization and full QR


factorization (TREFETHEN; BAU III, 1997). The successive spaces spanned by the
columns ~a1 , ~a2 , ... of the matrix A are represented by:

h~a1 i ⊆ h~a1 , ~a2 i ⊆ h~a1 , ~a2 , ~a3 i ⊆ ...

The idea of the QR factorization is constructing a sequence of orthonornal


vectors ~q1 , ~q2 ,... that span these successive spaces. Assuming that A with size
m × n(m ≥ n) has full rank n, it is desired that the sequence ~q1 , ~q2 ,... has the property:
Chapter 2. Preliminary Bibliographic Review 32

h~q1 , ~q2 , ..., ~qj i = h~a1 , ~a2 , ..., ~aj i, j = 1, ..., n

This amounts to the condition (TREFETHEN; BAU III, 1997):

   
 
    r11 r12 · · · r1n
r22 · · · r2n 
    
   
 ~a ~a · · · ~an  =  ~q ~q · · · ~qn ..  (10)
 1 2   1 2 ..

  

 . . 

   
rnn

where the diagonal entries rkk are nonzero. Then ~a1 , ..., ~ak can be expressed as linear
combinations of ~q1 , ..., ~qk and the invertibility of the upper-left k ×k block of the triangular
martix implies that, conversely, ~q1 , ..., ~qk can be expressed as linear combinations of
~a1 , ..., ~ak .
The equations coming from Equation (10) have the form:

~a1 = r11~q1
~a2 = r12~q1 + r22~q2
~a3 = r13~q1 + r23~q2 + r33~q3 (11)
..
.
~an = r1n ~q1 + r2n ~q2 + · · · + rnn ~qn
In matrix form, Equation (11) becomes:

A = Q̂ R̂ (12)

where Q̂ is an m × n matrix composed of orthonormal columns and R̂ is an n × n


upper-triangular matrix. This factorization is the reduced QR factorization of A.
In the full QR factorization of the matrix A, m – n additional orthonormal columns
are added to Q̂ so that it becomes an m × m unitary matrix Q. In the process, rows of
zeros are added to R̂ , becoming an m × n upper-triangular matrix R .
Figures 9 and 10 illustrate the relationship between the full and reduced QR
factorization. In the full QR factorization, Q is square and has the size m × m and R
has size m × n. The last m – n columns of Q (enclosed by a dashed rectangle in Figure
9) are multiplied by the zero rows in R (enclosed by another dashed rectangle in Figure
9).
In the reduced QR factorization, there are no extra rows and columns, as shown
in Figure 10. Q̂ has size m × n and R̂ is square and has the size n × n. None of the
rows of R̂ are necessarily zero.
In this work, the full QR factorization is used to obtain a rotation matrix, which is
square.
Chapter 2. Preliminary Bibliographic Review 33

Figure 9 – Schematic of the full QR factorization.

Full QR factorization (m ≥ n)

A Q R

Figure 10 – Schematic of the reduced QR factorization.

Reduced QR factorization (m ≥ n)

A Q̂ R̂

2.4 MATROID THEORY

The matroid theory developed from linear algebra is employed in this work.
Whitney (1935) introduced the concept of matroid as a combinatorial generalization
of linear independence of vectors. Matroids are combinatorial structures that generalize
the notion of linear independence in matrices (CARBONI et al., 2017).
Consider matrix A in Equation (13):

1 2 3 4 5
 
1 0 0 1 0
A =
0 1 0 1 1
 (13)
0 0 1 0 1

The columns of A are indexed by E = Col(A) = {1, ..., 5}. The linear dependence
and linear independence among the columns vectors {~ae |e ∈ E} are evaluated. A
subset I of the set E (I ⊆ E) is independent if the column vectors belonging to I
(~ae |e ∈ I) are linearly independent. For example, consider the subset I = {~a1 , ~a2 , ~a3 }.
This subset is independent since the vectors ~a1 = [1, 0, 0]T , ~a2 = [0, 1, 0]T and ~a3 =
[0, 0, 1]T are linearly independent. In contrast, the set {~a1 , ~a2 , ~a4 } is not independent
Chapter 2. Preliminary Bibliographic Review 34

because column 4 can be generated by a linear combination of columns 1 and 2.


The family of independent subsets is denoted by I and is composed of all
possible combinations of column vectors of a matrix that are linearly independent.
For the matrix A of Equation (13), the family of independent subsets is presented in
Equation (14):

I = {∅, {1}, {2}, {3}, {4}, {5}, {1, 2}, {1, 3}, {1, 4}, {1, 5}, {2, 3}, {2, 4}, {2, 5}, {3, 4},
{3, 5}, {4, 5}, {1, 2, 3}, {1, 2, 5}, {1, 3, 4}, {1, 3, 5}, {1, 4, 5}, {2, 3, 4}, {2, 4, 5}, {3, 4, 5}}
(14)

Each one of the subsets of Equation (14) s a linearly independent subset I. The
family I presents three properties:

1. ∅ ∈ I ;

2. H ∈ I and I ⊆ H =⇒ I ∈ I ;

3. I, H ∈ I , |I| < |H| =⇒ (I ∪ ~v ) ∈ I for some ~v ∈ H \ I.

The first property states that a family of linear independent sets always contains
an empty set. The second property states that all subsets of a linearly independent set
are independent sets and belong to the family I . Take as an example the independent
set {1, 2, 3} ∈ I . Its subsets {1}, {2},{3}, {1, 2}, {1, 3} and {2, 3} are also independent sets.
The third property states that taking an element of a set resulting from the difference
between two sets and inserting this element in the set with lower cardinality (with less
elements) create another independent set. For example, consider the independent sets
H = {2, 3, 4} (|H| = 3) and I = {4, 5} (|I| = 2), shown in the family I of Equation (14).
The difference between H and I gives the set D composed of the second and third
columns of A, i.e. H \ I = D = {2, 3}. Making the union between an element of the set D
and the set I creates an independent set belonging to I , e.g. I ∪ {2} = {2, 4, 5} ∈ I and
I ∪ {3} = {3, 4, 5} ∈ I .
The second property implies that enumerating all the members of I is redundant.
Enumerating the maximal members, i.e. sets with maximal cardinality, of I is sufficient.
The family containing the maximal independent sets is denoted by B . For matrix A of
Equation (13), the family B is shown in Equation (15):

B = {{1, 2, 3}, {1, 2, 5}, {1, 3, 4}, {1, 3, 5}, {1, 4, 5}, {2, 3, 4}, {2, 4, 5}, {3, 4, 5}} (15)

The family B of Equation (15) represents the family of bases of the column
space of matrix A. Therefore a matrix gives rise to pairs (E, I ) and (E, B ), each one
Chapter 2. Preliminary Bibliographic Review 35

representing the linear independence of linear structure of column vectors. The pairs are
equivalent and define the same combinatorial structure underlying linear independence.
This structure is named matroid and E is the ground set of the matroid. For example, the
matroid defined on the column vectors of A of Equation (13) is denoted as M (A)= (E, I )
or M (A) = (E, B ). The column vectors of A are the ground set of the matroid.
For a generic matroid M defined on the ground set E(M ), there is a dual matroid
M ∗ defined on the same ground set E(M ). The set of bases of the dual matroid M ∗ ,
B ∗ (M ), is defined by Equation (16):

B ∗ (M ) = {E(M ) – B|∀B ∈ B (M )} (16)

The set of bases of the dual matroid M ∗ is the set of all complements of the
bases of the original matroid M (CARBONI, 2015). Consider the matroid M (A) = (E, B )
defined from matrix A of Equation (13). The ground set E consists of the vector
columns of A: E = {1, 2, 3, 4, 5}. The bases B (M (A)) are shown in Equation (15). The
corresponding dual matroid of M (A) is the pair M ∗ (A) = (E, B ∗ ). Equation (17) contains
the family of bases of the dual matroid M ∗ (A):

B ∗ = {{4, 5}, {3, 4}, {2, 5}, {2, 4}, {2, 3}, {1, 5}, {1, 3}, {1, 2}} (17)

The bases of the dual matroid M ∗ are called cobases of the original matroid M .
Thus in the example the sets shown in Equation (17) are the cobases of M (A). Note
that each basis of M ∗ in Equation (17) is obtained as E – B(A), where B(A) is a basis
of M (A).

2.5 DIFFERENTIAL KINEMATICS OF ROBOT MANIPULATORS

Robots kinematics analyzes the motion of the end-effector and how the joints’
motions should be carefully coordinated so that the end-effector executes a desired
movement. Differential kinematics gives the relationship between the velocities of the
robot manipulator’s elements and the end-effector’s velocity state. Usually the elements
considered are the manipulator’s joints.
Differential kinematics can be classified in two different types, depending on
what should be determined. The direct differential kinematics aims to define the velocity
state of the end-effector given the joint velocities. The inverse differential kinematics
has as input the prescribed speed of the end-effector to follow a planned path and gives
the joint velocities allowing the end-effector achieve said speed (CAMPOS et al., 2005).
The vector space spanned by the joint variables is called joint space, while
the vector space spanned by the end-effector location is called end-effector space
(TSAI, 1999). An extensive variety of methods and algorithms to transform the joints’
velocities in the joint space to the velocity state in the end-effector space, for serial and
Chapter 2. Preliminary Bibliographic Review 36

parallel manipulators, is found in the literature (CRAIG, 2005; FEATHERSTONE, 1983;


HOLLERBACH; SAHAR, 1984; HUNT, 1986, 1987; VALDIERO et al., 2001; CAMPOS
et al., 2005; CRISAN; NEGREAN, 2019).
One of the most known ways to do this transformation is using a matrix called
Jacobian, specially in the differential analysis of serial manipulators. In this section
two classical methods to obtain the Jacobian of serial manipulators are reviewed: the
method based on the Denavit-Hartenberg parameters (SICILIANO et al., 2010) and the
screw based method (HUNT, 1987).
The Davies method (DAVIES, 2006) is a tool for the differential kinematics of
parallel manipulators, since it is a well established method for mechanisms analysis
used by the Laboratory of Applied Robotics (LAR) of Federal University of Santa
Catarina - Universidade Federal de Santa Catarina (UFSC). The Davies method is
presented in this section.

2.5.1 Jacobian Matrix

Let xi = fi (g1 , g2 , g3 , ..., qn ) for i = 1, 2, 3, ..., m be a set of m equations, each a


function of n independent variables. The time derivatives of xi can be expressed as
function of ġi :

∂fi ∂f ∂f ∂f
ẋi = ġ1 + i ġ2 + i ġ3 + ... + i ġn (18)
∂g1 ∂g2 ∂g3 ∂gn
Rewriting Equation (18) in matrix form:
 
  ∂f1 ∂f1 ∂f1  
ẋ1 ∂g ∂g2 · · · ∂g ġ1
 ∂f 1 n
∂f2 ∂f2   
 ẋ2   2 · · · ∂g  ġ2 
 
 . =  ∂g1 ∂g2 n
 .   .. .. .. 
. (19)
 .   . . · · · .   .. 
  

ẋm ∂fm ∂fm ∂fm ġn


∂g ∂g2 · · · ∂g
1 n

Equation 19 can be represented in the condensed form:

~x˙ = J~g˙ (20)

where ~x˙ = [x1 , x2 , ..., xm ]T is an m-dimensional vector, ~g˙ = [g1 , g2 , ..., gn ]T is an n-


dimensional vector and J is the m × n matrix containing the partial derivatives.
The matrix J is a linear transformation matrix called Jacobian. It maps an n-
dimensional velocity vector ~g˙ into an m-dimensional velocity vector ~x˙ . The elements of
J represent the influence of the elements of ~g˙ on the vector function ~x˙ . The (i, j) element
of J describes the impact of a differential change in gj on the differential change in xi .
Usually the vector ~x˙ is a non-linear function of ~g˙ , leading to J = f (~g˙ ), meaning that the
Jacobian matrix is configuration dependent (TSAI, 1999).
Chapter 2. Preliminary Bibliographic Review 37

For robot manipulators, the Jacobian matrix is the coefficient matrix of a set of
equations relating the velocity state of the end-effector ~x˙ to the actuated joint velocities.
The joint velocities ~g˙ are represented by:
(
θ̇i for revolute joints
ġi = (21)
ḋi for prismatic joints
In general, the Jacobian matrix is an m × n matrix, where m quantifies the
degrees of freedom (DOF) of the end-effector space and n the number of actuated
joints variables. For example, for a 6 DOF spatial serial manipulator, the Jacobian
matrix is a 6 × 6 square matrix. On the other hand, a planar serial manipulator has
a two-dimensional working space. Therefore a vector ~x˙ containing three components,
representing two translation rates and one rotation rate, is sufficient to describe the
velocity state of the end-effector, giving a Jacobian with size 3 × 3.
The two techniques to obtain the Jacobian matrix of a serial manipulator in the
scope of this work result in the Geometric Jacobian and the Screw-based Jacobian.

2.5.1.1 Geometric Jacobian

The geometric Jacobian is obtained via a method based on the Denavit-


Hartenberg (DH) parameters (HARTENBERG; DENAVIT, 1955). In this method, a
coordinate system is designated for each link of the manipulator following the Denavit-
Hartenberg convention. By doing so, the relationship between consecutive coordinate
systems can be established through the four DH parameters. This relationship is
represented by an homogeneous transformation matrix Ai–1 i with size 4 × 4. The matrix
i–1
Ai expresses the coordinate transformation between frames i – 1 and i in a compact
form. The matrix Ai–1i contains the rotation matrix of frame i with respect to frame
i – 1 and the translation vector from the origin of frame i – 1 to the origin of frame i
(SICILIANO et al., 2010).
In a serial manipulator constituted by n + 1 links connected by n joints, each joint
couples two consecutive links. To carry out the direct kinematics of serial robots, firstly
the kinematic relationship between consecutive links is described and then the overall
description of manipulator kinematics is obtained in a recursive fashion. To this purpose,
a coordinate frame attached to each link is defined, from link 0 to link n. They can be
defined by the DH convention. So the coordinate transformation describing the position
and orientation of frame n with respect to frame 0 is given by the product of Equation
(22):

A0n (~g ) = A01 (g1 )A12 (g2 ) . . . An–1


n (gn ) (22)

Equation (22) and the recursive process to obtain the description of the kinematic
relationship between frames 0 and n are illustrated in Figure 11.
Chapter 2. Preliminary Bibliographic Review 38

Figure 11 – Coordinate transformation in a serial manipulator.

xi–1
Ai–1
i (gi )
xi
x1 Oi–1
yi–1 zi–1 zi
z1 Oi
O1
yi
z0 y1

xn
On
O0 y0
x0 yn
zn
A0n (~g )

In this section, the main steps to build the geometric Jacobian are briefly
described. More information about the the homogeneous transformation matrix
obtained via DH convention and how the geometric Jacobian is obtained can be found
in (SPONG; VIDYASAGAR, 2008) and (SICILIANO et al., 2010).

Figure 12 – Links parameters of a serial manipulator with n joints.

z1 θi zi–1 (Joint i)
Oi–1
z0 θ2
~ri–1,n

θ1 ~pi–1 θn

~p1 On zn–1
~pn
y0 zn
O
Base End-effector
x0

The serial manipulator’s parameters needed to generate the geometric Jacobian


are illustrated in Figure 12. The origin On of the end-effector frame is chosen as a
reference point to describe the velocity state of the end-effector. From that choice, the
end-effector velocity state, composed of its linear velocity ~vn and its angular velocity ω
~ n,
Chapter 2. Preliminary Bibliographic Review 39

is expressed as the sum of the contributions of each joint to the end-effector movement:

n h
X i

~vn = θ̇i ~zi–1 × ~ri–1,n + ~zi–1 ḋi (23)
i=1
n
X
~n =
ω θ̇i ~zi–1 (24)
i=1
where θ̇i is the rate of rotation about the ith joint axis; ḋi is the rate of translation along
the ith joint axis; ~zi–1 is a unit vector along the ith joint axis; vector ~ri–1,n denotes the
position of the origin of the end-effector frame On with respect to the frame with origin
Oi–1 .
The matrix form of Equations (23) and (24) is expressed as:
" #
~
v n
~x˙ = = J~g˙ (25)
~n
ω
The left-hand side of Equation (25) is a 6 × 1 vector composed of the elements
of ~vn and ω~ n . The right-hand side is the product of the Jacobian matrix and the
vector containing the joint velocities. The columns of the Jacobian matrix are computed
through the following expressions:
" #
~zi–1 × ~ri–1,n
Ji = for a revolute joint, (26)
~zi–1
" #
~zi–1
Ji = for a prismatic joint (27)
~0

The Jacobian is defined simply by arranging the columns side by side:

J = [J1 , J2 , ..., Jn ]
The ith column of the Jacobian, Ji , computes the impact of the velocity of the ith
joint on the velocity state of the end-effector.
The expressions of Equations (26) and (27) allow to compute the Jacobian using
the direct kinematics relations of the homogeneous transformation matrices obtained
through DH convention. Vectors ~zi–1 and ~ri–1,n are function of the joint variables.
Vector ~zi–1 is given by the third column of the rotation matrix R0i–1 , obtained by:

~zi–1 = R0i–1~z0 = R01 R12 ...Ri–2 ~


i–1 z0 (28)
where ~z0 = [0, 0, 1]T .
The rotation matrix Ri–1
i has size 3 × 3 and is submatrix of the homogeneous
transformation matrix Ai–1
i . It is composed of the first three rows and the first three
i–1
columns of Ai .
Chapter 2. Preliminary Bibliographic Review 40

As shown in Figure 12, vector ~ri–1,n correspond to the difference ~pn – ~pi–1 .
~pn is given by the first three elements of the fourth column of the homogeneous
transformation matrix A0n . Defining the vector ~p
e as an expansion of ~p with a fourth
n n
element corresponding to 1, ~pn is calculated by the following product:
e

e = A0~p
~p 0 1 n–1 p
n 0 = A1 A2 ...An ~ (29)
e e
n 0

where ~pe = [0, 0, 0, 1]T .


0
Analogously, vector ~pi–1 is given by the first three elements of the fourth column
of the transformation matrix A0i–1 . Defining the vector ~pe
i–1 as an expansion of ~
pi–1 with
a fourth element corresponding to 1, ~p e
i–1 is calculated by the following product:

~p 0 pe = A0 A1 ...Ai–1~p
i–1 = Ai–1~ (30)
e e
0 1 2 i–2 0

It must be highlighted that the Jacobian matrix depends on the frame in which
the end-effector velocity state is expressed. The geometric Jacobian is expressed in
the fixed coordinate frame Ox0 y0 z0 , thus the end-effector velocity ~x˙ is expressed in
respect to the base. This restriction of the end-effector’s velocity representation in the
base’s coordinate system can lead to the generation of a matrix with poor sparsity
and composed of extremely complex elements. The inversion of a Jacobian with these
characteristics can be hard, making the inverse differential kinematics difficult. An option
to avoid these problems is generating the Jacobian through the screw based method
(HUNT, 1978).

2.5.1.2 Screw-based Jacobian

A screw is a geometrical element which can represent mechanical quantities.


One mechanical quantity that can be represented by screws is rigid body instantaneous
movements (BALL, 1998). Displacements of a rigid body can be expressed as a rotation
about a unique axis and a translation along the same axis. This associated motion is
called a screw displacement or twist and the unique axis is the screw axis of the
displacement. The ratio of translation to rotation is the pitch h.
A normalised screw $̂ is defined by a pair of vectors:
" #
~s
$̂ = (31)
~s0 × ~s + h~s
where ~s is a unit vector defining the direction of the screw axis and ~s0 is the position
vector of any point on the screw axis (HUNT, 1978).
The motion between to adjacent links can be represented by a twist. The twist
represent the motion of the link i in respect to the link i – 1.
Chapter 2. Preliminary Bibliographic Review 41

Twists representing a motion of pure rotation have h = 0 and Equation (31)


becomes:
" #
~s
$̂ = (32)
~s0 × ~s
Twists representing a pure translation motion have h → ∞ and the normalised
screw reduces to:
" #
~0
$̂ = (33)
~s
The twist of Equation (32) represents the motion allowed by a revolute joint and
the twist of Equation (33) represents the motion allowed by a prismatic joint.
The displacement is completely determined after specifying the magnitude ġ of
the screw axis. The twist $ can be written as:

$ = ġ $̂ (34)

For a revolute joint, ġ = θ̇ and for a prismatic joint, ġ = ḋ.


The first three components of the twist represent the angular speed, and the last
three components stand for the linear velocity of a point that is embedded in the moving
body and instantaneously coincident with the origin of the fixed reference frame.
For serial manipulators, the motion of the end-effector is represented by the twist
$n and is defined by linearly adding the twists quantifying the instantaneous movements
$i of its links (TSAI, 1999):

n
X
$n = $̂i ġi (35)
i=1
To obtain the Jacobian via screw theory, it is assumed that the end-effector
velocity state is relative to a point instantaneously coincident with the origin of the fixed
frame (ROCHA et al., 2011). Consider ~v0 the velocity of a point in the end-effector that
instantaneously coincides with the origin of the fixed reference frame. Equation (35)
can be used to determine the end-effector velocity vector:

n
"
#
~n
ω X
$n = = $̂i ġi (36)
~v0
i=1

Putting Equation (36) in a matrix form by isolating vector ~g˙ , it can be verified that
its arrangement is similar to Equation (20), where:

n
" #
~
ω n
~x˙ = $n = $̂i ġi = J~g˙
X
= (37)
~v0
i=1
Chapter 2. Preliminary Bibliographic Review 42

Thus, the Jacobian matrix J is an assemblage of the normalised screws


associated with the manipulator’s joints. Each column of J is a normalised screw $̂i
corresponding to the ith joint:
h i
J = $̂1 $̂2 $̂3 · · · $̂n (38)

The choice of the coordinate system to be used as reference to represent


the screws is very flexible. The joints’ normalised screws can be represented in any
coordinate system (TSAI, 1999). This feature allows to choose the coordinate system
that enhances the Jacobian sparsity and simplifies its elements, easing the its inversion
and consequently the inverse kinematics calculation.
To conclude, there is a way to migrate from one coordinate system to another,
through one matrix multiplication. The matrix used in this process is the screw
transformation matrix (HUNT, 1987).
The screw transformation matrix Ti→j has size 6 × 6 and transforms a screw (or
a Jacobian matrix (MARTINS; GUENTHER, 2003)) given in a coordinate system i into a
different coordinate system j. Ti→j has the following form (SUGIMOTO; MATSUMOTO,
1984):
" #
[Ri→j ]3×3 [0]3×3
Ti→j = (39)
[S]3×3 [Ri→j ]3×3 [Ri→j ]3×3
where Ri→j is the 3 × 3 rotation matrix from coordinate system i to coordinate system
j and S is a 3 × 3 skew-symmetric matrix containing the coordinates (x0 , y0 , z0 ) of the
origin of the frame j measured in the frame i:
 
0 –z0 y0
S =  z0 0 –x0  (40)
 

–y0 x0 0
Since Ri→j is orthogonal and S is skew-symmetric, the inverse transformation
j → i can be easily obtained via some matrix manipulation (HUNT, 1978):
" #
[Ri→j ]T
3×3 [0]3×3
Tj→i = (41)
[Ri→j ]T T T
3×3 [S]3×3 [Ri→j ]3×3

2.5.2 Davies’ method

Obtaining the Jacobian matrix of parallel manipulators is much more difficult


when compared to serial manipulators due to the presence of many links that form
closed loops. One common procedure to construct the Jacobian of parallel manipulators
employs velocity-vector loop equations (TSAI, 1999), (DANIALI et al., 1995), (SLUTSKI
et al., 1999),(YANG et al., 2001). Other methods use reciprocal screws to do the
Chapter 2. Preliminary Bibliographic Review 43

differential kinematics of parallel manipulators (VALDIERO et al., 2001), (JOSHI; TSAI,


2002), (ZHAO et al., 2009).
In this work, the chosen method to carry out the differential kinematic analysis
of parallel manipulators is the Davies method. This method presents some advantages
over other methods, such as using an analytical approach. Besides, it enhances the
perception of the geometrical aspects of the problem (BONILLA, 2004).
The Davies method has been used in the LAR research to solve many issues
in the robotics and mechanisms field. Among the works developed by the LAR’s team
using the Davies method are the enumeration of self aligning mechanisms (CARBONI
et al., 2018); obtaining the force capability of parallel manipulators (MEJIA et al., 2016);
the determination of efficiency of planetary gear trains and parallel manipulators (LAUS
et al., 2012); and so on.
Davies (1981) presented an equivalent for the Kirchhoff Voltage Law for a
network of links (bodies) and couplings, based on graph and screw theories. In this
adaptation, a multibody system is represented by a graph, whose edge variables model
the motions allowed by the couplings. This section briefly reviews the Davies method,
a more detailed explanation can be found in (DAVIES, 2006). The notation introduced
by Davies (2006) is used when his method is employed in this work.

Concepts of graph theory used in the Davies method

Any mechanism can be represented by a graph, whose nodes stand for the links
and whose edges stand for the couplings. The resulting graph is called coupling graph.
When the edges are oriented from one node to another, the graph is called a directed
graph or a di-graph.
A spanning tree is a subgraph containing a subset of edges connecting all the
nodes of the graph. The edges of the spanning tree are called branches and the
remaining edges of the graph are called chords. A fundamental circuit is closed when
a chord is added to the spanning tree. There is a single fundamental circuit for each
chord, i.e., the number ν of fundamental circuits is equal to the number of chords. The
number of fundamental circuits is defined by ν = e – n + 1, where n is the number of
links/nodes and e is the number of couplings/edges.
The chords generating the fundamental circuit defines the orientation of the
circuit. The fundamental circuits of a di-graph are mathematically represented by the
fundamental circuit matrix [B]ν×e , whose elements bi,j are defined by the following
rule:

• bi,j = 1 if ej belongs to the fundamental circuit νi and it follows the orientation


defined by the closing chord;
Chapter 2. Preliminary Bibliographic Review 44

• bi,j = –1 if ej belongs to the fundamental circuit νi and its orientation is opposed


to the one defined by the closing chord;

• bi,j = 0 if ej does not belong to the fundamental circuit νi .

The expansion in series of the graph’s edges according to the degrees of


freedom of the couplings they represent generates the motion graph. The fundamental
circuit matrix can also be constructed from the motion graph, resulting in a matrix
[BM ]ν×F . F is the gross degree of freedom of the mechanism represented by the
motion graph and it is the sum of all the independent unitary motions allowed by each
coupling fi :

e
X
F = fi (42)
i=1
The association of these concepts with screw theory to carry out the kinematic
analysis of a mechanism is presented hereafter.

Screw theory applied to kinematic analysis of mechanisms and robots

Section 2.5.1.2 presented the definition of screw and how it represents the
motions allowed by joints. The concept of screw system is now introduced.
For kinematics, a screw system is composed of all screw axes of motions allowed
by the couplings of the mechanism. All possible motions are described by this system
(WALDRON, Kenneth J; HUNT, 1991). The screw system corresponds to the space
where the coupling is represented. For kinematics, the order of the screw system λ
is the smallest dimension able to represent the set of motions of the couplings. For
example, in a planar space, λ = 3, since the set of motions are described with two
translations and one rotation.
In kinematic analysis, the instantaneous state of motion of a rigid body, in respect
to an inertial system with coordinates Oxyz , is described by a screw called twist $. As
seen in Section 2.5.1.2, the twist is composed of an angular velocity vector ω ~ = {r , s, t}
and a linear velocity vector v~0 ={u, v , w}. The twist is organized in axis formation:
     
r
~s
     

 s
 
  ~
ω 





 t
    
$= = ~ 
 = ω] (43)
     

 u     
     
 v   ~s × ω  ~s × ~s + h~s
  0 ~ + hω
~  
   0 
w
Recalling Section 2.5.1.2, a pure angular velocity has h = 0 and a pure linear
velocity has h → ∞.
Chapter 2. Preliminary Bibliographic Review 45


The angular velocity magnitude ω ~ = r 2 + s2 + t 2 gives the magnitude ϕ of
the twist when h does not tend to infinity. Otherwise, ϕ is given by the linear velocity

magnitude ϕ = u 2 + v 2 + w 2 when h → ∞. ϕ is used to normalise the twist: $ = ϕ$̂.
h By disposing iside by the twists, the motion matrix is generated: [MD ]λ×F
= $a $b · · · $F . If the twists are normalised, the unit motion matrix [M̂D ]λ×F
h i
is created: [M̂D ]λ×F = $̂a $̂b · · · $̂F . The magnitude of the twists are contained
n oT
~
in the vector {ψ}F ×1 = ϕa ϕb · · · ϕF .
Relations among the motions allowed by the couplings belonging to the same
circuit are established using an analogy with the Kirchhoff’s Voltage Law. The Kirchhoff’s
Voltage Law states that the algebraic sum of the electrical potential differences around
any closed network is zero. Analogously, the algebraic sum of the twists around any
circuit is zero. This statement can be mathematically translated by:

~
[MD ]λ×F = [M̂D ]λ×F {ψ} ~
F ×1 = {0}λ×1 (44)

Each one of the λ components of the twists belonging to a circuit must have
its sum equals to zero. This is mathematically translated by doing ν times the product
between [M̂D ]λ×F and a diagonal matrix composed of the elements of each row of
[BM ]ν×F . That operation gives the network unit motion matrix [M̂N ]λν×F . Translating
this procedure to matrix operations:

[BMi ]1×F = [bMi,1 bMi,2 · · · bMi,F ]1×F

 
bMi,1 0 ··· 0
0 bMi,2 · · · 0
 
  
diag [BMi ]1×F =  ..


 . 

0 0 · · · bMi,F
F ×F
  
[M̂D ]λ×F · diag [BM1 ]1×F

 [M̂D ]λ×F · diag [BM2 ]1×F
 

[M̂N ]λ.ν×F =  ..  (45)
.
 
 

[M̂D ]λ×F · diag [BMν ]1×F λ.ν×F
This matrix is the coefficient matrix of an homogeneous linear system, whose
set of unknowns are the elements of {ψ} ~
F ×1 . This statement can be mathematically
written as:

~
[M̂N ]λ.ν×F {ψ} ~
F ×1 = {0}λ.ν×1 (46)

The F unknown variables related by the λ.ν equations are written as function of a
subset of FN known variables, called primary variables. FN is the net degree of freedom
Chapter 2. Preliminary Bibliographic Review 46

or the mobility of a parallel manipulator. It defines the number of actuators needed to


control the whole parallel manipulator, when no redundant actuation is considered. FN
is determined by:

FN = F – m (47)

where m is the rank of the matrix [M̂N ]λ.ν×F .


The remaining m unknown variables are designated as secondary variables.
The value of FN establishes the number of variables that must be imposed in order to
solve the homogeneous linear system of Eq, (46), giving the solution of the kinematic
analysis.
The terms of Eq. (46) can be rearranged as:
( )
h i ~ }
{ψ S m×1
[M̂NS ]m×m [M̂NP ]m×FN = {~0m×1 }
~
{ψ }
P FN ×1

~ }
[M̂NS ]m×m {ψ ~ ~
S m×1 + [M̂NP ]m×FN {ψP }FN ×1 = {0m×1 }

~ }
[M̂NS ]m×m {ψ ~
S m×1 = –[M̂NP ]m×FN {ψP }FN ×1 (48)

where the subscripts P and S refers to the primary and secondary variables,
respectively.
The division of [M̂N ]λ.ν×F presented in Equation (48) is analogous to the system
~x˙ = J~g˙ used in the differential kinematics of serial robots. The square matrix [M̂NS ]m×m
is analogous to the Jacobian J, the vector {ψ ~ }
S m×1 is the analogue of the vector ~g˙ and
the vector resulting from the product –[M̂NP ]m×FN {ψ ~ }
P FN ×1 is the analogue of vector
˙~x . The vector coming from –[M̂ ] ~
NP m×FN {ψP }FN ×1 can be considered the sum of the
effects of all the actuators on the parallel manipulator (MARTINS, 2004).
Finally the values of the secondary variables are calculated through:

~ }
{ψ –1 ~
S m×1 = –[M̂NS ]m×m [M̂NP ]m×FN {ψP }FN ×1 (49)

As expressed in Equation (49), the Davies method defines the velocity’s


magnitude of some joints as function of the velocity’s magnitude of other joints. Thus
this process is called differential kinematics in the joint space.
The Davies method allows the selection of the coordinate system that enhances
the sparsity of the motion matrices, since it is based on screw theory and screws
can be represented in any coordinate system (TSAI, 1999),(BONILLA, 2004). Another
advantage of the Davies method is allowing the analysis of the motions magnitudes in
terms of linear independence. This feature enables to easily enumerate all the possible
valid ways of actuating a parallel mechanism.
Chapter 2. Preliminary Bibliographic Review 47

2.5.3 Actuation of parallel manipulators and matroid theory

A parallel manipulator with FN degrees of freedom can be actuated in many


distinct ways, but the FN actuated joints cannot be randomly selected. Considering that
there is no redundant actuation and that all links are controlled, the selection of the
actuated joints should ensure that when the FN actuated joints are blocked, the left
mobility FN0 of the mechanism is zero. Therefore a set of actuated joints is valid if and
only if FN0 = 0 (CARBONI, 2015; CARBONI et al., 2020).
Carboni et al. (2020) developed a method to enumerate all valid actuation sets
for a given parallel mechanism. Recall the homogeneous linear system introduced in
Section 2.5.2:

~
[M̂N ]λ.ν×F {ψ} ~
F ×1 = {0}λ.ν×1 (50)

The solution of the homogeneous linear system of Equation (50) gives the
unknown motion magnitudes as function of a set of FN primary variables. This set
of primary variables are determined by the actuators and therefore corresponds to the
set of actuated joints of a mechanism.
Supposing that the actuated joints are passive couplings whose freedoms
are locked, a new homogeneous linear system is generated, where the columns of
[M̂N ]λ.ν×F corresponding to the actuated joints are removed:

~ 0}
[M̂NS ]λ.ν×(F –FN ) {ψ ~
(F –FN )×1 = {0}λ.ν×1 (51)

where the subscript NS indicates that the matrix consists of columns corresponding to
the secondary variables.
If the chosen actuated set is feasible, the new linear system of Equation (51) is
completely determined and no freedom is left in the mechanism (FN0 = 0). This means
that the matrix [M̂NS ]λ.ν×(F –FN ) has full rank, i.e. rank([M̂NS ]λ.ν×(F –FN ) ) = F – FN .
Moreover, since no mobility is left, the linear system of Equation (51) has only the
trivial solution, i.e. {ψ~ 0} ~
(F –FN )×1 = {0}(F –FN )×1 . Therefore the columns vectors of
[M̂NS ]λ.ν×(F –FN ) are linearly independent.
Any set of actuated joints is valid if the removal of its corresponding columns
gives a [M̂NS ]λ.ν×(F –FN ) with full rank. The valid actuation sets can be enumerated
by searching all combinations of F – FN columns of [M̂N ]λ.ν×F which are linearly
independent. The complementary set of columns of each combination represents a
feasible actuation set. Therefore the selection of feasible actuation sets can be regarded
as a problem of evaluating linear dependence and independence using matroid theory.
Given a mechanism and its associated network unit motion matrix [M̂N ], a linear
matroid M ([M̂N ]) is defined, where the ground set E([M̂N ]) is composed of the column
vectors of [M̂N ]. E denotes the index set of the columns of [M̂N ]. A basis B of the
Chapter 2. Preliminary Bibliographic Review 48

matroid M ([M̂N ]) corresponds to a maximal linearly independent set of cardinality


|B| = rank([M̂N ]) = F – FN . The complementary set of B with respect to the ground
set E is a set of dependent columns. The complementary set is composed of the
primary variables and is a cobasis of the matroid M ([M̂N ]) or a basis of the dual matroid
M ∗ ([M̂N ]). So a cobasis of M ([M̂N ]) is a valid actuation set for the mechanism.
Therefore finding all the valid ways to actuate a parallel manipulator is equivalent
to enumerate all the bases of the dual matroid M ∗ ([M̂N ]). An example of this statement
is detailed in Section 2.6.2.

2.6 SPARSITY OF THE DIFFERENTIAL KINEMATICS MATRICES

Inversion of the differential kinematics matrices is a crucial step in the solution of


the inverse kinematics problem. In real time control, the inverse of these matrices must
be constantly updated. This process demands a considerable computational effort.
Depending on the reference frame these matrices refer to, a better sparsity can be
obtained and its elements can have a simpler form. A sparser matrix with less complex
elements is easier to invert (HUNT, 1987).
For parallel manipulators, the choice of the actuated joints also impacts the
sparsity of the matrix to be inverted, when the Davies method is considered. Thus
aiming better computational efficiency can be a criterion to select actuation sets.

2.6.1 Reference coordinate system

An appropriate transformation of coordinates leads to greatly enhanced com-


putational efficiency. It also makes analytical inversion feasible (WALDRON, K. et al.,
1985).
The chosen frame also influences the singularity analysis of manipulators, by
imposing the number of constraints required to map singular configurations (WALDRON,
K. et al., 1985) (WANG; WALDRON, Kenneth J, 1987).
The algorithm based on DH parameters has the advantage of simplicity and
being easy to apply to most of serial manipulators. However, the resulting Jacobian is
relative dense and its elements can be very complex. This is due to the fact that the
Jacobian matrix is determined in relation to the base frame (MARTINS, 2004).
The coordinates of the joint screws can be described in any reference frame. This
gives more freedom to select the coordinate system the screw-based Jacobian refers
to (HUNT, 1987). The relative motion between two consecutive bodies is determined by
the joint connecting them, and the twist axes coincide with the joint axes. Each link of a
serial manipulator is binary, meaning that the link is coupled to one link by a joint and to
another link by another joint as well. When the coordinate system is attached to a link in
a serial manipulator, the two screw axes corresponding to the joints are fixed in respect
Chapter 2. Preliminary Bibliographic Review 49

to the coordinate system. The remaining screw axes change their relative position to
the coordinate system when there is a change in the joint angles (MARTINS, 2004).
This concept is illustrated by Figure 13, which contains a sequence of links of a serial
manipulator. With the coordinate system Oxyz attached to link i, the twists associated
to joints i and i + 1 became fixed in relation to Oxyz . Other links present relative motion
to link i, thus the twists related to the remaining joints depend upon the joint variables
g connecting these links to link i.

Figure 13 – Sequence of links in a serial manipulator, with Oxyz attached to the link i.

joint i + 1
i –1 $̂i+1
x
O
z
joint i i
$̂i i +1
joint i + 2
joint i – 1
$̂i+2 (gi+1 )
$̂i–1 (gi )
i +2
i –2
joint i + 3
joint i – 2
$̂i+2 (gi+1 , gi+2 )
$̂i–2 (gi , gi–1 )

Figure 13 indicates that, depending on the reference frame, the screws


composing the Jacobian are as function of some joint variables and not of other
ones (WANG; WALDRON, Kenneth J, 1987). To exemplify the dependence of the
screw-based Jacobian upon some joint variables, suppose a serial manipulator with six
degrees of freedom, composed of only revolute joints. Its Jacobian is a square matrix
composed of six normalised screws:
h i
J = $̂1 $̂2 $̂3 $̂4 $̂5 $̂6

And its singular condition is:

|J| = 0

Setting the reference frame at the base frame (frame 0), the joint screws are
expressed as:
Chapter 2. Preliminary Bibliographic Review 50

$̂01 = $̂01
$̂02 = $̂02 (θ1 )
$̂03 = $̂03 (θ1 , θ2 )
$̂04 = $̂04 (θ1 , θ2 , θ3 )
$̂05 = $̂05 (θ1 , θ2 , θ3 , θ4 )
$̂06 = $̂06 (θ1 , θ2 , θ3 , θ4 , θ5 )

where $̂02 (θ1 ) means that the normalised twist representing the motion allowed by joint
2 is a function of θ1 , the joint variable of joint 1.
By setting the reference frame at the end-effector frame (frame 6), it gives:

$̂61 = $̂61 (θ2 , θ3 , θ4 , θ5 , θ6 )


$̂62 = $̂62 (θ3 , θ4 , θ5 , θ6 )
$̂63 = $̂63 (θ4 , θ5 , θ6 )
$̂64 = $̂64 (θ5 , θ6 )
$̂65 = $̂65 (θ6 )
$̂66 = $̂66

In either frame, the Jacobian matrix is dependent upon five joint variables.
Consequently its determinant |J| is also a function of five variables. Thus four constraints
are necessary to specify a singular configuration (WANG; WALDRON, Kenneth J,
1987).
Setting the reference frame at an intermediate frame, e.g. frame 3, leads to a
different result:

$̂31 = $̂31 (θ2 , θ3 )


$̂32 = $̂32 (θ3 )
$̂33 = $̂33
$̂34 = $̂34
$̂35 = $̂35 (θ4 )
$̂36 = $̂36 (θ4 , θ5 )
Chapter 2. Preliminary Bibliographic Review 51

In this case, the Jacobian matrix depends upon four variables and its determinant
is function of these four variables too. This means that three constraints are required to
specify a singular configuration.
Therefore, the screw-based Jacobian can be simplified if a reference frame is
defined at a location instantaneously coincident with one of the intermediate links. It
is also advantageous to locate the origin of the instantaneous reference frame at a
point of concurrence if the manipulator’s geometry presents concurrent joint axes. If
the manipulator’s geometry presents parallel joint axes, a good result is obtained by
aligning the coordinate axes of the instantaneous reference frame with the parallel axes
and their common perpendiculars (WALDRON, K. et al., 1985).
One feature that must be highlighted is that once the determinant of the
screw-based Jacobian is determined in one coordinate system, its value is the same
independently of the coordinate system. The determinant depends solely upon the
relative configuration of the actuator axes (HUNT, 1987).
The statements of these section are also valid for the differential kinematics
analysis of parallel manipulators via Davies’ method. The Davies method is based on
screw theory, therefore its matrices can be freely referred to a coordinate system that
enhances its sparsity and simplifies its elements (BONILLA, 2004).

2.6.2 Actuation schemes of parallel robots

When using Davies’ method, the actuation of a given parallel manipulator


also determines the sparsity of the matrix [M̂NS ]λν×(F –FN ) . As seen in Equation (49),
[M̂NS ]λν×(F –FN ) need to be inverted to solve the differential kinematics. A criterion to
select an actuation set could be enhancing sparsity of [M̂NS ]λν×(F –FN ) . The motion
analysis of the spatial four bar mechanism shown in Figure 14 exemplifies this criterion.
This example was taken from (CARBONI, 2015).
The four bar mechanism of Figure 14 has four joints. Joint a is a planar joint
which allows two linear motions along x and y axes and a revolution around z axis.
Joint b is a revolute joint, joint c is a cylindrical joint along z axis and joint d is an
universal joint along y and z axes. Then the gross degree of freedom is F = 8.
The four bar mechanism has FN = 3 degrees of freedom, meaning that three
joints should be actuated to control the whole mechanism. There are different ways to
actuate this mechanism. All valid ways to actuate the four bar mechanism of Figure 14
can be found through matroid theory.
Applying the Davies method, the network unit motion matrix shown in Equation
Chapter 2. Preliminary Bibliographic Review 52

Figure 14 – Spatial four bar mechanism.

b c

3
a
d

z 0 x

(52) is obtained.

at au av bt ct cw ds dt
 
0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0
 
 
[M̂N ]6×8 =  1 0 0 1 1 0 0 1 (52)


0 1 0 1 1 0 0 0
 
 
0 0 1 0 –1 0 0 –1
0 0 0 0 0 1 1 0

A linear matroid M ([M̂N ]) is defined over the matrix in Equation (52). The ground
set of M ([M̂N ]) is composed of the columns of [M̂N ]: E = {at , au , av , bt , ct , cw , ds , dt }.
The dual matroid M ∗ ([M̂N ]) has 16 bases. Thus there are 16 feasible distinct
actuation sets for the four bar mechanism. These actuation sets are shown in Equation
(53).

B ∗ ([M̂N ]) = {{bt , ct , dt }, {at , bt , dt }, {at , ct , dt }, {at , bt , ct },


{at , au , bt }, {at , au , ct }, {au , bt , dt }, {au , ct , dt },
{au , av , bt }, {au , av , ct }, {au , av , dt }, {at , au , av },
{at , av , ct }, {at , av , dt }, {av , bt , dt }, {av , bt , ct }} (53)

The actuation set defines which columns are removed from [M̂N ], defining the
sparsity of the resulting [M̂NS ]λν×(F –FN ) . For example, if the actuation set {at , au , av } is
Chapter 2. Preliminary Bibliographic Review 53

selected, it results in the matrix of Equation (54).

bt ct cw ds dt
 
0 0 0 0 0
0 0 0 1 0
 
 
[M̂NS ]6×5 =  1 1 0 0 1 (54)


1 1 0 0 0
 
 
0 –1 0 0 –1
0 0 1 1 0

This matrix is composed of 30 elements. Among these 30 elements, 10 are


nonzero entries. Using Equation (5) to quantify the sparsity of the matrix, a score of
ι = 2/3 or around 66.67% is obtained.
Choosing the actuation set {bt , ct , dt } gives another matrix [M̂NS ]6×5 , shown in
Equation (55).

at au av cw ds
 
0 0 0 0 0
0 0 0 0 1
 
 
[M̂NS ]6×5 =  1 0 0 0 0 (55)


0 1 0 0 0
 
 
0 0 1 0 0
0 0 0 1 1

This matrix has the same size of the matrix of Equation (54). However it has
only 6 nonzero entries, giving a score of ι = 80%. Note that just by selecting a
different actuation scheme, the sparsity is enhanced, creating a possibility of improving
computational efficiency in the solution of the inverse kinematics problem.
It should be noted that the scores values obtained in this example correspond to
the four bar mechanism in the configuration shown in Figure 14. When the mechanism
is in another posture, the joints’ position vectors change, transforming some elements of
the matrix [M̂N ]λ×F into nonzero entries. Consequently the matrices’ sparsity changes
and maybe the actuation set that has given the highest score in a previous posture
will not be the best choice any more. This is specially true when dealing with more
complex spatial mechanisms, composed of multiple loops and many joints. Therefore
the actuation scheme enabling the best sparsity can alternate with other bases of
M ∗ ([M̂N ]) depending on the configuration of the mechanism in its workspace. One way
to take advantage of the possibility of enhancing sparsity via selection of actuation
scheme is working with redundant actuation. The actuated joints would be exchanged
Chapter 2. Preliminary Bibliographic Review 54

according to the mechanism’s configuration while in operation, guaranteeing that the


motion matrix would be as sparse as possible in the whole workspace.
There are other criteria for establishing where the actuators of a parallel robot
should be placed, depending on the design. However, the computational efficiency
to solve the inverse kinematics problem of a given mechanism should be addressed
as well. The example of this section results in small motion matrices because is a
single loop mechanism. The differential kinematics analysis of a more complex parallel
manipulator, consisting of many loops and joints with multiple degrees of freedom, could
generate very large matrices, demanding a lot of memory to be computed and stored,
as it would be updated and inverted over and over again. A gain in sparsity can make
a difference in the computational performance when joined with other factors, such as
decomposability.
The reference frame and the actuation set also determine the decomposability
of a matrix, i.e. if the matrix gains block triangular form. A reducible matrix has potential
to enhance computational performance to solve linear systems of equations. Permuting
a coefficient matrix of a linear system into block triangular form breaks the problem into
smaller ones. The permutation decomposes the system into subsystems, each one
associated with only one diagonal block. The solution of the subsystems involves the
inversion of the diagonal blocks (smaller than the original coefficient matrix) and allows
to solve the whole linear system by a back-substitution process. This process eliminates
the necessity of inverting large matrices, simplifying the solution computation.
In robotics, a differential kinematics matrix with block triangular form allows to
establish a hierarchy of singularities, verifying which joint variables depend upon others.
The severity of a singularity can be evaluated by analysing how many joint variables
are affected when a given singularity is reached (MARTINS; GUENTHER, 2003).
Therefore enhancing sparsity is not the single target when defining the reference
frame and the actuation set. A matrix composed of many zeros but irreducible does
not present great advantage regarding computational efficiency when compared with a
reducible matrix with similar sparsity.
The impact of the reference coordinate system and the actuators allocation is
explored in the next chapter.
55

3 CASE STUDIES EVALUATING SPARSITY AND DECOMPOSABILITY

This chapter contains case studies to verify the influence of the reference
coordinate system on the sparsity and on the decomposability of the differential
kinematics matrices. For serial robots, the Jacobian matrix is evaluated. For parallel
robots, the motions matrices obtained through Davies’ method are checked. The impact
of the selection of the actuated joints on sparsity and decomposability is also evaluated
in the motion matrices of parallel manipulators.
Section 3.1 introduces a proposal of using the QR decomposition to define
the orientation of the reference frame, aiming to enhance sparsity. The proposal only
concerns the screw based Jacobian matrix of a 6 DOF serial robot. Section 3.2 presents
the case studies of this chapter: the PUMA robot, the Tripteron manipulator and an
asymmetrical 3 DOF parallel mechanism. The last two case studies aim to verify if the
symmetry of a parallel manipulator could be a third influencing factor on the sparsity
and decomposability of motion matrices.

3.1 REFERENCE FRAME ORIENTATION DEFINED THROUGH FULL QR FACTOR-


IZATION

The procedure proposed in this section aims to improve computational efficiency,


by enhancing the Jacobian sparsity and not turning the Jacobian fully indecomposable.
As said in Section 2.5.1.2, the screw transformation matrix Ti→j , Equation (39),
transforms a Jacobian referring to frame i to frame j:

jJ = Ti→j i J (56)

The screw transformation matrix could help to determine the orientation and
location of the frame j in relation to frame i that results in a Jacobian with enhanced
sparsity.
The initial proposal is to apply the QR decomposition, detailed in Section 2.3,
to find a rotation matrix Ri→j . Since both matrices Ri→j (TSAI, 1999) and Q (SOMAN
et al., 2012) are orthogonal matrices, the Q matrix resulting from the QR decomposition
could be used to define the rotation matrix of Equation (39).
Consider the square Jacobian with size 6 × 6 on Equation (57), obtained using
Chapter 3. Case studies evaluating sparsity and decomposability 56

the screw based method using as reference the frame i:


 
is is is is is is
1,1 1,2 1,3 1,4 1,5 1,6
i is is is is is 
 s2,1 2,2 2,3 2,4 2,5 2,6 
 
i is is is is is
i J =  s3,1

3,2 3,3 3,4 3,5 3,6 
i is is is is is 
(57)
 s4,1 4,2 4,3 4,4 4,5 4,6 
 
i s is is is is is 
 5,1 5,2 5,3 5,4 5,5 5,6 
is is is is is is
6,1 6,2 6,3 6,4 6,5 6,6
The procedure proposed in this work is still in development process. For now
only the first two steps are implemented. It is composed of the following general steps:

Step 1:
Get the submatrix A of i J composed of the first three rows and first three columns:
i
s1,1 i s1,2 i s1,3

A = i s2,1 i s2,2 i s2,3  (58)


 
is i i
3,1 s3,2 s3,3
Apply in A the QR decomposition to find the matrices Q and R that gives A = Q R .

Step 2:
With Q found in step 1, multiply i J by a screw transformation matrix where the
origin of the frame i is coincident with the origin of frame ∗j:
" #
–1
∗j J = [Q ]3×3 [0]3×3 iJ (59)
[0]3×3 [Q –1 ]3×3
The orientation difference between frame i and frame ∗j is represented by
the matrix Q –1 . One of the submatrices composing the matrix ∗j J resulting from the
multiplication of Equation (59) is the matrix R coming from the QR decomposition:
" #
∗j J = [R ]3×3 [· · · ]3×3 (60)
[· · · ]3×3 [· · · ]3×3

Step 3:
The step 3 would consist of finding the position of frame j in relation to the frame
i. Maybe another decomposition method which gives a skew symmetric matrix S that
enhances the sparsity could be applied. Then a third matrix multiplication is done:
" #
j J = [I]3×3 [0]3×3 ∗j J (61)
[S]3×3 [I]3×3
where I is an identity matrix with size 3 × 3.
Chapter 3. Case studies evaluating sparsity and decomposability 57

Steps 2 and 3 would define the Sparsity Enhancing Reference Frame (SERF),
i.e. the Jacobian expressed in this reference frame would be as sparse as possible. The
rotation matrix obtained in step 2 would give the orientation of the SERF in relation to
frame i and the position vector generated in step 3 would give the position of the origin
of the SERF in respect to the origin of frame i.
A search for a decomposition method to determine S is foreseen in the research
proposal presented in Chapter 4.

3.2 CASE STUDIES

In this chapter, three case studies are developed aiming to demonstrate the
impact that the frame chosen as reference for the differential kinematics matrices has
on the matrices’ sparsity and their decomposability. The first case study comprises the
construction of the Jacobian of a serial manipulator, firstly using the method based
on the DH convention and secondly using the screw based method, considering two
distinct frames. Then the procedure described in Section 3.1 is applied to the screw
based Jacobians.
The second case study concerns the differential kinematics of a symmetric
spatial parallel manipulator, the Tripteron. Finally, the third case focus on an asymmetric
spatial parallel mechanism with three degrees of freedom. In these cases, the Davies
method is employed to build the network unitary motion matrix [M̂N ]λν×F of these
parallel manipulators. The sparsity of [M̂NS ]λν×(F –FN ) and its decomposability are
evaluated considering different actuation sets and reference frames.
The decomposability is evaluated by the condition seen in Section 2.2: a matrix
A with size |R| × |C| is reducible, i.e it can be permuted to gain block triangular form, if it
contains a zero submatrix with size |I| × |J|, i.e. A[I, J] = O, where |I| + |J| = max(|R|, |C|).

3.2.1 PUMA robot

The PUMA robot and its variants are widespread used in the industry. They are
also used as an example in many research papers on the Robotics field. Thus the
PUMA robot is chosen as a case study representing serial manipulators.
The PUMA robot is a serial manipulator with six degrees of freedom. All its joints
are revolute joints. The axes of the last three joints intersect at a single point forming
a spherical wrist. Figure 15 shows a representation of the PUMA robot, with the links’
frames defined through DH convention (HARTENBERG; DENAVIT, 1955). The joints
of the PUMA robot are numbered from i to vi and its links from 0 to 6.
The geometric Jacobian and the screw-based Jacobian of the PUMA robot
are built to exemplify the impact of the coordinate system on the sparsity and
decomposability of the Jacobian.
Chapter 3. Case studies evaluating sparsity and decomposability 58

Figure 15 – PUMA robot with coordinate systems defined by DH convention.

x4 L
56
x5
z4
O
O4 5
z5
v
x3 4 5 x6
z3 iv vi
iii 3 O6
L1 O2 x2 6
2 O3 z6
ii L 34
z0 z2
O0 O1
1 x1
z1 L2
i

3.2.1.1 PUMA’s geometric Jacobian

As seen in Section 2.5.1.1, the geometric Jacobian is based on the DH


parameters and is constructed using the homogeneous transformation matrices
obtained using the DH convention and the four DH parameters. The four DH parameters
and the homogeneous transformation matrices of the PUMA robot are presented in
Appendix A.
Following the steps described in Section 2.5.1.1 results in the geometric
Jacobian matrix Jg of Equation (62):
 
g g1,2 g1,3 g1,4 g1,5 0
 1,1 
g2,1 g2,2 g2,3 g2,4 g2,5 0 
 
 0 g3,2 g3,3 g3,4 g3,5 0 
Jg =  (62)
 

 0 sin(θ1 ) sin(θ1 ) g4,4 g4,5 g4,6 
 
 0 – cos(θ ) – cos(θ ) g5,4 g5,5 g5,6 
 1 1 
1 0 0 – cos(θ2 + θ3 ) g6,5 g6,6
The elements of Jg expressed by the symbols gi,j are very complex. They are
explicitly shown in Appendix B. It can be noted that the geometric Jacobian of the PUMA
robot presents poor sparsity. From the 36 elements of Jg , only eight are equivalent to
zero. Substituting these values in Equation (5), it gives a score of around ι = 22.22%.
The poor sparsity of Jg is due to the fact the Jacobian is referred to the base frame
Chapter 3. Case studies evaluating sparsity and decomposability 59

Ox0 y0 z0 .
Besides presenting a low score, the geometric Jacobian of Equation (62) cannot
gain a block triangular form, according to the rule presented in Section 2.2. This rule
states that a matrix of size |R|×|C| is reducible if it contains a zero submatrix composed
of |I| rows and |J| columns, where |I| + |J| = max(|R|, |C|). For Jg , max(|6|, |6|) = 6. Jg
does not contain a submatrix respecting the rule, thus Jg is irreducible.
In conclusion, using the geometric Jacobian of Equation (62) to solve the inverse
kinematics problem impairs the computational efficiency, as Jg is dense and irreducible.

3.2.1.2 PUMA’s screw-Based Jacobian

The Jacobian can be greatly simplified just by changing the coordinate system
in which the velocity state of the end-effector is expressed. To demonstrate this, the
screw-based Jacobian of the PUMA robot is built. The construction of the screw-based
Jacobian is done using the technique described in Appendix C.
The frame of the third link (Ox3 y3 z3 ), located on an intermediary link, is chosen to
be coincident with an instantaneous reference frame Ox 0 y 0 z 0 . Thus the Jacobian matrix
0 0 0
3 J is expressed in the instantaneous reference frame that is coincident with the 3rd
s
link frame:

 
sin(θ2 + θ3 ) 0 0
0 – sin(θ4 ) cos(θ4 ) sin(θ5 )
 

 0 1 1
0 cos(θ4 ) sin(θ4 ) sin(θ5 ) 

 – cos(θ + θ ) 0 0
1 0 cos(θ5 ) 
3J =  2 3 
s  
–L1 cos(θ2 + θ3 ) L2 sin(θ3 ) 0
0 –L34 cos(θ4 ) –L34 sin(θ4 ) sin(θ5 )
 
 –L cos(θ ) 0 0
0 –L34 sin(θ4 ) L34 cos(θ4 ) sin(θ5 ) 
 2 2 
–L1 sin(θ2 + θ3 ) –L2 cos(θ3 ) 0
0 0 0
(63)
3
Comparing Js with Jg of Equation (62), the complexity of the elements
drastically decreased. It is also visible that 3 Js presents better sparsity. 3 Js has the
same size of Jg , but is composed of 17 elements equal to zero, almost half of its 36
elements, corresponding to ι = 47.22%.
Another advantage that 3 Js presents over Jg is that 3 Js is reducible. This is
indicated by the zero submatrix highlighted in Equation (63). This submatrix has |I| = 4
rows and |J| = 2 columns, giving |I| + |J| = 6. So the decomposability condition is
obeyed.
If frame Ox4 y4 z4 is chosen, the elements of the resulting Jacobian 4 Js are more
complex than the elements of 3 Js , but not as intricate as the elements of Jg of Equation
Chapter 3. Case studies evaluating sparsity and decomposability 60

(62):

 
4s sin(θ4 ) sin(θ4 ) 0 0 sin(θ5 )
1,1
 
 cos(θ2 + θ3 ) 0 0 –1 0 – cos(θ5 )
 
 4s cos(θ4 ) cos(θ4 ) 0 1 0 
4J =  3,1 
s  4 

 s4,1 cos(θ4 )[L34 + L2 sin(θ3 )] L34 cos(θ4 ) 0 0 0 

L sin(θ + θ ) L2 cos(θ3 ) 0 0 0 0 
 1 2 3 
4s – sin(θ4 )[L34 + L2 sin(θ3 )] –L34 sin(θ4 ) 0 0 0
6,1
(64)
4
The elements of the first column of Js not explicitly shown in Equation (64) are
presented below:

4s = sin(θ2 + θ3 ) cos(θ4 ) (65)


1,1

4s = – sin(θ2 + θ3 ) sin(θ4 ) (66)


3,1

4s = – cos(θ2 +θ3 )[L1 cos(θ4 )+L2 cos(θ3 ) sin(θ4 )]–sin(θ2 +θ3 ) sin(θ4 )[L34 +L2 sin(θ3 )]
4,1
(67)

4s = cos(θ2 +θ3 )[L1 sin(θ4 )–L2 cos(θ3 ) cos(θ4 )]–sin(θ2 +θ3 ) cos(θ4 )[L34 +L2 sin(θ3 )]
6,1
(68)
In spite of loosing in complexity to Js , Js presents the same sparsity of 3 Js :
3 4

17 of the 36 elements composing 4 Js are zero, thus presenting the same score of 3 Js .
Similarly to 3 Js , 4 Js is also reducible. The zero submatrix emphasized in Equation (64)
consists of |I| = 3 rows and |J| = 3 columns, thus |I| + |J| = 6.
Aiming to verify if the procedure introduced in Section 3.1 can enhance sparsity,
the steps 1 and 2 of the procedure are applied to both matrices 3 Js and 4 Js .

Screw-based Jacobian 3 Js

Step 1: The submatrix 3 A for 3 Js is:


 
sin(θ2 + θ3 ) 0 0
3A =  (69)
0 1 1


– cos(θ2 + θ3 ) 0 0
Chapter 3. Case studies evaluating sparsity and decomposability 61

The QR decomposition of 3 A results in:


 
sin(θ2 + θ3 ) 0 ± cos(θ2 + θ3 )
3Q =  (70)
0 1 0

 
– cos(θ2 + θ3 ) 0 sign[cos(θ2 + θ3 )] sin(θ2 + θ3 )
 
1 0 0
3R =  (71)
0 1 1

0 0 0
In Equation (70), cos(θ2 + θ3 ) can be positive or negative. The sign assumed
for the term ± cos(θ2 + θ3 ) of matrix 3 Q is irrelevant, since 3 Q remains orthogonal
independently of the sign and the product 3 A = 3 Q 3 R is respected anyway. Assuming
that cos(θ2 + θ3 ) > 0, Equation (70) becomes:
 
sin(θ2 + θ3 ) 0 cos(θ2 + θ3 )
3Q =  (72)
0 1 0

 
– cos(θ2 + θ3 ) 0 sin(θ2 + θ3 )

Step 2: since Q is an orthogonal matrix, the inverse of 3 Q is simply its transpose:


 
sin(θ2 + θ3 ) 0 – cos(θ2 + θ3 )
3 Q –1 = 3 Q T =  (73)
0 1 0

 
cos(θ2 + θ3 ) 0 sin(θ2 + θ3 )

Replacing Equations (63) and (73) in Equation (59) yields:


" #
[ 3 Q –1 ] [0]
∗j J 3×3 3×3 3J
3→∗j = 3 –1 s (74)
[0]3×3 [ Q ]3×3


1 0 0 – cos(θ2 + θ3 ) – sin(θ2 + θ3 ) sin(θ4 )


 0 1 1 0 cos(θ4 )
∗j J
 0 0 0 sin(θ2 + θ3 ) – cos(θ2 + θ3 ) sin(θ4 )
3→∗j =  ···


 0 L2 cos(θ2 ) 0 0 –L34 sin(θ2 + θ3 ) cos(θ4 )
 –L cos(θ ) 0 0 0 –L34 sin(θ4 )
 2 2
–L1 –L2 sin(θ2 ) 0 0 –L34 cos(θ2 + θ3 ) cos(θ4 )

sin(θ2 + θ3 ) cos(θ4 ) sin(θ5 ) – cos(θ2 + θ3 ) cos(θ5 )

sin(θ4 ) sin(θ5 ) 

sin(θ2 + θ3 ) cos(θ5 ) + cos(θ2 + θ3 ) cos(θ4 ) sin(θ5 ) 
··· (75)


–L34 sin(θ2 + θ3 ) sin(θ4 ) sin(θ5 ) 

L34 cos(θ4 ) sin(θ5 ) 

–L34 cos(θ2 + θ3 ) sin(θ4 ) sin(θ5 )
Chapter 3. Case studies evaluating sparsity and decomposability 62

Some features of ∗j J3→∗j of Equation (75) are evident when it is compared to 3 Js


of Equation (63). The elements of 3 Js are less complex than the elements of ∗j J3→∗j ,
specially the ones of the fourth and fifth columns. In contrast, the transformation of
Equation (74) led to a simplification of the first four columns of the Jacobian.
The transformation of Equation (74) reduced the sparsity of the Jacobian: both
3 J and ∗j J 3
s 3→∗j are composed of 36 elements. However, while Js presents 17 zero
entries, with a score of 47.22%, ∗j J3→∗j presents 15 zero entries, giving a score of
41.67%.
Another negative consequence of the transformation of Equation (74) is that the
Jacobian of Equation (75) is irreducible. No zero submatrix can be found in ∗j J3→∗j that
respects the decomposability condition.

Screw-based Jacobian 4 Js

Step 1: The submatrix 4 A for 4 Js is:


 
sin(θ2 + θ3 ) cos(θ4 ) sin(θ4 ) sin(θ4 )
4A =  (76)
cos(θ2 + θ3 ) 0 0 


– sin(θ2 + θ3 ) sin(θ4 ) cos(θ4 ) cos(θ4 )

The QR decomposition of 4 A results in:

 
sin(θ2 + θ3 ) cos(θ4 ) sin(θ4 ) ± cos(θ2 + θ3 ) cos(θ4 )
4Q = 
cos(θ2 + θ3 ) 0 –sign[cos(θ4 )]sign[cos(θ2 + θ3 )] sin(θ2 + θ3 )


– sin(θ2 + θ3 ) sin(θ4 ) cos(θ4 ) –sign[cos(θ4 )] sin(θ4 )| cos(θ2 + θ3 )|
(77)
 
1 0 0
4R =  (78)
0 1 1

0 0 0
In Equation (77), cos(θ2 +θ3 ) and cos(θ4 ) can be positive or negative. Similarly to
the case of the screw-based Jacobian 3 Js , any sign can be adopted with no difference
in the final result. Assuming that cos(θ2 + θ3 ) > 0 and cos(θ4 ) > 0, Equation (77)
becomes:
 
sin(θ2 + θ3 ) cos(θ4 ) sin(θ4 ) cos(θ2 + θ3 ) cos(θ4 )
4Q =  (79)
cos(θ2 + θ3 ) 0 – sin(θ2 + θ3 )

 
– sin(θ2 + θ3 ) sin(θ4 ) cos(θ4 ) – cos(θ2 + θ3 ) sin(θ4 )
Chapter 3. Case studies evaluating sparsity and decomposability 63

Step 2: inverting 4 Q gives:


 
sin(θ2 + θ3 ) cos(θ4 ) cos(θ2 + θ3 ) – sin(θ2 + θ3 ) sin(θ4 )
4 Q –1 = 4 Q T =  (80)
sin(θ4 ) 0 cos(θ4 )

 
cos(θ2 + θ3 ) cos(θ4 ) – sin(θ2 + θ3 ) – cos(θ2 + θ3 ) sin(θ4 )

Substituting Equations (64) and (80) in Equation (59) yields:


" #
[ 4 Q –1 ] [0]
∗j J 3×3 3×3 4J
4→∗j = 4 –1 s (81)
[0]3×3 [ Q ]3×3


1 0


 0 1
∗j J
 0 0
4→∗j =  ···


 0 L34 sin(θ2 + θ3 ) + L2 cos(θ2 )
 –L sin(θ + θ ) – L cos(θ ) 0
 34 2 3 2 2
–L1 L34 cos(θ2 + θ3 ) – L2 sin(θ2 )

0 – cos(θ2 + θ3 ) – sin(θ2 + θ3 ) sin(θ4 )


1 0 cos(θ4 )
0 sin(θ2 + θ3 ) – cos(θ2 + θ3 ) sin(θ4 )
··· ···
L34 sin(θ2 + θ3 ) 0 0
0 0 0
L34 cos(θ2 + θ3 ) 0 0

sin(θ2 + θ3 ) cos(θ4 ) sin(θ5 ) – cos(θ2 + θ3 ) cos(θ5 )

sin(θ4 ) sin(θ5 ) 

sin(θ2 + θ3 ) cos(θ5 ) + cos(θ2 + θ3 ) cos(θ4 ) sin(θ5 ) 
··· (82)


0 

0 

0

The matrix ∗j J4→∗j of Equation (82) is sparser than the original Jacobian 4 Js of
Equation (64). Both matrices have the same size (6 × 6), but ∗j J4→∗j has 19 elements
equal to zero, resulting in a score of around 52.78%, while 4 Js has a score of 47.22%.
So matrix 4 Q could indicate the orientation in respect to frame 4 of a candidate of SERF
for the PUMA robot.
Similarly to ∗j J3→∗j , the elements of ∗j J4→∗j are more intricate than the elements
composing the original matrix.
The structure of ∗j J4→∗j is presented in Equation (83) to verify if the matrix
remains reducible after the transformation of Equation (81). The submatrix highlighted
Chapter 3. Case studies evaluating sparsity and decomposability 64

in Equation (83) points out that ∗j J4→∗j can gain block triangular form, as it obeys the
decomposability condition.
 
× 0 0 × × ×
 
0
 × × 0 × ×
∗j J
0 0 0 × × ×
= (83)
 
4→∗j  
0
 × × 0 0 0
× 0 0 0 0 0
 
× × × 0 0 0
Table 1 summarizes the results obtained in the PUMA robot case study,
concerning sparsity and decomposability:

Table 1 – Sparsity score and decomposability of the PUMA’s Jacobian matrices.

Matrix ´ Decomposability
Geometric Jacobian: Jg - Eq. (62) 22.22% Irreducible
Screw-based Jacobian (Ox3 y3 z3 ): 3 Js - Eq. (63) 47.22% Reducible
Screw-based Jacobian (Ox3 y3 z3 ): ∗j J3→∗j - Eq. (75) 41.67% Irreducible
Screw-based Jacobian (Ox4 y4 z4 ): 4 Js - Eq. (64) 47.22% Reducible
Screw-based Jacobian (Ox4 y4 z4 ): ∗j J4→∗j - Eq. (82) 52.78% Reducible

The method described in Section 3.1 presented some dubious results. When
applied in the screw based Jacobian defined over the frame Ox4 y4 z4 , the method
presented potential to enhance the computational efficiency on the solution of the
inverse kinematics problem. The transformation increased the score of the Jacobian
matrix and kept it reducible. However, the improvement of sparsity shown in ∗j J4→∗j
and its decomposability may be just a coincidence.
Moreover, when the transformation method is applied in the screw based
Jacobian defined over the frame Ox3 y3 z3 , the sparsity score decreases and the matrix
becomes irreducible. In consequence, it cannot be affirmed that the procedure improves
computational efficiency. More modifications must be carried out to achieve this goal.
A procedure is adopted to preliminarily verify the computational performance
in the solution of the linear system ~ẋ = J~ġ, considering each one of the Jacobians
listed in Table 1. The performance is quantified by the mean of the time taken to
obtain the solution of the linear system, solving the system 105 times. The procedure
is implemented in MATLAB® , version R2015a. The MATLAB® function mldivide()
is employed to solve the linear system. This function handles sparse and dense input
arrays and its algorithm identifies the coefficient matrix structure, e.g. if the matrix
has block-triangular form, selecting an appropriate solver. Thus, the function solves
the linear system through the most efficient way. More information about how the
function mldivide() solves linear systems can be found in (MATHWORKS, 2014).
Chapter 3. Case studies evaluating sparsity and decomposability 65

The computer used in the performance evaluation has a processor Intel(R) CoreTM i3
1.70 GHz with 8 Gb of RAM.
Some numerical values are assumed for the Jacobians variables. The joint
variables’ values are defined avoiding singular configurations. The dimensions of the
PUMA robot shown in Figure 15 have their numerical values based on the 560 C model
(STAUBLI UNIMATION LTD, 1990). The numerical values are shown in Table 2.

Table 2 – Numerical values adopted for the Jacobians’ variables.

Variable Value
L1 299 mm
L2 509 mm
L34 150 mm
L56 56 mm
θ1 30◦
θ2 15◦
θ3 120◦
θ4 25◦
θ5 45◦
θ6 60◦

The reducible Jacobians are permuted into block-triangular form through the
Dulmage-Mendelsohn decomposition. The velocity state of the end-effector is assumed
as ~ẋ = [1, 1, 1, 1, 1, 1]T . This vector and the numerical Jacobians coming from the
substitution of the values of Table 2 in the equations listed in the first column of Table 1,
with the Jacobian in block-triangular form when possible, are the input for the function
mldivide(). Both inputs are converted to sparse arrays. After running the solver 105
times for each Jacobian listed in Table 1, it is computed the average running time in
seconds shown in Table 3 for each case.

Table 3 – Mean of the time to solve the linear system ~ẋ = J~ġ 105 times.

Matrix Average running time [s]


Geometric Jacobian: Jg - Eq. (62) 9.2619e-05
Screw-based Jacobian (Ox3 y3 z3 ): 3 Js - Eq. (63) 7.1368e-05
Screw-based Jacobian (Ox3 y3 z3 ): ∗j J3→∗j - Eq. (75) 7.1484e-05
Screw-based Jacobian (Ox4 y4 z4 ): 4 Js - Eq. (64) 7.1825e-05
Screw-based Jacobian (Ox4 y4 z4 ): ∗j J4→∗j - Eq. (82) 7.0580e-05

As expected, the average running time to solve the system ~ẋ = Jg ~ġ, correspond-
ing to the geometric Jacobian of Equation (62), is the highest of Table 3. This is due to
the fact that Jg has the lowest sparsity score among the five analysed Jacobians. The
linear system corresponding to the geometric Jacobian requires approximately more
2.1e-05 s to be solved than the others.
There is no significant difference between the average running time related to
the screw-based Jacobian 3 Js and the time related to its homologue generated from
Chapter 3. Case studies evaluating sparsity and decomposability 66

the transformation proposed in Section 3.1, ∗j J3→∗j . The running time diverge from
the seventh place after the decimal point. This result is coherent with the sparsity
scores of both matrices, which have the same value. Perhaps the average running time
corresponding to ∗j J3→∗j is slightly higher as a result of the matrix being irreducible.
The linear systems based on the screw-based Jacobians 4 Js and ∗j J4→∗j require
distinct times to be solved. This difference may come from the slight enhancement of
sparsity coming from the transformation, since the average running time corresponding
to ∗j J4→∗j is shorter than the running time related to 4 Js .
The following study cases illustrate the impact of the actuation set and the
reference frame on the sparsity and decomposability of the motion matrices of parallel
manipulators. The Davies method is the chosen tool to carry out the differential
kinematics analysis of parallel robots.

3.2.2 Tripteron manipulator

Created by Kong and Gosselin (2001), the Tripteron robot is a spatial parallel
manipulator with 3 DOF that enable linear displacements in all directions (LAVAL, 2006).
Figure 16 shows a modified structure of the Tripteron adopted in (CARBONI, 2015). This
structure is considered in this work to obtain the Tripteron’s motion matrices [M̂D ]λ×F
and [M̂N ]λ.ν×F through the Davies method.
The Tripteron robot is an example of a symmetric parallel manipulator since its
limbs have identical architecture. Besides, the Tripteron’s original version of the Laval
University has its actuators on the base (LAVAL, 2006). These actuators move the three
prismatic joints (corresponding to joints a, e and i in Figure 16). Thus the Tripteron also
presents symmetry regarding the actuation.

3.2.2.1 Impact of the actuation set

The links of the Tripteron robot are numerated from 0 to 10 and the Tripteron
couplings are labeled from a to n in Figure 16. An initial adopted coordinate system Oxyz
is also represented in Figure 16. Since the Tripteron manipulator is spatial, the order of
the screw system used to generate the motion matrices is λ = 6. All the couplings have
one degree of freedom, resulting in a gross degree of freedom of F = 12.
The Tripteron parameters illustrated in Figure 17 refer to the Oxyz frame. Table
4 contains the designated values for these parameters. The Tripteron parameters
comprise the length li of the link i and the distance dij of link i from the origin along the
j axis.
Chapter 3. Case studies evaluating sparsity and decomposability 67

Figure 16 – Tripteron manipulator and the initial coordinate system Oxyz .

O
0

5 e a 1

b
f
x
z
2
6
y
c
h d
i g 3
7
8 n
l 4
9
10
m

Figure 17 – Tripteron parameters. Table 4 – Adopted values of


Tripteron parameters.

d8y Parameter Value


d5y d1x l2 1
O
l3 1
e a
l6 1
f b l7 1
x
z l9 1
l6 l7 l2
y l10 1
d8z d c
i g h
d1x 1
n l3
l d5y 1

m d8y 2
l9 l10 d8z 1

Using the values of Table 4 and the equations of the Davies method (detailed in
Chapter 3. Case studies evaluating sparsity and decomposability 68

Section 2.5.2) gives the following unit motion matrix:

a b c d e f g h i l m n
 
0 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 0 0 0 0
 
 
[O M̂D ]6×12 = 0 0 0 0 0 0 0 0 0 1 1 1 (84)


1 0 0 0 0 0 –1 –1 0 2 2 1
 
 
0 0 1 1 1 0 0 0 0 0 –1 –1
0 0 0 –1 0 0 0 1 1 0 0 0

where the superscript O indicates that the twists composing the [O M̂D ]6×12 refer to the
Oxyz coordinate system.
The network unit motion matrix is also generated:

a b c d e f g h i l m n
 
0 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
 
 
0 0 0 0 0 0 0 0 0 –1 –1 1
 
1 0 0 0 0 0 0 0 0 –2 –2 1
 
 
0 0 1 1 0 0 0 0 0 0 1 –1
 
O
0 0 0 –1 0 0 0 0 –1 0 0 0
[ M̂N ]12×12 = 


 (85)
0 0 0 0 0 0 0 0 0 0 0 0
 
0 0 0 0 0 –1 –1 1 0 0 0 0
 
 
0 0 0 0 0 0 0 0 0 1 1 –1
 
0 0 0 0 0 0 1 –1 0 2 2 –1
 
 
0 0 0 0 –1 0 0 0 0 0 –1 1
0 0 0 0 0 0 0 1 1 0 0 0

The input data to construct the matrices [O M̂D ]6×12 of Equation (84) and
[O M̂N ]12×12 of Equation (85) are presented in Appendix D.
The dual matroid of [O M̂N ]12×12 has 108 bases, so the Tripteron can be actuated
in 108 different valid ways. The full list of actuation sets can be found in the work of
Carboni (2015). Removing the three columns of [O M̂N ]12×12 corresponding to each
actuated joint composing an actuation set k gives 108 distinct matrices [O M̂NS k ]
12×9 .
Each one of these matrices has its own sparsity score, depending on the columns
removed from [O M̂N ]12×12 . The removed columns also define if [O M̂NS k ]
12×9 can be
decomposed into block triangular form.
As seen in Section 2.6, the better the sparsity of a matrix, i.e. the higher its
score, the lower the computational effort to calculate its inverse. Since the choice of
Chapter 3. Case studies evaluating sparsity and decomposability 69

the actuated joints influences the sparsity of [O M̂NS k ]


12×9 , one criterion to select one
actuation set from 108 options is choosing as primary variables the actuated joints that
simplify the solution of the inverse kinematics problem, i.e. Equation (49).
In the decomposability evaluation, for all the 108 matrices [O M̂NS
k ]
12×9 , max(|R|, |C|) =
max(|12|, |9|) = 12 . Thus a matrix [O M̂NS
k ]
12×9 should contain a zero submatrix where
the sum of the number of rows and number of columns gives 12 to be reducible.
The sparsity score range of the 108 matrices [O M̂NS k ]
12×9 is 74.07% ≤ ι ≤
O base
84.26%. The matrix [ M̂NS ]12×9 is among these 108 matrices and it comes from
the actuation set of the Tripteron version of Laval University, i.e. the actuation set
{a, e, i}. The superscript base indicates that the three actuators are on the base.
[O M̂NS
base ]
12×9 is one of the matrices among the 108 options that presents the lowest
O
score. [ M̂NS base ]
12×9 is shown in Equation (86).

b c d f g h l m n
 
1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
 
 
0 0 0 0 0 0 –1 –1 1
 
0 0 0 0 0 0 –2 –2 1
 
 
0 1 1 0 0 0 0 1 –1
 
O base O min
0 0 –1 0 0 0 0 0 0
[ M̂NS ]12×9 = [ M̂NS ]12×9 = 


 (86)
0 0 0 0 0 0 0 0 0
 
0 0 0 –1 –1 1 0 0 0
 
 
0 0 0 0 0 0 1 1 –1
 
0 0 0 0 1 –1 2 2 –1
 
 
0 0 0 0 0 0 0 –1 1
0 0 0 0 0 1 0 0 0

The matrix [O M̂NS base ]


12×9 has 108 elements, among which 28 are nonzero
entries. Substituting these values in Equation (5) results in ι = 74.07%, the lower
bound of the score range. So [O M̂NS base ] O min
12×9 = [ M̂NS ]12×9 .
The submatrix of [O M̂NS min ]
12×9 highlighted in Equation (86) indicates that
[O M̂NS
min ]
12×9 is reducible. The highlighted submatrix possesses |I| = 7 rows and |J| = 5
columns, obeying the decomposability condition. So the rows/columns of [O M̂NS min ]
12×9
can be permuted to generate a matrix with block triangular form.
The sparsity of [O M̂NS ]12×9 can be improved just by choosing other joints to
place the actuators. Two actuation sets among the 108 cobases of [O M̂N ]12×12 allow
the generation of a matrix with the maximum score among the 108 possibilities of
[O M̂NS
k ]
12×9 . One of these two cobases is the set composed of the couplings {d, m, n}.
Note that by placing the actuators on joints d, m and n the Tripteron is no longer
Chapter 3. Case studies evaluating sparsity and decomposability 70

symmetrical when the actuation is taken into consideration. The matrix [O M̂NS
max ]
12×9
is presented in Equation (87):

a b c e f g h i l
 
0 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
 
 
0 0 0 0 0 0 0 0 –1
 
1 0 0 0 0 0 0 0 –2
 
 
0 0 1 0 0 0 0 0 0
 
O max
0 0 0 0 0 0 0 –1 0
[ M̂NS ]12×9 = 


 (87)
0 0 0 0 0 0 0 0 0
 
0 0 0 0 –1 –1 1 0 0
 
 
0 0 0 0 0 0 0 0 1
 
0 0 0 0 0 1 –1 0 2
 
 
0 0 0 –1 0 0 0 0 0
0 0 0 0 0 0 1 1 0

The matrix [O M̂NSmax ]


12×9 has 108 elements, among which only 17 are nonzero
entries. This results in ι = 84.26%, the upper bound of the score range.
Matrix [O M̂NS
max ]
12×9 is reducible, as indicated by the submatrix highlighted in
Equation (87). This submatrix is composed of |I| = 9 rows and |J| = 3 columns, so the
decomposability condition is respected. Thus [O M̂NS max ]
12×9 can gain a block triangular
form.
As explained in Section 2.6.1, the coordinate system chosen as reference to
define the screws has also an impact on the sparsity of [M̂NS ]λ.ν×(F –FN ) . This aspect is
exemplified by rebuilding the Tripteron network unit motion matrix using different frames
from the coordinate system shown in Figure 16.

3.2.2.2 Impact of the reference frame

Consider the frame Ox0 0 y 0 z 0 represented by full line arrows in Figure 18. The
frame Ox0 0 y 0 z 0 is obtained by changing the position and orientation of the original frame
Oxyz , represented in Figure 18 by dashed line arrows. A 90◦ rotation around the y axis
and the displacement of the origin of the Oxyz system to the position of coupling m
results in Ox0 0 y 0 z 0 .
The twists representing the motion allowed by the Tripteron couplings can be
expressed in the Ox0 0 y 0 z 0 frame through the premultiplication of the unit motion matrix
[O M̂D ]6×12 of Equation (84) by a screw transformation matrix TOxyz →O 0 0 0 0 , whose
x y z
general structure is presented in Section 2.5.1.2, Equation (39).
Chapter 3. Case studies evaluating sparsity and decomposability 71

Figure 18 – Tripteron manipulator and the second coordinate system Ox0 0 y 0 z 0 .

O
0

5 e a 1

b
f
x
z
2
6 x0
y
c
h d
i g 3
7
8 n
l O0 4
9
10
m
z0
y0

The rotation matrix ROxyz →O 0 0 0 0 from frame Oxyz to frame Ox0 0 y 0 z 0 is shown in
x y z
Equation (88):

cos(90◦ ) 0 sin(90◦ )
   
0 0 1
ROxyz →O 0 0 = 0 1 0  =  0 1 0 (88)
   
x y 0z0
– sin(90◦ ) 0 cos(90◦ ) –1 0 0
The position of the origin of Ox0 0 y 0 z 0 in respect to Oxyz is the same position of
coupling m. Thus, considering x0 = l9 = 1, y0 = d8y = 2 and z0 = d8z = 1 in Equation
(40), the skew-symmetric matrix SOxyz →O 0 0 0 0 containing the coordinates of the origin
x y z
of Ox0 0 y 0 z 0 measured in Oxyz has the form:
 
0 –1 2
SOxyz →O 0 0 =  1 0 –1 (89)
 
x y 0z0
–2 1 0
The screw transformation matrix TOxyz →O 0 0 is built by replacing Equations (88)
x y 0z0
Chapter 3. Case studies evaluating sparsity and decomposability 72

and (89) in Equation (39), giving:


 
0 0 1 0 0 0
 
0 1 0 0 0 0
 
–1 0 0 0 0 0
TOxyz →O 0 0 = (90)
 
x y 0z0

–2 –1 0 0 0 1
 
1 0 1 0 1 0
 
0 1 –2 –1 0 0
The twists expressed in the Ox0 0 y 0 z 0 frame are the columns of the unit motion
0
matrix [O M̂D ]6×12 in Equation (91), defined through the multiplication between the
matrices of Equations (90) and (84):

0
[O M̂D ]6×12 = TOxyz →O 0 0 0 0 [O M̂D ]6×12
x y z

a b c d e f g h i l m n
 
0 0 0 0 0 0 0 0 0 1 1 1
 0 0 0 0 0 1 1 1 0 0 0 0
 
0
 
[O M̂D ]6×12 =  0 –1 –1 –1 0 0 0 0 0 0 0 0 (91)


 0 –2 –2 –3 0 –1 –1 0 1 0 0 0
 
 
 0 1 2 2 1 0 0 0 0 1 0 0
–1 0 0 0 0 1 2 2 0 –4 –4 –3

0
where the superscript O 0 indicates that the twists composing [O M̂D ]6×12 refer to the
Ox0 0 y 0 z 0 frame.
A network unit motion matrix referring to the Ox0 0 y 0 z 0 frame is generated from
Chapter 3. Case studies evaluating sparsity and decomposability 73

0
[O M̂D ]6×12 :

a b c d e f g h i l m n
 
0 0 0 0 0 0 0 0 0 –1 –1 1
 0 0 0 0 0 0 0 0 0 0 0 0
 
 
 0 –1 –1 –1 0 0 0 0 0 0 0 0
 
 0 –2 –2 –3 0 0 0 0 –1 0 0 0
 
 
 0 1 2 2 0 0 0 0 0 –1 0 0
 
0
[O M̂N ]12×12 = 
–1 0 0 0 0 0 0 0 0 4 4 –3 (92)
 
 0 0 0 0 0 0 0 0 0 1 1 –1
 
 0 0 0 0 0 –1 –1 1 0 0 0 0
 
 
 0 0 0 0 0 0 0 0 0 0 0 0
 
 0 0 0 0 0 1 1 0 1 0 0 0
 
 
 0 0 0 0 –1 0 0 0 0 1 0 0
0 0 0 0 0 –1 –2 2 0 –4 –4 3

0
The dual matroid of [O M̂N ]12×12 has 108 bases. These bases are equivalent
to the actuation sets generated from [O M̂N ]12×12 . So, in this case, there are also
0
108 different matrices [O M̂NSk ]
12×9 resulting from the removal of the columns of
0
O
[ M̂N ]12×12 corresponding to the actuated joints. Similarly to the case where the
frame Oxyz is the reference, each one of these matrices has a score that depends on
its respective actuation set.
0
A matrix with the minimum score among the 108 possibilities of [O M̂NS k ]
12×9 is
generated when the actuation set {a, e, i} is chosen. Note that this set coincide with the
Tripteron’s original actuation scheme, where the actuators are allocated on the base.
Chapter 3. Case studies evaluating sparsity and decomposability 74

0
min ]
The matrix [O M̂NS 12×9 is shown in Equation (93):

b c d f g h l m n
 
0 0 0 0 0 0 –1 –1 1
 0 0 0 0 0 0 0 0 0
 
 
–1 –1 –1 0 0 0 0 0 0
 
–2 –2 –3 0 0 0 0 0 0
 
 
 1 2 2 0 0 0 –1 0 0
 
0  0
O min
[ M̂NS ]12×9 =  0 0 0 0 0 4 4 –3 (93)
 
 0 0 0 0 0 0 1 1 –1
 
 0 0 0 –1 –1 1 0 0 0
 
 
 0 0 0 0 0 0 0 0 0
 
 0 0 0 1 1 0 0 0 0
 
 
 0 0 0 0 0 0 1 0 0
0 0 0 –1 –2 2 –4 –4 3

0
Among the 108 elements of the matrix [O M̂NS min ]
12×9 , 31 are nonzero entries.
This results in a score of around ι = 71.30%.
The submatrix emphasized in Equation (93) consists of |I| = 9 rows and |J| = 3
0
columns, so |I| + |J| = 12. Therefore the matrix [O M̂NS
min ]
12×9 is reducible.
The set composed of the couplings {d, l, m} allows the generation of a matrix
0
with the maximum score among the 108 possibilities of [O M̂NS k ]
12×9 . The matrix
0
O max
[ M̂NS ]12×9 is presented in Equation (94):

a b c e f g h i n
 
0 0 0 0 0 0 0 0 1
 0 0 0 0 0 0 0 0 0
 
 
 0 –1 –1 0 0 0 0 0 0
 
 0 –2 –2 0 0 0 0 –1 0
 
 
 0 1 2 0 0 0 0 0 0
 
[O M̂NS
max ] –1 0 0 0 0 0 0 0 –3

12×9 =  (94)


 0 0 0 0 0 0 0 0 –1
 
 0 0 0 0 –1 –1 1 0 0
 
 
 0 0 0 0 0 0 0 0 0
 
 0 0 0 0 1 1 0 1 0
 
 
 0 0 0 –1 0 0 0 0 0
0 0 0 0 –1 –2 2 0 3

0
The matrix [O M̂NSmax ]
12×9 has 108 elements, among which only 22 are nonzero
entries. This results in a score of around ι = 79.63%.
Chapter 3. Case studies evaluating sparsity and decomposability 75

The submatrix highlighted in Equation (94) is composed of |I| = 8 rows and |J| = 4
0
columns, obeying the decomposability condition. Thus [O M̂NS max ]
12×9 is reducible.
A third reference frame Ox0000 y 00 z 00 is defined to emphasize the influence of the
coordinate system choice on the sparsity. This third frame is shown in Figure 19, where
its axes are represented by full line arrows. The origin of Ox0000 y 00 z 00 has the same position
of the origin of Ox0 0 y 0 z 0 , i.e. the origin’s position coincides with coupling m position.

Figure 19 – Tripteron manipulator and the third coordinate system Ox0000 y 00 z 00 .

O
0

5 e a 1

b
f
x
z
2
6 x0
y
x 00 c
h d
i g 3
7
8 n
l O 0 O 00 4
9 z 00
10 45◦
m
◦ z0
y 0 45
y 00

The orientation of Ox0000 y 00 z 00 is established by a rotation of 90◦ around the y


axis and a second rotation of 45◦ around x 0 , as illustrated in Figure 19. The previous
reference frames are represented by dashed arrows in Figure 19.
Another screw transformation matrix is built to obtain the twists’ representation
having the frame Ox0000 y 00 z 00 as reference.
The rotation matrix ROxyz →O 0 00 00 00 from frame Oxyz to frame Ox0000 y 00 z 00 is calculated
x y z
by the product:

cos(90◦ ) 0 sin(90◦ )
  
1 0 0
ROxyz →O 0000 = 0 1 0  0 cos(45◦ ) – sin(45◦ )
  
x y 00 z 00
– sin(90◦ ) 0 cos(90◦ ) 0 sin(45◦ ) cos(45◦ )
 √ √ 
0 2/2 2/2
√ √ 
ROxyz →O 0000 00 00 =  0 2/2 – 2/2 (95)

x y z
–1 0 0
Chapter 3. Case studies evaluating sparsity and decomposability 76

The position of the origin of Ox0000 y 00 z 00 has the same coordinates of the origin of
Ox0 0 y 0 z 0 , measured in Oxyz . Therefore the skew-symmetric matrix SOxyz →O 0000 00 00 is equal
x y z
to the matrix of Equation (89).
The screw transformation matrix TOxyz →O 0000 00 00 is defined by the substition of
x y z
Equations (95) and (89) in Equation (39):
 √ √ 
0 2/2 2/2 0 0 0
 √ √ 
0 2/2 – 2/2 0 0 0 
 
–1 0 0 0 0 0 
TOxyz →O 0000 =
 √ √ √ √ 
(96)
x y 00 z 00

–2 – 2/2 2/2 0 2/2 2/2 
 1 √2/2 √ √ √ 

2/2 0 2/2 – 2/2
 √ √ 
0 – 2/2 –3 2/2 –1 0 0

The premultiplication of [O M̂D ]6×12 of Equation (84) by TOxyz →O 0000 00 00 of


x y z
00 00
Equation (96) results in the unit motion matrix [O M̂D ]6×12 . The columns of [O M̂D ]6×12
are the twists expressed in the Ox0000 y 00 z 00 frame:

a b c d e f g
 √ √
0 0 0 0 0 2/2 2/2
 0 √ √
 0 0 0 0 2/2 2/2
00

[O M̂D ]6×12 =  0 –1 √ –1 –1 0 0 0 ···

 0 –2 √ √ √
2/2 – 2 –2 2/2 – 2/2 – 2/2

 √ √ √ √ √
 0 1 2/2 + 1 2/2 + 1 2/2 2/2 2/2
√ √
–1 0 0 0 0 – 2/2 1 – 2/2

h i l m n
√ √ √ √ 
2/2 0 2/2 2/2 2/2
√ √ √ √ 
2/2 0 – 2/2 – 2/2 – 2/2

··· 0 0 0 0 0 (97)
√ √ 
0 2/2 2/2 0 0
√ √ 

0 – 2/2 2/2 0 0
√ √ √ √
1 – 2/2 0 –3 2/2 – 2 –3 2/2 – 2 –3 2/2 – 1

00
where the superscript O 00 indicates that the twists composing [O M̂D ]6×12 refer to the
Ox0000 y 00 z 00 coordinate system.
00
A network unit motion matrix [O M̂N ]12×12 referring to the coordinate system
00
Ox0000 y 00 z 00 is created from the matrix [O M̂D ]6×12 of Equation (97):
Chapter 3. Case studies evaluating sparsity and decomposability 77

a b c d e f

0 0 0 0 0 0
 0 0 0 0 0 0


 0 –1 –1 –1 0 0

 0 –2 √
2/2 – 2 –2 0 0

 √ √
 0 1 2/2 + 1 2+1 0 0

00
[O M̂N ]12×12 = 
–1 0 0 0 0 0 ···
 √
 0 0 0 0 0 – 2/2

 0 √
 0 0 0 0 – 2/2

 0 0 0 0 0 0

 0 √ √
0 0 0 – 2/2 2/2

 √ √
 0 0 0 0 – 2/2 – 2/2

0 0 0 0 0 2/2

g h i l m n
√ √ √ 
0 0 0 – 2/2 – 2/2 2/2
√ √ √ 
0 0 0 2/2 2/2 – 2/2

0 0 0 0 0 0
√ √ 
0 0 – 2/2 – 2/2 0 0
√ √ 

0 0 2/2 – 2/2 0 0
√ √ √ 
··· 0 0 0 3 2/2 + 2 3 2/2 + 2 –3 2/2 – 1 (98)
√ √ √ √ √  
– 2/2 2/2 0 2/2 2/2 – 2/2
√ √ √ √ √ 
– 2/2 2/2 0 – 2/2 – 2/2 2/2

0 0 0 0 0 0
√ √ √ 
2/2 0 2/2 2/2 0 0
√ √ √ 

– 2/2 0 – 2/2 2/2 0 0
√ √ √ √ √
2/2 – 1 – 2/2 + 1 0 –3 2/2 – 2 –3 2/2 – 2 3 2/2 + 1

Similarly to the previous cases, there are 108 distinct actuation sets coming
00
from the enumeration of the bases of the dual matroid of [O M̂N ]12×12 . The actuation
00
schemes obtained from [O M̂N ]12×12 are exactly the same of the actuation schemes
0
defined using [O M̂N ]12×12 and [O M̂N ]12×12 . The sparsity score range of the 108
00
resulting matrices [O M̂NSk ]
12×9 is 58.33% ≤ ι ≤ 72.22%.
00
Choosing the actuation set a, c, e gives the matrix [O M̂NS
min ]
12×9 , which is one
00
of the three matrices that have the lowest score among the 108 matrices [O M̂NS k ]
12×9 .
Since the only interest is quantifying the number of zero and nonzero elements of
Chapter 3. Case studies evaluating sparsity and decomposability 78

00
[O M̂NS
min ]
12×9 , Equation (99) presents its structural form, where the symbol "×" stands
for the nonzero elements:

b d f g h i l m n
 
0 0 0 0 0 0 × × ×
0 0 0
 0 0 0 × × ×
 
× × 0 0 0 0 0 0 0
 
× × 0 0 0 × × 0 0
 
 
× × 0 0 0 × × 0 0
 
00
O min
0 0 0
[ M̂NS ]12×9 =  0 0 0 × × × (99)
 
0 0 × × × 0 × × ×
 
0 0 × × × 0 × × ×
 
 
0 0 0 0 0 0 0 0 0
 
0 0 × × 0 × × 0 0
 
 
0 0 × × 0 × × 0 0
0 0 × × × 0 × × ×

The matrix of Equation (99) presents 45 nonzero entries among its 108 elements,
giving ι = 58.33%.
00
According to the decomposability condition, [O M̂NS min ]
12×9 is irreducible, since it
does not contain a zero submatrix where the sum of the number of rows and number
of columns gives 12. Therefore the actuation set {a, c, e} is not the most suitable for the
Tripteron when the frame Ox0000 y 00 z 00 is used as reference. Actuating the joints a, c and
e results in a matrix [M̂NS ]12×9 with low sparsity, that it cannot gain block triangular
form. These two features decrease the computational efficiency in the solution of the
Tripteron’s differential kinematics analysis, as a lot of entries should be stored and the
matrix [M̂NS ]12×9 cannot be decomposed in smaller blocks to solve the linear system.
If the actuators are placed on the base, i.e. the set {a, e, i} defines the columns
00
of [O M̂NSk ] O 00 base
12×9 , the score of the resulting matrix [ M̂NS ]12×9 is slightly higher than
Chapter 3. Case studies evaluating sparsity and decomposability 79

00
base ]
the minimum value. Equation (100) contains the structure of [O M̂NS 12×9 :

b c d f g h l m n
 
0 0 0 0 0 0 × × ×
0 0 0 0
 0 0 × × ×
 
× × × 0 0 0 0 0 0
 
× × × 0 0 0 × 0 0
 
 
× × × 0 0 0 × 0 0
 
00
O base
0 0 0 0
[ M̂NS ]12×9 =  0 0 × × × (100)
 
0 0 0 × × × × × ×
 
0 0 0 × × × × × ×
 
 
0 0 0 0 0 0 0 0 0
 
0 0 0 × × 0 × 0 0
 
 
0 0 0 × × 0 × 0 0
0 0 0 × × × × × ×

00
The matrix [O M̂NS base ]
12×9 is composed of 108 elements, 44 of which are
different from zero. Thus its score is ι = 59.26%.
00
Unlike [O M̂NSmin ] O 00 base
12×9 , matrix [ M̂NS ]12×9 is reducible, as indicated by the
submatrix emphasized in Equation (100). This submatrix possesses |I| = 9 rows
and |J| = 3 columns, respecting the decomposability condition. Thus allocating the
actuators on the base is better than actuating joints a, c and e when Ox0000 y 00 z 00 is the
00
reference frame. In spite of presenting a sparsity score similar to [O M̂NS
min ]
12×9 , matrix
00
O base
[ M̂NS ]12×9 can be decomposed into smaller blocks, facilitating the solution of the
differential kinematics analysis.
On the other hand, if the joints g, l and n are actuated, the matrix containing the
columns corresponding to the secondary variables has maximum score. Equation (101)
Chapter 3. Case studies evaluating sparsity and decomposability 80

00
max ]
contains the structural form matrix of [O M̂NS 12×9 :

a b c d e f h i m
 
0 0 0 0 0 0 0 0 ×
0 0 0 0 0
 0 0 0 ×
 
0 × × × 0 0 0 0 0
 
0 × × × 0 0 0 × 0
 
 
0 × × × 0 0 0 × 0
 
00 × 0 0 0 0
O max
[ M̂NS ]12×9 =  0 0 0 × (101)
 
0 0 0 0 0
 × × 0 ×
0 0 0 0 0
 × × 0 ×
 
0 0 0 0 0 0 0 0 0
 
0 0 0 0 × × 0 × 0
 
 
0 0 0 0 × × 0 × 0
0 0 0 0 0 × × 0 ×

00
The matrix [O M̂NSmax ]
12×9 has 108 elements, presenting 30 nonzero entries.
Thus, the score is ι = 72.22%.
00
Besides having the highest score, matrix [O M̂NS max ]
12×9 is reducible. The
submatrix highlighted in Equation (101) is composed of |I| = 9 rows and |J| = 3 columns,
meeting the requisite to be decomposed into block triangular form.
Table 5 assembles the sparsity score values of the different [M̂NS ]12×9 matrices
defined by distinct actuation sets and reference frames. Moreover, Table 5 points out
the matrices decomposability:

Table 5 – Sparsity score and decomposability of the Tripteron’s [M̂NS ]12×9 matrices.

Reference frame Actuation set Matrix ι Decomposability


Oxyz {a, e, i} [O M̂NS min
]12×9 - Eq. (86) 74.07% Reducible
O max
Oxyz {d, m, n} [ M̂NS ]12×9 - Eq. (87) 84.26% Reducible
0
Ox0 0 y 0 z 0 {a, e, i} [O M̂NS min
]12×9 - Eq. (93) 71.30% Reducible
0
Ox0 0 y 0 z 0 {d, l, m} O max
[ M̂NS ]12×9 - Eq. (94) 79.63% Reducible
00
Ox0000 y 00 z 00 {a, c, e} [O M̂NS min
]12×9 - Eq. (99) 58.33% Irreducible
00
Ox0000 y 00 z 00 {a, e, i} O base
[ M̂NS ]12×9 - Eq. (100) 59.26% Reducible
00
Ox0000 y 00 z 00 {g, l, n} [O M̂NS max
]12×9 - Eq. (101) 72.22% Reducible

It can be inferred from Table 5 that the reference and the actuation set which
allows the highest computational efficiency in the solution of the Tripteron’s differential
kinematic analysis is the Oxyz frame and the {d, m, n} actuation set. Taking Oxyz as
reference frame results in a [M̂NS ]12×9 with higher sparsity score. So among the options
Oxyz , Ox0 0 y 0 z 0 and Ox0000 y 00 z 00 , the closest candidate to be the SERF is Oxyz . Actuating
the joints d, m and n enhances even more the sparsity. Moreover, matrix [O M̂NS
max ]
12×9
Chapter 3. Case studies evaluating sparsity and decomposability 81

can be decomposed into block triangular form, easing the solution of the linear system
coming from the Davies method.
The worst case scenario in the Tripteron’s differential kinematic analysis is when
the twists refer to the frame Ox0000 y 00 z 00 and the joints a, c and e are actuated. The matrix
[M̂NS ]12×9 becomes denser when Ox0000 y 00 z 00 is used as reference in the Davies method.
Choosing the actuation set {a, e, i} increases the matrix density, requiring more memory
00
to store nonzero entries. However, the fact that matrix [O M̂NS min ]
12×9 is irreducible is its
most troubling characteristic. The linear system cannot be solved by back-substitution,
reducing the computational efficiency.
A comparison between the best and worst circumstances for the Tripteron
regarding computational performance is made using the same procedure described in
Section 3.2.1, for the PUMA robot. The linear system of Equation (48) has [O M̂NS max ]
12×9
00
O min
and [ M̂NS ]12×9 as coefficient matrices. The linear system is solved 10 times and 5

the average running time corresponding to each matrix is compared.


The matrix [O M̂NS
max ]
12×9 is reducible, so it is permuted into block triangular form
00
through the Dulmage-Mendelsohn decomposition. Matrix [O M̂NS min ]
12×9 is irreducible
and it is not submitted to this decomposition. The primary variables are assumed as
~ }
{ψ T O max
P 3×1 = [1, 1, 1] in both linear systems. The coefficient matrices [ M̂NS ]12×9 , in its
00
block triangular form, and [O M̂NS min ] ~
12×9 and the constant vector –[M̂NP ]9×3 {ψP }3×1
are converted to sparse arrays and are the inputs for the function mldivide(). The
average running time for each coefficient matrix is shown in Table 6.

Table 6 – Mean of the time to solve the linear system [M̂NS ]m×m {ψ ~ } =
S m×1
~ }
–[M̂NP ]m×FN {ψ 105 times for the Tripteron manipulator.
P FN ×1

Reference frame Actuation set Matrix Average running time [s]


Oxyz {d, m, n} [O M̂NS
max
]12×9 - Eq. (87) 1.0312e-04
O 00 min
Ox0000 y 00 z 00 {a, c, e} [ M̂NS ]12×9 - Eq. (99) 1.2436e-04

It must be highlighted that the scores and decomposability enabled by a given


actuation set shown in Table 5 are valid for the Tripteron’s posture shown in Figure
16. Everything can change when the Tripteron adopts another configuration in its
workspace.
Note that the linear system related to [O M̂NS max ]
12×9 requires in average less
00
time to be solved than the linear system related to [ M̂NSO min ]
12×9 , as expected. This
difference may be due to the fact that [O M̂NSmax ]
12×9 is sparser and reducible, allowing
to handle smaller matrices to solve the linear system. Solving linear system through the
handling of smaller matrices decreases computational effort, requiring less time to get
a solution.
Defining the position and the orientation of the reference frame as shown in
Figure 16 to simplify the Tripteron’s differential kinematics analysis seems obvious. This
Chapter 3. Case studies evaluating sparsity and decomposability 82

is due to the symmetry of the Tripteron. However, cases where this definition is not so
intuitive may exist, for example, when the parallel manipulator is asymmetrical.

3.2.3 Asymmetrical 3 DOF parallel mechanism

Refaat et al. (2006) defined four structural asymmetrical 3 DOF families of


parallel mechanisms whose mobile platform is able to rotational and translational
motions. Figure 20 shows a member of a family that provides one-rotational and two-
translational DOF to the mobile platform.

Figure 20 – Asymmetrical 3 DOF parallel mechanism and the coordinate system Oxyz .

0 0
7
d h
4
e O
5 i
0 6

f g
a 8 x
y 1
j
b
c
2 3

The asymmetrical 3 DOF parallel mechanism (Asym3DOF) of Figure 20 has this


name because its three limbs do not present the same architecture. Two limbs are a
RRU sub-chain, while the remaining limb is a PRRR sub-chain.
The impact of the actuated joints and the reference coordinate system on
the sparsity and decomposibility of the matrix [M̂NS ]F ×(F –FN ) is evaluated for the
Asym3DOF shown in Figure 20. The objective is to verify if the asymmetry has some
positive or negative influence on the motion matrix generated via Davies’ method.

3.2.3.1 Impact of the actuation set

The links of the Asym3DOF are numerated from 0 to 8 and its couplings are
labeled from a to j in Figure 20. Due to the asymmetry, defining the reference frame is
not so intuitive as the Tripteron case. A first adopted coordinate system Oxyz is shown
Chapter 3. Case studies evaluating sparsity and decomposability 83

in Figure 20. The position of the reference frame intends to be as close as possible to
the Asym3DOF center. The x and y axes are parallel to revolution axes of the joints.
Similarly to the Tripteron, the Asym3DOF is a spatial mechanism, thus the
order of the screw system is also λ = 6. The revolute joints and the prismatic joint
of the Asym3DOF have one degree of freedom, while the two universal joints have two
degrees of freedom. So the gross degree of freedom is F = 12. Figure 21 contains the
coordinates of the position vectors of the couplings referring to the Oxyz frame.

Figure 21 – Position vectors of the couplings in respect to the Oxyz frame.

~s0d = [–2, 0, 0]T ~s0e = [–2, 0, 0]T


~s0h = [0, –3, 0]T
~s0f = [–2, 0, 1]T O
~s0i = [0, –2, 1]T
~s0a = [0, 2, 0]T

y x
~s0j = [0, –1, 2]T

~s0b = [0, 2, 1]T


~s0g = [–1, 0, 2]T
~s0c = [0, 1, 2]T

The coordinates shown in Figure 21 are used in the equations of Section 2.5.2,
resulting in the unit motion matrix of Equation (102).

a b cr cs d e f g h i jr js
 
1 1 1 0 0 0 0 0 1 1 1 0
 0 0 0 1 0 1 1 1 0 0 0 1
 
 
[ M̂D ]6×12 =  0
O 0 0 0 0 0 0 0 0 0 0 0 (102)


 0 0 0 –2 0 0 –1 –2 0 0 0 –2
 
 
 0 1 2 0 1 0 0 0 0 1 2 0
–2 –2 –1 0 0 –2 –2 –1 3 2 1 0

where the superscript O indicates that the twists composing the [O M̂D ]6×12 refer to
the Oxyz coordinate system. According to the Davies notation, the subscripts r and
s indicate that the rotation axes are parallel to x and y axes, respectively. Only the
Chapter 3. Case studies evaluating sparsity and decomposability 84

columns corresponding to c and j couplings present these subscripts since both of


them are universal joints.
Equation (103) contains the network unit motion matrix generated from the matrix
of Equation (102):

a b c r cs d e f g h i jr js
 
1 1 1 0 0 0 0 0 0 0 0 0
 0 0 0 1 0 –1 –1 1 0 0 0 0
 
 
 0 0 0 0 0 0 0 0 0 0 0 0
 
 0 0 0 –2 0 0 1 –2 0 0 0 0
 
 
 0 1 2 0 –1 0 0 0 0 0 0 0
 
O
–2 –2 –1 0 0 2 2 –1 0 0 0 0
[ M̂N ]12×12 = 


 (103)
 0 0 0 0 0 0 0 0 1 1 1 0
 
 0 0 0 0 0 –1 –1 1 0 0 0 –1
 
 
 0 0 0 0 0 0 0 0 0 0 0 0
 
 0 0 0 0 0 0 1 –2 0 0 0 2
 
 
 0 0 0 0 –1 0 0 0 0 1 2 0
0 0 0 0 0 2 2 –1 3 2 1 0

The input data to generate the matrices of Equations (102) and (103) can be
found in Appendix E.
There are 99 valid different actuation schemes for the Asym3DOF that are
enumerated using matroid theory. Appendix F contains the complete list of actuation
schemes suitable for the Asym3DOF. Similarly to the Tripteron case study, there are
99 distinct matrices [O M̂NS k ]
12×9 with their own sparsity score. Some of these matrices
can be irreducible. Coincidently, the Tripteron and the Asym3DOF have the same
mobility and their motion matrices have the same size. So a zero submatrix with size
|I| × |J| where |I| + |J| = 12 should be searched within [O M̂NS k ]
12×9 to evaluate its
decomposability.
The scores of the 99 matrices [O M̂NSk ]
12×9 range from 70.37% to 78.70%. There
are four actuation sets that minimize the sparsity. One of them is the actuation set
{d, h, js }. The matrix [O M̂NS
min ]
12×9 of Equation (104) is obtained when these three joints
Chapter 3. Case studies evaluating sparsity and decomposability 85

are actuated:

a b cr cs e f g i jr
 
1 1 1 0 0 0 0 0 0
 0 0 0 1 –1 –1 1 0 0
 
 
 0 0 0 0 0 0 0 0 0
 
 0 0 0 –2 0 1 –2 0 0
 
 
 0 1 2 0 0 0 0 0 0
 
O min
–2 –2 –1 0 2 2 –1 0 0
[ M̂NS ]12×9 = 


 (104)
 0 0 0 0 0 0 0 1 1
 
 0 0 0 0 –1 –1 1 0 0
 
 
 0 0 0 0 0 0 0 0 0
 
 0 0 0 0 0 1 –2 0 0
 
 
 0 0 0 0 0 0 0 1 2
0 0 0 0 2 2 –1 2 1

The matrix [O M̂NSmin ]


12×9 is composed of 108 elements, among which 32 are
nonzero entries. So according to Equation (5), its sparsity score is ι = 70.37%, the
lower bound of the score range.
Equation (104) shows an emphasized zero submatrix that demonstrates that
O min
[ M̂NS ]12×9 is reducible. This submatrix consists of |I| = 9 rows and |J| = 3 columns,
obeying the decomposability condition described in Section 2.2. So it is possible to
decompose [O M̂NSmin ]
12×9 into block triangular form.
Choosing to actuate the joints f , g and i results in a matrix [O M̂NS ]12×9 with
maximum score. [O M̂NS max ]
12×9 is shown in Equation (105):

a b c r cs d e h jr js
 
1 1 1 0 0 0 0 0 0
 0 0 0 1 0 –1 0 0 0
 
 
 0 0 0 0 0 0 0 0 0
 
 0 0 0 –2 0 0 0 0 0
 
 
 0 1 2 0 –1 0 0 0 0
 
O max
–2 –2 –1 0 0 2 0 0 0
[ M̂NS ]12×9 = 


 (105)
 0 0 0 0 0 0 1 1 0
 
 0 0 0 0 0 –1 0 0 –1
 
 
 0 0 0 0 0 0 0 0 0
 
 0 0 0 0 0 0 0 0 2
 
 
 0 0 0 0 –1 0 0 2 0
0 0 0 0 0 2 3 1 0
Chapter 3. Case studies evaluating sparsity and decomposability 86

Among the 108 elements of [O M̂NS max ]


12×9 , 23 are different from zero. So the
O max
score of [ M̂NS ]12×9 is around ι = 78.70%, the upper bound of the score range.
The matrix [O M̂NS
max ]
12×9 is reducible, as indicated by the highlighted submatrix
of Equation (105). This submatrix has |I| = 9 rows and |J| = 3 columns, respecting the
decomposability condition. Thus [O M̂NSmax ]
12×9 can gain block triangular form.
Next the impact of the reference coordinate system on the sparsity and the
decomposability of motion matrices is evaluated.

3.2.3.2 Impact of the actuation set

A second reference frame is represented by full line arrows in Figure 22. The
frame Ox0 0 y 0 z 0 results from an alteration of the position and of the orientation of Oxyz ,
represented in Figure 22 by dashed arrows. The origin of Oxyz is moved to the position
of coupling e and Oxyz rotates 45◦ around the x axis.

Figure 22 – Asymmetrical 3 DOF mechanism and the second reference frame Ox0 0 y 0 z 0 .

0 0
45◦ 7
d h
4
e O0 O
5 i
0 6
x0
f g
a 8 x
y 1
45◦ j
b
c
2 3

z0

The twists composing [O M̂D ]6×12 of Equation (102) can be expressed in the
Ox0 0 y 0 z 0 frame through the screw transformation matrix of Equation (39). The rotation
matrix ROxyz →O 0 0 0 0 from frame Oxyz to frame Ox0 0 y 0 z 0 is shown in Equation (106):
x y z

   
1 0 0) 1 0 0
  √ √ 
ROxyz →O 0 0 = 0 cos(45◦ ) – sin(45◦ ) = 0 2/2 – 2/2 (106)

x y 0z0 √ √
0 sin(45◦ ) cos(45◦ ) 0 2/2 2/2
Chapter 3. Case studies evaluating sparsity and decomposability 87

The origin of Ox0 0 y 0 z 0 in respect to Oxyz is coincident to coupling e, so x0 = –2,


y0 = 0 and z0 = 0. Substituting this values in Equation (40), the skew-symmetric matrix
SOxyz →O 0 0 0 0 of Equation (107) is generated.
x y z

 
0 0 0
SOxyz →O 0 0 = 0 0 2 (107)
 
x y 0z0
0 –2 0
The screw transformation matrix TOxyz →O 0 0 0 0 is obtained by replacing Equations
x y z
(106) and (107) in Equation (39):
 
1 0 0 0 0 0
 √ √ 
0
 √2/2 –√ 2/2 0 0 0  
0 2/2 2/2 0 0 0 
TOxyz →O 0 0 = (108)
 
x y 0z0

0 0 0 1 0 0 

0 √ √ √ √ 
2 2 0 2/2 – 2/2
 √ √ √ √ 
0 – 2 2 0 2/2 2/2
The premultiplication of [O M̂D ]6×12 shown in Equation (102) by TOxyz → Ox0 0 y 0 z 0
0
shown in Equation (108) gives the unit motion matrix [O M̂D ]6×12 presented in Equation
(109).

a b cr cs d e

1 1 1 0 0 0
 0 √ √
0 0 1/2 2 0 1/2 2

 √ √
0
[ M̂D ]6×12 =  0
O 0 0 1/2 2 0 1/2 2 · · ·

 0 0 0 –2 0 0
 √ √ √ √ √ √

 2 3/2 2 3/2 2 2 1/2 2 2 2
√ √ √ √ √ √
– 2 –1/2 2 1/2 2 – 2 1/2 2 –2 2

f g h i jr js

0 0 1 1 1 0
√ √ √
1/2 2 1/2 2 0 0 0 1/2 2
√ √ √  
··· 1/2 2 1/2 2 0 0 0 1/2 2  (109)
–1 –2 0 0 0 –2
√ √ √ √ √ √  
2 2 3/2 2 –3/2 2 –1/2 2 1/2 2 2
√ √ √ √ √ √
–2 2 –3/2 2 3/2 2 3/2 2 3/2 2 – 2

0
where the superscript O 0 signals that [O M̂D ]6×12 refers to Ox0 0 y 0 z 0 .
0 0
Matrix [O M̂D ]6×12 produces the network unit motion matrix [O M̂N ]12×12 of
Equation (110).
Chapter 3. Case studies evaluating sparsity and decomposability 88

a b cr cs d e

1 1 1 0 0 0
 0 √ √
0 0 1/2 2 0 –1/2 2

 √ √
 0 0 0 1/2 2 0 –1/2 2

 0 0 0 –2 0 0
 √ √ √ √ √ √

 2 3/2 2 3/2 2 2 –1/2 2 –2 2
 √ √ √ √ √ √
0 – 2
O
[ M̂N ]12×12 =  –1/2 2 1/2 2 – 2 –1/2 2 2 2 ···

 0 0 0 0 0 0

 0 √
0 0 0 0 –1/2 2

 √
 0 0 0 0 0 –1/2 2

 0 0 0 0 0 0

 √ √
 0 0 0 0 –1/2 2 –2 2
√ √
0 0 0 0 –1/2 2 2 2

f g h i jr js

0 0 0 0 0 0
√ √
–1/2 2 1/2 2 0 0 0 0
√ √ 

–1/2 2 1/2 2 0 0 0 0
1 –2 0 0 0 0
√ √ 

–2 2 3/2 2 0 0 0 0
√ √ 
··· 2 2 –3/2 2 0 0 0 0 (110)

0 0 1 1 1 0
√ √ √ 
–1/2 2 1/2 2 0 0 0 –1/2 2
√ √ √  
–1/2 2 1/2 2 0 0 0 –1/2 2 
1 –2 0 0 0 2
√ √ √ √ √ √  
–2 2 3/2 2 –3/2 2 –1/2 2 1/2 2 – 2
√ √ √ √ √ √
2 2 –3/2 2 3/2 2 3/2 2 3/2 2 2

0
The dual matroid of the matrix [O M̂N ]12×12 shown in Equation (110) has 99
bases, the same bases coming from the dual matroid of [O M̂N ]12×12 shown in Equation
0
(103). The sparsity score of [O M̂NS k ]
12×9 is within the interval 54.63% ≤ ι ≤ 65.74%.
Actuating the revolute joint i and the universal joint j, i.e. selecting the actuation
set {i, jr , js }, generates a matrix with poor sparsity. The structure of this matrix is shown
Chapter 3. Case studies evaluating sparsity and decomposability 89

in Equation (111).

a b cr cs d e f g h
 
× × × 0 0 0 0 0 0
0 0 0
 × 0 × × × 0
 
0 0 0
 × 0 × × × 0
0 0 0
 × 0 0 × × 0
 
× × × × × × × × 0
 
0 × × ×
O min
[ M̂NS ]12×9 =  × × × × × 0 (111)
 
0 0 0
 0 0 0 0 0 ×
0 0 0
 0 0 × × × 0
 
0 0 0
 0 0 × × × 0
0 0 0
 0 0 0 × × 0
 
0 0 0 0 × × × × ×
0 0 0 0 × × × × ×

0
The score of the matrix [O M̂NS min ]
12×9 is the lower bound of the score range. The
structure matrix of Equation (111) contains 49 nonzero entries among its 108 elements,
giving ι = 54.63%.
0
The matrix [O M̂NSmin ]
12×9 presents a zero submatrix as highlighted in Equation
(111). The size of this submatrix is |I| × |J| = 9 × 3, whose sum gives 12, respecting the
0
decomposability condition. Thus [O M̂NS min ]
12×9 is reducible.
When the actuation set {f , g, h} is chosen, the resulting matrix is one of the
0
matrices with maximum sparsity among the 99 [O M̂NS k ]
12×9 matrices. The structure of
0
O max
[ M̂NS ]12×9 is presented in Equation (112).

a b cr cs d e i jr js
 
× × × 0 0 0 0 0 0
0
 0 0 × 0 × 0 0 0
 
0
 0 0 × 0 × 0 0 0
0
 0 0 × 0 0 0 0 0
 
× × × × × × 0 0 0
 
0 ×
O max
[ M̂NS ]12×9 =  × × × × × 0 0 0 (112)
 
0
 0 0 0 0 0 × × 0
0
 0 0 0 0 × 0 0 × 
 
0
 0 0 0 0 × 0 0 × 
0
 0 0 0 0 0 0 0 × 
 
0 0 0 0 × × × × ×
0 0 0 0 × × × × ×
Chapter 3. Case studies evaluating sparsity and decomposability 90

0
Matrix [O M̂NSmax ]
12×9 possess 108 elements, among which 37 are nonzero
entries. The resulting score is ι = 65.74%, the upper bound of the score range.
0
It can be inferred from Equation (112) that [O M̂NS max ] O 0 max
12×9 is reducible. [ M̂NS ]12×9
contains a zero submatrix consisting of |I| = 9 rows and |J| = 3 columns, emphasized in
0
Equation (112). Thus the decomposability condition is obeyed and [O M̂NS max ]
12×9 can
gain block triangular form
A third reference frame Ox0000 y 00 z 00 is defined to try to find a coordinate system that
enhances the sparsity. The reference frame Ox0000 y 00 z 00 is represented by full line arrows in
Figure 23. Frame Ox0000 y 00 z 00 is generated just by moving the origin of Oxyz to the position
of coupling a. No change in the orientation of Oxyz is done.

Figure 23 – Asymmetrical 3 DOF mechanism and the third reference frame Ox0000 y 00 z 00 .

0 0
7
d h
4
e O
5 i
0 6
O 00
y f g
a 8 x
1
j
y 00 b
c x 00
2 3

z 00
z

A screw transformation matrix TOxyz →O 0000 is defined to obtain a unit motion


x y 00 z 00
matrix referring to Ox0000 y 00 z 00 .
Since there is no change in the orientation, the rotation
matrix ROxyz →O 0000 00 is simply an identity matrix of size 3.
x y z 00
The origin of Ox0000 y 00 z 00 is coincident to coupling a, so x0 = 0, y0 = 2 and z0 = 0.
Replacing these values in Equation (40) results in the matrix of Equation (113).
 
0 0 2
SOxyz →O 0000 =  0 0 0 (113)
 
x y 00 z 00
–2 0 0
The screw transformation matrix TOxyz →O 0000 shown in Equation (114) is
x y 00 z 00
Chapter 3. Case studies evaluating sparsity and decomposability 91

determined by using these two input data in Equation (39).


 
1 0 0 0 0 0
 
0 1 0 0 0 0
 
0 0 1 0 0 0
TOxyz →O 0000 = (114)
 
x y 00 z 00

0 0 2 1 0 0
 
0 0 0 0 1 0
 
–2 0 0 0 0 1
The matrix TOxyz →O 0000 00 00 of Equation (114) is post-multiplied by [O M̂D ]6×12 of
x y z
00
Equation (102) to create the unit motion matrix [O M̂D ]6×12 presented in Equation
(115).

a b cr cs d e f g h i jr js
 
1 1 1 0 0 0 0 0 1 1 1 0
 0 0 0 1 0 1 1 1 0 0 0 1
 
00
 
[ M̂D ]6×12 =  0
O 0 0 0 0 0 0 0 0 0 0 0 (115)


 0 0 0 –2 0 0 –1 –2 0 0 0 –2
 
 
 0 1 2 0 1 0 0 0 0 1 2 0
–4 –4 –3 0 0 –2 –2 –1 1 0 –1 0

00
where the superscript O 00 indicates that the twists composing [O M̂D ]6×12 refer to the
Ox0000 y 00 z 00 coordinate system.
00
The matrix of Equation (115) generates the network unit motion matrix [O M̂N ]12×12
in Equation (116).

a b c r cs d e f g h i jr js
 
1 1 1 0 0 0 0 0 0 0 0 0
 0 0 0 1 0 –1 –1 1 0 0 0 0
 
 
 0 0 0 0 0 0 0 0 0 0 0 0
 
 0 0 0 –2 0 0 1 –2 0 0 0 0
 
 
 0 1 2 0 –1 0 0 0 0 0 0 0
 
00 –4
O
[ M̂N ]12×12 =  –4 –3 0 0 2 2 –1 0 0 0 0 (116)
 
 0 0 0 0 0 0 0 0 1 1 1 0
 
 0 0 0 0 0 –1 –1 1 0 0 0 –1
 
 
 0 0 0 0 0 0 0 0 0 0 0 0
 
 0 0 0 0 0 0 1 –2 0 0 0 2
 
 
 0 0 0 0 –1 0 0 0 0 1 2 0
0 0 0 0 0 2 2 –1 1 0 –1 0
Chapter 3. Case studies evaluating sparsity and decomposability 92

Similarly to the previous cases, there are 99 valid actuation sets enumerated
using matroid theory for the Asym3DOF. The selection of the actuated joints determines
00 00
the sparsity of [O M̂NS ]12×9 . Considering the matrix [O M̂N ]12×12 of Equation (116),
00
the score of [O M̂NS ]12×9 ranges from 71.30% to 79.63%.
00
A matrix [O M̂NS min ]
12×9 with the minimum score is generated when the actuation
set {d, i, js } is selected. This matrix is presented in Equation (117).

a b c r cs e f g h jr
 
1 1 1 0 0 0 0 0 0
 0 0 0 1 –1 –1 1 0 0
 
 
 0 0 0 0 0 0 0 0 0
 
 0 0 0 –2 0 1 –2 0 0
 
 
 0 1 2 0 0 0 0 0 0
 
00 –4
O min
[ M̂NS ]12×9 =  –4 –3 0 2 2 –1 0 0 (117)
 
 0 0 0 0 0 0 0 1 1
 
 0 0 0 0 –1 –1 1 0 0
 
 
 0 0 0 0 0 0 0 0 0
 
 0 0 0 0 0 1 –2 0 0
 
 
 0 0 0 0 0 0 0 0 2
0 0 0 0 2 2 –1 1 –1

00
Among the 108 elements of [O M̂NS min ]
12×9 , 31 are different from zero. So its
score is ι = 71.30%.
00
Another feature of [O M̂NS min ]
12×9 is that it can gain block triangular form. The
submatrix highlighted in Equation (117) is an evidence of decomposability, since it
00
consists of |I| = 9 rows and |J| = 3 columns, whose sum gives 12. Thus [O M̂NS min ]
12×9
is reducible.
There is a single matrix with maximum score among the 99 possibilities. The
00
matrix [O M̂NSmax ]
12×9 of Equation (118) is produced when the actuation set {f , g, jr } is
Chapter 3. Case studies evaluating sparsity and decomposability 93

chosen.

a b cr cs d e h i js
 
1 1 1 0 0 0 0 0 0
 0 0 0 1 0 –1 0 0 0
 
 
 0 0 0 0 0 0 0 0 0
 
 0 0 0 –2 0 0 0 0 0
 
 
 0 1 2 0 –1 0 0 0 0
 
00 –4
O max
[ M̂NS ]12×9 =  –4 –3 0 0 2 0 0 0 (118)
 
 0 0 0 0 0 0 1 1 0
 
 0 0 0 0 0 –1 0 0 –1
 
 
 0 0 0 0 0 0 0 0 0
 
 0 0 0 0 0 0 0 0 2
 
 
 0 0 0 0 –1 0 0 1 0
0 0 0 0 0 2 1 0 0

00
Only 22 of the 108 elements of [O M̂NSmax ]
12×9 are nonzero entries, resulting in
ι = 79.63%.
00
Equally to the previous network unit motion matrices, [O M̂NS max ]
12×9 contains
a zero submatrix which respects the decomposability condition. This submatrix is
emphasized in Equation (118) and is composed of |I| = 9 rows and |J| = 3 columns, so
00
|I| + |J| = 12. Therefore [O M̂NS
max ]
12×9 is reducible.
Table 7 assembles the score values of the different [M̂NS ]12×9 matrices defined
by distinct actuation sets and reference frames. Furthermore, Table 7 points out the
matrices decomposability.

Table 7 – Sparsity score and decomposability of the Asym3DOF’s [M̂NS ]12×9 matrices.

Reference frame Actuation set Matrix ι Decomposability


Oxyz {d, h, js } [O M̂NS
min
]12×9 - Eq. (104) 70.37% Reducible
O max
Oxyz {f , g, i} [ M̂NS ]12×9 - Eq. (105) 78.70% Reducible
0
Ox0 0 y 0 z 0 {i, jr , js } [O M̂NS
min
]12×9 - Eq. (111) 54.63% Reducible
0
Ox0 0 y 0 z 0 {f , g, h} O max
[ M̂NS ]12×9 - Eq. (112) 65.74% Reducible
00
Ox0000 y 00 z 00 {d, i, j} [O M̂NSmin
]12×9 - Eq. (117) 71.30% Reducible
00
Ox0000 y 00 z 00 {f , g, jr } O max
[ M̂NS ]12×9 - Eq. (118) 79.63% Reducible

Likewise the Tripteron’s case study, the results contained in Table 7 correspond
to the Asym3DOF’s posture shown in Figure 20. These results can change when the
mechanism takes another configuration while in operation.
Table 7 exposes that coincidentally all the matrices [M̂NS ]12×9 of this case study
are reducible. By looking back to the equations listed in Table 7, notice that all of them
have the same zero submatrix which meets the requisite to be decomposed into block
Chapter 3. Case studies evaluating sparsity and decomposability 94

triangular. This is due to the fact that no actuation set containing a, b or cr generates a
matrix whose sparsity fixes the limits of the score range, for the three reference frames
considered in this case study.
Table 7 also reveals that the reference frame and actuation set that theoretically
provide the best computational efficiency is the frame Ox0000 y 00 z 00 and the set {f , g, jr }. Thus
among the three coordinate systems considered for the Asym3DOF, frame Ox0000 y 00 z 00 is
00
the closest one to be defined as the SERF. The matrix [O M̂NS max ]
12×9 demands less
memory to be stored due to its score and also it can decomposed into block triangular
form, allowing to break the problem into smaller ones.
A difficulty coming from the selection the actuation set {f , g, jr } is that just one
axis of the universal joint j must be actuated. This hampers the Asym3DOF design in
constructive terms, as some care should be taken to avoid collisions on the actuator,
e.g. a rotative motor. One possibility is using tendons to partially actuate joint j, so the
motor can be installed on the base.
One option to avoid this constructive difficulty is referring the twists to frame
Oxyz and actuating joints f , g and i. The score of [O M̂NS max ]
12×9 is slightly lower than
00
the score of [O M̂NS max ]
12×9 . They differ by less than one percentage point. This option
do not compromise computational efficiency, as the matrix is also reducible.
Defining the frame Ox0 0 y 0 z 0 as reference and actuating the revolute joint i and
the universal joint j is the worst case scenario in terms of sparsity. The high density
requires more memory to be stored.
To verify the statements made about the matrices with highest and lowest score
listed in Table 7, the procedure used to evaluate computational performance for the
PUMA robot and the Tripteron is carried out again. Similarly to the Tripteron, the
00
linear system presented in Equation (48) is solved considering [O M̂NS max ]
12×9 and
0
O min 5
[ M̂NS ]12×9 as coefficient matrices. Both linear systems are solved 10 times via the
function mldivide() and the mean time to get a solution is compared.
Since both matrices are reducible, both are permuted into block triangular form
through the Dulmage-Mendelsohn decomposition. Similarly to the Tripteron, the primary
variables for both linear system are assumed as {ψ ~ } T
P 3×1 = [1, 1, 1] . The matrices
00
[O M̂NS
max ] O 0 min
12×9 and [ M̂NS ]12×9 in their block triangular form and the constant vector
–[M̂NP ]9×3 {ψ~ }
P 3×1 are converted to sparse arrays to be the input of the solver function.
The average time to obtain a solution for each linear system is shown in Table 8.

~ }
Table 8 – Mean of the time to solve the linear system [M̂NS ]m×m {ψ =
S m×1
~ 5
–[M̂NP ]m×FN {ψP }FN ×1 10 times for the Asym3DOF.

Reference frame Actuation set Matrix Average running time [s]


00
Ox0000 y 00 z 00 {f , g, jr } [O M̂NS
max
]12×9 - Eq. (118) 1.3688e-04
0
Ox0 0 y 0 z 0 {i, jr , js } O min
[ M̂NS ]12×9 - Eq. (111) 1.7138e-04
Chapter 3. Case studies evaluating sparsity and decomposability 95

0
As expected, the linear system corresponding to [O M̂NS min ]
12×9 demands in
00
O
average more time to be solved than the linear system related to [ M̂NS max ]
12×9 . Matrix
0
[O M̂NS
min ]
12×9 is denser, with a score lower by 25 percentage points when compared to
0
the score of [O M̂NSmin ] O 0 min
12×9 . Consequently,[ M̂NS ]12×9 demands more memory to be
computed, leading to a higher solution time.
The asymmetry of the Asym3DOF do not provoked an obstacle to define the
reference coordinate system, due to its simplicity. The first frame Oxyz already has given
good results concerning sparsity and decomposability. However, for more complex
asymmetric parallel manipulators, perhaps defining the reference is not so simple.
Therefore the search for a method to select the reference frame which enhances
sparsity and allows decomposability should continue.
96

4 THESIS PROPOSAL

This chapter details the thesis proposal. Section 4.1 exposes the thesis main
goal and lists the specific objectives to achieve it. The contributions of the thesis are
detailed in Section 4.2. Section 4.3 presents how the thesis will be developed and the
work schedule. Section 4.4 contains the financial forecast.

4.1 THESIS OBJECTIVES

The main goal of the thesis is developing a general method and an algorithm
to define the position and orientation of the reference frame that gives a differential
kinematics matrix (Jacobian for serial robots and Network Unit Motion Matrix for parallel
robots) that presents the best compromise between:

• Sparsity: the matrix should contain the maximum possible amount of zero entries
without becoming irreducible;

• Decomposability: the matrix can be reduced to its finest block-triangular form even
presenting a high sparsity score, i.e. the matrix is reducible.

The reference frame resulting from the method and the algorithm will be
called as Sparsity Enhancement Reference Frame (SERF). When applied in parallel
manipulators, the method and the algorithm also indicate the actuation set that
generates a reducible Network Unit Motion Matrix with enhanced sparsity.
The compromise between matrix sparsity and matrix decomposability improves
the computational efficiency in the resolution of the inverse kinematics problem of serial
and parallel robots. The increase of computational performance is due to:

• The zero entries of sparse matrices do not need to be stored when specific
algorithms are used, so no computation is performed with these entries;

• The inversion of a matrix in block-triangular form can be done systematically by a


back-substitution process, requiring less computational effort.

In order to achieve the main goal, the following specific objectives are listed
below:

• To carry out an extensive bibliographic review to investigate methodologies


currently used to define the reference frame in differential kinematics analyses;
to explore matrix decomposition techniques and some criteria to establish when
a matrix becomes irreducible; to investigate methods for computational effort
evaluation (e.g. amount of time, number of necessary operations or memory
required to solve a linear system);
Chapter 4. Thesis Proposal 97

• To develop an algorithm associating optimization and linear algebra to define


the reference frame that enhances sparsity without turning the matrix irreducible,
i.e. the SERF. This algorithm should be based on screw theory and the screw
transformation matrix (Section 2.5.1.2);

• To investigate some approaches in linear algebra to generate orthogonal and


skew-symmetric matrices, to be applied in the screw transformation matrix;

• To develop a criterion to evaluate matrix decomposability and sparsity employing


matroid theory and bipartite graphs. This criterion should be used as a stop
criterion in the algorithm;

• To develop a criterion to evaluate sparsity and decomposability of [M̂NS ]λν×(F –FN )


without enumerating all feasible actuation sets (for parallel manipulators);

• The differential kinematics matrix referring to the SERF should demand less
memory in the computation of its inverse. This reduction is due to the fact that the
matrix would have a considerable amount of zero entries that would neither be
stored nor be included in any computation;

• The differential kinematics matrix referring to the SERF should induce fewer errors
in the solution of the inverse kinematics problem. The error decrease results from
the matrix decomposability. The reduction of the matrix to its finest block-triangular
form enables a linear system to be solved by a back-substitution process, where
the diagonal blocks obtained through the decomposition are inverted. This avoids
the inversion of a matrix with higher dimensions, a calculation which generates
more errors;

• The differential kinematics matrix referring to the SERF should facilitate the
computation in the solution of the inverse kinematics problem. Due to the fact
that this matrix should have enhanced sparsity, it should be easier to find an
analytical solution. This analytical solution provides complete forward kinematics
solutions for diverse configurations of a robot manipulator;

• The method/algorithm should in general improve computational speed in the


solution of the inverse kinematics problem. The differential kinematics matrix
referring to the SERF should have enhanced sparsity and be decomposable. A
sparse matrix with a considerable amount of zero entries leads to fast computation
since the zero entries are not stored and no computation is performed with them.
A matrix in its finest block-triangular form lightens the computational effort in the
solution of a linear system. These two features lead to a boost in computational
speed;
Chapter 4. Thesis Proposal 98

• The method/algorithm should be developed using simpler case studies, compris-


ing planar parallel robots and serial robots with simpler architecture;

• The method/algorithm should be validated by applying it in more complex


case studies, comprising spatial parallel robots and serial robots with complex
architecture.

4.2 THESIS CONTRIBUTIONS

Some potential contributions of the thesis proposed are listed as follows:

• A criterion to select actuation schemes: for parallel manipulators, the method


and the algorithm would define the allocation of actuators considering the sparsity
and decomposability of the motion matrices obtained via Davies’ method. Using
matrix sparsity and matrix decomposability is an innovative criterion to choose
actuated joints;

• Algorithm to define the reference frame that gives enhanced sparsity and
decomposability: the tips on defining the reference coordinate system presented
in Section 2.6.1 help to generate a Jacobian with many zero elements and
simplified nonzero elements. However, some robots may present more than one
feature that could determine the reference frame. The defining feature could
provide worse results regarding sparsity and decomposability than the other
features that were not considered. Moreover, the robot architecture can be so
complex that following the suggestions of Section 2.6.1 would be hard. Thus an
algorithm to define the position and the orientation of the reference frame would
help the analysis of such robots;

• General method to define the reference frame of serial and parallel manip-
ulators: the Davies method when associated with virtual chains can be used to
solve the differential kinematics of serial and parallel robots (BONILLA, 2004).
Since one of the specific objectives of the thesis is developing this algorithm using
screw theory, the Davies method should be employed in the differential kinematics
analysis. The algorithm developed in the thesis would be suitable for serial and
parallel robots, thus being a general method to determine the SERF;

• A new tool for roboticists: the method and the algorithm produced in the thesis
would be a design tool focused on computational efficiency and could be applied
in robot’s design and programming. It would include new criteria in robot design,
such as allocating the actuators in joints that would lighten the solution of the
inverse kinematic problem;
Chapter 4. Thesis Proposal 99

• Applications beyond robotics: the method and the algorithm developed in the
thesis could be applied with some adaptations in other engineering fields besides
robotics, such as solid mechanics. Engineering problems requiring a reference
coordinate system to be solved can benefit from the product of the thesis.

4.3 ACTIVITIES AND TIMELINE

The following activities are required to fulfil the proposed objectives:

1. Carrying out the bibliographic review proposed in Section 4.1;

2. Searching for suitable optimization algorithms that lead to enhanced sparsity;

3. Searching for sparse matrices decompositions that are suitable for the sub-
matrices of the screw transformation matrix and lead to enhanced sparsity;

4. Studying how bipartite graphs and matroid theory can be used to evaluate
decomposability and sparsity;

5. Identifying methods to quantify the gain in computational efficiency when the


matrix resulting from the algorithm is used to solve a linear system, instead of the
matrices generated from traditional methods;

6. Developing a first version of the method and the algorithm that indicate the
reference frame that leads to enhanced computational efficiency;

7. Developing case studies with robots of simple architecture;

8. Developing case studies with robots of complex architecture;

9. Identifying the flaws in the algorithm and correcting them;

10. Writing the thesis and papers for conferences and journals;

11. Thesis presentation.

These activities are scheduled according to Table 9.

4.4 FINANCIAL FORECAST

Open source softwares will be given preference to develop the algorithm.


Softwares licenses, if needed, can be paid using the bench fee provided by CNPq.
Bibliographic sources that are neither available in the library of UFSC nor online
may be also acquired using the bench fee.
Chapter 4. Thesis Proposal 100

Table 9 – Schedule for thesis activities.


Activities planned by bimester
2020 2021 2022
Activity 4 5 6 1 2 3 4 5 6 1 2 3
1
2
3
4
5
6
7
8
9
10
11
101

5 FINAL CONSIDERATIONS

This work presented a thesis proposal to develop a method and an algorithm


aiming to define the position and the orientation of the reference frame that generates a
reducible Jacobian (or a reducible motion matrix) with enhanced sparsity, the Sparsity
Enhancing Reference Frame (SERF). The goal is reducing the computational effort to
solve linear systems, since these features can increase computational efficiency in the
solution of the inverse kinematics problem, aiding real-time control.
By searching similar works in the robotics and mechanism’s literature, a method
or an algorithm with this objective were not found. Therefore the method/algorithm
produced in the thesis would be a novelty in the robotics field.
A procedure to enhance the sparsity of the Jacobian of a serial robot with 6 DOF
is proposed in Section 3.1 of the chapter presenting some case studies. This procedure
uses the full QR factorization to define the orientation of the reference coordinate
system. The hypothesis is that considering the matrix Q as the rotation matrix Ri→j
of the screw transformation matrix Ti→j would indicate a reference frame that would
increase the number of zero entries of the Jacobian. The screw-based Jacobian of the
PUMA robot is defined by using two different frames corresponding to intermediate
links. Then the procedure proposed is applied on both of them, giving dubious results.
Thus a more in-depth research should be conducted to improve this procedure. This
involves studying other decomposition methods and searching other approaches in
linear algebra.
Two case studies concern parallel manipulators in Chapter 3, where the Davies
method is employed in their differential kinematics. Besides the reference frame,
the selection of the actuated joints is taken into consideration in the evaluation of
sparsity and decomposability. The first case study concerns the Tripteron manipulator,
a symmetric parallel robot. It is observed that for the same reference frame, different
actuation sets can change the decomposability of [M̂NS ]λν×(F –FN ) . The actuation set
also has a strong impact on the sparsity. For the same reference frame, two distinct
actuation sets can give a score difference of around 10 percentage points. In this study
case, it can be noted that defining a reference coordinate system that enhances sparsity
is intuitive, due to the Tripteron’s symmetry.
The second case study concerning parallel manipulators analyses an asymmetri-
cal 3 DOF parallel mechanism (Asym3DOF). The objective was verify if the asymmetry
could hamper the outlining of the reference coordinate system. The asymmetry did
not create an obstacle due to the the Asym3DOF’s simple architecture. Nonetheless,
an asymmetric parallel robot with a more complex structure could turn the reference
definition not so evident.
In the case studies of the PUMA robot, of the Tripteron manipulator and of
Chapter 5. Final Considerations 102

the Asym3DOF, computational performance is evaluated by the mean time to solve a


linear system. Multiple linear systems are defined by different coefficient matrices, with
distinct sparsity scores and decomposability. The evaluation illustrates the benefits of
reducible matrices with enhanced sparsity in the computation performance involved in
the solution of linear systems. The average times to solve the linear systems are very
short and they slightly diverge. However, this small divergence can make a difference
in a small control cycle, considering that the linear system should be solved over and
over again, and benefit real-time control in fast applications.
The thesis herein proposed would generate a new tool for robot designers.
Another approach to take into consideration the computational efficiency in the solution
of the inverse kinematics problem would be available. In conclusion, the product of the
thesis would add another instrument in roboticists’ toolbox.
103

REFERENCES

BALL, Robert Stawell. A Treatise on the Theory of Screws. [S.l.]: Cambridge


university press, 1998.

BERTRAND, S; BRUNEAU, O; OUEZDOU, FB; ALFAYAD, S. Closed-form solutions of


inverse kinematic models for the control of a biped robot with 8 active degrees of
freedom per leg. Mechanism and Machine Theory, Elsevier, v. 49, p. 117–140, 2012.

BOGIATZIS, Petros; ISHII, Miaki; DAVIS, Timothy A. The Dulmage–Mendelsohn


permutation in seismic tomography. Geophysical Journal International, Oxford
University Press, v. 218, n. 2, p. 1157–1173, 2019.

BONILLA, Anibal Alexandre Campos. Cinemática diferencial de manipuladores


empregando cadeias virtuais. 2004. PhD thesis – Universidade Federal de Santa
Catarina.

BROWNLEE, Jason. A Gentle Introduction to Sparse Matrices for Machine


Learning. Accessed: 05 dez. 2019. Mar. 2014. Available from:
https://machinelearningmastery.com/sparse-matrices-for-machine-learning/.

CAMPOS, A; GUENTHER, R; MARTINS, D. Differential kinematics of serial


manipulators using virtual chains. Journal of the Brazilian Society of Mechanical
Sciences and Engineering, SciELO Brasil, v. 27, n. 4, p. 345–356, 2005.

CARBONI, Andrea Piga. Análise de mecanismos com restrições redundantes


através da aplicação da teoria de matroides. 2015. PhD thesis – Universidade
Federal de Santa Catarina.

CARBONI, Andrea Piga; SIMAS, Henrique; MARTINS, Daniel. Actuation scheme


enumeration and optimal selection for parallel mechanisms based on matroid theory.
Mechanism and Machine Theory, Elsevier, v. 151, p. 103891, 2020.

CARBONI, Andrea Piga; SIMAS, Henrique; MARTINS, Daniel. Analysis of self-aligning


mechanisms by means of matroid theory. In: SPRINGER. INTERNATIONAL Symposiu
on Multibody Systems and Mechatronics. [S.l.: s.n.], 2017. p. 61–73.

CARBONI, Andrea Piga; SIMAS, Henrique; MARTINS, Daniel. Matroid application to


self-aligning mechanisms: enumeration and analysis. International Journal of
Mechanisms and Robotic Systems, Inderscience Publishers (IEL), v. 4, n. 4,
p. 305–322, 2018.

CRAIG, John J. Introduction to robotics: mechanics and control. [S.l.]: Pearson


Education International, 2005.
REFERENCES 104

CRISAN, Adina; NEGREAN, Iuliu. THE JACOBIAN MATRIX BASED ON THE


TRANSFER MATRICES. ACTA TECHNICA NAPOCENSIS-Series: APPLIED
MATHEMATICS, MECHANICS, and ENGINEERING, v. 62, n. 1, 2019.

DANIALI, HR Mohammadi; ZSOMBOR-MURRAY, PJ; ANGELES, Jorge. Singularity


analysis of planar parallel manipulators. Mechanism and Machine Theory, Elsevier,
v. 30, n. 5, p. 665–678, 1995.

DAVIES, TH. Freedom and constraint in coupling networks. Proceedings of the


Institution of Mechanical Engineers, Part C: Journal of Mechanical Engineering
Science, SAGE Publications Sage UK: London, England, v. 220, n. 7, p. 989–1010,
2006.

DAVIES, TH. Kirchhoff’s circulation law applied to multi-loop kinematic chains.


Mechanism and machine theory, Elsevier, v. 16, n. 3, p. 171–183, 1981.

DAVIS, Timothy A. Direct methods for sparse linear systems. [S.l.]: Siam, 2006.
v. 2.

DUFF, Iain S. A survey of sparse matrix research. Proceedings of the IEEE, IEEE,
v. 65, n. 4, p. 500–535, 1977.

DUFF, Iain S; ERISMAN, Albert Maurice; REID, John Ker. Direct methods for
sparse matrices. [S.l.]: Oxford University Press, 2017.

DULMAGE, AL; MENDELSOHN, NS. Graph Theory and Theoretical Physics:


Graphs and Matrices. [S.l.]: Academic Press, 1967.

DULMAGE, Andrew L. A structure theory of bipartite graphs of finite exterior dimension.


The Transactions of the Royal Society of Canada, Section III, v. 53, p. 1–13, 1959.

DULMAGE, Andrew L; MENDELSOHN, Nathan S. Coverings of bipartite graphs.


Canadian Journal of Mathematics, Cambridge University Press, v. 10, p. 517–534,
1958.

FEATHERSTONE, Roy. Position and velocity transformations between robot


end-effector coordinates and joint angles. The International Journal of Robotics
Research, Sage Publications Sage CA: Thousand Oaks, CA, v. 2, n. 2, p. 35–45,
1983.

GOEHLER, Craig M; MURRAY, Wendy M. Computational development of Jacobian


matrices for complex spatial manipulators. Advances in Engineering Software,
Elsevier, v. 47, n. 1, p. 160–163, 2012.

GORDON, Gary; MCNULTY, Jennifer. Matroids: a geometric introduction. [S.l.]:


Cambridge University Press, 2012.
REFERENCES 105

GRADSHTEYN, Izrail Solomonovich; RYZHIK, Iosif Moiseevich. Table of integrals,


series, and products. [S.l.]: Academic press, 2014.

HARTENBERG, Richard S; DENAVIT, Jacques. A kinematic notation for lower pair


mechanisms based on matrices. Journal of applied mechanics, v. 77, n. 2,
p. 215–221, 1955.

HASAN, AT; HAMOUDA, AMS; ISMAIL, N; ARIS, I; MARHABAN, MH. Trajectory


tracking for a serial robot manipulator passing through singular configurations based
on the adaptive kinematics Jacobian method. Proceedings of the institution of
mechanical engineers, Part I: journal of systems and control engineering, SAGE
Publications Sage UK: London, England, v. 223, n. 3, p. 393–415, 2009.

HOLLERBACH, J; SAHAR, Gideon. Wrist-partitioned inverse kinematic accelerations


and manipulator dynamics. In: IEEE. PROCEEDINGS. 1984 IEEE International
Conference on Robotics and Automation. [S.l.: s.n.], 1984. p. 152–161.

HUNT, Kenneth H. Kinematic geometry of mechanisms. [S.l.]: Oxford University


Press, USA, 1978. v. 7.

HUNT, Kenneth H. Special configurations of robot-arms via screw theory. Robotica,


Cambridge University Press, v. 4, n. 3, p. 171–179, 1986.

HUNT, Kenneth H. Special configurations of robot-arms via screw theory. Robotica,


Cambridge University Press, v. 5, n. 1, p. 17–22, 1987.

IFR, International Federation of Robotics. Robot History: Timeline. Accessed: 17


may 2020. Mar. 2017. Available from: https://ifr.org/robot-history.

JOSHI, Sameer A; TSAI, Lung-Wen. Jacobian analysis of limited-DOF parallel


manipulators. J. Mech. Des., v. 124, n. 2, p. 254–258, 2002.

KONG, Xianwen; GOSSELIN, Clément M. Generation of parallel manipulators with


three translational degrees of freedom based on screw theory. In: CITESEER. PROC.
2001 CCToMM Symposium on Mechanisms, Machines and Mechatronics,
Saint-Hubert, Montreal. [S.l.: s.n.], 2001.

KUCUK, Serdar; BINGUL, Zafer. Inverse kinematics solutions for industrial robot
manipulators with offset wrists. Applied Mathematical Modelling, Elsevier, v. 38,
n. 7-8, p. 1983–1999, 2014.

LAUS, LP; SIMAS, H; MARTINS, D. Efficiency of gear trains determined using graph
and screw theories. Mechanism and Machine Theory, Elsevier, v. 52, p. 296–325,
2012.
REFERENCES 106

LAVAL, L. de Robotique de l’Université de. Tripteron and Quadrupteron. Accessed:


27 jan. 2020. set 2006. Available from:
https://robot.gmc.ulaval.ca/en/research/research-thrusts/parallel-
mechanisms/tripteron-and-quadrupteron/.

LI, Chang-Jin; HEMAMI, Ahmad; SANKAR, TS. An efficient computational method of


the Jacobian for robot manipulators. Robotica, Cambridge University Press, v. 9, n. 2,
p. 231–234, 1991.

MARTINS, Daniel. Análise cinemática hierárquica de robôs manipuladores. 2004.


PhD thesis – Universidade Federal de Santa Catarina.

MARTINS, Daniel; GUENTHER, Raul. Hierarchical kinematic analysis of robots.


Mechanism and machine theory, Elsevier, v. 38, n. 6, p. 497–518, 2003.

MATHWORKS. mldivide. Accessed: 21 apr. 2020. Mar. 2014. Available from:


https://www.mathworks.com/help/matlab/ref/mldivide.html.

MEJIA, L; SIMAS, H; MARTINS, D. Wrench capability in redundant planar parallel


manipulators with net degree of constraint equal to four, five or six. Mechanism and
Machine Theory, Elsevier, v. 105, p. 58–79, 2016.

MUROTA, Kazuo. Matrices and matroids for systems analysis. [S.l.]: Springer
Science & Business Media, 2009. v. 20.

PHAM, Hoang-Lan; ADORNO, Bruno Vilhena; PERDEREAU, Véronique;


FRAISSE, Philippe. Set-point control of robot end-effector pose using dual quaternion
feedback. Robotics and Computer-Integrated Manufacturing, Elsevier, v. 52,
p. 100–110, 2018.

PIEPER, Donald L. The kinematics of manipulators under computer control.


1968. PhD thesis – STANFORD UNIV CA DEPT OF COMPUTER SCIENCE.

PIEPER; ROTH, B. The Kinematics of Manipulators under Computer Control


Zakopane. In: ZAKOPANE Poland: Proc of the 2nd International Congress on Theory
of Machines and Mechanisms. [S.l.: s.n.], 1969. p. 159–168.

PISSANETZKY, Sergio. Sparse Matrix Technology-electronic edition. [S.l.]:


Academic Press, 1984.

POTHEN, Alex; FAN, Chin-Ju. Computing the block triangular form of a sparse matrix.
ACM Transactions on Mathematical Software (TOMS), ACM New York, NY, USA,
v. 16, n. 4, p. 303–324, 1990.
REFERENCES 107

POZNA, Claudiu; PRECUP, Radu-Emil. On a translated frame-based approach to


geometric modeling of robots. Robotics and Autonomous Systems, Elsevier, v. 91,
p. 49–58, 2017.

RECSKI, András. Matroid theory and its applications in electric network theory
and in statics. [S.l.]: Springer Science & Business Media, 2013. v. 6.

REFAAT, Sameh; HERVE, Jacques M; NAHAVANDI, Saeid; TRINH, Hieu.


Asymmetrical three-DOFs rotational-translational parallel-kinematics mechanisms
based on Lie group theory. European journal of mechanics-A/Solids, Elsevier,
v. 25, n. 3, p. 550–558, 2006.

REINSCHKE, Kurt Johannes. Multivariable control: A graph-theoretic approach.


[S.l.]: Springer, 1988. v. 41.

REN, Hailin; BEN-TZVI, Pinhas. Learning inverse kinematics and dynamics of a


robotic manipulator using generative adversarial networks. Robotics and
Autonomous Systems, Elsevier, v. 124, p. 103386, 2020.

ROCHA, CR; TONETTO, CP; DIAS, A. A comparison between the


Denavit–Hartenberg and the screw-based methods used in kinematic modeling of
robot manipulators. Robotics and Computer-Integrated Manufacturing, Elsevier,
v. 27, n. 4, p. 723–728, 2011.

SICILIANO, Bruno; SCIAVICCO, Lorenzo; VILLANI, Luigi; ORIOLO, Giuseppe.


Robotics: modelling, planning and control. [S.l.]: Springer Science & Business
Media, 2010.

SLUTSKI, Leonid; CHABLAT, Damien; ANGELES, Jorge. The kinematics of


manipulators built from closed planar mechanisms. In: IEEE. 1999 IEEE/ASME
International Conference on Advanced Intelligent Mechatronics (Cat. No. 99TH8399).
[S.l.: s.n.], 1999. p. 531–536.

SOMAN, Shreevardhan Arunchandra; KHAPARDE, SA; PANDIT, Shubha.


Computational methods for large sparse power systems analysis: an object
oriented approach. [S.l.]: Springer Science & Business Media, 2012.

SPONG, Mark W; VIDYASAGAR, Mathukumalli. Robot dynamics and control. [S.l.]:


John Wiley & Sons, 2008.

STAUBLI UNIMATION LTD. Robot 560 C Arm Manual. [S.l.], 1990. C340.005.05.A
ch.2 pg.3.

SUGIMOTO, K; MATSUMOTO, Y. Kinematic analysis of manipulators by means of


the projective transformation of screw coordinates. [S.l.]: MIT Press, Cambridge,
MA, 1984. p. 695–705.
REFERENCES 108

TEWARSON, Reginald P. Sparse matrices. [S.l.]: Academic Press, 1973.

TREFETHEN, Lloyd N; BAU III, David. Numerical linear algebra. [S.l.]: Siam, 1997.
v. 50.

TSAI, Lung-Wen. Robot analysis: the mechanics of serial and parallel


manipulators. [S.l.]: John Wiley & Sons, 1999.

VALDIERO, Antonio Carlos; CAMPOS, Alexandre; GUENTHER, Raul; MATRINS, D.


Cálculo e Análise do Jacobiano de um manipulador paralelo de 3 graus de liberdade
baseado na teoria dos helicóides. In: IX Congresso Brasileiro de Engenharia
Mecânica. [S.l.: s.n.], 2001. p. 10.

WALDRON, Kenneth J; HUNT, Kenneth H. Series-parallel dualities in actively


coordinated mechanisms. The International Journal of Robotics Research, Sage
Publications Sage CA: Thousand Oaks, CA, v. 10, n. 5, p. 473–480, 1991.

WALDRON, KJ; WANG, Shih-Liang; BOLIN, SJ. A study of the Jacobian matrix of
serial manipulators, 1985.

WANG, Shih-Liang; WALDRON, Kenneth J. A study of the singular configurations of


serial manipulators, 1987.

WEI, Yanhui; JIAN, Shengqi; HE, Shuang; WANG, Zhepeng. General approach for
inverse kinematics of nR robots. Mechanism and Machine Theory, Elsevier, v. 75,
p. 97–106, 2014.

WHITNEY, Hassler. On the abstract properties of linear dependence. American


Journal of Mathematics, JSTOR, v. 57, n. 3, p. 509–533, 1935.

YANG, Guilin; CHEN, I-Ming; LIN, Wei; ANGELES, Jorge. Singularity analysis of
three-legged parallel robots based on passive-joint velocities. IEEE transactions on
robotics and automation, IEEE, v. 17, n. 4, p. 413–422, 2001.

YE, Hao; WANG, Dong; WU, Jun; YUE, Yi; ZHOU, Yulin. Forward and inverse
kinematics of a 5-DOF hybrid robot for composite material machining. Robotics and
Computer-Integrated Manufacturing, Elsevier, v. 65, p. 101961, 2020.

ZHAO, Jianguo; LI, Bing; YANG, Xiaojun; YU, Hongjian. Geometrical method to
determine the reciprocal screws and applications to parallel manipulators. Robotica,
Cambridge University Press, v. 27, n. 6, p. 929–940, 2009.

ZOMAYA, Albert Y; SMITH, H; OLARIU, Stephan. Computing robot Jacobians on


meshes with multiple buses. Microprocessors and Microsystems, Elsevier, v. 23,
n. 6, p. 309–324, 1999.
REFERENCES 109

ZUBIZARRETA, Asier; LARREA, Mikel; IRIGOYEN, Eloy; CABANES, Itziar;


PORTILLO, Eva. Real time direct kinematic problem computation of the 3PRS robot
using neural networks. Neurocomputing, Elsevier, v. 271, p. 104–114, 2018.
Appendix
111

APPENDIX A – HOMOGENEOUS TRANSFORMATION MATRICES OF PUMA


ROBOT

Figure 25 shows a representation of the Puma robot, with the links’ coordinate
systems defined by the DH convention. The joints are numerated from i to vi and the
links from 0 to 6 (SICILIANO et al., 2010).
Figure 24 – Puma robot with coordinate systems defined by DH convention.

x4 L
56
x5
z4
O
O4 5
z5
v
x3 4 5 x6
z3 iv vi
iii 3 O6
L1 O2 x2 6
2 O3 z6
ii L 34
z0 z2
O0 O1
1 x1
z1 L2
i

After establishing the coordinate systems of each links, the DH kinematic


parameters of the PUMA robot are obtained and presented in Table 10 (SICILIANO
et al., 2010).
Table 10 – DH parameters of the PUMA robot.

Joint i ai αi θi di
1 0 π/2 θ1 0
2 L2 0 θ2 –L1
3 0 π/2 θ3 0
4 0 –π/2 θ4 L34
5 0 π/2 θ5 0
6 0 0 θ6 L56

The parameter ai is the offset distance between two adjacent joint axes; αi is the
twist angle between two adjacent joint axes; θi is the joint angle between two incident
normals of a joint axis; and di is the translational distance between two incident normals
of a joint axis (TSAI, 1999).
APPENDIX A. Homogeneous Transformation Matrices of PUMA Robot 112

The transformation matrix from frame i to frame i – 1 is obtained by applying the


DH parameters in Equation (119) (SICILIANO et al., 2010):
 
cos(θi ) – cos(αi ) sin(θi ) sin(αi ) sin(θi ) ai cos(θi )
 
i–1
 sin(θi ) cos(αi ) cos(θi ) – sin(αi ) cos(θi ) ai sin(θi ) 
Ai = 
 0
 (119)
 sin(α i ) cos(α i ) d i


0 0 0 1
The homogeneous transformation matrices for each joint of the PUMA robot are
obtained by replacing the values of Table 10 in Equation (119).
For i = 1:
 
cos(θ1 ) 0 sin(θ1 ) 0
 
 sin(θ1 ) 0 – cos(θ1 ) 0
A01 = 
 0
 (120)
 1 0 0
0 0 0 1
For i = 2:
 
cos(θ2 ) – sin(θ2 ) 0 L2 cos(θ2 )
 
 sin(θ2 ) cos(θ2 ) 0 L2 sin(θ2 ) 
A12 = 
 0
 (121)
 0 1 –L1  
0 0 0 1
For i = 3:
 
cos(θ3 ) 0 sin(θ3 ) 0
 
 sin(θ3 ) 0 – cos(θ3 ) 0
A23 = 
 0
 (122)
 1 0 0
0 0 0 1
For i = 4:
 
cos(θ4 ) 0 – sin(θ4 ) 0
 
3
 sin(θ4 ) 0 cos(θ4 ) 0 
A4 = 
 0
 (123)
 –1 0 L34 

0 0 0 1
For i = 5:
 
cos(θ5 ) 0 sin(θ5 ) 0
 
 sin(θ5 ) 0 – cos(θ5 ) 0
A45 = 
 0
 (124)
 1 0 0
0 0 0 1
APPENDIX A. Homogeneous Transformation Matrices of PUMA Robot 113

For i = 6:
 
cos(θ6 ) – sin(θ6 ) 0 0
 
 sin(θ6 ) cos(θ6 ) 0 0 
A56 = 
 0
 (125)
 0 1 L56 

0 0 0 1
114

APPENDIX B – DH JACOBIAN OF PUMA ROBOT

Figure 25 shows a representation of the Puma robot, with the links’ coordinate
systems defined by the DH convention. The joints are numerated from i to vi and the
links from 0 to 6 (SICILIANO et al., 2010).
Figure 25 – Puma robot with coordinate systems defined by DH convention.

x4 L
56
x5
z4
O
O4 5
z5
v
x3 4 5 x6
z3 iv vi
iii 3 O6
L1 O2 x2 6
2 O3 z6
ii L 34
z0 z2
O0 O1
1 x1
z1 L2
i

The geometric Jacobian matrix Jg of the PUMA robot is shown in Equation (126):
 
g g1,2 g1,3 g1,4 g1,5 0
 1,1 
g2,1 g2,2 g2,3 g2,4 g2,5 0 
 
 0 g3,2 g3,3 g3,4 g3,5 0 
Jg =  (126)
 

 0 sin(θ1 ) sin(θ1 ) g4,4 g4,5 g4,6 
 
 0 – cos(θ ) – cos(θ ) g5,4 g5,5 g5,6 
 1 1 
1 0 0 – cos(θ2 + θ3 ) g6,5 g6,6
The elements of Jg expressed by the symbols gi,j present high complexity. To
better organize their presentation, they are shown below organized by column.
The elements of the first column of Jg not explicitly shown in Equation (62) are:

g1,1 = L56 cos(θ1 ) sin(θ4 ) sin(θ5 ) – L2 cos(θ2 ) sin(θ1 ) – L34 sin(θ2 + θ3 ) sin(θ1 )+
–L56 sin(θ2 +θ3 ) cos(θ5 ) sin(θ1 )–L1 cos(θ1 )–L56 cos(θ2 ) cos(θ3 ) cos(θ4 ) sin(θ1 ) sin(θ5 )+
+ L56 cos(θ4 ) sin(θ1 ) sin(θ2 ) sin(θ3 ) sin(θ5 ) (127)
APPENDIX B. DH Jacobian of PUMA Robot 115

g2,1 = L2 cos(θ1 ) cos(θ2 )–L1 sin(θ1 )+L34 sin(θ2 +θ3 ) cos(θ1 )+L56 sin(θ1 ) sin(θ4 ) sin(θ5 )+
+ L56 sin(θ2 + θ3 ) cos(θ1 ) cos(θ5 ) + L56 cos(θ1 ) cos(θ2 ) cos(θ3 ) cos(θ4 ) sin(θ5 )+
– L56 cos(θ1 ) cos(θ4 ) sin(θ2 ) sin(θ3 ) sin(θ5 ) (128)

The elements of the second column not explicitly shown in Equation (62) are:


L sin(θ2 + θ3 ) sin(θ4 – θ5 )
g1,2 = cos(θ1 ) L34 cos(θ2 + θ3 ) – L2 sin(θ2 ) + 56 +
2

L56 sin(θ2 + θ3 ) sin(θ4 + θ5 )
– + L56 cos(θ2 + θ3 ) cos(θ5 ) (129)
2


L sin(θ2 + θ3 ) sin(θ4 – θ5 )
g2,2 = sin(θ1 ) L34 cos(θ2 + θ3 ) – L2 sin(θ2 ) + 56 +
2

L56 sin(θ2 + θ3 ) sin(θ4 + θ5 )
– + L56 cos(θ2 + θ3 ) cos(θ5 ) (130)
2

g3,2 = L2 cos(θ2 )+L34 cos(θ2 ) sin(θ3 )+L34 cos(θ3 ) sin(θ2 )+L56 cos(θ2 ) cos(θ5 ) sin(θ3 )+
+ L56 cos(θ3 ) cos(θ5 ) sin(θ2 ) + L56 cos(θ2 ) cos(θ3 ) cos(θ4 ) sin(θ5 )+
– L56 cos(θ4 ) sin(θ2 ) sin(θ3 ) sin(θ5 ) (131)

The elements composing the third column of Jg presenting high complexity are:


g1,3 = cos(θ1 ) L34 cos(θ2 + θ3 ) + L56 cos(θ2 + θ3 ) cos(θ5 )+

–L56 sin(θ2 + θ3 ) cos(θ4 ) sin(θ5 ) (132)


g2,3 = sin(θ1 ) L34 cos(θ2 + θ3 ) + L56 cos(θ2 + θ3 ) cos(θ5 )+

–L56 sin(θ2 + θ3 ) cos(θ4 ) sin(θ5 ) (133)

g3,3 = L34 cos(θ2 ) sin(θ3 ) + L34 cos(θ3 ) sin(θ2 ) + L56 cos(θ2 ) cos(θ5 ) sin(θ3 )+
+ L56 cos(θ3 ) cos(θ5 ) sin(θ2 ) + L56 cos(θ2 ) cos(θ3 ) cos(θ4 ) sin(θ5 )+
– L56 cos(θ4 ) sin(θ2 ) sin(θ3 ) sin(θ5 ) (134)

The elements of the fourth column no explicitly shown in Jg are:


APPENDIX B. DH Jacobian of PUMA Robot 116


g1,4 = L56 sin(θ5 ) cos(θ4 ) sin(θ1 ) – cos(θ1 ) cos(θ2 ) cos(θ3 ) sin(θ4 )+

+ cos(θ1 ) sin(θ2 ) sin(θ3 ) sin(θ4 ) (135)


g2,4 = –L56 sin(θ5 ) cos(θ1 ) cos(θ4 ) + cos(θ2 ) cos(θ3 ) sin(θ1 ) sin(θ4 )+

– sin(θ1 ) sin(θ2 ) sin(θ3 ) sin(θ4 ) (136)

g3,4 = –L56 sin(θ2 + θ3 ) sin(θ4 ) sin(θ5 ) (137)

g4,4 = sin(θ2 + θ3 ) cos(θ1 ) (138)

g5,4 = sin(θ2 + θ3 ) sin(θ1 ) (139)

All the elements of the fifth column of Jg are complex and are shown herein:

g1,5 = L56 cos(θ5 ) sin(θ1 ) sin(θ4 ) – L56 cos(θ1 ) cos(θ2 ) sin(θ3 ) sin(θ5 )+
– L56 cos(θ1 ) cos(θ3 ) sin(θ2 ) sin(θ5 ) + L56 cos(θ1 ) cos(θ2 ) cos(θ3 ) cos(θ4 ) cos(θ5 )+
– L56 cos(θ1 ) cos(θ4 ) cos(θ5 ) sin(θ2 ) sin(θ3 ) (140)

g2,5 = L56 cos(θ2 ) cos(θ3 ) cos(θ4 ) cos(θ5 ) sin(θ1 )–L56 cos(θ2 ) sin(θ1 ) sin(θ3 ) sin(θ5 )+
– L56 cos(θ3 ) sin(θ1 ) sin(θ2 ) sin(θ5 ) – L56 cos(θ1 ) cos(θ5 ) sin(θ4 )+
– L56 cos(θ4 ) cos(θ5 ) sin(θ1 ) sin(θ2 ) sin(θ3 ) (141)

g3,5 = L56 cos(θ2 ) cos(θ3 ) sin(θ5 ) – L56 sin(θ2 ) sin(θ3 ) sin(θ5 )+


+ L56 cos(θ2 ) cos(θ4 ) cos(θ5 ) sin(θ3 ) + L56 cos(θ3 ) cos(θ4 ) cos(θ5 ) sin(θ2 ) (142)

g4,5 = cos(θ4 ) sin(θ1 )–sin(θ4 ) (cos(θ1 ) cos(θ2 ) cos(θ3 ) – cos(θ1 ) sin(θ2 ) sin(θ3 )) (143)

g5,5 = – cos(θ1 ) cos(θ4 )–sin(θ4 )[cos(θ2 ) cos(θ3 ) sin(θ1 )–sin(θ1 ) sin(θ2 ) sin(θ3 )] (144)
APPENDIX B. DH Jacobian of PUMA Robot 117

g6,5 = – sin(θ2 + θ3 ) sin(θ4 ) (145)

Finally, the non-explicit elements of the sixth column of Jg are:

  
g4,6 = sin(θ5 ) cos(θ4 ) cos(θ1 ) cos(θ2 ) cos(θ3 ) – cos(θ1 ) sin(θ2 ) sin(θ3 ) +
 
+ sin(θ1 ) sin(θ4 )} + cos(θ5 ) cos(θ1 ) cos(θ2 ) sin(θ3 ) + cos(θ1 ) cos(θ3 ) sin(θ2 ) (146)

  
g5,6 = sin(θ5 ) cos(θ4 ) cos(θ2 ) cos(θ3 ) sin(θ1 ) – sin(θ1 ) sin(θ2 ) sin(θ3 ) +
 
– cos(θ1 ) sin(θ4 )} + cos(θ5 ) cos(θ2 ) sin(θ1 ) sin(θ3 ) + cos(θ3 ) sin(θ1 ) sin(θ2 ) (147)

g6,6 = sin(θ2 + θ3 ) cos(θ4 ) sin(θ5 ) – cos(θ2 + θ3 ) cos(θ5 ) (148)


118

APPENDIX C – SCREW-BASED JACOBIAN AND FRAMES DEFINED THROUGH


DH CONVENTION

The first step to compute the screw-based Jacobian matrix is determining the
directions and the locations of the joint axes relative to a reference frame. Usually this
can be accomplished by inspecting the manipulator’s geometry.
Another option to compute the screw-based Jacobian is available if the link
coordinate systems, (x0 , y0 , z0 ) to (x6 , y6 , z6 ), are defined following the DH convention.
The unit vector defining the direction of the screw ~si and the position vector ~s0i can be
taken from the third and fourth columns of A0i–1 (TSAI, 1999).
Let an instantaneous reference frame, (x00 , y00 , z00 ), be coincident with the
(xj , yj , zj ) link frame. The directions and locations of the joint axes relative to (x00 , y00 , z00 )
j
are given by the third and fourth column of Ai , respectively:
 
" # 0
~si+1
 
j 0
= Ai   (149)
0 1
 
0
 
" # 0
~s0,i+1
 
j 0
= Ai   (150)
1 0
 
1
The screw coordinates of Equations (149) and (150) can be computed efficiently
by using the following recursive formulas (TSAI, 1999):

1. Initial conditions: start with ~sj+1 = [0, 0, 1]T and ~s0,j+1 = [0, 0, 0]T ;

2. Forward computation: for i = j + 1, j + 2, to n – 1, compute:


  
~si+1 = R j ~zii
i
  
~s0,i+1 = ~s0,i + R j ~rii
i

  
j j i
Ri+1 = Ri Ri+1 (151)

3. Backward computation: for i = j – 1, j – 2 to 0, compute:


  
~si+1 = R j ~zii
i
  
~s0,i+1 = ~s0,i+2 – R j i+1
~ri+1
i+1

  
j j i
Ri–1 = Ri Ri–1 (152)
APPENDIX C. Screw-based Jacobian and frames defined through DH convention 119

The matrix Rii–1 is the rotation matrix of the link i with respect to link i – 1 and
 T
i
Ri–1 = Rii–1 .
The vector ~zii is a unit vector pointing along the zi -axis and expressed in the ith
link frame:
 
0
i
~zi = 0


1

The vector ~rii is the position vector defined from Oi–1 to Oi and expressed in the
ith link frame:
 
ai
~rii =  di sin(αi ) 
 

di cos(αi )
After defining the direction vector and the position vector of each screw having
as reference the frame (x00 , y00 , z00 ), the normalised screws are defined via Equations
(32) and (33).
The normalised screws are assembled to generate the Jacobian j J, referred to
the (xj , yj , zj ) frame:
" #

~ n
j~
=j J~q̇ (153)
v 0
The velocity state of the end effector is expressed in a reference frame that is
instantaneously coincident with the jth link frame.
120

APPENDIX D – MOTION MATRICES OF THE TRIPTERON MANIPULATOR

This appendix contains the information needed to generate the twists corre-
sponding to the columns of the unit motion matrix [M̂D ]6×12 of Equation (84). The
fundamental circuit matrix [BM ]2×12 used to generate [M̂N ]12×12 of Equation (85) is
presented in the appendix too.

Couplings’ input data to build the twists

Table 11 – Couplings’ data to build the twists of the Tripteron’s motion matrices.

Coupling Joint type h ~


s ~
s0
a Prismatic →∞ [1, 0, 0]T [d1x , 0, 0]T
b Revolute 0 [1, 0, 0]T [d1x , 0, 0]T
c Revolute 0 [1, 0, 0]T [d1x , 0, l2 ]T
d Revolute 0 [1, 0, 0]T [d1x , l3 , l2 ]T
e Prismatic →∞ [0, 1, 0]T [0, d5y , 0]T
f Revolute 0 [0, 1, 0]T [0, d5y , 0]T
g Revolute 0 [0, 1, 0]T [0, d5y , l6 ]T
h Revolute 0 [0, 1, 0]T [l7 , d5y , l6 ]T
i Prismatic →∞ [0, 0, 1]T [0, d8y , d8z ]T
l Revolute 0 [0, 0, 1]T [0, d8y , d8z ]T
m Revolute 0 [0, 0, 1]T [l9 , d8y , d8z ]T
n Revolute 0 [0, 0, 1]T [l9 , d8y – l10 , d8z ]T

Fundamental circuit matrix

The coupling graph and the motion graph of the Tripteron manipulator are
equivalent, since all the Tripteron’s joints have a single DOF. The coupling graph/motion
graph is shown in Figure 26.
The fundamental circuit matrix [BM ]2×12 shown in Equation (154) is defined from
the motion graph, following the rules listed in Section 2.5.2:

a b c d e f g h i l m n
 
[BM ]2×12 = 1 1 1 1 0 0 0 0 –1 –1 –1 1 (154)
0 0 0 0 –1 –1 –1 1 1 1 1 –1
APPENDIX D. Motion matrices of the Tripteron manipulator 121

Figure 26 – Graph representation of the Tripteron manipulator.

e 0
a
i
5 1

f 8
l b

6 2 9 1 2
m
g 10 c

7 n 3

h 4 d
122

APPENDIX E – MOTION MATRICES OF THE ASYMMETRIC 3 DOF MECHANISM

This appendix contains the information needed to generate the twists corre-
sponding to the columns of the unit motion matrix [M̂D ]6×12 of Equation (102). The
fundamental circuit matrix [BM ]2×12 used to generate [M̂N ]12×12 of Equation (103) is
presented in the appendix too.

Couplings’ input data to build the twists

Table 12 – Couplings’ data to build the twists of Asym3DOF’s motion matrices.

Coupling Joint type h ~


s ~
s0
a Revolute 0 [1, 0, 0]T [0, 2, 0]T
b Revolute 0 [1, 0, 0]T [0, 2, 1]T
cr : [1, 0, 0]T
c Universal 0 [0, 2, 1]T
cs : [0, 1, 0]T
d Prismatic →∞ [0, 1, 0]T [–2, 0, 0]T
e Revolute 0 [0, 1, 0]T [–2, 0, 0]T
f Revolute 0 [0, 1, 0]T [–2, 0, 1]T
g Revolute 0 [0, 1, 0]T [–1, 0, 2]T
h Revolute 0 [1, 0, 0]T [0, –3, 0]T
i Revolute 0 [1, 0, 0]T [0, –2, 1]T
jr : [1, 0, 0]T
j Universal 0 [–1, 0, 2]T
js : [0, 1, 0]T

Fundamental circuit matrix

The coupling graph of the Asym3DOF is shown in Figure 27. Since couplings
c and j have two DOF, their respective edges are expanded in series, resulting in the
motion graph of Figure 28.

Figure 27 – Coupling graph of the Figure 28 – Motion graph of the


Asym3DOF. Asym3DOF.

0 a 0
a h h
d 7 d 7
1 4 1 4
e e
b 2 5 i b 2 5 i
f f

2 6 1 8 2 6 1 8
g cr g
c j jr
3 cs 3 js
APPENDIX E. Motion matrices of the Asymmetric 3 DOF mechanism 123

The fundamental circuit matrix [BM ]2×12 shown in Equation (155) is defined from
the motion graph of Figure 28, following the rules listed in Section 2.5.2:

a b cr cs d e f g h i jr js
 
[BM ]2×12 = 1 1 1 1 –1 –1 –1 1 0 0 0 0 (155)
0 0 0 0 –1 –1 –1 1 1 1 1 –1
124

APPENDIX F – ACTUATION SETS OF THE ASYMMETRIC 3 DOF MECHANISM

All the feasible actuation sets for the asymmetric 3 DOF mechanism are
enumerated in Table 13.

Table 13 – Enumeration of the Asym 3DOF actuation schemes

Act. set Act. set Act. set


{d, i, js } {h, i, js } {b, e, jr }
{d, g, jr } {f , h, js } {b, e, i}
{d, g, i} {g, h, js } {b, jr , js }
{d, f , jr } {g, h, jr } {b, i, js }
{d, f , i} {g, h, i} {b, g, jr }
{cr , jr , js } {f , g, h} {b, g, i}
{cr , i, js } {f , h, jr } {b, f , jr }
{cr , g, jr } {f , h, i} {b, f , i}
{cr , g, i} {cs , h, jr } {a, cs , jr }
{cr , f , jr } {cs , h, i} {a, cs , i}
{cr , f , i} {cs , f , h} {a, cs , h}
{cr , e, jr } {cs , g, h} {a, f , h}
{cr , e, i} {cs , d, h} {a, g, h}
{d, e, jr } {cr , cs , h} {a, h, js }
{d, e, i} {cs , e, h} {a, e, h}
{e, jr , js } {cs , e, jr } {a, e, jr }
{e, i, js } {cs , e, i} {a, e, i}
{e, g, jr } {cr , cs , jr } {a, jr , js }
{e, g, i} {cr , cs , i} {a, i, js }
{e, i, jr } {cs , d, jr } {a, g, jr }
{e, h, jr } {cs , d, i} {a, g, i}
{e, h, i} {cs , g, jr } {a, f , jr }
{e, g, h} {cs , g, i} {a, f , i}

Você também pode gostar