1. Fore Mater

by Hugh Jack

Department of Mechanical Engineering Faculty of Engineering Science

Submitted in partial fulfillment of the requirements for the degree of Master of Engineering Science

Faculty of Graduate Studies, The University of Western Ontario, London, Ontario, January, 1991

© Hugh Jack 1991

1.1 Abstract

It is desirable to have a robot make a motion in the least time. Current methods result in a compromise between computation time and motion time. For example, classical control methods work in real-time, but result in motions with sub-optimal times. However, optimization routines can produce motions with optimal times, but computation might take minutes. The ideal solution is one which works in real time, and finds an optimal motion time.

Neural Networks are powerful computers based on the structure of the human brain. These may be applied to problems like Optimal Time Motion Planning. The Neural Networks are very fast and fault tolerant. Based on a few examples they are capable of learning to solve an un-modelled problem. A majority of this thesis is involved with trying to produce some examples to train the neural network with.

Three cases were examined for this problem. Two simple cases were examined based on a maximum joint velocity first, and then maximum joint acceleration second. Results from both of these cases proved very successful. The thesis then describes a neural network for maximum joint torque control. This description includes techniques for finding paths based on maximum joint torque limits.

To find Optimum Motions, Bezier Splines are used to model the motion. These are then adjusted by combinations of various Optimization techniques. The final results are good approximations of Optimal Time Motions. These are used to find a number of example motions through the workspace. Sample points are taken from the motions, and these are used to train the neural network.

After training, the Neural Network was tested for various starting and goal points not previously trained. For a given state (position and velocity) and goal input to the Neural Network, the torque output generated a nearly global optimum motion, as compared to the motion generated by the optimization routine.

1.2 Aknowledgements

This thesis is the result of many hours of work, and was made possible by generous contributions from a number of people.

The ideas and guidance of Professor R.O. Buchal were a valuable asset. Suggestions and feedback from fellow graduate students also aided in the work, in particular from Mr. Douglas Lee, and Mr. Peter Budgell. Valuable computer support by Mr. Dan Corrin made many tasks much easier. A thanks should be extended to all those who did not contribute directly, but enhanced the environment which made this work possible.

Finally, a thanks goes to Alicia, for her patience and understanding.

1.3 Table of Contents

Page

CERTIFICATE OF EXAMINATION ................................................................................ ii

ABSTRACT .......................................................................................................................iii

AKNOWLEDGEMENTS .................................................................................................. v

TABLE OF CONTENTS ................................................................................................... vi

LIST OF APPENDICES .................................................................................................... xi

LIST OF FIGURES ......................................................................................................... xiv

GLOSSARY OF TERMS ................................................................................................ xix

CHAPTER 1: INTRODUCTION ...................................................................................... 1

1.1 Introduction ............................................................................................... 1

CHAPTER 2: A REVIEW OF ROBOT MOTION PLANNING ....................................... 4

2.1 Introduction .......................................................................................... 4

2.2 Trajectory and Path Planning ............................................................... 6

2.3 Robot Path Description ........................................................................ 7

2.4 Robot Path and Trajectory Description ................................................ 9

2.5 Motion Planning ................................................................................. 11

2.6 Optimal Motion Planning ................................................................... 11

2.7 Kinematic Motion Planning ............................................................... 13

2.8 Dynamic Motion Planning ................................................................. 15

2.9 Trajectory Planning ............................................................................ 16

2.10 Optimal Trajectory Planning .............................................................. 17

2.11 Path Planning ..................................................................................... 19

2.12 Optimal Path Planning ....................................................................... 21

2.13 Optimal Motion Planning ................................................................... 22

2.14 Summary ............................................................................................ 23

CHAPTER 3: ARTIFICIAL NEURAL NETWORKS .................................................... 25

3.1 Introduction ........................................................................................ 25

3.2 Advantages of Feed Forward Neural Networks .................................. 26

3.3 Disadvantages of Feed Forward Neural Networks ............................. 27

3.4 An Artificial Neuron ...........................................................................27

3.5 Neuron Activation Functions ............................................................. 29

3.6 Neural Network Architectures ........................................................... 30

3.7 The Backpropagation Learning Algorithm ........................................ 32

