(57)【特許請求の範囲】
【請求項１】
機械のモデルに従って該機械の動作を制御する方法であって、
制御入力に対する制約を条件とした予測ホライズンに沿ったコスト関数の最適化から決定された前記制御入力を用いて、前記機械の前記動作を反復的に制御することであって、前記最適化は、前記モデルに従い、前記コスト関数は、前記モデルの少なくとも１つのパラメーターを含むことと、
前記モデルの前記パラメーターを更新することであって、結果として前記制御の少なくともいくつかの反復について前記コスト関数が更新されることと
を含み、該方法は、プロセッサを用いて実行され、前記制御により前記機械の状態が変化し、
前記コスト関数は、目標状態への前記機械の移動を方向付けるための安定化成分と、前記目標状態までの前記機械の前記移動を最適化するための性能成分とを含み、前記モデルの前記パラメーターは、前記安定化成分の関数に含まれ、前記パラメーターを変更することにより前記安定化成分が変更される、方法。
【請求項２】
前記安定化成分は、前記モデルのパラメーターの推定値によって重み付けされた安定化行列の和を含む、請求項１に記載の方法。
【請求項３】
不確実なモデルのパラメーターの値間の対称性を利用して前記安定化行列の少なくとも一部分を求め、数値問題の複雑度を低減することをさらに含む、請求項２に記載の方法。
【請求項４】
前記機械の前記モデルは、
【数１】
0006359182.tif 000073
を含み、前記コスト関数は、
【数２】
0006359182.tif 000074
を含み、ｘは、前記機械の前記状態であり、ｕは、前記制御入力であり、ξは、長さｌの不確実な凸結合ベクトルであり、［ξ］ｉは、該凸結合ベクトルのｉ番目の成分を表し、Ａｉ、Ｂｉ、ｉ＝１、・・・、ｌは、モデルの集合体のための状態および入力行列であり、
【数３】
0006359182.tif 000075
は、前記モデルの前記状態および入力行列の推定値であり、Ｎは、前記予測ホライズンの長さであり、Ｑ、Ｒは、状態および入力重み行列であり、Ｐ（ξ）は、ξに依拠した安定化行列の和である、請求項１に記載の方法。
【請求項５】
前記モデルのパラメーターの許容可能な値の範囲を規定することで前記モデルの集合体が形成され、前記方法は、
前記モデルの集合体の中で、線型モデルの凸結合に含まれるパラメーターを求めることをさらに含む、請求項１に記載の方法。
【請求項６】
前記制約は、前記モデルの前記パラメーターの前記許容可能な値および前記機械への許容可能な制御入力について、仕様制約を満たすことを確実にする制御不変制約を含む、請求項５に記載の方法。
【請求項７】
前記制約は、前記予測ホライズンの端部における終端状態のための領域を指定する終端制約を含み、前記方法は、
仕様制約、前記モデルの集合体および前記コスト関数を用いて前記終端制約を決定することをさらに含む、請求項５に記載の方法。
【請求項８】
前記機械の実現可能な状態の現在の集合から開始し、前記機械の状態の後方到達可能集合が前記現在の集合によって囲まれるまで、前記機械の動力学の１ステップの展開後に前記現在の集合内にある、前記現在の集合内の前記状態の前記後方到達可能集合を反復して求める後方到達可能方法を用いて、前記終端制約の前記領域を画定することをさらに含む、請求項７に記載の方法。
【請求項９】
前記制御不変制約を満たす全ての状態について前記コスト関数の前記最適化に対する解が存在する前記予測ホライズンの最小長さを決定することと、
前記予測ホライズンの長さを、好ましい長さと前記最小長さとの間で最大の長さとして決定することと
をさらに含む、請求項６に記載の方法。
【請求項１０】
前記予測ホライズンは、好ましい予測ホライズンに等しく、終端集合は、安定化利得および仕様制約から計算され、制御不変集合は、前記終端集合および前記好ましい予測ホライズンから計算される、請求項７に記載の方法。
【請求項１１】
前記予測ホライズンは、予測時点の予測モデルのシーケンスを含み、前記最適化が、予測時点ごとに、前記予測ホライズンについて制御入力のシーケンスを形成する制御入力を生成するようにし、前記制御入力の前記シーケンスを決定するための前記モデルは、少なくともいくつかの予測時点間で変化する、請求項１に記載の方法。
【請求項１２】
予測時点ごとに、該予測時点の前の複数の時点に決定された前記パラメーターを用いて予測モデルを決定して、前記予測ホライズンのための予測モデルのシーケンスを生成することと、
前記予測モデルのシーケンスを用いて前記制御入力のシーケンスを共同で決定することと
をさらに含む、請求項１１に記載の方法。
【請求項１３】
前記複数の時点の数は、前記予測ホライズンの長さによって規定される、請求項１２に記載の方法。
【請求項１４】
前記コスト関数の前記最適化を二次計画に変換することと、
前記二次計画を解いて前記制御入力を決定することと
をさらに含む、請求項１に記載の方法。
【請求項１５】
機械のモデルに従って該機械の動作を制御するためのシステムであって、
前記機械の状態を決定するセンサーと、
前記機械の前記状態を用いて前記モデルの少なくとも１つのパラメーターの値を更新するためのプロセッサであって、前記パラメーターの更新値が前記パラメーターの許容可能な値に対する制約を満たすようにする、プロセッサと、
制御入力に対する制約を条件とした予測ホライズンに沿ったコスト関数の最適化から決定された前記制御入力を用いて、前記予測ホライズンに沿った予測のために前記モデルを使用して前記機械の前記動作を反復的に制御するコントローラーであって、前記コスト関数は前記モデルの少なくとも１つのパラメーターを含み、前記パラメーターの前記更新された値が前記モデルおよび前記コスト関数を更新するようにする、コントローラーと
を備え、
前記コスト関数は、目標状態への前記機械の移動を方向付けるための安定化成分と、前記目標状態までの前記機械の前記移動を最適化するための性能成分とを含み、前記モデルの前記パラメーターは、前記安定化成分の関数に含まれ、前記パラメーターを変更することにより前記安定化成分が変更される
システム。
【請求項１６】
前記モデルのパラメーターの許容可能な値の範囲を規定することで前記モデルの集合体が形成され、前記制約は、前記モデルの前記パラメーターの前記許容可能な値および前記機械への許容可能な制御入力について、仕様制約を満たすことを確実にする制御不変制約を含み、該制約は、前記予測ホライズンの端部における終端状態のための領域を指定する終端制約を含み、前記プロセッサは、前記機械の実現可能な状態の現在の集合から開始し、前記機械の状態の後方到達可能集合が前記現在の集合によって囲まれるまで、前記機械の動力学の１ステップの展開後に前記現在の集合内にある、前記現在の集合内の前記状態の前記後方到達可能集合を反復して求める後方到達可能方法を用いて、前記終端制約の前記領域を画定する、請求項１５に記載のシステム。
【請求項１７】
前記予測ホライズンは、予測時点の予測モデルのシーケンスを含み、前記最適化が、予測時点ごとに、前記予測ホライズンについて制御入力のシーケンスを形成する制御入力を生成するようにし、前記制御入力の前記シーケンスを決定するための前記モデルは、少なくともいくつかの予測時点間で変化する、請求項１５に記載のシステム。
【請求項１８】
前記予測時点の数は、前記予測ホライズンの長さによって規定される、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、機械の動作を制御することに関し、より詳細には、後退ホライズンにわたってモデル予測制御（ＭＰＣ）を用いて動作を制御することに関する。
【背景技術】
【０００２】
機械制御では、ソフトウェアまたはハードウェアの一方または組み合わせを用いて実施することができるコントローラーが、例えば、センサーおよび／または推定器、機械の出力から取得された測定値に基づいて、この機械への入力のコマンド値を生成する。コントローラーは、機械が所望のとおり動作するように、例えば、動作が所望の基準プロファイルに従うかまたは出力をある特定の値に調整するように入力を選択する。いくつかの場合には、コントローラーは、例えば、対応する変数がいくつかの所定の範囲内にあることを確保して物理的仕様から安全な機械動作を確保する制約を機械の入力および出力に対して課す。そのような制約を課すために、コントローラーは、多くの場合、機械のモデルを用いて、コマンド、すなわち、制御入力が印加されたときに機械がどのような挙動を引き起こすのかを予測する。制約を機械の入力および出力に対して課している間に機械の制御を達成することが可能なコントローラーの１つの例は、モデル予測制御（ＭＰＣ）である。
【０００３】
ＭＰＣは、機械のモデルの反復的な有限ホライズン最適化に基づいており、適切な制御動作を取るために将来のイベントを予想する能力を有する。これは、制約を条件として、将来の有限時間ホライズンにわたって機械の動作を最適化し、あとは、現在のタイムスロットにわたって制御を実施するだけで達成される。例えば、制約は、機械の物理的限界、機械の動作に対する安全性限界、および軌道上の性能限界を表すことができる。機械の制御ストラテジーは、そのような制御ストラテジーについて機械によって引き起こされた運動が全ての制約を満たすときに許容することができる。例えば、時間ｔにおいて、機械の現在の状態がサンプリングされ、許容可能なコスト最小化制御ストラテジーが、将来における比較的短い時間ホライズンについて求められる。具体的には、オンライン計算またはリアルタイム計算が、時間ｔ＋Ｔまでのコスト最小化制御ストラテジーを求める。制御のステップが実施された後、状態が再びサンプリングされ、計算がその時の現在の状態から開始して繰り返され、新たな制御および新たな予測された状態パスが得られる。予測ホライズンは、前方にシフトし、この理由から、ＭＰＣは、後退ホライズン制御とも呼ばれる。
【０００４】
ＭＰＣは、システムの様々な物理的制約および仕様制約を条件として、有限の将来の時間にわたって最適制御問題を解くことによって、システムのモデルおよび所望の基準軌道に基づいて機械の運動の実際の軌道を生成するのに用いることができる。ＭＰＣは、機械の基準運動と実際の運動との間の誤差、機械のエネルギー消費、および誘発されるシステム振動等の機械の運動の性能指数を最小化することを目標とする。
【０００５】
ＭＰＣは、モデルベースのフレームワークであるので、ＭＰＣの性能は、必然的に、最適制御計算において用いられる予測モデルの品質に依存する。しかしながら、ほとんどの場合、いくつかのパラメーターは、正確に測定されないので、機械動特性のモデルは、事前には未知である。このため、コントローラーは、機械の既に動作中に、機械のモデルの未知のパラメーターを推定することが必要な場合があり、このため、パラメーターが推定されている間、制約を課す場合もある。そのような問題を取り扱う従来の手法は、適応型ＭＰＣまたは学習ベースのＭＰＣを含み、これらのＭＰＣでは、未知の機械パラメーターを学習するために、ＭＰＣ制御問題が、閉ループ同定方式を用いて強化される。未知のパラメーターを学習することによって、コントローラーによって達成される機械の動作が改善される。
【０００６】
しかしながら、適応型ＭＰＣおよび学習ベースのＭＰＣの現在の手法は、複数の理由のために限界がある。第１に、未知のパラメーターを推定している間、制約が違反される可能性があるか、または制約を控えめに課すために、制御性能が過度に低減される場合がある。実際に、特許文献１に記載されている方法等のいくつかの既存の方法は、制約を単に無視し、このため、制約を条件として機械の許容可能な制御ストラテジーを生成することが可能でない。
【０００７】
第２に、機械の識別されたモデルに基づいてＭＰＣの予測モデルを単に調整することは、機械の出力が所望の値を達成することを保証するのに十分でない。したがって、不確実性を含むＭＰＣを用いて制約を受ける機械の動作を制御する方法が必要とされている。
【０００８】
ＭＰＣの挙動は、予測モデルおよび性能指数に依拠するため、第１のものが更新されると、第２のものも、機械出力の所望の値への収束を達成するように調整されなくてはならない。これは、ＭＰＣ問題のある特定のさらなる制約の特定の設計も必要とする。また、コスト関数を調整することは、計算的に単純であることも必要である。
【０００９】
第３に、小さな推定誤差によって、小さな制御誤差しか生じないように、パラメーター推定誤差と、機械の制御における誤差との間に、ある特定の比例関係が存在することが望ましい。
【００１０】
最後に、適応型ＭＰＣのためのいくつかの方法は、かなりの計算量を必要とし、高価なプロセッサにおいても低速でしか実行することができず、低い応答帯域幅を有する機械を制御することしか可能でない。
【００１１】
したがって、不確実性を含むＭＰＣを用いて機械の動作を制御する方法が必要とされている。ここで、機械の動作は、制約を条件としており、制御誤差は、パラメーター推定誤差に比例し、推定誤差が消えると収束が達成される。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】米国特許出願公開第２０１１／００２２１９３号
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明のいくつかの実施の形態の目的は、不確実性を含むモデル予測制御（ＭＰＣ）を用いて、制約を条件とする機械の動作を制御する方法を提供することである。
【００１４】
１つの実施の形態の別の目的は、ＭＰＣによって用いられる機械のモデルおよびコスト関数を更新することである。この実施の形態は、ＭＰＣが、予測ホライズンに沿って機械の動作を予測するのに用いられるモデルに依拠し、機械の動作の性能を指定するコスト関数にも依拠するという認識に基づく。したがって、機械のモデルが更新されるとき、所望の状態への機械の移動の収束を達成するために、コスト関数も更新される必要がある。異なる実施の形態の目的は、コスト関数を更新するのに必要とされる計算複雑度を低減することである。
【００１５】
本発明の異なる実施の形態の目的は、パラメーター推定誤差と機械の制御における誤差との間の比例関係を可能にし、それによって、例えば、小さな推定誤差によって小さな制御誤差しか生じないようにすることである。本発明の別の実施の形態の目的は、ＭＰＣの制御および更新中に全ての制約を満たすことを確実にするためのＭＰＣの追加の制約を提供し、全ての時点において制約を強制し、機械の状態が最終的に目標値を達成するようにすることである。
【課題を解決するための手段】
【００１６】
本発明のいくつかの実施の形態は、コスト関数が、不確実性を有するモデルのパラメーターを含むように規定され得るという認識に基づく。そのようにして、モデルのパラメーターが更新されるとき、そのような更新の結果として、コスト関数も更新される。
【００１７】
いくつかの実施の形態は、機械パラメーターの不確実な値のための許容可能な範囲に基づいて規定されたモデルの集合体に対する制約、および調整可能なコスト関数に基づいて設計された追加の制約を強制することが可能であるという別の認識に基づく。モデルの集合体は、機械について、実現可能な状態および入力の集合を提供する。例えば、これらの実現可能な状態の特殊な部分集合は、この部分集合内の全ての状態について、それらの既知の範囲内の未知の機械パラメーターの全ての値について、その部分集合内で状態を維持する実現可能な制御入力が存在するように設計することができる。これによって、ＭＰＣによって制御されるシステムが、モデルのパラメーターが不確実であるときであっても制約を満たすことを保証する。
【００１８】
本発明のいくつかの実施の形態は、推定誤差と制御誤差との間の比例関係、および所望の値に対する機械の収束は、ＭＰＣの予測モデルにおける機械パラメーターが、それらが推定モジュールから得られた時点に関して、ＭＰＣ予測ホライズンに等しい遅延を用いて調整される場合に達成されるという認識に基づく。
【００１９】
したがって、本発明の１つの実施の形態は、機械のモデルに従って該機械の動作を制御する方法を開示する。本方法は、制御入力に対する制約を条件とした予測ホライズンに沿ったコスト関数の最適化から決定された前記制御入力を用いて、前記機械の前記動作を反復的に制御することであって、前記最適化は、前記モデルに従い、前記コスト関数は、前記モデルの少なくとも１つのパラメーターを含むことと、前記モデルの前記パラメーターを更新することであって、結果として前記制御の少なくともいくつかの反復について前記コスト関数が更新されることと、を含み、該方法のステップは、プロセッサを用いて実行され、前記制御により前記機械の状態が変化する。
【００２０】
別の実施の形態は、機械のモデルに従って該機械の動作を制御するためのシステムであって、前記機械の状態を決定するセンサーと、前記機械の前記状態を用いて前記モデルの少なくとも１つのパラメーターの値を更新するためのプロセッサであって、前記パラメーターの前記更新値が前記パラメーターの許容可能な値に対する制約を満たすようにする、プロセッサと、前記制御入力に対する制約を条件とした予測ホライズンに沿ったコスト関数の最適化から決定された前記制御入力を用いて、前記予測ホライズンに沿った予測のために前記モデルを使用して前記機械の前記動作を反復的に制御するコントローラーであって、前記コスト関数は、前記モデルの少なくとも１つのパラメーターを含み、前記パラメーターの前記更新された値が前記モデルおよび前記コスト関数を更新するようにする、コントローラーと、を備える、システムを開示する。
【図面の簡単な説明】
【００２１】
【図１Ａ】本発明の１つの実施の形態による機械の動作を制御するコントローラーのブロック図である。
【図１Ｂ】本発明の１つの実施の形態による図１Ａのコントローラーの一般的な構造のブロック図である。
【図１Ｃ】本発明の１つの実施の形態による機械の動作を制御する方法のブロック図である。
【図２Ａ】本発明の１つの実施の形態によるコントローラーモジュールのブロック図である。
【図２Ｂ】本発明の１つの実施の形態による予測モデルを構築するコントローラーのモジュールのブロック図である。
【図２Ｃ】本発明の１つの実施の形態によるコスト関数を調整するコントローラーのモジュールのブロック図である。
【図２Ｄ】本発明の１つの実施の形態による制約を構築するコントローラーのモジュールのブロック図である。
【図２Ｅ】本発明の１つの実施の形態による制御入力を計算するコントローラーのモジュールのブロック図である。
【図２Ｆ】本発明の１つの実施の形態によるコントローラーのモジュールによって実行される方法のフローチャートである。
【図２Ｇ】本方法の別の実施の形態によるコントローラーのモジュールによって実行される方法のフローチャートである。
【図３Ａ】本発明のいくつかの実施の形態の原理を視覚化した座標系に配置された一例示のポリトープの概略図である。
【図３Ｂ】機械の状態に対するモデルのパラメーターの不確実性の影響の概略図である。
【図４Ａ】本発明のいくつかの実施の形態による機械の動作に対する様々な制約によって規定された状態の制御不変部分集合の２次元投影の一例の概略図である。
【図４Ｂ】本発明のいくつかの実施の形態に従って求められた、機械の状態の実現可能領域と制御不変部分集合との間の関係を示す概略図である。
【図５】本発明の１つの実施の形態による制御不変部分集合を求める後方可到達領域計算のブロック図である。
【図６】本発明の１つの実施の形態による状態の以前の集合を求める一例示の実施態様のブロック図である。
【図７】終端制約に関連付けられた領域を画定する方法のブロック図である。
【発明を実施するための形態】
【００２２】
図１Ａは、機械１０２の動作を制御する制御システム１０１のブロック図を示している。機械１０２は、その動作が、コマンドに応答して、位置、速度、電流、および温度等の物理量の値を変化させる装置である。機械の動作は、本明細書において用いられるように、そのような量を変化させる機械の運動を決定する。制御システムは、上記量のうちのいくつかの所望の軌道または目標点等の機械の所望の運動１０３を受け取り、制御入力１０４を介して機械を制御する。制御入力は、機械の動作のパラメーターを変化させるコマンドを含むこともできるし、機械の運動に影響を与え、結果として、所望の運動１０３に合致することが望ましい機械の出力量１０５を生成する電圧、圧力、トルク、力等のパラメーターの実際の値を含むこともできる。本発明のいくつかの実施の形態では、機械は、不確実性の少なくとも１つのパラメーターを含む。例えば、物体を動かすロボットのアームのモデルは、アームによって搬送される物体の質量についての不確実性を含むことがある。列車の移動のモデルは、現在の天候条件における車輪とレールとの摩擦についての不確実性を含むことがある。
【００２３】
制御システム１０１は、機械に直接またはリモートに接続されたセンサー、ハードウェア、またはソフトウェアから、機械の運動についての情報１０９を受信する。情報１０９は、機械の状態を含む。制御システムは、推定モジュール１０６からの不確実な機械パラメーターの現在の推定値１０８についての情報も受信する。制御システム１０１は、状態およびパラメーター推定値を制御入力１０４の選択のために用い、これらの制御入力によって、機械の運動および機械１０２の出力が決まる。量１０５、制御入力１０４、またはそれらの組み合わせには、機械の動作に対する制約によるいくつかのあらかじめ規定された範囲内に留まるように要求することができる。
【００２４】
図１Ｂは、本発明の１つの実施の形態による制御システム１０１の一般的な構造を示している。制御システム１０１は、コントローラーのモジュールを実行する少なくとも１つのプロセッサ１３０を備える。プロセッサ１３０は、機械１０２のモデル１１２、コスト関数１１５および制約１１４を記憶するメモリ１２０に作動接続されている。本発明のいくつかの実施の形態の目的は、制約１１４を条件として、調整可能なコスト関数１１５、および不確実性を有する機械のモデル１１２を用いて制御入力１０４を求めることである。いくつかの実施の形態では、機械の動作中の現在のパラメーター推定値１０８に基づいて、機械のモデルおよび調整可能なコスト関数が更新される（１１６）。代替的に、いくつかの実施の形態は、機械が動作していないときにモデルを更新する。
【００２５】
本発明のいくつかの実施の形態は、機械のモデル１１２が更新されるときに、所望の状態への機械の移動の収束を達成するために、コスト関数１１５も更新される必要があるという認識に基づいている。一方、そのような更新は、通常、計算コストが高い。例えば、そのような更新は、線形行列不等式またはリカッティ方程式の解を得るために、大量のメモリを有する強力なプロセッサ上で実行される高度な数値法を必要とすることがある。
【００２６】
図１Ｃは、本発明の１つの実施の形態による、機械の動作を制御するための方法のブロック図を示している。実施の形態は、不確実性を有するモデルのパラメーターを含むようにコスト関数を規定することができるという認識に基づいている。そのような方式では、モデルのパラメーターが更新されるとき、そのような更新の結果として、コスト関数も更新されることになり、これによって、コスト関数を更新するための計算要件が単純になる。方法のステップは、プロセッサ１３０等のプロセッサによって実行することができる。
【００２７】
本方法は、制御入力に対する制約を条件とする予測ホライズンに沿ったコスト関数１１５の最適化から求められた制御入力を用いて、機械の動作を反復的に制御する（１５０）。最適化は、ＭＰＣの原理に従ってモデル１１２を用いて実行される。
【００２８】
この実施の形態では、コスト関数１１５は、モデル１１２の少なくとも１つのパラメーター１５５を含む。実施の形態は、制御の少なくともいくつかの反復について、パラメーター１５５を更新する（１６０）。そのような方式で、更新１６０の結果として、モデル１１２およびコスト関数１１５の双方が更新される。
【００２９】
図２Ａは、本発明の１つの実施の形態による制御システム１０１の異なるモジュールのブロック図を示している。モデル調整モジュール２０１は、現在のパラメーター推定値１０８に基づいて、不確実性を有するモデル１１２の少なくとも１つのパラメーターを更新する。同様に、コスト関数調整モジュール２０２は、コスト関数１１５を更新して、ＭＰＣの安定性および収束を保証する。制約および予測ホライズンモジュール２０３からの出力は、モジュール２０１によって出力された更新モデル２４１、モジュール２０２によって出力された、更新されたコスト関数２４２、および機械状態１０９と共に用いられ、機械に対する制御入力１０４が決定される（２０４）。
【００３０】
図２Ｂは、モデル調整モジュール２０１のブロック図を示している。パラメーターの現在の推定値１０８は、ＭＰＣ予測ホライズンの長さに等しい長さ２１８を有する遅延バッファー２１１に入れられ、現在遅延バッファー内にある最も古い値２１９が除去される。不確実性を有する機械のモデルは、モデルの集合体２１２として表される。バッファー内に記憶されるモデルのパラメーターの現在および過去の推定値の値は、モデルの集合体と共に用いられ、現在のＭＰＣ予測モデル２４１が構築される（２１３）。
【００３１】
本発明のいくつかの実施の形態によれば、モデルのパラメーターの不確実性には限界がある。以下で、より詳細に説明されるように、不確実性に対するこれらの限界は、モデルのパラメーターの許容可能な値の範囲を規定する。許容可能な値は、モデルの集合体を形成し、いくつかの実施の形態は、モデルのパラメーターを、モデルの集合体の凸結合として求める（２１３）。
【００３２】
このため、モデルの集合は、不確実性の全ての可能な値を表すモデルとして得られる。例えば、モデルの集合は、不確実なパラメーターの最小値および最大値を検討し、最小パラメーターおよび最大パラメーターの許容可能な全ての組み合わせに対応するモデルを得ることによって得ることができる。次に、パラメーターが不確実なパラメーターの範囲内にある機械のためのモデルを得ることができる。
【００３３】
例えば、パラメーターの各推定値をモデルの集合体と共に用いて、特定の時点において有効なシステムのためのモデルを得ることができる。このため、遅延バッファー内のパラメーター推定値の各値をモデルの集合体と組み合わせることによって、遅延バッファーと長さが等しい、機械のモデルのシーケンスが得られる。
【００３４】
本発明の１つの実施の形態では、モデルのパラメーターの新たな値が決定され、制御入力の全体集合が、更新されたパラメーターを有するモデルを用いて決定される。この実施の形態は、実施がより単純であり、パラメーターのより正確な値を利用する。一方、代替的な実施の形態は、制御入力のシーケンス全体のそのような更新が、モデルのパラメーターの古い値を用いて以前に決定された制御入力のシーケンスとの不連続性をもたらすという認識に基づく。
【００３５】
そのために、モデルのパラメーターが更新されるとき、バッファー内のパラメーターの全体集合をあらかじめ決定する代わりに、いくつかの実施の形態は、パラメーターのうちの最も古い（２１９）推定値のみを除去し、パラメーターの新たな（２１９）推定値を追加する。例えば、連続メモリセルの観点においてバッファー２１１の抽象表現を検討する場合、新たな推定値が挿入されるとき、現在バッファー内にあるパラメーター推定値は、右のメモリセルが存在する場合、右のメモリセルにコピーされる。このため、最も右側のセル２１９に配置された最も古い推定値が上書きされ、このため、消失する。新たな推定値が最も左のセル２１７に配置され、このため、バッファーに入る。
【００３６】
連続メモリセルの観点におけるバッファー２１１のこの抽象表現は、コントローラー１０１のメモリ１２０内のメモリセルの異なる物理的表現に対応することができる。そのような更新は、バッファー２１１がパラメーターの異なる値を記憶し、このため、不確実性パラメーターが一定の固定値を有する場合であっても、予測のために用いられるモデル１１２が予測ホライズンのステップに沿って時間変動する状況をもたらす。一方、これによって、単純な計算のみを用いることによってコスト関数の単一の成分のみを更新し、依然として安定性を得ることが可能となる。
【００３７】
例えば、予測ホライズンは、予測時点のシーケンスを含み、最適化によって、予測時点ごとの制御入力が生成され、予測ホライズンのための制御入力のシーケンスが形成されるようになっている。いくつかの実施の形態によれば、制御入力のシーケンスを決定するためのモデルは、少なくともいくつかの予測時点間で変化する。
【００３８】
例えば、１つの実施の形態は、予測時点ごとに、予測時点の前の複数の時点に決定されたパラメーターを用いて予測モデルを決定して、予測ホライズンのための予測モデルのシーケンスを生成し、予測モデルのシーケンスを用いて制御入力のシーケンスを共同で決定する。
【００３９】
さらに、いくつかの実施の形態は、推定誤差と制御誤差との間の比例関係、および所望の値への機械の収束は、ＭＰＣの予測モデルにおける機械パラメーターが、それらが推定モジュールから得られる時点に関してＭＰＣ予測ホライズンに対し等しい遅延で調整される場合に達成されるという認識に基づく。そのために、１つの実施の形態では、時点の数は、予測ホライズンの長さによって規定される。
【００４０】
図２Ｃは、１つの実施の形態によるコスト関数調整モジュール２０２のブロック図を示している。現在のコスト関数は、現在のパラメーター推定値１０８と、調整可能なコスト関数１１５を表すコスト関数成分２２１とから計算される（２２２）。例えば、この実施の形態のいくつかの実施態様では、コスト関数は、目標状態への機械の移動を方向付けるための安定化成分２２３と、目標状態まで機械の移動を最適化するための性能成分２２４とを備える。これらの実施態様では、モデルのパラメーター１５５は、安定化成分の関数を含む。例えば、安定化成分は、モデルのパラメーターの推定値によって重み付けされた安定化行列の和を含むことができる。例えば、安定化行列を決定することに加えて、１つまたは複数の安定化利得も決定することができる。
【００４１】
図２Ｄは、ＭＰＣの制約および予測ホライズンの計算の詳細を示している。仕様制約２３１、コスト関数成分のアンサンブル、好ましい予測ホライズン２３２、およびモデルのアンサンブルから、ＭＰＣ制約の集合およびＭＰＣモデルのための実際の予測ホライズンが計算される（２３３）。
【００４２】
図２Ｅは、制御入力の計算の詳細を示している。調整されたモデル２４１、調整されたコスト関数２４２、予測ホライズン２４３、ＭＰＣ制約２４４、および現在の機械状態２４５から、数値問題が構築され（２４６）、数値アルゴリズムによって解かれ（２４７）、その解から、制御入力が選択される（２４８）。
【００４３】
図２Ｆは、本発明のいくつかの実施の形態における方法の動作のフローチャートを示している。まず、モデルの集合体２１２と、コスト関数成分２２１と、制約および好ましいホライズン２３２と、計算されたＭＰＣ制約および予測ホライズン２０３を含む、制御システムメモリ１２０にロードされたパラメーターとを決定することによって、調整可能なコントローラーが設計される（２５０）。次に、機械の制御が開始する。各反復において、新たなパラメーター推定値が決定され（２５１）、現在の機械モデルが調整され（２５２）、コスト関数が調整され（２５３）、機械状態が決定される（２５４）。次に、まず、制約を満たし、コスト関数を最適化する予測される入力のシーケンスを決定し（２５６）、次に、そのようなシーケンスの最初の部分を選択する（２５７）ことによって、制御入力が計算される（２５５）。次に、コントローラーは、次の測定を待つ（２５８）。
【００４４】
図２Ｇは、本発明の他の実施の形態における方法の動作のフローチャートを説明する。動作は、同じであるが、モデルおよびコスト関数の調整は、第１の入力の選択前に、ただし、コントローラーメモリがプログラムされた後に、１回のみ行われる。
【００４５】
モデルの調整
本発明のいくつかの実施の形態は、モデルのパラメーターの真の値が不確実であっても、モデルのパラメーターの不確実性が既知の範囲内にあるという認識に基づいている。例えば、列車の質量は、空の列車および一杯に荷を積んだ列車の値の範囲内とすることができる。モデル２１２のアンサンブルは、モデルの不確実なパラメーターの全ての可能な値について得られるモデルを表す。
【００４６】
図３Ａは、上記認識の原理を視覚化した座標系３２０に配置された一例示のポリトープ３１０を示している。座標系３２０は、通常、不確実性を有するモデルのパラメーターの低次元系である。例えば、モデルが、不確実性を有する４つのパラメーターを含む場合、座標系３２０は、４次元であり、パラメーターの組み合わせの新たな値、例えば、値３３３、３３５、３３７がポリトープ３１０内で選択されるように、パラメーターのそれぞれにつき１つの次元３２２、３２４、３２６、および３２８を有する。
【００４７】
例えば、所与の機械状態、入力、および不確実性ｄの連立差分方程式によって等時間間隔のサンプリング時点における機械の運動を記述する関数は、以下の式となる。
【００４８】
【数１】
0006359182.tif 000002
【００４９】
ここで、ｋは、サンプリング時点のインデックスであり、ｆは、汎用関数であり、Ｃは、行列であり、ｘは、機械状態１０９であり、ｕは、機械入力１０４であり、ｙは、機械出力１０５である。複数の状況において、不確実性は範囲Ｄ内に制限され、状態は、範囲
【数２】
0006359182.tif 000003
内に制限され、制御入力は、範囲Ｕ内に制限されることが了解されている。
【００５０】
【数３】
0006359182.tif 000004
【００５１】
例えば、値の範囲Ｄは、機械質量の最小値および最大値によって求めることができる。同様に、入力および状態の範囲は、速度、位置、電圧、またはトルクの最小値および最大値によって求めることができる。
【００５２】
いくつかの実施の形態は、ｆおよびＤに基づいて、
【数４】
0006359182.tif 000005
である行列の集合、この結果、任意の所与のｘおよびｕについて、
【数５】
0006359182.tif 000006
となるような多元差分包含
【数６】
0006359182.tif 000007
を構築する。ここで、「co」は、この集合の凸包を示す。
【００５３】
多元差分包含（４）は、モデルの集合体２１２によって記述される。
【００５４】
【数７】
0006359182.tif 000008
【００５５】
式（４ｂ）における線形モデルは、例えば、Ｄによって許容されるベクトルｄを形成するパラメーターおよび／またはそれらの組み合わせの最大値および最小値を選ぶことによって求めることができる。また、（４）は、機械運動の所望の値がｘ＝０に配置されるように構築することができる。
【００５６】
図３Ｂは、機械の状態を推定する際の、式（４）によって求められたモデルのパラメーターの不確実性の影響の概略図を示している。機械の現在の状態ｘ３０１および制御入力が与えられると、機械の次の状態は、機械のモデルのパラメーターのｄの種々の可能な値について集合３０２内で変動する可能性がある。例えば、ベクトルｄの特定の値に応じて、状態３０１は、制御入力の同じ値について集合３０２内で異なる状態３１０に遷移する可能性がある。
【００５７】
本発明のいくつかの実施の形態では、モデルの集合体は、それらの範囲内の不確実なパラメーターの全ての値についてのモデルが線形モデルの凸結合３０３に含まれるように設計される。例えば、Ｗ＝０のとき、式（４）のモデルは、有界多面体、すなわちポリトープである集合３０３によって集合３０２を過剰近似する。ここで、頂点３０４は、以下の式から求められる。
【００５８】
【数８】
0006359182.tif 000009
【００５９】
ここで、ｌ、（Ａｉ，Ｂｉ），ｉ＝１、・・・、ｌは、それぞれ、式（３）において規定された数および行列である。
【００６０】
式（４）に基づいて、全てが
【数９】
0006359182.tif 000010
を満たす範囲
【数１０】
0006359182.tif 000011
内の入力ｕによって、集合３０３は、完全に、許容可能な状態の範囲３２０内となり、したがって、（１）による機械の可能な次の状態３０２も、３２０内になる。このため、式（４）に対して制約を課すことによって、式（１）に対して制約を課すことが保証される。式（４）によって求められたモデルを用いる実施の形態は、計算上有利である。なぜならば、式（４）によって求められたモデルは、式（１）に記述された不確実な非線形モデルではなく、線形モデルの集合を含むからである。
【００６１】
このため、通常、不確実なシステムモデルは以下のように書くことができる。
【００６２】
【数１１】
0006359182.tif 000012
【００６３】
ここで、ξは、未知であるが以下を満たし、
【数１２】
0006359182.tif 000013
不確実なシステムモデルがモデル（７）のアンサンブルの凸結合であるようになっており、［ａ］ｉはベクトルａのｉ番目の成分を表す。
【００６４】
不確実なパラメーターの特定の実現のためのモデルが以下のように書かれる。
【００６５】
【数１３】
0006359182.tif 000014
【００６６】
このため、推定モジュール１０６は、ξ（ｔ）および対応する推定されるモデル（１０）を決定することによって、時点ｔにおけるパラメーターの現在の推定値を提供する。
【００６７】
例えば、モジュール１０６は、入力および出力または状態データの最近の集合を、場合によっては、何らかの移動低減項と共に検討しながら、最良の適合を与える値として、ξ（ｔ）を得ることができる。
【００６８】
【数１４】
0006359182.tif 000015
【００６９】
一方、本発明の実施の形態は、（９）を満たす有効な推定値ξ（ｔ）をもたらす限り、任意の推定モジュールについて機能するため、特定の推定モジュールに限定されない。
【００７０】
コスト関数の調整
ＭＰＣコントローラーのコスト関数は、エネルギーを節減し、振動を最小限にし、部品の摩耗を低減するために、機械作動システムの使用を制限しながら、機械の状態を調整して所望の機械の挙動を達成することの所望の優先度を符号化する。
【００７１】
このため、コントローラーが設計されるときにξが固定され既知である（１０）等のモデルについて、ＭＰＣコスト関数を以下のように書くことができる。
【００７２】
【数１５】
0006359182.tif 000016
【００７３】
ここで、Ｑ、Ｒは、機械の状態を調整する所望の優先度を符号化する重み行列である。
【００７４】
一方、機械の制御の性能目標を符号化するコスト関数（１１）は、機械の動作の所望の状態および安定性に収束する保証を得るように変更される必要がある。例えば、（１１）に安定化項を加えることが可能であり、これにより、（８）等のモデルについて、結果として
【数１６】
0006359182.tif 000017
が得られる。
【００７５】
このため、完全なコスト関数は、性能項（１１）および安定性項（１２）の組み合わせであり、下式となる。
【００７６】
【数１７】
0006359182.tif 000018
【００７７】
ここで、Ｐは、ＭＰＣ予測ホライズンの端部における終端状態のための適切に設計された重み行列である。
【００７８】
本発明のいくつかの実施の形態は、システムパラメーターの推定値を変更することに起因したモデル変更の間に、性能項（１１）を変更しないままに留めることができるが、安定化成分（１３）は、更新されたモデルの安定性を達成するように調整される必要があるという認識に基づく。したがって、いくつかの実施の形態は、
【数１８】
0006359182.tif 000019
であるパラメーター推定値に依拠する安定化項を含めるように安定化成分を変更する。ここで、Ｐ（ξ）はパラメーターに依拠する重み行列である。
【００７９】
いくつかの実施の形態によれば、モデル（７）および不確実なモデル（８）、（９）の集合体のための項Ｐ（ξ）は、パラメーターξの現在の推定値から得られる行列重みの凸結合を含む。
【００８０】
【数１９】
0006359182.tif 000020
【００８１】
【数２０】
0006359182.tif 000021
である場合、（１５）における行列重みが、変数
【数２１】
0006359182.tif 000022
について線形行列不等式
【数２２】
0006359182.tif 000023
を解き、次に
【数２３】
0006359182.tif 000024
を計算して（１５）における行列を構築することによって設計され得ることがさらに理解される。
【００８２】
代わりに、線形行列不等式を以下のように表すことができる。
【００８３】
【数２４】
0006359182.tif 000025
【００８４】
【数２５】
0006359182.tif 000026
が解かれ、
【数２６】
0006359182.tif 000027
である。
【００８５】
線形行列不等式の複雑度は、大規模システムの場合、大きくなることがある。一方、いくつかの実施の形態は、機械のモデルの対称性を利用して、計算コストを低減する。対称性は、全ての
【数２７】
0006359182.tif 000028
について、
【数２８】
0006359182.tif 000029
を満たす
【数２９】
0006359182.tif 000030
が存在するような可逆行列ΘおよびΩのペアである。
【００８６】
本発明のいくつかの実施の形態は、対称性が極限のシステムモデルＡｉに関係することに起因して、極限のコスト関数およびコントローラーを関係付けることができるという認識に基づいている。したがって、１つの実施の形態は、（１６）、（１７）を解く際の計算を低減するためにモデルのパラメーターの値間の対称性を用いて、コスト関数（１３）の安定化項（１４）の少なくとも一部を決定する。
【００８７】
例えば、いくつかの実施の形態は、対称性によって関係付けられない集合体内のモデルのみについて式（１６）、（１７）を解き、これによって、（１６）、（１７）における変数の数を低減し、これによって、これらを解くのを容易にする。例えば、
【数３０】
0006359182.tif 000031
によって、対称性によって関係付けられていないモデルの集合体内のモデルＡｉの部分集合を表す。また、
【数３１】
0006359182.tif 000032
によって、対称性によって関係付けられていない集合体内のモデルのペア（ｉ，ｊ）の部分集合を表す。いくつかの実施の形態は、集合体における対称的に関係付けられていないモデルｉ∈Ｉ１ごとに、１回のみ変数Ｓｉ、ＧｉおよびＥｉを求める。また、いくつかの実施の形態は、対称的に関係付けられていないペア（ｉ，ｊ）∈Ｉ２ごとに、１回のみ（１５）を解く。
【００８８】
例えば、１つの実施の形態は、各（ｉ，ｊ）∈Ｉ２について、
【数３２】
0006359182.tif 000033
を解き、ここで、ｉ∈Ｉ１およびΘＳｋΘ−１＝Ｓｊである。次に、実施の形態は、各
【数３３】
0006359182.tif 000034
について、
【数３４】
0006359182.tif 000035
を求める。ここで、ｉ∈Ｉ１について、Ａｋ＝ΘＡｉΘ−１である。
【００８９】
制約計算
本発明のいくつかの実施の形態は、機械の運動に対する制約が、所定の範囲内のモデルのパラメーターの値の全ての変動について、機械の動作中満たされることを保証するために、状態の実現可能領域
【数３５】
0006359182.tif 000036
の部分集合を、機械の状態がそのような部分集合内にあるときは、常に、その状態がパラメーターの全ての可能な値および擾乱についてその部分集合内に留まるような少なくとも１つの許容可能な制御入力が存在するように求めることができるという認識に基づいている。部分集合内に留まることによって、その部分集合は実現可能領域
【数３６】
0006359182.tif 000037
に含まれるので、全ての機械の運動制約が満たされる。
【００９０】
本発明のいくつかの実施の形態は、本明細書において制御入力に対する制御不変制約と呼ばれる制御入力に対するそのような制約を求めて用い、本明細書において状態の制御不変部分集合と呼ばれる状態の実現可能領域
【数３７】
0006359182.tif 000038
のそのような部分集合内に機械の状態を維持する制御入力を求める。この構成によって、制御不変制約を満たす制御入力は、不確実性モデルによって規定された範囲内のモデルのパラメーターの全ての値について、機械の状態を、機械の動作に対する制約を満たす状態の制御不変部分集合内に維持する。
【００９１】
図４Ａは、本発明の実施の形態による、機械の動作に対する様々な制約によって規定された状態の制御不変部分集合の２次元投影４１０の一例を示している。通常、この実現可能領域は、動作に対する制約に対応する複数の次元に沿って、１次不等式によって表される超平面によって決定された多次元ポリトープである。
【００９２】
後退ホライズン制御の性質に起因して、ある特定のホライズンの解が存在することは、それだけで、後続のホライズンの解が存在することを保証するものではない。例えば、機械の状態および基準軌道の状態４２０は、１つの反復にとって最適かつ実現可能である可能性があるが、コントローラーが次の反復中に取ることが可能な全ての制御動作４２１〜４２４は、機械の状態を実現可能領域４１０の外部に持って行く可能性がある。
【００９３】
本発明のいくつかの実施の形態は、実現可能領域の制御不変部分集合４１５を、その制御不変部分集合内の機械の任意の状態から、基準軌道の既知の将来の状態または基準軌道の全ての許容可能な将来の状態についてその部分集合内に機械の状態を維持する制御入力が存在するように選択することが可能であるというさらに別の認識に基づいている。例えば、部分集合４１５内およびコントローラーが実行することができる全ての可能な制御入力４３１〜４３４内の状態４３０等の任意の状態について、機械および基準の状態を部分集合４１５内に維持する少なくとも１つの制御入力４３４が存在する。この場合、部分集合４１５は制御不変部分集合である。
【００９４】
いくつかの実施の形態は、制御不変部分集合内の状態ごとに、式（５）による全ての可能な状態値について、機械の状態を制御不変部分集合内に維持する少なくとも１つの制御動作が存在するように、式（４）のモデルの状態の制御不変部分集合を求める。
【００９５】
図４Ｂは、機械の状態の実現可能領域４０１と、
【数３８】
0006359182.tif 000039
内における式（１）による不確実性を有するモデルの状態の最も大きい制御不変部分集合４０２との間の関係を示している。いくつかの実施の形態では、制御不変部分集合４０２は、この部分集合４０２よりも小さいが線形方程式によって形成されるより単純な形状を有する制御不変部分集合４０３を形成するように縮小される。部分集合４０２は、非線形方程式によって求められるので、部分集合４０２の形状は非凸である可能性がある。このように、４０３の計算は、より単純で、より効率的であり、制御目的に有利である。
【００９６】
図５は、本発明の１つの実施の形態による実現可能領域
【数３９】
0006359182.tif 000040
４０１から開始して制御不変部分集合４０３を求める後方可到達領域計算のブロック図を示している。後方可到達領域計算は、ロバスト制御不変部分集合Ｃｘを求めるとともに、制御不変集合Ｃｕ（ｘ）も求める。この計算は、Ｃｘ内の任意のｘについて、印加することができる
【数４０】
0006359182.tif 000041
内の入力ｕの集合を、（４）による全ての可能な次の状態がＣｘの内部となるように求める。
【００９７】
後方可到達領域計算は、現在の集合
【数４１】
0006359182.tif 000042
を実現可能集合
【数４２】
0006359182.tif 000043
に初期化し（５０１）、Ｐ内のパラメーターｐの全ての可能な値について、更新された状態が現在の集合
【数４３】
0006359182.tif 000044
内となるような
【数４４】
0006359182.tif 000045
内の入力ｕが、
【数４５】
0006359182.tif 000046
内の全ての状態ｘについて存在するように、状態の以前の集合
【数４６】
0006359182.tif 000047
を、現在の集合
【数４７】
0006359182.tif 000048
の部分集合として求める（５０２）。
【００９８】
５０３において、以前の集合
【数４８】
0006359182.tif 000049
が空である場合（５０４）、コントローラーの正しい動作を保証することができない。これは、パラメーターの可能な値の集合Ｐのサイズが、場合によっては機械の動作の設計または目的を変更することによって、縮小されるべきであることを意味する。５０５において、現在の集合と以前の集合とが等しい場合には、５０６において、集合Ｃｘが計算され、等しくない場合には、以前の集合が現在の集合となるように割り当てられ（５０７）、計算が再び反復される（５０８）。集合Ｃｘが見つかった場合、状態−入力対の最後に計算された集合が、Ｃｘ内の全てのｘについてのロバスト許容可能入力集合Ｃｕ（ｘ）である。
【００９９】
図６は、１つの実施の形態による状態の以前の集合を求める（５０２）一例示の実施態様のブロック図を示している。この実施の形態は、パラメーターの全ての値について現在の集合内にある更新された状態を生成する状態−入力対を特定し（６０１）、これらの状態入力対を状態値に投影する（６０２）。すなわち、この実施の形態は、そのような状態−入力対のうちの少なくとも１つに属する状態を特定する。
【０１００】
状態−入力対の計算方法６０１は、更新された状態が、アンサンブル内の全てのモデルについて現在の集合内にあるように、すなわち、
【数４９】
0006359182.tif 000050
となるように対（ｘ，ｕ）を求めることに基づく。
【０１０１】
機械の動作に対する仕様制約に加えて、いくつかの実施の形態は、機械状態が所望の値に収束するように、ＭＰＣにさらなる制約を追加する。例えば、そのような追加の制約は、
【数５０】
0006359182.tif 000051
等の終端制約であり、ＭＰＣ予測ホライズンの端部における終端状態のための領域を画定する。
【０１０２】
いくつかの実施の形態では、そのような終端制約は、機械の仕様制約およびモデルに従って決定される。一方、そのような決定は、機械のモデルが不確実であるときに困難である。このため、本発明の代替的な実施の形態は、仕様制約２３１、モデルの集合体２１１およびコスト関数成分２２１を用いて終端制約を決定する。
【０１０３】
例えば、１つの実施の形態は、終端制約を、集合
【数５１】
0006359182.tif 000052
として決定する。これは、それぞれ（１６）または（１７）を解くことによって得られる（１６ｂ）または（１７ｂ）における制御利得Ｋｉ、ｉ＝１、・・・、ｌまたはＫから制御される機械が制約を満たす初期状態の集合である。
【０１０４】
いくつかの実施の形態は、終端制約の集合を、
【数５２】
0006359182.tif 000053
によって、後方可到達集合のシーケンスの固定点として求める。ここで、
【数５３】
0006359182.tif 000054
は、実現可能な状態および入力の任意の部分集合である。
【０１０５】
図７は、本発明の１つの実施の形態による終端制約に対応する領域を決定するための後方到達可能方法のブロック図を示す。後方到達可能方法は、機械の実現可能な状態の現在の集合から開始し、機械の状態の後方到達可能集合が現在の集合によって囲まれるまで、機械の動力学の１ステップの展開後に現在の集合内にある、現在の集合内の状態の後方到達可能集合を反復して求める。
【０１０６】
例えば、現在の集合は、実現可能な状態の集合として初期化され（７０１）、ここで、それぞれ（１６）または（１７）を解くことによって得られる（１６ｂ）または（１７ｂ）における制御利得Ｋｉ、ｉ＝１、・・・、ｌまたはＫによって生成される入力は、入力制約を満たす。現在の集合から、後方到達可能集合が計算され（７０２）、システムの動力学の１ステップの展開後に現在の集合内にある、現在の集合内の状態が求められる。７０３において、後方到達可能集合が現在の集合を含むかまたは現在の集合に等しい場合、現在の集合は、最大制御不変集合である（７０４）。そうでない場合（７０５）、後方到達可能集合は現在の集合と交差し、方法の反復７０６において新たな現在の集合として用いられる。
【０１０７】
いくつかの実施の形態では、不変制約の存在に起因して、図７における後方到達可能方法は、
【数５４】
0006359182.tif 000055
に従って初期化される。
【０１０８】
一方、終端制約（１８）を常に満たすことができることを保証するために、いくつかの実施の形態は、予測ホライズンを変更することができる。そのような調整は、終端制約を満たすことができることを確実にするのに役立ち、すなわち、終端集合に対応する領域には、予測ホライズンの長さにおける任意の到達可能な初期状態によって到達することができる。
【０１０９】
そのために、いくつかの実施の形態は、制御不変制約を満たす全ての状態についてコスト関数の最適化に対する解が存在する予測ホライズンの最小の長さを決定する。次に、実施の形態は、予測ホライズンの長さを、好ましい長さと最小の長さとの間で最大の長さとして決定する。
【０１１０】
例えば、いくつかの実施の形態は、ｘ（０）∈Ｃｘについて式（３）を常に満たすことができるように最小予測ホライズンＮｍを決定し、好ましいホライズンＮｐ２３２がＮｍ未満である場合、実施の形態はＮ＝Ｎｍを設定し、そうでない場合、実施の形態はＮ＝Ｎｐを設定する。最小のホライズンの計算は、
【数５５】
0006359182.tif 000056
に従って交差する後方到達可能集合のシーケンスから決定された集合Ｓ（Ｎｍ）が
【数５６】
0006359182.tif 000057
となるような最小指数Ｎｍを求めることによって得ることができる。
【０１１１】
いくつかの実施の形態は、終端集合
【数５７】
0006359182.tif 000058
が制御不変である場合、すなわち、集合体内のモデルおよび式（１６）、（１７）から得られる利得Ｋｊの任意の組み合わせについて不変である場合、制約（１８）が常に満たされることも保証する制御不変量Ｃｘを好ましい予測ホライズンについて計算することができるという認識を利用する。
【０１１２】
１つの実施の形態では、この計算は、式
【数５８】
0006359182.tif 000059
の厳密にＮｐ回の反復を行うことによって、Ｎｐステップ後方到達可能集合を構築することによって得られる。この場合、ＭＰＣホライズンは、好ましいホライズン集合Ｎ＝ＮｐおよびＣｘ＝Ｒ（Ｎ）に等しくなるように設定することができる。
【０１１３】
例えば、Ｂｉ＝Ｂ、ｉ∈ｉ＝１、・・・、ｌであり、（１７）が解かれた場合、（２０）から計算される
【数５９】
0006359182.tif 000060
は、ロバスト不変であり、（２１ｂ）における方法を用いることができる。
【０１１４】
予測モデル
本発明のいくつかの実施の形態は、ＭＰＣコントローラーがその予測ホライズンＮに沿ってモデルの展開を予測する必要があるため、時点ｔにおけるモデルの推定値を全ての予測ステップについて用いることができないという認識に基づいている。代わりに、ＭＰＣ予測ホライズンＮの長さを有し、推定値ξの最も近似のＮ個の値を含む、時点ｔにおける現在の推定値ξ（ｔ）が、遅延バッファー２１１内に配置される。次に、数値問題の構築（２４６）により、遅延バッファー上に配置された過去の全ての推定値からＭＰＣ予測モデルが組み立てられる。
【０１１５】
このため、制御時点ｔに対するｋステップ未来の予測モデルは、全てのｋ∈［０，Ｎ］
について、
【数６０】
0006359182.tif 000061
として得られる。
【０１１６】
このため、いくつかの実施の形態では、予測ホライズンのための制御入力を決定するために用いられるモデルは、予測ホライズンに沿って異なるステップについて変化する。例えば、式（２２）のモデルは、モデルおよびパラメーターのＮ個の最も近似の推定値の集合体から構築された線形時変系であり、ここで、予測ホライズンに沿った各ステップにおいて、Ｎステップ前に得られたパラメーター推定値が用いられる。
【０１１７】
したがって、コスト関数の安定化項（１４）は、（１４）においてξ（Ｎ）＝ξ（ｔ）を設定し、（１５）によって（１４）を評価することによって、ξ（ｔ）から調整される。
【０１１８】
パラメーターの調整が機械の動作の前にのみ生じる場合、本発明において、
【数６１】
0006359182.tif 000062
を設定し、そのような値をモデル調整（２２）およびコスト関数調整（１４）の双方に用いれば十分であると認識される。ここで、
【数６２】
0006359182.tif 000063
は、推定が終了する時点において得られる推定値である。
【０１１９】
制御入力の決定
いくつかの実施の形態では、予測モデル、コスト関数、ＭＰＣ制約および現在の状態ｘ（ｔ）から、ＭＰＣコントローラーが有限ホライズン最適制御問題
【数６３】
0006359182.tif 000064
を構築する。ここで、
【数６４】
0006359182.tif 000065
は、予測される入力のシーケンスであり、
【数６５】
0006359182.tif 000066
は、システムパラメーターにおけるＮ個の最も近似の予測のシーケンスであり、
【数６６】
0006359182.tif 000067
は、機械の状態が所望の値にあるときにのみ０値を保つ非負値関数である。
【０１２０】
問題は、数値問題にさらに変換される。これは、以下のような二次計画である。
【０１２１】
【数６７】
0006359182.tif 000068
【０１２２】
二次計画（２５）の解は、現在の状態およびパラメーター推定値
【数６８】
0006359182.tif 000069
のための最適入力シーケンスを与える。次に、現時点ｔにおける機械のための制御入力が、最適制御シーケンス、例えば、
【数６９】
0006359182.tif 000070
の第１の要素として選択される。
【０１２３】
（２４）に対する解の計算能力は、機械状態の全ての値および機械パラメーターの全ての許容可能な推定値について、コスト関数行列Ｑ、Ｒが正定値であるときはいつでも、得られる数値問題（２６）が凸であることに基づく。また、パラメーター推定誤差の存在下の制約を満たすことは、Ｃｘおよび
【数７０】
0006359182.tif 000071
の構築に起因する。所望の状態への機械の収束は、
【数７１】
0006359182.tif 000072
を保証する、実施の形態による調整されたコスト関数（１３）および終端制約（１８）の構築に起因する。ここで、λｍｉｎ（Ｑ）は、Ｑの最小固有値であり、Ｑが正定値であるため、０よりも大きく、γＩＳＳは、推定誤差からの感度利得である。
【０１２４】
本発明の上記で説明した実施の形態は、数多くの方法のうちの任意のもので実施することができる。例えば、これらの実施の形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを用いて実施することができる。ソフトウェアで実施されるとき、ソフトウェアコードは、単一のコンピューターに設けられるかまたは複数のコンピューター間に分散されるかを問わず、任意の適したプロセッサまたはプロセッサの集合体上で実行することができる。そのようなプロセッサは、集積回路コンポーネントに１つまたは複数のプロセッサを有する集積回路として実施することができる。ただし、プロセッサは、任意の適した形式の回路部を用いて実施することができる。
【０１２５】
さらに、コンピューターは、ラックマウントコンピューター、デスクトップコンピューター、ラップトップコンピューター、ミニコンピューター、またはタブレットコンピューター等の複数の形態のうちの任意のもので具現化することができることが理解されるべきである。そのようなコンピューターは、エンタープライズネットワークまたはインターネット等のローカルエリアネットワークまたはワイドエリアネットワークを含む１つまたは複数のネットワークによって任意の適した形態に相互接続することができる。そのようなネットワークは、任意の適した技術に基づくことができ、任意の適したプロトコルに従って動作することができ、無線ネットワーク、有線ネットワーク、または光ファイバーネットワークを含むことができる。
【０１２６】
また、本明細書において略述した様々な方法またはプロセスは、様々なオペレーティングシステムまたはプラットフォームのうちの任意の１つを用いる１つまたは複数のプロセッサ上で実行可能なソフトウェアとしてコード化することもできる。加えて、そのようなソフトウェアは、複数の適したプログラミング言語および／またはプログラミングツールもしくはスクリプティングツールのうちの任意のものを用いて記述することができる。
【０１２７】
また、本発明の実施の形態は、方法として具現化することもできる。この方法の一例が提供されている。この方法の一部として実行されるステップは、任意の適した方法で順序付けることができる。したがって、例示されたものと異なる順序で動作が実行される実施の形態を構築することができ、これらの実施の形態は、いくつかの動作を、例示の実施の形態では順次的な作用として示されていても同時に実行することを含むことができる。
【図１Ａ】
0006359182.tif 000076
【図１Ｂ】
0006359182.tif 000077
【図１Ｃ】
0006359182.tif 000078
【図２Ａ】
0006359182.tif 000079
【図２Ｂ】
0006359182.tif 000080
【図２Ｃ】
0006359182.tif 000081
【図２Ｄ】
0006359182.tif 000082
【図２Ｅ】
0006359182.tif 000083
【図２Ｆ】
0006359182.tif 000084
【図２Ｇ】
0006359182.tif 000085
【図３Ａ】
0006359182.tif 000086
【図３Ｂ】
0006359182.tif 000087
【図４Ａ】
0006359182.tif 000088
【図４Ｂ】
0006359182.tif 000089
【図５】
0006359182.tif 000090
【図６】
0006359182.tif 000091
【図７】
0006359182.tif 000092