# Application of Online Iterative Learning Tracking Control for Quadrotor UAVs

Authors: Pong-in Pipatpaibul; P. R. Ouyang
Journal: ISRN Robotics
 (2013)

---

## Abstract

Quadrotor unmanned aerial vehicles (UAVs) have attracted considerable interest for various applications including search and rescue, environmental monitoring, and surveillance because of their agilities and small sizes. This paper proposes trajectory tracking control of UAVs utilizing online iterative learning control (ILC) methods that are known to be powerful for tasks performed repeatedly. PD online ILC and switching gain PD online ILC are used to perform a variety of manoeuvring such as take-off, smooth translation, and various circular trajectory motions in two and three dimensions. Simulation results prove the ability and effectiveness of the online ILCs to perform successfully certain missions in the presence of disturbances and uncertainties. It also demonstrates that the switching gain PD ILC is much effective than the PD online ILC in terms of fast convergence rates and smaller tracking errors.


---

## Body

## 1. Introduction

Unmanned aerial vehicles (UAVs) have become very popular among researchers and developers in the last decade, owing to their capabilities of various applications such as meteorological surveillance, disaster monitoring, and military purposes. Depending on their applications, UAVs vary in sizes, shapes, and operating ranges. UAVs are complicated for control considering the nonlinearity of the system, no supervision of pilots, and external disturbances that need sophisticated control system to deal with.A quadrotor UAV is a special UAV that has four rotors with a symmetric shape to generate thrust. A quadrotor UAV can vertically take-off, hover, swiftly manoeuvre in any direction and carry a large payload comparing to its own weight. In addition, a quadrotor UAV is normally small compared with other types of UAVs, which makes it simple and cheap, and accessible indoors or in urban constrained areas.In order to achieve autonomous control, many studies and experiments have been performed for UAVs. However, due to their nonlinearity, multi-input and coupling characteristics, traditional control methods such as PID control may perform poorly under uncertainty and wind disturbances for UAVs, as shown in [1–3]. As an optimization technique with feedback control, Linear Quadratic Regulator (LQR) and its variation of State Dependent Riccati Equation (SDRE) control were proved to perform well for UAVs without disturbances [4, 5]. Comparisons and implementation of Sliding Mode Control (SMC) and Backstepping control were presented in [6–8]. The SMC methods were found to be robust against uncertainties, but they are still relatively complicated and it might cause chattering problems. An H-infinity control [9] was proposed to deal with the problem of stabilization of a rotorcraft with small external disturbances. An adaptive-fuzzy control was developed in [10] with robustness but limited to stabilization applications only. Neural Network control methods were implemented in [11, 12] that proved to perform well, but intensive computations are required for training NN that may limit their real applications. A testbed for the development and demonstration of control systems and trajectory planning optimization of UAVs was set up and discussed in MIT [13, 14].On the other hand, iterative learning control (ILC) [16] is based on simple PD/PID control and adopts the idea of human learning process, and it is mainly used in robotic manipulators where their tasks are performed repeatedly. ILC can improve tracking performances when a specific task is done again and again, and it is robust against uncertainties and disturbances. ILC was originally proposed by Arimoto [16], where only derivative part (D-type) and information from previous iteration(s) were used to determine the control input for current iteration (offline ILC). Some variations of ILC such as P-type [17], PD-type [18, 19], PI-type [20, 21], and PID-type [22, 23] were studied, but most of them cannot assure monotonic convergence for nonlinear systems. Faster convergence rates can be achieved by using current iteration errors (online ILC) in [24–27] or a combination of both online and offline ILCs in [28–31]. An even faster monotonic convergence rate and less tracking error can be achieved by using switching gain learning control developed in [32, 33]. Performance comparison of various types of ILCs was conducted in [34].Many control methods have been developed to deal with the control problems of UAVs. The majority of those controllers focused heavily on the stabilization problem which is the first step toward successfully autonomous flights. Some of them also handled position maintaining or velocity holding in order to fulfill certain manoeuvrings and thus full autonomous control. Some researches focused on the trajectory tracking control of UAVs through developing different control methods [35–37]. Based on gain-scheduling control theory, the nonlinear problem of UAV dynamics was represented as piece-wise error dynamics over a predefined set of operating regions in [35], and the design and performance evaluation of a trajectory tracking controller were discussed. LQR control was applied as a trajectory follower to minimize errors between the real trajectory and the reference trajectory in [36]. A switching control method was introduced for trajectory tracking of fixed-wing UAVs in [37].To the best of our knowledge, there is rare application of ILC on the control of UAVs. The contribution of this work to the UAV field consists in the exploration of different online ILCs on trajectory tracking control of quadrotor UAVs for the first time, focusing on performance improvements under conditions of uncertainty and disturbances. The capability of online ILCs to reject random disturbances and noise is examined and demonstrated. The research can be viewed as a new application of online ILCs. In this research, two competitive types of ILCs, namely, PD online ILC and switching gain PD (SPD online ILC), are employed in order to control a quadrotor UAV to follow various desired trajectories in the presence of disturbances and uncertainties. Nonlinear dynamic model of the quadrotor UAV is established where major aerodynamic and gyroscopic effects are included. Simulations are conducted to verify the capability of performing various missions repeatedly with some constraints.


## 2. Quadrotor UAV: Dynamic Model and Parameters

As named, a quadrotor UAV consists of four rotors producing thrust upward against its own weight and payloads. Usually, payloads are placed at the center of the UAV, and rotors propelled by DC motors with or without gearbox. Figure1 shows an example of a quadrotor UAV and Figure 2 illustrates the coordinate system and positions of rotors used in this paper. The rotors are divided into two pairs; one pair rotates in the opposite direction of the other pair. Increasing the thrust on one side and decreasing the thrust on the other side of the same pair will result in rotation in the pitch or roll direction and the quadrotor will tend to translate toward the direction that it inclines to. Simply increasing thrust equally in one pair and decreasing thrust in the other pair will result in the rotation of the yaw angle while maintaining the position and altitude.Figure 1
An example of a quadrotor UAV [15].Figure 2
Coordinate system of UAV.According to the coordinate system shown in Figure2, a nonlinear translational and rotational dynamic model for the quadrotor UAV can be expressed as [12]
(1)τ=Jω˙+ω(Jω+JrΩre3)+dτ,mv˙=RT-mge3-dT,
where τ is a torque vector of the three axes;  J is the inertia tensor of a quadrotor; ω is an angular velocity vector;  Jr is the moment of inertia of rotor; Ωr=Ω1-Ω2+Ω3-Ω4 is the total rotor speed;e3=[001]T is a unit vector in the inertial frame; R is the rotation matrix; T is a force vector; dτ and dT are the disturbance vectors for rotations and translations, respectively.The equations of motion, along with control inputs, can be described in each axis based on (1) as [12]
(2)X¨=-sinθcosϕ(bm)u1-dxm,(3)Y¨=sinϕ(bm)u1-dym,(4)Z¨=-g+cosθcosϕ(bm)u1-dzm,(5)ϕ¨=θ˙ψ˙Iy-IzIx-θ˙ΩrJrIx+lbIxu2-d∅Ix,(6)θ¨=ϕ˙ψ˙Iz-IxIy+ϕ˙ΩrJrIy+lbIyu3-dθIy,(7)ψ¨=θ˙ϕ˙Ix-IyIz+dIzu4-dψIz,
where  l is the span of the quadrotor;  b is the thrust coefficient;  d is the drag coefficient, which relates to torque in the yaw angle.The control inputs related to each rotor speed are defined as follows:(8)u={u1u2u3u4}=[11110-10110-101-11-1]{Ω12Ω22Ω32Ω42}.Note that (2)–(4) are derived using the rotation matrix of RZXY instead of RZYX as used by most robotic applications. Design parameters and some limitations of a quadrotor UAV are referred from a real application in [15] and listed in Table 1.Table 1
Parameters of a quadrotor UAV.
Parameters
Description
Value
l
Quadrotor arm length
0.232
m
b
Rotor thrust coefficient
3.13
×
10
-
5
N
·
s
2
d
Rotor drag coefficient
7.5
×
10
-
7
m
·
s
2
m
Total quadrotor mass
0.52
kg
I
x
Moment of inertia aboutX axis
6.228
×
10
-
3
kg
·
m
2
I
y
Moment of inertia aboutY axis
6.225
×
10
-
3
kg
·
m
2
I
z
Moment of inertia aboutZ axis
1.121
×
10
-
2
kg
·
m
2
J
r
Moment of inertia of the rotors
6
×
10
-
5
kg
·
m
2
Ω
max
Maximum rotor speed
279
rad/sTo design a control system for the quadrotor UAV, it is more convenient to establish a state-space model. First, we define a state variable vector as follows:(9)x=[XYZϕθψX˙Y˙Z˙ϕ˙θ˙]T.Then the state space system for the UAV dynamic model described in (2)–(7) can be expressed as
(10)x˙=(x7x8x9x10x11x12-sinx5cosx4(bm)u1-dxmsinx4(bm)u1-dym-g+cosx5cosx4(bm)u1-dzma1x11x12-a2Ωrx11-a11u2-d∅Ixa3x10x12+a4Ωrx10-a22u3-dθIya5x10x11+a33u4-dψIz),y=I12×12x,
where
(11)a1=Iy-IzIx,a2=JrIx,a3=Iz-IxIy,a4=JrIy,a5=Ix-IyIz,a11=lIx,a22=lIy,a33=dIz.In this paper, the disturbances given in (10) have wind disturbance components along the X and Y directions that are modeled by a correlated Gauss-Markov process [9]. In all other directions, some random noises are added to simulate the disturbances and the uncertainties of the dynamics.


## 3. Different ILCS: Basics and Convergence Conditions

ILC can improve tracking performance of a nonlinear system through iterative operations when a specific task is performed repeatedly. Consider a nonlinear time varying system with the following form:(12)x˙k(t)=f(xk(t),t)+B(t)Uk(t)+dk,yk(t)=C(t)xk(t),
where subscription k denotes the iteration number.A general form of the control update law for ILCs involving online and offline learning technique can be written as(13)Uk+1=Uk+Kponek+1(t)+Kion∫0tek+1(t)dt+Kdone˙k+1(t)+Kpoffek(t)+Kioff∫0tek(t)dt+Kdoffe˙k(t),
where e(t)=yd(t)-y(t) and e˙(t)=y˙d(t)-y˙(t). Kp, Ki, and Kd are PID control gains, and subscriptions on and off represent online (feedback, using errors from the current iteration) and offline (feed-forward, using errors from the previous iteration), respectively. Based on the selection of the control gains, ILCs can be mainly classified as three types, namely, offline, online, and online-offline. In the following sections, the convergence conditions and the convergence rate are discussed.


### 3.1. Offline ILCs

Traditional ILCs belong to offline learning control, where only the errors from previous iterations have been included in the control law:(14)Uk+1=Uk+Kpoffek(t)+Kioff∫0tek(t)dt+Kdoffe˙k(t).In the case that only a proportional part is utilized (P-ILCs), the control law can be expressed as(15)Uk+1=Uk+Kpoffek(t).For a P-type ILC, the convergence condition for the controlled system (12) is [17]
(16)ρpoff=∥I-KpoffCB∥<1.
Whenever a derivative part is involved in an ILC, including D-ILC, PD-ILC, and PID-ILC, the convergence condition is [16, 18, 19]
(17)ρdoff=∥I-KdoffCB∥<1.The two aforementioned convergence conditions imply that offline learning gains are upper bounded, which means that only a certain range of control gains can be chosen. Therefore, offline ILCs have a relatively slow convergence rate.


### 3.2. Online ILCs

On the other hand, online ILCs only rely on current iteration errors:(18)Uk+1=Uk+Kponek+1(t)+Kion∫0tek+1(t)dt+Kdone˙k+1(t)
and their convergence conditions are [27–29]
(19)ρpon=∥(I+KponCB)-1∥<1(P-typeonly),ρdon=∥(I+KdonCB)-1∥<1(D-typeinvolved).It is noticed that the learning gains are unbounded for online ILCs from (19), which makes it very flexible to choose control gains. Furthermore, it is demonstrated that the larger the online control gains, the faster the system convergence rate.In addition to ordinary online ILCs, one might utilize switching gain learning control to increase the convergence rate by increasing online learning gains for each iteration. The convergence conditions then become [32]
(20)ρpon=∥(I+Kpon(0)CB)-1∥<1(P-typeonly),ρdon=∥(I+Kdon(0)CB)-1∥<1(D-typeinvolved).


