授業

Advanced Automation 2021

latest lecture

[lecture #1] 2021.9.2 outline of the lecture, review of classical and modern control theory (1/3)

  • review : stabilization of SISO unstable plant by classical and modern control theory
    • transfer functions / differential equations
    • poles / eigenvalues
    • impulse response / initial value response
    • ...
%-- 21/09/02 13:43 --%
s = tf('s')
P = 1/(s-1)
pole(P)
impulse(P)
k = 2
P
help step
Tyr = k/(s-1+k)
step(Tyr)
k = 10
Tyr = k/(s-1+k)
step(Tyr)

[lecture #2] 2021.9.9 review of classical and modern control theory (2/3) with introduction of Matlab/Simulink

  1. introduction of Matlab and Simulink filetext_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 definition)
    • m file
  2. system representation: Transfer Function(TF) / State-Space Representation (SSR)
    • example: mass-spring-damper system
    • definition of SSR
    • from SSR to TF
    • from TF to SSR: controllable canonical form
  3. open-loop characteristic
    • open-loop stability: poles and eigenvalues
    • Bode plot and frequency response fileex0909_1.m filemod0909_1.mdl
      • cut off frequency; DC gain; -40dB/dec; variation of c
      • relation between P(jw) and steady-state response
  4. closed-loop stability
    • Nyquist stability criterion (for L(s):stable)
    • Nyquist plot fileex0909_2.m filemod0909_2.mdl
      • Gain Margin(GM); Phase Margin(PM)
%-- 21/09/09 13:05 --%
a = 1
a +2
a + 2
a +2
a
a + 2
ex0909_1
P
sqrt(k/m)
sqrt(k/m)/(2*pi)
ex0909_2
L
ex0909_2
ex0909_1

[lecture #3] 2021.9.23 review of classical and modern control theory (3/3)

  1. LQR problem
    • controllability
    • cost function J >= 0
    • positive (semi-)definite matrices
    • solution of LQR problem
    • example fileex0923_1.m filemod0923_1.mdl
  2. ARE and quadratic equation
    • scalar case (solve by hand)
    • matrix case filelqr.pdffileproof4.pdf (from B3「動的システムの解析と制御」)
Matlabのコマンド履歴の保存に失敗しました。すみません。
  • Q: 最後の2枚目のホワイトの式と対応をとるとこがよくわからなかった
  • A: □7のホワイトボードで、fに関する2次方程式とPに関するリカッチ方程式は、fとPの関係式の下で対応します。分からなければまた聞いてください。

[lecture #4] 2021.9.30 relation between LQR and H infinity control problem (1/2)

  • GOAL: to learn difference in concepts between LQR problem and H infinity control problem
  1. a simple example relating LQR and H infinity control problems
    • For given plant G \[ G = \left[\begin{array}{c|c:c} a & 1 & b \\ \hline \sqrt{q} & 0 & 0 \\ 0 & 0 & \sqrt{r} \\ \hdashline 1 & 0 & 0 \end{array} \right] = \left\{ \begin{array}{l} \dot x = ax + bu + w\\ z = \left[ \begin{array}{c} \sqrt{q} x \\ \sqrt{r} u \end{array}\right] \\ x = x \end{array}\right. \] with zero initial state value x(0) = 0, find a state-feedback controller \[ u = -f x \] such that \begin{eqnarray} (i) &&\quad \mbox{closed loop is stable} \\ (ii) &&\quad \mbox{minimize} \left\{\begin{array}{l} \| z \|_2 \mbox{ for } w(t) = \delta(t) \quad \mbox{(LQR)} \\ \| T_{zw} \|_\infty \mbox{($H_\infty$ control problem)}\end{array}\right. \end{eqnarray}
    • comparison of norms in (ii) (for a = -1, b = 1, q = 1, r = 1) \[ \begin{array}{|c||c|c|}\hline & \mbox{LQR}: f=-1+\sqrt{2} & \quad \quad H_\infty: f=1\quad\quad \\ \hline\hline J=\|z\|_2^2 & & \\ \hline \|T_{zw}\|_\infty & & \\ \hline \end{array} \]
  2. an alternative description to LQR problem
    1. J = (L2 norm of z)^2
    2. impulse resp. with zero initial value = initial value resp. with zero disturbance
  3. definition of H infinity norm (SISO)
    s = tf('s');
    G1 = 1/(s+1);
    bode(G1);
    norm(G1, 'inf')
    G2 = 1/(s^2 + 0.1*s + 1);
    bode(G2);
    norm(G2, 'inf')
  4. definition of H infinity norm (SIMO)
  5. solve the problem by hand
  6. solve the problem by tool(hinfsyn) fileex0930_1.m
%-- 2021/09/30 12:51 --%
s = tf('s');
G1 = 1/(s+1);
bode(G1);
norm(G1, 'inf')
G2 = 1/(s^2 + 0.1*s + 1);
bode(G2);
norm(G2, 'inf')
  • Q: ホワイトボード前の照明が消えており、多少見ずらかったです。
  • A: ウェブカメラで白く反射しないよう消してました。次回、ウェブカメラの方を改善します。

[lecture #5] 2021.10.07 relation between LQR and H infinity control problem (2/2)

  1. cont.
    • solve the problem by hand
    • solve the problem by tool(hinfsyn)
  2. complete the table in simple example
  3. confirm the cost function J for both controllers by simulation filemod1007.mdl
    • block diagram in the simulink model
    • how to approximate impulse disturbance with a step function
    • (unit) impulse disturbance resp. with zero initial condition = (unit) initial condition resp. with zero disturbance
  4. confirm the closed-loop H infinity norm for both controllers by simulation
    • H infinity norm = L2 induced norm
    • review: steady-state response for sinusoidal input signal; how to choose the frequency such that the output amplitude is maximized ?
    • the worst-case disturbance w(t) for the simple example ?
  5. general state-feedback case: filehinf.pdf
    • includes the simple example as a special case
    • LQR filelqr.pdf is included as a special case in which gamma -> infinity, w(t) = 0, B2 -> B, and non-zero x(0) are considered
%-- 2021/10/07 13:24 --%
ex0930_1
K
sqrt(2-sqrt(2))
mod1007
x0
x0 = 0
f = -1 + sqrt(2)
h
h = 0.01
zz
h
h = 0.001
zz
zz(end)
sqrt(2)-1
x0
x0 = 1
zz(end)
h = 10
x0
x0 = 0
f
zz
zz(end)/ww(end)
sqrt(zz(end)/ww(end))
h
h = 100
sqrt(zz(end)/ww(end))
f = 1
sqrt(zz(end)/ww(end))
  • Q: 日本語での説明を増やしてほしいです。
  • A: 今日は少なめでした。前回並に戻します。
  • Q: Hインフィニティも万能じゃないことが意外だった
  • A: good!

[lecture #6] 2021.10.14 Mixed sensitivity problem 1/3

  1. outline: filemap_v1.1_mixedsens1.pdf
    • sensitivity function S and complementary sensitivity function T
  2. H infinity control problem (general case)
    • with generalized plant G
    • including the state-feedback case
  3. reference tracking problem
    • how to translate the condition (ii) into one with H infinity norm ?
    • corresponding generalized plant G ?
    • introduction of weighting function for sensitivity function in (ii)
  4. design example fileex1014_1.m fileex1014_2.m
  5. the small gain theorem
    • proof: Nyquist stability criterion
%-- 2021/10/14 13:43 --%
ex1014_1
P
eig(P)
ex1014_2
K_hinf
eig(K)
K
eig(K_hinf)
  • Q: ナイキスト線図について復習すべきだと感じた
  • A: してください!

[lecture #7] 2021.10.21 Mixed sensitivity problem 2/3

  1. outline: from point to set filemap_v1.1_mixedsens2.pdf
  2. the small gain theorem ... robust stability = H infinity norm condition
  3. normalized uncertainty Delta
  4. uncertainty model
  5. how to determine P0 and WT
    • example: frequency response of plant with perturbation fileex1021_1.m
    • frequency response based procedure for P0 and WT fileex1021_2.m
  6. robust stabilization problem and equivalent problem
%-- 2021/10/21 13:39 --%
ex1021_1
pwd
ls
cd MATLAB
ex1021_1
ex1021_2
  • Q: 英語の説明が多くて難しかったです
  • A: 基本的に、英語で説明した後に日本語でも説明しているので大丈夫と思いますが、難しかった所を教えてもらえれば補足します。
  • Q: Pチルダの説明が難しかったので復習します。
  • A: 復習して分からなかったらまた聞いてください。

[lecture #8] 2020.10.29 Mixed sensitivity problem 3/3

  • review: filemap_v1.1_mixedsens2.pdf (1)robust stabilization and (2)performance optimization
  • outline:
    1. how to design controllers considering both conditions in (1) and (2)
    2. gap between NP(nominal performance) and RP(robust performance)
  1. mixed sensitivity problem => (1) and (2) : proof
  2. generalized plant for mixed senstivity problem
  3. design example fileex1028_1.m minimize gamma by hand
  4. gamma iteration by bisection method fileex1028_2.m
  5. intro. to RP: weak point of mixed sensitivity problem(problem of NP) fileex1028_3.m

!!! the remaining page is under construction (the contents below are from 2017) !!!

%-- 20/10/29 13:00 --%
ex1029_1
ex1029_2
ex1029_3

#ref(): File not found: "2020.10.29-1.jpg" at page "授業/制御工学特論2021"

#ref(): File not found: "2020.10.29-2.jpg" at page "授業/制御工学特論2021"

[lecture #9] 2020.11.5 robust performance problem 1/3

  1. review
    • mixed sensitivity problem : N.P. but not R.P.
    • robust performance problem (R.P.) c.f. the last whiteboard, but can not be solved by tool
    • the small gain theorem
  2. an equivalent robust stability (R.S.) problem to R.P.
    • (i) introduction of a fictitious uncertainty Delta_p (for performance)
    • (ii) for 2-by-2 uncertainty block Delta hat which includes Delta and Delta_p
  3. definition of H infinity norm for general case (MIMO)
    • definition of singular values and the maximum singular value
      M = [1/sqrt(2), 1i; 1/sqrt(2), -1i]
      M'
      eig(M'*M)
      svd(M)
    • mini report #1 &ref(): File not found: "report1.pdf" at page "授業/制御工学特論2021"; ... You will have a mini exam #1 related to this report
  4. proof of ||Delta hat||_inf <= 1
  5. design example: &ref(): File not found: "ex1105_1.m" at page "授業/制御工学特論2021";
    • robust performance is achieved but large gap
    • non structured uncertainty is considered ... the design problem is too conservative
%-- 20/11/05 13:59 --%
M = [1/sqrt(2); 1i; 1/sqrt(2), -1i]
M'
eig(M'*M)
svd(M)
M = [1/sqrt(2), 1i; 1/sqrt(2), -1i]
M'
M'*M
eig(M'*M)
svd(M)
max(svd(M))
ex1105_1

#ref(): File not found: "2020.11.05-1.jpg" at page "授業/制御工学特論2021"

#ref(): File not found: "2020.11.05-2.jpg" at page "授業/制御工学特論2021"

#ref(): File not found: "2020.11.05-3.jpg" at page "授業/制御工学特論2021"

[lecture #10] 2020.11.12 Robust performance problem (2/3)

  1. return of mini report #1
  2. SVD: singular value decomposition
    • definition
    • meaning of the largest singular value (a property and proof)
    • 2-norm of vectors (Euclidean norm)
    • SVD for 2-by-2 real matrix &ref(): File not found: "ex1112_1.m" at page "授業/制御工学特論2021";
%-- 20/11/12 13:18 --%
M = [sqrt(2), -1i/sqrt(2); sqrt(2), 1i/sqrt(2)]
help svd
X
svd(M)
[U,Sigma,V] = svd(M);
Sigma
U
U'*U
V'*V
V*V'
ex1112_1
svd(M)
ex1112_1
help rand
ex1112_1
svd(M)

#ref(): File not found: "2020.11.12-1.jpg" at page "授業/制御工学特論2021"

#ref(): File not found: "2020.11.12-2.jpg" at page "授業/制御工学特論2021"

[lecture #11] 2020.11.19 Robust performance problem (3/3)

  1. review
    • H infinity norm (MIMO case)
    • R.S. problems for structured and unstructured uncertainty
  2. scaled H infinity control problem
  3. relation between three problems
  4. how to determine structure of scaling matrix
  5. design example &ref(): File not found: "ex1119_1.m" at page "授業/制御工学特論2021";
    ex1105_1
    gam2 = gam_opt
    K2 = K_opt;
    ex1119_1
    gam_opt
  6. mini exam #1 (10 min.)
%-- 20/11/19 12:51 --%
ex1105_1

#ref(): File not found: "2020.11.19-1.jpg" at page "授業/制御工学特論2021"

#ref(): File not found: "2020.11.19-2.jpg" at page "授業/制御工学特論2021"

[lecture #12] 2020.11.26 Robust performance problem (3/3) (cont.), Control system design for practical system (1/3)

  1. return of mini exam #1
  2. review of scaling &ref(): File not found: "ex1126_1.m" at page "授業/制御工学特論2021";
  3. mini report #2 &ref(): File not found: "report2.pdf" at page "授業/制御工学特論2021";
  4. introduction of a practical system: active noise control in duct
    • experimental setup

      #ref(): File not found: "photo1.jpg" at page "授業/制御工学特論2021"

      #ref(): File not found: "photo2.jpg" at page "授業/制御工学特論2021"

    • 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(): File not found: "ex1126_2.m" at page "授業/制御工学特論2021"

      &ref(): File not found: "spk1.dat" at page "授業/制御工学特論2021"; &ref(): File not found: "spk2.dat" at page "授業/制御工学特論2021";
    • room 157 @ Dept. Mech. Bldg. 2
%-- 20/11/26 13:09 --%
ex1105_1
gam2 = gam_opt
K2 = K_opt;
ex1119_1
gam_opt
gam2
ex1126_1
gam2
gam3
close all
clear all
clf
ex1105_1; %
gam2 = gam_opt
K2 = K_opt;
ex1119_1
gam3 = gam_opt
K3 = K_opt;
Delta_tilde = [0, 1/sqrt(2); 0, -1/sqrt(2)]; % example of non-structured 
uncertainty
fprintf('***1st check for singular values of Delta_tilde:');
svd(Delta_tilde) % less than or equal to 1
fprintf('***2nd check for closed-loop stability of M2(Ghat(gamma2) and K2) and 
Delta_tilde:');
M2 = lft(mdiag(1,1/gam2,1)*Ghat, K2, 1, 1);
clp2 = lft(Delta_tilde, M2, 2, 2);
real(eig(clp2.a)) % closed-loop stability regardless the structure of 
uncertainty block
clp2
clp2.a
max(eig(clp2.a))
fprintf('***3rd check for closed-loop stability of M3(Ghat(gamma3) and K3) and 
Delta_tilde:');
M3 = lft(mdiag(1,1/gam3,1)*Ghat, K3, 1, 1);
clp3 = lft(Delta_tilde, M3, 2, 2);
real(eig(clp3.a)) % closed-loop instability by the non-structured uncertainty 
block
fprintf('***4th check for closed-loop H infinity norm of M3:');
norm(M3, 'inf') % larger than 1
fprintf('***5th check for closed-loop H infinity norm of M3 with scaling:');
W = mdiag(d_opt,1);
M3_d = W\M3*W;
norm(M3_d, 'inf') % less than 1
d_opt
ex1126_2
ctrlpref
ex1126_2
346/(4*1.62)

#ref(): File not found: "2020.11.26-1.jpg" at page "授業/制御工学特論2021"

#ref(): File not found: "2020.11.26-2.jpg" at page "授業/制御工学特論2021"

#ref(): File not found: "2020.11.26-3.jpg" at page "授業/制御工学特論2021"

[lecture #13] 2020.12.3 Control system design for practical system (2/3)

  1. return of mini report #2; ... You will have a mini exam #2 related to this report next week
  2. 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
    • frequency response data of G can be used; how to handle modeling error of G ?
  3. design example (modeling error for Gyu is only considered for simplicity)
    • frequency response experiment data
      spk1.dat
      spk2.dat
    • determination of plant model(nominal plant and additive uncertainty weight)
      &ref(): File not found: "nominal.m" at page "授業/制御工学特論2021";
      &ref(): File not found: "subspace.m" at page "授業/制御工学特論2021"; ... replacement of n4sid in System Identification Toolbox (not provided in IPC)
      &ref(): File not found: "weight.m" at page "授業/制御工学特論2021";
    • configuration of generalized plant and controller design by scaled H infinity control problem using one-dimensional search on the scaling d
      &ref(): File not found: "cont.m" at page "授業/制御工学特論2021";
    • comparison of closed-loop gain characteristics with and without control
      &ref(): File not found: "compare.m" at page "授業/制御工学特論2021";
    • result of control experiment
      result.dat
      &ref(): File not found: "perf.m" at page "授業/制御工学特論2021";
  4. final report and remote experimental system
    1. design your controller(s) so that the system performance is improved compared with the design example
    2. Draw the following figures and explain the difference between two control systems (your controller and the design example):
      1. bode diagram of controllers
      2. gain characteristic of closed-loop system from w to z
      3. time response of control experiment
    3. Why is the performance of your system improved(or unfortunately deteriorated)?
    • due date: 6th(Wed) Jan 17:00
    • submit your report(pdf file) by e-mail to kobayasi@nagaokaut.ac.jp
    • You can use Japanese
    • maximum controller order is 35
    • submit your controller.dat, controller_order.dat, and controller.mat at this page:participant list2020(download is also possible) not later than 25th(Fri) Dec
    • the system will be started until next lecture
    • You can send up to 5 10 controllers
    • control experimental results will be uploaded here
    • freqresp ... frequency response will be measured and uploaded everyday
  5. how to improve the performance ?
    • order of the nominal plant
    • weighting for robust stability
  6. specifications of the experimental system
    1. experimental equipments
      • loudspeakers: FOSTEX FE-87FE87E(10W)
      • 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
    2. program sources for frequency response experiment
      • freqresp.h
      • freqresp_module.c
      • freqresp_app.c
      • format of spk1.dat (u is used instead of w for spk2.dat)
        1st column ... frequency (Hz)
        2nd column ... gain from w(V) to y(V) (signal's unit is voltage (V))
        3rd column ... phase from w to y
        4th column ... gain from w to z
        5th column ... phase from w to z
    3. program sources for control experiment
      • hinf.h
      • hinf_module.c
      • hinf_app.c
      • format of result.dat
        1st column: time (s)
        2nd column: z (V)
        3rd column: y (V)
        4th column: u (V)
        5th column: w (V)
    4. configuration of control experiment
      • disturbance signal w is specified as described in hinf.h and hinf_module.c:
        #define AMP 0.5 // amplitude for disturbance
        
        w = AMP * (2. * rand() / (RAND_MAX + 1.) - 1.); // uniform random number in [-AMP, AMP]
        
        da_conv(V_OFFSET + w, 0); // D/A output to noise source
      • control signal u is limited to [-4, 4] as specified in hinf.h and hinf_module.c:
        #define U_MAX 3.00
        
        if(u > U_MAX) u = U_MAX;
        if(u < -U_MAX) u = -U_MAX;
        u is set to 0 for t < 5(s). (controller is operated for 5 <= t < 10)
%-- 20/12/03 12:59 --%
nominal
weight
cont
compare
plot(result(:,1),result(:,2))
load result.dat;
plot(result(:,1),result(:,2))
plot(result(:,1),result(:,4))
K_opt
size(K_opt.a)
plot(result(:,1),result(:,2))
plot(result(:,1),result(:,5))

#ref(): File not found: "2020.12.03-1.jpg" at page "授業/制御工学特論2021"

[lecture #14] 2020.12.10 Control system design for practical system (3/3)

  • web based remote experiment system
    • usage; how to upload controller's
    • your password were sent by e-mail
  • mini exam #2
  • preparation of your own controller(s) by using the remote experiment system

[lecture #15] 2020.12.17 Control system design for practical system (cont.)

  • return of mini exam #2
  • schedule2020 no lecture will be given next week
  • review & supplemental explanations
    • final report
      • controller design procedure in the design example
      • generating wav file filter.c (txt2wav.c is used to convert the text file to wav file)
      • &ref(): File not found: "perf.m" at page "授業/制御工学特論2021"; (sampling period is fixed to 0.2ms (don't change this in cont.m))
      • c2d() is used to discretize the resultant continuous-time controller in cont.m
      • You can send up to 10 controllers (don't fall into trial and error; think always about the reason)
      • discuss relationship between the required figures (a), (b), and (c)
      • no strict control objective is given ( there is a freedom to define what is good performance; a frequency dependent weighting function can be introduced to evaluate the performance )
    • web based remote experiment system
      • powered by prof. Takebe, National Institute of Technology, Nagaoka College
      • room temperature is displayed and stored in temp.txt (Bosch Sensortec BME280 is used)
  • preparation of your own controller(s) by using the remote experiment system

添付ファイル: fileex1028_3.m [詳細] fileex1028_2.m [詳細] fileex1028_1.m [詳細] file2021.10.21-4.jpg 4件 [詳細] file2021.10.21-3.jpg 2件 [詳細] file2021.10.21-2.jpg 2件 [詳細] file2021.10.21-1.jpg 2件 [詳細] filemod1021.mdl 6件 [詳細] fileex1021_3.m 12件 [詳細] fileex1021_2.m 15件 [詳細] fileex1021_1.m 15件 [詳細] file2021.10.14-2.jpg 11件 [詳細] file2021.10.14-1.jpg 10件 [詳細] fileex1014_2.m 20件 [詳細] fileex1014_1.m 22件 [詳細] file2021.10.07-3.jpg 15件 [詳細] file2021.10.07-2.jpg 10件 [詳細] file2021.10.07-1.jpg 7件 [詳細] filemod1007.mdl 26件 [詳細] file2021.09.30-3.jpg 29件 [詳細] file2021.09.30-4.jpg 31件 [詳細] file2021.09.30-2.jpg 30件 [詳細] file2021.09.30-1.jpg 33件 [詳細] fileex0930_1.m 38件 [詳細] file2021.09.23-4.jpg 36件 [詳細] file2021.09.23-3.jpg 31件 [詳細] file2021.09.23-2.jpg 25件 [詳細] file2021.09.23-1.jpg 28件 [詳細] filemod0923_1.mdl 40件 [詳細] fileex0923_1.m 68件 [詳細] file2021.09.09-3.jpg 26件 [詳細] file2021.09.09-2.jpg 32件 [詳細] file2021.09.09-1.jpg 28件 [詳細] filemod0909_2.mdl 37件 [詳細] filemod0909_1.mdl 24件 [詳細] fileex0909_2.m 23件 [詳細] fileex0909_1.m 22件 [詳細] file2021.09.02-4.jpg 28件 [詳細] file2021.09.02-3.jpg 31件 [詳細] file2021.09.02-2.jpg 28件 [詳細] file2021.09.02-1.jpg 35件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-10-27 (水) 11:12:17 (8h)