Next Article in Journal
A Generic Self-Supervised Learning (SSL) Framework for Representation Learning from Spectral–Spatial Features of Unlabeled Remote Sensing Imagery
Previous Article in Journal
Statistical Seismic Analysis by b-Value and Occurrence Time of the Latest Earthquakes in Italy
Previous Article in Special Issue
3D-SiamMask: Vision-Based Multi-Rotor Aerial-Vehicle Tracking for a Moving Object
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Review

Survey on Motion Planning for Multirotor Aerial Vehicles in Plan-Based Control Paradigm

by
Geesara Kulathunga
1,2 and
Alexandr Klimchik
3,*
1
Institute of Robotics and Computer Vision, Innopolis University, Innopolis 420500, Russia
2
Lincoln Institute for Agri-Food Tech, Lincoln Centre for Autonomous Systems, University of Lincoln, Riseholme Park, Lincoln LN2 2LG, UK
3
School of Computer Science, Lincoln Centre for Autonomous Systems, University of Lincoln, Lincoln LN6 7TS, UK
*
Author to whom correspondence should be addressed.
Remote Sens. 2023, 15(21), 5237; https://doi.org/10.3390/rs15215237
Submission received: 14 September 2023 / Revised: 27 October 2023 / Accepted: 31 October 2023 / Published: 3 November 2023
(This article belongs to the Special Issue UAV Positioning: From Ground to Sky)

Abstract

:
In general, optimal motion planning can be performed both locally and globally. In such a planning, the choice in favor of either local or global planning technique mainly depends on whether the environmental conditions are dynamic or static. Hence, the most adequate choice is to use local planning or local planning alongside global planning. When designing optimal motion planning, both local and global, the key metrics to bear in mind are execution time, asymptotic optimality, and quick reaction to dynamic obstacles. Such planning approaches can address the aforementioned target metrics more efficiently compared to other approaches, such as path planning followed by smoothing. Thus, the foremost objective of this study is to analyze related literature in order to understand how the motion planning problem, especially the trajectory planning problem, is formulated when being applied for generating optimal trajectories in real-time for multirotor aerial vehicles, as well as how it impacts the listed metrics. As a result of this research, the trajectory planning problem was broken down into a set of subproblems, and the lists of methods for addressing each of the problems were identified and described in detail. Subsequently, the most prominent results from 2010 to 2022 were summarized and presented in the form of a timeline.

Graphical Abstract

1. Introduction

Adroit motion planning of little flying creatures, such as birds and butterflies, is an extraordinarily demanding task for several reasons, including aggressive maneuvers. An example of such a high-speed maneuver need is one in particularly tight spots where the environment is obstacle-rich. Researchers have been trying to replicate similar maneuvers using two different types of aerial vehicles: conventional and unconventional. In this research, we deal with conventional aerial vehicles, for instance, unmanned aerial vehicles (UAVs), multirotor aerial vehicles (MAVs), etc. Recent progression in computation capabilities and embedded sensing has been boosting the procedure of mimicking natural flying animals; this advancement has enabled plenty of new opportunities in diverse fields: inspection, autonomous transportation, logistics, delivery, aerial photography, post-disaster, and medical services. However, optimal motion planning remains a crucial task in all the fields listed above. In optimal motion planning, the environmental reasoning cannot be predictable, since environmental conditions change rapidly. Hence, there are various challenges to be addressed to obtain highly efficient and optimal motion planning. In this paper, we mainly focus on how researchers have been addressing these challenges in optimal motion planning to obtain robust navigation in various domains for multirotor aerial vehicles (MAVs).
In most industrial applications, the environment is either fully or partially unexplored, and unpredictable events can occur at any time due to a variety of factors. Therefore, a fast and accurate optimal motion planning technique is required to handle these unexpected problems in real time. The optimal motion planning problem is generally divided into three subcategories: path planning followed by smoothing, kinodynamic search-based trajectory generation, and motion-primitive-based approaches. Of these three, plan-based control approaches are the most widely used and efficient way to address the problem considered, compared to the other two approaches. Numerous plan-based control strategies have been proposed in the past decade, with promising results. This is one of the key motivating factors for reviewing plan-based control, especially for industrial multirotor aerial vehicles (MAVs). Most industrial multirotor aerial vehicles (MAVs), such as quadrotors, have low-level controllers, for example, PX4 [1], DJI [2], that can be operated independently irrespective of high-level execution commands. Moreover, such controllers reduce the overhead and complexity of developing high-level planning algorithms due to their independence. In other words, the same planner can be deployed on different firmware by implementing an interface between a high-level planner and a low-level controller. Thus, we narrowed down our study to considering only plan-based control approaches (Figure 1), particularly in application to industrial multirotor aerial vehicles (MAVs).
The main limitation of multirotor aerial vehicles (MAVs) is low flight time. Hence, a multirotor aerial vehicle (MAV) should be capable of executing robust, agile, and aggressive maneuvers while ensuring dynamic feasibility and guaranteeing smoothness of the trajectory in low flight time. Furthermore, trajectory plotting should be performed within an obstacle-free zone at high speed to handle a given mission effectively. Such behavior is imposed by adhering to a set of constraints. If and only if the constraints are incorporated appropriately, desired needs can be fulfilled. Obtaining the right constraints at the right moment and applying appropriate control sequences to improve motion quality is the key objective of any plan-based control approach. However, the procedure of obtaining such right constraints is an open research problem due to its complexity and numerous other challenges that should be handled simultaneously. For example, the multirotor aerial vehicle (MAV) has been widely employed in video-making-related fields in recent years, with cinematographic aerial shooting being one of the popular areas of interest during the last five years. In such shooting, generating smooth, obstacle-free trajectories is the main challenge. Various other challenges exist, and most of them are application-specific. In this work, we examine the most common problems related to trajectory planning applications in the paradigm of plan-based control, as well as how researchers have been alleviating those problems by proposing compelling solutions.
In optimal trajectory planning, trajectory generation and controlling the multirotor aerial vehicle are strongly interconnected. For multirotor aerial vehicles (MAVs), the trajectory generation process is relatively easy due to the dynamic properties of the multirotor aerial vehicles (MAVs). When dynamic obstacles are incorporated, the trajectory has to be refined at a high rate in order to keep a smooth maneuver despite increased computational demands. Moreover, understanding close-in obstacles’ positions relative to the multirotor aerial vehicle (MAV) is crucial for making decisions in real time; this raises a new challenge: the one of the rapidity and accuracy of relative environment reconstruction, which essentially is how obstacle constraints are added to the problem formulation. Yet another challenge is of the impact of the obstacles and constraints on the smoothness and dynamic feasibility of the generated trajectory. After conducting an extensive literature review on the topic of trajectory planning for multirotor aerial vehicles (MAVs), we were able to isolate basic building blocks that are essential for optimal motion planning, as shown in Figure 2. Each of the primary components plays a key role in the process of trajectory generation.
We survey the existing literature and identify the main building blocks of trajectory planning for MAVs: free-space segmentation, motion model selection, initial waypoint identification, initial trajectory generation, continuous trajectory refinement, and receding horizon trajectory planning. For each building block, we discuss and examine how previous research has addressed it. Furthermore, we used the same benchmark example to fairly compare different strategies. Also, we aim to provide a comprehensive overview of the recent advances and the most prominent results in trajectory planning for multirotor aerial vehicles (MAVs) from 2010 to 2022, with a focus on real-time generation of optimal trajectories as follows [3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57]:
Remotesensing 15 05237 i001
Our goal was to investigate trajectory planning for multirotor aerial vehicles (MAVs) in the plan-based control paradigm, focusing on analytical approaches rather than learning and evolutionary approaches. In future work, we plan to investigate trajectory planning approaches based on imitation learning, inverse reinforcement learning, and evolutionary computing. Further investigations also include a comparison of different paradigms in a simulated environment and through real-world experiments for different operating scenarios: trajectory planning for high-dense and less-dense environments, static and dynamic obstacle avoidance, and high-speed and low-speed maneuvers. These considerations were outside of the scope of this work since we focused on the theoretical aspects of the plan-based trajectory planning paradigm. The rest of the paper is organized as follows:
  • Section 2—Motion Modeling—discusses the type of motion model suitable for defining the dynamics of the robot based on the chosen trajectory generation technique. Exact, empirical, and differential flatness models are presented.
  • Section 3—Initial Waypoint Generation—surveys state-of-the-art techniques for finding initial tentative waypoints for trajectory generation, focusing on graph search-based algorithms, motion-primitive-based approaches, and fast marching methods.
  • Section 4—Initial Trajectory Generation—comprehensively reviews initial trajectory generation techniques. It begins by defining how to formulate a trajectory, followed by a detailed explanation of several interesting techniques, including minimum-snap, polynomial trajectory generation as quadratic programming (QP), unconstrained polynomial trajectory generation, covariant gradients, B-spline, and Bernstein. Finally, it compares several trajectory techniques to highlight their respective strengths and weaknesses.
  • Section 5—Free Space Extraction—explains how to extract and incorporate free space into trajectory planning. OctoMap, IRIS, and SFC are the main methods discussed in this section.
  • Section 6—Trajectory Refinement—describes the trajectory refinement process.
  • Section 7—Horizon-Based Trajectory Planning—presents horizon-based trajectory planning techniques, starting with linear quadratic regulator (LQR) and its variants, such as iterative LQR (iLQR) and extended LQR (ELQR). It then covers advanced techniques, such as model predictive control (MPC) and its variants, including nonlinear MPC (NMPC).
  • Section 8—Solvers for Optimization—details various solvers that can be used to solve the optimization problem, starting with quadratic programming formulation. It then lists and describes the usage of mixed-integer quadratic programming (MIQP), gradient-based trajectory optimization (GTO), BOBYQA, and many other solutions.

2. Motion Model Selection

Exact model, empirical model and differential flatness are the main techniques that can be employed for selecting the most appropriate motion model for a specified application. The appropriate motion model selection procedure varies depending on the problem formulation. For example, planning followed by controlling approaches does not necessarily have an exact motion model mainly due to high computational demands. In such scenarios, an empirical motion model is sufficient for planning, since a dedicated controller is utilized for controlling the quadrotor.

2.1. Exact Model

In general, multirotor aerial vehicle (MAV) dynamics is described by six degrees of freedom. However, in planning followed by high-level controlling approaches, it is not required to define an actual motion model for planning, since a high-level controller consists of a fully-fledged quadrotor motion model. In most circumstances, the planner is composed of approximated quadrotor dynamics; this is due to computational complexity, which is not adequate for real-time onboard processing. Hence, the motion model selection process depends on the approach that formulates needs. In [58], the researchers proposed a six-degrees-of-freedom motion model, whose state vector is defined by x = [ p , v , ψ , ω ] , where ψ , p, v and ω stand for orientation (rad), position (m), velocity (m/s), and angular velocity (rad/s) in R 3 , respectively, with respect to a defined local coordinate frame. The system input or total trust that is applied for each of the motors is given by ( f = [ f 1 , f 2 , f 3 , f 4 ] T , sort=force, description=system input or total trust that is applied for each of the motors in N (Newton) (N). System dynamics is determined as x ˙ = [ p ˙ , v ˙ , ψ ˙ , ω ˙ ] , where p ˙ = v , v ˙ = g · e z + ( f · exp [ ψ ] · e z k v · v ) m , ψ ˙ = ω + 1 2 [ ψ ] · ω + ( 1 1 2 ψ t a n ( 1 2 ψ ) ) [ ψ ] 2 · ω / ψ 2 , ω ˙ = J 1 ( ρ ( f 2 f 4 ) e x ) + ρ ( f 3 f 1 ) e y + k m ( f 1 f 2 + f 3 f 4 ) e z [ ω ] · J · w ) , g = 9.8  ms 2 and e i , i = x , y , z stand for standard basis vectors in R 3 , and k v , m , J , ρ , and k m are robot-specific constants.

2.2. Empirical Model

Other than the exact model, a six-degree-of-freedom motion model was proposed for governing quadrotor in a distributed setup [59]. Later, it was reduced to four-degree-of-freedom motion model [60]. Furthermore, in [61], a 4-degree of freedom (DoF) motion was used for controlling several quadrotors in a distributed setup in which nonlinear model predictive control (NMPC) and model horizon estimation (MHE) are incorporated for relative tracking, where the relative motion model was defined as:
x ˙ = f c ( x , u , ψ z ) = p ˙ x p ˙ y p ˙ z ψ z ˙ = v x c o s ( ψ z ) v y s i n ( ψ z ) v ¯ x + p y ψ z ˙ ¯ v x s i n ( ψ z ) + v y c o s ( ψ z ) v ¯ y p x ψ z ˙ ¯ v z v ¯ z ψ z ˙ ψ z ˙ ¯ ,
where the function f c ( · ) : R n u × R n x × R n r u R n x and n x = n u = n r u = 4 . The current control input is given by u = [ v x , v y , v z , ψ z ˙ ] , whereas relative control input u r u is denoted by [ v ¯ x , v ¯ y , v ¯ z , ψ z ˙ ¯ ] . x = [ p x , p y , p z , ψ z ] is the state of the motion model, where p i , i { x , y , z } is the position of the MAV in the world frame. ψ z and ψ z ¯ denote the yaw angle or heading angle around the z axis and relative yaw angle, respectively. Derivative of ψ z and ψ z ¯ are denoted by ψ z ˙ and ψ z ˙ ¯ , respectively. v i , i { x , y , z } denote the velocities on each direction, whereas p ˙ i , i { x , y , z } gives the derivatives of p i . Since discrete space was chosen for controlling the system, Euler discrete model (1) was formulated as follows:
x + = f d ( x , u , ψ z ) = p x p y p z ψ z + δ v x c o s ( ψ z ) v y s i n ( ψ z ) v ¯ x + y ψ z ˙ ¯ v x s i n ( ψ z ) + v y c o s ( ψ z ) v ¯ y x ψ z ˙ ¯ v z v ¯ z ψ z ˙ ψ z ˙ ¯ ,
where δ is the sampling period and f d ( · ) : R n x × R n u × R n r u R n x . f c and f d denote continuous and discrete dynamics, respectively. x + depicts the next state given the current state x . Subsequently, the motion model was simplified to 4-DoF for trajectory tracking for a quadrotor [62] (Equation (1)). In this trajectory-tracking approach, planning followed by the high-level controlling paradigm was applied. Such an approach was introduced because a simplified motion model is a reasonable choice for achieving real-time performance. Quadrotor state was defined as x = [ p x , p y , p z , ψ z ] T R n x , whereas input to the system was given by u = [ v x , v y , v z , ψ z ˙ ] T R n u . The simplified motion model was given by:
x ˙ = f c ( x , u ) = p ˙ x p ˙ y p ˙ z ψ ˙ z = v x c o s ( ψ z ) v y s i n ( ψ z ) v x s i n ( ψ z ) + v y c o s ( ψ z ) v z ψ z ˙ ,
where f c ( · ) : R n x × R n u R n x and n x = n u = 4 . The discretization of (3) was given by:
x + = f d ( x , u ) = p x p y p z ψ z + δ v x c o s ( ψ z ) v y s i n ( ψ z ) v x s i n ( ψ z ) + v y c o s ( ψ z ) v z ψ z ˙ ,
where f d ( · ) : R n x × R n u R n x .

2.3. Differential Flatness

Here, differential flatness [63] provides algebraic functions (e.g., polynomials) which analytically map the trajectory and whose higher-order derivatives map to system states and inputs. Since the Nth-order polynomial can be differentiated up to N 1 times, the differential flatness property ensures the feasibility of the trajectory and generates appropriate control commands. More precisely, let the following:
x ˙ = f c ( x , u ) x R n x , u R n u .
be a nonlinear system. According to to [64], if the system is differentially flat, there always exists a flat output, namely z R n z , where the dimension of the output is given by n z . In such a system, states and control inputs can also be formulated from the system flat outputs whose derivatives are mapped through functions, namely ϱ and τ . Let z = ( x , u , u ˙ , , u ( q ) ) be the flat output, holding x = ϱ ( z , z ˙ , , z ( r ) ) and u = τ ( z , z ˙ , , z ( r ) ) , where apices ( i ) stipulates the ith derivative. Along with that, the explicit trajectory generation process can benefit when it uses differentially flat systems, for example, ϱ and τ can be a dth-order polynomial p ( t ) . Then, x ( t ) = [ p ( t ) p ˙ ( t ) p ¨ ( t ) ] are the state of the system at time t in which p ˙ T and p ¨ T indicate the velocity and acceleration of the system, respectively. Control inputs can be determined by jerk [65], namely p T ( t ) , where p ( t ) = λ d t d + + λ 1 t + λ 0 , t [ 0 , d t ] , where λ i , i = 0 , , d are the polynomial coefficients. There are various ways to construct these kinds of polynomials, including Minimum-snap, B-spline, etc.

3. Initial Waypoint Identification

Generally speaking, robots have a limited sensing range. Thus, planning a trajectory out of such a sensing range would be counterproductive. Hence, local trajectory planning and refinement when a robot moves is the optimal choice. With the help of sensing capabilities within the robots’ sensing range, the robot’s surrounded environment can be constructed as the intersection of three separate disjoint sets: free-known ( C f r e e ), occupied ( C o b s ), and unknown ( C u n k n o w n ). Once C f r e e C u n k n o w n is identified, a set of intermediate waypoints is needed to navigate the robot along the trajectory from the start position to the desired position. There are various techniques for finding a set of intermediate waypoints: sampling-based techniques (e.g., RRT*, probabilistic road map (PRM)) and path-searching techniques (e.g., A*, D*, JPS), where waypoint poses are given in the UTM (universal transverse mercator) coordinate system and then converted into the local coordinate system. Moreover, kinodynamic properties are incorporated into preceding intermediate waypoints finding techniques to ensure the dynamic feasibility of the robot. One of the first kinodynamic-based path planning approaches was proposed in [66], in which a variant of the A* method alongside with kinodynamic properties was applied to ensure the dynamic feasibility. Subsequently, several different methods were proposed for enhancing path planning, ensuring the dynamic feasibility by kinodynamic properties, including motion-primitive-based approaches.
Motion-primitive-based approaches [42,67,68] can be utilized for finding intermediate waypoints and for trxajectory generation. Gordon et al. [69] proposed a set of motion primitives for connecting edges of the graph that was constructed from A*. In this method, motion primitives were used to defining state vector x(t) and control input u ( t ) as a linear time invariant (LTI) system as follows:
x i ( t ) = [ p i ( t ) , p i ˙ ( t ) , , p i ( k r 1 ) ( t ) ] x i ( t ) R 3 × k r , p i ( t ) = [ p x ( t ) , p y ( t ) , p z ( t ) ] T , u i ( t ) = p ( k r ) ( t ) ,
where p μ ( t ) = Σ j = 0 d λ j t j , μ { x , y , z } , which is formulated similar to (16), while k r and d are the order of the derivative and the order of the polynomial, respectively.
x ˙ i ( t ) = A x i ( t ) + B u i ( t ) , A = 0 I 3 0 0 0 0 I 3 0 0 0 I 3 0 0 0 , B = 0 0 0 I 3 .
Hence, given control policy u i ( t ) and initial state x ( 0 ) , a sequence of succeeding states for a given time duration is determined by:
x i ( t ) = e A t x ( 0 ) + 0 t e A ( t γ ) B u ( γ ) d γ ,
where γ is the time duration that control policy is applied. In [69], to define the actual and heuristic cost of A*, the researchers used motion primitives, which are defined (as shown) in (8), and calculated initial waypoints set.
Another interesting approach to finding a set of initial intermediate waypoints is by using fast marching methods. In general, fast marching methods [70] are applied to track the propagation of a convoluted interface such as wavefront, especially in image processing. Let φ be a close curve in a plane R 3 that propagates orthogonally to the plane with a speed v ( p ) , assume v > 0 . Given T time period, propagation of the plane can be described by | T ( x ) | = 1 v ( p ) based on Eikonal partial differential Equation [71], where p is the position in R 3 and the arrival time is formulated by T ( x ) . The fast marching concept was applied for path searching in [26] by proposing a method for calculating a velocity map. In this method, the arrival time was determined by assessing the desired velocity at the considered position in the local coordinate system. Hence, arrival time was calculated by backtracking from the goal pose to the start pose along the minimum cost path, which can be estimated from the gradient descendant. Though gradient descendant may trap in a local minimum, when smart marching is applied, gradient descendant does not trap in local minimum due to fast marching nature; this property was proven in [72]. To define the velocity map, ESDF was utilized to get the closest obstacle poses from the given pose. A quadrotor should move faster when there are no close-in obstacles and should be slower when it is moving through a cluttered environment. Such a behavior was mimicked by incorporating a hyperbolic tangential function, i.e., t a n h . With such an assumption, the corresponding velocity was calculated based on (9):
v ( l ) = v m a x ( t a n h ( l e ) + 1 ) / 2 , 0 l 0 , l < 0 ,
where v m a x is the maximum velocity a quadrotor can fly, l is the distance to the closest obstacle from the considered pose p and, e is Euler’s constant.

4. Initial Trajectory Generation

Let us consider a nonlinear system in the form of x ˙ ( t ) = fc ( x ( t ) , u ( t ) ) with initial state x ( t 0 ) = x 0 , where state vector and control inputs are denoted by x R n x and u R n u , respectively. When generating an initial trajectory ( Γ ), ensuring dynamic feasibility is a must. In other words, x and u satisfy the following constraints:
x X R n x , u U R n u .
In addition to these constraints, safety constraints should also be imposed after reasoning the environment, to guarantee safety. The environment or configuration space C can be decomposed into C o b s and C f r e e . Hence, a set of constraints should be introduced for the quadrotor to always be within free space x C f r e e = C / C o b s . Hence, the initial trajectory generation process has to consider both said types of constraints simultaneously so that the quadrotor would have a smooth flying experience.

4.1. Define Trajectory

Let Γ C R d be an initial trajectory, which is parameterized as a function of time where d denotes the C’s dimension. Since Γ is a function, the objective of the trajectory generator is to determine the precise objective, which will eventually provide the optimal trajectory in a timely manner satisfying constraints and hypotheses that are imposed. Hence, optimal trajectory, namely Γ * , can be posed as a discrete or continuous optimal control problem (OCP) [73]:
Γ * = min u ( · ) J ( x ( 0 ) , u ( · ) ) s . t . x ( 0 ) = x 0 , x ( t n ) = x n x ˙ ( t ) = f c ( x ( t ) , u ( t ) ) x ( t ) C f r e e , u ( t ) U , t [ t 0 , t n ] ,
where t 0 and t n denote the start and terminal time, respectively. Yet another challenging problem is to formulate the objective function, namely J. In the following subsections, we discuss several approaches to address this problem.

4.2. Minimum-Snap-Based Trajectory Generation

minimum-snap trajectory generation [53] uses the differential flatness property (Section 2.3) to automate the trajectory generation process. Let quadrotor trajectory be Γ T ( t ) = [ r T ( t ) , ψ T ( t ) ] T for flat output [ x , y , z , ψ z ] T , where r = [ x , y , z ] is the center position of the MAV with respect to world coordinate system and ψ z is the yaw angle of the MAV. The continuous trajectory can be expressed as follows:
Γ ( t ) : [ t 0 , t n ] R d ,
where d is the dimension of the space, e.g., 3. As we defined in Section 2.3, system states and inputs can be determined in terms of Γ and its derivatives. Γ , Γ ˙ , and Γ ¨ correspond to position, velocity, and acceleration, respectively. Flat output and its derivatives estimation in minimum-snap refer to the original work [53] (Equations (1)–(35)).
In minimum-snap trajectory parameterization, the total time duration of the trajectory is divided into a set of subintervals, i.e., keyframes. Each keyframe consists of a desired position and a yaw angle. A safe corridor is constructed between consecutive keyframes as a set of piece-wise-polynomial functions to estimate smooth transitions through the keyframes. Let m d and d be the number of keyframes and the order of the piece-wise-polynomial functions, respectively. Hence, Γ T ( t ) can be formulated as:
Γ T ( t ) = Σ i = 0 d Γ i , 1 ( t t 0 ) i t 0 t < t 1 Σ i = 0 d Γ i , 2 ( t t 1 ) i t 1 t < t 2 Σ i = 0 d Γ i , m d ( t t m d 1 ) i t m d 1 t < t m d .
To generate an optimal trajectory, the following objective is utilized:
J ( r T , ψ T ) = t 0 t m d ξ r d k r r T d t k r 2 d t + ξ ψ d k ψ ψ T d t k ψ 2 d t min w J ( r T , ψ T ) s . t . Γ T ( t i ) = Γ i i = 1 , , m d d p x T d t p | t = t j 0 j = 0 , m d ; p = 1 , , k r d p y T d t p | t = t j 0 j = 0 , m d ; p = 1 , , k r d p z T d t p | t = t j 0 j = 0 , m d ; p = 1 , , k r d p ψ T d t p | t = t j 0 j = 0 , m d ; p = 1 , , k ψ ,
where ζ r and ζ ψ are regulation parameters, k r and k ψ are the order of derivation at each keyframe, and Γ T ( t i ) = [ x i , y i , z i , ψ z i ] T , i = 0 , , T . Time intervals, t 1 , t 2 , , t m d can be kept constant or varying when deriving the minimum-snap trajectory generation. In most cases, having varying time intervals between keyframes is necessary. Mellinger et al. [53] proposed a gradient descent-based approach for finding optimal time intervals between keyframes. Furthermore, Chen et al. [74] utilized A* to find the intermediate waypoints. Based on these estimations, time segments or keyframes are calculated incorporating both velocity and acceleration limits. In the latter approach, the steps listed below were used to obtain intermediate waypoints. Initially, the environment was constructed as a map using OctoMap. Afterwards, the formed map was split into two subsets: allocated and nonallocated (a set of free spaces). Then, the discrete graph was constructed connecting consecutive free spaces, which were represented as cubes. Afterwards, A* was applied for finding the optimal path segment within each cube. Similar to (14), the researchers set k r = 3 and minimized only total jerk (15) to minimize the angular velocity. As an aside, minimizing the angular velocity helps to avoid fast rotation.
J = t 0 t m d ζ r d k r Γ T ( t ) d t k r 2 d t .

4.3. Polynomial Trajectory Generation as QP

In minimum-snap trajectory generation, total trust force, i.e., attitude acceleration, is proportional to the fourth derivative (snap) of the trajectory [53]. The gracefulness of such behavior helps to avoid generating excessive control commands. Subsequently, a slight variation of minimum-snap trajectory generation was proposed in [35], where segment times or keyframes were fixed initially. Once start and goal positions were provided, RRT* [49] was utilized for finding an obstacle-free path between the start and the goal poses as a sequence of optimal waypoints. Initial segment times ( m d ), which were estimated using optimal waypoints, were calculated according to the maximum velocities that the quadrotor is allowed to fly due to set technical limits. Let p i ( t ) be the dth-order polynomial in the ith segment that describes as follows:
p i ( t ) = λ 0 t 0 + λ 1 t 1 + λ 2 t 2 + λ 3 t 3 + + λ d t d .
Each p i ( t ) provides a flat output for a given time index t. λ j , j = 0 , , d denotes the polynomial coefficients. The objective or cost function J ( Γ i ) can be fully determined by penalizing the derivatives of squares [35]:
J ( Γ i ) = t i t i + 1 ζ 0 p i ( t ) 2 + ζ 1 p ˙ i ( t ) 2 + ζ 2 p ¨ i ( t ) 2 + + ζ k r p ( k r i ) ( t ) 2 = P i T Q ( T i ) P i ,
where P i is a vector whose elements contain polynomial coefficients: ζ 0 , ζ 1 , , ζ k r i , where k r i is the highest order of derivative and Q ( T i ) is Hassin matrix, which contains the ith segment squares of derivatives. Since there are m d number of segments, total cost J ( Γ ) can be expressed by:
J ( Γ ) = P 1 P m d T Q ( T 1 ) Q ( T m d ) P 1 P m d .
For a smooth flight experience, ensuring the continuity of derivatives between segments is necessary. Hence, imposing constraints between segments, e.g., velocity, acceleration, jerk, and snap is needed, which can be formulated as follows:
C i p i = d i , C i = ζ 0 ζ k r i , d i = d 0 d k r i ,
where C i contains a mapping matrix whose entries contain the start and end coefficients of ith segment, whereas d i contains derivative values, i.e., start and end of ith segment. Taking all constraints of m n segments:
C p 1 p m d = d 1 d m d .
Now this can be solved as a constrained quadratic programming (QP) problem.

4.4. Unconstrained Polynomial Trajectory Generation

The techniques that are used for uconstrained trajectory optimization are faster than constraints optimization. In [35], the researchers extended minimum-snap trajectory generation as an unconstrained QP. According to their findings, minimum-snap works well for small segments size. For higher-order polynomials with varying segment sizes, minimum-snap becomes ill-conditioned. Thus, an unconstrained QP was proposed. After substituting (19) and (20) into (18), J ( Γ ) can be reformulated as:
J ( Γ ) = d 1 d m d T d C ( T 1 ) C ( T m d ) T C T Q ( T 1 ) Q ( T m d ) Q C ( T 1 ) C ( T m d ) 1 d 1 d m d = d f d p T S C T Q C 1 S T R d f d p = d f d p T R f f R f p R p f R p p d f d p ,
where d contains fixed derivatives ( d f ) and free derivatives ( d p ), and S is a permutation matrix (ones and zeros), which is used to correct the order. Then, d J ( Γ ) d d p = 0 yields the optimal value for d p :
d p * = R p p 1 R f p T d f .
Once d p is determined, a polynomial that corresponds to each segment can be recovered.

4.5. Unconstrained Polynomial Trajectory Generation with Collision Avoidance

Oleynikova et al. [37] extended what Richter [35] proposed for adding support for collision avoidance capabilities. They added an additional term for calculating the collision cost:
J ( Γ ) = ζ o b s J o b s ( Γ ) + ζ s m o o t h J s m o o t h ( Γ ) , J s m o o t h = d f T R f f + d f T R f p d p + d p R p f d f + d p T R p p d p ,
where J s m o o t h exactly equals (21). To estimate J o b s ( Γ ) , it is required to initially calculate position p i ( t )  (16) and velocity v i ( t ) for each axis at time t after selecting the corresponding segment ( i , i = 1 , , m d ):
p i ( t ) = T p i , p i = [ λ 0 , λ 1 , , λ d ] i T , T = [ t 0 , t 1 , t 2 , , t d ] , v i ( t ) = p ˙ i ( t ) = T V p i , p i ( t ) = [ p x ( t ) p y ( t ) p z ( t ) ] i , v i ( t ) = [ v x ( t ) v y ( t ) v z ( t ) ] i .
Knowing (the values of) p i ( t ) and v i ( t ) , J o b s ( Γ i ) can be fully determined by:
J o b s ( Γ i ) = S c ( p i ( t ) ) d s = t = 0 t d c ( p i ( t ) ) v i ( t ) d t = t = 0 t d c ( p i ( t ) ) v i ( t ) Δ t J o b s ( Γ i ) d p i ( t ) = t = 0 t d v i ( t ) i c ( T ( C 1 S ) p p ) Δ t + c ( p i ( t ) ) v i ( t ) v i ( t ) T V ( C 1 S ) p p Δ t ,
where ( C 1 S ) p p is the right-side matrix, which corresponds to d p . For representing the collision cost c ( p i ( t ) ) , a line integral of a potential function, i.e., (44), was used. As total cost is given (21), J o b s ( Γ ) can be calculated for all the segments provided that d p * can be estimated. In a cluttered environment, optimization problem is most likely to be nonlinear as well as nonconvex. Thus, Broyden–Fletcher–Goldfarb–Shanno (BFGS) [75] was used to solve the optimization problem. However, the solver failed to obtain the global minimum most of the time. Hence, several random restarts were needed to find the optimal solution. A thorough discussion of how random restarts were invoked into the optimization problem was detailed in [45].

4.6. Covariant Gradients for Trajectory Generation

The significance of covariant gradients technique is that both J o b s ( Γ ) and J s m o o t h ( Γ ) depend solely on physical characteristic of the desired trajectory. In other words, the trajectory generation is invariant to its parameterization. If gradient descent is applied, it depends on the way trajectory is parameterized. The covariant gradients technique removes this dependency. Hence, covariant gradient technique depends solely on physical representation or dynamic quantities of the trajectory with respect to an operator, Θ :
Γ Θ 2 = n = 1 k ζ ( Γ ( t ) ( n ) ) 2 d t ,
where ζ is a constant and apices ( n ) determine the nth-order derivative. The correlation of derivatives between two trajectories: Γ 1 and Γ 2 , which are defined by assuming inner product as given (27).
< Γ 1 , Γ 2 > = n = 1 k ζ Γ 1 ( t ) ( n ) Γ 2 ( t ) ( n ) d t .
The primary objective of Θ is to distinguish the norm (26) and the inner product (27) from the L2 norm [50].

