Citation
Singularity avoidance for an eight degrees of freedom serial manipulator

Material Information

Title:
Singularity avoidance for an eight degrees of freedom serial manipulator
Creator:
Sanchez, Elizabeth Annette
Publication Date:
Language:
English
Physical Description:
150 leaves : ; 28 cm

Subjects

Subjects / Keywords:
Kinematics ( lcsh )
Manipulators (Mechanism) ( lcsh )
Singularities (Mathematics) ( lcsh )
Kinematics ( fast )
Manipulators (Mechanism) ( fast )
Singularities (Mathematics) ( fast )
Genre:
bibliography ( marcgt )
theses ( marcgt )
non-fiction ( marcgt )

Notes

Bibliography:
Includes bibliographical references (leaves 143-150).
General Note:
Department of Mechanical Engineering
Statement of Responsibility:
by Elizabeth Annette Sanchez.

Record Information

Source Institution:
University of Colorado Denver
Holding Location:
Auraria Library
Rights Management:
All applicable rights reserved by the source institution and holding location.
Resource Identifier:
54523347 ( OCLC )
ocm54523347
Classification:
LD1190.E55 2003m S36 ( lcc )

Full Text
SINGULARITY AVOIDANCE FOR AN EIGHT DEGREES OF
FREEDOM SERIAL MANIPULATOR
by
Elizabeth Annette Sanchez
A thesis submitted to the University of Colorado at Denver
in partial fulfillment of the requirements
for the degree of
Master of Science
Mechanical Engineering
2003


This thesis for the Master of Science
degree by
Elizabeth Annette Sanchez
has been approved
by
?/Wo3
Date


Sanchez, Elizabeth Annette (M.S., Mechanical Engineering)
Singularity Avoidance for an Eight Degrees of Freedom Serial
Manipulator.
Thesis directed by Associate Professor Samuel W. J. Welch.
ABSTRACT
In recent years, an increased amount of effort has been devoted to the
study of kinematic redundancy through the attempts to enhance the
design and performance of more versatile manipulators in a wide
variety of tasks. Many kinematic constraints may be considered and
met by a kinematically redundant manipulator. Singularity is one kind
of constraint. For this constraint, a manipulator needs to be kept in a
configuration which makes it as dexterous as possible. The extra
degrees of freedom (dof) offered by redundancy accomplishes this
configuration by optimizing the performance measures while solving
the inverse kinematic problem. The kinematics of the manipulator is
appropriately augmented in a Matlab program in order to include the
singularity constraint; the result is a technique that integrates ordinary
differential equations numerically based on the Jacobian matrix and a
constrained non-linear optimization algorithm using a modified
Newtons method that makes use of direct and indirect kinematics.
m


This abstract accurately represents the content of the candidates
thesis. I recommend its publication.
Signed
Samuel WT J. Welch
IV


CONTENTS
Figures.....................................................viii
Tables.......................................................xvii
Chapter
1. Introduction...............................................1
1.1 Kinematically Redundant Manipulators.......................1
2. Theory.....................................................3
2.1 Generalized Robotic Coordinates............................3
2.2 Kinematics.................................................4
2.2.1 Kinematic Descriptions...................................4
2.2.2 Denavit-Hartenberg Parameters............................5
2.2.2.1 Geometric Description of Schematic Drawing.............8
2.3 Forward Kinematics........................................10
2.4 Inverse Kinematics........................................13
2.4.1 Inverse Kinematic Equations
14


3. More Theory
22
3.1 Redundancy Analysis........................................22
3.3.1 Null Space...............................................22
3.2 Singularities..............................................25
3.2.1 Kinematic Singularities..................................27
3.3 Manipulator Dynamics.......................................28
3.3.1 Forward Dynamics.........................................28
3.3.2 Inverse Dynamics.........................................30
3.4 Truncation and Round off Error.............................31
4. Methods....................................................33
4.1 General Method.............................................33
4.2 Gradient Projection Method.................................34
4.2.1 Manipulability and the Gain Constant.....................39
VI


5. Results
41
5.1 Simulations of the Arc, Ellipse and Line..................42
5.1.1 Determinate of the Jacobian, Joint Velocities and Joint
Torques.................................................42
5.1.2 Computational Error.....................................97
6. Conclusion................................................141
Bibliography ................................................143
vii


FIGURES
Figure
2.1 Schematic drawing of the 8 dof manipulator considered in
this work.................................................8
5.1 End effector at the beginning of the arc....................43
5.2 End effector at the middle of the arc.......................44
5.3 End effector at the end of the arc..........................45
5.4 End effector at the beginning of the ellipse................46
5.5 End effector at the middle of the ellipse...................47
5.6 End effector at the beginning of the line...................48
5.7 End effector at the middle of the line......................49
5.8 End effector at the end of the line.........................50
5.9 Case study one. Determinate of the Jacobian with 2 = 0
for the arc...............................................54
5.10 Case study one. The torques with 2 = 0 for the arc.55
5.11 Case study one. The joint velocities with 2 = 0 for the arc.... 56
viii


5.12 Case study two. Determinate of the Jacobian with
A = -2 for the arc.........................................58
5.13 Case study two. Determinate of the Jacobian with
A = -.19 for the arc.......................................59
5.14 Case study two. The torques with A = 2 for the arc......60
5.15 Case study two. The joint velocities with A = -2 for
the arc....................................................61
5.16 Case study two. The torques with A = -.19 for the arc.....62
5.17 Case study two. The joint velocities with A = -.19 for
the arc....................................................63
5.18 Case study two. Determinate of the Jacobian with
A--A for the arc...........................................67
5.19 Case study two. The torques with A = -4 for the arc.......68
5.20 Case study two. The joint velocities with A = -4
for the arc................................................69
5.21 Case study two. Determinate of the Jacobian with
A -7 for the arc.........................................70
5.22 Case study two. The torques with A = -l for the arc.......71
5.23 Case study two. The joint velocities with A = -7
for the arc................................................72
IX


5.24 Case study one. Joint accelerations with 2 = 0 for the
arc...........................................................74
5.25 Case study two. Joint accelerations with 2 = -2
for the arc...................................................75
5.26 Case study two. Joint accelerations with 2 = -.19
for the arc...................................................76
5.27 Case study one. Determinate of the Jacobian with
2 = 0 for the ellipse.........................................77
5.28 Case study one. Determinate of the Jacobian with
2 = 0 for the line............................................78
5.29 Case study one.. The torques with 2 = 0 for the ellipse......79
5.30 Case study one. The torques with 2 = 0 for the line...........80
5.31 Case study one. Joint velocities with 2 = 0 for the
ellipse.......................................................81
5.32 Case study one. Joint velocities with 2 = 0 for the
line..........................................................82
5.33 Case study one. Joint accelerations with 2 = 0 for the
ellipse.......................................................83
5.34 Case study one. Joint accelerations with 2 = 0 for the
line..........................................................84


5.35 Case study two. The determinate of the Jacobian with
A = -.8 for the ellipse.........................................85
5.36 Case study two. The determinate of the Jacobian with
A = -.3 for the ellipse.........................................86
5.37 Case study two. The determinate of the Jacobian with
A = -.61 for the line...........................................87
5.38 Case study two. The joint torques with A = -.8 for the
ellipse.........................................................88
5.39 Case study two. The torques with A = -.3 for the
ellipse.........................................................89
5.40 Case study two. The torques with A = -6.1 for the
line...............................................................90
5.41 Case study two. The joint velocities with A = -.8 for
the ellipse.....................................................91
5.42 Case study two. The joint velocities with A = -.3 for
the ellipse.....................................................92
5.43 Case study two. The joint velocities with A = -6.1 for
the line........................................................93
5.44 Case study two. The joint velocities with A = -.8 for
the ellipse.....................................................94
5.45 Case study two. The joint velocities with A = -.3 for
the ellipse.....................................................95
xi


