# OBSERVER-BASED FEEDBACK CONTROL METHODS ? OBSERVER-BASED FEEDBACK CONTROL METHODS FOR AN UNDERACTUATED

Post on 22-Jul-2018

212 views

TRANSCRIPT

OBSERVER-BASED FEEDBACK CONTROL METHODS FOR AN UNDERACTUATED ROBOT SYSTEM by Guoyu Wang B.Eng., Tsinghua University, Beijing, P.R.China, 1995 A THESIS SUBMITTED IN PARTIAL FULFILLMENT O F THE REQUIREMENTS FOR THE DEGREE O F MASTER OF APPLIED SCIENCE in the School of Engineering Science @ Guoyu Wang 2003 SIMON FRASER UNIVERSITY November 2003 All rights reserved. This work may not be reproduced in whole or in part, by photocopy or other means, without the permission of the author. APPROVAL Name: Guoyu Wang Degree: blaster of Applied Science Title of Thesis: Observer-Bascd Feedback Control Mcthods for an Under- actuated Robot System Examining Committee: Dr. John Dill, Chair Professor, School of Engineering Science -on Fraser University Simon Fraser University V - Dr. William Gruver, Supervisor Professor, School of Engineering Science Simon Fraser Univefsity Dr. Shahram ~ a ~ a n d e j , t ~ x a 4 n e r Professor, School of Engineering Science Simon Fraser University Date Approved: PARTIAL COPYRIGHT LICENCE I hereby grant to Simon Fraser University the right to lend my thesis, project or extended essay (the title of which is shown below) to users of the Simon Fraser University Library, and to make partial or single copies only for such users or in response to a request from the library of any other university, or other educational institution, on its own behalf or for one of its users. I further agree that permission for multiple copying of this work for scholarly purposes may be granted by me or the Dean of Graduate Studies. It is understood that copying or publication of this tvork for financial gain shall not be allowed without my written permission. Title of Thesis/Project/Extended Essay: OBSERVER-BASED FEEDBACK CONTROL METHODS FOR AN UNDERACTUATED ROBOT SYSTEM Author: (Signature) Abstract This thesis is devoted to nonlinear control and state variable estimation of a typical underactuated mechanical system, called "Pendubot". In most cases, the controllers applied to mechanical systems require information of all states for calculating the feedback control signal. For the Pendubot, states are comprised of joint angular positions and velocities. The joint angular positions could be measured accurately. However,the joint angular velocities are obtained either by differentiating the measured joint angular positions or through tachometers in practical situations. In both cases, the velocity signal is contaminated by noise. This degrades the performance of closed-loop Pendubot system. The main focus of this thesis is on how to accurately estimate the joint angular velocities of the Pendubot. To develop advanced observers, model based approaches are considered. High-gain observer (HGO) and sliding mode observer (SMO) are designed and applied respectively. In order to fully investigate the effect of these two observers on the Pendubot, controllers based on each of them are applied to the Pendubot system in both simulation and real-time implementation. The controller employed here includes two parts. One is called swing up controller and swings up the links of the Pendubot from their downward positions to pre-chosen equilibrium positions. The other one is named balancing controller, which is used to balance the Pendubot at the equilibria. As a linear form observer, HGO is simple and easily implemented. The SMO covers all the nonlinearity of the system and therefore is more robust to noise in mea- surements. Based on both simulation and implementation of the combined system, it is concluded that the HGO and SMO are both more effective than the traditional difference method in supplying accurate estimation of joint angular velocities of the Pendubot and more resistant to noise contamination. In summary, this work aims to study the issues on accurate estimation of the joint angular velocities of the Pendubot using available noisy measurements. The results of this thesis implies a better control of the dynamic states of this underactuated system with substantial modelling uncertainties and disturbances. Acknowledgements I would like to thank my senior supervisor Dr. Mehrdad Saif, for his great support and guidance throughout the course of this thesis project. I also would like to thank Dr. William Gruver and Dr. Shahram Payandeh for being my Supervisory Committee members. I gratefully acknowledge Mr. Lucky One and Mr. Gary Houghton for their help on setting up the electrical and mechanical parts of the Pendubot. I also very appreciate my colleagues for their enthusiastic help on troubleshooting of using softwares and assembling of the hardware. Dedication I dedicate this thesis to my wife Xuesong, my lovely son Richard and my parents. Table of Contents . . Approval 11 ... Abstract 111 Acknowledgements v Dedication vi Table of Contents vii List of Figures x 1 Introduction 1 1.1 Motivations and Objectives . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 The Pendubot System . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.1 Description of the Hardware . . . . . . . . . . . . . . . . . . . 4 1.2.2 Description of the Software . . . . . . . . . . . . . . . . . . . 6 1.3 Layout of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2 Mathematical Model of the Pendubot 9 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Mathematical Description of the System . . . . . . . . . . . . . . . . 11 2.2.1 System Motion Equation . . . . . . . . . . . . . . . . . . . . . 11 2.2.2 System Properties . . . . . . . . . . . . . . . . . . . . . . . . . 14 vii 2.3 System Identification . . . . . . . . 2.3.1 CAD Solid Model . . . . . . 2.3.2 Energy Equation Method . 2.3.3 Optimization Method . . . . 2.3.4 Final results . . . . . . . . . 2.4 The State Space Based Description 2.5 The Equilibrium Manifold . . . . . . . . . . . . . . . . . . . 2.6 Summary 3 The Feedback Control 23 3.1 Swing up Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.1.1 Control of the First Link . . . . . . . . . . . . . . . . . . . . . 24 3.1.2 Control of the Second Link . . . . . . . . . . . . . . . . . . . . 27 3.1.3 Reference Trajectories Selection . . . . . . . . . . . . . . . . . 28 3.2 Balancing Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3 Combining and Implementing the Controllers . . . . . . . . . . . . . 32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Summary 33 4 The Observer Design 34 4.1 Review of Observer Design Methods . . . . . . . . . . . . . . . . . . . 35 4.2 High Gain Observer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.2.1 Observer Structure . . . . . . . . . . . . . . . . . . . . . . . . 37 4.2.2 Prerequisite on Parameters . . . . . . . . . . . . . . . . . . . . 39 4.3 Sliding Mode Observer . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.3.1 Observer Design . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.3.2 Definition of Coefficient Matrices . . . . . . . . . . . . . . . . 48 4.3.3 Convergence Rate . . . . . . . . . . . . . . . . . . . . . . . . . 51 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Summary 53 5 Combined System Performance 5 6 5.1 Scheme of the Combined System . . . . . . . . . . . . . . . . . . . . 56 5.2 Simulation of the Combined System . . . . . . . . . . . . . . . . . . . 57 ... Vll l 5.3 High-Gain Observer Based Combined System . . . . . . . . . . . . . 58 5.3.1 Preliminary Calculation . . . . . . . . . . . . . . . . . . . . . 58 5.3.2 Results and Discussion . . . . . . . . . . . . . . . . . . . . . . 60 5.4 Sliding Mode Observer Based Combined System . . . . . . . . . . . . 66 5.4.1 Preliminary Calculation: . . . . . . . . . . . . . . . . . . . . . 66 5.4.2 Results and Discussion . . . . . . . . . . . . . . . . . . . . . . 67 5.5 The Noisy Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.5.1 High Gain Observer Based System . . . . . . . . . . . . . . . 70 5.5.2 Sliding Mode Observer Based System . . . . . . . . . . . . . . 71 5.5.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6 Real-Time Implementation of the Combined System 75 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.2 Sampled-Data Control of the Pendubot . . . . . . . . . . . . . . . . . 76 6.3 Real-TimeAlgorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.4 Results and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 81 7 Conclusions 85 Bibliography 8 9 List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 The Pendubot 5 . . . . . . . . . . . . . . . . . . 2.1 Coordinate Description of the Pendubot 12 . . . . . . . . . . . . . . . . 2.2 The Optimization Method for Identification 18 . . . . . . . . . . . . . . . . . . . 2.3 The Estimation of Inertial Parameters 19 . . . . . . . 3.1 Block Diagram of the Partial Feedback Linearization Control 26 . . . . . . . . . . . . . . . . . . 3.2 Feedback Control Algorithm Description 33 . . . . . . . . . . . . . . . . . . . The Scheme of the Combined System Link 1's angular position and its estimation via high gain observer . . . . Link 2's angular position and its estimation via high gain observer . . . . Link 1's angular velocity and its estimation via high gain observer . . . . Link 2's angular velocity and its estimation via high gain observer . . . . The Errors between system states and estimations by applying the sliding mode observer. the initial condition being x(0) = (01010.51 0.5) . . . . . . The Errors between system states and estimations by applying the sliding mode observer. the initial condition being Z(O) = (010131 3) . . . . . . . . The errors between system states and estimations with white noise added . . . . . . . . . . . . . . . . . . . to the high gain observer based system The errors between system states and estimations with noise added to the sliding mode observer based system . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Configuration of the Sampled-Data Pendubot Hardware System 77 . . . . . . . . . . . . . . . . . . . . . . . 6.2 Structure of the real-time Code 80 6.3 Measurements of Links' positions for the observer based system and differ- ence method based system. . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.4 Errors between the estimations and measurements in real-time implementation. 84 Chapter 1 Introduction In the last three decades, the conception and use of robots has evolved from science fic- tion fantasies to computer-controlled electromechanical devices integrated into a wide variety of industrial environments. Recently, various kinds of robots have been de- signed for different purposes and the vast majority of robot manipulators in operation are being used for stuffing printed circuit boards with IC components, welding and painting car bodies on assembly lines, inspecting and repairing structures in nuclear, undersea and underground environments, and even picking oranges and harvesting grapes. The applications range from pick and place operations, to mobile cameras and other inspection equipment, to delicate assembly tasks involving matching parts. PlI. Robotics is a broad field that includes many areas such as physics, mechanical design, motion analysis and planning, actuators and drivers, control design, sensors and state estimation, signal and image processing, computer algorithms, study of the behavior of machines, animals, and even human beings [41]. Recently, in the robotic field, much attention has been given to the control of mechanical systems where the number of control inputs is less than that of generalized CHAPTER 1. INTRODUCTION 2 coordinates. Such mechanical systems are said to be underactuated systems [16]. Underactuated mechanical systems arise in several ways. The most obvious way is from intentional design as in the brachiation robot of Fukuda [29] or the Acrobot [2]. These systems are multi-link robots that have motors placed at only some of the joints. The underactuated systems also arise in mobile robot systems where, for example, a manipulator arm is attached to a mobile platform, a space platform, or an undersea vehicle [19]. In this case, additional controls are often used in order to maintain attitude control of the base. If these additional actuators fail or are turned off to conserve fuel, then the overall system is underactuated. Underactuated systems can also happen in the mathematical model used for control design as, for example, when the joint flexibility is included in the model [36]. In this case, all mechanical systems are underactuated if one wishes to control flexible modes that are not directly actuated or even to include actuator dynamics in the model description. Based on the above discussion, one can see that the underactuated systems appear in a broad range of applications including robotics, aerospace systems, marine systems, flexible systems, mobile systems, and locomotive systems. In addtion to give a more detailed consideration of system property (e.g. flexible modes), underactuated systems have certain advantages comparing to fully-actuated systems, such as enhancement of fault tolerant ability as well as reduction of cost, weight, and hardware complexity. Due to its wide applications and various advantages, the underactuated system has been under intense studies recently. In order to investigate the control methodologies in the underactuated system, the PENDUBOT (short for PENDUlum ROBOT), which is a typical underactuated robotic system, has been studied as a model in this work, and it will be discussed in detail in the following section. CHAPTER 1. INTRODUCTION 3 The Pendubot is a two-link revolute planar robot with one actuator a t the shoul- der. It possesses a wide range of applications for control, state estimation and fault diagnosis research in the field of robotics. Based on this complicated nonlinear sys- tem, advanced control strategies, accurate state estimation and even fault diagnosis methods that are suitable for applying into robotic manipulators can be designed and implemented. 1.1 Motivations and Objectives The underactuated systems, for example, the Pendubot in this study, are not only nonlinear but also underactuated which make them very complicated. Therefore, ad- vanced controllers are required to keep these systems stable and function as expected. To design controllers, it is often assumed that all state variables are already known and could be used as the input to the controller algorithm in order to calculate the corresponding control signal. But actually, oftentimes certain states, for example, the joint angular velocities in the Pendubot, can not be measured accurately and are very sensitive to the noise. To accomplish the control task and achieve better performance from the controlled system, it is necessary to develop new and advanced strategies for reconstructing an accurate estimation of the unavailable state variables, the joint angular velocities in the case of Pendubot study. For this purpose, the high gain observer and the sliding mode observer are designed for the Pendubot and then valuated in this work. The Pendubot system is a very good tool for research in real-time control and state estimation in the field of underactuated systems. Although it is mainly comprised of only two free revolution links, it has most mechanical properties of the underactuated mechanical systems, for example, properties of the kinetic and potential energies and the dynamics of the system. Based CHAPTER 1. INTRODUCTION 4 on this apparatus, the developed state estimation strategies could be tested in real- time and the advantages and disadvantages of these strategies will be investigated according to the performance of the system. Successful and effective ones of these strategies could be widely applied to lots of other underactuated systems after a little modification. 1.2 The Pendubot System Since most of the work in this thesis is based on the Pendubot system, it is necessary to introduce this underactuated system in some detail. In this section, we present technical specification as well as software description. The mathematical properties of the Pendubot will be discussed in Chapter 2. The Pendubot is an electro-mechanical (or Mechatronic) system, consisting of two rigid links interconnected by revolute joints as shown in Figure 1.1. The first joint is actuated by a DC-motor and the second joint is unactuated. Thus the second link may be thought of as a simple pendulum whose motion that can be controlled by actuation of the first link. The Pendubot is similar in spirit to the classical inverted pendulum on a cart. However, it is more difficult to design controller and observer for this system because it is underactuated. 1.2.1 Description of the Hardware The main mechanical part of the Pendubot system is purchased from Mechatronic Systems, Incorporated. It includes the following items: Link 1 -A rigid aluminum link, 0.635 cm thick, 15.24cm long, directly coupled to the shaft of the motor, connected with Link 2 by a bearing. CHAPTER 1. INTRODUCTION n Link 2 I I $ Table Figure 1.1: The Pendubot - Link 2 -A rigid aluminum link, 0.635 cm thick, 22.86 cm long; connected to Link1 using a revolute joint which is constructed by needle roller bearings; the shaft extends out both directions of the housing allowing coupling to the second link and to the optical encoder mounted on Link 1. Link 2 Motor -A 90volt permanent magnet DC motor, mounted on the supporting base. Encoder 2 Encoder 1 I Encoder -Two Dynamics Research Corporation 1250 counts/rev resolution optical encoders provide position measurement, one attached at the elbow joint and one attached to the motor. Amplifier -An Advanced Motion Controls 25 Ampere 8 P W M servo amplifier is used to drive the motor, it is used in the torque mode and adjusted for a gain of 1 V = 1.3Amps. All of the control computations are performed on a Pentium lOOMHz computer with a D/A card, an encoder interface card, and a timer card installed in the PC. A CIO- DAC-02 card from Computer Boards, Inc. is used for digital to analog conversion, CHAPTER 1. INTRODUCTION 6 and a Dynamics Research Corporation optical encoder card is used to interface with the optical encoders [45]. The design gives both links full 360' of rotational motion. Link 1, however, cannot continuously rotate due to the encoder cable for Link 2. Link 2 has no constraint on continuous revolutions. 1.2.2 Description of the Software The operating system should be Windows95, Windows98 or WindowsNT 4.0. The higher version windows may not be compatible with the drivers of the timer board and the encoder interface card. A C-compiler, Microsoft Visual C++ version 6.0, is installed for the 32 bit software. The real-time codes will be written in C language, which is very powerful in terms of fast calculation and effective real-time implemen- tation. Matlab 5.3 is required to deal with the collected data from the real-time implementation of the Pendubot for further analysis. Also, Simulink is installed with Matlab. It is very convenient to simulate the nonlinear system using Simulink. Fur- thermore, Simulink can automatically generate C code for real-time implementation with the Real-Time Workshop installed. This can save users a great deal of time on coding and debugging. There is a simple user-machine interface called 'msdev32. exe' to supply users more flexibility and convenience to operate the Pendubot. The 'msdev32.exe' application consists of the Main Window Dialog box that has all the user input sections and command menus and buttons. A few other small dialog boxes are used to collect data from the user. Please refer to [45] for more details. CHAPTER 1. INTRODUCTION 1.3 Layout of the Thesis The previous section supplied a simple description of the Pendubot. The mathemat- ical model of the system and its properties are discussed further in Chapter 2. Chapter 3 presents two controllers for controlling the Pendubot to follow the de- sired operating trajectory. One is nonlinear and called the swing up controller which drives the system to the pre-chosen unstable equilibrium position; and the other is linear and called the balancing controller which keeps the system balance at the equi- librium. Chapter 4 is the central part of the thesis where the high-gain observer (HGO) and the sliding mode observer (SMO) are developed for accurate state estimation. The former takes a linear structure. Simplicity and effectiveness are its main advantages. The latter observer is of nonlinear form, it considers the nonlinearities of the system and hence is more resistant to uncertainties of the system. After observer based controllers are designed, the next step is to investigate how well they may work for the Pendubot system. Chapter 5 explores the combined system's performance in the simulation under both ideal and noisy condition. After the feasibility check in the Chapter 5 , these strategies are applied to the real Pendubot system. Chapter 6 describes their effects on the controlling and estimating in the real-time environment. In Chapter 7, results and conclusions are generally discussed. Some suggestions for the future work are also pointed out. CHAPTER 1. INTRODUCTION 1.4 Contributions In this thesis, nonlinear control and state estimation of a real-time underactuated system, the Pendubot, are studied and evaluated. A linear observer, HGO, and a nonlinear observer, SMO, are specially designed and applied to this underactu- ated system for accurate state estimation. Also, partial linearized feedback control and state space linearization control strategies are applied to design the combined controller which controls the Pendubot to track the expected trajectory. After the theoretical designs, these advanced methods are evaluated in both simulation and real-time implementation. The major contributions of this thesis are in the following aspects: Identification of the Pendubot which establishes a mathematical basis for further research using this apparatus. The designs of HGO and SMO for accurate joint angular velocities estimation. Well written C-code for the real-time implementation which is ready to be mod- ified for further relative researches, for example, the observer based fault detec- tion and fault toleration of the underactuated systems. Chapter 2 Mathematical Model of the Pendubot 2.1 Introduction The first step in the controller design for the Pendubot system is to develop a math- ematical model for it. This task is achieved in the following sections. First, it is necessary to introduce some terminology. A constraint on the k coor- dinates rl, . . . , rk is called holonomic if it is an equality constraint of the form and nonholonomic otherwise [37]. The two links of the Pendubot system and their connection are all rigid. The lengths of links are constants. If one considers the ends of two links, the coordinated rl, r2 and r3 must satisfy the following constraints CHAPTER 2. MATHEMATICAL MODEL OF THE PENDUBOT and Therefore, the motion of the two links in the Pendubot system is constrained under holonomic constraints. In order to describe the revolution of a mechanical system subject to holonomic constraints, such as the Pendubot system, one first need to derive the so-called Euler- Lagrange equation. There are at least two distinct ways of deriving these equations. The method used here is based on the method of virtual displacements [37]. It is also possible to derive the same equations based on Hamilton's principle of least action PI. For the Pendubot system, the Euler-Lagrange equation of motion takes the following form: where T~ is the generalized external force added onto the system. States q and q are joint angular positions and velocities respectively, as showed in Figure 2.1. Variable L is the so-called Lagrangian of the system, which is the difference between the kinetic energy (K) and the potential energy (V) of the system. The kinetic energy of the Pendubot system is a quadratic function of the vector q of the form (q is the vector of joint angle velocities): where the 2 x 2 "inertia matrix", D(q) is symmetric and positive definite for each q E R2 CHAPTER 2. MATHEMATICAL MODEL OF T H E PENDUBOT 11 The potential energy is a function of the joint angular positions, V = V(q), and is independent of q. Then the Lagrangian of this two planar robot system is L = K - V. Now, the motion equation of the Pendubot system can be obtained through substituting the Lagrangian into equation (2.1). 2.2 Mathematical Description of the System 2.2.1 System Motion Equation Using Lagrangian dynamics introduced in the last section and referring to Figure 2.1, the dynamics of the Pendubot system can be derived as follows [37]: D(q)q + C(q, irk + B(q) = 7 (2.3) The above equation neglects the effect of the friction. In the above system equation, vector T is the torque applied to the links and q is the vector of the joint angular positions. Matrix D(q) is the inertia matrix, C(q, q ) is the matrix of the Coriolis and centripetal terms, and B(q) is the vector of gravity terms. For the Pendubot system, they take the following forms: CHAPTER 2. MATHEMATICAL MODEL OF THE PENDUBOT > Figure 2.1: Coordinate Description of the Pendubot and Where ml m 2 11 12 L1 4 2 I1 1 2 9 the total mass of link one the total mass of link two the length of Link 1 (See Figure 2.1) the length of Link 2 (See Figure 2.1) the distance to the center of mass of link one (See Figure 2.1) the distance to the center of mass of link two (See Figure 2.1) the moment of inertia of link one about its centroid the moment of inertia of link two about its centroid the acceleration of gravity CHAPTER 2. MATHEMATICAL MODEL OF THE PENDUBOT 13 By observation, all parameters above are time invariant. For the convenience of further description and calculation, the eight dynamic parameters can be grouped into the following five parameter equations: For an observer based controller design that neglects friction, these five parameters are all needed. There is no reason to go a step further and find the individual parameters since the control-observer equation can be written with only these five parameters. Substituting these parameters into equations (2.4)-(2.6) leaves the following coefficient matrices: C(s , 4 = - 9 3 sin ( q 2 ) q 2 - 0 3 sin ( q 2 ) ( q l + &) 0 3 sin ( q 2 ) Q 1 0 1 From here on, the system will be described using the five parameters el to 9 5 . Infor- mation about lengths and masses of links is included in these parameters. CHAPTER 2. MATHEMATICAL MODEL OF THE PENDUBOT 2.2.2 System Properties There are certain physical properties inherent in the robot dynamics as described in equation (2.3). They will be useful in designing nonlinear controllers and observers. These properties can be summarized as follows: 1. The matrix D(q) is symmetric and positive definite. 2. The matrix D(q) is upper-bounded, i.e. IID(q)ll 5 00. 5. There exists a parametrization for C(q, 4) such that: zT [l>(q)/2- c ( ~ , $12 = 0. 6. The vector C(q, q)q has elements q T ~ i ( q ) q , where the N,!s matrices are sym- metric and composed of bounded periodic elements. In the above, 11.11 denotes any norm and the ais are positive non-zero constants; 0 < ai < oo, Vi = 0,1,2. These above properties are applicable for all 8, z E R2 with ll4 < oo. 2.3 System Identification After formulating the mathematical model of the Pendubot, the next step is to identify the parameters O1 to O5 in equation (2.7). Three approaches could be applied to identify the parameters of the system: 1) CAD Solid Model, 2) Energy Equation Method and 3) Optimization Method. CHAPTER 2. MATHEMATICAL MODEL OF T H E PENDUBOT 2.3.1 CAD Solid Model The masses and lengths of both two links are measurable. An AutoCAD solid model can be drawn to give approximations for these parameters, or calculate these param- eters directly according to the definition of dl to O5 in equation (2.7). This method is an off-line estimation method. The friction's effect on the system is not considered. Furthermore, this method relies on the assumption of the accuracy of the established solid model. Therefore, the calculated values based on this approach are not accurate enough for being used in the system model equation. These approximate numbers will only serve as a guide to determine the accuracy of the on-line identification methods described in the next two sections. Also, these numbers could serve as a good guess of initial conditions that could be used in the following algorithms in order to obtain a better estimation of the inertial parameters. 2.3.2 Energy Equation Method This on-line identification scheme uses the energy theorem to form equations that can be solved for the unknown parameters by a least squares method 1131. The energy theorem states that the work of forces applied to a system is equal to the change of the total energy of the system. The kinetic and potential energies of the Pendubot are considered as following: As mentioned in equation (2.2), the kinetic energy of the Pendubot is written as where D(q) is defined by equation (2.8). CHAPTER 2. MATHEMATICAL MODEL OF THE PENDUBOT The potential energy of the Pendubot is written as V = 04g sin ql + 05g sin (ql + q ~ ) Looking at the above equations, it is observed that the kinetic and potential energy equations are both linear in the inertial parameters O1 to 0 5 . Then the total energy of the system at time ti can be expressed as follows: Where hi is the coefficient row vector at time ti. Based on above equations, the energy theorem can be written as Where T is the vector of torque applied at the joints. It includes both the motor torque and the friction forces and can be written as: Because the friction is neglected in this study, rf is set to be zero. Again using the property that the total energy is linear in the inertial parameters, the difference in the total energy is defined as The kth equation related to the time interval ( tkPl , t k ) is written as: (lkt:, ~ ~ i d t ) k = H I O (2.13) Defining a new matrix H with the kth row of it as: Hk = hk - hk-l; and a new vector t j with the kth element of it as: jk = Lkk-l T T q d t . These k equations can be combined CHAPTER 2. MATHEMATICAL MODEL OF T H E PENDUBOT 17 into a standard over determined matrix equation, HO = j, and solved by least square techniques to get the estimation of 0. To implement this identification scheme, a simple signal could be used to drive the Pendubot and record the response (q, q), then calculate both sides of equation (2.13). With the obtained equations, it is easy to apply Matlab code to obtain the estimation of inertial parameters O1 to 05. 2.3.3 Optimization Method The second on-line method implemented to identify the unknown parameters of the Pendubot uses a constrained minimization algorithm, which is mainly based on MAT- LAB'S FMINC0N.m function in the optimization toolbox [8]. The constrained con- dition is given by the upper bounds and lower bounds of Ojs. The error between actual data collected from the Pendubot and data created by simulations acts as the criterion, and is minimized by varying the unknown parameters (in this case, Ojs) until a best fit is found. The minimization problem can be written as follows: where yTi is the output position (and velocity) data of the actual Pendubot and ySi is the output position (and velocity) data found by simulation runs. Parameters Ojs are the inertial parameters to be found, and 0;" and are the lower and upper bounds on these parameters. Figure 2.2 shows how the minimizition method works to estimate the best values of the inertial parameters. CHAPTER 2. MATHEMATICAL MODEL OF THE PENDUBOT I The Initial Values of I the inertial parameters 0 A new set of values of the inertial parameters, mw Simulation (sim-pendub0t.m) A not accurate enough The simulated output of the system, ysi - Figure 2.2: The Optimization Method for Identification Compare with the old values FM1NCON.m Read from the Encoder calculate th:Integration of the square of errors (cal-intm) Real-time implement CHAPTER 2. MATHEMATICAL MODEL OF THE PENDUBOT Energy Equation Figure 2.3: The Estimation of Inertial Parameters 2.3.4 Final results As mentioned before, the solid model method is not accurate. Its accuracy depends on the assumed accuracy of the mathematical model. Some modelling uncertainties like the friction and disturbance like the noise could not be reflected in the identified parameters el to 85. The minimization method relies on the performance of the algo- rithm used in the MATLAB function FMINC0N.m. It requires quite a lot calculation and may converge to unexpected values or even diverge if the initial value is chosen improperly [9]. Comparing to the CAD solid model method, the energy equation method can supply more accurate results for parameter identification. And this method does not require as much calculation as the minimization method does. As a trade off, the Energy Equation method is chosen to identify parameters to 05. These identified parameters will be employed in later controller and observer designs. Figure (2.3) shows the final values of the estimation of the inertial parameters. Up to now, the friction has not been considered yet. The friction in the Pendubot system is very small. The parameters estimated after ignoring friction work very well in controlling the system as demonstrated later. For this reason, the friction CHAPTER 2. MATHEMATICAL MODEL OF THE PENDUBOT identification will not be pursued further. 2.4 The State Space Based Description Because the matrix D(q) is positive definite, the inverse matrix of it, D(q)-l, exists. The system motion equation can then be written as: together with the definition: X : Xl=q l , x2=q1, x3=q2, x4=q2. The state space description of the system could be obtained as follows: where f i b ) = x2 f 2 ( 4 = O Z ~ ~ ( X Z + X ~ ) ~ sinx3+Ozxi sin x3 cosx3-OzO4g c o s x ~ + ~ ~ ~ ~ g c o s x ~ cos(xl+x3) 816'2-O$ cos2 x3 f 3 ( 4 = 2 4 f 4 ( 4 = -f2(x) - O ~ ( X Z + X ~ ) ~ sin 2 3 cos x3-03O.igcos X I C O S X ~ + O ~ O ~ X ~ sinx~+O105gcos(xl+x3) e1e2-8,2 C O S ~ x3 gdx) = 0 Parameters el to e5 above are defined in equation 2.7, u is the input torque applied to the shoulder motor, and xl to x4 are states of the Pendubot. CHAPTER 2. MATHEMATICAL MODEL OF THE PENDUBOT 2.5 The Equilibrium Manifold Because the control purpose of this thesis is to swing up links of the Pendubot first and balance them at some pre-chosen equilibrium finally, it is necessary to consider the equilibrium manifold of the Pendubot. This task is completed in this section. Underactuated mechanical systems generally have equilibria which depend on both their kinematic and dynamic parameters; see for example the Acrobot 121. If the Pendubot is mounted so that the joint axes are perpendicular to gravity, then there will be a continuum of equilibrium configurations, each corresponding to a constant value, r , of the input torque T . In some other researches on the planar robot, the joint axes of the system are set to be parallel to the gravity in which case the continuum of equilibrium configurations exits only when the input torque is zero. Examining equations (2.3), (2.8), (2.9), (2.10), one can see that the equilibrium configurations are determined by: where u is the input torque at the shoulder motor. It is easily seen that, applying a constant torque u, the Pendubot will balance at a configuration (ql, q2) such that: provided u < 849. CHAPTER 2. MATHEMATICAL MODEL OF THE PENDUBOT 2.6 Summary This Chapter gives mathematical description of the Pendubot. First, the mathemat- ical model of the Pendubot is derived using Euler-Lagrange equations. Then, three available methods are introduced for the system identification. After comparison, the energy equation based method is employed to identify the five inertial parameters O1 to 05. Finally, the state space based description of the system equation is supplied and the equilibrium manifold as well. Also, some mathematical properties of the Pendubot are concluded in this chapter. The next chapter will give descriptions on controllers designed for the Pendubot based on the mathematical model developed in this chapter. Chapter 3 The Feedback Control This thesis mainly focuses on the design and analysis of the state estimation methods for the Pendubot. Thus, less attention is paid to the investigation on the control strategies. A simple control strategy is chosen to design controller. The task of the designed controller is to swing the links from their stable hanging position to unstable equilibrium positions and then balance the links at those equilibria. The designed controller controls the Pendubot based on the estimated state variables output from the designed observers. The advantages and disadvantages of the designed observers will be reflected and judged by the performance of the observer based controller. This controller could be divided into two parts: swing up controller and balancing controller. They will be described in detail in following sections. 3.1 Swing up Control The swing up control uses partial feedback linearization method. The task of this section is to derive the partial feedback control for the Pendubot. To see a general derivation of partial feedback linearization please refer to [38] and [39]. CHAPTER 3. THE FEEDBACK CONTROL 24 The motion equations of the Pendubot are given by equation (2.3)-(2.6). Per- forming the matrix and vector multiplications, the motion equations can be written as : Because the Pendubot is a planar, two-link robot with an actuator at the shoulder (joint 1) but no actuator at the elbow (joint 2), the Link 2 is underactuated. That is, only one torque u is applied a t the shoulder of the Pendubot. Refer to the dynamics of the Pendubot derived in the following section, one can see that with setting the input torque u as some desired value determined by the feedback control law, either one link of the Pendubot could be controlled to track a given trajectory but not both. This is the reason why this method is called the partial feedback linearization method. If the system is fully actuated, i.e. there are actuators not only at the shoulder but also at the elbow, one can fully linearize the dynamics of both degrees of the freedom by setting u and u2 ( the torque applied at the elbow) as desired values determined by feedback control law. As a result, both links could be fully controlled to track given trajectories. This is the so called fully linearization method (also called the computed torque method [37]) 3.1.1 Control of the First Link At first, one can choose to linearize the collocated degree of freedom q l . Equation(3.2) could be solved for the angular acceleration of Link 2 CHAPTER 3. THE FEEDBACK CONTROL Substituting (3.3) into equation (3.1), (3.1) can be written as with Now, one can give the system input u as follows: where vl is the reference input to the system. This results in the following equivalent system Since equation (3.7) is now linear, a PD controller with feedforward acceleration could be applied for the purpose of the Link 1's trajectory tracking. where q f is the desired trajectory of ql. This is the outer loop control which is employed t o track a given trajectory ( q f ) for Link 1 (q l ) . The response of Link 2 is then given by the resulting nonlinear equation (3.8). Equation (3.8) represents internal dynamics with respect to an output y = ql. The function of the outer loop control therefore is to track a given trajectory for Link CHAPTER 3. THE FEEDBACK CONTROL I I I I I Partial Linearized System I I I I L outer loop 1 I Figure 3.1: Block Diagram of the Partial Feedback Linearization Control trajectory e generation + - 1 and at the same time excite the internal dynamics to swing Link 2 to a balancing position. Figure 3.1 shows a block diagram of the swing up control. First, the state variables, ql, qz, ql and q2, are feed back to the outer loop control law to calculate the variable vl (using equation (3.9)). Then, v1 is used with the state variables to calculate the control input u for the Pendubot based on the inner loop control law (using equation (3.8)). Now one can see that the so called outer loop and inner loop are actually two steps for calculating the control signal u. They are divided in the purpose of expressing more clearly. Now, substituting (3.9) into the equation (3.7), one can get the error equation: The values of Kd and Kp must be positive to guarantee the convergence of the error e to zero. With properly chosen Kd and Kp, the convergence rate of the errors could be adjusted. PD and feedforward computed acceloration control torque tau I I I I I inner loop Plant I a I I * I I I I I L - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - , I CHAPTER 3. THE FEEDBACK CONTROL 27 3.1.2 Control of the Second Link In some cases of controlling the Pendubot one can choose to linearize the collocated degree of freedom 92. Similar to the analysis for the control of ql, one can get following results for controlling 92: Equation (3.1) is solved for the angular acceleration of Link 2 Substituted this into equation (3.2), then (3.2) could be written as with Now, the system input u could be given as follows: where v2 is the reference input to the system. This results in the system For the purpose of Link 2's trajectory tracking, a PD controller is applied, CHAPTER 3. THE FEEDBACK CONTROL Where q,d is the desired trajectory of q 2 . Now, together with the equation (3.16), one can get the error equation: With properly chosen Kd and K,, one can adjust the convergence rate of the errors to zero. Now, it has been proved that any one degree of freedom of the Pendubot can be fully controlled very well. Generally, there is no big difference between choosing Link 1 and choosing Link 2 to linearize. However, Link 1 is often chosen to be linearized because the actuator is installed at the shoulder of the Pendubot, and it will drive Link 1 to move directly. In the case that Link 2 is chosen to be linearized, the motion of Link 2 is excited by the motion of Link 1 and one can not predict the motion of Link 1 based on the inner dynamics. Furthermore, the cable of the encoder installed on the elbow limits the revolution of Link 1. Based on above reasons, the thesis chooses to linearize Link 1 to design the swing-up controller. 3.1.3 Reference Trajectories Selection The purpose of the swing up control is to bring both two links to the pre-chosen equilibrium, which is the uptight top position, (5, O) , in this thesis. To achieve this purpose, a trajectory must be determined first. A step trajectory qf = f is deployed. This trajectory works very well in the simulation. For the real-time implementation, an offset is added to drive the second link all the way to its upright top position. As analyzed before, when one of the two links are fully controlled in relation to the reference trajectory, the other one is driven by the internal dynamics. From CHAPTER 3. THE FEEDBACK CONTROL 29 equations (3.8) and (3.17), it can be seen that the choice of Kp and Kd will affect the internal dynamics of the system. Therefore different values of Kp and Kd will make the system states run at different trajectories. That is, for the controlled link, the convergent rate to the desired position is affected; for the excited link, the likelihood that it will pass through the desired position and its velocity at the desired position are affected. Link 2 must pass the operating point slowly in which case the controller can be smoothly switched to the balancing control. Based on above analysis and requirements, Simulation is run to find the proper values of Kp and Kd. Furthermore, to guarantee the convergence of the states to the reference trajectories, values of K, and Kd must be positive. The convergence rate is determined by the eigenvalues of the matrix [O 1; - - Kd]. 3.2 Balancing Control To design the balancing controller, the Pendubot's nonlinear motion equations (2.16) is linearized at the operating point, and a full state feedback controller is designed with respect to the obtained linear model. The Taylor series approximation is employed to linearize the plant. x is the vector of states given in equation (2.16), while u is the single control input for the Pendubot. Variables x, and u, are the equilibrium values of the states and control input respectively. Since this thesis con- cerns only controlling the Pendubot at the equilibrium positions, the term f,(x,, u,) will always be zero. It is only necessary to find the partial derivative matrices and evaluate them at the equilibrium points. Studying equation (2.19), it is observed that the Pendubot's equilibrium can be defined as: CHAPTER 3. THE FEEDBACK CONTROL Differentiating equation (2.16) with respect to the states leaves the A matrix in the linearized model x = A(x - x,) + B(u - u,) and produces the following: where a - 0204gsinx~-038~gcosx3 sin(xl+x3) f 2 1 = axl - 8182-832 cos2 x3 a = 20203(x~+x4) sin x3+2032x2 sin x3 C O S X ~ f 2 2 = ax2 01 02 -032 cos2 x3 23 - & = 0 1 0 ~ 0 3 ( ~ 2 + x 4 ) ~ cos ~ 3 + 0 1 0 z 0 , ~ x ~ cos 2 ~ ~ - 0 1 0 ~ 0 3 8 ~ ~ s i n ( x ~ + 2 x ~ ) f - 8x3 (0102-0; cosz ~ 3 ) ~ + 0:85gcos3 x3 s i n ( x l + ~ 3 ) - 2 0 2 0 ~ ( x z + x ~ ) ~ sinZ x3 C O ~ X ~ - ~ ~ ~ , ~ ( X ~ + X ~ ) ~ cos3 x3 (0182-8; cos2 ~ 3 ) ~ + 8z8;04gcos X I s i n ( 2 ~ 3 ) - 8 ~ 0 ~ ~ sinx3 cosZ 23 cos(xl +x3)-0ix$ cosZ x3 (01B2-O$ C O S ~ x ~ ) ~ CHAPTER 3. THE FEEDBACK CONTROL + -0204g cos X I cos2 2 3 sin x ~ + ~ ~ ( ~ x ~ + ~ x z x ~ + x ~ ) cos2 ~ ~ + 0 1 0 ~ 0 5 ~ cos(xl +x3) sin(2x3) (0102-0; cos2 x3)2 + 2033fkg cos(x1 +x3) cos2 x3 sin x3 (0102-0; cos2 ~ 3 ) ~ h = 020: sin(2x3)+0; cosZ 2 3 sinx3+010203 sin23 Q43 = ax3 (0102-0; cost x3)2 (3.24) The matrix B is found by the partial derivative with respect to the control input: Each equilibrium defines a different linearized system. This means that different control gains are required for each equilibrium so as to arrive at the best results in the balancing control of the Pendubot. With differently chosen equilibria, different A and B are obtained by substituting the corresponding (x,, u,) into the linearized equations above. According to these linear models, LQR or pole placement techniques can thus serve to design full state feedback controllers of the form, u - u, = -K(x - x,). CHAPTER 3. THE FEEDBACK CONTROL It is noted that there are four uncontrollable positions for the linearized model: With substituting these four operating points into equations (3.23) through (3.25), the control pairs (A, B) at these four positions are found to be uncontrollable in the linearized model of the system. 3.3 Combining and Implementing the Controllers With both the swing up control and the balancing control designs complete, an al- gorithm is needed to connect them. Initially, when working with only the computer simulations of the Pendubot, the controllers are switched at a determined time. This switch time is determined by observing when the swing up control had brought the links almost to rest at the desired equilibrium position. Later when working in the real-time implementation, the criterion is changed to the angular position judgement. When the swing up control brings both two links to a range very close to the chosen equilibrium, the controller will be switched to the balancing controller from the swing up controller. As analyzed above, it is clear that the excited link gets energy from the controlled link. This means that as soon as the controlled link arrives at the pre-chosen equilib- rium and stays there, the excited link will not get any more energy. It will continue running only according to its inertia. Therefore, if the controlled link arrives at the equilibrium too early or too late, it is hard for the excited link to pass through the equilibrium slowly, which is a prerequisite for smoothly switching controllers. From this point of view, the convergence rate of the controlled link is important. By choos- ing proper values of K, and Kd, this objective will be achieved. Figure 3.2 shows how CHAPTER 3. THE FEEDBACK CONTROL outside the range t Swing-up control input P Range around Pendubot The pre-chosed Swing up Controller inside the range 1 1 Balancing control input [ Balancing I I Controller I Figure 3.2: Feedback Control Algorithm Description the switching control scheme works. 3.4 Summary This Chapter shows the controllers designed for operating the Pendubot from a stable hanging position to unstable equilibrium positions and balancing it there. The partial feedback linearization method and the full state feedback method are employed to achieve this purpose. It can be seen that both methods need full states feedback, which requires knowing all the information of the states of the Pendubot. Generally, the joint angular positions are obtained by measurements. However, the measurements of the joint angular velocities of the Pendubot are usually not available. The traditional approach employed to obtain the estimation of the joint angular velocities is to divide the difference of the joint angular positions at two time points by the time interval. This way magnifies the effect of noise on the Pendubot. To improve the performance of the system, an advanced approach, the observer based estimation, is developed and described in the next chapter. Chapter 4 The Observer Design Most of the commonly used controllers for robotic manipulators need the knowledge of both joints' positions and velocities. As analyzed in Chapter 3, both the swing up controller and the balancing controller require all the states to be known. Robotic systems are generally equipped with good precision encoders or resolvers for position measurements. Therefore, the position of links can be measured very accurately. However, it is difficult to obtain accurate measurements of the velocities. A velocity sensor, if available, is often affected by considerable noise, which can sig- nificantly deteriorate the controller's performance. In practice, an optical incremental encoder can be used to measure velocity by counting the number of pulses per unit of time. Another approach for determining velocity is to measure the time between adjacent pulses, or the time for a given number of pulses to occur. In either case, the measurements can be quite inaccurate for small velocities, in which case the pulses occur at a very low rate. A special DC generator, called a tachometer, can also be used to measure velocity. Refer to [lo] for details. A second procedure for obtaining the velocity is to measure the position and then differentiate this measurement. The simplicity of this technique makes it appealing 34 CHAPTER 4. THE OBSERVER DESIGN 35 to be applied to the real-time implementation, but unfortunately the approximation of the obtained velocity signal is not always adequate for control purposes. If the position measurement contains high-frequency noise (i.e., the amplitude of the noise changes rapidly), differentiation will increase the amplitude of this noise since the differentiator output is equal to the rate of change of signal amplitude. In addition, there will be the quantization effects, which may cause undesired oscillations in the manipulator response. If possible, the velocity should always be measured, rather than obtained by differentiating the position signal. However, velocity sensors are actually often not used in the practice due to factors such as cost and weight. An alternative solution studied by a number of researchers in recent years (see for example [3], [4], [17], [25]) has been to use model based observers which would use the joint positions as inputs to estimate the joint velocities. 4.1 Review of Observer Design Methods Model based observer have been proposed for state estimation of both linear and nonlinear systems. Linear observer design is a more mature field than that of non- linear observer design. Basilio Bona and Marina Indri give a simple review on linear observers designed for robot manipulators in [I]. Their paper discusses high gain ob- server, controller-observer combined strategies and zero relative degree filter. It is also mentioned in [I] that although some linear observers may asymptotically reconstruct the state of a nonlinear system, but they do not necessarily guarantee that a certain stabilizing state-feedback controller will remain stable when the estimated states are used instead of the actual values in the feedback loop. The reason for this is that the separation principle is not valid in general for a nonlinear system. Misawa and Hedrick give a survey of general nonlinear observer design in [22]. The CHAPTER 4. THE OBSERVER DESIGN 36 methods discussed in that paper include: the extended kalman filter, the constant gain extended kalman filter, the statistically linearized filter, observers designed with either global linearization or pseudo linearization, observers based on extended linearization, observers designed according to Thau's method, adaptive observers, observers that use the set-theoretic point of view, and "sliding observers". For nonlinear observer design, there is no mature theory giving fixed steps to follow. Designers always construct observers first then check their convergence properties for the states to be estimated. For this purpose, Lyapunov stability theory is frequently used. In this thesis, one linear observer, High Gain Observer (HGO), and one nonlinear observer, Sliding Mode Observer (SMO), are designed for the Pendubot and then implemented in the real-time environment. The followings are the theoretical details. For further information on the real-time implementation, please refer to Chapter 5. High Gain Observer During the past few years, high-gain observers have played an important role in the design of nonlinear output feedback control of nonlinear systems. They are mainly used to estimate the derivative of the output. In this section, a simple asymptotic observer, with a linear and decoupled structure, is developed for the estimation of the generalized velocities of the Pendubot. High-gains are applied to attenuate the nonlinearities which characterize the dynamic behavior of the Pendubot. Lyapunov stability theory is used to prove the convergence of the proposed observer. The accu- racy of the proposed algorithm is verified through some experimental tests later (see Chapter 5). CHAPTER 4. THE OBSERVER DESIGN 4.2.1 Observer Structure Chapter 3 developed a feedback control law which is described by equations (3.6) and (3.9). That control strategy requires all the states of the Pendubot to calculate the control signal. The positions could be obtained by measurement, while the joint angular velocities are not measurable. In this case, an observer is needed. For the convenience, the state variables are defined as following: and the output: Then the Pendubot system motion equation could be expressed in the state space form as follows: where In the equation (4.4), the terms f2(x), f4(x), g2(x) and g4(x) are defined as shown in equation (2.17). The term u in equation (4.4) is the feedback control signal calcu- lated using equations (3.6) and (3.9). Obviously, this control signal is also a vector function of xl and x2, like f2(x), f4(x), g2(x) and g4(x). By substituting all of these CHAPTER 4. THE OBSERVER DESIGN vector functions into equation (4.4), one can get the expression of the vector function 4 based on variables xl and x2. Now, consider the following proposed high-gain observer whose structure is corre- sponding to the above system equation (4.3): with xl, x2 denoting, respectively, the dynamic estimates of the generalized coordi- nates and velocities, i.e, x l is the estimation of the joint angular positions (91, q2), and x2 is the estimation of the joint angular velocities (dl, Q2) and x = (fi:, x:)~. There are one scalar parameter, E , and two constant gain matrices, Hp and H,, which are of the following form: in the proposed observer. Adjusting these three parameters could affect the perfor- mance of this high-gain observer. Similar high-gain structures have been proposed in [12, 281 for the observer design for linear systems. Now, it is necessary t o prove that system (4.5) actually constitutes a high-gain observer for system (4.3), and to establish the condition in which this observer will recover the states accurately. These topics will be discussed in the following subsec- tion. CHAPTER 4. THE OBSERVER DESIGN 4.2.2 Prerequisite on Parameters First, the error system between the Pendubot and the high-gain observer should be developed. Its dynamics takes the following form: -T -T T where Xi = xi -x i , i = 1,2, and X = (x, , x2 ) . In order to put the error dynamics into a convenient form for further analysis, the following transformation is introduced: In the new coordinates, the error dynamics can be rewritten as where The eigenvalues of the matrix A should be located on the left half plane to guarantee the convergence of the above differential equation. This requirement can be achieved by choosing proper values of the elements of A. As described in the equation (4.6), matrices Hp and H, are comprised of hpl, hp2, h,l and h ,~ . Therefore, one can express the matrix A using these four parameters, and the characteristic polynomial CHAPTER 4. THE OBSERVER DESIGN corresponding to it is as follows: (4.11) From the above equation, it is obvious that the characteristic polynomial of the matrix A is determined by the polynomials If the values of hpl, hp2, hvl and hU2 are chosen so that the spectra of the two polyno- mials in above equation (4.12) are located in the left half plane, which can be realized by setting positive values to these four parameters, then the eigenvalues of matrix A will all be located in the left half plane. As a result, the matrix A is stable and according to the Lyapunov theory, there must exist a positive definite matrix P, which is independent of E , to be a solution of the following matrix equation For the linear case, i.e. there is no second term in the error dynamics (4.9), making the coefficient matrix A stable can guarantee the error's convergence to zero. CHAPTER 4. THE OBSERVER DESIGN 4 1 However, for the nonlinear case of the error dynamics (4.9), the second term must also be considered. Here, the lyapunov stability theory will be employed to find the condition under which the error could converge to zero. Now, employ the quadratic function W(2) = zTP2, where matrix P is the solution of the lyapunov equation (4.13), as a lyapunov function candidate to compute the derivative of W(2) along the solutions of (4.9), the following can be obtained: dW = ( $ ) T ~ i + (i)TPi -a- From (4.14) the following inequality can be obtained: dW - < - l l l i 1 1 2 + 26 I I P ~ $ ( X ~ , x2, t)ll I I ~ I I dt - E Now, define ~ ( t ) = IIPbd)(xl, x2, t ) 1 1 f X d CT = su~t , [o ,T]~( t ) (4.16) From equation (4.3), it can be seen that q5(xl, x2, t) means the acceleration of the two links. It is upper bounded according to the Pendubot performance and the system properties mentioned in section (2.2.2). Parameters P and b are merely constant matrices. One can therefore say that y(t) is upper bounded and c~ exists according to equation (4.16). Under the mild assumption that CT = s u ~ ~ , [ ~ , ~ ] y ( t ) exists for any finite T > 0 (i.e., under the mild assumption that the solution of (4.3) exists for any t E [0, TI), from inequality (4.15) it follows that CHAPTER 4. THE OBSERVER DESIGN where It is noted that although Kz is written in a function form of E and CT, it is a definite number determined by pre-chosen values of e and CT. The value of K, will keep unchanged once the observer has been designed. born (4.17), it can be seen that if dW 11211 > Kz(e, CT), then x < 0, Vt E [O,T]. Now, it is ready to discuss the condition under which the error could converge to zero. According to the value of the supremum c ~ , different cases can raise. Under the assumption that CT < oo, it can concluded that if the initial value of the norm of the errors is less than the value of the function K,, i.e. IIZ(to)ll 5 K,(E, cT), then all norms of the error at any time t will keep less than the value of K,, i.e. llZll < Kt(, cT), Vt E [O, TI. The reason is that once the norm of errors goes beyond the value of function K, at some time point t l , i.e. dW IIZ(tl) 1 1 > K,(t, cT), the derivative of the lyapunov function, =, will be less than zero, which will diminish 115 1 1 as states in the lyapunov stable theorem. In addition, for any finite T, the bound K,(E, cT) of llZll can be made arbitrarily small by choosing small enough values of E . Therefore, the errors between the state variables and the observed estimation could be held in a small region depending on the value of E . CHAPTER 4. THE OBSERVER DESIGN 43 Under the stronger assumption that function y(t) is bounded over [O, m), i.e. c = suptEpm)y(t) < co, similar to the analysis in the above condition, one can conclude that if IliZ(to)ll 5 K Z ( ~ , c ) , then Ild(t)ll 5 KZ(e,c), Vt E [O,co). Otherwise, if lli(to) I > Kz(e, c), which causes the value of less than zero and therefore diminishes the value of Iz(t) 1 , then there must exist a finite & > 0 such that Ilz(t)ll 5 KZ(e, C) Vt > &. 0 Taking into account the definition of the coordinate transformation (4.8), it is 1 easy to see that for E < 1, llxll 5 -11211; therefore, if llill 5 K~(E ,cT) , then E IlXll 5 k , ( ~ , cT), where k,(~, cT) = ~ E C T . It is pointed out that for any finite T, K,(E, cT) can be made arbitrarily small by choosing values of E small enough. It is thus proved that the high gain model (4.5) can successfully recover the state variables of system (4.3) by choosing proper values for E, H@, HUi, i = 1,2. The simulation and real-time implementation results given in Chapter 5 confirm this. Sliding Mode Observer Previously, nonlinear observers for robotic systems were analyzed mainly based on various kinds of linearization techniques (for example [24], [26]), or the sliding mode approach [34]. The former transforms the nonlinear system representation into a linear model through a dynamic nonlinear state-space change of coordinates. A Luenberger observer can then be designed based on this obtained linear model. The latter is based on the attractive manifold concept. This consists of defining a hypersurface which is a function of the observation errors, and determining the conditions under which this manifold becomes attractive. Once the error trajectories have reached this hypersurface, an error based switching action makes the observation errors slide to CHAPTER 4. THE OBSERVER DESIGN 44 zero. These nonlinear state estimators are based on the theory of Variable Structure Systems ([15],[31], [42], 1431). The observer was originally studied by Drakunov [ll] , Slotine, Hedrick and Missawa 1321, [33], 1341 and by Walcott and ~ a k 1441, and was further developed by Missawa [6] 1211 1201. The linearization techniques require the considered system's dynamics differen- tiable to establish the proper nonlinear state-space coordinate transformation. Some- times, even the system dynamics is differentiable, it is hard to find the explicit ex- pression for the coordinate transformation. Furthermore, in case that the system dynamics includes piecewise nonlinearity, such as Coulomb friction in the robotic sys- tems, it is impossible to apply these linearization techniques. However, the sliding mode approach has no these restrictions and has been shown to be insensitive to any uncertainty or external disturbance signals once the error trajectories reach the pre-chosen hypersurface and the sliding motion happens. This inherent robustness property makes the sliding mode approach attractive to be applied to the observer design. In this study, although the friction part is not considered in the system dynamics of the Pendubot, this does not mean that it has effect on the system perfor- mance. However, its effect can be treated as a disturbance of the system because it is really small. Based on the robustness of the sliding mode approach, one can see that application of this approach to design the observer will help to obtain the accurate estimation of the states, resisting to the unmodelled uncertainty and disturbance. And therefore improve the performance of the Pendubot. In this section, a nonlinear sliding mode observer is developed for accurately es- timating the angular velocities of the Pendubot from the available position mea- surement. The structure is given first from which the convergence condition is then derived. The results are strongly based on the physical properties (see subsection CHAPTER 4. THE OBSERVER DESIGN 45 2.2.2) of the Pendubot, such as energy conservation and the quadratic nature of the Coriolis and centripetal forces. 4.3.1 Observer Design The first task is to derive the structure of the sliding observer. Recall the Pendubot system equation (2.15): By defining: x1 = 4, x2 = q the system dynamics can be rewritten as follows: For the simplicity, define then the system equation (4.20) can be written as CHAPTER 4. THE OBSERVER DESIGN 46 A time-varying sliding observer for the state space representation (4.22) has the fol- lowing form: Where xi is the estimate of xi, rl and r2 are positive definite constant diagonal matrices, i.e., and Al and A2 are state-dependent matrices to be defined later in order to guarantee the convergence of the estimation errors. The observation error, e, is given as the difference between the process output y and the estimated output, y , Introducing the state estimation errors, xl, 2 2 , as Then the error system is obtained by subtracting the system (4.22) from the observer CHAPTER 4. THE OBSERVER DESIGN where Ap(y, x2, x2) is defined as: Now, define x = [C(y, x2) - C(y , 2 2 ) ] x z , and consider this term one step further: where two new vectors are defined for convenience. The equation (4.29) is directly obtained by applying the Taylor expansion of C(y,x2)x2 at x2 = x2. Note that the Taylor expansion above is exact, because ac- cording to property (6) in subsection (2.2.2), C(y, xz)xz is linear in x2; it contains no square terms in x2, which means that the second and higher order partial derivatives of 6 with respect to x2 are all zero. Substituting equation (4.29) back into the equation (4.28), we have: CHAPTER 4. THE OBSERVER DESIGN Finally the error system equation can be expressed as follows: 4.3.2 Definition of Coefficient Matrices Now, it is necessary to make the error system converge to zero by designing parameter matrices rl, r2, A1 and A2. First, a hyperplane is chosen to be the sliding surface: It must be guaranteed that the initial values of errors (xl, x2) could reach the hyper- plane just defined above. This is not difficult in the Pendubot system, because the accurate measurements of the angular link position are easy to be obtained, i.e., the state xl can be explicitly measured via the output signal y. Second, it is necessary to make the hyperplane attractive in order that they can be kept on the sliding surface once the states enter into the sliding surface. Introduce the Lyapunov function xyx, v1 = - (4.33) 2 The hyperplane (4.32) is attractive if < 0, i.e., the following requirement needs to be met: i / . - - T I - x, x l = xy(-r lxl - Alsgn(5il) + x2) < 0 (4.34) This can be achieved by choosing proper parameter matrices, rl, Al, to make the CHAPTER 4. THE OBSERVER DESIGN following condition satisflied: where %",and 5: are the i th element in vectors xl , x2, and 74, A: are the i th diagonal element in matrices rl, Al. The condition (4.35) could be easily satisfied by choosing enough big values for A;. When the above condition is satisfied, the derivative of the lyapunov function V will be less than 0, which will force the norm of the errors, 1x11, to be diminished. Finally, this norm will become zero which means that jZ1 = 0. Once x l = 0, according to equation (4.34), one can see that the derivative of the lyapunov function V will be zero and xl will keep unchanged, i.e., kl = 0. If the initial value of x l is chosen to be zero, then the following should always be true for the whole trajectory: However, one must also adjust the remaining parameters of the error system to make X2 + 0. TO achieve this, another Lyapunov function is introduced: then The derivative above is with respect to time t . According to the error system equation (4.31) and equation (4.36), the following can be obtained: CHAPTER 4. THE OBSERVER DESIGN substituting the above into (4.31), one can get: Combined with the equation (4.38), one can write the derivative of the second Lya- punov function V2 in the following form: Referring to the coefficient matrices expression, equations (2.8) and (2.9), it is easy Note that the second term in the equation (4.41) is a scalar, which means its transpose will be itself. By applying equation (4.42), one can get: It can be concluded that: 4 (Qp - C(y ,x2 ) Now, the equation (4.41) can be written as To make negative, which causes x2 + 0, Al and A2 have to be chosen appropriately to satisfy the following condition: CHAPTER 4. THE OBSERVER DESIGN 5 1 This task can be achieved by choosing matrices Q and Al to be positive definite and then choosing matrix A2 as After choosing the parameter matrices rl, r2, Al, A2 and Q as analyzed above, the derivative of the second lyapunov function, I&, will be less than zero. And this will cause x2 converge to zero. Now, it has be seen that the sliding surface Zl = 0 can be reached by setting initial values of the observer states via the accurate position measurements of the Pendubot, i.e., xl = y. And the hyperplane % = 0 could be made attractive through choosing the parameters properly. In other words, the error between the real states and their estimation could converge to zero and will then keep within a small range around zero. Therefore, the two conditions under which the sliding mode observer could work as expected are all satisfied. 4.3.3 Convergence Rate In the previous section, the structure of the sliding mode observer is already given and the condition is also derived under which it will converge to the system equation. Now to analyze the convergence rate of the observer. Theorem: If ~ ( 0 ) = 0 and the gain Al is sufficiently large, the Euclidian norm of the estimated velocity error Z2 converges to zero exponentially as: CHAPTER 4. THE OBSERVER DESIGN where proof: Note that one can always start with xl(0) = xl(0) based on the accurate angular position measurement. Then at time t = 0, xl = 0. With the equation (4.35), one can derive the sufficient condition for the invariance of x l ; that is: In other words, with Al sufficiently large (the order of magnitude of Al is dictated by an upper bound on the initial errors on the velocity estimations), one may start the observer directly within the sliding surface. The invariance of xl ( t ) = 0, for all t > 0, is kept as long as the %%(t)s satisfy the above inequality. The convergence rate of Ilx2(t) 1 1 is derived from the analysis of the lyapunov func- tion, h, on the sliding surface as defined in equation (4.37). From equation (4.37) an upper bound on V2(t) can be attained: From equations (4.44) and (4.45), an upper bound on h ( t ) can be achieved: so that Defining one can get V2(t) 5 V2(0)e-~l~ W > O CHAPTER 4. THE OBSERVER DESIGN Also, from equation (4.37) : Finally, combining equation (4.50) and (4.54) with equation (4.56), one can arrive at Defining one can get equation (4.48) and the theorem is proofed. Note that, according to the property of the coefficient matrix D(y) (see subsection 2.2.2), it can be seen that D(q) is positive definite and upper-bounded, i.e., 0 5 1 1 D(q) 1 1 5 ao. Therefore, Xinf { D ( y ) ) and X,,{D(y)) exist. 4.4 Summary In this chapter, a linear observer followed by a nonlinear observer is designed for the Pendubot system. The linear observer is based on the high gain model, and the nonlinear observer applies the sliding mode concept. After choosing the appropriate values of the elements in the coefficient matrices, observers can estimate the state variables very well at a high convergence rate. To make their application more con- venient later in the simulation and the real-time implementation, the two designed observers are summarized in the following: CHAPTER 4. THE OBSERVER DESIGN 1. High-Gain Observer: The High-Gain Observer takes the following form: Where H, and Hp should be chosen as positive definite matrices. Further- more, values of hpl, hp2, hvl and hU2 should be chosen so that the spectra of the characteristic polynomials are in the left half plane. The value of E determines the convergence rate and even whether the ob- server system will converge or not. A small enough value should always be chosen in order to guarantee a good convergence rate. But if the value of E is too small, the magnitude of the feedback control signal will be too big at the beginning of implementation, which may beyond the maximal limi- tation of the actuator. Simulation could be used to choose an appropriate value for E for the Pendubot system. 2. Sliding Mode Observer: The designed observer is described as follows: = -rle - Alsgn(e) + x2 (4.60) x2 = -r2e - A2sgn(e) + P(y, x2) + D - ~ ( X ~ ) T with CHAPTER 4. THE OBSERVER DESIGN 0 Matrices rl, r2, A,, and Q should be chosen as positive definite constant diagonal matrices. 0 Choose xl(0) = xl(0) because the initial angular position could directly be read from the motor encoders. This makes xl(0) = 0. To make v < 0, one can ask 1 ~ 5 1 < A(;). Based on this equation, it is necessary to choose a large enough A(;). But too large values of A1 are practically unsuitable because they may increase the noise sensitivity considerably. Chapter 5 Combined System Performance After the theoretical analysis and design for the observers, the next step is to consider applying the observer-based feedback controller to the Pendubot. First, it is necessary to determine the coefficient matrices in the designed controller and observer. Simulink is employed as a tool to simulate the overall system in order to achieve this objective. 5.1 Scheme of the Combined System The angular positions of the two links of the Pendubot are measured by the optical encoders. The measurements are then input into the observer system so as to estimate the four state variables, q l , q2, q1 and q2, of the Pendubot. Then the feedback controller system uses these estimations in calculating the control signal u, which is to be input into the Pendubot to control the trajectory of the system. First, the links are swung up to the desired operating point by applying a swing up controller; then a balancing controller is applied in order to keep the links at the operating point. The equilibrium ($,0,0,0) is chosen as the operating point at which to study the system performance. Figure 5.1 shows the combined system. Where y is the output of the Pendubot CHAPTER 5. COMBINED SYSTEM PERFORMANCE Controller Figure 5.1: The Scheme of the Combined System system, i.e. the angular position measurements, ql and q2, x is the estimation of the state variables of the Pendubot obtained via the observer algorithm, u is the calculated toque which is given by equation (5.2) and input to the actuator on the Pendubot . 5.2 Simulation of the Combined System The powerful built-in toolbox in Matlab, called Simulink, is used to simulate the Pen- dubot system. Simulink is a software package for modelling, simulating, and analyzing dynamical systems. It supports linear and nonlinear systems, modelled in continuous time, sampled time, or a hybrid of the two. The most attractive feature of Simulink is that the model generated by Simulink can be automatically translated into ANSI C code by applying the Real-Time Workshop. The Real-Time Workshop generates an optimized, portable, and customizable ANSI C code from Simulink models. Users can use it to create and execute downloadable targeted C codes for an entire system or for specified subsystems for hardware-in-the-loop simulations. It enables the operator to generate codes for discrete-time, continuous-time, and hybrid systems. According to its this advantage, the Real-Time Workshop (RTW) combined with the Simulink software package is employed to do the simulation of the Pendubot. The generated C code by RTW is a suitable prototype to be modified for applying into the real-time CHAPTER 5 . COMBINED SYSTEM PERFORMANCE implementation of the Pendubot. 5.3 High-Gain Observer Based Combined System The high gain observer has a simple structure that is easily applied to real-time implementation. The simulation of the combined system starts from applying the high gain observer. 5.3.1 Preliminary Calculation To establish the relationships between functional blocks in Simulink, it is necessary to do some preliminary works to make equations clearer. Recall system equation (2.15): s = D(q)-'(r - C(q, 4 q - B(q)) (5.1) (where r = ( u , ~ ) ~ because the system is underactuated) and the swing up control laws (3.6) and (3.9) where coefficients &l, Ell , c12, and matrices D , C, B are defined in (3 .5 ) , (2.4), (2.5), and (2.6). Referring to equation (2.7), it can seen that these parameters can be expressed in functions of (el -&). Here, the values of Kp and Kd should be determined according to the desired convergence rate of errors between the reference input and the state trajectory. To balance the Pendubot system at the pre-chosen equilibrium, one has to linearize the system equation at that point. According to equations (3.23) (3.24) and (3.25), CHAPTER 5. COMBINED SYSTEM PERFORMANCE 59 the linear state space equations at the equilibrium x, = ( $ , O , 0,O) is calculated as follows: x = A(x - x,) + BU where Now, given the linear model above, on can use LQR or pole placement techniques to design full state feedback controller, u = -Kx. The feedback, control gain matrix K is selected as follows: Now, it is time to determine the parameters in the high gain observer system. Re- calling observer system equation (4.5) The values of E and elements of H,, Hp should be chosen according to the theoret- ical analysis in section (4.2). However, the exact values for them should be chosen under the performance in the simulation. In both the simulation and the real-time implementation, those parameters are all selected as follows: CHAPTER 5. COMBINED SYSTEM PERFORMANCE 5.3.2 Results and Discussion After the preliminary work is done, Simulink is employed to construct the simulation of the combined system, which is comprised of the Pendubot and the high gain observer based swing up and balancing controllers. The results are shown in the following figures. Comparisons and analysis are given for each case. The first link's angular position Figure 5.2 shows the first angular position q l , its estimation ql, and the error between them. The initial value of ql is -7r/2, and its final value is supposed to be 7r/2. The initial value of its estimation is chosen as 0, assuming that there is no information about the states of the system. One can see that, the error between them converges from -7r/2 to 0.01 within 0.2s. The second link's angular position The state variable's initial value is 0, and the initial value of its estimation is also set at zero, i.e., the initial value of error between them is zero. This causes the error to change within a small range, the maximum of error is less than 0.02 a s shown in Figure 5 .3 . The first link's angular velocity Because of the large difference between the initial values of ql and ql , , the angu- lar velocity of the first link and its estimation are quite different at the beginning. CHAPTER 5. COMBINED SYSTEM PERFORMANCE 6 1 Compared to the value of the state, it can be said that the error converges from 42.436(rad/s) at t = 0.163(s) to -3 .39(rad/s) at t = 0.2(s ) very rapidly. See Figure 5.4 for details. The second link's angular velocity Similar to q2 as compared to ql, the second link's angular velocity as well as the error, vary in a smaller range compared to that of the first link. It also converges quite fast to the desired value of zero. As the figures demonstrate, the estimations ql,, qz,, qleder and qzeder converge to ql, 92, qlder and q2der very quickly with a little oscillation. That is mainly due to the large difference between the initial values of the observer and the states of the Pendubot. It is also due to the fact that the observer uses high gains to attenuate the nonlinearities within the system model. As the linearized system model is applied, the oscillation disappears when both two links reach the pre-chosen equilibrium. The swing up controller is switched to the balancing controller at the time t = 0.624(s). The errors between states and estimations remain small, meaning that the observer works well for both controllers. CHAPTER 5. COMBINED SYSTEM PERFORMANCE The angular position of Link 1, q,, and its estimation, qle 3 I I I I I I 1 I I 2 - - - Dashed "--" : the real state of Link 1's position - Solid "-" : the estimate of Link 1's position - -2 I I I I I 1 I I I 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 t (s) The error between q, and qle time (s) error (rad) 0 -1.5708 0.009 0.009 0.01 63 0.1338 0.2 -1.2e-2 0.684 &fie-4 3 7.3e-6 Figure 5.2: Link 1's angular position and its estimation via high gain observer CHAPTER 5. COMBINED SYSTEM PERFORMANCE The angular position of Link 2, q,, and its estimation, qZe 0.5 I I I I I I I I I - - Solid "-" : the estimate of Link 2's position Dashed "--" : the real state of Link 2's position - 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 The error between q, and qZe time (s) error (rad) 0 0 0.009 -0.01 0.0163 -0.02 0.2 0.0046 0.684 6.3e-4 3 -4.94e-6 Figure 5.3: Link 2's angular position and its estimation via high gain observer CHAPTER 5. COMBINED SYSTEM PERFORMANCE The angular velocity of Link 1, qlder, and its estimation, qleder 40 1 I I I I I I The error between qlder and qleder - time (s) error (radls) 0 0 0.009 45.781 0.01 63 42.436 0.2 -3.39 0.684 0.231 3 0.002 u 6 -20 L rn 5' -40 Figure 5.4: Link 1's angular velocity and its estimation via high gain observer . - Dashed "--" : the real state of Link 1's velocity Solid "-" : the estimate of Link 1's velocity - CHAPTER 5. COMBINED SYSTEM PERFORMANCE The angular velocity of Link 2, qZder, and its estimation, qZeder l o l I I I I I - Dashed "--" : the real state of Link 2's velocity - 1 1 8 Solid "-" : the estimate of Link 2's velocity 3 2 0 I 1 - = I I -30 I I I I I 0 0.5 1 1.5 2 2.5 3 t (4 The error between qZde, and qZeder time (s) error (radls) 0 0 0.009 -5.867 0.01 63 -9.725 0.2 1.714 0.684 -0.227 3 -0.002 Figure 5.5: Link 2's angular velocity and its estimation via high gain observer C H A P T E R 5. COMBINED SYSTEM PERFORMANCE 66 5.4 Sliding Mode Observer Based Combined Sys- tem The structure of the sliding mode observer is more complicated compared to that of the high gain observer. Referring to Section 4.3, there is some preliminary work to do before the simulation. 5.4.1 Preliminary Calculation: The first part of the preliminary work for the feedback control law is same as the work described in the previous subsection. Now one needs to derive the explicit forms of coefficient matrices in the sliding mode observer (4.60) and (4.61), i.e., D-'(y), C(y , x2)xz and ~ ( y , x2), as follows: 1 62 -62 - Q3 cos y2 D-l(y) = 6162 - 632 c0s2 Y2 --O2 - O3 cos y2 9, + 6, + 28, cos y2 -03 sin y2(2i21i22 + ii2) 2 2 = ( 03 sin y2i;1 -63 sin y2iZ2 -83 sin y2(!i21 + 222) 7 . 4 ~ 3 2 ) = Q2 sin y2!i21 0 The constant coefficient matrices, rl, r2, Al, and Q, must also be determined. Based on the analysis presented in Section 4.3 and the description in Section 4.4, together with the performance in the simulation, these matrices are chosen as follows: According to the prerequisite of keeping states on the sliding surface, one needs to choose the initial values of error 5il = 0, i.e. choose i l ( 0 ) = x(0). Furthermore, CHAPTER 5. COMBINED SYSTEM PERFORMANCE ' 67 the error x2 should be always less than elements of A1: 3; < X 3 0 r all the time including the initial states. Following all these requirements, two initial estimations, ( -~ /2 ,0 ,0 .5 ,0 .5 ) and ( - ~ / 2 , 0 , 3 , 3 ) , are selected for the sliding mode observer. 5.4.2 Results and Discussion Figures 5.6 and 5.7 reveal the simulation results of the combined system performance. It is shown that in both cases, the errors are kept within a small varying range, and converge to zero very quickly. Because the switching function sgn(.) is applied in the observer structure, the error values always oscillate in a very small range around zero, even after state estimations have already converged to the real states. According to equation (4.60) and (4.61) in the previous chapter, one can see that , elements in the matrix A1 are coefficients of the switching function sgn(.). Therefore, by choosing smaller values of the elements in matrix A l , the oscillation could be decreased. How- ever too small values of Al cannot guarantee that the whole range of xz variation will be covered. A trade-off should therefore be used here in choosing the appropriate values of A l . The analysis above is confirmed through comparing the overall system's performance with applying several different values for the matrix Al in the simulation. As analyzed in subsection 4.3.3, the convergence rate is relative to the minimum eigenvalues of Q and D ( y ) . The latter is determined by the system property. The convergence rate of the observation errors can be increased by choosing matrix Q with a greater minimum eigenvalue. The controller switching happens at t = 0.825s, i.e., the linearized model of the system is employed at that time. From the figures we can see that the sliding mode observer works well for both the nonlinear model and linearized model of the Pendubot system at the equilibrium. CHAPTER 5. COMBINED SYSTEM PERFORMANCE The initial value of the observer is set to (-pi/2,0,0.5,0.5) The error between q l and q l e - 5 8 s' - Figure 5.6: The Errors between system states and estimations by applying the sliding mode observer, the initial condition being x(0) = (0,0,0.5,0.5) .- The error between q2 and q2e - 0 - P CU The error between q l der and q l eder - I I 0 0.5 1 1.5 0.5 I I - The error between q2der and q2eder 0 E - 0 -., - ' *WLH -0.5 1 I 0 0.5 1 1.5 t(s) CHAPTER 5 . COMBINED SYSTEM PERFORMANCE The initial value of the observer is set to (-pi/2,0,3,3) -0.5 I I I 0 0.5 1 1.5 0.2 I I The error between q2 and q2e - u 0 - -0.2 I I 0 0.5 1 1.5 5 I I The error between qlder and qleder - V) . 0 -51 I I I 0 0.5 1 1.5 I I The error between q2der and q2eder The error between ql and ql e Figure 5.7: The Errors between system states and estimations by applying the sliding mode observer, the initial condition being X(0) = (0,0,3,3) CHAPTER 5. COMBINED SYSTEM PERFORMANCE The Noisy Case The initial purpose of this study has been to design observers for their application on the Pendubot instead of using the difference method directly to calculate the velocities of links. The reason is that the latter is very sensitive to measurement noise. In the case where the measurement noise is present, the performance of the system will be effected. Although the magnitudes of noise is usually small, their high frequency nature makes the derivative large and therefore add a large component to the calculation of the velocity. Hence the calculated control signal is significantly affected and this could cause the system to perform abnormally and even dangerously in industrial environments. Applying the designed observers to estimate the velocity of the links can overcome this problem. To see the effect, a white noise N(t) is add to the output of the Pendubot system, where N(t) consists of normally distributed random signals and has the following properties: The feedback input to the observer is now y(t) + N(t) instead of the original y(t). 5.5.1 High Gain Observer Based System Pick the same initials of the system and observer as in section 5.3, x(0) = [ - ~ / 2 , 0 , 0 , 0IT, x(0) = [O, 0 ,0, 0IT, and add the white noise N( t ) to both measure- ment outputs. The performance of the system is shown in Figure 5.8. Compared to the results shown in Figures 5.2 to 5.5, one can see that the high gain observer based combined system operates almost as well as in the case where there is no noise considered. From this result, one can directly conclude that the high gain observer CHAPTER 5. COMBINED SYSTEM PERFORMANCE 71 has good noise immunity for accurately estimating the velocities. Because the high gain observer attenuates the nonlinear parts of the system, which include the noise effect, the system performance is not much affected by the added noise. However, for the finite difference method based Pendubot system, which uses the following approach to estimate the joint velocities when the measurement noise is present, the calculated estimations of the joint veloc- ities will become Obviously, the estimation of the velocities is distorted according to the introduction of the derivative of noise. Although the magnitude of the noise may not be large, the magnitude of its derivative is large enough to cover the true value of the joint velocities, especially in the case that the velocities are small. As a result, the overall system can not perform as expected. 5.5.2 Sliding Mode Observer Based System In this simulation, the initial values of the sliding mode observer are set at [ -~ /2 ,0 ,0 ,3 ,3 ] ; noises are added to both elements of the output y(t). The results are displayed in Figure 5.9. Compared to the results shown in Figure 5.7 where no noises are considered in the system, here the convergence rate is almost unaffected. The errors become a little larger and the oscillation range of errors gets a little wider. This is because the noises added onto the measurement y = xl destroy the status of xl on the sliding surface: xl = 0 . As the magnitude of the noise is small, xl CHAPTER 5 . COMBINED SYSTEM PERFORMANCE 72 deviates xl in a very small range and converges back to it very rapidly. The effect of the derivative of the noise, which has a correspondingly much larger magnitude, is weakened by the filtering of the observer. As a result, the sliding mode observer based combined system performs well with the noisy measurement. 5.5.3 Summary The simulation results indicate that both observers avoid the direct effect of noise on the system performance and continue to estimate velocities accurately. After applying this noise to the system, the difference method based system cannot follow the refer- ence control input at all. The derivative of noise covers the true values of velocities completely. But the performance of observer based systems remain almost unchanged in the case where noise is added. Work involved in this chapter demonstrates that the two designed observers are able to significantly improve the performance of the Pendubot against noisy measurement. CHAPTER 5. COMBINED SYSTEM PERFORMANCE 1 I I I I I The error between ql and ql e 0.02 I I I I I The error between q2 and q2e =G 0 0 s w I I I I I The error between ql der and ql eder 10 I I I I I The error between q2der and q2eder -2 0 - u !!? ---10 - Figure 5.8: The errors between system states and estimations with white noise added to the high gain observer based system. CHAPTER 5 . COMBINED SYSTEM PERFORMANCE 0.5 I I The error between q l and q l e s e - -0.5 I I 0 0.5 1 1.5 0.1 I I The error between q2 and q2e -0.1 I I 0 0.5 1 1.5 " 0 0.5 1 1.5 I I The error between q2der and q2eder - I - 2 0 0 - !!! - Figure 5.9: The errors between system states and estimations with noise added to the sliding mode observer based system. The error between qlder and qleder - Chapter 6 Real-Time Implementation of the Combined System 6.1 Introduction This chapter will investigate the real-time implementation of the Pendubot with ob- server based controllers applied to it. The term "real-time" has been applied to many types of systems including computer-controlled power stations, flight-control soft- ware, and robot control. Real-time is the operation of a computer system in which the programs for the processing of incoming data are constantly operational so that the processing results are available within a given time interval. Depending on the application, the data may appear a t an unknown or predetermined time [18]. Due to the advent of inexpensive and fast computers, the implementation of the algorithms on hardware is becoming convenient and practical. However, most research was based on simulations, and the literature lacks real-time results. Theoretical anal- ysis and computer simulation of the combined system are important but not sufficient in that inherent factors such as unmodeled high frequency dynamics and measurement CHAPTER 6. REAL-TIME IMPLEMENTATION O F THE COMBINED SYSTEM6 noise are usually neglected for stability analysis in the simulation. Therefore, the ul- timate justification for the value and applicability of controllers and observers should be proved in the actual hardware implementation of the combined system. Based on this perspective, this chapter examines the real-time performance of the Pendubot system after applying the observer based feedback controller to it. 6.2 Sampled-Data Control of the Pendubot Figure 6.1 shows the main hardware of our real-time Pendubot system. A Pentium PC serves as a data acquiring and processing host computer. Its main task is to deal with the measurement information, estimate system states based on those information and send out the calculated control signal accordingly. The host computer is connected with the Pendubot through AID and D/A cards. One thing needs to be pointed out is that, although observers are designed based on continuous time analysis, they are implemented digitally in the real-time implementation. Hence, the digital controller and observer deal with discrete signals. This process is called Sampled-data observer based control of the Pendubot System. Sampled-data control of the nonlinear system has been investigated in some stud- ies. For example, Monaco [23] and Sontag [35] investigated how certain properties such as controllability, observability and linearizability are preserved under sampling. The closed-loop analysis by Dabroom [7] showed that the sampled-data controller recovers the performance of the continuous time controller as the sampling frequency and observer gain become sufficiently large. It has been shown in [40] that when the continuous time controller stabilizes the continuous time plant, stability prop- erties of the sampled-data system depend crucially on the choice of the sampling period T. If the continuous time stabilizing controller is sampled fast enough, the CHAPTER 6. REAL-TIME IMPLEMENTATION OF T H E COMBINED SYSTEM77 1 DiA interface f I \ Servo Amplifier \ A 1 f \ AID Interface f \ \ I I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V I I I f \ r \ I x(k) ! I I I \ / \ I I I I I I I I I Pentium PC I I I I ; Figure 6.1: Configuration of the Sampled-Data Pendubot Hardware System. Digital Controller ! ! I < Digital Observer CHAPTER 6. REAL-TIME IMPLEMENTATION O F THE COMBINED SYSTEM78 obtained sampled-data nonlinear system can exhibit the same (although in general deteriorated) properties as the continuous time system. From this point of view, the sampling time should be chosen as small as possible in order to guarantee the perfor- mance of continuously designed observers and controllers. However, the calculation speed of the data processor, which is the pentium computer in this case, limits the possible values that could be chosen for the sampling time. Based on the above analysis, it is clear that when the sampling time is chosen too long, the obtained discrete time system will not keep the properties of the orig- inal continuous time system. As shown in Chapter 4, the sliding mode observer is complicated. In the real time implementation, it takes time to solve the differential equations using the Runge-Kutta method. Therefore the sampling time for the slid- ing mode observer based combined system must be chosen long enough to cover the necessary calculation time. Once the sampling time is chosen longer than a critical value, the obtained discrete system will be distorted and the performance of it will not be the same as that of the continuous time system. The host computer in this study does not supply fast enough calculation speed for applying the sliding mode observer based controller to the Pendubot. The calculation time of the sliding mode observer is longer than 9 ms, which is too long to be the sampling time to obtain the undistorted discrete time system. When the sliding mode observer is applied to the Pendubot, the obtained discrete time system does not keep the same properties as the continuous time system as run in the simulation, the overall system does not perform as expected. Therefore, the performance of the sliding mode observer based overall system is not showed in this chapter. The real-time implementation of the high-gain observer based combined system is studied in the following sections. And the sampling time for the implementation of CHAPTER 6. REAL-TIME IMPLEMENTATION OF THE COMBINED SYSTEh479 the Pendubot system is chosen to be Real-Time Algorithm The real-time code is written in C language. The structure of it is shown in Figure 6.2. It begins with the identification of the operating system of the computer, then the initialization of PC control boards, followed by a safety check to guarantee that the two links run within a safe range. After doing these preliminary tasks, the main part of the real-time algorithm starts. The measurement information about the link positions is read into the digital observer. The fourth order Runge-Kutta method is employed to perform the high gain observer algorithm. After all the states have been estimated, the digital controller is executed to calculate the control signal corresponding to the state estimations. Once one loop is completed, the states are saved in memory for further use in the next loop, the data are output to a file for later analysis and the time value is updated. When there is no any "key" is hit on the keyboard, loops continue running by going back to the position reading command and following the same procedure as described above. For the real-time calculation of the differential equations in the high observers, the fourth order Runge-Kutta method is applied. It is generally agreed that the fourth order Runge-Kutta method provides an excellent balance of power, precision and simplicity for the program. However, for higher precision, one should use the Dormand-Prince formula which is an advanced algorithm derived from the Runge- Kutta method. For more information about this formula, refer to [30]. But this method requires higher speed of the central data processor. CHAPTER 6. REAL-TIME IMPLEMENTATION OF THE COMBINED SYSTEM80 Read Positions of Links (xlk ,x3k read-encoderso Calculate the velocities Using Runge-Kutta High Gain Observer Algorithm Apply the balancing control Apply the swing up control I Save the processing variables for further loop calculation I Figure 6.2: Structure of the real-time Code. CHAPTER 6. REAL-TIME IMPLEMENTATION OF THE COMBINED SYSTEM81 One thing needs to be mentioned here is that because the top position (7r/2,0,0,0) is not a stable equilibrium and considering the effect of the friction, a small dither signal us is employed at the balancing point to help balancing two links there. us = A, sin wst where A, = 0.25, and w, = 20. There is also an "offset" option in the real-time code, which may help compensate the friction effect and balance links at the top position. To protect the DC motor, there is a limitation on the digital output of the controller: ul < 9.5 (Volts) I - 6.4 Results and Discussion Figure 6.3 shows the comparison between the measurements of the two links' positions in the observer based system and the difference based method. It can be seen that the high gain observer based Pendubot system performs pretty well and better than the difference method based system in a few ways. In the observer based system, the states of the Pendubot converge to the expected states very quickly, and the errors between them are smaller after a certain time. The states of the observer based Pendubot system are more steady which means that this system is more resistant to the disturbance, for example, the noise, the friction and even the dither signal which is added to the Pendubot. Despite the advantages mentioned above, the observer based Pendubot system also has its own disadvantages. For example, the peaking effect of the observer based Pendubot system is more obvious than the different method based system. Peaking is induced by the initial difference between the estimated states and the real states x(0) - x(0). Choosing the initial conditions of the observer as the default values, CHAPTER 6. REAL-TIME IMPLEMENTATION OF THE COMBINED SYSTEM82 (0,0,0,0), which is different from the start point (-7r/2,0,0,0), causes peaking during the transient period. Figure 6.4 displays the errors between the estimations and measurements in the real-time implementation of the observer based Pendubot system. The error1 con- verges to zero very fast. But the convergence time of error2 is a little longer than that in the simulation. This is because that the sampling time affects the performance of the system. When the selected sampling time is smaller, the convergence time will be closer to that in the simulation. At the steady state, It can be seen that there is still some effects of noise on the estimation of Link 2's position. The performance could be improved by adjusting values of E and T,,,,li,,. The range of errors remains small, which indicates that the sampling time does not affect the high gain observer much when it does not take so long to deteriorate the controller's performance. The dis- cussion about how the sampling time affects the performance of the obtained discrete time system is detailedly discussed in [7]. CHAPTER 6. REAL-TIME IMPLEMENTATION OF THE COMBINED SYSTEM83 Measurements of Link One 4 I I I I I I I I I Measurements of Link Two 2 I 1 I I I I I I I Figure 6.3: Measurements of Links' positions for the observer based system and difference method based system. CHAPTER 6. REAL-TIME IMPLEMENTATION OF THE COMBINED SYSTEM84 0.2 1 Error between the estimation and measurement of Link 1's position Error between the estimation and measurement of Link 2's position C I I I I I I 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Figure 6.4: Errors between the estimations and measurements in real-time implementation. Chapter 7 Conclusions The objective of this work was to develop and implement an observer-based state feedback control system for a Pendubot. The states of the Pendubot system are comprised of the joint angular positions and joint angular velocities. Joint angular positions can be detected accurately by the encoder, however, the joint angular ve- locities are difficult to measure. The traditional way to calculate the velocity is based on the differentiation of positions. This method is sensitive to measurement noise, and hence, the obtained velocities cannot be accurate. As a result of this, the perfor- mance of the feedback control system based on the inaccurate velocity estimates will therefore be negatively affected. In order to make accurate state estimation and hence improve the performance of the feedback controlled Pendubot system, two observers are designed and applied to the control system. These two observers are based on the sliding mode and high gain strategies. Compared to the previous methods, the use of the observer in the control system to obtain joint angular velocity has many advantages, including simplicity, stability, flexibility, and noise immunity. CHAPTER 7. CONCL USIONS 86 In order to examine the effect of observer-based control on the Pendubot, a math- ematical model is first established using an energy equation based identification as described in Section 2.3.2. A controller is then designed using two strategies to per- form the task of controlling the Pendubot. This controller operates in two phases. The first phase is called swing-up control and the second phase is called balancing con- trol. The swing-up control designed using the partial linearization technique swings links from their stable hanging positions to unstable equilibria. The balancing con- trol designed using the full state-space feedback technique stabilizes the system at the desired operating position. The transition between these two phases is controlled by a switching function. The real-time states of the two links are compared to the pre- chosen equilibrium in each sampling period. Once the difference between two states becomes smaller than preset values, so that the links of the Pendubot pass through that equilibrium, the switching function will change control from the swing-up phase to the balancing phase. The observer-based control systems are simulated and also implemented in real- time applications. Their performances under noisy disturbances are investigated in the simulations. The effect of un-modelled uncertainties on the performance of the Pen- dubot is analyzed in the real-time implementation. The results show that observer- based control systems perform better in both cases than the traditional difference method based control system which estimates the joint angular velocities using posi- tion differentiation. The advantages of using observer in control system are discussed below. The advantages of the high gain observer-based control include It is easy to implement and supplies an accurate estimation of system states; 0 The estimated velocities are more resistant to noise compared with the measured CHAPTER 7. CONCL USIONS ones; The observers can be designed and implemented independently from the highly nonlinear and coupled robot behavior. It has high convergence rate by choosing appropriate values for dominating parameters. The nonlinearity is accordingly attenuated. These advantages of the high gain observer makes it attractive for use in the state- estimation of uncertain systems, such as the Pendubot with noisy measurements, or as an alternative for numerical differentiation. The sliding mode observer inherits the advantages of variable structure control systems. Once the states reach sliding surfaces and the sliding motion takes place, the estimation error dynamics becomes insensitive to disturbances and uncertainties. This feature makes the sliding observer attractive to designing robust observers for uncertain systems. It has been shown that, if the measurement is noisy, the sliding mode observer can work as well as in the ideal environment. In addition, the sliding mode observer is also insensitive to piecewise nonlinearity, such as the Coulomb fric- tion in the Pendubot system. However, the above analysis is based on the result of simulation, the sliding model observer based controller could not be implemented in real-time due to limitations on the speed of the chosen Pentium PC. The real-time observer-based Pendubot control systems has been discussed as above. The Pendubot could be a good tool for further research on robot-related topics. In order to further improve control strategies for Pendubot, several future works can be carried out as follows. CHAPTER 7. CONCLUSIONS 88 System Identification As mentioned in Chapter 2, the on-line identification meth- ods require all state information to estimate five inertial parameters. The esti- mation obtained from observers can be applied to those identification methods to obtain parameters in the mathematical model of the Pendubot. Furthermore, although the friction in this device has quite a small effect on the performance of the Pendubot, it still should be considered when one deals with general robot applications. Controller Design The existing controller, which is composed of the partial lin- earized feedback sub-controller (swing-up controller) and the full state feedback sub-controller (balancing controller), is applied to the Pendubot for the purpose of studying the observer-based control performance. This controller is simple and can not control the Pendubot to follow complicated trajectories. Recently, a study by a Keigo and Tsuneo has shown that it is possible to control the Pen- dubot to follow arbitrary trajectories [16]. New controllers could be developed for this purpose. Real-time Implementation Higher-speed computers should be used to supply faster calculations in order to make more methodologies applicable to the Pen- dubot system. An alternative approach is to use the dSPACE Digital Processing Card to deal with data processing. It is much faster than general DSP and has more powerful functions to achieve different purposes. Fault Diagnosis Observer-based fault diagnosis and fault identification methods could be studied based on the identified Pendubot system and the developed algorithm in this thesis. Bibliography [I] Bona, B., and Indri, M., "Analysis and Implementation of Observers for Robotic Manipulators7', Proc. of IEEE International Conf. on Robotics t3 Automation, pp. 3006-3011, 1998. [2] Bortoff, S.A., Pseudolinearization using Spline Function with Application to the Acrobot, Ph.D Thesis, Dept. of Electrical and Computer Engineering, University of Illinois at Urbana-Champaign, 1992. [3] Berghuis, H., and Nijmeijer, H., "Global Regulation of Robots Using Only Posi- tion Measurements", Syst t3 Contr. Lett, Vol. 21, pp. 289-293, 1993. [4] Berghuis, H., and Nijmeijer, H., "A passivity Approach to Controller-Observer Design for Robots". IEEE Trans. on Robot. and Autom, Vol. 9, pp. 740-754, 1993 [5] Canudas de Wit, C., and Slotine, J.-J. E., "Sliding Observers for Robot Manip- ulators", Proc. of IFAC, pp. 859-863, 1992 [6] Choi, J.-H. and Misawa, E.A., "A Study on Sliding Mode State Estimation,", American Control Conference, San Ftancisco, California, pp. 2572-2576, June 1993 BIBLIOGRAPHY 90 [7] Dabroom, A., and Khalil, H.K., "Output Feedback Sampled-Data Control of Nonlinear System Using High-Gain Observers", IEEE Trans. on Automatic Con- trol, Vol. 46, No.11, pp.1712-1725, Nov 2001 [8] Daniel, J.B., Mechanical Design and Control of the Pendubot, M.A.Sc Thesis, University of Illinois, 1991 [9] Dennis, J.E., Jr., Robert B. Schnabel., Numerical methods for unconstrained optimization and nonlinear equations, Englewood Cliffs, N. J. : Prentice-Hall, 1983 [lo] deSilva, C. W., Control Sensors and Actuators, Englewood Cliffs, NJ: Prentice Hall, 1989 [ll] Drakunov, S.V., "An Adaptive Quasioptional Filter with Discontinous Parame- ters", Automation and Remote Control, Vo1.44, No.2, Part 2, September, pp.76- 86, 1983 [12] Esfandiari,F., and Khalil, H.K., "Observer Design of Uncertain Systems: recov- ering state feedback robustness under matching conditions", Proc. of the 1987 Allerton Conference, Monticello, IL, 1987 [13] Gautier, M., and Khalil, W., "On the Identification of the Inertial Parameter of Robots". In Proceedings of 27th CDC, pp. 2264-2269, 1988 [14] Hahn, W., Stability of motion, New York: Spinger Verlag, 1967 1151 Itkis, V., Control Systems of Variable Structure, John-Wiley, 1976 BIBLIOGRAPHY 91 [16] Keigo, K., and Tsuneo, Y., "Controllability of Under-Actuated Planar Manipula- tors with One Unacuated Joint", The International Journal of Robotics &search, Vo1.21, No.5-6, May-June 2002, pp. 555-561 [17] Khelfi, M.F., Zasadzinski, M., Rafaralahy, H., Richard E., and Darouxh, M., "Reduces Order Observer Based Point to Point and Trajectory Controllers for Robot Manipulators", Contr. Eng. Pract., pp. 991-1000, 1996 [IS] Kim, K. H., Advances in Real-Time Computer Systems, Greenwich, CT: JAU- Press, 1991 [I91 Jain, A., and Rodriguez, G., "An Analysis of the Kinematics and Dynamics of Underactuated Manipulators", IEEE Trans. on Robotics and Automation, Vol. 9, No. 4, pp. 411-422, August, 1993 [20] Misawa, E.A., "Discrete-Time Sliding Mode Control," Journal of Dynamic Sys- tems, Measurement and Control, Vo1. 119, pp. 503-512, September, 1997 [21] Misawa, E.A., "Discrete-Time Sliding Mode Control", Journal of Dynamic Sys- tems, Measurement and Control, June, 1994 [22] Misawa, E.A., and Hedrick, J.K., "Nonlinear Observers: a State-of-the-Art Sur- vey", Journals of System, Measurement, and Control Vol. 111, pp. 344-351, 1999 [23] Monaco, S., and Normand-Cyrot , D., "Invariant Distributions under Sampling", Conf. Math. Theory Networks Syst. Stockholm, Sweden, 1992 [24] Nicosia, S., Tomei, P., and Tornambk, "Feedback Control of Elastic Robots by Pseudolinearization Techniques", 25th. Conference on Decesion and Control, De- cember, 1986 BIBLIOGRAPHY 92 [25] Nicosia, S., Tornambe, A., and Valigi, P., "Experimental Result in State Estima- tion of Industrial Robots", Proc. of the 29th Conf. on Decision and Control, pp. 360-365 December, 1990 [26] Reboulet, R.J. , and Champetier, C., "A New Method for Linearizing Nonlinear Systems: the Pseudolinearization", Int. J. Control, Vol. 40, pp. 631-638, 1984 [27] Richard K. Cooper, Modern analytic mechanics, Kluwer Academic/Plenum Pub- lishers: New York, 1999 [28] Saberi, A., and Sannuti, P., "Observer Design for Loop Transfer Recovery and for Uncertain Dynamical Systems", Proc. of the 1988 ACC, Atlanta, CE, 1988 [29] Saito, F., Fukuda, T., and Arai, F., "Swing and Locomotion Control for Two-Link Brachiation Robot", Proc. 1993 IEEE Int. Conf. on Robotics and Automation, pp. 719-724, Atlanta, GA, 1993 [30] Shampine, L.F., Numerical Solution of Ordinary Differential Equations, Chap- man & Hall, 1994 [31] Slotine, J.-J. E., "Sliding Controller Design for Nonlinear Systems", Int. J. Con- trol, Vo1.40, 1984 [32] Slotine, J.-J. E., Hedrick, J.K., and Misawa E.A., "On Sliding Observers", 1986 American Control Conference, Seattle, WA-June 1986 [33] Slotine, J.-J. E., Hedrick, J.K., and Misawa E.A., "Nonlinear State Estiation us- ing Sliding Observers", 25th Conference on Decision and Control, Athens, Greece, December, 1986 BIBLIOGRAPHY 93 [34] Slotine, J.-J. E., Hedrick, J .K., and Misawa E.A., "On Sliding Observer", ASME Journal of Dynamic System, Measurement and Control, Vol. 109, pp. 245-252, 1987 [35] Sontag, E., "A concept of Local Observability", Syst. Contr. Lett,, Vol. 5, pp. 41-47, 1984 [36] Spong, M.W., "Modelling and Control of Elastic Joint Robotics", ASME J. Dyn. Systems, Meas. and Control, Vol. 109, pp. 310-319, December, 1987 [37] Spong, M.W., and Vidyasagar, M., Robot Dynamics and Control, John Wiley & Sons, Inc: New York, 1989 [38] Spong, M.W., "The Control of Underactuated Mechanical Systems", Plenary Lecture a t the First International Conference on Mechatronics, Mexico City, January 26-29, 1994 [39] Spong, M.W., "Swing Up Control of the Acrobot using Partial Feedback Lin- earization", SY-ROC0'94, Capri, Italy, pp.833-838, September, 1994 [40] Teel, A.R., NeSiC, D. and Kokotovik, P.V., "A Note on Input-to-State Stability of Sampled-data Nonlinear Systems", Proc. 37th IEEE, Conf. Deci. Contr, pp. 2473-2478, December 1998 [41] Yuqiang Zhang, Real-Time Multi-Tasking Control System for a Dextrous Robot Hand, M.A.Sc Thesis, Simon Fraser University, Burnaby, BC, 1998 [42] Utkin, V.I., Sliding Modes and their Application in Variable Structure System, MIR Publishers, Moscow, 1978 BIBLIOGRAPHY 94 [43] Utkin, V.I., "Variable Structure Systems with Sliding Mode: A Survey", IEEE Trans. Aut. Control, Vol.AC-22, 1977 [44] Walcott, B.L., and ~ a k , S.H., "Comparative Study of Nonlinear State Observa- tion Techniques", Int. J. Control, Vo1.45, No.6, pp.2109-2132, 1986 [45] Mechatronic Systems, Incorporated, Pendubot Model P-2 User's Manual, 1998.

Recommended

Observer-based backstepping dynamic surface control for stochastic nonlinear strict-feedback systems