Vous êtes sur la page 1sur 21

ECE 893 Industrial Applications of Nonlinear Control is a companion course to ECE 874 Nonlinear Control.

The main aim of the course is, as its name suggests, to present some industrial applications of basic
analysis and design tools for nonlinear control.
For this aim, the course has two main parts:
Real-world examples,
Real-time experiments.
During the semester, some interesting examples such as anti-angiogenic tumor treatment, magnetic
levitation trains, bioreactors, robot manipulators, land vehicles, turbulent systems etc. will be covered.
Besides, six different controllers for a Permanent Magnet Direct Current (PMDC) motor will be designed
and implemented. Experimental results to be obtained will provide a concrete comparison facility for
real-time performances of various nonlinear control design techniques introduced in ECE 874, like
backstepping, nonlinear adaptive/robust control, feedback linearization, observer design and so on.
All course materials are available at www.duzce.edu.tr/ugurhasirci/ece893/ece893main.htm.

Ugur Hasirci
Gebze Institute of Technology 11 PhD
Assistant Professor, Duzce University
Visiting Professor (postdoc), Clemson University
Nonlinear control of
Electromechanical systems
Bioengineering systems

p p 1
q bq dp 2/3 q Guq

In this first lecture, you will learn the following.

1. A brief revisiting of basic concepts
Linear Systems
Nonlinear Systems

2. Simulation of dynamical systems

A Case Study: Single-Link Robots
3. The system to be controlled during the semester: PMDC Motor

1. Basic Concepts: A Remainder

Control: Even if it has many meanings in science, control means, in engineering sciences,
ensuring that a system always behaves as what you except from it. Consider an electrical
motor; controlling the speed of this motor means that you are expected to keep motor
velocity constant, say 1500 revolution per minute (rpm), in cases either there exists a huge
load on motor shaft or no load on it. In this example, the motor is the system to be controlled,
and 1500 rpm is the control objective. (Guess what is control input !)
This does not necessarily means that the control objective is always a constant. It may
needed that the motor speed must track a time-varying profile like sin(t) radian per second
where t is the operation time.
System: While defining the control concept, we have used the word system a couple of
times. Then the next question is what means system, again in engineering manner. A system
is any assemblage or set of correlated members. The overall motor control system introduced
above has such members:
system input
system output
system input (voltage)
system states
system states (guess what are these?)
system output (speed)
One is not expected to be an oracle to predict what is the next definition.

State: Roughly speaking, a state is one of the system variables needed to be regulated to
control the system. Then the state variables are a subset of all system variables that can
represent the system at any given time. Consider again the motor control system; since we
aim to control the motor speed, the motor speed will be one of the state variables, but not
the only one. One can drive the motor speed to a desired point (or trajectory) by regulating
the current flows in motor windings. Then the electrical current must be the other state
variable needed to control the system. At this point, an important question arises: How can
one determine the state variables for a given system? The minimum number of state
variables required to represent a given system is usually equal to the order of the system's
defining differential equation. Most of the electromechanical systems are second-order
system and thus usually have 2 state variables in their dynamical model, just like the
electrical motor example above.
Proper selection of the state variables mostly relies on engineering experience and intuition.

Linear Systems: A linear system is a system that satisfies homogeneity and additivity properties.










X1 + X 2




!!!!!!!! There exists NO linear system in nature !!!!!!!!

Linear systems are ideal systems developed by system analysts. After some extent, all systems
are nonlinear. Consider again the motor control example and assume that the motor turns
with a speed of 1000 rpm if you apply 100 V voltage to its windings. The motor will not turn
with a speed of 5000 rpm if you apply 500 V.
This fact is valid for not only the engineering systems, but also all the systems available in
nature, even social systems. If you tap your friends neck one time, he will smile you. But, just
after that, if you tap two times successively, he (or she) will not smile you two times
successively. Probably something bad will happen, since a human is not a linear system and it
is a highly nonlinear and complicated system with unmodeled dynamics.

All systems available in nature are modeled by differential equations. After getting a
differential equation model, designer has two choices to convert this differential equation
model to a more tractable model for control design and stability analysis:

Transfer function model (frequency domain approach)

State-space model (time domain approach)
Transfer function models are only for linear systems (explain why, get A) while state-pace
models are for both linear and nonlinear systems. Which is why, transfer function models are
out of this courses scope. For a linear system with n state variables, state-space model is in
the form of
state equation
x Ax Bu
output equation
y Cx Du
x : state vector (n 1)

A : system matrix (n n)
B : input matrix ( n p)
u : input vector ( p 1)
y : output vector (q 1)
C: output matrix (q n)
D : feedforward matrix (q p)

