Next Article in Journal
DFly: A Publicly Auditable and Privacy-Preserving UAS Traffic Management System on Blockchain
Previous Article in Journal
Olive Tree Segmentation from UAV Imagery
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Validation in X-Plane of Control Schemes for Taking off and Landing Manoeuvres of Quadrotors

by
Ricardo Y. Almazan-Arvizu
1,†,
Octavio Gutiérrez-Frías
1,†,
Yair Lozano-Hernández
2,*,†,
Hugo Rodríguez-Cortes
3,† and
José A. Aguirre-Anaya
4,†
1
Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas, Instituto Politécnico Nacional, Ciudad de México 07340, Mexico
2
Unidad Profesional Interdisciplinaria de Ingeniería Campus Hidalgo, Instituto Politécnico Nacional, Hidalgo 42162, Mexico
3
Centro de Investigación y de Estudios Avanzados del Instituto Politécnico Nacional, Ciudad de México 07360, Mexico
4
Unidad Profesional Interdisciplinaria de Energía y Movilidad, Instituto Politécnico Nacional, Ciudad de México 07738, Mexico
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Drones 2024, 8(8), 409; https://doi.org/10.3390/drones8080409
Submission received: 17 July 2024 / Revised: 8 August 2024 / Accepted: 19 August 2024 / Published: 21 August 2024

Abstract

:
This paper shows the results obtained by using MATLAB/Simulink and X-Plane as co-simulation tools for the comparison of control schemes for takeoff and landing maneuvers of a quadrotor. Two control schemes based on nested saturations are compared to ensure the convergence of θ and ϕ angles to the equilibrium point, each with its own specific characteristics in its design and tuning procedure. Furthermore, in both proposals, a Generalized Proportional Integral (GPI) control is used for the height part, while a feedforward PID control is used for the ψ angle. The control schemes are proposed from a local geodetic coordinate system East, North, Up (ENU). Feedback data for the control schemes are obtained from X-Plane via User Datagram Protocol (UDP)-based interface; they are used in MATLAB/Simulink for the calculation of the control actions; the control actions are then entered into a transformation matrix that converts the actions into rotor angular velocities, which are sent to X-Plane. Several numerical simulations are presented to demonstrate the effectiveness and robustness of the proposed schemes, considering the presence of disturbances mainly due to wind speed. Finally, different performance indices are used to evaluate the schemes based on error; in this way, the use of X-Plane as a Model-in-Loop (MIL) environment is validated, which helps to identify errors or problems of the proposed controllers before their coding and physical implementation.

1. Introduction

Control schemes for quadrotor-type Unmanned Aerial Vehicles (UAV) have developed very rapidly in recent years and have been a pillar in the advancement of the science and technology of dynamic systems. Despite the above, there are still several problems related to the design of flight controllers, since there are no general laws applicable to these vehicles [1]. This problem is aggravated by several factors mainly due to the underacting property of this vehicle and its non-linear dynamics, as well as unmodeled dynamics and exogenous disturbances and poor estimation or measurement of moments of inertia and aerodynamic coefficients [2,3].
One of the main challenges for these vehicles is landing, which is affected by several factors, such as the presence of an air cushion during the maneuver; aerodynamic effects and environmental conditions [4,5]. Several studies have focused on the design of control algorithms at the simulation level, with MATLAB being the most used software [1,6]. Matlab offers complete freedom to define the dynamics of the UAV; however, the complexity of having to derive all flight dynamics often leads to oversimplifications or very basic PID flight controllers [7].
It is well known that the effectiveness of simulation depends on an accurate mathematical model, which is difficult to obtain. Flight simulators offer the advantage of taking advantage of the calculation of flight dynamics, as well as more complete results that would otherwise require too many hours of development, such as weather, 3D scenarios, elevation maps, advanced visualization functions, etc. [7]. Thus, the use of co-simulation tools with a high degree of precision such as a real flight contributes to verifying the control scheme and improving development efficiency [8]. The flight simulator X-Plane is widely used to develop and test flight control schemes [9].
X-Plane is one of the most realistic flight simulators in the world, it is used by different industries, such as the air force and aircraft manufacturers to predict the flight characteristics of fixed and rotary wing aircraft with high precision. X-Plane allows you to change existing airplane models, and even create custom airplane or helicopter designs with the Plane Maker software (version 10). Additionally, the X-Plane simulation environment supports programming languages such as C/C++, MATLAB/Simulink and Python [10,11].
X-Plane simulates aircraft flight responses with high accuracy; it uses blade element theory to produce the forces and moments acting on an element of the aircraft’s surfaces, then applies the processed results to the entire aircraft (it is not based on the mathematical model of the aircraft) [12].
Several research works have successfully utilized X-Plane to design and simulate control schemes for UAVs. For instance, [13] an attitude control law is used for small fixed-wing UAVs that are built considering two flight phases: stable flight and maneuvering flight, the experimental analysis and simulation was carried out in the software X-Plane. On the other hand, in [7] the behavior of a Vertical Take-Off and Landing (VTOL) type UAV is analyzed, which is conducted through Hardware-In-the-Loop (HIL) integration with all the functions of a commercial VTOL UAV, where the aircraft is modeled in X-Plane and the climatic conditions through real data.
In [14] an environment to simulate multiple UAVs simultaneously is described, as well as providing status data and control inputs for individual vehicles using X-Plane. In addition to this, X-plane and Matlab/Simulink are used to simulate a UAV with flapping wings [15], the flapping wing model is developed in aircraft manufacturing software and runs in the X-plane environment. Yu, Li, et al., provide an efficient method to verify the performance of hardware and software designs of a control scheme for a three-tilt-rotor UAV, using X-Plane-based HIL [8].
Cabecinhas et al. proposed a robust controller for landing maneuvers [4], in which the interaction of the UAV with the ground was considered. In [16], the mathematical developments to obtain a linear model for the quadrotor without perturbations are reported. This quadrotor linear model is used to design a control scheme that combines the backstepping procedure with saturation functions; moreover, in [1] a control architecture is presented, which results from the combination of a GPI controller with one based on nested saturations; it should be noted that the control scheme was designed to perform landing maneuvers despite external perturbations. It is important to mention that the physical implementation of this type of control scheme proposals is complicated to carry out, due to the higher cost of computational time required.
The background described highlights two important areas of opportunity: the use of co-simulation tools to validate control schemes without the need for a physical or experimental prototype [17] and the validation of robust control schemes for landing and takeoff maneuvers in the presence of external disturbances. In that sense, the use of a specialized Model-in-Loop (MIL) environment such as X-Plane is attractive.
Thus, this paper uses MATLAB/Simulink and X-Plane as co-simulation tools to visualize and analyze the behavior of three control schemes reported in the literature for takeoff and landing maneuvers in quadrotors. The three proposals are tested at wind speeds of 0, 25 and 50 kn. The simulation is carried out using User Datagram Protocol (UDP) communication between MATLAB/Simulink and X-Plane.
The first proposal consists of controlling the z , ϕ , θ , ψ axes using feedforward PID type control algorithms; the second focuses on the use of feedforward controllers in combination with a PD (for z axis), a PID (for ψ axis) and a control law based on nested saturations to stabilize the roll ( ϕ ) and pitch θ axes [16]. The third proposal uses a feedforward Generalized Proportional Integral (GPI) controller for the z axis, while the ψ axis is controlled by a feedforward PID controller, the ϕ and θ axes are controlled by a feedforward control algorithm based on the use of nested saturations to control systems represented by a chain of integrators [1].
In particular, this work describes the use of the transformation matrix that allows mapping the control actions u i , with i = 1 , 2 , 3 , 4 , to the angular velocities required in each motor; which is omitted in works that are only validated numerically [1,16]. Additionally, we show the use of X-Plane as a MIL environment, with which control schemes can be executed to identify errors and/or problems of the proposed controllers before their coding and physical implementation [18,19]; it allows to detect and know the logic of the signals and their relationship with the physical environment, in addition, the simulation speed can be modified (depending on the complexity of the proposed control schemes). Thus, the use of X-Plane allows us to verify or test the feasibility of implementing the developed control schemes or UAVs [20].
Regarding [1], they use a mathematical model based on a local geodetic coordinate system North, East, Down (NED), while in this paper we propose a local geodetic coordinate system East, North, Up (ENU), which has been reported in works such as [21,22,23]. In the above, although it does not modify the design steps of the controller, it does change the operating logic of the scheme.
The main contributions of this work are:
  • The comparison between the control proposals to test the robustness of the controllers against different wind speeds.
  • The flight analysis of the aircraft within the X-Plane software in a realistic environment.
  • The communication between the software used MATLAB/Simulink and X-Plane.
The organization of this work is given as follows: Section 2 describes the dynamics of the quadrotor, its physical characteristics within Plane Maker and the configuration required for sending data between MATLAB/Simulink and X-Plane; Section 3 explains the controllers to be compared: Feedforward PID; feedforward PD in combination with nested saturations; GPI and nested saturations, both feedforward. Section 4 shows the results of the control schemes at different wind speeds, which are analyzed based on error-based performance indices. Finally, Section 5 presents the conclusions obtained.

2. System Description

Figure 1 shows a diagram of the reference frames of the forces acting on the quadrotor, the rotation of the motors and the reference frames that are usually used for analysis; fixed to the ground (I) and fixed to the vehicle (B) [1].
The main forces and moments acting on the quadrotor are produced by its rotors, of which two pairs of motors rotate in opposite directions to balance the total torque of the system.
Figure 1 also shows f 1 , f 2 , f 3 and f 4 , which correspond to the thrust forces generated by each of the rotors. u 1 is the control action in the z-axis, which results from the combination of the thrust generated by each rotor. l corresponds to the length from the center of the quadrotor to the center of the rotor. x L , y L , z L indicate the position of the quadrotor with respect to a reference frame fixed to it. x , y , z corresponds to the position of the UAV with respect to the inertial frame of reference. ϕ , θ , ψ are the orientation angles of the roll, pitch and yaw, respectively.
The representation of the rotation movements of the quadrotor are shown in Figure 2, where, to maintain a constant lift, the four rotors must be kept at equal speeds as shown in Figure 2a. The roll motion ( ϕ ) is obtained by increasing the speed of rotor 4 and the speed of rotor 2 is reduced (See Figure 2b). For the pitch motion ( θ ), the speed of rotor 1 is increased, while the speed of rotor 3 is reduced, as seen in Figure 2c. Finally, the yaw orientation motion ( ψ ) results from the increase in speed in rotors 1 and 3, while the speed of rotors 2 and 4 is decreased (See Figure 2d) [17,24].

Mathematical Model

The dynamics of the quadcopter can be obtained from the Euler–Lagrange methodology. The dynamic model can be deduced with respect to a reference frame fixed to it, or with respect to an inertial reference system [1]. In this work, we consider an inertial reference frame, represented as follows:
m x ¨ = c o s ϕ s i n θ c o s ψ + s i n ϕ s i n ψ u 1 + a x x ˙ m y ¨ = c o s ϕ s i n θ s i n ψ s i n ϕ c o s ψ u 1 + a y y ˙ m z ¨ = u 1 c o s θ c o s ϕ m g + a z z ˙ I x x ϕ ¨ = ( I y y I z z ) θ ˙ ψ ˙ J R Ω n θ ˙ + l u 2 + b ϕ ϕ ˙ I y y θ ¨ = ( I z z I x x ) ϕ ˙ ψ ˙ J R Ω n ϕ ˙ + l u 3 + b θ θ ˙ I z z ψ ¨ = ( I x x I y y ) θ ˙ ϕ ˙ u 4 + b ψ ψ ˙
where m is the mass of the quadcopter, a x , a y and a z represent aerodynamic forces acting on the quadcopter (on its respective axis), J R is the moment of inertia of the motor around its axis, b ϕ ,   b θ ,   b ψ are the aerodynamic torques acting on the quadcopter, Ω n is the angular velocity obtained by summing the velocities of the four motors, I x x ,   I y y ,   I z z are moments of inertia of the center of mass of the quadcopter, u i represents the control input, for i = 1 , 2 , 3 , 4 , l is the distance between the center of gravity of the quadrotor and the rotors; ϕ ,   θ ,   ψ ,   x ,   y ,   z are the rotation and translation positions with respect to an inertial frame, respectively.
It is required to control the rotors in terms of angular speeds in order to be able to manipulate the speed of said rotors, controlling the position and orientation axes of the quadrotor. In accordance with [25,26] the equations that relate the control inputs to the rotational speeds of the rotors are as follows:
u 1 u 2 u 3 u 4 = k f k f k f k f 0 k f l 0 k f l k f l 0 k f l 0 k m k m k m k m ω 1 2 ω 2 2 ω 3 2 ω 4 2
where: l is the distance from the rotor to the center of gravity of the quadrotor, k f is the lift coefficient and k m the drag coefficient. ω i represents the angular velocities of each rotor, and can be obtained from (2).

3. Software Description and Communication for Sending and Receiving Data between MATLAB/Simulink and X-Plane

For the simulation and data analysis, the X-Plane (version 10) and MATLAB/Simulink (R2020a) software were used, where in MATLAB/Simulink the control and data analysis stage is carried out and in the X-Plane software the visualization of the behavior of the quadrotor is performed.
The use of X-Plane and MATLAB/Simulink is attractive for the validation of control schemes without the need for a physical prototype. Unlike traditional numerical simulations, where the mathematical model that describes the dynamic behavior of the UAV is used; the operating principle of X-Plane is based on the reading of the geometric shape of the aircraft, physical specifications (weight, engine power, wingspan, wing area, control surfaces and the center of gravity) [27]. This guarantees a better approximation to the real behavior of a UAV since the mathematical models that are usually used generally ignore aerodynamic properties and effects. Therefore, the results obtained with MATLAB/Simulink and X-Plane are closer to the real behavior of the UAV. Thus, X-Plane is a realistic flight simulator that has several aircraft models that can be simulated in different flight scenarios and environmental conditions, it even allows you to transmit and manipulate data from said aircraft. The X-Plane software integrates a platform called Plane Maker, which is used especially to design and modify aircraft according to your objectives [28].
The image shown in Figure 3 presents an example of X-Plane simulation scenarios.

3.1. Plane Maker

Plane Maker is a platform that includes X-Plane which allows users to design aircraft, accepting parameters such as weight, size, power and ratio of engines, and type and size of propellers, among many others. Within its workspace, Plane Maker makes it possible to use all its flight scenarios around the world, as well as having the aircraft that it includes as examples and communication between external software. For the simulation of the proposed control schemes, the quadrotor shown in Figure 1 was used, which was designed in Plane Maker.
The construction dimensions of the quadrotor designed in Plane Maker are presented in Table 1.
The physical parameters of the quadrotor obtained from the design created in X-Plane/Plane maker are those shown in Table 2.

