# Iterative Learning Control Experimental Results in Twin-Rotor Device

Authors: R. Mascaró Palliser; Ramon Costa-Castelló; G. A. Ramos
Journal: Mathematical Problems in Engineering
 (2017)

---

## Abstract

This paper presents the results of applying the Iterative Learning Control algorithms to a Twin-Rotor Multiple-Input Multiple-Output System (TRMS) in order to achieve high performance in repetitive tracking of trajectories. The plant, which is similar to a prototype of helicopter, is characterized by its highly nonlinear and cross-coupled dynamics. In the first phase, the system is modelled using the Lagrangian approach and combining theoretical and experimental results. Thereafter, a hierarchical control architecture which combines a baseline feedback controller with an Iterative Learning Control algorithm is developed. Finally, the responses of the real device and a complete analysis of the learning behaviour are exposed.


---

## Body

## 1. Introduction

As a result of the development of modern society and its technology, control problems have become quite common in practically all engineering areas. In industry, control systems can be found in numerous applications such as automation, robotics, machine tool control, transportation systems, chemical processing, and medical engineering. The need of efficient control systems has led to the appearance and development of new branches among classical control, for example, adaptive control, optimal control, neural network, or intelligent control.Iterative learning control (ILC), which has been categorized as an intelligent control methodology [1–6], is an approach for improving the performance of systems that operate repetitively. This area in control theory is based on the idea that the performance of a system that executes the same task multiple times can be improved by learning from previous executions [5]. For such systems, a controller designed using the classical tools is supposed to yield the same tracking error on each iteration because it only uses information provided by the current error. The objective of ILC is to improve performance by storing error information from previous iterations and incorporating it into the control signals for subsequent iterations. By doing so, high performance can be achieved with low transient tracking error despite model uncertainty and repeating disturbances [5].ILC has been applied to nonlinear system employing neural networks [7] and fuzzy strategies [8], using an inverse identification procedure [5] and with iteration-varying parameters [9]. A case for nonaffine MIMO systems is presented in [10] with a combination of linear and nonlinear ILC. As it can be seen, all these approaches use rather complex strategies to accomplish the repetitive task and the nonlinear plant model at the same time.In this work, a Twin-Rotor plant has been used as the study case, a standard didactic device for control experiments. This laboratory setup, which is similar to a model of a helicopter, has attracted a great attention during the last decades due to its highly nonlinear and cross-coupled dynamics. Being seen as a challenging engineering problem, the Twin Rotor has been widely used as an experimentation platform in research projects [11–16] as well as in MS and PhD theses [17] to validate different types of control algorithms. Several approaches to the tracking problem in the Twin-Rotor system can be found in recent literature. Among them, in [18], a fuzzy-PID strategy is proposed and, in [19], a Model Predictive Control is used, while, in [20, 21], the controller is based on a sliding mode strategy and, in [22], a dynamic surface controller is proposed. Recently, an ILC strategy combined with an online optimization algorithm was implemented in [23] for the tracking trajectory of a quadcopter. All these techniques show an important level of complexity in order to achieve the desired performance.In this paper, ILC has been successfully applied to a Twin Rotor with the aim of reducing the tracking error. In a first stage, two cascade PID loops are used as the baseline controller. Although many tuning procedures can be applied [24], this classical controller is designed to provide stability at the nominal operational point and also is constructed with enough stability margins to guarantee the stable operation of the plant in a large interval around this point. Under this concept, the PI controller cannot offer good tracking of the repetitive task. Therefore an ILC strategy is then added to deal with the tracking performance. In this manner, the inherent robustness of the ILC combined with the selected baseline controller makes this approach a particularly simple and effective way of obtaining good tracking response to repetitive tasks in the Twin-Rotor system. The advantage of the proposed strategy relies on its simple structure compared with other proposals applied to nonlinear plants and also for the specific Twin-Rotor plant with repetitive tasks. Experimental results show the excellent tracking properties of the proposed strategy. Analysis of ILC tuning parameters and their influence on tracking performance is discussed.The present paper is organized as follows. Section2 describes the Twin Rotor and presents its dynamic model developed using the Lagrangian approach. Sections 3 and 4 present the control architecture designed in this work, which combines a baseline feedback controller with an ILC algorithm. The baseline controller, as explained in Section 3, consists of two cascade control loops: the inner one is governed by two PI type controllers that adjust the rotational speed of the main and the tail rotors, while the outer one is governed by two PID type controllers which are intended to stabilize the plant around a wide range of operating points. The ILC algorithm, which is described in Section 4, has been implemented in order to achieve high performance in periodic reference tracking. The responses of the real device and the experimental results are illustrated in Section 5. Finally, conclusions are drawn in Section 6.


