This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

MAPS-X: Explainable Multi-Robot Motion Planning via Segmentation

Justin Kottinger1, Shaull Almagor2, and Morteza Lahijanian1,3 J. Kottinger received funding from the Department of Education through a Graduate Assistantships in Areas of National Need Fellowship in Critical Aerospace Technologies. S. Almagor has received funding from the European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No 837327.1 Department of Aerospace Engineering Sciences, University of Colorado Boulder, USA {firstname.lastname}@colorado.edu2 The Henry and Marilyn Taub Faculty of Computer Science, Technion, Israel shaull@cs.technion.ac.il3 Department of Computer Science, University of Colorado Boulder, USA
Abstract

Traditional multi-robot motion planning (MMP) focuses on computing trajectories for multiple robots acting in an environment, such that the robots do not collide when the trajectories are taken simultaneously. In safety-critical applications, a human supervisor may want to verify that the plan is indeed collision-free. In this work, we propose a notion of explanation for a plan of MMP, based on visualization of the plan as a short sequence of images representing time segments, where in each time segment the trajectories of the agents are disjoint, clearly illustrating the safety of the plan. We show that standard notions of optimality (e.g., makespan) may create conflict with short explanations. Thus, we propose meta-algorithms, namely multi-agent plan segmenting-X (MAPS-X) and its lazy variant, that can be plugged on existing centralized sampling-based tree planners X to produce plans with good explanations using a desirable number of images. We demonstrate the efficacy of this explanation-planning scheme and extensively evaluate the performance of MAPS-X and its lazy variant in various environments and agent dynamics.

I Introduction

Multi-robot motion planning (MMP) is a fundamental challenge in robotics and artificial intelligence (AI). The goal in MMP is to plan trajectories for multiple robots according to their dynamics to reach their respective goal regions such that, when the plans are executed simultaneously, every robot (agent) successfully completes its trajectory without colliding with other agents or obstacles. Applications of MMP can be found in many areas where several moving agents interact in a shared workspace. One limitation of various AI tools, including MMP, is their inability to explain their decisions and actions to human users [1]. In many safety-critical application domains, such as air-traffic control and hazardous material warehouses, MMP tools are rarely utilized if at all. Instead, the trajectories are either hand designed or, if a planner is used, the generated paths are given to a human-supervisor for safety verification before execution. Thus, these settings require the plan to be presented in a humanly-understandable manner. Specifically, the presentation should enable the supervisor to understand the path taken by individual agents and to verify that the agents do not collide. To this end, the goal of this work is to present a method of generating explainable motion plans for multi-agent systems.

In general, MMP is NP-Complete even in the discrete (finite space) setting and naturally becomes intractable in the continuous (space) setting as the number of robots grows. A significant body of work is dedicated to overcoming this difficulty, both in the discrete domain (e.g., [2, 3]) and continuous domain (e.g., [4, 5, 6, 7]). There are two general approaches to MMP: centralized methods, which work in the composed space of all the agents [8, 6, 7], and de-centralized approaches, which divide the problem into several subproblems and solve each separately [9, 10, 11, 12]. The focus of all these works is to overcome the general difficulty of computing a plan in a short amount of time and optimizing the plan according to a measure such as makespan and path length. These works do not take into consideration the explainability of the plan. In fact, explainability often conflicts with other optimality measures and requires separate treatment.

Refer to caption
(a) Full Plan
Refer to caption
(b) Part 1
Refer to caption
(c) Part 2
Refer to caption
(d) Part 3
Figure 1: A plan for three (second-order) robotic agents in (a) is explained for visual verification via disjoint decomposition in (b)-(d). The small and large circles mark the initial and goal locations for the agents, respectively.

Significant effort has been dedicated to providing explanations for problems in AI and machine learning. For example, work [13] utilizes visualization to explain the result of certain machine learning algorithms that often come up with complicated classifiers. In [14], explanations are given by analyzing alternative plans with some user-defined properties. In [15], a user proposes a plan, and explanations are given as a minimal set of differences between the actual plan and the proposed plan. A broader approach was later given in [16], where multiple types of explanations are allowed. In that setting, the user can change the plan, motivating the planner to either explain why the original plan is better or to re-plan. None of these studies, however, focus on the MMP problem.

In [17], we propose an explanation scheme based on visualization for MMP in discrete domains. There, in order to convince a human supervisor that a suggested plan does not cause a collision between the agents, the plan is decomposed into time segments, such that within each segment the paths of the agents are disjoint (i.e., non-intersecting). Then, an explanation of the plan comprises a sequence of images representing each segment. An example of such explanations for three continuous agents is shown Fig. 1. It is important to note that, since identification of line intersections is made very early in the cognitive process (namely in the primary visual cortex) [18, 19], it is easy for a human to verify that in each segment, the paths do not intersect. Moreover, the sequence of images is potentially (and indeed, often in practice) much shorter than displaying, e.g., a slowed-down video of the agents taking their paths, and is hence easy to verify. In addition, [17] showed that finding optimal explanations for a given motion plan can be done in polynomial time, whereas generating plans for explainability, i.e., limiting the number of segments, is, at best, NP-Complete.

The algorithms proposed in [17] are based on a discrete (or discretized) environment, and thus overlook the challenges involved with motion planning in the continuous domain. In this work, we focus on MMP with explanations for realistic robotic systems in the continuous space with kinodynamical constraints. To this end, we treat explainability as an additional constraint on top of MMP, and incorporate it into existing sampling-based algorithms. As mentioned above and shown in [17], there is often a trade-off between planning for short explanations and short paths. Hence, explainability may conflict with state-of-the-art heuristics for MMP. In order to factor out precise heuristics, we devise generic meta-algorithms, that search for optimally-explainable plans using any centralized sampling-based algorithm. We demonstrate our meta algorithms by plugging them with classical motion planners such as rapidly-exploring random trees (RRT) [20].

The main contribution of this work is an explanation scheme for MMP that is based on path segmentation in the continuous domain. This scheme introduces a new constraint (challenge) to the motion planning problem that is not previously studied, to the best of our knowledge. We present two meta algorithms called multi-agent plan segmenting-X (MAPS-X), where X can be any existing centralized (kinodynamic) MMP planner. Another contribution is an extensive evaluation of these algorithms, highlighting their generality and differences in performance.

II Problem Formulation

Consider kk\in\mathbb{N} robotic systems (agents), in a shared workspace W2W\subseteq\mathbb{R}^{2} which includes a finite set of obstacles OO, where each obstacle oOo\in O is a closed subset of WW, i.e., oWo\subset W. The motion of each agent i{1,2,,k}i\in\{1,2,\ldots,k\} is subject to the following dynamic constraint:

𝐱˙i\displaystyle\mathbf{\dot{x}}_{i} =fi(𝐱i,𝐮i),\displaystyle=f_{i}(\mathbf{x}_{i},\mathbf{u}_{i}), 𝐱i\displaystyle\mathbf{x}_{i} Xini,\displaystyle\in X_{i}\subseteq\mathbb{R}^{n_{i}}, 𝐮i\displaystyle\mathbf{u}_{i} =Uimi,\displaystyle=U_{i}\subseteq\mathbb{R}^{m_{i}}, (1)

where XiX_{i} and UiU_{i} are the agent ii’s state and input spaces, respectively, and fi:Xi×UiXif_{i}:X_{i}\times U_{i}\rightarrow X_{i} is an integrable and possibly nonlinear function.

Given a time interval [t0,tf][t_{0},t_{f}], where t0,tf0t_{0},t_{f}\in\mathbb{R}_{\geq 0} and t0<tft_{0}<t_{f}, a controller 𝐮i:[t0,tf]Ui\mathbf{u}_{i}:[t_{0},t_{f}]\to U_{i}, and initial state xi,0Xix_{i,0}\in X_{i}, function fif_{i} can be integrated up to time t1tft_{1}\leq t_{f} to form a trajectory segment 𝐱it0:t1\mathbf{x}_{i}^{t_{0}:t_{1}} for agent ii, where 𝐱it0:t1(t0)=xi,0\mathbf{x}_{i}^{t_{0}:t_{1}}(t_{0})=x_{i,0}. For ss\in\mathbb{N} consecutive time intervals,

[t0,t1],[t1,t2],,[ts1,ts],[t_{0},t_{1}],[t_{1},t_{2}],\ldots,[t_{s-1},t_{s}], (2)

we define a trajectory

Ti={𝐱it0:t1,𝐱it1:t2,,𝐱its1:ts},T_{i}=\{\mathbf{x}_{i}^{t_{0}:t_{1}},\mathbf{x}_{i}^{t_{1}:t_{2}},\ldots,\mathbf{x}_{i}^{t_{s-1}:t_{s}}\},

where 𝐱itl1:tl(tl)=𝐱itl:tl+1(tl)\mathbf{x}_{i}^{t_{l-1}:t_{l}}(t_{l})=\mathbf{x}_{i}^{t_{l}:t_{l+1}}(t_{l}) for all l{1,2,,s1},l\in\{1,2,\ldots,s-1\}, to be a set of ss trajectory segments.

Let XiGXiX_{i}^{G}\subset X_{i} and xi,0Xix_{i,0}\in X_{i} denote the goal region (destination) and initial state of agent ii, respectively. The goal multi-robot motion planning (MMP) is to find a trajectory TiT_{i} with 𝐱i(t0)=xi,0\mathbf{x}_{i}(t_{0})=x_{i,0} for every agent i{1,2,,k}i\in\{1,2,\dots,k\} such that no agent collides with any obstacles nor with other agents, and 𝐱i(tf)XiG\mathbf{x}_{i}(t_{f})\in X_{i}^{G}. In explainable MMP we require that, in addition, the interval [t0,tf][t_{0},t_{f}] can be segmented to at most rr\in\mathbb{N} consecutive time intervals (for some user-defined upper bound rr), such that within each time interval, the trajectories are disjoint when presented to the user.

To formally define the explainable MMP problem, we start by formalizing the notion of disjoint segments. Let projWXi:niW\textsc{proj}_{W}^{X_{i}}:\mathbb{R}^{n_{i}}\rightarrow W be a function that projects a state xiXix_{i}\in X_{i} of agent ii onto workspace WW. Then, we call two trajectory segments 𝐱it1:t2\mathbf{x}_{i}^{t_{1}:t_{2}} and 𝐱jt1:t2\mathbf{x}_{j}^{t_{1}:t_{2}} disjoint if

projWXi(𝐱it1:t2(t))projWXj(𝐱jt1:t2(t))t,t[t1,t2].\textsc{proj}_{W}^{X_{i}}(\mathbf{x}_{i}^{t_{1}:t_{2}}(t))\;\neq\;\textsc{proj}_{W}^{X_{j}}(\mathbf{x}_{j}^{t_{1}:t_{2}}(t^{\prime}))\quad\forall t,t^{\prime}\in[t_{1},t_{2}].

We extend the notion of disjoint from segments to trajectories as follows. Given the ss time intervals from (2), we call a set of trajectories T={T1,T2,,Tk}T=\{T_{1},T_{2},\ldots,T_{k}\} segment-disjoint if for every segment l{1,2,,s}l\in\{1,2,\ldots,s\} the induced trajectory-segments 𝐱itl1:tlTi\mathbf{x}_{i}^{t_{l-1}:t_{l}}\in T_{i} and 𝐱jtl1:tlTj\mathbf{x}_{j}^{t_{l-1}:t_{l}}\in T_{j} are disjoint for all i,j{1,2,,k}i,j\in\{1,2,\ldots,k\} and iji\neq j.

We can now formulate the explainable MMP problem as follows.

Problem 1 (Explainable MMP)

Given kk robotic agents with dynamics described in (1), initial states x1,0,,xk,0x_{1,0},\ldots,x_{k,0}, goal regions X1G,,XkGX^{G}_{1},\ldots,X^{G}_{k}, and a bound rr\in\mathbb{N} on the number of segments, find a controller 𝐮i:[t0,tf]Ui\mathbf{u}_{i}:[t_{0},t_{f}]\to U_{i} for each agent i{1,,k}i\in\{1,\ldots,k\} and time points t1,,tst_{1},\ldots,t_{s}, where srs\leq r and t0<t1<<ts1<ts=tft_{0}<t_{1}<\ldots<t_{s-1}<t_{s}=t_{f}, such that the obtained trajectory TiT_{i} takes agent ii from 𝐱i(t0)=xi,0\mathbf{x}_{i}(t_{0})=x_{i,0} to 𝐱i(tf)XiG\mathbf{x}_{i}(t_{f})\in X^{G}_{i} while avoiding collisions with obstacles, and the set of trajectories T={T1,,Tk}T=\{T_{1},\ldots,T_{k}\} is segment-disjoint.

Note that the segment-disjoint requirement for the trajectories in Problem 1 implies that the trajectories do not cause collisions between the agents. Further, a solution to this problem consists of not only kk valid trajectories but also a decomposition of these trajectories into ss set of disjoint segments. The explanations are then ss images, one image per set of segments projected onto the workspace WW, e.g., Fig. 1(b)-1(d).

We emphasize that our goal in this work is not to design an efficient algorithm that solves the general MMP problem. Rather, our goal is to design meta algorithms that turn an existing MMP planner into an explainable MMP that solves Problem 1. Specifically, we focus on centralized MMP, where planning takes place in the compound space of the agents. This approach has two advantages: first, centralized algorithms maintain most of the structure of the search space. This allows us to obtain optimal explanations (segments), which in turn sets a baseline by which to compare more involved algorithms for explainable MMP. Second, centralized planning uses well-understood algorithms, which enable us to reason about the explanations we obtain with respect to different algorithms. In contrast, de-centralized MMP algorithms may be too involved to separate their properties from the explanations they yield. We discuss incorporating explanations into more involved algorithms in Section V.

Finally, we remark that our definitions of disjoint trajectory segments is based on trajectory intersections. This definition (and the proposed algorithms) can be easily extended to intersections of robots with 2D shapes.

III Algorithms

In this section, we present three methodologies to solve Problem 1. These are based on a centralized approach to MMP, so we first present Planner X, which is a generic centralized sampling-based tree planner. Then, we define a post-process procedure that can minimally decompose (i.e., explain) an existing MMP solution, e.g., returned by Planner X, into disjoint segments. Next, we outline two frameworks that can be incorporated into Planner X to solve explainable MMP queries.

III-A Planner X: Centralized Sampling-based Tree MMP

Centralized tree-based planners grow a motion tree in the composed state space 𝕏=X1×X2××Xk\mathbb{X}=X_{1}\times X_{2}\times\ldots\times X_{k} of the agents according to the dynamics in (1) through sampling and extension procedures. A generalized sampling-based tree planner X is outlined in Alg. 1. It takes the composed state and input spaces, 𝕏\mathbb{X} and 𝕌=U1××Uk\mathbb{U}=U_{1}\times\ldots\times U_{k}, respectively, the goal set 𝔾=X1G××XkG\mathbb{G}=X_{1}^{G}\times\ldots\times X_{k}^{G}, the set of obstacles OO, an initial configuration for all agents x0=(x1,0T,,xk,0T)T𝕏x_{0}=(x_{1,0}^{T},\ldots,x_{k,0}^{T})^{T}\in\mathbb{X}, and a specified number of iterations NN\in\mathbb{N} and returns a valid trajectory if found in NN iterations.

1 G={Vx0,E}G=\{V\leftarrow x_{0},E\leftarrow\emptyset\};
2 for NN iterations do
3       (xrand,xnear)sample(𝕏,V)(x_{rand},x_{near})\leftarrow sample(\mathbb{X},V);
4       xnew=multiAgentExtend(xnear,xrand,𝕌)x_{new}=\textsc{multiAgentExtend}(x_{near},x_{rand},\mathbb{U});
5       if isValid(xnear,xnew)isValid(\overrightarrow{x_{near},x_{new}}) then
6             VV{xnew};V\leftarrow V\cup\{x_{new}\}; EE{xnear,xnew}E\leftarrow E\cup\{\overrightarrow{x_{near},x_{new}}\};
7             if xnew𝔾x_{new}\in\mathbb{G} then
8                   return x0,xnew\overrightarrow{x_{0},x_{new}};
9                  
10            
11      
return G(V,E)G(V,E)
Algorithm 1 Planner X (𝕏\mathbb{X}, 𝕌\mathbb{U}, 𝔾\mathbb{G}, O, x0x_{0}, N)

