Solvability of Multi Robot Motion Planning Problems on Trees
Ellips Masehian and Azadeh H. Nejad
Abstract—Multi robot motion planning problems can be
solved very efficiently when the Configuration Space is mapped
onto a Graph. Before planning, however, it must be assured
that the constructed graph is reachable (solvable) for the given
number and configuration of robots. Solvable Trees are types
of trees that let any arrangement of a specified number of
robots be reached from any initial arrangement through
sequential moves of robots on vertices of the tree. In this paper
the properties of Solvable Trees are investigated, and Minimal
Solvable Trees, which are the smallest solvable trees in terms of
the number of vertices, are introduced as a new concept. Also,
a new algorithm with linear time complexity is proposed for
deciding whether a multi robot motion planning problem has a
solution on a tree, without explicitly solving it.
I. INTRODUCTION
T
HE general motion planning problem is known to be
PSPACE-hard and NP-complete. Most of the solution
methods for robot motion planning are variations of a few
general approaches: Roadmap, Cell Decomposition,
Potential Fields, mathematical programming, and heuristic
methods, which are broadly surveyed in [1].
Roadmap approaches reduce the workspace into a graph
with nodes including the starts and goals of the robot, and
find a collision-free path through graph search. Although
classic approaches like Visibility Graph, Voronoi Diagram,
and Cell Decomposition have proved to be effective for single-robot problems, they do not provide straightforward solutions to Multi Robot Motion Planning (MRMP) problems.
Space is the most limiting constraint in a typical MRMP
problem: often, because of lack of sufficient space around
robots, they cannot reach their goals without obstructing
each other’s way, causing deadlocks. Deadlocks are situations in which two (or more) robots intercept each other’s
motions and are prevented from reaching their goals. This
happens generally in narrow passageways where robots
cannot pass by each other. To resolve a deadlock, robots
should reshuffle, circumnavigate, detour, or regulate their
speed (also known as Velocity Tuning). Another approach is
the Prioritized Planning, in which the robots move according
to a priority scheme, as discussed in [2], [3], and [4].
By reducing the workspace into a graph with nodes including the starts and goals of all robots, the multi robot
motion planning problem then turns into a sequencing
problem where the robots are planned to move sequentially
(or concurrently) toward their destinations, without colliding
with each other. The graph structure stipulates them to
remain on predefined routes (i.e. graph edges), and so avoid
the obstacles existing in the workspace. Another benefit of
Authors are with the Faculty of Engineering, Tarbiat Modares University,
Tehran, Iran. Corresponding author’s e-mail: masehian@modares.ac.ir.
graph-based MRMP is its reduced computational time.
The main question in designing a predefined graph is to
find out whether the graph is ‘reachable’ (solvable) for any
initial and final configurations. A Configuration is an arrangement of robots on the vertices of the graph such that no
vertex is occupied by more than one robot. Solvable graphs
allow the transition of any initial configuration of robots to a
final state via their sequential moves.
The first work trying to find a relation between a graph’s
topology and the number of ‘beans’ moving on it is due to
Wilson, in which only bi-connected graphs are studied, and
k = n − 1 (k is the number of beans, n the number of vertices)
[5]. This study is improved in [6] by generalizing the decision
problem for all graphs and for any number of robots. In [7] the
above problem is studied as pebble motion problem by
generalizing the 15-puzzle, and a linear algorithm for deciding
the reachability of trees is presented. However, both [6] and
[7] only cover cases where the set of empty nodes remain
unchanged in start and goal configurations. In [8] the
possibility of reaching destinations of connected subgraphs is
studied, by simplifying the MRMP between some predefined
subgraphs named stacks, halls, rings, and cliques.
To our knowledge, the problem of deciding whether a
graph is always solvable for a specific number of robots for
any initial and final configuration has never been mentioned
or addressed in the literature. The problem of determining
the smallest solvable graph (in terms of vertices) for a
certain number of robots has also been remained untackled.
Graphs can be categorized into two general classes: cyclic, and acyclic: cyclic graphs have loops and are more
convenient for moving of multiple robots (or agents), while
acyclic graphs (i.e. trees) provide less maneuverability for
the agents moving on it. That’s why MRMP on trees can
serve as a basis for MRMP on general cyclic graphs. MRMP
on trees has real-world applications in maze-like environments, indoor corridors, parking lots, railway networks, etc.
In this paper, we specifically deal with tree-type (acyclic)
graphs, and set forth the following questions: What is the
maximum number of robots a tree can accommodate such
that any final configuration can be reached from any initial
configuration? What topology a tree must have to be solvable for a specific number of robots? and What is the
‘smallest’ tree solvable for a specific number of robots?
After presenting some basic definitions in section II, in
section III the conditions for a tree to be solvable are
investigated and the maximum number of robots located on it
is determined. Two new concepts, MSTs and PSTs are
introduced in Section IV. In Section V we propose an algorithm for deciding whether an MRMP with a given tree and
initial and final configurations has a solution, without
explicitly solving it.
II. DEFINITIONS
during the motion planning task, aiming to make the start-togoal paths of robots as free as possible and facilitate the
robots’ moves toward their goals.
In this section for obtaining the solvability conditions of
trees, first the simplest trees called ‘Stars’ are introduced
and their solvability is investigated. The results are then
generalized to more complicated trees.
Before we proceed, let us present three new fundamental
and correlated concepts:
− A Solvable Tree is a tree on which any configuration of at
most m robots can be reached from any initial configuration
through their moves on tree edges, and is shown by STm.
− A Partially Solvable Tree is a tree on which only some
configurations of m robots can be reached from any initial
configuration, and is shown by PSTm.
− A Minimal Solvable Tree is an STm having the least possible number of vertices, and is shown by MSTm.
In addition to the standard terminology used in Graph
Theory, there are some new definitions and symbols defined
specifically for this work, presented in Table I. Also, some
concepts are shown graphically in Fig. 1(a).
Here we review some basic concepts in Graph Theory [9]:
Let T = (V, E) be a tree, with the set of vertices V and set of
edges E. The number of vertices also indicates the order of
T, denoted by |T|. The number of vertices connected to the
vertex v is called its Degree, d(v). Leaves of a tree, L(T), are
vertices with d(v) = 1, and Internal Vertices of a tree, I(T),
are vertices with d(v) > 1. Dist(v, u) is defined as the length
of the shortest path between two vertices v and u.
A. Star Trees
A Star is a complete bipartite graph with only one vertex
in one part and one or more vertices in the other part. Stars
are trees with diameters equal to 2, and have only one
Junction. Fig. 1(b) illustrates a 6-Leaf Star.
Here we propose a lemma for the solvability of Stars:
Lemma 1. A Star with m+1 Leaves is Solvable for m robots.
Proof. A Star with m+1 Leaves has order of m+2 (e.g. Fig.
1(b) for m = 5), and two of its vertices are not occupied by
robots. Depending on the robots’ initial configuration, these
two vertices are called Holes and may either be both Leaves
(case a), or a Leaf and the only Internal Vertex (case b).
To prove the solvability of Star, various possibilities of
initial and final configurations of robots can be considered
in the form of four Scenarios enlisted in Table II.
TABLE I
DEFINITIONS OF USED TERMS AND SYMBOLS
TABLE II
POSSIBLE SCENARIOS FOR ROBOTS’ CONFIGURATIONS ON STARS
Term / Symbol
O ∈ {v | d(v) ≥ d(u), ∀ u ∈ V}
l(v) = Dist(v, O)
Level: The minimal distance of vertex v
from O along the edges of the Tree.
J = {v | v is MI, d(v) ≥ 3}
Junctions: The set of Internal Vertices with
degrees of more than 2. It may be O as well.
H(S)
Holes: The set of empty vertices not
occupied by robots at initial configuration
in the subtree S. The size of H(S) is
denoted by h(S) = |H(S)|, and when S is the
whole Tree, we set H = h(T).
L
G1: The goals of all G2: The goals of all robots
robots are on leaves are on leaves except for one
that is on the internal vertex
Description
Origin: The vertex with maximum degree
in the Tree. If not unique, selected such
that the maximum Level of all vertices is
kept minimal.
L
I
L
L
J
I
J
J
I
L
I
I
J
L
L
J
(a)
(b)
Fig. 1. (a) Some concepts: L = Leaf, I = Internal Vertex, and J = Junction. The
central gray junction is selected the Origin of the tree. (b) A 6-Leaf Star.
III. SOLVABILITY OF TREES
Since Junctions are vertices in the tree where different
branches and Leaves meet (just as squares or crossroads
which connect avenues and streets), they enable the robots to
change their course of motion and shift from one branch or
Leaf to another branch or Leaf.
On the other hand, Leaves and Junctions’ branches can be
used for robots’ maneuvers and interchanges, and serve as
places for situating the robots permanently or temporarily
S1: The starts of all robots
are on leaves
Scenario 1
Scenario 2
S2: The starts of all robots
are on leaves except for one
that is on the internal vertex
Scenario 3
Scenario 4
Scenario 1: In this scenario a Leaf and the Internal Vertex
are initially empty (case (b)). If the empty Leaf is the goal of a
robot, then it should be occupied by that specific robot either
directly (if there is a free path for the robot), or indirectly
(after freeing the path by other robots). So the Star is solvable.
Scenario 2: In this scenario the case (b) holds again. The
robots should occupy their goals in the same manner as in the
Scenario 1, with the consideration that occupying the internal
vertex should be the last move. The Star is therefore solvable.
Scenario 3: In this scenario, initially one robot is on the
Star’s internal vertex and m−1 robots are on the Leaves, and
so the case (a) holds true. Through a single move of the
robot located on the internal vertex to an arbitrary empty
Leaf, the Scenario 1 is attained, and the subsequent moves
for solving the problem can be done in the same manner.
Scenario 4: The case (a) applies for this scenario. Again
by moving the robot on the internal vertex to an empty Leaf,
this scenario converts to the Scenario 2, and the problem can
be solved accordingly.
□
The concept of Star trees can be generalized as follows:
An Extended Star is a tree with one Junction (hence the
Origin) and more than one Internal Vertices. In other words,
Extended Stars can be constructed by adding new Leaves to
a Star, such that no other Junction is formed.
IZ1
v1
IZ4
j1
v2
v3
v4
v5
v6
v7
v8
v9
j4
j2
j3
v11
v12
v13
v16
v17
v18
J
Fig. 2. An Extended Star with a maximum Level lmax = 4.
v10
The following Lemma deals with the solvability of
Extended Stars:
Lemma 2. The maximum number of robots for which an
Extended Star is solvable is m = |T| − lmax − 1, in which lmax
is the maximum Level in the tree.
Proof. The maximum distance from the Extended Star’s
Junction J to any vertex in the tree is lmax = max{l(v),∀
v∈V}. It is obvious that in order for the tree to be
solvable, any two robots must be able to interchange their
positions. The worst case of interchanging occurs when a
robot r located on the vertex with l(v) = lmax has to move
to the depth of another branch of the tree. Since there is
only one Junction in the tree, the robot should pass
through the Junction, and so at least the path P connecting
vertex v(r) and J, plus another vertex connected to the
Junction (i.e. not on P) must be either initially empty, or
able to be emptied by motions of other robots. This means
that at least lmax+ 1 vertices in the tree should be empty.
That is, H = lmax+ 1, and so the maximum number of robots
□
will be m = |T| − H = |T| − lmax − 1.
B. General Trees
General Trees are trees with multiple Junctions. A general
tree can be partitioned into a number of zones formed
around each Junction. As a result, the solvability of a
general tree can then be assessed in two phases: first, the
possibility of robots’ maneuvers within each zone is checked
(i.e., local interchanges), and second, the possibility of
robots’ interchanges among all zones is verified (i.e., global
interchanges).
Partitioning of a general tree is based on the number of
holes (empty vertices) calculated by H = |T| − m, where |T|
is the order of the tree (or the number if its vertices).
The conditions for local (micro level) and global (macro
level) interchangeabilities in general solvable trees are
discussed in Lemmas 3 and 4. Before that, some definitions
are provided below:
Definition 1. Any two Junctions are considered Near if there
is no other Junction between them. That is,
1 if j r ∈ Path(j p , j q ), j r ∈ J
Near ( j p , j q ) =
0 otherwise
(1)
where Path(jp, jq) is the set of vertices connecting jp and jq.
Definition 2. The set of vertices around a Junction satisfying
the following condition is called the Influence Zone (IZ) of
that Junction. That is,
IZk = {v | Dist(jk, v) ≤ H − 1, ∀ v ∈ V}
(2)
Two IZs are considered Near if their Junctions are Near.
Fig. 3 shows Influence Zones for all four Junctions of a tree.
IZ2
v14
v15
IZ3
Fig. 3. Influence Zones (IZs) of the Junctions of a sample tree with H = 3.
Note that v8 and v17 do not belong to any IZ.
Definition 3. An Interconnected Influence Zone (IIZ) is the
set of all Influence Zones (IZs) such that for any two Near
IZs in the set, the distance between their Junctions is not
more than (H − 2). Mathematically,
(3)
IIZ t = IZ p Dist ( j p , jq ) ≤ H −2
{
}
for all Near(IZp, IZq) = 1 and {jp, jq} ∈ J. For example, in
Fig. 3, IZ2 and IZ3 merge and form IIZ1 (see Table III). Note
that once interconnected IZs merge and form a new IIZ, they
are omitted from the list of existing IZs. Even so, the
remained IZs are still labeled according to their Junction
number.
C. Condition for Local Interchanges
Local robot interchanges are considered to be any type of
rearrangements from an initial to a final configuration taken
place inside an Influence Zone of a Junction. The following
lemma proposes the condition which an IZ must have to be
solvable.
Lemma 3. Any Influence Zone having H Holes is solvable.
Proof. Based on definitions of Extended Star and Influence
Zone, it is inferred that an Extended Star is a special subset
of Influence Zone, having only one Junction. Regarding the
proof of Lemma 2 and that Junctions are vertices at which
robots can change their course of motion or exchange
positions, the solvability condition in Extended Stars
requires at least more empty vertices than in IZs. In other
words, a lower limit for the number of holes in an IZ is
determined from the number of necessary holes in an
Extended Star with the same depth of branches (which is H
= lmax+ 1). Since by definition, in an IZ, lmax = H − 1, then the
number of holes is at least H* = lmax + 1 = H − 1 + 1 = H. □
For example in the Fig. 3 if all the holes were on {v6, j1,
j2} (situated in IZ1 and IZ2), then the robots on {v1, v2, v3}
and {v7, v10, v11, v14, v15, j3} could interchange in IZ1 and IZ2,
respectively.
D. Conditions for Global Interchanges
In this stage the conditions for interchangeability of any
two robot located in Near Influence Zones are investigated.
Obviously, the results can be generalized to the whole tree
due to the transitive property of sets (in this case, IZs). The
following lemma provides conditions for global
interchanges of robots, hence the solvability of the tree.
Lemma 4. Any General Tree having H Holes is solvable iff
the following conditions are satisfied:
(i). All two Near Influence Zones are Interconnected,
(ii). All vertices belong to at least one Influence Zone.
Proof. (a) We first assume that a tree with H Holes is solvable
if the conditions (i) and (ii) hold, and prove it by direct
proof: If an arbitrarily selected robot is located on any
vertex, then this vertex belongs to at least one IZ (regarding
to (ii)), and the robot can not only move to anywhere in its
IZ, but also to any vertex in its Near interconnected IZ (due
to (i) and Lemma 3). Furthermore, it can also move to any
vertex in any IZ in the tree since by (i) all near IZs are
Interconnected, having distances less than or equal to H − 2
between their Junctions. On the other hand, since according
to (ii) all vertices in the tree are located within at least one
IZ, the robot can therefore access to any vertex in the tree.
This means that the tree is solvable.
□
(b) Now we assume that in a tree with H Holes the
conditions (i) and (ii) hold if the tree is solvable. We will
prove it by indirect proof (i.e. proof by contradiction) for
each condition separately:
Case (b.i): Suppose that the distance of two Near Junctions
(i.e. the number of edges between) is greater than H − 2.
Take an arbitrary robot on any vertex: in order for this
robot to move from its IZ to any vertex in its Near IZ, the
path connecting their two Junctions (inclusive) and the
destination vertex must be empty. Regarding that by the
current counterargument Dist(jp, jq) > H − 2, then it can be
at least Dist(jp, jq) = H − 1, which contains one more
vertex. Therefore, counting the destination vertex, the total
number of required Holes in the tree would be
H* = [Dist(jp, jq) + 1] + 1 = [(H − 1) + 1] + 1 = H + 1 (4)
which is in contradiction with the assumption of existing H
Holes in (b). Thus, it is concluded that Dist(jp, jq) ≤ H − 2,
and the condition (i) holds.
□
Case (b.ii): we assume that there exists at least one vertex v
that does not belong to any IZ. According to the definition
of IZs, the distance of v to its nearest Junction jp is at least H
(i.e. Dist(v, jp) = H), which contains H + 1 vertices. In order
for a robot on v to move to a vertex connected to jp, the path
connecting v and jp and the destination vertex must be
empty. So the total number of required Holes would be
H* = [Dist(jp, jq) + 1] + 1 = [(H − 1) + 1] + 1 = H + 1 (5)
which is in contradiction with the assumption of existing H
Holes in (b). Thus, it is concluded that any vertex in the tree
must belong to at least one IZ, and the condition (ii) holds. □
For example in Fig. 3, if the robot on v10 wants to move to
v1, in addition to the vertices on its way (i.e. j2, v6, j1), it needs
v1 to be empty; which is not so, and the move is impossible.
IV. MINIMAL AND PARTIALLY SOLVABLE TREES
A Minimal Solvable Tree (MSTm) is the smallest tree on
which any configuration of at most m robots can be reached
from any initial configuration through their moves on the
tree’s edges, and is shown by MSTm. In this definition,
‘smallest’ is expressed and measured in terms of the number
of vertices. It is noted that for a specific number of robots (m),
there can be some MSTm with different topologies.
Minimality of Stars: For proving that a Star with m+1 Leaves
is an MSTm, let’s assume that the Star with m+1 leaves is not
minimally solvable for m robots. Then a star with a smaller
order (i.e. |T| < m+2) should be minimally solvable. If |T| ≤ m,
then there are no vertices for moving the robots, and so this
Star is not solvable. If |T| = m+1, then a robot on a Leaf cannot
move to another Leaf since its moves are limited to just one
Leaf and the only Internal Vertex. Therefore, all final
configurations are not reachable, and so the graph is not
solvable. We conclude that for a Star to be Minimally Solvable
it must have an order of m+2 (i.e. should have m+1 Leaves). □
Minimality of Extended Stars: For Extended Stars, all
vertices belong to the only IZ. Regarding that the longest
path from (and including) the Junction must be empty,
□
H = lmax + 1, and therefore |T| = m + H.
Minimality of General Trees: Regarding that Dist(jp, jq)
≤ H − 2, the minimum value that H can take to produce a
positive distance is 3. Thus the order of an MSTm is
|T| = m + H = m + 3, and the order of an STm is |T| > m + 3. □
Any tree not satisfying the conditions of the Lemma 4 is
definitely not solvable for m robots, and may be either a
non-solvable tree, or a Partially Solvable Tree for m robots
(PSTm). Also, regarding the proof of Minimality of General
Trees, if m < |T| < m + 3, then the tree is PSTm. Note that
while not being Solvable Trees, PSTs are still solvable for a
limited class of problems: those which require only Local
Interchanges within either a single Influence Zone, or an
Interconnected Influence Zone. The next Section presents an
algorithm for determining whether an MRMP problem is
solvable on a given PST or not.
V. DETERMINING THE SOLVABILITY OF A PROBLEM
An important issue in multi-robot routing problems is
deciding whether a final configuration of robots on a tree is
reachable from an initial configuration through sequential
moves of robots. This problem is addressed in works such as
[6], [7], and [10], though none have dealt with general cases.
Any MRMP problem for m robots is feasible on STm and
MSTm, regardless of the initial and final configurations of
robots. On PSTs, however, only some problems have
solution. In this Section an algorithm is presented for
determining the feasibility of a problem on a given tree,
regardless of its type, without explicitly solving it. This
algorithm is useful for verifying the existence of a solution
when the tree is PST, or there is no prior information about
its solvability.
Before explaining the algorithm, two definitions are
presented: Any vertex in a Zone (IZ or IIZ) having a
distance of H − 1 to the nearest Junction of that Zone is
called a Port of that Zone, and is shown by Pt(IZp)i or
Pt(IIZt)i, respectively for IZp and IIZt. Also, the subtree
connected to a port i of a Zone is called the Linked Subtree
of that Port, and is shown by LS(Pt(IZp)i) or LS(Pt(IIZt)i),
respectively for IZp and IIZt. The above concepts are
explained in Table III for the example in Fig. 3.
TABLE III
IZS, IIZS, PORTS AND LINKED SUBTREES OF THE SAMPLE TREE
IZs
IZ1 = { j1, v1, v2, v3, v6, j2}
IZ4 = { j4, v4, v5, v9, v13, v18}
IIZs
IIZ1 = {j1, j2, j3, v6, v7, v10,
v11,v12, v14, v15, v16}
Ports
Linked Subtrees
Pt(IZ1)1 = j2
Pt(IZ1)2 = v3
Pt(IZ4)1 = v18
LS(Pt(IZ1)1) = V \ {IZ1, v8}
LS(Pt(IZ1)2) = v8
LS(Pt(IZ4)1) = V \ IZ4
Ports
Linked Subtrees
Pt(IIZ1)1 = j1 LS(Pt(IIZ1)1) ={v1, v2, v3, v8}
Pt(IIZ1)2 = v12
LS(Pt(IIZ1)2) = IZ4 ∪ v17
The algorithm is based on a key concept, the ‘Maximum
Reachability Space’ (MRSi) of robot ri, which is defined as a
subtree that is accessible for ri.
The outline of the algorithm is as follows: After
determining IZs and IIZs, the MRS of each robot is
calculated. If the goals of all robots lie inside their MRS,
then it is checked if the robots intercept each others’ start-togoal moves. If no blockings occur, then the problem is
solvable. On the other hand, if the goal of at least one robot
does not lie in its MRS, or the goal is not accessible because
of interceptions, then the problem has no solution. The
algorithm’s details are given in three phases as follows:
A. Initialization
Step 1. Determine the following parameters and sets:
- Start and Goal positions (si and gi) and shortest path
(SPi) of each robot ri,
- The number of Holes (H), and
- All Zones (i.e. IZs and IIZs),
- Ports of all Zones (i.e., Pt(IZp)i and Pt(IIZt)i), ∀ p, t, i,
- Linked Subtrees of all Ports of all Zones (i.e.,
LS(Pt(IZp)i) and LS(Pt (IIZt)i), ∀ p, t, i.
Procedure MRS
1 for each robot ri do
2
if H = 1 then go to 25.
3
Find the set of Zones (IZ or IIZ) that contain the start (si) of ri (call Žs).
4
if Žs = ∅ then go to 25.
5
Find the set of Zones that contain all the vertices of SPi (call Žp).
6
if Žp = ∅ then Žp ← Žs
j
7
for each Zone in Žp (call Zp ) do
j
j
8
Find the number of Holes in Zp (i.e. h(Zp )).
j
j
9
if h(Zp ) = H then set MRSi ← Zp . Go to 26.
j
j
10
else find a port k for which Di =min{Dist(si, Pt(Zp )k)}, ∀k∈ Ports
j
11
if Di < H − 1 then
j
j k
12
if Di ≥ h(LS(Pt(Zp ) )) then
j
13
Set MRSi ← Zp . Go to 26.
14
else go to 25.
15
end if
j
16
else if Di = H − 1 then
17
if h(LS(si)) < H (for ∀ LS(si)) then
j
18
Set MRSi ← Zp . Go to 26.
19
else go to 25.
20
end if
j
21
else set MRSi ← Zp . Go to 26.
22
end if
23
end if
24
end for
d ( si )
25
C. Deadlock Situations Checking
In this phase the shortest start-to-goal paths are calculated
independently for each robot. If some paths intersect at
certain vertices, then some robots may block other robots’
moves to their goals, which are known as deadlocks.
All possible cases of deadlocks occurred for two robots
moving at same or opposite directions in a tree are
illustrated in Table IV. The relative directions of each pair
of robots are determined based on the order of vertices
visited by each robot. For instance in Case 1,
SPi = {2→3→4} and SPj = {1→2→3→4→5}, and so
SPi ⊂ SPj. In Case 3, SPi = {5→4→3→2} and
SPj = {1→2→3→4→5}, and so SPi ⊂ ¬SPj ∧ si = gj. The
symbol ‘¬’ indicates the path in reverse order.
Step 4. Check the deadlock situations of all robots whose
MRS’s are different. If any of the deadlocks in Table IV
occurs then the problem is not solvable. Otherwise, there
is a solution to the given MRMP problem.
j =1
26 end for
Fig. 4. Pseudocode for calculating Maximum Reachability Spaces of robots.
TABLE IV
POSSIBLE DEADLOCK SITUATIONS CREATED BY TWO ROBOTS
Case
Description
1
SPi ⊂ SPj
2
SPi ⊂ ¬SPj ∧
si ≠ g j ∧ g i ≠ sj
Graphical Representation
gi
si
B. Maximum Reachability Space Calculation
Step 2. Calculate the MRSi for each robot according to the
procedure described in Fig. 4.
Step 3. If for any robot ri its goal gi is not in MRSi then the
problem has no solution. Otherwise, go to the Deadlock
Situations Checking phase.
Set MRSi = ∪ Path ( s i , u j ); uj ∈ LS(si) j, Dist(si, uj) ≤ h(LS(si) j)
2
1
3
4
sj
5
gj
si
gi
2
1
3
4
5
sj
gj
si
gi
3
SPi ⊂ ¬SPj ∧ si = gj
1
4
SPi ⊂ ¬SPj ∧ gi = sj
1
sj
gj
si
5
SPi = SPj ∧
si = g j ∧ g i = sj
gi
1
6
SPi ⊄ SPj ∧ SPj ⊄ SPi
∧ gi ∈ SPj ∧ gj ∈ SPi
1
2
3
SPi ⊄ SPj ∧ SPj ⊄ SPi
∧ si ∈ SPj ∧ sj ∈ SPi
5
gj
si
gi
7
4
sj
2
2
3
3
4
4
sj
5
5
gj
si
gi
2
3
4
sj
gj
gi
si
2
1
sj
3
4
5
5
gj
D. An Example
The algorithm is run for the tree illustrated in Fig. 3. The
shortest paths of robots, their relevant Zones and MRS are
determined in Table V. Although it is verified that the goals
of all robots lie within their MRS, for ensuring the
solvability of the problem, deadlock situations must also be
checked for all intersecting shortest paths of robots, as
presented in Table VI. As a result, it becomes obvious that
the problem has no solution because of deadlocks.
TABLE V
SHORTEST PATHS, ŽP, ŽS, AND MRSi OF ROBOTS IN FIG. 3
Robot
Shortest Path
r1
{v1→ j1→ v2→ v3}
r2
{j1→ v6→ j2}
r3
{v3→ v2→ j1→ v1}
r4
{j2→ v6}
r5
{v10→ j2→ j3→ v11}
r6
{v14→ j2→ j3→ v15→ v16}
r7
{j3→ j2→ v6→ j1}
r8
{v7→ j3→ j2→ v14}
r9
{v15→ j3→ j2→ v10}
r10
{v11→ j3→ v15}
r11
{v16→ v15→ j3→ v7}
r12
{v8→ v3→ v2}
r13
{v12→ v11→ j3}
r14
{v17→ v12}
r15
{v18→ v13}
r16
{v13→ v18→ v17}
r17
{j4→ v5→ v4}
r18
{v5→ j4→ v13→ v18}
r19
{v4→ v5→ j4→ v9}
Žp
IZ1
IZ1, IIZ1
IZ1
IZ1, IIZ1
IIZ1
IIZ1
IIZ1
IIZ1
IIZ1
IIZ1
IIZ1
∅
IIZ1
∅
IZ4
∅
IZ4
IZ4
IZ4
Žs
IZ1
IZ1, IIZ1
IZ1
IZ1, IIZ1
IIZ1
IIZ1
IIZ1
IIZ1
IIZ1
IIZ1
IIZ1
∅
IIZ1
∅
IZ4
IZ4
IZ4
IZ4
IZ4
MRS
IZ1
IZ1
IZ1
IIZ1
IIZ1
IIZ1
IIZ1
IIZ1
IIZ1
IIZ1
IIZ1
{v8, v3, v2, j1}
{v17, v12, v11, j3}
{v18, v17, v12, v11}
{v13, v18, v17, v12}
{ j4, v13, v18, v17}
IZ4
IZ4
IZ4
TABLE VI
DEADLOCK SITUATIONS OF ROBOTS IN FIG. 3
Robot
Compared With
Deadlock Situation
Case
r1
r12
g1 ∈ SP12 ∧ g12 ∈ SP1
6
r2
r4
r7
SP4 ⊂ ¬SP2 ∧ s4 = g2
SP2 ⊂ ¬SP7 ∧ s2 = g7
3
3
r5
r13
g5 ∈ SP13 ∧ g13 ∈ SP5
6
r15
r18
r16
SP15 ⊂ ¬SP18 ∧ s15 = g18
SP15 ⊂ ¬SP16 ∧ g15 = s16
3
4
VI. DISCUSSION
As explained above, the algorithm for verifying whether a
given problem on a tree has a solution is performed in three
phases: (1) calculating Influence Zones, (2) determining the
Maximum Reachability Space of each robot, and (3)
checking possible Deadlocks in robots’ motions. The time
complexity of the algorithm is in O(n) in phase 1, and O(m)
in phases 2 and 3, where n and m are the number of tree’s
vertices and robots, respectively.
For experimentation, we designed various rooted trees
(RT) with different branching factors (b) and depths (d), and
ran the algorithm on a PC with 2.8 GHz Intel CPU and 1 GB
of RAM. Each problem was solved 10 times for random
start and goal configurations. The average runtimes are:
Problem in Fig. 3: n = 22, m = 19, time = 0.078 sec.
RT: b = 2, d = 5, n = 63, m = 50, time = 0.748 sec.
RT: b = 4, d = 3, n = 85, m = 70, time = 1.327 sec.
RT: b = 3, d = 4, n = 121, m = 100, time = 2.861 sec.
RT: b = 5, d = 3, n = 156, m = 150, time = 5.191 sec.
Since we didn’t find any previous work in the literature
with assumptions as general as ours, we had no benchmarks to
make comparisons, and therefore evaluated the efficiency of
our findings in terms of time and memory by comparing our
results with the number of operations required for thoroughly
searching the configuration space. Investigating the solvability
of an MRMP problem of m robots on a tree with n vertices
through exhaustive enumeration will require n! / (n − m)!
different permutations of robots to be checked, which is far
beyond the time order of the presented algorithm. Also,
verifying whether a tree is SGm would require
2
m
operations to be checked, for any initial
i =1 ( n ! ( n − i )!)
and final configurations, which is again exponentially time
consuming.
∑
VII. CONCLUSION
For graph-based multi robot routing, it is necessary to
ensure that the graph has a proper topology and sufficient
number of vertices (relative to the number of robots) to enable
planning of robots’ moves. In this paper a number of novel
contributions are proposed in the field of MRMP on trees: the
concepts Solvable, Minimal Solvable, and Partially Solvable
Trees are introduced. Considering that the complexity of
graph searching operations is directly influenced from the
graph size, finding Minimal Solvable Trees would
significantly ease the motion planning task for multiple robots
on trees. Also, a new algorithm with linear time complexity
is proposed for deciding whether a multi robot motion
planning problem has a solution on a tree-type graph,
without explicitly solving it. The algorithm also computes
the Maximum Reachability Space of the robots which can be
used to determine the whole class of solvable problems on
the tree. The result of this algorithm is valuable especially
for designing solvable trees or evaluating an existing
network or workspace.
In a complementary work, we have generalized the
concepts of STm, PSTm, and MSTm to Solvable Graphs (SGm),
Partially Solvable Graphs (PSGm), and Minimal Solvable
Graphs (MSGm), respectively, for cyclic graphs which
contain at least one cycle, and have proposed similar
algorithms for determining their solvability [11].
REFERENCES
[1] 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, 2005.
[2] C. M. Clark, “Probabilistic Road Map Sampling Strategies for MultiRobots Motion Planning,” Rob. Auton. Sys., Vol. 53, pp. 224-265, 2005.
[3] P. A. O’Donnell and T. Lozano-Perez, “Deadlock-free and collision-free
coordination of two robot manipulators,” in Proc. IEEE Int. Conf. Rob.
Autom., 1989, pp. 484-489.
[4] J. van den Berg and M. Overmars, “Prioritized motion planning for multiple
robots,” in Proc. IEEE/RSJ IROS 2005, pp. 2217-2222.
[5] R. M. Wilson, “Graph puzzles, homotopy, and the alternating group”,
Journal of combinatorial Theory, Series B, Vol. 16, pp. 86-94, 1974.
[6] D. Kornhauser, G. Miller, and P. Spirakis, "Coordinating pebble motion
on graphs, the diameter of permutations groups and applications", in
Proc. 25th IEEE Symp. Found. of Comp. Science, (1984), pp. 241-250.
[7] V. Auletta, A. Monti, D. Parente and G. Persiano, “A Linear-Time
Algorithm for the Feasibility of Pebble Motion on Trees”,
Algorithmica, Vol. 23, No. 3, pp. 223-245, 1999.
[8] M. R. K. Ryan, “Exploiting subgraph structure in multi-robot path
planning”, J. Artificial Intell. Research, Vol. 31, pp. 497-542, 2008.
[9] R. Diestel, Graph Theory, Springer-Verlag, New York, 2000.
[10] V. Auletta, D. Parente and G. Persiano, “A New Approach to Optimal
Planning of Robot Motion on a Tree with Obstacle”, in Proc. 4th European
Symposium on Algorithms (ESA), Spain, 1996, pp. 25-27.
[11] E. Masehian, H. Samadian, and F. Daneshzand, “Analysis of motion
feasibility of multiple mobile agents on graphs,” in Proc. 4th International
Conference on Information Technology (ICIT) 2009, Jordan.