前回の記事で正の安定性を持つ、飛行機の縦dynamics(線形・伝達関数表現)モデルを作成し、挙動を観た。パルス型の入力だけで意図した状態に持っていけること、減衰が大きく自然と定常状態に落ち着くことを確認した。
今回は予告通り、人間が介入した場合の挙動を観ていく。人は目標状態と現在状態の差分から操作量を決めるので、フィードバック制御器として振る舞う筈だ。人の反応をモデル化するのは困難/不可能な事だと考えられるが、今回はフィードバック制御の中で、定番、理解し易く、歴史が長いPID制御器で人の反応を模擬する。目標状態と現在状態の差から操作量を判断するのがP(比例)、差の時間経過に伴う積み重ねを操作量の判断に用いるのがI(積分)、差の変化率を操作量の判断に用いるのがD(微分)制御に相当すると考える。
また、aviator(操縦士)の操作量決定には時間ラグが発生する筈なので、1次遅れ要素を挿入する。時定数は専門書(「航空機の飛行制御の実際」)に記載されている値を使う。
下図がフィードバック機構を付け足したモデルだ。
ゲインが重要なのだが、こればかりは人間を上手く模擬する値を決める方法が無い。(人間の脳神経反応のモデルとか有ったりする?)なのでゲインをtry & errorで変えて応答を観ていく。現実でも、PIOに対しての確かな解決策は無いらしく(固有周波数、減衰日に関する指標位は有るようだが)、シミュレーションモデル、シミュレータによる操縦士の評価、最終的には実機による操縦士の評価まで行って善し悪しを決める。
PIDの制御ゲインを設定するとき同様に、P, I, Dと順々にゲインを大きくしていく。(パルス入力で目標状態を達成しているのを観ているので、Iのゲインが無くても目標状態への到達が可能そうな気もするが。)
まずは、Pゲインのみから大きくする。
早速振動する。とは言え、強い減衰も備えており、次第に振動は無くなる。定常値がほぼ目標にも達しており、途中でオーバーシュートを起こさずに済んでいる。一応、操縦士が機を操れてはいる挙動。
振動が酷くなった。目標値を中央として、振幅が次第に大きくなっており、動的な安定性を欠いている。これでは永久に目標値(もしくは他の状態)に静定することが無く、操縦士が機を操れていない。
一応、もう一歩ゲインを上げてみよう。
振幅が全時間通してさらに大きく(縦軸範囲を保っていない為判りにくいが)なった。一方で、時間経過に伴う振幅の増大には際限が有ることも見えた。時刻25 [s] 以降は目標値を中心として一定振幅の振動を続ける。動的には不安定だが、静的には安定。
Pゲインのみで振動中心が目標状態に達せられているので不要なのだが、一応Iゲインを追加した挙動も観よう。オーバーシュート・振幅が大きく、振動中心の目標値への到達が早くなるはずだ。
予想通りの挙動となった。振幅が10 [deg] 近く大きくなり、振動中心の目標値への到達が5 [s] 程度早くなった。
さて、次はDゲインを試す。Dゲインは上手く設定するとオーバーシュートを抑えたり、応答を早めたりできるが、不適切な値を設定すると不安定を生む危険があったり、ノイズに振り回されやすいとか有るので難しい。
多少振動が抑えられた。グラフレンジが変わっているので、一見改善していないように見えるが、およそ70 [deg] 有った振幅が10 [deg] 程度まで下げられている。ここまでの結果から、元々安定かつ制御が容易(応答は遅いが)だったシステムにフィードバックが介入すると動的な安定性が損なわれ不快な振動が発生してしまうこと、そしてその挙動はフィードバックゲインの設定次第で如何様にも変わることをシミュレートできた。今回のシステムに対しては、Dゲイン、言い換えると目標と現在状態の差分の変化率に対してどう対応するかの影響がとても大きい。
では、Dゲインを更にゲインを高めてみよう。振動を抑える/除去することは出来るのか。
振動・オーバーはかなり抑えられた。しかしながら、操作開始直後の挙動が好ましくない。一瞬ではあるが、pitch角が上がり始めたと思った矢先、下がる方向に動いている。なぜこのような挙動となるのか。。。これまでのケースより、操作開始時のelevator操作の急激さが増しているので、rate limitに掛かり、rate limitterが悪さをしている可能性が高いが、原因を特定するにはさらに踏み込んだ分析・評価が必要だ。踏み込むとPIOから話が逸れるし長くなるので、今回は取り扱わずに以後の課題としておく。
一応、ゲインをもう一歩上げてみておく。逆行挙動がより大きくなると想定されるので、実際にそのようになるか確かめておきたい。
想定の通り、操作開始後のピッチ角の逆行がより大きくなっている。一方で振動・オーバーシュートはかなり抑えられており、この逆行をなくせればかなり良い挙動でもある。elevator司令値の動きが急激になっていることから、rate limitterが悪さをしている可能性が疑わしい。深く分析して原因を確かめるべきだが、まず確かめるのは容易なのでrate limitterが元凶かを先にサッと確かめてみよう。
やはり、逆行挙動が解消され、優れた応答と減衰を持つ応答となった。やはりD制御は良いゲインを見つけられると優秀。rate limitがなぜこのような動きを生むのかの分析を行うには記事が長くなりすぎているので、次回以降とする。
制御工学の制御器設計のような話になってしまったが、PIO、安定なシステムにフィードバック制御機構を入れ込むと逆に不安定になり得ること、そして安定性が悪化するか逆に良くなるかは制御ゲイン次第ということをシミュレートできた。
さて、ここまで、システムの状態を目標へと近づけようと働くフィードバック機構による振動発生を観てきたが、介入するのが人間となると加えて他のフィードバック機構の介入が考えられる。極端で危険な挙動を避け、抑えようとする防御反応だ。具体的に言うと、角速度や角加速度が異常に大きいと、人間はそれらを小さくしようとする操作を行うだろう。今記事が既に長くなってしまったので、それも次回以降としよう。
コメント