Next Article in Journal
Latency Analysis of Drone-Assisted C-V2X Communications for Basic Safety and Co-Operative Perception Messages
Previous Article in Journal
A Drone-Based Structure from Motion Survey, Topographic Data, and Terrestrial Laser Scanning Acquisitions for the Floodgate Gaps Deformation Monitoring of the Modulo Sperimentale Elettromeccanico System (Venice, Italy)
Previous Article in Special Issue
Aerodynamic Interaction Minimization in Coaxial Multirotors via Optimized Control Allocation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Dynamic Inversion-Enhanced U-Control of Quadrotor Trajectory Tracking

by
Ahtisham Lone
1,
Quanmin Zhu
1,*,
Hamidreza Nemati
1 and
Paolo Mercorelli
2
1
School of Engineering, University of the West of England, Frenchay Campus, Coldharbour Lane, Bristol BS16 1QY, UK
2
Control and Drive Systems, Leuphana University of Lüneburg, Universitätsallee 1, 21335 Lüneburg, Germany
*
Author to whom correspondence should be addressed.
Drones 2024, 8(10), 599; https://doi.org/10.3390/drones8100599
Submission received: 20 August 2024 / Revised: 9 October 2024 / Accepted: 16 October 2024 / Published: 18 October 2024
(This article belongs to the Special Issue Dynamics Modeling and Conceptual Design of UAVs)

Abstract

:
This study proposes a universal (U)-control enhanced with dynamic inversion for a class of multiple-input multiple-output (MIMO) quadrotor flight tracking operations. In the technique, a robust compensator is integrated with the U-controller to achieve stabilisation at the equilibrium and setpoint tracking in the presence of any unmodelled uncertainties and external disturbances. A series of bench tests of simulated and real experiments on a Parrot Mambo quadrotor are conducted to show the design framework from the academic formulation to Simulink simulation and real flight tests.

1. Introduction

Over the last decade, the fast advancement of unmanned aerial vehicles (UAVs) has opened numerous possibilities in various fields such as surveillance, environmental monitoring, and delivery services. Among the many different types of UAVs, quadrotor systems have gained significant attention due to their mechanical simplicity, agile manoeuvrability, hovering capability, and their ability to vertically take off and land without requiring long runways. These factors along with the rapid development and mass production of electronics in general over the last decade have driven the prices of components down, making them much more affordable, and hence spurring a revolutionary impact in this field where high-performance drones are available to hobbyists whereas this was not the case before. Due to this wide-scale availability and adoption, the control of quadrotor systems has been a hot topic of research and development, which has brought substantial challenges, particularly due to their underactuated nature—using less inputs to drive more outputs. This underactuation requires sophisticated control strategies to achieve precise trajectory tracking and stabilisation which reduce the weight of the UAVs.
Regarding quadrotor control, classical control approaches, such as PID control, have been broadly taken as the first choice in applications due to their practical simplicity and ease of implementation [1,2]. Hybrid methods that combine the PID with other methods like Linear Quadratic Regulators (LQRs) [3] and Fuzzy control [4] have also been explored. However, these methods often fall short in handling the nonlinear dynamics and coupling effects inherent in quadrotor systems in flight tests. As a result, more advanced control techniques, including model predictive control (MPC) [5], sliding mode control (SMC) [6], and other nonlinear control approaches [7], have tried to enhance the capacity and robustness of quadrotor control systems.
Even after such tremendous effort has been devoted to UAV control, there are still some improvement domains that could enhance the control system design. Consequently, this paper expands a model-based U-control system design platform [8,9,10,11] to achieve trajectory tracking while maintaining robust stability in UAV control, which uses a transparent double dynamic inversion within two loops. In the inner loop, the plant dynamic inversion makes the control system design separate from the plant model, and the outer loop dynamic inversion makes the whole system performance specification be achieved with feedback and be unilaterally independent from the plant model. In comparison to some conventional delegate approaches, feedback linearisation control (FLC) has been widely considered as a representative approach [12] in dealing with nonlinear models by transforming into a linear one through coordinate conversions. Another well-known approach is backstepping control (BSC) [13], which is a Lyapunov-based recursive design approach and is able to accomplish the stabilisation and tracking tasks for a specific set of complex nonlinear systems. These two approaches use dynamic inversion in one way or another; however, they suffer from some shortcomings: (1) the FLC first utilises the complex coordinate transformation to design a linear control system, and then transforms the designed controller to the original controller to generate the required controller output. Unfavourably, such conversion needs strong linear algebraic conditions [14]. For BSC, it is normally applicable to a class of triangle-type models. The BSC is effective for second-order dynamics; however, the complexity would exponentially increase with the increase in the system dynamic order [15]. (2) To date, to the author’s best knowledge, almost all the existing nonlinear dynamic inversion formulations have assumed linearity with the plant input (that is, output affine plants). Accordingly, a general and concise mode-based dynamic inversion-augmented control method called model-based U-control has been established by using the expression of the U-model, which converts almost all the existing models into U-realisation without referring to the coordinate transform and backstepping process [9,10,16]. It should be mentioned that model-based U-control can dramatically reduce the complexity of designing linear, and particularly nonlinear, control systems, and the U-dynamic inversion and controller design are achieved separately. However, like all the other model-based dynamic inversion approaches, the U-dynamic inversion unavoidably depends on the model accuracy and the robustness against internal uncertainty and external disturbance. Developing an effective model-based U-control method has been the first motivation to balance the universal control flexibility and proper robustness. This study provides a new angle to enhance the objectives and to bench-test the new model-based U-control feasibility and effectiveness through simulations and real flight tests of the UAV.
The key contributions of this work to justify the research motivation and novelty include the following:
  • This is the first validity bench test to model-based U-control with UAV flights in a comprehensive procedure, from analytical formulation to simulation demonstration and real flight tests. The applied control system design procedure has general guidance to other industrial applications and is a representative showcase to disseminate U-control methodology.
  • In the methodology of U-model-based control, this study proposes a robust compensator to ensure trajectory accuracy and robustness against disturbances in the model-based dynamic inversion. This is supplementary to robust U-control approaches.
  • We expand U-sliding mode control (USMC) to MIMO systems from single-input and single-output (SISO) formulation [17].
  • We lay a practically effective foundation/platform for establishing the U-control strategy in coping with the challenges posed by underactuation and coupling in the control of quadrotor MIMO systems.
  • A series of bench tests of simulated and real experiments on a Parrot Mambo quadrotor are conducted to show the design framework from academic formulation to Simulink simulation and real flight tests. This framework could be used for various UAV or related mobile robot motion control system design.
For the following presentation, Section 2 describes the quadcopter physical model as a problem background and introduces the U-model and U-model dynamic inversion (UMDI) control strategy along with a robust U-model dynamic inversion plus sliding mode control (UDI + USMC) compensator. Section 3 provides the computational simulation setup and results, validates the proposed approach with the expected performances. Finally, Section 4 summarises the study and gives some potential research directions.

2. Quadrotor Dynamics and U-Control

2.1. Quadcopter System Overview

