96
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 wil 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 met 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

INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 2: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help
Page 3: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 4: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 5: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 6: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 7: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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 à

Page 8: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 9: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 10: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 11: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 12: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 13: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 14: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 15: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 16: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 17: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 18: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 19: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 20: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 21: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 22: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 23: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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,

Page 24: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 25: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 26: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 27: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 28: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 29: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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,

Page 30: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 31: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 32: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 33: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 34: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 35: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 36: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 37: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 38: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 39: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 40: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 41: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 42: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 43: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 44: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 45: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 46: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 47: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 48: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 49: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 50: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 51: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

4.1 HARDWARE

FIGURE 4.7. Connection scheme to the junction box

Page 52: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 53: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 54: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 55: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 56: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

- 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

Page 57: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 58: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help
Page 59: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help
Page 60: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 61: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 62: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 63: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 64: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 65: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 66: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 67: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 68: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 69: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 70: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 71: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 72: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 73: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 74: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 75: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 76: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 77: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 78: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 79: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 80: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 81: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 82: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 83: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 84: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 85: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 86: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 87: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 88: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help
Page 89: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 90: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 91: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 92: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 93: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 94: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.

Page 95: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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

Page 96: INFORMATION 10 USERScollectionscanada.gc.ca/obj/s4/f2/dsk1/tape11/PQDD_0003/...Ahmed Helmy, a research engineer of the Centre for Intelligent Machines. is acknowl- edged for his help

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.