*Advanced Automation [#i4b9e296]

** &color(green){[lecture #1]}; 2012.9.6 review of classical control theory [#b72a34f6]
#ref(2012.09.06-1.jpg,left,noimg,whiteboard #1);
#ref(2012.09.06-2.jpg,left,noimg,whiteboard #2);
#ref(2012.09.06-3.jpg,left,noimg,whiteboard #3);
#ref(2012.09.06-4.jpg,left,noimg,whiteboard #4);

** &color(green){[lecture #2]}; 2012.9.20 given by Prof. Kimura [#wec7619c]

** &color(green){[lecture #3]}; 2012.9.27 CACSD introduction with review of classical and modern control theory [#y6bacc1e]

+ introduction of Matlab and Simulink
--[[Basic usage of MATLAB and Simulink>/:~kobayasi/easttimor/2009/text/text_fixed.pdf]]
used for 情報処理演習及び考究II/Consideration and Practice of Information Processing II: Advanced Course of MATLAB
//
+ relationship between &color(black,cyan){TF}; and &color(black,lightgreen){SSR}; 
#ref(ex0927_1.m)
//
+ open-loop stability can be checked by &color(black,cyan){poles of TF}; and &color(black,lightgreen){eigenvalues of A-matrix in SSR};  
#ref(ex0927_2.m)
#ref(mod0927_2.mdl)
//
+ closed-loop stability
-- graphical test by &color(black,yellow){Nyquist stability criterion}; and &color(black,yellow){Bode plot}; with &color(black,yellow){GM};(gain margin) and &color(black,yellow){PM};(phase margin)
#ref(ex0927_3.m)
#ref(mod0927_3.mdl)
-- numerical test by &color(black,cyan){poles of closed-loop TF}; and &color(black,lightgreen){eigenvalues of A-matrix in closed-loop SSR}; 
#ref(ex0927_4.m)
-- example: stabilization of unstable system
#ref(ex0927_5.m)
#ref(mod0927_5.mdl)

 %-- 9/27/2012 1:07 PM --%
 a = 1
 pwd
 G1 = 1/(s+1)
 ex0927_1
 G1 = 1/(s+1)
 A
 ex0927_2
 G2_tf
 G2_tf.den
 G2_tf.den{:}
 G2_tf.num{:}
 eig(G2_tf)
 G2_ss.a
 eig(G2_ss.a)
 G2_ss
 G2_ss.a
 G2_ss.b
 ex0927_3
 nyquist(1.5*G3_tf)
 nyquist(-1.5*G3_tf)
 bode(-1.5*G3_tf)
 bode(1.5*G3_tf)
 K
 K = 1
 ex0927_4
 ex0927_5
 A
 eig(A)
 K = 0
 K=1
 ex0927_5 

#ref(2012.09.27-1.jpg,left,noimg,whiteboard #1);
#ref(2012.09.27-2.jpg,left,noimg,whiteboard #2);



** &color(green){[lecture #4]}; 2012.10.4 Intro. to robust control theory (H infinity control theory) [#i454d1b8]
+ Typical design problems
++ robust stabilization
++ &color(black,yellow){performance optimization};
++ robust performance problem (robust stability and performance optimization are simultaneously considered)
//
+ H infinity norm
-- definition
-- example
//
+ H infinity control problem
-- definition
-- application example : reference tracking problem
--- relation to the sensitivity function S(s) (S(s) -> 0 is desired but impossible)
--- given control system
#ref(ex1004_1.m)
please change the line `K = 1' to `K = ss(1)'

--- controller design with H infinity control theory
#ref(ex1004_2.m)

 %-- 10/4/2012 1:11 PM --%
 s = tf('s')
 G = 1/(s+1)
 norm(G, 'inf')
 help norm
 ex1004_1
 ex1004_2
 K
 K_hinf
 size(K_hinf.a)

#ref(2012.10.04-1.jpg,left,noimg,whiteboard #1);
#ref(2012.10.04-2.jpg,left,noimg,whiteboard #2);
#ref(2012.10.04-3.jpg,left,noimg,whiteboard #3);



** &color(green){[lecture #5]}; 2012.10.11 Introduction to Robust Control (cont.) [#s63abef0]
+ Typical design problems
++ &color(black,yellow){robust stabilization}; ... &color(red){plant is given as class};
++ performance optimization; ... &color(red){plant has no variation};
++ robust performance problem (robust stability and performance optimization are simultaneously considered)
//
+ connection between H infinity control problem and robust stabilization
-- normalized uncertainty \Delta
-- small gain theorem
-- sketch proof ... Nyquist stability criterion
+ How to design robust stabilizing controller with H infinity control problem ?
-- connection between \Delta and plant ?
-- generalized plant G ?
-- practical example of robust stabilization problem
--- unstable plant with perturbation
#ref(ex1011_1.m)
--- multiplicative uncertainty model 
#ref(ex1011_2.m)
--- H infinity controller design
#ref(ex1011_3.m)
#ref(mod1011.mdl)


 %-- 10/11/2012 12:56 PM --%
 ex1011_1
 ex1011_2
 ex1011_3
 mod1011
 ex1011_1
 P
 ex1011_2
 1i
 j
 j = 2
 1i = 2
 ex1011_3
 mod1011
 c = 0.8
 c = 1.2
 c = 1.3
 c = 2

#ref(2012.10.11-1.jpg,left,noimg,whiteboard #1);
#ref(2012.10.11-2.jpg,left,noimg,whiteboard #2);
#ref(2012.10.11-3.jpg,left,noimg,whiteboard #3);


** &color(green){[lecture #6]}; 2012.10.18 Introduction to Robust Control (cont.) [#s63abef0]
+ review
-- robust stabilization ... ||WT T||_inf < 1 (for multiplicative uncertainty)
-- performance optimization ... ||WS S||_inf < gamma -> min
-- mixed sensitivity problem gives &color(red){a sufficient condition}; such that both conditions hold ... nominal (not robust) performance problem
//
+ proof of small gain theorem ... Nyquist stability criterion
+ mixed sensitivity problem
-- the sufficient condition
-- exercise
#ref(ex1018_1.m);
#ref(ex1018_1_ans.m);
#ref(mod1018.mdl);

 %-- 10/18/2012 12:56 PM --%
 mod1018
 ex1018_1
 input_to_P0
 WT
 WSgam
 systemnames
 ex1018_1
 G
 ex1018_1

#ref(2012.10.18-1.jpg,left,noimg,whiteboard #1);
#ref(2012.10.18-2.jpg,left,noimg,whiteboard #2);
#ref(2012.10.18-3.jpg,left,noimg,whiteboard #3);

** &color(green){[lecture #7]}; 2012.10.25 singular value decomposition(SVD) [#e348afb0]
- review of mixed sensitivity problem
- definition of SVD and maximum singular value

 %-- 10/25/2012 1:27 PM --%
 A = [1, 2, 3; 4, 5, 6]
 [U, Sigma, V] = svd(A)
 U*U'
 U'*U
 V'*V
 [U, Sigma, V] = svd(A')
 A = [1, 2, 3; 4, 5, 1i]
 [U, Sigma, V] = svd(A)

#ref(2012.10.25-1.jpg,left,noimg,whiteboard #1);
#ref(2012.10.25-2.jpg,left,noimg,whiteboard #2);
#ref(2012.10.25-3.jpg,left,noimg,whiteboard #3);
#ref(2012.10.25-4.jpg,left,noimg,whiteboard #4);


** &color(green){[lecture #8]}; 2012.11.1 Robust performance problem [#lb8c8214]

- review of the proof
- nominal and robust performance (motivation of robust performance problem)
-- setting for P0 and WT
#ref(ex1101_1.m);
-- controller design with mixed sensitivity problem
#ref(ex1101_2.m);
-- robust performance is not satisfied
#ref(ex1101_3.m);
- %%how to tackle with the robust performance problem (a conservative design with H infinity control problem)%%
//#ref(ex1101_4.m);
- %%less conservative design with scaled H infinity control problem%%
//#ref(ex1101_5.m);

 %-- 11/1/2012 1:37 PM --%
 ex1101_1
 ex1101_2
 K
 ex1101_2
 ex1101_3

#ref(2012.11.01-1.jpg,left,noimg,whiteboard #1);
#ref(2012.11.01-2.jpg,left,noimg,whiteboard #2);


** &color(green){[lecture #9]}; 2012.11.8 Robust performance problem (cont.) [#p502d4f3]

- review: mixed sensitivity problem = robust stability + nominal performance(not robust performance)
- how to tackle with the robust performance problem
++ introduction of a fictitious uncertainty
++ the maximum singular value of block diagonal matrices is less than or equal to 1 ---> a conservative design with H infinity control problem
#ref(ex1101_4.m);
++ intruduction of scalling matrix ---> less conservative design with scaled H infinity control problem
#ref(ex1101_5.m);

 %-- 11/8/2012 1:29 PM --%
 ex1101_4
 ex1101_1
 ex1101_2
 ex1101_3
 ex1101_4
 ex1101_5

#ref(2012.11.08-1.jpg,left,noimg,whiteboard #1);
#ref(2012.11.08-2.jpg,left,noimg,whiteboard #2);
#ref(2012.11.08-3.jpg,left,noimg,whiteboard #3);
#ref(2012.11.08-4.jpg,left,noimg,whiteboard #4);



** &color(green){[lecture #10]}; 2012.11.15 Robust performance problem (cont.) [#p502d4f3]

- review of scaled H infinity control problem
++ ex1101_4.m, ex1101_5.m ... What does the designed result mean ?
++ How was the class of scaling determined ?
++ effect of scaling on closed-loop H infinity norm ... motivation of scaling 

 %-- 11/15/2012 1:08 PM --%
 ex1101_1
 ex1101_2
 ex1101_3
 ex1101_4
 ex1101_5
 -13/20
 10**-0.65
 10^-0.65
 ex1101_4
 K
 ex1101_4
 ex1101_5
 gam
 K
 d
 gam
 K
 sigma(mdiag(1,1/gam)*lft(G,K))
 sigma(mdiag(1/d,1/gam)*lft(G,K)*mdiag(d,1),'r')
 sigma(mdiag(1,1/gam)*lft(G,K))
 hold on
 sigma(mdiag(1/d,1/gam)*lft(G,K)*mdiag(d,1),'r')

#ref(2012.11.15-1.jpg,left,noimg,whiteboard #1);
#ref(2012.11.15-2.jpg,left,noimg,whiteboard #2);
#ref(2012.11.15-3.jpg,left,noimg,whiteboard #3);

** &color(green){[lecture #11]}; 2012.11.22 will be given by Prof. Kimura [#s9293d0c]

** &color(green){[lecture #12]}; 2012.11.29 will be given by Prof. Kimura [#o1540c22]

** &color(green){[lecture #13]}; 2012.12.6 Robust control design for a practical system (1/3) : Active vibration control of a pendulum using linear motor (loudspeaker) [#ucd0105e] &color(red){some mistakes fixed on 2012.12.13}; [#k776c145]

- Experimental setup
#ref(photo1.jpg,left,noimg,photo1);
#ref(photo2.jpg,left,noimg,photo2);
#ref(photo3.jpg,left,noimg,photo3);
#ref(photo4.jpg,left,noimg,photo4);
#ref(photo5.jpg,left,noimg,photo5);

-- linear motor : FOSTEX &color(red){FW-};208N (corn, edge, and damper are partially removed to decrease damping)
-- PSD(Position Sensitive Detector) : Hamamatsu Photonics Corp. C3683-01
-- Potentio meter : Midori Precisions Model QP-2H
-- PC : Dell Dimension 2400 (Intel Celeron 2.4G, Linux 2.4.22, RTlinux-3.2pre3)
-- D/A : CONTEC DA12-4 (PCI) 12bit, 10us
-- A/D : CONTEC AD12-16 (PCI) 12bit, 10us
-- He-Ne Laser : NEC GLG5230

- Objective for control system design
++ to attenuate vibration due to pendulum oscillation
++ robust stability against modelling error due to non-linear dinamics etc.

- Modelling 
-- frequency response experiment results:
#ref(frdata_amp005.dat);
#ref(frdata_amp010.dat);
#ref(frdata_amp020.dat);
&color(red){due to some change on experimental apparatus, please use following data as frequency response experimental results (2012.12.13)};
#ref(frdata_amp005_1st.dat);
#ref(frdata_amp010_1st.dat);
#ref(frdata_amp020_1st.dat);
#ref(frdata_amp005_2nd.dat);
#ref(frdata_amp005_3rd.dat);
#ref(frdata_amp005_4th.dat);

-- example of m-files &color(red){(the following files have been replaced by modified ones (2012.12.13)};
#ref(freqresp.m)
#ref(nominal.m)
#ref(weight.m);
 >> freqresp
 >> nominal
 >> weight
- Controller design (robust performance problem)
-- example of m-file
#ref(cont.m)
 >> cont
-- design example
#ref(cont.dat)
#ref(cont_order.dat)
#ref(cont.mat)
#ref(result.dat)
#ref(result_no.dat)

-- example of m-file to compare designed controllers
#ref(compare.m)

- report
+design your controller(s) so that the system performance is improved compared with the given 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 closed-loop systems
++time response of control experiment
+Why is the performance of your system improved(or unfortunately decreased)?
--&size(30){&color(red){due date: 27th(Thu) Dec 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 &size(30){&color(red){not later than 21th(Fri) Dec};};
--submit your cont.dat, cont_order.dat, and cont.mat to kobayasi@nagaokaut.ac.jp &size(30){&color(red){not later than %%21th(Fri)%% 25th(Tue) Dec};};

- program sources for frequency response experiment
#ref(freqresp.h)
#ref(freqresp_module.c)
#ref(freqresp_app.c)
-- format of frdata.dat file
--- 1st column: frequency (Hz)
--- 2nd column: gain
--- 3rd column: phase (deg)
--- 4th column: gain
--- 5th column: phase (deg)
- 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: PSD output (V)
--- 3rd column: Potentio meter output (V)
--- 4th column: control input (V)
--- 5th column: input disturbance (V)
- configuration of control experiment
-- input disturbance is given as described in hinf_module.c: 
 if(t < 0.1){
    w = DIST_AMP;
 }else{
    w = 0;
 }
 da_conv(V_OFFSET + w, 0); // D/A output for linear motor

 freqresp
 nominal
 help n4sid
 load result.dat
 load result_no.dat
 plot(result(:,1),result(:,3),'r',result_no(:,1),result_no(:,2),'g')
 plot(result(:,1),result(:,3),'r',result_no(:,1),result_no(:,3),'g')

#ref(2012.12.06-1.jpg,left,noimg,whiteboard #1);
#ref(2012.12.06-2.jpg,left,noimg,whiteboard #2);
&color(red){... please use the potentio meter output as the measured output instead the PSD output (2012.12.13)};
#ref(2012.12.06-3.jpg,left,noimg,whiteboard #3);
#ref(2012.12.06-4.jpg,left,noimg,whiteboard #4);


** &color(green){[lecture #14]}; 2012.12.13 Robust control design for a practical system (2/3) [#g991f11e]

&size(20){&color(red){IMPOTANT};:due to some change on experimental apparatus, &color(red){please use the potentio meter output as the measured output}; instead of the PSD output. Moreover, some files have been re-uploaded due to this change. See previous links.}; 

-explanation of design example (cont. from the previous lecture)
-preparation of your own controller(s)

 %-- 12/13/2012 12:59 PM --%
 freqresp
 pwd
 freqresp
 nominal
 P0
 weight
 cont
 compare
 load result.dat
 plot(result(:,1),result(:,3));
 load result_no.dat
 plot(result_no(:,1),result_no(:,3),'b',result(:,1),result(:,3),'r');
 plot(result_no(:,1),result_no(:,2),'b',result(:,1),result(:,2),'r');
 plot(result_no(:,1),result_no(:,4),'b',result(:,1),result(:,4),'r');

#ref(2012.12.13-1.jpg,left,noimg,whiteboard #3);

** &color(green){[lecture #15]}; 2012.12.20 Robust control design for a practical system (3/3) [#tb057499]

-preparation of your own controller(s)

#ref(load_frdata.m)

[[participant list2012]]

**related links [#y9f6a832]
//-東ティモール工学部復興支援/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]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS