Citation
Adaptive sliding control of a single-axis steering mirror

Material Information

Title:
Adaptive sliding control of a single-axis steering mirror
Creator:
Connors, Bruce Patrick
Place of Publication:
Denver, Colo.
Publisher:
University of Colorado Denver
Publication Date:
Language:
English
Physical Description:
xv, 165 leaves : illustrations ; 29 cm

Thesis/Dissertation Information

Degree:
Master's ( Master of Science)
Degree Grantor:
University of Colorado Denver
Degree Divisions:
Department of Electrical Engineering, CU Denver
Degree Disciplines:
Electrical Engineering
Committee Chair:
Bialasiewicz, Jan T.
Committee Members:
Wall, Edward T.
Anderson, Marvin F.

Subjects

Subjects / Keywords:
Flight control -- Mathematical models ( lcsh )
Flight control -- Mathematical models ( fast )
Genre:
bibliography ( marcgt )
theses ( marcgt )
non-fiction ( marcgt )

Notes

Bibliography:
Includes bibliographical references.
General Note:
Submitted in partial fulfillment of the requirements for the degree, Master of Science, Department of Electrical Engineering.
Statement of Responsibility:
Bruce Patrick Connors.

Record Information

Source Institution:
University of Colorado Denver
Holding Location:
Auraria Library
Rights Management:
All applicable rights reserved by the source institution and holding location.
Resource Identifier:
24461673 ( OCLC )
ocm24461673
Classification:
LD1190.E54 1991 .C66 ( lcc )

Downloads

This item has the following downloads:


Full Text
ADAPTIVE SLIDING CONTROL OF A
SINGLE-AXIS STEERING MIRROR
by
Bruce Patrick Connors
B.S., State University of New York at Buffalo, 1986
A thesis submitted to the
Faculty of the Graduate School of the
University of Colorado in partial fulfillment
of the requirements for the degree of
Master of Science
Department of Electrical Engineering
1991


This thesis for the Master of Science
degree by
Bruce Patrick Connors
has been approved for the
Department of Electrical Engineering
by
Edward T. Wall
Marvin F. Anderson


Connors, Bruce Patrick (M.S., Electrical Engineering)
Adaptive Sliding Control of a Single-Axis Steering Mirror
Thesis directed by Associate Professor Jan T. Bialasiewicz
A feedback control methodology known as sliding control is applied to perform
trajectory control of a single-axis steering mirror. Mathematical properties of sliding
motion are discussed. The sliding control methodology of Jean-Jacques E. Slotine is
presented in detail and illustrated with examples. A stronger relationship relating
distance to the sliding surface and bounds on tracking error is proposed.
A high fidelity computer simulation of a steering mirror control system is
developed. This simulation is used to demonstrate adaptive and non-adaptive sliding
control of a single-axis steering mirror. Practical implementation issues are addressed.
Two sliding controllers are implemented in hardware using a digital signal
processor. Experimental tracking results are presented.
The form and content of this abstract are approved. I recommend its publication.
Signed
Jan T. Bialasiewicz


To my parents,
William D. and Marian J. Connors,
and to my wife,
Rebecca A. Vucetich.


CONTENTS
Figures...............................................viii
Tables................................................xii
CHAPTER
1. INTRODUCTION............................................ 1
1.1 Overview............................................ 1
1.2 Thesis Outline...................................... 3
1.3 Notation............................................ 5
2. VARIABLE STRUCTURE SYSTEMS WITH SLIDING MODES
2.1 An Introduction to Sliding Modes...................... 7
2.2 Mathematical Existence Conditions for a Sliding Regime. 13
2.3 Equations of Motion in the Sliding Mode............... 15
2.4 Order Reduction in the Sliding Mode................... 19
2.5 Disturbance Rejection in the Sliding Mode............. 20
3. SLIDING CONTROL: METHODOLOGY OF
JEAN-JACQUES SLOTINE.................................... 22
3.1 Sliding Control of Nonlinear Systems................... 22
3.1.1 Sliding Condition.............................. 25
3.1.2 Derivation of Control Law u(t)................. 27
3.1.3 Example 1: Second-Order Nonlinear System........33
3.1.4 Example 2: Alternate Solution for Second-Order
Nonlinear System (Integral Control)............40
3.1.5 Relating Bounds on Tracking Error to
Distance to Surface S(t).......................41


3.2 Quasi-Sliding Control: Introduction of a Boundary
Layer to Eliminate Chattering..............................51
3.2.1 Example 3: Second-Order Nonlinear System
with Time-Invariant Boundary Layer.................53
3.2.2 Time-Varying Boundary Layer O(t)....................55
3.2.3 Example 4: Second-Order Nonlinear System
with Time-Varying Boundary Layer.................. 64
3.3 Adaptive Sliding Control....................................67
4. CASE STUDY: ADAPTIVE SLIDING CONTROL OF A
A SINGLE-AXIS STEERING MIRROR......................................75
4.1 Plant Truth Model.........................................78
4.2 Estimated Plant Dynamics.................................. 87
4.3 Digital Implementation of Sliding Controller.............. 90
4.3.1 Continuous-to-Discrete Transformation.............. 90
4.3.2 Command Filter (Reference Model)..................91
4.3.3 Differentiating Filter............................ 95
4.3.4 Integration Algorithm............................. 98
4.4 Computer Simulation....................................... 99
4.4.1 Computer Simulation: Sliding Control of a
Single-Axis Steering Mirror (No Integrator).......100
4.4.2 Computer Simulation: Sliding Control of a
Single-Axis Steering Mirror (Integral Control)....103
4.4.3 Computer Simulation: Adaptive Sliding Control
of a Single-Axis Steering Mirror................. 105
vi


5. HARDWARE IMPLEMENTATION
110
5.1 Hardware Description...................................... 110
5.1.1 Single-Axis Steering Mirror....................... 110
5.1.2 Hardware/Software Interface....................... 112
5.2 Estimated Plant Dynamics................................. 115
5.3 Experimental Results..................................... 119
5.3.1 Experimental Results: Sliding Control of a
Single-Axis Steering Mirror (No Integrator).... 119
5.3.2 Experimental Results: Sliding Control of a
Single-Axis Steering Mirror (Integral Control). 123
6. CONCLUSIONS....................................................... 126
APPENDIX
A. MATRIXx Block Diagrams for Computer Simulation of
Sliding Control of a Single-Axis Steering Mirror
(No Integrator) ............................................ 128
B. MATRIXx Block Diagrams for Computer Simulation of
Sliding Control of a Single-Axis Steering Mirror
(Integral Control)...........................................134
C. MATRIXx Block Diagrams for Computer Simulation of
Adaptive Sliding Control of a Single-Axis Steering Mirror.. 138
D. DSP32C Assembly Code for Experimental Test of
Sliding Controller (No Integrator)...........................141
E. DSP32C Assembly Code for Experimental Test of
Sliding Controller (Integral Control)........................149
CITED REFERENCES AND LITERATURE SURVEY ...............................157
INDEX.................................................................163
vii


FIGURES
Figure
2.1 Fixed structure system example: linear regulator..................... 8
2.2 Variable structure system example.................................... 8
2.3 Phase plane portraits: (a) trajectories for u(t) = -K structure,
(b) trajectories for u(t) = +K structure, and (c) trajectories
for VSS ................................................................ 10
2.4 Phase plane portrait of double integrator VSS........................ 12
2.5 Sliding condition: trajectory motion near hypersurface s(x; t) = 0 . . 15
2.6 Filippovs construction of sliding mode dynamics..................... 16
3.1 Second-order system trajectories and sliding surface
graphed in phase plane................................................ 24
3.2 Second-order system trajectories and sliding surface
graphed in error phase plane...........................................24
3.3 Interpretation of e(t) as the output of n-1 first-order
lowpass filters....................................................... 25
3.4 Command filter used to generate reference vector r(t)................... 36
3.5 Example 1 error phase plane portrait.................................... 37
3.6 Exponential convergence of tracking error e(t)
during sliding regime................................................. 37
3.7 Example 1 time histories of position error e(t), control
input u(t), and algebraic distance to the sliding surface s(t).........38
3.8 Example 1 time histories of F and | f - f |............................. 39
3.9 Example 1 time histories of sliding condition
s s (upper) and -Tj | s | (lower)...................................... 39
3.10 Interpretation of w(t) as the output of m first-order
lowpass filters....................................................... 42
3.11 Interpretation of w^ as the output of m-i first-order lowpass
filters in series with i filtered differentiators.............. 45
3.12 Frequency response of.................................................. 47
P + A.