3.2. Communication between MATLAB/Simulink and X-Plane

In order to send and receive data between MATLAB/Simulink and X-Plane, the user datagram protocol (UDP) is used. This communication protocol consists of configuring an IP address, as well as the specific ports for sending and data reception.
MATLAB/Simulink provides a UDP communication library, which allows data exchange using the corresponding block programming. The UDP protocol is a relatively simple communication protocol for data transfer [29].
The standard protocol for sending and receiving data from X-Plane is UDP, and it is supported by Matlab/Simulink [30]. Its main advantage is the ability to communicate in near real-time with minimal delays; the only delays are caused by the Windows operating system (which is not considered a real-time operating system) [29].
To carry out the communication, an IP address and specific ports for sending/receiving data must be configured, for which it is important to take into account the following considerations:
  • Within X-Plane, in the Settings → Network Connections → Data section, the IP address is indicated (see Figure 4).
  • In the same section of X-Plane, the ports for sending and receiving data are indicated.
Once both the address and the communication ports are configured, it is possible to use the MATLAB/Simulink UDP blocks (see Figure 5) to send and receive data between MATLAB/Simulink and X-Plane.
The blocks used for sending and receiving data are located in the XPB X-Plane block set, which is designed for interaction between X-Plane and MATLAB/Simulink. These blocks can be downloaded at: https://la.mathworks.com/matlabcentral/fileexchange/76028-x-plane-blockset (accessed on 20 August 2024 ).
UDP communication supports both IPv4 (Internet Protocol version 4) and IPv6 (Internet Protocol version 6) addresses; IPv4 is frequently used in applications that require fast response times and tolerate some data loss, which is one of the reasons why X-Plane uses it [31]. A UDPv4 packet has a maximum length of 65,535 bytes, and Transmission Control Protocol (TCP) ports range from 0 to 65,535; of which 1024 to 49,151 are registered ports. Because these ports are reserved for specific applications, X-Plane uses them freely without affecting any other protocols.
To establish communication between MATLAB/Simulink and X-Plane, the IP address must first be configured, after this, set the UDP port to 49,001, which is provided by default to send data from X-Plane to MATLAB/Simulink.

4. Control Schemes

Since the system presented in (1) has highly nonlinear dynamics, it is difficult to control and stabilize it. Therefore, it is proposed to feedforward the system dynamics in combination with the control proposals raised in Section 4.1, Section 4.2, Section 4.3, Section 4.3.2 and Section 4.3.1. The aforementioned feedforward is obtained from (1) and its objective is to linearize the system in the coordinates z , ϕ , θ , ψ .
For the feedforward, only the known dynamics of the quadrotor were considered, considering the rotor speed and friction coefficients as perturbations. Thus, the following feedforward control actions are proposed:
u 1 = m ( v z + g ) c o s ϕ c o s θ
u 2 = I x x v ϕ ( I y y I z z ) θ ˙ ψ ˙ l
u 3 = I y y v θ ( I y y I z z ) ϕ ˙ ψ ˙ l
u 4 = I z z v ψ ( I x x I y y ) θ ˙ ϕ ˙
v z , v ϕ , v θ y v ψ are auxiliary controllers. To be clearer about the structure of the controllers applied in the system, it is worth mentioning that three proposals were carried out to analyze the behavior of the quadrotor.
The control architecture is shown in Figure 6, which is applied to the flight control analysis of the quadrotor, presenting the interaction between MATLAB/Simulink and X-Plane for sending and receiving data between both software.
Figure 6 shows the control scheme used for the flight of the quadrotor, where the first block is the feedforward control block, which presents the dynamics shown in (3)–(6) combining the controllers mentioned in the following subsections with the objective of linearizing the system in the coordinates z , ϕ , θ , ψ ; the control inputs u z , u ϕ , u θ , u ψ are sent to a transformation matrix which converts the control force terms into terms of angular velocities ω 1 , ω 2 , ω 3 , ω 4 which are sent to each rotor of the quadrotor in X-Plane through communication UDP, once this is conducted, by receiving data through UDP communication the coordinates z , ϕ , θ , ψ measured from X-Plane are obtained and with this feedback to the feedforward system with the desired coordinates z * , ϕ * , θ * , ψ * .
The compared control schemes are described below: Feedforward PID [17]; feedforward PD in combination with nested saturations [16]; GPI and nested saturations, both feedforward [1]. In the first proposal, PID-type controllers were used in the four axes to analyze the behavior of the quadrotor and achieve the desired values in the four axes satisfactorily. For the second proposal, a PD controller was used in the z-axis to reach the trajectory faster, in the ϕ and θ axes, nested saturation controllers were used to stabilize the roll and pitch coordinates and in the ψ a PID controller was used to reduce oscillations in the yaw angle. Finally, the third proposal was applied as follows: for the height axis z, a triple integrator GPI controller was used to better follow the trajectory tracking and reject disturbances; in the orientation part of the angles ϕ and θ a control law for nested saturations was applied which consists of a chain of integrators design with a backtracking procedure to stabilize the system at these angles for open environments and as in the previous proposals; the angle ψ is manipulated by a PID type controller.

4.1. Proposal 1: Feedforward PID

For this first control proposal, it was proposed that the auxiliary controllers v z , v ϕ , v θ , v ψ mentioned in Equations (3)–(6), were of PID type, which have the following structure:
v i = k p i e i ( t ) + k i i 0 t e i ( τ ) d τ + k d i d d t e i ( t )
with: k p the proportional gain, k i the integral gain and k d the derivative gain, e i ( t ) is the position error with respect to time, which is calculated as d e s i r e d v a l u e m e a s u r e d v a l u e .
Figure 7 presents a block structure which describes the PID controller.

4.2. Proposal 2: Feedforward PD, PID and Nested Saturations

A PD feedforward controller was used to manipulate the z axis and ψ angle; while to stabilize the ϕ and θ angles, a nested saturation controller was used [16].
The structure of the feedforward PD is the same as that presented in (7), omitting the integral part.

Nested Saturations Controller

The nested saturation controller used to stabilize the angles ϕ and θ is the one proposed in [16], which has the following structure:
v ϕ = σ ϕ 1 ϕ ˙ + σ ϕ 2 ϕ + ϕ ˙ + σ ϕ 3 2 ϕ + ϕ ˙ + y ˙ g + σ ϕ 4 ϕ ˙ + 3 ϕ + 3 y ˙ g + y g
v θ = σ θ 1 θ ˙ + σ θ 2 θ + θ ˙ + σ θ 3 2 θ + θ ˙ x ˙ g + σ θ 4 θ ˙ + 3 θ 3 x ˙ g x g
where σ ϕ i and σ θ i are saturation functions, for i = 1 , 2 , 3 , 4 .
Based on the stability test performed in [16], the following conditions are proposed to keep the quadrotor in hover (at its equilibrium point):
M ϕ 1 , θ 1 2 M ϕ 2 , θ 2 , M ϕ 2 , θ 2 2 M ϕ 3 , θ 3 , M ϕ 3 , θ 3 2 M ϕ 4 , θ 4
M ϕ i and M θ i for i = 1 , 2 , 3 , 4 are the lower and upper bounds of the saturations.
The scheme that represents the dynamics of the control by nested saturations is shown in Figure 8.

4.3. Proposal 3: GPI Controller and Nested Saturations

In this section, a GPI controller with three integrators for height was considered; a nested saturation controller was proposed for open navigation environments to stabilize the angles ϕ and θ ; while for the angle ψ the same control law of Proposals 1 is used [1]. The proposed structures for the controllers used are presented below:

4.3.1. GPI Controller

The GPI controller structure was proposed as shown below [32]:
Be the system:
z ¨ = u G P I + ξ
where: ξ is an unknown constant disturbance signal.
We use the following integral reconstructor, which is designed to compensate for the lack of z ˙ measurement.
z ˙ ^ = 0 t u G P I ( τ ) d t
Considering z * ( t ) as a smooth reference signal for z, u G P I is proposed as [1]:
v z G P I = z ¨ * + k p e z + k d e ˙ z + k i 1 0 t e z d τ + k i 2 0 t 0 t e z d τ 2 d τ 1 + k i 3 0 t 0 t 0 t e z d τ 3 d τ 2 d τ 1
with e ˙ z ( t ) = z ˙ ^ ( t ) z ˙ * ( t ) , e z ( t ) = z ( t ) z ( t ) * .
If we substitute (11) into (13) and express the resulting dynamics in terms of the tracking error, we obtain the following dynamics:
e z ( 5 ) + k p e z ( 4 ) + k d e z ( 3 ) + K i 1 e ¨ z + K i 2 e ˙ z + K i 3 e z = 0
k i , i = 0 , 1 , 2 , 3 , 4 are chosen so that the roots of the characteristic polynomial s 5 + k 4 s 4 + k 3 s 3 + k 2 s 2 + k 1 s + k 0 lie on the left side of the complex (Hurwitz) plane. This makes the GPI controller robust to constant perturbations.

4.3.2. Nested Saturations Controller

A modification of the control scheme proposed in [1] is used, which uses a controller based on nested saturations to bring its equilibrium point to the ϕ and θ angles. The technique has as its main requirement the representation of a non-linear system as chains of integrators with non-linear perturbations [33]. The design procedure consists of a backstepping procedure that results in a fixed-point equation at the control input [1,34].
The operating logic of this proposal considers the following steps: (1) the z axis and the ψ angle are stabilized and (2) the coordinates θ , x and ϕ , y are stabilized.
The nested saturation controller to stabilize the orientation angles ϕ and θ has the following structure [1]:
For the control of the angle θ , it is considered that controllers (3), (6) and (11) guarantee the convergence of the tracking error to the origin, in particular, ψ * = 0 . Thus, the subsystem x , θ is represented as follows [1]
x ˙ 1 = x 2 x ˙ 2 = g t a n θ 1 + β x x 2 + z ˙ 2 * t a n θ 1 θ ˙ 1 = θ 2 θ ˙ 2 = v θ η θ ϕ 2 + β θ θ 2
where, β x = a x m , β θ = b θ I y y , η θ = J R ω n I y y
The following transformation is defined, with which the system (15) can be expressed as a chain of integrators with non-linear perturbations.
ω 1 θ = g t a n θ 1 ω 2 θ = ω ˙ 1 = g θ 2 s e c 2 θ 1
getting
q 1 θ = x 1 + 3 x 2 + 3 ω 1 θ + ω 2 θ
q 2 θ = x 2 + 2 ω 1 θ + ω 2 θ
q 3 θ = ω 1 θ + ω 2 θ
q 4 θ = ω 2 θ
Thus, the proposed controller has the following structure:
v θ = q 4 θ σ α θ ( q 3 θ + σ β θ ( q 2 θ + σ γ θ ( q 1 θ ) ) )
To control the angle ϕ ; if θ 2 and x 2 are very close to zero, the subsystem y , ϕ is represented as follows:
y ˙ 1 = y 2 y ˙ 2 = g t a n ϕ 1 + β y y 2 z ˙ 2 * t a n ϕ 1 ϕ ˙ 1 = ϕ 2 ϕ ˙ 2 = v ϕ + β ϕ ϕ 2
The following transformation is applied:
ω 1 ϕ = g t a n ϕ 1 ω 2 ϕ = g ϕ 2 s e c 2 ϕ 1
As a result, the following chain of integrators is obtained:
q 1 ϕ = y 1 3 y 2 + 3 ω 1 ϕ + ω 2 ϕ
q 2 ϕ = y 2 + 2 ω 1 ϕ + ω 2 ϕ
q 3 ϕ = ω 1 ϕ + ω 2 ϕ
q 4 ϕ = ω 2 ϕ
Thus, the proposed controller is:
v ϕ = q 4 ϕ σ α ϕ ( q 3 ϕ + σ β ϕ ( q 2 ϕ + σ γ ϕ ( q 1 ϕ ) ) )
The control architecture that represents the routine performed by the nested saturation, GPI and PID controllers is shown in Figure 9.

5. Numerical Results and Comparison

This section shows the results obtained in the X-Plane software for the three proposals made; the implementation sequence for the quadrotor control analysis is shown in Figure 6. These proposals were made with different wind speeds that were selected between 0, 25 and 50 knots (kn).
Each case has the following purpose: in the z axis the aim is to track the trajectory of a Bezier polynomial of degree 9, reaching an initial value of 3 m and a final value of 40 m with initial and final times of 20 and 50 s, respectively. For the angles ϕ and θ , the equilibrium point of 0 rad must be reached and at angle ψ we wish to achieve the tracking of a sine function of type 179 + 15 s i n ( 0.1 t ) . The above is conducted with a fixed simulation step of 0.05 s.
The control parameters used in the simulations are shown in Table 3.
The controller gains were obtained through trial and error estimation analysis, examining each selected value, following the procedure shown below: First, the gains of v z were calculated, then v ϕ was tuned, then v θ , finally obtaining the profits for v ψ .
The tuning methodology used to find the values of the control gains was as follows: for the PID controller, first all the gains were set to zero, then the proportional constant k p was increased until a response was obtained that was most similar to the desired response. The integral gain k i was adjusted to correct the steady state error and finally k d was adjusted to reduce the overshoots.
The tuning to propose the values to the controller gains by nested saturations of proposal 2 was, starting from the stability test shown in [16], first σ ϕ 1 , θ 1 was adjusted, then it was proposed σ ϕ 2 , θ 2 = 1 2 σ ϕ 1 , θ 1 , σ ϕ 3 , θ 3 = 1 2 σ ϕ 2 , θ 2 and σ ϕ 4 , θ 4 = 1 2 σ ϕ 3 , θ 3 , the above was proposed to maintain stability in the axes ϕ and θ . To tune the control gains by nested saturations of proposal 3, σ ϕ α , β , γ , θ α , β , γ were first placed at zero, then σ ϕ γ , θ γ was adjusted, then σ ϕ β , θ β was adjusted and finally σ ϕ α , θ α was estimated.
For the GPI controller gains, the values of k p , k i 1 , k i 2 , k i 3 and k d were initially proposed to ensure that the roots of the polynomial were Hurwitz (in numerical simulation). Subsequently, when linking MATLAB/Simulink with X-Plane, it was necessary to modify these (based on numerical results); first, the gain k p was increased, then k i 1 , subsequently k i 2 , then k i 3 and finally k d to reduce the overshoot.
Figure 10 shows the results obtained in each of the quadrotor axes. It is observed that the applied controllers try to reach the desired value: in the z and ψ axes it is observed that the desired trajectory is followed in the three proposals (see Figure 10a,d), for ϕ and θ the controllers used aim to reach the equilibrium point (stabilize the quadrotor) (see Figure 10b,c). Thus, it is concluded that the proposed controllers 1 and 3 show better performance.
The responses shown in Figure 11, exhibit the behavior of the quadrotor for a wind speed of 25 kn, in this case, the trajectory tracking for the z and ψ axes is observed with larger oscillations, where the controllers used in proposal 3 are the ones that present the best behavior towards trajectory following (see Figure 11a,d), at the angles ϕ and θ the controllers of the three proposals carried out try to reach the intended value, so the controllers that have the best behavior are those of proposal 3 (see Figure 11b,c).
Figure 12 shows the results for the flight of the quadrotor at a wind speed of 50 knots, where large oscillations can be seen when trying to reach the desired value, as well as ψ taking a longer time to achieve the control objective which is due to the fact that if the wind speed is higher, it will directly affect the angle ψ , on the other hand the controllers applied for proposal 3 continue to respond better than those applied in the proposals 1 and 2.
The control actions u 1 , u 2 , u 3 and u 4 shown in Figure 13, Figure 14 and Figure 15 present the behavior of the controllers at wind speeds of 0, 25 and 50 knots, it can be seen that if the wind speed is high, the force increases, which corresponds to the force required for the quadrotor to remain in stationary flight, while u 1 , u 2 , u 3 and u 4 They keep oscillating around zero, this to try to maintain the stability of the quadrotor. It is worth mentioning that the values of the controllers are limited to possible operating ranges.

