Next Article in Journal
Design of a Lightweight and Deployable Soft Robotic Arm
Previous Article in Journal
Robust Trajectory-Tracking for a Bi-Copter Drone Using INDI: A Gain Tuning Multi-Objective Approach
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Backstepping Approach to Nonlinear Model Predictive Horizon for Optimal Trajectory Planning

Department of Mechanical Engineering, University of Alberta, Edmonton, AB T6G 1H9, Canada
*
Author to whom correspondence should be addressed.
Robotics 2022, 11(5), 87; https://doi.org/10.3390/robotics11050087
Submission received: 26 July 2022 / Revised: 22 August 2022 / Accepted: 29 August 2022 / Published: 31 August 2022
(This article belongs to the Section Aerospace Robotics and Autonomous Systems)

Abstract

:
This paper presents a novel trajectory planning approach for nonlinear dynamical systems; a multi-rotor drone, built on an optimization-based framework proposed by the authors named the Nonlinear Model Predictive Horizon. In the present work, this method is integrated with a Backstepping Control technique. The goal is to remove the non-convexity of the optimization problem in order to provide real-time computation of reference trajectories for the vehicle which respects its dynamics while avoiding sensed static and dynamic obstacles in the environment. Our method is applied to two models of multi-rotor drones to demonstrate its flexibility. Several simulation and hardware flight experiments are presented to validate the proposed design and demonstrate its performance improvement over earlier work.

1. Introduction

Planning collision-free trajectories for autonomous unmanned vehicles operating within unknown, dynamic, 3D, geometrically complex, and GPS-denied environments is a challenging and exciting research problem for both academia and industry. For agile drone systems, generating efficient trajectories in real-time requires using trajectory planning methods which respect the vehicle’s dynamics and input constraints as part of the prediction process. Researchers are now studying trajectory planning approaches which can take these considerations into account, for instance receding horizon-based methods [1,2,3].
Trajectory planning provides a parameterized path from a starting configuration to a terminal setpoint while avoiding obstacles. It is sometimes called motion planning and mistakenly referred to as path planning, since trajectory planning is a superset of path planning by generating reference kinematics over the entire path instead of geometric paths only [4]. Planning algorithms have received much attention from robotics researchers, where most of the published algorithms fall under one of the following categories: search-based, sampling-based, artificial potential field, artificial intelligence and optimization-based methods.
Search-based methods, a.k.a. grid-based methods, use search algorithms to find the best possible collision-free path in a discretized graph of grids. Some of the widely used graph search algorithms include Dijkstra algorithm [5], A* [6], Lifelong Planning A* (LPA*) [7], D* Lite [8], Anytime Repairing A* (ARA*) [9], and Hybrid-state A* [10]. The sampling-based approaches randomly sample a space of possible robot configurations distributed in space and use search algorithms to form a directed graph of collision-free motions. Probabilistic Road-Map (PRM) [11], Rapidly-Exploring Random Tree (RRT) [12], RRT*, and Rapidly-Exploring Random Graph (RRG) methods [13] are some examples of this thoroughly studied approach in the literature. The artificial potential field method developed in [14] plans a path to a goal that avoids collisions by assigning an attractive force to the desired goal and repulsive forces to obstacles [15]. A variety of artificial intelligence-based algorithms for path planning have been proposed in the literature, for instance, Artificial Neural Network (ANN) [16], Genetic Algorithm (GA) [17], Ant Colony Optimization (ACO) [18], Particle Swarm Optimization (PSO) [19], and Simulated Annealing (SA) [20] algorithms. Reference [21] presents a comprehensive review of artificial intelligence-based methods for path planning up to 2018. A recent line of research involves trajectory generation for flexible space robots based on deterministic artificial intelligence, which aims to use the dynamic equations of the system to autonomously determine an optimal reference trajectory (c.f. [22] and the references therein).
However, the above-mentioned motion planning algorithms have analytical and practical limitations, such as:
  • Absence or limited consideration of the internal and external constraints imposed by the system and dynamic environment;
  • Lack of repeatability in generating trajectories between a starting and ending configuration for a fixed initial vehicle state and environment scenario;
  • Computational inefficiency in regenerating paths while moving between the start and terminal point;
  • For some approaches, generating non-smooth paths that lead to jerky motions and create inefficiency in the vehicle’s power draw [23].
Recently, optimization-based motion planning methods have gained researchers’ attention due to their ability to resolve some or all of the above-mentioned limitations. The best-known optimization-based methods for motion planning are Covariant Hamiltonian Optimization for Motion Planning (CHOMP) [24] and Stochastic Trajectory Optimization for Motion Planning (STOMP) [25]. The former uses gradient-based optimization while the latter uses stochastic optimization, and both produce collision-free trajectories that satisfy given constraints, but are computationally expensive. In addition, CHOMP is prone to getting trapped in local minima, where it returns infeasible or sub-optimal solutions. A very recent publication on optimization-based trajectory generation is [26], which uses Pontryagin’s maximum principle to efficiently generate slew trajectories for a spacecraft.
Our proposed approach, called the Nonlinear Model Predictive Horizon (NMPH) [27], uses optimization for planning smooth, optimal, consistent, and computationally efficient trajectories which respect the internal and external constraints of the vehicle. This approach compensates for the nonlinearities of the trajectory planning dynamics and hence reduces or removes the non-convexity of the optimization problem. This is performed by combining the nonlinear plant model with the Backstepping Control (BSC) method within the optimization problem. It also accounts for static and moving obstacles as constraints in the optimization problem.
In ref. [27], we proposed an NMPH formulation which used Feedback Linearization (FBL) within its dynamics to compensate for nonlinearities. In that work, the state augmentation process required to make the system state feedback linearizable created numerical difficulties due to the need to obtain the second-order time derivative of the total thrust of the drone. This difficulty with using the FBL design steered us to find an alternative feedback design methodology to be used within the NMPH design, namely BSC. This new NMPH-BSC formulation compensates for the system nonlinearities and guarantees global asymptotic stability of the closed-loop system within the optimization problem used to predict the reference trajectories for the drone vehicle.
The backstepping control algorithm was originally developed by [28] to design adaptive controllers for a special class of nonlinear dynamical systems. Backstepping is a recursive Lyapunov-based design technique applied to a nonlinear strict-feedback system with a series of cascaded subsystems, in which the choice of the Lyapunov functions for the subsystems guarantees the global asymptotic stability of the overall controlled system [29].
One of the most important advantages of the BSC method is the systematic procedure that the designer can follow to construct a feedback control law based on an appropriate choice of Lyapunov functions [30]. This step-by-step procedure uses the system’s dynamics model, which accounts for the system nonlinearities.
The flexibility of the BSC methodology and its ability to guarantee global asymptotic stability [31,32] make it an excellent candidate to be used inside the NMPH approach, as this integration compensates for the drone’s nonlinearities and leads to a less non-convex optimization problem.
To demonstrate the versatility of our NMPH-BSC approach over the earlier NMPH-FBL [27], a more detailed model of the drone vehicle dynamics, which includes linear and angular velocity drag forces and rotor gyroscopic effects, is employed. The optimization problem is also used to predict both the reference trajectory as well as its rates of change, which provides higher-quality tracking performance.
The research contributions of this paper are:
  • Implementing the BSC method within NMPH to compensate for nonlinearities in order to reduce the non-convexity of the trajectory generation optimization problem;
  • Demonstrating the versatility of the NMPH-BSC approach by using both a simplified and a higher-fidelity dynamics model of the drone;
  • Using the NMPH optimization problem to predict both the reference trajectory as well as its rates of change for the onboard flight trajectory controller;
  • Validating and evaluating the performance of the proposed approach in both simulation and hardware drone flight experiments.
The remainder of this paper is arranged as follows: the design of the NMPH-BSC for two variants of drone dynamics models is presented in Section 2. Section 3 evaluates the proposed designs in simulation and hardware flight tests. Section 4 summarizes the paper and proposes future work.

2. Problem Formulation

The Nonlinear Model Predictive Horizon (NMPH) is a recent approach to path planning proposed by the authors in [27]. In simple terms, NMPH integrates a linearizing feedback law to reduce the non-convexity of the optimization problem handled by a Nonlinear Model Predictive Control (NMPC) algorithm. NMPH generates optimal reference trajectories for the closed-loop system which steers an aerial drone’s 3D position, heading angle, and their rates of change. The original NMPH [27] relied on state feedback linearization [33], which required the addition of integral states to satisfy the conditions of the method, translating to the need for numerical differentiation of measured outputs. In the present work, we replace feedback linearization with Backstepping Control (BSC) [28] to compensate for the system’s nonlinearities. The recursive structure of BSC provides stable response of a dynamic system and makes it more robust to parameter uncertainties.
In this section, an overview of the NMPH framework is presented, both high-fidelity and simplified drone dynamics models are presented, and finally a backstepping design for each model is derived and integrated into the NMPH.

2.1. Nonlinear Model Predictive Horizon

NMPH is an optimization-based method whose objective is to generate optimal reference trajectories for closed-loop nonlinear systems. The optimization problem of NMPH considers the nonlinear plant model, nonlinear control law, and user-specified constraints to continuously solve for reference trajectories which are fed to the closed-loop system and which respect its dynamics. An overview of the NMPH architecture is shown in Figure 1.
Embedding the nonlinear control law in the optimization problem is performed to decrease the nonlinearity of the closed-loop system dynamics. Consequently, this will reduce the non-convexity of the optimization problem and enhance convergence and computational time of the solution, enabling real-time trajectory generation for purposes such as motion planning and environmental exploration.
For the closed-loop system, which is depicted by a blue box in Figure 1, assume that a nonlinear plant is controlled by a nonlinear feedback law as follows:
x ˙ = f x , u
ξ = h x
u = g ( x , ξ r e f ) ,
where x X R n x , u U R n u , and ξ Ξ R n ξ are the system states, inputs, and outputs, respectively. The system outputs considered in this work are the vehicle’s 3D position and heading angle and their rates, such that Ξ X . The reference trajectory ξ r e f Ξ is generated by our proposed algorithm, as will be presented below in (2). The system dynamics are represented by a smooth map f : X × U X , while the feedback control law is the smooth map g : X × Ξ U which makes the system output to follow a reference trajectory ξ r e f . In this work the control law is designed using the Backstepping Control technique.
For the NMPH, which is represented by the gray box in Figure 1, a copy of (1) plus assigned constraints are used in the optimization problem to compute two predictions over a finite time horizon, from the current state x to a terminal stabilization setpoint x s s . The first prediction is the predicted system state trajectory x ˜ , which includes the predicted output trajectory ξ ˜ as a subset. The second one is the estimated reference trajectory ξ ^ r e f , which is used as a (continuously updated) reference trajectory for the actual closed-loop system.
The online NMPH optimization problem for a stabilization setpoint x s s is shown in Equation (2) [34]. Let t n , n = 0 , 1 , 2 , represent successive sampling times. At every sampling time, the optimization problem solves for x ˜ and ξ ^ r e f as long as x s s x ( t n ) Δ :
min x ˜ , ξ ^ r e f J x ˜ , ξ ^ r e f = E x ˜ t n + T + t n t n + T L x ˜ τ , ξ ^ r e f τ d τ
subject to x ˜ ( t n ) = x t n ,
x ˜ ˙ τ = f x ˜ τ , u ˜ τ ,
u ˜ τ = g x ˜ τ , ξ ^ r e f τ ,
x ˜ τ X , u ˜ τ U , ξ ^ r e f τ Z ,
O i x ˜ 0 , i = 1 , 2 , , p ,
for τ [ t n , t n + T ] .
The stage L and terminal cost E functions in (2) can be selected as the terms (3a,b), which allows the use of the Gauss–Newton method for quickly finding a good approximation of the Hessian matrix within the optimization problem:
L x ˜ τ , ξ ^ r e f τ = x ˜ τ x s s W x 2 + ξ ˜ τ ξ ^ r e f τ W ξ 2
E x ˜ t n + T = x ˜ t n + T x s s W T 2 ,
where the constraint sets for the state, control and output trajectory are X X , U U , and Z X , respectively. A total of p static and dynamic obstacles within the environment are represented by the inequality constraint O i x ˜ 0 in (2e). The deviation between the predicted system state trajectory x ˜ and the stabilization setpoint x s s and between the predicted output trajectory ξ ˜ and the estimated reference trajectory ξ ^ r e f are penalized within the stage cost function L (3a) by the weighting matrices W x R n x × n x and W ξ R n ξ × n ξ , respectively. The terminal cost function E (3b), which represents the cost of steady-state error, penalizes the deviation between the end value of the system state prediction x ˜ t n + T and the terminal setpoint x s s by the weighting matrix W T .
In words, the optimization process (2) runs as follows:
(1)
Measure or estimate the current state x ( t n ) of the actual closed-loop system;
(2)
Predict x ˜ and ξ ^ r e f by minimizing the cost function J x ˜ , ξ ^ r e f over the prediction horizon [ t n , t n + T ] subject to the system dynamics (2b), control law (2c), and assigned constraints (2e);
(3)
Use the estimated reference trajectory ξ ^ r e f (or the predicted output trajectory ξ ˜ , as both converge to each other) as the reference trajectory of the actual closed-loop system;
(4)
Repeat Steps 1–3 until the drone vehicle approaches the terminal setpoint x s s or the optimization problem produces an infeasible solution.
A comprehensive study about NMPH, including discrete-time representation, use of constraints, and software implementation of the optimization problem can be found in our recent work [27].

2.2. Drone Dynamics

