A Formal Approach To Deployment of Robotic Teams in An Urban-Like Environment
A Formal Approach To Deployment of Robotic Teams in An Urban-Like Environment
A Formal Approach To Deployment of Robotic Teams in An Urban-Like Environment
1 Introduction
The goal in robot motion planning and control is to be able to specify a motion task
in a rich, high level language and have the robot(s) automatically convert this speci-
fication into a set of low level primitives, such as feedback controllers and commu-
nication protocols, to accomplish the task [12, 5, 13]. In most of the existing works,
the motion planning problem is simply specified as “go from A to B while avoiding
obstacles” [12]. However, there are situations in which this is not enough to capture
the nature of the task. Consider, for example, the miniature Robotic Urban-Like En-
vironment (RULE) shown in Fig. 1, where a robot might be required to “Visit Road
R1 or Road R2 without crossing Intersection I3 , and then park in an available park-
ing space,” while at same time obeying the traffic rules. Such a “rich” specification
cannot be trivially converted to a sequence of “go from A to B” primitives.
1
2 Yushan Chen, Xu Chu Ding, Alin Stefanescu, and Calin Belta
When several robots are available, the problem becomes even more interesting
and challenging. Assume that several service requests occur at different locations
in the city, and they need to be serviced subject to some temporal and logical con-
straints. Some of these requests can be serviced by one (possibly specific) robot,
while others require the collaboration of two or more (possibly specific) robots.
For example, assume that the task is to assemble a piece of machinery in location
P1 or P2 from two components that can be found at P3 and P4 . The assembly re-
quires the cooperation of two robots, and the collection of the components needs to
be performed in parallel. Can we generate provably-correct individual control and
communication strategies from such rich, global specifications? This is the problem
that we address in this paper.
It has been advocated as far back as [1] and more recently in [14, 7, 22] that
temporal logics, such as Linear Temporal Logic (LTL) and Computation Tree Logic
(CTL) [6], can be used as “rich” specification languages in mobile robotics. All of
the above works suggest that the corresponding formal verification (model check-
ing) algorithms can be adapted for motion planning and controller synthesis from
such specifications. Some related works show that such techniques can be extended
to multi-agent systems through the use of parallel composition [17, 11] or reactive
games [8]. However, such bottom-up approaches are expensive and can lead to state-
space explosion even for relatively simple problems. As a result, one of the main
challenges in the area of motion planning and control of distributed teams based on
formal verification is to create provably-correct, top-down approaches in which a
global, “rich” specification can be decomposed into local (individual) specifications,
which can then be used to automatically synthesize robot control and communica-
tion strategies. In such a framework, the construction of the parallel composition
of the individual motions is not necessary, and therefore the state-space explosion
problem is avoided.
In this paper, we draw inspiration from the area of distributed formal synthesis
[16] to develop such a top-down approach. We consider a team of robots that can
move among the regions of a partitioned environment, and which have known ca-
pabilities of servicing a set of requests that can occur in the regions of the partition.
Some of these requests can be serviced by a robot individually, while some require
the cooperation of groups of robots. We present an algorithm that allows for the
fully automatic synthesis of robot control and communication strategies from a task
specification given as a regular expression over the set of requests. For simplicity
of presentation, we model the environment as a graph and the robots as agents that
can move between adjacent vertices and can communicate only when at particu-
lar vertices. This framework is quite general and can be used in conjunction with
cell decomposition motion planning techniques [5]. In particular, by using feedback
controllers for facet reachability polytopes [9, 2], this scenario can be extended to
robots with continuous dynamics moving in environments with polytopic partitions.
The contribution of this work is threefold. First, we develop a top-down compu-
tational framework for automatic deployment of mobile agents from global speci-
fications given as regular expressions over environmental requests. This is a signif-
icant extension of our recent work [3] by enlarging the class of specifications for
which a solution exists. Second, we provide a relaxation to the standard problem of
distributed synthesis modulo synchronous products and language equivalence [16].
Specifically, we show how a satisfying distributed execution can be found when the
global specification is only a traced-closed language, rather than a product language.
This extends our previous work [20], in which we provided two heuristics for the
case of asynchronous automata. Third, we implement and illustrate the computa-
tional framework in our Khepera-based Robotic Urban-Like Environment (Fig. 1).
In this experimental setup, the robots can be automatically deployed from specifica-
tions given as regular expressions over requests occurring at regions in the city.
2 Preliminaries
Throughout this paper, we assume that the reader is familiar with automata theory
[10, 23]. In this section, we merely review some concepts and introduce the notation.
For a set Σ , we use |Σ | and 2Σ to denote its cardinality and power set, respec-
tively.
S
A collection of subsets ∆ = {Σi ⊆ Σ , i ∈ I} is called a distribution over Σ if
i∈I Σ i = Σ , where I is an index set. A word is a sequence of symbols from Σ . We
denote Σ ∗ as the set of all finite words over Σ . A language is a set of words.
Definition 1. A finite state automaton (FSA) is a tuple A = (Q, q0 , Σ , →A , F), where
Q is the set of states, q0 ∈ Q is the initial state, Σ is the set (alphabet) of actions,
→A ∈ Q × Σ × Q is the transition relation, and F ⊆ Q is the set of accepting states.
σ
We also write q −→A q0 to denote (q, σ , q0 ) ∈→A .
We denote L (A) as the language accepted by an FSA A. The language of an
FSA is called a regular language, which can be concisely represented by a regular
expression (RE). Given an RE, an FSA accepting all and only the words satisfying
the RE can be constructed by using an off-the-shelf tool, such as JFLAP [18].
Definition 2. The synchronous product (SP) of n FSAs Ai = (Qi , q0i , Σi , →Ai , Fi ),
denoted by kni=1 Ai , is an FSA A = (Q, q0 , Σ , →A , F), where Q = Q1 × Q2 × . . . ×
Qn , q0 = (q01 , q02 , . . . , q0n ), Σ = ∪ni=1 Σi , and F = F1 × F2 × . . . × Fn . The transition
σ σ
relation →A ⊆ Q × Σ × Q is defined by q − →A q0 iff ∀ i ∈ Iσ : q[i] −
→Ai q0 [i] and ∀ i ∈
/
Iσ : q[i] = q0 [i], where q[i] denotes the ith component of q and Iσ = {i ∈ {1, . . . , n} |
σ ∈ Σi }.
4 Yushan Chen, Xu Chu Ding, Alin Stefanescu, and Calin Belta
Let
E = (V, →E ) (1)
be an environment graph, where V is the set of vertices and →E ⊆ V ×V is a relation
modeling the set of edges. For example, E can be the quotient graph of a partitioned
environment, where V is a set of labels for the regions in the partition, and →E is
the corresponding adjacency relation. In particular, V can be a set of labels for the
roads, intersections, and parking spaces in an urban-like environment and →E can
show how these are connected (see Fig. 2). Assume we have a team of mobile robots
Ai , i ∈ I, whose motions are restricted by E , where I is a set of robot labels.
Let Σ be a set of service requests, or actions to be performed at the vertices of
E . The locations of the service requests are defined as a function a : Σ → V (i.e.,
different requests can occur at the same vertex but vertices do not share requests).
There may be no request at some vertices of E .
We model the capacity of the robots to service requests and cooperation among
robots as a distribution ∆ over Σ (i.e. ∪i∈I Σi = Σ ). Σi is the set of requests that can be
serviced by the robot Ai . For a given request σ ∈ Σ , we define Iσ = {i ∈ I | σ ∈ Σi },
i.e., Iσ is the set of labels of all the agents that can service request σ . The semantics
A Formal Approach to Deployment of Robotic Teams in an Urban-Like Environment 5
individual agents (we do not assume that we know the time it takes for each agent
to service requests). For a given set of MS plans msi , i ∈ I, we denote
Lteam
MS ({msi , i ∈ I}) :=ki∈I {si }, where si = msi Σi , (3)
(see Def. (3)) as the set of all possible sequences of requests serviced by the team
of robots Ai , i ∈ I while they follow their individual MS plans msi . For simplicity of
notations, we usually denote Lteam team
MS ({msi , i ∈ I}) as LMS when there is no ambiguity.
We say that the motion of the team with MS plans {msi , i ∈ I} satisfies a specification
given as an RE φ over Σ if Lteam MS 6= 0/ and all words in Lteam team
MS satisfy φ (i.e. LMS ⊆
L (A), where A is an FSA accepting only the words satisfying φ ).
Remark 1. For a set of MS plans, the corresponding Lteam MS could be an empty set by
the definition of product of languages (since there may not exist a word w ∈ Σ ∗ such
that w Σi = si , ∀i ∈ I). In practice, this case corresponds to a scenario where one (or
more) agent waits indefinitely for other agents to service a request σ that is shared
among these agents. For example, if σ does not appear in the service plan of one of
the agent who owns σ but it appears in the service plans of some other agents, then
all those agents will be stuck in a “deadlock” state and wait indefinitely. When such
a deadlock scenario occurs, the motion of the team does not satisfy the specification.
In the case that Prob. 1 has a solution, for each MS plan msi , a robot generates
a control and communication strategy, which is a finite sequence of control primi-
tives, interrupts, and communication protocols. To guarantee the uniqueness of this
strategy, we assume that each robot is equipped with a set of motion primitives (feed-
back controllers), such that the selection of a motion primitive at a vertex uniquely
determines the next vertex, given that the robot is properly initialized and the his-
tory of visited vertices is known. In other words, we assume that Ai can follow any
trajectory of Ti (see Sec. 5).
Our approach to solve Problem 1 can be summarized as follows. We first gener-
ate an “implementable” FSA for each robot, which captures all the possible service
plans that can be implemented by the robot (Sec. 4.1). Then, if the language satisfy-
ing the global specification φ is trace-closed, we generate a solution to the problem.
A Formal Approach to Deployment of Robotic Teams in an Urban-Like Environment 7
We omit all the proofs in this section due to space limitations. They are available in
our detailed technical report [4].
We begin with the conversion of the specification φ over Σ to a minimal and de-
terministic FSA A = (Q, q0 , Σ , →, F), which accepts exactly the language over Σ
that satisfies φ (using JFLAP [18]). We call A the global specification. Given the
distribution ∆ , we assign requests to each agent. Specifically, we construct a set
of projected FSAs Ai = (Qi , q0i , Σi , →Ai , Fi ) whose languages are the projections of
L (A) onto the local alphabets Σi , i ∈ I (see Sec. 2). The projected FSAs are used as
a starting point to find a solution to Prob. 1 because of the following proposition.
of initial states, ΣPi = Σbi ⊆ Π is the set of inputs and FPi = V × Fbi is the set of
accepting (final) states. The transition relation →Pi ⊆ QPi × ΣPi × QPi is defined as
σP σP
i
(v, q) −−→ 0 0 0 i 0
Pi (v , q ) iff v →i v , q −
−→ b q and σPi ∈ Πv .
A i
σ
A transition (v, q) − →P (v0 , q0 )
of Pi exists iff (v, v0 ) ∈→i and request σ occurs
at vertex v, i.e. a(σ ) = v. Transitions with input ε mean that a robot is moving
from one vertex v to vertex v0 (v may be equal to v0 ) without servicing any request.
rPi = (vi (0), qbi (0)) . . . (vi (n), qbi (n)), where qbi ( j) ∈ Q
bi , vi ( j) ∈ V and j ∈ {1, . . . , n}
is a run accepted by the product automaton Pi , i ∈ I. We define the projection of
rPi onto Ti as γTi (rPi ) = vi (0) . . . vi (n). The following proposition shows that we can
use a run of Pi to find a trajectory of Ti satisfying the local specification (a word of
L (A bi )).
To solve Prob. 1, we need to guarantee that all possible sequences of request ser-
viced by the team of robots following their MS plans satisfy the global specifica-
tion. More specifically, we aim to find a set of service plans {si , i ∈ I} such that
ki∈I {si } ⊆ L (A) and ki∈I {si } =
6 0.
/ The following proposition shows that a trace-
closed language is sufficient to satisfy this requirement and s Prob. 1:
If L (AG ) is not empty, then a solution to Prob. 1 can be found by picking any
accepted word of AG . In this paper, we obtain this word wg by using a backward
reachability search starting from the set of accepting states and ending at the ini-
tial state. In a particular application, any optimization criterion can be used. Once
obtained, wg is projected onto the given distribution to generate a set of MS plans.
The overall approach proposed in this section is summarized in Alg. 1. In the
following theorem, we show that the solution obtained by Alg. 1 is provably correct.
Theorem 1. If L (AG ) 6= 0,/ then Alg.1 returns a solution to Prob. 1, i.e. , a set of
MS ⊆ L (A) and LMS 6= 0.
MS plans {msi , i ∈ I} such that Lteam team /
In this section, we show how our solution to Prob. 1 can be used to deploy a team
of robots using a rich specification to service requests occurring in a miniature city.
Our Robotic Urban-Like Environment (RULE) shown in Fig. 2 is a collection of
roads, intersections, and parking lots, which are connected following a simple set of
rules (e.g., a road connects two (not necessarily different) intersections, the parking
lots can only be located on the side of (each bound of) a road). Each intersection
has traffic lights that are synchronized in the usual way. A desktop computer is used
to remotely control the traffic lights through XBee wireless boards. Each parking
lot consists of several parking spaces, where each parking space can accommodate
exactly one car, and each parking lot has enough parking spaces to accommodate all
the robots at the same time. The city is easily reconfigurable through re-taping and
re-placement of the wireless traffic lights in intersections.
The robots are Khepera III miniature cars. Each car can sense when entering an
intersection from a road, when entering a road from an intersection, when passing
in front of a parking lot, when it is correctly parked in a parking space, and when
an obstacle is dangerously close. Each car can distinguish the color of a traffic light
and different parking spaces in the same parking lot. Each car is programmed with
motion and communication primitives allowing it to safely drive on a road, turn in an
intersection, park, and communicate with other cars. All the cars can communicate
through Wi-Fi with a desktop computer, which is used as an interface to the user
(i.e., to enter the global specification) and to perform all the computation necessary
to generate the individual control and communication strategies. Once computed,
these are sent to the cars, which execute the task autonomously by interacting with
the environment and by communicating with each other, if necessary. We assume
that the communication protocol is deadlock-free.
Modeling RULE using the framework described in Sec. 3 proceeds as follows.
The set of vertices V of the environment graph E is the set of labels assigned to
the roads, intersections, and parking lots (see Fig. 2). The edges in →E show how
these regions are connected. We assume that inter-robot communication is possible
only when the robots are in the same parking lot. The motion capabilities of the
(identical) robots are captured by a transition system Ti (Eqn. (2)) which has 27
vertices and 42 transitions. Note that, in reality, each vertex of Ti has associated a
set of motion primitives, and each transition is triggered by a Boolean combination
of interrupts. For example, at vertex R5l , only one motion primitive follow road is
available, which allows the robot to drive on the road. There is only one possible
transition from R5l to I1 , which is triggered by at int AND green light, where at int
is an interrupt generated when the robot reaches the end of a road at an intersection,
and green light is an interrupt generated at the green color of the traffic light.
It is important to note that, by selecting a motion primitive available at a vertex,
the robot can correctly execute a run of Ti , given that it is initialized on a road. In-
deed, only one motion primitive (follow road) is available on a road (more details
about the motion primitives can be found in [4]). In other words, MS plans defined
in Sec. 3 and derived as described in Sec. 4 can be immediately implemented by a
robot. It is easy to see that, under some reasonable liveness assumptions about envi-
ronmental events (e.g., the traffic lights will eventually turn green), such a transition
system captures the motion of each robot correctly.
In the rest of this section, we present a case study. Assume that two robots (cars),
labeled as C1 and C2 , are available for deployment in the city with the topology
from Fig. 2. Assume the set of service requests is Σ = {H1 , H2 , L1 , L2 , L3 , L4 , L5 },
where Li , i = 1, 2, 3, 4, 5 are “light” requests, which require only one robot, and
therefore should be serviced in parallel, while Hi , i = 1, 2 are “heavy”, and re-
quire the cooperation of the two robots. Assume that C1 can service L1 and L4
12 Yushan Chen, Xu Chu Ding, Alin Stefanescu, and Calin Belta
loc
Global FSA A FSA AiE Synchronous
y Product FSA AG FSA
S Ai
E E
A1 || A2
Agent 1 Agent 2
0 0, 0 0
H1 H1 H1
Robot 1:
L1 1 L2 L4 1, 1
L1 1 L2
L4 L2 L1 L5 Robot 1:
2 3 0 1 2 3 4
1 2
1, 2 2, 1
2, 1 2 3 0 1 2 3 4
H1 L1 H2 L1
L2 4 L1 L4 L1 L2 4 H1 L1 H2 L1
9 2, 2 L2
4, 0 0, 4 L1
H2 Robot 2: H2 H2
L1 5 L3 3, 3
3, 3
L1 5 L3
Robot 2:
L5 0 1 2 3 4 L3 L1
6 7 H1 L2 H2 L3 L5 L4 0 1 2 3 4
3, 4 4, 3 6 7
L5 H1 L2 H2 L3
L3 8 L1 L3 L3 8
L1 4 4
4, 4 L1
Using Alg. 1, we generate a set of FSAs AEi . Since RULE is fully connected,
all the words accepted by Ai can be implemented. In this example, L (A) is nei-
ther a product language nor a trace-closed language (e.g., for w = L4 L5 , we have
[w]∆ = {L4 L5 , L5 L4 } and hence, [w]∆ * L (A)). Therefore, the FSA AG is obtained
as described in Sec. 4.2. We choose wg = H1 L1 L2 H2 L1 L3 ∈ L (AG ). The corre-
sponding service plans for C1 and C2 are s1 = H1 L1 H2 L1 and s2 = H1 L2 H2 L3 , re-
spectively. The FSAs generated by Alg. 1 are shown in Fig. 3. Finally, we generate
the MS plans for C1 and C2 . By assuming that C1 and C2 start in R2l and R1l respec-
tively, the two MS plans are
ms1 : R2l I2 R4r I3 R8r P4 H1 R8r I4 R5l I1 R6r P1 L1 R6r I4 R8l P5 H2 R8l I3 R8r I4 R5l I1 R6r P1 L1
ms2 : R1l I1 R3l I2 R4r I3 R8r P4 H1 R8r I4 R5l I1 R3l I2 R3r P2 L2 R3r I1 R5r I4 R8l P5 H2 R8l I3 R8r I4 R6l P3 L3
The above MS plans are then mapped to control and communication strategies
through the use of motion primitives and interrupts as described above. The movie of
the actual deployment in the RULE platform is available at http://hyness.bu.edu/dars.
6 Conclusion
vice the requests, and the possible cooperation requirements for some requests, we
find local control and communication strategies such that the global behavior of the
system satisfies the given specification. We illustrate the proposed method with ex-
perimental results in our Robotic Urban-Like Environment (RULE). As future work,
we will consider expanding the set of global specifications to formulas of temporal
logics, such as Linear Temporal Logic, and extensions to probabilistic frameworks.
References
1. M. Antoniotti and B. Mishra. Discrete event models + temporal logic = supervisory controller:
Automatic synthesis of locomotion controllers. In IEEE International Conference on Robotics
and Automation, May 1995.
2. C. Belta and L.C.G.J.M. Habets. Control of a class of nonlinear systems on rectangles. IEEE
Transactions on Automatic Control, 51(11):1749 – 1759, 2006.
3. Yushan Chen, Samuel Birch, Alin Stefanescu, and Calin Belta. A hierarchical approach to
automatic deployment of robotic teams with communication constraints. In International
Conference on Intelligent Robots and Systems, 2010 (to appear).
4. Yushan Chen, Xu Chu Ding, Alin Stefanescu, and Calin Belta. A formal approach to de-
ployment of robotic teams in an urban-like environment. Technical report, Boston University,
2010. (available at hyness.bu.edu/dars).
5. H. Choset, K.M. Lynch, S. Hutchinson, G. Kantor, W. Burgard, L.E. Kavraki, and S. Thrun.
Principles of Robot Motion: Theory, Algorithms, and Implementations. MIT Press, Boston,
MA, 2005.
6. E. M. Clarke, D. Peled, and O. Grumberg. Model checking. MIT Press, 1999.
7. G. E. Fainekos, H. Kress-Gazit, and G. J. Pappas. Hybrid controllers for path planning: a tem-
poral logic approach. In Proceedings of the 2005 IEEE Conference on Decision and Control,
Seville, Spain, December 2005.
8. H. Kress Gazit, G. Fainekos, and G. J. Pappas. Where’s Waldo? Sensor-based temporal logic
motion planning. In IEEE Conference on Robotics and Automation, Rome, Italy, 2007.
9. L.C.G.J.M. Habets, P.J. Collins, and J.H. van Schuppen. Reachability and control synthesis for
piecewise-affine hybrid systems on simplices. IEEE Trans. Aut. Control, 51:938–948, 2006.
10. J.E. Hopcroft, R. Motwani, and J. D. Ullman. Introduction to Automata Theory, Languages,
and Computation. Addison Wesley, 2007.
11. M. Kloetzer and C. Belta. Automatic deployment of distributed teams of robots from temporal
logic motion specifications. IEEE Transactions on Robotics, 26(1):48–61, 2010.
12. J. C. Latombe. Robot Motion Planning. Kluwer Academic Pub., 1991.
13. S. M. LaValle. Planning algorithms. Cambridge University Press, Cambridge, UK, 2006.
14. S. G. Loizou and K. J. Kyriakopoulos. Automatic synthesis of multiagent motion tasks based
on LTL specifications. In 43rd IEEE Conference on Decision and Control, December 2004.
15. A. Mazurkiewicz. Introduction to trace theory. In The Book of Traces, pages 3–41. WorldSci-
Book, 1995.
16. M. Mukund. From global specifications to distributed implementations. In Synthesis and
control of discrete event systems, pages 19–34. Kluwer, 2002.
17. M. M. Quottrup, T. Bak, and R. Izadi-Zamanabadi. Multi-robot motion planning: A timed
automata approach. In Proceedings of the 2004 IEEE International Conference on Robotics
and Automation, pages 4417–4422, New Orleans, LA, April 2004.
18. S. H. Rodger and T. W. Finley. JFLAP: An Interactive Formal Languages and Automata
Package. Jones and Bartlett Publishers, Sudbury, MA, 2006.
19. A. Stefanescu. Automatic synthesis of distributed transition systems. PhD thesis, 2006.
14 Yushan Chen, Xu Chu Ding, Alin Stefanescu, and Calin Belta
20. Alin Stefanescu, Javier Esparza, and Anca Muscholl. Synthesis of distributed algorithms
using asynchronous automata. In Proc. of the 14th Int. Conf. on Concurrency Theory (CON-
CUR’03), volume 2761 of Lecture Notes in Computer Science, pages 27–41. Springer, 2003.
21. P.S. Thiagarajan and J.G. Henriksen. Distributed versions of linear time temporal logic: A
trace perspective. In Lectures on Petri Nets I: Basic Models, volume 1491 of LNCS, pages
643–681. Springer Berlin, 1998.
22. T. Wongpiromsarn, U. Topcu, and R. M. Murray. Receding horizon temporal logic planning
for dynamical systems. In IEEE Conference on Decision and Control, Shanghai, China, 2009.
23. Sheng Yu. Regular languages. In Handbook of formal languages, vol. 1: word, language,
grammar, pages 41–110. Springer-Verlag New York, Inc., New York, NY, USA, 1997.