[[授業]] *Advanced Automation [#dd75618d] ** &color(green){[lecture #1]}; 2017.9.7 outline of the lecture, review of classical and modern control theory (1/3) [#v3d45933] - 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% -- [[schedule2017]] (tentative) -- map &ref(map_v1.1.pdf); for review &ref(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 -- ... %-- 2017/09/07 13:29 --% s = tf('s') P = 1/(s-1) pole(P) impulse(P) Tyr = feedback(P*k, 1) k = 2 Tyr = feedback(P*k, 1) P Tyr = feedback(P*k, 1) step(Tyr) k = 0.5 Tyr = feedback(P*k, 1) step(Tyr) k = 10 Tyr = feedback(P*k, 1) step(Tyr) #ref(2017.09.07-1.jpg,left,noimg,whiteboard #1); #ref(2017.09.07-2.jpg,left,noimg,whiteboard #2); #ref(2017.09.07-3.jpg,left,noimg,whiteboard #3); #ref(2017.09.07-4.jpg,left,noimg,whiteboard #4); -Q: I don't know how to use the MATLAB. -Q: マトラボの使い方が分かりません。 -A: A brief explanation of MATLAB and Simulink will be given in the next lecture by using simple examples. -A: 次週、MATLAB(とSimulink)の使い方について説明します。 -Q: 個人的には倒立振子のようなモデルから制御系の説明が最初にあると制御工学のイメージがつきやすい -A: 確かに、不安定=倒れる、という分かり易さは魅力なのですが、1次系で表すことができません。今回は数式の取扱いの容易さから1次系を選びました。 倒立振子については、次回、別の演習で用いていたシミュレーションモデルを紹介したいと思います。 -Q: when you conduct please speak slowly. -A: Thank you for the sugestion. I will improve my speaking. ** &color(green){[lecture #2]}; 2017.9.14 review of classical and modern control theory (2/3) with introduction of Matlab/Simulink [#f49a22b8] + 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(ex0914_1.m); &ref(mod0914_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(ex0914_2.m); &ref(mod0914_2.mdl); --- Gain Margin(GM); Phase Margin(PM) %-- 2017/09/14 13:05 --% a = 1 who a + 2 demo lookfor demo demo toolbox demo toolbox] demo toolbox t = [1, 2, 3] t = [1 2 3] u = [1; 2; 3] t t' penddemo help penddemo penddemo ls ex0914_1 who P #ref(2017.09.14-1.jpg,left,noimg,whiteboard #1); #ref(2017.09.14-2.jpg,left,noimg,whiteboard #2); #ref(2017.09.14-3.jpg,left,noimg,whiteboard #3); #ref(2017.09.14-4.jpg,left,noimg,whiteboard #4); #ref(2017.09.14-5.jpg,left,noimg,whiteboard #5); -Q: ○7について、 \[ \frac{b_1 s + b_0}{s^2 + a_1 s + a_0} + d \] とした時、対応するSSRは、 \[ \left[\begin{array}{cc|c} 0 & 1 & 0 \\ -a_0 & -a_1 & 1 \\ \hline b_0 & b_1 & 0 \end{array}\right] \] となるという理解で良いでしょうか。(ホワイトボードの説明では、 \[ \left[\begin{array}{cc|c} 0 & 1 & 0 \\ -a_1 & -a_2 & 1 \\ \hline b_1 & b_2 & 0 \end{array}\right] \] に見える為) -A: その理解で正しいです。赤枠で囲んだ際に添え字が一つずれていることに気付いていませんでした。申し訳ありません。 -Q: I didn't understand the usefulness of SSR. -A: LQR problem is formulated and solved by using SSR, which will be explain in the next lecture. -Q: TF から SSR への変換の過程がよくわからなかった。 -A: 与えられた TF に対応する SSR は、状態ベクトルの取り方によって一意に決まらない(無限に存在する)ため、代表的な SSR の型を利用します。 今日扱ったのは controllable canonical form (可制御正準形)で、伝達関数の分母・分子多項式及び直達項をA,C,D行列の特定の場所に当てはめることで、TFからSSRの変換を行ったことになります。この双対の可観測正準形も同様です。他に、今日は紹介しませんでしたが、共振モード毎のブロック対角構造がA行列に表れる型などもあり、目的に応じて使い分けられます。 ** &color(green){[lecture #3]}; 2017.9.21 review of classical and modern control theory (3/3) [#cd86a0ad] + 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(ex0921_1.m); &ref(mod0921_1.mdl); %-- 2017/09/21 13:17 --% ex0921_1 B A A*B P eig(P) F J x0 x0'*P*x0 #ref(2017.09.21-1.jpg,left,noimg,whiteboard #1); #ref(2017.09.21-2.jpg,left,noimg,whiteboard #2); #ref(2017.09.21-3.jpg,left,noimg,whiteboard #3); -Q: MATLABの使い方が所々わからない。 -A: 今日のように時間の余ったときにでも聞いてください。 -Q: QとRの値は何で決まるのですか? -A: 設計者が決めます。大雑把に言うと、Qを大きく(Rを小さく)すると、状態xの収束性が上がるが大きな制御入力が必要となり、Qを小さく(Rを大きく)すると、状態xの収束性が犠牲になるが小さな制御入力で済む、というトレードオフがあるので、それを考慮して決めます。 -Q: f = b/r P と出来る理由が分からなくなってしまった -Q: ホワイトボード○5のfとPの関係がどこから出てきたのか分からなかった -A: LQR問題の解において、状態フィードバックゲインFは代数リカッチ方程式の解Pを用いて与えられます。この関係式(スカラの例題の場合は f = b/r p)を使うと、(リカッチ方程式とは無関係に導出した)f に関する二次方程式が、Pに関する代数リカッチ方程式と同一であることが示されます。わからなければまた聞いてください。 -Q: In m-file, line 13 F = R\B'"P what is this (Yen mark) operator? the same process this? inv(R)\B' -A: Yen mark means `\'. X\Y and Y/X respectively mean \[ X^{-1} Y, \quad Y X^{-1}. \] -Q: LQR:L→ 非線形は扱えない?その影響は偏差?時間?パラメータ変動になる? -A: 先週紹介した状態空間実現は、状態ベクトルに関する一階の線形微分方程式です。よって、非線形特性を直接表現することはできず、平衡点回りで線形化するのが典型的な対処法です。一方、安定となるよう設計された制御系は通常、余裕を持ち、若干の非線形特性は許容されます。この意味で大きな安定余裕を持つように制御系を設計すれば、間接的に非線形特性を考慮できる場合もあります。 -Q: If it is possible, I want to practice more during the lecture, may I get more additional example materials to try on Matlab, for the each topics. -A: I think this is because a lack of detailed explanation on examples: The mass-spring-damper system given in the today's lecture was unstable one choosing the damping coefficient as a negative value. Please try to change those values; I completely forgot to explain physical meaning of Q and R and how to choose them. As in the Q&A above (sorry in Japanese), matrices Q and R are given by designer considering trade-off between performance and cost e.g. energy consumption. Please try with other values of Q and R, to confirm the trade-off; Therefore, I would like to recommend you to change numerical values in examples for better understandings. If this answer is not sufficient for you, please ask again. -Q: 少しスピードを落としてほしい -A: 日本語の説明を少なくしたせいと思います。やはり同じ説明を日本語でもするようにします。 ** &color(green){[lecture #4]}; 2017.9.28 relation between LQR and H infinity control problem (1/2) [#j76be421] - 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, $H_2$ control)} \\ \| 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'); P1 = 1/(s+1); bode(P1); norm(P1, 'inf') P2 = 1/(s^2 + 0.1*s + 1); bode(P2); norm(P2, 'inf') + definition of H infinity norm (SIMO) + solve the problem by hand + solve the problem by tool(hinfsyn) &ref(ex0928.m); //■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ &color(black,red){&size(20){!!! the remaining page is under construction (the contents below are from 2016) !!!};}; // %-- 2016/09/29 13:46 --% s = tf('s'); P1 = 1/(s+1); bode(P1); norm(P1, 'inf') P2 = 1/(s^2 + 0.1*s + 1); bode(P2); norm(P2, 'inf') format long e norm(P2, 'inf') grid on ex0929 #ref(2016.09.29-1.jpg,left,noimg,whiteboard #1); #ref(2016.09.29-2.jpg,left,noimg,whiteboard #2); #ref(2016.09.29-3.jpg,left,noimg,whiteboard #3); #ref(2016.09.29-4.jpg,left,noimg,whiteboard #4); -Q: H∞ノルムが何を表しているのか -A: 簡単に言うと安定なシステムの最大ゲインです。 ** &color(green){[lecture #5]}; 2016.10.6 relation between LQR and H infinity control problem (2/2) [#t7b9b0d1] + complete the table in simple example + confirm the cost function J for both controllers by simulation &ref(mod1006.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 (common mdl file is available) -- review: steady-state response (see whiteboard#4 @ lec. #2) -- H infinity norm = L2 induced norm -- how to construct the worst-case disturbance w(t) which maximizes L2 norm of z(t) ? -- what is the worst-case disturbance in the simple example ? + general 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 %-- 2016/10/06 13:09 --% 1/sqrt(2) sqrt(2+sqrt(2)) sqrt(2-sqrt(2)) mod1006 ex0929 A B C D h h = 0.01 x0 = 0 f f = -1+sqrt(2) zz zz(end) h = 0.0001 zz(end) x0 x0 = 1 zz(end) f f = 1 x0 x0 = 0 zz(end) x0 h h = 10 zz(end)/ww(end) sqrt(zz(end)/ww(end)) f h = 100 sqrt(zz(end)/ww(end)) f f = -1+sqrt(2) sqrt(zz(end)/ww(end)) &ref(2016.10.06-1.jpg,left,noimg,whiteboard #1); ... sorry for the missing picture in which A, B1, B2, C1, and D12 were additionally written in red color. #ref(2016.10.06-2.jpg,left,noimg,whiteboard #2); #ref(2016.10.06-3.jpg,left,noimg,whiteboard #3); -Q: Some things can not be described clearly. -A: Can you ask me in detail ? ** &color(green){[lecture #6]}; 2016.10.13 Mixed sensitivity problem 1/3 [#ba355624] + review: LQR and H infinity + outline: &ref(授業/制御工学特論2015/map_v1.0_intro1.pdf); ; [[schedule2016]] + H infinity control problem (general case) + reference tracking problem + weighting function for sensitivity function + design example &ref(ex1013_1.m); &ref(ex1013_2.m); + the small gain theorem -- proof: Nyquist stability criterion + from performance optimization to robust stabilization %-- 2016/10/13 13:58 --% ex1013_1 P pole(P) ex1013_2 K K_hinf eig(K_hinf.a) #ref(2016.10.13-1.jpg,left,noimg,whiteboard #1); #ref(2016.10.13-2.jpg,left,noimg,whiteboard #2); #ref(2016.10.13-3.jpg,left,noimg,whiteboard #3); #ref(2016.10.13-4.jpg,left,noimg,whiteboard #4); ** &color(green){[lecture #7]}; 2016.10.20 Mixed sensitivity problem 2/3 [#i436a32d] + review &ref(授業/制御工学特論2015/map_v1.0_intro2.pdf); and outline + an equivalent problem of robust stabilization for reference tracking problem + uncertainty model and normalized uncertainty Delta + how to determine P0 and WT -- example: frequency response of plant with perturbation &ref(ex1020_1.m); -- frequency response based procedure for P0 and WT &ref(ex1020_2.m); + robust stabilization problem and equivalent problem -- design example and simulation &ref(ex1020_3.m); &ref(mod1020.mdl); %-- 2016/10/20 13:36 --% ex1020_1 ex1020_2 ex1020_3 mod1020 c #ref(2016.10.20-1.jpg,left,noimg,whiteboard #1); #ref(2016.10.20-2.jpg,left,noimg,whiteboard #2); #ref(2016.10.20-3.jpg,left,noimg,whiteboard #3); -Q: Δは、何を表しているのか忘れてしまったので、もう一度説明お願いします。 -A: 安定で、H∞ノルムが1以下の1入出力系です(最大ゲインが1以下の安定な伝達関数、でも良いです)。 ** &color(green){[lecture #8]}; 2016.10.27 Mixed sensitivity problem 3/3 [#ma21462e] - review: &ref(授業/制御工学特論2015/map_v1.0_intro2.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(ex1027_1.m); minimize gamma by hand + gamma iteration by bisection method &ref(ex1027_2.m); + nominal performance and robust performance &ref(ex1027_3.m); + introduction of robust performance problem %-- 2016/10/27 13:46 --% ex1027_1 K ex1027_2 ex1027_3 #ref(2016.10.27-1.jpg,left,noimg,whiteboard #1); #ref(2016.10.27-2.jpg,left,noimg,whiteboard #2); ... sorry for the mistake in the left-upper inequality, please correct it as pointed out by a student as below #ref(2016.10.27-3.jpg,left,noimg,whiteboard #3); -Q: \[\left[\begin{array}{cc} \overline{m_1(j\omega)} & \overline{m_2(j\omega)} \end{array} \right] \left[\begin{array}{c} m_1(j\omega) \\ m_2(j\omega) \end{array} \right] = |m_1(j\omega)|^2 + |m_2(j\omega)|^2 \] とならないでしょうか? -A: ごめんなさい、その通りです。できれば授業中に訂正してもらえると助かります。 ** &color(green){[]}; 2016.11.10 canceled [#oc772f0a] ** &color(green){[lecture #9]}; 2016.11.17 robust performance problem 1/3 [#re9957f7] -- [[schedule2016]] &color(blue){(modified)}; mini report and exam + review -- mixed sensitivity problem ex1027_1 ex1027_2 ex1027_3 -- robust performance problem c.f. the last whiteboard + an equivalent robust stability problem + definition of H infinity norm for general case (MIMO) -- definition of singular values and the maximum singular value M = [1/sqrt(2), 1/sqrt(2); j, -j] 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(ex1117_1.m); -- robust performance is achieved but large gap -- non structured uncertainty is considered ... the design problem is too conservative %-- 2016/11/17 13:05 --% ex1027_1 ex1027_2 ex1027_3 M = [1/sqrt(2), 1/sqrt(2); j, -j] M' eig(M'*M) svd(M) ex1117_1 #ref(2016.11.17-1.jpg,left,noimg,whiteboard #1); #ref(2016.11.17-2.jpg,left,noimg,whiteboard #2); #ref(2016.11.17-3.jpg,left,noimg,whiteboard #3); #ref(2016.11.17-4.jpg,left,noimg,whiteboard #4); -Q: 特異値は何を意味しているのか? -Q: 特異点(値:小林註)は何を表していますか?(最大特異点(値)\[ \bar \sigma \] も) -A: 次回、特異値分解(singular value decomposition)と共に説明します。 ** &color(green){[lecture #10]}; 2016.11.24 Robust performance problem (2/3) [#u1420b6b] + return of mini report #1 + review -- robust performance but too conservative ex1027_2 ex1117_1 -- structured unertainty Delta hat and unstructured uncertainty Delta tilde -- robust stability problem for Delta hat and its equivalent problem(?) with Delta tilde + SVD: singular value decomposition -- definition -- meaning off the largest singular value -- 2-norm of vectors -- SVD for 2-by-2 real matrix &ref(ex1124_1.m); %-- 2016/11/24 13:04 --% ex1027_2 ex1117_1 M = [1/sqrt(2), 0; 1/sqrt(2), 0] svd(M) M [U, S, V] = svd(M) [U, S, V] = svd(M); U V U*S*V' U*S*V' - M S U'*' U'*U V'*V help norm ex1124_1 #ref(2016.11.24-1.jpg,left,noimg,whiteboard #1); #ref(2016.11.24-2.jpg,left,noimg,whiteboard #2); #ref(2016.11.24-3.jpg,left,noimg,whiteboard #3); #ref(2016.11.24-4.jpg,left,noimg,whiteboard #4); -Q: ホワイトボード◯6の a=v1 の v1 が V* の成分だった理由が分かりませんでした。 -A: 説明が悪かったと思いますが、m×m行列 V の第一列を列ベクトル v1 と決めた、というだけです。この結果、V* の第一行は行ベクトル v1* となります。わからなければまた聞いてください。 ** &color(green){[lecture #11]}; 2016.12.1 Robust performance problem (3/3) [#m73eb5a4] + review: conservative design with Delta tilde + scaled H infinity control problem + how to determine structure of scaling matrix + design example &ref(ex1201_1.m); ex1027_2 ex1117_1 gam_opt0 = gam_opt K_opt0 = K_opt; ex1201_1 gam_opt + mini exam #1 #ref(2016.12.01-1.jpg,left,noimg,whiteboard #1); #ref(2016.12.01-2.jpg,left,noimg,whiteboard #2); %-- 2016/12/01 13:59 --% ex1027_2 ex1117_1 gam_opt gam_opt0 = gam_opt K_opt0 = K_opt; ex1201_1 gam_opt gam_opt0 d_opt ** &color(green){[lecture #12]}; 2016.12.8 Robust performance problem (3/3) (cont.), Control system design for practical system (1/3) [#w2b0fa4e] + return of mini exam #1; + review of the scaled H infinity control problem + effect of scaling &ref(ex1208_1.m); ex1027_2 ex1117_1 gam_opt0 = gam_opt K_opt0 = K_opt; ex1201_1 gam_opt ex1208_1 + mini report #2 %%&ref(report2.pdf);%% &color(red){&size(20){please use modified file &ref(report2_fixed.pdf);};}; ... You will have a mini exam #2 related to this report + introduction of a practical system: active noise control in duct -- experimental setup #ref(授業/制御工学特論2015/exp_apparatus1.jpg,left,noimg); #ref(授業/制御工学特論2015/exp_apparatus2.jpg,left,noimg); -- 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 -- frequency response experiment #ref(ex1208_2.m); #ref(spk1.dat); #ref(spk2.dat); %-- 2016/12/08 13:25 --% ex1027_2 ex1117_1 gam_opt0 = gam_opt K_opt0 = K_opt; ex1201_1 gam_opt ex1208_1 ex1208_1 format long ex1208_1 M = [0, 0.5; sqrt(2), 0] W = mdiag(1/sqrt(3), 0) W = mdiag(1/sqrt(3), 1) svd(M) Mhat = inv(W)*M*W Mhat = W\M*W svd(Mhat) ex1208_2 #ref(2016.12.08-1.jpg,left,noimg,whiteboard #1); #ref(2016.12.08-2.jpg,left,noimg,whiteboard #2); #ref(2016.12.08-3.jpg,left,noimg,whiteboard #3); ** &color(green){[lecture #13]}; 2016.12.15 Control system design for practical system (2/3) [#m045e91f] + return of mini report #2 -- mini exam #2 -- [[schedule2016]] Dec.20(added) + 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 -- determination of plant model(nominal plant and additive uncertainty weight)&br; &ref(nominal.m);&br; &ref(subspace.m); ... replacement of n4sid in System Identification Toolbox (not provided in IPC)&br; &ref(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(cont.m); -- comparison of closed-loop gain characteristics with and without control&br; &ref(compare.m); -- result of control experiment&br; &ref(result.dat);&br; &ref(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: 6th(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(magenta){&size(30){at this page:[[participant list2016>/:~exp/seigyokougakutokuron_2016]](download is also possible)};}; &size(30){&color(red){not later than 28th(Wed) Dec};}; --Your login password will be e-mailed on Dec 16. --You can send up to 5 controllers --&size(25){&color(red){[[control experimental results will be uploaded here>/:~exp/seigyokougakutokuron_2016/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_2016/freqresp.h]] -- [[freqresp_module.c>/:~exp/seigyokougakutokuron_2016/freqresp_module.c]] -- [[freqresp_app.c>/:~exp/seigyokougakutokuron_2016/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_2016/hinf.h]] -- [[hinf_module.c>/:~exp/seigyokougakutokuron_2016/hinf_module.c]] -- [[hinf_app.c>/:~exp/seigyokougakutokuron_2016/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 are used to cut 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]] %-- 2016/12/15 13:18 --% ls nominal ls data nominal ctrlpre ctrlpref nominal 345/3.6 who G0 size(G0.a) weight help n4sid eig(A) max(real(eig(A))) weight cont compare compare_result #ref(2016.12.15-1.jpg,left,noimg,whiteboard #1); #ref(2016.12.15-2.jpg,left,noimg,whiteboard #2); ** &color(green){[lecture #14]}; 2016.12.20 Control system design for practical system (3/3) [#zf2cf84f] - preparation of your own controller(s) by using the remote experiment system but no explanation will be given (Kobayashi will not be in Nagaoka. I'm sorry) ** &color(green){[lecture #15]}; 2016.12.22 Control system design for practical system (cont.) [#m632cc7d] - preparation of your own controller(s) - mini exam #2 - questionnaires -- to university -- for web-based experimental environment %-- 2016/12/22 13:09 --% weight load result.dat pwd load data/result.dat; plot(result(:,1),result(:,4),'-'); compare #ref(2016.12.22-1.jpg,left,noimg,whiteboard #1); -Q:ミニ試験2の返却は行いますか? -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]]