4.7. B-Spline-Based Trajectory Generation

dth-order B-spline can be defined for a given knot sequence p k = { t 0 , t 1 , , t n k } and control points p c = { p 0 , p 1 , , p n p } , where t * R , p * R d and n k = n p + d + 1 . If d is set to 3, each p i represents position in R 3 , where i = 0 , , n p . For a given time index t, the corresponding position p ( t ) can be fully determined by using the de Boor–Cox formula [76].
p ( t ) = D e B o o r C o x ( t , p c ) .
Estimation is not limited to the position; velocity, acceleration, or any high-order derivative of p c can be estimated using D e B o o r C o x ( t , p c ( * ) ) , as given in Algorithm 1, where ( * ) depicts the order of the derivative of p c such that ( * ) < d .
Algorithm 1 The B-spline trajectory (p) and its derivative estimation for a given time index t, where p equals p c ( * ) .
1:
procedure DeBoorCox( t , p )
2:
     t = { p k [ d ] , i f t < p k [ d ] p k [ n k ] , i f t > p k [ n k ] t , o t h e r w i s e
3:
    k = d
4:
    while  t r u e  do
5:
        if  p k [ k + 1 ] t  then
6:
           break
7:
        k++
8:
     p e [d]
9:
    for  i 0 t o d  do
10:
         p e [ i ] p [ k d + i ]
11:
    for  r 1 t o d  do
12:
        for  i d t o r  do
13:
            β t p k [ i + k d ] p k [ i + 1 + k r ] p k [ i + k d ]
14:
            p e [ i ] ( 1 β ) × p e [ i 1 ] + β × p e [ i ]
15:
    return p e [ d ]
Later, the B-spline matrix representation was proposed by Qin [77]. B-spline can be formulated as uniform or nonuniform. J. Hu et al. [78] detailed the uniform B-spline matrix representation. In uniform B-spline, knot span is the same for any considered consecutive time interval, i.e., Δ t = t i + 1 t i , i [ 0 , n k ) . Any position of the trajectory can be parameterized by considering only d + 1 consecutive control points: [ p i , p i + 1 , , p i + d ] . Hence, corresponding normalized time q ( t ) can be calculated as follows:
q ( t ) = t t i t i + 1 t i = t t i Δ t , t [ t i , t i + 1 ] .
In the matrix representation, c ( q ( t ) ) , which is given in (28), can be determined by:
c ( q ( t ) ) = q ( t ) M d p i , q ( t ) = [ 1 , q ( t ) , q 2 ( t ) , , q d ( t ) ] T , p i = [ p i , p i + 1 , , p i + d ] T , M d R d + 1 × d + 1 , M r , c = 1 d ! d d r Σ s = c d ( 1 ) s c × d s c ( d s ) d + 1 r s .
Since each control point p i belongs to d + 1 of successive spans, B-spline can be controlled locally. Due to such controllability, B-spline is suitable for local trajectory planning [30]. Moreover, the derivatives of a given B-spline are also B-spline [8]. Hence, B-spline’s derivatives (e.g., velocity, acceleration, jerk) can be calculated considering corresponding span [ t i , t i + 1 ) for a given d + 1 consecutive control points p i = [ p i , p i + 1 , , p i + d ] T R d × 3 and corresponding knot vector.
d c ( q ( t ) ) d u = 1 ( Δ t ) b 1 M d v i T , b 1 = [ 0 , 1 , u , , u d 1 ] R d + 1 , d 2 c ( q ( t ) ) d 2 u = 1 ( Δ t 2 ) b 2 M d v i T , b 2 = [ 0 , 0 , 1 , u , , u d 2 ] R d + 1 .
The explicit form of estimation of velocity and acceleration of a given time index is calculated as follows:
d c ( q ( t ) ) d u = d · p c ( i + 1 ) p c ( i ) p k ( i + d + 1 ) p k ( i + 1 ) , d 2 c ( q ( t ) ) d 2 u = ( d 2 d ) · ( p c ( i + 2 ) p c ( i + 1 ) p k ( i + d + 2 ) p k ( i + 2 ) p c ( i + 1 ) p c ( i ) p k ( i + d + 1 ) p k ( i + 1 ) ) .
In most of the situations, initial control points are generated, as explained in Section 3. Such methods may or may not be smooth enough for initial trajectory generation. There are various ways to generate intermediate waypoints to improve the quality of the trajectory using B-splines. For example, the initial trajectory was constructed using cubic B-Spline in [62]. Such a capability is mainly due to B-spline’s properties.
It is particularly continuity and convex-hall properties that make B-spline trajectory generation such a robust technique.

4.7.1. Convex Hull Property

Among the properties of the B-spline, the convex hull property is the most significant property due to its capabilities for checking the dynamical feasibility and the collision. How convex hull property is incorporated for calculating dynamical feasibility is given in (32). As shown in Figure 3, d h > 0 and d h > d c r h should be held for a considered point in the trajectory to ensure a collision-free trajectory, where d c is the distance between a given control point and its closest obstacle position. In dth-order B-spline, a convex hull is formed by connecting any successive d + 1 control points, e.g., p i , p i + 1 , p i + 2 , , p i + d or union of all consecutive control points that lie on the corresponding B-spline curve [69]. Moreover, r h can be substituted with d i , i + 1 + d i + 1 , i + 2 + d i + 2 , i + 3 since r h d i , i + 1 + d i + 1 , i + 2 + d i + 2 , i + 3 , d h > d c ( d i , i + 1 + d i + 1 , i + 2 + d i + 2 , i + 3 ) , where d i , i + 1 = p i + 1 p i , d i + 1 , i + 2 = p i + 2 p i + 1 and d i + 2 , i + 3 = p i + 4 p i + 3 . As mentioned in [19], the following condition should hold for collision-free trajectory planning:
d i , i + 1 < d c 3 , d c > 0 , i { 1 , 2 , 3 } .

4.7.2. Continuity

B-spline-based trajectory generation offers several advantages over piece-wise-based trajectory generation [35,37]. In piece-wise-based trajectory generation, the boundary constraints must be explicitly satisfied to ensure continuity. The smoothness of the trajectory depends solely on how the control points are formed. In contrast, B-spline-based trajectory generation can neglect boundary constraints because the entire trajectory can be treated as one segment. Moreover, as explained in Section 4.7.1, B-spline-based trajectories can be controlled locally without affecting the rest of the trajectory.

4.8. Bernstein Piece-Wise Trajectory Generation

Bernstein polynomial is a specific form of B-spline, which is similar to the Bezier curve [79,80]. Bernstein polynomial can be described as follows:
Γ j ( t ) = λ j 0 p d 0 ( t ) + λ j 1 p d 1 ( t ) + + λ j d p d d ( t ) = Σ i = 0 d λ j i p d i ( t ) , p d i ( t ) = d i · t i · ( 1 t ) d i ,
where d is the degree of the polynomial (Figure 4), λ j 0 , λ j 1 , , λ j d are the control points of jth polynomial segment, and t [ 0 , 1 ] . Since Bezier is a particular form of the B-spline curve, such curves hold convex hull property. Hence, given a sequence of control points, a constrained convex hull can be defined using the control points that are considered. Both the beginning and end of the curve are determined by the first and the last control points, respectively. Furthermore, the derivative of Bezier is also a Bezier curve.
Γ μ ( t ) = s 1 · Σ i = 0 d λ 1 , μ i p d i ( t t 0 s 1 ) t 0 t < t 1 s 2 · Σ i = 0 d λ 2 , μ i p d i ( t t 1 s 2 ) t 1 t < t 2 s m · Σ i = 0 d λ m d , μ i p d i ( t t m d 1 s m d ) t m d 1 t < t m d ,
where i, j refer to ith control point in jth segment, i.e., λ j i , s j is a scaling factor of jth segment for mapping time duration from [ 0 , 1 ] to [ t j 1 , t j ] and μ { x , y , z } . Once Γ μ ( t ) is obtained, the objective is to minimize the total cost, which can be determined by taking the integral of square error up to k r order as given in (15). Such a problem can be formulated as a QP constraint problem. For instance, Gao and Wu [26] proposed a Bernstein-based trajectory optimization approach in which three types of constraints piece-wise trajectory continuity, safety constraints which are based on convex hull property, and dynamical feasibility constraints enforced [26].

4.9. Comparison of Several Trajectory Techniques

In the preceding subsections, several types of trajectory parameterization techniques were considered. We have selected three different types of trajectory parameterization techniques for this comparison: piece-wise-polynomials technique, fitting based on a sequence of points, and the third is uniform B-spline-based technique. The objective of piece-wise-polynomials is to find optimal polynomial coefficients [53] or end-derivatives [35] of consecutive segments, whereas the objective of the third technique is to find a set of points satisfying the provided constraints [57]. A comparison of how velocity, acceleration, jerk, and snap are varied for selected techniques in terms of mean, standard deviation (std), min, and max for the same a set of control points and knot vector is present below. The considered knot vector and control points are:
p c t r l = [ [ 0.011 , 0.0329 , 2.017 ] , [ 1.867 , 3.408 , 1.6 ] , [ 7.514 , 5.715 , 3.735 ] , [ 8.410 , 0.911 , 1.600 ] , [ 6.902 , 5.531 , 4.306 ] , [ 1.899 , 6.680 , 3.082 ] , [ 2.302 , 0.611 , 5.375 ] ] p k n o t = [ 0.0 , 5.0 , 12.0 , 18.0 , 26.0 , 31.0 , 40 ] .
Each approach has its own set of parameters to fine-tune for obtaining an optimal trajectory. The generated trajectories are shown in Figure 5 with different configuration setups (with different parameter sets). Figure 6 shows how the derivatives up to the fourth change over time in each direction, i.e., x, y, z, separately for each technique. When looking at the derivatives of each method, it is clear that smoothness, which is the main point to be considered for motion planning, is higher in both B-spline and minimum-snap compared to CHOMP. Since uniform B-spline is used in this comparison, smoothness changes of each derivative between B-spline and minimum-snap cannot be compared directly due to time allocation when generating the trajectories. Hence, minimum-snap trajectory smoothness can be changed, optimizing the time allocation process [35]. On the contrary, such a time allocation process is not necessary for a uniform B-spline. However, control points are interpolated appropriately to generate a continuous and smooth trajectory.
We varied the parameters for each approach appropriately and estimated the mean, standard deviation, maximum, and minimum of the velocity, acceleration, jerk, and snap profiles. The results are shown in Table 1. The results clearly show that the consistency of the trajectory depends on the parameters used to parameterize the trajectory. Therefore, selecting the appropriate parameter set for a given task is of utmost importance, as can be seen by looking at the statistical properties (mean, standard deviation, minimum, and maximum) of the higher-order derivatives, such as velocity, acceleration, jerk, and snap. As described in the previous paragraph, the time allocation process directly affects the parameter selection for minimum-snap. Further, the optimal polynomial coefficients process depends on time allocation, as given in (13). On the other hand, the Poly-traj [35] generation process has fewer parameters to be optimized, since it uses free-end derivatives of each segment. Hence, the latter technique is faster than minimum-snap.

5. Free Space Extraction

Obstacle region identification is of utmost importance for optimal trajectory planning in real time. In a cluttered environment, the way the trajectory planning problem formulated matters for fast reaction. Such trajectory planning approaches can be designed as QP mainly due to less computation power required for such tasks. Hence, forming obstacle-free regions in the form of convex has more advantages in terms of reducing the computation power, simplicity, and fast convergence. Chen [74] attempted to define free space as a series of cubes between the start and goal pose. Thenceforth, OctoMap [81] was used for constructing the map surrounding the quadrotor, where regions with no obstacles are considered free spaces. After obtaining the free space information, obstacle constraints are enforced into (15) to generate optimal trajectory.
Let C = [ c 1 m , c 2 m , ] be a set of consecutive grids within the OctoMap and corresponding free space regions be C f r e e = [ c 1 f , c 2 f , ] . Both c i m and c i f were defined as cubes, each of which is described by:
c i m = [ c i x 0 m , c i y 0 m , c i z 0 m l m i , c i x 1 m , c i y 1 m , c i z 1 m u m i ] , c i f = [ c i x 0 f , c i y 0 f , c i z 0 f l f i , c i x 1 f , c i y 1 f , c i z 1 f u f i ] .
Once C f r e e was obtained, free space regions can be considered as a set of inequality constraints that can be added into the piece-wise-polynomials trajectory generation as l f i Γ T ( t i ) u f i , where i = 1 , , m d 1 and Γ T was defined in (13). In such a trajectory, additional boundary constraints should be introduced if the extrema of dth-order polynomial violates the boundary constraints corresponding to each axis, i.e., x, y, and z, in each segment [74] (Equation (10)). Similar to the preceding approach, Gao and Shen [82] proposed a sequence of spheres to represent free space from the initial position to the final position. To construct the environment, a map was not built; instead, they bypassed map building by constructing a KD-tree-based placeholder [83] to store raw point cloud for the LiDAR. Afterwards, a relative map to the current pose of the MAV was retrieved using nearest neighbour search; RRG [84] combined with A* was used to find a flight corridor or intermediate waypoints. Such intermediate waypoints were connected by overlapping spheres.
IRIS [40] is one of the first successful ideas in which obstacle-free spaces are extracted using a convex optimization technique. In this proposed approach, initially, it is required to provide a seeking point and an area with a boundary box where an obstacle-free region is to be searched. Seeking point is defined as a unit ball: ε ( C , p 0 ) = { p = C p ˜ + p 0 | p ˜ 2 1 } , where p 0 is the center point. The linear constraints, which separate the boundary box into obstacle-free and obstacle-rich regions, are defined as a set of hyper-planes: P = { p | A p b } . Subsequently, finding the optimal representation of ε ( C , p 0 ) and P with respect to given obstacles, ı j , j = 1 , , N is solved as an iterative process (38):
min C , p 0 , A , b l o g ( d e t C ) s . t . A j T p k b j p k ı j , j = 1 , , N s u p p ˜ A i T ( C p ˜ + p 0 ) b i i = 1 , , N ,
where A i and b i correspond to ith row of A and b . The first constraint, i.e., A j T p k b j , is imposed to move the obstacle into one side of the plane, A j T p = b j , whereas the second constraint, i.e., s u p p ˜ A i T ( C p ˜ + p 0 ) b i , ensures the ellipsoid lies on the other side of the plane. The researchers proposed to solve the (38) as a two-step process: searching, first, for proper constraints (i.e., A i and b i ), and then the maximum volume that satisfies ellipsoid, ensuring preceding constraints. In other words, they attempted to find hyperplanes that separate obstacle regions and free regions. Conceptually, hyperplane separation is completed by finding planes that intersect with obstacle boundaries. Afterwards, the ellipsoid is uniformly expanded until it intersects with obstacle boundaries. Let α be the scaling factor which defines the expansion. Let ε α = { C p ˜ + p 0 | p ˜ 2 α } for α 1 be the expanded ellipsoid. Hence, the optimal α * can be determined by:
α * = a r g m i n α s . t . ε α ı j .
After finding α * , it is possible to define the optimal inscribed ellipsoid ( ε * ), which is the obstacle-free region [40] (Section 3.3).
Sikang et al. [32] proposed a new approach, quite different from the aforementioned IRIS, for extracting obstacle-free regions as a convex set SFC (Figure 7). SFC searches a set of overlapping polyhedra from the start pose to the goal pose. To obtain intermediate obstacle-free positions, the researchers utilized a graph search technique, namely JPS [55]. The main reason for selecting JPS over sampling-based algorithms (e.g., RRT* and PRM) or search-based techniques such as A* or Dijkstra is due to the nature of JPS; it uses a uniform-cost grid map with uniform voxels. In general, sampling-based techniques are not deterministic though probabilistically complete. Thus, there is no guarantee about the duration of searching time. On the other hand, the computational time for search-based methods is pretty high if the environment is cluttered. However, JPS has a lower searching time compared to A* [32]. Let p c = p 0 , p 1 , , p n be the intermediate waypoints from start to goal pose and l i = < p i , p i + 1 > be the ith line segment, where i = 1 , , n 1 . Each line segment constitutes convex polyhedra, namely, E i . Along with that, SFC can be expressed as S F C ( P ) = { E i | i = 0 , , n 1 } . SFC has two steps: finding E i that fits the l i and seeking a set of linear inequalities that are tangent to E i . Let E i be ε i ( C i , p i 0 ) = { p = C i p ˜ + p i 0 | p ˜ 2 1 } . In R 3 , C i can be decomposed as R T S R , where R gives the axis of rotation between considered line segment in between p i and p i + 1 ). The semi-axis of E i is given by S = d i a g ( a , b , c ) as a diagonal matrix. p i 0 is the center of l i . The objective of SFC is to find each pair E i and p 0 i , given the l i and obstacles set ( O b s i ), which touches the E i .
Initially, ellipsoids are spheres whose center poses are located as the midpoints of l i , i = 1 , , n 1 . Afterwards, semi-axes, except for the axis along p i + 1 p i , are shrunk until the corresponding ellipsoid contains no obstacles. Let ε i * ( C i , p i 0 ) be the ith ellipsoid after applying the shrinking process. p j denotes the closest point that touches the ε i * ( C i , p i 0 ) , where j = 1 , , m and m is the number of obstacles. Hence, corresponding half-space H j = { p j | a j T p j < b j } is defined as a plane that is tangential to ε i * ( C , p 0 ) , where a j and b j are determined by:
a j = d ε i d p p = p j = 2 C i 1 C i T ( p j p i 0 ) , b j = a j T p j .
Hence, the intersections of these m half spaces create a convex polyhedron C = j = 0 m H j = { p | A T p < b } . The same approach is applied to each line segment, l i in which we can generate each C i . All in all, S F C ( P ) = { C | i = 0 , , n 1 } can be constructed. A more descriptive formulation is given in [32] (Algorithm 1).

