2. Literature Review
This paper presents a novel control architecture towards developing highly maneuverable UAVs, enabling them to perform agile maneuvers inside restricted GPS-denied spaces in the presence of a priori unknown disturbances and coupled aircraft dynamics. Due to the diverse applications of UAVs in a wide variety of areas, such as surveillance, environmental monitoring, drug delivery, and SAR, there has been a substantial body of work developing diverse control systems for the position and orientation (a.k.a. pose) of UAVs, as well as their trajectory and resistance to internal and external disturbances. Although such aspects have been extensively considered in past works, such mechanisms have mainly been developed for flying in open uncluttered spaces which lack effectiveness inside the type of spaces that have been considered in this paper. For such unrestricted (open) spaces, different control methods have been developed, from classical linear [
1,
2,
3] to adaptive [
4], fuzzy [
5], and multi-variable nonlinear control [
6] approaches. These control methods have been mostly applied to typical rotorcraft (e.g., helicopters and quadrotors) and fixed-wing type aerial vehicles, with very little attention to new aircraft concepts. Such linear and nonlinear control methods have also employed numerous complementary techniques, including tools from the area of artificial intelligence (AI).
Due to the fact that aircraft systems (especially those targeted to fly inside cluttered spaces) are affected by diverse aspects (e.g., propeller performance, changing atmospheric conditions, drag, etc.), many of which change over time and/or are based on the aircraft’s motion, obtaining an exact mathematical model of aircraft for all flying conditions is practically impossible. Under such conditions, and knowing that most aircraft models are nonlinear, researchers have employed diverse processes to improve the aircraft representation while simultaneously enabling the model to facilitate for control development using model simplification techniques [
7]. Generating linear models based on the corresponding nonlinear models has enabled the use of simpler linear control techniques (e.g., PID, H_∞, and LQR). In the study published by the authors of [
8], a feed-forward control algorithm that led to a Lyapunov function with asymptotic stability was developed. In the study published by the authors of [
7], Funtoni et al. proposed a linearization-based technique to enable effective control of under-actuated mechanical systems in cases where either typical control mechanisms could not effectively be used, or when typical controllers (e.g., PID) severely limit the operational capabilities of aircraft restricted to fly under benign wind conditions).
Despite the success of previous controllers in controlling aircraft under typical flight missions (cruise, take-off, hover, etc.), such controllers have been proved to be ineffective when controlling UAVs performing untypical or aggressive flight maneuvers. Examples of such maneuvers include acrobatic flight maneuvers, such as hammerheads and lomcevaks (a family of extreme acrobatic maneuvers where the aircraft, with almost no forward speed, rotates on a chosen axes using the gyroscopic precession and torque of the rotating propellers). Furthermore, controlling aircraft under unexpected or changing flight conditions, such as flying under system failure and landing on an oscillatory moving ship deck (a common problem faced by military and maritime SAR operations), have been proved to be difficult. In the study published by the authors of [
9], Marconi et al. proposed a control algorithm for landing VTOL (vertical take-off and landing) aircraft on an oscillatory deck ship using an internal model-based feedback dynamic regulator. Such a controller proved to be robust in the presence of uncertainties affecting the system; however, the controller was only analyzed in open spaces, with the aircraft performing typical flight maneuvers. Similarly, in trying to resolve such problems, other mechanisms have been proposed e.g., those published by the authors of [
9,
10,
11]. Olfati presented an algorithm with a smooth static state feedback approach for stabilizing a VTOL with a complex input [
10]. A simple Lyapunov analysis-based controller for a VTOL limited to perform simple maneuvers, such as take-off, hover, linear flight trajectories, and landing, was presented and assessed by the authors of [
11].
In the study published by the authors of [
5], Coza et al. provided a summary of UAV stabilization techniques aiming to identify effective tools to solve the problems of controlling UAVs having model uncertainties—a problem none of the previous developments could fully resolve. The observation of such a review led to the development of new adaptive fuzzy methodologies to control quadrotor helicopters in the presence of both model uncertainty and sinusoidal wind disturbances without the need for a (precise) mathematical formulation of the aircraft e.g., those published by the authors of [
5,
12]. In the study published by the authors of [
13], an adaptive nonlinear robust controller was designed to enable UAVs to follow desired tracking missions. Although such approaches have reduced the complexities associated with creating precise aircraft mathematical models, they require the use of arduous methods to find their needed control parameters (e.g., drag coefficients), requiring the control engineer to be highly knowledgeable in numerous areas outside the control domain, including computational fluid dynamics, engine/motor characterization, etc. To reduce such complexities, engineers have used fewer formal mechanisms to model the behaviour of aircraft, including AI methodologies. Similar to the study published by the authors of [
5], an adaptive neural network control method was presented in the study published by the authors of [
12] to stabilize the attitude of quadrotor helicopters in the presence of model uncertainty and considerable wind disturbances. Morel and Leonessa [
14] proposed a direct adaptive controller for altitude and Euler angels tracking of a quadrotor UAV in the presence of model uncertainties. Amiri et al. [
15] proposed an integral backstepping control technique to control both the position and orientation of a highly maneuverable UAV, improving the stability of the vehicle, but no aerodynamic or other disturbance rejection was considered. A backstepping control approach combined with two neural networks to approximate aerodynamic uncertainties was used by the authors of [
16]. Xu and Ozquner proposed a combination of PID control for the fully actuated part of the dynamic model of UAVs, with a sliding mode controller for the underactuated part [
17].
In the study published by the authors of [
18], a sliding mode disturbance observer was presented as a robust flight controller of a quadrotor, which provided robustness to external disturbances, uncertainties of the dynamic model, and actuator failure. Similar to the study published by the authors of [
18], researchers have proposed other control mechanisms to increase flight performance using robust adaptive fuzzy controllers, e.g., in the study published by the authors of [
19], which have demonstrated satisfactory results against sinusoidal and other types of wind disturbances. Mokhtari et al. presented a robust feedback linearization method with a linear generalized H∞ controller with a weighting function that resulted in an improved overall robustness against disturbances and uncertainties [
20]. Dunfied et al. proposed the use of a pre-trained neural network to stabilize quadrotor UAVs while hovering without disturbances [
21]. In the work reported by the authors of [
22,
23], the capabilities of adaptive neural network controllers in VTOL aircraft stabilization were shown. Although promising and somewhat effective, most of the mentioned control developments have focused on the control of traditional unmanned aircraft (e.g., quadrotors, helicopters, and fixed-wing aircraft) executing somewhat simple flight maneuvers under the presence of simple external disturbances modelled as impulse and sinusoidal signals. Despite the satisfactory results of previous works, such approaches have not considered the control of new aircraft concepts that are currently being developed (e.g., supersonic and hybrid or transitional UAVs) [
24,
25,
26,
27]. As a result, previously developed controllers provide somewhat limited control capabilities when applied to unconventional (complex) aircraft. Such control formulations have challenges to enable aircraft to perform complex (e.g., acrobatic) and stable maneuvers in the presence of rapidly changing disturbances, which are typically found when navigating inside confined spaces or under extreme weather conditions.
Based on the proliferation in the development of advanced unmanned aircraft targeted to be deployed in hazardous environments, there is a need to reduce the dependency on having accurate aircraft models required for control. Sensor-based control approaches have been formulated that are capable of dealing with model uncertainties. In such techniques, accurate knowledge of the system is exchanged with precise sensing of the system’s dynamics, decreasing system identification efforts. A promising sensor-based strategy is the use of incremental dynamics (ID) techniques, which ease the generation of controllers that are less dependent on the system model e.g., that proposed by the authors of [
28]. The incremental nonlinear dynamic inversion (INDI) method, in particular, combined with a set of PID/PD controllers, has been successfully employed in the literature to control the attitude and position of advanced tilt-rotor bi-copter drones, which cannot be fully controlled via traditional control formulations [
28].
Although INDI has shown great promise for the control of novel (non-typical) aircraft subject to disturbances, INDI control remains sensitive to several model uncertainties. To deal with such characteristics, the original INDI control formulation has been combined with AI paradigms, such as artificial neural networks, and other mechanisms. The authors of [
28] proposed a novel INDI with neural networks (INDI-NNs) control scheme to deal with inherent system model uncertainties. Numerous INDI control schemes have been developed with diverse objectives in mind, including position, attitude, and trajectory tracking for diverse UAVs. In the study published by the authors of [
29], an INDI controller for the 3D acceleration trajectory tracking of tail-sitter UAVs (capable of transitioning between VTOL and fixed-wing flight) was developed. The results presented by the authors of [
30] show that INDI control is effective to control aircraft operating under diverse flight modes (e.g., VTOL and fixed wing), which is not possible, or at least very challenging, with other control mechanisms. By adding a sideslip controller to align the wings of a given aircraft with the sensed airspeed vector, this has provided the means to neglect the flight phase that the UAV is executing. Following such advances, Wang et al. proposed an incremental sliding mode control mechanism driven by a sliding mode disturbance observer (INDI-SMC/SMDO) based on the control structure of INDI. This developed controller has been shown to have the ability to passively resist a wider variety of faults and external disturbances using continuous inputs with lower control and observer gains [
31].
Based on the cited works, INDI control formulations seem to be the most appropriate mechanism developed, thus far, for the control of advanced unmanned aircraft systems, especially those aircraft having coupled dynamics capable to execute complex flight maneuvers. When compared to other control formulations for either linear or nonlinear systems, the INDI control method is less dependent and less sensitive to model dynamics and model uncertainties, and therefore increasing both system robustness and flexibility with respect to changes in the aircraft’s operation mode. Based on previous work conducted by our research group (e.g., the study published by the authors of [
28]), an extension of previous INDI formulations for the control of highly maneuverable VTOL UAVs has been proposed in this paper to enhance the operation of such an aircraft targeted to operate inside GPS-denied confined spaces subject to aerodynamic ground and wall effects. This proposed control method decouples the control parameters, which reduces the time to compute a proper control signal and hence improves the performance of the aircraft. The controller was shown to be robust to external disturbances, capable of independent control of the system’s coupled degrees of freedom, and convenient for independent position/orientation trajectory tracking subject to motion and state constraints.
The following sections of this paper are organized as follows: the nonlinear mathematical model of the aircraft of interest (termed the Navig8) is described in
Section 3; the proposed dynamic inversion control method is described in
Section 4, while
Section 5 presents illustrative numerical simulations showing the performance of the proposed controller, followed by the conclusions in
Section 6.
4. Control Technique
The UAV’s dynamic model can be represented in generic form of a nonlinear state-space system:
where
and
represent the state and input transpose vectors, at time
, respectively:
By calculating the first-order Taylor series of Equation (11), Equation (11) can be written as:
in which
and
represent the state and input vectors of the system at the previous time step, (
), respectively. An INDI description of a system described by Equation (12) is possible under the following two assumptions:
- 6.
The state of the UAV and input, , are bounded, and the function is continuous.
- 7.
The amount of time that has passed between and (sampling time) is sufficiently small.
By using a small sampling time (assumption b) and employing high performance actuators in the drone, the changes in the state of the UAV () with the given time step can be considered negligible (i.e., ) with respect to the large changes in the input parameters represented as (), given that state changes arise as a result of the integration of input changes and are, therefore, slower.
The assumptions listed above imply that the difference (
) can be considered negligible (ignored) and therefore, Equation (12) becomes:
To be efficient, this INDI approach requires a suitable timescale separation, which was considered as 0.01 s in this paper. To achieve the required timescale separation, the approach taken in this paper was to employ a combination of NDI, INDI, and PID controllers, forming an inner and outer loop control strategy, as illustrated in
Figure 3.
The developed control architecture can be applied to diverse aircraft systems, especially those with complex dynamics operating in the presence of internal (e.g., system failures) and/or external disturbances (e.g., wind gusts). Overall, the controller would receive, as a control input, a desired path/trajectory to follow, which includes the desired position (), orientation (), and time conditions, defining the UAV’s maneuvers from where the required control signals will be computed.
4.1. The Attitude Controller (INDI)
For the INDI attitude controller, the state of the drone was defined as a subset of the state variables used in Equation (11). Such a subset,
, comprises the roll, pitch, and yaw Euler angles and the corresponding rotational speeds
, as described by Equation (14), where
,
, and
have been defined based on Equations (8) and (9) and the dynamic equations of the system (e.g., Equation (5)):
It is important to note that the lateral (sway) motion of the UAV is highly coupled with the roll angle of the body (see
Table 1). The result of such coupled motions is that the UAV cannot perform pure lateral movement without rolling and vice versa. The additional coupled effects, as represented in
Table 1, are manageable and can be decoupled and be precisely controlled. Therefore, for the proposes of this paper, the roll angle was not considered as a controllable state, but it was used as an input to reach a desired lateral translation.
From Equation (14), one can map the state vector,
, to the Euler angles of the UAV,
, via a transformation matrix
, as per Equation (15):
Since the first-order time derivative of the control variable vector,
, is not directly related to the control input vector,
, the relationship between the input and output variables was determined through obtaining the second-order derivative of the control vector,
, as shown in Equations (16) and (17):
Considering Equation (17) and the dynamic equations of the UAV, Equations (5)–(7), one can define
as a function of
and
, as shown in Equation (18). From this formulation, and following Equation (11), the INDI controller can be formulated by performing a Taylor series expansion in the current time step,
, as described in Equation (19):
Using
as the angular acceleration measurement of the UAV at the previous time step,
, a very short measurement sampling time (
) can be used, given that the actuator dynamics are faster (as per assumption b). Then, it is reasonable to further consider
when compared to the changes in the control output,
. In these circumstances, the simplified expression shown in Equation (20) can be used to obtain the control law:
Solving for
from Equation (20) results in
, where the matrix
represents the partial derivative matrix of function
with respect to the control inputs of the system,
, resulting in:
With the above formulations, it is possible to effectively compute the control inputs (i.e.,
) based on the vehicle’s angular acceleration measurements taken at time step
. Thus, Equations (20) and (21) represent the attitude (orientation) INDI controller, which guides the UAV on how to attain the desired orientation at a given position
when following a desired path. As a result, the desired orientation behavior of the aircraft was not significantly affected when the slower dynamics of the model were ignored (which will be described in
Section 6).
4.2. The Position Controller (NDI + INDI)
The controller designed to control the aircraft’s orientation (i.e., yellow boxes in
Figure 3), provides the torques
required to orient the aircraft. Such torques can then be used in combination with the forces
needed to position the aircraft at a specific point
to generate the control signals needed to maneuver the UAV. As illustrated in
Figure 3, a position controller must be formulated to provide such forces that will enable the UAV to track the desired path, which includes the position and orientation information. The aircraft’s translational movement control was achieved via a combination of an NDI and INDI (INDI + NDI) control strategy (blue boxes shown in
Figure 3), where the NDI port is responsible for controlling the lateral motion, while the INDI port focuses on computing the
and
forces that need to be applied to the aircraft through the control of the propeller’s thrust vectoring ability. Such a strategy enables to manage the coupled motions of the aircraft described in
Table 1. Specifically, the proposed controller was targeted to reduce the coupled translational motions taking place in the
(longitudinal) plane of the aircraft. That is, the position controller aimed to decouple the surge and heave motions of the aircraft. An NDI controller was employed for the lateral (sway) movement, and an INDI controller was developed for the movements in the
directions (heave). For altitude regulation in the
plane, the control inputs
and
were used. However, there was no direct control input within the vector
(Equation (7)) for the side movement. Thus, a differential thrust/speed of the propellers was used to provide the required lateral motion. Therefore, finding the required roll angle,
, was required to generate the desired lateral motion in terms of the aircraft’s
position and its rate of change,
. In turn, the computed roll angle was provided as one of the three inputs for the attitude controller. To enable the NDI controller to cope with disturbances (in the
direction), a sigma-pi neural network (NN) adaptive compensator was used to correct modeling errors and overcome the tendency of NDI controllers to be sensitive to the dynamic model’s accuracy [
28,
33].
The INDI position controller for the
and
aircraft motions was developed using a similar approach of the attitude controller (
Section 4.1). For the position controller, however, a two-layer architecture was used. An INDI formulation was used to cancel the non-linearities associated with the linear dynamics of the system and generate the control signals for the
and z positions of the UAV. In addition, NDI was employed for the lateral (position) motion.
4.2.1. The Position INDI Controller
For the position INDI controller, a virtual control variable,
, defined as per Equation (22), was used.
Considering the dynamic model of the system in the
direction, Equation (23), and defining the states variables
and
as vector
, the second-order time derivative of matrix
for the INDI position controller was given as per Equation (25):
in which
is defined by Equation (26).
4.2.2. The Position NDI Controller
As previously mentioned, due to the high coupling between the roll angle,
, and the position in the y direction, it is not possible to independently control both parameters at the same time. Thus, a variable,
, (Equation (28)) was defined, which enables the design of an NDI controller to control the UAV’s lateral motion. The output of this controller block,
, was fed to the attitude control block, which will control the lateral motion of the drone.
Following the process used in
Section 4.1, the second-order time derivative of the side motion of the drone’s mathematical model,
, for the NDI position controller used the corresponding formulation in Equation (5), where the term
has been replaced with
, as shown in Equation (29):
A virtual control input,
, can then be chosen as
if
.
An accurate description of the functions
and
within Equation (30) was required to cancel all model uncertainties and cross-couplings in the system. However, an exact cancelation of nonlinearities is practically impossible. Therefore, a sigma-pi neural network (NN) was used to compensate the uncertainties. Such a NN is represented as a NN adaptive compensator in
Figure 3, which processes nine inputs (i.e.,
plus a set of three Kronecker values
(defined later in this document in Equation (37)), where
, and
represent the position of the UAV in the previous time step, and
defines the error between the reference model and the lateral position of the UAV in the previous time step. From the defined error and the Kronecker values, the sigma-pi NN generates
, which adaptively compensates the input produced via the NDI controller, which operates under the assumption that the mathematical model of the system is accurate.
As a result, the sigma-pi NN compensates the inversion error with a real-time pseudo control signal,
, where the pseudo control command was generated as per Equation (32):
where
is the reference model’s pseudo control, and
is the signal generated via a PD linear regulator (see
Section 4.3), which is used to regulate the dynamic response of the system as per Equation (33):
As a result, the dynamics of the model tracking error can then be described via Equation (34):
where
, and B =
4.2.3. The Sigma-Pi Neural Network
In comparison to other neural networks, the sigma-pi NN [
33] uses summation and quadrature neurons in its hidden layers, providing the ability to preserve the network’s highly nonlinear mapping capability [
34].
Figure 4 depicts the single layer sigma-pi NN used in the proposed UAV controller as having three inputs and one output.
The neural network’s input/output map can be expressed as follows:
where
represents the weight coefficient matrix, and
denotes the basis function vector, which is defined as per Equation (36):
The “
” denotes the Kronecker product operating on
and
, which are defined as follows:
The corresponding weight error can then be expressed as follows:
where
denotes the ideal set of weights. Thus, the model tracking error (Equation (34)) was written as per Equation (39), and the update law for the NN was expressed via Equation (40).
The terms in Equation (40) are defined as
.
is a positive constant adaptation gain (learning rate), and
is a symmetric, positive definite matrix satisfying the Lyapunov equation
for the linear system error with NN weights. The Hurwitz matrix
of Equation (37) ensures the existence of a unique
, where the
matrix used in the developed controller is described as per Equation (41):
The NDI + NN outer loop controller responsible for the slow dynamics of the UAV’s
channel generates the state command for the inner INDI block as per Equation (42):
4.3. The PD/PID Controller
The altitude and position controllers described above, Equations (20), (27), and (30), were designed based on the second derivative of the position and attitude states of the UAV, meaning that the controller has been developed to follow the second-order derivative of the desired trajectory (acceleration) of the aircraft. Therefore, in order to enable the UAV to follow the desired position/attitude (trajectory), three proportional derivative (PD) controllers for attitude (i.e.,
,
, and
) and three PID controllers (i.e.,
,
, and
for position were used to map the pose error (the difference between the desired and measured poses in the previous time step) [
28]. Similar to that conducted by the authors of [
28], the PD/PID gains were optimized using a non-dominated, sorting-based multi-objective evolutionary algorithm (MOEA) called the non-dominated sorting genetic algorithm II (NSGA-II). Two different objectives were followed: the integral of time-weighted absolute error (ITAE) performance index, and the integral of the square of the error (ISE), in which minimizing the first objective will provide good reference tracking and good disturbance rejection, while minimizing the second objective reduces the rise time. The final gain values used in the simulations are provided in
Table 2.
5. Simulation Results
The final formulation for the controllers described in
Section 4 (i.e., Equations (20), (27), and (30)) were implemented and analyzed in the MATLAB/Simulink software. For this, the physical characteristics of a nine inch diameter-shrouded propeller’s version of the Navig8 UAV were used based on previous research studies, i.e., the studies published by the authors of [
15,
25] (
Table 3). PID gains were set as per
Table 2, and the sampling time was set to 0.01 s. Overall, the controller received a desired path/trajectory to follow, which would include the desired position (
and orientation (
) as a function of time, defining the UAV’s maneuvers to compute the required control signals. From the physical characteristics of the UAV, the required parameters were computed.
To analyze the performance of the controller, the UAV was commanded to execute standardized maneuvers considered fundamental in determining the flight performance (worthiness) of the rotorcraft as per that conducted by the authors of [
35]. Flight maneuvers included pure hover and sidestep, which the aircraft was able to perform as per flight regulations.
In what follows, however, we present the results of an untypical flight maneuver which illustrates the ability to use the developed controller to fly a highly maneuverable rotorcraft inside confined spaces by changing its attitude according to the environmental conditions (e.g., confined space).
5.1. Test 1: Trajectory Tracking
In this first simulation, the aircraft (Navig8 UAV) was commanded to track the trajectory defined by Equation (43), which defines a set of movements within the aircraft’s flying capabilities. Although this trajectory does not exemplify a confined space, it requires the UAV to change its attitude in an untypical fashion (a maneuver that a helicopter pilot would not attempt).
The UAV’s initial state, including its position, orientation and their first derivatives (as per Equation (11)), was set as . It must be noted that defines the state where the UAV is in a typical hovering maneuver position at a given attitude “” from the ground where the frame of reference that defines the trajectory is defined (set).
The drone’s position responses are shown in
Figure 5, while its attitude responses are shown in
Figure 6.
Figure 7 depicts the position and orientation followed in a 3D space.
These results indicate that the developed trajectory tracking control approach was effective, showing a low RMS error in both position and attitude control. Although at the start there was an error of 0.53 m between the desired and the followed trajectory, the UAV was able to track the desired path for the rest of the trajectory. Such a maximum error occurs in a specific situation where the desired roll and lateral translations are somewhat in conflict. However, the controller effectively managed such conflicts and guided the UAV to complete the flight with sufficient accuracy to fly in confined spaces.
Similar results were obtained under diverse trajectories, including pure hover, pitch hover, climb, and descent.
5.2. Test 2: Disturbance Rejection
To assess/analyze the ability of the controller to deal with external disturbances, the UAV was commanded to follow the same trajectory as described in
Section 5.1, where wind gusts and other disturbances were added. Here, however, we only present an illustrative example of exposing the UAV to horizontal wind gusts, having a maximum speed of
with variable magnitude and direction (moderate breeze based on the “Beaufort Wind Scale”) (see
https://www.weather.gov/mfl/beaufort (accessed on 14 August 2023)).
Such a varying disturbance was implemented following the work conducted by the authors of [
36], where the magnitude of the wind was defined by Equation (44) and the azimuth,
, of the blow point of the wind (Equation (45)) defined the direction of it, while random values were used to denote the changes in the wind’s direction. The magnitude of the wind,
, can then be defined as a function of the altitude of the drone with respect to the sea level,
(Equation (44)).
In Equation (44),
is the wind velocity measured at attitude
,
z is the current altitude of the UAV, and “
” is the index of the energetic profile, and in Equation (45), “
” is the azimuth angle in the previous time step, and “
” is a random function to create a random number between zero and one (rad). Therefore, the wind force in the x and y directions of the UAV’s body frame of reference affecting the drone were calculated using Equation (46):
where
is the rate of converting the wind speed (
) into pressure (
) [
37], and
is the influence effective area. To ease obtaining the parameters
and
(Equation (46)), the Navig8 was modelled as a cubic body (
Figure 8), which simplifies computing the total force of the wind disturbance and its distribution over the drone’s fuselage. Although this is a very rough estimate, it allowed us to evaluate how well the controller held up to external, previously unidentified wind disturbances. From
Figure 8, it was possible to compute the drone’s surface area as per Equation (47):
where
is the drone’s lateral surface area,
is the UAV’s face area,
,
, and
are the cubic dimensions, as shown in
Figure 8, and
and
are the fill features of the base cube, as shown in
Figure 8.
Figure 9 shows the obtained magnitude and direction (azimuth,
) of the wind affecting the UAV over time. As shown in
Figure 9a, the wind velocity has points where the wind declines (to a value of
), after which it gradually increases to a max value of
. In turn, the direction of the wind (
Figure 9b) changes at discrete intervals.
Figure 10a,b shows the wind forces in the
and
directions, respectively.
Figure 11 and
Figure 12 provide the position and attitude responses of the UAV to the wind disturbances while trying to track the desired trajectory (Equation (43)).
Figure 13 shows the desired and reached trajectories under variable wind disturbances. The result shows the effectiveness of the developed controller in being able to perform this maneuver, and the root mean square errors (RMSEs) obtained under all position and attitude directions were considered to be small/acceptable, as presented in
Table 4.
From
Figure 11,
Figure 12 and
Figure 13, it is observed that the controller was able to guide the UAV with high accuracy (i.e., the max error in translation was the same as the result for the simulation with no disturbances,
Figure 5). However, this UAV had experienced some challenges managing the coupled lateral and roll motions as it flew (although such deviations were small).