100% found this document useful (1 vote)
543 views22 pages

Controllability and Observability of Nonlinear Systems: Key Points

Uploaded by

Helios5993
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
100% found this document useful (1 vote)
543 views22 pages

Controllability and Observability of Nonlinear Systems: Key Points

Uploaded by

Helios5993
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/ 22

Control of Nonlinear Dynamic Systems: Theory and Applications

J. K. Hedrick and A. Girard © 2005

6 `Controllability and
Observability of
Nonlinear Systems
Key points

• Nonlinear observability is intimately tied to the Lie derivative. The Lie


derivative is the derivative of a scalar function along a vector field.
• Nonlinear controllability is intimately tied to the Lie bracket. The Lie bracket
can be thought of as the derivative of a vector field with respect to another.
• References
o Slotine and Li, section 6.2 (easiest)
o Sastry, chapter 11 pages 510-516, section 3.9 and chapter 8
o Isidori, chapter 1 and appendix A (hard)

Controllability for Nonlinear Systems

The Use of Lie Brackets: Definition

Consider two vector fields f(x) and g(x) in ℜn.

Then the Lie bracket operation generates a new vector field:

[ f , g ] ≡ ∂g f −
∂f
g
∂x ∂x

Also, higher order Lie brackets can be defined:

62
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

(ad 1f , g ) ≡ [ f , g ]
(ad 2f , g ) ≡ [ f , [ f , g ]]

[
(ad , g ) ≡ f , (ad kf −1 , g )
k
f ]
Note: the “ad” is read “adjoint”.

Re-writing controllability conditions for linear systems using this notation:

x& = Ax + Bu = Ax + B1u1 + B2 u 2 + ... + Bm u m


f ( x) = Ax , g i ( x) = Bi

m m
&x& = Ax& = A 2 x + ∑ ABi u i = A 2 x − ∑ [ f , Bi ]u i
i =1 i =1

How this came about…

∂f ∂g ∂B
= A, = =0
∂x ∂x ∂x

So for example:

[ f , B1 ] = [Ax, B1 ] = ∂B1 Ax − ∂( Ax) B1 = − AB1


∂x ∂x

If we keep going:

[ ]
m m
&x&& = A 3 x + ∑ A 2 Bi u i = A 3 x + ∑ ad 2f , Bi u i
i =1 i =1

Notice how this time the minus signs cancel out.


d nx
[ ]
m m
x ( n) =
dt n
= A n
x + ∑
i =1
A n −1
B u
i i = A n
x + ( −1) n −1

i =1
ad nf −1 , Bi u i

Re-writing the controllability condition:

[ [ ] [ ] [ ] [
C = B1 ,..., Bm , ad f , B1 ,... ad f , Bm ,... ad nf −1 , B1 ,... ad nf −1 , Bm ]]
The condition has not changed – just the notation.

63
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

The terms B1 through Bm correspond to the B term in the original matrix, the terms with
adf correspond to the AB terms, the terms with adfn-1 correspond to the An-1B terms.

Recap – Controllability for Linear Systems

x& = Ax + Bu
[
C = B | AB | ... | A n −1 B ]
Local conditions (linear systems)
x& = Ax + Bu

Let u = constant (otherwise no pb, but you get u& , u&& etc…)
&x& = A( Ax + Bu ) = A 2 x + ABu

x ( n ) = A n x + A n −1 Bu

For linear systems, you get nothing new after the nth derivative because of the Cayley-
Hamilton theorem.

Nonlinear Systems

Assume we have an affine system:

m
x& = f ( x) + ∑ g i ( x)u i
i =1

The general case is much more involved and is given in Hermann and Krener.
If we don’t have an affine system, we can sometimes ruse:

x& = f ( x, u )

Let τu& + u = v
 x
Select a new state: z =   and v is my control ⇒ the system is affine in (z,v), and pick τ
u 
to be OK.

Theorem

The system defined by:

m
x& = f ( x) + ∑ g i ( x)u i
i =1

64
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

is locally accessible about x0 if the accessibility distribution C spans n space, where n is


the rank of x and C is defined by:

[ [ ] [ ] [ ] ]
C = g1 , g 2 ,..., g m , g i , g j ,..., ad g i , g j ,..., [ f , g i ],... ad kf , g i ,...
k

The gi terms are analogous to the B terms, the [gi,gj] terms are new from having a
nonlinear system, the [f,gi] terms correspond to the AB terms, etc…

m
Note: if f(x) = 0 then x& = ∑ g i ( x)u i and if in this case C has rank n, then the system is
i =1
controllable.

Example: Kinematics of an Axle

x2
u1

x1

Basically, ψ is the yaw angle of the vehicle, and x1 and x2 are the Cartesian locations of
the wheels. u1 is the velocity of the front wheels, in the direction that they are pointing,
and u2 is the steering velocity.

We define our state vector to be:

 x1 
x =  x 2 
ψ 

Our dynamics are:

65
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

 x&1 = sin ψu1



 x& 2 = cosψu1
 ψ& = u
 2

The system is of the form:

x& = f ( x) + g1u1 + g 2 u 2

 sin ψ  0 
f(x) = 0, g1 = cosψ  and g 2 = 0
 0  1

Note:

If I linearize a nonlinear system about x0 and the linearization is controllable, then the
nonlinear system is accessible at x0 (not true the other way – if the linearization is
uncontrollable the nonlinear system may still be locally accessible).

Back to the example:

C = [ g1 , g 2 , [ g 1 , g 2 ]]

∂g1 ∂g ∂g 2
where [ g1 , g 2 ] = g 2 − 2 g 1 and in our case, =0
∂x ∂x ∂x

0 0 cosψ  0  cosψ 


[ g1 , g 2 ] = 0 0 − sin ψ  0 = − sin ψ 
0 0 0  1  0 

 sin ψ 0 cosψ 
So C = cosψ 0 − sin ψ 
 0 1 0 

C has rank 3 everywhere, so the system is locally accessible everywhere, and f(x)=0 (free
dynamics system) so the system is controllable!

Example 2:

 x&1 = x 22

 x& 2 = u

66
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

Note: if I had the linear system:

 x&1 = x 2

 x& 2 = u

0 1  0  1  0 1 
A=  , B =   , AB =   ⇒ C =  
0 0 1  0  1 0

and the linear system is controllable.

Back to the example 2:

Is the nonlinear system controllable? Answer is NO, because x1 can only increase.

But let’s show it.

In standard form:

x 2  0 
f =  2 , g =  
0 1 

C = [ g , [ f , g ]]

− 2 x 2 
[ f , g] =  
 0 

0 − 2 x 2 
So C = 
1 0 

Accessible everywhere except where x2=0

67
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

x2
I can’t go back

x1

If we tried [f,[f,g]], would we pick up new directions? It turns out they will also be
dependent on x2, and the rank will drop at x2 = 0.

Example 3:

 x&1   cosθx3 + sin θx 4  0 0 


 x&  − sin θx + cosθx  0 0 
 2 =  3 4
+   u +  u
 x& 3   0  1 1 0 2
       
 x& 4   0  0  1

where θ ≡ θ ( x12 + x 22 )

The system is of the form:

x& = f ( x) + g1u1 + g 2 u 2

where

 cosθx3 + sin θx 4  0  0


− sin θx + cosθx  0  0
f ( x) =  3 4
, g1 =   and g 2 =  
 0  1  0
     
 0  0  1 

We have: C = [ g1 , g 2 , [ f , g1 ], [ f , g 2 ]]

If C has rank 4, then the system is locally accessible. Have fun…

68
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

Observability for Nonlinear Systems

Intuition for observability:


From observing the sensor(s) for a finite period of time, can I find the state at previous
times?

Review of Linear Systems

x& = Ax where x ∈ ℜ n
z = Mx where z ∈ ℜ p and p<n

x(t ) = e At x0 (linear system)

z(t), 0≤t≤T
Can I determine x0?

z (t ) = Me At x 0 where M is pxn, eAT is nxn and x0 is nx1, so z(t) is px1

Using the Cayley-Hamilton theorem:

n −1
e At
= ∑ α k (t ) A k
k =0

Note: the Cayley-Hamilton theorem applies to time-varying matrices as well.

So, I have:

{ }
z (t ) = α 0 (t ) M + α 1 (t ) MA + ... + α n −1 (t ) MA n −1 x0

So I can solve for x0 iff the matrix O spans n space, where:

 M 
 MA 
 
O =  ... 
 
 ... 
 MA n −1 

This does not carry over to nonlinear systems, so we take a local approach.

69
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

Local Approach to Observability (Linear Systems)

z = Mx + v(t )
v(t) is the measurement noise, can cause problems.
z& = Mx& = MAx
&z& = MA 2 x

( n −1)
z = MA n −1 x

 z 
 ...  = Ox ⇒ O must have rank n
 
 z ( n −1) 

Lie Derivatives:

Definition

Let f: ℜn →ℜn be a vector field in ℜn.


Let h: ℜn →ℜ be a smooth scalar function.

Then the Lie derivative of h with respect to f is:

∂h n
∂h
L f h = ∇h. f = .f = ∑ fi
∂x i =1 ∂x i

Dimensions

 f1 (x)
 ... 
f looks like:  ... 
 ... 
 f n (x)
h looks like: h(x) with x ∈ℜn ⇒ associates a scalar to each point in ℜn

The Lie derivative looks like:

 f1 (x)
  ... 
L f h= ∂h ,..., ∂h  ...  ⇒ Lfh is a scalar.
 ∂x1 ∂xn  ... 
 f n (x)

70
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

Conventions:

By definition, L0f (h) = h

We can also define higher-order Lie derivatives:

∂ 1
L2f (h) = [ L f (h)]. f etc…
∂x

∂h ∂x ∂h
Note: if x& = f (x) , then h& = . = . f = L1f (h)
∂x ∂t ∂x


And h&& = [ L1f (h)]. f = L2f (h)
∂x

Etc… so h ( k ) = Lkf (h)

Use of Lie Derivative Notation for Linear Systems

x& = Ax so f(x)=Ax

zi = M i x i ∈ [1, p ] , Mi is 1xn

⇒ z i = hi ( x) = L0f (hi )

z& i = L1f (hi )



(k )
zi = Lkf (hi )

 L0f (h1 ) ... L0f (h p )   M 1 x ... M px 


   
Define G =  ... ... ...  =  ... ... ... 
 Lnf−1 (h1 ) ... Lnf−1 (h p )  M 1 A n −1 x ... M p A n −1 x 
   

Now, define a gradient operator:

 dL0f (h1 ) ... dL0f (h p ) 


 
dG =  ... ... ... =O
dL f (h1 ) ... dL f (h p )
n −1 n −1
 

71
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

O must have rank n for the system to be observable.

Nonlinear Systems

x& = f ( x, u )
z = h( x) = [h1 ( x), h2 ( x),..., h p ( x)]T

Theorem:

Let G denote the set of all finite linear combinations of the Lie derivatives of h1,…,hp
with respect to f for various values of u = constant. Let dG denote the set of all their
gradients. If we can find n linearly independent vectors within dG, then the system is
locally observable.

The system is locally observable, that is distinguishable at a point x0 if there exists a


neighborhood of x0 such that in this neighborhood,

x0 ≠ x1 ⇒ z ( x 0 ) ≠ z ( x1 )

“if the sensor readings are different, the states are different”

Case of a single measurement:

x& = f ( x, u )
z = h( x )

Look at the derivatives of z:

z = h = L0f (h)

z& = h& = L1f (h)

z ( n −1) = Lnf−1 (h)

 L0f (h) 
 
Let: l ( x) ≡  ... 
 Lnf−1 (h)
 

72
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

Expand in a first-order series about x0 for u = u0

∂l ( x, u 0 )
l ( x, u 0 ) ≈ l ( x 0 , u 0 ) + ( x − x0 ) + hot
∂x x = x0

∂l ( x, u 0 )
Then dG = O = must have rank n
∂x x = x0

Example:

 x12
x
&
 1 = + exp( x 2 ) + x 2
 2
 x& 2 = x12
 z = x1

The question we are trying to answer is: “from observation, does z contain enough
information on x1 and x2?”
z2
Since x1 = z, exp( x 2 ) + x 2 = z& − (by substitution in the first line)
2
If z = x2 , then the system would not be distinguishable, since z& = x12

But if you take one more derivative you can get a single valued expression since x13 has
only one solution.
z& = x12
 x2 
z& = 2 x1 x&1 = 2 x1  1 + exp( x 2 ) + x 2 
 2 

Rank test for z=h= x1

 h   x1   2 
x1
G=  =  &  = x1 + exp( x ) + x 

 L f ( h )   x1   2 2 2

1 0 
O = dG =  has rank 2 everywhere
 x1 e + 1
x2

⇒ the system is locally observable everywhere.

73
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

SUMMARY: Controllability and Observability for Nonlinear Systems

Controllability

m
x& = f(x)+∑ gi (x)ui
1

The system is locally accessible about a point x0 if and only if

C = [ g1,...,gm, [gi, gj],...[adgi k ,gj],..., [f,gi],..., [adfk,gi],...]

has rank n where n is the rank of x. C is the accessibility distribution.

m
If the system has the form: x& =∑ gi (x)ui
1

If f(x) = 0 and C has rank n, then the system is controllable.

Observability

x=
& f(x,u)
z=h(x)

Two states x0 and x1 are distinguishable if there exists an input function u* such that:
z(x0) ≠ z(x1)

The system is locally observable at x0 if there exists a neighbourhood of x0 such that


every x in that neighbourhood other than x0 is distinguishable from x0.

A test for local observability is that:

∂l(x0,u*)
O(x0,u*)≡
∂x x = x
0

must have rank n, where n is the rank of x and

 L0f (h1 ) 
 ... 
l(x0,u*)≡  ... 
 n −... 
 L f 1(h1 )

For a px1 vector,


z = [h1, ..., hp]T,

74
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

 dL0f (h1 ) 
 ... 
 dL0f (hp) 
O(x0,u*)≡ ... 
dLnf−1(h1 )
 ... 
dLnf−1(hp)

75
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

LINEAR SYSTEMS NONLINEAR SYSTEMS

x& = Ax+ Bu x=
& f(x,u)

AFFINE SYSTEMS
LINEAR TIME INVARIANT
CONTROLLABILITY SYSTEMS m
AND x& = f(x)+∑ gi (x)ui
ACCESSIBILITY x& = Ax+ Bu 1

Intuition: the system is


controllable ⇒ you can get CONTROLLABILITY ACCESSIBILITY
anywhere you want in a finite
amount of time. The system is locally accessible
The system is controllable if:
C = [ B AB ... An-1B ] about a point x0 if and only if
has rank n, where n is the rank of
C = [ g1,...,gm, [gi, gj],...
x.
[adgi k ,gj],..., [f,gi],..., [adfk,gi],...]

has rank n where n is the rank of


x. C is the accessibility
distribution.

CONTROLLABILITY

m
x& =∑ gi (x)ui
1

If f(x) = 0 and C has rank n, then


the system is controllable.

76
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

x=
& Ax x=
& f(x,u)
OBSERVABILITY z=Mx z=h(x)
AND DISTINGUISHABILITY
x has rank n
Intuition: the system is observable z has rank p DISTINGUISHABILITY
⇒ from observing the sensor p<n
measurements for a finite period
of time, I can obtain the state at Two states x0 and x1 are
previous times. distinguishable if there exists an
OBSERVABILITY input function u* such that:
z(x0) ≠ z(x1)
The system is observable if:

 M  LOCAL OBSERVABILITY
 MA 
O=  ... 
... The system is locally observable
MAn −1  at x0 if there exists a
 
neighbourhood of x0 such that
every x in that neighbourhood
has rank n, where n is the rank of
other than x0 is distinguishable
x.
from x0.

A test for local observability is


that:

∂l(x0,u*)
O(x0,u*)≡
∂x x = x
0

must have rank n, where n is the


rank of x and

 L0f (h1 ) 
 ... 
l(x0,u*)≡ ... 
 n −... 
 L f 1(h1 )

For a px1 vector,


z = [h1, ..., hp]T,

 dL0f (h1 ) 
 ... 
 dL0f (hp) 
O(x0,u*)≡  ... 
dLnf−1(h1 )
 ... 
dLnf−1(hp)

77
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

Remarks

In general the conditions for nonlinear systems are weaker than those for linear
systems. Properties for nonlinear systems tend to be local.

What to do for nonlinear controllability if the system is not in affine form?

x=
& f(x,u)

Let τu& +u =v

[]
⇒ z= ux , v is my control ⇒ the system is now affine in (z,v) and pick τ to be OK.

Marius Sophus Lie

Born: 17 Dec 1842 in Nordfjordeide, Norway


Died: 18 Feb 1899 in Kristiania (now Oslo), Norway

The Lie Derivative and Observability

Definition

Let f: ℜn →ℜn be a vector field in ℜn.


Let h: ℜn →ℜ be a smooth scalar function.

Then the Lie derivative of h with respect to f is:

L f h=∇h.f = ∂h .f
∂x

Dimensions

78
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

 f1 (x)
 ... 
f looks like:  ... 
 ... 
 f n (x)
h looks like: h(x) with x ∈ℜn ⇒ associates a scalar to each point in ℜn

The Lie derivative looks like:

 f1 (x)
 ∂h ∂h  ... 
L f h=  ,...,  ...  ⇒ Lfh is a scalar.
 ∂x1 ∂xn  ... 
 f n (x)

Physically (time for pictures!)

Picture of f
f associates an n-dimensional vector to each point in ℜn

In ℜ2 :

x2

f2(x) f(x)
x
x1
f1(x)

[ ]
For example, let f(x)= −01−02  x1 
 x2 

79
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

x2
ΦAxt=100(x0)

x1

Φft(x0) = “flow along the vector field for time t, starting at x0 “


⇒ “tangent” to the phase plane plot at every single point

Picture of h

For example, in ℜ2, pick h to be the distance to the origin:

h(x) = x 2 = x12 + x22

x2

h=0

x1

h=1

h=2

Lie derivative picture

Using this example:

80
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

L f h= 
 ∂x1 ∂x2 
[ ]
 ∂ x 2 ∂ x 2  −1 0
 0 −2

Lf h
x2 Rate at which h, the distance to
the origin, changes as we flow
along the vector field Ax

x1

So, the Lie derivative gives the rate of change in a scalar function h as one flows
along the vector field f.

In a control systems context:

& f(x) x∈ℜn


x= f: ℜn →ℜn
y=h(x) y∈ℜ h: ℜn →ℜ
 ∂x1 
 
 1f (x)    x
 1 &   ∂t 
L f h =  ∂h ... ∂h  ...  =  ∂h ... ∂h  ...  =  ∂h ... ∂h  ...  = ∂h
 ∂x1 ∂xn  f n (x)   ∂x1 ∂xn  x&n   ∂x1 ∂xn  ∂xn  ∂t
 ∂t 
 
along the flow of f

How does this tie into observability?

{
Imagine: xy& = Ax
=Cx and we can only “see” y, a scalar, and we wish to find x∈ℜ
n

81
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

y = Cx
y’ = Cx’ = CAx

y(n-1) = CAn-1 x

and solve for x (n equations)


⇒ if [C CA ... CAn-1] has rank n, we have n independent equations in n
variables ⇒ OK

Using the Lie derivative

f(x) = Ax, h(x) = Cx

L f h= ∂ (Cx)Ax=CAx
∂x

Lnf−1h=CAn −1x

and by convention, L0f h=C

The Lie Bracket and Controllability

Definition

Let f: ℜn →ℜn be a smooth vector field in ℜn.


Let g: ℜn →ℜn be a smooth vector field in ℜn.

Then the Lie bracket of f and g is a third-order vector field given by:

[ f, g ]= ∂∂gx .f − ∂∂fx .g

Dimensions

 f1 (x)  g1 (x)
 ...   ... 
f looks like:  ...  , g also looks like:  ... 
 ...   ... 
 f n (x)  gn(x)

82
Control of Nonlinear Dynamic Systems: Theory and Applications
J. K. Hedrick and A. Girard © 2005

 ∂g1 ∂g1   ∂f1 ∂f1 


 ∂x .........∂xn   ∂x .........∂xn 
 ...1  f (x)  g (x)
...  1...   ... ...  1... 
1

[ f, g ]= ... ...  ...  − ...


 
...  ... 
... ...  ... ... ...  ... 
  f n (x)   g n(x)
 ∂g n .........∂g n   ∂f n .........∂f n 
 ∂x1 ∂xn   ∂x1 ∂xn 

So [f,g] is a vector field.

How does this tie into controllability?

Consider: x& = g1 (x)u1 + g2(x)u2


u1, u2 are scalar inputs

x∈ℜ3

 g11(x)   g21(x) 
g1 = g12(x) , g2 =  g22(x)
 
 g13(x)  g23(x)
   

What directions can we steer x if we start at some point x0?

Clearly, we can move anywhere in the span of {g1(x0),g2(x0)}.

* *
Let’s say that: g1 (x0 )= * , g2(x0 )= *
0 0

Can we move in the x3 direction?

The directions that we are allowed to move in by infinitesimally small changes


are [g1,g2].

83

You might also like