Escolar Documentos
Profissional Documentos
Cultura Documentos
CAMPUS FLORIANÓPOLIS
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA MECÂNICA
Florianópolis
2020
Marina Baldissera de Souza
Florianópolis
2020
RESUMO
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
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
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.
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.
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
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
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
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.
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 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.
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
• 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
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).
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.
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
c1 r1
c1 c2 c3 c4
⊗ × ×
0 r1 c2 r2
0
D = 0 ⊗ 0 r2
× 0 0 ×
r3 c3 r3
0 × × ⊗ r4 c4 r4
c1 r1
c1 c2 c3 c4
× ⊗ ×
0 r1 c2 r2
0
D = 0 ⊗ 0 r2
⊗ 0 0 ×
r3 c3 r3
0 × × ⊗ r4 c4 r4
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.
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
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)
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)
Full QR factorization (m ≥ n)
A Q R
Reduced QR factorization (m ≥ n)
A Q̂ R̂
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
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 ;
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):
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).
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
∂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)
. . . · · · . ..
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.
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
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).
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
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
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:
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
~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).
$ = ġ $̂ (34)
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
–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
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:
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.
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 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
FN = F – m (47)
~ }
[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)
~
[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
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 )
|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:
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:
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).
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).
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
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
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
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.
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
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
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.
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|).
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
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
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.
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 = – 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
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 )
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
Screw-based Jacobian 4 Js
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
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 )
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:
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.
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.
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.
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.
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
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
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
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
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
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
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
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
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.
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
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
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.
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
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
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.
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 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.
y x
~s0j = [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
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
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
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
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 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.
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.
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.
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;
In order to achieve the main goal, the following specific objectives are listed
below:
• 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;
• 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.
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;
6. Developing a first version of the method and the algorithm that indicate the
reference frame that leads to enhanced computational efficiency;
10. Writing the thesis and papers for conferences and journals;
5 FINAL CONSIDERATIONS
REFERENCES
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.
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
MUROTA, Kazuo. Matrices and matroids for systems analysis. [S.l.]: Springer
Science & Business Media, 2009. v. 20.
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
RECSKI, András. Matroid theory and its applications in electric network theory
and in statics. [S.l.]: Springer Science & Business Media, 2013. v. 6.
STAUBLI UNIMATION LTD. Robot 560 C Arm Manual. [S.l.], 1990. C340.005.05.A
ch.2 pg.3.
TREFETHEN, Lloyd N; BAU III, David. Numerical linear algebra. [S.l.]: Siam, 1997.
v. 50.
WALDRON, KJ; WANG, Shih-Liang; BOLIN, SJ. A study of the Jacobian matrix of
serial manipulators, 1985.
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.
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.
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
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
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
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)
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)
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)
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
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)
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 ;
j j i
Ri+1 = Ri Ri+1 (151)
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:
" #
jω
~ 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
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.
Table 11 – Couplings’ data to build the twists of the Tripteron’s motion matrices.
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
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
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.
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.
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
All the feasible actuation sets for the asymmetric 3 DOF mechanism are
enumerated in Table 13.