## 2. The Twin Rotor

The Twin-Rotor MIMO System (TRMS), shown in Figure1, is a laboratory setup developed by Feedback Instruments Ltd. [25, 26] for control experiments. It is a mechanical system formed by a beam that can rotate freely in both the vertical and the horizontal planes by means of two joints placed on its centre. The beam is driven by two perpendicular propellers located at its ends and actuated by DC motors. The body of the Twin Rotor is completed by a counterbalance beam perpendicularly fixed on the main beam’s centre. The larger propeller with vertical axis is called the main rotor, and the half of the beam to which it is attached is called the main beam. The second propeller and its corresponding half of the beam are called the tail rotor and the tail beam, respectively. Although the Twin Rotor has a similar structure to that of a helicopter, the pitch angles of its rotating blades are fixed. Thus, the aerodynamic forces are not controlled by changing the orientation of the blades, as it is usual in conventional helicopters, but by changing the rotational speed of the rotors. The system inputs are then the tension values provided to the DC motors.Figure 1
Twin-Rotor MIMO System [25].To describe the dynamics of the Twin Rotor, the following state vector has been chosen:(1)x=qθ=qvqhθtθm,x˙=q˙ω=q˙vq˙hωtωm,where qv denotes the pitch angular position, qh the yaw angular position, θt the angular position of the tail rotor, and θm the angular position of the main rotor. Together with these state variables, a set of coordinate systems has been defined in order to describe the dynamical laws of the device, as shown in Figure 2.Figure 2
State variables and coordinate systems.Since the Twin Rotor is fundamentally a mechanical system, its equations of motion can be obtained directly through an energetic formulation based on the Euler-Lagrange equations [12, 13, 16]. For that, it is necessary to calculate the kinetic energy Tx,x˙ and the potential energy Ux of its moving parts.From the kinetic and the potential energies, LagrangianLx,x˙,t=Tx,x˙,t-Ux is directly obtained and finally the equations of motion can be derived: (2)ddt∂L∂x˙-∂L∂x=F,where F denotes the external forces.It can be proved that, expanding these expressions, the equations of movement take the final form:(3)Mxx¨+cx,x˙+gx=F,being Mx∈R4×4 the inertia tensor, cx,x˙∈R4 the term related to the Coriolis forces, and gx∈R4 the term associated with the potential energies (gravity).This equation can be decomposed in its components:(4)MqqMq,θqMq,θqTMθq¨ω˙+cqq,q˙,ωcθq,q˙+gqq0=FqFω.Note that theMq,θq terms take the following form: (5)Jtr00Jmrcos⁡qv,where Jtr and Jmr are the tail and main rotor masses. In this type of systems, these two terms are considerably smaller than the masses of the other elements. Consequently, the simplification Mq,θq≈0 is usually assumed, which leads to a resultant decoupled system formed of two subsystems. On the one hand, we have a simplified model which describes the dynamics of the mechanical system: (6)Mqqq¨+cqq,q˙,ω+gqq=Fqand, on the other hand, we have the model which describes the rotational dynamics of the propellers: (7)Mθω˙+cθq,q˙=Fω.In the first case (see (6)), the external forces Fq can be divided into two terms. The first one is related to friction in the joints (a linear model is assumed) and the second one is referred to the resultant propulsion forces exerted by the propellers:(8)Fq=-Bqq˙+γqq,ω.In this work, Bq and γq have been experimentally determined.In the second case (see (7)), the external forces Fω can be also decomposed in two parts. The first one is due to friction between the air and the blades of the propellers, while the second one is the torque exerted by the corresponding DC motors:(9)Fω=-Bωω+ϕωv,where v denotes the voltage applied to the propellers’ motors. As before, Bω and ϕω have been experimentally determined.


## 3. Baseline Controller

