Dynamic Temporal Planning for
Multirobot Systems
C. Ugur Usug and Sanem Sarıel-Talay
{usugc,sariel}@itu.edu.tr
Outline
•
Motivation
–
Multirobot cooperation (earlier work)
•
Failure Recovery
•
Dynamic Temporal Planning Framework
–
Proposed methods
•
Preliminary Results
DEMiR-CF:
Distributed and Efficient Multi-Robot-Coop Framework
•
D
istributed &
E
fficient
M
ult
i
-
R
obot -
C
ooperation
F
ramework
•
A distributed multi-robot cooperation framework
–
for autonomous robots to achieve a complex mission in cooperation
–
Each robot selects its most suitable task in a
distributed manner
•
Rough schedules
are formed to consider the problem as a whole
•
Dynamic task selection
is carried out according to rough schedules
–
Appropriate robots are
allocated
to the selected tasks
in a
distributed
manner
•
Contingencies
are
handled
in real time
–
Recovery routines are applied for correcting models
(*) A Generic Framework for Distributed Multirobot Cooperation, Sanem Sariel-Talay, Tucker Balch and Nadia
Erdogan ,
Journal of Intelligent & Robotic Systems, 2011, Vol 63(2), pp. 323-358
Distributed Coordination
R1: move, drop
R2: move, drop
R3: move, drop, clean
R4: move, clean
The focus of this study: Failure Recovery
•
Execution Failures due to uncertain information
–
Replanning does not resolve the problem
–
Additional actions are needed
Valid plan – High level
Execution Failures:: Permanent Failure
•
Permanent Failure
–
resources are not adequate to move the object
–
cannot be resolved
R1
Wall
B1
Target
(move-to-loc ?robot ?location)
(move-to-obj ?robot ? location)
(pick ?robot ?smallObject)
(drop ?robot ?smallObject)
(push ?robot ?largeObject)
Execution Failures:: Temporary Failure
•
Temporary Failure
–
Unstructured environment: The robot is not aware of
the obstacle
–
Replan?
R1 B2 Wall Wall B1 TargetExecution Failures:: Temporary Failure
•
Temporary Failure
–
Unstructured environment: The robot is not aware of
the obstacle
–
Replan?
R1 B2 Wall B1 TargetExecution Failures:: Temporary Failure
•
Temporary Failure
–
Unstructured environment: The robot is not aware of
the obstacle
–
The operator “push” is defined in the domain
R1 B2
Wall Wall
B1
Recovery of Failures at the high level
•
Deactivate/Suspend failed actions
–
Till when?
•
Update the problem and the domain (inc. start
and end states)
–
Reasoning?
–
If definitions are not adequate (abstraction)?
•
Continual planning and subgoal planning
–
Subgoal determination?
Laziness in Representation
(def-adl-operator (push ?robot ?obj ?t ?s)
(pre
(?robot) (agent ?robot)
(?obj) (large-object ?obj)
(?t) (push-time ?t)
(?s) (push-speed ?s)
(?c) (hcost ?c)
(and
(notbusy ?robot)
(empty ?robot)
(= (xcoord ?robot) (xcoord ?obj))
(= (ycoord ?robot) (ycoord ?obj))
)
Updating the Domain
•
Temporary Failure in Execution
–
Due to uncertain information
•
Assumptions
–
The cause of failure is known
–
The knowledge may not be sufficient for reasoning
–
No experts
Dynamic Temporal Planning System
The Proposed Approach
•
Suspend the failed action
–
until the failure is believed to be resolved
•
Resume the failed action
–
When the situation of the cause is changed
•
Search for domain operators that affect the cause
in case they resolve the problem
M1: Adding a pseudo operator
(def-adl-operator (move-to-loc ?loc)
(pre
…
(not (move-to-loc
_
locked ?loc))
)
…
)
(def-adl-operator (
pseudo1
?obj ?loc)
(pre
(and
(= ?obj obstacle)
(move-to-loc
_
locked ?loc)
(or
(not (xcoord ?obj obj
_
x))
(not (ycoord ?obj obj_y))
)
)
)
(del
(move-to-loc
_
locked ?loc))
Properties of the
cause of failure
Failed Action
Related to the
failed action
Related to the
cause of the failure
M2: Adding replicated operators
(def-adl-operator (move-to-loc ?loc)
(pre
…
(not (move-to-loc
_
locked ?loc))
)
…
)
(def-adl-operator (
push-2
?obj ?loc)
(pre
…
(and
(= ?obj obstacle)
(move-to-loc
_
locked ?loc)
(or
(not (xcoord ?obj obj
_
x))
(not (ycoord ?obj obj_y))
)
M3: Adding a replicated failed operator
(def-adl-operator (move-to-loc ?loc)
(pre
…
(not (move-to-loc
_
locked ?loc))
)
…
)
(def-adl-operator (
move-to-loc-2
?loc ?obj)
(pre
…
(and
(= ?obj obstacle)
(move-to-loc
_
locked ?loc)
(or
(not (xcoord ?obj obj
_
x))
(not (ycoord ?obj obj_y))
)
)
)
…
)
(move-to-loc ?robot ?location)
(move-to-obj ?robot ? location)
(pick ?robot ?smallObject)
Experiment I – Settings
R1 R2 B2 Wall Wall B1 B2 TargetExperiment I – Results
–
2,53 GHz / 4GB RAM
–
Max Time: 500s
–
Memory: 20000 nodes
Problem Instance M et h o d Best-first Search A*#GN #EN Plan Time (s) Makespan(s) #GN #EN Plan Time (s) Makespan(s)
1 robot 1 box M1 46 23 0,038 46,97 103 54 0,088 46,97 M2 N/A 123 68 0,116 46,97 M3 44 22 0,04 46,97 79 45 0,078 46,97 1 robot 2 box M1 105 45 0,11 96,77 1148 550 0,78 81,01 M2 N/A 1050 558 0,8 81,01 M3 100 44 0,106 96,77 782 421 0,868 81,01 1 robot 3 box M1 177 70 0,194 143,38 21586 9720 59,25 118,4 M2 N/A 19569 9779 50,55 118,4 M3 175 69 0,194 143,38 14794 7425 25,3 118,4 2 robot 2 box M1 128 48 0,136 76,08 35193 12202 170,1 45,13 M2 N/A 38128 14376 195,13 45,13 M3 133 50 0,144 76,08 26793 10328 75,58 45,13 2 robot 3 box M1 319 101 0,323 151,19 N/A M2 N/A N/A M3 296 97 0,31 151,19 N/A 2 robot 4 box M1 609 172 0,586 240,43 N/A M2 N/A N/A M3 618 174 0,634 240,43 N/A
Simulations – Settings
Robot 1 Robot n TCP/IP Socket Communication Layer TCP/IP Socket Communication Layer Problem File TLPlan (Temporal Planner) TLPlan (Temporal Planner)TLPlan Output File Domain File
TLPlan Manager
TLPlan Manager
Problem & Domain Parser
Problem & Domain Parser