Table of Contents
Fetching ...

Online Generation of Collision-Free Trajectories in Dynamic Environments

Nermin Covic, Bakir Lacevic

TL;DR

An online method for converting an arbitrary geometric path represented by a sequence of states, generated by any planner, into a corresponding kinematically feasible, jerk-limited trajectory, which can be used in real-world scenarios including human presence.

Abstract

In this paper, we present an online method for converting an arbitrary geometric path represented by a sequence of states, generated by any planner (e.g., sampling-based planners like RRT or PRM, search-based planners like ARA*, etc.), into a corresponding kinematically feasible, jerk-limited trajectory. The method generates a sequence of quintic/quartic splines that can be discretized at a user-specified control rate, and then streamed to a low-level robot controller. Our approach enables real-time adaptation to newly captured changes in the environment. It can also be re-invoked at any time instance to generate a new trajectory from the robot's current to a desired target state or sequence of states. We can guarantee that the trajectory will remain collision-free for a certain amount of time in dynamic environments, while allowing bounded geometric deviation from the original path. The kinematic constraints are taken into account, including limited jerk. We validate the approach in a comparative simulation study against the competing method, demonstrating favorable behavior w.r.t. smoothness, computational time, and real-time performance, particularly in scenarios with frequent changes of target states (up to 1 [kHz]). Experiments on a real robot demonstrate that the proposed approach can be used in real-world scenarios including human presence.

Online Generation of Collision-Free Trajectories in Dynamic Environments

TL;DR

An online method for converting an arbitrary geometric path represented by a sequence of states, generated by any planner, into a corresponding kinematically feasible, jerk-limited trajectory, which can be used in real-world scenarios including human presence.

Abstract

In this paper, we present an online method for converting an arbitrary geometric path represented by a sequence of states, generated by any planner (e.g., sampling-based planners like RRT or PRM, search-based planners like ARA*, etc.), into a corresponding kinematically feasible, jerk-limited trajectory. The method generates a sequence of quintic/quartic splines that can be discretized at a user-specified control rate, and then streamed to a low-level robot controller. Our approach enables real-time adaptation to newly captured changes in the environment. It can also be re-invoked at any time instance to generate a new trajectory from the robot's current to a desired target state or sequence of states. We can guarantee that the trajectory will remain collision-free for a certain amount of time in dynamic environments, while allowing bounded geometric deviation from the original path. The kinematic constraints are taken into account, including limited jerk. We validate the approach in a comparative simulation study against the competing method, demonstrating favorable behavior w.r.t. smoothness, computational time, and real-time performance, particularly in scenarios with frequent changes of target states (up to 1 [kHz]). Experiments on a real robot demonstrate that the proposed approach can be used in real-world scenarios including human presence.
Paper Structure (15 sections, 10 equations, 10 figures, 1 table, 4 algorithms)

This paper contains 15 sections, 10 equations, 10 figures, 1 table, 4 algorithms.

Figures (10)

  • Figure 1: Bubble $\color{gray}\mathcal{B}(\boldsymbol{q}_0, d_c)$ at the configuration $\boldsymbol{q}_0$ with the spine $\overline{\boldsymbol{q}_0 \boldsymbol{q}_f}$ and the local trajectory $\color{red}\boldsymbol{\boldsymbol{\pi}}(t)$.
  • Figure 2: Proof of concept for obtaining an optimal value for $c_i^*$ through five iterations. Legend: $\bullet$ / $\bullet$ -- feasible candidate of $t_{f_i}$exists / does not exist; $\blacksquare$ / $\blacksquare$ -- constraints $\mathcal{K}$ are satisfied / not satisfied.
  • Figure 3: Example of the process of converting a path $\boldsymbol{Q}: \boldsymbol{q}_{\mathrm{start}}\rightarrow \boldsymbol{q}_{\mathrm{goal}}$ (black) to a corresponding trajectory (green).
  • Figure 4: (a) Process of computing generalized bur (solid black lines); (b,c,d) The nearest points, $\color{red}\boldsymbol{R}(t) \equiv \boldsymbol{R}_{i,j}(t)$ and $\color{red}\boldsymbol{O}(t) \equiv \boldsymbol{O}_{i,j}(t)$, from $i$-th robot's link and $\mathcal{WO}_{j}$, with the corresponding plane $\color{green}\mathcal{P}_{i,j}\equiv \mathcal{P}_{i,j}(t)$ and the distance $d(t)\equiv d_{i,j}(t)$ after $t\in\{t_0,t_3,t_6\}$.
  • Figure 5: Two used scenarios: Scenario 1 (left) -- ten small random obstacles, and Scenario 2 (right) -- four large predefined obstacles. Motion of obstacles is depicted by the red velocity vectors.
  • ...and 5 more figures

Theorems & Definitions (1)

  • Definition 3.1