### 3.3. Online-Offline ILCs

When online and offline ILCs are combined and used simultaneously, it simply turns into online-offline ILCs. Convergence conditions are then a combination of both types and can be expressed as [31]
(21)ρpoff<1ρpon<1(P-typeonly)orρdoff<1ρdon<1(D-typeinvolved).


## 3.1. Offline ILCs

Traditional ILCs belong to offline learning control, where only the errors from previous iterations have been included in the control law:(14)Uk+1=Uk+Kpoffek(t)+Kioff∫0tek(t)dt+Kdoffe˙k(t).In the case that only a proportional part is utilized (P-ILCs), the control law can be expressed as(15)Uk+1=Uk+Kpoffek(t).For a P-type ILC, the convergence condition for the controlled system (12) is [17]
(16)ρpoff=∥I-KpoffCB∥<1.
Whenever a derivative part is involved in an ILC, including D-ILC, PD-ILC, and PID-ILC, the convergence condition is [16, 18, 19]
(17)ρdoff=∥I-KdoffCB∥<1.The two aforementioned convergence conditions imply that offline learning gains are upper bounded, which means that only a certain range of control gains can be chosen. Therefore, offline ILCs have a relatively slow convergence rate.


## 3.2. Online ILCs

On the other hand, online ILCs only rely on current iteration errors:(18)Uk+1=Uk+Kponek+1(t)+Kion∫0tek+1(t)dt+Kdone˙k+1(t)
and their convergence conditions are [27–29]
(19)ρpon=∥(I+KponCB)-1∥<1(P-typeonly),ρdon=∥(I+KdonCB)-1∥<1(D-typeinvolved).It is noticed that the learning gains are unbounded for online ILCs from (19), which makes it very flexible to choose control gains. Furthermore, it is demonstrated that the larger the online control gains, the faster the system convergence rate.In addition to ordinary online ILCs, one might utilize switching gain learning control to increase the convergence rate by increasing online learning gains for each iteration. The convergence conditions then become [32]
(20)ρpon=∥(I+Kpon(0)CB)-1∥<1(P-typeonly),ρdon=∥(I+Kdon(0)CB)-1∥<1(D-typeinvolved).


## 3.3. Online-Offline ILCs

When online and offline ILCs are combined and used simultaneously, it simply turns into online-offline ILCs. Convergence conditions are then a combination of both types and can be expressed as [31]
(21)ρpoff<1ρpon<1(P-typeonly)orρdoff<1ρdon<1(D-typeinvolved).


## 4. Controller Design for Quadrotor UAV

In this paper, the integral part of PID control in (13) will be neglected as ILC itself has the feature of integration, by adding control actions from previous iterations to the current one. Furthermore, offline and online-offline ILCs are not considered as many researchers have demonstrated a superior performance of online ILCs over offline ILCs. Figure 3 shows a scheme of a control diagram for online ILCs. Only ordinary PD online ILCs and SPD online ILCs will be tested and compared in this research.Figure 3
Control scheme for PD online ILC and SPD ILC.According to (8), there are four control inputs for the UAV system. Based on the state variables defined in (9), the control variables are defined as x3 to x6, corresponding to Z axis and three rotation angles; their corresponding derivatives are x9 to x12. The control inputs of the UAV are calculated using the following ILC update law:
(22)ui,k+1=ui,k+(Kpon)i+2(xi+2,d-xi+2)k+1+(Kdon)i+2(xi+8,d-xi+8)k+1=ui,k+(Kpon)i+22fori=1,2,3,4,
where (Kpon)j and (Kdon)j are the corresponding online learning proportional and derivative gains.If theZ direction needs to be controlled, from (22), we can see that x3,d and x9,d are the only desired states determined by the desired trajectories. In order to find properly desired states as a function of time for the rest of state variables, two dummy control inputs for the X and Y direction motions are defined as
(23)ux,k+1=ux,k+(Kpon)1(x1,d-x1)k+1+(Kdon)1(x7,d-x7)k+1,uy,k+1=uy,k+(Kpon)2(x2,d-x2)k+1+(Kdon)2(x8,d-x8)k+1,
where x1,d, x2,d, x7,d, and x8,d are the desired trajectories in the X and Y directions and their derivatives, respectively; (Kpon)j and (Kdon)j are the online learning gains. Based on the defined rotation matrix R, the desired angles can be calculated from
(24)ϕd=x4,d=asin(uy),ϕ˙d=x10,d=11-uy2u˙y,θd=x5,d=-asin(uxcos(x4)),θ˙d=x11,d=-u˙x+tan(x4)x10uxcos(x4)1-(ux/cos(x4))2.Since a quadrotor UAV is very agile and is able to maneuver in any direction, the yaw angle in this paper is defined as(25)ψd=x6,d=ψ˙d=x12,d=0.According to (19), the convergence conditions for online ILCs are only related to matrices B (input matrix) and C (output matrix) and are not related to function f(x,t) in (12). This feature provides the robustness of the control law to deal with the mismatch in modeling the system. Also, the choices of control gains in (22)-(23) are flexible because they are unbounded as long as (19) is satisfied. It should be noticed that, in the developed control law (22)-(23), the angular positions and angular speeds should be measured by sensors. A fibre optic gyroscope sensor can be used for this purpose because of its high accuracy, fast response, and low weight.Note that in the SPD ILC, the online learning gains are defined as functions of iteration number and are chosen as(26)Kpon(k)=s(k)*Kpon(0)Kdon(k)=s(k)*Kdon(0)s(k)=k,fork≥1.The switching action here occurs in iteration domain rather than in time domain. For traditional switching control, the switching action may cause problems in transient process of the switched system, while this phenomenon does not occur in iteration domain.


## 5. Simulation Results

