Direct Inverse Control & Internal Model Control Modelling and - - PowerPoint PPT Presentation

direct inverse control internal model control
SMART_READER_LITE
LIVE PREVIEW

Direct Inverse Control & Internal Model Control Modelling and - - PowerPoint PPT Presentation

Direct Inverse Control & Internal Model Control Modelling and Control of Dynamic Systems 17 Nov 2008 Jrgen Jnes and Andres Tiko Talk Outline Introduction to Control Direct Inverse Control General Training Specialized Training Demo


slide-1
SLIDE 1

Direct Inverse Control & Internal Model Control

Modelling and Control of Dynamic Systems 17 Nov 2008 Jürgen Jänes and Andres Tiko

slide-2
SLIDE 2

Talk Outline

Introduction to Control Direct Inverse Control General Training Specialized Training Demo Internal Model Control

slide-3
SLIDE 3

Introduction

Book so far: System identification “How does the system behave?” Book from now on: System control “How do I make the system do what I want?”

slide-4
SLIDE 4

Taxonomy of Control Problems

Regulation problem: keep the output of the system at a constant level e.g. room temperature, inverted pendulum Servo problem: make the output follow a desired trajectory e.g. brick doing 8-shapes on a tiltable plane

slide-5
SLIDE 5

Stability

in practice, nonlinear systems need to be stable for successful control altough transfer functions don’t apply for nonlinear systems, “transfer function zeroes” are extended to nonlinear systems details: Section 3.7 (Nov 24th)

  • n-line training/adaptive control:

approach with a grain of NaCl

slide-6
SLIDE 6

Control system architectures

direct control system: neural network is the controller

+ simple implementation

  • parameter change -> retrain network

indirect control system: use a neural network as a (cheap!) system model

+ faster controller “tuning cycle”

  • more complicated to implement
slide-7
SLIDE 7

Benchmark system

“ spring-mass-damper system with a hardening spring”

  • pen-loop stable

inverse is unstable

slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10

Direct Inverse Control (DIC)

slide-11
SLIDE 11

DIC: Basic Idea

Train a neural network as the inverse of a system, use this as the controller System is described by We make the neural network learn

slide-12
SLIDE 12
slide-13
SLIDE 13

DIC: time delays

Assuming the model is governed by We would like to train the network to learn But we don’t know

slide-14
SLIDE 14

DIC: time delays (2)

Solution #1: this is a system identi-fication task! Solution #2: “incorporate” inverse model directly (assume d=2 -> y(t+1) missing) Assuming y(t+1) can be precicted with Train the network with (=add more past data)

slide-15
SLIDE 15

General Training

Train the network using “brute force” , i.e. minimize: can directly use any method from Section 2.4

slide-16
SLIDE 16

Practical Considerations

essentially, DIC produces dead-beat controllers

  • > feedback is used to achieve fast

response time poor robustness, high sensitivity to noise and high frequency disturbances

slide-17
SLIDE 17

Practical considerations 2

it has been shown that a discretization

  • f a continuous linear system can have

zeros near the unit circle (=is unstable), regardles of how the zeros in the continuous system are placed similar behaviour expected in the nonlinear case

slide-18
SLIDE 18

Practical considerations 3

System is not one-to-one Might work if non-uniqueness is not reflected in the training set

slide-19
SLIDE 19

Practical considerations 4

identification for control: training data should be similar to testing data but we don’t know how the system responds to the NN controller solution: iterative training

slide-20
SLIDE 20
slide-21
SLIDE 21
slide-22
SLIDE 22

Benchmarking

Linearized+discretized system has a zero at z=-0.9354 (near the unit circle)

  • > large+oscillating control signal

Solution: low-pass filtering of reference

slide-23
SLIDE 23
slide-24
SLIDE 24

Specialized Training

General Training: minimises error between network output and “true” control input We would like to minimise error between system output and reference signal

slide-25
SLIDE 25

“Deriving a training scheme based on this criterion is not completely straightforward. A few approximations are required to make implementation possible.”

slide-26
SLIDE 26

Our for this Proof

recall from Analysis - The Chain Rule: Given that x1=x1(t), ..., xn=xn(t).

slide-27
SLIDE 27

Implementation

specialized training can be implemented by slightly modifying algorithms from Section 2.4 details in book

slide-28
SLIDE 28
slide-29
SLIDE 29

Summary

Generalized training. Off-line, minimize RMS between experimentally determined control signal and predicted control signal Spezialized training. On-line, minimize RMS between reference signal and system output

slide-30
SLIDE 30

DIC recommended approch

  • 1. Generate data set from experiment
  • 2. Generate forward model
  • 3. Initialize controller with general training
  • 4. Specialized training on system model (off-line)
  • 5. Specialized training on real system (on-line)
  • 6. (Profit!)
slide-31
SLIDE 31

DIC: the good

+ intuitive & simple to implement + controller can be optimized for specific

trajectory with specialized training

+ in theory, should work on time-varying

systems

slide-32
SLIDE 32

DIC: the bad

  • does not work for systems with unstable inverse
  • problems when system is not one-to-one
  • problems with inverse models not well-damped
  • lack of tuning options (parameter change ->

retrain network)

  • high sensitivity to disturbance & noise
slide-33
SLIDE 33

End of Part 1.

slide-34
SLIDE 34

! !

!"#$%"&'()*+$'(,*"#%*'(-!),.

! /(+$012"(3'*0$'4(3*""$3#$+(#*(+1%$3#(1"5$%0$(

3*"#%*'

! 6$0#%13#15$(%$781%$9$"#0(#*(#:$(3:&%&3#$%10#130(

*;(#:$(040#$9

! <*9$("13$(;$&#8%$0(=(3*9>$"0&#1*"(;*%(

3*"0#&"#(+10#8%?&"3$0

slide-35
SLIDE 35

! !

!"#

! $%&'()%*+,+-.)/,)0+1.0%2+,*+/%22+,*+,3+

(34%)*%+1.0%2+.-+56%+*7*5%1

! 8%%09,:;+:.3*(*5*+.-+56%+%)).)+9%5/%%3+

*7*5%1+.'5<'5+,30+1.0%2+.'5<'5+=+>%).+-.)+,+ <%)-%:5+1.0%2

slide-36
SLIDE 36

! !

slide-37
SLIDE 37

! !

!"#

!!""##!""$ $

%% &' (

"$$

%% &'!(%)"

&*!""%#!""' +!""# & ' "$$

%% & '!(%)"

&*!""%#!""'

slide-38
SLIDE 38

! !

!"#$%&%"'

! ()*+,&)$#&+-"#$%&%"'+).+"/0+1&)-02+&))3+-'-"04+

"/0+-'-"04+")+$0+1)5"*)&&02+#52+"/0+%560*-0+ 4)20&+-/)7&2+$)"/+$0+-"#$&0

! 8097%*0405"+).+)305:&))3+-"#$%&%"'+-060*0&'+

&%4%"-+"/0+1&#--+).+-'-"04-+"/#"+1#5+$0+ 1)5"*)&&02+;%"/+<=>

slide-39
SLIDE 39

! !

!"#$%&#'($)*+(&

!!""# # $ $% !""%&!" "&

'!""#(

%) # %!""'!"%( %)#"&!""

( ,-&#+$.&#'(./#&$0*-&.1.*-23$4$5$6$'-&$7$5$689

slide-40
SLIDE 40

! !

!"#$%&'()*()+"(,-.)"/

! ,(-'()+"(*%.0(&"'-1%(2$/$#")"/3()+"/"4*/"(-)(-'(

&-44-56.)()*(-#2*'"(5*%')/$-%)'(*%()+"(5*%)/*.( '-1%$.

! 76')(8"(')$8."($%&(+$9"(6%-)0(')"$&0:')$)"(

1$-%()*("%'6/"()/$5;-%1(*4()+"(/"4"/"%5"

! ,*/(&-')6/8$%5"(/"<"5)-*%($8-.-)03(-)('+*6.&(+*.&(

)+$)(=>:?:&,@(9=)@(A(B

! ,(A(>(-'($(1**&(5+*-5"

slide-41
SLIDE 41

! !

!"#$%&$'()*%+,---

! .//&)01/2))$2)&(34&)$/32$&5&0)6&$+//)*0)7$85$

*34&0+40$7%&0928+4*)

! :);9%2)6)40$0<+0$0<)$&5&0)6$%&$3()41,33($

&0+8,)

! =%//%*9,0$03$)4&92)$0<+0$0<)$%4>)2&)$637),$%&$

02+%4)7$34$+$2)+,%&0%*$7+0+$&)0