[[授業]] *Advanced Automation [#kaac6ca4] [[latest lecture>#t65087a2]] ** &color(green){[lecture #1]}; 2018.9.6 outline of the lecture, review of classical and modern control theory (1/3) [#bbf8ee48] - outline of this lecture -- syllabus([https://vos-lc-web01.nagaokaut.ac.jp/]) -- evaluation --- mini report #1 ... 10% --- mini exam #1 ... 10% --- mini report #2 ... 10% --- mini exam #2 ... 10% --- final report ... 60% -- [[schedule2018]] (tentative) -- map &ref(授業/制御工学特論2017/map_v1.1.pdf); for review &ref(授業/制御工学特論2017/map_v1.1_review.pdf); - review : stabilization of SISO unstable plant by classical and modern control theory -- transfer functions / differential equations -- poles / eigenvalues -- impulse response / initial value response -- ... %-- 2018/09/06 12:48 --% s = tf('s') P = 1/(s-1) pole(P) impulse(P) k = 2 Tyr = feedback(P*k, 1) help feedback Tyr = feedback(P*k, 1) step(Tyr) k k = 10 Tyr = feedback(P*k, 1) step(Tyr) #ref(2018.09.06-1.jpg,left,noimg,whiteboard #1); #ref(2018.09.06-2.jpg,left,noimg,whiteboard #2); #ref(2018.09.06-3.jpg,left,noimg,whiteboard #3); #ref(2018.09.06-4.jpg,left,noimg,whiteboard #4); -Q: Q3とQ4で話した内容で&br; 古典制御:初期値が0である代わりにインパルスを入れる&br; 現代制御:初期値がある代わりにインパルスを入れない&br; であっていますか?正確に聞きそびれたので教えてください -A: 合っています。H∞制御の導入のところでまた詳しく説明する予定です。 ** &color(green){[lecture -]}; 2018.9.13 canceled [#o708bc80] ** &color(green){[lecture #2]}; 2018.9.20 review of classical and modern control theory (2/3) with introduction of Matlab/Simulink [#abf4fae2] + introduction of Matlab and Simulink &ref(授業/制御工学特論2015/text_fixed.pdf); Basic usage of MATLAB and Simulink used for 情報処理演習及び考究II/Consideration and Practice of Information Processing II: Advanced Course of MATLAB -- interactive system (no compilation, no variable difinition) -- m file //-- example: stabilization of inverted pendulum (sorry in Japanese) //--- [[derivation of equation of motion>http://c.nagaokaut.ac.jp/~kobayasi/i/Matlab/ex/text.pdf]] //--- [[stabilization of 1-link pendulum>http://c.nagaokaut.ac.jp/~kobayasi/i/Matlab/ex/1link.html]] //--- [[stabilization of 2-link pendulum>http://c.nagaokaut.ac.jp/~kobayasi/i/Matlab/ex/2link.html]] // + system representation: Transfer Function(TF) / State-Space Representation (SSR) // -- example: mass-spring-damper system -- difinition of SSR -- from SSR to TF -- from TF to SSR: controllable canonical form + open-loop characteristic -- open-loop stability: poles and eigenvalues -- Bode plot and frequency response &ref(ex0920_1.m); &ref(mod0920_1.mdl); --- cut off frequency; DC gain; -40dB/dec; variation of c --- relation between P(jw) and steady-state response + closed-loop stability -- Nyquist stability criterion (for L(s):stable) -- Nyquist plot &ref(ex0920_2.m); &ref(mod0920_2.mdl); --- Gain Margin(GM); Phase Margin(PM) %-- 2018/09/20 13:05 --% demo t = [1, 2, 3] who a = t' who a(5) = 1 a(5,4) = 100 pwd ex0920_1 who P P.den P.den{:} P eig(P) pole(P) Pss = ss(P) Pss Pss.a eig(Pss.a) ex0920_2 #ref(2018.09.20-1.jpg,left,noimg,whiteboard #1); #ref(2018.09.20-2.jpg,left,noimg,whiteboard #2); #ref(2018.09.20-3.jpg,left,noimg,whiteboard #3); #ref(2018.09.20-4.jpg,left,noimg,whiteboard #4); #ref(2018.09.20-5.jpg,left,noimg,whiteboard #5); ** &color(green){[lecture #3]}; 2018.9.27 review of classical and modern control theory (3/3) [#w096e077] + LQR problem -- controllability -- cost function J >= 0 -- (semi)-positive definiteness + solution of LQR problem -- ARE and quadratic equation -- closed loop stability ... Lyapunov criterion -- Jmin &ref(授業/制御工学特論2015/lqr.pdf); ≒ &ref(授業/制御工学特論2015/proof4.pdf); (from B3「動的システムの解析と制御」) + example &ref(ex0927_1.m); &ref(mod0927_1.mdl); %-- 2018/09/27 13:01 --% ex0927_1 A B Uc det(Uc) eig(Q) P A'*P A'*P + P*A + Q - P*B/R*B'*P A'*P + P*A + Q - P*B*inv(R)*B'*P Jmin J plot(t, J) #ref(2018.09.27-1.jpg,left,noimg,whiteboard #1); #ref(2018.09.27-2.jpg,left,noimg,whiteboard #2); #ref(2018.09.27-3.jpg,left,noimg,whiteboard #3); #ref(2018.09.27-4.jpg,left,noimg,whiteboard #4); -Q: 計算する時間もっとほしいです -A: もう少し見回って進捗を見るようにします。すみません。 ** &color(green){[lecture #4]}; 2018.10.4 relation between LQR and H infinity control problem (1/2) [#x110e1a9] - GOAL: to learn difference in concepts between LQR problem and H infinity control problem //- review of LQR problem and the simple example + a simple example relating LQR and H infinity control problems -- For given plant G \[ G = \left[\begin{array}{c|c:c} a & 1 & b \\ \hline \sqrt{q} & 0 & 0 \\ 0 & 0 & \sqrt{r} \\ \hdashline 1 & 0 & 0 \end{array} \right] = \left\{ \begin{array}{l} \dot x = ax + bu + w\\ z = \left[ \begin{array}{c} \sqrt{q} x \\ \sqrt{r} u \end{array}\right] \\ x = x \end{array}\right. \] with zero initial state value x(0) = 0, find a state-feedback controller \[ u = -f x \] such that \begin{eqnarray} (i) &&\quad \mbox{closed loop is stable} \\ (ii) &&\quad \mbox{minimize} \left\{\begin{array}{l} \| z \|_2 \mbox{ for } w(t) = \delta(t) \quad \mbox{(LQR)} \\ \| T_{zw} \|_\infty \mbox{($H_\infty$ control problem)}\end{array}\right. \end{eqnarray} -- comparison of norms in (ii) (for a = -1, b = 1, q = 1, r = 1) \[ \begin{array}{|c||c|c|}\hline & \mbox{LQR}: f=-1+\sqrt{2} & \quad \quad H_\infty: f=1\quad\quad \\ \hline\hline J=\|z\|_2^2 & & \\ \hline \|T_{zw}\|_\infty & & \\ \hline \end{array} \] + an alternative description to LQR problem ++ J = (L2 norm of z)^2 ++ impulse resp. with zero initial value = initial value resp. with zero disturbance + definition of H infinity norm (SISO) s = tf('s'); G1 = 1/(s+1); bode(G1); norm(G1, 'inf') G2 = 1/(s^2 + 0.1*s + 1); bode(G2); norm(G2, 'inf') + definition of H infinity norm (SIMO) + solve the problem by hand + solve the problem by tool(hinfsyn) &ref(ex1004.m); %-- 2018/10/04 12:58 --% s = tf('s'); G1 = 1/(s+1); bode(G1); norm(G1, 'inf') G2 = 1/(s^2 + 0.1*s + 1); bode(G2); norm(G2, 'inf') format long e norm(G2, 'inf') grid on ex1004 #ref(2018.10.04-1.jpg,left,noimg,whiteboard #1); #ref(2018.10.04-2.jpg,left,noimg,whiteboard #2); #ref(2018.10.04-3.jpg,left,noimg,whiteboard #3); #ref(2018.10.04-4.jpg,left,noimg,whiteboard #4); #ref(2018.10.04-5.jpg,left,noimg,whiteboard #5); #ref(2018.10.04-6.jpg,left,noimg,whiteboard #6); -Q: z を L して Z(s) = Tzw W(s) の Tzw の導出? についていけなかった。 -A: その直前の話 \[X(s) = \frac{1}{s - (a - bf)}W(s) = \frac{1}{s + 1 + f}W(s) \] が大丈夫とすると、 \[z = \left[ \begin{array}{c} \sqrt{q} \\ -\sqrt{r} f \end{array}\right] x= \left[ \begin{array}{c} 1 \\ -f \end{array}\right]x \] より、 \[ Z(s) = \left[ \begin{array}{c} 1 \\ -f \end{array}\right] \frac{1}{s + 1 + f}W(s) \] すなわち、 \[ T_{zw}(s) = \left[ \begin{array}{c} 1 \\ -f \end{array}\right] \frac{1}{s + 1 + f} = \left[ \begin{array}{c} \frac{1}{s + 1 + f} \\ \frac{-f}{s + 1 + f} \end{array} \right] \] です。 ** &color(green){[lecture #5]}; 2018.10.11 relation between LQR and H infinity control problem (2/2) [#cb528750] + complete the table in simple example + confirm the cost function J for both controllers by simulation &ref(mod1011.mdl); -- block diagram in the simulink model -- how to approximate impulse disturbance -- impulse disturbance resp. with zero initial condition = initial condition resp. with zero disturbance + confirm the closed-loop H infinity norm for both controllers by simulation -- H infinity norm = L2 induced norm -- review: steady-state response; the worst-case disturbance w(t) which maximizes L2 norm of z(t) ? -- what is the worst-case disturbance in the simple example ? + general state-feedback case: &ref(授業/制御工学特論2015/hinf.pdf); -- includes the simple example as a special case -- LQR &ref(授業/制御工学特論2015/lqr.pdf); is included as a special case in which gamma -> infinity, w(t) = 0, B2 -> B, and non-zero x(0) are considered %-- 2018/10/11 12:58 --% sqrt(2-sqrt(2)) mod1011 f ex1004 a b q r A f f = -1+sqrt(2) x0 x0 = 0 h h = 0.1 zz h = 0.001 zz f = 1 zz x0 = 1 zz f h h = 1 x0 x0 = 0 zz zz(end) zz(end)/ww(end) sqrt(zz(end)/ww(end)) h h = 100 sqrt(zz(end)/ww(end)) f = sqrt(2)-1 h sqrt(zz(end)/ww(end)) #ref(2018.10.11-1.jpg,left,noimg,whiteboard #1); #ref(2018.10.11-2.jpg,left,noimg,whiteboard #2); -Q: LQR は外乱を考慮しない制御理論という認識でよいか -A: 元の問題に外乱の項が無い、という意味ではそうです。が、初期値応答を考慮することとインパルス外乱を考慮することは等価なので、その意味では外乱を考慮していると言えます。 一方、明示的に外乱(ノイズ)の項を加えたLQG問題もあります。 ** &color(green){[lecture #6]}; 2018.10.18 Mixed sensitivity problem 1/3 [#v87bbce3] + outline: &ref(授業/制御工学特論2017/map_v1.1_mixedsens1.pdf); -- sensitivity function S and complementary sensitivity function T + H infinity control problem (general case) -- with generalized plant G -- including the state-feedback case) + reference tracking problem -- corresponding generalized plant G ? -- how to translate the condition (ii) into one with H infinity norm ? -- introduction of weighting function for sensitivity function in (ii) + design example &ref(ex1018_1.m); &ref(ex1018_2.m); + the small gain theorem -- proof: Nyquist stability criterion //+ from performance optimization to robust stabilization %-- 2018/10/18 12:58 --% ex1018_1 P pole(P) eig(P) ex1018_2 G who K_hinf eig(K.a) eig(K_hinf.a) ex1018_2 K_hinf figure(5) bode(K_hinf) -Q: \[ {}^\forall \ \omega \] とか \[ {}^\forall \ \Delta \] とかの ∀って何でしたっけ。 -A: 「すべての」です。 -Q: ex1018_2.m の 13行目の説明がはやくて分からなかった。 -A: hinfsyn ... H∞制御問題を解きます。第一引数に一般化プラント(今の例ではG)を指定します。第二、第三引数に、制御入力u と 観測出力yのサイズ(今の例ではスカラ)を指定します。 戻り値については、一つ目から順にH∞ノルムγを最小化するコントローラ(K_hinf)、そのときの閉ループ系(clp)、γ(gopt)、です。その場ですぐ聞いてもらえると他の人も助かると思います。 #ref(2018.10.18-1.jpg,left,noimg,whiteboard #1); #ref(2018.10.18-2.jpg,left,noimg,whiteboard #2); #ref(2018.10.18-3.jpg,left,noimg,whiteboard #3); ** &color(green){[lecture #7]}; 2018.10.25 Mixed sensitivity problem 2/3 [#x12946ce] + review: the small gain theorem ... robust stability = H infinity norm condition + outline: from point to set &ref(授業/制御工学特論2017/map_v1.1_mixedsens2.pdf); + normalized uncertainty Delta + uncertainty model + how to determine P0 and WT -- example: frequency response of plant with perturbation &ref(ex1025_1.m); -- frequency response based procedure for P0 and WT &ref(ex1025_2.m); + robust stabilization problem and equivalent problem -- design example and simulation &ref(ex1025_3.m); &ref(mod1025.mdl); %-- 2018/10/25 13:25 --% ex1025_1 ex1025_2 ex1025_3 mod1025 c c = 0.8 c = 1.3 c = 2 #ref(2018.10.25-1.jpg,left,noimg,whiteboard #1); #ref(2018.10.25-2.jpg,left,noimg,whiteboard #2); #ref(2018.10.25-3.jpg,left,noimg,whiteboard #3); #ref(2018.10.25-4.jpg,left,noimg,whiteboard #4); ... sorry for missing -Q: additive uncertainty model は multiplicative 〜 を含むということですか? -A: 確かに今日説明したように、W(s) = P0(s)WT(s) とおけば、W(s)は加法的摂動モデルの重み関数となります。その意味では形式的に、含みます。ただその場合は、W(s) がノミナルプラントと同じ動特性を持つことになりW(s)の次数がムダに高くなるため、加法的摂動モデルではなく乗法的摂動モデルをそのままその後の設計問題に用います。つまり、実際にコントローラの設計を行う上では、加法的摂動モデルは乗法的摂動モデルを含みません。答になっていない場合はまた聞いてください。 -Q: -Q: ex1025_1.m で \[ \tilde P(s) = \frac{1}{(s-1)(cs+1)} \] の (cs+1) の部分が不安定にならない理由がよく分かりませんでした -A: その部分に対応する極は cs + 1 = 0 より、s = -1/c です。今、c は正の実数として与えられているので、-1/c は負、つまり安定です。 ** &color(green){[lecture #8]}; 2018.11.1 Mixed sensitivity problem 3/3 [#z2ee3f30] - review: &ref(授業/制御工学特論2017/map_v1.1_mixedsens2.pdf); (1)robust stabilization and (2)performance optimization - outline: ++ how to design controllers considering both conditions in (1) and (2) ++ gap between nominal performance and robust performance + mixed sensitivity problem ---> (1) and (2) : proof + generalized plant for mixed senstivity problem + design example &ref(ex1101_1.m); minimize gamma by hand + gamma iteration by bisection method &ref(ex1101_2.m); + nominal performance and robust performance &ref(ex1101_3.m); + introduction of robust performance problem %-- 2018/11/01 12:59 --% ex1101_1 gam ex1101_1 K ex1101_2 ex1101_3 #ref(2018.11.01-1.jpg,left,noimg,whiteboard #1); #ref(2018.11.01-2.jpg,left,noimg,whiteboard #2); #ref(2018.11.01-3.jpg,left,noimg,whiteboard #3); ** &color(green){[lecture #9]}; 2018.11.8 robust performance problem 1/3 [#h5b8dea7] -- [[schedule2018]] mini report #1 and exam #1 + review -- mixed sensitivity problem : N.P. but not R.P. -- robust performance problem (R.P.) c.f. the last whiteboard + an equivalent robust stability (R.S.) problem to R.P. -- with structured uncertainty Delta hat + definition of H infinity norm for general case (MIMO) -- definition of singular values and the maximum singular value M = [1i, 1i; 0, 1] M' eig(M'*M) svd(M) -- mini report #1 &ref(report1.pdf); ... You will have a mini exam #1 related to this report + proof of ||Delta hat||_inf <= 1 + design example: &ref(ex1108_1.m); -- robust performance is achieved but large gap -- non structured uncertainty is considered ... the design problem is too conservative %-- 2018/11/08 13:03 --% ex1101_1 ex1101_2 ex1101_3 1i j M = [1i, 1i; 0, 1] M' eig(M'*M) svd(M) (3+sqrt(5))/2 sqrt((3+sqrt(5))/2) ex1108_1 #ref(2018.11.08-1.jpg,left,noimg,whiteboard #1); #ref(2018.11.08-2.jpg,left,noimg,whiteboard #2); #ref(2018.11.08-3.jpg,left,noimg,whiteboard #3); #ref(2018.11.08-4.jpg,left,noimg,whiteboard #4); -Q: 共役複素数の~(バー)と最大を表す~(バー)は行列がR(実数)かC(複素数)かで使い分けされているということですか。 -A: そういうことではなく、単に、複素共役にも最大にも同じ記号を当てています。確かに言われてみると紛らわしいですが、文脈から混同する恐れはないので、このままにさせてください。 -Q: λ(M*M)が実数の証明レポートにしません? -A: 「mini」レポートにならなさそうなので、今年度はレポートにはしません。良いアイデアをありがとうございます。 ** &color(green){[lecture #10]}; 2018.11.15 Robust performance problem (2/3) [#se6b7c21] + return of mini report #1 + review -- robust performance but too conservative ex1108_1 -- robust stability problem for Delta hat and its equivalent problem(?) with Delta tilde -- structured unertainty Delta hat and unstructured uncertainty Delta tilde + SVD: singular value decomposition -- definition -- meaning of the largest singular value -- 2-norm of vectors (Euclidean norm) -- SVD for 2-by-2 real matrix &ref(ex1115_1.m); %-- 2018/11/15 13:01 --% M = [1, 2; 3, 4] [U, S, V] = svd(M) M = [1, 1i/sqrt(2); 1, -1i/sqrt(2)] [U, S, V] = svd(M) U'*U format long e U'*U V'*V M = [1, 2; 3, 4] [U, S, V] = svd(M) fomat short format short [U, S, V] = svd(M) ex1115_1 S sys = tf(1, [1, 1]) sys2 = tf(1, [1, 1]) sys2 = tf(1, [1, 2]) sys = tf(1, [1, 1]) sys sys2 M = [0, sys; 0, sys2] M hinfnorm(M) M = [0, sys; 0, sys] hinfnorm(M) #ref(2018.11.15-1.jpg,left,noimg,whiteboard #1); #ref(2018.11.15-2.jpg,left,noimg,whiteboard #2); #ref(2018.11.15-3.jpg,left,noimg,whiteboard #3); #ref(2018.11.15-4.jpg,left,noimg,whiteboard #4); -Q: \[ \sigma_i u_i = M v_i \] が証明できれば \[ \bar \sigma(M) = \max_{a\neq 0}\frac{\| b\|_2}{\|a\|_2} \] がいえるということで合っていますか? -A: 合っています。(厳密には、ベクトル a を \[ a = \Sigma_{i=1}^m \alpha_i v_i \] のように、ベクトル vi の線形結合で表して実数 αi を振って2ノルムの比を最大化すると、結局 a = v1 (ただし v1 は最大特異値に対応する V のベクトル)となります。 -Q: \[ \|M\|_\infty < 1 \] をたしかめる時 \[ \bar \sigma(M) \] を計算して出しますが 1より大きいかどうか考えるなら最後の√をつけなくても良くないですか? -A: その通りです。 -Q: Σは M の大きさによっては、 //\[ //\Sigma = \left[ \begin{mat}{c} \begin{mat}{cccc} \sigma_1 & & & 0 \\ \\ & & //\ldots \\ \\ 0 & & & \sigma_m \end{array} \hdashline \\ 0 \end{mat}\right] //\] \[ \Sigma = \left[ \begin{array}{c} \begin{array}{ccc} \sigma_1 & & 0 \\ & \ddots & \\ 0 & & \sigma_m \end{array} \\ \hdashline 0 \mbox{←ここ} \end{array} \right] \] のゼロ行列はなくなりますか? また、 \[ M^{p\times m} \] が p < m のときは Σ はどうなりますか? -A: Mが正方行列つまりp=mのときゼロ行列はなくなります。また、p<mのときはΣは横長になり、0行列は下でなくて右につきます。 ** &color(green){[lecture #11]}; 2018.11.22 Robust performance problem (3/3) [#t65087a2] + review: R.S. prob. for Delta hat and Delta tilde + scaled H infinity control problem + how to determine structure of scaling matrix + design example &ref(ex1122_1.m); ex1108_1 gam2 = gam_opt K2 = K_opt; ex1122_1 gam_opt + mini report #2 &ref(report2.pdf); + mini exam #1 (10 min.) %-- 2018/11/22 13:37 --% ex1108_1 gam2 = gam_opt K2 = K_opt ex1122_1 gam_opt gam2 d_opt //■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ &color(black,red){&size(20){!!! the remaining page is under construction (the contents below are from 2017) !!!};}; // %-- 2017/11/16 13:46 --% ex1102_1 gam_opt gam_opt0 = gam_opt Kopt K_opt K_opt0 = K_opt ex1116_1 gam_opt d d_opt #ref(2017.11.16-1.jpg,left,noimg,whiteboard #1); #ref(2017.11.16-2.jpg,left,noimg,whiteboard #2); #ref(2017.11.16-3.jpg,left,noimg,whiteboard #3); -Q: 計算は楽だが、よく理解できないところもあった。 -A: 具体的に聞いてもらえると助かります。 -Q: レポート2の説明のaとbの決め方がわかりません。 -A: Mの中に絶対値が1より大きな要素が含まれる場合、b の中にその要素が含まれるようにa を選べば良いです(bの2ノルムがその大きな要素の絶対値以上となり、aの2ノルムとの比が1を超えることが示せます。ただし、aの2ノルムが1となるように選んだ場合)。 この方法が良くわからなければ、Mの最大特異値を計算し、それが1より大きいことを示しても良いです。 -Q: I did not know why "W" was used, with "W", can γ be made smaller ? -A: You are right. Roughly speaking, a smaller γ is possible by using a freedom of W as illustrated with today's example. ** &color(green){[lecture #12]}; 2017.11.30 Robust performance problem (3/3) (cont.), Control system design for practical system (1/3) [#tb4188b6] + return of mini exam #1 and mini report #2 + review of scaling &ref(ex1130_1.m); + introduction of a practical system: active noise control in duct -- a standard ANC setup -- objective of control system: to drive control loudspeaker by generating proper driving signal u using reference microphone output y such that the error microphone's output z is attenuated against the disturbance input w -- difficulty in physical modeling -- experimental setup in lab. --- symmetrical location of loudspeakers and sensors #ref(授業/制御工学特論2015/exp_apparatus1.jpg,left,noimg); #ref(授業/制御工学特論2015/exp_apparatus2.jpg,left,noimg); -- frequency response experiment #ref(ex1130_2.m); #ref(spk1.dat); #ref(spk2.dat); -- room 157 @ Dept. Mech. Bldg. 2 %-- 2017/11/30 13:07 --% ex1130_1 gamma0 gamma1 format long e norm(M1_d, 'inf') ex1130_2 c0 = 346 L = 1.8 c0/(2*L) #ref(2017.11.30-1.jpg,left,noimg,whiteboard #1); #ref(2017.11.30-2.jpg,left,noimg,whiteboard #2); -Q: \[ \frac{c_0}{2L} \] ってどういう意味ですか? 何故 \[ \frac{c_0}{L} \] ではなく \[ \frac{c_0}{2L} \] なのか? -A: 音波が一往復して発振した際の共振周波数という意味です。 つまり、2L = 一往復の長さです。 説明が抜けていました。ごめんなさい。 ** &color(green){[lecture #13]}; 2017.12.7 Control system design for practical system (2/3) [#pcfea8e0] + mini exam #2 -- [[schedule2017]] + review of the experimental system -- closed-loop system of 2-by-2 plant G and controller K -- closed-loop gain is desired to be minimized -- how to handle modeling error of G ? + design example -- frequency response experiment data&br; [[spk1.dat>/:~exp/seigyokougakutokuron_2017/exp/freqresp/1/spk1.dat]]&br; [[spk2.dat>/:~exp/seigyokougakutokuron_2017/exp/freqresp/1/spk2.dat]]&br; -- determination of plant model(nominal plant and additive uncertainty weight)&br; &ref(授業/制御工学特論2016/nominal.m);&br; &ref(授業/制御工学特論2016/subspace.m); ... replacement of n4sid in System Identification Toolbox (not provided in IPC)&br; &ref(授業/制御工学特論2016/weight.m); -- configuration of generalized plant and controller design by scaled H infinity control problem using one-dimensional search on the scaling d&br; &ref(授業/制御工学特論2016/cont.m); -- comparison of closed-loop gain characteristics with and without control&br; &ref(授業/制御工学特論2016/compare.m); -- result of control experiment&br; [[result.dat>/:~exp/seigyokougakutokuron_2017/exp/design_example/1/result.dat]]&br; //&ref(授業/制御工学特論2016/result.dat);&br; &ref(授業/制御工学特論2016/compare_result.m); //+ room 157 @ Dept. Mech. Bldg.2 + final report and remote experimental system ++design your controller(s) so that the system performance is improved compared with the design example ++Draw the following figures and explain the difference between two control systems &color(red){(your controller and the design example)};: +++bode diagram of controllers +++gain characteristic of closed-loop system from w to z +++time response and frequency spectrum (PSD) of control experiment ++Why is the performance of your system improved(or unfortunately deteriorated)? --&size(30){&color(red){due date: 5th(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 35 --submit your &size(25){&color(red){controller.dat, controller_order.dat, and controller.mat};}; &color(black){&size(30){at this page:[[participant list2017>/:~exp/seigyokougakutokuron_2017]](download is also possible)};}; &size(30){&color(red){not later than 27th(Wed) Dec};}; //--Your login password will be e-mailed on Dec 16. --the system will be started until next lecture --You can send up to 5 controllers --&size(30){&color(black){[[control experimental results will be uploaded here>/:~exp/seigyokougakutokuron_2017/exp]]};}; --freqresp ... frequency response will be measured and uploaded everyday + how to improve the performance ? -- order of the nominal plant -- weighting for robust stability //+ detailed explanation of m-files in the previous lecture + specifications of the experimental system ++ experimental equipments --- loudspeakers: AURA SOUND NSW2-326-8A (2inch, 15W) --- pressure sensors: NAGANO KEIKI KP15 --- A/D, D/A converters: CONTEC AD12-16(PCI), DA12-4(PCI) --- PC: Dell Dimension 1100 --- OS: Linux kernel 2.4.22 / Real Time Linux 3.2-pre3 ++ program sources for frequency response experiment --- [[freqresp.h>/:~exp/seigyokougakutokuron_2017/freqresp.h]] --- [[freqresp_module.c>/:~exp/seigyokougakutokuron_2017/freqresp_module.c]] --- [[freqresp_app.c>/:~exp/seigyokougakutokuron_2017/freqresp_app.c]] --- format of spk1.dat (u is used instead of w for spk2.dat) 1st column ... frequency (Hz) 2nd column ... gain from w(V) to y(V) (signal's unit is voltage (V)) 3rd column ... phase from w to y 4th column ... gain from w to z 5th column ... phase from w to z ++ program sources for control experiment --- [[hinf.h>/:~exp/seigyokougakutokuron_2017/hinf.h]] --- [[hinf_module.c>/:~exp/seigyokougakutokuron_2017/hinf_module.c]] --- [[hinf_app.c>/:~exp/seigyokougakutokuron_2017/hinf_app.c]] --- format of result.dat 1st column: time (s) 2nd column: z (V) 3rd column: y (V) 4th column: u (V) 5th column: w (V) ++ configuration of control experiment --- disturbance signal w is specified as described in hinf.h and hinf_module.c: #define AMP 3.0 // amplitude for disturbance #define DIST_INTERVAL 5 // interval step for updating w count_dist++; if(count_dist >= DIST_INTERVAL){ w = AMP * (2. * rand() / (RAND_MAX + 1.) - 1.); // uniform random number in [-AMP, AMP] count_dist = 0; } da_conv(V_OFFSET + w, 0); // D/A output to noise source w is updated with 1ms period (sampling period 0.2ms times DIST_INTERVAL 5) --- control signal u is limited to [-4, 4] as specified in hinf.h and hinf_module.c: #define U_MAX 4.00 if(u > U_MAX) u = U_MAX; if(u < -U_MAX) u = -U_MAX; u is set to 0 for t < 10(s). (controller is operated for 10 <= t < 15.) --- a high pass filter with cut-off frequency 0.16Hz (1 rad/s) is used to remove DC components in z and y as described in hinf.h and hinf_module.c // HPF(1 rad/s) to cut DC in z and y #define AF 9.9980001999866674e-01 #define BF 1.9998000133326669e-04 #define CF -1.0000000000000000e+00 #define DF 1.0000000000000000e+00 ad_conv(&yz); // A/D input // HPFs yf = CF*xf_y + DF*yz[0]; xf_y = AF*xf_y + BF*yz[0]; zf = CF*xf_z + DF*yz[1]; xf_z = AF*xf_z + BF*yz[1]; // //%%[[experiment directory>/:~exp/seigyokougakutokuron_2015]]%% // //+ mini exam #2 //[[network camera>/:~exp/picture/image.jpg]] %-- 2017/12/07 13:01 --% nominal n4sid which n4sid weight cont K who Kd size(Kd.a) compare compare_result #ref(2017.12.07-1.jpg,left,noimg,whiteboard #1); #ref(2017.12.07-2.jpg,left,noimg,whiteboard #2); -Q: matlabには元々subspace関数があるため、subspace.mがカレントフォルダにないと、エラーを見ても修正出来ないのを周知した方が良いと思います。 -A: その認識が全くありませんでした。申し訳ありません。次回周知します。 -Q: HPの色が分からない。読めない文字がある。 -A: 色指定を無視して白黒表示にする方法ではどうでしょうか。または、見にくい色を教えてもらえれば適宜変更します。 ** &color(green){[lecture #14]}; 2017.12.14 Control system design for practical system (3/3) [#rd418e38] - return of mini exam #2 - review -- Q/A: original Matlab function subspace() is hidden by subspace.m (please locate subspace.m in the same working directory for controller design.) -- web based remote experiment system --- now you can login after registration --- room temperature is displayed and stored in temp.txt (Bosch Sensortec BME280 is used) - preparation of your own controller(s) by using the remote experiment system %-- 2017/12/14 13:47 --% compare compare_result_fixed help print compare_result_fixed #ref(2017.12.14-1.jpg,left,noimg,whiteboard #1); -Q: 1/5に提出するレポートについては、ファイル形式に指定はありすでしょうか。(pdfなど) -A: pdfまたはdoc形式で提出してください。このページに submit your report(pdf or doc) by e-mail to kobayasi@nagaokaut.ac.jp と記載している通りです。 -Q: 遠隔実験用の web ページに登録した際の"Registration Finished" のページで Password が全部表示されるのはあまりよくないと思う。(他と同じPWを使う人もいると思うので) -A: 御指摘ありがとうございます。席が近いのを考慮していませんでした。近日中に対応させていただきます。 -Q: 日本語がないと苦しい -A: 内容が具体的なのでわかるだろう、とかなり勢いで喋っていたところがあったかもしれません。御指摘に感謝します。 ** &color(green){[lecture #15]}; 2017.12.21 Control system design for practical system (cont.) [#r9c48324] - preparation of your own controller(s) - questionnaires -- to university -- for web-based experimental environment %-- 2017/12/21 13:32 --% nominal weight compare weight cont compare weight cont compare nominal weight cont compare weight compare_result cont -Q: 全体として日本語で講義が行われたらより良かった。 -A: ご意見ありがとうございます。そもそも分かり易い英語でなかったと思います。まずはこの点を改善します。 //**related links [#g1a68a2b] //-東ティモール工学部復興支援/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]]