Taken as a research background for testing the developed approach, this study chooses a Parrot© Mambo Minidrone (Parrot S.A, Paris, France) (Figure 1), since it is cost-effective and has a manipulable small size for assessing the practical performance of the designed controllers in a closed-door environment without interference from outside factors like wind, etc. The Simulink Hardware Support Package for Parrot Minidrones, developed by the Original Equipment Manufacturer (OEM), delivers a realistic simulation environment for evaluating controller designs. After being successfully validated with the simulation demonstrations, the controller can then be embedded into the onboard processor by the Hardware Support Package provided to conduct experiments on the hardware to bench-test the outcomes in a real-world scenario.
The minidrone has two sensors on its underside: an ultrasound sensor and a low-resolution (640 × 480) camera. The ultrasound sensor measures vertical distance accurately up to 13 feet, though its performance varies depending on the floor material. The camera uses optical flow to estimate horizontal motion and speed, but its effectiveness depends on floor colour and texture. Thick carpets can interfere with both sensors. The minidrone’s affordability (around EUR 70) makes it appealing for research despite these limitations. Internally, the minidrone has a pressure sensor for Altitude and an Inertial Measurement Unit (IMU) that includes a three-axis accelerometer and gyroscope. The raw sensor data undergo bias correction, frame rotation, and low-pass filtering to remove noise. Two Kalman filters are implemented to estimate Altitude and XY position, while a complementary filter handles Roll, pitch and Yaw. The sampling time interval for the simulation and flight tests is set to 0.005 s. Actuator limitations are also taken into consideration, with controller output being capped with saturation functions to prevent exceeding the defined thrust limits. These processes are standardized by the OEM’s Hardware Support Package, ensuring consistent results. The ground effect also poses considerable challenges to this class of drones; due to their inherent low values of inertia and weight, they are easily affected by it.
The quadrotor system possesses six degrees of freedom to translate in the three Cartesian directions, i.e., along the X, Y and Z axes, and rotates about these three axes, with Roll ϕ , pitch θ and Yaw ψ denoting the rotations about the X, Y and Z axes, respectively [18].

2.1.1. Assumptions

The dynamic model of the quadrotor system was derived under the assumption that both the structure and rotors are symmetrical and rigid. Another assumption is that the the quadrotor systems’ centre of mass is not situated at the origin of the body-fixed frame; however, the body–frame axes are aligned with the principal axes of the quadrotor. This assumption results in a diagonal inertia matrix. Lastly, it is assumed that the generated aerodynamic forces and moments are directly related to the square of the rotor’s speed.

2.1.2. Frames of Reference

The quadrotor’s dynamics are described by employing the following pair of reference frames: the inertial reference frame (IRF) E ( X E , Y E , Z E ) and the Body Reference Frame (BRF) B ( X B , Y B , Z B ) , as illustrated in Figure 2. The quadrotor orientation in the coordinate space is described by Θ = ϕ θ ψ T , where the Euler angle ϕ represents the Roll (rotation about the X axis), θ represents the pitch (rotation about the Y axis) and ψ represents the Yaw (rotation about the Z axis). These attitude angles are bounded as ϕ ( π 2 , π 2 ) , θ ( π 2 , π 2 ) and ψ ( π , π ) because of the various acrobatic flying manoeuvres, which are not admissible. ω B = p q r T represents the quadrotor’s angular velocity in the BRF.
To model the quadrotor UAV, a coordinate transformation matrix between these two reference frames is necessary as the translational equations of motion are described in the IRF while the rotational equations and angular velocities are defined in the BRF. The coordinate transformation matrix is therefore defined as follows ( R ϕ θ ψ ) in Equation (1) [19].
R B E = C θ C ψ S θ C ψ S ϕ S ψ C ϕ S θ C ψ C ϕ + S ψ S ϕ C θ S ψ S θ S ψ S ϕ + C ψ C ϕ S θ S ψ C ϕ C ψ S ϕ S θ C θ S ϕ C θ C ϕ
The transformational relationship between angular velocities calculated in the two different frames of reference, i.e., the IRF and BRF, can be described with the help of the vector M , which is used to transform the angular velocities ω B measured in the BRF to Euler rates Θ ˙ measured in the IRF and vice versa. Equations (2) and (3) show this relationship and how the transformations can be carried out from one frame of reference to another using the matrix M and its inverse M 1 as follows when ω B = M Θ ˙ :
p q r = 1 0 S θ 0 C ϕ S ϕ C θ 0 S ϕ C ϕ C θ ϕ ˙ θ ˙ ψ ˙
and Θ ˙ = M 1 ω B
ϕ ˙ θ ˙ ψ ˙ = 1 S ϕ T θ C ϕ T θ 0 C ϕ S ϕ 0 S ϕ C θ C ϕ C θ p q r
where “S”, “C” and “T” denote “sin”, “cos” and “tan” trigonometric functions, respectively.

2.1.3. Rotor Dynamics

The thrust T and moment M generated by the i t h rotor are calculated as follows:
T i = ( C T ρ A R 2 ) Ω i 2 = ( k T i ) Ω i 2 M i = ( C Q ρ A R 3 ) Ω i 2 = ( k M i ) Ω i 2
where Ω i represents the i t h rotor speed. k T i and k M i are aerodynamic constants that are associated with the thrust and torque generated by the rotor depending on its shape and configuration. These coefficients can be determined experimentally (Table 1).
The thrust and moment generated by the rotor rely on the rotor’s physical properties, the air density, and the speed at which the rotor is spinning. The term Ω 2 indicates that the thrust and moment are in proportion to the square of the angular velocity of the rotor, which is a key aspect in understanding how changes in rotor speed affect the generated thrust and moment.
The total moments are formulated below:
τ x = 2 2 L ( T 1 T 2 T 3 + T 4 ) τ y = 2 2 L ( T 1 T 2 + T 3 + T 4 ) τ z = ( M 1 M 2 + M 3 M 4 )
where L denotes the distance from the quadrotor mass centre to the rotor rotation axis. The control inputs U i where i 1 , , 4 are described as follows:
U 1 U 2 U 3 U 4 = 1 1 1 1 2 2 L 2 2 L 2 2 L 2 2 L 2 2 L 2 2 L 2 2 L 2 2 L k M 1 K T 1 k M 2 K T 2 k M 3 K T 3 k M 4 K T 4 T 1 T 2 T 3 T 4
where U 1 is for the whole thrust added on the quadrotor, U 2 represents the Roll torque τ x , U 3 represents the pitch torque τ y and U 4 represents the Yaw torque τ z .

2.1.4. Translational Subsystem

The equations of motion that describe the system behaviour along the three Cartesian axes in the inertial reference frame (IRF) are
m X ¨ = m g + R ϕ θ ψ T u 1 Z E
where m is the quadrotor mass, g is the acceleration due to the gravity of Earth, R ϕ θ ψ T is the coordinate transformation matrix from Equation (1) and z E = 0 0 1 T is a unit vector in the inertial frame of reference (IRF).
Equation (7) is then expanded and rewritten as follows:
x ¨ y ¨ z ¨ = 0 0 g + C ϕ S θ C ψ + S ϕ S ψ C ϕ S θ S ψ S ϕ C ψ C ϕ C θ U 1 m

2.1.5. Rotational Subsystem

