You are on page 1of 15

Autonomous Systems:Tutorial 5

Mechatronics Engineering

Dr. Islam S. M. Khalil

German University in Cairo


Faculty of Engineering and Material Science

April 3, 2018

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 5 1 / 15


Input-Output Linearization for SISO System

The output: y = h(x), get the derivative:

∂h(x) ∂x
ẏ =
∂x ∂t
∂h(x)
ẏ = ẋ
∂x
∂h(x) ∂h(x)
ẏ = f (x) + g(x)u
∂x ∂x
ẏ = Lf h(x) + Lg h(x)u

If Lg h(x) 6= 0:
1
u= [−Lf h(x) + ν]
Lg h(x)
which leads to:
ẏ = ν

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 5 2 / 15


Input-Output Linearization for SISO System
If the input doesn’t appear in the previous equation. i.e.
Lg h(x) = 0 then keep differentiating the output (y ) till input (u)
appears or till (n): system’s order.

∂Lf h(x) ∂x
ÿ = = L2f h(x) + Lg Lf h(x)u
∂x ∂t
to generalize more:

y (r ) = Lrf h(x) + Lg Lrf −1 h(x)u

with Lg Lrf −1 h(x) 6= 0

1
u= [−Lrf h + ν]
Lg Lrf −1 h(x)

to get:
y (r ) = ν
Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 5 3 / 15
Input-Output Linearization for SISO System

Number of differentiation of output till the appearance of


the input is equal to the relative degrees (r ) of a non linear
system.
If internal dynamics exist (i = n − r ), then its stability must
be checked.
Zero dynamics can be defined as internal dynamics when
the output of the system is kept equal to zero.

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 5 4 / 15


Input-Output Linearization for MIMO System

The matrix multiplied by input is found to be:

Lg1 Lρf 1 −1 h1 Lg2 Lfρ1 −1 h1 ...... Lgm Lρf 1 −1 h1


 

 L Lρ2 −1 h2 Lg2 Lfρ2 −1 h2 ...... Lgm Lρf 2 −1 h2


 
A =  g1 f

.... ..... .... ....

 
Lg1 Lρf m −1 hm Lg2 Lρf m −1 hm ...... Lgm Lρf m −1 hm

where m is number of inputs/outputs (in this case it is assumed


to be equal) and ρ is vector relative degree. The A matrix
should be non-singular.

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


Example 1: Car-like robot

Consider the following system,


where f (x) = 0, ẋ = g1 (x)v1 +
g2 (x)v2 .v1 driving velocity input
and v2 is steering velocity in-
put. The position coordinates
are used  as the outputs; y =
x y ; h1 = x and h2 = y
Use input-output linearization to
control the system:

       
ẋ v1 cos θ cos θ 0
 ẏ   v1 sin θ   sin θ   0 
  tan(φ/L)  v1 + 
v
 θ̇  =  v1 tan(φ/L)
=
0  2
    

φ̇ v2 0 1

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 5 6 / 15


∂h1 h ∂h1 ∂h1 ∂h1 ∂h1
i  
= ∂x ∂y ∂θ ∂φ = 1 0 0 0
∂x
∂h2 h ∂h2 ∂h2 ∂h2 ∂h2
i  
= ∂x ∂y ∂θ ∂φ0 = 1 0 0
∂x
   
cosθ 0
 sinθ   0 
 tan(φ/L)  , g2 =  0
g1 =    

0 1
   
Lg1 h1 Lg2 h1 cosθ 0
A= =
Lg1 h2 Lg2 h2 sinθ 0
A is found to be singular (not full rank), because it doesn’t have
vector relative degree, input v1 appears while input v2 doesn’t
appear. Therefore we need to define a new state v1 = ζ and
ζ̇ = u1 .

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 5 7 / 15


The new equations will be:


   
ζcosθ

 ẏ  
  ζsinθ 


 θ̇ =
  ζtan(φ/L) 

 φ̇   v2 
ζ̇ u1
     
ζcosθ 0 0

 ζsinθ 


 0 


 0 

f =
 ζtan(φ/L)  , g1 = 
  0  , g2 = 
  0 

 0   0   1 
0 1 0
The new states (x,y,θ,φ,ζ) and inputs are u1 and v2 .

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 5 8 / 15


∂h1 h ∂h1 ∂h1 ∂h1 ∂h1 ∂h1
i  
= ∂x ∂y ∂θ ∂φ ∂ζ = 1 0 0 0 0
∂x
∂h2 h ∂h2 ∂h2 ∂h2 ∂h2 ∂h2
i  
= ∂x ∂y ∂θ ∂φ ∂ζ = 0 1 0 0 0
∂x
Lg1 h1 = 0, Lg2 h1 = 0
Lg1 h2 = 0, Lg2 h2 = 0

Now, input didn’t appear in the first order derivative of output


then proceed to second order derivative.

Lf h1 = ζcosθ, Lf h2 = ζsinθ

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 5 9 / 15


h i
∂Lf h1 ∂Lf h1 ∂Lf h1 ∂Lf h1 ∂Lf h1  
∂x ∂y ∂θ ∂φ ∂ζ = 0 0 −ζsinθ 0 cosθ
h i
∂Lf h2 ∂Lf h2 ∂Lf h2 ∂Lf h2 ∂Lf h2  
∂x ∂y ∂θ ∂φ ∂ζ = 0 0 ζcosθ 0 sinθ

The second order derivative will be:

Lg1 Lf h1 = cosθ, Lg2 Lf h1 = 0

Lg1 Lf h2 = sinθ, Lg2 Lf h2 = 0

Same problem is repeated the A matrix is singular therefore


again define new state, u1 = ν and ν̇ = r1 .

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 5 10 / 15


The new equations will be:


   
ζcosθ
 ẏ   ζsinθ 
   

 θ̇  
= ζtan(φ/L) 


 φ̇  
  v2 

 ζ̇   ν 
ν̇ r1
     
ζcosθ 0 0

 ζsinθ 


 0 


 0 

 ζtan(φ/L)   0   0 
f =  , g1 =   , g2 =  

 0 


 0 


 1 

 ν   0   0 
0 1 0
The new states (x,y,θ,φ,ζ,ν) and inputs are r1 and v2 .

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 5 11 / 15


h i
∂h1 ∂h1 ∂h1 ∂h1 ∂h1 ∂h1  
∂x ∂y ∂θ ∂φ ∂ζ ∂ν = 1 0 0 0 0 0
h i
∂h2 ∂h2 ∂h2 ∂h2 ∂h2 ∂h2  
∂x ∂y ∂θ ∂φ ∂ζ ∂ν = 0 1 0 0 0 0
First order derivatives are:
Lg1 h1 = 0, Lg2 h1 = 0Lg1 h2 = 0, Lg2 h2 = 0
additionally,
Lf h1 = ζcosθ, Lf h2 = ζsinθ
The input didn’t appear proceed to second order derivative of
output:
h i
∂Lf h1 ∂Lf h1 ∂Lf h1 ∂Lf h1 ∂Lf h1 ∂Lf h1
∂x ∂y ∂θ ∂φ ∂ζ ∂ν
 
= 0 0 −ζsinθ 0 cosθ 0
h i
∂Lf h2 ∂Lf h2 ∂Lf h2 ∂Lf h2 ∂Lf h2 ∂Lf h2
∂x ∂y ∂θ ∂φ ∂ζ ∂ν
 
= 0 0 ζcosθ 0 sinθ 0
Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 5 12 / 15
The second order derivative will be:

Lg1 Lf h1 = 0, Lg2 Lf h1 = 0, Lg1 Lf h2 = 0, Lg2 Lf h2 = 0

The input didn’t appear proceed to the higher order derivative:

L2f h1 = νcosθ − ζ 2 sinθtan(φ/L)

L2f h2 = νsinθ + ζ 2 cosθtan(φ/L)


1
Using F (x) = tanx → F 0 (x) = cos2 x
h i
∂L2f h1 ∂L2f h1 ∂L2f h1 ∂L2f h1 ∂L2f h1 ∂L2f h1
∂x ∂y ∂θ ∂φ ∂ζ ∂ν
h i
= 0 0 −νsθ − ζ 2 cθt φL −ζ 2 Lcsθ2 φ −2ζsθt φL cθ

h i
∂L2f h2 ∂L2f h2 ∂L2f h2 ∂L2f h2 ∂L2f h2 ∂L2f h2
∂x ∂y ∂θ ∂φ ∂ζ ∂ν
h i
= 0 0 νcθ − ζ 2 sθt φL −ζ 2 Lccθ2 φ 2ζcθt φL sθ

Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 5 13 / 15


Then the higher order derivative will be:
sinθ
Lg1 L2f h1 = cosθ, Lg2 L2f h1 = −ζ 2
Lcos2 φ
cosθ
Lg1 L2f h2 = sinθ, Lg2 L2f h2 = ζ 2
Lcos2 φ

Lg1 L2f h1 Lg2 L2f h1


 
A=
Lg1 L2f h2 Lg2 L2f h2
cos2 θ 2
2 sin θ 1
det(A) = ζ 2 2
+ ζ 2
= ζ2
Lcos φ Lcos φ Lcos2 φ

As long as ζ 6= 0 and φ 6= ± π2 or ± 3π
2 , therefore matrix A is
nonsingular.
Vector relative degree is (3,3) and ρ = 3 + 3 = 6, ρ is the
dimension of extended state.
The system is fully linearizable and then devise the control
law to be u = A(x)−1 ν. where ν can be the linear control.
Dr. Islam S. M. Khalil Autonomous Systems:Tutorial 5 14 / 15
Any Questions ?
Thank you

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

You might also like