Next Article in Journal
Lung Segmentation and Characterization in COVID-19 Patients for Assessing Pulmonary Thromboembolism: An Approach Based on Deep Learning and Radiomics
Next Article in Special Issue
Verification in Relevant Environment of a Physics-Based Synthetic Sensor for Flow Angle Estimation
Previous Article in Journal
Modeling Nanoscale III–V Channel MOSFETs with the Self-Consistent Multi-Valley/Multi-Subband Monte Carlo Approach
Previous Article in Special Issue
A Hybrid-Driven Optimization Framework for Fixed-Wing UAV Maneuvering Flight Planning
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Iterative Learning Sliding Mode Control for UAV Trajectory Tracking

1
School of Electrical and Data Engineering, University of Technology Sydney (UTS), 15 Broadway, Ultimo, NSW 2007, Australia
2
VNU University of Engineering and Technology (VNU-UET), Vietnam National University, Hanoi (VNU), 144 Xuan Thuy, Cau Giay, Hanoi 100000, Vietnam
*
Author to whom correspondence should be addressed.
Electronics 2021, 10(20), 2474; https://doi.org/10.3390/electronics10202474
Submission received: 19 September 2021 / Revised: 5 October 2021 / Accepted: 5 October 2021 / Published: 12 October 2021
(This article belongs to the Special Issue Unmanned Aircraft Systems with Autonomous Navigation)

Abstract

:
This paper presents a novel iterative learning sliding mode controller (ILSMC) that can be applied to the trajectory tracking of quadrotor unmanned aerial vehicles (UAVs) subject to model uncertainties and external disturbances. Here, the proposed ILSMC is integrated in the outer loop of a controlled system. The control development, conducted in the discrete-time domain, does not require a priori information of the disturbance bound as with conventional SMC techniques. It only involves an equivalent control term for the desired dynamics in the closed loop and an iterative learning term to drive the system state toward the sliding surface to maintain robust performance. By learning from previous iterations, the ILSMC can yield very accurate tracking performance when a sliding mode is induced without control chattering. The design is then applied to the attitude control of a 3DR Solo UAV with a built-in PID controller. The simulation results and experimental validation with real-time data demonstrate the advantages of the proposed control scheme over existing techniques.

1. Introduction

In recent years, the interest in developing and utilizing unmanned aerial vehicles (UAVs) has been growing, with numerous applications in practice, such as mapping [1,2], inspection, search and rescue [3,4], construction automation [5], and agricultural surveillance [6]. When a quadrotor drone performs a desired trajectory, accurate tracking is highly necessary. In trajectory tracking control, feedback linearization (FL) has been widely used [7,8]. This control method works well under the assumption of known system dynamics. When faced with large uncertainties and disturbances, FL-based approaches may lead to poor tracking performance, and other advanced control laws are required. An adaptive feedback linearization controller was applied in [9], allowing for adjustments of the control parameters to enhance control performance. Robust control methods were also developed to improve control performance [10]. A backstepping controller was introduced in [11] to improve the tracking accuracy and robustness of UAVs’ attitude control, wherein the external disturbances are estimated using a nonlinear disturbance observer.
Sliding mode control (SMC), a well-known control method for improving system robustness, has been successfully applied to various control systems [12,13] in general and particularly to UAVs [14,15]. However, information on disturbance bounds is required in these techniques. Adaptive SMC was developed to overcome this requirement [16]. This approach still reveals the main disadvantage of SMC, i.e., control signals usually present a chattering behavior, especially when dealing with large uncertainties and disturbances, which often require excessively high control gains. Various techniques have been suggested as a remedy, mostly using an approximation of the sign function to avoid or reduce chattering with some trade-offs with system robustness for control signal smoothing. Deep-learning-based techniques with convolutional neural networks have recently shown promise in learning systems that are subject to highly complex and time-varying uncertainties, for example, in vision-based applications such as in robust face tracking [17]. For control in robotic manipulators, a deep convolutional neural network was developed to integrate learning schemes into a fractional-order terminal sliding-mode controller for enhancing tracking accuracy [18]. Although the deep learning methods can achieve high-quality performance with continuous control signals, a major disadvantage is the high computational cost incurred for implementing a deep neural network.
Iterative learning control (ILC) is an effective technique for dealing with repetitive tasks. It allows for learning from system data to update the control input repeatedly to improve system performance [19]. Through trial-based learning, ILC is able to achieve highly accurate tracking performance even with large model uncertainties and disturbances. Unlike nonlearning control techniques, the system in ILC is reset to zero after the system reaches the final time, and then repeatedly follows the same reference again. Thereby, the control input can be adjusted through the repetitions to result in perfect tracking. Since ILC can learn from the system response to provide feedforward control in the iteration domain, it is more robust and can effectively compensate for model uncertainties and unknown disturbances, particularly iteration-invariant disturbances [20].
The application of iterative cybernetics, first proposed in [21], has emerged for iterative learning control in robotic systems [22], later developed for industrial control [23]. In the past decades, ILC has become an effective tool in various control systems, such as robot arm manipulators [24], chemical batch processes [25], wafer scanner systems [26], and video-rate atomic force microscopy [27]. Unlike other learning techniques such as artificial neural networks, which obtain the inverse dynamics from a training set [28] or adaptive controller, which tunes the control parameters [29,30], requiring a time-consuming process, ILC updates the control input from the information from previous executions and can hence converge quickly after a limited number of repetitions [19]. Moreover, as ILC does not require a system model, it is quite beneficial in practical applications that deal with unknown characteristics.
In this paper, integrating the learning capacity of ILC with the strong robustness of SMC, we propose a novel iterative learning sliding mode controller (ILSMC) to achieve high-accuracy trajectory tracking for UAVs while retaining strong robustness as well as alleviating control chattering. In terms of iterative control, several existing techniques have been introduced for UAVs. In [31], a plug-in controller was designed and implemented in aerial robots. Although the average tracking error is reduced for periodic reference trajectories, the technique does not concern the effect of disturbances. In [32], fuzzy PID-typed ILC was introduced; where fuzzy logic is used to tune the control parameters, high-accuracy tracking performance is hard to attain in comparison to other rigorous control strategies. In [33], optimization-based ILC was developed to improve the UAV trajectory tracking performance. In this approach, learning and filtering schemes are formulated into convex optimal problems. Although the two-step convex optimization problem can be solved using software, it involves high computational complexity.
The proposed ILSMC offers a simpler design, and thus is more robust and effective. The main contributions of this work include (i) the comprehensive development of an iterative learning term with fast convergence after several iterations to compensate for system uncertainties and unknown disturbances, and (ii) the integration of ILC and SMC schemes to a built-in PID controller in cascade to yield high performance for quadcopter trajectory tracking.
This paper is structured as follows: The control development of ILSMC is presented in Section 2. The convergence and stability analysis of the proposed learning algorithm is also provided in this section. Next, Section 3 presents system modeling, including kinematic and quadcopter dynamics. Then, the integration of ILSMC with PID control for the UAV is described in Section 4. Section 5 provides numerical simulation results, and Section 6 presents experimental validation with real-time data. Finally, a conclusion is drawn in Section 7.

