Download as pdf or txt
Download as pdf or txt
You are on page 1of 34

Control Theory

Chapter 2: State space representation,


controllability, observability
Didier DUMUR
didier.dumur@centralesupelec.fr
Current issues and main parts of the course

– Current issues – Main parts of the course


▪ State space representation, Time-domain approach: deal
▪ Predictive control/optimal with nonlinear MIMO systems
control controllability, observability
▪ Interconnected, MIMO, large ▪ Linear quadratic control
Introduction to optimal control
scale systems ▪ State feedback control/
▪ Constraints, robustness, observers – Kalman filters Main concept required for
resilience ▪ Performance and sensorless control
▪ Sensorless control robustness analysis To take into account constraints
▪ Distributed, hierarchical control ▪ Industrial conferences to and uncertainties
▪ Data-driven control conclude the course
Current industrial issues

Main goal: introduce the key concepts enabling to deal with current
issues related to the control of complex systems 2
Course overview

– Introduction
– Chapter 1 : Structure of controlled systems
– Chapter 2 : State space representation, controllability, observability
– Chapter 3 : State feedback control
– Chapter 4 : Observers and estimated state feedback control
– Chapter 5 : Performance and robustness analysis of a control law

3
Chapter 2 overview
1. Reminder on the state space representation
a. General case, LTI systems case, in continuous-time, in discrete-time
b. Solution of the state equation
c. Discrete time systems
d. Stability issues
e. From state space to transfer function and vice versa
f. Change of basis
2. Controllability
a. Definition, necessary and sufficient condition for LTI systems
b. Decomposition of non controllable systems
3. Observability
a. Definition, necessary and sufficient condition for LTI systems
b. Decomposition of non observable systems
4. Conclusion 4
Reminder on state space representation
– Internal representation

u(t)
Dynamical y(t)
system
Control Outputs or
signals measurements
X(t)

State vector

▪ This representation provides more information (compared to I/O


formalism)
▪ The system state is taken into account to provide a so-called
“internal” representation More information: Brian Douglas
https://engineeringmedia.com/videos
▪ The system state is a vector, x, which characterizes the https://www.youtube.com/watch?v=hpeKrMG-
information available and energy accumulated by the system at WP0&t=1s
time t
▪ The state completely summarizes the past evolution of the 5
system
Handout
Reminder on state space representation 2.1.1

– General state-space representation


▪ Any system governed by a nth-order differential equation with input u can be written as a vectorial
first-order differential equation, called state equation:
x(t ) = f ( t , x(t ), u(t )) x(t )  R n ; u(t )  R m ; y(t )  R l

x is the state vector, with n elements called the state variables.


▪ The measurement equation (or observation equation) is given by:

y(t ) = h ( t , x(t ), u(t ))

▪ The state-space representation is not unique, but the number of state variables remain identical,
equal to n

▪ Remark: in discrete-time x[k + 1] = f ( k , x[k], u[k])



x[k]  R n ; u[k]  R m ; y[k]  R l

 y[k ] = h ( k , x[k], u[k])

6
Handout
Reminder on state space representation 2.1.2

– Equilibrium point
x(t ) = f ( t , x(t ), u(t ))
▪ Equilibrium point of a continuous-time system
y(t ) = h ( t , x(t ), u(t ))
( x , u ) is an equilibrium point if:
0 = f ( x , u , t )
 , t
Cancel derivative  y = h( x , u , t )

 x[k + 1] = f (x[k], u[k], k)


▪ Equilibrium point of a discrete system 
y[k] = h(x[k], u[k], k)

( x , u ) is an equilibrium point if:


x = f (x,u , k)
 , k
 y = h( x , u , k )
x[k+1] – x[k] = 0
7
Handout
Reminder on state space representation 2.1.2

– Linearization around an equilibrium point


▪ Consider the equilibrium point ( x , u ) such that t , 0 = f ( x , u , t )
▪ The linearized model is given by:

 f1 f1   f1 f1 


 x ( x , u , t ) x (t ) = A(t ) ~
( x , u , t) (x , u , t) ( x , u , t) ~
xn  u um x (t ) + B(t )u~ (t )
 1   1 
x(t ) =   x(t ) +   u (t ) ~y (t ) = C (t ) ~
x (t ) + D(t )u~(t )
   
 f n ( x , u , t ) f n
( x , u , t)  f n ( x , u , t ) f n
(x , u , t)
 x1 xn   u1 um 
x  Rn , u  Rm , y  Rl
 h1 h1   h1 h1 
 x ( x , u , t ) ( x , u , t)  u ( x , u , t ) ( x , u , t) x(t ) = x(t ) − x
xn um
 1   1 
y (t ) =   x(t ) +   u (t ) u (t ) = u (t ) − u
    y (t ) = y (t ) − y
 hl ( x , u , t ) hl
( x , u , t)  hl ( x , u , t ) hl
(x , u , t)
 x1 xn   u1 um 
8
Reminder on state space representation
– State-space representation of continuous-time linear systems

x
 (t ) = A(t ) x(t ) + B(t ) u(t )
y(t ) = C(t ) x(t ) + D(t ) u(t )

▪ A(t) evolution matrix, dimension (n x n) SISO system


m=l=1
▪ B(t) input matrix, dimension (n x m)
▪ C(t) output matrix, dimension (l x n)
▪ D(t) direct transmission (feedforward) matrix, dimension (l x m) Matlab :
sys = ss(A,B,C,D)

– Continuous-time linear time-invariant systems case


▪ All matrices are constant, time-invariant
x (t ) = A x(t ) + B u(t )

y(t ) = C x(t ) + D u(t )
9
Reminder on state space representation

– State-space representation of discrete-time linear systems


x k + 1 = F k  x k  + G k  u  k 
y k  = H k  x k  + J k  u  k 

SISO system
▪ F[k] evolution matrix, dimension (n x n) m=l=1
▪ G[k] input matrix, dimension (n x m)
▪ H[k] output matrix, dimension (l x n)
Matlab :
▪ J[k] direct transmission (feedforward) matrix, dimension (l x m) sys = ss(A,B,C,D,Te)

– Discrete-time linear time-invariant systems case


– All matrices are constant, time-invariant x k + 1 = F x k  + G u k 

y k  = H x k  + Ju k 
10
Reminder on state space representation
– Solving the evolution equation (continuous-time linear systems)
x (t ) = A(t ) x(t ) + B(t ) u(t ) t

y(t ) = C(t ) x(t ) + D(t ) u(t )


x(t ) = Φ(t , t0 ) x(t0 ) +  Φ(t ,  ) B( ) u( ) d
t0
 t 
y(t ) = C(t ) Φ(t , t0 ) x(t0 ) +  Φ(t ,  ) B( ) u( ) d  + D(t ) u(t )
F transition matrix  t0 

– Continuous-time linear time-invariant systems case


t
x (t ) = A x(t ) + B u(t ) x(t ) = e A(t − t0 )
x(t0 ) + e
A(t − )
B u( ) d

y(t ) = C x(t ) + D u(t ) t0
 A(t − t ) t 
A(t − )
y(t ) = C e 0 x(t0 ) +  e B u( ) d  + D u(t )
Sylvester method  t0 

eAt is a linear combination of matrices I, A, A2, … , An‒1, which t2 k t


k
e At
= In + A t + A 2
+ ... + A + ...
coefficients include terms elit, where li are the eigenvalues of A 2! k! 11
Reminder on state space representation
– From continuous to discrete-time
tk +1 
x (t k +1 ) = Φ(t k +1 , t k ) x(t k ) +   Φ(t k +1,  ) B( ) d  u(t k ) Φ ( tk +1 , t k ) = F k 
 tk  t k +1

 Φ(tk +1, ) B( ) d = G k 


tk

x k + 1 = F k  x k  + G k  u  k 


y k  = H k  x k  + J k  u  k 

– Discrete-time linear time-invariant systems case


x k + 1 = F x k  + G u k 
Te If Te sufficiently small
 ATe A
y k  = H x k  + Ju k  F=e and G= e B d
0 F  I + ATe et G  B Te
H = C and J = D
12
Handout
Reminder on state space representation 2.1.3

– From state-space representation to transfer function (continuous-time case)


x (t ) = A x(t ) + B u(t ) s X(s) = A X(s) + B U(s)
 
y(t ) = C x(t ) + D u(t ) Y(s) = C X(s) + D U(s)

X(s) = ( s I − A )−1 B U(s) ( s I − A ) X(s) = B U(s)


H(s) = C s I − A 
−1
B+D  
Y(s) = C X(s) + D U(s) Y(s) = C X(s) + D U(s)

▪ Systematic and recursive methods exist to calculate the (sI-A)-1 matrix, such as the Leverrier-
Souriau algorithm
▪ The common denominator of matrices H(s) is the determinant of sI-A, i.e. the characteristic
polynomial
▪ the poles of the transfer functions are thus all or part of the eigenvalues of A
13
Handout
Reminder on state space representation 2.1.3

– From state-space representation to transfer function (discrete-time case)


x k + 1 = F x k  + G u  k   z X( z ) = F X( z ) + G U( z )
 
y k  = C x k  + D u k  Y( z ) = C X( z ) + D U( z )

−1
X( z ) = ( z I − F )−1 G U( z ) ( z I − F ) X( z ) = G U( z )
H( z ) = C  z I − F  G+D  
Y( z ) = C X( z ) + D U( z ) Y( z ) = C X( z ) + D U( z )

▪ Systematic and recursive methods exist to calculate the (zI-F)-1 matrix, such as the Leverrier-
Souriau algorithm
▪ The common denominator of matrices H(z) is the determinant of zI-F, i.e. the characteristic
polynomial
▪ the poles of the transfer functions are thus all or part of the eigenvalues of F
14
Handout
Reminder on state space representation 2.1.4

– From transfer function to state-space representation: Control canonical form


(continuous-time case)
▪ Choosing the first state variable x1(t) of the state vector in order to write:

H(s) =
Y (s)
= d0 +
N(s) X1(s)
= d0 +
(
b0 + b1 s + + bn −1 s n −1 X1(s) )
U(s) D(s) X1(s) (
a0 + a1 s + + an −1 s n −1 + s n X1(s) )
 0 1 0 0 
 0 0 
(
U(s) = D(s)X1(s) = a0 + a1 s + )
+ an −1 s n −1 + s n X1(s) 

0 1 0

0 1 0
(
Y (s) = N(s)X1(s) + d0 U(s) = b0 + b1 s + + bn −1 s n −1
) X (s) + d
1 0 U(s) Ac = 



 0 1 
 
 − a0 − a1 − a2 − an −1 
▪ Defining the state variables T
Bc = 0 0 0 1
x2 (t ) = x1(t ) , x3(t ) = x2(t ) xn(t ) = xn −1(t ) Cc = b0 b1 bn −1  Dc = d0

15
Handout
Reminder on state space representation 2.1.4

– From transfer function to state-space representation: Control canonical form


(discrete-time case)
▪ Choosing the first state variable x1[k] of the state vector in order to write:

H( z ) =
Y (z)
= d0 +
N( z ) X1( z )
= d0 +
(
g0 + g1 z + + gn −1 z n −1 )
X1( z )
U( z ) D( z ) X1( z ) ( )
f0 + f1 z + + fn −1 z n −1 + z n X1( z )
 0 1 0 0 
(
U( z ) = D( z )X1( z ) = f0 + f1 z + )
+ fn −1 z n −1 + z n X1(s)  0
 0 1 0 0 
 0 1 0 
(
Y ( z ) = N( z )X1( z ) + d0 U( z ) = g0 + g1 z + )
+ gn −1 z n −1 X1(z ) + d0 U(z ) Fc =  
 
 0 1 
 
▪ Defining the state variables  −f0 −f1 −f2 −fn −1 
T
x2[k ] = x1[k + 1] , x3[k ] = x2[k + 1] xn[k ] = xn −1[k + 1] Gc = 0 0 0 1
Cc =  g0 g1 gn −1  Dc = d0
16
Handout
Reminder on state space representation 2.1.4

– From transfer function to state-space representation: Observer canonical form

b0 + b1 s + + bn −1 s n −1 g0 + g1 z + + gn −1 z n −1
H(s) = d0 + H( z ) = d0 +
a0 + a1 s + + an −1 s n −1
+s n
f0 + f1 z + + fn −1 z n −1 + z n
Duality between
both canonical 0 0 − a0  0 0 −f0 
1  1 0 0 −f1 
forms  0 0 − a1   
0 1 0 − a2  0 1 0 −f2 
A0 =   F0 =  
   
 0 1 0 − an −2   0 1 0 −fn −2 
A0 = ATc F0 = FcT    
B0 = CTc G0 = CTc 0 0 1 − an −1  0 0 1 − gn −1 
T T
B0 = b0 b1 b2 bn −1  G0 =  g0 g1 g2 gn −1 
C0 = BTc C0 = GTc
C0 = 0 0 0 1 D0 = d0 C0 = 0 0 0 1 D0 = d0

17
Reminder on state space representation
– From transfer function to state-space representation: keeping a physical meaning of
the state variables
10 1 1 y(t ) = x3(t )
s +1 x1(t ) 1 + 10s x2(t ) s
u(t )

– number of state variables equal to the degree of the denominator of the global transfer function
– one state variable located after each increase of the denominator degree

10
X1(s) = U(s)  (s + 1) X1(s) = 10 U(s)  x1(t ) + x1(t ) = 10 u(t )  x1(t ) = − x1(t ) + 10 u(t )
s +1
1
X2 (s) = X1(s)  (10 s + 1) X2(s) = X1(s)  10 x2(t ) + x2(t ) = x1(t )  x2(t ) = −0.1x2(t ) + 0.1 x1(t )
1 + 10s
1  −1 0 0 10 
X3(s) = X2(s)  s X3(s) = X2(s)  x (t ) = x (t )    
s
3 2
A =  0.1 −0.1 0  B =  0  C = ( 0 0 1)
 0 1 0  0
  
18
Handout
Reminder on state space representation 2.1.5

– Change of basis
x (t ) = A x(t ) + B u(t ) x[k + 1] = F x[k ] + G u[k ]
 
y (t ) = C x(t ) + D u(t ) y[k ] = C x[k ] + D u[k ]

x=Tx
T square invertible

 x (t ) = T−1AT x (t ) + T −1B u(t )  x[k + 1] = T−1F T x[k ] + T −1G u[k ]


 
y (t ) = C T x (t ) + D u(t ) y[k ] = C T x[k ] + D u[k ]

▪ Infinite number of space representations for a given system


▪ In this new basis, the I/O relation remains the same:

19
Handout
Reminder on state space representation 2.2

– Stability issues
Stable

Unstable
Unstable

Asymptotically stable

Asymptotically
20
stable
Handout
Reminder on state space representation 2.2

– Stability of an equilibrium point (reminder Modelling course)


– Stability: x is Lyapunov stable if:

  0, t0 ,  ( , t0 ) s.t. x − x(t0 )   ( , t0 )  x(t ) − x   , t  t0


Stable

– Asymptotic stability: x is asymptotically stable if:


i) It is Lyapunov stable
ii) 1 (t0 ) s.t. x − x(t0 )  1 (t0 )  lim x(t ) − x = 0 Unstable
t →

Asymptotically
– Exponential stability: x is exponentially stable if: stable
i) It is asymptotically stable
ii) M  0,   0 s.t. t  t0
 x(t ) − x  M x(t0 ) − x e − (t −t0 )
21
Handout
Reminder on state space representation 2.2

– Equilibrium point: Lyapunov stability (continuous – discrete time)


▪ Necessary and sufficient condition (linear time invariant case)
– Continuous-time system: the origin is stable iff
1. All eigenvalues of A are with real part negative or zero Multiplicity of the root
l  sp ( A), Re(l )  0 of

2. Eigenvalues of A with zero real part have an algebraic multiplicity equal to


the geometric multiplicity Dimension of
– Discrete-time system: the origin is stable iff
1. All eigenvalues of F are with magnitude less or equal to 1
l  sp ( F ), l  1
2. Eigenvalues of F with magnitude equal to 1 have an algebraic multiplicity
equal to the geometric multiplicity
22
Handout
Reminder on state space representation 2.2

– Asymptotic/exponential stability (continuous – discrete-time)


