ADRC ACCWorkshop Sira-Ramirez

28
Active Disturbance Rejection and the Control of Differentially Flat Systems Active Disturbance Rejection and the Control of Differentially Flat Systems Hebertt Sira-Ram´ ırez Center for Research and Advanced Studies of the National Polytechnic Institute exico, D.F., M´ exico May 2013

Transcript of ADRC ACCWorkshop Sira-Ramirez

Page 1: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Active Disturbance Rejection and the Control of

Differentially Flat Systems

Hebertt Sira-Ramırez †

† Center for Research and Advanced Studies of the National Polytechnic InstituteMexico, D.F., Mexico

May 2013

Page 2: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Contents of Presentation

1 Introduction to ADRC

2 Definition of SISO Flat Systems and Examples

3 Definition of MIMO Flat Systems and Examples

4 Conclusions

Page 3: ADRC ACCWorkshop Sira-Ramirez

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 systemoutput as the only required design elements.

Simultaneously estimate, from the available outputs,a.- unmeasured states or output phase variables andb.- lumped effects of endogenous (state-dependent) uncertaintiesexogenous disturbances, unmodeled dynamics or neglected higherorder terms (h.o.t.) affecting the input-output dynamics.Key idea: Treat these lumped effects as if they were unknowntime-varying functions (i.e., signals).

Devise a controller that cancels all uncertain effects, while using theestimated states to complete a suitable static, or dynamic, feedbackcontroller of the (hopefully linear) remaining, well known, part ofthe system.

Page 4: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Introduction to ADRC

The ADRC approach is naturally fitted for input-output systemmodels with no zero dynamics and no gain singularities.Nonlinear SISO systems of the form:

y (n) = ψ(t, y , ..., y (n−1))u + φ(t, y , y , ..., y (n−1))

are envisioned as the simpler system:

y (n) = µ(t)u + ξ(t)

with ξ(t) being an unstructured time signal, assumed to beuniformly absolutely bounded, causing no finite escape time of yfor a smooth bounded u. and µ(t) is an on-line estimate of thenonlinear gain. Fact: ξ(t) is observable. Simplest cases:ψ(t, y , ..., y (n−1)) =constant, or ψ(t, y , ..., y (n−1)) = ψ(t, y).

Page 5: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Introduction to ADRC

ADRC Trajectory tracking controller for y → y∗(t).

u =−ξ(t) + [y∗(t)](n) −

∑n−1j=0 κj(yj − [y∗(t)](j))

ψ(t, y , y1..., yn−1)

y0 = y1 + λm+n−1(y − y0)y1 = y2 + λm+n−2(y − y0)...yn−1 = ψ(t, y , y1..., yn−1)u + z1 + λm(y − y0)

z1 = z2 + λm−1(y − y0)...

zm = λ0(y − y0), ξ(t) = z1

Page 6: ADRC ACCWorkshop Sira-Ramirez

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

x1 = − c

A

√x1 +

1

Au

x2 = − c

A

√x2 +

c

A

√x1

y = x2

It is desired to regulate the output y(t) of the system, so that ittracks a desired given smooth trajectory y∗(t). System parametersc , and A, are assumed to be known.

Page 7: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Introduction to ADRC

x1

x2

u

y =

A

A

c

c

A two tank system

Page 8: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Introduction to ADRC

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

y =1

2A

[

c2/A2

y + cA

√y

]

u − c

2A

y√y− c2

2A2

Consider the simplified system with a nonlinear input gain

y =1

2A

[

c2/A2

y + cA

√y

]

u + ξ(t)

where

ξ(t) = − c

2A

y(t)√

y(t)− c2

2A2

Page 9: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Introduction to ADRC

We propose the following observer based output feedbackcontroller:

u = 2A

[

A2

c2

]

(

y1 +c

A

√y)

v

v = −ξ(t) + y∗(t)− 2ζcωnc(y1 − y∗(t))− ω2nc(y − y∗(t))

where y1 is the estimated output velocity which is synthesized bythe following GPI observer:

