Table of Contents
Fetching ...

Evolving R2 to R2+: Optimal, Delayed Line-of-sight Vector-based Path Planning

Yan Kai Lai, Prahlad Vadakkepat, Cheng Xiang

TL;DR

R2+ advances vector-based any-angle path planning by introducing two trees ($S$-tree and $T$-tree), limited target recursive occupied-sector traces, and an enhanced overlap rule to ensure termination and speed on maps with many disjoint obstacles. By delaying line-of-sight checks and shifting focus to cost-verified paths, R2+ preserves R2’s fast performance when detours are minimal while markedly improving performance in cluttered environments. The core innovations include replacing ad hoc points with short target traces, enforcing target progression, and modularizing tracing with the interrupt-rule, all while maintaining a terminable and simpler implementation. Empirical results show R2+ outperforms R2 in dense obstacle maps and remains competitive with state-of-the-art online planners on sparse maps, highlighting its practical impact for robust, real-time, non-convex environments.

Abstract

A vector-based any-angle path planner, R2, is evolved in to R2+ in this paper. By delaying line-of-sight, R2 and R2+ search times are largely unaffected by the distance between the start and goal points, but are exponential in the worst case with respect to the number of collisions during searches. To improve search times, additional discarding conditions in the overlap rule are introduced in R2+. In addition, R2+ resolves interminable chases in R2 by replacing ad hoc points with limited occupied-sector traces from target nodes, and simplifies R2 by employing new abstract structures and ensuring target progression during a trace. R2+ preserves the speed of R2 when paths are expected to detour around few obstacles, and searches significantly faster than R2 in maps with many disjoint obstacles.

Evolving R2 to R2+: Optimal, Delayed Line-of-sight Vector-based Path Planning

TL;DR

R2+ advances vector-based any-angle path planning by introducing two trees (-tree and -tree), limited target recursive occupied-sector traces, and an enhanced overlap rule to ensure termination and speed on maps with many disjoint obstacles. By delaying line-of-sight checks and shifting focus to cost-verified paths, R2+ preserves R2’s fast performance when detours are minimal while markedly improving performance in cluttered environments. The core innovations include replacing ad hoc points with short target traces, enforcing target progression, and modularizing tracing with the interrupt-rule, all while maintaining a terminable and simpler implementation. Empirical results show R2+ outperforms R2 in dense obstacle maps and remains competitive with state-of-the-art online planners on sparse maps, highlighting its practical impact for robust, real-time, non-convex environments.

Abstract

A vector-based any-angle path planner, R2, is evolved in to R2+ in this paper. By delaying line-of-sight, R2 and R2+ search times are largely unaffected by the distance between the start and goal points, but are exponential in the worst case with respect to the number of collisions during searches. To improve search times, additional discarding conditions in the overlap rule are introduced in R2+. In addition, R2+ resolves interminable chases in R2 by replacing ad hoc points with limited occupied-sector traces from target nodes, and simplifies R2 by employing new abstract structures and ensuring target progression during a trace. R2+ preserves the speed of R2 when paths are expected to detour around few obstacles, and searches significantly faster than R2 in maps with many disjoint obstacles.
Paper Structure (109 sections, 1 theorem, 9 equations, 15 figures, 5 tables, 84 algorithms)

This paper contains 109 sections, 1 theorem, 9 equations, 15 figures, 5 tables, 84 algorithms.

Key Result

Theorem 1

Let a turning point at $\mathbf{x}_0$ be an $\kappa$-tree, $\sigma$-sided, $\mathtt{Vy}$-node. The turning point has the cheapest cost-to-come or cost-to-go if it is a $(\kappa=S)$-tree or $(\kappa=T)$-tree node respectively. Suppose the shortest known, unobstructed path to $\mathbf{x}_a$ from the r

Figures (15)

  • Figure 1: A brief illustration of R2+'s trees, nodes and links. The $S$-tree (light red) is rooted at the start node at $\mathbf{x}_\mathrm{start}$. The $T$-tree (dark green) is rooted at the goal node at $\mathbf{x}_\mathrm{goal}$. Both trees are connected at their leaf nodes. A link that connects to nothing is anchored at the start node and another at the goal node. The corners are labelled according to the order they are found, not including unlabelled corners. An interrupted trace is queued at $\mathbf{x}_2$, and a cast is each queued from $\mathbf{x}_6$ and $\mathbf{x}_7$.
  • Figure 2: After a cast from $\mathbf{x}_2$ and $\mathbf{x}_1$ collides, an $R$-trace occurs and calls a target oc-sec trace at $\mathbf{x}_3$. The oc-sec trace begins from $\mathbf{x}_1$, and stops once an $\mathtt{Oc}$ node is placed at $\mathbf{x}_4$. By stopping at the first corner and preventing subsequent oc-sec traces from occurring from an $\mathtt{Oc}$ node, chases are prevented from happening.
  • Figure 3: A recursive angular-sector trace places a $\mathtt{Un}$ node to ensure target progression. (a) An $R$-trace that reached $\mathbf{x}_1$ has triggered an $L$-sided recursive angular-sector trace. The initial edge of the recursive trace lies between $\mathbf{x}_3$ and the collision point of the sector ray. There is no target progression for the initial edge when viewed from $\mathbf{x}_1$ (traces to the left of $\mathbf{x}_1$), but placing an $L$-sided $\mathtt{Un}$ node at $\mathbf{x}_2$ will result in target progression (traces to right when viewed from $\mathbf{x}_2$). (b) If the initial edge has target progression, the $\mathtt{Un}$ node at $\mathbf{x}_2$ will be pruned immediately by the recursive trace.
  • Figure 4: A cast occurs from the source node (at $\mathbf{x}_S$) if the source progression has decreased by more than $180^\circ$ (at $\mathbf{x}_6$). The maximum source progression is indicated by the source progression ray $\mathbf{v}_{\mathrm{prog},S}$. The phantom point at $\mathbf{x}_5$ is replaced by an $\mathtt{Un}$ node before a cast is queued from the source node to the $\mathtt{Un}$ node. If no cast occurs, the target progression ray will reach a maximum at $\mathbf{x}_7$. As such, if a source recursive trace is called at $\mathbf{x}_8$, there will be no target progression.
  • Figure 5: When overlapping paths are identified, Case O1 of the overlap rule shrinks the $S$-tree, and for each path, queues a query at the most recent link with a source $\mathtt{Ey}$ or $\mathtt{Vy}$ node. (a) A query (only tracing query is shown) from $\mathbf{x}_2$ passes through $\mathbf{x}_3$ and finds links from other paths at $\mathbf{x}_3$. For every $S$-tree node at $\mathbf{x}_3$ that is $\mathtt{Eu}$ or $\mathtt{Vu}$ type, the anchored links are searched and the first link ($e_{1a}$ and $e_{1b}$) that is connected to a parent $\mathtt{Ey}$ or $\mathtt{Vy}$ node is identified. (b) Links in the target direction of the first link are searched. Queued queries are removed from the links, and their anchored $S$-tree nodes are converted to $T$-tree $\mathtt{Vu}$ nodes. A cast is then queued for each first link.
  • ...and 10 more figures

Theorems & Definitions (2)

  • Theorem 1
  • proof