授業
Advanced Automation†
[lecture #1] 2015.9.3 outline of the lecture, review of classical and modern control theory (1/3)†
- outline of this lecture
- syllabus
- evaluation
- mini report #1 ... 10%
- mini exam #1 ... 10%
- mini report #2 ... 10%
- mini exam #2 ... 10%
- final report ... 60%
- schedule2015 (tentative)
- map
- review : stabilization of 1st-order unstable plant by classical and modern control theory
- transfer function
- differential equation
- eigenvalue and pole
- ...
%-- 9/3/2015 2:09 PM --%
s = tf('s')
Ptf = 1/(s+1)
pole(Ptf)
impulse(Ptf)
Pss = ss(Ptf)
initial(Pss, 1)
initial(Pss, 2)
ex0902.m
[lecture #2] 2015.9.10 review of classical and modern control theory (2/3) with introduction of Matlab/Simulink†
- introduction of Matlab and Simulink
text_fixed.pdf Basic usage of MATLAB and Simulink used for 情報処理演習及び考究II/Consideration and Practice of Information Processing II: Advanced Course of MATLAB
- interactive system (no compilation, no variable difinition)
- m file
- system representation: Transfer Function(TF) / State-Space Representation (SSR)
- example: mass-spring-damper system
- difinition of SSR
- from SSR to TF
- from TF to SSR: controllable canonical form
- open-loop characteristic
- open-loop stability: poles and eigenvalues
- Bode plot and frequency response ex0910_1.m mod0910_1.mdl
- cut off frequency; DC gain; -40dB/dec; variation of c
- relation between P(jw) and steady-state response
- closed-loop stability
- Nyquist stability criterion (for L(s):stable)
- Nyquist plot ex0910_2.m mod0910_2.mdl
- Gain Margin(GM); Phase Margin(PM)
%-- 9/10/2015 1:55 PM --%
ex0910_1
P
P.den
P.den{:}
P.num{:}
ex0910_1
ex0910_2
[] 2015.9.17 cancelled†
[] 2015.9.25 no lecture (lectures for Monday are given)†
[lecture #3] 2015.10.1 review of classical and modern control theory (3/3)†
- LQR problem
- controllability
- cost function J >= 0
- (semi)-positive definiteness
- solution of LQR problem
- ARE and quadratic equation
- closed loop stability ... Lyapunov criterion
- Jmin
lqr.pdf ≒ proof4.pdf (from B3「動的システムの解析と制御」)
- example
mod1001.mdl
A = [1, 2; 0, -1]; % unstable plant
B = [0; 1];
Uc = ctrb(A,B);
det(Uc) % should be nonzero
C = eye(2); % dummy
D = zeros(2,1); % dummy
F = [0, 0]; % without control
x0 = [1; 1]; % initial state
Q = eye(2);
R = 1;
P = are(A, B/R*B', Q);
eig(P) % should be positive
F = R\B'*P;
x0'*P*x0
%-- 10/1/2015 2:08 PM --%
mod1001
A = [1, 2; 0, -1]; % unstable plant
B = [0; 1];
Uc = ctrb(A,B);
A
B
Uc
det(Uc)
C = eye(2); % dummy
D = zeros(2,1); % dummy
F = [0, 0]; % without control
x0 = [1; 1]; % initial state
Q = eye(2);
R = 1;
F
P = are(A, B/R*B', Q);
P
eig(P)
F = R\B'*P;
F
J
x0
x0'*P*x0
A-B*F
eig(A-B*F)
... I'm sorry but all of equations are in the pdf file.
[lecture #4] 2015.10.8 relation between LQR and H infinity control problem (1/2)†
- GOAL: to learn difference in concepts between LQR problem and H infinity control problem
- review of LQR problem and the simple example
- an equivalent problem
- a simple example of state-feedback H infinity control problem
- definition of H infinity norm (SISO)
s = tf('s');
P1 = 1/(s+1);
bode(P1);
norm(P1, 'inf')
P2 = 1/(s^2 + 0.1*s + 1);
bode(P2);
norm(P2, 'inf')
- definition of H infinity norm (SIMO)
- solve the problem by hand
- solve the problem by tool(hinfsyn)
ex1008.m
%-- 10/8/2015 1:48 PM --%
s = tf('s');
P1 = 1/(s+1);
bode(P1);
norm(P1, 'inf')
P2 = 1/(s^2 + 0.1*s + 1);
bode(P2);
norm(P2, 'inf')
ex1008
- Q: 最後にfを求めてどうするのか分からなかった。
- A: 閉ループ系のH∞ノルムを最小化するfを求め、LQRの最適解と比較する予定でしたが、最後まで説明できずすみません。
- Q: |Tzw|∞ は感度関数になる?
- A: Tzw が感度関数になるか?という意味と思いますが、一般化プラントの設定次第でそうなります(例えば目標値信号を w、偏差を z に選ぶ場合など)。次々回、その場合を扱います。
[lecture #5] 2015.10.15 relation between LQR and H infinity control problem (2/2)†
- complete the table in simple example
- behavior of hinfsyn in ex1008.m
- confirm the cost function J for both controllers by simulation mod1015.mdl
- confirm the closed-loop H infinity norm for both controllers by simulation (common mdl file is available)
- review: steady-state response (see photo 8 @ lec. #2)
- how to construct the worst-case disturbance w(t) which maximizes L2 norm of z(t) ?
- what is the worst-case disturbance in the simple example ?
- general case: hinf.pdf includes the simple example as a special case
- LQR lqr.pdf is included as a special case where gamma -> infinity, non-zero x(0), and B2 -> B
%-- 10/15/2015 1:14 PM --%
ex1008
K
dcgain(K)
gopt
ex1008
mod1015
f
f = 1
x0 = 0
h = 0.1
zz
zz(end)
h = 1e-6
zz(end)
f = -1+sqrt(2)
h
zz(end)
x0 = 1
zz(end)
f
h
h = 10
zz(end)/ww(end)
x0
x0 = 0
zz(end)/ww(end)
sqrt(zz(end)/ww(end))
h
h = 100
sqrt(zz(end)/ww(end))
[lecture #6] 2015.10.22 Mixed sensitivity problem 1/3†
- review map_v1.0_intro1.pdf and outline
- H infinity control problem (general form)
- reference tracking problem
- weighting function for sensitivity function
- design example ex1022_1.m ex1022_2.m
- the small gain theorem
- proof: Nyquist stability criterion
- from performance optimization to robust stabilization
%-- 10/22/2015 2:06 PM --%
ex1022_1
eig(P)
ex1022_2
[lecture #7] 2015.10.29 Mixed sensitivity problem 2/3†
- review map_v1.0_intro2.pdf and outline
- an equivalent problem of robust stabilization for reference tracking problem
- uncertainty model and normalized uncertainty Delta
- robust stabilization problem and an equivalent problem
- practical example of plant with perturbation ex1029_1.m
- how to determine the model ex1029_2.m
- design example and simulation ex1029_3.m mod1029.mdl
%-- 10/29/2015 1:52 PM --%
ex1029_1
ex1029_2
ex1029_3
mod1029
c
c = 0.8
[lecture #8] 2015.11.5 Mixed sensitivity problem 3/3†
- review : (1)robust stabilization and (2)performance optimization
- mixed sensitivity problem : a sufficient condition for (1) and (2)
- proof by definition of H infinity norm
- construction of the generalized plant
- design example ex1105_1.m
- gamma iteration by bisection method ex1105_2.m
- a problem of the mixed sensitivity problem: nominal performance and robust performance ex1105_3.m
- introduction of robust performance problem
%-- 11/5/2015 1:37 PM --%
ex1105_1
ex1105_2
gam
ex1105_2
WT
ex1105_2
ex1105_3
ex1105_2
ex1105_3
[lecture #9] 2015.11.12 robust performance problem 1/3†
- review: robust performance problem
- an equivalent robust stability problem
- definition of H infinity norm for general case (MIMO)
- definition of (maximum) singular value
M = [j, 0; -j, 1]
M'
eig(M'*M)
svd(M)
- mini report #1 report1.pdf
- write by hand
- due date and place of submission -> see schedule2015
- check if your answer is correct or not before submission by using Matlab
- You will have a mini exam #1 related to this report
- SVD: singular value decomposition
- definition
[U,S,V] = svd(M)
M = [j, 0; -j, 1; 2, 3]
- unitary matrix and 2 norm of vectors
- a property of SVD: input-output interpretation
- illustrative example: rotation matrix ex1112_1.m
- H infinity norm of Delta hat
%-- 11/12/2015 1:01 PM --%
M = [j, 0; -j, 1]
M'
eig(M'*M)
svd(M)
M = [j, 0; -j, 1]
M'
eig(M'*M)
svd(M)
(3+sqrt(5))/2
sqrt((3+sqrt(5))/2)
help svd
[U,S,V] = svd(M)
U'*U
M = [j, 0; -j, 1; 2, 3]
[U,S,V] = svd(M)
V'*V
ex1112_1
- Q: Σでノルムが決まる?→固有値で
- A: 与えられた行列Mを、入力をベクトル a、出力をベクトル b とする入出力システム
\[ b = M a \]
とみなすと、出力の2ノルムの最大値は、入力の2ノルムの
\[ \bar \sigma(M) \] 倍となります(それを超えるような a はない)。 質問の意図と違っている場合はまた聞いてください。
- Q: it was too fast
- A: This might be caused by my less explanation in Japanese. I will improve this in the next lecture.
[lecture #10] 2015.11.19 Robust performance problem (2/3)†
- return of mini report #1
- review and outline: robust stability problem for Delta hat and its equivalent problem(?)
- signal vector's size is not restricted in H infinity control problem and small gain theorem
- H infinity norm of Delta hat
- design example: robust performance is achieved ex1119_1.m
- non structured uncertainty is considered ... the design problem is too conservative
%-- 11/19/2015 1:23 PM --%
doc hinfsyn
ex1105_2
ex1105_3
gam_opt
ex1119_1
gam_opt
svd([1/sqrt(2), 0; 1/sqrt(2), 0])
- Q: Delta tilder is more tractability than Delta hat, Delta hat is more solvability than Delta tilder, OK?
- A: That is right. For problems
- (P1) robust stabilization against Delta hat
- (P2) robust stabilization against Delta tilde,
P1 is more solvable than P2 because of the smaller uncertain set.
P2 is more tractable than P1 because of the ignorance of the structure.
[lecture #11] 2015.11.26 Robust performance problem (3/3)†
- review
- robust performance problem with Delta hat and conservative design problem with Delta tilde
- inclusion relation between two uncertain sets
- introduction of the scaled H infinity control problem
- how to determine structure of scaling matrix
- design example moved to next lecture
% less conservative design
ex1105_2
ex1105_3
ex1119_1
gam_opt0 = gam_opt;
K_opt0 = K_opt;
- effect of scaling matrix moved to next lecture
- mini exam #1
- Q: 薄いマーカーが見辛い
- A: すみません。次回、新しいマーカーに交換してもらいます。
[lecture #12] 2015.12.3 Robust performance problem (3/3) (cont.), Control system design for practical system (1/3)†
- return of mini exam #1; schedule of mini report #2 and exam #2
- review of the scaled H infinity control problem
- comments on mu-synthesis prolem
- design example (moved from the previous lecture)
% less conservative design
ex1105_2
ex1105_3
ex1119_1
gam_opt0 = gam_opt;
K_opt0 = K_opt;
- effect of scaling matrix (moved from the previous lecture)
- mini report #2 report2.pdf
- write by hand
- due date and place of submission -> see schedule2015
- check if your answer is correct or not before submission by using Matlab
- You will have a mini exam #2 related to this report
- controller design for practical system: active noise control in duct
- introduction of experimental setup
- objective of control system: to drive control loudspeaker by generating proper driving signal u using reference microphone output y such that the error microphone's output z is attenuated against the disturbance input w
- frequency response experiment
%-- 12/3/2015 1:27 PM --%
ex1105_2
ex1105_3
ex1119_1
gam_opt0 = gam_opt;
K_opt0 = K_opt;
who
gam_opt0
ex1126_1
gam_opt
d_opt
ex1126_2
ex1203_1
- Q: Why
\[ \mbox{(i) } \hat G(0.0111) \mbox{ is stable, and} \]
\[ \mbox{(ii) } \hat G(0.0103) \mbox{ is unstable,} \]
hold ?
- A: In the first design (i), controller K_opt0 and minimized value of gamma (gam_opt0) are obtained so that the H infinity norm of the resultant closed-loop system clp0 without connecting Delta tilde is less than 1. Therefore, the closed-loop system composed of clp0 and Delta tilde is stable according to the small gain theorem.
On the other hand, in the second design (ii), controller K_opt and minimized value of gamma (gam_opt) are obtained so that the H infinity norm of the resultant closed-loop system *with scaling* (clp_d) is less than 1. Please note that there is no guarantee for the H infinity norm of the closed-loop system *without scaling* (clp_1) to be less than 1. Indeed, we confirmed that the H infinity norm of clp_1 was larger than 1 in our example, by which the closed-loop system composed of clp_1 and Delta tilde is unstable according to the small gain theorem. However, Delta hat which has diagonal structure, can be connected to clp_1 without loosing closed-loop stability. (Maybe I didn't explain the last sentence. I'm sorry for this, if this is the reason of your question.)
If this answer is not sufficient for your question, please ask again.
[lecture #13] 2015.12.10 Control system design for practical system (2/3)†
- return of mini report #2
- review of the experimental apparatus and frequency response experiment
- design example
- determination of plant model(nominal plant and additive uncertainty weight)
nominal.m
subspace.m ... replacement of n4sid in System Identification Toolbox (not provided in IPC)
weight.m
- configuration of generalized plant and controller design by scaled H infinity control problem using one-dimensional search on the scaling d
cont.m
- comparison of closed-loop gain characteristics with and without control
compare.m
- result of control experiment
result.dat
compare_result.m
- room 157 @ Dept. Mech. Bldg.2
ex1203_1
ctrlpref
ex1203_1
346/3.6
ex1203_1
nominal
weight
cont
nominal
compare
compare_result
- Q: Each of the files I wanted to clarify what they represent.
- A: A detailed explanation will be given in the next lecture.
[lecture #14] 2015.12.17 Control system design for practical system (3/3)†
- final report
- design your controller(s) so that the system performance is improved compared with the design example introduced in the previous lecture
- Draw the following figures and explain the difference between two control systems (your controller and the design example):
- bode diagram of controllers
- gain characteristic of closed-loop system from w to z
- time response and frequency spectrum (PSD) of control experiment
- Why is the performance of your system improved(or unfortunately deteriorated)?
- how to improve the performance ?
- order of the nominal plant
- weighting for robust stability
- detailed explanation of m-files in the previous lecture
- specifications of the experimental system
- experimental equipments
- loudspeakers: AURA SOUND NSW2-326-8A (2inch, 15W)
- pressure sensors: NAGANO KEIKI KP15
- A/D, D/A converters: CONTEC AD12-16(PCI), DA12-4(PCI)
- PC: Dell Dimension 1100
- OS: Linux kernel 2.4.22 / Real Time Linux 3.2-pre3
- program sources for frequency response experiment
- freqresp.h
- freqresp_module.c
- freqresp_app.c
- format of spk1.dat (u is used instead of w for spk2.dat)
- 1st column ... frequency (Hz)
- 2nd column ... gain from w(V) to y(V) (signal's unit is voltage (V))
- 3rd column ... phase from w to y
- 4th column ... gain from w to z
- 5th column ... phase from w to z
- program sources for control experiment
- hinf.h
- hinf_module.c
- hinf_app.c
- format of result.dat
- 1st column: time (s)
- 2nd column: z (V)
- 3rd column: y (V)
- 4th column: u (V)
- 5th column: w (V)
- configuration of control experiment
- disturbance signal w is specified as described in hinf.h and hinf_module.c:
#define AMP 3.0 // amplitude for disturbance
#define DIST_INTERVAL 5 // interval step for updating w
count_dist++;
if(count_dist >= DIST_INTERVAL){
w = AMP * (2. * rand() / (RAND_MAX + 1.) - 1.); // uniform random number in [-AMP, AMP]
count_dist = 0;
}
da_conv(V_OFFSET + w, 0); // D/A output to noise source
w is updated with 1ms period (sampling period 0.2ms times DIST_INTERVAL 5)
- control signal u is limited to [-4, 4] as specified in hinf.h and hinf_module.c:
#define U_MAX 4.00
if(u > U_MAX) u = U_MAX;
if(u < -U_MAX) u = -U_MAX;
u is set to 0 for t < 10(s). (controller is operated for 10 <= t < 15.)
- a high pass filter with cut-off frequency are used to cut DC components in z and y as described in hinf.h and hinf_module.c
// HPF(1 rad/s) to cut DC in z and y
#define AF 9.9980001999866674e-01
#define BF 1.9998000133326669e-04
#define CF -1.0000000000000000e+00
#define DF 1.0000000000000000e+00
ad_conv(&yz); // A/D input
// HPFs
yf = CF*xf_y + DF*yz[0];
xf_y = AF*xf_y + BF*yz[0];
zf = CF*xf_z + DF*yz[1];
xf_z = AF*xf_z + BF*yz[1];
experiment directory
- mini exam #2
%-- 12/17/2015 1:36 PM --%
help bodemag
- Q: I wanted to make a print on the final report.
- A: Do you mean you want to submit your report in hard copy? If so, I will receive it.
[lecture #15] 2015.12.24 Control system design for practical system (cont.)†
- preparation of your own controller(s)
- submission procedure of controllers has been changed
- wav file is available
- questionnaires
- to university
- for web-based experimental environment
%-- 12/24/2015 1:11 PM --%
compare