Networked Control Systems
João Hespanha
Research Supported by NSF & ARO
Networked Control Systems
Network (wireline/wireless)
sensor sensor sensor sensor actuator actuator controller controller controller
Networked Control Systems Joo Hespanha Networked Control Systems - - PDF document
Research Supported by NSF & ARO Networked Control Systems Joo Hespanha Networked Control Systems controller sensor actuator sensor controller Network (wireline/wireless) actuator sensor controller sensor Application Areas
sensor sensor sensor sensor actuator actuator controller controller controller
Buildings consume 72% of electricity, 40% of all energy, and produce close to 50% of U.S. carbon emissions Efficiency and safety in cars depend on a network of hundreds of ECUs (power train, ABS, stability control, speed control, transmission, …) Robotic agents free humans from unpleasant, dangerous, and/or repetitive tasks in which human performance would degrade over time due to fatigue Process control or power plant facilities
several thousand of coupled control loops
Active suspension model constant sampling = 2 ms Simulated with TrueTime
Ben Gaid, Cela,Kocik priorities 1 priorities 2 1 2 3 4 5 6 7 1 2 3 4 5 6 7 7 1 2 3 4 5 6 node network access priorities
time
Plant S H Controller y(t) yk Hold (D/A) Sampler (A/D)
………
time
uk
………
u(t)
s1 s2 s4 s3
………
h h h
s1 s2 s4 s3 s1 s2 s4 s3 s1 s2 s4 s3 h h h h h h h h h
time
……… ………
Plant S H Controller
s1 s2 s3
………
τ1 τ2 Network
Network
packet drops variable delays
s1 s2 s4 s3 s1 s4 s3 s1 s4 s3
Main references: Davis, “Markov Models and Optimization” Chapman & Hall,1993 Cassandras, Lygeros, “SHSs” CRC Press 2007 Hespanha, “A Model for SHSs with Application ...” Nonlinear Analysis 2005.
guard conditions reset-maps continuous dynamics
transition guard or jump condition state reset for any c < 1,there are infinitely many transitions in finite time (Zeno phenomena)
2
guard conditions reset-maps continuous dynamics
right-continuous by convention
transmits data packets receives data packets
congestion window (internal state of controller) round-trip-time (from server to client and back)
(congestion-avoidance)
packets dropped due to congestion
congestion window (internal state of controller) round-trip-time (from server to client and back)
(congestion-avoidance)
s( t ) ´ queue size queue (temporary data storage)
s( t ) ´ queue size queue (temporary data storage)
guard conditions reset-maps continuous dynamics
right-continuous by convention
reset-maps continuous dynamics transition intensities (probability of transition in small interval (t, t+dt])
≣ instantaneous rate of transitions per unit of time
reset-maps continuous dynamics
q = 1 q = 2 q = 3 specifies q (independently of x) transition intensities (probability of transition in small interval (t, t+dt])
transmits data packets receives data packets
congestion window (internal state of controller) round-trip-time (from server to client and back)
(congestion-avoidance)
packets dropped with probability pdrop (before queue overflow)
congestion window (internal state of controller) round-trip-time (from server to client and back)
(congestion-avoidance)
packets dropped with probability pdrop (before queue overflow)
per-packet drop prob. pckts sent per sec £ pckts dropped per sec =
congestion window (internal state of controller) round-trip-time (from server to client and back)
(congestion-avoidance)
reset-maps continuous dynamics transition intensities (probability of transition in interval (t, t+dt])
tk
here we take x0 as a given parameter
tk
here we take x0 as a given parameter
≣ instantaneous rate of transitions per unit of time ?
conditional probability exponential distribution
tk
tk
tk
tk
tk λ < E ≤
tk
tk λ < E
R t
tk λ − e−
R t+dt
tk
λ
R t
tk λ
R t+dt
t
λ dt→0
tk
tk
here we take x0 as a given parameter
reset-maps continuous dynamics transition intensities (probability of transition in interval (t, t+dt])
tk
˙ x = f(x) x(tk) = xk ˙ m1 = λ1(x) m1(tk) = 0 ˙ m2 = λ2(x) m2(tk) = 0 . . . . . . t ≥ tk
˙ x = f(x) x(tk) = xk ˙ m1 = λ1(x) m1(tk) = 0 ˙ m2 = λ2(x) m2(tk) = 0 . . . . . . t ≥ tk
˙ x = f(x) x(tk) = xk ˙ m1 = λ1(x) m1(tk) = 0 ˙ m2 = λ2(x) m2(tk) = 0 . . . . . . t ≥ tk
jumping makes jumping more likely ⇒ bounded tk (stochastic Zeno) E[x] can become arbitrarily large in a finite interval (probability of multiple jumps in short interval not sufficiently small)
reset-maps continuous dynamics transition intensities (probability of transition in interval (t, t+dt])
1
barrier function g(x)
Zeno-time
5 10 15
0.2 0.4 0.6 0.8 1 1.2 5 10 15
0.2 0.4 0.6 0.8 1 1.2 5 10 15
0.2 0.4 0.6 0.8 1 1.2
mean (blue) 95% confidence intervals (red and green)
Gaussian white noise
white noise disturbance
x(t1) x(t2)
process
state-estimator for simplicity:
white noise disturbance
x(t1) x(t2)
process
state-estimator
for simplicity:
white noise disturbance
x(t1) x(t2)
process state-estimator
reset error to zero
for simplicity:
reset-maps continuous dynamics transition times tk+1 – tk i.i.d. with given distribution
renewal process (iid inter-increment times)
sampling times hold
sampling times
sampling times
sampling times
hazard rate
dt!0
hazard rate
dt!0
t1 t2 t3
time since last reset
hazard rate
the aggregate state (x,τ) is a Markov process
dt!0
t1 t2 t3
sampling times
t1 t2 t3
sampling times
Main references: Davis, “Markov Models and Optimization” Chapman & Hall,1993 Kushner, “Stochastic Stability and Control” Academic Press,1967 Antunes et al., ACC’09, CDC’09, ACC’10, CDC’10
derivative along solution to ODE Lf V Lie derivative of V
remains bounded along trajectories !
dt→0
continuous evolution jump
∂V
∂x
∂x
∂x
∂x
∂x
∂x
∂x
∂x
dt→0
(extended) generator of the SIS
Lie derivative Reset term (absent for deterministic ODEs) Dynkin’s formula (in differential form)
instantaneous variation intensity
x is discontinuous, but the expected value is differentiable
(extended) generator of the SHS
Lie derivative Reset term Dynkin’s formula (in differential form) Diffusion term
instantaneous variation intensity
x & q are discontinuous, but the expected value is differentiable
m
=1
white noise disturbance
x(t1) x(t2)
process state-estimator
reset error to zero
zero at zero & monotone increasing
1
∂V (x) ∂x f(x) ≤ 0
Doob’s (Martingale) inequality
zero at zero & monotone increasing
Lyapunov stability in probability
almost sure (a.s.) asymptotic stability zero at zero & monotone increasing
zero at zero & monotone increasing
almost sure (a.s.) asymptotic stability
stochastic stability (mean square if
exponential stability (mean square if
white noise disturbance
x(t1) x(t2)
process state-estimator
reset error to zero
Dynkin’s formula error dynamics in remote estimation
(LV )(e) :=∂V ∂e Ae + λ(e) ⇣ V (0) − V (e) ⌘ + 1 2 trace ⇣ B0 ∂2V ∂e2 B ⌘
Dynkin’s formula error dynamics in remote estimation
(LV )(e) :=∂V ∂e Ae + λ(e) ⇣ V (0) − V (e) ⌘ + 1 2 trace ⇣ B0 ∂2V ∂e2 B ⌘
0Pe0 + trace B0PB
Dynkin’s formula error dynamics in remote estimation
(LV )(e) :=∂V ∂e Ae + λ(e) ⇣ V (0) − V (e) ⌘ + 1 2 trace ⇣ B0 ∂2V ∂e2 B ⌘
Dynkin’s formula error dynamics in remote estimation
(LV )(e) :=∂V ∂e Ae + λ(e) ⇣ V (0) − V (e) ⌘ + 1 2 trace ⇣ B0 ∂2V ∂e2 B ⌘
0Pe0 + c
Mean-square exp. stability, regardless of how unstable A is (true for every moment)
getting more moments bounded requires higher comm. rates Moreover, one can achieve the same E[ ||e||2 ] with less communication than with a constant rate or periodic transmissions… Dynkin’s formula error dynamics in remote estimation
(LV )(e) :=∂V ∂e Ae + λ(e) ⇣ V (0) − V (e) ⌘ + 1 2 trace ⇣ B0 ∂2V ∂e2 B ⌘
state at jump times reset continuous evolution
state at jump times reset continuous evolution
k+1Pxk+1 | xk] = E
keA0(tk+1tk)J0PJeA(tk+1tk)xk | xk
k E
state at jump times reset continuous evolution
k+1Pxk+1 | xk] = E
keA0(tk+1tk)PeA(tk+1tk)xk | xk
k E
k+1Pxk+1] ≤ γ E[x0 kPxk]
state at jump times reset continuous evolution
k+1Pxk+1 | xk] = E
keA0(tk+1tk)PeA(tk+1tk)xk | xk
k E
k→∞ kxkk = 0
k+1Pxk+1] ≤ γ E[x0 kPxk]
expected value w.r.t. inter-jump times LMI on Pn£ n spectral radius condition
Kronecker product
mean-square asymptotic stability
s→∞ eA0seAs
t→∞ E[kx(t)k2] = 0
mean-square exponential stability
s→∞ eA0seAs
t→∞ E[kx(t)k2]
mean-square stochastic stability
mean-square asymptotic stability
s→∞ eA0seAs
t→∞ E[kx(t)k2] = 0
mean-square exponential stability
s→∞ eA0seAs
t→∞ E[kx(t)k2]
mean-square stochastic stability
k→∞ kxkk = 0
t1 t2 t3
sampling times Previous results (extended to SHSs) provide nec. & suff. stability conditions when process and controller are linear
Lyapunov-like function quadratic on x for fixed τ
Lyapunov-like function quadratic on x for fixed τ
application transport network data link physical application transport network data link physical process controller delay
Active suspension model constant sampling = 2 ms Simulated with TrueTime
Ben Gaid, Cela,Kocik priorities 1 priorities 2 1 2 3 4 5 6 7 1 2 3 4 5 6 7 7 1 2 3 4 5 6 node network access priorities
time
Plant S H Controller y(t) yk Hold (D/A) Sampler (A/D)
………
time
uk
………
u(t)
s1 s2 s4 s3
………
h h h
s1 s2 s4 s3 s1 s2 s4 s3 s1 s2 s4 s3 h h h h h h h h h
time
……… ………
Plant S H Controller
s1 s2 s3
………
τ1 τ2 Network
Network
packet drops variable delays
s1 s2 s4 s3 s1 s4 s3 s1 s4 s3
Cloosterman and van de Wouw (Eindhoven University)
inertia of motor inertia of roller pair radius of roller n: trans. ratio between motor and roller xs: sheet position u: motor torque
variable delay delay τk
k-th sampling time
k-th update time
variable delay delay τk sk
(a) (b) (c)
state x truncated to the last r time units state x truncated to the last r time units
stable
delay τk sk
Network plant1 controller1
s1 s2
plant2 controller2
s3 a2
….
stable connection 1 connection 4 connection 3 connection 2 stable stable stable
stable
kth sampling time of channel i ´ kth update time of channel i ´
blocking delay transmission + propagation delay
delay =
a1
Network plant1 controller1
s1 s2
plant2 controller2
s3 a2
….
stable connection 1 connection 4 connection 3 connection 2 stable stable stable
stable
kth sampling time of channel i ´ kth update time of channel i ´
blocking delay transmission + propagation delay
delay =
a1
stable
can be implemented, e.g., using CAN priorities do not sample too fast fastest sample does not exceed capacity
inertia of motor inertia of roller pair radius of roller n: trans. ratio between motor and roller xs: sheet position u: motor torque
Controller gain
delay τk sk
max intersampling time (ρmax) max delay (τmax)
application transport network data link physical application transport network data link physical process controller delay
disc.-time process dead-beat controller
white noise disturbance drops packets (iid) with probability p
Intuition: ignoring the disturbance d
disc.-time process dead-beat controller
white noise disturbance drops packets (iid) with probability p
disc.-time process dead-beat controller
white noise disturbance drops packets (iid) with probability p
any drop probability can be accommodated by choosing N sufficiently large
disc.-time process dead-beat controller
white noise disturbance drops packets (iid) with probability p
similar bound as if always sending two packets
[ACC’09] this result assumes no drops in nacks
disc.-time process dead-beat controller
white noise disturbance drops packets (iid) with probability p
stabilizes any system arbitrarily small increase in the transmission rate
all but one channel are rarely utilized this result assumes no drops in nacks
disc.-time process dead-beat controller
white noise disturbance drops packets (iid) with probability p
stabilizes any system arbitrarily small increase in the transmission rate
this result assumes no drops in nacks
(transmission rate) achievable
all but one channel are rarely utilized
n-dim. process
white noise disturbance drops packets (iid) with probability p
(generalizable to
state estimation error (performance) transmission rate (communication)
n-dim. process
white noise disturbance drops packets (iid) with probability p
(generalizable to
transmitter must construct a state estimate to determine optimal v(k) computationally difficult for large n
n-dim. process
white noise disturbance drops packets (iid) with probability p
(generalizable to
state estimation error (performance) transmission rate (communication)
n-dim. process
white noise disturbance drops packets (iid) with probability p
(generalizable to
transmitter only needs to keep track of (k) ´ # of consecutive drops (from nacks) computationally much easier (optimization on countable-state MDP with size independent of n)
application transport network data link physical application transport network data link physical process controller delay
Communication nodes Process
Estimator
Sensing node
Process Sensor Estimator
Minimum Mean Squared Error Estimator
Process Sensor Network Estimator
For a series combination of n links each with drop probability p, the ‘equivalent’ drop probability is For n = 5, p = 5%, the ‘equivalent’ drop probability is 23%.
Process Sensor Network Estimator
Ample processing and memory capabilities
Node i Receiver Sensor Every node keeps
the one in memory.
Choose the estimate that uses latest measurement Update and transmit it along
Optimal for arbitrary network (may even have cycles). No assumption needed about the packet dropping process.
(mean-square stability)
For a series combination of n links each with same drop probability p, the condition is (process) But if transmitting measurements it would be
(independent drops assumed for simplicity)
Arbitrary Network
Cut-set probability =
(mean-square stability)
noise cov. process matrix network ideal cov.
Process Sensor Network Estimator
Choose the estimate that uses latest measurement Time update and transmit along outgoing edges Condition for Stability of Error Covariance
Use (limited) memory and processing power at the intermediate nodes to obtain better performance.
application transport network data link physical application transport network data link physical process controller delay