The algorithm first initializes the graph with the initial state (root node) x0x_{0}. Next, an existing node xnearx_{near} and a random state xrandx_{rand} are picked through a sampling process in Line 1. After that, Line 1 samples control inputs u𝕌u\in\mathbb{U} and propagates the multi-agent system from xnearx_{near} toward xrandx_{rand} to generate a new state xnewx_{new}. If the newly generated trajectory xnear,xnew\overrightarrow{x_{near},x_{new}} is valid, i.e., it does not result in a collision with obstacles nor with other agents, then Line 1 adds the vertex xnewx_{new} and the edge xnear,xnew\overrightarrow{x_{near},x_{new}} to GG. This process repeats a maximum of NN times, exiting early if a solution is found. To speed up computation, it is common in the multi-agent setting to propagate only agents ii that are not in their respective goal region XiGX_{i}^{G} in the procedure multiAgentExtend. For the remainder of the paper, we refer to this planner as Planner X.

III-B Minimal Disjoint Segmentation

One method of explaining a multi-agent trajectory is to solve the explainability problem after the planning problem. This solution involves running a motion planner (e.g., Planner X) to generate a solution T=x0,xgoalT=\overrightarrow{x_{0},x_{goal}}, and then finding a minimal segmentation of the solution. This post-processing procedure, shown in Alg. 2, is called segmentSol.

1 dd, s1s\leftarrow 1; vx0v\leftarrow x_{0};
2 while vxgoalv\neq x_{goal} do
3       intersectionproject2D(v,d)intersection\leftarrow\textsc{project2D}(v,d);
4       if intersection then
5             for d1d-1 timestimes do
6                   v.segmentNumsv.segmentNum\leftarrow s; vv.childv\leftarrow v.child;
7                  
8            d1d\leftarrow 1; ss+1s\leftarrow s+1;
9            
10      else
11             dd+1d\leftarrow d+1;
12            
13      
return x0,xgoal\overrightarrow{x_{0},x_{goal}}
Algorithm 2 segmentSol(T=x0,xgoalT=\overrightarrow{x_{0},x_{goal}})

Alg. 2 is implemented using a greedy approach – we traverse the nodes of the solution trajectory x0,xgoal\overrightarrow{x_{0},x_{goal}}, and add nodes to a segment as long as the projection of the agents’ trajectories do not intersect (Line 2). Once an intersection occurs, we end the segment (collating the nodes before the intersection), and start a fresh segment (Lines 2 and 2).

Checking for intersections (procedure project2D, Line 2) can be implemented efficiently, e.g., using linear interpolations of the projected paths in some Δt\Delta t intervals. As proven in [17], the greedy approach of Alg. 2 is guaranteed to obtain a minimal segmentation among those whose end-points are multiples of Δt\Delta t. Thus, we have the following theorem.

Theorem 1 (Min. disjoint segmentation [17], Thm. 3.1)

Given a set of trajectories T={T1,,Tk}T=\{T_{1},\ldots,T_{k}\} for kk agents, Alg. 2 computes a segmentation of TT such that the resulting trajectories are segment-disjoint with minimal number of segments111Minimal among segmentations whose end-points are multiples of Δt\Delta t..

Observe that Alg. 2 makes a single pass on the trajectory, but for each new node along the trajectory, intersections need to be checked against the segment collated so far. Thus, the algorithm has a quadratic running time, parametrized by the implementation of project2D, which can be made efficient.

The post-processing procedure segmentSol provides explanations for a solution of the MMP problem, i.e., enables users to validate that multi-agent trajectories are collision free. While this procedure guarantees a minimal segmentation for the given trajectory, it cannot guarantee that this number is below the given bound rr (or indeed, the minimal segmentation of any trajectory). That is because the planning process and the segmentation process are completely separate. Thus, strictly relying on Alg. 2 could result in unsatisfiable explanations that require many segments. Next, we show how to solve the planning problem and the explanability problem simultaneously.

III-C Planning with Segmentation

III-C1 Lazy MAPS-X

The most intuitive solution for combining explanations into the planning procedure is to incorporate Alg. 2 into Planner X. The resulting algorithm is shown in Alg. 3. It runs Planner X until a solution is found. Then, rather than immediately exiting the loop with a solution, Line 3 calculates the number of disjoint segments of the solution. If it is satisfactory, i.e., it is at most the user-defined upper bound rr, it returns trajectory T=x0,xnewT=\overrightarrow{x_{0},x_{new}}. Otherwise, Line 3 prunes the unsatisifiable portion of the solution and continues planning. The loop repeats until a satisfiable solution is found.

1 G={Vx0,E}G=\{V\leftarrow x_{0},E\leftarrow\emptyset\};
2 for NN iterations do
3       (xrand,xnear)sample(𝕏,V)(x_{rand},x_{near})\leftarrow sample(\mathbb{X},V);
4       xnew=multiAgentExtend(xnear,xrand,𝕌)x_{new}=\textsc{multiAgentExtend}(x_{near},x_{rand},\mathbb{U});
5       if isValid(xnear,xnew)isValid(\overrightarrow{x_{near},x_{new}}) then
6             VV{xnew}V\leftarrow V\cup\{x_{new}\}; EE{xnear,xnew}E\leftarrow E\cup\{\overrightarrow{x_{near},x_{new}}\};
7             if 𝐱new𝔾\mathbf{x}_{new}\in\mathbb{G} then
8                   ssegmentSol(x0,xnew)s\leftarrow\textsc{segmentSol}(\overrightarrow{x_{0},x_{new}});
9                   if srs\leq r then
10                         return x0,xnew\overrightarrow{x_{0},x_{new}}
11                  else
12                         pruneSol(x0,xnew)pruneSol(\overrightarrow{x_{0},x_{new}});
13                        
14                  
15            
16      
return G(V,E)G(V,E)
Algorithm 3 Lazy MAPS-X (𝕏\mathbb{X}, 𝕌\mathbb{U}, 𝔾\mathbb{G}, O, x0x_{0}, N, rr)

We call this framework lazy multi-agent plan segmenting X (Lazy MAPS-X) because it ‘lazily’ turns Planner X into an explainable planner. The number of segments required to explain a trajectory segment from the root node x0x_{0} to a node xnewx_{new} is only considered if it is part of a possible solution. All other nodes are ignored. In Section IV, we show that Lazy MAPS-X works well when the environment naturally admits small number of explanations, but its benefits are hindered when the system behavior must be changed to match optimal explanation schemes. In such a situation, a more involved framework is desired.

III-C2 MAPS-X

We provide another version of our framework by further integrating segmentation into the planner. This planner differs from its Lazy counterpart by calculating how many segments are required to explain each trajectory from the root node x0x_{0} to a new node xnewx_{new} during the planning phase. In doing so, MAPS-X only adds nodes that have a satisfiable number of explanations to graph (tree) GG.

Alg. 4 outlines MAPS-X. Here, we define a cost for each node xnewx_{new} in the graph GG equivalent to the number of segments required to explain the trajectory from the root node x0x_{0} to xnewx_{new}. After verifying that xnewx_{new} is valid, MAPS-X calculates the cost of the node in Line 4 through procedure findTotalCost. If it is satisfiable (xnew.costrx_{new}.cost\leq r), then the node is added to the tree; otherwise, it is rejected.

Procedure findTotalCost computes the cost of a new node by calling Alg. 2. For every new node xnewx_{new}, findTotalCost first identifies the current trajectory segment, i.e., set of nodes with the same cost (segment number) as the parent of xnewx_{new} on the current branch of GG. Then, it calls Alg. 2 on the current segment to check whether the addition of xnewx_{new} requires a new segmentation, i.e., whether xnear,xnew\overrightarrow{x_{near},x_{new}} intersects with the current segment. If so, it updates the costs of the nodes on the current segment accordingly; otherwise, the cost of xnewx_{new} is set to the cost of its parent node, i.e., xnew.cost=xnew.parent.costx_{new}.cost=x_{new}.parent.cost. Note that this procedure is efficient since it only checks for the current segment, not the entire trajectory from the root to xnewx_{new}.

1 G={Vx0,E}G=\{V\leftarrow x_{0},E\leftarrow\emptyset\};
2 for NN iterations do
3       (xrand,xnear)sample(𝕏,V)(x_{rand},x_{near})\leftarrow sample(\mathbb{X},V);
4       xnew=multiAgentExtend(xnear,xrand,𝕌)x_{new}=\textsc{multiAgentExtend}(x_{near},x_{rand},\mathbb{U});
5       if isValid(xnear,xnew)isValid(\overrightarrow{x_{near},x_{new}}) then
6             findTotalCost(xnew)\textsc{findTotalCost}(x_{new});
7             if xnew.costrx_{new}.cost\leq r then
8                   VV{xnew}V\leftarrow V\cup\{x_{new}\}; EE{xnear,xnew}E\leftarrow E\cup\{\overrightarrow{x_{near},x_{new}}\};
9                   if xnew𝔾x_{new}\in\mathbb{G} then
10                         return x0,xnew\overrightarrow{x_{0},x_{new}};
11                        
12                  
13            
14      
return G(V,E)G(V,E)
Algorithm 4 MAPS-X (𝕏\mathbb{X}, 𝕌\mathbb{U}, 𝔾\mathbb{G}, x0x_{0}, N, ΔT\Delta T, rr)

The resulting behavior is a planner that tracks the number of segments required to explain each of its branches as the tree grows. Because only satisfiable nodes are added to GG, MAPS-X guarantees that the number of disjoint segments (explanations) of a solution is less than or equal to rr. Furthermore, since all nodes individually track their segment count (cost), once a solution is found, the segmentation information is already embedded in the solution, and no further computation is needed.

III-C3 Completeness and Optimality

It is important to note that Alg. 3 and 4 inherent the completeness property of the underlying Planner X. For example, a common property for sampling-based planners is probabilistically completeness, i.e., as number of planning iterations NN approaches infinity, the probability of finding a solution, if one exists, approaches 11. Then, we can make the following statement for Lazy MAPS-X and MAPS-X.

Theorem 2 (Completeness)

Planners Lazy MAPS-X and MAPS-X are probabilistically complete if and only if Planner X is probabilistically complete.

The proof for MAPS-X follows from Theorem 1 (the computed cost of each node is the minimal number of disjoint segments from root to that node) and the fact that MAPS-X mimics the behavior of Planner X, while only being more restrictive in the validity of nodes in the graph GG with respect to bound rr, i.e., it adds a node to the tree only if the number of disjoint segments to the node from the root is less than or equal to rr. Similarly, Lazy MAPS-X mimics the behavior of Planner X. But rather than being more restrictive in the validity of nodes in the graph GG during the extension procedure, Lazy MAPS-X is more restrictive in the solutions of GG with respect to rr and prunes the tree in a post procedure. Therefore, if a solution to Problem 1 exists in a particular query, Lazy MAPS-X and MAPS-X will find it with probability approaching 11 as NN approaches infinity.