3.8 Summary of Methods ......................................................................... 34

3.9 The Modified Delta Rule .................................................................... 35

CHAPTER 4: A SURVEY OF NEURAL NETWORK APPLICATIONS IN ROBOTICS ....................................................................................................... 37

4.1 Introduction ........................................................................................ 37

4.2 Neural Network Applications to SISO Control .................................. 37

4.3 System Identification With Neural Networks ..................................... 38

4.4 Non-linear Control With Neural Networks ......................................... 40

4.5 Model Based Neural Network Controllers ......................................... 40

4.6 Neuromorphic Controllers ................................................................. 42

4.7 Neural Networks for Vision and Sensor Based Systems ..................... 43

4.8 Novel Neural Network Applications .................................................. 45

4.9 Inverse Kinematics with Neural Networks ......................................... 45

4.10 Estimating the Inverse Jacobian with Neural Networks ..................... 47

4.11 Discussion of Neural Network Based Robotics .................................. 47

4.12 Summary ............................................................................................ 49

CHAPTER 5: A SIMPLE ROBOT MODEL ................................................................... 51

5.1 Introduction ........................................................................................ 51

5.2 The Selected Manipulator Case .......................................................... 52

5.3 Kinematics and Dynamics of a Two Link Manipulator ...................... 54

5.4 Optimal Motion Plans for a Two Link Manipulator ............................ 62

5.5 A Discrete Time Step Motion Planner/Controller .............................. 63

5.6 A Comparative Case for The Optimal Motion .................................... 65

5.7 Summary ............................................................................................ 67

CHAPTER 6: FEED FORWARD NEURAL NETWORKS FOR MOTION PLANNING ....................................................................................................... 69

6.1 Introduction ........................................................................................ 69

6.2 Discrete Time Step Planners, and Neural Networks ........................... 70

6.3 Time Optimal Discrete Time-Step Paths ............................................ 71

6.4 A Neural Network Architecture for a Motion Planner ........................ 73

6.5 Neural Network Test and Training Data ............................................. 74

6.6 Training/Testing Data Set Generation ................................................ 75

6.7 Training the Neural Network .............................................................. 79

6.8 Estimation of Neural Network Training Convergence ....................... 81

6.9 Summary ............................................................................................ 82

CHAPTER 7: MAXIMUM VELOCITY MOTION PLANNER ..................................... 84

7.1 Introduction ........................................................................................ 84

7.2 Maximum Velocity Paths ................................................................... 84

7.3 Maximum Velocity Profiles with Discrete Time Steps ....................... 86

7.4 A Neural Network for Maximum Velocity Motion ............................. 93

7.5 Results ................................................................................................ 94

7.6 Conclusion ......................................................................................... 98

CHAPTER 8: MAXIMUM ACCELERATION MOTION PLANNER ......................... 104

8.1 Introduction ...................................................................................... 104

8.2 Maximum Acceleration Paths .......................................................... 104

8.3 Velocity Profiles for Maximum Acceleration with Discrete Time Steps

.................. 106

8.4 A Neural Network for Maximum Acceleration Motion .................... 114

8.5 Results .............................................................................................. 115

8.6 Conclusion ....................................................................................... 119

CHAPTER 9: REPRESENTING ROBOT PATHS WITH BEZIER SPLINES ............. 124

9.1 Introduction ...................................................................................... 124

9.2 Splines .............................................................................................. 124

9.3 Representing Joint Positions With Spline Functions ........................ 127

9.4 Basic Third Order Spline Theory ..................................................... 128

9.5 Extension of Hermite To Bezier Spline ............................................ 130

9.6 Matching Splines at Endpoints ......................................................... 132

9.7 Representation of Joint Coordinates with Bezier Splines ................. 133

9.8 Summary .......................................................................................... 137

CHAPTER 10: FINDING NEAR OPTIMAL ROBOT MOTIONS .............................. 138

10.1 Introduction ...................................................................................... 138

10.2 A Simple Robot Motion Generator ................................................... 138

10.3 A Complex Motion Generator .......................................................... 141

10.4 Determining Sub-Optimal Motion Times ......................................... 145

10.5 Reduction of Motion Time Steps ...................................................... 146

10.6 Minimization By Adjusting Coupling .............................................. 149

10.7 Conclusion ....................................................................................... 151

CHAPTER 11: NEAR-OPTIMAL MOTION WITH BEZIER SPLINES ..................... 152

11.1 Introduction ...................................................................................... 152

11.2 The Problem ..................................................................................... 152

11.3 The Objective Function .................................................................... 153

11.4 The Motion Constraint Functions ..................................................... 155

11.5 Decision Variables ........................................................................... 158

11.6 Hookes and Jeeves Optimization ...................................................... 158

11.7 A Random Walk Search ................................................................... 161

11.8 A Hybrid Optimization Routine for Motion Planning ...................... 164

11.9 Test Paths ......................................................................................... 166

11.10 Conclusion ....................................................................................... 167

CHAPTER 12: OPTIMAL TORQUE MOTION PLANNER ........................................ 172

12.1 Introduction ...................................................................................... 172

12.2 Maximum Torque Motion ................................................................ 172

12.3 A Neural Network for Maximum Torque Control ............................ 173

12.4 Simulating the Maximum Torque Neural Network Control ............. 174

12.5 Results .............................................................................................. 176

12.6 Conclusions ...................................................................................... 188

CHAPTER 13: MAXIMUM TORQUE WITH SCALED NEURAL NETWORK ....... 191

13.1 Introduction ...................................................................................... 191

13.2 Scaled Output Controller .................................................................. 191

13.3 Results .............................................................................................. 192

13.4 Conclusions ...................................................................................... 198

CHAPTER 14: DISCUSSION AND CONCLUSIONS ................................................. 199

14.1 Discussion ........................................................................................ 199

14.2 Conclusions ...................................................................................... 200

14.3 Future Work (In General) ................................................................. 202

14.4 Future Work (Application of Neural Networks to Robot Control) .... 204

14.5 Future Work (Collision Avoidance) ................................................. 206

14.6 Future Work (Robot and Actuator Modelling) ................................. 207

14.7 Future Work (Questions Unanswered by this Thesis) ....................... 207

14.8 Future Work (Training Algorithms and Methods) ............................ 208

14.9 Future Work (Expert Systems and Neural Networks) ....................... 209

APPENDICES ................................................................................................................ 210

REFERENCES ............................................................................................................... 402

VITA ............................................................................................................................... 410

1.4 List of Appendices

Page

APPENDIX A: KINEMATICS OF TWO LINK MANIPULATOR................................ 210

A.1 Forward Kinematics .............................................................................. 210

A.2 Inverse Kinematics ................................................................................ 211

APPENDIX B: DYNAMICS OF TWO LINK MANIPULATOR .................................. 213

B.1 Equations of Motion .............................................................................. 213

B.2 Formulation of Equations of Motion ..................................................... 213

B.3 Lagrange-Euler Formulation ................................................................. 214

B.4 Macsyma ............................................................................................... 217

B.5 Using Macsyma on the Lagrange-Euler Problem .................................. 218

B.6 Macsyma Batch File .............................................................................. 219

B.7 The Results From Macsyma .................................................................. 225

B.8 Verifying the Results ............................................................................. 226

B.9 Macsyma Output ................................................................................... 226

APPENDIX C: NEURAL NETWORK SUBROUTINES .............................................. 238

C.1 Introduction ........................................................................................... 238

C.2 SubRoutine Architecture ....................................................................... 238

C.3 Example Subroutines ............................................................................ 241

C.4 Neural Network Initialization ................................................................ 241

C.5 Network Definition and Application Tools ............................................ 241

C.6 Neural Network Calculation Subroutines .............................................. 242

C.7 Neural Network Background Utilities ................................................... 243

C.8 User Defined Global Variable ................................................................ 243

C.9 Program Listing ..................................................................................... 244

APPENDIX D: ADAPTIVE TIME STEP RUNGE-KUTTA INTEGRATION .............. 255

D.1 Introduction .......................................................................................... 255

D.2 The Runge-Kutta Algorithm for Robot Motion Integration .................. 256

D.3 The Fourth Order Runge-Kutta Method ................................................ 256

