Simple Adaptive Control for MIMO Nonlinear Continuous

Simple Adaptive Control for MIMO Nonlinear
Continuous-Time Systems Using Neural Networks
ニューラルネットワークを利用した多入出力
非線形連続時間システムの簡易型適応制御
Muhammad Yasser, Jiunshian Phuah, Jianming Lu and Takashi Yahagi
Muhammad Yasser, 潘 俊賢, 呂 建明, 谷萩 隆嗣
Graduate School of Science and Technology, Chiba University, Chiba 263-8522, Japan
千葉大学大学院自然科学研究科
[email protected]
Abstract
This paper presents a method of continuous-time simple adaptive control (SAC) for multi-input multi-output
(MIMO) nonlinear systems using neural networks. The
control input is given by the sum of the output of the simple adaptive controller and the output of the neural network. The neural network is used to compensate the nonlinearity of plant dynamics that is not taken into consideration in the usual SAC. The role of the neural network is
to construct a linearized model by minimizing the output
error caused by nonlinearities in the control systems.
あらまし
本稿では, ニューラルネットワークを利用して多入出力
非線形連続時間システムの簡易型適応制御を行う一方
法を提案する. 本方法では, 制御対象への制御入力は, 簡
易型適応制御の制御器の出力とニューラルネットワーク
の出力との和によるものである. ニューラルネットワー
クは簡易型適応制御器に関与せず, 制御対象の非線形性
によって生じる制御誤差を補償する. ニューラルネット
ワークの役割は, 非線形制御システムによる出力誤差を
最小にするように, 非線形システムと組み合わせ, 線形
システム構造にすることである.
1 Introduction
Adaptive control methods were developed as an attempt
to overcome difficulties connected with the ignorance of
systems structure and critical parameter values as well as
changing control regimes [1]. Most self-tuning and adaptive control algorithms usually use reference models, controllers, or identifiers of almost the same order as the controlled plant. Since the dimension of the plants in the real
world may be very large or unknown, implementation of
adaptive control procedures may be very difficult or impossible.
To overcome this problem, SAC procedure was developed by Sobel et al.[2] as an attempt to simplify the
adaptive controllers, since no observers or identifiers are
needed in the feedback loop [3]. Furthermore, the reference model is allowed to be of very low order compared
with the controlled plant.
For linear plants with unknown structures, SAC is an
important class of adaptive control scheme [3],[4]. However, for nonlinear plants with unknown structures, it may
not be possible to ensure perfect plant output that follows
the output of a reference model by using SAC [5]. For nonlinear plants, many methods for the control using neural
network are proposed. It has been proved that these control methods show excellent performance for nonlinearity
[6],[7]. The combination of SAC and neural network for a
single-input single-output nonlinear discrete-time systems
has been proposed and proven to give a perfect result in
the reference [5].
This paper presents a combination of SAC and neural network for continuous-time multi-input multi-output
nonlinear systems. The control input is given by the sum
of the output of a simple adaptive controller and the output of neural network. The role of neural network is to
compensate for constructing a linearized model so as to
minimize the output error caused by nonlinearities in the
control system. The role of simple adaptive controller is to
perform the model matching for the linear system with unknown structures to a given linear reference model. In this
paper, we propose a design method using backpropagation
training algorithm of simple feedforward neural network,
in order to design the SAC. Finally, the computer simulations are executed and the effectiveness of this control
system is confirmed.
2
Linear SAC
In this section, we briefly describe a MIMO linear
continuous-time SAC, where the controller is designed to
realize a plant output converges to reference model output.
Let us consider the following controllable and observable but unknown parameter plant model of order np with
multi-input and multi-output
ẋp (t) =
Ap xp (t) + Bp up (t)
(1)
y p (t)
= Cp xp (t)
(2)
where up (t) ∈ Rm×1 is the system input vector, y p (t) ∈
Rm×1 is the system output vector, and, Ap , Bp , Cp are
matrices with the appropriate dimensions.
The plant is required to follow the input-output behaviour of a reference model of the form
ẋm (t) = Am xm (t) + Bm um (t)
y m (t) = Cm xm (t)
Dp (s)up (t)
y p (t) + y s (t)
y m (t) − y a (t)
Dp
Dp (s) =
1 + ρs
"
#
"
"
"
! "
Figure 1: Schematic representation of the conventional
SAC
%
&
(8)
across the controlled plant in order to guarantee robust stability [3],[4],[8]. In this case the necessary feedforward
Dp may be very small [3], so that
y a (t) = y p (t) + y s (t) ∼
= y p (t)
"
(5)
(6)
(7)
where Dp (s) is simple parallel feedforward configuration
"
(3)
(4)
where xm (t) is the nm th-order reference model state vector, um (t) ∈ Rm×1 is the model input, y m (t) ∈ Rm×1
is the model output, and, Am , Bm , Cm are matrices with
the appropriate dimensions. The reference model can be
independent of the controlled plant, and it is permissible
to assume nm ¿ np .
Now the supplementary values are defined as
y s (t) =
y a (t) =
ey (t) =
.
.
.
. .
' .
(*)
/
&
98:
;=><?
&
.
&
01 ADE< >[email protected]? B
2#43 576 C?
D>?
!"$#
'
',+ .
.
,' -
(9)
The control objective is to achieve the following relation
Figure 2: Structure of MIMO nonlinear continuous-time
SAC system with neural network
lim ey (t) = 0
t→∞
Use the values that can be measured, namely ey (t),
xm (t) and um (t), to get the low-order adaptive controller
up (t) = Ke (t)ey (t) + Kx (t)xm (t) + Ku (t)um (t)
= K(t)r(t)
(10)
where
K(t) =
r T (t) =
[Ke (t) Kx (t) Ku (t)]
[eTy (t) xTm (t) uTm (t)]
(11)
(12)
and the adaptive gains are obtained as a combination of
’proportional’ and ’integral’ terms as follows
K(t)
Kp (t)
K̇y (t)
= Kp (t) + Ky (t)
(13)
= ey (t)r T (t)Tp
(14)
T
= ey (t)r (t)Ti
(Tp =
TpT
> 0, Ti =
(15)
TiT
> 0)
The MIMO linear continuous-time SAC is represented
in Fig. 1.
3
Nonlinear SAC
When the input-output characteristic of the controlled object is nonlinear, it is not possible to express like Eq. (1)
and Eq. (2). Then, let the unknown system be expressed
by a multi-input multi-output nonlinear system as
ẋp (t) = f (xp (t)) + G(xp (t))u(t)
y p (t) = h(xp (t))
(16)
(17)
where xp (t) ∈ Rnp ×1 is the plant state vector, u(t) =
[u1 (t), u2 (t), · · · , um (t)]T ∈ Rm×1 is the control input vector, and y p (t) = [yp1 (t), yp2 (t), · · · , ypm (t)]T ∈
Rm×1 is the output vector. f (·) and h(·) are unknown
nonlinear function vectors, and G(·) is unknown nonlinear function matrix. In this case, when the input in Eq.
(10) is used to control the nonlinear system in Eq. (16)
and Eq. (17), the problem of output error will arise[5].
To keep the plant output y(t) converge to the reference
model output y m (t), the control input can be synthesized
as follows
u(t) = up (t) + ūp (t)
(18)
where, up (t) = [up1 (t), · · · , upm (t)]T is multi-output of
the simple adaptive controller, as mentioned in Eq. (10).
And ūp (t)(= [ūp1 (t), · · · , ūpm (t)]T is multi-output of the
neural network.
The structure of MIMO nonlinear continuous-time simple adaptive control system with neural network is shown
in Fig. 2. In Fig. 2, a sampler is implemented in front
of the neural network with appropriate sampling period
to obtain discrete-time multi-input of the neural network,
and a zero-order hold is implemented to change the
discrete-time output ūp (k) of the neural network back to
continuous-time output ūp (t) as shown in Eq. (18).
Consequently, it is possible to show ūp (k) as follows
ūp (k)
= ĥ(up (k − 1), y m (k − 1),
y a (k − 1), · · · , y a (k − n),
u(k − 1), · · · , u(k − m))
output error caused by nonlinearities in the control systems. Refer to Eq. (19), the input x(k) of the neural network is given as
x(k) =
[uTp (k − 1), y Tm (k − 1),
y Ta (k − 1), · · · , y Ta (k − n),
uT (k − 1), · · · , uT (k − m)]T
(20)
Therefore, nonlinear function of a multi-input multioutput system can be approximated by neural network.
5 Learning of the neural network
From Fig. 3, it can be obtained
X
hq (k) =
xi (k)miq (k)
(21)
i
yj (k)
X
=
S1 (hq (k))mqj (k)
(22)
q
(19)
where ĥ is unknown nonlinear function, n and m are the
number of sampled outputs and inputs of the plant.
4 Composition of the neural network
Figure 3 shows system configuration of input-output relation of the system with neural network. The neural network consists of three layers: an input layer, an output
layer and a hidden layer. Let xi (k) be the input to the
i-th neuron in the input layer, hq (k) be the input to the
q-th neuron in the hidden layer, yj (k) be the input to the
j-th neuron in the output layer. Furthermore, let miq be
the weight between the input layer and the hidden layer,
mqj be the weight between the hidden layer and the output layer.
ūpj (k)
= S2 (yj (k))
(23)
where S1 (·) is a tangent sigmoid function, S2 (·) is a pure
linear function, and j = 1, 2, · · · , m. The tangent sigmoid
function is chosen as
2
−1
1 + exp(−µX)
S1 (X) =
(24)
where µ > 0, and the pure linear function is chosen as
S2 (X) = X
(25)
Consider the case when S1 (X) = a. Then the derivative of the tangent sigmoid function S1 (·) and the pure linear function S2 (·) are as follows
S10 (X)
S20 (X)
=
=
1 − a2
1
The objective of training is to minimize the error function Ej (k) by taking the error gradient with respect to the
parameters or weight vector m(k), that is to be adapted.
The error function is defined as
Ej (k) =
1
[ymj (k) − ypj (k)]2
2
(26)
where j = 1, 2, · · · , m, and the weights are then adapted
by using
∆mqj (k) =
∆miq (k) =
Figure 3: System configuration with neural network
In Fig. 3, the control input is given by the sum of the
output of simple adaptive controller and the output of neural network. The neural network is used to compensate the
nonlinearity of the plant dynamics that is not taken into
consideration in the usual SAC. The role of the neural network is to construct a linearized model by minimizing the
∂Ej (k)
∂mqj (k)
∂Ej (k)
−c ·
∂miq (k)
−c ·
(27)
(28)
where c > 0 is the learning parameter. For the learning
process, Eq. (27) will be expanded as follows
∆mqj (k) =
=
∂Ej (k) ∂ypj (k) ∂ ūpj (k)
·
·
∂ypj (k) ∂ ūpj (k) ∂mqj (k)
c · [ymj (k) − ypj (k)] · Jplant
∂ ūpj (k)
·
(29)
∂mqj (k)
−c ·
where Jplant = SGN(∂ypj (k)/∂ ūpj (k)), as mentioned in
the reference [7]. For Eq. (28), it will be expanded as
follows


m
X
∂y
(k)
∂
ū
(k)
∂E
(k)
pj
pj
j

∆miq (k) = −c · 
·
·
∂y
(k)
∂
ū
(k)
∂S
(h
p
p
1
q (k))
j
j
j
∂S1 (hq (k))
·
∂miq (k)

m
X
= c ·  [ymj (k) − ypj (k)] · Jplant ·
j
·

∂ ūpj (k)

∂S1 (hq (k))
∂S1 (hq (k))
∂miq (k)
where the number of neurons in input layer was 8, in the
hidden layer was 5, and in the output layer was 2. The
input x(k) of the neural network is given as
x(k) = [uTp (k − 1), y Tm (k − 1), y Ta (k − 1), uT (k − 1)]T
Furthermore, a sampling period 0.01 is selected to get
the values of x(k), from [uTp (t), y Tm (t), y Ta (t), uT (t)] to
[uTp (k), y Tm (k), y Ta (k), uT (k)].
It can be seen that error of the system has been reduced,
and the plant output y p (t) can follow very closely the desired output y m (t).
(30)
6 Computer simulation
As the nonlinear systems, two cases of two-input twooutput are considered. In all cases, parameters
Dp1 = Dp1 = 0.002 (Eq.(8)),
ρ1 = ρ2 = 0.1 (Eq.(8)),
Tp = diag(105 , 105 , 105 , 105 , 105 , 105 ) (Eq.(14)),
Ti = diag(106 , 106 , 106 , 106 , 106 , 106 ) (Eq.(15)),
µ = 2 (Eq.(24)),
c = 0.01 (Eqs.(27), (28))
Figure 4: y m (t) and y p (t) using only SAC
are fixed. Furthermore, we assume first-order reference
models with parameters
Am1 = 10,
Am2 = 10,
Bm1 = 10,
Bm2 = 10,
Cm1 = 1,
C m2 = 1
The selection of first-order models here is to emphasize
the fact that low-order models do not affect the ability of
the adaptive control system.
Example 1 : Let us consider the two-input
nonlinear system described by

 

ẋ1
x2 + x22
 ẋ2   x3 − x1 x4 + x4 x5 

 

 ẋ3  =  x2 x4 + x1 x5 − x25 

 

 ẋ4  

x5
ẋ5
x22

1
1

0
0

cos(x
−
x
)
1
+
1
5


0
0
−1
sin(6x1 − 6x5 )
·
¸ ·
¸
yp1
x1 − x5
=
yp2
x4
two-output
Figure 5: y m (t) and y p (t) using SAC and neural network
simultaneously

 ·
¸

 · u1

u2

Figure 4 shows the desired output y m (t) and plant output y p (t) using only SAC. The result of Fig. 4 shows that
the error between y p (t) and y m (t) is large.
Figure 5 shows the desired output y m (t) and plant output y p (t) using SAC and neural network simultaneously,
Example 2 : Let us consider the two-input two-output
nonlinear system described by

 

ẋ1
x4 − x1
 ẋ2   x2 − x1 x3 

 

 ẋ3  =  x21 − x2 − x3 
ẋ4
x3


0
0
·
¸
 1 + 2x3 1 
u1


+
·
2x3
1 
u2
0
0
·
¸ ·
¸
yp1
x2 − x3
=
yp2
x4
Figure 6 shows the desired output y m (t) and MIMO
plant output y p (t) using only SAC. The result of Fig. 6
shows that the error between y p (t) and y m (t) is large.
Figure 7 shows the desired output y m (t) and plant output y p (t) using SAC and neural network simultaneously,
where the number of neurons in input layer was 8, in the
hidden layer was 5, and in the output layer was 2. The
input x(k) of the neural network is given as
x(k) = [uTp (k − 1), y Tm (k − 1), y Ta (k − 1), uT (k − 1)]T
Furthermore, a sampling period 0.01 is selected to get
the values of x(k), from [uTp (t), y Tm (t), y Ta (t), uT (t)] to
[uTp (k), y Tm (k), y Ta (k), uT (k)].
It can be seen that error of the system has been reduced,
and the plant output y p (t) can follow very closely the desired output y m (t).
control. From simulation results, it has been shown that
the plant output y p (t) can converge to the desired output
y m (t) after learning by neural network.
References
[1] K. J. Åström and B. Wittenmark: ”Adaptive Control”, Addison-Wesley, 1989.
[2] K. Sobel, H. Kaufman and L. Mabius: ”Implicit
adaptive control for a class of MIMO systems”,
IEEE Aerospace Electron Syst., Vol. AES-18, No. 5,
pp.576-590, 1982.
[3] I. Bar-Kana and H. Kaufman: ”Global stability and
performance of a simplified adaptive algorithm”, Int.
J. Control, Vol. 42, No. 6, pp.1491-1505, 1985.
[4] Z. Iwai and I. Mizumoto: ”Robust and simple adaptive control systems”, Int. J. Control, Vol. 55, No. 6,
pp.1453-1470, 1992.
[5] J. Lu, J. Phuah and T. Yahagi: ”SAC for nonlinear systems using Elman recurrent neural networks”,
IEICE Trans. Fundamentals, Vol. E85-A, No. 8,
pp.1831-1840, 2002.
[6] J. Lu, J. Phuah and T. Yahagi: ”A method of model
reference adaptive control for MIMO nonlinear systems using neural networks”, IEICE Trans. Fundamentals, Vol. E84-A, No. 8, pp.1933-1941, 2001.
Figure 6: y m (t) and y p (t) using only SAC
[7] G. Lightbody, Q.H. Wu and G.W. Irwin: ”Control
applications for feedforward networks”, Neural Network for Control and Systems, IEE Control Engineering series 46, pp.51-71, 1992.
[8] I. Bar-Kana and H. Kaufman: ”Simple adaptive control of uncertain systems”, Int. J. Adaptive Control
and Signal Processing, Vol. 2, pp.133-143, 1988.
Figure 7: y m (t) and y p (t) using SAC and neural network
simultaneously
7 Conclusions
We have proposed a method of simple adaptive control for
multi-input multi-output nonlinear continuous-time systems using neural networks. The neural network is used
to compensate the nonlinearity of plant dynamics that is
not taken into consideration in the usual simple adaptive