授業/制御工学特論2016
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[授業]]
*Advanced Automation [#w9399f71]
** &color(green){[lecture #1]}; 2016.9.1 outline of the l...
- 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%
-- [[schedule2016]] (tentative)
-- map
#ref(授業/制御工学特論2015/map_v1.0_review.pdf);
- review : stabilization of SISO 1st-order unstable plant...
-- transfer functions / differential equations
-- poles / eigenvalues
-- impulse response / initial condition response
-- ...
%-- 2016/09/01 14:26 --%
s = tf('s')
k = 2
alpha = -1
Tyr = k/(s+alpha+k)
step(Tyr, 'b')
k = 100
Tyr2 = k/(s+alpha+k)
step(Tyr, 'b', Try2, 'r--')
step(Tyr, 'b', Tyr2, 'r--')
#ref(2016.09.01-1.jpg,left,noimg,whiteboard #1);
#ref(2016.09.01-2.jpg,left,noimg,whiteboard #2);
#ref(2016.09.01-3.jpg,left,noimg,whiteboard #3);
** &color(green){[lecture #2]}; 2016.9.8 review of classi...
+ introduction of Matlab and Simulink
&ref(授業/制御工学特論2015/text_fixed.pdf); Basic usage o...
-- interactive system (no compilation, no variable difini...
-- m file
//
+ system representation: Transfer Function(TF) / State-Sp...
//
-- 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(ex0908_1.m); &re...
--- 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(ex0908_2.m); &ref(mod0908_2.mdl);
--- Gain Margin(GM); Phase Margin(PM)
%-- 2016/09/08 13:08 --%
a = 1
a
pwd
ls
ex0908_1
sqrt(m/k)/(2*pi)
sqrt(k/m)/(2*pi)
#ref(2016.09.08-1.jpg,left,noimg,whiteboard #1);
#ref(2016.09.08-2.jpg,left,noimg,whiteboard #2);
#ref(2016.09.08-3.jpg,left,noimg,whiteboard #3);
#ref(2016.09.08-4.jpg,left,noimg,whiteboard #4);
** &color(green){[lecture #3]}; 2016.9.15 review of class...
+ 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(授業/制御工学特論2015/lqr.pdf); ≒ &ref(授業/制御工学...
+ example
&ref(mod0915.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
%-- 2016/09/15 14:18 --%
mod0915
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
x0
J
x0'*P*x0
plot(t, J)
#ref(2016.09.15-1.jpg,left,noimg,whiteboard #1);
#ref(2016.09.15-2.jpg,left,noimg,whiteboard #2);
#ref(2016.09.15-3.jpg,left,noimg,whiteboard #3);
-Q: 各行列の意味がよくわからなかった。
-A: Matlab で入力した行列のことと仮定して回答します(そう...
A = [1, 2; 0, -1]; % unstable plant
B = [0; 1];
は、制御対象の例として与えました。何でも良いですが、ここ...
Uc = ctrb(A,B);
det(Uc) % should be nonzero
は、可制御性を確認している部分です。(A,B)の可制御性行列を...
C = eye(2); % dummy
D = zeros(2,1); % dummy
おそらくこの部分を全く説明しなかったので混乱していると思...
この C と D を y = Cx + Du に代入すると、y = x となります...
F = [0, 0]; % without control
フィードバック制御無しの設定です。ここまで入力して一度、...
x0 = [1; 1]; % initial state
初期値ベクトルを適当に与えています。
Q = eye(2);
R = 1;
評価関数の重み行列(という呼び方で説明しなかったと思いま...
P = are(A, B/R*B', Q);
リカッチ方程式の正定解Pを計算します。この結果を実際にリカ...
eig(P) % should be positive
全て正の実数となることから、実際に正定となっていることを...
F = R\B'*P;
状態フィードバックゲインFを計算しています。
x0'*P*x0
評価関数Jの最小値を表示します。スカラの簡単な場合について...
** &color(green){[lecture #4]}; 2016.9.29 relation betwee...
- GOAL: to learn difference in concepts between LQR probl...
//- review of LQR problem and the simple example
+ a simple example relating LQR and H infinity control pr...
-- For given plant G
\[
G = \left[\begin{array}{c|c:c} a & 1 & b \\ \hline \sqrt{...
= \left\{ \begin{array}{l} \dot x = ax + bu + w\\ z = \le...
\]
with zero initial condition x(0) = 0,
find a state-feedback controller
\[ u = -f x \]
such that
\begin{eqnarray}
(i) &&\quad \mbox{closed loop is stable} \\
(ii) &&\quad
\left\{\begin{array}{l} \| z \|_2 \rightarrow \mbox{min f...
\| T_{zw} \|_\infty \rightarrow \mbox{min} \quad \mbox{($...
\end{eqnarray}
-- comparison of norms in (ii) (for a = -1, b = 1, q = 1,...
\[
\begin{array}{|c||c|c|}\hline
& \mbox{LQR}: f=-1+\sqrt{2} & \quad \quad H_\infty: f=1\q...
J=\|z\|_2^2 & & \\ \hline
\|T_{zw}\|_\infty & & \\ \hline
\end{array}
\]
+ an alternative description to LQR problem
++ J and L2 norm of z
++ impulse disturbance resp. with zero initial condition ...
+ 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(ex0929.m);
%-- 2016/09/29 13:46 --%
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')
format long e
norm(P2, 'inf')
grid on
ex0929
#ref(2016.09.29-1.jpg,left,noimg,whiteboard #1);
#ref(2016.09.29-2.jpg,left,noimg,whiteboard #2);
#ref(2016.09.29-3.jpg,left,noimg,whiteboard #3);
#ref(2016.09.29-4.jpg,left,noimg,whiteboard #4);
-Q: H∞ノルムが何を表しているのか
-A: 簡単に言うと安定なシステムの最大ゲインです。
** &color(green){[lecture #5]}; 2016.10.6 relation betwee...
+ complete the table in simple example
+ confirm the cost function J for both controllers by sim...
-- block diagram in the simulink model
-- how to approximate impulse disturbance
-- impulse disturbance resp. with zero initial condition ...
+ confirm the closed-loop H infinity norm for both contro...
-- review: steady-state response (see whiteboard#4 @ lec....
-- H infinity norm = L2 induced norm
-- how to construct the worst-case disturbance w(t) which...
-- what is the worst-case disturbance in the simple examp...
+ general case: &ref(授業/制御工学特論2015/hinf.pdf); inc...
-- LQR &ref(授業/制御工学特論2015/lqr.pdf); is included a...
%-- 2016/10/06 13:09 --%
1/sqrt(2)
sqrt(2+sqrt(2))
sqrt(2-sqrt(2))
mod1006
ex0929
A
B
C
D
h
h = 0.01
x0 = 0
f
f = -1+sqrt(2)
zz
zz(end)
h = 0.0001
zz(end)
x0
x0 = 1
zz(end)
f
f = 1
x0
x0 = 0
zz(end)
x0
h
h = 10
zz(end)/ww(end)
sqrt(zz(end)/ww(end))
f
h = 100
sqrt(zz(end)/ww(end))
f
f = -1+sqrt(2)
sqrt(zz(end)/ww(end))
&ref(2016.10.06-1.jpg,left,noimg,whiteboard #1); ... sorr...
#ref(2016.10.06-2.jpg,left,noimg,whiteboard #2);
#ref(2016.10.06-3.jpg,left,noimg,whiteboard #3);
-Q: Some things can not be described clearly.
-A: Can you ask me in detail ?
** &color(green){[lecture #6]}; 2016.10.13 Mixed sensitiv...
+ review: LQR and H infinity
+ outline: &ref(授業/制御工学特論2015/map_v1.0_intro1.pdf...
+ H infinity control problem (general case)
+ reference tracking problem
+ weighting function for sensitivity function
+ design example &ref(ex1013_1.m); &ref(ex1013_2.m);
+ the small gain theorem
-- proof: Nyquist stability criterion
+ from performance optimization to robust stabilization
%-- 2016/10/13 13:58 --%
ex1013_1
P
pole(P)
ex1013_2
K
K_hinf
eig(K_hinf.a)
#ref(2016.10.13-1.jpg,left,noimg,whiteboard #1);
#ref(2016.10.13-2.jpg,left,noimg,whiteboard #2);
#ref(2016.10.13-3.jpg,left,noimg,whiteboard #3);
#ref(2016.10.13-4.jpg,left,noimg,whiteboard #4);
** &color(green){[lecture #7]}; 2016.10.20 Mixed sensitiv...
+ review &ref(授業/制御工学特論2015/map_v1.0_intro2.pdf);...
+ an equivalent problem of robust stabilization for refer...
+ uncertainty model and normalized uncertainty Delta
+ how to determine P0 and WT
-- example: frequency response of plant with perturbation...
-- frequency response based procedure for P0 and WT &ref(...
+ robust stabilization problem and equivalent problem
-- design example and simulation &ref(ex1020_3.m); &ref(m...
%-- 2016/10/20 13:36 --%
ex1020_1
ex1020_2
ex1020_3
mod1020
c
#ref(2016.10.20-1.jpg,left,noimg,whiteboard #1);
#ref(2016.10.20-2.jpg,left,noimg,whiteboard #2);
#ref(2016.10.20-3.jpg,left,noimg,whiteboard #3);
-Q: Δは、何を表しているのか忘れてしまったので、もう一度説...
-A: 安定で、H∞ノルムが1以下の1入出力系です(最大ゲインが1...
** &color(green){[lecture #8]}; 2016.10.27 Mixed sensitiv...
- review: &ref(授業/制御工学特論2015/map_v1.0_intro2.pdf)...
- outline:
++ how to design controllers considering both conditions ...
++ gap between nominal performance and robust performance
+ mixed sensitivity problem ---> (1) and (2) : proof
+ generalized plant for mixed senstivity problem
+ design example &ref(ex1027_1.m); minimize gamma by hand
+ gamma iteration by bisection method &ref(ex1027_2.m);
+ nominal performance and robust performance &ref(ex1027_...
+ introduction of robust performance problem
%-- 2016/10/27 13:46 --%
ex1027_1
K
ex1027_2
ex1027_3
#ref(2016.10.27-1.jpg,left,noimg,whiteboard #1);
#ref(2016.10.27-2.jpg,left,noimg,whiteboard #2);
... sorry for the mistake in the left-upper inequality, p...
#ref(2016.10.27-3.jpg,left,noimg,whiteboard #3);
-Q:
\[\left[\begin{array}{cc} \overline{m_1(j\omega)} & \over...
とならないでしょうか?
-A: ごめんなさい、その通りです。できれば授業中に訂正して...
** &color(green){[]}; 2016.11.10 canceled [#b7a3b275]
** &color(green){[lecture #9]}; 2016.11.17 robust perform...
-- [[schedule2016]] &color(blue){(modified)}; mini report...
+ review
-- mixed sensitivity problem
ex1027_1
ex1027_2
ex1027_3
-- robust performance problem
c.f. the last whiteboard
+ an equivalent robust stability problem
+ definition of H infinity norm for general case (MIMO)
-- definition of singular values and the maximum singular...
M = [1/sqrt(2), 1/sqrt(2); j, -j]
M'
eig(M'*M)
svd(M)
-- mini report #1 &ref(report1.pdf); ... You will have a ...
+ proof of ||Delta hat||_inf <= 1
+ design example: &ref(ex1117_1.m);
-- robust performance is achieved but large gap
-- non structured uncertainty is considered ... the desig...
%-- 2016/11/17 13:05 --%
ex1027_1
ex1027_2
ex1027_3
M = [1/sqrt(2), 1/sqrt(2); j, -j]
M'
eig(M'*M)
svd(M)
ex1117_1
#ref(2016.11.17-1.jpg,left,noimg,whiteboard #1);
#ref(2016.11.17-2.jpg,left,noimg,whiteboard #2);
#ref(2016.11.17-3.jpg,left,noimg,whiteboard #3);
#ref(2016.11.17-4.jpg,left,noimg,whiteboard #4);
-Q: 特異値は何を意味しているのか?
-Q: 特異点(値:小林註)は何を表していますか?(最大特異...
-A: 次回、特異値分解(singular value decomposition)と共に...
** &color(green){[lecture #10]}; 2016.11.24 Robust perfor...
+ return of mini report #1
+ review
-- robust performance but too conservative
ex1027_2
ex1117_1
-- structured unertainty Delta hat and unstructured uncer...
-- robust stability problem for Delta hat and its equival...
+ SVD: singular value decomposition
-- definition
-- meaning off the largest singular value
-- 2-norm of vectors
-- SVD for 2-by-2 real matrix &ref(ex1124_1.m);
%-- 2016/11/24 13:04 --%
ex1027_2
ex1117_1
M = [1/sqrt(2), 0; 1/sqrt(2), 0]
svd(M)
M
[U, S, V] = svd(M)
[U, S, V] = svd(M);
U
V
U*S*V'
U*S*V' - M
S
U'*'
U'*U
V'*V
help norm
ex1124_1
#ref(2016.11.24-1.jpg,left,noimg,whiteboard #1);
#ref(2016.11.24-2.jpg,left,noimg,whiteboard #2);
#ref(2016.11.24-3.jpg,left,noimg,whiteboard #3);
#ref(2016.11.24-4.jpg,left,noimg,whiteboard #4);
-Q: ホワイトボード◯6の a=v1 の v1 が V* の成分だった理由...
-A: 説明が悪かったと思いますが、m×m行列 V の第一列を列ベ...
** &color(green){[lecture #11]}; 2016.12.1 Robust perform...
+ review: conservative design with Delta tilde
+ scaled H infinity control problem
+ how to determine structure of scaling matrix
+ design example &ref(ex1201_1.m);
ex1027_2
ex1117_1
gam_opt0 = gam_opt
K_opt0 = K_opt;
ex1201_1
gam_opt
+ mini exam #1
#ref(2016.12.01-1.jpg,left,noimg,whiteboard #1);
#ref(2016.12.01-2.jpg,left,noimg,whiteboard #2);
%-- 2016/12/01 13:59 --%
ex1027_2
ex1117_1
gam_opt
gam_opt0 = gam_opt
K_opt0 = K_opt;
ex1201_1
gam_opt
gam_opt0
d_opt
** &color(green){[lecture #12]}; 2016.12.8 Robust perform...
+ return of mini exam #1;
+ review of the scaled H infinity control problem
+ effect of scaling &ref(ex1208_1.m);
ex1027_2
ex1117_1
gam_opt0 = gam_opt
K_opt0 = K_opt;
ex1201_1
gam_opt
ex1208_1
+ mini report #2 %%&ref(report2.pdf);%% &color(red){&size...
+ introduction of a practical system: active noise contro...
-- experimental setup
#ref(授業/制御工学特論2015/exp_apparatus1.jpg,left,noimg);
#ref(授業/制御工学特論2015/exp_apparatus2.jpg,left,noimg);
-- objective of control system: to drive control loudspea...
-- frequency response experiment
#ref(ex1208_2.m);
#ref(spk1.dat);
#ref(spk2.dat);
%-- 2016/12/08 13:25 --%
ex1027_2
ex1117_1
gam_opt0 = gam_opt
K_opt0 = K_opt;
ex1201_1
gam_opt
ex1208_1
ex1208_1
format long
ex1208_1
M = [0, 0.5; sqrt(2), 0]
W = mdiag(1/sqrt(3), 0)
W = mdiag(1/sqrt(3), 1)
svd(M)
Mhat = inv(W)*M*W
Mhat = W\M*W
svd(Mhat)
ex1208_2
#ref(2016.12.08-1.jpg,left,noimg,whiteboard #1);
#ref(2016.12.08-2.jpg,left,noimg,whiteboard #2);
#ref(2016.12.08-3.jpg,left,noimg,whiteboard #3);
** &color(green){[lecture #13]}; 2016.12.15 Control syste...
+ return of mini report #2
-- mini exam #2
-- [[schedule2016]] Dec.20(added)
+ review of the experimental system
-- closed-loop system of 2-by-2 plant G and controller K
-- closed-loop gain is desired to be minimized
-- how to handle modeling error of G ?
+ design example
-- determination of plant model(nominal plant and additiv...
&ref(nominal.m);&br; &ref(subspace.m); ... replacement of...
&ref(weight.m);
-- configuration of generalized plant and controller desi...
&ref(cont.m);
-- comparison of closed-loop gain characteristics with an...
&ref(compare.m);
-- result of control experiment&br;
&ref(result.dat);&br; &ref(compare_result.m);
+ room 157 @ Dept. Mech. Bldg.2
+ final report and remote experimental system
++design your controller(s) so that the system performanc...
++Draw the following figures and explain the difference b...
+++bode diagram of controllers
+++gain characteristic of closed-loop system from w to z
+++time response and frequency spectrum (PSD) of control ...
++Why is the performance of your system improved(or unfor...
--&size(30){&color(red){due date: 6th(Fri) Jan 17:00};};
--submit your report(pdf or doc) by e-mail to kobayasi@na...
--You can use Japanese
--maximum controller order is 35
--submit your &size(25){&color(red){controller.dat, contr...
--Your login password will be e-mailed on Dec 16.
--You can send up to 5 controllers
--&size(25){&color(red){[[control experimental results wi...
--freqresp ... frequency response will be measured and up...
+ 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_2016/freqresp...
-- [[freqresp_module.c>/:~exp/seigyokougakutokuron_2016/f...
-- [[freqresp_app.c>/:~exp/seigyokougakutokuron_2016/freq...
-- format of spk1.dat (u is used instead of w for spk2.da...
---1st column ... frequency (Hz)
---2nd column ... gain from w(V) to y(V) (signal's unit i...
---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_2016/hinf.h]]
-- [[hinf_module.c>/:~exp/seigyokougakutokuron_2016/hinf_...
-- [[hinf_app.c>/:~exp/seigyokougakutokuron_2016/hinf_app...
-- 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...
#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.); // uni...
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...
-- control signal u is limited to [-4, 4] as specified in...
#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 ...
-- a high pass filter with cut-off frequency are used to ...
// 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_20...
//
//+ mini exam #2
//[[network camera>/:~exp/picture/image.jpg]]
%-- 2016/12/15 13:18 --%
ls
nominal
ls data
nominal
ctrlpre
ctrlpref
nominal
345/3.6
who
G0
size(G0.a)
weight
help n4sid
eig(A)
max(real(eig(A)))
weight
cont
compare
compare_result
#ref(2016.12.15-1.jpg,left,noimg,whiteboard #1);
#ref(2016.12.15-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #14]}; 2016.12.20 Control syste...
- preparation of your own controller(s) by using the remo...
but no explanation will be given (Kobayashi will not be i...
** &color(green){[lecture #15]}; 2016.12.22 Control syste...
- preparation of your own controller(s)
- mini exam #2
- questionnaires
-- to university
-- for web-based experimental environment
%-- 2016/12/22 13:09 --%
weight
load result.dat
pwd
load data/result.dat;
plot(result(:,1),result(:,4),'-');
compare
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//&color(black,red){&size(20){!!! the remaining page is u...
//
#ref(2016.12.22-1.jpg,left,noimg,whiteboard #1);
-Q:ミニ試験2の返却は行いますか?
-A:部屋まで来てもらえれば週明けに返します。
//**related links [#g1a68a2b]
//-東ティモール工学部復興支援/support of rehabilitation f...
//--[[How to control objects>/:~kobayasi/easttimor/2009/i...
//--[[Prof. Kimura's page>http://sessyu.nagaokaut.ac.jp/~...
終了行:
[[授業]]
*Advanced Automation [#w9399f71]
** &color(green){[lecture #1]}; 2016.9.1 outline of the l...
- 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%
-- [[schedule2016]] (tentative)
-- map
#ref(授業/制御工学特論2015/map_v1.0_review.pdf);
- review : stabilization of SISO 1st-order unstable plant...
-- transfer functions / differential equations
-- poles / eigenvalues
-- impulse response / initial condition response
-- ...
%-- 2016/09/01 14:26 --%
s = tf('s')
k = 2
alpha = -1
Tyr = k/(s+alpha+k)
step(Tyr, 'b')
k = 100
Tyr2 = k/(s+alpha+k)
step(Tyr, 'b', Try2, 'r--')
step(Tyr, 'b', Tyr2, 'r--')
#ref(2016.09.01-1.jpg,left,noimg,whiteboard #1);
#ref(2016.09.01-2.jpg,left,noimg,whiteboard #2);
#ref(2016.09.01-3.jpg,left,noimg,whiteboard #3);
** &color(green){[lecture #2]}; 2016.9.8 review of classi...
+ introduction of Matlab and Simulink
&ref(授業/制御工学特論2015/text_fixed.pdf); Basic usage o...
-- interactive system (no compilation, no variable difini...
-- m file
//
+ system representation: Transfer Function(TF) / State-Sp...
//
-- 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(ex0908_1.m); &re...
--- 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(ex0908_2.m); &ref(mod0908_2.mdl);
--- Gain Margin(GM); Phase Margin(PM)
%-- 2016/09/08 13:08 --%
a = 1
a
pwd
ls
ex0908_1
sqrt(m/k)/(2*pi)
sqrt(k/m)/(2*pi)
#ref(2016.09.08-1.jpg,left,noimg,whiteboard #1);
#ref(2016.09.08-2.jpg,left,noimg,whiteboard #2);
#ref(2016.09.08-3.jpg,left,noimg,whiteboard #3);
#ref(2016.09.08-4.jpg,left,noimg,whiteboard #4);
** &color(green){[lecture #3]}; 2016.9.15 review of class...
+ 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(授業/制御工学特論2015/lqr.pdf); ≒ &ref(授業/制御工学...
+ example
&ref(mod0915.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
%-- 2016/09/15 14:18 --%
mod0915
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
x0
J
x0'*P*x0
plot(t, J)
#ref(2016.09.15-1.jpg,left,noimg,whiteboard #1);
#ref(2016.09.15-2.jpg,left,noimg,whiteboard #2);
#ref(2016.09.15-3.jpg,left,noimg,whiteboard #3);
-Q: 各行列の意味がよくわからなかった。
-A: Matlab で入力した行列のことと仮定して回答します(そう...
A = [1, 2; 0, -1]; % unstable plant
B = [0; 1];
は、制御対象の例として与えました。何でも良いですが、ここ...
Uc = ctrb(A,B);
det(Uc) % should be nonzero
は、可制御性を確認している部分です。(A,B)の可制御性行列を...
C = eye(2); % dummy
D = zeros(2,1); % dummy
おそらくこの部分を全く説明しなかったので混乱していると思...
この C と D を y = Cx + Du に代入すると、y = x となります...
F = [0, 0]; % without control
フィードバック制御無しの設定です。ここまで入力して一度、...
x0 = [1; 1]; % initial state
初期値ベクトルを適当に与えています。
Q = eye(2);
R = 1;
評価関数の重み行列(という呼び方で説明しなかったと思いま...
P = are(A, B/R*B', Q);
リカッチ方程式の正定解Pを計算します。この結果を実際にリカ...
eig(P) % should be positive
全て正の実数となることから、実際に正定となっていることを...
F = R\B'*P;
状態フィードバックゲインFを計算しています。
x0'*P*x0
評価関数Jの最小値を表示します。スカラの簡単な場合について...
** &color(green){[lecture #4]}; 2016.9.29 relation betwee...
- GOAL: to learn difference in concepts between LQR probl...
//- review of LQR problem and the simple example
+ a simple example relating LQR and H infinity control pr...
-- For given plant G
\[
G = \left[\begin{array}{c|c:c} a & 1 & b \\ \hline \sqrt{...
= \left\{ \begin{array}{l} \dot x = ax + bu + w\\ z = \le...
\]
with zero initial condition x(0) = 0,
find a state-feedback controller
\[ u = -f x \]
such that
\begin{eqnarray}
(i) &&\quad \mbox{closed loop is stable} \\
(ii) &&\quad
\left\{\begin{array}{l} \| z \|_2 \rightarrow \mbox{min f...
\| T_{zw} \|_\infty \rightarrow \mbox{min} \quad \mbox{($...
\end{eqnarray}
-- comparison of norms in (ii) (for a = -1, b = 1, q = 1,...
\[
\begin{array}{|c||c|c|}\hline
& \mbox{LQR}: f=-1+\sqrt{2} & \quad \quad H_\infty: f=1\q...
J=\|z\|_2^2 & & \\ \hline
\|T_{zw}\|_\infty & & \\ \hline
\end{array}
\]
+ an alternative description to LQR problem
++ J and L2 norm of z
++ impulse disturbance resp. with zero initial condition ...
+ 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(ex0929.m);
%-- 2016/09/29 13:46 --%
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')
format long e
norm(P2, 'inf')
grid on
ex0929
#ref(2016.09.29-1.jpg,left,noimg,whiteboard #1);
#ref(2016.09.29-2.jpg,left,noimg,whiteboard #2);
#ref(2016.09.29-3.jpg,left,noimg,whiteboard #3);
#ref(2016.09.29-4.jpg,left,noimg,whiteboard #4);
-Q: H∞ノルムが何を表しているのか
-A: 簡単に言うと安定なシステムの最大ゲインです。
** &color(green){[lecture #5]}; 2016.10.6 relation betwee...
+ complete the table in simple example
+ confirm the cost function J for both controllers by sim...
-- block diagram in the simulink model
-- how to approximate impulse disturbance
-- impulse disturbance resp. with zero initial condition ...
+ confirm the closed-loop H infinity norm for both contro...
-- review: steady-state response (see whiteboard#4 @ lec....
-- H infinity norm = L2 induced norm
-- how to construct the worst-case disturbance w(t) which...
-- what is the worst-case disturbance in the simple examp...
+ general case: &ref(授業/制御工学特論2015/hinf.pdf); inc...
-- LQR &ref(授業/制御工学特論2015/lqr.pdf); is included a...
%-- 2016/10/06 13:09 --%
1/sqrt(2)
sqrt(2+sqrt(2))
sqrt(2-sqrt(2))
mod1006
ex0929
A
B
C
D
h
h = 0.01
x0 = 0
f
f = -1+sqrt(2)
zz
zz(end)
h = 0.0001
zz(end)
x0
x0 = 1
zz(end)
f
f = 1
x0
x0 = 0
zz(end)
x0
h
h = 10
zz(end)/ww(end)
sqrt(zz(end)/ww(end))
f
h = 100
sqrt(zz(end)/ww(end))
f
f = -1+sqrt(2)
sqrt(zz(end)/ww(end))
&ref(2016.10.06-1.jpg,left,noimg,whiteboard #1); ... sorr...
#ref(2016.10.06-2.jpg,left,noimg,whiteboard #2);
#ref(2016.10.06-3.jpg,left,noimg,whiteboard #3);
-Q: Some things can not be described clearly.
-A: Can you ask me in detail ?
** &color(green){[lecture #6]}; 2016.10.13 Mixed sensitiv...
+ review: LQR and H infinity
+ outline: &ref(授業/制御工学特論2015/map_v1.0_intro1.pdf...
+ H infinity control problem (general case)
+ reference tracking problem
+ weighting function for sensitivity function
+ design example &ref(ex1013_1.m); &ref(ex1013_2.m);
+ the small gain theorem
-- proof: Nyquist stability criterion
+ from performance optimization to robust stabilization
%-- 2016/10/13 13:58 --%
ex1013_1
P
pole(P)
ex1013_2
K
K_hinf
eig(K_hinf.a)
#ref(2016.10.13-1.jpg,left,noimg,whiteboard #1);
#ref(2016.10.13-2.jpg,left,noimg,whiteboard #2);
#ref(2016.10.13-3.jpg,left,noimg,whiteboard #3);
#ref(2016.10.13-4.jpg,left,noimg,whiteboard #4);
** &color(green){[lecture #7]}; 2016.10.20 Mixed sensitiv...
+ review &ref(授業/制御工学特論2015/map_v1.0_intro2.pdf);...
+ an equivalent problem of robust stabilization for refer...
+ uncertainty model and normalized uncertainty Delta
+ how to determine P0 and WT
-- example: frequency response of plant with perturbation...
-- frequency response based procedure for P0 and WT &ref(...
+ robust stabilization problem and equivalent problem
-- design example and simulation &ref(ex1020_3.m); &ref(m...
%-- 2016/10/20 13:36 --%
ex1020_1
ex1020_2
ex1020_3
mod1020
c
#ref(2016.10.20-1.jpg,left,noimg,whiteboard #1);
#ref(2016.10.20-2.jpg,left,noimg,whiteboard #2);
#ref(2016.10.20-3.jpg,left,noimg,whiteboard #3);
-Q: Δは、何を表しているのか忘れてしまったので、もう一度説...
-A: 安定で、H∞ノルムが1以下の1入出力系です(最大ゲインが1...
** &color(green){[lecture #8]}; 2016.10.27 Mixed sensitiv...
- review: &ref(授業/制御工学特論2015/map_v1.0_intro2.pdf)...
- outline:
++ how to design controllers considering both conditions ...
++ gap between nominal performance and robust performance
+ mixed sensitivity problem ---> (1) and (2) : proof
+ generalized plant for mixed senstivity problem
+ design example &ref(ex1027_1.m); minimize gamma by hand
+ gamma iteration by bisection method &ref(ex1027_2.m);
+ nominal performance and robust performance &ref(ex1027_...
+ introduction of robust performance problem
%-- 2016/10/27 13:46 --%
ex1027_1
K
ex1027_2
ex1027_3
#ref(2016.10.27-1.jpg,left,noimg,whiteboard #1);
#ref(2016.10.27-2.jpg,left,noimg,whiteboard #2);
... sorry for the mistake in the left-upper inequality, p...
#ref(2016.10.27-3.jpg,left,noimg,whiteboard #3);
-Q:
\[\left[\begin{array}{cc} \overline{m_1(j\omega)} & \over...
とならないでしょうか?
-A: ごめんなさい、その通りです。できれば授業中に訂正して...
** &color(green){[]}; 2016.11.10 canceled [#b7a3b275]
** &color(green){[lecture #9]}; 2016.11.17 robust perform...
-- [[schedule2016]] &color(blue){(modified)}; mini report...
+ review
-- mixed sensitivity problem
ex1027_1
ex1027_2
ex1027_3
-- robust performance problem
c.f. the last whiteboard
+ an equivalent robust stability problem
+ definition of H infinity norm for general case (MIMO)
-- definition of singular values and the maximum singular...
M = [1/sqrt(2), 1/sqrt(2); j, -j]
M'
eig(M'*M)
svd(M)
-- mini report #1 &ref(report1.pdf); ... You will have a ...
+ proof of ||Delta hat||_inf <= 1
+ design example: &ref(ex1117_1.m);
-- robust performance is achieved but large gap
-- non structured uncertainty is considered ... the desig...
%-- 2016/11/17 13:05 --%
ex1027_1
ex1027_2
ex1027_3
M = [1/sqrt(2), 1/sqrt(2); j, -j]
M'
eig(M'*M)
svd(M)
ex1117_1
#ref(2016.11.17-1.jpg,left,noimg,whiteboard #1);
#ref(2016.11.17-2.jpg,left,noimg,whiteboard #2);
#ref(2016.11.17-3.jpg,left,noimg,whiteboard #3);
#ref(2016.11.17-4.jpg,left,noimg,whiteboard #4);
-Q: 特異値は何を意味しているのか?
-Q: 特異点(値:小林註)は何を表していますか?(最大特異...
-A: 次回、特異値分解(singular value decomposition)と共に...
** &color(green){[lecture #10]}; 2016.11.24 Robust perfor...
+ return of mini report #1
+ review
-- robust performance but too conservative
ex1027_2
ex1117_1
-- structured unertainty Delta hat and unstructured uncer...
-- robust stability problem for Delta hat and its equival...
+ SVD: singular value decomposition
-- definition
-- meaning off the largest singular value
-- 2-norm of vectors
-- SVD for 2-by-2 real matrix &ref(ex1124_1.m);
%-- 2016/11/24 13:04 --%
ex1027_2
ex1117_1
M = [1/sqrt(2), 0; 1/sqrt(2), 0]
svd(M)
M
[U, S, V] = svd(M)
[U, S, V] = svd(M);
U
V
U*S*V'
U*S*V' - M
S
U'*'
U'*U
V'*V
help norm
ex1124_1
#ref(2016.11.24-1.jpg,left,noimg,whiteboard #1);
#ref(2016.11.24-2.jpg,left,noimg,whiteboard #2);
#ref(2016.11.24-3.jpg,left,noimg,whiteboard #3);
#ref(2016.11.24-4.jpg,left,noimg,whiteboard #4);
-Q: ホワイトボード◯6の a=v1 の v1 が V* の成分だった理由...
-A: 説明が悪かったと思いますが、m×m行列 V の第一列を列ベ...
** &color(green){[lecture #11]}; 2016.12.1 Robust perform...
+ review: conservative design with Delta tilde
+ scaled H infinity control problem
+ how to determine structure of scaling matrix
+ design example &ref(ex1201_1.m);
ex1027_2
ex1117_1
gam_opt0 = gam_opt
K_opt0 = K_opt;
ex1201_1
gam_opt
+ mini exam #1
#ref(2016.12.01-1.jpg,left,noimg,whiteboard #1);
#ref(2016.12.01-2.jpg,left,noimg,whiteboard #2);
%-- 2016/12/01 13:59 --%
ex1027_2
ex1117_1
gam_opt
gam_opt0 = gam_opt
K_opt0 = K_opt;
ex1201_1
gam_opt
gam_opt0
d_opt
** &color(green){[lecture #12]}; 2016.12.8 Robust perform...
+ return of mini exam #1;
+ review of the scaled H infinity control problem
+ effect of scaling &ref(ex1208_1.m);
ex1027_2
ex1117_1
gam_opt0 = gam_opt
K_opt0 = K_opt;
ex1201_1
gam_opt
ex1208_1
+ mini report #2 %%&ref(report2.pdf);%% &color(red){&size...
+ introduction of a practical system: active noise contro...
-- experimental setup
#ref(授業/制御工学特論2015/exp_apparatus1.jpg,left,noimg);
#ref(授業/制御工学特論2015/exp_apparatus2.jpg,left,noimg);
-- objective of control system: to drive control loudspea...
-- frequency response experiment
#ref(ex1208_2.m);
#ref(spk1.dat);
#ref(spk2.dat);
%-- 2016/12/08 13:25 --%
ex1027_2
ex1117_1
gam_opt0 = gam_opt
K_opt0 = K_opt;
ex1201_1
gam_opt
ex1208_1
ex1208_1
format long
ex1208_1
M = [0, 0.5; sqrt(2), 0]
W = mdiag(1/sqrt(3), 0)
W = mdiag(1/sqrt(3), 1)
svd(M)
Mhat = inv(W)*M*W
Mhat = W\M*W
svd(Mhat)
ex1208_2
#ref(2016.12.08-1.jpg,left,noimg,whiteboard #1);
#ref(2016.12.08-2.jpg,left,noimg,whiteboard #2);
#ref(2016.12.08-3.jpg,left,noimg,whiteboard #3);
** &color(green){[lecture #13]}; 2016.12.15 Control syste...
+ return of mini report #2
-- mini exam #2
-- [[schedule2016]] Dec.20(added)
+ review of the experimental system
-- closed-loop system of 2-by-2 plant G and controller K
-- closed-loop gain is desired to be minimized
-- how to handle modeling error of G ?
+ design example
-- determination of plant model(nominal plant and additiv...
&ref(nominal.m);&br; &ref(subspace.m); ... replacement of...
&ref(weight.m);
-- configuration of generalized plant and controller desi...
&ref(cont.m);
-- comparison of closed-loop gain characteristics with an...
&ref(compare.m);
-- result of control experiment&br;
&ref(result.dat);&br; &ref(compare_result.m);
+ room 157 @ Dept. Mech. Bldg.2
+ final report and remote experimental system
++design your controller(s) so that the system performanc...
++Draw the following figures and explain the difference b...
+++bode diagram of controllers
+++gain characteristic of closed-loop system from w to z
+++time response and frequency spectrum (PSD) of control ...
++Why is the performance of your system improved(or unfor...
--&size(30){&color(red){due date: 6th(Fri) Jan 17:00};};
--submit your report(pdf or doc) by e-mail to kobayasi@na...
--You can use Japanese
--maximum controller order is 35
--submit your &size(25){&color(red){controller.dat, contr...
--Your login password will be e-mailed on Dec 16.
--You can send up to 5 controllers
--&size(25){&color(red){[[control experimental results wi...
--freqresp ... frequency response will be measured and up...
+ 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_2016/freqresp...
-- [[freqresp_module.c>/:~exp/seigyokougakutokuron_2016/f...
-- [[freqresp_app.c>/:~exp/seigyokougakutokuron_2016/freq...
-- format of spk1.dat (u is used instead of w for spk2.da...
---1st column ... frequency (Hz)
---2nd column ... gain from w(V) to y(V) (signal's unit i...
---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_2016/hinf.h]]
-- [[hinf_module.c>/:~exp/seigyokougakutokuron_2016/hinf_...
-- [[hinf_app.c>/:~exp/seigyokougakutokuron_2016/hinf_app...
-- 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...
#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.); // uni...
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...
-- control signal u is limited to [-4, 4] as specified in...
#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 ...
-- a high pass filter with cut-off frequency are used to ...
// 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_20...
//
//+ mini exam #2
//[[network camera>/:~exp/picture/image.jpg]]
%-- 2016/12/15 13:18 --%
ls
nominal
ls data
nominal
ctrlpre
ctrlpref
nominal
345/3.6
who
G0
size(G0.a)
weight
help n4sid
eig(A)
max(real(eig(A)))
weight
cont
compare
compare_result
#ref(2016.12.15-1.jpg,left,noimg,whiteboard #1);
#ref(2016.12.15-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #14]}; 2016.12.20 Control syste...
- preparation of your own controller(s) by using the remo...
but no explanation will be given (Kobayashi will not be i...
** &color(green){[lecture #15]}; 2016.12.22 Control syste...
- preparation of your own controller(s)
- mini exam #2
- questionnaires
-- to university
-- for web-based experimental environment
%-- 2016/12/22 13:09 --%
weight
load result.dat
pwd
load data/result.dat;
plot(result(:,1),result(:,4),'-');
compare
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//&color(black,red){&size(20){!!! the remaining page is u...
//
#ref(2016.12.22-1.jpg,left,noimg,whiteboard #1);
-Q:ミニ試験2の返却は行いますか?
-A:部屋まで来てもらえれば週明けに返します。
//**related links [#g1a68a2b]
//-東ティモール工学部復興支援/support of rehabilitation f...
//--[[How to control objects>/:~kobayasi/easttimor/2009/i...
//--[[Prof. Kimura's page>http://sessyu.nagaokaut.ac.jp/~...
ページ名: