授業
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 (1/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.
!!! the remaining page is under construction (the contents below are from 2014) !!!
[lecture #12] 2014.12.4 relation between H infinity control and modern control theory (cont.); Speed control of two inertia system with servo motor (1/4)†
- return of mini report #2
- contents for the last lecture
speed control of two inertia system with servo motor
&ref(): File not found: "setup.pdf" at page "授業/制御工学特論2015";
frequency response experiment and physical model of speed control system
&ref(): File not found: "ex1204_1.m" at page "授業/制御工学特論2015";
&ref(): File not found: "ex1204_2.dat" at page "授業/制御工学特論2015";
- mini exam #2
%-- 12/4/2014 1:28 PM --%
ex1127
mod1127
x0 = 0
h = 1
f = 1
ww
zz
h = 10
ww
zz
h = 50
zz
h
zz
#ref(): File not found: "2014.12.4-1.jpg" at page "授業/制御工学特論2015"
#ref(): File not found: "2014.12.4-2.jpg" at page "授業/制御工学特論2015"
[lecture #13] 2014.12.11 Robust control design for a practical system : Speed control of two inertia system with servo motor (1/3)†
- return of mini exam #2
determination of nominal plant
&ref(): File not found: "ex1211_5.m" at page "授業/制御工学特論2015";
determination of weighting function
&ref(): File not found: "ex1211_6.m" at page "授業/制御工学特論2015";
%-- 12/11/2014 1:24 PM --%
ex1211_1
frdata
frdata(:,1)
P1_jw
P1_g
ex1211_1
#ref(): File not found: "2014.12.11-1.jpg" at page "授業/制御工学特論2015"
- Q: What is the inertia moment of the load disk ?
- A: It is about 0.0002 (kg m^2) (60mm in diameter, 16mm in inner diameter, 20mm in thick, made by SS400)
- Q: 周波数応答実験について、定常応答になるのにどのくらい待っているか?音が大きくなるのはゲインが高いから?周波数変化のきざみは?
- A: 待ち時間は3秒です。音の発生源はよくわかりませんし、騒音計などで計測したこともありませんが、大きな音が聞こえるのは共振周波数付近です。周波数変化の刻みは常用対数で0.01です。以下に掲載するプログラムソースの freqresp.h 中で指定しています。
[lecture #14] 2014.12.18 Robust control design for a practical system : Speed control of two inertia system with servo motor (2/3)†
- design example
- m-files
#ref(): File not found: "freqresp.m" at page "授業/制御工学特論2015"
#ref(): File not found: "perf.m" at page "授業/制御工学特論2015"
>> freqresp
>> nominal
>> weight
>> cont
>> perf
- control experiment ... see participant list2014
- report
- design your controller(s) so that the system performance is improved compared with the design 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 sensitivity function
- time response of control experiment
- Why is the performance of your system improved(or unfortunately deteriorated)?
- due date: 9th(Fri) Jan 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 26th(Fri) Dec
- program sources for frequency response experiment
#ref(): File not found: "freqresp.h" at page "授業/制御工学特論2015"
#ref(): File not found: "freqresp_module.c" at page "授業/制御工学特論2015"
#ref(): File not found: "freqresp_app.c" at page "授業/制御工学特論2015"
- format of datafile
- 1st column ... frequency (Hz)
- 2nd column ... gain from T_M to omega_M
- 3rd column ... phase from T_M to omega_M
- 4th column ... gain from T_M to omega_L
- 5th column ... phase from T_M to omega_L
- program sources for control experiment
#ref(): File not found: "hinf.h" at page "授業/制御工学特論2015"
#ref(): File not found: "hinf_module.c" at page "授業/制御工学特論2015"
#ref(): File not found: "hinf_app.c" at page "授業/制御工学特論2015"
- format of result.dat file
- 1st column: time (s)
- 2nd column: omega_M (rad/s)
- 3rd column: T_M (Nm)
- 4th column: reference speed (rad/s)
- 5th column: T_L (Nm)
- configuration of control experiment
- calculation of rotational speed
The rotational speed is approximately calculated by using difference for one sampling period in hinf_module.c and freqresp_module.c like:
theta_rad = (double)read_theta(0) / (double)Pn212 * 2 * M_PI;
speed_rad = (theta_rad - theta_rad_before) / msg->sampling_period;
theta_rad_before = theta_rad
where the sampling period is given as 0.25 ms.
participant list2014
%-- 12/18/2014 1:01 PM --%
freqresp
nominal
help fitfrd
weight
cont
help c2d
perf
#ref(): File not found: "2014.12.18-1.jpg" at page "授業/制御工学特論2015"
#ref(): File not found: "2014.12.18-2.jpg" at page "授業/制御工学特論2015"
[lecture #15] 2014.12.25 Robust control design for a practical system : Speed control of two inertia system with servo motor (3/3)†
- preparation of your own controller(s)
%-- 12/25/2014 12:58 PM --%
load cont.mat
who
K_opt
who
Kd
who
Ghat
load result.dat
plot(result(:,1), result(:,2))
plot(result(:,1), result(:,3))
who
bode(K_opt)
bode(Kd)
Kd1 = Kd
K_opt1 = K_opt
load cont.mat
bode(K_opt1, 'b', K_opt, 'r')
bode(Kd1, 'b', Kd, 'r')
Kd_tmp = c2d(K_opt1, 0.000001);
bode(Kd1, 'b', Kd, 'r', Kd_tmp, 'm')
clear all
load cont.mat
who
bode(K_opt)
K_example = K_opt;
load cont.mat
bode(K_example, 'b', K_opt, 'r')
#ref(): File not found: "2014.12.25-1.jpg" at page "授業/制御工学特論2015"
#ref(): File not found: "2014.12.25-2.jpg" at page "授業/制御工学特論2015"