授業
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.
!!! the remaining page is under construction (the contents below are from 2014) !!!
[lecture #9] 2014.11.13 Robust performance problem (3/3)†
%-- 11/13/2014 12:58 PM --%
ex1023_2
gam_opt
ex1023_3
ex1030_1
gam_opt
ex1113
ex1113_1
gam_opt
ex1113_2
#ref(): File not found: "2014.11.13-1.jpg" at page "授業/制御工学特論2015"
#ref(): File not found: "2014.11.13-2.jpg" at page "授業/制御工学特論2015"
#ref(): File not found: "2014.11.13-3.jpg" at page "授業/制御工学特論2015"
#ref(): File not found: "2014.11.13-4.jpg" at page "授業/制御工学特論2015"
[lecture #10] 2014.11.20 Robust performance problem (1/3) (cont.)†
- review - effect of scaling
- mini report #2
- write by hand
- submit at the beginning of next lecture on 27 Nov.
- check if your answer is correct or not before submission by using Matlab
- You will have a mini exam #2 related to this report on 4 Dec.
- how to obtain generalized plant by hand
example: H infinity controller design by hand
%-- 11/20/2014 1:11 PM --%
ex1023_2
ex1023_3
ex1030_1
ex1030_2
k
ex1113_1
ex1113_2
k
Delta_hat
#ref(): File not found: "2014.11.20-1.jpg" at page "授業/制御工学特論2015"
#ref(): File not found: "2014.11.20-2.jpg" at page "授業/制御工学特論2015"
#ref(): File not found: "2014.11.20-3.jpg" at page "授業/制御工学特論2015"
#ref(): File not found: "2014.11.20-4.jpg" at page "授業/制御工学特論2015"
[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
- introduction of experimental setup
#ref(): File not found: "setup.pdf" at page "授業/制御工学特論2015"
#ref(): File not found: "photo1.jpg" at page "授業/制御工学特論2015"
- objective of control system
- to reduce the tracking error of the driving motor against disturbance torque
- robust stabilization against plant variation due to aging degradation
- frequency response experiment and physical model of speed control system
#ref(): File not found: "ex1211_1.m" at page "授業/制御工学特論2015"
#ref(): File not found: "ex1211_2.dat" at page "授業/制御工学特論2015"
#ref(): File not found: "ex1211_3.dat" at page "授業/制御工学特論2015"
#ref(): File not found: "ex1211_4.dat" at page "授業/制御工学特論2015"
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"