y0 = y1 + γ5(y − y0)

y1 =1

2A

[

c2/A2

y1 +ca

√y

]

u + z1 + γ4(y − y0)

z1 = z2 + γ3(y − y0)

z2 = z3 + γ2(y − y0)

z3 = z4 + γ1(y − y0)

z4 = γ0(y − y0), ξ(t) = z1

Page 10: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Introduction to ADRC

0 10 20 30 40 50 602

4

6

0 10 20 30 40 50 600

5

10

0 10 20 30 40 50 600

1

2

y(t), y∗(t)

x1(t)x1(t)

u(t)

Response of ADRC controlled two tank system

Page 11: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Introduction to ADRC

0 10 20 30 40 50 60−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

z1s(t)

Estimation of state-dependent perturbation for ADRC controlled

Page 12: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Introduction to ADRC

0 10 20 30 40 500

5

10

15

time

Liquid heights

0 10 20 30 40 50−0.4

−0.2

0

0.2

0.4

time

Disturbance and lumped estimate of uncertainties

0 10 20 30 40 500

5

10

15

time

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

0 10 20 30 40 500

1

2

3

4

time

control input

ξ(t)

u(t)ψ(y, y)

ψ(y, y1)

p(t)x1(t)

y(t) = x2(t)

Performance of ADRC controlled perturbed two tank system

Page 13: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Introduction to ADRC

0 5 10 15 20 25 30 35 40 45 502.5

3

3.5

4

4.5

5

5.5

time

y∗(t)

y(t) = x2(t)

Output trajectory tracking for ADRC controlled two tank system

Page 14: ADRC ACCWorkshop Sira-Ramirez

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 functiony ∈ R , such that:

y = θ(x) ∈ R

and all system variables are differentially parameterizable in termsof y :

x = ψ(y , y , ..., y (n−1)), u = φ(y , y , ..., y (n))

In general, y is non-unique.

Page 15: ADRC ACCWorkshop Sira-Ramirez

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,

x1 = − c

A

√x1 +

1

Au, x2 = − c

A

√x2 +

c

A

√x1

is flat, with flat output y = x2.Indeed

x2 = y

x1 =A2

c2

(

y +c

A

√y)2

u = A(

y +c

A

√y)

[

1 +2A2

c2

(

y +c

2A

y√y

)]

Page 16: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Definition of SISO Flat Systems and Examples

Slosh control in Liquid containers

Page 17: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Definition of SISO Flat Systems and Examples

x1 = x2

x2 = −2ζωx2 − ω2x1 +aω2

2gu

x3 = x4

x4 = u

x1: liquid height, above the resting levelx2: corresponding rate of the liquid heightx3: position of the containerx4: its associated velocityu: applied force input

ω, ζ: liquid natural oscillation frequency and damping factor.

Page 18: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Definition of SISO Flat Systems and Examples

Flat output

F =

[

2

ω4a

(

−1 + 4ζ2)

g

]

x1 +

(

aω5g

)

x2

+

(

1

ω2

)

x3 −(

2

ω3ζ

)

x4

A differential parametrization of all system variables, in terms ofthe flat outputs, is given by:

x1 =aω2

2gF

x2 =aω2

2gF (3)

x3 = ω2F + 2ζωF + F

x4 = ω2F + 2ζωF + F (3)

u = ω2F + 2ζωF (3) + F (4)

Page 19: ADRC ACCWorkshop Sira-Ramirez

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 wouldtake:

F (4) = u + ξ(t)

The observer design is substantially alleviated thanks to thestructure revealed by flatness

Page 20: ADRC ACCWorkshop Sira-Ramirez

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 ∈ R

m

The system is differentially flat if there exists an independentm-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 termsof y :

x = ψ(y , y , ..., y (q)), u = φ(y , y , ..., y (r))

In general, y is non-unique.

Page 21: ADRC ACCWorkshop Sira-Ramirez

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

x1 = u1, x2 = u2, x3 = u1u2

Define the flat outputs as1

F = x1, L = x3 − u1x2

One readily obtains the following differential parametrization:

x1 = F , x2 = − L

F, x3 = L−

(

L

F

)

F

u1 = F , u2 = − LF − LF (3)

(F )2

1This output represents the integrable part of the nonintegrable constraintx3 − x1x2 = 0, portrayed by the last equation.

Page 22: ADRC ACCWorkshop Sira-Ramirez

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, clearlyindicating there is an obstruction to static feedback linearization.Dynamic feedback, through input extension, may be achieved bysetting the following (extended) input coordinate transformation:

v1 = u(3)1 = F (4), v2 = u2

One now gets the invertible extended inputs-to-flat-outputs relation

[

F (4)

L

]

=

[

1 0

0 −F

] [

v1v2

]

+

[

0LF (3)

F

]

Page 23: ADRC ACCWorkshop Sira-Ramirez

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 =

[

µx2Ks + x2

]

x1 − u1x1x3

x2 = −[

µx2Ks + x2

]

1

Ysx

+u1(u2 − x2)

x3x3 = u1

The system is flat, with flat outputs given by:

F = x1, R = x3

representing, respectively, the product yield and the reactor volume.

Page 24: ADRC ACCWorkshop Sira-Ramirez

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 Fand R,

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

[

FR + FR

µFR − (F R + FR)

]

u2 = Ks

F R + 2F R + FR[

µFR − (FR + FR)]

(

FR + FR) [

µ(

FR + FR)

−(

FR + 2F R + FR)]

[

µFR − (FR + FR)]2

R

R

+1

Ysx

(

F R + RF

FR

)

R

R+ Ks

[

F R + FR

µFR − (FR + FR)

]

Page 25: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Definition of MIMO Flat Systems and Examples

The extended model is simply given by,

x1 =

[

µx2Ks + x2

]

x1 − x4x1x3

x2 = −[

µx2Ks + x2

]

1

Ysx

+x4(v2 − x2)

x3x3 = x4

x4 = x5

x5 = v1

which now exhibits a well defined vector relative degree for R andF given by:

(3, 2)

Notice that the additional states x4, x5 are readily available asintegrals of the auxiliary control input v1.

Page 26: ADRC ACCWorkshop Sira-Ramirez

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 = R (3), x3 = R , x4 = R , x5 = R , x1 = F ,

x2 = Ks

[

F R + FR

µFR − (FR + FR)

]

v2 = Ks

FR + 2F R + FR[

µFR − (F R + FR)]

(

F R + FR) [

µ(

FR + FR)

−(

F R + 2F R + FR)]

[

µFR − (F R + FR)]2

R

R

+1

Ysx

(

F R + RF

FR

)

R

R+ Ks

[

FR + FR

µFR − (F R + FR)

]

Page 27: ADRC ACCWorkshop Sira-Ramirez

Active Disturbance Rejection and the Control of Differentially Flat Systems

Definition of MIMO Flat Systems and Examples

After tedious, but elementary, manipulations, one obtains thefollowing extended input-output dynamics:

R (3) = v1

F =

[

µFR − (FR + FR)]2

R

KsµFR3

v2 + φ(R , R, R ,F , F )

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

[

µFR − (FR + FR)]2

R

KsµFR3×

{

2F R + F R

µFR − (FR + FR)+

(FR + FR)(

µ(FR + FR)− 2F R − FR

)

[

µFR − (FR + FR)]2

RKs

R

R

Ysx

(

FR + FR

FRR

)

− Ks

(

FR + FR

µFR − (FR + FR)

)

}

Page 28: ADRC ACCWorkshop Sira-Ramirez

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 useof a combination of high gain extended Luenberger observersand linearizing output feedback controllers. The key idea is toretain input gain and order (gain matrix and Kroneckerindices) as design elements, relegating the lumped effect of alladditive uncertainties and disturbances to jointly act asunknown time signals disturbances that may be estimated.

The scheme is easily extendable to systems with known inputdelays, systems with fractional derivatives, discrete systems,etc.