2. Iterative Learning Sliding Mode Control

Iterative learning control (ILC) is a tracking control strategy for systems performing repetitive tasks, which are commonly required in industry. This technique aims to generate a feedforward control signal so that the system can learn from the previous responses to improve tracking performance and repeatedly eliminate disturbance after each iteration. The basic structure of an ILC is depicted in Figure 1 for an iteration number j. At this iteration, the input u ( j ) ( k ) and the deviation e ( j ) ( k ) between the reference y d ( k ) and the output y ( j ) ( k ) are stored to compute the control signal for the next iteration, with k starting from an initial time instant ( k = 0 ). In this section, an iterative learning sliding mode control scheme is designed to deal with large uncertainties and disturbances.

2.1. ILSMC Design

Consider the following general discrete-time control system:
x 1 ( j ) ( k + 1 ) = x 1 ( j ) ( k ) + Δ t x 2 ( j ) ( k ) , x 2 ( j ) ( k + 1 ) = f ( x ( j ) ( k ) ) + Δ t B u ( j ) ( k ) + d ( j ) ( k ) ,
where k is the time instant and Δ t is the sampling period. The subscript j denotes the iteration index, also called trial, run, cycle, or repetition in the ILC literature. The system state vector is x ( j ) ( k ) = x 1 ( j ) ( k ) x 2 ( j ) ( k ) T R 2 m , where m is the dimension of state x 1 ( j ) ( k ) , x 2 ( j ) ( k ) is its derivative, u ( j ) ( k ) R m is the control signal, B R m × m is a positive definite matrix, and f ( . ) is a vector function. The influence of parameter variations and loading conditions, model uncertainties and external disturbances can be lumped into a vector d ( j ) ( k ) . In each iteration, the input and state variables comprise an N-sample sequence each, where N is a finite number of samples.
Definition 1.
At iteration j, an exogenous input δ ( j ) ( k ) is called iteration-invariant if it occurs repeatedly over iterations, or persistent within the iteration domain, that is, δ ( 1 ) ( k ) = δ ( 2 ) ( k ) = = δ ( j ) ( k ) for all k = { 0 , 1 , . . . , N 1 } .
To proceed with the ILC methodology, the following assumption [20,27,34] is made:
Assumption 1.
In this paper, the lumped disturbance d ( j ) ( k ) is assumed to be iteration-invariant.
In this paper, an ILSMC law is developed aiming to drive the tracking error asymptotically to zero from any initial condition and under external disturbances d ( j ) ( k ) . The control algorithm consists of two steps. The first step is to induce a desired sliding surface to drive a learning sliding function to zero after some iterations regardless of external disturbance and system uncertainties. In the second step, the tracking error of the system is driven to zero in the sliding mode associated with the control sliding function. Instead of using a discontinuous gain as in the conventional SMC methodology, here, an iteration learning process is involved; hence, a priori information of the disturbance bound is not required, and chattering is fully alleviated.
The control design is initiated by considering the tracking error in an iteration as
e ( j ) ( k ) = e 1 ( j ) ( k ) e 2 ( j ) ( k ) T = x ( j ) ( k ) x d ( k ) ,
where x d ( k ) = x 1 d ( k ) x 2 d ( k ) T is the desired trajectory vector, which is also iteration-invariant during the execution of repetitive tasks.
Let us define the control sliding function as:
σ ( j ) ( k ) = e 2 ( j ) ( k ) + c e 1 ( j ) ( k ) ,
where c = d i a g ( c i ) R m × m , c i > 0 .
By denoting
Δ σ ( j ) ( k ) = σ ( j ) ( k + 1 ) σ ( j ) ( k ) Δ t 1 ,
we have from (3):
σ ( j ) ( k + 1 ) = e 2 ( j ) ( k + 1 ) + c e 1 ( j ) ( k + 1 ) = x 2 ( j ) ( k + 1 ) x 2 d ( k + 1 ) + c e 1 ( j ) ( k + 1 ) .
Substituting (1), (3), and (5) into (4) yields:
Δ σ ( j ) ( k ) = f ( x ( j ) ( k ) ) + Δ t B u ( j ) ( k ) + d ( j ) ( k ) x 2 d ( k + 1 ) + c e 1 ( j ) ( k + 1 ) e 1 ( j ) ( k ) e 2 ( j ) ( k ) Δ t 1 .
By using the forward Euler method for discretization, we also have
e 1 ( j ) ( k + 1 ) = e 1 ( j ) ( k ) + Δ t e 2 ( j ) ( k ) e 1 ( j ) ( k + 1 ) e 1 ( j ) ( k ) = Δ t e 2 ( j ) ( k ) .
Applying (7) into (6) produces:
Δ σ ( j ) ( k ) = [ f ( x ( j ) ( k ) ) + Δ t B ( u ( j ) ( k ) + d ( j ) ( k ) ) x 2 d ( k + 1 ) + ( c Δ t 1 ) e 2 ( j ) ( k ) ] Δ t 1 .

2.1.1. Equivalent Control

Now let us consider the following dynamics to be induced by the learning process:
S ( j ) ( k ) = Δ σ ( j ) ( k ) + μ σ ( j ) ( k ) = 0 ,
where μ > 0 is a control parameter. Substituting (8) into (9) yields:
[ f ( x ( j ) ( k ) ) + Δ t B ( u ( j ) ( k ) + d ( j ) ( k ) ) x 2 d ( k + 1 ) + ( c Δ t 1 ) e 2 ( j ) ( k ) ] Δ t 1 + μ σ ( j ) ( k ) = 0 .
In nominal conditions of the system under no model error or disturbance, the equivalent control of the system is described by:
u e q ( j ) ( k ) = ( Δ t B ) 1 f ( x ( j ) ( k ) ) + x 2 d ( k + 1 ) ( c Δ t 1 ) e 2 ( j ) ( k ) Δ t μ σ ( j ) ( k ) .

2.1.2. Learning Control

In the learning step, to drive the system trajectories toward the sliding surface (9) regardless of disturbances, an iterative learning scheme is introduced using the stored data from previous iterations as:
u i l c ( j ) ( k ) = ( Δ t B ) 1 i = 0 j 1 λ S ( i ) ( k ) = u i l c ( j 1 ) ( k ) ( Δ t B ) 1 λ S ( j 1 ) ( k ) ,
where the initial iterations u i l c ( 0 ) ( k ) = 0 and λ > 0 are a design parameter for the learning rate.
From (11) and (12), the ILSMC law is described by:
u ( j ) ( k ) = u e q ( j ) ( k ) + u i l c ( j ) ( k ) .
We summarize the ILSMC design in the following theorem:
Theorem 1.
For a discrete-time system (1) with sampling period Δ t subject to iteration-invariant disturbance d ( j ) ( k ) , under the iterative learning sliding mode control (13) comprising the equivalent control (11) and learning control (12), if the control parameter μ and learning rate λ are respectively chosen such that 0 < μ < 2 / Δ t , 0 < λ < 2 and λ 1 , then the tracking error (2) is driven to zero at a sufficiently large number of iterations and the control system is asymptotically stable.
Proof. 
By substituting (8) and (11)–(13) into (9), we obtain:
S ( j ) ( k ) = i = 0 j 1 λ S ( i ) ( k ) + Δ t B d ( j ) ( k ) .
Similarly,
S ( j 1 ) ( k ) = i = 0 j 2 λ S ( i ) ( k ) + Δ t B d ( j 1 ) ( k ) .
According to the Assumption, as d ( j ) ( k ) is iteration-invariant, from (14) and (15), we have:
S ( j ) ( k ) S ( j 1 ) ( k ) = λ S ( j 1 ) ( k ) S ( j ) ( k ) = ( 1 λ ) S ( j 1 ) ( k ) = ( 1 λ ) 2 S ( j 2 ) ( k ) = = ( 1 λ ) j S ( 0 ) ( k ) .
From (16), the iterative learning algorithm converges to 0 at large values of the iteration number under the condition 1 λ < 1 . Therefore, if the learning rate λ is selected to satisfy 0 < λ < 2 and λ 1 , we have
lim j S ( j ) ( k ) = lim j ( 1 λ ) j S ( 0 ) ( k ) = 0 .
By substituting Δ σ ( j ) ( k ) into S ( j ) ( k ) , Equation (9) can be rewritten as
S ( j ) ( k ) = Δ t 1 σ ( j ) ( k + 1 ) ( 1 μ Δ t ) Δ t 1 σ ( j ) ( k ) ,
whereby S ( j ) ( k ) 0 , with a proper selection of the learning rate λ and at an adequate number of iterations j, the sliding function (3) becomes:
σ ( j ) ( k ) ( 1 μ Δ t ) σ ( j ) ( k 1 ) = ( 1 μ Δ t ) 2 σ ( j ) ( k 2 ) = = ( 1 μ Δ t ) k σ ( j ) ( 0 ) ,
where σ ( j ) ( 0 ) is the initial value of σ ( j ) ( k ) at the jth iteration. Therefore, given a positive constant μ with 0 < μ < 2 / Δ t , the sliding function σ ( j ) ( k ) in (19) approaches zero at a sufficiently large value of k. Thus, since the sliding function σ ( j ) ( k ) as defined in (3) is driven to zero after some iterations j, a sliding mode is induced from the selection of parameter c > 0 . It follows that
lim j , k e ( j ) ( k ) = 0 .
Notably, the asymptotic convergence of the tracking error e ( j ) ( k ) here does not come from the switching of the control signal with a high discontinuous gain as in conventional SMC, but is a result of the proposed learning process (12). Hence, the sliding mode (3) induced for the tracking error can retain system robustness in the face of uncertainties and disturbances while avoiding the high-frequency switching of the control signal. This is the reason why the proposed ILSMC can achieve highly accurate tracking without control chattering. The tracking performance then depends on the convergence of the learning process, governed by the learning rate λ .
To verify the system stability, let us consider the control sliding function σ ( j ) ( k ) at iteration j. According to [35], the discrete-time control system will be asymptotically stable if, for all its entries [ σ ( j ) ( k ) ] :
[ σ ( j ) ( k + 1 ) σ ( j ) ( k ) ] S i g n ( [ σ ( j ) ( k ) ] ) < 0 , σ ( j ) ( k + 1 ) + σ ( j ) ( k ) ] S i g n ( [ σ ( j ) ( k ) ] ) 0 ,
where S i g n ( · ) is the signum function.
To verify the above conditions, from (18), we have,
σ ( j ) ( k + 1 ) = ( 1 μ Δ t ) σ ( j ) ( k ) .
We obtain, accordingly
σ ( j ) ( k + 1 ) σ ( j ) ( k ) = μ Δ t σ ( j ) ( k ) .
Therefore, the first condition of (21) is satisfactory as
μ Δ t [ σ ( j ) ( k ) ] S i g n ( [ σ ( j ) ( k ) ] ) < 0 .
From (22), we also have
σ ( j ) ( k + 1 ) + σ ( j ) ( k ) = ( 2 μ Δ t ) σ ( j ) ( k ) ,
and with the choice 0 < μ < 2 / Δ t , the second condition of (21) is also satisfactory since
( 2 μ Δ t ) [ σ ( j ) ( k ) ] S i g n ( [ σ ( j ) ( k ) ] ) 0 .
Therefore, the control system is asymptotically stable. The proof is completed. □
Remark 1.
From (16), to quickly induce a sliding surface, a high rate of convergence is required, subject to the condition 1 λ < 1 . This condition is similar to the ILC convergence condition presented in the frequency domain [36]. On one hand, the closer λ is to 1, the faster the convergence in the learning step. On the other hand, under the effect of noise and nonrepeating disturbances, a rapid learning rate could affect robustness. In practice, one can choose λ as close to 1 for fast convergence and gradually lower this value if required to reduce the system sensitivity.
Remark 2.
The learning process can be terminated upon satisfaction of a required tracking performance index (TPI), e.g., when the integral time absolute error (ITAE) of the control error satisfies the requirement for tracking performance for a specific task of the system.

3. System Description and Modeling

The UAV employed in this study was a quadcopter with a symmetric rigid structure and driven by four motors, as shown in Figure 2. For the quadcopter, the pitch angle, varied in accordance with the quadcopter’s longitudinal motion, is controlled by adjusting the front and rear propellers’ velocities, which generate the force F 1 and F 3 . Meanwhile, its lateral displacement is governed by the roll angle, which is controlled through the right and left rotors’ speeds, resulting in the forces F 2 and F 4 . Finally, the yaw angle, associated with the UAV yaw motion, is regulated by the difference between torques generated by these pairs of rotors. In this work, we focused on the attitude tracking control, and thus, only the quadcopter orientation is considered here. The torques acting on the quadcopter include the thrust forces τ , the gyroscopic torques caused by the rotation of the quadcopter’s rigid body τ b and of four propellers τ p , as well as the torque due to aerodynamic friction τ a . Here, the propellers’ gyroscopic effects and the drag from air resistance are considered external disturbances.

3.1. Kinematics

As shown in the configuration in Figure 2, an earth frame, { x e , y e , z e } , is fixed at the ground and a body frame, { x b , y b , z b } , is attached to the CoG of the quadcopter, both with the z axis pointing downward. The position of the UAV’s mass center in the earth frame is defined by a vector P = ( x , y , z ) T . The UAV orientation is represented by angles ( ϕ , θ , ψ ) T , corresponding to roll, pitch, and yaw motion, respectively. For attitude control, these angles are limited as ϕ [ π / 2 , π / 2 ] , θ [ π / 2 , π / 2 ] and ψ [ π , π ] . With respect to the earth frame, the orientation of the quadcopter is obtained a rotation transformation resulting from successively rotating around the x b , y b and z b axes, and characterized by an orthonormal rotation matrix R [37]:
R = c ψ c θ c ψ s θ s ϕ s ψ c θ c ψ s θ c ϕ + s ψ s θ s ψ c θ s ψ s θ s ϕ + c ψ c θ s ψ s θ c ϕ c ψ s θ s θ c θ s ϕ c θ c ϕ ,
where s x and c x denote sin x and cos x , respectively.
Denoting the angular velocity vector of the quadcopter in the body frame as ( ω ϕ ω θ ω ψ ) T , the rotational kinematics can be obtained as follows [38]:
ϕ ˙ θ ˙ ψ ˙ T = W 1 ω ϕ ω θ ω ψ T ,
where
W 1 = 1 sin ϕ tan θ cos ϕ tan θ 0 cos ϕ sin ϕ 0 sin ϕ sec θ cos θ sec θ .

3.2. Quadcopter Dynamics

From the quadcopter description, the components of torque vector τ = [ τ ϕ τ θ τ ψ ] T , corresponding to rotation in the roll, pitch, and yaw directions, respectively, are calculated as
τ ϕ = l ( F 2 F 4 ) ,
τ θ = l ( F 1 + F 3 ) ,
τ θ = l ( F 1 + F 3 ) ,
where l is the distance from each rotor to the CoG, and β is the apparent radius for converting the force into the yaw torque.
From (29)–(31), the control inputs are described as:
u ϕ u θ u ψ u z = τ ϕ τ θ τ ψ F = 0 l 0 l l 0 l 0 β β β β l l l l F 1 F 2 F 3 F 4 ,
where u ϕ , u θ , and u ψ are the roll, pitch, and yaw torques, respectively; F = n = 1 4 F n is the lift force, representing the total thrust utilizing from the four motors. As the only attitude of the quadcopter is controlled, u z is assumed to balance with gravity.
The gyroscopic torque due to the rotation of the symmetric body of the quadcopter is described by [29]:
τ b = S I ω ϕ ω θ ω ψ T ,
where
S = 0 ω ψ ω θ ω ψ 0 ω ϕ ω θ ω ϕ 0
is a skew-symmetric matrix. As shown in the configuration in Figure 2 with the body frame assigned to the quadcopter, given a mass point m i with its coordinates ( x i , y i , z i ) in the body, the quadcopter’s inertia can be obtained as a diagonal matrix:
I = i ( y i 2 + z i 2 ) m i 0 0 0 i ( x i 2 + z i 2 ) m i 0 0 0 i ( x i 2 + y i 2 ) m i = I x x 0 0 0 I y y 0 0 0 I z z .
Accordingly, Equation (33) can be rewritten as
τ b = ( I y y I z z ) ω θ ω ψ ( I z z I x x ) ω ϕ ω ψ ( I x x I y y ) ω ϕ ω θ T .
The gyroscopic torque due to the rotation of four propellers is determined as [29]:
τ p = I r ω r ω θ I r ω r ω ϕ 0 T ,
where I r is the moment of inertia of the rotor of each motor, and ω r = ω r 1 + ω r 2 ω r 3 + ω r 4 is the residual angular velocity, in which ω r 1 , , ω r 4 are the corresponding angular velocities of the propellers.
The air drag torque is calculated as [29]:
τ a = k a x ω θ 2 k a y ω ϕ 2 k a z ω ψ 2 T ,
where k a x , k a y , and k a z are aerodynamic friction factors.
The dynamics of the quadcopter in attitude control can then be represented as:
ω ˙ ϕ ω ˙ θ ω ˙ ψ T = I 1 ( τ b + τ + τ p τ a ) .
Now, if the propeller gyroscopic and aerodynamic torques are considered as external disturbances, i.e.,
d = d ϕ d θ d ψ T = τ p τ a ,
where d ϕ , d θ , and d ψ are disturbance components, then substituting (32), (35), and (39) into (38) yields:
ω ˙ ϕ = I x x 1 ( I y y I z z ) ω θ ω ψ + u ϕ + d ϕ ,
ω ˙ θ = I y y 1 ( I z z I x x ) ω ϕ ω ψ + u θ + d θ
ω ˙ θ = I y y 1 ( I z z I x x ) ω ϕ ω ψ + u θ + d θ .
To express the quadcopter dynamics via the orientation angles, the model can be simplified by considering [ ω ϕ , ω θ , ω ψ ] [ ϕ ˙ , θ ˙ , ψ ˙ ] . This approximation is acceptable since a minor model error can be adequately addressed by a good controller. Accordingly, the quadcopter model is obtained as:
ϕ ¨ = I x x 1 ( I y y I z z ) θ ˙ ψ ˙ + u ϕ + d ϕ ,
θ ¨ = I y y 1 ( I z z I x x ) ϕ ˙ ψ ˙ + u θ + d θ ,
ψ ¨ = I z z 1 ( I x x I y y ) ϕ ˙ θ ˙ + u ψ + d ψ .

3.3. Discrete-Time Model

In the discrete-time domain, by considering the difference approximation for first and second derivatives using the forward Euler method, the transformed discrete-time model can be obtained as below:
ϕ ( k + 2 ) = 2 ϕ ( k + 1 ) ϕ ( k ) + I x x 1 ( I y y I z z ) [ θ ( k + 1 ) θ ( k ) ] [ ψ ( k + 1 ) ψ ( k ) ] + Δ t 2 I x x 1 u ϕ ( k ) + d ϕ ( k ) ,
θ ( k + 2 ) = 2 θ ( k + 1 ) θ ( k ) + I y y 1 ( I z z I x x ) [ ϕ ( k + 1 ) ϕ ( k ) ] [ ψ ( k + 1 ) ψ ( k ) ] + Δ t 2 I y y 1 u θ ( k ) + d θ ( k ) ,
ψ ( k + 2 ) = 2 ψ ( k + 1 ) ψ ( k ) + I z z 1 ( I x x I y y ) [ ϕ ( k + 1 ) ϕ ( k ) ] [ θ ( k + 1 ) θ ( k ) ] + Δ t 2 I z z 1 u ψ ( k ) + d ψ ( k ) .
Now, consider the system state vector x ( k ) = [ x 1 ( k ) x 2 ( k ) ] T defined by:
x 1 ( k ) = ϕ 1 ( k ) θ 1 ( k ) ψ 1 ( k ) T = ϕ ( k ) θ ( k ) ψ ( k ) T ,
x 2 ( k ) = ϕ 2 ( k ) θ 2 ( k ) ψ 2 ( k ) T = ϕ ( k + 1 ) ϕ ( k ) Δ t θ ( k + 1 ) θ ( k ) Δ t ψ ( k + 1 ) ψ ( k ) Δ t T .
From (46)–(50), we obtain the UAV state equation in discrete time of the form (1) as:
x 1 ( k + 1 ) = x 1 ( k ) + Δ t x 2 ( k ) ,
x 2 ( k + 1 ) = f ( x ( k ) ) + Δ t B [ u ( k ) + d ( k ) ] ,
where f ( x ( k ) ) = x 2 ( k ) + Δ t I 1 τ b ( k ) and B = I 1 .

4. Integrated ILSMC for UAV Attitude Control

The proposed ILSMC was then applied to the outer loop of a quadcopter with a built-in PID controller in the inner loop for flight control. Here, the ILSMC is integrated in cascade control to improve the performance of the UAV trajectory tracking in dealing with noise, nonrepeating uncertainties, and disturbances. Figure 3 shows the block diagram of the proposed controller wherein the reference signal of a feedback controller is generated by the ILSMC signal u ^ ( j ) ( k ) at a time instant k.

4.1. Inner-Loop PID Controller

As shown in Figure 3, the output of the quadcopter PID controller is computed as
u ( j ) ( k ) = K p e ^ ( j ) ( k ) + K i Δ t κ = 1 k e ^ ( j ) ( κ ) + K d Δ t 1 [ e ^ ( j ) ( k ) e ^ ( j ) ( k 1 ) ] ,
where ∘ denotes the elementwise Hadamard product; K p = K p ϕ K p θ K p ψ T , K i = K i ϕ K i θ K i ψ T , and K d = K d ϕ K d θ K d ψ T are PID control parameters. The error of the PID feedback loop e ^ ( j ) ( k ) is defined as
e ^ ( j ) ( k ) = u ^ ( j ) ( k ) x ( j ) ( k ) ,
where u ^ ( j ) ( k ) is the ILSMC control signal.
Substituting (54) into (53) yields:
u ( j ) ( k ) = D u ^ ( j ) ( k ) + H ( k ) ,
where
D = K p + K i Δ t + K d / Δ t ,
H ( k ) = D x ( j ) ( k ) + K i Δ t κ = 1 k 1 e ^ ( j ) ( κ ) K d e ^ ( j ) ( k 1 ) Δ t 1 .

4.2. Outer-Loop ILSMC

As mentioned above, the proposed ILSMC was then added to the predesigned PID controller for improving the UAV tracking performance. Substituting (55) into (10) yields:
Δ t 1 [ f ( x ( j ) ( k ) ) + Δ t B ( D u ^ ( j ) ( k ) + H ( k ) + d ( k ) ) x 2 d ( k + 1 ) + ( c Δ t 1 ) e 2 ( j ) ( k ) ] + μ σ ( j ) ( k ) = 0 .
The equivalent control of the outer loop is then given by:
u ^ e q ( j ) ( k ) = D 1 ( Δ t B ) 1 { f ( x ( j ) ( k ) ) Δ t B H ( k ) + x 2 d ( k + 1 ) ( c Δ t 1 ) e 2 ( j ) ( k ) Δ t μ σ ( j ) ( k ) } .
In the learning step, the iterative learning term is computed as
u ^ i l c ( j ) ( k ) = u ^ i l c ( j 1 ) ( k ) D 1 ( Δ t B ) 1 λ S ( j 1 ) ( k ) ,
where S ( j 1 ) ( k ) is obtained from the learning process at a previous iteration ( j 1 ) as per (15).
This finally leads to the integrated iterative learning sliding mode control law (13) for the quadcopter:
u ^ ( j ) ( k ) = u ^ e q ( j ) ( k ) + u ^ i l c ( j ) ( k ) .

4.3. Implementation Procedure

In summary, a step-by-step procedure to implement the proposed control scheme is summarized as:
  • Step 1: Declare I x x , I y y , I z z , K p , K i , K d , c , μ , λ .
  • Step 2: Set x d ( k ) , j = 0 , and u ^ i l c ( j ) ( k ) = 0 .
  • Step 3: Compute the ILSMC u ^ ( j ) ( k ) from (61) as a reference to the inner loop.
  • Step 4: Compute, from the measured states x ( j ) ( k ) , e ( j ) ( k ) , σ ( j ) ( k ) , S ( j ) ( k ) , and the selected TPI.
  • Step 5: Check if the tracking performance requirement is met to terminate the learning process. Otherwise, proceed to Step 6.
  • Step 6: Set j = j + 1 , update u ^ i l c ( j ) ( k ) from (60), then return to Step 3.

5. Simulation Results

This section provides the simulation results of the proposed ILSMC design. The parameters used for simulation were obtained from the 3DR Solo drone [29], as listed in Table 1. The selected control parameters are described in Table 2. Here, in the learning process, a suitable value for λ was chosen to obtain a fast convergence rate, so S ( j ) ( k ) was driven to zero quickly. In the control phase, coefficients c ϕ , c θ , c ψ , and μ were chosen by the desired error dynamics described in (3). Initially, the iterative learning control signal was set to zero, u i l c ( 0 ) ( k ) = 0 , and then updated after each iteration. To evaluate performance of the proposed controller, we compared it with other available techniques including the PD feedback controller, PD-type ILC [19], adaptive twisting sliding mode controller (ATSMC) [29], and adaptive finite-time control scheme (AFTC) [30].

5.1. Step Response in Nominal Conditions

In this section, the performance of the proposed controller is evaluated via the step responses in nominal conditions where disturbances and uncertainties were set to zero. The desired reference attitude angles were set to ϕ d = 20 , θ d = 20 , and ψ d = 60 at 1 s. The simulation results of the step responses and control signals are shown in Figure 4, in which the black step signal is the desired angle, and responses of ATSMC, AFTC, PD, PD-ILC, and the proposed ILSMC controllers are depicted in cyan, green, magenta, blue, and red, respectively. It can be seen from Figure 4 for all three orientation angles that while ATSMC and AFTC provide some oscillations in the control, and PD presents a slow response, both iterative-learning-based techniques, ILSMC and PD-ILC, exhibit fast responses with zero steady-state error. PDILC, however, incurs a large overshoot, whereas ILSMC is able to maintain the desired dynamics without overshoot owing to the merits of sliding mode control. Notably, the fast response of ILSMC in comparison to ATSMC, AFTC, PD, ILC, and PD is attributed to the choice of c = diag ( c ϕ , c θ , c ψ ) and μ . A faster transient response, however, requires more control efforts that may exceed the physical limits imposed by the motors and power supply for the drone. Moreover, the proposed controller is chattering-free in the steady state.

5.2. Trajectory Tracking Performance under Disturbances and Uncertainties

To evaluate the tracking performance of ILSMC with the presence of uncertainties and disturbances caused by load variations, the reference attitude angles in this simulation were set, in degrees, as below:
ϕ d ( k ) = 20 20 s i n ( 2 k ) , θ d ( k ) = 20 + 20 s i n ( 2 k ) , ψ d ( k ) = 20 + 60 s i n ( 2 k ) .
For performance evaluation, the system was injected with a disturbance at t = 10 s whose components were:
d ϕ = d θ = d ψ = 0.2 .
Considering 20% loading conditions, the model uncertainties were introduced by setting:
I ^ x x = 1.2 I x x , I ^ y y = 1.2 I y y , I ^ z z = 1.2 I z z ,
where I ^ x x , I ^ y y , and I ^ z z are the estimation of I x x , I y y , and I z z , respectively.
Figure 5 shows the tracking performance of the attitude angles, while Table 3 presents the TPI, for which the integral time absolute error (ITAE) is adopted here for all angles. It can be seen that the PD controller cannot cope with disturbances with large tracking errors at t = 10 s and high values of ITAE. As with PDILC, it can suppress disturbances but suffers from control overshoot and a noticeable error. Both the ATSMC and AFTC techniques present relatively accurate tracking performance with a small ITAE, between 1.40 and 5.03 . The proposed ILSMC presents a relatively large tracking error at the first iteration (since u i l c ( 0 ) = 0 ), but owing to the learning ability, the tracking error decreases with increasing iterations by updating the iterative learning control term after each iteration. As the tracking performance is improved significantly, at the last iteration, ILSMC has the smallest ITAE among the considered techniques. Additionally, the absolute error is also the smallest, almost zero in steady state, as shown in the magnified figure, demonstrating the advantage of the proposed ILSMC.
Figure 6 shows the control efforts in the presence of disturbances and uncertainties. It can be seen that its magnitude increases after 10 s, which implies that more energy is required to compensate for the external disturbances. More importantly, the control efforts of ILSMC display oscillation only in the transient state, but no chattering in the steady state, which is beneficial for practical implementation.
To evaluate the effect of the proposed learning mechanism, the ITAE values were computed for ILSMC after each iteration with different values of λ . The results up to 15 iterations are presented in Figure 7. They indicate that the ITAE of the all three attitude angle errors quickly decreases and converges to zero after several iterations. To induce a fast system sliding mode, a higher rate of convergence must be selected. It can be seen in Figure 7 that this can be obtained when λ is close to one. In this work, λ = 0.9 was chosen to achieve the desired control performance.

6. Experimental Validation

In this section, we evaluate the performance of the combined ILSMC and PID control algorithm in the trajectory tracking problem for our UAV testbed, in which a built-in PID was already employed.

6.1. Experimental Setup

The setup for the experiments is shown in Figure 8, using a 3DR Solo drone with its parameters described in Table 1 [39]. It consists of two Cortex M4 168 MHz processors used for low-level control and one ARM Cortex A9 processor used for running the Arducopter flight operating system. The drone is equipped with a camera, a laser scanner, and environmental sensors for data acquisition. During the experiments, communication data, including control reference signals and drone sensor outputs, were transmitted to the ground control station via the local network established by the drone system. Mission Planner software was connected to the network to upload the flight plan to the drone and log flight data for analysis. In the experiments, the PID gains were set to their default values implemented in the 3DR Solo. From the desired and actual roll, pitch, and yaw angles, the tracking error was computed.

6.2. Real-Time Data Validation Results

The steps for conducting the experiments to validate the trajectory tracking performance of the proposed ILSMC were as follows: First, a trajectory was predefined with a starting point being set at the home position of the drone in an absolute frame of reference, as depicted in Figure 9. After that, the longitude, latitude, and altitude of the waypoints forming the trajectory were imported into Mission Planner, as depicted in Figure 10. Next, those waypoints were uploaded to the 3DR Solo to fly automatically, as shown in Figure 11. Then, the reference and actual attitude angles were logged by Mission Planner, as shown in Figure 12, for comparison. The errors between those angles were used to update the iterative learning term. Finally, the trajectories of the 3DR Solo drone obtained by using the built-in PID controller were compared with the results obtained using ATSMC, AFTC, PD-ILC, and the proposed ILSMC.
The comparison was performed by setting the references obtained from the 3DR Solo drone under similar control settings as in the simulation. Figure 13 shows typical comparison results for the UAV roll, pitch, and yaw responses. It can be seen that the deviation between the reference and the actual roll angle controlled by the built-in PID is relatively high due to disturbances. Advanced techniques can improve the tracking performance in which ILSMC remains the best, as indicated by its smallest tracking error, as can be seen clearly in the insets in the figure. The results obtained confirm the validity and efficiency of the proposed approach.
From the real-time experiments, the recorded control efforts are shown in Figure 14, where the steady-state yaw torque is a constant as the quadcopter was controlled to lift up with a linearly increasing height while performing a circular trajectory during the test.

7. Conclusions

We proposed an effective control technique called ILSMC to address the tracking control problem experienced by quadcopters when subject to disturbances and uncertainties. The control signal consists of an equivalent term to control the system states within the desired sliding surface, and an iterative learning term to drive the system states toward the sliding surface and then remain in the sliding surface despite the presence of uncertainties and disturbances. The iterative learning signal is updated following some iterations to improve the tracking performance by using the data acquired from previous iterations. The simulation results showed, in the case of disturbances and uncertainties, that the iterative learning sliding mode controller presented the smallest tracking errors compared to some other existing control techniques used for quadcopter control. For UAVs with built-in PID controllers, the proposed control scheme can be integrated in a cascade structure to improve the trajectory tracking accuracy and robustness. Field tests were performed, and validation with real-time experimental data was conducted to confirm the advantages of the proposed approach. Our future work will focus on extending the learning mechanism to enable the control of multiple UAVs for real-time formation.

Author Contributions

L.V.N. and Q.P.H. proposed the main idea and the methodology of the research; L.V.N. performed the simulation, conducted the experiments, and wrote the original manuscript; M.D.P. and Q.P.H. reviewed the manuscript; the manuscript was directed and edited by Q.P.H. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Acknowledgments

This work was supported by the Vingroup Science and Technology Scholarship (VSTS) Program for Overseas Study for Master’s and Doctoral Degrees. The VSTS Program is managed by VinUniversity and sponsored by Vingroup.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
SMCSliding mode control
ILCIterative learning control
ILSMCIterative learning sliding mode control
UAVUnmanned aerial vehicle
PIDProportional–integral–derivative
FLFeedback linearization
CoGCenter of gravity
TPITracking performance index
ITAEIntegral time absolute error
ATSMCAdaptive twisting sliding mode control
AFTCFinite-time control scheme.

References

  1. Grzonka, S.; Grisetti, G.; Burgard, W. A fully autonomous indoor quadrotor. IEEE Trans. Robot. 2012, 28, 90–100. [Google Scholar] [CrossRef] [Green Version]
  2. Grisetti, G.; Stachniss, C.; Burgard, W. Non-linear constraint network optimization for efficient map learning. IEEE Trans. Intell. Transp. Syst. 2009, 10, 428–439. [Google Scholar] [CrossRef] [Green Version]
  3. Flint, M.; Polycarpou, M.; Fernandez-Gaucherand, E. Cooperative control for multiple autonomous UAV’s searching for targets. In Proceedings of the 41st lEEE Conference on Decision and Control, Las Vegas, NV, USA, 10–13 December 2002. [Google Scholar]
  4. Brown, A.; Anderson, D. Trajectory optimization for high-altitude long endurance UAV maritime radar surveillance. IEEE Trans. Aerosp. Electron. Syst. 2020, 56, 2406–2421. [Google Scholar] [CrossRef] [Green Version]
  5. Metni, N.; Hamel, T. A UAV for bridge inspection: Visual servoing control law with orientation limits. Autom. Constr. 2007, 17, 3–10. [Google Scholar] [CrossRef]
  6. Herwitz, S.R.; Johnson, L.F.; Dunagan, S.E.; Higgins, R.G.; Sullivan, D.V.; Zheng, J.; Lobitz, B.M.; Leung, J.G.; Gallmeyer, B.A.; Aoyagi, M.; et al. Imaging from an unmanned aerial vehicle: Agricultural surveillance and decision support. Comput. Electron. Agric. 2004, 44, 49–61. [Google Scholar] [CrossRef]
  7. Choi, Y.C.; Ahn, H.S. Nonlinear control of quadrotor for point tracking: Actual implementation and experimental tests. IEEE/ASME Trans. Mechatron. 2015, 20, 1179–1192. [Google Scholar] [CrossRef]
  8. Park, J.; Kim, Y.; Kim, S. Landing site searching and selection algorithm development using vision system and its application to quadrotor. IEEE Trans. Control Syst. Technol. 2015, 23, 488–503. [Google Scholar] [CrossRef]
  9. Prasenjit, M.; Steven, W. Direct adaptive feedback linearization for quadrotor control. In Proceedings of the AIAA Guidance, Navigation, and Control Conference, Minneapolis, MN, USA, 13–16 August 2012; American Institute of Aeronautics and Astronautics: Minneapolis, MN, USA, 2012. [Google Scholar]
  10. L’afflitto, A.; Anderson, R.B.; Mohammadi, K. An introduction to nonlinear robust control for unmanned quadrotor aircraft. IEEE Control Syst. Mag. 2018, 38, 102–121. [Google Scholar] [CrossRef]
  11. Qingtong, W.; Honglin, W.; Qingxian, W.; Mou, C. Backstepping-based attitude control for a quadrotor UAV using nonlinear disturbance observer. In Proceedings of the 2015 34th Chinese Control Conference (CCC), Hangzhou, China, 28–30 July 2015. [Google Scholar]
  12. Chincholkar, S.H.; Jiang, W.; Chan, C.-Y. Continuous nonsingular terminal sliding mode control of DC–DC boost converters subject to time-varying disturbances. IEEE Trans. Circuits Syst. II Exp. Briefs 2020, 67, 92–96. [Google Scholar] [CrossRef]
  13. Ma, H.; Xiong, Z. Sliding mode control for uncertain discrete-time systems using an adaptive reaching law. IEEE Trans. Circuits Syst. II Exp. Briefs 2021, 68, 722–726. [Google Scholar] [CrossRef]
  14. Ali, S.U.; Samar, R.; Shah, M.Z.; Bhatti, A.I.; Munawar, K.; Al-Sggaf, U.M. Lateral guidance and control of UAVs using second-order sliding modes. Aerosp. Sci. Technol. 2016, 49, 88–100. [Google Scholar] [CrossRef]
  15. Sankaranarayanan, V.; Mahindrakar, A.D. Control of a class of underactuated mechanical systems using sliding modes. IEEE Trans. Robot. 2009, 25, 459–467. [Google Scholar] [CrossRef]
  16. Tian, B.; Yin, L.; Wang, H. Finite-time reentry attitude control based on adaptive multivariable disturbance compensation. IEEE Trans. Ind. Electron. 2015, 62, 5889–5898. [Google Scholar] [CrossRef]
  17. Qi, Y.; Zhang, S.; Jiang, F.; Zhou, H.; Tao, D.; Li, X. Siamese local and global networks for robust face tracking. IEEE Trans. Image Process. 2020, 29, 9152–9164. [Google Scholar] [CrossRef] [PubMed]
  18. Zhou, M.; Feng, Y.; Xue, C.; Han, F. Deep convolutional neural network based fractional-order terminal sliding-mode control for robotic manipulators. Neurocomputing 2020, 416, 143–151. [Google Scholar] [CrossRef]
  19. Bristow, D.A.; Tharayil, M.; Alleyne, A.G. A survey of iterative learning control. IEEE Control Syst. Mag. 2006, 26, 96–114. [Google Scholar]
  20. Yu, M.; Li, C. Robust Adaptive Iterative Learning Control for Discrete-Time Nonlinear Systems with Time-Iteration-Varying Parameters. IEEE Trans. Syst. Man Cybern. Syst. 2017, 47, 1737–1745. [Google Scholar] [CrossRef]
  21. Uchiyama, M. Formation of high speed motion pattern of mechanical arm by trial. Trans. Soc. Instrum. Control. Eng. 1978, 14, 706–712. [Google Scholar] [CrossRef] [Green Version]
  22. Arimoto, S.; Kawamura, S.; Miyazaki, F. Iterative learning control for robot systems. In Proceedings of the IECON, Tokyo, Japan, 22–26 October 1984; pp. 393–398. [Google Scholar]
  23. Moore, K.L. Iterative learning control for deterministic systems. In Advances in Industial Control; Springer: London, UK, 1993. [Google Scholar]
  24. Tayebi, A.; Abdul, S.; Zaremba, M.B.; Ye, Y. Robust iterative learning control design: Application to a robot manipulator. IEEE/ASME Trans. Mechatron. 2008, 13, 608–613. [Google Scholar] [CrossRef] [Green Version]
  25. Mezghani, M.; Roux, G.; Cabassud, M.; Lann, M.V.L.; Dahhou, B.; Casamatta, G. Application of iterative learning control to an exothermic semibatch chemical reactor. IEEE Trans. Control Syst. Technol. 2002, 10, 822–834. [Google Scholar] [CrossRef]
  26. Zhu, Q.; Song, F.; Xu, J.; Liu, Y. An internal model based iterative learning control for wafer scanner systems. IEEE/ASME Trans. Mechatron. 2019, 24, 2073–2084. [Google Scholar] [CrossRef]
  27. Nikooienejad, N.; Maroufi, M.; Moheimani, R. Iterative learning control for video-rate atomic force microscopy. IEEE/ASME Trans. Mechatron. 2021, 26, 2127–2138. [Google Scholar] [CrossRef]
  28. Madani, T.; Benallegue, A. Adaptive control via backstepping technique and neural networks of a quadrotor helicopter. IFAC Proc. Vol. 2008, 41, 6513–6518. [Google Scholar] [CrossRef] [Green Version]
  29. Hoang, V.T.; Phung, M.D.; Ha, Q.P. Adaptive twisting sliding mode control for quadrotor unmanned aerial vehicles. In Proceedings of the 2017 Asian Control Conference (ASCC 2017), Gold Coast, Australia, 17–20 December 2017; pp. 671–676. [Google Scholar]
  30. Tian, B.; Lu, H.; Zuo, Z.; Zong, Q. Adaptive finite-time attitude tracking of quadrotors with experiments and comparisons. IEEE Trans. Ind. Electron. 2019, 66, 9428–9438. [Google Scholar] [CrossRef]
  31. He, X.; Guo, D.; Leang, K.K. Repetitive control design and implementation for periodic motion tracking in aerial robots. In Proceedings of the 2017 American Control Conference (ACC), Seattle, WA, USA, 24–26 May 2017; pp. 5101–5108. [Google Scholar]
  32. Dong, J.; He, B. Novel fuzzy PID-type iterative learning control for quadrotor UAV. Sensors 2019, 19, 24. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  33. Adlakha, R.; Zheng, M. An Optimization-Based Iterative Learning Control Design Method for UAV’s Trajectory Tracking. In Proceedings of the 2020 American Control Conference (ACC), Denver, CO, USA, 1–3 July 2020; IEEE: Piscataway, NJ, USA, 2020; pp. 1353–1359. [Google Scholar]
  34. Chen, Y.; Moore, K.L. Harnessing the nonrepetitiveness in iterative learning control. In Proceedings of the 41st IEEE Conference on Decision and Control, Las Vegas, NV, USA, 10–13 December 2002; IEEE: Piscataway, NJ, USA, 2002; Volume 3, pp. 3350–3355. [Google Scholar]
  35. Sarpturk, S.Z.; Istefanopulos, Y.; Kaynak, O. On the stability of discrete-time sliding mode control systems. IEEE Trans. Autom. Control 1987, 32, 930–932. [Google Scholar] [CrossRef]
  36. Norrlöf, M.; Gunnarsson, S. Time and frequency domain convergence properties in iterative learning control. Int. J. Control 2002, 75, 1114–1126. [Google Scholar] [CrossRef]
  37. Guilherme, V.R.; Manuel, G.O.; Francisco, R.R. An integral predictive/nonlinear H control structure for a quadrotor helicopter. Automatica 2010, 46, 29–39. [Google Scholar]
  38. Craig, J.J. Introduction to Robotics—Mechanics and Control, 2nd ed.; Addison-Wesley Publishing Company, Inc.: Reading, MA, USA, 1989. [Google Scholar]
  39. Hoang, V.T.; Phung, M.D.; Dinh, T.H.; Ha, Q.P. System architecture for real-time surface inspection using multiple UAVs. IEEE Sens. J. 2020, 40, 4430–4441. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Basic structure of ILC.
Figure 1. Basic structure of ILC.
Electronics 10 02474 g001
Figure 2. Configuration of a quadcopter.
Figure 2. Configuration of a quadcopter.
Electronics 10 02474 g002
Figure 3. ILSMC in a cascade PID-controlled quadcopter.
Figure 3. ILSMC in a cascade PID-controlled quadcopter.
Electronics 10 02474 g003
Figure 4. Step response in nominal conditions: (a) step response and (b) control effort.
Figure 4. Step response in nominal conditions: (a) step response and (b) control effort.
Electronics 10 02474 g004aElectronics 10 02474 g004b
Figure 5. Performance in the presence of disturbances and uncertainties.
Figure 5. Performance in the presence of disturbances and uncertainties.
Electronics 10 02474 g005
Figure 6. Control efforts in the presence of disturbances and uncertainties.
Figure 6. Control efforts in the presence of disturbances and uncertainties.
Electronics 10 02474 g006
Figure 7. ITAEs of the tracking errors after each iteration.
Figure 7. ITAEs of the tracking errors after each iteration.
Electronics 10 02474 g007
Figure 8. System architecture.
Figure 8. System architecture.
Electronics 10 02474 g008
Figure 9. Predefined trajectory.
Figure 9. Predefined trajectory.
Electronics 10 02474 g009
Figure 10. Imported trajectory.
Figure 10. Imported trajectory.
Electronics 10 02474 g010
Figure 11. Flying 3DR Solo drone.
Figure 11. Flying 3DR Solo drone.
Electronics 10 02474 g011
Figure 12. Logged flight data.
Figure 12. Logged flight data.
Electronics 10 02474 g012
Figure 13. Tracking performance with real-time data.
Figure 13. Tracking performance with real-time data.
Electronics 10 02474 g013aElectronics 10 02474 g013b
Figure 14. Control efforts with real-time data.
Figure 14. Control efforts with real-time data.
Electronics 10 02474 g014
Table 1. Parameters of the 3DR Solo drone.
Table 1. Parameters of the 3DR Solo drone.
ParameterValueUnit
m 1.5 kg
l 0.205 m
g 9.81 m/s 2
I x x 9.1 × 10 3 kg m 2
I y y 16.4 × 10 3 kg m 2
I z z 24.1 × 10 3 kg m 2
Table 2. Control parameters.
Table 2. Control parameters.
ParameterValueParameterValue
c ϕ 50 μ 10
c θ 50 λ 0.9
c ψ 20--
Table 3. ITAE of UAV attitude control angles.
Table 3. ITAE of UAV attitude control angles.
UAV Angle (degrees)ATSMCAFTCPDPD-ILCILSMC
Roll 5.03 2.03 3344.2 39.91 0.255
Pitch 3.87 1.40 3468.4 55.60 0.261
Yaw 3.47 2.42 3323.0 149.89 0.444
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Nguyen, L.V.; Phung, M.D.; Ha, Q.P. Iterative Learning Sliding Mode Control for UAV Trajectory Tracking. Electronics 2021, 10, 2474. https://doi.org/10.3390/electronics10202474

AMA Style

Nguyen LV, Phung MD, Ha QP. Iterative Learning Sliding Mode Control for UAV Trajectory Tracking. Electronics. 2021; 10(20):2474. https://doi.org/10.3390/electronics10202474

Chicago/Turabian Style

Nguyen, Lanh Van, Manh Duong Phung, and Quang Phuc Ha. 2021. "Iterative Learning Sliding Mode Control for UAV Trajectory Tracking" Electronics 10, no. 20: 2474. https://doi.org/10.3390/electronics10202474

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop