Systems and Control: Modeling, Analysis, and Design

Stanislaw H. Żak

School of Electrical and Computer Engineering

Purdue University West Lafayette, IN 47907

May 24, 2011

Preface

Objectives

This book is about modeling, analysis, and control of linear and nonlinear dynamical systems. The book’s objective is to familiarize the reader with the basics of dynamical system theory while, at the same time, equipping him with the tools necessary for control system design. The emphasis is on the controller design in order to show how dynamical system theory fits into practical applications.

The scope of the book is quite broad in order to show the multidisciplinary role of dynamics and control. In particular, neural networks, fuzzy systems, and genetic algorithms are presented and an introduction to chaotic systems is provided.

In the book, classical methods and the techniques of post-modern control engineering, like fuzzy logic, neural networks, and genetic algorithms are presented in a unified fashion. This book aims to demonstrate how these new tools of a control engineer supplement the classical ones.

Coverage

Whenever one wishes to analyze a real world system, the first order of business is the construction of a mathematical model of the system. In this book, we discuss mathematical modeling of systems from mechanical and electrical engineering, as well as from physics and biology. We also construct models of dynamical systems using linguistic descriptions that employ IF-THEN rules.

Two main types of dynamical systems are common in applications: those for which the time variable is discrete and those for which the time variable is continuous. When the time variable is discrete, the dynamics of such systems are usually modeled using difference equations. In the case when the time is continuous, ordinary differential equations are frequently chosen for modeling purposes. Both types of models are considered in the book.

Nonlinear systems are emphasized to acknowledge the critical role that nonlinear phenomena are playing in science and technology. The models presented are the ones that can be used to design controllers. These models are constructed from the control engineering point of view. Most of the time, engineers develop models of man-made objects. This is in contrast with physicists who are more interested in modeling nature. Models in the last chapter of this book, however, are of interest to engineers, physicists, or biologists. This chapter is an invitation to control engineering of the future where control designers will be challenged to tackle highly complex, nonlinear, dynamic systems using multidisciplinary tools.

Lyapunov’s stability theory and its extensions are used in the analysis of dynamical system models. The objective of the stability analysis is to determine the system behavior without solving the differential, or difference, equations modeling the system. In fact, the Lyapunov theory is used as a unifying medium for the different types of dynamical systems analyzed. In particular, optimal, sliding mode, fuzzy, and chaotic controllers are all constructed with the aid of the Lyapunov method and its variants. Furthermore, a class of neural networks is analyzed using Lyapunov’s method.

Intended Audience

This text can be used in a variety of ways. It is suitable for an introductory graduate-level course on systems and control. The text can also be used in an introductory course to nonlinear systems. Finally, it can be used in an introductory course to modern automatic control. No special background is necessary to read this text beyond basic differential equations and elements of linear algebra. The book is also suitable for self-study. To accomplish this goal, the required mathematical techniques and terminology are reviewed in the Appendix. Depending on the background, the reader may refer to the material in the Appendix as needed.

In addition to worked examples, the book also contains exercises at the end of each chapter. A number of solved problems, as well as the exercises, require the use of a computer. Although there are now many quality software packages available that could be used with this book, MATLAB^{1} was chosen because it appears to be the most widely used mathtools program in engineering circles, and it is also popular among science students. The solutions manual, with complete solutions to all end-of-chapter exercises, is available from

1MATLAB is a registered trademark of the MathWorks, Inc., 24 Prime Park Way, Natick, MA 01760-1500.

Phone: 508-647-7000, fax: 508-647-7001, e-mail: info@mathworks.com, http://www.mathworks.com

iii

the publisher to the instructors who adopt this book in their courses. iv

Contents

Preface i

1 Vector Field Methods 1 1.1 Definitions from Differential Geometry . . . . . . . . . . . . . . . . . . . . . 2 1.2 A Nonlinear Plant Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Controller Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.5 Linearizing State-Feedback Control . . . . . . . . . . . . . . . . . . . . . . . 16 1.6 Observer Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.7 Asymptotic State Estimator . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.8 Combined Controller-Estimator Compensator . . . . . . . . . . . . . . . . . 24 1.9 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.10 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Bibliography 32

Chapter 1

Vector Field Methods

1. If your postage stamps get stuck together, place them in the freezer for an hour or two. They’ll usually come apart and be usable.

2. To remove a stamp from an envelope for collecting purposes, put it in the freezer overnight; then take it out and slide a knife between it and the envelope.

3. Or cut off the corner of the envelope with the stamp and float— don’t immerse—it in lukewarm water until the paper comes off. Dry the stamp on blotting paper, then flatten it between the pages of a book. Or lay a thin paper over the stamp and run moderately hot iron over it. Caution: Never put an antique stamp in water because the ink might run. And don’t use steam to loosen such a stamp: it might be ruined as a collector’s item. [9, page 195]

In this chapter, we discuss methods that use vector fields in the controller construction for a class of nonlinear dynamical systems. The control design process, as in the case of linear systems, involves three steps. The first step is the design of a state-feedback control law. The second step involves the design of a state estimator. The third step is to combine the first two steps to obtain a combined controller-estimator compensator. We use the so-called feedback linearization method to construct a state-feedback control strategy in the first stage of the above design algorithm. The basic idea of the feedback linearization approach is to use a control consisting of two components, one of which cancels out the plant’s nonlinearities and the other controls the resulting linear system. The method is limited to a class of dynamical systems, plants, whose models are sufficiently smooth, that is, the plant models whose righthand sides of the modeling differential equations are sufficiently many times differentiable.

In the next section, we recall some basic definitions from differential geometry that we will be using in our further analysis. We then describe the class of plants for which the feedback linearization method is applicable.

1.1 Definitions from Differential Geometry

All functions that we encounter in this Chapter are assumed to have continuous partial derivative to any order, that is, the functions that we work with are smooth.

Definition 1.1 A vector-valued function of n variables,

f : D → ℝ^{n}, where D ⊆ ℝ^{n} is a domain,

is called a vector field on D. A vector field is an n-dimensional column.

Definition 1.2 The transpose of a vector field is called a covector field. A covector field is an n-dimensional row.

Definition 1.3 A differential of a real-valued function on n variables

h : D → ℝ, where D ⊆ ℝ^{n} is a domain,

is a covector field, denoted dh, and defined as

dh = Dh = ∇xh^{⊤} = [ \frac{∂h}{∂x_{1}} \frac{∂h}{∂x_{2}} ⋯ \frac{∂h}{∂x_{n}} ] ,

where ∇xh is the gradient of h, which is a vector field.

In our controller construction for a class of nonlinear systems, we will be using three types of Lie derivatives. They are as follows:

1. Derivative of a vector field with respect to a vector field, also known as the Lie bracket. Given the vector valued functions f : ℝ^{n} → ℝ^{n} and g : ℝ^{n} → ℝ^{n}, where f and g are C^{∞} vector fields. Their Lie bracket is defined as

[f, g] = \frac{∂f}{∂x}g − \frac{∂g}{∂x}f,  (1.1)

where \frac{∂f}{∂x} and \frac{∂g}{∂x} are the Jacobian matrices of f and g, respectively. Sometimes in the literature the negative of the above definition is used. For convenience we will also be using an alternative notation of the form

[f, g] = (ad^{1}f, g).  (1.2)

We define

(ad^{k}f, g) = [f, (ad^{k−1}f, g)],

where

(ad^{0}f, g) = g.

For a single input linear system model, f(x) = Ax and g(x) = b. Hence,

(ad^{0}f, g) = b
(ad^{1}f, g) = Ab
⋮
(ad^{k}f, g) = A^{k}b.

Thus, the controllability matrix of the linear system can be expressed in terms of Lie brackets as

[ b, Ab, …, A^{n−1}b ] = [ (ad^{0}f, g), (ad^{1}f, g), …, (ad^{n−1}f, g) ] .

We will call the n × n matrix

[ (ad^{0}f, g), (ad^{1}f, g), …, (ad^{n−1}f, g) ] ,  (1.3)

the controllability matrix of the single input nonlinear system modeled by

ẋ = f(x) + g(x)u.  (1.4)

