Exploiting Subgraph Structure in Multi-Robot Path Planning

Reading time: 5 minute
...

📝 Original Info

  • Title: Exploiting Subgraph Structure in Multi-Robot Path Planning
  • ArXiv ID: 1111.0053
  • Date: 2019-03-15
  • Authors: : Barraquand, Gilles; Takase, Koichi; Hada, Masayuki; Alami, Rachid; Gamache, Denis; Buro, Matthew; Furtak, Scott; van den Berg, Jan; Overmars, Mark; Erdmann, Michael; Lozano-Pérez, Tomás; LaValle, Steven M.; Hutchinson, Stephen

📝 Abstract

Multi-robot path planning is difficult due to the combinatorial explosion of the search space with every new robot added. Complete search of the combined state-space soon becomes intractable. In this paper we present a novel form of abstraction that allows us to plan much more efficiently. The key to this abstraction is the partitioning of the map into subgraphs of known structure with entry and exit restrictions which we can represent compactly. Planning then becomes a search in the much smaller space of subgraph configurations. Once an abstract plan is found, it can be quickly resolved into a correct (but possibly sub-optimal) concrete plan without the need for further search. We prove that this technique is sound and complete and demonstrate its practical effectiveness on a real map. A contending solution, prioritised planning, is also evaluated and shown to have similar performance albeit at the cost of completeness. The two approaches are not necessarily conflicting; we demonstrate how they can be combined into a single algorithm which outperforms either approach alone.

💡 Deep Analysis

Figure 1

📄 Full Content

There are many scenarios which require large groups of robots to navigate around a shared environment. Examples include: delivery robots in an office (Hada & Takase, 2001), a warehouse (Everett, Gage, Gilbreth, Laird, & Smurlo, 1994), a shipping yard (Alami, Fleury, Herrb, Ingrand, & Robert, 1998), or a mine (Alarie & Gamache, 2002); or even virtual armies in a computer wargame (Buro & Furtak, 2004). In each case we have many robots with independent goals which must traverse a shared environment without colliding with one another. When planning a path for just a single robot we can usually consider the rest of the world to be static, so that the world can be represented by a graph called a road-map. The path-planning problem then amounts to finding a path in the road-map, for which reasonably efficient algorithms exist. However, in a multi-robot scenario the world is not static. We must not only avoid collisions with obstacles, but also with other robots.

Centralised methods (Barraquand & Latombe, 1991), which treat the robots as a single composite entity, scale poorly as the number of robots increases. Decoupled methods (LaValle & Hutchinson, 1998;Erdmann & Lozano-Pérez, 1986), which first plan for each robot independently then resolve conflicts afterwards, prove to be much faster but are incomplete because many problems require robots to deliberately detour from their optimal path in order to let another robot pass. Even if a priority ordering is used (van den Berg & Overmars, 2005), requiring low priority robots to plan to avoid high-priority robots, problems can be found which cannot be solved with any priority ordering.

c 2008 AI Access Foundation. All rights reserved.

In realistic maps there are common structures such as roads, corridors and open spaces which produce particular topological features in the map which constrain the possible interactions of robots. In a long narrow corridor, for instance, it may be impossible for one robot to overtake another and so robots must enter and exit in a first-in/first-out order. On the other hand, a large open space may permit many robots to pass through it simultaneously without collision.

We can characterise these features as particular kinds of subgraphs occurring in the road-map. If we can decompose a map into a collection of such simple subgraphs, then we can build plans hierarchically, first planning the movements from one subgraph to another, then using special-purpose planners to build paths within each subgraph.

In this paper we propose such an abstraction. We limit ourselves to considering an homogeneous group of robots navigating using a shared road-map. We identify particular kinds of subgraphs in this road-map which place known constraints on the ordering of robots that pass through them. We use these constraints to make efficient planning algorithms for traversing each kind of subgraph, and we combine these local planners into a hierarchical planner for solving arbitrary problems.

This abstraction can be used to implement both centralised and prioritised planners, and we demonstrate both in this paper. Unlike most heuristic abstractions, this method is sound and complete. That is, when used with a centralised search it is guaranteed to find a correct plan if and only if one exists. This guarantee cannot be made when prioritised search is used, however the two-stage planning process means that a prioritised planner with the abstraction can often find plans that would not be available to it otherwise. Experimental investigation shows that this approach is most effective in maps with only sparsely connected graph representations.

We assume for this work that we are provided with a road-map in the form of a graph G = (V, E) representing the connectivity of free space for a single robot moving around the world (e.g. a vertical cell decomposition or a visibility graph, LaValle, 2006). We also have a set of robots R = {r 1 , . . . , r k } which we shall consider to be homogeneous, so a single map suffices for them all. We shall assume all starting locations and goals lie on this road-map.

Further, we shall assume that the map is constructed so that collisions only occur when one robot is entering a vertex v at the same time as another robot is occupying, entering or leaving this vertex. Robots occupying other vertices in the map do not affect this movement. With appropriate levels of underlying control these assumptions can be satisfied for most real-world problems.

A simple centralised approach to computing a plan proceeds as follows: First, initialise every robot at its starting position, then select a robot and move it to a neighbouring vertex, checking first that no other robot is currently occupying that vertex. Continue in this fashion, selecting and moving one of the robots at each step until each is at its goal. Pseudocode for this process is shown in Algorithm 1. The code is presented as a non-deterministic algorithm, with choice points

📸 Image Gallery

cover.png

Reference

This content is AI-processed based on open access ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut