[[授業]] 担当:小林、TA:M1岩本 *第1回(2017.11.10) 概要〜第1章 システムを状態方程式で記述する [#f4bd6a58] &color(blue,orange){この授業の目的:与えられた物理系に対して、最適制御系を設計できるようになる}; - シラバス &ref(syllabus.pdf); - 成績の評価方法と評価項目:レポート(36% = 6点×6回=36点)、期末テスト(64%) -教科書:[[「演習で学ぶ現代制御理論」(森 泰親 著、森北出版)>https://www.morikita.co.jp/books/book/2368/]] - 古典制御と現代制御の違い(長所と短所) - 伝達関数と状態空間表現の関係(簡単な運動方程式を例に) #ref(2017.11.10-1.jpg,left,noimg,板書1) #ref(2017.11.10-2.jpg,left,noimg,板書2) #ref(2017.11.10-3.jpg,left,noimg,板書3) #ref(2017.11.10-4.jpg,left,noimg,板書4) #ref(2017.11.10-5.jpg,left,noimg,板書5) #ref(2017.11.10-6.jpg,left,noimg,板書6) -Q: 3次元のTFをSSRに変換するときSSRのxはどのようにとっているのか -A: &ref(授業/動的システムの解析と制御2015/ctrbf.pdf);を参考にしてください。 \[ x = \left[ \begin{array}{c} x_1 \\ x_2 \\ x_3 \end{array} \right]\] とおくと、 \[ x_2 = \dot x_1, \quad x_3 = \dot x_2 = \ddot x_1 \] より \[ x = \left[ \begin{array}{c} x_1 \\ \dot x_1 \\ \ddot x_1 \end{array} \right]\] となります。また、入力 u との関係は、 \[ \dot x_3 = - a_0 x_1 - a_1 x_2 - a_2 x_3 + u \] すなわち \[ x_1^{(3)} = -a_0 x_1 - a_1 \dot x_1 - a_2 \ddot x_1 + u \] です。伝達関数の方が分かり易いと思いますが、上式をラプラス変換すると \[ (s^3 + a_2 s^2 + a_1 s + a_0)X_1(s) = U(s) \] より \[ \frac{X_1(s)}{U(s)} = \frac{1}{s^3 + a_2 s^2 + a_1 s + a_0} \] の関係が成り立ちます。わからなければまた聞いてください。 -Q: 文字が小さかった。 -Q: 文字が小さい(特にそえ字) -A: 履修者が少ないため、できるだけ前の方に着席願います。それでも小さければ、また指摘してください。できれば授業中に教えてもらえると、すぐ対応でき助かります。 #ref(report1.pdf,left,レポート1回目); *第2回(2017.11.17)第2章 システムの応答と安定性 [#lc7f1bd1] - 解析問題と設計問題: 解析が基本、今日は解析を扱う。特に安定性 - 古典制御における安定性:インパルス応答がt→∞で0に収束する - ⇔ 現代制御における安定性:任意の初期値に対する応答がt→∞で0に収束する - ⇔ 伝達関数の極の実部がすべて負 - ⇔ A行列の固有値の実部がすべて負 - 復習:たたみこみのラプラス変換、行列の固有値と固有ベクトル、逆行列 - 状態遷移行列の定義、状態遷移行列のラプラス変換 #ref(2017.11.17-1.jpg,left,noimg,板書1); #ref(2017.11.17-2.jpg,left,noimg,板書2); #ref(2017.11.17-3.jpg,left,noimg,板書3); #ref(2017.11.17-4.jpg,left,noimg,板書4); #ref(2017.11.17-5.jpg,left,noimg,板書5); #ref(2017.11.17-6.jpg,left,noimg,板書6); -Q: これ \[ \forall \] が何かわかりませんでした -A: 全ての、です。つまり、 \[ {}^\forall x(0) \] は、全ての x(0) に対して、という意味になります。 -Q: u(t) = δ(t) とすることで x(0) を任意に指定できると同じの意味がよく分からない。 y(0) = cb なら y = cx より x(0) = b のときしか考えられないのではないですか -A: 入力信号 u(t) として δ関数を許せば、x(0) が零じゃない場合を扱える、という主旨の説明でした。この先の質問と思います。u(t) = δ(t) とする限り、確かに x(0) = b の場合のみしか扱えません。しかし、δ(t) の実数α倍 u(t) = α δ(t) とすると、x(0) = αb、つまり任意の初期値が指定できます。分からなければまた聞いてください。 -Q: x(0) が Aの固有ベクトルでないときは初期値応答の収束条件はどのように考えるのですか -A: x(0) がどのように与えられたとしてもその応答が 0 に収束する条件、が安定条件の定義ですので、全ての x(0) を調べる必要があります。そのためには、Aの固有ベクトル全てを調べることが必要十分です。つまり、任意に与えられた x(0) は固有ベクトルの線形結合で表されるので、その応答も、 各固有ベクトルが別々に入力されたときの応答の線形結合で表されます。 さらに言えば、固有ベクトルではない x(0) が存在して、その応答が0に収束しなかったとすると、 必ず実部が非負の固有値が少なくとも1個存在することが示されます。 上記二つの質問はとても良い質問ですので、できれば授業中に質問してもらえると、他の人も助かると思います。 -Q: 古典制御の安定性の条件。 伝達関数の「全ての」極の実部が負であるときですよね? -A: その通りです。 #ref(report2.pdf,left,レポート2回目); *第3回(2017.11.24) 第3章 可制御性(3.3可制御性とその条件), 第5章 極配置法(5.1 フィードバック係数ベクトルを直接計算する) [#qabc0746] -解析から設計へ、出力フィードバック(難)→状態フィードバック(簡単、基本) -閉ループ系のA行列 = A - BF -A-BFの固有値をFによって任意に指定できる=可制御性 -例1(Fによる固有値の指定不可)、例1'(指定可) -可制御性の定義 -可制御性の判定方法(可制御性行列の正則性) -レポート対策 #ref(2017.11.24-1.jpg,left,noimg,板書1); #ref(2017.11.24-2.jpg,left,noimg,板書2); #ref(2017.11.24-3.jpg,left,noimg,板書3); #ref(2017.11.24-4.jpg,left,noimg,板書4); #ref(2017.11.24-5.jpg,left,noimg,板書5); #ref(2017.11.24-6.jpg,left,noimg,板書6); #ref(report3.pdf,left,レポート3回目); *第4回(2017.12.01) 第6章 最適レギュレータ §6.1 評価関数と最適制御 [#pfab0884] - 簡単な例題(a, x, b, u, f がすべてスカラ、b > 0)... 最適制御を直感的に理解できる - (i) x(t)→0の収束する速さ、(ii) u(t)を小さく抑えること、にトレードオフがある - 極配置法では、(i),(ii)のバランスを客観的に取りにくい - 最適制御では、(i),(ii)のバランスを客観的に取れる - 最適レギュレータ問題と、その解(リカッチ方程式、P>0) - 最適制御の結果を使わずに J を最小化する f を求める ... f の二次方程式、閉ループが安定となる解を選ぶ - *1:f の二次方程式とリカッチ方程式の関係 - *2:閉ループ系の安定性と P > 0 の関係 - *3:Jの最小値を求める - r を大きくする((ii) を重視する)と、|a-bf| が小さくなる #ref(2017.12.01-1.jpg,left,noimg,板書1); #ref(2017.12.01-2.jpg,left,noimg,板書2); #ref(2017.12.01-3.jpg,left,noimg,板書3); #ref(2017.12.01-4.jpg,left,noimg,板書4); ... □7でf中の±の符号の上側(+)を選んでいますが、b < 0 の場合は下側(ー)を選ばなくてはなりません。以下Q/Aの最後を参照ください) #ref(2017.12.01-5.jpg,left,noimg,板書5); -Q: \[ {}^\exists F \] の \[ \exists \] の意味がわからなかった。 -A: 存在する、です。 -Q: \[ \dot x = (A - BF)x \] \[\downarrow \quad \mbox{状態遷移行列} \] \[ x(t) = x(0)e^{(A-BF)t} \] x(t)を使うタイミングが難しいですが、何かパターンはありますか? -A: 今日やった、簡単なスカラの例の場合は、fに依存する形でx(t)を求めることができ、評価関数Jも同様に求まります。その結果、Jを最小化するfが求まります。 そのために x(t) を使っています。「タイミングが難しい」の意味がわからないため、質問の答になっていないかもしれません。その場合はまた聞いてください。 -Q: rが小さいほど、たくさんエネルギーを使う。qが小さいと、収束性が速くなる? -A: qが小さいと、収束性が悪く(収束が遅く)なります。 -Q: (講義の際の疑問:b の符号によらず、閉ループ系が安定となるための必要十分条件が f > 0 だったとすると、f = b p / r の関係式より、b < 0 の場合は p < 0 が閉ループ系が安定となるための必要十分条件となってしまう。どこに誤りがあるのか? -A: 講義中に混乱してすみませんでした。結論から言うと、黒板□7で、b の符号によらず a - b f < 0 となる f として \[ f = \frac{a}{b} + \sqrt{\frac{a^2}{b^2} + \frac{1}{r}} \] と選んでいましたが、これが間違っていました。 つまり、 \[ a - bf = \mp b \sqrt{\frac{a^2}{b^2} + \frac{1}{r}} = \left\{ \begin{array}{c} \mp \sqrt{a^2 + \frac{b^2}{r}} \quad (b > 0) \\ \pm \sqrt{a^2 + \frac{b^2}{r}} \quad (b < 0) \end{array}\right. \] が正しいです(b を根号の中に入れるときに符号を失念しました。つまり、 \[ b = \left\{ \begin{array}{c} \sqrt{b^2} \quad (b > 0) \\ -\sqrt{b^2} \quad (b < 0) \end{array}\right. \] です)。 すなわち、b < 0 の場合は、閉ループ系を安定化する解fは、±の下側の符号を採用して \[ f = \frac{a}{b} - \sqrt{\frac{a^2}{b^2} + \frac{1}{r}} \] としなくてはならず、このとき f < 0 となります。よって b の符号によらず、常に p > 0 が成り立ちます。単純ミスに気付かず、大変申し訳ありません。 #ref(report4.pdf,left,レポート4回目); *第5回(2017.12.8) 第6章つづき〜 §6.2 重み行列と正定・半正定、§6.3最適制御系の安定性 [#o1610175] - 行列へ拡張: q→Q≧0, r→R>0 - (半)正定行列の定義 - 対称行列の固有値と正定性の関係(演習6.6), 対称行列の固有値はすべて実数(演習6.8) &ref(授業/動的システムの解析と制御2015/proof3.pdf); - 最適制御⇒安定かつJが最小 &ref(授業/動的システムの解析と制御2015/proof4.pdf,left,証明); - 最適レギュレータの設計(演習6.3,6.4):リカッチ方程式の解P、P > 0 ⇒ 対応する F が閉ループ系を安定化 #ref(2017.12.08-1.jpg,left,noimg,板書1); #ref(2017.12.08-2.jpg,left,noimg,板書2); #ref(2017.12.08-3.jpg,left,noimg,板書3); #ref(2017.12.08-4.jpg,left,noimg,板書4); #ref(2017.12.08-5.jpg,left,noimg,板書5); -Q: □8のレポート対策、[(左辺)=]の左辺とはどれのことですか? リカッチ方程式の左辺(右辺の0じゃない方)です。 左辺を計算してもし0になれば、左辺=右辺、つまりリカッチ方程式を満たすことがわかる、という意味です。説明不足だったようですみません。 授業中に指摘してもらえると助かります。 #ref(report5.pdf,left,レポート5回目); *第6回(2017.12.15) §9.1状態観測器の構造 [#ua91d046] - 状態xが使えない場合 - (方法1) 状態の代わりに出力yを使う = 静的出力フィードバック ⇒ ダメ - 別の方法:状態を推定して、それをxの代わりに使う - 状態観測器の定義:t→∞で誤差 x(t) の推定誤差が0となる - (方法2) 状態観測器? (演習9.1) + 状態フィードバック ⇒ ダメ - (方法3) 状態観測器((9.3)式, 演習9.2) + 状態フィードバック - 状態観測器を作る((9.3)式の導出、方法2は状態観測器にならない) - 可観測性(可制御性との関係) - 演習9.3':A - L C を安定(固有値の実部がすべて負)とする L の求め方 #ref(2017.12.15-1.jpg,left,noimg,板書1); #ref(2017.12.15-2.jpg,left,noimg,板書2); #ref(2017.12.15-3.jpg,left,noimg,板書3); #ref(2017.12.15-4.jpg,left,noimg,板書4); -Q: 第6回のレポート返却はいつされますか。 -A: 21日(木)10:00に返却予定です。 -Q: 制御ではA-BFの固有値の実部を負に大きくとると収束性が上がりますが可観測系ではそのような性質がありますか? -A: 次回説明する予定ですが、推定誤差の収束性が上がります。良い質問なので、授業中にしてもらえるとさらに良かったです。 #ref(report6.pdf,left,レポート6回目); *第7回(2017.12.19) §9.3併合系の固有値 [#eb68be2d] - 方法3で安定化できる理由:閉ループ系の固有値 = A - BF と A - LC の固有値 - 方法3が評価関数Jの最小値に与える影響? - A-LC の固有値の実部が-∞に近づくように L を設定すると何が起こるか? #ref(2017.12.19-1.jpg,left,noimg,板書1); #ref(2017.12.19-2.jpg,left,noimg,板書2); #ref(2017.12.19-3.jpg,left,noimg,板書3); #ref(2017.12.19-4.jpg,left,noimg,板書4); -Q: \[ \left[\begin{array}{cc} I & -I \\ 0 & I \end{array} \right] \] は行列の中に行列が入っているんですか? \[I_2 \rightarrow\left[\begin{array}{cc} \left[ \begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right] &-\left[ \begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right] \\ \left[ \begin{array}{cc} 0 & 0 \\ 0 & 0 \end{array} \right] & \left[ \begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right] \end{array} \right] \] -A: その通りです。 なお、上の4×4の行列は、 \[ \left[ \begin{array}{cccc} 1 & 0 & -1 & 0 \\ 0 & 1 & 0 & -1 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right] \] とも書きます。 -Q: (上の問のつづき) 計算は \[ \left[ \begin{array}{cc} 1 & -1 \\ 0 & 1 \end{array} \right] \] として良い? -A: あたかも I2 が 1 であるかのように、という意味と思います。 ある行列 M にそのサイズの単位行列をかけるのと、行列Mのスカラ1倍、の二つは同一なので、その意味で、「良い」です。 厳密には、ブロック行列に対して積が特別に定義されるわけではなく、もとの積の定義は、皆さんが知っている行列の積のみです。その定義から、ブロック行列に対する積の性質 \[ \left[ \begin{array}{cc} M_{11} & M_{12} \\ M_{21} & M_{22} \end{array} \right] \left[ \begin{array}{cc} N_{11} & N_{12} \\ N_{21} & N_{22} \end{array} \right] = \left[ \begin{array}{cc} M_{11} N_{11} + M_{12}N_{21} & M_{11} N_{12} + M_{12} N_{22} \\ M_{21} N_{11} + M_{22}N_{21} & M_{21} N_{12} + M_{22} N_{22} \end{array}\right] \] が導かれます(要素毎に展開すると確認できます)。 -Q: レポ5から よく \[ PA = \left[ \begin{array}{cc} a & b \\ 0 & 0 \end{array} \right] \] \[ A^T P = \left[ \begin{array}{cc} a & 0 \\ b & 0 \end{array} \right] \] となる。 \[ PA = (A^T P)^T \] の理由? -A: まず、任意の行列 M と N に対して、 \[ (M N)^T = N^T M^T \] が成り立ちます。ただし、積 M N が定義できるように、M の列数と N の行数が等しいとします。 これを認めれば、 \[ (A^T P)^T = P^T A \] となります。ここで、授業で出て来た行列 P は対称行列なので、 さらに、 \[ (A^T P)^T = P^T A = P A \] が成り立ち、質問の式が成り立ちます。 *第8回(2017.12.22) 期末テスト, 授業アンケート実施 [#d6d97e48] - 試験内容: レポート課題の中から、数値を変えて出題する - 持ち込み可能なもの: 筆記用具のみ - 試験時間: 85分 - 授業アンケート(本科目の前半・後半をまとめて) //■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ //&color(black,red){&size(20){!!!!!!!!!!!!!!!!!!!!!!!!!!!!!以下は過去の情報です!!!!!!!!!!!!!!!!!!!!!!!!!!};}; &color(red){&size(25){2017.12.24 前半・後半を含めた総合成績を掲示しています。レポート返却場所にて。確認してください。};}; &color(red){&size(25){2017.12.24 前半・後半を含めた総合成績を掲示しています。レポート返却場所にて。確認してください。採点結果に疑義がある場合は1月5日(金)までに申し出ること。};};