Consider a second order differential equation such as

z 2 z 0.1z u
By selecting the state variables as x1 z and x2 z , we can build the state-space model as

x1 z
x1 z

x2 z
x2 z

x1 x2

x2 2 x2 0.1x1 u

1 x1 0
x1 0
x 0.1 2 x 1 u

By selecting the output variable(s), the variable(s) to be controlled, the output equation can
be also formed in the same way. For example, if the output variable is , then the output
equation will be in the form of

y 1 0
Since the entries of the matrices and vectors in the state-space model given above are
constants, i.e., not functions of time (t), this system is a Linear Time-Invariant (LTI) system.
Linear control is a mature subject with a variety of powerful methods. One can easily
determine the system stability by using A matrix, system controllability by using A and B
matrices, and system observability by using A and C matrices. There also exist many
methods to design the control input signal (u) for linear systems.

Nonlinear Systems: A system is nonlinear if there exists at least one nonlinear component in
the dynamical model associated to it. For example, following differential equation model and
state-space model are nonlinear, and thus the systems modeled by these equations are
nonlinear systems.

x 4 x 3x x 1 u

x1 x1 x22
x2 u
It is obvious that the state-space model given above can not be written as state-space form
for linear, that is
x Ax Bu
y Cx Du.

Instead, the general expression for state-space form of nonlinear systems is

x f ( x) x g ( x)u ,

g ( x)

y h( x) x.
Again, this general form is for time-invariant (autonomous) nonlinear systems.

Some common nonlinear system behaviors causes that the set of analysis and design tools
developed for linear systems does not work for nonlinear systems. One of the most
characteristic example of these is chaotic behavior of nonlinear systems. In linear systems,
small changes in initial conditions do not considerably effect the time-variation of system
output. In nonlinear systems, on the other hand, the system output is extremely sensitive to
initial conditions. The essential feature of chaos is the unpredictability of the system output.
Consider a simple mechanical nonlinear system: x 0.1x x 5 6sin(t )
The following figure shows the time-variation of system output for two different initial
conditions: x(0) 2, x(0) 3 and x(0) 2.01, x(0) 3.01.
ECE 893 Chaotic Behavior

x(0)=2.01 and xdot(0)=3.01

x(0)=2 and xdot(0)=3


Chaotic behavior also explains why

transfer function approach can not be
used in nonlinear system, since the
transfer function approach assumes
that all initial conditions are equal to
zero, which is a very dangerous
assumption for nonlinear systems.



A very small change in the initial

difference at the system output.





Time (sec)







In addition to chaos, there are also some characteristic properties of nonlinear systems
such as bifurcation, multiple equilibrium point, limit cycles etc. These features make the
tools for linear systems useless for nonlinear systems. For this reason, we need some
methods to analyze and design nonlinear control systems. The most powerful method is
Lyapunov Stability Analysis Method. Since the issues of design and analysis are
intertwined, this method also provides useful design tools.

Aleksandr Mikhailovich Lyapunov (1857 1918) was a Russian

mathematician, mechanician and physicist.
Lyapunov is known for his development of the stability theory of
a dynamical system, as well as for his many contributions to
mathematical physics and probability theory.
p.s. Bio information were directly taken from the most prestigious database of the
world, Wikipedia !
This implies his (or maybe her!) bio information could be a bit different.

Before moving the simulation of dynamical system, our final revisiting will be on the comparison
of open-loop and closed loop control systems.
Open-loop control:
Input designed to move the system to a desired state based on current conditions
and model of the system.
Example: Fill a water tank to a specified level based on flow-rate and time.
If some of the water evaporates during filling then the level will be wrong
If flow rate is not exactly as expected then the level will be wrong.
Inaccurate time will lead to the wrong level.

No correction for errors !

Desired level
Actual level


Closed-loop control:
Input changes as the error, difference between the desired output and the
measured output, changes.
Example fill a tank to a specified level based on measuring the tank level and
turning flow on or off to reach the desired level.
Anything that prevents the tank from being filled to the desired level will be

Desired level =
Actual level

Desired +




2. Simulation of Dynamical Systems