Comparison of Control Schemes

To better observe the comparison of the behavior of the controllers applied in each proposal, the following error performance metrics were obtained: Integral Error (IE) = 0 T e ( t ) d t ; Integral of the Absolute Error (IAE) = 0 T e ( t ) d t and the Mean Square Error (MSE) = 1 n i = 1 n ( e ) 2 .
Figure 16, Figure 17, Figure 18 and Figure 19 show the behavior of the error, IE, IAE and MSE, respectively, in the z , ϕ , θ , ψ axes for the three control proposals at a wind speed of 50 kn.
Figure 16 shows the comparison of the error in the z , ϕ , θ , ψ axes for the three mentioned proposals at a wind speed of 50 kn.
The Figure 17, Figure 18 and Figure 19 present the comparative behavior of the IE, IAE and the MSE, respectively, for the axes z , ϕ , θ , ψ at a wind speed of 50 kn.
Table 4 shows the results obtained for the error, IE, IAE and MSE, where the control performance is shown for each proposal applied.
The results seen in Table 4 are those obtained by exposing the Quadrotor to wind speeds of 0 kn and 25 kn.
From Table 4 and Figure 16, Figure 17, Figure 18 and Figure 19, it can be seen that control proposals 1 and 3 present good behavior in z , ϕ , θ , ψ at wind speeds of 0 kn and 25 kn, with proposal 3 being the one that shows the best control dynamics at a wind speed of 50 kn. Control proposal 2 can be seen to have acceptable behavior at a wind speed of 0 kn, since at higher wind speeds, this proposal fails to achieve the desired trajectory for the axes z , ϕ , θ , ψ . From the above, proposal 3 exhibits better dynamics at wind speeds of 0, 25 and 50 kn.
To see in more detail the behavior of the quadrotor at different wind speeds with the proposals in this work, it is recommended to visit: https://www.youtube.com/watch?v=zbDBYA23-Dw (accessed on 20 August 2024 ).
The images shown in Figure 20, present the behavior of the quadrotor in the X-Plane, as well as its simulation environment.

6. Conclusions

The use of X-Plane and MATLAB/Simulink is attractive for the validation of control schemes without the need for a physical prototype. In this work, it was possible to integrate both tools and thus carry out the analysis of the behavior of the quadrotor in the face of environmental disturbances in a realistic simulation environment, validating the sending and receiving of data through the UDP communication protocol.
The advantages of using MATLAB/Simulink and X-Plane are as follows: being able to design your own aircraft and visualize its dynamics in different flight scenarios; in addition, meteorological variables that usually affect the aircraft in a real scenario can be added.
Regarding the control proposals, these allowed the tracking of the trajectories, even with the system exposed to different wind speeds. The application of the different control laws in the three proposals allowed us to know the robustness of each controller under different wind speeds; proposal 3 was the one that exhibited the best behavior under these environmental disturbances, allowing the desired values to be reached on the axes z , ϕ , θ , ψ .
It is worth noting that the third controller differs from the controller reported in [1] in its operating logic; in this work, the z-axis is controlled first, then the ψ angle, then θ and finally ϕ ; while in [1] ϕ is controlled before θ . This is due to the mathematical model used, which in our case is based on a local geodetic coordinate system ENU. Thus, the design methodology proposed in [1] is validated for both ENU and NED-based models.
Using the transformation matrix, it was possible to determine the angular velocities of each motor based on the control actions, which allowed the analysis of the quadcopter flight control in the X-Plane software. Thus, it was possible to analyze the performance of the control schemes under different wind speeds.
It is essential to highlight that the quadrotor’s mathematical model was only used to design the control schemes, which, together with the transformation matrix, were programmed in MATLAB/Simulink. Thus, using X-Plane as a MIL environment is validated; this allows for identifying errors or problems of the proposed controllers, optimizing their performance, and evaluating different design/modification options before their coding and physical implementation [18]. The integration of MATLAB/Simulink and X-Plane results in a low-risk test environment, which allows testing and evaluating the control schemes without risking physical systems, saving time and money [35].
The proposed software integration presents opportunities for designing and validating new control schemes and innovative aircraft designs and inspires future work. Analyzing the flight behavior of large-scale aircraft stands out as a potential area for further research. The proposed co-simulation could also be expanded to include trajectory tracking, point-to-point route following, and quadrotor consensus or formation tasks. Additionally, the communication with external embedded control cards must be explored. These possibilities for future work highlight the potential for further innovation and research in this field.

Author Contributions

Conceptualization, Y.L.-H.; Methodology, O.G.-F. and Y.L.-H.; Software, R.Y.A.-A., H.R.-C. and J.A.A.-A.; Validation, J.A.A.-A.; Formal analysis, R.Y.A.-A., O.G.-F. and Y.L.-H.; Investigation, R.Y.A.-A.; Resources, O.G.-F., Y.L.-H. and H.R.-C.; Data curation, R.Y.A.-A., H.R.-C. and J.A.A.-A.; Writing—original draft, R.Y.A.-A.; Writing—review and editing, O.G.-F., Y.L.-H. and H.R.-C.; Visualization, H.R.-C. and J.A.A.-A.; Supervision, O.G.-F., Y.L.-H. and H.R.-C.; Project administration, Y.L.-H.; Funding acquisition, Y.L.-H., O.G.-F. and J.A.A.-A. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the Secretaría de Investigación y Posgrado del Instituto Politécnico Nacional (SIP-IPN) under grants 20241125, 20240039, 20240705, 20241802, and 20231772. The fourth author was partially supported by Consejo Nacional de Humanidades, Ciencias y Tecnologías (CONAHCYT) through the Ciencia de Frontera project CF-2023-I-551.

Data Availability Statement

The original contributions presented in the study are included in the article, further inquiries can be directed to the corresponding author.

Acknowledgments

Ricardo Y. Almazan-Arvizu is a CONAHCYT fellow (CVU 889449) and is thankful for the support received.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
ENUEast, North, Up
GPIGeneralized Proportional Integral controller
HILHardware-In-the-Loop
IEIntegral Error
IAEIntegral of the Absolute Error
MSEMean Square Error
IPv4Internet Protocol version 4
IPv6Internet Protocol version 6
MILModel-in-Loop
NEDNorth, East, Down
PDProportional Derivative Controller
PIDProportional Integral Derivative Controller
UAVUnmanned Aerial Vehicle
UDPUser Datagram Protocol
VTOLVertical Take-Off and Landing

References

  1. Lozano Hernández, Y.; Gutiérrez Frías, O.; Lozada-Castillo, N.; Luviano Juárez, A. Control algorithm for taking off and landing manoeuvres of quadrotors in open navigation environments. Int. J. Control Autom. Syst. 2019, 17, 2331–2342. [Google Scholar] [CrossRef]
  2. Zhao, B.; Xian, B.; Zhang, Y.; Zhang, X. Nonlinear robust adaptive tracking control of a quadrotor UAV via immersion and invariance methodology. IEEE Trans. Ind. Electron. 2014, 62, 2891–2902. [Google Scholar] [CrossRef]
  3. Hoffmann, G.; Huang, H.; Waslander, S.; Tomlin, C. Quadrotor helicopter flight dynamics and control: Theory and experiment. In Proceedings of the AIAA Guidance, Navigation and Control Conference and Exhibit, Hilton Head, SC, USA, 20–23 August 2007; p. 6461. [Google Scholar]
  4. Cabecinhas, D.; Naldi, R.; Silvestre, C.; Cunha, R.; Marconi, L. Robust landing and sliding maneuver hybrid controller for a quadrotor vehicle. IEEE Trans. Control Syst. Technol. 2015, 24, 400–412. [Google Scholar] [CrossRef]
  5. Wang, C.; Li, W.; Chen, W.; Wang, Y.; Liu, M.; Gao, F. Autonomous landing control of quadrotor UAVs. In Proceedings of the 2015 IEEE International Conference on Cyber Technology in Automation, Control, and Intelligent Systems (CYBER), Shenyang, China, 8–12 June 2015; pp. 276–280. [Google Scholar]
  6. Lyu, X.; Gu, H.; Zhou, J.; Li, Z.; Shen, S.; Zhang, F. Simulation and flight experiments of a quadrotor tail-sitter vertical take-off and landing unmanned aerial vehicle with wide flight envelope. Int. J. Micro Air Veh. 2018, 10, 303–317. [Google Scholar] [CrossRef]
  7. Aláez, D.; Olaz, X.; Prieto, M.; Porcellinis, P.; Villadangos, J. HIL Flight Simulator for VTOL-UAV Pilot Training Using X-Plane. Information 2022, 13, 585. [Google Scholar] [CrossRef]
  8. Yu, L.; He, G.; Zhao, S.; Wang, X.; Shen, L. Design and implementation of a hardware-in-the-loop simulation system for a tilt trirotor UAV. J. Adv. Transp. 2020, 2020, 4305742. [Google Scholar] [CrossRef]
  9. Zhao, S.; Wang, X.; Zhang, D.; Shen, L. Curved path following control for fixed-wing unmanned aerial vehicles with control constraint. J. Intell. Robot. Syst. 2018, 89, 107–119. [Google Scholar] [CrossRef]
  10. Ersoy, E.; Yalçın, M.K. Designing autopilot system for fixed-wing flight mode of a tilt-rotor UAV in a virtual environment: X-Plane. Int. Adv. Res. Eng. J. 2018, 2, 33–42. [Google Scholar]
  11. Meyer, A. X-Plane 9 Operation Manual. Laminar Res. 2011. Available online: http://www.x-plane.com/files/manuals/X-Plane_Desktop_manual.pdf (accessed on 16 July 2024).
  12. Zabidin, Y.A.A.; Pairan, M.F.; Shamsudin, S.S. Dynamic modelling and control for quadcopter uav with labview and x-plane flight simulator. J. Complex Flow 2020, 2, 19–26. [Google Scholar]
  13. Bittar, A.; De Oliveira, N.M.F.; De Figueiredo, H.V. Hardware-in-the-loop simulation with X-plane of attitude control of a SUAV exploring atmospheric conditions. J. Intell. Robot. Syst. 2014, 73, 271–287. [Google Scholar] [CrossRef]
  14. Garcia, R.; Barnes, L. Multi-UAV simulator utilizing X-Plane. In Selected Papers from the 2nd International Symposium on UAVs, Reno, Nevada, USA June 8–10; Springer: Dordrecht, The Netherlands, 2010; pp. 393–406. [Google Scholar]
  15. Kaviyarasu, A.; Kumar, K.S. Simulation of flapping-wing unmanned aerial vehicle using X-plane and Matlab/Simulink. Def. Sci. J. 2014, 64, 327. [Google Scholar] [CrossRef]
  16. Castillo, P.; Lozano, R.; Dzul, A.E. Modelling and Control of Mini-Flying Machines; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2005. [Google Scholar]
  17. Álvarez-Ortiz, I.G.; Sánchez-Meza, V.G.; Lozano-Hernández, Y.; González-Sierra, J.; Almazán-Arvizu, R.Y. Integración de X-Plane como hardware-in-the-loop para la validación de esquemas de control en VANTs tipo quadrotor. Pädi Bol. Cient. Cienc. Básicas Ing. ICBI 2023, 11, 137–146. [Google Scholar] [CrossRef]
  18. Karle, U.S.; Subramaniam, A.; Venkatesan, K.P.; Komawar, A.B.; Annamalai, R.; Marathe, M.; McCoy, C. Development of Antilock Braking System (ABS) Controller Using Model Based Development (MBD) from Concept to Vehicle Trials (No. 2013-26-0084); SAE Technical Paper; SAE International: Warrendale, PA, USA, 2013. [Google Scholar]
  19. de Pierrepont, I.D.D.M.; Carminati, D.; Scanavino, M.; Capello, E. Model-in-the-loop testing of control systems and path planner algorithms for quadrotor uavs. In Proceedings of the 2020 International Conference on Unmanned Aircraft Systems (ICUAS), Athens, Greece, 1–4 September 2020; pp. 1809–1818. [Google Scholar]
  20. Ingalalli, A.; Satheesh, H.; Kande, M. Platform for hardware in loop simulation. In Proceedings of the 2016 International Symposium on Power Electronics, Electrical Drives, Automation and Motion (SPEEDAM), Capri, Italy, 22–24 June 2016; pp. 41–46. [Google Scholar]
  21. Elruby, A.Y.; El-Khatib, M.M.; El-Amary, N.H.; Hashad, A.I. Dynamic modeling and control of quadrotor vehicle. In Proceedings of the International Conference on Applied Mechanics and Mechanical Engineering (Vol. 15, No. 15th International Conference on Applied Mechanics and Mechanical Engineering, Military Technical College, Cairo, Egypt, 29–31 May 2012; pp. 1–10. [Google Scholar]
  22. Shao, X.; Liu, J.; Cao, H.; Shen, C.; Wang, H. Robust dynamic surface trajectory tracking control for a quadrotor UAV via extended state observer. Int. J. Robust Nonlinear Control 2018, 28, 2700–2719. [Google Scholar] [CrossRef]
  23. Dong, W.; Gu, G.Y.; Zhu, X.; Ding, H. Modeling and control of a quadrotor UAV with aerodynamic concepts. World Acad. Sci. Eng. Technol. 2013, 7, 901–906. [Google Scholar]
  24. Lozano-Hernández, Y.; Sánchcz-Meza, V.G.; Castillo-Ortiz, C.A.; Rodríguez-Cortés, H.; Guitiérrez-Frías, O.O. Rejection of Disturbances due to Drag and Lift Forces Present in the Taking Off of SUAVI-type UAV. In Proceedings of the 2021 IEEE URUCON, Montevideo, Uruguay, 24–26 November 2021; pp. 444–449. [Google Scholar]
  25. Çetinsoy, E.; Dikyar, S.; Hançer, C.; Oner, K.T.; Sirimoglu, E.; Unel, M.; Aksit, M.F. Design and construction of a novel quad tilt-wing UAV. Mechatronics 2012, 22, 723–745. [Google Scholar] [CrossRef]
  26. Mellinger, D.; Kumar, V. Minimum snap trajectory generation and control for quadrotors. In Proceedings of the 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011; pp. 2520–2525. [Google Scholar]
  27. Mazlan, N.E.A.; Shamsudin, S.S.; Pairan, M.F.; Yaakub, M.F.; Ramli, M.F. The design of an automatic flight control system and dynamic simulation for fixed-wing unmanned aerial vehicle (UAV) using X-Plane and LabVIEW. Prog. Aerosp. Aviat. Technol. 2021, 1, 56–69. [Google Scholar] [CrossRef]
  28. Cerezo-Pacheco, A.D.; Pérez-Velasco, C.A.; Lozano-Hernández, Y.; Rodríguez-Cortés, H.; Sánchez-Meza, V.G. Integration of X-Plane and Matlab for modeling and simulation of a tiltrotor UAV. In Proceedings of the 2021 International Conference on Mechatronics, Electronics and Automotive Engineering (ICMEAE), Cuernavaca, Mexico, 22–26 November 2021; pp. 39–44. [Google Scholar]
  29. Jalovecký, R.; Bystřický, R. On-line analysis of data from the simulator X-plane in MATLAB. In Proceedings of the 2017 International Conference on Military Technologies (ICMT), Brno, Czech Republic, 31 May–2 June 2017; pp. 592–597. [Google Scholar]
  30. Figueiredo, H.V.; Saotome, O. Simulation platform for quadricopter: Using matlab/simulink and x-plane. In Proceedings of the 2012 Brazilian Robotics Symposium and Latin American Robotics Symposium, Fortaleza, Brazil, 16–19 October 2012; pp. 51–55. [Google Scholar]
  31. Lévesque-Landry, K. Évaluation de l’intergiciel de Communication DDS Pour Son Utilisation Dans le Domaine Avionique. Doctoral Dissertation, École de technologie supérieure, Montreal, QC, Canada, 2015. [Google Scholar]
  32. Sira-Ramírez, H.; Sira-Ramírez, H. Delta-Sigma Modulation; Springer International Publishing: Berlin/Heidelberg, Germany, 2015; pp. 89–125. [Google Scholar]
  33. Teel, A.R. Global stabilization and restricted tracking for multiple integrators with bounded controls. Syst. Control Lett. 1992, 18, 165–171. [Google Scholar] [CrossRef]
  34. Olfati-Saber, R. Fixed point controllers and stabilization of the cart-pole system and the rotating pendulum. In Proceedings of the 38th IEEE Conference on Decision and Control (Cat. No. 99CH36304), Phoenix, AZ, USA, 7–10 December 1999; Volume 2, pp. 1174–1181. [Google Scholar]
  35. Tahir, M.A.; Mir, I.; Islam, T.U. Control algorithms, Kalman estimation and near actual simulation for UAVs: State of art perspective. Drones 2023, 7, 339. [Google Scholar] [CrossRef]
Figure 1. Quadrotor reference frames.
Figure 1. Quadrotor reference frames.
Drones 08 00409 g001
Figure 2. Relationship of rotational movements of the quadrotor. (a) Lift. (b) Roll rotation. (c) Pitch rotation. (d) Yaw rotation.
Figure 2. Relationship of rotational movements of the quadrotor. (a) Lift. (b) Roll rotation. (c) Pitch rotation. (d) Yaw rotation.
Drones 08 00409 g002
Figure 3. X-Plane simulation environment.
Figure 3. X-Plane simulation environment.
Drones 08 00409 g003
Figure 4. IP address and UDP port configuration.
Figure 4. IP address and UDP port configuration.
Drones 08 00409 g004
Figure 5. Blocks for sending and receiving data between MATLAB/Simulink and X-Plane.
Figure 5. Blocks for sending and receiving data between MATLAB/Simulink and X-Plane.
Drones 08 00409 g005
Figure 6. Control architecture.
Figure 6. Control architecture.
Drones 08 00409 g006
Figure 7. PID control scheme.
Figure 7. PID control scheme.
Drones 08 00409 g007
Figure 8. Nested saturations control scheme.
Figure 8. Nested saturations control scheme.
Drones 08 00409 g008
Figure 9. Nested saturations control scheme for open environments.
Figure 9. Nested saturations control scheme for open environments.
Drones 08 00409 g009
Figure 10. Behavior of the quadrotor at a wind speed of 0 kn. (a) Position in z, (b) Orientation in ϕ , (c) Orientation in θ , (d) Orientation in ψ .
Figure 10. Behavior of the quadrotor at a wind speed of 0 kn. (a) Position in z, (b) Orientation in ϕ , (c) Orientation in θ , (d) Orientation in ψ .
Drones 08 00409 g010
Figure 11. Behavior of the quadrotor at a wind speed of 25 kn: (a) z-axis; (b) ϕ angle; (c) θ angle and (d) ψ angle.
Figure 11. Behavior of the quadrotor at a wind speed of 25 kn: (a) z-axis; (b) ϕ angle; (c) θ angle and (d) ψ angle.
Drones 08 00409 g011
Figure 12. Behavior of the quadrotor at a wind speed of 50 kn: (a) z-axis; (b) ϕ angle. (c) θ angle and (d) ψ angle.
Figure 12. Behavior of the quadrotor at a wind speed of 50 kn: (a) z-axis; (b) ϕ angle. (c) θ angle and (d) ψ angle.
Drones 08 00409 g012
Figure 13. Behaviorof control actions at wind speed of 0 kn: (a) u 1 ; (b) u 2 ; (c) u 3 and (d) u 4 .
Figure 13. Behaviorof control actions at wind speed of 0 kn: (a) u 1 ; (b) u 2 ; (c) u 3 and (d) u 4 .
Drones 08 00409 g013
Figure 14. Control actions with a wind speed of 25 kn: (a) u 1 ; (b) u 2 ; (c) u 3 and (d) u 4 .
Figure 14. Control actions with a wind speed of 25 kn: (a) u 1 ; (b) u 2 ; (c) u 3 and (d) u 4 .
Drones 08 00409 g014
Figure 15. Behavior of control actions at wind speed of 50 kn: (a) u 1 . (b) u 2 . (c) u 3 . (d) u 4 .
Figure 15. Behavior of control actions at wind speed of 50 kn: (a) u 1 . (b) u 2 . (c) u 3 . (d) u 4 .
Drones 08 00409 g015
Figure 16. Comparison of the error with a wind speed of 50 kn: (a) error z. (b) error ϕ . (c) error θ . (d) error ψ .
Figure 16. Comparison of the error with a wind speed of 50 kn: (a) error z. (b) error ϕ . (c) error θ . (d) error ψ .
Drones 08 00409 g016
Figure 17. Comparison of the IE with a wind speed of 50 kn: (a) IE z. (b) IE ϕ . (c) IE θ . (d) IE ψ .
Figure 17. Comparison of the IE with a wind speed of 50 kn: (a) IE z. (b) IE ϕ . (c) IE θ . (d) IE ψ .
Drones 08 00409 g017
Figure 18. Comparison of the IAE at a wind speed of 50 kn: (a) IAE z. (b) IAE ϕ . (c) IAE θ . (d) IAE ψ .
Figure 18. Comparison of the IAE at a wind speed of 50 kn: (a) IAE z. (b) IAE ϕ . (c) IAE θ . (d) IAE ψ .
Drones 08 00409 g018
Figure 19. Comparison of the MSE at a wind speed of 50 kn: (a) MSE z. (b) MSE ϕ . (c) MSE θ . (d) MSE ψ .
Figure 19. Comparison of the MSE at a wind speed of 50 kn: (a) MSE z. (b) MSE ϕ . (c) MSE θ . (d) MSE ψ .
Drones 08 00409 g019
Figure 20. Quadrotor behavior in X-Plane: (a) stationary state. (b) takeoff. (c) quadrotor flight upon reaching the desired height.
Figure 20. Quadrotor behavior in X-Plane: (a) stationary state. (b) takeoff. (c) quadrotor flight upon reaching the desired height.
Drones 08 00409 g020aDrones 08 00409 g020b
Table 1. Quadrotor design dimensions.
Table 1. Quadrotor design dimensions.
PartParameterDimension
Cabin (fuselage)Total length 0.13 m
Total width 0.10 m
Thickness 0.05 m
ArmsTotal length 0.30 m
Total width 0.035 m
Thickness 0.02 m
WheelsLongitudinal arm 0.05 m
Diameter 0.01 m
Thickness 0.01 m
EnginesTotal length 0.04 m
Total diameter 0.03 m
PropellersTotal length 0.13 m
root rope 0.02 m
point rope 0.01 m
Table 2. Physical parameters of the quadrotor.
Table 2. Physical parameters of the quadrotor.
ParameterSimbolMagnitudeUnit
Massm1.133kg
Distance from rotor to center of massl0.1981m
Moment of inertia about x I x x 0.1801kg m2
Moment of inertia about y I y y 0.1801kg m2
Moment of inertia about z I z z 0.3561kg m2
Gravitational accelerationg9.81m/s2
Table 3. Gains used in auxiliary controllers.
Table 3. Gains used in auxiliary controllers.
Auxiliary ControlProposal 1Proposal 2Proposal 3
v z k p = 27 k P = 150 k p = 150
k i = 8.4 k d = 5 k d = 5
k d = 36.6 k i 1 = 120 k i 1 = 130
k i 2 = 15 k i 2 = 15
k i 3 = 1
v ϕ k p = 1425 σ ϕ 1 = 0.5 σ α ϕ = 1.5
k i = 170 σ ϕ 2 = 0.25 σ β ϕ = 0.4285
k d = 97 σ ϕ 3 = 0.125 σ γ ϕ = 0.09
σ ϕ 4 = 0.0625
v θ k p = 4000 σ θ 1 = 1.5 σ α θ = 1
k i = 148 σ θ 2 = 0.75 σ β θ = 0.5
k d = 90 σ θ 3 = 0.375 σ γ θ = 0.25
σ θ 4 = 0.175
v ψ k p = 15 k p = 0.5 k p = 0.5
k i = 4 k i = 0.1 k d = 0.8
k d = 8 k d = 0.8
Table 4. Error performance metrics.
Table 4. Error performance metrics.
AxisProposal and Wind SpeedErrorIEIAEMSE
z [m]0 kn0 kn0 kn0 kn0 kn
1 0.85 × 10 3 9.3415.43 7.147 × 10 7
20.2723.0844.170.0724
30.0350.7515.170.001
25 kn25 kn25 kn25 kn25 kn
10.3010.4744.420.09
20.1724.3845.990.03
30.010.923.43 0.37 × 10 3
ϕ [rad]0 kn0 kn0 kn0 kn0 kn
1 0.4 × 10 3 7.4 × 10 5 0.13 1.1 × 10 7
20.010.22.09 0.1 × 10 3
30.010.0080.36 0.14 × 10 3
25 kn25 kn25 kn25 kn25 kn
1 0.4 × 10 3 0.0040.74 1.9 × 10 7
20.031.524.780.001
30.0050.560.9 3.06 × 10 5
θ [rad]0 kn0 kn0 kn0 kn0 kn
1 7.47 × 10 5 0.0030.06 9.9 × 10 9
20.020.522.3 0.3 × 10 3
30.001 0.8 × 10 3 0.31 2.85 × 10 6
25 kn25 kn25 kn25 kn25 kn
1 0.7 × 10 3 0.010.56 4.9 × 10 7
20.060.912.730.003
30.0030.060.46 9.17 × 10 6
ψ [rad]0 kn0 kn0 kn0 kn0 kn
10.00120.030.02 1.6 × 10 6
20.0080.010.3 6.47 × 10 5
3 8.3 × 10 6 0.010.12 1.6 × 10 9
25 kn25 kn25 kn25 kn25 kn
10.0090.033.23 9.8 × 10 5
20.0050.0010.83 2.9 × 10 5
3 0.2 × 10 3 0.420.44 4.2 × 10 8
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Almazan-Arvizu, R.Y.; Gutiérrez-Frías, O.; Lozano-Hernández, Y.; Rodríguez-Cortes, H.; Aguirre-Anaya, J.A. Validation in X-Plane of Control Schemes for Taking off and Landing Manoeuvres of Quadrotors. Drones 2024, 8, 409. https://doi.org/10.3390/drones8080409

AMA Style

Almazan-Arvizu RY, Gutiérrez-Frías O, Lozano-Hernández Y, Rodríguez-Cortes H, Aguirre-Anaya JA. Validation in X-Plane of Control Schemes for Taking off and Landing Manoeuvres of Quadrotors. Drones. 2024; 8(8):409. https://doi.org/10.3390/drones8080409

Chicago/Turabian Style

Almazan-Arvizu, Ricardo Y., Octavio Gutiérrez-Frías, Yair Lozano-Hernández, Hugo Rodríguez-Cortes, and José A. Aguirre-Anaya. 2024. "Validation in X-Plane of Control Schemes for Taking off and Landing Manoeuvres of Quadrotors" Drones 8, no. 8: 409. https://doi.org/10.3390/drones8080409

APA Style

Almazan-Arvizu, R. Y., Gutiérrez-Frías, O., Lozano-Hernández, Y., Rodríguez-Cortes, H., & Aguirre-Anaya, J. A. (2024). Validation in X-Plane of Control Schemes for Taking off and Landing Manoeuvres of Quadrotors. Drones, 8(8), 409. https://doi.org/10.3390/drones8080409

Article Metrics

Back to TopTop