In order to obtain a smooth trajectory, that is, continuous in position, velocity, and acceleration, a 5th order polynomial function of time is used for each desired trajectory in our simulation studies. With the boundary conditions off(0)=0, f(T)=1, f′(0)=f′(T)=f′′(0)=f′′(T)=0, the following polynomial function [38] is used to generate the desired trajectory:
(27)f(t)=10(tT)3-15(tT)4+6(tT)5,t∈[0,1].In the simulation studies, two different types of disturbances are introduced to deal with different environmental effects on different direction motions of the quadrotor UAV.For theX and Y direction motions, external disturbances caused by wind gusts are described by stochastic functions where a Gauss-Markov process is chosen to simulate the wind effect to the UAV system
(28)dx(tj)=dx(tj-1)+A*rand(),dy(tj)=dy(tj-1)+A*rand().Throughout all the simulations, disturbances in theZ direction and all three angles are presented in (29). Note that the disturbances with random noise are very large compared to the components of the dynamic model
(29)D=10+20sin(2πt)+rand(),dz=0.1D,dϕ=D,dθ=D,dψ=0.001D.To demonstrate tracking performance and robustness of online ILCs, the following simulation will cover main missions of a quadrotor UAV, that is, take-off, hovering, and moving in various trajectories.


### 5.1. Take-Off Control

In a take-off mission, the quadrotor UAV is commanded to smoothly take-off and ultimately hover at a desired heighthd=10m within a time duration of T=5sec. The desired trajectory is defined as
(30)Zd(t)=hd[10(tT)3-15(tT)4+6(tT)5],Xd=Yd=0,t∈[0,T]
and a set of online learning gains is chosen as
(31)Kpon=Kon[0.10.15055500],Kdon=1.5Kpon,
where Kon=0.5,1,1.5 for different control gains. For most simulations conducted in this research, we set Kon=1 unless otherwise stated. The choice of control gains above was based on trial and error, with regard to stability and trajectory tracking performance.The constantKon is used to demonstrate the effect of increasing-decreasing the whole gain set by a factor. A variation of learning gains and its trajectory tracking performance for take-off are listed in Table 2. It should be mentioned that, in order to get fair comparison results, the disturbances and uncertainties for each simulation in the same iteration are assumed to be the same.Table 2
Effect of each control gain on tracking errors.
Control gain
k
∥
e
x
∥ (m)
∥
e
y
∥ (m)
∥
e
z
∥ (m)
∥
ϕ
∥ (deg)
∥
θ
∥ (deg)
∥
ψ
∥ (deg)
[
0.1
0.1
50
5
5
500
]  Kon=1
1
5.423
e
-
1
5.423
e
-
1
2.228
e
-
2
1.244
e
0
1.244
e
0
6.8584
e
0
3
5.857
e
-
2
5.856
e
-
2
1.157
e
-
5
4.632
e
-
1
4.636
e
-
1
4.7586
e
0
5
1.532
e
-
2
1.529
e
-
2
1.151
e
-
5
3.287
e
-
1
3.286
e
-
1
3.0638
e
0
9
5.261
e
-
3
5.258
e
-
3
1.141
e
-
5
2.415
e
-
1
2.415
e
-
1
1.3656
e
0
[
0.01
0.01
50
5
5
500
]  Kon=1
1
7.472
e
0
7.471
e
0
2.229
e
-
2
2.331
e
0
2.330
e
0
6.8584
e
0
3
2.627
e
0
2.627
e
0
2.099
e
-
5
2.101
e
0
2.104
e
0
4.7586
e
0
5
1.204
e
0
1.204
e
0
1.693
e
-
5
1.298
e
0
1.298
e
0
3.0638
e
0
9
5.748
e
-
1
5.750
e
-
1
1.244
e
-
5
1.727
e
0
1.727
e
0
1.3656
e
0
[
0.1
0.15
5
5
500
]  Kon=1
1
5.429
e
-
1
5.429
e
-
1
2.214
e
-
1
1.243
e
0
1.243
e
0
6.8584
e
0
3
5.951
e
-
2
5.950
e
-
2
2.414
e
-
4
4.638
e
-
1
4.642
e
-
1
4.7586
e
0
5
1.569
e
-
2
1.566
e
-
2
3.032
e
-
5
3.307
e
-
1
3.307
e
-
1
3.0638
e
0
9
5.281
e
-
3
5.278
e
-
3
1.784
e
-
5
2.442
e
-
1
2.442
e
-
1
1.3656
e
0
[
0.1
0.1
50
0.5
0.5
500
]  Kon=1
1
5.132
e
0
5.152
e
0
2.231
e
-
2
1.296
e
1
1.288
e
1
6.8584
e
0
3
5.954
e
-
1
5.955
e
-
1
1.224
e
-
4
5.599
e
0
5.687
e
0
4.7586
e
0
5
1.487
e
-
1
1.453
e
-
1
2.560
e
-
5
3.962
e
0
3.879
e
0
3.0638
e
0
9
5.173
e
-
2
5.130
e
-
2
1.298
e
-
5
2.955
e
0
2.891
e
0
1.3656
e
0
[
0.1
0.1
50
5
5
50
]  Kon=1
1
5.421
e
-
1
5.422
e
-
1
2.213
e
-
2
1.247
e
0
1.247
e
0
7.9413
e
0
3
5.940
e
-
2
5.938
e
-
2
1.085
e
-
5
4.627
e
-
1
4.632
e
-
1
7.6792
e
0
5
1.577
e
-
2
1.568
e
-
2
1.062
e
-
5
3.272
e
-
1
3.273
e
-
1
7.4223
e
0
9
5.360
e
-
3
5.315
e
-
3
1.062
e
-
5
2.421
e
-
1
2.424
e
-
1
6.9237
e
0As shown in Table2, reducing (Kpon)1 and (Kpon)2 by a factor of 10 significantly reduces the convergence rate and yields much larger errors in the first three iterations. Likewise, decreasing (Kpon)4 and (Kpon)5 by a factor of 10 yields similar results. This is due to a slower reaction in attitude control, making the quadrotor UAV away from the desired position in the presence of disturbances. Lastly, reducing (Kpon)6 by a factor of 10 shows a considerable decrease in yaw angle stability and a slower convergence rate. The effect of changes in Kdon on the performance is illustrated in Figure 4. For the X and Y axes tracking, when Kdon=Kpon the system yields larger errors and tends to produce steady errors. For Kdon=1.5Kpon and Kdon=3Kpon, the results are much better in terms of maximum errors and final steady errors. These results strongly show the importance of the derivative gains. For the Z direction, the results are merely identical.Figure 4
Effect ofKd on tracking errors for PD online ILCs.Figure5 shows how changing the whole set of gains by a factor affects trajectory tracking performances. With Kon=0.5, for the X and Y directions, it is obvious that the control gains are not high enough to ensure monotonic convergence and yield large errors. On the other hand, when Kon=1 and Kon=1.5, the system is monotonically convergent and even faster for the latter case. Again, the effect is hardly detected in the Z direction. This is because control in the Z direction depends solely on u1, while the X and Y motions also depend on the attitude of the quadrotor UAV.Figure 5
Effect of changing the whole set of control gains by a factor of 0.5 and 1.5.To compare the performances of ILCs with traditional control such as LQR control, take-off simulations were fulfilled. Table3 lists the maximum tracking errors under different LQR performance indices where an approach for the design of LQR controller discussed in [4] is used. Comparing the maximum errors in Z direction shown in Table 3 with those listed in Table 2, it is clearly shown that the ILC performed much better than the LQR. Such a result would be expected as the ILCs is a kind of nonlinear learning control while the LQR is a linearized control for a nonlinear system.Table 3
Maximum tracking errors in theZ direction for take-off under LQR control.
LowQ (106I)
MiddleQ (107I)
LargeQ (108I)
0.0802
0.0327
0.0105After finishing the initial comparison study on the performance improvements by changing online control gains, some take-off simulation studies with wind disturbances and uncertainties are conducted. Figure6 shows the maximum tracking errors from iteration to iteration controlled by both PD online ILCs and SPD ILCs. In the presence of disturbances, there are small errors for the X and Y direction motions controlled by the PD online ILC because of the existence of wind disturbance. But SPD ILCs outperform PD online ILCs with their incredibly fast convergence rates, and achieve very good performances in all three translation motions after 3 iterations. It demonstrates the capability of dealing with disturbances in SPD ILC.Tracking performance comparison between PD online ILC and SPD ILC for take-off.
(a)
(b)Trajectory tracking performance in translations and orientations controlled by PD online ILCs is shown in Figure7 for different iterations. It can be seen that the quadrotor UAV can smoothly take-off, with some errors in the X and Y directions that were caused by the wind disturbances. It is also noticed that the PD online ILCs and SPD ILCs can reject disturbances in orientations. Figure 8 shows the tracking performance improvements in Z direction from iteration to iteration for both online ILCs. It clearly shows the significant differences between the PD online ILC and the SPD ILC after the first iteration. Rotor speed in the 9th iteration is depicted in Figure 9 for the PD online ILC, which shows that all four rotors operate in the specified ranges.Tracking performance of PD online ILC in iteration 1, 3, 6, and 9 for take-off.
(a)
(b)
(c)
(d)
(e)
(f)Tracking performance improvement comparison for take-off.
(a)
(b)Figure 9
Rotor speed at the 9th iteration controlled by PD online ILC for take-off.


