Next Article in Journal
A Unmanned Aerial Vehicle (UAV)/Unmanned Ground Vehicle (UGV) Dynamic Autonomous Docking Scheme in GPS-Denied Environments
Previous Article in Journal
On Joint Optimization of UAV-Assisted Covert Communication Systems with NOMA for Hydropower Internet of Things
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Robust Collision-Free Guidance and Control for Underactuated Multirotor Aerial Vehicles

by
Jorge A. Ricardo Jr
*,† and
Davi A. Santos
Mechatronics Department, Aeronautics Institute of Technology (ITA), Praça Marechal Eduardo Gomes, 50-Vila das Acacias, São José dos Campos 12228-900, SP, Brazil
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Drones 2023, 7(10), 611; https://doi.org/10.3390/drones7100611
Submission received: 19 June 2023 / Revised: 13 August 2023 / Accepted: 21 September 2023 / Published: 27 September 2023

Abstract

:
This paper is concerned with the robust collision-free guidance and control of underactuated multirotor aerial vehicles in the presence of moving obstacles capable of accelerating, linear velocity and rotor thrust constraints, and matched model uncertainties and disturbances. We address this problem by using a hierarchical flight control architecture composed of a supervisory outer-loop guidance module and an inner-loop stabilizing control one. The inner loop is designed using a typical hierarchical control scheme that nests the attitude control loop inside the position one. The effectiveness of this scheme relies on proper time-scale separation (TSS) between the closed-loop (faster) rotational and (slower) translational dynamics, which is not straightforward to enforce in practice. However, by combining an integral sliding mode attitude control law, which guarantees instantaneous tracking of the attitude commands, with a smooth and robust position control one, we enforce, by construction, the satisfaction of the TSS, thus avoiding the loss of robustness and use of a dull trial-and-error tweak of gains. On the other hand, the outer-loop guidance is built upon the continuous-control-obstacles method, which is incremented to respect the velocity and actuator constraints and avoid multiple moving obstacles that can accelerate. The overall method is evaluated using a numerical Monte Carlo simulation and is shown to be effective in providing satisfactory tracking performance, collision-free guidance, and the satisfaction of linear velocity and actuator constraints.

1. Introduction

Multirotor aerial vehicles (MAVs) have been extensively researched in recent decades and are expected to be widely used for a variety of new, challenging applications, such as delivery [1] and air taxis [2]. These applications demand a high level of safety and are usually carried out in disturbed environments where the MAV may fly among obstacles such as buildings, other manned or unmanned aircraft, and birds. To enable dependable operation, the MAV flight control system must provide outstanding performance, robustness, and collision avoidance. Aiming at contributing to this topic, this paper focuses on underactuated MAVs equipped with fixed rotors (which includes the conventional and widespread quadrotor). We start by adopting a typical hierarchical guidance and control architecture [3], such as the one shown in Figure 1. This architecture is composed of an outer-loop guidance system whose goal is to conduct the vehicle to the desired state while avoiding collisions and respecting operational and physical constraints. It also contains an inner control loop providing stability and robustness.
To address the robustness requirement of MAV flight control systems against model uncertainties and disturbances, the sliding mode control [4,5] (SMC) strategy has been widely adopted to design the position and attitude control laws [6,7,8,9,10,11]. This technique provides a high-frequency switching control signal to drive and keep a system output on a sliding manifold, where the system ideally becomes insensitive to bounded model uncertainties and disturbances of the matched type. In particular, there are also SMC design techniques based on sliding manifolds suitably constructed to eliminate the reaching phase, i.e., to enable a sliding motion (with the insensitivity property) from the very beginning [12,13,14,15,16]. These design techniques can be found in the literature under two main alternative designations: the integral sliding mode control (ISMC) [14] and sometimes the global sliding mode control (GSMC) [13,16].
To deal with the underactuated dynamics of the considered class of MAVs, most of the literature relies on the assumption of time-scale separation (TSS) between the (slower) position and (faster) attitude closed-loop dynamics [6,7,8,9,17,18,19,20,21], which allows us to nest the attitude control loop inside the position one. As a consequence, the position and attitude control laws can be designed separately, but their gains have to be suitably tuned to achieve a sufficient TSS. In particular, the use of SMC in underactuated control systems is still a challenge [22]. In fact, under this nested control architecture, by using a high-frequency switching signal in the outer-loop position control law, it is not possible to properly guarantee the required TSS since such a signal is too fast to be considered slow in the design of the inner-loop attitude control. Nevertheless, there is no restriction on the use of such a policy in the attitude control. In this context, Besnard et al. [6] designed flight controllers using a continuous SMC driven by a sliding mode disturbance observer (SMDO). A procedure to tune the controllers’ gains in order to respect the TSS between the control loops was presented. Muñoz Palacios et al. [7] adopted a modified super-twisting SMC driven by a high-order sliding mode observer. Silva and Santos [8] and Labbadi and Cherkaoui [9] designed nonsingular fast terminal sliding mode flight control laws, but, to avoid the TSS violation, the position control loop was smoothed using sigmoid functions at the cost of robustness. It is worth noting that all the above-cited methods demand a trial-and-error procedure for the tuning of the flight control laws to respect the TSS assumption and avoid eventual instability.
The guidance of MAVs among obstacles has been addressed in the literature using different methods, such as nonlinear model predictive control (NMPC) [23,24], sampling-based search [25], and velocity obstacles (VO) [26,27,28]. In particular, Kamel et al. [23] and Pereira et al. [24] employed an NMPC to guide an MAV through static obstacles, addressing the collision avoidance problem by using a penalty in the cost function. Furthermore, Bouzid et al. [25] guided an MAV among static obstacles by combining an optimal rapidly exploring random tree (RRT) method with a genetic algorithm to compute the shortest path to a given target. On the other hand, Bareiss and Van Den Berg [27] proposed the linear–quadratic regulator obstacles (LQR obstacles) to address collision avoidance for mobile robots described by linear dynamics, rather than by single integrators as in the original VO [26]. The method was evaluated using quadcopters whose nonlinear dynamics were supposed to be known and linearized around the hover state. Other methods, such as the acceleration velocity obstacles (AVO) [29] and continuous control obstacles (CCO) [30], were also developed as generalizations of the VO to deal with more complicated known linear dynamics. Among the references [23,24,25,27], only [27] addresses the guidance problem for MAVs in the presence of moving obstacles. However, they use a simplified dynamic model and, like the VO-based methods [26,29,30], predict the obstacles’ future positions assuming that they keep a constant velocity, which is generally not satisfied in practice, but is addressed using a quick replanning loop with no guarantee that collision can be avoided when the obstacles accelerate.
This paper tries to fill the aforementioned gaps in the current state of the art by addressing the guidance and control for underactuated MAVs subject to matched model uncertainties and disturbances, as well as velocity and rotor thrust constraints, in the presence of obstacles that can accelerate. To tackle this problem, we start by adopting the hierarchical architecture shown in Figure 1 [3]. To design the position and attitude control laws, we propose a new hierarchical SMC scheme that, differently from [6,7,8,9,10], enforces the TSS without losing robustness and using a dull trial-and-error tweak of gains. Under this scheme, the attitude control law is designed using an ISMC strategy, in such a way as to guarantee exact tracking capability in the attitude control loop during the entire time, under the condition that the attitude command is sufficiently smooth. Then, this smoothness requirement is fulfilled by designing the position control law using a proportional–derivative (PD) approach combined with an SMDO to endow the position control loop with robustness. By doing so, the TSS is instantaneously enforced since the inner loop is made infinitely fast. On the other hand, we propose a nonlinear and robust guidance strategy based on the CCO method [30]. The guidance considers the use of smooth reference filters and, rather than relying on overly simplified nominal dynamics, it is able to deal with the uncertain nonlinear system dynamics. These system dynamics, as seen by the guidance algorithm, encompass the reference filters and the translational and rotational control loops, including the uncertainties and disturbances. Then, using the fact that the TSS is enforced by the control strategy, we tighten the admissible sets according to the bounds of the MAV tracking errors as well as the bounds of the disturbance force and torque. By doing so, different from that of Bareiss and Van Den Berg [27], the proposed strategy is able to guarantee collision avoidance and the satisfaction of velocity and rotor thrust constraints for underactuated MAVs with uncertain dynamics. Furthermore, to reliably address the problem of collision avoidance in the presence of obstacles that can accelerate, we adopt our previous method [28] that uses a high-order sliding mode differentiator (SMD) [31,32] to robustly estimate the obstacles’ maximum accelerations. Then, using these estimates, the obstacles’ future positions are not predicted using first-order models, as generally done in the VO-based methods [26,27,29,30], but considering the obstacles’ maximum accelerations. To summarize, the main contributions of this paper are the proposal of
  • a hierarchical SMC scheme to design the position and attitude control laws for underactuated MAVs that, by construction, enforces the TSS assumption and
  • robust guidance, based on the CCO and designed using a constraint-tightening approach, for underactuated MAVs with uncertain dynamics in the presence of velocity and rotor thrust constraints and multiple moving obstacles capable of accelerating.
The remaining text is structured as follows. Section 1.1 presents the notation. Section 2 defines the problem. Section 3 and Section 4 present, respectively, the control and guidance methods. Section 5 evaluates the proposed method using numerical simulations. Lastly, Section 6 concludes the paper.

1.1. Notation

The sets of real numbers, positive real numbers, and non-negative real numbers are denoted by R , R > 0 , and R 0 , respectively. In the same manner, the sets of integer numbers, positive integer numbers, and non-negative integer numbers are denoted by Z , Z > 0 , and Z 0 , respectively. Uppercase and lowercase boldface letters are used, respectively, to denote matrices and algebraic vectors, while geometric (Euclidean) vectors are denoted as in a . The symbols I n and 0 n × m denote, respectively, the n × n identity matrix and the n × m zero matrix. Moreover, the vectors of ones and zeros of dimension n are denoted, respectively, by 1 n and 0 n . A Cartesian coordinate system (CCS) is represented as S b { B ; x b , y b , z b } , with B denoting its origin and x b , y b , and z b representing the unit geometric vectors along its orthogonal axes. The algebraic vectors corresponding to the projection of an arbitrary physical vector a R 3 onto S b and S r are denoted, respectively, by a b R 3 and a r R 3 . The relation between a r and a b is a b = D b / r a r , where D b / r SO ( 3 ) is the attitude matrix of S b relative to S r and SO ( 3 ) { D R 3 × 3 | D T D = I 3 } denotes the special orthogonal group. The inverse of D b / r is equal to its transpose, being denoted by D r / b . Let a b / r represent an arbitrary quantity of S b relative to S r , e.g., throughout this paper, r b / r will denote the position of S b with respect to S r . Consider two arbitrary algebraic vectors x = ( x 1 , , x n ) and y = ( y 1 , , y n ) . The vector inequality x < y means that x i < y i , i { 1 , , n } . The kth-order time derivative of x is denoted by x ( k ) . Furthermore, we define the vector signum function as sign ( x ) ( sign ( x 1 ) , , sign ( x n ) ) , where
sign ( x i ) 1 x i > 0 , 0 x i = 0 , 1 x i < 0 ,
with i { 1 , , n } . The Euclidean norm and component-wise absolute value of x are denoted, respectively, by x x 1 2 + + x n 2 and | x | ( | x 1 | , , | x n | ) . On the other hand, the component-wise absolute value of a generic matrix A R m × n is A | A i , j | R m × n , where A i , j is the element of the ith row and jth column of A . The standard basis vectors of R 3 are denoted by e 1 1 , 0 , 0 , e 2 0 , 1 , 0 , and e 3 0 , 0 , 1 . A closed sphere of radius ρ R > 0 centered at p R 3 , the Minkowski sum of two sets, and the set subtraction are denoted, respectively, by
B p , ρ = x R 3 | x p ρ , X Y = x + y | x X , y Y , X Y = x | x X , x Y .
Finally, consider the S r representations a r and b r b 1 , b 2 , b 3 of a and b , respectively. The vector product c = b × a is represented in S r by c r = b r × a r , where b r × is the following skew-symmetric matrix:
b r × 0 b 3 b 2 b 3 0 b 1 b 2 b 1 0 .

2. Problem Definition

This section defines the main problem of the paper. First, the MAV translational and rotational dynamics are derived in Section 2.1. Second, the control and guidance problems are stated in Section 2.2.

2.1. MAV Dynamic Modeling

Consider an inertial reference CCS S r R ; x r , y r , z r fixed on the ground at a known point R, with z r oriented upwards, parallel to the local vertical. Moreover, consider a body-fixed CCS S b B ; x b , y b , z b located at a point B fixed to the MAV center of mass, as shown in Figure 2, along with an illustration of a general underactuated MAV equipped with n r 4 fixed rotors parallel to z b .
The attitude kinematics of S b with respect to S r can be described in SO(3) by [33]
D ˙ b / r = ω b b / r × D b / r ,
where D b / r SO ( 3 ) and ω b b / r R 3 are, respectively, the attitude matrix and the angular velocity of the MAV.
Using the Euler equation [34], the MAV rotational dynamics can be described by
h ˙ b + ω b b / r × h b = τ b c + τ b d ,
where h b R 3 is the angular momentum of the MAV relative to point B, τ b c R 3 is the control torque, and τ b d R 3 is the disturbance torque, which can include state-dependent terms related to parametric and model uncertainties [11]; both torques are with respect to B. Assuming a rigid airframe and negligible rotor inertias, the angular momentum h b can be written as
h b = J b ω b b / r ,
where J b R 3 × 3 is the MAV inertia tensor.
By substituting (3) into (2), the rotational dynamics can be finally described by
ω ˙ b b / r = J b 1 J b ω b b / r × ω b b / r + J b 1 τ b c + τ b d .
The translational kinematics of S b relative to S r , on the other hand, are represented by
r ˙ r b / r = v r b / r ,
where r r b / r R 3 and v r b / r R 3 are, respectively, the position and linear velocity of the MAV.
Using Newton’s second law, the translational dynamics of the MAV can be described in S r by
v ˙ r b / r = g e 3 + m 1 f r c + f r d ,
where g R > 0 is the gravity acceleration magnitude, m R > 0 is the MAV mass, f r c R 3 is the control force, and f r d R 3 is the disturbance force, which can include state-dependent terms related to parametric and model uncertainties.
The set of Equations (1) and (4)–(6) can be used to represent the six-degrees-of-freedom (DOF) dynamics of any fixed-rotor rigid MAV with negligible rotor inertia, regardless of its rotor configuration. For the considered class of underactuated MAVs, the control force is given by
f r c = f n r ,
where n r D r / b e 3 is the S r representation of z b and f   f r c is the resultant thrust magnitude.
Denote by f i R the thrust of the ith rotor and define the vector f r ( f 1 , f 2 , , f n r ) . The control allocation equation relating f and τ b c with f r is [35]
f τ b c = Γ f r ,
where Γ R 4 × n r is the control allocation matrix, which depends on the rotors’ coefficients and arrangement. For the considered class of underactuated MAVs, Γ is always of full-row rank, i.e., rank ( Γ ) = 4 , thus allowing the rotors to produce, within certain limits, a three-dimensional torque and a resultant thrust in the z b direction.
The resulting system (1), (4)–(8) is said to be underactuated since it has only four control inputs, τ b c and f, to control a six-DOF motion. Furthermore, from (6) and (7), it can be seen that the translational dynamics depend on the MAV attitude. For this reason, we can say that the rotational and translational dynamics are cascaded.

2.2. Problem Statement

Consider that the MAV is subject to velocity and rotor thrust constraints and flies among moving obstacles. These circumstances give rise to the following constraints:
r r b / r P ( t ) ,
v r b / r V ,
f r F ,
where P ( t ) R 3 denotes the collision-free space, which changes as the obstacles move and is generally non-convex; V R 3 is an admissible convex set; and F is assumed to be
F f r R n r | f i f i , f i + , i { 1 , , n r } ,
being f i R > 0 and f i + R > 0 , respectively, the given lower and upper bounds for the ith rotor thrust.
Let us define the heading angle ψ [ π , π ) as the third rotation in the 1-2-3 Euler angle representation of the MAV attitude.
Denoting the MAV’s desired (constant) position and desired (constant) heading, respectively, by r ˇ r b / r R 3 and ψ ˇ [ π , π ) , we now define the main problem of the paper.
Problem 1. 
Guide the underactuated MAV described by (1), (4)–(8) to precisely reach the desired position r ˇ r b / r and the desired heading ψ ˇ , while satisfying constraints (9)–(11).
Problem 1 is a nonlinear guidance and control problem of an underactuated MAV subject to disturbances and constraints, operating in a dynamic environment with multiple moving obstacles that can accelerate. To tackle this problem, we adopt the guidance and control architecture shown in Figure 1. The adopted strategy is to design the control module to provide robustness with respect to disturbances and uncertainties, and the guidance module to satisfy the position, velocity, and rotors’ thrust constraints while conducting the vehicle to reach the desired position and heading. The control and guidance methods are, respectively, detailed in Section 3 and Section 4. It is worth mentioning that the objective of Problem 1 can be immediately generalized for a sequence of desired positions and headings [3].

3. Control Design

This section presents the design of the position and attitude control laws to address Problem 1. Specifically, Section 3.1 introduces the adopted hierarchical flight control architecture. Section 3.2 formulates the attitude control law. Section 3.3 formulates the position control law. Lastly, Section 3.4 presents the control allocation.
Before proceeding to the next subsection, let us denoted the command of a given variable by using an overbar symbol, e.g., r ¯ r b / r and ψ ¯ denote the position and heading commands, respectively.

3.1. Hierarchical Flight Control Architecture

Most of the literature on underactuated MAVs [6,7,8,9,17,18,19,20,21] has designed the position and attitude controllers relying on a TSS between the (slower) position and (faster) attitude closed-loop dynamics, which allows us to nest the attitude control loop inside the position one, as shown in the block diagram of Figure 3. In this architecture, the position controller receives r ¯ r b / r as the command input, r r b / r and v r b / r as feedback, and produces f ¯ r c as the output. The attitude command generator (ACG) converts n ¯ r and ψ ¯ into the three-dimensional attitude command D ¯ b / r . The attitude controller receives D ¯ b / r as the command input, D b / r and ω b b / r as feedback, and produces τ ¯ b c as output. Lastly, the control allocation converts f ¯ and τ ¯ b c into individual thrust commands f ¯ r f ¯ 1 , , f ¯ n r .
Consider the following assumption regarding the rotors.
Assumption 1. 
The rotor dynamics are instantaneous and their static parameters are exactly known.
Assumption 1 is common in practice since the rotor dynamics are much faster than the attitude and position ones, thus allowing us to suppose, in the design of the controllers, that the thrust commands are instantaneously achieved, i.e., f r f ¯ r , t 0 . Consequently, from (8), one can say that f f ¯ and τ b c τ ¯ b c .
By assuming that the rotational dynamics are faster than the translational ones, the TSS allows consideration in the design of the position controller that n r = n ¯ r . Then, by also considering Assumption 1, Equation (7) becomes
f r c = f ¯ n ¯ r f ¯ r c ,
where n ¯ r D ¯ r / b e 3 , which in theory removes the underactuation of the system since the dependency of f r c on the actual attitude is removed. Then, the attitude and position control laws can be separately designed by considering the resulting fully actuated system described by Equations (1), (4)–(6), and (12). The critical point is that, when using this strategy, the controllers’ gains have to be carefully tuned in order to respect the TSS assumption, whereas, in practice, this tuning is a cumbersome trial-and-error process, thus requiring improved safety procedures to deal with the eventual instability that may occur in the case of insufficient TSS [36].
To avoid this drawback, we propose a hierarchical sliding mode control scheme for underactuated MAVs that enforces the attitude-position TSS. To this end, we design a multi-input attitude control law using an ISMC strategy, in such a way as to guarantee exact tracking capability in the attitude control loop during all the time. Such exact tracking makes n r = n ¯ r without the need for tuning to reach the TSS. Therefore, the position control law can be designed using the fully actuated system described by (5), (6), and (12).

3.2. Integral Sliding Mode Attitude Control Law

Consider the objective of tracking a time-varying attitude command D ¯ b / r that satisfies the following assumption.
Assumption 2. 
The time-varying attitude command D ¯ b / r is such that, at the initial time, D ¯ b / r ( 0 ) = D b / r ( 0 ) and ω ¯ b b / r ( 0 ) = ω b b / r ( 0 ) . Moreover, it is ( h 1 ) th-order differentiable with respect to time, where h 2 , such that its first-time derivative D ¯ ˙ b / r is Lipschitz-continuous.
Assumption 2 is not restrictive; it only requires the knowledge of the MAV’s initial attitude and angular velocity and the use of a suitably smooth attitude command. These conditions can be fulfilled by properly designing the heading command ψ ¯ and the position control law (see Figure 3).
The attitude and angular velocity control errors can be defined, respectively, as [33]
D ˜ D b / b ¯ D b / r D ¯ b / r T SO ( 3 ) ,
ω ˜ ω b b / b ¯ ω b b / r D ˜ ω ¯ b b / r R 3 ,
where D ¯ b / r D b ¯ / r , ω ¯ b b / r ω b ¯ b ¯ / r , and b ¯ refers to a CCS S b ¯ representing the commanded attitude for S b .
The attitude and angular velocity errors (13) and (14) allow the description of the attitude error kinematics by a conventional attitude kinematics differential equation, such as (1), i.e.,
D ˜ ˙ = ω ˜ × D ˜ .
Besides the attitude matrix D ˜ , a three-dimensional attitude representation is required for the proposed control design. Here, we adopt the Gibbs vector [33]
g ˜ ε ˜ tan ( ϑ ˜ / 2 ) ,
where ε ˜ S 2 { x R 3 | x = 1 } and ϑ ˜ R are, respectively, the principal Euler axis and angle corresponding to D ˜ . Note that the Gibbs vector is singular at the angles ϑ ˜ = 2 i + 1 π rad, i Z . However, since g ˜ represents the attitude error (not the full attitude), an effective control design will keep ϑ ˜ < < π and singularities will not be reached in practice [8]. The direct and inverse relations between D ˜ and g ˜ are, respectively, given by
D ˜ = 1 g ˜ T g ˜ I 3 + 2 g ˜ g ˜ T 2 g ˜ × 1 + g ˜ T g ˜ , g ˜ = 1 1 + tr D ˜ D ˜ 23 D ˜ 32 D ˜ 31 D ˜ 13 D ˜ 12 D ˜ 21 ,
where D ˜ i j is the element of the ith row and jth column of D ˜ , and tr ( · ) is the trace operator.
The attitude error kinematics (15) can alternatively be described using the Gibbs vector as [33]
g ˜ ˙ = 1 2 g ˜ g ˜ T + g ˜ × + I 3 ω ˜ .
On the other hand, by replacing (13) and (14) into (4) and considering Assumption 1, the attitude error dynamics can be described by
ω ˜ ˙ = J b 1 J b ω b b / r × ω b b / r + J b 1 τ ¯ b c + τ b d D ˜ ω ¯ ˙ b b / r + ω ˜ × D ˜ ω ¯ b b / r .
By defining x 1 g ˜ , x 2 ω ˜ , u τ ¯ b c , d τ b d , the error kinematics (16) and dynamics (17) can be inserted into the state-space model
x ˙ 1 = f 1 x 1 , x 2 ,
x ˙ 2 = f 2 x 1 , x 2 + B u + B d ,
where B J b 1 ,
f 1 x 1 , x 2 1 2 x 1 x 1 T + x 1 × + I 3 x 2 , f 2 x 1 , x 2 B B 1 ω b b / r × ω b b / r D ˜ ω ¯ ˙ b b / r + x 2 × D ˜ ω ¯ b b / r .
Now, let us define the attitude sliding variable
s x ˙ 1 + C x 1 ,
where C R 3 × 3 . The corresponding sliding set is
S x 1 , x ˙ 1 R 6 | s = 0 3 .
From Assumption 2, one can see that the system is in the sliding set S at the initial time instant. Therefore, by designing a control u such that the inequality V ˙ β V 1 / 2  [37], with β R > 0 , is satisfied from the very beginning, it holds that ( x 1 , x ˙ 1 ) S during the entire time, and, consequently, ( x 1 ( t ) , x ˙ 1 ( t ) ) = ( 0 3 , 0 3 ) , t 0 . Therefore, from (20), it holds that x 2 ( t ) = 0 3 , t 0 . In other words, the system is capable of exactly tracking the attitude and angular velocity commands during the entire time, i.e., D b / r ( t ) = D ¯ b / r ( t ) and ω b b / r ( t ) = ω ¯ b b / r ( t ) , t 0 .
By differentiating (21) and using (18) and (19), we can obtain the dynamic equation for s (for conciseness, we omit the function-independent variables):
s ˙ = C f 1 + f 1 x 1 f 1 + f 1 x 2 f 2 + f 1 x 2 B u + f 1 x 2 B d .
Regarding the disturbance d , consider the following assumption.
Assumption 3. 
The disturbance d is bounded according to | d | τ max , where τ max R 3 is a known vector with positive components.
The boundedness in Assumption 3 is reasonable in practice, but one can rarely obtain a non-conservative estimate of the bound τ max without a switching-gain adaptation scheme [38].
Lemma 1 gives a control law that ensures that the system (18) and (19) has an integral sliding mode in S .
Lemma 1. 
Under Assumptions 2 and 3, the following control law guarantees the integral sliding mode of the system (18) and (19) in S :
u = Ξ 1 u 0 + K 1 s i g n ( s ) ,
where
u 0 C f 1 + f 1 x 1 f 1 + f 1 x 2 f 2 ,
Ξ f 1 x 2 B , and K 1 R 3 × 3 is a positive-definite diagonal matrix satisfying
K 1 1 3 Ξ τ max + 1 3 β 2 .
Proof. 
Consider the Lyapunov candidate function V ( s ) = s T s / 2 . From Assumption 2, the system (18) and (19) starts the motion in the sliding set S . Therefore, to prove the integral sliding mode, it is sufficient to show the satisfaction of the inequality V ˙ β V 1 / 2 . To this end, differentiating V ( s ) with respect to time, using (22) and (23), and choosing K 1 according to (24), one can show that
V ˙ ( s ) = s T K 1 sign ( s ) Ξ d , = | s | T diag ( sign ( s ) ) K 1 sign ( s ) Ξ d , = | s | T K 1 1 3 diag ( sign ( s ) ) Ξ d , | s | T K 1 1 3 Ξ τ max , | s | T 1 3 β 2 β 2 s = β V 1 / 2 .
Thus, we complete the proof.    □

Attitude Command Generator

The attitude command generator (ACG) converts n ¯ r and ψ ¯ into D ¯ b / r . Since the heading angle ψ is defined as the third rotation in the 1-2-3 Euler angle representation of D b / r , it is appropriate to parameterize D ¯ b / r also using the Euler angles ( ϕ ¯ , θ ¯ , ψ ¯ ) in the 1-2-3 sequence, i.e.,
D ¯ b / r c ψ ¯ c θ ¯ c ψ ¯ s θ ¯ s ϕ ¯ + s ψ ¯ c ϕ ¯ c ψ ¯ s θ ¯ c ϕ ¯ + s ψ ¯ s ϕ ¯ s ψ ¯ c θ ¯ s ψ ¯ s θ ¯ s ϕ ¯ + c ψ ¯ c ϕ ¯ s ψ ¯ s θ ¯ c ϕ ¯ + c ψ ¯ s ϕ ¯ s θ ¯ c θ ¯ s ϕ ¯ c θ ¯ c ϕ ¯ ,
where c * and s * are short notations for cos ( ) and sin ( ) , respectively.
From the definition of n ¯ r given after Equation (12), it can be seen that its transpose is equal to the third line of the attitude command D ¯ b / r . Then, the commands ϕ ¯ and θ ¯ in (25) can be calculated from n ¯ r , respectively, as
ϕ ¯ = tan 1 e 2 T n ¯ r e 3 T n ¯ r ,
θ ¯ = sin 1 e 1 T n ¯ r .
Regarding the smoothness of D ¯ b / r in Assumption 2, consider the following remark.
Remark 1. 
For the attitude command D ¯ b / r to be in fact ( h 1 ) th-order differentiable with respect to time, such that its first-time derivative is Lipschitz-continuous, as supposed by Assumption 2, it can be seen from (25)–(27) that n ¯ r and ψ ¯ must have the same smoothness degree. In turn, the required smoothness of n ¯ r and ψ ¯ can be achieved by properly designing the guidance method and the position control law.

3.3. Position Control Law

