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.
Figure 1.
A typical hierarchical guidance and control architecture for MAVs.
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:
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 fixed on the ground at a known point R, with oriented upwards, parallel to the local vertical. Moreover, consider a body-fixed CCS 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 fixed rotors parallel to .
Figure 2.
The adopted CCSs and a general underactuated MAV equipped with fixed rotors parallel to .
The attitude kinematics of with respect to can be described in SO(3) by [33]
where and 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
where is the angular momentum of the MAV relative to point B, is the control torque, and 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 can be written as
where is the MAV inertia tensor.
The translational kinematics of relative to , on the other hand, are represented by
where and 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 by
where is the gravity acceleration magnitude, is the MAV mass, is the control force, and 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
where is the representation of and is the resultant thrust magnitude.
Denote by the thrust of the ith rotor and define the vector . The control allocation equation relating f and with is [35]
where 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., , thus allowing the rotors to produce, within certain limits, a three-dimensional torque and a resultant thrust in the direction.
The resulting system (1), (4)–(8) is said to be underactuated since it has only four control inputs, 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:
where denotes the collision-free space, which changes as the obstacles move and is generally non-convex; is an admissible convex set; and is assumed to be
being and , 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 and , we now define the main problem of the paper.
Problem 1.
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., 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 as the command input, and as feedback, and produces as the output. The attitude command generator (ACG) converts and into the three-dimensional attitude command . The attitude controller receives as the command input, and as feedback, and produces as output. Lastly, the control allocation converts and into individual thrust commands .
Figure 3.
Hierarchical control architecture for underactuated MAVs equipped with fixed rotors. ACG stands for attitude command generator.
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., . Consequently, from (8), one can say that and .
By assuming that the rotational dynamics are faster than the translational ones, the TSS allows consideration in the design of the position controller that . Then, by also considering Assumption 1, Equation (7) becomes
where , which in theory removes the underactuation of the system since the dependency of 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 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 that satisfies the following assumption.
Assumption 2.
The time-varying attitude command is such that, at the initial time, and . Moreover, it is th-order differentiable with respect to time, where , such that its first-time derivative 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]
where , , and refers to a CCS representing the commanded attitude for .
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.,
Besides the attitude matrix , a three-dimensional attitude representation is required for the proposed control design. Here, we adopt the Gibbs vector [33]
where and are, respectively, the principal Euler axis and angle corresponding to . Note that the Gibbs vector is singular at the angles rad, . However, since 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 and are, respectively, given by
where is the element of the ith row and jth column of , and is the trace operator.
The attitude error kinematics (15) can alternatively be described using the Gibbs vector as [33]
On the other hand, by replacing (13) and (14) into (4) and considering Assumption 1, the attitude error dynamics can be described by
By defining , , , , the error kinematics (16) and dynamics (17) can be inserted into the state-space model
where ,
Now, let us define the attitude sliding variable
where . The corresponding sliding set is
From Assumption 2, one can see that the system is in the sliding set at the initial time instant. Therefore, by designing a control such that the inequality [37], with , is satisfied from the very beginning, it holds that during the entire time, and, consequently, . Therefore, from (20), it holds that . In other words, the system is capable of exactly tracking the attitude and angular velocity commands during the entire time, i.e., and .
By differentiating (21) and using (18) and (19), we can obtain the dynamic equation for (for conciseness, we omit the function-independent variables):
Regarding the disturbance , consider the following assumption.
Assumption 3.
The disturbance is bounded according to , where 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 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 .
Lemma 1.
Proof.
Consider the Lyapunov candidate function . From Assumption 2, the system (18) and (19) starts the motion in the sliding set . Therefore, to prove the integral sliding mode, it is sufficient to show the satisfaction of the inequality . To this end, differentiating with respect to time, using (22) and (23), and choosing according to (24), one can show that
Thus, we complete the proof. □
Attitude Command Generator
The attitude command generator (ACG) converts and into . Since the heading angle is defined as the third rotation in the 1-2-3 Euler angle representation of , it is appropriate to parameterize also using the Euler angles in the 1-2-3 sequence, i.e.,
where and are short notations for and , respectively.
From the definition of given after Equation (12), it can be seen that its transpose is equal to the third line of the attitude command . Then, the commands and in (25) can be calculated from , respectively, as
Regarding the smoothness of in Assumption 2, consider the following remark.
Remark 1.
For the attitude command to be in fact 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 and must have the same smoothness degree. In turn, the required smoothness of 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 and , the position control law can be designed using the fully actuated model (5) and (6) with given by (12) instead of (7).
Therefore, consider the objective of tracking a time-varying position command . To this end, define the position and linear velocity errors, respectively, by
Then, the translational error kinematics and dynamics are obtained, respectively, by substituting (28) into (5), and (12) and (29) into (6), yielding
Consider the following assumption regarding the disturbance force .
Assumption 4.
The disturbance force is bounded according to , with being a known vector with positive components. Moreover, is th-order differentiable with respect to time, being h the smoothness parameter defined in Assumption 2, such that is Lipschitz and has a known Lipschitz constant vector .
Assumption 4 is not very restrictive. It essentially states that the disturbance is limited and has a Lipschitz-continuous first and 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 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
where and are positive-definite diagonal matrices, and is the disturbance force estimate to be provided by the SMDO.
To estimate the disturbance force, let us define an auxiliary sliding variable
By substituting (31) and (34) into the time derivative of (33), we obtain . Then, the following multi-input high-order sliding mode differentiator (SMD) [31] is used to estimate and, consequently, :
where , with , is a positive-definite diagonal matrix, with , and maps a vector into a diagonal matrix. The SMD (35) initial conditions are set as and , .
Lemma 2 establishes the convergence properties of the SMD (35).
Lemma 2
([31]). Consider the SMD of Equation (35). For any given satisfying
there exists a set of positive-definite diagonal matrices that provides the finite-time convergence of and , respectively, to σ and , .
Then, since and , , the estimate of the disturbance force and its time derivatives are simply given by
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 , 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
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 of the system described by (30) and (37) can be made asymptotically stable by suitably choosing the gains and .
Now, to satisfy the smoothness requirement for as discussed in Remark 1, must have the same smoothness degree. Regarding the smoothness of , consider the following remark.
Remark 2.
For the control force command to be th-order differentiable with respect to time and have a Lipschitz-continuous first-time derivative, it can be seen from (32) that, since already satisfies this requirement (see (33)–(36)), the acceleration command 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 by properly designing and , the initial conditions and of Assumption 2 must also be assured. Consider the initial conditions , , and the initial total thrust magnitude . The latter is generally not available for measurement, but, from Assumption 1, we can replace with . From (25)–(27), it can be seen that, by choosing and , it holds that . The condition is satisfied if . Therefore, by choosing and , given that , the initial acceleration command that makes and consequently can be calculated from (32) as
In summary, by calculating according to (38) and choosing , we indirectly ensure that .
The relation between the 1-2-3 Euler angles that parameterize and the angular velocity is
where
From (39), it can be seen that, since , by making , we have that . The equality holds true if , , and . However, it can be seen from (26) and (27) that and hold true if . The initial condition is known and can be calculated from the definition of , given immediately after Equation (7), using and . Therefore, the equality must be ensured by the position control law. Knowing that , can be calculated in terms of the initial control force command as
where
The time derivative of the control force command can be calculated by differentiating (32) and using (37). The resulting expression is
Substituting (41) into (40), one can see that the initial jerk command that makes is
By calculating according to (42) and choosing , we ensure that . However, the initial disturbance force appearing on the right-hand side of (42) is unknown. To deal with this lack of information, we gradually increase the derivative gain from .
The adaptation of 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 must be th-order differentiable with respect to time, such that its first-time derivative is Lipschitz. To achieve this, we increase during a prescribed time according to
where is a positive-definite diagonal matrix corresponding to the final desired value of , and is an indicator function that is equal to one if and equal to zero otherwise.
3.4. Control Allocation
The control allocation calculates from and as a solution to the control allocation Equation [35]:
Assuming that the rotor set is configured in such a way that is always of full-row rank, i.e., , the solution of (44) is unique when and is simply calculated by inverting . For , a simple solution can also be obtained, but now using the pseudo-inverse method [40].
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).
Figure 4.
Block diagram of the proposed guidance strategy.
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.
Proof.
See Appendix A. □
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 satisfying
there 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.
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 .
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 .
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.
Table 1.
Parameters of the proposed method.
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 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 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 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.
Figure 8.
Euclidean norm of the attitude sliding variable .
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.
Table 2.
Monte Carlo simulation results for the proposed and original CCO methods. N/A: not applicable.
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.
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:
| AVO | Acceleration Velocity Obstacles |
| CCO | Continuous Control Obstacles |
| GSMC | Global Sliding Mode Control |
| ISMC | Integral Sliding Mode Control |
| LPF | Low-Pass Filter |
| LQR | Linear Quadratic Regulator |
| MAV | Multirotor Aerial Vehicle |
| NMPC | Nonlinear Model Predictive Control |
| PD | Proportional–Derivative |
| RRT | Rapidly Exploring Random Tree |
| SMC | Sliding Mode Control |
| SMDO | Sliding Mode Disturbance Observer |
| SMD | Sliding Mode Differentiator |
| TSS | Time-Scale Separation |
| VO | Velocity Obstacles |
Appendix A
Proof of Lemma 3.
The solution of the position reference filter differential Equation (47) is given by
where .
The integral present in (A1) cannot be directly calculated since matrix is singular due to the position reference filter integrator. To analytically calculate (A1), we consider as constant and define the vector . Therefore, using (47), we can write the dynamic model
where
Then, the solution of (A2) is , where
References
- 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]
- 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]
- 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]
- Utkin, V.I. Sliding Modes in Control and Optimization; Springer: Berlin/Heidelberg, Germany, 1992. [Google Scholar]
- Drajunov, S.V.; Utkin, V.I. Sliding mode control in dynamic systems. Int. J. Control 1991, 55, 1029–1037. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Slotine, J.J.E. The Robust Control of Robot Manipulators. Int. J. Robot. Res. 1985, 4, 49–64. [Google Scholar] [CrossRef]
- 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]
- 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]
- Bartoszewicz, A. Time-varying sliding modes for second-order systems. IEE Proc.—Control Theory Appl. 1996, 143, 455–462. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Fiorini, P.; Shiller, Z. Motion planning in dynamic environments using velocity obstacles. Int. J. Robot. Res. 1998, 17, 760–772. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- Rufli, M.; Alonso-Mora, J.; Siegwart, R. Reciprocal Collision Avoidance With Motion Continuity Constraints. IEEE Trans. Robot. 2013, 29, 899–912. [Google Scholar] [CrossRef]
- Levant, A. Higher-order sliding modes, differentiation and output-feedback control. Int. J. Control 2003, 76, 924–941. [Google Scholar] [CrossRef]
- Levant, A. Sliding order and sliding accuracy in sliding mode control. Int. J. Control 1993, 58, 1247–1263. [Google Scholar] [CrossRef]
- Markley, F.L.; Crassidis, J.L. Fundamentals of Spacecraft Attitude Determination and Control; Space Technology Library; Springer: New York, NY, USA, 2014. [Google Scholar]
- Goldstein, H. Classical Mechanics; Addison-Wesley: Boston, MA, USA, 1980. [Google Scholar]
- 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]
- 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]
- Bhat, S.P.; Bernstein, D.S. Finite-Time Stability of Continuous Autonomous Systems. SIAM J. Control. Optim. 2000, 38, 751–766. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
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. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
