Direct Inverse Control & Internal Model Control
Modelling and Control of Dynamic Systems 17 Nov 2008 Jürgen Jänes and Andres Tiko
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
Modelling and Control of Dynamic Systems 17 Nov 2008 Jürgen Jänes and Andres Tiko
Introduction to Control Direct Inverse Control General Training Specialized Training Demo Internal Model Control
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?”
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
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)
approach with a grain of NaCl
direct control system: neural network is the controller
indirect control system: use a neural network as a (cheap!) system model
“ spring-mass-damper system with a hardening spring”
inverse is unstable
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
Assuming the model is governed by We would like to train the network to learn But we don’t know
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)
Train the network using “brute force” , i.e. minimize: can directly use any method from Section 2.4
essentially, DIC produces dead-beat controllers
response time poor robustness, high sensitivity to noise and high frequency disturbances
it has been shown that a discretization
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
System is not one-to-one Might work if non-uniqueness is not reflected in the training set
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
Linearized+discretized system has a zero at z=-0.9354 (near the unit circle)
Solution: low-pass filtering of reference
General Training: minimises error between network output and “true” control input We would like to minimise error between system output and reference signal
“Deriving a training scheme based on this criterion is not completely straightforward. A few approximations are required to make implementation possible.”
recall from Analysis - The Chain Rule: Given that x1=x1(t), ..., xn=xn(t).
specialized training can be implemented by slightly modifying algorithms from Section 2.4 details in book
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
trajectory with specialized training
systems
retrain network)
! !
!"#$%"&'()*+$'(,*"#%*'(-!),.
! /(+$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$(;$%$0(=(3*9>$"0*"(;*%(
3*"0#&"#(+10#8%?&"3$0
! !
!"#
! $%&'()%*+,+-.)/,)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
! !
! !
!"#
!!""##!""$ $
%% &' (
"$$
%% &'!(%)"
&*!""%#!""' +!""# & ' "$$
%% & '!(%)"
&*!""%#!""'
! !
!"#$%&%"'
! ()*+,&)$#&+-"#$%&%"'+).+"/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+;%"/+<=>
! !
!"#$%&#'($)*+(&
!!""# # $ $% !""%&!" "&
'!""#(
%) # %!""'!"%( %)#"&!""
( ,-&#+$.&#'(./#&$0*-&.1.*-23$4$5$6$'-&$7$5$689
! !
!"#$%&'()*()+"(,-.)"/
! ,(-'()+"(*%.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"
! !
!"#$%&$'()*%+,---
! .//&)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