(57)【特許請求の範囲】
【請求項１】
境界条件を満たす１組の微分方程式の解によって表される制御軌跡に従ってシステムの動作を制御するための方法であって、前記１組の微分方程式は順序付けされた区分的微分方程式を含み、該方法は、
前記１組の微分方程式をパラメーター化するステップであって、切替え時点における前記解の値を表す第１の１組のパラメーターと、前記切替え時点の値を表す第２の１組のパラメーターとを得るものと、
前記境界条件が満たされるまで前記第１の１組のパラメーター及び前記第２の１組のパラメーターを交互に求めるステップであって、前記解を得るものと、
前記解に基づいて、前記システムの前記動作を制御する前記制御軌跡を生成するステップと、
を含み、
該方法のステップはプロセッサによって実行される、境界条件を満たす１組の微分方程式の解によって表される制御軌跡に従ってシステムの動作を制御するための方法。
【請求項２】
前記交互に求めるステップは、
固定した前記第２の１組のパラメーターの前記値を有する前記１組の微分方程式を解くことによって第１の１組の境界条件を満たす前記第１の１組のパラメーターの値を求めるステップと、
固定した前記第１の１組のパラメーターの前記値を有する前記１組の微分方程式を解くことによって第２の１組の境界条件を満たす前記第２の１組のパラメーターの前記値を求めるステップと、
前記第１の１組の境界条件及び前記第２の１組の境界条件の双方が満たされるまで、前記第１の１組のパラメーターの値を求めること及び前記第２の１組のパラメーターの値を求めることを繰り返すステップであって、前記制御軌跡を得るものと、
を含む、請求項１に記載の方法。
【請求項３】
前記第１の１組のパラメーター及び前記第２の１組のパラメーターを初期化するステップと、
前記第１の１組の境界条件が満たされるまで、初期値問題を解くことによって前記第１の１組のパラメーターの前記値を反復的に更新するステップと、
前記第１の１組のパラメーターの前記更新された値及び前記第２の１組の境界条件に基づいて、前記第２の１組のパラメーターの前記値を更新するステップと、
を更に含む、請求項２に記載の方法。
【請求項４】
前記境界条件を、前記第１の１組のパラメーターに対応する前記第１の１組の境界条件と、前記第２の１組のパラメーターに対応する前記第２の１組の境界条件とに分割するステップを更に含む、請求項３に記載の方法。
【請求項５】
前記切替え時点における前記システムの状態及び共状態の連続性に基づいて前記第１の１組の境界条件を求めるステップを更に含む、請求項４に記載の方法。
【請求項６】
前記システムはモーターを含む運動制御システムであり、該システムの前記動作は制約を受け、前記第１の１組のパラメーターの前記値は前記システムの状態及び共状態を表し、前記１組の微分方程式及び前記境界条件は、前記制約を満たす前記解を有し、かつ前記動作中の前記システムのエネルギー消費を表すコスト関数を最適化する多重境界値問題(ＭＢＶＰ)を形成する、請求項１に記載の方法。
【請求項７】
前記コスト関数は以下の積分であり
【数１】
0006037890.tif 000032
ここで、Ｅは前記動作の時間Ｔ中の前記システムの前記エネルギー消費であり、Ｐ(ｘ，ｕ)は前記システムの瞬間エネルギー消費であり、ｘは前記モーターの状態であり、ｕは前記モーターへの制御入力であり、前記瞬間エネルギー消費Ｐは、前記モーターの抵抗巻線の銅損、増幅器の切替え損失、及び前記モーターの機械的作業のうちの少なくとも１つから得られる、請求項６に記載の方法。
【請求項８】
前記システムの前記動作の前記コスト関数及び前記制約のハミルトニアン解析に基づいて前記ＭＢＶＰを求めるステップであって、前記制約は、前記モーターの加速度制約、該モーターの速度制約、該モーターの入力電流制約、該モーターの動的制約、追跡時間、該モーターの初期条件、及び該モーターの最終状態のうちの１つ又はそれらの組合せを含むものを更に含む、請求項６に記載の方法。
【請求項９】
前記コスト関数は以下の式であり、
【数２】
0006037890.tif 000033
ここで、Ｅは前記動作の時間Ｔ中の前記システムの前記エネルギー消費であり、ｕは前記モーターへの制御入力であり、Ｒは前記モーターの巻線の抵抗であり、ｘ２は前記モーターの角速度を表す該モーターの前記状態ｘの第２の成分であり、Ｋｓは増幅器における切替え損失の定係数であり、Ｋτは前記モーターのトルク定数である、請求項６に記載の方法。
【請求項１０】
前記ＭＢＶＰが線形時不変ＭＢＶＰとなるように、前記システムの前記動作の前記コスト関数及び制約のハミルトニアン解析に基づいて前記ＭＢＶＰを求めるステップと、
前記第１の１組のパラメーター及び前記第２の１組のパラメーターを初期化するステップと、
前記第１の１組の境界条件が満たされるまで、初期値問題を解析的に解くことによって前記第１の１組のパラメーターの前記値を反復的に更新するステップと、
前記第１の１組のパラメーターの前記更新された値及び前記第２の１組の境界条件に基づいて、前記第２の１組のパラメーターの前記値を更新するステップと、
を更に含む、請求項９に記載の方法。
【請求項１１】
前記システムの前記動作の前記コスト関数及び前記制約のハミルトニアン解析に基づいて１組のＭＢＶＰを求めるステップと、
前記１組のＭＢＶＰから前記ＭＢＶＰを選択するステップと、
前記ＭＢＶＰの解が前記制約を満たす場合、該解を前記制御軌跡を表すように割り当てるステップと、そうでない場合、前記解が前記制約を満たすまで前記選択すること及び前記割り当てることを繰り返すステップと、
を更に含む、請求項６に記載の方法。
【請求項１２】
前記ＭＢＶＰを選択する順序は、該ＭＢＶＰの構造の複雑度に基づく、請求項１１に記載の方法。
【請求項１３】
境界条件を満たす１組の微分方程式によって形成される多重境界値問題(ＭＢＶＰ)を解くための方法であって、前記１組の微分方程式は順序付けされた区分的微分方程式を含み、前記ＭＢＶＰの解は制御軌跡を表し、該方法は、
前記１組の微分方程式をパラメーター化するステップであって、切替え時点における前記解の値を表す第１の１組のパラメーターと、前記切替え時点の値を表す第２の１組のパラメーターとを得るものと、
固定した前記第２の１組のパラメーターの前記値を有する前記１組の微分方程式を解くことによって第１の１組の境界条件を満たす前記第１の１組のパラメーターの値を求めるステップと、
固定した前記第１の１組のパラメーターの前記値を有する前記１組の微分方程式を解くことによって第２の１組の境界条件を満たす前記第２の１組のパラメーターの前記値を求めるステップと、
第１の１組の境界条件及び前記第２の１組の境界条件の双方が満たされるまで、前記第１の１組のパラメーターの値を求めること及び前記第２の１組のパラメーターの値を求めることを繰り返すステップと、
を含み、該方法のステップはプロセッサによって実行される、境界条件を満たす１組の微分方程式によって形成される多重境界値問題を解くための方法。
【請求項１４】
前記第１の１組のパラメーター及び前記第２の１組のパラメーターを初期化するステップと、
前記境界条件を、前記第１の１組のパラメーターに対応する前記第１の１組の境界条件と、前記第２の１組のパラメーターに対応する前記第２の１組の境界条件とに分割するステップと、
前記第１の１組の境界条件が満たされるまで、初期値問題を解くことによって前記第１の１組のパラメーターの前記値を反復的に更新するステップと、
前記第１の１組のパラメーターの前記更新された値及び前記第２の１組の境界条件に基づいて、前記第２の１組のパラメーターの前記値を更新するステップと、
を更に含む、請求項１３に記載の方法。
【請求項１５】
前記第１の１組の境界条件及び前記第２の１組の境界条件が満たされるまで、前記第１の１組のパラメーターの前記値を更新すること及び前記第２の１組のパラメーターの前記値を更新することを再帰的に繰り返すステップを更に含む、請求項１４に記載の方法。
【請求項１６】
前記初期値問題は解析的に解かれる、請求項１４に記載の方法。
【請求項１７】
制御信号に基づいてシステムを制御するための運動制御装置であって、
軌跡生成モジュール及び制御モジュールを実行するように構成されたプロセッサを備え、
前記軌跡生成モジュールは、混合シューティング法を用いて多重境界値問題(ＭＢＶＰ)を解くことによって制御軌跡を求め、
前記制御モジュールは、前記制御軌跡に基づいて前記制御信号を生成する、
制御信号に基づいてシステムを制御するための運動制御装置。
【請求項１８】
前記軌跡生成モジュールは、切替え時点における前記制御軌跡の値を表す第１の１組のパラメーターと、前記切替え時点の値を表す第２の１組のパラメーターとを初期化し、前記第１の１組の境界条件及び前記第２の１組の境界条件が満たされるまで前記第１の１組のパラメーター及び前記第２の１組のパラメーターを交互に更新する、請求項１７に記載の装置。
【請求項１９】
前記システムの動作は制約を受け、前記第１の１組のパラメーターの前記値は前記システムの状態及び共状態を表し、ＭＢＶＰへの解は、前記動作中の前記システムのエネルギー消費を表すコスト関数を最適化する、請求項１７に記載の装置。
【請求項２０】
前記コスト関数は以下の積分であり
【数３】
0006037890.tif 000034
ここで、Ｅは前記動作の時間Ｔ中の前記システムの前記エネルギー消費であり、Ｐ(ｘ，ｕ)は前記システムの瞬間エネルギー消費であり、ｘはモーターの状態であり、ｕは前記モーターへの制御入力であり、前記瞬間エネルギー消費Ｐは、前記モーターの抵抗巻線の銅損及び前記モーターの機械的作業のうちの少なくとも１つから得られる、請求項１９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、包括的には、システムの動作の制御の最適化に関し、より詳細には、多重境界値問題を解くことによって制御軌跡(control trajectory)を求めることに関する。
【背景技術】
【０００２】
最適制御問題は、航空宇宙における最小燃料着陸、及び製造における時間最適動作等の多岐にわたる用途に適用される。例として、時間最適運動制御システムは、位置決め用途、例えば単軸位置決め又は多軸位置決めにおいて広く用いられる。単軸位置決め運動制御システムは、運動制御装置と、サーボ増幅器と、モーターとを備える。運動システムの最適制御は通常、設計の複雑度を低減する２つのステップにおいて解かれる。第１のステップは、モーターが運動システムの状態制約又は制御制約、すなわち加速度、速度、ジャークを制御するための制御軌跡を求める。第２のステップは、モーターがこの制御軌跡に追従することを確実にする制御装置を設計する。
【０００３】
制御軌跡は、モーターの運動によって生じる振動、及び特定のタスクの位置決め時間又はエネルギー消費等の他の性能メトリックを低減するように求めることもできる。運動制御システムの性能に対する制御軌跡の影響に起因して、複数の対立する目的を最適化する制御軌跡を求めることは困難である。
【０００４】
動的計画法及び最小原理は、最適制御問題を解くのに用いられる２つの主要な技法である。動的計画法は、最適制御問題を、ハミルトン−ヤコビ−ベルマン方程式と呼ばれる１組の偏微分方程式に簡約する。最小原理によって、境界値に対する条件を有する１組の微分方程式、すなわち境界値問題が得られる。境界値問題は、１組の境界条件と合わせた１組の微分方程式である。境界値問題の解は、境界条件も満たす微分方程式の解である。
【０００５】
境界値問題を解くことは難しく、通例、微分方程式の推測初期条件を用いて初期値問題(ＩＶＰ)を解くことに頼る。ＩＶＰは、解の領域内の所与の点における未知の関数の、初期条件と呼ばれる特定の値と合わせた１組の微分方程式である。ＩＶＰを用いて境界値問題を解くために、初期値に対応する軌跡が境界条件を満たすまで、初期値が反復的に更新される。
【０００６】
システムの動作が状態制約又は制御制約を受けるとき、制約された最適制御問題の結果、多点境界値問題(ＭＢＶＰ)が得られる。多点境界値問題は、１組の順序付けされた区分的微分方程式及び対応する境界条件である。通常、境界条件は、ＭＢＶＰの解の領域内の少なくとも３つの点について指定される。ＭＢＶＰは最も困難な一部の境界値問題のうちの１つである。
【０００７】
ＭＢＶＰは、以下の形式をとることができる。
【０００８】
【数１】
0006037890.tif 000002
【０００９】
ここで、ｘは状態変数のベクトルであり、λは共状態変数のベクトルであり、ｕは制御変数のベクトルであり、Ｈは適切に定義されたハミルトニアン演算子であり、μ、ｖ、πはラグランジュ乗数であり、ｍは定数であり、ｔ０及びｔｍはそれぞれ初期時点及び最終時点を表し、ｆ、ｇ、ｈは区分的関数である。開示を単純にするために、ｘ、λ、ｕはそれぞれ、状態変数、共状態変数、及び制御変数と呼ばれる。微分方程式は、状態変数及び共状態変数が経時的にどのように展開するかを定義する。代数方程式は、時点ｔｋにおける状態変数及び共状態変数並びに制御変数の値を、ｘ、λ、及びｔの関数として指定する。初期時点はｔ０＝０であり、最終時点はｔｍ＝Ｔである。
【００１０】
図１は、１組の順序付けされた微分方程式１２０と、１組の境界条件(ＢＣ)１３０と、特定される１組の未知のパラメーター１４０とを含む従来のＭＢＶＰ１１０を示している。パラメーターは、ＭＢＶＰの定義と無関係であるが、この説明を単純にするためにＭＢＶＰの一構成要素として扱われる。境界条件は通例、代数方程式の形態をとる。
【００１１】
図２は、３つのセグメントＡＢ１２１０、Ｂ１Ｂ２２２０、及びＢ２Ｂ２３０を有する制御軌跡を含むＭＢＶＰの例示的な解を示している。図２において、ｘ(ｔ)及びλ(ｔ)は、状態変数及び共状態変数の軌跡を表し、(オーバーバー)ｔ１は制御軌跡が第１の１組の微分方程式から第２の１組の微分方程式に切り替わる時点であり、(オーバーバー)ｔ２は制御軌跡が第２の１組の微分方程式から第３の１組の微分方程式に切り替わる時点である。制御軌跡の各セグメントは、異なる１組の微分方程式を満たし、すなわち、ＭＢＶＰは、それぞれ間隔[０，(オーバーバー)ｔ１]、[(オーバーバー)ｔ１，(オーバーバー)ｔ２]、及び[(オーバーバー)ｔ２，Ｔ]にわたって定義される３組の微分方程式を有し、セグメントＡＢ１は[０，(オーバーバー)ｔ１]にわたって定義される第１の１組の微分方程式を満たし、セグメントＢ１Ｂ２は[(オーバーバー)ｔ１，(オーバーバー)ｔ２]にわたって定義される第２の１組の微分方程式を満たし、セグメントＢ２Ｂは[(オーバーバー)ｔ２，Ｔ]にわたって定義される第３の１組の微分方程式を満たす。
【００１２】
単一シューティング及び多重シューティングを含むシューティング法は、ＭＢＶＰを初期値問題として解く、古典的であるが効果的な方法である。
【００１３】
単一シューティング法
図３は単一シューティング法の原理を示している。曲線ＡＢ３１０は、探索されるＭＢＶＰの真の解である。点Ａにおける状態ｘ(０)及び共状態λ(０)の値は、部分的に未知であるので、点Ｂにおけるｘ(Ｔ)及びλ(Ｔ)の値に関する情報を用いて、点Ａにおける状態値及び共状態値が特定される。点Ａにおける状態値及び共状態値を所与とすると、ＭＢＶＰは初期値問題として解くことができるので、ＭＢＶＰの解は一意に定義される。
【００１４】
点Ａにおける真の状態値及び共状態値を探索する方法は以下の通りである。まず、この方法は、ｘ(０)及びλ(０)の初期値を意味する、軌跡の初期位置Ａ’３３０を推定する。次に、ＭＢＶＰは、初期値問題に簡約され、曲線Ａ’Ｂ’３２０によって表されるこの初期値問題の解は、微分方程式の積分によって得ることができる。Ａ’から開始する初期値問題の解は、最後は最終位置Ｂ’３４０となる。これは、予測位置Ｂから距離δＦにある。シューティング誤差δＦを用いて、Ａ’の位置の推定値が更新される。
【００１５】
単一シューティング法は、１つの時点におけるパラメーター、通例、初期時点における共状態値を定義し、別の時点において境界条件、通例、最終時点における状態値及び共状態値の組合せが課される。例として、図３のＭＢＶＰは境界条件を有し、すなわちδＦ＝０であるか又は点Ｂ’がＢと一致する。単一シューティングは、パラメーターが少なく、実施が容易であるが、特に、微分方程式が非線形であるか又は大きな時間間隔にわたって定義される場合に収束が不良である等の特性を有する。
【００１６】
単一シューティング法はまた、必要条件が意味する最適軌跡を十分活用せず、このため、未知のパラメーターの初期推定値の品質に、より依存する。パラメーターに対する境界条件の感度に起因して、単一シューティング法の解は、限られたクラスの境界値問題、例えば線形境界値問題、又は非常に短い時間間隔にわたって定義された境界値問題についてのみ機能する。単一シューティング法を用いてＭＢＶＰを解くときに通常観察されるのは、特異勾配問題(singular gradient issue)である。
【００１７】
多重シューティング法
多重シューティング法は、単一シューティング法の幾つかの限界に対処し、通常、微分方程式における初期推測、非線形性、及び大きな時間間隔を所与とすると、単一シューティング法よりも正確である。多重シューティング法は、単一シューティング法の不良な収束特性を改善する。
【００１８】
図４は、多重シューティング法の基本的な着想を示している。曲線ＡＢはＭＢＶＰの解を表し、これは３つのセグメントを含む。第１のセグメントは[０，(オーバーバー)ｔ１]にわたって定義される第１の１組の微分方程式を満たす。第２のセグメントは、[(オーバーバー)ｔ１，(オーバーバー)ｔ２]にわたって定義される第２の１組の微分方程式を満たす。第３のセグメントは、[(オーバーバー)ｔ２，Ｔ]にわたって定義される第３の１組の微分方程式を満たす。区分的微分方程式を積分するために、多重シューティング法は、時間間隔［０，Ｔ］を、例としてＮ個の部分間隔［ｔｋ，ｔＫ＋１］(０≦ｋ≦Ｎ−１)に離散化する。ここで、ｔ０＝０及びｔＮ＝Ｔである。
【００１９】
図４に示すように、Ａ’０，…，Ａ’Ｎ−１は、時点ｔ０，…，ｔＮ−１における軌跡の推定値であり、(オーバーバー)ｔ１，(オーバーバー)ｔ２は推定切替え時点であり、すなわち、パラメーターは、点Ａ’０，…，Ａ’Ｎ−１及び切替え時点(オーバーバー)ｔ１，(オーバーバー)ｔ２における軌跡の値として定義される。ｔｋ(０≦ｋ≦Ｎ−１)におけるｘ及びλの初期値を所与とすると、微分方程式はそれぞれ［ｔｋ，ｔＫ＋１］にわたって積分され、次の時点ｔｋ＋１におけるｘ及びλの値が得られ、対応する境界条件は、δＦｋ＝０(ここで、１≦ｋ≦Ｎ−１)及びδＦ＝０である。多重シューティング法は通常、離散した時点ｔｋ(１≦ｋ≦Ｎ−１)におけるパラメーター及び境界条件、並びに制御軌跡が切り替わる時点、例えば(オーバーバー)ｔ１，(オーバーバー)ｔ２を定義する。
【００２０】
単一シューティング法と対照的に、多重シューティング法は、はるかに短い時間間隔［ｔｋ，ｔｋ＋１］にわたって積分を実行し、境界条件の勾配は、推定パラメーターに関して、感度方程式によってはるかに正確に近似することができる。多重シューティング法は、単一シューティング法よりも良好な収束特性を有する。しかしながら、この改善は、追加のパラメーターを導入することと引き換えに達成され、これによって計算効率が下がる。多重シューティング法は、状態が制約された最適制御問題を扱うこともできる。しかしながら、多重シューティング法は、ＭＢＶＰを大きな非線形計画問題に変換し、対応するソルバーは計算的に複雑となる。このため、多重シューティング法は、高速の産業用途、例えば運動制御システムの軌跡計画の目標完了時間を常に満たすことができるとは限らない。
【００２１】
図５は、所与のパラメーター及び境界条件についてＭＢＶＰを解くための従来の反復手順のブロック図を示している。パラメーターは初期推定され(５１０)、パラメーターの初期推定値に基づいて、ＭＢＶＰは微分方程式の初期値問題として解かれる(５２０)。解は境界条件に対して試験される(５３０)。境界条件が満たされない場合、パラメーターは更新され(５５０)、そうでない場合、この方法は制御軌跡を出力する(５４０)。
【発明の概要】
【発明が解決しようとする課題】
【００２２】
この発明の様々な実施の形態の目的は、動作コストが最適化されるようにシステムの動作を制御するための方法を提供することである。通常、動作コストは、動的制約、加速度制約、及び速度制約等の動作の様々な制約を受ける。システムの動作の最適化は、開ループ最適制御問題として定式化され、この開ループ最適制御問題は、これらの制約を条件としてコスト関数を最適化する制御軌跡に対応する多重境界値問題(ＭＢＶＰ)の解に更に簡約される。
【課題を解決するための手段】
【００２３】
幾つかの実施の形態は、ＭＢＶＰの解の処理時間を低減する混合シューティング法を開示する。１つの実施の形態では、本方法は、特定の位置決めタスクを実行しながらエネルギーを最小限しか消費しない、エネルギー効率のよい運動制御システムの制御軌跡を設計するために適用される。
【００２４】
この発明の幾つかの実施の形態による混合シューティング法は、ＭＢＶＰのパラメーター及び境界条件が、例えばＭＢＶＰの構造に関して様々なタイプを有するという認識に基づいている。このため、パラメーター及び境界条件は２つ以上の組に分割することができ、各組は別個に求めることができる。例えば、各組は、現在の反復について固定された別の組の値に基づいて反復的にかつ交互に求めることができる。例えば、第１の１組のパラメーターが、第１の１組の境界条件が満たされるまで更新され、次いで、第２の１組のパラメーターが、第２の１組の境界条件を満たすように調整される。
【００２５】
例えば、１つの実施の形態では、第１の１組のパラメーターは、或る特定の時点における運動システムの状態値及び共状態値を含み、第２の１組のパラメーターは微分方程式の切替え時点を含む。
【００２６】
混合シューティング法は、切替え時点に対する境界条件の感度と、状態値及び共状態値、並びに切替え時点の、境界条件に対する結合効果とに起因して、従来の方法の収束問題を著しく克服する。混合シューティング法は、パラメーター数を低減して処理時間を最適化するとともに、先験的条件として最適軌跡の構造を組み込むことによって収束特性を改善する。
【００２７】
この発明の幾つかの実施の形態は、運動制御システムの動作の総コストが低減されるような、運動制御システムのエネルギー消費と生産性との間の効果的なトレードオフの必要性を動機としている。様々な因子の中から、サーボモーターが運動制御システムのエネルギー消費を低減するために従うエネルギー効率のよい軌跡が求められる。さらに、エネルギー効率のよい軌跡は、速度、加速度、及び電流制約を含む、運動制御システムの様々な制約を検討する。この発明の様々な実施の形態は、エネルギー効率のよい運動制御システムのエネルギー効率のよい軌跡を、ＭＢＶＰのクラスとして定式化することができる最適制御問題として求め、混合シューティング法を用いてこのＭＢＶＰを解く。
【００２８】
したがって、この発明の１つの実施の形態は、境界条件を満たす１組の微分方程式の解によって表される制御軌跡に従ってシステムの動作を制御するための方法であって、前記１組の微分方程式は順序付けされた区分的微分方程式を含む、境界条件を満たす１組の微分方程式の解によって表される制御軌跡に従ってシステムの動作を制御するための方法を開示する。該方法は、
前記１組の微分方程式をパラメーター化することであって、切替え時点における前記解の値を表す第１の１組のパラメーターと、前記切替え時点の値を表す第２の１組のパラメーターとを得る、パラメーター化することと、
前記境界条件が満たされるまで前記第１の１組のパラメーター及び前記第２の１組のパラメーターを交互に求めることであって、前記解を得る、求めることと、
前記解に基づいて、前記システムの前記動作を制御する前記制御軌跡を生成することと、
を含み、該方法のステップはプロセッサによって実行される。
【００２９】
例えば、この実施の形態の１つの変形形態では、前記システムはモーターを含む運動制御システムであり、該システムの前記動作は制約を受け、前記第１の１組のパラメーターの前記値は前記システムの状態及び共状態を表し、前記１組の微分方程式及び前記境界条件は、前記制約を満たす前記解を有し、かつ前記動作中の前記システムのエネルギー消費を表すコスト関数を最適化する多重境界値問題(ＭＢＶＰ)を形成する。
【００３０】
この発明の別の実施の形態は、境界条件を満たす１組の微分方程式によって形成される多重境界値問題(ＭＢＶＰ)を解くための方法であって、前記１組の微分方程式は順序付けされた区分的微分方程式を含み、前記ＭＢＶＰの解は制御軌跡を表す、境界条件を満たす１組の微分方程式によって形成される多重境界値問題を解くための方法を開示する。該方法は、
前記１組の微分方程式をパラメーター化することであって、切替え時点における前記解の値を表す第１の１組のパラメーターと、前記切替え時点の値を表す第２の１組のパラメーターとを得る、パラメーター化することと、
固定した前記第２の１組のパラメーターの前記値を有する前記１組の微分方程式を解くことによって第１の１組の境界条件を満たす前記第２の１組のパラメーターの前記値を求めることと、
固定した前記第１の１組のパラメーターの前記値を有する前記１組の微分方程式を解くことによって第２の１組の境界条件を満たす前記第１の１組のパラメーターの値を求めることと、
第１の１組の境界条件及び前記第２の１組の境界条件の双方が満たされるまで、前記第１の１組のパラメーターの値を求めること及び前記第２の１組のパラメーターの値を求めることを繰り返すことと、
を含み、該方法のステップはプロセッサによって実行される。
【００３１】
更に別の実施の形態は、制御信号に基づいてシステムを制御するための運動制御装置を開示する。該運動制御装置は、
軌跡生成モジュール及び制御モジュールを実行するように構成されたプロセッサを備え、
前記軌跡生成モジュールは、混合シューティング法を用いて多重境界値問題(ＭＢＶＰ)を解くことによって制御軌跡を求め、
前記制御モジュールは、前記制御軌跡に基づいて前記制御信号を生成する。
【図面の簡単な説明】
【００３２】
【図１】従来技術の多重境界値問題(ＭＢＶＰ)のブロック図である。
【図２】従来技術による、ＭＢＶＰの区分的解のグラフである。
【図３】従来技術による、ＭＢＶＰを解く単一シューティング法のグラフである。
【図４】従来技術による、ＭＢＶＰを解く多重シューティング法のグラフである。
【図５】従来技術による、ＭＢＶＰの解を探索するシューティング法のフローチャートである。
【図６Ａ】この発明の幾つかの実施の形態による、システムの動作を制御するための方法のブロック図である。
【図６Ｂ】この発明の幾つかの実施の形態による、システムの動作を制御するための制御システムのブロック図である。
【図７】この発明の幾つかの実施の形態による、ＭＢＶＰを求めるための方法のブロック図である。
【図８】この発明の幾つかの実施の形態による、ＭＢＶＰの構造を求めるための方法のブロック図である。
【図９】この発明の幾つかの実施の形態による、ＭＢＶＰを解くための混合シューティング法のグラフである。
【図１０Ａ】この発明の幾つかの実施の形態による混合シューティング法のブロック図である。
【図１０Ｂ】この発明の幾つかの実施の形態による、ＭＢＶＰの境界条件及びパラメーターの分割の概略図である。
【図１１】この発明の幾つかの実施の形態による、ＭＢＶＰを解くための２ステップ再帰のブロック図である。
【図１２】この発明の幾つかの実施の形態による、ＭＢＶＰを解くための方法のブロック図である。
【図１３】この発明の幾つかの実施の形態による、特定の問題データと関連付けられたＭＢＶＰの最適制御軌跡のグラフである。
【図１４】この発明の幾つかの実施の形態による、特定の問題データと関連付けられたＭＢＶＰの最適制御軌跡のグラフである。
【発明を実施するための形態】
【００３３】
図６Ａは、この発明の幾つかの実施の形態による、システムの動作を制御するための方法を示している。図６Ａの方法は説明の目的のみで用いられ、この発明の範囲を限定することを意図するものではない。
【００３４】
本方法のステップは、プロセッサ６９９によって実行することができる。システム６００の動作コストはコスト関数６０１によって表され、システムの物理的構造及び制限、並びにシステムの特定のタスクに関する詳細は、動作の制約６０２によって表される。制約６０２は、システムのモデルを表す動的制約、状態制約及び制御制約、タスクの実行時間及び距離を含むがこれらに限定されない。
【００３５】
１つの実施の形態では、状態制約は、加速度制約及び速度制約のうちの少なくとも一方を含む。コスト関数６０１及び制約６０２に基づいて、多重境界値問題(ＭＢＶＰ)の解によって、制約６０２を満たしながらコスト関数６０１を最適化する制御軌跡が得られるように、ＭＢＶＰが求められる(６０３)。
【００３６】
混合シューティング法を用いてＭＢＶＰが解かれ(６０４)、解６０９が得られる。混合シューティング法は以下でより詳細に説明される。解を任意選択で処理し(６０５)、例えばローパスフィルターを用いて解の高周波数成分を除去し、制御軌跡６１０を生成することができる。
【００３７】
１つの実施の形態では、図６Ａの方法の少なくとも一部を実施するシステムは、モーターを備える運動制御システムである。システムの動作は制約を受け、第１の１組のパラメーターの値はシステムの状態及び共状態を表し、１組の微分方程式及び境界条件によって、制約を満たし、かつコスト関数を最適化する解を有する多重境界値問題(ＭＢＶＰ)が形成される。
【００３８】
例として、運動制御システムにおいて、制御軌跡６１０は、モーターの加速度、速度、及び位置軌跡のうちの１つ又はそれらの組合せを含むことができる。制御モジュール６０６は、制御軌跡６１０に基づいて制御信号６１２を生成し、システムのアクチュエーター６０７に制御信号を出力し、これによってシステムの最適な動作を制御する。
【００３９】
図６Ｂは、図６Ａの方法の少なくとも一部を実施する運動制御装置６２０の一例を示している。例えば、軌跡生成器モジュール６２１が、システムの動作の制約を条件としてコスト関数を最適化する制御軌跡に対応するＭＢＶＰを求め、混合シューティング法を用いてＭＢＶＰを解き、制御軌跡６１０を生成する。この実施の形態の１つの変形形態では、軌跡生成器モジュール６２１は、ブロック６０３、６０４、及び６０５の関数を実行する。制御モジュール６０６は、制御軌跡を用いて、例えば、フィードバック信号６２２及び制御軌跡６１０に基づいて制御信号６１２を生成することによって、システムを制御する。
【００４０】
１つの実施の形態では、コスト関数は、動作中のシステムのエネルギー消費を表す。例えば、コスト関数は以下の積分であり
【００４１】
【数２】
0006037890.tif 000003
【００４２】
ここで、Ｅは動作の時間Ｔ中のシステムのエネルギー消費であり、Ｐ(ｘ，ｕ)はシステムの瞬間エネルギー消費であり、ｘはモーターの状態であり、ｕはモーターへの制御入力であり、瞬間エネルギー消費Ｐは、モーターの抵抗巻線の銅損、増幅器の切替え損失、及びモーターの機械的作業のうちの少なくとも１つから得られる。
【００４３】
ＭＢＶＰの決定
図７は、この発明の幾つかの実施の形態による、ハミルトニアン解析７００に基づいて１組のＭＢＶＰを求めるための方法を示している。ハミルトニアン解析７００によって、コスト関数６０１及び制約６０２について最適制御軌跡が満たさなくてはならない必要条件７０２が得られる。必要条件７０２は、例えば式(１)に従って、１組の区分的微分方程式及び区分的代数方程式の組合せに更に簡約することができる。必要条件７０２及び微分方程式の達成可能な順序に基づいて、ブロック７０１は１組のＭＢＶＰを確立する。
【００４４】
時間間隔にわたって定義された微分方程式の順序は、ＭＢＶＰの解の構造に等しい。本明細書において用いられるとき、ＭＢＶＰの構造は、様々なタイプの微分方程式の順序を定義する。切替え時点は、微分方程式の１つのタイプから別のタイプへの切替えを示す。通常、微分方程式の１つのタイプは、制御軌跡の１つのセグメントに対応する。微分方程式のタイプの例には、加速度制約タイプ又は減速度制約タイプ、速度制約タイプ、ゼロ電力タイプ、制約無しタイプの微分方程式が含まれるが、これらに限定されない。
【００４５】
制約の存在に起因して、必要条件を満たす制御軌跡は１つ又は複数のセグメントを含む。制御軌跡の各セグメントは、異なる１組の微分方程式及び境界条件を満たすことができる。異なる制約に対応する制御軌跡は、異なるセグメントで構成することができる。例えば、１つの問題データについて、１つの制約が最適制御軌跡に沿ってアクティブでなく、他方で、別の問題データについて、同じ制約が最適制御軌跡に沿ってアクティブである。このため、必要条件は通常、特有の構造を有する様々なタイプの制御軌跡に対応する１組のＭＢＶＰ７０１となる。例として、ＭＢＶＰ７０１はＭ個のＭＢＶＰを含むことができ、各ＭＢＶＰは特定の構造を有する制御軌跡のクラスに対応する。
【００４６】
例えば、１つの実施の形態は、運動制御システムの特定のクラスを制御し、ここで、サーボモーターのモデルは以下の式である。
【００４７】
【数３】
0006037890.tif 000004
【００４８】
ここで、ｘ＝(ｘ１，ｘ２)Ｔ＝(θ，ω)Ｔは、それぞれモーターの位置及び角速度を表すモーターの状態であり、ｄは粘性摩擦係数であり、ｃはクーロン摩擦であり、ｕはサーボモーターへの制御入力(電流)であり、単一ドットは一次導関数を示し、二重ドットは二次導関数を示す。モーターへの制御入力はモーターのタイプに依拠する。１つの実施の形態では、モーターへの制御入力は、モーターへの電流入力を含む。付加的に又は代替的に、制御入力は、モーターへの電圧の制御信号を含むことができる。
【００４９】
例えば、運動制御システムの動作コストは、電力コスト、すなわち消費されるエネルギーである。このため、１つの実施の形態は、運動制御システムのエネルギー消費が最小になるように制御軌跡を求める。時間間隔内で点間追跡タスクを実行する運動制御システムの総エネルギー消費は、以下のコスト関数によって抽出される。
【００５０】
【数４】
0006037890.tif 000005
【００５１】
ここで、Ｔはタスクの実行時間であり、通例、ユーザーによって指定され、Ｒはモーターの巻線の抵抗であり、ＫＳは、増幅器の切替えに起因する切替え損失の定係数であり、Ｋτはモーターのトルク定数である。式(３)のコスト関数は、銅損Ｒｕ２、増幅器損失ＫＳ｜ｕ｜、及び機械的作業Ｋτｘ２ｕを含めることによって、運動制御システムの大きなクラスのエネルギー消費を表す。
【００５２】
運動制御システムは、様々な制約も含むことができる。動的制約は式(２)によって示され、モーターの角加速度に対する制約は
【００５３】
【数５】
0006037890.tif 000006
【００５４】
によって示され、ここでａｍａｘは正の定数であり、モーターの角速度に対する制約は０≦ｘ２≦ｖｍａｘによって示され、ここでｖｍａｘは正の定数であり、モーターの初期位置に対する制約はｘ(０)＝(０，０)であり、モーターの最終位置に対する制約はｘ(Ｔ)＝(ｒ，０)であり、タスクの実行時間はＴである。軌跡生成において制約を考慮することによって、設計段階において制約が存在しないことによって生じる制限を取り除き、これによって運動制御システムのエネルギー効率を改善することができる。
【００５５】
コスト関数及び制約を所与とすると、区分的ハミルトニアン演算子Ｈは以下の式となる。
【００５６】
【数６】
0006037890.tif 000007
【００５７】
ここで、以下の式が成り立つ。
【００５８】
【数７】
0006037890.tif 000008
【００５９】
ラグランジュ乗数λは、共状態変数とも呼ばれ、動的制約に対応する。ラグランジュ乗数μ、ｖはそれぞれ、速度制約及び加速度制約に対応する。
【００６０】
ブロック７００は、ハミルトニアン演算子を最小にすることによって、制約されたセグメントに対する制御を求める。
【００６１】
【数８】
0006037890.tif 000009
【００６２】
制約されていない正の制御及び負の制御は、∂Ｈ１１／∂ｕ＝０、∂Ｈ１２／∂ｕ＝０から同等に、ハミルトニアンを最小にすることによって求めることができる。
【００６３】
【数９】
0006037890.tif 000010
【００６４】
状態ｘ及び共状態λを所与とすると、制御信号ｕ及びｘ動力が明確に定義される。ｘに関するＨの偏導関数が明確に定義されているので、共状態動力は以下の式となる。
【００６５】
【数１０】
0006037890.tif 000011
【００６６】
ブロック７００は、軌跡に沿ってラグランジュ乗数μ、ｖの値を更に求め、経時的な共状態の展開を定義する微分方程式を導出する。制御軌跡が制約されていないセグメントに沿っているとき、μ＝ｖ＝０である。
【００６７】
加速度制約がアクティブである場合、ｖは以下の式によって解かれる。
【００６８】
【数１１】
0006037890.tif 000012
【００６９】
これらの式の解は以下である。
【００７０】
【数１２】
0006037890.tif 000013
【００７１】
速度制約ｘ２−ｖｍａｘ≦０の場合、ラグランジュ乗数μはＨ１１ｕ＝０から求められ、ここで、ｕ＝ｕｐｖｅｌである。
【００７２】
【数１３】
0006037890.tif 000014
【００７３】
ブロック７００は、タスクの初期時点及び終了時点、並びに制御軌跡が切り替わる時点ｔｋ(１≦ｋ≦ｍ−１)において制御軌跡が満たさなくてはならない必要条件を更に求める。初期時点及び最終時点における制御軌跡の必要条件は
【００７４】
ｘ(０)＝(０，０)，ｘ(Ｔ)＝(ｒ，０)      (１２)
【００７５】
であり、軌跡が切り替わる時点ｔｋにおいて以下である。
【００７６】
【数１４】
0006037890.tif 000015
【００７７】
ブロック７００は、最終的に、式(４)〜式(１３)を含む必要条件７０２を導出する。
【００７８】
式(４)〜式(１３)における必要条件を所与として、ブロック７０１は１組のＭＢＶＰを求める。例えば、式(４)〜式(１３)は式(１)の形態に再構成することができる。制御変数ｕ及びラグランジュ乗数μ、ｖが定義されているので、共状態動力が導出され、微分方程式(１)が確立される。
【００７９】
式(１２)及び式(１３)の必要条件も以下の形式に適合する。
【００８０】
【数１５】
0006037890.tif 000016
【００８１】
ブロック７０１は、必要条件を解析することによって、様々なセグメントを含むことができる制御軌跡を求める。様々なセグメントとは、制御が制約されておらず、正である場合、制約されていない正の制御セグメント(Ｕ＋)と、制御が制約されておらず、負である場合、制約されていない負の制御セグメント(Ｕ−)と、制御がゼロをとる場合、ゼロ制御セグメント(Ｕ０)と、正の加速度制約がアクティブである場合、正の加速度制約された制御セグメント(Ａ＋)と、負の加速度制約がアクティブである場合、負の加速度制約された制御セグメント(Ａ−)と、最大速度制約がアクティブである場合、速度制約された制御セグメント(Ｖ＋)とである。
【００８２】
セグメントのタイプの識別情報を所与として、ブロック７０１は必要条件を更に解析し、１組のＭＢＶＰを導出する。この１組のＭＢＶＰは、制約されていない正の制御セグメント、ゼロ制御セグメント、及び制約されていない負の制御セグメントを含む制御軌跡に対応するＭＢＶＰ；正の加速度制約されたセグメント、制約されていない正の制御セグメント、ゼロ制御セグメント、及び制約されていない負の制御セグメントを含む制御軌跡に対応するＭＢＶＰ；正の加速度制約されたセグメント、制約されていない正の制御セグメント、ゼロ制御セグメント、制約されていない負の制御セグメント、及び負の加速度制約されたセグメントを順に含む制御軌跡に対応するＭＢＶＰ；制約されていない正の制御セグメント、速度制約されたセグメント、制約されていない正の制御セグメント、ゼロ制御セグメント、及び制約されていない負の制御セグメントを含む制御軌跡に対応するＭＢＶＰ；正の加速度制約されたセグメント、制約されていない正の制御セグメント、速度制約されたセグメント、制約されていない正の制御セグメント、ゼロ制御セグメント、及び制約されていない負の制御セグメントを含む制御軌跡に対応するＭＢＶＰ；正の加速度制約されたセグメント、制約されていない正の制御セグメント、速度制約されたセグメント、制約されていない正の制御セグメント、ゼロ制御セグメント、制約されていない負の制御セグメント、及び負の加速度制約されたセグメントを含む制御軌跡に対応するＭＢＶＰ、のうちの１つ又はそれらの組合せを含むことができる。
【００８３】
図８は、１つの実施の形態による、ＭＢＶＰの解が、制約を条件としてコスト関数を最適化する制御軌跡であるようにＭＢＶＰを求めるための方法のブロック図である。図７に示すように、システムの動作のコスト関数及び制約のハミルトニアン解析に基づいて求められた１組のＭＢＶＰ７０１からＭＢＶＰ８０５が選択される(８００)。通常、ＭＢＶＰを選択する順序は、ＭＢＶＰの構造の複雑度に基づく。例えば、制御軌跡の初期構造は、ＭＢＶＰ７０１の全ての可能な構造のうちの最も単純な構造として選択することができる。ＭＢＶＰ８０５が解かれ(８０１)、解８０６が得られる。ブロック８０２は、ＭＢＶＰの解８０６が何らかの制約に違反している(８０７)か否かを検証する。ＭＢＶＰの解は、制約を満たす場合、制御軌跡を表すように割り当てられる。
【００８４】
何らかの制約に違反している場合、ＭＢＶＰの選択が繰り返される。例えば、ＭＢＶＰの構造が、例えば違反している制約８０７のうちの１つに対応する制約されたセグメントをＭＢＶＰの現在の構造に加えて、次の反復のために選択されたＭＢＶＰの新たな構造８０８を得ることによって更新される(８０３)。そうではなく、全ての制約に違反していない場合(８０９)、反復は停止し、ＭＢＶＰの解が制御軌跡を表すように割り当てられる(８０４)。
【００８５】
この実施の形態は、ＭＢＶＰが境界条件について解かれるので有利である。ＭＢＶＰによって表される制御軌跡は当然境界条件を満たすが、依然として解の領域の他の点において制約に違反する可能性がある。このため、この実施の形態は、最も単純な構造を有する制御機構が境界条件及び制約の双方を満たすことを確実にする。
【００８６】
混合シューティング法
混合シューティング法は、１組の微分方程式を、切替え時点における解の値を表す第１の１組のパラメーターと、切替え時点の値を表す第２の１組のパラメーターとにパラメーター化することに基づいてＭＢＶＰを解くための方法である。１つの実施の形態では、解の値は、運動システムの状態値及び共状態値を含む。ＭＢＶＰは順序付けされた区分的微分方程式によって表すことができ、切替え時点は、ＭＢＶＰの構造の変化、すなわち、例えば順序に従った、制御軌跡の１つのセグメントに対応する１つの１組の微分法方程式(differentiation equation)から、制御軌跡の別のセグメントに対応する別の１組の微分法方程式への切替えを表すことができる。
【００８７】
混合シューティング法は、１組の境界条件が満たされるまで、第１の１組のパラメーター及び第２の１組のパラメーターの値を交互に求める。混合シューティング法は、切替え時点に対する境界条件の感度と、状態値及び共状態値、並びに切替え時点の、境界条件に対する結合効果とに起因して、従来の方法の収束問題を著しく克服する。混合シューティング法は、パラメーター数を低減して処理時間を最適化するとともに、収束特性を改善する。混合シューティング法のステップの様々な組合せが、以下でより詳細に説明される。
【００８８】
図９は、曲線ＡＢによって表されるＭＢＶＰの解の一例を示している。曲線ＡＢは、３つのセグメントＡＢ１９１０、Ｂ１Ｂ２９２０、及びＢ２Ｂ９３０を含む。期間[０，(オーバーバー)ｔ１]９１５にわたって定義された第１のタイプの第１の１組の微分方程式はセグメントＡＢ１に対応し、期間[(オーバーバー)ｔ１，(オーバーバー)ｔ２]９２５にわたって定義された第２のタイプの第２の１組の微分方程式はセグメントＢ１Ｂ２に対応し、期間[(オーバーバー)ｔ２，Ｔ]９３５にわたって定義された第３のタイプの第３の１組の微分方程式はセグメントＢ２Ｂに対応する。したがって、第１のタイプ、第２のタイプ、及び第３のタイプの微分方程式は、順序付けされた区分的微分方程式であり、対応する境界条件と合わせてＭＢＶＰを形成する。ＭＢＶＰの解は制御軌跡を表し、この例では曲線ＡＢとして示される。
【００８９】
幾つかの実施の形態では、混合シューティング法は、１組の微分方程式をパラメーター化して、切替え時点における解の値を表す第１の１組のパラメーターと、切替え時点の値を表す第２の１組のパラメーターとを得る。例えば、図９の例では、パラメーター化は、第１の１組のパラメーターを解の値、例えば位置９４２、９４４、及び９４６、すなわち位置Ａ’０、Ａ’１、Ａ’２における状態及び共状態として定義し、第２の１組のパラメーターを、切替え時点(オーバーバー)ｔ１，(オーバーバー)ｔ２の値として定義する。
【００９０】
同様に、境界条件は、第１の１組のパラメーターに対応する第１の１組の境界条件と、第２の１組のパラメーターに対応する第２の１組の境界条件とに分割することもできる。例えば、切替え時点(オーバーバー)ｔ１，(オーバーバー)ｔ２の境界条件は、誤差９５２、９５４、及び９５６、すなわち、誤差δＦ１、δＦ２、δＦ３として定義することができる。例えば、１つの実施の形態では、第１の１組の境界条件は、切替え時点におけるシステムの状態及び共状態の連続性に基づいて求められる。
【００９１】
様々な実施の形態による１組の微分方程式のパラメーター化によって、用いられるパラメーター数が低減することに起因して、従来の多重シューティング法と比べてＭＢＶＰの解の高速な計算が可能になる。また、パラメーター化によって、解の構造の知識を探求して微分方程式をより短い時間間隔にわたって解くことにより、収束特性が改善する。
【００９２】
図１０Ａは、混合シューティング法のブロック図を示している。ＭＢＶＰ１０１０を所与として、１０２０においてＭＢＶＰ１０１０のパラメーター化が達成される。ここで、ＭＢＶＰの解は、順序付けされた区分的微分方程式の初期条件及び切替え時点によってパラメーター化される。切替え時点は、様々な組の微分方程式が定義される時間間隔を指定する。１組の選択されたパラメーターの値を所与として、ＭＢＶＰの解、又は順序付けされた微分方程式の解は一意に計算することができる。この１組のパラメーターは、第１の１組のパラメーター１０２４及び第２の１組のパラメーター１０２６に更に分割される。パラメーター化されたＭＢＶＰ及び分割を所与として、ＭＢＶＰの解は１０３０において交互に解かれる。１組のパラメーターを分割することによって、２組のパラメーターが交互に更新されることが可能になり、ＭＢＶＰを解いて例えば制御軌跡１０４０を得るアルゴリズムの収束特性が改善する。
【００９３】
図１０Ｂは、パラメーター及び境界条件を少なくとも２つの組に分割する例を示している。例えば、パラメーターは第１の１組のパラメーターと第２の１組のパラメーターとに分割することができ、境界条件は、第１の１組のパラメーターに対応する第１の１組の境界条件と、第２の１組のパラメーターに対応する第２の１組の境界条件とに分割することができる。
【００９４】
例えば、パラメーター化されたＭＢＶＰ１０００は、順序付けされた微分方程式１００１、境界条件１００２、及び未知のパラメーター１００３によって表される。境界条件１００２は第１の１組の境界条件ＢＣ１１００４と、第２の１組の境界条件ＢＣ２１００５とに分割される。パラメーター１００３は、２つの異なる組、すなわち第１の１組のパラメーターβ１１００６と、第２の１組のパラメーターβ２１００７とに分割される。
【００９５】
図９に示す実施の形態では、第１の１組のパラメーターβ１は、時点における制御軌跡の値を含み、第２の１組のパラメーターβ２は、制御軌跡の構造の変数を含む。通常、第１の１組のパラメーターは、システムの状態値及び共状態値を含み、第２の１組のパラメーターは微分方程式の切替え時点を含む。
【００９６】
この発明の様々な実施の形態において、第１の１組のパラメーター及び第２の１組のパラメーターは、第１の１組の境界条件及び第２の１組の境界条件が満たされるまで交互に求められる。例えば、パラメーターは再帰的に求めることができ、ここで、反復ごとに、第１の１組のパラメーターは第２の１組のパラメーターの固定値に基づいて求められ、第２の１組のパラメーターは第１の１組のパラメーターの固定値に基づいて求められる。
【００９７】
図１１は、図１０Ｂの実施の形態等の幾つかの実施の形態に従ってパラメーター及び境界条件が分割された後にＭＢＶＰを解くための２ステップの再帰的な方法を示している。ここで、β１及びβ２は２組のパラメーターであり、ＢＣ１及びＢＣ２は２組の境界条件である。
【００９８】
図１１に示すように、本方法は、パラメーターの値の初期推定１１００から開始する。これによって第１の１組のパラメーター及び第２の１組のパラメーターの推定値１１０８が生成される。ＭＢＶＰの初期推定値は通常、必要条件を定性的に解析することによって、又はＭＢＶＰよりも簡単な境界値問題を解くことによって生成される。より簡単な境界値問題の自然な選択は、何らかの制約に違反しているセグメントを無視することによってＭＢＶＰから得ることができる。ブロック１１０１は、第２の１組のパラメーターの値を固定し、パラメーターの推定値又は更新値１１０９をブロック１１０２に出力する。ブロック１１０２は、ＭＢＶＰにおいて定義された微分方程式の初期値問題を解き、解１１１０をブロック１１０３に出力する。
【００９９】
ブロック１１０３は第１の１組の境界条件を検査する。第１の１組のパラメーターが第１の１組の境界条件を満たす場合、ブロック１１０５は第２の１組の境界条件を評価する。そうでない場合、第１の１組のパラメーターが更新される(１１０４)。例えば、ブロック１１０４は第１の１組のパラメーターに関する第１の１組の境界条件の勾配１１１１を求め、この勾配１１１１に基づいて第１の１組のパラメーターを更新する。感度方程式が線形時不変である場合、第１の１組の境界条件の勾配１１１１は解析的に求めることができる。そうではなく、感度方程式が時変である場合、勾配１１１１は感度方程式を積分することによって求めることができる。
【０１００】
ブロック１１０５において第２の１組の境界条件が満たされた場合、ブロック１１０７は制御軌跡を出力し、そうでない場合、ブロック１１０６は、代数方程式の零点(zero:ゼロ点)を解くための様々な方法によって第２の１組のパラメーターを更新する。例えば、ブロック１１０６は、第２の１組のパラメーターに関する第２の１組の境界条件の勾配１１１３を求め、勾配１１１３に基づいて第２の１組のパラメーターを更新する。第１の１組のパラメーター及び第２の１組のパラメーターは、第１の１組の境界条件及び第２の１組の境界条件が満たされるまで交互に更新される。
【０１０１】
例として、ＭＢＶＰの解の構造がｍ個のセグメントを含むと仮定する。ＭＢＶＰの解は時点ｔｋ(１≦ｋ≦ｍ−１)において切り替わり、ｔ０＝０及びｔｍ＝Ｔはそれぞれ、タスクの初期時点及び最終時点である。ｋ番目のセグメントのパラメーターは(βｋ１，βｋ２)(ここで、１≦ｋ≦ｍ)である。
【０１０２】
β１＝(β１１,…βｍ１)
β２＝(β１２,…βｍ２)
【０１０３】
とする。ここで、１つの実施の形態では、第１の１組のパラメーターβ１は、制御軌跡が切り替わる時点における状態値及び共状態値を含み、第２の１組のパラメーターβ２は解の切替え時点のパラメーターを含む。β＝(β１，β２)はパラメーターの全集合を表す。同様に、ｋ番目のセグメントの境界条件は、(ＢＣｋ１，ＢＣｋ２)によって表され、それぞれ２組のパラメーターβｋ１及びβｋ２に対応する。ＢＣによって表されるＭＢＶＰの境界条件は、(ＢＣｋ１，ＢＣｋ２)(ここで、１≦ｋ≦ｍ)の和集合であり、以下の式の通りである。
【０１０４】
ＢＣ＝(ＢＣ１１,ＢＣ１２,…,ＢＣｍ１,ＢＣｍ２)
【０１０５】
したがって、境界条件ＢＣは、それぞれパラメーター組β１及びβ２に対応する２組の境界条件ＢＣ１及びＢＣ２に分割することができ、すなわち、以下の式となる。
【０１０６】
ＢＣ１＝(ＢＣ１１,…,ＢＣｍ１)、及び
ＢＣ２＝(ＢＣ１２,…,ＢＣｍ２)
【０１０７】
Ｆｋ１及びＦｋ２によって表されるＢＣｋ１及びＢＣｋ２に対応する残差値は、ブロック１１０２によって計算された解１１１０から得ることができる。β１、β２に対応する(正：corresponding)残差は以下である。
【０１０８】
Ｆ１＝(Ｆ１１,…,Ｆｍ１)、及び
Ｆ２＝(Ｆ１２,…,Ｆｍ２)
【０１０９】
混合シューティング法は、それぞれ２組の境界条件ＢＣ１及びＢＣ２に基づいて、２組のパラメーターβ１、β２を交互に更新する。これによって、解の収束が改善する。反復プロセスの目的は、１組の代数方程式である
【０１１０】
Ｆ１(β１＊)＝０、Ｆ２(β２＊)＝０、
【０１１１】
となるようにパラメーター組
【０１１２】
β＊＝(β１＊,β２＊)＝０、
【０１１３】
を求めることである。１つの実施の形態では、ニュートン法を用いて、残差とパラメーターに関するその勾配とに基づいてβの推定値を更新する。
【０１１４】
【数１６】
0006037890.tif 000017
【０１１５】
ここで、βｋｉ,ｋ＝｛１，２｝)はｉ番目の反復におけるパラメーター組βｋの推定値であり、ρ１、ρ２はパラメーター更新のステップ長であり、∂Ｆｋ／∂βｋ(ｋ＝｛１，２｝)はパラメーター組βｋに関する境界条件組ＢＣｋの勾配である。∂ｘ／∂β、∂λ／∂βを所与とすると、パラメーターに関するＦ１、Ｆ２の勾配の計算は、当業者には明解である。
【０１１６】
１つの実施の形態では、ＢＣを満たすパラメーターを求める手順は、パラメーターβに関するＢＣの勾配の計算を含む。勾配は以下の成分を含む。
【０１１７】
【数１７】
0006037890.tif 000018
【０１１８】
パラメーターβに関するＢＣの勾配は、感度方程式から得ることができる。例として、ｋ番目のセグメントについて、λ(ｔｋ−１)に関するｘ(ｔｋ)の感度方程式は以下である。
【０１１９】
【数１８】
0006037890.tif 000019
【０１２０】
ここで、ｆｘ及びｆｕはそれぞれ状態ｘ及び制御ｕに関する関数ｆの偏導関数であり、ｕｘ、ｕλは、それぞれ状態及び共状態に関する制御ｕの偏導関数である。λ(ｔｋ−１)に関するλ(ｔ)の感度方程式を同様に導出することができる。感度方程式の初期条件は当業者には明解であり、したがって明確にする目的で本開示において省かれる。
【０１２１】
この発明の実施の形態は、様々な方法を用いて∂ｘ／∂β２、∂λ／∂β２を求める。１つの実施の形態では、第２の１組のパラメーターは切替え時点ｔｋ(１≦ｋ≦ｍ−１)であり、実施の形態は以下を求める。
【０１２２】
【数１９】
0006037890.tif 000020
【０１２３】
別の実施の形態では、β２に関するＢＣの勾配は以下のように近似することができる。
【０１２４】
【数２０】
0006037890.tif 000021
【０１２５】
ここで、ＨｘＴは状態に関するハミルトニアン演算子の偏導関数の転置である。
【０１２６】
多重シューティング法と比較して、混合シューティング法は、パラメーター数を減らして処理時間を減らす。単一シューティング法と比較して、混合シューティングシューティング法は、最適な軌跡の構造を先験的条件として組み込むことによって、ソルバーの収束特性を改善する。単一シューティング法における収束問題を矯正するために、幾つかの実施の形態によって、２ステップ再帰を用いて、境界条件に対する異なる組のパラメーターの影響を切り離す。
【０１２７】
図１２は、混合シューティング法を用いて現在のＭＢＶＰを解くための方法のブロック図である。現在のＭＢＶＰのパラメーター及び境界条件が、現在のＭＢＶＰの現在の構造１２１０に基づいて求められる(１２２０)。現在の構造は、例えば、図８に関連して説明された方法に従って求めることができる。パラメーターは、第１の１組のパラメーターと第２の１組のパラメーターとに分割される(１２３０)。同様に、境界条件は第１の１組のパラメーターに対応する第１の１組の境界条件と、第２の１組のパラメーターに対応する第２の１組の境界条件とに分割される(１２４０)。次に、本方法は、第２の１組のパラメーターの固定値に基づいて第１の１組のパラメーターの値と、第１の１組のパラメーターの固定値に基づいて第２の１組のパラメーターの値とを再帰的に求める(１２５０)。
【０１２８】
例えば、再帰１２５０の反復によって、第１の１組の境界条件が満たされるまで第１の１組のパラメーターの値が更新され(１２７０)、第２の１組の境界条件を満たすように第２の１組のパラメーターの値が更新される(１２８０)。反復は、第１の１組の境界条件及び第２の１組の境界条件の双方が満たされる(１２６０)まで反復的に繰り返される。１つの実施の形態では、第１の１組のパラメーターは、現在の制御軌跡の状態値及び共状態値を含み、第２の１組のパラメーターは現在の制御軌跡の切替え時点を含む。
【０１２９】
エネルギー効率のよい運動制御システムのための軌跡計画法
この発明の幾つかの実施の形態は、運動制御システムの動作の総コストが低減されるような、運動制御システムのエネルギー消費と生産性との間の効果的なトレードオフの必要性を動機としている。様々な因子の中から、サーボモーターが運動制御システムのエネルギー消費を低減するために従うエネルギー効率のよい軌跡が求められる。さらに、エネルギー効率のよい軌跡は、速度、加速度、及び電流制約を含む、運動制御システムの様々な制約を検討する。この発明の様々な実施の形態は、エネルギー効率のよい運動制御システムのエネルギー効率のよい軌跡を、ＭＢＶＰのクラスとして定式化することができる最適制御問題として求め、混合シューティング法を用いてこのＭＢＶＰを解く。
【０１３０】
例えば、ＭＢＶＰの区分的微分方程式は、式(２)、式(７)、式(５)、及び式(６)の組合せとして定義される。上述したように、最適制御軌跡は様々なセグメントを含むことができ、その構造はＴ、ｒ、ａｍａｘ、ｖｍａｘ等の問題データに依拠する。異なる構造は特有のＭＢＶＰに対応する。
【０１３１】
混合シューティング法を用いてエネルギー効率のよい軌跡を求めることは、以下の問題データ(ＰＤＡＴＡ)に対応するＭＢＶＰを解くことによって説明される。
【０１３２】
【数２１】
0006037890.tif 000022
【０１３３】
ここで、ｕｍａｘはモーターの入力電流の最大値である。問題データＰＤＡＴＡ１と関連付けられた解の構造は、例えば図８に示す方法に基づいて求めることができる。例えば、制御軌跡は、以下のセグメント、すなわち、正の加速度制約されたセグメント；制約されていない正の制御セグメント；速度制約されたセグメント；制約されていない正の制御セグメント；ゼロ制御セグメント；制約されていない負の制御セグメント；負の加速度制約されたセグメントを連続して含むことができる。
【０１３４】
最適制御軌跡の構造を所与とし、混合シューティング法のパラメーター及び境界条件の定義に従うと、１つの実施の形態は、ｋ番目のセグメント(ここで、１≦ｋ≦７)についてパラメーターを定義し、
【０１３５】
【数２２】
0006037890.tif 000023
【０１３６】
第１の１組のパラメーター及び第２の１組のパラメーターを以下のように定義する。
【０１３７】
【数２３】
0006037890.tif 000024
【０１３８】
ｋ番目のセグメント(１≦ｋ≦７)のＢＣは以下であり、
ＢＣ１：状態及び共状態のパラメーター組に対応する
【０１３９】
【数２４】
0006037890.tif 000025
【０１４０】
ＢＣ２：切替え時点パラメーター組に対応する
【０１４１】
【数２５】
0006037890.tif 000026
【０１４２】
ここで、φｘ(・)及びφλ(・)は状態軌跡及び共状態軌跡であり、ｘ(ｔ０)＝ｘ０、λ(ｔ０)＝λ０である。ＭＢＶＰは３０個のパラメーター及びＢＣを有する。代替的に、パラメーター数は、制約されたセグメントのエントリにおける共状態を取り除くことによって減らすことができる。このため、パラメーター組及び境界条件は単純にすることができる。
【０１４３】
感度方程式は、β１及びβ２に関するＢＣの勾配、すなわち以下を計算するように定義される。
【０１４４】
【数２６】
0006037890.tif 000027
【０１４５】
式(１６)に対応する感度方程式は、以下のように要約される。
【０１４６】
【数２７】
0006037890.tif 000028
【０１４７】
ここで、ｘａ＝［ｘ，λ］及び
【０１４８】
【数２８】
0006037890.tif 000029
【０１４９】
である。
【０１５０】
関数
【０１５１】
【数２９】
0006037890.tif 000030
【０１５２】
は、当業者によって、動的制約及び必要条件から容易に導出することができる。このため、α１，…，α４はｘ及びλから計算することができる。切替え時点に対するＢＣ２の感度も同様に容易に計算することができる。
【０１５３】
パラメーター及び境界条件の定義及び分割と、感度方程式とを所与として、図１１の２ステップ方法を用いて、問題データＰＤＡＴＡ１と関連付けられたＭＢＶＰの解が求められる。
【０１５４】
最適制御軌跡は図１３に示されている。β２を更新する反復は図１４に示されている。ここで、この反復はβ２の各反復中の制御軌跡によって示される。
【０１５５】
加えて、１つの実施の形態は、混合シューティング法を用いて、以下のコスト関数を最小にするエネルギー効率のよい運動制御システムの軌跡を解く。
【０１５６】
【数３０】
0006037890.tif 000031
【０１５７】
ここで、Ｅはシステムのエネルギー消費であり、ｕはモーターへの制御入力であり、Ｒはモーターの巻線の抵抗であり、ｘ２はモーターの角速度を表すモーターの状態ｘの第２の成分であり、Ｋｓは増幅器における切替え損失の定係数であり、Ｋτはモーターのトルク定数である。幾つかの実施の形態では、切替え損失は考慮されず、例えばＫｓ＝０である。
【０１５８】
この発明の上述した実施の形態は、数多くの方法のいずれにおいても実施することができる。例えば、実施の形態は、ハードウェア、ソフトウェア又はそれらの組合せを用いて実施することができる。ソフトウェアで実施される場合、ソフトウェアコードは、単一のコンピューターに設けられるのか又は複数のコンピューター間に分散されるのかにかかわらず、任意の適したプロセッサ又はプロセッサの集合体において実行することができる。そのようなプロセッサは、１つ又は複数のプロセッサを集積回路部品に有する集積回路として実装することができる。ただし、プロセッサは、任意の適したフォーマットの回路類を用いて実装することができる。
【０１５９】
さらに、コンピューターは、ラックマウント型コンピューター、デスクトップコンピューター、ラップトップコンピューター、ミニコンピューター又はタブレットコンピューター等の複数の形態のいずれにおいても具現化できることが理解されるべきである。また、コンピューターは、１つ又は複数の入力デバイス及び出力デバイスを有することもできる。これらのデバイスは、中でも、ユーザーインターフェースを提示するのに用いることができる。ユーザーインターフェースを提供するのに用いることができる出力デバイスの例には、出力を視覚提示するためのプリンター又は表示スクリーン、及び出力を可聴提示するためのスピーカー又は他の音発生デバイスが含まれる。ユーザーインターフェースに用いることができる入力デバイスの例には、キーボード、並びにマウス、タッチパッド及びデジタイジングタブレット等のポインティングデバイスが含まれる。別の例として、コンピューターは、音声認識を通じて又は他の可聴フォーマットで入力情報を受け取ることもできる。
【０１６０】
そのようなコンピューターは、ローカルエリアネットワーク又はワイドエリアネットワークとしてエンタープライズネットワーク又はインターネット等を含む１つ又は複数のネットワークによって任意の適した形態で相互接続することができる。そのようなネットワークは、任意の適した技術に基づくことができ、任意の適したプロトコルに従って動作することができ、無線ネットワーク、有線ネットワーク又は光ファイバーネットワークを含むことができる。
【０１６１】
また、本明細書において概説される様々な方法又はプロセスは、様々なオペレーティングシステム又はプラットフォームのうちの任意のものを用いる１つ又は複数のプロセッサに対して実行可能なソフトウェアとして符号化することができる。加えて、そのようなソフトウェアは、複数の適切なプログラミング言語及び／又はプログラミングツール若しくはスクリプティングツールのうちの任意のものを用いて書くことができ、フレームワーク又は仮想マシン上で実行される実行可能な機械語コード又は中間コードとしてコンパイルすることもできる。
【０１６２】
これに関して、この発明は、単数又は複数のコンピューター可読記憶媒体、例えばコンピューターメモリ、コンパクトディスク(ＣＤ)、光ディスク、デジタルビデオディスク(ＤＶＤ)、磁気テープ、及びフラッシュメモリとして実現することができる。代替的に又は付加的に、この発明は、伝播信号等の、コンピューター可読記憶媒体以外のコンピューター可読媒体として実施することもできる。
【０１６３】
「プログラム」又は「ソフトウェア」という用語は、本明細書において、包括的な意味で、上記で検討したこの発明の様々な態様を実施するようにコンピューター又は他のプロセッサをプログラムするのに用いることができる任意のタイプのコンピューターコード又は１組のコンピューター実行可能命令を指す。
【０１６４】
コンピューター実行可能命令は、１つ若しくは複数のコンピューター又は他のデバイスによって実行された、プログラムモジュール等の多くの形式をとることができる。一般に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造を含む。通常、プログラムモジュールの機能は、様々な実施の形態において所望に応じて組み合わせることも分散することもできる。
【０１６５】
また、この発明の実施の形態は、例が提供された方法として実施することができる。本方法の一部として実行される動作は、任意の適切な方法で順序付けすることができる。したがって、動作が示したものと異なる順序で実行される実施の形態を構築することができ、これには、例示の実施の形態では一連の動作として示されたにもかかわらず、幾つかの動作を同時に実行することを含めることもできる。
【０１６６】
特許請求の範囲における、特許請求の範囲の要素を修飾する「第１の」、「第２の」等の順序を示す用語の使用は、それ自体では、優先度も、優先順位も、１つの特許請求の範囲の要素の別の要素に対する順序も、方法の動作が実行される時間順序も一切暗示するものではなく、単に、或る特定の名称を有する１つの特許請求要素を、(順序を示す用語の使用を除いて)同じ名称を有する別の要素と区別して、それらの特許請求要素を区別するためのラベルとして用いられる。
【図１】
0006037890.tif 000035
【図２】
0006037890.tif 000036
【図３】
0006037890.tif 000037
【図４】
0006037890.tif 000038
【図５】
0006037890.tif 000039
【図６Ａ】
0006037890.tif 000040
【図６Ｂ】
0006037890.tif 000041
【図７】
0006037890.tif 000042
【図８】
0006037890.tif 000043
【図９】
0006037890.tif 000044
【図１０Ａ】
0006037890.tif 000045
【図１０Ｂ】
0006037890.tif 000046
【図１１】
0006037890.tif 000047
【図１２】
0006037890.tif 000048
【図１３】
0006037890.tif 000049
【図１４】
0006037890.tif 000050