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