3.13 Frequency response of ............................................. 47
p + A,
3.14 Filtering of s(e; t) for integral control of second-order system....48
3.15 Frequency response of 2_ .......................................... 49
(p + M
3.16 Scalar s(t) for (a) example 1: control without an integrator
and (b) example 2: integral control............................... 49
3.17 Position error e(t) for (a) example 1: control without an
integrator and (b) example 2: integral control.................... 50
3.18 Sliding surface for second-order system.............................. 51
3.19 Sliding surface with boundary layer.................................. 51
3.20 Signum function (discontinuous)..................................... 52
3.21 Saturation Function (continuous).......................................52
3.22 Interpolation of control u(t) inside boundary layer................... 52
3.23 Example 3 (time-invariant boundary layer) time
histories for control input u(t), position error e(t), and
scalar s(t)......................................................... 54
3.24 Structure of closed loop error dynamics............................... 59
3.25 Block diagram of boundary layer dynamics.............................. 60
3.26 Boundary layer dynamics with control gain uncertainty................. 62
3.27 Example 4 (time-varying boundary layer) time histories
for control reference position r(t), reference velocity r (t),
and scalar s(t)..................................................... 65
3.28 Example 4 (time-varying boundary layer) time histories
for control input u(t) and position error e(t).................... 66
4.1 Steering mirror used in an optical alignment system................... 76
4.2 Single-axis steering mirror........................................... 77
4.3 Steering mirror capacitor plate sensor (top view)......................77
IX


4.4 Symbolic representation of steering mirror assembly..................... 78
4.5 Free body diagram of steering mirror assembly frame..................... 79
4.6 Free body diagram of steering mirror assembly composite panel .... 79
4.7 Free body diagram of steering mirror assembly mirror.................... 79
4.8 Steering mirror assembly frequency response.
Input: actuator torque. Output: panel-to-frame angle (x2 Xj) . . 82
4.9 Steering mirror assembly frequency response.
Input: actuator torque Output: inertial mirror angle (x3)............ 82
4.10 Time histories for reference vector r(t)............................... 94
4.11 Frequency response of differentiating filter........................... 97
4.12 Trapezoidal numerical integration...................................... 98
4.13 Computer simulation: sliding controller (no integrator)
Time histories of mirror position x(t) and position error e(t).
Input: 1 mrad 10 Hz square wave..................................... 101
4.14 Computer simulation: sliding controller (no integrator).
Time histories of scalar s(t) and rate error e (t).
Input: 1 mrad 10 Hz square wave.................................... 102
4.15 Sliding surface for integral control................................... 103
4.16 Computer simulation: sliding controller (integral control).
Time histories of mirror position x(t) and position error e(t).
Input: 1 mrad 10 Hz square wave..................................... 104
4.17 Computer simulation: adaptive sliding control test #1.
Time histories of mirror position x(t), scalar s(t), and
distance to boundary layer sA(t).....................................106
4.18 Computer simulation: adaptive sliding control test #1.
Time histories of parameter estimates................................ 107
4.19 Computer simulation: adaptive sliding control test #2.
Time histories of mirror position x(t) and distance to
boundary layer sA(t)................................................. 108
4.20 Computer simulation: adaptive sliding control test #2.
Time histories of parameter estimates................................ 109
x


5.1 Single-axis steering mirror used in hardware implementation.............Ill
5.2 Steering mirror similar to one used in hardware
implementation with cover removed to show composite
panel and moving coil actuators..................................... 112
5.3 Experiment hardware setup.............................................. 113
5.4 Steering mirror open loop frequency response........................... 116
5.5 Experimental frequency response: sliding
controller (no integrator).......................................... 120
5.6 Experimental time response: sliding controller
(no integrator). Input: 10 Hz 1 mrad square wave.................121
5.7 Experimental time response: sliding controller
(no integrator). Input: 10 Hz 1 mrad sine wave.....................122
5.8 Experimental frequency response: sliding
controller (integral control)........................................123
5.9 Experimental time response: sliding controller
(integral control). Input: 10 Hz 1 mrad square wave..............124
5.10 Experimental time response: sliding controller
(integral control). Input: 10 Hz 1 mrad sine wave.................. 125
A1 MATRIXx block diagram of the top level system for
sliding control of a steering mirror (no integrator)...............129
A2 MATRIXx block diagram of sliding controller (no integrator)....... 130
A3 MATRIXx block diagram of control discontinuity function k(x).....131
A4 MATRIXx block diagram of truth sensor used with sliding
controller (no integrator)...........................................131
A5 MATRIXx block diagram of steering mirror dynamics..................132
A6 MATRIXx block diagram for digital-to-analog converter..............133
A7 MATRIXx block diagram for reconstruction filter
(5 kHz, 4th order Butterworth)...................................... 133
A8 MATRIXx block diagram for analog-to-digital converter............. 133
A9 MATRIXx block diagram for anti-aliasing filter
(5 kHz, 4th order Butterworth)...................................... 133
xi


B1 MATRIXx block diagram of the top level system for sliding
control of a steering mirror (integral control)..................... 135
B2 MATRIXx block diagram of sliding controller (integral control)...........136
B3 MATRIXx block diagram of truth sensor used with integral control ... 137
Cl MATRIXx block diagram of adaptive sliding control of
single-axis steering mirror.........................................138
C2 MATRIXx block diagram of adaptive sliding controller..................... 139
C3 MATRIXx block diagram of simplified steering mirror dynamics
used for adaptive sliding system....................................140
xii


TABLES
Table
4.1 Mirror assembly parameter values.................................... 80
4.2 Eigenvalues of mirror assembly...................................... 81
4.3 Actuator parameter values........................................... 84
4.4 Position sensor specifications...................................... 85
4.5 Software/hardware interface specifications.......................... 86
4.6 True and estimated parameter values ................................ 89


ACKNOWLEDGEMENTS
I would like to thank the Martin Marietta Corporation for sponsoring my
graduate work at University of Colorado through their program for study under
company auspices.
Dr. Jan Bialasiewicz, my thesis advisor, provided helpful suggestions
throughout my thesis research and gave me the freedom to pursue my interests.
The United States Army Strategic Defence Command (USASDC) provided
funding for portions of this research as part of an alternate controller study conducted
as part of the Rapid Retargeting Precision Pointing (R2P2) program at Martin Marietta.
Leon Riley at USASDC suggested attending the Nonlinear Control System Design
short course at University of California at Berkeley (July 31 August 4, 1989). It was
at this week-long course, co-taught by Jean-Jacques Slotine and Karl Hedrick, where I
was introduced to sliding control.
Excellent hardware and computer facilities were provided by the R2P2 program.
I would like to acknowledge the following people associated with R2P2: Dr. Dale
Neal is program manager. John Schwartz is technical director. Mark Hammond and
Alex Hubert designed the steering mirror used in the hardware experiments.
(Additional thanks to Mark Hammond for providing the steering mirror assembly
drawings.) Greg Rowe, Kelly Appleby, and Charles Banks worked on the design
and build of the software/hardware interface electronics. Chris Pettit provided


optics support Pam Alstott did the troubleshooting of the motor amplifiers. Jim
Harrer did the capacitor plate optimization study.
For their assistance during the literature research phase of this thesis, I would
like to thank Carol Robbins and Mark Merwin at the Martin Marietta Research Library.
xv


CHAPTER 1
INTRODUCTION
1.1 Overview
Sliding control offers a straightforward approach to robust control of nonlinear
as well as linear systems in the presence of external disturbances and parameter
variations. The name refers to the behavior of the state trajectory which "slides" along
a discontinuity defined by a hypeisurface (also known as a sliding surface) in state
space.
Historically sliding control has its origins in the Soviet Union, where much of the
early research was conducted. In what can be termed "classical" sliding control,
"perfect" tracking is achieved at the cost of introducing a high-frequency component in
the control variable. The two major drawbacks in implementing a classical sliding
controller are:
(1) There is a reaching phase in which a trajectory originating off the surface
tends toward the surface. During this phase the trajectory is sensitive to
external disturbances. (The excellent disturbance rejection property provided
by the sliding mode is not realized until the surface is reached.) Furthermore,
convergence to the sliding surface may only be asymptotic.


(2) Ideally, switching in the neighborhood of the surface occurs infinitely fast.
However, in practice switching can only be performed at finite rates.
Nonidealities such as delays and hysteresis associated with hardware result in
"chattering" along the surface. Such high frequency control activity may
excite unmodeled high frequency dynamics.
In 1983 Jean-Jacques Slotine published papers (references [49] and [52]) in
which he presented an approach to sliding control that could overcome both
drawbacks. His methodology is centered around the concept of a time-varying sliding
surface and approximating discontinuous control by a continuous one. Tracking
accuracy is traded against robustness to high-frequency unmodeled dynamics.
Slotine has extended his early work to include sliding observers (references [14]
and [37]) and has introduced an adaptive mechanism in the form of on-line parameter
estimation (reference [50]). His approach to sliding control has been applied to a wide
variety of hardware including robotic manipulators (references [4] and [52]),
unmanned underwater vehicles (references [18] and [62]), and automobile automatic
transmissions.
This thesis presents an application of the sliding control methodology of
Jean-Jacques Slotine as a single-axis steering mirror adaptive controller.
2


1.2 Thesis Outline
Chapter 2 begins with an introduction to the class of control systems known as
variable structure systems (VSS). To illustrate the VSS design philosophy, control of
a double integrator plant using a fixed structure system (a linear regulator) is contrasted
with control using a variable structure system created by adding simple switching logic
to the linear regulator. Next the concept of a sliding mode is discussed in a qualitative
sense using the same double integrator example.
Mathematical existence conditions for a sliding regime are then presented.
Equations of motion in the sliding mode are derived using the concept of equivalent
control. Two fundamental sliding mode properties are shown: (1) order reduction of
the system equations of motion, and (2) disturbance rejection.
The sliding control methodology of Jean-Jacques Slotine is presented in
chapter 3. First sliding control laws are developed for a general class of n* order
nonlinear systems using a discontinuous switching control. Numerical examples are
provided for a second-order system with and without integral control. System
behavior in the reaching phase and chattering are illustrated.
Next, the control discontinuity is smoothed using a boundary layer. The
relationship between boundary layer thickness and bounds on tracking error is shown.
Boundary layer thickness is then made time-varying. Balance conditions relating
tracking precision, control bandwidth, and parameter uncertainty are derived. Time
varying boundary layer simulation results are interpretted.
3


Adaptive sliding control is discussed. Equations for on-line parameter estimation
are derived based on Lyapunov stability theory. Adaptive sliding control performance
is evaluated.
In chapter 4 a computer simulation case study is considered. A single-axis
steering mirror, including high frequency resonant modes, is described and its
equations of motion are defined. This mirror "truth model" also includes actuator and
sensor dynamics, actuator saturation, analog-to-digital and digital-to-analog
quantization, and digital processing delays.
The following implementation issues are addressed: how to generate a reference
vector in real time, use of a differentiating filter to obtain rate information when no rate
sensor is available, and factors limiting the highest obtainable controller bandwidth
such as actuator torque authority, unmodeled dynamics, parametric uncertainties,
sampling rate, and digital processing delays.
Hardware implementation of sliding control of a single-axis steering mirror is the
subject of chapter 5. Laboratory experiments were performed using a digital signal
processor to implement the controller at a 12.5 kHz sampling rate. This chapter
describes the hardware used in the experiment. Experimental results are presented:
tracking performance, disturbance rejection, and frequency response.
4


1.3 Notation
A matrix (plain text upper case letters)
X vector (bold-faced lower case letters)
XT vector transpose
x() the nth derivative of variable x (superscript in parentheses)
xn variable x raised to the nth power (no parentheses for exponent)
r reference signal (commanded position)
r reference vector (commanded state)
e = (r x ) tracking error (scalar)
e = (r x) error vector
exp (u) eu where: e = lim (1 + k )1/k k -* 0
p = d/dt differential operator
s(e; t) algebraic distance to sliding surface (scalar) (Not the Laplace operator.)
S(t) sliding surface (upper case) S(t) = s(e; t) = 0
sgn (x) signum function sgn(x) = (+1 x > 0 1-1 x < 0 + 1 x£+l
sat (x) saturation function sat(x) = X -1 < X < +1 -1 X<-1
= defined as
Rn n-dimension Euclidean space
R+ non-negative real numbers
det A determinant of n x n matrix A
5


I
identity matrix ajj =
1 i = j
0 i ^ j
a b vector dot product
binomial coefficient :
i! (n-i)!
[ A | B ] matrix containing the columns of matrices A and B
0
convolution operator
y(t) z(t) =
l
y(x) z(t x) dx
NOTE: To avoid confusion when referencing between articles written by Slotine
and this thesis, be aware that Slotine defines tracking error as actual
position minus desired position, whereas in this paper the tracking error is
defind as desired position minus actual position. As a result, there will be
sign differences when comparing many of the equations.
6


CHAPTER 2
VARIABLE STRUCTURE SYSTEMS WITH SLIDING MODES
2.1 An Introduction to Sliding Modes
Sliding control systems form a subset of a broader class of control systems
known as variable structure systems (VSS). In VSS, the controller is allowed to
change its structure according to a prescribed switching logic. The design problem is
to define the structure and associated switching logic. The basic VSS philosophy can
be seen by contrasting a variable structure system with a fixed structure system such as
a linear regulator. Consider a double integrator plant
x = u(t) (2.1)
Create a linear regulator by placing a proportional-plus-derivative (PD) controller
in series with the plant as shown in figure 2.1. Close the loop to create error signal e,
the difference between the reference position r and the actual position x (e = r-x). Note
that for the regulator problem r = 0, therefore e = -x. The controller creates input u(t)
as follows:
u(t) = Dx Px = De + P e (2.2)
where D and P are positive constants. The characteristic equation for this closed loop
system is p2 + Dp + P = 0. Parameters P and D can be selected to achieve the desired
closed loop poles.


Figure 2.1. Fixed structure system example: linear regulator.
The point of interest for this discussion is that the controller has a single fixed
structure. Regardless of the state of the system, input u(t) is calculated according to
equation (2.2).
A simple variable structure system can be created by introducing switching logic
in the form of a signum function (see figure 2.2) such that
u(t) = K sgn (De + P e)
(2.3)
where the signum function sgn (x) = | +* ^ < 0 ^ K is a positive constant.
In the operating region of the state space, K £ | emax | + "H. where tj is also a positive
constant (This condition will be explained later.)
Controller
Plant-
Figure 2.2. Variable structure system example.
8


There are two distinct structures: u(t) = +K and u(t) = -K. Error phase plane
trajectories can be calculated for each of these structures. First write the system
equation in terms of error signal e = -x as follows:
e = -u(t) (2.4)
By the chain rule
e
de de de
dt de de
= -u(t)
(2.5)
Separating variables and integrating
j ede = j u(t)de
e2 = -2 u(t) e(t) + c
where c is a constant of integration.
Let e(to) = eo and e(to) = 0 and solve for the constant of integration.
For u(t) = +K e2 = -2K (e eo) See Figure 2.3a (2.6a)
For u(t) = -K e2 = 2K (e eo) See Figure 2.3b (2.6b)
Phase plane portraits of each structure consist of families of parabolas shown in
figure 2.3 (a and b). Neither structure is asymptotically stable. However, asymptotic
stability is achieved using the switching function defined in equation (2.3) which
selects the control structure based on the following switching logic:
f+K if (De + Pe) > 0
u(t) =
\ -K if (De + Pe) < 0
(2.7)
9


When graphed in the error phase plane this switching logic defines a switching
line given by
s(e;t) = e + e = 0
D
(2.8)
This switching line appears in figure 2.3 (c), which shows a phase plane portrait
illustrating the asymptotically stable behavior of the variable structure system. An
initial error state not contained on the switching line moves along a parabolic trajectory
until it reaches the switching line. It then moves along that line to the origin.
(b) u(t) = +K
Figure 2.3. Phase plane portraits: (a) trajectories for u(t) = -K structure,
(b) trajectories for u(t) = +K structure, and (c) trajectories for VSS.
One VSS design approach is to combine structures in a way that exploits desirable
properties of each of the structures. For instance, a structure that provides a fast
transient response could be combined with a structure that provides low overshoot and
another structure that offers zero steady state error for a step position command.
10


An interesting consequence of this approach is that a variable structure system can
possess new properties not present in any of the structures used. For example, a
stable system can be created using two unstable structures as shown above.
An advantage of using a variable structure controller (VSC) is that it allows the
designer to compose a desired trajectory from sections of trajectories of different
structures. And, fundamental to this paper, it is possible to obtain a trajectory not
inherent in any of the structures the sliding mode. Although not all variable
structure systems contain sliding modes, the majority of research in VSS has focused
on deliberately introducing sliding modes. As a consequence, in much of the literature
the terms sliding control system and variable structure system have become
synonymous. Throughout this paper, however, the terms will not be used
interchangeably; sliding control systems will refer to a subset of variable structure
systems those systems which contain sliding modes.
To see how sliding motion occurs in a qualitative sense, consider a specific pair
of initial conditions using the double integrator VSS example. For the sake of
illustration, let the initial conditions be e(0) = eo, where eo > 0, and e(0) = 0.
Also define X = P/D.
As shown in figure 2.4, the switching line divides the error phase plane into two
regions: an upper region (unshaded) in which u(t) = +K, and a lower region (shaded)
in which u(t) = -K. For this example, the initial conditions result in u(0) = +K and the
state moves along a parabolic path toward the switching line. This is the reaching
phase, in which a trajectory originating away from the switching surface (in this case
11


the surface is a line), tends toward the surface. During the reaching phase the
trajectories are sensitive to parameter variations and external disturbances.
All trajectories of each of the two structures are directed towards the switching
surface. Therefore, regardless of initial conditions, all states reach the surface and
remain there. (There are no trajectories pointing away from the surface.) Once on
the surface, the system's behavior enters the sliding regime or sliding mode. In this
mode, the equation of the surface defines the system dynamics. Therefore, the sliding
surface is both a place and a dynamics.
Figure 2.4. Phase plane portrait of double integrator VSS.
The eiror state slides on the surface from the point it intitially encounters the
surface to the origin. The triangular waveform shown on the surface in figure 2.4
represents a real-world phenomenon known as chattering. In the ideal case control
switching occurs infinitely fast. However, in practice switching can only be
performed at finite rates. Delays and hysteresis associated with switching hardware
12


result in trajectories that move away from the surface before being driven back through
the surface to a finite distance away from the surface on the opposite side. The
"average" motion is one of sliding, but the phase plane portrait shows a jagged
trajectory. Use of the term chattering to describe this phenomenon can be traced to the
noise generated by switching elements such as relays operating at high rates.
2.2 Mathematical Existence Conditions for a Sliding Regime
This section is based on the treatment of existence conditions presented in Control
Systems of Variable Structure by U. Itkis (reference [27]). To begin this discussion
define three terms:
representative Point in Rn defined by state vector x(t) of a dynamical system.
point (RP) Motion of the RP defines a trajectory of the system.
hypersurface A hypersurface is a generalization of the concept of a surface in
three-dimensional Euclidean space to a surface in n-dimensional
Euclidean space. An algebraic hypersurface is the graph in
n-dimensional Euclidean space of an equation of the type
f(xj, x2,..., xn) = 0 where f is a polynomial in xj, x2,..., xn.
hyperplane A hyperplane is a generalization of the concept of a plane in
three-dimensional Euclidean space to a plane in n-dimensional
Euclidean space. An n-1 dimensional hyperplane consists of the
set of n-dimensional vectors x satisfying c x = a where c and
a are a constant vector and scalar, respectively. A hyperplane is
a subspace only if a = 0. (A subspace must contain the zero
vector.)
Consider the general system of differential equations

where x = [xlf.... xn]T is a state vector.
i = 1, n
(2.9)
13


Assume that the right-hand sides of these equations are discontinuous across a
specific hypersurface s(x; t) = 0 in such a way that the left- and right-hand limits of
fj(x; t) with i = 1.n exist as the representative point (RP) approaches s(x; t) = 0
from either side.
lim fi (x; t) = ff(x; t) (2.10)
s -0
lim fj (x; t) = fi+(x; t)
8 > +0
(2.11)
where, in general, ff (x; t) fj+(x; t).
The time derivative of the function s(x; t) along the trajectories of the system is
ds y os axj y os f
dt 8xi dt ~ .j 9xi
where f = ... fn]T is a phase velocity vector.
ds dxi
ds
(2.12)
The existence condition for a sliding regime on the hypersurface s(x; t) is
lim
s - +o
ds n
<0<
dt
lim
8 -0
ds
dt
(2.13)
A more compact, equivalent expression is
lim s
s - 0
ds
dt
<0
(2.14)
Inequality (2.14) can also be written as
lim
s > 0
(2.15)
14


Trajectory motion necessary for sliding to occur is illustrated in figure 2.5.
Figure 2.5. Sliding condition: trajectory motion near hypersurface s(x; t) = 0.
2.3 Equations of Motion in the Sliding Mode
Dynamics of systems with switched control laws represent differential equations
with discontinuous right-hand sides. Many properties from ordinary differential
equations, such as the existence-uniqueness theorem, do not exist for this class of
differential equations.
15


In the early 1960s, Russian mathematician A.F. Filippov set forth a rigorous
mathematical definition of motion in a sliding regime (see refererence [24]). He
proposed and formally justified the following geometric construction (see figure 2.6)
of sliding motion:
f = pr + (1 pf+) (2.16)
where
f is the phase velocity vector for motion in the sliding regime
(vector lies in the tangent plane).
f is the phase velocity vector for motion approaching the surface
from "below."
lim fi (x; t) = ff(x; t) (2.10)
s --o
f+ is the phase velocity vector for motion approaching the surface
from "above."
lim fj (x; t) = fi+(x; t) (2.11)
8 +0
NOTE: In general, ff (x; t) fj+(x; t).
n is a normal to hypersurface
p is the part of each oscillation period spent "below" the
hypersurface (i.e. s(t) < 0).
Tangent Plane
Hypersurface
s(x) 0
Figure 2.6. Filippov's construction of sliding mode dynamics.
16


Filippov's method considers the high frequency oscillations about an infinitesimal
region of the hypersurface. Additional insight into the general behavior of this motion
can be obtained by considering the "average" component of the velocity vector along
the surface. This formal technique is called the equivalent control method. The
development below is based on Drazenovic (reference [19]) and El-Ghezawi, Zinober,
and Billings (reference [21]). This approach assumes that during sliding the
representative point moves on s(x; t) = 0 never leaving the surface. Mathematically,
this is represented by the vanishing of the function s(x; t) and its derivative s(x; t).
Consider the multi-input system described by the following set of n first-order
differential equations:
where the state x is an n-vector, the control u is an m-vector, the disturbance f is a
p-vector, and A, B and D are matrices of proper dimensionality.
For a hypersurface use a hyperplane passing through the origin defined by
x=Ax+Bu+Df
(2.17)
s(x; t) = C x = 0
where C is an m x n constant matrix with linearly independent rows.
(2.18)
Also impose that the time derivative of s (x; t) vanishes.
(2.19)
This condition states that the RP remains on the surface.
17


Each component of control vector u(t) is discontinuous across the hypersurface.
I Uj+(x; t) for s(x; t) > 0
Ui (x; t) = (
\ uf(x; t) for s(x; t) < 0
i= 1,2......m
(2.20)
Because u(x; t) is not defined on the surface s(x; t) = 0, introduce the concept of an
equivalent control , which is the continuous control law that would maintain
s(x; t) = 0 if the dynamics were exactly known.
During sliding motion, equation (2.17) becomes:
x = Ax + Bueq + Df (2.21)
From equation (2.19)
Cx = CAx + CBueq + CDf=0 (2.22)
Provided that (CB)'1 exists (i.e., det (CB) 0), equivalent control can be written as
ueq = -(CB)-1 C (A x + D f) (2.23)
Insert equation (2.23) into equation (2.21) and write the equations for motion in the
sliding mode.
x = (i B (C B)-^) (A x + D f) (2.24)
C x = 0 (2.25)
Equation (2.24) can be expanded to show expressions for motion caused by system
states and motion caused by external disturbances.
x = (I B (C B)'1 C) A x + a-BtCB^CJDf (2.26)
I__________________I I______________________I
motion caused by motion caused by
system states external disturbances
18


2.4 Order Reduction in the Sliding Mode
Order reduction is a fundamental property of VSS in the sliding mode. Again
consider the multi-input system described by equation (2.17). The system has n states
and m inputs. From equations (2.25) and (2.26), sliding motion due to system states
can be expressed as follows:
Because matrix C contains m linearly independent rows, equation (2.28) allows m
states to be written in terms of the remaining n-m state variables. Therefore sliding
motion is constrained to belong to Rn'm Euclidean space. In other words, the state
vector is contained to exist in the null space of matrix C, which is an (n-m)111
dimensional subspace.
System order reduction and disturbance rejection properties can also be proved
using projector theory, which is a powerful approach to studying VSS. It provides a
geometric point of view for understanding VSS and expands the theory. For example, it
provides an expression for equivalent control if CB is singular (see equation (2.23)).
A detailed discussion including proofs of projector theory applications to VSS analysis
and design is given by El-Ghezawi et al. in reference [21].
x = (I B (C B)*1 C ) A x
C x = 0
(2.27)
(2.28)
19


2.5 Disturbance Rejection in the Sliding Mode
As mentioned in section 2.1, when a trajectory that originates away from the
surface tends toward the surface it is sensitive to parameter variations and external
disturbances. Disturbances encountered during this reaching phase have an effect in
determining the initial conditions of the sliding mode.
However, once in the sliding mode, the system obtains excellent disturbance
rejection properties. In fact, under well-defined conditions, the system in the sliding
mode is invariant to external disturbances. This section shows the conditions for which
disturbances vanish from the sliding mode equations. It is based on Drazenovic
(reference [19]).
Again consider the multi-input system described by matrix equation (2.17). From
equation (2.26) the equation of sliding mode motion caused by external disturbances is
as follows:
x = (i B (C B)_1c) D f
(2.29)
For invariance to external disturbances, equation (2.29) must equal zero:
(i B (C B)_1C) D f = 0
(2.30)
Expanding and rearranging equation (2.30) yields
D f = B (C B)'!C Df
(2.31)
20


The necessary condition to satisfy equation (2.31) is that vector D f can be written
in the form
D f = B m (2.32)
where m is an m x 1 vector.
Equation (2.32) simply asserts that vector D f must be in the range space of
matrix B. This is also a sufficient condition which can be proved by inserting the
expression for D f from equation (2.32) into equation (2.31) as follows:
B m = B (C B)-!C D f
m = (C B)_1C D f (2.33)
Equation (2.32) can be satisfied for all possible combinations of f if all columns of D are
linear combinations of the columns of matrix B. This requirement can be written as
rank [ B | D ] = rank B (2.34)
Note that invariance to external disturbances does not depend on matrix A, only on
B and D, the matrices that define how the controls and disturbances enter into the system
equations.
21


CHAPTER 3
SLIDING CONTROL: METHODOLOGY
OF JEAN-JACQUES SLOTINE
This chapter summarizes the methodology of Jean-Jacques Slotine presented in
references [4], [48] [53], and [62]. Here the single-input single-output (SISO) case
is addressed although this methodology can be extended to multi-input multi-output
systems (MIMO) as shown in references [49] and [52].
3.1 Sliding Control of Nonlinear Systems
Consider the n* order dynamic system
xW(t) = f(x;t) + b(x;t)u(t) (3.1)
where x(t) is the output of interest, x = [ x x... x^'1^ ]T is the state vector and u(t)
is the control input The function f(x; t) describes the plant dynamics which are, in
general, nonlinear. These dynamics are not known exactly, but the extent of
imprecision | Af | on f(x; t) is bounded by a continuous function of x and L Control
gain b(x; t) also is not known exactly, but is of constant sign (e.g. positive) and is
bounded by a continuous function of x and L Note that functions f(x; t) and b(x; t)
are continuous in x.


The design goal is to control the system such that the state x(t) tracks a
reference state r(t), i.e., a commanded trajectory, in the presence of imprecision on
f(x; t) and b(x; t). To obtain tracking for all t > 0 using a bounded control u(t), the
initial error state must be zero
e|t = o = 0 (3.2)
where error vector e = (r x) = [ e e ... e*0'1) ]T.
If the initial error is not zero, tracking can only be achieved after a transient
This is because given finite control u(t), state variables cannot exhibit jump
discontinuities. For example, in a second-order system, position and velocity cannot
instantaneously change from their initial values to arbitrary commanded values.
Define a time-varying sliding surface S(t) in state space Rn by the scalar
equation s(e; t) = 0 with
s(e;t)=|^- + x) ^(t) X>0 (3.3)
Note that in chapter 2 (sections 2.2,2.3, and 2.4), the sliding surface S(t) was
defined as a function of state x(t)
S(t) = s(x; t) = 0
For trajectory following, expressing the sliding surface in terms of x(t) is
cumbersome and introduces unnecessary complexity. For example, figure 3.1 shows
the sliding surface, trajectories for an arbitrary reference state r(t) and system
state x(t) trajectories for a second-order system graphed in the phase plane. In the
interest of notational and analytical simplicity, in equation (3.3) the sliding surface
23


equation has been transformed from a function of x(t) to a function of e(t), with e = 0
as the equilibrium point of interest for the nonlinear system. As a result, when
graphed in the error phase plane the sliding surface appears time invariant Regardless
of r(t) and x(t) the surface passes through the origin. To illustrate the benefit, the
system shown in figure 3.1 is regraphed in the error phase plane in figure 3.2.
x
Figure 3.1. Second-order system trajectories and sliding surface graphed in
phase plane.
Figure 3.2. Second-order system trajectories and sliding surface graphed in
error phase plane.
24


With a zero initial tracking error (equation (3.2)), the task of tracking the
commanded trajectory is equivalent to remaining on surface S(t) for t > 0. This is
equivalent to obtaining position error e(t) by filtering the the scalar s(e; t) using a series
connection of n-1 first-order lowpass filters with break frequency \ radians/second as
illustrated in figure 3.3. Also note that s = 0 represents a differential equation with
unique solution e = 0.
n-1 filter blocks
jl
dt
Figure 3.3. Interpretation of e(t) as the output of n-1 first-order lowpass filters.
3.1.1 Sliding Condition
Choose a control law u(t) such that outside surface S(t) the following inequality
holds true:
s2 (e; t) = s (e; t) s(e; t) £ T| |s| (3.4)
where T| is a positive constant that represents the minimum velocity at which the
representative point moves towards the sliding surface from off the surface.
Inequality (3.4) is the sliding condition. (Also see inequalities (2.15), (2.16),
and (2.17).) It states that the squared distance to the surface decreases along all
system trajectories. In other words, all trajectories point toward the surface. If
inequality (3.4) is satisfied, the surface becomes an invariant set. (A set G is an
25


invariant set for a dynamic system if every system trajectory which starts from a point
in G remains in G for all future time.)
Positive constant tj has units of rate and places an upper bound on the time
required to reach the surface from a position off the surface. To formally define the
meaning of T) assume that initially the error state is not on the surface: s(t=0) > 0. Let
Veach be the time required to reach the surface s(t) = 0.
Integrate inequality (3.4) between t = 0 and t = t^j,. First note that
1 d 2/ ds
sz(e; t) = s
2 dt dt
Inequality (3.4) becomes
sgn(s) £ -T|
Here s > 0, therefore sgn(s) = +1.
Change the limits of integration
- s(t=0) ^ r treach
T\ U s s(t=0)
26


(3.5)
Now it is clear that the time required to reach the surface S(t) is proportional to
the initial position error and that T) represents the minimum rate at which the state
moves to the surface.
3.1.2 Derivation of Control Law u(t)
In the derivation of an expression for the sliding control law u(t), the
following notational shorthand will be used:
To obtain an expression for a control law u(t) that satisfies inequality (3.4),
first define a differential operator p = d/dt and rewrite equation (3.3) as
b 2 b(x; t) b h b(x; t) f 2 f(x; t) f 2 f(x; t)
s (e; t) =
(3.6)
where m = (n -1)
| | = binomial coefficient =
i! (m-i)!
m!
Take the first time derivative of s(e; t)
i 1
(3.7)
27


Noting that e() = - x(n), equation (3.7) can be rewritten as
s (e; t) = i x() + 2 () X c<" * (3.8)
i 1 *
Insert the expression for x() from equation (3.1) and write
m
s (e; t) = r f b u(t) + £ (m) X* e (3.9)
i l '1 '
Note that is was only necessary to differentiate the scalar s(e; t) once
for the input u(t) to appear. The n* order tracking problem in x(t) has been replaced
by a first order stabilization problem in s(e; t).
The best available estimate of the plant dynamics is
x = f+bu(t) (3.10)
where the extent of imprecision of the estimate of f(x; t) is bounded by a continuous
function of x and t. That is, | f f | <, F. Also known are bounds on the value of
control gain b: b^ < b < b^. Note that F, bmin, and b^ are in general functions
of x and L That is, F s F(x; t), b^ e b^fx; t), and b^ = bmax(x; t).
Note that the dynamics in the sliding regime is described by the equation s = 0.
This condition will be used to find the approximate control u (t).
First consider the case in which b = b =1. With imprecise knowledge of the
plant dynamics, the best approximation u (t) of a continuous control law that
would achieve s (e; t) = 0 is
m
u (t) = r f (x; t) + X () ^ e('0 (3.!!)
28


To satisfy the sliding condition given by inequality (3.4) despite uncertainties in
the dynamics, add a term discontinuous across the surface s(e; t) = 0
u (t) = u (t) + k(x) sgn (s) (3.12)
where k (x) is the control discontinuity gain and the signum function sgn (s) = +1 for
s > 0 and -1 for s < 0.
Now consider the effects of the imprecision on the control gain b (x; t), which
represents a bounded multiplicative uncertainty. We have
0 Calculate control gain estimate b (x; t) as the geometric mean of the bounds
on the control gain.
b = (bmin bma*)1/2 (3.14)
This allows the introduction of the concept of a gain margin P(x; t) £ 1, defined as
P(x;t) = ( bmax / bjjun )1 (3.15)
Note that b P (x; t) = bmax.
Again adopt the abbreviated notation P = P(x; t). Bounds on the accuracy of
the control gain estimate can be written in terms of P as
*<*
P'1 £ £ < P (3.16)
Control law (3.11) must be modified to include the control gain estimate.
u (t) = b (u (t) + k(x) sgn (s)) (3.17)
29


Control law (3.11) must be modified to include the control gain estimate.
u (t) = b _1 (u (t) + k(x) sgn (s)) (3.17)
Control discontinuity gain k(x) must be chosen large enough to satisfy the
sliding condition
1 d -i
-----/p. *\ = c (v
2dt
s2 (e; t) = s (e; t) s(e; t) £ r\ | s |
(3.4)
To derive an expression for the minimum value of k(x), first insert the
expression for s(e; t) from equation (3.8) into inequality (3.4) and get
m \
rls(e;t) £ -r\\s\ (3.18)
Substitute the expression for u(t) from equation (3.17).
m \
i i- r 1 ' /
Expand u (t) using equation (3.11).
^n> f- b b '1|r + X ()^ e^n |s (e; t) ^-T| | s|
(3.20)
i 1
30


Regroup terms.
H*l'i
m
i*n) + Z ( l^1 e(n' i}j jc k(x) s8n (s)j s(ei 0 ^ -Ti
Multiply both sides by -1 and regroup.
^ k(x) sgn(s) s(e; t) £
Ti|s| + ||f-f Js(e;t) + | 1
m
r + x (7p e(n'i)!
Multiply both sides by
b s(e; t)
and write
A / A
k(x)sgn(s) ^ ^-Tisgn(s) + f-^f + l^-1
r<> + X (jx* e^)
V i= 1
To create a group of terms equal to ^ -1) u(t), the equation (3.21) must be
rewritten to include the term
(H
Write f = f + (f f) and note that

4(f-,)+(S.,)(.!)
s(e; t)
(3.21)
(3.22)
31


Use equation (3.22) to rewrite inequality (3.21) to include u(t).
,(n-i)
U(t)
(3.23)
k(x) £ jj-T|+ £-(?-f)sgn(s)+l£- 1 u(t)sgn(s)
(3.24)
To guarantee that inequality (3.4) is satisfied for s(e; t) > 0 and s(e; t) < 0 requires that
k(x) £ + ^ |f-fl +
From equations (3.10) and (3.16)
| f f | < F(x; t) and^- <, P
b
Therefore the minimum magnitude of k(x) needed to satisfy the sliding condition is
k(x)£p(Ti +F) + (P- l)|u(t)| (3.25)
The greater the uncertainties F and P, the greater the control discontinuity k
across the surface.
32


3.1.3 Example 1: Second-Order Nonlinear System
Consider the second-order system
x = f(x; t) + b u(t) (3.26)
= a(t) x | x | kj x k2 x3 + b u(t) (3.27)
where a(t) = | sin 2m | + 1, kj = 9, k2 = 3, and b = 16.
The best knowledge of the system dynamics is as follows:
x =* f(x; t) + b u(t) (3.28)
= -ax|x|-kix-k2X3 + b u(t) (3.29)
Parameter bounds from which parameter estimates can be made are available to
the control designer. The bounds are as follows:
1 £ a £ 2, 8 £ 12, l£k2£3, and 15£b£25 (3.30)
For parameter estimates, take the mean of the minimum and maximum of a, k1(
and k2. Take the geometric mean of the minimum and maximum of b.
a =1.5, ki = 10, k2 = 2, and b = 19.365 (b 1 = 0.0516 ) (3.31)
Define a sliding surface S(t) according to equation (3.3) with n = 2
s(e; t) = |^- + xje = e + Xe X > 0 (3.32)
The dynamics in the sliding mode are s(e; t) = 0. The first time derivative of s(e; t)
can be calculated as
s(e; t) = -j-( e + Xe ) = e + Xe (3.33)
dt
33


Substitute e = r x and write
s(e; t) = if x + Xe (3.34)
Substitute the expression for x from equation (3.26) and write
s(e; t) = if f(x; t) b u(t) + Xe (3.35)
If b = b = 1 and plant dynamics were known exactly, equation (3.35) could be
set equal to zero by letting u(t) = r f + X e. However, there are parametric
uncertainties the plant dynamics model.
With imprecise knowledge of the plant dynamics, the best approximation u (t)
of a continuous control law that would achieve s(e;t) = 0 is
u(t) = r-f+Xe (3.36)
To satisfy the sliding condition given by inequality (3.4) in the presence of
parameter uncertainties and with a control gain uncertainty (b(x; t) b(x; t)), modify
u(t) by adding a term discontinuous across the surface s(e; t) = 0 and then premultiply
^ -1
by b to produce control u(t).
u(t) = b 1 (u(t) + k(x) sgn(s)) = b 1 ( if f + Xe + k(x) sgn (s)) (3.37)
where the signum function sgn(s) = +1 for s > 0 and -1 for s < 0 and the magnitude of
control discontinuity gain k(x) is large enough to satisfy sliding condition (3.4).
34


A minimum magnitude for k(x) can be calculated from equation (3.25)
k(*)i|3(11+F)+(|3-l)|i(t)| (3.25)
Calculate function F(x; t), which bounds the magnitude of the plant dynamics
estimation error.
F(x; t) = (Umax a) x2 + (ki max ki) I X I + (k2 max k2) I X3 I
= 0.5 x2 + 21 x | + | x31 (3.38)
Calculate gain margin (3 as
P = (bmax / bmm)1/2 = (25 /15 )^ = 1.29 (3.39)
For this example, let tj = 0.1, X = 500 rad/sec, and define time constant
x = 1/X = 2 msec.
The control law is given by
u(t) = b A (u(t) + k(x) sgn(s))
= b1(ir-f+Xe + k(x) sgn(s))
= 0.0516 (ir + 1.5 x | x |+ 10 x + 2 x3 + 500 e + k(x) sgn(s)) (3.40)
with control discontinuity gain given by
k(x) = P (T) + F) + (P -1)lu|
= 1.29(0.1 + 0.5 x2 + 2|x| + |x3[) + (0.29)|u| (3.41)
To illustrate the reaching phase and exponential convergence of tracking error
during sliding, let the initial error be
e(0) = [ e(0) e(0) ]T = [ 0.1 0.0 ]T (3.42)
35


Let the desired position trajectory be a 10 Hz sinusoid of unit amplitude.
To generate the reference vector r(t) = [ r r r ]T, input the desired position
trajectory xd(t) into a second-order state variable filter as shown in figure 3.4. Use
bandwidth X and, for this example, set £ = 0.707 (Butterworth filter).
Figure 3.4. Command filter used to generate reference vector r(t).
An error phase plane plot (position error versus rate error) of the first
200 milliseconds of the system response is shown in figure 3.5. Time is introduced to
the portrait by small circled data points temporally spaced at 2 msec intervals. The
surface is reached at t = t^h = 14 msec. Once on the surface, the system enters the
sliding regime and the tracking error exhibits exponential convergence to the origin.
As illustrated in the time history plot given in figure 3.6, tracking error decays
as e(t) = ereach exp (-500 (t t^j,)) where ep.Hrh is the position error when the
surface was reached.
36


Figure 3.5. Example 1 error phase plane portrait
.014 .016 .018 .02 .022 .024 .026
Time (sec)
Figure 3.6. Exponential convergence of tracking error e(t) during sliding regime.
37


Steady state behavior begins at approximately t = 22 msec. Figure 3.7 shows
time histories for position error e(t), control input u(t), and distance to surface s(t) for
the time interval 22 msec <> t ^ 200 msec.
Figure 3.7. Example 1 time histories of position error e(t), control input u(t), and
algebraic distance to the sliding surface s(t).
38


Figure 3.8 illustrates the validity of using F(x; t) defined in equation (3.38) to
bound the error on the estimate of the plant dynamics. It shows F(x; t) and
| f(x; t) f(x; t) | plotted versus time. Clearly F > | f f |. Figure 3.9 shows that control
discontinuity gain k(x) given in equation (3.41) guarantees that the sliding condition is
satisfied. The upper plot shows s s versus time. The lower plot shows a time history
of T| | s |. As shown in the plots, s s < rj | s |.
Figure 3.8. Example 1 time histories of F and | f f |.
Figure 3.9. Example 1 time histories of sliding condition s s (upper)
and H l s | (lower).
39


3.1.4 Example 2: Alternate Solution for Second-Order
Nonlinear System (Integral Control)
Integral control can also be used. Define the variable of interest w(e; t) as the
time integral of the position error e(t)
w(e; t) =
f
e (x) dx
(3.43)
With respect to this variable, the system is third order. Define a sliding surface S(t) by
the scalar equation s(e; t) = 0 with
s(e; t)
yUx)fw(e;t)
e + 2Xe + X2 I
e (x) dx
(3.44)
Following the same procedure used in example 1, the first time derivative of s(e; t) is
s = e + 2Xe + X e
= r x + 2Xe + X2 e
= r f b u (t) + 2Xe + X2 e (3.45)
Equation (3.36) becomes
u(t)= r-f+2Xe + X2e (3.46)
from which control law u(t) can be written as
u(t) = b1 (u(t) + k(x) sgn(s))
= b 1 (r f + 2Xe + X2e + k(x) sgn (s)) (3.47)
40


3.1.5 Relating Bounds on Tracking Error to Distance to Surface S(t)
To make this discussion applicable to both integral control and control without
integral action, define w(e; t) as the variable of interest. For control without an
integrator, the variable of interest is the position error e(t). For integral control, the
variable of interest is the time integral of the position error.
1e(t) for control without an integrator
(3.48)
t
I e(x) dx for integral control
Jo
Also define the tracking error vector w as
w = [ w wO) w@)... w(n_1) ]T (3.49)
For control without an integrator
w = [ e eO) e<2)... e^1*1) ]T
For integral control
w =
Je(x) dx
o
e e
(i)
IT
e(n-2)
(3.50)
(3.51)
NOTE: When applying integral control to an n* order system as defined in
equation (3.1), the order of a system is increased by one when the
equations of motion are written with respect to the integrated enror.
41


Again, adopt a notational shorthand such that w(t) s w(e; t) and s(t) = s(w; t).
And if there is no possibility of confusion, the time dependence also will not be stated
explicitly and simply s and w will be used.
The sliding surface S(t) can be defined as a function of the variable of interest.
Let the surface be defined by the scalar equation s(t) = 0 with
s(t)=(^r- X>0 (3.52)
where w(t) is the variable of interest from equation (3.48) and, for a n111 order dynamic
system as defined in equation (3.1), m = n-1 when no integrator is used and m=n for
integral control.
Bounds on s (t) can be directly translated into bounds on the tracking error
vector w. As illustrated in figure 3.10, tracking error w(t) is obtained from s(t)
through a series connection of m first-order lowpass filters.
w(e;t)=----------s(t) where ps^- (3.53)
(p + X )m dt
1 yir i y2 r i
p + X p + X p + X
ym = w
m filter blocks
J P"
_d
dt
Figure 3.10. Interpretation of w(t) as the output of m first-order lowpass filters.
42


Let w(0) = 0 and let yj(t) be the output of the first filter.
yi(t) = L-1
I-\ s(t) = I exp (-X(t x)) s(x) dx
IP + *I Jo
(3.54)
If s(t) is bounded such that | s(t) | $ Q,
Iyi(t)| so
(3.55)
lyi (01 S 1 -exp(-Xt))
K
I yi (01 s ^
A
(3.56)
For the second filter
Y2(t) =
-X (t x)) yi(x) dx
Apply the bounds from (3.56) and write
| y2(t) | S f exp (-X. (t x)) dx
Wo
I y2 (t) | S --(l -exp(-Xt))
X X
I y2 (t) I s *
x
43


In general, for filter number i the output is bounded as
I yi (t) I = I w(t) | X
(3.57)
For filter number m, the output is bounded as
I ym (0 I = I w(t) I £
X
(3.58)
Define a new variable as
E =
xm
and write
I w(t) | £ e
This is the requirement for tracking to within a guaranteed precision E.
The i* derivative of the variable of interest w(t) can be written as
(3.59)
(3.60)
w(9 = p* w(t) = s(t) = ----r -rs(t) (3.61)
(p + X)m (p + X)m (p + X)'
with p defined as a differential operator.
This can be inteipretted as a series connection of m-i first-order lowpass filters
in series with i filtered differentiators as illustrated in figure 3.11.
44


(m i) filter__________| |_______ i filtered
blocks differentiator blocks
Figure 3.11. Interpretation of wW as the output of m-i first-order lowpass filters in
series with i filtered differentiators.
In references [4] and [51], an expression for the bounds on the magnitude of the
i^ derivative of the variable of interest is obtained through the following three steps.
Step 1
Variable ym_i (t) is the input to the first filtered differentiator. From equation (3.57),
I ym i (0 I
(3.62)
Step 2
Note that
P
p + X
p + X X X
p + X p + X
(3.63)
Step 3
Bounds on s(t) are related to bounds on the the variable of interest as follows:
w(i)|sK)'(^
w(0 | < V X* |-^-J
| w(') | < (2X) e
V t > 0, | s(t) | < => V t > 0, | wW(t) | < (2X) e for i = 0,..., m (3.64)
where e = .
Xm
45


It is not clear why the maximum magnitude of E is taken to be 2. A frequency
p + X
response plot for 2 is given in Figure 3.13, which shows that it is a high pass filter
p + X
of bandwidth X and unity pass band gain. It does not amplify. The amplitude of the
output is less than or equal to the amplitude of the input.
Therefore, the following stronger statement on the bounds of the i* derivative
of the variable of interest holds:
V t £ 0, | s(t) | < C> => V t £ 0, | w^(t) | £ X1 e for i = 0,..., m (3.65)
Inequalities (3.64) and (3.65) can also be misleading. For example, consider
tracking error bounds for Example 1 control without an integrator (section 3.1.3) and
Example 2 integral control (section (3.1.4)). Inequality (3.64) states that position
error with an integrator is guaranteed to be only half as good as without.
Example 1: n = 2 w = e m = (n-1) |e| = |w|<
Example2: n = 2 w = I e(x)dx m = n = 2 | e | = | w11 £ 2X ^- =
Jo *2 X
Additional insight can be gained from the frequency response plots of the
filtering of s to obtain w and w(J). Figure 3.12 shows the frequency response for the
first-order low pass filter -, which has a pass band gain of-. It is clear that
p + X X
if a signal | s | < O is input into a series connection of i lowpass filters of this form,

the filter output | y\\ < .
46


Figure 3.13 shows the frequency response for the filtered differentiator ,
p + X
which is a highpass filter with break frequency X and unity pass band gain.
i
Frequency (rod/iec)
Figure 3.12. Frequency response of
p + X
0.01 X 0.1 X X 10 X 100 X
Frequency (rod/eec)
Figure 3.13. Frequency response of E
p + X
47


For example 2, the variable of interest is the time integral of the position error.
Position error is obtained from scalar s by passing s through a series connection of a
lowpass filter and a filtered differentiator as shown in figure 3.14.
Figure 3.14. Filtering of s(e;t) for integral control of second-order system.
s(t) = (p + X)2w(t) (3.66)
s(t) = (p + M2 e(t) (3.67)
P
C(t) = s(t) (3.68)
(p + X)'
Figure 3.15 shows the frequency response for the system given in figure 3.14.
Maximum magnitude is 1/(2X), which occurs at X rad/sec. With the low and high
frequency attenuation, one can see that integral control should offer improved tracking
performance over control without an integrator.
To further illustrate performance with integral control, simulation runs were
performed for examples 1 and 2 with e(0) = 0. Time histories of scalar s(t) for each
example are very similar as illustrated in figure 3.16. As shown in figure 3.17,
tracking error e(t) for integral control is approximately 1/3 that of control without an
integrator.
48


1
0.01 X 0.1 X X 10 X 100 X
Frequency (rod/aec)
Figure 3.15. Frequency response of 2_
(p + X)
s(t)
No Integrator
Time (sec)
Figure 3.16. Scalar s(t) for (a) example 1: control without an integrator
and (b) example 2: integral control.
49


Figure 3.17. Position error e(t) for (a) example 1: control without an integrator
and (b) example 2: integral control
50


3.2 Quasi'Sliding Control:
Introduction of a Boundary Layer to Eliminate Chattering
In order to account for modeling imprecision and disturbances, control laws that
satisfy the sliding condition given in inequality (3.4) are discontinuous across surface
S(t). This leads to control chattering. Chattering is undesirable because it involves
high control activity/authority and may excite high frequency unmodeled dynamics
such as flexible structural modes.
To eliminate the chattering problem, the control discontinuity can be smoothed
by introducing a thin boundary layer B(t) neighboring the switching surface:
B(t) = {e,|s(e;t)|£0 (3.69)
where A sliding surface for a second order system is shown in figure 3.18. A
boundary layer of thickness O has been introduced to this surface in figure 3.19.
As shown in figure 3.19, variable e can be interpretted as boundary layer "width."
Note that for a sliding surface with s = |^ + ^.j0 \ "thickness" is measured along
the e^1) axis and "width" is measured along the e axis.
e
Figure 3.18. Sliding surface for
second-order system.
51
Figure 3.19. Sliding surface with
boundary layer.


Outside the boundary layer, control u(t) is the same as before, which guarantees
boundary layer attractiveness. Inside the boundary layer, control u(t) is interpolated.
The discontinuous signum function (figure 3.20) is replaced by a continuous
saturation function (figure 3.21).
Figure 3.20. Signum function Figure 3.21. Saturation function
(discontinuous). (continuous).
As illustrated in Figure 3.22, control law u(t), becomes
(3.70)
Figure 3.22. Interpolation of
control u(t) inside boundary layer.
52


3.2.1 Example 3: Second-Order Nonlinear System with
Time-Invariant Boundary Layer
To illustrate how the boundary layer smooths the control chattering, the
simulation performed in example 1 (no boundary layer) was repeated with the control
now given by
Initial tracking error e(0) = 0
Input x Figure 3.22 shows time histories for control input u(t), position error e(t), and
scalar s(t). The time window for the plots is longer than in example one because the
growing error in the time interval from 0.00 to 0.25 seconds gives rise to stability
concerns. However, behavior in the period from 0.25 to 0.50 seconds shows that the
system is stable.
Comparing these plots with plots from example one (figure 3.7 ), note that the
high frequency components of u(t) produced by the signum function do not appear
when the saturation function is used.
with b ]= 0.0516
u = r f + X e
= r + 1.5 x I x | + lOx + 2 x3 + 500 e
k(x) = (3 (ri + f) + (p l) | u
s=e+Xe X = 5000rad/sec (796Hz) 0=1.1
53


In figure 3.22 the representative point remains within the time invariant
boundary layer and, from equation (3.60),
Ie(t)|< => = 220prad
0 .05 .1 .15 .2 .25 .3 .35 .4 .45 .5
Time (seconds)
0 .05 .1 .15 .2 .25 .3 .35 .4 .45 .5
Time (seconds)
Figure 3.23. Example 3 (time-invariant boundary layer) time histories for control
input u(t), position error e(t), and scalar s(t).
54


3.2.2 Time-Varying Boundary Layer (t)
Chattering is eliminated by smoothing the control discontinuity inside boundary
layer B(t). Application of a boundary layer surrounding the sliding surface s(e; t) = 0
essentially assigns a low pass filter structure to the local dynamics of the variable
s(e; t). Interpretting the boundary layer as a filter leads to a means of illustrating the
trade off between tracking precision and robustness to unmodeled dynamics.
In this section, boundary layer thickness O is made time varying. Boundary
layer thickness will be modulated such that s trajectories are always inside the boundary
layer. To accomplish this, sliding condition (3.4) must be modified to require that the
distance to the boundary layer always decreases.
"Above" the boundary layer s ^ (t)
^(s- negative slope =* s(e; t) is becoming less positive
"Below" the boundary layer s £ £(s -(->)) a 11 (3.72)
positive slope =* s(e; t) is becoming less negative
Again note that the derivative of s2(e; t) can be written as the product of s(e; t)
and its first time derivative:
s2(e; t) = s(e; t) s(e; t)
55


For s £ G>(t):
And s > 0 s = | s |.
s
s £ s s <, ( r|) s
s s <(o-t|)|s
(3.73)
For s < O(t):
s + O^TJ
s + q
s s £ (- O + T|) s
Note that in this region s £ 0. Multiplying both sides by s, a negative
number, changes to
Multiply the right-hand side of the inequality by sgn(s) = 1.
s s £ ( And s sgn(s) = | s |.
s s ^( Combine equations (3.73) and (3.74) and write
(3.74)
^s2 = ss^(d>-Ti)|s| |s|£ (3.75)
Inequality (3.72) contains an additional term O | s | that does not appear in (3.4).
Note that the magnitude of(o q) is greater during boundary layer contraction (o < o)
56


than during boundary layer expansion > Oj. Therefore, the boundary layer attraction
requirement (3.75) is more stringent during contraction than during expansion.
First consider the case in which there is no control gain uncertainty, i.e.,
"N _
b = b = 1. The introduction of (3.75) necessitates a modification of the control
discontinuity gain k(x). The term time-varying boundary gain k(x):
k(x) = k(x) The rate of change of boundary layer thickness is subtracted from k(x) because
when C> > 0 the boundary layer atraction requirement is less stringent That is, the
magnitude of the compensatory command is reduced.
Control law u(t) becomes
u(t) = u (t) + k (x) sat (1 (3.77)
with
m
£(t)-i<-?+ £ (7)^e<-*> (3.78)
With a time-varying boundary layer, the s-trajectories exist inside the boundary
by design. Inside the boundary layer | s | £ O, therefore sat [1 = and the control
\/ 4>
law becomes
u(t) = u (t) + k (x) (3.79)
57


For an n* order system described by equation (3.1) the time derivative of s(t) equals
m
s = I x<) + X () X1 e( -(3.80)
i 1
Substitute the expression for x m
s = r (3.81)
i 1 1 '
Substitute the expression for u(t) from (3.79) and write
m
s = r*) f u(t) k(x) + X (m) X* e
(3.82)
Substitute the expression for u(t) firom (3.78), eliminate terms that cancel, and write
s = (f f) k(x) (3.83)
Define Af(x) = (f f) and write
s = -!e£I S + Af(x) (3.84)
0(0
Note that k(x) and Af are continuous in x. From the bounds on the tracking
error vector e given by inequality (3.64), the error between the system state x and the
reference state r is of the order of e and equation (3.84) can be rewritten as
s = -^s + (Af(r) + 0(e)) (3.85)
Equation (3.85) shows that variable s, which is a measure of the algebraic
distance to the surface S(t), can be viewed as the output of a first order filter, the
58


dynamics of which depend on the desired trajectory r(t) and with inputs that are, to the
first order, "perturbations."
A block diagram representation of the closed loop error dynamics is given in
figure 3.24. Perturbations are filtered by the dynamics described by equation (3.85) to
yield s. By the definition of s (equation 3.6), position error e is a low pass filtered
version of s.
A f (r) + O (e) 1 s l e
4>(t) r + 0
Modulation Definition
of Figure 3.24. Structure of closed loop error dynamics.
Time varying boundary layer thickness (3.85) represents a first-order lowpass filter of bandwidth X. Let
k(r) y
*(t)
k(r) = X From equation (3.76)
k(r) = k(r)- O + k (r) = k (r)
(3.87)
Insert (3.86) into (3.87) and write
(3.88)
59


Figure 3.25. Block diagram of boundary layer dynamics.
Equation (3.88) is known as the balance condition. It adjusts 4>(t) such that the
closed loop system mimics an n* order critically damped system. Boundary layer
dynamics are shown in block diagram form in Figure 3.25. Also note that
equation (3.88) allows equation (3.76) to be rewritten as
k (x)= k (x) k (r) + X
(3.89)
Now consider the general case, in which b b. In order to satisfy the
quasi-sliding condition given by (3.72) in the presence of a control gain uncertainty
(i.e., non-unity gain margin (5), time-varying boundary layer gain k (x) must be
defined separately for boundary layer expansion and contraction as follows:
0 > 0 => k (x) = k(x)
P
k (x) = k(x) P (3.90)
(3.91)
Control law u(t) becomes
u(t) = b 1 [u (t) + k (x) sat 1-^-
(3.92)
60


To insure that the time-varying boundary layer provides low pass filtering of
bandwidth X requires that
/k(r)Wb(r)\ ^ pit)} IbOO/njax (3.93)
Define reference gain margin (3r as
p, pw] \b(r)/ max (3.94)
and write
k(r) = i<,>w Pr (3.95)
From equations (3.90) and (3.91)
> 0 => k (r) = k(r) Pr (3.96)
k(r) = k(r)-prO (3.97)
O>0 =* O = ^(k(r) -k(r)) (3.98)
O<0 => O = Pr'1 (k(r) k (r)) (3.99)
From equation (3.95)
0 => CxO =* i = pr'1 k(r)- \ Pr (3.101)
61


Balance conditions are written as
O > 0
O + XO = pr k(r)
X k (r)
Pr2 Pr
(3.102)
(3.103)
A block diagram representation of the boundary layer dynamics for expansion
and contraction is given in figure 3.26.
0 =>
0
Pr k (r) > X O
X k(r)>
Pr
(3.104)
O<0 =>
O < 0
k(r) X <-----
Pr Pr2
k(r)<
X Pr
(3.105)
To modify equation (3.89) to account for control gain uncertainty
k(x) = (k(x)-k(r)) + k(r)
(3.106)
Figure 3.26 Boundary layer dynamics with control gain uncertainty.
62


From equations (3.90), (3.91), (3.96), and (3.97)
0 => k (x) = k(x) k (r) = k(r)
Pr Pr
fl> < 0 => k (x) = k(x) pr <1> k (r) = k(r) pr C>
O > 0 => k (x) = (k (x) k (r)) + k (r)
Pr
< 0 => k (x) = (k (x) k (r)) + k (r) Pr Apply equations (3.100) and (3.101)
O > 0 => k (x) = (k (x) k (r)) +
Pr
G> < 0 => k (x) = (k (x) k (r)) +
Pr
Therefore, for boundary layer contraction and expansion
k (x) = (k (x) k (r)) +
Pr
(3.107)
(3.108)
(3.109)
63


3.2.3 Example 4: Second-Order Nonlinear System with
Time-Varying Boundary Layer
To illustrate how a time-varying boundary layer improves system performance,
the system examined in example 3 (time-invariant boundary layer) was controlled
using a time-varying boundary layer. For this example, the control equation is
with b 1 = 0.0516
/N ,
u = r f + Xe
= r + 1.5 x| x| + lOx + 2 x3 + 500 e
k (x) = k (x) k (r) + ^
P
k(x) = P (rj + f) + (p l) | u |
= 1.29 ( 0.1 -t- 0.5 x2 h- 21 x | +1 x31) + 0.291 u
k(r) = P(t) + f) + (p l) | u |
= 1.29 (O.l +0.5 r2 + 2|r| + |r3|) + 0.291u
s = e + Xe
X = 5000 rad/sec (796 Hz) P = 1.29 1) = 0.1
O (t) = P k (r) X O (t) + T) O>0
O (t) = k (r) O (t) + T| O<0
P P
0(0) = tj/X = 20 X 10-6
Initial tracking error e(0) = 0
Input xd(t) = sin 20ti t
64


Figure 3.27 shows how the reference vector affects the boundary layer
thickness for the k(r) function used. (Function k(r) reflects parametric uncertainties.)
Note that boundary layer thickness C>(t) assumes a maximum value when | r (t) | = r^
and r (t) = 0. Conversely, O(t) assumes a minimum value when r (t) = 0 and
| r (t) | = fmax. Also note that s(t) remains within the boundary layer.
Tima (seconds)
Figure 3.27. Example 4 (time-varying boundary layer) time histories for control
reference position r (t), reference velocity r (t), and scalar s(t)
65


Control input u(t) is plotted in figure 3.28, which also compares the position
error e(t) from example 3 (time invariant boundary layer) with that of this example. At
no time does the position error of the time-varying boundary layer example exceed that
of the time invariant boundary layer. In fact, it exhibits up to three times better
tracking within several time intervals.
Position
Error
e(t)
Time (seconds)
Figure 3.28. Example 4 (time-varying boundary layer) time histories for control
input u(t) and position error e(t).
66


3.3 Adaptive Sliding Control
The adaptive sliding control theory presented in this section is based on Slotine
and Coetsee (reference [48]). Lyapunov theory is the formalism used to derive the
adaptive controller. Derivation of the control law follows Narendra (reference [39]).
The adaptive mechanism addresses parameter estimation. It is applicable to systems
of the type
where Yj are known continuous, possibly nonlinear, functions of the state variables,
aj are parameters which are unknown, but constant, b is the control gain, which is
unknown, but constant, and u(t) is the controller input.
The design goal is to adjust parametric estimates such that system trajectories
are driven into the boundary layer and are maintained within the layer. Adaptation
ceases when the trajectory reaches the boundary layer. In other words, parameters are
estimated with sufficient accuracy to maintain the representative point within the
boundary layer. This provides a consistent rule for stopping adaptation, thus
eliminating undesirable long term drift found in many adaptive schemes.
Let the variable of interest w(t) be the time integral of the tracking error
r
(3.110)
(3.111)
where e(t) = r(t) x(t).
67


Use the sliding surface
o
e dx
(3.112)
with a neighboring boundary layer
B(t) = { e, | s(e; t) | £ O } 0
(3.113)
If, in a spherical region B(x, Ro) with center at equilibrium point x, there exists
a scalar function V(x; t) with continuous partial derivatives such that
1. V is positive definite, and
2. V is negative semi-definite,
then the equilibrium point x is stable in the sense of Lyapunov.
If, in a certain neighborhood of the equilibrium point, V is positive definite
and V, the derivative of V along the system trajectories, is negative semi-definite, then
V(x; t) is a Lyapunov function for the non-autonomous system.
Define a Lyapunov function candidate as
where sA is a measure of the algebraic distance from the current state to the boundary
layer
(3.114)
(3.115)
68


and rA is a composite measure of parameter estimation error, such that
r42 b
+ (bW-'-b-1)
(3.116)
where h,(t) is the estimate of constant and b(t) is the estimate of constant b.
b
The derivative of the Lyapunov function candidate is
V = sAsA + rArA (3.117)
An expression for the rA rA term can be written by taking the derivative of
equation (3.116).
rA^A = b f Z (biW -|)bi + (b VO b'1) b
-l
(3.118)
Note that inside the boundary layer sA = 0 and outside the boundary layer sA = s.
This can be demonstrated as follows:
Inside the boundary layer (- 0 < s < +0) O sat I
= s
sA = s O sat = s s = 0
Outside the boundary layer (|s|£F) sA = ^(s ^ sat (^] ]= ( s ^) = s
69


Let boundary layer thickness O be time invariant (0 = 0). Therefore, outside the
boundary layer sA = s.
Equation (3.117) becomes
V = sA s + rA rA
To obtain an expression for s, define a differential operator p
equation (3.112) as
s =
lp+|1(")p"'ixi)/0e(t)
dx
where: 11= binomial coefficient =
i! (n i)!
The time derivative of s can be written as
s =
pn+ s (*' |pD'iXi
i 1 1 )
n
=(n) + X " 1 Xs e*"-*)
i 1 ' l i I
= r + X ) X1 e
i 1 *
(3.119)
= and rewrite
dt
(3.120)
(3.121)
70


Substitute the expression from equation (3.110) for x().
r D / \
s = r-bu(t)+ X ai Yi (x; t) + X " (3.122)
i l i l > >
In the sliding regime the dynamics are s = 0. Set s = 0 and solve for equivalent
control u^.
Ueq = b-1 r<> + X (" ) X1 e i 1
i 1
With imprecise knowledge of the plant, the best approximation of u,^ is
n \
u (t) = b
r(n) + V [n ] X e(n' ^ + T| sat (
i-l11) W
+ bwl( X ai Yi(x; t)
(3.124)
The tenn T| sat has been added to interpolate the control inside the boundary layer.
A
To write in a more compact form, define parameter estimate h; = and write:
b
u (t) = b
1 n \ r
r(n) + X ( ) ^ e(n'0 + n sat [-M + X hi Yi(x; t) (3.125)
i'- i 111 M i = i
Terms in equation (3.125) have been grouped to suggest that the adaptive
problem will be treated as sliding control with a boundary layer plus an adaptive
portion that improves the estimate of the system dynamics.
71


Insert the expression for u(t) from (3.125) into equation (3.122) and write
- b X hj Yj (x; t) + X ai Yi (x; t) + X X1 e i = 1 i-1 i =1 *
(3.126)
Equations (3.118) and (3.126) can be used to write an expression for V as follows:
V = sA s + rA rA
b X hi Yj (x; t) + X aj Yj (x; t) + X | ^ e(n 0
i- l i- l i- l V i 7
b i (hi(t)-|)ji+(t
-i
(t) -b )b 1
(3.127)
Regrouping terms
r
v= X [(bbi(t) a.) (hi s4 Y,(x; t)j
i = 1
- sA (b b_1 -1) j r (3.128)
72


Select adaptation laws to cancel terms in equation (3.128).
hi s Yi (x; t) sA
(3.129)
D
r^ + ^ |n | X1 e^n' ^ + r| sat
i 1 '1
(3.130)
By inserting sA = 0 in equations (3.129) and (3.130), it is seen that adaptation
ceases when the state reaches the boundary layer. Selection of the adaptation laws in
equations (3.129) and (3.130) reduces the expression for V to
V = -

(3.131)
Note that, outside the boundary layer
sa| < o
Equation (3.59) becomes:
V (t) = T| | sA | < 0 outside the boundary layer (3.132)
V (t) = 0 inside the boundary layer (3.133)
The Lyapunov function candidate V (t) of equation (3.114) is positive definite,
and from equations (3.132) and (3.133), its time derivative is negative semidefinite.
Therefore, the equilibrium state of the adaptive sliding system is stable in the sense of
Lyapunov.
73


To assign weights to the parameter estimates according to the relative
importance attributed to each term, redefine measurement rA as:
* f~ \2 /~ -1 .\ 2]
+
lA2 ~ I X ^ h'(t) 8i/b ^ ' b (t) b 1
U 1 V
bn
and the following estimation rules:
h = hjn YiSa
i = 0,1...r
A"1 _
b = b2
i 1
r*n) + X I" )xle(ni) + T| sat |j

(3.134)
(3.135)
(3.136)
74


CHAPTER 4
CASE STUDY: ADAPTIVE SLIDING CONTROL OF A
SINGLE-AXIS STEERING MIRROR
A single-axis steering mirror is a suspended planar mirror with a single
rotational degree of freedom. Suspension may be mechanical (flexures or springs) or
magnetic. Electrodynamic actuators and position feedback sensors (capacitive,
inductive, or optical) are used to actively control the angular position of the mirror as
part of a closed loop control system. The function of this system is to position the
minor such that a collimated beam of light incident to the mirror is reflected along a
commanded angle. Incoming light is "steered" along a desired optical path.
For example, a steering minor can be used to maintain optical alignment
between two optical benches, each with a single rotational degree of freedom. As
shown in figure 4.1, a laser communication system is mounted on a two-body system.
Without an alignment system, relative motion between the two bodies and structural
vibration of either body will result in optical misalignment, hence performance
degradation or failure of the communications system. To maintain optical alignment,
an alignment laser on body 1 generates a beam that traverses the same optical path as
the communications beam. An alignment sensor on body 2 detects optical
misalignment A steering minor in the optical path is controlled closed loop to null the
alignment sensor, thus maintaining optical alignment


Laser
Receiver
Alignment*
Sensor
TF = Turning Flat
BS = BeamSplitler
Alignment-
Laser
Steering Mirror
Laser
Transmitter
Figure 4.1. Steering mirror used in an optical alignment system.
The steering mirror considered in this chapter can rotate about its vertical axis.
As illustrated in figure 4.2, the mirror is clamped to a composite panel, which is
attached to the frame with flexural pivots, which serve as rotational bearings. Each
flex pivot consists of a pair of springs crossed at 90 and a set of supporting segments.
Flex pivots are used instead of ball bearings because they offer less friction and do not
present the nonlinearities associated with ball bearings. However, a flex pivot has a
torsional spring constant and, when displaced from spring null, will produce a reaction
torque. Four linear moving coil actuators are used to apply torque to the mirror.
Capacitor plate sensors are built into the mirror assembly (see figure 4.3) to
provide a measurement of the mirror-to-base angle. Stationary capacitor plates are
mounted to the frame; moving capacitor plate members are attached to the composite
panel which also supports the mirror. These capacitor plate sensors are available for
use as a feedback sensor or an external optical sensor may be used.
76


Moving
Capacitor
Plates
Figure 4.3. Steering mirror capacitor plate sensor (top view).
77


4.1 Plant Truth Model
A symbolic representation of the steering mirror assembly is given in
figure 4.4. It is a sixth-order mechanical system comprised of three rotational inertias:
aluminum frame (Ji), composite panel (J2) and mirror (J3). The fundamental mode of
the system is created by the flex pivots which connect the composite panel and the
frame. The flex pivot spring rate is shown as spring K2 in figure 4.4. Viscous
damping, due primarily to air resistance, is represented by damper B2. An actuator
applies torque A to the composite panel and a reaction torque to the frame.
Two additional inertia-spring-damper subsystems exist Spring K3 and damper
B3 model the mounting of the mirror to the composite panel. Dynamics also are
present between the frame and the optical table to which the frame is bolted. The table
is modeled as an infinite inertia.
Table Frame Composite Mirror
where: xj = inertial frame position
x2 = inertial composite panel position
x3 = inertial mirror position
Figure 4.4. Symbolic representation of steering mirror assembly.
78


Differential equations describing the mirror assembly dynamics can be derived
from free body diagrams as follows:
KlX!
Bi xi
K2 ( x2 X! )
B2 (x2-xi )
A
Figure 4.5. Free body diagram of steering mirror assembly frame.
Ji xi = A Ki X! Bi xi + K2 ( x2 X! ) B2 ( x2 *! ) (4.1)
K2(x2-xi
B2 ( x2 xi
A
K3 ( x3 x2 )
B3 ( x3 x2 )
Figure 4.6. Free body diagram of steering mirror assembly composite panel.
J2 x2 = A K2 ( x2 xi ) B2 ( x2 xi ) + K3 ( x3 x2 ) + B3 ( x3 x2 ) (4.2)
K3 ( x3 x2 )
B3 (x3 x2 )
Figure 4.7. Free body diagram of steering mirror assembly mirror.
J3 x3 = K3 ( x3 x2 ) B3 ( x3 x2 ) (4.3)
79


Equations (4.1), (4.2), and (4.3) can be written compactly in matrix form as follows:
x = [J]'1 ([B] x + [K] x + H A )
(4.4)
where: x = [ Xj x2 x3 ]T
[J]
-l
Ji 0
0 h
0 0
0 T1
0
J3
- Bi B2 + B2 0
+ B2 - B2 B3 + B3
0 + B3 -b3
-K!-K2 + k2 0
+ k2 - k2 k3 + k3
0 + k3 -k3
H = [ -1 1 0]T
Numerical values for the parameters contained in these matrices are given in Table 4.1.
Table 4.1. Mirror assembly parameter values
Component i Ji (kg-m2) Bi (Nm/rad/sec) Ki (Nm/rad)
Frame 1 1.65 x 10*3 2.00 x 101 6.514 x 104
Panel 2 1.65 x 10"4 2.00 x 10-3 1.000 x 10
Mirror 3 1.65 x 10^ 1.80 x IQ*2 1.175 x 103
80


Equation (4.4) can be written in state variable form as
x = F x + G u (4.5)
y = C x + D u (4.6)
where: x = [xi x2 x3 XI x2 x3]t
F =
0
J"1 K
I
J'1 B
G =
0 0 0 ^ f
Ji h
C = [0 0 1 0 0 0]
D = 0
Inserting the parameter values from table 4.1 into equation (4.5) defines a
system with eigenvalues listed in table 4.2.
Table 4.2. Eigenvalues of mirror assembly
Eigenvalue (rad/sec) Freq (Hz) Percent Damping Resonant Mode
-3.0287 j 55.137 8.79 5.5 Frame/Flexure/Panel
-1093.9 j 3612.3 601 29 Miiror/Panel
-61.212 j 6282.9 1000 1.0 Frame
Frequency response plots of the steering mirror assembly are shown in
figures 4.8 and 4.9. Both plots show angle output for torque input. Figure 4.8
shows the angle sensed by the capacitor plate sensor the relative angle between the
composite panel and the frame. Figure 4.9 shows the inertial mirror angle as the
output. Note the 1 kHz mode prominent in figure 4.8 does not appear in figure 4.9.
81


Frame/Flexure/Panel
1 10 100 1000 10000
Frequency (Hz)
Figure 4.8. Steering mirror assembly frequency response. Input: actuator torque.
Output: panel-to-frame relative angle (x2 xt)
Figure 4.9. Steering mirror assembly frequency response. Input: actuator torque.
Output: inertial mirror angle (x3).
82


Actuators are linear, moving coil type with a high-bandwidth current-control
electronic drive. Output torque is a linear function of actuator current:
A(t) = Kt i(t) (4.7)
where A(t) is the actuator torque (Nm), KT is the actuator torque scale factor
(Nm/amp), and i(t) is the actuator current (amp).
Actuator current is related to the voltage applied to the drive electronics by the
following differential equation:
f = 2tc fact [ Kv v (t) i(t)] (4.8)
where: i(t) is the actuator current (amp), v(t) is the applied voltage (volts), fact is the
bandwidth of the actuator drive system (Hz), and Kv is the actuator drive electronics
scale factor (amps/volt).
83


Digital-to-analog (D/A) converters limit the applied voltage to a maximum
magnitude as follows:
v(t) = VmMsat(^^) (4.9)
\ v max /
where v(t) is the applied voltage, Vmat is the maximum output voltage of the D/A
converter, vcmd(t) is the commanded voltage (input to the D/A converter), and
/+1 x£+l
sat (x) = / x -1 < x < +1
(-1 x<-l
Equations (4.7), (4.8), and (4.9) can be combined into a single actuator torque
equation as follows:
dA
dt
Kt fact
Ky Vmax sat
vcmd (0
Vmax
i(t)
(4.10)
Numerical values for the parameters that appear in equation (4.10) are given in
table 4.3.
Table 4.3. Actuator parameter values
Parameter Description Value
KT Actuator Torque Scale Factor 0.2 Nm/amp
KV Drive Electronics Current Scale Factor 0.1 amp/volt
Kact = Kv Kt Actuator System Torque Scale Factor 0.02 Nm/volt
fact Actuator System Bandwidth 5kHz
Vmax Maximum Applied Voltage 10 volts
A max = KyKTVmax Maximum Actuator Torque 0.2 Nm
84


Maximum miiror travel is 1.10 mrad. Position information is available from
two sensors: (1) a capacitor plate sensor which measures the relative angle between
the composite panel and the frame, and (2) an autocollimator sensor which measures
the inertial angle of the mirror. Each sensor is linear throughout its field of view and
has the same scale factor: 1.10 mrad / 10 volts =110 |irad/volt. Voltage output of
each sensor is given by the following equations:
Vcp(t) = Kcp(x2-x1) (4.11)
Vac(t) = Kacx3 (4.12)
where Vcp(t) is the capacitor plate output voltage, Vac(t) is the autocollimator output
voltage, Kcp is the capacitor plate scale factor (volts/rad), Kk is the autocollimator
scale factor (volts/rad), xt is the inertial frame angle (radians), x2 is the inertial
compositive panel angle (radians), and x3 is the inertial mirror angle (radians).
Table 4.4 summarizes the available position sensors. No rate measuring
sensors are available.
Table 4.4. Position sensor specifications
Sensor Sensed Angle Field of View Scale Factor
Capacitor Plate (X2 xi) 1.10 mrad 110 jjrad/volt
Autocollimator X3 1.10 mrad 110 prad/volt
85


Full Text

PAGE 1

ADAPTIVE SLIDING CONTROL OF A SINGLE-AXIS STEERING :MIRROR by Bruce Patrick Connors B.S., State University of New York at Buffalo, 1986 A thesis submitted to the Faculty of the Graduate School of the University of Colorado in partial fulfillment of the requirements for the degree of Master of Science Department of Electrical Engineering 1991

PAGE 2

This thesis for the Master of Science degree by Bruce Patrick Connors has been approved for the Department of Electrical Engineering by Edward T. Wall Marvin F. Anderson

PAGE 3

Connors, Bruce Patrick (M.S., Electrical Engineering) Adaptive Sliding Control of a Single-Axis Steering Mirror Thesis directed by Associate Professor Jan T. Bialasiewicz A feedback control methodology known as sliding control is applied to perform trajectory control of a single-axis steering mirror. Mathematical properties of sliding motion are discussed. The sliding control methodology of Jean-Jacques E. Slotine is presented in detail and illustrated with examples. A stronger relationship relating distance to the sliding surface and bounds on tracking error is proposed. A high fidelity computer simulation of a steering mirror control system is developed. This simulation is used to demonstrate adaptive and non-adaptive sliding control of a single-axis steering mirror. Practical implementation issues are addressed. Two sliding controllers are implemented in hardware using a digital signal processor. Experimental tracking results are presented. The form and content of this abstract are approved. I recommend its publication. Signed Jan T. B ialasiewicz

PAGE 4

To my parents, William D. and Marian J. Connors, and to my wife, Rebecca A. Vucetich.

PAGE 5

CONTENTS Figures . . . . . . . . . . v1u Tables ......................................... xu CHAPTER 1. INTRODUCTION . . . . . . . . 1 1.1 Overview . . . . . . . . . 1 1.2 Thesis Outline . . . . . . . . 3 1.3 Notation . . . . . . . . . 5 2. VARIABLE STRUCTURE SYSTEMS WITH SLIDING MODES 2.1 An Introduction to Sliding Modes . . . . . 7 2.2 Mathematical Existence Conditions for a Sliding Regime . 13 2. 3 Equations of Motion in the Sliding Mode . . . . 15 2.4 Order Reduction in the Sliding Mode . . . . 19 2.5 Disturbance Rejection in the Sliding Mode . . . 20 3. SLIDING CONTROL: METHODOLOGY OF JEAN-JACQUES SWTINE . . . . . . 22 3.1 Sliding Control of Nonlinear Systems . . . . 22 3.1.1 Sliding Condition . . . . . . 25 3.1.2 Derivation of Control Law u(t) . . . . 27 3.1.3 Example 1: Second-Order Nonlinear System . . 33 3.1.4 Example 2: Alternate Solution for Second-Order Nonlinear System (Integral Control) . . . 40 3.1.5 Relating Bounds on Tracking Error to Distance to Surface S(t) ..................... 41

PAGE 6

3.2 Quasi-Sliding Control: Introduction of a Boundary Layer to Eliminate Chattering . . . . . 51 3.2.1 Example 3: Second-Order Nonlinear System with Time-Invariant Boundary Layer ............ 53 3.2.2 Time-Varying Boundary Layer (t) .............. 55 3.2.3 Example 4: Second-Order Nonlinear System with Time-Varying Boundary Layer . . . 64 3.3 Adaptive Sliding Control . . . . . . 67 4. CASE STUDY: ADAPTIVE SLIDING CONTROL OF A A SINGLE-AXIS STEERING MIRROR ..................... 75 4.1 Plant Truth Model . . . . . . . . 78 4.2 Estimated Plant Dynamics . . . . . . 87 4.3 Digital Implementation of Sliding Controller . . . 90 4.3.1 Continuous-to-Discrete Transformation . . 90 4.3.2 Command Filter (Reference Model) .............. 91 4.3.3 Differentiating Filter . . . . . . 95 4.3.4 Integration Algorithm . . . . . 98 4.4 Computer Simulation . . . . . . . 99 4.4.1 Computer Simulation: Sliding Control of a Single-Axis Steering Mirror (No Integrator) . 100 4.4.2 Computer Simulation: Sliding Control of a Single-Axis Steering Mirror (Integral Control) ...... 103 4.4.3 Computer Simulation: Adaptive Sliding Control of a Single-Axis Steering Mirror . . . 105 Vl

PAGE 7

5. HARDWARE IMPLEMENTATION ......................... 110 5.1 Hardware Description ............................. 110 5.1.1 Single-Axis Steering Mirror . . . . 110 5.1.2 Hardware/Software Interface . . . . 112 5.2 Estimated Plant Dynamics . . . . . . 115 5.3 Experimental Results . . . . . . . 119 5.3.1 Experimental Results: Sliding Control of a Single-Axis Steering Mirror (No Integrator) . 119 5.3.2 Experimental Results: Sliding Control of a Single-Axis Steering Mirror (Integral Control) . 123 6. CONCLUSIONS ..................................... 126 APPENDIX A. MA 1RIXx Block Diagrams for Computer Simulation of Sliding Control of a Single-Axis Steering Mirror (No Integrator) . . . . . . . . 128 B. MA TRIXx Block Diagrams for Computer Simulation of Sliding Control of a Single-Axis Steering Mirror (Integral Control) . . . . . . . . 134 C. MA TRIXx Block Diagrams for Computer Simulation of Adaptive Sliding Control of a Single-Axis Steering Mirror . 138 D. DSP32C Assembly Code for Experimental Test of Sliding Controller (No Integrator) . . . . . 141 E. DSP32C Assembly Code for Experimental Test of Sliding Controller (Integral Control) ...................... 149 CITED REFERENCES AND LITERATURE SURVEY .............. 157 INDEX ............................................... 163 vii

PAGE 8

FIGURES Figure 2.1 Fixed structure system example: linear regulator . . . 8 2.2 Variable structure system example . . . . . . 8 2.3 Phase plane portraits: (a) trajectories for u(t) = -K structure, (b) trajectories for u(t) = +K structure, and (c) trajectories for VSS . . . . . . . . . . 10 2.4 Phase plane portrait of double integrator VSS . . . . 12 2.5 Sliding condition: trajectory motion near hypersurface s(x; t) = 0 15 2.6 Filippov's construction of sliding mode dynamics . . . 16 3.1 Second-order system trajectories and sliding surface graphed in phase plane . . . . . . . 24 3.2 Second-order system trajectories and sliding surface graphed in error phase plane . . . . . . . 24 3.3 Interpretation of e(t) as the output of n-1 first-order lowpass filters . . . . . . . . . 25 3.4 Command filter used to generate reference vector r(t) . . . 36 3.5 Example 1 error phase plane portrait . . . . . 37 3.6 Exponential convergence of tracking error e(t) during sliding regime . . . . . . . . 37 3.7 Example 1 time histories of position error e(t), control input u(t), and algebraic distance to the sliding surface s(t) . . 38 3.8 Example 1 time histories ofF and If-rl . . . . . 39 3. 9 Example 1 time histories of sliding condition s s (upper) and -111 s I (lower) . . . . . . 39 3.10 Interpretation of w(t) as the output of m first-order lowpass filters . . . . . . . . . 42 3.11 Interpretation of w
PAGE 9

3.13 Frequency response of_______ . . . . . . 47 p+A. 3.14 Filtering of s(e; t) for integral control of second-order system . 48 3.15 Frequency response of P 2 49 (p +A.) 3.16 Scalar s(t) for (a) example 1: control without an integrator and (b) example 2: integral control . . . . . 49 3.17 Position error e(t) for (a) example 1: control without an integrator and (b) example 2: integral control . . . . 50 3.18 Sliding surface for second-order system . . . . . 51 3.19 Sliding surface with boundary layer . . . . . 51 3.20 Signum function (discontinuous) . . . . . . 52 3.21 Saturation Function (continuous) .......................... 52 3.22 Interpolation of control u(t) inside boundary layer . . . 52 3.23 Example 3 (time-invariant boundary layer) time histories for control input u(t), position error e(t), and scalar s(t) . . . . . . . . . . 54 3.24 Structure of closed loop error dynamics . . . . . 59 3.25 Block diagram of boundary layer dynamics . . . . 60 3.26 Boundary layer dynamics with control gain uncertainty . . 62 3.27 Example 4 (time-varying boundary layer) time histories for control reference position r(t), reference velocity r (t), and scalar s(t) . . . . . . . . . 65 3.28 Example 4 (time-varying boundary layer) time histories for control input u(t) and position error e(t) . . . . 66 4.1 Steering mirror used in an optical alignment system . . . 76 4.2 Single-axis steering mirror . . . . . . . 77 4.3 Steering mirror capacitor plate sensor (top view) ................ 77 ix

PAGE 10

4.4 Symbolic representation of steering mirror assembly . . . 78 4.5 Free body diagram of steering mirror assembly frame . . 79 4.6 Free body diagram of steering mirror assembly composite panel . 79 4.7 Free body diagram of steering mirror assembly mirror . . 79 4.8 Steering mirror assembly frequency response. Input: actuator torque. Output: panel-to-frame angle (x2 -x1 ) 82 4.9 Steering mirror assembly frequency response. Input: actuator torque Output: inertial mirror angle (x3 ) 82 4.10 Time histories for reference vector r(t) . . . . . 94 4.11 Frequency response of differentiating filter . . . . 97 4.12 Trapezoidal numerical integration . . . . . . 98 4.13 Computer simulation: sliding controller (no integrator) Time histories of mirror position x(t) and position error e(t). Input: mrad 10Hz square wave . . . . . 101 4.14 Computer simulation: sliding controller (no integrator). Time histories of scalar s(t) and rate errore (t). Input: mrad 10Hz square wave . . . . . 102 4.15 Sliding surface for integral control . . . . . . 103 4.16 Computer simulation: sliding controller (integral control). Time histories of mirror position x(t) and position error e(t). Input: mrad 10Hz square wave . . . . . 104 4.17 Computer simulation: adaptive sliding control test #1. Time histories of mirror position x(t), scalar s(t), and distance to boundary layer .......................... 106 4.18 Computer simulation: adaptive sliding control test #1. Time histories of parameter estimates . . . . . 107 4.19 Computer simulation: adaptive sliding control test #2. Time histories of mirror position x(t) and distance to boundary layer . . . . . . . . 108 4.20 Computer simulation: adaptive sliding control test #2. Time histories of parameter estimates . . . . . 109 X

PAGE 11

5.1 Single-axis steering mirror used in hardware implementation ....... 111 5.2 Steering mirror similar to one used in hardware implementation with cover removed to show composite panel and moving coil actuators . . . . . . 112 5.3 Experiment hardware setup . . . . . . . 113 5.4 Steering mirror open loop frequency response . . . 116 5.5 Experimental frequency response: sliding controller (no integrator) . . . . . . . 120 5.6 Experimental time response: sliding controller (no integrator). Input: 10Hz 1 rnrad square wave . . . 121 5.7 Experimental time response: sliding controller (no integrator). Input: 10Hz 1 rnrad sine wave ............... 122 5.8 Experimental frequency response: sliding controller (integral control) . . . . . . . 123 5.9 Experimental time response: sliding controller (integral control). Input: 10Hz 1 rnrad square wave . . 124 5.10 Experimental time response: sliding controller (integral control). Input: 10Hz 1 rnrad sine wave . . . 125 A1 MA TRIXx block diagram of the top level system for sliding control of a steering mirror (no integrator) .............. 129 A2 MA TRIXx block diagram of sliding controller (no integrator) . 130 A3 MA TRIXx block diagram of control discontinuity function k(x) ...... 131 A4 MA TRIXx block diagram of truth sensor used with sliding controller (no integrator) ............................... 131 A5 MA TRIXx block diagram of steering mirror dynamics . . . 132 A6 MA TRIXx block diagram for digital-to-analog converter ........... 133 A 7 MA TRIXx block diagram for reconstruction ftlter (5kHz, 4th order Butterworth) . . . . . . 133 A8 MATRIXx block diagram for analog-to-digital converter . . 133 A9 MA TRIXx block diagram for anti-aliasing ftlter (5kHz, 4th order Butterworth) . . . . . . 133 Xl

PAGE 12

B 1 MA TRIXx block diagram of the top level system for sliding control of a steering mirror (integral control) . . . . 135 B2 MA TRIXx block diagram of sliding controller (integral control) ...... 136 B3 MA TRIXx block diagram of truth sensor used with integral control 137 C 1 MA TRIXx block diagram of adaptive sliding control of single-axis steering mirror .............................. 138 C2 MA TRIXx block diagram of adaptive sliding controller . . 139 C3 MA TRIXx block diagram of simplified steering mirror dynamics used for adaptive sliding system .......................... 140 xii

PAGE 13

TABLES Table 4.1 Mirror assembly parameter values . . . . . . 80 4.2 Eigenvalues of mirror assembly . . . . . . 81 4.3 Actuator parameter values . . . . . . . 84 4.4 Position sensor specifications . . . . . . . 85 4.5 Software/hardware interface specifications . . . . 86 4.6 True and estimated parameter values ....................... 89

PAGE 14

ACKNOWLEDGEMENTS I would like to thank the Martin Marietta Corporation for sponsoring my graduate work at University of Colorado through their program for study under company auspices. Dr. Jan Bialasiewicz, my thesis advisor, provided helpful suggestions throughout my thesis research and gave me the freedom to pursue my interests. The United States Anny Strategic Defence Command (USASDC) provided funding for portions of this research as part of an alternate controller study conducted as part of the Rapid Retargeting Precision Pointing (R2P2) program at Martin Marietta. Leon Riley at USASDC suggested attending the Nonlinear Control System Design short course at University of California at Berkeley (July 31 August 4, 1989). It was at this week-long course, co-taught by Jean-Jacques Slotine and Karl Hedrick, where I was introduced to sliding control. Excellent hardware and computer facilities were provided by the R2P2 program. I would like to acknowledge the following people associated with R2P2: Dr. Dale Neal is program manager. John Schwartz is technical director. Mark Hammond and Alex Hubert designed the steering mirror used in the hardware experiments. (Additional thanks to Mark Hammond for providing the steering mirror assembly drawings.) Greg Rowe, Kelly Appleby, and Charles Banks worked on the design and build of the software/hardware interface electronics. Chris Pettit provided

PAGE 15

optics support Pam Alstott did the troubleshooting of the motor amplifiers. Jim Harrer did the capacitor plate optimization study. For their assistance during the literature research phase of this thesis, I would like to thank Carol Robbins and Mark Merwin at the Martin Marietta Research Library. XV

PAGE 16

CHAPTER 1 INTRODUCTION 1.1 Overview Sliding control offers a straightforward approach to robust control of nonlinear as well as linear systems in the presence of external disturbances and parameter variations. The name refers to the behavior of the state trajectory which "slides" along a discontinuity defined by a hypersurface (also known as a sliding surface) in state space. Historically sliding control has its origins in the Soviet Union, where much of the early research was conducted. In what can be termed "classical" sliding control, "perfect" tracking is achieved at the cost of introducing a high-frequency component in the control variable. The two major drawbacks in implementing a classical sliding controller are: ( 1) There is a reaching phase in which a trajectory originating off the surface tends toward the surface. During this phase the trajectory is sensitive to external disturbances. (The excellent disturbance rejection property provided by the sliding mode is not realized until the surface is reached.) Furthermore, convergence to the sliding surface may only be asymptotic.

PAGE 17

(2) Ideally, switching in the neighborhood of the surface occurs infinitely fast. However, in practice switching can only be performed at finite rates. Nonidealities such as delays and hysteresis associated with hardware result in "chattering" along the surface. Such high frequency control activity may excite unmodeled high frequency dynamics. In 1983 Jean-Jacques Slotine published papers (references [49] and [52] ) in which he presented an approach to sliding control that could overcome both drawbacks. His methodology is centered around the concept of a time-varying sliding surface and approximating discontinuous control by a continuous one. Tracking accuracy is traded against robustness to high-frequency unmodeled dynamics. Slotine has extended his early work to include sliding observers (references [14] and [37]) and has introduced an adaptive mechanism in the form of on-line parameter estimation (reference [50]). His approach to sliding control has been applied to a wide variety of hardware including robotic manipulators (references [4] and [52]), unmanned underwater vehicles (references [18] and [62]), and automobile automatic transmissions. This thesis presents an application of the sliding control methodology of Jean-Jacques Slotine as a single-axis steering mirror adaptive controller. 2

PAGE 18

1.2 Thesis Outline Chapter 2 begins with an introduction to the class of control systems known as variable structure systems (VSS). To illustrate the VSS design philosophy, control of a double integrator plant using a fixed structure system (a linear regulator) is contrasted with control using a variable structure system created by adding simple switching logic to the linear regulator. Next the concept of a sliding mode is discussed in a qualitative sense using the same double integrator example. Mathematical existence conditions for a sliding regime are then presented. Equations of motion in the sliding mode are derived using the concept of equivalent control. Two fundamental sliding mode properties are shown: ( 1) order reduction of the system equations of motion, and (2) disturbance rejection. The sliding control methodology of Jean-Jacques Slotine is presented in chapter 3. First sliding control laws are developed for a general class of nth order nonlinear systems using a discontinuous switching control. Numerical examples are provided for a second-order system with and without integral control. System behavior in the reaching phase and chattering are illustrated. Next, the control discontinuity is smoothed using a boundary layer. The relationship between boundary layer thickness and bounds on tracking error is shown. Boundary layer thickness is then made time-varying. Balance conditions relating tracking precision, control bandwidth, and parameter uncertainty are derived Time varying boundary layer simulation results are interpretted. 3

PAGE 19

Adaptive sliding control is discussed. Equations for on-line parameter estimation are derived based on Lyapunov stability theory. Adaptive sliding control perfonnance is evaluated. In chapter 4 a computer simulation case study is considered. A single-axis steering mirror, including high frequency resonant modes, is described and its equations of motion are defined. This mirror "truth model" also includes actuator and sensor dynamics, actuator saturation, analog-to-digital and digital-to-analog quantization, and digital processing delays. The following implementation issues are addressed: how to generate a reference vector in real time, use of a differentiating fllter to obtain rate information when no rate sensor is available, and factors limiting the highest obtainable controller bandwidth such as actuator torque authority, unmodeled dynamics, parametric uncertainties, sampling rate, and digital processing delays. Hardware implementation of sliding control of a single-axis steering mirror is the subject of chapter 5. Laboratory experiments were performed using a digital signal processor to implement the controller at a 12.5 kHz sampling rate. This chapter describes the hardware used in the experiment. Experimental results are presented: tracking performance, disturbance rejection, and frequency response. 4

PAGE 20

1.3 Notation A matrix (plain text upper case letters) x vector (bold-faced lower case letters) x T vector transpose x(n) the nth derivative of variable x (superscript in parentheses) x0 variable x raised to the nth power (no parentheses for exponent) r reference signal (commanded position) r reference vector (commanded state) e = ( r -x ) tracking error (scalar) e = (r x) error vector exp (u) eu where: e =lim (1 + k )11k p = d/dt s(e; t) S(t) sgn (x) sat (x) detA ..... o differential operator algebraic distance to sliding surface (scalar) (Not the Laplace operator.) sliding surface (upper case) S(t) = s(e; t) = 0 signum function saturation function defmed as sgn(x) = { +1 x > 0 -1 X< 0 { +1 sat(x) = x -1 < x < +1 -1 xS-1 n-dimension Euclidean space non-negative real numbers determinant of n x n matrix A 5

PAGE 21

I identity matrix aij = { l=J ab vector dot product (: ) binomial coefficient n! i! (n-i)! [ A I B ] matrix containing the columns of matrices A and B convolution operator y(t) z(t) J: y(t) z(tt) dt NOTE: To avoid confusion when referencing between articles written by Slotine and this thesis, be aware that Slotine defmes tracking error as actual position minus desired position, whereas in this paper the tracking error is defind as desired position minus actual position. As a result, there will be sign differences when comparing many of the equations. 6

PAGE 22

CHAPTER2 VARIABLE STRUCTURE SYSTEMS WITH SLIDING MODES 2.1 An Introduction to Sliding Modes Sliding control systems fonn a subset of a broader class of control systems known as variable structwe systems (VSS). In VSS, the controller is allowed to change its structure according to a prescribed switching logic. The design problem is to defme the structure and associated switching logic. The basic VSS philosophy can be seen by contrasting a variable structure system with a fixed structure system such as a linear regulator. Consider a double integrator plant (2.1) Create a linear regulator by placing a proportional-plus-derivative (PD) controller in series with the plant as shown in figure 2.1. Close the loop to create error signal e, the difference between the reference position rand the actual position x (e = r-x). Note that for the regulator problem r = 0, therefore e = -x. The controller creates input u(t) as follows: u(t) = Dx Px = De + P e (2.2) where D and Pare positive constants. The characteristic equation for this closed loop system is p2 + Dp + P = 0. Parameters P and D can be selected to achieve the desired closed loop poles.

PAGE 23

Controller Figure 2.1. Fixed structure system example: linear regulator. The point of interest for this discussion is that the controller has a single fixed structure. Regardless of the state of the system, input u(t) is calculated according to equation (2.2). A simple variable structure system can be created by introducing switching logic in the form of a signum function (see figure 2.2) such that u(t) = K sgn ( oe + P e ) (2.3) h th fi ( ) { + 1 for x > 0 d K w ere e s1gnum unct1on sgn x = 1 & 0 an 1s a pos1tive constant. -10r X< In the operating region of the state space, K I emax I + ,, where, is also a positive constant (This condition will be explained later.) r---Controller --., .-Plant---, Figure 2.2. Variable structure system example. 8

PAGE 24

There are two distinct structures: u(t) = +K and u(t) = -K. Error phase plane trajectories can be calculated for each of these structures. First write the system equation in terms of error signal e = -x as follows: By the chain rule e = -u(t) e=--= e-= -u(t) dtde de Separating variables and integrating e2 = -2 u(t) e(t) + c where c is a constant of integration. Let e(to) = eo and e(to) = 0 and solve for the constant of integration. Foru(t) = +K e2 = -2K (e-eo) See Figure 2.3a For u(t) = -K e2 = 2K (e eo) See Figure 2.3b (2.4) (2.5) (2.6a) (2.6b) Phase plane portraits of each structure consist of families of parabolas shown in figure 2.3 (a and b). Neither structure is asymptotically stable. However, asymptotic stability is achieved using the switching function defmed in equation (2.3) which selects the control structure based on the following switching logic: (+K if (DC+ Pe) > 0 u(t) = -K if (DC+ Pe) < 0 9 (2.7)

PAGE 25

When graphed in the error phase plane this switching logic defines a switching line given by p s(e;t)=e+-e=O D (2.8) This switching line appears in figure 2.3 (c), which shows a phase plane portrait illustrating the asymptotically stable behavior of the variable structure system. An initial error state not contained on the switching line moves along a parabolic trajectory until it reaches the switching line. It then moves along that line to the origin e e (a) u(t) =-K (b) u(t) = +K e e Switching Line p s-e+-e .. o D (c) u(t)=Ksgn(De+Pe) Figure 2.3. Phase plane portraits: (a) trajectories for u(t) = -K structure, (b) trajectories for u(t) = +K structure, and (c) trajectories for VSS. One VSS design approach is to combine structures in a way that exploits desirable properties of each of the structures. For instance, a structure that provides a fast transient response could be combined with a structure that provides low overshoot and another structure that offers zero steady state error for a step position command. 10

PAGE 26

An interesting consequence of this approach is that a variable structure system can possess new properties not present in any of the structures used. For example, a stable system can be created using two unstable structures as shown above. An advantage of using a variable structure controller (VSC) is that it allows the designer to compose a desired trajectory from sections of trajectories of different structures. And, fundamental to this paper, it is possible to obtain a trajectory not inherent in any of the structures -the sliding mode. Although not all variable structure systems contain sliding modes, the majority of research in VSS has focused on deliberately introducing sliding modes. As a consequence, in much of the literature the terms sliding control system and variable structure system have become synonymous. lbroughout this paper, however, the terms will not be used interchangeably; sliding control systems will refer to a subset of variable structure systems -those systems which contain sliding modes. To see how sliding motion occurs in a qualitative sense, consider a specific pair of initial conditions using the double integrator VSS example. For the sake of illustration, let the initial conditions be e(O) = eo, where eo > 0, and e(O) = 0. Also defme A. = P/D. As shown in figure 2.4, the switching line divides the error phase plane into two regions: an upper region (unshaded) in which u(t) = +K, and a lower region (shaded) in which u(t) = -K. For this example, the initial conditions result in u(O) = +K and the state moves along a parabolic path toward the switching line. This is the reaching phase, in which a trajectory originating away from the switching surface (in this case 11

PAGE 27

the surface is a line), tends toward the surface. During the reaching phase the trajectories are sensitive to parameter variations and external disturbances. All trajectories of each of the two structures are directed towards the switching surface. Therefore, regardless of initial conditions, all states reach the surface and remain there. (There are no trajectories pointing away from the surface.) Once on the surface, the system's behavior enters the sliding regime or sliding mode. In this mode, the equation of the surface defines the system dynamics. Therefore, the sliding surface is both a place and a dynamics e Reaching Phase Sliding Surface s=e+"-e=o Figure 2.4. Phase plane portrait of double integrator VSS. The error state slides on the surface from the point it intitially encounters the surface to the origin. The triangular waveform shown on the surface in figure 2.4 represents a real-world phenomenon known as chanering. In the ideal case control switching occurs infinitely fast. However, in practice switching can only be performed at finite rates. Delays and hysteresis associated with switching hardware 12

PAGE 28

result in trajectories that move away from the surface before being driven back through the surface to a finite distance away from the surface on the opposite side. The "average" motion is one of sliding, but the phase plane portrait shows a jagged trajectory. Use of the term chattering to describe this phenomenon can be traced to the noise generated by switching elements such as relays operating at high rates. 2.2 Mathematical Existence Conditions for a Sliding Regime This section is based on the treatment of existence conditions presented in Control Systems of Variable Structure by U. Itkis (reference [27]). To begin this discussion define three terms: representative point (RP) hypersurface hyperplane Point in R" defmed by state vector x(t) of a dynamical system. Motion of the RP defines a trajectory of the system. A hypersurface is a generalization of the concept of a surface in three-dimensional Euclidean space to a surface in n-dimensional Euclidean space. An algebraic hypersurface is the graph in n-dimensional Euclidean space of an equation of the type f(x1 x 2 ... x0 ) = 0 where f is a polynomial in x1 x2, ... X0 A hyperplane is a generalization of the concept of a plane in three-dimensional Euclidean space to a plane in n-dimensional Euclidean space. An n-1 dimensional hyperplane consists of the set of n-dimensional vectors x satisfying c x = a where c and a are a constant vector and scalar, respectively. A hyperplane is a subspace only if a= 0. (A subspace must contain the zero vector.) Consider the general system of differential equations dx 1 = f (x t) dt 1 i = 1, ... n (2.9) where x = [x1 ... x0]T is a state vector. 13

PAGE 29

Assume that the right-hand sides of these equations are discontinuous across a specific hypersurface s(x; t) = 0 in such a way that the leftand right-hand limits of fi(x; t) with i = 1, ... n exist as the representative point (RP) approaches s(x; t) = 0 from either side. lim fi (x; t) = fc(x; t) s-+ -0 lim fi (x; t) = fi+(x; t) 8-+ ...0 where, in general, fi-(x; t) :#fi+(x; t). The time derivative of the function s(x; t) along the trajectories of the system is where f = [fl ... fn]T is a phase velocity vector. The existence condition for a sliding regime on the hypersurface s(x; t) is lim ds 0 lim ds -< < I-++Odt S-+-0dt A more compact, equivalent expression is lim ds 0 S-< s-+ 0 dt Inequality (2.14) can also be written as ds2 lim -<0 S-+0 dt 14 (2.10) (2.11) (2.12) (2.13) (2.14) (2.15)

PAGE 30

Trajectory motion necessary for sliding to occur is illustrated in figure 2.5. n lim ds 0 lim ds -< < 1-++0dt 1-+-0dt s = 0 (hypersurface) Figure 2.5. Sliding condition: trajectory motion near hypersurface s(x; t) = 0. 2.3 Equations of Motion in the Sliding Mode Dynamics of systems with switched control laws represent differential equations with discontinuous right-hand sides. Many properties from ordinary differential equations, such as the existence-uniqueness theorem, do not exist for this class of differential equations. 15

PAGE 31

In the early 1960s, Russian mathematician A.F. Filippov set forth a rigorous mathematical definition of motion in a sliding regime (see refererence [24]). He proposed and formally justified the following geometric construction (see figure 2.6) of sliding motion: where fO is the phase velocity vector for motion in the sliding regime (vector lies in the tangent plane). is the phase velocity vector for motion approaching the surface from "below." lim fi (x; t) = fr(x; t) I-+ -0 f+ is the phase velocity vector for motion approaching the surface from "above." lim fi (x; t) = fi+(x; t) s -+ +() NOTE: In general, f( (x; t) ft(x; t) ...... n is a normal to hypersurface J.L is the part of each oscillation period spent "below" the hypersurface (i.e. s(t) < 0). n Hypezswface s(x) 0 Figure 2.6. Filippov's construction of sliding mode dynamics. 16 (2.16) (2.10) (2.11)

PAGE 32

Filippov's method considers the high frequency oscillations about an infinitesimal region of the hypersurface. Additional insight into the general behavior of this motion can be obtained by considering the "average" component of the velocity vector along the surface. This formal technique is called the equivalent control method. The development below is based on Drazenovic (reference [ 19]) and El-Ghezawi, Zinober, and Billings (reference [21]). This approach assumes that during sliding the representative point moves on s(x; t) = 0 never leaving the surface. Mathematically, this is represented by the vanishing of the function s(x; t) and its derivative "s(x; t). Consider the multi-input system described by the following set of n first-order differential equations: (2.17) where the state x is an n-vector, the control u is an m-vector, the disturbance f is a p-vector, and A, B and D are matrices of proper dimensionality. For a hypersurface use a hyperplane passing through the origin defmed by s(x; t) = C x = 0 where C is an m x n constant matrix with linearly independent rows. Also impose that the time derivative of s (x; t) vanishes. ds(x; t) = C x = 0 dt This condition states that the RP remains on the surface. 17 (2.18) (2.19)

PAGE 33

Each component of control vector u(t) is discontinuous across the hypersurface. ( ui+(x; t) for s(x; t) > 0 Ui (x; t) = u((x; t) for s(x; t) < 0 i=1,2, ... ,m (2.20) Because u(x; t) is not defined on the surface s(x; t) = 0, introduce the concept of an equivalent control Ueq which is the continuous control law that would maintain s(x; t) = 0 if the dynamics were exactly known. During sliding motion, equation (2.17) becomes: X = A X + B Ueq + D r (2.21) From equation (2.19) c X = c A X + c B Ueq + c D r = 0 (2.22) Provided that (CB)-1 exists (i.e., det 0), equivalent control Ueq can be written as Ueq = -(C Br1 C (A x + D f) (2.23) Insert equation (2.23) into equation (2.21) and write the equations for motion in the sliding mode. x = (1 s (C sr1c) (A x + n r) Cx=O (2.24) (2.25) Equation (2.24) can be expanded to show expressions for motion caused by system states and motion caused by external disturbances. i = (I s (C sr1 c > A x I I motion caused by system states + (I -B (C B)-1 C ) D f 18 I I motion caused by external disturbances (2.26)

PAGE 34

2.4 Order Reduction in the Sliding Mode Order reduction is a fundamental property of VSS in the sliding mode. Again consider the multi-input system described by equation (2.17). The system has n states and m inputs. From equations (2.25) and (2.26), sliding motion due to system states can be expressed as follows: X= (I-B (C B)"1 c) A X Cx=O (2.27) (2.28) Because matrix C contains m linearly independent rows, equation (2.28) allows m states to be written in terms of the remaining n-m state variables. Therefore sliding motion is constrained to belong to Ru-m Euclidean space. In other words, the state vector is con trained to exist in the null space of matrix C, which is an (n-m)th dimensional subspace. System order reduction and disturbance rejection properties can also be proved using projector theory, which is a powerful approach to studying VSS. It provides a geometric point of view for understanding VSS and expands the theory. For example, it provides an expression for equivalent control ueq if CB is singular (see equation (2.23)). A detailed discussion including proofs of projector theory applications to VSS analysis and design is given by El-Ghezawi et al. in reference [21]. 19

PAGE 35

2.5 Disturbance Rejection in the Sliding Mode As mentioned in section 2.1, when a trajectory that originates away from the surface tends toward the surface it is sensitive to parameter variations and external disturbances. Disturbances encountered during this reaching phase have an effect in determining the initial conditions of the sliding mode. However, once in the sliding mode, the system obtains excellent disturbance rejection properties. In fact, under well-defined conditions, the system in the sliding mode is invariant to external disturbances. This section shows the conditions for which disturbances vanish from the sliding mode equations. It is based on Drazenovic (reference [ 19]). Again consider the multi-input system described by matrix equation (2.17). From equation (2.26) the equation of sliding mode motion caused by external disturbances is as follows: (2.29) For invariance to external disturbances, equation (2.29) must equal zero: (2.30) Expanding and rearranging equation (2.30) yields (2.31) 20

PAGE 36

The necessary condition to satisfy equation (2.31) is that vector D f can be written in the form Df=Bm where m is an m x 1 vector. Equation (2.32) simply asserts that vector D f must be in the range space of matrix B. This is also a sufficient condition which can be proved by inserting the expression forD f from equation (2.32) into equation (2.31) as follows: (2.32) Bm=B(CB)"1C Df m = (C B)"1C D f (2.33) Equation (2.32) can be satisfied for all possible combinations off if all columns of Dare linear combinations of the columns of matrix B. This requirement can be written as rank[BID]=rankB (2.34) Note that invariance to external disturbances does not depend on matrix A, only on B and D, the matrices that define how the controls and disturbances enter into the system equations. 21

PAGE 37

CHAPTER3 SLIDING CONTROL: METHODOLOGY OF JEAN-JACQUES SLOTINE This chapter summarizes the methodology of Jean-Jacques Slotine presented in references [4], [48]-[53], and [62]. Here the single-input single-output (SISO) case is addressed although this methodology can be extended to multi-input multi-output systems (MIMO) as shown in references [49] and [52]. 3.1 Sliding Control of Nonlinear Systems Consider the nth order dynamic system x(n)(t) = f (x; t) + b (x; t) u(t) (3.1) where x(t) is the output of interest, x = [ x x ... x
PAGE 38

The design goal is to control the system such that the state x(t) tracks a reference state r( t), i.e., a commanded trajectory, in the presence of imprecision on f(x; t) and b(x; t). To obtain tracking for all t > 0 using a bounded control u(t), the initial error state must be zero (3.2) where error vector e = (r-X)= [ e e ... e
PAGE 39

equation has been transformed from a function of x(t) to a function of e(t), with e = 0 as the equilibrium point of interest for the nonlinear system. As a result, when graphed in the error phase plane the sliding surface appears time invariant Regardless of r(t) and x(t) the surface passes through the origin. To illustrate the benefit, the system shown in figure 3.1 is regraphed in the error phase plane in figure 3.2 X Figure 3.1. Second-order system trajectories and sliding surface graphed in phase plane. e Figure 3.2. Second-order system trajectories and sliding surface graphed in error phase plane. 24

PAGE 40

With a zero initial tracking error (equation (3.2)), the task of tracking the commanded trajectory is equivalent to remaining on surface S(t) fort> 0. This is equivalent to obtaining position error e(t) by filtering the the scalar s(e; t) using a series connection of n-1 first-order lowpass filters with break frequency A. radians/second as illustrated in figure 3.3. Also note that s = 0 represents a differential equation with unique solution e = 0. L...------n-1 filter blocks _d P=dt Figure 3.3. Interpretation of e(t) as the output of n-1 first-order lowpass filters. 3.1.1 Sliding Condition Choose a control law u(t) such that outside surface S(t) the following inequality holds true: s2 (e; t) = s (e; t) s(e; t) s I where 11 is a positive constant that represents the minimum velocity at which the representative point moves towards the sliding surface from off the surface. (3.4) Inequality (3.4) is the sliding condition. (Also see inequalities (2.15), (2.16), and (2.17).) It states that the squared distance to the surface decreases along all system trajectories. In other words, all trajectories point toward the surface. If inequality (3.4) is satisfied, the surface becomes an invariant set. (A set G is an 25

PAGE 41

invariant set for a dynamic system if every system trajectory which starts from a point in G remains in G for all future time.) Positive constant Tl has units of rate and places an upper bound on the time required to reach the surface from a position off the surface. To formally define the meaning of Tl assume that initially the error state is not on the surface: s(t=O) > 0. Let freach be the time required to reach the surface s(t) = 0. Integrate inequality (3.4) between t = 0 and t = lreach First note that s2(e t) = s ds 2 dt dt Inequality (3.4) becomes Heres> 0, therefore sgn(s) = +1. ds s -s-nl s 1 dt ds sgn(s) dt S -Tl it-.11 d; dt s -1._.. Tl dt 0 dt 0 Change the limits of integration J.s (tn...,) 1t.-b ds S-Tl dt s (t. 0) 0 s (t ... 0) s n t -s(t=O) S Tllreach Tl lreach S s(t=O) 26

PAGE 42

lreach s; s(t=O) 11 (3.5) Now it is clear that the time required to reach the surface S(t) is proportional to the initial position error and that 11 represents the minimum rate at which the state moves to the surface. 3.1.2 Derivation of Control Law u(t) In the derivation of an expression for the sliding control law u(t), the following notational shorthand will be used: ,.. ,.. b = b(x; t) b = b(x; t) f= f(x; t) f=f(x;t) To obtain an expression for a control law u(t) that satisfies inequality (3.4), first define a differential operator p = d/dt and rewrite equation (3.3) as s (e; t) = (pm + f { pmi Ai) e(t) i -1 1 where m= (n-1) ( } = binomial coefficient = m! 1 i! (m-i)! Take the first time derivative of s(e; t) s(e;t)=(pn+ .f (7)Pn-iAi) e(t) 1 ., 1 m = e + .L ( 7} Ai e
PAGE 43

Noting that e(n) = rx, equation (3.7) can be rewritten as m s (e; t) = y(n)_ x(n) + .L ( A.i e from equation (3.1) and write m s(e;t)=r-f-bu(t)+ .L Ai e-f (x; t) + .L ( A.i e
PAGE 44

To satisfy the sliding condition given by inequality (3.4) despite uncertainties in the dynamics, add a term discontinuous across the swface s(e; t) = 0 u (t) = (t) + k(x) sgn (s) (3.12) where k (x) is the control discontinuity gain and the signum function sgn (s) = +1 for s > 0 and -1 for s < 0. Now consider the effects of the imprecision on the control gain b (x; t), which represents a bounded multiplicative uncertainty. We have (3.13) Calculate control gain estimate b (x; t) as the geometric mean of the bounds on the control gain. (3.14) This allows the introduction of the concept of a gain margin t) 1, defmed as (x; t) = ( bmax I bmin )lfl (3.15) Note that b (x; t) = bmax Again adopt the abbreviated notation = t). Bounds on the accuracy of the control gain estimate can be written in terms as Control law (3.11) must be modified to include the control gain estimate. u (t) = b -l (t) + k(x) sgn (s)) 29 (3.16) (3.17)

PAGE 45

Control law (3.11) must be modified to include the control gain estimate. u (t) = b -1 (t) + k(x) sgn (s)) (3.17) Control discontinuity gain k(x) must be chosen large enough to satisfy the sliding condition s2 (e; t) = s (e; t) s(e; t) s I To derive an expression for the minimum value ofk(x), first insert the expression for s(e; t) from equation (3.8) into inequality (3.4) and get (3.4) (7) '1..1 e<-il\s(e;t) 5 -111 (3.18) 1. 1 } Substitute the expression for u(t) from equation (3.17). .i (7}A.ie
PAGE 46

Regroup terms. Multiply both sides by -1 and regroup. ( k(x) sgn(s) ) s(e; t) Til s I + ( f -f ) s( e; I) + ( I ) ( J 7) A 1 e< o) s( e; t) ,... Multiply both sides by b t ) and write s e; t To create a group of terms equal 1} ii'(t), the equation (3.21) must be rewritten to include the 1} (-f). Write f = f + (fi) and note that A b A b(A A) f--f = f--f + (f-f) b b ,... ,... A b(A } bA = f+-f-f --f b b 31 (3.22)

PAGE 47

Use equation (3.22) to rewrite inequality (3.21) to include k(x) sgn(s) ;;, 11 sgn(s) (f-f)+(!1) ( r) (3.23) I I b bA b"" "" "" ( "" ) k(x) b 11 + b ( f-f) sgn(s) + b -1 u(t) sgn(s) (3.24) To guarantee that inequality (3.4) is satisfied for s(e; t) > 0 and s(e; t) < 0 requires that From equations (3.10) and (3.16) ..... I f -f I < F(x; t) and : S Therefore the minimum magnitude of k(x) needed to satisfy the sliding condition is k(x) (11 1) I I (3.25) The greater the uncertainties F and the greater the control discontinuity k across the surface. 32

PAGE 48

3.1.3 Example 1: Second-Order Nonlinear System Consider the second-order system x = f(x; t) + b u(t) = -a(t) xI x 1-kt x -k2 x3 + b u(t) where a(t) =I sin 27tt I+ 1, k1 = 9, k2 = 3, and b = 16. The best knowledge of the system dynamics is as follows: x = f(x; t) + b u(t) = a X I X 1-k1 X k2 x3 + b u(t) (3.26) (3.27) (3.28) (3.29) Parameter bounds from which parameter estimates can be made are available to the control designer. The bounds are as follows: 1 Sa S 2, (3.30) For parameter estimates, take the mean of the minimum and maximum of a, k 1 and k2 Take the geometric mean of the minimum and maximum of b. a= 1.5, k1 = 10, k2 = 2, and b = 19.365 ( b -1 = 0.0516) (3.31) Defme a sliding surface S(t) according to equation (3.3) with n = 2 (3.32) The dynamics in the sliding mode are s(e; t) = 0. The fmt time derivative of s(e; t) can be calculated as d .. s(e; t) = dt ( e + A.e) = e + A.e (3.33) 33

PAGE 49

Substitute e = r x and write s(e; t) = r x + A.e (3.34) Substitute the expression for x from equation (3.26) and write s(e; t) = r -f(x; t) -b u(t) + A.e (3.35) ffb = b = 1 and plant dynamics were known exactly, equation (3.35) could be set equal to zero by letting u(t) = r -f + A. e. However, there are parametric uncertainties the plant dynamics model. With imprecise knowledge of the plant dynamics, the best (t) of a continuous control law that would achieve s(e;t) = 0 is ,.., .. u(t) = r -f + A.e (3.36) To satisfy the sliding condition given by inequality (3.4) in the presence of parameter uncertainties and with a control gain uncertainty (b(x; t) ;t b(x; t)}, modify ,... u(t) by adding a term discontinuous across the surface s(e; t) = 0 and then premultiply ,... -1 by b to produce control u(t). u(t) = b -1 + k(x) sgn(s)) = b -1 ( r f + A.C + k(x) sgn (s)) (3.37) where the signum function sgn(s) = +1 for s > 0 and -1 for s < 0 and the magnitude of control discontinuity gain k(x) is large enough to satisfy sliding condition (3.4). 34

PAGE 50

A minimum magnitude for k(x) can be calculated from equation (3.25) k(x) (11 +F) + 1) I I (3.25) Calculate function F(x; t), which bounds the magnitude of the plant dynamics estimation error. F(x; t) = (amaxa) x 2 + Ckt maxkt) I X I + (k2 maxk2) I x31 = 0.5 x2 + 21 X I+ I x31 (3.38) Calculate gain margin as = (bmax I bmin ) 112 = ( 25 I 15 )112 = 1.29 (3.39) For this example, let 11 = 0.1, A.= 500 rad/sec, and define time constant t = 1/A. = 2 msec. The control law is given by u(t) = b -1 ( + k(x) sgn(s) ) = b -1 ( r -1 + A. e + k(x) sgn(s) ) = 0.0516 ( r + 1.5 X I X I+ 10 X+ 2 x3 + 500 e + k(x) sgn(s)) (3.40) with control discontinuity gain given by k(x) = (11 = 1.29(0.1 (3.41) To illustrate the reaching phase and exponential convergence of tracking error during sliding, let the initial error be e(O) = [ e(O) e(O) ] T = [ 0.1 0.0 ] T (3.42) 35

PAGE 51

Let the desired position trajectory be a 10Hz sinusoid of unit amplitude. To generate the reference vector r(t) = ( r r r ] T, input the desired position trajectory xd(t) into a second-order state variable fllter as shown in figure 3.4. Use bandwidth A. and, for this example, set = 0.707 (Butterworth fllter). Figure 3.4. Command fllter used to generate reference vector r(t). An error phase plane plot (position error versus rate error) of the first 200 milliseconds of the system response is shown in figure 3.5. Time is introduced to the portrait by small circled data points temporally spaced at 2 msec intervals. The surface is reached at t = lreach = 14 msec. Once on the surface, the system enters the sliding regime and the tracking error exhibits exponential convergence to the origin. As illustrated in the time history plot given in figure 3.6, tracking error decays as e(t) =Creach exp ( -500 (t -lreach)) where eruch is the position error when the surface was reached. 36

PAGE 52

Initial Errore (0) i -2 ..... -4 t ... 0 Reaching a: -6 Phase -8 -.02 0 .02 .04 .06 .08 .1 .12 Posilioto Error (rod) Figure 3.5. Example 1 error phase plane portrait .015 :r:tr .012 .... i : : .oog ......... !-= e (t) .. e exp ( ( t ) e(t) .006 .................... I I 0 I I I o I I I I I .OOJ 0 : i l 4--!. .OOJ ). _____ .014 .016 .018 .02 Time (sec) .022 .024 Figure 3.6. Exponential convergence of tracking error e(t) during sliding regime. 37 .026

PAGE 53

Steady state behavior begins at approximately t = 22 msec. Figure 3.7 shows time histories for position error e(t), control input u(t), and distance to surface s(t) for the time interval 22 msec s; t s; 200 msec 0003 .0002 .0001 Position 0 Error e(t) -.0001 -.0002 600 JOO Control Input 0 ------r------------1-------------t------------: : : u(t) -.300 1-r---------600 .2 s(t) 0 ..... .................................... .02 .04 .06 .08 .1 .12 Time (sec) .14 .16 .18 .2 Figure 3. 7. Example 1 time histories of position error e(t), control input u(t), and algebraic distance to the sliding surface s(t). 38

PAGE 54

Figure 3.8 illustrates the validity of using F(x; t) defined in equation (3.38) to bound the error on the estimate of the plant dynamics. It shows F(x: t) and I f(x: t)-f(x; t) I plotted versus time. Clearly F >If-rl. Figure 3.9 shows that control discontinuity gain k(x) given in equation (3.41) guarantees that the sliding condition is satisfied. The upper plot shows s s versus time. The lower plot shows a time history of11 I s 1. As shown in the plots, s s :s; 11 I s 1. 2100 .---------------.,.--..,...--.....,.-----:-----, 1800 1500 1200 900 600 JOO .04 .06 .08 .1 .12 Time (sec) .14 .16 .18 Figure 3.8. Example 1 time histories ofF and If d. 0 -100 ........ : r -200 s s > ... (l -JOO -400 :::::::::::::: ... : ... r::::::::::::r:::::::::: .. ltttt l i l l i -500 '---'----...L--"'----'----...L--"'----'----...L---J .02 .04 .06 .08 .1 .12 Time (sec) .14 .16 .18 .2 -.OOJ -.006 -.009 -ll Is I -.o12 -r--.. .. .. -.015 ... L ............ ------t.-----+ ....... -: : : : : : -.018 -.021 :::::::::::r::::::::::::l::::::::::::1::::::::::::t::::::::::::t::::::::::::t .. ::::::::::t::::::::::::t::::::::::.: -.024 ---'-'---..:...' ---.1 .02 .04 .06 .08 .1 .12 Time (sec) .14 .16 Figure 3.9. Example 1 time histories of sliding conditions s (upper) and 11 I s I (lower). 39 .18 .2

PAGE 55

3.1.4 Example 2: Alternate Solution for Second-Order Nonlinear System (Integral Control) Integral control can also be used. Defme the variable of interest w(e; t) as the time integral of the position error e(t) w(e; I)= f e (t) dt (3.43) With respect to this variable, the system is third order. Defme a sliding surface S(t) by the scalar equation s(e; t) = 0 with s(e; t) = (! + A.r w(e; t) f. I 2 = e + 2A.e + A. e (t) dt (3.44) Following the same procedure used in example 1, the first time derivative of s(e; t) is -. 2 s = e + 2A.e + A. e .. .. 2 = r -x + 2A.e + A. e .. 2 = r -f-b u (t) + 2A.e + A. e (3.45) Equation (3.36) becomes ,.. ,.. 2 u(t) = r f + 2A.e + A. e (3.46) from which control law u(t) can be written as u(t) = b-1 + k(x) sgn(s)) = b-1 ( r f + 2A.e + A.2e + k(x) sgn (s)) (3.47) 40

PAGE 56

3.1.5 Relating Bounds on Tracking Error to Distance to Surface S(t) To make this discussion applicable to both integral control and control without integral action, defme w(e; t) as the variable of interest. For control without an integrator, the variable of interest is the position error e(t). For integral control, the variable of interest is the time integral of the position error. e(t) for control without an integrator w(e; t) = f e(t) dt for integral control Also defme the tracking error vector w as w = [ w w(1) w(2) ... w e(2) ... e
PAGE 57

Again, adopt a notational shorthand such that w(t) = w(e; t) and s(t) = s(w; t). And if there is no possibility of confusion, the time dependence also will not be stated explicitly and simply s and w will be used. The sliding surface S(t) can be defined as a function of the variable of interest. Let the surface be defmed by the scalar equation s(t) = 0 with s(t) = { + A t w(t) (3.52) where w(t) is the variable of interest from equation (3.48) and, for a nth order dynamic system as defined in equation (3.1 ), m = n-1 when no integrator is used and m=n for integral control. Bounds on s (t) can be directly translated into bounds on the tracking error vector w. As illustrated in figure 3.1 0, tracking error w(t) is obtained from s(t) through a series connection of m first-order lowpass ftlters. 1 w(e; t) =---s(t) L.------m filter blocks d where p = dt (3.53) Figure 3.1 0. Interpretation of w(t) as the output of m first-order lowpass filters. 42

PAGE 58

Let w(O) = 0 and let y 1 (t) be the output of the first filter. Y1(t) = L1 {-1-} s(t) = r exp (-A.(t-t)) s(t) dt (3.54) p +A. Jo If s(t) is bounded such that I s(t) I S , For the second filter I yl(t) I s 4> ( 1-exp (-A.t)) A. n(t) = f exp{-A (tApply the bounds from (3.56) and write I Y2(t) I s r exp (-A. (tt)) dt A. Jo I Y2 (t) I s c1> !(1-exp (-A. t)) A.A. 43 (3.55) (3.56)

PAGE 59

In general, for filter number i the output is bounded as ell I Yi (t) I = I w(t) I s 1 A For filter number m, the output is bounded as Defme a new variable as and write ell I Ym (t) I = I w(t) I s Am I w(t) Is e This is the requirement for tracking to within a guaranteed precision The ith derivative of the variable of interest w(t) can be written as (3.57) (3.58) (3.59) (3.60) w
PAGE 60

Zt I I I ,... p+A p+A I (m-i) filter I L i filtered _j blocks __ ____. differentiator blocks _d p=-clt Figure 3.11. Interpretation of wCi) as the output of m-i first-order lowpass filters in series with i filtered differentiators. In references [4] and [51], an expression for the bounds on the magnitude of the ith derivative of the variable of interest is obtained through the following three steps. Variable Ym-i (t) is the input to the first filtered differentiator. From equation (3.57), Note that 4 I Ymi (t) I -. Am-1 _P_ = p +A.-A. = p+A. p+A. A. 1--p+A. Bounds on s(t) are related to bounds on the the variable of interest as follows: lw!ili,;(J I w!il I" 2 At) I wCi> I (2A.)i e (3.62) (3.63) 'V t 0, I s(t) => "if t 0, I wCi)(t) (2A.)i E fori= 0, ... m (3.64) 4 whereE=-. Am 45

PAGE 61

It is not clear why the maximum magnitude of _p_ is taken to be 2. A frequency p+A. response plot for _p_ is given in Figure 3.13, which shows that it is a high pass filter p+A. of bandwidth A. and unity pass band gain. It does not amplify. The amplitude of the output is less than or equal to the amplitude of the input. Therefore, the following stronger statement on the bounds of the ith derivative of the variable of interest holds: 'V t :2: 0, I s(t) I Cl> 'V t :2: 0, I w(i>(t) I S A.i fori = 0, ... m (3.65) Inequalities (3.64) and (3.65) can also be misleading. For example, consider tracking error bounds for Example 1 control without an integrator (section 3.1.3) and Example 2 integral control (section (3.1.4)). Inequality (3.64) states that position error with an integrator is guaranteed to be only half as good as without. Example 1: n=2 w=e m = (n-1) Example 2: n = 2 w = f e(t) dt m=n=2 Additional insight can be gained from the frequency response plots of the filtering of s to obtain wand wCl>. Figure 3.12 shows the frequency response for the first-order low pass fllter -1 -, which has a pass band gain of.!.. It is clear that p+A. A. if a signal I s I Cl> is input into a series connection of i lowpass fllters of this form, 4 the fllter output I Yi I --:-. A. I 46

PAGE 62

Figure 3.13 shows the frequency response for the filtered differentiator ________' p+A. which is a highpass filter with break frequency A. and unity pass band gain. I ). : ::::::: t _._ :::J:J::l:rtrm::::::r::u::t:rtm::::::r:u:nrm:::::::r::rt:rl:!:ll fo >. ....... J. ... .. .l.!.l!.l!l ...... J .... l .J..l.l.lll!. ...... l ... l.J.l.ll!ll ....... : .... l .l.J.J.!.l! l!l!lllll !!lllll\l l : : ::::::: : : ::::::: : ; ::::::: : : ::. 100 ). O.DI ). 0.1). ). r.-.quency (rod/uc) 10). 100). ..... .. : .. ;.; .; ....... ........ .:. ....... :-... : .. .:. .; .. : .......... !;ll1Hl l1lllllH = : : ::::::: : : ::: :.: : : ::::::: : : :::::: -60 :::::::r::u:m:m:::::::[::::u::u:[I[t::::-TI[TliJI[:::::::c:u:u:u! 1 1 \ l 1 H \ 1 ; l ll 1 ; ; i : l l ll ; 1 l l l \ 1 l 1 1 \ _,:1 r-r--r-nnr:rn-nm--rr .. 1.0 0.707 0.01). 0.1). ). rrequency (rod/eec) 10). Figure 3.12. Frequency response of -1 p+A. :___ :_; i_ i..J :..J Ll.'' ; l ; ; ; 1 ; 1 j ; l : i i l i 0 o I o II ....... ... .. + ..... ; . .. !. : ...... ... .:.. .. .!....! .... .. .!.. :. :. : : : : : : : : : : i i 1 i i j l j i i i l 1 l l l l l i 1 i l : l :!!ill i i i: ::: : : : :::ill : : : ::: !! } o. i r"TTiTfTT-rTiTT1TirTTFrf1 .. : : : .. :::: : : ::::::: : : ::::::: : : :::::: ....... 1 .... : ....... i .... .. J .. ....... l ... l .. ....... l .... i .. : !lli;H l l illllli l 100). l l l l j ll l l l 1 l l j j i l l l ; l llll l l i l i ll 0.0 I ..._---'---'--'-'--'--'--'-:.:._--'-.......:.......:....:....:....:...:..:..:.----''--'--'-:..:,.:..'-'-'---'--;....;....;....;...;"'"'"' 0.01 ). 0.1). ). 10). 100). 0.1). Figure 3.13. r.-.quency (rod/uc) ). f"requency (rad/oec) 10). Frequency response of________ p+A. 47 100).

PAGE 63

For example 2, the variable of interest is the time integral of the position error. Position error is obtained from scalars by passings through a series connection of a lowpass fllter and a flltered differentiator as shown in figure 3.14. s 1 P+).. _d P= Figure 3.14. Filtering of s(e;t) for integral control of second-order system. s(t) = ( p + A )2 w(t) s(t) = ( p + A )2 e(t) p e(t) = P s(t) 2 ( p + A.) (3.66) (3.67) (3.68) Figure 3.15 shows the frequency response for the system given in figure 3.14. Maximum magnitude is 1/(2A), which occurs at A radlsec. With the low and high frequency attenuation, one can see that integral control should offer improved tracking performance over control without an integrator. To further illustrate performance with integral control, simulation runs were performed for examples 1 and 2 with e(O) = 0. Time histories of scalar s(t) for each example are very similar as illustrated in figure 3.16. As shown in figure 3.17, tracking error e(t) for integral control is approximately 113 that of control without an integrator. 48

PAGE 64

go 60 "ii" 1: 30 z. .!. 0 = -30 2 II.. -60 I 2). 0.1 A A Frequency (rad/sec) A Frequency (rod/oec) lOA lOA Figure 3.15. Frequency response of P 2 (p +A.) .08 .1 .12 ,14 .16 Time (sec) Time (sec) IOOA !OOA .18 Figure 3.16. Scalar s(t) for (a) example 1: control without an integrator and (b) example 2: integral control. 49 .2

PAGE 65

.00015 jj-r----:---j--j--t:j 0001 jt--t--t T ... jtt-t ..... Position Error .00005 .. ----i-----+--......... ........ --i .. ------+-.. -.. +.. -e(l) 0 E-\---+-; ____ :.,..; ----:,.,; ,L---"----'"----+' ----'"----''"--1-....:.....----1 !So Integrator -.00005 : --.. ----r-.. ------r......... -1 ........... 1 .. -.0001 .......... : ........... .,. .......... -:.......... -:......... .;. .......... : ..................... -:-.......... .......... -.ooo15 .......... ; ........... L .......... l ......... ..l ........... L .......... L .......... L ....... ........... ; ......... .. : : : : : : : : 0 .02 .04 .06 .08 .1 .12 .14 .16 .18 .2 Time (sec) .ooo 15 -----j ........... i ........... -r ........... t .. -i-----i... ---t------r-------i -----,,.,.,:,:," =: t : J r rt=::= '""'"' lrl lr -.000 15 ......... j--j------r--.. "t''"'''''''j''''" ""''j .... t-----[ ---"''['''"''''"' -.0002 "----'---;__-....:....._.......;:.__....:..... __ ..__....:....._.......;.___ ........ _-J 0 .02 .04 .06 .08 1 12 14 16 18 .2 Time (sec) Figure 3.17. Position error e(t) for (a) example 1: control without an integrator and (b) example 2: integral control 50

PAGE 66

3.2 Quasi-Sliding Control: Introduction of a Boundary Layer to Eliminate Chattering In order to account for modeling imprecision and disturbances, control laws that satisfy the sliding condition given in inequality (3.4) are discontinuous across surface S(t). This leads to control chattering. Chattering is undesirable because it involves high control activity/authority and may excite high frequency unmodeled dynamics such as flexible structural modes. To eliminate the chattering problem, the control discontinuity can be smoothed by introducing a thin boundary layer B(t) neighboring the switching surface: B(t) = { e, I s(e; t) (3.69) where ci> is the boundary layer "thickness." A sliding surface for a second order system is shown in figure 3.18. A boundary layer of thickness ci> has been introduced to this surface in figure 3.19. As shown in figure 3.19, variable can be interpretted as boundary layer "width." Note that for a sliding surface with s = (:t + A. r1 "thickness" is measured along the eCn-1> axis and "width" is measured along thee axis. e s = e + A.e = 0 :. e =A.e Figure 3.18. Sliding surface for second-order system. 51 e S=O Figure 3.19. Sliding surface with boundary layer.

PAGE 67

Outside the boundary layer, control u(t) is the same as before, which guarantees boundary layer attractiveness. Inside the boundary layer, control u(t) is interpolated. The discontinuous signum function (figure 3.20) is replaced by a continuous saturation function (figure 3.21 ). sgn (s) +1 1--------If----s -1 ( ) + 1 for s > 0 sgn s = -1 for s < 0 Figure 3.20. Signum function (discontinuous). sgn (s) Cl> .! for Cl> < s < + Cl> cl Figure 3.21. Saturation function (continuous). As illustrated in Figure 3.22, control law u(t), becomes u (t) -k(x)) Figure 3.22. Interpolation of control u(t) inside boundary layer. u(t) = b -I ('ii(t) + k(x) (3.70) 52

PAGE 68

3.2.1 Example 3: Second-Order Nonlinear System with Time-Invariant Boundary Layer To illustrate how the boundary layer smooths the control chattering, the simulation performed in example 1 (no boundary layer) was repeated with the control now given by u (t) = b -1 { (t) + k (x) with "-1 b =0.0516 = i-1 +A. e = 'r' + 1.5 X I X I+ lOx + 2 x3 + 500 e k(x) = P (11 +F)+ (p= 1.29 (o.l A. = 5000 rad/sec (796 Hz) Initial tracking error e(O) = 0 Input Xtt (t) = sin 201t t =l.l Figure 3.22 shows time histories for control input u(t), position error e(t), and scalar s(t). The time window for the plots is longer than in example one because the growing error in the time interval from 0.00 to 0.25 seconds gives rise to stability concerns. However, behavior in the period from 0.25 to 0.50 seconds shows that the system is stable. Comparing these plots with plots from example one (figure 3. 7 ), note that the high frequency components of u(t) produced by the signum function do not appear when the saturation function is used. 53

PAGE 69

In figure 3.22 the representative point remains within the time invariant boundary layer and, from equation (3.60), I e(t) I => I e(t) I = 220 J.l.rad which can be seen in the plot of e(t). 400 200 Control Input 0 u(t) -200 -400 .1 .15 .2 .25 .J .J5 .4 .45 .5 Time (seconds) -r-r.0001 .... .!. .............. : .... .......... .! ............... .. .. I I I I I I I I I I Position .00005 ................. t ............. .L.. .. ......... .............. l... .. ........ t. .............. .. .. I I I I I I Error e(t) -.00005 ...... i ... j ....... I I I I I I I I : : : 0 .05 .1 15 .2 .25 .J .J5 .4 .45 .5 1 2 l l l l _g rTr .6 .J Time (seconds) s(t) o -.J -.6 -.9 0 .05 .1 .15 .2 .25 .J .J5 .4 .45 .5 Time (seconds) Figure 3.23. Example 3 (time-invariant boundary layer) time histories for control input u(t), position error e(t), and scalar s(t). 54

PAGE 70

3.2.2 Time-Varying Boundary Layer (t) Chattering is eliminated by smoothing the control discontinuity inside boundary layer B(t). Application of a boundary layer surrounding the sliding surface s(e; t) = 0 essentially assigns a low pass filter structure to the local dynamics of the variable s(e; t). lnterpretting the boundary layer as a fJ.lter leads to a means of illustrating the trade off between tracking precision and robustness to unrnodeled dynamics. In this section, boundary layer thickness is made time varying. Boundary layer thickness will be modulated such that s trajectories are always inside the boundary layer. To accomplish this, sliding condition (3.4) must be modified to require that the distance to the boundary layer always decreases. "Above" the boundary layer s (t) d -(s) s; -11 dt negative slope s(e; t) is becoming less positive "Below" the boundary layer s s; (t) .!!_ (s (-)) 11 dt positive slope s(e; t) is becoming less negative (3. 71) (3.72) Again note that the derivative of s2(e; t) can be written as the product of s(e; t) and its first time derivative: 1 d 2 2 dt s (e; t) = s(e; t) s(e; t) 55

PAGE 71

For s Cl>(t): And s > 0 :. s = I s 1. For s Cl>(t): s Note that in this region s S 0. Multiplying both sides by s, a negative number, to "S." Multiply the right-hand side of the inequality by sgn(s) = 1. s s S ( -11) s sgn(s) And s sgn(s) =Is 1. Combine equations (3.73) and (3.74) and write 1 d (. ) --s2 = s s s 11 I s I 2 dt Is (t) (3.73) (3.74) (3.75) Inequality (3. 72) contains an additional term ci> I s I that does not appear in (3.4 ). Note that the magnitude or(ci> -11) is greater during boundary layer contraction (ci> < o) 56

PAGE 72

than during boundary layer expansion (> o). Therefore, the boundary layer attraction requirement (3.75) is more stringent during contraction than during expansion. First consider the case in which there is no control gain uncertainty, i.e., ...... b = b = 1. The introduction of (3. 75) necessitates a modification of the control discontinuity gain k(x). The term "-P" must be added to k(x) to yield the time-varying boundary gain k(x): k(x) = k(x) P (3.76) The rate of change of boundary layer thickness is subtracted from k(x) because when P > 0 the boundary layer atraction requirement is less stringent That is, the magnitude of the compensatory command is reduced. Control law u(t) becomes u(t) = ;; (t) + k (x) (3.77) with m ;;(t)=r 57 (3.79)

PAGE 73

For an nth order system described by equation (3.1) the time derivative of s(t) equals m s = r(n)_ x-f-u+ .:L (7)A.iefk(x).!.. + .L ( 7) A.i e
PAGE 74

dynamics of which depend on the desired trajectory r(t) and with inputs that are, to the first order, "perturbations." A block diagram representation of the closed loop error dynamics is given in figure 3.24. Perturbations are filtered by the dynamics described by equation (3.85) to yield s. By the defmition of s (equation 3.6), position errore is a low pass filtered version of s. f (r) + 0 (e) .. 1 p + k(r) Cl>(t) Modulation ofel> (t) s .. 1 Definition of s(e; t) e Figure 3.24. Structure of closed loop error dynamics. ... Time varying boundary layer thickness Cl>(t) can be adjusted such that equation (3.85) represents a frrst-order lowpass fllter of bandwidth A.. Let :. k (r) = A. Cl> (t) (3.86) From equation (3.76) k (r) = k (r) Cl> :. Cl> + k (r) = k (r) (3.87) Insert (3.86) into (3.87) and write (3.88) 59

PAGE 75

k(r) Figure 3.25. Block diagram of boundary layer dynamics. Equation (3.88) is known as the balance condition. It adjusts (t) such that the closed loop system mimics an nth order critically damped system. Boundary layer dynamics are shown in block diagram form in figure 3.25. Also note that equation (3.88) allows equation (3.76) to be rewritten as k (x)= k (x) -k (r) +A. (3.89) ,... Now consider the general case, in which b b. In order to satisfy the quasi-sliding condition given by (3.72) in the presence of a control gain uncertainty (i.e., non-unity gain margin time-varying boundary layer gain k (x) must be defined separately for boundary layer expansion and contraction as follows: Control law u(t) becomes u(t) = b -l (t) + k (x) 60 (3.90) (3.91) (3.92)

PAGE 76

To insure that the time-varying boundary layer provides low pass filtering of bandwidth A. requires that (k(r)) = A. (t) b(r) max Defme reference gain margin as = b(r) max and write k (r) (t) From equations (3.90) and (3.91) From equation (3.95) > 0 k (r) = k(r) - < 0 k (r) = k(r) > 0 = ( k(r) k (r) ) < 0 cP = ( k(r) k (r) ) 61 (3.93) (3.94) (3.95) (3.96) (3.97) (3.98) (3.99) (3.100) (3.101)

PAGE 77

Balance conditions are written as > 0 + A. = l3r k (r) (3.102) < 0 A. k (r) (3.103) += p/ Pr A block diagram representation of the boundary layer dynamics for expansion and contraction is given in figure 3.26. :. > 0 A. k(r)>Pr To modify equation (3.89) to account for control gain uncertainty k (x) = ( k (x)k (r)) + k (r) Expansion Contraction k(r) k(r) Figure 3.26 Boundary layer dynamics with control gain uncertainty. 62 (3.104) (3.105) (3.106)

PAGE 78

From equations (3.90), (3.91), (3.96), and (3.97) Cl> > 0 => k (x) = k(x) Cl k (r) = k(r)-Cl> => k (x) = ( k (x)-k (r)) + k (r)-. => k (x) = ( k (x)-k (r)) + k (r)Cl> Apply equations (3.100) and (3.101) A.Cl> k (x) = ( k (x)-k (r)) + A.Cl> => k (x) = ( k (x) -k (r)) + Therefore, for boundary layer contraction and expansion A.Cl> k (x)=(k(x)-k(r))+63 (3.107) (3.108) (3.109)

PAGE 79

3.2.3 Example 4: Second-Order Nonlinear System with TimeVarying Boundary Layer To illustrate how a time-varying boundary layer improves system performance, the system examined in example 3 (time-invariant boundary layer) was controlled using a time-varying boundary layer. For this example, the control equation is with u (t) = b -1 ( (t) + k (x) ...... -1 b = 0.0516 = i -1 + 1.. e = 'r' + 1.5 X I X I + lOx + 2 x3 + 500 e A. (t) k (x) = k (x) -k (r) + -= 1.29 ( 0.1 + 0.5 i + 21 xI + I x31 } + 0.291 k(r) = (11 = 1.29 ( 0.1 + 0.5 r2 + 21 r I + I r3l ) + 0.291 A. = 5000 rad/sec (796 Hz) (t) = k (r) A. (t) + 11 1 A (t) = -k (r) - (t) + 11 p pz cl>(O) = 11/A. = 20 X 1 Q-6 Initial tracking error e(O) = 0 Input xd(t) = sin 201t t = 1.29 11 = 0.1 64

PAGE 80

Figure 3.27 shows how the reference vector affects the boundary layer thickness for the k(r) function used. (Function k(r) reflects parametric uncertainties.) Note that boundary layer thickness Cl>(t) assumes a maximum value when I r (t) I= rmax and r (t) = 0. Conversely, Cl>(t) assumes a minimum value when r (t) = 0 and I r (t) I= Tmax Also note that s(t) remains within the boundary layer. 1.2 .9 .6 Reference .3 Position o r(t) -.3 -.6 -.9 0 .05 .1 .15 .2 .25 .3 .35 .4 .45 .5 Time (seconds) 60 40 -20 -40 -60 0 .05 1 .15 .2 .25 .3 .35 .4 .45 .5 Time (seconds) 1.2 .9 .6 .3 s(t) o -.3 -.6 -.9 -1.2 t---....:i....--__:!.... 0 .05 .1 .15 .2 .25 .3 .35 .4 .45 .5 Time (seconds) Figure 3.27. Example 4 (time-varying boundary layer) time histories for control reference position r (t), reference velocity r (t), and scalar s(t) 65

PAGE 81

Control input u(t) is plotted in figure 3.28, which also compares the position error e(t) from example 3 (time invariant boundary layer) with that of this example. At no time does the position error of the time-varying boundary layer example exceed that of the time invariant boundary layer. In fact, it exhibits up to three times better tracking within several time intervals. 600 400 200 Control Input 0 u(t) -200 -400 -600 0 .0002 .00015 .0001 Position .00005 .05 .I .15 .2 .25 .J .35 .4 .45 .5 Time (seconds) Error o e(t) -.00005 -.0001 -.00015 -.0002 0 .05 .I .15 .2 .25 .3 .35 .4 .45 .5 Time (seconds) Figure 3.28. Example 4 (time-varying boundary layer) time histories for control input u(t) and position error e(t). 66

PAGE 82

3.3 Adaptive Sliding Control The adaptive sliding control theory presented in this section is based on Slotine and Coetsee (reference [ 48]). Lyapunov theory is the formalism used to derive the adaptive controller. Derivation of the control law follows Narendra (reference [39]). The adaptive mechanism addresses parameter estimation. It is applicable to systems of the type r x
PAGE 83

Use the sliding surface (3.112) with a neighboring boundary layer B(t) = { e, I s(e; t) I } (3.113) If, in a spherical region B(x, Ro) with center at equilibrium point X., there exists a scalar function V(x; t) with continuous partial derivatives such that 1. V is positive definite, and 2. V is negative semi-definite, then the equilibrium point xis stable in the sense ofLyapunov. If, in a certain neighborhood of the equilibrium point, Vis positive defmite and V, the derivative of V along the system trajectories, is negative semi-definite, then V(x; t) is a Lyapunov function for the non-autonomous system. Defme a Lyapunov function candidate as V (t) = }{ s&2 + r&2) (3.114) where s& is a measure of the algebraic distance from the current state to the boundary layer s& = s (3.115) 68

PAGE 84

and is a composite measure of parameter estimation error, such that where hi(t) is the estimate of and b(t) is the estimate of constant b. b The derivative of the Lyapunov function candidate is (3.116) (3.117) An expression for the tenn can be written by taking the derivative of equation (3.116). (3.118) Note that inside the boundary = 0 and outside the boundary = s. This can be demonstrated as follows: Inside the boundary layer (
PAGE 85

Let boundary layer thickness ci> be time invariant ( ci> = 0 ). Therefore, outside the boundary layer = s. Equation (3.117) becomes v = s + (3.119) To obtain an expression for s, defme a differential operator p = and rewrite equation (3.112) as where: { 0 ) = binomial coefficient = n! i 1!(n-1)! The time derivative of s can be written as D = e + L ( ) A.i e x
PAGE 86

Substitute the expression from equation (3.110) for x. r n s = rb u(t) + L ai Yi (x; t) + L, ( ) A.i e + it, ( 7 ) '-i e + ( A.i e 1=1 Terms in equation (3.125) have been grouped to suggest that the adaptive problem will be treated as sliding control with a boundary layer plus an adaptive portion that improves the estimate of the system dynamics. 71

PAGE 87

Insert the expression for u(t) from (3.125) into equation (3.122) and write r r n -b L hi Yi (x; t) + L ai Yj{x; t) + L ( ) A.i e + b b -1 b (3.128) 72

PAGE 88

Select adaptation laws to cancel terms in equation (3.128). hi= Yi (x; t) sl1 (3.129) (3.130) By inserting sl1 = 0 in equations (3.129) and (3.130), it is seen that adaptation ceases when the state reaches the boundary layer. Selection of the adaptation laws in equations (3.129) and (3.130) reduces the expression for V to V = -{ 11 sat{:}) sl1 Note that, outside the boundary layer -{ 11 sat{:}) sl1 = -111 sl11 < 0 Equation (3.59) becomes: V (t) = 11 I sl11 < 0 v (t) = 0 outside the boundary layer inside the boundary layer (3.131) (3.132) (3.133) The Lyapunov function candidate V (t) of equation (3.114) is positive defmite, and from equations (3.132) and (3.133), its time derivative is negative semidefinite. Therefore, the equilibrium state of the adaptive sliding system is stable in the sense of Lyapunov. 73

PAGE 89

To assign weights to the parameter estimates according to the relative importance attributed to each term, redefme measurement as: ( r (" ) 2 (" -1 ) 2) = b i + b (t) ba-b-t (3.134) and the following estimation rules: i = 0, 1, ... r (3.135) (3.136) 74

PAGE 90

CHAPTER4 CASE STUDY: ADAPTIVE SLIDING CONTROL OF A SINGLE-AXIS STEERING MIRROR A single-axis steering mirror is a suspended planar mirror with a single rotational degree of freedom. Suspension may be mechanical (flexures or springs) or magnetic. Electrodynamic actuators and position feedback sensors (capacitive, inductive, or optical) are used to actively control the angular position of the mirror as part of a closed loop control system. The function of this system is to position the mirror such that a collimated beam of light incident to the mirror is reflected along a commanded angle. Incoming light is "steered" along a desired optical path. For example, a steering mirror can be used to maintain optical alignment between two optical benches, each with a single rotational degree of freedom. As shown in figure 4.1, a laser communication system is mounted on a two-body system. Without an alignment system, relative motion between the two bodies and structural vibration of either body will result in optical misalignment, hence performance degradation or failure of the communications system. To maintain optical alignment, an alignment laser on body 1 generates a beam that traverses the same optical path as the communications beam. An alignment sensor on body 2 detects optical misalignment A steering mirror in the optical path is controlled closed loop to null the alignment sensor, thus maintaining optical alignment

PAGE 91

,. -->(Controller!--, I I Steering Mirror -----r----, Receiver ,_....,_ Laser TF =Turning Flat BS '"' Beam SpliUer Alignment Laser Transmitter Figure 4.1. Steering mirror used in an optical alignment system. The steering mirror considered in this chapter can rotate about its vertical axis. As illustrated in figure 4.2, the mirror is clamped to a composite panel, which is attached to the frame with flexural pivots, which serve as rotational bearings. Each flex pivot consists of a pair of springs crossed at 90 and a set of supporting segments. Flex pivots are used instead of ball bearings because they offer less friction and do not present the nonlinearities associated with ball bearings. However, a flex pivot has a torsional spring constant and, when displaced from spring null, will produce a reaction torque. Four linear moving coil actuators are used to apply torque to the mirror. Capacitor plate sensors are built into the mirror assembly (see figure 4.3) to provide a measurement of the mirror-to-base angle. Stationary capacitor plates are mounted to the frame; moving capacitor plate members are attached to the composite panel which also supports the mirror. These capacitor plate sensors are available for use as a feedback sensor or an external optical sensor may be used. 76

PAGE 92

Flexural Pivot Mirror Stationary Capacitor Plate MovingCoil Actuator Panel Mount Figure 4.2. Single axis steering mirror. Composite Panel Moving Capacitor Plates Figure 4.3. Steering mirror capacitor plate sensor (top view). 77

PAGE 93

4.1 Plant Truth Model A symbolic representation of the steering mirror assembly is given in figure 4.4. It is a sixth-order mechanical system comprised of three rotational inertias: aluminum frame (11), composite panel (J2 ) and mirror (13). The fundamental mode of the system is created by the flex pivots which connect the composite panel and the frame. The flex pivot spring rate is shown as spring K2 in figure 4.4. Viscous damping, due primarily to air resistance, is represented by damper B2 An actuator applies torque A to the composite panel and a reaction torque to the frame. Two additional inertia-spring-damper subsystems exist Spring K3 and damper B3 model the mounting of the mirror to the composite panel. Dynamics also are present between the frame and the optical table to which the frame is bolted. The table is modeled as an infinite inertia. Table Frame XJ Flexures K2 Composite Panel where: x 1 = inertial frame position Mirror x2 = inertial composite panel position x3 = inertial mirror position Figure 4.4. Symbolic representation of steering mirror assembly. 78

PAGE 94

Differential equations describing the mirror assembly dynamics can be derived from free body diagrams as follows: K2 ( X2XI ) Bz ( xz-:iq ) A Figure 4.5. Free body diagram of steering mirror assembly frame. K2 (X2-Xl Bz (x2-x1 A K3 ( XJX2) B3 ( x3-x2) Figure 4.6. Free body diagram of steering mirror assembly composite panel K3 ( XJX2) B3 ( x3-x2) Figure 4.7. Free body diagram of steering mirror assembly mirror. 79 (4.3)

PAGE 95

Equations (4.1), (4.2), and (4.3) can be written compactly in matrix form as follows: X= [J]-1 ( [B] X+ [K] X+ H A) (4.4) where: x = [ x1 x2 x3 ]T [ J, 0 g r [J]-1 = J2 0 J3 [ B, B2 + B2 0 l [B] = + -B2-B3 + B3 + B3 B3 [-K1K2 + K2 0 l [K] = + -K2-K3 + K3 + K3 -K3 H = [ -1 1 0 ]T Numerical values for the parameters contained in these matrices are given in Table 4.1. Table 4.1. --Mirror assembly parameter values Component 1 Ji (kg-m2) Bi (Nrnlrad/sec) Ki (Nrnlrad) Frame 1 1.65 x w-3 2.00 x w-1 6.514 X 1()4 Panel 2 1.65 X 1(}4 2.00 x w-3 1.000 X 10 Mirror 3 1.65 X 1Q-4 1.80 x w-2 1.175x1oJ 80

PAGE 96

Equation (4.4) can be written in state variable fonn as y=Cx+Du where: [ 0 F-J-1 K ] C=[OOIOOO] (4.5) (4.6) Inserting the parameter values from table 4.1 into equation (4.5) clefmes a system with eigenvalues listed in table 4.2. Table 4.2. -Eigenvalues of mirror assembly Eigenvalue (radlsec) Freq (Hz) Percent Resonant Mode Damping -3.0287 j 55.137 8.79 5.5 Frame/Flexure/Panel -1093.9 j 3612.3 601 29 Mirror/Panel -61.212 j 6282.9 1000 1.0 Frame Frequency response plots of the steering mirror assembly are shown in figures 4.8 and 4.9. Both plots show angle output for torque input. Figure 4.8 shows the angle sensed by the capacitor plate sensor-the relative angle between the composite panel and the frame. Figure 4. 9 shows the inertial mirror angle as the output. Note the 1kHz mode prominent in figure 4.8 does not appear in figure 4.9. 81

PAGE 97

20 0 -20 ...... -40 18 -60 -80 -100 -120 1 0 -JO i -60 "0 "" -90 .. 0 -120 Q. -150 -180 1 I I 0 101 I I I I Ill 10 Frame/Flexure/Panel .. I I I I II II I I I I I I II I I I I I Ill 100 rrequency (Hz) I I I I I II I I I I Ill I I I o til 100 rrequency (Hz) 1000 I I I I I Ill I I I I I Ill 1000 I I I I I II I I I I I II I I I I Ill I I I I I II 10000 I I I I I I I I II I I I I I II 10000 Figure 4.8. Steering mirror assembly frequency response. Input: actuator torque. Output: relative angle (x2 -x1 ) JO 0 -JO "" -60 II) -90 "0 -120 -150 -180 0 -50 ...... -100 "0 "" = -150 0 -200 Q. -250 -300 1 1 100 rrequency (Hz) 100 rrequency (Hz) I I I I I Ill I I I I I o : : :! :::: I I I I Ill I I I I I II I o I I I II 1000 10000 1000 10000 Figure 4.9. Steering mirror assembly frequency response. Input: actuator torque. Output: inertial mirror angle (x3 ). 82

PAGE 98

Actuators are linear, moving coil type with a high-bandwidth current-control electronic drive. Output torque is a linear function of actuator current: A(t) = KT i(t) where A(t) is the actuator torque (Nm), KT is the actuator torque scale factor (Nm/amp), and i(t) is the actuator current (amp). (4.7) Actuator current is related to the voltage applied to the drive electronics by the following differential equation: di dt = 27t fact[ Kv V (t) -i (t)] (4.8) where: i(t) is the actuator current (amp), v(t) is the applied voltage (volts), fact is the bandwidth of the actuator drive system (Hz), and Kv is the actuator drive electronics scale factor (amps/volt). 83

PAGE 99

Digital-to-analog (D/ A) converters limit the applied voltage to a maximum magnitude as follows: v(t) = V max sat ( ) where v(t) is the applied voltage, V max is the maximum output voltage of the D/ A converter, vcmd(t) is the commanded voltage (input to the D/A converter), and (+1 sat(x) = x -1
PAGE 100

Maximum mirror travel is 1.10 mrad. Position information is available from two sensors: (1) a capacitor plate sensor which measures the relative angle between the composite panel and the frame, and (2) an autocollimator sensor which measures the inertial angle of the mirror. Each sensor is linear throughout its field of view and has the same scale factor: .10 mrad I volts= 110 J.lfadlvolt. Voltage output of each sensor is given by the following equations: V cp(t) = Kq, (x2-x1) V ac(t) = Kac X3 (4.11) (4.12) where V cp(t) is the capacitor plate output voltage, V ac(t) is the autocollimator output voltage, Kcp is the capacitor plate scale factor (volts/rad), Kac is the autocollimator scale factor (volts/rad), x1 is the inertial frame angle (radians), x2 is the inertial compositive panel angle (radians), and x3 is the inertial mirror angle (radians). Table 4.4 summarizes the available position sensors. No rate measuring sensors are available. Table 4.4. --Position sensor specifications Sensor Sensed Angle Field of View Scale Factor Capacitor Plate (x2-x1) .10 mrad 110 JJradlvolt Autocollimator XJ .10 mrad 110 JJradlvolt 85

PAGE 101

Analog-to-digital (AID) converters and digital to-to-analog (0/ A) converters are volt, 16-bit devices. The discrete nature of the converters introduces a quantization equal to volts/ counts= 305.18 J.Lvolts/count. As previously discussed, the voltage range of the D/ A converter introduces an actuator saturation nonlinearity. The mirror travel is within the volt range of the position sensors. Therefore, the sensors are always valid That is, the mirror position can always be obtained from the sensor voltage output The digital sampling rate is 12.5 kHz and there is a full sampling period (80 J.1Sec) processing delay. That is, actuator commands based on sensors sampled at time t=kT are not issued until time t=(k+l)T. Anti-aliasing filters are fourth-order Butterworth low pass filters with 5kHz bandwidth. Software/hardware interface characteristics are summarized in table 4.5. Table 4.5. --Software/hardware interface specifications Controller Sampling Rate 12.5 kHz Processing Delay 80 J..ISec AID and DIA Convertea Number of Bits 16 Voltage Range volts Quantization 305.18 J.Lvoltlcount Anti-Aliasine and Eillm Type 4th-Order Butterworth Bandwidth 5kHz 86

PAGE 102

4.2 Estimated Plant Dynamics For control design, the order of the system is deliberately understirnated and the plant is modeled as a second-order system. The model assumes that the mirror is rigidly mounted to the composite panel and that the mirror and panel may be treated as a single rotational inertia. Along with this inertia, the spring constant of the flexure and the viscous damping encountered by the rotating composite panel define the plant dynamics model. Unmodeled dynamics include the mirror resonant mode (601Hz), the frame resonant mode (1kHz), actuator bandwidth (5kHz), anti-aliasing and reconstruction fllters (5kHz), quantization, saturation and processing delay. In the form of equation (3.5), the linear differential equation for the assumed plant model is as follows: A ,...,... x = f(X;t) + b u(t) .... ...... .... .. C K Kact x(t) = -A" x(t) 7 x(t) + -,..v(t) (4.13) J J J A A ,.,.. = -a1 x(t) -a2 x(t) + b v(t) (4.14) .... where x(t) is the mirror position (radians), C is the estimated viscous damping (Nrnlrad/sec), f is the estimated rotational inertia (kg-m2), K is the estimated spring constant (Nrnlrad), Kact is the estimated actuator system scale factor (Nm/volt), and v(t) is the applied voltage (volts). 87

PAGE 103

Equation (4.14) is of the fonn ............ ......2 x(t) = -2 COo x(t) COo x(t) + b u(t) (4.15) ...... 2 with 2 COo = a1 and roo = a2. The ranges in which the true natural frequency, damping, and control gain must exist are estimated as 0.05 s s 0.10 8Hz s f0 s 12Hz 55 Sb S75 (4.16) Mean values are used for the parameter esimates. An arithmetic mean is taken ...... and fo. A geometric mean is taken for b. = 0.075 ,.. fo= 10Hz b = (bmin bmax) 112 = 64.23 (4.17) ,.. Estimates a1 and a2 are then calculated from equation (4.15) as ...... ...... ...... it = 2 roo = 4 1t fo = 9.42 (4.18) ...... 2 ( ,.. )2 a2 =COo = 2 1t fo = 3948 (4.19) Bounds are then calculated for parameter estimates as follows: 2 roo min Sat S 2 COo max => 5.03 Sat S 15.08 (4.20) 2 2 COo min S a2 S COo max => 2527 S a2 S 5684 (4.21) 88

PAGE 104

To bound the parameter estimate error requires a function of the fonn F(x; t) = dt I x(t) I + d21 X (t) I (4.22) with dt =I it a1l max = 5.66 (4.23) (4.24) Gain margin is calculated as 75 =1.17 bmin 55 (4.25) True parameter values and estimated parameter values are summarized in Table 4.6. Table 4.6. --True and estimated parameter values True Estimated A 0.055 0.075 roo= 62.83 a1 = 6.075 A a1 = 9.42 a2= 3050 a2= 3948 Kact ..... b = 60.61 b = 64.23 h+J3 ( b -l = 16.50 X 10-3 ) ( b-l = 15.57 X 10-3 ) ..... a1 ,... at ht =-= 0.1002 ht =-;;;:= 0.1467 b b ..... a2 ..... a2 h2==50.32 h2 =-;;;:= 61.47 b b 89

PAGE 105

4.3 Digital Implementation of Sliding Controller Before controller tuning can begin, two implementation issues must be addressed: (1) How to obtain time derivatives of the reference trajectory when only the reference position is available. (2) How to obtain full state feedback when only a position sensor is available. Section 4.3.2 describes how a second-order command filter can be used to smooth the commanded position and obtain commanded acceleration and commanded rate. Sections 4.3.3 and 4.3.4 describe the differentiating filter used to obtain rate feedback and the integration algorithm used to obtain the integrated position error. In both the command filter and the differentiating filter, a continuous time filter is transformed into a discrete-time fllter. Section 4.3.1 sets forth the equations involved in this transformation. 4.3.1 Continuous-to-Discrete Transformation Given a continuous-time linear time-invariant (L 11) system with dynamic equations in the following state variable form: x(t) = A x(t) + B u(t) y(t) = C x(t) + D u(t) 90 (4.26) (4.27)

PAGE 106

A discrete-time representation of this continuous-time system can be written as follows: where = eAT x(k+1) = x(k) + r u(k) y(t) = C x(t) + D u(t) r = { (f -t) B dt Tis the sampling period and k is the sample number (t = kT) 4.3.2 Command Filter (Reference Model) (4.28) (4.29) (4.30) (4.31) Application of the sliding control methodology addressed in this thesis for trajectory control requires time derivatives of the reference trajectory. In certain applications, such as robot manipulators, time derivatives of the trajectory may be explicitly available in the form of analytical expressions defining the dynamics of the path or in precalculated time histories of vector r. However, in cases such as the steering mirror, only the reference position is commanded and it may be a discontinuous signal (e.g., a step command). To generate r = [ r r 'r' fin real time, the commanded position can be smoothed by passing it through a command filter. That is, a unity gain state variable second-order filter of bandwidth A and damping ratio The command fllter is a reference model. It allows the designer to specify transient behavior of the system. For example, if there must be no overshoot in the step response, set = 1 in the command filter. 91

PAGE 107

In transfer function fonn, a unity gain generic continuous-time second order filter with bandwidth roo and damping can be described as Y(s) roo2 U(s) = s2 + + roo2 (4.32) This filter can be written in state variable form as follows: 1 ][Xt(t)] [ 0] () x2 (t) + roo2 u t (4.33) [ = [ l = [ Y3(t) m,.2 r (t) ""\} (4.34) For a second-order LTI system, it is reasonable to use inverse Laplace transforms to evaluate the matrix exponential involved in calculating state transition matrix


PAGE 108

r= e-aT eaT -(cos bT +!sin bT) b 2 sin bT where: a = COo and b = (1)0 1 (4.37) (4.38) For the 1, matrix A has repeated real eigenvalues at -roo and matrices and r are given by Cl> = e-oloT[ (1 + T l roo (1 rooT) (4.39) (4.40) For this case study a no overshoot requirement will be imposed on the system step response. Therefore the command filter parameters will be Wo = A. and = 1 (critically damped). Figure 4.10 shows unit step responses for (a) reference position r (t), (b) reference velocity r (t), and reference acceleration i: (t) in terms of bandwidth A.. Equations describing the command ftlter unit step response are as follows: r (t) = { 1 e->.t A.te-A! ) (4.41) 2 r (t) = A. t e-M (4.42) 3 At 2).1 r (t) = A. t e-+ A. e-(4.43) Maximum accerleration equals A.2 at t = 0 and maximum rate equals 0.3679 A. at t = 1/A.. 93

PAGE 109

c .g .. u c Q) a: 0.960 0.908 0.601 0.594 0.264 :; tj .. t ... .. rjtj .. : r l::r ;:r j I:r I A 2 A 3 A 4 A s A 6 A Time (seconds) 7 A 8 A (a) Reference position r (t) versus time 0.36H .. ............ : ............. ............ .: ............ l l l 1 1 l .j 0.271 A _:_:::::::::::::::::: .. :::::::::::::[::::::::::::r::::::::::::c::::::::::r:::::::::::r::::::::::::t::::::::::::r:::::::::::: : : : l : : : l : 0.149 A ; ! J 0.073 A :::::::::::::::::::::::r:::::::::::l .. :::::::r:::::::::r::::::::::r::::::::::::r:::::::::::[:::::::::::::::::::::::::: --+-'i--t....:..\ _.....,__::'::::::;:::::i::! __ _.\_...._......:...\ __ _;\'--_ _J ... I A 2 A 3 A 4 A s A 6 A Time (seconds) 7 A 8 A (b) Reference velocity r (t) versus time f' ...,., -t-I 2 3 4 s 6 7 8 A A A A A A A A Time (seconds) (c) Reference acceleration "i (t) versus time Figure 4.10. Time histories for reference vector r(t) unit step response. 94

PAGE 110

4.3.3 Differentiating Filter Rate infonnation can be derived from the position feedback by applying a differentiating filter to the position sensor infonnation. The algorithm used in this study is the discrete-time implementation of a differentiator in series with a second-order Butterworth lowpass fllter. The filter rolls off the magnitude of the frequency response at high frequencies. Without lowpass ftltering, high frequency noise will corrupt the rate estimate. This continuous-time transfer function for this differentiating filter is given by Y(s) eoo2 s u (s) = s2 + + eoo2 ff where = T (Butterworth filter). This can be written in state variable form as 1 ] [XI (t)] [ 0 ] () x2 (t) + mo2 u t where = t; (Butterworth filter). y (t) =[ O l J[Xl (t)] X2 (t) (4.44) (4.45) (4.46) Note that equation (4.45) is the same as equation (4.33), constrained to be t;. Therefore the and the r matrices for the differentiating filter can be written directly from equations (4.36) (4.38) as follows: 95

PAGE 111

ci = e-o 2 (4.47) (4.48) (4.49) For a system in the discrete time state space form of equations (4.28) and (4.29), the z-transform function matrix of the system may be written as G (z) = C ( zlci )-1 r + D (4.50) From equation (4.50), the differentiating filter in transfer function form is given by: .... x (z) x (z) = un2 --sin cT z-1 -sin cT z-2 c c 1 e-
PAGE 112

A frequency response of the differentiating filter with OOo = (21t)(l kHz) is given in figure 4.11. Three curves are plotted: (1) analog implementation, (2) digital implementation (12.5 kHz sampling) with no processing delay, and (3) digital implementation (12.5 kHz sampling) with a one sample period (80 processing delay. 70 : .. I I I I I I Ill I I I I I I Ill I I t I I II m so I I I I I I I I I I I I I I I I I I I I I I I I I I I I I 0 : so .. : en "0 I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I 40 +-+---+ ------f 0 I I I I I I II I I I I I I I II I I I I I I I II I I I I I JO ; 20 itt-tl-l-r1t--t-j--l--ltt1-l1--tt--t--rltttltii 1 10 100 rrequency {Hz) 1 k 6.25k (Nyquist) ...... I I I Ill I I : : I I .. !:-+ i e;. -100 KEY i i ............................. 1--------------------f :. ...... .... .. .... "0 ::::::::: :: -200 :::. '::_ !:, Analog : : : : : : : : : ..; : : ................. Digital ----:. .... : ... ........ : .... .:.. .. ; .. ; .. i i i i i! i ': i 0 .c a. Digital With Delay ---. . .. 'I .. : : : : : : ::: : : :\: : :-----r---r-1. . ! ! rT-rrnn;-.. -JOO 1 10 100 1 k 6.25 k rrequency (Hz) (Nyquist) Figure 4.11. Frequency response of differentiating filter. 97

PAGE 113

4.3.4 Integration Algorithm For sliding control with an integrator, an integration algorithm is required to integrate the position error in real time. A "trapezoidal" numerical integration routine will be used. The z domain transfer function for this integrator can be derived as follows: y (k) = ( u (k) +; (k1)) T + y (k-1) u (t) L midpoint__) width LsumJ In the z domain: Figure 4.12. Trapezoidal numerical integration. Y(z) = ( U(z) + z-1 U (z)) + z-1 Y(z) ( 1 -z-1 ) Y(z) = ( 1 + z-1 ) U(z) Y(z) T 1 + z-1 U(z) = 2 1 z-1 98 (4.52)

PAGE 114

4.4 Computer Simulation To investigate sliding controller perfonnance with "real-world" nonidealities, a computer simulation was created to model the digital implementation of a sliding controller for the steering mirror described in section 4.1, using parameter estimates defined in section 4.2, and incorporating the ideas presented in section 4.3. Computer simulations were performed using MA TRIXx, a software tool for engineering analysis and control system design. Specifically, the simulation was created using MATRIXx Workstation Version 2.04 hosted on an Apollo Domain Series 3000 workstation. On the workstation version of MA TRIXx, the user can construct a simulation of a large system by creating and connecting blocks in a block diagram format Continuous-time blocks can be connected with discrete-time blocks to form a, possibly multi-rate, hydrid (analog/digital) system. Switching logic, time delays and nonlinear effects such as saturation and quantization can be included. Appendices A, B, and C contain the MATRIXx block diagrams used in sections 4.4.1, 4.4.2, and 4.4.3, respectively. 99

PAGE 115

4.4.1 Computer Simulation: Sliding Control of a Single-Axis Steering Mirror (No Integrator) The controller used in this simulation is of the form u(t) = b1 ( + k (x) with b -1 = 15.57 X lQ3 """ u (t) = r f + A e = r -i1 x(t) + iz x(t) + A e = 'r' 9.42 x(t) + 3948 x(t) + 628.3 e (from equations 4.17 -4.19) k(x) = (11 +F)+ 1) (t) I = 1.11 { o.1 + s.66 I x I) + o.11l => I e IsA For a tracking errror I e(t) IS 10 JJiad, =I e(t) I A= 6.283 x lQ-3 (-1 = 159.2). 100

PAGE 116

Figure 4.13 shows the true mirror position and the position error during tracking of the square wave input Note that, whereas the position error e(t) settles to less than 10 Jlradians, there is a transient in which it reaches 185 Jlrads Mirror i :::::::::r:::::::-J:::::::::r: -:::::::::::::: on =:= :::::::::::t:::::::_;;:!::::::::::_:.i:; ::: :::::: ... :::::_: ::;:::::::::]:::: :::::;::::::::: =::: 2:---_.f:1 5:-':::_ Position Error e(t) Position Error e(t) .27 .J Time (seconds) .00015 .0001 ..................... ................... I I I I I I I I I I I I I I I I I I I I I "'--"'"' -----------""'---------- I I I I I I I I I I I I I I I I I I I I I I I I I I I ---.. -----------I I I I I I I I I I 0 I I I .00005 .. ........ :...... ... : ........ 0 : i \ : i \ : (:::::::t:::::::::r::::::::::: : j:::::::I:::::::::::::::::. 1::::::::}::.::::_::::::::. 0 .OJ .06 .09 12 .15 18 .21 .24 .27 .J Time (seconds) :::::::::::::::: : ::::::::::::: :::::r:::::::J : ::::::::::::: :r:::::::r: : ::::::::::::: ----4 -.ooooos : V.. : \ v : .\ .... L .. ..L. ...... -.00001 ::r .:t:::::::t: :: :::r.. ....... :::::::::;:::::: ...... ; ........ I I I I I 1 1 I I I I I I 1 -.000015 .. +! + I I I I I I 1 0 .OJ .06 .09 12 15 18 .21 .24 .27 .J Time (seconds) Figure 4.13. Computer simulation: sliding controller (no integrator). Time histories of mirror position x(t) and position Error e(t). Input: mrad 10Hz square wave. 101

PAGE 117

Plots of scalar s(t) and rate error e(t) are given in figure 4.14. In both plots, the solid line represents the true value of the variable and the dashed line represents the estimated value, i.e., the value the controller uses. Controller performance relies on how well scalar s(e; t) is measured. Note the rate filter transient response to the filtered square wave. o I I I 0 o I I I I .15 -; ..................... ..................... ...................... 1 f-.05 -;.... ',: ................... + .................... ..................... .................... .. ----o 1 I I I II I s(t) o : ............. ................. i : : : : : ; _,-" -.05 ----/-----: : : l True : i i ::::::::::::: :::; ::::::::::::::::+:::::::::::::::: r::::::::::::::::j :::::::::::::::::; :_ :::::::: .15 .16 .17 .18 .19 .2 .21 Time (seconds) .15 .1 .05 Rate Error 0 : 0 t I I I I ., I .. : .................... : ........................ : ........................ : ........................ ; \ ,.""-... I I I o f e (L) -.05 -.1 1-----1-------: : : : True i .!-------. : : : : I I I I -.15 .15 .16 7 8 .19 .2 .2, Time (seconds) Figure 4.14. Computer simulation: sliding controller (no integrator). Time histories of scalar s(t) and rate error e(t). Input: mrad 10Hz square wave. 102

PAGE 118

4.4.2 Computer Simulation: Sliding Control of a Single-Axis Steering Mirror (Integral Control) Integral control was then added by defining the variable of interest to be the .-... integrated position error. This redefines u and s as .-... 2 u (t) = r -f + 2 A e + A e 11 2 s = e + 2 A e +A 0 e (t) dt An illustration of a section of the sliding surface S(t) defined by s(e; t) = 0 is given in figure 3.15. For a square was input with A= 2007t, the integral controller excited the 601 Hz mirror resonance. Controller bandwidth was reduced by 50% (A= 100 1t). ........... ................. .. -1. e (t) .. ... e (t) 0.5 o.o fe(1)dt -0.5 -1.0 Figure 4.15. Sliding surface for integral control. 103

PAGE 119

Time histories for true mirror position and position error are shown in figure 3.16. As predicted by theory, the integrator greatly reduces the steady state error. In this example, the position error is reduced to 150 nrad when the next square wave step is commanded o I I I I o I 1 .0009 r --ii : i+ ---. .0()()6 ............. ...: ................ .............. .!. ................ .: ................. !.................. .. .............. .:...... .. ........ ............ : : : : : : : : Mirror .OOOJ l l I 0 t I I t t I I Position o f:----+-: __ I I I I I I 1 1 I I 0 I I I I 1 1 I x (l) -.OOOJ r ii ri i ri r -.0()()6 .............. ................ --------: : : I : : : : : : : -.0009 ................. .............. .. -f ...... ........... : : : : : : 0 .OJ .06 .27 ,J .09 .12 .15 .18 .21 .24 Time (seconds) .0001 .oooo:; Position ............................. .............................................. ' ' ' &. ........... Error e(t) -.00005 ti:--. -(!-+ r+ -.0001 t:t -rit t: 0 .OJ .06 .09 .12 .15 .18 .21 .24 .27 .J Time (seconds) 00002 .................. .00001 .... __ ________ Position Error e(t) -.00001 --................................ -.00002 ....... i ..... .. -1--I I I t I I : : : : -.ooooJ u __ ...::i....__ ___ 0 .OJ .06 .09 .12 .15 .18 .21 .24 .27 .J Time (seconds) Figure 4.16. Computer simulation: sliding controller (integral control). Time histories of mirror position x(t) and position error e(t). Input: mrad 10Hz square wave. 104

PAGE 120

4.4.3 Computer Simulation: Adaptive Sliding Control of a Single-Axis Steering Mirror Computer simulation of the adaptive sliding controller implemented as a digital controller for the system described in this chapter was unstable. Simulation of a an analog adaptive controller for a simplified plant model yielded a stable system. The mirror in the simplified system does not include the 601 Hz and I kHz resonances. The adaptive controller used in the simulation is of the form u(t) = b -l(t) ( r' + 2 A e(t) + A2e(t) + Tl sat(:))+ hl (t) X (t) + h2 (t) X (t) with adaptation laws b -I = ( r' + 2 Ae + A2 e + Tl sat(:)) St; s6 = s sat(:} lt 2 s = e + 2 A e + A 0 e (t) dt A= 628.32 rad/sec (100Hz) = 6.281 x 10-3 Two simulation tests will be discussed. In each test the input was a 20Hz 1 mrad sine wave. In the first test, initial conditions on the parameter estimates were taken from table 4.6 as ,.... hi (0) = 0.1467 b-1(0) = 15.57 x w-3 105

PAGE 121

Results are given in figures 4.17 and 4.18. As shown by stl (t), adaptation is fast. The desired precision is achieved in 0.13 seconds .0009 .0006 .0003 X (t) 0 -.OOOJ -.0006 -.0009 ____ ._ __ 0 .OJ .06 .09 .12 .15 .16 .21 .24 .27 .J .006 .OOJ 0 -.OOJ s (t) -.006 -.009 -.012 -.015 -.002 -.004 s.l (t) -.006 -.008 0 Time (seconds) ----. ri::-i---------:-------(-------i---------.OJ .06 .09 .12 .15 .16 .21 .24 .27 .J Time (seconds) ----:.... t .......... 1 ......... i ........... L ......... J ........... l .......... .......... i ........ 1 I I I I I I I I I I I I I I I I I 1 1 I I I I ........ _: ................. ..... .. ............ i ....... --.. ...... -----.. ---i --... --... I 0 I I I I I I I I 1 I I I I I I I I I I I I 0 I I I I 1 1 0 I I .......... .... .... r ...... ... ....... -.. :-........ -...... ----: ..... .... I I I 0 I I I I I 0 I 0 I I I I I I I I I I I I I 1 0 I I I I I -.01 0 .OJ .06 .09 .12 .15 .16 .21 .24 .27 .J Time (seconds) Figure 4.17. Computer simulation: adaptive sliding control test #1. Time histories of mirror position x(t), scalar s(t), and distance to boundary layer s6(t). 106

PAGE 122

Note, from figure 4.18, that only b-1 was significantly modified from its initial value (0.01557) to 0.01675 when adaptation ended. I I I I I I I I .14671 8 ........... ---: -------: : : : : : : : : .1.6715 .... h 1 (t) :: 8f:::::::J ........ L..::::::l:::::::::i:::::::::L:::::::l::::::::::t:::::::::L:::::::l::::::::: I I I I I I I 0 I I I I I I I 0 .1.6706 ........ .1.670J ...... .......... ; ........ ) ....... ) .......... ; .......... ....... ) .......... ; ........ I 0 I I I I I 0 1 .1.67 I I I I I I 0 0 .1.6697 ,___......:...: __ .,:..: __ .,:..: --..:.. __ .,:..: __ .,:..: __ .,:..: __ .,:..: __ ....:,:_--..J 0 .OJ .06 .09 .12 .15 .18 .21 .2. .27 .J Time (seconds) 62 tttt----i---t----t.. -i-t--61.8 "' 61.6 h2 (t) 61. 61.2 61 rijrjr(-+ 60.8 0 .OJ .06 .09 .12 .15 .18 .21 .24 .27 .J Time (seconds) .o168 r--:-""""!""-;--;-;:==l:==+: 0166 ......... ......... .:. .... riitii .0164 ........ i iriirii .0162 ...... t ++-------+------+--+j b _, ( t) ::::: :r::::::::r:::::::t::::::::t::::::r::::::r::::::::t:::::::::r: :::::r::::::: 0156 .01S. 0 .OJ .06 .09 .12 .15 .18 .21 .24 Time (seconds) Figure 4.18. Computer simulation: adaptive sliding control test #1. Time histories of parameter estimates. 107 .27 .J

PAGE 123

In adaptive control test #2, parameter estimate hz dynamics were weighted in an improve the estimate of the position coefficient during adaptation. Also a poorer initial ..... -1 estimate of b was used. b -1 (0) = 8.0 X IQ-3 Test #2 results are given in figures 4.19 and 4.20 .0009 .... ::: .: :::: : :::t.: :::: .: ::f :: :::: :. :::1. : :::: :. :::1..:. :::: ----.: :::: .: :: X (t) 0 -.0003 -.0006 -.0009 ........ .. __ __ 0 .1 .2 .J .4 .5 .6 Time (seconds) I I I I I I I I I I I .04 I I I I .02 ...... ..... I I I I I I I I ______ St. (t) -.02 t itt I I I I I 0 I I I I I I I I I -.04 .. : : : : : -.06 .. I I I I I 0 I I I I I I 0 I I 0 '1 .2 .J .4 .5 .6 Time (seconds) Figure 4.19. Computer simulation: adaptive sliding control test #2. Time histories of mirror position x(t) and distance to boundary layer s6(t) 108

PAGE 124

.1472 .1471 . .......................... 1 ........................ .................... .. -----------------------------------...... .147 hl (t) .1469 ---------.............................. ................................................................................................................ .. I I I I o I I I o I I I ------------------------1 I I I I I I I I I I I 1 I I I 1468 .... ......................... ................................................. .. I I I I I I I I 146 7 ---------------f----------------------------i-----------------I----------------------------------I I I I 1 I I I I I I I .1466 t----..:... ---......:----.:..0 .1 .2 .J .4 .5 .6 Time (seconds) 64 63 h2 (t) 62 [ ::::::: .... :::: J :::: ::: 61 : : 60 -------i-----------------i---------------' 0 .1 .2 .J .4 .5 .6 Time (seconds) .016 .014 ..... -1 b (t) .012 .01 ' -------------:::::.:::::::::::::1:::::::::::::: :::l:: :::::::::::::: ' ' 1 I I I -------------+--------------i--------------j----------------t-------------: : : : : : : : : -------r---r-------------1---------------1----------------:-----------l l i .008 0 1 .2 .J .4 .5 Time (seconds) Figure 4.20. Computer simulation: adaptive sliding control test #2. Time histories of parameter estimates. 109

PAGE 125

CHAPTERS HARDWARE IMPLEMENTATION 5.1 Hardware Description 5.1.1 Single-Axis Steering Mirror An photograph of the single-axis steering mirror used in the hardware implementation is given in figure 5.1. (For component identification see figures 4.2 and 4.3.) Dimensions of the aluminum mirror frame are: 16.5 ern height x 15.3 em width x 7.6 ern depth (6.5 inches height x 6.0 inches width x 3.0 inches depth). The fundamental frame resonance is 1kHz with approximately 5% damping. As shown in figure 5.1, two 30 rnrn diameter mirrors are clamped to a composite panel, which is attached to the frame with flexural pivots which serve as rotational bearings. To create a stiff panel with low rotational inertia, the composite panel is constructed of a bias weave graphite fabric reinforced phenolic honeycomb. The fundamental mode of the composite panel is estimated to be at 3 kHz. Travel of the mirror/composite panel assembly is 3.1 rnrad. Capacitor plate sensors are built into the mirror assembly to provide a measurement of the relative angle between the mirror and the frame. Stationary capacitor plates are mounted to the frame; moving capacitor plates are attached to the

PAGE 126

composite panel. The stationary plates are the white rectangular blocks on either side of the mirror shown in figure 5.2. (fhe mirror shown in figure 5.2 is the same design as the one used in the experiment. As pictured, the stiffening plate has been removed to reveal the capacitor plates and actuators.) Air trapped within the capacitor plate air gap can significantly increase viscous damping. Plates with as small a surface area as possible are used to minimize viscous damping. Four linear moving coil actuators (Kimco model No. LA09-10-001A) are used to apply torque to the mirror/composite panel. A current-control electronic drive provides a 5 kHz closed loop bandwidth actuator system. Figure 5.1. Single-axis steering mirror used in hardware implementation. 111

PAGE 127

Figure 5.2. Steering mirror similar to one used in hardware implementation with cover removed to show composite panel and moving coil actuators. 5.1.2 Hardware/Software Interface A block diagram of the experiment hardware setup is given in figure 5.3. A software development workstation was created around an IBM compatible Intel 80386-based personal computer (PC). The digital sliding controller is implemented using an AT&T WE DSP32C floating point digital signal processor (DSP). Clock speed of the DSP is 50 MHz. The DSP is contained on a Burr-Brown ZPB34 processor board which is installed in a 16-bit expansion slot in the PC. 112

PAGE 128

The analog-to-digital (AID) and digital-to-analog (D/A) converters are volt 16-bit devices. This introduces a quantization equal to volts/(215-1) counts= 305.2 and a volt saturation. For AID conversion a Burr-Brown SHC5320KH sample and hold is used in conjunction with an Analog Devices AD1377KD AID converter. Digital-to-analog conversion is performed using a Burr-Brown DAC703KP D/A converter. Digital sampling rate is 12.5 kHz and there is a full sampling period (80 processing delay. That is, actuator commands based on sensors sampled at t=kT are not issued until t=(k+l)T. Data is transmitted serially at 5 MHz between the interface boards and the DSP. Fourth-order Butterworth lowpass filters with 5 kHz cutoff frequencies are used as anti-aliasing and reconstruction filters. Magnitude at the Nyquist frequency (6.25 kHz) is approximately -8 dB and at higher frequencies the filter is rolling off at -80 dB/decade. Figure 5.3. Experiment hardware setup 113

PAGE 129

As shown in figure 5.3, a function generator is used to input desired position The scale factor for this command is that of the capacitor plate sensor: 3.216 volts/mrad. Also note that the D/A board has two output channels. One channel is committed to controller input u(t), but the second channel is available to output a variable of interest such as sensed position error e(t) or algebraic distance to the surface s(t). 114

PAGE 130

5.2 Estimated Plant Dynamics For controller design, the plant is modeled as a second-order linear system. In the form of equation (3.5), the differential equation for the estimated plant dynamics is as follows: x f(X;t) + b u(t) (5.1) ...... ...... ...... C K Kact x(t) = x(t) -;:;x(t) + -,..v(t) (5.2) J J J ,.. ,.. = -a1 x(t) -a2 x(t) + b v(t) (5.3) ...... where x(t) is the mirror position (radians), C is the estimated viscous damping (Nm/rad/sec), f is the estimated rotational inertia (kg-m 2 ), K is the estimated spring constant (Nm/rad), Kact is the estimated actuator system scale factor (Nm/volt), and v(t) is the applied voltage (volts) Unmodeled dynamics include the frame resonant mode (1kHz), the composite panel resonant mode (3kHz), actuator bandwidth (5kHz), sensor bandwidth (20 kHz), quantization, saturation and processing delay. Equation (5.3) is of the form .. ,...,... "2 ,.., x(t) = -2 CJlo x(t) COo x(t) + b u(t) (5.4) ,...,... A "2 A with 2 a1 and roo = a2. 115

PAGE 131

Equation (5.4) can be written in transfer function form as with p representing the Laplace operator ....... The de gain is ,..b Therefore, b = i2 *(de gain). a2 (5.5) An open-loop frequency response measurement of the steering mirror was made using a Hewlett Packard HP-3562A dynamic signal analyzer. Random noise of 50 mvolt peak amplitude and frequency span de to 25 Hz was input into the motor amp. Angular output was measured using the steering mirror capacitor plate sensor with a calibrated scale factor of 3.216 volts/mrad. A frequency response plot is given in figure 5.4. e:y2 v y = 38.66 1.0 Vb--90.023 Og FREQ RESP 90.0 I I I I I I _j I l : y: -270 P"'xdXY 100na I I I I I I I I I I I I I I I 104VJ:I I I I I I I I I I I I I I I I T YTT I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I 90"0vlp Hnn I I I I I I I I I I I I I I I I I I I I I I I I : :N:: I I I I I I I I I I I 1\lj_ I I I I I I I J. I I I I I I I I .,.. I I I I I I I I I Lag Hz Figure 5.4. Steering mirror open loop frequency response. 116 I I I I I I I L -... I

PAGE 132

The curve fit function of the analyzer was used to estimate the complex pole pair. With 0 zeroes and 2 poles specified, the curve fit algorithm calculated the open loop poles Pt 2 to be Pt,2 =-0.4532 j 6.7625 Hz with de gain= 38.66 mradlvolt from which the estimated natural frequency and damping are ,.. fo = 6.78 Hz = 0.067 Engineering units for the output sensor in the frequency response measurement were mrads. Therefore, the de gain is 38.66 x 1Q-3 radian/volt Parameter estimates are calculated as follows: ,... ,... it= 2 2 (0.067) (27t) (6.78 Hz)= 5.71 (5.6) ,.. ,... 2 ( )2 a2 = CJlo = 2 7t (6.78 Hz) = 1815 (5.7) b = i2 *(de gain)= (1815) (38.66 x 10-3 ) = 70.2 (5.8) Bounds on the parameter estimates reflect confidence in the plant model. Using engineering judgment, the true natural frequency was estimated to be between 6.5 Hz (40.84 radlsec) and 7.0 Hz (43.98 radlsec) and the damping ratio between 0.05 and 0.1 0. Bounds are then calculated for parameter estimates as follows: 40.84 s COos 43.98 (5.9) 0.05 s s 0.10 (5.10) 2 CJlo min sat s 2 roo max 4.08 sat s 8.80 (5.11) 117

PAGE 133

Control gain was estimated to be 1.10, which, by definition, sets the bounds on control gain b as (5.13) ,.. bmax = b = (1.1) (70.2) = 77.22 1"' bmin =-b = (0.909) (70.2) = 63.82 p 63.82 s; b s; 77.22 (5.14) To bound the parameter estimate error requires a function of the form F(x; t) = dtl x(t) I+ d21 X (t) I (5.15) with d1 =I a1 a1l max = 3.o9 (5.16) d2 =I a2-a2l max= 147 (5.17) 118

PAGE 134

5.3 Experimental Results Sliding controllers with time invariant boundary layers and with and without integrators were successfully implemented in hardware. The software was written in DSP32C assembly language. Code listings are given in Appendices D and E. 5.3.1 Experimental Results: Sliding Control of a Single-Axis Steering Mirror (No Integrator) A series of hardware tests were performed with A. = 200 1t and control with no integrator. As was done in the chapter 4 computer simulation, boundary layer thickness was selected for a tracking error I e(t) IS 10 11rad::::} = 6.283 x 1G-3. The controller was of the form u(t) = b-1 ( (t) + k(x) sat(:)) with b -1 = 14.25 X lQ-3 (from equation 5.8) = 'r' 5.71 X1815 X+ 2001t e (from equations 5.6 and 5.7) k(x) = (11 + F) + -1) I I = 1.1 ( 0.1 + 3.091 X I+ 1471 X I)+ 0.11 (t) I (from equations 5.13, 5.15, 5.16, and 5.17) A.=2007t = 0.1 = 6.2814 x w-3 119

PAGE 135

P'REQ o.o dB -40.0 l"'xd '( P'REQ 0.0 Phae Ceg -380 I I I I I I I I I I I I 1 11 I I I I I I I I I I 1 11 1 I II 1 I II I I II !500 Fxd '( !500 Figure 5.5. Experimental frequency response: sliding controller (no integrator). A frequency response for this system is given in figure 5.5, which shows the capacitor plate output frequency response x(f) plotted along with the reference position frequency response r(f). Analyzer source was 3.216 volt peak random noise, 0 to 500 Hz, ac coupled, 10 averages. The magnitude plot for the system is flat through the pass band, but does not rolloff like the reference model. Most noticeable is the frequency band 60 200 Hz. Next a .216 volt ( mrad) 10Hz square wave was applied as input xd(t). The time response is given in Figure 5.6, which shows three plots: (1) capacitor plate output x(t), (2) position error e(t), and (3) position error e(t) enlarged to show steady state error. Note that at spring null there was a non-zero capacitor plate bias of approximately 3 volts. This was removed in software, but will appear in plots of the capacitor plate output, which was obtained directly from the sensor electronics output. 120

PAGE 136

-rs ..... ., .. g.., :I. -...--j J ..... 2 mrad .., .. 1--'--o.o PIP,.. .. V ....... ......... /Dv ..... 1. ..,. -rs ...... 1\ r --n--208 J.trad I I J t 77 wad Tf.= I Cl a \ l \ I \.._ ( t ( I 237 llfad I I I _i_ ....... --........ -r:z: ..... .. .CI.., .. I '\. \.. I t \ II I T -. ..,. t I I -; 28 llfad ...__..: --r-13 llfad t I I I t --1--I ..... 0.0 --t-! 0 ---4 Figure 5.6. Experimental time response: sliding controller (no integrator) Input: I 0 Hz I mrad square wave. Maximum position error is 237 J.l.Tad. The system exhibits a directional 1 I ..... preference. For the +1 mrad command, there is a steady state error of 13 For the -1 mrad command, a steady state is not reached -the error ramps toward zero, but falls to no less than 28 before the next step command. 121

PAGE 137

Tracking of a 3.216 volt (1 mrad) sine wave is shown in figure 5.7. The upper plot is relative mirror angle x(t); the lower plot is position error e(t). Amplitude of the error is 114 J..Lrad. .... ... ;"c:>l.v ..... 1. ..., .. -& ....... v .... ., ;"c:>a.v .... 1. ...,. -?-.0 ,., .... ..., TZM .. -r-f-r-.. \ I \ \ v \ 2 mrad [\ \ v _\ \, \ ,, I \ 1'-" _._ v ...... 'T% .... I \ I I \ 1/ 114 IJiad I \ v I \ I I 1-o.o 0 .. CIV1 /""\.! I \ 1 \ I' I \ l/ 1 I \ J 1\ l I _\ I \ I I \ 1 \ I 1/ I \ v 1'-" ......, ... 0 ov1 Jh _6 I _'i L 1\ I \ 1\ \ I \ I \ \ I \ I \ \ I \ "" ...., "" -.. CI .. .., Figure 5.7. Experimental time response: sliding controller (no integrator). Input: 10Hz 1 mrad sine wave. 122

PAGE 138

5.3.2 Experimental Results: Sliding Control of a Single-Axis Steering Mirror (Integral Control) Integral control was then added by defining the variable of interest as the integrated position error. This and s as ...... 2 u (t) = r -f + 2 A e + A e it 2 s = e + 2 A e + A 0 e ('t) d't A frequency response for this system is given in figure 5.8. With the integral control, the system frequency response matches the reference model extremely well up to 100 Hz (A = 2007t rad/sec ), but there appears to be additional dynamics with poles at approximately 300Hz. 10Av I II I II I II I I I I I II I I II Hz I I I II I I I I I II I 1.....!....!-!-lm-1 I I I II I I I I II I I .. I. I L.og Hz I I II I I II !500 Figure 5.8. Experimental frequency response: sliding controller (integral control). 123

PAGE 139

Tracking tests of a 1 mrad square wave and a 1 mrad sine wave were repeated for this controller. Figure 5.9 shows the time response for the square wave input. Magnitude of the steady state error is approximately 1 Figure 5.10 shows the time response for the sine wave. Peak-to-peak error is approximately 16 jlrad .... ,. 600 ...... /a a. ... .... 1. ...... o ,..ca.-.... ,., ...... 1---,. .""D .... .... A t---.-.o "T l j I 2 mrad \ L 1--r I 220 IJ.rad J, 11 I 1 I "' .. I I \ \ \,_ --oco-..... .,...,,. .. .L 55 IJ.fad J J...-1-L---v l \j r I ----oo=rr-=:r ........ I T I e(t)llJ..rad -L \ ...... \ ..... 1-\. \_ \.I -\ .I. ...... -aa.o ...... v ,... I--1--f-....-. 0 ---, I 1 !"I" ,...,..... .,. ( ------- oFigure 5.9. Experimental time response: sliding controller (integral control). Input: 10Hz 1 mrad square wave. 124

PAGE 140

.... '1. -&o. ...... 1:1 -rx ... o. ,...... I i\ I \ I \ 1/ 1 \ \ CtoD \ II \ 2mrad \ J I J It ""-L-'"" .'"" ...... -,...... I 1\ \ I \ I \ I \ I \ II \ I \ I 1\ J \ J \ I \ I -I-' .. oo ... Figure 5.10. Experimental time response: sliding controller (integral control). Input: 10Hz 1 mrad sine wave. 125

PAGE 141

CHAPTER6 CONCLUSIONS A substantial portion of the literature in the field of control is purely theoretical. Although mathematically elegant, the practical value of many of these papers is not apparent. It is my opinion that the true value of a control theory comes from application in hardware. There are cases in which computer processing rates limit the sample rate at which a digital controller/estimator can be implemented. (Cases in which the theory is limited by technology.) However, advances in microprocessorssuch as the development of low cost digital signal processors which run at high clock rates-have narrowed the gap between theoretical and experimental. Hardware implementation of the sliding control methodology of Jean-Jacques Slotine as a trajectory controller for a single-axis steering mirror is shown to be straightforward. Moreover, the notion of sliding control is intuitively satisfying. The controller deals directly with the plant dynamic equations including nonlinearities. Linearization is not required nor is very good knowledge of the plant. The nth -order tracking problem in variable x(t) is reduced to a first-order stabilization problem in the scalar s(t), which also contains much information about the system behavior.

PAGE 142

A plant with pronounced nonlinearities would have bettter demonstrated the power of sliding control. However, availability of hardware dictated using the sterring mirror, which, by careful design, was largely linear. Advantages of using a linear plant include the ability to compare sliding control performance with familiar linear control techniques and the ability to perform meaningful frequency domain analysis. The surprising result of the research presented in this thesis is that the digital implementation of the adaptive sliding control was unstable in the computer simulation and in hardware. This points to an area of future research -digital adaptive sliding control. Of particular interest are the topics of minimum sampling rate and sufficient richness of the desired trajectory. 127

PAGE 143

APPENDIX A MATRIXx BLOCK DIAGRAMS FOR COMPUTER SIMULATION OF SLIDING CONTROL OF A SINGLE-AXIS STEERING MIRROR (NO INTEGRATOR) In MA TRIXx, block diagram blocks can be grouped together into "Super-Blocks," which are user-definable and can be nested to produce a hierarchial structure. Figure Al shows the top level Super-Block for simulation of sliding control of a single-axis steering mirror with no integrator. Names of nested blocks appear in this figure along with figure references for detailed block diagrams of each nested block.

PAGE 144

...... N \0 Continuous Super-Block no integrator system Ext.Inputs Ext.Outputs 0 9 DAC (sec fig. A6) --rr1l (sec fig. A2) .------(sec fig. A 7) (sec fig A4) actuator 0.02 3.1BE:-5s I (sec fig. AS) Mirror Dynamics I r ... ; Continuous Ml rror Pas Ml rror Rate mlrrol rate 2--------------------------__J (sec fig. A8) (sec fig A 9) sensor sf sensed X Figure A 1. MATRIXx block diagram of the top level system for sliding control of a steering miiTor (no integrator). cap plate sensor '0 9090.9 1.96E:-6s 96

PAGE 145

-IJ..) 0 Discrete Super-Block no integrator controller Sampling Interval First Sample Ext.Inputs Ext.Outputs Enable Parent B.OOODE-05 D. derived rate with I kHz filter ned X 1 21G7.2z 2167.21 z2-!.J141z + 0 .49122 I a! I Cllld fll ter r--T1m R do dot NS: 2 23 lnv 2 6 (sec fig. A3) Figure A2. MA TRIXx block diagram of sliding controller (no integrator). b hat lnv 16 sat ovfr ph!

PAGE 146

Discrete Super-Block k of x Sampling Interval F irst Sample Ext.Inputs Ext.Outputs B.OOOOE-05 0. 3 1 bet m.inus one u hat d2 beta oenoed X dl derived rate Figure A3. MA TRIXx block diagram of control discontinuity function k(x). Continuous Super.-Block Truth Sensor No Integrator Ext.Inputs Ext.Outputs 4 3 R 3 Mirror Pos Lambda 4 + R dot 13 true e dot mirror rate Figure A4. MA TRIXx block diagram of truth sensor used with sliding controller (no integrator). 131 15

PAGE 147

w N Continuous Super-Block Mirror Dynamics Ext.Inputs Ext.Outputs lnv J MAtrlw u '1 STATE 2 SPACE H = [ -1 of .. NS:O I [606.1 0.0 0.0 ] [ 1 r = a. a 6061 a. a 0.0 0.0 6061 1 4 + 5 +tr I + + 2 ....... v + +12 + [ ] [ -122.4 1.212 0.0 ] = 12.12 -1103 1091 1 0.0 1091 -1091 8 til!'les J lnv f. I STATE SPACE N<' n l lil Frame Rate I II Panel Rate r l Frame Pol Mirror Pos XO 0 XO 0 Mirror Rate-(D K times J lnv STATE SPACE f.2 NS: 0 l [ ] 7 606.1 0.0 l = 6061 -7.127E+6 7.121E+6 0.0 7.121E+6 -7.121+6 Figure A5. MA TRIXx block diagram of steering mirror dynamics.

PAGE 148

Discrete Super-Block DAC Sampling Interval First Sample S.OOOOE-05 0. DAC volts 0.00031 Saturation uantizer Figure A6. MA TRIXx block diagram for digital-to-analog converter. Continuous Super-Block reconstruction filter Ext.Inputs Ext.Outputs 1 1 9.87EB 9.87EB s 2 +58049s + 9.87E8 s2+24044s + 9.87E8 Figure A 7. MATRIXx block diagram for reconstructiun filter (5 kHz, 4th order Butterworth). Discrete Super-Block ADC Sampling Interval First Sample S.OOOOE-05 0. Saturation Figure A8. MA TRIXx block diagram for analog-to-digital converter. Continuous Super-Block anti alias filter Ext.Inputs Ext.Outputs 1 1 9. 87EB 9.87EB s 2 +58049s + 9.87EB s2+24044s + 9.87E8 Figure A9. MATRIXx block diagram for anti-aliasing filter (5kHz, 4th order Butterworth}. 133

PAGE 149

APPENDIXB MATRIXx BLOCK DIAGRAMS FOR COMPUTER SIMULATION OF SLIDING CONTROL OF A SINGLE-AXIS STEERING MIRROR (INTEGRAL CONTROL) Figure B2 shows the top level MATRIXx Super-Block for simulation of sliding control of a single-axis steering mirror with integral control. Only Super-Blocks unique to the integral control simulation are given in Appendix B. Figure references are indicated for detailed block diagrams that appear in Appendix A.

PAGE 150

..... \J.) VI Continuous Super-Block integral system (sec fig. 82) Ext.Inputs Ext.Outputs 0 11 DAC (sec fig. A6) --m (sec fig. A 7) actuator (sec fig. A5) Mirror Dynamics I iiAi HI rror Pos Hi rror Rate 0.02 IAct Tor J.IBE-5s+l I'1_. __ .. 96 e llnte !.:..2..2!:1 sensor sf sensed X (sec fig. 83) Continuous (sec fig. A8) ADC (sec fig. A9) antl allas filter cap plate 9000 7.96r:-6s I Figure B 1. MATRIXx block diagram of the top level system for sliding control of a steering minor (integral control).

PAGE 151

..... 1..-l 0'1 Discrete Super-Block integral controller derived rate with I kHl sensed X c11d filter ,.....--,.., NS:2 2167.2% 2167. 2 sensed X Sampling Interval B.OOOOE-05 two lambda + 21 two lambda first Sample 0. 21 u hat 4l Ext.Inputs Ext.Outputs 2 7 sense1 X (sec fig. A3) k of x mpotx l Enable Parent 16 Uat over phi figure B2. MATRIXx block diagram of sliding controller (integral control).

PAGE 152

Continuous Truth Sensor W Integrator R 3 Mirror Pos R c!ot 13 true e dot mirror rate Ext.Inputs Ext.Outputs 4 4 s XO= 0 Two Lambda 4 La.-:1bda Squared 14 + 15 + + Figure B3. MATRIXx block diagram of truth sensor used with integral control. 137

PAGE 153

APPENDIX C MATRIXx BLOCK DIAGRAMS FOR COMPUTER SIMULATION OF ADAPTIVE SLIDING CONTROL OF A SINGLE-AXIS STEERING MIRROR Continuous Super-Block adaptive sliding system Ext.Inputs Ext.Outputs 0 8 (see fig. C2) r----r.,"'!'l adaptive cor.troller yf!Yt .... ..;..d ----1 20Hz 23 24 dot (sec fig. C3) steerinq mirror dot Figure Cl. MATRIXx block diagram of adaptive sliding control of single-axis steerin.g mirror.

PAGE 154

....... VJ \0 Continuous Super-Block adaptive controller STATE d SIJICl t dot Ext.Inputs 3 Ext.Outputs 7 two lubd phi 1nY 11: dot Figure C2. MATRIXx block diagram of adaptive sliding controller. phi I' ll

PAGE 155

Continuous Super-Block steering mirror b Ext.Inputs Ext.Outputs 1 2 al 1 x dot XO 0 XC 0 a2 Figure C3. MATRIXx block diagram of simplified steering mirror dynamics used for adaptive sliding system. 140

PAGE 156

APPENDIXD DSP32C ASSEMBLY CODE FOR EXPERIMENTAL TEST OF SLIDING CONTROLLER (NO INTEGRATOR) I* -------------------------------------------------------------------------------------------------Sliding Controller for Fast Steering Mirror DSP32C source code run on the Burr-Brown ZPB34 board DSP connector plugs into the +1-10 volt RTI board 12.5 kHz RTI Version: 13 April 91 -------------------------------------------------------------------------------------------------*I .global input, output, x, xdot, xd .global drcoefs, drstates, incoefs, instates .global sensfl, sensf2, actsfl, actsf2 .global sbias 1, sbias2, a bias 1, abias2 .global insfl, insf2, outsfl, outsf2 .global bhatinv, beta, deltaf .global e, edot, ref, rdot, rdotdot, s .global clhat, c2hat, dl, d2, kx, u, fhat, uhat begin: ioc = Ox30CCO pin= input pout= output I* scale factor initialization *I r1 = sensfl r2 = adsf r3 = insfl *r3++ = al = *rl++ *r2 *r3 = a2 = *rl *r2 2*nop r1 = actsfl r2 = dasf r3 = outsfl *r3++ = al = *rl++ *r2 *r3 = a2 = *rl *r2 r8 = sbiasl r9 = sbias2 I* disable DMA *I I* pin = r20 -> 2 integer input *I I* pout= r21 -> 2 integer output *I I* rad per volt *I I* volt per count *I I* rad per count *I I* volt per u(t) eng unit *I I* count per volt *I I* count per u(t) eng unit *I I* Note: r8 and r9 are dedicated sensor *I I* bias pointers. *I

PAGE 157

I* sliding surface initialization *I rl =lambda r2 = twopi *rl = aO = *rl *r2 I* initialize input and output pointers *I rl =input r2 = input + Ox0002 rll =output r12 =output+ Ox0002 ioc = Ox32CCO I* tum input DMA "ON" *I main: pin = input pout = output I* reset pointer after DMA *I I* scale x and xd intputs into engineering units *I rl =input r2 = input + Ox0002 r3 =xd r4 = x r5 = insfl *r3 = al = float(*rl) /*convert integers to float *I *r4 = a2 = float(*r2) 2*nop al =-*r8 /*load sen biases into accum */ a2 =-*r9 2*nop *r3 = al = al + *r3 *r5++ *r4 = a2 = a2 + *r4 *r5 3*nop I* calculate r vector using command filter */ cmd: r2 = cfcoefs r3 = cfstkl r4 =ref r5 = xd nop al = *r2++ *r3 a2 = *r2++ *r3++ 4*nop al = al + *r2++ *r3 a2 = a2 + *r2++ *r3++ 4*nop *r4++ = al = al + *r2++ *r3 /*store r(k) *I 4*nop *r4++ = a2 = a2 + *r2++ *r3++ I* store rdot(k) */ 4*nop a3 = *r2++ *r3++ /* r3 points at r(k) *I 4*nop a3 = a3 + *r2++ *r3++ /* r3 points at rdot(k) *I 4*nop 142

PAGE 158

*r4 = a3 = a3 + *r2 *r5 4*nop r5 = cfstk1 r6 =ref r7 = xd *r5++ = aO = *r6++ 4*nop *r5++ = aO = *r6 4*nop *r5 = aO = *r7 I* calculate xdot using derived rate *I drate: r5 = x aO = *r5 r1 = xdot r2 = drcoefs r3 = drstates r4 = drstates nop *r1 = aO = *r3++ + aO *r2++ a 1 = *r3++ + aO *r2++ a2 = aO *r2++ *r4++ = al = al aO *r2++ *r4++ ;;;:: a2 = a2 aO *r2++ 4*nop I* calculate e and edot *I rl = e r2 =ref r3 = x I* store rdotdot(k) *I I* update backvalues *I *rl ++ = aO = *r2++ *r3++ I* store e *I *rl = a1 = *r2 -*r3 I* store edot *I I* calculate s *I r3 = edot aO = *r3 r1 = s r2 =lambda r4 = e *r1 = aO = aO + *r2 *r4 I* calculate that *I r1 =that r2 = c2hat r3 = x *r1 = aO =-*r2++ *r3++ 3*nop *r 1 = aO = aO -*r2 *r3 3*nop 143

PAGE 159

I* calculate uhat *I rl = uhat r2 =lambda r3 = edot r4 = rdotdot r5 = fuat aO = *r4 *rl = aO = aO + *r2 *r3 3*nop *r1 = aO = aO*r5 3*nop I* calculate absolute values of x, xdot, and uhat *I abs1: r1 =zero r2 = x r3 = abs x aO = *r2a0 = aO*r1 3*nop if(alt) goto neg 1 nop *r3++ = aO = *r2++ goto abs2 neg1: nop *r3++ = aO = *r2++ abs2: 3*nop aO = *r2 aO = aO*r1 3*nop if(alt) goto neg2 nop *r3++ = aO = *r2++ goto abs3 neg2: nop *r3++ = aO = *r2 abs3: 3*nop r2 = uhat aO = *r2 aO = aO*r1 3*nop if(alt) goto neg3 nop *r3 = aO = *r2 goto endabs neg3: nop *r3 = aO = *r2 endabs: nop 144

PAGE 160

I* calculate delta f *I rl = deltaf r2 =d2 r3 = abs x *rl = aO-= *r2++ *r3++ 3*nop *rl = aO = aO + *r2 *r3 3*nop I* calculate k(x) *I rl = kx r2 = deltaf r3 =beta r4 =eta r5 = abs uhat aO = *r4+ *r2 3*nop *rl = aO = aO *r3++ 3*nop *r 1 = aO = aO + *r3 *r5 3*nop I* calculate s over phi *I rl = s_phi_inv r2 = s r3 = phi_inv *rl = aO = *r2 *r3 3*nop I* calculate sat of s over phi *I rl = sat_s_phi_inv r2 = s_phi_inv r4 =one r7 =zero aO = *r2 aO = aO*r7 3*nop if(alt) goto neg nop pos: aO = aO*r4 3*nop if(agt) goto satp nop *rl = al = *r2 goto endsat satp: 3*nop *rl = al = *r4 goto endsat neg: aO = aO + *r4 3*nop 145

PAGE 161

if(alt) goto satn nop *rl = al = *r2 goto endsat satn: 3*nop *rl = al =-*r4 endsat: nop I* calculate u *I r4 = uhat aO = *r4 rl = u r2 = sat_s_phi_inv r3 = kx r5 = bhatinv *rl = aO = aO + *r3 *r2 3*nop *rl = aO = *rl *r5 3*nop I* apply scale factors for output *I r13 = u r14 = e r4 = abiasl r5 = outsfl al =-*r4++ a2 =-*r4 3*nop *r13 = al = al + *r13 *r5++ *r14 = a2 = a2 + *r14 *r5 3*nop *rll = al = int(*rl3) *r12 = a2 = int(*rl4) 3*nop obufe = *rll I* wait for new data *I wait: pin input if (eq) goto wait nop goto main nop I* select variable for output #1 *I I* select variable for output #2 *I I* load biases into accumulators *I I* convert output to floating *I I* point counts *I I* convert output to integer counts *I I* wait for pin to be incremented *I 146

PAGE 162

I* ------------------------------------------------------------------------------------*I I* variables and constants */ I*------------------------------------------------------------------------------------*I input: output: adsf: dasf: sensfl: sensf2: actsfl: actsf2: sbias1: sbias2: abias1: abias2: insfl: insf2: outsfl: outsf2: float 0.0 float 0.0 float 3.0517e-4 float 3276.8 float 310.9e-6 float 31 0.9e-6 float 1.0 float 3216. float -4.5e-6 float -1.223e-3 float 0.0 float 0.0 float 1.0 float 1.0 float 1.0 float 1.0 xd: float 0.0 x: float 0.0 xdot: float 0.0 I* aid scale factor, volts/count */ I* d/a scale factor, counts/volt *I I* 310.9e-6 rad/volt */ I* steering mirror actuator *I I* 3216. for same units as cap plate*/ I* input 1 (xd) bias in rads */ I* input 2 (x) bias in rads */ I* output 1 bias in counts *I I* output 2 bias in counts *I I* command filter coefficients and back values *I cfcoefs: float 0.99878, -30.034 /*all, a21 */ float 7.6078e-5, 0.90318 I* al2, a22 *I float 1.2218e-3, 30.034 I* bl, b2 *I float -3.9478e5, -1.2566e3, 3.9478e5 I* c31, c32, d3 *I cfstk1: 3*float 0.0 I* xl(k-1), x2(k-1), u(k-1) *I ref: float 0.0 rdot: float 0.0 rdotdot: float 0.0 I* derived rate coefficients and back values *I I* derived rate with 1kHz second-order fllter *I drcoefs: float 0.0, 2167.3, -2167.3 float -1.3142, 0.49127 drstates: 2*float 0.0 twopi: float 6.283185 lambda: float 100. I* lambda in hertz *I 147 I* nO, n1, n2 I* d1, d2 *I *I

PAGE 163

e: float 0.0 edot: float 0.0 c2hat float 1815. c1hat: float 5.71 d2: float 147.0 dl: float 3.09 bhatinv: float 14.25e-3 abs x: float 0.0 abs-xdot: float 0.0 abs-uhat: float 0.0 deliif: float 1.0 beta: float 1.1 beta m 1: float 0.1 eta: float 0.1 fhat: float 1.0 kx: float 10.0 phi_inv: float 159.2 s: float 0.0 s_phi_inv: float 0.0 sat_s _phi _inv: float 1.0 uhat: float 0.0 u: float 0.0 one: float 1.0 zero: float 0.0 148

PAGE 164

APPENDIXE DSP32C ASSEMBLY CODE FOR EXPERIMENTAL TEST OF SLIDING CONTROLLER (INTEGRAL CONTROL) I* ------------------------------------------------------------------------------------------------Sliding Controller for Fast Steering Mirror DSP32C source code run on the Burr-Brown ZPB34 board DSP connector plugs into the +110 volt RTI board 12.5 kHz RTI *** Integral Control *** Version: 20 April91 ---------------------------------------------------------------------------------------------------*1 .global input, output, x, xdot, xd .global drcoefs, drstates, incoefs, instates .global sensfl, sensf2, actsfl, actsf2 .global sbias 1, sbias2, a bias 1, abias2 .global insfl, insf2, outsfl, outsf2 .global bhatinv, beta, deltaf, lambda .global e, edot, ref, rdot, rdotdot, s .global clhat, c2hat, d1, d2, kx, u, fhat, uhat begin: ioc = Ox30CCO pin= input pout= output I* scale factor initialization *I r1 = sensfl r2 = adsf r3 = insfl *r3++ = a1 = *r1++ *r2 *r3 = a2 = *rl *r2 2*nop rl = actsfl r2 = dasf r3 = outsfl *r3++ = a1 = *rl++ *r2 *r3 = a2 = *rl *r2 r8 = sbiasl r9 = sbias2 I* disable DMA *I I* pin= r20 -> 2 integer input *I I* pout = r21 -> 2 integer output *I I* rad per volt *I I* volt per count *I I* rad per count *I I* volt per u(t) eng unit *I I* count per volt *I I* count per u(t) eng unit *I I* Note: r8 and r9 are dedicated *I I* sensor bias pointers. *I

PAGE 165

I* sliding surface initialization *I rl =lambda r2 = twopi r3 =lambda *rl++ = aO = *rl *r2 4*nop *rl++ = aO = *r3 + *r3 *rl = al = *r3 *r3 I* initialize input and output pointers *I rl =input r2 = input + Ox0002 rll =output r12 =output+ Ox0002 ioc = Ox32CCO I* turn input DMA "ON" *I main: pin = input pout= output I* scale x and xd intputs into engineering units *I rl =input r2 = input + Ox0002 r3 =xd r4 = x r5 = insfl "'r3 = al = float("'rl) *r4 = a2 = float(*r2) 2*nop al =-*r8 a2 =-*r9 2*nop *r3 = al = al + *r3"' *r5++ *r4 = a2 = a2 + *r4 *r5 3*nop I* calculate r vector using command filter *I cmd: r2 = cfcoefs r3 = cfstkl r4 =ref r5 = xd nop al = *r2++ *r3 a2 = *r2++ *r3++ 4*nop al = al + *r2++ *r3 a2 = a2 + *r2++ *r3++ 4*nop *r4++ = al = al + *r2++ *r3 4*nop 150 I* reset pointer after DMA *I I* convert integers to float *I I* load sensor biases into accum *I I* store r(k) *I

PAGE 166

*r4++ = a2 = a2 + *r2++ *r3++ 4*nop a3 = *r2++ *r3++ 4*nop a3 = a3 + *r2++ *r3++ 4*nop *r4 = a3 = a3 + *r2 *r5 4*nop r5 = cfstkl r6 =ref r7 = xd *r5++ = aO = *r6++ 4*nop *r5++ = aO = *r6 4*nop *r5 = aO = *r7 I* calculate xdot using derived rate *I drate: r5 = x aO = *r5 r1 = xdot r2 = drcoefs r3 = drstates r4 = drstates nop *r1 = aO = *r3++ + aO *r2++ a1 = *r3++ + aO *r2++ a2 = aO *r2++ *r4++ = a1 = a1 aO *r2++ *r4++ = a2 = a2 aO *r2++ 4*nop I* calculate e, edot, and eint *I r1 = e r2 =ref r3 = x *r1 ++ = aO = *r2++ *r3++ *r1 = a1 = *r2-*r3 r5 = e r1 = eint r2 = incoefs r3 =instates aO = *r5 r4 = instates 3*nop *r1 = aO = *r3++ + aO *r2++ a 1 = *r3++ + aO *r2++ a2 = aO *r2++ *r4++ = al = al aO *r2++ *r4++ = a2 = a2 aO *r2++ 4*nop 151 I* store rdot(k) *I I* r3 points at r(k) *I I* r3 points at rdot(k) *I I* store rdotdot(k) *I 1* update backvalues *I I* store e *I I* store edot *I

PAGE 167

I* calculates *I r3 = edot aO = *r3 r3 =eint r1 = s r2 = lamtwo r4 = e aO = aO + *r2++ *r4 4*nop *r1 = aO = aO + *r2 *r3 I* calculate fhat *I r1 = fhat r2 = c2hat r3 = x *r1 = aO = *r2++ *r3++ 3*nop *r 1 = aO = aO -*r2 *r3 3*nop I* calculate uhat *I r1 = uhat r4 = rdotdot aO = *r4 r2 = lamtwo r3 = edot r5 = fhat aO = aO + *r2++ *r3 r3 = e 2*nop aO = aO + *r2 *r3 3*nop *r1 = aO = aO-*r5 3*nop I* edot + 2 lambda e *I I* stores *I I* calculate absolute values of x, xdot, and uhat *I abs1: r1 =zero r2 = x r3 = abs x aO = *r2-a0 = aO-*r1 3*nop if(alt) goto neg 1 nop *r3++ = aO = *r2++ goto abs2 neg1: nop *r3++ = aO = *r2++ abs2: 3*nop aO = *r2 aO = aO-*r1 3*nop 152

PAGE 168

if(alt) goto neg2 nop *r3++ = aO = *r2++ goto abs3 neg2: nop *r3++ = aO = *r2 abs3: 3*nop r2 = uhat aO = *r2 aO = aO*rl 3*nop if(alt) goto neg3 nop *r3 = aO = *r2 goto endabs neg3: nop *r3 = aO = *r2 endabs: nop I* calculate delta f *I rl = deltaf r2 = d2 r3 = abs x *rl = aO-= *r2++ *r3++ 3*nop *rl = aO = aO + *r2 *r3 3*nop I* calculate k(x) *I rl = kx r2 = deltaf r3 =beta r4 =eta r5 = abs uhat aO = *r4+ *r2 3*nop *rl = aO = aO *r3++ 3*nop *rl = aO = aO + *r3 *r5 3*nop I* calculates over phi *I rl = s_phi_inv r2 = s r3 = phi_inv *rl = aO = *r2 *r3 3*nop 153

PAGE 169

I* calculate sat of s over phi *I r1 = sat_s_phi_inv r2 = s_phi_inv r4 =one r7 =zero aO = *r2 aO = aO*r7 3*nop if(alt) goto neg nop pos: aO = aO*r4 3*nop if(agt) goto satp nop *r1 = a1 = *r2 goto endsat satp: 3*nop *r1 = a1 = *r4 goto endsat neg: aO = aO + *r4 3*nop if(alt) goto satn nop *r1 = a1 = *r2 goto endsat satn: 3*nop *r1 = a1 =-*r4 endsat: nop I* calculate u *I r4 = uhat aO = *r4 rl = u r2 = sat_s_phi_inv r3 =kx r5 = bhatinv *r1 = aO = aO + *r3 *r2 3*nop *r1 = aO = *r1 *r5 3*nop I* apply scale factors for output *I r13 = u r14 = e r4 = abias1 r5 = outsfl a1 =-*r4++ a2 =-*r4 3*nop 154 I* select variable for output #1 *I I* select variable for output #2 *I I* load biases into accumulators *I

PAGE 170

*r13 = al = al + *r13 *r5++ *rl4 = a2 = a2 + *rl4 *r5 3*nop *rll = al = int(*r13) *rl2 = a2 = int(*rl4) 3*nop obufe = *rll I* wait for new data *I wait: pin input if (eq) goto wait nop goto main nop I* convert output to floating */ I* point counts *I I* convert output to integer counts *I I* wait for pin to be incremented *I I* --------------------------------------------------------------------------------*I I* variables and constants *I I* --------------------------------------------------------------------------------*I input: float 0.0 output: float 0.0 adsf: dasf: sensfl: sensf2: actsfl: actsf2: sbias 1: sbias2: abiasl: abias2: insfl: insf2: outsfl: outsf2: float 3.0517e-4 float 3276.8 float 310. 9e-6 float 310.9e-6 float 1.0 float 3216. float -4.5e-6 float -1.223e-3 float 0.0 float 0.0 float 1.0 float 1.0 float 1.0 float 1.0 xd: float 0.0 x: float 0.0 xdot: float 0.0 I* aid scale factor, volts/count *I I* d/a scale factor, counts/volt */ I* 310.9e-6 rad/volt */ I* steering mirror actuator *I I* 3216. for same units as cap plate*/ I* input 1 (xd) bias in rads *I I* input 2 (x) bias in rads */ I* output 1 bias in counts *I I* output 2 bias in counts *I I* command filter coefficients and back values*/ cfcoefs: float 0.99878, -30.034 I* all, a21 */ float 7.6078e-5, 0.90318 /* a12, a22 */ float 1.2218e-3, 30.034 /* b1, b2 */ float -3.9478e5, -1.2566e3, 3.9478e5 /* c31, c32, d3 */ cfstkl: 3*float 0.0 I* xl(k-1), x2(k-l), u(k-1) */ ref: float 0.0 rdot: float 0.0 rdotdot: float 0.0 155

PAGE 171

I* derived rate coefficients and back values *I I* derived rate with 1 kHz second-order filter *I drcoefs: float 0.0, 2167.3,-2167.3 I* nO, nl, n2 *I float -1.3142, 0.49127 I* d1, d2 *I drstates: 2*float 0.0 I* trapezoidal integrator *I incoefs: float 40.e-6, 40 e-6, float -1.0, 0.0. instates: 2*float 0.0 twopi: float 6.283185 lambda: float 100. Iarntwo: float 0.0 Iarnsqr: float 0.0 e: float 0.0 edot: float 0.0 eint float 0.0 c2hat float 1815 c1hat float 5.71 d2: float 147.0 d1: float 3.09 bhatinv: float 14.25e-3 abs x: float 0.0 abs-xdot: float 0.0 abs-uhat: float 0.0 deliif: float 1.0 beta: float 1.1 beta m 1: float 0.1 eta: float 0.1 that: float 1.0 kx: float 10.0 phi_inv: float 159.2 s: float 0.0 s_phi_inv: float 0.0 sat_s_phi_inv: float 1.0 uhat: float 0 0 u: float 0.0 one: float 1.0 zero: float 0.0 0.0 156 I* nO, nl, d2*1 I* d1, d2*1 I* lambda in hertz *I

PAGE 172

CITED REFERENCES AND LITERATURE SURVEY [1] Aizerman, M.A. and Pyatnitskii, E.S., "Foundations of a Theory of Discontinuous Systems I," Automation and Remote Control, Vol. 35, No.7, Part 1, July 1974, pp 1066-1079. [2] ., "Foundations of a Theory of Discontinuous Systems II," Automation and Remote Control, Vol. 35, No. 8, Part 1, August 1974, pp 1242-1262. [3] Ambrosino, G., Celentano, G., and Garofalo, F., "Variable Structure Model Reference of Adaptive Control Systems," International Journal of Control, Vol39, No.6, 1984, pp 1339-1349. [4] Asada, H. and Slotine, J.-J. E., Robot Analysis and Control, New York: John Wiley and Sons, 1986. [5] Astrom, K. J. and Wittenmark, B., Adaptive Control, Reading, Mass: Addison-Wesley, 1989. [6] AT&T, WE DSP32 Digital Signal Pocessor Information Manual, Document MN88-19DMOS, February 1989. [7] AT&T, WE DSP32 and DSP32C Application Software Library, Document MN88-06DMOS, December 1988. [8] Bailey, E. and Arapostathis, A., "Simple Sliding Mode Control Scheme Applied to Robot Manipulators," International Journal of Control, Vol. 45, No.4, 1987, pp 1197-1209. [9] Bartolini, G. and Zolezzi, T., "Variable Structure Systems Nonlinear in the Control Law," IEEE Transactions on Automatic Control, Vol. AC-30, No.7, July 1985, pp 681-684. [10] Bengiamin, N.N., Kauffmann, B., "Variable Structure Position Control," IEEE Control Systems Magazine, August 1984, pp 3-8. [11] Bezvodinskaya, T.A. and Sabaev, E.F., "Stability Conditions in the Large for Variable Structure Systems," Automation and Remote Control, Vol. 35, No. 10, Part 1, October 1974, pp 1596-1599. [12] Bondarev, A.G., Bondarev, S.A., Kostyleva, N.E., and Utkin, V.I., "Sliding Modes in Systems With Asymptotic State Observers," Automation and Remote Control, Vol. 46, No.6, Part 1, June, 1985. [13] Buja, G.S. and Souliaev, A., "A Variable-Structure Controller," IEEE Transactions on Automatic Control, Vol. 33, No.2, February 1988, pp 206-209.

PAGE 173

[14] Canudus de Wit, C. and Slotine, 1.-J. E., "Sliding Observers for Robot Manipulators," IFAC Symposium on Nonlinear Control System Design, June 14-19, 1989 (Capri, Italy). [15] Chen, Y.-F., Mita, T., and Wakui, S., "A New and Simple Algorithm for Sliding Mode Trajectory Control of the Robot Arm," IEEE Transactions on Automatic Control, Vol. 35, No 7, July 1990, pp 828-829. [16] Connors, B.P., "Sliding Control of a Single-Axis Steering Mirror," (to be published) Proceedings of the SPIE Structures Sensing and Control Conference, Vol. 1489, April1991 (Orlando). [17] DeCarlo, R.A., Zak, S.H., and Matthews, G.P., "Variable Structure Control of Nonlinear Multi variable Systems: A Tutorial," Proceedings of the IEEE, Vol. 76, No.3, 1988, pp 212-232. [18] DeLonga, D.M., Slotine, 1.-J. E., and Yoerger, D.R., "Trajectory Control of Nonlinear, Time-Varying, Discrete-Time Systems Using Discrete-Time Sliding Control," NSL-870701, July 1987. [19] Drazenovic, B., "The In variance Conditions in Variable Structure Systems," Automatica, Vol. 5, 1969, pp. 287-295. [20] Dwyer, T.A.W. and Kim, 1., "Bandwidth-Limited Robust Nonlinear Sliding Control of Pointing and Tracking Maneuvers," Proceedings of the 1989 American Control Conference (Pittsburgh), pp 1131-1135. [21] El-Ghezawi, O.M.E., Zinober, A.S.I., and Billings, S.A., "Analysis and Design of Variable Structure Systems Using a Geometric Approach," International Journal ofControl, 1983, Vol. 38, No.3, pp 657-671. [22] Espana, M.D., Ortega, R.S., and Espino, J.J., "Variable Structure Systems with Chattering Reduction: A Microprocessor Based Design," Auromatica, Vol. 20, No.1, 1984, pp 133-134. [23] Fernandez, R., and Hedrick, J.K., "Control of Multi variable Non-Linear Systems By the Sliding Mode Method," International Journal of Control, Vo146, No.3, 1987, pp 1019-1040. [24] Filippov, A.F., Differential Equations With Discontinuous Righthand Sides, Dordrecht, The Netherlands: Kluwer Academic Publishers, 1988. [25] Hedrick, J.K., and Gopalswamy, S., "Nonlinear Flight Control Design via Sliding Methods," Journal of Guidance, Vol. 13, No.5, pp 850-858. [26] Hsu, L., "Variable Structure Model-Reference Adaptive Control (VS-MRAC) Using Only Input and Output Measurements: The General Case," IEEE Transactions on Automatic Control, Vol. 35, No. 11, November 1990, pp 1238-1243. 158

PAGE 174

[27] Itkis, U., Control Systems ofVariable Structure, New York: Halsted, 1976. (out of print) [28] Itkis, Yu.F. and Leibovich, A.V., "Use of Systems with Variable Structure for the Centralized Control of Objects with Variable Parameters," Automation and Remote Control, August 1970, No.8, pp 1257-1263. [29] Kotta, U., "Comments on 'On the Stability of Discrete-Time Sliding Mode Control Systems,"' IEEE Transactions on Automatic Control, Vol. 34, No.9, September 1989, pp 1021-1022. [30] Kuo, B.C., Digital Control Systems, New York: Holt, Rinehart and Winston, 1980. [31] Landau, Y.D., Adaptive Control: The Model Reference Approach, New York: Marcel Dekker, 1 979. [32] Lefebvre, S., Richter, S., and De Carlo, R., "Decentralized Variable Structure Control Design for a Two-Pendulum System," IEEE Transactions on Automatic Control, Vol. AC-28, No. 12, December 1983, pp 1112-1114. [33] Lozgachev, G.I., "Setting Up a Lyapunov Function for Systems with Variable Structure," Automation and Remote Control, Vol. 33, No.8, Part 2, August 1972, pp 1391-1392. [34] Luenberger, D.G., Introduction to Dynamic Systems, New York: John Wiley and Sons, 1979. [35] Madani-Esfahani, S.M., Hached, M., and Zak, S.H., "Estimation of Sliding Mode Domains of Uncertain Variable Structure Systems with Bounded Controllers," IEEE Transactions on Automatic Control, Vol. 35, No.4, April 1990, pp 446-449. [36] Milosavljevic, C., "General Conditions for the Existence of a Quasi sliding Mode on the Switching Hyperplane in Discrete Variable Structure Systems," Automation and Remote Control, Vol. 46, No.3, Part 1, March 1985, pp 307-314. [37] Misawa, E.A., Hedrick, J.K., Slotine, J.-J. E., and Verghese, G.C., "Sliding Observer Design for Nonlinear State Estimation," IFAC Symposium on Nonlinear Control System Design, June 14-19, 1989 (Capri, Italy). [38] Mohler, R.R., Nonlinear Systems Vol. 1: Dynamics and Control, Englewood Cliffs, New Jersey: Prentice-Hall, 1991. [39] Narendra, K.S. and Annaswamy, A.M., Stable Adaptive Systems, Englewood Cliffs, New Jersey: Prentice-Hall, 1989. [40] Ogata, K., Modern Control Engineering, Englewood Cliffs, New Jersey: Prentice-Hall, 1970. 159

PAGE 175

[41] Paden, B.E. and Sastry, S.S., "A Calculus for Computing Filippov's Differential Inclusion with Application to the Variable Structure Control of Robot Manipulators," IEEE Transactions on Circuits and Systems, Vol. 34, No. 1, January 1987, pp 73-82. [42] Sabanovic, A., Benitez, R., Hashimoto, H., and Harashima, F., "VSS Approach to DC Drives Control," IEEE PESC Record, April 1988, pp 235-242. [43] Sira-Ramirez, H., "A Geometric Approach to Pulse-Width-Modulated Control Design," Proceedings of the 26th IEEE Conference on Decision and Control (Los Angeles), December 1987, pp 1771-1776. [44] ., "Harmonic Response of Variable-Structure-Controlled Van der Pol Oscillators," IEEE Transactions on Circuits and Systems, Vol. CAS-35, No.1, January 1987, pp 103-106. [45] ., "Nonlinear Variable Structure Systems in Sliding Mode: The General Case," IEEE Transactions on Automatic Control, Vol. 34, No. 11, November 1989, pp 1186-1188. [46] Sira-Ramirez, H. and Dwyer, T.A.W., "Variable Structure Controller Design for Spacecraft Nutation Damping," IEEE Transactions on Automatic Control, Vol. AC-32, No.5, May 1987, pp 435-438. [47] Sivaramakrishnan, A.Y., Hariharan, M.V., and Srisailam, M.C., "Design of Variable Structure Load-Frequency Controller Using Pole Assignment Technique," International Journal of Control, Vol. 40, No.3, 1984, pp 487-498. [48] Slotine, J.-J. E., "Sliding Controller Design for Nonlinear Systems," International Journal ofControl, Vol. 40, 1984, p. 421. [49] ., Tracking Control of Nonlinear Systems Using Sliding Surfaces, Ph.D. Thesis, Dept of Aeronautics and Astronautics, Massachusetts Institute of Technology (May 1983). [50] Slotine, J.-J. E. and Coetsee, J.A., "Adaptive Sliding Controller Synthesis for Non-Linear Systems," International Journal of Control, Vol. 43, No.6, 1986, pp 1631-1651. [51] Slotine, J.-J. E. and Li, W., Applied Nonlinear Control, Englewood Cliffs, New Jersey: Prentice-Hall, 1991. [52] Slotine, J.-J. E. and Sastry, S.S., "Tracking Control of Non-Linear Systems Using Sliding Surfaces, with Application to Robot Manipulators," International Journal ofControl, Vol. 38, No.2, 1983, pp. 465-492. 160

PAGE 176

[53] Slotine, J.-J. E., Hedrick, J.K., and Misawa, E.A., "On Sliding Observers for Nonlinear Systems," Journal of Dynamic Systems, Measurement, and Control, Vol. 109, September 1987, pp 245-252. [54] Utkin, V. I., "Equations of the Slipping Regime in Discontinuous Systems I," Automation and Remote Control," Vol. 32, No. 12, Part 1, December 1971, pp. 1897-1907. [55] ., "Equations of the Slipping Regime in Discontinuous Systems II," Automation and Remote Control," Vol. 33, No. 2, Part 1, February 1972, pp. 211-219. [56] ., "Variable Structure Systems: Present and Future," Automation and Remote Control, Vol. 44, No.9, Part 1, September 1983, pp 1105-1120. [57] ., "Variable Structure Systems with Sliding Modes," IEEE Transactions of Automatic Control, Vol. AC-22, No.2, April1977, pp 212-222. [58] Utkin, V.I. and Yang, K.D., "Methods for Constructing Dicontinuity Planes in Multidimensional Variable Structure Systems," Automation and Remote Control, Vol. 39, No. 10, Part 1, October 1978, pp 1466-1470. [59] Verghese, G.C., Fernandez, R.B., and Hedrick, J.K., "Stable, Robust Tracking by Sliding Mode Control," Systems and Control Letters, Vol. 10, 1988, pp 27-34. [60] Vostrikov, A.S., Utkin, V.I., and Frantsuzova, G.A., "Systems with State Vector Derivative in the Control," Automation and Remote Control, Vol. 43, No. 3, Part 1, March 1982, pp 283-286. [61] Yeung, K.S. and Chen, Y.P., "A New Controller Design for Manipulators Using the Theory of Variable Structure Systems," IEEE Transactions on Automatic Control, Vol. 33, No.2, February 1988, pp 200-206. [62] Yoerger, D.R. and Slotine, J.-J. E., "Robust Trajectory Control of Underwater Vehicles," IEEE Journal ofOceanic Engineering, Vol. OE-10, No.4, October 1985, pp 462-470. [63] Young, K.-K. D. "Controller Design for a Manipulator Using Theory of Variable Structure Systems," IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC-8, No.2, February 1978, pp 101-109. [64] ., "Design of Variable Structure Model-Following Control Systems," IEEE Transactions on Automatic Control, Vol. AC-23, No.6, December 1978, pp 1079-1085. 161

PAGE 177

[65] Young, K.-K. D., Kokotovic, P.V., Utkin, V.I.," A Singular Perturbation Analysis of High-Gain Feedback Systems," IEEE Transactions on Automatic Control, Vol. AC-22, No.6, December 1977, pp 931-938. [66] Young, K.-K. D. and Kwatny, H.G., "Variable Structure Servomechanism Design and Applications to Overspeed Protection Control," Automatica, Vol. 18, No.4, 1982, pp 385-400. [67] Wonham, W.M. and Johnson, C.D., "Optimal Bang-Bang Control with Quadratic Performance Index," Proceedings of the Fourth ASME Joint Automatic Control Conference 1963 (Minneapolis), pp 101-112. 162

PAGE 178

INDEX Actuator 83-84 Adaptive sliding control 4, 67-74, 105-109 Balance condition 60,62 Boundary layer 3,51 Time invariant 51-54,70 Time varying 55-66 Boundary layer gain 57,60 Boundary layer thickness () 51, 119 Boundary layer width (e) 51 Capacitor plate 85, 110-111 Chattering 2, 12, 13, 51 Command filter 36, 91-94 Control discontinuity gain 30-32, 34, 35, 57 Differentiating filter 95-97 Digital signal processor (DSP) 112, 141-156 Disturbance rejection 3,20 Drazenovic, B. 17,20 El-Ghezawi, O.M.E. 17, 19 Equivalent control (ueq) 3, 17, 18 Error phase plane 24 Filippov, A.F. 16, 17 Frequency response 16, 120, 123 Gain margin 29,89

PAGE 179

Hyperplane Hypersurface Integral control Integration algorithm Invariant set Lyapunov function MATRIXx Narendra, K.S. Notation Order reduction Phase plane Projector theory Reaching phase Reference state Representative point (RP) Strajectory Saturation function Signum function Sliding condition Sliding mode Sliding regime Sliding surface Slotine, J.-J. E. Steering mirror 13, 14, 17 13, 14, 15, 17 40,48-50, 103-104, 123-125, 144-156 98 25-26 68, 73 99, 128-140 67 5-6 3, 19 10, 11, 23-24, 37 19 11, 12,20 23 13,14,17 55 52 8,29,34,52 15,25,30 11, 12 12, 13, 36 12,23,103 xiv,2,3,6,22,67, 126 75-82, 110-112 164

PAGE 180

Variable of interest (w) 40-42, 45 Variable structure system (VSS) 3, 7, 8, 10, 11, 19 165