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

Autonomous Systems Tutorial 3

This document discusses controllability of linear and nonlinear systems. It defines controllability as a system's ability to reach a desired state through input control. For linear systems, controllability is tested using the controllability matrix. If the matrix is full rank, the system is controllable. For nonlinear systems, lie derivatives and lie brackets are used to form the controllability matrix. Two examples of checking controllability for different systems are provided.

Uploaded by

Khaled Zaki
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)
32 views

Autonomous Systems Tutorial 3

This document discusses controllability of linear and nonlinear systems. It defines controllability as a system's ability to reach a desired state through input control. For linear systems, controllability is tested using the controllability matrix. If the matrix is full rank, the system is controllable. For nonlinear systems, lie derivatives and lie brackets are used to form the controllability matrix. Two examples of checking controllability for different systems are provided.

Uploaded by

Khaled Zaki
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/ 19

Autonomous Systems:Tutorial 3

Mechatronics Engineering

Dr. Islam S. M. Khalil

German University in Cairo


Faculty of Engineering and Material Science

February 25, 2018

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 1 / 19


Controllability of Linear System

The state space representation is as follows:


ẋ = Ax + Bu
y = cx
If the system behaviour is not satisfactory (settling time,
overshoot, etc.), you need to design a controller to change the
system characteristic equation to a desired one through the
input
u = −Kx
where K is some controller gain.
but for this to be possible, we must first check the controllability
of the system, if the system is not controllable then this
approach will not be possible,

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 2 / 19


Controllability
A System with internal state vector x is called controllable if the
system states can reach a desired value by changing the
system’s inputs.

This can be tested through getting the ”Controllability Matrix”

CM = B AB A2 B .... An−1 B
 
(1)

If the CM matrix is full rank, then all the system states are
controllable, if not then its not controllable.

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 3 / 19


Example 1

For the following linear system, is it controllable?


ẋ1 = x2
ẋ2 = u
      
ẋ1 0 1 x1 0
= + u (2)
ẋ2 0 0 x2 1
 
CM = B AB (3)
    
0 1 0 1
where, AB = =
0 0 1 0
 
0 1
CM = (4)
1 0

CM is Full rank,therefore it is controllable.

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 4 / 19


Controllability of Nonlinear System

The state space representation:


ẋ = F (x) + g(x)u
y = h(x)
how to check the controllability of this non linear system? we
calculate the controllability matrix of nonlinear systems by using
lie derivatives and lie brackets.
Lie Derivative
It evaluates the rate of change of a vector field along trajectory
of another vector field.

Vector field: due to a phenomena and have a direction, e.g.


magnetic field, gravity and wind.

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 5 / 19


Mathematical Definition of Lie Derivative
The Lie derivative of function h(x) with respect to F(x) is written
as:
∂h
Lf h(x) = f (x) (5)
∂x

For second order lie derivatives


∂Lf h
L2f h(x) = Lf Lf h(x) = f (x) (6)
∂x
and similarly for higher order lie derivatives.

The lie bracket


∂g ∂f
[f , g] = Lf g − Lg f = f (x) − g(x) (7)
∂x ∂x

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 6 / 19


Relating (lie derivatives and lie brackets) to our study of the
controllability of a MIMO non linear System:
ẋ = F (x) + g1 u1 + g2 u2 + ...etc.
where g1 ,g2 are non linear relations with different inputs.
Controllability Matrix of Nonlinear Sytems

 
CM = g1 g2 .... [g1 , g2 ] .... [f , g1 ] [f , g2 ] .... (8)

If CM is full rank, then its controllable.

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 7 / 19


Example 2

For the differential drive, the equation of motion from previous


tutorial:
   r   r 
ẋ1 2 cos θ 2 cos θ
 ẏ  =  r sin θ  φ̇1 +  r sin θ  φ̇2 (9)
2 2
r r
θ̇ L −
{zL
|{z} |{z}
| {z } Motor 1 | } Motor 2
g1 (left) g2 (right)
input 1 input 2

which is in the form of: ẋ = g1 (x)u1 + g2 (x)u2 where, f (x) = 0.


The controlability matrix will be:
CM = [g1 , g2 , [g1 , g2 ]]

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 8 / 19


∂g2 ∂g1
[g1 , g2 ] = g1 (x) − g2 (x) (10)
∂x ∂x

Calculating the first term:


 
r2
0 0 − 2r sinθ r
  
2 cθ − 2L sinθ
∂g2
g1 (x) =  0 0 2r cosθ   r
2 sθ
= r2 
cosθ 
∂x
 2L
r
0 0 0 L 0
(11)
Calculating the second term:
  r2 
0 0 − 2r sinθ
  r
2 cθ sinθ
∂g1  2L
g2 (x) =  0 0 2r cosθ   2r sθ  =  − r 2 cosθ 

