RAPTOR: Robust and Perception-aware Trajectory Replanning for Quadrotor Fast Flight

May 29, 2023
This article studies the RAPTOR motion planner which improves a local planning for better risk-awareness and active exploration for the navigation in unkown environments.

This article will briefly study the RAPTOR motion planner (opens in a new tab) written by Boyu Zhou, et al, when he was in HKUST (now, he is a professor in other university!) Overall, this paper is well-suited for those who are interested in local motion planning in unknown environments. Rather than explaining the details of mathematics of this paper, I will give the overall insights.

Fast flying in completely unknown environments

What do you think is important to move toward a goal in unknown environments? I will skip the very naive qualities such as computation speed of a motion planning algorithm to avoid abrupt obstacles. Instead, we will focus on the three:

  • Having a set of back-up motions (topologically distinct) when current planning fails suddenly.
  • Risk-aware behavior to avoid collision in the unknown area when moving fast. Suppose you encounter an abrupt obstacle right after cornering (this is what we fear the most when we driving). We should either move slowly or secure more visibility toward the dangerous zone.
  • Leveraging yaw motion of active exploration to gather information. In case of drone, position and yaw can be controlled independently. We might gear the yaw little to glance unknown regions.

Preliminary

This paper systematically handle the three while stacking on top of his original work (opens in a new tab) released in 2019. Thus, before reading, it is recommended to be familiar with the belows:

Pipeline of the local planner

This figure is brought from the original paper and I annotated four magenta blocks for explanation.

Robust Optimistic Replanning

Step 1. Optimistic generation of topologically distinct skeleton paths

The term optimistic is used in this paper to refer the motion (or path) which does not consider the risk of a collision with obstacles in the unknown region. The purpose of this step is to generate a set of path skeletons from RPM-like method, so that they have a short length, while representing a set of topologically similar paths.

The left figure shows the refinement process which reduces the length of paths (naive RPM result) in a distinct topologies. The right figure is the result of refinement. Each color represent a distinct topology.

Step 2. Optimization for B spline based on skeletons (PGO)

The authors uses the multiple skeletons as a guidance to generate multiple B-Spline trajectories.
In the paper, PGO (path guided optimization) refers to the optimization process where each B-Spline is generated by optimally following the skeleton path, while avoiding obstacle, with further smoothing. This process is performed for each skeleton, and the most smoothed one is picked for local planning. (but still this is not the final one..)

The PGO takes two steps: first (left figure), we optimize control points of the B-Spline to track the skeleton (w/o obstacle consideration). Second (right figure), we consider ESDF to push the output of first phase away form obstacles more.

Perception-aware Replanning

Step 3. Risk-aware refinement for the motions (visibility-enhancement)

Personally, I found this process very interesting: detouring for better visibility not to crash with the obstacles hiding in the unknown areas. When moving fast along the current plan (the red curve below), it is always possible to encounter unexpected obstacles as the figure illustrates:

In the left figure, the robot (orange) is assumed to move fast along the red trajectory. Unfortunately, an obstacle is hiding right after the right-cornering but it cannot stop, as it is already moving fast. How to handle this? Look at the following strategy:

In the above picture, the original path (blue curve) is refined (red curve) so that the robot have more chance to discover the hiding obstacle inside unknown regions. This refinement is the core contribution allowing the robot secure the visibility (perception-aware) to prepare the worst collision case.

Step 4. Active yaw planning for information-gathering.

The last part is a little bit independent compared to the preceding three steps. Here, we aim to plan yaw trajectory so that the robot discover more unknown cells, while looking along the current trajectory and minimizing fluctuation of yawing.

In the above picture, the blue arc (FOV) is the most advantageous as it will discover many cells which are unknown and close the current trajectory (red curve).