The control system that is proposed in this paper is based on a strategy known as Current-Iteration Iterative Learning Control, which is described in [5] as a method for incorporating a baseline feedback controller with ILC algorithms.Figure3 shows the complete control scheme that has been developed. Note that all of its branches correspond to two-dimensional signals. Subscripts j are used to indicate the iteration number (these indicators are needed because learning is achieved by repeating the same task multiple times). Thus, in an iteration j, qdes=qvdes,qhdes is the reference trajectory, uj=uv,j,uh,j are the signals provided by the ILC algorithm, ej=ev,j,eh,j are the pitch and yaw position errors, Γjdes=Γv,jdes,Γh,jdes are the desired torques in the TRMS’s articulations, ωjdes=ωm,jdes,ωt,jdes are the desired rotational speed of the rotors, Vj=Vm,j,Vt,j are the voltage levels applied to the DC motors, and qj=qv,j,qh,j and ωj=ωm,j,ωt,j are, respectively, the measured angular positions of the TRMS body and the measured rotors’ speed.Figure 3
General control scheme.As shown in Figure3, the control system can be divided into two main parts: the baseline feedback controllers and the learning algorithm. This section focuses on the baseline control architecture, which its main goal is to assure a stable behaviour of the plant in a wide range of operating points. Issues related to the ILC algorithm will be detailed in Section 4.In this work, the baseline control scheme is composed by two cascade feedback loops. Similar hierarchical control structures have been proposed in some reference papers [12, 14, 17]. As a starting point, it is important to distinguish between the external and the inner loops (see Figure 3).The external control loop, namely, the position control loop, is governed by two linear PID type controllers that have been designed to stabilize the plant around the0,0 operating point. The stability in other point has been tested through a robust stability test (assuming the plant variation in different equilibrium point as uncertainty). These controllers provide the reference torques that have to be applied on the pitch and yaw angles to reach the desired position.The inner loop, namely, the rotors’ speed control loop, is governed by two linear PI type controllers that adjust the rotational speed of the rotors to reach the desired position. It is preceded by a computational block that calculates the desired rotors’ speed from the reference torques provided by the position controllers, that is, functionωides(Γides), which is shown in Table 3.


### 3.1. Rotors’ Speed PI Controllers Design

As it has been already introduced, the goal of the rotor’s speed controllers is to adjust the rotational speed of the propellers to a desired velocity in a fast and proper way.To apply classical controller design methods, the DC motors dynamics have been modelled as first-order systems plus nonlinear static characteristics which establish a relationship between the control inputsVi and the rotating speed ωi of the propellers: (10)Wis=Ki1+τi·s·Wrp,iVis,where Ki is the gain, τi is the time constant of the system, Wi(s) and Wrp,i(Vi(s)) are the Laplace transforms of ωi and ωrp,i(Vi), respectively. These parameters have been experimentally determined together with the ωrp,i(Vi) static characteristic for each DC motor.To control the DC motors by means of reference velocity signals, the inverse static characteristicsVi(ωrp,i) can be used as shown in Figure 4 so that the behaviour of the resulting system is that of a linear first-order system:(11)Wis=Ki1+τi·s·Wrp,iViWids≈Ki1+τi·sWids.Figure 4
Rotors’ speed control loop.Therefore, linear controllers can be designed using classical control strategies. For the purposes of this work, two linear PI controllers have been implemented to guarantee a fast and nonoscillatory response of the DC motors. The gains of these controllers have been tuned to stabilize the response in less than 2 seconds. Table1 shows the PI controller values.Table 1
Speed controller values.
Motor
Main
Tail
Kp
2.427
1.600
Ki
2.445
3.682
Vi(ωrp,i)
7.8762
⋅
1
0
-
13
ω
m
7
-
3.7020
⋅
1
0
-
12
ω
m
6
-
5.0381
⋅
1
0
-
9
ω
m
5
+
9.3735
⋅
1
0
-
9
ω
m
4
+
1.6150
⋅
1
0
-
5
ω
m
3
-
7.1247
⋅
1
0
-
6
ω
m
2
+
0.0084
ω
m
-
0.0293
5.4367
⋅
1
0
-
13
ω
t
7
+
3.8501
⋅
1
0
-
12
ω
t
6
-
4.2122
⋅
1
0
-
9
ω
t
5
-
1.6967
⋅
1
0
-
8
ω
t
4
+
1.3784
⋅
1
0
-
5
ω
t
3
+
7.4374
⋅
1
0
-
5
ω
t
2
+
0.0241
ω
t
+
0.0580It is important to point out that the rotors’ speed is measured by encoders. Encoders quantification generates similar effect to that of a noise into the control system. What is more, the noise is amplified as the rotational speed increases (see Figures5 and 6). This phenomenon has had to be taken into account in the design of the control architecture, because the ILC algorithms are highly sensitive to noise. So, to minimize the noise introduced by the encoders, two FIR filters with a bandwidth of 250 Hz have been placed in the feedback loops as shown in Figure 4.Figure 5
Simulated and real response of the main rotor’s control loop.Figure 6
Simulated and real response of the tail rotor’s control loop.Figures5 and 6 show the performance of the main and tail rotors’ speed control loops for step signals after all its parameters have been tuned.


