STABILITY ANALYSIS AND DESIGN FOR INTELLIGENT ROBOT CONTROL JOOYEOL CHOI B.A.Sc in Mechanical Engineering, Kon-Kuk University, Korea, 1995 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 March 2000 © Jooyeol Choi, 2000 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. Date: The University of British Columbia Department of Mechanical Engineering 2324 Main Mall Vancouver, B.C., Canada V6T 1Z4 ABSTRACT This thesis focuses on the development and implementation of a robust and knowledge-based control approach for multi-link robot manipulator systems. A robot manipulator is a nonlinear and complex dynamic system that suffers from structured and unstructured uncertainties, and hence requires a robust control algorithm for satisfactory performance. Based on the concepts of sliding-mode control and fuzzy logic control (FLC), a fuzzy sliding-mode controller is developed, which possess good robustness properties of sliding-mode control and the flexibility and 'intelligent' capabilities of knowledge-based control through the use of fuzzy logic. The relationship between the design parameters of a fuzzy sliding-mode controller and the tracking performance of a closed-loop control system is established, so that a specification on tracking accuracy can be satisfied by proper choice of the controller parameters. To accommodate the control of a coupled system where the number of generalized coordinates that need to be controlled exceeds the number of control inputs, an alternative version of sliding-mode control termed coupled sliding-mode control, is introduced. Extensive simulation studies with both fuzzy sliding-mode control and conventional sliding-mode control are carried out for a single-module manipulator consisting of two links: one free to slew (revolute joint) while the other is permitted to deploy (prismatic joint). Furthermore, to represent the stability of a fuzzy logic control system rather comprehensively in terms of both qualitative and quantitative aspects, stability indices, which are measures of relative stability of a system, are established. These indices quantify the degree of variation to which a system can be subjected before becoming unstable. By considering the relationship between the stability indices and the design parameters, it is demonstrated that an FLC can be designed to guarantee global stability of a system. Also, using stability indices, a comprehensive stability analysis and design guidelines for coupled sliding-mode control are developed. Finally, the control schemes are implemented on a laboratory prototype of a variable-geometry manipulator. The experimental studies with fuzzy sliding-mode control as well as conventional sliding-mode control show that the tracking error is guaranteed to converge to a specification, which verifies the results obtained through analysis and computer simulations. ii T A B L E OF CONTENTS ABSTRACT TABLE OF CONTENTS LIST OF TABLES LIST OF FIGURES LIST OF SYMBOLS . ACKNOWLEDGEMENT 1. . . . . . 1 1.1 1.2 1.3 1 1 6 6 7 8 11 12 15 Research Objectives . . . . . . Motivation and Rationale . . . . . Background Information . . . . . 1.3.1 Deployable manipulator . . . . 1.3.2 Knowledge-based systems and intelligent control 1.3.3 Fuzzy logic and fuzzy logic control . . . 1.3.4 Stability of fuzzy logic control system . A Brief Review of the Relevant Literature. . . Scope of the Investigation . . . . . . . . SLIDING-MODE C O N T R O L 2.1 2.2 2.3 3. . INTRODUCTION 1.4 1.5 2. . ii iii vi vii xiii xviii 17 Theory of Sliding-Mode Control 2.1.1 Variable-structure system . . . . 17 17 2.1.2 Sliding-mode control . . . . . 2.1.3 Boundary layer . . . . . A Sliding-Mode Control Algorithm for Multi-Link Robots . Coupled Sliding-Mode 18 23 24 29 F U Z Z Y SLIDING-MODE C O N T R O L 3.1 3.2 . Fuzzy Logic . . . . 3.1.1 Fuzziness versus probability . 3.1.2 3.1.3 Fuzzy logic operations Fuzzy relations . . . . . . . 32 . . . . 32 32 . . . . . 35 37 . . . . 39 41 . . . 3.1.4 Composition and inference . Fuzzy Logic Control . . . in . . . . . 3.2.1 3.2.2 3.3 4. CONTROL OF A MANIPULATOR: SIMULATION STUDY 4.1 4.2 4.3 4.4 4.5 5. Design parameters and steps . . . . Individual rule-based inference: Decision making with crisp measurements . . . . . Fuzzy Sliding-Mode Control . . . . . 3.3.1 Design parameters of the controller . . . 3.3.2 Performance specification: Tracking accuracy . 43 45 46 50 54 . 58 Formulation of the Manipulator System . . . Uncertainties and Controller Parameters . . . Evaluation of the Control Algorithms: Simulation Results and Discussion . . . . . . 4.3.1 Comparison of SMC and FSMC . . . 4.3.2 Effects of FSMC parameters . . . . Control in the Presence of Joint Flexibility: Coupled Sliding-Mode . . . . . Trajectory Tracking . . . . . . 59 63 STABILITY INDICES A N D DESIGN O F F U Z Z Y 67 69 78 81 93 LOGIC CONTROL 5.1 5.2 Stability Indices . . 5.1.1 One-dimensional case. . . . . . . 5.1.2 Generalization of the index Is\ . . 5.1.3 Generalization of the index I si • • Design of a Fuzzy Logic Control using Stability Indices: Case Studies . . . . . . . 5.2.1 5.2.2 6. 100 . . 100 101 . 105 . 1 0 6 109 Design of the denormalization scaling factor of a fuzzy logic controller . . . . . Coupled sliding-mode with fuzzy logic control . EXPERIMENTAL IMPLEMENTATION 124 6.1 The Robotic Manipulator System 6.2 6.3 Hardware and Software Control Interface . Controller Implementation . . . 6.3.1 Dynamic equations of the manipulator 6.3.2 System parameters and uncertainties . iv . 110 116 . . . . . . . 124 . . . . 125 129 129 130 6.3.3 6.4 7. Controller design Trajectory Tracking . . . . . . . . . . 133 . CONCLUDING REMARKS 147 7.1 Contributions . 7.2 Conclusions 7.3 Recommendations for Future W o r k . . . . . . . . . . . . . . . . . 149 151 DETAILS OF THE DYNAMIC FORMULATION FOR THE MANIPULATOR SYSTEM A P P E N D I X II: 147 148 LIST OF REFERENCES A P P E N D I X I: 136 156 SYSTEM INTEGRATION AND COMPONENTS OF THE PROTOTYPE MANIPULATOR v 162 LIST O F T A B L E S 3-1 Mathematical expressions of fuzzy logic operations . . . 36 3- 2 Different interpretations of fuzzy implication . . 38 4- 1 Nominal values of the system parameters 4-2 Lower and upper bounds of unknown and time varying parameters . 4-3 Nominal parameter vector q> . 4-4 Upper bound of structured uncertainty p 4- 5 Design parameters of the controllers . 5- 1 Parameter values of the fuzzy logic controller. . . . 112 6- 1 Nominal values of the system parameters . . . . 131 6-2 Swing-test results for the outer module . . . . 132 6-3 Lower and upper bounds of the unknown and time varying parameters 6-4 Nominal parameter vector q> and the upper bound p. 6-5 Design parameters of the controllers . . . . 0 . . . . . . . . vi 64 . 64 . . . 64 . . . 66 . 0 . 64 . . . . 132 133 134 LIST O F FIGURES 1-1 Schematic diagram of a multi-module deployable manipulator 1-2 An artist's view of the Mobile Servicing System (MSS) on the International Space Station 1-3 . . . . . . . 4 Deployable manipulator showing obstacle avoidance (capability to maneuver through a small gap between obstacles) . . . . . 6 . . 7 1- 4 Structure of a knowledge-based system 2- 1 Phase portrait of Eq. (2.1) using: (a) b = 0; (b) b = 1; (c) switching logic of Eq. (2.2); (d) switching logic of Eq. (2.3) . . . 2-2 . . . 21 . 24 Boundary layer around the sliding surface in the two-dimensional phase plane 2- 4 18 Motion toward the sliding surface (switching line in a two-dimensional phase plane) illustrating sliding mode control 2-3 . . . . . . . Structure of the sliding-mode controller with boundary layer for multi-link robot m a n i p u l a t o r s . . . . . . 3- 1 29 Venn diagrams and membership function representations: (a) a crisp set; (b) a fuzzy set . 3-2 2 . . . . . 34 . 36 Membership function representations of fuzzy logic operations: (a) fuzzy sets A and B; (b) complement fuzzy set of A; (c) union of A and B; (d) intersection of A and B 3-3 Structure of a direct fuzzy logic controller vii . . . . . 42 3-4 Structure of the fuzzy sliding-mode controller for a multi-link robot manipulator 3-5 . . . . . . . 48 Approximate representation of the control curves with respect to s: (a) sliding-mode control with a boundary layer; (b) fuzzy sliding-mode control 3-6 . . . . . 49 Membership functions in the normalized domain: (a) distance to the switching line s„; (b) perpendicular distance s ; pn (c) control action «/„ . 3-7 . . . . . 53 . 55 Inference membership functions (shaded area) for different crisp context values of s (s„ ) in the region Cps <s <\. n i0 sn . n 3-8 Crisp inference curve in the region Cpssn < s„ < 1 3- 9 Crisp control inference surface of a fuzzy sliding-mode controller in the normalized domain: (a) -Cps <s < Cps ', (b)-l<s„<\ . 57 4- 1 Schematic diagram of a single-module deployable manipulator . 58 4-2 Complete model of the single-module deployable manipulator . 59 4-3 Time-varying uncertainties applied during simulation . 65 4-4 Normalized time history of the sinusoidal maneuvering profile showing sn n displacement, velocity, and acceleration 4-5 . . 55 sn . . . . . 68 Controlled response of the system using a proportional-derivative (PD) controller with feedback dynamic compensation: (a) without uncertainty; (b) with uncertainty . viii . . . 71 4-6 Responses of the system controlled by SMC and F S M C with specified maximum tracking errors of 0= 0.23° and d = 0.002 m 4-7 . Responses of the system controlled by SMC and F S M C with specified maximum tracking errors of 6 = 0.023° and d = 0.0002 m . 4-8 73 . 74 Responses of the system using the same time history of disturbance for both SMC and F S M C (sinusoidal disturbance for first 2 s of simulation) 75 4-9 Step response of the system: SMC and F S M C 76 4-10 Comparative SMC and F S M C responses of the system where . . . the magnitude of disturbance is larger than the expected upper bound (sinusoidal disturbance for first 2 s of simulation) 4-11 p . . . 77 . sp . . . . . 79 Effect of peak grade point of the fuzzy set PS f (Cps fn) on the u response of the system 4-13 . Effect of the normalization factor of s (N ) on the response of the system 4-12 . . . . n u . . . 80 Response of the system with a flexible revolute joint: SMC and F S M C using the conventional definition of sliding-mode . 4-14 Response of the system with a flexible revolute joint: SMC and F S M C using coupled sliding-mode 4-15 . . . 86 Effect of the coupled sliding-mode gain w on the system response: m (a) SMC; (b) F S M C 4-16 85 87 Effect of the revolute joint stiffness (K ) on the system response with s coupled sliding-mode: (a) SMC; (b) F S M C ix . . . . 89 4-17 Effect of the maneuver speed on the system response with coupled sliding-mode: (a) SMC; (b) FSMC 4-18 91 Tracking of a straight line (SMC and FSMC): (a) manipulator tip position and errors; and response of the flexible degree of freedom (J3)\ (b) response of the rigid degrees of freedom and control inputs 4- 19 . 96 . 98 Tracking of a circle (SMC and FSMC): (a) manipulator tip position and errors; and response of the flexible degree of freedom (J3)\ (b) response of the rigid degrees of freedom and control inputs 5- 1 Graphical representation of the vector field and a trajectory in a twodimensional state-space with a plant j[x) and a control component bu(x) 5-2 101 Vector field of the one-dimensional case (rotated counterclockwise by 90°): (a) plant component; (b) control component . . . . 102 5-3 Equilibrium state: intersection of u(x) and -f[x) . . . 103 5-4 Boundary region B = [ x , x ] near the origin (equilibrium) for defining { the index fa . 5-5 . . . . . . . 104 Control surface of the normalized fuzzy logic control action Uf„ on the x\-X2 plane 5-6 2 . . . . . . . 112 Plant (J) and control (u) components in the auxiliary subspace with different values for the denormalization scaling factor Kf of 5-7 the fuzzy logic controller: (a) -/and u;(b)f + u . . . 114 Index fa in the range ofK =0 . . . 115 f to 200. X . 5-8 Comparison of the closed-loop responses with different initial conditions: (a) Kf= 40 (unstable equilibrium at x\ = 180°, X2 = 0); (b) K = 90 (globally stable) 115 f 5-9 Variation of the stability indices with w lw and fa. (a) I$\ i ; (b) Isn. 5-10 Stability index (Isn) curves with respect to w lw for different Aq, . 5-11 Index (Isn) surface on the w lw - 1 plane for two different values of m m m p p 121 2 i(=20and60) 5- 12 120 p 122 Index (Isn) surface on the w lw - /L plane for different parameter values: m p 2 (a) ^ = 2x 10 and 10 ; ( 0 ) ^ = 2 0 0 and 10 . 6- 1 The prototype manipulator system . 6-2 Main components of the two-module experimental manipulator system 126 6-3 The architecture of the manipulator control system for a single j oint. 127 6-4 Two-module prototype manipulator system (with fixed inner module) 129 6-5 Schematic diagram of the swing test to determine the moment of inertia of a manipulator module, for different lengths . . . 131 6-6 Schematic diagram of straight line tracking . 137 6-7 Straight line tracking by the prototype manipulator (SMC and FSMC) 3 2 . . . . . . . . 123 . . 124 with tracking accuracy specifications of 0 - 0.3° and d = 2 mm: 6-8 (a) tip trajectory and errors; (b) joint responses and control inputs . 138 Schematic diagram showing tracking of a circular trajectory. 140 XI . 6-9 Circle tracking by the prototype manipulator (SMC and FSMC) with tracking accuracy specifications of 0 = 0.3° and d = 2 mm: (a) tip trajectory and errors; (b) joint responses and control inputs . 6-10 142 Circle tracking by the prototype manipulator (SMC and FSMC) with tracking accuracy specifications of 0 = 0.5°and d = 4 mm: (a) tip trajectory and errors; (b) joint responses and control inputs . 144 1-1 Configuration of the reference frames and the generalized coordinates 156 1-2 Modeling of the flexible revolute joint 157 I- 3 Free undamped response of the manipulator and the conservation of energy . . . . . . . . . . 161 II- 1 Main components of the manipulator base assembly. II-2 Prismatic joint mechanism which provides the deployment and retrieval capability . . . . . . . 164 Main components of the elbow joint assembly . 164 II-3 xii . . . . 163 LIST OF SYMBOLS a virtual acceleration, Eq. (2.29) a weighting factor for the digital filtering of measurements, Eq. (6.7) b coefficient matrix for control input distribution, Eq. (5.1) f b weighting factor for the digital filtering of measurements, Eq. (6.8) C matrix containing terms associated with centrifugal and Coriolis forces, f Eq. (2.22) C damping coefficients at the revolute joint d CzRspn d z e r 0 membership point of the fuzzy set ZR , Figure 3-6 spn deployment length, Figure 4-2 d fixed (constrained) value of d c d unstructured uncertainties, Eq. (2.22) u d, upper bound of d , Eq. (2.23) D matrix containing terms associated with internal dissipative forces, u max u Eq. (2.22) e response error vector e deployment motion error e tracking error in circle radius, Figure 4-19(a) d r e, e tracking error in x and y directions, respectively; Figure 4-18(a) e revolute joint rotor motion error ee slewing motion error / plant component, Eq. (5.1) x y a f control force applied to the prismatic joint F vector containing the terms associated with the centrifugal, Coriolis, jn gravitational, elastic, and internal dissipative forces, Eq. (4.4) G vector of elastic and gravitational forces, Eq. (2.22) H„ Hurwitz matrix of order n, Eq. (5.13) I 2 moment of inertia of slewing and deployable links, respectively Xlll I stability index, measure of the relative stability of equilibrium for sl one-dimensional case, Eq. (5.7) I stability index, measure of the relative stability with respect to the S2 occurrence of new equilibrium, Eqs. (5.8, 21) 4n> hu stability indices in ^-dimensional case, corresponding to I in onesl dimensional case, Eqs. (5.14, 15) J moment of inertia of the rotor of the revolute joint motor J Jacobian matrix, Eq. (5.10) K diagonal output gain matrix, Eq. (2.34) c denormalization scaling factor of u' „, Eq. (3.30) K f f K, stiffness at the revolute joint /,, l length of slewing and deployable links, respectively l length between the slewing axis and the center of mass of slewing link, s 2 ci Figure 4-2 l length between the end of manipulator and the center of mass of c2 deployable link, Figure 4-2 m m mass of slewing and deployable links, respectively m mass of payload M system mass matrix u 2 p N, N normalization scaling factors of s and s , respectively; Eq. (3.30) NL fuzzy state of negative large NM fuzzy state of negative moderate NS fuzzy state of negative small NVS fuzzy state of negative very small P symmetric positive definite matrix, Eq. (2.32) PL fuzzy state of positive large PM fuzzy state of positive moderate PS fuzzy state of positive small PVS fuzzy state of positive very small q displacement response vector (set of generalized coordinates) s q d sp p desired value of q xiv Q non-conservative generalized forces, including control input, Eq. (4.2) R energy dissipation s distance between the system state and the sliding surface, Eq. (2.28) d s„, s normalized s and s , respectively; Eq. (3.30) pn p c r s n, 0 > s P n , o s i P context values of s„ and s , respectively; Eq. (3.31) s pn distance between the system state and the line perpendicular to the p switching line, Eq. (3.29) S, SP fuzzy variables representing s and s , respectively t time T kinetic energy p T control torque applied to the revolute joint T period of oscillation, Eq. (6.5) T sampling time, Eq. (6.6) u control input in p s u fuzzy control input, Eq. (3.27) f Uj normalized u u'f„ crisp control inference in normalized domain, Eq. (3.32) u fuzzy sliding-mode control law, Eq. (3.27) U potential energy UF fuzzy variable representing control action v virtual velocity, Eq. (2.29) V Lyapunov function, Eq. (2.32) w intermediate variable of coupled sliding-mode control, Eq. (2.40) n f FS w,w gains of coupled sliding-mode control, Eq. (2.41) x state vector 3c state in the vicinity of x x tracking error state vector, Eq. (2.8) m p jcj, x e 2 coordinate values defining the boundary region for I in one-dimensional sz case, Eq. (5.6) x a state in the auxiliary subspace XV x a state in the auxiliary subspace which defines the boundary region for I s n-dimensional case, Eq. (5.22) x desired value of x x equilibrium state Y matrix consisting of known functions of generalized coordinates in the d e form of virtual velocity and acceleration, Eq. (2.31) Y matrix consisting of known functions of generalized coordinates, Eq. (2.26) ZR fuzzy state of zero o composition operator (compositional rule of inference) Greek Svmbols a rigid component of slewing angle, Figure 4-2 ft flexible component of slewing angle, Figure 4-2 S thickness of boundary layer, Eq. (2.37) £ tracking error specification, Eq. (2.38) <P equivalent parameter vector, Eq. (2.26) <Pe variation of c?with respect to <p , Eq. (2.27) <Po nominal equivalent parameter vector, Eq. (2.27) A vector containing Lagrange multipliers, Eq. (4.4) X diagonal matrix with positive constant components, Eq. (2.28) M membership function 6 total slewing angle, Figure 4-2 P upper bound of <#, Eq. (2.27) 0 XVI Abbreviations. Acronyms FLC Fuzzy Logic Control FSMC Fuzzy Sliding-Mode Control IRIS Institute of Robotics and Intelligent Systems MSS Mobile Servicing System PD Proportional-Derivative SMC Sliding-Mode Control SPDM Special Purpose Dexterous Manipulator SSRMS Space Station Remote Manipulator System Most of symbols used in the text are defined in the sections in which they occur. A dot above a character refers to differentiation with respect to time. A boldface italic character denotes a vector or matrix quantity. A non-boldface italic character with a subscript / denotes the i' scalar component of the h corresponding vector or matrix quantity. The membership function of a fuzzy set A is denoted by ju . A A fuzzy state for s , s , and u is referred to by using s , s , and u as a subscript, and the n pn fn n peak membership point of the fuzzy state is denoted by C pn fn , fuzzyslate xvii Figure 3-6. ACKNOWLEDGEMENT I wish to thank Professors C W . de Silva and V J . Modi for their guidance and support throughout my graduate studies in the Department of Mechanical Engineering at the University of British Columbia. Thanks are also due to my colleagues and friends. In the alphabetical order I wish to thank: Mr. Jaesung Ahn, Mr. Yang Cao, Mr. Yuan Chen, Mr. Mark Chu, Mr. Vincent Den Hertog, Mr. Vijay Deshpande, Mr. Jean-Francois Goulet, Dr. Shinji Hokamoto, Dr. Tadashi Komatsu, Dr. Sandeep Munshi, Mr. Behara Patnaik, Ms. Roya Rahbari, Dr. Seiya Ueno, Mr. Kenneth Wong, Mr. Givon Chuen Kee Yan, and Mr. Jian Zhang. They have shared their knowledge, experience, and culture, providing me a friendly and intellectually challenging environment, and have thus broadened my horizons. A note of appreciation is due to Professors C. Kang and S. Kim at Kon-Kuk University in Korea, who inspired and encouraged me to pursue graduate program. Last and not least, I would like to thank my parents for their constant support and encouragement. Funding for this research project has been provided through a Strategic Research Grant from the Natural Science and Engineering Research Council of Canada, which is jointly held by Dr. de Silva and Dr. Modi at the University of British Columbia and Dr. A.K. Misra at McGill University. xviii 1. 1.1 INTRODUCTION Research Objectives The main research objective of this thesis is to develop a robust and knowledgebased control approach for multi-link robot manipulator systems in the presence of structured and unstructured uncertainties. The approach is based on the concepts of sliding-mode control and fuzzy logic control. This particular choice is justified in view of good robustness properties of sliding-mode control and the capability of knowledgebased 'intelligent' control through the use of fuzzy logic. The stability of the developed control system is studied using stability indices. A schematic diagram of the robot manipulator under consideration is presented in Figure 1-1. It represents a multi-module deployable manipulator with an arbitrary payload attached to the end of the manipulator. Each module consists of two links: the first link is under slewing motion through a revolute joint while the second link is permitted to deploy (or retrieve) using a prismatic joint. To evaluate and validate the developed control algorithm, first numerical simulation studies are carried out with a single-module manipulator model. Next the control scheme is implemented on a twomodule prototype manipulator in laboratory. 1.2 Motivation and Rationale The need of robotic systems in space exploration has been further emphasized because of the harsh operational environment. This makes it necessary to limit extravehicular activities by astronauts for safety considerations. At present, the Mobile Servicing System (MSS), which comprises the Space Station Remote Manipulator System (SSRMS) and the Special Purpose Dexterous Manipulator (SPDM), is being developed for the International Space Station. The MSS, presented as an artistic view in Figure 1-2, will perform important tasks related to construction, operation, and maintenance of the space station. It will be used as a platform for extravehicular activities l Figure 1-1 Schematic diagram of a multi-module deployable manipulator. of astronauts, assisting docking and separation maneuvers of the Space Shuttle, cargo handling, as well as assembly, deployment, retrieval, and repair of satellites [1-3]. Such space-based robot manipulator systems will possess significantly different characteristics from their ground-based counterparts [4]. The motions of a space manipulator and of its supporting base, which negotiates a trajectory in space, are severely coupled [5]. The links of a space manipulator tend to be longer and lighter. In general, the manipulator and its supporting platform tend to be highly flexible [6]. Redundancy is essential since the system is operated at locations where the cost of failure is high and repair is difficult [7]. The prohibitive cost of conducting dynamic experiments in orbit and virtual impossibility of simulating the space environment on ground are added reasons for the emerging need for accurate mathematical modeling. Furthermore, 2 space robot systems are operated in a micro-gravity environment, where the environmental torques produced by the gravity gradient, magnetic field, and solar radiation can become important [8]. The large temperature variations experienced in space can significantly influence the dynamics and control of systems in space [9, 10]. Because of the remote location and relatively difficult accessibility, it is not possible to reach or control every situation of malfunction in space. Long transmission delays will be inevitable in remote operations. Also, there is a possibility that some unknown factors or phenomena that are not yet explored or discovered can affect the performance of space systems. In short, along with its distinguishing dynamic characteristics, the hostile and incompletely known environment exacerbates the level of complexity of such spacebased applications. In general, a robot manipulator (ground- or space-based) is a highly nonlinear and complex dynamic system, consisting of structured and unstructured uncertainties. Structured uncertainties may correspond to inaccuracies in the model parameters (e.g., unknown system parameters and load variations) while unstructured uncertainties may include external disturbances and unmodeled dynamics such as high-frequency structural modes and signal noise. For satisfactory tracking and regulatory performance of a robot manipulator system in the presence of such uncertainties, it is desirable to have robust control schemes. On the other hand, it is known that fuzzy logic control (FLC) has the capability to incorporate qualitative and linguistic knowledge such as human expertise, experience, and common sense in the control actions through procedures of approximate reasoning. It can generate control actions from incomplete information or unpredictable situations, and easily accommodate inaccurate models, and can perform satisfactorily even in the absence of an explicit system model. Consequently, it possesses inherent robustness to uncertainty [11]. Furthermore, intelligent autonomous characteristics of FLC are well suited to systems that operate in unpredictable and poorly known environments such as space-based operations in the absence of human operators. 3 Figure 1-2 An artist's view of the Mobile Servicing System (MSS) on the International Space Station. 4 However, existing applications of FLC have based their design mainly on the experience of control experts and heuristic knowledge related to a particular application. The linguistic representation of a control action is difficult to formulate analytically. Furthermore, the controller may contain a large number of tuneable parameters. Hence, the development of an FLC normally depends on the level of expertise, and trial-anderror methods are inevitable in place of conventional analysis and design methodologies. Consequently, the lack of satisfactory techniques for stability analysis and design has been considered a major drawback of FLC techniques [12]. This limitation is overcome to a large degree in the present work by incorporating the well-established concept of sliding-mode control (SMC). SMC is a powerful approach for controlling nonlinear and uncertain systems. It is a robust control method that guarantees asymptotic stability of a system in the presence of model uncertainties and external disturbances, provided that the upper bounds of these uncertainties and disturbances are known. By its nature, however, pure SMC produces discontinuity in control action, which can cause chattering. This is undesirable since it involves severe control demand, and may excite high frequency dynamics, result in poor performance, and cause accelerated wear and tear. A common way to eliminate chattering is to introduce a thin boundary layer neighboring the sliding surface. A careful comparison of FLC and SMC with boundary layer has shown that their operations are similar in many ways. By combining these two control schemes, the resulting control structure, termed fuzzy sliding-mode control (FSMC), is expected to possess desirable properties of the both control methodologies, and hence, compensate for their respective disadvantages. To represent the stability of a fuzzy logic control system more comprehensively, some measures of relative stability are established. In this manner, a more complete representation of the stability problem can be achieved in terms of both qualitative and quantitative aspects. To that end, so-called stability indices are developed to quantify the degree of variation to which a system can be subjected before becoming unstable (degree of stability), based on the stability conditions on the state space vector field. Then, by 5 considering the relationship between these indices and the design parameters, an FLC can be designed to guarantee global stability of a system. 1.3 B a c k g r o u n d Information 1.3.1 Deployable M a n i p u l a t o r The present study considers a deployable manipulator system that contains both prismatic joints and revolute joints, which has been designed and built at the Institute of Robotic and Intelligent Systems (IRIS) laboratory of the University of British Columbia [13]. It comprises 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 retrieve (corresponding to a prismatic joint). Such a manipulator containing prismatic joints has several advantages compared to manipulators having revolute joints alone, with the same number of degrees of freedom: • Reduced inertial coupling resulting in simpler and less nonlinear equations of motion; • Improved capability to overcome obstacles (for example, see Figure 1-3); • Simpler inverse-kinematics problem; • Smaller number of singular configurations. Figure 1-3 Deployable manipulator showing obstacle avoidance (capability to maneuver through a small gap between obstacles). 6 1.3.2 Knowledge-based systems and intelligent control Knowledge-Based Systems A knowledge-based system (or intelligent system) should be capable of acquiring and applying knowledge in a proper (intelligent) manner through perception, reasoning, learning, and inference making from incomplete, qualitative, and vague information. For the development of such knowledge-based systems, two types of knowledge are necessary: knowledge of the problem and knowledge regarding methods for solving the problem. In other words, a knowledge-based system consists of two fundamental components [14]: a facility to "represent" knowledge; and an inference mechanism to "process" this knowledge and make decisions through reasoning based on the current situation (context), as illustrated in Figure 1-4. Figure 1-4 Intelligent Structure of a knowledge-based system. Control The rationale for using intelligent control could be linked with the practical deficiencies of the conventional control strategies based on crisp algorithms. Conventional control methods, in general, require reasonably accurate process models. However, a mathematical model or a simple computer model is often not accurate enough to represent a complex and ill-defined process. If the process model itself is inaccurate, 7 conventional model-based controls can generate unsatisfactory results. Even with an accurate model, if the parameter values are partially known, ambiguous, or vague, appropriate estimates must be made. Furthermore, the environment with which the process interacts may not be completely predictable, and it is normally not possible for conventional algorithms that are based on such incomplete information to accurately respond to a condition that it did not anticipate and that it could not 'understand'. Furthermore, the experience of a control expert is often expressed using linguistic and qualitative terms, not through hard (crisp) algorithms. For instance, it is common knowledge in process control practice that when an experienced control engineer is included as an advisor in a control loop, significant improvement in the system performance are usually possible. However, these control actions of an expert may not be representable as a mathematical model, but could be presented in the form of linguistic rules. Conventional control algorithms cannot handle such qualitative knowledge of control, which could be crucial for the operation [15]. These difficulties of conventional control strategies might be avoided by applying some degree of 'intelligence' to the control loop in the form of a knowledge base and an inference mechanism that would be capable of dealing with the complexity of the situation without human intervention. The knowledge base will represent the control knowledge that will perceive the status of the plant and its environment, and to perform appropriate control actions. Such a knowledge base can originate from may sources; for example, human expertise, literature, experimentation, computer simulation, and analysis. An inference engine will make control decision using the knowledge base and the current status of the plant. 1.3.3 Fuzzy logic and fuzzy logic control Fuzzy Logic Fuzzy logic is one way of representing and processing knowledge [16]. It is based on the premise that the key elements in human thinking are not numbers but labels of 8 fuzzy sets (i.e., classes of objects in which transition from membership to nonmembership is gradual rather than abrupt). The use of fuzzy sets provides a basis for representing vague and imprecise notions of natural languages. Unlike the case of bivalent logic which deals with two crisp states, true (T) and false (F) with a crisp line dividing them, real situations do not always assume two crisp states. Also, linguistic descriptors such as fast, warm, and large are not crisp quantities. They tend to be quite subjective and qualitative. Fuzzy logic is a general form of logic that can deal with such non-crisp situations. It uses linguistic variables as a human does and provides a systematic and efficient framework for incorporating linguistic information. Fuzzy Logic Control Fuzzy logic control (FLC), an intelligent control approach, was originally advocated by Zadeh [17, 18] and Mamdani [19] as a means of representing human knowledge and experience, and dealing with uncertainties in the control process. The linguistic descriptors of human expertise that are used in controlling a process are represented as fuzzy rules or relations. Then, this knowledge base is used, in conjunction with some knowledge of the state of the process (e.g., measured response variables), to determine control actions through a reasoning procedure. As FLC belongs to the class of intelligent control, it does not explicitly require a conventional model of the system that is being controlled. It can easily incorporate an incomplete system model, and even in the absence of a system model it will provide appropriate control decisions. FLC is a flexible procedure, which is capable of generating control actions from incomplete information or unpredictable situations since the control rules are generated in qualitative and linguistic terms, using flexible (soft) reasoning rather than crisp algorithms. Also, FLC is a quite robust control strategy in nature because the fuzzy linguistic description itself is flexible. It does not have crisp boundaries, and the decision making is also non-crisp which can absorb noise and other errors in measurements. Hence, FLC is capable of generating control actions even under large parameter changes and disturbances. Consequently, FLC has been successfully 9 applied to a variety of systems such as robot manipulators and has proven to be a powerful tool for controlling complex and ill-defined processes, which are normally not amenable to conventional control techniques. It should be noted that FLC is a complementary control strategy to conventional control, rather than a competitive one. In many applications, FLC is implemented in the feedback loop, directly generating control signals for process actuators. From past experience, such a direct implementation of FLC has proven to be more efficient when one or more of the following conditions are satisfied [20]: • systems having relatively large time constants; • operation at sufficiently low control bandwidths; • complex and ill defined process where analytical modeling is difficult and experimental model identification is not feasible; • sufficient past experience regarding low-level human-in-loop control is available and could be expressed as a set of linguistic protocols with fuzzy terms. Another scheme for implementing FLC is a hierarchical structure. In this case, the low-level controller is conventional and crisp. The fuzzy logic controller operates at a higher level in this architecture, and typically performs tuning and adaptive control functions rather than in-loop direct control [21]. The concept of a hierarchical structure for FLC implementation is based on the fact that knowledge base itself (i.e., experience and expertise) is generated by off-line performance such as parameter adjustment and tuning and observation of the associated results by human experts rather than their online involvement in the control loop. Hence, knowledge-based control would be more effective in monitoring and tuning of the process. This form of fuzzy control implementation could avoid the need of slow processes and low control bandwidths. 10 1.3.4 Stability of a fuzzy logic control system A definition for stability of a system can be given using common sense. For example, if a system is perturbed by some disturbance resulting in a deviation from its equilibrium state, and if, upon removal of the disturbance, the deviation has a tendency to reduce in the course of time, the system is considered stable. If the deviation tends to increase with time, the system is unstable [22]. Due to the linguistic nature of FLC, it is difficult to obtain a satisfactory general method for the stability analysis despite its importance in applications. It should be kept in mind here that even for crisp nonlinear system, general analysis of stability is an extremely difficult task. In general, to investigate stability of a fuzzy logic control system, one of the following two approaches may be used: • Represent the fuzzy logic controller by a nonlinear model through simplifying assumptions and perform stability analysis using traditional approaches; • Interpret stability as that of the fuzzy logic inference mechanism and study stability of the decision-making itself, largely at the system level. The first approach is mostly used in published literature, due to the convenience and availability of well-established techniques, particularly Lyapunov-like approaches for the stability analysis of nonlinear systems. However, it usually requires simplifying assumptions concerning control rules, shape of the membership functions, and fuzzification/defuzzification approaches to derive the corresponding nonlinear function for stability analysis. Hence, this is a somewhat artificial (or synthetic) way of dealing with stability of a fuzzy system, and may only be valid in a limited sense. The second approach concerns the stability of the fuzzy decision making process itself. To illustrate this approach, consider a scalar fuzzy system/ (i.e., a first order state equation) with input u, which can be expressed as X +\ =f(X , n n 11 u), where X„ is the fuzzy variable of the system state at the discrete time point n. In this system, the state response at the next time point n+l is given by [23] applying the fuzzy inference mechanism; thus, X +\ = X ° R, n n where R denotes the fuzzy rule base that relates X„ to X„+\ and o denotes the inference operation (compositional rule of inference), respectively. Then, through successive application of the state transition relation and using the applicable associative properties it may be written as X +\ =X\° n R", where R" is the result of the repeated composition of R n-l times. It should be noted that R" is not a simple matrix multiplication. It is a successive application of the compositional rule of inference and will typically involve min (or product) and max operations. Now, the fuzzy system is stable if R" exists, without oscillations as n co [23]. In comparison to the first approach, it appears to be more appropriate for stability analysis of a fuzzy logic control system, at least from a conceptual view point, since the inherent fuzzy features are not approximated by non-fuzzy parameters and variables. However, it is somewhat philosophical and further analysis is limited only for special cases of small dimension. Furthermore, it considers only the rule base and the inference mechanism. That is, it assumes that the process characteristics are represented by the rule base and the output of the previous reasoning is directly used in determining the input for the next reasoning, neglecting the fuzzy/crisp conversions involved in the practical procedures in each inference. 1.4 A Brief Review of the Relevant Literature The objective here is to touch upon the contributions that are directly related to the investigation undertaken in the thesis. Thus, the literature relevant to the current study of sliding mode control and fuzzy sliding mode control is reviewed, along with the 12 literature on stability analysis of a fuzzy logic control system. Specifically, the nonlinear approximation approach is considered. Sliding-Mode Control Sliding-mode control is a variable structure technique, which forces a system toward a switching surface that represents the desired characteristics, and switches the control action in order to remain on the surface. It was originally developed in the Soviet Union more than 30 years ago. Utkin [24] studied variable structure systems that consist of a set of continuous subsystems together with a suitable switching logic, and surveyed the design and analysis of this class of systems. Slotine [25] proposed the so-called suction control method by introducing a thin boundary layer neighboring the sliding surface to overcome the discontinuity problems (chattering) of the sliding-mode control technique. He also applied this method to the control of a robot manipulator and compared with the computed torque method in the presence of parametric uncertainties. Recently, Spong [26, 27] developed a robust control algorithm for w-link robot manipulators using sliding-mode control. The structure of this control algorithm is based on the well-known adaptive algorithm of Slotine and Li [28, 29], which is derived using two simplifying properties of robot dynamics: linearity in parameters and skewsymmetry. Linearity in parameters means that the dynamic structure of robot is linear with respect to a suitably selected set of robot and load parameters. Skew-symmetry of robot dynamics stems from the fact that the rate of change of kinetic energy of a system must equal to the external power transmitted into the system. It was shown that the uncertainty bounds needed to derive the control law and to prove uniform ultimate boundedness of the tracking errors depend only on the inertia parameters of the robot. Fuzzv Sliding-Mode Control There have been increasing efforts to combine the sliding-mode control (SMC) method with fuzzy logic control, resulting in fuzzy sliding-mode control (FSMC). Hwang and Lin [30] were two of the first researchers who regarded fuzzy logic control (FLC) as a kind of variable structure system. Their approach provides a simple way to achieve 13 asymptotic stability of a fuzzy system. However, it requires that every state variable is measurable in order to calculate a linear function, which imposes constraints on the implementation. Palm [31] discussed the similarity between the FLC and the SMC. Also, he proposed several stability conditions and guidelines to determine scaling factors and break frequencies of the system. Recently, Yi and Chung [32, 33] proposed a systematic design procedure for FSMC. They analyzed the stability and robustness of FSMC, and accounted for the relationship between the input/output fuzzy set membership function shapes and the tracking accuracy of a control system. More recently, Lo and Kuo [34] proposed a decoupled FSMC, where the number of rules needed is significantly reduced by using the distance between the actual state and the sliding surface as the only input variable to the controller. This decoupled method provides a simple way to achieve asymptotic stability of a high order system with minimum number of control rules. Stability Analysis of a Fuzzy Logic Control System The nonlinear approximation approach for the study of stability of a fuzzy logic control system has received considerable attention due to well-established conventional analysis techniques, compared to the inference mechanism approach. One of the first studies in this area is that of Kirkert and Mamdani [35]. They showed that the stability of a fuzzy system could be investigated considering it as a multi-level relay and applying describing functions. However, the assumptions used in this approach are usually too restrictive for practical applications. Braae and Rutherford [36] studied the so-called linguistic trajectory on the fuzzy relation matrix, initially introduced by Tong [37]. They showed the relationship between the dynamic behavior of a closed loop system and fuzzy control rules, and established a state space representation for the fuzzy logic control system. The work of Ray and Majumder [38, 39] is one of the first applications of the input-output stability analysis for a fuzzy logic control system, but in order to apply this method, a model of the system must be available. Recently, Tanaka and Sugeno [40] proposed an effective method, which deals with a model that can be well identified from input-output data [41]. It was suggested that the model is stable if there exists a common solution matrix for the Lyapunov equations of all rules. This method, however, does not 14 provide a systematic way to find a Lyapunov function, and requires a heavy computational load. Furthermore, some of the stable models may not be identified as stable. Kim et al. [42] suggested a different approach for stability analysis using the fuzzy model proposed in [40]. A gradient-based algorithm was suggested to simplify the stability problem. An additional gradient-based stabilizing algorithm was also derived, which allows a systematic approach for finding a stabilizing controller by updating the Lyapunov equations toward the direction in which the unstable eigenvalues would be decreased. Cao et al. [43-45] proposed a Lyapunov-like stability theorem for discretetime fuzzy control systems. Based on the locality of fuzzy control, a set of local Lyapunov functions were used for stability analysis. They showed that if the fuzzy system can be locally stabilized in every local region, under some boundary conditions, the fuzzy system will also be globally stable. This method could be used for the design of both model-free and model-based fuzzy logic controllers. Aracil et al. [46, 47] has developed a geometric method for stability analysis based on the study of vector fields of a state space. The interpretation is very intuitive and can be used to predict stability under certain conditions. They also proposed stability indices, which are measurements representing the degree of stability of a system based on concepts from the qualitative theory of dynamic systems [48]. It was shown that these indices could be applied to design a globally stable fuzzy logic controller. 1.5 Scope of the Investigation Chapter 2 discusses the concept of sliding-mode control and its application to the control of a multi-link robot manipulator system in the presence of structured and unstructured uncertainties. Also, a coupled sliding-mode approach is introduced for the control of a coupled system where the number of generalized coordinates is larger than the number of control inputs. In Chapter 3, first the necessary theoretical background of fuzzy logic and fuzzy logic control is introduced. Then, combining fuzzy logic control with sliding mode control, a fuzzy sliding-mode controller for a multi-link robot manipulator is developed, which guarantees the ultimate boundedness of the system. Chapter 4 evaluates the control structures discussed in Chapters 2 and 3 on the basis of 15 simulation results using the model of a one-module deployable robot manipulator. The performances of sliding-mode control and fuzzy sliding-mode control are compared. In Chapter 5, the stability indices representing the degree of stability of a system are discussed. Then, using these stability indices, the design of a globally stable fuzzy logic control system is demonstrated. Also, the stability of a system with coupled sliding-mode is represented by these indices. Chapter 6 presents a practical implementation of slidingmode control and fuzzy sliding-mode control, using an existing deployable manipulator, and gives an experimental verification of the control algorithms. Chapter 7 summarizes the main contributions of the study. It indicates the important results and conclusions, and gives recommendations for further study. 16 2. SLIDING-MODE CONTROL The present chapter discusses the concept of sliding-mode control and its application to the control of multi-link robot manipulators. Sliding-mode control is a variable-structure technique that forces the system states toward a predefined hypersurface in the state space. It in turn guarantees asymptotic stability of the system even in the presence of structured and unstructured uncertainties, provided that the upper bounds of the uncertainties are known. A boundary layer near the predefined hyper-surface is introduced to avoid the discontinuous switching of control input (chattering). A slidingmode controller for a multi-link robot manipulator system is derived using the properties of robot dynamics: linearity in parameters and skew-symmetry. Finally, a coupled sliding-mode technique is introduced to enable the control of a coupled dynamic system where the number of generalized coordinates is larger than that of control inputs. 2.1 Theory of Sliding-Mode Control 2.1.1 Variable-structure system A variable-structure system is one whose structure can be changed or switched according to some switching logic in order to produce a desired overall behavior of the system. Consider a second order system given by: 2 ' x = -(A + bB)x : 2 where b = 0ov\,0<A i (2.1) < 1, and A + B > 1. The phase plane trajectories for b = 0 and 1, which are oscillatory, are shown in Figures 2-1(a) and (b). Now, if the switching logic given by: b = 0, i f x i X 2 > 0 ; 6 = 1, 17 ifxiX2<0: (2.2) X2 X2 X2 (a) (b) (c) Figure 2-1 %2 (d) Phase portrait of Eq. (2.1) using: (a) b = 0; (b) b = 1; (c) switching logic of Eq. (2.2); (d) switching logic of Eq. (2.3). is implemented, the system becomes asymptotically stable as shown in Figure 2-1(c). The switching logic causes the system to follow the trajectories in Figure 2-1 (a) in the first and third quadrants and those of Figure 2-1(b) in the second and fourth quadrants, which makes the resulting trajectory spiral toward the origin. It should be noted that switching logic is vital for determining the overall behavior of the system. For example, if the switching logic is changed to: b = 0, ifxix <0; 2 b = l, iix x >0: x 2 (2.3) then the resulting system becomes unstable as shown in Figure 2-1(d). 2.1.2 Sliding-mode control Sliding-mode technique is an approach for designing a variable-structure system. The procedure behind sliding-mode control is: first choose a suitable surface in the state space, typically a linear hyper-surface called sliding surface, and switch the control input structure across this surface so that the system state would move toward the sliding surface. Once the system state reaches the surface, the closed loop dynamics are completely governed by the equations that define the surface, and become independent of the variations of the system. Consequently, it is a robust control method, which can be 18 applied in the presence of model uncertainties and parameter disturbances, provided that the bounds of these uncertainties and disturbances are known. Consider a nonlinear system expressed by the m order differential equation th x =f(x,t) (m) + d (t) + u, (2.4) u where u e R is the control input, x e Ris the output, x(t) = [x, x,... ,x - ~^ ] e R ( m T m is the state vector, and d (t) represents unstructured uncertainties. The nonlinear function/(JC, t) u is not exactly known but can be "given as f(x,t) where f(x,t) = f(x,t) + Af(x,t), is an approximation to f(x,t), (2.5) and Af(x,t) uncertainties bounded by a known function AF(x,i) represents structured , given as |4^(JC,0 |< ^IF(JC,0. Furthermore, the upper bound d umax ( -6) 2 (x, t) of the unstructured uncertainty is given as W (t)\<d u (x,t). (2.7) Uymax Here, the control objective is to determine a feedback control law u such that the state x(f) of the closed-loop system follows the desired state x (t) = [x ,xj,...,x/ ~^] . m d T d In other words, the tracking error, x(t) = x(t)-x (t) d = [x-x ,x-x ,...,x ~ (m d -x - ] ]) m d d {) T = [x,5?,...,x - ] , (m 1} r (2.8) should converge to zero. The concept of sliding mode control may be explained as follows. Define a scalar function 5 to satisfy 19 s(x,t) = (— + dt =x' m } A) ^x, m + Cl_,M m 2 + C _Ax 2 2 m x m 3 + ••• + A - x , m ] (2.9) where A is a positive constant and Cj are the corresponding coefficients. Note that s is a function of the state variables and possibly the time t. In particular, s is a function of the error vector x . Then, s(x,t) = 0 (2.10) defines the surface S (t) in the state space R (a line in the two-dimensional phase plane). m Now, in view of Eqs. (2.9) and (2.10) and noting that A > 0, we observe that: (i) x (0 -> 0 on S(t); (ii) If x (0) = 0, then x(t) = 0 for W on S(t). It follows that S(f) seems to be a suitable function that x should satisfy in order to achieve the asymptotic error convergence property. Hence, S(t) is an appropriate 'sliding surface' or 'switching surface'. It follows that, starting from the initial condition x (0) = 0, if the state vector x is made to remain on the sliding surface S(t) for all t > 0, the tracking task is achieved, which means that x will be exactly equal to xj for any t. Even when x (0) * 0, if x is made to satisfy the sliding surface, then x will approach xj with a predefined precision. Therefore, the tracking control problem becomes equivalent to satisfying the scalar function s(x, t) = 0 for all t > 0. In other words, the control input u must force the trajectory of the system toward the sliding surface if it is not already on the surface. On the sliding surface there exist a sliding motion. A sufficient condition to achieve this goal would be to choose a control law u that satisfies ~s\x,t)<-Tj\s{x,t)\, 2 dt where 7 is a positive constant. This condition is referred to as the sliding (2.11) condition, which is strictly the 'switching condition,' and the control law that satisfies the sliding condition is called a sliding-mode control law. It should be noted that, considering s (x, 2 20 t) as a Lyapunov function, the sliding condition ensures asymptotic stability of the closed-loop system, as x (t) -> 0 with t -> oo. The sliding condition (2.11) can be expressed equivalently as ss<-rj\s\, or i sgn(s) <-7, (2.12) where: sgn(s) = <^ [ -1, (2.13) if s < 0. Hence, to satisfy the sliding condition, the control value must switch across the sliding surface so that the motion would always be directed toward the sliding surface; thus, the sign of s should be opposite to that of s. It guarantees that | s(x, t) | decreases (the minimum value being zero, which corresponds to reaching the sliding surface) when the state is not on the sliding surface, despite uncertainties and disturbances. That is, the state trajectory always moves towards the sliding surface, as illustrated in Figure 2-2 for two-dimensional case. It can be shown that the trajectory reaches the sliding surface within finite time. Once the state is on the sliding surface such that s = 0 and s= 0 simultaneously, then it will remain there; and if the state remains on the sliding surface, the tracking error converges to zero as indicated before. - x s(x,t) Figure 2-2 = 0 Motion toward the sliding surface (switching line in a two-dimensional phase plane) illustrating sliding mode control. 21 Now the discussion is focused on a second-order system (i.e., m = 2) for the derivation of the sliding-mode control law, which can be easily generalized. From Eq. (2.9): s = Ax+x; s = Ax+x=Ax (2-14) + x-x : d where x = f(x,t) + d +u (2.15) u is the system equation according to Eq. (2.4). Substituting these equations into the switching condition as given by Eq. (2.12) results in [Ax-x d + f(x,t) + d + u] sgn(^) < -TJ . u (2.16) Let the control u be chosen as u = -fix, t) - Ax +'x - K(x, t) sgn(s) , (2.17) d where - f(x, t) - Ax + x are the compensation terms (nominal or equivalent control) d and - K(x, t) sgn(s) is the term to overcome uncertainties of the system with K(x,t) as a function of time varying controller gain. Substituting Eq. (2.17) in Eq. (2.16) gives [f{x,t) - f{x,t) + d ]sgn(s) -Kix,t)<-rj, u or Kix,0 > 7 + W(x,t) + d ]sgn(s). (2.18) u Now the sliding (switching) condition can be satisfied if the controller gain function is chosen as Kix,t) = r + AFix,t) + d 1 ix,t) Utmax , (2.19) which clearly satisfies Eq. (2.18), as required, in view of Eqs. (2.6) and (2.7). Hence, for the second order system given by Eq. (2.15), a sliding mode controller can be expressed as Eq. (2.17) with K ix, t) given by Eq. (2.19). 22 2.1.3 Boundary layer It is discussed that sliding-mode control becomes discontinuous across the sliding surface in nature. In order to bring the system state onto the sliding surface fairly quickly, it will be necessary to perform extremely high speed switching among the control values. The ideal behavior of a sliding mode controllers may be achieved theoretically when the switching frequency becomes infinite. Since the implementation of control switching could not be done perfectly and the signals are discrete and possibly noisy, chattering may be always present, which is undesirable since it involves high control activity and may excite high-frequency dynamics. The larger the control discontinuity the more severe is the control chattering. Note that, in practice, a small delay in switching can cause the trajectory to overshoot the switching surface each time the control is switched. A way to eliminate chattering is to introduce a thin boundary layer neighboring the sliding surface and approximate the control law as a continuous function instead of discontinuous switching across the sliding surface. Then, a smooth trajectory can be achieved around the sliding surface, as illustrated in Figure 2-3 for the two-dimensional case, where 5 is the thickness of the boundary layer. However, in this modified case, the controller satisfies the sliding condition only when the state is outside the boundary layer, i.e., | s{x,t) | > 8. Accordingly, after a finite time, | s(x,t) \ < 8\ thus the tracking error is not guaranteed to converge to zero. Instead, the tracking error is kept within a predefined precision given by 5 (2.20) It should be noted that this precision does not imply that the presence of a steady-state error is inevitable due to the boundary layer. It means that the maximum tracking error is bounded despite uncertainties, and the tracking error can converge to zero depending on the level of uncertainties. To approximate the continuous control action inside the boundary layer, a saturation function, saX(s/8), is used in place of the signum function sgn(s): 23 f sIS, \i\sI5\<\\ lsgn(*/<5), 2.2 if>/J|>l. A S l i d i n g - M o d e C o n t r o l A l g o r i t h m for M u l t i - L i n k Robots The equations governing the dynamics of a multi-link robot manipulator can be expressed in the general form M(q)q + C(q, q)q + Dq + G(q) = u + d , u where # = [«7i,<7 >---<7,iJ ' 2 M(q)eR " m 7 ^ s m "-dimensional displacement e (2.22) response vector; is the system mass matrix; C(q,q)qeR contains the terms associated with n the centrifugal and Coriolis forces; Dq eR n represents the internal dissipative terms which are assumed linear; G(q) e R is the vector of elastic and gravitational forces; u is n 24 the control input; and d represents unstructured uncertainties and external disturbances, u where its upper bound is given as Id uJ Properties of Robot Dynamics: | <d j, i = u%max 1,2,..., n. Skew-Symmetry and Linearity With a proper definition of the matrix C, the matrix symmetric. in (2.23) Parameters M-2C becomes skew- Note that the matrix C can be defined in different ways that can still yield the same vector Cq for the centrifugal and Coriolis forces. This may be formalized using the concepts of energy of a system. Specifically, one may write = q (u + d -G-Dq), ~(q Mq) 2 dt T T u (2.24) which states that the rate of change of kinetic energy of the system must equal to the rate of change of work done by all the forces applied to the system (i.e., external power transmitted into the system). Since the centrifugal and Coriolis terms stem from the time derivative of the momentum terms and do not represent external forces, they are implicitly accounted for in Eq. (2.24). Now, differentiating the LHS of Eq. (2.24) and substituting Mq from Eq. (2.22), one obtains q (M-2C)q T = 0. (2.25) This is the so-called skew-symmetric property of robot dynamics. Another property states that the dynamic structure is linear with respect to a suitably selected set of system parameters. Hence, with a properly selected equivalent parameter vector <p e R , the terms on the RHS of Eq. (2.22) can be made to depend p linearly on q>, thus M(q)q + C(q, q)q + Dq + G(q) = Y(q,q, q)(p , 25 (2.26) where Y(q,q,q)e consists of known functions of the generalized coordinates. R nXp Then, the structured uncertainty bounds needed to derive the control law depend only on the parameters of a robot manipulator [49], which are linear in the system dynamics. Hence, (p ,which denote the structured uncertainty, may be given as e<i I <Pe,i H <P j ~<Pi^Pi. i = l,2,..., p, 0 (2.27) where <p j is the nominal value of <p , and p is the upper bound of the structured 0 t t uncertainty assumed to be known. Derivation of the Sliding-Mode Control Law Let the sliding surface be defined as s = [s ,s ,...,s ] T x where /2 = diag[/£ ] ; 2 (i = n = e + Ae = q - q + A(q -q ) d d 1, 2,..., n) and q = [qdi'1d2'--- ldn] ( d T (2.28) = 0, ^ s t n e "-dimensional desired response vector. Note that scalar function 5, is defined for each generalized coordinate qt, i = 1, 2, As discussed before, the boundedness of s implies the boundedness of e and e . Hence, the dynamics of the system can be transformed so that s is explicitly present, M(q)s + C(q, q)s + M{q)a + C(q, q)v + Dq + G(q) = u + d , u where v = q - Ae (i.e., s = q - v) and a = v (i.e., d (2.29) = q - a) are the virtual velocity and acceleration vectors. Eq. (2.29) It represents a notational manipulation to transform energy-related properties (expressed in terms of the actual states) to trajectory control properties (expressed in terms of the virtual states). Applying the equivalent parameter vector <p, the governing equations for motion of a multi-link manipulator can be written as M(q)s + C(q, q)s + Y(q, q, V, a)tp = u + d , u where 26 (2.30) (2.31) Y{q,q,v,a)<p = M(q)a + C(q,q)v + Dq + G(q) . In the previous section, it was mentioned that the sliding condition can be viewed as the Lyapunov condition to guarantee asymptotic stability by considering s as a 2 Lyapunov function. In a similar way, a Lyapunov function candidate for the closed-loop system of Eq. (2.30) can be chosen as V = ^s M(q)s where P e R" (2.32) + e APe, T T is a symmetric positive definite matrix. Note that Eq. (2.32) represents Xn the virtual mechanical energy of the closed-loop system. The second term is necessary to qualify Eq. (2.32) as a global Lyapunov function candidate. Hence, the sliding condition becomes equivalent to V < 0 at all the time. Differentiating Eq. (2.32) and replacing Ms using Eq. (2.30) gives V = s M(q)s T =s T [i + ^s M(q)s {M(q) T - + 2e APe T 2C(q, q)}s- , Y(q, q, v, a)<p + u + d APe , (2.33) = s [-Y(q, q, v,a)<p + u + d ] + 2e APe, T ] + 2e T u T u where the skew-symmetric property has been used to simplify the equation. Now, let the control law be chosen as u = -Ps + Y(q, q, v, a)q> - K 0 sgn(s) , (2.34) where the gain matrix K = diag[^",•], / = 1, 2,..., n. It should be noted that this control law could be divided in three components. The first term can be simply considered as a proportional-derivative feedback controller, which is obvious from the definition of s, and the second term is the dynamic compensation part. Thus, these two terms together can be viewed as a control structure having inner-loop dynamic compensation with a proportional-derivative outer-loop controller. The last term is designed to compensate for 27 the dynamics due to the structured and unstructured uncertainties of the system, which can be considered as the actual sliding-mode controller. In the known parameter case without any disturbances, the sliding-mode controller (i.e., the last term) is canceled, and the second term exactly compensates for the dynamics of the system. Now, substitution of the control law gives V = -s Ps T + 2e APe + s [Y(q,q, v, d)q> - Ksgn(s) + </„], T T e = -h Ph + s [Y{q,q, v,d)(p - Ksgn(s) + = -h Ph + Y)Si\[{{Y{q,q,v,a)<pe)t T T e T d ], u + <,}sgn(s ; ) - K,], 1=1 K-tfPh +^ S i +< \[\Y(q,q,v,a)p\ t m a x ,.-*,.], (2.35) (=1 where the positive definite matrix P = diag[A PA,P], T and the error state vector h = [e , e ] . It is clear that if the gain matrix K = diagJX, ] is chosen as T T T Ki =\Y{q,q,v,d)p\ i +d , umaxJ i= 1,2, (2.36) the control law satisfies the sliding condition, so that the closed-loop system is asymptotically stable and invariant despite structured and unstructured uncertainties. Furthermore, replacing the signum function with the saturation function, the sliding control law with boundary layer for multi-link manipulators may be expressed as u = -Ps + Y(q, q, v, a)<p - Ksat(s IS), 0 (2.37) where 6= \_5\, Si, ...,S ] is the vector of the thickness of the boundary layer. Note that T n s/S= [s\IS\, S2/S2, ...,sn/S„\ . T Figure 2-4 shows the structure of the sliding-mode controller with boundary layer. The predefined tracking precision for each generalized coordinate is specified as = -f, A i=\,2,...,n. 5 £i ( 28 (2.38) Ps q,q k—4^ s, v, a q,q Robot Ksn\(slS) Y(q, q, v, a) <p 0 —* K= Y(q,q,v,d)p+ d u>n v,a Figure 2-4 2.3 Y(q, q, v, a) q,q Structure of the sliding-mode controller with boundary layer for multi-link robot manipulators. Coupled Sliding-Mode In the previous section, it was assumed that an individual (sliding-mode) control input exists for each generalized coordinate, with the sliding surface defined as in Eq. (2.28). In this section, however, an alternative definition of the sliding surface, the coupled sliding-mode, is introduced, which can be applied to the cases where multiple (coupled) coordinates are controlled by a single actuator, or when the joints are not uncoupled as in a non-Cartesian robot. Consider a coupled dynamic system with two generalized coordinates, q\ and q . 2 Following the procedure in the previous section, two sliding surfaces can be defined as: s = e + X e = 0; x x x s = e + Ae x 2 2 2 2 = 0: (2.39) and independent sliding-mode controllers u\ and u can be designed with respect to s\ and 2 si, respectively. Now, the tracking errors of both q\ and q are guaranteed to converge to 2 29 zero or inside the boundary layer, even in the presence of uncertainties, when the slidingmode controllers u\ and u are properly designed to satisfy the sliding condition, as 2 discussed in the previous section. However, from the definition of sliding surface itself (2.39), it is not possible to satisfy the sliding condition for both coordinates by using only one of Mi and u . Therefore, when only one control input could be applied and also when 2 there is significant dynamic coupling among coordinates, the definition of the sliding surface must be modified in order to reflect the actual control objective. It should be noted that, in some cases with fewer control inputs than there are generalized coordinates, reasonably satisfactory control could be achieved simply through dynamic coupling. However, it is often desirable to implement active control methods with guaranteed control goals. Now, suppose that there is only one actuator, which drives the coordinate q\, and the primary control target is to satisfy the sliding condition for £71, and in turn the secondary control target for q . In order to satisfy both primary and secondary control 2 targets simultaneously, the information from the secondary target must be embedded in the control procedure for the primary target. To that end, redefine s\ as (2.40) s =(e, -w) + A e , l x x where w is an intermediate variable representing the information from the secondary control target, which is bouneded itself to guarantee the boundedness of s\. Hence, with the same definition of 52 as given in Eq. (2.39), the intermediate variable w is defined as w= (2.41) w sat(s /w ), m 2 p where w and w are positive constants, which transform to the proper range in terms of m p the primary target. The sequence of control using coupled sliding-mode is as follows. If s is not 2 zero, then w is not zero which in turn generates a control input that will move ,s toward 2 zero. As s -> 0, w -> 0, and then, S{ also moves toward zero. Thus, the control objective 2 30 is achieved. It should be noted that the gains w , w , and /fe are important when deciding m p relative weight placed on the primary and secondary targets. In fact, a practical distinction between the primary and the secondary control targets may be made through the selection of these gains. For instance, increasing w or /fe (also, decreasing w ) gives m p increased priority to the secondary control target. This coupled sliding-mode approach may be generalized for cases having more than two control targets, by adding the corresponding intermediate variables. For example, assume that there exists a third control target and its sliding surface is given by s -e 3 3 +Ae 3 (2.42) - 0. 3 Then, by redefining S2 as s =(e - w ) + 2 2 2 Ae, 2 2 (2.43) where 2 W = W m2 S a t multiple control targets could be achieved. 31 ( 3/ p2) S W > (2.44) 3. FUZZY SLIDING-MODE CONTROL In this chapter, first the necessary theoretical background of fuzzy logic is introduced, including the concepts of fuzziness, fuzzy logic operations, and fuzzy relation. With this foundation, details of fuzzy logic control such as rule base requirements, fuzzification and defuzzification methods, and the compositional rule of inference using crisp measurements are discussed. Next, by combining fuzzy logic control with sliding mode control presented in the previous chapter, a fuzzy sliding-mode controller is developed for multi-link robot manipulators. The rule base is established based on qualitative design guidelines, which incorporates characteristics of a slidingmode controller. Design parameters of the fuzzy controller such as membership functions and scaling factors are determined so that the performance of the system (i.e., trajectory tracking accuracy) can be specified using these controller parameters. 3.1 Fuzzy Logic In real situations, it is often not appropriate to assume only two crisp states (e.g., true and false) with a crisp line dividing them. Also, linguistic descriptors such as 'fast' and 'large' are not crisp quantities and tend to be quite subjective and qualitative. Fuzzy logic is a general form of logic that can realistically incorporate such non-crisp situations in the description and solution of the problem while conventional bivalent logic is inadequate to handle such situations. 3.1.1 Fuzziness versus probability Fuzziness is represented by a 'fuzzy set,' which does not have a crisp boundary, and the membership of an object in the set is not crisply defined. In a fuzzy set, whether a particular object belongs to the set is a matter of perception and is often subjective. On the other hand, probability is statistical inexactness due to random events. One may associate a degree of probability that a particular object belongs to a crisp set. However, 32 once the probability is revealed, the object has only two crisp states: included in the set or not. Specifically, concepts of probability are defined with respect to crisp sets. A fuzzy set can be represented by a membership function (or possibility function) denoted by ju (x), which gives the grade (degree) of membership within the set, for any element in the universe of discourse. In other words, The membership function maps the elements x of the universe of discourse X onto values (called membership grades) between 0 and 1. Specifically, / / (*):*-> [0,1], F (3-1) where JUF (X) is the membership function of the fuzzy set F. Hence, a universe of discourse and a membership function that spans the universe completely defines a fuzzy set. A fuzzy set F may be symbolically represented as F = {x\ u (x)}. / F (3.2) A membership function value of zero implies that the corresponding element is definitely not in the fuzzy set while a unity value means the corresponding element is definitely in the fuzzy set. Then, a value between 0 and 1 corresponds to a fuzzy (non-crisp) membership, and the corresponding element falls on the fuzzy boundary of the set. Figure 3-1 shows the Venn diagrams of a crisp set and a fuzzy set along with their membership function representations. Advantages and disadvantages of fuzziness and probability are summarized below: • Advantages of Fuzziness: - Approximate reasoning with qualitative and linguistic knowledge is possible; - Computation and inference making are flexible (soft); - It can easily represent situations with incomplete information; - More realistic representation of human-oriented intelligence is possible. 33 Universe X (Element x) Universe X (Element x) Crisp Set A Fuzzy Set F Crisp Boundary Fuzzy Boundary Membership Grade JUF{X) Membership Grade //^(x) H Fuzzy (a) Figure 3-1 • Fuzzy x (b) Venn diagrams and membership function representations: (a) a crisp set; (b) a fuzzy set. Disadvantages of Fuzziness - It can introduce unnecessary inaccuracies in crisp situations; - Prior knowledge and experience is needed in generating the knowledge base; - The decision making can be slow when large knowledge bases and many variables are involved. • Advantages of Probability - Appropriate for cases having random influences with associated probability distributions; - Mathematical procedures are well-established; - System parameters can be determined using crisp experiments. 34 • Disadvantages of Probability - Not flexible (soft) computational and reasoning procedures; - May fail when the available information (on the probability functions) is incomplete; 3.1.2 Reasonably accurate description of the problem is needed. Fuzzy logic operations The logical operations (connectives) such as complement (NOT), union (OR), and intersection (AND) must be extended to fuzzy sets for use in fuzzy reasoning and fuzzy logic control. Hence, these connectives must be expressed in terms of the membership functions of fuzzy sets on which are operated. Table 3-1 summarizes the mathematical expressions of the basic logical operations and Figure 3-2 shows their membership function representations. The rationale of using "max" for union is that, because the element x may belong to one set or the other, the larger of two membership grades should apply. In a similar way, "min" is applied for intersection because the element x must belong to both sets simultaneously. It should be noted, however, that other operators could be used. For example, JU (X)JUB{X) A can be used instead of min[/^(x),//g(x)] and min[l, instead of max[/j (x),/j (x)]. A B JUA{X)+JUB(X)\ More generally, triangular norms (r-norms and S-norms) can be used to represent complement, union, and intersection, where T-norm may be interpreted as a generalized intersection and S-norm as a generalized union [50]. Fuzzy logic is a quite general form of logic, and it satisfies most laws of logic operation such as commutativity, associativity, distributivity, etc. However, it may violate some of the laws of bivalent logic. In particular, the law of exclusion is not satisfied in fuzzy logic: A A A * 0. 35 Table 3-1 Mathematical expressions of fuzzy logic operations. Mathematical Representation Operation Symbols Complement (NOT) I Union (OR) AvB PAVB(X) = Intersection (AND) AAB JUAAB{X) = mm[// (x),// (x)] jU-7 Membership Grade Membership Grade (x) = 1 -ju (X) VX A max[// (x),// (x)] VxeX /) s A \/xeX B Membership Grade Universe of Discourse (Element x) (a) Universe of Discourse (Element x) (b) Membership Grade 1.0 / I I I I A B A / \ A /\ \ / \ \ I \ I \ I \ \ \ \ I \ AAB \ Universe of Discourse (Element x) (d) Universe of Discourse (Element x) (c) Figure 3-2 eX Membership function representations of fuzzy logic operations: (a) fuzzy sets A and B; (b) complement fuzzy set of A; (c) union of A and B; (d) intersection of A and B. 36 3.1.3 Fuzzy relations Consider two universes of discourse X\ ={x\) and X ={x2}. A fuzzy set R 2 consisting of a subset of ordered pairs (x\, x ) is a fuzzy relation in the Cartesian product 2 space X\ x X . The relation R may be represented by the membership function 2 Furthermore, let A\, A ,..., 2 A n JUR(X\,X ). 2 be fuzzy sets defined separately in the universes of discourse X\, X ,..., X , respectively. The Cartesian product, A\ x A x...x A„, of the 2 n 2 fuzzy sets is a fuzzy subset (i.e., a fuzzy relation) of the Cartesian product space X\ x X 2 x...x X . Its membership function is given by n = mm{// \(x\), JU {X ),..., A for \/xi&Xi, i=l,...,n. A2 2 ju {x )), An (3.3) n Note that "min" is applied here because each element (x\, x ,..., x„) 2 in the Cartesian product of the fuzzy sets is formed by simultaneously taking all the corresponding elements of individual universes. Fuzzv Implication (IF-THEN) Let A and B be fuzzy sets defined in the universes X and Y, respectively. The fuzzy implication A—>B (IF A THEN B) is a fuzzy relation in the Cartesian product space X x Y. Several mathematical representations of fuzzy implication are summarized in Table 3-2. Most fuzzy implication methods are based on the equivalent expressions of classical propositional calculus, which are globally applicable. But, Mamdani and Larsen implications are based on the concept that fuzzy IF-THEN rules are local, and do not imply any information outside the particular location. They are simpler to use and often provide more robust and accurate results, and thus, Mamdani and Larsen implications are the most widely used methods. Extension Principle The extension principle gives a method of extending standard (non-fuzzy or crisp) mathematical concepts to their fuzzy counterparts. Consider a crisp relation: 37 y = f(x ,x ,---,x ), l 2 f.Xi r xX o ! 3 2 (3-4) Y, where x are defined in the universes X i = 1, 2, ..., r, and y is defined in the universe Y. t h Suppose that x, are the elements of the fuzzy subsets A of X. Then, the relation / maps t elements (x\, x ,..., x ) within the Cartesian product , A\ x A x ... x A onto a fuzzy 2 r 2 r subset B of Y. According to the extension principle, jU (y) = s u p l m i n ^ i ^ i ) , ju (x ),..., ju {x )}}{ x x ,..., x ), B A2 2 Ar r u 2 (3.5) r together with the crisp relation given by Eq. (3.4). One should note that "min" is applied first because the relation among A is a Cartesian product, and then "supremum" is t applied because more than one combination of (JCI, x ,...,x ) will be mapped to the same 2 r element y in the fuzzy set B. Table 3-2 Representation of A-+B • AvB (AAB)VA Different interpretations of fuzzy implication. Comments Examples Same as in crisp binary logic A weaker (global) implication, meaning "A entails B" Dienes-Rescher Implication max{l- jU (x),/J (y)} Lukasiewicz Implication min{l,l-//^(x) + // (v)} A • B B Zadeh Implication max[min{/^ (x), /u (y)} ,1 - ju (x)] same as above B AAB A stronger (local) implication, meaning "A is coupled with B" 38 A Mamdani Implication mm{// (x),// (y)} A B Larsen Implication /^(*Wx) 3.1.4 Composition and inference Consider a fuzzy relation R in the Cartesian product space X\ x X x...x X and 2 suppose that the n indices are rearranged, with n = r + m, as: {1, 2,..., n) -» n i, i, 2 r j\,J2,---,jm}- Projection The projection of R on the subspace^Gi x X x...x X is denoted by i2 ir Proj[i?;^, x ^ x . . . x ^ ] , (3.6) 2 and the membership function of the resulting fuzzy set P is given by jUp{x x , ih x) = i2 sup ir {ju {x\, x ,..., x )}. R 2 (3.7) n Cylindrical Extension Now consider another fuzzy relation R in the subspace Xn x Xa x...x Xt . Its r cylindrical extension C(R), over the entire original space, is denoted by C(R)= j X l x X 2 M (x ,x ,...,x ) R x . . . x X „ n X a y , X ir 2 , . . . , X ( 3 g ) n Note that a cylindrical extension is a fuzzy set in the n dimensional space and is the converse of projection. However, the two successive operations C(Proj(i?)) may not necessarily results in the original fuzzy relation R. Join Let R and S be fuzzy relations in the subspaces X\ x X x...x X and X x Xm+i 2 r m x...x X , respectively, with m < r + 2; i.e., R and S can be disjoint. Then, in the overall X\ n x X x...x X space, 2 n 39 Mn(R, S) = C(R) A (3.9) C(S). Its membership function is given by JUJLXU x ,..., x„) = mm{jU (x\, 2 (3.10) x ,..., x ), // (s>(xi, x ,..., x )}. C(R) 2 n C 2 n Composition Let R and S be fuzzy relations in the subspaces X\ x X x...x X and X x X +\ 2 r m m x...x X , respectively, with m <r + 1; i.e., there is at least one overlapping axis (common n independent variable). The composition of R and S is given by R o S = Proj [ Join^, S); X x ], X .\, X x,..., X m r+ n (3.11) with the corresponding membership function M( o s) = sup {min(/4, p ) }. R (3.12) s X ,. . .yX m r One should note that the extension principle may be considered as a special case of the application of composition. Consider R as a crisp relation, while S is still a fuzzy relation. Now, let the crisp relation R be z = r{x). Then, ju (x, z)= 1 i f z = r(x) and R /u (x, z) = 0 otherwise. Accordingly, the sup-min composition can be given as R MR»S O) = S U P m i n L>c (*)» MR (X, z) ], = {sup min [// (x),l]} v {sup min [// (x),0]}, c z=r(x) z^r(x) = sup / / ( x ) , x c c z=r(x) which is in fact the extension principle. 40 (3.13) Compositional Rule of Inference Composition plays a crucial role in fuzzy inference and control. In fuzzy control, the control knowledge is embedded in a set of linguistic statements (rules) containing fuzzy quantities and employing the fuzzy implication. Let R denote the fuzzy relation formed by this collection of fuzzy control rules, and D and C denote the fuzzy relations that represent the context data and the control action, respectively. The compositional rule of inference states that C = DoR, (3.14) with the corresponding membership function given by // = sup min (/i ,p ). c D R (3.15) Y Here, Y denotes the space in which the data D is defined, and it is a subspace of where the rule base R is defined. The intersection of the cylindrical extensions (join) corresponds to the matching of the context with the rule base in the entire space, and the projection of the resulting fuzzy relation (from join) pertains to the inference concerning the nonoverlapping subspace where the control action variables are defined. 3.2 Fuzzy Logic Control A control rule in a fuzzy knowledge base is generally a fuzzy relation of the form IF A THEN IF B THEN C„ t t (3.16) where Ai and Bj are fuzzy quantities representing process measurements and C, is a fuzzy quantity representing a control input. Since these fuzzy sets are related through fuzzy implication, the membership function of an individual rule i?, may be expressed as ju {a, b, c) = mm[/^(a), /i ,{b), Aa(c)]. Ri B 41 (3.17) The individual rules are joined through the ELSE connective, which is a fuzzy union operation. Hence, the membership function of the complete rule base (fuzzy relation R) is given as /UR{a, b, c) = max JUR^O., i (3.18) b, c). Once the rule base is formed, control inference is determined by matching the process measurement with the rule base, during control. Suppose that fuzzy process measurements A 'and B 'are available. The corresponding control inference C 'is obtained using the compositional rule of inference: juc'(c) = sup mm[ju -(a), ju '(b), jU (a, b, c)] . a, b A B R (3.19) Note that actual process measurements are crisp. Hence, they have to be fuzzified in order to apply the compositional rule of inference. Conversely, each control inference C' must be defuzzified to a crisp value so that it can be applied as a physical signal to the control process. The architecture of direct fuzzy logic control is shown in Figure 3-3. Knowledge Base f • R: ELSE LIF Y< THEN (7, ] Defuzzification Inference Engine (Compositional Rule of Inference) jUu>(u) - /Uu'(u) ->u' Control Input u (Motor Current, Torque, etc.) Figure 3-3 ju (y)°R Process (Robot) r '• Fuzzification y' ~>MY'(y) Output y' (Joint Motions, etc.) Structure of a direct fuzzy logic controller. 42 3.2.1 Design parameters and steps A formal procedure to design a fuzzy logic controller can be summarized in the following manner. First carry out the off-line activities: 1. Develop a set of linguistic control rules that will contain the process states (antecedent) and control action (consequent) variables with proper fuzzy states for the variables. 2. Determine the membership functions for the fuzzy states. The type (shape) of membership function varies according to the nature of the fuzzy set. The most common shapes include triangular-, trapezoidal-, and bell-shaped functions. 3. Decide on the normalization and denormalization scaling factors with respect to the physical domain of the system. 4. Apply fuzzy implication to each rule i?, with the corresponding membership functions, to obtain the membership function of that rule, and combine the relations R t using fuzzy connectives (AND, OR, NOT) to obtain the overall fuzzy rule base (fuzzy relation R). 5. Decide on the fuzzification and defuzzification methods. Then, in real time, control actions are determined as follows: 1. Fuzzify the crisp process measurements (e.g., as fuzzy singleton). 2. Match the fuzzy measurements with the rule base R using the compositional rule of inference to the corresponding fuzzy control inference. 3. Defuzzify the fuzzy control action inference (e.g., centroid method). It should be noted that this procedure is quite general, and some variations would be possible. For example, an alternative approach would be to construct a crisp decision table off-line in order to reduce the on-line computational effort. Here, along with the offline development steps, the on-line procedure given above is also performed off-line using a discrete set of values in the measurement space (as the condition axis of the 43 decision table), instead of on-line measurements. Then, during operation, the decision table is referred to and the control action is determined. Rule Base Requirements A knowledge base in fuzzy logic control should meet the following conditions. It should be noted that these conditions are somewhat ideal requirements, where some of them might be contradictory and some others complementary. • Completeness: A rule base is complete if at least one rule is specified for every possible state of the system, giving a meaningful inference (control action) corresponding to that state. However, this condition need not to be strictly satisfied since less important or unnecessary rules can be omitted from a rule base without seriously affecting the system performance. • Rule Interaction: If rules interact, antecedent of a particular rule, when composed with the rule base, may not necessarily result in the consequent of the same rule. In that case, the stronger rules dominate the inference and the weaker (uncertain or inaccurate) rules may not provide an action exactly as predicted by the rule itself. • Consistency: A rule base is consistent when there are no contradictory rules. That is, for one antecedent, the rule base should not possess different consequents. • Continuity: A rule base is continuous if, when the condition of fuzzy sets overlap, the action fuzzy sets also overlap. Continuity in a control rule base can provide smooth and chatter-free performance in a control system. Fuzzification Fuzzification is a mapping from a crisp value to a fuzzy set. The most common and simple method is singleton fuzzification, which assigns a membership grade of 1 at the measurement point (a ) and 0 elsewhere: 0 JUA '(a) - 1 if a=a ; /J '(a) — 0 otherwise. 0 a 44 (3.20) Defuzzification Defuzzification is a mapping from a fuzzy set to a crisp value. Several methods are available for defuzzification of a fuzzy control inference. The following considerations may be made in choosing a proper defuzzification scheme. • The defuzzified crisp value should clearly represent the original fuzzy Plausibility: set; for example, it may lie approximately in the middle or may represent the peak grade of membership of the fuzzy set. • Computational • Continuity: Simplicity: This is particularly important in real-time operation. A small change in the original fuzzy set should not result in a large change in the defuzzified crisp value. The most common method is the center of gravity (centroid) defuzzification: \ u {c)dc d = £ ^ Cj c c . o r c . fif£ = c . 2>c( /) ( 3 2i) c J Mc( ) c _Z iMc( i) dc ceS CjtS where /Uc{c) is the membership function of a control inference, c 'is the defuzzified crisp inference, and S = {c \ judc) > 0} is the support set (crisp) of the fuzzy set. Note that the first equation of (3.21) is for the continuous case while the second equation for the discrete case. The centriod method shows good performance in terms of plausibility and continuity. It is a robust procedure which generates relatively smooth and less oscillatory process response. 3.2.2 Individual rule-based inference: Decision making with crisp measurements Typically, the process measurements are crisp. To apply this crisp information directly in making control inferences, an equivalent expression to the compositional rule of inference given by Eq. (3.19) can be derived. Suppose that the rule base is given as E L S E 0 4 , , Bj) 45 C, k (3.22) in which the possible combinations o f fuzzy state (i,j) of A and B depend on the number of rules, and the fuzzy states k o f C are determined by the particular rule considered. Next, suppose that the crisp measurement set (a , b ) is obtained for the process output (a, 0 0 b). B y using singleton fuzzification these measurements may be represented as: PA id) = 5(a-a ); ju ib) = 5(b-b ): 0 B (3.23) 0 where 5(x-x ) = 1 at x=x and 0 otherwise. Then, the corresponding control inference C' 0 0 is determined from the compositional rule o f inference as jUcic) = sup min{S(a-a ), S(b-b ), max min\jU i(a), ju {b), pciic)]}. 0 A 0 a, b Bj (3.24) i,j The two ' m i n ' operations may be combined and, due to its nature, singleton function may be absorbed into the combined ' m i n ' . Hence, /udc) = sup max mm.{/i (a)-£(a-a ), Ai a, b jU {b) -S(b-b ), juckip)}. 0 Bj 0 (3.25) i,j Again from the definition o f the singleton function, judc) = max min{jU i(a ), ju (b ), /Jckic)}. A 0 Bj 0 (3.26) This is the most common form o f the compositional rule o f inference that is used in decision making o f fuzzy logic control. It is quite simple and computationaly more attractive since each rule is considered separately and in terms o f the membership grades of the constituent condition variables only at the measurement points. 3.3 F u z z y Sliding-Mode C o n t r o l A fuzzy logic controller is commonly designed with respect to the phase plane constituted by the error and the change o f error o f an appropriate state. A fuzzy value for the inference (control action) is mapped to error and change o f error according to the location o f the states in the phase plane. Comparing this fact with the concept o f slidingmode control, it is intuitively clear that the two control methods resemble each other, provided that an appropriate rule base is derived. In fact, a fuzzy logic controller may be interpreted as an extension o f a sliding-mode controller with a boundary layer. 46 Specifically, i n the present study, a fuzzy sliding-mode controller is developed by approximating (fuzzifying) the sliding-mode control law with boundary layer, for multilink robot manipulators o f E q . (2.37), u = -Ps + Y(q, q, v, a)<p - j5Tsat(s / S) . Q M a n y ways are possible to approximate this control law using fuzzy logic. One may design a fuzzy logic controller by computing the values o f the right-hand side o f the control law (Eq. 2.37) at a series o f regular points i n the phase plane and associating these values with fuzzy states. O n the other hand, as discussed i n the previous chapter, the last term o f the control law (Eq. 2.37) may be denoted as the characteristic component o f the sliding-mode controller for overcoming structured and unstructured uncertainties. Therefore, it is reasonable that the practical approximation i n development o f a fuzzy sliding-mode controller is carried out only for the last term o f the control law (Eq. 2.37). Hence, a fuzzy sliding-mode control law lips for multi-link robot manipulators may be given as u =-Ps + Y(q,q,v,a)<p +u , FS 0 f (3.27) where u f *-Kszt(slS). (3.28) Variables and notations presented in Chapter 2 are consistently used i n the sequel. It is intuitively clear that the control law (Eq. 3.27) satisfies the sliding condition, as long as E q . (3.28) is fulfilled, and thus the tracking error converges to some precision band in the presence o f structured and unstructured uncertainties. Figure 3-4 shows the structure o f a fuzzy sliding-mode controller for multi-link robot manipulators. The block of «/-(= [uf\, up.,..., Ufnf) represents the fuzzy controller part, whose general procedure is illustrated i n Figure 3-3. The fuzzy controller term « / i s discussed i n detail toward the end o f this chapter. It should be noted that the individual controllers Uf, (i = 1, 2, n) for each generalized coordinate have the same structure. Hence, i n the following discussions, a single fuzzy controller is considered, and in the notations o f variables, the subscript i is omitted (e.g., u/for Ufi). 47 Ps q,q s, Sp, 0—• v, a 4+ S, Sn Y(q,q,v,a) v, a Figure 3-4 Robot Y(q,q,v,a) (p a q,q Structure of the fuzzy sliding-mode controller for a multi-link robot manipulator. Qualitative Aspects of Rule Base Design An important step in development of a fuzzy sliding-mode controller is the building of a proper rule base according to the characteristics of sliding-mode control. To that end, some qualitative aspects of designing the rule base for a fuzzy sliding-mode controller are given below, with respect to the phase plane. It should be noted that what is given is the overall format of the rule base. Some decisions regarding the choice of parameters and associated tuning might be needed in building the rule base. The control output should be close to zero in the vicinity of the switching line. The control output and the scalar function s should have opposite signs. The magnitude of the control output should increase as the distance between the state and switching line increases. The magnitude of the control output should increase as the distance between the state and the line perpendicular to the switching line at the point e = e = 0 increases, for the following reasons: - discontinuity at the boundary of the phase plane can be avoided; - states can reach the vicinity of the target point e = e = 0 more quickly. 48 Advantages of Fuzzy Sliding-Mode Control With respect to the qualitative aspects of rule base design, the advantages of fuzzy sliding-mode control over conventional (crisp) sliding-mode control can be summarized as below. It should be noted that, unlike sliding-mode control with a boundary layer, fuzzy sliding-mode control generates a piece-wise linear control function in terms of s, as shown in Figure 3-5, and the slope of the function varies depending on the distance to the switching line. • Faster approach to the switching line and the origin e = e = 0 since, in fuzzy sliding- mode control, the approach velocity of the state vector to the switching line and to the origin increases as the state is farther away from the switching line and the origin. • Smoother transition of control output: (i) near the switching line due to the continuous slope across the line; and (ii) at the boundaries of the phase plane since the control output varies with the distance to the line perpendicular to the switching line at the origin. • Higher robustness since the control action for overcoming uncertainties can be specified at different levels, which will provide better capability of forcing the states toward the switching line despite system parameter changes and disturbances. Figure 3-5 Approximate representation of the control curves with respect to s: (a) sliding-mode control with a boundary layer; (b) fuzzy sliding-mode control. 49 In addition, comparing with conventional fuzzy logic control, one obvious benefit of fuzzy sliding-mode control is that the stability consideration can be resolved from an analytical viewpoint. Furthermore, the design of rule base would be simpler in view of the availability of qualitative guidelines. Accordingly, it can reduce the number of control rules needed which, in turn, will significantly reduce the on-line computational effort. 3.3.1 Design parameters of the controller Rule Base It is intuitively clear that in the present rule base the rule consequent is the control action and the rule antecedents should be the distance between the system states and the sliding surface (s) and the distance between the state and the line perpendicular to the switching line at e = e = 0 (s ). The crisp values of these antecedents are defined as p . s = e + Ae; s P 1 =e e . (3.29) X P Note that, without loss of generality, the coupled sliding-mode concepts can be applied instead of the uncoupled definition of s given in Eq. (3.29) as discussed in the previous chapter. On the other hand, since both s and s are functions of e and e, one can consider p e and e as the rule antecedents. However, it may increase the number of control rules, and, as a result, become impractical to properly incorporate the necessary concepts of sliding-mode control, such as coupled sliding-mode. Now, using 5 and s as the rule antecedents, the control rule base is given as: p Rule 1 If S is NL, THEN UF is PL; Rule 2 If S is NM, THEN UF is PM; Rule 3 If S is NS, THEN UF is PS; Rule 4 If S is NVS AND SP is NL, THEN UF is PS; Rule 5 If S is NVS AND SP is PL, THEN UF is PS; Rule 6 If S is ZR AND SP is ZR, THEN UF is ZR; 50 Rule 7 If S is PVS AND SP is NL, THEN UF is Att; Rule 8 If S is PF5" AND SP is PL, THEN UF is Att; Rule 9 If S is PS, THEN UF is Att; Rule 10 If ^ is PM, THEN UF is ATM; Rule 11 If S is PZ, THEN UF is M , . Here, individual rules are connected by union (OR), and the fuzzy variables S, SP, and UF represent s, s , and the control action. The fuzzy states of these variables are defined p as: NL (negative large); NM (negative moderate); NS (negative small); NVS (negative very small); ZR (zero); PVS (positive very small); PS (positive small); PM (positive moderate); PL (positive large). It should be noted that the effect of s is considered only p when s is relatively small since, when the system state is far away from the switching line, the control action is quite large and s has a relatively low effect on the magnitude of p the control action. Scaling Factors and Membership Functions In the present development, fuzzy logic control is designed in a normalized domain where the support set of each fuzzy variable is limited to the interval [-1, 1], and the actual processing of fuzzy rules will take place within the normalized domain. This is advantageous since the controller design can be done independent of the physical domain of the system. The necessary scale transformations of input/output variables are for problem normalization given by: S n= N s S > pn= sp p'> S N S f= f 'fn> U K U (' ) 3 30 where N and N are the normalization scaling factors which map the values of s and s in s sp p the physical domains of s„ and s to the normalized domain (before fuzzification). Kf is pn the denormalization scaling factor which maps the crisp control action Uf„, obtained in the normalized domain, to Uf in the physical domain (after defuzzification). It should be noted that these scaling factors play a role similar to that of gain coefficients in a 51 conventional controller, and thus, they are important design parameters for controller performance and stability related issues. The rule membership functions in the normalized domain [-1, 1] are shown in Figure 3-6. Triangular shape is used since it is a common membership function form, and the parameterization of its expression is rather simple. Each variable has its own set of fuzzy states in order to properly represent the variable. The membership functions are symmetric about the membership grade (vertical) axis, and are parameterized using the peak grade (i.e., 1) points of the fuzzy sets, denoted by C\f ] uzzy set the membership function of ZR in Figure 3-6. Note that does not have zero membership grade in the spn normalized domain because s is considered to be much fuzzier and has a relatively small p effect on the control inference (parameterized using C ). The choice of some of these ZRspn parameters and scaling factors is closely related to performance specification (i.e., tracking accuracy), which is discussed later in this chapter. The remaining parameters, which are not directly provided through performance specification, may be determined based on the particular system. However, these choices may have a relatively small effect on the performance of the controller. Inference Engine and Fuzzification/Defuzzification Methods The individual rule-based inference method with singleton fuzzification is applied in the present development. Specifically, jUuf„ >(u ) = max min{/4„,,(5„, ), ju {s , ), fn 0 spnj pn 0 /ty,,.*(w/„)} > ( - 1) 3 3 ••j where / 4 / „ ' is the fuzzy control inference, and s and s no prii0 are the crisp contexts values. Also, the center of gravity (centroid) defuzzification is used, as given by l \ fn Vufn'i fn) U U »'fn=— fn du • l \Mufn'i fn) fn U 52 du P-32) Figure 3-6 Membership functions in the normalized domain: (a) distance to the switching line s„; (b) perpendicular distance s ; (c) control action u/„. pn 53 3.3.2 Performance specification: T r a c k i n g accuracy In sliding-mode control with a boundary layer, the sliding condition is satisfied outside the boundary layer 8, and the tracking error is ultimately bounded within the boundary layer. An important factor in achieving this behavior is the output gain K. In particular the output gain may be chosen as the minimum magnitude that will satisfy the sliding condition (i.e., K in Eq. 2.36) when \s\ = 8. Then, as long as the magnitude of the output gain is larger than K in the region of \s\ > 8(i.e., outside the boundary layer), the tracking error is ultimately bounded inside 8. On the other hand, in fuzzy sliding-mode control, it is not straightforward to derive the same conclusion as for the crisp case due to the nonlinear and fuzzy relationship between the input and the output variables. The exact boundary layer that gives the ultimate bound of tracking error may not be identified even though it exists. However, with the rule base and the membership functions specified in the previous section, it is possible to identify the exact boundary layer, and in turn, to specify the ultimate bound of tracking error using controller parameters. It is clear that, when s„ = Cps , only rule 9 is fired with full membership grade in sn PS , which gives the membership function of NS f„ as the fuzzy control inference. If sn u 2 CpSufn = (3.33) CpMufn, the defuzzified crisp control inference becomes -Cps fnu Now, consider the region where Cpssn < s < 1. In this region, since all the fuzzy states of s„ except PS , PM , n sn sn and PL sn can only have a zero membership grade, only rules 9, 10, and 11 are possibly fired. Figure 3-7 shows the inference membership functions (shaded area) for different crisp contexts of s„ using the individual rule-based inference method. One can notice that as s„ increases (toward CpMsn), rule 10 as well as rule 9 will affect the inference membership function, which will shift the centroid of the overall inference membership function toward -CpMufn- Similar comment can be made for the situation where s„ further increases to 1. The resulting inference curve in this region is shown in Figure 3-8. In brief, the crisp control inference is a continuous monotonically decreasing function of s . Due to the n 54 symmetry of the rule base and the membership functions, similar results can be given for the opposite region of s„. (c) Figure 3-7 Inference membership functions (shaded area) for different crisp context values of s„ (s ) in the region Cps <s„<l. n>0 Figure 3-8 sn Crisp inference curve in the region Cps <s„< 1. sn 55 In the region -Cps < sn where the perpendicular distance sp also becomes s < Cps n sn effective, one can examine the crisp inference in a similar way. Figure 3-9 shows the resulting crisp control inference surface in this region along with the overall surface in the normalized domain. Since the fuzzy states of the rule consequents that can be fired in this region are NS /„, ZR f and PS / , the maximum magnitude of the crisp inference is u u n u n upper-bounded by Cps fr- Hence, one may relate the boundary layer to Cps where its u sn magnitude of the crisp inference (Cps f ) is associated with the minimum control output u n gain that satisfies the sliding condition. To that end, the boundary layer can be defined as S=^ - , (3.34) and the fuzzy output gain Kf (denormalization scaling factor) is chosen as K =K/C , f PSufn (3.35) where K is defined as in Eq. (2.36). Hence, from Eq. (2.38), the ultimate bound of tracking error is given by s= =^-. < 56 (3.36) Figure 3-9 Crisp control inference surface of a fuzzy sliding-mode controller in the normalized domain: (a) -Cps <s„< Cp&„; (b) -1 < s„ < 1. sn 57 4. C O N T R O L O F A M A N I P U L A T O R : S I M U L A T I O N S T U D Y The control techniques discussed in Chapters 2 and 3 are applied here to a robot model, and the performance of these control methodologies is evaluated using computer simulations. A schematic diagram of the manipulator which is studied is presented in Figure 4-1. The system model represents a single-module deployable manipulator mounted on a fixed base with a point-mass attached to the end effector. The robot has two rigid links. The first link performs slewing motion through a flexible revolute joint while the second link carries out deployment and retrieval operations using a rigid prismatic joint. All maneuvers are confined to a horizontal plane. The effectiveness of the control system is assessed during both commanded maneuvers using a sine-on-ramp profile and trajectory tracking (straight line and circle) operations. Deployable Link (Rigid) Point-Mass Payload Base Figure 4-1 Schematic diagram of a single-module deployable manipulator. 58 4.1 Formulation of the Manipulator System The model of the single-module deployable manipulator is shown in Figure 4-2. Here: m\,m2 = mass of the slewing and the deployable links, respectively; m = mass of the payload attached at the end of the manipulator; I\,h = moment of inertia of the slewing and the deployable links, respectively; l\,h = length of the slewing and the deployable links, respectively; l\ = distance between the slewing axis and the center of mass of the slewing p c link; 12 C = distance between the end of the manipulator and the center of mass of the deployable link; J = moment of inertia of the rotor of the revolute joint motor; K , Q = stiffness and damping coefficients at the revolute joint, respectively; s 59 Generalized Coordinates The vector of generalized coordinates that completely describes the motion of the manipulator model is given as q = [0 where: d (4.1) a] , T 0 = total slewing angle; d = deployed length (between the ends of the slewing and the deployable links); a = motor rotation angle (rigid component of the slewing angle). Note that 0= a + J3, where /?is the deformation angle of the torsional spring with respect to the motor rotor (flexible component of the slewing angle). In the present model, the joints are assumed to be direct-drive type, i.e., they do not employ gear transmissions. Governing Equations of Motion The equations of the system dynamics are obtained using the Lagrangian approach [51], ± ^ . ? L J L dt dq dq dq S + a + l ± dq = Q, (4.2) where T and U are the total kinetic and potential energies of the system, Rd represents energy dissipation, and Q is the vector of non-conservative generalized forces associated with the generalized coordinates, including control inputs. The final expression for the equations of motion in the matrix form may be written as M(q)q + C(q, q)q + Dq + G(q) = Q = u + d , u (4.3) which is of the same form as the equations of motion for a multi-link robot manipulator given in Eq. (2.22). Here, the generalized forces are separated into two parts as control inputs u and external disturbances d . Details of the formulation including kinetic and u 60 potential energies of the system and the matrices of the equations of motion are given in Appendix I. Specified Coordinates In some cases, the system may operate under a set of specified constraints. Such constraint can be included in the equations of motion by using Lagrange multipliers. The constrained equations of motion are Mq + F = Q u + P A , d where: F -Cq + Dq + G ; ueR (4.4) C is a vector containing the n control forces and torques nc a (d = 0 without loss of generality); Q is the matrix assigning the components of « to the d u actuated coordinates; AeR" c is the vector containing n Lagrange multipliers; and P° is c the matrix assigning the Lagrange multipliers to the constrained equations. The equations of motion (4.4) can be rewritten in the form q+F g where F g = M~*F, F" = M' Q , 1 d -F"u = F A, (4.5) 5 and F = M " P . S 7 C Separating the specified coordinates q„ from the generalized coordinates q one can write g (4.6) u= From the equations associated with the specified coordinates, the Lagrange multipliers may be determined as A = Fr\q,+F*-F, u). (4.7) u For example, q is implemented as d - 0 if the deployment length is locked at a certain s position, and 9 = a if the revolute joint is considered rigid (i.e., 61 0-a). Transformation of the Governing Equations of Motion: Linear Parameterization As discussed in Chapter 2, linear parameterization of the equations of motion is needed for the control algorithm. Rewriting Eq. (2.31), Y{q, q, v, a)<p = M(q)a + C(q, q)v + Dq + G(q) . Note that the equivalent parameter vector <p e R is not unique since the choice of the set p of system parameters can vary. With the desired response vector qa and the error vector e, the virtual velocity and acceleration vectors are given as: v = q -Ae = \y i v l a = q\-Ae = \a v f; 2 3 x a 2 (4.8) aj. Hence, I +Vcl x I +m (l 2 2 -i x c 2 y ,2 m~, m. (4.9) <P ™ (l 2 -l ) x c2 mj J and a x a a x \ Yu *15 Y Y Y(q,q,v,a) = 0 0 0 0 0 0 u gsmd 25 0. 0 Y ^18 X1 0 -t% -a> 0 0 0 x x e-a 6-a 0 0 a-0 a-0 0 0 3 fl where: Y\A = Y\i = Y 24 ^15 = da + d0v + ddv + gd sint9; 2 x 2 x Y\% = 2da + 0v + dv x -Y 25 2 - a -d0v 2 x +gsin0; -gcos0. x 62 (4.10) 4.2 Uncertainties and C o n t r o l l e r Parameters Structured and Unstructured Uncertainties Structured uncertainties of the system are simulated using unknown and timevarying system parameters. Specifically, while the parameter values of the first (slewing) link are considered known, the payload mass and the parameters related to the second (deployable) link are unknown and time-varying. Note that the lower and upper bounds of the time-varying parameters are assumed to be known. It is intuitively clear that since the manipulator is modeled as a lumped-parameter system, the modeling errors are inevitable. Furthermore, the payload may not be exactly a point mass as modeled and its mass and shape can vary while performing maneuvers of a specific task in practice. Thus, it is reasonable to consider the parameters of the second link to be unknown and timevarying as the payload can be considered as an integral part of the link. The nominal values of the system parameters used in the computer simulations are given in Table 4-1. Note that the values of m , m , l , l 2, and I , are the average between their lower and 2 p 2 C 2 upper bounds, which are given in Table 4-2, while the others are priori-known values. From this prior knowledge of system parameters, the nominal equivalent parameter vector <p and an upper bound for the structured uncertainty p are given in Table 4-3 and 0 Table 4-4, respectively. Note that there is no need to compute the actual parameter vector <p. Along with the structured uncertainty generated by the time varying parameters, unstructured uncertainties of the system such as friction are also simulated by adding a disturbance (either random or sinusoidal) to the joints, which has the upper bound K/|<5, i = l,2. (4.11) The subscript i = 1 and 2 denote the first (revolute) and the second (prismatic) joints, respectively. Figure 4-3 shows the time history of uncertainties used in simulation. Note that the time history of random disturbance changes in each case of simulation (as "random" indicates). 63 Table 4-1 m [kg] x m 2 3.0 Nominal values of the system parameters. [kg] m [kg] h [m] 5.0 1.0 p 2.0 h [kg-m ] J[kgm ] 0.25 0.1667 2.0 Table 4-2 2 [kg] m P 1.8-2.2 0 0.9-1.1 0.5 [Nm/rad] s 0.5 Crf [Nm-s/rad] 0.0 1000 5.0 2.0 l c2 [m] h [kgm ] 2 0.109-0.225 0-1.0 Nominal parameter vector <p„. <Po,5 5.0 <Po,l 1.5 1.0 5.0 #>,9 <%,10 ^0,11 0 1000 2.0 Upper bound of structured uncertainty p. Table 4-4 A 2 0-10.0 <Po,2 0.667 / [m] [kg] Table 4-3 1.0 K [m] c2 Lower and upper bounds of unknown and time varying parameters. m <Po,\ 2 2 l h\ [m] 2 1.0 h [kg-m ] 2 / [m] Pi Pi A P5 0.442 5.0 0.2 5.0 A Pi Pi 0 1.0 5.0 64 AO 0 0 0 Mass of Deployable Link Payload 0 1 2 3 1 4 Length and C.O.M. of Deployable Link 2 3 Inertia of Deployable Link 0.25 [kgm ] 0.15 0 1 2 3 0 4 1 2 3 4 Random Disturbance: Prismatic Joint Random Disturbance: Revolute Joint u2 [N] l [Nm] 0 1 2 3 0 4 1 2 3 Sinusoidal Disturbance: Prismatic Joint Sinusoidal Disturbance: Revolute Joint u2 [N] l [Nm] Figure 4-3 Time-varying uncertainties applied during simulation. 65 4 Tracking Accuracy Specification and Controller Parameters As discussed, the controller parameters are determined based on the tracking accuracy specifications. One has the flexibility to decide on the maximum acceptable tracking error, and the controller parameters can be adjusted to achieve this accuracy. In the present simulations, the ultimate bounds of tracking errors are chosen as: s = 0.004 rad = 0.23 °; x s = 0.002 m. (4.12) 2 Then, from Eq. (3.36), At, N x and C s ,i are chosen in relation to each other. Usually, A s P sn t is determined first, and N j and Cps .i are chosen accordingly. Also, Cp f j = 2Cp f„j s : sn mu n su (Eq. 3.33). Note that some parameters are not directly determined from the specifications. This is the case, for example, for the full membership grade points of the fuzzy sets PVS ,i (Cpyssn.d, PM sn snJ and C ZRspni (Cp „,d, and PS ,i (Cp ^; the normalization gain of s (N ,i); Ms ufn sufn pJ sp representing the level of the fuzziness of fuzzy set ZR j. Initially, these spn parameters are chosen in somewhat arbitrary manner, and then adjusted throughout by trial-and-error. However, most of these choices may not have a significant effect on the overall performance of the controller. Some simulation results will be given on the effects of these parameters. Table 4-5 summarizes the controller parameters that are used in simulations throughout the present chapter, unless specified otherwise. For comparison, the same tracking accuracy and A are applied to both the sliding-mode and the fuzzy t sliding-mode controllers. The positive definite matrix is chosen as P = diag [20]. Table 4-5 At N i =1 4 12.5 i=2 4 25 Design parameters of the controllers. Cpyssn.i Cpssnj CpMsnJ C ZRspnj 250 0.1 0.2 0.5 0.1 0.2 500 0.1 0.2 0.5 0.1 0.2 sJ 66 Cpsufn, i 4.3 Evaluation of the C o n t r o l Algorithms: Simulation Results and Discussion The manipulator is commanded to carry out simultaneous slew and deployment maneuvers in the horizontal plane (g = 0). This type of maneuver is common for a manipulator that carries an object from one position to a desired position within a specified time interval with constraints on velocities and accelerations. Specifically, in simulations, the manipulator slews from zero to 60° while it deploys from 0.1 m to 0.5 m in 2 seconds, following sine-on-ramp profiles. Also, the revolute joint is considered as rigid, using the constraint equation a= c?with K - Cd = 0, in order to focus on evaluation s of the control algorithm itself with a relatively simple system. The control of joint flexibility will be discussed in the next section. A sinusoidal acceleration profile that is adopted for the reference maneuver assures zero velocity and acceleration at the beginning and end of the maneuver, which will correspond to a typical robotic tasks and also reduce the natural (homogeneous) structural response of the system. The time-history considered is as follows, (4.13) where qd is the desired coordinate trajectory; Aqd is its variation; t is time; and At is the time required for the maneuver. The normalized time histories for qd, q , and q are d d shown in Figure 4-4. Controlled Response of the System with Uncertainties First, the manipulator is controlled using a proportional-derivative (PD) controller with feedback dynamic compensation. As discussed in Chapter 2 the sliding-mode control law of Eq. (2.37) without the term jXsat(s / S) can be considered as a PD controller with feedback linearization. Figures 4-5(a) and (b) show the responses of the 67 0 Figure 4-4 0.5 t/At 1 Normalized time history of the sinusoidal maneuvering profile showing displacement, velocity, and acceleration. system without and with uncertainties, using the same PD controller gains that are derived from A and the positive definite matrix P. When uncertainties are not present, the controlled response follows the desired trajectory with negligibly small error 0.02°; 0.2 mm). However, with uncertainties, the performance is judged poor and unacceptable since the maximum error exceeds 5° and 20 cm, which is expected since the feedback linearization technique requires a reasonably accurate model of the system. It should be noted that the performance might be improved by adjusting PD gains, but it still will not guarantee the stability of the system in the presence of uncertainties. Figure 4-6 shows the responses of the system using sliding-mode control (SMC) with a boundary layer and fuzzy sliding-mode control (FSMC). Structured and unstructured uncertainties are simulated as in the previous case. It is clear from the results that the performance is significantly improved with both controllers. The tracking errors are bounded within the specified maximum (0.23°; 2 mm) in the presence of uncertainties. The actual maximum errors are 0.18° and 1.8 mm for SMC, and 0.1° and 1 mm for FSMC. It should be noted that the overall discontinuous shape of the control 68 input might be due to the discontinuous random disturbance that is implemented. The chattering that results due to discontinuous control neighboring the switching line, is considered insignificant in this case. To assess the controllers under more demanding conditions, the tracking accuracy is specified as 1/10 of the previous case (0.023°; 0.2 mm) as shown in Figure 4-7. Note that the normalized gain of FSMC is changed (N i = 125; N 2 = 250) to incorporate this s S specification. The maximum tracking errors (« 0.005° and 0.05 mm for both SMC and FSMC) are negligibly small, and much less than the specified values. However, although the overall magnitudes of the control inputs are similar to those in the previous case, chattering of the control input is significantly increased. This is clear from the fact that a decreased thickness of the boundary layer increases the control discontinuity in the neighborhood of the switching line. In fact, without a boundary layer (zero tracking error), infinite frequency of control switching will become inevitable. Therefore, there exists a trade-off between tracking accuracy and control demand. 4.3.1 Comparison of SMC and FSMC In the previous simulations, one notices that the maximum error for FSMC is somewhat less than that for SMC. This difference is not very significant, however Figure 4-8 shows the relative in accuracy more clearly. Here, unstructured uncertainty is simulated using the sinusoidal disturbance. Unlike the random disturbance, it enables one to implement the same time history and frequency of disturbance to both SMC and FSMC, which makes the comparison more fair. Also, the disturbance is applied only for the first two seconds of simulation to observe the convergence of the response upon removal of the disturbance. The results clearly show that the maximum error for FSMC (« 0.07° and 0.7 mm) is less than that given by SMC (« 0.11° and 1.2 mm). In fact, the error given by FSMC is consistently smaller through the response. Accordingly, FSMC shows a faster convergence of response. 69 In general, as discussed in Chapter 3 (Section 3.3), FSMC is more robust and gives a faster system response than SMC, due to the piece-wise control surface generated in terms of the distance (s) to the switching line and the perpendicular distance (s ). To p show these characteristics more distinctively, a step response of the system is shown in Figure 4-9. The step-input profile excites the system in a wide range of frequencies, which is suitable for examining the performance of a controller. It gives a constant finite acceleration during the first segment of the maneuver and then, when the system reaches the desired velocity, the acceleration is set to zero. Finally, the system goes through a constant deceleration until it reaches zero velocity. Here, only structured uncertainty is implemented. From the results it is clear that the response of FSMC approaches the desired value more quickly when the deviation is large, and yet, near the switching line (near the specified maximum error, in this case: 0.23°; 2 mm), it becomes smoother (slower), eventually resulting in quicker convergence to the zero steady-state error without overshoot. Note that even though the control input is initially larger in FSMC, it quickly reduces to the level of SMC (in less than 0.5 s) and shows smoother transition. Next, Figure 4-10 shows the greater robustness of FSMC. Here, as in Figure 4-8, unstructured uncertainty is simulated using the sinusoidal disturbance for the first two seconds of simulation. In this case, however, the magnitude of the disturbance is intentionally increased to a value larger than the upper bound (0=5 Nm; d = 5 N) used in the controller design. This is a reasonably practical situation since some external disturbances to the system may not be anticipated in the design stage, particularly in new applications. Note that the specified tracking accuracy is not guaranteed in this case. However, the results show that the maximum tracking errors of FSMC (« 0.24° and 4 mm) are as small as the specified values (0.23°; 2 mm) while those of SMC are unacceptably large (« 2° and 4 cm) in comparison to the specifications. 70 Specified Coordinates: Initial Conditions: e= 0 = 0°;rf = 0.1m. Uncertainty: a. (i.e., rigid revolute joint) Max. Tracking Error Spec: none. 6: 0.23°; d: 0.002 m. d 0 Desired Maneuver: •s=3 ->x 0 = 0 -» 60°; 0 = 0.1 -» 0.5 - Desired — Actual m; sine-on-ramp; 2 sec. Deployment Motion Slewing Motion 1 2 3 1 Slewing Motion Error 2 3 Deployment Motion Error [xKT ] 4 [m] 0 1 2 3 4 1 Control Torque: Revolute Joint 2 3 4 Control Force: Prismatic Joint u 2 [N] Figure 4-5 Controlled response of the system using a proportional-derivative (PD) controller with feedback dynamic compensation: (a) without uncertainty. 71 Specified Coordinates: Initial Conditions: 6 = a. <? = 0 ° ; a? = 0.1 m. (i.e., rigid revolute joint) Uncertainty: Max. Tracking E r r o r Spec: Parameter fluctuation; d\ 0.23°; d: 0.002 m. Random disturbance. Desired Maneuver: >X 0 =0 - » 60°; d = 0.1 -» 0.5 m; sine-on-ramp; 2 sec. 0 Slewing Motion 1 2 Desired Actual Deployment Motion 3 1 Slewing Motion Error 0.15 2 3 Deployment Motion Error [deg] 0 1 2 3 1 4 2 3 4 Control Force: Prismatic Joint Control Torque: Revolute Joint U, [Nm] Figure 4 - 5 Controlled response of the system using a proportional-derivative (PD) controller with feedback dynamic compensation: (b) with uncertainty. 72 Specified Coordinates: Initial Conditions: 9 = a. (i.e., rigid revolute joint) 0 = 0°;rf = 0.1m. Uncertainty: Parameter fluctuation; Random disturbance. Max. Tracking E r r o r Spec: 0: 0.23°; d: 0.002 m. >X 0 Desired Maneuver: Desired 0 = 0 ^ 60°; d = 0.1 -» 0.5 m; sine-on-ramp; 2 sec. F S M C Deployment Motion Slewing Motion 1 2 S M C 1 3 2 3 Deployment Motion Error Slewing Motion Error fx 10' 1 2 1 3 2 3 Control Force: Prismatic Joint Control Torque: Revolute Joint Uj [Nm] Figure 4-6 Responses of the system controlled by SMC and FSMC with specified maximum tracking errors oi 0= 0.23° and d = 0.002 m. 73 Specified Coordinates: Initial Conditions: 0 = a. (i.e., rigid revolute joint) Uncertainty: 6 =0°;fl? = 0.1m. Parameter fluctuation; Random disturbance. Max. Tracking Error Spec: 8: 0.023°; d: 0.0002 m. Desired Maneuver: Mi—>X 9 = 0 ^ 6 0 ° ; d = 0.1 sine-on-ramp; 2 sec. 0 2 — SMC — FSMC Deployment Motion Slewing Motion 1 —- Desired 0.5 m; 3 1 Slewing Motion Error 2 3 4 Deployment Motion Error [x10"] 5 [m] 1 2 3 0 4 1 2 3 4 Control Force: Prismatic Joint Control Torque: Revolute Joint u, [Nm] Figure 4-7 Responses of the system controlled by SMC and FSMC with specified maximum tracking errors of 6= 0.023° and d = 0.0002 m. 74 Specified Coordinates: Initial Conditions: 0 = a. 0 =0°;rf = 0.1m. (i.e., rigid revolute joint) Uncertainty: Max. Tracking E r r o r Spec: Parameter fluctuation; Sinusoidal disturbance, (for first 2 sec.) 0: 0.23°; rf: 0.002 m. 0 Desired Maneuver: Deployment Motion Slewing Motion 1 2 Desired SMC FSMC (9 = 0 - > 6 0 ° ; c? = 0.1 -> 6.5 m; sine-on-ramp; 2 sec. -tgi—> ,\; 1 3 2 3 Deployment Motion Error Slewing Motion Error [xlO" ] 3 e d [m] [deg] 0 1 2 3 1 4 2 3 4 Control Force: Prismatic Joint Control Torque: Revolute Joint Uj [Nm] Figure 4-8 Responses of the system using the same time history of disturbance for both SMC and FSMC (sinusoidal disturbance for first 2 s of simulation). 75 Specified Coordinates: Initial Conditions: 9 = a. 9 = 0°;rf = 0.1m. (i.e., rigid revolute joint) Uncertainty: Max. Tracking Error Spec: Parameter fluctuation. 9: 0.23°; d: 0.002 m. Desired Maneuver: >X 9 = 0 -> 60°; d = 0.1 -» 0.5 m; 0 — step input. Slewing Motion 0 1 2 Desired SMC FSMC Deployment Motion 3 0 4 1 2 3 4 Deployment Motion Error: Steady-Stae Slewing Motion Error: Steady-State [xlO" ] 3 2 3 4 2 Control Torque: Revolute Joint Figure 4-9 3 Control Force: Prismatic Joint Step response of the system: SMC and FSMC. 76 4 Specified Coordinates: Initial Conditions: 9 = a. (i.e., rigid revolute joint) Uncertainty: 9 = 0°; d = 0.1 m. Parameter fluctuation; Sinusoidal disturbance, (for first 2 sec.) Max. Tracking Error Spec: 9: 0.23°; d: 0.002 m; Desired Maneuver: >X Deployment Motion Slewing Motion 1 2 Desired SMC FSMC c ? = 0 - > 6 0 ° ; < / = 0.1^0.5m; sine-on-ramp; 2 sec. 0 3 1 Slewing Motion Error 2 3 Deployment Motion Error 0.04 0.02 \ [m] [deg] 1 2 -0.02 3 2 3 Control Force: Prismatic Joint Control Torque: Revolute Joint Figure 4-10 1 Comparative SMC and FSMC responses of the system where the magnitude of disturbance is larger than the expected upper bound (sinusoidal disturbance for first 2 s of simulation). 77 4.3.2 Effects of FSMC parameters As mentioned, some parameters of FSMC are not directly determined from the tracking accuracy specifications. Now, a discussion is given on choosing the normalization gain of s (N ) and the peak grade point of the fuzzy set PS f„ (Cps f ), with p sp u u n simulation results. Figure 4-11 shows the effect of N on the response of the system. The sp sinusoidal disturbance is applied here as in Figure 4-8. Three cases are considered: N \ = sp 125 and N sp2 = 250; N sp] = 250 and N sp2 = 500; and N spl = 500 and N = 1000. Note that sp2 N in the legend of the figure is as given in Section 4.2 (JVsi = 12.5; N = 25). The errors s s2 appear to decrease with increased N . This result is intuitively clear considering the fact sp that the significance of s in control inference increases with increased gain, which p generates a larger active control action to force the system to the zero error state. It should be noted that since the errors of the three cases are bounded by the tracking accuracy (0.23°; 2 mm), the difference may be judged insignificant depending on the intended application. However, in such cases where the disturbance exceeds the upper bound, the response with a large gain may be still bounded inside the specification while that with a small gain may not, depending on the level of disturbance. Figure 4-12 shows the effect of Cpsufn on the response of the system. In this case, to show the results more clearly, over-amplified disturbance (sinusoidal) is applied as in Figure 4-10. Three values are considered: 0.1, 0.2, and 0.4. The results show that, with a smaller value of Cpsufn, the tracking errors are significantly reduced. In fact, the response with Cpsufn = 0.1 shows that the maximum tracking errors (« 0.19° and 1.5 mm) are even inside the tracking accuracy specification (0.23°; 2 mm). Considering that the disturbance exceeds the designed upper bound, it is clear that the robustness of the controller is improved with decreased Cpsufn- This is due to the fact that the slope of the control surface is increased as a result so that the system state is forced to the switching line more quickly. Note that the increase of control effort is negligible even in the case where the performance is improved. 78 Specified Coordinates: ' / f l Initial Conditions: 9 = a. 0 = 0 ° ; d = 0.1 m. (i.e., rigid revolute joint) Uncertainty: Parameter fluctuation; Sinusoidal disturbance. (for first 2 sec.) Max. Tracking Error Spec: 9: 0.23°; d: 0.002 m. d 9 i4=j—> X„ Desired Maneuver: Nsp 9 =0^ 60°;d = 0.\ -> 0.5 m; sine-on-ramp; 2 sec. N Slewing Motion 1 2 sp N sp = 40 x N = 20 x N = 10 x N s s s Deployment Motion 3 1 Slewing Motion Error 2 3 4 Deployment Motion Error [x1(T [m] 1 2 3 4 0 1 3 4 Control Force: Prismatic Joint Control Torque: Revolute Joint Figure 4-11 2 Effect of the normalization factor of s (N ) on the response of the system. p 79 sp 9 = a. (i.e., rigid revolute joint) ^ = 0 ° ; J = 0.1m. Uncertainty: Parameter fluctuation; Sinusoidal _ _disturbance. . (forfirst2 sec.) n9:A0.23° ooo J nm m. a:A0.002 m 6 Figure 4-12 Initial Conditions: Max. Tracking Error Spec: 'y /d •;;;-jzj Specified Coordinates: A Desired Maneuver: > A; Cpsufn = 0.1 6? = o ^ 6 o ° < / = o.i ->o.5m sine-on-ramp; 2 sec. ; Effect of peak grade point of the fuzzy set PS f„ of the system. u 80 c „ = o.2 = 0.4 PSuf ; (Cpsufn) on the response 4.4 C o n t r o l i n the Presence of J o i n t F l e x i b i l i t y : C o u p l e d S l i d i n g - M o d e In this section, effects of joint flexibility on SMC and FSMC are discussed. Since flexibility is considered only in the revolute joint, the deployment length (d) is held fixed to focus on flexibility control. Also, damping is purposely not included to examine the controller under severe conditions of motion, and a torsional stiffness of K = 10 Nm/rad 3 s is initially chosen, as indicated in Section 4.2. The manipulator is commanded to slew from zero to 60° in the horizontal plane (g = 0), following a sine-on-ramp profile (Figure 4-4). Note that unstructured uncertainty is not simulated in this section in order to observe the flexibility response more distinctively, however structured uncertainty is retained. Figure 4-13 shows the response of the system with a flexible revolute joint where the structures of the controllers (SMC and FSMC) are the same as in the previous cases (i.e., conventional definition of sliding-mode as given by Eq. 2.28). The joint vibration (J3) is regulated only indirectly through coupling with the rotor motion (a), which is controlled using SMC and FSMC. For both controllers, the rotor motion follows the desired trajectory with negligibly small error (maximum error < 0.1°) compared to the tracking accuracy specification (0.23°), which is consistent with the results from the previous section. However, the joint vibration reaches « 1.5° (2.5 %) during the maneuver, and the steady-state oscillations appear to persist (« 0.25°). The vibration response of the revolute joint in Figure 4-13 may be considered acceptable recognizing that, in practice, external disturbances and structural damping of the system usually reduce the vibration. On the other hand, one may improve the vibration response of the joint vibration with more active control using a separate controller. However, it may not be always practical due to physical constraints of the system and increasing demand on the control effort (power). In the present study, it is considered that only one actuator is available for control of the overall slewing angle. Then, using either SMC or FSMC with the conventional definition of sliding-mode, either the rotor motion or the joint vibration can be controlled actively, as discussed in 81 Chapter 2 (Section 2.3). Hence, the coupled sliding-mode is applied here to improve the joint vibration response. Intuitively, the primary control target is the rotor motion, and in turn the secondary control target becomes the joint vibration. Therefore, the sliding-mode is redefined as s = (e -w) + A,e , (4.14) w = w sat(s /w ); (4.15) a a where: m /l p s =J3+X p. fi (4.16) fi Here, w = w = 0.5 and hp = 40, unless specified otherwise. Note, A\ is as given in m p Section 4.2. In the computer simulation, the coupled sliding-mode is activated at the end of the maneuver. That is, when the system enters the steady state phase and vibrates around the reference point, the coupled-sliding mode is used to suppress the oscillation. During the maneuver, the conventional sliding-mode is used to regulate the large maneuver. In fact, to avoid a sudden change of control input (i.e., jerk), the structure of the sliding-mode is gradually transformed during 0.1 s prior to the end of the maneuver (i.e., in 2 s maneuver duration: w = 0.0 at 1.9 s; w = 0.5 at 2.0 s). m m Figure 4-14 shows the response of the system when the coupled sliding-mode is applied to control the flexible revolute joint. Note that the difference in performance between SMC and FSMC is very small. In steady state, the joint vibration is effectively suppressed showing almost no oscillation with rather small error (< 0.1°). However, the rotor motion shows a relatively large error (« 0.4°) when the coupled sliding-mode is activated, which is larger than the specified trajectory accuracy (0.23°; 2 mm), even though it eventually decreases to nearly zero after 3 seconds (within the specification). It is inevitable that the rotor should move to generate a proper torque that will suppress the joint vibration since it is the only source that can control the joint vibration in this case. At this stage, the tracking error is not bounded within specification since the control objective is changed from satisfying the tracking accuracy to suppressing the vibration. Once the joint vibration is acceptably suppressed, the rotor motion also converges to the 82 desired value (within specification). The required control effort for this process is relatively small (< 2 Nm). In the previous two simulations, one would notice that the difference between SMC and FSMC is not very significant. This is due to the fact that the uncertainties of the system are relatively small (no disturbances). According to the results in Section 4.3.1, the difference between SMC and FSMC becomes more significant as the uncertainties of the system increase. Effect of w IJL The performance of the coupled sliding-mode controller is significantly affected by the gains w , w , and Ap These parameters determine the relative weight on the m p primary and secondary control objectives in relation to each other. In general, increasing w or A (also, decreasing w ) gives a greater priority on the secondary control objective m 2 p (vibration suppression of the revolute joint). Figure 4-15 shows the effect of w on the m response of the system: (a) SMC; (b) FSMC. Here, three values of w are considered: m 0.3, 0.5, and 0.9. For both controllers, as expected, the results show lower vibration with larger w , since it places a relatively greater importance on the control of joint vibrations, m while initially the rotor motion has a relatively large error. These results can be applied for w and Ap with a corresponding relation to w . It should be noted that the control p m effort is smaller for a higher value of w . In other words, better vibration control is m achieved if the control effort for the rotor motion is reduced. It is interesting to notice that in the results for w = 0.3 and 0.5, FSMC actually m shows a relatively poor performance compared to that of SMC. The error of rotor motion is larger even though the vibration remains similar to that of SMC. It may be due to the fact that FSMC may generate a relatively large control input. It may also be attributed to increased discontinuity along the switching line (based on the coupled sliding-mode) which is now time varying in terms of the rotor motion (a) as the state of the joint vibration (J3) changes. On the other hand, instead of off-line selection of the gains of the 83 coupled sliding-mode, they may be defined on-line as time varying functions (or, by gain scheduling) according to the actual level of vibration as well as the tracking accuracy specification. Then, coupled sliding-mode may be applied to achieve an optimal control between rotor motion and joint vibration, both during the maneuver and in steady state. Fixed gains may not be appropriate under these conditions since the importance of the primary and secondary objectives of control can be different in each case. In FSMC, it may be implemented in a rule base, separately at an intermediate level or integral with the overall control rule base. Effect of Joint Stiffness Stiffness of the revolute joint represents an important parameter. Its effect on the controlled performance with coupled sliding-mode control (w = 0.5; w = 0.5; Xp = 40) m p is presented in Figure 4-16. Two stiffness values, one below (soft) and the other above (hard) the nominal value of lxlO Nm/rad are considered. Even in the demanding 3 situation presented by the soft spring, the vibration settles down as soon as the coupled sliding-mode control is activated (« 2s). Consistent with the previous results, to suppress large vibrations, it displays a large initial error in the rotor motion. Note that virtually no difference is visible between the results for SMC and FSMC. Effect of Maneuver Speed The speed of maneuver is an another important factor that affects the response of the system. Figure 4-17 shows the effect of the maneuver speed with three different maneuver durations: 0.1 s , 0.2 s, and 0.3 s. The coupled sliding-mode is also applied as in the previous cases (w = 0.5; w = 0.5; Xp = 40). The joint stiffness K = 10 Nm/rad. 3 m s p The results clearly show that, even in the case of a fast maneuver (Is maneuver duration), the vibration is suppressed to near zero after 2 seconds. Note that, in the response of 2s maneuver duration, FSMC shows relatively poor performance compared to SMC, as discussed before. 84 d=0.\m Specified Coordinates: Initial Conditions: d = 0.1 m. 6 =0°;rf = 0.1 m. (i.e., length is held fixed) Uncertainty: Max. Tracking E r r o r Spec: a: 0.23°. Parameter fluctuation. Desired SMC FSMC Desired Maneuver: a: = 0 ^ 60°; >X 0 sine-on-ramp; 2 sec. Revolute Joint Vibration Revolute Joint Rotor Motion [deg] 0 1 2 3 4 0 Revolute Joint Rotor Motion Error 1 2 3 4 Control Torque: Revolute Joint fx10 [Nm] Figure 4-13 Response of the system with a flexible revolute joint: SMC and FSMC using the conventional definition of sliding-mode. 85 = 0.1 m Specified Coordinates: Initial Conditions: d =0.1 m. 0 =0°;rf = 0.1m. (i.e., length is held fixed) Uncertainty: Max. Tracking Error Spec. a: 0.23°. Parameter fluctuation. Desired SMC FSMC Desired Maneuver: a: =0-» 60°; sine-on-ramp; 2 sec. >X 0 Revolute Joint Rotor Motion Revolute Joint Vibration P [deg] 0 1 2 3 4 0 Revolute Joint Rotor Motion Error 1 2 3 4 Control Torque: Revolute Joint U] [Nm] Figure 4-14 Response of the system with a flexible revolute joint: SMC and FSMC using coupled sliding-mode. 86 d = 0.l m Specified Coordinates: Initial Conditions: d = 0.1 m. 0 = 0 ° ; r f = 0.1m. (i.e., length is held fixed) Uncertainty: Max. Tracking Error Spec: a: 0.23°. Parameter fluctuation. ,= 0.3 .,= 0.5 w = 0.9 Desired Maneuver: a: = 0 ^ 60°; m sine-on-ramp; 1 sec. Revolute Joint Vibration Revolute Joint Rotor Motion 0 1 2 3 4 0 Revolute Joint Rotor Motion Error 1 2 3 4 Control Torque: Revolute Joint [Nm] Figure 4-15 Effect of the coupled sliding-mode gain w on the system response: (a) SMC. m 87 Specified Coordinates: rf=0.1 m Initial Conditions: d = 0.1 m. 0 = 0 ° ; r f = 0.1m. (i.e., length is held fixed) Uncertainty: Max. Tracking E r r o r Spec: a: 0.23°. Parameter fluctuation. w = 0.3 w = 0.5 w = 0.9 Desired Maneuver: 5—>X m a: =0^60°; sine-on-ramp; 1 sec. 0 m m Revolute Joint Vibration Revolute Joint Rotor Motion 0 1 2 3 4 0 Revolute Joint Rotor Motion Error 1 2 3 4 Control Torque: Revolute Joint [Nm; Figure 4-15 Effect of the coupled sliding-mode gain w on the system response: (b) FSMC. m 88 Specified Coordinates: d d=OA m Initial Conditions: = 0.1 m. 0 =o°; d 0.1 m. (i.e., length is held fixed) Uncertainty: Max. Tracking E r r o r Spec: Parameter fluctuation. a: 0.23°. K = 5 x 10 Nm/rad - K, = 1 x 10 Nm/rad - K, = 1 x 10 Nm/rad 2 Desired Maneuver: s 3 0 -> 60°; a sine-on-ramp; 2 sec. Figure 4-16 = ~~ 4 Effect of the revolute joint stiffness (K ) on the system response with coupled sliding-mode: (a) SMC. s 89 0.1 m Specified Coordinates: Initial Conditions: d =0.1m. 6 = 0°; rf = 0.1m. (i.e., length is held fixed) Uncertainty: Max. Tracking E r r o r Spec: Parameter fluctuation. a: 0.23°. >X 0 Figure 4-16 -- K = 5 x 10 Nm/rad - K = 1 x 10 Nm/rad - £ = l x l 0 Nm/rad 2 s Desired Maneuver: 3 «:=0^60°; sine-on-ramp; 2 sec. ~ s 4 Effect of the revolute joint stiffness (K ) on the system response with coupled sliding-mode: (b) FSMC. s 90 Specified Coordinates: d = OA m Initial Conditions: d = OA m. 6 =0°;rf = 0.1m. (i.e., length is held fixed) Uncertainty: Max. Tracking E r r o r Spec: Parameter fluctuation. a: 0.23°. 1 s 2s 3s Desired Maneuver: h^X a: = 0 ^ 6 0 ° ; sine-on-ramp. 0 Revolute Joint Vibration Revolute Joint Rotor Motion 0 1 2 3 0 4 1 2 3 4 Control Torque: Revolute Joint Revolute Joint Rotor Motion Error 4 2 a [deg] 0 i ~i I r- -2 -4 1 2 3 Time [s] Figure 4-17 Effect of the maneuver speed on the system response with coupled sliding-mode: (a) S M C . 91 0.1 m Specified Coordinates: Initial Conditions: d = 0.1 m. 0 = 0 ° ; d = 0.1 m. (i.e., length is held fixed) Uncertainty: Max. Tracking Error Spec: a: 0.23°. Parameter fluctuation. 1s 2s 3s Desired Maneuver: a: =0 -» 60°; sine-on-ramp. >X 0 Revolute Joint Rotor Motion Error Control Torque: Revolute Joint -200 • 0 1 2 3 4 0 Time [s] Figure 4-17 1 2 3 4 Time [s] Effect of the maneuver speed on the system response with coupled sliding-mode: (b) FSMC. 92 4.5 Trajectory Tracking Tracking of prescribed trajectories represents an important task a manipulator is called upon to perform. This section considers trajectories in the form of a straight line and a circle in the horizontal plane (g = 0). A trajectory involves both a path and the time evolution of the path. In the present study, trajectories follow a sine-on-ramp profile as mentioned earlier (Figure 4-4). Random disturbances as well as time-varying parameters are applied to simulate uncertainties. The system and controller parameters are as given in Section 4-2, except the joint stiffness K = 5xl0 Nm/rad. Note that the coupled sliding3 s mode control is applied from 0.1 s prior to the end of the maneuver, as discussed in the previous section (w,„ = 0.5; w = 0.5; Ap= 40). Two cases are considered: p (i) tracking of a 0.5 m long straight line along thejy axis in 4 seconds; (ii) tracking of a circle with 0.4 m radius in 4 seconds. Straight Line Tracking The manipulator base is located at the origin of the x-y plane. The manipulator is initially aligned with the x axis (initial angle = 0), and the initial deployment length is 0.1 m. The manipulator tip is commanded to move from the x-y coordinates (1.1 m, 0 m) to (1.1 m, 0.5 m) in 4 seconds. Desired time histories of a and d can be readily obtained from: ^ = tan- (^-); 1 d=^\.l +y 2 2 - / , m; (4.17) where 0-5 , 4 . .2/7 .. y = — (' - — sm(— 0) m, 4 LK 4 d .. . . (4.18) n and /] (= 1 m) is the length of the slewing link. The tracking performance and system response are presented in Figure 4-18. The end effector trajectory of the manipulator and its errors .as well as the vibration response of the revolute joint are shown in Figure 418(a). For both SMC and FSMC, the maximum deviations of the tip from the desired 93 position are less than 3 mm in the x direction and 5 mm in the y direction, which are relatively small compared to the length of the trajectory (~ 0.6 % and 1 %, respectively) in the presence of uncertainties. Also, the vibration of the revolute joint quickly settles down after 4 seconds (maneuver duration) with a slight increase of the error in rotor motion, as the coupled-sliding mode is activated. In the response of the rigid degrees of freedom (Figure 4-18b), as expected, the tracking errors of the individual joints (« 0.16° and 1.5 mm for SMC; « 0.15° and 1.4 mm for FSMC) are bounded within the tracking accuracy specifications (0.23°; 2 mm). Note that the relatively large error in FSMC is due to the more severe disturbance as can be seen from the time history of the control input. Circle Tracking Tracking of a circular trajectory represents a relatively challenging task. Here the tracking of a circle of radius 0.4 m and center located at x = 1.1 m and y = 1.1 m is simulated. As before, the manipulator base is located at the origin of the coordinate system. The manipulator end effector is commanded to follow one complete circle clockwise in 4 seconds starting and ending at the x-y coordinate location (0.7 m, 1.1 m). The trajectory may be represented as ( x - 1 . 1 ) + ( v - l . l ) =0.4 , 2 2 2 (4.19) or with the sine-on-ramp profile as: x = l.l-0.4cos({i/)m; y = l.l + 0.4sin(^) m; (4.20) where 2n, 4 . 2TT , P = —(t- — sin(— 0) rad. 4 2TT 4 NN ,. ... (4.21) Figure 4-19(a) shows tracking of the circle and the associated error as well as the vibration response of the revolute joint. For both SMC and FSMC, the maximum error in the x direction is » 1.5 cm and, in the y direction, it is « 2 cm. Accordingly, the maximum 94 tracking error in the radial direction is « 2 cm, which is » 5 % in terms of the desired value (0.4 m). Note that the manipulator tip error is mainly due to the vibration of the revolute joint. Figure 4-19(b) shows that the tracking errors of the individual joints (« 0.2° and 1.3 mm for SMC; * 0.15° and 1.4 mm for FSMC) are bounded within the tracking accuracy specification (0.23°; 2 mm). As in the case of the straight line tracking, the revolute joint vibration quickly settles down after 4 seconds (maneuver duration) as the coupled-sliding mode control is activated. In turn, there results a slight increase in error of the rotor motion (« 0.2°) at around 4 seconds. It should be noted that, in general, the initial error in rotor motion, when the coupled sliding-mode is activated, is not guaranteed within the tracking accuracy specification, although it appears to be bounded in the present two cases of tracking. 95 Figure 4-18 Tracking of a straight line (SMC and FSMC): (a) manipulator tip position and errors; and response of the flexible degree of freedom (J3). 96 0 2 4 6 0 2 4 Revolute Joint Rotor Motion Error 0 20, 2 Deployment Motion Error 4 6 Control Torque: Revolute Joint 0 . 2 . 4 • 0 6 0 2 4 6 Control Force: Prismatic Joint • • • i 1 Time [s] Figure 4-18 6 2 4 6 Time [s] Tracking of a straight line (SMC and FSMC): (b) response of the rigid degrees of freedom and control inputs. 97 1.5 Maneuver direction/' / / ' ' Start (t = 0) and . End (/ = 4) point. ,(1.1,1.1) y [m] R0.4m 0.5 -0.5 0 0.5 1 X Figure 4-19 1.5 [m] Tracking of a circle (SMC and FSMC): (a) manipulator tip position and errors; and response of the flexible degree of freedom (ft). 98 Specified Coordinates: Initial Conditions: none. 0 = 57.5°; d = 0.3 m. Max. Tracking Error Spec: Uncertainty: Parameter fluctuation; Random disturbance. 0: 0.23°; d: 0.002 m. Desired Maneuver: Desired Tracking of 0.4m radius circle in 4 sec. >x SMC FSMC 0 Deployment Motion Revolute Joint Rotor Motion 2 0 4 2 4 Deployment Motion Error Revolute Joint Rotor Motion Error [xlO^] 3 2 1 'V \ -'i / [m] M * \ » \ 0 ^ -\ ^ 'w / ' \ \ \ \ -1 -0.21 0 2 4 0 6 2 4 6 Control Force: Prismatic Joint Control Torque: Revolute Joint 80 /A i 40 / Ui [Nm] o -40 \/ I Vi * ( i ,i J 2 4 Time [s] Figure 4-19 Tracking of a circle (SMC and FSMC): (b) response of the rigid degrees of freedom and control inputs. 99 5. S T A B I L I T Y I N D I C E S A N D D E S I G N O F F U Z Z Y L O G I C C O N T R O L The present chapter discusses stability indices, which represent the relative stability of a system. From the stability conditions expressed in the state-space vector field, it is possible to measure how far away a system is from an unstable situation. These measures (i.e., stability indices) may be used to specify the behavior of an "intelligent" control system in a manner similar to how stability margins are employed in the context of a classical linear system. They provide information which is valuable in designing a control system. In the current study, these indices are applied to the design of a fuzzy logic controller where lack of satisfactory techniques for stability analysis and design is a well-known drawback. It is shown that fuzzy sliding mode control may enable the realization of a systematic design approach that will guarantee ultimate boundedness in the presence of uncertainties. In the present chapter, based on stability indices, it is intended to account for the stability of a fuzzy logic control system more comprehensively, thereby providing a general approach for analysis and design. 5.1 Stability Indices A closed-loop system in the state-space may be represented as (5.1) where x is an ^-dimensional state vector and b is an nxm coefficient matrix for input distribution. The plant dynamics is represented by a nonlinear function j\x) with_/(0) = 0, and the control input u(x) = [u (x) x u (xv) 2 with M (0) = « ( 0 ) = - = « ( 0 ) = 0. 1 2 jb 100 Here, the vector field of a closed-loop system is composed of two different parts: the plant component fix) and the control component bu(x). Figure 5-1 shows the vector field in the two-dimensional state-space (n = 2 and m = 1). x 2 i \ 1^ Figure 5-1 f{x)+bu(x) 0 Graphical representation of the vector field and a trajectory in a twodimensional state-space with a plant f[x) and a control component bu(x). The vector field approach is useful in formalizing the problem of stability of a system using concepts from qualitative analysis of a nonlinear dynamic system. It provides an interpretation of instability and bifurcation, and hence a more complete representation of the stability problem may be achieved. Based on this approach, a stability index is defined as the degree of stability (i.e., how far a system is from loss of stability). In other words, it indicates the degree of variation (e.g., parameter changes), which a system can tolerate without loss of stability. The point of view adopted here can be applied to a large class of nonlinear systems. It should be noted that this stability index approach also holds for non-autonomous systems (i.e., where time t appears explicitly in the plant component f[x,t) in Eq. 5.1). 5.1.1 One-dimensional case To introduce the stability indices, first consider the first order case of Eq. (5.1), ^ = /(*) +*"(*)• at 101 (5-2) Without loss of generality, b = 1. To visualize the vector field of the system, its components are rotated counterclockwise by 90° as shown in Figure 5-2. The equilibrium of the system is located at the values of x where the control component curve u(x) intersects the sign reversed (-fix)) plant component curve, as shown in Figure 5-3. The solution of the equilibrium condition is given by /(x) + u(x) = 0 or u(x) = -f(x). (5.3) It is clear that the origin is an equilibrium point, because/(0) = u(0) = 0 as defined. It is clear that the system is globally stable if the equilibrium at the origin is asymptotically stable and no other equilibrium state exists. These stability conditions may be written as: Figure 5-2 Vector field of the one-dimensional case (rotated counterclockwise by 90°): (a) plant component; (b) control component. 102 fix) fix) + u(x) u(x) Figure 5-3 Equilibrium state: intersection of u(x) and -fix). The first condition given by Eq. (5.4) assures the asymptotic stability of the equilibrium at the origin, while the second one given by Eq. (5.5) precludes the appearance of other equilibrium states. Note that the second condition could be interpreted in the sense of local stability in the domain of interest. Accordingly, loss of stability may occur in at least one of the following cases: • The equilibrium at the origin becomes unstable. • Another equilibrium state appears due to changes in the plant and/or the control components (i.e., new points of intersection of u(x) and -fix)). From these stability conditions, some measures of relative stability of a system may be obtained. One may rewrite Eq. (5.4) as V df (x) du(x) dx dx >0. Then, the expression on the left-hand side gives a measure of stability at the origin (stable equilibrium). Note that any equilibrium under consideration may be shifted to the origin by an appropriate coordinate transformation. A positive large value of this measure implies that the stable equilibrium is far away from an unstable situation. In a similar way, a measure may be associated with the stability condition given by Eq. (5.5). A 103 natural candidate for this measure may be the minimum distance between u(x) and -fix), given as min \f(x) + u(x) \, which gives a zero value at the location of equilibrium. However, since | /(x) + «(x) | = 0 at the origin, some region around the origin should be avoided for this measure. Thus, a boundary region may be defined as B = [x,,x ], where x, and x are the coordinate 2 2 values of x that are closest to the origin, and satisfy the condition df(x ) k dx = du(x ) k dx for k = 1 and 2, as illustrated in Figure 5-4. Then, min | f(x) + u(x) | = 0 for x * 0 indicates the occurrence of a new equilibrium, which destroys the global stability of the system. It should be noted that if both x, and x are not defined, it implies excellent 2 robustness of the system with regard to the occurrence of a new equilibrium. In view of these qualitative considerations, the stability indices are represented as: 104 df{x) du(x)^ f fa = - \ | dx dx (5.7) J X=Q nin | f(x) + u(x) |; min. fa = (5.8) Ft Vxefi \/ri= where B is the complement of the region B = [ je,, x ]. The invalidation of any one of the 2 stability conditions (usually given by lower bounds for fa and fa) indicates loss of stability of the system. 5.1.2 Generalization of the index L It is well known that, based on Lyapunov's First Method, the behavior of a nonlinear system in a small region (e.g., vicinity of an equilibrium state) can be represented by a linear system. Since the index fa is defined as the measure of relative stability at the equilibrium state, it is reasonable to obtain this index from a linerized system at the equilibrium point. Hence, the linearized system of Eq. (5.1) for the state x in the vicinity of the equilibrium state x may be given as e ^- = J (x )x, dt c (5.9) e with J (x ) c e = mf (5.10) + bu) /dx ] , i J x=Xe where J is the nxn Jacobian matrix (z = 1, 2, ..., n and j = 1, 2, ..., n). The characteristic c polynomial of the linear system can be given (with the identity matrix I) as P(s) = ds>\(sl - J ) = s +a s ~ n c n } l +--- + a _ s + a . n ] n (5.11) In general, there are two situations in which a linear system can become unstable: • Static bifurcation: • Hopf bifurcation: A real eigenvalue becomes positive (saddle-node). A pair of complex poles has real parts that are positive. 105 A static (saddle-node) bifurcation is produced when one of the roots of the characteristic polynomial is 0, which happens when a = 0. The condition of a Hopf bifurcation is n equivalent to that of having two pure imaginary roots in the characteristic polynomial. Hence, from the characteristic polynomial in the from of P(s) = p^s^w 2 +s) +cs + c, 2 x 2 the condition for a Hopf bifurcation is c\ = c = 0. Furthermore, this condition is also 2 equivalent to det(£T _ ) (1 1 = 0, (5.12) where H .\ is the principle minor of order n-l of the Hurwitz matrix H„ [52]: n a x a 3 a 5 1 a a 0 a, a 0 1 a : "-. '•. _: '•. "-. 2 A a 3 a 2 6 '•. 5 a '•. 4 '•. '•. '•• '•. 0 0 0 0 0 a„ a a 0 0 a x H. , = 3 a 3 a 1 a 2 a x 5 (5.13) 4 Accordingly, corresponding to the stability index fa in the one-dimensional case, the following two separate indices may be given for the n-dimensional case: / =a =(-l)"det(/ ); (5.14) 7 (5.15) 5ll S12 B c = detCJy^). The larger the positive values of these indices, the larger the degree of relative stability at the equilibrium. A negative value of any one of the indices indicates loss of stability. 5.1.3 Generalization of the index I S2 To generalize the indexfa,it is necessary to consider how equilibrium appears in a state-space vector field. It is shown from the one-dimensional case that equilibrium 106 occurs when the control component exactly compensates for the plant component. In the n-dimensional case, in view of the existence of a vector field, it is obvious that this compensation is only possible in the region where the plant component has the same direction as the control component vector. This region may be given by an auxiliary subspace, which is defined as f (x) _ x f (x) /„(*) 2 m YjbijUjix) m Ya 2j M~) 7=1 7=1 b (5.16) U 7=1 Hence, the investigation of the index fa is performed only in the auxiliary subspace, not in the entire state space. With the dimension of control input m = 1, the auxiliary subspace is given as A(x) f (x) = 2 b f (x) = = n b x b 2 n In general, the definition of an auxiliary subspace constitutes n-l constraint equations, which makes the auxiliary subspace a one-dimensional manifold in the ndimensional state-space. However, in some cases, the dimension of this manifold (auxiliary subspace) may be more than one, depending on the plant dynamics and the dimension of the control. For example, consider the manipulator system described in Chapter 4 without joint flexibility and payload. This system may be represented in the state-space as: *1 2 ' = x ~ 2m ( * 3 + \ ~ c2 ) 2 4 l i = l X I \ 2 = ^ = 4 ~ ( Jc\ X m 2 + I 2 + + 2 (*3 + \ - c2 ))g m l cl m l + 2(*3 l m l + \ ~ c2 f l x^, m (x +l -l )xl+m g 2 3 x c2 cos 2 x +f (x ,x ) x in m 2 107 3 4 l s i nX l + Tin ( \ > 2 ) . X X where x\ = 0 and x^ = d. All notations are as given in Chapter 4 (also see Appendix I). Here n = 4 and m = 2. The auxiliary subspace is given by X2 ~ Xi, = 0, (5.19) and -2m (x +/) -l )x x 2 3 c2 2 -(ffl]/ +m (x +/, -Z ))g sin ^ cl A 2 3 c2 ^« (^1 > *2 ) m (x +/j - / ) * +/n <? 2 3 c 2 / i n 2 cos;,;: 2 i (5.20) ( 3' A ) X X Clearly, in this case, the auxiliary subspace is given as a one-dimensional manifold satisfying Eq. (5.20) in the x\-x-$ plane. However, assume that the system is configured as a planar case (where g = 0). Then, the constraint given by Eq. (5.20) does not provide any useful relationship. A l l plant components become zero with x = X4 = 0. Hence, the 2 auxiliary subspace may be given as the entire x\-x^ plane, where only the control components are effective. From this fact, it is obvious that the auxiliary subspace could be multi-dimensional. However, it is also true that the auxiliary subspace usually makes easier the problem of finding the index, at least by giving a space that has one dimension less than that of the system. Based on the auxiliary subspace, the index fa for the n-dimensional case may be defined as I S2 m = min (| / , (x ) + ^ b VxaeB a rn X j U j ( x ) I + • • • + I /„ (x ) + £b Uj(x ) |), a a J = l nJ a (5.21) J = 1 where x is an w-dimensional state vector in the auxiliary subspace. This definition is a clear from the one-dimensional case, and the equilibrium solution of a system. The index fa becomes zero if and only if there exists a state (equilibrium) where the magnitudes of all sets of plant and control components are zero. Moreover, the boundary region B in the one-dimensional case is also applied for the ^-dimensional case. It may be generalized using the Euclidean norm, which is defined as 108 II x. -x ||=[(x -x ) +(x 2 a ri al e2 -x f ... a2 +( + (5.22) -x ) ^=r. 2 Xen m where x is the state of stable equilibrium and x is the closest state to the equilibrium e a located in the auxiliary subspace that satisfies _cY (x ) i J {x ) a Ui dqj for i = 1, 2, n and j = 1, 2, ^ a ( 5 2 3 ) dqj n. Then, B is given as the region outside the radius r. Consequently, a large value of hi implies that a system is far away from the unstable situations in the occurrence of a new equilibrium. 5.2 Design of a Fuzzy Logic Control System Using Stability Indices: Case Studies In this section, it is demonstrated how to design the parameters of a fuzzy logic controller using the stability indices. Prior to the discussion, it is worth mentioning that fuzzy sliding mode control (also, sliding-mode control) given in the previous chapters may be viewed in the context of stability indices. The fuzzy sliding mode control law, given by Eq. (3.27), can be rewritten as U FS = ~ P S + y (?> <1, v, d)(p a +u . f It was pointed out that the second term on the right-hand side provides the compensation term for the system dynamics. From the discussion given in the previous section, it is clear that this compensation term always cancels at the plant component in the statespace vector field, resulting in a combined vector field of zero. Consequently, the stability indices are affected only by the remaining terms in the control law. Clearly, the first term -Ps is a monotonically decreasing function, providing positive values for the stability indices. Furthermore, the last term «/ of the control law (saturation function for sliding-mode control) ensures robustness of the system by taking the upper bounds of the uncertainties as the output gain factor. This increases the positive values of the stability indices so that no deformation of the system (uncertainties, parameter variations, etc.) 109 causes an unstable situation. To guarantee this condition, some qualitative aspects were given for the rule base design in Chapter 3, so that the control surface becomes similar to a monotonically decreasing function (Figure 3-9). Hence, the same conclusion may be established for the fuzzy sliding mode control (and sliding-mode control). That is, the closed-loop system is stable and satisfies the ultimate boundedness i n the presence o f structured and unstructured uncertainties, provided that the upper bounds o f uncertainties are known. Consequently, this fact provides additional validation o f the control algorithms developed in the previous chapters, and in turn also verifies the concept o f stability indices. In the following cases, to demonstrate the controller design using stability indices in a more representative manner, it is assumed that both the dynamic compensation and -Ps are not present. Accordingly, only the fuzzy logic controller « / is present in the control component. The structure o f fuzzy logic controller (e.g., rule base and membership functions) was described i n Chapter 3. Even though the type (structure) o f a fuzzy logic controller can vary depending on the intended application, the present structure is quite representative in its class as it is designed based on the position and velocity errors. It should be noted that although the focus o f the current study is on fuzzy logic control, the point o f view presented here is quite general and applicable to a large class o f nonlinear systems. 5.2.1 Design of the denormalization scaling factor of a fuzzy logic controller Consider the manipulator system described in Chapter 4 without joint flexibility and payload. A l s o , in this case, the deployable length d is considered fixed (d = d for all c t), which gives essentially a simple pendulum system. This system may be represented in the state-space as: ~ OVci + i ( c + h ~ hi ))S sin *! + T (x , m i = d in /, +I + mJ 2 2 cl + m (d +/, - l 2 110 c c2 x f x ). 2 where x\ = 0. The notations follow what is given in Chapter 4 (also see Appendix I). The equilibrium states of the open-loop system are x\ = 0 (stable) and 180° (unstable) where x = 0. Here, the unstable equilibrium state of the open-loop system, which is the up-right 2 position of the pendulum, is chosen to be stabilized. The nominal system parameter values are chosen as given in Table 4-1, and d = 0.2 m. Furthermore, as mentioned, the c control component T is the fuzzy logic controller «y= KfUf„ with the same structure as in that given in Chapter 3, where Kf is the denormalization scaling factor and u/„ is the crisp inference in the normalized domain. The parameter values of the controller are given in Table 5-1. Determination of Kf is discussed below. The Jacobian matrix of the linearized system at the unstable (to be stabilized) equilibrium state can be given as 0 K f -cos*, + du (x ,x ) fn x 1 du (x ,x ) K 2 f fn dx, x dx-, (5.25) 2 Xi=7T,X =0 2 where: c =I +I x X +m l 2 2 x cX +m (d +l 2 c i = ( id + 2 ( c c m l m - l f x =2.15: c2 K2))§ = - 4 5 • d 28 (5.26) Then, from Eqs. (5.14) and (5.15), the stability indices indicating the relative stability at the equilibrium state are given as: c^_Kj_ •^511 _ du (x ,x ) fn c, c, x 2 (5.27) dx. X,=M-,X =0 2 K du (x ,x ) f fn S\2 l x 2 dx*, (5.28) -ix =ir,x =0 l 2 For the index fa, the auxiliary subspace is determined by x = 0. Accordingly, 2 = min. | — -2s i n• * ! c I S2 f +——u (x ,0)\. K , \/x,eB 111 fn x (5.29) Table 5-1 A N 40 0.01 Parameter values of the fuzzy logic controller. N sp s CpvSsn CpSsn CpMsn 0.1 0.2 0.5 0.2 r ^ZRspn 0.1 Cpsufn CpMufn 0.2 0.4 Now, the partial derivatives of the control component at the equilibrium state to be stabilized are obtained using an interpolation technique as: du (x ,x ) fn x 2 = -0.5; dx. du (x\,x ) fn 2 = -0.025. dx<> (5.30) Figure 5-5 shows the (normalized) control surface on the x\-x plane. By substituting 2 these partial derivative values in Eqs. (5.27) and (5.28) with c\ =2.15 and c - 28.45, one 2 obtains: I su = -13.25 + 0.232/^; (5.32) I =0M\6K ; sn Figure 5-5 (5.31) f Control surface of the normalized fuzzy logic control action u/„ on the x\-x plane. 2 112 which provide the condition > 57.1. Kf (5.33) With this condition satisfied, the equilibrium state becomes stable (i.e., positive values for both stability indices I$\ 1, and Isn)Now, in order to examine the index Isi, the curves of the plant and the control components with different values of Kf are shown in Figure 5-6 in the auxiliary subspace (i.e., x\ axis in the present example). For Kf= 57.1, which is the minimum value that is needed to stabilize the equilibrium state at 180°, the marginally stable situation at the equilibrium state quickly becomes unstable in the vicinity of the equilibrium state, and new stable equilibrium states appear at 150° and 210°. Moreover, with Kf = 25, the equilibrium state to be stabilized becomes unstable, as expected, and a new stable equilibrium state appears close to the open-loop stable equilibrium state (0° or 360°). Consequently, in these two cases, the stability index hi becomes zero, indicating the loss of global stability. On the other hand, with a relatively large value of Kf (= 100), the global stability is achieved since the/+ u curve does not cross the x\ axis (i.e., \ f + u\> 0) except at the stable equilibrium state (180°). Hence, in this case, I si is given as the minimum distance between the/+ u curve and the x\ axis outside the boundary region as determined by the closest value (x ) to the equilibrium state to be stabilized, where the a] slope of the/ + u curve at this value is zero, as shown in Figure 5-6(b). It is quite obvious that, with a large value of Kf, this distance will be increased, or I may not be defined as S2 if x al does not exist, indicating excellent robustness, since Kf only scales the monotonically decreasing control curve. Figure 5-7 presents variations of the index Isi in the range of Kf = 0 to 200. It clearly shows that the index I si is increased when the scaling factor Kf is incremented in the region beyond the minimum value («72), to guarantee that a new equilibrium is not created. Hence, by including the condition given by Eq. (5.33), it may be required that K >12, f 113 (5.34) so as to guarantee global stability of the closed-loop system with a stable equilibrium state created in the up-right position of the pendulum. Figure 5-8 gives a comparison of the closed-loop responses of the system using different initial conditions for the two cases: Kf= 40 (unstable equilibrium at x\ = 180°, x = 0); and K/= 90 (globally stable). 2 Plant Component: -/= 13.25sinxi Control Component: u = 0AlKjUf n x\ K= f [deg] 100 (b) Figure 5-6 Plant (j) and control (u) components in the auxiliary subspace with different values for the denormalization scaling factor Kf of the fuzzy logic controller: (a) -/and u; (b)f + u. 114 In general, the stability indices should take relatively large positive values so that the closed-loop system remains stable in the presence of structured and unstructured uncertainties (i.e., deviations in the plant and/or the control components). Therefore, a practical value of Kf may be chosen as K» f (5.35) 72, which increases the robustness of the system (large positive values of the stability indices). Note that this result is analogous to the fuzzy sliding-mode control law, where the minimum value of Kf (i.e., 72) may correspond to the output from the dynamic compensation term and an extra amount of Kf over the minimum may be determined from the upper bounds of uncertainties. 310 290 xi 200 [deg] i o 6 70 50 5 10 Time [sec] Figure 5-8 0 5 10 Time [sec] (a) (b) Comparison of the closed-loop responses with different initial conditions: (a) Kf = 40 (unstable equilibrium at x\ = 180°, x = 0); (b) K = 90 (globally stable). 2 115 f 5.2.2 Coupled sliding-mode with fuzzy logic control In the simulation results given in the previous chapter, it is shown that the response of a flexible system (e.g., vibration) is quite noticeably improved by using coupled sliding-mode control. However, it is also pointed out that when coupled slidingmode control is used, the ultimate boundedness of a system is no longer guaranteed. Moreover, the system may become unstable since the gains of coupled sliding-mode control, unlike other controller parameters, are chosen somewhat arbitrarily without considering their effects on the stability of a system. In fact, it is commonly known that in flexible systems (for example, the system with flexible revolute joint used in the simulation), if one attempts to design a controller based on the overall slewing angle instead of the rigid angle alone, the system will become unstable. Thus, it is desirable to carry out a stability analysis for coupled sliding-mode control. Hence, in the following example, the stability problem is studied using stability indices, and accordingly, it will provide some guidelines for the design of a coupled sliding-mode controller. Consider the same manipulator system that has been used in the simulation study for the control of a flexible system (Section 4.4), which may be represented in the statespace form as: Xj = x ; 2 • ~* ) A +/ x = 3 . 3 = + mJ 2 2 cl + m (d 2 c + /, - l ) ' 2 c2 X4, ^ _ K (X{ - x ) + 7] (x ,x ,x ,x ) _ S 3 n 1 2 3 4 (5 36) where xi = 0 and X3 = a. All notations are as given in Chapter 4 (also see Appendix I). Note that the system is configured as planar (g = 0) and having a fixed deployment length d = 0.2 m. Also, a payload is not included for simplicity. Here, n = 4 and m = 1. The c origin (xi —X2 X3 —X4 =0) is chosen as the equilibrium state to be stabilized. As in the — previous case, the system parameter values (nominal) are chosen as given in Table 4-1, and the control component T is the fuzzy logic controller Uf= KfUf„ with the parameter in 116 values as given in Table 5-1. Also, Kf- 100, which is adequate to make the system globally stable with conventional sliding-mode control, as will be shown in the sequel. Furthermore, considering the primary objective as the control of the rigid degree of freedom and the secondary control objective as vibration suppression, as in the previous simulation study, the coupled sliding-mode control may be given as s = ((x -x )-w) 4 (5.37) + A(x -x ), (l4 3 (i3 where the subscript d indicates the desired value and: w = w sat(s /w ); m 2 (5.38) p s = (x — x ) + /i (x 2 2 4 2 x — x). 3 (5.39) Note that, with w = 0, one has the conventional sliding-mode control problem. The gains m of the coupled sliding-mode control are w , w , and /fe. Also, one should notice that, with m p the coupled sliding-mode control, the controller becomes a function of all four states (i.e., u = KfUf„(x\, x , x , x )). f 2 3 4 First, the index I si is considered. The auxiliary subspace of the system is given as: X2=X4 = 0; and (5.40) x\=xy, and accordingly, K I si = mni | — u (x ,0, x ,0) f fn \/x eB l x 3 |. (5.41) J From the definition of coupled sliding-mode control, it is clear that the index Isi is independent of the choice of coupled sliding-mode since the intermediate variable w is always zero in the auxiliary subspace. Thus, the shape of the control component curve in the auxiliary subspace is the same as that with conventional sliding-mode control in Figure 5-6, since the same structure and parameters of the fuzzy logic controller as in the previous case are used here. Consequently, as the plant component is not present in this case, the index I si always takes a positive value (or is undefined). 117 For the indices Isn and Isn, the Jacobian matrix of the linearized system at the origin can be given as 0 K +K u s f 0 1 0 0 0 1 Ku fnA f 0 -K +K u fn2 s f 0 Ku fn>3 f fnA 1 0 0 «23 0 0 0 «41 «42 a 43 0 0 1 a 44 (5.42) where: du f (Xj, x , x , x ) n fn,i U 2 3 4 = (5.43) J AT] —X~2_ — ^ 3 — ^ 4 —0 and c\ is given by Eq. (5.26). Then, the characteristic equation of the linear system may be expressed as P(s) = det(sl-J ), c =s -a 4 4 4 s ~{a 3 + a )s + (a a 2 43 2X 2X -a a )s 44 42 +a a 23 2X -a a , 43 4X 23 (5.44) and accordingly, •a a a 44 H n-\ 2X 1 = 0 o a 44 42 23 -(a +a ) 43 0 (5.45) a a -a a 2X 2X ^44 43 4X 23 t ~7d7@*. *42L*23 21 44 It follows that: I sxx As42 =det(/ ) = a a - a a c — 2 1 4 3 KK 2 S 2 44 ~ _ [K c Uf s x n4 2 4X K Kf ~ _ _ + K fC U f u + 2 n4 + Kcu u s x fna a f nX x _ +u ); fn3 Ct^li 23 _ (u s = 2 3 °-et(^T _j) — a a a n = 4 X fnA 118 44 21 42 23 a (5.46) fnX a a - K jC U f u n2 x -K u u s fn>2 fnA a 44 43 42 23 : a fu n3 a f l f n4 -K uj ]. s n>2 (5.47) Before further discussion on coupled sliding-mode control, it is useful to mention that the index Isn in Eq. (5.47) clearly shows instability when the controller is designed based only on the overall slewing angle. That is, by substituting u~f n>3 =0 in Eq. =Uf 4 n> (5.47), the index Isn becomes which implies that the equilibrium is always unstable unless damping is incorporated. On the other hand, in the case of conventional sliding-mode control, where the controller is designed based on the rigid degree of slewing angle (i.e., u fnl =u fn2 = 0), the index Isn is given as K K 2 2 I =^-Lu} >0. Also, in this case, since u fn>3 (5.49) nA sn < 0 as given in Eq. (5.30), the index T^il is always positive for any positive Kf (100 in this case). Hence, along with the results for the index Isi, it is seen that this system is globally stable initially, when conventional sliding-mode control is used. Since the index I S2 is the same even with coupled sliding-mode control, the system may remain globally stable or become globally unstable depending on the chosen parameter values of the coupled sliding-mode control at equilibrium. To that end, Figure 5-9 shows the variation of the indices Isn and Isn as the gain parameters (w lw and A ) vary. Note that w lw is used since w = m p 2 m p w sat(s /w )« m 2 p w s /w at the equilibrium point (the origin). This result shows that the index Isu is m 2 p always positive (similar to the one with conventional sliding-mode control, i.e., w /w = m p 0) regardless of the values of the gains (Figure 5-9a). Even though this index tends to reduce as the values of w /w and A increase, the difference is negligible. However, m p 2 Figure 5-9(b) shows that the index I \ becomes negative with relatively large w /w and S 2 m p small A . Hence, this region should be avoided to ensure global stability of the system. 2 119 Here, the index curve takes a downward parabolic shape with respect to w /w , m p which widens as A increases from zero, and eventually becomes a straight line. With 2 further increase of A , the index curve takes an upward parabolic shape whose minimum 2 is located on the negative side of the w /w axis, as shown in Figure 5-10. It is interesting m p that, in the region where A > A (= 40), Is\ is always positive regardless the value of 2 wjw . p 2 This fact is shown in Figure 5-11, with respect to different values of A. Figure 5- 12 shows that similar results are obtained for different values of joint stiffness K and the s denormalization scaling factor Kf (Note: the index surfaces of K = 2x10 and Kf= 200 are 3 s scaled down to the proper ranges in order to compare with the other cases). It should be pointed out that any change in these parameters does not cause instability in the same system when conventional sliding-mode control is used instead. Furthermore, even with coupled sliding-mode control, it will not cause instability, expressed in terms of the indices Is\ i and fa, as can be seen from the previous discussions. Hence, with coupled sliding mode control the global stability of the system is guaranteed by the condition A > A, (5.50) 2 regardless of the values of other gains (i.e., w , w , A, and Kf) and system parameters m p (e.g., K ), as long as the same system is globally stable with conventional sliding-mode s control. 0 100 50 150 200 wjw p Figure 5-10 Stability index (Isn) curves with respect to w lw for different A . m 121 p 2 Figure 5-11 Index (Isn) surface on the w lw - A plane for two different values of A (= 20 and 60). m p 2 Also, it should be noted that, even with A < A, the index I n can be positive at 2 S least in the region where wjw is relatively small, and this appears to be true even for A p 2 = 0 (see Figure 5-10 where A = 40). This region, for any value of A , may vanish only in 2 such an unrealistic situation where an impractically large value is chosen for A. But, according to the sliding-mode principle, A need not be a large number and may take any positive value. Furthermore, wjw p is usually chosen to be a relatively small value (~ 1) in practice, since a larger value of w /w ( » 1) implies greater weight on the secondary m p control objective (i.e., vibration suppression). The latter, in turn, makes the primary objective (control of the rigid degree of freedom) less important, which may result in an unacceptably large error in the rigid motion and, accordingly, in the overall slewing angle. From these facts, it is clear that the condition given by Eq. (5.50) may not be necessary to realize a globally stable system in practice. However, it is natural to design A > A so that the system always becomes globally stable despite any variation in other 2 parameters. 122 Figure 5-12 Index (Isn) surface on the w lw - A plane for different parameter values: (a) K = 2x10 and 10 ; (b) K = 200 and 10. m 3 s p 2 f 123 2 6. EXPERIMENTAL IMPLEMENTATION The objective in the present chapter is to experimentally verify the performance and effectiveness of the control schemes developed and computer simulated in the previous chapters. Specifically, sliding-mode control and fuzzy sliding-mode control are implemented in real-time. Experimental studies are carried out using a laboratory prototype of a variable-geometry manipulator. 6.1 The Robotic Manipulator System Figure 6-1 shows the manipulator system that has been developed and located in the Space Dynamics and Control Laboratory of the Department of Mechanical Engineering, University of British Columbia. The prototype manipulator, which is employed in the present experimental study, consists of a fixed base that supports two modules connected in series. Each module has two links: one able to slew, and the other free to deploy and retract. The manipulator is essentially rigid. The manipulator workspace has the shape of a human heart, extending 2 m from top to bottom and 2.5 m across. Figure 6-1 The prototype manipulator system. 124 Rotational motion is made possible through the use of revolute joints actuated by DC servo-motors. The deployment is realized with prismatic joints consisting of lead screw and roller nut assemblies, which transform the rotational motion of a DC servomotor into the translational motion of a deployable link (Figure 6-2). Actuator motors integral with optical-encoder sensors are interfaced with a host PC through a motion control board. The details of integration of the manipulator and the components descriptions are given in Appendix II. 6.2 H a r d w a r e and Software C o n t r o l Interface The control interface of the manipulator mainly consists of an IBM compatible host computer (Pentium Pro 200 MHz PC), an MFIO 3A three-axis multi-function input/output motion control board (Precision Micro Dynamics Inc.), linear power amplifiers (Galil), and DC servo-motors (Pittman) with built-in optical encoders (Figure 6-3). The control structure of each degree of freedom is identical. Computer System A Pentium Pro 200 MHz IBM compatible PC is used for system control is a, with QNX as the operating system. Real-time application of a digital control system depends on an operating system that can handle multiple events within specified time constraints. The more responsive the operating system, the greater the 'room' a real-time application has for 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 125 126 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 resolution. The encoder inputs are digitally filtered for noise suppression. The programmable interval timer can generate timed intervals from 0.25 us 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-3 A 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. Desired Position J Feedback Signal User Interface (QNX) Control Signal MFIO-3A Interface Power Amplifier Position Feedback Figure 6-3 DC ServoMotor Manipulator Joint (one degree of freedom) Optical Encoder The architecture of the manipulator control system for a single joint. 127 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 that drives the joint motors. The amplifier gain is set so that a 10V command generates the maximum drive current. In experiments, the gain is chosen as 1 A/V and the voltage generated from a controller is upper-bounded with respect to the peak current of the motors. DC Servo-Motors Slewing motors of the manipulator are Pittman 14202 (109 oz-in peak torque) and 9413 (16 oz-in peak torque) units for modules 1 and 2, respectively. A NEMA 23-20 reduction gear head of speed ratio 20:1 is used. The gear head reduces the speed by a factor of twenty while increasing the output torque of the motor by nearly the same ratio. The deployment motors are Pittman 9414 type (24 oz-in peak torque). The torque generated by the motor is transferred to a force through a ball screw (2.5 mm pitch for the inner module and 1 mm pitch for the outer module). The motors operate through the DC current supplied by the power amplifier, in response to a controller signal. Optical Encoders The position of each motor is sensed using 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) so that directional measurements are possible. The two tracks are identical, each having 1000 windows. A third track with a lone window generates a reference pulse for every revolution. The physical resolution of an encoders is 0.09°. The signal from an 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. 128 6.3 C o n t r o l l e r Implementation 6.3.1 D y n a m i c equations of the manipulator In the control algorithms under study, an approximate model of the system is required, but it is allowed to be quite inaccurate. Since the experiments are carried out using the outer module only; i.e., the inner module is held fixed (Figure 6-4), the equations governing dynamics of the prototype manipulator can be readily obtained from the formulation of the system used in the simulation studies of Chapter 4 (also see Appendix I). Since the manipulator is configured as planar and quite rigid, the corresponding equations can be obtained by eliminating the gravity components (i.e., g = 0) and joint flexibility (i.e., set J = K = C — 0). Also, the terms related to payload are s d eliminated (i.e., m = 0). Consequently, the governing equations become p I +I x +ml 2 2 x x + m (d + l \ - l 2 c 2 ) 0 2 0 m 2 m (d 2 [-m (d 2 + l -l )d x m (d + c2 + l -l )0 x l -l )0 2 x 0 c2 c2 0 [d_ T- (6.1) in _fin _ Y *- X T Figure 6-4 in Two-module prototype manipulator system (with fixed inner module). 129 Here: 6 = slewing angle of the revolute joint in the outer module; d = deployment length of the outer module; m ,m x 2 = mass of the slewing and the deployable links of the outer module, respectively; I ,I X 2 = moment of inertia of the slewing and the deployable links of the outer module, respectively; /,, l 2 = length of the slewing and the deployable links of the outer module, respectively; l = distance between the slewing axis and the center of mass of the slewing cX link of the outer module; l = distance between the end of the manipulator and the center of mass of c2 the deployable link of the outer module; f ,T in in = force at the prismatic joint and torque at the revolute joint of the outer module, respectively; A linear parameterization of the governing equations is needed for the control algorithm. Hence, similar to Eqs. (4.8)-(4.10), one has v= _ 2. V A* -A e _ 2 a x ; «= — a (6.2) 9 A* 2 d ~0i -A e x — /, +m r x cX (6.3) m (l 2 Y(q,q,v,a) = 6.3.2 a { a ~l ) x c2 d a +dBv -vddv, 1 x x 2 Ida, +1^ + i wv dv, x 0 0 a - d0v 2 2 (6.4) x System parameters a n d uncertainties The parameter values of the system are given in Table 6-1. Note that the link masses include related masses of other mechanical components such as motor and 130 coupling. In fact, the most mass components are included in the mass of the revolute link, which gives a relatively large m, compared to m . 2 Table 6-1 m x [kg] 2.2 m 2 [kg] 0.2 Nominal values of the system parameters. h [m] l 2 0.3 [m] [m] hx 0.3048 0.15 / [m] /, [kg-m] 7 [kgm ] 0.1524 0.075 0.005 c2 2 2 2 The values of the moments of inertia 7, and 7 are approximated using the results 2 of swing (pendulum) tests as shown in Figure 6-5. A typical test involves hanging a link at its joint, applying a small displacement from the vertical, and counting the number of cycles over a known period of time. The moment of inertia about the swing axis is given by [51] mgl mglT — = —2—> 2 p I = co An: (-) 6 5 where T = period of oscillation; m = link mass; and / = distance from the swing axis to p the center of mass of the link. The parameter values determined in this fashion for the outer module are given in Table 6-2. The moments of inertia were measured for the whole module with three different positions of the deployable link. Figure 6-5 Schematic diagram of the swing test to determine the moment of inertia of a manipulator module, for different lengths. 131 Table 6-2 Mass [kg] 2.4 Swing-test results for the outer module. /[kgm ] Position 1.021 0.066 fully retracted 0.119 1.063 0.080 middle (half-deployed) 0.129 1.109 0.094 fully deployed /[m] T [s] 0.106 2 p It should be noted that the moments of inertia determined from the swing tests are for the complete module while the individual values of 7, and I are needed. However, 2 since the mass of a slewing link is much larger (almost as large as the total mass of the module) than that of the associated deployable link with almost same length, I is taken to x be approximately equal to the moment of inertia of the complete module while I is 2 chosen to take a relatively small value, based on the half-deployed configuration. On the other hand, the approximation of the moment of inertia will correspond to structured uncertainties of the system. In addition, the location of the center of mass of each link, represented by l and l , may be considered uncertain since some components cX c2 of the system such as a motor are located on one side of the link such as motor while the nominal values are chosen as the mid point lengths. Also, to some degree, approximate lumped model of the system may result in structured uncertainties. These structured uncertainties are accounted for by assigning upper bounds for the uncertain parameters as given in Table 6-3. Hence, from this prior knowledge of system parameters, the nominal equivalent parameter vector q> and the upper bound vector p of the structured 0 uncertainties are established, as given in Table 6-4, using the equivalent parameter vector <2?of Eq. (6.3). Table 6-3 Lower and upper bounds of the unknown and time varying parameters. /, [kg-m ] 7 [kg-m ] hx [m] hi [m] 0.065 ~ 0.085 0.001-0.01 0.11-0.19 0.11-0.19 2 2 2 132 Table 6-4 Nominal parameter vector cp and the upper bound p. 0 (Po.X <Po,2 <Po,3 <Po,4 0.1245 0.009 0.2 0.03 P\ Pi Pi 0.1585 0.003 0 A 0.0075 It is clear that unstructured uncertainties exist due to friction, random noise in signals, and some minor mechanical defects of the system. In the prototype manipulator, there are several sources of unstructured uncertainties. For example, in the deployable link, significant Coulomb friction (stick-slip) is present, caused mainly by the roller nut and aluminum tubing inside each link. Also, the coupling between the motor and the pivot shaft of the revolute joint displays looseness during maneuver causing undesirable oscillatory effects, which may be enhanced due to backlash in the gear box. Moreover, the manipulator modules are slightly compressed by their own weight causing an extra torque/force depending on the direction of the joint movement. To reduce these sources of unstructured uncertainties, some improvements were made; for example, addition of a new gear box, proper lubrication, and a glutinous layer inside the revolute joint coupling to avoid slipping. However, further improvements may be needed. It is not straightforward to choose the upper bounds of the unstructured uncertainties. Hence, initially, it is chosen somewhat arbitrarily, and then further adjusted through trial and error methods. The values used in the experiment are presented with the experimental results, later in this chapter. It should be noted that uncertainties depend on the type of maneuver (i.e., speed and the operating range) as well. 6.3.3 Controller design Table 6-5 shows the controller parameters used in the experiments. The subscripts i = 1 and 2 denote the revolute and the prismatic joints, respectively. The chosen controller parameters are as discussed in Chapter 4 (Section 4.2). Note that different 133 tracking accuracy specifications are used in the maneuvers. In FSMC, N varies to s incorporate this accuracy specification, which is given with the experimental results later in this chapter. The positive definite matrix P = diag [0.001, 1] is made relatively small so as to observe the characteristic behavior of the controllers (i.e., effects of the slidingmode terms of the control laws) more distinctively. The sampling time is 10 ms. Typically, a signal sampling time in a robotic application can vary from about 1 to 20 ms. Table 6-5 Design parameters of the controllers. 4 c CpvSsn.i c ^ZRspn,i CpSufn.i i =1 4 1000 0.1 0.2 0.5 0.1 0.2 i=2 4 2000 0.1 0.2 0.5 0.1 0.2 Digital Filtering of Position Measurements In discrete-time control, it is usual to measure the joint position using an optical encoder, and then estimate joint velocity from these position measurements. Simple computation of the joint velocity using the Euler approximation, a =(q -q -i)lT' , k k k (6.6) s where T is the sampling time, will usually fail in practice since this high-pass filter s amplifies the encoder measurement noise. Hence, it is necessary to introduce a digital filter that will remove unwanted components from a signal. The following second-order filter is used to estimate displacement and velocity from position measurements [53]. Let^ (A-), y(k), and v(k) be a position measurement, a m displacement estimate, and a velocity estimate at time k, respectively. Then, the filter algorithm is given as: yik) = (l-a )y(k -1) + (1 - a )T v{k -1) + a y f f s f v(*) = y - y(k -1) + (1 - b )v(k -l) + ^-y f * s m s 134 m (k) ; (k); (6.7) (6.8) where a and b are weighting factors that represent the reliability of the measurement. f f The characteristic equation of the filter is z +(a +b -2)z + \ - a 2 f f f =0. (6.9) Form the Routh-Hurwitz criterion, it can be established that the low-pass filter is stable if and only if 4 - 2a - b > 0 with a > 0 and b > 0. In the experiments, a = 0.7 and b = 0.01 f f f f f f for the revolute joint; and a = 1.0 and b = 0.1 for the prismatic joint. It should be noted f f that since the controlled performance of the system largely depends on the filtering of measurement noise, it is desirable to have a proper filter algorithm. The performance may be improved using a higher order filter. Conversion of Units The position measurement is obtained as encoder counts. The physical resolution of the encoder is 0.09°, which corresponds to 4000 counts per 360°. Hence, for the revolute joint of the outer module, with a gear ratio 20:1, the actual resolution is 4000 counts per 18 °. For the prismatic joint of the outer module, with 1 mm lead ball screw, the resolution is 4000 counts per 1 mm. In the controller program, the measurement counts are converted to radians and meters, and then applied to the control algorithms. The units of the output from the control laws are Nm and N, which have to be converted to the appropriate range of motor currents. The torque constant of the motor for the revolute joint of the outer module is 5.6 oz-in/A « 0.04 Nm/A, which becomes 0.8 Nm/A (= 1.25 A/Nm) with a gear ratio of 20:1. For the prismatic joint of the outer module, the torque constant is 4.13 oz-in/A « 0.029 Nm/A, which becomes 182.2 N/A (= 0.0055 A/N) with a 1mm pitch of the ball screw. Moreover, to avoid overloading of a joint, the converted output current is saturated by 1 A for the revolute joint motor (peak current 2.88 A) and 1.5 A for the prismatic joint motor (peak current 5.91 A). Note that the gain of the power amplifier is 1 V/A. 135 6.4 Trajectory Tracking Tracking of prescribed trajectories is an important task of a manipulator. As pointed out before, a trajectory involves both a path and the time evolution of the path. In the present set of experiments, the chosen trajectory follows a sine-on-ramp profile, just as in the simulation studies of Chapter 4. As mentioned, the tracking tasks are performed using only the outer module of the manipulator while the inner module is held fixed. Some specifications of the manipulator system are: • Maximum extension of the deployable arm 0.2 m; • Slewing arm sweep range -135 to 135 deg; • Maximum rotational speed 60 deg/s; • Maximum deployment speed 0.04 m/s. The following two trajectories in the form of a straight line and a circle are considered: (i) tracking of a 0.3 m long straight line along they axis in 10 seconds; (ii) tracking of a circle with 5 cm radius in 20 seconds. Straight Line Tracking The manipulator is initially aligned with the x axis (initial angle = 0°), and the initial deployed length is set to zero, when the length from the slewing axis to the manipulator tip is 0.4 m. The manipulator tip is commanded to follow a vertical line 0.3 m long in 10 seconds using the outer module (Figure 6-6). Desired time histories of c9and d can be readily obtained from: (6.10) where (6.11) 136 Y 4 0.3 m Inner Module (Joints are locked) *- X 0.4 m *• Schematic diagram of straight line tracking. Figure 6-6 The upper bounds of unstructured uncertainties are chosen as 0.9 Nm for the revolute joint and 200 N for the prismatic joint. The tracking accuracy specifications are 0.3° and 2 mm for the revolute and prismatic joints, respectively. Accordingly, for FSMC, the normalized gains are N = 10 and 25 for the revolute and the prismatic joints, s respectively. Figure 6-7 shows the tracking performance and system response for both SMC and FSMC. The tip trajectory of the manipulator and the corresponding error are shown in Figure 6-7(a). For SMC, the maximum deviations of the tip from the desired position are « 1.5 mm in the x direction and 3 mm in the y direction; while for FSMC, they are « 1 mm and 2 mm in the x and y directions, respectively. In the individual joint response (Figure 6-7b), as expected, the tracking errors are bounded within the tracking accuracy specifications (0.3° for 6? and 2 mm for d) for both SMC and FSMC. It is seen that the tracking errors using FSMC are slightly smaller than those using SMC, which agrees with the discussion in Chapter 3 and the simulation results in Chapter 4. As mentioned, FSMC leads to a more robust and faster system response than that obtained with SMC due to the piece-wise control surface generated in terms of the distance (s) to the switching line, and the perpendicular distance (s ). p 137 0.3 0.2 h 0.3 m y [m] 0.1 0.1 0.2 0.3 0.4 x [m] Tracking Error: x Direction [xioi 1 r 0 [m] -1 10 Tracking Error: y Direction fx 10 Time [s] gure 6-7 Straight line tracking by the prototype manipulator (SMC and FSMC) with tracking accuracy specifications of 6 = 0.3° and d = 2 mm: (a) tip trajectory and errors. 138 Max. Tracking E r r o r Spec: Desired -SMC -FSMC 0: 0.3°; d: 2 mm. Upper Bound of Uns. Uncertainty: 0: 0.3 m 0.9 Nm; d: 200 N. Initial Conditions: 9 = 0°; d = 0 m. Maneuver: 0.3 m straight line tracking in 10 sec. Slewing Motion 5 Deployment Motion 10 5 Slewing Motion Error 10 Deployment Motion Error [xlO" ] 3 [m] 5 0 10 ki k L iii ii k \ 10 Control Voltage: Prismatic Joint Control Voltage: Revolute Joint 0.5 5 II Uj fPfffr' [A] -0.5 5 10 Time [s] Figure 6-7 Straight line tracking by the prototype manipulator (SMC and FSMC) with tracking accuracy specifications of 0 = 0.3° and d = 2 mm; (b) joint responses and control inputs. 139 On the other hand, the control effort is much greater in FSMC with severe chattering. As pointed out before, chattering increases with decreased boundary layer thickness of the switching line. FSMC generates a slightly larger control output when the system state is in the neighborhood of the switching line since it considers the perpendicular distance (s ) in the control scheme, which results in increased robustness in p the system and smaller tracking errors. However, in turn, it also results in the same effect as decreasing the boundary layer thickness as the difference of the output across the switching line increases. Circle Tracking In order to further investigate the control performance, tracking of a circular trajectory is undertaken. As in the case of straight line tracking, the manipulator is initially aligned with the x axis (initial angle = 0) and the initial deployed length is set to zero, when the length from the slewing axis to the manipulator tip is 0.4 m. Now, the manipulator tip is commanded to follow one complete circle clockwise (radius 5 cm) in 20 seconds using the outer module (Figure 6-8). The trajectory can be represented as Figure 6-8 Schematic diagram showing tracking of a circular trajectory. 140 (6.12) O-0.45) + y = 0.05 , 2 2 2 or x = 0.45- 0.05 cos(^)m, (6.13) y = 0.05sin({^) m, with the sine-on-ramp profile 20 sin(—t)) rad. 20 2/r (6.14) The upper bounds of unstructured uncertainties are chosen as 0.7 Nm for the revolute joint and 200 N for the prismatic joint. Note that, while a torque of 0.9 Nm was applied for the straight line tracking, 0.7 Nm is used in the present case since the maneuver range of the slewing angle is relatively small and, in turn, the unstructured uncertainties would be decreased. Figure 6-9 shows the results of a circle tracking with accuracy specifications of 0.3° and 2 mm (for FSMC, the corresponding normalized gains are: N = 10 and 25 for s the revolute and the prismatic joints, respectively). The maximum errors of the tip position are « 1.5 mm in the x direction for both SMC and FSMC. In the y direction, they are « 2 mm for SMC and 1.5 mm for FSMC. Also, in terms of the circle radius, the errors are « 2 mm for both SMC and FSMC. Moreover, it is shown that the tracking errors of the individual joints are bounded within the tracking accuracy specifications (0.3° and 2 mm). Note that relatively large errors occur when the manipulator is moving fast. It is obvious that the same discussion as in the line tracking case is applicable in the present simulation. To show the performance difference between SMC and FSMC more distinctively, the same circle is tracked with the accuracy specifications of 0.5° and 4 mm (accordingly, N = 6 and 12.5) as shown in Figure 6-10. It is clear that FSMC shows better tracking s performance than SMC, giving reduced chattering as discussed previously. The maximum errors of FSMC are almost half of those of SMC. For instance, in the x 141 0.05 Maneuver direction [m] Desired SMC FSMC -0.05 0.35 0.4 0.45 0.55 0.5 x [m] Tracking Error: x Direction [x10 10 15 Tracking Error: y Direction [x10" ] 3 e y [m] o 10 15 20 25 Tracking Error: Radius [x10" ] J gure 6-9 Circle tracking by the prototype manipulator (SMC and FSMC) with tracking accuracy specifications of 0 = 0.3° and d = 2 mm: (a) tip trajectory and errors. 142 Max. Tracking E r r o r Spec: Desired -SMC -FSMC 0: 0.3°; d: 2 mm. Upper Bound of Uns. Uncertainty: 0: 0.7 Nm; d: 200 N . Initial Conditions: > X 0 = 0°; d = 0 m. 0 Maneuver: Tracking of 0.05 m radius circle in 20 s. Slewing Motion Deployment Motion 0 [deg] 5 10 15 20 5 25 10 15 20 Deployment Motion Error Slewing Motion Error [xlO" ] 3 ilttfflfflffl iifr?" 1 e 0 0 [m] [deg] 0 5 10 15 20 hilhlllliii iiilllM 5 25 Control Voltage: Revolute Joint • 10 15 20 25 Control Voltage: Prismatic Joint u [A] 2 10 15 20 25 Time [s] Figure 6-9 Circle tracking by the prototype manipulator (SMC and FSMC) with tracking accuracy specifications of 0 = 0.3° and d = 2 mm: (b) joint responses and control inputs. 143 Figure 6-10 Circle tracking by the prototype manipulator (SMC and FSMC) with tracking accuracy specifications of 0 =0.5° and d = 4 mm: (a) tip trajectory and errors. 144 Max. Tracking E r r o r Spec: Desired -SMC -FSMC 0: 0.5°; d: 4 mm. Upper Bound of Uns. Uncertainty: 0: 0.7 Nm; d: 200 N . Initial Conditions: 0 = 0°; d = 0 m. > X 0 Maneuver: Tracking of 0.05 m radius circle in 20 s. Deployment Motion Slewing Motion 5 10 15 20 5 25 10 15 15 20 Deployment Motion Error Slewing Motion Error 5 10 20 5 25 10 15 20 25 Control Voltage: Prismatic Joint Control Voltage: Revolute Joint u 2 [A] Figure 6-10 Circle tracking by the prototype manipulator (SMC and FSMC) with tracking accuracy specifications of 0 = 0.5° and d = 4 mm: (b) joint responses and control inputs. 145 direction, the maximum errors are « 2 mm (SMC) and 1 mm (FSMC). Individual joint errors are still bounded by the specifications. It should be noted that even though the tracking specifications are somewhat relaxed compared to the previous case, the actual performance may be considered improved since the chattering is significantly reduced. This can be seen quite clearly by comparing, for example, the deployment motion errors of FSMC in the two cases. Summarizing the experimental results, it can be concluded that the discussions given in the previous chapters are equally valid here. Both SMC and FSMC guarantee the ultimate boundedness of tracking error in the presence of structured and unstructured uncertainties, provided that the upper bounds of uncertainties are known. However, due to the chattering effect, there exists a trade-off between the tracking accuracy and the control demand. On the other hand, FSMC shows more robust and faster system responses than SMC in general. However, since FSMC usually involves more computational and control demands, the choice of the control algorithms should be considered depending on the intended application and associated resources and constraints. 146 7. CONCLUDING R E M A R K S This concluding chapter summarizes the main contributions of the thesis. General conclusions that can be drawn based on the research reported in the thesis are indicated. There are several avenues in which the present research may be extended. Such unexplored issues are mentioned in the final section, with recommendations for future work. 7.1 Contributions The main contributions of this thesis can be summarized as follows: • A robust fuzzy sliding-mode controller is developed for a multi-link manipulator system, which guarantees the ultimate boundedness of the system in the presence of structured and unstructured uncertainties. The relationship between the design parameters of the fuzzy sliding-mode controller and the tracking performance of the closed-loop control system is established, so that a specification of tracking accuracy can be guaranteed by proper choice of the controller parameters. • An alternative version of sliding-mode control, the coupled sliding-mode control, is defined and introduced to account for controlling a coupled system where the number of generalized coordinates needed to be controlled is more than the number of control inputs. • Stability indices which represent the degree of stability of a system are presented to provide a systematic stability analysis and design method for fuzzy logic control where lack of such a method is a well-known drawback. • A comprehensive stability analysis of coupled sliding-mode control is presented using stability indices, and consequently, some design guidelines for coupled slidingmode control are given. • A single-module deployable manipulator is successfully controlled by the fuzzy sliding-mode control with guaranteed tracking accuracy, in computer simulations. 147 The effect of the controller parameters on the performance of the system is studied, and a performance comparison with sliding-mode control is given. • Coupled sliding-mode control is successfully applied in the control of joint flexibility of a robot, showing in computer simulations significant improvement on the suppression of the vibration. • The developed control algorithms are successfully implemented on an experimental single-module manipulator in laboratory. Through experimental studies it is demonstrated that the performance is satisfactory, which verifies the results from the simulation study. 7.2 Conclusions Based on the investigation reported in the present thesis, the following general conclusions can be drawn: • The tracking accuracy specification is guaranteed to be met using fuzzy sliding-mode control as well as conventional sliding-mode control even in the presence of structured and unstructured uncertainties, provided that the upper bounds of these uncertainties are known. • The discontinuity of control input is increased when the tracking accuracy specification is too small, causing chattering. Hence, there exists a trade-off between the tracking accuracy and the control demand. • Fuzzy sliding-mode control is more robust and gives faster system responses compared to conventional sliding-mode control, without significantly increasing the control demand. • In the control of joint flexibility, with conventional sliding-mode, the flexible degree of freedom is almost uncontrolled since the control objective only concerns the rigid degree of freedom. On the other hand, with coupled sliding-mode, the control objective involves the flexible degree of freedom, and consequently, the vibration is suppressed and the response is significantly improved. 148 • Stability indices provide a formal method for stability analysis and design of a large class of fuzzy logic control systems. The fuzzy sliding-mode control is examined in the context of stability indices. Furthermore, using these indices, a system using coupled sliding-mode control is shown to be globally stable as long as the same system is globally stable with conventional sliding-mode control. • The experimental studies with fuzzy sliding-mode control as well as sliding-mode control show that the tracking error is guaranteed to converge to the specification, which verifies the results obtained through analysis and computer simulations. • The control schemes used in the present research is general enough to be useful in many other applications, particularly ones with large uncertainties. 7.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 as future work which are likely to be beneficial: • Develop a model-free fuzzy sliding-mode controller by incorporating a dynamic compensation term into the rule base, which can still guarantee convergence of the tracking error within specification. It may be achieved through fuzzy modeling of the system. • Incorporate adaptive capability into the present robust control algorithm to avoid too conservative control. The present control algorithm may be easily modified through the equivalent parameter vector in the control law. • Apply coupled sliding-mode control for the control of link flexibility. Also, it may be applied to other types of system. • Develop an adaptive coupled sliding-mode controller for a flexible system where it may be applied during a maneuver. Eventually, the concept of coupled sliding-mode control may be implemented into a set of rules in fuzzy logic control. • Use stability indices to design other parameters of fuzzy logic control. The rule base and the membership functions can be modified to guarantee global stability of a 149 system using these indices. Some general criteria for stability and design, which can be applied to a large class of FLC, may be derived in this manner. Incorporate a second manipulator module to the system, and eventually implement the overall control structure on the prototype four-module manipulator. Introduce a CCD camera to determine the actual location of the end-effector, and strain gauges to sense flexibility of the links, in the prototype manipulator. 150 LIST OF REFERENCES Bassett, D.A., Wojik, Z.A., Hoefer, S., and Wittenborg, J., "Mobile Servicing System Assembly, Checkout and Operations," Proceedings of the 46 International Astronautical Congress, Oslo, Norway, Paper No. IAF-95-T.3.04, October 1995. l Krukewich, K., Sexton, J., Cavin, K., Lee, N.E., and Cox, B., "The Systems Engineering Approach to the Integration of the Space Station Romote Manipulator System on the International Space Station (ISS)," Proceedings of the 46 International Astronautical Congress, Oslo, Norway, Paper No. IAF-95T.2.02, October 1995. th Kalaycioglu, S., "Robotics Evaluation and Characterization (REACH) of the SSRMS," Proceedings of the 46 International Astronautical Congress, Oslo, Norway, Paper No. IAF-95-1.2.03, October 1995. th Caron, M., Planar Dynamics and Control of Space-Based Flexible Manipulators with Slewing Deployable Links, M.A.Sc. Thesis, Department of Mechanical Engineering, University of British Columbia, Vancouver, Canada, 1996. Xu, Y., and Shum, H.Y., "Dynamic Control and Coupling of a Free-Flying Space Robot System, " Journal of Robotic Systems, Vol. 11, No. 7, pp. 573-589, 1994. Modi, V J., and Suleman, A., " Dynamical Study of the Proposed Space Station Type Configuration, " Acta Astronautia, Vol. 19, No. 5, pp. 377-391, 1989. Kimura, S., Mivazaki, K., and Suzuki, Y., "Application of a Decentralized Autonomous Control Mechanism for Space Robotics, " Proceedings of the 19th International Symposium on Space Technology and Science, Yokohama, Japan, Paper ISTS 94-C-02, May 1994. Brereton, R. C , A Stability Study of Gravity Oriented Satellites, Ph.D. Thesis, Department of Mechanical Engineering, University of British Columbia, Vancouver, B.C., Canada, pp. 1-11, 14-21, September 1967. Ambros, R.O., and Askew, R.S., "Experimental Investigation of Actuators for Space Robots," Proceedings of the 1995 IEEE International Conference on Robotics and Automation, Nagoya, Japan, Vol. 3, pp. 2625-2630, 1995 "Too much Sun gives Ulysses the Wobbles," Electronics World, Vol. 97, p. 184, March 1991. World and Wireless Dubois, D., and Prade, H., Fuzzy Sets and Systems, Academic Press, Orlando, Florida, 1980. 151 Driankov, D., Hellendoorn, H., and Reinfrank, M . , An Introduction Control, Springer-Verlag, New York, NY, pp. 245-292, 1993. to Fuzzy Chu, M.S.S., Design, Construction and Operation of a Variable Geometry M.A.Sc. Thesis, Department of Mechanical Engineering, University of British Columbia, Vancouver, Canada, 1997. Manipulator, De Silva, C.W., and MacFarlane, A.G.J., Knowledge-Based to Robots, Springer-Verlag, Berlin, Germany, 1989. Control with Application De Silva, C.W., and MacFarlane, A.G.J., "Knowledge-Based Control Structure for Robotic Manipulators", Proc. IF AC Workshop on AI in Real-Time Control, Swansea, United Kingdom, pp. 143-148, 1988. Zadeh, L.A., "Fuzzy Sets," Inform, and Control, Vol. 8, pp. 338-353, 1965. Zadeh, L.A., "Outline of a New Approach to the Analysis of Complex Systems and Decision Processes," IEEE Trans. Syst., Man, Cybern., Vol. 3, pp. 28-44, 1973. Zadeh, L.A., "The Concept of a Linguistic Variable and Its Application to Approximate Reasoning, Part 1-3," Inf Sci., pp. 43-80, 199-249, 301-357, 1975. Mamdani, E.H., and Assilian, S., "Applications of Fuzzy Algorithm for Control of Simple dynamic plant," Proc. Inst. Elec. Eng., Vol. 121, pp. 1585-1588, 1974. De Silva, C.W., and Barlev, S., "Hardware Implementation and Evaluation of a Knowledge-Based Tuner for a Servo System," Proc. IFAC Symp. ACASP, Grenoble, France, pp. 293-298, 1992. De Silva, C.W., "An Analytical Framework for Knowledge-Based Tuning of a Servo Controller," Engineering Applications in Artificial Intelligence, Vol. 4, No. 3, pp. 177-189, 1991. Minorsky, M., "Investigation of Nonlinear Control Systems", U. S. office of Naval Research, Document No. 227-P, pp. 223-234, March 1960. De Silva, C.W., Intelligent Control: Fuzzy Logic Applications, Raton, Florida, pp. 318-320, 1995. CRC Press, Boca Utkin, V.I., "Variable Structure Systems with Sliding Mode, IEEE Vol. AC-22(2), pp. 212-212, 1977. Trans. Automatic Control, Slotine, J.J.E., "The Robust Control of Robot Manipulator," Int. J. of Robotics Research (MIT), Vol. 4, No. 2, pp. 49-64, 1985. 152 Spong, M.W., and Vidyasagar. M., Robot Dynamics and Control, John Willy, New York, NY, pp. 284-313, 1989. Spong, M.W., "On the Robust Control of Robot Manipulators," IEEE Trans. Vol. 37, No. 11, pp. 1782-1786, Nov. 1992. Automatic Control, Slotine, J.J.E., and Li, W., "On the Adaptive Control of Robot Manipulators," Int. J. Robotics Research, Vol. 6, No. 3, pp. 49-59, 1987. Slotine, J.J.E., and Li, W., "Adaptive Manipulator Control: A Case Study," IEEE Trans. Automatic Control, Vol. 33, No. 11, pp. 995-1003, Nov. 1988. Hwang, G.C., and Lin S.C., "A Stability Approach to Fuzzy Control Design for Nonlinear Systems," Fuzzy Sets and Systems, Vol. 48, pp. 279-287, 1992. Palm, R., "Sliding Mode Fuzzy Control," Proc. IEEE Int. Conf. on Fuzzy Systems FUZZ-IEEE'92, San Diego, CA, pp. 519-526, 1992. Yi, S.Y., and Chung, M.J., "Systematic Design and Stability Analysis of a Fuzzy Logic Controller," Fuzzy Sets and Systems, Vol. 72, No. 3, pp. 271-298, 1995. Y i , S.Y., and Chung, M.J., "A Robust Fuzzy Logic Controller for Robot Manipulators with Uncertainty," IEEE Transactions on Systems, Man, and Cybernetics-Part B:Cybernetics, Vol. 27, No. 4, pp. 706-713, August 1997. Lo, J.C., and Kuo, Y.H., "Decoupled Fuzzy Sliding-Mode Control," IEEE Trans. Vol. 6, No. 3, pp. 426-435, 1998. Fuzzy Systems, Kickert, W.J.M., and Mamdani, E.H., "Analysis of a Fuzzy Logic Controller," Fuzzy Sets and System, Vol. 1, pp. 29-44, 1978. Braae, M . , and Rutherford, D.A., "Selection of Parameters for a Fuzzy Logic Controller," Fuzzy Sets and System, Vol. 2, pp. 185-199, 1979. Tong, R.M., "Analysis of Fuzzy Control Algorithms Using the Relation Matrix," Int. J. Man-Machine Studies, Vol. 8, pp. 679-686, 1976. Ray, K.S., and Majumder, D.D., "Application of Circle Criteria for Stability Analysis of Linear SISO and MIMO Systems Associated with Fuzzy Logic Controller," IEEE Trans. Systems, Man, and Cybernetics, Vol. 14, No. 2, pp. 345349, 1984. Ray, K.S., Ghosh, A., and Majumder, D.D., "L2-Stability and the Related Design Concept for SISO Linear System Associated with Fuzzy Logic Controllers," IEEE Trans. Systems, Man, and Cybernetics, Vol. 14, No. 6, pp. 932-939, 1984. 153 Tanaka, K., and Sugeno, M . , "Stability Analysis and Design of Fuzzy Control Systems," Fuzzy Sets and Systems, Vol. 45, pp. 135-156, 1992. Takagi, T., and Sugeno, M . , "Fuzzy Identification of Systems and its Applications to Modeling and Control," IEEE Trans. Systems, Man, and Cybernetics, Vol. 15, pp.116-132, 1985. Kim, W.C., Ahn, S.C., and Kwon, W.H., "Stability Analysis and Stabilization of Fuzzy State Space Models," Fuzzy Sets and Systems, Vol. 71, No. 1, pp. 131-142, 1995. Cao, S.G., Rees, N.W., and Feng, G., "Analysis and Design of Fuzzy Control Systems Using Dynamic Fuzzy Global Models," Fuzzy Sets and Systems, Vol. 75, No. l,pp. 47-62, 1995. Cao, S.G., Rees, N.W., and Feng, G., "Stability Analysis of Fuzzy Control Systems," IEEE Transactions on Systems, Man, and Cybernetics-Part B:Cybernetics, Vol. 26, No. 1, pp. 201-204, February 1996. Cao, S.G., Rees, N.W., and Feng, G., "Lyapunov-Like Stability Theorems for Discrete-Time Fuzzy Control Systems," International Journal of Systems Science, Vol. 28, No. 3, pp. 297-308, 1997. Aracil, J., Garcia-Cerezo, A., and Ollero, A., "Stability Analysis of Fuzzy Control Systems: A Geometrical Approach," Edited by Kulikovsky, C.A., Huber, R.M., and Ferrate, G.A., A.I. Expert Systems and Language in Modeling and Simulation, Amsterdam, North-Holland, pp. 323-330, 1988. Aracil, J., Ollero, A., and Garcia-Cerezo, A., "Stability Indices for Global Analysis of Expert Control Systems," IEEE Trans. Systems, Man, and Cybernetics, Vol. 19, No. 5, pp. 998-1007, 1989. Gukemheimer, J., and Holmes, P., Nonlinear Oscillations, Dynamical Systems and Bifurcations of Vector Fields, Spring-Verlag, New York, NY, 1983. Khosla, P.K., and Kanade, T., "Parameter Identification of Robot Dynamics," Ft. Lauderdale, FL, pp. 1745-1760, 1985. Proc. IEEE Int. Conf. Decision and Control, Wang, L.X., A Course in Fuzzy Systems and Control, Prentice Hall PTR, Upper Saddle River, NJ, pp. 34-47, 1996. De Silva, C.W., Vibration: Fundamentals and Practice, CRC Press, Boca Raton, FL, 2000. 154 Ollero, A., Garcia-Cerezo, A., and Aracil, J., Design of Fuzzy Control Systems, Dpto. Ing. Sist., University Malaga, Research Report, 1992. Benedict, T.R., and Bordner, G.W., "Synthesis of an Optimal Set of Radar TrackWhile-Scan Smoothing Equations," IEEE Trans. Automatic Control, Vol. AC-7, pp. 27-32, July 1962. 155 A P P E N D I X I: DETAILS OF T H E DYNAMIC FORMULATION FORT H E MANIPULATOR SYSTEM K i n e m a t i c s of the System The dynamics of the manipulator is expressed with respect to the reference frames shown in Figure I-1. The frame Fo represents the inertial reference frame, which is attached to the fixed base and serves as a reference for the slewing motion. F\ is the body frame of the slewing link, which is fixed to the revolute joint and rotates about Zo with an angular displacement 9. The linear displacement d of the deployable link, measured as the distance between the ends of slewing and deployable links, is along X\. Note that the system is considered as an equivalent lumped-mass system. The flexibility of the revolute joint is modeled by a linear torsional spring connecting the rotor of the actuator motor to the slewing link along with a linear viscous damper approximating the energy dissipation due to frictional and structural damping, as shown in Figure 1-2. To some extent, the modeling of the flexible revolute joint may also account for the link flexibility. However, it is not explicitly included in the formulation. Fo, F\ Figure 1-1 Configuration of the reference frames and the generalized coordinates. 156 Slewing Link Rotor Stator Figure 1-2 Modeling of the flexible revolute joint. Kinetic Energy of the System Slewing link: Tx=\{h+m l )p ; 2 x 2 (Ll) cX Deployable link: T2=\h8 +\rn {d +(d 2 + 2 2 l -l fd )2 x c2 (1.2) Payload: T,=^m {d +(d 2 p + h) 0 \ 2 2 (1.3) Rotor: T =-Ja l A 157 (1.4) The total kinetic energy is given by T = T +T +T +T . { 2 3 (1.5) 4 Potential E n e r g y of the System Gravitational potential energies (g = gravitational acceleration) of the system components are expressed below: Slewing link: U =-gm l cost9; gl (1.6) } cl Deployable link: U2 g = ~g i (d + l - m x l) c2 cos 6; (1.7) cos 6>. (1.8) Payload: U 3 =-gm (d+ g p Strain energy of torsional spring is given by U =^K (0-af. s s (1.9) The total potential energy is ^ =^ , + ^ 2 + ^ 3 + ^ . Power Dissipation For the damper at the revolute joint, the dissipation of power is given by 158 (1-10) System Matrices of the Equations of Motion Applying the Lagrangian procedure, the equations of motion are given as (1.12) M(q)q + C(q, q)q + Dq + G(q) = Q = u + d , u where the system matrices are: I +I x +ml 2 2 x cX +m (d + l -l ) 2 x M= m (d + /, -l )d 2 C = -m (d 2 0 0 0 J p m (d + l -l )0 x 2 x 0 D 0 -c 0 0 C o d -c d K (0-a) s G c2 + l )0 p + m (d + l )6> 0 p 0 x 0 c 0 +m p c2 x 0 + l -l )0-m (d x p + m (d + l )d c2 0 +m (d + l Y c2 x 0 0 0 d d + (m l x cX +m (d + l -l ) 2 x + m (d + l ))gsin0 c2 p x - (m + m )gcos0 2 \. p (1-13) -K (0-a) 5 Also, ' 0" Q = u + d = fin u T " 0" (1.14) + u2 d u\ d where fin is the control force at the prismatic joint and T is the control torque applied to in the revolute joint. 159 V a l i d a t i o n of the Equations of M o t i o n and the C o m p u t e r C o d e To validate the governing equations of motion and the computer code, the conservation of energy is examined. In the absence of damping and external and nonconservative generalized forces, the total energy of the system must remain constant. The manipulator is mounted and allowed to swing freely due to gravity in the vertical plane, and the deployable link is locked (d = constant). Figure 1-3 shows responses of the generalized coordinates 0 and a, and time variations of the energy components. The parameter values and the initial conditions used in the simulation are listed in the legend of the figure. The simulation program is executed on a Pentium II 266 MHz PC, using MATLAB v. 4.2b. The fourth order Runge-Kutta method is used for the integration. Note that the deviation of the total energy is less than 10' J (approximately 10" % of total 7 9 energy). The result clearly shows that the total energy of the system is conserved, and thus, substantiates the validity of the formulation and the computer code. The negligible variation in total energy is attributed to the computational noise associated with the truncation error. 160 d 1 1 1 ^ — rf = 0.1m. (i.e., length is held constant) #=60°;a=55°; Q_ ^ _Q Slewing link: li = 1.0 m; l \ = 0.5 m; m\ = 3.0 kg. Deployable link: l = 1.0 m; l = 0.5 m; m = 2.0 kg. c S — 1 Y X Initial Conditions System Parameters 1 1 1 1 1 Specified Coordinates 2 0 c2 2 p 3 s 2 Rotor Motion Total Slewing Motion 400 Payload: m = 5.0 kg. Joint stiffness: K = 10 Nm/rad. Rotor inertia: y=2.0kg-m . 200 0 0 •200 • Position [deg] • Velocity [deg/s] •400 0 2 4 E 0 A / V [J] -50 \ f X/ \ A r'\ v V 6 Deviation of Total Energy Enegry 50 4 /' \ i >" -\ y ^ v ; ' ./ l /' 1 f Total Potential Kinetic -100 0 4 6 Time [s] Figure 1-3 Free undamped response of the manipulator and the conservation of energy. 161 A P P E N D I X II: SYSTEM INTEGRATION AND COMPONENTS OFTHE PROTOTYPE MANIPULATOR II.l CONSTRUCTION AND INTEGRATION M a n i p u l a t o r 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 speed reduction ratio 20:1, which amplifies the torque 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 shaft, and finally through the pivot plate holding the slew end of the first module of the manipulator system (Figure II-1). Manipulator Modules The two modules of the prototype manipulator system are identical, each having one revolute joint and one prismatic joint. The revolute joint is located at the base, while the prismatic joint is near the end of the first module. 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 II-2). 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. 162 Elbow Joint The elbow joint connects the two modules. It links 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 II-3). Module 1 Flexible Coupling Slewing • DC Servo-Motor / •Pivot Plate J Deployable Link 1 Axial Bearing Lock Nut of \ TopthePlate Base •Pivot Shaft Flexible Coupling Gear ^ Head (1:20) Base Housing Optical Encoder DC Servo-Motor Figure II-1 — Thrust Bearing Main components of the manipulator base assembly. 163 Linear Axial Bearing ure II-2 Roller Nut Prismatic joint mechanism which provides the deployment and retrieval capability. Slewing End of Module 2 Flexible Coupling Pivot Base Plate Deployable End of Module 1 Pivot Plate Pivot Base Deep Groove Bearing Motor Flexible Coupling Optical Encoder Figure II-3 Main components of the elbow joint assembly. 164 II.2 COMPONENT DESCRIPTIONS M o d e l M F I O - 3 A High-Speed M o t i o n - C o n t r o l Interface C a r d (Version 1.3) Manufacturer: Precision MicroDynamics Inc. 512 Frances Ave., #3, 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 is input configurable for differential, differential terminated, single ended totem pole, and single ended open collector, DC power supply of+5V or + 12V for encoders, 2 to 12 MHz input count rate depending on options; • 24-bit digital I/O programmable for input or output, 16 lines can generate interrupts; • programmable interval timer 0.25 u,s to 515 seconds with 0.12 u,s resolution, can generate sync signal and/or PC interrupt; • watchdog timer 3.85 u,s to 125 ms, forces DAC outputs to 0 V on timeout and sets a digital output to low for emergency shutdown; 165 • SYNC Synchronized D/A and encoder input, Sync generated by on board timer or software, Sync signal passed between multiple boards; • 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; • PWM frequency = 30 kHz; • ambient operation temperature = 0 to 70 °C; 166 • 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 back EMF constant: 3.05 V/krpm terminal resistance: 4.06 ohm 167 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 peak current (stall): 5.91 A 168 Bayside Precision Gearhead with B C I A d a p t o r Kits Manufacturer: Bayside Control Inc., 27 Seaview Boulevard, Port Washington, N Y 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" oz-in-sec radial load: 20 lbs axial load: 40 lbs maximum weight: 1.2 lbs Star Precision B a l l 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. M i n i a t u r e B a l l 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. I N A L i n e a r A x i a l 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. 170
- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Stability analysis and design for intelligent robot...
Open Collections
UBC Theses and Dissertations
Featured Collection
UBC Theses and Dissertations
Stability analysis and design for intelligent robot control Choi, Jooyeol 2000
pdf
Page Metadata
Item Metadata
Title | Stability analysis and design for intelligent robot control |
Creator |
Choi, Jooyeol |
Date Issued | 2000 |
Description | This thesis focuses on the development and implementation of a robust and knowledge-based control approach for multi-link robot manipulator systems. A robot manipulator is a nonlinear and complex dynamic system that suffers from structured and unstructured uncertainties, and hence requires a robust control algorithm for satisfactory performance. Based on the concepts of sliding-mode control and fuzzy logic control (FLC), a fuzzy sliding-mode controller is developed, which possess good robustness properties of sliding-mode control and the flexibility and 'intelligent' capabilities of knowledge-based control through the use of fuzzy logic. The relationship between the design parameters of a fuzzy sliding-mode controller and the tracking performance of a closed-loop control system is established, so that a specification on tracking accuracy can be satisfied by proper choice of the controller parameters. To accommodate the control of a coupled system where the number of generalized coordinates that need to be controlled exceeds the number of control inputs, an alternative version of sliding-mode control termed coupled sliding-mode control, is introduced. Extensive simulation studies with both fuzzy sliding-mode control and conventional sliding-mode control are carried out for a single-module manipulator consisting of two links: one free to slew (revolute joint) while the other is permitted to deploy (prismatic joint). Furthermore, to represent the stability of a fuzzy logic control system rather comprehensively in terms of both qualitative and quantitative aspects, stability indices, which are measures of relative stability of a system, are established. These indices quantify the degree of variation to which a system can be subjected before becoming unstable. By considering the relationship between the stability indices and the design parameters, it is demonstrated that an FLC can be designed to guarantee global stability of a system. Also, using stability indices, a comprehensive stability analysis and design guidelines for coupled sliding-mode control are developed. Finally, the control schemes are implemented on a laboratory prototype of a variable-geometry manipulator. The experimental studies with fuzzy sliding-mode control as well as conventional sliding-mode control show that the tracking error is guaranteed to converge to a specification, which verifies the results obtained through analysis and computer simulations. |
Extent | 7299113 bytes |
Genre |
Thesis/Dissertation |
Type |
Text |
File Format | application/pdf |
Language | eng |
Date Available | 2009-07-06 |
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.0080897 |
URI | http://hdl.handle.net/2429/10196 |
Degree |
Master of Applied Science - MASc |
Program |
Mechanical Engineering |
Affiliation |
Applied Science, Faculty of Mechanical Engineering, Department of |
Degree Grantor | University of British Columbia |
Graduation Date | 2000-05 |
Campus |
UBCV |
Scholarly Level | Graduate |
Aggregated Source Repository | DSpace |
Download
- Media
- 831-ubc_2000-0043.pdf [ 6.96MB ]
- Metadata
- JSON: 831-1.0080897.json
- JSON-LD: 831-1.0080897-ld.json
- RDF/XML (Pretty): 831-1.0080897-rdf.xml
- RDF/JSON: 831-1.0080897-rdf.json
- Turtle: 831-1.0080897-turtle.txt
- N-Triples: 831-1.0080897-rdf-ntriples.txt
- Original Record: 831-1.0080897-source.json
- Full Text
- 831-1.0080897-fulltext.txt
- Citation
- 831-1.0080897.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-0080897/manifest