Advanced Automation†
[lecture #1] 2012.9.6 review of classical control theory†
[lecture #2] 2012.9.20 given by Prof. Kimura†
[lecture #3] 2012.9.27 CACSD introduction with review of classical and modern control theory†
- introduction of Matlab and Simulink
- relationship between TF and SSR
- open-loop stability can be checked by poles of TF and eigenvalues of A-matrix in SSR
- closed-loop stability
- graphical test by Nyquist stability criterion and Bode plot with GM(gain margin) and PM(phase margin)
- numerical test by poles of closed-loop TF and eigenvalues of A-matrix in closed-loop SSR
- example: stabilization of unstable system
%-- 9/27/2012 1:07 PM --%
a = 1
pwd
G1 = 1/(s+1)
ex0927_1
G1 = 1/(s+1)
A
ex0927_2
G2_tf
G2_tf.den
G2_tf.den{:}
G2_tf.num{:}
eig(G2_tf)
G2_ss.a
eig(G2_ss.a)
G2_ss
G2_ss.a
G2_ss.b
ex0927_3
nyquist(1.5*G3_tf)
nyquist(-1.5*G3_tf)
bode(-1.5*G3_tf)
bode(1.5*G3_tf)
K
K = 1
ex0927_4
ex0927_5
A
eig(A)
K = 0
K=1
ex0927_5
[lecture #4] 2012.10.4 Intro. to robust control theory (H infinity control theory)†
- Typical design problems
- robust stabilization
- performance optimization
- robust performance problem (robust stability and performance optimization are simultaneously considered)
- H infinity norm
- H infinity control problem
- definition
- application example : reference tracking problem
- relation to the sensitivity function S(s) (S(s) -> 0 is desired but impossible)
- given control system
please change the line `K = 1' to `K = ss(1)'
- controller design with H infinity control theory
%-- 10/4/2012 1:11 PM --%
s = tf('s')
G = 1/(s+1)
norm(G, 'inf')
help norm
ex1004_1
ex1004_2
K
K_hinf
size(K_hinf.a)
[lecture #5] 2012.10.11 Introduction to Robust Control (cont.)†
- Typical design problems
- robust stabilization ... plant is given as class
- performance optimization; ... plant has no variation
- robust performance problem (robust stability and performance optimization are simultaneously considered)
- connection between H infinity control problem and robust stabilization
- normalized uncertainty \Delta
- small gain theorem
- sketch proof ... Nyquist stability criterion
- How to design robust stabilizing controller with H infinity control problem ?
- connection between \Delta and plant ?
- generalized plant G ?
- practical example of robust stabilization problem
- unstable plant with perturbation
- multiplicative uncertainty model
- H infinity controller design
%-- 10/11/2012 12:56 PM --%
ex1011_1
ex1011_2
ex1011_3
mod1011
ex1011_1
P
ex1011_2
1i
j
j = 2
1i = 2
ex1011_3
mod1011
c = 0.8
c = 1.2
c = 1.3
c = 2
[lecture #6] 2012.10.18 Introduction to Robust Control (cont.)†
- review
- robust stabilization ... ||WT T||_inf < 1 (for multiplicative uncertainty)
- performance optimization ... ||WS S||_inf < gamma -> min
- mixed sensitivity problem gives a sufficient condition such that both conditions hold ... nominal (not robust) performance problem
- proof of small gain theorem ... Nyquist stability criterion
- mixed sensitivity problem
- the sufficient condition
- exercise
%-- 10/18/2012 12:56 PM --%
mod1018
ex1018_1
input_to_P0
WT
WSgam
systemnames
ex1018_1
G
ex1018_1
[lecture #7] 2012.10.25 singular value decomposition(SVD)†
- review of mixed sensitivity problem
- definition of SVD and maximum singular value
%-- 10/25/2012 1:27 PM --%
A = [1, 2, 3; 4, 5, 6]
[U, Sigma, V] = svd(A)
U*U'
U'*U
V'*V
[U, Sigma, V] = svd(A')
A = [1, 2, 3; 4, 5, 1i]
[U, Sigma, V] = svd(A)
[lecture #8] 2012.11.1 Robust performance problem†
- review of the proof
- nominal and robust performance (motivation of robust performance problem)
- setting for P0 and WT
- controller design with mixed sensitivity problem
- robust performance is not satisfied
how to tackle with the robust performance problem (a conservative design with H infinity control problem)
less conservative design with scaled H infinity control problem
%-- 11/1/2012 1:37 PM --%
ex1101_1
ex1101_2
K
ex1101_2
ex1101_3
[lecture #9] 2012.11.8 Robust performance problem (cont.)†
- review: mixed sensitivity problem = robust stability + nominal performance(not robust performance)
- how to tackle with the robust performance problem
- introduction of a fictitious uncertainty
- the maximum singular value of block diagonal matrices is less than or equal to 1 ---> a conservative design with H infinity control problem
- intruduction of scalling matrix ---> less conservative design with scaled H infinity control problem
%-- 11/8/2012 1:29 PM --%
ex1101_4
ex1101_1
ex1101_2
ex1101_3
ex1101_4
ex1101_5
[lecture #10] 2012.11.15 Robust performance problem (cont.)†
- review of scaled H infinity control problem
- ex1101_4.m, ex1101_5.m ... What does the designed result mean ?
- How was the class of scaling determined ?
- effect of scaling on closed-loop H infinity norm ... motivation of scaling
%-- 11/15/2012 1:08 PM --%
ex1101_1
ex1101_2
ex1101_3
ex1101_4
ex1101_5
-13/20
10**-0.65
10^-0.65
ex1101_4
K
ex1101_4
ex1101_5
gam
K
d
gam
K
sigma(mdiag(1,1/gam)*lft(G,K))
sigma(mdiag(1/d,1/gam)*lft(G,K)*mdiag(d,1),'r')
sigma(mdiag(1,1/gam)*lft(G,K))
hold on
sigma(mdiag(1/d,1/gam)*lft(G,K)*mdiag(d,1),'r')
[lecture #11] 2012.11.22 will be given by Prof. Kimura†
[lecture #12] 2012.11.29 will be given by Prof. Kimura†
[lecture #13] 2012.12.6 Robust control design for a practical system (1/3) : Active vibration control of a pendulum using linear motor (loudspeaker) some mistakes fixed on 2012.12.13 [#k776c145]†
- linear motor : FOSTEX FW-208N (corn, edge, and damper are partially removed to decrease damping)
- PSD(Position Sensitive Detector) : Hamamatsu Photonics Corp. C3683-01
- Potentio meter : Midori Precisions Model QP-2H
- PC : Dell Dimension 2400 (Intel Celeron 2.4G, Linux 2.4.22, RTlinux-3.2pre3)
- D/A : CONTEC DA12-4 (PCI) 12bit, 10us
- A/D : CONTEC AD12-16 (PCI) 12bit, 10us
- He-Ne Laser : NEC GLG5230
- Objective for control system design
- to attenuate vibration due to pendulum oscillation
- robust stability against modelling error due to non-linear dinamics etc.
- Modelling
- frequency response experiment results:
due to some change on experimental apparatus, please use following data as frequency response experimental results (2012.12.13)
- Controller design (robust performance problem)
- example of m-file
>> cont
- design example
- example of m-file to compare designed controllers
- design your controller(s) so that the system performance is improved compared with the given example above
- Draw the following figures and explain the difference between two control systems (your controller and the example above):
- bode diagram of controllers
- gain characteristic of closed-loop systems
- time response of control experiment
- Why is the performance of your system improved(or unfortunately decreased)?
- due date: 27th(Thu) Dec 17:00
- submit your report(pdf or doc) by e-mail to kobayasi@nagaokaut.ac.jp
- You can use Japanese
- maximum controller order is 20
- submit your cont.dat, cont_order.dat, and cont.mat to kobayasi@nagaokaut.ac.jp not later than
21th(Fri) 25th(Tue) Dec
- program sources for frequency response experiment
- format of frdata.dat file
- 1st column: frequency (Hz)
- 2nd column: gain
- 3rd column: phase (deg)
- 4th column: gain
- 5th column: phase (deg)
- program sources for control experiment
- format of result.dat file
- 1st column: time (s)
- 2nd column: PSD output (V)
- 3rd column: Potentio meter output (V)
- 4th column: control input (V)
- 5th column: input disturbance (V)
- configuration of control experiment
freqresp
nominal
help n4sid
load result.dat
load result_no.dat
plot(result(:,1),result(:,3),'r',result_no(:,1),result_no(:,2),'g')
plot(result(:,1),result(:,3),'r',result_no(:,1),result_no(:,3),'g')
... please use the potentio meter output as the measured output instead the PSD output (2012.12.13)
[lecture #14] 2012.12.13 Robust control design for a practical system (2/3)†
IMPOTANT:due to some change on experimental apparatus, please use the potentio meter output as the measured output instead of the PSD output. Moreover, some files have been re-uploaded due to this change. See previous links.
- explanation of design example (cont. from the previous lecture)
- preparation of your own controller(s)
%-- 12/13/2012 12:59 PM --%
freqresp
pwd
freqresp
nominal
P0
weight
cont
compare
load result.dat
plot(result(:,1),result(:,3));
load result_no.dat
plot(result_no(:,1),result_no(:,3),'b',result(:,1),result(:,3),'r');
plot(result_no(:,1),result_no(:,2),'b',result(:,1),result(:,2),'r');
plot(result_no(:,1),result_no(:,4),'b',result(:,1),result(:,4),'r');
[lecture #15] 2012.12.20 Robust control design for a practical system (3/3)†
- preparation of your own controller(s)
participant list2012
related links†