# An Output-Recurrent-Neural-Network-Based Iterative Learning Control for Unknown Nonlinear Dynamic Plants

Authors: Ying-Chung Wang; Chiang-Ju Chien
Journal: Journal of Control Science and Engineering
 (2012)

---

## Abstract

We present a design method for iterative learning control system by using an output recurrent neural network (ORNN). Two ORNNs are employed to design the learning control structure. The first ORNN, which is called the output recurrent neural controller (ORNC), is used as an iterative learning controller to achieve the learning control objective. To guarantee the convergence of learning error, some information of plant sensitivity is required to design a suitable adaptive law for the ORNC. Hence, a second ORNN, which is called the output recurrent neural identifier (ORNI), is used as an identifier to provide the required information. All the
weights of ORNC and ORNI will be tuned during the control iteration and identification process,
respectively, in order to achieve a desired learning performance. The adaptive laws for the weights
of ORNC and ORNI and the analysis of learning performances are determined via a Lyapunov
like analysis. It is shown that the identification error will asymptotically converge to zero and
repetitive output tracking error will asymptotically converge to zero except the initial resetting
error.


---

## Body

## 1. Introduction

Iterative learning control (ILC) system has become one of the most effective control strategies in dealing with repeated tracking control of nonlinear plants. The ILC system improves the control performance by a self-tuning process in the traditional PID-type ILC algorithms for linear plants or affine nonlinear plants with nonlinearities satisfying global Lipschitz continuous condition [1–3]. Recently, the ILC strategies combined with other control methodologies such as observer-based iterative learning control [4], adaptive iterative learning control [5], robust iterative learning control [6], or adaptive robust iterative learning control [7], have been widely studied in order to extend the applications to more general class of nonlinear systems. However, more and more restrictions are required in theory to develop these learning controllers. Among these ILC algorithms, PID-type ILC algorithms are still attractive to engineers since they are simple and effective for real implementations and industry applications. A main problem of the PID-type ILC algorithms is that a sufficient condition required to guarantee learning stability and convergence will depend on plant’s input/output coupling function (matrix). In general, it is hard to design the learning gain if the nonlinear dynamic plant is highly nonlinear and unknown. In order to get the input/output coupling function (matrix), the ILC using a neural or fuzzy system to solve the learning gain implementation problem can be found in [8, 9]. A neural network or a fuzzy system was used to approximate the inverse of plant’s input/output coupling function (matrix). The inverse function (matrix) is claimed to be an optimal choice of the learning gain from a convergent condition point of view. As the nonlinear system is assumed to be unknown, some offline adaptive mechanisms are applied to update the network parameters in order to approximate the ideal optimal learning gain.Actually, for control of unknown nonlinear systems, neural-network-based controller has become an important strategy in the past two decades. Multilayer neural networks, recurrent neural networks and dynamic neural network [10–16] were used for the design of adaptive controllers. On the other hand, fuzzy logic system, fuzzy neural network, recurrent fuzzy neural networks and dynamic fuzzy neural network were also a popular tool for the design of adaptive controllers [17–22]. These concepts have also been applied to the design of adaptive iterative learning control of nonlinear plants [23–25]. However, few ILC works were developed for general unknown nonlinear plants, especially nonaffine nonlinear plants. As the authors can understand, a real-time recurrent network (RTRN) was developed in [26] for real-time learning control of general unknown nonlinear plants. But unfortunately, their learning algorithm depends on the generalized inverse of weight matrix in the RTRN. If the generalized inverse of weight matrix does not exist, the learning control scheme is not implementable.In this paper, we consider the design of an iterative learning controller for a class of unknown nonlinear dynamic plants. Motivated by our previous work in [27], an improved version of an identifier-based iterative learning controller is proposed by using an output recurrent neural network (ORNN). Two ORNNs are used to design an ORNN-based iterative learning control system. The proposed ORNN-based ILC system includes an ORNN controller (ORNC) and an ORNN identifier (ORNI). The ORNC is used as an iterative learning controller to achieve the repetitive tracking control objective. The weights of ORNC are tuned via adaptive laws determined by a Lyapunov-like analysis. In order to realize the adaptive laws and guarantee the convergence of learning error, some information of the unknown plant sensitivity is required for the design of adaptive laws. Hence, the ORNI is then applied as an identifier to provide the required information from plant sensitivity. In a similar way, the weights of ORNI are tuned via some adaptive laws determined by a Lyapunov-like analysis. Both of the proposed ORNC and ORNI update their network weights along the control iteration and identification process, respectively. This ORNN-based ILC system can be used to execute a repetitive control task of a general nonlinear plant. It is shown that the identification error will asymptotically converge to zero and repetitive output tracking error will asymptotically converge to zero except the initial resetting error.This paper is organized as follows. The structure of ORNN is introduced in Section2. In Section 3, we present the design of ORNC and ORNI for the ORNN-based ILC system. The adaptation laws are derived and the learning performance is guaranteed based on a Lyapunov-like analysis. To illustrate the effectiveness of the proposed ILC system, a numerical example is used in Section 4 for computer simulation. Finally a conclusion is made in Section 5.In the subsequent discussions, the following notations will be used in all the sections.(i)
|z| denotes the absolute value of a function z.(ii)
∥v∥=(v⊤v) denotes the usual Euclidean norm of a vector v=[v1,…,vn]⊤∈ℝn.(iii)
∥A∥=max1≤i≤n{∑j=1m|aij|} denotes the norm of a matrix A={aij}∈ℝn×m.


## 2. The Output Recurrent Neural Network

In this paper, two ORNNs are used to design an iterative learning control system. The structure of the ORNN is shown in Figure1, which comprises an input layer, a hidden layer, and an output layer.Figure 1
Structure of the ORNN.(i)
Layer 1 (Input Layer): Each node in this layer represents an input variable, which only transmits input value to the next layer directly. For theith input node, i=1,…,n+1,
(1)neti(1)={xi,i=1,…,nD[O(3)],i=n+1Oi(1)=fi(1)(neti(1))=neti(1),
where xi, i=1,…,n represents the ith external input signal to the ith node of layer 1, and D[O(3)] denotes the delay of ORNN output O(3) whcih can be further defined as xn+1=D[O(3)].(ii)
Layer 2 (Hidden Layer): Each node in this layer performs an activation function whose inputs come from input layer. For theℓth hidden node, a sigmoid function is adopted here such that the ℓth node, ℓ=1,…,M will be represented as
(2)netl(2)=∑i=1n+1Vilxi(2),Ol(2)=fl(2)(netl(2))=11+exp⁡(-netl(2)),
where xi(2)=Oi(1), Viℓ is the connective weight between the input layer and the hidden layer, M is the number of neuron in the hidden layer.(iii)
Layer 3 (Output Layer): Each node in this layer represents an output node, which computes the overall output as the summation of all input signals from hidden layer. For the output node,(3)net(3)=∑l=1Mwl⋅xl(3),O(3)=f(3)(net(3))=net(3),
where xℓ(3)=Oℓ(2) and wℓ is the connective weight between the hidden layer and the output layer.Letn denotes the dimension of input vector X=[x1,…,xn]⊤∈ℝn×1 of nonlinear function f(X) and M denotes the number of neurons in the hidden layer, the ORNN which performs as an approximator of the nonlinear function f(X) is now described in a matrix form as follows:
(4)O(3)(D[O(3)],X,W,V)=W⊤O(2)(V⊤Xa),
where W∈ℝM×1 and V∈ℝ(n+1)×M are output-hidden wight matrix and hidden-input weight matrix, respectively, X∈ℝn×1 is the external input vector, Xa≡[X⊤,D[O(3)]]⊤∈ℝ(n+1)×1 is the augmented neural input vector, and D[O(3)] denotes the delay of ORNN output O(3). The activation function vector is defined as O(2)(V⊤Xa)≡[O1(2)(V1⊤Xa),…,OM(2)(VM⊤Xa)]⊤∈ℝM×1 where V=[V1,V2,…,VM] with Vℓ∈ℝ(n+1)×1 being the ℓth column vector, and Oℓ(2)(Vℓ⊤Xa)≡1/(1+exp(-Vℓ⊤Xa))∈ℝ, ℓ=1,…,M is a sigmoid function.


## 3. Design of Output-Recurrent-Neural-Network-Based Iterative Learning Control System

In this paper, we consider an unknown nonlinear dynamic plant which can perform a given task repeatedly over a finite time sequencet={0,…,N} as follows:(5)yj(t+1)=f(yj(t),…,yj(t-n+1),uj(t)),
where j∈𝒵+ denotes the index of control iteration number and t={0,…,N} denotes the time index. The signals yj(t) and uj(t)∈ℝ are the system output and input, respectively. f:ℝn+1→ℝ is the unknown continuous function, n represents the respective output delay order. Given a specified desired trajectory yd(t), t∈{0,…,N}, the control objective is to design an output-recurrent-neural-network-based iterative learning control system such that when control iteration number j is large enough, |yd(t)-yj(t)| will converge to some small positive error tolerance bounds for all t∈{0,…,N} even if there exists an initial resetting error. Here the initial resetting error means that yd(0)≠yj(0) for all j≥1. To achieve the control objective, an iterative learning control system based on ORNN design is proposed in Figure 2. In this figure, D denotes the delay in time domain and M denotes the memory in control iteration domain.Figure 2
Block diagram of the ORNN-based ILC system.Before we state the design steps of the proposed control structure, some assumptions on the unknown nonlinear system and desired trajectories are given as follows.(A1)
The nonlinear dynamic plant is a relaxed system whose inputuj(t) and output yj(t) are related by yj(t)=0 for all t∈{-∞,…,-1}.(A2)
There exists a bounded unknown upper bounding functionyu,max(t)=max∀j|yuj(t)| such that 0<|yuj(t)|≤yu,max(t), where the factor yuj(t)=∂yj(t+1)/∂uj(t) represents the sensitivity of the plant with respect to its input.(A3)
The reference model is designed to generate the bounded desired trajectoryyd(t+1)=fd(yd(t),…,yd(t-n+1),r(t)), which is based on a specified bounded reference input r(t) with fd:ℝn+1→ℝ being a continuous function.The design of the ORNN-based iterative learning control system is divided into two parts.


### 3.1. Part 1: Design of ORNC and Corresponding Adaptive Laws

Based on the assumptions on the nonlinear plant (5), we define a tracking error ecj(t) at jth control iteration as follows:(6)ecj(t)=yd(t)-yj(t).
It is noted that there exist bounded constants ɛcj,j∈Z+ such that the initial value of ecj(t) will satisfy(7)|ecj(0)|=ɛcj.
The difference of ecj(t) between two successive iterations can be computed as [28](8)Δecj(t+1)=ecj+1(t+1)-ecj(t+1)=-(yj+1(t+1)-yj(t+1))≈-∂yj(t+1)∂uj(t)(uj+1(t)-uj(t))≡-yuj(t)(uj+1(t)-uj(t)).
The ORNN is used to design an ORNC in order to achieve the iterative learning control objective. Let nc be the dimension of the external input vector Xcj(t)=[r(t),yj(t),uj-1(t),]⊤∈ℝnc×1 and Mc denote the number of neurons in hidden layer of the ORNC. The ORNC which performs as an iterative learning controller is described in a matrix form as follows:(9)uj(t)=Oc(3)(D[Oc(3)j(t)],Xcj(t),Wcj(t),Vcj(t))=Wcj(t)⊤Oc(2)(Vcj(t)⊤Xcaj(t)),
where Wcj(t)∈ℝMc×1 and Vcj(t)∈ℝ(nc+1)×Mc are output-hidden wight matrix and hidden-input weight matrix to be tuned via some suitable adaptive laws, respectively, and Xcaj(t)≡[Xcj(t)⊤,D[Oc(3)j(t)]]⊤∈ℝ(nc+1)×1 is the augmented neural input vector. For the sake of convenience, we define Oc(2)(Vcj(t)⊤Xcaj(t))≡Oc(2)j(t). Now substituting (9) into (8), we will have(10)Δecj(t+1)=-yuj(t)(Wcj+1(t)⊤Oc(2)j+1(t)-Wcj(t)⊤Oc(2)j(t)).
For simplicity, we define ΔXcaj(t)=Xcaj+1(t)-Xcaj(t),  ΔWcj(t)=Wcj+1(t)-Wcj(t),  ΔVcj(t)=Vcj+1(t)-Vcj(t). After adding and subtracting Wcj(t)⊤Oc(2)j+1(t) to (10), we can find that(11)Δecj(t+1)=-yuj(t)ΔWcj(t)⊤Oc(2)j+1(t)-yuj(t)Wcj(t)⊤(Oc(2)j+1(t)-Oc(2)j(t)).
Investigating the second term in the right hand side of (11) by using the mean-value theorem, we have(12)Oc(2)j+1(t)-Oc(2)j(t)=Oc(2)′j(t)(Vcj+1(t)⊤Xcaj+1(t)-Vcj(t)⊤Xcaj(t))=Oc(2)′j(t)(Vcj+1(t)⊤Xcaj+1(t)-Vcj(t)⊤Xcaj+1(t)+Vcj(t)⊤Xcaj+1(t)-Vcj(t)⊤Xcaj(t))=Oc(2)′j(t)(ΔVcj(t)⊤Xcaj+1(t)+Vcj(t)⊤ΔXcaj(t)),
where Oc(2)′j(t) = diag[Oc,1(2)′j(t),…,Oc,Mc(2)′j(t)]∈ℝMc×Mc with Oc,l(2)′j(t)≡dOc,ℓ(2)j(Zc,ℓ(t))/dZc,ℓ(t)|Zc,ℓ(t), Zc,ℓ(t) has a value between Vc,ℓj+1(t)⊤Xcaj+1(t) and Vc,ℓj(t)⊤Xcaj(t), ℓ=1,…,Mc.Now if we substitute (12) into (11), we will have(13)Δecj(t+1)=-yuj(t)ΔWcj(t)⊤Oc(2)j+1(t)-yuj(t)Wcj(t)⊤Oc(2)′j(t)×(ΔVcj(t)⊤Xcaj+1(t)+Vcj(t)⊤ΔXcaj(t)).
The adaptation algorithms for weights Wcj+1(t) and Vcj+1(t) of ORNC at (next) j+1th control iteration to guarantee the error convergence are given as follows:(14)Wcj+1(t)=Wcj(t)+sgn⁡(yuj(t))ecj(t+1)Oc(2)j+1(t)yu,max⁡(t)Mc,(15)Vcj+1(t)=Vcj(t)-Xcaj+1(t)ΔXcaj(t)⊤Vcj(t)‖Xcaj+1(t)‖2,
where yu,max(t) is defined in assumption (A2). If we substitute adaptation laws (14) and (15) into (13), we can find that(16)ecj+1(t+1)=ecj(t+1)-ecj(t+1)×|yuj(t)|Oc(2)j+1(t)⊤Oc(2)j+1(t)yu,max⁡(t)Mc.Theorem 1.
Consider the nonlinear plant (5) which satisfies assumptions (A1)–(A3). The proposed ORNC (9) and adaptation laws (14) and (15) will ensure the asymptotic convergence of tracking error as control iteration approaches infinity.Proof.
Let us choose a discrete-type Lyapunov function as(17)Ecj(t+1)=12(ecj(t+1))2,
then the change of Lyapunov function is
(18)ΔEcj(t+1)=Ecj+1(t+1)-Ecj(t+1)=12[(ecj+1(t+1))2-(ecj(t+1))2].
Taking norms on (16), it yields
(19)|ecj+1(t+1)|=|ecj(t+1)[1-|yuj(t)|‖Oc(2)j+1(t)‖2yu,max⁡(t)Mc]|<|ecj(t+1)|
for iteration j≥1. This further implies that Ecj(t+1)>0,  ΔEcj(t+1)<0, for all t∈{0,…,N} for j≥1. Using Lyapunov stability of Ecj(t+1)>0, ΔEcj(t+1)<0 and (7), the tracking error ecj(t) will satisfy
(20)lim⁡j→∞|ecj(t)|={ɛc∞,t=00,t≠0.
This proves Theorem 1.Remark 2.
If the plant sensitivityyuj(t) is completely known so that sgn(yuj(t)) and yu,max(t) are available, then the control objective can be achieved by using the adaptation algorithms (14) and (15). However, the plant sensitivity yuj(t) is in general unknown or only partially known. In part 2, we will design an ORNN-based identifier (ORNI) to estimate the unknown plant sensitivity yuj(t) and then provide the sign function and upper bounding function of yuj(t) for adaptation algorithms of ORNC.


### 3.2. Part 2: Design of ORNI and Corresponding Adaptive Laws

After each control iteration, the ORNI subsequently begins to perform identification process. The trained ORNI will then provide the approximated plant sensitivity to the ORNC to start the next control iteration. We would like to emphasize that the ORNI only identifies the nonlinear plant after each control iteration. This concept is quite different from traditional control tasks [29] and very important to the proposed ORNN-based ILC structure.The structure of ORNN is further applied to design an ORNI to identify the nonlinear plant after thejth control iteration. The identification process is stated as follows. After each trial of controlling the nonlinear system, we collect the input output data uj(t) and yj(t), t=0,1,…,N+1 as the training data for the identifier. When discussing the identification, we omit the control iteration index j and introduce a new identification iteration index k∈Z+ to represent the number of identification process. That is, the notation for the training data uj(t),yj(t) and the ORNI output ŷj,k(t) are simplified as u(t),y(t), and ŷk(t), respectively. For the ORNI, let nI be the dimension of external input vector XI(t)=[u(t),y(t)]⊤∈ℝnI×1 and MI denote the number of neurons in hidden layer of the ORNI. The ORNI which performs as an iterative learning identifier for nonlinear plant (5) is now described in a matrix form as follows:(21)ŷk(t+1)=OI(3)(D[OI(3)k(t)],XIak(t),WIk(t),VIk(t))=WIk(t)⊤OI(2)(VIk(t)⊤XIak(t)),
where WIk(t)∈ℝMI×1 and VIk(t)∈ℝ(nI+1)×MI are output-hidden wight matrix and hidden-input weight matrix to be tuned via some suitable adaptive laws, respectively, and XIak(t)≡[XI(t)⊤,D[OI(3)k(t)]]⊤∈ℝ(nI+1)×1 is the augmented neural input vector. For the sake of convenience, we define OI(2)(VIk(t)⊤XIak(t))≡OI(2)k(t).Based on the assumptions on the nonlinear plant (5), we define an identification error eIk(t) at kth identification process as follows:(22)eIk(t)=y(t)-ŷk(t).
The difference of eIk(t) between two successive identification process can be computed as(23)ΔeIk(t+1)=eIk+1(t+1)-eIk(t+1)=-(ŷk+1(t+1)-ŷk(t+1)).
Now substituting (21) into (23), we will have(24)ΔeIk(t+1)=-(WIk+1(t)⊤OI(2)k+1(t)-WIk(t)⊤OI(2)k(t)).
For simplicity, we define ΔXIak(t)=XIak+1(t)-XIak(t), ΔWIk(t)=WIk+1(t)-WIk(t),  ΔVIk(t)=VIk+1(t)-VIk(t). After adding and subtracting WIk(t)⊤OI(2)k+1(t) to (24), we can find(25)ΔeIk(t+1)=-ΔWIk(t)⊤OI(2)k+1(t)-WIk(t)⊤(OI(2)k+1(t)-OI(2)k(t)).
Investigating the second term in the right hand side of (25) by using the mean-value theorem, we can derive(26)OI(2)k+1(t)-OI(2)k(t)=OI(2)′k(t)(VIk+1(t)⊤XIak+1(t)-VIk(t)⊤XIak(t))=OI(2)′k(t)(VIk+1(t)⊤XIak+1(t)-VIk(t)⊤XIak+1(t)+VIk(t)⊤XIak+1(t)-VIk(t)⊤XIak(t))=OI(2)′k(t)(ΔVIk(t)⊤XIak+1(t)+VIk(t)⊤ΔXIak(t)),
where OI(2)′k(t) = diag[OI,1(2)′k(t),…,OI,MI(3)′k(t)]∈ℝMI×MI with OI,ℓ(2)′k(t)≡dOI,ℓ(2)k(ZI,ℓ(t))/dZI,ℓ(t)|ZI,ℓ(t), ZI,ℓ(t) has a value between VI,ℓk+1(t)⊤XIak+1(t) and VI,ℓj(t)⊤XIak(t), ℓ=1,…,MI.Now if we substitute (26) into (25), we will have(27)ΔeIk(t+1)=-ΔWIk(t)⊤OI(2)k+1(t)-WIk(t)⊤OI(2)′k(t)×(ΔVIk(t)⊤XIak+1(t)+VIk(t)⊤ΔXIak(t)).The adaptation algorithms for weightsWIk+1(t) and VIk+1(t) of ORNI at (next) k+1th identification process are given as follows:(28)WIk+1(t)=WIk(t)+eIk(t+1)OI(2)k+1(t)MIVIk+1(t)=VIk(t)-XIak+1(t)ΔXIak(t)⊤VIk(t)‖XIak+1(t)‖2.
If we substitute adaptation laws (28) into (27), we have(29)eIk+1(t+1)=eIk(t+1)-eIk(t+1)OI(2)k+1(t)⊤OI(2)k+1(t)MI.Theorem 3.
Consider the nonlinear dynamic plant (5) which satisfies assumptions (A1)–(A3). The proposed ORNI (21) and adaptation laws (28) will ensure that the asymptotic convergence of identification error is guaranteed as the numbers of identification approach infinity.Proof.
Let us choose a discrete-type Lyapunov function as(30)EIk(t+1)=12(eIk(t+1))2,∀t∈{0,…,N},
then we can derive the change of Lyapunov function as
(31)ΔEIk(t+1)=EIk+1(t+1)-EIk(t+1)=12[(eIk+1(t+1))2-(eIk(t+1))2].
Taking norms on (29), we have
(32)|eIk+1(t+1)|=|eIk(t+1)||1-‖OI(2)k+1(t)‖2MI|<|eIk(t+1)|
for iteration k≥1. This implies that EIk(t+1)>0, ΔEIk(t+1)<0, for all t∈{0,…,N} for k≥1, and hence the identification error eIk(t) will satisfy limk→∞|eIk(t)|=0, for all t∈{0,1,…,N}. This proves Theorem 3.Remark 4.
The ORNN is a promising tool for identification because it can approximate any “well-behaved” nonlinear function to any desired accuracy. This good function approximation is applied to estimate the unknown plant sensitivity in this paper. The plant sensitivityyuj(t) in (8) can be approximated as follows:
(33)yuj(t)≡∂yj(t+1)∂uj(t)≈∂ŷj(t+1)∂uj(t).
Note that the index k in the identifier output ŷk(t) is removed once the identification process stops. Applying the chain rule to (21), it yields
(34)∂ŷj(t+1)∂uj(t)=∂OI(3)j(t)∂uj(t)=∑l=1MI∂ŷj(t+1)∂OI,l(2)j(t)∂OI,l(2)j(t)∂uj(t)=∑l=1MIwI,lj(t)∂OI,l(2)j(t)∂uj(t).
Also from (21), we have
(35)∂OI,l(2)j(t)∂uj(t)=fI,l(2)′(netI,l(2)j(t))∂netI,l(2)j(t)∂uj(t).
Since the inputs to ORNI are uj(t), yj(t) and D[OI(3)j(t)], we further have
(36)netI,l(2)j(t)=VI,1lj(t)uj(t)+VI,2lj(t)yj(t)+VI,3lj(t)D[OI(3)j(t)].
Thus,
(37)∂netI,l(2)j(t)∂uj(t)=VI,1lj(t).
From (34), (35) and (37), we obtain
(38)ŷuj(t)=∂ŷj(t+1)∂uj(t)=∑l=1MIwI,lj(t)fI,l(2)′(netI,l(2)j(t))VI,1lj(t),
where  0<fI,ℓ(2)′(netI,ℓ(2)j(t))<0.5. If we define ∥wIj(t)∥≡maxℓ|wI,ℓj(t)|, and ∥VI,1j(t)∥≡maxℓ|VI,1ℓj(t)|, then
(39)|ŷuj(t)|≤MI‖wIj(t)‖‖fI,l(2)′(netI,l(2)j(t))VI,1j(t)‖≤MI2‖wIj(t)‖‖VI,1j(t)‖≡ŷu,max⁡j(t).
The sign function and upper bounding function of plant sensitivity after finishing the identification process at jth control iteration can be obtained as follows:
(40)sgn⁡(yuj(t))=sgn⁡(ŷuj(t))yu,max⁡(t)=max⁡{ŷu,max⁡j(t),ŷu,max⁡j-1(t)}.
It is noted that we do not need the exact plant sensitivity yuj(t) for the design of adaptive law (14). Even though there may exist certain approximation error between yuj(t) and ŷuj(t), we can still guarantee the convergence of learning error since only a upper bounding function is required. Also note that the value of sgn(yuj(t)) (+1 or −1)  can be easily determined from the identification result.


## 3.1. Part 1: Design of ORNC and Corresponding Adaptive Laws

Based on the assumptions on the nonlinear plant (5), we define a tracking error ecj(t) at jth control iteration as follows:(6)ecj(t)=yd(t)-yj(t).
It is noted that there exist bounded constants ɛcj,j∈Z+ such that the initial value of ecj(t) will satisfy(7)|ecj(0)|=ɛcj.
The difference of ecj(t) between two successive iterations can be computed as [28](8)Δecj(t+1)=ecj+1(t+1)-ecj(t+1)=-(yj+1(t+1)-yj(t+1))≈-∂yj(t+1)∂uj(t)(uj+1(t)-uj(t))≡-yuj(t)(uj+1(t)-uj(t)).
The ORNN is used to design an ORNC in order to achieve the iterative learning control objective. Let nc be the dimension of the external input vector Xcj(t)=[r(t),yj(t),uj-1(t),]⊤∈ℝnc×1 and Mc denote the number of neurons in hidden layer of the ORNC. The ORNC which performs as an iterative learning controller is described in a matrix form as follows:(9)uj(t)=Oc(3)(D[Oc(3)j(t)],Xcj(t),Wcj(t),Vcj(t))=Wcj(t)⊤Oc(2)(Vcj(t)⊤Xcaj(t)),
where Wcj(t)∈ℝMc×1 and Vcj(t)∈ℝ(nc+1)×Mc are output-hidden wight matrix and hidden-input weight matrix to be tuned via some suitable adaptive laws, respectively, and Xcaj(t)≡[Xcj(t)⊤,D[Oc(3)j(t)]]⊤∈ℝ(nc+1)×1 is the augmented neural input vector. For the sake of convenience, we define Oc(2)(Vcj(t)⊤Xcaj(t))≡Oc(2)j(t). Now substituting (9) into (8), we will have(10)Δecj(t+1)=-yuj(t)(Wcj+1(t)⊤Oc(2)j+1(t)-Wcj(t)⊤Oc(2)j(t)).
For simplicity, we define ΔXcaj(t)=Xcaj+1(t)-Xcaj(t),  ΔWcj(t)=Wcj+1(t)-Wcj(t),  ΔVcj(t)=Vcj+1(t)-Vcj(t). After adding and subtracting Wcj(t)⊤Oc(2)j+1(t) to (10), we can find that(11)Δecj(t+1)=-yuj(t)ΔWcj(t)⊤Oc(2)j+1(t)-yuj(t)Wcj(t)⊤(Oc(2)j+1(t)-Oc(2)j(t)).
Investigating the second term in the right hand side of (11) by using the mean-value theorem, we have(12)Oc(2)j+1(t)-Oc(2)j(t)=Oc(2)′j(t)(Vcj+1(t)⊤Xcaj+1(t)-Vcj(t)⊤Xcaj(t))=Oc(2)′j(t)(Vcj+1(t)⊤Xcaj+1(t)-Vcj(t)⊤Xcaj+1(t)+Vcj(t)⊤Xcaj+1(t)-Vcj(t)⊤Xcaj(t))=Oc(2)′j(t)(ΔVcj(t)⊤Xcaj+1(t)+Vcj(t)⊤ΔXcaj(t)),
where Oc(2)′j(t) = diag[Oc,1(2)′j(t),…,Oc,Mc(2)′j(t)]∈ℝMc×Mc with Oc,l(2)′j(t)≡dOc,ℓ(2)j(Zc,ℓ(t))/dZc,ℓ(t)|Zc,ℓ(t), Zc,ℓ(t) has a value between Vc,ℓj+1(t)⊤Xcaj+1(t) and Vc,ℓj(t)⊤Xcaj(t), ℓ=1,…,Mc.Now if we substitute (12) into (11), we will have(13)Δecj(t+1)=-yuj(t)ΔWcj(t)⊤Oc(2)j+1(t)-yuj(t)Wcj(t)⊤Oc(2)′j(t)×(ΔVcj(t)⊤Xcaj+1(t)+Vcj(t)⊤ΔXcaj(t)).
The adaptation algorithms for weights Wcj+1(t) and Vcj+1(t) of ORNC at (next) j+1th control iteration to guarantee the error convergence are given as follows:(14)Wcj+1(t)=Wcj(t)+sgn⁡(yuj(t))ecj(t+1)Oc(2)j+1(t)yu,max⁡(t)Mc,(15)Vcj+1(t)=Vcj(t)-Xcaj+1(t)ΔXcaj(t)⊤Vcj(t)‖Xcaj+1(t)‖2,
where yu,max(t) is defined in assumption (A2). If we substitute adaptation laws (14) and (15) into (13), we can find that(16)ecj+1(t+1)=ecj(t+1)-ecj(t+1)×|yuj(t)|Oc(2)j+1(t)⊤Oc(2)j+1(t)yu,max⁡(t)Mc.Theorem 1.
Consider the nonlinear plant (5) which satisfies assumptions (A1)–(A3). The proposed ORNC (9) and adaptation laws (14) and (15) will ensure the asymptotic convergence of tracking error as control iteration approaches infinity.Proof.
Let us choose a discrete-type Lyapunov function as(17)Ecj(t+1)=12(ecj(t+1))2,
then the change of Lyapunov function is
(18)ΔEcj(t+1)=Ecj+1(t+1)-Ecj(t+1)=12[(ecj+1(t+1))2-(ecj(t+1))2].
Taking norms on (16), it yields
(19)|ecj+1(t+1)|=|ecj(t+1)[1-|yuj(t)|‖Oc(2)j+1(t)‖2yu,max⁡(t)Mc]|<|ecj(t+1)|
for iteration j≥1. This further implies that Ecj(t+1)>0,  ΔEcj(t+1)<0, for all t∈{0,…,N} for j≥1. Using Lyapunov stability of Ecj(t+1)>0, ΔEcj(t+1)<0 and (7), the tracking error ecj(t) will satisfy
(20)lim⁡j→∞|ecj(t)|={ɛc∞,t=00,t≠0.
This proves Theorem 1.Remark 2.
If the plant sensitivityyuj(t) is completely known so that sgn(yuj(t)) and yu,max(t) are available, then the control objective can be achieved by using the adaptation algorithms (14) and (15). However, the plant sensitivity yuj(t) is in general unknown or only partially known. In part 2, we will design an ORNN-based identifier (ORNI) to estimate the unknown plant sensitivity yuj(t) and then provide the sign function and upper bounding function of yuj(t) for adaptation algorithms of ORNC.


## 3.2. Part 2: Design of ORNI and Corresponding Adaptive Laws

After each control iteration, the ORNI subsequently begins to perform identification process. The trained ORNI will then provide the approximated plant sensitivity to the ORNC to start the next control iteration. We would like to emphasize that the ORNI only identifies the nonlinear plant after each control iteration. This concept is quite different from traditional control tasks [29] and very important to the proposed ORNN-based ILC structure.The structure of ORNN is further applied to design an ORNI to identify the nonlinear plant after thejth control iteration. The identification process is stated as follows. After each trial of controlling the nonlinear system, we collect the input output data uj(t) and yj(t), t=0,1,…,N+1 as the training data for the identifier. When discussing the identification, we omit the control iteration index j and introduce a new identification iteration index k∈Z+ to represent the number of identification process. That is, the notation for the training data uj(t),yj(t) and the ORNI output ŷj,k(t) are simplified as u(t),y(t), and ŷk(t), respectively. For the ORNI, let nI be the dimension of external input vector XI(t)=[u(t),y(t)]⊤∈ℝnI×1 and MI denote the number of neurons in hidden layer of the ORNI. The ORNI which performs as an iterative learning identifier for nonlinear plant (5) is now described in a matrix form as follows:(21)ŷk(t+1)=OI(3)(D[OI(3)k(t)],XIak(t),WIk(t),VIk(t))=WIk(t)⊤OI(2)(VIk(t)⊤XIak(t)),
where WIk(t)∈ℝMI×1 and VIk(t)∈ℝ(nI+1)×MI are output-hidden wight matrix and hidden-input weight matrix to be tuned via some suitable adaptive laws, respectively, and XIak(t)≡[XI(t)⊤,D[OI(3)k(t)]]⊤∈ℝ(nI+1)×1 is the augmented neural input vector. For the sake of convenience, we define OI(2)(VIk(t)⊤XIak(t))≡OI(2)k(t).Based on the assumptions on the nonlinear plant (5), we define an identification error eIk(t) at kth identification process as follows:(22)eIk(t)=y(t)-ŷk(t).
The difference of eIk(t) between two successive identification process can be computed as(23)ΔeIk(t+1)=eIk+1(t+1)-eIk(t+1)=-(ŷk+1(t+1)-ŷk(t+1)).
Now substituting (21) into (23), we will have(24)ΔeIk(t+1)=-(WIk+1(t)⊤OI(2)k+1(t)-WIk(t)⊤OI(2)k(t)).
For simplicity, we define ΔXIak(t)=XIak+1(t)-XIak(t), ΔWIk(t)=WIk+1(t)-WIk(t),  ΔVIk(t)=VIk+1(t)-VIk(t). After adding and subtracting WIk(t)⊤OI(2)k+1(t) to (24), we can find(25)ΔeIk(t+1)=-ΔWIk(t)⊤OI(2)k+1(t)-WIk(t)⊤(OI(2)k+1(t)-OI(2)k(t)).
Investigating the second term in the right hand side of (25) by using the mean-value theorem, we can derive(26)OI(2)k+1(t)-OI(2)k(t)=OI(2)′k(t)(VIk+1(t)⊤XIak+1(t)-VIk(t)⊤XIak(t))=OI(2)′k(t)(VIk+1(t)⊤XIak+1(t)-VIk(t)⊤XIak+1(t)+VIk(t)⊤XIak+1(t)-VIk(t)⊤XIak(t))=OI(2)′k(t)(ΔVIk(t)⊤XIak+1(t)+VIk(t)⊤ΔXIak(t)),
where OI(2)′k(t) = diag[OI,1(2)′k(t),…,OI,MI(3)′k(t)]∈ℝMI×MI with OI,ℓ(2)′k(t)≡dOI,ℓ(2)k(ZI,ℓ(t))/dZI,ℓ(t)|ZI,ℓ(t), ZI,ℓ(t) has a value between VI,ℓk+1(t)⊤XIak+1(t) and VI,ℓj(t)⊤XIak(t), ℓ=1,…,MI.Now if we substitute (26) into (25), we will have(27)ΔeIk(t+1)=-ΔWIk(t)⊤OI(2)k+1(t)-WIk(t)⊤OI(2)′k(t)×(ΔVIk(t)⊤XIak+1(t)+VIk(t)⊤ΔXIak(t)).The adaptation algorithms for weightsWIk+1(t) and VIk+1(t) of ORNI at (next) k+1th identification process are given as follows:(28)WIk+1(t)=WIk(t)+eIk(t+1)OI(2)k+1(t)MIVIk+1(t)=VIk(t)-XIak+1(t)ΔXIak(t)⊤VIk(t)‖XIak+1(t)‖2.
If we substitute adaptation laws (28) into (27), we have(29)eIk+1(t+1)=eIk(t+1)-eIk(t+1)OI(2)k+1(t)⊤OI(2)k+1(t)MI.Theorem 3.
Consider the nonlinear dynamic plant (5) which satisfies assumptions (A1)–(A3). The proposed ORNI (21) and adaptation laws (28) will ensure that the asymptotic convergence of identification error is guaranteed as the numbers of identification approach infinity.Proof.
Let us choose a discrete-type Lyapunov function as(30)EIk(t+1)=12(eIk(t+1))2,∀t∈{0,…,N},
then we can derive the change of Lyapunov function as
(31)ΔEIk(t+1)=EIk+1(t+1)-EIk(t+1)=12[(eIk+1(t+1))2-(eIk(t+1))2].
Taking norms on (29), we have
(32)|eIk+1(t+1)|=|eIk(t+1)||1-‖OI(2)k+1(t)‖2MI|<|eIk(t+1)|
for iteration k≥1. This implies that EIk(t+1)>0, ΔEIk(t+1)<0, for all t∈{0,…,N} for k≥1, and hence the identification error eIk(t) will satisfy limk→∞|eIk(t)|=0, for all t∈{0,1,…,N}. This proves Theorem 3.Remark 4.
The ORNN is a promising tool for identification because it can approximate any “well-behaved” nonlinear function to any desired accuracy. This good function approximation is applied to estimate the unknown plant sensitivity in this paper. The plant sensitivityyuj(t) in (8) can be approximated as follows:
(33)yuj(t)≡∂yj(t+1)∂uj(t)≈∂ŷj(t+1)∂uj(t).
Note that the index k in the identifier output ŷk(t) is removed once the identification process stops. Applying the chain rule to (21), it yields
(34)∂ŷj(t+1)∂uj(t)=∂OI(3)j(t)∂uj(t)=∑l=1MI∂ŷj(t+1)∂OI,l(2)j(t)∂OI,l(2)j(t)∂uj(t)=∑l=1MIwI,lj(t)∂OI,l(2)j(t)∂uj(t).
Also from (21), we have
(35)∂OI,l(2)j(t)∂uj(t)=fI,l(2)′(netI,l(2)j(t))∂netI,l(2)j(t)∂uj(t).
Since the inputs to ORNI are uj(t), yj(t) and D[OI(3)j(t)], we further have
(36)netI,l(2)j(t)=VI,1lj(t)uj(t)+VI,2lj(t)yj(t)+VI,3lj(t)D[OI(3)j(t)].
Thus,
(37)∂netI,l(2)j(t)∂uj(t)=VI,1lj(t).
From (34), (35) and (37), we obtain
(38)ŷuj(t)=∂ŷj(t+1)∂uj(t)=∑l=1MIwI,lj(t)fI,l(2)′(netI,l(2)j(t))VI,1lj(t),
where  0<fI,ℓ(2)′(netI,ℓ(2)j(t))<0.5. If we define ∥wIj(t)∥≡maxℓ|wI,ℓj(t)|, and ∥VI,1j(t)∥≡maxℓ|VI,1ℓj(t)|, then
(39)|ŷuj(t)|≤MI‖wIj(t)‖‖fI,l(2)′(netI,l(2)j(t))VI,1j(t)‖≤MI2‖wIj(t)‖‖VI,1j(t)‖≡ŷu,max⁡j(t).
The sign function and upper bounding function of plant sensitivity after finishing the identification process at jth control iteration can be obtained as follows:
(40)sgn⁡(yuj(t))=sgn⁡(ŷuj(t))yu,max⁡(t)=max⁡{ŷu,max⁡j(t),ŷu,max⁡j-1(t)}.
It is noted that we do not need the exact plant sensitivity yuj(t) for the design of adaptive law (14). Even though there may exist certain approximation error between yuj(t) and ŷuj(t), we can still guarantee the convergence of learning error since only a upper bounding function is required. Also note that the value of sgn(yuj(t)) (+1 or −1)  can be easily determined from the identification result.


## 4. Simulation Example

In this section, we use the proposed ORNN-based ILC to iteratively control an unknown non-BIBO nonlinear dynamic plant [26, 29]. The difference equation of the nonlinear dynamic plant is given as(41)yj(t+1)=0.2(yj(t))2+0.2yj(t-1)+0.4sin⁡(0.5(yj(t-1)+yj(t)))×cos⁡(0.5(yj(t-1)+yj(t)))+1.2uj(t),
where yj(t) is the system output, uj(t) is the control input. The reference model is chosen as(42)yd(t+1)=0.6yd(t)+r(t),yd(0)=0,
where r(t)=sin(2πt/25)+sin(2πt/10) is a bounded reference input. The control objective is to force yj(t) to track the desired trajectory yd(t) as close as possible over a finite time interval t∈{1,…,200} except the initial point. The network weight adaptation for the ORNI and ORNC is designed according to (14), (15), and (28), respectively. In the ORNC, we set  Wcj(t)∈ℝ2×1 and Vcj(t)∈ℝ4×2, that is, only two hidden nodes in layer 2 are used to construct the ORNC. In a similar way, we let WIk(t)∈ℝ2×1 and VIk(t)∈ℝ3×2, that is, only two hidden nodes in layer 2 are used to set up the ORNI. For simplicity, all the initial conditions of ORNC parameters are set to be 0 at the first control iteration. In addition, the initial ORNI parameters are set to be 0 at the first identification process which begins after the first control iteration. We assume that the plant initial condition satisfies yj(0)=2+randn where randn is a generator of random number with normal distribution, mean =0 and variance =1. To study the effects of learning performances, we first show the maximum value of tracking error |ecj(t)|,t∈{1,…,200} with respect to control iteration j in Figure 3(a). It is noted that |ecj(0)| is omitted in calculating the maximum value of tracking error since it is not controllable. The identification error at 10th control iteration |eI10,k(t)| with respect to identification process k is shown in Figure 3(b). According to the simulation results, it is clear that the asymptotic convergence proved in Theorems 1 and 3 is achieved. Since a reasonable tracking performance is almost observed at the 10th control iteration, the trajectories between the desired output yd(t) and plant output y10(t) at the 10th control iteration are shown to demonstrate the control performance in Figure 3(c). Figure 3(d) shows the comparison between the identification result of ŷ10(t) and the plant output y10(t). The nice identification result enables the ORNI to provide the required information for the design of ORNC. Finally, the bounded control input u10(t) is plotted in Figure 3(e).(a)maxt∈{1,…,200}|ecj(t)| versus control iteration j. (b) maxt∈{0,…,200}|eI10,k(t)| versus identification process k at the 10th control iteration. (c) y10(t) (dotted line) and yd(t) (solid line) versus time t at the 10th control iteration. (d) ŷ10(t) (dotted line) and y10(t) (solid line) versus time t at the 10th control iteration. (e) u10(t) at the 10th control iteration versus time t.
(a)(b)(c)(d)(e)


## 5. Conclusion

For controlling a repeatable nonaffine nonlinear dynamic plant, we propose an output-recurrent-neural-network-based iterative learning control system in this paper. The control structure consists of an ORNC used as an iterative learning controller and an ORNI used as an identifier. The ORNC is the main controller utilized to achieve the repetitive control task. The ORNI is an auxiliary component utilized to provide some useful information from plant sensitivity for the design of ORNC’s adaptive laws. All the network weights of ORNC and ORNI will be tuned during the control iteration and identification process so that no prior plant knowledge is required. The adaptive laws for the weights of ORNC and ORNI and the analysis of learning performances are determined via a Lyapunov-like analysis. We show that if the ORNI can provide the knowledge of plant sensitivity for ORNC, then output tracking error will asymptotically converge to zero except an initial resetting error. We also show that the objective of identification can be achieved by the ORNI if the number of identifications is large enough.



---

*Source: 545731-2012-02-28.xml*