Lazy MAPS-X and MAPS-X can be turned into asymptotically optimal planners. This is achieved by iteratively running a particular planning query and lowering the bound rr at each run. Hence, the resulting meta-planner monotonically decreases its cost (explanations) and hence asymptotically approaches the optimal value.

IV Experiments and Benchmarks

In this section, we demonstrate the efficacy of our explanation scheme and evaluate the performance of the proposed meta-algorithms Lazy MAPS-X and MAPS-X. We implemented these algorithms with the classical motion planners RRT [20] and EST [21] and evaluated their performance in several environments and agents dynamics. The benchmarking results are shown in Table I.

Our implementations use the Open Motion Planning Library (OMPL) [22] and are available here [23]. The benchmarks were performed on a machine with AMD Ryzen 7 3.9 GHz CUP and 64 GB of RAM.

IV-A MAPS Planning

We begin by showcasing our explanation scheme in several settings, and gaining some insight into its properties.

Fig. 2(a) shows an example solution of the continuous MMP problem produced by RRT. The example shows two agents, each with 2nd2^{\text{nd}}-order car dynamics, that cross each others’ paths to get to their goals (indeed, the paths must cross in this environment). While it is difficult for a human to validate that this plan is collision free, this becomes easy with MAPS-RRT, using two images (Figs. 2(b)-2(c)). Observe that in this example, the plan found by RRT already admits a minimal decomposition, therefore MAPS-RRT merely finds it.

Refer to caption
(a) Full Solutions
Refer to caption
(b) ΔT1=[0,38.5]\Delta T_{1}=[0,38.5]
Refer to caption
(c) ΔT2=[38.5,45.5]\Delta T_{2}=[38.5,45.5]
Figure 2: Open Space: solutions via RRT and MAPS-RRT.
Refer to caption
(a) ΔT1=[0,22.1]\Delta T_{1}=[0,22.1]
Refer to caption
(b) ΔT2=[22.1,48.9]\Delta T_{2}=[22.1,48.9]
Refer to caption
(c) MAPS-X r=1r=1.
Figure 3: Solution via RRT and MAPS-RRT with r=1r=1.
Refer to caption
(a) MAPS-RRT with r=3r=3
Refer to caption
(b) MAPS-RRT with r=2r=2
Refer to caption
(c) ΔT1=[0,14.5]\Delta T_{1}=[0,14.5]s
Refer to caption
(d) ΔT2=[14.5,42.3]\Delta T_{2}=[14.5,42.3]s
Figure 4: Congested space: MAPS-RRT with 3 and 2 segments.
Refer to caption
(a) Full solution
Refer to caption
(b) [0,24.5][0,24.5]s
Refer to caption
(c) [24.5,41.2][24.5,41.2]s
Figure 5: Corridor space: solution via MAPS-EST with r=2r=2.

In contrast, the environment in Fig. 3 can easily admit non-intersecting paths as the blue agent can go around the red agent (Fig. 3(c)). However, with RRT, we often get intersecting paths as shown in Fig. 3(a)-3(b). By using MAPS-RRT and setting r=1r=1, we quickly get the easily-explainable solution in Fig. 3(c) with only one segment.

