information 10 users - library and archives · pdf fileinformation 10 users ... les...
TRANSCRIPT
INFORMATION 10 USERS
This manuscript hais ôwn repmduced f m the microfilm master. UMI films the
text diredly from the original or copy wbmitted. Thus. some thesis and
dissertation copies are in typemiter face, while othenr may be from any type of
cornpuîer printer.
The quality of mis reptoduction is dependent upon the qurlity of the copy
submitted. Broken or indistinct print, cobred or poor quality illwtfations and
photographs, print Meedthrough, substandard margins, and impmper alignment
can advemely affect reproduction.
In the unlikely event that the author did not send UMI a complete manusuipt and
thare are missing pages, these wi l be noted. Also, if unauthocirecl copyngM
material haâ t~ be removed, a note will indicate the deletion.
Ovemire maderials (e.g., maps, drawings, cham) are nproduced by sectiming
the original, beginning at the upper Ieft-hand m e t and continuing fmm left to
right in equal secüons with small ovedaps.
Photographs included in the original manuscript have been re~roduced
xerographically in this copy. Higher quality 6' x 9 biacû and white photqraphic
prinri are avaihble for any photognphs or illustrations appearing in this copy for
an additicmal charge. Contact UMI dimdly t~ order.
Bell & Howdl Information and Leaming 300 North Zeeb Ropd, Ann Aibot, MI 481061346 USA
REAL-TIME REDUNDANCY-RESOLUTION
SCHEMES FOR ROBOTIC MANIPULATORS
Noga Arenson
Department of Mechanical Engineering
McGill University, Montréal
A Thesis submitted to the Faculty of Graduate Studies and Research
in partial fulfilment of the requirements for the degree of
Master of Engineering
National Library of Canada
Bibliothèque nationale du Canada
Acquisitions and Acquisitions et Bibliographie Services services bibliographiques
395 Wellington Street 395, rue Wellington Ottawa ON K1A O N 4 Ottawa ON K I A ON4 Canada Canada
The author bas granted a non- exclusive Licence dlowing the National Library of Canada to reproduce, loan, distribute or sel1 copies of this thesis in rnicrofonn, paper or electronic formats.
The author retains ownership of the copyright in this thesis. Neither the thesis nor substantial extracts fiom it may be printed or otherwise reproduced without the author's permission.
L'auteur a accordé une licence non exclusive permettant à la Bibliothèque nationale du Canada de reproduire, prêter, distribuer ou vendre des copies de cette thèse sous la forme de rnicrofichelfiim, de reproduction sur papier ou sur format électronique.
L'auteur conserve la propriété du droit d'auteur qui protège cette thèse. Ni la thèse ni des extraits substantiels de celle-ci ne doivent être imprimés ou autrement reproduits sans son autorisation.
Abstract
While redundancy resolution of serial manipulators has been extensively studied, most of
the work published reports simulations oniy. This thesis reports work not only on the numer-
ics behind, but also the irnplementation of real-time redundancy-resolutioii schemes on a
real robot. Furthemore, the robot that was chosen as the experimental platform is isotropic.
Redundant robots have more degrees of freedom than needed to perform a class of tasks.
For example. a three-revolute planar manipulator meant to position the operation point of
its end-effector in the X-Y plane is redundant. The extra degree of freedom can be used to
minirnize a performance index. A new performance index is proposed in the thesis. that is
quadratic in the joint variables and its weighting function has units of frequency. It is shown
how rhis performance index can produce cyclic trajectories in a simple manner. thereby
eliminating the undesired drift of the joint angles upon tracking a closed Cartesian trajec-
tory.
Isotropie robots cm be postured in such a way that the condition number of their Jaco-
bian matrices cm attain a minimum value of unity. It is shown in the thesis that this feature
is closely nlated to the performance of the robot. It appears that trajectories that are close
to the set of isotropic postures are performed with srnalier errors than trajectories lying far
fiom that set.
The experimeots reported here were conducted on the McGill-IRIS C3 Arm, an
isotropic, four-revolute redundant manipulator, used to position the operation point of its
end link. The C3 Ami is a member of a family of isotropic robots that have been designed
and manufaciur~d in the past five years at McGiii's Centre for Intelligent Machines. This
family includes DTESTRO, REDIESTRO 1 and REDIESTRO 2, besides the C3 Arm. the
two REDIESTRO robots king now under extensive use within the STEAR (Strategic Tech-
nologies for Autonomous Robotics) Project, in partneahip with Concordia University, the
Canadian Space Agency, and Bombardier Inc.'s Canadair DSD.
Since its commissioning, the C3 Arm was not capable of performing general trajecto-
ries in Cartesian space; hence, its hardware and software were further developed within the
frarnework of the research reported here.
Alors que la résolution redondante des manipulateurs à chaîne ouverte simple a été large-
ment étudiée, la plupart des travaux publiés ont porté uniquement sur les simulations. Ce
mémoire porte non seulement sur les aspects numériques sous-jacents. mais aussi sur une
réalisation en temps réel de la résolution redondante sur un robot isotrope redondant. Les
robots redondants ont plus de degrés de liberté qu'il est nécessaire pour effectuer un type
de tâches. Par exemple, un manipulateur planaire avec trois articulations rotoïdes, utilisé
pour le positionnement du point d'opention de l'organe terminal dans le plan 'c'-Y. est re-
dondant. Le degré de liberté supplémentaire peut être utilisé pour minimiser un indice de
performance. L'indice de performance proposé est quadratique par rapport aux varriables
articulaires et est pondéré par une matrice ayant des unités de fréquence. U est montré que
cet indice de performance peut produire une trajectoire cyclique d'une maniére simple. ce
qui mène h une élimination du décalage articulaire lors de la tracée d'une trajectoire fermée
dans l'espace cartésien.
Les robots isotropes peuvent être positionnés de telle sorte que le nombre de condi-
tion de leur matrice Jacobienne atteigne une valeur minimum de un. Il est montré dans ce
mémoire que cette caractéristique est étroitement liée à la performance du robot. [1 semble
que les trajectoires proches de la configuration isotropique sont parcourues avec des erreurs
plus petites que les trajectoires éloignées de cette configuration.
Les expériences rapportées ici ont été menées sur le bras robotique McGilI-IRIS C3,
un manipulateur isotrope redondant à quatre articulations rotoïdes, utilisé pur le position-
nement du point d'opération de sa demière membrure. Le manipulateur C3 appartient à
la famille des robots isotropiques qui ont été conçus et mis en oeuvre au cours des cinq
dernières années au Centre McGill de recherches sur les machines intelligentes. Cette
famille comprend. à part le bras C3, DIESTRO, REDIESTRO 1 et REDIESTRO 2, les
deux derniers étant maintenant utilisés très fortement dans le cadre du projet STEAR (Tech-
nologies Strategiques pour Robots Autonomes), en partenariat avec L'Université Concor-
dia, l'Agence Spatiale Canadienne. et la division défense de le filiale de Bombardier inc.,
Canadair.
Lors de sa mise en service, le bras C3 n'était pas capable de suivre des trajectoires
générales dans I'espace cartésien; cela a par conséquent conduit à la continuation du dévelo-
pement de ses aspects matériel et logiciel dans le cadre de la recherche rapportée ici.
Acknowledgements
1 would like to thank my supervisor, Prof. Jorge Angeles, for his support and for giving
me the opportunity to face the challenge of reengineexîng an advanced robotic system. His
extensive knowledge is something that 1 will aiways look up to. 1 am specially grateful for
his careful review of the manuscript of the thesis.
Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl-
edged for his help in the early stages of bringing the robot back to life. His patience and
readiness to explain the inuicacies of the supporting hardware and software and to provide
practical information were instrumental in the completion of this work.
Special thanks to my friend Fanam Ranjbm,who would always corne at the right time
and give me a hint that would solve the problem with which 1 was struggling.
Thanks are also due to my fiend Oliver Astley, who shared with me his wide practical
knowledge and experience, especially in tuning the motors of the C3 Arm.
Many thanks to Pierre Montagnier for producing the French translation of the abstract.
Sincere thanks to Harmonic Drive Systems Inch Doug Olson and Brian St. Denis for
giving us the C3 Arm amplifiers free of charge.
1 would like to dedicate this thesis to my husband, Mordechai Arenson, who encouraged
me and made me go on at times were I was about to give up. He also helped me a lot with
his wide view over things and his wise suggestions and remarks.
Finaily, 1 wish to ihank my son, Avraharn, who gave me an easy pregnancy, which was
essential for the completion of the work.
TABLE OF CONTENTS
TABLE OF CONTENTS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abstract
Résumé . . . . . . . + . . . . . . . . . . . . . . . . . . . . . . . . . . . , . .
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
CHAPTER 1 . Introduction . . . . . . . . . . . . . . . . . . . . . . 1
I . Probiem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 . Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1. Schemes Using the Generaiized Inverse . . . . . . . . . . . . . . . . . 6
2.2. Schemes Using the Weighted Generalized Inverse . . . . . . . . . . . . 12
. . . . . . . . . . . . . CHAPTER 2 . Algebraic and Computational Background 13
1. The Genedized Inverse . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 . Thecondition Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 . Householder Reflections . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
. . . CHAPTER 3 . Description of the Redundancy-Resolution Schemes Selected 2 1
1 . The Orthogonalization Procedure . . . . . . . . . . . . . . . . . . . . . . . 23
2 . The Lagrange-Multiplier Procedure . . . . . . . . . . . . . . . . . . . . . 26
CHAi?TER 4 . Description of the Experimental Pladorni . . . . . . . . . . . . . 30
vii
TABLE OF CONTENTS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . Hardware 33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 . Software 39
. . . . . . . . . . . . . . . . . . . . . . . . 2.1. Human-Machine Interface 40
. . . . . . . . . . . . . . . . . . . . . . . 3 . Tuning the Actuator Controllers 46
. . . . . . . . . . . . . . . . . . . . . . CHAPTER 5 Pick-and-Place Operations 48
. . . . . . . . . . . . . . . . . . . . . . . . . 1 . Trapezoidal Velocity Profile 49
. . . . . . . . . . . . . . . . . . . . . . . 2 . 4-5-64 hterpolating Polynomiai 51
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 . Cycloidal Motion 52
. . . . . . . . . . . . . . . . . . . . . . . . 4 . Compasison of the Trajectories 53
CHAPTER 6 . Assessment of the Redundancy-Resolution Schemes . . . . . . . . 58
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . Trajectory Srnoothness 58
. . . . . . . . . . . . . . . . . . . . . . . 2 . The Orthogonalization Procedure 61
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1. Error Discussion 61
. . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. The secondary Task 71
. . . . . . . . . . . . . . . . . . . . . 3 . The Lagrange-Multiplier Procedure 72
CHAPTER 7 . Conclusions and Recommendations for Future Work . 75
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . L Conclusions 75
. . . . . . . . . . . . . . . . . . . . . . 2 . Recommendations for Future Work 76
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References 79
LIST OF FIGURES
A photograph of the C3 Arm without the wnst . . . . . . . . . 3
. . . . . . . . . . . . . . . A schematic of 6-joint rnanipulator axes 22
. . . . . . . . . . . . A flowchart of redundancy-resolution scherne 24
. . . . . . . . . . . . . . . . A view on the experimental platform 30
. . . . . . . . . . . . . A photograph of the C3 Arm with the wrist 32
A drawing of the C3 Arm . . . . . . . . . . . . . . . . . . . . . . 33
. . . . . . . . . . . . . . . . . . . . A view of the VME card-cage 34
A view on the amplifiers. brakes box and transfomers box . . . . . 35
. . . . . . . . . . . . . . . . . . . . . . A view on the junction box 36
. . . . . . . . . . . . . . . Connection scheme to the junction box 37
Connection of the C3 Arm to the Computer . . . . . . . . . . . . . 38
. . . . . . . . . . . . . . . . . . . . . . . Actuator control scheme 40
. . . . . . . . . . . . . . . . . . . . . . The main X-window Panel 42
A function flow after clicking the "READ TRAJ" button . . . . . . 43
A functions flow after clicking the "LOAD button . . . . . . . . . 44
A functions 0ow after clicking the "CONTROC' button . . . . . . . 45
Example of tuning process . . . . . . . . . . . . . . . . . . . . . . 47
. . . . . . . . The dependence of Kp in the direction of the motion 47
LIST OF FIGURES
. . . . . . Normalized trapezoidal velocity profile and its derivatives 49
Normalized 4-5-6-7 interpolating polynomial and its denvatives . . 52
. . . . . . . . . . . NormaLized cycloidal motion and its derivatives 53
Pick-and-place operation . desired trajectory vs . actual tnjectory . . 55
Pick-and-place operation. desired velocity vs . actud velocity . . . . 56
. . . . . . . . . . . . . . . . . . Errors in pick-and-place operation 57
A sketch of the circular trajectory . . . . . . . . . . . . . . . . . . 60
Block diagram of errors . . . . . . . . . . . . . . . . . . . . . . . 62
Errors in Cartesian space due to the redundancy-resolution algorithm 63
Desired vs . actual trajectories in joint space . . . . . . . . . . . . . 64
Tracking errors in joint space . . . . . . . . . . . . . . . . . . . . 65
Tracking errors in Cartesian space . . . . . . . . . . . . . . . . . . 65
Illustration of the segments of the square trajectory . . . . . . . . . 70
Redundancy-resolution with an additionai task . . . . . . . . . . . 71
Circulas trajectory. Lagrangemultiplier procedure vs . noncyclic solution 74
WST OF TABUS
LIST OF TABLES
DH parameten of the C3 Arm at the isotropie posture . . . . . . . . 33
Maximum allowed speed for the actuators . . . . . . . . . . . . . . 50
Erron in pick-and-place operations . . . . . . . . . . . . . . . . . 54
Line trajectory. initial and final Cartesian coordinates . . . . . . . . 60
Cartesian coordinates of the four corners of the square trajectory . . 60
Error surnmary for line and square tnjectories . . . . . . . . . . . . 66
Error surnmary for circular and self-motion trajectories . . . . . . . 67
Condition number for various trajectories in the Cartesian space . . 70
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Angular drift 73
CHAPTER 1. [NTRODUCTION
CHAPTER 1
Introduction
While most industrial robots have six or les degrees of freedom (DOF), a new class of
robots is emerging, which is called redundant. A redundant robot has more degrees of free-
dom than necessary to perform a class of tasks; that is. redundancy is related to the task
requirements. For example, a three-link planar manipulator is redundant if its task is to po-
sition the operation point of its end-effector in an arbitrary point of a plane. regardless of
its orientation. The same manipulator is not redundant if its task is to position and orient
its end-effector in that plane. The human arm is redundant as well; we have a spherical
joint at the shoulder (equal to three DOF), a revolute joint at the elbow (equd to one DOF)
and another spherical joint at the wrist, connecting Our arm to our hand. Therefore, the hu-
man arm ha seven DOF while we actually need only six to position and orient our hand in
space. This architecture may suggest that there is something good in the redundancy despite
the implication diat "redundancy" involves something that is not really necessary. Lndeed,
redundant robots can hande a secondary task, such as obstacle avoidance or minimizing the
motor torques while perfomiing the main task. For example, if a six-DOF manipulator is
required to position and orient a piece into a tray, a redundant robot could perform the same
task while minirnizing the motor torques, which will result in an increment in the motor
service life.
Redundant robots can be more cost-efficient, as mentioned above. A question that nat-
urally &ses is then why are there not mnny redundnnt robots in industry? To answer this
CHAPTER I . INTRODUCTION
question, we have k t to describe the inverse-kinematics problem. Refemng to the human
arm, an everyday task is to look at an object and then grab it with Our hand. What are the op-
erations involved in this task? We estimated the position and orientation of the object. Then,
each of the muscles that actuate our arm joints contract or relax so that our hand will move,
position and orient itself, and grab the object. Each joint performs a different motion in order
for the hand to foiiow the desired path toward the object. In this case, Our brain performed
an operation which is quite complicated for robots, namely "inverse-kinematics". We can
define the problem of inverse-kinematics as "finding the joint angles that will result in a de-
sired end-effector position and orientation". For redundant robots. there are infinitely many
solutions to the inverse-kinematics problem because of the extra DOF. We must not only
solve the problern, but also choose one solution from an infinite set. A scheme in which
the inverse-kinematics is solved and only one solution is chosen is cailed a redundancy-
resolution scheme.
Extensive research has been conducted in connection with redundant robots. Many
redundancy-resolution schemes have been developed, but not many have been implemented
on actual robots. In this thesis we do both the analysis of the numerics behind and the
implementation of redundancy-resolution schemes on a real robot. Furthermore, we aim
at applying rd-time redundancy-resolution algorithms. This is why resolved-rate control
xhemes, which are aimed at solving the inverse-kinematics problem at the joint-rate level,
were cbosen, rather than schemes that work in the joint-coordinate space. The reason is that
the inverse-kinematic problem at the joint-coordinate level is highly nonlinear and, there-
fore, requires an iterative solution, which is not suitable for red-time applications. On the
contrary, the problem is linear at the velocity level.
N o redundancy-resolution schemes are applied in the thesis. The fiat is the orthogo-
ndization procedure, in which a solution is found through a minirnization of a performance
index. The proposed performance index is quadratic in the joint variables with a weighting
matrix that has uni& of frequency. This approach led us naturally to a simple scheme for
producing cyclic trajectories, which are trajectories whereby the end-effector of the robot
is required to rehun to the same initial posture at the end of a closed Cartesian tnjectory.
CHAPTER I . INTRODUCTION
Note that most redundaucy-resolution schemes at the joint-rate level produce a joint drift
upon tracking a closed trajectory in Cartesian space, a phenornenon that is known as non-
cyclicty. The second redundancy-resolution scheme is the Lagrange-multiplier procedure
which produces cyclic trajectories inherently.
Most of the proposed redundancy-resolution schemes use the generalized inverse of the
Jacobian matrix. In order to evaluate the generalized inverse, an explicit matrix inversion
is out of the question because it is computationally highiy expensive. In this thesis, House-
holder reflections are employed in order to avoid a direct caiculation of the generalized in-
verse.
Our redundancy-resolution schemes are implernented on the C3 Arm, a mernber of a
f a d y of isotropie robots that have been designed and manufactured in the p s t five years at
McGill's Centre for Intelligent Machines (CM). This family includes DiESTRO (Williams
Angeles and Bulca 1993), REDIESTRO 1 (Ranjbaran , Angeles, Gonziüez-Placios and Pa-
tel 1995) and REDIESTRO 2 (Arenson, Arenson and Angeles 1996), the last two being now
under extensive usc within the STEAR (Strategic Technologies for Autonomous Robotics)
Project, in partnership with Concordia University, the Canadian Space Agency, and Bom-
bardier [nc.'s Canadair DSD.
FIGURE 1.1. A photograph of the C3 Arm without the wnst
1.I PROBLEM FORMULATlON
The C3 Arm has a hybrid architecture consisting of four revolute joints for position-
ing, ont0 which a three-degree-of-freedom wrist, which is redundantly actuated, is mounted.
Initialiy, the C3 Arm was controlled by intelligent controllen from HDS, inc. These con-
trollea are suitable for pick-and-place operations but not for path-tracking. Therefore, al1
the hardware and software of this arm were replaced as part of this thesis.
The C3 Ami has a very important feature, which is isotropy. Isotropic robots are de-
signed so that their neighbouring axes are located at distances and onented at angles, with
respect to each other, that allow them to adopt isotropie postures. i.e., postures at which the
underlying velocity Jacobian has identical, nonzero singular values. Isotropic robots. as il-
lustrated in this thesis, lead to srnall roundoff-error amplification in the inverse-kinematics
calculations. which results in an enhancement of their positioning accuracy.
1. Problem Formulation
Serial robots are made of links and motors following each other in an open-chin array.
When one motor in this chah is actuated, it moves al1 links and motors ahead of it, thus
resulting in a new end-effector position. As each motor affects the end-effector motion, we
would like to know how the end-effector position is related to the joint variables. We c m
descnbe this relation as
where 8 is the n-dimensional vector of joint angles, g is a nonlinear m-dimensional vector
function of 0, and x is the m-dimensional pose array of the end-effector, i.e., the vector
of Cartesian coordinates. What eq.(l.l) states is: if the joint angles are known. then the
end-effector coordinates can be found by substituting 8 in the function g. This problem is
known as forwuni kinematics. If g is known, the foward kinematics pmblem can be solved
by simple substitution.
The inverse-kinematics problem is the opposite: solving eq.( 1.1) for 0, where g and x
are known, requires solving a nonlinear system of equations, which c m be done by iterative
methods, and therefore, is not suitable for on-line applications.
When the inverse-kinematics probiem is formulated at the velocity level, it becomes a
iinear problem, and therefore, can be solved with direct methods. Below is given a formu-
lation of the inverse-kinematics problem in the joint-rate space. The velocity Iacobian of a
manipulator, J, relates joint rates 6) to endeffector (EE) velocities, grouped in a vector t,
called the twist of the EE, in the form (Whitney 1972)
The first three entries of t descnbe the angular velocity of the end-effector, while the last
three describe the velocity of the operation point of the end-effector.
If J is square, as in the case of nonredundant robots, the solution to eq.( 1.2) is
In the case of redundant robots, J is not square. Furthemore, J is an na x n matrix. with rn <
n in the case of redundant robots, and hence, an infinite number of solutions to eq.(1.2) exist.
In this case, a redundancy-resolution scheme is required in order to find the desired solution.
Most often, redundancy-resolution involves the minimization of an objective function that
is determined according to the task at hand.
2. Literature Review
Redundant robots attracted many researchen in recent years, since their extra degree of
freedom allows for more sophisticated motions than their nonredundant counterparts. Most
of the reported work has been based on simulations only, with few irnplementations on red
robots king reported. Recently, Shadpey, Ranjbaran, Patel and Robins (1997) reported on
the successfui implementation of a robust force control scheme on REDIESTRO 1, a seven-
DOF isotropie, redundant manipulator. This review focuses primady on the theoretical as-
pects of redundancy-resolution, its practical implementation k ing discussed in the chapters
below,
Many solutions to the redundancy-resolution problem have been suggested both at the
joint-coordiaate Level and at the joint-rate level. Yqhi and Ozgoren (1984) solved the
redundancy-resolution for revolute joints as a consuained-optimization problem. These re-
searchers used a minimal-joint motion as the optimization criterion, with Lagrange multi-
pliers, and linearized displacement equations, while Ballieul(1985) suggested an extended
lacobian matrix. Angeles, Anderson and Gosselin (1987) solved a constrained nonlin-
ear least-square minimization problem in the joint-coordinate space. They introduced the
orthogonal-decomposition algorithm. which decomposes the solution into two orthogo-
nal components; one that lies in the nullspace of a constraint matrix and the other in the
range of its transpose. Angeles and Mathur (1989) solved the inverse-kinematics problem
for the joint rates, their solution producing a cyclic motion. Recently, the use of neural
networks was investigated. Wu and Wang (1994) suggested the use of neural networks
with elidnation of the need for training. On the other hand, Ramdme-Chenf, Perdereau
and Drouin (1995, 1996) solved the inverse-kinematics problem using leaming neural net-
works, whereby experience gained from previous operations is automaticdly used to im-
prove future performance. Schlemmer (1996) suggested to divide the problem into a goal-
position problem and a trajectory-optimization problem, which is solved in parallel, using
the method of sequential quadratic programming. However, most of the methods used the
generalized inverse or the weighted generalized inverse of the Jacobian matrix.
As a result of the immense amount of literature available on the subject. we try, in the
survey below, to divide and classify the different methods into groups. in this way, it will
be easier to undentand and grasp the existing literature on the subject. Out of the existing
methods, two methods were chosen to be further investigated. These are the main methods
that have been developed at the Robotic Mechanicd Systems Laboratory of McGill's CIM.
2.1. Schemes Using the Generalized Inverse. A detailed expianation of the gen-
eraiized inverse can be found in Chapter 2. In short. the generalized inverse is used at the
joint-rate level to solve eq.(I .2) and results in a minimum-nom solution. This is why it has
been broadly used at the velocity level, to minimize 11611, which cm be viewed as a mini-
mization of energy consumption. The solution thus obtained takes the form
where y is an arbitrary m-dimensional vector and the generaiized-inverse is
J' = J*(JJ*)-t ( 1.5)
When y = 0, the nom of 8 is minimized, but Klein and Huang (1983) showed that such
a solution may lead to noncyclic motions. Different selections of y will give different per-
formances.
In general. the schemes that contain the generalized inverse in the solution to eq.(1.2)
c m be divided into two main groups (Mayorga 1992). The first group consists of methods
that give an exact solution; the second, of methods that give an approximate solution to
eq.( 1.2).
2.1.1. Exact Methodr for Solving the Rednndancy- Resolution Problem. Exact meth-
ods can be also divided, in turn, into two main groups, local methods and global methods.
Local rnethods are based on eq.( 1.4). Each method suggests a different performance index
from which the vector y will be derived. Most of the schemes are local in the sense that their
performance index depends on the instantaneous joint posture. They give a solution for ev-
ery instant, which can result in a noncyclic motion. In a noncyclic motion, the initial and
final robot postures of a closed Cartesian trajectory are not equal. On the other hand, these
schemes can be used in on-line programming. Global methods give a solution for the whole
task by establishing an upper bound on an integrai-type performance index. These methods
are restricted to off-line programming only. A review of local methods will be given first.
Liégeois (1977) suggested to minirnize a position-dependent scaiar performance index
p(0 ) and to take its gradient as the vector y,
where k is an arbitrary constant. Liégeois introduced a p that gives joint-lirnit avoidance, in
the form
where Oirnid = ( a i m i n + Oimu) /2 and ei"" and Bimaz are lower and upper joint limits.
respec tively.
Yoshikawa (1984) suggested to avoid singularities by minimizing a dextenty measure,
p, which he called manipulability,
Yoshikawa also introduced a performance index for obstacle avoidance. narnely.
where H is a diagonal matrix with constant entries grater than zero and O, is a taught arm
posture.
Maciejewski and Klein ( 1985) also solved redundancy for obstacle avoidance. They
termed the point of the manipulator which is closest to the obstacle the obstacle-nvoidance
point. Then, they derived the obstacle-avoidance equation. namely,
where JO and t, are the Jacobian and the twist for the obstacle avoidance point, respectively.
Equation (1.4) is then substituted into eq.(l. 10) and the solution for y is obtained by using
the generalized inverse again, i.e
The final result, when substituting y into eq.( 1.4), and simplif'ying with the generaiized in-
verse properties, as per eq.(2.6), is
Klein (1985). in tum, solved redundancy for maximum dexterity. He suggested to take
a performance measure, pr, as the minimum singular value of J, because typically this value
determines singularities. Thus, pr cm be used to set an upper bound on the required joint
velocities in the forrn
However, a hindamental problem arises here. namely, how to define a "twist nom" that is
physicdy meaningful, for the envies of t have different units.
Yoshikawa's manipulability has been used extensively because, as pointed out by Naka-
mura and Hanafusa ( 1986). it ''cm be regarded as a distance from singuiar points". How-
ever, as pointed out by Golub and Van Loan (1989). the determinant cannot be a measure
of how close the matrix is to singularity. The condition number gives an indication of this
figure. Therefore, it was suggested by Kosuge and Furuta (1985) to take the reciprocal (in
order to have a nwnber between O and 1 ) of the condition number of the Jacobian matrix as
a controllability measure. Also, Angeles and Rojas ( 1987) suggested a performance index
that rninimizes the condition number of the Jacobian matrix.
Hoilerbach and Suh ( 1987) minimized joint torques. They aimed at a solution that wiil
place the torque vector T as close as possible to the average torque, sa, = 1/2(r+ + r-), where T+ and r- are the upper and lower torque limits, respectively. In order to do so, they
had to incorporate dynamics, and hence, redundancy is solved at the acceleration level. The
general dynamics equation is
where M is the mass matrix, C is the matrix coefficient of Coriolis and centrifuga1 forces
and g is the gravity-force vector in the joint space. The generalized-inverse solution at the
acceleration level is then given by
Substituting ë into eq.(I. 14) yields,
where
Minimizing Il r - sa, 11 and using the generalized inverse again, the result is
where î+ = T+ - i and îd = r- - i. Aithough simulations of this method resulted in
lower torques, it was also shown that the method leads to instabilities.
Klein and Blaho (1987) compared several performance measures. narnely Yoshikawa's
manipulability, the condition nurnber of the Jacobian matrix, joint-range availability that re-
sembles Liégeois' joint-limit measure, and the minimum singular value of the Jacobian ma-
trix. They also compared these measures with a minima measure introduced by Klein and
Huang (1983). In this measure. the infinity-nom of the joint-range availability measure is
taken instead of the 2-nom. Their paper discusses three solutions for the inverse-kinematics
of a three-link planar manipulator, which were obtained by means of the different optirniza-
tion measures.
Mayorga, Ressa and Wong (1992) introduced a global approach in which a sufficiency
condition for the rank-preservation of the Jacobian matrix is introduced. Le, if
then &(J) = m. where grn is the smallest singular value of J; 1 = maxj lû,l, for j =
1,2, . . . , n. Moreover, a,, and ,û,, are hinctions of the Jacobian rnatrix, the partial deriva-
tives of the Jacobian with respect to O j , ûnd rnay lejl. The procedure works as lollows:
choose 0 (t*) that will foilow the desired path. Then, for every sampled instant t i , calculate
and Pi. After this is done for the whole time interval. a,, and are found. Now
eq.(l. 19) can be applied recursively to ensure that the rank of the Jacobian is preserved.
2.1.2. Approximate Methodr for Solving the Redundancy-Resolution Pro blem. Hana-
hisa, Yoshikawa and Nakamura (198 1) divided a task into subtasks and assigned priorities
to them. The priorities are taken into account in the inverse-kinematics solution. F b t , the
task is divided into subtasks with order of priorïties. Then, each subtask is solved using the
extra degree of freedom that was left from the previous subtask. The solution is obtained
using the generalized inverse of the Jacobian matrix.
Damped least-square methods introduce a damping factor p to the solution, which makes
it approximate, narnely,
w here
Nakamura and Handusa (1986) called the inverse in eq.(1.21) the SR-inverse
(singularity-robust inverse). They suggested an automatic adjustment of the darnping fac-
tor, which affects the manipulator performance in the neighbourhood of singularities, in the
where p was defined in eq.(1.8), po is a constant which represents the scale factor at a singu-
larity and po is a threshoid which represents the boundary neighbourhood of singular points.
Kelmar and Khosla (1990) introduced a method based on the SR-inverse introduced by
Nakamura and Hanafusa ( 1986), but instead of determining the threshold Pa for the neigh-
bouring of singularities and testing weather p < po, they suggested to use the ratio of p
between two iterations. The idea was that, as the rnanipulator approaches a singularity, this
ratio will drop dramaticdly. Therefore, they suggested the following damping factor:
otherwise
where is a proper threshold, which they determined experirnentdiy for a seven-DOF ma-
nipulator as p~ = 0.1.
2.2. Schemes Using the Weighted Generalized Inverse. The weighted general-
ized inverse solution to eq.( 1.2) is
w here
and W is a weighting matrix. This solution minimizes the weighted Euclidean norm of the
joint-rate vector gT w$. Whitney (1969) applied pnorities through the weighting matrix.
Konstantinov. Markov and Nenchev ( 198 1) introduced a method that avoids joints lim-
its.
Hollerbach and Suh (1987) tried to minimize joint toques also with the weighted gen-
eralized inverse. In this case, the derivation was similar to the one leading to eqs.(l. 15)
through (1.18). besides the type of norm which they minirnized. Here. they minimized the
weighted Euclidem norm of T - T,,, which resulted in
where W is a weighting matrix. As in the case of an unweighted nom. simulations showed
instabilities.
Park, Chung and Youm (1996) used the weighted generalized inverse and introduced
the weight not only in the generalized inverse. but also in the Jacobian matnx and in the joint
velocity, which they cailed weighted Jacobian and weighted joint velocity, respectively. By
doing this, they solved the equation
where Jw and & are the weighted Jacobian and weighted joint velocity, respectively.
2.1 THE GENERAWZED INVERSE
CHAPTER 2
Algebraic and Computational Background
Some details on the computationai tools that are used in the thesis are described in this Chap-
ter. First, the generalized inverse, which was already mentioned in the literature review, is
recalled. The generalized inverse is used in robotics to solve the inverse-kinematics of re-
dundant robots. In Section 2, the condition number is discussed. In robotics applications,
the condition number of the Jacobian matnx is used as a measure for the accuracy of the
calculatioas involved in inverse kinematics. Section 2.3 describes a rnetbod to reduce a
matrix to upper-triangular fom, which wiil be used in the redundancy-resolution schemes
described in Chapter 3.
1. The Ceneralized Inverse
The generaiized inverse is used for solving a linear system of equations of the type
Ax = b, when A E RmXn, m f n, and A is not necessarily of full rank. The most
commonly used (Moore-Penrose) generalized inverse of a matrix A is uniquely defined as
the matrix G satisfying:
1. AGA = A 3. (AG)" =AG
2. GAG = G 4. (GA)" =GA (2-
where the upperscript H stands for the cornplex-conjugate transpose. If A is red, then
A" = AT.
2.1 THE GENERALiZED INVERSE
If A is square and nonsingular, then G = A-'. In the case where m # n, two types of
generalized inverse &se: the left generalized inverse will be used for cases where m > n;
the right generalized inverse for cases where m < n. In the case of redundant robots, rn is
always smder than n.
If m > n, i.e. if A is one-to-one, the system is overdetetmined. in this case there is no
solution to the problem because there are more equations than unknowns. However, the Ieft
generalized inverse,
can be used in order to give the least-square solution to Ax = b, which rninirnizes the error
nom 11 Ax - b Il2. The least-square solution is, then,
When m < n, the system is undenletermined, which means that it has more unknowns
than equations. This kind of a system admits an infinite number of solutions. In this case.
the right generalized inverse
~t e A ~ ( A A ~ ) - I
gives the solution
where y is an arbitrary vector. K y = O, then this solution rninirnizes I I x ~ ~ ~ and is, hence,
called the minimum-nom solution.
The right part of eq.(2.5) is the homogeneous solution, with matrix (1 - At A) king an
orthogonal complement of A, which projects y ont0 the nullspace of A. Different selections
of vector y wilI give different solutions x, that will satisQ Ax = b. in redundant robots,
the homogeneous part gives different joint-angle solutions without changing the pose of the
end-effector. This type of motion is called a self-motion.
2.2 THE CONDlTION NUMBER
Some properties of the generalized inverse foilow:
where 1 is the n x n identity matrix and O is the n x rn zero matrix.
2. The Condition Number
The condition nurnber of a matrix A quantifies the sensitivity of the Ax = b problem to
roundoff errors, i.e, it measures the roundoff error incurred upon solving the above problem
with error- contaminated data in matrix A and vector b. The condition number n of a square
matrix A is defined as (Golub and Van Loan 1989)
As mentioned in the Introduction, if the joint rates of seriai manipulators are to be found,
then the problern to be solved is = t, where J is the Jacobian rnatrix, 9 is joint-rate
vector and t is the end-effector twist. Furthemore, in the case of redundant robots, J is not
square. The definition of the condition number will be therefore,
where Jt is the right genedzed inverse of J , as described in Sec. 1.
As can be seen from eq.(2.8), the condition number is nom-dependent. Based on the
2-nom, the condition number is found as
where ol and o, are the largest and smallest singular values of Jy respectively, or, corne-
spondingly, the square mot of the ratio of the largest to the smaiiest eigenvalues of J JT. If,
2.2 THE CONDITION NUMBER
on the other hand, we use the Frobenius nom, then the condition nurnber of J becomes
were rn stands for the dimension of the task space. which is 3 for positioning tasks and 6
for positioning and orientating tasks, but other dimensions are possible.
Now, let us recall that, for every column of J, the first three entries are dimensionless,
while the last three have units of length. This dimensional inhomogeneity prevents us from
evaluating the condition number of the lacobian. In order to achieve a dimensionally ho-
mogeneous J, and be able to evaluate its condition number, the characteristic length was
introduced by Ranjbaran et al. (1995). Upon dividing the last three envies of each column
of J by the characteristic length. one obtains a dimensionally homogeneous Jacobim. and
hence, the associated condition number becomes meaningful.
For on-line applications, it is very expensive in terms of computations to genente the
condition number because it involves either singular-value decomposition. which is an it-
erative procedure, in the case of K* , or matrix inversion. in the case of K F . Therefore. Ran-
jbaran, Angeles and Kecskeméthy (1996) suggested an estimation of the condition number
as #
where J is the dimensionally homogeneous Jacobim, tr(-) is the trace of its matrix argument
and det ( 9 ) is the determinani of its matrix argument.
The condition number ranges between 1 and m. A problem with a large condition num-
ber is called ill-conditioned and yields relatively large roundoff-errors. A problem with a
smaU condition number is said to be well-conditioned and y ields relatively srnail roundoff-
errors. The condition number also plays an important role in the determination of the kine-
matic sensitivity of redundant manipulators (Angeles, Bulca, Arenson and Arenson 1996),
which is the effect that a 'smail' change in the pose of the end-effector produces on the ma-
nipulator posture.
2.3 HOUSEHOLDER REFLECTIONS
A matrix is said to be isotropic when a l i its singular values are nonzero and identical.
Furthemore, a manipulator whose associated Jacobian matrix is isotropic at certain pos-
tures is called isotropic. When an isotropic manipulator is in its isoiropic posture, PC = 1;
therefore, isotropic robots induce the smallest possible roundoff-enors. As the C3 Ann is
isotropic, it is supposed to give small positioning errors, especially near the set of isotropic
postures.
3. Householder Reflections
The importance of Householder reflections lies in that they c m be used to zero spe-
cific entries in a rectangular matrix, so that the matrix becomes upper-triangular, while pre-
serving the matrix invariant properties, lying in the preservation of the inner product of the
columns of the matrix at hand. A Householder reflection is an orthogonal, syrnmetric n x n
matrix, P, that reflects any n-dimensional vector x into a plane normal to a given vector u,
narnel y,
Our objective is to choose u that will result in a P such that
where el is the first column of 1. In the fint step p is found as
IlPxll; = (PX)*(PX) = xTpTpx = xTx =
Therefore,
Now, if we take u such that
2.3 HOUSEHOLDER REFLECTIONS
Hence,
where p is as in eq.(2.15) and the sign of p is chosen to avoid cancellation in 11 - p. A
summary of the algorithm follows: 2 1/2 (il P = -sign(xl) (CL xi )
(i) u = x
(iii) ul = 11 - p
(W
(v) P = 1 - ruuT So fa, a matrix P wiis generated to operate on a vector x. The extension from a vector to
a matrix is achieved by successive multiplication by P matrices, so that each of hem will
operate on each column of a given matrix. The outcome will be an upper- triangular matrix.
For a given n x m matrix A. when n > m, the operation on the first column is
Now, Pi operates on A2 as
2.3 HOUSEHOLDER REIXECTIONS
Pi will now be augmented to an n x n matrix, P2 as
L
the intemediate result being
2.3 HOUSEHOLDER REFLECTIONS
The beginning of the upper-triangular matrix c m be seen in columns 1 and 2 of the mauix
in eq42.22). The process continues until matrix A reduces to upper-trianguias form. Le.
ui a more compact notation,
where H is an orthogonal matnx (WH = l), as it is generated as the product of orthogonal
matrices, namely,
and U is upper-triangular.
In Chapter 3, Householder reflections will be used to solve an underdetermined linear
system of equations.
CHAPTE3 3, DESCRIPIlON OF THE REDUNDANCY-RESOLUTION SCHEMES SELECTED
CHAPTER 3
Description of the Redundancy-Resolution
Schemes Selected
The velocity Jacobian mavix J of a serial manipulator maps the joint rates, grouped into the
n-dimensional vector 0. into the end-effector velocity, represented as the m-dimensional
twist a m y 1, narnely,
where, for m = 6,
with w and v denoting the angular velocity of the end-effector and the velocity of a point of
the same body, termed the operation point, respectively. Here, rn represents the dimension
of the task space; therefore, if the robot is required to position and orient its end-effector
in three-dimensional Euclidean space, rn = 6. In case of positioning only, n = 3. For
redundant robots, the dimension of the joint space is always p a t e r than the dimension of
the task space, m < n; therefore, a redundant n-axis manipulator meant to perform tasks in
the m-dimensional Cartesian-space has an na x n Jacobian matru with rn < n.
CHAPTER 3. DESCRIETION OF THE REDUNDANCY-RESOLUTION SCHEMES SELECTED
The Jacobian matrix of a generd n-axis manipulatoi takes the fom (Whitney 1972)
J = [ h j~ jn 1 (3.3
.r revolute (R) and prismatic (P) joints, the 6-dimensional ith column of J, ji (i = 1, . . . , n),
is given, correspondingly, as
R : j i =
where ei is the unit vector parallel to the mis of the ith revolute joint. and ri is the vector
from any point on that axis to the end-effector. as in Fig. 3.1. Henceforth. we limit ourselves
to revolute joints.
' . ._..*
FIGu RE 3.1. A schematic of 6-joint manipukitor axes
Equation (3.1) implies that if the joint velocities 6) are known, then the twist of the end-
effector can be generated. This problem is known as the forward kinematics problem. Most
often, the desired twist is given and the joint velocities are required. This problem is known
as the inverse-kinematics problem, which means that eq.(3.1) is to be solved for 8, with J
and t known.
3- 1 THE ORTHOGONALIZATION PROCEDURE
J i the case of nonredundant robots, J is a square matrix; hence, the solution to eq.(3.1)
can be found as & = J-%. In reality, J-L need not be calculated explicitiy, for the LU-
decomposition method (Golub and Van Loan 1989) is used to solve the system of equations.
In the case of redundant robots. J is not square and the system of equations is under-
determined. In this case, some other methods c m be applied, which usudly consider a sec-
ond task to be performed by the robot. These methods are called redundancy-resolution
schemes. The sections below describe two redundancy-resolution schemes for a general-
type serial manipulator. Those two schemes were developed and studied by the goup to
which the author of this thesis belong.
The whole process of the redundancy-resolution algorithm. from choosing the trajec-
tory until implernenting on the robot, is displayed in Fig. 3.2. The robot shown in this figure
is the C3 Ami, while RVS is the Robot Visualization System (Wu. Angeles and Montagnier,
1997) developed at CIM.
1. The Orthogonalization Procedure
The orthogonalization procedure is the most cornmon scherne, which uses the gener-
alized inverse, as described in Section 2.1, in the literature review. Here, the scherne was
modified according to Laliberté (1994) in order to avoid a direct calculation of the gener-
alized inverse and hence, to avoid a squaring of the condition number of the given prob-
lem. Recalling eq.(2.5), with the assumption that the Jacobian is of full rank, the solution
of eq(3.1) is
where h is an arbitrary vector and Jt is the right generalized inverse of J, i.e,
Moreover, (1 - JtJ) is an orthogonal complement of J, projecting h onto the nullspace
of J. Thus, (1 - JtJ) h is the homogeneous solution to eq.(3.1). which corresponds to a
self-motion, Le, to a motion under which the end-effector remains stationary.
3.1 THE ORTHOGONALIUTION PROCEDURE
1 Generate a smooth trajectory in the 1 Choose W and 0, C-i
Produce a data file r i 4
Redundancy-resolution scheme
1 containing the joint 1
I
1 angles of the robot 1
I i
Produce a data file containing the joint angles of the robot
I 1
1 1
Test joints lirnits
Generate and test joint
velocities and accelerations
1
Test results in RVS s
c Produce a data file
containing the trajectory in the Cartesian space, as a resuIt from forward kinematics. performed
on the joint angles.
FIGURE 3.2. A flowchart of ndundancy-cesolution scheme
If h = O, then solution (3.5) minimizes 116112, but Klein and Huang (1983) showed
that a solution that discards the homogeneous part may Iead to a drift in 0 after travershg a
closed path. In this case, a suitable vector h # O must be taken into account in the solution,
which results in giving up the minimization of 116 112. The selection of h is determined by
the selection of the secondary task. We wiil choose a vector h that wiil minimize a scdar
3.1 THE ORTHOGONALIZA~ON PROCEDURE
objective function of the joint angles, z, in the form
The proposed objective function z will be chosen as
where Bo is a reference-joint-angle vector and W is an n x n positive-definite weighting ma-
trix. The entries of W have units of frequency. so that the objective function. consistently.
has units of frequency as well. The associated vector h will be, therefore,
By rewriting eq.(3.5) as
O = w + h
where w = ~t (t - Jh) , and multiplying both sides of eq.(3.10) by J. we obtain
(3. I l )
where r = t - Jh.
Householder reflections will be used to solve eq(3.12). H is a reai orthogonal matrix
such that it triangularizes JT in the form
where U is an m x m upper-triangular matrix and O is the (m - n) x m zero matrix.
Furthemore, multiplying the right-hand side of eq.(3.12) by the identity matrix H% = 1
3.2 THE LAGRANGE-MULTIPLIER PROCEDURE
y ields
If we define Hw = y = [y? I r , where y! is an m-dimensionai vector and y? is an
(n - m)-dimensional vector, then, we note that w and y have the same Euclidean noms.
Hence, minimizing 1 lw 1 I l is equivaient to minimizing 1 lyl 1 2 . Moreover, eq.(3.14) c m be
There fore,
Thus, if we want to minimize Ilwl12, or equivaientiy, Ilyllz, we must chose y? = O and
y1 will be found fiom eq.(3.16) by fonvard substitution because UT is a lower tnangular
matrix. Now, with y is known, w can be found from
Now, since H is orthogonal, we obtain
Substituting eq.(3.18) in eq.(3.10) yields,
The redundancy-resolution problem is solved by integrating eq.(3.19) to obtûin 8.
2. The Lagrange-Multiplier Procedure
This scheme was proposed by Angeles and Mathur (1989) to produce closed Cartesian
trajectories when the manipulator is required to be at the same posture at the beginning and
3.2 THE LAGRANGE-MULTIPLIER PROCEDURE
the end of that trajectory. Different joint-space solutions can be obtained to achieve the de-
sired initial and final postures. if the joint angles at the beginning of the trajectory are differ-
ent from those at the end, then the said tnjectory is cailed noncyclic. Most of the resolved-
rate redundancy-resolution schemes that have been proposed lead to noncyclic trajectoies.
The method adopted here leads to cyclic uajectories.
Ln this method, the Wt-order normality condition is expressed in terms of the .lacobian
matrix and a modified Lagrange-multiplier vector. The derivative of the first-order normal-
ity condition with respect to time is adjoined to the differential relation between the joint
rates and the end-effector twist. The solution to this system of equations gives both the joint
rates and the modified Lagrange-multiplier vector.
The relation between the joint space and the Cartesian space for a serial manipulator is
given as
where x is an m-dimensional vector containing the position and orientation of the end-
effector and 0 is an n-dimensional vector containing the joint variables. If we now introduce
a quadratic objective function z to be minimized, we cûn write the ndundancy-resolution
problem as
1 419) = -fTwf -t min 2 O
subject to
where W is an n x n symmetric, positive-definite weighting matnx and f is a nonlinear, n-
dimensional vector function of 8. Using the Lagrange-multiplier approach, the foregoing
problem can be reformulated as
C(0) = z + ~ ~ ( g - X) + min e
3.2 THE LAGRANGE-MULTIPLIER PROCEDURE
where X is the m-dimensional vector of Lagrange multipliers. The kt-order normality
condition, VC = 0, implies,
where K is the displacement Jacobian, which is the matrix of the derivative of g with respect
to 0, and is related to J as described in Angeles (1988). Differentiating eqs.(3.20) and (3.23)
with respect to time gives the same result in terms of the joint-rate vector, nmely
The velocity Jacobian J is simpler to evaluate; therefore, the linear relationship between
the displacement Jacobian K and the velocity Jacobian, J = FK (Angeles 1988). is used
to reformulate eqs.(3 .Na) and (3 .Nb), i.e,
where A' is the vector of modified Lagrange multiplien, defined as A' = FTL It cm be
shown that a matrix A can be generated such that
where the (i, 1) entry of A is
and jik is the (2, k) enÿy of the matrix p. Substituthg eq.(3.26) in eq.(3 Z a ) yields
3.2 'RE LAGRANGE-MULTIPUER PROCEJIURE
where M = A + V2z. Equations (3.25b) and (3.28) can be assembled to obtain a single
linear system of equations, namely,
where O is the rn x m zero matrix. This system cm be solved using Householder reflections,
in the same manner that the previous scheme (orthogonalization procedure) was solved.
However, note that the coefficient matrix is now square. and hence. the standard Gauss-
elimination method can be equally used to solve eq.(3.29) for its unknowns. In this case, 0
and i* will be solved simultaneously for eûch trajectory point.
CHAPTER 4. DESCRIPTION OF THE EXPERIMENTAL PLATFORM
CHAPTER 4
Description of the Experimental Platform
FIGURE 4.1. A view on the experimentaî platfonn
The experiments were performed on the C3 Am, a robotic system that was designed and
built fiom scratch at CIM. The C3 Arm owes its name to the IRIS project from which it
stemmed. IRIS is the hstitute for Robotics and Intelligent Systerns. a network of Canadian
centres of excellence, that funded the design and manufacturing of this robot. The purpose
of the design is to endow the ann with the highest accuracy for the positioning of its oper-
ation point.
CIUPTER 4. DESCRIPTION OF THE EXPERIMENTAL PUTFORM
The C3 Ami has been enhanced with a hybrid architecture, consisting of a redundant
positioning structure of four revolute axes in series, the C3 Arm, and a parallel. spherical
wrist with three degrees of freedom and four actuators. Figure 4.2 is a photognph of the
C3 A m with its wtist. This unusual architecture is meant to yield an unusual dexterïty.
Moreover, the hybrid architecture should ease the challenging problem of hybrid force-and-
motion control. Nevertheless, the wrist is not operational yet; hence, the experiments were
performed on the positioning sûucture solely, which is shown in Fig 4.3.
The C3 Arm is an isotropic manipulator, which means that the condition number of
its Jacobian matrix can attain a minimum value of unity in its workspace. Its Denavit-
Hartenberg (DH) parameters at the isotropic posture are listed in Table 4.1.
When the robot is required to follow a trajectory in the Cartesian space, the trajectory
is divided into small increments. Each increment has a starting point and a final point. For
each segment, the redundancy-resolution problem is solved and the correspondhg joint an-
gles are found. After baving the segment points in the joint space. the appropriate corn-
mands are sent to the actuators and the robot moves segment by segment. The velocity in
the final point of one increment should be equal to the srarting velocity of the next increment.
and should be nonzero, in order to have a srnooth motion.
in the original design, the robot was equipped with intelligent controllers from HDS,
Inc. The intelligent controllers tumed out to be suitable for pick-and-place operations only,
i.e, the robot could work only in the joint space. The reason for this is that the intelligent
controllen receive a desind angle as an input and the next desired angle can be sent to them
only if the previous angle was attained and zero velocity was reached. It was impossible to
complete a segment with a nonzero velocity ; therefore, a smooth trajectory could not be
performed. When trying to implement a Cartesian trajectory, the robot was moving from
one increment to the following, while stopping in-between, which caused a jerky motion.
As one aim of this thesis was to implement redundancy-resolution schemes on the robot.
it was necessary to replace the intelligent controllen with different controllers that would
enable the robot to go through a general smooth trajectory in the Cartesian space. Brîngîng
the robot to an operational staie by replachg its hardware and software tumed out to be
CHAPTER 4. DESCRIPT]:ON OF THE EXP-AL PLATFORM
a major task of tbis research. The intelligent controllers and the board that communicate
with the host computer were put aside. Power amplifiers were purchased and added to the
system, the control then k ing done with the host computer using a Challenger-C30N board
(referred to as the Challenger) for real-time processing. Ln the original design, the intelligent
controllen received the feedback directly from the encoden and processed thern. In the new
design, the control is done with the Chdlenger board; therefore, the encoder readings are
transfered to the Challenger via encoder interface boards that were purchased and added to
the system. Also an U 0 board is used in the new design to send control commands from the
computer to the amplifiers.
FIGURE 4.2. A photograph of the C3 Arm with the wrist
4.1 HARDWARE
FIGURE 4.3. A drawing of the C3 A n
TABLE 4.1. DH parameters of the C3 A m a the isotropie posture
i 1 2 3 4
1. Hardware
The computing environment consists of a SUN workstation (referred to as the host corn-
puter) connected to a VME card-cage. The VME card-cage is used as an extension to the
SUN SBUS and the link between the SUN station and the VME card-cage is done with an
SBUS-to-VME adapter. The VME card-cage is used to host a DSP1, a digital-to-analog
(D/A) converter, an input-output (YO) board. and encoder interface boards for the C3 Arm,
as shown in Fig. 4.4.
The C3 Arm has four actuators. Each actuator includes a DC rnotor, harmonie-drive
speed nducer, and increniental encoder. Three actuators are from HDS, hc., which are
supplied with electromagnetic brakes. The base actuator is from PMI, hc. Harmonic drive
a, (mm) 209.304 209.304 362.524 222.000
- -
[Digital signai pmcessor
33
bi (mm) 1486.000 -85.448 -170.896 128.172
cri (deg) -120.0 60.0 90.0 0.0
Bi (deg) 90.000 109.471
-125.264 -144.736
4.1 HARDWARE
Encodcr Challenger board D/A board UO board intuface
I boards
FIGURE 4.4. A view of the the VME card-cage. the encoder interface boards, the üû board, the D/A board and the Chdlenger board
geaîng provides two advantages, namely, no backlash and high speed-reduction ratio in a
compact package. When using high speed-reduction ratio actuators, the Iink masses become
negligible with respect to the actuator masses, because the link moment of inertia is divided
by the square of the speed-reduction ratio in the equations of motion. The major disadvan-
tage in using harmonic drives is that they introduce substantial flexibility to the system.
Each motor receives a current control-voltage from its amplifier. The amplifiers are
analog control units, that were custom-made by HDS. Inc. to operate as power amplifies
only, and are shown in Fig 4.5. They were also tuned to the C3-Ann actuators so that they
will produce current within the safety margins of the actuators. The amplifiers receive three
types of inputs: power-supply input; control inputs; and a voltage input. The control inputs
4.1 HARDWARE
enable and disable the amplifier. reset the alarrn, etc. These inputs are sent from the Chai-
lenger to the VO board and from there to the amplifien. The outputs from the Il0 board
are connected to small relays, which close and open circuits on the amplifiers. The voltage
input is a voltage command corresponding to the desired motor torque. The amplifier con-
verts the voltage input to the corresponding current command to be sent to the actuator. The
torque applied by the actuator depends on the motor torque constant. The voltage command
is an analog command, while the computer can send only digital commands; therefore. the
computer digital command has to be converted to an analog command with the DIA board.
FIGURE 4.5. A view on the amplifiers, brakes box and aansformers box
The feedback loop is closed through incremental encoders that are mounted on each mo-
tor shafi, before the harmonic drive gear, which gives higher resolution to the system. The
encoders are connected to dual-cbannel incrementai encoder interface boards from Whedco,
c Each board handles two encoders.
The card used for the real-time processing, the Challenger, is a digital signal rnulti pro-
cessor (DSP) board prociuced by SKY Cornputers. This card is based on the TMS320C30
DSP chip from Texas instruments. The card consists of a VME mother board and a daughter
board which, together, occupy a single slot in the VME card-cage. The Challenger contains
4.1 HARDWARE
two nodes, a Global RAM and a VME Interface. Each node contains a TMS320C30 pro-
cessor. The Global RAM is 2 to 8 Mbytes and is accessible to both nodes and host.
In order to connect the amplifiers to the boards, a junction box was designed and built,
as shown in Fig 4.6. The following connectors were installed on the junction box:
(i) four connecton for the arm amplifiers;
(ü) four connectors for the wrist amplifien that will be installed in the future;
(iii) two connectors for the VO board;
(iv) one connector for the DIA board.
See Fig. 4.7 for a schematic of the junction box, inside of which relays were mounted. Each
of the relays receives a SV cornmand input from the I/0 board, and closes a circuit on the
power amplifien. Also reset buttons have been installed on the box. in order to reset the
alarm. Al1 the required jumpers have k e n wired inside the junction box.
There is also an emergency button, which shuts down the power to the motors when it
is pushed.
After wiring the system according to the schematic shown in Fig. 4.8, software had to
be written in order to control the system from the host cornputer.
FIGURE 4.6. A view on the junction box
4.1 HARDWARE
FIGURE 4.7. Connection scheme to the junction box
4.1 HARDWARE
EMERGENCY
ON
9 OFF
I I I
Riwer Suppl y P FIGURE 4.8. A general sketch of the connection of the C3 A m to the S ü N station
The real-time processing is done on the Challenger board, which is programmable with
its own routines. The Challenger has two nodes, each containing a processor. Basically,
two programs are loaded to the two nodes of the Challenger. The two programs are running
sirnultaneously in the two nodes, while writing and reading to and from the global memory.
A custom-made graphic user interface is used as the human-machine interface.
The routines that are used to operate the robot are wntten in C and Assembler languages
and cd1 the Challenger routines. They are based on routines originally developed for an-
other robot, REDESTRO 1. The enhancement included adding the component specifica-
tions, such as the torqueconstants of the actuators and the amplifier gains. Also mernory
allocation for the encoder interface boards were specified and a module for sending corn-
mands from the Challenger to the UO board was added. The X 1 1 user interface was modified
to incorporate al1 the C3 t k n control requirements. Function flowcharts of the routines for
different user commands are shown in Figures 4.1 1,4.12 and 4.13.
The most common Pm controller, as in Fig. 4.9, was chosen for the executive control
level of each actuator. The P D parameters were chosen according to the tuning process
described in Section 4.3. The other parameters. which are the DIA board gain, the amplifiers
gain and the torque constants are specified by the manufacturer.
The PID controller is given by *
r = G{Kp(Bd - B ) + ~ d ( & - e ) + K.[/ (Bd - 8 ) dt]} (4.1)
where G is the speed-reduction ratio, Kp is the proportional gain, & is the derivative gain,
Ki is the integral gain, Bd is the desired angle, and 6 is the actual angle read from the encoder.
Aftcr the instdation of the hardware and software, Le, the junction box, the boards, the
required winng, and the software enhancement, the motors had to be tuned.
FIGURE 4.9. Actuator control scheme
2.1. Human-Machine Interface. The XI 1 windowing environment is used as the
graphic-user-interface (GUI). The use of X 1 1 as a framework for the interface offers features
such as push-buttons, pull-down menus, etc. With the push-buttons, the user c m interac-
tively load files into the two Challenger nodes, run a function from a node, upload recorded
data from the global memory to the host and download data to be stored in the global mem-
ory, such as trajectory points.
The X-window interface is shown in Fig. 4.10. At the top of the window there are three
rows of push-buttons that are rnouse-activated. These buttons are used to send commands
to the robot. When the mouse is placed on them. a bief on-line description of the button
is displayed in the bottom box. For example, in Fig. 4.10, the mouse points to the button
LOAD, thereby highlighting this button, and the description WILL LOAD A FUNCTION
SPECIFIED BY THE USER INTO THE NODES is displayed simultaneously at the bot-
tom. Below the push-buttons then is an input dialogue box, in which the user can type in-
puts such as function names to be loaded. in Fig. 4.10 the function robo t r o n tro 1 was
typed in the input dialogue box. The large area below the input dialogue box is the output
box, where outputs from the program are displayed. In the figure, the output reads: enter
f i lename to load in node 1 : . In the bottom of the window there are buttons for
controiiing every joint individuaiiy.
Below is a list of al i the push-buttons on the X-window interface and their description.
4.2 SOFTWARE
LOAD: Clicking on this button will load files from the host into the nodes of Chal-
lenger. After clicking on this button, the foliowing message will appear in the out-
put box: enter f i lename t o load in node 1. The user should enter the
filename in the input dialogue box. Next, the message enter f i lename to
load i n node 2 will appear in the output box and the user should do the same
for node 2.
NODE: This button will altemate between node I and node 2. Every time the button
is clicked it will switch the selected node. A message will appeiir in the output box
to indicate which node is currently selected. By default, node 1 is selected.
STOP: This push-button will stop the execution of a program.
QUIT: This push-button will quit the program and kill the X-window.
LOADF: Clicking on this button will execute a function frorn the currently selected
node.
UPLOAD: This push-button will upload a recorded data file from the node into the
host. It is used to upload the encoder readings into the host for tracking analysis.
READ TRAJ: This button is used to download trajectory points from a data file into
the Challenger global rnemory. The data files are stored in subdirectory "data".
OPEN SGI: Clicking on this button will open a socket to Tlaloc. a Silicon Graphics
workstation.
CLOSE SGI: Clicking on this button will close the connection to the Silicon Graphics
workstation.
ENABLE AMP: This push-button will enabie al1 the amplifien.
DISABLE AMP: This button will disable dl the amplifiers.
BRAICES: Clicking on this button will bnng a pull-down menu for tuming the brakes
on and off.
CONTROL: Clicking on this button wiil bring a puil-down menu for turning the con-
trol on and off. Oniy when the control is on. a trajectory can be executed by the
robot.
- push-buttons
- input dialogue box
- output box
- on-line push-buttons description
FIGURE 4.10. The user interface X-window which is used to controi the robot
L
t Wriu fmm host IO gtobd memory
Iht following vmables:
I. HugTragLoudrJ iÿdkUG-TRAi-LOADED-OFFSm
3 Traj-Freq (ÿddr=TRAJ,FRE~OFFSFD
3. Dcluunvc-cncodcrs Iuddr=DEi.TA,flECORD-OFFSIX)
4. Numkr,Tnij,Point (udrr=NUMBER,TRCU-WINT-LOADED-OFFSED
5. r rs (oddr=DO WNLOAD-TRAI-OFFSETI
FIGURE 4.1 1. A function flow after clicking the "READ TRAS" button on the X-window
4.3 TUNING THE ACTUATOR CONTROLLERS
3. Tuning the Actuator Controllers
The most common P D controller was used in the C3 Arm for the executive control of
each actuator. Tuning is the process of finding the parameters of the P D controller, hp. h;
and Kt that wiii produce an acceptable dynamic behaviour. Each actuator was tuned and its
unique PID parameters where found.
Tuning was a trial-and-emr process in which the PID parameters were changed, a step
function was given to the actuator, and the results were analyzed. The method is similar
to the Ziegler-Nichols method. First, the derivative and integrai terms, Kd and Ki, were
set to zero. and the proportional term Kp was set to a very smdl value, Fig. 4.14a. The
proportional term was increased graduaily until the rnotor started to oscillate, Fig. 414b.
Then, the derivative term, Kd, which acts like a damper, was increased gradually until the
response was smooth, Figs. 4.14~ and 4.14d. Finally, a small integrai term, Ki , was added
to the scheme, in order to overcome the steady-state error.
The tracking performance of the actuators depends on the direction of the motion, i.e,
if the motion was against or with gmvity in favor. This led to a problem in the tuning, as the
parameters that were found for the motion with gravity in favor were different from the pa-
rameters that were obtained for the motion against gnvity. The solution was a compromise
between the two sets of parameters, that gave a consistent performance in both directions.
Figure 4.15 displays an example to the behaviour of the steady-state error versus different
Kp values, in both directions. It cm be seen from the figure that there is a value of h', in
which the errors in both directions are equd. This is the value of Kp that was chosen.
Finally, after the four motors were tuned. a pick-and-place operation was given to the
robot. Trajectories were generated wiili thiet types of schernes: trapezoidal velocity profile;
4-5-6-7 interpolating polynornial; and cycloidal motion. The process is discussed in detail
in Chapter 5.
4.3 TUNING THE ACTUATOR CONTROLLERS
FIGURE 4.14. Tuning of actuator 3, step function of 10 degrees. (a) Kp = 0.01 Nddeg., Kv = 0.0 Nm sec./deg., Ki = 0.0 Nrn/deg., steady -state error = 0.43 1 20 1 , (b) Kp = 0.055, Kv = 0.0, Ki = 0.0, steady-state error = 0.007999. (c) Kp = 0.055. Kv = 0.0001, Ki = 0.0, steady-state error = 0.040399. (d) Kp = 0.055. Kv = 0.001, Ki = 0.0, steady-state error = 0.0928.
FIGURE 4.1 5. Steady-state ecron versus Kp, while moving with and against grav- ity. The Kp chosen is the one that gives the same e m r in both directions.
CHAPTER 5. PICK-AND-PLACE OPERATIONS
CHAPTER 5
Pick-and-Place Operations
Before applying the redundancy-resolution scheme and running the robot in the Cartesian
space, the behaviour of the robot was tested with a trajectory in the joint space. namely,
a pick-and-place operation. In a pick-and-place operation a manipulator is meant to pick
an object from an initiai pose and to place it in a final pose. The trajectory that the end-
effector will follow while doing this task is of no interest. as long as the object starts and
ends with zero twist and zero twist rate of change. Only the initial and final values of each
joint variable are specified and a trajectory is produced to connect the initial and final points
in the joint spacc
If the desired trajectory is prescnbed simply as the line that connects the iniud and finai
angles. then the velocity profile of the trajectory will result in an accelention profile with
jump discontinuities, and a jerk profile containing impulses. This will cause a jerky motion
of the robot at the beginning and the end of the operation. which can even damage the robot.
In order to overcome this problem, a smooth trajectory has to be generated in the joint space.
The sections below descnbe the implementation of smooth trajectories in joint space. A
smooth trajectory is understood here as one with at least its tirs t tirne-derivative continuous
and vanishing at the ends of the operation.
Three types of smooth trajectories for pick-and-place operations will be discussed: a
trajectory with a trapezoidal velocity protile; one with a 4-5-6-7 interpolating polynomial;
and one with a cycloidd motion.
5.1 TRAPEZOIDAL VELOCITY PROFILE
1. Tkapezoidal Velocity Profiie
The objective is to generate a trajectory that starts and ends at specified points in joint
space. The natural way is to connect the two endpoints by a line, but this will cause a step
function velocity profile. One solution c m be to add parabolic blends at the beginning and
the end of the trajectory. A line trajectory with two parabolic blends will have a trapezoidal
velocity profile. Dunng the blend portion of the trajectory, constant acceieration is used.
The linear function and the two paraboiic blends are blended smoothly so that the rntire path
is continuous in position and velocity (Craig 1989). The duration of the parabolic blend is
called the blending time and is marked as 6. Figure 5.1 displays the normalized trapezoidûl
velocity profile and its time derivatives. The linear part and the two blends are shown in the
same figure, as well as the blending time.
FIGURE 5.1. Nonnalized ûapezoidal velocity profile and its derivatives.
For a given maximum velocity ema, the blending time 6, is found as
where T is the duration of the operation, BF is the h a 1 desired angle and 8' is the initiai
5.1 TRAPEZOIDAL VELOCITY PROFILE
The resulting O(t) in the different zones described below:
(a) in the b t parabolic blend,
1
(b) in the linear zone,
(c) in the second parabolic blend,
The function B ( t ) thus defined is the desired trajectory, in the joint space, which is di-
vided into small increments and stored in the Challenger global memory, to be executed by
the robot.
The maximum allowed joint velocities, according to the manufacturer's specifications,
are shown in Table 5.1. However. experiments with the robot have shown that the motions
obtained using these values were too fast For our purpose. Therefore, it was decided to set
the value for &,, to be about 10% of the maximum allowed velocities.
TABLE 5.1. Maximum allowed speed for the aciuators
C
Actuator S9M4H, base actuator RH-25.3008
Maximum Allowed Speed, rpm 75 40
2. 4-5-6-7 Interpolating Polynomial
The drawback of the trapezoidal velocity profile is the pulse-shape of its acceleration
profile. In order to have a smooth acceleration that starts and ends at zero, an interpolating
polynomial of the f3t.h order between 0' and O F is sufficient. However, a seventh-order
interpolating polynomial can accommodate two additional constraints that cm be used for
zeroing the jerk at the beginning and end of the motion (Angeles 1997 ). in this case, a
normalized seventh-order interpolating polynomial s ( r ) is genented for the position, such
that,
O < s < l ,
and the joint angle will be,
e( t ) = ef + (eF - # ) S ( T )
The constraints on the normalized polynomial are,
s(0) = O, s(1) = 1
The polynomial satisQing the foregoing consvaints is
Figure 5.2 displays the norrnalized 65-6-7 interpolating polynomial and its time deriva-
tives.
5.3 CYCLODAL MOTION
FIGURE 5.2. Nonndized 4-5-6-7 interpolating polynornial and its derivatives.
3. Cycloidal Motion
A third motion that can provide zero velocity and acceleration ai the beginning and end
of the trajectory is the cycloidal motion (Angeles 1997). However, when applying this mo-
tion, the third derivative does not vanish at the ends of the trajectory.
A normalized cycloidal function s(r) takes the forrn
where r, again, is the nondimensional time defined in eq. (5.3) and T is the duration of the
trajectory. The function thus resulting is exactly as displayed in eq. (5.4).
Figure 5.3 displays the normaüzed cycloidal motion and its time derivatives.
5.4 COMPARISON OF THE TRAJECTORIES
FIGURE 5.3. Normalized cycloidai motion and its derivatives.
4. Comparison of the Tkajectories
A pick-and-place trajectory was generated using the three foregoing trajectories, namely,
trapezoidal, 4-5-6-7 polynomid, and cycloidal motion. The task was chosen to start and to
end at arbitrary configurations within the robot workspace, namely,
0: = 90.0°, of; = 190.0°
In order to compare the three mjectories, the time T was set to 5 S. The three trajec-
tories were implemented on the C3 Am. Encoder readings were recorded while executing
each trajectory. In this way, the tracking could be examined. Figure 5.4 displays the desired
vs. actual angles. From the figure it can be seen that the tracking is very good for ail three
trajectones. The desired and actual velocities are plotted in Fig. 5.5. Here, the tracking is
less good, because of two reasons: The first is that the robot works in a position-control
mode, i.e, the control loop is closed over position, rather than over velocity; the second is
5.4 COMPARISON OF THE TFWECTORIES
that in order to obtain the actud robot velocity, a numencal differentiation was applied to
the encoder readings, which introduced substantial noise.
As Our main interest is in the position tracking of the robot. a closer look at the position
errors in Fig. 5.6 will enable a cornparison. From the sarne figure, it c m be seen that the
profile of the error is similar to the velocity profile, but in a smaller scale, which rneans
that the position error depends on the velocity, i.e, higher velocities produce higher position
errors and vice-versa.
In addition, Table 5.2 displays the average error for each tnjectory. This error value
was obtained by taking the average error value for each joint, and then, the joint avenges
were averaged. From Table 5.2 we can see that the trajectories give a very close average
error; however, the 4-5-6-7 interpolating polynomial gives the best tracking in the average.
The cycloidal motion gives the second best average error and the worst tracking error is
obtained with the trapezoidal velocity profile. The reason may be that the 4-5-6-7 interpo-
lating polynomial is the only one which generated a trajectory that is smooth in the third
time-derivative. The cycloidal motion generated a trajectory that is srnooth in the second
denvative, while in the trapezoidai velocity profile only the velocity starts and ends at zero.
Trajectory Type Trapezoidal Velocity Profile
TABLE 5.2. Eirors in pick-and-place opentions
Average Error ( O )
0.377 1 ' 4-5-6-7 InterPolatin; Polynomial Cvcloidal Motion
I
0.34 17 0.3723
5.4 COMPAIUSON OF THE TRAJECTORIES
FIGURE 5.4. Pick-and-place operation. desired trajectory vs. actud trajectory with desired trajectory in dashed line and actual trajectory in solid line: (a) uapezoidal velocity profile; (b) 4-5-61 interpolating polynornial; and (c) cycloidal motion.
5.4 COMPARISON OF THE TRklECTORIES
FIGURE 5.5. Pick-and-place operation, desired velocity vs. actual velocity with de- sired veiocity in dashed line and m a l velocity in soiid line: (a) trapezoidal velocity profile; (b) 4-5-6-7 interpolathg polynomiai; and (c) cycloidal motion.
5.4 COMPARISON OF THE TRAECTORIES
1 '
0.8.
al .
04..
FIGURE 5.6. Errors in pick-and-place operation: (a) trapezoidal velocity profile: (b) 45 -67 inteplating polynomiai; and (c) cycloidai motion.
6.1 TRAJECTORY SMOOTHNESS
CHAPTER 6
Assessrnent of the Redundancy-Resolution
Schemes
The redundancy-resolution problem is solved in this Chapter using the two schemes that
were described in Chapter 3. First, the orthogonalization procedure was implemented on the
C3 Arm, followed by the Lagrange-multiplier procedure. Before applying these schemes.
the desired trajectory in the Cartesian space has to be defined. This trajectory must be gen-
erated in such a way that the resulting joint-space tnjectory obtained from the redundmcy-
resolution scheme will be smooth.
1. îkajectory Smoothness
As mentioned in Chapter 5, the desired trajectory in the joint space must be smooth in
order to prevent high accelerations and jerks. When the trajectory is generated in the joint
space, one can have a direct control of the trajectory smoothness. When the tnjectory is gen-
erated in the Cartesian space, the corresponding joint-space tnjectory is obtained from the
redundancy-resolution scheme; therefore, there is no direct control on the joint-uajectory
smoothness. However, because of the linearity relation between joint rates and end-effector
twist, smooth trajectories in the Cariesian space are bound to be smooth in the joint space,
as long as the velocity Iacobian J is nonsingular.
In Chapter 5 , the objective was to move the end-effector from one point to another, in
the joint space, white the behaviour of the robot in-between was of no interest. There, an
interpolation function was used in the joint space, that starts and ends at the desired points.
The same approach cannot be applied in the Cartesian case, as the robot has to track a spec-
ified Cartesian path. The algorithm used to generate a smooth trajectory in the Cartesian
space must aim at producing a smooth motion in the tirne domain. rather in the joint space.
Example trajectories in the Cartesian space were genented, namely a line, a square. a
circle. and a self-motion. A self-motion is a motion where the end-effector of the robot. or
at least its operation point, is fixed, but the rest of the robot still can move. Self-rnotion is
also present in the human arrn, as we can put Our palm on the table and keep our shoulder
fixed while moving only the elbow. Al1 four trajectones were successfully implemented on
the robot, as shown with the results reported here.
A smooth line trajectory was generated using a polynomial in the time-domain for each
Cartesian coordinate, narnely, x ( t ) , y(t) and z(t). In each coordinate. a fifth-order polyno-
mial, p(t), was chosen so that the following six constraints are met:
where pst, and pfi,a are the initial and final desired coordinates, respectively, and T is the
prescribed duration of the operation. The associated polynornial was specified as
where Ap = pfind - pst, as specified in Table 6.1.
The square trajectory consists of four line segments, with corners at the points of coor-
dinates given in Table 6.2, in order of tracking.
6.1 W C T O R Y SMOOTHNESS
1 Coordinate II p,,, mm 1 psn4, mm 369.5 369.5 229.7 229.7
Line trajectory. initial and final Cartesian coordinates
- -- - - -
TABLE 6.2. Cartesian coordinates of the four corners of the square trajectory
Segment First corner
Second corner Third corner Fourth corner
A smooth circular trajectory in the x - z plane, as displayed in Fig. 6.1, was genented
in the following way:
Cartesian coordinates (x, y, z) , mm ' (369,229, 1955) ( 369,229, 1605) (19,229, 1605) (19,229, 1955)
x(t) = a + R cos ?(t)
z ( t ) = b - R sin /3(t) (6.3b)
where IO is a smooth polynomiai in the time domain. as in eqs.(6.la-6. lc), with numencal
d u e s a = 140, b = 1699. R = 140. The Cartesian coordinates of the center of the circular
trajectory are (140.222. 1699) mm. .
FIGURE 6.1. A sketch of the ckular trajectory
6.2 THE ORTHOGONmTION P R O U R E
Finally. a self-motion trajectory was generated by choosing a smooth polynomial as the
reference joint angles in the objective function. while keeping a fixed posture.
2. The Orthogonalization Procedure
The redundancy-resolution scheme, as described in Section 3.1, was implemented on
the C3 Arm. Four different trajectories were tested. the results being reported in this sec-
tion. The most convenient way to study the results is in terms of the errors between desired
trajectory and actual trajectory. The sources of the the overall error will be identified and
analyzed in Subsection 6.2.1.
2.1. Error Discussion. in order to better understand the error sources, a block dia-
gram of the different e r o n is displayed in Fig. 6.2. It can be seen from the figure that the
overall error in the Cartesian space is a summation of three types of errors. The first type
occurs in the redundancy-resolution scheme. The outcorne here is a trajectory in the joint
space. After applying the fonvard-kinematics algorithm on the joint-space trajectory, the
error in the Cartesian space, which we term error due to the redundancy-resolution scheme,
was obtained. This error is displayed in Fig. 6.3.
The second error occun when applying the joint-space trajectory on the robot. This
kind of error is termed tracking error and occurs in the joint space. as the cornmands to the
robot are given in the joint space. This error is due to the control scheme. the flexibility of
the robot and the uncertainty in the robot parameters. Figure 6.4 displays the desired joint
angles vs. the encoder readings, while Fig. 6.5 displays the tracking erroa in the joint space.
The next step was to generate the tracking erron in the Cartesian space. This was done
by applying forward kinematics to both the desired trajectory and the encoder readings. the
errors incurred being displayed in Fig. 6.6. These errors are termed "actuul" errors in the
Cartesiun space. Note that the emrs are generated from the encoder readings and not from
a sensor that is placed outside the robot and cm identify the exact Cartesian position of the
end-effector, hence the quotation marks.
In order to have a better grasp on the e m r size. an error index is introduced. The er-
ror index is a scalar number, which wiil represent the overd error over the trajectory. With
6.2 THE ORTHOGONALIZATION PROCEDURE
an error index at hand, a cornparison between the results will be possible. Two error in-
dices are introduced, the k t one, ER, represents the calculated error, i.e., the error due to
the redundancy-resolution algorithm. The second index. ET, indicates how good the overall
tracking of the robot is. Tables 6.3 and 6.4 record the summary of errors for al1 the exarnple
trajectones as weii as the error indices.
The error due to the redundancy-resolution algorithm is represented by matrix ER, de-
fined as
where e,, e, and e, an the error vectors in the x, y, and z coordinates, respectively, due
to the redundancy-resolution algorithm. ER was generated in the following way: the de-
sired Cartesian trajectory was given as an input to the redundancy-resolution algorithm. A
forward-kinematics algorithm was then implemented on the resulting joint-space uajectory.
ncoder readings O joint angles
algorithm
[-? Da(& trqjecto 'in Cartesian rpacc 1 Cartesian space as a rdz t Irom the L J ( redundancy-resolution aigorithm 1
I I
6.2 THE ORTHOGONALIZATION PROCEDURE
FIGURE 6.3. Errors in Cartesian space due to the redundancy-resolution dgorithm: (a) line trajectory; (b) square trajectory; x direction. solid line: y direction. dashed line; z direction, dotted line.
The difference between the desired and the Cartesian-trajectory that was generited from the
forward-kinematics is the error sought. The error index for this case is a norm of ER divided
by the number of rows in the mauix, n, narnely
the units of this error index k i n g mm.
On the other hand, the error index that represents the overall tracking error of the robot
has to include the accelerations, because this is an important factor in the tracking perfor-
mance. In this case, the error index is defined as
and has units of mm sec2/rad, where the error matrix. ET, is the matrix containing the over-
al1 Cartesian erron and A is the matrix of accelerations, namely
where is the vector of acceleration of the ith joint dong the trajectory and 1 IAI 1 is a norm
of A.
6.2 THE ORTHOGONALIZATION P R O C E D m
FIGURE 6.4. Desired vs. actual trajectories in joint space. Actual üajectory in solid line. desired trajectory in dashed Ihe: (a) 1he trajectory; (b) square trajectory.
6.2 THE ORTHOGONALIZATION PROCEDURE
FIGURE 6.5. Tracking errors in joint space: (a) line trajectory; (b) square trajectory.
FIGURE 6.6. Tracking errors in Cartesian space: (a) h e trajectory ; (b) square tra- jectory; x direction, solid line; 3 direction, dashed line; z direction, dotted line.
6.2 THE ORTHOGON-TION PROCEDURE
Error due to
tracking,
- - - - - - - -
TABLE 6.3. Enor summary for line and square trajectories. Remarks: Mean is the average of absolute error values. MMean is the average of averages.
0 Al1 nonns are Frobenius noms. The Cartesian error is due to fonvard kinematics oniy.
Line Trajectory 11.7251
Error me
1
Square Trajectory
Error due to
red.-res., Cartesian
space
IlE~ll n
C R
Enor due to
tracking. Cartesian
space
Overail error,
Cartesian space
l k l l llAll
CT
Coor., Units
01, rad10-3 Max.
Segment 3 1 Segment 4 11.8407 1 12.7198 1
Segment 1 11.2658
Max.
Mean
MMean
Max.
Mean
MMean '
Max.
Mean
MMean
Segment 2 13.4313 - -
' O*, radl0-" O,, radl0-a 04, radW3 01, radl0-"
joint space
' 02, radIo-' O,, radl0-" &, radl0-3
Mean
MMean - - - -
5, nlm Y. mm 2,
2, rIlm y, mm r , mm mm mm
- mm
X*
Y* Illm 2,
2,
Y* z, mm mm 2, l'Iun
. Y . = 2, lllfn 2, rllm Y, nlm 2, nlm
mm mm
rad/sec2 rnmsec2/rad
1 1.4057 8.4003
' 9.9 187 5.9568 6.2273 2.0839 5,1243
S228 1 S278 0.7682 0.2545 0.8535 0.4475 0.5 185 3 1,3444 700 0.0 149
radl0-"'
8.0804 10.785 1 10.1563 5.0739 4,4298 3.9249 4.8633
1 L 1 4.8485
6.5906 12.267 1 6.83 17 7.4887 2.9638 5.2706 2.9960
7.2 165 3 S523 1.272 1 4,1203 1.5364 '
0.4963
0.1704 1 -0236 2.0636 O. 1010 0.6224
4.5730
6.3654 1 1.5248
0.8399 0.6289 0.9370 0.4 145 0.5 168
1.3822 1 .O236 0.776 1 0.78 15 0.7635
2.4659 2.1556 3 S026 0.9627 0.9332 1.657 1
6.8965 13.0933
2.7794 6.4488
0.8399 0.6289 1.1652 0.7042 0.3 165
3 .go22 2.6504 1.0669 2.5469 1.2704 0.4235
2.4098 2.80 1 1 2.2085 0.8009 1.488 1 1.2524
4.6798
2.1837 6.7091 '
1 .O20 1 0.6803 29.393 L 50 1
0.0 196
1.2478 0.657 1 35.5033 50 1
0.0236 1,869 1 2.1 160 3 .O944 1.1880 1.3859 1.7186
1.1843 2.46 14 2.9985 4.2596
4.8557 1 4.8565 ' 4.9355 , 2.7754
8.7733 1 5.0838
1.4136 2.7736 2.1178 1.7974 1.7848 0.9542
1.1805 2.5 150 3.6705 1 A727
5.2590
0.7483 1 0.4523
7.7577
0.7644 3 1 J364 50 1
1.4308 1 2.05 10
1.2024 / 0.8860 1.6209 1 1.9397
0.46 12 20.16 13 50 1
2.6460 2,4587 2.8 144 1 -50 19 1.3648
1.0686 1 1.7587 1.2692 1 1.5418
2.1007 1 1.6414 88.1545 9.6822 9.1048
7.9489 3.0350 1.4235 4.8097 1.3984 0.5636 2.2572
0.4888 1.1048 56.1258 9.8093 5.72 17
0.02 1 1 0.0 134
56.5271 1 64.1274 1 126.4050 6.3066 1 7.3245 8.9632 1 8.7552
5.1695 24.4521
6.2 THE ORTHOGONALIZATION PROCEDURE
1 1 Enor 1 Coor., [ Circular 1 Self 1
Error due to
red.-res ., Cartesian
space
llE~ll n
E R
Enor due to
trac king, joint
Error due to
tracking. Cartesian
space
Overd1 error,
Cartesian space
---ma-- T
ET
s ~ a c e 5.9778 8.7249
TYP~
Max.
Mean
TABLE 6.4. Error summary for circular and self-motion trajectofles. Remnrks: a Mean is the average of absolute error values. a MMean is the average of averages.
Al1 nonns are Frobenius noms. The Cartesian error is due to forward kinematics only.
Units B I , rad10-3
' B2, radlO-" B3, radl0-"
' 0,. radl0-' B I , radl0-" B2.rad10-"
Trajectory 11.039 8.2048 14.424 7.2955 4.5536 2.9234
Motion 16.295 24.606 22.087 '
23.649 6.6026 10.318
6.2 THE ORTHOGONAWZATION PROCEDURE
Discussion of Tables 6.3 and 6.4, in which the errors and error indices for al1 four test
trajectories are recorded:
(i) Tracking error in joint space
(a) Tracking in the joint space is quite acceptable, the average error considering
al1 the trajectories k ing 0.3", or 5 . 2 3 6 ~ 1 0 - ~ rad, while the maximum enor
from al1 trajectories is l.4098°, or 24.606~ rad.
(b) The distribution of the maximum and average enon over the different joints
is randorn, i.e., no specific joint has a maximum or average error in dl trajec-
tories. This means that the tuning of the motors is uniform, i.e.. no motor is
tuned better than the others.
(c) The distribution of the maximum and average enon over the different trajec-
tories shows that the self-motion trajectory bas the largest error. The MMem
error (average of avenges) summarizes the results: The smallest tracking er-
ror in the joint space is obtained from the circular trajectory; then. the square
trajectory (average of al1 segments) is slightly ahead of the line trajectory; and
the self-motion resulted in the largest tracking error. These results are due to
the acceleration levels. If we look at the nom of the acceleration mauix, II A 11, we see that the self-motion required much higher accelentions than the rest of
the trajectories. This leads us to conclude that the tracking error in the joint
space depends on the acceleration. The larger the acceleration, the larger the
tracking error in joint space.
(ii) Error due to the redundancy-resolution algorithm
(a) The error index, E R , shows the best performance for the self motion while the
circular trajectory is the second best. The reason for this behaviour may be that
the self motion was generated around the isotropic posture, while the circular
trajectory starts fiom this posture. The line and square trajectories lie away
fiom the isotropic configuration. However, the third segment of the square lies
closer to the isotropy circle than the fint segment (Fig. 6.7) and the error index
behaves accordingly, Le.. the third segment has smaller error index then the
6.2 THE ORTHOGONAWZATION PROCEDURE
first segment. As for the second and fourth segments, the second segment lies
closer to the isotropy circle than the fourth segment, but has a Iarger c ~ . We can
conjecture that the fourth segment lies in a better-conditioned region than the
second segment. When taking the average CR of ail the segments, the square
trajectory gives the highest error compared to the other trajectories.
(iii) Tracking error in the Cartesian space
(a) Applying forward kinematics results in Cartesian-space tracking errors. Con-
sidering al1 trajectories, an overall average error of 1.1947 mm is observed.
(b) Ail errors show the s m e trend, i.e.. the self motion has the best tracking, fol-
lowed by the line trajectory, then the circular trajectory, and, findly, the square
trajectory when taking the average of the four segments.
(iv) Overall enor in the Cartesian space
(a) Both MMean error and ll&ll shows that the self motion has the smallest error,
while the rest of the trajectories are ranked differently by MMean and I(ET((.
The error index ET helps us set a criienon that takes into account al1 the factors.
From ET we conclude that the self motion showed the best performance, then
the line trajectory, followed by the square tnjectory (when taking the average
ÉT over the four segments), and finally, the circular trajectory gave the poorest
performance.
As mentioned in Chapter 2, the condition number of the Jacobian matrix c m be used as
a measure for the accuracy of the calculations involved in the inverse kinematics. In order to
ver@ this by the results obtained here, the exact condition number, nz (J), and the estimated
condition number, K~(J), were cdculated, as per eqs.(2.9) and (2.11), respectively. Table
6.5 displays the average condition number over al1 the example trajectories. The results in
this table confirm the conclusion drawn in the discussion on the error due to the redundancy-
resolution scheme with the exception of the line and square trajectories, which are reversed.
In that discussion, we stated that the self motion resulted in the smallest error index e ~ , the
6.2 THE ORTHOGONALIZXTION PROCEDURE
circular trajectory was the second best. then the Line trajectory, and finally, the square tnjec-
tory (average of al1 segments) gave the worst enor index. This irajectory "ranking" trend is
the same, whether we use the exact condition number, 62, or the estimated one. ICC
However, when exarnining the segments of the square trajectory, different results are
obtained. The condition nurnber and give the reverse order for the second and fourth
segments , which are the horizontal Iines of the square tnjectory. As for the first and third
segments. which are the vertical lines. the condition number and C R give the same nnking.
TABLE 6.5. Condition number for various trajectories in the Cmesian space
Isotropy Circle
KE
2.8922 2.9 155 1.2666 1.4615 3.6175 2.3 153 1.1048 1 .O583
Trajectory Type 1 Line trajectory Segment 1 Segment 2 Segment 3 Segment 4 1 Square trajectory, average of ail segments Circular trajectory Self motion
FIGURE 6.7. Illustraiion of the four segments of the square tmjectory, top and front views.
n2
5.3558 5.3524 1,9602 2.3012 6.8696 4.1209 1.4964 1.3547
6.2 THE ORTHOGONAWZATION PROCEDURE
2.2. The secondary Task. In this section. the additional task is defined so as to min-
irnize the objective function z, whîch is given as
The reference joint-angle vector was set equai to the angles of the isotropic posture, as in
Table 4.1, while the weighting matrix was chosen to be the 4 x 1 identity matnx with units
of fiequency.
The condition number of the Jacobian matrix was plotted, as it varies dong the trajec-
tory, as shown in Fig. 6.8. For cornparison, another set of reference joint angles was cho-
sen, this tirne with angles corresponding to a posture that is not isotropic. These mgles are
al1 zero degrees. The condition number obtained when performing this task was plotted in
Fig. 6.8 as well, and shown as a dashed line. From this figure we observe that the maximum
condition number obtained when the isotropic posture was taken as Bo, r; = 22.2787. is
about haif that obtained when O0 corresponds to a posture far from the isouopic one, namely,
K = 40.0471.
FIGURE 6.8. Redundancy-resolution with an additional task. The main task is ro follow a line trajectory. the secondary task is to minimize deviation from pnscribed postures. Solid line: Ba corresponds to an isotropic posture. Dashed line: Bo is a vector of joint angles diffennt from the isotropic posture.
6.3 THE LAGRANGE-MUJ-TIPLIER PROCEDURE
3. The Lagrange-Multipiier Procedure
In this section, the Lagrange-multiplier procedure for the redundancy-resolution prob-
lem, as described in Section3.2, is implemented. As mentioned earlier, the purpose of this
scheme is to obtain periodic joint-space trajectories, modulo 2r, when producing closed
Cartesian trajectories.
This scheme was implemented on the same circular trajectory as in Section 6.2. with
the joint angles thus resulting plotted in Fig. 6.9. For cornparison, the joint mgles obtained
from the orthogonalization procedure are shown in the same figure as well. From this figure
we see that, indeed, the solution obtained using this scheme is cyclic, while the orthogonal-
ization procedure gave a noncyclic trajectory.
Table 6.6 displays the differences between the initial and find angles, that is termed
the angular drifi, for the two schernes. Again, from the table we see that the maximum
angular drift is 0.29". or 5.06 l5x IO-^ rad, in the Lagrange-multiplier procedure vs. 8.1°,
or 14 1.37 x W3 rad, in the orthogonalization procedure, which stresses the conclusion that
the trajectory obtained with this approach is cyclic.
The error index for the Lagrange-multiplier procedure is C R = 0.0045 mm. Here, if
we recall the enor index for the orthogonalization procedure. c~ = 0.0060 mm, we see
that the error is smaller in the Lagrange-multiplier procedure case. The reason may lie in
that the cyclic trajectory is closer to the isotropic posture than the noncyclic one, while the
cûcle starts at the isotropic posture. In the case of the Lagrange-multiplier procedure. the
trajectory aiso ends at the isotropic posture, and hence, more points of the trajectory are near
the isotropic posture. We saw already that the cioser the trajectory to the isotropic posture,
the smaiier the error and. therefore, the Lagrange-multiplier procedure has a smaller CR.
We now test whether it is possible to obtain a cyclic trajectory from the orthogonaliza-
tion procedure by choosing the appropriate objective function. For this case, the objective
function is chosen as
where 0' is the joint-angle vector at the beginning of the trajectory. In this case we chose 8'
as the isotropic posture. The orthogonalization procedure with the above objective function
was applied to the circular trajectory. The weighting matrix W was taken as the identity
matrix, with units of frequency. The outcome was indeed a cyclic trajectory, with angular
drift as shown in Table 6.6. We see that this result is even better than the one obtained with
the Lagrange-multiplier procedure.
To conclude, the orthogonalization procedure can indeed produce cyclic trajectories,
and with a high accuracy then the Lagrange-multiplier procedure.
Lagrange-multiplier procedure
Redundancy-Resolution Scheme
Orthogonaiization procedure, no additional task
TABLE 6.6. Angular drift. aii is the initial angie and 6, is the final angle
di1 - e l F m g )
7.0984
Orthogonalization procedure, with cyclic trajectory as additional task
g2I - t ~ ~ ~ (de@
-8.1088
-0.1328 0.0 139
7.1 CONCLUSIONS
CHAPTER 7
Conclusions and Recornrnendations for Future
Work
1. Conclusions
A robotic experimental platform, based on the C3 Arm, which is an isotropic. redundant
manipulator, was set up. The manipulator is controlled from a host computer, while data
processing is done on a Digital Signal Processor, the Challenger board. The Challenger con-
tains two processors which nin simult;ineously, thus enabling ml-time applications. The
C3 Arm can now track any Cartesian trajectory. Before this work, it could perform only
pick-and-place operations. The original controller was replaced and new hardware compo-
nents were added to the system, such as power amplifiers, encoder interface boards, junction
box, D/A board and y 0 board. The supporting software was adapted to the new hardware.
A P D controller for each actuator was tuned to obtain consistent performance when the
actuator operates with and against gravity.
Example pick-and-place operations were implemented on the robot. Three types of tra-
jectories to produce a smooth pick-and-place operation were tested, namely, a trapezoidai
velocity profile, a 4-5-6-7 interpolating polynomid and a cycloidal motion. Al1 trajectories
were implemented on the C3 Ami and a cornparison of the different tnjectory types was
done. The 4-5-6-7 interpolating polynomial produced a trajectory with the smdest average
7.2 RECOMMENDATIONS FOR FUTURE WORK
tracking error, the cycloidal motion resulting in a higher error, and the trapezoidal velocity
profile produced a trajectory with the highest average tracking error.
Two redundancy-resolution schemes were discussed, the orthogonalization procedure
and the Lagrange-multiplier procedure. Both schemes were used to solve the inverse kine-
matics of the C3 Arm and their implementation was performed on the robot. A performance
index which is quadratic in the joint variables and a weighting function with units of fre-
quency were proposed. This performance index led us to a simple scheme for producing
cyclic trajec tories.
A discussion on the errors is included, in which the errors were classified into three
groups: tracking errors in joint space; errors in Cartesian space due to the redundancy-
resolution scheme; and tracking erron in Cartesian space. The sum of the lu t two was de-
fined as the overall error in Cartesian space. Two error indices were introduced, which en-
able a sound performance analysis. Four Cartesian-space trajectories were tested and corn-
pared: a line trajectory; a square trajectory; a circular trajectory; and a self motion. The
results from the experiments show that the tracking of the robot in the joint space is good
(average tracking error of O.3", or 5.2360 x rad. for ail the trajectories). It is also con-
cluded that the tracking error depends on the acceleration, with high accelerations causing
high tracking errors. As for the error due to the redundancy-resolution aigorithm. it was
shown in the thesis that this error depends on how close the trajectory is to the isotropic
posture. A trajectory close to the isotropic posture seems to produce smaller erroa than a
trajectory far from the isotropic posture.
A secondary task was added to the main task; it was shown in the thesis how the robot
can perform both the primary and the secondary tasks.
2. Recommendations for Future Work
The actuator brakes of the C3 Arm are manually controtled, Le, in order to release them,
the user should tum on the switches in the brake box. The brakes shouid thus be controlled at
the software ievel. which will bring about severai advantages: the brakes could be released
just as the robot starts to track a trajectory and oot ahead of time, which will enable the
7.2 RECOMMENDATIONS FOR FUTURE WORK
robot to start a trajectory from any configuration and not only from a configuration in which
it is statically baianced; the second advantage regards security, for the program should not
start to run unless the brakes are released. which will prevent the user from damaging the
actuators in the presence of an involuntary release of the brakes.
A second issue related to hardware is the co~ect ion of the brakes to the emergency
button. As it is, the emergency button cuts off the power to the actuators, but does not lock
the brakes. This causes the robot to collapse when the emergency button is pressed, and it
cm damage itself.
Initialization switches cm be added to the robot, as in the design of REDESTRO 2
(Arenson et ai. 1996). As it is now, the initial configuration of the robot is determined by
visual inspection. Magnetic switches that will give a signal at a known configuration will
make the system more accurate and easy to use.
The red-time implementation on the robot has to be completed. The redundancy reso-
lution scheme should be added to the C3 Arm software and modified. so that it c m be pro-
cessed on the Challenger board.
The condition number and the error-index E R showed different ranking for the second
and fourth segments of the square trajectory. It is suggested to further investigate the reason
for this behaviour.
As mentioned earlier, the wrist of the C3 A m is not operational and its actuaiors have
to be repiaced. Amplifiers for the actuators should be purchased and be connected to the
junction box with the designated connectors that have been installed on it in advanced.
When the wrist will be instailed, the C3 Arm can be used as a platform for advanced
tasks such as on-line hybrid force-and-motion control. The C3 Arm unusual architecture
of hybrid positioning structure and a panllel, spherical wrist should ease the chailenging
problem of hybrid force-and-motion control.
It is recornmended to measure the repeatability of the arm with respect to a given tra-
jet tory.
Further research is required to investigate the relationship between the condition num-
ber and the errors for al1 types of robots including nonisotropic and nonredundant robots.
7.2 RECOMMENDATlONS FOR FUTURE WORK
The proposed error indices should be funher developed in order to achieve better as-
sessment of the redundancy-resolution schemes.
REFERENCES
References
Angeles, J., 1988, Rationai Kinematics, Sprînger-Verlag, New York.
Angeles, J., 1997, Fundamentals of Robotic Mechanicat Systems, Theory, Methods and AL-
gorithms, Springer-Verlag, New York.
Angeles. J., Anderson, K. and Gosselin, C., 1987, "An orthogonal-decomposition algorithm
for constrained least-square optirnization, " ASME Robotics, Mechonisms, and Mechine Sys-
tems, Design Eng. Division, Vol. 2. pp. 2 1 5-220.
Angeles, J., Bulca, F., Arenson, N. and Arenson, M., 1996, "Kinematic sensitivity of re-
dundant roboiic manipulators, " Proc. 5th International Symposium on Advances in Robot
Kinematics (ARKJ, pp. 17-26.
Angeles. J. and Mathur, S., 1989, "Resolved-rate control of redundant manipulators with
elimination of non-conservative e ffects, " Robotics Research: The Fm international Sym-
posium, pp. 209-2 16.
Angeles, J. and Rojas, A., 1987, "Manipulator inverse kinernatics via condition-number
Mnimization and continuation, " Int. Journal of Robotics and Automation. Vol. 2, No. 2,
pp. 61-69.
Arenson, M., Arenson, N. and Angeles, J., 1996, "Design and manufacturing of REDIE-
STRO 2, a seven-axis manipulator, " Technical Report TR-CM-96-07, Centre for Intelli-
gent Machines, McGill University, Quebec, Canada.
Baüieul, J., 1985, "Kinematic programming alternatives for redundant manipulators, " IEEE
REFERENCES
Int. Con$ on Robotics and Automation, pp. 722-330.
Craig, J., 1989, introduction to Robotics, Mechanics and Control, second edn, Addison
Wesley, Massachusetts.
Golub, G. H. and Van Loan, C. F., 1989, MatrUr Computations, The Johns Hopkins Univer-
sity Press, Baltimore and London.
Hanafusa, H., Yoshikawa, T. and Nakamura, Y., 198 1, "Analysis and control of articulated
robot arms with redundancy, " 8th IFAC World Congress, Vol. 4, pp. 1927-1932.
Hollerbach, J. M. and Suh, K. C., 1987, "Redundancy resolution of manipulators through
torque optimization. " IEEE J. Robotics and Automation, Vol. RA-3, No. 4, pp. 308-3 16.
Kelmar, L. and Khosla, P. K., 1990, "Automatic generation of fonvard and inverse kinemat-
ics for a reconfigureable modular manipulator, " J. of Robotic Systems, Vol. 7, No. 4, pp.
599-6 19.
Klein, C. A., 1985. "Use of redundancy in the design of robotic systems, '* Robotics Re-
search: The Second International Symposium, pp. 207-2 14.
Klein, C. A. and Blaho, B. E., 1987, "Dexterity measures for the design and control of kine-
maticaiiy redundant manipulators, " The Int. J. of Robotics Research, Vol. 6, No. 2, pp.
72-83.
Klein, C. and Huang, C. H.. 1983, "Review of pseudoinverse control for use with kinemati-
cally redundant manipulators, " IEEE Trans. on Systems, Man, and Cybernetics, Vol. SMC-
13, No. 3, pp. 245-250.
Konstantinov, M. S., Markov, M. D. and Nenchev, D. N., 1981, "Kinematic control of re-
dundant manipulûtors, " Int. Symp. on Industriai Robots, pp. 56 1-568.
Kosuge, K. and Furuta, K., 1985, "Kinematic and dynamic analysis of robot am, " IEEE
Int. Conf on Robotics and Automation, pp. 1039-LM.
Laliberté, M., 1994, "On-line schemes for redundancy resolution in robotics, Honours B. Eng. Thesis,
Department of Mechanical Engineering, McGill University, Montreal, Quebec, Canada.
REFERENCES
Liégeois, A., 1977, "Automatic supervisory control of the configuration and behavior of
multibody mechanisms, " IEEE Trans. on Systems, Man, and Cybemetics, Vol. SMC-7,
NO. 12. pp. 868-87 1.
Maciejewski, A. A. and Klein, C. A., 1985, "Obstacle avoidance for kinematically redun-
dant manipulaton in dynamicaily varying enviroment, " The Int. J. of Robotics Research,
Vol. 4, NO. 3, pp. 109-1 17.
Mayorga, R. V., 1992, "A common framework for the design and path generation of redun-
dant robot manipulators, " IEEE International Conference on Robotics and Automation. Th-
torial MI. pp. 44-421.
Mayorga, R. V., Ressa, B. and Wong. A. K. C., 1992, "A kinematic design optimization of
robot manipiulators, " IEEE Int. Cor$ on Roborics and Automation. Vol. 1, pp. 396401.
Nakamura, Y. and Hanahisa, H., 1986, "Inverse kinematic solution with sigularity robust-
ness for robot manipulator control. " ASME J. Dynamics Systems, Measurement and Con-
trol, Vol. 108, No. 3, pp. 163- 17 1.
Park, J.9 Chung, W. and Youm, Y., 1996, "Weighted decomposition of kinematics and dy-
namics of kinematically redundant manipulators, " IEEE Int. Conf on Robotics and Au-
tomation. Vol. 1, pp. 480-486.
Ramdane-Cherif, A., Perdereau, V. and Drouin, M., 1995, "Inverse kinematics at accelera-
tion level using neural network, *' lEEE Int. Con8 on Neural Networks, Vol. 5, pp. 2370-
2374.
Ramdane-Chenf, A., Perdereau, V. and Drouin, M., 1996, "Penalty approach for a con-
strained optimization to solve on-line the inverse kinematics problem of redundant manip-
ulatoa, " IEEE Int. Con$ on Robotics and Automation, Vol. 1, pp. 133- 138.
Ranjbaran, F., Angeles, J., Gonzalez-Placios, M. A. and Patel, R. V., 1995, "The mechanical
design of a seven-axes manipulator with kinematic isotropy, " J. of Intelligent and Robotic
System, Vol. 1 4, No. 1, pp. 2 1 4 1.
Ranjbarm, F., Angeles, J. and Kecskeméthy, A.. 1996, "On the kinematic conditioning of
REFERENCES
robotic manipulators, " IEEE Int. Con& on Robotics and Aiitomation, Vol. 4, pp. 3 167-
3 172.
Schlernrner, M., 1996, "On-line tnjectory optimization for kinematicaily redundant robot-
manipulators and avoidance of moving obstacles, " IEEEE Int. Con. on Robotics and Au-
tomation, Vol. 1, pp. 474-479.
Shadpey, F., Ranjbaran, F., Patel, R. V. and Robins, A. J., 1997. "Development and expen-
mental evaluation of a robust contact force control strategy for a 7-dof redundant manipu-
lator, " The 8th International Conference on Advanced Robotics,, Monterey, CA.
Whitney, D. E., 1969, "Resolved motion rate control of manipulators and human prosthe-
ses, " IEEE Trans. on Man-Machine Systems, Vol. MMS- IO, No. 2, pp. 47-53.
Whitney, D. E., 1972, ''The mathematics of coordinated control of prosthetic arms and ma-
nipulatoa, " ASME J. Dynamics Systems, Measurernent and ControI, Vol. 94, No. 4, pp.
303-309.
Williams, O. R.. Angeles, J. and Bulca, F., 1993, "Design philosophy of an isotropie six-
axis seriai manipulator, " Robotics and Computer-In tegrated Manufactu ring, Vol. 1 0, No.
4, pp. 275-286.
Wu, C. J., Angeles, J. and Montagnier, P., 1997, "Robot Visudization System (RVS) User
Manual," Technicd Report TR-CIM-97- I I , Centre for intelligent Machines, McGill Uni-
versity, Quebec, Canada.
Wu, G. and Wang, J., 1994, "A recurrent neural network for manipulator inverse kinematics
computation, " IEEE Int. Con! on Neural Networks, Vol. 5 , pp. 27 15-2720.
Y*, O. S. and oqoren, IC, 1984, "Minimal joint motion optimization of manipulators
with extra degrees of freedom, " Mechanism and Machine Theory, Vol. 19, No. 3, pp. 325-
330.
Yoshikawa, T., 1984, "Analysis and control of robot manipulators with redundancy, " Ru-
botics Research: The First International Symposium, pp. 735-747.