授業

Advanced Automation

[] 2014.9.4 cancelled

[lecture #1] 2014.9.11 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%
    • map
  • review
    • equation of motion
    • transfer function
    • state space representation
    • eigenvalue and pole

[lecture #2] 2014.9.18 CACSD introduction with review of classical and modern control theory (2/3)

  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
  2. How to define open-loop system
    1. TF
      s = tf('s');
      T1 = 1 / (s+1);
      T2 = 1 / (s^2 + 0.1*s + 1);
    2. SSR
      A = [-0.3, -1; 1, 0];
      B = [1; 0];
      C = [0, 1];
      D = 0;
      S3 = ss(A, B, C, D);
    • Bode plot
      bode(T1, 'b-', T2, 'g', S3, 'r--');
      grid on;
  3. open-loop stability can be checked by
    1. poles of TF
      roots(T2.den{:})
    2. eigenvalues of A-matrix in SSR
      eig(S3.a)
    3. also by simulation
  4. closed-loop stability
    L = 1/(s^3+1.5*s^2+1.5*s+1); % example of open-loop system
    roots(L.den{:}) % confirm the open-loop system is stable 
    1. graphical test by Nyquist stability criterion and Bode plot with GM(gain margin) and PM(phase margin)
      nyquist(L)
      bode(L)
    2. numerical test by closed-loop system
      clp_den = L.den{:} + L.num{:};
      roots(clp_den)
    3. simulation
%-- 9/18/2014 1:06 PM --%
t = [1 2 3]
u = [1;2;3]
V = [1 2 3; 4 5 6; 7 8 9]
t'
t'*t
who
k=0:0.1:10:
k=0:0.1:10;
y = sin(k);
whos
plot(x,y)
plot(k,y)
foo
print -djpeg sin.jpg
s = tf('s');
T1 = 1/(s+1)
T2 = 1/(s^2+0.1*s+1);
A = [-0.3, -1; 1, 0];
B = [1; 0];
C = [0, 1];
D = 0;
S3 = ss(A, B, C, D);
A
B
S3
bode(T1, 'b-', T2, 'g', S3, 'r--');
grid on;
T2
T3 = tf(S3);
T3
T2
T2.num
T2.num{:}
T2.den{:}
roots(T2.den{:})
S3
S3.a
eig(S3.a)
mod0918_1
bode(T1, 'b-', T2, 'g', S3, 'r--');
grid on;
roots(L.den{:})
L
L = 1/(s^3+1.5*s^2+1.5*s+1);
L
roots(L.den{:})
nyquist(L)
bode(L)
grid on
nyquist(L)
L
clp_den = L.den{:} + L.num{:};
clp_den
roots(clp_den)
mod0918_2

[lecture #3] 2014.9.25 CACSD introduction with review of classical and modern control theory (3/3)

  1. LQR problem
    • controllability
    • cost function J >= 0
    • (semi)-positive definiteness
  2. solution of LQR problem
    • ARE and quadratic equation
    • closed loop stability ... Lyapunov criterion
    • Jmin fileproof4.pdf (from B43「動的システムの解析と制御」)
  3. example filemod0925.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);
    P-P' % should be zero
    eig(P) % should be positive
    F = R\B'*P;
%-- 9/25/2014 2:17 PM --%
A = [1, 2; 0, -1]; % unstable plant
B = [0; 1];
Uc = ctrb(A,B);
Uc
det(Uc)]
det(Uc)
C = eye(2); % dummy
D = zeros(2,1); % dummy
F = [0, 0]; % without control
x0 = [1; 1]; % initial state
mod0925
Q = eye(2);
R = 1;
P = are(A, B/R*B', Q);
P-P' % should be zero
eig(P) % should be positive
F = R\B'*P;
F
J
x0
x0'*P*x0

filewhiteboard #1 ... sorry for the mistake in Uc ! The correct one is \[ U_c := \left[\begin{array}{ccccc} B & AB & A^2 B & \cdots & A^{n-1} B \end{array}\right] \]

[lecture #4] 2014.10.2 Intro. to robust control theory (H infinity control theory) 1/3

  1. review filemap_v1.0_intro1.pdf
    1. advantage and disadvantage of the modern control theory
    2. explicit consideration of plant uncertainty ---> robust control theory
  2. Typical design problems of H infinity control theory
    1. robust stabilization
    2. performance optimization
    3. robust performance problem (robust stability and performance optimization are simultaneously considered)
  3. H infinity norm
    • definition
    • example
  4. H infinity control problem
    • definition
  5. performance optimization example : reference tracking problem
    • relation to the sensitivity function S(s) (S(s) -> 0 is desired but impossible)
    • given control system fileex1002_1.m
    • controller design with H infinity control theory fileex1002_2.m
%-- 10/2/2014 12:57 PM --%
ex1002_1
ex1002_2
s = tf('s')
T1 = 1/(s+1)
norm(T1,inf)
T2 = s/(s+1)
norm(T2,inf)
bode(T1)
T3 = 10/(s+2)
bode(T3)
ex1002_1
ex1002_2
K
K_hinf
ex1002_2
eig(K_hinf.a)

[lecture #5] 2014.10.09 Intro. to Robust Control Theory (H infinity control theory) 2/3

  1. Typical design problems
    1. robust stabilization
    2. performance optimization
    3. robust performance problem (robust stability and performance optimization are simultaneously considered)
  2. connection between [H infinity control problem] and [robust stabilization problem]
    • small gain theorem
    • normalized uncertainty \Delta
    • sketch proof ... Nyquist stability criterion
  3. How to design robust stabilizing controller with H infinity control problem ?
    • practical example : unstable plant with perturbation
    • how to use uncertainty model (multiplicative uncertainty model)
    • how to set generalized plant G ?
    • simulation
%-- 10/9/2014 1:01 PM --%
ex1009_1
ex1009_2
ex1009_3
mod1009
c

[lecture #6] 2014.10.16 Intro. to robust control theory (H infinity control theory) (3/3)

  1. review
    • robust stabilization ... (1) ||WT T||_inf < 1 (for multiplicative uncertainty)
    • performance optimization ... (2) ||WS S||_inf < gamma -> min
    • mixed sensitivity problem ... simultaneous consideration of stability and performance
  2. a sufficient condition for (1) and (2) ... (*) property of maximum singular value
  3. definition of singular value
  4. mini report #1
    • write by hand
    • submit at the beginning of next lecture on 23 Oct.
    • check if your answer is correct or not before submission by using Matlab
    • You will have a mini exam #1 related to this report on 30 Oct.
  5. meaning of singular value ... singular value decomposition (SVD)
  6. proof of (*)
  7. example
%-- 10/16/2014 1:00 PM --%
M = [j, 0; -j, 1]
M
svd(M)
sqrt((3+sqrt(5))/2)
M'
M'*M
ex1016

[lecture #7] 2014.10.23 review of SVD, robust performance problem 1/3 (motivation of robust performance)

  • submission of mini report #1
  • review of SVD : graphical image and rotation matrix for 2-by-2 real matrix case
  • motivation of robust performance : nominal performance to robust performance
%-- 10/23/2014 12:58 PM --%
ex1023_1
A
S
V
V'*V
V'*V(:,1)
ex1009_1
ex1009_2
ex1023_2
ex1023_3
  • 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)

[lecture #8] 2014.10.30 Robust performance problem (2/3)

  1. return of mini report #1
  2. review of the limitation of mixed sensitivity problem
  3. diffinition 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
  4. 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)
  5. equivalent R.P. problem with structured uncertainty Delta_hat
  6. a conservative problem to R.P. with 2-by-2 unstructured uncertainty Delta_tilde
    • example based on the one given in the last lecture
    • a check of the conservativeness
  7. Delta_tilde is larger set than Delta_hat ... conservativeness
  8. mini exam #1 fileexam1.pdf
%-- 10/30/2014 1:10 PM --%
ex1023_2
ex1023_3
gam_opt
ex1030_1
gam_opt

[lecture #9] 2014.11.13 Robust performance problem (3/3)

  • 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
  • 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

[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

[lecture #11] 2014.11.27 relation between H infinity control and modern control theory

  • mini report #2 submit
  • outline
    • state-feedback H infinity control and LQR
    • output-feedback H infinity control and LQG
  • simple example
  • find controller by hand <---> ans. by hinfsyn fileex1127.m
  • relation to LQR
  • H infinity norm = L2 induced norm
  • how to construct the worst case input ? filemod1127.mdl
  • general case fileJ_hinf.pdf
%-- 11/27/2014 1:51 PM --%
ex1127
1/sqrt(2)
ex1127
2*(sqrt(2)-1)
mod1127
x0 = 0
h = 1
f = 1
zz
ww
  • Q: \[ \dot x, z \] の導出過程(ホワイトボード◯2)がわからなかった
  • A: \[ \left[ \begin{array}{c} w \\ u \end{array} \right], \left[ \begin{array}{c} z \\ y \end{array} \right] \] をそれぞれ入力、出力とする一般化プラント \[ G = \left[ \begin{array}{c|c} A & B \\ \hline C & D \end{array} \right] \] に対して、次式が成り立ちます。 \[ \dot x = A x + B \left[ \begin{array}{c} w \\ u \end{array} \right] \] \[ \left[ \begin{array}{c} z \\ y \end{array} \right] = C x + D \left[ \begin{array}{c} w \\ u \end{array} \right] \] ただし、x は G の状態で、 \[ A = a = -1, \quad B = \left[ \begin{array}{cc} 1 & b \end{array} \right] = \left[ \begin{array}{cc} 1 & 1 \end{array} \right], \quad C = \left[ \begin{array}{c} \sqrt{q} \\ 0 \\ 1 \end{array} \right] = \left[ \begin{array}{c} 1 \\ 0 \\ 1 \end{array} \right], \quad D = \left[ \begin{array}{cc} 0 & 0 \\ 0 & \sqrt{r} \\ 0 & 0 \end{array} \right] = \left[ \begin{array}{cc} 0 & 0 \\ 0 & 1 \\ 0 & 0 \end{array} \right] \] です。状態空間表現の表記によります。これと、u = -f x より、導出されます。

[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
    filesetup.pdf
  • frequency response experiment and physical model of speed control system
    fileex1204_1.m
    fileex1204_2.dat
  • 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

[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
  • objective of control system
    1. to reduce the tracking error of the driving motor against disturbance torque
    2. robust stabilization against plant variation due to aging degradation
  • frequency response experiment and physical model of speed control system
  • determination of nominal plant
    fileex1211_5.m
  • determination of weighting function
    fileex1211_6.m
%-- 12/11/2014 1:24 PM --%
ex1211_1
frdata
frdata(:,1)
P1_jw
P1_g
ex1211_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)
  • 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)

  1. design your controller(s) so that the system performance is improved compared with the design example above
  2. Draw the following figures and explain the difference between two control systems (your controller and the example above):
    1. bode diagram of controllers
    2. gain characteristic of sensitivity function
    3. time response of control experiment
  3. 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
    • 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
    • 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;
      }
    • 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.

participant list2014

%-- 12/18/2014 1:01 PM --%
freqresp
nominal
help fitfrd
weight
cont
help c2d
perf

[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')

添付ファイル: file2014.12.25-2.jpg 168件 [詳細] file2014.12.25-1.jpg 182件 [詳細] file2014.12.18-1.jpg 193件 [詳細] file2014.12.18-2.jpg 193件 [詳細] fileperf.m 191件 [詳細] filecont.m 215件 [詳細] fileweight.m 191件 [詳細] filenominal.m 189件 [詳細] filefreqresp.m 195件 [詳細] filefreqresp.h 147件 [詳細] filefreqresp_module.c 155件 [詳細] filefreqresp_app.c 154件 [詳細] filehinf_app.c 190件 [詳細] filehinf_module.c 164件 [詳細] filehinf.h 131件 [詳細] file2014.12.11-1.jpg 193件 [詳細] fileex1211_6.m 139件 [詳細] fileex1211_5.m 133件 [詳細] fileex1211_1.m 186件 [詳細] fileex1211_2.dat 216件 [詳細] fileex1211_3.dat 171件 [詳細] fileex1211_4.dat 163件 [詳細] filephoto1.jpg 210件 [詳細] file2014.12.4-2.jpg 208件 [詳細] file2014.12.4-1.jpg 185件 [詳細] fileex1204_2.dat 149件 [詳細] filesetup.pdf 466件 [詳細] fileex1204_1.m 131件 [詳細] file2014.11.27-1.jpg 271件 [詳細] file2014.11.27-2.jpg 274件 [詳細] file2014.11.27-3.jpg 245件 [詳細] filemod1127.mdl 153件 [詳細] fileex1127.m 152件 [詳細] fileJ_hinf.pdf 802件 [詳細] file2014.11.20-1.jpg 228件 [詳細] file2014.11.20-2.jpg 302件 [詳細] file2014.11.20-3.jpg 272件 [詳細] file2014.11.20-4.jpg 236件 [詳細] file2014.11.13-1.jpg 268件 [詳細] file2014.11.13-2.jpg 256件 [詳細] file2014.11.13-4.jpg 263件 [詳細] file2014.11.13-3.jpg 237件 [詳細] fileex1113_2.m 165件 [詳細] fileex1113_1.m 169件 [詳細] fileexam1.pdf 150件 [詳細] file2014.10.30-1.jpg 243件 [詳細] file2014.10.30-2.jpg 237件 [詳細] file2014.10.30-3.jpg 235件 [詳細] file2014.10.30-4.jpg 253件 [詳細] fileex1030_2.m 170件 [詳細] fileex1030_1.m 168件 [詳細] file2014.10.23-1.jpg 246件 [詳細] file2014.10.23-2.jpg 255件 [詳細] file2014.10.23-3.jpg 262件 [詳細] fileex1023_3.m 175件 [詳細] fileex1023_2.m 184件 [詳細] fileex1023_1.m 164件 [詳細] file2014.10.16-1.jpg 299件 [詳細] file2014.10.16-2.jpg 306件 [詳細] file2014.10.16-3.jpg 308件 [詳細] file2014.10.16-4.jpg 299件 [詳細] file2014.10.16-5.jpg 276件 [詳細] file2014.10.16-6.jpg 313件 [詳細] fileex1016.m 179件 [詳細] file2014.10.09-1.jpg 248件 [詳細] file2014.10.09-2.jpg 250件 [詳細] file2014.10.09-3.jpg 258件 [詳細] file2014.10.09-4.jpg 253件 [詳細] fileex1009_1.m 186件 [詳細] fileex1009_2.m 183件 [詳細] fileex1009_3.m 164件 [詳細] filemod1009.mdl 178件 [詳細] filemap_v1.0_intro2.pdf 181件 [詳細] file2014.10.02-1.jpg 240件 [詳細] file2014.10.02-2.jpg 243件 [詳細] file2014.10.02-3.jpg 250件 [詳細] file2014.10.02-4.jpg 277件 [詳細] fileex1002_2.m 186件 [詳細] fileex1002_1.m 186件 [詳細] filemap_v1.0_intro1.pdf 224件 [詳細] file2014.09.25-1.jpg 240件 [詳細] file2014.09.25-2.jpg 261件 [詳細] file2014.09.25-3.jpg 262件 [詳細] file2014.09.25-4.jpg 244件 [詳細] filemod0925.mdl 183件 [詳細] fileproof4.pdf 224件 [詳細] file2014.09.18-1.jpg 267件 [詳細] file2014.09.18-2.jpg 270件 [詳細] filemod0918_1.mdl 197件 [詳細] filemod0918_2.mdl 191件 [詳細] filetext_fixed.pdf 346件 [詳細] file2014.09.11-4.jpg 247件 [詳細] file2014.09.11-3.jpg 267件 [詳細] file2014.09.11-5.jpg 253件 [詳細] file2014.09.11-1.jpg 284件 [詳細] file2014.09.11-2.jpg 260件 [詳細] file2014.09.11-6.jpg 254件 [詳細] filemap_v1.0_review.pdf 272件 [詳細] filemap_v1.0.pdf 91件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-12-25 (木) 17:58:06 (1062d)