### 5.2. Smooth Translation Tracking

To demonstrate a good trajectory tracking performance for anX-Y plane translation motion, desired trajectories are chosen as follows:
(32)Xd(t)=Yd(t)=S[10(tT)3-15(tT)4+6(tT)5],Zd(t)=0,t∈[0,T].Two sets of simulations are performed here. The first simulation is set for a short range linear translation motion withS=10 m and T=5 sec., and the second one is for a long range translation motion at a higher speed with S=100 m and T=15 sec.For the first set motion, it shows that the PD online ILCs tend to take more iterations, as many as 9, to converge to approximate zero errors inX and Y directions while SPD ILCs take 6 iterations. Trajectory tracking errors from iteration to iteration are shown in Figure 10. It clearly shows that the SPD ILC can ensure less tracking errors and faster convergence rates.Tracking errors from iteration to iteration forX-Y translation (S=10 m, T=5 sec.).
(a)
Tracking errors forX-Y translation using PD online ILC
(b)
Tracking errors forX-Y translation using SPD online ILCFigures11 and 12 show the tracking performance improvements from iteration to iteration for both PD online ILC and SPD ILC. The effectiveness of the online ILCs in terms of tracking error reductions and resistance to disturbances is clearly shown.Trajectory tracking performance of PD online ILC in iteration 1, 3, 6, and 9 forX-Y translation (S=10 m, T=5 sec.).
(a)
(b)
(c)
(d)
(e)
(f)Trajectory tracking performance of SPD ILC in iteration 1, 3, and 6 forX-Y translation (S=10 m, T=5 sec.).
(a)
(b)
(c)
(d)
(e)
(f)Note that shown in Figure13, there are relatively large errors in the X and Y directions for the first iteration and then they converge to stable error boundaries for the PD ILC, but the SPD ILCs obtained very good tracking performance with very small (<10−2 m) tracking errors in all three directions even under the wind gust disturbance conditions.Trajectory tracking performance comparison between PD online ILC and SPD ILC forX-Y translation (S=10 m, T=5 sec.).
(a)
(b)For the second set test with large motion ranges and fast speeds, the maximum tracking errors from iteration to iteration are depicted in Figure14 for both PD online ILC and SPD ILC. It is shown that the PD online ILCs obtain acceptable tracking performance (the tracking errors are around 1 m for both X and Y directions), while the SPD ILCs still perform much better than the PD online ILCs.Trajectory tracking performance comparison between PD online ILC and SPD ILC forX-Y translation (S=100 m, T=15 sec.).
(a)
(b)Figure15 shows the tracking errors in the X and Y directions from iteration to iteration for both PD online ILC and SPD online ILC. Considering the long range motions and relatively higher speed than the previous short range motion case, it is clearly shown that, after a few iterations, the quadrotor can obtain smooth and good motions that follow the desired trajectories, especially for the SPD ILC.Tracking errors from iteration to iteration forX-Y translation (S=100 m, T=15 sec.).
(a)
Tracking errors forX-Y translation using PD online ILC
(b)
Tracking errors forX-Y translation using SPD online ILCFurthermore, to examine the tracking performance for a three dimensional translation motion based on the ILCs, a simulation of linear motion from point A (0, 0, 0) to point B (100, 100, 10) in 15 seconds is conducted. Figure16 shows the maximum tracking errors from iteration to iteration controlled by these two different online ILCs. It is clearly shown that the SPD ILCs performed much better than the PD online ILCs in terms of fast convergent rate, small tracking errors, and good capability to compensate the disturbances and uncertainties. It also shows that the tracking performance in the Z direction was controlled very well for both online ILCs. Figure 17 shows the tracking errors from iteration to iteration for both PD online ILC and SPD online ILC for 3D translation motions. It demonstrates the effectiveness of the online ILCs and the better tacking performance obtained by the SPD online ILC.Trajectory tracking performance comparison between PD online ILC and SPD ILC forX-Y-Z translation.
(a)
(b)Trajectory tracking performance comparison between PD online ILS and SPD ILC forX-Y-Z translation.
(a)
For PD online ILC
(b)
For SPD online ILC


### 5.3. Circular Trajectories Tracking

To prove that the quadrotor UAV can freely maneuver a complex trajectory, a circular trajectory tracking test is performed by using the online ILCs. In this mission, the quadrotor revolves theX-Y plane with a radius R=20 m for a time duration T=20 sec., smoothly starting from and ending at the velocity of 0. The desired trajectories are
(33)Xd(t)=Rcos(2π[10(tT)3-15(tT)4+6(tT)5]+π)+R,Yd(t)=Rsin(2π[10(tT)3-15(tT)4+6(tT)5]+π),Zd(t)=25,Xd∈[0,2R],Yd∈[-R,R]t∈[0,T].Figure18 shows the performance improvements from iteration to iteration for both PD online ILCs and SPD ILCs. Once again, it demonstrated the effectiveness of the SPD ILCs. Figure 19 shows the tracking errors controlled by PD online ILCs and SPD ILCs for the X-Y plane circular trajectory, respectively. It can be observed that PD online ILCs can obtain acceptable tracking performances through iterative learning processes, and SPD ILCs converge to approximate zero errors at the 3rd iteration while PD online ILCs still have small bounded tracking errors. Therefore, it can be seen that SPD ILCs perform much better in yaw angle than the PD online ILCs.Trajectory tracking performance comparisons forX-Y plane circular motion.
(a)
(b)Tracking performance comparison forX-Y circular motion.
(a)
Tracking errors forX-Y circular motion using PD online ILC
(b)
Tracking errors forX-Y circular translation using SPD online ILCBy adding theZ direction motion (20 m) accordingly with the X-Y plane circular motion discussed above, a 3D circular tracking case was formed and used to examine the effectiveness of the online ILCs. Figure 20 shows the maximum tracking errors in three axes for the PD online ILCs and the SPD ILCs, while Figure 21 shows the tracking performance improvements from iteration to iteration for both online ILCs. It demonstrates again that the SPD ILCs can obtain much better tracking performances than the PD online ILCs under the existence of disturbances and uncertainties.Tracking performance comparisons for 3D circular motion.
(a)
(b)Tracking performance improvement for 3D circular motion.
(a)
For PD online ILC
(b)
For SPD online ILC


## 5.1. Take-Off Control

In a take-off mission, the quadrotor UAV is commanded to smoothly take-off and ultimately hover at a desired heighthd=10m within a time duration of T=5sec. The desired trajectory is defined as
(30)Zd(t)=hd[10(tT)3-15(tT)4+6(tT)5],Xd=Yd=0,t∈[0,T]
and a set of online learning gains is chosen as
(31)Kpon=Kon[0.10.15055500],Kdon=1.5Kpon,
where Kon=0.5,1,1.5 for different control gains. For most simulations conducted in this research, we set Kon=1 unless otherwise stated. The choice of control gains above was based on trial and error, with regard to stability and trajectory tracking performance.The constantKon is used to demonstrate the effect of increasing-decreasing the whole gain set by a factor. A variation of learning gains and its trajectory tracking performance for take-off are listed in Table 2. It should be mentioned that, in order to get fair comparison results, the disturbances and uncertainties for each simulation in the same iteration are assumed to be the same.Table 2
Effect of each control gain on tracking errors.
Control gain
k
∥
e
x
∥ (m)
∥
e
y
∥ (m)
∥
e
z
∥ (m)
∥
ϕ
∥ (deg)
∥
θ
∥ (deg)
∥
ψ
∥ (deg)
[
0.1
0.1
50
5
5
500
]  Kon=1
1
5.423
e
-
1
5.423
e
-
1
2.228
e
-
2
1.244
e
0
1.244
e
0
6.8584
e
0
3
5.857
e
-
2
5.856
e
-
2
1.157
e
-
5
4.632
e
-
1
4.636
e
-
1
4.7586
e
0
5
1.532
e
-
2
1.529
e
-
2
1.151
e
-
5
3.287
e
-
1
3.286
e
-
1
3.0638
e
0
9
5.261
e
-
3
5.258
e
-
3
1.141
e
-
5
2.415
e
-
1
2.415
e
-
1
1.3656
e
0
[
0.01
0.01
50
5
5
500
]  Kon=1
1
7.472
e
0
7.471
e
0
2.229
e
-
2
2.331
e
0
2.330
e
0
6.8584
e
0
3
2.627
e
0
2.627
e
0
2.099
e
-
5
2.101
e
0
2.104
e
0
4.7586
e
0
5
1.204
e
0
1.204
e
0
1.693
e
-
5
1.298
e
0
1.298
e
0
3.0638
e
0
9
5.748
e
-
1
5.750
e
-
1
1.244
e
-
5
1.727
e
0
1.727
e
0
1.3656
e
0
[
0.1
0.15
5
5
500
]  Kon=1
1
5.429
e
-
1
5.429
e
-
1
2.214
e
-
1
1.243
e
0
1.243
e
0
6.8584
e
0
3
5.951
e
-
2
5.950
e
-
2
2.414
e
-
4
4.638
e
-
1
4.642
e
-
1
4.7586
e
0
5
1.569
e
-
2
1.566
e
-
2
3.032
e
-
5
3.307
e
-
1
3.307
e
-
1
3.0638
e
0
9
5.281
e
-
3
5.278
e
-
3
1.784
e
-
5
2.442
e
-
1
2.442
e
-
1
1.3656
e
0
[
0.1
0.1
50
0.5
0.5
500
]  Kon=1
1
5.132
e
0
5.152
e
0
2.231
e
-
2
1.296
e
1
1.288
e
1
6.8584
e
0
3
5.954
e
-
1
5.955
e
-
1
1.224
e
-
4
5.599
e
0
5.687
e
0
4.7586
e
0
5
1.487
e
-
1
1.453
e
-
1
2.560
e
-
5
3.962
e
0
3.879
e
0
3.0638
e
0
9
5.173
e
-
2
5.130
e
-
2
1.298
e
-
5
2.955
e
0
2.891
e
0
1.3656
e
0
[
0.1
0.1
50
5
5
50
]  Kon=1
1
5.421
e
-
1
5.422
e
-
1
2.213
e
-
2
1.247
e
0
1.247
e
0
7.9413
e
0
3
5.940
e
-
2
5.938
e
-
2
1.085
e
-
5
4.627
e
-
1
4.632
e
-
1
7.6792
e
0
5
1.577
e
-
2
1.568
e
-
2
1.062
e
-
5
3.272
e
-
1
3.273
e
-
1
7.4223
e
0
9
5.360
e
-
3
5.315
e
-
3
1.062
e
-
5
2.421
e
-
1
2.424
e
-
1
6.9237
e
0As shown in Table2, reducing (Kpon)1 and (Kpon)2 by a factor of 10 significantly reduces the convergence rate and yields much larger errors in the first three iterations. Likewise, decreasing (Kpon)4 and (Kpon)5 by a factor of 10 yields similar results. This is due to a slower reaction in attitude control, making the quadrotor UAV away from the desired position in the presence of disturbances. Lastly, reducing (Kpon)6 by a factor of 10 shows a considerable decrease in yaw angle stability and a slower convergence rate. The effect of changes in Kdon on the performance is illustrated in Figure 4. For the X and Y axes tracking, when Kdon=Kpon the system yields larger errors and tends to produce steady errors. For Kdon=1.5Kpon and Kdon=3Kpon, the results are much better in terms of maximum errors and final steady errors. These results strongly show the importance of the derivative gains. For the Z direction, the results are merely identical.Figure 4
Effect ofKd on tracking errors for PD online ILCs.Figure5 shows how changing the whole set of gains by a factor affects trajectory tracking performances. With Kon=0.5, for the X and Y directions, it is obvious that the control gains are not high enough to ensure monotonic convergence and yield large errors. On the other hand, when Kon=1 and Kon=1.5, the system is monotonically convergent and even faster for the latter case. Again, the effect is hardly detected in the Z direction. This is because control in the Z direction depends solely on u1, while the X and Y motions also depend on the attitude of the quadrotor UAV.Figure 5
Effect of changing the whole set of control gains by a factor of 0.5 and 1.5.To compare the performances of ILCs with traditional control such as LQR control, take-off simulations were fulfilled. Table3 lists the maximum tracking errors under different LQR performance indices where an approach for the design of LQR controller discussed in [4] is used. Comparing the maximum errors in Z direction shown in Table 3 with those listed in Table 2, it is clearly shown that the ILC performed much better than the LQR. Such a result would be expected as the ILCs is a kind of nonlinear learning control while the LQR is a linearized control for a nonlinear system.Table 3
Maximum tracking errors in theZ direction for take-off under LQR control.
LowQ (106I)
MiddleQ (107I)
LargeQ (108I)
0.0802
0.0327
0.0105After finishing the initial comparison study on the performance improvements by changing online control gains, some take-off simulation studies with wind disturbances and uncertainties are conducted. Figure6 shows the maximum tracking errors from iteration to iteration controlled by both PD online ILCs and SPD ILCs. In the presence of disturbances, there are small errors for the X and Y direction motions controlled by the PD online ILC because of the existence of wind disturbance. But SPD ILCs outperform PD online ILCs with their incredibly fast convergence rates, and achieve very good performances in all three translation motions after 3 iterations. It demonstrates the capability of dealing with disturbances in SPD ILC.Tracking performance comparison between PD online ILC and SPD ILC for take-off.
(a)
(b)Trajectory tracking performance in translations and orientations controlled by PD online ILCs is shown in Figure7 for different iterations. It can be seen that the quadrotor UAV can smoothly take-off, with some errors in the X and Y directions that were caused by the wind disturbances. It is also noticed that the PD online ILCs and SPD ILCs can reject disturbances in orientations. Figure 8 shows the tracking performance improvements in Z direction from iteration to iteration for both online ILCs. It clearly shows the significant differences between the PD online ILC and the SPD ILC after the first iteration. Rotor speed in the 9th iteration is depicted in Figure 9 for the PD online ILC, which shows that all four rotors operate in the specified ranges.Tracking performance of PD online ILC in iteration 1, 3, 6, and 9 for take-off.
(a)
(b)
(c)
(d)
(e)
(f)Tracking performance improvement comparison for take-off.
(a)
(b)Figure 9
Rotor speed at the 9th iteration controlled by PD online ILC for take-off.


## 5.2. Smooth Translation Tracking

To demonstrate a good trajectory tracking performance for anX-Y plane translation motion, desired trajectories are chosen as follows:
(32)Xd(t)=Yd(t)=S[10(tT)3-15(tT)4+6(tT)5],Zd(t)=0,t∈[0,T].Two sets of simulations are performed here. The first simulation is set for a short range linear translation motion withS=10 m and T=5 sec., and the second one is for a long range translation motion at a higher speed with S=100 m and T=15 sec.For the first set motion, it shows that the PD online ILCs tend to take more iterations, as many as 9, to converge to approximate zero errors inX and Y directions while SPD ILCs take 6 iterations. Trajectory tracking errors from iteration to iteration are shown in Figure 10. It clearly shows that the SPD ILC can ensure less tracking errors and faster convergence rates.Tracking errors from iteration to iteration forX-Y translation (S=10 m, T=5 sec.).
(a)
Tracking errors forX-Y translation using PD online ILC
(b)
Tracking errors forX-Y translation using SPD online ILCFigures11 and 12 show the tracking performance improvements from iteration to iteration for both PD online ILC and SPD ILC. The effectiveness of the online ILCs in terms of tracking error reductions and resistance to disturbances is clearly shown.Trajectory tracking performance of PD online ILC in iteration 1, 3, 6, and 9 forX-Y translation (S=10 m, T=5 sec.).
(a)
(b)
(c)
(d)
(e)
(f)Trajectory tracking performance of SPD ILC in iteration 1, 3, and 6 forX-Y translation (S=10 m, T=5 sec.).
(a)
(b)
(c)
(d)
(e)
(f)Note that shown in Figure13, there are relatively large errors in the X and Y directions for the first iteration and then they converge to stable error boundaries for the PD ILC, but the SPD ILCs obtained very good tracking performance with very small (<10−2 m) tracking errors in all three directions even under the wind gust disturbance conditions.Trajectory tracking performance comparison between PD online ILC and SPD ILC forX-Y translation (S=10 m, T=5 sec.).
(a)
(b)For the second set test with large motion ranges and fast speeds, the maximum tracking errors from iteration to iteration are depicted in Figure14 for both PD online ILC and SPD ILC. It is shown that the PD online ILCs obtain acceptable tracking performance (the tracking errors are around 1 m for both X and Y directions), while the SPD ILCs still perform much better than the PD online ILCs.Trajectory tracking performance comparison between PD online ILC and SPD ILC forX-Y translation (S=100 m, T=15 sec.).
(a)
(b)Figure15 shows the tracking errors in the X and Y directions from iteration to iteration for both PD online ILC and SPD online ILC. Considering the long range motions and relatively higher speed than the previous short range motion case, it is clearly shown that, after a few iterations, the quadrotor can obtain smooth and good motions that follow the desired trajectories, especially for the SPD ILC.Tracking errors from iteration to iteration forX-Y translation (S=100 m, T=15 sec.).
(a)
Tracking errors forX-Y translation using PD online ILC
(b)
Tracking errors forX-Y translation using SPD online ILCFurthermore, to examine the tracking performance for a three dimensional translation motion based on the ILCs, a simulation of linear motion from point A (0, 0, 0) to point B (100, 100, 10) in 15 seconds is conducted. Figure16 shows the maximum tracking errors from iteration to iteration controlled by these two different online ILCs. It is clearly shown that the SPD ILCs performed much better than the PD online ILCs in terms of fast convergent rate, small tracking errors, and good capability to compensate the disturbances and uncertainties. It also shows that the tracking performance in the Z direction was controlled very well for both online ILCs. Figure 17 shows the tracking errors from iteration to iteration for both PD online ILC and SPD online ILC for 3D translation motions. It demonstrates the effectiveness of the online ILCs and the better tacking performance obtained by the SPD online ILC.Trajectory tracking performance comparison between PD online ILC and SPD ILC forX-Y-Z translation.
(a)
(b)Trajectory tracking performance comparison between PD online ILS and SPD ILC forX-Y-Z translation.
(a)
For PD online ILC
(b)
For SPD online ILC


## 5.3. Circular Trajectories Tracking

To prove that the quadrotor UAV can freely maneuver a complex trajectory, a circular trajectory tracking test is performed by using the online ILCs. In this mission, the quadrotor revolves theX-Y plane with a radius R=20 m for a time duration T=20 sec., smoothly starting from and ending at the velocity of 0. The desired trajectories are
(33)Xd(t)=Rcos(2π[10(tT)3-15(tT)4+6(tT)5]+π)+R,Yd(t)=Rsin(2π[10(tT)3-15(tT)4+6(tT)5]+π),Zd(t)=25,Xd∈[0,2R],Yd∈[-R,R]t∈[0,T].Figure18 shows the performance improvements from iteration to iteration for both PD online ILCs and SPD ILCs. Once again, it demonstrated the effectiveness of the SPD ILCs. Figure 19 shows the tracking errors controlled by PD online ILCs and SPD ILCs for the X-Y plane circular trajectory, respectively. It can be observed that PD online ILCs can obtain acceptable tracking performances through iterative learning processes, and SPD ILCs converge to approximate zero errors at the 3rd iteration while PD online ILCs still have small bounded tracking errors. Therefore, it can be seen that SPD ILCs perform much better in yaw angle than the PD online ILCs.Trajectory tracking performance comparisons forX-Y plane circular motion.
(a)
(b)Tracking performance comparison forX-Y circular motion.
(a)
Tracking errors forX-Y circular motion using PD online ILC
(b)
Tracking errors forX-Y circular translation using SPD online ILCBy adding theZ direction motion (20 m) accordingly with the X-Y plane circular motion discussed above, a 3D circular tracking case was formed and used to examine the effectiveness of the online ILCs. Figure 20 shows the maximum tracking errors in three axes for the PD online ILCs and the SPD ILCs, while Figure 21 shows the tracking performance improvements from iteration to iteration for both online ILCs. It demonstrates again that the SPD ILCs can obtain much better tracking performances than the PD online ILCs under the existence of disturbances and uncertainties.Tracking performance comparisons for 3D circular motion.
(a)
(b)Tracking performance improvement for 3D circular motion.
(a)
For PD online ILC
(b)
For SPD online ILC


## 6. Conclusion and Discussion

Iterative learning control is simple to build, easy to implement, and robust to uncertainties and disturbances. In order to perform some fundamental missions for a quadrotor UAV, some trajectory tracking control for a UAV was conducted based on online ILCs in this paper. Different trajectory tracking tasks using PD online ILCs and SPD ILCs were simulated and compared. It was proven that tracking performances can be improved by choosing large control gains for the online ILCs. In addition, the choice of control gains is very flexible. Despite nonlinearity of the system and the presence of disturbances, both types of online ILCs demonstrated good tracking capabilities of smooth take-off, straight-line, and circular motions in two and three dimensions and provided good performances after a few iterations. Simulation results demonstrated that SPD ILCs performed much better than PD online ILCs in terms of convergence rate and disturbance rejection.The online ILCs have been successfully applied to trajectory tracking control of a quadrotor UAV through simulations for different missions. To deal with the real application of online ILCs, it should be mentioned that a PD feedback control is applied to control the quadrotor UAV in the first iteration, as there is no previous experimental learning process. The PD feedback control was proved to provide the stability of the UAV system, even with some big tracking errors. The control input information obtained from the first iteration will be stored and used as a feedforward control for the next iterations. In case the state of the system cannot be measured directly, the online ILCs update law could include a Kalman filter to estimate the states. With all the aspects shown above, implementation to a real application seems to be practical, and it is a future work.



---

*Source: 476153-2013-06-09.xml*