The dynamics of a multi-rotor drone vehicle can be modeled using the Newton–Euler equations [35], governing six degrees of freedom rigid-body motion, augmented with force and torque generation models of the individual rotors. The model can either assume static hover conditions for simplicity, or include linear and angular velocity drag forces and rotor gyroscopic effects to yield a more complicated but higher-fidelity model.
To model rigid-body dynamics, two reference frames are used: a stationary ground-fixed navigation frame N , and a moving body-fixed frame B . The origin of the latter is placed at the drone’s center of gravity, as shown in Figure 2. The frame bases follow the East, North, and Up (ENU) convention, with orthonormal basis vectors { n 1 , n 2 , n 3 } and { b 1 , b 2 , b 3 } for the navigation and body frames, respectively.
Rigid-body pose in space can be described as a member of the Special Euclidean group SE ( 3 ) = SO ( 3 ) × R 3 , the product space of the orientation and position R n b , p n where R n b SO ( 3 ) is the rotation matrix of the body frame with respect to the navigation frame, p n = [ x y z ] T R 3 is the position vector of the vehicle’s body frame with respect to the navigation frame, and SO ( 3 ) is the Special Orthogonal group defined as SO ( 3 ) = { R R 3 × 3 | R R T = R T R = I , det ( R ) = + 1 } . The roll-pitch-yaw Euler angles η = [ ϕ θ ψ ] T are employed to parametrize the rotation matrix as:
R n b = c θ c ψ s ϕ s θ c ψ c ϕ s ψ c ϕ s θ c ψ + s ϕ s ψ c θ s ψ s ϕ s θ s ψ + c ϕ c ψ c ϕ s θ s ψ s ϕ c ψ s θ s ϕ c θ c ϕ c θ
where s ( · ) = sin ( · ) and c ( · ) = cos ( · ) . Similarly, t ( · ) = tan ( · ) which will be seen later.
Remark 1.
The Euler angle parameterization exhibits singularities at θ = π / 2 + k π , k Z . One solution is to maintain π / 2 < θ < π / 2 by adding constraints within the NMPH optimization problem under (2d).
Conversion between translational and rotational velocity vectors can be performed using the transformations [36]:
p ˙ n = v n = R n b v b
ω b = W η ˙ ,
where v n , v b R 3 are the translational velocity vectors in frame N and B coordinates, respectively, η ˙ = [ ϕ ˙ θ ˙ ψ ˙ ] T is the vector of Euler angle rates, and ω b R 3 is the angular velocity vector in frame B coordinates. The rotational velocity transformation matrix W is given by:
W = 1 0 s θ 0 c ϕ s ϕ c θ 0 s ϕ c ϕ c θ .
The time derivative of the rotation matrix is R ˙ n b = R n b S ( ω b ) , where S ( · ) : R 3 so ( 3 ) maps a vector to a skew-symmetric matrix such that S ( a ) b = a × b for a , b R 3 . Taking the time derivatives of (5a,b),
v ˙ n = R n b v ˙ b + R n b S ( ω b ) v b = R n b v ˙ b + ω b × v b
ω ˙ b = W ˙ η ˙ + W η ¨ ,
where W ˙ = ϕ ˙ ( W / ϕ ) + θ ˙ ( W / θ ) .
The Newton–Euler equations for a multi-rotor drone read [36]
m v ˙ b + ω b × m v b = u ¯ K t v b m R n b T g ¯
J ω ˙ b + ω b × J ω b = τ ¯ K r ω b i = 1 4 S ( ω b ) J r q i ,
where m is the drone’s mass, u ¯ = [ 0 0 u ] T is the thrust vector with u = i = 1 4 f i the total thrust generated in the direction of b 3 , τ ¯ = [ τ b 1 τ b 2 τ b 3 ] T is the vector of torques about the b 1 , b 2 and b 3 frame axes, g ¯ = [ 0 0 g ] T is the gravitational acceleration vector where g = 9.81 m / s 2 , J = diag ( J x , J y , J z ) is the drone’s mass moment of inertia matrix which is assumed to be diagonal, the scalar J r is the rotor’s inertia, q i = [ 0 0 ( 1 ) i + 1 ω i ] T where ω i is the angular speed of the ith propeller, and K t = diag ( k t 1 , k t 2 , k t 3 ) , K r = diag ( k r 1 , k r 2 , k r 3 ) represent the translational and rotational drag coefficient matrices of the drone, respectively.
To express the drone’s dynamics with respect to the navigation frame, Equation (8) are combined with (5) and (7) to yield:
m R n b T v ˙ n = u ¯ K t R n b T v n m R n b T g ¯
J W η ¨ + J W ˙ η ˙ + S ( W η ˙ ) J W η ˙ = τ ¯ K r W η ˙ S ( W η ˙ ) i = 1 4 J r q i .
This leads to:
v ˙ n = 1 m R n b K t R n b T v n g ¯ + 1 m R n b u ¯
η ¨ = ( J W ) 1 ( J W ˙ η ˙ + K r W η ˙ + S ( W η ˙ ) ( J W η ˙ + i = 1 4 J r q i ) τ ¯ ) .
Remark 2.
Each multi-rotor configuration (quadrotor, hexarotor, octorotor, and so on) has a different expression for the net body-frame thrust and torque vectors u ¯ and τ ¯ . These expressions are algebraic and can be readily calculated. The dynamics presented in (10) thus model any multi-rotor drone as long as the correct u ¯ and τ ¯ expressions are used.
The development of the proposed NMPH with a backstepping control design will be based on the dynamics model presented in (10). We will also present a design based on a simplified version of (10) to illustrate the ease of adapting the proposed approach to different model representations. This is in contrast to the formulation of NMPH with feedback linearization presented in our recent work [27] where this adaptation requires a fundamental re-derivation of the expressions involved.
In the simplified version of (10), body and propeller gyroscopic effects are dropped from the model, and the translational and rotational drags are neglected as well. The simplified model can then be written as:
ϕ ˙ θ ˙ ψ ˙ x ˙ y ˙ z ˙ = J y J z J x θ ˙ ψ ˙ + 1 J x τ b 1 J z J x J y ϕ ˙ ψ ˙ + 1 J y τ b 2 J x J y J z ϕ ˙ θ ˙ + 1 J z τ b 3 ( c ϕ s θ c ψ + s ϕ s ψ ) u m ( c ϕ s θ s ψ s ϕ c ψ ) u m g + ( c ϕ c θ ) u m .

2.3. Backstepping Control Design

Because a drone’s dynamics are nonlinear, solving the NMPC optimization problem is challenging because of its non-convexity. Introducing backstepping control into the optimization problem (within the framework of NMPH) will either remove or reduce the nonlinearity of the overall system, and consequently the non-convexity of the optimization problem. This will make it possible to find an optimal solution more quickly.
In this section, a backstepping control law is derived for the drone dynamics, which will be used within the NMPH framework to enhance the performance of the reference trajectory prediction. To demonstrate the versatility of this methodology, both the simplified (11) and high-fidelity (10) models of the drone dynamics will be considered.
Our backstepping control design consists of a coupling of inner and outer control loops [37]. The inner loop controls the rotational dynamics of the drone and tracks desired values provided by the outer loop, which controls the translational dynamics. In the literature, many studies of backstepping control applied to multi-rotor drones considered applying the design steps to each system output separately [36,38,39,40], but in our work the method is first applied to the rotational dynamics subsystem by itself, then to the translational dynamics subsystem. This approach will facilitate the integration of BSC within the NMPH framework as discussed later in Section 2.4.
First, recall the terms:
η = [ ϕ θ ψ ] T , η ˙ = [ ϕ ˙ θ ˙ ψ ˙ ] T , η d = [ ϕ d θ d ψ d ] T ,
where η d R 3 are the desired Euler angles, to be provided by the outer loop design. Now, define the tracking error vector δ 1 R 3 as:
δ 1 = η d η ,
and choose a positive semi-definite Lyapunov function candidate V 1 0 R , such that
V 1 = 1 2 δ 1 T δ 1 .
The time derivative of (14) is:
V ˙ 1 = δ 1 T δ ˙ 1 = δ 1 T ( η ˙ d η ˙ ) .
Next, define the virtual tracking error rate δ 2 R 3 and the first virtual control v 1 = [ v ϕ v θ v ψ ] T R 3 as:
δ 2 = v 1 η ˙
v 1 = η ˙ d + Λ 1 δ 1 ,
where Λ 1 = diag ( λ 1 , λ 2 , λ 3 ) R 3 × 3 is a diagonal gain matrix that contains positive entries such that Λ 1 is positive definite or Λ 1 > 0 . Using (16) and (17), the derivative of the Lyapunov function candidate (15) can be written as:
V ˙ 1 = δ 1 T ( v 1 Λ 1 δ 1 η ˙ ) = δ 1 T ( δ 2 Λ 1 δ 1 ) = δ 1 T δ 2 δ 1 T Λ 1 δ 1 ,
which by inspection may or may not be negative semi-definite. Therefore, a recursive step must be performed. Note that the time derivatives of (13) and (16) are:
δ ˙ 1 = η ˙ d η ˙ = v 1 Λ 1 δ 1 + δ 2 v 1 = Λ 1 δ 1 + δ 2
δ ˙ 2 = v ˙ 1 η ¨ = η ¨ d + Λ 1 δ ˙ 1 η ¨ .
Now define the new positive semi-definite Lyapunov function candidate V 2 0 R as:
V 2 = 1 2 δ 1 T δ 1 + 1 2 δ 2 T δ 2 ,
such that
V ˙ 2 = δ 1 T δ ˙ 1 + δ 2 T δ ˙ 2 = δ 1 T Λ 1 δ 1 + δ 1 T δ 2 + δ 2 T η ¨ d + Λ 1 ( Λ 1 δ 1 + δ 2 ) η ¨ = δ 1 T Λ 1 δ 1 + δ 2 T δ 1 + η ¨ d Λ 1 2 δ 1 + Λ 1 δ 2 η ¨ ,
where δ 1 T δ 2 = δ 2 T δ 1 . To stabilize the tracking errors δ 1 and δ 2 , the backstepping control formulation will introduce a second virtual control v 2 R 3 . We will define v 2 based on the system dynamics, and then recursively design it within the backstepping control structure.
As mentioned in Section 2.2, we will apply the backstepping technique to both the full and simplified system dynamics presented in (10) and (11), respectively. For the full model, the attitude dynamics in (10b) can be written as:
η ¨ = f ¯ 1 ( x ) + g ¯ 1 ( x , τ ¯ ) ,
where
f ¯ 1 ( x ) = ( J W ) 1 ( J W ˙ η ˙ + K r W η ˙ + S ( W η ˙ ) ( J W η ˙ + i = 1 4 J r q i ) )
g ¯ 1 ( x , τ ¯ ) = ( J W ) 1 τ ¯ = 1 J x τ b 1 + 1 J y s ϕ t θ τ b 2 + 1 J z c ϕ t θ τ b 3 1 J y c ϕ τ b 2 1 J z s ϕ τ b 3 1 J y s ϕ c θ τ b 2 + 1 J z c ϕ c θ τ b 3 : = τ ϕ τ θ τ ψ .
The second virtual control is defined as v 2 = g ¯ 1 ( x , τ ¯ ) = [ τ ϕ τ θ τ ψ ] T , where τ ϕ , τ θ and τ ψ are the virtual inputs of the rotational subsystem.
We now design v 2 to make the time derivative of the Lyapunov candidate Function (22) negative semi-definite. Let
v 2 = v ˙ 1 + δ 1 f ¯ 1 ( x ) + Λ 2 δ 2 = η ¨ d + Λ 1 δ ˙ 1 + δ 1 f ¯ 1 ( x ) + Λ 2 δ 2 = η ¨ d + Λ 1 ( Λ 1 δ 1 + δ 2 ) + δ 1 f ¯ 1 ( x ) + Λ 2 δ 2 ,
where Λ 2 = diag ( λ 4 , λ 5 , λ 6 ) R 3 × 3 is the second diagonal gain matrix with positive entries such that Λ 2 > 0 . By substituting (23) and (26) into (22) we obtain:
V ˙ 2 = δ 1 T Λ 1 δ 1 + δ 2 T δ 1 + η ¨ d Λ 1 2 δ 1 + Λ 1 δ 2 f ¯ 1 ( x ) v 2 = δ 1 T Λ 1 δ 1 δ 2 T Λ 2 δ 2 0 .
By (21) and (27), we can thus conclude the asymptotic stability of the error terms δ 1 and δ 2 , and thus the rotational subsystem. Consequently, the physical control law for the rotational subsystem can be found by returning to (26),
v 2 = [ τ ϕ τ θ τ ψ ] T = η ¨ d + ( I Λ 1 2 ) δ 1 + ( Λ 1 + Λ 2 ) δ 2 f ¯ 1 ( x ) ,
then solving (25) to obtain the physical control inputs as:
τ b 1 τ b 2 τ b 3 = J x τ ϕ s θ τ ψ J y c ϕ τ θ + s ϕ c θ τ ψ J z s ϕ τ θ + c ϕ c θ τ ψ .
We now perform the backstepping design for the translational dynamics of the drone. The actual and desired position vectors with respect to the navigation frame are written as:
χ = p n = [ x y z ] T , χ ˙ = v n = [ x ˙ y ˙ z ˙ ] T , χ d = p d n = [ x d y d z d ] T .
For the first step of the backstepping design, the position tracking error vector and its time derivative are defined as:
δ 3 = χ d χ , δ ˙ 3 = χ ˙ d χ ˙ R 3 .
Consider the Lyapunov candidate function V 3 R and its time derivative,
V 3 = 1 2 δ 3 T δ 3
V ˙ 3 = δ 3 T δ ˙ 3 = δ 3 T ( χ ˙ d χ ˙ ) .
Define the virtual tracking error rate and the first virtual control for the translational subsystem as:
δ 4 = v 3 χ ˙
v 3 = χ ˙ d + Λ 3 δ 3 ,
where Λ 3 = diag ( λ 7 , λ 8 , λ 9 ) R 3 × 3 is a diagonal gain matrix with positive entries, and v 3 = [ v x v y v z ] T R 3 is the virtual control vector. Substituting (34) and (35) into the Lyapunov candidate function rate (33) yields:
V ˙ 3 = δ 3 T ( v 3 Λ 3 δ 3 + δ 4 v 3 ) = δ 3 T Λ 3 δ 3 + δ 3 T δ 4 ,
which cannot be guaranteed to be negative semi-definite. Therefore, a new Lyapunov candidate function V 4 R is defined as:
V 4 = 1 2 δ 3 T δ 3 + 1 2 δ 4 T δ 4
V ˙ 4 = δ 3 T δ ˙ 3 + δ 4 T δ ˙ 4 = δ 3 T Λ 3 δ 3 + δ 3 T δ 4 + δ 4 T χ ¨ d + Λ 3 ( χ ˙ d χ ˙ ) χ ¨ = δ 3 T Λ 3 δ 3 + δ 4 T δ 3 + δ 4 T χ ¨ d + Λ 3 ( v 3 Λ 3 δ 3 + δ 4 v 3 ) χ ¨ = δ 3 T Λ 3 δ 3 + δ 4 T δ 3 + χ ¨ d Λ 3 2 δ 3 + Λ 3 δ 4 χ ¨ .
The translational dynamics of the full model (10a) can be written as:
χ ¨ = f ¯ 2 ( x ) + g ¯ 2 ( x , u ) ,
where
f ¯ 2 ( x ) = 1 m R n b K t R n b T v n g ¯
g ¯ 2 ( x , u ) = 1 m ( c ϕ s θ c ψ + s ϕ s ψ ) u ( c ϕ s θ s ψ s ϕ c ψ ) u ( c ϕ c θ ) u : = u x u y u z ,
and where u R is the total thrust of the propellers, a physical input.
The next step of the backstepping design introduces the second virtual control for the translational system v 4 = g ¯ 2 ( x , u ) = [ u x u y u z ] T . Assign this control as:
v 4 = v ˙ 3 + δ 3 f ¯ 2 ( x ) + Λ 4 δ 4 = χ ¨ d + Λ 3 χ ˙ d χ ˙ + δ 3 f ¯ 2 ( x ) + Λ 4 δ 4 = χ ¨ d + Λ 3 v 3 Λ 3 δ 3 + δ 4 v 3 + δ 3 f ¯ 2 ( x ) + Λ 4 δ 4 = χ ¨ d + δ 3 Λ 3 2 δ 3 + Λ 3 δ 4 + Λ 4 δ 4 f ¯ 2 ( x ) ,
where Λ 4 = diag ( λ 10 , λ 11 , λ 12 ) R 3 × 3 contains positive entries. Substituting (39) and (42) into (38) yields:
V ˙ 4 = δ 3 T Λ 3 δ 3 + δ 4 T v 4 + f ¯ 2 ( x ) Λ 4 δ 4 f ¯ 2 ( x ) v 4 = δ 3 T Λ 3 δ 3 δ 4 T Λ 4 δ 4 ,
such that V ˙ 4 0 , meaning the error terms δ 3 , δ 4 are asymptotically stable, and thus the translational subsystem dynamics.
For our cascaded control design, the desired roll and pitch angles for the inner loop system are extracted from (41) after computing (42). Assume ψ is a measured state of the system. Then, the desired roll and pitch angles ϕ d , θ d and thrust u are obtained by solving (41), which gives:
θ d = tan 1 c ψ u x + s ψ u y u z ϕ d = tan 1 s ψ u x c ψ u y u z cos θ d u = m u z cos ϕ d cos θ d .
Remark 3.
In addition to the Euler angles limitations mentioned in Remark 1, the outer loop control law provides solutions if and only if the total thrust is a non-zero positive value, u > 0 . This condition must be included within the constraints of the optimization problem in (2d) to avoid solution infeasibility.
We can also perform the backstepping control design using the simplified system model (11). The second time derivative of the Euler angles vector η is written as:
η ¨ = f ¯ 3 ( x ) + g ¯ 3 ( τ ¯ ) ,
where
f ¯ 3 ( x ) = J y J z J x θ ˙ ψ ˙ J z J x J y ϕ ˙ ψ ˙ J x J y J z ϕ ˙ θ ˙ , g ¯ 3 ( τ ¯ ) = 1 J x τ b 1 1 J y τ b 2 1 J z τ b 3 .
The terms δ 1 , δ 2 and virtual input v 1 are defined exactly as in the full model backstepping design. Analogously to (28), the second virtual input v 2 for the (simplified) rotational dynamics is now assigned as:
v 2 = η ¨ d + ( I Λ 1 2 ) δ 1 + ( Λ 1 + Λ 2 ) δ 2 f ¯ 3 ( x ) ,
and since v 2 = [ τ ϕ τ θ τ ψ ] T = g ¯ 3 ( τ ¯ ) , the physical inputs are obtained from (46) as:
τ ¯ = τ b 1 τ b 2 τ b 3 = J x τ ϕ J y τ θ J z τ ψ = diag ( J x , J y , J z ) v 2 .
For the translational dynamics, define the position vector χ , whose second time derivative is written as χ ¨ = f ¯ 4 ( x ) + g ¯ 4 ( x , u ) , where:
f ¯ 4 ( x ) = 0 0 g
g ¯ 4 ( x , u ) = ( c ϕ s θ c ψ + s ϕ s ψ ) u m ( c ϕ s θ s ψ s ϕ c ψ ) u m ( c ϕ c θ ) u m .
The definitions of δ 3 , δ 4 and virtual input v 3 remain identical to the full model case. Assign the virtual control v 4 as in (42):
v 4 = χ ¨ d + ( I Λ 3 2 ) δ 3 + ( Λ 3 + Λ 4 ) δ 4 f ¯ 4 ( x ) ,
where f ¯ 4 ( x ) is given in (49). Since v 4 = [ u x u y u z ] T = g ¯ 4 ( x , u ) , assuming the yaw angle ψ is known, we solve this expression for the desired roll and pitch angles ϕ d , θ d and the total thrust u using Equation (44).