2. Derivative of a function with respect to a vector field. Let h : ℝ^{n} → ℝ be a C^{∞} function on ℝ^{n}. Let Dh = ∇h^{⊤}, where ∇h is the gradient (a column vector) of h with respect to x. Then, the Lie derivative of the function h with respect to the vector field f, denoted Lf h or Lf (h), is defined as

Lf h = Lf (h) = ⟨∇h, f⟩ = Dh f = \frac{∂h}{∂x_{1}} f_{1} + \frac{∂h}{∂x_{2}} f_{2} + ⋯ + \frac{∂h}{∂x_{n}} f_{n}.

We use the following notation:

Lf^{0} h = h
Lf^{1} h = Lf h
Lf^{2} h = Lf Lf h
⋮
Lf^{k} h = Lf Lf^{k−1}h.

3. Derivative of Dh with respect to the vector field.

The Lie derivative of Dh with respect to the vector field f, denoted Lf (Dh), is defined as

Lf (Dh) = (\frac{∂∇h}{∂x}f)^{⊤} + Dh\frac{∂f}{∂x} .  (1.5)

Note that

Lf (Dh) = DLf h = ∇Lf^{⊤} h.  (1.6)

The above three Lie derivatives satisfy the Leibniz formula,

L_{[f ,g]}h = ⟨∇h, [f, g]⟩ = LgLf h − Lf Lgh  (1.7)

1.2 A Nonlinear Plant Model

Dynamical systems, that we consider in this chapter, are modeled by the equations

ẋ = f(x) + G(x)u  (1.8)
y = h(x),  (1.9)

where f : ℝ^{n} → ℝ^{n}, G : ℝ^{n} → ℝ^{n×m}, and the output map h : ℝ^{n} → ℝ^{p}. Note that G(x) may be written as G(x) = [ g_{1}(x) g_{2}(x) ⋯ g_{m}(x) ], where g_{i} : ℝ^{n} → ℝ^{n}, i = 1, 2, …, m. We write f ∈ C^{∞} if f is in all C^{k} for k = 1, 2, . . .. The functions f, g_{i}, and h are assumed to be C^{∞} vector fields on ℝ^{n}. We also assume that f(0) = 0 and h(0) = 0. We note that the linear system model ẋ = Ax + Bu, y = Cx is a special case of the above more general model. Indeed, we have f(x) = Ax, G(x) = B, and h(x) = Cx. A simple example of a nonlinear dynamic system whose model fits into the above class of systems is a model of one-link robot manipulator presented in Subsection ??.

1.3 Controller Form

One of the objectives of this chapter, is to devise a method for constructing state-feedback stabilizing control law for a class of dynamical systems modeled by (1.8). To construct such a law it is advantageous to work with an equivalent system model rather than with the original one. We thus first discuss a method for transforming a nonlinear system model into an equivalent form that is a generalization of the controller form known from the linear system theory. We accomplish this using a transformation, described below, that is a generalization of the similarity transformation for linear systems.

A transformation T : D → ℝ^{n} is a diffeomorphism on D if it is invertible on D, that is, there exists a function T^{−1} such that

T^{−1}(T (x)) = x for all x ∈ D,

and both T and T^{−1} are continuously differentiable

If the Jacobian matrix \frac{∂T}{∂x} is nonsingular at a point x_{0} ∈ D, then it follows form the inverse function theorem, see Exercise 1.3, that there is a neighborhood N of x_{0} such that T restricted to N is a diffeomorphism on N.

A transformation T is a global diffeomorphism if it is a diffeomorphism on ℝ^{n} and

T (ℝ^{n}) = ℝ^{n}.

We now give necessary and sufficient conditions for a transformation T to be a global diffeomorphism. This theorem comes from Khalil [6, p.561].

Theorem 1.1 A transformation T is a global diffeomorphism if and only if

1. the Jacobian matrix \frac{∂T}{∂x} is nonsingular for all x ∈ ℝ^{n};

2. T is proper, that is,

lim_{∥x∥→∞} ∥T (x)∥ = ∞.

Our goal is to construct a diffeomorphism such that

z = T (x), T (0) = 0,

with an inverse x = T^{−1}(z), such that system model ẋ = f(x) + g(x)u in the new coordinates has the form

[ ż_{1} ; ż_{2} ; ⋮ ; ż_{n−1} ; ż_{n} ] = [ z_{2} ; z_{3} ; ⋮ ; z_{n} ; f̃_{n}(z_{1}, z_{2}, …, z_{n}) ] + [ 0 0 ⋮ 0 1 ] u.  (1.10)

We devise a method for constructing the desired transformation. In our subsequent discussion, we will be using three types of Lie derivatives defined in Section 1.1. Suppose that such a transformation exists. Differentiating z(t) with respect to time t gives

ż(t) = \frac{∂T}{∂x} ẋ = \frac{∂T}{∂x} (f(x) + g(x)u) .  (1.11)

Comparing the right hand sides of (1.10) and (1.11), we obtain

\frac{∂T}{∂x} f(x)|_{x=T^{−1}(z)} = [ z_{2} ; z_{3} ; ⋮ ; z_{n} ; f̃_{n}(z_{1}, z_{2}, …, z_{n}) ] ,  (1.12)

and

\frac{∂T}{∂x} g(x)|_{x=T^{−1}(z)} = [ 0 0 ⋮ 0 1 ] .  (1.13)

We first consider (1.12). We have

[ z_{2} ; z_{3} ; ⋮ ; z_{n} ; f̃_{n}(z_{1}, z_{2}, …, z_{n}) ] = [ T_{2} ; T_{3} ; ⋮ ; T_{n} ; f̃_{n}(z_{1}, z_{2}, …, z_{n}) ]

because z = T (x). We conclude that

\frac{∂T_{i}}{∂x} f(x) = T_{i+1}, i = 1, 2, …, n − 1,

or equivalently

T_{i+1} = Lf T_{i}, i = 1, 2, …, n − 1.

Therefore, the transformation z = T (x) has the form

T = [ T_{1} ; Lf T_{1} ; ⋮ ; Lf^{n−2}T_{1} ; Lf^{n−1}T_{1} ] .  (1.14)

The above means that the problem of constructing the desired transformation z = T (x) is reduced to finding its first component T_{1}. The remaining components of T can be successively computed using T_{1}. To specify T_{1}, we use (1.13), which we represent componentwise as

LgT_{i} = 0, i = 1, 2, …, n − 1,

and

LgT_{n} = 1.

Note that LgT_{1} = 0 can be represented as

\frac{∂T_{1}}{∂x} (ad^{0}f, g) = 0.

Next, consider the relation LgT_{2} = 0. We will show that

LgT_{2} = \frac{∂T_{1}}{∂x} (ad^{1}f, g) = 0.  (1.15)

By the Leibniz formula,

LgT_{2} = LgLf T_{1}
= Lf LgT_{1} + L_{[f ,g]}T_{1}
= L_{[f ,g]}T_{1},  (1.16)

because LgT_{1} = 0, and hence Lf LgT_{1} = 0. Using (1.16), we obtain (1.15). Continuing in this manner, we get

\frac{∂T_{1}}{∂x} (ad^{i}f, g) = 0, i = 0, 1, …, n − 2,

and

\frac{∂T_{1}}{∂x} (ad^{n−1}f, g) = 1.

We represent the above n equations in matrix form as

\frac{∂T_{1}}{∂x} [ (ad^{0}f, g), (ad^{1}f, g), …, (ad^{n−1}f, g) ]
= [ LgT_{1}, L_{(ad^{1}f ,g)}T_{1}, …, L_{(ad^{n−1}f ,g)}T_{1} ]
= [ 0 0 ⋯ 1 ] .

Thus the derivative of T_{1}, that is, the row vector \frac{∂T_{1}}{∂x}, is the last row of the inverse of the controllability matrix, provided the controllability matrix is invertible. We denote the last row of the inverse of the controllability matrix by q(x). Then, the problem we have to solve is to find T_{1} : ℝ^{n} → ℝ such that

\frac{∂T_{1}(x)}{∂x} = q(x), T_{1}(0) = 0,  (1.17)

or equivalently

∇T_{1} = q(x)^{⊤}, T_{1}(0) = 0.  (1.18)