6. Continuous Trajectory Refinement

The objective function consists of several subobjective functions: for improving the smoothness, for avoiding obstacles, and so forth. In this section, a precise explanation is given on how to construct subobjective functions for each of the various occasions. First, we examine the simplest case where only dynamic feasibility and obstacle avoidance constraints are taken into consideration. Let J be the objective function or performance index:
J ( Γ ) = ζ s m o o t h J s m o o t h ( Γ ) + ζ o b s J o b s ( Γ ) .
There are various formulations of how J o b s and J s m o o t h are determined. In general, J s m o o t h can be expressed as:
J s m o o t h ( Γ ) = 1 2 0 1 d Γ ( t ) d t 2 d t .
Eliminating unnecessary higher-order motion is the main objective of the J s m o o t h . On the other hand, J o b s encourages to generate or modify collision-free trajectory by trying to push control points away from the obstacle zone if the trajectory is already in collisions or penalizing parts of the trajectory that is close to the obstacles. Let B R d be the exterior boundary of the MAV and c is the cost function of penalizing close-in obstacles with respect to B. Along with that, J o b s can be formulated as follows:
J o b s ( Γ ) = 0 1 u B c ( f c ( Γ ( t ) , p ) ) d f c ( Γ ( t ) , p ) d t 2 d p d t ,
where the function f c ( Γ ( t ) , p ) , which was proposed by Ratliff at al. [57], can be defined as follows:
f c ( Γ ( t ) , p ) = d i s ( Γ ( t ) , p ) + 1 2 δ d i s i f d i s ( Γ ( t ) , p ) < 0 1 2 δ d i s ( d i s ( Γ ( t ) , p ) δ d i s ) 2 i f 0 < d i s ( Γ ( t ) , p ) δ d i s 0 o t h e r w i s e ,
where δ d i s denotes the distance from the boundary (B) of the quadrotor to a given obstacle position. Before taking gradient at i, J ( Γ ) is linearized around i, J ( Γ ) J ( Γ i ) + ( Γ Γ i ) T J ( Γ i ) . Defining c and d is detailed in [57] (Equations (22)–(28)).
In [19], the cost of the trajectory was estimated based on the following formulation:
J ( Γ ) = ζ o b s J o b s ( Γ ) + ζ s m o o t h J s m o o t h ( Γ ) + ζ s o f t J s o f t ( Γ ) , J s o f t ( Γ ) = J v ( Γ ) + J a ( Γ ) ,
where J s o f t ( Γ ) is determined by soft limits on acceleration and velocity. J s m o o t h ( Γ ) is defined by considering only geometric information without minimizing snap and/or jerk [53]. Such minimization is required because of the following stages of trajectory optimization. In such trajectory optimization, time reallocation has less impact on the objective function. Hence, J s m o o t h ( Γ ) is defined as follows:
J s m o o t h ( Γ ) = Σ i = d 1 n + 1 d p i + 1 p i f i + 1 , i + p i 1 p i f i 1 , i 2 ,
where a number of control points, denoted n, and f i + 1 , i and f i 1 , i can be interpreted as connecting joint force of two springs between control points pairs: ( p i + 1 , p i ) and ( p i 1 , p i ) , for example, control points lie on a straight line if the sum of all terms equals zero. As an aside, similar approaches were proposed in [85,86].
The value of J o b s ( Γ ) is determined by calculating the distance to the closest object pose from each control point, in which the distance to the obstacle, i.e., f c ( p i ) , is given by:
f c ( p i ) = ( d i s ( p i ) δ ) 2 d i s ( p i ) δ d i s 0 d i s ( p i ) > δ d i s ,
where δ d i s is the free distance between MAV’s center and the pose of the closest obstacle. Hence, J o b s ( Γ ) = Σ i = d n f c ( p i ) can be estimated based on a given trajectory in the form of control points. Soft constraints are defined by not exceeding both acceleration and velocity within those max limits.
J v ( Γ ) = μ i = d 1 n d f v ( v i , μ ) , J a ( Γ ) = μ i = d 2 k d d f a ( a i , μ ) f ( v ) = ( v μ 2 v m a x 2 ) 2 v μ 2 > v m a x 2 0 v μ 2 v m a x 2 , f ( a ) = ( a μ 2 a m a x 2 ) 2 a μ 2 > a m a x 2 0 a μ 2 a m a x 2 .
To calculate acceleration and velocity at each control point and when both acceleration and velocity exceed their maximum limits, the convex hull property (33) of B-spline is utilized to penalize those control points. Based on the previous method, Ref. [30] proposed an endpoint cost J e n d p o i n t ( Γ ) into the objective function as an additional term. The key intuition behind adding J e n d p o i n t ( Γ ) is to reduce the error between local trajectory and global trajectory since J e n d p o i n t ( Γ ) penalizes error of both velocity and position with respect to the desired global trajectory. J e n d p o i n t ( Γ ) is determined as follows:
J e n d p o i n t ( Γ ) = J e n d ( Γ ) = ζ e n d p ( p ( t e n d ) p e n d ) 2 + ζ e n d v ( p ˙ ( t e n d ) p ˙ e n d ) 2 ,
where ζ e n d p and ζ e n d v are regularization parameters, whereas p e n d and p ˙ e n d are the desired end position and velocity of the trajectory.

7. Receding Horizon Trajectory Planning

On most occasions, paths which are obtained by planning techniques are suboptimal. Hence, the initial trajectory that is generated based on the initial path is to be refined, ensuring dynamic feasibility for controlling the MAV. Various approaches can be applied for trajectory refinement. However, enabling recursive feasibility and incorporating terminal constraints and convergence to the desired state are the utmost importance considerations to be contemplated throughout the process. LQR and MPC are the two most popular approaches that are being used for receding horizon planning. LQR is applied for linear systems, whereas iLQR and differential dynamic programming (DDP) are applied for nonlinear system. Both in LQR or iLQR, OCP is defined as an open-loop control problem. On the other hand, MPC is designed as a close-loop OCP. In other words, OCP is seeking actions knowing the behavior of the surrounding environment.

7.1. LQR-Based Trajectory Generation

