adrc accworkshop sira-ramirez
TRANSCRIPT
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
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
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.
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).
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
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.
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
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
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
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
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
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
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
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.
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
)]
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
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.
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 +
(
4ζ
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)
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
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.
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.
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
]
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.
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)
]
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.
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)
]
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)
)
}
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.