note users - university of toronto t-space · finally, a very special thanks to my fiancee, ari n....

129
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

Upload: vancong

Post on 20-Jun-2018

214 views

Category:

Documents


0 download

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

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
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[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

[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

(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

TEST TARGET (QA-3)

APPLIED IMAGE. lnc a 1653 East Main Street - -- -a Rochester. NY 14609 USA -- -- - - Phone: 716/482-0300 -- -- - - Fax: 7t -89