D.4 Variable Step Size Estimation ............................................................... 258

D.5 Implementation ..................................................................................... 259

D.6 Subroutines ........................................................................................... 260

D.7 Program Listing .................................................................................... 262

APPENDIX E: GLOBAL DEFINITIONS FOR SOFTWARE ....................................... 267

E.1 Introduction ........................................................................................... 267

E.2 Program Listing ..................................................................................... 269

APPENDIX F: DYNAMICS MODULE ........................................................................ 272

F.1 Introduction ........................................................................................... 272

F.2 Subroutines ............................................................................................ 272

F.3 Program Listing ..................................................................................... 274

APPENDIX G: OPTIMIZATION ALGORITHMS ........................................................ 278

G.1 Introduction .......................................................................................... 278

G.2 Sample Application Subroutines ........................................................... 279

G.3 Hookes and Jeeves Subroutines ............................................................ 280

G.4 Common Optimization Support Routines ............................................. 280

G.5 Program Listing .................................................................................... 282

APPENDIX H: PATH OPTIMIZATION SUBROUTINES ............................................ 295

H.1 Introduction .......................................................................................... 295

H.2 Example Subroutines ............................................................................ 296

H.3 Spline Subroutines ................................................................................ 296

H.4 Path Generation Subroutines ................................................................. 296

H.5 Utility Subroutines ................................................................................ 297

H.6 Program Listing .................................................................................... 299

APPENDIX I: NEURAL NETWORK MOTION PLANNING MODULE .................... 311

I.1 Introduction ............................................................................................ 311

I.2 Simulation Subroutines .......................................................................... 312

I.3 Training and Testing Subroutines ........................................................... 312

I.4 Training Trajectory and Neural Network Maintenance ........................... 315

I.5 Program Listing ...................................................................................... 316

APPENDIX J: PATH PLANNING FUNCTION MODULE .......................................... 337

J.1 Introduction ............................................................................................ 337

J.2 Endpoint Buffer Subroutines .................................................................. 338

J.3 Training Data Subroutines ...................................................................... 339

J.4 Robot Specific Subroutines .................................................................... 339

J.5 Path Planning Subroutines ...................................................................... 340

J.6 Program Listing ...................................................................................... 342

APPENDIX K: NEURAL NETWORK BATCH TRAINING PROGRAM ................... 359

K.1 Introduction .......................................................................................... 359

K.2 Program Listing .................................................................................... 360

APPENDIX L: USER INTERFACE PROGRAM .......................................................... 361

L.1 Introduction ........................................................................................... 361

L.2 Description of Functions in Neural Network Window ........................... 362

L.3 Description of Functions in Path Endpoint Window .............................. 364

L.4 Description of Functions in Robot Window ........................................... 365

L.5 Description of Functions in Graphing Window ..................................... 367

L.6 Windows and Applications Setup Subroutines ...................................... 368

L.7 Graphing Subroutines ............................................................................ 370

L.8 Path Endpoint Maintenance Subroutines ............................................... 371

L.9 Training Trajectory Array Subroutines .................................................. 372

L.10 Robot Maintenance Subroutines .......................................................... 372

L.11 Neural Network Maintenance Subroutines .......................................... 373

L.12 Sunview Interface Subroutines ............................................................ 375

L.13 Program Listing ................................................................................... 376

1.5 List of Figures

Number Figure Caption Page

2.1 The Problem Hierarchy of Robot Motion Planning .......................................... 5

2.2 An Illustration of a Path Plan vs. Trajectory Plan ............................................. 6

2.3 A Sample Robot Path ....................................................................................... 8

2.4 Point to Point and Continuous Paths ................................................................. 9

2.5 A Sample Trajectory Plan ............................................................................... 10

2.6 Examples of Geometric Path Planning Problems ........................................... 21

3.1 Basic Structure of an Artificial Neuron .......................................................... 28

3.2 Common Activation Functions ...................................................................... 30

3.3 Simple Feedforward Artificial Neural Networks ............................................ 31

3.4 Backpropagation of Errors.............................................................................. 32

4.1 A Single Input/Single Output Controller ........................................................ 38

4.2 A Self Tuning Controller ................................................................................ 39

