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
,
, and
, respectively. In the same manner, the sets of integer numbers, positive integer numbers, and non-negative integer numbers are denoted by
,
, and
, respectively. Uppercase and lowercase boldface letters are used, respectively, to denote matrices and algebraic vectors, while geometric (Euclidean) vectors are denoted as in
. The symbols
and
denote, respectively, the
identity matrix and the
zero matrix. Moreover, the vectors of ones and zeros of dimension
n are denoted, respectively, by
and
. A Cartesian coordinate system (CCS) is represented as
, with
B denoting its origin and
,
, and
representing the unit geometric vectors along its orthogonal axes. The algebraic vectors corresponding to the projection of an arbitrary physical vector
onto
and
are denoted, respectively, by
and
. The relation between
and
is
, where
is the attitude matrix of
relative to
and
denotes the special orthogonal group. The inverse of
is equal to its transpose, being denoted by
. Let
represent an arbitrary quantity of
relative to
, e.g., throughout this paper,
will denote the position of
with respect to
. Consider two arbitrary algebraic vectors
and
. The vector inequality
means that
,
. The
kth-order time derivative of
is denoted by
. Furthermore, we define the vector signum function as
, where
with
. The Euclidean norm and component-wise absolute value of
are denoted, respectively, by
and
. On the other hand, the component-wise absolute value of a generic matrix
is
, where
is the element of the
ith row and
jth column of
. The standard basis vectors of
are denoted by
,
, and
. A closed sphere of radius
centered at
, the Minkowski sum of two sets, and the set subtraction are denoted, respectively, by
Finally, consider the
representations
and
of
and
, respectively. The vector product
is represented in
by
, where
is the following skew-symmetric matrix:
4. Guidance Design
Consider that the MAV flies among obstacles and define a set containing the identification of the obstacles. Moreover, consider a point fixed to the center of mass of obstacle and denote its position and velocity by and , respectively.
To guarantee the smoothness requirement of
and
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
smoothly converge to a target velocity
, also given by the CCO, and an integrator for calculating
. We assume that the MAV is aware of the obstacles’ position and velocity
. 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
, from observations of
. In summary, the CCO receives the desired position
and the desired heading
as input and the MAV states
,
,
, and
, as well as
, and
, as feedback. Using this information, it chooses
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
where
,
,
is a time constant, and
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.,
It is worth noting that the target heading
given by the CCO may be discontinuous [
16]. Then, designing the heading reference filter using an LPF of order
h guarantees that
is minimally
-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
, the position reference filter is designed using an overdamped LPF of order
and an integrator, being represented by the state-space model
where
,
is a time constant, and
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.,
Analogous to
, the target velocity
calculated by the CCO may be discontinuous [
16]. Then, by using an LPF of order
, we guarantee that the acceleration command
is minimally (
)-times differentiable with respect to time and has a Lipschitz-continuous first-time derivative. As a result, the smoothness requirement of
is satisfied.
From the choice of
, we have that
and
. Therefore, by properly designing the position control law (
32),
and
can be limited, respectively, as
where
and
can be chosen as time-dependent functions. It is worth noting that
and
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
and
, where
and
are of a given radius. Therefore, a collision between the MAV and obstacle
i is assumed to take place if and only if
where
.
Using the position error bound (
49) and the position error definition (
28), condition (
51) can be tightened to obtain
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
. To this end, we must predict
and
inside the time interval
, where
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
. 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
are unknown once they depend on the future values of
, which are calculated in real time by the CCO and dependent on the unknown future behavior of the obstacles. In this context, we predict
on the time interval
by considering
as a constant. Therefore, to support the forthcoming derivations, Lemma 3 provides a unique solution to (
47) with a given initial condition
, while considering
as a constant.
Lemma 3. Considering as a constant input, the solution of (47) in with initial condition is given bywhere , Considering
as a constant input, the predicted values of the MAV position command
, which we denote by
, can be obtained from (
53) as
where
and
.
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
provided by the SMD. In this context, the predicted position
of obstacle
i inside the time interval
belongs to
where
is a bound estimate of obstacle
i acceleration.
Let
be
n-times differentiable with respect to time, where
, such that
has a known Lipschitz constant vector
. Define a vector
such that
. To estimate the obstacle
i acceleration, we use the high-order SMD [
11,
31]
where
, with
;
is a positive-definite diagonal matrix, with
; and
maps a vector into a diagonal matrix. The SMD (
56) initial conditions are set to
and
,
.
Lemma 4 ([
31]).
Consider the SMD (56). For any satisfyingthere exists a set of positive-definite diagonal matrices that provides the finite-time convergence of to , and . Note that, before the differentiator (
56)’s convergence time, denoted by
, there is no accurate information about the acceleration bound of obstacle
i. In this context, we choose to calculate
as
According to (
57), before
,
is converging according to the SMD (
56), and after
, by maximizing
over the time interval
,
becomes an accurate estimate of obstacle
i’s acceleration bound inside the considered time interval. However, since
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
where
is satisfied.
Using
and
given, respectively, by (
54) and (
55), the collision condition (
52) can be further tightened to obtain
where
. In turn, we can also notice that the collision condition (
59) is always satisfied if
where
.
From the definition of
, one can see that it is nonsingular
. Then, by multiplying both sides of (
60) by
, it can be shown that (
60) is satisfied if
Now, using (
61), define a set of target velocities
that may result in a collision with obstacle
i within
as
Therefore, the set of target velocities
that may result in a collision with any obstacle within
is given by
In other words, we can guarantee collision avoidance against accelerated obstacles by merely continuously choosing
, thus satisfying the position constraint (
9).
To consider the linear velocity constraint (
10), we can rewrite it in terms of the target velocity
. To this end, note that, given the choice of
in (
48) and the design of the position reference filter (
47) using the adopted overdamped LPF,
presents no overshoot relative to the input
. Consequently, by choosing
, we guarantee that
since
is a convex set. Then, from the velocity tracking error definition (
29) and bound (
50), one can see that by choosing
it holds that
, thus respecting the velocity constraint (
10). Then, the position and velocity constraints (
9) and (
10) can be respected by continuously choosing
It should be noted that the set
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:
where
.
Knowing that
and the attitude control loop has an integral sliding mode, i.e.,
and
, by substituting the control torque command (
23) and the control force command (
32) into (
64), we obtain
where
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
,
, and
. In this sense, using the tracking error bounds (
49) and (
50), Assumption 4, and the definition of
, condition (
65) can be tightened to obtain
where
and
A prediction for
inside the time interval
can be directly obtained from (
53). On the other hand, a prediction for
cannot be exactly obtained. To support this statement, note that for the considered class of underactuated MAVs, the angular velocity command is given by
Then, note that
depends on
(see (
25)–(
27)), which is a unit vector that has the same direction and orientation of the control force command
(see (
12)). However, it can be seen from (
32) that
cannot be exactly predicted since the future values of the terms
,
, and
are unknown. As a result, we cannot obtain an exact prediction for
inside
.
On the basis of the above discussion,
can be rewritten in terms of a nominal part
and an unknown part
, i.e.,
where
Using (
68), Equation (
67) can be rewritten as
where
, being
calculated in the same way as
in (
25) but considering
instead of
, and
is an unknown part.
Substituting (
69), condition (
66) can be rewritten as
where
Considering that
, condition (
70) can be tightened one last time to obtain
where
Regarding the set , consider the following remark.
Remark 3. An analytic expression for is difficult to obtain since the relation between and is strongly nonlinear (see (25)–(27)). Consequently, it is complex to obtain an analytical expression for the set . Therefore, we approximate it based on computer simulations. Now, we are able to predict the left side of (
71) inside the time interval
. In this sense, let us rewrite (
71) in terms of the predicted values for each variable, i.e.,
where
and
are, respectively, the predictions of
and
inside
.
The acceleration command prediction
can be obtained from (
53) using the same strategy adopted to predict the position command
, i.e., considering
as a constant input inside the time interval
, yielding
where
and
.
On the other hand, note that the angular velocity prediction
can be calculated by differentiating
with respect to time. Here, we choose to predict
inside the interval
using the Euler angles 1-2-3 parameterization, denoted by
. The prediction of the heading command
is obtained by adopting the same strategy used to predict
and
, i.e., considering
as a constant input. Under this assumption,
can be calculated from the actual time instant
by solving Equation (
45), yielding
where
.
The predictions
and
inside
can be obtained from Equations (
26) and (
27) and the definition of
given after (
68), being given by
where
being
the acceleration command prediction defined in Equation (
73). Then, the angular velocity prediction
can be immediately calculated by
where
The angular acceleration prediction
is simply obtained by differentiating (
75) with respect to time.
The continuous selection of
and
such that condition (
72) is satisfied in
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
and
, giving priority to collision avoidance. In this sense, we compute
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
and desired heading
without collision:
where
is a preferred velocity and
is the set of solutions to the
-parameterized problem
with
Here,
is a vector that points to
and has a magnitude equal to the maximum admissible velocity in this direction. To provide a smooth deceleration phase, the magnitude of
is gradually decreased according to the remaining distance when the vehicle is near
. However, we highlight that the design of
can be done using other strategies [
26,
42].
When obstacles are present, the set
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
, as a result of choosing a certain target velocity
is given by
Therefore, in case there is no solution to (
76), i.e.,
, we propose to choose the target velocity and heading that imply the largest
, while respecting constraints (
10) and (
11), i.e.,
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
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: number of velocity samples number of heading angle samples preferred velocity desired heading admissible set Result: a set of random samples inside sort in ascending cost order a set of equally spaced samples inside sort in ascending cost order |
|
return the pair that implies the largest |
Algorithm 1 generates random velocity samples inside and 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 . 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 times and, within each iteration, the nested else condition is executed. On the other hand, when the first velocity sample in 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
, arm length of 0.5 m, and inertia matrix
kg m
.
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
m, zero initial velocity, and has to go to the desired position
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
, contains a static obstacle that has the randomly uniformly selected position offsets
m and
m relative to the line connecting the MAV’s initial and desired positions in the directions of
and
, respectively. The remaining obstacles are circularly and uniformly distributed in the plane
–
and rotate around the static obstacle with a randomly uniformly selected radius
and angular velocity
.
The vehicle can be circumscribed by a sphere of radius
m, while all obstacles can be circumscribed by spheres of radius
m. The controlled quadcopter has the following linear velocity and rotor thrust admissible sets:
Moreover, the vehicle is subject to the disturbances
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 and 50 equally spaced target heading samples inside the interval .
The MAV receives the desired heading signal (in degrees)
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
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 (
)
where
is the number of iterations where collisions have occurred, and it also shows the average number of collisions per iteration (
)
where
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
, 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
, demonstrating that the previous
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.