Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control...
Transcript of Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control...
![Page 1: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/1.jpg)
Event-based Control:Theory and Application
JAN LUNZE
Ruhr-Universität Bochumemail: [email protected]
![Page 2: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/2.jpg)
Overview
1 Introduction to event-based control
2 Event-based state feedback
3 Analysis of the event-based control loop
4 Experimental evaluation
5 Event-based PI control
6 Conclusion and outlook
![Page 3: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/3.jpg)
Introduction to event-based control
![Page 4: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/4.jpg)
Event-based control
! " # $ % " & ' ( # ) * $ '+ , # , % - $ " %
! . ! /0 & - # $
! " # $ % " & & , %
1 2 , # $ '+ , # , % - $ " %
" . ! /
# . ! /
$ . ! /
! " 3 ' " . ! " /! " 3 ' ! . ! " /
! " 4 4 * # ( 5 - $ ( " # ' # , $ 6 " % 7
Aim: Reduction of the network traffic.
![Page 5: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/5.jpg)
Event-based control
Why is the theory of sampled-data control not applicable?
No zero-order hold input.
No periodic sampling! no discrete-time model available.
Sampling theorem possibly violated.
It is necessary to develop a new theory of event-based control.
![Page 6: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/6.jpg)
Literature survey• Deadband control(OTANEZ, MOYNE, TILBURY, American Control Conf., 2002)Do not send new data as long as ||x(t) " x(tk)|| < e
! " !! " 8 9
% . ! " /
% % . ! " 8 9 /
• Quantised state feedback• Self-triggered control(TABUADA, IEEE Trans. Autom. Control, 2007)Estimate the next event time: tk+1 = h(x(tk), tk)
![Page 7: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/7.jpg)
Literature survey• Deadband control• Quantised state feedback(GRÜNE, JUNGE, Syst. Control Lett., 2005)(DE PERSIS, IFAC World Congress, 2008)
! " !! " 8 :
%
! " 8 9
• Self-triggered control(TABUADA, IEEE Trans. Autom. Control, 2007)
![Page 8: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/8.jpg)
Literature survey• Deadband control• Quantised state feedback• Self-triggered control(TABUADA, IEEE Trans. Autom. Control, 2007)Estimate the next event time: tk+1 = h(x(tk), tk)
! " !! " 8 9
# # . % . ! " / /
, ; $ ( 4 - $ , < ' = , > - 2 ( " * %
% , ? * ( % , < ' = , > - 2 ( " * %
5 " # $ ( # * " * ; ' 5 " # $ % " &$ . % . ! " / 3 ! /
# . % . ! " / 3 ! /
![Page 9: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/9.jpg)
Literature survey
Evaluation of existing approaches:Many approaches result from an extension of sampled-datacontrol and do not answer the three basic questions
Many approaches do not consider any kind of disturbanceand model uncertainties.
Almost all approaches use a zero-order hold as controlinput generator.
![Page 10: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/10.jpg)
ExperimentWhat is a typical behaviour of an event-based control loop?
@ , + & , %
A , $ B 6 , % 7 , 4 * & - $ " %
@ , + , & ; $ % , 5 7 ,8
0 % " B , ; ; - # 7 " ) ) & * # +
![Page 11: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/11.jpg)
Experiment
Discrete-time control:
2
![Page 12: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/12.jpg)
Experiment
Event-based control:
-2
2
![Page 13: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/13.jpg)
Control aim„Ultimate boundedness“ („practical stability“):Hold the state x(t) inside a set !d:
x(t) # !d, $t % T(x0), x0 # !1, d(t) # [dmin, dmax]
d
1
Then the set !d is said to be robust positively invariant.
![Page 14: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/14.jpg)
Event-based state feedback
![Page 15: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/15.jpg)
Event-based state feedbackWhy do we need information feedback?
... to stabilise an unstable plant,
... to compensate model uncertainties,
... to attenuate disturbances.
! " # $ % " & ' ( # ) * $ '+ , # , % - $ " %
! . ! /0 & - # $
1 2 , # $ '+ , # , % - $ " %
% . ! /
# . ! /
! " 3 ' % % ! " /
![Page 16: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/16.jpg)
Event-based state feedbackPlant:
x(t) = Ax(t) + Bu(t) + Ed(t), x(0) = x0y(t) = Cx(t)
Assumptions:
Linear, asymptotically stable plant,
no model uncertainties,
synchronised clocks, no transmission delays,
no computational restrictions.
![Page 17: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/17.jpg)
Event-based state feedback
! " # $ %
% C D . ! /
# . ! /
& ' $ % ( ' " " ) (
! . ! /
! " # $ %
% C D . ! /
# . ! /
& ' $ % ( ' " " ) (
1 E% . ! /
0 & - # $
# . ! /
! . ! /! F E
Main idea: The event-based controller should mimic thebehaviour of a continuous state-feedback controller withadjustable precision.
||x(t) " xSF(t)||!& emax
![Page 18: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/18.jpg)
Control input generator
! " # $ %
% C D . ! /
# . ! /
& ' $ % ( ' " " ) (
! . ! /
! " # $ %
% C D . ! /
# . ! /
& ' $ % ( ' " " ) (
xSF(t) = (A" BK)! "# $
¯A
xSF(t) + Ed(t)
u(t) = "KxSF(t)
Behaviour of the continuous feedback loop after the statexSF(tk) at time tk is known:
u(t) = "Ke¯A(t " tk)xSF(tk)"
% t
tkKe
¯A(t " !)Ed(!) d!, t % tk
![Page 19: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/19.jpg)
Control input generator
u(t) = "Ke¯A(t " tk)xSF(tk)"
% t
tkKe
¯A(t " !)Ed(!) d!, t % tk
'
Control input generator mimics the continuous state feedback:
u(t) = "Ke¯A(t " tk)x(tk) "
% t
tkKe
¯A(t " !)Edk d!, t % tk
![Page 20: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/20.jpg)
Control input generatorThis input is generated by the following system:
xs(t) = Axs(t) + Edk, xs(t+k ) = x(tk), t % tku(t) = "Kxs(t)
! . ! /0 & - # $
1 2 , # $ '+ , # , % - $ " %
% . ! /
# . ! /
% % ! " /
! . ! / G ! & % ; . ! /
0 & - # $ ' 4 " < , &% % ! " /
![Page 21: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/21.jpg)
Event generator% . ! /
0 & - # $! " # $ % " & ' ( # ) * $ '+ , # , % - $ " %
! . ! /
# . ! /
% % ! " /
! . ! / G ! & % ; . ! /
% ; % ! /
H H % . ! / ' ! ' % ; . ! / H H ' G ' &I J
0 & - # $ ' 4 " < , &
Event generator initiates an information exchange whenever
|| x(tk) " xs(tk!)! "# $
x!(tk)
|| = e
![Page 22: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/22.jpg)
Disturbance estimator
!
'
' KL
! K ! 9 ! : ! M
' 9L
' :L
' ML
' NL
! N
For constant disturbancesd(t) = d, t # [tk!1, tk)
the state difference is
x(tk) " xs(tk) =
% tk
tk!1eA(t " !)E (d" dk!1) d!
= A!1&
eA(tk+1 " tk) " I'
E (d " dk!1).
![Page 23: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/23.jpg)
Disturbance estimator
The „mean“ magnitude d of the disturbance in the time intervalt # [tk!1, tk] is used as disturbance estimate dk in the timeinterval t % tk:
Disturbance estimator
d0 = 0
dk = dk!1 +&
A!1&
eA(tk " tk!1) " I'
E'+ (
x(tk) " xs(t!k ))
![Page 24: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/24.jpg)
Event-based control algorithm
% . ! /0 & - # $
! . ! /
# . ! /
% % ! " /
Summary of the event-based control algorithmCheck the difference ||x(t) " xs(t)|| until an event is detected.Then:
1 Send the information x(tk) from the event generator to thecontrol input generator.
2 Determine the disturbance estimate dk.3 Reinitialise the control input generator: xs(t+k ) = x(tk)
![Page 25: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/25.jpg)
Event-based control algorithm
Behaviour of the event-based control loop:
x ts( ), ( )x t
{e
t0 t1 t2t
![Page 26: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/26.jpg)
Summary
Three novelties of this methods with respect to literature:The control input generator is not a zero-order hold, butdetermines exponential inputs u(t).The event generator compares the behaviour of theevent-based control loop with some reference system(model of the continuous feedback loop).A disturbance estimate is used to adapt the event-basedloop to the unknown disturbance d(t).
![Page 27: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/27.jpg)
Analysis of the event-based control loop
![Page 28: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/28.jpg)
Analysis of the event-based control loopClosed-loop system between two consecutive eventst # [tk, tk+1):
*
x(t)xs(t)
+
=
*
A "BKO A
+ *
x(t)xs(t)
+
+
*
EO
+
d(t) +
*
OE
+
dk*
x(tk)xs(t+k )
+
=
*
x(tk)x(tk)
+
y(t) = (C O)
*
x(t)xs(t)
+
State transformation*
x!(t)xs(t)
+
=
*
I "IO I
+ *
x(t)xs(t)
+
![Page 29: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/29.jpg)
Analysis of the event-based control loop
Transformed state-space model*
x!(t)xs(t)
+
=
*
A OO A
+ *
x!(t)xs(t)
+
+
*
EO
+
(d(t) " dk)! "# $
d!(t)
+
*
OE
+
dk
*
x!(tk)xs(t+k )
+
=
*
0x(tk)
+
![Page 30: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/30.jpg)
Analysis of the event-based control loop
C $ - $ , O P , , < = - 5 7 '& " " ) % ; . ! /
0 & - # $ % " . ! /# . ! /
# "
(
L
# " . ! /
d!(t) = d(t) " dk affects the (uncontrolled) plant.For a good approximation
d(t) " dk ( 0, for t % tk
no communication is necessary.
![Page 31: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/31.jpg)
Analysis of the event-based control loopEvent-based control loop for small disturbance dd(t)There is no event for t > 0 if
||x(t) " xs(t)|| = ||
% t
0eA(t " !)E (dd(!) " d0) d! || < e.
Reformulation of the event condition:
maxt"0
||
% t
0eA(t " !)E (dd(!) " d0) d! ||
& maxt"0
% t
0||eA(t " !)E|| d! ·max
t"0||dd(t)||
&
% #
0||eA!E|| d! · |d|.
![Page 32: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/32.jpg)
Analysis of the event-based control loop
Theorem (Insensitivity to small disturbances)
d(t) = dd(t)||d(t)|| & 1
For sufficiently small disturbance magnitude |d| the eventgenerator does not generate any event for t > 0.
|d| <e
, #
0 ||eA!E|| d!
![Page 33: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/33.jpg)
Analysis of the event-based control loopCommunication frequency described by
Tmin = mink
(tk+1 " tk)
Assumption:
||d!(t)|| & d!max for t % 0
Theorem (Bounded sampling rate)Minimum time between two communication events: Tmin % Twith
% T
0||eA!E|| d! =
ed!max
![Page 34: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/34.jpg)
Analysis of the event-based control loopEvent-based control vs. continuous state-feedback controlFor e(t) = x(t) " xSF(t) we get
e(t) = x(t) " xSF(t)= Ax(t) " BKxs(t) + Ed(t) " AxSF(t) " Ed(t)= (A" BK)e(t) + BK (x(t) " xs(t))
! "# $
x!(t)
.
ande(t) = Ae(t) + BKx!(t), e(0) = 0
||e(t)|| & e% #
0||e A!BK|| d!
![Page 35: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/35.jpg)
Analysis of the event-based control loop
Theorem (Bounded approximation error)
||x(t) " xSF(t)|| & emaxwith
emax = e ·% #
0||e A!BK|| d!
The event-based control loop mimics the continuous loop withadjustable accuracy emax.
x(t) # !s(xSF(t)) = {x | ||x" xSF(t)|| & emax}
![Page 36: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/36.jpg)
Analysis of the event-based control loop
0 20 40 60 80 100-2
-1
0
1
2
t
xk() x ks( )
x k( )
x kSF( )
![Page 37: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/37.jpg)
Analysis of the event-based control loop
Summary:The event-based control loop mimics the continuousstate-feedback loop with adjustable precision
Increase the precision emax by decreasing the event threshold eConsequence: Increase of communication frequency 1
Tmin
![Page 38: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/38.jpg)
Experimental evaluation
![Page 39: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/39.jpg)
Experimental evaluation
T1 T2 T3 T4
TS
TW
TB
TM
![Page 40: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/40.jpg)
Experimental evaluationThermofluid process
T3 T2
u1 d
HWV1 V2
TBLT
u2
![Page 41: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/41.jpg)
Experimental evaluation
Design steps:
1 Design a state-feedback controller K with gooddisturbance attenuation properties.
2 Implement the event-based controller (control inputgenerator, event generator, disturbance estimator)
3 Choose the event threshold e and evaluate the performanceof the event-based control loop.
![Page 42: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/42.jpg)
Experimental evaluationSimulation results
t0=0 t0
,
,
,
4
![Page 43: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/43.jpg)
Experimental evaluationSimulation results
emax = e ·, #0 ||e A!BK|| d! = 2.26
dmax = e,"
0 ||eA!E|| d!= 0.0114
![Page 44: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/44.jpg)
Experimental evaluationExperimental results
![Page 45: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/45.jpg)
Experimental evaluation
Evaluation:
Considerable reduction of the communication.
Robustness against model uncertainties.
Necessary extensions:... for set-point tracking... for quantitative robustness evaluation... for nonlinear plants.
![Page 46: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/46.jpg)
Event-based PI control
![Page 47: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/47.jpg)
Event-based PI control
Constant external signals:
d(t) = d, w(t) = w
Set-point tracking:
limt$#
||y(t) " w|| = 0.
![Page 48: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/48.jpg)
Event-based PI controlPlant:
x(t) = Ax(t) + Bu(t) + Ed(t), x(0) = x0y(t) = Cx(t)
Continuous PI controller:
xr(t) = y(t) " w(t), xr(0) = xr0u(t) = "KIxr(t) " KPx(t)
Known result: If the closed-loop system is asymptoticallystable, set-point tracking occurs.
![Page 49: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/49.jpg)
Event-based PI controlPI-control input generator:
Model
-K=- K K( )P I
u( )t
dk
xs( )t
w( )t
u( )tx( )t
k
dk
Disturbance
estimator
xs( )t
ys( )t
xsr( )t
![Page 50: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/50.jpg)
Event-based PI control
*
xs(t)xsr(t)
+
=
*
A" BKP "BKIC O
+ *
xs(t)xsr(t)
+
! "# $
xsI(t)
+
*
O"I
+
w(t) +
*
EO
+
dk
xs(t+k ) = x(tk)u(t) = "(KP KI)xsI(t)
Only the state xs(t) is updated at event time tk.
Event generator and disturbance estimator remain the same.
![Page 51: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/51.jpg)
Set-point tracking propertiesFor large disturbance d, an event is generated at time t1 and thedisturbance is estimated correctly:
d1 = d.
Hence, set-point tracking occurs: limt$# ||y(t) " w|| = 0.
For small disturbance d, no event occurs:
||x!(t)|| = ||A!1&
eAt " I'
Ed|| < e, t % 0.
Hence, the output remains in the set
limt$#
y(t) # {||y" w|| & ||C||e}
![Page 52: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/52.jpg)
Set-point tracking properties
2000
0
0.1
0.2
-10123
0
-1
1
t0=0 t1 t01000 4000even
tsx
2in
Kx
1in
cm
dd
,k^
t0t1 t1t2 t2t3 t3t4 t4 t5 t6
t in s
dk
^d
_d
_
d
_
x
x
x
x
x
x
xs
xsxs
xs
xs
xs
dk
^
![Page 53: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/53.jpg)
Further extensions
(Lehmann, PhD Thesis 2011):
Event-based output feedback using a state observer
Robustness against communication delay and packet loss
Data-rate constraints! communication of quantisedinformation
Discrete-time implementation
![Page 54: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/54.jpg)
Conclusion and outlook
![Page 55: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/55.jpg)
Conclusions and outlook
% . ! /0 & - # $
! . ! /
# . ! /
% % ! " /
Main idea: Mimic the continuous feedback system by theevent-based control loop with adjustable precision
![Page 56: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/56.jpg)
Conclusions and outlook
% . ! /0 & - # $
! . ! /
# . ! /
% % ! " /
In which situation should information be transmitted?... if ||x(t) " xs(t)|| = e
Which information should be transmitted?x(tk)
How should the control input be generated?... use the model of the continuous loop
![Page 57: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/57.jpg)
Conclusions and outlookInteresting open problems:
What happens if the network introduces time delay andpackage loss?
How should event-based control be implemented withoutsynchronous clocks?
How can event-based control be extended to multiloopsystems?
Further extensions to unstable plants, nonlinear systems, outputfeedback etc.
![Page 58: Event-based Control: Theory and Applicationcontrol.ing.unitn.it/4hycon2/slides/Lunze.pdf · control and do not answer the three basic questions ... The control input generator is](https://reader034.fdocuments.in/reader034/viewer/2022051802/5afdcde47f8b9a256b8c2b30/html5/thumbnails/58.jpg)
Conclusions and outlookTo read:
J. Lunze, D. Lehmann: A state-feedback approach toevent-based control, Automatica (2010)D. Lehmann, J. Lunze: Extension and experimentalevaluation of an event-based state-feedback approach,Control Engineering Practice 19 (2011)J. Lunze: Event-based control: A tutorial introduction,SICE Journal 11 (2010).L. Grüne, F. Müller, S. Jerg, O. Junge, M. Post, D.Lehmann, J. Lunze: Two complementary approaches toevent-based control, Automatisierungstechnik 58 (2010).D. Lehmann: Event-Based State-Feedback Control, PhDThesis, Ruhr-Universität Bochum, 2011.