4.3 A Model Referenced Adaptive Controller ...................................................... 41

4.4 A Feed Forward Controller ............................................................................ 41

4.5 An Example of a Neuromorphic Controller .................................................... 43

5.1 A Simple Planar Two Link Manipulator ......................................................... 52

5.2 Forward Kinematics ....................................................................................... 54

5.3 Inverse Kinematics (elbow up) ....................................................................... 55

5.4 Inverse Kinematics (elbow down) .................................................................. 55

5.5 Common Constants for Dynamics Equations (Algorithmic) .......................... 57

5.6 Equations for Inverse Dynamics (Algorithmic) ............................................. 57

5.7 Equations for Forward Dynamics (Algorithmic) ............................................ 58

5.8 Equations for Inverse Dynamics (Closed Form) ............................................ 59

5.9 Equations for Forward Dynamics (Closed Form Joint 2) ............................... 60

5.10 Equations for Forward Dynamics (Closed Form Joint 1) ............................... 61

5.11 A Sample Velocity Profile .............................................................................. 62

5.12 Block Diagram of Discrete Time Step Motion Planning/Control ................... 64

5.13 Robot Motion Over a Sample, Near-Optimal Torque Path ............................. 66

6.1 An example of a Velocity Profile ..................................................................... 72

6.2 Neural Network Motion Planner Architecture ................................................ 73

6.3 Basic Configuration for Neural Network Training .......................................... 74

6.4 Normalized Map of Test Path End Points ........................................................ 78

6.5 Flowchart for Illustration of Selection of Training/Testing Data ..................... 79

6.6 Network Training Convergence ...................................................................... 80

7.1 Maximum Velocity Profile .............................................................................. 84

7.2 A Maximum Velocity Path .............................................................................. 85

7.3 Maximum Velocity Profile with Oscillation .................................................... 86

7.4 Maximum Velocity Profile with Reduced Time Step ...................................... 87

7.5 Maximum Velocity Profile with Increased Time Step ..................................... 88

7.6 Case A: The last velocity step is scaled down to match the stop point ............. 89

7.7 Case B: Reduced Motion velocity is used. ...................................................... 90

7.8 Case C: The first and last time step velocities are reduced ............................... 91

7.9 Maximum Velocity Controller for Robot ........................................................ 91

7.10 Least Time Verses Unison Finish .................................................................... 92

7.11 Velocity Steps and Their Difference Equation ................................................ 93

7.12 Convergence of Neural Network for Maximum Velocity Motion ................... 94

7.13 Neural Network Convergence Statistics ......................................................... 95

7.14 Random Set of Path Endpoints For Testing Neural Network Control .............. 96

7.15 Algorithm and Neural Network Comparison for Test Path 1 ........................... 97

7.16 Path Times for Test Paths ................................................................................ 98

7.17 Position Graphs for Algorithm and Neural Network (Case 2) ........... 99

7.18 Position Graphs for Algorithm and Neural Network (Case 3) ........... 99

7.19 Position Graphs for Algorithm and Neural Network (Case 4) ......... 100

7.20 Position Graphs for Algorithm and Neural Network (Case 5) ......... 100

7.21 Position Graphs for Algorithm and Neural Network (Case 6) ......... 101

7.22 Position Graphs for Algorithm and Neural Network (Case 7) ......... 101

7.23 Position Graphs for Algorithm and Neural Network (Case 8) ......... 102

7.24 Position Graphs for Algorithm and Neural Network (Case 9) ......... 102

7.25 Position Graphs for Algorithm and Neural Network (Case 10) ....... 103

8.1 Velocity and Acceleration for Maximum Acceleration Motion .................... 105

8.2 Position Diagram for Maximum Acceleration .............................................. 105

8.3 Case A: The first and last time steps are scaled to match the stop point ......... 107

8.4 Case B: Smooth Midpoint Inflection ............................................................. 108

8.5 Case C: Reduced Velocity ............................................................................. 108

8.6 Case D: Acceleration Hybrid Case ................................................................ 109

8.7 Case E: Acceleration Hybrid Case ................................................................ 109

8.8 Case F: A Reduced Inflection with an odd number of steps ........................... 110

