Upload
vuongkien
View
256
Download
0
Embed Size (px)
Citation preview
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.