5.46 Case study two. The joint accelerations with A = -6.1
for the line..................................................96
5.47 Case study one. Errors for o and a vectors with A = 0
for the arc....................................................98
5.48 Case study one. Errors for p and n vectors with X = 0
for the arc....................................................99
5.49 Case study two. Errors for the o and a vectors with
X -2 for the arc............................................100
5.50 Case study two. Errors for p and n vectors with X = -2
for the arc...................................................101
5.51 Case study two. Errors for o and a vectors X = -.19
for the arc...................................................102
5.52 Case study two. Errors for p and n vectors with X = -.19
for the arc...................................................103
5.53 Case study one. Errors for o and a vectors with X = 0
for the ellipse...............................................104
5.54 Case study one. Errors for p and n vectors with X = 0
for the ellipse...............................................105
5.55 Case study two. Errors for o and a vectors with X = -.8
for the ellipse...............................................106
5.56 Case study two. Errors for p and n vectors with X = -.8
for the ellipse...............................................107
xii


5.57 Case study two. Errors for a and o vectors with A = -.3
for the ellipse..............................................108
5.58 Case study two. Errors for p and n vectors with A = -.3
for the ellipse..............................................109
5.59 Case study one. Errors for o and a vectors with >1 = 0
for the line..................................................110
5.60 Case study one. Errors for p and n vectors with A = 0
for the line..................................................Ill
5.61 Case study two. Errors for o and a vectors with A = -6.1
for the line................................................. 112
5.62 Case study two. Errors for p and n vectors with A = -6.1
for the line..................................................113
5.63 Case study one. Determinate of the Jacobian with A = 0
and parameters chosen to become close in the vicinity of
a singularity for the arc.....................................115
5.64 Case study one. The torques with A = 0 and parameters
chosen to become close in the vicinity a singularity for
the arc.......................................................116
5.65 Case study one. The joint velocities with A = 0 and
parameters chosen to become close in the vicinity of a
singularity for the arc.............................................117
Case study one. The joint accelerations with A = 0 and
xiii
5.66


parameters chosen to become close in the vicinity of a
singularity for the arc......................................118
5.67 Case study one. The errors for p and n vectors with A = 0
and parameters chosen to become close in the vicinity of
a singularity for the arc...................................119
5.68 Case study one. The errors for o and a vectors with A = 0
and parameters chosen to become close in the vicinity of
a singularity for the arc....................................120
5.69 Case study two. Determinate of the Jacobian with A = -.19
and parameters chosen to become close in the vicinity of
a singularity for the arc....................................121
5.70 Case study two. The torques with A = -.19 and parameters
chosen to become close in the vicinity of a singularity
for the arc..................................................122
5.71 Case study two. The joint velocities with A = -.19 and
parameters chosen to become close in the vicinity of a
singularity for the arc...............................123
5.72 Case study two. The joint accelerations with A = -.19
and parameters chosen to become close in the vicinity
of a singularity for the arc.................................124
5.73 Case study two. The errors for p and n vectors with
A = -.19 and parameters chosen to become close in the
vicinity of a singularity for the arc.................125
5.74 Case study two. The errors for o and a vectors with
A = -.19 and parameters chosen to become close in the
vicinity of a singularity for the arc.................126
xxv


5.75 Case study two. Determinate of the Jacobian with
A = -2 and parameters chosen to become close in the
vicinity of a singularity for the arc.......................127
5.76 Case study two. The torques with A = -2 and parameters
chosen to become close in the vicinity of a singularity
for the arc.................................................128
5.77 Case study two. The joint velocities with A = -2 and
parameters chosen to become close in the vicinity of a
singularity for the arc...............................129
5.78 Case study two. The joint velocities with A = -2 and
parameters chosen to become close in the vicinity of a
singularity for the arc...............................130
5.79 Case study two. The errors p and n vectors with A = -2
and parameters chosen to become close in the vicinity of
a singularity for the arc....................................131
5.80 Case study two. The errors for o and a vectors with
A = ~2 and parameters chosen to become close in the
vicinity of a singularity for the arc.......................132
5.81 Case study two. Determinate of the Jacobian with
A--1 and parameters chosen to become close in the
vicinity of a singularity for the arc.................133
5.82 Case study two. The torques with A = -l and parameters
chosen to become close in the vicinity of a singularity for
the arc......................................................134
xv


5,83 Case study two. The joint velocities with A = -7 and
parameters chosen to become close in the vicinity of a
singularity for the arc.......................................135
5.84 Case study two. The joint velocities with A = -l and
parameters chosen to become close in the vicinity of a
singularity for the arc.................................136
5.85 Case study two. The errors for p and n vectors with
A = -7 and parameters chosen to become close in the
vicinity of singularity for the arc.....................137
5.86 Case study two. The errors for o and a vectors with
A = -1 and parameters chosen to become close in the
vicinity of singularity for the arc.....................138
XVI


TABLES
Table
2.1 D-H parameters for an 8 dof manipulator.................7
5.1 A system of equations used to create and to specify the
position and the motion of the arc, ellipse and line
trajectory paths........................................52
XVII


1. Introduction
1.1 Kinematically Redundant Manipulators
Kinematics deals with geometry of motion regardless of its physical
realization. It is concerned with the position, velocity and acceleration
of bodies. In particular, kinematic redundancy occurs when a
manipulator possesses more dof than the minimum number required to
execute a given task. The manipulator is termed redundant when the
number of active joints exceeds the number of variables, which identify
the task. Typically, the motion in Cartesian task space is completely
defined by six coordinates (three for position and three for orientation).
A six dof geometry is considered a general purpose manipulator but will
not accomplish many real world tasks, therefore, a redundant
manipulator is used. A robot is a kinematically redundant manipulator
if it has more than six degrees of freedom. The kinematic redundancy of
a manipulator is used to avoid the six dof manipulators kinematic flaws
(i.e. constraints). Among these constraints are kinematic singularities.
Despite these constraints, a redundant manipulator can still achieve
principle and additional tasks by utilizing one of the degrees of
redundancy (dor). In other words, it disposes the additional dof in order
to overcome the above limitation and optimizes the manipulators
ability to execute real world tasks. For real-time control of redundant
1


manipulators, there exists the problem of considerable increased
computational complexity compared to the non-redundant manipulators.
Despite its complexity, a redundant manipulator constitutes an excellent
model of dexterity and flexibility due to the advantages afforded by its
redundancy. For redundant manipulators, it is fundamental to solve
forward and inverse kinematics. There are two general approaches
when solving inverse kinematics problem with optimization criteria,
global methods and local methods. Global optimization is the
design/and or control of the projected trajectory path in order to
minimize some performance criterion which is defined over a certain
control time interval.
In contrast, local optimization is the performance of some optimization
operation at each instant in time. In comparison to global optimization,
local optimization is less computational costly but may result in poorer
performance. In this work, local performance optimization for
manipulability maximization, also known as singularity avoidance, is
obtained by using the pseudo inverse of the Jacobian matrix. The
gradient of an objective function is projected onto the constraint
Jacobian null space of the Jacobian matrix. Real-time redundancy
optimization control is achieved for an eight-joint redundant
manipulator.
2


