NEURAL NETWORKS FOR SYSTEM IDENTIFICATION AND CONTROL

glibdoadingAI and Robotics

Oct 20, 2013 (3 years and 5 months ago)

106 views

A
COURSE IN


NEURAL NETWORKS FOR

SYSTEM IDENTIFICATION AND CONTROL

___________________________________________________________________________


Goal:

These ex
erc
ises aim to give the student a fundamental ”feeling” for
how
neural
networks

work
. What are they? How are they trained? How can they be used for modelling of
nonlinear dynamic systems? How can they be used for control?


Material:

The book ”Neural Networks for Modelling and Control of Dynamic Sy
stems” by M.
Nørgaard, O. Ravn, N. K. Poulsen, and L. K. Hansen. Springer
-
Verlag, London
, 2000
.


Supplementary Literature

(for exercise 5)
:

”Nonlinear black
-
box modeling in system
identification: a unified overview” by Sjöberg et al., Automatica,

32(
12
), pp. 1691
-
1724,
1995.


Software:

MATLAB
, SIMULINK,

and the Neural Network Toolbox must be available.

The m
-
functions

’control.m
’,

initfile.m

,
‘dio.m
’,


d
ioph
a
n
t.m

,
‘siggener.m

,

shift.m
’,

progress.m

.

The data

set

actuator.mat
’.


Report:

The report should be written as a ”typical” research paper (2 columns, min. 10 pt. font).

One student: Write max.

5 pages.

Two students workin
g together: Write
max.

8 pages.


Work load:

5 E
C
TS

points.

___________________________________________________________________________



1. Introduction to MATLAB



If you are not familiar with MATLAB already, you must first learn how the package
wo
rks. Take a look in the manual or find one of the many tutorials available on the
internet.


2. Introduction to MLP Networks



Rea搠d桡灴敲‱⁩渠 桥⁴數瑢潯欮



呲y⁴ e⁢ c歰牯瀠r
e浯猠楮⁍䅔LAB'猠se畲u氠le瑷潲t

呯潬扯T



2

3. Training of Neural Networks



I渠潲oe爠瑯t畮摥牳瑡湤nh潷o湥畲u氠湥瑷潲t猠a牥 t牡楮敤Ⱐy潵o獨潵s搠摥物癥 瑨攠扡ck
-
灲潰pga瑩潮oalg潲楴桭Ⱐ瑨攠䝡畳u
-
Ne睴潮walg潲o瑨tⰠa湤n瑨攠Le癥湢nrg
-
䵡牱畡牤琠
a汧潲楴桭 景爠a 湥瑷潲t 睩瑨w
tanh

units in the hidden layer and one
linear

unit in the
output
layer (see Section 2.4).




䝥湥ra瑥⁴桥⁦潬汯睩 g⁥xa浰me⁩渠䵁呌䅂:



X = 2*pi*rand(1,300);


Y = sin(X) + 0.2*randn(1,length(X))


plot(X,Y,'+')



and train a network to approximate the underlying sine wave. Use a two
-
layer
network with 7
tanh

hidden unit
s and 1
linear

output unit. Compare the convergence
rate for the following three training algorithms: ordinary back
-
propagation, back
-
propagation with adaptive step size, and the Levenberg
-
Marquardt algorithm
. The
comparis
on is made

by plotti
ng the value of the criterion after

each
iteration.




Re畳u 瑨攠 摡瑡t gene牡te搠 a扯癥 a湤n c桯潳h 瑨攠 晡獴敳琠 潦o 瑨攠 瑥獴t搠 瑲t楮i湧
a汧潲楴桭献s呲a楮ia 湥瑷潲欠睩瑨w㈰2桩摤敮h畮楴猠a湤nc潭灡oe 瑨攠晩湡氠va汵攠潦o瑨t
c物瑥物潮r⡴桡琠楳Ⱐ睨w渠t桥 湥瑷潲t 桡猠bee渠瑲ti湥搠瑯t瑨攠浩湩n畭⤠睩w栠瑨攠癡
汵攠
潢瑡楮o搠d扯癥.




Introduce a set of test data generated exactly as the training data set:

X2 = 2*pi*rand(1,300);


Y2 = sin(X2) + 0.2*randn(1,length(X
2
))


plot(X
2
,Y
2
,'o
')


Write a small m
-
file that trains the network with 20 hidden units in the following
f
ashion:


-

Train 5 iterations
with

the
Levenberg
-
Marquardt

algorithm
.

-

Evaluate the criterion on the test set.

-

Train 5 iterations

-

etc, etc, etc


E
valuate the criterion

on training and test set, respectively
, and compare them
. R
un
a
lot of

iterations to be sure that the mini
mum is reached
. What happens?




呲a楮i瑨攠湥瑷潲t 瑯t瑨攠浩湩n畭u㜠瑩浥猬meac栠t業e 楮i瑩a汩z楮i 瑨攠睥i杨琠浡瑲楣i猠
摩晦e牥湴ny⸠C潭灡oe 瑨t 晩湡氠癡汵攠o映瑨攠c物瑥物潮o⡡湤n瑨攠睥ig桴h浡瑲ice猩⸠W桡琠
楳⁴桥⁣潮o汵獩潮o⁴桩猠sx灥物浥湴?


4. Choice
of Network Architecture



啳U⁴桥

瑷漠摡ta⁳ 瑳⁦ o洠扥m潲e
⸠呲a楮‱i 瑷t牫猠r楴栠h
-
㄰⁨楤摥渠畮楴献⁅癡汵慴l
each 潦o瑨t 湥瑷潲ts 潮ot桥 瑥獴t摡ta 獥琮tW桡琠楳it桥 潰瑩浡
氠湵浢敲 o映桩h摥渠畮楴s?
⡕獥⁷
桡琠y潵oa牮e搠db潶o⁷桥渠y潵⁣潮摵c琠t桩猠h
x灥物浥湴℩.

3


5. Modelling of
Dynamic S
ystems



Load the file

actuator


into the MATLAB workspace. This file contains the data
set for the hydraulic actuator that was used in Section 4.2

of the book
. The variable
“u” contains control inputs while the variable “p” conta
ins the observed outputs. Split
the data set into a training set consisting of the first 512 samples, and a test set
consisting of the remaining 512 samples. Try to estimate a linear ARX model as
described in the book. If the System Identification toolbox
for MATLAB is avilable
you can use this. Otherwise us
e a ”neural network” without

hidden units (only one
linear output).




Now train a neural network ARX model with 10 hidden
tanh

units and a linear output.
Train the network using
early stopping
.

This
means that the network is evaluated on
the test set after e
ach

iteration (after every 5 iterations will work too and is a little
faster)
. When the minimum test error has been

reached the training is stopped.
Compare the result with that obtained in the book. No
tice that the network should be
evaluated by
simulation

(this means that you will have to write some MATLAB code
to simulate the neural network model).


6. Control with Neural Networks 1

In this and in
the following exercise you will need the MATLAB script

control.m

and the
associated initialization file
initfile.m.


You are now going to design and implement a controller for the system:



which was used throughout Chapter 3 of the book. The system is stable
, which means that

an
open
-
loop simulation is
possible.




I浰me浥湴 瑨攠sy獴敭s楮 SI䵕䱉NK
⸠奯甠浵獴 畳u a渠

inport


at the input and and

outport


at

the output.

S
imulate
the system
by using the ”control” script. Use a
sampling period of 0.2
seconds. Apply square waves with

different amplitudes (for
example 0.3, 2, and 10). How would a linear system behave differently?




Ide
ntify a neural network model of the system. Select a ”sensible” control
signal

(remember that the system is nonlinear) and simulate approximately 200 seconds.
Split the data set into a training set and a test set of approximately the same size. Train
the n
etwork 'g
1
' to model the system:




and use the test set to evaluate the trained model.




乯N⁵獥⁴桥⁤ ta⁳ 琠t漠瑲o楮⁡渠楮癥牳r潤e氬l
Ⱐ潦⁴桥⁳y獴敭㨠




⡔桩猠h猠sa汬e搠
generalized invers
e learning
)


4



The inverse model can now be used as controller for the system. Instead of

the desired output at time
t+1

should be inserted.
Modify

the program 'control.m' to
do this. Let the ”desired” closed
-
loop system behave as:




and




The first is obtained by setting
;

the second is obtained by a
suitable filtering of the reference signal.



Evaluate the closed
-
loop system by applying
,

as reference signal
,

square waves of
different amp
litude
.



7. Control with Neural Networks 2

You shou
ld now control the
same
system again,

only this time with a completely different
type of controller. The principle is described in the book, Section 3.7
. It is called pole
placement based on instan
taneous linearization.

The
linearization principle is

briefly repeated
below:


Assum
e that the following neural network model is available of the system under
consideration



and introduce the state vector



At time
t=

,

g

is linearized about the current state vector
, resulting
in the approximate
model:



where



and



5

Under the assumption that equality holds, and by separating
from the rest the part of the
equation
containing components of the current state vector, the appr
oximate model can
alternatively can be written in the form



where

the bias term,
, is given by



The

a

and
b

coefficients have

been collected in

the polynomials

A

and
B
:



In other words, the approximate model can be interpreted as a linear model affected

by an
operating point dependent

DC
-
disturbance,
.


Utilization of this principle for control of nonlinear s
ystems is straightforward. Consider the
following control system:


Noti
ce the structural similarity with the wel
l
-
known
indirect adaptive controller
.

The only
difference is that a linear model i
s extracted from a nonlinear neural network m
odel instead
of using a recursive estimation
algorithm
for

estimating

a linear model.




Inc
潲灯oa瑥t 瑨t猠 浥瑨潤 楮i

control.m


and design two different pole placement
cont
rollers. First try a controller that cancels
the zero and places two poles in
z=0.7
.
Next, let the zero

stay and
place

only
the poles.
Remember to use
integral action to
compen
sate for

(

)
.

The m
-
function

dio
.m


can be used for solving the D
iophantine
equa
tion.



Extract

linear model

Control

design

Controller

System

Linearized model parameters

Input

Output

Controller

Parameters

Reference