### 3.2. PID Position Controllers Design

As described in Section2, the Twin Rotor has nonlinear dynamic equations. To design linear PID controllers on the system, these equations have been linearised in the state-space formulation around the 0,0 point. Designing linear controllers using this strategy is justified for controlling nonlinear systems that work around an operation point. In this case, the main goal is not to achieve very good performance with these controllers but stabilize the system in a wide enough workspace.From (6) and (8), the nonlinear model results are as follows: (12)x˙=q˙Mq-1γ-Bq˙-cq,q˙-gq,y=q,where(13)Mq=Mq,11Mq,12qvMq,12qvMq,22qv,cq,q˙=cq,1qvq˙h2cq,12qvq˙vq˙h+cq,2qvq˙v2,gq=gq,1qvgq,2qh,B=Bq,1100Bq,22,with x=qvqhq˙vq˙hT and q=qvqhT. Numerical values of these matrices are shown in Table 2. In this manner, the linearised system around the equilibrium point q=0,0 is obtained: (14)x˙=00100001-5.68250.0034-0.04590.00410.0892-0.23330.0007-0.2799x+000028.6760-0.4503-0.450331.1042Γy=10000100x.Table 2
Speed controller values.
Term
Value
Units
Mq,11
0.0349
kg⋅m2
Mq,12(qv)
-
2.8218
⋅
1
0
-
4
sin
⁡
q
v
+
5.0500
⋅
1
0
-
4
cos
⁡
(
q
v
)
kg⋅m2
Mq,22(qv)
0.0233
c
o
s
2
q
v
+
0.0089
kg⋅m2
cq,1(qv)
0.0233
cos
⁡
q
v
sin
⁡
(
q
v
)
kg⋅m2
cq,12(qv)
-
0.0466
cos
⁡
q
v
sin
⁡
(
q
v
)
kg⋅m2
cq,2(qv)
-
2.8218
⋅
1
0
-
4
sin
⁡
q
v
-
5.0500
⋅
1
0
-
4
cos
⁡
(
q
v
)
kg⋅m2
gq,1(qv)
0.1982
sin
⁡
(
q
v
)
+
0.1547
cos
⁡
(
q
v
)
N⋅m
gq,2(qh)
0.0075
(
q
h
-
1.455
)
N⋅m
Bq,11
0.0016
Bq,22
0.009Table 3
Position controller values.
Motor
Main
Tail
Kp
0.0250
0.0250
Ki
0.0350
0.0030
Kd
0.0250
0.0250
ωides(Tides)
-
8.7395
T
m
+
69.0628
T
m
,
T
m
≥
0
-
36.7207
-
T
m
-
60.9066
-
T
m
,
T
m
<
0
-
5.9652
T
t
+
96.9668
T
t
,
T
t
≥
0
68,2969
-
T
t
-
126,0478
-
T
t
,
T
t
<
0To design the position control loop, control actions in the pitch and yaw angles have been considered separately. Thus, two decoupled PID controllers have been implemented: the first one adjusts the desired torque in the pitch angle according to the pitch position error (design based on transfer function from first input to first output of the linearised plant model), whereas the second one sets the desired torque in the yaw angle depending on the yaw position error (design based on transfer function from second input to second output of the linearised plant model). See PID values on Table3.Once the desired torque is obtained, the propulsion force is calculated as follows:(15)TmdesTtdes=Lmkt-Ldsin⁡qv-kmcos⁡qvLtcos⁡qv-1ΓmdesΓtdes,where Lm=0.24 m, Lt=0.25 m, and Ld=0.025 m are the distances shown in Figure 2, km=0.0235 and kt=0.02 are the constants that relate the reactive torques of propellers, Qi, and the propulsion forces Ti, which are obtained experimentally. Finally, to obtain the desired speeds of the motors, the functions that relate the desired propulsion forces and rotor speeds have been derived experimentally and are presented in Table 3.As with the rotors’ speed, the pitch and yaw angles are measured by encoders which add noise into the system. To avoid problems with the control signals, introducing two FIR filters with a bandwidth of 250 Hz in the position feedback loops is needed (see Figure3).Figure7 shows the step response of the baseline control architecture after it has been implemented on the real device. Additional experiments have demonstrated that the PID controllers are capable of stabilizing the TRMS body in a wide set of positions around the 0,0 point. However, to deal with nonlinearities and avoid abrupt oscillations during the transient period, they have been tuned to make the system’s response quite slow (note that the plant’s desired position is reached after approximately 30 seconds). Consequently, only with these controllers, good reference tracking cannot be achieved. Table 3 shows the PID controller values together with the propulsion forces-speed function.Figure 7
Step response (qdes=0,0) of the position control loop on the TRMS.


