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] }

保護中: 例題

このコンテンツはパスワードで保護されています。閲覧するには以下にパスワードを入力してください。

What’s new? (2024/10/28)

2024.10.28 『ゼミナール 制御技術入門』の修正版ver.1.1が近々刊行されます。

2024.9.5 『ゼミナール 制御技術入門』のフォローアップサイトを、大まかに仕上げました。また、正誤表に1件追加しました。

2024.5.6 正誤表を作成しました。
正誤表

2024.5.2 『ゼミナール 制御技術入門』のフォローアップサイトの整備が遅れて申し訳ありません。ようやく5章まで要点を中心に仕上げました。また、古いプログラムをアップしていたので、一部修正し更新しました。

2024.1.9 次がXに出ました。


2023.12.30 本サイトの全面改訂を始めます。

問・演習問題の解答(1章)

1. 物理法則から状態方程式を導く


問1.1 十分大きなkに対して,v(1)=0.3679v(2)=0.0498v(3)=0.0067

問1.2
#1:ドアは急に衝突音をともなって閉まる。
#2:ドアは速やかに静かに閉まる。
#3:ドアはなかなか閉まらない。

問1.3 答は図1.12。

問1.4 座標変換
\left[\begin{array}{c} x_a(t) \\ x(t) \end{array}\right] = \left[\begin{array}{cc} 0 & I_2 \\ 1 & 0 \end{array}\right] \left[\begin{array}{c} x(t) \\ x_a(t) \end{array}\right]
を行うと
\left[\begin{array}{c} \dot{x}_a(t) \\ \dot{x}(t) \end{array}\right]= \left[\begin{array}{c|cc} -\frac{1}{T_a} & 0 & 0 \\\hline 0 & 0 & 1\\ K\omega_n^2c_a & -\omega_n^2 & -2\zeta\omega_n \end{array}\right] \left[\begin{array}{c} x_a(t) \\ x(t) \end{array}\right]+ \left[\begin{array}{cc} \frac{K_a}{T_a} \\\hline 0 \\ 0 \end{array}\right] u(t)

y(t)= \left[\begin{array}{c|cc} 0 & 1 & 0 \end{array}\right] \left[\begin{array}{c} x_a(t) \\ x(t) \end{array}\right]

【1】 回路方程式はつぎのように整理できる。

\begin{array}{ll} L\dot{i}(t)=-(\frac{R_1R_2}{R_1+R_2}+\frac{R_3R_4}{R_3+R_4})i(t)-(\frac{R_1}{R_1+R_2}-\frac{R_3}{R_3+R_4})v(t) +u(t) \\[1mm] C\dot{v}(t)=-(\frac{R_2}{R_1+R_2}-\frac{R_4}{R_3+R_4})i(t) -(\frac{1}{R_1+R_2}+\frac{1}{R_3+R_4})v(t)\\[1mm] \end{array}

R_1R_4=R_2R_3が成り立つとき

\begin{array}{ll} L\dot{i}(t)=-(\frac{R_1R_2}{R_1+R_2}+\frac{R_3R_4}{R_3+R_4})i(t)+u(t) \\ C\dot{v}(t)=-(\frac{1}{R_1+R_2}+\frac{1}{R_3+R_4})v(t) \\ \end{array}

ブロック線図は図3.4参照。

【2】 v_1(t)=\dot{x}_1(t)v_2(t)=\dot{x}_2(t)とおくと

\begin{array}{ll} m_1\dot{v}_1(t)=-k(x_1(t)-x_2(t))+f_1(t)+w_1(t) \\ m_2\dot{v}_2(t)=-k(x_2(t)-x_1(t))+w_2(t)\\ \end{array}

【3】 状態方程式??を考えると,平衡状態では
つぎが成り立つ。

0=-\frac{K_TK_E}{JR}\omega^*+\frac{K_T}{JR}v^*-\frac{1}{J}\tau_L^*

式??からこれを辺々引いて,つぎの状態方程式を得る。

\frac{d}{dt}(\omega(t)-\omega^*) = -\frac{K_TK_E}{JR}(\omega(t)-\omega^*) +\frac{K_T}{JR}(v(t)-v^*)-\frac{1}{J}(\tau_L(t)-\tau_L^*)

【4】 シミュレーション結果はつぎのとおり。


8. 伝達関数から状態方程式を導く

線形系を知るということは,インパルス応答を知るということにほかならない。というのは,どのような入力が与えられても,インパルス応答とのたたみこみ積分を行って出力(零状態応答)が得られるからである。インパルス応答をラプラス変換したものを「伝達関数」と呼ぶ。ステップ応答の微分がインパルス応答であり,周波数応答の逆フーリエ変換がやはりインパルス応答であるから,実際には,「システム同定」実験を通してステップ応答や周波数応答を得て(伝達関数を陰に陽に求めて),さまざまな制御方式を設計することがよく行われている。

一方,これまで私たちは,物理法則に基づいて状態方程式と出力方程式からなる状態空間表現を得ていたが,もし同定実験を通して得られた伝達関数から状態空間表現を求めることができれば,これまで学んださまざまな特性解析・コントローラ設計の方法を適用できるであろう。インパルス応答や伝達関数は線形系の入出力関係を表すので「外部記述」と呼ばれ,これに対応する状態空間表現は「内部記述」と呼ばれる。そして,外部記述から内部記述を求めることを「実現」という。

本章では,状態空間表現の構造のより深い理解のためもあって,この実現問題を扱う。実は,与えられた外部記述に対応する状態空間表現は無数に存在する。これは状態空間の次数と座標軸の取り方に自由度が存在するためである。特に,最小次数の状態空間表現を求めることを「最小実現」という。興味深いのは,最小次数が可制御かつ可観測の性質により特徴付けられることである。また,座標軸の適切な取り方の一つに,特に信号処理分野で有用性が認められている「平衡実現」と呼ばれるものがある。

7. 非線形の運動方程式から始める

これまで扱ってきた制御対象は,その運動方程式が線形の微分方程式で表される「線形系」としていた。ところが実際には,例えば,ロボットアームの運動方程式に見られるように,非線形の微分方程式で表される「非線形系」が多い。このとき,これまで学んできた線形系に対する制御理論(LQ制御やLQI制御)はどのように役立つのだろうか。

まず,運動方程式(高階の非線形微分方程式)から「非線形状態方程式」を1階の連立非線形微分方程式として求めておく。つぎに,物理的な釣り合いの状態,すなわち「平衡状態」を考える。その平衡状態付近での運動を,「線形化」された状態方程式で表し,これに対して例えばLQI制御を適用する。

このアプローチは1入力1出力系ばかりでなく多入力多出力系に対しても適用できて,これまで数多くの制御問題の解決が図られてきた。その実績こそが,前章までに述べてきた線形システム制御論の有用性を示唆し,これを学ぶことの強い動機付けを与えている。

そこで,本章では,運動方程式が非線形の微分方程式で表される対象の制御問題として,水タンクの水位制御問題を考え,LQI制御を適用しながら線形システム制御論に基づくアプローチを説明する。皆さんは,計算機を用いて,LQIコントローラの数値計算と閉ループ系の時間応答シミュレーションに挑戦してほしい。そして,できれば適当な制御実験を試みてほしい。自分で考えたアルゴリズムで物をうまく動かすことができたときは,きっと小躍りしたくなるであろう。