*Advanced Automation [#y48807b4]

** &color(green){[lecture #1]}; 2010.9.2 review of classical control theory (given by Prof. Kimura) [#kc7bfd81]
** &color(green){[lecture #1]}; 2011.9.1 review of classical control theory [#e1455075]
#ref(2011.09.01-1.jpg,left,noimg,whiteboard #1);
#ref(2011.09.01-2.jpg,left,noimg,whiteboard #2);
#ref(2011.09.01-3.jpg,left,noimg,whiteboard #3);
#ref(2011.09.01-4.jpg,left,noimg,whiteboard #4);

** &color(green){[lecture #2]}; 2010.9.9 CACSD introduction [#i485bdcb]
** &color(green){[lecture #2]}; 2011.9.8 CACSD introduction with review of classical control theory [#i485bdcb]

- 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

#ref(2010.9.9-1.jpg,left,noimg,whiteboard #1);
#ref(2010.9.9-2.jpg,left,noimg,whiteboard #2);
#ref(sample0908.m);
#ref(2011.09.08-1.jpg,left,noimg,whiteboard #1);

** &color(green){[lecture #3]}; 2010.9.16 CACSD introduction [#ie436c91]
** %%&color(green){[lecture #3]}; 2011.9.15 given by Prof. Kimura%% &color(red){cancelled}; [#d9297f13]

-review of clasical control theory
++ transfer function
++ Bode diagram
++ characteristics of 2nd-order system
++ Nyquist stability criterion
++ gain margin and phase margin
-review of modern control theory
++ state-space representation
** %%&color(green){[lecture #4]}; 2011.9.22 given by Prof. Kimura%% &color(red){cancelled}; [#od7a32d8]

#ref(ex1.m)
#ref(mod1.mdl)
#ref(ex2.m)
#ref(ex3.m)
#ref(ex4.m)
** %%&color(green){[lecture #5]}; 2011.9.29 given by Prof. Kimura%% &color(red){cancelled}; [#p954bd15]

#ref(2010.9.16-1.jpg,left,noimg,whiteboard #1);
#ref(2010.9.16-2.jpg,left,noimg,whiteboard #2);
** &color(red){supplementary lectures will be given by Prof. Kimura.}; [#ce3ca708]

** &color(green){[lecture #4]}; 2010.9.30 Intro. to Robust Control [#td8f1249]

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

+relationship between &color(black,cyan){TF}; and &color(black,lightgreen){SSR}; (higher order case)
#ref(ex1006_1.m)
#ref(mod1006.mdl)
+open-loop stability 
-- can be checked by &color(black,cyan){poles of TF}; and &color(black,lightgreen){eigenvalues of A-matrix in SSR};  
#ref(ex1006_2.m)
+closed-loop stability
-- can be checked graphically 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(ex1006_3.m)
-- can be checked numerically by &color(black,cyan){poles of closed-loop TF}; and &color(black,lightgreen){eigenvalues of A-matrix in closed-loop SSR}; 
#ref(ex1006_4.m)

 %-- 10/6/2011 1:25 PM --%
 ls
 ex1006_1
 ex1006_2
 ex1006_3
 grid on
 -0.8*1.5
 ex1006_4

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

** &color(green){[lecture #4]}; 2011.10.13 Intro. to robust control theory (H infinity control theory) [#td8f1249]
- H infinity norm
++ robust stabilization
++ performance improvement
++ &color(black,yellow){performance optimization};

#ref(ex21.m)
#ref(ex22.m)
- Example of performance optimization problem : disturbance attenuation problem
-- controller design with trial and error
#ref(ex1013_1.m)
-- controller design with H infinity control theory
#ref(ex1013_2.m)

 s = tf('s')
 G = 1/(s+1)
 norm(G, 'inf')
 P = 1/(s^2 + 0.2*s + 1)
 K = 1
 nyquist(P*K)
 help impulse
 impulse(P)
 T = 1/(1 + P*K)
 impulse(T)
 sqrt(2)/(2*pi)
 1/ans
 step(T)
 ex21
 ex22
 s = tf('s');
 G = 1/(s+1);
 norm(G, inf)
 G = 1/(s^2+0.1*s+1);
 norm(G, inf)
 bode(G)
 ex1013_1
 ex1013_2

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

** &color(green){[lecture #5]}; 2010.10.7 Introduction to Robust Control (cont.) [#bc66b19a]
** &color(green){[lecture #5]}; 2011.10.7 Introduction to Robust Control (cont.) [#bc66b19a]
- H infinity norm
++ robust stabilization <--
++ performance improvement
++ &color(black,yellow){robust stabilization};
++ performance optimization

#ref(ex23.m)
#ref(ex24.m)
#ref(ex25.m)
#ref(mod2.mdl)
+ a class used to represent plant uncertainty and/or perturbation ... H infinity norm
+ small gain theorem
-- connects the closed-loop H infinity norm and robust stability condition
-- sketch proof ... Nyquist stability criterion
+ practical example of robust stabilization problem
-- unstable plant with perturbation
#ref(ex1020_1.m)
-- multiplicative uncertainty model 
#ref(ex1020_2.m)
-- H infinity controller design
#ref(ex1020_3.m)
#ref(mod1020.mdl)

#ref(2010.10.7-1.jpg,left,noimg,whiteboard #1);
#ref(2010.10.7-2.jpg,left,noimg,whiteboard #2);
#ref(2010.10.7-3.jpg,left,noimg,whiteboard #3);
#ref(2010.10.7-4.jpg,left,noimg,whiteboard #4);
 %-- 10/20/2011 1:41 PM --%
 ex1020_1
 ex1020_2
 ex1020_3
 mod1020
 c
 c = 0.8

** &color(green){[lecture #6]}; 2010.10.14 norm, vector space, normed linear space [#h277253a]
#ref(2011.10.20-1.jpg,left,noimg,whiteboard #1);
#ref(2011.10.20-2.jpg,left,noimg,whiteboard #2);
#ref(2011.10.20-3.jpg,left,noimg,whiteboard #3);
#ref(2011.10.20-4.jpg,left,noimg,whiteboard #4);

** &color(green){[lecture #6]}; 2011.10.27 norm (vector space, normed linear space), singular value, mixed sensitivity problem [#p7b75e09]
- H infinity &color(red){norm}; ... {robust stabilization, performance improvement}
- norm
#ref(norm.pdf);
-- size of {number, signal, system}
-- defined on &color(red){vector space (linear space)};
--- ---> normed linear space
--- ... optimization 

#ref(norm.pdf)

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

** &color(green){[lecture #7]}; 2010.10.21 eigenvalue, eigenvector, singular value decomposition [#m2fe2751]
- H infinity norm : scalar (SISO) ---> matrix (MIMO)
-- absolute value ---> maximum &color(red){singular value}; 
-- background: mixed sensitivity problem {robust stabilization and performance improvement are simultaneously considered}
-- absolute value ---> maximum &color(red){singular value};
#ref(norm2.pdf);
-- &color(black,yellow){robust stabilization or performance optimization problem ---> mixed sensitivity problem};
- reference
-- Feedback control theory / John C. Doyle, Bruce A. Francis and Allen R. Tannenbaum
#ref(feedback_control_theory.jpg);
--- 2. Norms for signals and systems
--- 3. Basic concepts
--- 4. Uncertainty and robustness ... p.62 Eq.(4.10) H infinity norm condition in mixed sensitivity problem
-- Robust and optimal control / Kemin Zhou, John C. Doyle and Keith Glover
#ref(robust_and_optimal_control.jpg); 
--- 2. Linear algebra (2.7 Vector norms and matrix norms, 2.8 Singular value decomposition)
--- 4. Performance specifications (4.1 Normed spaces, 4.3 Hardy spaces H_2 and H_infinity)
--- 9. Model uncertainty and robustness
--- 16. H infinity control: simple case
--- 17. H infinity control: general case

#ref(norm2.pdf)
#ref(2011.10.27-1.jpg,left,noimg,whiteboard #1);
#ref(2011.10.27-2.jpg,left,noimg,whiteboard #2);
#ref(2011.10.27-3.jpg,left,noimg,whiteboard #3);
#ref(2011.10.27-4.jpg,left,noimg,whiteboard #4);
#ref(2011.10.27-5.jpg,left,noimg,whiteboard #5);

 A = [2, 1; 0, 1]
 [X, L] = eig(A)
 X*L/X - A
 [U, S, V] = svd(A)
 U*U'
 V*V'
 U*S*V'
 U*S*V' - A
 sqrt(eig(A'*A))
 S
** &color(green){[lecture #8]}; 2011.11.10 state space representation of connected system, state space representation of generalized plant for various control problem, mixed sensitivity problem (by Prof. Kimura) [#z1d219dc]

#ref(2010.10.21-1.jpg,left,noimg,whiteboard #1);
#ref(2010.10.21-2.jpg,left,noimg,whiteboard #2);
#ref(2010.10.21-3.jpg,left,noimg,whiteboard #3);
#ref(2010.10.21-4.jpg,left,noimg,whiteboard #4);
#ref(2010.10.21-5.jpg,left,noimg,whiteboard #5);
see [[Prof. Kimura's page>http://sessyu.nagaokaut.ac.jp/~kimuralab/index.php?%C0%A9%B8%E6%B9%A9%B3%D8%C6%C3%CF%C0]]

** &color(green){[lecture #8]}; 2010.10.28 state space representation of connected system, state space representation of generalized plant for various control problem, mixed sensitivity problem [#z1d219dc]
#ref(aa-111110-1.jpg,left,noimg,whiteboard #1);
#ref(aa-111110-2.jpg,left,noimg,whiteboard #2);
#ref(aa-111110-3.jpg,left,noimg,whiteboard #3);
#ref(aa-111110-4.jpg,left,noimg,whiteboard #4);

#ref(2010.10.28-1.jpg,left,noimg,whiteboard #1);
#ref(2010.10.28-2.jpg,left,noimg,whiteboard #2);
** &color(green){[lecture #9]}; 2011.12.1 robust control design example: Robust Control System Synthesis for Pneumatic Systems (given by Prof. Kimura) [#kcbd40d5]

#ref(ex26.m)

** &color(green){[lecture #9]}; 2010.11.4 robust control design example: Robust Control System Synthesis for Pneumatic Systems (given by Prof. Kimura) [#kcbd40d5]

see [[RubustControlOfPneumatic-e.pdf>http://sessyu.nagaokaut.ac.jp/~kimuralab/index.php?plugin=attach&refer=%C0%A9%B8%E6%B9%A9%B3%D8%C6%C3%CF%C0&openfile=RubustControlOfPneumatic-e.pdf]] in Prof. Kimura's homepage for detail 

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

** &color(green){[lecture #10]}; 2010.11.11 robust control design example (cont.) [#k2df828d]
+ Design H infinity controller with Eqs.(41)-(47) and generalized plant depicted in Fig.3 in the pdf file.
++ Confirm the following m-file for design:
#ref(pneum.m);
#ref(pneum_ans.m);
++ Derive the generalized plant by hand and correct the m-file. 
++ Run the m-file to find controller.
+ Simulation
#ref(simu_pneum.mdl);
#ref(simu_pneum_noise.mdl);

 simu_pneum
 plot(t, y, 'r', t, r, 'b');
 
 simu_pneum_noise
 plot(t, y, 'r', t, n, 'b')

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

** &color(green){[lecture #11]}; 2010.11.18 robust control design example (cont.) (given by  Prof. Kimura) [#v12fc8d7]

Exercise
+step response
+noise response (noise type: step, sinusoidal wave 1Hz, 50Hz, 500Hz)
+initial response (x(0) = [1;0;0])

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

** &color(green){[lecture #12]}; 2010.11.25 Speed control of two inertia system with servo motor (1/3) [#m0a27708]
- simulation (cont. from Nov.18)
- Problem setup
#ref(apparatus.pptx);
- Modelling (frequency response experiment)

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

** &color(green){[lecture #13]}; 2010.12.2 Speed control of two inertia system with servo motor (2/3) [#k962a45b]
- %%reduced-order controller design%% (will be given by Prof. Kimura using with the robust control design example)
#ref(2010.12.2-1.jpg,left,noimg,whiteboard #1);
#ref(2010.12.2-2.jpg,left,noimg,whiteboard #2);
- Problem setup
** &color(green){[lecture #10]}; 2011.12.8 Speed control of two inertia system with servo motor (1/3) [#m0a27708]
- Experimental setup
#ref(apparatus.ppt);
#ref(setup.pdf)
-- Objective for control system design
++ speed tracking
++ robust against inertia-load variation
#ref(setup.pdf)
- Modelling 
-- frequency response experiment results:
#ref(frdata_offset0_small.dat)
#ref(frdata_offset0_large.dat)
#ref(frdata_offset5_small.dat)
#ref(frdata_offset5_large.dat)
#ref(frdata_offset10_small.dat)
#ref(frdata_offset10_large.dat)
#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 1 (wt1 = 2*pi*50 is set in weight.m)
#ref(cont1.dat)
#ref(cont_order1.dat)
#ref(cont1.mat)
#ref(result_small1.dat)
#ref(result_large1.dat)
-- design example 2 (wt1 = 2*pi*20 is set in weight.m)
#ref(cont2.dat)
#ref(cont_order2.dat)
#ref(cont2.mat)
#ref(result_small2.dat)
#ref(result_large2.dat)
-- example of m-file to compare designed controllers
#ref(compare.m)
-- 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 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:
+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(Tue) Dec 17:00};};
--&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 and cont_order.dat to kobayasi@nagaokaut.ac.jp &size(30){&color(red){not later than 24th Dec};};
--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(1) / (double)Pn212 * 2 * M_PI;
 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.  

** &color(green){[lecture #14]}; 2010.12.9 Speed control of two inertia system with servo motor (3/3) [#f70a7b40]
#ref(2011.12.08-1.jpg,left,noimg,whiteboard #1);

Due to a dimension change of the driven shaft, frequency response experiment has been re-conducted. Please use the following fixed files instead of the ones introduced on the previous lecture.
 
-- frequency response experiment results:
#ref(frdata_offset5_small_fixed.dat)
#ref(frdata_offset5_large_fixed.dat)
#ref(frdata_offset10_small_fixed.dat)
#ref(frdata_offset10_large_fixed.dat)
-- example of m-file
#ref(freqresp_fixed.m)
#ref(nominal_fixed.m)
#ref(weight_fixed.m);
#ref(cont_fixed.m)
-- design example 1 (wt1 = 2*pi*20 is set in weight.m)
#ref(cont1_fixed.dat)
#ref(cont_order1_fixed.dat)
#ref(cont1_fixed.mat)
#ref(result_small1_fixed.dat)
#ref(result_large1_fixed.dat)
-- design example 2 (wt1 = 2*pi*5 is set in weight.m)
#ref(cont2_fixed.dat)
#ref(cont_order2_fixed.dat)
#ref(cont2_fixed.mat)
#ref(result_small2_fixed.dat)
#ref(result_large2_fixed.dat)
 %-- 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')

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


** &color(green){[lecture #15]}; 2010.12.16 Speed control of two inertia system with servo motor (cont.) [#c705d22a]
** &color(green){[lecture #11]}; 2011.12.15 Speed control of two inertia system with servo motor (2/3) [#k962a45b]

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

[[participant list2010]]
#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) [#f70a7b40]

-preparation of your own controller(s)

[[participant list2011]]

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

-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

//&color(black,red){!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! the followings are under construction !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!};

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