## 3.1. Rotors’ Speed PI Controllers Design

As it has been already introduced, the goal of the rotor’s speed controllers is to adjust the rotational speed of the propellers to a desired velocity in a fast and proper way.To apply classical controller design methods, the DC motors dynamics have been modelled as first-order systems plus nonlinear static characteristics which establish a relationship between the control inputsVi and the rotating speed ωi of the propellers: (10)Wis=Ki1+τi·s·Wrp,iVis,where Ki is the gain, τi is the time constant of the system, Wi(s) and Wrp,i(Vi(s)) are the Laplace transforms of ωi and ωrp,i(Vi), respectively. These parameters have been experimentally determined together with the ωrp,i(Vi) static characteristic for each DC motor.To control the DC motors by means of reference velocity signals, the inverse static characteristicsVi(ωrp,i) can be used as shown in Figure 4 so that the behaviour of the resulting system is that of a linear first-order system:(11)Wis=Ki1+τi·s·Wrp,iViWids≈Ki1+τi·sWids.Figure 4
Rotors’ speed control loop.Therefore, linear controllers can be designed using classical control strategies. For the purposes of this work, two linear PI controllers have been implemented to guarantee a fast and nonoscillatory response of the DC motors. The gains of these controllers have been tuned to stabilize the response in less than 2 seconds. Table1 shows the PI controller values.Table 1
Speed controller values.
Motor
Main
Tail
Kp
2.427
1.600
Ki
2.445
3.682
Vi(ωrp,i)
7.8762
⋅
1
0
-
13
ω
m
7
-
3.7020
⋅
1
0
-
12
ω
m
6
-
5.0381
⋅
1
0
-
9
ω
m
5
+
9.3735
⋅
1
0
-
9
ω
m
4
+
1.6150
⋅
1
0
-
5
ω
m
3
-
7.1247
⋅
1
0
-
6
ω
m
2
+
0.0084
ω
m
-
0.0293
5.4367
⋅
1
0
-
13
ω
t
7
+
3.8501
⋅
1
0
-
12
ω
t
6
-
4.2122
⋅
1
0
-
9
ω
t
5
-
1.6967
⋅
1
0
-
8
ω
t
4
+
1.3784
⋅
1
0
-
5
ω
t
3
+
7.4374
⋅
1
0
-
5
ω
t
2
+
0.0241
ω
t
+
0.0580It is important to point out that the rotors’ speed is measured by encoders. Encoders quantification generates similar effect to that of a noise into the control system. What is more, the noise is amplified as the rotational speed increases (see Figures5 and 6). This phenomenon has had to be taken into account in the design of the control architecture, because the ILC algorithms are highly sensitive to noise. So, to minimize the noise introduced by the encoders, two FIR filters with a bandwidth of 250 Hz have been placed in the feedback loops as shown in Figure 4.Figure 5
Simulated and real response of the main rotor’s control loop.Figure 6
Simulated and real response of the tail rotor’s control loop.Figures5 and 6 show the performance of the main and tail rotors’ speed control loops for step signals after all its parameters have been tuned.


