Formal Synthesis of Control Strategies for
Dynamical Systems with Many States
Calin Belta
(with Alphan Ulusoy and Cristian Vasile)
Mechanical Engineering and Systems Engineering
Boston University
Alphan Ulusoy
Cristian Vasile
1
Motivating Example
Need to deploy vehicles with complex dynamics from rich specifications
Spec: Offline: “Keep taking photos and upload current photo before taking another photo. Unsafe
regions should always be avoided. Online (reactive): If fires are detected, then they should be
extinguished. If survivors are detected, then they should be provided medical assistance. If both fires
and survivors are detected locally, priority should be given to the survivors.”
Vehicle Control
Strategy
upl oad
unsaf e
z
y
upl oad
phot o
ext i ngui sh
x
assi st
Outline
Abstraction – based approach
Sampling – based approach
Outline
Abstraction – based approach
Sampling – based approach
Abstraction-Based Approach
1. Abstractions & synthesis for simple & low dimensional dynamics
2. Mapping complex dynamics to simple dynamics
“Avoid the grey region for all
times. Visit the blue region,
then the green region, and then
keep surveying the striped blue
and green regions, in this order.”
Abstraction-Based Approach
1. Abstractions & synthesis for simple & low dimensional dynamics
2. Mapping complex dynamics to simple dynamics
“(pi2 = TRUE and pi4 = FALSE and pi3 = FALSE)
should never happen. Then pi4 = TRUE and then pi1
= TRUE should happen. After that, (pi3 = TRUE and
pi4 = TRUE) and then (pi1 = TRUE and pi3 =
FALSE) should occur infinitely often.”
“Avoid the grey region for all
times. Visit the blue region,
then the green region, and then
keep surveying the striped blue
and green regions, in this order.”
Abstraction-Based Approach
1. Abstractions & synthesis for simple & low dimensional dynamics
2. Mapping complex dynamics to simple dynamics
“(pi2 = TRUE and pi4 = FALSE and pi3 = FALSE)
should never happen. Then pi4 = TRUE and then pi1
= TRUE should happen. After that, (pi3 = TRUE and
pi4 = TRUE) and then (pi1 = TRUE and pi3 =
FALSE) should occur infinitely often.”
“Avoid the grey region for all
times. Visit the blue region,
then the green region, and then
keep surveying the striped blue
and green regions, in this order.”
Abstraction-Based Approach
1. Abstractions & synthesis for simple & low dimensional dynamics
2. Mapping complex dynamics to simple dynamics
“(pi2 = TRUE and pi4 = FALSE and pi3 = FALSE)
should never happen. Then pi4 = TRUE and then pi1
= TRUE should happen. After that, (pi3 = TRUE and
pi4 = TRUE) and then (pi1 = TRUE and pi3 =
FALSE) should occur infinitely often.”
“Avoid the grey region for all
times. Visit the blue region,
then the green region, and then
keep surveying the striped blue
and green regions, in this order.”
Abstraction-Based Approach
1. Abstractions & synthesis for simple & low dimensional dynamics
2. Mapping complex dynamics to simple dynamics
In each region, we
construct feedback
controllers driving all
states in finite time
to a subset of facets
(including the empty
set – controller
making the region an
invariant)
L.C.G.J.M. Habets and J. van Schuppen, 2005
M. Kloetzer, L.C.G.J.M. Habets and C. Belta, 2006
C. Belta and L.C.G.J.M. Habets, 2006
Girard 2010
Works only for
“simple” (e.g., affine,
multi-affine,
polynomial) and lowdimensional dynamics
“(pi2 = TRUE and pi4 = FALSE and pi3 = FALSE)
should never happen. Then pi4 = TRUE and then pi1
= TRUE should happen. After that, (pi3 = TRUE and
pi4 = TRUE) and then (pi1 = TRUE and pi3 =
FALSE) should occur infinitely often.”
“Avoid the grey region for all
times. Visit the blue region,
then the green region, and then
keep surveying the striped blue
and green regions, in this order.”
Abstraction-Based Approach
1. Abstractions & synthesis for simple & low dimensional dynamics
2. Mapping complex dynamics to simple dynamics
“(pi2 = TRUE and pi4 = FALSE and pi3 = FALSE)
should never happen. Then pi4 = TRUE and then pi1
= TRUE should happen. After that, (pi3 = TRUE and
pi4 = TRUE) and then (pi1 = TRUE and pi3 =
FALSE) should occur infinitely often.”
“Avoid the grey region for all
times. Visit the blue region,
then the green region, and then
keep surveying the striped blue
and green regions, in this order.”
Abstraction-Based Approach
1. Abstractions & synthesis for simple & low dimensional dynamics
2. Mapping complex dynamics to simple dynamics
state
Feedback
automaton
control
Buchi / Rabin game
“(pi2 = TRUE and pi4 = FALSE and pi3 = FALSE)
should never happen. Then pi4 = TRUE and then pi1
= TRUE should happen. After that, (pi3 = TRUE and
pi4 = TRUE) and then (pi1 = TRUE and pi3 =
FALSE) should occur infinitely often.”
“Avoid the grey region for all
times. Visit the blue region,
then the green region, and then
keep surveying the striped blue
and green regions, in this order.”
Abstraction-Based Approach
1. Abstractions & synthesis for simple & low dimensional dynamics
2. Mapping complex dynamics to simple dynamics
state
Feedback
automaton
control
Buchi / Rabin game
Refinement
“(pi2 = TRUE and pi4 = FALSE and pi3 = FALSE)
should never happen. Then pi4 = TRUE and then pi1
= TRUE should happen. After that, (pi3 = TRUE and
pi4 = TRUE) and then (pi1 = TRUE and pi3 =
FALSE) should occur infinitely often.”
region
“Avoid the grey region for all
times. Visit the blue region,
then the green region, and then
keep surveying the striped blue
and green regions, in this order.”
Feedback
hybrid
automaton
Feedback
controller
Abstraction-Based Approach
1. Abstractions & synthesis for simple & low dimensional dynamics
2. Mapping complex dynamics to simple dynamics
Differential flatness, I/O linearization
x =u
x = REw
{M }
d
{F }
x
u U
1
w E R u
é
ê dx
ê d
ê x
ê q
ë
ù é
ú ê cosq
ú = ê sin q
ú ê
ú ë 0
û
ù
é 0 ù
ú
ê
ú
úw1 + ê 0 úw2
ú
ê 1 ú
ë
û
û
T
1 0
E
0
w1
w W
w2
Abstraction-Based Approach
1. Abstractions & synthesis for simple & low dimensional dynamics
2. Mapping complex dynamics to simple dynamics
“Always avoid black. Avoid red and green until blue or cyan are reached. If blue is
reached then eventually visit green. If cyan is reached then eventually visit red.”
Abstraction-Based Approach
1. Abstractions & synthesis for simple & low dimensional dynamics
2. Mapping complex dynamics to simple dynamics
Quadrotor I/O Linearization Mellinger and Kumar, 2011.
Hoffmann, Waslander, and Tomlin, 2008.
(1) OpenPilot
CopterControl board,
(2) Xbee Pro 900 radio
module, (3) Turnigy 6a
ESC's, (4) Caspa VL
camera with Gumstix
Overo Fire board, and
(5) 2580 Kv motors
Abstraction-Based Approach
Spec: “Keep taking photos and upload
current photo before taking another
photo. Unsafe regions should always be
avoided. If fires are detected, then they
should be extinguished. If survivors are
detected, then they should be provided
medical assistance. If both fires and
survivors are detected locally, priority
should be given to the survivors.”
Alphan Ulusoy
upl oad
unsaf e
z
y
upl oad
phot o
ext i ngui sh
x
assi st
Ulusoy, Marrazzo, Belta, RSS 2013, IJRR 2014
Outline
Abstraction – based approach
Sampling – based approach
Sampling-Based Approach
• Global mission specification: “visit regions r1, r2, r3
and r4 infinitely many times while avoiding regions
o1, o2, o3, o4 and o5”
• Local mission specification: “Extinguish fires and
provide medical assistance to survivors, with priority
given to survivors, while avoiding unsafe areas”
Fires and survivors are sensed locally. These
service requests have given service radii.
Sampling-based, formal framework which combines
l
l
infinite-time satisfaction of temporal logic global specifications
reactivity to locally sensed requests
Off-line part: generate a global transition system TG – satisfying run
w.r.t. G 1
On-line part: generate a local plan TL
l
l
2
local paths do not violate G
connect TL to TG s.t. overall trajectory satisfies G
1C. Vasile and C. Belta, Sampling-Based Temporal Logic Path Planning. IROS 2013
2C. Vasile and C. Belta, Reactive Sampling-Based Temporal Logic Path Planning. ICRA
2014
Cristian Vasile
Sampling-Based Approach
Off-line part
Generates TG that contains a path satisfying G
1.
2.
3.
LTL formula G is translated to the Büchi automaton B;
A transition system TG is incrementally constructed from the initial
configuration xo using an RRG1-based algorithm;
Concurrently with (2), the product automaton PG = TG B is updated
incrementally and used to check if there is a trajectory of TG that
satisfies G
1S.
Karaman and E. Frazzoli. Sampling-based Algorithms for
Optimal Motion Planning. International Journal of Robotics
Research, 30(7):846-894, June 2011.
Properties
l
l
l
l
Probabilistically complete
Sparse
Scales incrementally (i.e., with the number of added samples at an
iteration) - based on incremental Strongly Connected Component (SCC)
algorithm 2
Best possible asymptotic complexity (under a mild assumption) 2
2Bernhard
Haeupler, et al. Incremental cycle detection, topological ordering, and strong component maintenance. ACM Trans. Algorithms, 8(1):3:1-3:33, January 2012.
Off-Line Algorithm: Case Studies
Platform: Python2.7 on an iMac – 3.4 GHz Intel Core i7, 16GB of memory
Case study 1: 2D configuration space, 20 runs
l Visit 4 regions (r1, r2, r3, r4) infinitely often while avoiding 4 obstacles (o1,
o2, o3, o4)
l
LTL formula:
l
Büchi size: 20 states and 155 transitions
l
l
l
Average execution time: 6.954 sec
Mean TG size: 51 states and 277 transitions
Mean PG size: 643 states and 7414 transitions
Prefix – [0, 1, 4, 3]
Suffix – [7, 10, 16, 40, 50, 40, 32, 34, 35,
43, 47, 36, 37, 29, 11, 19, 11, 8, 5, 1, 4, 3]
Example global transition system
(51 states, 264 transitions)
Off-Line Algorithm: Case Studies
Platform: Python2.7 on an iMac – 3.4 GHz Intel Core i7, 16GB of
memory
Case study 2: 10-dimensional configuration space, 20 runs
l Visit 3 regions (r1, r2, r3) infinitely often while avoiding one
obstacle (o1)
l
l
l
l
l
LTL formula:
Büchi size: 9 states and 43 transitions
Average execution time: 16.75 sec
Mean TG size: 69 states and 1578 transitions
Mean PG size: 439 states and 21300 transitions
Off-Line Algorithm: Case Studies
Platform: Python2.7 on an iMac – 3.4 GHz Intel Core i7, 16GB of
memory
Case study 3: 20-dimensional configuration space, 20 runs
l Visit 2 regions (r1, r2) infinitely often
l
l
l
l
l
LTL formula:
Büchi size: 4 states and 12 transitions
Average execution time: 7.45 minutes
Mean TG size: 414 states and 75584 transitions
Mean PG size: 1145 states and 425544 transitions
On-Line Algorithm
Given TG and PG = TG B
1
On-line algorithm: generates a local plan whenever
1. a higher priority request was detected;
2. the chosen request disappeared;
3. the local path collides with a local obstacle.
RRT2 + Monitor for LTL3 + Potential function4 local transition
system TL
Main result: if the local planner is successful (finishes in finite
time) infinite trajectory satisfies G
1
C. Vasile and C. Belta, Sampling-Based Temporal Logic Path Planning. IROS 2013
S. M. LaValle and J. J. Ku ner. Randomized kinodynamic planning. In IEEE International Conference on Robotics and
Automation, pages 473-479, 1999.
2
Andreas Bauer, Martin Leucker, and Christian Schallhart. Runtime Veri cation for LTL and TLTL. Technical Report TUMI0724, Institut f ur Informatik, Technische Universit at M unchen, December 2007.
3
Xu Chu Ding, Mircea Lazar, and Calin Belta. Ltl receding horizon control for finite deterministic systems. Automatica,
50(2):399-408, 2014.
4
Overall Algorithm: Case Study
Platform: Python2.7 on Ubuntu 13.04 w/ 2GHz Intel Core2 Duo
processor and 2GB of memory
Case study: 2D configuration space
The initial configuration is x0 = (-9; -9)
Global mission specification: “visit regions r1, r2, r3 and r4 infinitely
many times while avoiding regions o1, o2, o3, o4 and o5”
LTL-X formula
Local mission specification: “Extinguish fires and provide medical
assistance to survivors, with priority given to survivors, while avoiding
unsafe areas”
Priority function: prio(survivor)=0 and prio(fire)=1
Overall Algorithm: Case Study
Case study: 2D configuration space, 100 surveillance cycles
planLocally() was executed 5947 times
Mean execution time for local planning: 0.743sec (std. 0.216, min.
0.436sec, max. 1.645sec)
Mean TL size: 7.6 (std. 13.15, max. 165)
Local paths serviced 292 on-line requests from a total of 296 detected
© Copyright 2026 Paperzz