(58)【調査した分野】(Int.Cl.,DB名)
操縦装置から入力された操作入力と、制御対象の状態値を検出してフィードバックした値とに基づき、当該飛行制御システム全体に設計者が求める望ましい特性を実現させる規範応答モデルと、
ダイナミックインバージョン法に基づく前記制御対象の逆モデルであり、前記規範応答モデルの出力から前記制御対象の制御入力を生成するプラント逆モデルと、
前記規範応答モデルのフィードバック制御ゲインに並行に設けられ、ニューラルネットワークを形成する補償器と、
前記フィードバック制御ゲインの入力となる制御誤差が予め定められた更新閾値未満であれば、前記補償器の重み行列を更新せず、該更新閾値以上であれば、該重み行列を更新する更新制限部と、
を備えることを特徴とする飛行制御システム。
前記制御入力が予め定められた第1入力閾値以上であるか、または、該制御入力の変化率が予め定められた第1変化閾値以上であれば、前記補償器へ入力される教師信号の入力ゲインを1.0未満の値に設定するゲイン調整部をさらに備えることを特徴とする請求項1に記載の飛行制御システム。
前記制御入力が予め定められた第2入力閾値未満であるか、または、該制御入力の変化率が予め定められた第2変化閾値未満であれば、前記補償器へ入力される教師信号の入力ゲインを1.0より大きな値に設定するゲイン調整部をさらに備えることを特徴とする請求項1に記載の飛行制御システム。
前記制御誤差が予め定められた編成閾値以上であり、かつ、前記制御入力が予め定められた第1入力閾値以上であるか、または、該制御入力の変化率が予め定められた第1変化閾値以上であれば、前記規範応答モデルの規範指令による応答性を規定するパラメータを調整するパラメータ再編成部をさらに備えることを特徴とする請求項1から3のいずれか1項に記載の飛行制御システム。
前記パラメータ再編成部は、前記制御誤差が予め定められた編成閾値以上であり、かつ、前記制御入力が予め定められた第1入力閾値以上であるか、または、該制御入力の変化率が予め定められた第1変化閾値以上であれば、前記プラント逆モデルのパラメータを再編成することを特徴とする請求項4に記載の飛行制御システム。
前記制御誤差が予め定められた編成閾値以上であり、かつ、前記制御入力が予め定められた第1入力閾値以上であるか、または、該制御入力の変化率が予め定められた第1変化閾値以上であれば、前記プラント逆モデルのパラメータを再編成するパラメータ再編成部をさらに備えることを特徴とする請求項1から3のいずれか1項に記載の飛行制御システム。
【発明を実施するための形態】
【0016】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書及び図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0017】
(飛行制御システム100)
図1は、飛行制御システム100を説明するための説明図である。飛行制御システム(耐故障飛行制御システム)100は、操縦装置110と、飛行制御装置112と、アクチュエータ114と、プラント116と、センサ118とを含んで構成され、航空機1の飛行に関する制御を実現する。ここで、航空機1は、翼が機体に固定されている固定翼と、推進力を得る内燃機関(例えば、ジェットエンジンやレシプロエンジン)とで構成され、推進力により翼周りに揚力を生じさせることで、機体が大気中に浮上した状態を維持することができる。ただし、揚力を生じさせる機構はかかる場合に限らず、回転可能に設けられた回転翼(ローター)により揚力を得たり、推進力を得ることも可能である。
【0018】
操縦装置110は、航空機1を操縦するパイロットの操作入力を受けてアクチュエータ114を動作させる。例えば、操縦装置110のうちの操縦桿が前後に傾倒されると、その実操作量に応じ、操縦装置110とケーブルで直結された蛇面が変位して機体の姿勢が変化する。
【0019】
飛行制御装置112は、中央処理装置(CPU)、プログラム等が格納されたROM、ワークエリアとしてのRAM等を含む半導体集積回路で構成され、航空機1全体を管理および制御する。また、飛行制御装置112は、後述するように、プラント逆モデル130、規範応答モデル132、補償器150、更新制限部160、ゲイン調整部162、パラメータ再編成部164として機能する。
【0020】
アクチュエータ114は、航空機1の補助翼や昇降舵を変位させる動力源であり、バンク角(ロール角)、機首角(ピッチ角)、内燃機関の出力等を調整することで、飛行方位(ヨー角)、高度、飛行速度を変化させる。アクチュエータ114には、スラストベクタリング等、空力制御舵面も含まれる。
【0021】
プラント116は、上記アクチュエータ114と共に制御対象であり、航空機1の飛行位置(経度、緯度、高度を含む)、機体速度、機体姿勢等を含む。パイロットは、当該プラント116が所望する状態になるように操縦装置110を操作する。
【0022】
センサ118は、航空機1の様々な位置に複数設けられ、飛行位置(経度、緯度、高度を含む)、機体速度、機体姿勢、機体が受ける風力、風向き、天候、機体周囲の気圧、温度、湿度等の現在の飛行状態を検出する。本実施形態では、特に、プラント116の状態値を検出する。
【0023】
上記飛行制御システム100においては、定常時の飛行のみならず、突発的な飛行状況の変化、例えば、バードストライク等の外的な要因による航空機1の損傷や、外部環境の変化、パイロットの操作エラーに対しても高いロバスト性を有する。飛行制御システム100では、このような突発的な飛行状況の変化を検出すると、変化後の機体特性を学習し、機体の操縦性を変化前の状態に回復することを目的とする。以下、
図2から
図4を用い、飛行制御システム100としてのダイナミックインバージョン法やニューラルネットワークを段階的に説明する。
【0024】
(ダイナミックインバージョン法)
図2は、飛行制御システム100の特にダイナミックインバージョン法に基づく制御系を説明するための制御ブロック図である。ダイナミックインバージョン法とは、制御対象であるプラント116に関する情報(モデル)を元に、その逆モデルを導出し、入力から出力に対する望ましい応答を実現する制御器を構成する方法である。
【0025】
図2(a)に示す飛行制御システム100においてプラント116は、航空機1の運動を示し、アクチュエータ114と合わせて本実施形態の制御対象となる。また、アクチュエータ114とプラント116とにより下記数式1に示す運動方程式を形成する。ただし、数式1を含む以降で取り扱う全ての数式の各構成要素に関し、ベクトルおよび行列である旨の表記を省略する。
【数1】
…(数式1)
ここでxは運動方程式の状態量を示し、yはxを用いて記述される制御対象量を示し、uは運動方程式への制御入力を示す。
図2(a)の飛行制御システム100におけるセンサ118a、118bは、それぞれ上記運動方程式の状態量xおよび制御対象量yを検出し、検出状態量x
measおよび検出制御対象量y
measを導出する。
【0026】
また、
図2(a)の飛行制御システム100における飛行制御装置112には、プラント逆モデル130および規範応答モデル132が含まれる。プラント逆モデル130は、ダイナミックインバージョン法におけるプラント116の逆モデルである(ただし、本実施形態においてはアクチュエータ114も含む)。以下、プラント逆モデル130を説明する。上記数式1を変形すると、下記数式2を導出できる。
【数2】
…(数式2)
プラント逆モデル130の入力(規範応答モデル132の出力)をν
DIとし、プラント逆モデル130を数式3に示すように定めると、数式2は、数式4のように変形することができる。
【数3】
…(数式3)
ここで、A
des、B
des、C
desは数式1に示した運動方程式の各係数行列A、B、Cを、機体慣性諸元および空力特性モデルを用いて定義(モデル化)したものである。
【数4】
…(数式4)
【0027】
規範応答モデル132は、制御されている系(飛行制御システム100)全体に設計者が求める望ましい特性を実行させるための制御手段である。規範応答モデル132を、操作入力y
dおよび検出制御対象量y
measを用い、仮に、数式5のように設定し、数式4に代入すると、数式6が得られる。
【数5】
…(数式5)
ここで、Kはフィードバック制御ゲイン(正の定数)であり、後述するニューラルネットワークに基づく補償器150の学習値となるエラーダイナミクス(評価関数)を記述するためのパラメータとなる。
【数6】
…(数式6)
【0028】
ここで、制御誤差eを数式7のように定義し、y=y
measとすると、数式6が変形して、制御誤差eのエラーダイナミクスは、数式8となる。
【数7】
…(数式7)
【数8】
…(数式8)
【0029】
したがって、
図2(a)に示した飛行制御システム100の制御系は、常に安定し、飛行状態の変化に応じて制御誤差eが生じたとしても最終的には0(ゼロ)に収束することとなる。また、規範応答モデル132におけるフィードバック制御ゲインとしてのKを1/τとすると、飛行制御システム100の操作入力y
dから制御対象量yまでの伝達関数は、数式9で示す1次遅れの伝達関数で表すことができる。
【数9】
…(数式9)
【0030】
このように、ダイナミックインバージョン法を用いることで、数式1で定義される航空機1が有する本来の固有の特性を消失させ(癖をなくし)、上述したように設計者が求める望ましい特性を実現することができる。これは、理論上、フィードバックのないオープンループの制御系とみなせることを示す。オープンループの制御系とすることで、制御系の各段での状態値も容易に推定することが可能となる。
【0031】
上述した数式1〜8を用いてプラント逆モデル130と規範応答モデル132とを具体的に示すと、
図2(b)のようになる。ここで、プラント逆モデル130と規範応答モデル132とがダイナミックインバージョン法に基づく制御手段に相当する。
【0032】
ただし、上記ダイナミックインバージョン法は、制御対象であるプラント116の運動方程式の逆解法であるため、運動方程式を構成する空力特性、アクチュエータ114の動作や観測される状態量等に対する設計値が、実測値と隔たる場合、制御性能が低下するおそれがある。そこで、ダイナミックインバージョン法にニューラルネットワークを併用することで、ダイナミックインバージョン法において生じ得る設計値と実測値の誤差を学習させる。
【0033】
(ニューラルネットワーク)
図3は、飛行制御システム100の特にダイナミックインバージョン法にニューラルネットワークを併用した場合の制御系を説明するための制御ブロック図である。
図3(a)に示すように、本実施形態では、ニューラルネットワークを構成する補償器150がフィードバック制御ゲイン140と併設され、制御誤差eを入力として、プラント116の入力ν
NNを生成する。
【0034】
本実施形態における補償器150は、
図3(b)に示すように、入力層(Input Layer)、中間層(Hidden Layer)、出力層(Output Layer)からなる3層モデルを用いており、上記のダイナミックインバージョン法において生じ得る設計値と実測値の誤差を学習させることができる。このとき、プラント116の入力ν
NNは、制御誤差e(e
1…e
nI)に対して数式10で示すことができる。
【数10】
…(数式10)
ここで、nIは入力層次元であり、nHは中間層次元であり、w
j0およびw
k0はバイアス項であり、σは中間層における非線形関数であり、本実施形態では、数式11に示すシグモイド関数による写像伝達を用いる。
【数11】
…(数式11)
ここで、βはゲイン、αおよびλは任意の定数である。
【0035】
そして、補償器150は、フィードバック制御ゲイン140から得られる信号を教師信号tとして、数式10中のwおよびσで示される重み行列を更新する。
【0036】
当該飛行制御システム100では、まず、プラント116をモデル化可能な範囲で、ダイナミックインバージョン法によって飛行制御システム100の制御系の性能を保証する。そして、航空機1の故障等により機体性能が変化した場合、想定したシステムモデルの設計値と実測値との誤差により定常的に制御誤差eが生じてしまうが、補償器150がオンライン学習によって補償出力(プラント116の入力ν
NN)を付加するので制御誤差eが吸収される。こうして、故障発生時のように非線形なモデル誤差が存在するような状況においても、飛行制御システム100の制御性能を維持することができる。
【0037】
(ニューラルネットワークの改良)
しかし、ニューラルネットワークは、その学習過程によっては不適切な補正を行ってしまい、制御系が不安定になるおそれがある。そこで、ニューラルネットワークの適用態様を工夫し、補償器150が飛行制御システム100に与える影響を制限して制御系のロバスト性を高め、より安全性の高い飛行を実現する。
【0038】
図4は、飛行制御システム100の最終的な制御系を説明するための制御ブロック図である。ここでは、特に、更新制限部160、ゲイン調整部162、パラメータ再編成部164を説明する。本実施形態では、航空機1の故障等により機体性能が突発的に変化した場合において、ニューラルネットワークの内部構造や様式を改良するのではなく、飛行制御システム100全体に対するニューラルネットワークの影響を考慮して適切に対処している。
【0039】
更新制限部160は、制御誤差eに応じて、数式10においてwおよびσで示した補償器150の重み行列を更新するか否か決定する。すなわち、更新制限部160は、制御誤差eが予め定められた更新閾値未満であれば、補償器150の重み行列を更新せず、更新閾値以上であれば、補償器150の重み行列を更新する。
【0040】
こうすることで、制御誤差eが更新閾値より小さいといった、ニューラルネットワークによる補正が十分に安定し、重み行列の更新が不要な状況においてまで、重み行列を率先して更新することを避けることができる。したがって、補償器150による過剰な学習を防止し、補償器150において局所解や振動等の望ましくない応答が生じるのを回避することが可能となる。
【0041】
ゲイン調整部162は、アクチュエータ114への制御入力uおよび制御入力uの変化率に応じ、それぞれに対応して設けられた第1入力閾値および第1変化閾値および、第1入力閾値より小さい第2入力閾値、第1変化閾値より小さい第2変化閾値と比較し、その結果に応じて、教師信号tに乗じる補償器150への入力ゲイン166を以下のように調整する。
【0042】
すなわち、通常、入力ゲイン166は1.0であるところ、制御入力uが第1入力閾値以上であるか、または、制御入力uの変化率が第1変化閾値以上であれば、ゲイン調整部162は、入力ゲイン166を1.0未満の値に設定し、教師信号tの補償器150への影響を抑制する。
【0043】
そもそも補償器150は、航空機1の故障等により機体性能が変化した場合にダイナミックインバージョン法において生じ得る設計値と実測値の誤差を学習させるためにある。したがって、定常的な機体性能と異なる有害な制御入力に対して、俊敏に反応すべきではない。ここで、有害な制御入力とは、周期的または発散傾向の高い振動を伴う制御入力uや、ハードウェアの能力の限界を超過した制御入力uをいう。ここでは、制御入力uやその変化率が高い間、教師信号tに乗じる入力ゲイン166を下げ、補償器150への影響を避けることで、補償器150による過剰な学習を防止する。こうすることで、例えば、補償器150が局所解のような状態に陥ったとしても、制御誤差eを極端に変化させて、その状態から抜け出すことができる。
【0044】
ここで、第1入力閾値や第1変化閾値は、ハードウェアの能力の限界に対して75%等、ハードウェアに応じて任意に設定することができる。また、ゲイン調整部162が入力ゲイン166に設定する値は、1.0未満の任意の値にできる。例えば、予め定められた固定値(例えば、√(0.03)〜0.03の間のいずれか)でもよいし、制御入力uと第1入力閾値との差分、または、制御入力uの変化率と第1変化閾値との差分に応じて単調増加または単調減少する値でもよい。
【0045】
また、制御入力uが第2入力閾値未満であるか、または、制御入力uの変化率が第2変化閾値未満であれば、ゲイン調整部162は、入力ゲイン166を1.0より大きな値に設定し、教師信号tを補償器150に俊敏に反映させ応答を早める。
【0046】
上述したように、補償器150は、航空機1の故障等により機体性能が変化した場合にダイナミックインバージョン法において生じ得る設計値と実測値の誤差を学習させるためにある。したがって、制御入力uが小さい場合は、制御誤差eが定常的な機体性能に基づいて生じている可能性が高くなる。ここでは、制御入力uが小さいとみなされる間、教師信号tに乗じる入力ゲイン166を上げ、補償器150への教師信号tの反映を進め、補償器150による学習率を高める。
【0047】
ここで、第2入力閾値や第2変化閾値は、ハードウェアの能力の限界に対して5%等、ハードウェアに応じて任意に設定することができる。また、ゲイン調整部162が入力ゲイン166に設定する値は、1.0より大きい任意の値にできる。例えば、予め定められた固定値(例えば、√3〜3の間のいずれか)でもよいし、制御入力uと第2入力閾値との差分、または、制御入力uの変化率と第2変化閾値との差分に応じて単調増加または単調減少する値でもよい。
【0048】
パラメータ再編成部164は、アクチュエータ114への制御入力uおよび制御入力uの変化率のいずれか一方または双方、ならびに、制御誤差eに応じて、飛行制御システム100の各パラメータを調整する。
【0049】
具体的に、パラメータ再編成部164は、制御誤差eが予め定められた編成閾値以上であり、かつ、制御入力uが第1入力閾値以上であるか、または、制御入力uの変化率が第1変化閾値以上であれば、すなわち、ゲイン調整部162が、入力ゲイン166を1.0未満の値に設定しているか否か判定する。その結果、制御誤差eが編成閾値以上であり、かつ、制御入力uが第1入力閾値以上であるか、または、制御入力uの変化率が第1変化閾値以上であれば、まず、補償器150の重み行列の各要素の値を考慮し、規範応答モデル132の規範指令による応答性を規定するパラメータを、応答性を緩和する側に調整する。
【0050】
制御誤差eが編成閾値以上であるにも拘わらず、制御入力uが第1入力閾値以上、または、制御入力uの変化率が第1変化閾値以上となるということは、その時点のニューラルネットワークの誤差補正量が航空機1の操作能力に対して飽和している、すなわち、舵効きが足りない状態を示す。これは、例えば、補償器150の学習率調整判定結果が増強と緩和とを交互に行っている(学習調整しろがない)場合や、制御指令に追従できていない(定常偏差過大)場合に生じうる。したがって、パラメータ再編成部164は、規範応答モデル132の規範指令による応答性を規定するパラメータを高める方から緩和する方に反転して、ニューラルネットワークの誤差補正量の改善を試みる。
【0051】
このような処理としては、例えば、舵角100deg/sという要求があっても、そもそもハードウェアの能力が50deg/sしかない場合、要求自体を舵角50deg/s以下に落とす等の処理が考えられる。
【0052】
上記のように、規範応答モデル132の規範指令による応答性を規定するパラメータの応答性を緩和しても、ニューラルネットワークの誤差補正量が改善されない場合、次の手段として、以下の様に動作する。すなわち、パラメータ再編成部164は、プラント逆モデル130に対し、アクチュエータ114の制御入力uを生成するためのパラメータ、例えば、数式1のA、B、Cをニューラルネットワークの機能(例えば、ニューラルネットワーク内部の各層の重み行列の中身を評価することで、齟齬(制御誤差)の原因となっている個所を特定する等)により再編成(再構成)する。
【0053】
このような処理としては、例えば、ロールに関してエルロンで機体を傾けるという制御則を、ラダーにより誘起される対気的な横滑りに対する上半角効果で機体を傾けるという制御則に変えるといったように、制御のアプローチ自体を変更する処理が考えられる。
【0054】
こうして、ニューラルネットワークの誤差補正量を改善して、航空機1の操作能力に対して飽和している状態から離脱することができる。
【0055】
(飛行制御方法)
図5は、飛行制御方法の処理の流れを示したフローチャートである。ここでは、本実施形態で特徴的な、更新制限部160、ゲイン調整部162、パラメータ再編成部164の処理のみを説明し、ダイナミックインバージョン法にニューラルネットワークを併用した場合の制御系に関しては、理解が容易であるため説明を省略する。
【0056】
まず、飛行制御システム100の更新制限部160は、制御誤差eを読み出し、制御誤差eが更新閾値未満であるか否か判定する(S200)。そして、制御誤差eが更新閾値未満であれば(S200におけるYES)、補償器150の重み行列の更新を停止し(S202)、制御誤差eが更新閾値以上であれば(S200におけるNO)、補償器150の重み行列を更新する(S204)。
【0057】
続いて、ゲイン調整部162は、アクチュエータ114への制御入力uが第1入力閾値以上であるか、または、制御入力uの変化率u’が第1変化閾値以上であるか判定する(S206)。そして、いずれかの条件を満たしていれば(S206におけるYES)、ゲイン調整部162は、入力ゲイン166を1.0未満の値に設定し、教師信号tの補償器150への影響を抑制する(S208)。
【0058】
制御入力uが第1入力閾値未満であり、かつ、制御入力uの変化率u’が第1変化閾値未満であれば(S206におけるNO)、ゲイン調整部162は、制御入力uが第2入力閾値未満であるか、または、制御入力uの変化率u’が第2変化閾値未満であるか判定する(S210)。そして、いずれかの条件を満たしていれば(S210におけるYES)、ゲイン調整部162は、入力ゲイン166を1.0より大きな値に設定し、教師信号tを補償器150に俊敏に反映させ応答を早める(S212)。また、いずれの条件も満たしていなければ(S210におけるNO)、入力ゲイン166を1.0に設定する(S214)。
【0059】
次に、パラメータ再編成部164は、制御誤差eが編成閾値以上であり、かつ、制御入力uが第1入力閾値以上であるか、または、制御入力uの変化率u’が第1変化閾値以上であるか否か判定する(S216)。そして、かかる条件を満たしていれば(S216におけるYES)、パラメータ再編成部164は、補償器150の重み行列の各要素の値を考慮し、規範応答モデル132の規範指令による応答性を規定するパラメータを、応答性を緩和する側に調整する(S218)。また、上記条件を満たしていなければ(S216におけるNO)、当該飛行制御方法を終了する。
【0060】
続いて、パラメータ再編成部164は、上記規範応答モデル132のパラメータの調整の効果が生じたか否かを判定する(S220)。そして、パラメータの調整の効果が十分ではないと判定すると(S220におけるNO)、パラメータ再編成部164は、プラント逆モデル130に対し、アクチュエータ114の制御入力uを生成するためのパラメータをニューラルネットワークの機能により再編成し(S222)、当該飛行制御方法を終了する。また、パラメータの調整の効果が十分にでていると判定すると(S220におけるYES)、当該飛行制御方法を終了する。
【0061】
以上、説明したように本実施形態の飛行制御システム100および飛行制御方法によれば、ニューラルネットワークの適用態様を工夫して制御系のロバスト性を高め、より安定的な飛行制御を実現できる。また、本実施形態では、機体の構造的な損傷が生じたか否かをハードウェアによって直接検知しなくとも、ソフトウェアによって実現することができるので、損傷検知のための高価なハードウェアを別途準備しなくて済む。
【0062】
また、コンピュータを、飛行制御システム100として機能させるためのプログラムや当該プログラムを記録した、コンピュータで読み取り可能なフレキシブルディスク、光磁気ディスク、ROM、EPROM、EEPROM、CD、DVD、BD等の記憶媒体も提供される。ここで、プログラムは、任意の言語や記述方法にて記述されたデータ処理手段をいう。
【0063】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0064】
また、上述した飛行制御方法は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。