▪ Definition
For u(t) or u[k]  0, the state x(t) or x[k] tends to 0 when t or k tends to infinity,
whatever the initial state x(t0) or x[k0]
▪ Necessary and sufficient condition (linear time invariant case)
– Continuous-time system
All eigenvalues of A are with real part strictly negative
l  sp ( A), Re(l )  0
– Discrete-time system
Matlab:
All eigenvalues of F are with magnitude strictly less than 1 eig(A)
l  sp ( F ), l  1
– For linear time-invariant systems, exponential stability = asymptotic stability
23
Reminder on state space representation
– Bounded Input/Bounded Output Stability (BIBO
stability) (Transfer function)
– Continuous-time case
+
– NSC #1: BIBO stability   h(t) dt  +
−

– NSC #2: A causal system with transfer function H(s)


is BIBO stable iff all poles of H(s) are with real part
<0 (check with the Routh criterion)
– Discrete-time case
k =+
– NCS #1: BIBO stability   h[k]  +
k =−

– NCS #2: A causal system with transfer function H(z)


is BIBO stable iff all poles of H(z) have a
magnitude <1 (check with the Jury criterion) 24
Handout
Controllability 2.3

– Definition
▪ A system is fully controllable if there exists a control value u(t) which allows
moving from any given initial state x0 to any given final state x1 in finite time
▪ A system is partially controllable if only some components of x0 and x1 can be
moved Matlab:
help ctrb
– Kalman criterion – Necessary and sufficient condition – Continuous-time help rank
linear time-invariant systems case:
▪ rank QG = n (n independent columns) with QG = [B | AB | A2B |.....| An-1B ] n rows
nxm columns

– Kalman criterion – Necessary and sufficient condition – Discrete-time linear


time-invariant systems case:
▪ rank QG = n (n independent columns) with QG = [G | FG | F2G |.....| Fn-1G ] n rows
More information: Brian Douglas https://engineeringmedia.com/videos nxm colunns 25
https://www.youtube.com/watch?v=BYvTEfNAi38&t=1s
Controllability
– Partially controllable systems
▪ If rank QG = q < n, the system is said to be partially controllable: only q components are
controllable, n-q are not controllable
▪ Kalman control canonical form: there exists a base of the state space that enables splitting the
state in a controllable and non controllable part
x =  T1 T2  x T1 : n  q rank q , based on the columns of Q G Matlab :
T2 any matrix such that  T1 T2  is square invertible help ctrbf

A A12  F F12   G1 
 11
  B1   11

   
x(t ) =  __ __  x(t ) +  __  u(t ) x k + 1 =  __ __  x k  +  __  u  k 
     0
 0  0
A 22     0 F22   
   
y(t ) = C1 C2  x(t ) + D u(t ) y k  = C1 C2  x k  + D u k 
   

▪ The dynamics of the non controllable part is completely autonomous


▪ Stabilizable system: if the dynamics of the non controllable part is asymptotically stable 26
Controllability
– Example  x1(t ) = − x1(t ) + 2x2 (t ) + u(t ) s
H(s) = C (sI − A )
−1
 B=
 x 2 (t ) = x1(t ) − 2 x2 (t ) − u(t ) s2 + 3 s
y(t ) = x1(t )
− 1 2  1
x(t ) = 
  x(t ) + − 1 u(t )
– State-space representation  1 − 2  
y(t ) = 1 0 x(t )
– Controllability
 1 − 3
QG = B A B =   Rank(QG)=1
Partially controllable
− 1 3  system
~ ~ ~
– Change of basis: transformation matrix A = T −1 A T ; B = T −1 B ; C = C T
– New matrices ~
  − 3 2 ~ 1
x(t ) =   x(t ) +  u(t ) 1 0
 0 0 0 T=
− 1 1
y(t ) = 1 0 ~
x(t ) 27
Handout
PBH test for controllability 2.3.3

– Popov-Belevich-Hautus (PBH) test for controllability


▪ Continuous-time case : The pair (A, B) is fully controllable iff
rank  sI − A B  = n, s C or rank  l I − A B  = n, l  sp ( A)

▪ This property can be used to find numerically the non controllable eigenvalues
▪ The pair (A,B) is stabilizable if all the non controllable modes given by the eigenvalues l are such
that
Re(l )  0

▪ Discrete-time case: similar approach with the condition

rank  zI − F G  = n, z C or rank  l I − F G  = n, l  sp (F)

28
Handout
Observability 2.4

