(57)【要約】【課題】  物理的制限を監視するダイナミックインバージョンを用いて多変数制御を行う。【解決手段】  多変数システムの方法は、システムの現在の状態を示す複数のセンサ信号を受信し、且つ複数のコマンドを受信するステップを具備する。システムの所望のダイナミック応答は、それからコマンドおよびセンサ信号に基づき決定される。多数のアクチュエータおよび物理的制約に違反することなく所望のダイナミック応答を達成するためのシステムを制御する問題は、それから２次計画問題として定式化される。２次計画問題を解くことによりエフェクタコマンドが決定され、そして物理的制約が実施される。【選択図】  図１
2004185620.tif 000002
【特許請求の範囲】
【請求項１】
多変数システムの制御方法であって、
ａ）定期的にサンプリングされるシステムの現在の状態を示す複数のセンサ信号を受信するステップと、
ｂ）複数のコマンドを受信するステップと、
ｃ）前記コマンドおよび前記センサ信号に基づき、１又は２以上の次の制御サンプルに対して出力における所望の変化を決定するステップと、
ｄ）次の、または更に先の、制御サンプルにより出力における変化を達成するためのアクチュエータコマンドを決定することの問題を、システムの物理的制限または制約を含む２次計画問題として定式化するステップと、
を具備する方法。
【請求項２】
前記ステップｃ）は、
1)前記次の制御サンプルにおいて表面上のシステム出力がどの程度変化すべきかを決定するステップと、
2)物理的制限および制約を特定するステップと、
3)変化を達成するためのアクチュエータコマンドを決定するステップと、
を具備することを特徴とする請求項１に記載された方法。
【請求項３】
次の制御サンプルにおいて表面上のシステム出力がどの程度変化すべきかを決定する部分、物理的制限および制約を決定する部分、およびこの変化を達成するためのアクチュエータコマンドを決定する部分に、前記問題を定式化するステップを更に具備することを特徴とする請求項１に記載された方法。
【請求項４】
次のサンプルにとって必要とされる変化が、次の出力値、出力の変化のレート、出力の加速度、または最終的に一般化されたシステム上の力またはモーメントの点において特定されることを特徴とする請求項３に記載された方法。
【請求項５】
所望のコマンド応答軌道を達成するために、次の制御サンプルにおいて必要とされるシステム出力における変化を決定する部分は、フィードバック制御、フィードフォワード制御、所望の応答または神経回路網のモデルの明確な使用を用いることにより達成されることを特徴とする請求項３に記載された方法。
【請求項６】
前記物理的制約は、直接的に含まれることを特徴とする請求項１に記載された方法。
【請求項７】
前記物理的制約は、許容される前記制限への最速のアプローチの点において直接的に含まれることを特徴とする請求項１に記載された方法。
【請求項８】
ｅ）２次計画問題を解いて、出力に所望の変化を生じさせるエフェクタコマンドを決定するステップを更に具備することを特徴とする請求項１に記載された方法。
【請求項９】
所望のダイナミック応答は、複数の出力を有することを特徴とする請求項８に記載された方法。
【請求項１０】
前記多変数システムは、前記エフェクタコマンドのそれぞれが前記出力のそれぞれに影響を及ぼすように、交差結合されていることを特徴とする請求項９に記載された方法。
【請求項１１】
エフェクタ制限を実施するステップを更に具備することを特徴とする請求項１０に記載された方法。
【請求項１２】
全てのコマンドが実行され得ないとき、コマンドおよび物理的制限の優先順位を実施するステップを更に具備することを特徴とする請求項１１に記載された方法。
【請求項１３】
優先順位を実施するステップは、もし全ての出力が達成され得なければ、低い優先順位の出力に関連したフィードバック制御集積器をオフにするステップを更に具備することを特徴とする請求項１２に記載された方法。
【請求項１４】
前記優先順位を実施するステップは、より高い優先出力の所望の変化に、より高い性能インデックス重みを設定するステップを更に具備することを特徴とする請求項１３に記載された方法。
【請求項１５】
複数の前記コマンドおよび物理的制限のそれぞれに対する重み付けを変えるステップを更に具備することを特徴とする請求項１４に記載された方法。
【請求項１６】
多変数制御システムであって、
システムの現在の状態を示す複数のセンサと、
エフェクタコマンドに応答してシステムの力学を変化させるための複数のエフェクタと、
次のサンプル期間においてシステム出力がどの程度変化すべきかを決定するダイナミックフィードフォワードモジュールと、
必要に応じて出力チェンジコマンドを調整するために所望のシステム応答と実際のシステム応答とを比較するダイナミックモデルフォロアと、
システムの物理的制限を含む２次計画問題を定式化することにより、ダイナミックフィードフォワードおよびダイナミックモデルフォロアモジュールによる決定に基づきシステム出力を変えるために前記エフェクタコマンドを決定するダイナミックインバージョンモジュールと、
を具備する多変数制御システム。
【請求項１７】
前記ダイナミックインバージョンモジュールは、
独立変数に応じたエフェクタコマンドを用いてシステムの物理的制限を線形不等式に変換する制約形成モジュールを具備することを特徴とする請求項１６に記載された多変数制御システム。
【請求項１８】
前記線形不等式は、制限が接近され得る最速のダイナミック軌道を表現することを特徴とする請求項１７に記載された多変数制御システム。
【請求項１９】
前記ダイナミックインバージョンモジュールは、前記エフェクタコマンドを前記２次計画問題の解として前記エフェクタコマンドを定式化する性能インデックス形成モジュールを更に具備することを特徴とする請求項１６に記載された多変数制御システム。
【請求項２０】
前記ダイナミックインバージョンブロックは、２次最適化問題および線形等式を解くための２次計画ブロックを更に具備することを特徴とする請求項１９に記載された多変数制御システム。
【請求項２１】
コンピュータプログラムを格納するコンピュータ読み取り可能な記録媒体であって、前記コンピュータプログラムは、コンピュータによって実行されたときに、
ａ）定期的にサンプリングされるシステムの現在の状態を示す複数のセンサ信号を受信するステップと、
ｂ）複数のコマンドを受信するステップと、
ｃ）前記コマンドおよびセンサ信号に基づき次の制御サンプルに対して前記システムの出力における所望の変化を決定するステップと、
ｄ）システムの物理的制限または制約を含む２次計画問題に応じて次の制御サンプルにより出力における変化を達成するためにアクチュエータコマンドを決定することの問題を定式化するステップとを実行する記録媒体。
【請求項２２】
コンピュータによって実行されたときに、
エフェクトコマンドを決定するために２次計画問題を解くステップを更に実行することを特徴とする請求項２１に記載されたコンピュータ読み取り可能な記録媒体。
【請求項２３】
前記所望のダイナミック応答は、複数の出力を含むことを特徴とする請求項２２に記載されたコンピュータ読み取り可能な記録媒体。
【請求項２４】
前記多変数システムは、前記エフェクタコマンドのそれぞれが前記出力のそれぞれに影響を与えるように交差結合されたことを特徴とする請求項２３に記載されたコンピュータ読み取り可能な記録媒体。
【請求項２５】
エフェクタ制限を実施するステップを実行するステップを更に具備することを特徴とする請求項２４に記載されたコンピュータ読み取り可能な記録媒体。
【請求項２６】
前記コマンドおよび物理的制限に優先順位を付けるステップを実行するステップを更に具備することを特徴とする請求項２５に記載されたコンピュータ読み取り可能な記録媒体。
【請求項２７】
複数の前記コマンドおよび物理的制限のそれぞれに関する重み付けを変えるステップを実行するステップを更に具備することを特徴とする請求項２６に記載されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、システムを制御することに関し、更に詳しくは、ダイナミックインバージョン制御システム(dynamic inversion system)に関する。
本発明は、Ｕ．Ｓ．政府契約Ｎ００４２１−０１−２−０１３１の下での任務の遂行の過程で発案されたものである。
【背景技術】
【０００２】
ダイナミックインバージョン(dynamic inversion)は、リアルタイムのオンボード制御システムコンピュータ用の制御ソフトウェアの設計および実施のための手法である。あるバージョンが、戦闘機用の飛行制御ソフトウェアのために航空宇宙産業カンパニーによって開発された。空中での航空機の飛翔経路（軌道）を制御することは、航空機のピッチ、ヨー、ロール、および速度を変えることができるエフェクタ（エレベータなど）または手段を必要とする。ダイナミックインバージョンの最新バージョンの主たる関心の的は、必要とされる種々の力とモーメントを発生させるための手段の余剰(surplus)を管理するための制御ロジックであった。余剰(surplus)なる用語は、制御可能な量で航空機にピッチまたはヨー等を生じさせる推力誘導(thrust vectoring)、エレベータおよびカナードのような、多くのエフェクタの組み合わせの意味を含む。ダイナミックインバージョンは、１）個々のエフェクタの制限を越えて全体の力およびモーメントの範囲を増大すること、２）あるエフェクタが制限に達したときに他のエフェクタにスムーズに切り替えること、３）力およびモーメントが変わる潜在率(potential arte)を最大化すること、４）１又は２以上のエフェクタにおける非検出故障の影響を最小化すること、５）いくつかのエフェクタの故障および破壊に耐えること、６）飛行モードによって変わるフリーなエレベータの数に応じて制御法を変えることにより、この余剰を利用するために開発された。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
制御されるプラント(plant)および機構(structure)（例えば航空機およびその構成要素）は、注視すべき物理的制限を有している。例えば、航空機のエレベータは、航空機の機構にダメージを与えるパワー（その翼をもぎ取るような）を有する。プラントのこれらの物理的制限は、既知のダイナミックインバージョン手法自体において表現されていない。従って、既知のダイナミックインバージョン手法は、そのプラントの物理的制限に違反する出力を生じるかもしれない。結果として、これらの物理的制限は、プラントに与えるダメージを防ぐようにダイナミックインバージョン手法に対する入力を修正する臨時的なロジックを介して実施される。物理的制限の臨時的な処置は、プラントが多くの物理的制限に極めて近い状態で稼動しているところでは無理である。
【課題を解決するための手段】
【０００４】
本発明は、物理的制約を監視するダイナミックインバージョンを用いて多変数システムを制御するための改善されたシステムおよび方法を提供する。物理的制約がダイナミックインバージョン処理に持ち込まれるため、本発明は、複数の物理的制約を取り扱い且つ実施するのに有効である。また本発明は、システムが、１又は２以上の物理的制限にあるときに、多変数システムにおける応答に優先順位をつけるための新規な方法および手段を提供する。
【０００５】
また本発明は、制御ロジック設計および実施を、ダイナミックフィードフォワード(Dynamic Feed-Forward; DFF)、ダイナミックモデルフォロア(Dynamic Model Follower; DMF)およびダイナミックインバージョン(Dynamic Inversion; DI)モジュールに分割する新規な制御ロジック（ソフトウェア）アーキテクチャを提供する。ＤＦＦモジュールは、システム出力が次の制御サンプル期間までにどの程度変化すべきかのコマンドの要素を生成する。その設計は、表面上のコマンド応答力学(nominal command response dynamics)を確立する。本明細書では、表面上(nominal)なる用語は、システム力学が、制御法則設計において使用されるシステムの数学的モデルと同一に振る舞う理想的状況を示すために使用される。従って、非表面上(non-nominal)の振る舞いは、不可避の、モデリングエラーによる。ＤＩモジュールは、望まれるようにシステム出力を最も良く変化させる。従ってＤＩは、それらをシンプルで分離したデジタル集積器(integrator)として現すことによりシステム力学を“反転(inverts)”させる。システム力学が、構成(configuration)および動作点(operating point)によって変わる場合であっても、ＤＩを用いた力学は、システムの動作エンベロープを通じて同一であると共に、システムの或るタイプから他のタイプにまで同一である。ＤＭＦモジュールは、モデリングエラーおよび外乱の影響を低減することの要求に応じて出力チェンジコマンド(output change command)を調整するために、所望のシステム応答と実際のシステム応答とを比較する。ＤＭＦは、どの程度まで迅速かつ十分にモデルエラーおよび外乱の影響を低減できるのかを定める。
【０００６】
この設計の分離は、性能(performance)およびソフトウェアの生産性(productivity)を改善する。創意に富んだ設計は、フィードバックループができる以上にシステムコマンド応答が速くなることを可能にする。フィードバックループ帯域幅は、モデルエラーにも拘らず安定かつ正常に動作することの要求によって制限される。しかしながら、ＤＦＦは、システムからのフィードバックを用いることなく表面上のコマンド応答を定め、そしてその安定性はモデルエラーに影響されない。ＤＩモジュールの振る舞いを簡単化することは、ダイナミックフィードフォワードアルゴリズムをシステムの広い範囲に対して実現可能にする。
【０００７】
また創意に富んだ設計は、システム設計における変更に応じるため又は変更要件に応じるための制御ソフトウェアをアップグレードまたは修正するために変更しなければならないロジックの領域を減少させる。もしシステム力学モデルが大きく変われば、ＤＩモジュールのみが修正を要する。もしモデルエラー（例えば時間遅延）が予想よりも多いか少なければ、ＤＭＦモジュールのみが変更を要する。所望のコマンド応答力学を変えるためには、ＤＦＦモジュールに対する修正のみを要する。
【０００８】
また創意に富んだ設計は、ソフトウェアの再使用を増進する。これは、非線形、多変数システムのッ広範なクラスに適合する正規の設計手法であり、明らかに制限(limits)および制約(constraints)の概念を含んでいるので、臨時的なロジックが極めて少なく、且つロジックの“モデル”が少数である。また、ソルバー(solver)のようなロジックの重要な部分は、多目的ソフトウェアであると共に、一つのアプリケーションから次に変化しない。
【０００９】
また本発明は、さらに一般的なシステムに対するアプリケーションを有する。先のダイナミックインバージョンアプリケーションは、エフェクタが、制御を必要とするシステム変数の時間微分、または高次の微分に直接的に影響を与えることを必要とする。これは、ある種のシステムからの出力には当てはまらない。本発明は、線形パラメータ変化する微分式でモデル化される任意のシステムに適用することができるダイナミックインバージョンを一般化する（状態空間モデルが存在する任意の動力学的なシステムに対するのと同様に）。
【００１０】
本発明の他の利点は、添付の図面と結びつけて考えれば、以下の詳細な説明を参照することにより同じ事柄が一層良く理解されるにつれて、容易に分かるであろう。ここで、図１は、本発明の多変数制御システムを例示する。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明による制御システム２０を図解する。制約されたダイナミックインバージョンアルゴリズム(constrained dynamic inversion algorithm)は、離散時間サンプルドデータコンピュータ２２上で実行されるように意図される。コンピュータ２２は、ＣＰＵ、メモリ２４および他の公知のハードウェアを具備すると共に、本明細書で述べられるように、アクチュエータコマンドｕｃを生成することを実施するようにプログラムされる。アクチュエータコマンドｕｃは、複数のアクチュエータ２６を制御し、そして複数のアクチュエータ２６は、電子的なコマンドｕｃを取得し、それらを、複数のエフェクタ２８を調整する物理的な力に変え、複数のアクチュエータ２６のそれぞれは、複数のエフェクタ２８の一つに関連づけられている。エフェクタ２８はｍ個のプラント３０の力学(dynamics)を変える。複数のセンサ３２は、コンピュータ２２にフィードバックｙを供給する。コンピュータ２２は、センサ３２からの情報に基づくと共にシステム出力コマンド３４に基づき、アクチュエータコマンドｕｃの次のセットを決定し、このシステムコマンド３４は人間のオペレータまたは一層ハイレベルの制御システムから供給されてもよい。
【００１２】
コンピュータ２２は、アクチュエータコマンドｕｃを作成するために、サンプルコマンドｙｃおよびセンサフィードバックｙを定期的にサンプリングする。ｙ（ｎ）およびｙｃ（ｎ）は、ｎ番目のサンプリングでのｙおよびｙｃの値を指し、ｎ番目のサンプリングは時刻ｎで発生する。アクチュエータ２６は、ｕｃ（ｎ）を、時刻ｎから時刻ｎ＋１に保持される一定コマンドとして解釈する。ｙ、ｙｃ、ｕは、すべて、複数の自由度を表すベクトルであってもよい。本明細書で用いられるように、現在の時刻はｎであり、且つ次の制御サンプルの時刻は時刻ｎ＋１である。制御アルゴリズムは、制御ソフトウェアを介して実施される。それは、信号ｙｄによって特定される所望の力学を用いてシステム出力ｙを、表面上、コマンド値ｙｃに近づけるアクチュエータコマンドｕを決定する。コマンドは人間のオペレータまたは一層ハイレベルな制御システムから供給されてもよい。これは、制御システムに基づくデジタルコンピュータの良く知られた形式である。本発明の要旨は、メモリ２４に格納されてコンピュータ２２によって実行される新規な制御アルゴリズムである。
【００１３】
制御ロジック（ソフトウェア）アーキテクチャは、制御ロジック設計および実施を、ダイナミックフィードフォワード(Dynamic Feed-Forward; DFF)４０、ダイナミックモデルフォロア(Dynamic Model Follower; DMF)４２およびダイナミックインバージョン(Dynamic Inversion; DI)４４モジュールに分ける。ＤＦＦ４０モジュールは、次の制御サンプル期間ｖｆｆまでにシステム出力がどの程度変化すべきかのコマンドの要素を生成する。その設計は表面上のコマンド応答力学を確立する。またＤＦＦ４０は、所望の応答信号ｙｄを生成し、その信号ｙｄは、もし所望の動的軌道でｙがｙｃに近づいていれば、任意の与えられたコンピュータサンプル時間でシステム出力ｙが何であるべきかを特定する。ＤＩ４４モジュールは、次のサンプル期間の間に望まれるようにシステム出力を最も良く変えるエフェクタ２８コマンドを決定する。このようにＤＩ４４は、それらをシンプルで分離したデジタル集積器(integrator)として現すことによりシステム力学を“反転”させる。ＤＩは、力学を他の形式に変えるのに使用できるが、分離した集積器の選択は、ダイナミックフィードフォワード信号ｖｆｆを設計し且つ実施することをとりわけ容易にする。システム力学が構成または動作点によって変わっても、ＤＩ４４を用いた力学は、システムの動作エンベロープを通じて同一であると共に、システムの或るタイプから他のタイプにまで同一である。ＤＭＦ４２モジュールは、モデリングエラーおよび外乱の影響を低減することの要求に応じて出力チェンジコマンドを調整するために、所望のシステム応答と実際のシステム応答とを比較する。ＤＭＦ４２は、どの程度まで迅速かつ十分にモデルエラーおよび外乱の影響が低減されるのかを定める。
【００１４】
ＤＩ４４モジュールは、図１に示されるように更に４つのモジュールに再分割することができ、次のように全部で６つのモジュールになる。
状態変数モデル(state variable model)４８は、アクチュエータコマンドｕｃ（ｎ）の機能に従って、１制御サンプル先（別名、次のステップ）のシステム変数ｙ（ｎ＋１）の値を予測するための線形化されたモデルを生成する。この予測はまた、制約されたダイナミックインバージョン（例えば機能不全のアクチュエータ）の制御の下では、非積極的に任意のエフェクタについてのコマンド信号および現在の出力ｙ（ｎ）のフィードバック量を使用する。
【００１５】
性能インデックスブロック(performance index block)５０は、線形の制約を有する２次最適化問題としてアクチュエータコマンドの決定を定式化するためにこのモデルを使用する。このブロックへの一つの入力はコマンドｖ（ｎ）であり、それはシステム出力ｙが時刻ｎ＋１までに変わるべき量である。性能インデックスは、モデルによって予測されるように、これがどの程度良好に達成されるであろうかの２次（別名、二乗誤差の重み付けされた和）量を含む。
【００１６】
強固な制約ブロック(constraint block)５２は、システム応答の種々の変数およびエフェクタに関する制限および制約を、独立変数としてｕｃ（ｎ）を有する線形不等式の形式に変換する。これらの制約は、モデルエラーに対して強固にするために新規な方法で定式化される。
【００１７】
２次計画ブロック(quadratic programming block)５４は、性能インデックスおよび制約式によって引き起こされる最適化問題の特殊なタイプを解く。もし、エフェクタの正当な量が存在し且つシステムが何ら制限または制約された状態になければ、ＱＰソルバー(solver)は、ｙ（ｎ＋１）＝ｙ（ｎ）＋ｖ（ｎ）を成立させるために必要とされるユニークなアクチュエータコマンド決定するための演算処理を単に実行する。他の場合は、より複雑である。
【００１８】
ダイナミックフィードフォワード（ＤＦＦ）ブロック４０は、制御されるシステムが、所望の応答モデル(Desired Response Model)の形式でコマンドにどのようにダイナミックに応答すべきかの仕様を明確に具備する。このモデルは、システムが望むように振る舞えば、ｙ（ｎ）の値、ｙｄ（ｎ）を出力する。ＤＦＦ４０はまた、全時刻でシステム出力ｙ（ｎ）を所望のコマンド応答ｙｄ（ｎ）と表面上釣り合わせるｖ（ｎ）の要素ｖｆｆを生成する。これは、表面上のコマンド応答力学を確立する。
【００１９】
ＤＭＦ４２ブロックは、フィードバックコントローラであり、ｖコマンドのフィードバック要素ｖｆｂを決定するために所望の応答と実際の応答とを比較する。この要素は、オンボードモデルと実システムとの間の違いを補償する。それは、モデルエラーおよび外乱の影響がどの程度迅速かつ十分に低減されるかを定める。４つのダイナミックインバージョンブロックと組み合わされたシステムの力学は著しく単純化される。この組み合わせは、表面上、ｖコマンドへの分離した応答、比較的簡単な力学を有し、且つ動作エンベロープ上で不変である。ＤＭＦおよびＤＦＦブロックは、この単純性を活用する手法で、外部のコマンドに対し且つフィードバック信号に対する制御されるシステムのダイナミック応答を決定するために、ｖを設定する。
【００２０】
状態変数モデルブロック４８は、システムの局所的に線形化されたモデルに対し、係数行列（Ａ，Ｂ，Ｃ，Ｄ）および基点（ｘｂ，ｕｂ，ｙｂ）を生成する。全体的に線形化されたモデルは、モデルを変える線形パラメータの形式である。
本発明は、その力学が次式の非線形動的数式を用いてモデル化できるシステムに適用できる。
dx/dt=f(x,u,w)  及び  y=h(x,u,w)
【００２１】
ここで、ｘは、システムの状態ベクトルと呼ばれるもの(termed state vector)であり、ｕは、管理されたアクチュエータ出力(commanded actuator output)であり、そしてｗは管理されていない入力(uncommanded inputs)であり、外乱と呼ばれる。ベクトルｙは、コントローラが作用を及ぼす必要のあるシステム出力、そしてまた重要な制約または制限を有する出力を含む。
ダイナミックインバージョンで使用するため、これらの数式は、現在の時刻の１制御期間先の期間で解かれ、そしてｘｂおよびｕｂについて次のように線形化される。
【数１】
2004185620.tif 000003
【００２２】
ここで、ｘｂおよびｕｂは、或るパラメータによって変化してもよく、そしてｆ（ｘｂ，ｕｂ）＝０となるように選択されてもよい。ｗは、モデリングエラーであり、ＤＩ４４内では無視できるが、ＤＭＦ４２によって低減される。時刻ｎでのｙ式を時刻ｎ＋１でのそれから引くと、次の式を得る。
Δy(n)≡y(n+1)-y(n)＝CΔx(n)+DΔu(n)
ここで、Δx(n)≡x(n+1)-x(n)
且つ、Δu(n)≡u(n+1)-u(n)
【００２３】
反転はまた、このモデルが概ね正確であるときにのみ適用される。
行列Ｂおよびベクトルｕおよびｕｂは、制約されたダイナミックインバージョンによって管理されたアクチュエータおよび他のアクチュエータと関連する二つの部分に分割される。他のアクチュエータと関連する項は、このモデルに対する外部の入力による。分割は、動作中に変えることができる。このことは、他の制御ループを用いて調整された形式で動作すること、いくつかのアクチュエータが全動作状態において使用されない状況に応答すること、そして正常に機能しないアクチュエータに応答することを可能にする。行列ＣおよびＤおよびベクトルΔｘおよびｕｂは、状態変数モデルブロックの出力である。予測Δｘは、カルマンフィルタ(Kalman filter)や、次のような良く知られた手法を用いて生成することができる。もしｘが直接的に測定されれば、上述のΔｘの式も使用できる。ＣおよびＤは、ＣｙおよびＣｃおよびＤｙおよびＤｃにそれぞれ分割される。ＣｙおよびＤｙは、ＤＩが制御しなければならない出力に対応する。ＣｃおよびＤｃは、実施される制限を有する出力に対応する。Ｃｙ，Ｄｙ，Δｘおよびｕｂは、性能インデックス定式化ブロックに受け渡される。Ｃｃ，Ｄｃ，Δｘはおよびｕｂは、強固な制約定式化ブロックに受け渡される。
【００２４】
ＤＩ４４が１制御期間先の変化を予測するためにこのモデルを使用するので、そしてＤＭＦ４２が相殺のフィードバックループを含むので、モデル精度要求(model accuracy requirement)は比較的ゆるい。このことは、それがたとえ追加のモデリングエラーを持ち込むにしても、モデル近似の簡略化を使用できることを意味する。
【００２５】
＜強固な制約定式化＞
制約ブロック５２において、形式
z(k)<=Zmax
の制約は、全サンプル時間ｋについてＤＩ４４を介して実施される。ここで、ｚはシステムの出力である。ｎ番目のサンプル時間では、ＤＩ４４はｕｃ（ｎ）を決定し、それはｚ（ｎ＋１）に影響を与える。従ってｎ番目のサンプルに対する制約は、
z(n+1)=z(n)+Δz(n)<=Zmax
となる。状態変数モデルから
Δz(n)=Cc*Δx(n)+Dc*Δudi
である。ここで、ｕｄｉはアクチュエータ位置であり、できれば、オンボードアクチュエータ力学モデルにより予測される。Δｕｄｉは、次のコンピュータサンプル期間において、その予測される変化である。ここで、Δｕｄｉは、次のアクチュエータモデルを用いて予測される。
Δudi=Ba*(uc(n)-udi(n))
これを前式に代入すると、結果として次の式が得られる。
Δz(n)=Cc*Δx(n)+Dc*Ba*(uc(n)-udi(n))
これを不等制約式(inequality constraint equation)に代入すると、結果として次の式が得られる。
Dc*Ba*uc(n)<=Zmax-z(n)-Cc*Δx(n)+Dc*Ba*udi(n)
【００２６】
我々の経験的知識は、制約を表現するこの率直な形式が、しばしばモデリングエラーに対して十分には強固でないことを示している。例えば、応答ｚは、絶えず制限Ｚｍａｘで“跳ね返る(bounce)”かもしれない。従って、次のように修正される。
Dc*Ba*uc(n)<=K*(Zmax-z(n))-Cc*Δx(n)+Dc*Ba*udi(n)          （１）
ここで、０＜Ｋ＜＝１である。制約は、等号が成り立つ場合に有効(active)であると言える。制約が有効である場合、２次計画(Quadratic Programming; QP)は、次のことを確認するためにｕｃ（ｎ）の一つの自由度を充てる。
Δzmodel(n)=K(Zmax-z(n))
ここで、Δzmodelは、モデルによって予測されたｚにおける変化である。モデルエラーにより実際の応答は
Δz(n)=(1+f)K(Zmax-z(n))+bias
であると仮定する。ここで、ｆおよびｂｉａｓはモデルエラーを表す。これは、動的数式(dynamic equation)であり、そしてそれは良好な制御動作に対しては安定でなければならない。それは、
-1<f<(2-K)/K
に対して安定であろう。Ｋ＝１は直接的な形式である。Ｋ＜１は、安定性の余裕を増加させる。Ｋ＜１のとき、ｚは、短時間の一時的な期間、Ｚｍａｘよりも小さく制限される。また、ｂｉａｓの影響はＫが減少するにつれて増加する。制約状態にあるとき、ｚは一定の値
ｚSS=Zmax+bias/{(1+f)K}
に設定される。
このようにＫの選択は、安定堅牢性とオンボードモデルにおけるｂｉａｓに対する感度とのトレードオフである。
【００２７】
＜アクチュエータ制限(Actuator Limits)＞
アクチュエータ制限は、ｕ（ｎ＋１）≦Ｕｍａｘおよびｕ（ｎ＋１）≧Ｕｍｉｎなる形式をとる。上述の強固な方法に続いて、制約は次のように定式化される。
Δu(n)≦K(Umax-u(n))
もし、安定した状態ゲイン(steady state gain)が１である１次遅延としてアクチュエータ力学がモデル化されれば、次の制御期間のアクチュエータ位置における変化は、次のようになる。
Δu(n)=Ba(uc(n)-u(n))
ここで、Ｂａは、アクチュエータの時間定数を含む。このアクチュエータモデルを制約式(constraint equation)に代入すると、次の式が得られる。
Ba*uc(n)≦K1(Umax-u(n))+Ba*u(n)
アクチュエータモデルは、通常、相当に正確であるので、これは、アクチュエータ力学を一致させるための制約力学を選ぶことにより簡略化することができ、それは、Ｋ＝Ｂａで最終結果として次の式を得る。
【００２８】
【数２】
2004185620.tif 000004
【００２９】
コマンドを制限することにより、アクチュエータ位置は、アクチュエータ力学の時間定数と共に制限に漸近するであろう。
【００３０】
＜タイプ１出力制約(Type1 Output Constraints)＞
プラント応答(plant response)に関する制約は出力制約と呼ばれる。一般の制約式のｚはシステム出力ｙで置き換えられ、ここでは、
yc(n)=yb(n)+Cc(x(n)-xb(n))+Dc(u(n)-ub(n))
且つ
Δyc(n)=CcΔx(n)+DcΔu(n)=CcΔx(n)+Dc・Ba(uc(n)-u(n))
であり、ｘｂ，ｕｂ，ｙｂは“基本(basic)”値であり、その値について非線形力学が線形化される。各出力制約は、ＣｃおよびＤｃ行列の特定の行ベクトルに関連する。出力制約は、その関連するＤｃの行がいくつかの非ゼロの入力要素(nonzero entries)を含んでいれば、タイプ１制約と呼ばれる。Δｙｃについてのこの数式を一般の制約式（１）に代入すると、次式を得る。
【００３１】
【数３】
2004185620.tif 000005
【００３２】
＜タイプ２出力制約(Type2 Output Constraints)＞
もし、制約に関連するＤｃの行ベクトルのすべての入力要素がゼロであれば、数式（３）は、出力制約がｕｃの選択をどの程度制約するかについて何ら情報を提供しない。従って、数式（３）の形式の制約式はＱＰに使用することができない。解は、次のように出力の派生物（または小さな摂動(small perturbation)）をとる。
即ち、摂動した出力式：          Δyc(n)=CcΔx(n)
は、もう一度摂動されて：        Δ(Δyc(n))=Cc・AΔx(n)+Cc・B・Ba(uc(n)-u(n))
となり、ここで状態力学モデル：   Δx(n)=A(x(n)-xb(n))+B(u(n)-ub(n))
が使用され、それは：            Δ(Δx(n))=AΔx(n)+BΔu(n)
を示す。
【００３３】
特定の制約について、もし関連したＤｃの行の入力要素はゼロであるが、Ｃｃ＊Ｂのそれらが全てゼロでなければ、出力制約はタイプ２制約と呼ばれる（もしＣｃ＊Ｂの行の全ての入力要素がゼロであれば、より高次の摂動が必要とされる）。タイプ２制約において、数式（１）のｚはΔｙｃで置き換えられ、そして新たな項が付け加えられて次の式が得られる。
Δ(Δyc(n))≦K3(Ymax-yc(n))-K4Δyc(n)
【００３４】
これらの制約の一つが有効であるとき、これはｙｃにおいて動的数式になり、そしてその固有値はＫ３およびＫ４によって決定される。ΔΔｙについてのプラントモデルを上述の式に代入すると、タイプ２出力制約として次式を得る。
Cc・B・uc(n)≦K3(Ymax-y(n))-K4Δy(n)-Cc・A・Δx(n)+Cc・B・u(n)      （４）
このアプローチは、必要であれば、より高次のタイプに拡張できる。
数式（２）、（３）、（４）は、共に、ダイナミックインバージョンのための制約式である。それらは、
Jcon*uc(n)<=Kcon
なる形式に含めることができ、そしてＪｃｏｎおよびＫｃｏｎはＱＰブロックに受け渡される。
【００３５】
＜性能インデックス定式化(Performance Index Formulation)＞
性能インデックスブロックは信号ｖ（ｎ）を受信し、その要素はΔy(n)についてのゴール(goal)である。それはまた、予測式
Δy(n)=CyΔx(n)+Dy*Ba*(uc(n)-udi(n))
を形成する状態変数モデル項(state variable model terms)を受信する。
ＱＰソルバーはｕｃ（ｎ）を見つけ出して時刻ｎでの次のインデックスを最小化する。
【００３６】
【数４】
2004185620.tif 000006
【００３７】
行列ＱおよびＲにおける入力要素の設計はＱＰ解法の特性に基づいている。（ｖ−Δｙ）および（ｕｃ−ｕｂ）が、設計者が同等のサイズとみなすものを有する場合、行列Ｒは、インデックスの第２項が第１項よりも十分に小さくなるように選択される。信号ｖ−Δｙは、モデルを用いて多くの異なる方法で形成できることに留意されたい。もしＲが十分に小さければ、アクチュエータの自由度の数はコマンドｖの数に一致し、そして制限に達しなくなり、そしてこのインデックスは、Δｙ（ｎ）がおよそｖ（ｎ）に等しい場合に最小値を有する。この表面上の状況において、Ｒにおける相対値およびＱは、答えに影響を与えない。このことは、表面上の応答を変えることなく、それらが他の目的のために選択され得ることを意味する。
【００３８】
Ｑは、コマンドまたはゴールよりも少ない利用可能なアクチュエータが存在するこれらの場合について選択される。これは、設計によって起こり得、また動作中に起こり得る。設計の時、実際的な制約は、ここではゴールより少ないアクチュエータを指示してもよい。たとえ設計が動作の開始時にゴールよりも多くのアクチュエータを有するとしても、アクチュエータが故障したとき、またはいくつかの制限に直面したとき、利用可能なアクチュエータの数は低下する。制限に達した場合、ＱＰブロック５４は、制限を実施(enforcing)するためにアクチュエータの自由度の一つを充てる。これは、性能インデックスを最小化するために利用可能なアクチュエータの数をひとつだけ減少させる。もし最初の制限にまだありながら、他の制限に直面すると、利用可能なアクチュエータの自由度はもうひとつだけ減少する、等々。これらのケースでは、全てのゴールが満足されるわけではなく、代わりにシステム出力は、所望の出力からの二乗偏差の重み付きの和(weighted sum)の最小値になる。Ｑは相対重さ(relative weights)の行列である。より優先度の高いゴールは、Ｑにおいて、より高い重みを有する。
【００３９】
Ｒは、コマンドまたはゴールよりも多くの利用可能なアクチュエータが存在するそれらのケースに対し選択される。これは、要求されるシステムの信頼性が個々のアクチュエータのそれを上回る場合に生じる。このケースでは、余剰のアクチュエータは、１又は２以上のアクチュエータ故障に順応するように具備される。ひとつの結論は、アクチュエータコマンドの全体の部分空間は、全てがｖゴールを満たすことである。インデックスのＲ項は、ユニークなコマンドが存在することを保証する。Ｒにおける要素の相対サイズは、アクチュエータの冗長度がどのように活用されるべきかを特定する。例えば、もし並列に動作する同一の二つのアクチュエータが存在し且つそれらがＲにおいて等しい重さを有していれば、それらは負荷を半分づつ負担する。もし、それからひとつの重さが増加すると、それは半分よりも少ない負荷を負担する。アクチュエータが異なる場合、より小さなレンジを有するアクチュエータは、通常、大きな重みが与えられ、それらの制限からより遠ざかるようにする。
【００４０】
ＱＰ性能インデックスは上記インデックスから形成され、これは、Δｙ式をインデックスに代入し、その結果をｕｃにおいて２次であり、ｕｃにおいて線形であり、定数である項に展開し、そして定数項を切り落とすこと（それらはｕｃに影響を与えないので）によりなされる。それからＱＰソルバーは、性能インデックスＪを最小化するｕｃを見つけ出す。
【００４１】
ここで、
【数５】
2004185620.tif 000007
である。ＱａおよびｆはＱＰブロックに受け渡される。
【００４２】
＜２次計画法(Quadratic Programming)＞
性能インデックスおよび不等制約(inequality constraints)は、制約された最適化問題を特定し、それからその最適化問題は、アクチュエータコマンドｕｃを決定するために２次計画ブロック５４により解かれる。これらは本発明の最終的な出力である。制御問題の設定は、凸２次計画問題を厳密に特定するために、意図的に線形状態変数モデル、線形不等制約、および２次性能インデックスに限定され、その凸２次計画問題は、制約された最適化の特別なタイプである。実際上の問題に対する全ての制約された最適化アルゴリズムは、最適条件についての調査(search)を含む。厳密に凸２次計画問題において、調査は、リアルタイム制御(realtime control)について良好な特性(property)を有する。第１に、それは比較的信頼できる。全体的に最適な解が存在し、それはユニークであり、そして調査を陥れる局所的な最適は存在しない。また、最適条件のためのインタラクティブな調査手順の各繰り返しは、単に線形行列式の解を含むのみであり、そのため、数値的特性（計算の量、精度、感度、および要求されるワード長）が、標準的な理論を用いて正確に解析され得る。
【００４３】
本発明の他のバージョンにおいて、ＱＰブロック５４はまた、それらの制限に対する制約を示す信号を生成する。これは、ＤＭＦモジュールに送信される。
リアルタイム制御のために修正された任意の２次計画ソルバー(quadratic programming solver)は本発明で使用することができる。本願と同日に出願されると共に同一の発明者を擁し、そしてシリアル番号１０／３０８２８５を有する“ダイナミックシステムのためのリアルタイム２次計画法”と題された現在共に係属中の出願は、特に良好なリアルタイム特性を有するＱＰ問題ソルバーについて述べ、そしてその全てにおいて参照することにより本明細書に組み込まれる。
【００４４】
＜ダイナミックフィードフォワード（ＤＦＦ）＞
制御されるべきシステムは、ｐ個の変数を制御するためのｍ個のアクチュエータを有し、ここでｍおよびｐは整数である。各アクチュエータは、一般に、力学を変えて、制御されるべき変量に影響を与える。ダイナミックインバージョン要素がシステムに連結され、それらは、表面上、それをｐ個の連結されない集積器に変換する。即ち、ベクトルｖにはｐ個の入力が存在し、各入力は、制御されるべき変数のひとつのみに影響を与え、そして応答は入力の時間における積分である。結合されたＤＩ＋システムは、表面上、応答
y(n+1)=y(n)+v
を有する。ここで、ｖはＤＦＦ４０およびＤＭＦ４２モジュールによって決定される。
【００４５】
ＤＦＦモジュール４０は、コマンドへの、制御されるシステムの表面上の応答を決定する。ＤＦＦ４０への入力は、ｙについて命じられた値のベクトル、ｙｃ、制御下の変量、ｙである。それから設計者は、それらのコマンドへのシステムの応答についての種々の要件を、差分方程式
Δxd(n)=Ad*xd(n)+Bd*yc(n)  且つ
yd(n+1)=Cd*xd(n)+Dd*yc(n)
の形式に変換する。ここで、ｙｄはシステムの所望される応答のベクトルである。一般に、行列Ａｄ，Ｂｄ，Ｃｄ，Ｄｄは、各ｙｃのみがひとつのｙｄに影響を与えるように選択される。制御理論に通じた者は、ダイナミック応答を特定し、且つこの差分方程式を形成する種々の方法を有する。
【００４６】
時刻ｎでのＤＦＦ４０の出力は、ｙｄ（ｎ）およびベクトルｖｆｆ（ｎ）であり、ここで、
vff(n)=yd(n+1)-yd(n)
である。
これは、ｖコマンドのフィードフォワードコンポーネントである。
フィードフォワードロジックの設計は、しばしば困難すぎて実際的でない。本発明の長所の一つは、ダイナミックフィードフォワードを容易にすることである。
【００４７】
＜ダイナミックモデルフォロウィング(Dynamic Model Fllowing)＞
ダイナミックモデルフォロア(Dynamic Model Follower)４２モジュールは、標準のフィードバック制御モジュールである。それはエラー信号を形成し、その信号は、所望の応答ｙｄと測定された応答ｙとでは異なり、そしてコマンドｖのフィードバック要素ｖｆｂを生成するための計算を実行する。フィードバックは、エラー信号のサイズを低減するように設計される。エラーは、モデルと実際のシステムとの間の変動により生じる。ダイナミックインバージョンの動作のために、システムは、ｐ個の連結されない集積器として見える。制御理論に通じた者であれば、このフィードバックロジックを直ちに設計できる。
【００４８】
フィードバック設計者は、しばしば、モデルに追従するエラーの積分である信号を含む。これらのケースにおいては、ＱＰブロック５４からの信号“有効制約(Active constraints)”は、制限に達したときにこれらの１又は２以上の集積器を無効にするために使用できる。これは、通常、或る制限のセットに達することが、全てのゴールが達成されるわけではないことを意味する場合に行われる。集積器を無効にすることは、その信号に低い優先度を与えるための有効な手段である。
【００４９】
重み、アクチュエータの分割、制限、およびモデル項の全ては、繰り返しのたびに変わる。これは、局所的に線形化されたモデルのシーケンスを有する非線形システムの制御を可能にし、そしてそれは、コントローラが、ゴールおよび特性を変えること、アクチュエータの付加および除去などに順応することのための大きな融通性を提供する。
【００５０】
メモリ２４は、コンピュータプログラムを格納し、このプログラムは、コンピュータ２２によって実行されたときに上述したステップを実行する。メモリ２４は、ＲＡＭのような電子的メモリ、ＣＤ，ＤＶＤまたは他の光学メディア、ハードドライブ、フロッピー（登録商標）ディスクまたは他の磁気的メディア、または任意の公知のコンピュータ読み取り可能なメディアまたはそれたの組み合わせから構成される。
【００５１】
特許法の規定および法律学に従い、上述した代表的な構成は、本発明の好ましい実施形態を表すものと考えられる。しかしながら、本発明は、その精神または目的から始めることなく、特に図解され且つ説明されたことの外にも実施することができる。方法のクレームにおけるステップについての英数字の識別子は、従属クレームによる参照を容易にするためのものであり、他に示されない限り、必須のシーケンスを示すものではない。
【図面の簡単な説明】
【００５２】
【図１】本発明の多変数制御システムを例示する図である。
【符号の説明】
【００５３】
２０  制御システム
２２  コンピュータ
２４  メモリ
２６  アクチュエータ
２８  エフェクタ
３０  プラント
３２  センサ
３４  システム出力コマンド
４０  ダイナミックフィードフォワード（ＤＦＦ）
４２  ダイナミックモデルフォロア（ＤＭＦ）
４４  ダイナミックインバージョン（ＤＩ）
４８  状態変数モデル
５０  性能インデックスブロック
５２  制約ブロック
５４  ２次計画ブロック
【図１】
2004185620.tif 000008