note users - university of toronto t-space · finally, a very special thanks to my fiancee, ari n....
TRANSCRIPT
![Page 1: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/1.jpg)
NOTE TO USERS
The original manuscript received by UMI contains pages with indistinct print. Pages were microfilmed as received.
This reproduction is the best copy available
UMI
![Page 2: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/2.jpg)
![Page 3: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/3.jpg)
Adaptive Backstepping Control of the
Variable Reluctance Motor
Ruth Milman
A t hesis submit ted in conformity wit h the requirements for the degree of Master of Applied Science
Department of Electrical and Computer Engineering University of Toronto
@Copyright Ruth Milman 1997
![Page 4: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/4.jpg)
National Library 1+1 of Canada Bibliothbque nationale du Canada
Acquisitions and Acquisitions et Bibliographie Services senrices bibliographiques
395 Wellington Street 395, rue Wellington Ottawa ON K I A ON4 OttawaON K1AON4 Canada Canada
The author has granted a non- L'auteur a accordé une licence non exclusive licence dowing the exclusive permettant B la National Library of Canada to Bibliothèque nationale du Canada de reproduce, loan, distribute or sell reproduire, prêter, distribuer ou copies of this thesis in rnicroform, vendre des copies de cette thèse sous paper or electronic formats. la forme de microfiche/lfilm, de
reproduction sur papier ou sur format électronique.
The author retains ownership of the L'auteur conserve la propriété du copyright in this thesis. Neither the droit d'auteur qui protège cette thése. thesis nor substantial extracts f?om it Ni la thèse ni des extraits substantiels may be printed or otherwise de celle-ci ne doivent être imprimés reproduced without the author's ou autrement reproduits sans son permission. autorisation.
![Page 5: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/5.jpg)
Adaptive Backstepping Control of the
Variable Reluctance Mot or by
Ruth Milman M.A.Sc.
Department of Electrical and Computer Engineering University of Toronto
1997
Abstract
In this thesis, both full-state and observer-based adaptive backstepping controllers
are synthesized for the plant which uses splines to mode1 its nonlinearity. It is hoped
that the use of splines in the backstepping algorithm can alleviate the cornplexity of the
resulting controller, but unfortunately, it is shown that this is not the case. A variable
reluctance motor (VRM) is used as a test bed for these controllers. The full-state controller
exhibits undesirable behavior, Le., steady state tracking error and some excitation of high
frequency dynamics. Because velocity of the motor is not directly measured, a linear filter
is used to estimate the tme velocity. It is believed that this is the cause of some of the
undesirable plant behavior. An observer-based controller is irnplemented in order to test
this conjecture. The observer based controller reduces the steady state error by half, and
eliminates an audible hum produced by the motor in the Ml-state control case.
![Page 6: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/6.jpg)
iii
Acknowledgement s
1 would like to take this opportunity to thank my supervisor, Professor S.A. Bortoff,
whose the help and guidance led me to where 1 am today. Moreover, 1 would also like
to express my gratitude to Professor Bortoff as well as the University of Toronto for the
the financial support they have provided me throughout my M.A.Sc. There are several
other people without whose help and support rny research could not have been possible.
First, my father, Professor Pierre Milman, who instilled in me a love for mathematics
which 1 did not know I possessed until 1 had begun gaduate studies. Thanks also to my
family and friends, who listened to every unjustified cornplaint and always reassured me
that 1 would persevere. Furthermore, 1 would like to thank the members of the systems
control goup, who helped me learn the ropes as well as the pitfalls of being in systems
control. Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1
the projects and chores 1 had dropped when it came time to complete my thesis, and who
is an everlasting pillar of support in my life.
![Page 7: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/7.jpg)
Contents
1 Introduction 1
Adaptive backstepping 10
. . . . . . . . . . . . . . . . . . . . . . . . 2.1 Conditions for irnplementation 10
. . . . . . . . . . . . . . . . . . . . . . . . 2.2 Spiine function approximations 12
. . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Modeling of nonlinearity 12
. . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Splines in backstepping 16
. . . . . . . . . . . . . . . 2.3 Theoretical development: A 3rd order example 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 The plant 20
. . . . . . . . . . . . . . . . . . . . . . 2.3.2 The change of coordinates 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 Step1 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.4 Step2 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.5 Step3 24
. . . . . . . . . . . . . . . . . . . . 2.4 The form of a backstepping controller 27
3 Full-state feedback of the VRM. 32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 The VRM mode1 32
3.1.1 Voltage control vs . current control . . . . . . . . . . . . . . . . . . 33
. . . . . . . . . . . . . . . . . 3.1.2 The current-controlled plant mode1 34
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Controller synthesis 38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Stepl 38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Step2 39
. . . . . . . . . . . . . . . . . . . . 3.3 Implementation of the control torques 40
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Commutation 41 . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Inversion of the splines 43
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3 Projection 46
. . . . . . . . . . . . . . . . . . . . . . 3.4 Experimental setup for the W 1 49
3.5 Experimentai results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
![Page 8: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/8.jpg)
CONTENTS v
4 Observer adapt ive backstepping 57
4.1 Conditions for the observer-based algonthm . . . . . . . . . . . . . . . . 58
4.2 Theoretical development: .4 3'* order example . . . . . . . . . . . . . . . 58
4.2.1 The plant mode1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2.2 Observer design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.2.3 Coordinate transformation . . . . . . . . . . . . . . . . . . . . . . 62 4.2.4 Step 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.2.5 Step2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2.6 Step3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.2.7 Implementation of the control . . . . . . . . . . . . . . . . . . . . . 69
4.3 The form of the observer-based controller . . . . . . . . . . . . . . . . . . 70
5 Observer-based control of the VRM 73 5.1 Theoreticai development of the controller . . . . . . . . . . . . . . . . . . 73
5.1.1 The plant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.1.2 Theobserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.3 S t e p l 75
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.4 Step2 77
5.1.5 Implementation of the control torques . . . . . . . . . . . . . . . . . 79
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Experimental results 79
6 Conclusions 84
A Equivalence of VRM N1-state controllers 87
B Controller C-code
Bibliography
![Page 9: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/9.jpg)
Chapter 1
Introduction
Most physical systems contain some sort of nonlinearity. Often these systems can be
modeled by a set of differential equations of the form
where x E Rn is the state, u E 7Z is the control, and f , g are vector fields. If the
nonlinearity in (1.1) is mild, it can be ignored, and a purely linear controller can be
designed to accomplish a given control task, i.e., stabilizing x = O. In this case, it may be
possible to increase robustness with respect to the mode1 uncertainty in order to improve
performance of the controller, i.e., to increase the region of attraction. On the other hand,
for systems with severe nonlinearity, this method might provide poor performance. For
such plants, a nonlinear controller synthesis must be considered.
In the past decade, many advances have been made in nonlinear control theory, and
two directions have emerged: lineaxizing methods and Liapunov methods. Feedback lin-
earization, originated in the early 1980's by Su [Il and Meyer [2], is an example of a
linearizing controiier. This method uses a differential geometric approach in order to
cancel out system nonlinearity with the control
![Page 10: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/10.jpg)
CHAPTER 1. INTRODUCTION 2
where v is a control variable. In the new coordinates defined by the rnapping
the system is linear. Linear system theory is used to stabilize the origin in the a coordi-
nates, using the control v.
Xlthough there are many practical systems which are controllable by feedback lin-
earization, i.e., fully-articulated robotic manipulators, a lack of robustness of these con-
trollers with respect to mode1 uncertainty can cause implementation problems. Robust-
ness can be improved by so-called Liapunov redesign. Here, any bounded nonlinearity
that enters the system at the same point as the control (known as the matching condi-
tion) can be canceled. Fully actuated robots fa11 into the category of plants which can be
stabilized by feedback linearization in conjunction with Liapunov redesign.
One of the drawbacks of feedback linearization is that control effort can be wasted in
canceling "good" system nonlinearity. For example, consider the systern
where a > O. It is desired to globally stabilize the origin. Globally linearizing this system
means choosing the control u = ax3 - kx, for k > O. Taking a doser look at the system,
one sees that the origin is globally asyrnptotically stable with zero control; control effort
has been excerpted For no reason. Moreover, if there is any uncertainty in the constant a,
then choosing a nominal value â for the control gives
For â > a, global asymptotic stability is lost, since Z = f ,/& is an equilibrium solution.
A Further drawback is the strong (involutivity of a set of vector fields) existence con-
ditions necessary. In order to enlarge the non-generic class of systems to which feedback
lineaxization can be applied, researchers needed to weaken these strict conditions. Meth-
ods like approximate feedback linearization and input-output linearîzation, where terms
that cannot be linearized are simply not canceled, have been developed to deal with the
![Page 11: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/11.jpg)
CHAPTER 1. INTRODUCTION 3
restrictiveness of the system [3,4, 51. But, there is no guarantee that the controller result-
ing from approximation methods will improve the performance of the closed-loop system
when compared wit h Jacobian linearization.
These liabilities have led researchers to consider the alternative Liapunov methods.
When designing a feedback controller using Liapunov methods, the idea is to find a
positive definite function V ( x ) and use it to design a control
to Force v 5 O. This function V ( x ) is known as a control Liapunov function. (Given a
Liapunov function V ( x ) > O, Vx # O. if v 0, Vx 6 R, then the origin is globally stable
in the sense of Liapunov (isL). If v < 0, Vx # O, then the origin is globally asymptotically
stable (isL). If 3k > O such that v < e-", Vt > O, then the origin is globally exponentially
stable (isL) [6, 71.)
In the past, there has been no systematic method of finding a control Liapunov func-
tion, especially For systems that do not sati* the matching condition. In the late 1980's
a new idea for Liapunov function design began to appear in the literature. This idea
was shaped into an algorithm called backstepping, largely through the efforts of Saberi,
KokotoviC and Sussman [SI, and Kanellakopoulos, Kokotovii: and Morse [9]. Backstepping
is a recursive way of building a control Liapunov function and a stabilizing control for
systems t hat fails the matching conditions. Backstepping works on a relatively large class
of systems, and the nonlinearity does not need to be globally Lipschitz. (A nonlinear
function 4 : Rn * R is globally Iipschitz if 3k > O such that 11$(x) - 4(y)l( < kllz- yll, Vx, y E Rn.) Moreover, the conditions for synthesis of a backstepping controiier are gen-
erally not as restrictive as those for feedback ünearization. The method is also relatively
easy to understand, thus opening up the possibilities for use as a practical design tool.
Because backstepping is a Liapunov function-based algorithm, it is possible to take ad-
vantage of the form of the system when designing a controller in order to reduce control
effort where possible by not canceling "good" nonlinearity. It is also possible to add terms
to the controller in order to make it more robust with respect to mode1 uncertainty. These
![Page 12: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/12.jpg)
CHAPTER 1. INTRODUCTION
characteristics of backstepping are not present in a linearizing met hod of control.
Methods to design robust nonlinear controllers have also received much attention re-
cently, especially those based on adaptive control methods. As we have seen in exarnple
(1 4, it is easy to destroy global asymptotic stability by using the "wong" estimate of a
system parameter. Consider the system
Here, the control u = -Ex2 - kx can only guarantee global exponential stability of the
origin if â = a exactly; if a # â, global exponential stability of x = O is lost. Moreover,
the area of the region of attraction for exponential stability of the origin can be increased
only by using a high gain k in the control. Adaptive control theory was developed as
an alternative to local high gain control. In adaptive control, the number of states is
augmented by a number of dynamic parameter estimates of al1 unknown or uncertain
parameters. Tuning laws are designed that change the parameter estimates in order to
try to stabilize the system. To date, adaptive methods can only be implemented if the
system is linear in any uncertain parameters.
Adaptive control for linear plants with parametric uncertainty was already solved by
the 1980's (for exarnple [IO].) From there it took a almost a decade to extend the theory
to nonlinear systems. Adaptive controllers for the nonlinear systems in the matched case
is considered in [Il], and controllers for the extended matched case - where nonlinearity
can appear "one integrator away" from the control, instead of in the same place - is
considered in [12, 131. The work on the matched and extended matching case lead to the
use of parameter estimation within feedback Linearization [14]. The resulting controllers
are known as certdnty equivalence controllers because they have the equivalent form
of the controiler for the certain case where ali parameters are known; estimated (time-
varying) versions of any uncertain parameters are used in the control to replace the "true"
values. The estimates are then tuned using methods such as gradient descent, or l e s t
squares. These early methods of adaptive control are not applicable to a large class of
nonlinear systems, because the nonlineax functions which are multiplied by t hese uncert ain
![Page 13: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/13.jpg)
parameters must be globally Lipschitz.
In 1989, an adaptive version of the backstepping controller was developed by Kanel-
lakopoulos, KokotoviC and Morse [15]. This version of the adaptive backstepping controller
eliminates the need for system nonlinearity to be matched. They use over-parameterization
of the estimates to deal with the unmatched uncertainty, creating a recursive algorithm
for adaptive controller design for the class of pure feedback systems, described by
where qi : Ri ct RP is the system nonlinearity, and 0 E RP is a vector of unknown
parameters. In 1992, KrstiC, Kanellakopoulos and KokotoviC [16] further developed the
algorithm using tuning functions, eliminating the need for over-parameterization.
Simultaneously, the parallehg over-parametrized adaptive observer backstepping con-
troller, which uses output feedback instead of Ml-state feedback, was developed, first by
KokotoviC and Middleton [17, 181 for systems with global Lipschitz nonlinearity, and then
later by Marino and Tomei [19, 201, Kanellakopoulos, KokotoviC and Morse [21, 221, and
KrstiC, Kanellakopoulos and KokotoviC [23], whose work generalized the observer back-
stepping result to systems with nonlinearity which does not need to satisfy global Lipschitz
conditions. In 1995, al1 of this theory was conveniently packaged in the form of a book on
adaptive control by KrstiC, Kanellakopoulos and Kokotovit [24]. This book is an excellent
source for the history of the development of the adaptive backstepping controllers.
Wit hin the framework of adaptive backstepping controllers, robustness with respect to
uncertainty in the nonünear functions .>lli has been considered as well. In (251, Polycarpou
and Ioamou use the idea of bounding functions to cover the nonlinearity, synthesizing
![Page 14: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/14.jpg)
CHAPTER 1. INTRODUCTION 6
a backstepping controller which globally exponentially stabilizes a system with modeling
uncertainty using t hese bounding functions.
The backstepping algorithms have been successfully irnplemented on a growing coliec-
tion of plants. These plants seem to generally belong to the category of electro-mechanicai
devices, which for physical reasons generally faIl into the class of pure feedback forrn sys-
t e ( 1 . 8 ) - ( 1 ) Much literature is devoted to the backstepping control of motors,
including the induction motor [24], the permanent magnet brush DC rnotor [26], the
brushless DC motor 1271, the wound stator DC motor [28] and even the variable reluc-
tance motor (VRM) [29, 30, 31, 321. Other examples of systems which have been tested
using backstepping control methods include active automobile suspension [33] and sim-
ulation of aircraft wing rock [24]. Backstepping has been tested against other control
rnethods, using a nonlinear benchmark problem, in the cornparison of [34, 351, and associ-
ated conference special sessions. The backstepping controller has also been considered on
the RTAC testbed in [36]. This testifies to the strong interest in experimental verification.
The adaptive backstepping algorithm can be applied to systems while using spline
functions to model the plant nonlinearity. The spline interpolates unknown system non-
linearity, and is exact at designated positions, known as knot points. Between knots,
the spline is a polynomial function. It is possible to ensure that the approximation be
smooth and continuous for at least n derivatives by choosing a polynomial of sufficiently
large degree. Figure 1.1 shows a nonlinear function and its spline approximation. Spline
functions are linear in their spline coefficients, and thus they are ideal for backstepping.
When the fom of a system (1.8)-(1.11) is known to the designer, but there is no exact
model for the functions ?,,hi, then it is possible to take advantage of splines to model the
nonlinearity, in which case the form of the nth order strict feedback form plant is always
the sarne. Only the individual vectors of unknown spline coefficients will change. The idea
of applying backstepping to such a plant gives a designer the opportunîty of synthesizing
a generic controller for an nth order plant.
In this thesis we use the backstepping algorithm to synthesize a controller for a 3rd
![Page 15: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/15.jpg)
CHAPTER 1. INTRODUCTION
O 1 2 3 4 5 6 Position x in intewal [0,q
Figure 1.1: A function and its spline approximation.
order plant, in which the functions qi are splines. Both full-state feedback and output
feedback cases are derived. The resulting controllers are examined for any "special form"
that may result due to the incorporation of these splines into the plant form (1.8)-(1.11).
The work is motivated by two observations:
a incorporating splines into adaptive feedback linearization [37] results in a very com-
putationally efficient controller, and the computational efficiency is due to the prop
erties of spline functions; and
backstepping controllers are notoriously cornplex, because of the rvay nonlinearity
is represented in the control law, as we shail see in Chapters 2 and 4.
This thesis also presents experimental results for both a full-state and an observer-
based adaptive backstepping controilers. The performance of these adaptive backstepping
controlers, which incorporate spline functions, are evaluated. The variable reluctance
motor (VRM) has been chosen as a testbed for this research.
Like many motors, the VRM is backsteppable, Le., its dynamics are in parametric pure-
feedback form (1.8)-(1.11). This motor is driven by control torques appearing within the
acceleration dynamics. However, the functions 111 are highly nodinear; detailed modeling
of these fûnctions, based on k t principles, can be found in [38]. Control of the VRM
![Page 16: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/16.jpg)
CH-4 PTER 1. INTROD LlCTION 8
is further complicated because the motor is controlled through L independent currents
(or voltages), where L is the number of windings in the motor. Because position of the
rnotor alone dictates the sign of a torque produced by a given winding, a sophisticated
commutation scheme must be used in conjunction with any control designed for the motor.
It is for these reasons that the VRM provides a challenging, nontrivial testbed for a
backstepping controller using spline function modeling of the plant nonlinearity.
Various experiments have been done on the VRM in conjunction with the backstepping
algorithm. These incfude work on non-adaptive backstepping [32] as well as work on the
adaptive case [30, 311. Partial state feedback or observer backstepping is considered in
[29]. But, in al1 of this work, researchers assume that the nonlinear functions é are well
known to the designer. For example, in [30] Carroll et.al use an exact mode1 of the VRM
nonlinearity 1C> in their backstepping approach. In our modeling, we do not assume full
knowledge of the form of any nonlinearity. Rather, we use spline functions to model the
system dynamics. The goal here is to try to use the VRM as a testbed for robustness
of the adaptive backstepping algorithm when a plant model is based on splines. This
mode1 is more generic than exact modeling, thus the resulting controller is more portable
to other systems.
The first half of this thesis focuses on adaptive backstepping of plants assuming full-
state mesurement is available. In Chapter 2 the adaptive backstepping algorithm is
outlined, using spline h c t i o n s to model plant nonlinearity. The conditions and assump
tions needed for backstepping are discussed, spline function modeling is briefly introduced,
and a detailed derivation of a third order plant is given. Chapter 3 focuses on the VRh,I:
the model used, the commutation which is needed, synthesis of the controller, and exper-
imental results and problems.
The second half of the thesis is devoted to the output feedback case. Chapter 4
describes the general case of observer backstepping, again using a third-order example, and
comparing the resulting controller to the fd-state case. Chapter 5 again focuses on the
VRM, detailing the new observer-based controller synthesis, and comparing experimental
![Page 17: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/17.jpg)
CHAPTER 1. INTRODUCTION 9
results obtained here to the full-state case. Chapter 6 concludes the thesis with a review
of the results and a look at future possibilities for related research.
The main contributions of this thesis are twofold.
1. The first contribution is a theoretical one; the form of the backstepping control ler
that uses splines to model nonlinearity is examined. This is done in the hope that
splines will simplify the complex controller structure.
2. The second contribution is an experimental one; the VRM is used as a testbed for
the backstepping controller when splines model system nonlinearity. This is done
for both the full-state and the observer-based backstepping controllers.
![Page 18: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/18.jpg)
Chapter 2
Adapt ive backstepping
Backstepping is a recursive method of controller synthesis which is based on Liapunov
function methods. The purpose of this chapter is to introduce the backstepping algorithm.
First the conditions and assumptions which are needed in order to be able to synthesize
a backstepping controller are discussed. Then spline funct ions are introduced, and t heir
benefits and liabilities within the backstepping controller are described. A 3rd order
example is introduced to illustrate the backstepping technique. Finally, the form of the
resulting controller is discussed. Most of the development is a straightforward application
of [24], Chapters 3, 4.
2.1 Condit ions for implement at ion
Like most control design methods, the application of backstepping is limited to a strict
class of systems. Systems in this class are said to be in "pure-feedback fom" because
the functions qb represent feedback around a string of integrators, as shown in Figure 2.1.
The derivative of the last state is directly controlled by the input. The set of differential
![Page 19: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/19.jpg)
CHAPTER 2. ADAPTNE BACKSTEPPING II
Figure 2.1: Pure-feedback form system. The functions cpi in this figure indicate the
nonlinearity $i of equations (2.1)-(2.4).
equations describing pure feedback form is
where each $i : Ri ct RP is a vector of nonlinear functions, and 0 E RP is a vector of
constant coefficients which scales the nonlinearity &. The control u may be multiplied
by a function g ( x ) , where g(x) # O, V x E Rn. If the goal is to track a function y, using
x17 then the backstepping algorîthm can be used to globally exponentially stabilize the
origin of a tracking error system. ( We denote the tracking error coordinates as z E Rn.)
When the vector of constant coefficients 0 is unknom, then by augmenting the system
with dynamic estirnates 3 an adaptive version of the backstepping algorîthm may be used
to globally asyrnptotically stabilize the origin of the tracking error system.
![Page 20: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/20.jpg)
CHAPTER 2. ADAPTrVE BACKSTEPPING 22
In general, the adaptive backstepping algorithm outlined in this chapter can be used to
asymptotically stabilize the origin of a tracking error systern a if the following conditions
are met by the plant:
the plant belongs to the class of parametric, strict feedback form systems, i.e., it
can be written in the form of (2.1)-(2.4);
a mode1 exists for al1 plant nonlinearity (the qbi are known);
the plant is linear in any uncertain constant parameters;
the function g(x) which multiplies the control satisfies g(x) # O, Vx E Rn;
each of the functions l(ri, z = 1,2, . . . , n is sufficiently smooth and continuous, i.e.,
Il>i . E Cn-', j = l , 2 , . . . , p; 13
the signal which will be tracked, y,, is sufficiently smooth and continuous, i.e.,
yr E CR-' ; and
the full state is measured.
2.2 Spline funct ion approximations
The following section gives some background on the B-spline function approximations
used in this thesis. For more depth, the reader is referred to [39]. The actual modeling of
a spline function is described first, then there is a discussion of the application of spline
functions to adaptive backstepping control.
2.2.1 Modeling of nonlinearity
Let D c R be a closed, connected interval, which is the domain of interest. Define a set
of (n + 1) points
![Page 21: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/21.jpg)
Figure 2.2: .;2 single basis function element b @ ) .
such that D = [s,, s,] and so < si < < s,. A pth order polynomial spline is a function
S (x ) : D ct R satidying
1. S ( x ) E Cp-'[Dl, i.e., S(x) and its first ( p - 1) derivatives are continuous functions
of x; and
2. S ( x ) is a pth order polynomial in x on each interval [sk, sk+ 11, for O 5 k 5 n - 1.
The points s k are known as knot points. For exarnple, a 2nd-order spline S(x) (quadratic)
is a quadratic polynomial on each intemal, and continuous up to its first derivative.
Given N, the set of al1 pth-order polynomial splines is a (n + p)-dimensional vector
space. A computationally efficient ba i s B = {bk(x), 1 5 k 5 n + p} is composed of a
single ba i s b(x) shifted and scded to a normalized function. Figure 2.2 shows a single
normalized quadratic spline basis function. It spreads across three intervals, and is defined
as three sets of piecewise continuous polynomials:
The basis is scaled to the intervals of the approximation by substituting s = 3 where b is
the interval between knot points. The new basis b(x) is is shifted and copied across the
entire region for which the spline approximation must be valid.
![Page 22: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/22.jpg)
Figure 2.3: Shifted copies of the basis function as needed for a spline approximation along
the interval [0,3] with knot points at 1 and 2.
Figure 2.4: (a) The function f (x) and its spline approximation S(x) , (b) The five weighted
basis functions bi(x), i = 1,2, ,5 .
Consider the region [O, 31 with b o t points a t the integer values of 1 and 2. In this
segment there are three intemals: [O, l), [l, 2) and [2,3]. Figure 2.3 shows the bases across
the region. In order to have three bases in the first and last intervals, an exqra basis has
been added on either side of the region. To make the spline hinction approximate a
function f (x) the values of the function f (x) are evaluated a t the boundaries and the
knots, Le., when x = 0,1,2,3. The spline function S ( x ) is forced to have the values of
f (x) at the boundaries and h o t points. This can be accomplished by multiplying each
basis element bi(x) of Figure 2.3 by coefficients Bi- Consider the function
f (x) = x4 - 2.8x3 + 2 (2J)
![Page 23: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/23.jpg)
CHAPTER 2. ADAPTIVE BACKSTEPPING 15
with the interval [O, 31 and the knot points 1 and 2. Figure 2.4 shows the tme function
/ ( x ) , the spline function S ( x ) and the five scaled buis elements Oibi(x). Note that for a
quadratic spline there are only three intervals and only four knot or boundary points, but
there are five basis functions needed. In order to make the spline approximation unique
the first derivative on the left side is also used in computing the values of the spline
coefficients Bi.
In general, a single variable spline function is simply a collection of basis function
elements multiplied by a set of coefficients. The spline function S ( x ) is given by
where M is the number of ba i s elements, bi(x) are the actual ba i s elements and Bi are
the spline coefficients. This can easily be rewritten in vector form as
Multivariable splines are simply a weighted sum of al1 combinations of the single
variable spline function basis elements mult iplied together. This gives
This multivarîable spline can again be rewritten in vector form as
![Page 24: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/24.jpg)
CHAPTER 2. ADAPTIVE BACKSTEPPING
This time B ( x l , xz, , xj) E 7 Z M J is given by
B ~ ( z ~ , x ~ , . - - ~ x ~ ) =
where xj = [XI, 22, , x j ] and bit c2,.--,ij (2j) = bii (x l )b i2 (x2) * bit ( x j ) . The spline coef-
ficient vector û is simpiy
2.2.2 Splines in backstepping
S pline function modeiing has bot h advantages and disadvantages. S plines are good func-
tion approximations to use in conjunction wit h backstepping because splines are always
linear in the spline coefficients, which are the unknown parameters. It is possible to use
spünes to mode1 any nonlinearity. Consider for example the function
where k is an unknown constant. This function is not h e a r in its uncertainty, but there
exists a spline function approximation for this, and that approximation is linear in its
unknown spline coefficients. If B ( x ) is a basis vector and 0 is a spline coefficient vector,
then
![Page 25: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/25.jpg)
CHAPTER 2. ADAPTIVE BACKSTEPPING 17
where q ( x ) is a continuous error function. The maximum magnitude of the error function
is dependent on the order of the spline approximation and the distance between knot
points. At the knot points, the error q ( x ) is always zero. Increasing the order of the
approximation (increasing k) or decreasing the distance between knot points (6) will
reduce the magnitude of ~ ( x ) between the knot points.
The error q could have a destabilizing effect on a control law. It should be possible to
implement robust measures to reduce or eliminate the effect of q. This is an open research
area. In general, when a physical system is rnodeled by a set of differential equations,
this set of equations is not an "exact" model of the system, rather it is just a model that
seems to fit the behavior of the physical system. There is no reason why a spline model
with a small q cannot be used instead.
Although splines can interpolate any nonlinear function, there are liabilities to the use
of splines in a controller. Perhaps the greatest is the large number of parameters which
must be used for each approximation. Consider the function
which is linear in its single unknown parameter. If a parameter estirnate k is used for
this function, then only the single state i ( t ) is used in the controller. Consider the spline
function approximation, which has knot points at the integer values of x on the intenal
[-IO, 101. There are a minimum of 21 spline coefficients that are needed to describe this
system on that short interval - the augmented system would have an additional 21 states!
When multivariable functions are considered, the relationship between the number of h o t
points per variable to the number of variables is an exponential relationship. Given the
funct ion
I,6 = kx;xi, (2.17)
if both 1 1 , x2 E [-IO, 101 then the smallest muitivariable s p h e that can model this with
a knot point at integer values of XI, xz has 212 = 441 spline coefficients! This can be
detrimental in the real time implementation of a controller because of the large number
of parameters that need to be adapted.
![Page 26: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/26.jpg)
Although a spline function may have many coefficients, the ba is elements have finite
support. Thus, for each variable xi, only a subset of elements in the basis vector B(xi)
would be nonzero; this occurs because xi c m fall into only one interval between knot
points, regardless of the number of knot points or the range of the variable. In each
interval, the number of basis elements that is nonzero is only dependent on order of
the spline approximation. For this reason, the range of the variable xi in the spline
approximation, or the number of basis functions used, does not change the number of
nonzero basis elements. This means that although theoretically one might need a very
large number of coefficients for modeling, practicdly, a small, fixed number of basis values
must be computed at each sampie time.
In backstepping, the parameter update law is based on the product of a function
of error terms with the system nonlinearity, which is the basis vector B ( x ) in the case
of spline modeling. Returning to exarnple (2.17), 441 spline coefficients are required to
represent $. However, using a quadratic spline approximation, the tuning function r
for parameter adaptation has only 9 nonzero entries. Thus only 9 of these coefficients
undergo adaptation at any given time. Due to this finite number of adapting estimates
it is possible to use good programming techniques in order to reduce computation and
running time of an algorithm using spline function approximations in conjunction Nith
adaptive backstepping control.
Another efFect of finite support approximations is that adaptation of parameters wili
only affect the shape of the nonlinear function approximation locally. Consider the non-
linearity a sin(kLx). If the nonlinearity is modeled by n sin(k2x) where kL # k2 then then
the error kL - k2 causes parameter adaptation for the estimate â to be in error. If a
spline function is used to model the function a sin(k2x), then because the splines have
finite support, the errors due to the wrong periodicity of the model wiil not affect global
stability of the adapting controller. (Splines are flexible.) A model which is periodic with
the correct value of could still emerge, due to the nature of the finite support of the
b a i s elements. Thus, parameter adaptation is still feasible. Practicdy this means that
"bad" modeling of "true" system nonlineari@ does not destroy the spline model.
![Page 27: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/27.jpg)
When the control does not appear linearly in the plant, a spline function approximation
may be used to mode1 the nonlinear control function. There is one significant disadvantage
of the spline function approximations, which occurs in this case. The spline function for
the control nonlinearity must be inverted to obtain the control value. At times projection
of the coefficients rnay need to be considered. This projection can be complicated, and
computationally inefficient. The issue of projection is not addressed in this chapter, rather
it is left to Section 3.3.3, where it is discussed in the context of its application to the VRM.
To summarize the ideas described above, the advantages of spline function modeling
include the fact that spline function approximations are always linear in parameters, their
use is not precluded from systems for which we have no exact modeling knowledge, they are
not affected by "bad" modeling of a system, and they create generic controllers. The main
pitfall of this approach is the practical implementation of the generic multivariabie spline,
due to the large number of spline coefficients needed even for small modeling regions. This
causes a large number of augmented system states, which in turn means that real time
computation must be done very fast. As well, complicated projection schemes may need
to be implemented in order to guarantee stability. Robustness of the controller developed
in conjunction with the spline function approximation must also be considered. Some
robustness techniques for backstepping controllers are iilustrated in [Xi]. The robustness
issue is not addressed in this thesis, but is left as an open research issue.
2.3 Theoretical development : A 3rd order example
The algorithm for synthesis of a backstepping controller is a systematic one. The dynarnics
of the backsteppable plant are described as
for i = 1,2, -, n - 1, and
![Page 28: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/28.jpg)
where the nonlinearity has been broken up into n distinct vectors e l , û2,. . . , Btheta,, in-
stead of the single vector 8. This has been done in order to better illustrate the behaviour
of the tuning function update laws. Also, it makes the expanded controller notation less
cumbersome. The basic idea behind backstepping is to use this derivative structure of
the plant to recursively design a control. For the f ia t n - 1 states, a virtual control is
computed for each iLh state that stabilizes the tracking system if the state xi+l is the
control. Then in the last nth state, the true control is used to finally stabilize the system.
The virtual controis, denoted by ai, are used in a coordinate transformation in order to
force the xi+l states to approximate ai. To begin, a change of coordinates into an error
system is chosen. These error coordinates are always defined in the same way. A Liapunov
function is built recursively, by adding terrns of each ith error coordinate in each ith step,
along with terms pertaining to any new uncertain parameters. Al1 true parameters are
then replaced with a sum of the estimate and error terms, and the Liapunov function is
rearranged to separate them. Virtual controki are defined to cancel out any nonlinearity
and tuning functions are defined such that if they were the update laws, they would cm-
ce1 out al1 remaining indefinite terms. This procedure is repeated until the true control
appears, a t which point it is used to cancel out al1 known nonlinearity and the tuning
functions are taken as the parameter estimate update laws.
In al1 subsequent sections, a -denotes a parameter estimate and a a denotes a parameter - CI
error term, i.e., Bi = Bi - O i e
2.3.1 The plant
To illustrate the synthesis of the backstepping controller, consider a third order example
for which there is nonlinearity present in the dynamics of d three states. This gives us
![Page 29: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/29.jpg)
CHAPTER 2. ADAPTIVE BACKSTEPPING
where the vectors 3, : R' H 7EPi are known, and the parameter vectors Bi E R P i are un-
known. Assume ( l i is a multivariable spline basis, and Bi is the vector of spline coefficients.
pi denotes the number of ba i s elements in each spline.
2.3.2 The change of coordinates
The first step of synthesis is to define a change of coordinates. This is always defined
as the difference between the state which we would like to use as a control and the sum
of the virtual control with the appropriate derivative of the reference signal gr. For our
third order plant this gives us:
2.3.3 Step
Once the change
function that will
of coordinates has been defined, it is possible to set up the Liapunov
be used to synthesize the virtual controls and eventually the true control.
This is a recursive procedure in which we begin with a tracking error (ri) term and a term
for the parameter error. It is possible to include al1 parameter error terms in the first
step. This has not been done because the notation is Iess cumbersome if parameter error
terms are added only at the step in which the plant dynamics introduce those parameters.
Generally we use quadratic terms for the Liapunov function. It is also possible to
use higher order terms in order to reduce high gain effects. Alternatives to the quadratic
terms of the Liapunov function are discussed in [do]. Using quadratic terms, the fust
Liapunov function is
![Page 30: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/30.jpg)
CHAPTER 2. ADAPTIVE BACKSTEPPING 22
where al = O1 - al is the parameter error that appears in the first state equation (2.20).
Differentiating, replacing tme parameters with a sum of the estimate and the error, where
81 = ê1 + al, and rearranging gives
The first virtual control al is defined with two goals in rnind. First, the system needs
a negative definite term in zl, the tracking error. Second, al1 nonlinearity except the 22
term should be canceled. This leads to
The first tuning function for the parameter estirnate update is defined as
Tl.1 = f l i t l ,
thus leaving
This cornpletes the first step of the design.
2.3.4 Step 2
The second step follows the pattern of the first step, with some minor m o ~ c a t i o n s . The
original Liapunov function VI is augmented with a quadratic term in 22, the second error
![Page 31: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/31.jpg)
CHrlPTER 2. ADAPTIVE BACKSTEPPING 23
coordinate, and in ë2 = O2 - 3 2 , the parameter error introduced from the equation for k2
(2.21):
Differentiating gives
Expanding the (21 + i2) term,
This leads naturally to the choice of the second virtual control,
where the term -*gl& in (q + 22) was replaced by -*gl~l,2 in the virtual control. a01 a&
This is done because the term 61 may not be used directly as this would introduce a al term in the next step. The second derivative of the parameter estimate is not available,
so its use must be avoided. Again, al1 known nonlinearity except the z3 term is canceled
by a20
Substituting back into the Liapunov function derivat ive gives
![Page 32: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/32.jpg)
CHAPTER 2. ADAPTNE BACKSTEPPLNG
Adjusting the tuning function for 3, to match that O f the new z 2 a g 1 term, and choosing ae ,
a first tuning function for ê2, in order to ensure that it will later be possible to cancel al1
uncert ain aud sign indefini te terms, gives
This leads to a final term for the second step of
2.3.5 Step 3
In the 3rd step, again, the Liapunov function of the previous step is augmented by
quadratic terms in z3 and ë3 = O3 - ê3. This gives the third, and in this case final,
Liapunov function
Differentiating,
Again expanding the (z2 + &) term,
![Page 33: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/33.jpg)
In general, when choosing the virtual control for the ith step, where i 2 3, or the true
control in the last step, there are several standard terms that are included:
1. -4 stabilizing term in is added.
2. Al1 of the known nonlinearity is canceled.
3. For all terms containing si in the expanded (ri + &), a sirnilar term with the re-
placement of Ti is subtracted in the definition of the virtual control.
4. For each of the terms z~+,*(T-& - 3,) an adjusting term is placed in the virtual
control, so that when the Liapunov function is calculated at the end of the step, al1
indefinite or uncertain t e m s have matching expressions for (7-,,, - 3,). This way
it will be possible to cancel these terms by the appropriate definitions of the update
laws.
In this case, adding al1 appropriate t e m s into the control definition gives
Substituting the control into gives
aa!2 1 A aa2 T- da! 1 ae, 1
+ -g2(r2*2 - -e2) - -$* e2 + +3 e3 f Z 2 A g 1 (713 - -0,) de2 g2 ax2 gr
![Page 34: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/34.jpg)
CHAPTER 2. ADAPTWE BACKSTEPPING
which leads to the new tuning function definitions of
Substituting (2.55)-(2.57) into l& gives
Since this is the last step, the parameter update laws are defined as the latest tuning
functions. Summarizing the control and update laws,
Including the newly defined update laws in Gr we are Ieft with
![Page 35: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/35.jpg)
CHAPTER 2. ADAPTIVE BACKSTEPPING 27
If we consider the Liapunov equation for the system to be V = 1/3 then we have shown that
with full-state feedback available, given the plant (2.20)-(2.22) with the control (2.59) and
the parameter update Iaws (2.60)-(2.62), it is possible to construct a Liapunov function
for the augrnented plant, such that ~ ( z , al, 82 , a,) < O, Vs # O implying that the origin
of the tracking error system is asyrnptotically stable.
2.4 The form of a backstepping controller
With the completed synthesis of the controller for a generic 3rd order example, it is now
possible to examine the form of the resulting controller. In the case of an adaptive feedback
linearizing controller, the spline function modeling of nonlinearities simplified the form of
the control [37]. It is of interest to see if this is also the case for an adaptive backstepping
cont roller.
Recall from the coordinate transformation (2.23)-(2.25) of Section 2.3.2 that
This in turn leads to
22 = 2 2 -Yr - (-cl21 +clgr -11>:&) (2.69)
= (12 - !A-) + ~ t ( x l - yr) f $T&- (2.70)
In order to expand al1 t e m s of 23, consider (2.41), the definition of s from Step 2,
where
![Page 36: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/36.jpg)
Taking the partial derivatives of al in al1 directions gives
Substituting these into a?,
da1 TA Ba1 a:, = -222 - zl + @3& - -(x2 + @ l B I ) - -
8x1 ayr -91 7 1,2 aê,
![Page 37: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/37.jpg)
0.4~ 1 O 0.5 1
Position on nomalized interval [0,1)
Figure 2.5: Squared L2 norm of a spline basis vector, for both linear spline and quadratic
spline basis vectors. The intervals shown are the nomalized intervals between knot points.
The term @>Ts>, is an interesting one, because it is only a function of the order of
the spline approximation and the interval (6) between knot points. The values of this
function are shown in Figure 2.5 for a linear and quadratic spline.
In order to expand ail terms of the control u, the partial derivatives of in aU
directions are needed. From the above equations, 2, 2, 2 and * m trivial to a92
compute. These are
![Page 38: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/38.jpg)
CHAPTER 2. ADA PTIVE BACKSTEPPING
The other two partial derivatives 2 and 2% are given by &
To define 21, these partial derivatives and the zi definitions should be substituted into the
control law (2.59)
Another interesting term appearing in u is the $T$ te,, which again, like the @T@, term, is only a function of the order of the spline function approximation and the distance
between knot points.
Based on these equations, we must conclude that the form of these virtual control
equations and the controller does not simplify when splines are used to mode1 the non-
linearity, as it does for the adaptive feedback iinearizing case. Rather, in each step the
terms become more and more compiicated. Consider the control (2.59) stated above and
the parameter update laws from (2.60)-(2.62) as stated in the z coordinates:
![Page 39: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/39.jpg)
Each additional multiplication within these control and update laws adds more compii-
cated terms to the equations, i.e., the tems z2* and r 3 2 both add an x2 (-) term. a@,
The expanded control and update laws are not rewritten here, as they are very long and
not inciteful in any way.
![Page 40: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/40.jpg)
Chapter 3
Full-state feedback of the VRM
This chapter details the implementation of a full-state adaptive backstepping controller
on the variable reluctance motor (VFUvf). First the plant equations are defined; to justify
the plant mode1 used, the modeling choices made and the characteristics of the motor are
detailed. .4n adaptive backstepping controller is then synthesized for the VRPVI, and pro-
jection is discussed. At this point, the experimental setup used for the VRM is described.
This setup is used both for the full-state controIler and for the observer-based controller
of Chapter 5. Finally, the experimental results are presented.
3.1 TheVRMmodel
The variable reluctance motor is a system containing some relatively complicated nonlin-
earity. The system dynamics can be described by
![Page 41: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/41.jpg)
CHAPTER 3. FULLSTATE FEEDBACK OF THE VRM
Figure 3.1: VRM testbed.
where i indexes the winding, 1 a' 5 L. Position of the motor is given by xi, velocity
by 22. Each ui is a winding cunent, and Ui is the corresponding winding voltage. The
function is a loading torque; for our motor setup, shown in Figure 3.1, this torque is the
sum of a gavity term dependent on position of the motor, and a small viscous damping
term dependent on the velocity of the motor. The functions Ti(xl, ui) are controlling
torques which are driven by their respective currents. The sign of each torque T, is
dependent on the position of the motor.
The system can be considered as either a 2nd order system with a current input, or a
(2 + L)th order system with voltage as the input. For a detailed modeling of the torque
functions and the current-voltage dynamics the reader is referred to [38].
3.1.1 Voltage control vs. current control
The VRM may be controlled using either curent or voltage as an input. The dynamics of
position and velocity (3.1), (3.2) are slow compared to the electrical dynamics of current
(3.3). Instead of trying to control both of these dynamics with one voltage input, in our
![Page 42: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/42.jpg)
CHAPTER 3. FULGSTATE FEEDBACK OF THE VRM 34
experimental setup current control of the VRM is chosen. This is easily irnplemented
using linear amplifiers, which convert a voltage output defined by a computer controller
into a current input for the VFM. It does not in any way negatively affect the control of
the rnotor.
3.1.2 The current-controlled plant model
In order to decide on the exact plant model to be used, knowledge of the true plant
must be considered. As stated above, our loading torque is the sum of a gravity term
dependent on position and a viscous darnping term dependent on velocity. The gravity
term is proportional to - sin(xi) and the damping term is proportional to xz, so choosing
two unknown coefficients, Oii1 and the loading torque is described as:
Modeling the relation among torque, rotor position, and current, represented by
Ti(xl,ui) is a more difficult task. Each of the L torques has the same form, but the
dependency on position is shifted by 9 radians from each adjacent winding. This im-
plies that for any choice of constant current û, for our motor with L = 3 windings,
Tl (xl, 2) = T2(x1 - F, ü) = T3(x1 - 2?? ü). The sign of each torque depends only on po-
sition of the motor and its maximum amplitude depends on the current. Figure 3.2 shows
Ti(xl, 2) for different choices of current ü and position xl. From this it is seen that with
two different constant values for curent of ûl and ü2,the function TL(xL, ül) has basically
the same shape as Tl (11, i4, Vxl E 72, implying that the current and position dynamics in
the torque c m be decoupled. When considering a constant position of the motor Zi, then
given any pair of currents ül < ü2 the torque always satisfies )Tl (f L , üt ) 1 < lTl (51, ü2) 1, implying that the torque magnitude is a strictly monotonie function of current. As well,
torque is always a positive function of current. The behavior of the magnitude of Ti at
s m d current values indicates a quaciratic relationship between curent and torque near
the origin.
![Page 43: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/43.jpg)
CHAPTER 3. FULL-STATE FEEDBACK OF THE W I
Toque versus Rotor Position for Statlc Phase Cunents - 0.2 I I I 1 f 'sC
- 0 0 -20 -{O I
O 1 O 20 30 Rotor Positbn (Degree)
Figure 3.2: Torque Tl (xl , uL) versus rotor position X I for 9 different phase currents (ul =
200,300,. . . , 1000mA). Experimental measurements are denoted with a *; lines between
measurements are drawn to make the plot more readable. Although the rnotor has P = 8
poles and L = 3 phases, only phase number 1 for xl E [O, r / 4 ] is illustrated. (This figure
is reproduced from [5].)
Instead of blindly modeling the controlling torques as multivariable splines, knowledge
of the system behavior is used in order to define a more structured model. This reduces
complexity of the controller by reducing the number of augmented system states. The
observations on behavior of the control torques Ti lead to the choice of a model which is the
product of two functions fï(xl)g(u) where f i ( x l ) is a Fourier decomposition in position,
shifted in phase for each winding, and g(u) = B ; ~ ( U ~ ) B , , ~ is a current h c t i o n modeled
by a spline approximation, where Bu(ui) : R H Rn and E RM define a single
variable spline basis vector with M basis elements, and the correspondhg spline parameter
vector. This model is taken from [5]. A single spline function current approximation is
used for each winding. The Fourier t e m s for the ith winding are shifted by i? giving
where N, is the number of motor poles, 3 is the number of Fourier terms, and aj are the
![Page 44: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/44.jpg)
CHAPTER 3. FULESTATE FEEDBACK OF THE VRM 36
unknown Fourier coefficients. We consider the function f (zl) to be normalized such that
al = 1. Each control torque is then described by
The motor torque has an even relationship with current, so for control of the motor we
consider only positive current. As well, due to physical limitations of the motor, there is a
maximum current which can be applied to the motor, thus we consider a slightly srnaller
current ü,, as a cutoff current. If the desired value of the control indicated is above this
value, then the control is saturated to ü,,. Using these current bounds gives a spline
approximation that is valid on the region [O, ûma]. The properties of the sinusoidal Fourier
terms are used to choose windings for positive or negative torques, thus the desired current
will never be below zero. On the other hand, when using adaptive backstepping control,
the maximum desired current could be greater than ii,,. During Our experiments, this
was not an issue (desired cunents were always within the region [O, ii,,]) but in practice,
it is possible for the desired current to be outside that interval. When a desired current is
greater than ü,, then saturation is used to output the maximum current. The theoretical
effects of saturation on the stability of the origin of the controlled system are outside the
scope of this thesis. It is conjectured that if
1. a,, is chosen such that when al1 parameters are known the motor can track the
desired trajectory using currents only within the region [O, üma], and
2. if saturation does occur, the parameter update law can only be used if the parameter
estimates are being decreased by it (thereby stopping al1 adaptation that would
increase the desired cuaent ) ,
then saturation of the current to the value a,, will not destroy any stability properties
of the origin of the tracking error system. Some preliminary work has been done on this
subject.
A quadratic spbe is chosen for the approximation so that behavior near the ongin
will be well modeled. (Also, projection of spline coefficients is easy to accomplish using
![Page 45: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/45.jpg)
CHAPTER 3. FULGSTATE FEEDBACK OF THE VRM 37
quadratic splines. The issue of projection will not be addressed here, rather is left to
Section 3.3.) After deciding the number of knot points to be placed within the allowable
current internai, B;(u~) : R H RM, a ba i s vector for the spline approximation, and
E RM, a vector of s p h e coefficients may be defined.
Lumping nonlinearity into vectors that are multiplied by uncertainty, the final pro-
posed mode1 for the plant dynamics is
The loading torque has been rnodeled as o l (x )O1, where
and Bi E R2, 01 = 0i,2 lT. The individuai controlling toques have been rnodeled L J
as oi (X 1 ) B~ (ui) 0, where
where a i (x l ) : 'R H RIXJ, B(ui ) : R H R(J'hf)XJ and 0, E R(J-M)X1. The controi torque
nonlinearity is given by oi(xL ) B * ( U ~ ) : R2 ct R lx( J.M)
![Page 46: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/46.jpg)
CHAPTER 3, FULLSTATE FEEDBACK OF THE VRR/I
3.2 Cont roller synt hesis
Using the VRM mode1 (3.7)-(3.8), provided the torques T, are invertible, it is t M a l to
design controllers for the system because al1 nonlinearity enters the plant together with
the control. An adaptive backstepping controller is developed here in order to parallel the
later development of the observer adaptive backstepping controller in Chapter 5.
It will be shown later that with careful choice of coefficients, this controller is equivalent
to a certainty equivalence controller used in experiments.
3.2.1 Step 1
To begin the synthesis of the backstepping controller, the change of coordinates is defined
as
-4s in the backstepping example of the previous chapter, al is a virtual control which is
as of yet undefined. Using these definitions for z, the k t Liapunov function is chosen as
No parameter estimate terms are included in this first step because t here is no nonlinearity
present in the dynamics of (3.7). Differentiating VI, we obtain
The derivative of the first error state is
il = X ~ - & = X ~ - & = Q + Q ~ ,
so choosing the first virtual control as a purely stabilizing function,
![Page 47: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/47.jpg)
CHAPTER 3. FULLSTATE FEEDBACK OF THE V U
gives
2 VI = - c i 2 , + Z 2 Z l .
The zzzl term will be canceled a t the second step.
3.2.2 Step 2
Since the nonlinearity enters in (3.8), the second Liapunov func tion is augmented with
both a 12 term as well as 8 1 and BU terms. Defining
we have
-7- 1 A ri, = - c l * : +z2(z1 f i 2 ) + O 1 (--el) +êZ(-1êu).
9 l7u
E-xpanding the (rl + f 2 ) term we find that
For clarity of notation, denote a2 = (& O ~ ( Z ~ ) B * ( U ~ ) ) Bu. Choose the controls u, such
that
This leads to
L 2 2 ri, = -qr, - ~ 2 % + z2
![Page 48: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/48.jpg)
CHAPTER 3. FULL-STATE FEEDBACK OF THE VRh/I 40
Restating the control law and defining the adaptation laws for the unknown parameters,
Substituting into v2 we obtain
which defines an asymptotically stable origin for the error system z given the augmented
system ( x , al, 3,).
3.3 Implementation of the control torques
In the synthesis of the controller (3.29), we have stated that the current controls ui are de-
fined by assigning the value of a2 to the controlling torque estimates ( ~ f = , o î ( x L ) ~ ( î l i ) ) &,. In doing so there are several issues that must be considered. The Brst issue is the com-
mutation of the control currents. -4tthough there are L independent control variables
available, the signs of these torques are dependent on the u i ( x l ) tems. This means that
the position xl is a determining factor in the choice of currents ul, uz, . . . , u~ which are
going to be used for actual control of the motor. The second issue is the relatively simple
task of spline inversion and how to accomplish it. The t hird and final issue is projection
of the controller parameter estimates.
![Page 49: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/49.jpg)
CHAPTER 3. FULL-STATE FEEDBACK OF THE VRkI
Figure 3.3: First Fourier Term of oi(xl) for i = 1 ,2 ,3 .
3.3.1 Commutation
Commutation of the controls rnust be implemented with the VRM in order to do any
control of the motor. As previously stated, this is because the signs of the torques are
dependent on position of the motor. From Section 3.1.2 recall that the control torques
were modeled by the product of a series of Fourier terms in position and a spline function
approximation of a current function. Each individual cont rol torque est imate is described
by the equation
Recall from (3.10) that oi(xl) is a vector of Fourier sinusoids, al1 in phase, with no
constant term. Looking at Figure 3.2, given a constant current ü, the true torque z(xl, ü)
looks like a skewed sin(-) function, with zero crossings conesponding exactly to those of
oi,l = sin(NrxI - i$) . For our control torque estimate (3.33) only the spline parameter
estimate 8, differs from the parsmeters used in the mode1 of the true control torque, in
(3.8). Provided the mode1 of the current hinction B(u@, is always positive, Le., 0, > 0, V j = 1,2, , MJ, the estimated control torque rnodel (3.33) also has zero crossings only
a t sin(Nrxl - i$).
Due to the properties of the zero crossings, the commutation scheme is based on the
sizes of sin(Nrxl - i$), i = 1,2, , L. These sinusoids are periodic with a period of
rad for N, = 8 motor poles. Figure 3.3 shows these three sinusoids for i = 1,2 ,3 over
![Page 50: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/50.jpg)
CHAPTER 3. FULL-STATE FEEDBACK OF THE V M
Table 3.1: Commutation Signs
1 Interval No. 1 Position 1 Ti 1 T2 1 T3
Position over Vima intervals
Figure 3.4: Consecutive scaling factors: +-y1, 1, Y*.
one period X I E [O, :] radians. Each sinusoid changes sign twice; the points where any
sinusoid changes sign have been marked with a vertical line. The intervals in which there
are no singularities are consecutively denoted 1 - 6. Table 3.1 summarizes the signs of
each of the controlling torques on these intervals.
Using the signs as given in Table 3.1, there are always either one or two winding
currents available which are capable of providing torque that is of the same sign as the
virtual control ~ 2 , defined in (3.29). If only one cunent is available, then that curent
alone is used and currents of the other two are set to zero. If two currents are avdable,
then the third current is set to zero, and the fist two currents are chosen based on values
of and 7 2 ~ 2 respectively, where 71 + 72 = 1, and 71 and 7, axe torque sharing
functions, that are solely dependent on position within the interval.
![Page 51: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/51.jpg)
CHAPTER 3. FULL-S'T'TE FEEDBACK OF THE VRM
Table 3.2: Commutation Vdues
The torque-sharing functions 71, yz are used to ensure that each current is "activated"
in a continuous manner. 71 has a zero value on the left side of the interval, and has
a zero value on the right side of the intervai. Table 3.2 lists the values for each control
torque estimate both when a2 2 O and when q < O. When position is moving in the
positive (right) direction, as it passes through the consecutive intervals, the estimated
control torque would have the desired values of 7 1 ~ 2 , a2 and rzat respectively.
Interval
Number
1
2
3
4
5
6
For experimental purposes, the torque-sharing function used is given by:
where p E [O, 1) is the position within the normalized interval. This is scaled in position
so that x = p6 where x is the position relative to the s t a r t of the interval in radians, and
6 = is the width of each commutation interval in radians. Figure 3.4 shows the three
consecutive scaling factors yl, 1 and 72 on the normalized and shifted intervals p E [O, 1).
3.3.2 Inversion of the splines
a2 3 O
With a commutation scheme in place, each of the control torque estimates is assigned a
value, and d l that is left in assigning an actual control is the inversion of the individual
al B*(uI)&
"Il a2
a 2
%a2
0
O
O
a2 < O B ~ ( u ~ ) & ,
O
0
0
r i a 2
0 2
'Y202
U ~ B ~ ( U ~ ) S . O
0
7 1 a 2
a 2
% a 2
O
02 B ~ ( u &
0 2
72012
0
0
O
'Y1 a 2
C T ~ B ~ ( U J ) ~ ,
7 2 012
0
0
0
'Y1 012
a2
![Page 52: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/52.jpg)
CHAPTER 3. FULL-STATE FEEDBACK OF THE VRM 44
splines. Spline functions are a collection of continuous polynomials, which are connected
together a t knot points. Because there is no single polynomial, but rather a collection of fi1
poIynomials, it is not possible to wnte the solution in closed (analytic) form. Instead, each
interval must be searched for a solution. For each interval, the corresponding polynomial
is inverted for a solution to the desired torque value. If the solution lies within the interval,
then the spline has been successfully inverted, and if not, then the next interval must be
searched for a solution.
Recall the definitions of the nonlinearity ai B (ui) and the uncertain control parameters
0. for (3.10),(3.11), (3.13) and (3.12). The basis matrk B(ui) contains J shifted copies
of the single current spline basis BM(ui). For the purpose of spline inversion we only
want to consider one of these basis vectors Bhf(ui). o ~ B ( u ~ ) ~ ~ ~ is rewritten as
where
The intervals of Bw(ui) are systematically searched for a solution, using the spline
coefficient vector G i ( ~ l ) r Erom the first interval where current begins with a zero value,
to the last interval where saturation ends the range of currents that can be used. In each
range the polynomial for that range is inverted, and if a solution exists within the range,
the current corresponding to that solution is chosen. This process is illustrated in Figure
3.5, which shows an arbitrary spline h c t i o n S(u) = B.(u)&, valid on the region [O, 61,
![Page 53: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/53.jpg)
CHAPTER 3. FULL-STATE FEEDBACK OF THE V 2 W I
7 . > .c O u)
S 6.5 - - 3
I I 1
I 1
I 1 .
I I I I
1 I 1
4.5 * I 1
O 2 4 6 Position u on the interval [0,6]
- S(x) 0 knol - - v2 - - ul - -v2 - -u2
v3 u3
Figure 3.5: Consecutive scaling factors: 71, 1, y2.
where u is a current. If the desired value of the spline is S(u) = vl = 7.3, then no solution
exists on the interval [O, 61, so in Our motor setup, desired current u would be saturated
to u = ul = ii,, = 6. If we want to force S(u) = a2 = 6, then after searching the first
four intervals, which contain no solution, we find that in the fifth interval, the solution
u = uz = 4.85 gives the desired spline function value. If we want S(u) = v3 = 5.6, then
there are three solutions u which will produce the desired value. Since we search the
intervals in the order 1,2, - - ,6, the fust solution found, u = us = 2.35, is the solution
that is used for control purposes.
As we saw in the previous example, it is possible that the spline function estimate is
not rnonotonic, in which case there may be several possible currents that will produce the
desired estimated control torque value. In this case, as in the example, the first solution
found is the one that is used. Theoreticaiiy this poses no problems, as any choice of
currents which satisfy (3.29) will ensure stability of the origin. Practically, if the spline
function is not rnonotonic, and we choose the &st current value that satisfies (3.29),
this could cause discontinuity in control values. This is undesirable, as it could cause
jerky motion of the rotor and phenornenon like chattering. This is because given any
![Page 54: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/54.jpg)
CHAPTER 3. FULL-STATE FEEDBACK OF THE VRM 46
constant position Z l , the true torque Ti (xi, ui) is a rnonotonic function of current, thus
the true control torque would also jump discontinuously. This behavior can be avoided
by implementing projection which guarantees that the spline is rnonotonic.
3.3.3 Projection
The procedure for choosing a specific control is now in place, but the values of the spline
parameters may possibly cause a singularity in the control torque estimate that makes it
impossible to follow through with the above steps. For this reason parameter projection
which guarantees that o ~ ( z ~ ) B ( u ~ ) ~ ~ # O, Vui # O must be considered. We ssaw in
the previous section that monotonicity of the spline is also desired. Once projection is
considered, we can use a scheme which will guarantee the rnonotonicity of B ~ ( u ~ ) O ~ ( Z L ) with respect to the current ui.
Strict rnonotonicity of the quadratic spline function ~ i \ [ ( z L ~ ) Oi (q ) irnplies t hat
This is equivalent to a vector of spline coefficients 8, in which
where 1 < k < M - 1. Consider the case of a single Fourier t em. (This is done in
experiments.) In this case (3.39) simplifies to
Each of the inequalities in (3.40) divides the RM dimensional space; the boundary of
this division is the ( M - 1)-dimensional plane defined by the equality of coefficients.
The intersection of these M planes creates a convex cone with "corners" in RM. These
"corners" are places where there is more than one equality in (3.40), and they are not
smooth. This convex set is denoted r.
![Page 55: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/55.jpg)
CHAPTER 3. FULL-STATE FEEDBACK OF THE VRR/I 47
When r is convex and has smooth boundaries, the update law (3.31) can be rnodified
to assure E r as follows:
if 8, E int(r)
if 8, E aI' and (T., ~ ( 8 . ) ) > O
Pr(g.~,, d r ) if 8, E ar and ( r u , ~ ( 8 , ) ) < O
where
int(y) denotes the interior of the set r,
a dl: denotes the boundary of the set r,
~ ( 8 , ) denotes the outward normal vector to the boundary aI' a t the point O,,
( 0 , *) is the inner-product in R", and
Pr(gUr,, X') is the projection operator that projects vector g u r u onto the tangent
plane of i3I' a t 3,.
In short, the update law (3.31) is modified if the parameter estimate is on i3r, and the
right-hand-side "points out" of I'.
The operator Pr is straight-forward to define if the boundary ar is smooth, in which
case
The operator simply subtracts the component of su in the outward normal direction if
chat component is 'positive."
Unfortunately, bI' is not entirely smooth. In this case we consider each of the ( h l - 1)-
dimensional planes which divide the space 7ZM as a boundary sri, and their respective
half spaces as r i . Then, the right hand side is adjusted so
![Page 56: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/56.jpg)
CHAPTER 3. FULL-STATE FEEDBACK OF THE VRM
Boundiry / Gamma I /
Inicrior o f
thc convcx Boundarl
sct Gamma Gamma l
Figure 3.6: Two lines dividing R2.
where ~ ~ ( 8 , ) denotes the normal to the ith boundary.
If the pararneter estimate is only on a single boundary a&, then the projection defined
in (3.42) is used together with the appropriate normal vector. If the pararneter estirnate
au is in a corner, then the projection is more complicated. Consider the case, depicted
in Figure 3.6, of M = 2 where we have two lines dividing the plane R2. In this case we
must check if the vector r lies inside I', or in the regions 1, II or III. If the vector is within
the boundary, no projection is needed. If the vector lies within region 1 then projection
is achieved using the normal wi and if the vector lies within region II then projection is
achieved using the normal W*. If the vector is within the region III, then r is set to zero,
because projection based on the normals would still place the new right hand side outside
of the convex set r.
The algonthm for this projection and proof of its stability can be found in [SI. C-code
for this algonthm in the case of M = 5 (for our motor setup) can be found in Appendix
B.
![Page 57: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/57.jpg)
CHAPTER 3. FULL-STATE FEEDBACK OF THE VRI11
3.4 Experimental setup for the VRM
Illustrated previously in Figure 3.1, our VRM testbed has N, = 8 poles and L = 3 wind-
ings. A pendulum is attached to the rotor to provide a gravitational load. Each winding
is driven by a linear analog current amplifier, constructed from a power operational am-
plifier. Each amplifier is driven in turn by a DIA converter (MultiQ, Quanser), which is
housed in a 486-class PC running DOS. The motor's angular position is measured with
an optical encoder (E25BB-6R-2540, BEI Motion Systems), whose output is decoded by
the MultiQ board. The adaptive controllers are realized in C code, given in Appendk
B, which runs on a TMS320C30 DSP board (Spectrurn), which is also housed in the PC.
(The PC's microprocessor is not used to implement the controllers.) The sampling fre-
quency is fixed a t 400Hz. For both the full-state controller experiments of this chapter,
and obsemer-based controller experiments of Chapter 5, the desired position is
which rotates the load smoothly between O and 2r radians. In order for both full-state and
observer-based experirnents to be fairly compared, the viscous damping term of the loading
torque, which is used t hroughout the development of the full-st ate adaptive backstepping
controller, is not used in any of the experiments. This is because x2 is not actually
measured, thus the viscous damping term, which is a function of 1 2 , cannot be included
in the plant nonlinearity for the observer-based controller synthesis.
3.5 Experimental results
The actual full-state feedback controiler implemented for the VRM was originally used as
a certainty equivalence controiler presented in [5,41], the derivation of which is detailed in
Appendix A. This controller is equivalent to the adaptive backstepping controller which
assumes full-state measurement. This is due to the fact that there is no nodinearity
present in the dynamics of the £kst state (3.7). Since all the nonlinearity is matched in
![Page 58: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/58.jpg)
CHAPTER 3. FULL-STATE FEEDBACK OF THE VRM 50
the second state, the change from a backstepping controller to the certainty equivalence
controller with identical poles involves only a change in the choice of the constants ci.
This is ako shown in Appendix A.
In practice, although we have assumed full-state measurement is available, the velocity
2 2 is not directly measured. Instead, the position y = xl is measured, and x2 is estimated
with a numerical time derivative of y. Denote this estirnate with-. This is done by filtering
the signal y through a "differentiating filter," for example n
where the cut-off frequency wo is large relative to the system's dynamics. This practice can
cause difficulties at a both a theoretical level and in practice. In theory, the introduction
of the filter (3.44) destroys the strictly-positive-real rnap between the signal êTw and r ,
where T = W Z . In this case, stability of the closed-loop system is no longer guaranteed.
In practice, this will cause parameter drift. Moreover, the bandwicith of the closed-
loop system is large, because the feedback control is static. This can excite unmodeled
dynarnics, result ing in large steady-state errors and parameter drift. Our experimental
results exhibit al1 of these effects.
A total of 5 spline coefficients and 1 Fourier coefficient are used to mode1 the control
torque oi(xl) B(ui)O,. This leads to an augmented system order of 8. (2 plant states, 1
loading torque parameter estimate, 5 spline coefficient estimates) Pertinent parameters
of the full-state experiment are listed in Table 3.3. Note that the linear gains c ~ l = 25
and cf2 = 10 place the "outer-loop" poles a t -5, which is a relatively low gain for this
plant. These gains can be increased so that both poles are at -25, for example, resulting
in a much srnaller transient and steady-state tracking error. However, this would mask
the performance of the adaptive part of the system, which we seek to illustrate. For both
experiments, the gravity parameter is initiaüzed at approximately 15% of its "true"
value, and the winding parameters are initiaüzed approxîmately 200% of what would be a
reasonably good mode1 of the t orque-position-current relation. Thus, t here is significant
initial parameter error. The velocity filter (3.44) has wo = 150, which is significantly
![Page 59: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/59.jpg)
CHAPTER 3. FULL-STATE FEEDBACK OF THE VRM
larger than the bandwidth of the desired trajectory.
Experimental results are plotted in Figures 3.7-3.9. After an initial transient, the
tracking error converges to a steady-state periodic signal with amplitude less t han 0.2
radian. This error is due to several factors, including unmodeled dynarnics (the relation
among torque, rotor position and winding current has higher-order Fourier hmon ics , for
example [5]), and, more importantly, the dynamics of (3.44). This latter observation can
be confirmed by simulating a model of the system, and comparing the steady-state error
with that obtained when the actual velocity is used in feedback. When this is done, the
maximum (L,) steady-state tracking error for the controller that uses the actual rotor
velocity is about 50% of that obtained when using the filtered velocity estimate. Thus,
for adaptive VRM control, the "dirty derivative" method of "measuring" tielocity using
(3.44) strongly affects performance.
In practice, we find that increasing wo causes unmodeled dynamics in the motor to
be excited, resulting in an audible high-frequency vibration as the rotor turns. This is
probably the stator poles vibrating. Decreasing wo reduces this noise, but results in an
increased steady-state tracking error. We remark that a dead-zone could be introduced
to prevent the slight parameter drift that results, although we have not done so.
In the experiments of Carol1 et.al [30], they Say that "To model effects of system
uncertainty, we assumed that al1 system parameters are unknown, and use initial (i.e.
nominal) parameter values of +50%."' As weil, it seemed that some of their adaptation
gains were low, which means that evolution of parameter should happen very slowly.
Plots of their experimental resdts seem good, but we are not shown any plots of the
adapting parameters, thus we do not know what type of behavior they exhibit. The
VRM equations used are Iinear in their parametric error, so if parameters of both loading
torques and control torques are initialized at the same percentage error, then this would
not have much affect the system performance. This occurs because al1 parameters and
the control are matched, so a "correct" control value (i.e., the nonlinearity is still canceled
'In [30], pg. 1857, Section V, Remark 5.2
![Page 60: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/60.jpg)
CHAPTER 3. FULLSTATE FEEDBACK OF THE VRM 52
exactly) is obtained despite the parametric error. To illustrate this, consider the system
If the control
is used to stabilize the origin, where
then substituting (3.48)-(3.49) into (3.47) leads to the controlled system
No nonlinearity 11 enters the controlled x2 equat ions because the matched estimates were
started off a t the same percentage of their true values. For this reason, in our work we
initialize parameten very differently in order to try to test system behavior with "bad"
initial conditions. The loading torque has been initialized a t a value rnuch smaller than it
should be, and the spline coefficients are initialized a t values that are much higher than
they should be. In this way, the errors are not matched, thus the system cannot function
properly without adapting the parameters.
![Page 61: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/61.jpg)
CWtlPTER 3. FULL-STATE FEEDBACK OF THE V M
Table 3.3: Design Parameten for the Full-State Experiment.
( Description
of B-spline basis functions
Interval size for B-splines
Outer-bop position gain
Outer-loop velocity gain
Equivalent backstepping coefficients
1 Velocity filter cut-ofF
Liapunov Q rnatrix
Initial state
Initial load estimates
Initial winding parameter
Initial winding parameter
Initial winding parameter
Initial winding parameter
Initial winding parameter
Splioe parameter adaptation gain
Load parameter adaptation gain
Value
![Page 62: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/62.jpg)
CHAPTER 3. FULLSTATE FEEDBACK OF THE VRM
Actual and Desired Rotor Angles: Full-State Control 7 1 r I
-1 ' t I 1
O 5 10 15 20 Time (seconds)
Figure 3.7: Desired rotor position yJ t ) and actual rotor position y ( t ) for the full-state
controller.
![Page 63: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/63.jpg)
CHAPTER 3. F U L L S T ' T E FEEDBACK OF THE VRRiI
Initial Tracking Error el : Full-State Control 2 1 I 1 l
-o%o I t 1 1
85 90 95 1 O0 Time (seconds)
-2' I I I
O 5 10 15 20 Time (seconds)
Steady-State Tracking Error el: Full-State Control
Figure 3.8: Initial and "steady-state" tracking error el for the full-state controller.
0.2
U; 0.1 C (d
O - Y
f * -0.1
I I 1
- I I d A( t
![Page 64: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/64.jpg)
CHAPTER 3. FULGSTATE FEEDBACK OF THE VWbf
First 3 Winding Parameters: Full-State Control 200 1 r 1 1
Figure 3.9: Winding and gravity parameter estimates for the full-state controller. The
gravity parameter gi is initialized at 10, while its "true value" is approximately 70. The
winding parameters are initialized at roughly twice values that would be considered close
2 150 CI al .c ~ 1 0 0 ~ F Cu C
a3 r
83 a
5 0 ~ e l
O* 1 t I t
20 40 60 80 1 O0 Time (seconds)
Gravity Parameter: Full-State Control 60
40- O Cu C
al 5
20
O
. 1 1 1 1
, ~--z-'------' F f 80
f
j I I
; I I * 1
O 20 40 60 80 1 O0 Tirne (seconds)
![Page 65: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/65.jpg)
Chapter 4
Observer adapt ive backstepping
For the VRM, synthesizing the adaptive backstepping controller of Chapter 3 requires
both motor position and velocity to be available for feedback. However, in our test bed,
only motor position is actually measured; velocity is estimated using "dirty derivatives,"
by numerically differentiating the position signal. Unfortunately, the process of differen-
tiation has several detrimental effects on performance, which include parameter drift and
even loss of stability. Observer adaptive backstepping is introduced here as an alternative
to these "dirty derivatives."
The chapter begins by stating the additional conditions required of the plant for the
observer-based design. In order to illustrate the observer- based method, a new t hird order
example is introduced. The observer for this system is defined, and the usual steps for
the controller synthesis of an observer-based adaptive backstepping controller are detailed.
Aftemards, the issues relating to irnplementation of the control are discussed. Finally,
the characteristics of the form of the observer-based controller are explored. Controiler
synthesis for this chapter as well as for the VRM observer adaptive backstepping case is
a straightforward application of (241 Chapter 8.
![Page 66: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/66.jpg)
CHAPTER 4. OBSERVER ADAPTIVE BACKSTEPPING
4.1 Conditions for the observer-based algorit hm
The conditi~ns and assurnptions needed in order to synthesize an observer-based a d a p
t ive backstepping controller are nellrly identical to t hose needed for full-st ate adaptive
backstepping of Section 2.1. The differences are:
1. full-state measurernent is not available,
2. an output function y = h ( x ) must be defined, and
3. al1 system nonlinearity must be a function of output only.
These additional conditions lead to the fom
where each qbi : 'R H RP is a vector of nonlinear functions of output, and 0 E RP is a
vector of constant coefficients which scales the nonlinearity I>i.
4.2 Theoret i d development : A 3Td order example
Once an observer has been defined, the steps of observer adaptive backstepping follow
closely to those of the full-state case. The only addition is an extra damping terrn added
in each step, in order to counteract the possibly harmful effects of observer error on the
system. The notation used in this and the foliowing chapter does not parallel that used
in [24].
![Page 67: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/67.jpg)
CHAPTER 4. OBSERVER ADAPTWE BACKSTEPPING
4.2.1 The plant mode1
In order to illustrate the technique of observer backstepping, we consider the third order
sys t em
where .il>T(y) : R H RM is a ba i s vector for the system nonlinearity, and Oi E 7ZM is a
vector of unknown, constant coefficients. As in the case of full-state feedback adaptive
backstepping, we can consider dT(y) to be a spline function approximation to the "true"
nonlinearity, and to be the unknown spline coefficients. Since ans nonlinearity in the
system is constrained to be a function of the output only, the method is fully illustrated
by an example in which the nonlinearity is confined only to the dynamics of the first state.
In order to design an observer, the piant is renrritten as a sum of the known linear
part, the known nonlinearity, the unknown nonlinearity, and the control. This gives us
linear unknown control Part nodinearity
4.2.2 Observer design
In order to guarantee asymptotic stability of the system, we need to design an observer
for which the origin of the error system has globdy exponentially stable error dynamics.
If we denote 5 as the observer and e as the observer error, then
![Page 68: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/68.jpg)
CHAPTER 4. OBSERVER ADAPTIVE BACKSTEPPllVG 60
The observer state 5 is defined using three vectors: E denoting the part dependent on
the known part of the plant, X denoting the part dependent on the unknown Oi (spline)
coefficients and v denoting the part dependent on the unknown control coefficient O,. The
observer is tben defined as
where C E R3, X E R~~~ and u E n3. The terms Bl and O, used in (4.12) are the
'%ruen unknown parameters, thus we can not implement, or even calculate the individual
observer states xi. Rather, the filter banks e , X and u are individually implemented as
follows:
Given (4.11) and (4.13)-(4.151, the observer error dynarnics are described by
![Page 69: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/69.jpg)
CHAPTER 4. OBSERVER ADAPTIVE BACKSTEPPING
= Aô- KQ
and K is chosen such that A. is Hunvitz. Even though
2 cannot be "rneasured", the origin of the error coordinate system E is still globally
exponentially stable.
4.2.3 Coordinate transformation
Once an observer with exponentially stable error dynamics is designed, it is possible to
use a backstepping procedure to define a stabilizing controller. The first step to any
backstepping design is the definition of the coordinate transformation. Like the full-state
feedback case virtual controls are used in order to "backstep" the control through n states.
Unlike the full-state feedback case, the states xi cannot be used for this as they are not al1
known. Instead, the lwown part of the states, the Uj filter banks, are used to backstep the
desired controls. The first state is always defined as the tracking error, and the subsequent
(n - 1) states are defined as in the full-state case with the substitution of piiu for xi. This
leads to the coordinate transformation
where ai and a2 are the two virtuai controls as yet undefined. It is important to note
that this coordinate transformation can be done for both a single direct control with one
unknown coefficient, or a vector of controls or control functions and a vector of unknowns.
![Page 70: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/70.jpg)
CHAPTER 4. OBSERVER ADAPTIVE BACKSTEPPING
4.2.4 Step 1
The basic steps for the design of the virtuai controls and tuning functions are identical
to those used for the full-state feedback case. As in the full-state case, in each ith step
of the design the Liapunov function is augmented with a zi tem. In addition to the
terms given in the full-state case, a term dependent on the error dynamics is added to
each Liapunov function in order to dampen out the error produced on the system by the
observer. The rinknown parameters are introduced into the Liapunov function in the first
step and carried through to the final step.
Recalling that (1.20) is a linear system for which A, is Hurwitz, we choose a P E R3x3
such that P > O and pT = P where PA. + AFP = -1. The first Liapunov function is
chosen a s
where
Because we do not have full-state rneasurernent, the il term must not contain any xi
terms. Rom (4.21) we note that il = Y - &, so expanding y gives
Choosing the virtual control to add a stability term, we cancel al1 the known terms except
the zz term and dampen out the unknown observer error,
![Page 71: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/71.jpg)
CHAPTER 4. OBSERVER ADAPTIVE BACKSTEPPING
This leads to the Liapunov function derivative
Defining tuning functions for the first step
4.2.5 Step 2
In the second step, the first Liapunov hinction is augmented with a 22 term dong with
an additional observer error term, giving
which then leads to
![Page 72: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/72.jpg)
CHAPTER 4. OBSERVER ADAPTNE BACKSTEPPZNG
Expanding the (31 + i2) term
Recall from (4.32) that al is only a function of y, &, X2 and 8,. Thus
where t2 and X2 are just the filter bank equations which are fully defined, so they do not
need to be expanded in order to complete the derivation.
Again designing the virtual control to add stabiiity terms, cancel out al1 knom terms
except 23 and add damping to deal with the observer error t e m ,
d a l . da1 -- ayr
Yr - ~ g 1 7 i . 2 + ~ 2 9 ~ ~ ~ ~ 2 del
where 71.2 and ru,i d l be defined later. This leads to
![Page 73: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/73.jpg)
CHAPTER 4. OBSERVER ADAPTrVE BACKSTEPPING
In order to ensure that eventually both the ~ 2 % ~ ~ and 3; terxns can be canceled, as well 80,
as the z2v2gu and ëU terms, we define the second step tuning functions as:
which leads to the Liapunov func tion derivat ive
4.2.6 Step 3
Following the pattern of the previous steps, the Liapunov function is again augmenteci by
a 23 terrn and an observer error terrn.
![Page 74: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/74.jpg)
CHAPTER 4. OBSERVER ADAPTNE BACKSTEPPING
leading to
The (z2 + 23) is expanded giving
The virtual control ai-1 defined in the (i - l ) th step will always be a function of y, O, Xj,
y, al and &,, where j = 1, i and k = 1, , i - 1. Since this virtual control a2 is the
1 s t one, it is a function of y, E , A, vl, 4 31 and ê,, so
where again the filter bank dynarnics E, A and u are fully defined in (4.13)-(4.15), so the
terms of - x:=, + Rii + 2 ù i ) do not need to be erpanded. Denoting as = u&.
and choosing the control u such that
![Page 75: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/75.jpg)
CHAPTER 4. OBSERVER ADAPTIVE BACKSTEPPING
where, again, r l , 3 and ~ ~ , 3 will be defined later, gives
-4s in the second step, the tuning functions are defined as
so that 23 *gl, ~ 2 % ~ ~ and as weli as 2 3 * g,, z2u2gu and 8. can all be a@, ae, . k 3 - ?Ol )
canceled out by the appropriate definitions of and gu. Substituting (4.63) and (4.64)
![Page 76: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/76.jpg)
CHAPTER 4. OBSERVER ADAPTNE BACKSTEPPING
gives
Restating the definition for the control, and defining the update laws:
The final Liapunov function is then given by
Based on the Liapunov function V = & we have shown that v < O, V(s, E ) # O, implying
asymptotic stability of the origin of the tracking error system of the plant (4.6)-(4.9) and
the observer (4.12).
![Page 77: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/77.jpg)
CHAPTER 4. OBSERVER ADAPTA43 BACKSTEPPING
4.2.7 Implementation of the control
The control has been defined as uÊu = a3 where as is given by (4.60). Solving for the
control gives ZL = S or (4.67). In this definition, the parameter estimate fiu has been 8,
inverted. This poses a theoretical problem as there is no guarantee that the parameter
update law will satisfy the invertability condition &(t) # O, Vt > O. In Section 3.3 a
projection scheme was introduced in order to deal with a similar problem. Although Our
& enters the system (4.6)-(4.9) in the sarne location relative to control as it did for the
plant in (3.7)-(3.8), the proof for stability of the projection scherne can not apply to Our
plant. This is directly due to the use of the observer.
The proof for projection of Section 3.3 is good for projection of an update law when
the terms in the Liapunov function are of the form
ë(ru - ê").
Because the observer causes the 6.. terrn to enter the system in the very first state, by the
time the control is backstepped to the third step we have
The first two t e m s z3(-) and z2(9 are not guaranteed to remain oegative definite when
they are multiplied by the projected version of the parameter update Law! For this reason
it is not possible to use the previous projection on this new observer backstepping system.
One solution to this problem is to write the coordinate transformation in a slightly
different format, as it is written in (241, using a parameter estimate ê for the inverted
constant e = k. This solution has not been adopted as it does not generalize to the case
of a vector 8, in B(u)B,, thus the method can not be used for the VRM.
Another idea for the solution of this problem is to use partial overparameterization.
The problem with projection occurs for the case where there is no overparameterization
because the 0, terrn was brought into the system in the very first step. The author believes
that if a tuning function is used for the fkst n - 1 steps, and a second set of parameter
![Page 78: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/78.jpg)
CHAPTER 4. OBSERVER A D A P W E BACKSTEPPING 70
estirnates is used in the nth step, then in the last step there should only be a &, term
to cancel, instead of the terms occurring in (4.72). This means that the second set of
parameter estimates would be in the form of (4.71), so projection could be used. This
conjecture is a subject of future research.
4.3 The form of the observer-based controller
As in the full-state case, we are interested in the form of this observer-based controller.
We would like to know if the use of splines can simplify the complexity of the controller.
Recall from the coordinate transformation for the observer case (4.21)-(4.23) in Section
4.2.3 that
where, denoting ci = cl +d l , in (4.32) in Step 1, cul has been defined as
This leads to
In order to compare the f o m of this controller to the f ' l-state one, a "certainty equiv-
alence" observer is used. Denoting Zi = ci + A,& + vieu as this "certainty equivalence"
observer ,
= (52 -Y,) + q y - y,) +Y>*B~, (4.79)
which has exactly the same form as the second error d a t e of the Ml-state controller.
![Page 79: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/79.jpg)
CHAPTER 4. OBSERVER ADAPTNE BACKSTEPPING 71
In order to expand al1 terms of 23, consider (4.47), the definition of a 2 from Step 2,
where
Taking the partial derivatives of crl in al1 directions,
Expanding these partial derivatives, expanding the observer dynamics from (4.13)-(4.15)
of Section 4.2.2, and denoting = q + d2 (-%)*,
![Page 80: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/80.jpg)
CHAPTER 4. OBSERVER ADAPTIVE BACKSTEPPING 72
where iEr of the last step is iEr = - (g1 (& + **) (& + @T)T + guvg). This leads to
From here we see that the form of the observer-based controller is the same as the
form of the full-state controller. The rest of the equations follow in the same format, so
they are not stated here. The only new t e m s that are not included in the Ml-state case
are t e m s pertaining to the observer, i.e., k2(ZL - y ) . Again, splines do not help to reduce
the complexity of the form of the observer-based adaptive backstepping controller.
![Page 81: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/81.jpg)
Chapter 5
Observer-based control of the VRM
The implernentation of the observer- based backstepping design on the VRM is a straight-
fonvard process. In describing the theoretical developrnent of the controller, first the plant
of Chapter 3 is considered. This plant is in observer form already, with the exception of
the small viscous darnping term, which is ignored. The observer design and controller
synthesis are described in detail. Again, issues pertaining to the implementation of the
control are outlined. The experimental setup used here is not discussed as it is identical
to the setup of Chapter 3. The chapter concludes with the presentation of experimental
results. The controller development and experimental results of this chapter have been
submitted for publication in [42].
5.1 Theoretical development of the controller
5.1.1 The plant
The plant model considered for the design of the observer backstepping controuer is nearly
identical to that considered in (3.7)-(3.8) of Chapter 3. The fint ditference between the
two plant models is a technical one; the model used here must have a plant output dehed.
This plant output will be the knom position XI of the rnotor.
![Page 82: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/82.jpg)
CHAPTER 5. OBSERVER-BASED CONTROL OF THE VRhf 74
The second difference is a modeling difference imposed by the conditions of the observer
design. In the full-state backstepping of the VRM the loading torque considered was
defined as al(x)Bi, where mi(x) is a vector whose entries could be a function of both
motor position and velocity. This made it possible to rnodel both a gavity term and a
viscous damping term that are present in the motor. In the case of observer backstepping
this loading torque must be a function of rnotor position only, thus we may not mode1 the
viscous damping term as it is proportional to the velocity term. In identification of the
motor parameters the coefficient of this damping force is much smaller than the gravity
force, and thus for the observer backstepping model, this term is ignored.
Rewritten in observer forrn, the plant is redefined as:
where this time 01 is simply defined as ol = - sin(y).
5.1.2 Theobserver
In order to construct an adaptive observer-backstepping controlier for (5.1)-(5.3), we first
need to design an observer Mth exponentialIy stable error dynamics. We consider the
observer of the form
where e E 7Z2 denotes the known part of the observer, X E R2 denotes the part of
the observer dependent on the loading parameter and u E R2XM denotes the part of
the observer dependent on the spline coefficients 8,. In (5.4), parameters 61 and 8, are
the tme unknown parameters, so 2 can not be implemented or calculated. Rather we
implement individual filter banks for c, X and u, as follows:
![Page 83: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/83.jpg)
CHAPTER 5. OBSERVER-BASED CONTROL OF THE WWI
where A = [ U O] and K = [::la Defining the error E = x - 0, the observer error dynarnics are g i ~
where A. = , and s2 + kls + k2 is Hurwitz.
5.1.3 Step 1
With the exponentially stable observer error system in place ive c m design our adaptive
backstepping controller. The first step of the design is the definition of the coordinate
transformation
where al is a virtual control as yet undefined. The intermediate Liapunov function used
is
![Page 84: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/84.jpg)
CHAPTER 5. OBSERVER-BASED CONTROL OF THE VRM 76
where Po E 722x2, Po > O is chosen such that Po = PT and PoAo + Arpo = -1.
Differentiating, we have
Noting that y = I l = 12 = +EL> = + X2Bl + u20u + €2 , we have
Now defining the first virtual control al = -qzl - dlzl - (c2 + X 2 4 ) we get
![Page 85: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/85.jpg)
CHAPTER 5. OBSERVER-BASED CONTROL OF THE VRM 77
5.1.4 Step 2
In the second stage of the design, we expand Vl to include 22 and an additional damping
term:
Differentiating &, we get
For cornpactness of notation, define c; = cl + dl and denote the control terms
(zki [ 0 i ( y ) B T (uj)]) Bi, as a2. Then, the (zl + 4) term is
By defining the control uil i = 1,. . . , L such that
where T[ and 7, will be defined later, we obtain
![Page 86: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/86.jpg)
CHAPTER 5. OBSERVER-BASED CONTROL OF THE VRM
Substituting this expression into gives
Dehing the tuning funstions TI = (ci22 + zl)X2 and ru = (c;zz + zl)& we have
Thus, we have defined ihe control and update Iaws
and have s h o m that
which implies that the ongin of the tracking error system z is asymptotically stable.
![Page 87: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/87.jpg)
CHAPTER 5. OBSERVER-BASED CONTROL OF THE VRM
5.1.5 Implementat ion of the control torques
The issues of commutation, spline inversion and projection, which must be addressed for
implementation of the control torques, are identical to those faced in the full-state a d a p
tive backstepping design, in Section 3.3. The commutation scheme and spline inversion
of that section are used directly in the observer-based design. The scheme for projection
of coefficients may not be used directly here, for the reasons described in Section 4.2.7.
In the experiments, this issue has been avoided through the careful choice of initial values
for the control parameter estimates. It is the author's belief that the partial use of over-
parameterization will avoid the problems detailed in Section 4.2.7, leading to conditions
in which the projection scherne of Section 3.3 may be implemented.
5.2 Experimental results
In the observer-based experiment, again 5 spline coefficients and 1 Fourier term are used
to mode1 the control torque. In this case, the augmented systern has an additional 14
states due to the observer filter banks, thus the total augmented systern has 22 states.
Parameters for the observer- based controller are listed in Table 5.1. The initial parameter
estimates and initial states are identical to the full-state experiment. The gains cl and cz
are chosen so that the eigenvalues are at -5, just as for the full-state case. The "observer
poles" are placed at -15, and the damping gains dl and d2 are relatively srnall, to ensure
a fair comparison. Finally, the adaptation gains are set so that the parameters evolve at
a rate similar to that in the full-state experiments. However, since each controller has a
different tuning function, it is difficult to define adaption gains that are the same for both
e-xperiments.
Experimental results are plotted in Figures 5.1-5.3, using the same scale as in Fig-
ures 3.7-3.9. A comparison shows that the observer-based controller provides a superior
transient response, despite the additional dynamics of the observer. Moreover, the steady-
state tracking error zl is approximately half that seen in the full-state experiment. We
![Page 88: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/88.jpg)
CHAPTER 5. OBSERVER-BASED CONTROL OF THE VRM
Table 5.1: Design Parameters for the O bserver-Based Controller.
Descript ion
Liapunov gain
Liapunov gain
Observer gain
0 bserver gain
Damping gain
Darnping gain
Spline parameter adaptation gain
Load parameter adaptation gain
Value
remark that, although the observer states are initialized a t the "true" initial condition
(the origin), the observer error dynamics are excited, Le., E rnoves away from the origin,
because y, is discontinuous at t = O. One final advantage of the observer-based control
is not apparent from the plots: During the observer-based control experiment, the motor
is quieter (in an audible sense) than durhg the full-state experiment. Apparently, the
full-state controller is causing the stator poles to vibrate, because of its wide bandwidth.
On the O t her hand, the observer- based controiler "rolls-off' the closed-loop dynarnics,
preventing excitation of high-frequency unmodeled dynamics.
![Page 89: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/89.jpg)
CHAPTER 5. OBSERVER-BASED CONTROL OF THE VRM
Actual and Desired Rotor Angles: Observer-Based Control 7 I 1 I
' O 5 10 15 Time (seconds)
Figure 5.1: Desired rotor position y,(t) and actual rotor position y(t) for the observer-
based controller.
![Page 90: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/90.jpg)
CHAPTER 5. OBSERVER-BASED CONTROL OF THE VRh1
Initial Tracking Error zl : Observer-Based Control 2- 1 I 1
1 l I
5 A
10 15 20 Time (seconds)
Steady-State Tracking Error zl : Observer-Based Control O .2 1 1 I
-o*%'o I 1 I I
85 90 95 1 O0 Time (seconds)
Figure 5.2: Initial and "steady-state" tracking error zi for the observer-based controller.
![Page 91: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/91.jpg)
CHAPTER 5. OBSERVER-BASED CONTROL OF THE VRM
First 3 Winding Parameters: Obsewer-Based Control 200 I I 1 1
O ' 1 1 I 1 1 O 20 40 60 80 1 O0
Time (seconds) Gravity Parameter: Observer-Based Control
1 I 1 1
20 40 60 80 1 O0 Time (seconds)
Figure 5.3: Winding and gravity parameter estimates for the observer-based controller.
The gravity parameter 81 is initialized at 10, while its "rue vaiue" is approximately 70.
The winding parameters are initialized at roughly twice values that would be considered
close to "true."
![Page 92: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/92.jpg)
Chapter 6
Conclusions
In this thesis, both full-state and observer-based adaptive backstepping controllen are
synthesized, using spline functions to model system nonlinearity. Details of the controller
design, and conditions of its implementation, are explained, based on the work presented in
[24]. The vector form for a single variable and multivariable spline function approximation
is presented for use in the backstepping plant model. The synthesis of a controller for a
general 3rd order system example is detailed in order to illustrate the method. Al1 of this
is done for both the full-state and the observer-based controller. After synthesizing the
controllers, the form of the resulting control and update laws is examined, in the hope
that the use of spline functions will simplify its form. Unfortunately, this is not the case.
CVhen the observer-based controller laxs are rewritten in terms of a certainty equivalence
form of the true observer, it is shown that the new obsemer-based controller laws have a
form that is identical to that of the full-state controller, with the addition of an observer
error term. Some interesting terms, lîke the squared L2-norm of the basis vector, appear
in both these control lrtws.
The W1 has been successfully used as a testbed for both the full-state and the
observer-based adaptive backstepping controllers. Spline modeling for the VRM is iden-
tical to that used in [5, 41j. The spline model uses five unknown coefficients, and the
loading torque uses one unknown coefficient, thus the adaptive W-state feedback con-
![Page 93: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/93.jpg)
CHAPTER 6. CONCLUSIONS 85
troller augments the second order system by six states. The full-state experiments show
that this spline modeling of the nonlinearity is a feasible idea, and augmenting the sys-
tem by six states is computationally acceptable. The resulting backstepping controller
for the VRM is robust with respect to the error q in the control torque model, where
T i ( x I 1 ui) = U ~ ( X ~ ) B ( U ~ ) B ~ + q(xi, ui). Despite the larger number of states, the observer-
based controller provides srnaIl tracking error and better transients. Moreover, its reduced
bandwidth prevents excitation of unmodeled dynamics. The controller code for both the
full-state and observe-based controllers can be found in Appendk B.
There are several issues introduced in this thesis that are left as open areas of research.
First, the theoretical issue of robustness of a spline approximation has not been investi-
gated. Within the framework of the backstepping controller, it is possible to add t e m s to
improve robustness. As well, the work by Polycarpou and Ioannou on bounding functions
in [25] can be adapted for the spline function model. It is possible to use a "known"
spline function approximation for the nonlinearity, together with a second spline function
approximation of equal order, that will cover the modeling error. If a spline function
approximation for a current nonlinearity is considered, it is possible to use a set of upper
and lower bounds for the nonlinearity, in this way creating a control that will bounce
against these bounds. If an adaptive scheme for adjusting these bounds can be found,
then the control of a system can be implernented using even low order approximations
with large spacing between bots . Some preliminary development of these ideas has been
explored.
The theoretical effect of saturation on stability of the origin of the controlled system
is not addressed in this thesis. It has been conjectured that when aiI parameters are
known, if the motor is capable of tracking a given trajectory, then by stopping all spline
parameter adaptation that increases parameters (thereby stopping al1 adaptation that
would increase the desired current), it is possible to prove stability of the system during
saturation. This conjecture is based on preliminary development of the robustness issue.
In our experiments, saturation never occurred, thus it was not an issue. Theoretically, it
is possible that saturation wiIl occur, in which case, it is vital that this saturation does
![Page 94: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/94.jpg)
CHAPTER 6. CONCL USIONS
not destabilize the origin of the tracking error system.
Another issue of vital importance is the development of a projection scheme that will
work for the observer-based adapt ive backstepping controller. In general, projection only
needs to be applied to the parameter estimates which multiply the control, as these are
the only estimates which must be inverted in order to define the control law. Because
the use of filter banks for the observer causes al1 uncertain parameters to appear directly
in the first dynarnic, even uncertainty which applies only to the control coefficients must
be backstepped through the entire system. This destroys the stability of the projection
scheme because it causes terms other than the error term 8 to premultiply the parameter
update law and its tuning function. It has been conjectured that the partial use of
overparameterization may solve the problems encountered. If the first (n - 1) states use
one set of parameter estirnates, and the last nch state uses a second set of parameter
estimates, then that second set of parameter estimates is the only one that must be
inverted. Since it nrould only enter in the last state, its parameter update law and tuning
function should only be rnultiplied by a 8 term, which would validate the projection
scheme. The analysis of this solution is left as a topic of future work.
![Page 95: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/95.jpg)
Appendix A
Equivalence of VRM full-st at e
controllers
The purpose of t his Appendix is to show the equivalence between the full-state adaptive
backstepping controller of Chapter 3 and the certainty equivalence controllers, used in
experiments on the MIM, first presented in (5, 411. This development summarizes the
results in [42]. Recall from Section 5.1.1 the plant dynamics of the VRM, written in
observer form (5.1)-(5.3); denoting the parameter estimates as and BU, and parameter - enors as Br = Bi - êl and 8, = 8, - a,, (5.2) can be rewritten
We define the "outer-loop" signal v as
where s2 + ~ 1 2 s + cf1 is Hurwitz, and equate the first two t e m s on the right-hand side of 1
(A.1) with v:
This can be solved for the controls q, i = 1, . . . , L, using torque-sharing functzons, and
a procedure which dehes the electronic commutation. (See Section 3.3 or [5, 411 and
![Page 96: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/96.jpg)
APPENDZX A. EQ LUVALENCE OF VRn/f FULL-STATE CONTROLLERS 88
related results.) This step involves the inversion of one or more of the B-spline functions,
since the control U i appears nonlinearly. In in practice, this involves the solution of a
quadratic equation.
Substituting (A.2) into (A. l ) and rewriting (A.l) in the error coordinates el = xi -yr
and e2 = 2 2 - Y, gives
Defining a positive definite 2 x 2 matrix QI, we solve AFP! + PjAI + Qf = O for P I , -T-
and define the Liapunov candidate V = eTPje + kû,& + Differentiating V by
time and defining
gives v = -eTQfe, where É = B ~ P ~ ~ .
The full-state adaptive backstepping controller of Chap ter 3 and the certainty equiv-
alence controller, described above, are in fact the same controller. If their respective
coefficients cfi, cl2, ci and C* are chosen correctly, then the two controllers have the exact
same controller poles. Proof of the equivalence of the control law is shown below in detail,
and the equivalence of the parameter update laws is briefly discussed.
Consider fmt the certainty equivalence controller. Substituting (A.2) into (-4.3) and
rearranging gives the control torque value
( i i ) = - c j 1 ( g r - ~ i ) - c ~ z ( b - ~ 2 ) + ÿ r + o i ( ~ ) ê i = (A-7)
Denoting el = xi - y, and e2 = x2 - yr gives
![Page 97: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/97.jpg)
APPENDE A. EQUWALENCE OF VWf FULESTATE CONTROLLERS 89
Compare the above control to the adaptive backstepping control law (3.29) which is
given by
Substituting the equations for the coordinate transformation z (3.14)-(3.15) and the first
virtual control al (3.19) into the control law gives
Again replacing el = xl - y, and e2 = x2 - gives
Both (A.8) and (A.12) have the exact same controller poles when
The parameter update laws of both controller designs also have the same form. The
certainty equivalence update laws (A.5)-(A.5) are given by
where c = B* pfe . The backstepping controller update laws (3.30) and (3.31) are given
(A. 18)
Recalling from above that zz = e l + ciel, it is possible to choose the mat& PI to equate
these two sets of parameter update laws.
![Page 98: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/98.jpg)
Appendix B
Cont roller C-code
vrmcont. h /*
r i l a : Vme0at.h Author: S. A. Bo r to f t
*Date: 0 2 - 1 5 - 9 6
D* in ip t i on : ai h*dmr f i l m coatr i r i r dmftamr f o r th* VRM contro l lmr r.
Thm f i l e Ir rmad i n t o r r i c o n t . ~ ind othmr contrmllmr f i b a u m b a i q u n d . No OSP-rmletmd definmi u* in t h i r 111m. Tümy u m found Ln m a p . h .
*/
/* Dafiama f o r h t e rtorqm.. .
-1
/* 0atinmi t o r th* rplîna tuactiona. ..
*/
/= I n i t i a l r.lwr f o r s p l i n m a a t f i s f a n t r r u a n d n g 1-VU O.S.. .
*/
/* D*tfium r m h t i r y t o PI.. .
*/
![Page 99: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/99.jpg)
APPENDIX B. CONTROLLER C-CODE
1. Difinir for
*/ th. rdrptlri uratrollmr.. .
![Page 100: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/100.jpg)
CONTROLLER C-CODE
vrmcont .c
1. Fil*: m c 0 n t . c
= Author: S. A. Bortofl . Date: 02 - 19 - W b~.rii*d: O1 - 28 - W
f loat Vdtorag*CSïûRAüE,UIûïüJ; /* p*m. ur.7 for dovnAo4 -/ f1o.t t b t a W M ;
void CoatrolO ; lot CM*ntCantrolO ; f 1o.t kriredCurrrnt (floet o w p . f loir koothStep(f1o.t i ) ; f 1o.t ~ r h S t ~ p l ( t 1 o r t r) ; il-t S.ootbSt*p2(flo.t i) ;
Sotwr(f1oat iiu. f lort c l .
Lnt 1);
t lort c2. float c31;
rtatic int S i r e t - 1; f 1o.t tUpCCP1,UIDm ; int int*nrl,mm-O;
![Page 101: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/101.jpg)
![Page 102: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/102.jpg)
APPENDIX B. CONTROLLER C-CODE
um. 3 :
![Page 103: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/103.jpg)
APPENDIX B. CONTROLLER C-CODE
a D.8kmbCurrmnt c a p t a i thi raina of th vindlw eurrmat l giveii thm &r i rad vfPdLng "torqum" w g a ind th. mîndiag a a i k r 1. a f o r $-O, 1.2. Ic rolvm8 thm .qrutioii
l S r n - j S m k t h t a W Cjl ( - i i n ( P ~ ( k W ~ r C O 1 - 2~i*(ir+l)*~1/U)l~b,j(u~i) 0 o u s a
l f o r u-i, girma i a d owgm. m/
/a l Stmp 1. Carputa th. 0-mplia. coa f f i c i in t r fo r vindîn6 1. Motm l th. - r i p . dum t o th* - r i p on ch. s k i t e r i .
Stmp 2. ûoteni i i . vUeh rplinm in te rva l thm srurent i r inride. If i n i n t a m a l O o r 1. thma thm Solvmr rmquîrm8 i rpac i r l cum, bacariam thmrm i r d y one o r tuo i p l i n i b r r i i fuuctioar i n thora t i i t i rvalr , rmnpctivr ly. - /
/* Then the derired c ru r in t i # lymr tham thr dœaia of th. L-mplînm b u i s . 1.m.. h u aaturatrd. Pm...
a/
/* * Otheruîim. the -mat 18 innid. L n t m n d ~ 1.3.. . . ,1-1.. . a/
![Page 104: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/104.jpg)
APPENDUC B. CONTROLLER C-CODE
2 lotit Solvmt(f1ort .ni. f l o r t c l . f l w t c2. f l o r t J)
![Page 105: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/105.jpg)
APPENDIX B. COiVTROLLER C-CODE
/* Capote diacrkfiunt */
raid P u . . f P i t O < I*
Thfs routine ln l t i l t t raa tbr 8-rplina wafftciancr uui 1o.d parametara. Tho daiinaa COMO,.. . are faund ta mcont.h.
*/
/* l-splinm codf idrat p u i u t a r r . lote Ut tba t k r t tro b-rpl l iu w a f f i c i a a t i u m O bacuua of Vllll chuiçtari . t icr. ihaia u m aot itorad. .rid va "ksin* vfth thm third oui. uhich la CûKWl...
*/
![Page 106: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/106.jpg)
APPENDIX B. CONTROLLER C-CODE
xdCO1 (PI - PI*eoi(Pï t / 2.0) 1; xdCI] - PI*Ptmria(PI l t12.0) / 2.0; x d W - PI*PI*PI~coa(PI t / 2.0) / 4.0; ratuna;
![Page 107: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/107.jpg)
APPENDIX B. CONTROLLER C-CODE
adapt .c
/* f i h : 4dapt.c Author: S. A. Bonoff Dit.: 02 - 20 - W hrfrod: 03 - 28 - W &rtsod: O i - Zû - 97
Ooicriptioa: lh ir f i10 coiitrlni th* mutinoi roquirid CO 1.plurat th. upd4to 1 4 ~ rot th. d i p t t r i d p r i t h r .
*/
![Page 108: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/108.jpg)
APPENDIX B. CONTROLLER C-CODE
a t a t i c f l oa t *rha,ptr. -rb.O,ptr; r t b t i c i l o a t .rhm,paatl,ptr, *rhmO,paitt,ptr; a t a t i c f l o a t *rhi .putl ,ptr , .rhiO,putî,ptr; mtatic f l o a t *rh#,tap.ptr. *rhiO,tap,ptr; r t i t i c ilomt *thata,ptr. *thet.O,ptr;
f t r i t - 0;
t h o t k p t r t thtrC01 COI ; th.t.0-pu 9 kthmtiOCO1;
f o r ( j - O; j G Mû; j* )< rhaOlj1 0 .0;
![Page 109: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/109.jpg)
APPENEIX B. CONTROLLER C-CODE
/* Strp 1. Carpritr P m. p.0 i a mot wod. . .
.I
/* Strp 1. C#ipurr th. rh8 o i the ode, Y P o...
*/
/* Jtmp a i . R o j o c t the puuci torm, urina t b r t r (6 globrl) uut th* rha o l th. d o . C h a t thLi u n EBUTOL tb . rhr l
*/ /*
Rojmct (rha.ptr1; - / 1-
St rp 3. R o j i c r th. rbs of th. upëatr 1.u f o r %hi 1o.d p u u r t r r n . ..
f o r ( jk O; jk c ?WU; jk* )i *(thi ta ,ptr jk) *- SUWL1I-PfAIOD
( *(rhs,ptr fk) 6.0 *(rhr-prat l -pt t jk) 8.0 - -(rlir,putP,ptr jkl 1 / 12.0;
?
/- S t r p 6. I1pb.t. pointrrr . rh-ptr pointa to rh. t a br dofiaid rh. of th r u p â ~ t b lm.
l r h s - p u t t - p t r pointa te tb. h a $ rha t o bo drifard, r h , p u t 2 - p t r pointa th. ch. r M t h ~ t w u doiinod tro 8opLrs y o ,
l rnd r h i - p u t 3 - F r peint8 t o th8 rh. t b t w u d i f i iud t h r i o a u p h a 40. -/
![Page 110: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/110.jpg)
APPENDIX B. CONTROLLER C-CODE
![Page 111: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/111.jpg)
CONTROLLER C-CODE
pro ject .c
D*rcriptioo: Thir film contrina th* routfarr riquirmd to I i p l u a t - rhr projection for th* m drptatian. =/
/= g l o b d r L u v u i i b l i */ /* Hodel i p l h i cwfficimnts */ /- üogrorior f o r thita =/
/* Lnartia puamtar */ /* & p i a i o r for thit .0 */
![Page 112: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/112.jpg)
APPENDIX B. CONTROLLER CCODE
/- Nom, dl th. n o d i u a coiptitmd for t&ta[O], and W. rorm on Co do th* s u r t h i q for *.ch of th* r- thataCf]. . .
./
/- r t t h i i point, dl of th* i r o d vectorr u e dmfinod. d no-noriili a8 captrtid. Va oa naad to dacapom. the rub8paci ipanwd br thmi* no& victorr inta ortbopail mbapac.i. VI ail th* dk.nmion e f th* kth mbapac* corairrOj, d 1.t th* total aumbor o f iubmpcmi b* w,cornar8.
-1
![Page 113: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/113.jpg)
APPENDIX B. CONTROLLER C-CODE
S u b p u a h j a c t (avac-ptr, ao,nnriila. contera. no,coriura, rba) ;
I* * l a i t i r J i u t i o n for o.ch iubapica ... */
![Page 114: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/114.jpg)
APPENDLX B. CONTROLLER C-CODE
/. Don* vfth th* projacrioa. Y i a m d to brmrlt out O! th. mbspaco l w p .
a/
/* Y* g i t hisr h u m * 1. r i projeetad on on* ai tbi rubspacri, and braka out of thm prrviop. loop, or 2. baunim um rut out of mbapuas. an$ ri naad to m a on to th. curt corarr.
*/
![Page 115: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/115.jpg)
APPENDIX B. CONTROLLER C-CODE
big - 0.0;
![Page 116: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/116.jpg)
APPENDIX B. CONTROLLER C-CODE
rat~rrr(.ni);
![Page 117: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/117.jpg)
APPENDIX B. CONTROLLER C-CODE
/. Valocit7 f t l t a r p u w t o r r . D i g i t a l buttonorth f f l t o r . un-lW rid/iac.
./
![Page 118: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/118.jpg)
CONTROLLER C-CODE
Odrfh* 0s-DAO idrf in* DSP-DAI #d*fia* DSP-DM #d*f in. DSP,DW Sdeffru DSP,DA4 8&tlas DSP-DAS iddin* DSP-DA6 id di^ Dâ?,DAT
((rrruiyiud long -)~r03000n) I* DJP &. for p.n4 ((riniigud loiy *)QxQ300081) /* DSP &*mm for d O 1 */ ((itrimiqud 1% *)Ox=l) /* DSP ddrars for oc11 */ ( ( ~ m f y i u d 1- *)0%03Q00Al) /* DSP &a. f o r uCZj */ ((rrrimigid l o q *)QxO3000111) /* DSP ddr. tor -bot -/ ((parigud 1- *)01030QQC1) /* DSP W. toc asrobot */ ( ( w i g u b loiy *)Ox03000Dl) /* DSP ddr. p11~1od */ ( ( w i p d long m)Ox01000U) /* DSP idk. imiuod */
![Page 119: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/119.jpg)
APPENDIX B. CONTROLLER C-CODE
/* File: d p . c O r i g i n d drte: O7 - 05 - û4 W i i d : 09 - W - O 6 w i i d : oz - 1s - m Drig înd Author: D. Datiaaa Ikviamd: R. goha, A. Iisholaoa. S. A. Ilanoff
Dmaufptien: TU8 11 the u i n progru t o r coo tml o i the variable r i lnctance m t o r . uafry th. D f P . The OS? t h o r 8 1 i a tud t o - L a t e r r ~ p t (TI l l ï l ) t h e DSP a v e q B iiconds. üpua intertiipt. thi &p ericutea th. f w c t i o o La. In In. th. ïW m t o r angle q l Ls rmad. th. v e l o c i t ~ qidot i a m i t k i t a d , .rd th cen t ro l l e r ii crLled. uhich caprite. tk. t h r i e inputa u t , di, u3. Thaae u e than output t k o r y h th. D/A cud via th. PC. u t m g th. m t a r p r o g u . T b cen t ro l l e t p r o g o a W d b. in a i i p u a t o f i l e . t a rubdirectory of the prmrint d i r i c t o q .
To compile. oso dapcœp. vhlch L i a batch f i l e i n C:/bin. Tou type dapcap eontroUila1 soatroLTile2 . . l m d s p
in iubd i rec toq o i chia d l r a c c o q ( D : / d d i p ) . iod dapcmp d e i t h i l i a t i q f i l e , l o d f i l e , u p t i l e . e tc . . i n t h e dlcectory. Thi n u i n a i che u p , l l a t i q ami l o d f i l a a re coatroLii l i1 , v i t h appropriate i r t rai ioir . Note t h e r a ~ c a p i l a t i o o o i MW cootrol lera rboold aot occur ln *thla* directorf . 70 1o.d th* h q e h t o the dap. JOU type
d s p l o d controU;lel .n4 the t i y e i a I d 0 4 .n4 nrn on the dap. Ih ia l a J i o don* i r a the mbdirmctory. To dounlod data Cr- the dap port ezpariwot , p u type
dova lod con t ro l f i l e l r wi th. progrm QOVPLoul r e d a the u p film. gei i . ratd a t compile t h ,
deterpini8 vhorm thm &ta ii in th. dap -W. and loada it in to a user- * r p c i i i e d ut lab-corpat iblm f i l e . bjay. .
To &ange the a u p l i n g frequincJ, Mi the v u i r b l e SAHPLILPGMOD and th. casatmut T I m P t A f O D . timing th. t a c t r l u t 6.04 . f c ro r rc c-> Or43 f o r î ï X E R ~ P ~ Q D , .ad 0.0400 iecondi +> OltOOQOO i o r TDER,PERIOD. ve have:
20 & (h-0.05) -> o i e Ordlbûb 100 ttr (h-O.01) -a ma* Or14M5 100 tk (hrQ.005) -> a re O r a 2 J 300 ih (h-0.003333) -> us0 Oxdc8l 400 üx (h.0.00lü) -* nie 0.5161 600 8. (hr0.0011 -> ara Ox41lA
The r r l o c i t y t i l t e r i r ordar 2 v i th fO=cutoif f roq (W. It v u deaiguid by u a i 4 b i l i n e u t r i i u f o r u t i o a , applied t o a B t t t t a m r t h f i l t e r .
*/
![Page 120: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/120.jpg)
APPENDIX B. CONTROLLER C-CODE
/- l I i r a r , c l a u th kmdabrllry bite for TSli / DSP intaraction.. . -1
/* h14f for 4 vâila ...
-/
/a l And s i r ln t â i s infinira X w p w t i l th* L n t a v t s u a itoppd.. a/
/ T h nart t k a i a r s n b l r l a q m g a fiutrpctionr c r l l c h . 1ink.r to plrca th* addrasr of th* i n t a r n p t iarrica mutina (ISRl in th* vsctor tabla i n th. b a c t a of -q.
a/
I * Sa&. r a d in th. .cnut rotor position n r t a ,
a i t i u t e t h valodty. Also. capot0 th. dasirid si@ t a ba trickmd.
*/
![Page 121: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/121.jpg)
APPENDIX B. CONTROLLER C-CODE
/* toortb, writ* th. soutra1 u t o ch* 0/A borrd r i a th. m. ..
-1
/- - I i f th . updatm th* P o b d t L u + u i a b L ~ . . . */
I* r 'lhir touthm uritam th. control vrctor u t o th. D/A boud. */
/* h d do th. r r u for chi othrr t*o output. dll d UM .. .
.I
/- lirully, s*t th. TSâ rrqumrt b i t ( b i t 1). mat th. TSR Kit. b i t (bit 3 ) . and r i m t th. ?SR rr.d b i t (bit 1). Ihin grami.ta .o Intrrrupt (ïRQ6) t o th. PC IO th* TSR doai th. truufar. . .
*/
m i d brpot.st.t.0 C
![Page 122: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/122.jpg)
APPENDIX B. CONTROLLER C-CODE
I- CaputaStata crlli th. T S Co r a d t he aocodrr. Tha f i r i t tiu it ia cal lad, it rarats th. WtiO corratar. .ad uror t h D I A .
l Oncm t h cmrritar .dur II riad. it La cawartcd Co a Llaat. riid t h r r a l o c i t ~ ia a a t i u t a d niin6 a d i a a t m - t i s a ssmod-ordor d i t i i r a a t f i c o r f i l t a r .
-/
1- Strp O . I f t h î i 1s th. f i r i t ttu CcrputaStatr i r bdng d l r d , chaa rmaat th* cmrntari.
-/
/- Yrx t . ~ m i t u a t i l t he TSR I I liaiibad...
*/
1- Stap t . I k d th. prmamat vrlua o f th* copriter. t i r i t . chi& t o
O m a tba t ch* TYR i s ant praaantly bury. U it fi. than mat t m t i l it ia net bury. than. i a t $ha TSLCOYIML word ch tht b i t O (m nul) i r O. b i t a (nn Ilrgurit) ii 1, b i t 2 (TSR hd) - fi 1. .nP b i t 2 (TSR Yriro) ii O . Thma poarata tncarmpt and m i i t iiatll nii coiplatai data t r u u f r r .
*I
![Page 123: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/123.jpg)
APPENDLX B. CONTROLLER C-CODE
/. Yov tha ancoder couritara b v a ban saad. Coiivart tha 32-bit v4loaa t O r8di.D. (ilorit).
*/
/. Tüir routine joat xams the D/A voltagai and &.ici rha l a t s m p t i . Thar. i a no raturn frem t u s routine. DSP l a hata foravar.
*/
![Page 124: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/124.jpg)
Bibliography
[Il R. Su, "On the linear equivalents of nonlinear systems," Systems & Controi Letters,
vol. 2, no. 1, pp. 48-52, 1982.
[2] G. Meyer and L. Cicolani, Application of nonlinear system inverses to automatic
jlight control design, pp. 10.1-10.29. NATO - AGARD - AG251, 1980.
[3] J. Hauser, "Nonlinear control via uniform system approxirnati~n,'~ Systems & Control
Letters, vol. 17, no. 2, pp. 145-154, 1991.
[4] C. Reboulet and C. Champetier, "A new method for linearizing nonlinear systems:
The pseudolinearization," International Journal of Control, vol. 40, no. 4, pp. 631-
638, 1984.
[5] S. A. Bortoff, R. R. Kohan, and R. Milman, "Adaptive control of variable re-
luctance motos: A spline function approach," submitted to IEEE Tmnsnctions
on Industrial Electronics, 1996. Preliminary version available on the WVM' at
http://www.control.toronto.edu/ bortoff.
[6] H. Khalil, Nonlinear Systems. New York: Macmillan, 1992.
[7] M. Vidyasagar, Nonlinear Systems Analysis. Englewood CLiffs, NJ: Prentice-Hall,
1978.
[8] A. Saberi, P. KokotoviE, and H. Sussmann, "Global stabilization of par t idy lin-
ear composite systems," Society for Industrial and Applied Mathematics, Journal of
Control Optzmzzation, vol. 28, pp. 1491-1503, 1990.
![Page 125: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/125.jpg)
BIB LI0 GRA PKY 117
[9] 1. Kanellakopoulos, P. KokotoviC, and A. Morse, "A toolkit for nonlinear feedback
design," Systems d control Letters, vol. 18, pp. 83-92, 1992.
[IO] R. Monopoli, "Mode1 reference adaptive control with an augrnented error signal,"
IEEE IBansactions on Automatic Contml, vol. 19, pp. 474-484, 1974.
[Il] D. Taylor, P.V.KokotoviC, R. Marino, and 1. Kanellakopoulos, "Adaptive regdation
of nonlinear systems with unmodeled dynamics," IEEE Transactions on Automatic
Control, vol. 34, pp. 405-412, 1989.
1121 1. Kanellakopoulos, P. KokotoviC, and R. Marino, "An extended scheme for robust
adaptive nonlinear control," Automatica, vol. 27, pp. 247-255, 1991.
[13] G. Bastin and G. Campion, "Indirect adaptive control of linearly parametrized non-
linear systems," in Proceedings of the 3rd IFAC Symposium on Adaptive Systems in
Control, and Signal Processing, (Glasgow, UK) , 1989.
[14] S. S. Sastry and -4. Isidori, "Adaptive control of linearizable systems," IEEE Trans-
actions on Automatic Control, vol. 34, pp. 1123-1131, Nov. 1989.
1151 1. Kanellakopoulos, P. KokotoviE, and A. Morse, "Systematic design of adaptive con-
trollers for feedback linearizable systems," IEEE ?fansactions on Automatic Control,
vol. 36, pp. 1241-1253, 1991.
[16] M. KrstiC, 1. Kanellakopoulos, and P. KokotoviC, "Adaptive nonlinear control without
overparameterization," Systems & Contrd Letters, vol. 19, pp. 177-185, 1992.
1171 1. Kanellakopoulos, P. KokotoviC, and R. Middleton, "O bserver-based adaptive con-
trol of nonlinear systems under matching conditions," in Proceedings of the 1990
Amen'can Control Conference, (San Diego, CA), pp. 549-552, 1990.
[18] 1. KanelIakopoulos, P. KokotoviC, and R. Middleton, "Indirect adaptive output-
feedback control of a class of nonlinear systems," in Proceedings of the 29th IEEE
Conference on Decision and Contml, (Honolulu, HI), pp. 2714-2719, 1990.
![Page 126: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/126.jpg)
[19] R. Marino and P. Tomei, "Global adaptive observers and output-feedback stabiliza-
tion for a class of nonlinear systems," pp. 455-493 in [43].
[20] R. Marino and P. Tomei, "Global adaptive output-feedback control of nonlinear sys-
tems, part i: linear parametrization," IEEE Transactions on Automatic Controf,
vol. 38, pp. 17-32, 1993.
[21] 1. Kanellakopoulos, P. Kokotovit, and A. Morse, "Adaptive output-feedback control
of systems with output nonlinearities," pp. 495-525 in [43].
[22] 1. Kanellakopoulos, P. KokotoviC, and A. Morse, "Adaptive output-leedback control
of systems with output nonlinearities," IEEE l?ransactions on Automatic Controf,
vol, 37, pp. 1266-1282, 1992.
[23] M. KrstiC, 1. Kanellakopoulos, and P. KokotoviC, "Nonlinear design of adaptive
controllers for linear systems," IEEE Transactions on Automatic Control, vol. 39,
pp. 783-752, 1994.
[24] M. KrstiC, 1. Kanellakopoulos, and P. Kokotovii., Nonlinear and Adaptive Control
Design. Wiley, 1995.
(251 M. M. Polycarpou and P. Ioannou, "A robust adaptive nonlinear control design,"
Automatica, vol. 32, no. 3, pp. 423-427, 1996.
(261 J. Carroll and D. Dawson, "Integrator backstepping techniques for the tracking con-
trol of permanent magnet bmsh dc motors," IEEE Transactions on Industry Appli-
cations, vol. 31, pp. 248-255, April 1994.
[27] J. Hu, D. Dawson, T. B u g , and P. Vedagarbha, "An adaptive tracking controller for
a bmshless dc motor with reduced overparameterization effects," in Proceedings of
the 33rd IEEE Conference on Decision and Control, vol. 2, (Lake Buena Vista, FL),
pp. 1850-1855, Decernber 1994.
![Page 127: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/127.jpg)
[28] T. Burg, D. Dawson, J. Hu, and P. Vedagarbha, "Velocity tracking control for a
separately excited motor without velocity measurements," in Proceedings of the 1394
American Control Conference, vol. 1, (Baltimore, MD), pp. 1051-1056, July 1994.
[29] M. Leviner, D. Dawson, and J. Hu, "Position tracking cont rol of a switched reluctance
motor using partial state feedback," in Proceedings of the 1994 Amencan Control
Conference, vol. 3, (Baltimore, MD), pp. 3095-9, July 1994.
(301 J. Carroll, D. Dawson, and P. Vedaqarbha, "Experimental verification of adaptive and
robust trajectory tracking controlIers for switched reluctance rnotors," in Proceedings
of the 33ni IEEE Conference on Decision and Control, vol. 2, (Lake Buena Vista,
FL), pp. 1856-61, Dec. 1994.
[31] M. Bridges and D. Dawson, "Adaptive control of rigid-link electrically driven robots
actuated with switched reluctance motors," in Proceedings of the 1995 Amencan
Control Conference, vol. 2, (Evanston, IL), pp. 1392-6, June 1995.
1321 J. Carroll, D. D. A.J. Geogham, and P. Vedagarbha, "A backstepping based com-
puted torque controller for switched reluctance motors driving inertial loads," in
Proceedings of the 4th IEEE Conference on Control Applications, (Albany, NY),
pp. 779-786, Sept 1995.
[33] J. Lin and 1. Kanellakopoulos, "Adaptive nonlinear control in active suspensions,"
in Proceedings of the 1996 IFAC, (San Francisco, USA), pp. 113-118, July 1996.
[34] R. Freeman, D. Fontaine, and P. KokotoviC, 'TORA example: Cascade and passivity
control designs," in Proceedings of the 1995 Arnen'can Control Conference, vol. 6,
(Seattle, Washington), pp. 4347-4352, June 1995.
[35] 1. Kanellakopoulos and J. Zhao, "Tracking and disturbance rejection for the bench-
mark nonlinear cont rol pro blem," in Proceedings of the 1995 Amencan Control Con-
ference, vol. 6, (Seattle, Washington), pp. 4360-4362, June 1995.
![Page 128: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/128.jpg)
(361 R. Bupp, D. Bernstein, and V. Coppola, "Experimantal implementation of integrator
backstepping and passive nonlinear controllers on the RTAC testbed," in Proceedings
O/ the 1996 IEEE Conference on Control Applications, pp. 279-284, 1996.
[37] R. Minhas and S. Bortoff, "Adaptive feedback linearization using multivariable spline
functions," in Proceedings of the 1995 American Control Conference, (San Francisco,
CA), pp. 3207-3211, June 1995.
[38] M. Ilic-Spong, R. Marino, S. M. Peresada, and D. T. or, "Feedback linearizing control
of switched reluctance rnotors," IEEE Transactions on Automatic Control, vol. AC-
32, pp. 371-379, May 1987.
(391 L. L. Schumaker, Spline Functions Basic Theory. Wiley, 1981.
[40] R. Freeman and P. Kokotovic, "Design of 'softer' robust nonlinear control laws,"
Automatica? vol. 29, no. 6, pp. 1425-1437, 1993.
[41] R. R. Kohan and S. A. Bortoff, "Adaptive control of variable reluctance motors using
spline functisns," in Proceedings of the 1994 Conference on Decision and Control,
(Lake Buena Vista, Florida), pp. 1694-1699, Dec. 1994.
[42] R. Milman and S. A. Bortoff, "Observer-based adaptive control of a variable reluc-
tance motor: Experiment al results," submit ted to Proceedings of the 1997 Conference
on Decision and Control, 1997.
[43] P. KokotoviC, Foundutions of Adaptiue Control. Berlin: Springer-Verlag, 199 1.
![Page 129: NOTE USERS - University of Toronto T-Space · Finally, a very special thanks to my fiancee, Ari N. Kaplan, who picked up al1 the projects and chores 1 had dropped when it came time](https://reader036.vdocuments.us/reader036/viewer/2022062600/5b2a0cf37f8b9ae1288b629e/html5/thumbnails/129.jpg)
TEST TARGET (QA-3)
APPLIED IMAGE. lnc a 1653 East Main Street - -- -a Rochester. NY 14609 USA -- -- - - Phone: 716/482-0300 -- -- - - Fax: 7t -89