## 3.2. PID Position Controllers Design

As described in Section2, the Twin Rotor has nonlinear dynamic equations. To design linear PID controllers on the system, these equations have been linearised in the state-space formulation around the 0,0 point. Designing linear controllers using this strategy is justified for controlling nonlinear systems that work around an operation point. In this case, the main goal is not to achieve very good performance with these controllers but stabilize the system in a wide enough workspace.From (6) and (8), the nonlinear model results are as follows: (12)x˙=q˙Mq-1γ-Bq˙-cq,q˙-gq,y=q,where(13)Mq=Mq,11Mq,12qvMq,12qvMq,22qv,cq,q˙=cq,1qvq˙h2cq,12qvq˙vq˙h+cq,2qvq˙v2,gq=gq,1qvgq,2qh,B=Bq,1100Bq,22,with x=qvqhq˙vq˙hT and q=qvqhT. Numerical values of these matrices are shown in Table 2. In this manner, the linearised system around the equilibrium point q=0,0 is obtained: (14)x˙=00100001-5.68250.0034-0.04590.00410.0892-0.23330.0007-0.2799x+000028.6760-0.4503-0.450331.1042Γy=10000100x.Table 2
Speed controller values.
Term
Value
Units
Mq,11
0.0349
kg⋅m2
Mq,12(qv)
-
2.8218
⋅
1
0
-
4
sin
⁡
q
v
+
5.0500
⋅
1
0
-
4
cos
⁡
(
q
v
)
kg⋅m2
Mq,22(qv)
0.0233
c
o
s
2
q
v
+
0.0089
kg⋅m2
cq,1(qv)
0.0233
cos
⁡
q
v
sin
⁡
(
q
v
)
kg⋅m2
cq,12(qv)
-
0.0466
cos
⁡
q
v
sin
⁡
(
q
v
)
kg⋅m2
cq,2(qv)
-
2.8218
⋅
1
0
-
4
sin
⁡
q
v
-
5.0500
⋅
1
0
-
4
cos
⁡
(
q
v
)
kg⋅m2
gq,1(qv)
0.1982
sin
⁡
(
q
v
)
+
0.1547
cos
⁡
(
q
v
)
N⋅m
gq,2(qh)
0.0075
(
q
h
-
1.455
)
N⋅m
Bq,11
0.0016
Bq,22
0.009Table 3
Position controller values.
Motor
Main
Tail
Kp
0.0250
0.0250
Ki
0.0350
0.0030
Kd
0.0250
0.0250
ωides(Tides)
-
8.7395
T
m
+
69.0628
T
m
,
T
m
≥
0
-
36.7207
-
T
m
-
60.9066
-
T
m
,
T
m
<
0
-
5.9652
T
t
+
96.9668
T
t
,
T
t
≥
0
68,2969
-
T
t
-
126,0478
-
T
t
,
T
t
<
0To design the position control loop, control actions in the pitch and yaw angles have been considered separately. Thus, two decoupled PID controllers have been implemented: the first one adjusts the desired torque in the pitch angle according to the pitch position error (design based on transfer function from first input to first output of the linearised plant model), whereas the second one sets the desired torque in the yaw angle depending on the yaw position error (design based on transfer function from second input to second output of the linearised plant model). See PID values on Table3.Once the desired torque is obtained, the propulsion force is calculated as follows:(15)TmdesTtdes=Lmkt-Ldsin⁡qv-kmcos⁡qvLtcos⁡qv-1ΓmdesΓtdes,where Lm=0.24 m, Lt=0.25 m, and Ld=0.025 m are the distances shown in Figure 2, km=0.0235 and kt=0.02 are the constants that relate the reactive torques of propellers, Qi, and the propulsion forces Ti, which are obtained experimentally. Finally, to obtain the desired speeds of the motors, the functions that relate the desired propulsion forces and rotor speeds have been derived experimentally and are presented in Table 3.As with the rotors’ speed, the pitch and yaw angles are measured by encoders which add noise into the system. To avoid problems with the control signals, introducing two FIR filters with a bandwidth of 250 Hz in the position feedback loops is needed (see Figure3).Figure7 shows the step response of the baseline control architecture after it has been implemented on the real device. Additional experiments have demonstrated that the PID controllers are capable of stabilizing the TRMS body in a wide set of positions around the 0,0 point. However, to deal with nonlinearities and avoid abrupt oscillations during the transient period, they have been tuned to make the system’s response quite slow (note that the plant’s desired position is reached after approximately 30 seconds). Consequently, only with these controllers, good reference tracking cannot be achieved. Table 3 shows the PID controller values together with the propulsion forces-speed function.Figure 7
Step response (qdes=0,0) of the position control loop on the TRMS.


## 4. ILC Algorithm

Once a stable behaviour is guaranteed, the ILC algorithm can be implemented to achieve higher performance in reference tracking. This section explains the basic concepts of the ILC laws and describes the structure of the learning algorithm that has been implemented together with the baseline control architecture.As an introduction to the formulation of the ILC problem, consider a discrete-time, linear time-invariant SISO system:(16)yjk=Pqujk+dk,where k is the time index, j is the iteration index, q is the forward time-shift operator qxk=xk+1, yj is the output, uj is the control signal, and d represents a disturbance that repeats each iteration. The plant Pq has a relative degree of m and is assumed to be asymptotically stable (or stabilized by a feedback controller, as in this case). In addition, initial conditions are assumed to be the same on each trial.The performance will be measured through the error signal defined byejk=ydk-yjk, being ydk the desired system output. Thus, the objective of the ILC is to infer a control signal u∗k, k∈0,N-1, by evaluating the error ej in the interval k∈m,N+m-1 and updating the next iteration control signal uj+1k accordingly. Note that discrete time is the natural domain for ILC because it explicitly requires the storage of past-iteration data, which is typically sampled.A widely used ILC learning algorithm [5] is (17)uj+1k=Qqujk+Lqejk+1,where the LTI dynamics Qq and Lq are defined as the Q-filter and learning function, respectively.At this point, it should be noted that the ILC objective is to generate an open-loop signal that inverts the plant’s dynamics and is capable of compensating periodic disturbances and getting good reference tracking. Ideally, ILC learns only from repetitive disturbances, but it does not provide any feedback mechanism to react to noise or unanticipated, nonperiodic disturbances [5]. Consequently, a feedback controller combined with an ILC algorithm is used in this work to achieve robustness and higher performance. The complete control structure in Figure 3, as explained in the previous section, shows the simultaneous implementation of both feedback and ILC strategies.To implement an ILC algorithm in the TRMS control scheme, one of the most popular design techniques has been used: the PD-type learning function, which consists of a proportional and derivative gain on the error. This is probably the most widely used type of learning function so far. In the particular case of nonlinear systems, like the Twin Rotor, this learning function is well suited because it does not require extensive analysis nor plant modelling to be applied [5]. The integrator is rarely used for learning functions because ILC has a natural integrator action from one trial to the next.The discrete-time, PD-type learning function applied to a SISO system can be written as follows:(18)uj+1k=Qqujk+kpejk+1+kdejk+1-ejk,where kp is the proportional gain and kd is the derivative gain.In the case of the TRMS, as it is a MIMO system with two input and two output signals, the learning function takes the following form:(19)uqv,j+1kuqh,j+1k=Qqvq00Qqhquqv,jkuqh,jk+kp,qv00kp,qheqv,jk+1eqh,jk+1+kd,qv00kd,qheqv,jk+1-eqv,jkeqh,jk+1-eqh,jk.Although it is not strictly necessary in this type of learning functions, including a low-passQ-filter is usually favourable to achieving monotonic convergence because it can be used to disable learning at high frequencies [5]. The Q-filter also has the benefits of added robustness and high-frequency noise filtering.The gains of the PD-type learning function have been tuned with the aim of achieving both good learning transients and low error. For each set of gainskp and kd, the learning has been reset and run in simulation for sufficient iterations to determine the transient behaviour and asymptotic error. Initially, the learning gains and filter bandwidth have been set low. After a stable baseline transient behaviour and error performance have been obtained, the gains and the bandwidth have been increased. As shown in Figures 8, 9, and 10, experiments have demonstrated that the learning gains influence the rate of convergence, whereas the Q-filter influences the converged error performance.Figure 8
Transient behaviour and asymptotic performance forP gains tuning, with kd,qv=kd,qh=0 and Q-filters bandwidths set to 0,1 Hz.Figure 9
Transient behaviour and asymptotic performance forD gains tuning, with kp,qv=1, kp,qh=0,75 and Qqv, Qqh filters bandwidths set to 0,2 Hz and 0,15 Hz, respectively.Figure 10
Transient behaviour and asymptotic performance forQ-filters bandwidths tuning (where Fc is the cutoff frequency), with the following PD learning gains: kp,qv=1, kp,qh=0,75, and kd,qv=kd,qh=0.More specifically, plots in Figures8 and 9 show that increasing the proportional and derivative learning gains makes the error converge in fewer iterations. However, if the gains are set too high, the learning transients do not converge monotonically and can lead to problems of stability.In addition, plots in Figure10 show that the Q-filter has little effect on the convergence rate of the error but instead primarily determines the magnitude of the converged error and stability of the system. Although increased bandwidth improves the error, too high bandwidth will result in transients that do not converge monotonically.In the field of ILC, a practical stability condition is to achieve good learning transient behaviour, which is defined as monotonic convergence [5]. Furthermore, when robustness is considered, model uncertainty and noise lead to limitations on the performance of LTI learning algorithms. So, as the real device is affected by noise and high nonlinearities, the learning gains and the Q-filter bandwidths have been selected in a conservative way to guarantee the stability of the complete system.


## 5. Experimental Results

In this section, the results from the experimental application of the ILC algorithm to the TRMS are exposed.To test the ILC law, a fifth-order polynomial trajectory has been set as the tracking reference. Figure11 shows a comparison between the followed trajectory without ILC (first trial) and after 20 learning iterations. Note that the feedback controllers show a lagged response, whereas the ILC algorithm increases considerably the system’s performance by achieving nearly perfect tracking.Figure 11
Tracking results with and without ILC on the TRMS.The error on each axis is calculated as the difference between the reference and obtained angle at given instantk and iteration j, resulting in(20)ev,jk=qv,desk-qv,jk,eh,jk=qh,desk-qh,jk.After that, the root mean square (RMS) and maximum error are calculated for each axis i=v,h and each iteration j as follows: (21)Ei,jRMS=1N∑k=1Nei,jk,Ei,jmax=maxkei,jk.Thus, Figures 12 and 13 show the transient learning behaviour by capturing the RMS and the maximum tracking errors on each iteration in the pitch and yaw angles, respectively. Note that initial errors decrease rapidly during the first iterations, so that the learning process converges in approximately six trials. In addition, monotonic convergence is achieved, which is fundamental to assure the stability of the ILC law.Figure 12
Transient behaviour and asymptotic performance on pitch angle of the TRMS.Figure 13
Transient behaviour and asymptotic performance on the yaw angle of the TRMS.From these results, the ability of the ILC algorithm to reduce tracking errors has been analysed. For that, the following expression,(22)%Δerrorp=Ei,0p-1/15∑j=620Ei,jpEi,0p·100,p=RMS,max,has been used to calculate the percentage difference between the initial error and the mean of the errors after learning has converged.Note that theEi,j variables in expression (22) denote the RMS error or the maximum absolute error, depending on the case, in the corresponding axis with i=v,h and in the j iteration. It is important to distinguish them from ej variables used in this paper to denote the tracking error vector on each trial.After applying (22) to experimental results, it follows that, with the ILC algorithm, RMS errors are reduced by 91,83% in the pitch angle and a 71,62% in the yaw angle. Similarly, maximum absolute errors are reduced by 86,78% in the pitch angle and 68,19% in the yaw angle.


## 6. Conclusions

This paper has presented the implementation of an ILC algorithm to achieve high performance in trajectory tracking with a Twin Rotor, a mechanical system characterized by its nonlinear and cross-coupled dynamics. As any control problem, the initial phase has been focused on obtaining an accurate model of the system’s behaviour. For that, a complete simulator of the TRMS’s dynamics has been developed using the Lagrangian formulation and adjusting its parameters experimentally. This model has been used to design a feedback control system with the aim of stabilizing the TRMS’s body in different operation points. Finally, a PD-type learning function based on the principles of the ILC has been tuned and implemented together with the feedback controllers. The efficiency of the complete control system has been tested on both the simulation model and the real device and has demonstrated the capability of ILC algorithms to improve the performance of systems that operate in a repetitive way.



---

*Source: 6519497-2017-10-26.xml*