8.9 Case G: The Inverse of Case E ...................................................................... 110

8.10 Case H: Smoothed start and inflection points (even numbers of steps) .......... 111

8.11 Case I: Smoothed start and inflection (odd numbers of steps) ........................ 111

8.12 Case 1: Optimal Path (even numbers of steps) ............................................... 112

8.13 Case 2: Optimal Path (odd numbers of steps) ................................................ 114

8.14 Maximum Acceleration Controller for Robot ............................................... 115

8.15 Training Convergence for Maximum Acceleration Network ........................ 116

8.16 Neural Network Convergence Statistics ........................................................ 117

8.17 Comparison of Algorithm and Neural Network for Test Path 1 ..................... 117

8.18 Path Times for Test Paths .............................................................................. 118

8.19 Comparison of Algorithm and Neural Network for Test Path 2 ..................... 119

8.20 Comparison of Algorithm and Neural Network for Test Path 3 ..................... 120

8.21 Comparison of Algorithm and Neural Network for Test Path 4 ..................... 120

8.22 Comparison of Algorithm and Neural Network for Test Path 5 ..................... 121

8.23 Comparison of Algorithm and Neural Network for Test Path 6 ..................... 121

8.24 Comparison of Algorithm and Neural Network for Test Path 7 ..................... 122

8.25 Comparison of Algorithm and Neural Network for Test Path 8 ..................... 122

8.26 Comparison of Algorithm and Neural Network for Test Path 9 ..................... 123

8.27 Comparison of Algorithm and Neural Network for Test Path 10 ................... 123

9.1 Spline Continuity .......................................................................................... 125

9.2 Some First order B-Splines are shown for Constructing An Example Spline. 126

9.3 Bezier Spline Approximation of a Curve ...................................................... 127

9.4 A Hermite Spline Segment ............................................................................ 129

9.5 A Bezier Spline Segment .............................................................................. 131

9.6 A Bezier Spline Segment for Motion Modelling ........................................... 135

9.7 A Flowchart for Bezier Spline Modelling of a Motion .................................. 137

10.1 A Motion Plan With A Bezier Spline ............................................................ 139

10.2 The Use of Cosine Functions for Path Planning ............................................ 140

10.3 Robot Motions in Joint Space ........................................................................ 142

10.4 Joint Space Effect of Coupling Factors ......................................................... 145

10.5 Sample Paths for Varied Coupling Values ..................................................... 147

10.6 Approximate Graph of Effect of Coupling Factor on Motion Time ............... 149

10.7 Final Path Produced by Coupling, and Iterative Reduction ........................... 150

11.1 Hookes and Jeeves Search Method ............................................................... 159

11.2 An Example of a Hookes and Jeeves Search Deadlock ................................. 161

11.3 Example of a Random Walk Search .............................................................. 163

11.4 Near-Optimal Path Plan for Previous Test Case ........................................... 165

11.5 Near-Optimal Path Plan for Case 1 ............................................................... 165

11.6 Near-Optimal Path Plan for Case 2 ............................................................... 167

11.7 Near-Optimal Path Plan for Case 3 ............................................................... 167

11.8 Near-Optimal Path Plan for Case 4 ................................................................ 168

11.9 Near-Optimal Path Plan for Case 5 ................................................................ 168

11.10 Near-Optimal Path Plan for Case 6 ................................................................ 169

11.11 Near-Optimal Path Plan for Case 7 ................................................................ 169

11.12 Near-Optimal Path Plan for Case 8 ................................................................ 170

11.13 Near-Optimal Path Plan for Case 9 ................................................................ 170

11.14 Near-Optimal Path Plan for Case 10 .............................................................. 171

12.1 Maximum Torque Controller for Robot ........................................................ 174

12.2 Neural Network Convergence for Maximum Torque Planner ....................... 177

12.3 Neural Network Convergence Statistics ....................................................... 178

12.4 Path Times for Test Paths .............................................................................. 179

12.5 Maximum Torque Control With a Neural Network, Case 1 ........................... 181

12.6 Maximum Torque Control With a Neural Network, Case 2 ........................... 181

12.7 Maximum Torque Control With a Neural Network, Case 3 ........................... 182