2.4. Backstepping Control Law Integration within NMPH

A copy of the full system model in (10) is used within the NMPH optimization problem as x ˜ ˙ = [ p ˜ n v ˜ n η ˜ η ˜ ˙ ] T . Let χ ˜ = p ˜ n and χ ˜ ˙ = v ˜ n below. The backstepping control design representing u ˜ τ = g x ˜ τ , ξ ^ r e f τ within the NMPH (2c) is implemented in two stages. The first stage is the outer loop, which takes the desired position vector of the drone, and computes the thrust plus the desired roll and pitch angles. The second stage is the inner loop, which takes the computed roll and pitch angles plus a desired yaw angle, and computes the torque inputs. The details of the two-stage process (implemented as input constraints within the NMPH) are as follows:
  • For the first NMPH input constraint, define the virtual input for the translational dynamics (42) as:
    v ˜ 4 = χ ˜ ¨ d + ( I Λ 3 2 ) δ ˜ 3 + ( Λ 3 + Λ 4 ) δ ˜ 4 f ¯ 2 ( x ˜ ) ,
    where δ ˜ 3 = χ ˜ d χ ˜ from (31) and δ ˜ 4 = χ ˜ ˙ d + Λ 3 δ ˜ 3 χ ˜ from (34)
  • Associate the total thrust u and the desired roll and pitch angles ϕ d , θ d from (44) with [ u x u y u z ] T = v ˜ 4 and ψ = η ˜ ( 3 )
  • For the second NMPH input constraint, define the virtual input for the rotational dynamics (28):
    v ˜ 2 = η ˜ ¨ d + ( I Λ 1 2 ) δ ˜ 1 + ( Λ 1 + Λ 2 ) δ ˜ 2 f ¯ 1 ( x ˜ ) ,
    where δ ˜ 1 = η ˜ d η ˜ from (13) and δ ˜ 2 = η ˜ ˙ d + Λ 1 δ ˜ 1 η ˜ from (16).
  • Associate the input torques τ b 1 , τ b 2 and τ b 3 from (29) with [ τ ϕ τ θ τ ψ ] = v ˜ 2 and ϕ = η ˜ ( 1 ) , θ = η ˜ ( 2 ) .
  • Let [ u τ b 1 τ b 2 τ b 3 ] be u ˜ ( τ ) (2c) in the NMPH optimization problem, a function of the NMPH states x ˜ and the estimated reference trajectories ξ ^ r e f , where
    ξ ^ r e f = [ χ ˜ d χ ˜ ˙ d χ ˜ ¨ d η ˜ d ( 3 ) η ˜ ˙ d ( 3 ) η ˜ ¨ d ( 3 ) ] T .
  • Solve the optimization problem (2), which leads to the prediction of the system states x ˜ and the estimated reference trajectories ξ ^ r e f . The latter is used as the reference trajectory for the actual closed-loop system.

3. Evaluation of NMPH-BSC

For testing and validation, the NMPH-BSC approach was implemented and tested in simulated and hardware flight tests on quadcopter and hexacopter drone vehicles, respectively.
The algorithms are implemented within the Robot Operating System (ROS) [41], a Linux-based software environment that handles communications between the vehicle’s onboard computer and its hardware subsystems. The ACADO Toolkit [42] is used to solve the optimization problem. For implementation, the overall NMPH problem (2) was coded in C++, then converted into highly efficient C code by ACADO to be able to run the calculations in real-time.
The set of continuous-time equations in (2) is a Nonlinear Programming (NLP) optimization problem, which can be discretized using the direct multiple-shooting method. NLP solves optimization problems, which include nonlinear functions and/or nonlinear constraints using Sequential Quadratic Programming (SQP) [43], and in our case the qpOASES solver is used to solve SQP numerically [44].

3.1. Simulation Environment

The proposed approach was first implemented in a simulation on a quadcopter drone using the AirSim simulator [45]. AirSim is an open-source package which provides photo-realistic rendered environments and a physics engine to enable performing lifelike simulations of drone vehicles. Moreover, we used the PX4 autopilot [46] running onboard the drone for software-in-the-loop operation to make the simulated drone’s characteristics more closely resemble the hardware unit.
In our work, an incremental volumetric mapping technique named Voxblox [47] was used. Voxblox represents the environment volumetrically using a signed distance field and classification into unknown, free, or occupied spaces. The drone then uses this generated map to continuously build dynamic obstacle constraints that are used by the NMPH optimization problem to generate collision-free trajectories [34].
A desktop computer equipped with an Intel Core i7-10750H CPU and an Nvidia GeForce RTX 2080 Super GPU was used to run the optimization calculations and simulation environment in conjunction with ROS. The prediction horizon of the optimization problem was set to 8.0 s and discretized into 40 samples, which was found to be sufficient for motion planning purposes. The cost function weights were empirically tuned to provide good trajectory planning performance.
The drone’s pose and environmental sensor readings were obtained from the AirSim simulator and communicated to our NMPH-based global motion planning system. The resulting output was used as a reference trajectory for the drone vehicle’s flight controller. This design enables the drone to explore an unmapped environment, as will be discussed in Section 3.1.2.

3.1.1. Trajectory Planning

In this simulation, an optimal reference trajectory was planned and tracked within the AirSim simulator as shown in Figure 3a. The quadcopter vehicle started at p n = [ 9 , 3.5 , 2 ] T m , ψ = 0 and the NMPH-BSC algorithm was used to generate an optimal trajectory to the desired setpoint p d n = [ 5 , 8 , 5 ] T m , ψ d = 90 while avoiding an obstacle as shown in Figure 3b. The optimization problem within NMPH-BSC provided an estimate of the reference output trajectory ξ ^ r e f and a prediction of the system state trajectory x ˜ , which included the predicted output trajectory ξ ˜ as a subset.
Figure 4 shows that the estimated reference trajectories of the vehicle’s position and velocities ξ ^ r e f = [ ξ ^ x , r e f , ξ ^ y , r e f , ξ ^ z , r e f , ξ ^ ψ , r e f , ξ ^ x ˙ , r e f , ξ ^ y ˙ , r e f , ξ ^ z ˙ , r e f , ξ ^ ψ ˙ , r e f ] perfectly match their corresponding predicted reference trajectories ξ ˜ = [ x ˜ x , r e f , x ˜ y , r e f , x ˜ z , r e f , x ˜ ψ , r e f , x ˜ x ˙ , r e f , x ˜ y ˙ , r e f , x ˜ z ˙ , r e f , x ˜ ψ ˙ , r e f ] . This confirms that using the stage cost function in (3a) minimizes the deviation between the estimated and predicted reference trajectories, and thus ensures their convergence towards each other. This validates the statement made in Section 2.1, that either the estimated or the predicted trajectory can be used as the reference trajectory for the closed-loop system.
In the second simulation, tracking performance is assessed by having the vehicle move from the initial position p n = [ 0 , 0 , 2 ] T m to the desired terminal point p d = [ 6 , 4 , 2 ] T m using the optimized reference trajectory provided by the NMPH-BSC. The tracking performance is plotted in Figure 5, showing the vehicle satisfactorily tracks the time-varying reference trajectory generated by the NMPH-BSC algorithm. The small variation between the desired and actual outputs is because the former are obtained from numerical integration of the drone dynamics (10), while the latter are obtained from the physics engine of the simulation environment, which likely uses more complicated aerodynamic force and torque models than our design. This modeling mismatch can also be expected for real-world hardware testing, which will be covered in Section 3.2.

3.1.2. Exploration of Unknown Environment