During the semester, we will use MATLAB/Simulink environment to simulate and implement
the controllers to be designed. But this lecture does not aim to teach this software. We
assume that students are basically acquainted with the software. This subsection of the
lecture aims to remind the students of some basics of Simulink through a simple example.
The next lecture will be completely on MATLAB xPC Target real-time control prototyping
software and Quanser Q4 real-time data acquisition card, following some basics of real-time
control engineering.
Simulating a dynamical system practically means solving the differential equation represents
the dynamical system numerically. Simulink provides many solvers that can be configured by
user. Simulations provide a demonstration facility to observe the effects of the control input
signal designed and also the effects of the control gains on the system performance. In this
way, a control engineer finds an opportunity to modify (if needed) the control input signal
and determine the optimum values of the control gains. This simplifies real-time
implementation of the controller and also ensures avoiding possible control implementation
problems that may lead some damages to the system to be controlled.


The dynamics of an n-link robot manipulator can be written as

M ( q ) q H ( q, q ) q G ( q ) F ( q )

q (t ) : Joint angle vector (n 1)

M (q) : Inertia matrix (n n)
H (q, q ) : Centripedal/Coriolis matrix (n n)
G (q) : Gravity vector (n 1)
F (q) : Friction vector (n 1)
: Input torque (n 1)
Without loss of generality, we consider a single-link (n=1) robot manipulator for simplicity.
For a single-link robotic arm, M(q) is the inertia of the arm and G(q) is the gravitational
torque due to weight of the arm. The figure below shows the schematic diagram of the
single-link robotic arm. By neglecting the friction force, the dynamics becomes

ml 2 q mgl sin(q )
where l is the length of the arm and g is the acceleration of gravity.


By selecting the state variables as x1 q and x2 q , state-space representation becomes

x1 x2

sin( x1 ) 2

which term is the nonlinear one?

Control objective is to drive the arm position to desired trajectory, qd. To observe the
performance of the controller to be designed, a tracking error signal can be defined as

e(t ) qd (t ) q (t ).
For this simulation example, let us design the control input signal as a simple PD controller:

(t ) K p e(t ) K d e(t )
Block diagram of the closed-loop control system with a unity feedback will be as follows.
qd (t )


e(t )



(t )

q(t )


Now let us build the simulation model step by step, by using Simulink s-functions.


3. Experiments
We will design and implement 6 controllers for a PMDC motor with a nonlinear load. This
experiments will provide a comparison facility for performance of various controllers for a
nonlinear system, also an introduction to real-time control engineering via presenting some
basics of data acquisition and processing. Following figures show a photo taken from
experimental setup and the block diagram of the system. For feedback, we will use an
encoder mounted on the motor shaft by manufacturer. The next lecture will be completely
on the real-time issues including the use of the xPC Target and Q4 data acquisition system.
This lecture aims to introduce experimental setup and controllers to be designed and
PMDC Motor


Target PC
xPC Target

Host PC




Use of permanent magnets in DC motor eliminates the necessity to a secondary power

source and makes system dynamics linear. To add a nonlinear component to the system, we
will use nonlinear load on motor shaft. Then the system equations will be

Jq Bq N sin(q ) KT I
LI RI KV q u

mechanical subsystem
electrical subsystem

J : motor inertia
q : motor position
B : viscous friction coeffient
N : load constant
KT : torque constant
KV : voltage constant
L : inductance of the motor windings
I : current flowing through motor windings
R : resistance of the motor windings
u : voltage applied to the motor windings.

Jq Bq N sin(q ) KT I
LI RI KV q u

mechanical subsystem
electrical subsystem

By selecting the state variables as

x1 q
x2 q
x3 I
we get the state-space representation as follows:

x1 x2
x2 x2 sin x1
x3 x3
x2 u
Control objective : Drive the angular position of the motor , x1 , to a desired trajectory, x1d ,
by using the control input signal, u, the voltage applied to the motor.

x1 x2
x2 sin x1 x3
x3 x3 V x2 u

Controllers to be designed and implemented :

1. Linear Controller : By neglecting the nonlinear part of the system dynamics, we will design a
linear controller to show its drawbacks.
2. Nonlinear Controller with Feedforward Cancellation : Without using any special nonlinear
control technique, we design a feedback rule directly exploiting the benefits offered by
Lyapunov stability analysis method.
3. Backstepping Controller : This system is a perfect tool to apply backstepping procedure and we
will design and implement an exact model knowledge backstepping controller.
4. Adaptive Controller : Again by using the backstepping procedure, we will design a controller
assumes that all system parameters are unknown for this time.
5. Observer Design : All controller introduced above assume that all state variables available for
measurement. But this may not be the case for some applications. This design will provide a
controller plus state observer for the system.
6. Feedback Linearization : The final controller will be a feedback linearizing controller, which
produces a linear dynamic through designing the feedback rule, not via linearizing the system
by using some numerical methods. This controller completely based on a nonlinear control
design technique.