12.8 Maximum Torque Control With a Neural Network, Case 4 ........................... 182

12.9 Maximum Torque Control With a Neural Network, Case 5 ........................... 183

12.10 Maximum Torque Control With a Neural Network, Case 6 ........................... 183

12.11 Maximum Torque Control With a Neural Network, Case 7 ........................... 184

12.12 Maximum Torque Control With a Neural Network, Case 8 ........................... 184

12.13 Maximum Torque Control With a Neural Network, Case 9 ........................... 185

12.14 Maximum Torque Control With a Neural Network, Case 10 ......................... 185

12.15 Comparison of Neural Network to Ideal Solution ......................................... 186

12.16 Test Case With Time Step of 0.05 seconds .................................................... 189

12.17 Test Case With Time Step of 0.10 seconds .................................................... 190

12.18 Test Case With Time Step of 0.20 seconds .................................................... 190

13.1 Output Scaling for Maximum Torque Control .............................................. 192

13.2 Path Times for Test Paths, Including Scaled Neural Network Outputs .......... 193

13.3 Maximum Torque Control With a Scaled Neural Network, Case 1 ............... 193

13.4 Maximum Torque Control With a Scaled Neural Network, Case 2 ............... 194

13.5 Maximum Torque Control With a Scaled Neural Network, Case 3 ............... 194

13.6 Maximum Torque Control With a Scaled Neural Network, Case 4 ............... 195

13.7 Maximum Torque Control With a Scaled Neural Network, Case 5 ............... 195

13.8 Maximum Torque Control With a Scaled Neural Network, Case 6 ............... 196

13.9 Maximum Torque Control With a Scaled Neural Network, Case 7 ............... 196

13.10 Maximum Torque Control With a Scaled Neural Network, Case 8 ............... 197

13.11 Maximum Torque Control With a Scaled Neural Network, Case 9 ............... 197

13.12 Maximum Torque Control With a Scaled Neural Network, Case 10 ............. 198

14.1 Use of Maximum Torque Controller for Path Tracking ................................. 203

14.2 Direct Application of Maximum Torque Controller ...................................... 204

14.3 Application of Maximum Torque Controller to Acceleration Control .......... 205

14.4 Direct Application of Maximum Acceleration Controller ............................. 205

14.5 Maximum Acceleration Controller Applied to Torque Controllers ............... 205

14.6 Maximum Acceleration Controller Applied to Velocity Control .................. 206

14.7 Direct Application of Velocity Controller ..................................................... 206

A.1 A Typical Two Link Manipulator ................................................................. 210

A.2 Inverse Kinematics for a Two Link Manipulator .......................................... 211

A.3 Derivation of Inverse Kinematics for a Two Link Manipulator .................... 212

B.1 Schematic Diagram of Two Link Manipulator .............................................. 214

L.1 Main Window for User Interface ................................................................... 362

L.2 Auxiliary Window for Graphing Function .................................................... 367

1.6 Glossary of Terms

Articulated Robot: A robot has a number of rotational joints along a serial kinematic linkage. This manipulator has one end fixed, and the other end free.

Backpropagation: A learning rule used for neural networks, which is used in this thesis.

Controller: A Controller applies a control action to a system based on the current system state and the desired system behaviour.

End Effector: The tool or gripper of the robot, typically used for manipulating objects in space.

Manipulator: Used interchangeably with the term ‘robot’ in this thesis.

Motion Planning: A combination of both Trajectory Planning and Path Planning.

Neural Network: A computer consisting a connected network of many simple processing units modelled on neurons in the human brain.

Optimization: The determination of optimal values (i.e., minimum or maximum) of a function, often subject to constraints.

Path Planning: Given points at the end, or along a path, determine a continuous set of points in space that describe a path through space.

Robot: A robot is a general-purpose machine system that, like a human, can perform a variety of different tasks under conditions that may not be known a priori. In this thesis, the robot will have two links, and is intended for manipulating objects in a workspace.

Spline: A method for approximating a mathematical function by using simple equations to do a piecewise approximation.

Trajectory Planning: Given a set of positions making up a path, determine velocities and accelerations to follow the path.