Table of Contents
Fetching ...

Making Infeasible Tasks Feasible: Planning to Reconfigure Disconnected 3D Environments with Movable Objects

Samarth Kalluraya, Yiannis Kantaros

TL;DR

BRiDGE tackles planning for robots in 3D environments with disconnected planes by moving movable blocks to bridge gaps. It combines a sampling-based planner that builds a joint tree over robot and block configurations with a symbolic high-level planner (BFS or an LLM) to bias exploration. The authors prove probabilistic completeness and validate the approach with extensive simulations and hardware demonstrations, including a heterogeneous two-robot setup. The work enables long-horizon NAMO in complex environments and provides practical pathways toward real-world manipulation-enabled navigation.

Abstract

Several planners have been developed to compute dynamically feasible, collision-free robot paths from an initial to a goal configuration. A key assumption in these works is that the goal region is reachable; an assumption that often fails in practice when environments are disconnected. Motivated by this limitation, we consider known 3D environments comprising objects, also called blocks, that form distinct navigable support surfaces (planes), and that are either non-movable (e.g., tables) or movable (e.g., boxes). These surfaces may be mutually disconnected due to height differences, holes, or lateral separations. Our focus is on tasks where the robot must reach a goal region residing on an elevated plane that is unreachable. Rather than declaring such tasks infeasible, an effective strategy is to enable the robot to interact with the environment, rearranging movable objects to create new traversable connections; a problem known as Navigation Among Movable Objects (NAMO). Existing NAMO planners typically address 2D environments, where obstacles are pushed aside to clear a path. These methods cannot directly handle the considered 3D setting; in such cases, obstacles must be placed strategically to bridge these physical disconnections. We address this challenge by developing BRiDGE (Block-based Reconfiguration in Disconnected 3D Geometric Environments), a sampling-based planner that incrementally builds trees over robot and object configurations to compute feasible plans specifying which objects to move, where to place them, and in what order, while accounting for a limited number of movable objects. To accelerate planning, we introduce non-uniform sampling strategies. We show that our method is probabilistically complete and we provide extensive numerical and hardware experiments validating its effectiveness.

Making Infeasible Tasks Feasible: Planning to Reconfigure Disconnected 3D Environments with Movable Objects

TL;DR

BRiDGE tackles planning for robots in 3D environments with disconnected planes by moving movable blocks to bridge gaps. It combines a sampling-based planner that builds a joint tree over robot and block configurations with a symbolic high-level planner (BFS or an LLM) to bias exploration. The authors prove probabilistic completeness and validate the approach with extensive simulations and hardware demonstrations, including a heterogeneous two-robot setup. The work enables long-horizon NAMO in complex environments and provides practical pathways toward real-world manipulation-enabled navigation.

Abstract

Several planners have been developed to compute dynamically feasible, collision-free robot paths from an initial to a goal configuration. A key assumption in these works is that the goal region is reachable; an assumption that often fails in practice when environments are disconnected. Motivated by this limitation, we consider known 3D environments comprising objects, also called blocks, that form distinct navigable support surfaces (planes), and that are either non-movable (e.g., tables) or movable (e.g., boxes). These surfaces may be mutually disconnected due to height differences, holes, or lateral separations. Our focus is on tasks where the robot must reach a goal region residing on an elevated plane that is unreachable. Rather than declaring such tasks infeasible, an effective strategy is to enable the robot to interact with the environment, rearranging movable objects to create new traversable connections; a problem known as Navigation Among Movable Objects (NAMO). Existing NAMO planners typically address 2D environments, where obstacles are pushed aside to clear a path. These methods cannot directly handle the considered 3D setting; in such cases, obstacles must be placed strategically to bridge these physical disconnections. We address this challenge by developing BRiDGE (Block-based Reconfiguration in Disconnected 3D Geometric Environments), a sampling-based planner that incrementally builds trees over robot and object configurations to compute feasible plans specifying which objects to move, where to place them, and in what order, while accounting for a limited number of movable objects. To accelerate planning, we introduce non-uniform sampling strategies. We show that our method is probabilistically complete and we provide extensive numerical and hardware experiments validating its effectiveness.
Paper Structure (25 sections, 1 theorem, 27 equations, 7 figures, 6 tables, 2 algorithms)

This paper contains 25 sections, 1 theorem, 27 equations, 7 figures, 6 tables, 2 algorithms.

Key Result

Theorem 5.1

Assume there exists a feasible plan $\tau=\langle \tau(1),\dots,\tau(H)\rangle$ with clearance $\varepsilon>0$ (as defined above), and that Assumption ass:cand holds. Let the sampling distributions $f_{\mathcal{V}}$, $f_{\mathcal{S}_{\mathrm{Cand}}}$, and $f_{\mathcal{C}^{\,v}_{\mathrm{block}}}$ be

Figures (7)

  • Figure 1: A quadruped robot is tasked with reaching a goal region on Table 3; see Section \ref{['subsec:cs3']}. However, this requires traversing an elevated plane defined by Table 2. The quadruped’s walking policy does not allow it to climb from Table 1 to Table 2 due to the height difference. Instead of failing the task, a humanoid robot strategically places a block on Table 1 to bridge the gap between the tables for the quadruped.
  • Figure 2: Example environment with three fixed (non-movable) planes—Ground ($z{=}0$), Plane 1 ($z{=}1$), and Plane 2 ($z{=}3$)—and a single movable block $b_1$ with height $h_1 = 1$ unit. The robot (black cube) is initially located on the ground plane and is tasked with reaching a goal state (yellow star) on Plane 2. As per NavigReach, the robot can traverse vertical height differences of up to $1$ unit. Observe that the robot cannot reach the goal region from its initial location shown in Fig. \ref{['fig:case1a']}. While Plane 1 is reachable from the ground, Plane 2 is not reachable from Plane 1 because their height difference is $2$ units, and it is also not directly reachable from the ground since their height difference is $3$ units. Thus, the robot first approaches and grasps the block $b_1$, as illustrated in Fig. \ref{['fig:case1b']}. The translucent green box visualizes the grasp-feasible region generated by ManipReach. The $\delta$-band (pink region) highlights a region on Plane 1 such that, if $b_1$ is placed there, Plane 2 may become reachable from Plane 1 (see Sec. \ref{['sec:block_placement_density']}). After grasping $b_1$, the robot carries it onto Plane 1 and places it within the pink region (Fig. \ref{['fig:case1c']}); the green box now visualizes the feasible drop-off region determined by ManipReach. Using the placed block as a step, the robot climbs onto the block and then onto Plane 2, reaching the goal (Fig. \ref{['fig:case1d']}). Dashed black lines illustrate the robot’s path.
  • Figure 3: Graphical illustration of the incremental tree construction; tree nodes are denoted by $v_i$. Each node represents the pair $[\Omega, \mathbf{x}]$, i.e., the joint state of the robot and the blocks, and each edge corresponds to a manipulation action $\texttt{Move}(b_i, b_i')$. A child node therefore differs from its parent in the position of a single block and the robot configuration. The right side of the figure shows the tree built by the proposed planner. Solid blue edges follow the plan $\Pi$ (See Sec. \ref{['sec:nonunif1']}); the rest of the edges are dashed pink. Until $v_5$ is discovered, $\mathcal{V}^{\max}_{\Pi}$ contains only $v_1$ since it is the only node realized using $\Pi$. As soon as $v_5$ is added to the tree, $\mathcal{V}^{\max}_{\Pi}$ contains only the node $v_5$. The left side shows the environment state and robot state at $v_{\text{root}}$ and $v_1$. The environment consists of four non-movable planes: the ground plane $\mathcal{P}_G$ and planes $\mathcal{P}_1$, $\mathcal{P}_2$, and $\mathcal{P}_3$, induced by three non-movable (blue) blocks. The goal (yellow star) lies on $\mathcal{P}_3$. Two movable (orange) blocks, denoted $\mathbf{b}_i^d$, are available, where the superscript $d$ indicates the block’s $d$-th placement.
  • Figure 4: Example illustrating $\delta$-bands for two independent gaps in the environment: $({\mathcal{P}}_G,{\mathcal{P}}_1)$ and $({\mathcal{P}}_2,{\mathcal{P}}_3)$. In both Fig. \ref{['fig:delta1']} and Fig. \ref{['fig:delta2']}, the yellow hatched region shows the $\delta$-band for the gap $({\mathcal{P}}_G,{\mathcal{P}}_1)$; here the placement plane for the yellow block is ${\mathcal{P}}_k = {\mathcal{P}}_G$, which coincides with one of the gap planes, and thus the boundary of ${\mathcal{P}}_1$ is projected onto ${\mathcal{P}}_G$ and dilated to obtain the yellow $\delta$-band. The red hatched region shows the $\delta$-band for the gap $({\mathcal{P}}_2,{\mathcal{P}}_3)$; in this case, the placement plane ${\mathcal{P}}_k = {\mathcal{P}}_G$ for the red block is neither ${\mathcal{P}}_2$ nor ${\mathcal{P}}_3$, and so the boundary of ${\mathcal{P}}_3$ (even ${\mathcal{P}}_2$ could be chosen) is projected onto ${\mathcal{P}}_G$ and dilated to form the red $\delta$-band. Fig. \ref{['fig:delta2']} shows the red block in a pose within its corresponding $\delta$-band to bridge the gap.
  • Figure 5: Snapshots after each $\texttt{Move}({\mathbf b}_i, {\mathbf b}_i')$ in the recovered plan $\tau$. Robot trajectory on a plane is shown in blue; inter–plane trajectories are in cyan. Upward arrows mark block pick action; downward arrows mark block place action. Pink lines show the PRM connectivity (Sec. \ref{['subsec:prm']})). Planes reachable from robot position are highlighted in light green. Task. Fig. \ref{['fig:case2a']} shows the initial environment (Ground plus Planes 1–5, and heights (Z)). Blocks 1 (red) and 2 (orange) are 1 unit tall; Block 3 (green) is 2 units; the robot can ascend/descend at most $\delta_H=1.2$ unit. The start is on Ground; the goal ($\star$) is on Plane 4. Fig. \ref{['fig:case2b']} shows the initial PRM. Figs. \ref{['fig:case2c']}–\ref{['fig:case2e']}: Blocks 1 and 2 are used as intermediate steps to reach Plane 5 and pick Block 3. Fig. \ref{['fig:case2f']}: Block 3 is placed temporarily on Ground. Fig. \ref{['fig:case2g']}: Block 1 is reused to establish connectivity with Plane 1. Fig. \ref{['fig:case2h']}: Block 3 is placed to connect Planes 3 and 4, enabling the robot to reach the goal region.
  • ...and 2 more figures

Theorems & Definitions (10)

  • Definition 2.1: Function $\texttt{NavigReach}$
  • Definition 2.2: Function $\texttt{ManipReach}$
  • Remark 2.3: Complex Block Structures
  • Definition 3.1: Pairwise Inaccessible Planes
  • Definition 3.2: Function $\texttt{Gap}$
  • Definition 3.3: Function Candidate
  • Remark 4.1: High-Level Planner Generating $\Pi$
  • Theorem 5.1: Probabilistic completeness
  • proof
  • Remark 6.1: Case-Study Selection