The above problem can be viewed as finding a potential function T_{1} for a given vector field q^{⊤}. A necessary and sufficient condition for a given vector field to have a potential function is given by Theorem ?? on page ??. We will show that if q^{⊤} has a potential function, then the resulting state variable transformation is a diffeomorphism. Before we proceed with the proof, we first illustrate the results obtained so far with a numerical example.

Example 1.1 Consider a nonlinear model of one-link robot manipulator presented in Subsection ??. The controllability matrix of this system model is

[ (ad^{0}f, g), (ad^{1}f, g), (ad^{2}f, g) ] = [ \begin{matrix}0 & 0 & 10 \\ 0 & 10 & −100 \\ 10 & −100 & 900 \end{matrix} ] .

The above controllability matrix is of full rank on ℝ^{3}. The last row of its inverse is

q = [ 0.1 0 0 ] .

Hence,

T_{1} = 0.1 x_{1}.

Having obtained T_{1}, we construct the desired transformation z = T (x), where

T (x) = [ \begin{matrix}T_{1} \\ Lf T_{1} \\ Lf (Lf T_{1}) \end{matrix} ] = [ \begin{matrix}0.1 x_{1} \\ 0.1 x_{2} \\ 0.98 sin x_{1} + 0.1x_{3} \end{matrix} ] .

Note that the inverse transformation x = T^{−1}(z) exists and has the form

T^{−1}(z) = [ \begin{matrix}10 z_{1} \\ 10 z_{2} \\ 10z_{3} − 9.8 sin(10 z_{1}) \end{matrix} ] .

Furthermore,

\frac{∂T}{∂x} = [ \begin{matrix}0.1 & 0 & 0 \\ 0 & 0.1 & 0 \\ 0.98 cos x_{1} & 0 & 0.1 \end{matrix} ] .

Applying the transformation z = T (x) to the model of the one-link robot manipulator yields

ż = \frac{∂T}{∂x} f(x)|_{x=T^{−1}(z)} + \frac{∂T}{∂x} g(x)|_{x=T^{−1}(z)} u

= [ \begin{matrix}z_{2} \\ z_{3} \\ 9.8 sin(10z_{1}) + (9.8 cos(10z_{1}) − 10) z_{2} − 10z_{3} \end{matrix} ] + [ \begin{matrix}0 \\ 0 \\ 1 \end{matrix} ] u.  (1.19)

Our objective now is to show that if there is a potential function for q(x)^{⊤}, then the resulting transformation is indeed a diffeomorphism. By construction T is of C^{∞} class, and T (0) = 0. We now show that T is locally C^{∞}-invertible. By the inverse function theorem, stated in Exercise 1.3, if the Jacobian matrix of T evaluated at 0 is invertible, then T is locally C^{∞}-invertible. The Jacobian matrix of T is

DT = [ DT_{1} ; DLf T_{1} ; ⋮ ; DLf^{n−2}T_{1} ; DLf^{n−1}T_{1} ] .

We compute the product of the above Jacobian matrix and the controllability matrix

[ (ad^{0}f, g), (ad^{1}f, g), …, (ad^{n−1}f, g) ]

to get

[ DT_{1} ; DLf T_{1} ; ⋮ ; DLf^{n−2}T_{1} ; DLf^{n−1}T_{1} ] [ (ad^{0}f, g), (ad^{1}f, g), …, (ad^{n−1}f, g) ] .

Performing multiplications yields

DT [ (ad^{0}f, g), (ad^{1}f, g), …, (ad^{n−1}f, g) ]

= [ \begin{matrix}LgT_{1}, & L_{(ad^{1}f ,g)}T_{1}, & …, & L_{(ad^{n−1}f ,g)}T_{1} \\ LgLf T_{1}, & L_{(ad^{1}f ,g)}Lf T_{1}, & …, & L_{(ad^{n−1}f ,g)}Lf T_{1} \\ ⋮ & ⋮ & & ⋮ \\ LgLf^{n−1}T_{1}, & L_{(ad^{1}f ,g)}Lf^{n−1}T_{1}, & …, & L_{(ad^{n−1}f ,g)}Lf^{n−1}T_{1} \end{matrix} ]

= [ \begin{matrix}LgT_{1}, & L_{(ad^{1}f ,g)}T_{1}, & …, & L_{(ad^{n−1}f ,g)}T_{1} \\ LgT_{2}, & L_{(ad^{1}f ,g)}T_{2}, & …, & L_{(ad^{n−1}f ,g)}T_{2} \\ ⋮ & ⋮ & & ⋮ \\ LgT_{n}, & L_{(ad^{1}f ,g)}T_{n}, & …, & L_{(ad^{n−1}f ,g)}T_{n} \end{matrix} ]

= [ \begin{matrix}LgT_{1}, & L_{(ad^{1}f ,g)}T_{1}, & …, & L_{(ad^{n−1}f ,g)}T_{1} \\ L_{(ad^{1}f ,g)}T_{1}, & L_{(ad^{2}f ,g)}T_{1}, & …, & L_{(ad^{n}f ,g)}T_{1} \\ ⋮ & ⋮ & & ⋮ \\ L_{(ad^{n−1}f ,g)}T_{1}, & L_{(ad^{n}f ,g)}T_{1}, & …, & L_{(ad^{2n−2}f ,g)}T_{1} \end{matrix} ]

= [ \begin{matrix}0, & 0, & …, & 0, & 1 \\ 0, & 0, & …, & 1, & x \\ ⋮ & ⋮ & & ⋮ & ⋮ \\ 1, & x, & …, & x, & x \end{matrix} ] ,

where we use x to denote “don’t care” elements. It follows from the above that at x = 0 the Jacobian matrix DT is invertible, that is,

rank DT (0) = n.

In conclusion, a diffeomorphic state variable transformation exists, in a neighborhood of x = 0, if

1. in a neighborhood of x = 0,

rank [ (ad^{0}f, g), (ad^{1}f, g), …, (ad^{n−1}f, g) ] = n,

2.

q(x) = [ 0, 0, …, 0, 1 ] [ (ad^{0}f, g), (ad^{1}f, g), …, (ad^{n−1}f, g) ]^{−1}

has a potential function in a neighborhood of x = 0, that is, q(x)^{⊤} is a conservative vector field in a neighborhood of x = 0.

1.4 Distributions

We reformulate the conditions for the existence of the diffeomorphism transforming the given nonlinear system into the controller form using the notion of distributions that we define next.

Definition 1.4 Let f_{1}, f_{2}, …, f_{k} be vector fields on D ⊆ ℝ^{n}. For any x ∈ calD, f_{1}(x), f_{2}(x), …, f_{k}(x) are vectors in ℝ^{n} and

Δ(x) = span{f_{1}(x), f_{2}(x), …, f_{k}(x)}

is a subspace of ℝ^{n}. To each point x ∈ ℝ^{n}, we assign a subspace Δ(x). A distribution Δ is defined as

Δ = span{f_{1}, f_{2}, …, f_{k}}.

That is, Δ is the collection of all vector spaces Δ(x) for x ∈ D.

The above method of transforming a class of single input nonlinear systems into the controller form can be generalized to multi input systems in a similar way as in the linear case discussed in Subsection ??. We illustrate the method with a numerical example.

Example 1.2 Consider the model of the permanent stepper motor given by (??). We first represent the model as

ẋ = f(x) + g_{1}u_{1} + g_{2}u_{2},  (1.20)

where

f(x) = [ \begin{matrix}x_{2} \\ −K_{1}x_{2} − K_{2}x_{3} sin(K_{3}x_{1}) + K_{2}x_{4} cos(K_{3}x_{1}) \\ K_{4}x_{2} sin(K_{3}x_{1}) − K_{5}x_{3} \\ −K_{4}x_{2} cos(K_{3}x_{1}) − K_{5}x_{4} \end{matrix} ] , g_{1} = [ \begin{matrix}0 \\ 0 \\ 1 \\ 0 \end{matrix} ] , and g_{2} = [ \begin{matrix}0 \\ 0 \\ 0 \\ 1 \end{matrix} ] .

We next form the controllability matrix for the above model to get

[ g_{1} g_{2} (ad^{1}f, g_{1}) (ad^{1}f, g_{2}) (ad^{2}f, g_{1}) (ad^{2}f, g_{2}) (ad^{3}f, g_{1}) (ad^{3}f, g_{2}) ] ,

(1.21)

where, for example,

(ad^{1}f, g_{1}) = [ \begin{matrix}0 \\ −K_{2} sin(K_{3}x_{1}) \\ −K_{5} \\ 0 \end{matrix} ] , (ad^{1}f, g_{2}) = [ \begin{matrix}0 \\ K_{2} cos(K_{3}x_{1}) \\ 0 \\ −K_{5} \end{matrix} ] ,

(ad^{2}f, g_{1})

= [f, (ad^{1}f, g_{1})] = \frac{∂f}{∂x} (ad^{1}f, g_{1}) − \frac{∂ (ad^{1}f, g_{1})}{∂x}f

= [ \begin{matrix}−K_{2} sin(K_{3} x_{1}) \\ K_{1} K_{2} sin(K_{3} x_{1}) + K_{2} K_{5} sin(K_{3} x_{1}) + K_{2} K_{3} x_{2} cos(K_{3} x_{1}) \\ −K_{4} K_{2} sin^{2}(K_{3} x_{1}) + K_{5}^{2} \\ K_{4} K_{2} cos(K_{3} x_{1}) sin(K_{3} x_{1}) \end{matrix} ] , (1.22)

and

(ad^{2}f, g_{2})

= [f, (ad^{1}f, g_{2})] = \frac{∂f}{∂x} (ad^{1}f, g_{2}) − \frac{∂ (ad^{1}f, g_{2})}{∂x}f

= [ \begin{matrix}K_{2} cos(K_{3} x_{1}) \\ −K_{1} K_{2} cos(K_{3} x_{1}) − K_{2} K_{5} cos(K_{3} x_{1}) + K_{2} K_{3} x_{2} sin(K_{3} x_{1}) \\ K_{4} K_{2} cos(K_{3} x_{1}) sin(K_{3} x_{1}) \\ −K_{4} K_{2} cos^{2}(K_{3} x_{1}) + K_{5}^{2} \end{matrix} ] . (1.23)

Observe that

(ad^{1}f, g_{2}) = −K_{5} cot(K_{3} x_{1}) g_{1} − K_{5} g_{2} − cot(K_{3} x_{1}) (ad^{1}f, g_{1}) ,  (1.24)

that is, (ad^{1}f, g_{2}) is a linear combination of g_{1}, g_{2}, and (ad^{1}f, g_{1}). We will use this fact when selecting columns to construct a transformation into a controller form. Proceeding from left to right and using (1.24), we select linearly independent columns from the controllability matrix (1.21). The PM stepper motor system is controllable because we have found four linearly independent columns, g_{1}, (ad^{1}f, g_{1}), (ad^{2}f, g_{1}), and g_{2} in its controllability matrix. Thus, the controllability indices of the PM stepper motor system are d_{1} = 3 and d_{2} = 1. Therefore, the controller form of the PM stepper motor model is

[ ż_{1} ; ż_{2} ; ż_{3} ; ż_{4} ] = [ \begin{matrix}z_{2} \\ z_{3} \\ f̃_{3}(z_{1}, z_{2}, z_{3}, z_{4}) \\ f̃_{4}(z_{1}, z_{2}, z_{3}, z_{4}) \end{matrix} ] + [ \begin{matrix}0 & 0 \\ 0 & 0 \\ g̃_{31} & g̃_{32} \\ g̃_{41} & g̃_{42} \end{matrix} ] [ \begin{matrix}u_{1} \\ u_{2} \end{matrix} ] ,  (1.25)

where the elements g̃_{ij} may depend on z_{k}, k = 1, 2, 3, 4, and

det [ \begin{matrix}g̃_{31} & g̃_{32} \\ g̃_{41} & g̃_{42} \end{matrix} ] ≠ 0.  (1.26)

The transformation we are looking for has the form,

z = T (x) = [ \begin{matrix}T_{1} \\ T_{2} \\ T_{3} \\ T_{4} \end{matrix} ] = [ \begin{matrix}T_{1} \\ Lf T_{1} \\ Lf^{2} T_{1} \\ T_{4} \end{matrix} ] ,  (1.27)

where T_{1} and T_{4} are functions that we have to find. There is no unique solution for T_{1} and T_{4}. Differentiating z = T (x) and using (1.20) yields

ż = \frac{∂T}{∂x} ẋ
= \frac{∂T}{∂x} f(x)|_{x=T^{−1}(z)} + u_{1} \frac{∂T}{∂x} g_{1}(x)|_{x=T^{−1}(z)} + u_{2} \frac{∂T}{∂x} g_{2}(x)|_{x=T^{−1}(z)} (1.28)

where

\frac{∂T}{∂x} = DT = [ \begin{matrix}DT_{1} \\ DT_{2} \\ DT_{3} \\ DT_{4} \end{matrix} ] .

Comparing (1.25) and (1.28), we obtain

z_{2} = T_{2} = DT_{1}f = Lf T_{1}, z_{3} = T_{3} = DT_{2}f = Lf T_{2},  (1.29)

and

L_{g_{1}}T_{1} = 0, L_{g_{1}}T_{2} = L_{g_{1}}Lf T_{1} = 0,  (1.30)
L_{g_{2}}T_{1} = 0, L_{g_{2}}T_{2} = L_{g_{2}}Lf T_{1} = 0.  (1.31)

Applying the Leibniz formula (1.7) to the right hand sides of (1.30) and (1.31) gives

Lf L_{g_{1}}T_{1} = L_{[f ,g_{1}]}T_{1} and Lf L_{g_{2}}T_{1} = L_{[f ,g_{2}]}T_{1}.

Because by (1.30) and (1.31), L_{g_{1}}T_{1} = 0 and L_{g_{2}}T_{1} = 0, we can write

DT_{1} [ g_{1} (ad^{1}f, g_{1}) g_{2} (ad^{1}f, g_{2}) ] = 0,  (1.32)

that is,

[ \frac{∂T_{1}}{∂x_{1}}  \frac{∂T_{1}}{∂x_{2}}  \frac{∂T_{1}}{∂x_{3}}  \frac{∂T_{1}}{∂x_{4}} ] [ \begin{matrix}0 & 0 & 0 & 0 \\ 0 & −K_{2} sin(K_{3}x_{1}) & 0 & K_{2} cos(K_{3}x_{1}) \\ 1 & −K_{5} & 0 & 0 \\ 0 & 0 & 1 & −K_{5} \end{matrix} ] = [ 0 0 0 0 ] .

By inspection, a nontrivial solution to the above is

DT_{1} = [ \frac{∂T_{1}}{∂x_{1}} 0 0 0 ] ,  (1.33)

where the function T_{1} may only be a function of x_{1} for DT_{1} to be integrable. We will specify T_{1} later. To proceed, we note that by (1.27) and (1.28),

[ \begin{matrix}g̃_{31} & g̃_{32} \\ g̃_{41} & g̃_{42} \end{matrix} ] = [ \begin{matrix}(DT_{3}) g_{1} & (DT_{3}) g_{2} \\ (DT_{4}) g_{1} & (DT_{4}) g_{2} \end{matrix} ] ,  (1.34)

Using the structure of the state transformation (1.27) and the Leibniz formula (1.7), we express the element g̃_{31} = (DT_{3}) g_{1} as

(DT_{3}) g_{1} = L_{g_{1}}Lf T_{2}
= L_{[f ,g_{1}]}T_{2} + Lf L_{g_{1}}T_{2}
= L_{[f ,g_{1}]}T_{2},  (1.35)

because L_{g_{1}}T_{2} = 0 and therefore Lf L_{g_{1}}T_{2} = 0. Observing that T_{2} = Lf T_{1}, employing the Leibniz formula, and taking into account the fact that L_{g_{1}}T_{1} = 0, we get

L_{[f ,g_{1}]}T_{2} = L_{[f ,g_{1}]}Lf T_{1}
= L_{[f ,[f ,g_{1}]]}T_{1} + Lf L_{[f ,g_{1}]}T_{1}
= L_{[f ,[f ,g_{1}]]}T_{1} + Lf (L_{g_{1}}Lf T_{1} − Lf L_{g_{1}}T_{1})
= L_{[f ,[f ,g_{1}]]}T_{1}
= DT_{1} (ad^{2}f, g_{1}) .  (1.36)

Hence,

g̃_{31} = DT_{1} (ad^{2}f, g_{1}) .  (1.37)

Similarly, we find

g̃_{32} = DT_{1} (ad^{2}f, g_{2}) .  (1.38)

Substituting (1.22), (1.23), and (1.33) into (1.37) and (1.38), we find

g̃_{31} = −\frac{∂T_{1}}{∂x_{1}} K_{2} sin(K_{3}x_{1}),  (1.39)

and

g̃_{32} = \frac{∂T_{1}}{∂x_{1}} K_{2} cos(K_{3}x_{1}).  (1.40)

Substituting the above expressions into (1.26) yields

g̃_{31}g̃_{42} − g̃_{32}g̃_{41} = (DT_{1} (ad^{2}f, g_{1})) ((DT_{4}) g_{2}) − (DT_{1} (ad^{2}f, g_{2})) ((DT_{4}) g_{1})
= −\frac{∂T_{1}}{∂x_{1}} K_{2} sin(K_{3}x_{1})\frac{∂T_{4}}{∂x_{4}} − \frac{∂T_{1}}{∂x_{1}} K_{2} cos(K_{3}x_{1})\frac{∂T_{4}}{∂x_{3}}
≠ 0.  (1.41)

Suppose that we choose

\frac{∂T_{1}}{∂x_{1}} = \frac{1}{K_{2}} , \frac{∂T_{4}}{∂x_{3}} = cos(K_{3}x_{1}), and \frac{∂T_{4}}{∂x_{4}} = sin(K_{3}x_{1}).  (1.42)

Substituting (1.42) into (1.41) gives

det [ \begin{matrix}g̃_{31} & g̃_{32} \\ g̃_{41} & g̃_{42} \end{matrix} ] = −1.

Using (1.33), (1.42), and (1.27), we obtain

\begin{matrix}T_{1} & = & x_{1}/K_{2} \\ T_{2} & = & Lf T_{1} = x_{2}/K_{2} \\ T_{3} & = & Lf T_{2} = −\frac{K_{1}}{K_{2}} x_{2} − x_{3} sin(K_{3}x_{1}) + x_{4} cos(K_{3}x_{1}) \\ T_{4} & = & x_{3} cos(K_{3}x_{1}) + x_{4} sin(K_{3}x_{1}) \end{matrix} \}  (1.43)

The Jacobian matrix of T is

DT = [ \begin{matrix}1/K_{2} & 0 & 0 & 0 \\ 0 & 1/K_{2} & 0 & 0 \\ −K_{3}x_{3} cos(K_{3}x_{1}) − K_{3}x_{4} sin(K_{3}x_{1}) & −K_{1}/K_{2} & − sin(K_{3}x_{1}) & cos(K_{3}x_{1}) \\ −K_{3}x_{3} sin(K_{3}x_{1}) + K_{3}x_{4} cos(K_{3}x_{1}) & 0 & cos(K_{3}x_{1}) & sin(K_{3}x_{1}) \end{matrix} ]

(1.44)

We have

T (0) = 0 and det DT = −1/K_{2}^{2} ≠ 0 for all x ∈ ℝ^{4},  (1.45)

which means that we were able to find a global transformation into the controller form. The inverse, x = T^{−1}(z) is

\begin{matrix}x_{1} & = & K_{2}z_{1} \\ x_{2} & = & K_{2}z_{2} \\ x_{3} & = & −K_{1}z_{2} sin(K_{3}K_{2}z_{1}) − z_{3} sin(K_{3}K_{2}z_{1}) + z_{4} cos(K_{3}K_{2}z_{1}) \\ x_{4} & = & K_{1}z_{2} cos(K_{3}K_{2}z_{1}) + z_{3} cos(K_{3}K_{2}z_{1}) + z_{4} sin(K_{3}K_{2}z_{1}) \end{matrix} \}  (1.46)

We transform the PM stepper motor model into the new coordinates using (1.27), (1.43), and (1.43) to obtain

[ ż_{1} ; ż_{2} ; ż_{3} ; ż_{4} ] = [ \begin{matrix}z_{2} \\ z_{3} \\ −K_{2}K_{3}z_{2}z_{4} − K_{1}z_{3} − K_{2}K_{4}z_{2} − K_{5}z_{3} − K_{5}K_{1}z_{2} \\ K_{2}K_{3}z_{2}z_{3} + K_{1}K_{2}K_{3}z_{2}^{2} − K_{5}z_{4} \end{matrix} ]

+ [ \begin{matrix}0 & 0 \\ 0 & 0 \\ − sin(K_{3}K_{2}z_{1}) & cos(K_{3}K_{2}z_{1}) \\ cos(K_{3}K_{2}z_{1}) & sin(K_{3}K_{2}z_{1}) \end{matrix} ] [ \begin{matrix}u_{1} \\ u_{2} \end{matrix} ] .  (1.47)

1.5 Linearizing State-Feedback Control

Once the plant model is transformed into the controller form, we can construct a statefeedback controller in the new coordinates and then using the inverse transformation, represent the controller in the original coordinates. While constructing the controller in the new coordinates, a part of the controller is used to cancel nonlinearities thus resulting in a linear system in the new coordinates. This procedure, as we mentioned at the beginning of this chapter, is called the feedback linearization. Then, we proceed to construct the other part of the controller. This part can be designed using linear control methods because the feedback linearized system is linear.

We illustrate the above method of state feedback design on a numerical example involving the one-link manipulator whose model was described in Subsection ??. The state space model of the manipulator, given by (??), was transformed into the controller form in Example 1.1. The controller form of the one-link manipulator model is given by (1.19). It is easy to design a stabilizing state-feedback controller in the new coordinates. It takes the form

u = −f̃_{3} (z_{1}, z_{2}, z_{3}) − (k_{1}z_{1} + k_{2}z_{2} + k_{3}z_{3}),  (1.48)

where f̃_{3} (z_{1}, z_{2}, z_{3}) = 9.8 sin(10z_{1}) + (9.8 cos(10z_{1}) − 10) z_{2} − 10z_{3}. Suppose that the desired closed-loop poles of the feedback linearized one-link manipulator are to be located at {−3.5, −4, −5}. Then, the linear feedback gains k_{i}, i = 1, 2, 3 that shift the poles to these desired locations are:

k_{1} = 70, k_{2} = 51.5, k_{3} = 12.5.

Figure 1.1: Plots of the one-link manipulator’s link angle, x_{1} = θ, versus time for three different initial angles θ(0). The manipulator is driven by the state-feedback control law (1.49).

Applying (1.48) with the above values of the linear feedback gains to the model (1.19) gives

ż = [ \begin{matrix}0 & 1 & 0 \\ 0 & 0 & 1 \\ −70 & −51.5 & −12.5 \end{matrix} ] z.

Next, applying the inverse transformation yields the controller in the original coordinates,

u = −7x_{1} − 4.15x_{2} − 0.25x_{3} − 0.98x_{2} cos(x_{1}) − 12.25 sin(x_{1}).  (1.49)

In Figure 1.1, three plots of the manipulator’s link angle, x_{1} = θ, versus time are presented. The initial conditions have the form, x(0) = [ θ(0) 0 0 ]^{⊤}. The control law applied to the manipulator is given by (1.49).

1.6 Observer Form

In this section, we discuss the problem of transforming a class of nonlinear system models into an observer form, which is then used to construct state estimators for these systems. We consider a single output nonlinear system model of the form

\begin{matrix}ẋ & = & f(x) + G(x)u \\ y & = & h(x) \end{matrix} \}  (1.50)

First, we analyze the case of unforced system when u = 0. In such a case (1.50) reduces to

\begin{matrix}ẋ & = & f(x) \\ y & = & h(x) \end{matrix} \}  (1.51)

We desire to find a state variable transformation, written as x = T (z) such that the model (1.51) in the z-coordinates is

\begin{matrix}ż & = & [ \begin{matrix}0 & 0 & ⋯ & 0 & 0 \\ 1 & 0 & ⋯ & 0 & 0 \\ ⋮ & & ... & & ⋮ \\ 0 & 0 & ⋯ & 1 & 0 \end{matrix} ] z + [ α_{0}(y) ; α_{1}(y) ; ⋮ ; α_{n−1}(y) ] = Az + α(y) = f̃(z), \\ y & = & [ 0 0 ⋯ 0 1 ] z = cz. \end{matrix} \}  (1.52)

It is easy to verify that the state z̃ of the dynamical system

˙z̃ = (A − lc) z̃ + α(y) + ly,  (1.53)

will asymptotically converge to the state z of (1.52) if the matrix A − lc is asymptotically stable. This is because the dynamics of the error, e = z̃ − z, are described by

ė = (A − lc) e, e(t_{0}) = z̃(t_{0}) − z(t_{0})  (1.54)

We will now derive a sufficiency condition for the existence of a state variable transformation that brings (1.51) into the observer form (1.52).

Taking the derivative of x = T (z) with respect to time yields

ẋ = \frac{∂T}{∂z} ż = \frac{∂T}{∂z} f̃(z),  (1.55)

where we represent the Jacobian matrix of T (z), denoted \frac{∂T}{∂z}, as

\frac{∂T}{∂z} = DT = [ \frac{∂T}{∂z_{1}} ⋯ \frac{∂T}{∂z_{n}} ] .  (1.56)

Equating the right-hand sides of ẋ = f(x) and (1.55) yields

f(x) = f(T (z)) = \frac{∂T}{∂z} f̃(z).  (1.57)

Taking the partial derivative of (1.57) with respect to z_{k} yields

\frac{∂f(T (z))}{∂z_{k}} = \frac{∂ (\frac{∂T}{∂z} )}{∂z_{k}} f̃(z) + \frac{∂T}{∂z} \frac{∂f̃(z)}{∂z_{k}}  (1.58)

On the other hand, using the chain rule gives

\frac{∂f(T (z))}{∂z_{k}} = \frac{∂f}{∂x} \frac{∂T (z)}{∂z_{k}}.  (1.59)

Using (1.57) and the fact that x = T (z), the first term on the right-hand side of (1.58) evaluates to

\frac{∂ (\frac{∂T}{∂z} )}{∂z_{k}} f̃(z) = \frac{∂ (\frac{∂T}{∂z_{k}} )}{∂z}f̃(z) = \frac{∂ (\frac{∂T}{∂z_{k}} )}{∂z} \frac{∂x}{∂x}f̃(z) = \frac{∂ (\frac{∂T}{∂z_{k}} )}{∂x} \frac{∂T (z)}{∂z}f̃(z) = \frac{∂ (\frac{∂T}{∂z_{k}} )}{∂x}f(x).

(1.60)

Employing (1.52) and (1.56), we evaluate the second term on the right-hand side of (1.58) to get

\frac{∂T}{∂z} \frac{∂f̃(z)}{∂z_{k}} = \frac{∂T}{∂z_{k+1}} , k = 1, 2, …, n − 1.  (1.61)

Using the above and substituting (1.59) and (1.60) into (1.58) gives

\frac{∂T}{∂z_{k+1}} = \frac{∂f}{∂x} \frac{∂T (z)}{∂z_{k}} − \frac{∂ (\frac{∂T}{∂z_{k}} )}{∂x}f(x), k = 1, 2, …, n − 1.  (1.62)

With the help of the Lie-derivative notation introduced in Section 1.3, we express (1.62) in an alternative way. Specifically, using (1.1) and (1.2), we represent (1.62) as

\frac{∂T}{∂z_{k+1}} = [f, \frac{∂T}{∂z_{k}} ] = (ad^{1}f, \frac{∂T}{∂z_{k}} ) , k = 1, 2, …, n − 1.  (1.63)

Observe that

\frac{∂T}{∂z_{2}} = (ad^{1}f, \frac{∂T}{∂z_{1}} ) ,
\frac{∂T}{∂z_{3}} = (ad^{1}f, \frac{∂T}{∂z_{2}} ) = (ad^{2}f, \frac{∂T}{∂z_{1}} ) ,
⋮  ⋮

and in general

\frac{∂T}{∂z_{k}} = (ad^{k−1}f, \frac{∂T}{∂z_{1}} ) , k = 1, 2, …, n  (1.64)

With the aid of the above, we express all the columns of the Jacobian matrix (1.56) of T (z) in terms of the starting vector ∂T /∂z_{1}, that is,

\frac{∂T}{∂z} = [ (ad^{0}f, \frac{∂T}{∂z_{1}} ) (ad^{1}f, \frac{∂T}{∂z_{1}} ) ⋯ (ad^{n−1}f, \frac{∂T}{∂z_{1}} ) ]  (1.65)

20 CHAPTER 1. VECTOR FIELD METHODS To obtain an expression for the starting vector ∂T /∂z_{1}, we use the output equation

y = h(x) = z_{n}.  (1.66)

We use the chain rule when taking the partial derivative of (1.66) with respect to z to get

\frac{∂h(x)}{∂x} \frac{∂T}{∂z} = [ 0 0 ⋯ 0 1 ] .  (1.67)

We utilize (1.5) to express the first component on the left-hand side of the above as

\frac{∂h(x)}{∂x} \frac{∂T}{∂z_{1}} = Lf^{0} (Dh)\frac{∂T}{∂z_{1}} = 0.  (1.68)

Using the Leibniz formula, we represent the second component of the left-hand side of (1.67) as

0 = \frac{∂h(x)}{∂x} \frac{∂T}{∂z_{2}}
= ⟨∇h, [f, \frac{∂T}{∂z_{1}} ]⟩
= L_{\frac{∂T}{∂z_{1}}} Lf h − Lf L_{\frac{∂T}{∂z_{1}}} h
= L_{\frac{∂T}{∂z_{1}}} Lf h,  (1.69)

because \frac{∂h(x)}{∂x} \frac{∂T}{∂z_{1}} = 0 by (1.68). We use (1.6) to represent (1.69) as

0 = L_{\frac{∂T}{∂z_{1}}} Lf h
= DLf h\frac{∂T}{∂z_{1}}
= Lf^{1} (Dh)\frac{∂T}{∂z_{1}} .  (1.70)

By repeated application of the Leibniz formula and (1.65), we express (1.67) equivalently as

[ Lf^{0} (Dh) ; Lf^{1} (Dh) ; ⋮ ; Lf^{n−2}(Dh) ; Lf^{n−1}(Dh) ] \frac{∂T}{∂z_{1}} = [ 0 0 ⋮ 0 1 ] .  (1.71)

The matrix

[ Lf^{0} (Dh) ; Lf^{1} (Dh) ; ⋮ ; Lf^{n−2}(Dh) ; Lf^{n−1}(Dh) ]  (1.72)

is called the observability matrix of the nonlinear system model (1.51). It follows from (1.71) that the starting vector ∂T /∂z_{1} is equal to the last column of the inverse of the observability matrix given by (1.72).

We now discuss the case of transforming a nonlinear system model with inputs, described by (1.50), into its observer form. We proceed as recommended by Krener and Respondek [7, Section 6]. First transform the unforced system into the observer form (1.52). Then, check if the vector field G(x)u is transformed into the form

(\frac{∂T}{∂z} )^{−1} G(x)|_{x=T (z)} u = β(y, u).  (1.73)

If this is the case, then set

γ(y, u) = α(y) + β(y, u).

The above means that the system with inputs is transformed into the observer form,

\begin{matrix}ż & = & Az + γ(y, u) \\ y & = & cz \end{matrix} \}  (1.74)

where the matrices A and c are as in (1.52). If the unforced system cannot be transformed into the observer form or G(x)u does not transform into (1.73), then the original system (1.50) cannot be transformed into the observer form (1.74). Example 1.3 Consider the one-link robot manipulator model that we analyzed in Subsection ??. The observability matrix for the system is

[ \begin{matrix}Lf^{0} (Dh) \\ Lf^{1} (Dh) \\ Lf^{2} (Dh) \end{matrix} ] = [ \begin{matrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 9.8 cos(x_{1}) & 0 & 1 \end{matrix} ] .  (1.75)

The starting vector ∂T /∂z_{1} is the last column of the inverse of the above observability matrix,

∂T /∂z_{1} = [ \begin{matrix}0 \\ 0 \\ 1 \end{matrix} ] .  (1.76)

We will now find the Jacobian matrix of the desired transformation:

\frac{∂T}{∂z} = [ (ad^{0}f, \frac{∂T}{∂z_{1}} ) (ad^{1}f, \frac{∂T}{∂z_{1}} ) (ad^{2}f, \frac{∂T}{∂z_{1}} ) ] = [ \begin{matrix}0 & 0 & 1 \\ 0 & 1 & −10 \\ 1 & −10 & 90 \end{matrix} ] .  (1.77)

Therefore, we can take

x = T (z) = [ \begin{matrix}0 & 0 & 1 \\ 0 & 1 & −10 \\ 1 & −10 & 90 \end{matrix} ] z.  (1.78)

Note that T (0) = 0. The inverse transformation is

z = T^{−1}x = [ \begin{matrix}10 & 10 & 1 \\ 10 & 1 & 0 \\ 1 & 0 & 0 \end{matrix} ] x.  (1.79)

The system in the new coordinates has the form

ż = (\frac{∂T}{∂z} )^{−1} f(x)|_{x=T (z)} + (\frac{∂T}{∂z} )^{−1} g(x)|_{x=T (z)} u = Az + γ(y, u)
y = cz.

Performing simple manipulations yields

ż = [ \begin{matrix}0 & 0 & 0 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{matrix} ] z + [ \begin{matrix}98 sin(y) + 10u \\ 9.8 sin(y) − 10y \\ −10y \end{matrix} ]  (1.80)
y = [ 0 0 1 ] z = z_{3}.  (1.81)

1.7 Asymptotic State Estimator

Once the nonlinear system model (1.50) is in the observer form, we can proceed with the construction of an asymptotic state estimator using the technique from the linear systems. The state estimator dynamics in the new coordinates are

˙z̃ = (A − lc) z̃ + ly + γ(y, u),  (1.82)

where the estimator gain vector l is chosen so that the matrix (A − lc) has its eigenvalues in the desired locations in the open left-hand complex plane. It is easy to verify that the state estimation error, z − z̃, satisfies the linear differential equation,

\frac{d}{dt}(z − z̃) = (A − lc) (z − z̃) .

Applying the inverse transformation to (1.82), we obtain the state estimator dynamics in the original coordinates.

We illustrate the above method of constructing a state estimator using the model of the one-link manipulator from Subsection ??. We first construct a state estimator for the onelink manipulator model in the observer form given by (1.80) and (1.81). Suppose that we wish the eigenvalues of the state estimator matrix, A − lc, to be located at {−9, −10, −11}. Then, the estimator gain vector is l = [ 990 299 30 ]^{⊤}. With the above choice of the state estimator design parameters, its dynamics in the new coordinates become

˙ ; z̃ = [ \begin{matrix}0 & 0 & −990 \\ 1 & 0 & −299 \\ 0 & 1 & −30 \end{matrix} ] z̃ + [ \begin{matrix}990 \\ 299 \\ 30 \end{matrix} ] y + [ \begin{matrix}98 sin(y) + 10u \\ 9.8 sin(y) − 10y \\ −10y \end{matrix} ]  (1.83)
y = [ 0 0 1 ] z = z_{3}.  (1.84)

Using transformations (1.78) and (1.79), we represent the state estimator dynamics in the original coordinates,

˙ ; x̃ = [ \begin{matrix}−20 & 1 & 0 \\ −89 & 0 & 1 \\ 100 & −10 & −10 \end{matrix} ] x̃ + [ \begin{matrix}30 \\ −1 \\ 700 \end{matrix} ] y + [ \begin{matrix}−10y \\ 9.8 sin(y) + 90y \\ −800y + 10u \end{matrix} ]  (1.85)
y = [ 1 0 0 ] x = x_{1}.  (1.86)

Performing simple manipulations, we represent the above state estimator as:

˙ ; x̃ = [ \begin{matrix}0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & −10 & −10 \end{matrix} ] x̃ + [ \begin{matrix}0 \\ 9.8 sin(y) \\ 0 \end{matrix} ] − [ \begin{matrix}20 \\ 89 \\ −100 \end{matrix} ] (ỹ − y) + [ \begin{matrix}0 \\ 0 \\ 10 \end{matrix} ] u (1.87)
y = [ 1 0 0 ] x = x_{1}  (1.88)
ỹ = [ 1 0 0 ] x̃ = x̃_{1}  (1.89)

1.8 Combined Controller-Estimator Compensator

Having constructed a state estimator, we use the state estimates, rather than the states themselves, in the state-feedback control law implementation. The question now is how the incorporation of the state estimator affects the stability of the closed-loop system with the combined estimator-controller compensator in the loop. Recall that in the case of linear systems, we were able to show that the closed-loop system was asymptotically stable. In the present case, one has to be careful when analyzing the stability of the closed-loop system with the combined estimator-controller compensator in the loop. The plant’s nonlinearities may cause difficulties in stabilizing the closed-loop system using the combined controllerestimator compensator. However, for certain “nice” nonlinearities, for example the ones for which the Lipschitz condition is satisfied, one should be able to find stability conditions in terms of the nonlinearity’s Lipschitz constant and the location of the estimator’s poles rather easily.

We now illustrate the implementation of the combined estimator-controller compensator on the one-link manipulator model. In this example, the controller is

u = −7x̃_{1} − 4.15x̃_{2} − 0.25x̃_{3} − 0.98x̃_{2} cos(x̃_{1}) − 12.25 sin(x̃_{1}).  (1.90)

In Figure 1.2, plots of the one-link manipulator output for three different initial conditions are shown. The manipulator is driven by the combined controller-estimator compensator consisting of the state estimator (1.87), (1.88), and (1.89) and the control law (1.90). The initial conditions of the estimator were set to zero while the initial conditions of the plant were the same as when we implemented the state-feedback control alone. Comparing plots of Figures 1.1 and 1.2, we can see that the presence of the estimator alters the system output in a noticeable way.

1.9 Notes

Friedland [3, page 123] has the following remarks to offer on the method of feedback linearization: “The idea underlying feedback linearization is fairly obvious. The method probably was used for many years in practical control system design without anyone having reported it. Concurrently, a number of mathematical investigations on the use of differential geometry in dynamical systems were conducted without much notice by control system designers.”

Our exposition of feedback linearization is based on the papers of Sommer [10] and Żak and MacCarley [13]. The research in applying differential geometric methods to the control Figure 1.2: Plots of the one-link manipulator’s link angle, x_{1} = θ, versus time for three different initial angles θ(0). The manipulator is driven by the combined controller-estimator compensator.

design intensified after the papers by Su [11], and by Hunt, Su, and Meyer [4] appeared. Bakker and Nijmeijer [1] showed the equivalence of the Sommer’s approach and that of Hunt, Su, and Meyer. Our treatment of the subject of state estimation follows the approach of Bestle and Zeitz [2], which in turn was presented, using the differential geometry notation, in the paper by Walcott, Corless, and Żak [12]. Zeitz [14] offers a generalization of the method proposed by Walcott et al. [12]. For further study of differential geometric techniques in nonlinear feedback design, we recommend books by Isidori [5], and Marino and Tomei [8].

1.10 Exercises

Exercise 1.1 Verify the Leibniz formula (1.7).

Exercise 1.2 Consider the one-link robot manipulator of Example ?? whose model is given by (??) and (??). Treat this model as a simulation model. In order to obtain a design model, eliminate the armature inductance from the design model. In other words, neglect high-frequency parasitics represented by L_{a} in the simulation model. For this set L_{a} = 0, compute x_{3} from the equation obtained by setting L_{a} = 0 and substitute the result into the second of the state equations. The result will be a second-order design model. Represent the design model in the form

ẋ = Ax + b(u + ξ),

where ξ = 9.8 sin(x_{1}) represents the model nonlinearity. Use the design model to construct:

(a) the sliding surface, σ = sx = 0, so that the design model restricted to this surface will have a pole at -3;

(b) construct a control law of the form

u = −k_{1}x_{1}sign(x_{1}σ) − k_{2}x_{2}sign(x_{2}σ)

so that σσ̇ < 0 for all x ∈ ℝ^{2} for which σ(x) ≠ 0. While constructing the controller u use the fact that

−1 ≤ \frac{sin(x_{1})}{x_{1}} ≤ 1.

(c) Apply the above control law to the simulation model in which L_{a} = 10 mH. Plot x_{1}, x_{2} and x_{3} versus time and compare these plots with the plots of x_{1} and x_{2} versus time when the above controller was applied to the design model. Investigate a destabilizing effect of increasing L_{a} on the behavior of the closed-loop system composed of the simulation model and the control law from part (b).

Exercise 1.3 Let S be an open set in ℝ^{n} and let f : S → ℝ^{n}, where

f(x) = [ f_{1}(x) f_{2}(x) ⋯ f_{n}(x) ]^{⊤} .

Recall that if all partial derivatives of all functions f_{i} exist and are continuous in S, then we say that f is a C^{1} function, map, in S. We say that f is a C^{p} function, map, in S if each component f_{i} is continuous and has continuous partial derivatives in S for all k = 1, 2, …, p.

Let f : ℝ^{n} → ℝ^{n} be a C^{p}-map, p > 0, on an open subset S of ℝ^{n}, and let a be a point of S. We say that f is locally C^{p}-invertible at a if there is an open set U ⊂ S containing a and an open set V containing f(a) such that f : U → V has a C^{p} inverse h : V → U so that for all x ∈ U,

h(f(x)) = x.

Figure 1.3 illustrates the sets U and V for one variable case. The Jacobian matrix of f : ℝ^{n} → ℝ^{n}, denoted J(x), is defined as

J(x) = Df(x) = [ ∇f_{1}(x)^{⊤} ; ∇f_{2}(x)^{⊤} ; ⋮ ; ∇f_{n}(x)^{⊤} ] = [ Df_{1}(x) ; Df_{2}(x) ; ⋮ ; Df_{n}(x) ] .

Figure 1.3: An illustration of the sets U and V that appear in the inverse function theorem.

Prove the inverse function theorem for maps: Theorem 1.2 Let f : ℝ^{n} → ℝ^{n} be a C^{p}-map, p > 0, on an open subset S of ℝ^{n}, and let a be a point of S such that the Jacobian matrix J(a) is invertible, and b = f (a). Then, there exist open sets U and V in ℝ^{n} such that a ∈ U, b ∈ V, f is one-to-one on U, f(U) = V, and f is locally C^{p}-invertible at a.

Exercise 1.4 For the dynamical system model

[ ẋ_{1} ; ẋ_{2} ] = [ \begin{matrix}x_{1}x_{2} + x_{2} \\ x_{1} + x_{2} \end{matrix} ] + [ \begin{matrix}1 \\ 0 \end{matrix} ] u,

(i) Construct a smooth state-space transformation, z = T (x), that transforms the system into the controller form;

(ii) Transform the system into the controller form;

(iii) In the z-coordinates, design a linearizing state-feedback controller so that the linear closed-loop system has poles at −2 ± 2j;

(iv) Represent the control law in the x-coordinates.

Exercise 1.5 Consider the following model of a dynamical system:

[ ẋ_{1} ; ẋ_{2} ] = [ \begin{matrix}x_{1}^{2} + x_{2} \\ x_{1}^{3} + x_{2} \end{matrix} ] + [ \begin{matrix}0 \\ 1 \end{matrix} ] u.

(i) Transform the system into the controller form;

(ii) Design the linearizing state-feedback controller such that the closed-loop system in the new coordinates has its poles at −1 and −2;

(iii) Linearize the closed-loop system about x = 0 and find the poles of the linearized model;

(iv) Perform numerical simulations of the dynamical behavior of the closed-loop system for a few initial conditions. Plot x_{1} versus time as well as x_{2} versus time.

Exercise 1.6 Consider the following model of a dynamical system,

ẋ = [ \begin{matrix}x_{2} + 2x_{2}^{2} \\ 2x_{2} \end{matrix} ] + [ \begin{matrix}x_{2} \\ 1 \end{matrix} ] u.

(i) Construct a smooth state-space transformation z = T (x) that transforms the system into the controller form, then transform the system into the controller form;

(ii) In the z-coordinates, design a linearizing state-feedback controller so that the linear closed-loop system has poles at −2 ± 2j, then represent the control law in the xcoordinates;

(iii) Perform numerical simulations of the dynamical behavior of the closed-loop system for a few initial conditions. Plot x_{1} versus time as well as x_{2} versus time.

Exercise 1.7 Consider a dynamical system modeled by the equations,

[ ẋ_{1} ; ẋ_{2} ] = [ \begin{matrix}−x_{1} \\ x_{1} − x_{2} − x_{2}^{3} \end{matrix} ] + [ \begin{matrix}1 \\ 0 \end{matrix} ] u,
y = x_{2}.

(i) Find a smooth state-space transformation z = T (x) that brings the above system model into the controller form;

(ii) Find the system’s equations in the new coordinates;

(iii) Find a smooth state-space transformation x = T (z) that brings the above system model into the observer form;

(iv) Find the system’s observer form.

Exercise 1.8 Consider a dynamical system modeled by the following equations:

[ ẋ_{1} ; ẋ_{2} ] = [ \begin{matrix}x_{1}^{2} + x_{2} \\ x_{1}^{3} + x_{2} \end{matrix} ] + [ \begin{matrix}0 \\ 1 \end{matrix} ] u
y = [ 1 0 ] [ \begin{matrix}x_{1} \\ x_{2} \end{matrix} ] .

Note that this is the same plant as in Exercise 1.5 plus the output map.

(i) Transform the above model into the observer form;

(ii) Design a state estimator so that the poles of the linearized error dynamics are located at −3 and −4;

(iii) Use the control law developed in Exercise 1.5 and the state estimator from the previous part of this exercise to construct a combined controller-estimator compensator. Simulate the behavior of the closed-loop system for a few different initial conditions. Note that because the state variables of the state estimator are available to you, you can always set zero initial conditions on the estimator if you wish to do so. Plot the output of the plant versus time.

30 CHAPTER 1. VECTOR FIELD METHODS

Bibliography

[1] G. J. Bakker and H. Nijmeijer. Comments on ‘Control design for multivariable nonlinear time-varying systems’. Int. J. Control, 41(6):1627–1629, 1985.

[2] D. Bestle and M. Zeitz. Canonical form observer design for non-linear time-variable systems. Int. J. Control, 38(2):419–431, 1983.

[3] B. Friedland. Advanced Control System Design. Prentice-Hall, Englewood Cliffs, New Jersey 07632, 1996.

[4] L. R. Hunt, R. Su, and G. Meyer. Global transformations of nonlinear systems. IEEE Transactions on Automatic Control, AC-28(1):24–31, January 1983.

[5] A. Isidori. Nonlinear Control Systems. Springer-Verlag, London, third edition, 1995.

[6] H. K. Khalil. Nonlinear Systems. Prentice Hall, Upper Saddle River, NJ 07458, second edition, 1996.

[7] A. J. Krener and W. Respondek. Nonlinear observers with linearizable error dynamics. SIAM J. Control and Optimization, 23(2):197–216, March 1985.

[8] R. Marino and P. Tomei. Nonlinear Control Design: Geometric, Adaptive and Robust. Prentice Hall Information and System Sciences Series. Prentice Hall Europe, London, 1995.

[9] Reader’s Digest Practical Problem Solver. Substitutes, Shortcuts, and Ingenious Solutions for Making Life Easier. The Reader’s Digest Association, Inc., Pleasantville, New York, 1991.

[10] R. Sommer. Control design for multivariable non-linear time-varying systems. Int. J. Control, 31(5):883–891, 1980.

[11] R. Su. On the linear equivalents of nonlinear systems. Systems & Control Letters, 2(1):48–52, July 1982.

[12] B. L. Walcott, M. J. Corless, and S. H. Żak. Comparative study of non-linear stateobservation techniques. Int. J. Control, 45(6):2109–2132, 1987.

[13] S. H. Żak and C. A. MacCarley. State-feedback control of non-linear systems. Int. J. Control, 43(5):1497–1514, 1986.

[14] M. Zeitz. Comments on ‘Comparative study of non-linear state-observation techniques’. Int. J. Control, 46(5):1861–1863, 1987.