*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.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);
#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) [#ucd0105e]

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

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

&color(black,red){!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! the followings are under construction 以下は、去年の情報です !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!};



** &color(green){[lecture #10]}; 2011.12.8 Speed control of two inertia system with servo motor (1/3) [#we798596]
- Experimental setup
#ref(apparatus.ppt);
#ref(setup.pdf)
-- Objective for control system design
++ speed tracking
++ robust against inertia-load variation
- Modelling 
-- frequency response experiment results:
#ref(frdata_small_offset0.dat)
#ref(frdata_small_offset5.dat)
#ref(frdata_small_offset10.dat)
#ref(frdata_large_offset0.dat)
#ref(frdata_large_offset5.dat)
#ref(frdata_large_offset10.dat)
-- example of m-file
#ref(freqresp.m)
#ref(nominal.m)
#ref(weight.m);
 >> freqresp
 >> nominal
 >> weight
- Controller design (mixed sensitivity problem)
-- example of m-file
#ref(cont.m)
 >> cont
-- design example
#ref(cont.dat)
#ref(cont_order.dat)
#ref(cont.mat)
#ref(result_small.dat)
#ref(result_large.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: 28th(Wed) 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 23th(Fri) 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)
- 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: motor speed (rad/s)
--- 3rd column: motor torque (Nm)
--- 4th column: reference speed (rad/s)
- configuration of control experiment
-- reference signal is generated as described in hinf_module.c: 
 if((t > 3)&&(t < 7)){
   r = 10.0;
 }else{
   r = 5;
 }
-- two inertia-load discs (small and large) are used 

- Difficulties of our plant: 
As motor speed is approximately calculated by using difference for one sampling period in hinf_module.c like
 thetaM_rad = (double)read_theta(0) / (double)Pn212 * 2 * M_PI;
 speedM_rad = (thetaM_rad - thetaM_rad_before) / msg->sampling_period;
 thetaM_rad_before = thetaM_rad
sampling period should not become too small.
On the other hand, sampling period should be chosen as small as possible so that desiged continuous-time controller could be closely implemented by its descretized version. 
Therefore, we have a dilemma to control our plant.
The sampling period 0.25 msec was chosen by traial and error so that noise in measured speed is not too large. 
The gain in high frequency range of continuous-time controller should be small enough for discretization.  

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

 %-- 12/8/2011 1:22 PM --%
 freqresp
 nominal
 weight
 load result_small.dat
 result_small
 plot(result_small(:,1),result_small(:,2))
 plot(result_small(:,1),result_small(:,2), 'b', result_small(:,1),result_small (:,4),'r')



** &color(green){[lecture #11]}; 2011.12.15 Speed control of two inertia system with servo motor (2/3) [#c62f648b]

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

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

 %-- 12/15/2011 1:06 PM --%
 cont
 help hinfsyn
 K
 Ktf = tf(K)
 bode(K, 'r', Ktf, 'b')
 legend('ss', 'tf')
 help fitsys

** &color(green){[lecture #12]}; 2011.12.22 Speed control of two inertia system with servo motor (3/3) [#qa449cc8]

-preparation of your own controller(s)

[[participant list2011]]

** &color(red){supplementary lectures will be given by Prof. Kimura.}; [#df0d2bf7]

-example for changing ws = 2 pi 0.1 -> 2 pi 0.01
#ref(cont_ws.m, cont.m);

-example to compare time responces
#ref(compare_result.m);

 %-- 12/22/2011 1:20 PM --%
 nominal
 ctrlpref
 nominal
 weight
 cont
 ks
 cont
 compare_result


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