第4章 滑空遊泳シミュレーション
4.5 制御手法
4.5.2 LQI 制御器(現代制御理論)によるシミュレーション
長頸竜類は四枚の鰭を持っており,それらを全て用いて,姿勢角を制御した可 能性もある.また,生物は,一入力一出力システムというよりかは,むしろ多入 力多出力システムであるとも考えられる.そこで多入力多出力も可能な現代制
御理論(LQI制御器)35, 36, 37, 38 )を用いて滑空遊泳シミュレーションを行う.
LQI制御器の設計には運動方程式の線形化が必要である.平衡点回りに運動方 程式を線形化する.長頸竜類モデルの運動方程式は非線形方程式であるが,この 線形化には MATLAB/Simulink 組み込み関数の linmod 関数とその他の必要な MATLAB関数 39, 40, 41) を用いる.
状態空間表現として,(4.4)~(4.6)式が得られる,𝒖は操作入力である.𝒚𝑴は 観測出力であり,[𝐶𝑀]を変更することで(4.7)式を得る.添え字の 0 は平衡状態 時の値であることを示している.(4.6)式は鰭角や姿勢・速度・角速度などのほと んどの状態が分かる(センサーにより観測できる)とする場合,(4.7)式は鰭角と 姿勢しか分からない(センサーにより観測できない)とする場合に使用される.
「長頸竜類は生物なのでほとんどすべての状態が把握できている」とするのが
(4.6)式の示すところであり,「長頸竜類を水中ビークルなどの機械とみなし,姿
勢などの最低限の情報しかセンサーにより観測できない」とするのが(4.7)式の 示すところである.
被制御変数を𝑦とし,定置目標を添え字𝐶をつけて,𝑦𝐶とする.この時,制御 目的は(4.8)式で表される.被制御変数𝑦はセレクター行列𝐶𝑆を用いて(4.9)と (4.10)式のように表せる.(4.10)式は𝜃と𝜓を制御して縦方向滑空や旋回滑空を行 うための制御器を設計する際に使用される.(4.9)式は𝜙を制御して旋回滑空を行 うための制御器を設計する際に使用される.(4.9)式と(4.10)式のように被制御変 数を分けたのは,長頸竜類は指令としてヨー角を与えてもロール角を与えても 旋回が可能であり,どちらの方式が有利であるかをわかりやすく検証するため である.
{𝒙̇ = 𝐴𝒙 + 𝐵𝒖
𝒚𝑴= 𝐶𝑀𝒙 (4.4)
𝒙̇ =
[
̇𝑅
̇𝐿
̇𝑅
̇𝐿
𝛾̇
̇ ̇ ̇ 𝜙̇
𝜃̇
𝜓̇
̇ ̇ ̇ ̇ ̇ ̇ ]
= [𝐴]
[
𝑅− 𝑅0
𝐿 − 𝐿0
𝑅− 𝑅0
𝐿 − 𝐿0 𝛾 − 𝛾0 − 0 − 0 − 0 𝜙 − 𝜙0 𝜃 − 𝜃0 𝜓 − 𝜓0
− 0 − 0 − 0
− 0 − 0
− 0 ] + [𝐵]
[
𝑅− 𝑅0
𝐿 − 𝐿0
𝑅− 𝑅0
𝐿 − 𝐿0]
(4.5)
𝒚𝑴 =
[
𝑅− 𝑅0
𝐿 − 𝐿0
𝑅− 𝑅0
𝐿 − 𝐿0 𝜙 − 𝜙0
𝜃 − 𝜃0 𝜓 − 𝜓0
− 0 − 0 − 0
− 0 − 0
− 0 ]
= [𝐶𝑀]
[
𝑅− 𝑅0
𝐿− 𝐿0
𝑅− 𝑅0
𝐿− 𝐿0 𝛾 − 𝛾0 − 0 − 0 − 0 𝜙 − 𝜙0 𝜃 − 𝜃0 𝜓 − 𝜓0
− 0 − 0 − 0
− 0 − 0
− 0 ]
(4.6)
𝒚𝑴 =
[
𝑅− 𝑅0
𝐿 − 𝐿0
𝑅− 𝑅0
𝐿 − 𝐿0 𝜙 − 𝜙0
𝜃 − 𝜃0 𝜓 − 𝜓0 ]
= [𝐶𝑀]
[
𝑅− 𝑅0
𝐿− 𝐿0
𝑅− 𝑅0
𝐿− 𝐿0 𝛾 − 𝛾0 − 0 − 0 − 0 𝜙 − 𝜙0 𝜃 − 𝜃0 𝜓 − 𝜓0
− 0 − 0 − 0
− 0 − 0
− 0 ]
(4.7)
𝒆 = 𝒚𝑪− 𝒚 → 𝟎 (𝑡 → ∞) (4.8)
𝒚 = 𝐶𝑆𝐶𝑀𝒙 = 𝐶𝒙 = [𝜙 𝜃] (4.9) 𝒚 = 𝐶𝑆𝐶𝑀𝒙 = 𝐶𝒙 = [𝜃 𝜓] (4.10) 以上のように,状態空間表現を得たうえで,LQI制御器を設計する.(4.4)式で 得られた状態空間表現からセレクタ行列𝐶𝑆を用いて被制御変数𝒚を(4.9)と(4.10) 式のように定義する.𝐴と𝐶が可観測対になるように,𝐶𝑆を設定する.LQI制御の 概念図をFig. 4.15に示す.
(4.8)式に示した制御目的を達成するために,(4.11)式のような積分動作を加え
た状態フィードバックを考える.
𝒖 = −𝐹𝒙 − 𝐹𝐼∫ (𝒚(𝜏) − 𝒚𝑪)𝑑𝜏
𝑡
0
(4.11) 第2項に含まれる積分を𝒙𝑰と置き換えることで,(4.12)式が得られる.
𝒖 = −𝐹𝒙 − 𝐹𝐼𝒙𝑰 (4.12)
いま[𝒙 𝒙𝑰]𝑇を状態変数とすると積分動作を含む LQI 制御器は(4.13)式と
(4.14)式のように表される.ただし,行列𝐼は単位行列であり,以下同様とする.
𝑑 𝑑𝑡[𝒙
𝒙𝐼] = [𝐴 − 𝐵𝐹 −𝐵𝐹𝐼 𝐶 0 ] [𝒙
𝒙𝑰] + [ 0
−𝐼] 𝒚𝑪 (4.13)
[𝒚
𝒖] = [ 𝐶 0
−𝐹 −𝐹𝐼] [𝒙
𝒙𝑰] (4.14)
(4.13)式の状態[𝒙 𝒙𝑰]𝑇から(4.14)式の出力[𝒚 𝒖]𝑇までのインパルス応答を
G(t)とし,
𝐺(𝑡) = [ 𝐶 0
−𝐹 −𝐹𝐼] exp ([𝐴 − 𝐵𝐹 −𝐵𝐹𝐼
𝐶 0 ] 𝑡) (4.15)
次式で表される2次形式評価関数を最小化する𝐹,𝐹𝐼を求める.
𝐽 = 𝑡 (∫ 𝐺𝑇(𝑡) [𝑄 0
0 𝑅] 𝐺(𝑡)𝑑𝑡
∞
0
) (4.16)
𝑄は被制御変数に対する重み行列,𝑅はアクチュエータ(鰭の動き)に対する重 み行列で,こららの対角要素の値を調節することで制御器をチューニングする.
チューニングはシミュレータを使用して,制御性能が向上するように,試行錯誤 で行った.
解は周知のように(4.17)式で得られる 38 ).
[𝐹 𝐹𝐼] = 𝑅−1[𝐵𝑇 0]Π (4.17) ここで,Πは(4.18)式で示すリッカチ方程式の解である.
Π [𝐴 0
𝐶 0] + [𝐴𝑇 𝐶𝑇
0 0 ] Π − Π [𝐵𝑅−1𝐵𝑇 0
0 0] Π + [0 0
0 𝑄] = 0 (4.18) 本研究では,観測できない状態変数は,(4.19)式に示した全状態オブザーバー を用いて推定することにする.
𝒙′̇ = (𝐴 − 𝐻𝐶𝑀)𝒙′ + 𝐻𝒚 + 𝐵𝒖 (4.19) この時,積分動作を加えたオブザーバーベース制御器は(4.20)と(4.21)式のよう に表すことができ,
[𝒙′̇
𝒙̇𝑰] = [𝐴 − 𝐻𝐶𝑀− 𝐵𝐹 −𝐵𝐹𝐼
0 0 ] [𝒙′
𝒙𝑰] + [𝐻 0 𝐶𝑆 −𝐼] [𝒚
𝒚𝑪] (4.20)
𝒖 = −𝐹𝒙′ − 𝐹𝐼𝒙𝑰 (4.21)
状態オブザーバーゲイン𝐻は(4.22)式で得られる.
𝐻 = (𝑉𝐶𝑀Γ)𝑇 (4.22)
Γは(4.23)式で表すリッカチ方程式の解である 38 ).本研究では,𝑊と𝑉の対角要 素はすべて1としている.
Γ𝐴𝑇+ 𝐴Γ − Γ𝐶𝑀𝑇𝑉−1𝐶𝑀Γ + 𝑊 = 0 (4.23) 本研究では以下の二つのLQI制御器を設計し,比較する.
LQI制御器 1: 観測出力として(4.6)式を用いる.
LQI制御器 2: 観測出力として(4.7)式を用いる.
Fig. 4.16, Fig. 4.17にL型とS型のLQI制御器1を使用したステップ指令によ るピッチ角制御結果を示す.横軸は時間であり,縦軸については左側にそれぞれ 示している.黒色の実線は𝜃𝐶 = −25degのステップ指令に対する応答を,灰色の
破線は𝜃𝐶 = −35 deg のステップ指令に対する応答を示している.シミュレーシ ョン開始時は平衡状態とし,鰭角も平衡状態時のものに設定している.シミュレ ーション開始後10秒で指令を与えている.ほとんどオーバーシュートなくよく 指令に追従していることが分かる.PID 制御器による制御結果(Fig. 4.13,Fig.
4.14)と比較するとL型の制御性能はほとんど同じであるが,縦安定性が無かっ たS型の制御性能はオーバーシュートが格段に減少し制御性能が向上している.
多入力多出力系の制御器であるLQI制御器の優位性が明らかとなった.
Fig. 4.18, Fig. 4.19はL型とS型のLQI制御器2を使用したステップ指令によ るピッチ角制御結果である.黒色の実線は𝜃𝐶 = −25 deg のステップ指令に対す る応答を,灰色の破線は𝜃𝐶 = −35 deg のステップ指令に対する応答を示してい る.Fig. 4.16, Fig. 4.17に示す,長頸竜類はほとんどの状態変数の状況を把握しな がら遊泳しているとした制御結果と比較すると,観測できる状態変数が減って もピッチ角制御にはほとんど影響がないことが分かる.
Fig. 4.20~Fig. 4.23では,ヨー角変更ステップ指令を与え場合の,LQI制御器 1とLQI制御器2の制御性能の違いが比較されている.Fig. 4.20,Fig. 4.21はL 型の結果,Fig. 4.22,Fig. 4.23はS型の結果で,黒色の実線がLQI制御器1によ る制御であることを,灰色の破線は LQI 制御器 2 による制御であることを示し ている.シミュレーション開始後10秒で𝜓𝐶 = 20degと𝜓𝐶 = 40 degのステップ 指令値を,その後,110秒で𝜓𝐶 = −20degと𝜓𝐶 = −40 degのステップ指令値を 与えて針路を元に戻している.どの制御器を使用しても長頸竜類は指令値に追 従しオーバーシュートもほとんど見られない.しかし,LQI制御器2を使用した 場合は LQI 制御器 1を使用した場合に比べて制御性能が若干劣化し,鰭角の動 き(アクチュエータの動き)が振動的になっている.この現象は指令値が大きい 場合に顕著である.やはり,状態を観測するセンサーが限られる水中ビークルの ような機械類よりも,ほとんどの状態を観測している(把握している)と思われ る生物の方が,制御性能が優れていると言える.