∂x r 2L
0 0 0 −L 0
(12)

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 9 / 19


Therefore,  
2
− rL sinθ
[g1 , g2 ] =  r 2 cosθ  (13)
 
L
0

Constructing the Controllability matrix:


 
r r r2
cosθ cosθ sinθ
 2 2 L
CM =  r sinθ r sinθ − r 2 cosθ  (14)

2 2 L
r
L − Lr 0

Evaluating the CM at different values of θ, will show that this


matrix will always be full rank at any value of θ. Therefore, the
system is controllable.

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 10 / 19


Example 3: Unicycle

The lie bracket and higher order lie bracket can help provide
new directions.
     
ẋ cos θ 0
 ẏ  =  sin θ  u1 +  0  u2 (15)
θ̇ 0 1
| {z } | {z }
g1 g2

g1 can be seen as the one driving the unicycle.


g2 can be seen as the one steering the unicycle.
The controllability matrix would be:
 
cosθ 0 sinθ
[g1 , g2 , [g1 , g2 ]] =  sinθ 0 −cosθ 
0 1 0

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 11 / 19


If we want to explore new directions of motion we can get the lie
bracket and higher order lie bracket:
 
sinθ
∂g2 ∂g1
[ g1 , g2 ] = g1 (x) − g2 (x) =  −cosθ  (16)
∂x ∂x
|{z} |{z} 0
driving steering

New direction: Lateral motion.


If we get higher order lie bracket to explore new directions in
this case [g1 , [g1 , g2 ]]
     
0 0 cθ cθ 0 0 −sθ sθ
[g1 , [g1 , g2 ]] =  0 0 sθ   sθ − 0 0 cθ   −cθ 
0 0 0 0 0 0 0 0
 
0
[g1 , [g1 , g2 ]] =  0 
0

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 12 / 19


As shown before, no new direction was explored, so the
higher order lie derivative didn’t add a new motion.
you can try [g2 , [g1 , g2 ]], but it will also give zeros in this
case.
Higher order lie bracket is just the lie bracket of lie bracket,
e.g.: [f , [f , [f , g]].

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 13 / 19


Example 4: Ackerman mechanism
Ackerman mechanism is similar to mechanism used in real
cars.

     
ẋ cos(φ + θ) 0
 ẏ   sin(φ + θ)
 u1 +  0  u2
  
 φ̇  = 
   (17)
sin θ   0 
θ̇ 0 1

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 14 / 19


g1 drive the car.
g2 steer the car by θ
we want new directions of motion, then we get the lie bracket
and higher order lie bracket

∂g2 ∂g1
[ g1 , g2 ] = g1 (x) − g2 (x) = (18)
∂x ∂x
|{z} |{z}
driving steering

    
0 0 − sin(φ + θ) − sin(φ + θ) 0 sin(φ + θ)
 0 0 cos(φ + θ) cos(φ + θ)   0
    − cos(φ + θ) 
= 0− = 
 0 0 0 cos θ  0   − cos θ 
0 0 0 0 1 0
(19)
The new direction is called wriggle.

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 15 / 19


If we want new direction, get higher order lie bracket
[g1 , [g1 , g2 ]] → [drive,wriggle]

∂[g1 , g2 ] ∂g1
[g1 , [g1 , g2 ]] = g1 (x) − [g1 , g2 ] (20)
∂x ∂x

  
0 0 c(φ + θ) c(φ + θ) c(φ + θ)
 0 0 s(φ + θ) s(φ + θ)   s(φ + θ)  −
 
=
 0 0 0 sθ   sθ 
0 0 0 0 0
  
0 0 −s(φ + θ) −s(φ + θ) s(φ + θ)
 0 0 c(φ + θ) c(φ + θ)   −c(φ + θ) 
  
 0 0 0 cθ  −cθ 
0 0 0 0 0
(21)

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 16 / 19


   
c(φ + θ)sθ − s(φ + θ)cθ −sθ
 s(φ + θ)sθ + c(φ + θ)cθ   cθ 
[g1 , [g1 , g2 ]] =    0  (22)
= 
 0
0 0

The new direction is called slide.


Note that the higher order lie derivative is not zero,giving
new directions.Therefore,other combinations for new
directions such as: [g2 , [g1 , g2 ]] or even higher order:
[g1 , [g1 , [g1 , g2 ]]] can be computed.

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 17 / 19


For this system to be controllable, the controllability matrix must
have a rank of 4, the CM in this case would be:
CM = [g1 , g2 , [g1 , g2 ], [g1 , [g1 , g2 ]]]
 
cos(φ + θ) 0 sin(φ + θ) −sθ
 sin(φ + θ) 0 −cos(φ + θ) cθ 
CM =   (23)
 sinθ 0 −cosθ 0 
0 1 0 0

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 18 / 19


Any Questions ?
Thank you

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 3 19 / 19

You might also like