narma-l2 controller - engenharia elétrica · laboratório de automação e robótica - a....

11
Laboratório de Automação e Robótica - A. Bauchspiess Soft Computing - Neural Networks and Fuzzy Logic NARMA-L2 Controller y(k + d) = N[y(k), y(k 1), ..., y(k n + 1), u(k), u(k 1), ..., u(k n + 1)] Non Linear Auto-Regressive Moving Average NARMA discrete-time model: Narendra e Mukhopahyay, 1997: NARMA L2 Norm Model y (k + d) = f[y(k), y(k 1),..., y(k n + 1), u(k 1),..., u(k m + 1)] + g[y(k), y(k 1),..., y(k n + 1), u(k 1), ..., u(k m + 1)] . u(k) u(k) = y r (k + d) f[y(k), y(k 1),..., y(k n + 1), u(k 1),..., u(k n + 1)] g[y(k), y(k 1),..., y(k n + 1), u(k 1),..., u(k n + 1)] Control Law: Appliyng the Control Law to the NARMA-LW model results: y r (k + d) ≡ y(k + d) y follows y r exactly!!

Upload: vuongduong

Post on 11-Dec-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NARMA-L2 Controller - Engenharia Elétrica · Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 7 NARMA-L2Liquid Level

Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic

NARMA-L2 Controller

y(k + d) = N[y(k), y(k – 1), ..., y(k – n + 1), u(k), u(k – 1), ..., u(k – n + 1)]

Non Linear Auto-Regressive Moving Average

NARMA discrete-time model:

Narendra e Mukhopahyay, 1997: NARMA L2 Norm Model

y (k + d) = f[y(k), y(k – 1),..., y(k – n + 1), u(k – 1),..., u(k – m + 1)]

+ g[y(k), y(k – 1),..., y(k – n + 1), u(k – 1), ..., u(k – m + 1)] . u(k)

u(k) = yr (k + d) – f[y(k), y(k – 1),..., y(k – n + 1), u(k – 1),..., u(k – n + 1)]

g[y(k), y(k – 1),..., y(k – n + 1), u(k – 1),..., u(k – n + 1)]

Control Law:

Appliyng the Control Law to the NARMA-LW model results: yr (k + d) ≡ y(k + d)

y follows yr exactly!!

Page 2: NARMA-L2 Controller - Engenharia Elétrica · Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 7 NARMA-L2Liquid Level

Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic

NARMA-L2 Controller

u(k) = yr (k + d) – f[y(k), y(k – 1),..., y(k – n + 1), u(k – 1),..., u(k – n + 1)]

g[y(k), y(k – 1),..., y(k – n + 1), u(k – 1),..., u(k – n + 1)]

ANN can be used to learn f(.): the additive non-linear term

and g(.) the multiplicative non-linear term

y(k + d) = N[y(k), y(k – 1), ..., y(k – n + 1), u(k), u(k – 1), ..., u(k – n + 1)]

y(k+d)

u(k-1)

u(k-1)

u(k-np)

y(k)

y(k-1)

y(k-nq)

Delayed

Inputs

Delayed

Outputs

Time Delay

Page 3: NARMA-L2 Controller - Engenharia Elétrica · Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 7 NARMA-L2Liquid Level

Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic

NARMA-L2 controller

3

f(.)

g(.)

Switch

normalisation

Page 4: NARMA-L2 Controller - Engenharia Elétrica · Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 7 NARMA-L2Liquid Level

Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 4

Ex: Liquid Level Control

1

H2

sqrt

sqrt

1

s

h2

1

s

h1Saturação

do atuador

1/Ar

k2

k12

1/Ar

|u|

1

uh1

h1

h2

h2

Page 5: NARMA-L2 Controller - Engenharia Elétrica · Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 7 NARMA-L2Liquid Level

Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 5

Integrated Interface to Process

State Space Controller – Designed for a specififc Operating Point

Page 6: NARMA-L2 Controller - Engenharia Elétrica · Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 7 NARMA-L2Liquid Level

Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 6

State-Space Results

Page 7: NARMA-L2 Controller - Engenharia Elétrica · Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 7 NARMA-L2Liquid Level

Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 7

NARMA-L2Liquid Level Control

Purpose: compare PI and NARMA-L2 control.

Because of the square root

in the model a different

behaviour is expect for

different reference levels!

Page 8: NARMA-L2 Controller - Engenharia Elétrica · Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 7 NARMA-L2Liquid Level

Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 8

Generated Training Sets

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000

20

40

60

80

actu

ator

u(f

low

)/[c

m3 /s

ec]

Training set: Pattern=u; Target=y

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000

5

10

15

time/[sec]

leve

l y/[

cm]

Cover the time domain range (dynamics) and amplitude range (operating points).

Page 9: NARMA-L2 Controller - Engenharia Elétrica · Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 7 NARMA-L2Liquid Level

Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 9

NARMA-L2 tool

Page 10: NARMA-L2 Controller - Engenharia Elétrica · Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 7 NARMA-L2Liquid Level

Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 10

NARMA-L2 Liquid Level Control

0 100 200 300 400 500 600-2

0

2

4

6

8

10

12

14

ref

y-NARMAL2

y-PID

-PI gives no error in steady state, but with very different dynamics.

-NARMA-L2 has almost the same behaviour in all operating points.

Page 11: NARMA-L2 Controller - Engenharia Elétrica · Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 7 NARMA-L2Liquid Level

Laboratório de Automação e Robótica - A. Bauchspiess – Soft Computing - Neural Networks and Fuzzy Logic 11

PI vs NARMA-L2 Control Signal

- NARMA-L2 uses often the maximum

available u.

- PI calculate signals that are clamped

by the saturation.

- NARMA-L2 tends to “chattering”

-NARMA-L2 design parameters:

sampling rate

input/output delays

training sets

training algorithms

0 100 200 300 400 500 600-2

0

2

4

6

8

10

12

14

level y/[

cm

]

NARMA-L2 vs PI control Liquid Level

0 100 200 300 400 500 600-100

-50

0

50

100

150

time/[sec]

u/[

cm

3/c

m]

ref

y-NARMAL2

y-PID

NARMA-L2 can be trained

with real data!!

Real processes are quite

more complex than models!