Table of Contents
Fetching ...

Joint Task Assistance Planning via Nested Branch and Bound (Extended Version)

Omer Daube, Oren Salzman

TL;DR

A nested branch-and-bound framework that efficiently explores the space of robot paths in a hierarchical manner is proposed that demonstrates a speedup of up to two orders of magnitude when compared to a baseline approach.

Abstract

We introduce and study the Joint Task Assistance Planning problem which generalizes prior work on optimizing assistance in robotic collaboration. In this setting, two robots operate over predefined roadmaps, each represented as a graph corresponding to its configuration space. One robot, the task robot, must execute a timed mission, while the other, the assistance robot, provides sensor-based support that depends on their spatial relationship. The objective is to compute a path for both robots that maximizes the total duration of assistance given. Solving this problem is challenging due to the combinatorial explosion of possible path combinations together with the temporal nature of the problem (time needs to be accounted for as well). To address this, we propose a nested branch-and-bound framework that efficiently explores the space of robot paths in a hierarchical manner. We empirically evaluate our algorithm and demonstrate a speedup of up to two orders of magnitude when compared to a baseline approach.

Joint Task Assistance Planning via Nested Branch and Bound (Extended Version)

TL;DR

A nested branch-and-bound framework that efficiently explores the space of robot paths in a hierarchical manner is proposed that demonstrates a speedup of up to two orders of magnitude when compared to a baseline approach.

Abstract

We introduce and study the Joint Task Assistance Planning problem which generalizes prior work on optimizing assistance in robotic collaboration. In this setting, two robots operate over predefined roadmaps, each represented as a graph corresponding to its configuration space. One robot, the task robot, must execute a timed mission, while the other, the assistance robot, provides sensor-based support that depends on their spatial relationship. The objective is to compute a path for both robots that maximizes the total duration of assistance given. Solving this problem is challenging due to the combinatorial explosion of possible path combinations together with the temporal nature of the problem (time needs to be accounted for as well). To address this, we propose a nested branch-and-bound framework that efficiently explores the space of robot paths in a hierarchical manner. We empirically evaluate our algorithm and demonstrate a speedup of up to two orders of magnitude when compared to a baseline approach.
Paper Structure (11 sections, 5 equations, 5 figures, 3 algorithms)

This paper contains 11 sections, 5 equations, 5 figures, 3 algorithms.

Figures (5)

  • Figure 1: (a) Illustration of motivating application where $\mathsf{R}\xspace_{\textrm{task}}\xspace$ (blue) and $\mathsf{R}\xspace_{\textrm{assist}}\xspace$ (red) need to maximize accumulated line-of-sight (LOS) (purple) while moving on their respective roadmaps $G_{T}$, $G_{A}$. Computed paths depicted in green. (b)-(d) Snapshots of path execution on Crazyflie drones for three timestamps $t_0=0, t_{\rm mid}$ and $t_{\rm end}=1$ where $\mathsf{R}\xspace_{\textrm{task}}\xspace$ is located at $v_0^T, v_{\rm mid}^T, v_{\rm end}^T$ and $v_0^A, v_{\rm mid}^A, v_{\rm end}^A$, respectively. As $\mathsf{R}\xspace_{\textrm{task}}\xspace$ is required to move between two parts of the room, $\mathsf{R}\xspace_{\textrm{assist}}\xspace$ needs to strategically reposition itself causing a temporary lack of LOS at $t_{\rm mid}$ (thus, $v_{\rm mid}^T$ is no visible in (b)).
  • Figure 2: Illustrative example and induced timing. (a) Task graph $G_T$ with start and goal vertices $v_0,v_2$ and assistance graph $G_A$ with start vertex $u_0$ and assistance function $\mathcal{A}$ (teal dashed). (b) Intervals from $\pi_T^\uparrow=\langle v_0,v_1,v_2\rangle$ (blue) together with a timing profile on $\pi_A^\uparrow$ (black). (c) Intervals from $\pi_T^\downarrow=\langle v_0,v_3,v_2\rangle$ (red) with a timing profile on $\pi_A^\downarrow$. Solid black segments indicate times where assistance can be performed and dotted segments where it cannot.
  • Figure 3: Illustration of the algorithmic framework. Solid lines denote data flow, dashed lines denote data structure updates.
  • Figure 4: Visualization of representative simulated environments for planar manipulator (a)-(c) and drones (d)-(f). Each consists one instance of $G_A$ (red) and $G_T$ (blue), the robots $\mathsf{R}\xspace_{\textrm{task}}$,$\mathsf{R}\xspace_{\textrm{assist}}$ (black at their start vertices) and obstacles (gray). The task of $\mathsf{R}\xspace_{\textrm{task}}$ is to move from start configuration (black) to its target configuration (green) while passing through waypoints (yellow, then brown) and staying on $G_T$. This should be done while maximizing the overall time its end effector is within Line of Sight of $\mathsf{R}\xspace_{\textrm{assist}}$.
  • Figure 5: Average running time and reward (left and right $y$-axis, respectively) as a function of graph size. (a)-(f) correspond to environments (a)-(f) in Fig. \ref{['fig:exp-envs']}.

Theorems & Definitions (3)

  • Definition 1: Timing Profile
  • Definition 2: Reward
  • Example 1