*Advanced Automation [#z9bc7ec1]
*応用数学2B 2012年度 [#n0b8fc2b]

** &color(green){[lecture #1]}; 2012.9.6 review of classical control theory [#p164acd2]
#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){[第1回]}; 2012.10.3 [#d7c79036]

** &color(green){[lecture #2]}; 2012.9.20 given by Prof. Kimura [#i0fba71e]
-Q:独習用に、複素解析の良い本を紹介してほしい
-A:たまたま手元にある本ですが、薄い本の割には演習問題も多く含まれていて、その解答も不親切ではない(解き方のヒントも載っている)本として、「改訂 工科の数学4 複素関数(培風館)」があります。僕の持っているのは1994年版(第22刷)で、ミスプリントも少ないようです。どの本というよりもむしろ、複数の本を持って読み比べる事を勧めます。amazonの書評なども参考にしてみては。

** &color(green){[lecture #3]}; 2012.9.27 CACSD introduction with review of classical and modern control theory [#q23883cb]
-Q:シラバスは無いのか?
-A:あります。リンクはないようですが、ダウンロードはできました(10月2日)

+ 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)
-Q:質問があるときは、どうすれば良い?
-A:できるだけ当日の授業中に聞いてください。聞きにくければ授業後でも良いです。

 %-- 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 
-Q:コーシーの積分定理〜真性特異点を補講してほしい
-A:質問を小さく具体的にしてもらえると答えやすいです。定理などは、まずはそれを認めて、ツールとして使えるようになってください。使う状況としては、制御工学の例で言えば、ナイキストの安定定理の証明を追ってみる。ツールとして使えるようになってから、その定理の証明に取り組むのが、やる気が維持できて良いと思います。

#ref(2012.09.27-1.jpg,left,noimg,whiteboard #1);
#ref(2012.09.27-2.jpg,left,noimg,whiteboard #2);
-Q:教科書の s > 0 は、すべて Re s > 0 という意味か?
-A:そうです。

&color(black,red){!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! the followings are under construction !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!};
-Q:少し早かった
-A:余分な事を早口で喋ったところが、そういう印象を与えたのではないかと思います。
もう少しゆっくり喋るようにします。

** &color(green){[第2回]}; 2012.10.10 [#ibb4f4c3]

** &color(green){[lecture #4]}; 2011.10.13 Intro. to robust control theory (H infinity control theory) [#wf03a700]
- H infinity norm
++ robust stabilization
++ &color(black,yellow){performance optimization};
-Q:例題よりも問を中心にしてほしい(例題は説明が載っているので)
-A:例題の解説がくどかったかもしれません。教科書に十分な説明が載っている例題については説明を少し簡単にしようと思います。

- 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)
-Q:青のチョークは見えにくいので別の色にしてほしい
-A:すみません。緑にします。

 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
** &color(green){[第3回]}; 2012.10.17 [#y557b8dc]

#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);
-Q:たたみこみが何をしたくてやっているのかよく分かりません
-A:詳細は、次次回に説明しますが、像関数の積の逆ラプラス変換をしたくて、たたみこみは存在します。例えば、ある与えられたシステムに、ある入力を加えたときの出力がどうなるか?考える際に、たたみこみが使われます。

** &color(green){[lecture #5]}; 2011.10.7 Introduction to Robust Control (cont.) [#w07bf0cb]
- H infinity norm
++ &color(black,yellow){robust stabilization};
++ performance optimization
** &color(green){[第4回]}; 2012.10.24 [#z0d38824]

+ 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)
-Q:微分方程式にlogが含まれていると、教科書の表だけではラプラス変換を使って解けないのでは?
-A:logの積分ができないので、ラプラス変換に限らず、微分方程式を解くことができません。(もし解けるような例を知っていたら教えてください)

 %-- 10/20/2011 1:41 PM --%
 ex1020_1
 ex1020_2
 ex1020_3
 mod1020
 c
 c = 0.8
-Q:1回の講義で進む範囲を広げてほしい。
-A:シラバスに記載されているスケジュールよりも若干遅れていることが原因と思います。もう少し説明を簡潔にして、シラバスのスケジュールに近づけるようにします。

#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){[第5回]}; 2012.10.31 [#ze53d1a0]

** &color(green){[lecture #6]}; 2011.10.27 norm (vector space, normed linear space), singular value, mixed sensitivity problem [#e3da44ba]
- 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 
- H infinity norm : scalar (SISO) ---> matrix (MIMO)
-- 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
-Q:授業中の解説がだんだん雑になってきた気がする。
-A:このくらいはわかるだろう、という予想が十分ではなく、説明が簡潔すぎたようです。
一方で、説明がくどいと感じる人もいて、そのバランスを取るのに苦労しています。
できれば、授業中に説明が足りない、と指摘してもらえると助かります。私ももう少し皆さんの様子から察するようにします。

#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);
** &color(green){[第6回]}; 2012.11.7 [#a25375d4]

** &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) [#b334e7c8]
-Q:過去問の解答例がほしい
-A:これは。。。すみませんが勘弁してください。

see [[Prof. Kimura's page>http://mcweb.nagaokaut.ac.jp/~rescue-eng]]
-Q:初期値がゼロでない場合、伝達関数
 Y(s)/X(s) = (b_1 s + b_0) / (s^2 + a_1 s + a_0)
は、微分方程式
 y'' + a_1 y' + a_0 y = b_1 x' + b_0 x
に変換できないのか?
-A:s^2 Y(s) の逆ラプラス変換が y'' に対応しなくなるので、できません(s Y(s) など、他の項も同様)。
そもそも伝達関数は、入力と出力の比です。出力における、入力の寄与度、とも言えます。入力以外(つまり、初期値)の寄与度については、無視して考えます。
実際、初期値がゼロならば、システムの出力は、その入力(と伝達関数)によって一意に定まりますが、初期値がゼロでない場合、出力にはシステムの初期値による応答(初期値応答)も含まれるようになり、入力から一意に定まりません。

#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);

** &color(green){[lecture #9]}; 2011.12.1 robust control design example: Robust Control System Synthesis for Pneumatic Systems (given by Prof. Kimura) [#z313cf27]
** &color(green){[第7回]}; 2012.11.14 中間テスト [#p4878489]

** &color(green){[lecture #10]}; 2011.12.8 Speed control of two inertia system with servo motor (1/3) [#v76c2b3e]
- 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)
** &color(green){[第8回]}; 2012.11.21 [#xc5bc60c]

- 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};};
- 級数を打ち切る高調波の字数Nを大きくしていくにつれて、フーリエ級数の近似精度が向上していく様子をグラフを書いて確認する(p.85 例題2、Matlabを使う場合)

- 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 
 x1 = (-1:0.01:0)';
 x2 = (0:0.01:1)';
 x = [x1; x2];
 y1 = 0*x1;
 y2 = 0*x2+1;
 y = [y1; y2];
 m = size(y, 1);
 f = 1/2 * ones(m,1);
 for n=1:30
   bn = (1 - (-1)^n)/(n*pi);
   f = f + bn * sin(n*pi*x);
   plot(x, y, 'b', x, f, 'r');
 end

- 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.  
** &color(green){[第9回]}; 2012.12.5 [#xbfa00cd]

#ref(2011.12.08-1.jpg,left,noimg,whiteboard #1);
-Q:p.85例題2のf(x)を、不連続点における値が1/2となるように変更した場合、f(x)とそのフーリエ級数は(f(x)が不連続点を持つにも関わらず)等しくなるのか?
-A:とても良い質問ですね。質問されなくても、当然、授業中に説明すべき内容でした。すみません。フーリエ級数の収束定理より、f(x)とそのフーリエ級数は等しくなります(nを大きくしていけばいくほど、nまでの和をとった級数が、いくらでもf(x)に近く、ということです)。f(x)は不連続点を持ちますが、そこでの値が、左右両極限の平均値にセットされているので。

 %-- 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')
-Q:anが図から明らかなら、テストで記述を省いてもいいか?
-A:anが0となることが図から明らかなら、という意味だと思いますが、明らかである理由を説明すればOKです。つまり、与えられた関数が奇関数の場合、「奇関数なので c0 と an は 0 となる」と説明すれば十分です。また、今日僕も授業中にやりましたが、図より平均値c0が明らかな場合は、「図より明らかにc0=...である」と説明すれば十分です。

** &color(green){[第10回]}; 2012.12.19 [#o9f339aa]

-Q:複素フーリエ級数展開する方が、フーリエ級数展開するよりも一般的に容易と言えるか?
-A:実際にかかる計算の手間は個々の問題に依存し、これを一般的に比較することは不可能なので、今日比較に使った問題7(2)のように与えられた関数がxの多項式であるとして、部分積分の回数を比較してみます。問題7(2)では、xの1次式でした。これを少し一般化して、xのm次式であるとしてみます。すると、an, bn, cn を求めるために、部分積分をそれぞれm回行う必要があります。複素フーリエ級数展開する場合は cn だけを求めればよいので、部分積分はm回行うだけなのに対して、フーリエ級数展開する場合は、an と bn で合計2m回の部分積分を実行する必要があります。各部分積分1回分の手間が同じである保証はありませんが、部分積分の回数は、複素フーリエ級数展開の方が少ないと言えそうです。。。。。授業中に説明すべきでしたね。

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

-explanation of design example (cont. from the previous lecture)
-preparation of your own controller(s)
-Q:熱伝導問題の解について、両端の温度が 0 でない場合、sin が cos になったりするのか?
-A:講義の際、答えがあやふやだったため補足します。
結論は、cos になることはありません。両端の温度が 0 でない場合は、その両端の温度を直線でつないだ温度分布が、最終的にいきつく温度分布となります。
その最終的な温度分布からの差分が、フーリエ級数で表現されることになるので、フーリエ級数の部分は、両端の温度が0のときと同じ形(t->∞で0に収束する指数関数と、sin関数を持つ)になります。詳細は、以下のpdfファイルを見てください。
#ref(ex.pdf);

#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) [#v5379e4b]

-preparation of your own controller(s)

[[participant list2011]]

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

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