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の長さの単振り子を準備すれば、周期が一致すると考えられます。

CT21 単振り子

Home Work 2.1

[P] 高校の物理で出てきた単振り子を「数学的振り子」と呼ぶことがあるんだ。知らなかった。「単」は「単一(single)」の意味かな?単振り子の周期は暗記させらたよね。

[M] その導出は一般には難しいけど、\thetaが小さいときに限れば容易に理解できるな。線形理論の有用性を示す好例だね。

[C] 一般の場合でも数値計算は簡単にできるんだ。微分方程式を解く関数は重宝するね。

Flipped Classroom 2.1
[1]  (2.6)と(2.7)の表現が前提になっていることに注意してください。
[2]  177^\circの場合の単振り子は考えにくいが、シミュレーションはとても興味深いです。「倒れるぞ!」という声が聞こえませんか?

CT14 補遺1

制御とは

[P] 本書では、平衡状態周りの挙動の安定化を、制御の基本的役割と考えているようだね。各分野における平衡の概念については、ウィキペディアにまとめてあるよ。特に、「力学においては、物体に加わっている全ての力の合力と力のモーメントの和がともに 0 である状態を平衡と呼ぶ。」の記述があるね。

[M] 平衡状態を求めるには、速度変化が0、すなわち加速度=0を満たすものとして求めてよいようだ。この平衡状態まわりでテイラー展開した1次項までで、平衡状態周りの挙動は十分表されると仮定しているわけだ。だけど、展開する関数は、ベクトル値をとる多変数関数だから、ちょっと複雑に見えるかな。

[C] 昔、電気回路の洋書を読んだことがあって、平衡状態周りの挙動の解析のおかげで、かなりの工学の問題が解けて、大きな貢献してきたという記述を読んだことがあるよ。これが線形回路を学ぶ大きな意義だと強調していたことを覚えている。

(まだまだ多くの会話を書きとどめたいけど、先を急ぎます。)

CT13 位置制御

Home Work 1.3

[P] 来たー、アイサイト・ワールド! 位置だけでなく速度も零にしなければないので、「二兎を追うものは一兎も得ず」にならなければよいのだけど。

[M] (1.12)は

\displaystyle{(1)\quad m\frac{d^2}{dt^2}e_r(t)+k_v\frac{d}{dt}e_r(t)+k_re_r(t)=0 }

と書けるので、2階の線形微分方程式を解けばよいのだけど、なんだか躊躇しているよね。微分方程式の教科書は見ないのかな?

[C] 制御系設計の問題では、運動の自由度ごとに2階線形微分方程式が出てくるので、連立させる必要が出てくるため、後で示すようなもっとスマートな方法が必要になるらしいよ。

Flipped Classroom 1.3
[1]  数学的な解法の説明は抜きにしても、計算機で強引に解いていますね。でも重要なのは、モノを動かすときの速度パターン(増速・減速の三角形または台形カーブ)です。シミュレーションをしっかり目に焼き付けてください。

[2]  k_vの値を徐々に大きくして、激突を避けられるぎりぎりの値を探してみてください。

CT12 速度制御

Home Work 1.2

[M] 制御則が(1.5)に変わっているけど、(1.1)に代入すると

\displaystyle{(1)\quad m\dot{v}(t)=k(v_c-v(t)) }

左辺を右辺に移して

\displaystyle{(2)\quad m\underbrace{\frac{d}{dt}(v_c-v(t))}_{\dot{e}(t)}+k\underbrace{(v_c-v(t))}_{e(t)}=0 }

と書けるね。停止制御の場合のm\dot{v}(t)+kv(t)=0において、v(t)が偏差e(t)に変わったとみなせま~す。

[P] ここでも(1.5)をどうやって発生させるのかと思っていたら、どうもアクチュエータ(制御対象への働きかけを行う装置)の設置が前提になっているようだ。それならわかったよ。

[C] センサ(制御対象の情報収集装置)の設置も前提となっているようだ。すなわち、図1.3のように、センサで検出した信号v(t)を、アクチュエータに戻す仕組みが考えられており、これをフィードバックと呼ぶらしい。特に偏差e(t)=v_c-v(t)を作るときに、検出した信号v(t)にマイナスをつけるので、これを強調して、ネガティブ・フィードバックと呼ぶのだそうだ。これを友達に話すと、「制御という魔法をかけるのだからポジティブなフィードバックじゃないの」と来たよ。確かにそうだけど「ポジティブなフィードバックはネガティブなフィードバックなのだ!?」。

Flipped Classroom 1.2
[1]  微分方程式を解くにはどの関数を使うのか、また微分方程式をどのように定義するのかに注意してください。 

[2]  v_cをいろいろ変えてみてください。将来的には、アニメーションを作成できるとよいですね。次を参考にしてください。

3Dアニメーション

CT11 停止制御

Home Work 1.1

[M] 数学的には(1.1)と(1.2)を合わせた、次の微分方程式を構成しているだけだよね。

\displaystyle{(1)\quad m\dot{v}(t)+kv(t)=0 }

というか、これを想定して(1.2)を決めているだけでは?

[P] それはそうだけど、(1.2)は外力なので、力を発生する物理的装置が必要だよね。それはどうするの?

[C] 普通のものつくりでは、(1)の左辺第2項を専用のデバイス(減衰器)で入れるのだけれど、アクチュエータという汎用のデバイスを用いて同様のことをさせているんだ。このことを魔法のように感じることができれば、制御に魅力に嵌ってしまうらしいよ。

Flipped Classroom 1.1
[1]  t=0における接線の式は、傾き\dot{v}(0)=-1、y切片v(0)=1だから

\displaystyle{(2)\quad \dot{v}(0)t+v(0)=-t+1 }

これが零となる時刻はt=1となります。

[2]  各時刻における接線の傾きは、

\displaystyle{(3)\quad \left\{\begin{array}{ll} \dot{v}(0)=-e^{0}=-1\\ \dot{v}(1)=-e^{-1}=-0.3678794\\ \dot{v}(2)=-e^{-2}=-0.1353353\\ \dot{v}(3)=-e^{-3}=-0.0497871\\ \dot{v}(4)=-e^{-4}=-0.0183156\\ \dot{v}(5)=-e^{-5}=-0.0067379\\ \dot{v}(6)=-e^{-6}=-0.0024788\\ \dot{v}(7)=-e^{-7}=-0.0009119\\ \dot{v}(8)=-e^{-8}=-0.0003355\\ \dot{v}(9)=-e^{-9}=-0.0001234\\ \dot{v}(10)=-e^{-10}=-0.0000454 \end{array}\right. }

接線の傾きはすべて負だから接線は右下がりで、しかもその傾きの絶対値は単調減少で零に近づいています。接線の傾きは速度の微分だから加速度を表し、これが(負の値を取りながら単調増加で)零に近づくということは滑らかな減速を意味しています。

[3]  (3)より、基準となる時間T=\frac{1}{k}の5倍も経てば、十分零に近づいていることが確認できます。したがって

\displaystyle{(4)\quad 5T=5\frac{1}{k}=3 }

から、ゲインをk=3と決めます。

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

次のラグランジュの運動方程式を考えます。

\displaystyle{(1)\quad  \frac{d}{dt}(\frac{\partial L}{\partial\dot{q}_i})-\frac{\partial L}{\partial q_i}=Q_i\quad(i=1,\cdots,N) }

ここで、運動エネルギーTとポテンシャルUを一般座標q\dot{q}で表し、ラグランジュ関数をL(q,\dot{q})=T-Uとおいています。また、Q_iは一般化力と呼ばれます。

(1)のベクトル表示は次のように得られます。

\displaystyle{(2)\quad  \frac{d}{dt} \underbrace{\left[\begin{array}{c} \frac{\partial L}{\partial\dot{q}_1}\\ \vdots\\ \frac{\partial L}{\partial\dot{q}_N} \end{array}\right]}_{\frac{\partial L}{\partial\dot{q}}} - \underbrace{\left[\begin{array}{c} \frac{\partial L}{\partial q_1}\\ \vdots\\ \frac{\partial L}{\partial q_N} \end{array}\right]}_{\frac{\partial L}{\partial q}} = \underbrace{\left[\begin{array}{c} Q_1\\ \vdots\\ Q_N \end{array}\right]}_{Q} }

左辺第1項は、次のように計算できます。

\displaystyle{(3)\quad  \underbrace{\left[\begin{array}{c} \frac{\partial\frac{\partial L}{\partial\dot{q}_1}}{\partial\dot{q}_1}\ddot{q}_1+\cdots+\frac{\partial\frac{\partial L}{\partial\dot{q}_1}}{\partial\dot{q}_N}\ddot{q}_N\\ \vdots\\ \frac{\partial\frac{\partial L}{\partial\dot{q}_N}}{\partial\dot{q}_1}\ddot{q}_1+\cdots+\frac{\partial\frac{\partial L}{\partial\dot{q}_N}}{\partial\dot{q}_N}\ddot{q}_N \end{array}\right]}_{\frac{\partial}{\partial\dot{q}}(\frac{\partial L}{\partial\dot{q}}){\ddot{q}} } + \underbrace{\left[\begin{array}{c} \frac{\partial\frac{\partial L}{\partial q_1}}{\partial{q}_1}\dot{q}_1+\cdots+\frac{\partial\frac{\partial L}{\partial{q}_1}}{\partial q_N}\dot{q}_N\\ \vdots\\ \frac{\partial\frac{\partial L}{\partial q_N}}{\partial{q}_1}\dot{q}_1+\cdots+\frac{\partial\frac{\partial L}{\partial{q}_N}}{\partial q_N}\dot{q}_N \end{array}\right]}_{\frac{\partial}{\partial q}(\frac{\partial L}{\partial\dot{q}}){\dot{q}} } - \underbrace{\left[\begin{array}{c} \frac{\partial L}{\partial q_1}\\ \vdots\\ \frac{\partial L}{\partial q_N} \end{array}\right]}_{\frac{\partial L}{\partial q}} = \underbrace{\left[\begin{array}{c} Q_1\\ \vdots\\ Q_N \end{array}\right]}_{Q} }

すなわち

\displaystyle{(4)\quad  \frac{d}{dt}(\frac{\partial L}{\partial\dot{q}})-\frac{\partial L}{\partial q}=Q }

から、次式を得ます。

\displaystyle{(5)\quad  \frac{\partial}{\partial\dot{q}}(\frac{\partial L}{\partial\dot{q}})\ddot{q} +\frac{\partial}{\partial{q}}(\frac{\partial L}{\partial\dot{q}})\dot{q} -\frac{\partial L}{\partial q}=Q }

これより、

\displaystyle{(6)\quad \frac{d}{dt} \left[\begin{array}{c} q\\ \dot{q} \end{array}\right]= \left[\begin{array}{c} \dot{q}\\ (\frac{\partial}{\partial\dot{q}}(\frac{\partial L}{\partial\dot{q}}))^{-1}(-\frac{\partial}{\partial{q}}(\frac{\partial L}{\partial\dot{q}})\dot{q} +\frac{\partial L}{\partial q}+Q) \end{array}\right] }