(57)【特許請求の範囲】
【請求項１】
アプリケーションのための制御問題を解決する方法であって、
所定時間間隔にわたって、コスト関数、状態方程式および制約を用いて、前記制御問題を、前記アプリケーションのための２次計画問題として定式化する第１の工程と、
正の最初の推定値を最適化変数ベクトルの初期値として、前記最適化変数ベクトルを更新法則に適用して更新しながら、前記２次計画問題を解くことで、前記アプリケーションに対して制御を行う第２の工程と、
を含み、
前記第１の工程および前記第２の工程の各工程はプロセッサにおいて実行される、
方法。
【請求項２】
前記第２の工程を行う前に、前記第１の工程で定式化された前記２次計画問題で用いられる２次項の正定性に関して、前記２次項が正となるまで、前記２次計画問題が再定式化される工程、をさらに含む、
請求項１の方法。
【請求項３】
すべての制約は非負錐にある、
請求項２の方法。
【請求項４】
すべての制約は非負錐にない場合、前記２次計画問題は、双対形式へ変換された後、前記第２の工程を行う、
請求項２の方法。
【請求項５】
前記制約は、時間的に変化する、
請求項１の方法。
【請求項６】
前記コスト関数のコスト項は、トラッキングエラー、制御労力、エネルギー使用量、電力消費量、加速度またはジャークを含む、
請求項１の方法。
【請求項７】
前記コスト項へ重み付けを行う際の重みは、調整可能である、
請求項６の方法。
【請求項８】
前記時間間隔の大きさは、モデル予測制御のために望まれる先取りまたは予見のレベルに基づいて調節される、
請求項１の方法。
【請求項９】
前記更新法則は、オンラインまたはオフライン方法を使用して実行される、
請求項１の方法。
【請求項１０】
各時間間隔内の制御問題は、トラッキングエラー、制御労力、エネルギー使用量、電力消費量、加速度またはジャークを含むコスト項を有するコスト関数を最小化する、
請求項１の方法。
【請求項１１】
各時間間隔内の制御問題は、状態と制御上の制約がある状態で、または状態と制約の１次関数上の制約がある状態で解かれる、
請求項１０の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一般的には、ファクトリーオートメーション（工場自動化）に関し、また、より詳細には、工作機械に対する制御指令を最適化するためのモデル予測制御に関するものである。
【背景技術】
【０００２】
モデル予測制御（ＭＰＣ）は、最適化に基づく制御戦略であり、それは、化学プロセス制御、サーボ動作制御、自動車のクルーズコントロール、および輸送ネットワークにおけるマルチエージェント制御のような広範囲の応用で成功裡に適用されてきた。たとえば、米国特許第７，８２６，９０９号「ダイナミック（動的）モデル予測制御」、米国特許第７，４１８，３７２号「モデル予測制御装置」、および米国特許第５，５１９，６０５号「モデル予測制御装置および方法」を参照。
【０００３】
ＭＰＣの定式化は、以下の通りである。将来時間において有限範囲（有限ホライズン：ｆｉｎｉｔｅ  ｈｏｒｉｚｏｎ）にわたってユーザに指定されたコストを最小化するために、各サンプリング時刻で、最適化問題が解決され、一連のコントロール（制御）が得られる。この最適化は、リアルタイムとしても言及されるオンラインで、行われる。上記のプロシジャー（手続き）が繰り返される場合、将来時間における一連の制御から、１番目の制御のみが適用され、システムは、次のサンプル時刻へ駆動される。各サンプル時刻のコスト関数には、様々な構造があり得るものであり、その例は、最適化問題を２次計画（ＱＰ）問題にする２次形式である。
【０００４】
ＭＰＣの主な欠点のうちの１つは、各サンプリング時刻で最適化問題を解決するために、長い計算時間を必要とするということである。したがって、それは、化学プロセス（工程）のような、遅いダイナミクスおよび大きなサンプリング時間間隔を有するシステムに、通常制限される。
【０００５】
より最近では、ＭＰＣは、高速の最適化方法を適応させることにより、短いサンプリング時間間隔のコントロールアプリケーション（制御応用）において使用されている。特に、各サンプリング時間ごとに提起されたＱＰ問題の高速な解決を可能にするために、高速ＱＰ方法が、ＭＰＣ問題に対して、提案されている。たとえば、ＭＰＣセッティングにおけるＱＰ問題の特別な構造を利用するように特に適応され、これにより処理時間の著しい減少を達成する内点法が、知られている。
【０００６】
アクティブセット（動的設定）方法は、優先順位を「より最近の」将来に関連した制約へ割り当てる。入力制約を有する線形の時間不変系（ｌｉｎｅａｒ  ｔｉｍｅ−ｉｎｖａｒｉａｎｔ：ＬＴＩ）のＭＰＣのための勾配法も知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記の諸方法は処理時間を低減することができるが、それらの方法の多くは、大域的最小点への収束に関する保証のないヒューリスティックス（発見法）である。さらに、それらの方法の並列な実行は、それが可能な場合、特定の問題構造および入力データに依存する。
【０００８】
この発明の実施の形態は、モデル予測制御（ＭＰＣ）における２次計画（ＱＰ）問題の並列な実行のための方法を与える。この発明は、並列化すなわち並列２次計画法（ＰＱＰ）に適用可能なプログラミング（計画）更新規則を使用した。そのような並列化は、当業者に知られている、たとえば細粒度並列化および他の高度な形式の並列化のように、高性能レベルで遂行することができる。
【課題を解決するための手段】
【０００９】
この発明は、本質的に、比率として表現されたカルシュ・キューン・タッカ（Ｋａｒｕｓｈ−Ｋｕｈｎ−Ｔｕｃｋｅｒ：ＫＫＴ）の１次最適性条件である乗法不動点を使用する。決定変数は、先行技術の勾配に基づく方法におけるようにインクリメント（漸増）されるのではなく、サイズ変更される。同様の乗法不動点方法は、機械学習、断層撮影法、画像処理および推定において使用されてきたが、収束がいずれにしても立証可能な場合、それらの方法は、厳密に負でない係数、正定性（ｐｏｓｉｔｉｖｅ  ｄｅｆｉｎｉｔｅｎｅｓｓ）、または、収束のために好ましい初期状態設定（ｆａｖｏｒａｂｌｅ  ｉｎｉｔｉａｌｉｚａｔｉｏｎ）の幾つかの組合せに依存する。
【００１０】
ＰＱＰは、先行技術に存在する制限無しで収束することが、証明可能である。ＰＱＰは、鞍点問題を解決するための線形相補性問題に対する行列分割方法とも関連づけられる。それらの方法と異なり、この発明によるＰＱＰ更新は、閉じた形式で与えられ、各変数ごとに独立して決定することができる。
【００１１】
この発明において使用されるＰＱＰは、任意の問題データ構造に対して完全に並列化（並行処理）させることができ、また、マルチコア、単一命令／多重データ（ＳＩＭＤ）、およびグラフィック処理ユニット（ＧＰＵ）を含むマルチプロセッサマシンの完全な並列処理を容易に活用することができる。その極端な簡易さ、すなわち２つの行列ベクトル積および１つのスカラー分割により、ＰＱＰ更新は、また、直列式コンピュータ上で実行されたときでさえ、相当な速度的利点を提供する。
【発明の効果】
【００１２】
この発明は、１つ以上の工作機械が金属切削加工操作のような所望のタスクを行うように制御コマンドによって駆動されるような、ファクトリーオートメーション（工場自動化）アプリケーションに適用可能である。
【図面の簡単な説明】
【００１３】
【図１】この発明の実施の形態１による、最適化に基づく制御問題を解決するための方法のフローチャートである。
【発明を実施するための形態】
【００１４】
実施の形態１．
図１は、この発明の実施の形態による、最適化に基づく制御問題を解決するための方法を示す。
【００１５】
本方法への入力１０１は、制御パラメータおよび変数、動的状態式（ｄｙｎａｍｉｃ  ｓｔａｔｅ  ｅｑｕａｔｉｏｎｓ）、コストおよび制約を含む。パラメータは、質量、長さおよび材料（ｍａｔｅｒｉａｌ）パラメータのような機械パラメータを含むことができる。制約は最高速度、移動の範囲および最大トルクを含むことができる。入力は、ここで使用される「アプリケーション」のように、処理工場、工作機械、車両などを含む典型的なオートメーション（自動化）アプリケーションで見つけられる如何なる任意のパラメータおよび制約でもあり得る、と理解されるべきである。
【００１６】
モデル予測制御（ＭＰＣ）問題は、力学モデルとその入力とを使用して、そのアプリケーションに対して定義１１０される。当該技術分野における通常の技術を有するもの（当業者）によって知られているように、モデルは、物理学に基づくモデルまたはブラックボックスモデルから得ることができる。
【００１７】
ＭＰＣ問題は、１組のＮ個のサンプルの各有限の時間間隔に対して解かれた最適化問題である。コスト関数は、特定のアプリケーションのために、あらかじめ決められるか、または、ユーザにより定義される。制約もアプリケーションによって規定される。
【００１８】
以下に述べるように、最適化問題は、制御変数に関して、２次計画（ＱＰ）問題として設定することができる。
【００１９】
ＱＰ問題は、ＱＰにおいて使用される２次項の正定性に関して、仮定の妥当性のために（仮定が有効であるか）テスト１１５される。仮定が有効でない１１６場合、ＱＰは、仮定が有効となるまで、再定式化１１７される。
【００２０】
仮定が有効である１１８場合、その問題の制約に対してテスト１２０するべき追加条件がある。それらの制約が非負のコーンにある１２１場合、ＱＰは、終了条件（ｔｅｒｍｉｎａｔｉｏｎ  ｃｏｎｄｉｔｉｏｎ）１２８が満たされるまで、正の最初の推定値１２６を有するＰＱＰ更新法則を使用することにより解かれる１２５。たとえば、コスト関数、またはプライマル（主：ｐｒｉｍａｌ）変数、またはそれらの値の変化、に関する許容範囲等の、多くの選択が、終了条件に対して存在する。そして、最適化から得られた制御動作は、たとえば機械、プラント（工場）等のアプリケーションへ適用１３０される。
【００２１】
それらの制約が非負のコーンにない１２７場合、プライマル（主）ＱＰは、デュアル（双対）形式へ変換１４０され、そして、終了条件に遭遇１５０するまで、正の最初の推定値に対してＰＱＰ更新法則が適用１４５される。最初（ｏｒｉｇｉｎａｌ）の主問題は、その後、双対形式から回復１６０され、また、対応する制御動作が、次にアプリケーションに適用される。
【００２２】
上述のような工程（ステップ）は、当該技術において知られているように、メモリおよび入出力インタフェースに接続されたプロセッサにて行うことができる。当業者に知られているような、如何なる従来のプロセッサも使用することができる。尚、これらの工程は、また、処理時間を低減するため、並列に実行することができる。
【００２３】
ＱＰ問題
【００２４】
ＱＰ問題は、次の形式を持ち得る。
【００２５】
【数１】
0005930655.tif 000002
【００２６】
ここで、ｙは最適化変数のベクトル、Ｔは転置演算子、Ｑは正方行列、および、ｈはベクトルであり、ｍｉｎは最小値を返す関数である。Ｑは、同様に、正値定符号行列（正定行列）、または半正値定符号行列（半正定行列）であり得る。
【００２７】
好ましい実施の形態では、その問題には、次のような更新法則の形式がある。最初の推定値ｙ＞０からを始めて、双対変数ｙのｉ番目の要素ｙｉに対して、以下である。
【００２８】
【数２】
0005930655.tif 000003
【００２９】
ここで、我々は以下のように定義する。
Ｑ＋＝ｍａｘ（Ｑ，０）＋ｄｉａｇ（ｒ）、Ｑ−＝ｍａｘ（−Ｑ，０）＋ｄｉａｇ（ｒ）；ｈ＋＝ｍａｘ（ｈ，０）；ｈ−＝ｍａｘ（−ｈ，０）、ｍａｘ（ａ、ｂ）は、要素ごとに得られ、ｄｉａｇ（ａ）はベクトルａから形成された対角行列であり、また、ｒは非負ベクトルであり、また、ｍａｘは最大値を返す関数である。
【００３０】
好ましい実施の形態のための例示アプリケーションでは、この発明は時間的に変化する基準値追跡（ｔｒａｃｋｉｎｇ）問題に適用される。多くの実用的なサーボアプリケーションはそのような問題を解決することを含む。例示アプリケーションは、目の手術において要求とされるように、レーザー光線を正確に案内することや、または金属や、プラスチックや、他の材料基板の精密切断に使用される工作機械を正確に案内することを含む。
【００３１】
ダイナミック（動的）機械に対する、最適化に基づく制御問題を解決する際に、線形時不変系用のサーボ追跡（トラッキング）アプリケーションは、如何なる時間サンプルｋでも、次の状態および出力方程式を有する。
【００３２】
【数３】
0005930655.tif 000004
【００３３】
ここで、ｘｋは状態を表わし、ｕｋは制御を表わし、ｙｋは測定された出力を表わし、また、システム行列Ａ、ＢおよびＣは、物理的なパラメータ、たとえばアプリケーションのディメンションや他のスペック（仕様）、たとえば工作機械帯域幅、荷重容量等、に依存する。
【００３４】
この実施の形態において解決するべき問題の目的は、ＭＰＣ問題の各時間間隔内で次のことを最小化することである。
（ｉ）出力位置と基準信号との間のトラッキングエラー、および
（ｉｉ）制御エネルギー、すなわちアプリケーション（工作機械）のエネルギー使用量。
【００３５】
その問題における制約は次のように選択される。
（ｉ）状態制約：
（ａ）出力位置は、常に基準値のまわりの許容範囲帯域（バンド）、またはチューブ、内にあることを要求され、および
（ｂ）速度が制限される。
（ｉｉ）各サンプルポイントの制御制約はアクチュエーター飽和範囲内でなければならない。
【００３６】
本方法は、所与のサンプル時間間隔ｋの間に、サイズ（大きさ）Ｎのウィンドウ上に以下のように定義されたコスト関数を最小化することにより、ＱＰ問題を解決する。
【００３７】
【数４】
0005930655.tif 000005
【００３８】
ｒｋ＋ｉがトラッキング（追跡）している基準軌道サンプルを表わす場合、Ｓ＞０はトラッキングエラーコストに関する、ユーザにより選択された（調整可能な）重みであり、Ｒ＞０は制御労力コストに関する、ユーザにより選択された（調整可能な）重みであり、また、最後の項は、所望のターミナル（終了）状態ｘｆからのウィンドウ中のターミナル（終了）状態の偏差（ずれ）に関する重みＰ＞０を有するターミナル（終了）コストである。尚、上記の項に加えて、電力消費量、加速度およびジャーク（ｊｅｒｋ）のような他の実用的な要件を表わす２次のコスト項を含むことができる。
【００３９】
次の動的状態式および状態（または出力）および制御制約を満たしつつ、時間間隔ｋに対して上記のコスト関数を最小化する必要がある。
【００４０】
【数５】
0005930655.tif 000006
【００４１】
ここで、Δは基準軌道（ｒｅｆｅｒｅｎｃｅ  ｔｒａｊｅｃｔｏｒｙ）からの位置ｘｐ、ｋ＋ｉの指定された最大の偏差を表わし、ｖｍｉｎ、ｖｍａｘは、機械の速度ｘｖ、ｋ＋ｉの最小値および最大値を表わし、また、ｕｍｉｎ、ｕｍａｘは、その機械によって適用された制御労力ｕｋ＋ｉの最小値および最大値を表わす。
【００４２】
上記のＭＰＣ問題は、次の形式の一般的な主ＱＰ問題へ変換１４０することができる。
【００４３】
【数６】
0005930655.tif 000007
【００４４】
以下の仮定が有効である１１５場合、すなわち
仮定：ｑ＞０、
であれば、並列な２次計画更新法則を、上記の主問題の双対形式に適用することができる。最適化の定式化（ｆｏｒｍｕｌａｔｉｏｎ）に対して記述したように、コスト関数の２次のコスト項が、トラッキング（追跡）エラー、制御労力、エネルギー使用量、電力消費量、加速度、ジャーク（ｊｅｒｋ）、または状態、出力または制御の他の２次関数、またはそれらの組合せを表わすように、ｑ＞０を選択することができる、ことに注意すべきである。ベクトルは、追跡される基準を表わすパラメータを含んでいる。これらのパラメータは、時間的に変化する基準に対しては、時間的に変化してもよい。制約は、また、時間的に変化してもよく、それは制約条件不等式内の時間的に変化するベクトルに帰着することになる。
【００４５】
上記の最適化問題は後退ホライズン（リシーディングホライズン：ｒｅｃｅｄｉｎｇ  ｈｏｒｉｚｏｎ）で行うことができる。すなわち、カレント（現在の）ウィンドウを解き、将来時間において一連の制御を得た後に、１番目の制御だけが適用され、システムは次のサンプル時間へ駆動され、そこから、新しいウィンドウが選択され、上記のプロシジャー（手続き）が繰り返される。
【００４６】
なお、ウィンドサイズＮのより高い値はより多くの将来を見ることを可能にし、また、より良い予測能力を可能にする、ことに注目すべきである。ウィンドサイズＮは、最適化問題のための演算（計算）時間、制御されるサーボシステムの時定数、および追跡される基準軌道、の要件に基づいて、ユーザにより、所望の水準に調整することができる。
【００４７】
主解は、双対解から回復され、制御動作としてサーボアプリケーションに適用することができる。仮定が有効でない１１６場合、ＭＰＣ問題は、その仮定が有効となるまで、再定式化１１７される。
【００４８】
この発明は、１つ以上の工作機械が金属切削加工操作のような所望のタスクを行うように制御コマンドによって駆動されるような、ファクトリーオートメーション（工場自動化）アプリケーションに適用可能である。
【００４９】
本方法は、ユーザが各操作に対してオンラインで機械パラメータを調節することを可能にしながら、指定時間内に所与のタスクを行うことができる。したがって、本方法のパラメータは、各カッティングオペレーション（切削動作）に対して調節することができる。それらのパラメータは、カット（切削）の精度すなわち正確さ、カッティングジョブ（切削作業）のための所用時間および消費エネルギー、に対する要件をターゲットとする。
【００５０】
この発明は或る好ましい実施の形態に関連して記述されたが、この発明の趣旨および範囲内で様々な他の改変および変更を行うことができることが理解されるであろう。したがって、この発明の真実の趣旨および範囲内に入るような、すべての変更例および変形例をカバーすることが、添付の請求項の目的である。
【図１】
0005930655.tif 000008