2. Theory
2.1 Generalized Robotic Coordinates
Generalized coordinates are sets of physical coordinates that define the
dof of a system/manipulator. This is the minimal number of variables
needed to completely specify the positions of all links that are part of a
manipulator, i.e. its configuration. For a rigid body manipulator in three
dimensions, there are six dof, three dof for translation and three dof for
rotation. The three dof for translation are defined as the Cartesian
coordinates (xl, x2, jc3) at some point of origin, O, of the rigid body.
The three dof for rotation are defined by a set of three orientation
angles, 6,, If {q} is defined as a vector of generalized coordinates of the rigid
body, then the robotic change at the end effector can be described by
changes in a six-dimensional coordinate system as
{ or {q}=.[0,, 02,. .., 08]r (2.1a)
3


A set of generalized freedom of motion at each joint of each link can be
considered as a degree of freedom associated with the independent
actuation of a displacement field, jc, in a robotic manipulator.
The coordinate system for a redundant manipulator is determined by the
number of degrees of freedom of the manipulator.
2.2 Kinematics
Kinematics is the science of motion that is restricted to a pure
geometrical description and time based properties of motion by means
of position, orientation, velocity, acceleration and all higher order
derivatives of the position variables. Kinematics does not consider the
forces and torques that cause the motion. In robotics, the kinematics
descriptions of manipulators and their assigned tasks are used to set up
the fundamental equations for joint control.
2.2.1 Kinematic Descriptions
In this work, a serial manipulator is used consisting of eight links
connected in a series by revolute (rotary) joints allowing joint
displacements of neighboring links. These displacements are called
joint angles. One end of the manipulator is attached to the ground while
4


the other end is free to move in space. For this reason a serial
manipulator is called an open-loop manipulator. The end attached to the
ground is a fixed link and is called the base. At the free end, a
mechanical hand/tool is attached and is called the end effector. The tool
frame relative to the base frame is used to describe the position of the
manipulator. This description is the transformation of link frames from
the base of the manipulator to the tip of the tool. These link frames
must be defined. The number of dof a manipulator must have is equal
to the number of independent variables needed to specify all parts of the
mechanism. A systematic technique must be used to allow the
description of the kinematics of a robot with 8 dof to be defined in a
unique way. For a robot to perform a specific task, the location of the
end effector relative to the base is established first. This is called
position analysis. There are two kinds of position analysis problems:
direct kinematics (forward kinematics) and inverse kinematics. Figure
2.1 is a schematic drawing of this eight revolute joint serial manipulator.
2.2.2 Denavit-Hartenberg Parameters
When studying kinematics of manipulators, an understanding of the
geometric and time-based properties of motion is needed. In order to
specify the position and orientation of any manipulator, a series of
coordinate frames and parameters are assigned to represent the joint and
5


links. The standard assignment method employed in robotics is the
Denavit-Hartenberg notation, D-H parameters. D-H parameters are
given for each link in this 8 dof manipulator. Revolute joints are present
and are comprised of four elements, two link parameters and two joint
parameters. a(._, and a(_, describe the link itself as di and qi describe
the connection to a neighboring link, q, is the joint variable and the
other three are fixed parameters. The D-H parameters are for revolute
and prismatic joints and may change in time. The link and joint
parameters for this 8 dof manipulator that consists of only revolute
joints are defined as follows:
aM: Translation along old X,. axis; The
distance from ZtoZ(+, measured
along X,..
di : Translation along new Zf axis; The
distance from XtoX, measured
along Z,.
aM: Rotation about old X, axis; The angle
between Z, and ZI+1 measured about
X,.
qt : Rotation about new Z, axis; The angle
between XH and X, measured about Zf
6


The D-H parameters for the 8 dof manipulator used in this work are the
following:
a = 25 cm
b = 20 cm
c = 20 cm
d = 20 cm
e = 12.5 cm
Link ft-1 d, ii <£T
0-1 0 0 -nil ft
1-2 0 0 -nil ft
2-3 a b nil ft
3-4 0 0 nil ft
4-5 0 0 -nil ft
5-6 c 0 -nil ft
6-7 d 0 0 ft
7-8 0 0 -nil ft
8-t 0 e 0 ft
Table 2.1: D-H parameters for
an 8 dof manipulator.
7


2.2.2.1 Geometric Description of Schematic Drawing
The schematic drawing in figure 2.1 can be best described by going
from frame to frame.
8


frame 0-1: put the origin of Z, in a place to get to the Z2,
therefore, need rotate about an old X-axis, X0, and translate along the
new X-axis, X2.
frame 1-2: put the origin of Xx in a place to get to the new X-axis,
therefore, need to rotate about the old X-axis, X,, and translate along
old X-axis, X 2.
frame 2-3: put the origin of X 3 in a place to get to the new X-axis,
therefore, need to rotate about old X-axis, X 3, and translate, a, along the
old X-axis, X2.
frame 4-5: put the origin of Z3 in a place to get to the new Z-axis,
therefore, need to rotate about the new Z-axis, Z3, and translate, b, along
the new Z-axis, Z5.
frame 3-4: put origin of Z4 in a place to get to the new Z-axis,
therefore, need to rotate about the new Z-axis, Z4, and translate along
the new Z-axis, Z4.
frame 5-6: put the origin of X5 in a place to get to the new X-axis,
therefore, need to rotate about the old X-axis, X5, and translate, along
the old X-axis, X6.
frame 6-7: put the origin of X6 in a place to get to the new X-axis,
therefore, need to rotate about the old X-axis, X6, and translate along
the old X-axis, X7.
9


frame 7 8 : put the origin of Z7 in a place to get to the new Z-axis,
therefore, need to rotate about the new Z-axis, Z7, and translate, e,
along the new Z-axis, Zg.
frame 8 -1: put the origin of Z8 in a place to get to the tool, therefore,
need a zero rotation about the new Z-axis, Z, and translate along the
new Z-axis, Z8.
2.3 Forward Kinematics
Forward kinematics describes the geometry of the manipulator motions
through the transformation from joint space to Cartesian space. This
transformation depends on the configuration of the robot (i.e. link
lengths, joint positions, type of each joint, etc.). Forward kinematics
is used to describe the position and orientation of the manipulator
linkages. The joint variables are given and the goal is to find the
position and orientation of the manipulator. In order to describe the
location of each link relative to its neighbor, a frame is attached to
each link and a set of parameters that characterize this frame is
specified. The kinematics of each link is represented by Denavit-
Hartenberg parameters ( a,.,, dj, ar(_,, 6l = ql) and is depicted in table
2.1.
10


These parameters define a homogeneous transformation matrix T that
maps point 1 p (defined in frame i) to point M p (defined in frame
j-1). The homogeneous transformation matrix, which transforms
vectors defined in i to their description in / 1, is written as:
i-l
p=1! t
(2.2)
The transformation matrix has a rotation matrix and a translation matrix
and is defined as:
'-Jr =['-;/? '"I R M o,.
0 0 0 1] (2.3)
= [cos 8t -sin 6t 0 ai-1
sin 0i cos a, cos 6i cos at -sin or, -sin a,. di
sin 0i sin cos 0t sin a. cos or, cos at di
0 0 0 1 ]
11


where 1) R is the rotation matrix from frame i -1 to i, and '1 of is the
origin of frame i given in frame i -1. The three columns of the rotation
matrix define the unit vectors X,, Y, and Z, of frame i in frame i-1.
Once the link parameters and the link frames have been defined, the
individual link transformation matrices can be computed by
concatenating link transformations. That is the link transformations are
multiplied together to find the single transformation that relates frame
{i} to frame {O}. This transformation is described as:
O rp O 'T* 1
/ 1 1 1 2
T\T,
(2.4)
where J T is the tool frame described in the coordinate frame system of
the outermost link.
Once the link frames have been defined and the corresponding link
parameters are calculated, then the kinematic equations can be derived.
12


2.4 Inverse Kinematics
Inverse kinematics solves for a set of actuated joint variables/angles and
their corresponding time derivatives of the positions and orientations
needed to bring the end effector to the desired location. The inverse
kinematic problem is an inverse mapping from a point in the Cartesian
space to an associated point in the joint angle space. The location of the
end effector is given and the variables necessary to bring the end
effector to the desired position are found.
In programming the inverse kinematics of a robotic manipulator, a set of
desired positions, orientations and the time derivatives of the positions
and orientations of the end effector are specified. The problem begins
with a system of nonlinear equations which is reduced to a system of
linear equations that must be solved at each sampling period. When a
manipulator is redundant, the inverse kinematics problem generates an
infinite number of solutions. For a given constant location of the
manipulators end effector, the possibility of inducing a self-motion of
the structure occurs. This is done without changing the location of the
end effector. The arm is, therefore, allowed to reconfigure and to find
better postures for an assigned set of task requirements. For any robot,
each possible configuration of the joints defines a unique position and
orientation of the end effector. There are two general approaches to
13


solve an inverse kinematics problem with optimization criteria, global
methods and local methods. Global methods find an optimal path for
q with respect to the entire trajectory. This is usually done with
computationally expensive calculations. In contrast, local methods
compute an optimal change in q and Agfor a small change in x and Ax.
Aq is then integrated to generate the entire joint space path. The
Jacobian, J, of the forward kinematics is used to describe a change in
the end effectors position as v = J(q)q. The solutions are found
integrating ordinary differential equations numerically. This can
mathematically be expressed as inverse kinematics equations.
2.4.1 Inverse Kinematic Equations
x = /(tf) (2.5) x is the m x 1 vector defining
position and orientation, q is the n x
1 vector defining the joint
configuration. / is a continuous
differentiable nonlinear vector
function whose structure and
parameters are assumed to be
known for any given manipulator.
It relates the vector of joint
coordinates to a unique position of
the end effector.
14


Differentiating equation (2.5) with respect to time results in the joint
velocity vector, q, and the task velocity vector, v, through an mxm
Jacobian matrix (discussed below) gives equation (2.6).
v = J(q)q (2.6) the Jacobian in this differential
kinematics equation of a
manipulator defines the linear
mapping between the vector q of
joint velocities and the vector
v = [pTwT]T of the end effector
velocity. 7 is a 6xn configuration
dependent Jacobian matrix defined
as dfldq. v is the forward joint
velocity. This equation relates the
joint coordinate velocity vector and
the end effector velocity vector. It
is the inverse velocity kinematics.
The Jacobian, 7, is a multi-dimensional derivative matrix. For
redundant system, the Jacobian matrix is non-square. For the eight dof
manipulator considered in this work, the Jacobian is a 6x8 matrix of
partial derivatives. As in equation (2.6), for any particular instant, q
has changed causing the linear transformation to change. Jacobians are
time-varying linear transformations. In robotics, the Jacobians relate
15


joint velocities to the end effectors linear and angular velocities and the
Cartesian forces at the end effector to the joint torques. It is desired to
express the end effectors linear and angular velocities as a function of
the joint velocities, q by means of the following relations:
P=JP(q)4 (2.7) JP is the 3xn matrix relative to
the contribution of the joint
velocities qto the end effector
linear velocity p.
o) = J0 (q)q (2.8) J 0 is the 3xn matrix relative to the
contribution of the joint velocities
q to the end effector angular
velocity co.
J = [Jp J0]T (2.9) J is the Jacobian which is a
multi-dimensional derivative
matrix.
The Jacobian can be expressed mathematically in more detail as:
vT= J ( q)q (2.10) q is the joint angle vector of the
manipulator, q is an nxl joint
velocity vector and vT is an 8x1
Cartesian velocity vector.
16


v = [pT wT ]r=[vr vw ]r or p is the linear velocity
0 Vt = [p W]T (2.11) and o) is the translational velocity
of the Jacobian. This represents the
manipulator differential kinematics
equation.
The Jacobian matrix, J, transforms the joint rates of the manipulator into
the end effector velocity state. In this trajectory planning problem, the
end effector velocities must be converted into the joint rates in the joint
space. This requires the computation of the inverse transformation. If
J is a square matrix (m=n) and has a rank equal to m (full rank), than
joint velocities required to achieve the desired end effector velocity will
be unique.
Equation (2.6) calculates the joint rates required to produce certain
desired end effector velocities. The required joint rates depend on the
condition of the Jacobian matrix. The main feature in robotic control
systems is the information it retrieves and handles from the environment
which enables it to perform an assigned task. Because of this, there is a
need to express the Cartesian coordinates (see section 2.1) of the
manipulators end effector in terms of the joint coordinates (forward
kinematics) and to solve the inverse kinematic problem. Therefore, in
order to demonstrate these expressions of coordinates, the end effector
17


of the eight dof manipulator is directed along a desired path. Three
projected paths are chosen for this manipulator, an arc, an ellipse and a
line.
Since the Jacobian J is not invertible for a redundant manipulator, the
gradient projection minimization technique is used. This technique is
used for avoiding singularities and will allow the use of an invertible
Jacobian /. Once the end effector velocity v and the Jacobian / are
given for a given configuration, the solutions q that satisfy the linear
equation (2.6) must be found and minimize the quadratic cost functional
of joint velocities.
F(q)=l/2qTq (2.12)
In order to solve these solutions, minimization of the quadratic cost
function of joint velocities for a small step size, Dx = v, with respect to
q is done with the method of Lagrangian multipliers. Consider the
modified cost functional
F(q,A)=l/2qTq + 2T(v-J(q)q) (2.13)
18


where X is an (rxl) vector of unknown multipliers which allows the
constraint (2.6) to be incorporated into the cost functional and,
therefore, to be minimized. The solutions obtained in the method of
Lagrangian multipliers must satisfy the necessary constraints:
(dF/dq)T= 0 (2.14) and (dFldA)T= 0 (2.15)
From the first constraint, equation (2.13) becomes the following:
d(U2qT q))T ))T /dq + d(XT v) )T /dq d(J(q)qXT f /dq = 0
0f f ~(J(q)XT)T =0
q-JT 2 = 0 or
q = JTX (2.16)
where the solution to equation (2.16) is a minimum.
From the second constraint, equation (2.13) becomes the following:
3(1/2(qT q ))T /dA + d(XT v) )T /dA d(J(q)qXT )T /BA = 0
vT-J(q)T qT=0
v = Jq (2.17)
19