Using Assumption 1 and the fact that the attitude loop has an integral sliding mode, which ideally imply that D b / r ( t ) D ¯ b / r ( t ) and n r ( t ) n ¯ r ( t ) , t 0 , the position control law can be designed using the fully actuated model (5) and (6) with f r c given by (12) instead of (7).
Therefore, consider the objective of tracking a time-varying position command r ¯ r b / r ( t ) . To this end, define the position and linear velocity errors, respectively, by
r ˜ r r b / r r ¯ r b / r ,
v ˜ v r b / r v ¯ r b / r .
Then, the translational error kinematics and dynamics are obtained, respectively, by substituting (28) into (5), and (12) and (29) into (6), yielding
r ˜ ˙ = v ˜ ,
v ˜ ˙ = g e 3 + m 1 f ¯ r c + f r d v ¯ ˙ r b / r .
Consider the following assumption regarding the disturbance force f r d .
Assumption 4. 
The disturbance force is bounded according to | f r d | f max , with f max R 3 being a known vector with positive components. Moreover, f r d is ( h 1 ) th-order differentiable with respect to time, being h the smoothness parameter defined in Assumption 2, such that f r d ( 1 ) is Lipschitz and f r d ( h 1 ) has a known Lipschitz constant vector γ p > 0 3 .
Assumption 4 is not very restrictive. It essentially states that the disturbance is limited and has a Lipschitz-continuous first and ( h 1 ) th derivative with respect to time, which is reasonable in practice. In fact, model uncertainties and external aerodynamic disturbances usually fulfill such an assumption [39].
In order to satisfy the smoothness requirements for D ¯ b / r as discussed in Remark 1, while ensuring robustness with respect to the disturbance force, we design the position control law by combining a proportional–derivative (PD) policy with an SMDO. This control law is given by
f ¯ r c = m g e 3 + v ¯ ˙ r b / r K 2 r ˜ K 3 v ˜ f ^ r d ,
where K 2 R 3 × 3 and K 3 R 3 × 3 are positive-definite diagonal matrices, and f ^ r d R 3 is the disturbance force estimate to be provided by the SMDO.
To estimate the disturbance force, let us define an auxiliary sliding variable
σ m v ˜ + β , β ( 0 ) = m v ˜ ( 0 ) ,
β ˙ = f ¯ r c + m g e 3 + m v ¯ ˙ r b / r .
By substituting (31) and (34) into the time derivative of (33), we obtain σ ( i ) = f r d ( i 1 ) , i { 1 , , h } . Then, the following multi-input high-order sliding mode differentiator (SMD) [31] is used to estimate σ ( i ) and, consequently, f r d ( i 1 ) :
z ˙ 0 d = w 0 d , w 0 d = Λ 0 d Ψ ( γ p ) 1 / ( h + 1 ) Ψ ( | z 0 d σ | ) h / ( h + 1 ) sign ( z 0 d σ ) + z 1 d , z ˙ 1 d = w 1 d , w 1 d = Λ 1 d Ψ ( γ p ) 1 / h Ψ ( | η 1 d | ) ( h 1 ) / h sign ( η 1 d ) + z 2 d , z ˙ h 1 d = w h 1 d , w h 1 d = Λ h 1 d Ψ ( γ p ) 1 / 2 Ψ ( | η h 1 d | ) 1 / 2 sign ( η h 1 d ) + z h d , z ˙ h d = Λ h d Ψ ( γ p ) sign ( η h d ) ,
where η k d z k d w k 1 d , with k { 1 , , h } , Λ j d R 3 × 3 is a positive-definite diagonal matrix, with j 0 , , h , and Ψ ( | · | ) diag ( | · | ) maps a vector into a diagonal matrix. The SMD (35) initial conditions are set as z 0 d ( 0 ) = σ ( 0 ) and z i d ( 0 ) = 0 3 , i { 1 , , h } .
Lemma 2 establishes the convergence properties of the SMD (35).
Lemma 2 
([31]). Consider the SMD of Equation (35). For any given Λ h d satisfying
Λ h d 1 3 > 1 3 ,
there exists a set of positive-definite diagonal matrices { Λ 0 d , , Λ h 1 d } that provides the finite-time convergence of z 0 d and z i d , respectively, to σ and σ ( i ) , i 1 , , h .
Then, since σ ( i ) = f r d ( i 1 ) and z i d σ ( i ) , i { 1 , , h } , the estimate of the disturbance force and its time derivatives are simply given by
f ^ r d ( i 1 ) = z i d , i { 1 , , h } .
The proposed SMDO is represented by Equations (33)–(36) and exhibits low sensitivity to parameter variations, making it easy to tune. The tuning trade-off is that the larger the gains Λ j d , the faster the convergence and the higher the sensitivity to measurement noise, time discretization, and unmodeled dynamics [31].
Substituting the control law (32) into (31), the closed-loop position dynamics can be described by
v ˜ ˙ = K 2 r ˜ K 3 v ˜ + m 1 f r d f ^ r d .
Given the disturbance force bound of Assumption 4, it holds that the disturbance estimation error is bounded during the SMDO (33)–(36) convergence phase and vanishes after a finite time. Then, the origin ( r ˜ , v ˜ ) = ( 0 3 , 0 3 ) of the system described by (30) and (37) can be made asymptotically stable by suitably choosing the gains K 2 and K 3 .
Now, to satisfy the smoothness requirement for n ¯ r as discussed in Remark 1, f ¯ r c  must have the same smoothness degree. Regarding the smoothness of f ¯ r c , consider the following remark.
Remark 2. 
For the control force command f ¯ r c to be ( h 1 ) th-order differentiable with respect to time and have a Lipschitz-continuous first-time derivative, it can be seen from (32) that, since f ^ r d already satisfies this requirement (see (33)–(36)), the acceleration command v ¯ ˙ r b / r must have the same smoothness degree. Such a command will be properly generated by the guidance strategy presented in Section 4.
Once we have fulfilled the smoothness requirement of D ¯ b / r by properly designing ψ ¯ and f ¯ r c , the initial conditions D ¯ b / r ( 0 ) = D b / r ( 0 ) and ω ¯ b b / r ( 0 ) = ω b b / r ( 0 ) of Assumption 2 must also be assured. Consider the initial conditions D b / r ( 0 ) , ω b b / r ( 0 ) , and the initial total thrust magnitude f ( 0 ) . The latter is generally not available for measurement, but, from Assumption 1, we can replace f ( 0 ) with f ¯ ( 0 ) . From (25)–(27), it can be seen that, by choosing ψ ¯ ( 0 ) = ψ ( 0 ) and n ¯ r ( 0 ) = n r ( 0 ) , it holds that D ¯ b / r ( 0 ) = D b / r ( 0 ) . The condition n ¯ r ( 0 ) = n r ( 0 ) is satisfied if f ¯ r c ( 0 ) = f ¯ ( 0 ) n r ( 0 ) . Therefore, by choosing r ¯ r b / r ( 0 ) = r r b / r ( 0 ) and v ¯ r b / r ( 0 ) = v r b / r ( 0 ) , given that f ^ r d ( 0 ) = 0 3 , the initial acceleration command v ¯ ˙ r b / r ( 0 ) that makes f ¯ r c ( 0 ) = f ¯ ( 0 ) n r ( 0 ) and consequently n ¯ r ( 0 ) = n r ( 0 ) can be calculated from (32) as
v ¯ ˙ r b / r ( 0 ) = f ¯ ( 0 ) n r ( 0 ) m g e 3 .
In summary, by calculating v ¯ ˙ r b / r ( 0 ) according to (38) and choosing ψ ¯ ( 0 ) = ψ ( 0 ) , we indirectly ensure that D ¯ b / r ( 0 ) = D b / r ( 0 ) .
The relation between the 1-2-3 Euler angles α b / r ( ϕ , θ , ψ ) that parameterize D b / r and the angular velocity ω b b / r is
α ˙ b / r = A α α b / r ω b b / r ,
where
A α cos ( ψ ) cos ( θ ) sin ( ψ ) cos ( θ ) 0 sin ( ψ ) cos ( ψ ) 0 cos ( ψ ) tan ( θ ) sin ( ψ ) tan ( θ ) 1 .
From (39), it can be seen that, since D ¯ b / r ( 0 ) = D b / r ( 0 ) , by making α ¯ ˙ b / r ( 0 ) = α ˙ b / r ( 0 ) , we have that ω ¯ b b / r ( 0 ) = ω b b / r ( 0 ) . The equality α ¯ ˙ b / r ( 0 ) = α ˙ b / r ( 0 ) holds true if ψ ¯ ˙ ( 0 ) = e 3 T A α ( α b / r ( 0 ) ) ω b b / r ( 0 ) , θ ¯ ˙ ( 0 ) = θ ˙ ( 0 ) , and ϕ ¯ ˙ ( 0 ) = ϕ ˙ ( 0 ) . However, it can be seen from (26) and (27) that θ ¯ ˙ ( 0 ) = θ ˙ ( 0 ) and ϕ ¯ ˙ ( 0 ) = ϕ ˙ ( 0 ) hold true if n ¯ ˙ r ( 0 ) = n ˙ r ( 0 ) . The initial condition n ˙ r ( 0 ) is known and can be calculated from the definition of n r , given immediately after Equation (7), using D b / r ( 0 ) and ω b b / r ( 0 ) . Therefore, the equality n ¯ ˙ r ( 0 ) = n ˙ r ( 0 ) must be ensured by the position control law. Knowing that n ¯ r = f ¯ r c / f ¯ r c , n ¯ ˙ r ( 0 ) can be calculated in terms of the initial control force command as
n ¯ ˙ r ( 0 ) = Φ 0 f ¯ ˙ r c ( 0 ) ,
where
Φ 0 I 3 f ¯ r c ( 0 ) f ¯ r c ( 0 ) f ¯ r c ( 0 ) T f ¯ r c ( 0 ) 3 .
The time derivative of the control force command f ¯ ˙ r c ( 0 ) can be calculated by differentiating (32) and using (37). The resulting expression is
f ¯ ˙ r c ( 0 ) = m v ¯ ¨ r b / r ( 0 ) K 3 f r d ( 0 ) .
Substituting (41) into (40), one can see that the initial jerk command v ¯ ¨ r b / r ( 0 ) that makes n ¯ ˙ r ( 0 ) = n ˙ r ( 0 ) is
v ¯ ¨ r b / r ( 0 ) = Φ 0 1 n ˙ r ( 0 ) m + K 3 f r d ( 0 ) .
By calculating v ¯ ¨ r b / r ( 0 ) according to (42) and choosing ψ ¯ ˙ ( 0 ) = e 3 T A α ( α b / r ( 0 ) ) ω b b / r ( 0 ) , we ensure that ω ¯ b b / r ( 0 ) = ω b b / r ( 0 ) . However, the initial disturbance force f r d ( 0 ) appearing on the right-hand side of (42) is unknown. To deal with this lack of information, we gradually increase the derivative gain K 3 from K 3 ( 0 ) = 0 3 .
The adaptation of K 3 must be quick enough to provide good performance to the position control loop. To guarantee the position control smoothness (see Remark 1), the adaptive gain K 3 must be ( h 1 ) th-order differentiable with respect to time, such that its first-time derivative is Lipschitz. To achieve this, we increase K 3 ( t ) during a prescribed time t s R > 0 according to
K 3 ( t ) = K ¯ 3 K ¯ 3 t s h ( t s t ) h I [ 0 , t s ) ( t ) ,
where K ¯ 3 R 3 × 3 is a positive-definite diagonal matrix corresponding to the final desired value of K 3 , and I [ 0 , t s ) ( t ) is an indicator function that is equal to one if t [ 0 , t s ) and equal to zero otherwise.

3.4. Control Allocation

The control allocation calculates f ¯ r from f ¯ and τ ¯ b c as a solution to the control allocation Equation [35]:
f ¯ τ ¯ b c = Γ f ¯ r .
Assuming that the rotor set is configured in such a way that Γ is always of full-row rank, i.e., rank ( Γ ) = 4 , the solution of (44) is unique when n r = 4 and is simply calculated by inverting Γ . For n r > 4 , a simple solution can also be obtained, but now using the pseudo-inverse method [40].

4. Guidance Design

Consider that the MAV flies among n o Z > 0 obstacles and define a set I containing the identification of the obstacles. Moreover, consider a point C i fixed to the center of mass of obstacle i I and denote its position and velocity by r r i / r R 3 and v r i / r R 3 , respectively.
To guarantee the smoothness requirement of ψ ¯ and r ¯ r b / r as discussed in Remarks 1 and 2, the proposed guidance algorithm generates these commands using reference filters, as depicted in Figure 4. The heading reference filter is designed using an overdamped LPF to make ψ ¯ converge smoothly to a target heading ψ * ( π , π ] provided by the CCO method. Similarly, the position reference filter consists of an overdamped LPF to make v ¯ r b / r smoothly converge to a target velocity v r * R 3 , also given by the CCO, and an integrator for calculating r ¯ r b / r . We assume that the MAV is aware of the obstacles’ position and velocity O r r i / r , v r i / r , i I . Then, to avoid collision with accelerated obstacles, we use a high-order SMD [31] to provide an estimate of the acceleration of obstacle i, denoted by z 1 i R 3 , from observations of v r i / r . In summary, the CCO receives the desired position r ˇ r b / r and the desired heading ψ ˇ as input and the MAV states r r b / r , v r b / r , D b / r , and ω b b / r , as well as z 1 i , i I , and O , as feedback. Using this information, it chooses v r * and ψ * aiming at avoiding collisions with the obstacles and respecting the linear velocity constraint (10) and the rotor thrust constraint (11).
The heading reference filter consists of a hth-order overdamped LPF to guarantee the necessary smoothness of ψ ¯ and ensure that it has no overshoot with respect to the input ψ * . This reference filter can be represented by the state-space model
y ˙ ψ = E y ψ + F ψ * ,
where y ψ ψ ¯ , ψ ¯ ˙ , , ψ ¯ ( h 1 ) R h , F 0 h 1 , τ ψ h R h , τ ψ R > 0 is a time constant, and
E 0 h 1 × 1 I h 1 E 1 E 2 E h R h × h , E k + 1 h ! k ! ( h k ) ! τ ψ ( h k ) , k { 0 , 1 , , h 1 } .
The initial heading and heading rate commands are set equal to the respective MAV initial conditions, while the remaining filter states are set equal to zero, i.e.,
y ψ ( 0 ) ψ ( 0 ) , ψ ˙ ( 0 ) , 0 , , 0 .
It is worth noting that the target heading ψ * ( t ) given by the CCO may be discontinuous [16]. Then, designing the heading reference filter using an LPF of order h guarantees that ψ ¯ is minimally ( h 1 ) -times differentiable with respect to time and has a Lipschitz-continuous first-time derivative. As a result, the smoothness requirement for ψ ¯ can be satisfied.
Similarly, to guarantee the necessary smoothness of v ¯ ˙ r b / r , the position reference filter is designed using an overdamped LPF of order h + 1 and an integrator, being represented by the state-space model
y ˙ p = A y p + B v r * ,
where y p r ¯ r b / r , r ¯ ˙ r b / r , , r ¯ r b / r ( h + 1 ) R 3 ( h + 2 ) ,
B 0 3 × 3 ( h + 1 ) I 3 τ p ( h + 1 ) T R 3 ( h + 2 ) × 3 ,
τ p R > 0 is a time constant, and
A 0 3 ( h + 1 ) × 3 I 3 ( h + 1 ) 0 3 × 3 A 1 A 2 A h + 1 R 3 ( h + 2 ) × 3 ( h + 2 ) , A k + 1 ( h + 1 ) ! k ! ( h + 1 k ) ! I 3 τ p ( h + 1 k ) , k { 0 , 1 , , h } .
The initial position and velocity commands are set equal to the corresponding MAV initial conditions, while the remaining states of the filter are set equal to zero, i.e.,
y p ( 0 ) r r b / r ( 0 ) , v r b / r ( 0 ) , 0 3 , , 0 3 .
Analogous to ψ * , the target velocity v r * ( t ) calculated by the CCO may be discontinuous [16]. Then, by using an LPF of order h + 1 , we guarantee that the acceleration command v ¯ ˙ r b / r is minimally ( h 1 )-times differentiable with respect to time and has a Lipschitz-continuous first-time derivative. As a result, the smoothness requirement of v ¯ ˙ r b / r is satisfied.
From the choice of y p ( 0 ) , we have that r ˜ ( 0 ) = 0 3 and v ˜ ( 0 ) = 0 3 . Therefore, by properly designing the position control law (32), r ˜ and v ˜ can be limited, respectively, as
r ˜ ( t ) ϵ r ,
v ˜ ( t ) ϵ v ,
where ϵ r R 0 and ϵ v R 0 can be chosen as time-dependent functions. It is worth noting that ϵ r and ϵ v cannot be analytically calculated, but they can be approximated from numerical simulations of the position closed-loop system (30) and (37) using a great amount of values of the disturbance force inside the bounds provided in Assumption 4.
Assume that obstacle i and the MAV can be contained, respectively, in the closed spheres B C i , ρ i and B B , ρ b , where ρ i R > 0 and ρ b R > 0 are of a given radius. Therefore, a collision between the MAV and obstacle i is assumed to take place if and only if
r r b / r ( t ) r r i / r ( t ) ρ b i ,
where ρ b i ρ b + ρ i .
Using the position error bound (49) and the position error definition (28), condition (51) can be tightened to obtain
r ¯ r b / r ( t ) r r i / r ( t ) ρ b i + ϵ r ,
whose satisfaction implies that condition (51) is true.
To prevent collisions, the adopted strategy is to avoid satisfying (52) in a future time horizon of finite length τ R > 0 . To this end, we must predict r ¯ r b / r ( t ) and r r i / r ( t ) inside the time interval [ t 0 , t 0 + τ ] , where t 0 R 0 is the current time. By using the length τ , we only consider the obstacles that can cause imminent collisions, i.e., collisions that can occur inside [ t 0 , t 0 + τ ] . This can be effective to reduce the computational burden when there are many obstacles. However, the parameter τ must be chosen based on the physical bounds of the obstacles’ trajectories and the MAV dynamics in such a way that the MAV can avoid a collision when it is detected as imminent.
From (47), one can see that the future values of r ¯ r b / r are unknown once they depend on the future values of v r * , which are calculated in real time by the CCO and dependent on the unknown future behavior of the obstacles. In this context, we predict r ¯ r b / r on the time interval [ t 0 , t 0 + τ ] by considering v r * as a constant. Therefore, to support the forthcoming derivations, Lemma 3 provides a unique solution to (47) with a given initial condition y p ( t 0 ) , while considering v r * as a constant.
Lemma 3. 
Considering v r * as a constant input, the solution of (47) in t [ t 0 , ) with initial condition y p ( t 0 ) is given by
y p ( t ) = e A δ t y p ( t 0 ) + G ( δ t ) v r * ,
where δ t t t 0 ,
G ( δ t ) I 3 ( h + 2 ) 0 3 ( h + 2 ) × 3 e A ¯ δ t 0 3 × 3 ( h + 2 ) I 3 T ,
A ¯ A B 0 3 × 3 ( h + 2 ) 0 3 × 3 R 3 ( h + 3 ) × 3 ( h + 3 ) .
Proof. 
See Appendix A.    □
Considering v r * as a constant input, the predicted values of the MAV position command r ¯ r b / r ( t ) , which we denote by r ¯ ^ r b / r ( t ) R 3 , can be obtained from (53) as
r ¯ ^ r b / r ( t ) = C 1 e A δ t y p ( t 0 ) + G 1 ( δ t ) v r * ,
where G 1 ( δ t ) C 1 G ( δ t ) and C 1 [ I 3 0 3 × 3 ( h + 1 ) ] R 3 × 3 ( h + 2 ) .
The earlier VO-based approaches generally assume that the obstacles keep a constant velocity. In practice, however, this assumption only ensures collision avoidance against obstacles with low acceleration capacity or under a large τ . Here, instead of predicting the obstacles’ trajectories using a first-order approximation, we consider a set of possible future trajectories for the obstacles based on estimates of their acceleration bounds calculated from z 1 i provided by the SMD. In this context, the predicted position r ^ r i / r R 3 of obstacle i inside the time interval [ t 0 , t 0 + τ ] belongs to
R i r ( t ) = r r i / r ( t 0 ) + δ t v r i / r ( t 0 ) + a ^ i max ϑ δ t 2 2 , δ t [ 0 , τ ] , ϑ B 0 3 , 1 ,
where a ^ i max R 0 is a bound estimate of obstacle i acceleration.
Let v r i / r be n-times differentiable with respect to time, where n 1 , such that v r i / r ( n ) has a known Lipschitz constant vector γ i > 0 3 . Define a vector γ R 3 such that γ > γ i , i I . To estimate the obstacle i acceleration, we use the high-order SMD [11,31]
z ˙ 0 i = w 0 i , w 0 i = Λ 0 Ψ ( γ ) 1 / ( n + 1 ) Ψ ( | z 0 i v r i / r | ) n / ( n + 1 ) sign ( z 0 i v r i / r ) + z 1 i , z ˙ 1 i = w 1 i , w 1 i = Λ 1 Ψ ( γ ) 1 / n Ψ ( | η 1 i | ) ( n 1 ) / n sign ( η 1 i ) + z 2 i , z ˙ n 1 i = w n 1 i , w n 1 i = Λ n 1 Ψ ( γ ) 1 / 2 Ψ ( | η n 1 i | ) 1 / 2 sign ( η n 1 i ) + z n i , z ˙ n i = Λ n Ψ ( γ ) sign ( η n i ) ,
where η k i z k i w k 1 i , with k { 1 , , n } ; Λ j R 3 × 3 is a positive-definite diagonal matrix, with j 0 , , n ; and Ψ ( | · | ) diag ( | · | ) maps a vector into a diagonal matrix. The SMD (56) initial conditions are set to z 0 i ( 0 ) = v r i / r ( 0 ) and z j i ( 0 ) = 0 3 , j { 1 , , n } .
Lemma 4 
([31]). Consider the SMD (56). For any Λ n satisfying
Λ n 1 3 > 1 3 ,
there exists a set of positive-definite diagonal matrices { Λ 0 , , Λ n 1 } that provides the finite-time convergence of z k i to v i ( k ) , k 0 , , n and i I .
Note that, before the differentiator (56)’s convergence time, denoted by t c i R > 0 , there is no accurate information about the acceleration bound of obstacle i. In this context, we choose to calculate a ^ i max as
a ^ i max ( t ) max t c i δ t z 1 i ( δ ) t t c i , z 1 i ( t ) t < t c i .
According to (57), before t c i , a ^ i max is converging according to the SMD (56), and after t c i , by maximizing z 1 i over the time interval [ t c i , t ] , a ^ i max becomes an accurate estimate of obstacle i’s acceleration bound inside the considered time interval. However, since t c i is difficult to calculate without conservativeness, a very intuitive choice to approximate it is by verifying when the SMD states enter a small neighborhood of the sliding manifold, i.e., when
z 0 i v r i / r + η 1 i + + η n i < α ,
where α R > 0 is satisfied.
Using r ¯ ^ r b / r ( t ) and r ^ r i / r ( t ) given, respectively, by (54) and (55), the collision condition (52) can be further tightened to obtain
G 1 ( δ t ) v r * c i ( δ t ) a ^ i max ϑ δ t 2 2 ρ b i + ϵ r ,
where c i ( δ t ) C 1 e A δ t y p ( t 0 ) + r r i / r ( t 0 ) + δ t v r i / r ( t 0 ) . In turn, we can also notice that the collision condition (59) is always satisfied if
G 1 ( δ t ) v r * c i ( δ t ) ρ b i + ( δ t ) ,
where ρ b i + ( δ t ) ρ b i + ϵ r + a ^ i max δ t 2 2 .
From the definition of G 1 ( δ t ) , one can see that it is nonsingular δ t > 0 . Then, by multiplying both sides of (60) by G 1 1 ( δ t ) , it can be shown that (60) is satisfied if
v r * G 1 1 ( δ t ) c i ( δ t ) G 1 1 ( δ t ) ρ b i + ( δ t ) .
Now, using (61), define a set of target velocities v r * that may result in a collision with obstacle i within ( t 0 , t 0 + τ ] as
CCO b i τ 0 < δ t τ B G 1 1 ( δ t ) c i ( δ t ) , G 1 1 ( δ t ) ρ b i + ( δ t ) .
Therefore, the set of target velocities v r * that may result in a collision with any obstacle within ( t 0 , t 0 + τ ] is given by
CCO b τ i I CCO b i τ .
In other words, we can guarantee collision avoidance against accelerated obstacles by merely continuously choosing v r * CCO b τ , thus satisfying the position constraint (9).
To consider the linear velocity constraint (10), we can rewrite it in terms of the target velocity v r * . To this end, note that, given the choice of y p ( 0 ) in (48) and the design of the position reference filter (47) using the adopted overdamped LPF, v ¯ r b / r presents no overshoot relative to the input v r * . Consequently, by choosing v r * V , we guarantee that v ¯ r b / r V since V is a convex set. Then, from the velocity tracking error definition (29) and bound (50), one can see that by choosing
v r * V B 0 3 , ϵ v ,
it holds that v r b / r V , thus respecting the velocity constraint (10). Then, the position and velocity constraints (9) and (10) can be respected by continuously choosing
v r * V R V B 0 3 , ϵ v CCO b τ .
It should be noted that the set V R is generally non-convex.
On the other hand, to account for the rotor thrust constraint (11), it can be seen from the control allocation Equation (8) and Assumption 1 that (11) results in the following control command constraints:
f ¯ τ ¯ b c U ,
where U ν R n r | ν = Γ f r , f r F .
Knowing that f ¯ = f ¯ r c and the attitude control loop has an integral sliding mode, i.e., D b / r D ¯ b / r and ω b b / r ω ¯ b b / r , by substituting the control torque command (23) and the control force command (32) into (64), we obtain
g e 3 + v ¯ ˙ r b / r K 2 r ˜ K 3 v ˜ m 1 f ^ r d ω ¯ ˙ b b / r J b 1 J b ω ¯ b b / r × ω ¯ b b / r 2 K 1 sign ( s ) H U ,
where
H m 1 0 1 × 3 0 3 × 3 J b 1 .
To respect the rotor thrust constraint (11), our strategy is to guarantee the satisfaction of (65) in the time horizon τ . To this end, we have to predict the left side of (65). However, note that we cannot predict the terms K 2 r ˜ , K 3 v ˜ , and f ^ r d . In this sense, using the tracking error bounds (49) and (50), Assumption 4, and the definition of sign ( s ) , condition (65) can be tightened to obtain
v ¯ ˙ r b / r + g e 3 ω ¯ ˙ b b / r J b 1 J b ω ¯ b b / r × ω ¯ b b / r H U Δ F K 1 ,
where K 1 γ R 3 | | γ | = 2 K 1 1 3 and
Δ F x R | | x | K 2 ϵ r + K 3 ϵ v + m 1 f max .
A prediction for v ¯ ˙ r b / r inside the time interval t 0 , t 0 + τ can be directly obtained from (53). On the other hand, a prediction for ω ¯ b b / r cannot be exactly obtained. To support this statement, note that for the considered class of underactuated MAVs, the angular velocity command is given by
ω ¯ b b / r = e 3 × D ¯ b / r n ¯ ˙ r + ψ ¯ ˙ e 3 .
Then, note that D ¯ b / r depends on n ¯ r (see (25)–(27)), which is a unit vector that has the same direction and orientation of the control force command f ¯ r c (see (12)). However, it can be seen from (32) that f ¯ r c cannot be exactly predicted since the future values of the terms K 2 r ˜ , K 3 v ˜ , and f ^ r d are unknown. As a result, we cannot obtain an exact prediction for ω ¯ b b / r inside [ t 0 , t 0 + τ ] .
On the basis of the above discussion, n ¯ r can be rewritten in terms of a nominal part n ¯ r n R 3 and an unknown part Δ n ¯ r R 3 , i.e.,
n ¯ r = n ¯ r n + Δ n ¯ r ,
where n ¯ r n v ¯ ˙ r b / r + g e 3 v ¯ ˙ r b / r + g e 3 .
Using (68), Equation (67) can be rewritten as
ω ¯ b b / r = ω ¯ b n + Δ ω ¯ b ,
where ω ¯ b n e 3 × D ¯ b / r , n n ¯ ˙ r n + ψ ¯ ˙ e 3 , being D ¯ b / r , n calculated in the same way as D ¯ b / r in (25) but considering n ¯ r n instead of n ¯ r , and Δ ω ¯ b R 3 is an unknown part.
Substituting (69), condition (66) can be rewritten as
v ¯ ˙ r b / r + g e 3 ω ¯ ˙ b n J b 1 J b ω ¯ b n × ω ¯ b n + δ ω ¯ H U Δ F K 1 ,
where
δ ω ¯ Δ ω ¯ ˙ b J b 1 J b Δ ω ¯ b × ω ¯ b b / r J b 1 J b ω ¯ b n × Δ ω ¯ b .
Considering that δ ω ¯ Δ W ¯ , condition (70) can be tightened one last time to obtain
v ¯ ˙ r b / r + g e 3 ω ¯ ˙ b n J b 1 J b ω ¯ b n × ω ¯ b n H U Δ U ,
where
Δ U Δ F K 1 Δ W ¯ .
Regarding the set Δ W ¯ , consider the following remark.
Remark 3. 
An analytic expression for Δ ω ¯ b is difficult to obtain since the relation between D ¯ b / r and n ¯ r is strongly nonlinear (see (25)–(27)). Consequently, it is complex to obtain an analytical expression for the set Δ W ¯ . Therefore, we approximate it based on computer simulations.
Now, we are able to predict the left side of (71) inside the time interval [ t 0 , t 0 + τ ] . In this sense, let us rewrite (71) in terms of the predicted values for each variable, i.e.,
a ¯ ^ r b / r + g e 3 ω ¯ ^ ˙ b n J b 1 J b ω ¯ ^ b n × ω ¯ ^ b n H U Δ U ,
where a ¯ ^ r b / r R 3 and ω ¯ ^ b n R 3 are, respectively, the predictions of v ¯ ˙ r b / r and ω ¯ b n inside [ t 0 , t 0 + τ ] .
The acceleration command prediction a ¯ ^ r b / r can be obtained from (53) using the same strategy adopted to predict the position command r ¯ r b / r ( t ) , i.e., considering v r * as a constant input inside the time interval [ t 0 , t 0 + τ ] , yielding
a ¯ ^ r b / r ( t ) = C 3 e A δ t y p ( t 0 ) + G 3 ( δ t ) v r * ,
where G 3 ( δ t ) C 3 G ( δ t ) and C 3 [ 0 3 × 6 I 3 0 3 × 3 ( h 1 ) ] R 3 × 3 ( h + 2 ) .
On the other hand, note that the angular velocity prediction ω ¯ ^ b n can be calculated by differentiating D ¯ b / r , n with respect to time. Here, we choose to predict D ¯ b / r , n ( t ) inside the interval [ t 0 , t 0 + τ ] using the Euler angles 1-2-3 parameterization, denoted by α ¯ ^ b / r ( t ) ( ϕ ¯ ^ ( t ) , θ ¯ ^ ( t ) , ψ ¯ ^ ( t ) ) . The prediction of the heading command ψ ¯ ^ is obtained by adopting the same strategy used to predict r ¯ r b / r ( t ) and v ¯ ˙ r b / r ( t ) , i.e., considering ψ * as a constant input. Under this assumption, ψ ¯ ^ ( t ) can be calculated from the actual time instant t 0 by solving Equation (45), yielding
ψ ¯ ^ ( t ) = C 1 ψ e E δ t y ψ ( t 0 ) + C 1 ψ E 1 e E δ t I h F ψ * ,
where C 1 ψ 1 , 0 1 × ( h 1 ) .
The predictions ϕ ¯ ^ and θ ¯ ^ inside [ t 0 , t 0 + τ ] can be obtained from Equations (26) and (27) and the definition of n ¯ r n given after (68), being given by
ϕ ¯ ^ = tan 1 e 2 T n ¯ ^ r n e 3 T n ¯ ^ r n , θ ¯ ^ = sin 1 ( e 1 T n ¯ ^ r n ) ,
where
n ¯ ^ r n = a ¯ ^ r b / r + g e 3 a ¯ ^ r b / r + g e 3 ,
being a ¯ ^ r b / r the acceleration command prediction defined in Equation (73). Then, the angular velocity prediction ω ¯ ^ b n can be immediately calculated by
ω ¯ ^ b n = A α α ¯ ^ ˙ b / r ,
where
A α cos ( θ ¯ ^ ) cos ( ψ ¯ ^ ) sin ( ψ ¯ ^ ) 0 sin ( ψ ¯ ^ ) cos ( θ ¯ ^ ) cos ( ψ ¯ ^ ) 0 sin ( θ ¯ ^ ) 0 1 .
The angular acceleration prediction ω ¯ ^ ˙ b n is simply obtained by differentiating (75) with respect to time.
The continuous selection of v r * and ψ * such that condition (72) is satisfied in [ t 0 , t 0 + τ ] guarantees the satisfaction of the control command constraints (64) and, consequently, the rotor thrust constraint (11).
Lastly, to completely solve Problem 1, we formulate a bilevel optimization problem [41] that calculates v r * and ψ * , giving priority to collision avoidance. In this sense, we compute v r * and ψ * as the solution of the following minimization that aims to satisfy the linear velocity and rotor thrust constraints, respectively, given by (10) and (11), and make the MAV reach its desired position r ˇ r b / r and desired heading ψ ˇ without collision:
v r * , ψ * = arg min ν , β v pref ν s . t . ν V R , β Z ,
where v pref R 3 is a preferred velocity and Z is the set of solutions to the ν -parameterized problem
min z ( π , π ] | ψ ˇ z | s . t . U ^ ( t ; ν , z ) H U Δ U , t ( t 0 , t 0 + τ ] ,
with
U ^ ( t ; ν , β ) a ¯ ^ r b / r ( t ; ν ) + g e 3 ω ¯ ^ ˙ b n ( t ; ν , z ) J b 1 J b ω ¯ ^ b n ( t ; ν , z ) × ω ¯ ^ b n ( t ; ν , z ) .
Here, v pref is a vector that points to r ˇ r b / r and has a magnitude equal to the maximum admissible velocity in this direction. To provide a smooth deceleration phase, the magnitude of v pref is gradually decreased according to the remaining distance when the vehicle is near r ˇ r b / r . However, we highlight that the design of v pref can be done using other strategies [26,42].
When obstacles are present, the set V R is generally non-convex and can even become empty in very dense scenarios. In this case, it is appropriate to choose a target velocity and heading that result in the largest time to collide, while respecting constraints (10) and (11). The shortest time for a collision to occur, denoted by t col R > 0 , as a result of choosing a certain target velocity ν is given by
t col ν = min 0 < δ τ δ s . t . ν CCO b δ .
Therefore, in case there is no solution to (76), i.e., V R = , we propose to choose the target velocity and heading that imply the largest t col , while respecting constraints (10) and (11), i.e.,
v r * , ψ * = arg max ν , β t col ν s . t . ν V B 0 3 , ϵ v , β Z .
In general, finding the global minima of a non-convex optimization problem, such as the one in (76), is computationally intensive. Attempting to reduce the computational burden, we approximate the solution of (76) using a fixed number of velocity samples calculated from a uniform distribution over V B 0 3 , ϵ v and creating an equally spaced fixed number of heading angle samples inside the interval ( π , π ] . When (76) has no solution, we use the same sampling strategy to solve the optimization problem (77). Algorithm 1 is proposed to solve (76) or (77).
Algorithm 1: Proposed sampling algorithm to solve the optimization problem (76) (or (77) if (76) has no solution)
Data:
n v number of velocity samples
n ψ number of heading angle samples
v pref preferred velocity
ψ ˇ desired heading
CCO b τ CCO b i τ , i I
H U Δ U admissible set
Result:
V * a set of n v random samples inside V B 0 3 , ϵ v
V o * sort V * in ascending cost order
A * a set of n ψ equally spaced samples inside ( π , π ]
A o * sort A * in ascending cost order
k 0
Drones 07 00611 i001
return the pair v , ψ that implies the largest t col
Algorithm 1 generates n v random velocity samples inside V B 0 3 , ϵ v and n ψ equally spaced samples inside ( π , π ] , sorting them in ascending cost order. Then, it sequentially checks that each velocity sample does not result in a collision, i.e., if it does not belong to CCO b τ . When a velocity sample is collision-free, the algorithm tries to choose a heading sample that, given this collision-free velocity, respects the rotors’ thrust constraints. If such heading exists, the algorithm returns the corresponding pair of velocity and heading samples. On the other hand, when a velocity sample is not collision-free, the algorithm tries to choose a heading sample that respects the rotors’ thrust constraints and, if such heading exists, it calculates the time to collision for this particular pair of samples. Then, in the event that any velocity sample is free of collision, the algorithm returns the pair of samples that results in the minimum time to collision and respects the velocity and rotors’ thrust constraints. For this case, the main for loop in Algorithm 1 iterates n v times and, within each iteration, the nested else condition is executed. On the other hand, when the first velocity sample in V o * is collision-free and there is a heading sample that, given this first velocity sample, respects the rotors’ thrust constraints, the main for loop is executed only one time.

5. Numerical Simulation

The effectiveness of the proposed method is evaluated in a numerical simulation implemented on the basis of the nonlinear equations of motion (1) and (4)–(8) and coded in MATLAB utilizing the first-order explicit Euler method with a sampling time of 0.01 s. The vehicle adopted for the simulation is an x-shaped quadcopter with a mass of 1 kg , arm length of 0.5 m, and inertia matrix J b = diag ( 0.015 , 0.015 , 0.03 ) kg m 2 .
The proposed method is compared with another one that uses the same control strategy and the original CCO [30] as the guidance strategy. To compare the methods, we conduct a Monte Carlo simulation where the quadcopter has an initial position ( 0 , 0 , 5 ) m, zero initial velocity, and has to go to the desired position ( 38 , 0 , 5 ) m, while avoiding collision with 270 quadcopters that are used to represent the obstacles, as depicted in Figure 5. The obstacles are arranged between the MAV’s initial and desired positions in thirty evenly spaced groups of nine. The kth group, where k { 1 , , 30 } , contains a static obstacle that has the randomly uniformly selected position offsets Δ y b , k [ 6 , 6 ] m and Δ z b , k [ 2 , 7 ] m relative to the line connecting the MAV’s initial and desired positions in the directions of y r and z r , respectively. The remaining obstacles are circularly and uniformly distributed in the plane y r z r and rotate around the static obstacle with a randomly uniformly selected radius ρ b , k [ 2 , 5 ] and angular velocity ω k [ 0.4 , 0.1 ] [ 0.1 , 0.4 ] x r .
The vehicle can be circumscribed by a sphere of radius 0.5 m, while all obstacles can be circumscribed by spheres of radius 0.7 m. The controlled quadcopter has the following linear velocity and rotor thrust admissible sets:
V v R 3 | v 5 , F f r R 4 | f i 1.25 , 4 , i { 1 , , 4 } .
Moreover, the vehicle is subject to the disturbances
f r d ( t ) = 0.25 [ 1 , 1 , 1 ] T sin ( 0.5 t ) N , τ b d ( t ) = 0.005 [ 1 , 1 , 1 ] T sin ( 0.5 t ) Nm .
Table 1 shows the adopted parameters for the proposed guidance and control strategies.
Moreover, we have used in Algorithm 1 a total of 800 target velocity samples calculated using a uniform distribution over V B 0 3 , ϵ v and 50 equally spaced target heading samples inside the interval ( π , π ] .
The MAV receives the desired heading signal (in degrees)
ψ ˇ ( t ) = 0 , if 0 t < 2 , 50 , if 2 t < 5 , 10 , if 5 t < 8 , 30 , if t 8 .
In order to conduct a more comprehensive analysis of the proposed method, we present in Figure 6 and Figure 7 the relevant results from a single iteration of the Monte Carlo simulation. A three-dimensional animation of this simulation is available at the following link: https://youtu.be/d7K4e6Ytn8M (accessed on 23 September 2023).
Figure 6a–c, respectively, show the distance between the quadcopter and the obstacles, the Euclidean norm of the quadcopter’s velocity and its bound, and the rotors’ thrust and their bounds. It can be seen that the proposed method guarantees the satisfaction of the position constraint (9), the linear velocity constraint (10), and the rotors’ thrust constraint (11), which demonstrates the effectiveness and robustness of the proposed method.
Figure 7 presents the position and attitude tracking performance as well as the force and torque control commands. In Figure 7a, it can be seen that the position commands are satisfactorily tracked despite the presence of the disturbance force. Figure 7b shows that the attitude commands are exactly tracked during the entire time despite the presence of the disturbance torque, thus confirming that by combining the proposed sliding mode attitude and smooth position control laws, an integral sliding mode exists in the attitude loop. This fact is also confirmed by Figure 8, which shows that the Euclidean norm of the attitude sliding variable s is restricted to a relatively small neighborhood of the origin during the entire time. Figure 7c and Figure 7d, respectively, show the force and torque control commands. These plots confirm the smoothness and the switching behavior of the force and torque control commands, respectively.

5.1. Monte Carlo Simulation

We have performed, for each method, 100 iterations of the above-described Monte Carlo simulation. For both methods, we have analyzed at each iteration whether collisions have occurred and their number. For the proposed method, we have also analyzed whether the linear velocity and rotors’ thrust constraints are satisfied. Table 2 shows the Monte Carlo simulation results. It presents, for both methods, the collision rate ( C R )
C R n c 100 ,
where n c Z 0 is the number of iterations where collisions have occurred, and it also shows the average number of collisions per iteration ( A C I )
A C I n col 100 C R ,
where n col Z 0 is the total number of collisions that have occurred in the 100 iterations. For the proposed method, Table 2 also shows the percentage of iterations in which the linear velocity and rotor thrust constraints are respected.
The results in Table 2 confirm the effectiveness of the proposed method in respecting the linear velocity and rotors’ thrust constraints. Moreover, one can see that, by observing the obstacles’ acceleration and considering the vehicle position tracking error bound ϵ r , the proposed method is more effective than the original CCO in preventing collisions. We emphasize that this is remarkable since the original CCO, by not considering the rotors’ thrust constraints, has more control force and torque available to avoid collisions. To support this statement, we also ran 100 iterations for the proposed method, disregarding the rotors’ thrust constraints. In this simulation, the proposed method had a C R = 0 % , demonstrating that the previous C R of 25% was only related to the inability to avoid collisions due to the control force and torque limitations imposed by the rotors’ thrust constraints.

5.2. Discussion

The results of the numerical simulations demonstrate the efficiency of the proposed method in guiding underactuated MAVs subject to model uncertainties/disturbances as well as velocity and rotors’ thrust constraints in the presence of obstacles that can accelerate. These results have practical importance given the recent growing interest in autonomous flight and the number of aircraft sharing the same air space. On the other hand, the performed simulation study, although comprehensive, did not consider sensor noise and inaccuracies. These uncertainties present in real-world scenarios could be immediately considered in the proposed strategy by suitably increasing the MAV tracking error bounds, the obstacles’ radii, and the guidance time horizon τ . Moreover, it is worth mentioning that the proposed formulation considers that the MAV and the obstacles can be enclosed by spheres. While this is not a significant limitation, as more complex shapes can be approximated using a collection of spheres [43], there are situations where employing this approach might lead to an increased level of complexity to represent the obstacles.

6. Conclusions

This paper proposes robust guidance and control methods for underactuated MAVs equipped with fixed rotors subject to model uncertainties/disturbances and linear velocity and rotor thrust constraints, in the presence of accelerated obstacles. The attitude and position control laws are designed using a hierarchical SMC scheme that enforces the attitude-position TSS. The former is designed using a multi-input ISMC strategy and the latter is designed using a proportional–derivative policy combined with an SMDO. On the other hand, the proposed guidance strategy is based on the CCO and designed using a constraint-tightening approach for robustness against uncertainties/disturbances and a high-order SMD to robustly estimate the maximum accelerations of the obstacles. A Monte Carlo numerical simulation was performed using a quadcopter to compare the proposed method with another one that uses the same attitude and position control design and the original CCO in the guidance level. The proposed guidance method outperformed the original CCO in avoiding collisions with moving obstacles that can accelerate and, additionally, has been shown to be very effective in respecting linear velocity and rotor thrust constraints. In future works, the proposed method can be evaluated experimentally and applied to other mobile robotics systems. Moreover, Algorithm 1 can be further improved in performance, aiming at its implementation in embedded systems.

Author Contributions

Methodology, J.A.R.J.; conceptualization, J.A.R.J. and D.A.S.; writing—original draft preparation, J.A.R.J.; writing—review and editing, J.A.R.J. and D.A.S.; supervision, D.A.S.; funding acquisition, D.A.S. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the São Paulo Research Foundation (FAPESP) under grant 2019/053340; the Coordination of Superior Level Staff Improvement (CAPES), EMBRAER S.A., and the Aeronautics Institute of Technology (ITA) under the doctorate scholarship of the Academic-Industrial Graduate Program (DAI); the National Council for Scientific and Technological Development (CNPq), under grant 304300/2021-7; and the Funding Authority for Studies and Projects (FINEP) under grant 01.22.0069.00.

Data Availability Statement

The data presented in this study are available on request from the corresponding author. The data are not publicly available due to privacy.

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:
AVOAcceleration Velocity Obstacles
CCOContinuous Control Obstacles
GSMCGlobal Sliding Mode Control
ISMCIntegral Sliding Mode Control
LPFLow-Pass Filter
LQRLinear Quadratic Regulator
MAVMultirotor Aerial Vehicle
NMPCNonlinear Model Predictive Control
PDProportional–Derivative
RRTRapidly Exploring Random Tree
SMCSliding Mode Control
SMDOSliding Mode Disturbance Observer
SMDSliding Mode Differentiator
TSSTime-Scale Separation
VOVelocity Obstacles

Appendix A

Proof of Lemma 3. 
The solution of the position reference filter differential Equation (47) is given by
y p ( t ) = e A δ t y p ( t 0 ) + t 0 t e A ( t τ ) B v r * d τ ,
where δ t t t 0 .
The integral present in (A1) cannot be directly calculated since matrix A is singular due to the position reference filter integrator. To analytically calculate (A1), we consider v r * as constant and define the vector y p a ( y p , v r * ) R 3 ( h + 3 ) . Therefore, using (47), we can write the dynamic model
y ˙ p a = A ¯ y p a ,
where
A ¯ A B 0 3 × 3 ( h + 2 ) 0 3 × 3 R 3 ( h + 3 ) × 3 ( h + 3 ) .
Then, the solution of (A2) is y p a ( t ) = e A ¯ δ t y p a ( 0 ) , where
e A ¯ δ t = e A δ t t 0 t e A ( t τ ) B d τ 0 3 × 3 ( h + 2 ) I 3 .
Using (A3), Equation (A1) can be rewritten as
y p ( t ) = e A δ t y p ( t 0 ) + G ( δ t ) v r * ,
where
G ( δ t ) I 3 ( h + 2 ) , 0 3 ( h + 2 ) × 3 e A ¯ δ t 0 3 ( h + 2 ) × 3 I 3 .
Thus, we complete the proof. □

References

  1. Singireddy, S.R.R.; Daim, T.U. Technology Roadmap: Drone Delivery—Amazon Prime Air. In Infrastructure and Technology Management: Contributions from the Energy, Healthcare and Transportation Sectors; Springer International Publishing: Cham, Switzerland, 2018; pp. 387–412. [Google Scholar]
  2. Rajendran, S.; Srinivas, S. Air taxi service for urban mobility: A critical review of recent developments, future challenges, and opportunities. Transp. Res. Part Logist. Transp. Rev. 2020, 143, 102090. [Google Scholar] [CrossRef]
  3. Santos, D.A.; Lagoa, C.M. Wayset-based guidance of multirotor aerial vehicles using robust tube-based model predictive control. ISA Trans. 2022, 128, 123–135. [Google Scholar] [CrossRef] [PubMed]
  4. Utkin, V.I. Sliding Modes in Control and Optimization; Springer: Berlin/Heidelberg, Germany, 1992. [Google Scholar]
  5. Drajunov, S.V.; Utkin, V.I. Sliding mode control in dynamic systems. Int. J. Control 1991, 55, 1029–1037. [Google Scholar] [CrossRef]
  6. Besnard, L.; Shtessel, Y.B.; Landrum, B. Quadrotor vehicle control via sliding mode controller driven by sliding mode disturbance observer. J. Frankl. Inst. 2012, 349, 658–684. [Google Scholar] [CrossRef]
  7. Muñoz Palacios, F.; Espinoza Quesada, E.S.; González, I.; Salazar, S.; Lozano, R. Robust Trajectory Tracking for Unmanned Aircraft Systems using a Nonsingular Terminal Modified Super-Twisting Sliding Mode Controller. J. Intell. Robot. Syst. 2019, 93, 55–72. [Google Scholar] [CrossRef]
  8. Silva, A.L.; Santos, D.A. Fast Nonsingular Terminal Sliding Mode Flight Control for Multirotor Aerial Vehicles. IEEE Trans. Aerosp. Electron. Syst. 2020, 56, 4288–4299. [Google Scholar] [CrossRef]
  9. Labbadi, M.; Cherkaoui, M. Robust adaptive nonsingular fast terminal sliding-mode tracking control for an uncertain quadrotor UAV subjected to disturbances. ISA Trans. 2020, 99, 290–304. [Google Scholar] [CrossRef]
  10. Wang, X.; Sun, S.; van Kampen, E.J.; Chu, Q. Quadrotor Fault Tolerant Incremental Sliding Mode Control driven by Sliding Mode Disturbance Observers. Aerosp. Sci. Technol. 2019, 87, 417–430. [Google Scholar] [CrossRef]
  11. Ricardo, J.A., Jr.; Santos, D.A. Smooth second-order sliding mode control for fully actuated multirotor aerial vehicles. ISA Trans. 2022, 129, 169–178. [Google Scholar] [CrossRef]
  12. Slotine, J.J.E. The Robust Control of Robot Manipulators. Int. J. Robot. Res. 1985, 4, 49–64. [Google Scholar] [CrossRef]
  13. Lu, Y.S.; Chen, J.S. Design of a global sliding-mode controller for a motor drive with bounded control. Int. J. Control 1995, 62, 1001–1019. [Google Scholar] [CrossRef]
  14. Utkin, V.; Shi, J. Integral sliding mode in systems operating under uncertainty conditions. In Proceedings of the 35th IEEE Conference on Decision and Control, Kobe, Japan, 11–13 December 1996; Volume 4, pp. 4591–4596. [Google Scholar]
  15. Bartoszewicz, A. Time-varying sliding modes for second-order systems. IEE Proc.—Control Theory Appl. 1996, 143, 455–462. [Google Scholar] [CrossRef]
  16. Ricardo, J.A., Jr.; Santos, D.A. Robot Guidance and Control Using Global Sliding Modes and Acceleration Velocity Obstacles. In Proceedings of the International Workshop on Variable Structure Systems and Sliding Mode Control, Rio de Janeiro, Brazil, 11–14 September 2022. [Google Scholar]
  17. Altug, E.; Ostrowski, J.; Mahony, R. Control of a quadrotor helicopter using visual feedback. In Proceedings of the 2002 IEEE International Conference on Robotics and Automation (Cat. No.02CH37292), Washington, DC, USA, 11–15 May 2002; Volume 1, pp. 72–77. [Google Scholar]
  18. Bertrand, S.; Guénard, N.; Hamel, T.; Piet-Lahanier, H.; Eck, L. A hierarchical controller for miniature VTOL UAVs: Design and stability analysis using singular perturbation theory. Control Eng. Pract. 2011, 19, 1099–1108. [Google Scholar] [CrossRef]
  19. Liu, H.; Bai, Y.; Lu, G.; Shi, Z.; Zhong, Y. Robust tracking control of a quadrotor helicopter. J. Intell. Robot. Syst. 2014, 75, 595–608. [Google Scholar] [CrossRef]
  20. Antonelli, G.; Cataldi, E.; Arrichiello, F.; Robuffo Giordano, P.; Chiaverini, S.; Franchi, A. Adaptive Trajectory Tracking for Quadrotor MAVs in Presence of Parameter Uncertainties and External Disturbances. IEEE Trans. Control. Syst. Technol. 2018, 26, 248–254. [Google Scholar] [CrossRef]
  21. Hou, Z.; Yu, X.; Lu, P. Terminal Sliding Mode Control for Quadrotors with Chattering Reduction and Disturbances Estimator: Theory and Application. J. Intell. Robot. Syst. 2022, 105, 1–21. [Google Scholar] [CrossRef]
  22. Fridman, L. Recent Achievement and Perspective Directions in Sliding Mode Control. In Proceedings of the 22st IFAC World Congress, Yokohama, Japan, 9–14 July 2023; pp. 1–5. [Google Scholar]
  23. Kamel, M.; Alonso-Mora, J.; Siegwart, R.; Nieto, J. Robust collision avoidance for multiple micro aerial vehicles using nonlinear model predictive control. In Proceedings of the 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, 24–28 September 2017; pp. 236–243. [Google Scholar]
  24. Pereira, J.C.; Leite, V.J.S.; Raffo, G.V. An ellipsoidal-polytopic based approach for aggressive navigation using nonlinear model predictive control. In Proceedings of the 2021 International Conference on Unmanned Aircraft Systems (ICUAS), Athens, Greece, 15–18 June 2021; pp. 827–835. [Google Scholar]
  25. Bouzid, Y.; Bestaoui, Y.; Siguerdidjane, H. Quadrotor-UAV optimal coverage path planning in cluttered environment with a limited onboard energy. In Proceedings of the 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, 24–28 September 2017; pp. 979–984. [Google Scholar]
  26. Fiorini, P.; Shiller, Z. Motion planning in dynamic environments using velocity obstacles. Int. J. Robot. Res. 1998, 17, 760–772. [Google Scholar] [CrossRef]
  27. Bareiss, D.; Van Den Berg, J. Reciprocal collision avoidance for robots with linear dynamics using LQR-Obstacles. In Proceedings of the 2013 IEEE International Conference on Robotics and Automation, Karlsruhe, German, 6–10 May 2013; pp. 3847–3853. [Google Scholar]
  28. Ricardo, J.A., Jr.; Santos, D.A. Robust Collision Avoidance for Mobile Robots in the Presence of Moving Obstacles. IEEE Control Syst. Lett. 2023, 7, 1584–1589. [Google Scholar] [CrossRef]
  29. Van Den Berg, J.; Snape, J.; Guy, S.J.; Manocha, D. Reciprocal collision avoidance with acceleration-velocity obstacles. In Proceedings of the IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011; pp. 3475–3482. [Google Scholar]
  30. Rufli, M.; Alonso-Mora, J.; Siegwart, R. Reciprocal Collision Avoidance With Motion Continuity Constraints. IEEE Trans. Robot. 2013, 29, 899–912. [Google Scholar] [CrossRef]
  31. Levant, A. Higher-order sliding modes, differentiation and output-feedback control. Int. J. Control 2003, 76, 924–941. [Google Scholar] [CrossRef]
  32. Levant, A. Sliding order and sliding accuracy in sliding mode control. Int. J. Control 1993, 58, 1247–1263. [Google Scholar] [CrossRef]
  33. Markley, F.L.; Crassidis, J.L. Fundamentals of Spacecraft Attitude Determination and Control; Space Technology Library; Springer: New York, NY, USA, 2014. [Google Scholar]
  34. Goldstein, H. Classical Mechanics; Addison-Wesley: Boston, MA, USA, 1980. [Google Scholar]
  35. Bezerra, J.A.; Santos, D.A. Optimal Exact Control Allocation for Under-Actuated Multirotor Aerial Vehicles. IEEE Control Syst. Lett. 2022, 6, 1448–1453. [Google Scholar] [CrossRef]
  36. Sakurama, K.; Verriest, E.I.; Egerstedt, M. Effects of insufficient time-scale separation in cascaded, networked systems. In Proceedings of the 2015 American Control Conference (ACC), Chicago, IL, USA, 1–3 July 2015; pp. 4683–4688. [Google Scholar]
  37. Bhat, S.P.; Bernstein, D.S. Finite-Time Stability of Continuous Autonomous Systems. SIAM J. Control. Optim. 2000, 38, 751–766. [Google Scholar] [CrossRef]
  38. Ricardo, J.A., Jr.; Santos, D.A. Attitude Tracking Control for a Quadrotor Aerial Robot Using Adaptive Sliding Modes. In Proceedings of the XLI Ibero-Latin-American Congress on Computational Methods in Engineering, Foz do Iguaçu, Brazil, 16–19 November 2020. [Google Scholar]
  39. Escareño, J.; Salazar, S.; Romero, H.; Lozano, R. Trajectory control of a quadrotor subject to 2D wind disturbances. J. Intell. Robot. Syst. 2013, 70, 51–63. [Google Scholar] [CrossRef]
  40. Ducard, G.; Hua, M.D. Discussion and practical aspects on control allocation for a multi-rotor helicopter. Int. Arch. Photogramm. Remote. Sens. Spat. Inf. Sci. 2011, 38, 95–100. [Google Scholar] [CrossRef]
  41. Sinha, A.; Malo, P.; Deb, K. A Review on Bilevel Optimization: From Classical to Evolutionary Approaches and Applications. IEEE Trans. Evol. Comput. 2018, 22, 276–295. [Google Scholar] [CrossRef]
  42. Van Den Berg, J.; Lin, M.; Manocha, D. Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation. IEEE Trans. Robot. 2007, 23, 834. [Google Scholar] [CrossRef]
  43. O’Rourke, J.; Badler, N. Decomposition of three-dimensional objects into spheres. IEEE Trans. Pattern Anal. Mach. Intell. 1979, 3, 295–305. [Google Scholar] [CrossRef]
Figure 1. A typical hierarchical guidance and control architecture for MAVs.
Figure 1. A typical hierarchical guidance and control architecture for MAVs.
Drones 07 00611 g001
Figure 2. The adopted CCSs and a general underactuated MAV equipped with n r fixed rotors parallel to z b .
Figure 2. The adopted CCSs and a general underactuated MAV equipped with n r fixed rotors parallel to z b .
Drones 07 00611 g002
Figure 3. Hierarchical control architecture for underactuated MAVs equipped with fixed rotors. ACG stands for attitude command generator.
Figure 3. Hierarchical control architecture for underactuated MAVs equipped with fixed rotors. ACG stands for attitude command generator.
Drones 07 00611 g003
Figure 4. Block diagram of the proposed guidance strategy.
Figure 4. Block diagram of the proposed guidance strategy.
Drones 07 00611 g004
Figure 5. Schematic illustration of the proposed Monte Carlo simulation scenario. (a) Overview of the scenario showing the MAV, its target position, and the groups of obstacles. (b) The kth group of obstacles in detail, where k { 1 , , 30 } .
Figure 5. Schematic illustration of the proposed Monte Carlo simulation scenario. (a) Overview of the scenario showing the MAV, its target position, and the groups of obstacles. (b) The kth group of obstacles in detail, where k { 1 , , 30 } .
Drones 07 00611 g005
Figure 6. Constraint plots for the proposed method. (a) Distance from the quadcopter to the obstacles. (b) Euclidean norm of the quadcopter velocity and its bound. (c) Rotors’ thrusts and their bounds.
Figure 6. Constraint plots for the proposed method. (a) Distance from the quadcopter to the obstacles. (b) Euclidean norm of the quadcopter velocity and its bound. (c) Rotors’ thrusts and their bounds.
Drones 07 00611 g006
Figure 7. Position tracking performance, attitude tracking performance, and control commands for the proposed method. (a) Position tracking performance. (b) Attitude tracking performance. (c) Control force command. (d) Control torque command. Legend: vector first component, vector second component, and vector third component.
Figure 7. Position tracking performance, attitude tracking performance, and control commands for the proposed method. (a) Position tracking performance. (b) Attitude tracking performance. (c) Control force command. (d) Control torque command. Legend: vector first component, vector second component, and vector third component.
Drones 07 00611 g007
Figure 8. Euclidean norm of the attitude sliding variable s .
Figure 8. Euclidean norm of the attitude sliding variable s .
Drones 07 00611 g008
Table 1. Parameters of the proposed method.
Table 1. Parameters of the proposed method.
Control LawVariableValue
Attitude control law K 1 diag(0.5, 0.5, 0.25)
C 5 I 3
h2
Position control law K 2 2.5 I 3
K ¯ 3 10 I 3
t s 0.2 s
Λ 0 p 4 I 3
Λ 1 p 2 I 3
Λ 2 p I 3
γ p I 3
Guidance method τ p 0.15 s
ϵ r 0.06 m
ϵ v 0.1 m/s
τ 5 s
n2
Λ 0 4 I 3
Λ 1 3 I 3
Λ 2 2 I 3
γ 1.5 I 3
τ ψ 0.2 s
Table 2. Monte Carlo simulation results for the proposed and original CCO methods. N/A: not applicable.
Table 2. Monte Carlo simulation results for the proposed and original CCO methods. N/A: not applicable.
ProposedOriginal CCO
C R 25%50%
A C I 2.161.74
Respected velocity constraint100%N/A
Respected rotor thrust constraint100%N/A
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

Ricardo Jr, J.A.; Santos, D.A. Robust Collision-Free Guidance and Control for Underactuated Multirotor Aerial Vehicles. Drones 2023, 7, 611. https://doi.org/10.3390/drones7100611

AMA Style

Ricardo Jr JA, Santos DA. Robust Collision-Free Guidance and Control for Underactuated Multirotor Aerial Vehicles. Drones. 2023; 7(10):611. https://doi.org/10.3390/drones7100611

Chicago/Turabian Style

Ricardo Jr, Jorge A., and Davi A. Santos. 2023. "Robust Collision-Free Guidance and Control for Underactuated Multirotor Aerial Vehicles" Drones 7, no. 10: 611. https://doi.org/10.3390/drones7100611

Article Metrics

Back to TopTop