CT43 補遺4

[C] 状態フィードバックに関する条件として次を学んだことになるね。

【可安定性の定義とその等価な条件】

定義DS: 状態フィードバックにより安定化可能

条件S1: {\rm rank}\, \left[\begin{array}{cc} B & A-\lambda I_n \end{array}\right] =n (\lambdaAのすべての不安定固有値)

条件S2: B^Tw=0,\ A^Tw=\lambda w \Rightarrow w=0 (\lambdaAのすべての不安定固有値)

【可制御性の定義とその等価な条件】

定義DC: 任意初期状態を,任意有限時間内に,任意状態に移動可能

条件C1: \displaystyle{\int_0^t \exp(A\tau)BB^T\exp(A^T\tau)\,d\tau>0 \quad (\forall t>0)}

条件C2: \boxed{{\rm rank}\, \left[\begin{array}{cccc} B & AB & \cdots & A^{n-1}B \end{array}\right]=n}

条件C3: Fを選んで,A-BFの固有値を任意に設定可能

条件C4: \boxed{{\rm rank}\, \left[\begin{array}{cc} B & A-\lambda I_n \end{array}\right] =n} (\lambdaAのすべての固有値)

条件C5: B^Tw=0,\ A^Tw=\lambda w \Rightarrow w=0 (\lambdaAのすべての固有値)

[P] 可制御性は、敢えて言えば、瞬間移動が可能であると言えるのかな?実際にはありえないから、線形理論の限界でもあるね。

[M] これらの証明については、次を参照するらしいよ。

可制御性

(詳しい説明は、あとで行う予定です。)

CT42 いつ安定化できるか

Home Work 4.2

[P] 手のひらに2本の棒を倒立させる制御は考えたことがなかったけど、とても興味深いな。全く同じ長さではできなけど、長さが違えばできるらしいよ。

[M] 安定化できるかどうかのチェックを、行列ABを用いてできるなんて、なんとすばらしい!

[C] いわゆる可安定性とか可制御性が成り立つかどうかをチェックすれば良いわけだ。これらがどう違うかを理解したり、様々な条件の等価性については、補遺で説明するらしいけど、まだかな?

Flipped Classroom 4.2
[1] 可安定性を数値計算で調べる場合は、条件S1を用います。

[2] 可制御性を数値計算で調べる場合は、条件C4を用います。

[3] 条件S1や条件C4が成り立たないことを確認してください。

[4] 初期値をいろいろ変えて、シミュレーションしてみてください。

CT41 状態フィードバック

Home Work 4.1

[M] 数学的には、行列Aが行列A-BFに変わるので、不安定固有値を安定固有値に移動させる可能性さえあるということかな。

[P] 物理的には、ばね定数や摩擦係数を変えることになって、デバイスを変えたわけではないのにダイナミックスが変わってしまい、ちょっと不思議な気がするね。

[C] ある高名な研究者の解説には「状態フィードバックは最強である」という表現があるらしいよ。これはすべての状態変数の動きを監視していて、変化があれば即座にアクチュエータにフィードバックできれば、これ以上の制御動作はないという意味らしいよ。

Flipped Classroom 4.1
[1]  プログラムを解析して、どのような固有値を設定しようとしているか、また正しい状態フィードバックが求まっているか調べてください。また、自分で指定した固有値に設定する状態フィードバックゲインを求めてみてください。

[2]  多入力の場合は、閉ループ系の固有値を指定しただけでは、状態フォードバックは一意の定まらなことを、しっかり認識してください。たとえば、適当な初期値を与えて応答が異なることを確認してみてください。

CT34 補遺3

安定判別

[C] 漸近安定性の等価な条件として次を学んだことになるね。

【漸近安定性の定義とその等価な条件】

定義DA: \forall x(0)\ne 0: x(t)=\exp(At)x(0)\rightarrow 0\quad(t\rightarrow\infty)

条件A0: \exp(At)\rightarrow 0_{n\times n}\quad(t\rightarrow\infty)

条件A1: {\rm Re}(\lambda_i(A))<0\quad(i=1,\cdots,n)

[P] なぜ行列Aだけを用いるのか、その理由を物理的に説明できま~す。

[M] 2次系の場合は分かったからは、あとは一般の場合の証明ができるかどうかだ。そのためには、まず実Jordan標準形を理解する必要があり、次が参考になるらしいよ。

実Jordan標準形

その上で、実Jordan標準形の行列指数関数を考えるのだそうだ。次が参考になるらしいよ。