is recovered and combining the constraints (2.16) and (2.17) gives
v = Jq V = J(JT A)
v = JJT A (2.18)
on the assumption that J has full rank, JJT is an rxr square matrix of
rank r and thus can be inverted.
Solving for A gives
A = (JJTy'v (2.19)
Now substitute equation (2.19) into equation (2.16) gives the desired
optimal solution
q = JT (JJT r1 v (2.20)
where JT (JJT )-1 is a matrix that is defined as the right pseudo inverse
of J. Let J* be the right pseudo inverse, therefore, J* = JT (JJT )'.
20


To easily verify that the solution of equation (2.19) satisfies the
differential equation (2.6), JT is premultiplied on both sides of equation
(2.19). This solution simplifies into
q = J*v (2.21)
q(t + At) = At q* v(t) + q(t) (2.22)
X=JT(q)f (2.23)
where/* = JT(JJT )_1
and v is the velocity
vector including the linear
velocity and the angular
velocity of the tool.
q[t + At) is the new joint velocity
for a specific sampling period,
A t. Initial values of q, q{Q),
are assumed to be known.
x is the n x 1 joint torque vector.
/ is the m x 1 end effector
force vector and JT is the mxn
Jacobian transpose that specifies
the relation between x and /.
21


3. More Theory
3.1 Redundancy Analysis
Redundancy is related to the number n degrees of mobility of the
structure, the number m of operational space variables, and the number
r of operational space variables necessary to specify a given task.
3.1.1 Null Space
Considering equation (2.6), v = J(q)q in the context of redundancy v is
considered to be an (r x 1) vector of the end effector velocity for a
specific task, J is the corresponding (r x n) Jacobian matrix that can be
extracted from the geometric Jacobian, and q is an (n x 1) vector of
joint velocities. Because of redundancy, for this 8 dof manipulator r < n
and, therefore, redundant degrees of mobility exist, (n r). The
Jacobian describes the linear mapping from the joint velocity space to
the end effector velocity space. In general, the Jacobian is a function of
the configuration and in the context of differential kinematics as a
constant matrix since the instantaneous velocity mapping is of interest
22


for a given posture. The relationship in equation (2.6) can be
characterized in terms of the range and null spaces of the mapping. The
range and null space are defined as follows:
The range of 7 is the subspace 91(7) in matrix
R r of the end effector velocities that is generated
by the joint velocities in the given manipulator
posture.
The null of 7 is the subspace N(7) in matrix R" of
joint velocities that do not produce any end effector
velocity in the given manipulator posture.
If the Jacobian has full rank its dimensions are as follows:
dim (91(7)) = r (3.1) dim(N(7)) = n-r (3.2)
where the range of the Jacobian spans the entire space of matrix R\ If
the Jacobian degenerates at singularities (discussed below), the
dimension of the range space decreases while the dimension of the null
space increases and the following relation holds:
dim(9l(7)) + dim(N(7)) = n (3.3)
23


The addition of these dimensions is independent of the rank of the
matrix J (rank of matrix J is the dimension of the column space of J).
The existence of subspace (N(7)) (3.4) for a redundant manipulator
allows determination of systematic techniques for handling redundant
degrees of mobility.
Let q denote a solution to equation (2.20) and P be an (nxn) matrix so
that
nP)^N(J) (3.5)
where the joint velocity vector becomes
q = q+Pq0 (3.6)
with qa being an arbitrary joint velocity solution to equation (2.6).
When both sides of equation (3.6) are premultiplied by J the result is
Jq = jq + JPq0 = M o = Jq=v (3 -7)
24


where JPq0 = 0 for any q0. q0 generates internal motions of the
manipulator which do not change the end effectors position and
orientation, instead, the manipulator reconfigures into more dexterous
postures for execution of a given task. In addition to the generation of
these internal motions, equation (3.7) allows the possibility of choosing
q0 so that the redundant degrees of mobility may advantageously be
exploited.
3.2 Singularities
Singularities are certain points where the mapping (from velocities in
joint space to velocities in Cartesian space) of the Jacobian can not be
inverted. Singularities represent configurations from which certain
directions of motion may be unattainable. A manipulator is said to be in
singular configuration if it cannot generate velocity in a certain direction
in the velocity space of the manipulator vector. In order for the
manipulator to move or continue in motion, singularities must be
avoided. At certain manipulator configurations, the Jacobian matrix
may loose full rank (i.e. there is a reduction of the number of linearly
dependent rows or columns). As the manipulator approaches these
configurations, the Jacobian matrix becomes ill conditioned and may not
be invertible. As a result, the numerical solution of equation (4.8)
(below) produces an infinite number of joint rates. These
25


configurations, which are rank deficient, are termed kinematic
singularities. At singularity configurations, a manipulator looses one or
more dof. This loss of a dof is more efficient than the alternative which
is to move the singular configurations to an unimportant area of the
reachable region by some sophisticated mechanism. The latter method
would be implausible if not impossible.
There are two types of singularities, boundary singularity and interior
singularity. A boundary singularity occurs when the end effector is on
the surface of the workspace boundary. This means the manipulator is
fully stretched out, folded back on itself or if one of its actuators reaches
its mechanical limit. An interior singularity occurs inside the reachable
workspace. There are several conditions that may lead to an interior
singularity. Two of these conditions are as follows: 1) two or more
joint axes line up on a straight line. This causes the effects of a rotation
about one joint axis to be canceled by counter rotation about another
joint axis. Thus, the end effector remains stationary even though the
intermediate links of the manipulator may move in space. 2) four
revolute joint axes are parallel to one another or intersect act at a
common point. In the case of interior singularities the manipulator
loses one or more degrees of freedom. In other words the motion of the
mobile platform is restricted by this type of constraint. The interior
26


singularity constitutes a serious problem. This singularity can be
encountered anywhere in the reachable workspace for a planned path in
the operational space. It is difficult to predict and prediction is
important in order to avoid the singularity during the path planning
process. Unlike interior singularity, the boundary singularity can
always be avoided by arranging the task of manipulation far away from
the boundary workspace.
3.2.1 Kinematic Singularities
At singularities kinematic equations (2.6) and (2.10) have no meaning
because the Jacobian looses full rank. Equation (2.6) has become a
system of equations containing linearly dependent equations. When
v e 91(7) the system of equations in (2.6) has no solutions and, therefore,
the operational space path cannot be executed by the manipulator at a
given posture.
On the other hand, in order to find solution(s), g, at singularity
configurations, all the independent equations must be extracted and can
only be done if ve 91(7). This leads to the trajectory path to be
physically executed by the manipulator, even though it is at a singular
configuration.
27


Another underlining problem in kinematics occurs with inverting the
Jacobian. It is not only problematic at singularities but also in the
neighborhood of singularities. The computation of the Jacobian inverse
requires the computation of the determinant and in the neighborhood of
singularities the determinant takes on very small values which cause
large values in the joint velocities which than cause large values in the
torques (discussed below).
3.3 Manipulator Dynamics
Manipulator dynamics considers the equations of motion for a
manipulator. These equations calculate the torques applied by the
actuators and the external forces applied to the manipulator which both
cause the manipulators motion. Forward dynamics and inverse
dynamics accomplish these calculations.
3.3.1 Forward Dynamics
Forward dynamics is the study of the rotational velocity and linear and
rotational acceleration of the center of each link of the manipulator at
any given instant which is necessary in order to compute inertial forces
and torques acting on each link. These equations can mathematically be
expressed as iterative Newton-Euler dynamic equations (Craig).
28


1+1
6>x, =
i+i i
=,+) R cot + qM ,+1 ZM (3.8) angular velocity of link i +1 caused
by rotational velocity at joint i +1.
angular acceleration from
(3.9) from one link to the next.
linear acceleration of each
(3.10) link frame.
(3.11) linear acceleration of the center of
mass (c.o.m) of each link where a
frame {C,} is attached to each link
with its origin located at the c.o.m
of the link.
(3.13) torque acting at c.o.m of each link.
(3.12) inertial force acting at c.o.m of each
link.
29


3.3.2 Inverse Dynamics
Inverse dynamics is the study of the forces and torques required to
produce a desired motion of some point or body within a mechanical
system (manipulator). It is the procedure in which data is used to
estimate torques produced at the joints. The method used is an iterative
solution of the Newton-Euler equations of motion for each link. The
iteration starts at the top most link and calculates the joint torques which
then satisfies the dynamic equilibrium conditions at each successive link
proceeding downwards. The equations used to calculate the forces and
torques for inverse dynamics are mathematically expressed as follows:
' fi =.+j R i+1 fM Fj (3.14) force exerted on link i by link
i-l.
' ", =' N, +,; R i+1 nM +' PCI X Ft +' PM X ,.+; R i+1 fM
(3.15) inertial force acting at c.o.m of
each link.
r,. =' nj Z, (3.16) torque exerted on link i
by link i -1
Except for gravitational and inertia forces, the generalized forces
account for all the other forces acting on a robot arm that are consistent
30


with the mechanical constraints (i.e. singularities). Actuators exert
forces or torques at the joints and apply external force and moment at
the end effector. Generalized forces at the joints are often called torques
while generalized forces at the end effector are called forces.
3.4 Truncation and Round Off Error
There are two common types of error in numerical calculations: round
off and truncation error. Round off error is due to the floating point
numbers which are represented by finite precision. Truncation error
occurs when a discrete approximation to a continuous function is made.
Round off error depends on the number and type of arithmetical
operations used in a step. Round off error thus increases in proportion
to the total number of integration steps used, and therefore, taking very
small steps increases round off error. It is normal practice not to
consider the round off error in numerical analysis of the algorithm. In
addition to arithmetical operations, round off error also depends on the
fact that a computer cannot store floating point numbers with perfect
precision, instead, the number is represented by a finite number of bytes.
Most programming languages allow the coder to decide if floating point
numbers should be represented with 8 bytes (a single precision) or 16
31


bytes (a double precision). The Matlab programming language defaults
to define all floating point numbers with 16 bytes.
Truncation error (TE) results from the truncation of the infinite Taylor
series to form the algorithm. That is the TE results by converting the
continuous ordinary differential equation (ODE) into the discrete
difference equation through the use of approximations for the
derivatives that appear in the ODE. Unlike round off error, TE depends
on the step size (At) used, the order of the method ( 0(At2)) and the
problem being solved. It is desired to use sufficiently small step size
and a higher power of At in order to make the truncation error involved
as small as possible. Using sufficiently smaller step sizes is a concept
known as convergence.
32


4. Methods
4.1 General Method
Two case studies have been developed involving an iterative algorithm
for solving the inverse kinematic problem for kinematically redundant
manipulators. In the first case study, the inverse kinematics of the
manipulator were calculated using equation (2.20), q= J* v, where J'=
JT (JJ1)-1 is the nxm pseudo inverse of J(q) which is better known as
the generalized inverse. The pseudo inverse solution is only valid for
serial manipulators that have all the joints of the same type.
In addition, pseudo inverse control alone does not avoid singularities
(Leon Zlajpah: Simulation of n-R planar manipulators). In fact,
minimization of some cost functions involving the pseudo inverse may
actually push the manipulator to the singularities. Unlike pseudo
inverse, which is used for non-redundant manipulators, generalized
inverse is not manipulator dependent. Generalized inverse can be
considered with joint displacement constraints on variables q and any
objective functions used to avoid singularities do not limit its
application to the manipulator.
33


4.2 Gradient Projection Method
In the second case study, the gradient projection method (GPM) is used
which incorporates the gradient of an arbitrary objective function into
the joint coordinate velocity equation (2.21), q = J v, in order to avoid
singularities.
Because the Jacobian matrix has more columns than rows for a
redundant manipulator, a viable solution method is needed to formulate
the problem as a constrained linear optimization problem. The
optimization problem in the GPM has a constraint (quadratic cost
function) of joint velocities on the values that can be used to produce the
optimal solution. Once the end effector velocity, v, and Jacobian, J,
are given for a given configuration, q, the solutions q for the linear
equation (2.6), v = J(q)q, need to be found and the quadratic cost
function of joint velocities need to be minimized. This is accomplished
by using the method of Lagrangian multipliers. In order to solve these
solutions, minimization of the quadratic cost function of joint velocities
for a small step size, Dx = v, with respect to q is done with the method
of Lagrangian multipliers.
34


F(q,A)=U2(q + VH)T (q + VH) + AT(v-J(q)q) (4.1)
where A is an (rxl) vector of unknown multipliers which allows the
constraint (2.21) to be incorporated into the cost functional to be
minimized. The solutions obtained in the method of Lagrangian
multipliers must satisfy the necessary constraints:
(dF/dq)T=0 (4.2) and (dF/dA)T= 0 (4.3)
From the first constraint, equation (4.2) becomes the following:
3(l/2(4 + AHf (q + AH))T /dq + d(AT v)T/dq d(AT J(q)q)T /dq=0
((q + AH)r )T (AT)T J(q)T= 0
q + Mi-A J{q)T = 0 or
q = JTA-VH. (4.4)
35


By premultiplying both sides of equation (4.4) with J gives
Jq = JJT A-JS7H (4.5)
If equation (4.5) is multiplied through by (JJT )_1, then A is solved as
(.JJT r1 Jq = (JJT )_1 (JJT )A (JJT )_1 JAH
A = (JJT )_1 Jq + (JJT )~l JVH (4.6)
From the second constraint, equation (4.3) becomes the following:
d(l/2(q + AH)T (q + AH)f /dA + d(AT v)T IdA d(AT J(q)q)T /dA = 0
vT~J(q)T qT =0
v = Jq (4.7)
is recovered. Substituting (4.7) into (4.6) gives
A = (JJT T1 v + (JJT )-* JNH (4.8)
36


Now substituting (4.8) into (4.4) gives in the desired optimal solution
q = JT A (V//) = JT (JJT r1 v + JT (JJTyl J(VH)-VH or
Since J* = JT (JJT )_1
q = J* v + J* JVH-VH
q = J* v + (J* J-I)WH (4.9)
To improve the performance criterion, H, using the gradient gradient
projection method, manipulator redundancy is resolved by substituting
A&H for AH.
q = J* v+A(J* J-I)S7H (4.10)
If A = -l then equation (4.10) becomes
q = J* v + A (I J* J)S7H or
q = J* xd+ A(I-J* 7)V H (4.11)
NOTE: Unlike for the minimization process where A was used as a
Lagrangian multiplier vector, in equation (4.11) A is used as a real
scalar coefficient called the gain constant.
37


xd = v is the desired task velocity. (I J* JT) is the desired homogenous
solution and describes the redundancy of the system. It is the projection
operator which maps an arbitrary q into the null space of J (q). The
null space is a subspace of joint velocities that do not produce any end
effector velocity in the given manipulator posture. Mapping occurs
between the joint velocity space (null space) and the end effector
velocity space and again between the end effector force space and the
joint torque space (null space). I is and nxn identity matrix. H (q) is
an objective function/performance criterion and is used to optimize a
desired performance of the manipulator. The gradient vector of H (q) is
given by:
VU(q)=(dB/8ql,dB/dq2...dWdqn)T (4.12)
The homogeneous solution in equation (4.11) affects only the joint
angular motion of the manipulator and will not influence the end
effector motion, whereas, VH(g) is the scalar function of the joint
angles and it is the performance criterion that must be optimized to
avoid singularities and improve the performance of the manipulator. A
performance criterion is defined in a way such that its optimization
results in a manipulators configuration away from a limiting condition
(i.e. singularity). The criterion usually approaches zero or infinity near
38


singularities. When the manipulator configuration is poor and a
criterion approaches zero, maximization is required to avoid the
limitation. Similarly, as the criterion approaches infinity, minimization
is required to avoid the limitation. If a performance criterion is defined
to approach zero near its limit, the summation is non-zero and the poor
configuration is not reflected in the final summation. Therefore, the
performance criterion must be formulated to approach infinity near their
physical limits and the optimization is accomplished through
minimization.
4.2.1 Manipulability and the Gain Constant
The manipulability measure, w, of a manipulator can be evaluated by
utilizing the Jacobian, J. The manipulator singularities occur when
Rank (J), m, causes det(JJT ) = 0. Just as a set of joint angles that cause
the determinant of the Jacobian to be zero at the expense of one or more
degrees of freedom are singular configurations, in a similar manner, the
determinant of the Jacobian is used to measure manipulator dexterity:
w = -y/det(JJT ) (4.13)
det(7Jr )is the determinant of JJT and ^jdet(JJT )=My= w is the
manipulators manipulability. Singularities are defined as those sets of
39


joint variables which make Mj = w =0 and the further the manipulator
is form singular points, the larger value the manipulability value it has
in the neighborhood of singular points.
For avoiding singularities and high joint velocities the performance
criterion used is:
H, (q) = l/Vdet(J7r ) or
Ht(q) =1/Vw (4.14)
A is the gain constant which governs joint angle velocities of the links.
When the value of A is high, the joint angular velocities are faster and
when the value of A is small the joint angular velocities are shorter.
The choice of the A value is sensitive and configuration dependent. If A
is too large, the system can go unstable and if A is too small, the system
is sluggish and unstable. For negative values of A, V H (q) is minimized
and for positive values of A, VH( For the desired path, the appropriated value allows the end effector to
be stable when in motion.
Equation (4.11) is used in an iterative algorithm to avoid singularities.
40


5. Results
For this eight dof manipulator, there were two case studies done for
three trajectory paths an arc, an ellipse and a line. A simple explicit
Euler method that integrates ordinary differential equations numerically
was used to calculate the kinematics. The equations that need to be
integrated are
1) q = J* v
2) q(t + At) = At J* v(t) + q(t) + 0(At2)
The first case study utilizes the generalized inverse method, whereas,
the second case study utilizes the gradient projection method. Equations
(2.21) and (4.8) are used respectively to calculate the end effector
velocity. Equation (2.22) is then used to calculate the new joint velocity
for the specific sampling period of two seconds. Equation (4.8) can be
and is used in the Matlab programs that are implemented in the
calculations of the kinematics. Although equation (4.11) is used for the
gradient projection method, by setting A = 0 this equation is reduced to
the generalized inverse method. On the other hand, when A is set equal
to a non-zero value equation (4.11) defines the gradient projection
method.
41


Equation (4.11), therefore, is used throughout each case study because it
lends itself to the generalized inverse method and the gradient projection
method. Each method runs through a total time period of two seconds.
These two methods compare and contrast the way the 8 dof manipulator
moves near and through singularities. Each case calculates torques,
linear and angular velocities, vectors n o a of the rotation matrix, the
position vector of the transformation matrix and the determinate of the
Jacobian.
5.1 Simulations of the Arc, Ellipse and
Line
5.1.1 Determinate of the Jacobian, Joint
Velocities and Joint Torques
In the first case study, the generalized inverse method is used to
calculate the joint velocities of the end effector. This is depicted in
figures 5.1 through 5.8 as the programs run and the end effector follows
along the trajectory paths of the arc, ellipse and line.
42


Figure 5.1: End effector at the
beginning of the arc.
43


Figure 5.2: End effector at the middle
of the arc.
44




Figure 5.3: End effector at the end
of the arc.
1
45


Figure 5.4: End effector at the
beginning of the ellipse.
46


Figure 5.5: End effector at the
middle of the ellipse.
47


Figure 5.6: End effector at the
beginning of the line.
48


Figure 5.7: End effector at the
middle of the line.
49


Figure 5.8: End effector at the end
of the line.
50


A system of equations must be solved in order for the end effector to
follow a specified trajectory path. The inverse kinematics is used to
solve a system of linear and nonlinear equations which are specified
along a specified end effector. Once the position, velocity, and
acceleration of the joints are calculated, the joint torques required to
cause motion is calculated using an iterative Newton-Euler dynamics
algorithmic procedure, x-JT (q) f (2.23). Once the motion is solved for,
forces are solved (i.e. ODEs are not being integrated). Among these
equations calculated are the joint velocities, q = J*v (2.21). v = [p w]
describes the motion of the tool along the desired path. This is the end
effector velocity, p = Jp (q)q (2.7) is the derivative of the position
along a parameterized path. This is the linear velocity. co = J0(q)q (2.8)
is the angular velocity. Specific values and equations for the position,
end effector velocity and angular velocity are chosen for a specified
desired path. The values and equations that create each trajectory path
and describe the motion of end effector along its path are in table 5.1.
51


Trajectory path Arc Ellipse Line
Initial Values of Position, (cm)
pxo = 0 0.1 -0.5
pyo = .05 0.6 0.2
pzo = -0.25 -0.25 -0.5
Radius of the trajectory path, (cm)
rad = 0.25 0.3 0.01
Angle (rad) e = #/1000 2* #71000
Equations used to create a path, (cm)
px = pxo+rad*cos(0) pxo+rad*cos(0) pxo+1/1000
py = 0 0 0
pz = pzo+rad*sin( 6) pzo+rad*sin(0) pzo+1/1000
The derivative of the position equations describing the motion, (cm/s)
vv = n *rad 2*#*rad
vx = -sin(0)*vv -sin( 6 )*vv 1
vy = 0 0 0
vz = cos(0)*vv cos(#)*vv 1
vt = [vx,vy,xz]/2 secs [vx,vy,xz]/2 secs ; [vx,vy,xz]/2 secs
Table 5.1: A system of equations used to create and to specify
the position and the motion of the arc, ellipse and line
trajectory paths.
52


The first trajectory path considered is the arc. As shown in figure 5.9,
for/l = 0, the determinate of the Jacobian is plotted against the total time
period of two seconds. The change in time (dt) used is
At = .0067 seconds. Although the graph shows no instability occurring,
namely the end effector follows its entire path, it does show the path
approaches physical limitations, namely, singularity(ies). At
approximately 1.28 seconds, the graph approaches det(J JT ) = 0. This
indicates the end effector approaches the vicinity of at least one
singularity throughout the course of the path. Figures 5.10 and 5.11,
for 2 = 0, show the torques and joint velocities plotted against the total
time period of two seconds. The change in time (dt) used is
At = .0067 seconds.
53


determinate of the Jacobian
Figure 5.9: Case study one.
Determinate of the
Jacobian with A = 0
for the arc.
54


torques torques torques
time(s)
E"
o
5
0
-5
-10
0 0.5 1 1.5 2

' i
/ .
time(s)
Figure 5.10: Case study one.
The torques with
A = 0 for the arc.
55


U\
ON
Figure 5.11: Case study one.
The joint velocities
withK = 0 for the arc.
3*
is.
joint velocities
joint velocities joint deities
O
o)^rooui-*>biio


As singularities are approached, the manipulator still needs to continue
through its trajectory path. Singularities and being in the vicinity of
singularities must be avoided. In order to avoid being in the vicinity of
singularities, in case study two the gradient projection method was used
by setting A--2 and 2 = -0.19 in equation q = J* v + A(I-J* J)VH
(4.11). This allows for the execution of a given task as the manipulator
reconfigures into more dexterous postures. The determinate of the
Jacobian has been plotted against the total time period demonstrating the
efficacy of the gradient projection method, figures 5.12 and 5.13
respectively. Although the gradient projection method has been
effective, two very different situations occurred. When A = -2 was
used and compared to the singularity situation (figure 5.12), there was a
decrease in torques and the values of the joint velocities were
comparable to those with 2 = 0 as shown in figures 5.14 and 5.15
respectively. In contrast, when A = -0.19 was used there was an increase
in torques and the values of the joint velocities were comparable to
those with2 = 0, figures 5.16 and 5.17 respectively. For both2s,
singularity avoidance (figures 5.12 and 5.13) occurs and is expected
because the performance criterion (Hi (q) = l/4w equation (4.14)) used
is used to avoid singularities and high joint velocities. However, the
difference in the joint torques observed was not expected. This
difference suggests the different gain constants (2 values) are a direct
57


result of the torque variations. When the A values deviate a little from
0, there was singularity avoidance with no increase in joint velocity and
a slight increase in the torque values. However, when the A values
deviate further away from 0, there was more of a singularity avoidance
and the values of the joint velocities and torques were comparable to
those with A = 0.
Figure 5.12: Case study two.
Determinate of the
Jacobian with A = -2
for the arc.
58


Figure 5.13: Case study two.
Determinate of the
Jacobian with X = -.19
for the arc.
59


torques torques torques
0 0.5 1 1.5 2
0 0.5 1 1.5 2
time(s) time(s)
Figure 5.14: Case study two.
The torques with
A = -2 for the arc.
60


o\
Figure 5.15: Case study two.
The joint velocities
with/L = 2 for the arc.


0 0.5 1 1.5 2
time(s)
time(s)
Figure 5.16: Case study two.
The torques with
X = -.19 for the arc.
62


On
U)
Figure 5.17: Case study two.
The joint velocities
with/l = -.19 for the arc.
joint velocities
(Jl CJl o


The following theory is proposed for the increase in joint torque values
and joint velocity values. The difficulty of singularities does not only
occur when the Jacobian matrix is singular (where the homogeneous
solutions are entirely removed), but near singularities where the system
is also ill-conditioned and the joint velocities are large. The relationship
in equation v = J(q)q (2.6) can be characterized in terms of the range
and null space. In particular, the null space is defined as the null of J
which is the subspace N(J) in matrix R" of joint velocities that do not
produce any end effector velocity in the given manipulator posture. At
and near singularities, the null space of JT is along the direction of two
aligned links. If the desired velocity vector, xd, is orthogonal to the null
space of JT, the endpoint can cross the singularity without difficulty.
On the other hand, if xd has a component along the null space of JT,
high joint velocities are mechanically expected to track that trajectory.
Large accelerations resulting in larger joint velocities require large joint
torques to keep the manipulator on the desired trajectory. The high joint
velocities were offset by the performance criterion used in equation
q = J* v + A(I J* J)VH (4.11), whereas, the joint torques at these points
were not offset and remained large.
As seen in figure 5.13, throughout the trajectory path the joint torques
are smaller where the end effector deters away from a singularity and
64


grows large where the end effector approaches near a singularity. After
the gradient projection method was applied, larger torque values were
observed, figure 5.16. Even though the gradient projection method
is affected by the gradient of the performance criterion, its magnitude is
essentially determined by the scalar gain constant,/!, which is
determined based on the bounds of the actuator velocities and, therefore,
the torques. The value used for this trajectory path where the increase in
torques was observed is A = -.19. This value still allows the joint
velocities to be calculated within bounds because the end effector
successfully follows the intended path. With values much larger or
smaller than A = -2, the joint velocities and, therefore, the torques are
extremely high and the system goes unstable; that is the Jacobian blows
up and the end effector does not continue on its intended path.
However, when a smaller dt (At) value was used (At = .002 seconds)
smaller values, 2 =-4 and2 = -7, were used as the end effector
continued on its intended path indicating the system remained stable.
Gain constant values larger than 2 = 0 were used with the smaller dt
value. The end effector did not follow its trajectory path, thereby,
rendering the system unstable. Therefore, the larger the gain
constant,A, the smaller the change in time, At, which results in a
stiffer system.
65


As shown in figures 5.20 and 5.23, the joint velocities were comparable
to those with 2 = 0, whereas, the joint torques, increased dramatically
compared to those with2 = -.19 and 2 =-2. The gain constant2
governs joint angle velocities of the links. When the value of 2 is high,
the joint angular velocities are faster and when the value of 2 is small
the joint angular velocities are shorter. The choice of the 2 value is
sensitive and configuration dependent. No change in the joint
velocities as the 2 values vary is indicative of the efficacy of the
performance criterion used in the projection gradient method. For the
desired path, the appropriate2 value allows the end effectors position,
orientation and velocity to be stable when in motion.
66


14
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
time(s)
Figure 5.18: Case study two. Determinate of
the Jacobian with X = -4 for the arc.
67


On
oo
Figure 5.19: Case study two.
The torques with
A = -4 for the arc.
torques torques torques


ON
NO
Figure 5.20: Case study two.
The joint velocities
with= -4 or the arc.
joint velocities joint velocities int ''oc't'es


Figure 5.21: Case study two.
Determinate of the
Jacobian with X -7
for the arc.
70


torques torques torques
time(s) time(s)
Figure 5.22: Case study two.
The torques with
A =-7 for the arc.
71


-J
SI
Figure 5.23: Case study two.
The joint velocities
with A = -7 or the arc.


Such large joint velocities induce large joint accelerations which can
also cause excessive joint torques. This requires larger forces in order
to maintain the desired end effector trajectory. These larger forces may
be undesirable depending on the magnitude that is required to
accommodate the excess joint torques. The manipulator cannot exceed
its feasible limits in terms of forces and torque saturations. These large
values put the manipulator in a dangerous situation. The joints will hold
the maximum torque and if the maximum exceeds the manipulators
limit capacity then the manipulator motions are unstable with
excessively large joint torques, joint accelerations and forces. Figures
5.24, 5.25 and 5.26 plot the joint accelerations against the total time
period of two seconds. The change in time (dt) used is At = .002
seconds.
73


-J
Figure 5.24: Case study one.
Joint accelerations
with X = 0 for the arc.
joint accelerations joint accelerations joint accelerations
bi o in in o 0161 o bi


Ln
Figure 5.25: Case study two.
Joint accelerations
with A = -2 for the arc.


-J
ON
Figure 5.26: Case study two.
Joint accelerations
with A = -.19 for the arc.


Similar results occurred with the ellipse and line trajectory paths. For
case study one, k = 0, the determinate of the Jacobian is shown in figures
5.27 and 5.28 respectively. The joint torques, joint velocities and joint
accelerations are shown in figures 5.29 through 5.34.
Figure 5.27: Case study one.
Determinate of the
Jacobian with k = 0
for the ellipse.
77


x 10'3
Figure 5.28: Case study one.
Determinate of the
Jacobian with A = 0
for the line.
78


senbjo) sanbjoj sentuoi
0 0.5 1 1.5 2
0 0.5 1 1.5 2
time(s) time(s)
Figure 5.29: Case study one.
The torques with
A = 0 for the ellipse.
79


torques torques torques
0 0.5 1 1.5 2
Figure 5.30: Case study one.
The torques with
A = 0 for the line.
80


oo
Figure 5.31: Case study one.
Joint velocities with
X = 0 for the ellipse.
-0.5


joint velocities joint velocities joint velocities
0 0.5 1 1.5 2 0 0.5 1 1.5 2
Figure 5.32: Case study one.
Joint velocities with
A = 0 for the line.
82