0% found this document useful (0 votes)
75 views

Backstepping Control and Transformation of Multi-Input Multi-Outp

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
75 views

Backstepping Control and Transformation of Multi-Input Multi-Outp

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 164

University of Arkansas, Fayetteville

ScholarWorks@UARK

Theses and Dissertations

8-2019

Backstepping Control and Transformation of Multi-Input Multi-


Output Affine Nonlinear Systems into a Strict Feedback Form
Khalid Salim D. Alharbi
University of Arkansas, Fayetteville

Follow this and additional works at: https://scholarworks.uark.edu/etd

Part of the Controls and Control Theory Commons, and the Power and Energy Commons

Recommended Citation
Alharbi, Khalid Salim D., "Backstepping Control and Transformation of Multi-Input Multi-Output Affine
Nonlinear Systems into a Strict Feedback Form" (2019). Theses and Dissertations. 3372.
https://scholarworks.uark.edu/etd/3372

This Dissertation is brought to you for free and open access by ScholarWorks@UARK. It has been accepted for
inclusion in Theses and Dissertations by an authorized administrator of ScholarWorks@UARK. For more information,
please contact [email protected].
Backstepping Control and Transformation of Multi-Input Multi-Output Affine Nonlinear
Systems into a Strict Feedback Form

A dissertation submitted in partial fulfillment


of the requirements for the degree of
Doctor of Philosophy in Electrical Engineering

by

Khalid Salim D. Alharbi


Jubail Industrial College
Bachelor of Science in Instrumentation and Control Engineering, 2009
University of Dayton
Master of Science in Electrical Engineering, 2012

August 2019
University of Arkansas

This dissertation is approved for recommendation to the Graduate Council

Roy A. McCann, Ph.D.


Dissertation Director:

Jingxian Wu, Ph.D. Yue Zhao, Ph.D.


Committee Member Committee Member

Mark E. Arnold, Ph.D.


Committee Member
ABSTRACT

This dissertation presents an improved method for controlling multi-input multi-


output affine nonlinear systems. A method based on Lie derivatives of the system’s outputs
is proposed to transform the system into an equivalent strict feedback form. This enables
using backstepping control approaches based on Lyapunov stability and integrator backstep-
ping theory to be applied. The geometrical coordinate transformation of multi-input multi-
output affine nonlinear systems into strict feedback form has not been detailed in previous
publications. In this research, a new approach is presented that extends the transformation
process of single-input single-output nonlinear. A general algorithm of the transformation
process is formulated. The research will consider square feedback linearizable multi-input
multi-output systems where the number of inputs equals to the number of outputs. The
preliminary mathematical tools, necessary and sufficient feedback linearizability conditions,
as well as a step-by-step transformation process is explained in this research. The approach
is applied to the Western Electricity Coordinating Council (WECC) 3-machine nonlinear
power system model. Detailed simulation results indicate that the proposed design method
is effective in stabilizing the WECC power system when subjected to large disturbances.
©2019 Khalid Salim D. Alharbi
All Rights Reserved
ACKNOWLEDGMENTS

This research would not have been achieved without the moral support and continuous
motivation of my family, research adviser, advisory committee members, and mentors. I am
grateful to my parents, my wife and my children Leen, Salem, Heyam, Nawaf and Jurie who
have always trusted and encouraged me towards achieving my dreams. I would like to thank
them all for their patience for five years until the moment of writing this dissertation. A
special thanks to my academic adviser Prof. Roy McCann the director of power systems
control laboratory, associate director of the national center for reliable electric power and
professor of the electrical engineering department at University of Arkansas. Prof. McCann
has spared no effort in assisting me and his other students to be on the right track towards
our goals. His door was always open for all of us at any time we ran into any kind of
difficulties. I would also like to thank the members of my esteemed dissertation committee,
Prof. Jingxian Wu, Prof. Yue Zhao, and Prof. Mark E. Arnold for their useful comments
and time reading this dissertation. I also sincerely thank Prof. Raúl Ordóñez professor of
electrical and computer engineering department at University of Dayton who first taught
me nonlinear control design methods. I also thank my employer, Royal Commission for
Jubail and Yanbu-Saudi Arabia for the unprecedented financial support and I do not forget
Saudi Cultural Mission to the United States for administering my scholarship to University
of Arkansas.
DEDICATION

To my parents, my wife and my children Leen, Salem, Heyam, Nawaf and Jurie.
TABLE OF CONTENTS

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Motivation and Contribution of The Dissertation . . . . . . . . . . . . . . . 2
1.3 Dissertation Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Preliminary Mathematical Knowledge . . . . . . . . . . . . . . . . . . . . . . . . . 5


2.1 Gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Jacobian Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Coordinate Transformation of Linear and Nonlinear Systems . . . . . . . . . 6
2.3.1 Transformation of Linear System . . . . . . . . . . . . . . . . . . . . 6
2.3.2 Transformation of Nonlinear System . . . . . . . . . . . . . . . . . . 7
2.4 Derived Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Lie Derivative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6 Lie Brackets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.7 Affine Nonlinear System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.8 Function Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.9 Frobenius Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.10 Relative Degree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.10.1 Relative Degree for SISO Affine Nonlinear Systems . . . . . . . . . . 14
2.10.2 Relative Degree for MIMO Affine Nonlinear Systems . . . . . . . . . 16
2.11 Conditions for Feedback Linearization . . . . . . . . . . . . . . . . . . . . . . 29

3 Common Nonlinear Control Methods . . . . . . . . . . . . . . . . . . . . . . . . . 37


3.1 Input-Output Feedback Linearization for SISO Systems . . . . . . . . . . . . 38
3.2 Input-Output Feedback Linearization for MIMO Systems . . . . . . . . . . . 47
3.3 Input-State Feedback Linearization for SISO Systems . . . . . . . . . . . . . 56
3.4 Input-State Feedback Linearization for MIMO Systems . . . . . . . . . . . . 64

4 Lyapunov Based Control Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69


4.1 Lyapunove Stability Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2 Sontag’s Formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5 Backstepping Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.1 Integrator Backstepping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.2 Backstepping for Systems with a Chain of Integrators . . . . . . . . . . . . . 74
5.2.1 Step:1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.2 Step:2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.3 Step:3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.3 Backstepping for Systems in Strict Feedback Form . . . . . . . . . . . . . . . 83
5.3.1 Step:1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.3.2 Step:2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.3.3 Step:3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.4 Backstepping Control Algorithm for Systems in Strict Feedback Form . . . . 86
5.4.1 Step:1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.4.2 Step:2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.4.3 Step:n-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.4.4 Step:n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

6 Adaptive Backstepping Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90


6.1 Simple Adaptive Regulation Control . . . . . . . . . . . . . . . . . . . . . . 90
6.2 Simple Adaptive Tracking Control . . . . . . . . . . . . . . . . . . . . . . . . 93
6.3 Adaptive Backstepping for Second Order Matched System . . . . . . . . . . 94
6.4 Adaptive Backstepping for Second Order Extended Matching System . . . . 98
6.5 Overestimation Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

7 Transformation of Affine Nonlinear Systems into Strict Feedback Form . . . . . . 107


7.1 Transformation of SISO Nonlinear Systems into Strict Feedback Form . . . . 107
7.2 Transformation into Strict Feedback Form and Backstepping Control of a
Surface Permanent-Magnet Wind Generator with Boost Converter . . . . . . 111
7.3 Transformation of MIMO Nonlinear Systems into Strict Feedback Form . . . 117
7.4 Transformation into Strict Feedback Form and Backstepping Control of West-
ern System Coordinating Council (WECC) 3-Machine system . . . . . . . . 133

8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
LIST OF FIGURES

Figure 2.1: Derived mapping between z space and x space. . . . . . . . . . . . . . . 8


Figure 2.2: Proton exchange membrane fuel cell. . . . . . . . . . . . . . . . . . . . . 23

Figure 3.1: Input state linearization. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Figure 5.1: Block diagram of the affine nonlinear system. . . . . . . . . . . . . . . . 72


Figure 5.2: Introducing virtual control function u1 (z). . . . . . . . . . . . . . . . . . 73
Figure 5.3: Backstepping of the virtual control function u1 (z). . . . . . . . . . . . . 73
Figure 5.4: Nonlinear system with a chain of integrators. . . . . . . . . . . . . . . . 74
Figure 5.5: Simulation results of stabilizing the system (5.34). . . . . . . . . . . . . 82

Figure 6.1: Closed Loop for system (6.13) . . . . . . . . . . . . . . . . . . . . . . . . 92


Figure 6.2: Equivalent block diagram for the system represented in Fig. 6.1 . . . . . 92
Figure 6.3: Block diagram for system (6.42) . . . . . . . . . . . . . . . . . . . . . . . 97
Figure 6.4: Block diagram for system (6.43) . . . . . . . . . . . . . . . . . . . . . . . 97

Figure 7.1: Direct-drive SPMSG based wind energy conversion system with boost
converter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Figure 7.2: States stabilization using backstepping control after transformation into
SFBF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Figure 7.3: Closed-loop block diagram for transformation into strict feedback form
and backstepping control of WECC 3-machine system. . . . . . . . . . . 144
Figure 7.4: WECC 3-machine system states. . . . . . . . . . . . . . . . . . . . . . . 146
Figure 7.5: WECC 3-machine system rotor angular differences. . . . . . . . . . . . . 146
Figure 7.6: WECC 3-machine system rotor angles. . . . . . . . . . . . . . . . . . . . 147
Figure 7.7: WECC 3-machine system rotor angular velocities. . . . . . . . . . . . . . 147
LIST OF TABLES

Table 2.1: PEMFC states legend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24


Table 2.2: PEMFC inputs legend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Table 2.3: PEMFC outputs legend. . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Table 2.4: PEMFC parameters definitions. . . . . . . . . . . . . . . . . . . . . . . . 25

Table 7.1: Wind energy system parameters definitions. . . . . . . . . . . . . . . . . . 124


Table 7.2: Wind energy system states legend. . . . . . . . . . . . . . . . . . . . . . . 125
Table 7.3: Wind energy system inputs legend. . . . . . . . . . . . . . . . . . . . . . 125
Table 7.4: Wind energy system outputs legend. . . . . . . . . . . . . . . . . . . . . . 125
Table 7.5: WECC 3-machine system parameters definition. . . . . . . . . . . . . . . 135
Table 7.6: WECC 3-machine system Parameters values. . . . . . . . . . . . . . . . . 145
1 Introduction

1.1 Overview

It has always been a primary goal for engineers and scholars of control theory to
find the most effective approaches and control methods to provide desired and best stability
properties. However, in some cases, a good and reliable method may exist but for one reason
or another is not suitable for the intended system and vise versa. Therefore, it is sometimes
very helpful to modify the intended system or transform it into an equivalent form that
meets the control method requirements [1]. Feedback linearization control, for instance, has
been considered a successful approach in solving many control problems by transforming
dynamical nonlinear models into athor equivalent canonical forms that are simpler than the
original forms [2–8]. However, it still has some shortcomings and restrictions [9]. Exact
feedback linearization known as input-state feedback linearization is based on the cancella-
tion of system’s nonlinearities regardless of the importance of some of those nonlinearities to
the system stability, that is other than the certain structural property required to perform
such cancellation [10]. Input-output feedback linearization on the other hand accounts in
many cases just to part of the closed-loop dynamics. The other part, which is the internal
dynamics, is considered unobservable and the stability of this internal dynamics is essentially
required for the input-output feedback linearization effectiveness and this is not the case in
many real systems [9]. It is noteworthy to mention that input-state feedback linearization
is simply an exceptional case of input-output feedback linearizable systems when successive
differentiation of output function turns out equal relative degree and system’s order [11].
Furthermore, ordinary proportional-integral control has been widely adopted in controlling
energy conversion systems and although it is applicable and easy to design, it ignores the
transient states of the system and deals with the average steady-state model in the neigh-
borhood of equilibrium points which makes dynamic response relatively slow. Moreover,
it is difficult to tune PI control parameters [12]. Fortunately, the preceding imperfection
of feedback linearization and PI controllers can be avoided and overcome using some other
advanced nonlinear control approaches such as backstepping control method that is based on
the Lyapunov theorem of stability. This is owing to that backstepping concentrates on con-
struction of Lyapunov function whose derivative can be negative by a verity of control laws

1
rather than one specific control law form. Thus, backstepping as a design approach is more
flexible in avoiding the cancellation of useful nonlinearities [13]. Since it was developed in
1990, the backstepping control approach has been used in many control design applications.
In [14] it was used to stabilize nonlinear spacecraft attitude considering the disturbances and
delay due to the actuator based on the delay compensation method [15]. [16] based on [17]
develops a controller for one-dimensional unstable heat equation through solving the kernel
partial differential equation to transform the partial differential system into an exponential
stable target system. A position controller was designed in [18] for an unmanned aerial
vehicle with four rotors using adaptive backstepping and adding integral action as proposed
in [19] in association with a linear PID controller for stabilizing attitude angle. Adaptive and
non-adaptive indirect backstepping controller designs based on making an assumption of the
virtual control functions was developed in [20] to track the output voltage of a dc-dc boost
converter. Making the same assumptions and considering the effect of parasitic elements,
an adaptive backstepping controller was designed in [21] to track the output voltage of a
dc-dc boost converter. In [22], coping with the uncertainty of input voltage, inductance,
capacitance, load resistance, and undesirable overestimation when choosing update laws was
achieved by combining input-output linearization and backstepping methodology to design
a dynamical adaptive controller for PWM power converters. Defining new state variables
was the approach to transform a mismatched nonlinear dynamic system in [23] into strict
feedback form such that the backstepping control method can be applied. In this research,
the coordinate transformation of feedback linearizable systems based on the Lie derivative
of the system outputs is proposed for multi-input multi-output systems. This method is
an extension to the transformation process of single-input single-output systems proposed
in [24].

1.2 Motivation and Contribution of The Dissertation

This research develops a technique and introduces preliminaries, required conditions


and a step-by-step procedure to transform the mathematical model of MIMO affine non-
linear system into its equivalent strict feedback form such that the backstepping control
method based on Lyapunov stability can be applied. The main motives to have MIMO
affine nonlinear systems in the strict feedback form and using the backstepping control ap-
proach is its ability to accommodate useful nonlinearities and avoid wasteful cancellations,

2
unlike feedback linearization methods both input-output and input-state linearization that
require precise structural property and often cancel useful nonlinearities. For example, to
stabilize z ∗ = 0 for the system given in [25] as

ż = a cos z − bz 3 + cu (1.1)

using feedback linearization, the control law:


1
−a cos z + bz 3 − kz

u= (1.2)
c
will result in the linear feedback system:

ż = −kz (1.3)

which satisfies (5.2) with


V̇ ≤ −W (z) = −kz 2 (1.4)

as will be explained later in chapter five. This is actually illogical control law because in
addition to a cos z it cancels −bz 3 which is helpful for stabilization at z = 0 especially for
large values of z. Moreover, the existence of bz 3 in (1.2) will enlarge the value of u which
is harmful and may result in non-robustness. On the other hand, flexibility in choosing a
control law to make a derivative of Lyapunov function negative helps to avoid such harmful
cancellation. For instance, choosing the control law
1
u= (−a cos z − kz) (1.5)
c
satisfies (5.2) such that
V̇ ≤ −W (z) = − kz 2 + bz 4

(1.6)

and makes u grows linearly with |z|. From this perspective, simplifying the process of
transforming MIMO affine nonlinear systems into the required strict feedback form will add
a very good tool to control engineers’ toolbox.

1.3 Dissertation Outline

This dissertation has seven chapters beyond the introduction (Chapter 1). Chapter 2
discusses briefly the mathematical tools that will be needed for understanding control meth-
ods covered in this dissertation and will also be useful when explaining the transformation

3
process into the strict feedback form. Topics that will be explained are the gradient of a
scalar function, Jacobian matrix, coordinate transformation of linear and nonlinear systems,
derived mapping, Lie derivative and Lie brackets of vector fields, affine nonlinear system,
some function properties, Frobenius theorem, the notion of relative degree and lastly condi-
tions required for a nonlinear system to be exactly feedback linearizable.
Chapter 3 explains the common nonlinear feedback control methods input-state and
input-output feedback linearization where most of the math tools from chapter 2 as well as
Frobenius theorem and feedback linearizability conditions will be applied. These methods are
considered a good beginning to understand systems mapping and transformation. When a
clear output function exists input-output feedback linearization for both single-input single-
output and multi-input multi-output nonlinear systems is discussed. On the other hand,
input-state feedback linearization is presented for both single-input single-output and multi-
input multi-output nonlinear systems when a clear output function may or may not be given.
In chapter 4, the dissertation concentrates on discussing Sontag’s formula and Lya-
punov theorem of stability which is considered one of the widely used methods to prove the
stability of nonlinear systems. However, the interest will be in the part of this theorem where
the behavior of mathematically designed function known as Lyapunov function candidate is
studied to examine the stability of closed loop systems.
Chapter 5 converses about integrator backstepping theorem and presents a detailed
systematic procedure to produce stabilizing controllers for nonlinear systems with a chain of
integrators and also for systems in the strict feedback form.
Chapter 6 introduces a simple example to clarify the difference between static and
dynamic control design methods and also explains both simple adaptive regulation and sim-
ple adaptive tracking controllers designs. Moreover, it introduces adaptive backstepping for
second-order matched systems when the control input is in the same equation as the un-
known parameter and then extended matching systems when the unknown parameter is one
integrator before the control input. The disadvantage of increasing the number of parameter
estimates due to overestimation in previous approaches is solved in the last section through
mathematically overestimation reduction.
In chapter 7, the dissertation explains step by step procedure on how to transform
single-input single-output and multi-input multi-output affine nonlinear systems into equiv-
alent strict feedback form. The conclusion summarizes the research results and overall work
of this dissertation and also addresses a few suggestions for future work.

4
2 Preliminary Mathematical Knowledge

The purpose of this chapter is to explain briefly the math tools and theorems that
will frequently be used for understanding the common nonlinear methods covered in this dis-
sertation and will also be very useful when using backstepping approach and transformation
into the strict feedback form. The topics that will be explained are the gradient of a scalar
function, Jacobian matrix, the coordinate transformation of linear and nonlinear systems,
derived mapping, Lie derivative and Lie brackets of vector fields, affine nonlinear system,
some function properties, Frobenius theorem, the notion of relative degree and in the last
section of this chapter conditions required to feedback linearize nonlinear systems.

2.1 Gradient

Consider a smooth scalar function h of the state z:

h (z) (2.1)

The gradient of h is denoted by:


∂h
∇h = (2.2)
∂z
and represented by a group of elements in a row vector [26].
h i
∇h (z) = ∂h ∂h ∂h ∂h (2.3)
∂z1 ∂z2 ∂z3
... ∂zn

Example 2.1

The gradient of the function given by:

h (z) = z12 + z1 z2 + z3 (2.4)

is obtained as:
h i
∇h (z) = ∂h ∂h ∂h
∂z1 ∂z2 ∂z3

(2.5)
h i
= 2z1 + z2 z1 1 M

5
2.2 Jacobian Matrix

Consider a vector field:  


f1 (z)
 
 f (z) 
 2
f (z) =  . (2.6)

 ..


 
fn (z)
The Jacobian matrix of f (z) is designated by:
∂f
∇h = (2.7)
∂z
and represented by a matrix of n × n dimension as follows [27]:
 
∂f1 ∂f1 ∂f1
. . .
 ∂z1 ∂z2 ∂zn

 ∂f2 ∂f2 . . . ∂f2 
∇f (z) =  ∂z. 1 ∂z. 2 . ∂zn 
(2.8)

 .. .. . . ... 

 
∂fn ∂fn ∂fn
∂z1 ∂z2
. . . ∂zn

Example 2.2

The Jacobian matrix of the vector field given by:


   
f1 (z) −az1 + k1
   
f (z) = 
 f2 (z)  =  −bz2 + k2 − cz1 z3
  
 (2.9)
f3 (z) αz1 z2

is obtained as:
   
∂f1 ∂f1 ∂f1
∂z1 ∂z2 ∂z3
−a 0 0
 ∂f2 ∂f2 ∂f2
  
∇f (z) = 
 ∂z1 ∂z2 ∂z3
 =  −cz3 −b −cz1  M
   (2.10)
∂f3 ∂f3 ∂f3
∂z1 ∂z2 ∂z3
αz2 αz1 0

2.3 Coordinate Transformation of Linear and Nonlinear Systems

2.3.1 Transformation of Linear System

Given a linear system of the following general form in z coordinates

ż = Az + Bu
(2.11)
y = Cz + Du

6
where z ∈ Rn , u ∈ Rr , and y ∈ Rm are state vector, control input and output vector
respectively. A, B, C, and D are matrices of corresponding dimensions. Introducing a new
vector x through the transformation
Tz = x (2.12)
where T is a non-singular matrix of n × n dimension such that

T −1 x = z (2.13)

then the system (2.11) can be transformed into the following system of x coordinates [28]
ẋ = T AT −1 x + T Bu
(2.14)
y = CT −1 x + Du

2.3.2 Transformation of Nonlinear System

Given a SISO nonlinear system of the general form


ż = f (z) + g (z) u
(2.15)
y = h (z)
where z ∈ Rn , u ∈ R, y ∈ R are state variable, control input variable, and output variable
respectively. The nonlinear state transformation
 
T (z)
 1 
 T (z) 
 2 
 .
..

x = T (z) = 


 (2.16)
 
 Tn−1 (z) 
 
Tn (z)
can transform the system into an equivalent system of a new state x according to the following
definition and lemma [10].

Definition 2.1 If a transformation x = T (z) is smooth and its inverse z = T −1 (x) exists
and be smooth as well, then it is called a diffeomorphism.

Lemma 2.1 Considering the coordinate transformation (2.16), one can write
dT (z) ∂T dz
ẋ = = (2.17)
dz ∂z dt
Thus, systems of the form (2.15) can be re-written as
∂T (z)  ∂T (z)
f z = T −1 (x) + g z = T −1 (x) u

ẋ =
∂z ∂z (2.18)
y = h z = T −1 (x)


7
2.4 Derived Mapping

Due to the importance of nonlinear system coordinate transformation in this research,


it would be very helpful to acquaint the reader with the term derived mapping and the
concept of vector field transformation as explained in [29] in following definition.

Definition 2.2 Given a diffeomorphism


 
T1 (z)
 
 T (z) 
 2
x = T (z) =  (2.19)

.. 

 . 

Tn (z)

from z ∈ Rn to x ∈ Rn and a vector field in z space as


 
f1 (z)
 
 f (z) 
 2
f (z) =  .  (2.20)

 .. 
 
fn (z)

then transformation of f (z) from z space to x space denoted by T. (f ) is called derived


mapping and defined as.
∂T (z)
f z = T −1 (x)

T. (f (z)) = (2.21)
∂z
∂T (z)
where ∂z
is non-singular Jacobian matrix at z = z ∗ of T (z). In the same manner

∂T −1 (x)
T −1 . (f (x)) = f (x = T (z)) (2.22)
∂x

𝑇. (𝑓 𝑧 )

𝑧 𝑠𝑝𝑎𝑐𝑒 𝑥 𝑠𝑝𝑎𝑐𝑒

𝑓(𝑧) 𝑓(𝑥)

𝑇 −1 . (𝑓 𝑥 )

Figure 2.1: Derived mapping between z space and x space.

8
Example 2.3

Given the transformation matrix


 
z1 + z2
 
x = T (z) = 
 z2 
 (2.23)
z1 + z3

and the vector field  


1
 
f (z) = 
 −1 
 (2.24)
z1 + z2
From (2.21), the derived mapping of f (z) is obtained as follows
    
1 1 0 1 0
    
T. (f (z)) = 
 0 1 0    −1  = 
   −1 
 (2.25)
1 0 1 z1 + z2 1 + z1 + z2

and from (2.23), one can easily find


 
x1 − x2
z = T −1 (x) = 
 
 x2 
 (2.26)
x3 − x1 + x2

From (2.26), substituting for z1 and z2 in (2.25) yields


 
0
 
T. (f (z)) = 
 −1  = f (x)
 (2.27)
1 + x1

In the same manner, from (2.22)


    
1 −1 0 0 1
T −1 . (f (x)) = 
    
 −1  =  −1  (2.28)
 0 1 0 
   
−1 1 1 1 + x1 x1

From (2.23), substituting for x1 in (2.28) yields


 
1
T −1 . (f (x)) = 
 
 = f (z) M (2.29)
 −1 
z1 + z2

9
2.5 Lie Derivative

In differential geometry, Lie derivative is the directional derivative of a scalar function


h (z) along a vector f (z) and according to [30] it is explained in the following definition:

Definition 2.3 Consider a smooth scalar function h (z) and a smooth vector field f (z).
A new scalar function known as Lie derivative of h (z) with respect to f (z) designated by
Lf h (z) is defined by:

Lf h (z) = ∇h (z) .f (z)


∂h (z) (2.30)
= f (z)
∂z
Accordingly, one can recursively define repeated Lie derivatives as follows:

L0f h (z) = h (z)


∂h (z)
Lf h (z) = f (z)
∂z
∂ (Lf h (z))
L2f h (z) = Lf Lf h (z) = f (z) (2.31)
∂z
..
.
k−1

∂ Lf h (z)
Lkf h (z) = Lf Lfk−1 h (z) =

f (z)
∂z
The example on this part will be postponed to Section 3.1 of input-output feedback lin-
earization for SISO affine nonlinear systems.

2.6 Lie Brackets

Lie bracket is another useful mathematical tool in this research and it was discussed
in [31,32] as differentiating a vector field along another vector field according to the following
definition.

Definition 2.4 Consider the vector fields f (z) and g (z) on Rn . The derivative of g (z)
along f (z) results in another vector field known as Lie bracket of f (z) and g (z) and desig-
nated by [f, g] or commonly as adf g and is defined as:

[f, g] = ∇g (z) f (z) − ∇f (z) g (z) (2.32)

where ∇g (z) and ∇f (z) are Jacobian matrices.

10
Accordingly, one can recursively define repeated Lie brackets as follows:
ad0f g = g
(2.33)
adkf g = f, adfk−1 g , k ≥ 1.
 

Example 2.4

Consider the DC motor system given in [10] as:

ż = f (z) + g (z) u

where:    
−az1 1
   
f (z) = 
 −bz2 + k − cz1 z3

 , g (z) = 
 0 
 (2.34)
θz1 z2 0
The first and second Lie brackets can be calculated as follows:
     
0 0 0 −az1 −a 0 0 1
     
adf g = [f, g] = 
 0 0 0   −bz2 + k − cz1 z3  −  −cz3 −b −cz1   0 
    
0 0 0 θz1 z2 θz2 θz1 0 0

     
0 −a a
     
 0  −  −cz3  =  cz3 
=     
0 θz2 −θz2
(2.35)
     
0 0 0 −az1 −a 0 0 a
     
ad2f g  0 0 c   −bz2 + k − cz1 z3  −  −cz3 −b −cz1   cz3 
= [f, adf g] =      
0 −θ 0 θz1 z2 θz2 θz1 0 −θz2

   
0 −a2
   
= cθz1 z2  −  −acz3 − bcz3 + cθz1 z2 
   
bθz2 − kθ + cθz1 z3 aθz2 + cθz1 z3

 
a2
 
=
 acz3 + bcz3  M
 (2.36)
bθz2 − aθz2 − kθ

11
2.7 Affine Nonlinear System

In nonlinear control theory, most of today’s systems have the general form (2.15) for
SISO systems and the following general form for MIMO systems
         
ż1 f1 (z) g11 (z) g21 (z) gm1 (z)
         
 ż2   f (z)
  2
  g (z)
  12
  g (z)
 22
  g (z)
 m2

= . +  u1 +   u2 + · · · +   um
   
 ..   .. .. .. ..

 .  
 
  . 


 . 


 . 

żn fn (z) g1n (z) g2n (z) gmn (z)
(2.37)
   
y1 h1 (z)
   
 y2   h (z)
  2

=
 
 .. .. 

 .  
  . 

ym hm (z)
whose short form can be written as
m
X
żn = f (z) + gi (z) ui
i=1 (2.38)
yi = hi (z) , i = 1, . . . , m
where z ∈ Rn , u ∈ Rm , and y ∈ Rm are state variables, control inputs, and system out-
puts respectively. Such nonlinear systems with nonlinear state vectors and linear control
input/inputs are called affine nonlinear systems in nonlinear control theories [33, 34].

2.8 Function Properties

One of the important things that readers will frequently encounter in this research is
some functions’ properties explained in a well known nonlinear control textbook by Khalil
[10]. As what so-called Lyapunov function denoted by V (z) will frequently be utilized, then
if:

1. V (0) = 0 and V (z) > 0 with z 6= 0 ⇒ V (z) is Positive definite.

2. −V (z) is positive definite ⇒ V (z) is Negative definite.

3. V (0) = 0 and V (z) ≥ 0 with z 6= 0 ⇒ V (z) is Positive semi-definite.

4. −V (z) is positive semi-definite ⇒ V (z) is Negative semi-definite.

5. V (z) → ∞ as |z| → ∞ ⇒ V (z) is Radially unbounded.

12
2.9 Frobenius Theorem

This theorem is needed when discussing the conditions required for feedback lineariza-
tion of nonlinear systems. It was explained in detail in [35–37]. Consider a function h (z)
and a function qij (z) where i = 1, 2, . . . , m; j = 1, 2, . . . , n and m < n such that:
 
q11 (z) q21 (z) . . . qm1 (z)
 
h i q12 (z) q22 (z) . . . qm2 (z) 

∂h(z) ∂h(z)
. . . ∂h(z) (2.39)
 
∂z1 ∂z2 ∂zn

 .
.. .
.. .
.. .
..


 
q1n (z) q2n (z) . . . qmn (z)

results in the following set of differential equations


∂h (z) ∂h (z) ∂h (z)
q11 (z) + q12 (z) + · · · + q1n (z) = 0
∂z1 ∂z2 ∂zn
∂h (z) ∂h (z) ∂h (z)
q21 (z) + q22 (z) + · · · + q2n (z) = 0
∂z1 ∂z2 ∂zn (2.40)
..
.
∂h (z) ∂h (z) ∂h (z)
qm1 (z) + qm2 (z) + · · · + qmn (z) = 0
∂z1 ∂z2 ∂zn
If the matrix
h i
q1 (z) q2 (z) . . . qm (z) (2.41)

in (2.39) has rank m at point z = z ∗ , then there are n − m scalar functions around z ∗
representing the solutions of (2.40) if and only if the rank of the matrix
h i
q1 (z) q2 (z) . . . qm (z) [qi , qj ] (2.42)

equals m as well for all z around z ∗ where [qi , qj ] is the Lie bracket of any two columns in
(2.41) such that the jacobian matrix
 
∂h1 (z) ∂h1 (z) ∂h1 (z)
∂z1 ∂z2
... ∂zn
 ∂h2 (z) ∂h2 (z) ∂h2 (z)


∂z1 ∂z2
... ∂zn

(2.43)
 
 .. .. .. .. 

 . . . . 

∂hn−m (z) ∂hn−m (z) ∂hn−m (z)
∂z1 ∂z2
... ∂zn

has rank n − m at z = z ∗ . These conditions of Frobenius theorem in terms of conditions of


feedback linearization are known as involutivity of a set of vector fields. The next theorem
summarizes the concept of Frobenius theorem.

13
Theorem 2.1 Given the partial differential equations set
∂h (z) h i
q1 (z) q2 (z) . . . qm (z) =0
∂z n×m

There exist h1 (z) , h2 (z) , . . . , hn−m (z) satisfying the given set of equations and the set of
vectors in the Jacobian matrix
∂h (z)
∇h =
∂z
are linearly independent if and only if the set of vector fields
h i
q1 (z) q2 (z) . . . qm (z)

is involutive. ♦

2.10 Relative Degree

2.10.1 Relative Degree for SISO Affine Nonlinear Systems

Consider the SISO affine nonlinear system given in (2.15) as

ż = f (z) + g (z) u
y = h (z)

It is well known that this system is of a relative degree ρ if one needs to differentiate y = h (z)
ρ times until u the control input appears for the first time and does not vanish for every
z ⊂ D ⊂ Rn .

Example 2.5

Consider the system of order three given by:

ż1 = z22 + 5u
ż2 = z1 + z3
(2.44)
ż3 = −z1 z2 + z1

y = z2

Differentiating y = h (z) in time yields

ẏ = ż2
(2.45)
= z1 + z3

14
Differentiating it one more time results in

ÿ = ż1 + ż3
(2.46)
= z1 − z1 z2 + z22 + 5u

Now, one can see that the control input u showed up in ÿ. Thus, one can say that this
system is of a relative degree ρ = 2 in R3 . M
As explained in Khalil’s [10], if f (z), g (z) and h (z) are smooth enough in the domain
D ⊂ Rn , then the first derivative of the output y = h (z) in terms of Lie derivative is:
∂h
ẏ = [f (z) + g (z) u]
∂z
def
= Lf h (z) + Lg h (z) u

If Lg h (z) = 0, then the first derivative of y will be ẏ = Lf h (z) which is independent of


input u. In the same manner, the second derivative is given by:
∂ (Lf h)
ÿ = [f (z) + g (z) u]
∂z
def 2
= Lf h (z) + Lg Lf h (z) u

∂ (Lf h) ∂ (Lf h)
where L2f h (z) , ∂z
f (z) and Lg Lf h (z) , ∂z
g (z) are Lie derivative of Lf h (z) along
f (z) and Lie derivative of Lf h (z) along g (z) respectively. Again, if Lg Lf h (z) = 0, then the
second derivative of y will be ÿ = L2f h (z) which is also independent of input u. Continuing
like this, if h (z) satisfies:

Lg Li−1
f h (z) = 0, i = 1, . . . , ρ − 1

Lg Lρ−1
f h (z) 6= 0, ∀ z ⊂ D ⊂ Rn

then one can say that the system is of a relative degree ρ and

y (ρ) = Lρf h (z) + Lg Lρ−1


f h (z) u.

That is the input appears for the first time in the ρth derivative of the output. In brief, the
next definition summarizes the relative degree notion for SISO nonlinear systems

Definition 2.5 A SISO affine nonlinear system of the general form (2.15)

ż = f (z) + g (z) u
y = h (z)

15
with smooth enough f (z), g (z), and h (z) in the domain D ⊂ Rn , has a relative degree ρ if
h (z) satisfies:

Lg Li−1
f h (z) = 0, i = 1, . . . , ρ − 1 (2.47a)
Lg Lρ−1
f h (z) 6= 0, ∀ z ⊂ D ⊂ Rn (2.47b)

so that
y (ρ) = Lρf h (z) + Lg Lρ−1
f h (z) u. (2.48)

2.10.2 Relative Degree for MIMO Affine Nonlinear Systems

The analysis used so far for the relative degree of SISO affine nonlinear systems can be
expanded to find the relative degree of MIMO affine nonlinear systems as explained in [29].
Consider MIMO affine nonlinear system given in (2.38) as

żn = f (z) + g1 (z) u1 + g2 (z) u2 + · · · + gm (z) um


y1 = h1
..
.
ym = hm

If f (z), gi (z), and hi (z) are smooth enough in the domain D ⊂ Rn , then:

Considering output function y1 = h1 (z)

1st derivative

(1) ∂h1
y1 = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def
= Lf h1 (z) + Lg1 h1 (z) u1 + Lg2 h1 (z) u2 + . . . + Lgm h1 (z) um

If
Lg1 h1 (z) = Lg2 h1 (z) = . . . = Lgm h1 (z) = 0

then
(1)
y1 = Lf h1 (z)

which is independent of ui . Similarly

16
2nd derivative

(2) ∂ (Lf h1 )
y1 = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def 2
= Lf h1 (z) + Lg1 Lf h1 (z) u1 + Lg2 Lf h1 (z) u2 + . . . + Lgm Lf h1 (z) um

If
Lg1 Lf h1 (z) = Lg2 Lf h1 (z) = . . . = Lgm Lf h1 (z) = 0

then
(2)
y1 = L2f h1 (z)

Continuing like this

(ρ1 − 1)th derivative

∂ Lρf1 −2 h1

(ρ −1)
y1 1 = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def ρ1 −1
= Lf h1 (z) + Lg1 Lρf1 −2 h1 (z) u1 + Lg2 Lρf1 −2 h1 (z) u2 + . . . + Lgm Lρf1 −2 h1 (z) um

If
Lg1 Lρf1 −2 h1 (z) = Lg2 Lρf1 −2 h1 (z) = . . . = Lgm Lρf1 −2 h1 (z) = 0

then
(ρ1 −1)
y1 = Lρf1 −1 h1 (z)

(ρ1)th derivative

ρ1 −1

(ρ ) ∂ Lf h1
y1 1 = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def ρ1
= Lf h1 (z) + Lg1 Lρf1 −1 h1 (z) u1 + Lg2 Lρf1 −1 h1 (z) u2 + . . . + Lgm Lρf1 −1 h1 (z) um

If at least one
Lgi Lρf1 −1 h1 (z) 6= 0, i = 1, 2, . . . , m.

then MIMO affine nonlinear system (2.38) has a sub-relative degree ρ1 corresponding to
output function y1 = h1 (z).

17
Considering output function y2 = h2 (z)

1st derivative

(1) ∂h2
y2 = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def
= Lf h2 (z) + Lg1 h2 (z) u1 + Lg2 h2 (z) u2 + . . . + Lgm h2 (z) um

If
Lg1 h2 (z) = Lg2 h2 (z) = . . . = Lgm h2 (z) = 0

then
(1)
y2 = Lf h2 (z)

which is independent of ui . Similarly

2nd derivative

(2) ∂ (Lf h2 )
y2 = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def 2
= Lf h2 (z) + Lg1 Lf h2 (z) u1 + Lg2 Lf h2 (z) u2 + . . . + Lgm Lf h2 (z) um

If
Lg1 Lf h2 (z) = Lg2 Lf h2 (z) = . . . = Lgm Lf h2 (z) = 0

then
(2)
y2 = L2f h2 (z)

Continuing like this

(ρ2 − 1)th derivative

∂ Lρf2 −2 h2

(ρ −1)
y2 2 = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def ρ2 −1
= Lf h2 (z) + Lg1 Lρf2 −2 h2 (z) u1 + Lg2 Lρf2 −2 h2 (z) u2 + . . . + Lgm Lρf2 −2 h2 (z) um

18
If
Lg1 Lρf2 −2 h2 (z) = Lg2 Lρf2 −2 h2 (z) = . . . = Lgm Lρf2 −2 h2 (z) = 0

then
(ρ2 −1)
y2 = Lρf2 −1 h2 (z)

(ρ2 )th derivative

ρ2 −1

(ρ ) ∂ Lf h2
y2 2 = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def ρ2
= Lf h2 (z) + Lg1 Lρf2 −1 h2 (z) u1 + Lg2 Lρf2 −1 h2 (z) u2 + . . . + Lgm Lρf2 −1 h2 (z) um

If at least one
Lgi Lρf2 −1 h2 (z) 6= 0, i = 1, 2, . . . , m.

then MIMO affine nonlinear system (2.38) has a sub-relative degree ρ2 corresponding to
output function y2 = h2 (z). Continuing like this

Considering output function ym−1 = hm−1 (z)

1st derivative

(1) ∂hm−1
ym−1 = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def
= Lf hm−1 (z) + Lg1 hm−1 (z) u1 + Lg2 hm−1 (z) u2 + . . . + Lgm hm−1 (z) um

If
Lg1 hm−1 (z) = Lg2 hm−1 (z) = . . . = Lgm hm−1 (z) = 0

then
(1)
ym−1 = Lf hm−1 (z)

which is independent of ui . Similarly

19
2nd derivative

(2) ∂ (Lf hm−1 )


ym−1 = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def 2
= Lf hm−1 (z) + Lg1 Lf hm−1 (z) u1 + Lg2 Lf hm−1 (z) u2 + . . . + Lgm Lf hm−1 (z) um
If
Lg1 Lf hm−1 (z) = Lg2 Lf hm−1 (z) = . . . = Lgm Lf hm−1 (z) = 0
then
(2)
ym−1 = L2f hm−1 (z)
Continuing like this

th
(ρm−1 − 1) derivative

 
ρ −2
∂ Lfm−1 hm−1

m−1 −1)
ym−1 = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def ρm−1 −1 ρ −2 ρ −2
= Lf hm−1 (z) + Lg1 Lfm−1 hm−1 (z) u1 + Lg2 Lfm−1 hm−1 (z) u2 + . . . +
ρ −2
Lgm Lfm−1 hm−1 (z) um
If
ρ −2 ρ −2 ρ −2
Lg1 Lfm−1 hm−1 (z) = Lg2 Lfm−1 hm−1 (z) = . . . = Lgm Lfm−1 hm−1 (z) = 0
then

m−1 −1) ρ −1
ym−1 = Lfm−1 hm−1 (z)

(ρm−1 )th derivative

 
ρ −1
∂ Lfm−1 hm−1

m−1 )
ym−1 = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def ρ ρ −1 ρ −1
= Lfm−1 hm−1 (z) + Lg1 Lfm−1 hm−1 (z) u1 + Lg2 Lfm−1 hm−1 (z) u2 + . . . +
ρ −1
Lgm Lfm−1 hm−1 (z) um
If at least one
ρ −1
Lgi Lfm−1 hm−1 (z) 6= 0, i = 1, 2, . . . , m.
then MIMO affine nonlinear system (2.38) has a sub-relative degree ρm−1 corresponding to
output function ym−1 = hm−1 (z).

20
Considering output function ym = hm (z)

1st derivative

(1) ∂hm
ym = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def
= Lf hm (z) + Lg1 hm (z) u1 + Lg2 hm (z) u2 + . . . + Lgm hm (z) um

If
Lg1 hm (z) = Lg2 hm (z) = . . . = Lgm hm (z) = 0

then
(1)
ym = Lf hm (z)

which is independent of ui . Similarly

2nd derivative

(2) ∂ (Lf hm )
ym = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def 2
= Lf hm (z) + Lg1 Lf hm (z) u1 + Lg2 Lf hm (z) u2 + . . . + Lgm Lf hm (z) um

If
Lg1 Lf hm (z) = Lg2 Lf hm (z) = . . . = Lgm Lf hm (z) = 0

then
(2)
ym = L2f hm (z)

Continuing like this

(ρm − 1)th derivative

∂ Lρfm −2 hm

(ρm −1)
ym = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def ρm −1
= Lf hm (z) + Lg1 Lρfm −2 hm (z) u1 + Lg2 Lρfm −2 hm (z) u2 + . . . +
Lgm Lρfm −2 hm (z) um

21
If
Lg1 Lρfm −2 hm (z) = Lg2 Lρfm −2 hm (z) = . . . = Lgm Lρfm −2 hm (z) = 0
then
(ρm −1)
ym = Lρfm −1 hm (z)

(ρm)th derivative

ρm −1

(ρm )
∂ Lf hm
ym = [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
def ρm
= Lf hm (z) + Lg1 Lρfm −1 hm (z) u1 + Lg2 Lρfm −1 hm (z) u2 + . . . +
Lgm Lρfm −1 hm (z) um
If at least one
Lgi Lρfm −1 hm (z) 6= 0, i = 1, 2, . . . , m.
then MIMO affine nonlinear system (2.38) has a sub-relative degree ρm corresponding to
output function ym = hm (z) and hence if the matrix
 
Lg1 Lρf1 −1 h1 (z) Lg2 Lρf1 −1 h1 (z) . . . Lgm Lρf1 −1 h1 (z)
 
 L Lρ2 −1 h (z) L Lρ2 −1 h (z) . . . L Lρ2 −1 h (z) 
 g1 f 2 g2 f 2 gm f 2 

 .
.. .
.. .
.. .
..


 
Lg1 Lρfm −1 hm (z) Lg2 Lρfm −1 hm (z) . . . Lgm Lρfm −1 hm (z)
is non-singular at z = z ∗ , then MIMO affine nonlinear system of the form (2.38) is of a vector
relative degree
ρ = {ρ1 , ρ2 , ρ3 , . . . , ρm }
The following definition summarizes the relative degree notion for MIMO affine nonlinear
systems.

Definition 2.6 A MIMO affine nonlinear system of the general form (2.38)

żn = f (z) + g1 (z) u1 + g2 (z) u2 + · · · + gm (z) um


yi = hi (z) , i = 1, . . . , m
with smooth enough f (z), gi (z), and hi (z) in the domain D ⊂ Rn , has a vector relative
degree
ρ = {ρ1 , ρ2 , ρ3 , . . . , ρm } (2.49)
if the following conditions are true for every output function yi = hi (z).

22
1.

Lg1 Lkf hi (z) = Lg2 Lkf hi (z) = . . . = Lgm Lkf hi (z) = 0, k = 0, 1, . . . , ρi − 2. (2.50)

2. At least one element is not zero in the row vector


h i
Lg1 Lfρi −1 hi (z) Lg2 Lρfi −1 hi (z) . . . Lgm Lρfi −1 hi (z) (2.51)

so that m
(ρi )
X
yi = Lρfi hi (z) + Lgj Lρfi −1 hi (z) uj (2.52)
j=1
and for the given MIMO system

3. The following matrix is non-singular in the neighborhood of z = z ∗


 
Lg1 Lρf1 −1 h1 (z) Lg2 Lρf1 −1 h1 (z) . . . Lgm Lρf1 −1 h1 (z)
 
 L Lρ2 −1 h (z) L Lρ2 −1 h (z) . . . L Lρ2 −1 h (z) 
 g1 f 2 g2 f 2 gm f 2
(2.53)


 .
.. .
.. .
.. .
..


 
Lg1 Lρfm −1 hm (z) Lg2 Lρfm −1 hm (z) . . . Lgm Lρfm −1 hm (z)

Example 2.6

In this example, obtaining a MIMO system’s relative degree will be shown by considering
the mathematical model for the proton exchange membrane fuel cell discussed in [38]. The
multi-input single-output dynamic model was first derived and then using the extended
system approach discussed in [9] and [39] to introduce extra states and outputs, the model
was converted into what so-called square MIMO system where the number of control inputs
equals the number of system outputs.

Electrical current

𝒆− 𝒆−

𝒆− 𝒆−
Fuel Air
inlet inlet
𝑯𝟐 𝒆− 𝒆−
𝑯+ 𝑶𝟐
Electrolyte

Cathode
Anode

𝑯𝟐 𝑶
Excess fuel Excess air
outlet and water
outlet

Figure 2.2: Proton exchange membrane fuel cell.

23
         
UA R◦ T R◦ T
ẋ1 x
Va 1 Va
0 2F Va
         
 ẋ  UA  R◦ T R◦ T
 2 
 x
Vc 2
  0    
 = − +  u1 +  Vc  u2 −  4F Vc
 u3 (2.54a)
       

 ẋ3  0   0 
    1   0 
      
ẋ4 0 0 0 1
     
y1 h1 (x) VF C
     
 y2  =  h2 (x)  =  x3  (2.54b)
     
y3 h3 (x) x4

The output voltage for a single PEMFC is


 
∆G ∆S R◦ T 1
y1 = h1 (x) = VF C = + (T − T◦ ) + ln x1 + ln x2
2F 2F 2F 2
(   
x1
+ − 0.948 + 286 × 10−5 + 20 × 10−5 ln A + 4.3 × 10−5 ln
  
T
1.09 × 106 × e(77/T )
  )  
−5
 x 2 −4
 J
+ 7.6 × 10 T ln + −1.93 × 10 T ln u3 − (RM + RC ) u3 + b ln 1 −
5.08 × 106 × e(−408/T ) Jmax
(2.55)
Tables 2.1 - 2.4 present the definition for each of the symbols and parameters used in (2.54)
and (2.55)

Table 2.1: PEMFC states legend.

State Parameter

x1 PH 2
x2 PO2
x3 y2
x4 y3

Table 2.2: PEMFC inputs legend.

Input Parameter

u1 vH2(in)
u2 vO2(in)
u3 i

24
Table 2.3: PEMFC outputs legend.

Output Parameter

y1 VF C
y2 x3
y3 x4

Table 2.4: PEMFC parameters definitions.

Parameter Definition

PH2 ,PO2 Partial pressure of hydrogen and oxygen respectively


vH2(in) , vO2(in) Inlet mole flow rate of hydrogen and oxygen respectively
i Cell’s operating current (A)
Va , Vc Anode and cathode volumes respectively
U Fuel rate
A Flow area
∆G Gibb’s free energy change (J/mol)
F Faraday’s constant (96, 487 C/mol)
∆S Standard mole entropy change (J/mol)
T Cell’s operating temperature (T )
T◦ Cell’s reference temperature (T )
RM Proton exchange membrane equivalent resistance
RC The equivalent resistance of external circuit and it is assumed to be constant
R◦ Gas constant (8.315 J/mol.k)
b A variable coefficient subject to cell’s operating conditions (V )
J Current density of the cell(A/cm2 )
Jmax Maximum current density (500 − 1500 mA/cm2 )

Considering output function y1 = h1 (x) = VF C

1st derivative

(1) ∂h1
y1 = [f (x) + g1 (x) u1 + g2 (x) u2 + g3 (x) u3 ]
∂x
def
= Lf h1 (x) + Lg1 h1 (x) u1 + Lg2 h1 (x) u2 + Lg3 h1 (z) u3

25
This yields
 
− UVA
a
x1
 
UA
h
(4.3×10−5 )T (7.6×10−5 )T
i − Vc x2 
Lf h1 (x) = R◦ T R◦ T  
2F x1
+ x1 4F x2
+ x2
0 0  

 0 

0
   
R◦ T UA R◦ T UA
+ 4.3 × 10−5 T + 7.6 × 10−5 T
 
=− −
2F Va 4F Vc
 
R◦ T
  Va
h i 0 
Lg1 h1 (x) u1 = R◦ T (4.3×10−5 )T R◦ T (7.6×10−5 )T 
u

2F x1
+ x1 4F x2
+ x2
0 0 
 0  1
 
0
 
R◦ T R◦ T
+ 4.3 × 10−5 T

= u1
2F Va x1
 
0
 
h i  R◦ T 
Lg2 h1 (x) u2 = R◦ T (4.3×10−5 )T R◦ T (7.6×10−5 )T  Vc 
 u2
2F x1
+ x1 4F x2
+ x2
0 0  1 
 
0
 
R◦ T R◦ T
+ 7.6 × 10−5 T

= u2
4F Vc x2
 
R◦ T
− 2F Va
 
R◦ T
h
(4.3×10−5 )T (7.6×10−5 )T
i − 4F Vc

Lg3 h1 (x) u3 = R◦ T R◦ T 
 u3

2F x1
+ x1 4F x2
+ x2
0 0 

 0 

−1
   
R◦ T R◦ T R◦ T R◦ T
+ 4.3 × 10−5 T + 7.6 × 10−5 T
 
=− − u3
2F 2F Va x1 4F 4F Vc x2
Thus

Lρf1 h1 (x) = Lf h1 (x)


Lg1 Lρf1 −1 h1 (x) u1 = Lg1 L0f h1 (x) u1
Lg2 Lρf1 −1 h1 (x) u2 = Lg2 L0f h1 (x) u2
Lg3 Lρf1 −1 h1 (x) u3 = Lg3 L0f h1 (x) u3

and hence the system (2.54) has sub-relative degree ρ1 = 1 corresponding to y1 = h1 (x) =
VF C . The same way,

26
Considering output function y2 = h2 (x) = x3

1st derivative

(1) ∂h2
y2 = [f (x) + g1 (x) u1 + g2 (x) u2 + g3 (x) u3 ]
∂x
def
= Lf h2 (x) + Lg1 h2 (x) u1 + Lg2 h2 (x) u2 + Lg3 h2 (z) u3

This yields
 
− UVA
a
x1
 
h i  − UA x 
2
Lf h2 (x) = 0 0 1 0  Vc =0
 

 0 

0
 
R◦ T
 Va 
h i 0 
Lg1 h2 (x) u1 = 0 0 1 0   u1 = 0
 
 0 
 
0
 
0
 
h i  R◦ T 
 Vc 
Lg2 h2 (x) u2 = 0 0 1 0   u2 = u2
 1 
 
0
 
R◦ T

 2F Va 
h i − R◦ T 

Lg3 h2 (z) u3 = 0 0 1 0  4F Vc  u3 = 0
 

 0 

−1
Thus
Lρf2 h2 (x) = Lf h2 (x)
Lg1 Lρf2 −1 h2 (x) u1 = Lg1 L0f h2 (x) u1
Lg2 Lρf2 −1 h2 (x) u2 = Lg2 L0f h2 (x) u2
Lg3 Lρf2 −1 h2 (x) u3 = Lg3 L0f h2 (x) u3

and hence the system (2.54) has sub-relative degree ρ2 = 1 corresponding to y2 = h2 (x) = x3 .
Similarly,

27
Considering output function y3 = h3 (x) = x4

1st derivative

(1) ∂h3
y3 = [f (x) + g1 (x) u1 + g2 (x) u2 + g3 (x) u3 ]
∂x
def
= Lf h3 (x) + Lg1 h3 (x) u1 + Lg2 h3 (x) u2 + Lg3 h3 (z) u3
This yields
 
− UVA
a
x1
 
h i  − UA x 
2
Lf h2 (x) = 0 0 0 1  Vc =0
 

 0 

0
 
R◦ T
 Va 
h i 0 
Lg1 h2 (x) u1 = 0 0 0 1   u1 = 0
 
 0 
 
0
 
0
 
h i  R◦ T 
Lg2 h2 (x) u2 = 0 0 0 1  Vc  u2 = u2
 
 1 
 
0
 
R◦ T
− 2F Va 

h i  − R◦ T 
Lg3 h2 (z) u3 = 0 0 0 1  4F Vc  u3 = −u3
 

 0 

−1
Thus
Lρf2 h2 (x) = Lf h2 (x)
Lg1 Lρf3 −1 h3 (x) u1 = Lg1 L0f h3 (x) u1
Lg2 Lρf3 −1 h3 (x) u2 = Lg2 L0f h3 (x) u2
Lg3 Lρf3 −1 h2 (x) u3 = Lg3 L0f h3 (x) u3
and hence the system (2.54) has sub-relative degree ρ3 = 1 corresponding to the output
function y3 = h3 (x) = x4 . Accordingly, the proton exchange membrane fuel cell system is
of a vector relative degree ρ = {ρ1 , ρ2 , ρ3 } = {1, 1, 1}. 4

28
2.11 Conditions for Feedback Linearization

Before discussing the feedback linearization as a common nonlinear control method,


the dissertation reviews the required conditions for nonlinear systems to be exactly feedback
linearizable and shows how they can be tested for those conditions. For SISO affine nonlinear
systems, the necessary conditions were discussed thoroughly in [1], [29], [36] and [40–43].
Consider the SISO affine nonlinear system given in (2.15) without an output as

ż = f (z) + g (z) u

where z ∈ Rn and u ∈ R are respectively system’s states and control input. If there exists
an output function say φ (z) that satisfies

Lg L0f φ (z) = Lg Lf φ (z) = Lg L2f φ (z) = . . . = Lg Ln−2


f φ (z) = 0 (2.56a)
Lg Ln−1
f φ (z) 6= 0 (2.56b)

such that the relative degree of the system equals to its order ρ = n and the Jacobian
 
∂φ(z) ∂φ(z) ∂φ(z)
∂z1 ∂z2
. . . ∂zn
 
 ∂ (Lf φ(z)) ∂ (Lf φ(z)) ∂ (Lf φ(z)) 
∂T (z)  ∂z1 ∂z2
... ∂zn

= . . . .
 (2.57)
∂z 
 .
. .
. . . .
.


∂ (Lfn−1 φ(z)) ∂ (Lfn−1 φ(z)) ∂ (Ln−1 φ(z))
 
f
∂z1 ∂z2
. . . ∂zn

is non-singular at z ∗ , then the given SISO affine nonlinear system with smooth f (z) and
g (z) is exactly feedback linearizable in the neighborhood of z ∗ . This is summarized in [29]
in the following lemma

Lemma 2.2 A SISO affine nonlinear system

ż = f (z) + g (z) u

is exactly feedback linearizable in the neighborhood of z ∗ if there is an output function φ (z)


that results in the system’s relative degree ρ that equals to the system’s order n. ♦

To obtain the output function φ (z), one needs to solve (2.56) but first has to confirm its
existence. Here, the use of Forbenius theorem comes to play. It was previously proved in [43]
that the Lie derivative of φ (z) along the Lie bracket of the two vectors f (z) and g (z) is
defined as
L[f,g] φ (z) = Ladf g φ (z) = Lf Lg φ (z) − Lg Lf φ (z) (2.58)

29
Proof 2.1

∂ Lg(z) φ (z)
Lf (z) Lg(z) φ (z) = f (z)
∂z
and
  
∂ Lg(z) φ (z) ∂ ∂φ (z)
= g (z)
∂z ∂z ∂z
2
 
T ∂ φ (z) ∂φ (z) ∂g (z)
= g (z) +
∂z 2 ∂z ∂z
Thus
∂ 2 φ (z) ∂φ (z) ∂g (z)
Lf (z) Lg(z) φ (z) = g (z)T f (z) + f (z)
∂z 2 ∂z ∂z
Similarly
∂ 2 φ (z) ∂φ (z) ∂f (z)
Lg(z) Lf (z) φ (z) = f (z)T 2
g (z) + g (z)
∂z ∂z ∂z
Hence
 
∂φ (z) ∂g (z) ∂f (z)
Lf (z) Lg(z) φ (z) − Lg(z) Lf (z) φ (z) = f (z) − g (z)
∂z ∂z ∂z
∂φ (z)
= [f, g]
∂z
= L[f,g] φ (z) 
Consequently, according to detailed proof in [29] and [36] the partial differential equation
(2.56) can be re-written as

Lg φ (z) = Ladf g φ (z) = Lad2f g φ (z) = . . . = Ladn−2 g φ (z) = 0 (2.59a)


f

Ladn−1 g φ (z) 6= 0 (2.59b)


f

in which (2.59a) is the partial differential equations set that according to Lie derivative
definition can be written as
∂φ (z) 
g (z) adf g (z) ad2f g (z) . . . adfn−2 g (z) = 0

(2.60)
∂z
From [40], and in comparison with Frobenius theorem discussed in section 2.9, the following
theorem can be deduced.

Theorem 2.2 Given a SISO affine nonlinear system of the form

ż = f (z) + g (z) u

with smooth enough f (z) and g (z), an output function φ (z) that results in the system’s
relative degree ρ = n must exist if and only if

30
1. The vector fields g (z) , adf g (z) , . . . , adfn−1 g (z) are linearly independent, that is the
 

rank of the matrix G (z) = ρ g (z) , adf g (z) , . . . , adfn−1 g (z) = n.


 

2. The set {g (z) , adf g (z) , . . . , adfn−2 g (z)} is involutive. ♦

where:
ad0f g (z) = g (z)
ad1f g (z) = [f, g]
ad2f g (z) = [f, [f, g]] (2.61)
..
.
adif g (z) = f, adfi−1 g (z) , i = 1, 2, . . .
 

stand for the successive Lie brackets of the two vector fields f (z) and g (z). However, testing
involutivity of a set of vector fields {v1 , v2 , . . . , vn } is accomplished by testing whether:

rank (v1 (z) , v2 (z) , . . . , vn (z)) = rank (v1 (z) , v2 (z) , . . . , vn (z) , [vi , vj ] (z)) ∀ z & ∀ i, j.
(2.62)
This means that the new vector field [vi , vj ] (z) is linearly dependent with the other n vector
fields and still in the same span and does not create a new direction [29].

Example 2.7

Considering the nonlinear system given in nonlinear control notes by Prof. Raúl Ordóñez:

ż1 = sin (z1 + z3 ) + |z2 − z32 | + 2u


ż2 = 2z1 z3 + z3 (2.63)
ż3 = z1

such that    
sin (z1 + z3 ) + |z2 − z32 | 2
   
f (z) = 
 2z1 z3 + z3 
 , g (z) = 
 0 

z1 0
To check whether this system is exactly feedback linearizable or not, one needs to apply the
conditions for exact feedback linearizability of nonlinear systems. Starting with finding the
two Lie brackets adf g (z) and ad2f g (z)

∂g (z) ∂f (z)
adf g (z) = f (z) − g (z)
∂z ∂z

31
  
0 0 0 sin (z1 + z3 ) + |z2 − z32 |
  
=
 0 0 0 
 2z 1 z3 + z3


0 0 0 z1
z −z 2 z2 −z32
 
cos z1 cos z3 − sin z1 sin z3 |z22 −z32 | − sin z1 sin z3 + cos z1 cos z3 − |z2 −z32 |
2z3
 3 
−
 2z 3 0 2z1 + 1 

1 0 0
     
2 0 2 cos z1 cos z3 − 2 sin z1 sin z3
     
× 0 = 0 −
     4z 3


0 0 2
 
−2 cos z1 cos z3 + 2 sin z1 sin z3
 
=
 −4z 3


−2

∂ (adf g (z)) ∂f (z)


ad2f g (z) = f (z) − adf g (z)
 ∂z ∂z 
2 sin z1 cos z3 + 2 cos z1 sin z3 0 2 cos z1 sin z3 + 2 sin z1 cos z3
 
=
 0 0 −4 

0 0 0
 
sin (z1 + z3 ) + |z2 − z32 |
 
×
 2z1 z3 + z3


z1
z −z 2 z2 −z32
 
cos z1 cos z3 − sin z1 sin z3 |z22 −z32 | − sin z1 sin z3 + cos z1 cos z3 − |z2 −z32 |
2z3
 3 
−
 2z3 0 2z1 + 1 

1 0 0
 
−2 cos z1 cos z3 + 2 sin z1 sin z3
 
×
 −4z 3


−2
   
α β
   
= −4z 1
 −  (−2 cos z1 cos z3 + 2 sin z1 sin z3 ) 2z3 − 4z1 − 2 
   
0 −2 cos z1 cos z3 + 2 sin z1 sin z3

32
 
α−β
 
=
 (2 cos z1 cos z3 − 2 sin z1 sin z3 ) 2z3 + 2 

2 cos z1 cos z3 − 2 sin z1 sin z3

where

α = 2 sin z1 cos z3 + 2 cos z1 sin z3 sin (z1 + z3 ) + |z2 − z32 | +


 

(2 cos z1 sin z3 + 2 sin z1 cos z3 ) (z1 )


= 2 sin z1 cos z3 sin z1 cos z3 + cos z1 sin z3 + |z2 − z32 | +


2 cos z1 sin z3 sin z1 cos z3 + cos z1 sin z3 + |z2 − z32 | +




2z1 cos z1 sin z3 + 2z1 sin z1 cos z3


= 2 sin2 z1 cos2 z3 + 2 sin z1 cos z1 sin z3 cos z3 + 2 sin z1 cos z3 |z2 − z32 |+
2 sin z1 cos z1 sin z3 cos z3 + 2 cos2 z1 sin2 z3 + 2 cos z1 sin z3 |z2 − z32 |+
2z1 cos z1 sin z3 + 2z1 sin z1 cos z3

β = (cos z1 cos z3 − sin z1 sin z3 ) (−2 cos z1 cos z3 + 2 sin z1 sin z3 ) +


z2 − z32 z2 − z32
   
(−4z3 ) + − sin z1 sin z3 + cos z1 cos z3 − 2z3 (−2)
|z2 − z32 | |z2 − z32 |
= −2 cos2 z1 cos2 z3 + 2 sin z1 cos z1 sin z3 cos z3 + 2 sin z1 cos z1 sin z3 cos z3 −
z2 − z32 z2 − z32
2 sin2 z1 sin2 z3 − 4z3 + 2 sin z1 sin z3 − 2 cos z1 cos z3 + 4z3
|z2 − z32 | |z2 − z32 |
 
Thus, the vector field g (z) , adf g (z) , ad2f g (z) is given by
 
2 −2 cos z1 cos z3 + 2 sin z1 sin z3 α−β
 
 0
 −4z 3 (2 cos z 1 cos z3 − 2 sin z1 sin z3 ) 2z3 + 2 
 (2.64)
0 −2 2 cos z1 cos z3 − 2 sin z1 sin z3

where

α − β = 2 sin2 z1 cos2 z3 + 2 sin z1 cos z3 |z2 − z32 | + 2 cos2 z1 sin2 z3 +


2 cos z1 sin z3 |z2 − z32 | + 2z1 cos z1 sin z3 + 2z1 sin z1 cos z3 +
2 cos2 z1 cos2 z3 + 2 sin2 z1 sin2 z3 − 2 sin z1 sin z3 + 2 cos z1 cos z3

One can easily find that the rank of the matrix (2.64) is 3. Therefore, the first condition for
exact feedback linearization was achieved. Next, testing the system for the second condition

33
where involutivity of the vector set {g (z) , adf g (z)} is investigated through finding the Lie
bracket
∂ (adf g (z)) ∂g (z)
[g (z) , adf g (z)] = g (z) − adf g (z)
 ∂z ∂z  
2 sin z1 cos z3 + 2 cos z1 sin z3 0 2 cos z1 sin z3 + 2 sin z1 cos z3 2
  
=
 0 0 −4  0 
 
0 0 0 0
  
0 0 0 −2 cos z1 cos z3 + 2 sin z1 sin z3
  
−
 0 0 0 
 −4z3 

0 0 0 −2
 
4 sin z1 cos z3 + 4 cos z1 sin z3
 
=
 0 

0

It is clear that the rank of the matrix


h i
g (z) adf g (z) [g (z) , adf g (z)]
 
2 −2 cos z1 cos z3 + 2 sin z1 sin z3 4 sin z1 cos z3 + 4 cos z1 sin z3
 
=
 0 −4z3 0 

0 −2 0

is 2 ∀ z. Therefore, the vector set {g (z) , adf g (z)} is involutive and hence the second
condition was achieved as well. Thus, the system (2.63) is exactly feedback linearizable and
there exists an output φ (z) such that the relative degree of the system is ρ = n = 3. M
Exact feedback linearizability for MIMO affine nonlinear systems was also studied previously
in [36] and [44–48]. Consider the MIMO system of the form given in (2.38) without an output
as m
X
żn = f (z) + gi (z) ui
i=1
n m
where z ∈ R and u ∈ R are respectively states of the system and control inputs. Similar to
what has been done for SISO systems, if there exist m output functions φ1 (z) , φ2 (z) , ..., φm (z)
that satisfy

Lg1 Lkf φi (z) = Lg2 Lkf φi (z) = . . . = Lgm Lkf φi (z) = 0 (2.65)
k = 0, 1, . . . , ρi − 2 ∀ i = 1, 2, . . . , m.

34
and at least one element is not zero in the row vector
h i
ρi −1 ρi −1 ρi −1
Lg1 Lf φi (z) Lg2 Lf φi (z) . . . Lgm Lf φi (z) , i = 1, 2, . . . , m (2.66)

such that the system has a vector relative degree ρ = {ρ1 , ρ2 , . . . , ρm−1 , ρm } in which ρ1 +
ρ2 + . . . + ρm−1 + ρm = ρ = n where n is the system’s order, and the following two matrices
are non-singular at z ∗
 
Lg1 Lρf1 −1 φ1 (z) Lg2 Lρf1 −1 φ1 (z) ... Lgm Lρf1 −1 φ1 (z)
 
 L Lρ2 −1 φ (z) L Lρ2 −1 φ (z) . . . L Lρ2 −1 φ (z) 
 g1 f 2 g2 f 2 gm f 2
. . . .

(2.67)
.. .. .. ..
 
 
 
ρm −1 ρm −1 ρm −1
Lg1 Lf φm (z) Lg2 Lf φm (z) . . . Lgm Lf φm (z)
 
∂φ1 (z) ∂φ1 (z) ∂φ1 (z)
∂z1 ∂z2
... ∂zn
∂ (Lf φ1 (z)) ∂ (Lf φ1 (z)) ∂ (Lf φ1 (z))
 

 ∂z1 ∂z2
... ∂zn


 .. .. .. .. 

 . . . . 

ρ −1 ρ −1 ρ1 −1
∂ (Lf1 φ1 (z)) ∂ (Lf1 φ1 (z)) ∂ (Lf φ1 (z)) 
 

 ∂z1 ∂z2
... ∂zn 
∂T (z)
 .. .. .. .. 
∂z
=
 . . . . 
 (2.68)
∂φm (z) ∂φm (z) ∂φm (z)
 

 ∂z1 ∂z2
... ∂zn


 ∂ (Lf φm (z)) ∂ (Lf φm (z)) ∂ (Lf φm (z)) 

 ∂z1 ∂z2
... ∂zn


 .. .. ... .. 

 . . . 

∂ (Lρfm −1 φm (z)) ∂ (Lρfm −1 φm (z)) ∂ (Lρfm −1 φm (z))
∂z1 ∂z2
... ∂zn
then the given MIMO affine nonlinear system with smooth enough f (z) and gi (z) is exactly
feedback linearizable in the neighborhood of z ∗ . This is summarized in [29] in the following
lemma

Lemma 2.3 Suppose that


 
u1
 
 u 
 2 
h i  .
.

G (z) = g1 (z) g2 (z) . . . gm−1 (z) gm (z) U = .
  (2.69)
n×m

 
 um−1 
 
um
m×1

where G (z) has rank m at z ∗ . Then, the condensed expression of (2.38)

żn = f (z) + G (z) U (2.70)

35
is exactly feedback linearizable around z ∗ if there exist m output functions φ1 (z) , φ2 (z) , . . . , φm (z)
such that (2.70) has a vector relative degree ρ = {ρ1 , ρ2 , . . . , ρm−1 , ρm } in which ρ1 + ρ2 +
. . . + ρm−1 + ρm = ρ = n where n is the order of the system. ♦

In the same way as SISO systems, if one can solve the set of partial differential equations
(2.65), then it might be possible to find the set of output functions φ1 (z) , φ2 (z) , . . . , φm (z)
that guarantee the non-singularity of the matrices (2.67) and (2.68). However, what con-
ditions guarantee the existence of φi in case of MIMO systems. Neglecting the proof, the
dissertation presents those conditions in the next theorem as explained in Isidori’s [36].

Theorem 2.3 If G (z) has rank m at z ∗ , then MIMO affine nonlinear system of the form
(2.70)
żn = f (z) + G (z) U

is exactly feedback linearizable in the neighborhood of z ∗ if and only if for the distribution:

Di = {adkf gj (z) : 0 ≤ k ≤ i, 1 ≤ j ≤ m}, i = 0, 1, . . . , n − 1. (2.71)

1. For each 0 ≤ i ≤ n − 1, Di has a constant dimension in the neighborhood of z ∗

2. Dn−1 has dimension n.

3. For each 0 ≤ i ≤ n − 2, Di is involutive. ♦

Another useful study that provides an algorithm to explicitly compute the transformation
mapping is presented in [49].

36
3 Common Nonlinear Control Methods

In the beginnings of controlling nonlinear systems, it was common to linearize the


desired system around an equilibrium point such that linear control methods can be ap-
plied. This approach was valid as long as the system’s operation is in the neighborhood of
that point. However, it often fails if the system operates in a wider range. An alternative
approach known as gain scheduling was then introduced where the system is linearized at
several operating points and at each one of them a linear controller is designed, then a con-
troller that includes the group of designed linear controllers is implemented [46]. Several
other approaches to control nonlinear systems were suggested afterward. This chapter deals
with nonlinear feedback linearization methods both input-output and input-state feedback
linearization. Most of the math tools including Lie derivative and Lie bracket that a reader
acquainted with in the previous chapter as well as Frobenius theorem and feedback lineariz-
ability conditions will be brought into play in this chapter. These two nonlinear approaches
deal with affine nonlinear system and transform it into an equivalent system of partially or
completely linear dynamics basically through proper state transformation and feedback such
that it is possible to apply linear control methods. Both methods are considered effective in
many control problems although they have some shortcomings and restrictions which can all
revolve around canceling all nonlinearities of a nonlinear system regardless of their positive
or negative impact. The reason to discuss these two methods in this research is that they
are considered very useful to understand systems mapping and transformation. Moreover,
they are presented here to show their weaknesses that made backstepping be a better control
approach. In section 3.1 input-output feedback linearization when output function is well
known will be discussed for single-input single-output nonlinear systems, whereas section 3.2
explains how to extend the concepts to multi-input multi-output nonlinear systems. Section
3.3 assumes clear output function may or may not be given, therefore input-state feedback
linearization for single-input single-output nonlinear systems is presented. Similarly, the
extension to multi-input multi-output nonlinear systems is presented in section 3.4. Also,
this chapter will show the steps to find the coordinate transformation matrices and feedback
control functions at least for SISO systems in both approaches.

37
3.1 Input-Output Feedback Linearization for SISO Systems

When a controller is designed for a certain nonlinear system, states are all assumed
to be measured and available for the design of control law. However, this is not always
the case in practice, and instead, in most cases only the output of the system is available.
Input-output feedback linearization can be used to create a relation between the system’s
input and output and design a feedback control law that cancels the system’s nonlinearities.
To explain this approach, the system given in (2.15) as

ż = f (z) + g (z) u
y = h (z)

will be considered with z ∈ Rn , u ∈ R and y ∈ R. Referring to section 2.10 of relative


degree, it is known that if the system (2.15) is of a relative degree ρ less than n the order
of the system (ρ < n), then (2.47) and (2.48) are true and at this point, one can define a
control law
1
u= ρ−1 [−Lρf h (z) + v], v ∈ Rn (3.1)
Lg Lf h (z)
that input-output linearize system (2.15) such that the input-output mapping turns to a
chain of ρ integrators
yρ = v (3.2)

If this is achievable, then it is possible to coordinate transform the system into its normal
form through the diffeomorphism
   
T (z) h (z)
 1   
 T2 (z) Lf h (z)
   
  
 ..   .. 

 .  
  . 

   
 Tρ−1 (z)

 
  Lρ−2
f h (z)


 
Lρ−1
   
x  Tρ (z)

 
  f h (z)


 
 . . .  = T (z) = 
 ....... = ......... , x ∈ Rρ and q ∈ Rn−ρ (3.3)
  
     
q  T (z)
 ρ+1
 
  Tρ+1 (z) 

   
 Tρ+2 (z)   Tρ+2 (z) 
   
 ..   .. 

 .  
  . 

   
 Tn−1 (z)   Tn−1 (z) 
   
Tn (z) Tn (z)

38
such that, when differentiating the first element in (3.3), one will obtain

dT1 (z) dh (z) ∂h (z) dz


ẋ1 = = = ·
dt dt ∂z dt
∂h (z) (3.4)
= [f (z) + g (z) u]
∂z
= Lf h (z) + Lg h (z) u

If ρ > 1, then from the analysis of a relative degree for SISO systems and definition 2.5 it is
known that
Lg h (z) = 0 (3.5)

Thus, (3.4) will become


ẋ1 = Lf h (z) = x2 (3.6)

Similarly, differentiating the second element in (3.3) yields

dT2 (z) d (Lf h (z)) ∂ (Lf h (z)) dz


ẋ2 = = = ·
dt dt ∂z dt
∂ (Lf h (z)) (3.7)
= [f (z) + g (z) u]
∂z
= L2f h (z) + Lg Lf h (z) u

Likewise, if ρ > 2, then


Lg Lf h (z) = 0 (3.8)

Thus, (3.7) will become


ẋ2 = L2f h (z) = x3 (3.9)

Continuing doing the same for the next ρ − 2 elements in (3.3) results in

ẋ3 = x4
..
.
(3.10)
ẋρ−1 = xρ
ẋρ = Lρf h (z) + Lg Lρ−1
f h (z) u

where according to definition 2.5


Lg Lρ−1
f h (z) 6= 0

Also, the elements Tρ+1 , Tρ+2 , . . . , Tn−1 , Tn can be found such that
∂Tρ+i
g (z) = Lg Tρ+i (z) = 0, i = 1, 2, . . . , n − ρ. (3.11)
∂z

39
Thus, for the last n − ρ in (3.3)
dTρ+1 (z) ∂Tρ+1 (z) dz
q̇ρ+1 = = ·
dt ∂z dt
∂Tρ+1 (z) (3.12)
= [f (z) + g (z) u]
∂z
= Lf Tρ+1 (z) + Lg Tρ+1 (z) u

From (3.11), it is clear that


Lg Tρ+1 (z) = 0

Thus, (3.12) turns out to be


q̇ρ+1 = Lf Tρ+1 (z) (3.13)

Similarly,
dTρ+2 (z) ∂Tρ+2 (z) dz
q̇ρ+2 = = ·
dt ∂z dt
∂Tρ+2 (z) (3.14)
= [f (z) + g (z) u]
∂z
= Lf Tρ+2 (z) + Lg Tρ+2 (z) u

Again, from (3.11) it is known that

Lg Tρ+2 (z) = 0

Thus, (3.14) turns out to be


q̇ρ+2 = Lf Tρ+2 (z) (3.15)

Continuing doing the same for the rest of the elements in (3.3) yields

q̇ρ+3 = Lf Tρ+3 (z)


..
.
(3.16)
q̇n−1 = Lf Tn−1 (z)
q̇n = Lf Tn (z)
From the previous analysis, it is clear that the system is transformed into two parts, known
as external dynamics x and internal dynamics q. It is also clear from (3.6), (3.9) and (3.10)
that xi where i = 1, 2, . . . , ρ−1 are all linear and only xρ is nonlinear. If the system’s internal
dynamics are stable, the system is called a minimum-phase system and the feedback control
law
1  ρ 
u= −Lf h (z) + v (3.17)
Lg Lρ−1
f h (z)

40
that linearizes xρ can stabilize the external input-output dynamics hence the whole system
can be stabilized such that

v = −k1 x1 − k2 x2 . . . − kρ xρ (3.18)

where linear optimal control design with quadratic performance index [50] can be
used to design k1 , k2 , . . . , kρ such that A − Bk is stable. However, if the system’s internal
dynamics are unstable, the system is called a non-minimum-phase system and it would
be useless to input-output feedback linearize it because the system’s internal dynamics are
not observable. From the previous analysis, the transformation of the SISO affine nonlinear
system into its normal form can be summarized in the following theorem as explained in [10]
and [36].

Theorem 3.1 If a SISO affine nonlinear system of the general form (2.15)

ż = f (z) + g (z) u
y = h (z)
is input-output linearizable and has a relative degree ρ < n, then one can choose the diffeo-
morphism
   
T1 (z) h (z)
   
T2 (z) Lf h (z)
   
   
 ..   .. 

 .  
  . 

   

 Tρ−1 (z)  
  Lρ−2
f h (z)


 
Lρ−1
   
x 
 Tρ (z)  
  f h (z)


 
 . . .  = T (z) =  ....... = ......... , x ∈ Rρ and q ∈ Rn−ρ
  
  
   
q 
 Tρ+1 (z)  
  Tρ+1 (z) 

   

 Tρ+2 (z)  
  Tρ+2 (z) 

 ..   .. 

 .  
  . 

   

 Tn−1 (z)  
  Tn−1 (z) 

Tn (z) Tn (z)
(3.19)
where
∂Tρ+i
g (z) = Lg Tρ+i (z) = 0, i = 1, 2, . . . , n − ρ. (3.20)
∂z

41
to put the system in the following normal form.




 ẋ1 = x2


ẋ2 = x3

External dynamics ..



 .


ẋ = Lρ h (T −1 (x, q)) + L Lρ−1 h (T −1 (x, q)) u.
 (3.21)
ρ f g f
n
Internal dynamics q̇ρ+i = Lf Tρ+i (T −1 (x, q)) , i = 1, 2, . . . , n − ρ.
n
Output y = h (T −1 (x, q))

with the feedback control law


1  ρ
−Lf h T −1 (x, q) + v
 
u= (3.22)
Lg Lfρ−1 h (T −1 (x, q))

that can stabilize the external input-output dynamics such that

v = −k1 x1 − k2 x2 . . . − kρ xρ ♦ (3.23)

On the other hand, if the system (2.15) is of a relative degree ρ that equals the order n of
the system (ρ = n), then there will be no internal dynamics and the system is by default
minimum-phase and the transformation matrix according to the proof below will turn
out to be    
T1 (z) h (z)
   
 T (z)   L h (z) 
 2   f 
   
h i  T (z)   L2 h (z) 
 3 f
x = T (z) =  = , x ∈ Rn (3.24)
  
.
.. ..


 
  . 

   n−2 
 Tn−1 (z)   Lf h (z) 
   
Tn (z) Lfn−1 h (z)

Proof 3.1

When the system’s relative degree ρ equals the system’s order n, then the successive deriva-
tive of h (z) the output function of the system is obtained as follows

y = h (z)
y (1) = Lf h (z) + Lg L0f h (z) u

42
y (2) = L2f h (z) + Lg Lf h (z) u
y (3) = L3f h (z) + Lg L2f h (z) u (3.25)
..
.
y (n−1) = Lfn−1 h (z) + Lg Ln−2
f h (z) u
y (n) = Lnf h (z) + Lg Ln−1
f h (z) u

As ρ = n, then in imitation of relative degree analysis for SISO affine nonlinear system and
definition 2.5, one can say that

Lg L0f h (z) = Lg Lf h (z) = Lg L2f h (z) = . . . = Lg Lfn−2 h (z) = 0 (3.26a)


Lg Lfn−1 h (z) 6= 0 (3.26b)

Therefore, (3.25) becomes

y = h (z)
y (1) = Lf h (z)
y (2) = L2f h (z)
y (3) = L3f h (z) (3.27)
..
.
y (n−1) = Ln−1
f h (z)
y (n) = Lnf h (z) + Lg Ln−1
f h (z) u

Let

y = x1
y (1) = x2
y (2) = x3
.. (3.28)
.
y (n−2) = xn−1
y (n−1) = xn

This yields

ẋ1 = y (1) = x2

43
ẋ2 = y (2) = x3
..
. (3.29)
ẋn−1 = y (n−1) = xn
ẋn = y (n)

Finally, (3.25)-(3.29) yields

ẋ1 = x2
ẋ2 = x3
..
.
(3.30)
ẋn−1 = xn
ẋn = Lnf h T −1 (x) + Lg Ln−1 h T −1 (x) u
 
f

y = h T −1 (x) = x1


It is clear now that equations ẋ1 to ẋn−1 are linear and the only nonlinear one is ẋn that can
be linearized by
1  n −1
 
u= −Lf h T (x) + v (3.31)
Lg Ln−1
f h (T −1 (x))
where

v = −k1 x1 − k2 x2 . . . − kn xn (3.32)

from (3.27) and (3.28) can again be written as

v = −k1 h (T −1 (x) − k2 Lf h (T −1 (x) . . . − kn Ln−1 h (T −1 (x)


  
f
(3.33)

Again, linear optimal control design with quadratic performance index [50] can be used to
design k1 , k2 , . . . , kn such that A − Bk is stable. 

Example 3.1

From the system given in example 2.5:


   
z22 5
   
f (z) = 
 z1 + z3  ,
 g (z) = 
 0 
 and y = z2
−z1 z2 + z1 0

44
It was explained earlier that this system is of a relative degree ρ = 2 in R3 and hence to
find a diffeomorphism that coordinate transform the system into its normal form, one would
have external dynamics with x ∈ R2 and internal dynamics with q ∈ R1 such that
   
x1 T1 (z)
   
 x   Tρ (z) 
 2 
 = T (z) = 
 
 
 ..   ....... 
   
q1 Tρ+1 (z)
(3.34)
     
T1 (z) h (z) z2
     
 T (z)   L h (z)   z +z 
 2   f   1 3
= = =


 .....   .......   ...... 
     
T3 (z) T3 (z) T3 (z)

From (3.11), T3 (z) can be obtained as

∂T3
g (z) = 0
∂z  
5
 0  ⇒ 5 × ∂T3 = 0
h i 
⇒ ∂T3 ∂T3 ∂T3
∂z1 ∂z2 ∂z3   ∂z1
0

This means that T3 is independent of z1 , that is to say that T3 = T3 (z2 , z3 ). One can try
T3 = z3 . This yields      
x1 T1 (z) z2
     
 x   T (z)   z +z 
 2   2   1 3
= = (3.35)

 
 ...   .....   ...... 
     
q1 T3 (z) z3
∂T (z)
whose Jacobian matrix ∂z
is easily found non-singular and thus its inverse can by some
algebra be obtained as    
z1 x2 − q 1
   
 z   x 
 2   1
T −1 (x, q) =  = (3.36)


 ...   ...... 
   
z3 q1

45
Therefore, (3.35) according to definition 2.1 is a diffeomorphism. Taking its derivative with
respect to time

ẋ1 = ż2
= z1 + z3
= x2 − q 1 + q 1
= x2
ẋ2 = ż1 + ż3
= z22 + 5u − z1 z2 + z1
= x21 + 5u − (x2 − q1 ) x1 + x2 − q1
q̇1 = ż3
= −z1 z2 + z1
= (−x2 + q1 ) x1 + x2 − q1

That is the system (2.44) in its normal form is



ẋ1 = x2



External dynamics ẋ2 = − (x2 − q1 ) x1 + x2 − q1 + x21 + |{z}
5 u

 | {z }
 Lg Lf h
L2f h

(3.37)
n
Internal dynamics q̇1 = (−x2 + q1 ) x1 + x2 − q1
n
Output y = x1

Looking at the system’s internal dynamics and setting x = 0 to examine the zero dynamics
stability yields

q̇1 = (0 + q1 ) 0 + 0 − q1
= −q1

Thus, q1∗ is exponentially stable and in this case, the following controller can be implemented
1
(x2 − q1 ) x1 − x2 + q1 − x21 − k1 x1 − k2 x2 ,

u= k1 , k2 > 0 (3.38)
5
This results in x1 → 0, x2 → 0 and q1 → 0 and also u is bounded. M

46
3.2 Input-Output Feedback Linearization for MIMO Systems

The idea of input-output feedback linearization for single-input single-output non-


linear systems is extended here to multi-input multi-output systems. The affine nonlinear
system of the general form (2.38) will be considered

żn = f (z) + g1 (z) u1 + g2 (z) u2 + · · · + gm (z) um


y1 = h1
..
.
ym = hm

with z ∈ Rn , u ∈ Rm , and y ∈ Rm . Referring to section 2.10 of relative degree it is known


that if the system (2.38) is of a vector relative degree

ρ = {ρ1 , ρ2 , . . . , ρm−1 , ρm }

such that
ρ1 + ρ2 + . . . + ρm−1 + ρm = ρ

then (2.50), (2.51) and (2.52) are true and at this point, one can write the input-output
equation
      
(ρ1 )
y1 Lρf1 h1 (z) Lg1 Lρf1 −1 h1 (z) Lg2 Lρf1 −1 h1 (z) ... Lgm Lρf1 −1 h1 (z) u1
      
 y (ρ2 )   Lρf2 h2 (z)   L Lρ2 −1 h (z) L Lρ2 −1 h (z) . . . L Lρ2 −1 h (z)  u 
 2     g1 f 2 g2 f 2 gm f 2  2 
 ..  
= ..  
+ .. .. .. ..  .
  ..


 .   .   . . . . 


 (ρm−1 )   ρm−1   ρ m −2 ρ m −2 ρ m −2
 
 ym−1   L
  f hm−1 (z)
  Lg1 L hm (z) Lg2 Lf hm (z) . . . Lgm Lf hm (z)   um−1 
   f  
(ρ ) ρm −1 ρm −1 ρm −1
ym m Lρfm hm (z) Lg1 Lf hm (z) Lg2 Lf hm (z) . . . Lgm Lf hm (z) um
(3.39)
which in a short form is re-written as

y (ρ) = A (z) + B (z) u (3.40)

Accordingly, if B (z) is non-singular, then the input-output control law is obtained as

u = B−1 (z) [−A (z) + v] , v ∈ Rm (3.41)

This is known as a static case. However, if B−1 (z) doesn’t exist, then it might be possible
to make it work by using the dynamic feedback linearization [51]. Furthermore, if a system

47
of the form (2.38) is input-output linearizable and has a vector relative degree ρ < n, then
it is possible to transform it into its normal form using the diffeomorphism
     
x1,1 T1,1 (z) h1 (z)
     

 x1,2 


 T1,2 (z)  
  Lf h1 (z) 

     

 x1,3   
 T1,3 (z)  
  L2f h1 (z) 

 ..   ..   .. 

 . 


 .  
  . 

Lρf1 −2 h1 (z)
     

 x1,ρ1 −1  

 T1,ρ1 −1 (z)  
 


x1,ρ1  T1,ρ1 (z) Lρf1 −1 h1 (z)
     
    
     

 ...   
 ...  
  ... 

     

 x2,1   
 T2,1 (z)  
  h2 (z) 

     

 x2,2  

 T2,2 (z)  
  Lf h2 (z) 

x2,3  T2,3 (z) L2f h2 (z)
     
    
 ..   ..   .. 
. . .
     
     
     

 x2,ρ2 −1  

 T2,ρ2 −1 (z)  
  Lρf2 −2 h2 (z) 

Lρf2 −1 h2 (z)
     

 x2,ρ2  

 T2,ρ2 (z)  
 


     
 ...   ...   ... 
.. .. ..
     

 .  = T (z) = 
 
. =
 
. ,

x ∈ Rρ and q ∈ Rn−ρ (3.42)
     
...  ... ...
     
    
     

 xm,1   
 Tm,1 (z)  
  hm (z) 

     

 xm,2   
 Tm,2 (z)  
  Lf hm (z) 

L2f hm (z)
     
 xm,3   Tm,3 (z)   
.. .. ..
     
     
 .   .   . 
     
xm,ρm −1  Tm,ρm −1 (z) Lρfm −2 hm (z)
     
    
     

 xm,ρm   
 Tm,ρm (z)  
  Lρfm −1 hm (z) 

     

 .......   
 ..........  
  ............ 

     
 qρ+1   Tρ+1 (z)   Tρ+1 (z) 
     
qρ+2  Tρ+2 (z) Tρ+2 (z)
     
    
     

 qρ+3   
 Tρ+3 (z)  
  Tρ+3 (z) 

 ..   ..   .. 

 . 


 .  
  . 

     

 qn−1  

 Tn−1 (z)  
  Tn−1 (z) 

qn Tn (z) Tn (z)

such that, when differentiating the first element in (3.42), one would obtain

dT1,1 (z) dh1 (z) ∂h1 (z) dz


ẋ1,1 = = = ·
dt dt ∂z dt
∂h1 (z) (3.43)
= [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
= Lf h1 (z) + Lg1 h1 (z) u1 + Lg2 h1 (z) u2 + . . . + Lgm h1 (z) um

48
If ρ1 > 1, then from the analysis of a relative degree for MIMO systems and definition 2.6,
it is known that
Lg1 h1 (z) = Lg2 h1 (z) = . . . = Lgm h1 (z) = 0 (3.44)

Thus, (3.43) will become


ẋ1,1 = Lf h1 (z) = x1,2 (3.45)

Similarly, differentiating the second element in (3.42) yields

dT1,2 (z) d (Lf h1 (z)) ∂ (Lf h1 (z)) dz


ẋ1,2 = = = ·
dt dt ∂z dt
∂ (Lf h1 (z))
= [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
= L2f h1 (z) + Lg1 Lf h1 (z) u1 + Lg2 Lf h1 (z) u2 + . . . + Lgm Lf h1 (z) um
(3.46)
Likewise, if ρ1 > 2, then

Lg1 Lf h1 (z) = Lg2 Lf h1 (z) = . . . = Lgm Lf h1 (z) = 0 (3.47)

Thus, (3.46) will become


ẋ1,2 = L2f h1 (z) = x1,3 (3.48)

Continuing doing the same for the next ρ1 − 2 elements in (3.42) results in

ẋ1,3 = x1,4
..
.
ẋ1,ρ1 −1 = x1,ρ1
ẋ1,ρ1 = Lρf1 h1 (z) + Lg1 Lρf1 −1 h1 (z) u1 + Lg2 Lρf1 −1 h1 (z) u2 + . . . + Lgm Lρf1 −1 h1 (z) um
(3.49)

where according to definition 2.6 at least one element is not zero in the row vector
h i
g1 Lρf1 −1 h1 (z) g2 Lρf1 −1 h1 (z) . . . gm Lρf1 −1 h1 (z)

In the same way, for the next ρ − ρ1 elements in (3.42)

ẋ2,1 = x2,2
ẋ2,2 = x2,3
ẋ2,3 = x2,4

49
..
.
ẋ2,ρ2 −1 = x2,ρ2
ẋ2,ρ2 = Lρf2 h2 (z) + Lg1 Lρf2 −1 h2 (z) u1 + Lg2 Lρf2 −1 h2 (z) u2 + . . . + Lgm Lρf2 −1 h2 (z) um
...
..
.
...
ẋm,1 = xm,2
ẋm,2 = xm,3
ẋm,3 = xm,4
..
.
ẋm,ρm −1 = xm,ρm
ẋm,ρm = Lρfm hm (z) + Lg1 Lρfm −1 hm (z) u1 + Lg2 Lρfm −1 hm (z) u2 + . . . + Lgm Lρfm −1 hm (z) um
(3.50)

Furthermore, it’s proved in [36] that if the vector fields set {g1 (z) , g2 (z) , . . . , gm (z)} is
involutive, then Tρ+1 , Tρ+2 , . . . , Tn−1 , Tn can be found such that
∂Tρ+i
gj (z) = Lgj Tρ+i (z) = 0, i = 1, 2, . . . , n − ρ for every j = 1, 2, . . . , m. (3.51)
∂z
Thus, for the last n − ρ in (3.42)

dTρ+1 (z) ∂Tρ+1 (z) dz


q̇ρ+1 = = ·
dt ∂z dt
∂Tρ+1 (z)
= [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
= Lf Tρ+1 (z) + Lg1 Tρ+1 (z) u1 + Lg2 Tρ+1 (z) u2 + . . . + Lgm Tρ+1 (z) um
(3.52)

From (3.51), it is clear that

Lg1 Tρ+1 (z) = Lg2 Tρ+1 (z) = . . . = Lgm Tρ+1 (z) = 0

Thus, (3.52) turns out to be


q̇ρ+1 = Lf Tρ+1 (z) (3.53)

50
Similarly,
dTρ+2 (z) ∂Tρ+2 (z) dz
q̇ρ+2 = = ·
dt ∂z dt
∂Tρ+2 (z)
= [f (z) + g1 (z) u1 + g2 (z) u2 + . . . + gm (z) um ]
∂z
= Lf Tρ+2 (z) + Lg1 Tρ+2 (z) u1 + Lg2 Tρ+2 (z) u2 + . . . + Lgm Tρ+2 (z) um
(3.54)

Again, from (3.51), it is known that

Lg1 Tρ+2 (z) = Lg2 Tρ+2 (z) = . . . = Lgm Tρ+2 (z) = 0

Thus, (3.54) turns out to be


q̇ρ+2 = Lf Tρ+2 (z) (3.55)

Continuing doing the same for the rest of the elements in (3.42) yields

q̇ρ+3 = Lf Tρ+3 (z)


..
.
(3.56)
q̇n−1 = Lf Tn−1 (z)
q̇n = Lf Tn (z)

It is worth noting here that the condition of involutivity to find the last n − ρ elements in
the transformation matrix was not mentioned in the case of the SISO system because it has
just one vector g (z) and thus the condition is always satisfied. From the previous analysis,
it’s clear that the system is transformed into two parts known as external dynamics x and
internal dynamics q exactly like what has been done in the SISO system transformation. It
is also clear from (3.45), (3.48), (3.49) and (3.50) that xi,j where j = 1, 2, . . . , ρi−1 for every
i = 1, 2, . . . , m are all linear and only xi,ρi is nonlinear. Thus, one can write the equation
      
ẋ1,ρ1 Lρf1 h1 (z) Lg1 Lρf1 −1 h1 (z) Lg2 Lρf1 −1 h1 (z) ... Lgm Lρf1 −1 h1 (z) u1
      
 ẋ   Lρ2 h (z)   L Lρ2 −1 h (z) L Lρ2 −1 h (z) . . . L Lρ2 −1 h (z)  u2 
 2,ρ2   f 2   g1 f 2 g2 f 2 gm f 2  
 +  Lg Lρ3 −1 h3 (z) Lg Lρ3 −1 h3 (z) . . . Lg Lρ3 −1 h3 (z)
   ρ3    
 ẋ3,ρ  =  L h3 (z)  u3 
 3   f   1 f 2 f m f  
 . .. .. .. .. .. .. 
 ..
    

 
  .  
  . . . . 
 . 

ρm ρm −1 ρm −1 ρm −1
ẋm,ρm Lf hm (z) Lg1 Lf hm (z) Lg2 Lf hm (z) . . . Lgm Lf hm (z) um
(3.57)
which in a short form is re-written as

x = A (z) + B (z) u
ẋ (3.58)

51
Accordingly, if B (z) is non-singular, then (3.58) can be linearized by

u = B−1 (z) [−A (z) + v] (3.59)

where    
v1 −k1,1 x1,1 − k1,2 x1,2 − . . . − k1,ρ1 x1,ρ1
   
 v2   −k2,1 x2,1 − k2,2 x2,2 − . . . − k2,ρ2 x2,ρ2 
v=

.. =
 
..

 (3.60)

 .  
  . 

vm −km,1 xm,1 − km,2 xm,2 − . . . − km,ρm xm,ρm
and k1,1 , . . . , k1,ρ1 , k2,1 , . . . , k2,ρ2 , . . . , km,1 , . . . , km,ρm is designed such that A − Bk is stable.
From the previous analysis the coordinate transformation of MIMO affine nonlinear system
into its normal form can be summarized in the following theorem as explained in [29] and [36].

Theorem 3.2 If a MIMO affine nonlinear system of the form (2.38)


żn = f (z) + g1 (z) u1 + g2 (z) u2 + · · · + gm (z) um
y1 = h1
..
.
ym = hm
is input-output linearizable and has a vector relative degree ρ = {ρ1 , ρ2 , . . . , ρm−1 , ρm } such
that ρ1 + ρ2 + . . . + ρm−1 + ρm = ρ < n, then one can choose the diffeomorphism
     
x1,1 T1,1 (z) h1 (z)
     

 x1,2 


 T1,2 (z)   Lf h1 (z)
 


 ..   ..   .. 

 . 


 .  
  . 

     ρ1 −1 

 x1,ρ1  

 T1,ρ1 (z)   Lf h1 (z)
 


...  ... ...
     
    
 .. 
  ..   .. 
.  . .
    
    
     

 ...  

 ...  
  ... 

     

 xm,1  

 Tm,1 (z)  
  hm (z) 

     
 xm,2    Tm,2 (z)   Lf hm (z) 

 ..  = T (z) = 
 ..
=
  ..
,
 x ∈ Rρ and q ∈ Rn−ρ (3.61)
 .   .   . 
     
  ρm −1
xm,ρm  Tm,ρm (z)   Lf hm (z)
   
  
     

 .....   
 ........   ...........
 


     

 qρ+1   
 Tρ+1 (z)   Tρ+1 (z)
 


     
 qρ+2   Tρ+2 (z)   Tρ+2 (z) 
     
qρ+3  Tρ+3 (z)   Tρ+3 (z)
     
  
...  .. ..
     
. .
    
     
     

 qn−1   
 Tn−1 (z)   T
  n−1 (z)


qn Tn (z) Tn (z)

52
where if {g1 (z) , g2 (z) , . . . , gm (z)} is involutive, then Tρ+1 , Tρ+2 , . . . , Tn−1 , Tn can be found
such that
∂Tρ+i
gj (z) = Lgj Tρ+i (z) = 0, i = 1, 2, . . . , n − ρ for every j = 1, 2, . . . , m. (3.62)
∂z
to put the system in the normal form

ẋ1,1 = x1,2
ẋ1,2 = x1,3
..
.
ẋ1,ρ1 = Lρf1 h1 T −1 (x, q) + Lg1 Lρf1 −1 h1 T −1 (x, q) u1 + . . . + Lgm Lρfm −1 h1 T −1 (x, q) um
  

...
..
.
...
ẋm,1 = xm,2
ẋm,2 = xm,3
.. (3.63)
.
ẋm,ρm = Lρfm hm T −1 (x, q) + Lg1 Lρfm −1 hm T −1 (x, q) u1 + . . . + Lgm Lρfm −1 hm T −1 (x, q) um
  

q̇ρ+1 = Lf Tρ+1 T −1 (x, q)




..
.
q̇n = Lf Tn T −1 (x, q)


y1 = h1 T −1 (x, q)


..
.
ym = hm T −1 (x, q)


with the feedback control law


u = B−1 (z) [−A (z) + v] (3.64)

such that
   
Lρf1 h1 (T −1 (x, q)) Lg1 Lρf1 −1 h1 (T −1 (x, q)) Lg2 Lρf1 −1 h1 (T −1 (x, q)) ... Lgm Lρf1 −1 h1 (T −1 (x, q))
 ρ   
 L 2 h (T −1 (x, q))   L Lρ2 −1 h (T −1 (x, q)) L Lρ2 −1 h (T −1 (x, q)) . . . L Lρ2 −1 h (T −1 (x, q)) 
 f 2  g1 f 2 g2 f 2 gm f 2
A= B=
 
..  .. .. .. .. 

 . 


 . . . . 

ρm ρm −1 ρm −1 ρm −1
Lf hm (T −1 (x, q)) Lg1 Lf −1
hm (T (x, q)) Lg2 Lf −1
hm (T (x, q)) . . . Lgm Lf hm (T −1 (x, q))

53
and    
v1 −k1,1 x1,1 − k1,2 x1,2 − . . . − k1,ρ1 x1,ρ1
   
 v2   −k2,1 x2,1 − k2,2 x2,2 − . . . − k2,ρ2 x2,ρ2 
v= =  ♦ (3.65)
   
.. ..

 .  
  . 

vm −km,1 xm,1 − km,2 xm,2 − . . . − km,ρm xm,ρm
On the other hand, if the system (2.38) is of a vector relative degree

ρ = {ρ1 , ρ3 , . . . , ρm−1 , ρm }

such that
ρ1 + ρ2 + . . . + ρm−1 + ρm = ρ = n
where n is the order of the system, then there will be no internal dynamics and the trans-
formation matrix (3.42) turns out to be
     
x1,1 T1,1 (z) h1 (z)
     
 x1,2   T1,2 (z)   Lf h1 (z) 
     
L2f h1 (z)
     
 x1,3   T1,3 (z)   
.. .. ..
     
     

 . 


 .  
  . 

 x1,ρ1 −1   T1,ρ1 −1 (z) Lρf1 −2 h1 (z)
     
  
     
 x
 1,ρ1


 T (z)
 1,ρ1
 
  Lρf1 −1 h1 (z) 

     
 ...   ...   ... 
     
     
 x2,1   T2,1 (z)   h2 (z) 
     
 x2,2   T2,2 (z) Lf h2 (z)
     
  
     
 x
 2,3


 T (z)
 2,3
 
  L2f h2 (z) 

 ..   ..   .. 
 .   .   . 
 = T (z) =  = , x ∈ Rn (3.66)
     
Lρf2 −2 h2

 x2,ρ −1   T2,ρ −1 (z)   (z) 
 2   2   
Lρf2 −1 h2
     
 x2,ρ2   T2,ρ2 (z)   (z) 
     
 ...  ... ...
     
   
 ..   ..   .. 
. . .
     
     
     
 ...   ...   ... 
     
     
 xm,1   Tm,1 (z)   hm (z) 
     
     
 xm,2   Tm,2 (z)   Lf hm (z) 
     
 xm,3   Tm,3 (z) L2f hm (z)
     
  
 ..   ..   .. 
. . .
     
     
     
 x
 m,ρm −1 
  T
 m,ρm −1 (z)
 
  Lρfm −2 hm (z) 

xm,ρm Tm,ρm (z) Lρfm −1 hm (z)

54
Thus, MIMO affine nonlinear system of the general form (3.38) and a vector relative degree
ρ = n in its normal form will be
ẋ1,1 = x1,2
ẋ1,2 = x1,3
ẋ1,3 = x1,4
..
.
ẋ1,ρ1 −1 = x1,ρ1
ẋ1,ρ1 = Lρf1 h1 (z) + Lg1 Lρf1 −1 h1 (z) u1 + Lg2 Lρf1 −1 h1 (z) u2 + . . . + Lgm Lρf1 −1 h1 (z) um
...
ẋ2,1 = x2,2
ẋ2,2 = x2,3
ẋ2,3 = x2,4
..
.
ẋ2,ρ2 −1 = x2,ρ2
ẋ2,ρ2 = Lρf2 h2 (z) + Lg1 Lρf2 −1 h2 (z) u1 + Lg2 Lρf2 −1 h2 (z) u2 + . . . + Lgm Lρf2 −1 h2 (z) um
...
..
.
...
ẋm,1 = xm,2
ẋm,2 = xm,3
ẋm,3 = xm,4
..
.
ẋm,ρm −1 = xm,ρm
ẋm,ρm = Lρfm hm (z) + Lg1 Lρfm −1 hm (z) u1 + Lg2 Lρfm −1 hm (z) u2 + . . . + Lgm Lρfm −1 hm (z) um
y1 = h1 (z)
y2 = h2 (z)
..
.
ym = hm (z)
(3.67)

55
3.3 Input-State Feedback Linearization for SISO Systems

It was previously explained that if the two conditions of feedback linearizability in


section 2.11 have been fulfilled, then the system is feedback linearizable system. However,
one may wonder how it is possible to design a controller u and a state transformation such
that an equivalent completely linear system is obtained. The answer to this question will
be in two approaches that will lead to the same results. In the first approach, the affine
nonlinear system given in (2.15) is considered without an output as

ż = f (z) + g (z) u

Assuming the transformation matrix given in (2.16) as


 
T (z)
 1 
 T (z) 
 2 
 .. 
x = T (z) =  . 

 
 Tn−1 (z) 
 
Tn (z)

is a diffeomorphism, then (2.15) can be transformed into the following controllable canonical
form:
ẋ1 = x2
ẋ2 = x3
.. (3.68)
.
ẋn−1 = xn
ẋn = v

This is equivalent to (3.30) that results from input-output feedback linearization when ρ = n
where
v = Lnf h T −1 (x) + Lg Lfn−1 h T −1 (x) u
 
(3.69)

Equation (3.69) is written in a short form as

v = α (x) + β (x) u (3.70)

Thus, (3.68) can be stabilized by choosing u in (3.70) as


1
u= [−α (x) + v] (3.71)
β (x)

56
The question is how to find the transformation matrix (2.16). Obviously, (3.68) in a matrix
form is re-written as
      
ẋ1 0 1 0 ... 0 x1 0
      
 ẋ   0 0 1 ...
 x 0   0 
 2    2   
 .   .. .. .. . .
 . .. ..
 ..  =    ..
  
. . . . . + . [α (x) + β (x) u] (3.72)
      
      
 ẋn−1   0 0 0 ... 1 
  xn−1 0 
  
     
ẋn 0 0 0 ... 0 xn 1

which in a short form is written as

ẋ = Ax + B [α (x) + β (x) u] (3.73)

by considering (2.16) and equating (2.17) and (3.73), one can get:
∂T
f (z) = Ax + Bα (x)
∂z     
0 1 0 ... 0 T (z) 0
  1   

 0 0 1 ... 0   T (z)  
 2   0 

 .. .. .. . . ..  .
..
  ..
=
 . . . . . 

+
  . α (x)

    

 0 0 0 ... 1   Tn−1 (z)  
   0 

0 0 0 ... 0 Tn (z) 1
(3.74)

     
T2 (z) 0 T2 (z)
     
 T (z)   0   T (z) 
 3     3 
 .
..
  .
 +  ..
  .
..

=
  
=
 


     
 Tn−1 (z)   0   Tn−1 (z) 
     
0 α (x) α (x)

and can also get:


∂T
g (z) = Bβ (x)
∂z    
0 0
   

 0 

 0


 (3.75)
 .. β (x) =  ...
  
=
 . 


   

 0 
  0



1 β (x)

57
From the previous analysis, one can conclude that T (z) should satisfy:
∂Ti
g (z) = 0 , i = 1, . . . , n − 1. (3.76)
∂z
∂Tn
g (z) = β (x) 6= 0. (3.77)
∂z
such that:
∂Ti
Ti+1 = f (z) i = 1, . . . , n − 1. (3.78)
∂z
and then:
∂Tn ∂Tn
f T −1 (x) .

α (x) = f (z) = (3.79)
∂z ∂z
∂Tn ∂Tn
g T −1 (x) .

β (x) = g (z) = (3.80)
∂z ∂z
Example 3.2

Consider the nonlinear system given in example 2.7 as :

ż1 = sin (z1 + z3 ) + |z2 − z32 | + 2u


ż2 = 2z1 z3 + z3
ż3 = z1

where    
sin (z1 + z3 ) + |z2 − z32 | 2
   
f (z) = 
 2z1 z3 + z3 
 , g (z) = 
 0 

z1 0
It was proved in example 2.7 that this system is feedback linearizable. In this example sta-
bilizing its states through the input-state feedback linearization will be explained. However,
this system is not in its controllable canonical form. Therefore, to transform it into the
controllable canonical form, one has first to use the conditions (3.76) through (3.78) and
then apply feedback linearization. To put the system in the controllable canonical form, one
needs to find x = T (z) that satisfies:
∂T1 ∂T1
1. ∂z
g (z) = 0 4. T2 = ∂z
f (z)
∂T2 ∂T2
2. ∂z
g (z) = 0 5. T3 = ∂z
f (z)
∂T3
3. ∂z
g (z) 6= 0
Starting with writing out all conditions in more details:

58
 
2
∂T1 h
∂T1 ∂T1 ∂T1  0  = 2 ∂T1 = 0
i 
1. g (z) = ∂z1 ∂z2 ∂z3
⇒ T1 = T1 (z2 , z3 )
∂z   ∂z1
0
 
∂T2 i 2 
 0  = 2 ∂T2 = 0
h
2. g (z) = ∂T2 ∂T2 ∂T2 ⇒ T2 = T2 (z2 , z3 )
∂z ∂z1 ∂z2 ∂z3   ∂z1
0
 
∂T3 i 2 
 0  = 2 ∂T3 6= 0
h
3. g (z) = ∂T3 ∂T3 ∂T3
∂z ∂z1 ∂z2 ∂z3   ∂z1
0
 
2
h i  sin (z1 + z3 ) + |z2 − z3 | 
∂T1 ∂T1 ∂T1 ∂T1
4. T2 = ∂z
f (z) = ∂z1 ∂z2 ∂z3

 2z1 z3 + z3 

z1

∂T1
From condition 1, it is known that ∂z1
= 0. Hence:
∂T1 ∂T1
T2 = (2z1 z3 + z3 ) + z1
∂z2 ∂z3
 
2
h i  sin (z1 + z3 ) + |z2 − z3 | 
∂T2 ∂T2 ∂T2 ∂T2
5. T3 = ∂z
f (z) = ∂z1 ∂z2 ∂z3

 2z1 z3 + z3 

z1

∂T2
From condition 2, it is known that ∂z1
= 0. Hence:
∂T2 ∂T2
T3 = (2z1 z3 + z3 ) + z1
∂z2 ∂z3
From condition 3, one can try T3 = z1 . Hence:
∂T3
g (z) = 2 6= 0.
∂z1
So, condition 3 is satisfied. Substituting T3 in condition 5 results in:
∂T2 ∂T2
z1 = (2z1 z3 + z3 ) + z1
∂z2 ∂z3
∂T2 ∂T2
If one lets T2 = z3 , then ∂z2
= 0 and ∂z3
= 1 and hence:

z1 = (0) (2z1 z3 + z3 ) + (1) z1 = z1

59
Then, condition 5 as well as condition 2 are satisfied. Substituting T2 in condition 4 yields:
∂T1 ∂T1
z3 = (2z1 z3 + z3 ) + z1
∂z2 ∂z3
∂T1 ∂T1
The only way to make both sides of this equation equal is to make ∂z2
= 1 and ∂z3
= −2z3 .
This will result in:
T1 = z2 − z32
and hence condition 4 will turn out to be:
z3 = (1) (2z1 z3 + z3 ) + (−2z3 ) z1
= 2z1 z3 + z3 − 2z1 z3 = z3
Hence, condition 4 as well as condition 1 are satisfied. From the previous analysis, one can
deduce that:      
x1 T1 (z) z2 − z32
     
x = T (z) ⇒ 
 x2  =  T2 (z)  =  z3
    
 (3.81)
x3 T3 (z) z1
∂T (z)
whose Jacobian matrix ∂z
is non-singular and hence its inverse can easily be obtained as:
     
z1 T1−1 (x) x3
z = T −1 (x) ⇒ 
     
  −1  =  x1 + x2 
 z2  =  T2 (x)   2  (3.82)
z3 T3−1 (x) x2
According to definition 2.1, T (z) is a diffeomorphism. To verify this work, one can consider
the transformation matrix (3.81) and find the derivative in time for each row element.

ẋ1 = ż2 − 2z3 ż3


= 2z1 z3 + z3 − 2z1 z3 = z3 = x2
ẋ2 = ż3
= z1 = x3
ẋ3 = ż1 = sin (z1 + z3 ) + |z2 − z32 | + 2u
= sin (x2 + x3 ) + |x1 | + 2u

As a result, the system (2.63) in controllable canonical form becomes:


ẋ1 = x2
ẋ2 = x3
(3.83)
ẋ3 = sin (x2 + x3 ) + |x1 | + |{z}
2 u
| {z }
α(x) β(x)

60
Thus, it can be linearized via the state feedback
1
u= [−α (x) + v]
β (x)
(3.84)
1
= [− sin (x2 + x3 ) − |x1 | + v]
2
to obtain the linear state equation

ẋ = Ax + Bv
      
ẋ1 0 1 0 x1 0
       (3.85)
 ẋ2  =  0 0 1   x2  +  0  v
      
ẋ3 0 0 0 x3 1

Linear optimal control design with quadratic performance index [50] can be used to design
h ih iT
v = − k1 k2 k3 x1 x2 x3 such that A − Bk is stable. So, the overall state
feedback is:
1
u (x, v) = [− sin (x2 + x3 ) − |x1 | − k1 x1 − k2 x2 − k3 x3 ] (3.86)
2
In terms of the original states z1 , z2 , and z3 , this controller is corresponding to the original
input:
1
− sin (z3 + z1 ) − |z2 − z32 | − k1 z2 − z32 − k2 z3 − k3 z1 M
 
u (z, v) = (3.87)
2
Fig. 3.1 shows the block diagram representing the closed-loop system with input-state lin-
earization in the inner-loop and dynamic stabilization in the outer-loop.

𝑧∗ - 𝑣 = −𝑘 𝑇 𝑧 𝑢(𝑧, 𝑣) 𝑧 = 𝑓 𝑧 + 𝑔(𝑧) 𝑧

𝑰𝒏𝒑𝒖𝒕 − 𝒔𝒕𝒂𝒕𝒆 𝒍𝒊𝒏𝒆𝒂𝒓𝒊𝒛𝒂𝒕𝒊𝒐𝒏

𝑥
𝑥 = 𝑇(𝑧)
𝑺𝒕𝒂𝒃𝒊𝒍𝒊𝒛𝒂𝒕𝒊𝒐𝒏 𝒍𝒐𝒐𝒑

Figure 3.1: Input state linearization.

61
Another easier approach to find the transformation matrix and get the system in its control-
lable canonical form known as Brunovsky normal form is to find the output function φ (z)
that is the solution to the partial differential equations set
h ih i
∂φ(z) ∂φ(z) ∂φ(z)
∂z1 ∂z2
... ∂zn
g (z) adf g (z) . . .adfn−2 g (z) =0 (3.88a)
h i
∂φ(z)
∂z1
∂φ(z)
∂z2
. . . ∂φ(z)
∂zn
adn−1
f g 6= 0 (3.88b)

which for the system of example 3.2 can be written as


h ih i
∂φ(z) ∂φ(z) ∂φ(z)
∂z1 ∂z2 ∂z3
g (z) adf g (z) =0 (3.89a)
h i
∂φ(z)
∂z1
∂φ(z)
∂z2
∂φ(z)
∂z
adn−1
f g 6= 0 (3.89b)
3

Substituting for g (z), adf g (z) and adfn−1 g from (2.64) yields
 
h i 2 −2 cos z1 cos z3 + 2 sin z1 sin z3
∂φ(z) ∂φ(z) ∂φ(z)

 0 −4z3 =0 (3.90a)
∂z1 ∂z2 ∂z3  
0 −2
 
h i α−β
∂φ(z) ∂φ(z) ∂φ(z)

6 0
 (2 cos z1 cos z3 − 2 sin z1 sin z3 ) 2z3 + 2  = (3.90b)
∂z1 ∂z2 ∂z3 
2 cos z1 cos z3 − 2 sin z1 sin z3

Hence, from (3.90a), the following set of partial differential equations is obtained

∂φ (z)
2 =0 (3.91)
∂z1
∂φ (z) ∂φ (z) ∂φ (z)
(−2 cos z1 cos z3 + 2 sin z1 sin z3 ) − 4 z3 − 2 =0 (3.92)
∂z1 ∂z2 ∂z3
from which it is easy to find the output function candidate as

φ (z1 , z2 , z3 ) = z2 − z32 = h (z) (3.93)

The resulting output function (3.93) satisfies (3.90b) such that


 
h i α−β

0 1 −2z3   = 2 6= 0 (3.94)
 (2 cos z1 cos z3 − 2 sin z1 sin z3 ) 2z3 + 2 
2 cos z1 cos z3 − 2 sin z1 sin z3

62
Hence, it is a valid output function and the transformation matrix can be obtained as
   
x1 h (z)
   
 x2  =  Lf h (z)  (3.95)
   
x3 L2f h (z)

where
 
sin (z1 + z3 ) + |z2 − z32 |
∂h (z) h
∂h(z) ∂h(z) ∂h(z)
i 
Lf h (z) = f (z) = ∂z1 ∂z2 ∂z3
 2z1 z3 + z3 
∂z  
z1
  (3.96)
h i sin (z1 + z3 ) + |z2 − z32 |

= 0 1 −2z3 
 2z1 z3 + z3  = z3

z1
 
sin (z1 + z3 ) + |z2 − z32 |
∂ (Lf h (z)) h i
f (z) = ∂ (Lf h(z)) ∂ (Lf h(z)) ∂ (Lf h(z))

L2f h (z) =  2z1 z3 + z3 
∂z ∂z1 ∂z2 ∂z3  
z1
 
2
h i  sin (z1 + z3 ) + |z2 − z3 | 
= 0 0 1  2z1 z3 + z3  = z1

z1
(3.97)
This results in the following transformation matrix
     
x1 h (z) z2 − 2z32
     
 x2  =  Lf h (z)  =  z3  (3.98)
     
x3 L2f h (z) z1

which is equivalent to the diffeomorphism (3.81) found in the first approach. Similar to what
has been done in the first approach, one can get z = T −1 (x) and then easily put the system
in its Brunovsky normal form and design the control function. M
A more detailed algorithm to find the output function φ (z) to transform the SISO nonlinear
system of the form (2.15) into its Brunovsky normal form without solving partial differential
equation (3.88) is explained in [29].

63
3.4 Input-State Feedback Linearization for MIMO Systems

If the feedback linearizability conditions for MIMO systems previously explained in


section 2.11 are fulfilled, then it is possible to extend the input-state feedback linearization
process for SISO systems to be compatible with MIMO systems. The departure will be from
the general form of affine nonlinear systems given in (2.38) without an output as
m
X
żn = f (z) + gi (z) ui , i = 1, . . . , m
i=1
Let  
u1
 
 u 
 2 
h i  .
.

G (z) = g1 (z) g2 (z) . . . gm−1 (z) gm (z) U = .
 
n×m

 
 um−1 
 
um
m×1
Then, the MIMO system given above is re-written as

żn = f (z) + G (z) U (3.99)

Assume a state transformation matrix given as


   
x1,1 T1,1 (z)
   
 x1,2   T1,2 (z) 
   
   
 x1,3   T1,3 (z) 
.. ..
   
   

 . 


 . 

 x1,ρ1 −1  T1,ρ1 −1 (z)
   
 
   
 x   T (z) 
 1,ρ1   1,ρ1 
   
 ...   ... 
   
   
 x2,1   T2,1 (z) 
   
 x2,2  T2,2 (z)
   
 
   
 x   T (z) 
 2,3   2,3 
... ..
   
   . 


 x2,ρ −1
 = T (z) = 



 T2,ρ −1 (z)
,


x ∈ Rn (3.100)
 2   2 
   
 x2,ρ2   T2,ρ2 (z) 
   
 ... ...
   
  
 ..   .. 
. .
   
   
   
 ...   ... 
   
   
 xm,1   Tm,1 (z) 
   
   
 xm,2   Tm,2 (z) 
   
 xm,3  Tm,3 (z)
   
 
 ..   .. 
. .
   
   
   
 x  T
 m,ρm −1 (z)
 
 m,ρm −1  
xm,ρm Tm,ρm (z)

64
is a diffeomorphism, such that (3.99) can be coordinate transformed into the following con-
trollable canonical form:
ẋ1,1 = x1,2
ẋ1,2 = x1,3
ẋ1,3 = x1,4
..
.
ẋ1,ρ1 −1 = x1,ρ1
ẋ1,ρ1 = v1
...
ẋ2,1 = x2,2
ẋ2,2 = x2,3
ẋ2,3 = x2,4
..
.
(3.101)
ẋ2,ρ2 −1 = x2,ρ2
ẋ2,ρ2 = v2
...
..
.
...
ẋm,1 = xm,2
ẋm,2 = xm,3
ẋm,3 = xm,4
..
.
ẋm,ρm −1 = xm,ρm
ẋm,ρm = vm
The form (3.101) is equivalent to that in (3.67) which results from input-output feedback
linearization when ρ = n where
       
v1 Lρf1 h1 (z) Lg1 Lρf1 −1 h1 (z) Lg2 Lρf1 −1 h1 (z) ... Lgm Lρf1 −1 h1 (z) u1
   ρ     
 v2   L 2 h (z)   L Lρ2 −1 h (z) L Lρ2 −1 h (z) . . . L Lρ2 −1 h (z)   u2 
 f 2  g1 f 2 g2 f 2 gm f 2
= +
     
 ..  ..  .. .. .. ..   .. 

 . 


 . 


 . . . . 


 . 

ρm ρm −1 ρm −1 ρm −1
vm Lf hm (z) Lg1 Lf hm (z) Lg2 Lf hm (z) . . . Lgm Lf hm (z) um
m×1 m×1 m×m m×1
(3.102)

65
Equation (3.102) is written in a short form as

v = α (z) + β (z) u (3.103)

in which
   
α1 (x) β11 (x) β12 (x) . . . β1m (x)
   
 α (x)   β (x) β (x) . . . β (x) 
 2  21 22 2m
α (x) =  β (x) = 
 
..  .
.. .
.. .
.. .. 

 . 


 . 

αm (x) βm1 (x) βm2 (x) . . . βmm (x)
m×1 m×m

If β (x) is non-singular, then (3.101) can be stabilized by the control low


1
u= [−α (x) + v] (3.104)
β (x)

The question is how to find the state transformation matrix (3.100). Obviously, (3.101) in a
matrix form can be re-written as
       
ẋ1,1 0 1 0 ... 0 x1,1 0
       
 ẋ1,2   0 0 1 ... 0   x1,2   0 
       
       
 ẋ1,3   0 0 0 ... 0   x1,3   0 

 ..



 .. .. .. . . .. 0 ... 0 


 ..



 .. 0 ... 0 

 .   . . . . .   .   . 
       
 ẋ1,ρ1 −1 0 0 0 ... 1  x1,ρ1 −1 0
       
     
       
 ẋ   0 0 0 ... 0   x   1 
 1,ρ1     1,ρ1   
       
 ẋ2,1   0 1 0 ... 0   x2,1   0 
       
       
 ẋ2,2   0 0 1 ... 0   x2,2   0 
       

 ẋ2,3
 
0 0 0 ... 0
 
 x2,3
 
0

0 0 0 0
     

..
 
.. .. .. . . .. ...  
..
 
.. ... 
. = . . . . . . + . [α (x) + β (x) u]m×1
       
     
       
 ẋ   0 0 0 ... 1   x   0 
 2,ρ2 −1     2,ρ2 −1   
       
 ẋ2,ρ   0 0 0 ... 0   x2,ρ   1 
 2     2   
.. .. .. ..
0 0 0 0 0 0
       

 . 


 . 


 . 


 . 

       
 ẋm,1   0 1 0 ... 0   xm,1   0 
       
       
 ẋm,2   0 0 1 ... 0   xm,2   0 
       
 ẋm,3 0 0 0 ... 0  xm,3 0
       
 ..



 0 0 ... .. .. .. . . ..

  ..



 0 0 ... ..



 . 


 . . . . . 


 . 


 . 

       
 ẋm,ρ −1   0 0 0 ... 1   xm,ρ −1   0 
 m     m   
ẋm,ρm 0 0 0 ... 0 xm,ρm 1
n×1 n×n n×1 n×m

(3.105)
whose short form is

ẋ = Ax + B [α (x) + β (x) u] (3.106)

From (3.100),
∂T (z)
ẋ = [f (z) + G (z) U ] (3.107)
∂z

66
By equating (3.106) with (3.107), one can get:
∂T (z)
f (z) = Ax + Bα (x)
∂z

     
0 1 0 ... 0 T1,1 0
     

 0 0 1 ... 0 

 T1,2




 0 

     
 0 0 0 ... 0   T1,3   0 

 .. .. .. . . .. 0 ... 0 


 ..



 .. 0 ... 0 

 . . . . .   .   . 
     
0 0 0 ... 1  T1,ρ1 −1 0
     
    
     

 0 0 0 ... 0 

 T
 1,ρ1



 1 

     

 0 1 0 ... 0 

 T2,1




 0 

     

 0 0 1 ... 0 

 T2,2




 0 


0 0 0 ... 0
 
 T2,3
 
0

0 0 0 0
    

.. .. .. . . .. ...  
..
 
.. ... 
= . . . . . . + . α (x)m×1
     
   
     

 0 0 0 ... 1 

 T
 2,ρ2 −1



 0 

     

 0 0 0 ... 0 

 T2,ρ
 2



 1 

.. .. ..
0 0 0 0 0 0
     

 . 


 . 


 . 

     

 0 1 0 ... 0 

 Tm,1




 0 

     
 0 0 1 ... 0   Tm,2   0 
     
0 0 0 ... 0  Tm,3 0
     

 0 0 ... .. .. .. . . ..

  ..



 0 0 ... ..



 . . . . . 


 . 


 . 

     

 0 0 0 ... 1 

 Tm,ρ −1
 m



 0 

0 0 0 ... 0 Tm,ρm 1
n×n n×1 n×m

     
T1,2 0 T1,2
     
 T1,3   0   T1,3 
     
     
 T1,4   0   T1,4 
     
 ..   ..   .. 

 .  
  .  
  . 

 T1,ρ1 −1 0 T1,ρ1 −1 
     
   
     

 0   α (x)
  1
 
  α1 (x)  
     
 T2,2   0   T2,2 
     
     
 T2,3   0   T2,3 
     

 T2,4
 
0
 
T2,4 

   
.. .. ..
     
= . + . = .
     
  
     
 T   0   T2,ρ2 −1 
 2,ρ2 −1     
     

 0   α2 (x)
 
 
  α2 (x)  
 ..   ..   .. 

 .  
  .  
  . 

     
 Tm,2   0   Tm,2 
     
     
 Tm,3   0   Tm,3 
     
 Tm,4 0 Tm,4 
     
   
 ..   ..   .. 

 .  
  .  
  . 

     
 Tm,ρ −1   0   Tm,ρm −1 
 m     
0 αm (x) αm (x)
(3.108)

67
and can also get:
∂T (z)
G (z) = Bβ (x)
∂z    
0 0 0 0
   
 0   0 0 0 
   
   
 0   0 0 0 

 .. 0 ... 0 


 .. .. ... ..


 .   . . . 
   
 0  0 0 0
   
 
   
 1   β β12 β1m 
   11 
   

 0 

 0
 0 0 

   

 0 

 0
 0 0 


0
 
 0 0 0

 0

.. ... 0


 .

.. ... ..

 (3.109)
= . β (x)m×m =  .. . .
  
 
   

 0 

 0
 0 0 

   

 1 

 β21
 β22 β2m 

..  . .. .. ..
 0 0 0  ..
  
 . 
  . . . 

   

 0 

 0
 0 0 

   
 0   0 0 0 
   
0  0 0 0
   
 0 0
  
... ..   .
 .. .. ... .. 

 . 
  . . 

   

 0 

 0
 0 0 

1 βm1 βm2 βmm
n×m n×m

From the previous analysis, one can conclude that T (z) should satisfy:
∂Ti,j (z) h i
G (z) = 0 0 . . . 0 , i = 1, 2, . . . , m ∀ j = 1, . . . , ρi − 1. (3.110)
∂z
∂Ti,ρi (z) h i
G (z) = βi1 βi2 . . . βim , i = 1, 2, . . . , m. (3.111)
∂z
h i
where at least on element in βi1 βi2 . . . βim is not zero. Such that:

∂Ti,j
Ti,j+1 = f (z) , i = 1, 2, . . . , m ∀ j = 1, . . . , ρi − 1. (3.112)
∂z
and then:
∂Ti,ρi ∂Ti,ρi
f T −1 (x) .

αi (x) = f (z) = (3.113)
∂z ∂z
h i ∂T ∂Ti,ρi
i,ρi
G T −1 (x) .

βi1 βi2 . . . βim = G (z) = (3.114)
∂z ∂z
The analysis that has been done so far for the MIMO state feedback linearization is enough
to understand the concept. However, it may not be easy to apply the conditions (3.110)-
(3.114) to find the transformation matrix (3.100). This is going to be beyond our research
scope. The reader is referred to [29] and [36] for more step-by-step details on how to find
the transformation matrix (3.100).

68
4 Lyapunov Based Control Design

One of the most widely used methods in control theory to prove the stability of non-
linear systems besides input-output stability is the Lyapunov theorem of stability [52]. The
interest in this research is in the part of this theorem where a closed-loop system’s stability
is examined by studying the behavior of a function known as the Lyapunov function. This
function is designed mathematically to provide an easy way to measure control objectives
such that nonlinear systems stability can be tested through a scalar differential equation [13].

4.1 Lyapunove Stability Theorem

To explain the notion of Lyapunov theorem of stability, the time-invariant system


with a state z and a dynamic:
ż = f (z) + g (z) u (4.1)

is considered where z ∈ Rn , and the control input u ∈ R. The goal is to derive a feedback
control function u = α (z) such that

ż = f (z) + g (z) α (z) (4.2)

will have equilibrium points that are globally asymptotically stable at the origin. According
to Lyapunov, to achieve this goal, one needs to find a smooth, positive definite and radially
unbounded function V (z) known as Lyapunov function such that its derivative along the
solution of (4.1) satisfies:

∂V (z)
V̇ (z) = [f (z) + g (z) α (z)] ≤ −W (z) (4.3)
∂z
where W (z) is positive definite. If a good choice of V (z) is made and (4.3) is satisfied,
then the control law α (z) results in globally asymptotically stable equilibrium points of
(4.1) [53–56].

Example 4.1

Consider the scalar nonlinear system given in (1.1) by

ż = −a cos z − bz 3 + cu

69
Choosing the smooth, positive definite and radially unbounded Lyapunov function
1
V (z) = z 2 (4.4)
2
and differentiating it in time yields

V̇ = z ż
(4.5)
= −az cos z − bz 4 + czu

Now, one can choose the control function


1
a cos z + bz 3 − kz

u= (4.6)
c
that results in
V̇ = −kz 2 (4.7)

which is negative definite. Thus, (4.6) will stabilize the equilibrium at the origin. M

4.2 Sontag’s Formula

If a nonlinear system has the form (4.1) with f (0) = 0 and a smooth, positive definite
and radially unbounded Lyapunov function exists, then another way to choose a stabilizing
control function is through using what so-called Sontag’s formula [57, 58].
q
2 4
 ∂V
f (z)+ ( ∂V f (z)) +( ∂V g(z))

 − ∂z ∂z ∂z
, f or ∂V g (z) 6= 0


 ( ∂V
∂z
g(z)) ∂z

u = α(z) = (4.8)



, f or ∂V

 0 ∂z
g (z) = 0

Example 4.2

Reconsider the scalar nonlinear system (1.1), to use Sontag’s formula (4.8) to find the
stabilizing function u, one needs first to fulfill that f (0) = 0. This can easily be done by
assuming that
1
u= (a cos z + α) (4.9)
c
Thus, the new system will be
ż = −bz 3 + α (4.10)

70
with f (z) = −bz 3 and g(z) = 1. Using the same Lyapunov function (4.4) and differentiating
it in time results in
V̇ = −bz 4 + zα (4.11)
∂V
Based on (4.4) and (4.10), ∂z
g = az 6= 0. Thus, the stabilization function can be obtained
using Sontag’s formula as follows
q 2 4
∂V ∂V ∂V
∂z
f+ ∂z
f + ∂z
g
α=− ∂V

∂z
g
q
−bz + (−bz 4 )2 + z 4
4 (4.12)
=−
z

= bz 3 − z b2 z 4 + 1

This results in the following overall stabilizing function


1 3
√ 
u=u= 2 4
a cos z + bz − z b z + 1 M (4.13)
c
Chapters five and six present the integrator backstepping theorem, backstepping design for
systems with a chain of integrators, backstepping design for systems in the strict feedback
form and adaptive backstepping design. Both chapters are based significantly on the great
book of nonlinear and adaptive control design by M. Krstić, I. Kanellakopoulos and P.V.
Kokotović [13].

71
5 Backstepping Control

5.1 Integrator Backstepping

The well-known integrator backstepping theorem is a useful tool to analyze systems in


a particular form by applying a systematic procedure to produce a stabilizing controller [59].
Consider the system shown in Fig. 5.1 and given by:

ż = f (z) + g (z) q
(5.1)
q̇ = u
f

where z ∈ Rn , q ∈ R and the control input uf ∈ R.

𝑢𝑓 𝑞 𝑧
𝑔(𝑧) +

𝑓(𝑧)

Figure 5.1: Block diagram of the affine nonlinear system.

Assuming that a state feedback control function q = u1 (z) that stabilizes ż is known where
u1 (0) = 0. That is to say, there is a positive definite, radially unbounded Lyapunov function
V1 (z) so that when using u1 (z):

∂V1 (z)
V̇1 (z) = [f (z) + g (z) u1 (z)] ≤ −W (z) (5.2)
∂z
where W (z) is positive definite. Accordingly, if one can make q equals u1 (z), then the
desired behavior can be achieved. Defining the error variable

x = q − u1 (z) (5.3)

72
results in introducing the virtual control function u1 (z) as shown in Fig. 5.2. That yields:

ż = f (z) + g (z) u1 (z) + g (z) [q − u1 (z)] (5.4)

𝑢𝑓 𝑞 𝑥 𝑧
+ 𝑔(𝑧) +

−𝑢1 (𝑧)
𝑓 𝑧 + 𝑔(𝑧)𝑢1 (𝑧)

Figure 5.2: Introducing virtual control function u1 (z).

Taking the derivative in time of (5.3) results in:

ẋ = q̇ − u̇1 (z) = uf − u̇1 (z) (5.5)

The preceding steps will transform system (5.1) into the following system, which includes
backstepping of the virtual control function u1 (z) as shown in Fig. 5.3.

ż = f (z) + g (z) u1 (z) + g (z) x
(5.6)
ẋ = u − u̇ (z)
f 1

𝑢𝑓 𝑥 𝑧
+ 𝑔(𝑧) +

−𝑢1 (𝑧) 𝑓 𝑧 + 𝑔(𝑧)𝑢1 (𝑧)

Figure 5.3: Backstepping of the virtual control function u1 (z).

73
The augmented Lyapunov function for the system (5.6) is given by:
1
V (z, x) = V1 (z) + x2 (5.7)
2
and its derivative with respect to time along the solution of system (5.6) is computed as:

∂V (z)
V̇ (z, x) = [f (z) + g (z) u1 (z) + g (z) x] + xẋ
∂z (5.8)
∂V (z) ∂V (z) ∂V (z)
= f (z) + g (z) u1 (z) + g (z) x + xuf − xu̇1 (z)
∂z ∂z ∂z
Choosing:
∂V (z)
uf = − g (z) + u̇1 (z) − kx , k > 0 (5.9)
∂z
yields:
∂V (z)
V̇ (z, x) = [f (z) + g (z) u1 (z)] − kx2 ≤ −W (z) − kx2 (5.10)
∂z
This proves according to Lyapunov theorem of stability that (z, x) = (0, 0) is globally asymp-
totically stable and as x = q − u1 (z) and u1 (0) = 0, (z, q) = (0, 0) is globally asymptotically
stable as well.

5.2 Backstepping for Systems with a Chain of Integrators

𝑢𝑓 𝑞𝑛 𝑞3 𝑞2 𝑞1 𝑧
𝑔(𝑧) +

𝑓(𝑧)

Figure 5.4: Nonlinear system with a chain of integrators.

74
Consider the system shown in Fig. 5.4 and given by the general form

ż = f (z) + g (z) q1
q̇1 = q2
q̇2 = q3
.. (5.11)
.
q̇n−1 = qn
q̇n = uf
Backstepping can be used to stabilize systems with a chain of integrators by the successive
repetition of the design procedure used for the second-order system (5.1). For more clari-
fication, deriving a control function for the following third-order system will be considered.

ż = f (z) + g (z) q1 (5.12a)


q̇1 = q2 (5.12b)
q̇2 = uf (5.12c)

5.2.1 Step:1

One can start the design by considering the first subsystem consisting of equation (5.12a):
n
ż = f (z) + g (z) q1 (5.13)

Let q1 be a virtual control function and assume that there is a feedback control function
u1 (z) = q1 with u1 (0) = 0 that stabilizes (5.13). There also exist V1 (z), a corresponding
positive definite and radially unbounded Lyapunov function such that when using u1 (z):
∂V1 (z)
V̇1 (z) = [f (z) + g (z) u1 (z)] ≤ −W1 (z) (5.14)
∂z
where W1 (z) is positive definite. With this assumption, one can proceed to derive the
stabilizing function for the whole system using backstepping as follows.

5.2.2 Step:2

Consider the second subsystem consisting of the two equations (5.12a) and (5.12b):

 ż = f (z) + g (z) q1
(5.15)
q̇ = q
1 2

75
Let q2 be the virtual control function and assume that there is a control function u2 (z, q1 ) =
q2 that stabilizes (5.15). Define the error parameter representing the difference between the
first virtual function q1 and the proposed control function u1 (z) as:

x1 = q1 − u1 (z) (5.16)

Accordingly, the first subsystem (5.13) will equivalently change to:


ż = f (z) + g (z) [u1 (z) + x1 ]
(5.17)
= f (z) + g (z) u1 (z) + g (z) x1
Differentiating (5.16) in time results in:
ẋ1 = q̇1 − u̇1 (z)
(5.18)
= q2 − u̇1 (z)
∂u1 (z)
where u̇1 (z) = ∂z
[f (z) + g (z) q1 ]. Thus, subsystem (5.15) in the new coordinates will
be:
ż = f (z) + g (z) u1 (z) + g (z) x1
(5.19)
ẋ1 = q2 − u̇1 (z)
To stabilize (5.19), consider the augmented Lyapunov function:
1
V2 (z, x1 ) = V1 (z) + x21 (5.20)
2
and differentiate it in time:
V̇2 (z, x1 ) = V̇1 (z) + x1 x˙1
∂V1 (z)
= [f (z) + g (z) u1 (z) + g (z) x1 ] + x1 [q2 − u̇1 (z)] (5.21)
∂z
∂V1 (z) ∂V1 (z) ∂V1 (z)
= f (z) + g (z) u1 (z) + g (z) x1 + x1 q2 − x1 u̇1 (z)
∂z ∂z ∂z
Choosing q2 = u2 (z, q1 ) as:
∂V1 (z)
q2 = u2 (z, q1 ) = − g (z) + u̇1 − k1 x1 (5.22)
∂z
yields that (5.21) turns out to be:
∂V1 (z)
V̇2 (z, x1 ) = [f (z) + g (z) u1 (z)] − k1 x21
∂z (5.23)
≤ −W (z) − k1 x21
In turn, this results in a global asymptotic stabilization of the the origin (z, x1 ) = (0, 0)
according to Lyapunov theorem of stability. Since x1 = q1 − u1 (z) and u1 (0) = 0, then
(z, q1 ) = (0, 0) is globally asymptotically stable as well.

76
5.2.3 Step:3

It is time now to derive the control function that stabilizes the whole system. Considering
the third subsystem consisting of equations (5.12a), (5.12b) and (5.12c)



 ż = f (z) + g (z) q1

q̇1 = q2 (5.24)



q̇ = u
2 f

where uf is the control input. In step:2, q2 was the virtual control function, and its pro-
posed value with Lyapunov function V2 (z, x1 ) was u2 (z, q1 ). Defining the error parameter
representing the difference between the second virtual control function q2 and the proposed
function u2 (z, q1 ) as:
x2 = q2 − u2 (z, q1 ) (5.25)

This, in turn, will change the second equation in (5.24) equivalently to:

q̇1 = u2 (z, q1 ) + x2 (5.26)

Taking the time derivative of (5.25) results in:

ẋ2 = q̇2 − u̇2 (z, q1 )


(5.27)
= uf − u̇2 (z, q1 )
Thus, the subsystem (5.24) will turn out to be:

ż = f (z) + g (z) q1
q̇1 = u2 (z, q1 ) + x2 (5.28)
ẋ2 = uf − u̇2
The augmented Lyapunov function for this system can be given by:
1
V (z, x1 , x2 ) = V2 (z, x1 ) + x22
2 (5.29)
1 2 1 2
= V1 (z) + x1 + x2
2 2
Differentiating (5.29) in time results in:

V̇ = V̇1 (z) + x1 ẋ1 + x2 x˙2


∂V1 (z)
= [f (z) + g (z) q1 ] + x1 (q̇1 − u̇1 (z)) + x2 (uf − u̇2 (z, q1 ))
∂z
∂V1 (z)
= [f (z) + g (z) u1 (z) + g (z) x1 ] + x1 (u2 (z, q1 ) + x2 ) − x1 u̇1 (z) + x2 uf − x2 u̇2 (z, q1 )
∂z
(5.30)

77
Substituting (5.22) in (5.30) yields:
∂V1 (z)
V̇ (z, x1 , x2 ) = [f (z) + g (z) u1 (z)] − k1 x21 + x1 x2 + x2 uf − x2 u̇2 (z, q1 ) (5.31)
∂z
To guarantee that (5.31) is negative definite, uf can be chosen to be:

uf = u̇2 (z, q1 ) − k2 x2 − x1 (5.32)

Thus, (5.31) will become:


∂V1 (z)
V̇ (z, x1 , x2 ) = [f (z) + g (z) u1 (z)] − k1 x21 + k2 x22
∂z (5.33)
≤ −W (z) − k1 x21 + k2 x22

which means according to Lyapunov that the origin of the third-order system (5.12) is
globally asymptotically stable with control law (5.32). For more clarification in this regard,
the following example of a third-order system is considered:

Example 5.1

ż = z 2 + q1 (5.34a)
q̇1 = q2 (5.34b)
q̇2 = uf (5.34c)
y = q1 (5.34d)

This system has a relative degree of 2 because ÿ = uf . It also has an internal dynamic with
state z. However, this internal dynamic is not stable because:

ż = φ (z, q1 ) = φ (z, 0) = z 2 (5.35)

The instability of the internal system dynamic means that the equilibrium point z ∗ = 0 at
the origin is not stable and hence the system (5.34) can not be stabilized using feedback
linearization method. Fortunately, the backstepping design approach can solve this problem
in three steps.

Step:1

Consider (5.34a) representing the first subsystem:


n
ż = z 2 + q1 (5.36)

78
Let q1 be a virtual control function and assume that there is a feedback control function
u1 (z) = q1 that stabilizes (5.36). Also, assume a positive definite and radially unbounded
Lyapunov function is given by:
1
V1 (z) = z 2 (5.37)
2
such that when using u1 (z):
V̇1 (z) ≤ −W (z) (5.38)

where W (z) is positive definite. Taking the derivative in time of (5.37) results in:

V̇1 = z ż
= z z 2 + u1 (z)
 
(5.39)
= z 3 + zu1 (z)

Choosing u1 (z) as:


u1 (z) = −z − z 2 (5.40)

and substituting (5.40) in (5.39). Thus, (5.39) will become:

ż = z 3 + z −z − z 2
 

= z3 − z2 − z3
(5.41)
= −z 2
≤ −W (z)

At this point, one can proceed to the second step towards deriving the stabilizing state
feedback law for (5.34) using backstepping approach.

Step:2

Consider the second subsystem represented by the set of equations (5.34a) and (5.34b):

 ż = z 2 + q1
(5.42)
q̇ = q
1 2

Now, q2 is considered as a control input. Define the error parameter:

x1 = q1 − u1 (z) (5.43)

and re-write subsystem (5.36) using the error system (5.43)


n
ż = z 2 + u1 (z) + x1 (5.44)

79
Differentiating (5.43) in time yields:

ẋ1 = q̇1 − u̇1 (z)


(5.45)
= q2 − u̇1 (z)

Then, the subsystem (5.42) will accordingly be updated to:



 ż = z 2 + u1 (z) + x1
(5.46)
ẋ = q − u̇ (z)
1 2 1

where u̇1 (z) is calculated as:

u̇1 (z) = −ż − 2z ż


= −z 2 − u1 (z) − 2z z 2 + u1 (z)

(5.47)
= −z 2 + z + z 2 − 2z z 2 − z − z 2


= z + 2z 2

Choosing the augmented Lyapunov function to stabilize (5.46):


1
V2 (z, x1 ) = V1 (z) + x21 (5.48)
2
The time derivative of (5.48) is obtained as:

V̇2 (z, x1 ) = V̇1 (z) + x1 ẋ1


= −z 2 + x1 [q2 − u̇1 (z)] (5.49)
= −z 2 + x1 q2 − x1 u̇1 (z)

Choosing q2 = u2 (z, q1 ) as:

q2 = u2 (z, q1 ) = u̇1 (z) − k1 x1 (5.50)

and substituting (5.50) in (5.49). Thus, (5.49) turns out to be:

V̇2 (z, x1 ) = −z 2 − k1 x21


(5.51)
≤ −W (z) − k1 x21

which means that the origin (z, x1 ) = (0, 0) is globally asymptotically stable and hence
(z, q1 ) = (0, 0) is also globally asymptotically stable.

80
Step:3

In the third step, the subsystem consisting of the set of equations (5.34a), (5.34b) and (5.34c)
is considered: 


 ż = z 2 + q1

q̇1 = q2 (5.52)



q̇ = u
2 f

where now the control input is uf . Define the error parameter:

x2 = q2 − u2 (z, q1 ) (5.53)

such that from (5.40), (5.43), (5.47) and (5.50), u2 (z, q1 ) can further be calculated as:

u2 (z, q1 ) = u̇1 (z) − k1 x1


= z + 2z 2 − k1 [q1 − u1 (z)] (5.54)
= z + 2z 2 − k1 q1 + z + z 2
 

As a result of (5.53), the second equation in the subsystem (5.52) turns out to be:

q̇1 = u2 (z, q1 ) + x2 (5.55)

The time derivative of the error parameter (5.53) is:

ẋ2 = q̇2 − u̇2 (z, q1 )


(5.56)
= uf − u̇2 (z, q1 )

From (5.54), u̇2 (z, q1 ) can be derived as:

u̇2 (z, q1 ) = ż + 4z ż − k1 [q̇1 + ż + 2z ż]


= ż + 4z ż − k1 q̇1 − k1 ż − 2k1 z ż (5.57)
= z 2 + q1 + 4z z 2 + q1 − k1 q2 − k1 z 2 + q1 − 2k1 z z 2 + q1
  

Consequently, the subsystem (5.52) will equivalently turn out to be:





 ż = z 2 + q1

q̇1 = u2 (z, q1 ) + x2 (5.58)



ẋ = u − u̇ (z, q )
2 f 2 1

81
The augmented Lyapunov function is chosen as:
1 1
V (z, x1 , x2 ) = V1 (z) + x21 + x22 (5.59)
2 2
The derivative in time of (5.59) is calculated as follows:
V̇ (z, x1 , x2 ) = V̇1 (z) + x1 ẋ1 + x2 ẋ2
(5.60)
= −z 2 + x1 [q2 − u̇1 (z)] + x2 [uf − u̇2 (z, q1 )]
Substitute for q2 from (5.53)

V̇ (z, x1 , x2 ) = −z 2 + x1 [u2 (z, q1 ) + x2 ] − x1 u̇1 + x2 [uf − u̇2 (z, q1 )] (5.61)

Substituting for u2 (z, q1 ) from (5.54)

V̇ (z, x1 , x2 ) = −z 2 − k1 x21 + x1 x2 + x2 uf − x2 u̇2 (z, q1 ) (5.62)

To make (5.62) negative definite according to Lyapunov theorem, one can choose uf as:

uf = u̇2 (z, q1 ) − k2 x2 − x1 (5.63)

Substituting (5.63) in (5.62) yields:


V̇ (z, x1 , x2 ) = −z 2 − k1 x21 − k2 x22
(5.64)
≤ −W (z) − k1 x21 − k2 x22

TIME RESPONSE
2.5

1.5

1
z,q 1& q 2

0.5

-0.5

-1

-1.5

-2
0 2 4 6 8 10
Time (sec)

Figure 5.5: Simulation results of stabilizing the system (5.34).

82
It can be concluded that according to the Lyapunov theorem of stability, the origin (z, q1 , q2 ) =
(0, 0, 0) as simulation results show in Fig. 5.5 is globally asymptotically stable. M

5.3 Backstepping for Systems in Strict Feedback Form

In nonlinear systems control, the system is said to be in strict feedback form if it is


of the following form [52] and [24]:

ż1 = f1 (z1 ) + g1 (z1 ) z2


ż2 = f2 (z1 , z2 ) + g2 (z1 , z2 ) z3
: (5.65)
żn−1 = fn−1 (z1 , z2 , . . . , zn−1 ) + gn−1 (z1 , z2 , . . . , zn−1 ) zn
żn = fn (z1 , z2 , . . . , zn−1 , zn ) + gn (z1 , z2 , . . . , zn−1 , zn ) uf

where z ∈ Rn is the states of the system and uf ∈ R is the control input. The notion of
integrator backstepping can be expanded to be suitable for such systems. To clarify how
control function is designed through backstepping for systems of strict feedback form, the
following third-order example is considered.



ż1 = f1 (z1 ) + g1 (z1 ) z2

ż2 = f2 (z1 , z2 ) + g2 (z1 , z2 ) z3 (5.66)



ż = f (z , z , z ) + g (z , z , z ) u
3 3 1 2 3 3 1 2 3 f

5.3.1 Step:1

The design starts by considering the first subsystem ż1 :

ż1 = f1 (z1 ) + g1 (z1 ) z2 (5.67)

Let z2 be a virtual control function and assume that a control function u1 (z1 ) that stabi-
lizes ż1 is known. Besides, assume that there is a positive definite and radially unbounded
Lyapunov function V1 (z1 ) such that when using u1 (z1 ):

∂V
V̇1 (z1 ) = [f1 (z1 ) + g1 (z1 ) u1 ] ≤ −W1 (5.68)
∂z1

where W1 is positive definite.

83
5.3.2 Step:2

Consider the set of subsystems ż1 and ż2



ż1 = f1 (z1 ) + g1 (z1 ) z2
(5.69)
ż = f (z , z ) + g (z , z ) z
2 2 1 2 2 1 2 3

Now, let z3 be the virtual control function and the desired stabilizing function be u2 . From
step:1, one can introduce the error parameter that represents the difference between the
virtual control function z2 and the desired control function u1 (z1 ) as follows:

x1 = z2 − u1 (z1 ) (5.70)

Differentiating it in time and substituting for z2 = u1 + x1 and the virtual control input z3
with the desired stabilizing function u2 , the set of subsystems ż1 and ż2 in new coordinates
will be:
ż1 = f1 (z1 ) + g1 (z1 ) [u1 + x1 ]
= f1 (z1 ) + g1 (z1 ) u1 + g1 (z1 ) x1
(5.71)
ẋ1 = ż2 − u̇1
= f2 (z1 , z2 ) + g2 (z1 , z2 ) u2 − u̇1
Choosing the Lyapunov function:
1
V2 (z1 , x1 ) = V1 + x21
2 (5.72)
1 2 1 2
= z1 + x1
2 2
Differentiating V2 in time yields:
V̇2 = z1 ż1 + x1 ẋ1
= z1 [f1 + g1 u1 + g1 x1 ] + x1 [f2 + g2 u2 − u̇1 ]
(5.73)
= z1 [f1 + g1 u1 ] + x1 [f2 + g2 u2 − u̇1 + z1 g1 ]
≤ −W1 + x1 [f2 + g2 u2 − u̇1 + z1 g1 ]
Choosing u2 (z1 , x1 ):
1
u2 (z1 , x1 ) = [−f2 + u̇1 − z1 g1 − k1 x1 ] (5.74)
g2
Substituting for u2 (z1 , x1 ) in V̇2 results in:
V̇2 ≤ −W1 − k1 x21
(5.75)
≤ −W2

84
5.3.3 Step:3

In the last step, the set of subsystems ż1 , ż2 and ż3 will be considered.



 ż1 = f1 (z1 ) + g1 (z1 ) z2

ż2 = f2 (z1 , z2 ) + g2 (z1 , z2 ) z3 (5.76)



ż = f (z , z , z ) + g (z , z , z ) u
3 3 1 2 3 3 1 2 3 f

Now, uf is the control input for the whole system. From step:2, one can introduce the
error parameter that represents the difference between the virtual control function z3 and
the desired control function u2 (z1 , x1 ) as follows:

x2 = z3 − u2 (z1 , x1 ) (5.77)

Differentiating it in time and substituting for z3 = u2 + x2 , the set of subsystems ż1 , ż2 and
ż3 in new coordinates will be:

ż1 = f1 (z1 ) + g1 (z1 ) z2


ż2 = f2 (z1 , z2 ) + g2 (z1 , z2 ) [u2 + x2 ]
(5.78)
= f2 (z1 , z2 ) + g2 (z1 , z2 ) u2 + g2 (z1 , z2 ) x2
ẋ2 = f3 (z1 , z2 , z3 ) + g3 (z1 , z2 , z3 ) uf − u̇2
Choosing the Lyapunov function:
1
V3 (z1 , x1 , x2 ) = V2 (z1 , x1 ) + x22
2
1 2 1 2
= V1 (z1 ) + x1 + x2 (5.79)
2 2
1 2 1 2 1 2
= z1 + x1 + x2
2 2 2
Differentiating V3 in time results in:

V̇3 = z1 ż1 + x1 ẋ1 + x2 ẋ2


= z1 [f1 + g1 z2 ] + x1 [ż2 − u̇1 ] + x2 [ż3 − u̇2 ]
(5.80)
= z1 [f1 + g1 u1 + g1 x1 ] + x1 [f2 + g2 u2 + g2 x2 − u̇1 ] + x2 [f3 + g3 uf − u̇2 ]
= z1 [f1 + g1 u1 ] + x1 [f2 + g2 u2 − u̇1 + g1 z1 ] + x2 [f3 + g3 uf − u̇2 + g2 x1 ]

Substituting for u2 from (5.74) yields:

V̇3 = z1 [f1 + g1 u1 ] − k1 x21 + x2 [f3 + g3 uf − u̇2 + g2 x1 ]


(5.81)
≤ −W2 + x2 [f3 + g3 uf − u̇2 + g2 x1 ]

85
Choosing uf
1
uf = [−f3 + u̇2 − g2 x1 − k2 x2 ] (5.82)
g3
Substituting for uf in V̇3 results in:

V̇3 ≤ −W2 − k2 x22


(5.83)
≤ −W3
According to Lyapunov, the designed uf guarantees the stability of the system equilibria.
Following this iterative procedure explains how backstepping is used to design stabilizing
functions for systems in the strict feedback form. However, it may get more complicated
when the system is of a higher order. Therefore, the algorithm in the next section can be
applied to design stabilizing function in a much easier and more organized manner.

5.4 Backstepping Control Algorithm for Systems in Strict Feedback Form

5.4.1 Step:1

Let x1 = z1 . Define the error variable:

x2 = z2 − u1 (5.84)

where z2 is the virtual control signal, and u1 is the proposed stabilizing function. Choose:
1
u1 = (−f1 (z1 ) − k1 x1 ) , k1 > 0 (5.85)
g1 (z1 )
Taking the derivative in time of x1 yields:
ẋ1 = f1 (z1 ) + g1 (z1 ) [x2 + u1 ]
(5.86)
= f1 (z1 ) + g1 (z1 ) x2 + g1 (z1 ) u1
Substituting for the value of u1 results in:

ẋ1 = −k1 x1 + g1 (z1 ) x2 (5.87)

Consider the Lyapunov function:


1
V1 (x1 ) = x21 (5.88)
2
Differentiating it in time:
V̇1 (x1 ) = x1 ẋ1
= x1 (−k1 x1 + g1 (z1 ) x2 ) (5.89)
= −k1 x21 + g1 (z1 ) x1 x2

86
5.4.2 Step:2

From step:1, x2 = z2 − u1 . Define the error variable:

x3 = z3 − u2 (5.90)

where z3 is the virtual control signal, and u2 is the proposed stabilizing function. Choose:
1
u2 = [−f2 (z1 , z2 ) + u̇1 − k2 x2 − g1 (z1 ) x1 ] , k2 > 0 (5.91)
g2 (z1 , z2 )
Taking the derivative in time of the error variable x2 results in:

ẋ2 = ż2 − u̇1


= f2 (z1 , z2 ) + g2 (z1 , z2 ) [x3 + u2 ] − u̇1 (5.92)
= f2 (z1 , z2 ) + g2 (z1 , z2 ) x3 + g2 (z1 , z2 ) u2 − u̇1

Substituting for the value of u2 yields:

ẋ2 = −k2 x2 + g2 (z1 , z2 ) x3 − g1 (z1 ) x1 (5.93)

Consider the augmented Lyapunov function:


1
V2 (x1 , x2 ) = V1 (x1 ) + x22 (5.94)
2
Differentiating it in time results in:

V̇2 (x1 , x2 ) = V̇1 (x1 ) + x2 ẋ2


= −k1 x21 + g1 (z1 ) x1 x2 + x2 ẋ2
= −k1 x21 + g1 (z1 ) x1 x2 + x2 (−k2 x2 + g2 (z1 , z2 ) x3 − g1 (z1 ) x1 ) (5.95)
= −k1 x21 + g1 (z1 ) x1 x2 − k2 x22 + g2 (z1 , z2 ) x2 x3 − g1 (z1 ) x1 x2
= −k1 x21 − k2 x22 + g2 (z1 , z2 ) x2 x3

5.4.3 Step:n-1

From step:n-2, xn−1 = zn−1 − un−2 . Define the error variable:

xn = zn − un−1 (5.96)

where zn is the virtual control signal, and un−1 is the proposed stabilizing function. Choose:

1
un−1 = gn−1 (z1 ,...,zn−1 )
[−fn−1 (z1 , . . . , zn−1 ) + u̇n−2 − kn−1 xn−1 − gn−2 (z1 , . . . , zn−2 ) xn−2 ], kn−1 > 0
(5.97)

87
Taking the derivative in time of the error variable xn−1 results in:

ẋn−1 = żn−1 − u̇n−2


= fn−1 (z1 , . . . , zn−1 ) + gn−1 (z1 , . . . , zn−1 ) [xn + un−1 ] − u̇n−2 (5.98)
= fn−1 (z1 , . . . , zn−1 ) + gn−1 (z1 , . . . , zn−1 ) xn + gn−1 (z1 , . . . , zn−1 ) un−1 − u̇n−2

Substituting for the value of un−1 yields:

ẋn−1 = −kn−1 xn−1 − gn−2 (z1 , . . . , zn−2 ) xn−2 + gn−1 (z1 , . . . , zn−1 ) xn (5.99)

Consider the augmented Lyapunov function:


1
Vn−1 (x1 , . . . , xn−1 ) = Vn−2 (x1 , . . . , xn−2 ) + x2n−1 (5.100)
2
Differentiating it in time:
n−2
X
V̇n−1 (x1 , . . . , xn−1 ) = − ki x2i + gn−2 (z1 , . . . , zn−2 ) xn−2 xn−1 − kn−1 x2n−1
i=1

+ gn−1 (z1 , . . . , zn−1 ) xn−1 xn − gn−2 (z1 , . . . , zn−2 ) xn−2 xn−1 (5.101)
n−1
X
=− ci x2i + gn−1 (z1 , . . . , zn−1 ) xn−1 xn
i=1

5.4.4 Step:n

From step:n-1, xn = zn − un−1 . Differentiating xn in time results in:

ẋn = żn − u̇n−1


(5.102)
= fn (z1 , . . . , zn ) + gn (z1 , . . . , zn ) uf − u̇n−1

Choose:
1
uf = [−fn (z1 , . . . , zn ) + u̇n−1 − kn xn − gn−1 (z1 , . . . , zn−1 ) xn−1 ], kn > 0
gn (z1 , . . . , zn )
(5.103)
Consider the augmented Lyapunov function:
1
Vn (x1 , . . . , xn ) = Vn−1 (x1 , . . . , xn−1 ) + x2n
2
1 Xn (5.104)
= x2
2 i=1 i

88
Differentiating it in time:
n
X
V̇n (x1 , . . . , xn ) = − ki x2i (5.105)
i=1

which is negative definite and hence one can deduce that the origin [x1 , . . . , xn ] is globally
asymptotically stable. Furthermore, as it has been assumed that xi = zi −ui−1 and ui−1 (0) =
0, then [z1 , . . . , zn ], the origin of the system is globally asymptotically stable as well.

89
6 Adaptive Backstepping Control

6.1 Simple Adaptive Regulation Control

This section introduces an illustrative example to clarify the difference between static,
which is non-adaptive and dynamic, which is adaptive control design methods. Consider the
scalar nonlinear system given by:

ż = θf (z) + g (z) u (6.1)

where the parameter θ is an unknown constant. The goal is to regulate z (t) → 0 or in other
words to make z = 0 into a stable equilibrium point. Assume that there is a positive definite
and radially unbounded Lyapunov function:
1
V (z) = z 2 (6.2)
2
If θ were known, then the controller:
1
u= [−θf (z) − kz] , k>0 (6.3)
g (z)

would make the derivative of Lyapunov function (6.2) negative definite.

V̇ = −kz 2 (6.4)

However, θ is unknown, and hence, the controller (6.3) is irrational. This problem of uncer-
tainty of θ can be solved by replacing θ by an estimate θ̂ so that (6.3) becomes:
1 h i
u= −θ̂f (z) − kz , k > 0 (6.5)
g (z)

In turn, (6.1) will accordingly change as follows:

ż = θf (z) − θ̂f (z) − kz


 
= θ − θ̂ f (z) − kz (6.6)

= θ̃f (z) − kz

where θ̃ represents the error parameter for the difference between the actual unknown value θ
and its estimate θ̂. Using the same Lyapunov function given in (6.2) would not help to design

90
a suitable controller because its derivative would contain an indefinite term that would not
be easy to get rid of, as shown below:

V̇ = z ż
 
= z θ̃f (z) − kz
(6.7)
= θ̃zf (z) −kz 2
| {z }
Indef inite

A solution to this problem was proposed in [13] where (6.2) is augmented by a quadratic
term of θ̃ as follows
  1 1
V z, θ̃ = z 2 + θ̃2 (6.8)
2 2γ
where γ is an adaptation gain. Thus, the controller dynamic will contain an update law for
˙
the estimate θ̂ and then with a proper choice of θ̂, the indefinite term can be canceled. The
derivative of (6.8) is obtained as:
1
V̇ = z ż + θ̃θ̃˙
γ
 1
= z θ̃f (z) − kz + θ̃θ̃˙

γ (6.9)

= −kz 2 + θ̃[zf (z) + θ̃]
γ
| {z }
˙
The term above the brace is still indefinite. However as θ̃˙ = −θ̂, then (6.9) turns out to be:
 
2 1˙
V̇ = −kz + θ̃ zf (z) − θ̂ (6.10)
γ
Choosing the update law:
˙
θ̂ = γzf (z) (6.11)

yields:
V̇ = −kz 2 ≤ 0 (6.12)
h iT h iT
Hence, z θ̃ = 0 0 is stable, and the resulting adaptive system is:
n
nonlinear system ⇒ ż = θf (z) + g (z) u
 h i
 u = 1 −θ̂f (z) − kz
 (6.13)
g(z)
adaptive controller ⇒
 θ̂˙ = γzf (z)

91
−𝑘 𝜃 𝑓(𝑧)

𝜃 𝑢 𝑧
𝑓(𝑧) 𝛾 𝑓(𝑧)

𝐴𝑑𝑎𝑝𝑡𝑖𝑣𝑒 𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑙𝑒𝑟 𝑃𝑙𝑎𝑛𝑡


Figure 6.1: Closed Loop for system (6.13)

The system (6.13) can be re-written as:



 ż = θ̃f (z) − kz
(6.14)
 θ̃˙ = −γzf (z)

𝜃 𝜃 𝑧
𝑓(𝑧)
−𝜃
−𝑘

𝛾 𝜃
𝑓(𝑧)

Figure 6.2: Equivalent block diagram for the system represented in Fig. 6.1

In the previous example, the unknown parameter θ is matched by u, this means it is in


the same equation with the control function u, and hence it was so easy to cancel the term
containing θ by the control law. Later in this chapter, a more general case when the unknown
parameter is unmatched by u will be discussed, that is when the control function is separated
from it by a number of integrators.

92
6.2 Simple Adaptive Tracking Control

Reconsider the scalar nonlinear system given in (6.1). The goal now is to track a
reference r (t). Therefore, one can start by defining the tracking error parameter:

e=z−r (6.15)

Taking the derivative in time of (6.15)

ė = ż − ṙ (6.16)

Substituting (6.1) in (6.16)


ė = θf (z) + g (z) u − ṙ (6.17)

Considering the estimate θ̂ of the unknown constant parameter θ, the control law
1 h i
u= −θ̂f (z) + ṙ − ke (6.18)
g (z)
will try to regulate e → 0. To see if that will work, one can use the Lyapunov function
  1 1
V e, θ̃ = e2 + θ̃2 (6.19)
2 2γ
whose derivative in time is obtained as
1
V̇ = eė + θ̃θ̃˙ (6.20)
γ
Substituting (6.17) and (6.18) into (6.20) yields
i 1
˙
h
V̇ = e θf (z) − θ̂f (z) + ṙ − ke − ṙ − θ̃θ̂
γ
i 1
˙
h 
= e θ − θ̂ f (z) − ke − θ̃θ̂
γ
i 1 (6.21)
˙
h
= e θ̃f (z) − ke − θ̃θ̂
γ
1 ˙
= −ke2 + eθ̃f (z) − θ̃θ̂
γ
Choosing the adaptation law
˙
θ̂ = γf (z) e (6.22)

will change (6.21) to


V̇ = −ke2 (6.23)
h iT h iT
Thus, according to the Lyapunov theorem of stability e θ̃ = 0 0 is stable, and one
can say that |θ̃| and |e| are bounded.

93
6.3 Adaptive Backstepping for Second Order Matched System

In sections 6.1 and 6.2, the controller design was straightforward. This simplicity
of the design is because the unknown parameters appeared in the same equations with the
control function. This section will explain how this is considered an advantage by considering
the following second-order system.

ż1 = f1 (z1 ) + g1 (z1 ) z2 (6.24a)


ż2 = θf2 (z) + g2 (z) uf (6.24b)

Assuming that θ is known and following procedure of section 5.3 or 5.4, the non-adaptive
controller can be designed by first considering subsystem (6.24a) and assuming that z2 is
a virtual control input whose desired value will be denoted by u1 . Let x1 = z1 so that ẋ1
equals (6.24a). Choosing the Lyapunov function
1
V1 (x1 ) = x21 (6.25)
2
whose derivative in time is obtained as

V̇1 = x1 ẋ1
(6.26)
= x1 [f1 (z1 ) + g1 (z1 ) z2 ]

and choosing
1
z2 = u1 = [−f1 (z1 ) − k1 x1 ] (6.27)
g1 (z1 )
would make (6.26) become

V̇1 = x1 ẋ1
  
1
= x1 f1 (z1 ) + g1 (z1 ) [−f1 (z1 ) − k1 x1 ]
g1 (z1 ) (6.28)
= x1 [f1 (z1 ) − f1 (z1 ) − k1 x1 ]
= −k1 x21 ≤ −W1 ≤ 0

The control function u1 is not the valid one but instead is the desired control function.
Therefore, an error parameter that represents the difference between the virtual control
function z2 and the desired control function u1 can be defined as

x2 = z2 − u1 (6.29)

94
Taking its derivative in time and using (6.24b)

ẋ2 = ż2 − u̇1


(6.30)
= θf2 (z) + g2 (z) uf − u̇1

From (6.27), (6.29) and (6.30), the system (6.24) in new coordinates will be

ẋ1 = −k1 x1 + g1 (z1 ) x2 (6.31a)


ẋ2 = θf2 (z) + g2 (z) uf − u̇1 (6.31b)

Choosing the augmented Lyapunov function


1 1
V2 (x1 , x2 ) = x21 + x22 (6.32)
2 2
and differentiating it in time yields

V̇2 = x1 ẋ1 + x2 ẋ2


= x1 [−k1 x1 + g1 (z1 ) x2 ] + x2 [θf2 (z) + g2 (z) uf − u̇1 ] (6.33)
= −k1 x21 + x2 [g1 (z1 ) x1 + θf2 (z) + g2 (z) uf − u̇1 ]

Choosing uf as
1
uf = [−k2 x2 − g1 (z1 ) x1 − θf2 (z) + u̇1 ] (6.34)
g2 (z)
yields

V̇2 = −k1 x21 − k2 x22


(6.35)
≤ −W1 − k2 x22 ≤ −W2 ≤ 0
h iT h iT h iT h iT
This implies that x1 x2 = 0 0 is stable, and hence, z1 z2 = 0 0 is also
stable. However, this design was based on the assumption that θ is known, but it is not.
Therefore, it will again be replaced in (6.34) with an estimate θ̂ such that the following
adaptive controller is obtained
1 h i
uf = −k2 x2 − g1 (z1 ) x1 − θ̂f2 (z) + u̇1 (6.36)
g2 (z)
Updating system (6.31) accordingly, one will get

ẋ1 = −k1 x1 + g1 (z1 ) x2 (6.37a)


ẋ2 = θ̃f2 (z) − k2 x2 − g1 (z1 ) x1 (6.37b)

95
where θ̃ is the difference between the unknown parameter θ and its estimate θ̂. Augmenting
(6.32) with a quadratic term of θ̃ results in the following Lyapunov function
  1 1 1
V3 x1 , x2 , θ̃ = x21 + x22 + θ̃2 (6.38)
2 2 2γ
whose derivative in time is
1
V̇3 = x1 ẋ1 + x2 ẋ2 + θ̃θ̃˙
γ
i 1
= x1 [−k1 x1 + g1 (z1 ) x2 ] + x2 θ̃f2 (z) − k2 x2 − g1 (z1 ) x1 + θ̃θ̃˙
h
(6.39)
γ
1 ˙
= −k1 x21 − k2 x22 + θ̃f2 (z) x2 − θ̃θ̂
γ
To eliminate the indefinite term, one can choose the update law

˙
θ̂ = γf2 (z) x2 (6.40)

Consequently, the derivative of Lyapunov function (6.39) will become

V̇3 = −k1 x21 − k2 x22


(6.41)
≤0
h iT h iT
which implies that x1 x2 θ̃ = 0 0 0 is stable and the resulting adaptive system
is:

 ẋ1 = −k1 x1 + g1 (z1 ) x2
nonlinear system ⇒
 ẋ = θf (z) + g (z) u − u̇
2 2 2 f 1
 h i (6.42)
 uf = 1 −k2 x2 − g1 (z1 ) x1 − θ̂f2 (z) + u̇1

g2 (z)
adaptive controller ⇒
˙
 θ̂ = γf2 (z) x2

which can be re-written as



ẋ1 = −k1 x1 + g1 (z1 ) x2





ẋ2 = θ̃f2 (z) − k2 x2 − g1 (z1 ) x1 (6.43)


 ˙

 θ̃ = −γf (z) x 2 2

Fig. 6.3 and Fig. 6.4 are the block diagrams for systems (6.42) and (6.43) respectively.

96
𝑃𝑙𝑎𝑛𝑡
𝜃

−𝑘1
𝑓2 (⋅)

𝑥2 𝑥1
−𝑢1 𝑔1 (⋅)

𝑢𝑓 −𝑘2

𝑢1 𝑔1 (⋅)

𝜃
𝑓2 (⋅) 𝛾 𝑓2 (⋅)

𝐴𝑑𝑎𝑝𝑡𝑖𝑣𝑒 𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑙𝑒𝑟
Figure 6.3: Block diagram for system (6.42)

𝑃𝑙𝑎𝑛𝑡

−𝑘1
𝑔1 (⋅)

𝜃 𝑥2 𝑥1
𝜃 𝑓2 (⋅) 𝑔1 (⋅)
−𝜃
−𝑘2

𝜃
𝛾 𝑓2 (⋅)

𝐴𝑑𝑎𝑝𝑡𝑖𝑣𝑒 𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑙𝑒𝑟
Figure 6.4: Block diagram for system (6.43)

97
6.4 Adaptive Backstepping for Second Order Extended Matching System

Extended matching is a case where the unknown parameter is one integrator separated
from the control input. This section considers the following second-order system with the
unknown constant parameter θ being one integrator before the control input uf .

ż1 = θf1 (z1 ) + g1 (z1 ) z2 (6.44a)


ż2 = f2 (z) + g2 (z) uf (6.44b)

Again, assuming that θ is known, then using the concept of integrator backstepping and
procedure of section 5.3 or 5.4 would stabilize the system as follows. Let z2 be a virtual
control input to the subsystem (6.44a) and denote its desired value as u1 . Let x1 = z1 so
that ẋ1 equals (6.44a). Choosing the following Lyapunov function for subsystem (6.44a)
1
V1 (x1 ) = x21 (6.45)
2
Differentiating it in time as

V̇1 = x1 ẋ1
(6.46)
= x1 [θf1 (z1 ) + g1 (z1 ) z2 ]

and choosing the virtual control input


1
z2 = u1 (x1 , θ) = [−θf1 (z1 ) − k1 x1 ] (6.47)
g1 (z1 )
would make (6.46) become

V̇1 = x1 ẋ1
  
1
= x1 θf1 (z1 ) + g1 (z1 ) [−θf1 (z1 ) − k1 x1 ]
g1 (z1 )
= x1 [θf1 (z1 ) − θf1 (z1 ) − k1 x1 ] (6.48)
= −k1 x21
≤ −W1
≤0

Now, as u1 (x1 , θ) is not a valid control function but the desired one, the following error
parameter can be defined
x2 = z2 − u1 (x1 , θ) (6.49)

98
The derivative of this error parameter is obtained as

ẋ2 = ż2 − u̇1


(6.50)
= f2 (z) + g2 (z) uf − u̇1

Considering (6.47), (6.49) and (6.50) will modify the system (6.44) to be

ẋ1 = −k1 x1 + g1 (z1 ) x2 (6.51a)


ẋ2 = f2 (z) + g2 (z) uf − u̇1 (6.51b)

Choosing the Lyapunov function


1 1
V2 (x1 , x2 ) = x21 + x22 (6.52)
2 2
and then taking its derivative in time yields

V̇2 = x1 ẋ1 + x2 ẋ2


= x1 [−k1 x1 + g1 (z1 ) x2 ] + x2 [f2 (z) + g2 (z) uf − u̇1 ] (6.53)
= −k1 x21 + x2 [g1 (z1 ) x1 + f2 (z) + g2 (z) uf − u̇1 ]

One can now choose the system control input as


1
uf = [−k2 x2 − g1 (z1 ) x1 − f2 (z) + u̇1 ] (6.54)
g2 (z)
This control function uf will make the derivative of Lyapunov function (6.53) negative defi-
nite.

V̇2 = −k1 x21 − k2 x22


= −W1 − k2 x2
(6.55)
≤ −W2
≤0

This is the objective of the Lyapunov theorem for the control function to stabilize the system.
However, as θ is unknown, the aforementioned method can not be implemented. Fortunately,
one can still use the notion of integrator backstepping to design the adaptive controller for
extended matching systems problems. Back to the same system given in (6.44), as it is of
order two, two steps are needed to design the control function.

ż1 = θf1 (z1 ) + g1 (z1 ) z2


ż2 = f2 (z) + g2 (z) uf

99
Step:1

Starting with the subsystem (6.44a), assume that z2 is the virtual control input whose desired
value is denoted by u1 . Let x1 = z1 and x2 = z2 − u1 . Also, assume that θ̂1 is an estimate
for the unknown parameter θ. Based on these assumptions, the adaptive version of the
controller (6.47) will be
  1 h i
z2 = u1 x1 , θ̂1 = −θ̂1 f1 (z1 ) − k1 x1 (6.56)
g1 (z1 )
Taking the derivative of x1 in time and substituting for z2 = u1 + x2

ẋ1 = θf1 (z1 ) + g1 (z1 ) u1 + g1 (z1 ) x2 (6.57)

Substituting for u1 from (6.56)

ẋ1 = θf1 (z1 ) − θ̂1 f1 (z1 ) − k1 x1 + g1 (z1 ) x2


 
= θ − θ̂1 f1 (z1 ) − k1 x1 + g1 (z1 ) x2 (6.58)

= θ̃1 f1 (z1 ) − k1 x1 + g1 (z1 ) x2

Choosing the following Lyapunov function


  1 1
V1 x1 , θ̃1 = x21 + θ̃12 (6.59)
2 2γ
where γ is the adaptation gain and differentiating it in time results in
1
V̇1 = x1 ẋ1 + θ̃1 θ̃˙1
γ
i 1
˙
h
= x1 θ̃1 f1 (z1 ) − k1 x1 + g1 (z1 ) x2 − θ̃1 θ̂1
γ
1 ˙ (6.60)
= θ̃1 f1 (z1 ) x1 − k1 x21 + g1 (z1 ) x1 x2 − θ̃1 θ̂1
γ
 
2 1˙
= −k1 x1 + g1 (z1 ) x1 x2 + θ̃1 f1 (z1 ) x1 − θ̂1
γ

Choosing the adaptation law


˙
θ̂1 = γf1 (z1 ) x1 (6.61)

will make (6.60) become


V̇1 = −k1 x21 + g1 (z1 ) x1 x2 (6.62)

100
Step:2

Differentiating the error parameter x2 , for the difference between the virtual control function
z2 and the desired control function u1

ẋ2 = ż2 − u̇1 (6.63)

where
  ∂u ∂u1 ˙
1
u̇1 x1 , θ̂1 = ẋ1 + θ̂1 (6.64)
∂x1 ∂ θ̂1
Substituting (6.44b) and (6.64) into (6.63) yields
∂u1 ∂u1 ˙
ẋ2 = f2 (z) + g2 (z) uf − ẋ1 − θ̂1 (6.65)
∂x1 ∂ θ̂1
Substituting (6.44a) and (6.61) into (6.65) yields
∂u1 ∂u1
ẋ2 = f2 (z) + g2 (z) uf − [θf1 (z1 ) + g1 (z1 ) z2 ] − γf1 (z1 ) x1
∂x1 ∂ θ̂1
(6.66)
∂u1 ∂u1 ∂u1
= f2 (z) + g2 (z) uf − θf1 (z1 ) − g1 (z1 ) z2 − γf1 (z1 ) x1
∂x1 ∂x1 ∂ θ̂1
Now, one can choose the Lyapunov function and design uf that makes its derivative negative.
  1
V2 x1 , x2 , θ̃1 = V1 + x22 (6.67)
2
Differentiating it in time yields
V̇2 = V̇1 + x2 ẋ2
 
∂u1 ∂u1 ∂u1
= −k1 x21
+ g1 (z1 ) x1 x2 + x2 f2 (z) + g2 (z) uf − θf1 (z1 ) − g1 (z1 ) z2 − γf1 (z1 ) x1
∂x1 ∂x1 ∂ θ̂1
 
2 ∂u1 ∂u1 ∂u1
= −k1 x1 + x2 g1 (z1 ) x1 + f2 (z) + g2 (z) uf − θf1 (z1 ) − g1 (z1 ) z2 − γf1 (z1 ) x1
∂x1 ∂x1 ∂ θ̂1
(6.68)
Choosing uf that may cancel indefinite terms in V̇2 , and for the unknown parameter θ we
will see if using the first estimate θ̂1 instead of θ can help.
 
1 ∂u1 ∂u1 ∂u1
uf = −g1 (z1 ) x1 − f2 (z) + θ̂1 f1 (z1 ) + g1 (z1 ) z2 + γf1 (z1 ) x1 − k2 x2
g2 (z) ∂x1 ∂x1 ∂ θ̂1
(6.69)
This uf will renders (6.68) become
∂u1 ∂u1
V̇2 = −k1 x21 − k2 x22 + θ̂1 f1 (z1 ) x2 − θf1 (z1 ) x2
∂x1 ∂x1
  ∂u
1
= −k1 x21 − k2 x22 − θ − θ̂1 f1 (z1 ) x2 (6.70)
∂x1
∂u1
= −k1 x21 − k2 x22 − θ̃1 f1 (z1 ) x2
∂x1

101
It is very clear that using the first estimate θ̂1 does not help in canceling the indefinite term
θ̃1 in (6.70). As a solution to this problem, one can replace θ̂1 in (6.69) with a new estimate
θ̂2 so that
 
1 ∂u1 ∂u1 ∂u1
uf = −g1 (z1 ) x1 − f2 (z) + θ̂2 f1 (z1 ) + g1 (z1 ) z2 + γf1 (z1 ) x1 − k2 x2
g2 (z) ∂x1 ∂x1 ∂ θ̂1
(6.71)
Based on the preceding, (6.66) will change to
  ∂u
1
ẋ2 = −g1 (z1 ) x1 − k2 x2 − θ − θ̂2 f1 (z1 )
∂x1
(6.72)
∂u1
= −g1 (z1 ) x1 − k2 x2 − θ̃2 f1 (z1 )
∂x1

where θ̃2 represents the difference between the unknown parameter θ and the second estimate
θ̂2 . This change in ẋ2 with the existence of the error parameter θ̃2 results in need to use the
following Lyapunov function
  1 1
V2 x1 , x2 , θ̃1 , θ̃2 = V1 + x22 + θ̃22 (6.73)
2 2γ
whose derivative is obtained as
1
V̇2 = V̇1 + x2 ẋ2 + θ̃θ̃˙2
γ
 
∂u1 1 ˙
= −k1 x21
+ g1 (z1 ) x1 x2 + x2 −g1 (z1 ) x1 − k2 x2 − θ̃2 f1 (z1 ) − θ̃θ̂2
∂x1 γ
(6.74)
∂u1 1 ˙
= −k1 x21 + g1 (z1 ) x1 x2 − g1 (z1 ) x1 x2 − k2 x22 − θ̃2 f1 (z1 ) x2 − θ̃2 θ̂2
∂x1 γ
 
∂u1 1˙
= −k1 x21 − k2 x22 − θ̃2 f1 (z1 ) x2 + θ̂2
∂x1 γ

Choosing the adaptation law


˙ ∂u1
θ̂2 = −γ f1 (z1 ) x2 (6.75)
∂x1
will make the derivative of Lyapunov function (6.74)

V̇2 = −k1 x21 − k2 x22 (6.76)

This result fulfills Lyapunov theorem of stability, and from (6.58) and (6.61) along with
(6.72) and (6.75) the resulting closed-loop system will be

102
ẋ1 = θ̃1 f1 (z1 ) − k1 x1 + g1 (z1 ) x2
∂u1
ẋ2 = −g1 (z1 ) x1 − k2 x2 − θ̃2 f1 (z1 )
∂x1
(6.77)
θ̃˙1 = −γf1 (z1 ) x1
∂u1
θ̃˙2 = γ f1 (z1 ) x2
∂x1

6.5 Overestimation Reduction

Although the method discussed in section 6.4 is useful to some extent, it still has a
disadvantage of increasing the number of parameter estimates due to overestimation which
in turn increases the order of resulting adaptive controller. This section illustrates how over-
estimation can be reduced by slightly modifying the previous procedure [60]. Reconsidering
system (6.44), two steps are needed for controller design as follows.

ż1 = θf1 (z1 ) + g1 (z1 ) z2


ż2 = f2 (z) + g2 (z) uf

Step:1

Starting again with the subsystem (6.44a) where z2 is the virtual control input whose desired
value is u1 . Similarly, let x1 = z1 and x2 = z2 −u1 . Assume that θ̂ instead of θ̂1 is the estimate
for the unknown parameter θ to indicate that only one estimate of the unknown parameter
is used in this design procedure. Based on these assumptions
  1 h i
z2 = u1 x1 , θ̂ = −θ̂f1 (z1 ) − k1 x1 (6.78)
g1 (z1 )
Taking the derivative of x1 in time and substituting for z2 = u1 + x2

ẋ1 = θf1 (z1 ) + g1 (z1 ) u1 + g1 (z1 ) x2 (6.79)

Substituting for u1 from (6.78)

ẋ1 = θf1 (z1 ) − θ̂f1 (z1 ) − k1 x1 + g1 (z1 ) x2


 
= θ − θ̂ f1 (z1 ) − k1 x1 + g1 (z1 ) x2 (6.80)

= θ̃f1 (z1 ) − k1 x1 + g1 (z1 ) x2

103
Choosing the following Lyapunov function
  1 1
V1 x1 , θ̃ = x21 + θ̃2 (6.81)
2 2γ
where γ is the adaptation gain and differentiating it in time yields
1
V̇1 = x1 ẋ1 + θ̃θ̃˙
γ
i 1
˙
h
= x1 θ̃f1 (z1 ) − k1 x1 + g1 (z1 ) x2 − θ̃θ̂ (6.82)
γ
1 ˙
= θ̃f1 (z1 ) x1 − k1 x21 + g1 (z1 ) x1 x2 − θ̃θ̂
γ
Unlike step 1 in section 6.4, choosing the adaptation law will be postponed to the next step.

Step:2

Differentiating the error parameter x2 .

ẋ2 = ż2 − u̇1 (6.83)

where
  ∂u ∂u1 ˙
1
u̇1 x1 , θ̂ = ẋ1 + θ̂ (6.84)
∂x1 ∂ θ̂
Substituting (6.44b) and (6.84) into (6.83) yields
∂u1 ∂u1 ˙
ẋ2 = f2 (z) + g2 (z) uf − ẋ1 − θ̂ (6.85)
∂x1 ∂ θ̂
Substituting (6.44a) into (6.85) yields

∂u1 ∂u1 ˙
ẋ2 = f2 (z) + g2 (z) uf − [θf1 (z1 ) + g1 (z1 ) z2 ] − θ̂
∂x1 ∂ θ̂ (6.86)
∂u1 ∂u1 ∂u1 ˙
= f2 (z) + g2 (z) uf − θf1 (z1 ) − g1 (z1 ) z2 − θ̂
∂x1 ∂x1 ∂ θ̂

As the error parameter θ̃ = θ − θ̂, then one can say that the unknown parameter θ = θ̃ + θ̂.
Thus,
  ∂u ∂u1 ∂u1 ˙
1
ẋ2 = f2 (z) + g2 (z) uf − θ̃ + θ̂ f1 (z1 ) − g1 (z1 ) z2 − θ̂
∂x1 ∂x1 ∂ θ̂ (6.87)
∂u1 ∂u1 ∂u1 ∂u1 ˙
= f2 (z) + g2 (z) uf − θ̃ f1 (z1 ) − θ̂ f1 (z1 ) − g1 (z1 ) z2 − θ̂
∂x1 ∂x1 ∂x1 ∂ θ̂

104
Now, choosing the Lyapunov function
  1
V2 x1 , x2 , θ̃ = V1 + x22
2
1 2 1 2 1 (6.88)
= x1 + x2 + θ̃2
2 2 2γ

It is clear that this Lyapunov function still has the parameter estimate θ̂ that design proce-
dure started with, unlike overestimation design procedure where Lyapunov function (6.73)
had θ̂2 instead. Differentiating (6.88) in time yields

V̇2 = V̇1 + x2 ẋ2


1 ˙
= θ̃f1 (z1 ) x1 − k1 x21 + g1 (z1 ) x1 x2 − θ̃θ̂+ (6.89)
γ
 
∂u1 ∂u1 ∂u1 ∂u1 ˙
x2 f2 (z) + g2 (z) uf − θ̃ f1 (z1 ) − θ̂ f1 (z1 ) − g1 (z1 ) z2 − θ̂
∂x1 ∂x1 ∂x1 ∂ θ̂

Now, one can group all terms having θ̃ so that


 
2 ∂u1 1˙
V̇2 = −k1 x1 + θ̃ f1 (z1 ) x1 − f1 (z1 ) x2 − θ̂ +
∂x1 γ
  (6.90)
∂u1 ∂u1 ∂u1 ˙
x2 g1 (z1 ) x1 + f2 (z) + g2 (z) uf − θ̂ f1 (z1 ) − g1 (z1 ) z2 − θ̂
∂x1 ∂x1 ∂ θ̂
˙
and choose the update law θ̂ as
 
˙ ∂u1
θ̂ = γ f1 (z1 ) x1 − f1 (z1 ) x2 (6.91)
∂x1
and the stabilizing function uf as
 
1 ∂u1 ∂u1 ∂u1 ˙
uf = −k2 x2 − g1 (z1 ) x1 − f2 (z) + θ̂ f1 (z1 ) + g1 (z1 ) z2 + θ̂ (6.92)
g2 (z) ∂x1 ∂x1 ∂ θ̂
˙
Substituting for θ̂ from (6.91) and for uf from (6.92) in (6.90) results in

V̇2 = −k1 x21 + k2 x22


(6.93)
≤0

This result also fulfills the Lyapunov theorem of stability. However, overestimation was
avoided here. From (6.80) and (6.87) along with (6.91) and (6.92) the resulting closed-loop

105
system will be

ẋ1 = θ̃f1 (z1 ) − k1 x1 + g1 (z1 ) x2


∂u1 ∂u1 ∂u1 ∂u1 ˙
ẋ2 = f2 (z) + g2 (z) uf − θ̃ f1 (z1 ) − θ̂ f1 (z1 ) − g1 (z1 ) z2 − θ̂
∂x1 ∂x1 ∂x1 ∂ θ̂
(6.94)
 
1 ∂u1 ∂u1 ∂u1 ˙
uf = −k2 x2 − g1 (z1 ) x1 − f2 (z) + θ̂ f1 (z1 ) + g1 (z1 ) z2 + θ̂
g2 (z) ∂x1 ∂x1 ∂ θ̂
 
˙ ∂u1
θ̂ = γ f1 (z1 ) x1 − f1 (z1 ) x2
∂x1

which can be re-written as

ẋ1 = θ̃f1 (z1 ) − k1 x1 + g1 (z1 ) x2


∂u1
ẋ2 = −k2 x2 + g1 (z1 ) x1 − θ̃ f1 (z1 ) (6.95)
∂x1
 
˙θ̃ = −γ f (z ) x − ∂u1 f (z ) x
1 1 1 1 1 2
∂x1

106
7 Transformation of Affine Nonlinear Systems into Strict Feedback Form

7.1 Transformation of SISO Nonlinear Systems into Strict Feedback Form

The transformation of the single-input single-output affine nonlinear system into an


equivalent strict feedback form was studied previously in [24]. This part of the dissertation
will explain a step-by-step procedure of the transformation process. In nonlinear control
theory, SISO affine nonlinear system is said to be in a strict feedback form if it is of the
following form [52]

ẋ1 = f1 (x1 ) + g1 (x1 ) x2


ẋ2 = f2 (x1 , x2 ) + g2 (x1 , x2 ) x3
ẋ3 = f3 (x1 , x2 , x3 ) + g3 (x1 , x2 , x3 ) x4
.. (7.1)
.
ẋn−2 = fn−2 (x1 , x2 , . . . , xn−2 ) + gn−2 (x1 , x2 , . . . , xn−2 ) xn−1
ẋn−1 = fn−1 (x1 , x2 , . . . , xn−1 ) + gn−1 (x1 , x2 , . . . , xn−1 ) xn
ẋn = fn (x1 , x2 , . . . , xn−1 , xn ) + gn (x1 , x2 , . . . , xn−1 , xn ) u
where x ∈ Rn is states of the system and u ∈ R is a control input. Considering the SISO
affine nonlinear system given in (2.15) as

ż = f (z) + g (z) u
y = h (z)
with z ∈ Rn , u ∈ R and y ∈ R are state variables, control input, and system output
respectively. It is clear from section 2.10 and definition 2.5 that if this system has a relative
degree ρ that is less than n the order of the system (ρ < n), then

Lg Li−1
f h (z) = 0, i = 1, . . . , ρ − 1

Lg Lρ−1
f h (z) 6= 0, ∀ z ⊂ D ⊂ Rn
However, according to proof 3.1 when the system’s relative degree ρ equals to n the order of
the system (ρ = n), then

Lg Li−1
f h (z) = 0, i = 1, . . . , n − 1

Lg Ln−1
f h (z) 6= 0, ∀ z ⊂ D ⊂ Rn

107
and if f (z), g (z) and h (z) are smooth enough in the domain D ⊂ Rn , then a diffeomorphism
     
x1 T1 (z) h (z)
     
 x 
 2 
 T (z)  
 2   −h (z) + Lf h (z) 

     
 x   T (z)   2
 3   3 L f h (z) + L f h (z) 
= T (z) = =  , x ∈ Rn (7.2)
  
 .  .. ..
 .. 
  
 

 . 
 
 . 

n−2 n−3 n−2
     
 xn−1   Tn−1 (z)   (−1) Lf h (z) + Lf h (z) 
     
xn Tn (z) (−1)n−1 Ln−2
f h (z) + Ln−1
f h (z)

where:
L−1
f h (z) = 0 (7.3)

L0f h (z) = h (z) (7.4)

and the state feedback:


1
u= n−1 [−Lnf h (z) + v] (7.5)
Lg Lf h (z)
can transform the SISO affine nonlinear system of the form (2.15) into its equivalent strict
feedback form (7.1) such that:
      
ẋ1 ⊗ 1 0 0 ··· 0 0 x 0
    1   
 ẋ   ⊗ ⊗ 1 0 · · · 0 0   x   0 
 2    2   
 .   . . . . .
 ..  =  .. .. .. .. . . ... ...   ... ..
   
+ .v
      
      
 ẋn−1   ⊗ ⊗ ⊗ ⊗ · · · ⊗ 1   xn−1   0 
      
ẋn ⊗ ⊗ ⊗ ⊗ ··· ⊗ ⊗ xn 1
(7.6)
 
x
 1 
 x 
2
h i
 .

y = 1 0 · · · 0 0  ..

 

 
 xn−1 
 
xn

where ⊗ stands for values other than zero. For more clarification in this regard and without
loss of generality the transformation process will be proved for a system of fourth-order for

108
which a local transformation matrix can easily be obtained from (7.2) as
     
x1 T1 (z) h (z)
     
 x   T (z)   −h (z) + L h (z) 
 2   2 f
= = (7.7)
  
 
 x3   T3 (z)   Lf h (z) + L2 h (z) 
     f 
2 3
x4 T4 (z) −Lf h (z) + Lf h (z)
with a state feedback control law:
1
u= [−L4f h (z) + v] (7.8)
Lg L3f h (z)
easily obtained from (7.5).

Proof 7.1 (Transforming a 4 th order SISO nonlinear system into strict feedback form)

Considering first row element in (7.7): x1 = T1 (z) = h (z)

Taking its derivative in time yields


dT1 (z) dh (z) ∂h (z) dz
ẋ1 = = = ·
dt dt ∂z dt
∂h (z) (7.9)
= [f (z) + g (z) u]
∂z
= Lf h (z) + Lg h (z) u
If system’s relative degree ρ = n = 4. Then, it is clear form (3.26) that Lg Lkf h (z) = 0 ∀ k < 3
and Lg L3f h (z) 6= 0. Furthermore, considering first and second elements in the transformation
matrix (7.7), (7.9) turns out to be
ẋ1 = Lf h (z)
= h (z) + x2 (7.10)
= x1 + x2

Considering second row element in (7.7): x2 = T2 (z) = −h (z) + Lf h (z)

Taking its derivative in time yields


dT2 (z) d
ẋ2 = = − (x1 + x2 ) + Lf h (z)
dt dt
∂ dz
= − (x1 + x2 ) + Lf h (z) ·
∂z dt (7.11)

= − (x1 + x2 ) + Lf h (z) [f (z) + g (z) u]
∂z
= − (x1 + x2 ) + L2f h (z) + Lg Lf h (z) u

109
It is well known that Lg Lf h (z) = 0. Moreover, considering first, second and third elements
in the transformation matrix (7.7), (7.11) turns out to be
ẋ2 = − (x1 + x2 ) + L2f h (z)
= − (x1 + x2 ) + x3 − Lf h (z)
(7.12)
= − (x1 + x2 ) + x3 − (x1 + x2 )
= −2 (x1 + x2 ) + x3

Considering third row element in (7.7): x3 = T3 (z) = Lf h (z) + L2f h (z)

Taking its derivative in time yields


dT3 (z) d
ẋ3 = = x3 − (x1 + x2 ) + L2f h (z)
dt dt
∂ dz
= x3 − (x1 + x2 ) + L2f h (z) ·
∂z dt (7.13)
∂ 2
= x3 − (x1 + x2 ) + Lf h (z) [f (z) + g (z) u]
∂z
= x3 − (x1 + x2 ) + L3f h (z) + Lg L2f h (z) u
It is also known that Lg L2f h (z) = 0. Moreover, considering first, second, third and fourth
elements in the transformation matrix (7.7), (7.13) turns out to be
ẋ3 = x3 − (x1 + x2 ) + L3f h (z)
= x3 − (x1 + x2 ) + x4 + L2f h (z)
= x3 − (x1 + x2 ) + x4 + (x3 − Lf h (z))
(7.14)
= x3 − (x1 + x2 ) + x4 + x3 − (h (z) + x2 )
= x3 − (x1 + x2 ) + x4 + x3 − (x1 + x2 )
= 2 (x3 − (x1 + x2 )) + x4

Considering fourth row element in (7.7): x4 = T4 (z) = −L2f h (z) + L3f h (z)

Taking its derivative in time yields


dT4 (z) d
ẋ4 = = −x4 − x3 + x2 + x1 + L3f h (z)
dt dt
∂ dz
= −x4 − x3 + x2 + x1 + L3f h (z) ·
∂z dt (7.15)
∂ 3
= −x4 − x3 + x2 + x1 + Lf h (z) [f (z) + g (z) u]
∂z
= −x4 − x3 + x2 + x1 + L4f h (z) + Lg L3f h (z) u

110
It is already known that Lg L3f h (z) 6= 0. Thus, substituting the state feedback (7.8) in (7.15)
yields

ẋ4 = −x4 − x3 + x2 + x1 + v (7.16)

From (7.10), (7.12), (7.14) and (7.16) the SISO affine nonlinear system of fourth-order in its
strict feedback form will be

ẋ1 = x1 + x2
ẋ2 = −2 (x1 + x2 ) + x3
(7.17)
ẋ3 = 2 (x3 − (x1 + x2 )) + x4
ẋ4 = −x4 − x3 + x2 + x1 + v

7.2 Transformation into Strict Feedback Form and Backstepping Control of a


Surface Permanent-Magnet Wind Generator with Boost Converter

𝑖 𝐿 𝐷
A Diode Bridge

Voltage Source
Rectifier

GRID
Inverter

+ 𝐶

Boost Converter

Figure 7.1: Direct-drive SPMSG based wind energy conversion system with boost converter.

This example considers the mathematical model of a surface permanent-magnet syn-


chronous wind generator with a boost converter shown in Fig. 7.1 and given in [12] by:




 ẋ1 = k1 x1 + k2 x2 sinx3 + k3 + k7 u


ẋ2 = k4 x1 sinx3 + k5 x2 + k6

(7.18)
ẋ3 = x2






y = x
3

111
such that
   
k1 x1 + k2 x2 sinx3 + k3 k7
   
f (x) =  k x
 4 1 sinx 3 + k x
5 2 + k 
6  , g (x) = 
 0  , h (x) = x3

x2 0

The variables x1 , x2 , x3 and u are the current of the dc-link inductor, electrical speed of gen-
erator rotor, electrical angle of generator rotor, the duty ratio of the switching signal respec-
tively. The reader is referred to [12] for the values of k1 −k7 . The two conditions for feedback
linearizability discussed in section 2.11, and the relative degree of this system model have
already been tested and fulfilled in [12] where the vector fields [g (x) , adf g (x) , ad2 f g (x)]
are linearly independent and the set {g (x) , adf g (x)} is involutive and the relative degree of
the system is 3. Consequently, this system is feedback linearizable, and according to (7.2),
the diffeomorphism:
   
z1 h (x)
   
 z2  =  −h (x) + Lf h (x) 
   
2
z3 Lf h (x) + Lf h (x)
  (7.19)
x3
 
= −x3 + x2 

x2 + k4 x1 sinx3 + k5 x2 + k6

can transform the system into its strict feedback form. Considering that the system’s relative
degree equals to its dimension (ρ = n = 3), then Lg Lkf h (z) = 0 ∀ k < 2 and hence taking
the derivative in time of z1 , z2 and z3 yields:
∂h
ż1 = [f (x) + g (x) u]
∂x
= Lf h (x) + Lg h (x) u
= Lf h (x)
= h (x) + z2
= z1 + z2 (7.20)

∂Lf h (x)
ż2 = −Lf h (x) + [f (x) + g (x) u]
∂x
= −Lf h (x) + L2f h (x) + Lg Lf h (x) u

112
= −Lf h (x) + L2f h (x)
= − (z1 + z2 ) + z3 − z2 − z1
= −2z1 − 2z2 + z3 (7.21)

∂L2f h (x)
ż3 = L2f h (x) + [f (x) + g (x) u]
∂x
= L2f h (x) + L3f h (x) + Lg L2f h (x) u (7.22)

Choosing:
1
u= [−L3f h (x) + v] (7.23)
Lg L2f h (x)
yields
ż3 = −z 1 − z2 + z3 + v (7.24)

Thus, the system in strict feedback form is:



ż1 = z1 + z2





ż2 = −2z1 − 2z2 + z3 (7.25)



ż3 = −z 1 − z2 + z3 + v

To design a stabilizing control function, the procedure in section 5.4 is applied as follows:

Step:1

Let x1 = z1 . Define the error variable

x2 = z2 − u1 (z1 ) (7.26)

Choose:
u1 (z1 ) = −z1 − k1 x1 , k1 > 0 (7.27)

Taking the derivative in time of x1 yields:

ẋ1 = −k1 x1 + x2 (7.28)

Consider the Lyapunov function:


1
V1 (x1 ) = x21 (7.29)
2

113
Differentiating it in time results in:

V̇1 (x1 ) = x1 ẋ1


= x1 (−k1 x1 + x2 )
= −k1 x21 + x1 x2 (7.30)

Step:2

From step 1, x2 = z2 − u1 (z1 ). Define the error variable

x3 = z3 − u2 (z1 , z2 ) (7.31)

Choose:
u2 (z1 , z2 ) = 2z1 + 2z2 + u̇1 (z1 ) − k2 x2 − x1 , k2 > 0 (7.32)

Taking the derivative in time of the error variable x2 yields:

ẋ2 = ż2 − u̇1 (z1 )


= −2z1 − 2z2 + x3 + u2 (z1 , z2 ) − u̇1 (z1 ) (7.33)

Substituting for u2 (z1 , z2 ) results in:

ẋ2 = −k2 x2 + x3 − x1 (7.34)

Consider the augmented Lyapunov function:


1
V2 (x1 , x2 ) = V1 (x1 ) + x22 (7.35)
2
Differentiating it in time:

V̇2 (x1 , x2 ) = V̇1 (x1 ) + x2 ẋ2


= −k1 x21 + x1 x2 + x2 (−k2 x2 + x3 − x1 )
= −k1 x21 + x1 x2 − k2 x22 + k2 x3 − x1 x2
= −k1 x21 − k2 x22 + x2 x3 (7.36)

Step:3

From step 2, x3 = z3 − u2 (z1 , z2 ). Differentiating x3 in time yields:

ẋ3 = ż3 − u̇2 (z1 , z2 )

114
= −z 1 − z2 + z3 + v − u̇2 (z1 , z2 ) (7.37)

Choose:
v = z1 + z2 − z3 + u̇2 (z1 , z2 ) − k3 x3 − x2 , k3 > 0 (7.38)

Substituting for v:
ẋ3 = −k3 x3 + x2 (7.39)

Consider the augmented Lyapunov function candidate:


1
V3 (x1 , x2 , x3 ) = V2 (x1 , x2 ) + x23 (7.40)
2
Differentiating it in time and substituting for v results in:

V̇3 (x1 , x2 , x3 ) = V̇2 (x1 , x2 ) + x3 ẋ3


= −k1 x21 − k2 x22 − k3 x23 (7.41)

which is negative definite and thus the origin [x1 , x2 , x3 ] is globally asymptotically stable
and based on the assumption that xi = zi − ui−1 and ui−1 (0) = 0 , [z1 , z2 , z3 ] the origin of
the system is globally asymptotically stable as well. k1 = 3.70, k2 = 5.12 and k3 = 2.35 were
calculated using optimal control method and quadratic performance index [50]. Simulation
results in Fig.7.2 show the stability of the system using the proposed stabilizing controller. M

TIME RESPONSE
6
Z1(0) = -2
Z2(0)=4
5 Z3(0)=6

4
SYSTEM STATES
Z1, Z2 & Z3

-1

-2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time, s

(a) z1 (0) = −2 z2 (0) = 4 z3 (0) = 6

115
TIME RESPONSE
10

SYSTEM STATES
Z1, Z2 & Z3
-5

-10

-15

-20

Z1(0) = 2
-25
Z2(0)=4
Z3(0)=8
-30
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time, s

(b) z1 (0) = 2 z2 (0) = 4 z3 (0) = 8


TIME RESPONSE
25
Z1(0) = -6
Z2(0)=8
20 Z3(0)=10

15
SYSTEM STATES
Z1, Z2 & Z3

10

-5

-10
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time, s

(c) z1 (0) = −6 z2 (0) = 8 z3 (0) = 10

Figure 7.2: States stabilization using backstepping control after transformation into SFBF.

Despite the fact that nonlinear systems can indirectly be transformed into a strict feedback
form using some assumptions that may simplify the transformation process, the preceding
approach is considered the direct approach to get the system in its equivalent strict feedback
form through feedback and transformation.

116
7.3 Transformation of MIMO Nonlinear Systems into Strict Feedback Form

The main contribution of this research is to extend the concept and procedure of
transforming SISO affine nonlinear system into strict feedback form to transform MIMO
affine nonlinear system into its equivalent strict feedback form given by the general form [52]

ẋ1,1 = f1,1 (x1,1 ) + g1,1 (x1,1 ) x1,2


ẋ1,2 = f1,2 (x1,1 , x1,2 ) + g1,2 (x1,1 , x1,2 ) x1,3
..
.
ẋ1,ρ1 −1 = f1,ρ1 −1 (x1,1 , . . . , x1,ρ1 −1 ) + g1,ρ1 −1 (x1,1 , . . . , x1,ρ1 −1 ) x1,ρ1
m
X
i
ẋ1,ρ1 = f1,ρ1 (x1,1 , . . . , x1,ρ1 ) + g1,ρ 1
(x1,1 , . . . , x1,ρ1 ) ui
i=1

...
ẋ2,1 = f2,1 (x2,1 ) + g2,1 (x2,1 ) x2,2
ẋ2,2 = f2,2 (x2,1 , x2,2 ) + g2,2 (x2,1 , x2,2 ) x2,3
..
.
ẋ2,ρ2 −1 = f2,ρ2 −1 (x2,1 , . . . , x2,ρ2 −1 ) + g2,ρ2 −1 (x2,1 , . . . , x2,ρ2 −1 ) x2,ρ2
m
X
i
ẋ2,ρ2 = f2,ρ2 (x2,1 , . . . , x2,ρ2 ) + g2,ρ 2
(x2,1 , . . . , x2,ρ2 ) ui
i=1

...
..
.
...
ẋm−1,1 = fm−1,1 (xm−1,1 ) + gm−1,1 (xm−1,1 ) xm−1,2
ẋm−1,2 = fm−1,2 (xm−1,1 , xm−1,2 ) + gm−1,2 (xm−1,1 , xm−1,2 ) xm−1,3
...
 
ẋm−1,ρm−1 −1 = fm−1,ρm−1 −1 xm−1,1 , . . . , xm−1,ρm−1 −1 + gm−1,ρm−1 −1 xm−1,1 , . . . , xm−1,ρm−1 −1 xm−1,ρm−1
m
 X i

ẋm−1,ρm−1 = fm−1,ρm−1 xm−1,1 , . . . , xm−1,ρm−1 + gm−1,ρ m−1
xm−1,1 , . . . , xm−1,ρm−1 ui
i=1

...
ẋm,1 = fm,1 (xm,1 ) + gm,1 (xm,1 ) xm,2
ẋm,2 = fm,2 (xm,1 , xm,2 ) + gm,2 (xm,1 , xm,2 ) xm,3
..
.
ẋm,ρm −1 = fm,ρm −1 (xm,1 , . . . , xm,ρm −1 ) + gm,ρm −1 (xm,1 , . . . , xm,ρm −1 ) xm,ρm
m
X
i
ẋm,ρm = fm,ρm (xm,1 , . . . , xm,ρm ) + gm,ρ m
(xm,1 , . . . , xm,ρm ) ui
i=1
(7.42)

117
where x ∈ Rn is the states of the system and u ∈ Rm is the control inputs, such that if
 
1 2 m−1 m
g1,ρ1 g1,ρ1 ... g1,ρ1 g1,ρ1
 
1 2 m−1 m

 g2,ρ 2
g2,ρ 2
. . . g 2,ρ 2
g2,ρ 2


 .
.. .
.. .
.. .
..

G (x) =  . . . 
 (7.43)
 1 2 m−1 m

 gm−1,ρ gm−1,ρ . . . gm−1,ρ gm−1,ρ 
 m−1 m−1 m−1 m−1 
1 2 m−1 m
gm,ρ m
gm,ρ m
... gm,ρ m
gm,ρ m

is non-singular ∀ x ∈ Rn , then integrator backstepping can be used to design a controller for


the system (7.42) as follows:
Assume that x1,i has to track a certain reference ri , then for each x1,i where i = 1, 2, . . . , m
let
ei,j = xi,j − αi,j−1 f or i = 1, 2, . . . , m & j = 1, 2, . . . , ρi . (7.44)

where αi,j−1 is the virtual control function and is obtained by


1
αi,j = [−fi,j + α̇i,j−1 − ei,j−1 − kei,j ] . (7.45)
gi,j

If the Lyapunov function candidate is given by


ρi
m X
X
V = e2i,j , (7.46)
i=1 j=1

then it is derivative in time will be


" #
m  h i −1
i  ρP
1 m−1 2
P
V̇ = 2
gi,ρi −1 ei,ρi −1 ei,ρi + ei,ρi −α̇i,ρi −1 + fi,ρi + 1
gi,ρ i
2
gi,ρ i
. . . gi,ρ i
m
gi,ρ i
u − kei,j .
i=1 j=1
(7.47)
Choosing u as
 
−f1,ρ1 + α̇1,ρ1 −1 − e1,ρ1 −1 − ke1,ρ1
 

 −f2,ρ2 + α̇2,ρ2 −1 − e2,ρ2 −1 − ke2,ρ2 

−1 
 .. 
u = G (x)  . 
 (7.48)
 
 −fm−1,ρm−1 + α̇m−1,ρm−2 − em−1,ρm−2 − kem−1,ρm−1 
 
−fm,ρm + α̇m,ρm −1 − em,ρm −1 − kem,ρm

will render
V̇ = −2kV (7.49)

118
Thus, the equilibrium point e = 0 is exponentially stable. Considering again the affine
nonlinear system given in (2.38) as
m
X
żn = f (z) + gi (z) ui
i=1

yi = hi (z) , i = 1, . . . , m

with z ∈ Rn , u ∈ Rm and y ∈ Rm are state variables, control inputs, and system outputs
respectively. It is clear from relative degree analysis for MIMO systems and definition 2.6 in
section 2.10 that if this system has a vector relative degree ρ = {ρ1 , ρ2 , . . . , ρm } , then

Lg1 Lkf hi (z) = Lg2 Lkf hi (z) = . . . = Lgm Lkf hi (z) = 0, k = 0, 1, . . . , ρi − 2. (7.50)

and at least one element is not zero in the row vector


h i
Lg1 Lρfi −1 hi (z) Lg2 Lρfi −1 hi (z) . . . Lgm Lρfi −1 hi (z) (7.51)

Furthermore, if the vector relative degree ρ = ρ1 + ρ2 + . . . + ρm = n and f (z), g (z) and


h (z) are smooth enough in the domain D ⊂ Rn , then the diffeomorphism
     
x1,1 T1,1 (z) h1 (z)
     
 x1,2



 T1,2 (z)

 
  −h1 (z) + Lf h1 (z) 

2
     
 x1,3   T1,3 (z)   L f h1 (z) + Lf h1 (z) 
.. .. ..
     
     

 . 


 .  
  . 

ρ1 −2 ρ1 −3
 x1,ρ1 −1  T1,ρ1 −1 (z)   (−1) Lf h1 (z) + Lρf1 −2 h1 (z)
     
 
     
 x   T (z)   (−1)ρ1 −1 Lρ1 −2 h (z) + Lρ1 −1 h (z) 
 1,ρ1   1,ρ1   f 1 f 1 
     
 ...   ...   . . . 
     
     
 x2,1   T2,1 (z)   h2 (z) 
     
 x2,2  T2,2 (z) −h2 (z) + Lf h2 (z)
     
   
     
 x
 2,3


 T (z)
 2,3
 
  Lf h2 (z) + L2f h2 (z) 

 ..   ..   .. 
 .   .   . 


 x2,ρ −1
 = T (z) = 



 T2,ρ −1 (z)
=
 
  (−1)ρ2 −2 Lρ2 −3 h2 (z) + Lρ2 −2 h2 (z)
,


x ∈ Rn (7.52)
 2   2   f f 
  (−1)ρ2 −1 Lρf2 −2 h2 (z) + Lρf2 −1 h2 (z)
     
 x2,ρ2   T2,ρ2 (z) 
     
 ... ... ...
     
    
 ..   ..   .. 
. . .
     
     
     
 ...   . ..   . .. 
     
     
 xm,1   Tm,1 (z)   hm (z) 
     
−hm (z) + Lf hm (z)
     
 xm,2   Tm,2 (z)   
     
 xm,3  Tm,3 (z) Lf hm (z) + L2f hm (z)
     
   
 ..   ..   .. 
. . .
     
     
     
 x  T   (−1)ρm −2 Lρm −3 h (z) + Lρm −2 h (z)
m −1 (z)
 
 m,ρ m −1   m,ρ   f m f m 
ρm −1 ρm −2 ρm −1
xm,ρm Tm,ρm (z) (−1) Lf hm (z) + Lf hm (z)

119
can transform MIMO affine nonlinear system of the form (2.38) into its equivalent strict
feedback form (7.42). For more clarification in this regard and without loss of generality the
transformation process will be proved for a system of fifth-order with two inputs and two
outputs. That is, the system to be discussed is of the form
ż = f (z) + g1 (z) u1 + g2 (z) u2
y1 = h1 (z) (7.53)
y2 = h2 (z)
Assuming that this system has sub-relative degrees ρ1 = 2 and ρ2 = 3 such that its relative
degree is ρ = ρ1 + ρ2 = 5 = n where n, as was mentioned earlier, is the order of the
system. Then, the transformation matrix that transforms the system into its equivalent
strict feedback form can easily be obtained from (7.52) as
     
x1,1 T1,1 (z) h1 (z)
     
 x1,2   T1,2 (z)   −h1 (z) + Lf h1 (z) 
     
     
 ...   ...   ... 
  = T (z) =  = , x ∈ R5 (7.54)
 x2,1  T2,1 (z)   h2 (z)
     
 
     
 x   T (z)   −h (z) + L h (z) 
 2,2   2,2   2 f 2 
x2,3 T2,3 (z) Lf h2 (z) + L2f h2 (z)
Proof 7.2 (Transforming a 5 th order MIMO nonlinear system into strict feedback form)

Considering first row element in (7.54): x1,1 = T1,1 (z) = h1 (z)

Taking its derivative in time yields


dT1,1 (z) dh1 (z) ∂h1 (z) dz
ẋ1,1 = = = ·
dt dt ∂z dt
∂h1 (z) (7.55)
= [f (z) + g1 (z) u1 + g2 (z) u2 ]
∂z
= Lf h1 (z) + Lg1 h1 (z) u1 + Lg2 h1 (z) u2
It is clear from (7.50) and (7.51) that as ρ1 = 2, then Lg1 L0f h1 (z) = Lg2 L0f h1 (z) = 0
h i
and at least one element is not zero in the row vector Lg1 Lf h1 (z) Lg2 Lf h1 (z) . Thus,
considering first and second elements in (7.54), (7.55) turns out to be

ẋ1,1 = Lf h1 (z)
= h1 (z) + x1,2 (7.56)
= x1,1 + x1,2

120
Considering second row element in (7.54): x1,2 = T1,2 (z) = −h1 (z) + Lf h1 (z)

Taking its derivative in time yields


dT1,2 (z) d
ẋ1,2 = = − (x1,1 + x1,2 ) + Lf h1 (z)
dt dt
∂ dz
= − (x1,1 + x1,2 ) + Lf h1 (z) ·
∂z dt (7.57)

= − (x1,1 + x1,2 ) + Lf h1 (z) [f (z) + g1 (z) u1 + g2 (z) u2 ]
∂z
= − (x1,1 + x1,2 ) + L2f h1 (z) + Lg1 Lf h1 (z) u1 + Lg2 Lf h1 (z) u2

Considering third row element in (7.54): x2,1 = T2,1 (z) = h2 (z)

Taking its derivative in time yields


dT2,1 (z) dh2 (z) ∂h2 (z) dz
ẋ2,1 = = = ·
dt dt ∂z dt
∂h2 (z) (7.58)
= [f (z) + g1 (z) u1 + g2 (z) u2 ]
∂z
= Lf h2 (z) + Lg1 h2 (z) u1 + Lg2 h2 (z) u2

It is also clear from (7.50) and (7.51) that as ρ2 = 3, then Lg1 Lkf h2 (z) = Lg2 Lkf h2 (z) =
h i
0 ∀ k < 2 and at least one element is not zero in the row vector Lg1 Lf h2 (z) Lg2 Lf h2 (z) .
2 2

Thus, considering third and fourth elements in (7.54), (7.58) turns out to be

ẋ2,1 = Lf h2 (z)
= h2 (z) + x2,2 (7.59)
= x2,1 + x2,2

Considering fourth row element in (7.54): x2,2 = T2,2 (z) = −h2 (z) + Lf h2 (z)

Taking its derivative in time yields


dT2,2 (z) d
ẋ2,2 = = − (x2,1 + x2,2 ) + Lf h2 (z)
dt dt
∂ dz
= − (x2,1 + x2,2 ) + Lf h2 (z) ·
∂z dt
∂ (7.60)
= − (x2,1 + x2,2 ) + Lf h2 (z) [f (z) + g1 (z) u1 + g2 (z) u2 ]
∂z
= − (x2,1 + x2,2 ) + L2f h2 (z) + Lg1 Lf h2 (z) u1 + Lg2 Lf h2 (z) u2
= − (x2,1 + x2,2 ) + L2f h2 (z)

121
Thus, considering third, fourth and fifth elements in (7.54), (7.60) turns out to be

ẋ2,2 = − (x2,1 + x2,2 ) + L2f h2 (z)


= − (x2,1 + x2,2 ) + x2,3 − Lf h2 (z)
= − (x2,1 + x2,2 ) + x2,3 − (h2 (z) + x2,2 ) (7.61)
= − (x2,1 + x2,2 ) + x2,3 − (x2,1 + x2,2 )
= −2 (x2,1 + x2,2 ) + x2,3

Considering fifth row element in (7.54): x2,3 = T2,3 (z) = Lf h2 (z) + L2f h2 (z)

Taking its derivative in time yields

dT2,3 (z) d
ẋ2,3 = = x2,3 − (x2,1 + x2,2 ) + L2f h2 (z)
dt dt
∂ dz
= x2,3 − (x2,1 + x2,2 ) + L2f h2 (z) ·
∂z dt (7.62)

= x2,3 − (x2,1 + x2,2 ) + L2f h2 (z) [f (z) + g1 (z) u1 + g2 (z) u2 ]
∂z
= x2,3 − (x2,1 + x2,2 ) + L3f h2 (z) + Lg1 L2f h2 (z) u1 + Lg2 L2f h2 (z) u2

So far, from the previous analysis, particularly (7.56), (7.57), (7.59), (7.61) and (7.62), the
system (7.53) has been transformed into the following form

ẋ1,1 = x1,1 + x1,2


ẋ1,2 = − (x1,1 + x1,2 ) + L2f h1 (z) + Lg1 Lf h1 (z) u1 + Lg2 Lf h1 (z) u2
ẋ2,1 = x2,1 + x2,2 (7.63)
ẋ2,2 = −2 (x2,1 + x2,2 ) + x2,3
ẋ2,3 = x2,3 − (x2,1 + x2,2 ) + L3f h2 (z) + Lg1 L2f h2 (z) u1 + Lg2 L2f h2 (z) u2

To illustrate and clarify what has been theoretically explained so far on the transformation of
the multi-input multi-output system into equivalent strict feedback form, the next example
considers the mathematical model for permanent magnet synchronous generator-based wind
energy system discussed in [61] where a single MIMO controller was designed such that wind
energy battery storage system can operate when the grid is connected or not without the
need to switch between two different controllers. The feedback linearizability conditions
discussed in section 2.11 and theorem 2.3 are assumed to be fulfilled for this system because
the exact feedback linearization controller has been successfully designed in [61].

122
Example 7.1
dids Rs Lq 1
=− ids + ωr iqs + uds
dt Ld Ld Ld
diqs Ld Rs λr 1
= − ωr ids − iqs − ωr + uqs
dt Lq Lq Lq Lq
2 2
dωr P 3P 3P
= Tm − λr iqs + (Ld − Lq ) ids iqs
dt J 2J 2J
didi 1 1
= ωg iqi − udl + udi
dt Lf Lf
diqi 1 1
= −ωg idi − uql + uqi
dt Lf Lf
dilb 1 1
= ubat − Dudc
dt Lb Lb
dEdc 3
= udc isdc − udi idi + Pbat
dt 2
dĩds
= ids − i∗ds
dt
dω̃r
= ωr − ωr∗
dt
dũdl
= udl − u∗dl
dt (7.64)
dũql
= uql − u∗ql
dt
dẼdc ∗
= Edc − Edc
dt
dĩlb
= ilb − i∗lb
dt
...
Z
y1 = ĩds = (ids − i∗ds ) dδ
Z
y2 = ω̃r = (ωr − ωr∗ ) dδ
Z
y3 = ũdl = (udl − u∗dl ) dδ
Z
uql − u∗ql dδ

y4 = ũql =
Z

y5 = Ẽdc = (Edc − Edc ) dδ
Z
y6 = ĩlb = (ilb − i∗lb ) dδ

123
Table 7.1: Wind energy system parameters definitions.

Parameter Definition

ids ,iqs Generator stator dq-axis currents (A)


uds , uqs Generator stator dq-axis voltages (V )
Rs Resistance of stator winding (Ω)
Ld , Lq Stator dq-axis self inductances (H)
ωr Rotating speed of the blades
λr Rotor flux (W b)

P Pole pairs number


J Generator moment of inertia
Tm Turbine developed torque

idi ,iqi Output dq-axis currents of grid side converter (A)


udi , uqi Output dq-axis voltages of grid side converter (V )
Rth , Lth Real and imaginary parts of Thévenin impedance Zth
Ethd , Ethq Thévenin dq-axis voltage (V )
udl , uql Load dq-axis voltage (V )
udl = Rth idi − ωg Lth iqi + Ethd
uql = Rth iqi − ωg Lth idi + Ethq
Lf Filter inductance of grid side (H)
ωg Grid electrical angular speed (rad/s)

ilb Current through the inductor Lb


Lb Inductance of bi-directional buck-boost converter (H)
Cdc Capacitance of bi-directional buck-boost converter (F )
Edc Energy storage of the dc-link capacitor Cdc
ubat Battery voltage (V )
D Duty cycle
udc The dc-link capacitor voltage (V )
isdc dc current of generator side converter (A)
Pbat Battery power

ĩds Integral of the difference between ids and its reference of i∗ds
ω̃r Integral of the difference between ωr and its reference of ωr∗
ũdl Integral of the difference between udl and its reference of u∗dl
ũql Integral of the difference between uql and its reference of u∗ql

Ẽdc Integral of the difference between Edc and its reference of Edc
ĩlb Integral of the difference between ilb and its reference of i∗lb

124
Table 7.2: Wind energy system states legend.

State Parameter

x1 ids
x2 iqs
x3 ωr
x4 idi
x5 iqi
x6 ilb
x7 Edc
x8 ĩds
x9 ω̃r
x10 ũdl
x11 ũql
x12 Ẽdc
x13 ĩlb

Table 7.3: Wind energy system inputs legend.

Input Parameter

u1 uds
u2 uqs
u3 udi
u4 uqi
u5 Pbat
u6 D

Table 7.4: Wind energy system outputs legend.

Output Parameter

y1 ĩds
y2 ω̃r
y3 ũdl
y4 ũql
y5 Ẽdc
y6 ĩlb

125
Denoting system’s states, inputs, and outputs according to Tables 7.2, 7.3 and 7.4, and
considering the values of udl and uql from Table 7.1, as well as assuming that Ld = Lq , will
make the system (7.64) become

Rs Lq 1
ẋ1 = − x1 + x2 x3 + u1
Ld Ld Ld
Ld Rs λr 1
ẋ2 = − x1 x3 − x2 − x3 + u2
Lq Lq Lq Lq
2
P 3P
ẋ3 = Tm − λr x2
J 2J 
Rth Lf ωg + Lth ωg 1 1
ẋ4 =− x4 + x5 − Ethd + u3
Lf Lf Lf Lf
 
Lth ωg − Lf ωg Rth 1 1
ẋ5 = x4 − x5 − Ethq + u4
Lf Lf Lf Lf
ubat udc
ẋ6 = − u6
Lb Lb
3
ẋ7 = udc isdc − x4 u3 + u5
2

ẋ8 = x1 − x1
ẋ9 = x3 − x∗3
ẋ10 = Rth x4 − ωg Lth x5 + Ethd − u∗dl
(7.65)
ẋ11 = −ωg Lth x4 + Rth x5 + Ethq − u∗ql
ẋ12 = x7 − x∗7
ẋ13 = x6 − x∗6
...
Z
y 1 = x8 = (x1 − x∗1 ) dx
Z
y 2 = x9 = (x3 − x∗3 ) dx
Z
y3 = x10 = (Rth x4 − ωg Lth x5 + Ethd − u∗dl ) dx
Z
−ωg Lth x4 + Rth x5 + Ethq − u∗ql dx

y4 = x11 =
Z
y5 = x12 = (x7 − x∗7 ) dx
Z
y6 = x13 = (x6 − x∗6 ) dx

126
It was previously found in [61] that the aforementioned mathematical model for the perma-
nent magnet synchronous generator-based wind energy system is of a vector relative degree

ρ = {ρ1 , ρ2 , ρ3 , ρ4 , ρ5 , ρ6 } = {2, 3, 2, 2, 2, 2} (7.66)

and also
ρ1 + ρ2 + ρ3 + ρ4 + ρ5 + ρ6 = 13 = n (7.67)

Thus, a transformation matrix that can be used to transform (7.65) into its equivalent strict
feedback form can be obtained from (7.52) as

       
z1,1 T1,1 (x) y1 x8
−x8 + x1 − x∗1
       

 z1,2 


 T1,2 (x)  
  −y1 + Lf y1  
 


       
 ...   ...   ...   ... 
       
z2,1  T2,1 (x)   y2 x9
       
    
       

 z2,2 
 
 T2,2 (x)  
  −y2 + Lf y2  
  −x9 + x3 − x∗3 

       2 

 z2,3 
 
 T2,3 (x)  
  Lf y2 + L2f y2  
  x3 − x∗3 + PJ Tm − 3P λx
2J r 2


       
 ...   ...   ...   ... 
       
z3,1  T3,1 (x)   y3 x10
       
    
       
 z3,2 
  T3,2 (x)   −y3 + Lf y3   −x10 + Rth x4 − ωg Lth x5 + Ethd − u∗dl
  
 = T (x) =  = = , z ∈ R13
    


 ... 

 ...  
  ...  
  ... 

       

 z4,1 
 
 T4,1 (x)  
  y4  
  x11 

z4,2  T4,2 (x)   −y4 + Lf y4   −x11 − ωg Lth x4 + Rth x5 + Ethq − u∗ql
       
  
       

 ...  
 ...  
  ...  
  ... 

       

 z5,1 
 
 T5,1 (x)  
  y5  
  x12 

−x12 + x7 − x∗7
       

 z5,2 


 T5,2 (x)  
  −y5 + Lf y5  
 


...  ...   ... ...
       
    
       

 z6,1 
 
 T6,1 (x)  
  y6  
  x13 

z6,2 T6,2 (x) −y6 + Lf y6 −x13 + x6 − x∗6
(7.68)
The determinant of the Jacobian matrix of (7.68) is computed as

−3P 2 −L2th ωg2 + Rth
2
d (∇T (x)) = (7.69)
2J

127
which is nonzero, and hence, the Jacobian ∇T (x) is non-singular, and the inverse x = T −1 (z)
exists and is computed as
   
x1 x∗1 + z1,1 + z1,2
   
2

 x2 


 3J 2 λr P 2
(P Tm + Jz2,1 + Jz2,2 + Jz2,3 ) 


   

 x3 


 x3 + z2,1 + z2,2 

1 ∗ ∗

Rth udl + Rth z3,1 + Rth z3,2 − Ethd Rth − Ethd Lth ωg + Lth ωg uql + Lth ωg z4,1 + Lth ωg z4,2 
   

 x4 


 2
−L2th ωg2 +Rth 
1
Rth u∗ql + Rth z4,1 + Rth z4,2 − Ethd Rth − Ethd Lth ωg + Lth ωg u∗dl + Lth ωg z3,1 + Lth ωg z3,2 

x5
   
2
L2th ωg2 +Rth
  
   
x6 x∗6 + z6,1 + z6,1
   
   
  −1
 
 x7  = T (z) =  ∗
x7 + z5,1 + z5,1 
   
   

 x8 


 z1,1 

x9
   





 z2,1 


 x10 


 z3,1


   

 x11 


 z4,1 

   

 x12 


 z5,1 

x13 z6,1
(7.70)
According to definition 2.1, the transformation matrix (7.68) is a diffeomorphism. From
(7.65), f (x) and gi (x) where i = 1, 2, . . . , 6 are obtained as
 
Lq
−R s
Ld 1
x + xx
Ld 2 3
 

 − LLdq x1 x3 − R s
Lq 2
x − Lλrq x3 

P 2
Tm − 3P
 

 J 2J
λr x2 

 
L ω +L ω
− RLth x + f g th g
x5 − L1f Ethd
 
4
 Lf
 
  f 
Lth ωg −Lf ωg
x4 − RLth x5 − L1f Ethq
 
Lf
 f

 
 ubat 
Lb
 
 
f (x) = 
 udc isdc 
 (7.71)
 

 x1 − x∗1 

x3 − x∗3
 
 
 
Rth x4 − ωg Lth x5 + Ethd − u∗dl
 
 
 
−ωg Lth x4 + Rth x5 + Ethq − u∗ql
 
 
 

 x7 − x∗7 

x6 − x∗6

128
           
1
Ld
0 0 0 0 0
           
1  0

 0 


 Lq

 



 0 

 0 


 0 
           
 0   0   0   0   0   0 
           
     1       

 0 


 0 

 L
 f



 0 

 0 


 0 
1 
0  0  0 0  0 
          
Lf 
       
          
udc 

 0 


 0 
  0
 


 0 
 
 0 


 Lb 
           
g1 (x) =  g2 (x) =  g3 (x) =  3 g4 (x) =  g5 (x) =  g6 (x) = 
0  0  − 2 x4 0  1  0 
 
          
           

 0 


 0 

 0




 0 

 0 


 0 
0  0  0 
           
  0   0   0   
           

 0 


 0

  0
 


 0 
 
 0 


 0 
           

 0 


 0 

 0




 0 

 0 


 0 
           

 0 


 0 

 0




 0 

 0 


 0 
0 0 0 0 0 0
(7.72)
Considering (7.71) and (7.72), each element in the transformation matrix (7.68) is differen-
tiated in time as follows

1)
dT1,1 (x) dy1 ∂y1
ż1,1 = = = [f (x) + g1 (x) u1 + · · · + g6 (x) u6 ]
dt dt ∂x
= Lf y1 ⇒ x1 − x∗1
(7.73)
= y1 + z1,2
= z1,1 + z1,2

2)
dT1,2 (x) ∂Lf y1
ż1,2 = = −Lf y1 + [f (x) + g1 (x) u1 + · · · + g6 (x) u6 ]
dt ∂x
= − (z1,1 + z1,2 ) + L2f y1 + Lg1 Lf y1 u1 + · · · + Lg6 Lf y1 u6
1 (7.74)
= −z1,1 − z1,2 + L2f y1 + u1
Ld
Rs Lq 1
= −z1,1 − z1,2 − x1 + x2 x3 + u1
Ld Ld Ld
3)
dT2,1 (x) dy2 ∂y2
ż2,1 = = = [f (x) + g1 (x) u1 + · · · + g6 (x) u6 ]
dt dt ∂x
= Lf y2 ⇒ x3 − x∗3
(7.75)
= y2 + z2,2
= z2,1 + z2,2

129
4)

dT2,2 (x) ∂Lf y2


ż2,2 = = −Lf y2 + [f (x) + g1 (x) u1 + · · · + g6 (x) u6 ]
dt ∂x
P 3P 2
= − (z2,1 + z2,2 ) + L2f y2 ⇒ − (z2,1 + z2,2 ) + Tm − λr x2
J 2J (7.76)
= − (z2,1 + z2,2 ) + z2,3 − (z2,1 + z2,2 )
= −2 (z2,1 + z2,2 ) + z2,3

5)

dT2,3 (x) ∂L2f y2


ż2,3 = = L2f y2 + [f (x) + g1 (x) u1 + · · · + g6 (x) u6 ]
dt ∂x
= z2,3 − (z2,1 + z2,2 ) + L3f y2 + Lg1 L2f y2 u1 + · · · + Lg6 L2f y2 u6
3P 2
= z2,3 − (z2,1 + z2,2 ) + L3f y2 − λr u2
2JLq
3P 2 λr 3P 2
 
Ld Rs λr
= z2,3 − (z2,1 + z2,2 ) + − x1 x3 − x2 − x3 − λr u 2
2J Lq Lq Lq 2JLq
(7.77)

6)
dT3,1 (x) dy3 ∂y3
ż3,1 = = = [f (x) + g1 (x) u1 + · · · + g6 (x) u6 ]
dt dt ∂x
= Lf y3 ⇒ Rth x4 − ωg Lth x5 + Ethd − u∗dl
(7.78)
= y3 + z3,2
= z3,1 + z3,2

7)

dT3,2 (x) ∂Lf y3


ż3,2 = = −Lf y3 + [f (x) + g1 (x) u1 + · · · + g6 (x) u6 ]
dt ∂x
= − (z3,1 + z3,2 ) + L2f y3 + Lg1 Lf y3 u1 + · · · + Lg6 Lf y3 u6
Rth ωg Lth
= −z3,1 − z3,2 + L2f y3 + u3 − u4
Lf Lf
 2
Rth + L2th ωg2 − Lth Lf ωg2

Rth
= −z3,1 − z3,2 − x4 − Ethd
Lf Lf
 
Rth Lf ωg + 2Rth Lth ωg ωg Lth Rth ωg Lth
+ x5 + Ethd + u3 − u4
Lf Lf Lf Lf
(7.79)

130
8)
dT4,1 (x) dy4 ∂y4
ż4,1 = = = [f (x) + g1 (x) u1 + · · · + g6 (x) u6 ]
dt dt ∂x
= Lf y4 ⇒ −ωg Lth x4 + Rth x5 + Ethq − u∗ql
(7.80)
= y4 + z4,2
= z4,1 + z4,2

9)
dT4,2 (x) ∂Lf y4
ż4,2 = = −Lf y4 + [f (x) + g1 (x) u1 + · · · + g6 (x) u6 ]
dt ∂x
= − (z4,1 + z4,2 ) + L2f y4 + Lg1 Lf y4 u1 + · · · + Lg6 Lf y4 u6
ωg Lth Rth
= −z4,1 − z4,2 + L2f y4 − u3 + u4
Lf Lf
 
2Rth Lth ωg − Lf Rth ωg Rth
= −z4,1 − z4,2 + x4 − Ethd
Lf Lf
 2
Rth + Lf Lth ωg2 + L2th ωg2

Lth ωg ωg Lth Rth
− x5 + Ethd − u3 + u4
Lf Lf Lf Lf
(7.81)

10)
dT5,1 (x) dy5 ∂y5
ż5,1 = = = [f (x) + g1 (x) u1 + · · · + g6 (x) u6 ]
dt dt ∂x
= Lf y5 ⇒ x7 − x∗7
(7.82)
= y5 + z5,2
= z5,1 + z5,2

11)
dT5,2 (x) ∂Lf y5
ż5,2 = = −Lf y5 + [f (x) + g1 (x) u1 + · · · + g6 (x) u6 ]
dt ∂x
= − (z5,1 + z5,2 ) + udc isdc + Lg1 Lf y5 u1 + · · · + Lg6 Lf y5 u6 (7.83)
3
= −z5,1 − z5,2 + udc isdc − x4 u3 + u5
2
12)
dT6,1 (x) dy6 ∂y6
ż6,1 = = = [f (x) + g1 (x) u1 + · · · + g6 (x) u6 ]
dt dt ∂x
= Lf y6 ⇒ x6 − x∗6
(7.84)
= y6 + z6,2
= z6,1 + z6,2

131
13)
dT6,2 (x) ∂Lf y6
ż6,2 = = −Lf y6 + [f (x) + g1 (x) u1 + · · · + g6 (x) u6 ]
dt ∂x
ubat
= − (z6,1 + z6,2 ) + + Lg1 Lf y6 u1 + · · · + Lg6 Lf y6 u6 (7.85)
Lb
ubat udc
= −z6,1 − z6,2 + + u6
Lb Lb
From (7.73) - (7.85), the permanent magnet synchronous generator-based wind energy system
(7.65) in its strict feedback form will be

ż1,1 = z1,1 + z1,2


Rs Lq 1
ż1,2 = −z1,1 − z1,2 − x1 + x2 x3 + u1
Ld Ld Ld
...
ż2,1 = z2,1 + z2,2
ż2,2 = −2 (z2,1 + z2,2 ) + z2,3
3P 2 λr 3P 2
 
Ld Rs λr
ż2,3 = z2,3 − (z2,1 + z2,2 ) + − x1 x3 − x2 − x3 − λr u2
2J Lq Lq Lq 2JLq
...
ż3,1 = z3,1 + z3,2
2
Rth + L2th ωg2 − Lth Lf ωg2
   
Rth Rth Lf ωg + 2Rth Lth ωg
ż3,2 = −z3,1 − z3,2 − x4 − Ethd + x5
Lf Lf Lf
ωg Lth Rth ωg Lth
+ Ethd + u3 − u4
Lf Lf Lf
...
ż4,1 = z4,1 + z4,2
2
Rth + Lf Lth ωg2 + L2th ωg2
   
2Rth Lth ωg − Lf Rth ωg Rth
ż4,2 = −z4,1 − z4,2 + x4 − Ethd − x5
Lf Lf Lf
Lth ωg ωg Lth Rth
+ Ethd − u3 + u4
Lf Lf Lf
...
ż5,1 = z5,1 + z5,2
3
ż5,2 = −z5,1 − z5,2 + udc isdc − x4 u3 + u5
2
...
ż6,1 = z6,1 + z6,2
ubat udc
ż6,2 = −z6,1 − z6,2 + + u6
Lb Lb
(7.86)

132
It is easy to substitute for x values from (7.70). If the matrix
 
1
0 0 0 0 0
 Ld 2

 0 − 3P λ 0 0 0 0 
 2JLq r 
 
 0 0 Rth
Lf
− ωgLLfth 0 0 
(7.87)
 
− ωgLLfth
 Rth

 0 0 0 0 
 Lf 
− 32 x4
 
 0 0 0 1 0 
 
0 0 0 0 0 uLdcb

is non-singular ∀ z ∈ R13 , then integrator backstepping can be used to design a controller


for the system (7.86) following (7.44)-(7.49). 4

7.4 Transformation into Strict Feedback Form and Backstepping Control of


Western System Coordinating Council (WECC) 3-Machine system

One of the features that distinguishes the electric utility industry is the way that
participants are interconnected. The purpose of substations and transmission lines is to
deliver energy to customers upon demand. Currently, electricity of a large scale cannot be
stored. That is, the amount of electricity provided to customers must always be balanced
by generators and power sources [62]. Therefore, if the design and operation of a large scale
power system is not coordinated, then there might be outages and other disruptions [63].
Avoiding this situation becomes more important as communities become more dependent on
electrical infrastructure. As examples, this includes electrical power for telecommunications
and computer networks; hospitals and healthcare equipment; wastewater treatment facili-
ties and municipal water pumping stations; fuel distribution pipelines such as natural gas;
transportation systems such as electric rail, vehicle traffic signaling and air traffic control
centers. Throughout history, there have been severe power outages across North America.
In the summer of 2003, a severe power outage occurred in the Northeast US impacting 50
million customers for almost 30 hours [64]. Consequently, the Federal Power Act was passed
in 2005 to develop standards that would increase the reliability of the electric grid. More-
over, this act resulted in the establishment of the Electric Reliability Organization (ERO).
This mission was delegated to the North American Electric Reliability Corporation (NERC).
NERC subsequently assigned some of this authority to regional entities. Western Electricity
Coordinating Council (WECC) is one of those entities [65,66]. In this research, a novel stabi-
lization approach of the WECC 3-machine system using backstepping control methodology

133
based on the Lyapunov theorem of stability is proposed as a means to improve system sta-
bility. This is achieved by injecting power into the system from large-scale battery sources.
The coordinates of the feedback linearizable WECC 3-machine system is transformed based
on the Lie derivative of the system outputs. In the literature, the WECC 3-machine system
was considered in several previous studies. In [67], a case study of the WECC 3-machine
system was considered to illustrate an approach for vulnerability analysis proposed for coor-
dinated variable structure switching. This is a class of cyber-physical reconfiguration attacks
in which the system is destabilized when the opponent applies a switching sequence to the
target circuit components. However, this approach was based on the linearized model of the
system. In [68], a reduced-order model for synchronous generator dynamics was developed
and then used with a balancing authority area dynamic model in which to design a dynamic
automatic generation control. The idea was demonstrated on the WECC 3-Machine system.
A comparison study in [69] showed a satisfactory response from applying power oscillation
damping (POD) function versus that of a power system stabilizer (PSS) on the WECC 3-
machine system with PV. In [62], local feedback and global control were used to investigate
the stability of the power grid network. The results in this case were not feasible for im-
plementation. The WECC 3-machine system was also a case study in [70] where screening
stability and remedial action tool were proposed. The approach depends on the Lyapunov
functions to select a suitable remedial action that stabilizes the power system. Consider
the classical model for Western System Coordinating Council (WECC) 3-Machine system
appearing in [71]

ẋ1 = C12 sin(x2 ) − D12 cos(x2 ) + C13 sin(x4 ) − D13 cos(x4 ) − P1 + u1


ẋ2 = x3 − x1
ẋ3 = −C21 sin(x2 ) − D21 cos(x2 ) − C23 sin(x2 − x4 ) − D23 cos(x2 − x4 ) − P2 + u2
ẋ4 = x5 − x1
ẋ5 = −C31 sin(x4 ) − D31 cos(x4 ) − C32 sin(x4 − x2 ) − D32 cos(x4 − x2 ) − P3 + u3 (7.88)
...
y 1 = x1
y 2 = x2
y 3 = x4

134
where
h iT
x= ω1 δ̂2 ω2 δ̂3 ω3
h iT
u= TBAT 1 TBAT 2 TBAT 3
h iT
y= ω1 δ̂2 δ̂3

Table 7.5: WECC 3-machine system parameters definition.

Parameter Definition

ωi Rotor i angular velocity


δi Rotor i angle
δ̂i Rotor i angular difference
TBAT i Battery i power
Cij Constant
Dij Constant
Pi Load power

From (7.88), f (x) and gi (x) where i = 1, 2, 3 are obtained as


 
C12 sin(x2 ) − D12 cos(x2 ) + C13 sin(x4 ) − D13 cos(x4 ) − P1
 

 x3 − x1 

 
f (x) = 
 −C21 sin(x2 ) − D21 cos(x2 ) − C23 sin(x2 − x4 ) − D23 cos(x2 − x4 ) − P2
 (7.89)

 

 x5 − x1 

−C31 sin(x4 ) − D31 cos(x4 ) − C32 sin(x4 − x2 ) − D32 cos(x4 − x2 ) − P3

     
1 0 0
     
 0   0   0 
     
     
g1 (x) = 
 0 
 g2 (x) = 
 1 
 g3 (x) = 
 0 
 (7.90)
     
 0   0   0 
     
0 0 1

135
Starting by finding the systems relative degree through differentiating each output until at
least one input appears.

y 1 = x1
(1)
y1 = ẋ1 (7.91)
= C12 sin(x2 ) − D12 cos(x2 ) + C13 sin(x4 ) − D13 cos(x4 ) − P1 + u1

Thus, system (7.88) has sub-relative degree ρ1 = 1 corresponding to output y1 .

y 2 = x2
(1)
y2 = ẋ2
= x3 − x1
(7.92)
(2)
y2 = ẋ3 − ẋ1
= −C21 sin(x2 ) − D21 cos(x2 ) − C23 sin(x2 − x4 ) − D23 cos(x2 − x4 ) − P2 + u2
− C12 sin(x2 ) + D12 cos(x2 ) − C13 sin(x4 ) + D13 cos(x4 ) + P1 − u1

Thus, system (7.88) has sub-relative degree ρ2 = 2 corresponding to output y2 .

y3 = x4
(1)
y3 = ẋ4
= x5 − x1
(7.93)
(2)
y3 = ẋ5 − ẋ1
= −C31 sin(x4 ) − D31 cos(x4 ) − C32 sin(x4 − x2 ) − D32 cos(x4 − x2 ) − P3 + u3
− C12 sin(x2 ) + D12 cos(x2 ) − C13 sin(x4 ) + D13 cos(x4 ) + P1 − u1

Thus, the system (7.88) has sub-relative degree ρ3 = 2 corresponding to output y3 . From
(7.91)-(7.93), system (7.88) has a vector relative degree ρ = {ρ1 , ρ2 , ρ3 } also ρ1 + ρ2 + ρ3 =
1 + 2 + 2 = 5 = n which is the system’s dimension. Hence, the transformation matrix that
may transform the system (7.88) into its strict feedback form can easily be obtained from
(7.52) as      
z1,1 y1 x1
     
 z   y2   x2 
 2,1     
     
 z2,2  = T (x) =  −y2 + Lf y2  =  −x2 + x3 − x1  (7.94)
     
     
 z3,1   y3   x4 
     
z3,2 −y3 + Lf y3 −x4 + x5 − x1

136
The determinant of the Jacobian matrix of (7.94) is easily computed as

d (∇T (x)) = 1 6= 0 (7.95)

Thus, (7.94) is non-singular and its inverse exists and is obtained as


   
x1 z1,1
   
 x   z 
 2   2,1 
 x3  = T −1 (z) =  z2,1 + z2,2 + z1,1 
   
    (7.96)
   
 x4   z3,1

   
x5 z3,1 + z3,2 + z1,1

Differentiating each row element in (7.94)

1)
∂y1
ż1,1 = [f (x) + g1 (x) u1 + g2 (x) u2 + g3 (x) u3 ]
∂x
= Lf y1 + Lg1 y1 u1 (7.97)

= C12 sin(z2,1 ) − D12 cos(z2,1 ) + C13 sin(z3,1 ) − D13 cos(z3,1 ) − P1 + u1

2)
∂y2
ż2,1 = [f (x) + g1 (x) u1 + g2 (x) u2 + g3 (x) u3 ]
∂x
= Lf y2
(7.98)
= x3 − x1
= z2,1 + z2,2

3)
∂ (Lf y2 )
ż2,2 = − (z2,1 + z2,2 ) + [f (x) + g1 (x) u1 + g2 (x) u2 + g3 (x) u3 ]
∂x
= −z2,1 − z2,2 + L2f y2 + Lg1 Lf y2 u1 + Lg2 Lf y2 u2 + Lg3 Lf y2 u3
= −z2,1 − z2,2 − C12 sin(z2,1 ) + D12 cos(z2,1 ) − C13 sin(z3,1 ) + D13 cos(z3,1 ) + P1
− C21 sin(z2,1 ) − D21 cos(z2,1 ) − C23 sin(z2,1 − z3,1 ) − D23 cos(z2,1 − z3,1 ) − P2
− u1 + u2
= −z2,1 − z2,2 − (C12 + C21 ) sin(z2,1 ) + (D12 − D21 ) cos(z2,1 ) − C13 sin(z3,1 )
+ D13 cos(z3,1 ) + P1 − C23 sin(z2,1 − z3,1 ) − D23 cos(z2,1 − z3,1 ) − P2 − u1 + u2
(7.99)

137
4)
∂y3
ż3,1 = [f (x) + g1 (x) u1 + g2 (x) u2 + g3 (x) u3 ]
∂x
= Lf y3
(7.100)
= x5 − x1
= z3,1 + z3,2

5)

∂ (Lf y3 )
ż3,2 = − (z3,1 + z3,2 ) + [f (x) + g1 (x) u1 + g2 (x) u2 + g3 (x) u3 ]
∂x
= −z3,1 − z3,2 + L2f y3 + Lg1 Lf y3 u1 + Lg2 Lf y3 u2 + Lg3 Lf y3 u3
= −z3,1 − z3,2 − C12 sin(z2,1 ) + D12 cos(z2,1 ) − C13 sin(z3,1 ) + D13 cos(z3,1 ) + P1
− C31 sin(z3,1 ) − D31 cos(z3,1 ) − C32 sin(z3,1 − z2,1 ) − D32 cos(z3,1 − z2,1 ) − P3
− u1 + u3
= −z3,1 − z3,2 − C12 sin(z2,1 ) + D12 cos(z2,1 ) − (C13 + C31 ) sin(z3,1 )
+ (D13 − D31 ) cos(z3,1 ) + P1 − C32 sin(z3,1 − z2,1 ) − D32 cos(z3,1 − z2,1 )
− P3 − u1 + u3
(7.101)

From (7.97)-(7.101) the system (7.88) in its strict feedback form will be

ż1,1 = C12 sin(z2,1 ) − D12 cos(z2,1 ) + C13 sin(z3,1 ) − D13 cos(z3,1 ) − P1 + u1


...
ż2,1 = z2,1 + z2,2
ż2,2 = −z2,1 − z2,2 − (C12 + C21 ) sin(z2,1 ) + (D12 − D21 ) cos(z2,1 ) − C13 sin(z3,1 )
+ D13 cos(z3,1 ) + P1 − C23 sin(z2,1 − z3,1 ) − D23 cos(z2,1 − z3,1 ) − P2 − u1 + u2
...
ż3,1 = z3,1 + z3,2
ż3,2 = −z3,1 − z3,2 − C12 sin(z2,1 ) + D12 cos(z2,1 ) − (C13 + C31 ) sin(z3,1 ) + (D13 − D31 ) cos(z3,1 )
+ P1 − C32 sin(z3,1 − z2,1 ) − D32 cos(z3,1 − z2,1 ) − P3 − u1 + u3
(7.102)

138
It is clear from (7.102) that
 
1 2 3
g1,ρ 1
g1,ρ 1
g1,ρ 1
 
G (x) =  1 2 3
g g
 2,ρ2 2,ρ2 2,ρ2  g 
1 2 3
g3,ρ 3
g3,ρ 3
g3,ρ 3
  (7.103)
1 0 0
 
= −1 1 0 

−1 0 1

is non-singular. Thus, to design a stabilizing control function, the procedure in section 5.4
is applied to each subsystem in (7.102) as follows:

Sub-system z 1,1

Step:1

Let e1,1 = z1,1 . Take its derivative in time

ė1,1 = ż1,1
(7.104)
= C12 sin(z2,1 ) − D12 cos(z2,1 ) + C13 sin(z3,1 ) − D13 cos(z3,1 ) − P1 + u1

Choose the Lyapunov function:


1
V1,1 (e1,1 ) = e21,1 (7.105)
2
Differentiating it in time results in:

V̇1,1 (e1,1 ) = e1,1 ė1,1


= e1,1 [C12 sin(z2,1 ) − D12 cos(z2,1 ) + C13 sin(z3,1 ) − D13 cos(z3,1 ) − P1 + u1 ]
(7.106)
Choosing:

u1 = −C12 sin(z2,1 ) + D12 cos(z2,1 ) − C13 sin(z3,1 ) + D13 cos(z3,1 ) + P1 − k1,1 e1,1 , k1,1 > 0
(7.107)
yields:
V̇1,1 (e1,1 ) = −k1,1 e21,1 (7.108)

139
Sub-system z 2,i

Step:1

Let z2,2 be a virtual control input whose desired value is denoted by α1 . Let e2,1 = z2,1 . Take
its derivative in time
ė2,1 = ż2,1
(7.109)
= z2,1 + z2,2
Choose the Lyapunov function:
1
V2,1 (e2,1 ) = e22,1 (7.110)
2
Differentiating it in time results in:
V̇2,1 (e2,1 ) = e2,1 ė2,1
(7.111)
= e2,1 [z2,1 + z2,2 ]
Choosing:
z2,2 = α1 = −z2,1 − k2,1 e2,1 , k2,1 > 0 (7.112)

yields:
V̇2,1 (e2,1 ) = −k2,1 e22,1 (7.113)

Step:2

The stabilizing function z2,2 in step 1 is not the valid function but instead is the desired one.
Therefore, one can define the error parameter

e2,2 = z2,2 − α1 (7.114)

Take its derivative in time


ė2,2 = ż2,2 − α̇1
= −z2,1 − z2,2 − (C12 + C21 ) sin(z2,1 ) + (D12 − D21 ) cos(z2,1 ) − C13 sin(z3,1 )
+ D13 cos(z3,1 ) + P1 − C23 sin(z2,1 − z3,1 ) − D23 cos(z2,1 − z3,1 ) − P2 − u1 + u2 − α̇1
(7.115)
From (7.109), (7.114) and (7.115), sub-system z2,i in new coordinates is

ė2,1 = z2,1 + α1 + e2,2


ė2,2 = −z2,1 − z2,2 − (C12 + C21 ) sin(z2,1 ) + (D12 − D21 ) cos(z2,1 ) − C13 sin(z3,1 )
+ D13 cos(z3,1 ) + P1 − C23 sin(z2,1 − z3,1 ) − D23 cos(z2,1 − z3,1 ) − P2 − u1 + u2 − α̇1
(7.116)

140
Choose the augmented Lyapunov function:
1 1
V2,2 (e2,1 , e2,2 ) = e22,1 + e22,2 (7.117)
2 2
Differentiating it in time results in:

V̇2,2 (e2,1 , e2,2 ) = e2,1 ė2,1 + e2,2 ė2,2


  
= e2,1 z2,1 + α1 + e2,2 + e2,2 − z2,1 − z2,2 − (C12 + C21 ) sin(z2,1 )
(7.118)
+ (D12 − D21 ) cos(z2,1 ) − C13 sin(z3,1 ) + D13 cos(z3,1 ) + P1

− C23 sin(z2,1 − z3,1 ) − D23 cos(z2,1 − z3,1 ) − P2 − u1 + u2 − α̇1

Substituting for α1 from (7.112) yields

V̇2,2 (e2,1 , e2,2 ) = −k2,1 e22,1 + e2,2 e2,1 − z2,1 − z2,2 − (C12 + C21 ) sin(z2,1 )


+ (D12 − D21 ) cos(z2,1 ) − C13 sin(z3,1 ) + D13 cos(z3,1 ) + P1 (7.119)



− C23 sin(z2,1 − z3,1 ) − D23 cos(z2,1 − z3,1 ) − P2 − u1 + u2 − α̇1

Choosing:

u2 = −e2,1 + z2,1 + z2,2 + (C12 + C21 ) sin(z2,1 )


− (D12 − D21 ) cos(z2,1 ) + C13 sin(z3,1 ) − D13 cos(z3,1 ) − P1
+ C23 sin(z2,1 − z3,1 ) + D23 cos(z2,1 − z3,1 ) + P2 + u1 − k2,2 e2,2 + α̇1 , k2,2 > 0
(7.120)
yields:
V̇2,2 (e2,1 , e2,2 ) = −k2,1 e22,1 − k2,2 e22,2 (7.121)

Sub-system z 3,i

Step:1

Let z3,2 be a virtual control input whose desired value is denoted by α2 . Let e3,1 = z3,1 . Take
its derivative in time
ė3,1 = ż3,1
(7.122)
= z3,1 + z3,2
Choose the Lyapunov function as:
1
V3,1 (e3,1 ) = e23,1 (7.123)
2

141
Differentiating it in time results in:
V̇3,1 (e3,1 ) = e3,1 ė3,1
(7.124)
= e3,1 [z3,1 + z3,2 ]
Choosing:
z3,2 = α2 = −z3,1 − k3,1 e3,1 , k3,1 > 0 (7.125)

yields:
V̇3,1 (e3,1 ) = −k3,1 e23,1 (7.126)

Step:2

The stabilizing function z3,2 in step 1 is not the valid function but instead is the desired one.
Therefore, one can define the error parameter

e3,2 = z3,2 − α2 (7.127)

Taking its derivative in time


ė3,2 = ż3,2 − α̇2
= −z3,1 − z3,2 − C12 sin(z2,1 ) + D12 cos(z2,1 ) − (C13 + C31 ) sin(z3,1 ) + (D13 − D31 ) cos(z3,1 )
+ P1 − C32 sin(z3,1 − z2,1 ) − D32 cos(z3,1 − z2,1 ) − P3 − u1 + u3 − α̇2
(7.128)
From (7.122), (7.127) and (7.128), sub-system z3,i in new coordinates is

ė3,1 = z3,1 + α2 + e3,2


ė3,2 = −z3,1 − z3,2 − C12 sin(z2,1 ) + D12 cos(z2,1 ) − (C13 + C31 ) sin(z3,1 ) + (D13 − D31 ) cos(z3,1 )
+ P1 − C32 sin(z3,1 − z2,1 ) − D32 cos(z3,1 − z2,1 ) − P3 − u1 + u3 − α̇2
(7.129)
Choose the augmented Lyapunov function:
1 1
V3,2 (e3,1 , e3,2 ) = e23,1 + e23,2 (7.130)
2 2
Differentiating it in time results in:
V̇3,2 (e3,1 , e3,2 ) = e3,1 ė3,1 + e3,2 ė3,2
  
= e3,1 z3,1 + α2 + e3,2 + e3,2 − z3,1 − z3,2 − C12 sin(z2,1 ) + D12 cos(z2,1 )
− (C13 + C31 ) sin(z3,1 ) + (D13 − D31 ) cos(z3,1 ) + P1 − C32 sin(z3,1 − z2,1 )

− D32 cos(z3,1 − z2,1 ) − P3 − u1 + u3 − α̇2
(7.131)

142
Substituting for α2 from (7.125) yields

V̇3,2 (e3,1 , e3,2 ) = −k3,1 e23,1 + e3,2 e3,1 − z3,1 − z3,2 − C12 sin(z2,1 ) + D12 cos(z2,1 )


− (C13 + C31 ) sin(z3,1 ) + (D13 − D31 ) cos(z3,1 ) + P1 − C32 sin(z3,1 − z2,1 )



− D32 cos(z3,1 − z2,1 ) − P3 − u1 + u3 − α̇2
(7.132)
Choosing:

u3 = −e3,1 + z3,1 + z3,2 + C12 sin(z2,1 ) − D12 cos(z2,1 )


+ (C13 + C31 ) sin(z3,1 ) − (D13 − D31 ) cos(z3,1 ) − P1 + C32 sin(z3,1 − z2,1 ) (7.133)
+ D32 cos(z3,1 − z2,1 ) + P3 + u1 − k3,2 e3,2 + α̇2 , k3,2 > 0
yields:
V̇3,2 (e3,1 , e3,2 ) = −k3,1 e23,1 − k3,2 e23,2 (7.134)

From (7.103), (7.107), (7.120) and (7.133), the overall stabilizing function is given by:
 −1
1 0 0
 
uz = 
 −1 1 0 

−1 0 1
 
−C12 sin(z2,1 ) + D12 cos(z2,1 ) − C13 sin(z3,1 ) + D13 cos(z3,1 ) + P1 − k1,1 e1,1
 
 
 
 
 −e2,1 + z2,1 + z2,2 + (C12 + C21 ) sin(z2,1 ) − (D12 − D21 ) cos(z2,1 ) + C13 sin(z3,1 ) − D13 cos(z3,1 ) − P1 + C23 sin(z2,1 − z3,1 ) 
 
× +D23 cos(z2,1 − z3,1 ) + P2 − k2,2 e2,2 + α̇1
 

 
 
 
 
 −e3,1 + z3,1 + z3,2 + C12 sin(z2,1 ) − D12 cos(z2,1 ) + (C13 + C31 ) sin(z3,1 ) − (D13 − D31 ) cos(z3,1 ) − P1 + C32 sin(z3,1 − z2,1 ) 
 
+D32 cos(z3,1 − z2,1 ) + P3 − k3,2 e3,2 + α̇2
(7.135)
Using the transformation matrix (7.94), the stabilizing function (7.135) can be transformed
back to the following stabilizing function in the original system’s coordinates
 −1
1 0 0
 
ux = 
 −1 1 0 

−1 0 1
 
−C12 sin(x2 ) + D12 cos(x2 ) − C13 sin(x4 ) + D13 cos(x4 ) + P1 − k1,1 x1
 
 
 
 
 −x2 + x3 − x1 + (C12 + C21 ) sin(x2 ) − (D12 − D21 ) cos(x2 ) + C13 sin(x4 ) − D13 cos(x4 ) − P1 + C23 sin(x2 − x4 ) 
 
× +D23 cos(x2 − x4 ) + P2 − k2,2 (−x2 + k3 − x1 − α1 ) + α̇1
 

 
 
 
 
 −x4 + x5 − x1 + C12 sin(x2 ) − D12 cos(x2 ) + (C13 + C31 ) sin(x4 ) − (D13 − D31 ) cos(x4 ) − P1 + C32 sin(x4 − x2 ) 
 
+D32 cos(x4 − x2 ) + P3 − k3,2 (−x4 + x5 − x1 − α2 ) + α̇2
(7.136)

143
where
α1 = −x2 − k2,1 x2
α̇1 = −x3 + x1 − k2,1 (x3 − x1 )
(7.137)
α2 = −x4 − k3,1 x4
α̇2 = −x5 + x1 − k3,1 (x5 − x1 )
A comparison between the system’s response to random initial conditions in both open-loop
and closed-loop is given using Matlab/Simulink. The WECC 3-machine system (7.88) of
parameters obtained from [71] and listed in Table 7.6 was put in a closed-loop configuration
with the stabilizing function (7.136) as illustrated in the block diagram in Fig. 7.3. The
linear optimal control design with quadratic performance index [50] was used to design gain
values as k1,1 = 0.5774, k2,1 = 2.2188, k2,2 = 1.4023, k3,1 = 2.2188 and k3,2 = 1.4023.

𝑥1 𝑧1,1
WECC IN
WECC 𝑥2 𝑧2,1
𝑥3 STRICT 𝑧2,2
SYSTEM 𝑻 𝒙
𝑥4 FEEDBACK 𝑧3,1
(7.88) (7.94)
𝑥5 FORM 𝑧3,2
(7.102)

𝒖𝒙 𝑻 𝒙
𝒖𝒛 BACKSTEPPING
(7.94) (7.135) CONTROL
(7.136)
(7.104) - (7.134)

Figure 7.3: Closed-loop block diagram for transformation into strict feedback form and
backstepping control of WECC 3-machine system.

144
Table 7.6: WECC 3-machine system Parameters values.

Parameter Value Parameter Value

E1 1.054 P1 D11
E2 1.050 P2 D22
E3 1.017 P3 D33

G11 0.845 B11 −2.988


G12 0.287 B12 1.513
G13 0.210 B13 1.266
G21 0.287 B21 1.513
G22 0.420 B22 −2.724
G23 0.213 B23 1.088
G31 0.210 B31 1.226
G32 0.213 B32 1.088
G33 0.277 B33 −2.368

C11 E1 E1 B11 D11 E1 E1 G11


C12 E1 E2 B12 D12 E1 E2 G12
C13 E1 E3 B13 D13 E1 E3 G13
C21 E2 E1 B21 D21 E2 E1 G21
C22 E2 E2 B22 D22 E2 E2 G22
C23 E2 E3 B23 D23 E2 E3 G23
C31 E3 E1 B31 D31 E3 E1 G31
C32 E3 E2 B32 D32 E3 E2 G32
C33 E3 E3 B33 D33 E3 E3 G33

Fig. 7.4 - Fig. 7.7 show system states, rotor angular differences, rotor angles and velocities
respectively in both open-loop and closed-loop situations. Simulation results show the effec-
tiveness of backstepping approach in stabilizing the system. Fig. 7.4a shows the stabilization
 
of the system’s states ω1 , δ̂2 , ω2 , δ̂3 , ω3 in closed-loop configuration whereas Fig. 7.4b shows
the system’s response for the same initial conditions in open-loop configuration. Rotor angu-
 
lar differences δ̂1 , δ̂2 , δ̂3 in closed-loop configuration are shown in Fig. 7.5a and in open-loop
in Fig. 7.5b. Fig. 7.6a shows the stabilization of the rotors angles (δ1 , δ2 , δ3 ) in closed-loop
and Fig. 7.6b shows the instability in open-loop. Finally, Fig. 7.7a shows the stability of the
rotor angular velocities (ω1 , ω2 , ω3 ) in closed-loop configuration and Fig. 7.7b shows their
instability when no controller is applied.

145
20 250

15 200

10 150

5 100

0 50

-5 0
0 5 10 15 0 5 10 15

(a) System states in closed-loop. (b) System states in open-loop.

Figure 7.4: WECC 3-machine system states.

10 250

200

5
150

100
0

50

-5 0
0 5 10 15 0 5 10 15

(a) Rotor angular differences in closed-loop. (b) Rotor angular differences in open-loop.

Figure 7.5: WECC 3-machine system rotor angular differences.

146
10 300

250

5 200

150

0 100

50

-5 0
0 5 10 15 0 5 10 15

(a) Rotor angles in closed-loop. (b) Rotor angles in open-loop.

Figure 7.6: WECC 3-machine system rotor angles.

20 30

25
15

20
10
15
5
10

0
5

-5 0
0 5 10 15 0 5 10 15

(a) Rotor angular velocities in closed-loop. (b) Rotor angular velocities in open-loop.

Figure 7.7: WECC 3-machine system rotor angular velocities.

147
8 Conclusion

This dissertation focuses basically on how to transform multi-input multi-output non-


linear system into an equivalent strict feedback form. This enables applying backstepping
control approach based on Lyapunov stability and integrator backstepping theorem. After
the introduction, the necessary and required mathematical tools were discussed in the second
chapter. In the third chapter, two of the most common nonlinear control methods were ex-
plained in detail for both single-input single-output and multi-input multi-output systems.
The Lyapunov theorem of stability, as well as Sontag’s formula, were both explained in
chapter four. The notion of integrator backstepping, stabilization of systems with a chain of
integrators and systems in the strict feedback form using backstepping control methodology
were respectively explained in chapter five. In chapter six, simple adaptive regulation and
tracking backstepping controllers were both covered as well as backstepping for second-order
matched systems and extended matching systems. Avoiding overestimation when designing
controllers for extended matching systems was also covered in chapter six. Finally, in chapter
seven, the transformation process into a strict feedback form for both single-input single-
output and multi-input multi-output systems was explained. The mathematical model of
direct-drive surface permanent-magnet synchronous wind generator with boost converter as
a SISO system and the mathematical model for wind energy battery storage system as a
MIMO system were both transformed into their equivalent strict feedback forms in chapter
seven as well. The backstepping stabilizing controller was designed to stabilize permanent
magnet synchronous motor after transforming its mathematical model into its equivalent
strict feedback form. Similarly, a stabilizing MIMO controller was designed to stabilize the
Western Electricity Coordinating Council (WECC) 3-machines system. Both controllers
were tested using Matlab/Simulink to show their effectiveness. As a suggestion for future
work, the transformation of non-square multi-input multi-output systems were the number
of inputs is not equal to the number of outputs of the system might be of interest.

148
Bibliography

[1] R. Su, L. Hunt, and G. Meyer, “Canonical forms for nonlinear systems,” National
Aeronautics and Space Administration,NASA TM-81323, 1983.
[2] M. Mohammadzahei, H. Ziaiefar, M. Ghodsi, and I. B. Bahadur, “Yaw control of an
unmanned helicopter with feedback linearization,” in 2019 1st International Conference
on Unmanned Vehicle Systems-Oman (UVS), Feb 2019, pp. 1–5.
[3] Z. Li, Q. Hao, F. Gao, L. Wu, and M. Guan, “Nonlinear decoupling control of two-
terminal mmc-hvdc based on feedback linearization,” IEEE Transactions on Power
Delivery, vol. 34, no. 1, pp. 376–386, Feb 2019.
[4] A. Accetta, F. Alonge, M. Cirrincione, F. DIppolito, M. Pucci, R. Rabbeni, and A. Sfer-
lazza, “Robust control for high performance induction motor drives based on partial
state-feedback linearization,” IEEE Transactions on Industry Applications, vol. 55,
no. 1, pp. 490–503, Jan 2019.
[5] A. Akbarimajd, M. Olyaee, B. Sobhani, and H. Shayeghi, “Nonlinear multi-agent op-
timal load frequency control based on feedback linearization of wind turbines,” IEEE
Transactions on Sustainable Energy, vol. 10, no. 1, pp. 66–74, Jan 2019.
[6] L. Deori, S. Garatti, and M. Prandini, “4-d flight trajectory tracking: A receding horizon
approach integrating feedback linearization and scenario optimization,” IEEE Transac-
tions on Control Systems Technology, vol. 27, no. 3, pp. 981–996, May 2019.
[7] S. Arora, P. Balsara, and D. Bhatia, “Input output linearization of a boost converter
with mixed load (constant voltage load and constant power load),” IEEE Transactions
on Power Electronics, vol. 34, no. 1, pp. 815–825, Jan 2019.
[8] G. Lou, W. Gu, W. Sheng, X. Song, and F. Gao, “Distributed model predictive sec-
ondary voltage control of islanded microgrids with feedback linearization,” IEEE Access,
vol. 6, pp. 50 169–50 178, 2018.
[9] J.-J. E. Slotine, W. Li et al., Applied nonlinear control. Prentice hall Englewood Cliffs,
NJ, 1991, vol. 199, no. 1.
[10] H. Khalil, Nonlinear Systems, ser. Pearson Education. Prentice Hall, 2002.
[11] D. Cheng, X. Hu, and T. Shen, Analysis and Design of Nonlinear Control Systems.
Springer Berlin Heidelberg, 2011.
[12] C. Xia, Q. Geng, X. Gu, T. Shi, and Z. Song, “Input–output feedback linearization
and speed control of a surface permanent-magnet synchronous wind generator with the
boost-chopper converter,” IEEE Transactions on Industrial Electronics, vol. 59, no. 9,
pp. 3489–3500, 2012.

149
[13] M. Krstić, I. Kanellakopoulos, and P. Kokotović, Nonlinear and adaptive control design,
ser. Adaptive and learning systems for signal processing, communications, and control.
Wiley, 1995.

[14] X. Bi and X. Shi, “Attitude stabilization of rigid spacecraft implemented in backstepping


control with input delay,” Journal of Systems Engineering and Electronics, vol. 28, no. 5,
pp. 955–962, Oct 2017.

[15] M. Krstic, Delay compensation for nonlinear, adaptive, and PDE systems. Springer,
2009.

[16] M. Izadi, J. Abdollahi, and S. Dubljevic, “Backstepping control of pdes with time-
varying domain,” in 2014 American Control Conference, June 2014, pp. 380–385.

[17] M. Krstic and A. Smyshlyaev, Boundary Control of PDEs: A Course on Backstepping


Designs, ser. Advances in Design and Control. Society for Industrial and Applied
Mathematics, 2008.

[18] Y. Fan, Y. Cao, and T. Li, “Adaptive integral backstepping control for trajectory track-
ing of a quadrotor,” in 2017 4th International Conference on Information, Cybernetics
and Computational Social Systems (ICCSS), July 2017, pp. 619–624.

[19] W. Jasim and D. Gu, “Integral backstepping controller for quadrotor path tracking,” in
2015 International Conference on Advanced Robotics (ICAR), July 2015, pp. 593–598.

[20] H. El Fadil and F. Giri, “Backstepping based control of pwm dc-dc boost power con-
verters,” in 2007 IEEE International Symposium on Industrial Electronics, June 2007,
pp. 395–400.

[21] K. S. Alharbi and R. A. McCann, “Adaptive backstepping control of pwm dc-dc boost
power converter considering parasitic elements effect,” in 2018 Clemson University
Power Systems Conference (PSC), Sep. 2018, pp. 1–6.

[22] H. Sira-Ramı́rez, M. Rios-Bolivar, and A. S. Zinober, “Adaptive dynamical input–


output linearization of dc to dc power converters: A backstepping approach,” Inter-
national Journal of Robust and Nonlinear Control: IFAC-Affiliated Journal, vol. 7,
no. 3, pp. 279–296, 1997.

[23] J. L. Mathieu and J. K. Hedrick, “Transformation of a mismatched nonlinear dynamic


system into strict feedback form,” Journal of Dynamic Systems, Measurement, and
Control, vol. 133, no. 4, p. 041010, 2011.

[24] T. T. Tran, “Nonlinear flight control design using backstepping methodology,” Ph.D.
dissertation, Old Dominion University, 2016.

[25] S. Rudra, R. Barai, and M. Maitra, Block Backstepping Design of Nonlinear State
Feedback Control Law for Underactuated Mechanical Systems. Springer Singapore,
2016.

150
[26] C. Weatherburn, Differential Geometry of Three Dimensions. Cambridge University
Press, 2016, no. v. 2.

[27] A. Mathai, Jacobians of Matrix Transformations and Functions of Matrix Argument.


World Scientific Pub., 1997.

[28] C. Chen, P. Chen, and K. (Firm), Linear System Theory and Design, ser. Oxford series
in electrical and computer engineering. Oxford University Press, 1999.

[29] Q. Lu, Y. Sun, and S. Mei, Nonlinear Control Systems and Power System Dynamics,
ser. The International Series on Asian Studies in Computer and Information Science.
Springer US, 2013.

[30] K. Hangos, J. Bokor, and G. Szederkényi, Analysis and Control of Nonlinear Process
Systems, ser. Advanced Textbooks in Control and Signal Processing. Springer London,
2006.

[31] R. W. Brockett, “Nonlinear systems and differential geometry,” Proceedings of the IEEE,
vol. 64, no. 1, pp. 61–72, Jan 1976.

[32] J. Zabczyk, Mathematical Control Theory: An Introduction, ser. Modern Birkhäuser


Classics. Birkhäuser Boston, 2009.

[33] Yingjuan Yang, “Observer design for a class of multi-input multi-output affine nonlinear
systems,” in 2010 Chinese Control and Decision Conference, May 2010, pp. 962–965.

[34] A. Isidori, Lectures in Feedback Design for Multivariable Systems, ser. Advanced Text-
books in Control and Signal Processing. Springer International Publishing, 2016.

[35] A. Arutyunov, D. Karamzin, and F. Pereira, Optimal Impulsive Control: The Extension
Approach, ser. Lecture Notes in Control and Information Sciences. Springer Interna-
tional Publishing, 2018.

[36] A. Isidori, Nonlinear Control Systems, ser. Communications and Control Engineering.
Springer London, 2013.

[37] M. Rios-Bolivar, “Adaptive backstepping and sliding mode control of uncertain nonlin-
ear systems.” Ph.D. dissertation, University of Sheffield, 1997.

[38] L.-Y. Chang and H.-C. Chen, “Linearization and input-output decoupling for nonlinear
control of proton exchange membrane fuel cells,” Energies, vol. 7, no. 2, pp. 591–606,
2014.

[39] H. A. te Braake, E. J. Van Can, J. M. Scherpen, and H. B. Verbruggen, “Control of non-


linear chemical processes using neural models and feedback linearization,” Computers
& chemical engineering, vol. 22, no. 7-8, pp. 1113–1127, 1998.

[40] R. Su, “On the linear equivalents of nonlinear systems,” Systems and Control Letters,
vol. 2, no. 1, pp. 48 – 52, 1982.

151
[41] L. Hunt and R. Su, “On the linear equivalents of nonlinear time-varying systems,”
International Symposium on Mathematical Theory of Networks and Systems, vol. 4, pp.
119 – 123, 1981.

[42] L. Hunt, , and G. Meyer, “Global transformations of nonlinear systems,” IEEE Trans-
actions on Automatic Control, vol. 28, no. 1, pp. 24–31, January 1983.

[43] H. Kwatny and G. Blankenship, Nonlinear Control and Analytical Mechanics: A Com-
putational Approach, ser. Control Engineering. Birkhäuser Boston, 2000.

[44] B. Jakubczyk, “On linearization of control systems,” Bull. Acad. Polonaise Sci. Ser.
Sci. Math, vol. 28, pp. 517–522, 1980.

[45] D. Cheng, T.-J. Tarn, and A. Isidori, “Global external linearization of nonlinear systems
via feedback,” IEEE Transactions on Automatic Control, vol. 30, no. 8, pp. 808–811,
August 1985.

[46] S. H. AKJ and C. A. MACCARLEY, “State-feedback control of non-linear systems,”


International Journal of Control, vol. 43, no. 5, pp. 1497–1514, 1986.

[47] A. Krener, “On the equivalence of control systems and the linearization of nonlinear
systems,” SIAM Journal on Control, vol. 11, no. 4, pp. 670–676, 1973.

[48] L. Hunt, R. Su, and G. Meyer, “Design for multi-input nonlinear systems, differential
geometric control theory,” R. Brockett, R. Mllman, H. Sussmann eds, pp. 268–298,
1983.

[49] I. A. Tall, “Multi-input control systems: Explicit feedback linearization,” in 49th IEEE
Conference on Decision and Control (CDC), Dec 2010, pp. 5378–5383.

[50] K. Ogata and Y. Yang, Modern control engineering. Prentice hall India, 2002, vol. 4.

[51] S. Sastry and M. Bodson, Adaptive Control: Stability, Convergence and Robustness, ser.
Dover Books on Electrical Engineering Series. Dover Publications, 2011.

[52] J. Spooner, M. Maggiore, R. Ordóñez, and K. Passino, Stable Adaptive Control and
Estimation for Nonlinear Systems: Neural and Fuzzy Approximator Techniques, ser.
Adaptive and Cognitive Dynamic Systems: Signal Processing, Learning, Communica-
tions and Control. Wiley, 2004.

[53] S. Nikravesh, Nonlinear Systems Stability Analysis: Lyapunov-Based Approach. CRC


Press, 2016.

[54] W. Haddad and V. Chellaboina, Nonlinear Dynamical Systems and Control: A


Lyapunov-Based Approach. Princeton University Press, 2011.

[55] V. Lakshmikantham, V. Matrosov, and S. Sivasundaram, Vector Lyapunov Functions


and Stability Analysis of Nonlinear Systems, ser. Mathematics and Its Applications.
Springer Netherlands, 2013.

152
[56] V. Lakshmikantham, S. Leela, and A. Martynyuk, Stability Analysis of Nonlinear Sys-
tems, ser. Systems & Control: Foundations & Applications. Springer International
Publishing, 2015.

[57] E. D. Sontag, “A ’universal’ construction of artstein’s theorem on nonlinear stabiliza-


tion.” Systems & control letters, vol. 13, no. 2, pp. 117–123, 1989.

[58] Y. Lin and E. D. Sontag, “Control-lyapunov universal formulas for restricted inputs,”
To appear in ControlTheory and Advanced Technology, vol. 10, no. 4, 1995.

[59] H. Márquez, Nonlinear Control Systems: Analysis and Design. Wiley, 2003.

[60] M. Krsti, I. Kanellakopoulos, and P. Kokotovi, “Adaptive nonlinear control without


overparametrization,” Systems and Control Letters, vol. 19, no. 3, pp. 177 – 185, 1992.

[61] B. Housseini, A. F. Okou, and R. Beguenane, “Robust nonlinear controller design for on-
grid/off-grid wind energy battery-storage system,” IEEE Transactions on Smart Grid,
vol. 9, no. 6, pp. 5588–5598, Nov 2018.

[62] B. Wang, H. Suzuki, and K. Aihara, “Enhancing synchronization stability in a multi-


area power grid,” Scientific reports, vol. 6, p. 26596, 2016.

[63] M. Elkins, “California western energy: Western electricity coordinating council (wecc),”
https://stanford.app.box.com/s/zphcboy8atacw0bhkq2lfgc0xvt3rdlv, 2019, accessed 18
June 2019.

[64] G. Patsakis, D. Rajan, I. Aravena, J. Rios, and S. Oren, “Optimal black start allocation
for power system restoration,” IEEE Transactions on Power Systems, vol. 33, no. 6, pp.
6766–6776, Nov 2018.

[65] “Be a part of something that matters,” https://www.wecc.org/Pages/Careers.aspx,


2015, accessed 18 June 2019.

[66] D. Grueneich, “California and western energy:introduction and agency overview,”


https://stanford.app.box.com/s/c8cu5pkfvsh4xad9gtubpgzfckrrtufg, 2019, accessed 18
June 2019.

[67] S. Liu, S. Mashayekh, D. Kundur, T. Zourntos, and K. L. Butler-Purry, “A smart grid


vulnerability analysis framework for coordinated variable structure switching attacks,”
in 2012 IEEE Power and Energy Society General Meeting, July 2012, pp. 1–6.

[68] D. Apostolopoulou, P. W. Sauer, and A. D. Domı́nguez-Garcı́a, “Balancing authority


area model and its application to the design of adaptive agc systems,” IEEE Transac-
tions on Power Systems, vol. 31, no. 5, pp. 3756–3764, Sep. 2016.

[69] N. Jaengarun and T. Singhavilai, “Observation of applying pod function to renewable


energy source,” in 2016 International Conference on Cogeneration, Small Power Plants
and District Energy (ICUE), Sep. 2016, pp. 1–5.

153
[70] J. Mitra, M. Benidris, N. Nguyen, and S. Deb, “A visualization tool for real-time dy-
namic contingency screening and remedial actions,” IEEE Transactions on Industry
Applications, vol. 53, no. 4, pp. 3268–3278, July 2017.

[71] P. Sauer and M. Pai, Power System Dynamics and Stability. Stipes Publishing L.L.C.,
2006.

154

You might also like