- 追加された行はこの色です。
- 削除された行はこの色です。
[[授業]]
*Advanced Automation [#ye2d4ebb]
** &color(green){[lecture #1]}; 2015.9.3 outline of the lecture, review of classical and modern control theory (1/3) [#bdb8b1f6]
- 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
#ref(map_v1.0_review.pdf);
- 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)
#ref(2015.09.03-1.jpg,left,noimg,whiteboard #1);
#ref(2015.09.03-2.jpg,left,noimg,whiteboard #2);
#ref(2015.09.03-3.jpg,left,noimg,whiteboard #3);
#ref(2015.09.03-4.jpg,left,noimg,whiteboard #4);
&ref(ex0902.m);
** &color(green){[lecture #2]}; 2015.9.10 review of classical and modern control theory (2/3) with introduction of Matlab/Simulink [#x66b415e]
+ introduction of Matlab and Simulink
&ref(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 &ref(ex0910_1.m); &ref(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 &ref(ex0910_2.m); &ref(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
#ref(2015.09.10-1.jpg,left,noimg,whiteboard #1);
#ref(2015.09.10-2.jpg,left,noimg,whiteboard #2);
#ref(2015.09.10-3.jpg,left,noimg,whiteboard #3);
#ref(2015.09.10-4.jpg,left,noimg,whiteboard #4);
** &color(green){[]}; 2015.9.17 cancelled [#w7af2c97]
** &color(green){[]}; 2015.9.25 no lecture (lectures for Monday are given) [#ne6e400c]
** &color(green){[lecture #3]}; 2015.10.1 review of classical and modern control theory (3/3) [#b83a9a65]
+ LQR problem
-- controllability
-- cost function J >= 0
-- (semi)-positive definiteness
+ solution of LQR problem
-- ARE and quadratic equation
-- closed loop stability ... Lyapunov criterion
-- Jmin
&ref(lqr.pdf); ≒ &ref(proof4.pdf); (from B3「動的システムの解析と制御」)
+ example
&ref(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)
#ref(2015.10.01-1.jpg,left,noimg,whiteboard #1);
#ref(2015.10.01-2.jpg,left,noimg,whiteboard #2);
#ref(2015.10.01-3.jpg,left,noimg,whiteboard #3);
... I'm sorry but all of equations are in the pdf file.
#ref(2015.10.01-4.jpg,left,noimg,whiteboard #4);
#ref(2015.10.01-5.jpg,left,noimg,whiteboard #5);
** &color(green){[lecture #4]}; 2015.10.8 relation between LQR and H infinity control problem (1/2) [#d821c8a6]
- 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)
&ref(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
#ref(2015.10.08-1.jpg,left,noimg,whiteboard #1);
#ref(2015.10.08-2.jpg,left,noimg,whiteboard #2);
#ref(2015.10.08-3.jpg,left,noimg,whiteboard #3);
#ref(2015.10.08-4.jpg,left,noimg,whiteboard #4);
#ref(2015.10.08-5.jpg,left,noimg,whiteboard #5);
-Q: 最後にfを求めてどうするのか分からなかった。
-A: 閉ループ系のH∞ノルムを最小化するfを求め、LQRの最適解と比較する予定でしたが、最後まで説明できずすみません。
-Q: |Tzw|∞ は感度関数になる?
-A: Tzw が感度関数になるか?という意味と思いますが、一般化プラントの設定次第でそうなります(例えば目標値信号を w、偏差を z に選ぶ場合など)。次々回、その場合を扱います。
** &color(green){[lecture #5]}; 2015.10.15 relation between LQR and H infinity control problem (2/2) [#w4c0811d]
+ complete the table in simple example
+ behavior of hinfsyn in &ref(ex1008.m);
+ confirm the cost function J for both controllers by simulation &ref(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: &ref(hinf.pdf); includes the simple example as a special case
-- LQR &ref(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))
#ref(2015.10.15-1.jpg,left,noimg,whiteboard #1);
#ref(2015.10.15-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #6]}; 2015.10.22 Mixed sensitivity problem 1/3 [#tfbf02f5]
+ review &ref(map_v1.0_intro1.pdf); and outline
+ H infinity control problem (general form)
+ reference tracking problem
+ weighting function for sensitivity function
+ design example &ref(ex1022_1.m); &ref(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
#ref(2015.10.22-1.jpg,left,noimg,whiteboard #1);
#ref(2015.10.22-2.jpg,left,noimg,whiteboard #2);
#ref(2015.10.22-3.jpg,left,noimg,whiteboard #3);
** &color(green){[lecture #7]}; 2015.10.29 Mixed sensitivity problem 2/3 [#dd1fc284]
+ review &ref(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 &ref(ex1029_1.m);
+ how to determine the model &ref(ex1029_2.m);
+ design example and simulation &ref(ex1029_3.m); &ref(mod1029.mdl);
%-- 10/29/2015 1:52 PM --%
ex1029_1
ex1029_2
ex1029_3
mod1029
c
c = 0.8
#ref(2015.10.29-1.jpg,left,noimg,whiteboard #1);
#ref(2015.10.29-2.jpg,left,noimg,whiteboard #2);
#ref(2015.10.29-3.jpg,left,noimg,whiteboard #3);
** &color(green){[lecture #8]}; 2015.11.5 Mixed sensitivity problem 3/3 [#oc5e65d6]
+ 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 &ref(ex1105_1.m);
+ gamma iteration by bisection method &ref(ex1105_2.m);
+ a problem of the mixed sensitivity problem: nominal performance and robust performance &ref(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
#ref(2015.11.05-1.jpg,left,noimg,whiteboard #1);
#ref(2015.11.05-2.jpg,left,noimg,whiteboard #2);
#ref(2015.11.05-3.jpg,left,noimg,whiteboard #3);
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
&color(black,red){&size(20){!!! the remaining page is under construction (the contents below are from 2014) !!!};};
//
** &color(green){[lecture #9]}; 2015.11.12 robust performance problem 1/3 [#tae1c2b9]
-- [[schedule2015]] mini report and exam
+ 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 &ref(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 &ref(ex1112_1.m);
+ H infinity norm of Delta hat
%-- 10/16/2014 1:00 PM --%
%-- 11/12/2015 1:01 PM --%
M = [j, 0; -j, 1]
M
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)
M'
M'*M
ex1016
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
#ref(2014.10.16-4.jpg,left,noimg,whiteboard #4);
#ref(2014.10.16-5.jpg,left,noimg,whiteboard #5);
#ref(2014.10.16-6.jpg,left,noimg,whiteboard #6);
#ref(2015.11.12-1.jpg,left,noimg,whiteboard #1);
#ref(2015.11.12-2.jpg,left,noimg,whiteboard #2);
#ref(2015.11.12-3.jpg,left,noimg,whiteboard #3);
#ref(2015.11.12-4.jpg,left,noimg,whiteboard #4);
** &color(green){[lecture #7]}; 2014.10.23 review of SVD, robust performance problem 1/3 (motivation of robust performance) [#m1b1601e]
- submission of mini report #1
- review of SVD : graphical image and rotation matrix for 2-by-2 real matrix case
#ref(ex1023_1.m);
- motivation of robust performance : nominal performance to robust performance
#ref(ex1023_2.m);
#ref(ex1023_3.m);
-Q: Σでノルムが決まる?→固有値で
-A: 与えられた行列Mを、入力をベクトル a、出力をベクトル b とする入出力システム
\[ b = M a \]
とみなすと、出力の2ノルムの最大値は、入力の2ノルムの
\[ \bar \sigma(M) \] 倍となります(それを超えるような a はない)。 質問の意図と違っている場合はまた聞いてください。
%-- 10/23/2014 12:58 PM --%
ex1023_1
A
S
V
V'*V
V'*V(:,1)
ex1009_1
ex1009_2
ex1023_2
ex1023_3
-Q: it was too fast
-A: This might be caused by my less explanation in Japanese. I will improve this in the next lecture.
#ref(2014.10.23-1.jpg,left,noimg,whiteboard #1);
#ref(2014.10.23-2.jpg,left,noimg,whiteboard #2);
#ref(2014.10.23-3.jpg,left,noimg,whiteboard #3);
** &color(green){[lecture #10]}; 2015.11.19 Robust performance problem (2/3) [#la4839f6]
-Q1: Is H infinity control theory available for discrete-time system ?
-A1: The answer is yes. You can use the same tool hinfsyn in Matlab to design discrete-time controller. If the question is to ask how to implement digital (discrete-time) controller for given continuous-time plant, there are 3 ways to do this: (i) continuous-time H infinity control based design (continuous-time controller is designed, then it is discretized); (ii) discretized H infinity control design (continuous-time plant is discretized first, then discrete-time controller is designed); (iii) sampled-data H infinity control design (discrete-time controller is directly designed for continuous-time plant)
** &color(green){[lecture #8]}; 2014.10.30 Robust performance problem (2/3) [#la4839f6]
+ return of mini report #1
+ review of the limitation of mixed sensitivity problem
+ definition of robust performance (R.P.) problem (cf. nominal performance problem on white board #6 in photo #4 of lecture #4) ... S is changed to S~
+ review of robust stability (R.S.) problem on white board #5 in photo #5 of lecture #3 ... robust stability against Delta <=> closed-loop system without Delta has less-than-or-equal-to-one H infinity norm (by small gain theorem)
+ equivalent R.P. problem with structured uncertainty Delta_hat
+ a conservative problem to R.P. with 2-by-2 unstructured uncertainty Delta_tilde
-- example based on the one given in the last lecture
#ref(ex1030_1.m);
-- a check of the conservativeness
#ref(ex1030_2.m);
+ Delta_tilde is larger set than Delta_hat ... conservativeness
+ mini exam #1
&ref(exam1.pdf);
+ 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 &ref(ex1119_1.m);
+ non structured uncertainty is considered ... the design problem is too conservative
%-- 10/30/2014 1:10 PM --%
ex1023_2
ex1023_3
%-- 11/19/2015 1:23 PM --%
doc hinfsyn
ex1105_2
ex1105_3
gam_opt
ex1030_1
ex1119_1
gam_opt
svd([1/sqrt(2), 0; 1/sqrt(2), 0])
#ref(2014.10.30-1.jpg,left,noimg,whiteboard #1);
#ref(2014.10.30-2.jpg,left,noimg,whiteboard #2);
#ref(2014.10.30-3.jpg,left,noimg,whiteboard #3);
#ref(2014.10.30-4.jpg,left,noimg,whiteboard #4);
#ref(2015.11.19-1.jpg,left,noimg,whiteboard #1);
#ref(2015.11.19-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #9]}; 2014.11.13 Robust performance problem (3/3) [#d50833d3]
-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,&br;
P1 is more solvable than P2 because of the smaller uncertain set. &br;
P2 is more tractable than P1 because of the ignorance of the structure.
- return of mini exam #1
- review
- inclusion relation of two uncertain set (structured and non-structured)
- scaled H infinity control problem
- effect of scaling matrix
- how to determine structure of scaling matrix
- example
#ref(ex1113_1.m);
#ref(ex1113_2.m);
- %%mini report #2%%
%-- 11/13/2014 12:58 PM --%
ex1023_2
gam_opt
ex1023_3
ex1030_1
gam_opt
ex1113
ex1113_1
gam_opt
ex1113_2
#ref(2014.11.13-1.jpg,left,noimg,whiteboard #1);
#ref(2014.11.13-2.jpg,left,noimg,whiteboard #2);
#ref(2014.11.13-3.jpg,left,noimg,whiteboard #3);
#ref(2014.11.13-4.jpg,left,noimg,whiteboard #4);
** &color(green){[lecture #11]}; 2015.11.26 Robust performance problem (3/3) [#d50833d3]
** &color(green){[lecture #10]}; 2014.11.20 Robust performance problem (1/3) (cont.) [#k0c92c66]
+ 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
//+ mini report #2 &ref(report2.pdf);
+ design example &color(red){moved to next lecture};
% less conservative design
ex1105_2
ex1105_3
ex1119_1
gam_opt0 = gam_opt;
K_opt0 = K_opt;
#ref(ex1126_1.m);
+ effect of scaling matrix &color(red){moved to next lecture};
#ref(ex1126_2.m);
+ mini exam #1
- review - effect of scaling
- mini report #2
#ref(2015.11.26-1.jpg,left,noimg,whiteboard #1);
#ref(2015.11.26-2.jpg,left,noimg,whiteboard #2);
-Q: 薄いマーカーが見辛い
-A: すみません。次回、新しいマーカーに交換してもらいます。
** &color(green){[lecture #12]}; 2015.12.3 Robust performance problem (3/3) (cont.), Control system design for practical system (1/3) [#k0c92c66]
+ 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 &color(red){(moved from the previous lecture)};
% less conservative design
ex1105_2
ex1105_3
ex1119_1
gam_opt0 = gam_opt;
K_opt0 = K_opt;
#ref(ex1126_1.m);
+ effect of scaling matrix &color(red){(moved from the previous lecture)};
#ref(ex1126_2.m);
+ mini report #2 &ref(report2.pdf);
-- write by hand
-- submit at the beginning of next lecture on 27 Nov.
-- 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 on 4 Dec.
- how to obtain generalized plant by hand
- %%example: H infinity controller design by hand%%
-- 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
#ref(exp_apparatus1.jpg,left,noimg);
#ref(exp_apparatus2.jpg,left,noimg);
-- 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
#ref(ex1203_1.m);
#ref(spk1.dat);
#ref(spk2.dat);
%-- 11/20/2014 1:11 PM --%
ex1023_2
ex1023_3
ex1030_1
ex1030_2
k
ex1113_1
ex1113_2
k
Delta_hat
%-- 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
#ref(2014.11.20-1.jpg,left,noimg,whiteboard #1);
#ref(2014.11.20-2.jpg,left,noimg,whiteboard #2);
#ref(2014.11.20-3.jpg,left,noimg,whiteboard #3);
#ref(2014.11.20-4.jpg,left,noimg,whiteboard #4);
#ref(2015.12.03-1.jpg,left,noimg,whiteboard #1);
#ref(2015.12.03-2.jpg,left,noimg,whiteboard #2);
#ref(2015.12.03-3.jpg,left,noimg,whiteboard #3);
** &color(green){[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)%% [#p666d14d]
- return of mini report #2
- contents for the last lecture
- %%speed control of two inertia system with servo motor%%&br;
%%&ref(setup.pdf);%%
- %%frequency response experiment and physical model of speed control system%%&br;
%%&ref(ex1204_1.m);%%&br;
%%&ref(ex1204_2.dat);%%
- mini exam #2
-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.
%-- 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
** &color(green){[lecture #13]}; 2015.12.10 Control system design for practical system (2/3) [#o15403b0]
#ref(2014.12.4-1.jpg,left,noimg,whiteboard #1);
#ref(2014.12.4-2.jpg,left,noimg,whiteboard #2);
+ 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)&br;
&ref(nominal.m);&br; &ref(subspace.m); ... replacement of n4sid in System Identification Toolbox (not provided in IPC)&br;
&ref(weight.m);
-- configuration of generalized plant and controller design by scaled H infinity control problem using one-dimensional search on the scaling d&br;
&ref(cont.m);
-- comparison of closed-loop gain characteristics with and without control&br;
&ref(compare.m);
-- result of control experiment&br;
&ref(result.dat);&br; &ref(compare_result.m);
+ room 157 @ Dept. Mech. Bldg.2
** &color(green){[lecture #13]}; 2014.12.11 Robust control design for a practical system : Speed control of two inertia system with servo motor (1/3) [#x7c8c11b]
ex1203_1
ctrlpref
ex1203_1
346/3.6
ex1203_1
nominal
weight
cont
nominal
compare
compare_result
- return of mini exam #2
- introduction of experimental setup
#ref(setup.pdf);
#ref(photo1.jpg,left,noimg);
- 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(ex1211_1.m);
#ref(ex1211_2.dat);
#ref(ex1211_3.dat);
#ref(ex1211_4.dat);
- %%determination of nominal plant%%&br;
%%&ref(ex1211_5.m);%%
- %%determination of weighting function%%&br;
%%&ref(ex1211_6.m);%%
#ref(2015.12.10-1.jpg,left,noimg,whiteboard #1);
#ref(2015.12.10-2.jpg,left,noimg,whiteboard #2);
%-- 12/11/2014 1:24 PM --%
ex1211_1
frdata
frdata(:,1)
P1_jw
P1_g
ex1211_1
-Q: Each of the files I wanted to clarify what they represent.
-A: A detailed explanation will be given in the next lecture.
#ref(2014.12.11-1.jpg,left,noimg,whiteboard #1);
-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)
** &color(green){[lecture #14]}; 2015.12.17 Control system design for practical system (3/3) [#ja8537cc]
-Q: 周波数応答実験について、定常応答になるのにどのくらい待っているか?音が大きくなるのはゲインが高いから?周波数変化のきざみは?
-A: 待ち時間は3秒です。音の発生源はよくわかりませんし、騒音計などで計測したこともありませんが、大きな音が聞こえるのは共振周波数付近です。周波数変化の刻みは常用対数で0.01です。以下に掲載するプログラムソースの freqresp.h 中で指定しています。
** &color(green){[lecture #14]}; 2014.12.18 Robust control design for a practical system : Speed control of two inertia system with servo motor (2/3) [#yac6fbae]
- design example
//-- modeling based on frequency response experiment
//- design example 1 : PI control
//-- control experiment
//#ref(cont_PI.dat,,,`cont.dat' file for P control);
//#ref(cont_P_order.dat,,,`cont_order.dat' file for P control);
//#ref(result_P.dat);
//#ref(result_openloop.dat);
//#ref(openloop.mp4);
//#ref(ex1.mp4);
//- design example 2 : H infinity control
-- m-files
#ref(freqresp.m);
#ref(nominal.m);
#ref(weight.m);
#ref(cont.m);
#ref(perf.m);
>> 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 &color(red){(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)?
--&size(30){&color(red){due date: 9th(Fri) Jan 17:00};};
+ 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 &color(red){(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)?
--&size(30){&color(red){due date: 8th(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 &size(25){&color(red){cont.dat, cont_order.dat, and cont.mat};}; to kobayasi@nagaokaut.ac.jp &size(30){&color(red){not later than 26th(Fri) Dec};};
- program sources for frequency response experiment
#ref(freqresp.h)
#ref(freqresp_module.c)
#ref(freqresp_app.c)
-- 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(hinf.h)
#ref(hinf_module.c)
#ref(hinf_app.c)
-- 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
-- reference signal is generated as described in hinf_module.c:
if((t > 1)&&(t < 4)){
r = 20.0;
}else{
r = 10;
--maximum controller order is 35
--submit your &size(25){&color(red){controller.dat, controller_order.dat, and controller.mat};}; %%to kobayasi@nagaokaut.ac.jp%% &color(magenta){&size(30){at this page:[[participant list2015>/:~exp/seigyokougakutokuron_2015]](download is also possible)};}; &size(30){&color(red){not later than 25th(Fri) Dec};};
--You can send up to 5 controllers
--&size(25){&color(red){[[control experimental results will be uploaded here>/:~exp/seigyokougakutokuron_2015/exp]]};};
--freqresp ... frequency response will be measured and uploaded everyday
+ 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>/:~exp/seigyokougakutokuron_2015/freqresp.h]]
-- [[freqresp_module.c>/:~exp/seigyokougakutokuron_2015/freqresp_module.c]]
-- [[freqresp_app.c>/:~exp/seigyokougakutokuron_2015/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>/:~exp/seigyokougakutokuron_2015/hinf.h]]
-- [[hinf_module.c>/:~exp/seigyokougakutokuron_2015/hinf_module.c]]
-- [[hinf_app.c>/:~exp/seigyokougakutokuron_2015/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;
}
-- disturbance torque is specified as described in hinf_module.c:
if((t > 2)&&(t < 3)){
d = -0.1;
}else{
d = 0;
}
- 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.
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>/:~exp/seigyokougakutokuron_2015]]%%
//
+ mini exam #2
[[participant list2014]]
%-- 12/17/2015 1:36 PM --%
help bodemag
%-- 12/18/2014 1:01 PM --%
freqresp
nominal
help fitfrd
weight
cont
help c2d
perf
#ref(2015.12.17-1.jpg,left,noimg,whiteboard #1);
#ref(2014.12.18-1.jpg,left,noimg,whiteboard #1);
#ref(2014.12.18-2.jpg,left,noimg,whiteboard #2);
-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.
//[[network camera>/:~exp/picture/image.jpg]]
** &color(green){[lecture #15]}; 2014.12.25 Robust control design for a practical system : Speed control of two inertia system with servo motor (3/3) [#f5d0b7b4]
//#ref(2014.12.18-1.jpg,left,noimg,whiteboard #1);
//#ref(2014.12.18-2.jpg,left,noimg,whiteboard #2);
-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(2014.12.25-1.jpg,left,noimg,whiteboard #1);
#ref(2014.12.25-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #15]}; 2015.12.24 Control system design for practical system (cont.) [#a165727c]
- 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
#ref(2015.12.24-1.jpg,left,noimg,whiteboard #1);
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//&color(black,red){&size(20){!!! the remaining page is under construction (the contents below are from 2014) !!!};};
//
//**related links [#g1a68a2b]
//-東ティモール工学部復興支援/support of rehabilitation for faculty of eng. National University of Timor-Leste
//--[[How to control objects>/:~kobayasi/easttimor/2009/index.html]] to design, to simulate and to experiment control system by using MATLAB/Simulink with an application of Inverted Pendulum
//--[[Prof. Kimura's page>http://sessyu.nagaokaut.ac.jp/~kimuralab/index.php?%C0%A9%B8%E6%B9%A9%B3%D8%C6%C3%CF%C0]]