– Definition
▪ A system is fully observable if whatever the initial state, available measurements
y(t) over a finite time allow determination of the full state x0
▪ A system is partially observable if available measurements y(t) over a finite time
only allow determination of some components of x0
Matlab :
– Kalman criterion – Necessary and sufficient condition – Continuous-time help obsv
linear time-invariant systems case:
rank Q0 = n (n independent rows) with Q0T = [CT | [CA]T | [CA2]T |.....| [CAn-1]T ] nxl rows
n columns

– Kalman criterion – Necessary and sufficient condition – Discrete-time linear time-


invariant systems case:
rank Q0 = n (n independent rows) with Q0T = [CT | [CF]T | [CF2]T |.....| [CFn-1]T ] nxl rows
n columns 29
Observability
– Partially observable systems
▪ If rank Q0 = r < n, the system is said to be partially observable: only r components are
observable, n-r are not observable
▪ Kalman observation canonical form: there exists a base of the state space that enables splitting
the state in an observable and non observable part
−1 T1  T1 : r  n rank r , based on the rows of Q O Matlab :
x=T x= x −1
T
 
2 T any matrix such that T square invertible help obsvf
2

~A11 0  ~
B1  F 0  G1 
~
  ~    11   
x(t ) =  ___ ____  x(t ) +  __  u(t ) x k + 1 =  ___ ____  x k  +  __  u k 
 
~ ~  ~
B2  G 
 21 A 22 
A   F21

F22 
  2

~
y(t ) = C1 0 ~
x(t ) + D u(t ) y k  = C1 0 x k  + D u k 

▪ The output is not affected by the behavior of the non observable part (since the observable part
is not influenced by the non observable one)
30
▪ Detectable system: if the dynamics of the non observable part is asymptotically stable
Observability
– Example  x1(t ) = x2 (t )
 s +1
H(s) = C (sI − A )
−1
B=
 x 2 (t ) = −2 x1(t ) − 3x2 (t ) + u(t ) s2 + 3 s + 2
y(t ) = x1(t ) + x2 (t )
0 1  0
x(t ) = 
  x(t ) + 1 u(t )
– State-space representation − 2 − 3  
y(t ) = 1 1 x(t )
– Observability
 C  1 1  Partially observable
Q0 =   =  Rank(Q0)=1
C A  − 2 − 2 system
1 1
– Change of basis: transformation matrix T −1 =  
0 1
– New matrices ~ − 2 0  ~ 1 ~
~ ~
x(t ) =   x(t ) +  u(t ) A = T −1 A T ; B = T −1 B ; C = C T
− 2 − 1 1
y(t ) = 1 0 ~
x(t ) 31
Handout
PBH test for observability 2.4.3

– Popov-Belevich-Hautus (PBH) test for observability


▪ Continuous-time case : The pair (A, B) is fully
observable iff
 sI − A  l I − A 
rank 
C  = n, s C or rank  C  = n, l  sp ( A)
   
▪ This property can be used to find numerically the non
observable eigenvalues
▪ The pair (A,B) is detectable if all the non observable
modes given by the eigenvalues l are such that
Re(l )  0
▪ Discrete-time case: similar approach with the
condition
 zI − F  l I − F 
rank 
C  = n, z C or rank 
C  = n, l  sp (F)
    32
Handout
Kalman canonical form 2.5

– Aim: obtain the minimal realization of the system linking inputs to outputs
– Consider x(t ) = A x(t ) + B u(t )
y (t ) = C x(t ) + D u(t )
 xco 
x 
▪ There exists a change of basis x(t ) =   = T x(t ) with T invertible s.t.
co

 xco 
   A co 0 A13 0   B co 
 c o 
x    
A A A A
x(t ) =  21 24  B
co 23
x(t ) +  co  u(t )
 0 0 A co 0   0 
   
 0 0 A 43 A co   0 
y (t ) = Cco 0 Cco 0  x(t ) + Du(t )
  A co 0   B co     A co A13  
with    ,    controllable,   0  , Cco Cco   observable and

  A 21 A co  B co    A co  

H ( s ) = C( sI − A) −1 B + D = Cco ( sI − A co ) −1 B co + D
33
– Similar principle in the discrete-time case
Conclusion
– Highlights of the chapter
▪ Modeling of the system under a
state space representation with a
preliminary linearization if
appropriate

▪ Stability, controllability and


observability analysis

➔Objective : state feedback control


of the system
34

You might also like