DDP [87,88] is one of the first techniques proposed for solving optimal control problems. Let x k + 1 = fd ( x k , u k ) be the discrete-time system dynamics; the total cost of the trajectory can be formulated for a given control policy, i.e., π k + i , for all i = { 0 , 1 , , N 1 } .
i = 0 N 1 c ( x k + i , u k + i ) + c g o a l ( x k + N ) .
The optimal control input, i.e., u k + i = π k + i ( x k + i ) , for a given time index, i.e., i + k , can be obtained by minimizing the (50). Thus, cost (cost-to-go), which was proposed in [89], is fully determined by:
V k + i ( x k + i ) = min u k + i ( c ( x k + i , u k + i ) + V k + 1 ( f d ( x k + i , u k + i ) ) .
The same procedure can be applied recursively in a backward direction for seeking the optimal π k + i ( x k + i ) = arg min u k + i ( c ( x k + i , u k + i ) + V k + i ( fd ( x k + i , u k + i ) ) ) . DDP yields almost the same behavior: first estimate optimal control and then apply a forward pass to determine the updated nominal trajectory. Consequently, LQR is a simplified version of DDP. LQR is one of the fundamental ways to obtain a closed-form solution for a given optimal control problem under which system dynamics is assumed to be linear. Let us assume the system dynamics is defined as in (4). The intuition of LQR is to estimate the optimal control sequence for maneuvering the quadrotor from an initial position to the desired pose. Let N be the receding horizon whose optimal trajectory is to be determined. The total cost, i.e., J k ( x k , π N ) , consists of three parts: initial, intermediate, and final costs, where π N = { π k , π k + 1 , , π k + i , , π N 1 } :
J k ( x k , π N ) = c s t a r t ( x k ) + i = 0 N 1 c ( x k + i , u k + i ) d t + c e n d ( x k + N ) ,
where 2 C s t a r t ( x k ) x x 0 , 2 C g o a l ( x k + N ) x x 0 , 2 C x u x u 0 , and 2 C u u 0 are positive semi-definite Hessians to guarantee the minimizing of the total cost. The total cost can be formulated in various ways. In LQR, the total cost is defined as Quadratic costs as follows:
c s t a r t ( x k ) = 1 2 x k T Q s t a r t x k + x k T q s t a r t , c g o a l ( x k + N ) = 1 2 x k + N T Q g o a l x k + N + x k + N T q g o a l , c ( x k + i , u k + i ) = 1 2 x k + i T Q x k + i + 1 2 u k + i T R u k + i + u k + i T P x k + i + x k + i T p + u k + i T r + ζ = 1 2 x k + i u k + i T Q P T P R J k x k + 1 u k + 1 k + i + x k + 1 u k + 1 p r j k + ζ ,
where i { 0 , 1 , , N 1 }, Q s t a r t R n x × n x , Q g o a l R n x × n x , Q R n x × n x , R R n u × n u , P R n u × n x , q s t a r t R n x , q g o a l R n x , p R n x , r R n u , and ζ R are predefined in which Q s t a r t , Q g o a l , Q , and R are positive definite, whereas J k 0 and j k 0 assumed to be positive semi-definite. LQR problem (52) and (53) provides an optimal π N in close form solution as expressed in (51); the cost-to-go function, i.e., (51), can be reformulated as an explicit quadratic formulation as follows:
V k + i ( x k + i ) = 1 2 x k + i u k + i T J k + i x k + i u k + i + x k + i u k + i T j k + i + ζ .
The estimation of both J k + i and j k + i can be obtained in a recursive way starting from the goal position x x + N to the initial position x k , using Riccati differential equation for all i = { 0 , , N 1 } .
J k = Q + A k T J k + 1 A k ( P + B k T J k + 1 A k ) T · ( R + B k T J k + 1 B k ) 1 · ( P + B k T J k + 1 A k ) j k = p + A k T j k + 1 + A k T J k + 1 c k ( P + B k T J k + 1 A k ) T · ( R + B k T J k + 1 B k ) k 1 · ( r + B k T j k + 1 + B k T J k + 1 c k ) .
In general, system dynamics is described by:
x k + 1 = f d ( x k , u k ) = A k x k + B k u k .
If the system dynamics is nonlinear, A k and B k are recalculated by linearizing the f c at each time index. Since linearization has to be carried out in each iteration, it is called the iLQR [90].
A k = f c x ( x k , u k ) , B k = f c u ( x k , u k ) .
Boundary or goal position conditions are given by S k + N = Q g o a l , j k + N = q g o a l . The feedback control policy in LQR is fully determined as follows:
π k ( x k ) = ( R + B k T J k + 1 B k ) 1 · ( P + B k T J k + 1 A t ) x k ( R + B k T J k + 1 B k ) 1 · ( r + B k T j k + 1 + B k T J k + 1 B k ) .
As given in (55), system stability depends on system dynamics. When quadrotor dynamics is nonlinear, the stability of iLQR is not guaranteed. Jur and Berg [91] attempted to address the stability issue by proposing a novel method called LQR smoothing; this method can be applied for linear or nonlinear systems to acquire the minimum-cost trajectory. The main difference in LQR smoothing compared to LQR is that LQR minimizes the cost of not only backward direction, i.e., cost-to-go, but also applies forward direction, i.e., cost-to-come [58,91,92]. However, the output of LQR, iLQR or LQR smoothing does not address the system noise. Both linear or nonlinear state estimator may eliminate the system noise. LQG [93,94] is one of the ways to solve this problem. LQG consists of a state estimator, i.e., Kalman filter (KF), and state feedback, i.e., iLQR or LQR.

7.2. MPC-Based Trajectory Generation

As detailed in Section 7.1, unaccountability of addressing sudden disturbances is the main limitation of OCP techniques (e.g., LQR, DDP); this is due to its nature. LQR calculates fixed receding control policy and applies it to the system; there is no intervention during the control policy execution. MPC is one of the ways to address the preceding problem, which is characteristic of both LQR and DDP. The difference between MPC and LQR is that only the first portion of the control policy is applied to a system (Figure 8) in MPC through the calculation of full control policy rather than employing full control policy as in LQR. Let us assume the system dynamics as given in (2). In general, MPC can be formed as follows:
min w J e n d ( x k + N , x k + N r e f ) + J k ( x , u , x r e f , u r e f ) s . t . x k + 1 = f d ( x k , u k ) x m i n x k + i x m a x 0 i N u m i n u k + i u m a x 0 i < N 1 g 1 ( w ) = 0 g 2 ( w ) 0 ,
where w = u k , , u k + N 1 is the optimal control sequence to be estimated in each iteration. Variable J e n d ( x k + N ) plays a significant role in terms of the stability of the system locally and globally. Presenting local stability is relatively easy, e.g., Lyapunov’s analysis compared to global stability. In addition to terminal cost, terminal constraints for states should be enforced, which is quite computationally challenging for real-time applications. Moreover, enforcing terminal constraints is even more difficult for nonlinear dynamics. Thus, in most of the practical applications, terminal constraints are not enforced into the optimization procedure. Furthermore, classical MPC lacks recursive feasibility. Several varieties of MPC have been proposed to address processing issues to a certain extent. For a linear system, the performance index, i.e., J k ( x , u , z r e f , u r e f ) , can be defined as follows:
J k ( x , u , z r e f , u r e f ) = i = 0 N 1 ( ( x k + i x k + i r e f ) T Q x ( x k + i x k + i r e f ) + ( u k + i u k + i r e f ) T R u ( u k + i u k + i r e f ) ) + ( x k + N x k + N r e f ) T P ( x k + N x k + N r e f ) ,
where Q x , which is a positive semi-definite matrix, consists of the state error penalty coefficients, whereas R u should be positive definite and P is state error on the terminal cost. In principle, stability and feasibility are not assured implicitly. Consequently, stability and feasibility tend to improve for the longer receding horizon, which is quite challenging due to computational demands.
Quadrotor dynamics are usually expressed in a nonlinear fashion. Therefore, LQR or linear MPC cannot be applied without linear approximation. Hence, the nonlinear-programming-based approach has to be applied. Direct multiple shooting and direct collocation are the main two techniques that are used to transform OCP into nonlinear programming (NLP). In both direct multiple shooting and direct collocation, the state is minimized in addition to controlling inputs. Direct multiple shooting differs from direct collocation due to the way of the problem formulation. In multiple shooting, the problem is quantized into N subintervals, i.e., receding horizon length. In direct collocation, however, those subintervals are further described by a set of polynomials such as B-spline or Lagrangian; this will increase the problem sparsity. On the contrary, the number of optimization parameters to be optimized has dramatically increased in direct collocation compared to multiple shooting. This, collocation is better when it is accuracy-wise, but direct multiple shooting is better when it is performance-wise. In [62], the trajectory tracking problem is formulated based on direct collocation and multiple shooting. Furthermore, the researchers have proven that multiple shooting has a lower computational footprint compared to direct collocation.

7.3. Disturbance Estimation

In the context of optimal trajectory planning, simultaneously computing optimal control policy, which is required to respond to unknown, sudden disturbances, and handling kinematics (i.e., obstacle avoidance) as well as dynamics (i.e., satisfying velocity and acceleration constraints) yields a challenging problem, especially for quadrotors. While geometry-based path planning techniques [95,96] ensure the asymptotical optimality of a path, they however do not consider quadrotor dynamics. However, it is essential that the generation of an optimal control policy ensures dynamic feasibility. Thus, in [97,98], LQR was incorporated into path planning, by which both dynamic feasibility and local optimality were guaranteed. However, local optimality does not necessarily yield global optimality [99]. In [26,32], a set of motion primitives was used to find feasible trajectories ensuring both global and local optimality. When dealing with unknown disturbances, MPC is a more robust technique than LQR. In [32], MPC-based trajectory planning approach was proposed, ensuring both the local and global optimality. However, none of the aforementioned approaches formally guarantees stability and safety. Lyapunov’s analysis can be applied to confirm the local stability. Moreover, the terminal constraints set [100] can be incorporated. However, those measures are time consuming, which directly affects the real-time performance [101]. A set of CBFs was proposed for improving real-time performance without affecting the system stability in [102,103,104]. Recently, reference governors-based techniques were proposed in [105,106], enforcing safety constraints. It is natural that designing a path planer is followed by the actual controller to maneuver MAV. In such approaches, a reference governor can be used to handle the stability and constraint satisfaction separately to ensure system stability [107].
The above approaches are employed to estimate optimal control policy for safe navigation while imposing stability either using Lyapunov functions or reference governors. On the other hand, Li et al. [108] proposed to obtain an optimal control policy using a state-dependent distance metric (SDDM). They have modeled the system dynamics as a linear, time-invariant as follows:
x ˙ = A x + B u ,
where u indicates the control input. The system state, i.e., x : = ( p ( t ) , y ( t ) ) , consists of two parts: p and y , where p ( t ) denotes the quadrotor position at a given time t and y ( t ) describes the higher-order terms, e.g., velocity, acceleration, etc. In the latter work, the quadratic norm was utilized to represent the error between robot position and close-in obstacles positions. The quadratic norm is defined as p R : = p T R p , where R is a symmetric positive matrix. R[ ψ z ] is fully determined by the MAV heading direction ψ z at a given time instance as follows:
R [ ψ z ] = c 2 I + ( c 1 c 2 ) ψ z ψ z T ψ z 2 , i f ψ z 0 c 1 I , o t h e r w i s e ,
where both c 1 and c 2 are predefined scales such that c 2 > c 1 > 0 ; this process is called the SDDM, trajectory will be bounded incorporating SDDM information. Since quadrotor dynamics are linear, a reference governor [106] is introduced to maintain safety and stability. Other than LQR and MPC, there exist several receding horizon-based techniques for optimal trajectory planning, as given in Table 2.

8. Solving the Trajectory Planning Problem

As explained in the preceding sections, several constraints (e.g., soft and hard) are imposed to ensure dynamic feasibility, smooth navigation, handling disturbances, etc. Hence, optimal trajectory planning is posed as a constraint optimization problem in most situations. Constraint-based optimization problems are solved in two different ways: adding hard constraints or introducing soft constraints. In general, a constraint-based optimization problem can be formulated as a quadruple, i.e., P c o n s t r a i n t = ( c , g 1 , g 2 , J ) , where c stands for performance index or cost function, whereas equality and inequality constraints are given by g1 and g2, respectively. The objective function is given by J. In hard-constraint-based formulation, the optimal solution, i.e., w , for P c o n s t r a i n t is calculated, ensuring all the constraints. In soft constraints formulation, the objective function does not need to satisfy all the constraints, but satisfying those constraints will improve the final w . D. Mellinger and V. Kumar [53] took the lead in proposing a successful approach for trajectory generation as a hard-constraint-based optimization approach, i.e., minimum-snap. Subsequently, in [35], the researchers extended the minimum-snap trajectory generation as an unconstrained or soft-constraint-based optimization problem.
When generating trajectories, ensuring a collision-free path is essential. Hence, representing free space in a structured way and imposing obstacle constraints for trajectory generation is a must for safety. Free space can be represented in different ways, such as cubes [26,74], spheres [82,118], and polyhedrons [32]. The intuition of these approaches is to apply path planning through the free space to obtain the intermediate waypoints. Once intermediate waypoints are extracted, the trajectory generation procedure is utilized for retrieving a smooth, feasible, and collision-free trajectory. On the other hand, in [21,25,26], kinodynamic path planning followed by B-spline-based trajectory generation is considered. Most of the works that were proposed for soft-constraint-based trajectory generation formulated optimal trajectory planning as nonlinear optimization problems in which smoothness and safety were introduced as soft constraints. Most of the time gradient-descent-based [50] or gradient-free approaches [37,54] were applied for minimizing the cost of smoothness and safety.
The constraints optimization problem can be designed in either QP or NLP form. In QP, the procedure is to minimize or maximize the objective subject to a set of linear constraints in most situations. On the other hand, nonquadratic programming is used to handle the nonlinear constraints each of which has a unique nature to solve the problem. In general, the QP objective can be described as:
min x 1 2 x T Q x + c T x s . t . A x b ,
where A x b stands for the set of linear inequalities and Q is a positive symmetric matrix. There are various ways to solve QP, including interior point, active set, and gradient projection. In some situations, multiple variables that are to be optimized are integer values; those are solved as MIQP. For example, FASTER [119] used MIQP for safe trajectory planning with aggressive controls [36].
Most of the recent optimal trajectory planning techniques [19,29,30,37] were formulated as gradient-based trajectory optimization (GTO) in which optimization problem was designed as a nonlinear form. The gradient descent is performed with respect to each parametrization index of Γ to minimize the difference, i.e., Γ i + 1 Γ i . Hence, Γ i + 1 can be determined by solving the following optimization problem, as given in [50,120].
Γ i + 1 = arg min Γ J ( Γ i ) + ( J ( Γ ) J ( Γ i ) ) T J ( Γ i ) + η 2 Γ Γ i M 2 ,
where M is a weighting matrix and η is a regularization parameter. GTO is rather popular due to its ability to deform ineffability trajectory segments, low memory requirement, and high throughput. Despite having the listed advantages, GTO cannot avoid the problem of a local minimum. STOMP [54] is one of the early techniques proposed to address the local minimum problem. STOMP is based on the gradient-free technique. However, STOMP is unable to obtain real-time performance. Besides STOMP, the local minimum problem has been addressed by various recent works. However, this remains an open problem to be solved. Zhou [121] proposed a method, i.e., path-guided optimization (PGO), for overcoming local minima problems by generating topologically distinct paths and doing parallel optimization. Furthermore, various solvers can be utilized for solving optimization problems, including BOBYQA [122], L-BFGS [8,123], ACADO [124], SLSQP [125], Proximal Operator Graph Solver (POGS) [126,127], sequential quadratic programming (SQP), and MMA [128]. Shravan et al. [65] proposed a trajectory optimization technique in a distributed setup in which the researchers evaluated their formulation with several solvers. According to their observations, BOBYQA is faster compared to BFGS and SLSQP, while MMA yielded a similar performance to that of BOBYQA. In [129], L-BFGS was proposed for finding the shortest path in real-time; in this research effort, however, L-BFGS does not guarantee optimality, and only feasibility is enforced. Mathematical program with complementarity constraints (MPCC) [130] is yet another proposed method for fast trajectory optimization in real-time. Moreover, Mathieu and Nicolas [131] proposed a SQP-based trajectory generation approach for carrying augmented loads. The intuition behind selecting SQP over other solvers is due to its superlinear convergency and ability to handle nonlinear constraints within milliseconds.

9. Conclusions

All in all, we have thoroughly reviewed the trajectory planning problem in the paradigm of plan-based control for multirotor aerial vehicles (MAVs). Such a trajectory planning problem was broken down into a set of subproblems: free-space segmentation, motion model selection, initial waypoints identification, initial trajectory generation, continuous trajectory refinement, and receding horizon trajectory planning. Afterwards, for each subproblem, we examined how previous research has addressed those by presenting and evaluating various approaches to the considered subproblem. Finally, several selected recent approaches were listed (Table 3) according to the listed subproblems we have identified. Furthermore, Table 4 summarizes the key findings of the study, including features and performance. With that, we concluded that the trajectory planning problem can be designed by addressing those subproblems carefully for MAVs.
Our hypothesis was to investigate trajectory planning for multirotor aerial vehicles (MAVs) in the plan-based control paradigm, focusing on analytical approaches rather than fully learnable approaches, such as machine learning and deep learning. In future work, we plan to investigate other types of trajectory planning approaches, such as those based on imitation learning and inverse reinforcement learning. We also plan to conduct simulated and real-world experiments to compare the performance of the considered approaches in various conditions, such as high-dense and less-dense environments, and with static and dynamic obstacles. These considerations were not included in this work, as we focused on the theoretical aspects of trajectory planning.

Author Contributions

G.K. proposed the structure of the paper and carried out a comprehensive review in the field of motion planning targeting multirotor aerial vehicles. G.K. wrote the manuscript in consultation with A.K. A.K. made a critical reviewing the manuscript and final approval for publication. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
OCPOptimal Control Problem
OCPsOptimal Control Problems
MHEModel Horizon Estimation
NMPCNonlinear Model Predictive Control
LQRLinear Quadratic Regulator
iLQRIterative Linear Quadratic Regulator
MPCModel Predictive Control
DDPDifferential Dynamic Programming
NLPNonlinear Programming
QPQuadratic Programming
MIQPMixed Integer Quadratic Programming
CBFsControl Barrier Functions
SDDMState-dependent Distance Metric
CMPCCCorridor-based Model Predictive Contouring Control
RRGRapidly-exploring Random Graph
IRISIterative Regional Inflation by Semi-definite Programming
SFCSafe Flight Corridor
JPSJump Point Search
GTOGradient-based Trajectory Optimization
SQPSequential Quadratic Programming
MPCCMathematical Program with Complementarity Constraints
ESDFEuclidean Signed Distance Field
PGOPath-guided Optimization
LTILinear Time Invariant
TOPPTime-Optimal Parameterization of a given Path
CHOMPCovariant Hamiltonian Optimization for Motion Planning
MAVsMultirotor Aerial Vehicles
MAVMultirotor Aerial Vehicle
UAVsUnmanned Aerial Vehicles
UAVUnmanned Aerial Vehicle
LQGLinear Quadratic Gaussian
KFKalman Filter
EOElastic Optimization
QCQPQuadratically Constrained Quadratic Programming
RHCReceding Horizon Control
BFGSBroyden–Fletcher–Goldfarb–Shanno
TSDFTruncated Signed Distance Field
PRMProbabilistic Road Map
GTCGeometric Tracking Control
DoFDegree of Freedom

Symbols

x State vector and its derivative is denoted as x ˙ . Term x + depicts the next state given the current state x , and term x k denotes discrete state at time t equals k
u Control input. The term u * denoted as the optimal control inputs
p Position (m) in R 3 and its derivative is denoted as p ˙ . p * , * x , y , z , stands for position alone * component
pdth-order polynomial, which is a function of time. Term p ˙ ( t ) , p ¨ ( t ) (or p ( t ) ( 1 ) , p ( t ) ( 2 ) ) denote the higher order derivatives of p ( t )
λ Polynomial coefficients, e.g., p ( t ) = λ d t d + + λ 1 t + λ 0 , t [ 0 , d t ] , where d is the order of the polynomial
v Velocity (m/s) in R 3 and its derivative is denoted as v ˙ . v * , * x , y , z , stands for velocity alone * component
ω Angular velocity (rad/s) in R 3 and its derivative is denoted as ω ˙
ψ Orientation is represented as quaternion in R 3 and its derivative is denoted as ψ ˙ . ψ * , * x , y , z , stands for orientation alone * component
f = [ f 1 , f 2 , f 3 , f 4 ] T System input or total trust that is applied for each of the motors in N (Newton)
f d Discrete system dynamics
f c Continuous system dynamics
δ Euler or Runge Kutta discretization time step
z System output
( q ) Apices ( q ) stipulates the qth derivative, for example z ( q )
CConfiguration space that can be one of these: C f r e e , C o b s , C u n k n o w n , and C u n k n o w n
dOrder of polynomial
Γ Initial trajectory; the optimal trajectory is defined as Γ * , trajectory derivatives are defined as Γ ˙ and Γ ¨ , and trajectory is a function of time, i.e., Γ T ( t )
ξ Regularization parameter
cFormulation of cost function, where c ( · ) , · denotes the inputs
AH representation of polytope, i.e, A T p = b
w The optimal estimation for states and/or controls after minimizing given cost function
gEquality constraints are denoted by g 1 ( w ), whereas inequality constraints are denoted by g 2 ( w )

References

  1. Pixhawk 4. 2022. Available online: https://dev.px4.io/v1.9.0 (accessed on 29 January 2022).
  2. DJI. 2022. Available online: https://www.dji.com/ (accessed on 29 January 2022).
  3. Singh, B.K.; Kumar, A. Attitude and position control with minimum snap trajectory planning for quadrotor UAV. Int. J. Dyn. Control 2023, 11, 2342–2353. [Google Scholar] [CrossRef]
  4. Ding, C.; Hu, J.; Zhao, C.; Pan, Q. An Efficient Trajectory Planning Algorithm for High-Speed Quadrotor in Large-Scale and Cluttered Environments. In Proceedings of the 2022 International Conference on Autonomous Unmanned Systems (ICAUS 2022), Xi’an, China, 23–25 September 2022; Springer: Singapore, 2023; pp. 1339–1348. [Google Scholar]
  5. Mao, K.; Welde, J.; Hsieh, M.A.; Kumar, V. Trajectory Planning for the Bidirectional Quadrotor as a Differentially Flat Hybrid System. In Proceedings of the 2023 IEEE International Conference on Robotics and Automation (ICRA), London, UK, 29 May–2 June 2023; pp. 1242–1248. [Google Scholar]
  6. Park, J.; Jang, I.; Kim, H.J. Decentralized Deadlock-free Trajectory Planning for Quadrotor Swarm in Obstacle-rich Environments. In Proceedings of the 2023 IEEE International Conference on Robotics and Automation (ICRA), London, UK, 29 May–2 June 2023; pp. 1428–1434. [Google Scholar]
  7. Romero, A.; Penicka, R.; Scaramuzza, D. Time-Optimal Online Replanning for Agile Quadrotor Flight. arXiv 2022, arXiv:2203.09839. [Google Scholar] [CrossRef]
  8. Kulathunga, G.; Hamed, H.; Devitt, D.; Klimchik, A. Optimization-Based Trajectory Tracking Approach for Multi-Rotor Aerial Vehicles in Unknown Environments. IEEE Robot. Autom. Lett. 2022, 7, 4598–4605. [Google Scholar] [CrossRef]
  9. Wang, Z.; Zhou, X.; Xu, C.; Gao, F. Geometrically constrained trajectory optimization for multicopters. IEEE Trans. Robot. 2022, 38, 3259–3278. [Google Scholar] [CrossRef]
  10. Upadhyay, S.; Richardson, T.; Richards, A. Generation of Dynamically Feasible Window Traversing Quadrotor Trajectories Using Logistic Curve. J. Intell. Robot. Syst. 2022, 105, 16. [Google Scholar] [CrossRef]
  11. Torrente, G.; Kaufmann, E.; Foehn, P.; Scaramuzza, D. Data-Driven MPC for Quadrotors. IEEE Robot. Autom. Lett. 2021, 6, 3769–3776. [Google Scholar] [CrossRef]
  12. Tang, L.; Wang, H.; Liu, Z.; Wang, Y. A real-time quadrotor trajectory planning framework based on B-spline and nonuniform kinodynamic search. J. Field Robot. 2021, 38, 452–475. [Google Scholar] [CrossRef]
  13. Heidari, H.; Saska, M. Trajectory planning of quadrotor systems for various objective functions. Robotica 2021, 39, 137–152. [Google Scholar] [CrossRef]
  14. Gao, F.; Wang, L.; Zhou, B.; Zhou, X.; Pan, J.; Shen, S. Teach-repeat-replan: A complete and robust system for aggressive flight in complex environments. IEEE Trans. Robot. 2020, 36, 1526–1545. [Google Scholar] [CrossRef]
  15. Lee, T.; Leok, M.; McClamroch, N.H. Geometric tracking control of a quadrotor UAV on SE (3). In Proceedings of the 49th IEEE Conference on Decision and Control (CDC), Atlanta, GA, USA, 15–17 December 2010; pp. 5420–5425. [Google Scholar]
  16. Zhong, X.; Wu, Y.; Wang, D.; Wang, Q.; Xu, C.; Gao, F. Generating Large Convex Polytopes Directly on Point Clouds. arXiv 2020, arXiv:2010.08744. [Google Scholar]
  17. Zinage, V.; Arul, S.H.; Manocha, D. 3D-OGSE: Online Smooth Trajectory Generation for Quadrotors using Generalized Shape Expansion in Unknown 3D Environments. arXiv 2020, arXiv:2005.13229. [Google Scholar]
  18. Xi, L.; Peng, Z.; Jiao, L. Trajectory generation for quadrotor while tracking a moving target in cluttered environment. In Proceedings of the 2020 39th Chinese Control Conference (CCC), Shenyang, China, 27–29 July 2020; pp. 6792–6797. [Google Scholar]
  19. Zhou, B.; Gao, F.; Wang, L.; Liu, C.; Shen, S. Robust and efficient quadrotor trajectory generation for fast autonomous flight. IEEE Robot. Autom. Lett. 2019, 4, 3529–3536. [Google Scholar] [CrossRef]
  20. Han, L.; Gao, F.; Zhou, B.; Shen, S. Fiesta: Fast incremental euclidean distance fields for online motion planning of aerial robots. arXiv 2019, arXiv:1903.02144. [Google Scholar]
  21. Ding, W.; Gao, W.; Wang, K.; Shen, S. An efficient B-spline-based kinodynamic replanning framework for quadrotors. IEEE Trans. Robot. 2019, 35, 1287–1306. [Google Scholar] [CrossRef]
  22. Murali, V.; Spasojevic, I.; Guerra, W.; Karaman, S. Perception-aware trajectory generation for aggressive quadrotor flight using differential flatness. In Proceedings of the 2019 American Control Conference (ACC), Philadelphia, PA, USA, 10–12 July 2019; pp. 3936–3943. [Google Scholar]
  23. Abadi, A.; El Amraoui, A.; Mekki, H.; Ramdani, N. Optimal trajectory generation and robust flatness-based tracking control of quadrotors. Optim. Control Appl. Methods 2019, 40, 728–749. [Google Scholar] [CrossRef]
  24. Rousseau, G.; Maniu, C.S.; Tebbani, S.; Babel, M.; Martin, N. Minimum-time B-spline trajectories with corridor constraints. Application to cinematographic quadrotor flight plans. Control Eng. Pract. 2019, 89, 190–203. [Google Scholar] [CrossRef]
  25. Ding, W.; Gao, W.; Wang, K.; Shen, S. Trajectory replanning for quadrotors using kinodynamic search and elastic optimization. In Proceedings of the 2018 IEEE International Conference on Robotics and Automation (ICRA), Brisbane, Australia, 21–25 May 2018; pp. 7595–7602. [Google Scholar]
  26. Gao, F.; Wu, W.; Lin, Y.; Shen, S. Online safe trajectory generation for quadrotors using fast marching method and bernstein basis polynomial. In Proceedings of the 2018 IEEE International Conference on Robotics and Automation (ICRA), Brisbane, Australia, 21–25 May 2018; pp. 344–351. [Google Scholar]
  27. Blochliger, F.; Fehr, M.; Dymczyk, M.; Schneider, T.; Siegwart, R. Topomap: Topological mapping and navigation based on visual slam maps. In Proceedings of the 2018 IEEE International Conference on Robotics and Automation (ICRA), Brisbane, Australia, 21–25 May 2018; pp. 1–9. [Google Scholar]
  28. Lin, Y.; Gao, F.; Qin, T.; Gao, W.; Liu, T.; Wu, W.; Yang, Z.; Shen, S. Autonomous aerial navigation using monocular visual-inertial fusion. J. Field Robot. 2018, 35, 23–51. [Google Scholar] [CrossRef]
  29. Gao, F.; Lin, Y.; Shen, S. Gradient-based online safe trajectory generation for quadrotor flight in complex environments. In Proceedings of the 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, 24–28 September 2017; pp. 3681–3688. [Google Scholar]
  30. Usenko, V.; von Stumberg, L.; Pangercic, A.; Cremers, D. Real-time trajectory replanning for MAVs using uniform B-splines and a 3D circular buffer. In Proceedings of the 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, 24–28 September 2017; pp. 215–222. [Google Scholar]
  31. Ling, Y.; Shen, S. Building maps for autonomous navigation using sparse visual slam features. In Proceedings of the 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, 24–28 September 2017; pp. 1374–1381. [Google Scholar]
  32. Liu, S.; Watterson, M.; Mohta, K.; Sun, K.; Bhattacharya, S.; Taylor, C.J.; Kumar, V. Planning dynamically feasible trajectories for quadrotors using safe flight corridors in 3-d complex environments. IEEE Robot. Autom. Lett. 2017, 2, 1688–1695. [Google Scholar] [CrossRef]
  33. Savin, S. An algorithm for generating convex obstacle-free regions based on stereographic projection. In Proceedings of the 2017 International Siberian Conference on Control and Communications (SIBCON), Astana, Kazakhstan, 29–30 June 2017; pp. 1–6. [Google Scholar]
  34. Rösmann, C.; Hoffmann, F.; Bertram, T. Integrated online trajectory planning and optimization in distinctive topologies. Robot. Auton. Syst. 2017, 88, 142–153. [Google Scholar] [CrossRef]
  35. Richter, C.; Bry, A.; Roy, N. Polynomial trajectory planning for aggressive quadrotor flight in dense indoor environments. In Robotics Research, Proceedings of the 16th International Symposium of Robotics Research, Singapore, 16–19 December 2013; Springer: Cham, Switzerland, 2016; pp. 649–666. [Google Scholar]
  36. Landry, B.; Deits, R.; Florence, P.R.; Tedrake, R. Aggressive quadrotor flight through cluttered environments using mixed integer programming. In Proceedings of the 2016 IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, 16–21 May 2016; pp. 1469–1475. [Google Scholar]
  37. Oleynikova, H.; Burri, M.; Taylor, Z.; Nieto, J.; Siegwart, R.; Galceran, E. Continuous-time trajectory optimization for online UAV replanning. In Proceedings of the 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, Republic of Korea, 9–14 October 2016; pp. 5332–5339. [Google Scholar]
  38. Allen, R.; Pavone, M. A real-time framework for kinodynamic planning with application to quadrotor obstacle avoidance. In Proceedings of the AIAA Guidance, Navigation, and Control Conference, San Diego, CA, USA, 4–8 January 2016; p. 1374. [Google Scholar]
  39. Chen, J.; Liu, T.; Shen, S. Online generation of collision-free trajectories for quadrotor flight in unknown cluttered environments. In Proceedings of the 2016 IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, 16–21 May 2016; pp. 1476–1483. [Google Scholar]
  40. Deits, R.; Tedrake, R. Computing large convex regions of obstacle-free space through semidefinite programming. In Algorithmic Foundations of Robotics XI, Proceedings of the Eleventh International Workshop on the Algorithmic Foundations of Robotics, Istanbul, Turkey, 3–5 August 2014; Springer: Cham, Switzerland, 2015; pp. 109–124. [Google Scholar]
  41. Deits, R.; Tedrake, R. Efficient mixed-integer planning for UAVs in cluttered environments. In Proceedings of the 2015 IEEE International Conference on Robotics and Automation (ICRA), Seattle, WA, USA, 26–30 May 2015; pp. 42–49. [Google Scholar]
  42. Mueller, M.W.; Hehn, M.; D’Andrea, R. A computationally efficient motion primitive for quadrocopter trajectory generation. IEEE Trans. Robot. 2015, 31, 1294–1310. [Google Scholar] [CrossRef]
  43. Krüsi, P.; Bücheler, B.; Pomerleau, F.; Schwesinger, U.; Siegwart, R.; Furgale, P. Lighting-invariant adaptive route following using iterative closest point matching. J. Field Robot. 2015, 32, 534–564. [Google Scholar] [CrossRef]
  44. Wright, S.J. Coordinate descent algorithms. Math. Program. 2015, 151, 3–34. [Google Scholar] [CrossRef]
  45. Schulman, J.; Duan, Y.; Ho, J.; Lee, A.; Awwal, I.; Bradlow, H.; Pan, J.; Patil, S.; Goldberg, K.; Abbeel, P. Motion planning with sequential convex optimization and convex collision checking. Int. J. Robot. Res. 2014, 33, 1251–1270. [Google Scholar] [CrossRef]
  46. Pham, Q.C. A general, fast, and robust implementation of the time-optimal path parameterization algorithm. IEEE Trans. Robot. 2014, 30, 1533–1540. [Google Scholar] [CrossRef]
  47. Pivtoraiko, M.; Mellinger, D.; Kumar, V. Incremental micro-UAV motion replanning for exploring unknown environments. In Proceedings of the 2013 IEEE International Conference on Robotics and Automation, Karlsruhe, Germany, 6–10 May 2013; pp. 2452–2458. [Google Scholar]
  48. MacAllister, B.; Butzke, J.; Kushleyev, A.; Pandey, H.; Likhachev, M. Path planning for non-circular micro aerial vehicles in constrained environments. In Proceedings of the 2013 IEEE International Conference on Robotics and Automation, Karlsruhe, Germany, 6–10 May 2013; pp. 3933–3940. [Google Scholar]
  49. Webb, D.J.; Van Den Berg, J. Kinodynamic RRT*: Asymptotically optimal motion planning for robots with linear dynamics. In Proceedings of the 2013 IEEE International Conference on Robotics and Automation, Karlsruhe, Germany, 6–10 May 2013; pp. 5054–5061. [Google Scholar]
  50. Zucker, M.; Ratliff, N.; Dragan, A.D.; Pivtoraiko, M.; Klingensmith, M.; Dellin, C.M.; Bagnell, J.A.; Srinivasa, S.S. Chomp: Covariant hamiltonian optimization for motion planning. Int. J. Robot. Res. 2013, 32, 1164–1193. [Google Scholar] [CrossRef]
  51. Mellinger, D.; Kushleyev, A.; Kumar, V. Mixed-integer quadratic program trajectory generation for heterogeneous quadrotor teams. In Proceedings of the 2012 IEEE International Conference on Robotics and Automation, Saint Paul, MN, USA, 14–18 May 2012; pp. 477–483. [Google Scholar]
  52. Bhattacharya, S.; Likhachev, M.; Kumar, V. Topological constraints in search-based robot path planning. Auton. Robot. 2012, 33, 273–290. [Google Scholar] [CrossRef]
  53. Mellinger, D.; Kumar, V. Minimum snap trajectory generation and control for quadrotors. In Proceedings of the 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011; pp. 2520–2525. [Google Scholar]
  54. Kalakrishnan, M.; Chitta, S.; Theodorou, E.; Pastor, P.; Schaal, S. STOMP: Stochastic trajectory optimization for motion planning. In Proceedings of the 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011; pp. 4569–4574. [Google Scholar]
  55. Harabor, D.D.; Grastien, A. Online graph pruning for pathfinding on grid maps. Proc. AAAI 2011, 25, 1114–1119. [Google Scholar] [CrossRef]
  56. Lovi, D.; Birkbeck, N.; Cobzas, D.; Jagersand, M. Incremental free-space carving for real-time 3d reconstruction. In Proceedings of the Fifth International Symposium on 3D Data Processing Visualization and Transmission (3DPVT), Paris, France, 17–20 May 2010. [Google Scholar]
  57. Ratliff, N.; Zucker, M.; Bagnell, J.A.; Srinivasa, S. CHOMP: Gradient optimization techniques for efficient motion planning. In Proceedings of the 2009 IEEE International Conference on Robotics and Automation, Kobe, Japan, 12–17 May 2009; pp. 489–494. [Google Scholar]
  58. van den Berg, J. Extended LQR: Locally-optimal feedback control for systems with non-linear dynamics and non-quadratic cost. In Robotics Research, Proceedings of the 16th International Symposium of Robotics Research, Singapore, 16–19 December 2013; Springer: Cham, Switzerland, 2016; pp. 39–56. [Google Scholar]
  59. Trawny, N.; Zhou, X.S.; Zhou, K.; Roumeliotis, S.I. Interrobot transformations in 3-D. IEEE Trans. Robot. 2010, 26, 226–243. [Google Scholar] [CrossRef]
  60. Wanasinghe, T.R.; Mann, G.K.; Gosine, R.G. Relative localization approach for combined aerial and ground robotic system. J. Intell. Robot. Syst. 2015, 77, 113–133. [Google Scholar] [CrossRef]
  61. Mehrez, M.W.; Mann, G.K.; Gosine, R.G. An optimization based approach for relative localization and relative tracking control in multi-robot systems. J. Intell. Robot. Syst. 2017, 85, 385–408. [Google Scholar] [CrossRef]
  62. Kulathunga, G.; Devitt, D.; Klimchik, A. Trajectory tracking for quadrotors: An optimization-based planning followed by controlling approach. J. Field Robot. 2022, 39, 1003–1013. [Google Scholar] [CrossRef]
  63. Van Nieuwstadt, M.J.; Murray, R.M. Real-time trajectory generation for differentially flat systems. Int. J. Robust Nonlinear Control 1998, 8, 995–1020. [Google Scholar] [CrossRef]
  64. Sferrazza, C.; Pardo, D.; Buchli, J. Numerical search for local (partial) differential flatness. In Proceedings of the 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, Republic of Korea, 9–14 October 2016; pp. 3640–3646. [Google Scholar]
  65. Krishnan, S.; Rajagopalan, G.A.; Kandhasamy, S.; Shanmugavel, M. Towards Scalable Continuous-Time Trajectory Optimization for Multi-Robot Navigation. arXiv 2019, arXiv:1910.13463. [Google Scholar]
  66. Dolgov, D.; Thrun, S.; Montemerlo, M.; Diebel, J. Path planning for autonomous vehicles in unknown semi-structured environments. Int. J. Robot. Res. 2010, 29, 485–501. [Google Scholar] [CrossRef]
  67. Florence, P.; Carter, J.; Tedrake, R. Integrated perception and control at high speed: Evaluating collision avoidance maneuvers without maps. In Algorithmic Foundations of Robotics XII, Proceedings of the 12th International Workshopon the Algorithmic Foundations of Robotics, SanFrancisco, CA, USA, 18–20 December 2016; Springer: Cham, Switzerland, 2020; pp. 304–319. [Google Scholar]
  68. Lopez, B.T.; How, J.P. Aggressive 3-D collision avoidance for high-speed navigation. In Proceedings of the ICRA, Singapore, 29 May–3 June 2017; pp. 5759–5765. [Google Scholar]
  69. Gordon, W.J.; Riesenfeld, R.F. B-spline curves and surfaces. In Computer Aided Geometric Design; Elsevier: Amsterdam, The Netherlands, 1974; pp. 95–126. [Google Scholar]
  70. Sethian, J.A. Level Set Methods and Fast Marching Methods: Evolving Interfaces in Computational Geometry, Fluid Mechanics, Computer Vision, and Materials Science; Cambridge University Press: Cambridge, UK, 1999; Volume 3. [Google Scholar]
  71. Sava, P.; Fomel, S. 3-D traveltime computation using Huygens wavefront tracing. Geophysics 2001, 66, 883–889. [Google Scholar] [CrossRef]
  72. LaValle, S.M. Planning Algorithms; Cambridge University Press: Cambridge, UK, 2006. [Google Scholar]
  73. Bergman, K.; Ljungqvist, O.; Glad, T.; Axehill, D. An Optimization-Based Receding Horizon Trajectory Planning Algorithm. arXiv 2019, arXiv:1912.05259. [Google Scholar] [CrossRef]
  74. Chen, J.; Su, K.; Shen, S. Real-time safe trajectory generation for quadrotor flight in cluttered environments. In Proceedings of the 2015 IEEE International Conference on Robotics and Biomimetics (ROBIO), Zhuhai, China, 6–9 December 2015; pp. 1678–1685. [Google Scholar]
  75. Head, J.D.; Zerner, M.C. A Broyden—Fletcher—Goldfarb—Shanno optimization procedure for molecular geometries. Chem. Phys. Lett. 1985, 122, 264–270. [Google Scholar] [CrossRef]
  76. de Boor, C. Subroutine Package for Calculating with B-Splines; Report LA-4728-MS; Los Alamos Scientific Laboratory: Los Alamos, NM, USA, 1971. [Google Scholar]
  77. Qin, K. General matrix representations for B-splines. Vis. Comput. 2000, 16, 177–186. [Google Scholar] [CrossRef]
  78. Hu, J.; Ma, Z.; Niu, Y.; Tian, W.; Yao, W. Real-Time Trajectory Replanning for Quadrotor Using OctoMap and Uniform B-Splines. In Proceedings of the International Conference on Intelligent Robotics and Applications, Shenyang, China, 8–11 August 2019; Springer: Cham, Switzerland, 2019; pp. 727–741. [Google Scholar]
  79. Flores Contreras, M.E. Real-Time Trajectory Generation for Constrained Nonlinear Dynamical Systems Using Non-Uniform Rational B-Spline Basis Functions. Ph.D. Thesis, California Institute of Technology, Pasadena, CA, USA, 2008. [Google Scholar]
  80. Preiss, J.A.; Hönig, W.; Ayanian, N.; Sukhatme, G.S. Downwash-aware trajectory planning for large quadrotor teams. In Proceedings of the 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, 24–28 September 2017; pp. 250–257. [Google Scholar]
  81. Hornung, A.; Wurm, K.M.; Bennewitz, M.; Stachniss, C.; Burgard, W. OctoMap: An efficient probabilistic 3D mapping framework based on octrees. Auton. Robot. 2013, 34, 189–206. [Google Scholar] [CrossRef]
  82. Gao, F.; Shen, S. Online quadrotor trajectory generation and autonomous navigation on point clouds. In Proceedings of the 2016 IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR), Lausanne, Switzerland, 23–27 October 2016; pp. 139–146. [Google Scholar]
  83. Bentley, J.L. Multidimensional binary search trees used for associative searching. Commun. ACM 1975, 18, 509–517. [Google Scholar] [CrossRef]
  84. Kala, R. Rapidly exploring random graphs: Motion planning of multiple mobile robots. Adv. Robot. 2013, 27, 1113–1122. [Google Scholar] [CrossRef]
  85. Zhu, Z.; Schmerling, E.; Pavone, M. A convex optimization approach to smooth trajectories for motion planning with car-like robots. In Proceedings of the 2015 54th IEEE Conference on Decision and Control (CDC), Osaka, Japan, 15–18 December 2015; pp. 835–842. [Google Scholar]
  86. Quinlan, S.; Khatib, O. Elastic bands: Connecting path planning and control. In Proceedings of the IEEE International Conference on Robotics and Automation, Atlanta, GA, USA, 2–6 May 1993; pp. 802–807. [Google Scholar]
  87. Jacobson, D.; Mayne, D. Differential Dynamic Programming; Elsevier: New York, NY, USA, 1970. [Google Scholar]
  88. Theodorou, E.; Krishnamurthy, D.; Todorov, E. From information theoretic dualities to path integral and Kullback–Leibler control: Continuous and discrete time formulations. In Proceedings of the Sixteenth Yale Workshop on Adaptive and Learning Systems, New Haven, CT, USA, 5–7 June 2013. [Google Scholar]
  89. Lewis, F.L.; Syrmos, V.L. Optimal Control; John Wiley & Sons: New York, NY, USA, 1995. [Google Scholar]
  90. Li, W.; Todorov, E. Iterative linear quadratic regulator design for nonlinear biological movement systems. In Proceedings of the ICINCO (1), Setúbal, Portugal, 25–28 August 2004; pp. 222–229. [Google Scholar]
  91. van den Berg, J. Iterated LQR smoothing for locally-optimal feedback control of systems with non-linear dynamics and non-quadratic cost. In Proceedings of the 2014 American Control Conference, Portland, OR, USA, 4–6 June 2014; pp. 1912–1918. [Google Scholar]
  92. Sun, W.; Van Den Berg, J.; Alterovitz, R. Stochastic extended LQR: Optimization-based motion planning under uncertainty. In Algorithmic Foundations of Robotics XI, Proceedings of the Eleventh International Workshop on the Algorithmic Foundations of Robotics, Istanbul, Turkey, 3–5 August 2014; Springer: Cham, Switzerland, 2015; pp. 609–626. [Google Scholar]
  93. Van Den Berg, J.; Wilkie, D.; Guy, S.J.; Niethammer, M.; Manocha, D. LQG-obstacles: Feedback control with collision avoidance for mobile robots with motion and sensing uncertainty. In Proceedings of the 2012 IEEE International Conference on Robotics and Automation, Saint Paul, MN, USA, 14–18 May 2012; pp. 346–353. [Google Scholar]
  94. Todorov, E. General duality between optimal control and estimation. In Proceedings of the 2008 47th IEEE Conference on Decision and Control, Cancun, Mexico, 9–11 December 2008; pp. 4286–4292. [Google Scholar]
  95. Likhachev, M.; Gordon, G.J.; Thrun, S. ARA*: Anytime A* with provable bounds on sub-optimality. In Proceedings of the Advances in Neural Information Processing Systems, Vancouver, BC, Canada, 8–13 December 2003; pp. 767–774. [Google Scholar]
  96. Karaman, S.; Frazzoli, E. Sampling-based algorithms for optimal motion planning. Int. J. Robot. Res. 2011, 30, 846–894. [Google Scholar] [CrossRef]
  97. Perez, A.; Platt, R.; Konidaris, G.; Kaelbling, L.; Lozano-Perez, T. LQR-RRT*: Optimal sampling-based motion planning with automatically derived extension heuristics. In Proceedings of the 2012 IEEE International Conference on Robotics and Automation, Saint Paul, MN, USA, 14–18 May 2012; pp. 2537–2542. [Google Scholar]
  98. Kulathunga, G.; Devitt, D.; Fedorenko, R.; Klimchik, A. Path planning followed by kinodynamic smoothing for multirotor aerial vehicles (MAVs). Russ. J. Nonlinear Dyn. 2021, 17, 491–505. [Google Scholar] [CrossRef]
  99. Pacelli, V.; Arslan, O.; Koditschek, D.E. Integration of local geometry and metric information in sampling-based motion planning. In Proceedings of the 2018 IEEE International Conference on Robotics and Automation (ICRA), Brisbane, Australia, 21–25 May 2018; pp. 3061–3068. [Google Scholar]
  100. Mason, M.T.; Salisbury, J.K., Jr. Robot Hands and the Mechanics of Manipulation; The MIT Press: Cambridge, MA, USA, 1985. [Google Scholar]
  101. Liu, S.; Atanasov, N.; Mohta, K.; Kumar, V. Search-based motion planning for quadrotors using linear quadratic minimum time control. In Proceedings of the 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, 24–28 September 2017; pp. 2872–2879. [Google Scholar]
  102. Ames, A.D.; Galloway, K.; Sreenath, K.; Grizzle, J.W. Rapidly exponentially stabilizing control Lyapunov functions and hybrid zero dynamics. IEEE Trans. Autom. Control 2014, 59, 876–891. [Google Scholar] [CrossRef]
  103. Wu, G.; Sreenath, K. Safety-critical and constrained geometric control synthesis using control Lyapunov and control barrier functions for systems evolving on manifolds. In Proceedings of the 2015 American Control Conference (ACC), Chicago, IL, USA, 1–3 July 2015; pp. 2038–2044. [Google Scholar]
  104. Ames, A.D.; Xu, X.; Grizzle, J.W.; Tabuada, P. Control barrier function based quadratic programs for safety critical systems. IEEE Trans. Autom. Control 2016, 62, 3861–3876. [Google Scholar] [CrossRef]
  105. Kolmanovsky, I.; Garone, E.; Di Cairano, S. Reference and command governors: A tutorial on their theory and automotive applications. In Proceedings of the 2014 American Control Conference, Portland, OR, USA, 4–6 June 2014; pp. 226–241. [Google Scholar]
  106. Garone, E.; Nicotra, M.M. Explicit reference governor for constrained nonlinear systems. IEEE Trans. Autom. Control 2015, 61, 1379–1384. [Google Scholar] [CrossRef]
  107. Arslan, O.; Koditschek, D.E. Smooth extensions of feedback motion planners via reference governors. In Proceedings of the 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 29 May–3 June 2017; pp. 4414–4421. [Google Scholar]
  108. Li, Z.; Arslan, O.; Atanasov, N. Fast and Safe Path-Following Control using a State-Dependent Directional Metric. arXiv 2020, arXiv:2002.02038. [Google Scholar]
  109. Aoyama, Y.; Boutselis, G.; Patel, A.; Theodorou, E.A. Constrained Differential Dynamic Programming Revisited. arXiv 2020, arXiv:2005.00985. [Google Scholar]
  110. Liu, C.; Pan, J.; Chang, Y. PID and LQR trajectory tracking control for an unmanned quadrotor helicopter: Experimental studies. In Proceedings of the 2016 35th Chinese Control Conference (CCC), Chengdu, China, 27–29 July 2016; pp. 10845–10850. [Google Scholar]
  111. Cowling, I.D.; Whidborne, J.F.; Cooke, A.K. Optimal trajectory planning and LQR control for a quadrotor UAV. In Proceedings of the International Conference on Control, Glasgow, UK, 30 August–1 September 2006. [Google Scholar]
  112. Bangura, M.; Mahony, R. Real-time Model Predictive Control for Quadrotors. IFAC Proc. Vol. 2014, 47, 11773–11780. [Google Scholar] [CrossRef]
  113. Ohtsuka, T.; Fujii, H.A. Real-time optimization algorithm for nonlinear receding-horizon control. Automatica 1997, 33, 1147–1154. [Google Scholar] [CrossRef]
  114. Ji, J.; Zhou, X.; Xu, C.; Gao, F. CMPCC: Corridor-based Model Predictive Contouring Control for Aggressive Drone Flight. arXiv 2020, arXiv:2007.03271. [Google Scholar]
  115. Deng, H.; Ohtsuka, T. A parallel Newton-type method for nonlinear model predictive control. Automatica 2019, 109, 108560. [Google Scholar] [CrossRef]
  116. Mohamed, I.S.; Allibert, G.; Martinet, P. Model Predictive Path Integral Control Framework for Partially Observable Navigation: A Quadrotor Case Study. arXiv 2020, arXiv:2004.08641. [Google Scholar]
  117. Olivares-Mendez, M.A.; Campoy, P.; Mellado-Bataller, I.; Mejias, L. See-and-avoid quadcopter using fuzzy control optimized by cross-entropy. In Proceedings of the 2012 IEEE International Conference on Fuzzy Systems, Brisbane, Australia, 10–15 June 2012; pp. 1–7. [Google Scholar]
  118. Gao, F.; Wu, W.; Gao, W.; Shen, S. Flying on point clouds: Online trajectory generation and autonomous navigation for quadrotors in cluttered environments. J. Field Robot. 2019, 36, 710–733. [Google Scholar] [CrossRef]
  119. Tordesillas, J.; Lopez, B.T.; Everett, M.; How, J.P. Faster: Fast and safe trajectory planner for flights in unknown environments. arXiv 2020, arXiv:2001.04420. [Google Scholar]
  120. Quinlan, S. Real-Time Modification of Collision-Free Paths; Number 1537; Stanford University: Stanford, CA, USA, 1994. [Google Scholar]
  121. Zhou, B.; Gao, F.; Pan, J.; Shen, S. Robust real-time UAV replanning using guided gradient-based optimization and topological paths. In Proceedings of the 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 31 May–31 August 2020; pp. 1208–1214. [Google Scholar]
  122. Powell, M.J. The BOBYQA Algorithm for Bound Constrained Optimization without Derivatives; Cambridge NA Report NA2009/06; University of Cambridge: Cambridge, UK, 2009; pp. 26–46. [Google Scholar]
  123. Liu, D.C.; Nocedal, J. On the limited memory BFGS method for large scale optimization. Math. Program. 1989, 45, 503–528. [Google Scholar] [CrossRef]
  124. Houska, B.; Ferreau, H.J.; Diehl, M. ACADO toolkit—An open-source framework for automatic control and dynamic optimization. Optim. Control Appl. Methods 2011, 32, 298–312. [Google Scholar] [CrossRef]
  125. Kraft, D. A Software Package for Sequential Quadratic Programming; Forschungsbericht; Deutsche Forschungs- und Versuchsanstalt fur Luft- und Raumfahrt (DFVLR): Cologne, Germany, 1988. [Google Scholar]
  126. Parikh, N.; Boyd, S. Block splitting for distributed optimization. Math. Program. Comput. 2014, 6, 77–102. [Google Scholar] [CrossRef]
  127. Fougner, C.; Boyd, S. Parameter selection and preconditioning for a graph form solver. In Emerging Applications of Control and Systems Theory; Springer: Cham, Switzerland, 2018; pp. 41–61. [Google Scholar]
  128. Svanberg, K. A class of globally convergent optimization methods based on conservative convex separable approximations. SIAM J. Optim. 2002, 12, 555–573. [Google Scholar] [CrossRef]
  129. Liu, X.; Wiersma, R.D. Optimization based trajectory planning for real-time 6DoF robotic patient motion compensation systems. PLoS ONE 2019, 14, e0210385. [Google Scholar] [CrossRef]
  130. Foehn, P.; Falanga, D.; Kuppuswamy, N.; Tedrake, R.; Scaramuzza, D. Fast trajectory optimization for agile quadrotor maneuvers with a cable-suspended payload. In Proceedings of the RSS 2017: Robotics: Science and Systems 2017, Cambridge, MA, USA, 12–16 July 2017. [Google Scholar]
  131. Geisert, M.; Mansard, N. Trajectory generation for quadrotor based systems using numerical optimal control. In Proceedings of the 2016 IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, 16–21 May 2016; pp. 2958–2964. [Google Scholar]
  132. Shen, S.; Michael, N.; Kumar, V. Stochastic differential equation-based exploration algorithm for autonomous indoor 3D exploration with a micro-aerial vehicle. Int. J. Robot. Res. 2012, 31, 1431–1444. [Google Scholar] [CrossRef]
  133. Johnson, S.G. The NLopt Nonlinear-Optimization Package. 2014. Available online: http://abinitio.mit.edu/nlopt (accessed on 30 October 2023).
  134. Zhou, X.; Wang, Z.; Ye, H.; Xu, C.; Gao, F. EGO-Planner: An ESDF-free Gradient-based Local Planner for Quadrotors. IEEE Robot. Autom. Lett. 2020, 6, 478–485. [Google Scholar] [CrossRef]
  135. Dembo, R.S.; Steihaug, T. Truncated Newton algorithms for large-scale optimization. Math. Program. 1983, 26, 190–212. [Google Scholar] [CrossRef]
  136. Andersen, E.D.; Andersen, K.D. The MOSEK interior point optimizer for linear programming: An implementation of the homogeneous algorithm. In High Performance Optimization; Springer: New York, NY, USA, 2000; pp. 197–232. [Google Scholar]
  137. Gurobi Optimization, LLC. Gurobi Optimizer Reference Manual; Gurobi Optimization, LLC: Beaverton, OR, USA, 2018. [Google Scholar]
  138. Stellato, B.; Banjac, G.; Goulart, P.; Bemporad, A.; Boyd, S. OSQP: An operator splitting solver for quadratic programs. Math. Program. Comput. 2020, 12, 637–672. [Google Scholar] [CrossRef]
  139. Kamel, M.; Stastny, T.; Alexis, K.; Siegwart, R. Model predictive control for trajectory tracking of unmanned aerial vehicles using robot operating system. In Robot Operating System (ROS); Springer: Cham, Switzerland, 2017; pp. 3–39. [Google Scholar]
  140. Gertz, E.M.; Wright, S.J. Object-oriented software for quadratic programming. ACM Trans. Math. Softw. 2003, 29, 58–81. [Google Scholar] [CrossRef]
  141. Tordesillas, J.; How, J.P. MADER: Trajectory Planner in Multi-Agent and Dynamic Environments. arXiv 2020, arXiv:2010.11061. [Google Scholar]
  142. Tordesillas, J.; How, J.P. MINVO basis: Finding simplexes with minimum volume enclosing polynomial curves. arXiv 2020, arXiv:2010.10726. [Google Scholar] [CrossRef]
  143. Conn, A.R.; Gould, N.I.; Toint, P. A globally convergent augmented Lagrangian algorithm for optimization with general constraints and simple bounds. SIAM J. Numer. Anal. 1991, 28, 545–572. [Google Scholar] [CrossRef]
  144. Tang, L.; Wang, H.; Li, P.; Wang, Y. Real-time Trajectory Generation for Quadrotors using B-spline based Non-uniform Kinodynamic Search. In Proceedings of the 2019 IEEE International Conference on Robotics and Biomimetics (ROBIO), Dali, China, 6–8 December 2019; pp. 1133–1138. [Google Scholar]
  145. Andersson, J.A.; Gillis, J.; Horn, G.; Rawlings, J.B.; Diehl, M. CasADi: A software framework for nonlinear optimization and optimal control. Math. Program. Comput. 2019, 11, 1–36. [Google Scholar] [CrossRef]
  146. Biegler, L.T.; Zavala, V.M. Large-scale nonlinear programming using IPOPT: An integrating framework for enterprise-wide dynamic optimization. Comput. Chem. Eng. 2009, 33, 575–582. [Google Scholar] [CrossRef]
  147. Kulathunga, G.; Hamed, H.; Klimchik, A. Residual Dynamics Learning for Trajectory Tracking for Multi-rotor Aerial Vehicles. arXiv 2023, arXiv:2305.15791. [Google Scholar]
