Sunteți pe pagina 1din 28

Active Disturbance Rejection and the Control of Differentially Flat Systems

Active Disturbance Rejection and the Control of


Differentially Flat Systems
Hebertt Sira-Ramrez
Center for Research and Advanced Studies of the National Polytechnic Institute
M
exico, D.F., M
exico

May 2013

Active Disturbance Rejection and the Control of Differentially Flat Systems

Contents of Presentation

Introduction to ADRC

Definition of SISO Flat Systems and Examples

Definition of MIMO Flat Systems and Examples

Conclusions

Active Disturbance Rejection and the Control of Differentially Flat Systems


Introduction to ADRC

Introduction
Active Disturbance Rejection Control (ADRC) is based on:
Retain input gain (matrix) and (multi-index) order of the system
output as the only required design elements.
Simultaneously estimate, from the available outputs,
a.- unmeasured states or output phase variables and
b.- lumped effects of endogenous (state-dependent) uncertainties
exogenous disturbances, unmodeled dynamics or neglected higher
order terms (h.o.t.) affecting the input-output dynamics.
Key idea: Treat these lumped effects as if they were unknown
time-varying functions (i.e., signals).
Devise a controller that cancels all uncertain effects, while using the
estimated states to complete a suitable static, or dynamic, feedback
controller of the (hopefully linear) remaining, well known, part of
the system.

Active Disturbance Rejection and the Control of Differentially Flat Systems


Introduction to ADRC

The ADRC approach is naturally fitted for input-output system


models with no zero dynamics and no gain singularities.
Nonlinear SISO systems of the form:
y (n) = (t, y , ..., y (n1) )u + (t, y , y , ..., y (n1) )
are envisioned as the simpler system:
y (n) = (t)u + (t)
with (t) being an unstructured time signal, assumed to be
uniformly absolutely bounded, causing no finite escape time of y
for a smooth bounded u. and (t) is an on-line estimate of the
nonlinear gain. Fact: (t) is observable. Simplest cases:
(t, y , ..., y (n1) ) =constant, or (t, y , ..., y (n1) ) = (t, y ).

Active Disturbance Rejection and the Control of Differentially Flat Systems


Introduction to ADRC

ADRC Trajectory tracking controller for y y (t).


u=

+ [y (t)](n)
(t)

y 0

y 1
..

y n1

z 1
..
.

z m

Pn1
j=0

j (yj [y (t)](j) )

(t, y , y1 ..., yn1 )

= y1 + m+n1 (y y0 )
= y2 + m+n2 (y y0 )
= (t, y , y1 ..., yn1 )u + z1 + m (y y0 )
= z2 + m1 (y y0 )
= 0 (y y0 ),

= z1
(t)

Active Disturbance Rejection and the Control of Differentially Flat Systems


Introduction to ADRC

A two tank system

Consider the following mathematical model of a two tank system


c
x1 +
A
c
=
x2 +
A
= x2

x 1 =
x 2
y

1
u
A
c
x1
A

It is desired to regulate the output y (t) of the system, so that it


tracks a desired given smooth trajectory y (t). System parameters
c, and A, are assumed to be known.

Active Disturbance Rejection and the Control of Differentially Flat Systems


Introduction to ADRC

x1

y = x2

A two tank system

Active Disturbance Rejection and the Control of Differentially Flat Systems


Introduction to ADRC

The two tank system admits the following input-output model:

y =

 2 2 
1
c /A
c y
c2
u
2
c
2A y + A y
2A y
2A

Consider the simplified system with a nonlinear input gain


 2 2 
1
c /A
y =
u + (t)
2A y + Ac y
where
(t) =

c y(t)

c2
p
2
2A y (t) 2A

Active Disturbance Rejection and the Control of Differentially Flat Systems


Introduction to ADRC

We propose the following observer based output feedback


controller:
 2
A
c 
u = 2A 2
y1 +
y v
c
A
+ y (t) 2c nc (y1 y (t)) 2 (y y (t))
v = (t)
nc

where y1 is the estimated output velocity which is synthesized by


the following GPI observer:
y 0

y 1

z 1
z 2

=
=

z 3
z 4

=
=

y1 + 5 (y y0 )
 2 2 
1
c /A
u + z1 + 4 (y y0 )
2A y1 + ca y
z2 + 3 (y y0 )
z3 + 2 (y y0 )

z4 + 1 (y y0 )
= z1
0 (y y0 ), (t)

Active Disturbance Rejection and the Control of Differentially Flat Systems


Introduction to ADRC

y(t), y (t)
4
2
0
10
5
0
0
2

10

20

30

40

50

60

20

30

40

50

60

20

30

40

50

60

x1 (t)

10

u(t)
1
0
0

10

Response of ADRC controlled two tank system

Active Disturbance Rejection and the Control of Differentially Flat Systems


Introduction to ADRC

0
0.01

z1 s(t)

0.02
0.03
0.04
0.05
0.06
0.07
0

10

20

30

40

50

60

Estimation of state-dependent perturbation for ADRC controlled

Active Disturbance Rejection and the Control of Differentially Flat Systems


Introduction to ADRC

Disturbance and lumped estimate of uncertainties

Liquid heights

0.4

15
10

x1 (t)

0.2

p(t)

0
5
0
0

y(t) = x2 (t)
10

20

30

0.2
time

40

50

0.4
0

(t)

time
10

observed input gain (red) and actual input gain (black)

40

50

40

50

4
3

10

0
0

30

control input

15

20

(y, y)

(y, y1 )
10

u(t)

1
20

30
time

40

50

0
0

10

20

30
time

Performance of ADRC controlled perturbed two tank system

Active Disturbance Rejection and the Control of Differentially Flat Systems


Introduction to ADRC

5.5
5
4.5

y(t) = x2(t)

4
3.5

y(t)

3
time
2.5
0

10

15

20

25

30

35

40

45

50

Output trajectory tracking for ADRC controlled two tank system

Active Disturbance Rejection and the Control of Differentially Flat Systems


Definition of SISO Flat Systems and Examples

Flat SISO systems

Consider a nonlinear system


x = f (x, u), x Rn , u R
The system is flat if there exists an independent output function
y R , such that:
y = (x) R
and all system variables are differentially parameterizable in terms
of y :
x = (y , y , ..., y (n1) ), u = (y , y , ..., y (n) )
In general, y is non-unique.

Active Disturbance Rejection and the Control of Differentially Flat Systems


Definition of SISO Flat Systems and Examples

The two tank system


The two tank system,
x 1 =

c
1
c
c
x1 + u, x 2 =
x2 +
x1
A
A
A
A

is flat, with flat output y = x2 .


Indeed
x2 = y
A2 
c 2
x1 =
y

+
y
c2
A




c 
2A2
c y
u = A y +
y 1 + 2 y +

A
c
2A y

Active Disturbance Rejection and the Control of Differentially Flat Systems


Definition of SISO Flat Systems and Examples

Slosh control in Liquid containers

Active Disturbance Rejection and the Control of Differentially Flat Systems


Definition of SISO Flat Systems and Examples

x 1 = x2
x 2 = 2x2 2 x1 +

a 2
u
2g

x 3 = x4
x 4 = u
x1 : liquid height, above the resting level
x2 : corresponding rate of the liquid height
x3 : position of the container
x4 : its associated velocity
u: applied force input
, : liquid natural oscillation frequency and damping factor.

Active Disturbance Rejection and the Control of Differentially Flat Systems


Definition of SISO Flat Systems and Examples

Flat output
F





2
4
2
1 + 4 g x1 +
g x2
4a
a 5
 


1
2
+
x3
x4
2
3

A differential parametrization of all system variables, in terms of


the flat outputs, is given by:
x1

x2

x3

x4
u

=
=

a 2
F
2g
a 2 (3)
F
2g
2 F + 2 F + F
2 F + 2 F + F (3)
2 F + 2F (3) + F (4)

Active Disturbance Rejection and the Control of Differentially Flat Systems


Definition of SISO Flat Systems and Examples

For an ADRC treatment of the slosh control problem one would


take:
F (4) = u + (t)
The observer design is substantially alleviated thanks to the
structure revealed by flatness

Active Disturbance Rejection and the Control of Differentially Flat Systems


Definition of MIMO Flat Systems and Examples

Flat MIMO systems


Consider a nonlinear system
x = f (x, u), x Rn , u Rm
The system is differentially flat if there exists an independent
m-dimensional output vector y and a set of finite multi-indices: p,
q and r , such that:
y = (x, u, u,
..., u (p) ) Rm
and all system variables are differentially parameterizable in terms
of y :
x = (y , y , ..., y (q) ), u = (y , y , ..., y (r ) )
In general, y is non-unique.

Active Disturbance Rejection and the Control of Differentially Flat Systems


Definition of MIMO Flat Systems and Examples

System with non-holonomic constraint


