Keywords

1 Introduction

The design of a controller for dynamical system is typically divided into two different design problems: The first design problem is a regulation problem which consists of finding a control law that manipulates the input variable so that the system automatically holds the output at a constant value even when unknown disturbances try to move output away from this constant set point. The second one is the trajectory tracking problem which consists of forcing the output response to follow a desired trajectory as close as possible, for example Proportional-Integral-Derivative PID control [17], adaptive control [20], variable structure control [21], fuzzy control [26] and passivity-based control [2, 3]. In many cases, this desired trajectory is repeated over a given operation time, i.e., these nonlinear systems are used for repetitive tasks. The use of conventional control algorithms with such systems will result in the same level of tracking error being repeated time and time again. Iterative Learning Control ILC is a relatively new addition to the toolbox of control algorithms. It is concerned with the performance of systems that operate in a repetitive manner and includes examples such as robot arm manipulators. The basic idea of this method is to use information from previous operation in an attempt to improve performance from repetition to repetition in the sense that the tracking error (between the output and a specified reference trajectory) is sequentially reduced to zero. Since the early works of Arimoto et al. [1], Casalino and Bartolini [12], Craig [13], this technique has been the centre of interest of many researchers over the last decade (see, for instance, Bouakrif [46, 9] and Tayebi [25]).

In these works, the structures of ILC appeared as D-type, P-type, PD-type and PID-type. In addition, and for the sake of convergence speed, the forgetting factors have been introduced in ILC by Bouakrif [7]. From these works, it should be noted that ILC can be further classified into two kinds: off-line learning and on-line learning. In the case of off-line learning control, information in the controlled torque in the current iteration comes from the previous iteration. Philosophically, the learning in this case is shifted to the off-line mode. In the case of the on-line learning control, information in the controlled torque in the current iteration comes from the current iteration. Thus, the feedback control decision incorporates ILC at real-time.

Although, using ILC, the system should be started with the same initial condition at the beginning of each iteration [15, 16, 19], there have many works on ILC without identical initial condition [8, 18, 23, 27]. The first control law presented in this chapter is an ILC scheme without identical condition.

The most useful and general approach for studying the stability of nonlinear control systems is the theory introduced by the Russian mathematician Alexander Mikhailovich Lyapunov. Lyapunov’s work includes two methods for stability analysis, the linearization method and direct method. The first one draws conclusions about a nonlinear system’s local stability around an equilibrium point from the stability properties of its linear approximation. The second method is not restricted to local motion, and determines the stability properties of a nonlinear system by constructing a scalar energy-like function for the system and examining the function’s time variation. This last method has become the most important tool for nonlinear system analysis and design. Recently, another type of ILC algorithms has been developed using a positive definite Lyapunov-like sequence which is made monotonically decreasing along the iteration axis via a suitable choice of the control input. In fact, [14] utilized Lyapunov-based techniques to develop an ILC that is combined with a robust control design to achieve global uniformly ultimately bounded link position tracking for robot manipulators. Using Lyapunov-like function, [10, 24] derived an adaptive ILC and a velocity observer based ILC, respectively, to solve the trajectory tracking problem of robot manipulators.

Using another proof of the stability for such controller (iterative learning controller), \(\lambda \)-norm defined firstly by Arimoto et al. [1], is used as the topological measure, to prove the asymptotic stability of the closed loop system over the whole finite time interval when the iteration number tends to infinity. Using this norm and to solve the trajectory tracking problem for nonlinear systems with arbitrary relative degree and no state measurement, a state observer based iterative learning controller has been presented by Bouakrif [11].

In this chapter, we present two ILC schemes to solve the trajectory tracking problem of affine and non affine nonlinear systems performing repetitive tasks. The first law is a simple on-line 2D-type learning control for affine nonlinear systems with an initial condition algorithm to provide the initial state value at each iteration automatically. Using \(\lambda \)-norm, the asymptotic stability of such controller is guaranteed, over the whole finite time interval when the iteration number tends to infinity. The second law is an on-line P-type ILC of non affine nonlinear systems. To prove the asymptotic stability of the closed loop system, a Lyapunov-like positive definite sequence is used. It is shown to be monotonically decreasing under the proposed control scheme. Finally, simulation results on nonlinear system are provided to illustrate the effectiveness of the two controllers.

2 Iterative learning control design

2.1 General Form of Iterative Learning Controller

In general case, the ILC scheme is presented as follows

$$\begin{aligned} u_{k+1} (t)=f(u_k (t),e_{k+1} (t),e_k (t),\ldots ,e_{k-m} (t)),\, m\ge 1. \end{aligned}$$
(1)

We note that f depends on errors, and/or on derivative errors, and/or on integral errors obtains from different cycles. The fundamental problem resides to determine a simple recursive form of f ensuring the error convergence and a satisfactory rate convergence. Indeed, the Eq. (1) can be written as

$$\begin{aligned} u_{k+1} (t)=u_k (t)+\phi _{k+1} e_{k+1} (t)+\phi _k e_k (t)+\cdots +\phi _{k-m} e_{k-m} (t) \quad m\ge 1. \end{aligned}$$
(2)

Figure 1 shows the block diagram of Eq. (2).

Fig. 1
figure 1

Block diagram of ILC

From this block, the following can be easily obtained

$$\begin{aligned} u_{k+1} (t)=u_{ff} (t)+u_{fb} (t). \end{aligned}$$
(3)

\(u_{ff} (t)\) : is the feedforword controller.

\(u_{fb} (t)\) : is the current cycle feedback controller.

2.2 Off-Line Iterative Learning Control Scheme

The off-line ILC scheme is obtained when \(\phi _{k+1} \) equals to zero. It is important to note that this scheme in open loop via iterations domain. The off-line ILC scheme is given by:

$$\begin{aligned} u_{k+1} (t)=u_{ff} (t)=u_k (t)+\phi _k e_k (t)+\cdots +\phi _{k-m} e_{k-m} (t). \end{aligned}$$
(4)

The original off-line ILC scheme was proposed firstly by Arimoto et al. [1], and it applied mainly in robotics. This scheme is as follows:

$$\begin{aligned} u_{k+1} (t)=u_k (t)+\phi \frac{d}{dt}e_k (t) \end{aligned}$$
(5)

where \(\phi \) is the learning gain and \(\frac{d}{dt}e_k (t)\) is the derivative error.

2.3 On-Line Iterative Learning Control Scheme

Adding a current cycle feedback controller to open loop ILC scheme, the on-line ILC scheme is obtained. Thus, the form of this scheme is given by:

$$\begin{aligned} u_{k+1} (t)=u_{ff} (t)+u_{fb} (t)=u_k (t)+\phi _{k+1} e_{k+1} (t)+\phi _k e_k (t)+\cdots +\phi _{k-m} e_{k-m} (t).\nonumber \\ \end{aligned}$$
(6)

3 On-Line 2D-Type Iterative Learning Control for Affine Non Linear Systems

3.1 System Description

Consider the following affine non linear system

$$\begin{aligned} \left\{ {\begin{array}{l} \dot{x}(t)=f(x(t),t)+B(t)u(t) \\ y(t)=h(x(t),t). \\ \end{array}} \right. \end{aligned}$$
(7)

where k denotes the iteration index or the operation number, \(x_k \in R^{n} \) , \(u_k \in R^{r} \) and \(y_k \in R^{m} \) are the state, control input and output of the system, respectively. The function \(f({*})=[f_1 ({*}),\ldots .f_n ({*})]\in R^{n}\) is strictly unknown. The functions \(f({*})=[f_1 ({*}),\ldots .f_n ({*})]\in R^{n}\) and \(h({*})=[h_1 ({*})... h_m ({*})]^{T}\in R^{m}\) are smooth in their domain of definition, and let the associated time interval be \(t\in [0, T]\).

The Jacobi of h(x(t), t) is given by 

$$\begin{aligned} h_x (x_k )=\left[ {\left( \frac{\partial h_1 }{\partial x_1 }\cdots \frac{\partial h_1 }{\partial x_n }\right) \cdots \left( \frac{\partial h_m }{\partial x_1 }\cdots \frac{\partial h_m }{x_n }\right) } \right] ^{T} \end{aligned}$$
(8)

The following assumption is needed.

Assumption A1

The function f(x(t), t) satisfies the Lipschitz condition with respect x over the time interval t\(\in \)[0, T]. Thus \(\exists \alpha \) \(_{ }\)for \(x_1 (t),x_2 (t)\in R\times [0, T]\) such as

$$\begin{aligned} \left\| {f(x_1 ,t)-f(x_2 ,t)} \right\| \le \alpha \left\| {x_1 -x_2 } \right\| . \end{aligned}$$
(9)

The following lemmas are used.

Lemma 1

Let \(z(t)=[z_1 (t),z_2 (t),\ldots .z_n (t)]^{T}\in R^{n}\) is defined for t\(\in \)[0, T], then we have

$$\begin{aligned} \left( \int \limits _{0}^{t} \left\| {z(s)} \right\| ds \right) \cdot e^{-\lambda t}\le \frac{1}{\lambda }\left\| {z(t)} \right\| _\lambda . \end{aligned}$$
(10)

Lemma 2

(Gronwall-Bellman) [22] Suppose that f(t) and \(g(t)\ge 0\) are real and locally integrable scalar functions in [a, b], and L is a constant. If the real scalar function f(t) satisfies the integral equation

$$\begin{aligned} f(t)\le L+\int \limits _{0}^{t} {g(\tau )} f(\tau )d\tau \quad t\in [a,b]. \end{aligned}$$
(11)

Then, on the same interval, f(t) satisfies

$$\begin{aligned} f(t)\le L\exp \left( {\int \limits _{0}^{t} {g(\tau )d\tau } } \right) . \end{aligned}$$
(12)

Lemma 3

Letting \(\xi (t),\eta _1 (t),\eta _2 (t)\) the continuous functions in [0, T]. If

$$\begin{aligned} \left\| {\xi (t)} \right\| \le \Gamma \int \limits _{0}^{t} {\left\| {\xi (s)} \right\| ds+\Gamma _1 \int \limits _{0}^{t} {\left\| {\eta _1 (s)} \right\| ds+\Gamma _2 \left\| {\eta _2 (t)} \right\| } } \end{aligned}$$
(13)

then

$$\begin{aligned} \left\| {\xi (t)} \right\| _\lambda \le \left( \frac{1}{\lambda }\Gamma _1 \left\| {\eta _1 (t)} \right\| _\lambda +\Gamma _2 \left\| {\eta _2 (t)} \right\| _\lambda \right) \exp \left( \frac{\Gamma }{\lambda }\right) \end{aligned}$$
(14)

with \(\Gamma \ge 0\) , \(\Gamma _1 \) and \(\Gamma _2 \) are constants.

Proof

Multiplying (13) by \(e^{-\lambda t}\), we have

$$\begin{aligned} \left\| {\xi (t)} \right\| e^{-\lambda t}\le \Gamma \int \limits _{0}^{t} {\left\| {\xi (s)} \right\| e^{-\lambda s}e^{-\lambda (t-s)}ds} +(\Gamma _1 \int \limits _{0}^{t} {\left\| {\eta _1 (s)} \right\| ds)e^{-\lambda t}+\Gamma _2 \left\| {\eta _2 (t)} \right\| } e^{-\lambda t}. \end{aligned}$$
(15)

Applying the Lemma 1, we obtain

$$\begin{aligned} \left\| {\xi (t)} \right\| e^{-\lambda t}\le \left( \frac{1}{\lambda }\Gamma _1 \left\| {\eta _1 (t)} \right\| _\lambda +\Gamma _2 \left\| {\eta _2 (t)} \right\| _\lambda \right) +\Gamma \int \limits _{0}^{t} {\left\| {\xi (s)} \right\| e^{-\lambda s}e^{-\lambda (t-s)}ds}. \end{aligned}$$
(16)

Using Lemma 2, it comes

$$\begin{aligned} \left\| {\xi (t)} \right\| e^{-\lambda t}\le \left( \frac{1}{\lambda }\Gamma _1 \left\| {\eta _1 (t)} \right\| _\lambda +\Gamma _2 \left\| {\eta _2 (t)} \right\| _\lambda \right) \exp \left( \int \limits _{0}^{t} {\Gamma e^{-\lambda (t-s)}ds} \right) . \end{aligned}$$
(17)

Thus

$$\begin{aligned} \left\| {\xi (t)} \right\| e^{-\lambda t}\le \left( \frac{1}{\lambda }\Gamma _1 \left\| {\eta _1 (t)} \right\| _\lambda +\Gamma _2 \left\| {\eta _2 (t)} \right\| _\lambda \right) \exp \left( \frac{\Gamma }{\lambda } \right) . \end{aligned}$$
(18)

3.2 Iterative Learning Control Design

Objective

Our objective is to design a controller that is updated iteratively such that the output trajectory \(y_k (t)\) follows a desired trajectory \(y_d (t)\), for \(t\in [0,T]\) \(_{ }\)and \(k\rightarrow \infty \).

In this section, we consider a simple on-line 2D-type learning control and an initial condition algorithm. This algorithm provides the initial state value at each iteration automatically. Using \(\lambda \)-norm defined firstly by Arimoto et al. [1], as the topological measure, the asymptotic stability of the closed loop system is guaranteed over the whole finite time interval when the iteration number tends to infinity. More specifically, the output system is proved to be convergence to the desired output by showing that the inequality

$$\begin{aligned} \left\| e_{k+1} (t) \right\| _{\lambda } \le \varpi \left\| e_{k} (t) \right\| _{\lambda } \end{aligned}$$
(19)

holds if \(\varpi \prec 1. \text { With } e_{k} (t)=y_{d} (t)-y_{k} (t)_{.}\)

The formal definition of the \(\lambda \)-norm for a function \(f:[0,T]\rightarrow R^{n}\) is given by

$$\begin{aligned} \left\| {f(t)} \right\| _\lambda =\sup \nolimits _{t\in [0,T]} ( e^{-\lambda t}\left\| {f(t)} \right\| _{\infty } ) \end{aligned}$$
(20)

Throughout the paper, we will use the following norms.

$$\begin{aligned}&\left\| {f(t)} \right\| _\infty =\sup \nolimits _{t\in [0,T]} \left\| {f(t)} \right\| , \left\| M \right\| =\max \nolimits _{1\le i\le n} \left( {\sum _{j=1}^m {\left| {m_{ij} } \right| } } \right) ,\\&\left\| V \right\| =\max \nolimits _{1\le i\le n} \left| {V_i } \right| , \mathrm{where} \\&M = (m_{ij}), V=(V_{i}), 1\le i\le n\,\mathrm{and}\, 1\le j\le m. \end{aligned}$$

The asymptotic stability conditions for such controller are given in the following theorem.

Theorem 1

Given the affine nonlinear system (7), and let assumption A1 be satisfied. For any initial state \(x_1 (0)\), any admissible control \(u_1 (t)\), and applying the following on-line 2D-type iterative learning control and initial state algorithm

$$\begin{aligned} u_{k+1} (t)&=u_k (t)+L(t)\dot{e}_k (t)+K(t)\dot{e}_{k+1} (t) \end{aligned}$$
(21)
$$\begin{aligned} x_{k+1} (0)&=(I_n +B(0)K(0)h_x (x(0)))^{-1}(x_k (0)+B(0)K(0)y_d (0))\nonumber \\&\quad +B(0)L(0)e_k (0) \end{aligned}$$
(22)

If

1—\(h_x (x,t)\) is bounded in \(R^{n}\times [0,T]\),

2—\(I_m +h_x (x(t),t)B(t)K(t)\) is non-singular,

3—\(\mathop {\sup }\limits _{(x,t)\in R^{n}\times [0,T]} \left\| {(I_m -h_x (x,t)B(t)L(t)).(I_m +h_x (x,t)B(t)K(t))^{-1}} \right\| <1.\)

Then

$$\begin{aligned} \mathop {\lim }\limits _{k\rightarrow \infty } y_k (t)=y_d (t)\quad . \end{aligned}$$
(23)

where \(e_k (t)=y_d (t)-y_k (t)\). \(K(t)\in R^{r\times m}\) and \(L(t)\in R^{r\times m}\) are the gain matrices, with \(I_n +B(0)K(0)h_x (x(0))\) is non singular.

Proof

From (7), (21) and (22), we have

$$\begin{aligned}&x_{k+1} (t) =x_{k+1} (0)+\int \limits _{0}^{t} {(f(x_{k+1} (s),s)+B(s)u_{k+1} (s))ds} \nonumber \\&\qquad \quad = x_k (0)+B(0)K(0)e_{k+1} (0)B(0)L(0)e_k (0)+\int \limits _{0}^{t} {f(x_{k+1} (s),s)ds} \nonumber \\&\qquad \quad \quad +\int \limits _{0}^{t} {B(s)(u_k (s)+L(s)\dot{e}_k (s)+K(s)\dot{e}_{k+1} (s))ds} \nonumber \\&\qquad \quad =x_k (0)+\int \limits _{0}^{t} {[f(x_k (s),s)+B(s)u_k (s)]ds} \nonumber \\&\qquad \quad \quad +\int \limits _{0}^{t} {[f(x_{k+1} (s),s)-f(x_k (s),s)]ds} +B(t)L(t)e_k (t) \nonumber \\&\qquad \quad \quad -\int \limits _{0}^{t} {\frac{d(B(s)L(s))}{ds}e_k (s)ds} +B(t)K(t)e_{k+1} (t)-\int \limits _{0}^{t} {\frac{d(B(s)K(s))}{ds}e_{k+1} (s)ds} \end{aligned}$$
(24)

consequently

$$\begin{aligned} \begin{array}{lll} x_{k+1} (t)-x_k (t)&{}&{}=\int \limits _{0}^{t} {[f(x_{k+1} (s),s)-f(x_k (s),s)]ds} +B(t)L(t)e_k (t) \\ &{}&{}\quad -\int \limits _{0}^{t} {\frac{d(B(s)L(s))}{ds}} e_k (s)ds \\ &{}&{}\quad +B(t)K(t)e_{k+1} (t)-\int \limits _{0}^{t} {\frac{d(B(s)K(s))}{ds}} e_{k+1} (s)ds \\ \end{array} \end{aligned}$$
(25)

Using assumption A1, Lemmas 1 and 2, we find

$$\begin{aligned} \left\| {x_{k+1} (t)-x_k (t)} \right\| _\lambda \le \gamma _1 \exp (\frac{\alpha }{\lambda })\left\| {e_k (t)} \right\| _\lambda +\gamma _2 \exp (\frac{\alpha }{\lambda })\left\| {e_{k+1} (t)} \right\| _\lambda \end{aligned}$$
(26)

with \(a=\mathop {\max }\limits _{t\in [0, T]} \left\| {B(t)L(t)} \right\| \), \(b=\mathop {\max }\limits _{t\in [0, T]} \left\| {\frac{dB(t)L(t))}{dt}} \right\| \), \(\gamma _1 =a+\frac{b}{\lambda }\), \(\gamma _2 =c+\frac{d}{\lambda }\), \(c=\mathop {\max }\limits _{t\in [0, T]} \left\| {B(t)K(t)} \right\| \) and \(d=\mathop {\max }\limits _{t\in [0, T]} \left\| {\frac{dB(t)K(t))}{dt}} \right\| \).

Using the theorem of differential mean value, it exists \(\xi _k (t)\), such that

$$\begin{aligned} e_{k+1} (t)-e_k (t)&=y_k (t)-y_{k+1} (t) \nonumber \\&{=h_x (\xi _k (t),t)(x_k (t)-x_{k+1} (t))}. \end{aligned}$$
(27)

From (25) and (27), it comes

$$\begin{aligned}&[I_m +h_x (x_k (t),t)B(t)K(t)]e_{k+1} (t)=[I_m -h_x (x_k (t),t)B(t)L(t)]e_k (t)\nonumber \\&\quad \qquad -h_x (x_k (t),t)\int \limits _{0}^{t} {[f(x(s),s)-f(x(s),s)]ds} \\&\quad \qquad -h_x (x_k (t),t)\left[ {\int \limits _{0}^{t} {\frac{d(B(s)L(s)}{ds}} } \right. e_k (s)ds+\left. {\int \limits _{0}^{t} {\frac{d(B(s)K(s)}{ds}e_{k+1} (s)ds} } \right] \nonumber \end{aligned}$$
(28)

From (26), (28) and using assumption A1, we have

$$\begin{aligned} \left\| {e_{k+1} (t)} \right\| _{\lambda } \le \left[ \frac{\max \limits _{t\in [0,T]} \left\| {(I_{m} -h_{x} (x(t),t)B(t)L(t))} \right\| + \frac{\delta }{\lambda }\left[ {\alpha \gamma _{1} \exp (\frac{\alpha }{\lambda })+b}\right] }{\max \limits _{t\in [0,T]} \left\| {(I_{m} +h_{x} (x(t),t)B(t)K(t))} \right\| -\frac{\delta }{\lambda }\left[ {\alpha \gamma _{21} \exp (\frac{\alpha }{\lambda })+d} \right] } \right] {\left\| {e_k (t)} \right\| _{\lambda } } \end{aligned}$$
(29)

Choosing \(\lambda (\lambda >0)\) widely great, we obtain

$$\begin{aligned} \left\| {e_{k+1} (t)} \right\| _\lambda \le \mathop {\max }\limits _{t\in [0, T]} \left\{ \left\| {( {I_m -h_x (x(t),t)B(t)L(t)} )} {( {I_m +h(x(t),t)B(t)K(t)} )^{-1}} \right\| \right\} \Vert {e_k (t)} \Vert _\lambda . \end{aligned}$$
(30)

If

$$\begin{aligned} \mathop {\max }\limits _{t\in [0, T]} \left\{ \left\| {( {I_m -h_x (x(t),t)B(t)L(t)} )} {( {I_m +h(x(t),t)B(t)K(t)} )^{-1}} \right\| \right\} <1. \end{aligned}$$
(31)

Then \(y_k (t)\) converges uniformly to \(y_d (t)\), when \(k\rightarrow \infty \) and t\(\in \)[0, T].

3.3 Simulation Results

Consider the dynamic model of robot manipulator given by

$$\begin{aligned} J_m \ddot{q}(t)+Sg\sin (q(t))=u(t) \end{aligned}$$
(32)

g is the gravitational acceleration, u(t) is the input control, q(t) is the rotation angle of the robot.

We takes \(x_1 =q\) and \(x_2 =\dot{q}\), thus we obtain

$$\begin{aligned} \left[ {\begin{array}{l} \dot{x}_1 \\ \dot{x}_2 \\ \end{array}} \right] =\left[ {\begin{array}{l} x_2 \\ -J_m^{-1} Sg\sin x_1 \\ \end{array}} \right] +\left[ {\begin{array}{l} 0 \\ J_m^{-1} \\ \end{array}} \right] \cdot u. \end{aligned}$$
(33)

The output is \(y=\frac{2}{5}x_2 \). \(J_m =14\) kgm\(^{2}\), \(S=6\,\mathrm{kg} \cdot \mathrm{m}\), \(g=9.8\) m/s\(^{2}\), T\(=\)2 s, \(h_x =\left[ {0,\frac{2}{5}} \right] \).

The ILC laws is given by

$$\begin{aligned} \begin{array}{l} u_{k+1} (t)=u_k (t)+10\dot{e}_k (t)+14\dot{e}_{k+1} (t) \\ x_{k+1} (0)=\left[ {\begin{array}{l} 1{\begin{array}{ll} &{} 0 \\ \end{array} } \\ 0{\begin{array}{ll} &{} {\frac{5}{7}} \\ \end{array} } \\ \end{array}} \right] x_k (0)+\left[ {\begin{array}{l} 0 \\ \frac{5}{7} \\ \end{array}} \right] y_d (0)+\left[ {\begin{array}{l} 0 \\ 1 \\ \end{array}} \right] e_k (0) \\ \end{array} \end{aligned}$$
(34)

with \(L(t)=10\) and \(K(t)=14\).

For a continuous function \(y_d (t)\) in [0, T], it exists \(u(t)\in U\), such that \(y_d (t)=h(x_d (t),t)\), with \(x_d (t)\) is generated by \(u_d (t)\), given as

$$\begin{aligned} u_d (t)=35-70t-58.8\sin \left( {\frac{5t^{2}(2t-3)}{12}} \right) \end{aligned}$$
(35)

with \(x_1 (0)=[0,1]\), and \(u_1 (t)=1\).

Applying the ILC law, we obtain the following results.

Fig. 2
figure 2

Real and desired trajectories for \(\mathrm{{k}}=1\)

Fig. 3
figure 3

Real and desired trajectories for \(\mathrm{{k}}=3\)

Fig. 4
figure 4

Real and desired trajectories for \(\mathrm{{k}}=7\)

Fig. 5
figure 5

Real and desired trajectories for \(\mathrm{{k}}=10\)

The simulation results are given in Figs. 2, 3, 4 and 5. These figures present the simulation results of the real and desired trajectories for 1st, 3rd, 7th and 10th iteration. We can see that the real trajectory follows the desired one through learning iteration. Thus, the system executes 10 iterations so that the real output system follows the desired trajectory without error.

4 On-Line P-Type Iterative Learning Control for a Class of Non affine Nonlinear Systems

4.1 System Description

Consider the non-affine time-varying nonlinear systems described by

$$\begin{aligned} \left\{ {\begin{array}{l} \dot{x}_k (t)=f(x_k (t),u_k (t),t)+w_k (t) \\ y_k (t)=h(x_k (t),t) \\ \end{array}} \right. \end{aligned}$$
(36)

where k denotes the iteration index or the operation number, \(x_k \in R^{n} \) , \(u_k \in R^{r} \) and \(y_k \in R^{m} \) are the state, control input and output of the system, respectively. \(w_{k}(t)\) is the external disturbance of the system. The functions \(f({*})=[f_1 ({*}),\ldots .f_n ({*})]\in R^{n}\) and \(h({*})=[h_1 ({*})...h_m ({*})]^{T}\in R^{m}\) are smooth in their domain of definition, and let the associated time interval be \(t\in [0,T]\).

4.2 Iterative Learning Control Design

In order to design a controller that is updated iteratively such that the system output (36) can follow the desired output, one presents the following on-line P-type ILC law:

$$\begin{aligned} u_{k+1} (t)=u_k (t)+L_1 e_{k+1} (t) \end{aligned}$$
(37)

where \(e_k (t)=y_d (t)-y_k (t)\) is the trajectory tracking error, \(L_1 \) is diagonal positive definite matrix.

It is important to note here that the asymptotic stability is proved using a positive definite Lyapunov-like sequence which is made monotonically decreasing along the iteration axis.

Theorem 2

Given the unknown nonlinear systems (36) under the iterative learning control law (37), the closed loop system is asymptotically stable, i.e.,

  1. (i)

    \(\mathop {\lim }\limits _{k\rightarrow \infty }e_k (t)=0 \qquad t\in [0,T].\)

  2. (ii)

    \(u_k (t)\) is uniformly convergent on [0, T].

Proof

Letting

$$\begin{aligned} \Phi _k (t)=\left( {{\begin{array}{l} {e_k (t)} \\ {\Delta {\begin{array}{l} {u_k (t)} \\ \end{array} }} \\ \end{array} }} \right) \end{aligned}$$
(38)

where \(\Delta {\begin{array}{l} {u_k (t)} \\ \end{array} }=u_k (t)-u_{k-1} (t)\).

It is clear that

$$\begin{aligned} \left\{ {\begin{array}{l} e_k (t)=y_d (t)-y_k (t)=y_d (t)-h(x_k (t),t) \\ e_{k+1} (t)=y_d (t)-y_{k+1} (t)=y_d (t)-h(x_{k+1} (t),t). \\ \end{array}} \right. \end{aligned}$$
(39)

Thus

$$\begin{aligned} e_{k+1} (t)=e_k (t)-\left( {h(x_{k+1} (t),t)-h(x_k (t),t)} \right) . \end{aligned}$$
(40)

From (37), the control law at \(k^{th}\) iteration is as follows

$$\begin{aligned} u_k (t)=u_{k-1} (t)+L_{_1 } e_k (t). \end{aligned}$$
(41)

From (37), (40) and (41), we have

$$\begin{aligned} \Delta {\begin{array}{l} {u_{k+1} (t)} \\ \end{array} }=\Delta {\begin{array}{l} {u_k (t)} \\ \end{array} }-L_1 \left( {h(x_{k+1} (t),t)-h(x_k (t),t)} \right) . \end{aligned}$$
(42)

From (38) and (42), we obtain

$$\begin{aligned} \Phi _{k+1} (t)=\Phi _k (t)+BF_k (t) \end{aligned}$$
(43)

where \(B=\left( {{\begin{array}{l} {-I_n } \\ {-L_2 } \\ \end{array} }} \right) \) and \(F_k (t)=\left( {h(x_{k+1} (t),t)-h(x_k (t),t)} \right) \).

Stability analysis: The proof of the theorem 2 is in three parts. The first part consists of taking a positive definite Lyapunov-like composite energy function, namely \( {\sum ^{f}}V_k (t)\), and show that this sequence is non-increasing with respect to k and hence bounded if \(V_0 (t)\) is bounded. In the second part, one shows that \(V_0 (t)\) is bounded for all \(t\in [0,T]\). In the third part, one shows that \(\mathop {\lim }\limits _{k\rightarrow \infty } e_k (t)=0\) and \(u_k (t)\) is uniformly convergent \(\forall t\in [0,T]\).

Part 1: Let us consider the following Lyapunov-like sequence

$$\begin{aligned} V_k (e_k (t),\Delta {\begin{array}{l} {u_k (t)} \\ \end{array} })=\sum _{j=k}^\infty {\Phi _j^T (t)P\Phi _j (t)} \end{aligned}$$
(44)

where P is symmetric, positive definite matrix.

At \((k+1)\)th iteration, we have

$$\begin{aligned} V_{k+1} (e_{k+1} (t),\Delta {\begin{array}{l} {u_{k+} (t)} \\ \end{array} })=\sum _{j=k+1}^\infty {\Phi _j^T (t)P\Phi _j (t)} . \end{aligned}$$
(45)

In the sequel, since the time t does not have any impact on the stability analysis, it is removed for the sake of simplicity.

Let’s define

$$\begin{aligned} \Delta V_{k} = V_{k+1} - V_{k} . \end{aligned}$$
(46)

From (43), (44), (45) and (46), we can write

$$\begin{aligned} \Delta V_{k} =-\Phi _{k}^{T} P\Phi _{k} . \end{aligned}$$
(47)

Since P is symmetric, we can apply the theorem of Rayleigh-Ritz. It becomes

$$\begin{aligned} \Delta V_k \le -\lambda _{\min } (P)\left\| {\Phi _k } \right\| ^{2}. \end{aligned}$$
(48)

where \(\lambda _{\min }(P)\) denotes the minimum eigenvalue of P.

It is clear that

$$\begin{aligned} \Delta V_k \le 0. \end{aligned}$$
(49)

Hence \(V_k \) is non-increasing sequence. Thus if \(V_0 \) is bounded, we can conclude that \(V_k \) is bounded.

Part 2: Now, we will show that \(V_0 \) is bounded over the time interval [0, T]. In fact, from (44) \(V_0 \) is given by

$$\begin{aligned} V_0 =\sum _{j=0}^\infty {\Phi _j^T P\Phi _j } . \end{aligned}$$
(50)

with \(\Phi _j =\left( {{\begin{array}{l} {e_j } \\ {\Delta {\begin{array}{l} {u_j } \\ \end{array} }} \\ \end{array} }} \right) \).

From (40) and (42), \(\Delta {\begin{array}{l} {u_0 } \\ \end{array} }\) and \(\Delta {\begin{array}{l} {u_1 } \\ \end{array} }\) are given by

$$\begin{aligned} \Delta {\begin{array}{l} {u_0 } \\ \end{array} }=\Delta {\begin{array}{l} {u_{-1} } \\ \end{array} }+L_1 \left( {e_0 -e_{-1} } \right) . \end{aligned}$$
(51)

and

$$\begin{aligned} \Delta {u_1 }&= u_1 -u_0 \nonumber \\&=\Delta {u_0 } +L_1 \left( {e_1 -e_0 } \right) . \end{aligned}$$
(52)

Before applying the control at the first iteration, it is logical to suppose that \(e_{-1} =e_0 =0\) and \(u_{-1} (t)=u_0 (t)=0\). Hence, it becomes

$$\begin{aligned} \left\{ {\begin{array}{l} \Delta {\begin{array}{l} {u_0 } \\ \end{array} }=0 \\ \Phi _0 =0 \\ \end{array}} \right. \end{aligned}$$
(53)

and

$$\begin{aligned} u_1 =L_{1} e_{1} \end{aligned}$$
(54)

Since the control at the first iteration is bounded, we can conclude from (54) that \(e_1 \) is bounded.

We note that

$$\begin{aligned}&V_\infty =f(e_\infty ) \end{aligned}$$
(55)
$$\begin{aligned}&V_{\infty -1} =f(e_{\infty -1} ,e_\infty ) \end{aligned}$$
(56)
$$\begin{aligned}&\vdots \nonumber \\&V_2 =f(e_2 ,\ldots ,e_{\infty -1} ,e_\infty ) \end{aligned}$$
(57)
$$\begin{aligned}&V_1 =f(e_1 ,e_2 ,\ldots ,e_{\infty -1} ,e_\infty )_{.} \end{aligned}$$
(58)

Knowing that \(V_{k+1} \le V_k \) for \(k\ge 1\), we can use the following reasoning:

$$\begin{aligned}&\,\, e_\infty \, \text {is bounded if}\, e_{\infty -1}\, \text {is bounded} \\&e_{\infty -1}\,\text {is bounded if}\, e_{\infty -2} \text {is bounded}\\&\qquad \qquad \quad \,\, \vdots \\&\,\,\, e_{2} \,\text {is bounded if}\, e_{1}\, \text {is bounded} \end{aligned}$$

Since \(e_1 \) is bounded and using this reasoning, we can conclude that \(e_\infty \) is bounded. This implies that all \(\Phi _j \), \(j=1,\ldots ,\infty \) are bounded. Finally and knowing that \(\Phi _0 \) is bounded, we can conclude from (50) that \(V_0 \) is bounded over [0, T].

Part 3: We note that \(V_k \) can be written as follows

$$\begin{aligned} V_k =V_0 +\sum _{j=1}^k {\Delta V_j } . \end{aligned}$$
(59)

Thus, from (48), we have

$$\begin{aligned} V_k \le V_0 -\lambda _\mathrm{min } (P)\left\| {\Phi _{k}} \right\| ^{2}. \end{aligned}$$
(60)

This implies that

$$\begin{aligned} \lambda _{\min } (P)\left\| {\Phi _k} \right\| ^{2}\le 2\left( {V_0 -V_k } \right) . \end{aligned}$$
(61)

Since \(V_k (t)\) is bounded \(\forall k\in N\) and \(\forall t\in [0,T]\), this implies that \(\Phi _k \) disappears when \(k\rightarrow \infty \). Therefore, \(\mathop {\lim }\limits _{k\rightarrow \infty } e_{k}(t)=0\) for \(t\in [0,T]\) and \(u_k (t)\) is uniformly convergent. This completes the proof.

4.3 Simulation Results

Consider the dynamical model of a nonlinear system given as follows

$$\begin{aligned} \left[ {\begin{array}{l} \dot{x}_{1k} (t) \\ \dot{x}_{2k} (t) \\ \end{array}} \right] =\left[ {\begin{array}{l} x_{2k} (t) \\ -J_m^{-1} Sg\sin x_{1k} (t) \\ \end{array}} \right] +\left[ {\begin{array}{l} 0 \\ J_m^{-1} \\ \end{array}} \right] {\begin{array}{l} {u_k (t)} \\ \end{array} } \end{aligned}$$
(62)

where \(t\in [0,2](s)\), \(J_m =14\,\mathrm{kgm}^{2}\), \(S=6\,\mathrm{kg} \cdot \mathrm{m}\), \(g=9.8\,\mathrm{{m/s}}^{2}\) (gravitational acceleration), and \(u_k (t)\) is the control.

Fig. 6
figure 6

Real and desired trajectories after 2 iterations

Fig. 7
figure 7

Real and desired trajectories after 5 iterations

Fig. 8
figure 8

Real and desired trajectories after 10 iterations

Fig. 9
figure 9

Real and desired trajectories after 30 iterations

Fig. 10
figure 10

Real and desired trajectories after 40 iterations

Fig. 11
figure 11

Output errors for 2\(\mathrm{nd}\) , 5\(\mathrm{th}\), 10\(\mathrm{th}\), 30\(\mathrm{th}\) and 40\(\mathrm{th}\) iteration

Adding the disturbances, we have

$$\begin{aligned} \left[ {\begin{array}{l} \dot{x}_{1k} (t) \\ \dot{x}_{2k} (t) \\ \end{array}} \right] =\left[ {\begin{array}{l} x_{2k} (t) \\ -J_m^{-1} Sg\sin x_{1k} (t) \\ \end{array}} \right] +\left[ {\begin{array}{l} 0 \\ J_m^{-1} \\ \end{array}} \right] {\begin{array}{l} {u_k (t)} \\ \end{array} }+\left[ {{\begin{array}{l} {w_{1k} (t)} \\ {w_{2k} (t)} \\ \end{array} }} \right] . \end{aligned}$$
(63)

where the disturbances are given by

$$\begin{aligned} \left[ {\begin{array}{l} w_{1k} (t) \\ w_{2k} (t) \\ \end{array}} \right] =a\left[ {\begin{array}{l} \cos (2\pi {\begin{array}{l} {f_0 } \\ \end{array} }{\begin{array}{l} t \\ \end{array} }) \\ 2\cos (4\pi {\begin{array}{l} {f_0 } \\ \end{array} }{\begin{array}{l} t \\ \end{array} }) \\ \end{array}} \right] \end{aligned}$$
(64)

with \(f_0 =1/(20h)\) and \(a=0.1\). The output is chosen as: \(y=\frac{1}{4}x_2 \). The desired trajectory is chosen as: \(y_d (t)=t^{2}-t\), and \(u_1 (t)=1\).

Simulation parameters: \(L_1 =diag\left\{ {90,90} \right\} \).

Applying the control law (37), the simulation results for real and desired trajectories for 2\(\mathrm{nd}\), 5\(\mathrm{th}\), 10\(\mathrm{th}\), 30\(\mathrm{th}\) and 40\(\mathrm{th}\) iteration are shown in Figs. 6, 7, 8, 9 and 10. We can see that the real trajectory follows the desired trajectory through learning iteration. Thus, the system executes 40 iterations so that the real trajectory follows the desired trajectory without error. Figure 11 shows the trajectory tracking error for different number of iterations. It is clear that the trajectory tracking error decrease through the iterations. Therefore, we can conclude that the control algorithm works well.

5 Conclusion

In this chapter, two ILC schemes have been presented to solve the trajectory tracking problem of affine and non affine nonlinear systems performing repetitive tasks. The first law is a simple on-line 2D-type learning control applied to affine nonlinear systems. In this control scheme, the initial state value at each iteration is provided automatically via an initial condition algorithm. Using \(\lambda \)-norm, the asymptotic stability of such controller is guaranteed, over the whole finite time interval when the iteration number tends to infinity. The second law is an on-line P-type ILC of non affine nonlinear systems. To prove the asymptotic stability of the closed loop system, a Lyapunov-like positive definite sequence is used. It is shown to be monotonically decreasing under the proposed control scheme. Finally, simulation results on nonlinear system are provided to illustrate the effectiveness of the two controllers. It is important to note that, the control laws here are very simple in the sense that there is no dependence with the system.