INTELLIGENT HIERARCHICAL CONTROL OF A DEPLOYABLE MANIPULATOR JEAN-FRANCOIS GOULET B.Eng. in Mechanical Engineering, McGill University, Canada, 1997 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE DEGREE OF MASTER OF APPLIED SCIENCE in THE FACULTY OF GRADUATE STUDIES DEPARTMENT OF MECHANICAL ENGINEERING We accept this thesis as conforming to the required standard THE UNIVERSITY OF BRITISH COLUMBIA May 1999 © Jean-Francois Goulet, 1999 In presenting this thesis in partial fulfillment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree the permission for extensive copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission. The University of British Columbia Department of Mechanical Engineering 2324 Main Mall Vancouver, B.C., Canada V6T 1Z4 Date: ABSTRACT This thesis focuses on the development and implementation of an intelligent hierarchical controller for a deployable manipulator that may be used in space- and ground-based applications. The emphasis is on the use of knowledge-based tuning of the low-level controllers so as to realize accurate operation under complex and incompletely-known conditions, with a degree of autonomy. The robot that is investigated consists of two links: one free to slew (revolute joint) while the other allowed to deploy (prismatic joint). A three-level hierarchical system is developed, to control the manipulator. In the bottom layer of the hierarchy, a conventional proportional-integral-derivative (PID) controller is used, for regulating the manipulator joints. The middle layer monitors the performance of the joints of the manipulator, preprocesses the response signals, and extracts the performance parameters, based on a step-input response. The top layer makes inferences for appropriate tuning actions on the PID servos. A decision table is developed using linguistic rules of expert knowledge in tuning PID servos, in order to facilitate fast decision making in the top layer. The knowledge that is contained in this rulebase is acquired from available sources, and represented and processed using the fuzzy logic theory. The governing equations of motion for the ground-based manipulator are developed using the Lagrangian procedure. A Turbo C program is written for the ground-based simulations of the system, which incorporates the manipulator model and the hierarchical control system. Extensive ground-based simulations are carried out for trajectory following tasks. The space-based simulations are also carried out, making use of an existing Fortran program for a robot model tracking a trajectory. These simulations incorporate proportional-derivative control, along with the feedback linearization technique (FLT). An extensive study is carried out to determine the sensitivity of the performance of the control system to changes in the knowledge base. The developed control system is implemented on an existing prototype manipulator, in laboratory. The control software is written in Watcom C, and the manipulator is controlled using the QNX operating system, for real-time operation. A number of trajectory-following experiments were carried out. The study shows a good 11 level of agreement between the ground-based simulations and experiments, with excellent performance of the manipulator when operated under the hierarchical control system. Since the space-based simulations also show good performance through the hierarchical control system, it can be concluded that the developed control system is an appropriate option for controlling space-based manipulators as well. The study further shows that, even in the absence of autotuning, knowledge-based tuning of the servo controllers of the manipulator at strategic task configurations can lead to a significant improvement in performance of practical manipulators. in TABLE OF CONTENTS ABSTRACT ii TABLE OF CONTENTS . . . . . . iv LIST OF TABLES vii LIST OF FIGURES x LIST OF SYMBOLS . . . . . . . xvi ACKNOWLEDGEMENTS xx DEDICATION xxi 1. INTRODUCTION 1 1.1 Research Objectives . . . . . . 1 1.2 Approach . . . . . . . 2 1.3 Motivation . . . . . . . 2 1.4 Background . . . . . . . 4 1.4.1 A deployable manipulator . . . . 4 1.4.2 Conventional versus intelligent control . . 5 1.4.3 Fuzzy logic and fuzzy control. . . . 13 1.4.4 PID Tuning . . . . . . 14 1.5 Literature Review. . . . . . . 15 1.6 Scope of the Present Investigation . . . . 17 2. FUZZY LOGIC CONTROL 19 2.1 Fuzzy Sets and Membership Functions. . . . 19 2.2 Fuzzy Logic Operations and Definitions. . . . 22 2.3 Composition and Inference . . . . . 24 2.4 Fuzzy Logic Control . . . . . . 27 2.5 Hierarchical Control . . . . . . 30 3. CONTROL SYSTEM DEVELOPMENT . 33 3.1 Hierarchical Structure. . . . . . 33 3.2 Performance Specification . . . . . 35 3.3 Performance Evaluation and Classification . . . 3 7 3.4 Fuzzy Tuner Level . . . . . 38 3.5 Fuzzy Linguistic Rules . . . . . 39 iv 3.6 Decision Table Development . . . . . 40 3.7 Structure of the Computer Code . . . . 43 4. GROUND-BASED SIMULATIONS 46 4.1 Derivation of the Ground-Based Mathematical Model . 46 4.2 Validation of the Formulation and Computer Code . . 50 4.3 Control System . . . . . . 52 4.4 Pick-And-Place Operation . . . . . 53 4.4.1 Introduction . . . . . . 53 4.4.2 Results for rigid model . . . . 56 4.4.3 Results for flexible model . . . . 64 4.5 Trajectory Tracking . . . . . . 66 4.5.1 Introduction . . . . . . 66 4.5.2 Results for rigid model . . . . 67 4.4.3 Results for flexible model . . . . 68 5. CONTROL OF A SPACE-BASED MANIPULATOR . 73 5.1 Description of the General System . . . . 74 5.2 Intelligent Hierarchical Control System . . . 78 5.3 Results and Discussion . . . . . 82 5.3.1 Pick-and-place operation . . . . 83 5.3.2 Trajectory tracking . . . . . 93 5.4 Concluding Remarks . . . . . . 98 6. EVOLUTION OF THE KNOWLEDGE BASE . . . 99 6.1 Case Study 99 6.2 Original Rulebase and Membership Functions . . 100 6.3 Modified Membership Functions . . . . 102 6.3.1 Condition variables . . . . 103 6.3.2 Action variables . . . . . 104 6.4 Modified Rulebase . . . . . . 105 6.4.1 Rulebase version 2 . . 106 6.4.2 Rulebase version 3 . . . . . 106 6.5 Other Considerations . . . . . . 107 6.6 Discussion . . . . . . . 109 V 7. GROUND-BASED IMPLEMENTATION AND EXPERIMENTAL STUDIES Ill 7.1 The Robotic Manipulator. . . . . . Ill 7.1.1 Manipulator base. . . . . . Ill 7.1.2 Manipulator modules . . . . . 115 7.1.3 Elbowjoint . . . . . . 115 7.2 Hardware and Software Control Interface . . . 115 7.3 Pick-And-Place Operation . . . . . 120 7.3.1 Introduction . . . . . . 120 7.3.2 Experimental results . . . . . 122 7.4 Trajectory Tracking . . . . . . 127 7.4.1 Introduction . . . . . . 127 7.4.2 Experimental results . . . . . 128 8. CONCLUDING REMARKS 135 8.1 Contributions . . . . . . . 135 8.2 Conclusions . . . . . . . 136 8.3 Recommendations for Future Work . . . . 137 REFERENCES . . . . . . . 138 APPENDIX I: EQUATIONS OF MOTION FOR GROUND-BASED SIMULATIONS 141 APPENDIX II: COMPONENTS AND CHARACTERISTICS OF THE PROTOTYPE MANIPULATOR 144 VI LIST OF TABLES 1-1 A comparison of soft computing techniques.. . . . 10 3-1 Percentage overshoot vs. damping ratio for a second-order system. 36 3-2 Mapping from the index of deviation to a discrete performance index. 38 3-3 Heuristics of PID tuning. . . . . . . 39 3-4 Fuzzy labels of performance indices. . . . . . 39 3-5 Tuning fuzzy sets and representative numerical values. . . 40 3-6 Membership functions for the condition variables. . . . 41 3-7 Membership functions for the action variables. . . . 42 3- 8 Decision table for tuning of PID servo parameters. . . . 43 4- 1 Desired initial, intermediate, and final positions of the ground-based robot. . . . . . . . 54 4- 2 Desired positions of the robot at the corners of the square trajectory. 67 5- 1 Desired initial, intermediate, and final positions of the space-based robot. . . . . . . . 84 5-2 Position errors of the manipulator, in the Cartesian and joint spaces, in the absence of tuning. . . . . . 85 5-3 Position errors of the manipulator, in the Cartesian and joint spaces, in the presence of initial tuning. . . . . 86 5-4 Position errors of the manipulator, in the Cartesian and joint spaces, in the presence of auto-tuning. . . . . 86 vii 5-5 Errors in the Cartesian and joint spaces in the absence of servo tuning. . . . . . . . . 94 5-6 Errors in the Cartesian and joint spaces with initial tuning of the servos. . . . . . . . . 95 5- 7 Errors in the Cartesian and joint spaces with auto-tuning of the servos. . . . . . . . . 95 6- 1 Desired initial, intermediate, and final positions of the robot end effector. 100 6-2 Original membership functions of the condition variables: Set I A. . 101 6-3 Original membership functions of the action variables: Set 2A. . 101 6-4 Original decision table for servo parameter tuning. . . . 102 6-5 Manipulator errors in the Cartesian space when tuning is not used. . 102 6-6 Manipulator errors in the Cartesian space when initial tuning is used. 102 6-7 Modified membership functions of the condition variables: Set IB. 103 6-8 Manipulator errors in the Cartesian space with the condition membership function set IB. . . . . . . 103 6-9 Modified membership functions of the condition variables: Set 1C. 103 6-10 Manipulator errors in the Cartesian space with the condition membership function set 1C. . . . . . . 104 6-11 Modified membership functions of the action variables: Set 2B. . 104 6-12 Manipulator errors in the Cartesian space with the action membership function set 2B. . . . . . . 104 viii 6-13 Modified membership functions of the action variables: Set 2C. . 105 6-14 Manipulator errors, in the Cartesian space, with the action membership function set 2 C. . . . . . . 105 6-15 Manipulator errors in the Cartesian space with rulebase version 2. . 106 6- 16 Manipulator errors in the Cartesian space with rulebase version 3. . 107 7- 1 Desired initial, intermediate, and final positions for a task of the prototype robot. . . . . . . . 121 7-2 Pick-and-place position errors of the experimental manipulator in the joint space. . . . . . . . 126 7-3 Desired positions of the prototype robot at the corners of the-square trajectory. . . . . . . 128 7-4 Position errors of the prototype manipulator in the joint space. . 132 ix LIST OF FIGURES 1-1 Single-unit manipulator. . . . . . . 1 1-2 A Mobile Flexible Deployable Manipulator (MFDM) with modules of slewing and deployable links: (a) a single module system; (b) a multimodule configuration that can change its shape in the snake-like fashion to accommodate environmental constraints such as obstacles. . . . . . . 6 1-3 Neural network knowledge: (a) XOR logic table; (b) its network representation. . . . 11 1-4 Main components of a knowledge-based system. . . . 12 1- 5 A Proportional-Integral-Derivative control system. . . . 15 2- 1 The Venn diagrams of: (a) crisp set A; (b) fuzzy set A. . . 19 2-2 Membership function of a fuzzy set A. . . . . 20 2-3 Fuzzy states of the variable overshoot. . . . . 21 2-4 Membership functions of the fuzzy states. . . . . 21 2-5 Fuzzy sets A and B. . . . . . . . 22 2-6 Union of fuzzy sets A and B. . . . . . . 22 2-7 Intersection of fuzzy sets A and B. . . . . 23 2-8 Complement of fuzzy set A. . . . . . . 23 2-9 Variation of information resolution and fuzziness with the level of hierarchy. . . . . . . 31 2- 10 Knowledge-based hierarchical system. . . . . 32 3- 1 Schematic representation of the three-level controller. . . 34 3-2 Dependence of poles and the response of a second-order system on the damping ratio. . . . . . . . 35 3-3 Rulebase for servomotor tuning. . . . . . 41 3- 4 Structure of the computer code. . . . . . 44 4- 1 Configuration of the single-module manipulator, with revolute (flexible) and prismatic joints. . . . . . 46 4-2 Schematic diagram of the manipulator model. . . . 47 4-3 The flexible revolute joint model. . . . . . 48 4-4 The complete model. . . . . . . . 48 4-5 Free undamped response of the robot: (a) generalized coordinates; (b) conservation of energy. . . 51 4.6 Schematic diagram of the control system. . . . . 53 4-7 A pick-and-place operation. . . . . . . 54 4-8 Pick-and-place operation using a rigid manipulator in absence of tuning: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. . . . . 58 4-9 Pick-and-place operation using a rigid manipulator with initial tuning: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. . . . 59 xi 4-10 Pick-and-place operation using a rigid manipulator with auto-tuning: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. . . . . 60 4-11 Step responses at the pick position, with payload, during tuning of the: (a) prismatic joint; (b) revolute joint. . . . 61 4-12 Evolution of context values with the tuning steps for: (a) prismatic joint; (b) revolute joint. . . . . . 62 4-13 Evolution of PID gains with the tuning steps for: (a) prismatic joint; (b) revolute joint. . . . . . 63 4-14 Pick-and-place operation using a flexible manipulator with: (a) no tuning; (b) initial tuning; (c) auto-tuning. . . . 65 4-15 Tracking of a square path, in the clockwise sense, starting from the corner 'A'. . . . . . . 66 4-16 Trajectory tracking using a rigid manipulator in the absence of tuning of controller: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. . . . . 69 4-17 Trajectory tracking using a rigid manipulator with initial tuning: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. . . . . 70 4-18 Trajectory tracking using a rigid manipulator with auto-tuning: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. . . . . 71 4-19 Trajectory tracking using a flexible manipulator with: (a) no tuning; (b) initial tuning; (c) auto-tuning. . . . 7 2 X l l 5-1 The space-based deployable manipulator. 73 5-2 Schematic diagram of a multibody system in chain topology: coordinate frames and vectors used to define an elemental mass. . 75 5-3 Orientation of the body-fixed frames. . . . . 76 5-4 Schematic representation of the three-level controller. . . 80 5-5 Block diagram showing the FLT-based controller used for regulating the rigid body motion of the manipulator system. . . 81 5-6 A pick-and-place operation. . . . . . . 83 5-7 Pick-and-place operation in absence of servo tuning: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. . . . . 85 5-8 Pick-and-place operation with initial tuning of the servos: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. . . . . 87 5-9 Pick-and-place operation with auto-tuning of the servos: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. . . . . 88 5-10 Step response at the pick position, with payload, during tuning of the revolute joint. . . . . . . . 90 5-11 Evolution of the context variables with the successive tuning steps. 91 5-12 Evolution of the P D gains with the successive tuning steps. . . 92 5-13 Tracking of a square path, in the clockwise sense, starting from the corner^. . . . . . . 94 xiii 5-14 Trajectory tracking in the absence of controller tuning: end-effector path in the Cartesian space. . . . . 96 5-15 Traj ectory tracking with initial tuning of the controller: end-effector path in the Cartesian space. . . . . 97 5- 16 Trajectory tracking with auto-tuning of the controller: end-effector path in the Cartesian space. . . . . 98 6- 1 Example task. . . . . . . . . 99 6-2 Original rulebase for servomotor tuning. . . . . 100 6-3 Modified rulebase (version 2) for servomotor tuning. . . 106 6-4 Modified rulebase (version 3) for servomotor tuning. . . 107 6- 5 A representation of the fuzziness of membership functions: (a) high fuzziness; (b) low fuzziness.. . . . . 110 7- 1 The prototype manipulator system. . . . . . 112 7-2 Main components of the two-module manipulator system. . . 113 7-3 Main components of the manipulator base assembly. . . 114 7-4 Prismatic joint mechanism which provides the deployment and retrieval capability. . . . . . . 116 7-5 Main components of the elbow joint assembly. . . . 116 7-6 Hardware and software structure. . . . . . 117 7-7 Control structure of the experimental robot. . . . . 120 7-8 A pick-and-place experimental operation. . . . . 121 xiv 7-9 Pick-and-place operation of the prototype manipulator in absence of tuning: (a) deployment and slew time histories; (b) end-effector path in the Cartesian space. . . . . 123 7-10 Pick-and-place operation of the prototype manipulator with initial tuning: (a) deployment and slew time histories; (b) response in the Cartesian space. . . . . . 124 7-11 Pick-and-place operation of the prototype manipulator with auto-tuning: (a) deployment and slew time histories; (b) end-effector path in the Cartesian space. . . . . 125 7-12 Tracking of a square path, in the clockwise sense by the prototype manipulator starting from the corner .^ . . . . 127 7-13 Trajectory tracking by the prototype robot in the absence of controller tuning: (a) deployment and slew time histories; (b) end-effector path in the Cartesian space. . . . . 129 7-14 Trajectory tracking by the prototype robot with initial tuning: (a) deployment and slew time histories; (b) end-effector path in the Cartesian space. . . . . 130 7-15 Traj ectory tracking by the prototype robot with auto-tuning: (a) deployment and slew time histories; (b) end-effector path in the Cartesian space. . . . . 131 7-16 Voltage input to the servomotors of the laboratory robot, while tracking a square path with auto-tuning: (a) prismatic joint; (b) revolute joint. . . . . . 133 7-17 Evolution of the PID gains of the experimental robot with auto-tuning. 134 XV LIST OF SYMBOLS ACCP C d d\ DKP DKD DKI e Eh ERR F Fu Ft G, HIUN INSP J join K KD, Kl, KP h max min M Mr, Fr N NDIM NL acceptable joint damping coefficient, ground-based simulations (Figure 4-3) tip position of deployable link (Figure 4-2) translation of Fi from the tip of body (/-l) (Eq. 5.3) change in proportional gain change in derivative gain change in integral gain error signal (Eq. 1.2, Eq. 3.1) flexural rigidity of i"1 body vector of indices of deviation (Eq. 3.9) force vector (Eq. 4.4, Eq. 5.1) information prefilter from level j to i (Eq. 2.21) reference frame attached to body / knowledge base at level i (Eq. 2.21) highly unsatisfactory within specification inertia of rotor, ground-based simulations (Figure 4-3) join operator (Eq. 2.13) joint stiffness (Figure 4-3) derivative, integral and proportional gains, respectively (Eq. 3.1) length of body (Eq. 5.3) union operator (Eq. 2.5) intersection operator (Eq. 2.6) system mass matrix (Eq. 4.4, Eq. 5.1) values taken by M, F when the bodies are taken as rigid (Eq. 5.11) number of bodies (i.e., platform and manipulator units) in the system needs improvement negative large XVI NM negative moderate NS negative small OFSid index of deviation of offset at steady-state (Eq. 3.11) OFSM model offset at steady-state OFSs servomotor offset at steady-state ovsid index of deviation of overshoot (Eq. 3.10) ovsM model overshoot ovss servomotor overshoot OVSP over specification PL positive large PM positive moderate PS positive small proj projection operator 1 set of generalized coordinates Q vector containing the external non-conservative generalized forces RSTid index of deviation of rise time (Eq. 3.9) RSTM model rise time (95% of desired steady-state response) RSTS servomotor rise time (95% of desired steady-state response) sup supremum operator (Eq. 2.16) SJ information vector from level j (Eq. 2.21) T kinetic energy (Eq. 4.2) TH threshold value for performance indices (Table 3-2) t time U potential energy ug gravitational potential energy ue elastic strain energy longitudinal and transverse deformations (Eq. 5.9) X x coordinate of end-effector position in Cartesian space y y coordinate of end-effector position in Cartesian space ZR zero X V l l o ® e composition operator (Eq. 2.15) transitional operator (Eq. 2.21) combinational operator (Eq. 2.21) Greek Symbols a rigid component of the slewing angle (Figure 4-3, Eq. 5.3) P flexible angular rotation (Figure 4-3) 5 vector of time-dependent generalized coordinates describing the elastic deformation of the i'h body A vector containing the Lagrange multipliers // membership function (Eq. 2.1) 0;(xif I) matrix containing spatially varying shape functions for the ith body y/{ orientation of frame F, relative to the inertial frame 6 total slewing angle in ground-based simulations (Figure 4-2) con undamped natural frequency (Eq. 3.2) £ damping ratio (Eq. 3.2) X V l l l Abbreviations, Acronyms IAE Integral Absolute Error (Eq. 1.1) ISE Integral Square Error (Eq. 1.2) ITAE Integral Time Absolute Error (Eq. 1.3) FLC Fuzzy Logic Control FLT Feedback Linearization Technique IRIS Institute of Robotics and Intelligent Systems KB Knowledge Base LQR Linear Quadratic Regulator MBS Mobile Base System MFDM Mobile Flexible Deployable Manipulator MSS Mobile Servicing System NN Neural Networks PC Personal Computer PD Proportional-Derivative PID Proportional-Integral-Derivative PIT Programmable Interval Timer SPDM Special Purpose Dexterous Manipulator SSRMS Space Station Remote Manipulator System XOR Exclusive 'OR' logical operator X I X ACKNOWLEDGEMENT I wish to thank Professors CW. de Silva and V.J. Modi for their guidance and support throughout my graduate studies at the Department of Mechanical Engineering of the University of British Columbia. Thanks are also due to my colleagues and friends from all around the world. In the alphabetical order I wish to thank: Mr. Yang Cao, Mr. Yuan Chen, Mr. Jooyeol Choi, Mr. Mark Chu, Mr. Vincent Den Hertog, Mr. Vijay Deshpande, Dr. Sandeep Munshi, Mr. Behara Patnaik, Dr. Seiya Ueno, Mr. Kenneth Wong, Mr. Givon Chuen Kee Yan, and Mr. Jian Zhang. They have shared their knowledge, experience, and culture with me and have thus broadened my horizons. They have made my stay in Vancouver very enjoyable. Thanks to the Natural Sciences and Engineering Research Council (NSERC) of Canada for providing me the Post-Graduate Scholarship that has allowed me to study in another province and to be financially secure. Thanks as well go to the British Columbia Advanced Systems Institute for the Graduate Scholarship that was offered when I started my graduate studies. Further thanks are expressed for funding of the research project through the NSERC Strategic Research Grant jointly held by Dr. de Silva and Dr. Modi at the University of British Columbia and Dr. A.K. Misra at McGill University. xx A Francine, pour ton devouement et les sacrifices que tu as fais pour nous, A Bruno, pour ta sagesse, ton support et ton souci de l'excellence, A Karine, pour le soleil que tu amenes dans nos vies, A Pascale, pour ta soif de justice et d'egalite, A vous quatre, pour votre amour. X X I 1. INTRODUCTION 1.1 Research Objectives The main objective of the research reported in this thesis is to develop an intelligent, hierarchical, supervisory control system for a deployable manipulator. A manipulator of the type that is under consideration is sketched in Figure 1-1. It consists of a revolute joint combined with a prismatic joint. Ground-based simulations and implementation are carried out where the supporting base is kept fixed. An orbiting flexible platform is introduced for space-based simulations. For both categories of simulations, a point-mass payload is included in the model. Also, flexibility of the joints and/or links is incorporated. The experimental study is done using a prototype manipulator that has been developed in our laboratory. Both simulation and experimental studies are used to evaluate and validate the intelligent, hierarchical control system that is developed. Complex robotic tasks, such as those carried out in space, would require a provision of "intelligence". This involves knowledge-based decision making through identification, representation and implementation of a suitable knowledge base as well as a reasoning procedure. Since the knowledge may be incomplete and, in part, based on human experience and expertise, the use of fuzzy logic in its representation and Revolute Joint v Fixed ^ Base Figure 1-1 Single-unit manipulator. 1 processing (i.e., decision making) is featured in the present work. The controller that is developed has a multi-level, hierarchical architecture. The system is integrated with the sensors and actuators of the existing manipulator, for ground-based testing. 1.2 Approach A three-layer hierarchical control system is developed. It consists of a bottom layer that regulates the joints of the manipulator using the conventional Proportional-Integral-Derivative (PID) scheme for fast, direct control; a middle layer that can establish the status of the plant (robot) in the necessary level of abstraction; and an upper layer that makes the appropriate tuning inferences for the PID controller, based on the control performance. The control structure is validated through ground- and space-based simulations, and also with experimental studies using a prototype manipulator in our laboratory. 1.3 Motivation A space project that is receiving considerable attention is the International Space Station, which is being developed with the collaboration of 16 nations. The Station will benefit from a Mobile Servicing System (MSS) for its construction, operation and maintenance. The MSS consists of three subsystems. The first subsystem is the Space Station Remote Manipulator System (SSRMS), which is the next generation of the Canadarm, measuring 17 meters when fully extended, and having seven degrees of freedom. It weighs 1500 kg and can handle payloads of up to 100,000 kg. The second subsystem is the Special Purpose Dexterous Manipulator (SPDM), also known as the Canada Hand. It is a two-arm manipulator, which will be used for fine manipulations that are currently performed by astronauts during spacewalks. It has fifteen degrees of freedom, weighs 1,540 kg, and can handle payload of up to 600 kg. The third subsystem is the Mobile Base System (MBS). The MBS is a platform that moves along the trail covering the length of the Space Station (« 120 m). The SSRMS is expected to be launched in December 1999, and scientific research should start aboard the station in the 2 year 2000. The system would enable missions such as the launch and capture of satellites, the transportation of equipment, and the support of extra-vehicular activity. The SSRMS and the SPDM will normally operate under astronaut supervision inside the Space Station. The astronauts receive sufficient training to use the robotic manipulator. For systems of this nature that operate in hostile and incompletely known environment, it is important to reduce as much as possible the extra-vehicular activity of astronauts. Robotics and automation are identified as key technologies that are applicable in achieving this objective. Autonomous, semi-autonomous, and dexterous space robots can reduce the workload of astronauts, improve safety, and increase accuracy, repeatability, speed, and flexibility of operations. Furthermore, they will decrease the dependence on ground stations and on communication links between ground stations and space stations. Effective control strategies are essential for any robot system in realizing these objectives. There is a need for 'intelligent' control and knowledge-based techniques, particularly due to the emphasis on nearly autonomous operation, with minimal human intervention, in complex and incompletely known operating environment. Practical robots such as space manipulators are complex systems, which normally exhibit the following characteristics: (i) Nonlinearities There are several sources of nonlinearities: Physical nonlinearities due to friction and backlash; dynamic nonlinearities (e.g., Coriolis, and centrifugal accelerations); and geometric nonlinearities arising from large-excursion kinematics. (ii) Dynamic Coupling The motion of one link normally affects the dynamics of the rest of the links. 3 (iii) Unexpected Disturbances The system is exposed to a wide variety of unexpected disturbances. Furthermore, the presence of stationary and moving obstacles that are not anticipated would require a change in the planned trajectory. r (iv) L ink and Joint Flexibili ty Since the links used for space manipulators are long, slender, and made of light material, flexibility w i l l be present to a varying degree. Hence it may be desirable to control both the rigid and flexible degrees of freedom. Note that link flexibility, with distributed inertia, w i l l introduce numerous flexible modes of vibration, and the order of the system w i l l increase in proportion. (v) Mode l Errors and Parameter Uncertainties The model is often a simplified approximation of the actual system. There w i l l be a trade-off between the model accuracy and the complexity of the controller. It should be clear that space-based robotic manipulators represent a class of applications where knowledge-based control, which makes use of the knowledge gained by experienced operators and human experts, is particularly advantageous. Hence the use of knowledge-based techniques for tuning of controllers is of particular importance and this provides the primary motivation for the present work. 1.4 Background 1.4.1 A deployable manipulator A variable-geometry manipulator has been designed and built at the Institute of Robotic and Intelligent Systems (IRIS) laboratory of the University of British Columbia. It comprises of two modules each consisting of two degrees of freedom, one of which is free to slew (corresponding to a revolute joint) while the other is able to deploy and 4 retrieve (corresponding to a prismatic joint). A general representation of the system is shown in Figure 1-2. This manipulator presents the following attractive features compared to a system having revolute joints alone, with the same number of degrees of freedom: • Reduced inertial coupling leading to simpler and less nonlinear equations of motion; • Improved capability to overcome obstacles; • Simpler inverse-kinematics problem; • Smaller number of singular configurations. 1.4.2 Conventional versus intelligent control Conventional control techniques are based on crisp algorithms. In spite of the considerable progress that has been made in control theory, many industrial control problems are still solved through empirical and heuristic approaches developed by experienced engineers. Intelligent control makes use of a knowledge base that is evolved through human experience or related means, for controlling those processes that cannot be effectively controlled using crisp control techniques. Given below is a brief review of the transition, in the field of control systems, from conventional control to intelligent control. Conventional Control The term "conventional control" refers here to those control techniques that utilize crisp control algorithms that are typically based on dynamic models. Associated theories have been developed to control dynamical systems having a specific structure and described by differential or difference equations. Note that even though a particular type of model (e.g., linear and time-invariant) is assumed, not all techniques of conventional control require complete knowledge of the model itself. There are several reasons why conventional controllers alone may be incapable of providing expected performance in complex plants such as a robot: 5 Figure 1-2 A Mobile Flexible Deployable Manipulator ( M F D M ) with modules of slewing and deployable links: (a) a single module system; (b) a multimodule configuration that can change its shape in the snake-like fashion to accommodate environmental constraints such as obstacles. 6 • a model-based controller may not give satisfactory results if the robot model is inaccurate, which will be the case generally because of parameter changes, unmodeled dynamics and time delays, nonlinearities, changes in operating point, high order, particularly contributed by distributed inertia and flexibility; • the environment with which the robot interacts may not be completely known or predictable; • a conventional crisp algorithm, in general, cannot respond accurately to conditions that it cannot foresee or 'understand'; • a crisp control algorithm will need a complete set of data for the algorithm, even if a complete model is not required, and may not function under conditions of incomplete information; • sensor noise and inaccuracies. Conventional controllers do not take advantage of the knowledge of experienced operators, and cannot handle qualitative, heuristic, and linguistic information. Adaptive Control This is a particular class of conventional control. When fixed-parameter feedback controllers do not give satisfactory results, then adaptive controllers may be used. In this case, the controller parameters are changed on-line, based on response error and optimization of some performance index so as to reduce this error. Controllers can be designed to meet the performance requirements around an operating point where a linear model would be valid and, by using a scheduler and a sequence of linear models, the controller can be made to meet the specifications over the whole operating range. This is termed gain scheduling control, if the controller parameter values are pre-determined for sequencing during operation. If the controller parameters are determined on-line, allowing for arbitrary changes of operating conditions, it is a general adaptive controller. 7 Conventional adaptive control systems typically have a higher degree of autonomy than fixed feedback controllers since they can be used over a wider operating range. Sometimes, the operating range may have to be increased even further. Also, the assumptions that need to be made with regard to the model type may not be justifiable. Furthermore, the control system should be able to cope effectively with significant uncertainties in models of increasingly complex dynamical systems. It should be able to deal with significant unmodelled and unanticipated changes in the plant, in the environment and in the control objectives. The knowledge that is available regarding the process may not be in a form that can be directly incorporated into the control algorithm. Under such circumstances, the effectiveness of conventional control will deteriorate, and may necessitate intelligent control techniques for satisfactory results. Intelligent Control Knowledge is structured information. Intelligence can be defined as the capacity to acquire and apply knowledge; i.e. to perceive, reason, learn, and make inference from incomplete information. An intelligent control system is a knowledge-based control system which can make control decisions with respect to some knowledge base and using an inference mechanism. It is able, in general, to acquire and represent knowledge about both the plant to be controlled and the environment in which the plant operates. It is able to: • work with incomplete information (i.e. incomplete model, incomplete rulebase, incomplete data, incomplete knowledge about the environment, etc.); • 'learn' through experience; • effectively operate in an unknown or unfamiliar environment, under parameter changes, disturbances, etc. In other words, intelligent controllers are intended to replicate some of the human abilities such as adaptation and learning, planning under large uncertainty and coping with vast amounts of data. They typically aim to attain higher degrees of autonomy. 8 According to Antsaklis[l], intelligence requires at least the ability to sense the environment, to make decisions, and to control action. Higher levels of intelligence may involve the ability to recognize patterns, objects and events, to represent knowledge, and to plan for the future. In more advanced forms, intelligence provides the capacity to perceive and understand, to choose wisely, and to act successfully under a large variety of circumstances so as to survive and prosper in a complex, and possibly hostile, environment. Complexity of systems has necessitated the use of functional architectures such as hierarchies for representation, operation, and control of these systems. For instance, a supervisory layer may be incorporated into a control system that uses discrete-event control. Such systems may be referred to as 'intelligent' if it has a knowledge-based decision making component at some level, for example within the supervisory system. Now the actions of the controller will attempt to mimic the high-level decision making processes of human operators resulting in an intelligent supervisory controller. Another common type of structure is the agent-based architecture, for which the control is distributed among the agents. The agents are machines or devices that work together toward a specific objective. The agents may as well operate in a competitive and reactive manner, the weakest agent being eliminated. By incorporating a degree of intelligence into the agents, the performance can be significantly improved. In this situation, an intelligent multi-agent controller is employed. Intelligent control builds upon and enhances the conventional control techniques to solve new and challenging control problems. The research areas related to intelligent control include soft computing techniques such as neural networks, fuzzy logic, and genetic algorithms. The three soft computing techniques mentioned in Table 1-1 can be directly utilized in intelligent control, either separately or synergistically. 9 Table 1-1 A comparison of soft computing techniques. Methodology Example of Application to Robots Strength Neural Networks (NN) NN-based controller taking the form of an adaptive multilayer network. The adaptable parameters are usually the adjustable weights between the nodes of the network. With its massively parallel structure, and learning and adaptation ability, a NN is able to account for nonlinearities and uncertainties in a robot dynamic model regardless of the complexity. Fuzzy Logic Direct joint control. Tuning of parameters of low-level controller. Easy implementation of expert knowledge, via Fuzzy 'if-then' rules; and decision making incorporating the entire knowledge base. Genetic Algorithm Optimization and adaptive learning control of a process plant. Derivative-free optimization and 'evolution' through learning. Can mimic the actions of a group of intelligent beings. In a neural network the knowledge is embedded in the structure of the network. Consider the example shown in Figure 1-3. By adjusting a set of threshold values (I) at the nodes and a set of weighting parameters between the nodes, the neural network may be trained to approximate an arbitrary nonlinear function. In a knowledge-based fuzzy logic system, the knowledge is easily represented through fuzzy 'if-then' rules that contain linguistic terms. It is a useful and low-cost tool to represent the control knowledge gained by a human expert. Once the knowledge is represented in this manner, decision making is carried out by comparing or 'composing' a set of process data with the knowledge base. A neural network may be used to evolve (or learn the parameters of) a fuzzy knowledge base. Then, one has a fuzzy-neural system. 10 Input 1 Input 2 Output 0 0 0 0 1 1 1 0 1 1 1 0 Input 1 Input 2 Output (b) Figure 1-3 Neural network knowledge: (a) XOR logic table; (b) its network representation. Knowledge-Based Systems The major advantage of a knowledge-based control procedure stems from its ability to use structured information (knowledge) represented in non-numeric form. Consequently, it can deal with the knowledge that is contained in a set of linguistic statements. It is particularly attractive when considerable amount of knowledge, expertise (specialized knowledge) and experience are available for controlling a particular plant, which may be incompletely known or too complex for accurate modeling. It follows that one is able to combine the advantages of a computer with some of the intelligent characteristics of a human for making inferences and decisions. The main components of a knowledge-based system are a knowledge base, an inference engine, one or more databases, and a user interface, as schematically represented in Figure 1-4. The knowledge base represents the available knowledge; for example, obtained from a linguistic description of human expertise in controlling a process. The inference engine matches the present data (context) with the condition part of the rules in the knowledge base, to determine the control actions; thus 11 Inference =M[P(D),KB]', (1.1) where: P= preprocessing operator that converts the data to a form compatible with the knowledge base (e.g., a fuzzification operation in a fuzzy knowledge-based system); D = current data or information (context); KB — knowledge base; M= matching operator. User Interface A V Figure 1-4 Main components of a knowledge-based system. In a fuzzy control system, for example, the control decisions are fuzzy quantities and, therefore, must be defuzzified before the corresponding control actions can be carried out in a physical system. 12 The inference mechanism may also handle conflict resolution using methods such as first match, toughest match, privileged match or most recent match as explained by de Silva [2]. The knowledge may originate from many sources; for example, human expertise, literature, experimentation, computer simulation, and analysis. An 'expert system' is a knowledge-based decision making system that can play the role of a human expert. Some areas of application of expert systems are: design, interpretation, advising (legal, medical, etc.), forecasting, diagnosis and prescription. 1.4.3 Fuzzy logic and fuzzy control Fuzzy logic allows the use of linguistic terms that do not have crisp, numerical meanings. Consider the following example: An integer number is either odd or even. It cannot be considered odd by some people and even by others. The two classes 'odd' and 'even' are clearly defined. On the other hand, the class denoted by the linguistic term 'tall' does not have clear (crisp) boundary. A person with a height of 1.65 m is not considered tall. A person with a height of 1.95 m will surely be considered tall. What about heights between 1.65 m and 1.95 m ? There is no crisp boundary in this case. The transition from membership to non-membership is not crisp. The binary, two-valued logic is not well suited for handling problems that deal with non-crisp classes of this type. Next consider an example that is more closely related to engineering. An experienced operator could make the following statement about the behavior of a process: "If the overshoot is big then reduce the proportional gain moderately". Although the terms 'big' and 'moderately' do not have a crisp numerical boundary, the operator's linguistic statement carries some useful knowledge. More than three decades ago, Zadeh [3], the father of fuzzy logic, developed a systematic framework to deal with 'fuzzy' quantities such as 'tall' and 'big'. Fuzzy logic uses the concept of fuzzy sets which can model intermediate grades of belonging (or membership) that occur in any concept. More details on fuzzy sets and fuzzy logic are given in Chapter 2. 13 The interest in fuzzy controllers became known in the beginning of the 70's. They were inspired by the ability of human operators to interpret linguistic statements about a process under control, and then to reason for appropriate control actions, qualitatively, in the absence of precise and complete data as well as a mathematical model of the plant. Fuzzy control is a class of knowledge-based control procedures. It incorporates control knowledge in the form of a set of linguistic statements (rules) that may contain fuzzy quantities. The control decisions are made by matching plant responses with the knowledge base. These decisions may represent control actions of various types and forms. Fuzzy logic control (FLC) has been applied to a variety of practical systems such as ship autopilots, subway cars, helicopters, pilot-scale steam engines, cement kilns, robotic manipulators, fish processing machines, and household appliances. 1.4.4 PID tuning The performance of a control system may be represented by a suitable index. The objective of the controller would be to maximize the performance (or minimize a cost function). The common cost functions are the Integral Absolute Error (IAE), the Integral Square Error (ISE) and the Integral Time Absolute Error (ITAE). They may be expressed in the analytical form as: IAE = \\e{t)\dt, (1.2) o OO ISE= \e2(t)dt, (1.3) o OO ITAE = jt\e(t)\dt. (1.4) The error signal -e(t) is the difference between the reference signal (desired response) and the actual response of the plant. A block diagram for a proportional-integral-derivative (PID) control system is shown in Figure 1-5. The PID control action is given by 14 c(j) = Kpe + Ki\edt + Kd^ (1.5) where Kp = proportional gain; Kt = integral gain; K(i = derivative gain. For a complex and nonlinear plant, it is generally not possible to obtain satisfactory performance using just one set of values for these PID parameters; some tuning would be needed. Desired Response + e (Reference Input) 2 - 1 PID Controller Plant w Response Figure 1-5 A Proportional-Integral-Derivative control system. Using the indices given by equations (1.2)-(1.4), several PID tuning formulas for optimum set-point response and optimum load disturbance response have been developed and reported in the literature: • Ziegler-Nichols [4] process reaction method (open loop step response, quarter decay); • Ziegler-Nichols [4] ultimate-cycle method (closed loop); • Cohen-Coon approach [5]. These are essentially empirical approaches based on the performance of a system to some test input. It is known, however, that experienced human operators of process plants are able to effectively tune PID parameters without relying on algorithms. Knowledge-based tuning of PID controllers employs this idea. 1.5 Literature Review In this section, the literature relevant to the existing variable-geometry manipulator is briefly reviewed, followed by relevant and more important contributions related to fuzzy logic and hierarchical control. 15 Variable Geometry Manipulator Several studies have been conducted aimed at dynamics of structures with flexible deployable members. Lips and Modi [6,7], and Modi and Ibrahim [8] studied systems with deployable appendages directly connected to a central body. Subsequently, similar studies, involving slewing and deployable appendages, were conducted by Modi and Shen [9] . A one-unit manipulator consisting of flexible, revolute and prismatic joints, located on an orbiting flexible platform (Figure 1-la ), was investigated by Marom and Modi [10]. The study of its planar dynamics showed significant coupling effects between the platform and the manipulator dynamics. In subsequent work, a multimodule configuration was studied by Modi et al. [11], and Hokamoto et al. [12-14]. Caron [15] presented an 0(N) formulation for studying the planar dynamics and control of a multimodule manipulator consisting of several units, each having one revolute and one prismatic joint. The results showed interactions between flexibility, librational dynamics, and manipulator maneuvers. He also investigated the use of feedback linearization technique (FLT) and linear quadratic regulator (LQR) to control such manipulators. Chu [16] designed and constructed a prototype variable-geometry manipulator. He conducted simulation studies using an appropriate model, and also carried out experiments using the prototype manipulator. Results indicated that significant coupling can exist among the motions of the base, joints and payload. Hierarchical and Knowledge-Based Control using Fuzzy Logic Zadeh [17] was the first to develop fuzzy logic as a tool for reasoning with imprecise concepts that arise in systems engineering. He proposed an approach for representing vague reasoning of the human decision making process. The establishment of this theory has given rise to knowledge-based control and enriched the design of hierarchical control systems. Mesarovic, Macho and Takahara [18] pioneered a theory for hierarchical, multilevel systems. They dealt with the levels of abstraction, complexity of decision-making, and of priority of action. Zadeh [19] has discussed the role of fuzzy logic in the management of uncertainty in expert systems. He developed a systematic approach to the 16 management of information that is imprecise or incomplete. Rasmussen [20] investigated the role of hierarchical knowledge representation in decision making and system management. This study also includes the role of abstraction hierarchy in a supervisory control system, and the extraction of significant information from high-resolution data. It was concluded that data abstraction is a necessary step in any scheme of hierarchical knowledge representation. De Silva and MacFarlane [21] developed a knowledge-based control structure for robotic manipulators. Their hierarchical structure has three levels, integrating knowledge-based soft control with conventional hard control algorithms. The rulebase of the fuzzy controller consists of expert knowledge in the form of linguistic if-then rules for servo tuning. The main advantages of the method proposed by them are the ability of representing implicit knowledge of human experts and the flexibility of the control structure. Saridis [22] has developed an analytic formulation of the principle of increasing precision with decreasing intelligence for intelligent machines. De Silva [23] also investigated an analytic framework for knowledge-based tuning of servo controllers. It involves a two-level control structure in which a conventional PID servo controller is tuned using fuzzy logic. It was demonstrated that a substantial reduction in computational effort could be obtained through the application of the analytical framework. De Silva [24] has discussed the information fuzziness and degree of resolution within the context of a control hierarchy, and developed a criterion for decoupling a fuzzy knowledge base. Barlev [25] has successfully implemented an intelligent tuner for an ill-defined servomotor system. Wickramarachchi [26] developed a knowledge-based hierarchical control structure for process automation and applied it to a prototype fish-processing machine in laboratory. Experimental studies demonstrated that, in the case of fish processing, the overall yield (recovery rate) could be increased through the implementation of knowledge-based hierarchical control. 1.6 Scope of the Present Investigation The present thesis starts with an introduction to the theory of fuzzy logic, in Chapter 2, giving the necessary mathematical background. Chapter 3 explains in detail the development of the knowledge-based hierarchical control system, which is applied to 17 a manipulator with deployable and slewing links. Using this multi-layered control structure, ground-based simulations are carried out and studied in Chapter 4 . Application to a spaced-based system is presented in Chapter 5 . Chapter 6 investigates the evolution of the knowledge base and the effect of changes in membership functions and other attributes on the system performance, through case studies. Chapter 7 presents the practical implementation of the hierarchical control system on an existing deployable manipulator. Chapter 8 , which is the concluding chapter, summarizes the important results of the present research, gives conclusions, lists the main contributions of the thesis, and provides recommendations for further studies. 18 2. FUZZY LOGIC CONTROL This section focuses on the necessary theoretical background of fuzzy logic and its application to hierarchical systems. First, the concept of fuzzy sets is presented. Next, the mathematical tools such as membership functions, logic operators, fuzzy relations, and the compositional rule of inference are reviewed. Finally, the concepts of fuzzy logic control (FLC) is discussed, in the context of a hierarchical system. 2.1 Fuzzy Sets and Membership Functions The theory of fuzzy logic is based on the idea that the key elements in human thinking are not numbers but labels of fuzzy sets (or fuzzy descriptors). A fuzzy set is a collection of elements that has no crisp boundary that defines the membership of the elements within the set. The elements within the set boundary, in this case, neither completely belong to the fuzzy set nor are completely excluded from it. A fuzzy set is a tool for modeling intermediate grades of membership that usually occur in any natural concept. The Venn diagrams of a crisp set and that of a fuzzy set are shown in Figures 2-1 (a) and 2-1 (b), respectively. Universe X Crisp Boundary (a) Universe X A Fuzzy Boundary (b) Figure 2-1 The Venn diagrams of: (a) crisp set A; (b) fuzzy set A. 19 A fuzzy set A can be represented mathematically by a membership function, denoted by JUA , which gives the degree of membership within the set of any element of the universe of discourse. The membership function iuA maps the universe of discourse X to the interval [0,1]; thus MA(X):X^[QM (2.1) A membership value of 1 implies that the corresponding element is definitely inside the set. Similarly, a membership value of 0 implies that the corresponding element is definitely outside the set. A typical membership function is shown in Figure 2-2. Membership Grade JUA(X) Element x Figure 2-2 Membership function of a fuzzy set A. A fuzzy set A in Xmay also be represented by expressing the way in which each element is paired with the corresponding grade of membership, in the following manner: A={(x, jUA(x)) xeX), (2.2) where x denotes a general element in the universe of discourse. For a discrete universe of discourse, one can write MA(XI) (2.3) which is a notational representation rather than a numerical summation. Equivalently, if the universe of discourse is continuous, the following symbolic notation is used: 20 I (2.4) Again, in this case, what is given is a notational representation rather than an integration. Fuzzy sets may be used to represent the fuzzy states of a particular fuzzy variable. For example, consider the fuzzy variable overshoot pertaining to a step response of a plant. This variable could have three fuzzy states such as small, medium, and large (Figure 2-3). Each fuzzy state is itself a fuzzy set having its own membership function (Figure 2-4). The fuzzy resolution represents the number of fuzzy states that a fuzzy variable can have. For the example considered here, the resolution is 3. Overshoot Medium Figure 2-3 Fuzzy states of the variable overshoot. Membership Degree Medium 30 % overshoot Figure 2-4 Membership functions of the fuzzy states. 21 2.2 Fuzzy Logic Operations and Definitions Consider two fuzzy sets A and B defined in the same universe of discourse. Membership Degree 1 A B • Universe of Discourse Figure 2-5 Fuzzy sets A and B. Union (OR, KJ) The union of two fuzzy sets A and B in the same universe of discourse, has a membership function given by /^u«W = max{///j(x),//B(x)} , VxeX . (2.5) Membership Degree 1 A \J B Universe of Discourse Figure 2-6 Union of fuzzy sets A and B. Intersection (AND, n) The intersection of two fuzzy sets A and B in the same universe of discourse has a membership function given by juA^B{x) = mm{juA(x),juB(x)} , \/xeX . (2.6) 22 Membership Degree 1 Universe of Discourse Figure 2-7 Intersection of fuzzy sets A and B. Complement (NOT') The complement A' of a fuzzy set A has a membership function given by JUA'(X)=1-JUA{X), VxeX. (2.7) Membership 0 • A A' • Universe of Discourse Figure 2-8 Complement of fuzzy set A. Cartesian Product Let A\, A2,..., An be fuzzy sets defined independently in the single-dimensional universes X\, X2,..., X„, respectively. The Cartesian product of A\, A2,..., An is a fuzzy set defined in the Cartesian product space X\ x X2 x...x Xn. Its membership function is given by MAixA2x-xAn{xi, x2,..., x„) = min{jUA](xi), juA2{x2),..., juAn(xn)} , VxieXi, i=l,...,n. (2.8) 23 Fuzzy Relation A fuzzy relation R, in the ^ -dimensional Cartesian product space X\ x Xi x...x X„, is a fuzzy set denoted by Rxi xX2*...xXn= {[(x\,...,xn), jUR{x\,...,xn)] \ (xx,...,x„) e X\ xX2x...xX„}. (2.9) Implication (IF-THEN) Let A and B be fuzzy sets defined in the universes X and Y, respectively. The fuzzy implication A—>B is a fuzzy relation in the Cartesian product space I x 7. One commonly used relation for obtaining the membership function of the fuzzy implication is juA->B(x,y) = min{jUA(x), pB(y)} , VxeX, VyeF. (2.10) This relation is commonly used in fuzzy if-then rules. 2.3 Composition and Inference Projection Let R denote a fuzzy relation in the Cartesian product space X\ x l 2 x...x X„ and let the n indices be rearranged as follows with n = r + m, {1, 2,..., n) -> {z'i, i2, ir,j\,h,-,jm}-The projection of R on the subspace Xa x Xp. x...x Xir represents a fuzzy set P and is denoted by Vxo)[R;Xa x Xn x...x Xir]. The fuzzy set P has a membership function given by 24 jupixu, xi2, xir)= sup {JUR(XI, X 2 , . . . , xn)} (2.11) Note that conventionally, the max operator is used when dealing with discrete independent variables, while the sup operator is used when dealing with continuous independent variables defining membership functions. Cylindrical Extension Consider again the Cartesian product space X\ x X2 x...x Xn with the index rearrangement This time let R represent a fuzzy relation in the subspace i^ x Xi2 x...x Xir. Its cylindrical extension C(R), over the entire space, is denoted by Let R and S be fuzzy relations in the subspaces X\ x X2 x...x X„, respectively, with m < r + 2; i.e. R and S can be disjoint. The fuzzy set Jin the overall X\ x X2 x...x Xn space, defined by the join of the fuzzy sets R and S, is given by the intersection of their cylindrical extensions, {1, 2,..., n) {/',, i2,ir,juJ2,-Jm}-(2.12) Join Join(i?,5) - C(R)nC(S). (2.13) Its membership function is given by JUJ(X\, x2,..., xn) = mm{jUC{R){x\,x2,..., x„), /uC(S){x\, x2,..., xn)} (2.14) 25 Composition Let R and S be fuzzy relations in the subspaces X\ x X2 x...x Xr and X,„ x Xm+i x...x X„, respectively, with m < r + 1; i.e. there is at least one overlapping axis (common independent variable). The composition of R and S, denoted by R o S, is given by Note that the projection is made onto the non-overlapping subspace of the original space. Now, noting that the min operator applies for join and the sup operator applies for proj, the membership function of the resulting fuzzy set is given as Compositional Rule of Inference In fuzzy control, the knowledge is embedded in the knowledge-base which is a set of linguistic statements (rules) containing fuzzy quantities and employing the fuzzy implication (IF-THEN). An example of such a rule, related to the step-input response of a system, is "IF rise time is too slow THEN proportional gain change is positive big". Here, the rule states that if the response is too slow, as determined by some sensory means, the proportional gain should be increased by a large value. Such prescriptions may originate from control experience and expertise. Let the fuzzy sets R, D and C denote the fuzzy relation that represents the collections of linguistic rules, the context data, and the control action, respectively. The compositional rule of inference states that R o S = Proj [ Joints); Xx,..., Xm.u X^,..., Xn ]. (2.15) jU(R oS) = sup {min(/4; jus)}. (2.16) C = DoR. (2.17) 26 The membership function of the control action (fuzzy set C) is determined by matching the membership functions of context data (fuzzy set D) with the knowledge base (fuzzy rule base or relation R) juc = sup min ( JUD, JUR ) . (2.18) Y Note that Y represents the space in which the data D is defined. The inference making procedure given by Eq.(2.18) is known as the compositional rule of inference, and clearly is a special case of Eq.(l.l). This result is derived from Eq.(2.16), where the intersection of the cylindrical extensions (join) corresponds to the matching of D with R in the entire space; and the projection of the result pertains to the inference concerning the non-overlapping subspace. 2.4 Fuzzy Logic Control The basic steps in fuzzy logic control may be outlined as follows [2]: Offline 1. Acquire and represent the control knowledge as a set of linguistic rules that may contain fuzzy quantities. 2. Develop a set of discrete membership functions for the process output variables and control input variables. 3. Using fuzzy implication for each linguistic rule with the corresponding membership functions, obtain the multi-dimensional array Rt of membership values for that particular rule. 4. Get the fuzzy rule base R by combining the arrays Ri using fuzzy operations (AND, OR, NOT). Online 5. If the measured process output variables are crisp (the usual situation), then fuzzify them; for example, as fuzzy singletons (fuzzy sets whose support is a single point). 6. Match the fuzzy measurements of Step 5 with the fuzzy rule base R, using the compositional rule of inference, to get the fuzzy control inference. 7. If crisp control actions are needed (the usual situation), then defuzzify the fuzzy control inference of Step 6. 27 Note that an alternative approach would be to first construct a crisp decision table off-line in order to reduce the on-line computation effort. Here, the same steps 1 through 7 are followed, except that, instead of on-line measurements used in Step 5, a discrete set of values in the measurement space are used (as the condition axis of the decision table). Deffuzification Deffuzification is the process in which a representative crisp parameter is obtained for a given fuzzy set (membership function). A commonly employed method of defuzzification is the centroid method. Let us first define a support set. The support of a fuzzy set A is the crisp set formed by the collection of all elements x{ e X such that jUA(x^) > 0. Now let the membership function of a control inference be given by ju^c), with a support set S. Then, using the centroid method, the crisp control action c' is determined by jc//c(c)dc C '= - | _ , (2.19) J juc{c)dc ceS or, for discrete membership functions, as Z c />"c( c «) c'=% f ^ . (2.20) c,eS Fuzzy Control Architectures Fuzzy logic control commonly has two different architectures: low-level direct control, and high-level supervisory control. Low-Level FLC: A large majority of the applications of fuzzy logic have been for low-level direct control where the fuzzy logic controller replaces a conventional controller. The control 28 observations for the fuzzy decision making process, in this case, are typically the error and the change in error of the process response. However, when controlling fast processes, direct FLC often fails due to the inherent delay and imprecision introduced at the lowest level. This is because: (i) signal preprocessing, reasoning and decision-making time can be high; (ii) low-level sensory data can be noisy. Furthermore, it may be difficult to establish a suitable knowledge base for direct control, particularly in high-speed processes. High-Level FLC: It is intuitively more appealing and justifiable to use fuzzy logic at a higher level where the human operators have accumulated control knowledge. It has several attractive features: • A high speed can be maintained for low-level (direct) control, by using conventional crisp techniques; • improves accuracy of the low-level conventional controller by "intelligent" monitoring and tuning; • experience-based tuning protocols are inherently fuzzy in general; • human intervention in a process control loop is often supervisory in nature. This supervisory system architecture leads naturally to a hierarchical structure in which the fuzzy controller performs system monitoring and diagnosis as well as other tasks such as controller tuning, adaptation, self-organization and dynamic restructuring of the control system, and quality assessment of the product. 29 2.5 Hierarchical Control Hierarchical control systems were first introduced as a means of coping with the complexity of large and difficult control tasks [18]. They are particularly relevant when various control functions in the system can be conveniently ranked into different levels depending on their functionality. Some considerations for defining the levels of control are (Figure 2-9): • nature of tasks; • information resolution (decreases as level of control increases); • fuzziness of information (increases as level of control increases); • event duration (increases as level of control increases); • control bandwidth or control speed (decreases as level of control increases). The information sharing between different hierarchical levels requires some filtering to make the low-level information compatible with the knowledge base at a higher level, as represented in Figure 2-10. The decision making in a hierarchical structure is operationally expressed as [2] cn = G„ % [(Fn>n <g> s„) 0 (JVi ® *»-0 © - © (Fn,\ ® si) © Ca+i] for level n , (2.21) where: = information prefilter from level j to level i; Sj = information vector from level j;'' Gi = knowledge base at level i; Ci = decision vector from level i; <8> = a transitional operator; © = a combinational operator. 30 Information Resolution Fuzziness of Information ' = • Level of Control Figure 2-9 Variation of information resolution and fuzziness with the level of hierarchy. Note that the operators ® and © are subjective, depend on the application, and are generally based on various fuzzy logic operations described in the previous sections of this chapter. Feedback Filters The transitional operation of a feedback (preprocessing) filter Fij is given by s'r-FijQsj , (2.22) where s) represents a part of the context that is needed by the functional and control modules G at the particular level i. 31 Level n wn+l Functional / Control Knowledge Base G F n.l n-2 F n.n-2 Sensory / Feedback Filter F Jn-2 F. n,n-l Figure 2-10 Knowledge-based hierarchical system. Functional / Control Modules In Figure 2-10, the functional and control modules are denoted by G. Each module has its own knowledge base made of linguistic rules. It makes a decision c according to the information coming from the upper level as well as the inferences obtained by the feedback filters. It follows that the hierarchical model of Figure 2-10 may be expressed as [2] Cn = Gn® (S'n® S'n-l © ... © s\ © C„+i). (2.23) 32 3. CONTROL SYSTEM DEVELOPMENT A robotic manipulator system with slewing and deployable links was described earlier, in Section 1.4. The objective in the present chapter is to develop a control system for this novel manipulator. The control system studied has a three-level hierarchical structure. The characteristics and functions of each level are discussed first. Next, the procedure for obtaining a decision table for tuning the PID controller is explained. Finally, the structure of the computer code is presented. 3.1 Hierarchical Structure An important aspect of the hierarchical structure that is developed is the combination of the advantages of a crisp, high-bandwidth controller with those of a soft, knowledge-based, supervisory controller. The overall structure can be decomposed into three main layers. First Layer The first layer deals with high-resolution information coming from the optical encoders attached to the closed-loop servomotor system of the robot. This type of information is characterized by a large amount of individual data points produced and collected at high frequency, which are of high resolution. The servomotor at each joint of the manipulator is in closed-loop control. The crisp, high-bandwidth controller used is a proportional-integral-derivative (PID) regulator whose control action may be expressed as c(t) = KP-e(t) + KIje(t)dt + KD-^p- (3.1) where e(i) is the feedback error signal, and KP, KI, and KD are proportional, integral, and derivative gains, respectively. Second Layer The data processing for monitoring and evaluation of the system performance occurs in this intermediate layer. Here, high-resolution, crisp data from sensors are filtered to allow an abstract representation of the current state of the manipulator. This 33 servo-expert layer acts as an interface between the crisp controller which regulates the servomotors at the bottom layer, and the knowledge-based controller at the top layer. The intermediate layer handles such tasks as performance specification, response processing, and computation of performance indices. This stage involves, for example, averaging or filtering of the data points, and computation of the rise time, overshoot, and steady state offset. Top Layer The knowledge base and the inference engine in the uppermost layer are used to make decisions that achieve the overall control objective, particularly by improving the performance of low-level direct control. This layer can serve such functions as monitoring the performance of the overall system, assessment of the quality of operation, tuning of the low-level controllers, and general supervisory control. In this layer, there is a high degree of information fuzziness and a relatively low control bandwidth. Figure 3-1 presents the hierarchical structure of the three-level control system. Controller Tuning PID Controller Level 3 Intelligent Supervisor Level 2 Servo-Expert Level (Information Abstraction) Level 1 Encoder Revolute Joint Encoder I Actuator Prismatic Joint i Actuator Figure 3-1 Schematic representation of the three-level controller. 34 3.2 Performance Specification The desired performance of the system is specified in terms of parameters of a second order reference model. Another way of specifying the performance would be to use time-domain values. While the reference model implicitly represents the desired performance of the system, it is not an actual model of the plant (robot) itself. The use of a reference model instead of the direct specification of time-domain parameters is preferred as it provides some buffer against unrealistic requirements, and typically results in a less conservative controller. The transfer function Gr(s) of the reference model is expressed in terms of the damping ratio (£"), undamped natural frequency (&>„), and a fixed offset Gd as Gr{s) CO.. s +2£a>ns + G)n (3.2) The locations of the poles (roots of the denominator of the model transfer function), corresponding to various values of the damping ratio, are shown in Figure 3-2. c<-\ •\<£<0 0< <;< 1 X X • Non-oscillatory Oscillatory Underdamped Critically damped Overdamped unstable unstable Figure 3-2 Dependence of poles and the response of a second-order system on the damping ratio. For an underdamped system, the poles of this system are located at (3.3) 35 The real part of the poles is referred to as the attenuation or, inverse of the time-constant; the imaginary part is the damped natural frequency. From this model, the time-response y(t) of the system to a unit step-input can be analytically obtained as y(t) = 1 - i 1 , exp(-^fi>,0 • sin where e represents the offset. The percentage overshoot is given by % overshoot =\00e^~~^ , (3.5) and is tabulated in Table 3-1. The peak-time (time at the first overshoot) is given by 71 peak - time = . . (3.6) Note that for a specified damping ratio £ as the natural frequency con is increased, the same overshoot is obtained but at an earlier peak-time. For a given a>n, the response is faster for lower For a constant product £(Dn,, the 'envelope' of the response, related to the decreasing exponential, is constant. This value can be viewed as the time-constant of the second order system. Table 3-1 % overshoot versus damping ratio for a second-order system. 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 % overshoot 0 0.2 1.5 4.6 9.5 16.3 25.4 37.2 Now, the following time domain parameters are extracted based on the reference model, with the subscript M referring to the model: rise time (RSTM); overshoot, if underdamped (OVSM); offset at steady state (OFSM)-We use the three parameters (RSTM, OVSM, OFSM) to represent the desired performance of the system. The rise-time is chosen as the time it takes for the response to reach 95% of the desired steady-state response. The overshoot is calculated at the first peak of the a> + e (3.4) 36 response, as a percentage of the desired steady-state response. The percentage steady-state offset is computed by taking the difference between the average of the last third of the response and the desired steady-state response. The corresponding time domain parameters are obtained from the response of the actual system (robot servomotor), with the subscript S referring to the servomotor, as: RSTs, OVSs, and OFSs- Before computing these values, however, the data is filtered to remove much of the effect of noise and local disturbances. For this purpose, a second order binomial-filter function (weighted average) is used /(/0=0.25 [x(n-1 )+2x(n)+x(n+1)]. (3.7) Once evaluated, the parameters of the model are compared with those of the real servomotors to get the index of deviation. 3.3 Performance Evaluation and Classification For each performance attribute, an index of deviation is calculated using the following equation, Index of deviation of ith attribute = 1 —"""""""""" "J — (3.8) i' attribute of servomotor The index is defined in such a way that a value of 1 corresponds to the worst-case performance, while a value of zero means the actual performance of the servomotor, for that particular attribute, exactly meets the specification. A negative value indicates that the performance is better than the specification. The indices are calculated according to: RST, ith attribute of model RSTld=l-~-^ = ERR(l); (3.9) OVSid = 1 - ° V S m = ERR(2); (3.10) ,d ovss OFSu = 1 - ° F S m = ERR(3) . (3.11) ,d OFS< 37 These indices represent the performance condition of the servomotors and hence should correspond to the context of the rulebase of system tuning. The index of deviation must therefore be fuzzified into membership values corresponding to the five selected primary fuzzy states: Highly Unsatisfactory (HIUN); Needs Improvement (NDIM); Acceptable (ACCP); In Specification (INSP) and Over-Specification (OVSP). In order to obtain a discrete set of performance indices K(i), threshold values are defined for each index of deviation over the interval -co to 1, as given in Table 3-2. Table 3-2 Mapping from the index of deviation to a discrete performance index. Discrete Performance Index K(i) Index of Deviation 5 ERR(i) < 0 4 0 < ERR(i) < TH(l) 3 TH(l) < ERR(i) < 777(2) 2 TH(2) < ERR(i) < TH(3) 1 TH(3) < ERR(i) < 1 The performance indices obtained in this manner are the input to a pre-calculated decision table of tuning the PID parameters of a servomotor. The outputs from this decision table are the tuning actions that are used to update the controller parameters. 3.4 Fuzzy Tuner Layer At the highest level of the hierarchical structure, there is a knowledge base for tuning a servo controller. This tuning knowledge may originate from human experts or some form of archives, and is expressed as linguistic rules containing fuzzy terms. For each status (context) of the system, a conceptual abstraction is computed, and the expert knowledge is transformed into a mathematical form by the use of fuzzy set theory and fuzzy logic operations, as described in Chapter 2. The end result is a decision table, calculated off-line, which gives the tuning actions corresponding to the performance indices that represent the status of the process (robot). 38 In order to obtain the decision table, one must first assign membership functions to each of the performance indices and tuning parameters. Then, by using the implication and union fuzzy operations, fuzzy composite relation tables are obtained, which express relations between the performance indices and tuning parameters. Next, for a discrete set of context values in the operating range, fuzzification and successive application of the compositional rule of inference leads to a corresponding set of fuzzy tuning actions. The final step consists of defuzzifying these fuzzy decisions to obtain crisp tuning actions corresponding to numerical context values of the system condition. 3.5 Fuzzy Linguistic Rules The expert tuning knowledge for a simple PID controller, in parallel form (as given by Eq. 3.1), may utilize heuristics such as those given in Table 3-3. One may define the primary fuzzy sets for the performance indices for each context variable (i.e., RST, OVS and OFS) as given in Table 3-4. Table 3-3 Heuristics of PID tuning. Action for Performance Improvement Context KP KI KD Rise Time (RST) Increase No Change Decrease Overshoot (OVS) Decrease No Change (or decrease) Increase Offset (OFS) Increase Increase No Change Table 3-4 Fuzzy labels of performance indices. Performance Index Context Fuzzy Set Notation Fuzzy Value 1 HIUN Highly Unsatisfactory 2 NDIM Needs Improvement 3 AC CP Acceptable 4 INSP In Specification 5 OVSP Over Specification 39 Three fuzzy tuning variables are defined as follows: DKP = Change in proportional gain; DKD = Change in derivative gain; DKI = Change in integral gain. Each tuning variable may be expressed with the fuzzy sets and representative numerical values that are listed in Table 3-5. The rulebase for control parameter tuning is given in Figure 3-3. Table 3-5 Tuning fuzzy sets and representative numerical values. Tuning Fuzzy Set Integer Value Notation Fuzzy Value PL Positive Large 3 PM Positive Moderate 2 PS Positive Small 1 ZR Zero 0 NS Negative Small -1 NM Negative Moderate -2 NL Negative Large -3 3.6 Decision Table Development In developing the decision table for tuning, it is necessary to establish the membership functions for the fuzzy performance attributes RST, OVS, OFS, and for the fuzzy tuning actions DKP, DKI, and DKD. The resolution of each fuzzy quantity is the number of fuzzy states a condition variable or an action variable can take. In other words, the number of discretization levels equals the number of possible fuzzy states that a variable may take. For a fine tuning action, a high resolution would be desired. The proper choice of fuzzy resolution would provide a compromise between the precision of tuning, computational speed, and storage limitations of the computer memory. The discrete representative values corresponding to the fuzzy quantities are the normalized data; they represent a relative weight and can be scaled. The membership functions depend on the knowledge of the problem. In case of high fuzziness, more robust 40 membership functions with sufficient overlap between adjoining fuzzy states may be desired. Each fuzzy action or condition quantity has a representative value, which is assigned a membership grade equal to unity. The decreasing membership grade around that representative value introduces a degree of fuzziness, as indicated in the Tables 3-6 and 3-7. If RSTis HIUN then DKP=PL, DKI=ZR, DKD=NS, or if RST is NDIM then DKP-=PM, DKI=ZR, DKD=NS, or if RST is ACCP then DKP=ZR, DKI=ZR, DKD=ZR, or if RST is INSP then DKP=ZR, DKI=ZR, DKD=ZR, or if RSTis OVSP then DKP=NS, DKI=ZR, DKD=PS If OVS is HIUN then DKP=NL, DKI=ZR, DKD=PL, or if OVS is NDIM then DKP=NM, DKI=ZR, DKD=PM, or if OVS is ACCP then DKP=NS, DKI=ZR, DKD=ZR, or if OVS is INSP then DKP=ZR, DKI=ZR, DKD=ZR, or if OVS is OVSP then DKP=ZR, DKI=ZR, DKD=NS. If OFS is HIUN then DKP=PM, DKI=PL, DKD=ZR, or if OFS is NDIM then DKP=PS, DKI=PM, DKD=ZR, or if OFS is ACCP then DKP=ZR, DKI=PS, DKD=ZR, or if OFS is INSP then DKP=ZR, DKI=ZR, DKD=ZR, or if OFS is OVSP then DKP=NS, DKI=NM, DKD=ZR. Figure 3-3 Rulebase for servomotor tuning. Si-Table 3-6 Membership functions for the condition variables. RST, OVS, OFS 1 2 3 4 5 HIUN 1 0.6 0.2 0 0 NDIM 0.6 1 0.6 0.2 0 ACCP 0.2 0.6 1 0.6 0.2 INSP 0 0.2 0.6 1 0.6 OVSP 0 0 0.2 0.6 1 41 Table 3-7 Membership functions for the action variables. DKP, DKI, DKD -3 •-2 -1 0 1 2 3 NL 1 0.9 0.8 0.7 0.6 0.5 0.4 NM 0.9 1 0.9 0.8 0.7 0.6 0.5 NS 0.8 0.9 1 0.9 0.8 0.7 0.6 ZR 0.7 0.8 0.9 1 0.9 0.8 0.7 PS 0.6 0.7 0.8 0.9 1 0.9 0.8 PM 0.5 0.6 0.7 0.8 0.9 1 0.9 PL 0.4 0.5 0.6 0.7 0.8 0.9 1 Next, for each rule, a relation table is developed. Consider the following rule, If RST is HIUN then DKP = PL. The first relation table linking RST to DKP is constructed by applying the fuzzy implication to the membership states of HIUN and PL. Recall that a fuzzy implication uses the min operator to link the condition and action membership functions. The Cartesian product space of these two membership functions, of dimension p by d, where p is the number of fuzzy states a condition variable may take and d is the number of fuzzy states associated with an action variable, is formed by taking the 'min' of each pair, for all pairs of membership states. The four other rules relating RST to DKP result in four more relation tables. Since the five rules linking RST to DKP are connected by the fuzzy 'or' connective, the resulting composite relation table is a combination of the five relation tables through the use of the max operation. That is, we superpose the relation tables and take the maximum of the membership grades corresponding to each pair of condition-action states. In order to reduce the on-line computational burden, a decision table is obtained offline (Table 3-8). This is done by matching a set of representative condition values, for 42 each condition variable, to the composite relation table through the use of the compositional rule of inference (sup of min operation). That is, one compares the membership function vector of a given condition variable value with the column of the composite relation table and takes the minimum of each pair of compared elements. Then, for each column vector, one takes the maximum value, thus resulting in a row vector. That row vector is the fuzzy inference. In order to obtain a crisp inference that can be used for tuning servos by the lower servo-expert level, the centroid method is used [2]. In this manner, for each condition-variable fuzzy value, we obtain a crisp inference or tuning action. These tuning actions may be scaled by a sensitivity factor before application. Table 3-8 Decision table for tuning of PID servo parameters. Fuzzy Tuning Action Condition DKP DKI DKD RST=HIUN 0.4 0 -0.2 RST=NDIM 0.3 0 -0.2 RST=ACCP 0 0 0 RST=INSP 0 0 0 RST=OVSP -0.2 0 0.2 OVS=HIUN -0.4 0 0.4 OVS=NDIM -0.3 0 0.3 OVS=ACCP -0.2 0 0 OVS=INSP 0 0 0 OVS=OVSP 0 0 -0.2 OFS=HIUN 0.3 0.4 0 OFS=NDIM 0.2 0.3 0 OFS=ACCP 0 0.2 0 OFS=INSP 0 0 0 OFS=OVSP -0.2 -0.3 0 3.7 Structure of the Computer Code The architecture of the program for the supervisory control system is shown in Figure 3-4. The program is divided into several modules in order to allow flexibility and to facilitate desired modifications. The ground-based simulations of the manipulator are 43 done using Turbo C++, while the experimental robot is controlled using Watcom C. A space-based dynamical simulation program has been developed in Fortran by Caron [15]. This program was modified and adopted in the present work. Consequently, the various modules of the control architecture had to be translated from C to Fortran. Plant Knowledge Tuning Status Base Decisions L Preprocessors Controllers i I Sensors Actuators Figure 3-4 Structure of the computer code. In the preprocessor module, the crisp information obtained from the sensors is filtered to remove noise, and the performance attributes (rise time, overshoot, offset) are extracted from the time-response. In the status module, crisp values of the performance attributes are fuzzified so that they are compatible with the knowledge base; i.e. they can be matched with the fuzzy linguistic rules. The knowledge base module represents the tuning expertise gathered by experienced operators. Since the decision table could be computed off-line, the knowledge base consists of an array of dimension i xj x k, where i is the number of response performance attributes (condition variables); j is the number of fuzzy values each condition variable may take; and k is the number of action variables. Entries in the decision table represent the output, which may be scaled. In the present study i =3,7 =5 and k=3. In the decision module, fuzzy representation of the response of the system is matched with the rule base in order to obtain an inference that will be used, 44 after scaling, to modify parameters of the low-level controller. Then the low-level controller, with its new set of gains, computes the signal that is sent to the amplifiers to drive the actuators. The main module handles the coordination between the various software modules. 45 4. GROUND-BASED SIMULATIONS This chapter develops a mathematical model for a ground-based, single-module, manipulator using the Lagrangian procedure. A sketch of the manipulator unit is shown in Figure 4-1. The hierarchical control system, with knowledge-based tuning, that was developed in Chapter 3 is integrated into the robot model. The effectiveness of the control system.is assessed during both trajectory tracking and pick-and-place operations. Deployable Arbitrary Payload Figure 4-1 Configuration of the single-module manipulator, with revolute and prismatic joints. The system model represents a single-module manipulator attached to and supported by a fixed base, and a point-mass payload held by the end effector. The module has two rigid links. The first link undergoes slewing motion through a flexible revolute joint. The other link may be either deployed or retrieved by the rigid prismatic joint. The motion of the manipulator is confined to a plane. 4.1 Derivation of the Ground-Based Mathematical Model The dynamics of the manipulator is expressed with respect to a system of reference frames shown in Figure 4-2. Here, F0 denotes the inertial reference frame which is attached to the fixed base, and Fj is the body frame of the slewing link, which is 46 fixed to the revolute joint and rotates about Z# with an angular displacement 6. Frame F2 is attached to the end of the deployable link and translates along Y\. Its linear displacement, measured from the end of link 1, is denoted by d. Revolute Joint X, Figure 4-2 Schematic diagram of the manipulator model. The revolute joint, which is located at the shoulder of the manipulator, is considered flexible. It represents mainly the flexibility that is present in the coupling between the rotor shaft and the slewing link, and to some degree, the flexibility of the link. It is modelled by a linear torsional spring that connects the rotor of the servomotor to the slewing link. A linear viscous damper is also included in the model to approximately represent the energy dissipation due to structural and frictional damping. Note that the flexibility is purposely not considered in the model of the prismatic joint since, in the existing prototype, the joint consists of a lead-screw assembly and behaves essentially as a rigid joint. The link flexibility is omitted for the same reason. Figure 4-3 shows a schematic diagram of the flexible joint while Figure 4-4 presents the complete model considered in the present study. The angular rotation of the rotor, with respect to the stator, is denoted by a. The angular deformation of the torsional 47 spring is represented by p. Thus 0 = a + P, is the total angular displacement of the slewing link. Stator Figure 4-3 The flexible revolute joint model. Figure 4-4 The complete model. 48 The motion of the manipulator is described by the following set of three generalized coordinates: q = [6>ad]T (4.1) where: 6 = total slewing angle; a = rigid component of the slewing angle; d = tip position of the deployable link, measured from the end of the revolute link. Application of the Lagrangian procedure, to derive the governing equations of motion, requires determination of the system kinetic and potential energies. The kinetic energy can be written as T = - jv-vdm (4.2) system where: dm = elemental mass; v = velocity of the elemental mass. The potential-energy (U) contribution comes from two sources: gravitational potential energy (Ug) and the elastic strain energy due to the flexibility of the revolute joint (Ue). Details of the kinetic and potential energies are given in Appendix I. Applying the Lagrangian principle, the equations of motion are determined by d_ dt f d T \ dq ^ + ^ - = Qj (4-3) dqj dqj where: qj = generalized coordinates (0, a, d); Qj = generalized forces. The governing equations of motion can be cast into the form M(q,t)q + F(q,q,t) = Q(q,q,t) , (4.4) where, M is the system mass matrix; q is the vector of generalized coordinates; F contains the terms associated with the gravitational, centrifugal, Coriolis, elastic, and 49 internal dissipative forces; and Q represents the generalized forces, including the control inputs. 4.2 Validation of the Formulation and Computer Code Before proceeding to investigate the system dynamics and control, it is important to assess the validity of the governing equations of motion and the associated computer code, which represent the simulation model. One approach would be to check the conservation of energy in absence of damping, and external forces and torques. The manipulator was permitted to swing freely under gravity in the vertical plane, and the prismatic joint was locked, through the use of a Lagrange multiplier. The response of the robot joints, and the time variation of the energy components are shown in Figure 4-5. The parameter values, used for the model in the simulation, are indicated in the legend box associated with Figure 4-5. Note that the total energy is conserved to a high degree of o accuracy (error less than 10" %). The simulation program is executed on a Pentium Pro 200 MHz PC, using Turbo C++, version 3.0, marketed by Borland International. The integration routine used is a fourth order Runge-Kutta method [28]. Initial Conditions: d Specified Coordinates d = 0.5 m, (i.e., length is held fixed). Generalized Coordinates 6 = 45°, a= 47°; 0 = ar = 0. System Parameters Slewing link: g length = 1.0 m mass = 2.0 kg Deployable link: length = 1.0 m mass = 2.0 kg Payload: mass = 3.0 kg Joint stiffness: .K=800Nm/rad Rotor inertia: J=2kg-m 2 50 4 6 time (s) "to a 4 ^ 6 time (s) 4 6 time (s) (b) Figure 4-5 Free undamped response of the robot: (a) generalized coordinates; (b) conservation of energy. 51 4.3 Control System As emphasized in Chapter 3, the hierarchical structure used in this thesis combines the advantages of a crisp, high-bandwidth, direct controller with those of a soft, knowledge-based, supervisory controller. Its essential features comprising of three distinct layers are summarized below: Bottom Layer The servomotor at each joint of the manipulator is in closed-loop control. The crisp high-bandwidth controller that is used is a proportional-integral-derivative (PID) regulator whose control action c(t) is given by c(0 = KP • e{t) + Kl] e(t)dt + KD • (4.5) dt where e(t) is the feedback error signal, and KP, Kl, and KD are proportional, integral, and derivative gains, respectively. Intermediate Layer The data processing for monitoring and evaluation of the system performance occurs in this layer. Here, high-resolution, crisp data from the sensors are filtered to allow an abstract representation, compatible with the knowledge-based system, of the current state of the manipulator. The servo-expert layer acts as an interface between the crisp controller which regulates the servomotors at the bottom layer and the knowledge-based controller at the top layer. This intermediate layer handles performance specification, response processing, and computation of the performance indices. In particular, this stage involves the computation of rise time, overshoot, and steady-state offset. Top Layer The knowledge base and the inference engine are used to evaluate the process response information and make decisions. These decisions are tuning actions that will improve the system performance and achieve the overall control objective. This layer can serve such functions as monitoring the performance of the overall system, assessment of the quality of operation, tuning of the low-level controllers, and general supervisory 52 control. In this layer, there is a high degree of information fuzziness and a relatively low control bandwidth. Figure 4-6 presents the hierarchical structure of the three-level controller that is used in the present work. Controller Tuning PID Controller Level 3 Intelligent Supervisor Level 2 Servo-Expert Level (Information Abstraction) Level 1 Encoder Revolute Joint I Encoder Prismatic Joint Actuator Actuator Figure 4-6 Schematic diagram of the control system. 4.4 Pick-and-Place Operations 4.4.1 Introduction A pick-and-place operation is a common task carried out by a manipulator. It consists of picking an object and bringing it to a desired position, within a specified time interval, with constraints on velocities and accelerations. 53 Here simulations are carried out where the single-unit manipulator is given a pick-and-place task in the horizontal plane (Figure 4-7). The manipulator starts fully retracted in the pick position, along the x-axis, and is fully extended at the place position. It stops at a way-point, which is an intermediate position from which a guarded motion is initiated. A t this location, tuning of the controllers w i l l take place, i f required. It is highly desirable that the motion from the way point to the final position be smooth (guarded motion). The initial, intermediate, and final positions are specified in the joint and Cartesian spaces, as given in Table 4-1. Place Position Figure 4-7 A pick-and-place operation. Table 4-1 Desired initial, intermediate, and final positions of the ground-based robot. Desired Values Pick Position Way Point Place Position a n 0 40 45 d (m) 0 0.9 1.0 end-effector x (m) 1.0 1.46 1.41 end-effector y (m) 0 1.22 1.41 Both links are 1 m long and weigh 2 kg. A point-mass payload of 3 kg is located at the end of the second link. Initially, the joint flexibility and damping are purposely neglected. In the second case, flexibility and damping are present. The revolute joint is 54 modeled with a torsional stiffness of K = 800 Nm/rad, and a damping coefficient of C = 10 Nm-s/rad. The rotor inertia is taken as 2 kg-m . From the nature of the model (no damping), the traditional Ziegler-Nichols process reaction method (carried out in open-loop, based on first-order or overdamped response) or the ultimate-cycle method (carried out in closed-loop, bringing the system to marginal stability) cannot be used to find a set of initial control gains. Moreover, the payload may not always have the same mass. The starting PID control gains are thus chosen somewhat arbitrarily. Some tuning of the two joints should take place before the tracking starts at the pick point. The tuning consists of analyzing the response to a step input of 2 cm for the prismatic joint and of 5° for the revolute joint, with respect to the performance requirements of rise time, overshoot, and steady-state error. The gains are updated by the supervisory controller accordingly. A fifth order polynomial position profile is used for interpolation in the joint space. It allows us to specify both the initial and the final values of velocity and acceleration to be zero [27]. The manipulator is allowed 9 seconds to reach the way point where it comes to a complete stop. The algorithm then decides if some further tuning is needed for the revolute joint. Note that the performance of the prismatic joint does not depend on the manipulator configuration when stationary, hence its control gains need not be modified. If the average position error in the Cartesian space during motion exceeds 4mm, or if the maximum position error is greater than 7mm, extra-tuning is judged necessary. The end position of the manipulator, when it reaches the way-point, is the starting position for carrying out the next part of the motion (guarded motion); thus, some initial position error may be present. The time allowed for the guarded motion is 3 seconds. Of course, limits are imposed on the control gains (maximum KP, KJ and KD values are, respectively, 250, 100 and 150). 5 5 4.4.2 Results for rigid model Response without tuning First, the manipulator is made to conduct a pick-and-place operation without any initial tuning. Here the PID gains are chosen somewhat arbitrarily. As an example, this would correspond to the case where the payload mass changes from one operation to another, without making gain adjustment. The time response in the joint space is shown in Figure 4-8(a), and the end-effector path in the Cartesian space is shown in Figure 4-8(b). The performance may be judged as poor and unacceptable, depending on the intended application, since the maximum error exceeds 4.2 cm and the average error is about 1 cm. Response with initial tuning Next, the control parameters are tuned prior to starting the pick-and-place operation. The response in the joint space is shown in Figure 4-9 (a) and the end-effector path in the Cartesian space is shown in Figure 4-9 (b). Although the performance has improved, it is still considered unacceptable assuming that high precision is required. The maximum and average errors are 1.84 cm and 0.6 cm, respectively. Response with auto-tuning In this case, the manipulator is controlled in the automatic tuning mode, i.e. depending on the performance during the first part of the trajectory, some tuning may be done at the way-point. Results, in the joint and the Cartesian spaces, are shown in Figure 4-10. The guarded motion, from the intermediate way-point to the place position, is much smoother and thus the performance is satisfactory. The maximum tracking error is of the order of 1 cm and the average tracking error is about 0.48 cm. From these results, one can conclude that additional tuning of the controller parameters could significantly improve the performance of the manipulator. 56 The tuning of the controller gains involves the analysis of the response of the joints to a series of six step inputs. The responses of the prismatic and revolute joints to a sequence of step inputs at the pick position are shown in Figure 4-11. The response changes toward the desired one, as specified by the reference model (e.g., for the prismatic joint, a>n = 5 rad/s, £, = 0.8, and offset = 1%, for a rise-time of 0.7 s, and an overshoot of 1.5%). After each step input, the rise time, the overshoot, and the offset are computed and then fuzzified. For each of these attributes, a context value is thus obtained. The intelligent supervisor uses these context values to determine the appropriate inferences, i.e. the required tuning actions. The evolution of the context values of the performance attributes after each tuning action, i.e. after each step input, is shown in Figure 4-12. Recall that a context value of 1 is highly unsatisfactory while a context value of 5 is an over-specification (Table 3-3). In this example, for the revolute joint, the overshoot context value was raised from 1 to 5, while the rise time was reduced from a context value of 5 to 2. There is a trade-off between the overshoot and the rise time. The offset was acceptable at every step of tuning. For the prismatic joint, the reduction of the rise time from a context value of 5 to 4 has allowed an increase in the context value of the overshoot from 1 to 5. The corresponding updated PID gains, after each tuning step, are shown in Figure 4-13. In the case of the prismatic joint, the inference engine called for a reduction of the proportional gain and an increase of the derivative gain. Note that the response converges more rapidly, in the case of the revolute joint. For both joints, since the offset was negligeable, the rules driving the integral gain were not fired. 57 slew and deployment time histories; (b) end-effector path in the Cartesian space. 58 time (s) Desired' -i 1 gure 4-9 Pick-and-place operation using rigid manipulator with initial tuning: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. 59 Figure 4-10 Pick-and-place operation using rigid manipulator with auto-tuning: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. 60 d(cm) 3r Step 1 2.5 1.5 0.5 0 1 2 3 time (s) d (cm) Step 4 3 r — 1 2 3 4 5 time (s) d(cm) 3r Step 2 Step 3 2.5 2 1.5 1 0.5 0, 1 2 3 time (s) d(cm) Step 5 1 2 3 time (s) (a) a 8 7 6 5 4 3 2 I Step 1 2 3 time (s) Step 4 2 3 time (s) a 8: 7. 6 5 4 3 2 1 0, Step 2 a 2 3 time (s) Step 5 2 3 time (s) « 8 7 6 5 4 3 2 1 0, Step 3 1 2 3 time (s) Step 6 2 3 time (s) (b) Figure 4-11 Step responses at the pick position, with payload, during tuning of the: (a) prismatic joint; (b) revolute joint. 61 (b) Figure 4-12 Evolution of context values with the tuning steps for: (a) prismatic joint; (b) revolute joint. 62 KP 1 2 0 -1 1 0 -8 0 h 7 0 r 3 4 Tuning Steps KI 0 . 4 0 . 2 Prismatic Joint 0 * -- 0 . 2 h - 0 . 4 2 3 4 Tuning Steps 2 3 4 5 6 Tuning Steps (a) 3 4 5 Tuning Steps KI 0 . 4 0 . 2 | -Revolute Joint o* - 0 . 2 - 0 . 4 2 3 4 5 Tuning Steps 2 3 4 5 Tuning Steps (b) Figure 4-13 Evolution of PID gains with the tuning steps for: (a) prismatic joint; (b) revolute joint. 63 4.4.3 Results for flexible model The next logical step is to assess the effect of joint flexibility. As pointed out before, the revolute joint is modeled as shown in Figure 4-3. The simulation results, without initial tuning, with initial tuning, and with automatic tuning are shown in Figure 4-14. The robot behavior depends largely on the choice of the joint stiffness, joint damping, and rotor inertia values. Recognition of the fact that the prototype manipulator is rather stiff helped in the selection of some parameter values. Note that the results are similar to those obtained with the rigid model, i.e. the tuning performance is virtually unaffected by the presence of flexibility at the joint. The reason could be that the controller gain provides sufficient stiffness to the system thus essentially compensating for the physical flexibility in the revolute joint. 64 l . 5 r Figure 4-14 Pick-and-place operation using a flexible manipulator with: (a) no tuning; (b) initial tuning; (c) auto-tuning. 6 5 4.5 Trajectory Tracking 4.5.1 Introduction In the case studies presented now, the single-unit manipulator is made to track a square trajectory in a clockwise sense, in the horizontal plane (Figure 4-15). The robot starts fully retracted at the lower-left corner 'A' so that the effect of the necessary tuning could be fully appreciated. The length of the square is chosen so that the manipulator would be completely extended at the upper-right corner, again to fully exploit the tuning capability of the hierarchical control system. 78 cm Figure 4-15 Tracking of a square path, in the clockwise sense, starting from corner ~A'. As before, both links are 1 m long, and each weighs 2 kg. The length of each side of the square is about 78 cm. A point-mass payload of 3 kg is located at the tip of the second link. In the first simulation, the joint flexibility and damping are neglected. In the second case, flexibility and damping are present. The flexibility of the revolute joint is modeled as in Section 4.4 (i.e., .£=800 Nm/rad, C=10 Nm.s/rad) and the rotor has an inertia of 2 kg-m2. The desired initial, intermediate, and final positions of the robot are shown in Table 4-2. The manipulator is given 5 seconds to track each side of the square. As before, a position profile represented by a fifth order polynomial is used for point interpolation, allowing the specification of both the initial and the final values of velocity and 66 acceleration to be zero. At successive corners, the manipulator comes to a complete rest. The algorithm then decides if some additional tuning would be needed, following the same procedure as described in the previous section (i.e., maximum average position error allowed in the Cartesian space during tracking is 4 mm; maximum position error allowed is 7 mm). The end position of the manipulator, after tracking one side, is maintained as the starting position for tracking the next side; thus, some initial position error may be present. The limits imposed on the control gains are identical to those used in Section 3.4. Table 4-2 Desired positions of the robot at the corners of the square trajectory. Desired Value A B C D a n 0 39.4 24.3 0 d (m) 0 0.29 1.0 0.82 end-effector 1.0 1.0 1.82 1.82 x (m) end-effector 0 0.82 0.82 0 y(m) 4.5.2 Results for rigid model Response without tuning First, the manipulator is made to track the square trajectory without any initial tuning. The initial PID gains are chosen somewhat arbitrarily, as in Section 4.3. The response of the robot in the joint and Cartesian spaces is shown in Figure 4.16. The performance may be judged quite poor for high precision applications, as the maximum and average errors are around 4.5 cm and 1.1 cm, respectively. Response with initial tuning Next, at the starting position of the manipulator, the control parameters are tuned by applying a sequence of step inputs to the joints and analyzing the responses through the servo experts of the supervisory control system. The response in the joint and Cartesian spaces is shown in Figure 4-17. The performance of the robot has improved, 67 but remains unacceptable for high-precision tasks, the maximum and average errors being approximately 2.4 cm and 0.8 cm, respectively. Response with auto-tuning In the present case, the trajectory is followed subject to both initial and automatic tuning of the PID controller. Depending on the performance, extra tuning could be carried out at the corners of the square. The response of the manipulator, in the joint and Cartesian spaces, is shown in Figure 4-18. The performance is seen to be quite satisfactory now, since the maximum and average errors are 1.4 cm and 0.6 cm, respectively. Again, it appears that additional tuning of the controller parameters is beneficial in achieving good performance of the manipulator, when tracking a trajectory. 4.5.3 Results for flexible model The effects of joint flexibility of the manipulator are studied now, through further simulations. Results, without initial tuning, with initial tuning, and with automatic tuning are shown in Figure 4-19. As in the case of the pick-and-place operation, the results are similar to those obtained with the rigid model. The tuning performance is unaffected by the presence of flexibility at the joint. As explained earlier, this may be attributed to the increase in effective stiffness of the joint due to controller gains. For the auto-tuning case, the peak and average errors were confined to 1.3 cm and 0.6 cm, respectively. 68 gure 4-16 Trajectory tracking using a rigid manipulator in the absence of tuning of the controller: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. 69 8 . 1 0 , , 12 time (s) 0.8 r-0.7 | -0.6 0.5 h 0.4 y(m) 0.3 h 0.2 h 0.1 h -0.1. (a) J 1 I I I I I I I 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 x (m) (b) gure 4-17 Trajectory tracking using a rigid manipulator with initial tuning: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. 70 40 30 0° 2 0 10 0 -10 • 1 0 , ^ 1 2 time (s) 14 16 18 20 0.8 r 0.7 0.6 |-0.5 -0.4 h y(m) 0.3 h 0.2 h 0.1 h -0.1 8 . 1 0 , , 12 time (s) (a) _L 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 X (m) (b) Figure 4-18 Trajectory tracking using a rigid manipulator with auto-tuning: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. 71 1.1 1.2 1.3 1.4 1.5 1.6 1.7 x (m) (a) 1.8 y(m) 0.8 y(m) 0.8 r 1.2 1.3 1.4 1.5 x (m) (b) 1.6 1.7 1.8 Figure 4-19 Trajectory tracking using a flexible manipulator with: (a) no tuning; (b) initial tuning; (c) auto-tuning. 72 5. CONTROL OF A SPACE-BASED MANIPULATOR The hierarchical control structure discussed in Chapters 4 and 5 is now applied to a space-based planar deployable manipulator (Figure 5-1). The robot, with deployable and slewing links, is positioned on an orbiting flexible platform. It is modelled and simulated using an order ./V algorithm based on the Lagrangian approach and incorporating favorable velocity transformations. A nonlinear controller based on the feedback linearization technique (FLT) combined with proportional-derivative (PD) control, is used to regulate the rigid degrees of freedom. The top-level intelligent tuner is developed from a valid set of linguistic rules for adjusting the proportional-derivative (PD) servos, using fuzzy system concepts. The performance of the hierarchical control system is evaluated on the basis of the simulation results. Payload Platform Figure 5-1 Space-based deployable manipulator. 73 5.1 Description of the General System The equations governing the dynamics of a space-based robotic system are highly nonlinear, nonautonomous, and coupled, and can be expressed in the general form where M is the system mass matrix; q is the vector of generalized coordinates; F contains the terms associated with the gravitational, centrifugal, Coriolis, elastic, and internal dissipative forces; and Q represents generalized forces, including the control inputs, corresponding to the generalized coordinates. Equation (5.1) describes the inverse dynamics of the system, i.e. it can determine the input forces for specified motions. For numerical simulation purposes, forward dynamics of the system is required, and Eq.(5.1) must be solved for d2q/dt2; thus For a system composed of N bodies, the solution of these equations of motion generally requires order (N) arithmetic operations. To reduce the computational effort, the development of an order N formulation has been the focus of several studies. The method used here, based on the Lagrangian approach and involving velocity transformations, was developed by Caron [15]. For a system of TV bodies, each comprising of a slewing and a deployable link, the generalized coordinates for each body are taken as M(q,t)q + F(q,q,t) = Q(q,q,t) (5.1) q = M-'(Q-F) (5 .2) 9i = h i = l,2„ ,N (5.3) 74 where the vector rf, represents the translation of F, from the tip of body (i - 1) due to the prismatic joint; at is the amount of actuator rotor rotation, i.e. the controlled rotation of the revolute joint; y/i is the inertial angle describing the orientation of F, relative to Fo; St is the vector of time-dependent generalized coordinates describing the elastic deformation of the z'th body; and /, represents the length of the z'th body (Figures 5-2, 5-3). It is often required to specify some of the generalized coordinates, in order to satisfy the system constraints. These coordinates are prescribed by constraint relations, which are introduced in the equations of motion through Lagrange multipliers. Consequently, when constrained, Eq. (5.1) becomes Mq + F = Qdu + PcA (5.4) where « is a vector containing the actuators forces and torques, and Q4 is the matrix assigning the components of u to the actuated variables (Q = Qdu). A is the vector containing the Lagrange multipliers, and P 0 is the matrix assigning the multipliers to the constrained equations. In order to find the values of the Lagrange multipliers and achieve the desired constraints, Eq.(5.4) is rewritten as q + Fg -F"u = FsA (5.5) where F s = M 1 F, F" = M Q d, and F s = M P c. Separating the specified variables qs from the unconstrained generalized coordinates (qg), we can write 75 BODY z-l o Figure 5-2 Schematic diagram of a multibody system in chain topology: inertial frame F0, body frame Fh and vectors used to define an elemental mass. A*-l BODY z-l (b) Figure 5-3 Orientation of the body-fixed frames: (a) relative to the inertial reference frame; (b) relative to the preceding frame. 76 From the equation associated with the specified coordinates, q,+F,'-F,"u = F,'K , (5.7) the Lagrange multipliers can be determined as A=Fr'(q,+F/-F;u) . (5.8) Here the position of the mobile base is constrained. The formulation developed by Caron is valid for serial manipulators consisting of an arbitrary number (N) of flexible, slewing, and deployable units. The formulation allows variation of geometric, inertial, and stiffness characteristics along the manipulator. The model accounts for flexibility and energy dissipation at the revolute joints. The coupling effects between the orbital, librational, slewing, deployment, and vibrational degrees of freedom, associated with the platform and the manipulator, are also taken into consideration. The elastic deformations of the manipulator and the platform are discretized using assumed modes for each component of the system. Deformation of the z'th body is expressed as the product of spatially varying admissible shape functions $ and time-dependent generalized coordinates The elastic displacement of the z'th body is expressed as 'u,~ o~ . v / _ 0 h . A . where w,- and v, are the longitudinal and transverse elastic displacements, respectively, of an elemental mass located in the z'th body. The platform is assumed to behave as a free-free Euler-Bernoulli beam, and the links are modelled as Euler-Bernoulli cantilever 77 beams with tip masses. For the transverse vibration of the z'th body, the admissible shape functions for the kth mode are of the form [15] 0iyk(Xi>h) = Alkl s i n ( 7 y > V li J + Aik2 c o s AikXi V h J + A m s i n h Aikxi + 4^^ 4 c o s h /iikXi (5.10) where XJ is the position along and Atig and ^ depend on the boundary conditions of the z'th body. Since /, is taken as a generalized coordinate, it should be noted that the shape functions vary with time. 5.2 Intelligent Hierarchical Control System The hierarchical structure used here, for manipulator control is essentially the same as before. To recapitulate, it combines the advantages of a crisp, high-bandwidth, direct controller with those of a soft, knowledge-based, supervisory controller. The structure consists of three main layers. Figure 5-4 presents the hierarchical structure of the three-level controller. Note, now the conventional control strategy is a synthesis of FLT and PD. Bottom Layer: FLT with PD The first layer handles direct control of the manipulator joints, and deals with high-resolution information; i.e. the data coming from the optical encoders attached to the closed-loop servomotors of the robot. This type of information is characterized by large amounts of individual data points collected and produced at high frequency, which are precise and of high resolution. In the present study, a direct controller based on the feedback linearization technique (FLT) is designed to regulate the rigid dynamics of the manipulator and platform. Flexible degrees of freedom are only passively regulated through coupling. This technique decouples the system, linearizes it, and uses a proportional-derivative (PD) feedback loop to achieve the desired dynamical behavior. Effectiveness of the controller is assessed on the original, fully flexible system (Figure 5-5). 78 For a rigid system, Eq. (5.4) reduces to M r H + Fr = Qiu + PCA (5.11) where the subscript r (rigid) indicates that the contributions from link flexibility have been removed. On substituting for A using Eq. (5.8), Eq. (5.11) becomes Mrq + F'r = Qdru (5.12) where: and Fr =Fr-P<F;r (qs+Ffr) Solving for d2q/dt2, one obtains where: and q = -F~;+Qdru F~; = M-,'Fr , Equation (5.17) can be rewritten as 9 c' + 3u_ Q-dru (5.13) (5.14) (5.15) (5.16) (5.17) (5.18) where qc and qu are the controlled and uncontrolled generalized coordinates, respectively. Considering only the controlled generalized coordinates, one has qc = -Frc +Qdrcu (5.19) Equation (5.19) defines the nonlinear effects inherent in the rigid degrees of freedom. To ensure a robust behavior of the controller, d2qc/dt2 is taken as 79 9c = 9„ +KD(qd -qc) + KP(qd -qc) (5.20) where qj contains the desired values for qc, whereas the diagonal matrices KD and Kp of dimensions N x TV contain the velocity and position controller gains, respectively, iV being the total number of bodies. On equating Eqs. (5.19) and (5.20) and solving for the control input «, one obtains u = {Q,rcyfK+9,+KD(^-qc) + KP(qd-qc)J (5.21) Controller Tuning Low-Level Controller (FLT with PD) Level 3 Intelligent Supervisor Level 2 Servo-Expert Level (Information Abstraction) Level 1 Encoder Encoder Revolute Joint I Prismatic Joint Actuator Actuator Figure 5-4 Schematic representation of the three-level controller. Intermediate Layer: Servo-Expert The data processing for monitoring and evaluation of the system performance occurs in this layer, as explained in Chapter 3. High-resolution, crisp data from sensors 80 are filtered to allow an abstract representation of the current state (context) of the manipulator. Top Layer: Intelligent Supervisor Based on the sensory information that is abstracted by the servo-expert layer and fed into the third layer, the intelligent supervisor will make the appropriate inferences. These knowledge-based decisions are translated into control actions, which are transmitted back to the intermediate layer for proper scaling. Figure 5 - 5 Block diagram showing the FLT-based controller used for regulating the rigid body motion of the manipulator system. 81 5.3 Results and Discussion Several simulation experiments were carried out using a manipulator model, with the knowledge-based hierarchical control structure described in the previous section. The first task involves a pick-and-place operation, while the second task corresponds to the tracking of a square trajectory. The Fortran program developed by Caron was modified for the present study, and files representing the higher layers of the control hierarchy were developed and incorporated. A single-module manipulator, that is, with one revolute joint and one prismatic joint was used to assess effectiveness of the controller. The manipulator, supported by a flexible platform, is in orbit around the Earth. The acceleration vector 2 2 d q/dt was integrated numerically using Gear's method, which is well suited for stiff systems of ordinary differential equations. The numerical data used in the analysis are summarized as follows: The orbit is circular at an altitude of 400 km with a period of 92.5 min. The geometry of the platform is cylindrical, with axial to transverse inertia ratio of 0.005; mass = 120,000 kg; length = 120 m; and flexural rigidity (EIP) = 5.5 x 105 Nm2. Mass of the manipulator revolute joint = 20 kg, moment of inertia = 10 kg m2, and stiffness (K) = 1 x 104 Nm/rad. The manipulator links (slewing and deployable) have a cylindrical geometry with axial to transverse inertia ratio of 0.005, mass = 200 kg, length = 7.5 m, and flexural rigidity (EIS, EI^) = 5.5 x 105 Nm2. The payload ratio is equal to 2, meaning the mass of the payload is twice that of the manipulator unit (slewing plus deploying links), i.e. 800 kg. In the results presented here, the longitudinal elastic deformations of the bodies, being extremely small, are neglected, as well as the dynamics of the mobile base. The platform is initially oriented perpendicular to the local vertical, i.e., in an unstable equilibrium position. The desired position, either in the joint space for the pick and place operation, or in the Cartesian space for the trajectory tracking, is generated by a sine-on-ramp profile, (5.22) 82 It assures zero velocity as well as zero acceleration at the beginning and end of the maneuver. In Eq.(5.22), rrepresents time, and Aris the time allowed for a maneuver of amplitude Ap. 5.3.1 Pick-and-place operation A pick-and-place operation is a common task carried out by manipulators. It consists of picking an object and bringing it to a desired position, within a specified time interval, with practical limits on initial and final velocities and accelerations. Here the single-unit manipulator is given a pick-and-place task (Figure 5-6). The manipulator is fully retracted in the pick position, parallel to the platform length, and is almost fully extended in the place position. It stops at a way-point, which is an intermediate position from which the guarded motion begins. In this position, further tuning of the controller will take place, if required. It is highly desirable that the motion from the way-point to the final position be smooth (guarded motion). The initial, intermediate, and final positions are specified in the joint and Cartesian spaces as given in Table 5-1, with d representing the length of the deployable link. Place Position Guarded Motion Way Point 1.5 m Figure 5-6 A pick-and-place operation. 83 Table 5-1 Desired initial, intermediate, and final positions of the space-based robot. Desired Values Pick Position Way Point Place Position a(°) 0 36 40 d(m) 0 6.57 7.3 end-effector x (m) 7.5 11.4 11.3 end-effector y (m) 1.5 9.8 11.0 The starting gain values for the PD control were selected based on experience. Some tuning of the two joints should take place before the tracking starts in the pick position. The tuning consists of analyzing the response to a step input of 5 cm for the prismatic joint, and of 5° for the revolute joint, with respect to the performance requirements of rise time RSTM, overshoot OVSM, and steady-state error OFSM (Section 3.2). The gains are updated appropriately to approach reference values. The manipulator is allowed 80 seconds to reach the way-point where it comes to a complete stop. A sinusoid-on-ramp displacement profile is used for point interpolation. The algorithm then decides if some further tuning is needed for the revolute and prismatic joints. If the average error in the joint space during tracking exceeds a specified limit (0.5°, 3cm), or if the maximum error is greater than a certain threshold (1°, 7cm), extra-tuning is judged necessary. The manipulator is then given 50 seconds to reach the place position. If, during a tuning sequence, the gains reach some steady state values, the tuning sequence will stop. Response without tuning First, the manipulator is made to conduct a pick-and-place operation without any initial tuning of the servo parameters. The servo gains used here may not be optimal over a wide range of the workspace, especially if the mass of the payload varies from one task to another. The time response in the joint space is shown in Figure 5-7(a), and the end-effector path in the Cartesian space is presented in Figure 5-7(b). The performance may be judged as poor and unacceptable, depending on the intended application. The maximum error in the Cartesian space for the guarded motion exceeds 19 cm and the average error 11 cm (Table 5-2). The errors in the joint space show that the prismatic 84 Total 30 h Rotation (°) 20 h 16 14 Length (m) 12 10 h 120 t . , 160 t (si 200 240 280 120 t ( s ) 160 (a) 200 240 280 10h y (m) 5 h 11 12 Desired Trajectory Actual Trajectory Figure 5-7 15 Pick-and-place operation in absence of servo tuning: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. 85 joint, rather than the slewing joint, is responsible for the poor performance. When extra-tuning is allowed at the way-point, the sotfware indeed decides to tune only the prismatic joint, as demonstrated later. Response with initial tuning Next, the control parameters of the manipulator unit are tuned before the start of the operation. The response in the joint space is shown in Figure 5-8(a) and the end effector path in the Cartesian space is indicated in Figure 5-8(b). In this case the maximum and average errors for the guarded motion are about 14 cm and 8 cm, respectively (Table 5-3). Although the performance has improved, it may still be considered unacceptable if high precision is needed. Response with auto-tuning In this simulation, the manipulator is controlled in the automatic tuning mode. That is, depending on the performance during the first part of the trajectory, some tuning may be done at the way-point. In this case, tuning of the prismatic joint was required at the way-point. Results, in the joint and the Cartesian spaces, are shown in Figure 5-9. The guarded motion, from the intermediate way point to the place position, is smoother and thus the performance is more satisfactory. The maximum and the average errors for the guarded motion are about 12 cm and 7 cm, respectively, as seen from Table 5-4. Table 5-2 Position errors of the manipulator, in the Cartesian and joint spaces, in the absence of tuning. Fast Motion Guarded Motion eav(mm) 153 117 emax (mm) 466 195 Average error (mm): d 132 99 Maximum error (mm): d 447 195 Average error (°): a 1.6E-4 2.5E-4 Maximum error (°): a 5.1E-4 5.1E-4 86 50 40 Total 30 Rotation ( ° ) 20 Revolute 16 14 Length (m) 12 10 Prismatic 1 0 h y (m) 1 2 0 w , 160 t(s) 200 240 Desired Actual 1 2 0 t(s) 1 6 0 (a) 200 240 11 10 a 11 12 280 280 Desired Trajectory Actual Trajectory x (m) (b) 1 5 Figure 5-8 Pick-and-place operation with initial tuning of the servos: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. 87 Desired Actual 16 14 Length (m) 1 2 Prismatic 120 t , . 160 t(s) (a) 200 240 280 10 y (m) (j I L 11 1 2 Desired Trajectory Actual Trajectory Figure 5-9 15 Pick-and-place operation with auto-tuning of the servos: (a) slew and deployment time histories; (b) end-effector path in the Cartesian space. 88 Table 5-3 Position errors of the manipulator, in the Cartesian and joint spaces, in the presence of initial tuning. Fast Motion Guarded Motion env (mm) 96 84 emax (mm) 270 144 Average error (mm): d 67 65 Maximum error (mm): d 213 118 Average error (°): a 5.5E-4 2.5E-4 Maximum error (°): a 6.8E-3 5E-4 Table 5-4 Position errors of the manipulator, in the Cartesian and joint spaces, in the presence of auto-tuning. Fast Motion Guarded Motion e„v(mm) 96 71 emax (mm) 270 128 Average error (mm): d 67 48 Maximum error (mm): d 213 88 Average error (°): a 5.5E-4 2.5E-4 Maximum error (°): a 6.8E-3 5E-4 The tuning of the servo controller parameters of the manipulator system involves the analysis of the response of the joints to a series of step-inputs. The response of the revolute joint to a sequence of six step-inputs at the pick position is shown in Figure 5-10. The response changes toward the desired one, as specified by the reference model. The evolution of the context variables and the PD gains is shown in Figures 5-11 and 5-12, respectively. Note that a context value of 1 corresponds to highly unsatisfactory performance and a value of 5 leads to an over-specification. In the case of the revolute joint, the context value for the rise time increases from 1 to 2 while the context value for the overshoot is decreased from 5 to 4. Based on the context values, the proportional gain is increased while the derivative gain is decreased. In the case of the prismatic joint, the 89 90 Revolute Joint: Rise Time Context m B-2 3^ . 4 5 Tuning Steps Prismatic Joint: Rise Time Context B—-e—e- -B B-2 4 6 8 10 12 Tuning Steps 5* B- -B B-Revolute Joint: Overshoot Context 2h 1,L 2 ^3. 4 5 Tuning Steps _i 6 5& B B B B-Prismatic Joint: Overshoot Context 2 4 6 _ 8 10 12 Tuning Steps 5r Revolute Joint: Offset Context _i i L 2 ^ 3. 4 5 6 Tuning Steps §<3r—B B B B B-4h 2h Prismatic Joint: Offset Context 2 4 .6 8 ° ft ° ft Tuning Steps Figure 5-11 Evolution of the context variables with the successive tuning steps. 91 Tuning Steps Tuning Steps Revolute Joint: KD 2 3 4 5 Tuning Steps Prismatic Joint: KD 4 6 8 10 12 Tuning Steps Figure 5-12 Evolution of the PD gains with the successive tuning steps. 92 context value also increases from 1 to 2 while that for the overshoot decreases from 5 to 3. The context value for the offset reduces since the steady state is not quite reached. Hence, the proportional gain is increased while the derivative gain is decreased. The results suggests as expected that some additional tuning helps to improve the tracking abilities of a manipulator system. 5.3.2 Trajectory tracking Here the single-unit manipulator is made to track a square trajectory in a clockwise sense, in the horizontal plane (Figure 5-13). The robot starts fully retracted at the lower-left corner 'A ' of the square, so that the effect of needed tuning could be fully appreciated. The length of a side of the square is so chosen that the manipulator would be close to its fully extended configuration at the upper-right corner, again to fully exploit the tuning capability of the hierarchical control system. The manipulator is allowed 75 seconds to track each side of the square. As before, a position profile represented by a sine-on-ramp is used for point interpolation. At successive corners, the manipulator comes to a complete rest. The algorithm then decides if some additional tuning is be needed for the two joints (revolute and prismatic), following the same procedure as described in the previous section (i.e. maximum average errors allowed in the joint space during tracking are 0.5°, 2 cm; maximum errors 1°, 4 cm). As before, the manipulator is given extra time to precisely reach the end point. Response without tuning First, the manipulator is made to track a square trajectory without any initial tuning. The initial PD gains are the ones selected by Caron [15]. The response in the Cartesian space is shown in Figure 5-14. The performance may be judged quite poor if high-precision is required (Table 5-5). 93 Figure 5-13 Tracking of a square path, in the clockwise sense, starting from the corner A Table 5-5 Errors in the Cartesian and joint spaces in the absence of servo tuning. Side 1 (A to B) Side 2 (B to Q Side 3 (C to 73) Side 4 (D to A) eav(mm) 106 35 128 2 emnx (mm) 300 63 300 5 Average error (mm): d 97 9.2 74 0.2 Maximum error (mm): d 298 24.4 257 1 Average error a0 1.7E-4 2.5E-4 1.5E-4 4E-9 Maximum error a0 5.1E-4 5.0E-4 5.1E-4 5E-8 Response with initial tuning Next, at the starting position, the control parameters are tuned by applying a sequence of step inputs to the joints and analyzing the responses using the knowledge-based servo experts. The response in the Cartesian space is shown in Figure 5-15. The performance has improved but may be judged unacceptable for high precision tasks (Table 5-6). 94 Response with auto-tuning In the present simulation, the trajectory is followed with initial and automatic tuning. Depending on the performance, extra tuning could be carried out at the corners. In this case study, extra-tuning was done at corners A, B, and D. Consequently, the performance has improved, as can be seen from Figure 5-16 and Table 5-7. Table 5-6 Errors in the Cartesian and joint spaces with initial tuning of the servos. Side 1 (A to B) Side 2 (B to Q Side 3 (C to D) Side 4 (D to A) eav (mm) 58 35 98 2 emax (mm) 136 63 234 5 Average error (mm): d 47 8 33 0.1 Maximum error (mm): d 130 18 133 0.6 Average error a0 5.9E-4 2.5E-4 1.5E-4 2E-9 Maximum error a0 6.8E-3 5E-4 5E-4 2E-8 Table 5-7 Errors in the Cartesian and joint spaces with auto-tuning of the servos. Side 1 (A to B) Side 2 (B to Q Side 3 (C to D) Side 4 (D to A) eav (mm) 58 35 90 2 emax (mm) 136 62 215 5 Average error (mm): d 47 7 21 0.1 Maximum error (mm): d 130 17 86 0.5 Average error a0 5.9E-4 2.5E-4 1.5E-4 1E-10 Maximum error a0 6.8E-3 5E-4 5.0E-4 4E-10 95 8 5 h j(m) 4 h 3 h 2 h Desired Trajectory Actual Trajectory _L 10 11 x (m) 12 13 14 Figure 5-14 Trajectory tracking in the absence of controller tuning: end-effector path in the Cartesian space. 7 h I 6 h y (m) - Desired Trajectory — Actual Trajectory _L 10 11 x (m) 12 -1 13 14 Figure 5-15 Trajectory tracking with initial tuning of the controller: end-effector path in the Cartesian space. 96 8 ir 6 h y(m) 5 h Desired Trajectory Actual Trajectory 4 h 3 h 2 h _L 10 11 x (m) 12 13 14 Figure 5-16 Trajectory tracking with auto-tuning of the controller: end-effector path in the Cartesian space. 97 5.4 Concluding Remarks Space-based simulation studies were carried out using a single-module robot under the knowledge-based hierarchical control system consisting of three layers. The low-level conventional controller, used for the servomotors of the robot, consisted of the feedback linearization technique (FLT) combined with proportional-derivative (PD) control. A decision table was developed off-line, based on fuzzy logic, for tuning the controller parameters, and this considerably reduced the real-time computational burden. Pick-and-place and trajectory tracking operations were studied. The results show that extra tuning can significantly improve the performance of the manipulator system. 98 6. EVOLUTION OF THE KNOWLEDGE BASE. Performance of the hierarchical control system depends on the knowledge base that is used, in the top layer, for tuning of the direct controllers. This chapter discusses various aspects involved in the evolution of the rule base and membership functions, within the knowledge base. An example is used to evaluate sensitivity of the performance, of the knowledge-based control system, to changes in the process of establishment of a decision table. 6.1 Case Study The sensitivity of the control system performance to changes in the rulebase and the membership functions is studied now, using the following example (Figure 6-1): The manipulator picks a payload, say from the bay of a docked space shuttle, while the manipulator is parallel to the platform. It goes through a 45° slew maneuver, followed by the tracking of a straight line parallel to the platform. Finally, it slews through 45° depositing the payload at the maintenance depot of the station. The desired key positions are presented in Table 6-1. y A D > x Figure 6-1 Example task. The manipulator is given 100 seconds to perform each segment of the task; i.e. from A to B, B to C, and C to D. The system parameters are as described in Section 5.3. The 99 payload ratio is 0.5. The initial gains are the ones used by Caron [15] for the control study that was performed on the same system. Table 6-1 Desired initial, intermediate, and final positions of the robot end effector. Desired Values Position A Position B Position C Position D a?) 0 45 135 180 d (m) 6.5 6.5 6.5 6.5 end-effector x (m) 14 9.9 -9.9 -14 end-effector y (m) 1.5 11.4 11.4 1.5 6.2 Original Rulebase and Membership Functions The original rulebase for control parameter tuning, as used in the space-based simulations, is given in Figure 6-2. If RST is HIUN then DKP=PL, DKD=NS, or if RST is NDIM then DKP=PM, DKD=NS, or if RST is ACCP then DKP=ZR, DKD=ZR, or if RST is INSP then DKP=ZR, DKD=ZR, or if RSTis OVSP then DKP=NS, DKD=PS. If OVS is HIUN then DKP=NL, DKD=PL, or if OVS is NDIM . then DKP=NM, DKD=PM, or if OVS is ACCP then DKP=NS, DKD=ZR, or if OVS is INSP then DKP=ZR, DKD=ZR, or if OVS is OVSP then DKP=ZR, DKD=NS. If OFS is HIUN then DKP=PM, DKD=ZR, or if OFS is NDIM then DKP=PS, DKD=ZR, or if OFS is ACCP then DKP=ZR, DKD=ZR, or if OFS is INSP then DKP=ZR, DKD=ZR, or if OFS is OVSP then DKP=NS, DKD=ZR. Figure 6-2 Original rulebase used for servomotor tuning. 100 An important step in the development of a fuzzy logic controller is the selection of proper membership functions for the input and output variables. A straightforward and usual way of establishing a membership function for a particular fuzzy set is to first discretize the universe of discourse, and then guess a degree of membership for each value in the universe. A common procedure is to use a triangular shape function with a peak (value of unity) at the most representative value of the fuzzy quantity. Tables 6-2 and 6-3 present the membership functions that were used in the space-based simulation studies of Chapter 5. Using these linguistic rules and membership functions, a decision table was computed off line (Table 6-4) using the procedure described by de Silva [2] Table 6-2 Original membership functions of the condition variables: Set IA. RST, OVS, OFS 1 2 3 4 5 HIUN 1 0.6 0.2 0 0 NDIM 0.6 1 0.6 0.2 0 ACCP 0.2 0.6 1 0.6 0.2 INSP 0 0.2 0.6 1 0.6 OVSP 0 0 0.2 0.6 1 Table 6-3 Original membership functions of the action variables: Set 2A. DKP, DKD -3 -2 -1 0 1 2 3 NL 1 0.9 0.8 0.7 0.6 0.5 0.4 NM 0.9 1 0.9 0.8 0.7 0.6 0.5 NS 0.8 0.9 1 0.9 0.8 0.7 0.6 ZR 0.7 0.8 0.9 1 0.9 0.8 0.7 PS 0.6 0.7 0.8 0.9 1 0.9 0.8 PM 0.5 0.6 0.7 0.8 0.9 1 0.9 PL 0.4 0.5 0.6 0.7 0.8 0.9 1 Using the decision table obtained with the original rulebase and membership functions, the task described in the beginning of this chapter was simulated. The resulting position errors of the manipulator, in the Cartesian space, are presented in Tables 6-5 and 6-6, with and without some initial tuning at position A, respectively. 101 Table 6-4 Original decision table for servo parameter tuning. Tuning Action Condition DKP DKD RST=HIUN 0.4 -0.2 RST=NDIM 0.3 -0.2 RST=ACCP 0 0 RST=INSP 0 0 RST=OVSP -0.2 0.2 OVS=HIUN -0.4 0.4 OVS=NDIM -0.3 0.3 OVS=ACCP -0.2 0 OVS=INSP 0 0 OVS=OVSP 0 -0.2 OFS=HIUN 0.3 0 OFS=NDIM 0.2 0 OFS=ACCP 0 0 OFS=INSP 0 0 OFS=OVSP -0.2 0 Table 6-5 Manipulator errors in the Cartesian space when tuning is not used. Errors in the Cartesian space A-^B C Average error (mm) 56 36 57 Maximum error (mm) 119 59 124 Table 6-6 Manipulator errors in the Cartesian space when initial tuning is used. Errors in the Cartesian space A^B B^C C^D Average error (mm) 35 • 33 35 Maximum error (mm) 65 59 67 6.3 Modified Membership Functions First, we will see how changes in the membership functions affect the performance of the manipulator. 102 6.3.1 Condition variables As a first step, only the membership functions of the condition variables are changed, as given in Table 6-7. Note that the membership functions have been made less sharp (i.e. fuzzier) and the level of overlap between the adjacent fuzzy states has been increased, while keeping the original rulebase and the original membership functions for the action variables. The corresponding results, with initial tuning, are presented in Table 6-8. Error results suggest that the change in the condition membership functions has very little effect on the control performance. Table 6-7 Modified membership functions of the condition variables: Set IB. RST, OVS, OFS 1 2 3 4 5 HIUN 1 0.7 0.4 0.1 0 NDIM 0.7 1 0.7 0.4 0.1 ACCP 0.3 0.7 1 0.7 0.3 INSP 0 0.3 0.7 1 0.7 OVSP 0 0.1 0.4 0.7 1 Table 6-8 Manipulator errors in the Cartesian space with the condition membership function set IB. Errors in the Cartesian space A->B B^C C^>D Average error (mm) 37 33 37 Maximum error (mm) 69 59 71 Next, membership functions of the condition variables are further modified as given in Table 6-9. Note that the overlap between the fuzzy sets and the fuzziness of an individual membership function have been increased, while keeping the original rulebase and the membership functions for the action variables unchanged. The corresponding position errors for the manipulator are given in Table 6-10. Table 6-9 Modified membership functions of the condition variables: Set 1C. RST, OVS, OFS 1 2 3 4 5 HIUN 1 0.8 0.6 0.4 0.2 NDIM 0.8 1 0.8 0.6 0.4 ACCP 0.6 0.8 1 0.8 0.6 INSP 0.4 0.6 0.8 1 0.8 OVSP 0.2 0.4 0.6 0.8 1 103 Table 6-10 Manipulator errors in the Cartesian space with the condition membership function set 1C. Errors in the Cartesian space A->B B->C C^D Average error (mm) 39 33 40 Maximum error (mm) 76 59 77 From the above results we see that the performance was only slightly better with the original settings, and the results are not quite sensitive to changes in the condition membership functions. 6.3.2 Action variables Next, keeping unchanged the original rulebase and membership functions for the condition variables, the membership functions of the action variables were modified as shown in Table 6-11, and the simulation was repeated. The position error results are given in Table 6-12. Note, the overlap between the fuzzy sets has been reduced and the fuzziness of the states has been decreased. Table 6-11 Modified membership functions of the action variables: Set 2B. DKP, DKD -3 -2 -1 0 1 2 3 NL 1 0.8 0.6 0.4 0.2 0 0 NM 0.8 1 0.8 0.6 0.4 0.2 0 NS 0.6 0.8 1 0.8 0.6 0.4 0.2 ZR 0.4 0.6 0.8 1 0.8 0.6 0.4 PS 0.2 0.4 0.6 0.8 1 0.8 0.6 PM 0 0.2 0.4 0.6 0.8 1 0.8 PL 0 0 0.2 0.4 0.6 0.8 1 Table 6-12 Manipulator errors in the Cartesian space with the action membership function set 2B. Errors in the Cartesian space A->B B -> C C^D Average error (mm) 34 32 34 Maximum error (mm) 62 59 65 104 As another example, the membership functions of the action variables were modified as shown in Table 6-13. In this case, the fuzziness and overlap of the fuzzy states have been further decreased. The corresponding position error results are given in Table 6-14. Table 6-13 Modified membership functions of the action variables: Set 2C. DKP, DKD -3 -2 -1 0 1 2 3 NL 1 0.7 0.4 0.1 0 0 0 NM 0.7 1 0.7 0.4 0.1 0 0 NS 0.4 0.7 1 0.7 0.4 0.1 0 ZR 0.1 0.4 0.7 1 0.7 0.4 0.1 PS 0 0.1 0.4 0.7 1 0.7 0.4 PM 0 0 0.1 0.4 0.7 1 0.7 PL 0 0 0 0.1 0.4 0.7 1 Table 6-14 Manipulator errors, in the Cartesian space with the action membership function set 2C. Errors in the Cartesian space B -> C C^D Average error (mm) 34 32 34 Maximum error (mm) 60 59 64 It is seen from the position error results that, as for the condition membership functions, the changes made to the action membership functions do not affect the performance of the manipulator control system in a significant manner. 6.4 Modified Rulebase In this section we keep the original membership functions for condition and action variables, but modify the rulebase. Modifications to rulebases could naturally arise in view of possible variation in knowledge from one operator to another. The effect of these variations on the performance of the control system is studied now. 105 6.4.1 Rulebase version 2 A modified rulebase is given in Figure 6-3. The changes made to the original rulebase in arriving at the present rulebase are shown in bold and underlined. The resulting position errors of the manipulator in the Cartesian space are presented in Table 6-15. They are comparable to the errors obtained with the original rulebase (Table 6-6). If RST is HIUN then DKP=PL, DKD=NM, or if RST is NDIM then DKP=PM, DKD=NS, or if RST is ACCP then DKP=PSJ DKD=ZR, or if RST is INSP then DKP=ZR, DKD=ZR, or if RST is OVSP then DKP=NS, DKD=ZR. If OVS is HIUN then DKP=NL, DKD=PM, or if OVS is NDIM then DKP=NM, DKD=PS, or if OVS is ACCP then DKP=NS, DKD=PS, or if OVS is INSP then DKP=ZR, DKD=ZR, or if OVS is OVSP then DKP=ZR, DKD=NS. If OFS is HIUN Xhen DKP=PM, DKD=ZR, or if OFS is NDIM then DKP=PS, DKD=ZR, or if OFS is ACCP then DKP=ZR, DKD=ZR, or if OFS is INSP then DKP=ZR, DKD=ZR, or if OFS is OVSP then DKP=NS, DKD=ZR. Figure 6-3 Modified rulebase (version 2) for servomotor tuning. Table 6-15 Manipulator errors in the Cartesian space with rulebase version 2. Errors in the Cartesian space A->B B^C C->D Average error (mm) 35 33 35 Maximum error (mm) 65 59 67 6.4.2 Rulebase version 3 Figure 6-4 shows the third version of the rulebase that was considered. Again, the modifications with respect to the original rulebase are shown in bold, underlined characters. Table 6-16 gives the resulting position errors of the manipulator in the Cartesian space. 106 Comparing Tables 6-6, 6-15, and 6-16, one can conclude that slight variations to the rulebase (control knowledge) that could arise naturally from one resource operator to another do not affect the system significantly. These results confirm the characteristic robustness of fuzzy logic-based decision making systems in general. If RST is HIUN then DKP=PL, DKD=NL, or if RST is NDIM then DKP=PM, DKD=NM, or if RST is ACCP then DKP=ZR, DKD=NS, or if RST is INSP then DKP=ZR, DKD=ZR, or if RST is OVSP then DKP=NS, DKD=PS. If OVS is HIUN then DKP=NL, DKD=PL, or if OVS is NDIM then DKP=NM, DKD=PM, or if OVS is ACCP then DKP=NS, DKD=PS, or if OVS is INSP then DKP=ZR, DKD=ZR, or if OVS is OVSP then DKP=ZR, DKD=NS. If OFS is HIUN then DKP=PM, DKD=ZR, or if OFS is NDIM then DKP=PS, DKD=ZR, or if OFS is ACCP then DKP=ZR, DKD=ZR, or if OFS is INSP then DKP=ZR, DKD=ZR, or if OFS is OVSP then DKP=NS, DKD=ZR. Figure 6-4 Modified rulebase (version 3) for servomotor tuning. Table 6-16 Manipulator errors in the Cartesian space with rulebase version 3. Errors in the Cartesian space A^B B -> C C^D Average error (mm) 35 33 36 Maximum error (mm) 66 59 68 6.5 Other Considerations. Several aspects that have potential impact on the performance of the knowledge-based decision making system are considered now. Specifically, we will address: choice of the condition variables; resolution of the condition and action variables; discretization of the universe of discourse; and conflict resolution. The choices that were made in the present study are justified here. 107 . Choice of condition variables The attributes RST, OVS, and OFS were selected as the condition variables because they carry sufficient information about the transient and steady state behavior of a motion control system. In particular, these quantities are commonly used in the control system practice to describe the response of a system to a step input, which is perhaps the most commonly used test input. Resolution of condition and action variables The resolution of a fuzzy quantity is the number of fuzzy states the associated fuzzy set can assume. Furthermore, the number of discretization levels is also chosen equal to the number of possible fuzzy states that a variable may take. For a fine tuning action, a high resolution would be desired, for both condition and action variables. The proper choice of fuzzy resolution would provide a compromise between the precision of tuning and computer memory storage requirements along with decision making speed. In particular, if an off-line decision table is used, it is the storage and memory requirements that would be influenced. In other words, increasing the resolution would improve the accuracy of tuning, but the operating bandwidth would decrease and the computational cost would increase. Based on previous work on this subject [25, 26], the resolution selected here is reasonable. Moreover, increasing the fuzzy resolution beyond a reasonable level may not significantly improve the performance of the system [2]. Discretization of the universe of discourse In the present study, the condition variables are allowed to assume one of five fuzzy states (HIUN, NDIM, ACCP, INSP, and OVSP). The universe of each fuzzy variable is also discretized to contain only five discrete points. However, this restriction need not apply. Similarly, although an action variable is allowed to take any of the seven fuzzy states (NL, NM, NS, ZR, PS, PM, and PS), the universe of each fuzzy value may be discretized to contain more than seven points. For reason of consistency and simplicity, the cardinality of the universe of discourse of a fuzzy quantity is made equal to the number of fuzzy states a corresponding condition or action variable can take (i.e. the fuzzy resolution). 108 Conflict resolution The aspect of conflict resolution is related to the inference mechanism. If a particular context value may correspond to more than one possible action, then there exists a conflict, which needs to be resolved. After analysis of the step response, three context values are extracted for the three condition variables (rise time RST, overshoot OVS, and offset OFS). If the condition variables have different context fuzzy values, the worst context will trigger the corresponding rule. In the present study, the worst (the most serious) context determines inferences (values for DKP and DKD) chosen from the decision table. However, it may happen that two or even all three condition variables have the same fuzzy context value. Then some conflict resolution mechanism must intervene, in order to determine the appropriate action. The concept of priority is used to that end. In particular, OVS is given the highest priority as it may cause serious performance degradation and physical damage. The second priority is assigned to the rise time, RST. The steady state offset is assigned the lowest priority. Another option for conflict resolution would be to use a weighted average of the control inferences for the entire conflict set of context values. 6.6 Discussion In developing the decision table for servo controller tuning, it was necessary to establish membership functions for the fuzzy performance attributes RST, OVS, and OFS, and for the fuzzy tuning actions DKP, DKI, and DKD. The discrete numerical values that were used to represent the fuzzy quantities are normalized values; they represent a relative weight and can be scaled. The membership functions depend on the knowledge of the problem. In case of high fuzziness, more robust membership functions with sufficient overlap between adjoining fuzzy states would be desired. For example, the set of membership functions 2A is more robust than the set 1A, because there is more overlap in the former case. Figure 6-5 shows two membership functions, the first one being fuzzier than the second. The control system was shown to be quite robust to changes in the membership functions and the linguistic rules. This agrees with the observation that once the rules are 109 established, not much tuning of the knowledge-based controller is needed to achieve a satisfactory performance [2]. This is desirable since the control knowledge that one can extract from different experienced operators may vary, but it will generally give good results. This further confirms the robust character of fuzzy logic-based decision making systems. The rulebase system, in the present study, was indeed found to be quite robust. Degree of Membership Degree of Membership Universe of Discourse Universe of Discourse (a) (b) Figure 6-5 A representation of the fuzziness of membership functions: (a) high fuzziness; (b) low fuzziness. 110 7. GROUND-BASED IMPLEMENTATION AND EXPERIMENTAL STUDIES This chapter deals with the experimental study that was carried out using a laboratory manipulator under control of the developed hierarchical system. Experiments were carried out to study its performance and verify its effectiveness. 7.1 The Robotic Manipulator The prototype manipulator, employed in the experimental study, consists of a fixed base supporting two modules connected in series. Each module has two links: one able to slew, and the other free to deploy and retract (Figure 7-1). The manipulator workspace has the shape of a human heart, extending 2 m from top to bottom and 2.5 m across. Rotational motion is made possible through the use of revolute joints actuated by DC servo-motors. The deployment is obtained with prismatic joints consisting of leadscrew and roller nut assemblies, which transform the rotational motion of a servo-motor into the translational motion of a deployable link (Figure 7-2). Actuator motors and optical-encoder sensors are interfaced with a Pentium Pro 200 MHz PC through a three-axis multi-function input/output motion control board (MFIO-3A, Appendix II). 7.1.1 Manipulator base The base supports the manipulator system. The first module is attached to the pivot plate, which is threaded to the pivot shaft. An 80 mm thrust bearing located between the pivot plate and the top plate of the base carries the weight of the manipulator. This bearing also provides the slewing freedom about the rotational axis. A second bearing is located under the top plate of the base and is held in place with a lock nut. A flexible coupling connects the pivot shaft to a gear head of 1:20 ratio, which amplifies the torque that is delivered by the DC servo-motor. The rotational motion of the base motor is transmitted in series, through the gear box, the flexible coupling, the pivot 111 shaft, and finally through the pivot plate holding the slew end of the first module of the manipulator system (Figure 7-3). Figure 7-1 The prototype manipulator system. 112 Module 1 Slewing Flexible Coupling DC Servo-Motor Pivot Plate Deployable Link 1 Axial Bearing Lock Nut Pivot Shaft Flexible Coupling Thrust Bearing \ ^ Top Plate of the Base Base Housing DC Servo-Motor Optical Encoder Figure 7-3 Main components of the manipulator base assembly. 114 7.1.2 Manipulator modules Both modules of the prototype manipulator system are identical, each having one revolute joint and one prismatic joint. The first revolute joint is located at the base, while the second one is at the end of the first module, i.e. at the elbow joint. The deployment is realized with the transformation of the rotational motion of the motor that drives the lead screw into translational motion of a roller nut that is fixed to the deployable link (Figure 7-4). The pitch of the lead screw of the first module is 2.5 mm (i.e. the deployable link moves 2.5 mm per revolution) while it is 1 mm for the second module. 7.1.3 Elbow joint The joint connects the deployable end of module 1 to the slewing link of module 2. The structural connection consists of two pivot plates bolted onto the deployable end of module 1. These plates support the slewing motor and the gear head. The elbow joint is supported on a flat structure within the workspace, through a spherical joint. The mechanism that provides the rotational motion, at the elbow joint, is identical to the one located at the base (Figure 7-5). 7.2 Hardware and Software Control Interface The hardware of the prototype manipulator mainly consists of an IBM compatible host computer, an MFIO 3A motion control interface, a power amplifier, and two DC servo-motors with built-in optical encoders (Figure 7-6). Computer System The computer used for control purposes is a Pentium Pro 200 MHz IBM compatible, with QNX as the operating system. Real-time application of a digital control system depends on an operating system to handle multiple events within specified time constraints. The more responsive the operating system, the more 'room' a real-time application has for 115 Linear A x i a l Bearing Roller Nut ure 7-4 Prismatic joint mechanism which provides the deployment and retrieval capability. Slewing End of Module 2 Flexible Coupling Pivot Base Plate Pivot Plate Deployable End of Module 1 Pivot Base Deep Groove Bearing Flexible Coupling Motor Optical Encoder Figure 7-5 M a i n components of the elbow joint assembly. 116 QNX Operating System (PC Based) User Power Supply Photon Operator Interface External Input Watcom-C State of the System Intelligent Supervisor Servo-Expert Low-level Controller ISA Standard Bus Line MFIO-3A Motion-Control Interface Card 60 Pin Ribbon Cable Amplifier ServoMotor Encoder Figure 7-6 Hardware and software structure. 117 maneuvering to meet its deadlines. The QNX operating system provides multitasking, priority-driven preemptive scheduling, and fast context switching. Motion control interface card An MFIO-3A high-speed interface card for PCs is used for multi-axis, coordinated motion control. It is a multifunction input/output (I/O) card for motion control applications using a PC. It has three-channel 16-bit digital-to-analog converter (D/A); three quadrature encoder inputs; 24 bits of programmable digital I/O, synchronized data reading and writing; a programmable interval timer; and a watchdog timer. The card has a SYNC signal which allows for the synchronization of data acquisition and analog output. The data from the D/A converters are latched into registers through the SYNC signal. The D/A channels have 16-bit of resolution. The encoder inputs are digitally filtered for noise suppression. The programmable interval timer can generate timed intervals from 0.25 ps to 515 seconds. The feedback controller runs as a task in the QNX operating system. The card may be programmed either by accessing the hardware at the register level in C or through the use of Precision MicroDynamics' C subroutine libraries. The source code is compiled with the Watcom-C compiler for QNX. A C library provides access to the MFIO-3A hardware with routines to initialize the board; set up the programmable interval timer (PIT), watchdog timer, and SYNC signal; start the PIT and watchdog timer; set up the interrupts; read and write the digital I/O; read and write the encoders; and write the digital-to-analog converters. Linear power amplifier Linear amplifiers are used with the joint motors of the prototype manipulator. Their function is to transform the pulse train, i.e. the +/- 10 V signal from the controller, into current to drive the joint motors. The amplifier gain is set so that a 10V command generates the maximum drive current. DC Servo-motors Slewing motors of the manipulator are Pittman 14202 (109 oz-in peak torque) and 9413 (16 oz-in peak torque) for modules 1 and 2, respectively. A NEMA 23-20 reduction 118 gear head of ratio 1:20 is used. The gear head reduces the speed while increasing the output torque of the motor by a factor of twenty. The deployment motors are Pittman 9414 (24 oz-in peak torque). The motors operate through the DC current supplied by the power amplifier, in response to a controller signal. Details are given in Appendix II. Optical encoders The position of each motor is sensed through the use of the optical encoder attached to the motor shaft. The encoders have the offset track configuration (two tracks with their windows having an offset of 1/4 pitch with respect to each other). An encoder disk has two identical tracks, each having 1000 windows. A third track with a lone window generates a reference pulse for every revolution. The physical resolution of the encoders is 0.09°. The signal from the encoder is monitored at every sampling interval by the controller whose objective is to correct any deviation of the actual joint position from the desired one. Control program The hierarchical control structure that is implemented on the experimental manipulator is identical to the one developed in the previous chapters for the purpose of simulation studies (Figure 7-7). In particular, the knowledge base and the reasoning mechanism of the intelligent supervisor and the signal preprocessing at the servo-expert level are identical to those used in the computer simulations. Even though both FLT and PID capabilities have been integrated into the bottom layer of the hierarchy, only the PID control is activated in the experimental work. Furthermore, to facilitate comparison with the simulation results, one module is locked throughout the experimental operations of the manipulator. 119 Level 3 Controller Tuning PID Controller Intelligent Supervisor Level 2 Servo-Expert Level (Information Abstraction) Level 1 Encoder Encoder Revolute Joint I Prismatic Joint Actuator I Actuator Figure 7-7 Control structure of the experimental robot. 7.3 Pick-And-Place Operations 7.3.1 Introduction The first task carried out by a single unit of the prototype manipulator is a pick-and-place operation in the horizontal plane (Figure 7-8). The manipulator starts in the pick position, oriented along the x-axis. It stops at a way-point, which is an intermediate position from which the guarded motion begins. At the way-point, tuning of the controller takes place, if required. It is highly desirable that the motion from the way-point to the final position be smooth (i.e. the guarded motion). The initial, intermediate, and final positions are specified in Table 7-1, in both joint and Cartesian spaces. 120 Place Position Figure 7-8 A pick-and-place experimental operation. Table 7-1 Desired initial, intermediate, and final positions for a task of the prototype robot. Desired Values Pick Position Way Point Place Position 0 60 70 d (cm) 0 5.0 6.5 End-effector x (cm) 41 23.0 16.2 End-effector y (cm) 0 39.8 44.6 The sampling frequency of sensor signals is 125 Hz. The slewing arm measures 30 cm in length. The deployable link can extend up to 17 cm. The total weight of the module is 2.4 kg. To prevent mechanical damage, the traditional Ziegler-Nichols [4] ultimate-cycle method (carried out in closed-loop, bringing the system to marginal stability) is not used to determine a set of initial control gains. Consequently, the starting values for the PID control gains are chosen somewhat arbitrarily. Some tuning of the two joints should take place before the operation starts from the initial configuration. The tuning procedure consists in analyzing the response to a step input of 1 cm for the prismatic joint and of 5° for the revolute joint, with respect to the performance requirements of rise time, overshoot, and steady-state error. The gains are updated accordingly. 121 The manipulator is allowed 4 seconds to reach the way-point where it comes to a complete stop. A fifth order polynomial position profile is used for point interpolation. It allows one to specify zero initial and the final values for velocity and acceleration [27]. The algorithm then decides if some further tuning is needed for the joints. If the average position error in the joint space during tracking exceeds 1.5 mm or 1.5°, or if the maximum position error is greater than 3 mm or 3°, extra-tuning of the corresponding joint is judged necessary. The time allowed for the guarded motion is 3 seconds. Limits are imposed on both the control gains (prismatic joint: Kp = 0.7, Ki = 0.1, and Kd = 1; revolute joint: Kp = 12, Ki = 1.75, and Kd = 2) and the output voltage (1 V). 7.3.2 Experimental results Response without tuning First, the prototype manipulator is made to conduct a pick-and-place operation without any initial tuning. The resulting time response in the joint space is shown in Figure 7-9(a), and the end-effector path in the Cartesian space is presented in Figure 7-9(b). From the results given in Table 7-2, the performance can be judged as poor and unacceptable depending on the intended application. Response with initial tuning Next, the control parameters are tuned before the start of the operation. The response of the manipulator in the joint space is shown in Figure 7-10 (a), and the end-effector path in the Cartesian space is given in Figure 7-10 (b). Although the performance has improved, it is still considered unacceptable if a high precision is required in the manipulator motion (Table 7-2). Response with auto-tuning As another experiment, the manipulator is controlled in the automatic tuning mode. Here, depending on the performance during the first part of the trajectory, additional tuning may be implemented at the way-point. Results in the joint and Cartesian spaces are shown in Figure 7-11. The guarded motion, from the intermediate way-point 122 Deployment (cm) Slewing angle o 4 time (s) 6 4 time (s) 6 i(cm) (b) Figure 7-9 A pick-and-place operation of the prototype manipulator in absence of tuning: (a) deployment and slew time histories; (b) end-effector path in Cartesian space. 123 Deployment (cm) 60 45 30 15 0 Slewing angle 0 601 time (s) 2 0 jc(cm) 3 0 (b) Figure 7-10 Pick-and-place operation of the prototype manipulator with initial tuning: (a) deployment and slew time histories; (b) response in the Cartesian space. 1 2 4 Deployment (cm) \ 4 time (s) 6 Slewing 4 time (s) 6 (a) (b) Figure 7-11 Pick-and-place operation of the prototype manipulator with auto-tunini (a) deployment and slew time histories; (b) end-effector path in the Cartesian space. 125 to the place position, is smoother and thus the performance may be considered satisfactory. Position error values, in the joint space, for the three cases are given in Table 7-2. From these results, one may conclude that additional tuning of the controller parameters can significantly improve the performance of the manipulator. This matches with the earlier conclusion arrived through numerical simulations Table 7-2 Pick-and-place position errors of the experimental manipulator in the joint space. dernav (mm) derr,max (mm) (7° " err.av a err,max No tuning Fast 9.3 15.6 6.7 14.2 Guarded 8.8 11.7 8.8 12.5 Initial Fast 4.7 6.3 3.4 5.9 Tuning Guarded 3.5 5.1 3.9 5.3 Auto- Fast 4.7 6.4 3.4 5.2 Tuning Guarded 3.0 3.6 2.0 3.4 The tuning of the controller gains involves the analysis of the response of the joints to a series of six step inputs. After applying each step input, the rise time, the overshoot, and the offset of the corresponding joint are computed and then fuzzified. For each of these attributes, a fuzzy context value is obtained. The intelligent supervisor uses these context values to determine the appropriate inferences, i.e. the appropriate tuning values for the servo parameters. Here, for both joints the proportional gain was increased while the derivative gain was reduced, as dictated by the knowledge-based tuning system. 126 7.4 Trajectory Tracking 7.4.1 Introduction In the present set of experiments, the single-unit prototype manipulator is made to track a square trajectory in a clockwise sense, in the horizontal plane (Figure 7-12). The robot starts at the lower-left corner lA'. The length of a side of the square is chosen so that the manipulator would be close to its fully extended configuration at the upper-right corner. Figure 7-12 Tracking of a square path, in the clockwise sense, by the prototype manipulator starting from the corner .^ A side of the tracked square measures 10 cm. The desired initial, intermediate, and final positions of the robot are given in Table 7-3. The manipulator is given 5 seconds to track each side of the square. As before, a position profile represented by a fifth order polynomial is used for point interpolation, allowing the specification of both the initial and the final values of velocity and acceleration over each motion segment. At successive corners, the manipulator comes to a complete rest. The algorithm then decides if some additional tuning would be needed for the joints, following the same procedure as described in the previous section (i.e. with the allowance for average and maximum joint position error 2mm, 1° and 4mm, 2°, respectively). Again, the same limits are imposed on the control gains and output voltage. 127 Table 7-3 Desired positions of the prototype robot at the corners of the square trajectory. Desired Value A B C D 0 13.7 11.1 0 d (cm) 0 1.2 11.0 10.0 End-effector x (cm) 41.0 41.0 51.0 51.0 End-effector y (cm) 0 10.0 10.0 0 7.4.2 Experimental results Response without tuning First, the experimental manipulator is made to track the square trajectory without any initial tuning. The initial PID gains are chosen somewhat arbitrarily, as explained in Section 4.3. The response in the joint and Cartesian spaces is shown in Figure 7-13. The performance may be judged quite poor for high precision applications, as seen from the position error values given in Table 7-4. Response with initial tuning Next, in the starting configuration, the servo control parameters of the robot are tuned by applying a sequence of step inputs to the joints and analyzing the responses. The response of the manipulator, in the joint and Cartesian spaces, is shown in Figure 7-14. The performance has improved as seen from the position error values given in Table 7-4. Response with auto-tuning In this experiment, the trajectory is followed by the prototype robot under both initial and automatic tuning of the servo parameters. Depending on the performance, extra tuning could be carried out at the corners. In fact, the tuning was required at corners A, B and C, for the prismatic joints; and at corners A and B, for the revolute joints. The response of the manipulator in the joint and Cartesian spaces is shown in Figure 7-15. 128 Deployment Desired Actual Slewing Desired Actual i i i i i i i i i i i 40 45 , x 50 X(cm) (b) Figure 7-13 Trajectory tracking by the prototype robot in the absence of controller tuning: (a) deployment and slew time histories; (b) end-effector path in Cartesian space. 129 Deployment N)ioo Slewing angle 0 time (s) 2 0 10h v(cm) l(cm) (b) Figure 7-14 Trajectory tracking by the prototype robot with initial tuning: (a) deployment and slew time histories; (b) end-effector path in Cartesian space. 130 Deployment (cm) Figure 7-15 Trajectory tracking by the prototype robot with auto-tuning: (a) deployment and slew time histories; (b) end-effector path in Cartesian space. 131 The corresponding control voltage is shown in Figure 7-16. It is noted that the tracking capability has improved, and the performance of the robot is quite satisfactory. The evolution of the PID gains for both joints is shown in Figure 7-17. Table 7-4 Position errors of the prototype manipulator in the joint space. Side derr%av (mm) derr.max (mm) err.av " err,max 1 5.1 10.5 3.8 6.9 No 2 9.3 15.6 1.1 1.8 Tuning 3 4.7 7.3 1.9 4.2 4 7.9 13.4 0.0 0.0 Average 6.7 11.7 1.7 3.2 1 2.5 4.0 1.6 3.2 Initial 2 3.5 4.9 0.9 1.3 Tuning 3 1.9 2.7 0.6 1.7 Only 4 2.9 4.2 0.0 0.0 Average 2.7 4.0 0.8 1.5 1 2.5 3.7 2.0 2.9 Auto- 2 3.1 4.5 0.3 1.0 Tuning 3 1.6 2.3 0.5 1.3 4 2.3 3.4 0.0 0.0 Average 2.4 3.5 0.7 1.3 In summary, it has been shown that some additional tuning of the servo controller parameters is beneficial to the performance of the manipulator while tracking a trajectory. 132 1 0.75 0.5 0.25 h Voltage (V) 8 oh -0.25 --0.5 --0.75 --1 Prismatic joint 0 Voltage 0 L (V) -0.2 --0.4 --0.6 --0.8 -•1 J _ I _ L J i i i i I i i i i L 10 15 20 25 time (s) (a) Revolute joint 0 J i i i i i i i i i i i i i i i i i i_ 20 25 5 10 15 time (s) (b) Figure 7-16 Voltage input to the servomotors of the laboratory robot, while tracking a square path with auto-tuning: (a) prismatic joint; (b) revolute joint. 133 Revolute Joint KP 5 10 Tuning step 0.5 Prismatic Joint KP 5 10 15 Tuning step 0.14 0.12 Revolute Joint KI 0 . 1 4 — B — B — a — f t — a — B — B -Tuning step 0.018 0.016 0.014 0.012 Prismatic Joint KI 0.01a • • • [ ! ] • • a—^ 5 10 15 Tuning step 0.24 0.22 h Revolute Joint KD 0.02i 0.015 0.01 0.005 Prismatic Joint KD Tuning step Tuning step Figure 7-17 Evolution of the PID gains of the experimental robot with auto-tuning. 134 8. CONCLUDING REMARKS This thesis studies the intelligent hierarchical control of a variable-geometry manipulator. A three-layer control system with a knowledge-based decision making system was developed for monitoring and tuning the servo controllers of the manipulator. Concepts of fuzzy logic were employed for this purpose. First, computer simulations were carried out to study the effectiveness of the control system. Next, the same control system was implemented on a prototype robot in laboratory, and the performance was studied through experimentation. 8.1 Contributions The main contributions of this thesis can be summarized as follows: • A hierarchical control system that is applicable to a prototype variable-geometry robotic manipulator was developed. It consists of three layers: Proportional-integral-derivative (PID) servo control in the first layer; Servo-expert algorithm to evaluate the joint responses and report the status (context) of the servo controllers, in the intermediate layer; Knowledge-based tuner at the top layer, consisting of a decision table generated using fuzzy logic techniques, and an inference mechanism, for tuning the PID parameters. • Tuning knowledge of the system was gained through control expertise, and expressed mathematically as a set of fuzzy rules, using fuzzy logic operations. • A computer simulation was developed for a variable-geometry manipulator, under control of the three-level control system. • Computer simulations were carried out to evolve the knowledge-based tuning system, and to study the performance of the overall system. • Single-unit ground-based and space-based manipulators were controlled and tuned successfully, in simulation. 135 • The tuner was implemented successfully on a physical single-unit manipulator, in laboratory. Performance of the prototype robot was studied using a series of experiments, and was demonstrated to be satisfactory. Such comprehensive numerical as well as experimental study of a hierarchical knowledge-based control of a novel manipulator has not been reported before. 8.2 Conclusions Based on the investigation described in the present thesis, the following general conclusions can be drawn: • Fuzzy logic offers a mathematical framework to acquire and manipulate information available from human experts, particularly in linguistic form, and to make inferences for practical uses such as control and system tuning. • On-line monitoring and controller tuning of a manipulator system could be accomplished by the use of knowledge-based techniques in a fuzzy logic framework, and thereby reducing the degree of complexity of processing low-level data. • The performance of PID controllers for a manipulator can be significantly improved through knowledge-based tuning. • The three-layer control system, developed in the present work, is useful in space robots where autonomous operation with high precision has considerable advantages. • The knowledge-based tuning system developed here is quite robust and effective. • The methodology used in the present research is general enough to be useful in many other applications of industrial automation, particularly where a process plant is complex and difficult to model and expert knowledge is available. 136 8.3 Recommendations for Future Work Based on the simulation results obtained and the experimental studies carried out using the prototype manipulator, several avenues are suggested for possible consideration for future work which are likely to be beneficial: • Develop and implement several low-level controllers (e.g., PID, direct fuzzy control, FLT, LQR, sliding mode) and allow the switching from one low-level controller to another, based on decisions at the highest level of the hierarchy. • Incorporate trajectory planning, obstacle avoidance, and redundancy management at the highest layer of the hierarchy. • Incorporate a second manipulator module to the system, and eventually implement the overall control structure on the prototype four-module manipulator which is being developed. • Introduce an "eye-in-the-sky" camera to determine the actual location of the end-effector, and strain gauges to sense the flexibility of the links. Fuzzy logic can incorporate a multitude of sensors information into its knowledge base relatively easily since a fuzzy controller compromises precision for the simplicity of control algorithm. Knowledge-based sensor fusion may be used to handle multi-modal sensory information. • Develop a graphical user interface for the robot system and its controller. 137 REFERENCES Antsaklis, P., "Defining Intelligent Control", Proceedings of the 1994 IEEE International Symposium on Intelligent Control, Panel Discussion, Columbus, Ohio, USA, IEEE Control Systems Society, Piscataway, NJ, 1994. De Silva, C.W., Intelligent Control: Fuzzy Logic Applications, CRC Press, Boca Raton, FL, 1995. Zadeh, L.A., "Outline of A New Approach to the Analysis of Complex Systems and Decision Processes", IEEE Transactions on Systems, Man and Cybernetics, Vol. SMC-3, No. 1, Jan. 1973, pp. 28-44. Ziegler, J.G. and Nichols, N.B., "Optimum Settings for Automatic Controllers", Transactions of the ASME, Vol. 64, 1942, pp. 759-768. Cohen, G.H. and Coon, G.A., "Theoretical Consideration of Retarded Control", Transactions of the ASME, Vol. 75, 1953, pp. 827-834. Lips, K.W. and Modi, V.J., "Flexible Appendages Deployment Dynamics as Applied to Satellite Attitude Motion", Acta Astronautica, Vol. 5, 1978, pp. 787-815. Lips, K.W. and Modi, V.J., "Three-Dimensional Response Characteristics for a Spacecraft with Deploying Flexible Appendages", Journal of Spacecraft and Rockets, American Institute of Aeronautics and Astronautics, Vol. 4, 1981, pp. 650-656. Modi, V.J. and Ibrahim, A.M., "A General Formulation for Librational Dynamics of Spacecraft with Deploying Appendages", Journal of Guidance, Control, and Dynamics, Vol. 7, 1984, pp. 563-569. Modi, V.J. and Shen, Q., "On the Dynamics of Spacecraft with Flexible, Deployable and Slewing Appendages", Advances in the Astronautical Sciences, Editors: A. K. Misra et al., Univelt Incorporated Publisher for the American Astronautical Society, San Diego, U.S.A., Vol. 85, Part I, 1993, pp. 877-896. Marom, I. and Modi, V.J., "On the Dynamics and Control of the Manipulator with a Deployable Arm", AAS/AIAA Astrodynamics Specialist Conference, Victoria, B.C., Canada, Paper No. AAS-93-670; also Advances in the Astronautical Sciences, Editors: A.K. Misra et al., Univelt Incorporated Publisher for the American Astronautical Society, San Diego, U.S.A., Vol. 85, Part III, 1993, pp. 2211-2229. 138 Modi, V.J., Chen, Y., Misra, A.K., de Silva, C.W., and Marom, I., "Nonlinear Dynamics and Control of a Class of Variable Geometry Mobile Manipulators", Proceedings of the Fifth International Conference on Adaptive Structures, Sendai, Japan, Editor: J. Tani et al, Technomic Publishing Co. Inc., Lancaster, PA, U.S.A., 1994, pp. 140-149. Hokamoto, S., Modi., V.J., and Misra, A.K., "Dynamics and Control of Mobile Flexible Manipulators with Slewing and Deployable Links", AAS/AIAA Astrodynamics Specialist Conference, Halifax, Nova Scotia, Canada, Paper No. AAS-95-322; also Advances in the Astronautical Sciences, AAS Publications office, San Diego, California, U.S.A., Editors: K. Terry Alfriend et al., Vol. 90, 1995, pp. 339-357. Hokamoto, S. and Modi, V.J., "Nonlinear Dynamics and Control of a Flexible Space-Based Robot with Slewing-Deployable Links", Proceedings of the International Symposium on Microsystems, Intelligent Materials and Robots, Sendai, Japan, Editors: J. Tani and M. Esashi, 1995, pp. 536-539. Hokamoto, S. and Modi, V.J., "Formulation and Dynamics of Flexible Space Robots with Deployable Links", Transactions of the Japan Society for Mechanical Engineers, Vol. 62, No. 596, 1996, pp. 1495-1502. Caron, M., Planar Dynamics and Control of Space-Based Flexible Manipulators with Slewing Deployable Links, M.A.Sc. Thesis, University of British Columbia, Vancouver, Canada, 1996. Chu, M., Design, Construction and Operation of a Variable-Geometry Manipulator, M.A.Sc. Thesis, University of British Columbia, Vancouver, Canada, 1997. Zadeh, L.A., "Fuzzy Sets", Information and Control, No. 8, 1965, pp. 338-353. Mesarovic, M.D., Macho, D., and Takahara, Y., Theory of Hierarchical Multilevel Systems, Academic Press, New York, 1970, pp. 34-108. Zadeh, L.A., "The Role of Fuzzy Logic in the Management of Uncertainty in Expert Systems", Fuzzy Sets and Systems, Vol. 11, 1976, pp. 199-227. Rasmussen, J., "The Role of Hierarchical Knowledge Representation in Decision Making and System Management", IEEE Transactions on Systems, Man, and Cybernetics, SMC-15, 1985, 234-243. De Silva, C.W., and MacFarlane, A.G.J., "Knowledge-Based Control Structure for Robotics Manipulators", Proceedings of the IF AC Workshop on Artificial Intelligence in Real-Time Control, Swansea, U.K., International Federation of Automatic Control, 1988, pp. 143-148. 139 Saridis, G.N., "Knowledge Implementation: Structure of Intelligent Control Systems", Journal of Robotics Systems, Vol.5, No.4, 1988, pp. 255-268. De Silva, C.W., "An Analytical Framework for Knowledge-Based Tuning of A Servo Controller", Engineering Applications in Artificial Intelligence, Vol.4, No.3, 1991, pp. 177-189. De Silva, C.W., "Fuzzy Information and Degree of Resolution Within the Context of a Control Hierarchy", Proceedings ofIECON'91, Kobe, Japan, 1991, pp. 1590-1595. Barlev, S., Implementation And Evaluation of An Ill-Defined Servo-Motor System, M.A.Sc. Thesis, University of British Columbia, Vancouver, Canada, 1992. Wickramarachchi, N., Development of A Knowledge-Based Hierarchical Control Structure for Process Automation, Ph.D. Thesis, University of British Columbia, Vancouver, Canada, 1995. Sciavicco, L. and Siciliano B., Modeling and Control of Robot Manipulators, McGraw-Hill, NY, 1996. Lerman, S.R., Problem Solving and Computation for Scientists and Engineers, Prentice-Hall, New Jersey, 1993. 140 APPENDIX I: EQUATIONS OF MOTION FOR GROUND-BASED MANIPULATOR Kinetic Energy: Rotor, r, = -Jd2 1 2 (7.1) Slewing Link, J = -md202 2 6 1 1 (1.2) Deployable Link, d2 +\d + u -^-| e1 2 + — m2l26>2 24 2 2 (7.3) Payload, TA=±mp{d2+(d + lx)202) (7.4) Total kinetic energy, T = -Jd2 + -md?02 +-m2 2 6 1 1 2 2 d 2 + \ d + l , - ^ | d?2 2 V ^ m 2 / 2 6 ' 2 + i m / , ( j 2 - i - ( i + / 1 ) 2 ^ ) (7.5) Potential Energy: Strain energy of torsional spring, (7.6) Potential energy of links and payload, L U2 = -m^g-^-cos 0-m2g cos0-m g{d + l{)cos0 . (7.7) 141 Total potential energy, 1 / f I ~\ U =— k{0 - af -mxg—cost?-m2g d + / , - — \cos0-mpg(d + l-[)co&0 . .(IS) 2 2 1 2 / Energy Dissipation (Rayleigh function): Revolute joint, Rd =\c(d-df (1.9) Equations of Motions: d_ dt 8L 3L dRd oq oq (7.10) where The equations of motion can be written in the form M(q,t)q + F(q,q,t) = Q(q,q,t) where: 0 0 H +mp J eq 0 M = 0 J 0 0 (7.12) (7.13) 1 ( I V 1 2 Jeq =-mlll + m2 d + l\ ~ V +— m2l2 + m (d + lx) \ j V 2 J i z (7.14) 142 2mn d + lx-^]d0 + 2m d{d + lx)0 + k(0- a) m, K i t - d + h - l^\ + mp{d+ll) gsin 0 - c(d - 0) -k{0-a)-c(0-d) (7.15) -m2 d + /, - — 02 - mp(d + /,)02 - (m2 + tnp)gcos 0 o T-A in F:„ (7.16) 143 APPENDIX II: COMPONENTS AND CHARACTERISTICS OF THE PROTOTYPE MANIPULATOR Model MFIO-3A High-Speed Motion-Control Interface Card (version 1.3) Manufacturer: Precision MicroDynamics Inc. #3-512 Frances Ave., Victoria, BC Canada V8Z 1A1. Important characteristics: • 3 channels, 16-bit D/A output rate 44 kHz, voltage output range ±10V; • 3-channel quadrature encoder input 24-bit counters, A, B, Z inputs, invertible for phasing and universal index pulse, digitally filtered, preload in hardware by index pulse or by software register, each encoder axis input configurable for differential, differential terminated, single ended totem pole, single ended open collector, power supply of +5V or + 12V for encoders, 2 to 12 MHz input count rates depending on options; • 24-bit digital I/O programmable for input or output, 16 lines can generate interrupts; • programmable interval timer 0.25 ps to 515 seconds with 0.12 ps resolution, can generate sync signal and/or PC interrupt; • watchdog timer 3.85 ps to 125 ms, 144 forces DAC outputs to 0 V on timeout and sets a digital output to low for emergency shutdown; • SYNC Synchronized D/A and encoder input, Sync generated by on board timer or software, Sync signal passed between multiple board; • memory 512 bytes user accessible EEPROM; • bus compatibility - ISA or PC/104. Note: The MFIO-3A User Manual Version 1.3 provides the following information: • introduction; • configuration and installation; • theory of operation; • programming; • MFIO-3A register access ' C library function descriptions; • General purpose library function descriptions. AMP-1140 Mating Power Amplifier Features: • 7 amps continuous, 10 amps peak; 20 to 80 V; • connects directly to the DMC-1000 series controller via ribbon cables; • available with 1, 2, 3, or 4 amplifier(s); • screw-type terminals for easy connection to motors, encoders, and switches; • steel mounting plate with 0.25" keyholes. Specifications: • minimum motor inductance = 1 mH; 145 • PWM frequency = 30 kHz; • ambient operation temperature = 0 to 70 °C; • dimensions = 5.7" x 13.4" x 2.5"; • weight = 4 lbs; • mounting keyholes = 0.25" DIA; • gain = 1 amp/V. Module 1 Slewing Servo-Motor Manufacture: Pittman Harleysville, PA, 19438-0003, U.S.A. model: 14202D30G peak torque (stall): 109.34 oz-in no load speed: 4,250 rpm voltage: 30.3 V torque constant: 9.85 oz.in/A back EMF constant: 7.29 V/krpm terminal resistance: 2.74 ohm inductance: 4.05 mH no load current: 0.19 A peak current (stall): 11.1 A Module 1 Deployment Servo-Motor model: 9414K283 peak torque (stall): 24.4 oz-in no load speed: 3,050 rpm voltage: 24.0 V torque constant: 4.13 oz.in/A 146 back EMF constant: 3.05 V/krpm terminal resistance: 4.06 ohm inductance: 3.25 mH no load current: 0.14 A peak current (stall): 5.91 A Module 2 Slewing Servo-Motor model: 9413J763 peak torque (stall): 16.128 oz-in no load speed: 3,050 rpm voltage: 24.0 V torque constant: 5.60 oz.in/A back EMF constant: 4.14 V/krpm terminal resistance: 8.33 ohm inductance: 6.17 mH no load current: 0.10 A peak current (stall): 2.88 A Module 2 Deployment Servo-Motor model: 9414J764 peak torque (stall): 24.4 oz-in no load speed: 3,050 rpm voltage: 24.0 V torque constant: 4.13 oz.in/A back EMF constant: 3.05 V/krpm terminal resistance: 4.06 ohm inductance: 3.25 mH no load current: 0.14 A p eak current (stall): 5.91 A 147 Bayside Precision Gearhead with BCI Adaptor Kits Manufacturer: Bayside Control Inc., 27 Seaview Boulevard, Port Washington, NY 11050, U.S.A. model: 23-020 gearratio: 20:1 S/N: 16799 continuous torque: 50 in-lbs peak torque: 100 in-lbs backlash standard: 30 min backlash low: 15 min input speed: 4000 rpm minimum efficiency: 90 % maximum inertia 7.4 x 10"5 oz-in-sec2 radial load: 20 lbs axial load: 40 lbs maximum weight: 1.2 lbs Star Precision Ball Screw Assemblies (inner module) Manufacturer: Star Linear System 9432 Southern Pine Blvd., Charlotte, NC 28273, U.S.A. model: DIN 69051T.5 ball screw: 1531-2-3025; 280 mm length; 8 mm diameter; 2.5 mm lead, adjustable preload single nut: 1532-2-3004. Miniature Ball Screw (outer module) Manufacturer: Ball Screws & Actuators Co., Inc. 3616 Snell Avenue, San Jose, CA, U.S.A. 95136-1305 model: MRB 0801 ball screw: 8 mm O.D. 1 mm lead. INA Linear Axial Bearing Manufacturer: INA Bearing Company Ltd. 5185 Tomken Road, Mississauga, ON, L4W 1P1, Canada. Supplier: BC Bearing Engineering Limited 3905 East 2nd Avenue, Burnaby, B.C., V5C 3W9, Canada. model: KNZ24PP; 1.5" I.D.; 2.375" O.D.; 3" long. Aluminum Tubing Supplier: Wilkinson Steel & Metals-A Division of Premetalco Inc. 888 SE Marine Drive, Vancouver, B.C. Canada. type: Alcan 6061-T6 drawn seamless aluminum tubing, slewing link: 2-1/2 " O.D.; 0.083" thick, deployable link: 1-1/2 " O.D.; 0.095 " thick. 149
- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Intelligent hierarchical control of a deployable manipulator
Open Collections
UBC Theses and Dissertations
Featured Collection
UBC Theses and Dissertations
Intelligent hierarchical control of a deployable manipulator Goulet, Jean-Francois 1999
pdf
Page Metadata
Item Metadata
Title | Intelligent hierarchical control of a deployable manipulator |
Creator |
Goulet, Jean-Francois |
Date Issued | 1999 |
Description | This thesis focuses on the development and implementation of an intelligent hierarchical controller for a deployable manipulator that may be used in space- and ground-based applications. The emphasis is on the use of knowledge-based tuning of the low-level controllers so as to realize accurate operation under complex and incompletelyknown conditions, with a degree of autonomy. The robot that is investigated consists of two links: one free to slew (revolute joint) while the other allowed to deploy (prismatic joint). A three-level hierarchical system is developed, to control the manipulator. In the bottom layer of the hierarchy, a conventional proportional-integral-derivative (PID) controller is used, for regulating the manipulator joints. The middle layer monitors the performance of the joints of the manipulator, preprocesses the response signals, and extracts the performance parameters, based on a step-input response. The top layer makes inferences for appropriate tuning actions on the PID servos. A decision table is developed using linguistic rules of expert knowledge in tuning PID servos, in order to facilitate fast decision making in the top layer. The knowledge that is contained in this rulebase is acquired from available sources, and represented and processed using the fuzzy logic theory. The governing equations of motion for the ground-based manipulator are developed using the Lagrangian procedure. A Turbo C program is written for the groundbased simulations of the system, which incorporates the manipulator model and the hierarchical control system. Extensive ground-based simulations are carried out for trajectory following tasks. The space-based simulations are also carried out, making use of an existing Fortran program for a robot model tracking a trajectory. These simulations incorporate proportional-derivative control, along with the feedback linearization technique (FLT). An extensive study is carried out to determine the sensitivity of the performance of the control system to changes in the knowledge base. The developed control system is implemented on an existing prototype manipulator, in laboratory. The control software is written in Watcom C, and the manipulator is controlled using the QNX operating system, for real-time operation. A number of trajectory-following experiments were carried out. The study shows a good level of agreement between the ground-based simulations and experiments, with excellent performance of the manipulator when operated under the hierarchical control system. Since the space-based simulations also show good performance through the hierarchical control system, it can be concluded that the developed control system is an appropriate option for controlling space-based manipulators as well. The study further shows that, even in the absence of autotuning, knowledge-based tuning of the servo controllers of the manipulator at strategic task configurations can lead to a significant improvement in performance of practical manipulators. |
Extent | 6993568 bytes |
Genre |
Thesis/Dissertation |
Type |
Text |
FileFormat | application/pdf |
Language | eng |
Date Available | 2009-06-15 |
Provider | Vancouver : University of British Columbia Library |
Rights | For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use. |
DOI | 10.14288/1.0080956 |
URI | http://hdl.handle.net/2429/9211 |
Degree |
Master of Applied Science - MASc |
Program |
Mechanical Engineering |
Affiliation |
Applied Science, Faculty of Mechanical Engineering, Department of |
Degree Grantor | University of British Columbia |
GraduationDate | 1999-05 |
Campus |
UBCV |
Scholarly Level | Graduate |
AggregatedSourceRepository | DSpace |
Download
- Media
- 831-ubc_1999-0353.pdf [ 6.67MB ]
- Metadata
- JSON: 831-1.0080956.json
- JSON-LD: 831-1.0080956-ld.json
- RDF/XML (Pretty): 831-1.0080956-rdf.xml
- RDF/JSON: 831-1.0080956-rdf.json
- Turtle: 831-1.0080956-turtle.txt
- N-Triples: 831-1.0080956-rdf-ntriples.txt
- Original Record: 831-1.0080956-source.json
- Full Text
- 831-1.0080956-fulltext.txt
- Citation
- 831-1.0080956.ris
Full Text
Cite
Citation Scheme:
Usage Statistics
Share
Embed
Customize your widget with the following options, then copy and paste the code below into the HTML
of your page to embed this item in your website.
<div id="ubcOpenCollectionsWidgetDisplay">
<script id="ubcOpenCollectionsWidget"
src="{[{embed.src}]}"
data-item="{[{embed.item}]}"
data-collection="{[{embed.collection}]}"
data-metadata="{[{embed.showMetadata}]}"
data-width="{[{embed.width}]}"
async >
</script>
</div>
Our image viewer uses the IIIF 2.0 standard.
To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0080956/manifest