行列指数関数

(以上、とりあえず手がかりとなる材料を示しておきます。)

CT33 パッシブ制御

Home Work 3.3

[P] 日産の技術紹介でスカイフック制御のビデオを見たことがあるよ。油圧で減衰係数を200通りも変えられると説明されていたね。これにより、高速運転のときはしっかりした足回りにしたり、低速で段差を乗り越えるような場合は柔らかく受け止めるようにできるらしいよ。高度なアクティブ制御の一例かな。

[M] 状況に応じて制御則が変わるのはすごいと思うが、閉ループ系はいつも漸近安定と言えるのだろうか?

[C] ゲインスケジューリング制御の授業では、減衰係数を可変にする制御系設計がレポート課題だったな。確か閉ループ系の安定性が議論されていたと思うけど。

Flipped Classroom 3.3
[1]  行列A=\left[\begin{array}{cc} 0 & 1\\ -\frac{K}{M} & -\frac{D}{M} \end{array}\right] の特性方程式は

\displaystyle{(1)\quad {\rm det}(\lambda I_2-A)={\rm det}\left[\begin{array}{cc} \lambda & -1\\ \frac{K}{M} & \lambda+\frac{D}{M} \end{array}\right]=\lambda^2+\frac{D}{M}\lambda+\frac{K}{M}=0 }

行列Aの固有値は

\displaystyle{(2)\quad \lambda=\frac{1}{2}(-\frac{D}{M}\pm\sqrt{\frac{D^2}{M^2}-\frac{K}{M}}) }

となって、必ず複素左半平面にあることがわかります。

[2] 応答の評価は次の通りです。速応性と静粛性はトレードオフの関係にあります。妥協点はD=\sqrt{2}でしょうか?

D=0.02のとき、速応性は〇、静粛性は×
D=\sqrt{2}のとき、速応性は△、静粛性は△
D=2のとき、速応性はx、静粛性は〇

CT32 安定判別

Home Work 3.2

[C] 安定判別といえば、古典制御ではナイキストの安定定理、ラウス・フルビッツの判定法を思い出すね。それらの手続きについては習ったけど、特にラウス・フルビッツの判定法の証明は習ったかな?

[M] 数学的には行列Aの固有値がすべて複素左半平面にあるかどうかだけどね。

[P] 固有値とか、固有ベクトルとか、線形代数で習ったけど、Jordan標準形の導出などちょっとついていけなかった。ましてや、これらの物理的な意味など説明できるのかな?

Flipped Classroom 3.2
[1],[2],[3],[4],[5]  次のサイトを参照してください。

行列指数関数

[6] 不安定な固有値には赤色をつけてみてください。

CT31 漸近安定性

Home Work 3.1

[P] 漸近安定性の意味は、平衡状態が乱されたときに復帰できるかどうかなので、物理的には明らかだね。

[C] でも状態空間表現におけ3つの行列A,B,Cのうち、どうして行列Aだけしか関係しないのかな?

[M] u\ne0の場合は、状態方程式は微分方程式なので、その解は複雑なはずだよね。なぜu=0とするのかな?

Flipped Classroom 3.1
[1] 漸近安定性は、平衡入力のもとで平常状態の振舞い(状態方程式の解)に関係しています。線形状態方程式において平衡入力はu=0で表されるから、行列Aだけしか関係しません。この説明を行なえる人は少ないようです。

[2] 平衡状態はx=0で表されるから、零に漸近しているのはa=-5の場合だけです。テキストはモノクロ印刷なので、必ずプログラムを実行してください。

CT23 線形状態方程式

Home Work 2.3

[M] (2.22)がどのように出てくるのか、詳しく説明するね。その前に、(2.19)のfはベクトル値関数で、おそらくほとんどの人は初めて出会うものだと思うよ。この場合のfは2次元ベクトルなので、その要素をf_1,f_2とすると

\displaystyle{(1)\quad f=\left[\begin{array}{c} f_1\\ f_2 \end{array}\right] }

と書けるね。さらに、f_1,f_2\theta,\omega,\tauの多変数関数なので

\displaystyle{(2)\quad f(\theta,\omega,\tau)= \left[\begin{array}{ll} f_1(\theta,\omega,\tau)\\ f_2(\theta,\omega,\tau) \end{array}\right] }

と書けるね。ここで、f_1\theta^*,\omega^*,\tau^*周りでテーラー展開すると

\displaystyle{(3)\quad %\left\{\begin{array}{ll} f_1(\theta,\omega,\tau)=f_1(\theta^*,\omega^*,\tau^*)+ \frac{\partial f_1^*}{\partial\theta}(\theta-\theta^*)+ \frac{\partial f_1^*}{\partial\omega}(\omega-\omega^*)+ \frac{\partial f_1^*}{\partial\tau}(\tau-\tau^*)+\cdots %\end{array}\right.} }

ただし、\frac{\partial f_1^*}{\partial\theta}などの記法は

\displaystyle{(4)\quad \frac{\partial f_1^*}{\partial\theta}=\frac{\partial f_1(\theta^*,\omega^*,\tau^*)}{\partial\theta}= \left.\frac{\partial f_1(\theta,\omega,\tau)}{\partial\theta}\right|_{\theta=\theta^*,\omega=\omega^*,\tau=\tau^*} }

を表しているよ。f_2も同様に展開して

\displaystyle{(5)\quad %\left\{\begin{array}{ll} f_2(\theta,\omega,\tau)=f_2(\theta^*,\omega^*,\tau^*)+ \frac{\partial f_2^*}{\partial\theta}(\theta-\theta^*)+ \frac{\partial f_2^*}{\partial\omega}(\omega-\omega^*)+ \frac{\partial f_2^*}{\partial\tau}(\tau-\tau^*)+\cdots %\end{array}\right.} }

(3)と(5)を1次項で打ち切って、ベクトル表示したものが(2.22)ということになるね。

[P] 運動の各自由度について、位置と速度をペアにして状態変数を定義することが多いので、状態変数ベクトルの次元数は運動の自由度の2倍になるとと考えて良いようだね。

[C] 状態空間表現における行列A,B,Cの呼び方に通称がないので、ちょっと困るよね。

Flipped Classroom 2.3
[1] 行列Aの(2,1)要素は

\displaystyle{(6)\quad %\left\{\begin{array}{ll} \frac{\partial f_1^*}{\partial\theta}=-\frac{3g}{4\ell}\cos(\theta^*) %\end{array}\right.} }

\theta=0のときがA_1\theta=\piのときがA_2です。
 
[2] MAXIMAの方は定義通りに計算しています。一方MATLABの方は次を参照してください。

ラグランジュの運動方程式

CT22 剛体振り子

Home Work 2.2

[M] (2.12)から(2.13)と(2.14)を得るところについて、説明するね。まず関数f(x)x=aの周りでのテーラー展開

\displaystyle{(1)\quad f(x)=f(a)+f'(a)(x-a)+\frac{d^2}{dx^2}(x-a)^2+\cdots }

に基づいて、次のf(x)の1次近似を考えるんだ。

\displaystyle{(2)\quad f(x)\simeq f(a)+f'(a)(x-a) }

ここで、x=\thetaf(x)=\sin\thetaの場合を考えると

\displaystyle{(3)\quad \sin\theta\simeq\sin(a)+\cos(a)(\theta-a) }

となるね。したがって、a=0の場合は

\displaystyle{(4)\quad \sin\theta\simeq\underbrace{\sin(a)}_{0}+\underbrace{\cos(a)}_{1}\theta=\theta }

また、a=\piの場合は

\displaystyle{(5)\quad \sin\theta\simeq\underbrace{\sin(a)}_{0}+\underbrace{\cos(a)}_{-1}(\theta-\pi)=-(\theta-\pi) }

これらを(2.11)に代入したものが、それぞれ(2.13)と(2.14)です。

訂正 初版での記述「(a=\theta-\piだから)、\sin\theta\simeq \theta-\piとして」は、「(a=\piだから)、\sin\theta\simeq -(\theta-\pi)として」に訂正させてください。

[P] 剛体振り子ではの周期はどうやって求めればよいのだろう。Flipped Classroomで考えるようだね。

[C] 2つの平衡状態の物理的な振舞いが、(2.15)と(2.16)の相違とどう関係しているか興味があるね。

Flipped Classroom 2.2
[1]  単振り子の振舞いは(2.7)で決まります。一方、剛体振り子の振舞いは(2.15)で決まります。したがって、そこに現れる行列の(2,1)要素を等しいとおいてみます。

\displaystyle{(2)\quad -\frac{g}{L}=-\frac{3g}{4\ell}\Rightarrow L=\frac{4\ell}{3}=\frac{2}{3}2\ell }

[2]  剛体振り子の長さ2\ellの2/3の長さの単振り子を準備すれば、周期が一致すると考えられます。