In this simulation test, the drone explored an unknown environment by using a modular global motion planner, as described by the authors of [34]. This graph-based motion planner generated terminal setpoints within unexplored areas of an incrementally built-up volumetric map of the environment [47,48], and the NMPH-BSC algorithm was used to calculate optimal trajectories from the vehicle’s current pose to these terminal setpoints. To achieve a smooth integration between the graph-based planner and the NMPH-BSC trajectory planning approach, computationally efficient algorithms for obstacle mapping and avoidance plus robust path guidance algorithms were used. Further details of this methodology can be found in [34].
Figure 6 depicts a part of the exploration mission performed by the drone. The vehicle explored an unknown environment using the global motion planner in conjunction with the NMPH-BSC for local trajectory planning, which led to smoother flight trajectories than the stop-and-go patterns obtained from the motion planner alone. The data were collected over an exploration time of 1002 s . Table 1 offers a comparison between three approaches: graph-based planner only [48], graph-based planner plus NMPH-FBL [27], and graph-based planner plus NMPH-BSC (this paper). Based on this comparison, it can be seen that both NMPH algorithms have the effect of reducing the distance traveled, which reduces the mission time and consequently the energy consumption of the vehicle. Using the proposed NMPH-BSC leads to an improved performance over the NMPH-FBL. This is in addition to NMPH-BSC’s advantages of avoiding numerical differentiation and its ability to extend to more complicated plant models as compared to NMPH-FBL.

3.2. Hardware Flight Experiments

For hardware experiments, a custom DJI FlameWheel F550 hexacopter was built and instrumented to explore unknown environments using our proposed NMPH-BSC approach in conjunction with a global motion planner. The drone was equipped with a Pixhawk 2.1 flight controller running the PX4 autopilot system [46], plus an Nvidia Jetson Xavier NX system-on-module running ROS Melodic Morenia [41] under Ubuntu 18.04. A Velodyne Puck LITE LiDAR sensor and an Intel RealSense T265 stereo camera were mounted on the drone to provide 360 point cloud and estimated pose data, respectively. The drone system used for testing is depicted in Figure 7.
Trajectory generation and tracking were evaluated by running the NMPH-BSC algorithm onboard the vehicle. Figure 8a shows the planned trajectory between two setpoints avoiding a sensed obstacle generated by the NMPH-BSC algorithm, while Figure 8b depicts the flight trajectory achieved by the drone using its flight controller to track the planned trajectory. The NMPH-BSC solver provides continuous updates of the estimated and predicted reference trajectories as the vehicle moves towards its endpoint. In this way, the system can handle uncertainties and disturbances such as dynamic environments and moving obstacles. The regeneration rate was set to 5 Hz, although this can be set as high as 100 Hz with the presented hardware.
Trajectory planning using NMPH-BSC in the presence of dynamic obstacles was evaluated experimentally as shown in Figure 9. In this Figure, it can be seen that the drone was able to regenerate trajectories to avoid a moving obstacle while flying through a constrained indoor environment. It is worth pointing out that the continuous trajectory regeneration process of NMPH-BSC provided smooth transitions between the generated trajectories, leading to smooth flight around the moving obstacle.
In a second flight test experiment, the navigation capabilities of the system were tested within a confined indoor environment as illustrated in Figure 10. During this test, the motion planner generated five terminal setpoints and the NMPH-BSC algorithm provided continuously regenerating local reference trajectories between the successive setpoints to ensure smooth flight.
A final hardware flight test was performed outdoors in order to assess the trajectory planning performance in the presence of wind, in this case approximately 15 km/h. As before, the graph-based motion planner provided multiple terminal setpoints, while our NMPH-BSC planned smooth trajectories between them in real-time. The resulting flight trajectory can be seen in Figure 11. Despite the presence of a wind disturbance, the drone was able to smoothly navigate between generated setpoints as in the earlier tests.

4. Conclusions and Future Work

This paper proposed an optimization-based trajectory planning approach for drones operating in unknown environments. The proposed method embeds the Backstepping Control technique within our recently-proposed Nonlinear Model Predictive Horizon framework [27] for generating reference trajectories for nonlinear dynamical systems. This integration reduces the non-convexity of the optimization problem and thus enables real-time computation of optimal trajectories which respect the nonlinear dynamics of the vehicle while avoiding static and dynamic obstacles.
The resulting NMPH-BSC design was tested in simulation and hardware flight experiments on quadcopter and hexacopter drone vehicles, respectively. The results showed an improvement in performance over a system previously proposed by the authors based on Feedback Linearization [34]. The new design was shown to offer additional implementation advantages over our earlier work including the ability to readily extend to more complicated plant models and avoid numerical differentiation.
Future work will include implementing an adaptation scheme allowing the online updating of the optimization problem weights within the NMPH, and testing the developed system in large-scale, unknown and GPS-denied environments such as subterranean mines.

Author Contributions

Conceptualization, Y.A.Y. and M.B.; methodology, Y.A.Y.; software, Y.A.Y.; validation, Y.A.Y.; formal analysis, Y.A.Y.; investigation, Y.A.Y.; resources, M.B.; data curation, Y.A.Y.; writing—original draft preparation, Y.A.Y.; writing—review and editing, M.B.; visualization, Y.A.Y.; supervision, M.B.; project administration, M.B.; funding acquisition, M.B. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by NSERC Alliance-AI Advance Program grant number 202102595. The APC was funded by NSERC Alliance-AI Advance Program.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

Abbreviations

The following abbreviations are used in this manuscript:
VariableMeaning
x, u, ξ System state, input and output vectors
X, U, Ξ State, input and output spaces
R k Vector with k real-valued entries
ξ r e f Reference (output) trajectory
f, h, gSystem dynamics, system output and feedback maps
x s s Stabilization setpoint
x ˜ , u ˜ , ξ ˜ Predicted state, input and output trajectories
ξ ^ r e f Estimated reference trajectory
t n Sampling time
Δ Error tolerance
L, EStage and terminal cost functions
X , U , Z State, input and output constraint sets
TPrediction horizon
W x , W ξ , W T State, output and terminal cost weighting matrices
O i ith obstacle constraint
N , B Navigation and body-fixed frame
( n 1 , n 2 , n 3 ) , ( b 1 , b 2 , b 3 ) Navigation and body frame basis vectors
SE(3), SO(3)Special Euclidean and Special Orthogonal groups
R n b Rotation matrix of B relative to N
p n Position vector of vehicle’s B frame origin relative to N
η Vector of three Euler angles
ϕ , θ , ψ Roll, pitch and yaw Euler angles
s ( · ) , c ( · ) , t ( · ) Sine, cosine and tangent of angle
Z Set of integers
v n , v b Translational velocity vectors in frame N and B coordinates
ω b Angular velocity vector in frame B coordinates
WTransformation matrix (6)
S ( · ) Map from 3-element vector to 3 × 3 skew-symmetric matrix
so ( 3 ) Lie algebra associated to SO ( 3 )
mMass of drone
f i , uThrust of ith propeller, total thrust
τ b k Torque about b k axis
gAcceleration due to gravity
u ¯ , τ ¯ , g ¯ Thrust, torque and gravity vectors in (8)
J = diag ( J x , J y , J z ) Mass moment of inertia matrix of drone
J r Rotational inertia of propeller
ω i Angular velocity of ith propeller
K t = diag ( k t 1 , k t 2 , k t 3 ) Translational drag coefficient matrix
K r = diag ( k r 1 , k r 2 , k r 3 ) Rotational drag coefficient matrix
η d Desired Euler angles
δ 1 , δ 2 , δ 3 , δ 4 Tracking error vectors
f ¯ k , g ¯ k Vectors (24), (39), (45), (49)
V 1 , V 2 , V 3 , V 4 Lyapunov function candidates
v 1 , v 2 Virtual control vectors
τ ϕ , τ θ , τ ψ Virtual inputs of the rotational subsystem
Λ 1 , Λ 2 , Λ 3 , Λ 4 Positive-definite diagonal gain matrices
χ , χ d Actual and desired position vectors of drone
AcronymMeaning
GPSGlobal Positioning System
LPA*Lifelong Planning A*
ARA*Anytime Reparing A*
PRMProbabilistic Road-Map
RRTRapidly-Exploring Random Tree
RRGRapidly-Exploring Random Graph
ANNArtificial Neural Network
GAGenetic Algorithm
ACOAnt Colony Optimization
PSOParticle Swarm Optimization
SASimulated Annealing
CHOMP                         Covariant Hamiltonian Optimization for Motion Planning
STOMPStochastic Trajectory Optimization for Motion Planning
NMPHNonlinear Model Predictive Horizon
BSCBackstepping Control
FBLFeedback Linearization
NMPCNonlinear Model Predictive Control
ENUEast, North, Up
ROSRobot Operating System
NLPNonlinear Programming
SQPSequential Quadratic Programming
LiDARLight Detection and Ranging

References

  1. Bergman, K.; Ljungqvist, O.; Glad, T.; Axehill, D. An optimization-based receding horizon trajectory planning algorithm. IFAC-PapersOnLine 2020, 53, 15550–15557. [Google Scholar] [CrossRef]
  2. Manoharan, A.; Sharma, R.; Sujit, P.B. Multi-AAV Cooperative Path Planning using Nonlinear Model Predictive Control with Localization Constraints. arXiv 2022, arXiv:2201.09285. [Google Scholar]
  3. Wu, D.M.; Li, Y.; Du, C.Q.; Ding, H.T.; Li, Y.; Yang, X.B.; Lu, X.Y. Fast velocity trajectory planning and control algorithm of intelligent 4WD electric vehicle for energy saving using time-based MPC. IET Intell. Transp. Syst. 2019, 13, 153–159. [Google Scholar] [CrossRef]
  4. Gasparetto, A.; Boscariol, P.; Lanzutti, A.; Vidoni, R. Path planning and trajectory planning algorithms: A general overview. In Motion and Operation Planning of Robotic Systems; Carbone, G., Gomez-Bravo, F., Eds.; Springer: Cham, Switzerland, 2015; Volume 29, pp. 293–308. [Google Scholar]
  5. Dijkstra, E.W. A note on two problems in connexion with graphs. Numer. Math. 1959, 1, 269–271. [Google Scholar] [CrossRef]
  6. Hart, P.E.; Nilsson, N.J.; Raphael, B. A formal basis for the heuristic determination of minimum cost paths. IEEE Trans. Syst. Sci. Cybern. 1968, 4, 100–107. [Google Scholar] [CrossRef]
  7. Koenig, S.; Likhachev, M. Fast replanning for navigation in unknown terrain. IEEE Trans. Robot. 2005, 21, 354–363. [Google Scholar] [CrossRef]
  8. Al-Mutib, K.; AlSulaiman, M.; Emaduddin, M.; Ramdane, H.; Mattar, E. D* lite based real-time multi-agent path planning in dynamic environments. In Proceedings of the 2011 Third International Conference on Computational Intelligence, Modelling & Simulation, Langkawi, Malaysia, 20–22 September 2011; pp. 170–174. [Google Scholar]
  9. Likhachev, M.; Gordon, G.J.; Thrun, S. ARA*: Anytime A* with provable bounds on sub-optimality. In Advances in Neural Information Processing Systems; Thrun, S., Saul, L.K., Schölkopf, B., Eds.; MIT Press: Cambridge, MA, USA, 2004; Volume 16, pp. 767–774. [Google Scholar]
  10. 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]
  11. Siméon, T.; Laumond, J.P.; Nissoux, C. Visibility-based probabilistic roadmaps for motion planning. Adv. Robot. 2000, 14, 477–493. [Google Scholar] [CrossRef]
  12. LaValle, S.M.; Kuffner, J.J. Rapidly-Exploring Random Trees: Progress and Prospects. In Algorithmic and Computational Robotics: New Directions; Donald, B.R., Lynch, K.M., Rus, D., Eds.; CRC Press: Boca Raton, FL, USA, 2001; pp. 293–308. [Google Scholar]
  13. Karaman, S.; Frazzoli, E. Sampling-based algorithms for optimal motion planning. Int. J. Robot. Res. 2011, 30, 846–894. [Google Scholar] [CrossRef]
  14. Khatib, O. Real-Time Obstacle Avoidance for Manipulators and Mobile Robots. Int. J. Robot. Res. 1986, 5, 90–98. [Google Scholar] [CrossRef]
  15. Iswanto, I.; Ma’arif, A.; Wahyunggoro, O.; Cahyadi, A.I. Artificial Potential Field Algorithm Implementation for Quadrotor Path Planning. Int. J. Adv. Comput. Sci. Appl. 2019, 10, 575–585. [Google Scholar] [CrossRef] [Green Version]
  16. Martin, P.; del Pobil, A.P. Application Of Artificial Neural Networks To The Robot Path Planning Problem. In Applications of Artificial Intelligence in Engineering IX; Adey, R., Rzevski, G., Russell, D., Eds.; WIT Press: Southampton, UK, 1994; pp. 73–80. [Google Scholar]
  17. Zhao, M.; Ansari, N.; Hou, E.S.H. Mobile manipulator path planning by a genetic algorithm. J. Field Robot. 1994, 11, 143–153. [Google Scholar] [CrossRef]
  18. Wang, H.J.; Xiong, W. Research on global path planning based on ant colony optimization for AUV. J. Mar. Sci. Appl. 2009, 8, 58–64. [Google Scholar] [CrossRef]
  19. Qiaorong, Z.; Guochang, G. Path planning based on improved binary particle swarm optimization algorithm. In Proceedings of the 2008 IEEE Conference on Robotics, Automation and Mechatronics, Chengdu, China, 21–24 September 2008; pp. 462–466. [Google Scholar]
  20. Martinez-Alfaro, H.; Flugrad, D.R. Collision-free path planning for mobile robots and/or AGVs using simulated annealing. In Proceedings of the IEEE International Conference on Systems, Man and Cybernetics, San Antonio, TX, USA, 2–5 October 1994; Volume 1, pp. 270–275. [Google Scholar]
  21. Zhang, H.Y.; Lin, W.M.; Chen, A.X. Path planning for the mobile robot: A review. Symmetry 2018, 10, 450. [Google Scholar] [CrossRef]
  22. Sands, T. Flattening the Curve of Flexible Space Robotics. Appl. Sci. 2022, 12, 2992. [Google Scholar] [CrossRef]
  23. LaValle, S.M. Planning Algorithms; Cambridge University Press: New York, NY, USA, 2006. [Google Scholar]
  24. 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]
  25. 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]
  26. Sandberg, A.; Sands, T. Autonomous Trajectory Generation Algorithms for Spacecraft Slew Maneuvers. Aerospace 2022, 9, 135. [Google Scholar] [CrossRef]
  27. Al Younes, Y.; Barczyk, M. Nonlinear Model Predictive Horizon for Optimal Trajectory Generation. Robotics 2021, 10, 90. [Google Scholar] [CrossRef]
  28. Krstic, M.; Kokotovic, P.V.; Kanellakopoulos, I. Nonlinear and Adaptive Control Design; John Wiley & Sons, Inc.: New York, NY, USA, 1995. [Google Scholar]
  29. Vaidyanathan, S.; Azar, A.T. Backstepping Control of Nonlinear Dynamical Systems; Academic Press: San Diego, CA, USA, 2020. [Google Scholar]
  30. Zhou, J.; Wen, C. Adaptive Backstepping Control of Uncertain Systems: Nonsmooth Nonlinearities, Interactions or Time-Variations; Springer: Heidelberg, Germany, 2008. [Google Scholar]
  31. Fadhel, F.S.; Noaman, S.F. The Generalized Backstepping Control Method for Stabilizing and Solving Systems of Multiple Delay Differential Equations. Al-Nahrain J. Sci. 2018, 150–156. [Google Scholar] [CrossRef]
  32. Ye, Z.; Mohamadian, H. Nonlinear backstepping control of multibody aerodynamic systems with equational modeling. In Proceedings of the 2009 IEEE International Conference on Control and Automation, Christchurch, New Zealand, 9–11 December 2009; pp. 1775–1779. [Google Scholar]
  33. Marino, R.; Tomei, P. Nonlinear Control Design: Geometric, Adaptive, and Robust; Prentice Hall: Hoboken, NJ, USA, 1995. [Google Scholar]
  34. Al Younes, Y.; Barczyk, M. Optimal Motion Planning in GPS-Denied Environments Using Nonlinear Model Predictive Horizon. Sensors 2021, 21, 5547. [Google Scholar] [CrossRef]
  35. Murray, R.M.; Li, Z.; Sastry, S.S. A Mathematical Introduction to Robotic Manipulation; CRC Press: Boca Raton, FL, USA, 1994. [Google Scholar]
  36. Madani, T.; Benallegue, A. Control of a quadrotor mini-helicopter via full state backstepping technique. In Proceedings of the 45th IEEE Conference on Decision and Control, San Diego, CA, USA, 13–15 December 2006; pp. 1515–1520. [Google Scholar]
  37. Al Younes, Y.; Drak, A.; Noura, H.; Rabhi, A.; Hajjaji, A.E. Quadrotor position Control using cascaded adaptive integral backstepping controllers. In Applied Mechanics and Materials; Trans Tech Publications Ltd.: Durnten-Zurich, Switzerland, 2014; Volume 565, pp. 98–106. [Google Scholar]
  38. Bouabdallah, S.; Siegwart, R. Full control of a quadrotor. In Proceedings of the 2007 IEEE/RSJ international conference on intelligent robots and systems, San Diego, CA, USA, 29 October–2 November 2007; pp. 153–158. [Google Scholar]
  39. Basri, M.A.M.; Husain, A.R.; Danapalasingam, K.A. Enhanced backstepping controller design with application to autonomous quadrotor unmanned aerial vehicle. J. Intell. Robot. Syst. 2015, 79, 295–321. [Google Scholar] [CrossRef]
  40. Chen, F.; Jiang, R.; Zhang, K.; Jiang, B.; Tao, G. Robust backstepping sliding-mode control and observer-based fault estimation for a quadrotor UAV. IEEE Trans. Ind. Electron. 2016, 63, 5044–5056. [Google Scholar] [CrossRef]
  41. Quigley, M.; Gerkey, B.; Conley, K.; Faust, J.; Foote, T.; Leibs, J.; Berger, E.; Wheeler, R.; Ng, A.Y. ROS: An open-source Robot Operating System. ICRAWorkshop on Open Source Software in Robotics, Kobe, Japan, 12–17 May 2009. [Google Scholar]
  42. Houska, B.; Ferreau, H.; 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]
  43. Boggs, P.T.; Tolle, J.W. Sequential quadratic programming. Acta Numer. 1995, 4, 1–51. [Google Scholar] [CrossRef]
  44. Ferreau, H.; Kirches, C.; Potschka, A.; Bock, H.; Diehl, M. qpOASES: A parametric active-set algorithm for quadratic programming. Math. Program. Comput. 2014, 6, 327–363. [Google Scholar] [CrossRef]
  45. Shah, S.; Dey, D.; Lovett, C.; Kapoor, A. AirSim: High-Fidelity Visual and Physical Simulation for Autonomous Vehicles. In Field and Service Robotics; Hutter, M., Siegwart, R., Eds.; Springer: Cham, Switzerland, 2018; pp. 621–635. [Google Scholar]
  46. Meier, L.; Honegger, D.; Pollefeys, M. PX4: A node-based multithreaded open source robotics framework for deeply embedded platforms. In Proceedings of the 2015 IEEE International Conference on Robotics and Automation (ICRA), Seattle, WA, USA, 26–30 May 2015; pp. 6235–6240. [Google Scholar]
  47. Oleynikova, H.; Taylor, Z.; Fehr, M.; Siegwart, R.; Nieto, J. Voxblox: Incremental 3d euclidean signed distance fields for on-board mav planning. In Proceedings of the 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, 24–28 September 2017; pp. 1366–1373. [Google Scholar]
  48. Dang, T.; Mascarich, F.; Khattak, S.; Papachristos, C.; Alexis, K. Graph-based path planning for autonomous robotic exploration in subterranean environments. In Proceedings of the 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Macau, China, 4–8 November 2019; pp. 3105–3112. [Google Scholar]
Figure 1. NMPH Architecture. The NMPH optimization process (gray box) considers models of the nonlinear plant dynamics and nonlinear control law, as well as constraints representing performance limits and environmental obstacles. The actual closed-loop system (blue box) tracks the optimized reference trajectory calculated by NMPH.
Figure 1. NMPH Architecture. The NMPH optimization process (gray box) considers models of the nonlinear plant dynamics and nonlinear control law, as well as constraints representing performance limits and environmental obstacles. The actual closed-loop system (blue box) tracks the optimized reference trajectory calculated by NMPH.
Robotics 11 00087 g001
Figure 2. Reference frames used for our quadrotor vehicle.
Figure 2. Reference frames used for our quadrotor vehicle.
Robotics 11 00087 g002
Figure 3. Trajectory Planning using the NMPH-BSC approach. (a) AirSim simulation environment. (b) Trajectory generation while avoiding static obstacle.
Figure 3. Trajectory Planning using the NMPH-BSC approach. (a) AirSim simulation environment. (b) Trajectory generation while avoiding static obstacle.
Robotics 11 00087 g003
Figure 4. NMPH reference trajectory generation. The estimated and predicted reference position trajectories are depicted in (a), and the estimated reference velocity trajectories are shown in (b).
Figure 4. NMPH reference trajectory generation. The estimated and predicted reference position trajectories are depicted in (a), and the estimated reference velocity trajectories are shown in (b).
Robotics 11 00087 g004
Figure 5. Vehicle’s trajectory tracking performance between the start point (0, 0, 2) m and the terminal setpoint (5.8, −4.5, 2) m.
Figure 5. Vehicle’s trajectory tracking performance between the start point (0, 0, 2) m and the terminal setpoint (5.8, −4.5, 2) m.
Robotics 11 00087 g005
Figure 6. Exploration of unknown environment using global motion planner using NMPH-BSC for local trajectory planning.
Figure 6. Exploration of unknown environment using global motion planner using NMPH-BSC for local trajectory planning.
Robotics 11 00087 g006
Figure 7. DJI FlameWheel F550 hexacopter vehicle equipped with onboard sensors and computing systems.
Figure 7. DJI FlameWheel F550 hexacopter vehicle equipped with onboard sensors and computing systems.
Robotics 11 00087 g007
Figure 8. Trajectory planning with obstacle avoidance flight test using the NMPH-BSC algorithm. (a) Trajectory generation. (b) Trajectory tracking. (c) The mapped obstacle as seen from the left fisheye lens of the onboard camera.
Figure 8. Trajectory planning with obstacle avoidance flight test using the NMPH-BSC algorithm. (a) Trajectory generation. (b) Trajectory tracking. (c) The mapped obstacle as seen from the left fisheye lens of the onboard camera.
Robotics 11 00087 g008
Figure 9. Hardware flight test for trajectory planning involving a dynamic obstacle using the NMPH-BSC algorithm. (a) Hardware drone avoiding the moving obstacle. (b) RViz visualization of the trajectory regeneration and flight path.
Figure 9. Hardware flight test for trajectory planning involving a dynamic obstacle using the NMPH-BSC algorithm. (a) Hardware drone avoiding the moving obstacle. (b) RViz visualization of the trajectory regeneration and flight path.
Robotics 11 00087 g009
Figure 10. The hardware hexacopter vehicle navigating a confined indoor environment using a graph-based planner to generate terminal setpoints and NMPH-BSC to generate local trajectories between setpoints.
Figure 10. The hardware hexacopter vehicle navigating a confined indoor environment using a graph-based planner to generate terminal setpoints and NMPH-BSC to generate local trajectories between setpoints.
Robotics 11 00087 g010
Figure 11. Flight test employing the NMPH-BSC algorithm in an outdoor environment with a 15 km/h wind speed.
Figure 11. Flight test employing the NMPH-BSC algorithm in an outdoor environment with a 15 km/h wind speed.
Robotics 11 00087 g011
Table 1. Comparison between graph-based and graph-based-plus-NMPH approaches to motion planning.
Table 1. Comparison between graph-based and graph-based-plus-NMPH approaches to motion planning.
Total Length of the
Generated Paths
Average Path Length
(between Terminal
Points)
Exploration TimeContinuous Path
Generation
Graph-based 1252 m 8.03 m 1322 s No
Graph-based &
NMPH-FBL
977 m (22.0%
improvement)
6.25 m (22.2%
improvement)
1032 s (21.9%
improvement)
Yes
Graph-based &
NMPH-BSC
949 m (24.2%
improvement)
6.08 m (24.3%
improvement)
1002 s (24.2%
improvement)
Yes
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Al Younes, Y.; Barczyk, M. A Backstepping Approach to Nonlinear Model Predictive Horizon for Optimal Trajectory Planning. Robotics 2022, 11, 87. https://doi.org/10.3390/robotics11050087

AMA Style

Al Younes Y, Barczyk M. A Backstepping Approach to Nonlinear Model Predictive Horizon for Optimal Trajectory Planning. Robotics. 2022; 11(5):87. https://doi.org/10.3390/robotics11050087

Chicago/Turabian Style

Al Younes, Younes, and Martin Barczyk. 2022. "A Backstepping Approach to Nonlinear Model Predictive Horizon for Optimal Trajectory Planning" Robotics 11, no. 5: 87. https://doi.org/10.3390/robotics11050087

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