Figure 1. An overview of the plan-based control paradigm in the context of trajectory planning problem formulation. There are various ways to formulate the trajectory planning problem, each of which consists of a set of submodules (green color boxes) depending on the problem behavior.
Figure 1. An overview of the plan-based control paradigm in the context of trajectory planning problem formulation. There are various ways to formulate the trajectory planning problem, each of which consists of a set of submodules (green color boxes) depending on the problem behavior.
Remotesensing 15 05237 g001
Figure 2. The basic building blocks are encountered in trajectory planning problems. In general, a considered trajectory planning problem can be composed of one or more blocks sequentially or in parallel to fulfil the desired needs. Details explanation of each of the blocks are explained in the following sections: motion model selection (Section 2), intermediate waypoint identification (Section 3), initial trajectory generation (Section 4), free space segmentation (Section 5), continuous trajectory refinement (Section 6), and receding horizon trajectory planning (Section 7).
Figure 2. The basic building blocks are encountered in trajectory planning problems. In general, a considered trajectory planning problem can be composed of one or more blocks sequentially or in parallel to fulfil the desired needs. Details explanation of each of the blocks are explained in the following sections: motion model selection (Section 2), intermediate waypoint identification (Section 3), initial trajectory generation (Section 4), free space segmentation (Section 5), continuous trajectory refinement (Section 6), and receding horizon trajectory planning (Section 7).
Remotesensing 15 05237 g002
Figure 3. Showing the B-spline convex-hull property. Convex hull, which comprises consecutive control points, e.g., p i , p i + 1 , p i + 2 and p i + 3 , always belongs to obstacle-free space if the preceding control points satisfy the inequality (33).
Figure 3. Showing the B-spline convex-hull property. Convex hull, which comprises consecutive control points, e.g., p i , p i + 1 , p i + 2 and p i + 3 , always belongs to obstacle-free space if the preceding control points satisfy the inequality (33).
Remotesensing 15 05237 g003
Figure 4. Trajectory generation using uniform B-spline. The smoothness of the curve is dependent on the degree of the B-spline. The trajectory passes precisely through the given control points at the degree equal to 1, as depicted in light blue color. The smoothness of the trajectory increases with the order of the B-spline.
Figure 4. Trajectory generation using uniform B-spline. The smoothness of the curve is dependent on the degree of the B-spline. The trajectory passes precisely through the given control points at the degree equal to 1, as depicted in light blue color. The smoothness of the trajectory increases with the order of the B-spline.
Remotesensing 15 05237 g004
Figure 5. Generated trajectories using three different approaches for a given sequence of control points and knot vector (36).
Figure 5. Generated trajectories using three different approaches for a given sequence of control points and knot vector (36).
Remotesensing 15 05237 g005
Figure 6. Changes of position, velocity, acceleration, jerk, and snap profiles over time for the provided control points sequence and knot vector (36).
Figure 6. Changes of position, velocity, acceleration, jerk, and snap profiles over time for the provided control points sequence and knot vector (36).
Remotesensing 15 05237 g006
Figure 7. Free space extraction using SFC. Once intermediate initial waypoints are defined, SFC calculates free space along the path, which is constructed from the initial waypoints.
Figure 7. Free space extraction using SFC. Once intermediate initial waypoints are defined, SFC calculates free space along the path, which is constructed from the initial waypoints.
Remotesensing 15 05237 g007
Figure 8. The basic idea of MPC-based receding horizon planning. MPC-based receding horizon planning predicts the optimal control policy u * at each iteration to minimize the given cost function J.
Figure 8. The basic idea of MPC-based receding horizon planning. MPC-based receding horizon planning predicts the optimal control policy u * at each iteration to minimize the given cost function J.
Remotesensing 15 05237 g008
Table 1. Velocity, acceleration, jerk, and snap profile for generating an optimal trajectory for a given set of knot vector and control points (Figure 6) using three different techniques: minimum-snap [53], Poly-traj [35], and CHOMP [57].
Table 1. Velocity, acceleration, jerk, and snap profile for generating an optimal trajectory for a given set of knot vector and control points (Figure 6) using three different techniques: minimum-snap [53], Poly-traj [35], and CHOMP [57].
TypeVelocityAcceleration
Mean Std Min Max Mean Std Min Max
Poly-traj, d: 8, mc: 20.00581.0154−1.45453.91790.00560.9051−2.8353.6449
Poly-traj, d: 8, mc: 60.00.00.00.00.00.00.00.0
Poly-traj, d: 6, mc: 40.0061.0708−1.77163.78640.00430.9307−2.79873.6032
Poly-traj, d: 8, mc: 40.00591.0299−1.47283.9340.00530.9131−2.91573.5214
Poly-traj, d: 10, mc: 40.00581.0057−1.44283.92130.00520.8918−2.75413.631
Minimum-snap, d: 8,
mc: 2
0.12581.2154−1.43453.12590.06760.1259−2.28743.3278
Minimum-snap, d: 8,
mc: 6
0.00450.0094−0.070.0190.090.0097−0.00980.0014
Minimum-snap, d: 6,
mc: 4
0.06891.0009−1.34163.23880.00120.4584−2.31893.2185
Minimum-snap, d: 8,
mc: 4
0.00151.0412−1.32153.75430.00750.8763−2.54873.3215
Minimum-snap, d: 10,
mc: 4
0.00361.0006−1.34283.78320.00990.4378−2.45483.4893
CHOMP, pd: 30.00680.6421−0.95221.72550.00450.3876−1.1311.476
CHOMP, pd: 50.00650.644−0.96341.71610.00440.3909−1.10821.4418
CHOMP, pd: 70.00640.6443−0.9661.71050.00430.3916−1.09511.4205
TypeJerkSnap
meanstdminmaxmeanstdminmax
Poly-traj, d: 8, mc: 20.0071.2544−4.80563.9318−0.01512.3178−9.80296.9483
Poly-traj, d: 8, mc: 60.00.00.00.00.00.00.00.0
Poly-traj, d: 6, mc: 40.01171.568−5.57465.7423−0.12883.5271−13.456210.2578
Poly-traj, d: 8, mc: 4−0.00211.2562−4.71923.75620.01311.9593−7.71316.0049
Poly-traj, d: 10, mc: 40.00741.3399−5.57694.409−0.05043.1073−12.34299.9933
Minimum-snap, d: 8,
mc: 2
0.00061.1125−4.34133.5153−0.00422.1383−9.00566.3418
Minimum-snap, d: 8,
mc: 6
0.00050.0004−0.00070.00890.00050.004−0.00080.0009
Minimum-snap, d: 6,
mc: 4
0.011.3456−5.21675.321−0.00933.214−12.51249.2134
Minimum-snap, d: 8,
mc: 4
−0.0011.1321−3.71923.32170.00931.2145−5.65274.7854
Minimum-snap, d: 10,
mc: 4
0.00091.2145−3.99873.9983−0.00672.8731−10.76538.8416
CHOMP, pd: 30.00210.3643−1.25941.1584−0.00140.4239−1.83261.5425
CHOMP, pd: 50.00230.3628−1.25531.16390.00050.4241−1.85261.6243
CHOMP, pd: 70.00220.3614−1.27321.17690.00210.4247−1.74621.5906
d: order of the polynomial, mc: maximum continuity or maximum continuity order in between consecutive segments, pd: number of proposed points or point density per defined time duration of the trajectory.
Table 2. Comparison of the properties of receding horizon trajectory planning techniques. Checks and cross marks indicate whether a feature is available or not.
Table 2. Comparison of the properties of receding horizon trajectory planning techniques. Checks and cross marks indicate whether a feature is available or not.
AlgorithmMotion ModelGradient Estimator
Linear Nonlinear Hamiltonian Gradient
Differential
Dynamic Programming
(DDP) [109]
Linear Quadratic
Regulator (LQR) [110]
Iterative LQR
(iLQR) [111]
Linear Model Predictive
Control (MPC) [112]
Nonlinear Model
Predictive Control
(NMPC) [62]
Constrained Nonlinear
Model Predictive
Control CGMRES
(NMPC-CGMRES) [113]
Corridor-based Model
Predictive Contouring
Control (CMPCC) [114]
Constrained Nonlinear
Model Predictive
Control Newton
(NMPC-Newton) [115]
Model Preidictive Path
Integral Control
(MPPI) [116]
Cross Entropy Method
(CEM) [117]
Table 3. The basic building blocks that are encountered in trajectory planning problems as described in the paper.
Table 3. The basic building blocks that are encountered in trajectory planning problems as described in the paper.
ApproachDynamics Model (Exact | Empirical Differential Flatness (DF))Intermediate Waypoint SelectionInitial Trajectory GenerationContinuous Trajectory Refinement and SolverFree Space ExtractionReceding Horizon Planning or Controlling
A replanner [121]DFSampling-based topological searchPGO-based B-splinesGTOESDF-
A replanner [25]DFKinodynamic-based searchB-splinesEO using QCQPESDF-
A replanner [101]DFKinodynamic-based searchLinear quadratic minimum timeUnconstrained QP [132]RHC
A local replanner [37]DFInformed-RRT*Continuous time polynomialBFGSESDF-
Teach-repeat-replan [14]DF-Minimum-jerkElastic band optimizationConvex Cluster-
Fast planner [19]DFA* kinodynamic searchB-splinesNLopt [133]ESDFGTC  
Areplanner [21]DFB-spline kinodynamic searchEO~QCQPTSDF-
Chomp [50]DF-CHOMPFunctional gradient [120]ESDFCHOMP
EGO-Planner [134]DFA*Uniform B-splineT-NEWTON [135]ESDF-
A replanner [26]DFFast marching-based searchBernstein polynomialMosek [136]TSDF-
A safe trajectory generator [82]DFRRG combined with A*Piece-wise polynomialsQCQPKD-treeGTC
ILQR [91]Exactline searchIterated LQR SmoothingIterated LQR Smoothing--
Monocular visual-inertial fusion [28]ExactA*VINSGradient-basedTSDFGTC
A replanner [78]DFRRT*Uniform-BsplineMMA and BFGSOctoMapGTC
Safe flight corridors [32]DFJPSMinimum-spanConstrained QPSFCRHC
SDDM [108]EmpiricalPiece-wise-linear pathSDDMSDDMConstrained QP-
Faster [119]DFJPSCubic Bézier curveMIQP using Gurobi [137]SFC-
CMPCC [114]Empirical-CMPCCOSQP [138]SFCRHC
Relative trajectory tracking control [61]Empirical-NMPCACADO [124]-MHE
A trajectory tracker [139]Empirical-NMPCSQP-RHC
A replanner [74]DFA*Multi-segment polynomialOOQP [140]OctoMapGTC
A replanner [35]ExactRRT*Minimum-spanUnconstrained QPOctoMapGTC
MADER [141]DFMINVO basis [142]Uniform B-splineAugmented Lagrangian [143]Outer polyhedral -
SOS programming [41]DFPiece-wise linear pathPiece-wise-polynomialMIQP using MosekIRIS-
A replanner [144]DFNonuniform kinodynamic searchUniform B-splineConstrained QPESDFRHC
A trajectory tracker [62]EmpiricalUniform B-splineNMPCCasADi [145] with Ipopt [146]ESDFPID
Table 4. The comparison of contrasts features and performance of selected different approaches for trajectory planning.
Table 4. The comparison of contrasts features and performance of selected different approaches for trajectory planning.
ApproachSpecific FeaturesPerformance Indicates
A replanner [121]A path-guided optimization (PGO) approach to address infeasible local minima problems, not limited to a specific useComputation time (≈15 ms), perform aggressive maneuvers
A replanner [25]A dynamically feasible time parameterized trajectory generation to overcome the limitation of the greedy search, not limited to a specific useComputation time (≈30 ms), limited maneuvering capabilities
A replanner [101]Searches for smooth, minimum-time trajectories using a set of short-duration motion primitives, not limited to a specific useComputation time (≈15 ms), limited maneuvering capabilities
Teach-repeat-replan [14]Generate safe local trajectories (smooth, safe, and kinodynamically feasible) to avoid moving obstacles, infrastructure inspection, aerial transportation, and search-and-rescueComputation time (≈15 ms), perform aggressive maneuvers
Fast planner [19]Kinodynamic feasible and minimum-time trajectory generation in the discretized control space, not limited to a specific useComputation time (≈5 ms), perform aggressive maneuvers
EGO-Planner [134]A Euclidean signed distance field (ESDF)-free gradient-based planner, not limited to a specific useComputation time (≈2 ms), extreme maneuvering capabilities
ILQR [91]LQR smoothing to compute a locally optimal feedback control policy, can work with nonlinear dynamics and nonquadratic cost, limited to a specific useComputation time (≈3 s), limited maneuvering capabilities
Monocular visual-inertial fusion [28]A monocular visual-inertial navigation system (VINS), consisting only an inertial measurement unit (IMU) and a camera. VINS supports self-extrinsic calibrationComputation time (≈30 ms), limited maneuvering capabilities
Safe flight corridors (SFC) [32]The SFC is a set of overlapping convex polyhedra that represent free space and provide a connected path for the robot to reach its goal.Computation time (≈100 ms), extreme maneuvering capabilities
SDDM [108]A control policy for MAVs systems that uses ellipsoidal trajectory bounds defined by a quadratic state-dependent distance metric. SDDM behavior is adapted to the geometry of the local environment.Computation time (≈100 ms), limited maneuvering capabilities
FASTER [119]FASTER guarantees safety without compromising speed by having a safe backup trajectory, and MIQP is used to allocate trajectory intervalsComputation time (≈15 ms), extreme maneuvering capabilities
MADER [141]MADER uses the MINVO basis to generate trajectories through free space more effectively than Bernstein or B-Spline bases in obstacle-dense environments.Computation time (≈10 ms), extreme maneuvering capabilities
SOS programming [41]A sums-of-squares (SOS) programming approach that ensures the entire piece-wise-polynomial trajectory is collision-free using convex constraints.Computation time (≈60 ms), limited maneuvering capabilities
A trajectory tracker [62]Nonlinear model predictive control (NMPC) with multiple shooting is used to predict the optimal control policy at each iteration.Computation time (≈60 ms), limited maneuvering capabilities
Residual dynamics [147]A learning-based technique using Sparse Gaussian Process Regression is proposed to reduce the residual dynamics between high-level planning and low-level controllingComputation time (≈20 ms), extreme maneuvering capabilities
A replanner [8]A continuous optimization-based method for refining the reference trajectory to move it out of obstacle-occupied space in the global phase.Computation time (≈15 ms), extreme maneuvering capabilities
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Kulathunga, G.; Klimchik, A. Survey on Motion Planning for Multirotor Aerial Vehicles in Plan-Based Control Paradigm. Remote Sens. 2023, 15, 5237. https://doi.org/10.3390/rs15215237

AMA Style

Kulathunga G, Klimchik A. Survey on Motion Planning for Multirotor Aerial Vehicles in Plan-Based Control Paradigm. Remote Sensing. 2023; 15(21):5237. https://doi.org/10.3390/rs15215237

Chicago/Turabian Style

Kulathunga, Geesara, and Alexandr Klimchik. 2023. "Survey on Motion Planning for Multirotor Aerial Vehicles in Plan-Based Control Paradigm" Remote Sensing 15, no. 21: 5237. https://doi.org/10.3390/rs15215237

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop