CMU 15-781
Lecture 21: Multi-Robot Systems
Teacher: Gianni A. Di Caro
CMU 15-781 Lecture 21: Multi-Robot Systems Teacher: Gianni A. Di - - PowerPoint PPT Presentation
CMU 15-781 Lecture 21: Multi-Robot Systems Teacher: Gianni A. Di Caro M ULTI -R OBOT S YSTEMS ? 15781 Fall 2016: Lecture 18 2 M ULTI -R OBOT S YSTEMS ? So far: How to represent world and knowledge How to make rational decisions How
Teacher: Gianni A. Di Caro
15781 Fall 2016: Lecture 18
2
15781 Fall 2016: Lecture 18
3
environments subject to the laws of physics
motion/action, perception, communication, computation
So far:
Our rational (AI) agent was quite abstract → Physical AI agents
15781 Fall 2016: Lecture 18
4
15781 Fall 2016: Lecture 18
5
Hom Homoge
syst stem em: members are interchangeable He Heteroge
syst stem em: different members have different skills Loos
Being together is an advantage but not a strict necessity Speedup Tigh ghtly cou
They need each other to successfully complete the team task Cooperation, Coordination
15781 Fall 2016: Lecture 18
6
Coop
ative (Benevol
Robots are working together, forming a team Com
Robots competing for resources, are in adversarial scenario
15781 Fall 2016: Lecture 18
7
Central alized con
Decentral alized/D /Distributed con
15781 Fall 2016: Lecture 18
8
Team Mission Decomposition in sub-tasks Team resources and status Who does what? (and when, how) Optimizing team performance Dependencies (tasks, agents)
15781 Fall 2016: Lecture 18
9
Gi Given: ü A set of tasks, 𝑈 ü A set of robots, 𝑆 ü ℜ = 2' is the set of all possible robot sub-teams (e.g., (𝑠) = 0, 𝑠,= 0, 𝑠- = 1,𝑠
/ = 0, 𝑠0 = 1)
ü A robot sub-team utility (or cost) function: 𝒱𝑠: 23 → ℝ ∪{∞} (the utility/cost sub-team r incurs by handling a subset of tasks) ü An allocation is a function 𝐵: 𝑈 → ℜ mapping each task to a subset
Fi Find: Ø The allocation 𝐵∗ ∈ ℜ3 that maximizes (minimizes) a global, team- level utility (objective) function 𝒱: ℜ3 → ℝ ∪{∞}
15781 Fall 2016: Lecture 18
10
Matching
robots explicitly cooperate and tasks are explicitly assigned to the robot
assigned as the result of local interactions among the robots and with the environment Batch/ Online
15781 Fall 2016: Lecture 18
11
(Zlot, 2006)
15781 Fall 2016: Lecture 18
12
ates that account for all uncertainties, missing, information, …
information → Rational decision-making
performing a task is independent of
perfor
g an any ot
ask.
15781 Fall 2016: Lecture 18
13
(Gerkey and Mataric, 2006)
Assumption: Individual tasks can be assigned independently
15781 Fall 2016: Lecture 18
14
15781 Fall 2016: Lecture 18
15
In a centralized architecture, with each robot sending its |T| utilities to the controller, O(|T|2) messages are needed If |R|=|T| the problem becomes a linear assignment and a polynomial-time solution exist!
max
|R|
P
r=1 |T|
P
t=1
Urtxrt s.t.
|R|
P
r=1
xrt = 1 t = 1, . . . |T|
|T|
P
t=1
xrt = 1 r = 1, . . . |R| xrt ∈ {0, 1}
The Hungarian algorithm has complexity O(|T|3) Assignment with hundreds of robots in < 1s
15781 Fall 2016: Lecture 18
16
can be included in a two-step process
low utility values with respect to all tasks, such that that their assignment will not affect the optimal assignment of |R| tasks to the “real” robots
can be optimally assigned in a second round, which will likely feature # of robots greater than the # of tasks
that their assignment will not affect the assignment of real tasks
15781 Fall 2016: Lecture 18
17
beginning of the operations
iterative scheme?
Broadcast of Local Eligibility (BLE, 2001), worst-case 50% opt
15781 Fall 2016: Lecture 18
18
linear assignment provides the optimal solution MURDOCH (2002) When a new task is introduced, assign it to the most fit robot that is currently available.
line assignment algorithm (Kalyana-sundaram, Pruhs 1993).
15781 Fall 2016: Lecture 18
19
NP-hard! The “budget” constraints restricts the max number Tr of tasks (or the total time/energy to execute them based on some cost parameter c) that can be assigned to robot r Robots gets a schedule of tasks
max
|R|
P
r=1 |T|
P
t=1
Urtxrt s.t.
|T|
P
t=1
crtxrt ≤ Tr r = 1, . . . |R|
|R|
P
r=1
xrt = 1 t = 1, . . . |T| xrt ∈ {0, 1}
15781 Fall 2016: Lecture 18
20
If dependencies / constraints are included, “more” NP-Hard → If the utility is related to traveling distances the problem falls in the class of mTSP, VRP problems Multi-robot routing
15781 Fall 2016: Lecture 18
21
NP-hard! The “capacity” constraint explicitly restricts the max number Tr
Not common in the instances from MRTA Robots can work in ||
max
|R|
P
r=1 |T|
P
t=1
Urtxrt s.t.
|T|
P
t=1
crtxrt ≤ Tr r = 1, . . . |R|
|R|
P
r=1
xrt = 1 t = 1, . . . |T| xrt ∈ {0, 1}
15781 Fall 2016: Lecture 18
22
NP-hard! Vehicle routing problems with capacity constraints and pick-up and delivery fall in this category:
people) and picking up items along the way
dealing with MT
Robots can work in || on multiple tasks and have a time-extended schedule of tasks: quite uncommon in current MR literature
15781 Fall 2016: Lecture 18
23
NP-hard!
robots into non-overlapping sub-teams (coal
the given tasks instantaneously assigned
problem in combinatorial optimization. x x x x x x x x x x x x
1 2 3 4 5
S CT
Cover (Partition) the elements in R (Robots) using the elements in CT (feasible coalition-task pairs) without duplicates (overlapping) and at the min cost / max utility
R
15781 Fall 2016: Lecture 18
24
NP-hard!
robots into sub-teams (coal
instantaneously assigned. Overlap is admitted to model MT
problem in combinatorial optimization. CT
Cover (Partition) the elements in R (Robots) using the elements in CT (feasible coalition-task pairs) admitting duplicates (overlapping) and at the min cost / max utility x x x x x x x x x x x x
1 2 3 4 5
R
R
15781 Fall 2016: Lecture 18
25
scheduling, and it’s mathematically equivalent to MT-SR-TA
and multipurpose machines
Stentz, and M. Bernardine Dias. 2013. A comprehensive taxonomy for multi-robot task allocation. Int. J. Rob.
15781 Fall 2016: Lecture 18
26
solving the problems to optimality (e.g., Hungarian algorithm, IP solvers using branch-and-bound, optimization heuristics)
decentralized scheme (e.g., all robots employ the same
build the model)
formulate optimization problems.
15781 Fall 2016: Lecture 18
27
tasks (or roles, or resources) in an announcement phase
(estimated) utility function
auction is cleared in the winner determination phase: the auctioneer decides which items to award and to whom.
15781 Fall 2016: Lecture 18
28
– Accomplish task à Receive revenue – Consume resources à Incur cost – Robot goal: maximize own profit – Trade tasks and resources over the market (auctions)
finds better solution
distributed
$ $ $ $ $
15781 Fall 2016: Lecture 18
29
globally optimal solution
the overall profit
15781 Fall 2016: Lecture 18
30
Robotics and Automation, 2002 / IJRR 2004)
15781 Fall 2016: Lecture 18
31
problems