The rotational dynamics of a quadrotor are derived by utilizing the Newton–Euler equations as follows:
J ω ˙ B + ω B × J ω B + M g = τ
where J is the quadrotor inertia matrix, M g is the gyroscopic moment generated by the rotors and τ = τ x τ y τ z T represents the cumulative effect of moments exerted on the quadrotor. The gyroscopic moment can be characterized as
M g = ω B × 0 0 J r ω r T
where J r denotes the propeller’s inertia and ω r represents the relative speed of the propeller, which is defined as
Ω r = i = 1 4 ( 1 ) i + 1 ω i
Consequently, the attitude dynamics of the system can be summarised by using Equations (6) and (9) as follows:
ϕ ¨ θ ¨ ψ ¨ = J y y J z z J x x θ ˙ ψ ˙ J z z J x x J y y ϕ ˙ ψ ˙ J x x J y y J z z ϕ ˙ θ ˙ J r Ω r θ ˙ J x x ϕ ˙ J y y 0 + U 2 J x x U 3 J y y U 4 J z z
Subsystems (8) and (12) together represent the full dynamic description of a quadrotor system. As can be observed, the equations that describe the rotational motion of the quadrotor are completely independent of the translational elements X, Y and Z and their derivatives. However, the quadrotor translational motion is dependent on the rotational components ϕ , θ and ψ . Therefore, the overall system is made up of two subsystems with the rotational system in the inner loop, while the translational subsystem in the outer loop generates the required reference signals for the inner loop in the form of desired Roll and pitch angles to track the desired location. Effective attitude control, therefore, is critical to ensure that the UAVs can perform a wide range of tasks that can range from simple hovering to complex aerial manoeuvrers while maintaining stability and responding appropriately to external disturbances like wind since the UAV’s position is controlled indirectly by manipulating the pitch, Roll and Yaw.

2.2. Model-Based U-Control Platform

Figure 3 shows the model-based U-control framework [8,20]; the controller consists of two parts, with the first being the universal controller ( G c l ) which is to be designed completely independently from the plant, according to the desired indices, and the second part being the plant inverse ( G p 1 ). Consequently, the primary objective in the entire designing process boils down to the determination of the inverse G p 1 of the plant G p that is to be regulated and the combination of the plant inverse with the specified universal controller G c l .
The following is a brief overview highlighting the up-to-date research of the U-control design framework approach. In [20], the authors propose a pole placement control strategy for complex dynamic systems by leveraging U-models, demonstrating improved system stability and performance. In [8], a general U-block model-based design procedure is proposed that aims to simplify the control of a class of complex polynomial difference equations. The methodology effectively transforms nonlinear control problems into linear ones using U-models, facilitating easier controller design and implementation. Further developing on the previous work, [9] extends the U-model methodology to rational nonlinear systems, offering insights into controlling more complex dynamics, highlighting the flexibility of U-models in addressing the challenges posed by rational nonlinearities in control systems. In [21], the authors address the issue of input delay in nonlinear processes, using a U-model-based predictive control approach that significantly enhances control accuracy and system responsiveness, showcasing the practical applicability of U-models in real-world scenarios. More recently, [22] explores the application of U-model-augmented control in the context of underactuated unmanned marine robotics. Ref. [10] presents solutions for reversing dynamics based on the U-model and [11] outlines a comprehensive U-control framework for continuous-time systems. Ref. [16] consolidates the U-model and U-control methodologies, providing a detailed analysis of their application in complex dynamic systems.
Remark 1. 
It is worth noting that robust flat control (RFC) [23,24] has been a very effective approach using dynamic inversion to enhance the control system design in a large class of wheeled mobile robots, UAVs and other motion systems. In comparison with model-based U-control, RFC needs coordinate transform to achieve the dynamic inversion to determine the control input and the model-based U-control directly takes dynamic inversion from the plant U-model realisation, which is straightforward in the reformulation of the plant model into a control-oriented time-varying model [16]. Regarding the robustness of the two approaches, RFC could be more effective than model-based U-control. Surely, RFC provides a very useful reference to improve U-control robustness and we will provide simulation comparison as well in future publications.

2.2.1. Design of U-Controller G c l

To begin the process of designing the universal controller, assign the desired system performance in advance with the selection of an ideal closed-loop transfer function as
Y ( s ) R ( s ) = G ( s ) = ω n 2 s 2 + 2 ζ ω n s + ω n 2 = 4 s 2 + 4 s + 4
where ζ = 1 is the selected damping ratio and ω n = 2 is the chosen undamped natural frequency, so that the system output response is critically damped to prevent any overshoot, ensuring that the system returns to the desired state in the shortest possible time without oscillating [25,26].
The determination of the universal controller treats the pair of the plant and its inverse as a unit in the feedback control system, and then takes the inverse of the closed-loop transfer function in Equation (13) as follows:
G c l = G 1 G = 4 s 2 + 4 s

2.2.2. U-Polynomial Realisation

Before calculating the plant inverse, the system needs to be converted to its U-realisation (either U-Polynomial or U-state space) depending on the system. A brief overview of the realisation of the system to its appropriate U-realisation is given in this section before proceeding to controller design.
Consider a general SISO continuous-time polynomial system defined with ( y ( t ) , λ ( t ) and u ( t ) ) where y ( t ) R and u ( t ) R are the system output and system input, respectively, at time t R + , which is described as follows:
Υ ( t ) ( M ) = j = 0 J λ j ( Υ M 1 , ( Ξ N 1 , μ ) u ( t ) ( N ) j , M N
where the term y ( t ) ( M ) represents the M t h -order derivative of the output y ( t ) and the term u ( t ) ( N ) represents the N t h -order derivative of the system input u ( t ) , while the term λ j ( ) R represents a time-varying parameter that absorbs all the other inputs and outputs.
Υ M 1 = y ( t ) ( M 1 ) , y ( t ) ( M 2 ) , y ( t ) R M Ξ N 1 = u ( t ) ( N 1 ) , u ( t ) ( N 2 ) , u ( t ) R M μ = u ( t ) ( N ) j
Consider an example showcasing the U-realisation of a classical nonlinear polynomial representation [27]:
z ¨ = z + ( z 2 ) z ˙ + ( 4 + z 2 ) v + ( z + z ˙ 2 ) v 2
The U-model realisation, then, is
z ¨ = λ 0 + λ 1 v + λ 2 v 2 λ 0 = z + ( z 2 ) z ˙ λ 1 = ( 4 + z 2 ) λ 2 = ( z + z ˙ 2 )
Comparing Equations (17) and (18), the model’s U-realisation is quite forthright. The U-realisation is the same as the original polynomial in attributes but is expressed in a control-oriented structure.

2.2.3. U-State Space Realisation

Consider a general SISO state space description as follows:
Q ˙ = G ( Q , u ) y = H ( Q )
where u , y , R , Q R n , G R n → and H R are the smooth mappings u Q R R n and Q y R n R , respectively.
This state space representation of the system is expressed as a multilayer polynomial representation as follows:
q ˙ 1 = G 1 ( q 1 , q 2 , , q n ) , q ˙ 2 = G 2 ( q 1 , q 2 , , q n ) , q ˙ n = G n ( q 1 , q 2 , , q n , u ) , y = H ( q 1 , q 2 , , q n )
Convert this multilayer polynomial expression into a multilayer U-realisation as
q ˙ 1 = i = 0 n λ 1 i g 1 i ( q 2 ) , q ˙ 2 = i = 0 n λ 2 i g 2 i ( q 3 ) , q ˙ n = i = 0 n λ n i g n i ( u ) , y = i = 0 n h i ( q 1 , q 2 , , q n )
where λ ( ) and g ( ) are the time-varying parameters absorbing the remaining terms in the state space model. It is worth mentioning that the U-state space realisation is a form of expanded multilayer U-Polynomial expression because each line of the U-state space realisation can be considered a U-Polynomial by itself.
In case Equation (21) is unable to exhibit the explicit association between the system output term y and the input term u, differentiate y and substitute to x i items in system (21) with the polynomial expression for each x i in Equation (20). This iterative process should be carried out until an explicit expression between y ( m ) and u is exhibited, where y ( m ) denotes the m t h derivative of the model output y.

2.3. Determining the Dynamic Inverse

After establishing a direct association between y ( m ) and u in system (21), the system equation can be restructured as follows:
y ( m ) = λ 1 ( q 1 , q 2 , , q n 1 , q n ) + λ 2 ( q 1 , q 2 , , q n 1 , q n ) u
where λ i ( i 1 , 2 , ) is a time-varying gain vector soaking up all the state variables. Equation (22) can be identified as an alternative U-model polynomial described by Equation (15). The output of the plant inverter u i can be calculated by reorganising and isolating the input term u in Equation (22):
u = y ( m ) λ 1 ( q 1 , q 2 , , q n 1 , q n ) λ 2 ( q 1 , q 2 , , q n 1 , q n )
In addition, the state variables q i are worked out by the integral of q ˙ i associated with the plant. This relationship is expressed as q i = q ˙ i · 1 s , where 1 s is the integral operation of the Laplace transform.
For illustration purposes, consider a simple nonlinear plant modelled by
q ˙ 1 = q 2 q ˙ 2 = q 1 sin ( q 2 ) + u y = q 1
Since no direct relation between the input u and output y can be observed here, y is differentiated repeatedly till an expression linking the two explicitly is obtained.
y ¨ = q 1 sin ( q 2 ) + u
Equation (25) establishes a direct link between the input and output, making it a viable option for dynamic inversion.
The associated U-realisation and the dynamic inverse is then
y ¨ = λ 0 + λ 1 u λ 0 = q 1 sin ( q 2 ) ; λ 1 = 1 u i = y ¨ λ 0 λ 1 = y ¨ + q 1 + sin ( q 2 )
With the aim of assigning the plant output y equivalent to the output (v) of the controller ( G c l ) , the plant dynamic inversion G p 1 can be computed. This involves substituting the highest order of the y term with v of the same order. Following this, the expression is integrated twice to yield y:
y = λ 0 s 2 + λ 1 s 2 u
To directly determine the second-order derivative v ¨ , the universal controller can be modified directly to ensure that the same dynamic orders of v and y are in the designed control system.
Remark 2. 
For the system represented by Equation (24), the method to accomplish this goal is through multiplication of the second-order Laplace operator s 2 with the universal controller G c l to yield v ¨ = s 2 v . Consequently, the output y is substituted by the second-order derivative of the invariant controller G c l output, denoted as v ¨ . Therefore, u = q 1 + sin q 2 + v ¨ results in G p G p 1 = 1 . Furthermore, the universal controller G c l from Equation (14) can be rewritten as follows:
G c l = 4 s 2 s 2 + 4 s

2.4. Compensated Plant Inverter G c 1 Design

As shown in Figure 4, expanded from Figure 3, this study introduces a sliding mode control (SMC) into model-based U-control for MIMO systems to enhance their robustness through the addition of a robust SMC to accommodate errors induced from the plant inverter G p 1 due to the plant uncertainties and system disturbances. To determine G c 1 , for a general second-order system that is defined as
q ˙ 1 = g 1 ( q 1 , q 2 ) q ˙ 2 = g 2 ( q 1 , q 2 ) + h ( q 1 , q 2 ) u + d y = q 1
where g i R n is a smooth function absorbing all states, h represents the relationship between state variables and control outputs u and d are the disturbance of where | d | < d ¯ .
The state error vector is defined as follows:
q ˜ 1 = q 1 q d q ˜ 2 = q ˙ 1 q ˙ d
where q ˙ 1 and q ˙ d are the derivatives of the plant output q 1 and desired output q d , respectively. Then, we can define a sliding mode manifold σ by [28]
σ = c 1 q ˜ 1 + q ˜ 2
And its derivative σ ˙ is calculated as follows:
σ ˙ = c 1 q ˙ 1 q ˙ d + q ˙ 2 q ¨ d
where c i R + a n d i R + are the coefficient specifying a stable Hurwitz polynomial and the asymptotically convergent speed [28].
Similar to the state space expression, replace the highest-order derivative of the desired output q ¨ d with v s . Consequently, the lower-order derivatives of the desired output q d are
q ˙ d = v s . 1 s q d = v s . 1 s 2
where the term 1 s is the Laplace integration operator. Accordingly, convert error Equations (30) and (32) into
q ˜ 1 = q 1 v 1 s 2 q ˜ 2 = q ˙ 1 v 1 s
σ ˙ = c 1 q ˙ 1 v 1 s + q ¨ 1 v
The calculation process for the m t h -order derivative of state q 1 , i.e., q 1 m , is found by continuously differentiating its lower-order derivatives; the detailed process is described in [17]. In the case of a second-order system, as described here, m = 2, so q ¨ 1 is calculated as
q ˙ 1 = G 1 ( q 1 , q 2 ) = G 1 ( q 1 , q 2 ) q ¨ 1 = G 1 q 1 G 1 + G 1 q 2 ( G 2 + h u s + d )
Substituting this value of q ¨ 1 in Equation (35), it is then rewritten as follows:
σ ˙ = c 1 q ˙ 1 v 1 s + G 1 q 1 G 1 + G 1 q 2 ( G 2 + h u + d ) v
The robust sliding mode controller output is made of two parts, with the first being the equivalent control u e q and the second part being the switching control u s w . To obtain the equivalent controller output, let σ ˙ = 0 [28].
Similarly, the USMC final controller output consists of two parts, with the first being from the ideal plant inverse G p 1 , i.e., ideal inversion output u i and the compensated inversion output u c . Equating them and reorganising the terms gives the following:
u i + u c = u e q + u s w u c = u s w + u e q u i
Differentiating the system output y from Equation (29) until you obtain a direct relationship between y and u shows
y ˙ = q ˙ 1 = q 2 y ¨ = q ¨ 1 = q ˙ 2 = g ( q 1 , q 2 ) + u = λ 0 + λ 1 u
In Equation (39), the term q ˙ 2 is rewritten into its U-model equivalent form, i.e., λ 0 + λ 1 u . Referring to the relationship between the plant input u and the system output y, the ideal inverted output, denoted as u i , can be determined as follows:
u i = y ¨ λ 0 λ 1 = v λ 0 λ 1
Replacing the term q ˙ 2 with its U-model equivalent from Equation (35) gives
σ ˙ = c q ˙ 1 v 1 s + ( λ 0 + λ 1 u v )
Setting σ ˙ = 0 to calculate u e q gives
u e q = v c q ˙ 1 v 1 s λ 0 λ 1
u s w = ( ε s i g n ( σ ) + k σ )
where ε = ( d ¯ + ρ ) with ρ > 0 and k > 0 . Then, from Equation (38),
u c = u s w + u e q u i = ( ε s i g n ( σ ) + k σ ) + v c q 2 v 1 s λ 0 λ 1 ( v λ 0 ) λ 1 = ( ε s i g n ( σ ) + k σ ) + v c q 2 v 1 s λ 0 v + λ 0 λ 1 = ( ε s i g n ( σ ) + k σ ) + c q 2 v 1 s λ 1
where c R + , k R + and ε = R + are design parameters associated with the Sliding Mode Compensator. This u c represents the compensator output and together with the ideal inverter output u i forms the final overall controller output u s , as can be shown in Figure 4.
Remark 3. 
To reduce the effects of the chattering effect, replace the discontinuous function s i g n ( σ ) with a smooth sigmoid function [28] as s i g n ( σ ) σ | σ | + ξ , where ξ is a small positive scalar and it can be observed that, point-wise,
lim ξ 0 σ | σ | + ξ = s i g n ( σ )
Equation (44) can therefore be rewritten by substituting the s i g n ( ) function as follows:
u c = ( ε σ | σ | + ξ + k σ ) + c q 2 v 1 s λ 1
Taking the final USMC controller output, u s = u c + u i , and substituting in the value of u s in Equation (37), we end up with the following:
σ ˙ = ( ε s i g n ( σ ) + k σ ) + G 1 q 2 d
To analyse the stability of this approach, we use Lyapunov theory, where a typical Lyapunov candidate function and its time derivative are defined as
V ( σ ) = 1 2 σ 2 0 V ˙ ( σ ) = σ σ ˙
using control input u that stabilizes the system satisfying σ ˙ = ( ε s i g n ( σ ) + k σ ) + G 1 q 2 d , where k is a positive gain and ε = ( d ¯ + ρ ) , with ρ > 0 . Then, substituting the control law into the time derivative,
V ˙ ( σ ) = σ σ ˙ = σ ε s i g n ( σ ) k σ + G 1 q 2 d = ε | σ | k σ 2 + σ G 1 q 2 d = ( d ¯ + ρ ) | σ | k σ 2 + σ G 1 q 2 d ρ | σ | k σ 2 0
and by selecting gains where k > 0 and ε = ( d ¯ + ρ ) , where ρ is a positive number that is greater than | d | to cancel out the effect of disturbances, it follows that
V ˙ ( σ ) 0
This demonstrates that when appropriate positive gains are used in the control law, V ˙ ( σ ) is negative semi-definite, leading to stability.
Secondly, the controller G c l ( s ) is used to specify the desired system performance in Equation (13), where ζ = 1 represents the selected damping ratio and ω n = 2 is the undamped natural frequency so that the closed loop control system generates a fast monotonic response and zero steady state error to level reference. The corresponding characteristic equation D ( s ) and its roots s 1 and s 2 are
D ( s ) = s 2 + 4 s + 4 = 0 s 1 , s 2 = 2
Since the first column of the Routh array is [ 1 , 4 , 4 ] and all its elements are positive, indicating no change of sign, and all the poles are in the left half of the s-plane, the system as a whole is Routh-stable while the inner loop dynamic inversion results in G p G p 1 1 .

3. Main Results

3.1. Model-Based U-Control of the Rotational Subsystem

The Roll of the quadrotor system is represented by the following subsystem:
x ˙ 1 = ϕ ˙ = x 2 x ˙ 2 = ϕ ¨ = J y y J z z J x x θ ˙ ψ ˙ J r Ω r θ ˙ J x x + U 2 J x x
The U-realisation of the Roll subsystem is
ϕ ¨ = λ 0 + λ 1 U 2 λ 0 = J y y J z z J x x θ ˙ ψ ˙ J r Ω r θ ˙ J x x λ 1 = 1 J x x
The control input term U 2 is determined by
U 2 = ϕ ¨ λ 0 λ 1
Similarly, for the pitch channel, the U-controller is designed by first converting the state space subsystem into its U-control expression and then extracting the control input term as above.
x ˙ 3 = θ ˙ = x 4 x ˙ 4 = θ ¨ = J z z J x x J y y ϕ ˙ ψ ˙ J r Ω r ϕ ˙ J y y + U 3 J y y
The U-model realisation of the pitch subsystem is
θ ¨ = λ 0 + λ 1 U 3 λ 0 = J z z J x x J y y ϕ ˙ ψ ˙ J r Ω r ϕ ˙ J y y λ 1 = 1 J y y
We can work out the control input term U 3 using
U 3 = θ ¨ λ 0 λ 1
Again, repeating the same process as before by converting the state space subsystem into its U-control realisation, the Yaw subsystem can therefore be written as follows:
x ˙ 5 = ψ ˙ = x 6 x ˙ 6 = ψ ¨ = J x x J y y J z z ϕ ˙ θ ˙ + U 4 J z z
ψ ¨ = λ 0 + λ 1 U 4 λ 0 = J x x J y y J z z ϕ ˙ θ ˙ λ 1 = 1 J z z
The control input term U 4 can now be calculated as
U 4 = ψ ¨ λ 0 λ 1

3.2. Model-Based U-Control of Translational Subsystem

For the Altitude channel, since there is a direct control input U 1 for its regulation, we similarly designed the channel to follow that of the rotational subsystems where they are processed as a series of multiple SISO systems. For the position control along the X and Y directions, the control is indirect in the sense that a decoupling algorithm needs to calculate the specified Roll ( ϕ d ) and pitch ( θ d ) that are passed onto the attitude controller to successfully track the desired trajectories.

3.2.1. Altitude Controller

The Altitude subsystem has the following principle model:
x ˙ 7 = z ˙ = x 8 x ˙ 8 = z ¨ = g + ( C ϕ C θ ) U 1 m
Converting this into the U-control realisation, the Altitude subsystem is
z ¨ = λ 0 + λ 1 U 1 λ 0 = g λ 1 = ( C ϕ C θ ) m
The control input term U 4 can now be calculated as follows:
U 1 = z ¨ λ 0 λ 1

3.2.2. Model-Based Position U-Controller

From Figure 5, it is clear that the outer loop deals with the positioning by generating the desired setpoints for Roll ( ϕ d ) and pitch ( θ d ) , which are then passed onto the rotational subsystem as reference co‘mmands. The desired trajectories x d and y d are passed on to the position controller along with the Yaw output and thrust as the change in Yaw affects the heading, and, therefore, trajectories need to be calculated accordingly and the vertical and horizontal thrust components from Roll and pitch manoeuvres will affect the Altitude thrust. In order to address these issues, virtual inputs u x , u y and u z are used as they simplify and decouple the complex underactuated dynamics of the quadrotor, making it easier to design and implement control strategies. The decoupling algorithm simplifies the design of controllers because each virtual input can be associated with a specific axis or motion:
  • u x controls the Roll and lateral motion (sideways movement).
  • u y controls the pitch and longitudinal motion (forward/backward movement).
  • u z controls the thrust and vertical motion (up/down movement).
One can formulate the required pitch θ d and R o l l ϕ d angles using the following decoupling algorithm [29]:
ϕ d = arcsin m u x sin ( ψ ) u y cos ( p s i ) u 1 θ d = arctan u x cos ( ψ ) + u y sin ( p s i ) u z
The position of the system is determined by the following subsystem:
x ¨ y ¨ = ( C ϕ S θ C ψ + S ϕ S ψ ) ( C ϕ S θ S ψ S ϕ C ψ ) U 1 m = u x u y
Converting these into the U-control realisation, the position control subsystem is as follows:
x ¨ = λ 0 + λ 1 u x ; where λ 0 = 0 ; λ 1 = 1 y ¨ = λ 0 + λ 1 u y ; where λ 0 = 0 ; λ 1 = 1
The virtual control inputs u y and u y can now be calculated as
u x = v λ 0 λ 1 ; u y = v λ 0 λ 1
Figure 5. Schematic of the proposed control approach.
Figure 5. Schematic of the proposed control approach.
Drones 08 00599 g005
Implementing the derived control laws, the simulated system performance can be seen in Figure 6. It is noted that the model-based U-dynamic inversion approach is sensitive to model inaccuracies and its performance deteriorates in the presence of unmodelled dynamics or disturbances, resulting in model–inverse mismatch (i.e., G p × G p 1 1 ). To accommodate the problem, a robust compensator with a Quasi-Sliding Mode [28] is added to strengthen the stability and eliminate convergent error.

3.3. Robust Compensator Design Procedure

Following from Section 2.4, a robust Sliding Mode-based Compensator is implemented to improve the performance of the UMDI due to its sensitivity to model inaccuracies. Considering the Yaw subsystem from earlier, defined by its state space Equation (57), U-state space realisation (58) and finally the ideal inversion defined by Equation (59),
x ˙ 5 = ψ ˙ = x 6 x ˙ 6 = ψ ¨ = J x x J y y J z z ϕ ˙ θ ˙ + U 4 J z z
ψ ¨ = λ 0 + λ 1 U 4 λ 0 = J x x J y y J z z ϕ ˙ θ ˙ λ 1 = 1 J z z
The ideal inversion output term U 4 is calculated directly as there is a direct relationship between input u and output ψ :
U 4 = ψ ¨ λ 0 λ 1 = v λ 0 λ 1
Based on Equations (34) and (35), the error equations for m = 2 (i.e., a second-order system) are as follows:
q ˜ 1 = ψ v 1 s 2 q ˜ 2 = q ˜ ˙ 1 = ψ ˙ v 1 s
The sliding mode manifold σ and its derivative σ ˙ are given by
σ = c q ˜ 1 + q ˜ 2 σ ˙ = c q ˜ ˙ 1 + q ˜ ˙ 2 = c ψ ˙ v 1 s + ( ψ ¨ v )
Replacing the term ψ ¨ with its U-model equivalent from Equation (58) gives
σ ˙ = c ψ ˙ v 1 s + ( λ 0 + λ 1 u v )
Setting σ ˙ = 0 to calculate u e q gives
u e q = v c ψ ˙ v 1 s λ 0 λ 1
u s w = ( ε s i g n ( σ ) + k σ )
From Equation (38),
u c = u s w + u e q u i = ( ε s i g n ( σ ) + k σ ) + v c ψ ˙ v 1 s λ 0 λ 1 ( v λ 0 ) λ 1 = ( ε s i g n ( σ ) + k σ ) + v c ψ ˙ v 1 s λ 0 v + λ 0 λ 1 = ( ε s i g n ( σ ) + k σ ) + c ψ ˙ v 1 s λ 1 = ε σ | σ | + ξ + k σ + c ψ ˙ v 1 s λ 1
where c R + , k R + and ε R + are design parameters associated with the Sliding Mode Compensator. The results after the implementation of the compensator can be observed in Figure 7 showcasing elimination of the steady state error and improved response time.
Following a similar approach, robust compensators for the Roll, pitch and Altitude channels can be designed using the design parameters in Table 2.
Remark 4. 
Equation (75) gives the compensated controller output u c , where u s w represents the switching controller for driving the system to the sliding surface (or sliding boundary in this specific case), u e q represents the equivalent control that ensures the system state stays inside the sliding boundary and u i represents the ideal plant inversion calculated using the UMDI controller.
To compare the simulated performance of the designed controllers quantitatively, the Root Mean Square values of the simulated tracking errors are calculated in Table 3. Figure 8 shows the flight trajectories in 3D and 2D coordinates. Figure 9 shows the time sequence of the trajectories in X, Y, Z directions, and Yaw channel respectively. It can be observed that while both PID and the USMC controllers can drive the quadrotor to the desired trajectory, the U-dynamic inversion-based controller suffers from deteriorated performance due to unmodelled dynamics/parameters and therefore is unable to accurately track the desired trajectory.
Flight tests to verify the simulation results were performed on the Parrot Mambo Minidrone using the same controller parameters. While the fully actuated subsystem (Altitude and Yaw) showed good tracking (Figure 10), the position tracking was unstable and exhibited very high chattering, suggesting that the measures taken while designing the controller, e.g., the introduction of the sigmoid function to replace the discontinuous function s i g n ( σ ) to reduce system chattering, were inadequate. The outer loop that generates the desired pitch and Roll angles for position control (Equation (63)) uses the Altitude controller output terms u 1 , u z and Yaw ψ ; chattering in these terms generates unstable trajectories, causing the minidrone to become unstable. Since the minidrone is a very light weight and has a small test platform with very low inertia, it cannot handle such mechanical chattering and therefore becomes unstable. However, the designed controller did show improved performance in both Yaw and Altitude channels, reducing the steady state error and achieving an overall smoother hover performance, as can be seen in Figure 11.
Table 4 shows the effectiveness of these experimental results and compares them to the simulated results from earlier by using the RMS errors. It can further be observed from Figure 12 that the experimental results follow the simulated results more closely using the proposed approach when compared to a PID controller. This can be partially explained by the fact that the PID gains that were tuned for simulations need further tuning for flight tests, i.e., the performance of PID controllers varies in simulated and real flight tests. In contrast, the proposed approach after simulations is quite straightforward and does not need any further modifications for successful implementation during flight tests.

4. Discussions

Comparing the results of a tuned PID controller, a UMDI controller and the compensated robust USMC, it can be concluded that the UMDI controller results in deteriorated performance in the presence of unmodelled disturbances, but the addition of a robust compensator improves the performance, as can be seen in Table 3 where the RMSE is taken to statistically analyse the performance on controllers. It can be concluded that if a system is modelled accurately without outside disturbance, the UMDI-based controller is effective since there is no model–inversion mismatch and, therefore, G p . G p 1 = 1 . However, real dynamic systems always have some outside interference and unmodelled dynamics; therefore, these disturbances and model inaccuracies need to be taken into account while designing a controller. Therefore, some sort of a compensator is a must while using this approach to impart some robustness to the system. The Sliding Mode-based Compensator, while ensuring robustness, introduces chattering. This is partly fixed by using a Quasi-Sliding Mode control to approximate the s i g n ( ) function; however, that does not drive the dynamics to the sliding surface but rather to a sliding boundary, therefore possibly affecting system performance. Other possible ways to avoid chattering effects need to be studied and integrated with U-control possibly with a higher-order sliding mode approach like super twisting sliding mode. The resultant simulation plots show that the new procedure successfully addresses the challenges involved, like system underactuation, coupling, unmodelled dynamics and disturbances.
There are some warnings that one needs to be aware of in the implementation of the model-based U-control for UAV:
  • The actuator saturation could limit the SMC for large control inputs.
  • Comparing the model-free trial-and-error PID (which is time-consuming in the gain tuning and difficult to achieve desired performance) embedded in the Simulink, the model-based U-control requires a nominal model for each different type of UAV, so it requires more design and implementation expertise/cost in calibration.
  • More effective model-free control with merits in concise implementation and easy robust tuning could be considered in the next stage of this research.

5. Conclusions

This paper integrates a U-model-based dynamic inversion with an SMC compensator to control the trajectory of a quadrotor system flight operation. The designed controller shows strong stability and accurate setpoint tracking, even facing the model uncertainties.
On the whole, after comparing the results and relaxing implementation constraints, the built-in PID control is still preferred over advanced approaches due to its simplicity, even if tuning it involves some trial-and-error and guesstimating. The unmodelled dynamics and especially the external disturbances in the Roll and pitch channels destabilize the system and deteriorate its performance. This can affect the system performance, greatly preventing its implementation on physical systems. While the designed compensator improves the performance of the controller greatly, it might not be a feasible solution when running hardware-in-loop tests due to the chattering effects introduced by sliding mode control. Therefore, to ensure robustness along with practical applicability there is a need to integrate a chattering-free (or reduced chattering) alternative controller that can provide robustness and improve performance. Possible future work should be focused on this where the bounded disturbances/model inaccuracies can be lumped together and studied. Another alternative would be to implement a chattering-free robust controller like a super twisting [28] controller design in future work. Model-free control approaches [30,31,32] can also provide a subject for exploration and their integration with U-control can improve overall performance and system design simplicity. Furthermore, comprehensive tests of the different UAVs are on the cards for future studies.

Author Contributions

Conceptualization, Q.Z. and H.N.; methodology, A.L.; software, A.L.; validation, A.L. and Q.Z.; formal analysis, A.L., Q.Z. and H.N.; investigation, A.L., Q.Z. and H.N.; resources, A.L.; writing—original draft preparation, A.L.; writing—review and editing, A.L. and Q.Z.; visualization, A.L.; supervision, Q.Z., P.M. and H.N. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Data are contained within the article.

Acknowledgments

The authors wish to acknowledge the editors and the anonymous reviewers for their contributions in offering helpful feedback and constructive suggestions to improve this paper.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The study has used the following abbreviations throughout the manuscript:
SISOsingle-input single-output.
MIMOmulti-input multi-output.
UMDIU-model based dynamic inverse
USMCU-dynamic inversion + U-Sliding Mode Control

References

  1. Bouabdallah, S.; Noth, A.; Siegwart, R. PID vs. LQ control techniques applied to an indoor micro quadrotor. In Proceedings of the 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE Cat. No. 04CH37566), Sendai, Japan, 28 September–2 October 2004; pp. 2451–2456. [Google Scholar] [CrossRef]
  2. Koszewnik, A. The Parrot UAV Controlled by PID Controllers. Acta Mech. Autom. 2014, 8, 65–69. [Google Scholar] [CrossRef]
  3. Argentim, L.M.; Rezende, W.C.; Santos, P.E.; Aguiar, R.A. PID, LQR and LQR-PID on a quadcopter platform. In Proceedings of the 2013 International Conference on Informatics, Electronics and Vision (ICIEV), Dhaka, Bangladesh, 17–18 May 2013; pp. 1–6. [Google Scholar] [CrossRef]
  4. Kaplan, M.R.; Eraslan, A.; Beke, A.; Kumbasar, T. Altitude and Position Control of Parrot Mambo Minidrone with PID and Fuzzy PID Controllers. In Proceedings of the 2019 11th International Conference on Electrical and Electronics Engineering (ELECO), Bursa, Turkey, 28–30 November 2019; pp. 785–789. [Google Scholar] [CrossRef]
  5. Cao, G.; Lai, E.M.K.; Alam, F. Gaussian Process Model Predictive Control of an Unmanned Quadrotor. J. Intell. Robot. Syst. 2017, 88, 147–162. [Google Scholar] [CrossRef]
  6. Madani, T.; Benallegue, A. Backstepping Sliding Mode Control Applied to a Miniature Quadrotor Flying Robot. In Proceedings of the IECON 2006—32nd Annual Conference on IEEE Industrial Electronics, Paris, France, 7–10 November 2006; pp. 700–705. [Google Scholar] [CrossRef]
  7. 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] [CrossRef]
  8. Zhu, Q.M.; Zhao, D.; Zhang, J. A general U-block model-based design procedure for nonlinear polynomial control systems. Int. J. Syst. Sci. 2016, 47, 3465–3475. [Google Scholar] [CrossRef]
  9. Zhu, Q.M.; Liu, L.; Zhang, W.; Li, S. Control of Complex Nonlinear Dynamic Rational Systems. Complexity 2018, 2018, 8953035. [Google Scholar] [CrossRef]
  10. Li, R.; Zhu, Q.; Kiely, J.; Zhang, W. Algorithms for U-Model-Based Dynamic Inversion (UM-Dynamic Inversion) for Continuous Time Control Systems. Complexity 2020, 2020, 3640210. [Google Scholar] [CrossRef]
  11. Zhu, Q.; Zhang, W.; Na, J.; Sun, B. U-model based Control Design Framework for Continuous-Time Systems. In Proceedings of the 2019 Chinese Control Conference (CCC), Guangzhou, China, 27–30 July 2019; pp. 106–111. [Google Scholar] [CrossRef]
  12. Slotine, J.J.E.; Li, W.P. Applied Nonlinear Control; Prentice Hall: Englewood Cliffs, NJ, USA, 1991. [Google Scholar]
  13. Zhang, L.L.; Deng, C.; Che, W.W.; An, L. Adaptive backstepping control for nonlinear interconnected systems with prespecified-performance-driven output triggering. Automatica 2023, 154, 111063. [Google Scholar] [CrossRef]
  14. Duan, G.R. High-order fully actuated system approaches: Part I: Models and basic procedure. Int. J. Syst. Sci. 2021, 52, 422–435. [Google Scholar] [CrossRef]
  15. Echiheb, F.; Bossoufi, B.; Kafazi, I.E.; Bhiri, B.E. A review backstepping control of a DFIG-based wind power system. In Digital Technologies and Applications; Motahhir, S., Bossoufi, B., Eds.; ICDTA 2023, Lecture Notes in Networks and Systems; Springer: Cham, Switzerland, 2023; Volume 668. [Google Scholar] [CrossRef]
  16. Zhang, W.; Zhu, Q.; Mobayen, S.; Yan, H.; Qiu, J.; Narayan, P. U-Model and U-Control Methodology for Nonlinear Dynamic Systems. Complexity 2020, 2020, 1050254. [Google Scholar] [CrossRef]
  17. Wei, Z.; Li, R.; Zhu, Q. Sliding Mode plus U-Control method for continuous time SISO dynamic systems. Int. J. Cybern. -Cyber-Phys. Syst. 2021, 1, 68–92. [Google Scholar] [CrossRef]
  18. Jategaonkar, R.V. Flight Vehicle System Identification: A Time-Domain Methodology, 2nd ed.; American Institute of Aeronautics and Astronautics: Reston, VA, USA, 2015. [Google Scholar] [CrossRef]
  19. Li, J.; Li, Y. Dynamic analysis and PID control for a quadrotor. In Proceedings of the 2011 IEEE International Conference on Mechatronics and Automation, Beijing, China, 7–10 August 2011; pp. 573–578. [Google Scholar] [CrossRef]
  20. Zhu, Q.M.; Guo, L. A pole placement controller for non-linear dynamic plants. Proc. Inst. Mech. Eng. Part I J. Syst. Control. Eng. 2002, 216, 467–476. [Google Scholar] [CrossRef]
  21. Geng, X.P.; Zhu, Q.M.; Liu, T.; Na, J. U-model based predictive control for nonlinear processes with input delay. J. Process. Control 2019, 75, 156–170. [Google Scholar] [CrossRef]
  22. Hussain, N.A.A.; Ali, S.S.A.; Ovinis, M.; Arshad, M.; Al-saggaf, U.M. Underactuated coupled nonlinear adaptive control synthesis using U-model for multivariable unmanned marine robotics. IEEE Access 2020, 8, 1851–1965. [Google Scholar] [CrossRef]
  23. Boubezoula, M.; Hassam, A.; Boutalbi, O. Robust-flatness Controller Design for a Differentially Driven Wheeled Mobile Robot. Int. J. Control Autom. Syst. 2018, 16, 1895–1904. [Google Scholar] [CrossRef]
  24. Sánchez-Meza, V.; Lozano-Hernández, Y.; Gutiérrez-Frías, O.; Lozada-Castillo, N.; Luviano-Juárez, A. Robust Flat Filtering Control of a Two Degrees of Freedom Helicopter Subject to Tail Rotor Disturbances. Int. J. Appl. Math. Comput. Sci. 2023, 33, 521–535. [Google Scholar] [CrossRef]
  25. Ogata, K. Modern Control Engineering, 4th ed.; Prentice Hall PTR: Hoboken, NJ, USA, 2001. [Google Scholar]
  26. Åström, K.J.; Wittenmark, B. Adaptive Control, 2nd ed.; Dover Publications: Mineola, NY, USA, 2008; pp. 92–98. ISBN 9780486462783. [Google Scholar]
  27. Billings, S. Nonlinear System Identification: NARMAX Methods in the Time, Frequency, and Spatio–Temporal Domains; Wiley: Hoboken, NJ, USA, 2013. [Google Scholar]
  28. Shtessel, Y.; Edwards, C.; Fridman, L.; Levant, A. Sliding Mode Control and Observation; Birkhäuser: New York, NY, USA, 2013; pp. 1–41. [Google Scholar] [CrossRef]
  29. Li, R.; Zhu, Q.; Nemati, H.; Yue, X.; Narayan, P. Trajectory tracking of a quadrotor using extend state observer based U-model enhanced double sliding mode control. J. Frankl. Inst. 2023, 360, 3520–3544. [Google Scholar] [CrossRef]
  30. Fliess, M.; Join, C. Model-free control. Int. J. Control 2013, 86, 2228–2252. [Google Scholar] [CrossRef]
  31. Zhu, Q. Model-free sliding mode enhanced proportional, integral, and derivative (SMPID) control. Axioms 2023, 12, 721. [Google Scholar] [CrossRef]
  32. Zhu, Q.; Li, R.; Zhang, J. Model-free robust decoupling control of nonlinear nonaffine dynamic systems. Int. J. Syst. Sci. 2023, 54, 2590–2607. [Google Scholar] [CrossRef]
Figure 1. A Parrot Mambo quadrotor and its Simulink simulation environment.
Figure 1. A Parrot Mambo quadrotor and its Simulink simulation environment.
Drones 08 00599 g001
Figure 2. Body Reference Frame and Earth Reference Frame for the Mambo Minidrone.
Figure 2. Body Reference Frame and Earth Reference Frame for the Mambo Minidrone.
Drones 08 00599 g002
Figure 3. U-control framework.
Figure 3. U-control framework.
Drones 08 00599 g003
Figure 4. U-model dynamic inversion with compensator.
Figure 4. U-model dynamic inversion with compensator.
Drones 08 00599 g004
Figure 6. Trajectory tracking performance of UMDI compared with a tuned PID controller. (a) Trajectory in X coordinate. (b) Trajectory in Y coordinate. (c) Trajectory in Z coordinate. (d) Trajectory in Yaw channel.
Figure 6. Trajectory tracking performance of UMDI compared with a tuned PID controller. (a) Trajectory in X coordinate. (b) Trajectory in Y coordinate. (c) Trajectory in Z coordinate. (d) Trajectory in Yaw channel.
Drones 08 00599 g006
Figure 7. Comparison of the Yaw channel output with and without a compensator.
Figure 7. Comparison of the Yaw channel output with and without a compensator.
Drones 08 00599 g007
Figure 8. (a) The reference and quadrotor flight trajectory in 3D space using the designed controllers. (b) A 2D overview of the flight trajectory.
Figure 8. (a) The reference and quadrotor flight trajectory in 3D space using the designed controllers. (b) A 2D overview of the flight trajectory.
Drones 08 00599 g008
Figure 9. (a) Comparison of positioning in X coordinate. (b) Comparison of positioning in Y coordinate. (c) Comparison of positioning in Z coordinate. (d) Comparison of trajectory tracking in Yaw channel.
Figure 9. (a) Comparison of positioning in X coordinate. (b) Comparison of positioning in Y coordinate. (c) Comparison of positioning in Z coordinate. (d) Comparison of trajectory tracking in Yaw channel.
Drones 08 00599 g009
Figure 10. Performance of proposed USMC controller compared with a tuned PID controller. (a) Yaw channel. (b) Altitude channel with hovering command.
Figure 10. Performance of proposed USMC controller compared with a tuned PID controller. (a) Yaw channel. (b) Altitude channel with hovering command.
Drones 08 00599 g010
Figure 11. USMC approach results compared with a tuned PID controller. (a) An enlarged view of the Yaw channel showing the steady state error. (b) An enlarged view of the Altitude channel in hovering mode comparing the two controller performances.
Figure 11. USMC approach results compared with a tuned PID controller. (a) An enlarged view of the Yaw channel showing the steady state error. (b) An enlarged view of the Altitude channel in hovering mode comparing the two controller performances.
Drones 08 00599 g011
Figure 12. Comparison of simulation and flight test performance for USMC approach and tuned PID controller. (a) PID simulation result compared to flight test result for Yaw channel. (b) USMC simulation result compared to flight test result for Yaw channel. (c) PID simulation result compared to flight test result for Altitude channel. (d) USMC simulation result compared to flight test result for Altitude channel.
Figure 12. Comparison of simulation and flight test performance for USMC approach and tuned PID controller. (a) PID simulation result compared to flight test result for Yaw channel. (b) USMC simulation result compared to flight test result for Yaw channel. (c) PID simulation result compared to flight test result for Altitude channel. (d) USMC simulation result compared to flight test result for Altitude channel.
Drones 08 00599 g012
Table 1. Parrot Mambo parameters.
Table 1. Parrot Mambo parameters.
ParameterValueUnits
Thrust Coefficient, C T 0.0107
Torque Coefficient, C Q 7.8264 × 10 4
Air density, ρ 1.184 kg / m 3
Rotor Radius, R 0.033 m
Rotor Disk Area, A = π R 2 0.0034212 m 2
L 0.0624 m
Rotor inertia, J r 1.0209375 × 10 7 kg . m 2
Inertia moment along X axis, J x x 0.0000582857 kg . m 2
Inertia moment along Y axis, J y y 0.0000716914 kg . m 2
Inertia moment along Z axis, J z z 0.0001 kg . m 2
Values taken from Parrot Minidrone Simulink hardware package.
Table 2. Compensator design parameters.
Table 2. Compensator design parameters.
ck ξ
Altitude Z (m)1010.1
Yaw ( ψ ) (radians)1050.1
Roll ( ϕ ) (radians)10100.03
Pitch ( θ ) (radians)10100.03
Table 3. Root Mean Square Errors (RMSEs) in trajectory following.
Table 3. Root Mean Square Errors (RMSEs) in trajectory following.
PIDUMDIUSMC
X (m)0.10260.27490.1113
Y (m)0.15890.28850.0860
Z (m)0.09800.11590.1244
Roll ( ϕ ) (radians)0.00250.03040.0107
Pitch ( θ ) (radians)0.00210.03270.0105
Yaw ( ψ ) (radians)0.05430.08090.0715
Table 4. Root Mean Square Errors (RMSEs) in trajectory following for real flight tests.
Table 4. Root Mean Square Errors (RMSEs) in trajectory following for real flight tests.
PIDUSMC
Z (m)0.05010.0138
Yaw ( ψ ) (radians)0.02840.0177
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

Lone, A.; Zhu, Q.; Nemati, H.; Mercorelli, P. Dynamic Inversion-Enhanced U-Control of Quadrotor Trajectory Tracking. Drones 2024, 8, 599. https://doi.org/10.3390/drones8100599

AMA Style

Lone A, Zhu Q, Nemati H, Mercorelli P. Dynamic Inversion-Enhanced U-Control of Quadrotor Trajectory Tracking. Drones. 2024; 8(10):599. https://doi.org/10.3390/drones8100599

Chicago/Turabian Style

Lone, Ahtisham, Quanmin Zhu, Hamidreza Nemati, and Paolo Mercorelli. 2024. "Dynamic Inversion-Enhanced U-Control of Quadrotor Trajectory Tracking" Drones 8, no. 10: 599. https://doi.org/10.3390/drones8100599

APA Style

Lone, A., Zhu, Q., Nemati, H., & Mercorelli, P. (2024). Dynamic Inversion-Enhanced U-Control of Quadrotor Trajectory Tracking. Drones, 8(10), 599. https://doi.org/10.3390/drones8100599

Article Metrics

Back to TopTop