Refer to caption
(a) Full solution
Refer to caption
(b) ΔT1=[0,10.6]\Delta T_{1}=[0,10.6]s
Refer to caption
(c) ΔT2=[10.6,17.7]\Delta T_{2}=[10.6,17.7]s
Refer to caption
(d) ΔT3=[17.7,27.9]\Delta T_{3}=[17.7,27.9]s
Refer to caption
(e) ΔT4=[27.9,43.4]\Delta T_{4}=[27.9,43.4]s
Figure 6: Hallway space: solution via MAPS-RRT with 3 agents
Space Planner Dyn. # Agents r # Solns. Found (%) Runtime (s) Runtime Success (s) Ave. Cost Segment Time (s) States added per sec.
1 Open MAPS-RRT 1C 2 \infty 100 4±34\pm 3 4±34\pm 3 2±12\pm 1 0.8±0.50.8\pm 0.5 1300±751300\pm 75
2 Open Lazy MAPS-RRT 1C 2 \infty 100 3±23\pm 2 3±23\pm 2 2±12\pm 1 0.12±0.010.12\pm 0.01 1600±941600\pm 94
3 Open MAPS-RRT 1C 2 1 90.5 11±911\pm 9 9±69\pm 6 1±01\pm 0 4±34\pm 3 800±99800\pm 99
4 Open Lazy MAPS-RRT 1C 2 1 7.2 20±1120\pm 11 12±912\pm 9 1±01\pm 0 2±12\pm 1 1200±771200\pm 77
5 Congested MAPS-RRT 1C 2 1 85 37.9±33.137.9\pm 33.1 26.9±2526.9\pm 25 1±01\pm 0 10.1±8.110.1\pm 8.1 629.4±135629.4\pm 135
6 Congested Lazy MAPS-RRT 1C 2 1 0.0 100±0100\pm 0 n/a n/a 14.7±7.514.7\pm 7.5 598±42598\pm 42
7 Congested MAPS-RRT 2C 2 \infty 100 0.33±0.280.33\pm 0.28 0.33±0.280.33\pm 0.28 3±13\pm 1 0.09±0.080.09\pm 0.08 2100±1522100\pm 152
8 Congested MAPS-RRT 2C 2 3 100 0.39±0.390.39\pm 0.39 0.39±0.390.39\pm 0.39 2±12\pm 1 0.1±0.10.1\pm 0.1 2000±1822000\pm 182
9 Congested MAPS-RRT 2C 2 1 100 0.67±0.90.67\pm 0.9 0.67±0.90.67\pm 0.9 1±01\pm 0 0.25±0.360.25\pm 0.36 1400±2621400\pm 262
10 Corridor MAPS-RRT 1U 2 \infty 100 0.53±0.580.53\pm 0.58 0.53±0.580.53\pm 0.58 3±13\pm 1 0.13±0.150.13\pm 0.15 1600±1201600\pm 120
11 Corridor MAPS-RRT 1U 2 4 100 0.54±0.470.54\pm 0.47 0.54±0.470.54\pm 0.47 3±13\pm 1 0.13±0.120.13\pm 0.12 1600±1101600\pm 110
12 Corridor MAPS-RRT 1U 2 2 100 0.77±0.840.77\pm 0.84 0.77±0.840.77\pm 0.84 2±02\pm 0 0.21±0.260.21\pm 0.26 1400±1871400\pm 187
13 Corridor MAPS-RRT 1U 2 1 100 1.54±1.91.54\pm 1.9 1.54±1.91.54\pm 1.9 1±01\pm 0 0.56±0.740.56\pm 0.74 1000±1821000\pm 182
14 Hallway MAPS-RRT 2L 3 \infty 100 4.15±3.94.15\pm 3.9 4.15±3.94.15\pm 3.9 3±13\pm 1 1.13±0.91.13\pm 0.9 1000±1231000\pm 123
15 Hallway MAPS-RRT 2L 3 3 100 4.4±5.24.4\pm 5.2 4.4±5.24.4\pm 5.2 3±03\pm 0 1.17±1.111.17\pm 1.11 900±154900\pm 154
16 Hallway MAPS-RRT 2L 3 2 100 6.21±7.186.21\pm 7.18 6.21±7.186.21\pm 7.18 2±02\pm 0 1.78±1.851.78\pm 1.85 744±167744\pm 167
17 Hallway MAPS-RRT 2L 3 1 93.5 28.61±27.5828.61\pm 27.58 23.64±20.7923.64\pm 20.79 1±01\pm 0 10.6±9.110.6\pm 9.1 283±69283\pm 69
TABLE I: Benchmark results with 200 runs. The two character dynamics are 1st1^{st}- and 2nd2^{nd}- order Linear, Unicycle, and Car, respectively. The maximum allowed time was 30s30s for rows 1-4, and 100s100s for rows 5-17. The mean and standard deviation over all planning runs are shown for columns 7-11.

Explainability can come at a cost of plan length, as we show in Fig. 4: when planning with a bound of r=3r=3 segments, we obtain the short plan in Fig. 4(a), where the agents follow one another closely in the corridor. This example creates a zig-zag behavior between agents that follow 2nd2^{nd}-order linear dynamics, making it difficult for human validation (and indeed requires a 3-segment explanation). However, a better-explainable plan, obtained by setting r=2r=2, is given in 4(b). There, the blue agent waits for the red agent to get far ahead, before entering the corridor, as is explained in Figs. 4(c) and 4(d).

When agents go in opposite directions through a corridor, as demonstrated in the environment of Fig. 5, a controller may want to assure that the planner does not get both robots in the corridor at the same time, as that would be risky (cause path crossing). The explanation given in Figs. 5(b)5(c) shows that indeed, only one robot is at the corridor at a time.

Validating trajectories without explanations gets more difficult as the number of agents increases. For example, consider the solution shown in Fig. 6(a) where the agents have 2nd2^{nd}-order linear dynamics. A human user could have a difficult time checking that the entire trajectory is collision free. However, planning with the MAPS framework presents an easily verified solution, as shown in Fig. 6. Moreover, by decreasing bound rr, we improve the explainability and as a result get a “cleaner” plan, e.g., the solution in Fig 1 was obtained with r=3r=3.

IV-B Performance Evaluation

We now turn to study the performance of our algorithms. Our results are summarized in Table I. Recall that MAPS-X is paramterized by Planner X and inherits its planning properties. As this is an orthogonal concern to planning (for the scope of this paper), we focus on RRT as the planner.

Our results confirm expected phenomena of explanations. When planning without a bound (r=r=\infty), MAPS-RRT and Lazy MAPS-RRT perform the same search, but MAPS-RRT has additional computational cost of tracking segmentation. Thus, in e.g., Rows 1, 2 of Table I both algorithms obtain the same average number of segments (2±12\pm 1 segments), but MAPS-RRT takes longer to compute the segmentations. As the bound rr decreases, (Rows 3, 4, 8, 9, 11-13, and 15-17), MAPS-RRT takes longer to find solutions, but gives a lower number of segments. For low values of rr, Lazy MAPS-RRT is required to prune very often. Since unlike MAPS-RRT, it does not store segmentation information in the nodes, these prunings are expensive, resulting in the higher runtimes and fewer solutions found, as can be seen in Rows 3-6.

V Conclusion and Discussion

