Domain-Dependent View Domain-Dependent View of Multiple Robots of Multiple Robots Path Planning Path Planning Pavel Surynek Pavel Surynek Charles University, Charles University, Prague Prague Czech Republic Czech Republic
Jan 18, 2016
Domain-Dependent ViewDomain-Dependent Viewof Multiple Robotsof Multiple RobotsPath PlanningPath Planning
Pavel SurynekPavel Surynek
Charles University, PragueCharles University, PragueCzech RepublicCzech Republic
Outline of the TalkOutline of the Talk
Problem definitionProblem definition Motivation by real-world problemsMotivation by real-world problems Motivation for the domain-dependent viewMotivation for the domain-dependent view
– why don’t use domain-independent approachwhy don’t use domain-independent approach Difficulty of the problemDifficulty of the problem Domain-dependent polynomial-time Domain-dependent polynomial-time
solving algorithmsolving algorithm Complexity analysisComplexity analysis
– polynomial-timepolynomial-time Final remarksFinal remarks
STAIRS 2008 Pavel Surynek
Multi-robot Path Multi-robot Path PlanningPlanning
Input:Input: Graph G=(V,E), V={vGraph G=(V,E), V={v11,v,v22,...,v,...,vnn} and a set } and a set of robots R={rof robots R={r11,r,r22,...,r,...,rμμ}, where }, where μμ<<nn– each roboteach robot is placed is placed in a vertexin a vertex (at most one robot in (at most one robot in
a vertex)a vertex)– a a robot can move into an unoccupiedrobot can move into an unoccupied vertex vertex
through an edge (no other robot is allowed to enter the through an edge (no other robot is allowed to enter the vertex)vertex)
– initial positionsinitial positions of robots ... simple function of robots ... simple function SS00: R: R→V→V
– goal positions goal positions of robots ... simple function of robots ... simple function SS++: R→V: R→V Task: Task: Find a sequence of allowed movesFind a sequence of allowed moves for for
robots such that all the robots reach their goal robots such that all the robots reach their goal positions starting from the given initial positionspositions starting from the given initial positions
STAIRS 2008 Pavel Surynek
(Ryan, 2007)
MotivationMotivation
Rearrangement of robots in tight spaceRearrangement of robots in tight space
Motion planning forMotion planning fora group of robotsa group of robots
Automated trafficAutomated trafficcontrolcontrol
STAIRS 2008 Pavel Surynek
Motivating experiments Motivating experiments (1)(1) Problems motivated by Problems motivated by heavy car trafficheavy car traffic
– ignoring traffic rulesignoring traffic rules
Several planners (SGPlan, SATPlan, LPG) were Several planners (SGPlan, SATPlan, LPG) were evaluated on these problemsevaluated on these problems
STAIRS 2008 Pavel Surynek
Graph Initial positions Goal positions
Motivating experiments Motivating experiments (2)(2)
STAIRS 2008 Pavel Surynek
ProblemNumber ofvertices/free
SolvablePlan length/optimal
SGPlan(seconds)
SATPlan(seconds)
LPG(seconds)
01 7/6 Yes 1/1 0.00 0.01 0.01
02 8/7 Yes 6/6 0.00 0.04 0.02
04 8/6 Yes 25/16 0.00 0.09 0.01
05 8/5 Yes 216/32 0.00 0.87 0.98
06 12/10 Yes 12/12 0.00 0.04 0.01
07 12/8 Yes 178/26 0.00 0.14 0.08
08 12/7 Yes 176/36 0.03 0.50 0.37
09 12/6 Yes 64/46 0.04 0.52 1.54
10 12/5 Yes 72/56 0.04 >120.0 3.46
11 12/4 Yes 112/60 0.05 >120.0 4.36
12 12/3 Yes 170/98 0.17 >120.0 5.25
13 13/4 Yes 154/112 0.61 >120.0 5.94
15 13/3 Yes N/A >120.0 >120.0 >120.0
16 12/10 Yes 10/10 0.00 0.04 0.02
17 12/8 Yes 30/24 0.02 0.16 0.03
18 12/4 Yes 124/N/A >120.0 >120.0 1.45
19 12/3 Yes 114/78 0.76 >120.0 6.23
20 12/2 Yes 208/120 0.33 >120.0 7.58
22 16/2 No N/A >120.0 >120.0 >120.0
23 14/2 No N/A >120.0 >120.0 >120.0
24 28/20 Yes 72/64 0.08 >120.0 0.11
Analysis of experimentsAnalysis of experiments
All the problems are small - graphs of about 15 All the problems are small - graphs of about 15 verticesvertices
SGPlan and SATPlan are trying to find SGPlan and SATPlan are trying to find shortest shortest possible solutionspossible solutions - this complicates the task - this complicates the task
SGPlan and SATPlan often SGPlan and SATPlan often do not solvedo not solve the the problem within the time problem within the time limit of 2 minuteslimit of 2 minutes
LPG searches for a LPG searches for a suboptimal solutionsuboptimal solution LPG performs as best however still not able to LPG performs as best however still not able to
solve several problems in the time solve several problems in the time limit of 2 limit of 2 minutesminutes
Conclusion: Domain-independent planners Conclusion: Domain-independent planners do not perform well on the problemdo not perform well on the problem
STAIRS 2008 Pavel Surynek
Difficult or easy?Difficult or easy?
Is the problem difficult or easy (Is the problem difficult or easy (NP-completeNP-complete or or polynomial-time solvablepolynomial-time solvable)?)?
Answer:Answer: If at least two vertices are unoccupied If at least two vertices are unoccupied the problem is polynomial-time solvablethe problem is polynomial-time solvable
Outline Outline of the algorithm:of the algorithm:– decompose the graphdecompose the graph into bi-connected into bi-connected
components (result is a tree where vertices are components (result is a tree where vertices are represented by bi-connected components)represented by bi-connected components)
– move robotsmove robots into their goal bi-connected into their goal bi-connected components or decide that it is not possiblecomponents or decide that it is not possible
– solve the problemsolve the problem within the within the individual bi-individual bi-connected componentsconnected components
STAIRS 2008 Pavel Surynek
Algorithm:Algorithm: decomposition decomposition into bi-connected into bi-connected componentscomponents DecompositionDecomposition of the graph G=(V,E) into of the graph G=(V,E) into
bi-connected componentsbi-connected components– an undirected G=(V,E) graph is bi-connected if |V|an undirected G=(V,E) graph is bi-connected if |V|
≥3 and for every v≥3 and for every vV H=(V-{v},E’) is connected (E’ V H=(V-{v},E’) is connected (E’ is E restricted on V-{v})is E restricted on V-{v})
Result is a Result is a treetree of singleton vertices and of singleton vertices andbi-connected components ... denoted bi-connected components ... denoted BB11,B,B22,...,B,...,Bkk
– (B(Bii is a vertex or a bi-connected component) is a vertex or a bi-connected component)
STAIRS 2008 Pavel Surynek
B1
B2
B3
B4
B5
B6
B6
Algorithm:Algorithm: moving robots moving robots into goal bi-connected into goal bi-connected components (1)components (1) Observation:Observation: Arbitrary vertex in the graph Arbitrary vertex in the graph
can be made unoccupiedcan be made unoccupied
Observation:Observation: A robot canA robot canbe moved to arbitrary vertexbe moved to arbitrary vertexwithin the bi-connectedwithin the bi-connectedcomponentcomponent
STAIRS 2008 Pavel Surynek
G=(V,E)r1
r2
r3 r4
G=(V,E)r4
r3
r2r1
“Shift” robots along a path connecting unoccupied vertex and vertex to be freed
r2
r4
r5
r1
r3
r6 r7
r8
r9r12
r10r11
r13
r14 r15
r16
r17
C1
C2
C3
C4
Algorithm:Algorithm: moving robots moving robots into goal bi-connected into goal bi-connected components (2)components (2) Observation:Observation: To move a robot from one To move a robot from one
bi-component to another bi-component we bi-component to another bi-component we need to free a path between the componentsneed to free a path between the components
If the path cannot be freed the problem is If the path cannot be freed the problem is unsolvableunsolvable
STAIRS 2008 Pavel Surynek
bi-connectedcomponent
bi-connectedcomponent
Bj Bi
r1
Algorithm:Algorithm: solving problem solving problem within bi-connected within bi-connected componentcomponent Observation:Observation:
Bi-connected componentBi-connected componentcan be constructed fromcan be constructed froma cycle by adding loopsa cycle by adding loops– We inductively placeWe inductively place
robots into loopsrobots into loopsstarting with the laststarting with the lastloop and proceedingloop and proceedingto the original cycleto the original cycle
– By placing robots in aBy placing robots in aloop we obtain theloop we obtain thesmaller problemsmaller problem
– For the last cycle we needFor the last cycle we needtwo unoccupied verticestwo unoccupied vertices
STAIRS 2008 Pavel Surynek
r3 r4 r5
r1
r2
2-connectedremainder
r6
? ? ?
? ??
?
?
2-connectedremainder
r1
? ? ?
? ?r1
?
?
2-connectedremainder
r2
? ? ?
Complexity analysisComplexity analysis
DecompositionDecomposition of the graph into of the graph into bi-bi-connectedconnected components: components:
O(|V|+|E|)O(|V|+|E|) Moving robotsMoving robots into goal bi-connected into goal bi-connected
components:components:O(|V|O(|V|33))
Solving problem in the individualSolving problem in the individualbi-connectedbi-connected component: component:
O(|V| O(|V|33)) The algorithm requires O(|V|The algorithm requires O(|V|33) steps in total) steps in total
STAIRS 2008 Pavel Surynek
Conclusion and remarksConclusion and remarks
We proposed a We proposed a polynomial-time solving polynomial-time solving algorithmalgorithm for multiple robots path planning for multiple robots path planning problem in the case where there are at least problem in the case where there are at least two unoccupied verticestwo unoccupied vertices
The work on the specialized The work on the specialized domain-domain-dependent algorithmdependent algorithm is partially motivated is partially motivated by inefficiency of domain-independent by inefficiency of domain-independent planners on the problemplanners on the problem
Currently we are working on the Currently we are working on the generalizationgeneralization of the approach - some of the approach - some theoretical results are already known (Wilson, theoretical results are already known (Wilson, 1973)1973)
STAIRS 2008 Pavel Surynek