Consider the system
x 1 = u1 , x 2 = u2 , x 3 = u1 u2
Define the flat outputs as1
F = x1 , L = x3 u1 x2
One readily obtains the following differential parametrization:
!
L
L
x1 = F , x2 = , x3 = L
F
F
F
u1 = F , u2 =
1

F LF
(3)
L
(F )2

This output represents the integrable part of the nonintegrable constraint


x 3 x 1 x 2 = 0, portrayed by the last equation.

Active Disturbance Rejection and the Control of Differentially Flat Systems


Definition of MIMO Flat Systems and Examples

The inputs to flat outputs relation is non-invertible, clearly


indicating there is an obstruction to static feedback linearization.
Dynamic feedback, through input extension, may be achieved by
setting the following (extended) input coordinate transformation:
(3)

v1 = u1 = F (4) , v2 = u2
One now gets the invertible extended inputs-to-flat-outputs relation
#
 (4)  

 "
0
1 0
F
v1
=
+ LF
(3)

v2
0 F
L

Active Disturbance Rejection and the Control of Differentially Flat Systems


Definition of MIMO Flat Systems and Examples

The batch reactor model


Consider the following dynamic model of a batch reactor:


x1
x2
x 1 =
x1 u1
Ks + x2
x3


x2
1
u1 (u2 x2 )
x 2 =
+
Ks + x2 Ysx
x3
x 3 = u1
The system is flat, with flat outputs given by:
F = x1 , R = x3
representing, respectively, the product yield and the reactor volume.

Active Disturbance Rejection and the Control of Differentially Flat Systems


Definition of MIMO Flat Systems and Examples

Indeed, all variables are differentially parameterizable in terms of F


and R,

u1

u2

x1 = F , x3 = R, x2 = Ks
= R,

F R + 2F R + F R

i
= Ks h
FR (F R + F R)

F R + F R

FR (F R + F R)

h 
 
i

R
F R + F R F R + 2F R + F R
h
i2

FR (F R + F R)
!
"
#

F R + RF
R
F R + F R
+ Ks

FR
R
FR (F R + F R)

F R + F R

1
Ysx

"

Active Disturbance Rejection and the Control of Differentially Flat Systems


Definition of MIMO Flat Systems and Examples

The extended model is simply given by,

x 1
x 2
x 3


x2
x1
=
x1 x4
Ks + x2
x3


1
x2
x4 (v2 x2 )
=
+
Ks + x2 Ysx
x3
= x4

x 4 = x5
x 5 = v1
which now exhibits a well defined vector relative degree for R and
F given by:
(3, 2)
Notice that the additional states x4 , x5 are readily available as
integrals of the auxiliary control input v1 .

Active Disturbance Rejection and the Control of Differentially Flat Systems


Definition of MIMO Flat Systems and Examples

We now have the following differential parametrization,


v1
x2

v2

x5 = R,
x1 = F ,
= R (3) , x3 = R, x4 = R,
"
#
F R + F R
= Ks

FR (F R + F R)

F R + 2F R + F R

i
= Ks h
FR (F R + F R)

h 
 
i


R
F R + F R F R + F R F R + 2F R + F R

h
i2

FR (F R + F R)
!
"
#

1
F R + RF
R
F R + F R
+
+ Ks

Ysx
FR
R
FR (F R + F R)

Active Disturbance Rejection and the Control of Differentially Flat Systems


Definition of MIMO Flat Systems and Examples

After tedious, but elementary, manipulations, one obtains the


following extended input-output dynamics:
R (3)
F

= v1
h
i2

FR (F R + F R)

R
R,
F , F )
=
v2 + (R , R,

Ks FR 3

h
i2

FR (F R + F R)
R

R,
F , F ) =
(R, R,

Ks FR 3



(
R + F R)
(F R + F R)
2F R F R

(
F

2
F
R
+
F
R

RKs
+


h
i2

FR (F R + F R)
R

FR (F R + F R)
)




R
F R + F R
F R + F R

Ks

Ysx
FR R
FR (F R + F R)

Active Disturbance Rejection and the Control of Differentially Flat Systems


Conclusions

Conclusions

The controller design task for nonlinear uncertain, perturbed,


flat systems may be substantially simplified thanks to the use
of a combination of high gain extended Luenberger observers
and linearizing output feedback controllers. The key idea is to
retain input gain and order (gain matrix and Kronecker
indices) as design elements, relegating the lumped effect of all
additive uncertainties and disturbances to jointly act as
unknown time signals disturbances that may be estimated.
The scheme is easily extendable to systems with known input
delays, systems with fractional derivatives, discrete systems,
etc.

S-ar putea să vă placă și