This work outlines a new aspect of MMP by considering explanation schemes for plans. The MAPS-X framework can be readily plugged on to existing (centralized) planners in order to provide explainable plans. As we showed, using MAPS-X to find short explanations sometimes generates longer plans, but can also make plans neater (at the cost of computational time). In future work, we plan to add explanation generation to state-of-the-art techniques, and in particular to decentralized approaches, in order to improve scalability.

References

  • [1] M. Turek, “Explainable artificial intelligence,” 2018. [Online]. Available: https://www.darpa.mil/program/explainable-artificial-intelligence
  • [2] R. Stern, N. R. Sturtevant, D. Atzmon, T. Walker, J. Li, L. Cohen, H. Ma, T. K. S. Kumar, A. Felner, and S. Koenig, “Multi-agent pathfinding: Definitions, variants, and benchmarks,” Symposium on Combinatorial Search (SoCS), pp. 151–158, 2019.
  • [3] T. S. Standley, “Finding optimal solutions to cooperative pathfinding problems,” in Twenty-Fourth AAAI Conference on Artificial Intelligence, 2010.
  • [4] F. Gravot and R. Alami, “A method for handling multiple roadmaps and its use for complex manipulation planning,” in 2003 IEEE International Conference on Robotics and Automation (Cat. No. 03CH37422), vol. 3.   IEEE, 2003, pp. 2914–2919.
  • [5] M. Gharbi, J. Cortés, and T. Siméon, “Roadmap composition for multi-arm systems path planning,” in 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems.   IEEE, 2009, pp. 2471–2476.
  • [6] G. Wagner and H. Choset, “Subdimensional expansion for multirobot path planning,” Artificial Intelligence, vol. 219, pp. 1–24, 2015.
  • [7] R. Shome, K. Solovey, A. Dobson, D. Halperin, and K. E. Bekris, “drrt*: Scalable and informed asymptotically-optimal multi-robot motion planning,” Autonomous Robots, vol. 44, no. 3, pp. 443–467, 2020.
  • [8] K. Solovey, O. Salzman, and D. Halperin, “Finding a needle in an exponential haystack: Discrete rrt for exploration of implicit roadmaps in multi-robot motion planning,” in Algorithmic Foundations of Robotics XI.   Springer, 2015, pp. 591–607.
  • [9] J. D. Gammell, S. S. Srinivasa, and T. D. Barfoot, “Bit*: Batch informed trees for optimal sampling-based planning via dynamic programming on implicit random geometric graphs,” arXiv preprint arXiv:1405.5848, 2014.
  • [10] G. Sanchez and J.-C. Latombe, “Using a prm planner to compare centralized and decoupled planning for multi-robot systems,” in Proceedings 2002 IEEE International Conference on Robotics and Automation (Cat. No. 02CH37292), vol. 2.   IEEE, 2002, pp. 2112–2119.
  • [11] J. P. Van Den Berg and M. H. Overmars, “Prioritized motion planning for multiple robots,” in IEEE/RSJ International Conference on Intelligent Robots and Systems.   IEEE, 2005, pp. 430–435.
  • [12] S. Tang and V. Kumar, “A complete algorithm for generating safe trajectories for multi-robot teams,” in Robotics Research.   Springer, 2018, pp. 599–616.
  • [13] S. Lapuschkin, S. Wäldchen, A. Binder, G. Montavon, W. Samek, and K.-R. Müller, “Unmasking clever hans predictors and assessing what machines really learn,” Nature Communications, vol. 10, no. 1, Mar 2019. [Online]. Available: http://dx.doi.org/10.1038/s41467-019-08987-4
  • [14] R. Eifler, M. Cashmore, H. Jorg, D. Magazzeni, and M. Steinmetz, “Explaining the space of plans through plan-property dependencies,” Proceedings of the 2nd Workshop on Explainable Planning (XAIP), 2019.
  • [15] S. Kambhampati, “Synthesizing explainable behavior for human-ai collaboration,” in Proceedings of the 18th International Conference on Autonomous Agents and MultiAgent Systems.   Richland, SC: International Foundation for Autonomous Agents and Multiagent Systems, 2019, p. 1–2.
  • [16] M. Fox, D. Long, and D. Magazzeni, “Explainable planning,” 2017.
  • [17] S. Almagor and M. Lahijanian, “Explainable multi agent path finding,” in To appear in Int’l Conference on Autonomous Agents and Multi-agent Systems (AAMAS), 2020.
  • [18] D. H. Hubel and T. N. Wiesel, “Receptive fields of single neurones in the cat’s striate cortex,” The Journal of Physiology, vol. 148, no. 3, 1959.
  • [19] S. Tang, T. S. Lee, M. Li, Y. Zhang, Y. Xu, F. Liu, B. Teo, and H. Jiang, “Complex pattern selectivity in macaque primary visual cortex revealed by large-scale two-photon imaging,” 2018.
  • [20] S. M. Lavalle, “Rapidly-exploring random trees: A new tool for path planning,” Tech. Rep., 1998.
  • [21] D. Hsu, J.-C. Latombe, and R. Motwani, “Path planning in expansive configuration spaces,” in Proceedings of International Conference on Robotics and Automation, vol. 3.   IEEE, 1997, pp. 2719–2726.
  • [22] I. A. Şucan, M. Moll, and L. E. Kavraki, “The Open Motion Planning Library,” IEEE Robotics & Automation Magazine, vol. 19, no. 4, pp. 72–82, December 2012, https://ompl.kavrakilab.org.
  • [23] J. Kottinger, “Multi-Agent Plan Segmentating-X (MAPS-X),” 2020. [Online]. Available: https://github.com/aria-systems-group/MAPS-X