(58)【調査した分野】(Int.Cl.,DB名)
境界条件を満たす1組の微分方程式の解によって表される制御軌跡に従ってシステムの動作を制御するための方法であって、前記1組の微分方程式は順序付けされた区分的微分方程式を含み、該方法は、
前記1組の微分方程式をパラメーター化するステップであって、切替え時点における前記解の値を表す第1の1組のパラメーターと、前記切替え時点の値を表す第2の1組のパラメーターとを得るものと、
前記境界条件が満たされるまで前記第1の1組のパラメーター及び前記第2の1組のパラメーターを交互に求めるステップであって、前記解を得るものと、
前記解に基づいて、前記システムの前記動作を制御する前記制御軌跡を生成するステップと、
を含み、
該方法のステップはプロセッサによって実行される、境界条件を満たす1組の微分方程式の解によって表される制御軌跡に従ってシステムの動作を制御するための方法。
前記境界条件を、前記第1の1組のパラメーターに対応する前記第1の1組の境界条件と、前記第2の1組のパラメーターに対応する前記第2の1組の境界条件とに分割するステップを更に含む、請求項3に記載の方法。
前記システムはモーターを含む運動制御システムであり、該システムの前記動作は制約を受け、前記第1の1組のパラメーターの前記値は前記システムの状態及び共状態を表し、前記1組の微分方程式及び前記境界条件は、前記制約を満たす前記解を有し、かつ前記動作中の前記システムのエネルギー消費を表すコスト関数を最適化する多重境界値問題(MBVP)を形成する、請求項1に記載の方法。
前記システムの前記動作の前記コスト関数及び前記制約のハミルトニアン解析に基づいて前記MBVPを求めるステップであって、前記制約は、前記モーターの加速度制約、該モーターの速度制約、該モーターの入力電流制約、該モーターの動的制約、追跡時間、該モーターの初期条件、及び該モーターの最終状態のうちの1つ又はそれらの組合せを含むものを更に含む、請求項6に記載の方法。
境界条件を満たす1組の微分方程式によって形成される多重境界値問題(MBVP)を解くための方法であって、前記1組の微分方程式は順序付けされた区分的微分方程式を含み、前記MBVPの解は制御軌跡を表し、該方法は、
前記1組の微分方程式をパラメーター化するステップであって、切替え時点における前記解の値を表す第1の1組のパラメーターと、前記切替え時点の値を表す第2の1組のパラメーターとを得るものと、
固定した前記第2の1組のパラメーターの前記値を有する前記1組の微分方程式を解くことによって第1の1組の境界条件を満たす前記第1の1組のパラメーターの値を求めるステップと、
固定した前記第1の1組のパラメーターの前記値を有する前記1組の微分方程式を解くことによって第2の1組の境界条件を満たす前記第2の1組のパラメーターの前記値を求めるステップと、
第1の1組の境界条件及び前記第2の1組の境界条件の双方が満たされるまで、前記第1の1組のパラメーターの値を求めること及び前記第2の1組のパラメーターの値を求めることを繰り返すステップと、
を含み、該方法のステップはプロセッサによって実行される、境界条件を満たす1組の微分方程式によって形成される多重境界値問題を解くための方法。
前記第1の1組の境界条件及び前記第2の1組の境界条件が満たされるまで、前記第1の1組のパラメーターの前記値を更新すること及び前記第2の1組のパラメーターの前記値を更新することを再帰的に繰り返すステップを更に含む、請求項14に記載の方法。
前記軌跡生成モジュールは、切替え時点における前記制御軌跡の値を表す第1の1組のパラメーターと、前記切替え時点の値を表す第2の1組のパラメーターとを初期化し、前記第1の1組の境界条件及び前記第2の1組の境界条件が満たされるまで前記第1の1組のパラメーター及び前記第2の1組のパラメーターを交互に更新する、請求項17に記載の装置。
前記システムの動作は制約を受け、前記第1の1組のパラメーターの前記値は前記システムの状態及び共状態を表し、MBVPへの解は、前記動作中の前記システムのエネルギー消費を表すコスト関数を最適化する、請求項17に記載の装置。
【背景技術】
【0002】
最適制御問題は、航空宇宙における最小燃料着陸、及び製造における時間最適動作等の多岐にわたる用途に適用される。例として、時間最適運動制御システムは、位置決め用途、例えば単軸位置決め又は多軸位置決めにおいて広く用いられる。単軸位置決め運動制御システムは、運動制御装置と、サーボ増幅器と、モーターとを備える。運動システムの最適制御は通常、設計の複雑度を低減する2つのステップにおいて解かれる。第1のステップは、モーターが運動システムの状態制約又は制御制約、すなわち加速度、速度、ジャークを制御するための制御軌跡を求める。第2のステップは、モーターがこの制御軌跡に追従することを確実にする制御装置を設計する。
【0003】
制御軌跡は、モーターの運動によって生じる振動、及び特定のタスクの位置決め時間又はエネルギー消費等の他の性能メトリックを低減するように求めることもできる。運動制御システムの性能に対する制御軌跡の影響に起因して、複数の対立する目的を最適化する制御軌跡を求めることは困難である。
【0004】
動的計画法及び最小原理は、最適制御問題を解くのに用いられる2つの主要な技法である。動的計画法は、最適制御問題を、ハミルトン−ヤコビ−ベルマン方程式と呼ばれる1組の偏微分方程式に簡約する。最小原理によって、境界値に対する条件を有する1組の微分方程式、すなわち境界値問題が得られる。境界値問題は、1組の境界条件と合わせた1組の微分方程式である。境界値問題の解は、境界条件も満たす微分方程式の解である。
【0005】
境界値問題を解くことは難しく、通例、微分方程式の推測初期条件を用いて初期値問題(IVP)を解くことに頼る。IVPは、解の領域内の所与の点における未知の関数の、初期条件と呼ばれる特定の値と合わせた1組の微分方程式である。IVPを用いて境界値問題を解くために、初期値に対応する軌跡が境界条件を満たすまで、初期値が反復的に更新される。
【0006】
システムの動作が状態制約又は制御制約を受けるとき、制約された最適制御問題の結果、多点境界値問題(MBVP)が得られる。多点境界値問題は、1組の順序付けされた区分的微分方程式及び対応する境界条件である。通常、境界条件は、MBVPの解の領域内の少なくとも3つの点について指定される。MBVPは最も困難な一部の境界値問題のうちの1つである。
【0007】
MBVPは、以下の形式をとることができる。
【0008】
【数1】
【0009】
ここで、xは状態変数のベクトルであり、λは共状態変数のベクトルであり、uは制御変数のベクトルであり、Hは適切に定義されたハミルトニアン演算子であり、μ、v、πはラグランジュ乗数であり、mは定数であり、t
0及びt
mはそれぞれ初期時点及び最終時点を表し、f、g、hは区分的関数である。開示を単純にするために、x、λ、uはそれぞれ、状態変数、共状態変数、及び制御変数と呼ばれる。微分方程式は、状態変数及び共状態変数が経時的にどのように展開するかを定義する。代数方程式は、時点t
kにおける状態変数及び共状態変数並びに制御変数の値を、x、λ、及びtの関数として指定する。初期時点はt
0=0であり、最終時点はt
m=Tである。
【0010】
図1は、1組の順序付けされた微分方程式120と、1組の境界条件(BC)130と、特定される1組の未知のパラメーター140とを含む従来のMBVP110を示している。パラメーターは、MBVPの定義と無関係であるが、この説明を単純にするためにMBVPの一構成要素として扱われる。境界条件は通例、代数方程式の形態をとる。
【0011】
図2は、3つのセグメントAB
1210、B
1B
2220、及びB
2B230を有する制御軌跡を含むMBVPの例示的な解を示している。
図2において、x(t)及びλ(t)は、状態変数及び共状態変数の軌跡を表し、(オーバーバー)t
1は制御軌跡が第1の1組の微分方程式から第2の1組の微分方程式に切り替わる時点であり、(オーバーバー)t
2は制御軌跡が第2の1組の微分方程式から第3の1組の微分方程式に切り替わる時点である。制御軌跡の各セグメントは、異なる1組の微分方程式を満たし、すなわち、MBVPは、それぞれ間隔[0,(オーバーバー)t
1]、[(オーバーバー)t
1,(オーバーバー)t
2]、及び[(オーバーバー)t
2,T]にわたって定義される3組の微分方程式を有し、セグメントAB
1は[0,(オーバーバー)t
1]にわたって定義される第1の1組の微分方程式を満たし、セグメントB
1B
2は[(オーバーバー)t
1,(オーバーバー)t
2]にわたって定義される第2の1組の微分方程式を満たし、セグメントB
2Bは[(オーバーバー)t
2,T]にわたって定義される第3の1組の微分方程式を満たす。
【0012】
単一シューティング及び多重シューティングを含むシューティング法は、MBVPを初期値問題として解く、古典的であるが効果的な方法である。
【0013】
単一シューティング法
図3は単一シューティング法の原理を示している。曲線AB310は、探索されるMBVPの真の解である。点Aにおける状態x(0)及び共状態λ(0)の値は、部分的に未知であるので、点Bにおけるx(T)及びλ(T)の値に関する情報を用いて、点Aにおける状態値及び共状態値が特定される。点Aにおける状態値及び共状態値を所与とすると、MBVPは初期値問題として解くことができるので、MBVPの解は一意に定義される。
【0014】
点Aにおける真の状態値及び共状態値を探索する方法は以下の通りである。まず、この方法は、x(0)及びλ(0)の初期値を意味する、軌跡の初期位置A’330を推定する。次に、MBVPは、初期値問題に簡約され、曲線A’B’320によって表されるこの初期値問題の解は、微分方程式の積分によって得ることができる。A’から開始する初期値問題の解は、最後は最終位置B’340となる。これは、予測位置Bから距離δFにある。シューティング誤差δFを用いて、A’の位置の推定値が更新される。
【0015】
単一シューティング法は、1つの時点におけるパラメーター、通例、初期時点における共状態値を定義し、別の時点において境界条件、通例、最終時点における状態値及び共状態値の組合せが課される。例として、
図3のMBVPは境界条件を有し、すなわちδF=0であるか又は点B’がBと一致する。単一シューティングは、パラメーターが少なく、実施が容易であるが、特に、微分方程式が非線形であるか又は大きな時間間隔にわたって定義される場合に収束が不良である等の特性を有する。
【0016】
単一シューティング法はまた、必要条件が意味する最適軌跡を十分活用せず、このため、未知のパラメーターの初期推定値の品質に、より依存する。パラメーターに対する境界条件の感度に起因して、単一シューティング法の解は、限られたクラスの境界値問題、例えば線形境界値問題、又は非常に短い時間間隔にわたって定義された境界値問題についてのみ機能する。単一シューティング法を用いてMBVPを解くときに通常観察されるのは、特異勾配問題(singular gradient issue)である。
【0017】
多重シューティング法
多重シューティング法は、単一シューティング法の幾つかの限界に対処し、通常、微分方程式における初期推測、非線形性、及び大きな時間間隔を所与とすると、単一シューティング法よりも正確である。多重シューティング法は、単一シューティング法の不良な収束特性を改善する。
【0018】
図4は、多重シューティング法の基本的な着想を示している。曲線ABはMBVPの解を表し、これは3つのセグメントを含む。第1のセグメントは[0,(オーバーバー)t
1]にわたって定義される第1の1組の微分方程式を満たす。第2のセグメントは、[(オーバーバー)t
1,(オーバーバー)t
2]にわたって定義される第2の1組の微分方程式を満たす。第3のセグメントは、[(オーバーバー)t
2,T]にわたって定義される第3の1組の微分方程式を満たす。区分的微分方程式を積分するために、多重シューティング法は、時間間隔[0,T]を、例としてN個の部分間隔[t
k,t
K+1](0≦k≦N−1)に離散化する。ここで、t
0=0及びt
N=Tである。
【0019】
図4に示すように、A’
0,…,A’
N−1は、時点t
0,…,t
N−1における軌跡の推定値であり、(オーバーバー)t
1,(オーバーバー)t
2は推定切替え時点であり、すなわち、パラメーターは、点A’
0,…,A’
N−1及び切替え時点(オーバーバー)t
1,(オーバーバー)t
2における軌跡の値として定義される。t
k(0≦k≦N−1)におけるx及びλの初期値を所与とすると、微分方程式はそれぞれ[t
k,t
K+1]にわたって積分され、次の時点t
k+1におけるx及びλの値が得られ、対応する境界条件は、δF
k=0(ここで、1≦k≦N−1)及びδF=0である。多重シューティング法は通常、離散した時点t
k(1≦k≦N−1)におけるパラメーター及び境界条件、並びに制御軌跡が切り替わる時点、例えば(オーバーバー)t
1,(オーバーバー)t
2を定義する。
【0020】
単一シューティング法と対照的に、多重シューティング法は、はるかに短い時間間隔[t
k,t
k+1]にわたって積分を実行し、境界条件の勾配は、推定パラメーターに関して、感度方程式によってはるかに正確に近似することができる。多重シューティング法は、単一シューティング法よりも良好な収束特性を有する。しかしながら、この改善は、追加のパラメーターを導入することと引き換えに達成され、これによって計算効率が下がる。多重シューティング法は、状態が制約された最適制御問題を扱うこともできる。しかしながら、多重シューティング法は、MBVPを大きな非線形計画問題に変換し、対応するソルバーは計算的に複雑となる。このため、多重シューティング法は、高速の産業用途、例えば運動制御システムの軌跡計画の目標完了時間を常に満たすことができるとは限らない。
【0021】
図5は、所与のパラメーター及び境界条件についてMBVPを解くための従来の反復手順のブロック図を示している。パラメーターは初期推定され(510)、パラメーターの初期推定値に基づいて、MBVPは微分方程式の初期値問題として解かれる(520)。解は境界条件に対して試験される(530)。境界条件が満たされない場合、パラメーターは更新され(550)、そうでない場合、この方法は制御軌跡を出力する(540)。
【発明を実施するための形態】
【0033】
図6Aは、この発明の幾つかの実施の形態による、システムの動作を制御するための方法を示している。
図6Aの方法は説明の目的のみで用いられ、この発明の範囲を限定することを意図するものではない。
【0034】
本方法のステップは、プロセッサ699によって実行することができる。システム600の動作コストはコスト関数601によって表され、システムの物理的構造及び制限、並びにシステムの特定のタスクに関する詳細は、動作の制約602によって表される。制約602は、システムのモデルを表す動的制約、状態制約及び制御制約、タスクの実行時間及び距離を含むがこれらに限定されない。
【0035】
1つの実施の形態では、状態制約は、加速度制約及び速度制約のうちの少なくとも一方を含む。コスト関数601及び制約602に基づいて、多重境界値問題(MBVP)の解によって、制約602を満たしながらコスト関数601を最適化する制御軌跡が得られるように、MBVPが求められる(603)。
【0036】
混合シューティング法を用いてMBVPが解かれ(604)、解609が得られる。混合シューティング法は以下でより詳細に説明される。解を任意選択で処理し(605)、例えばローパスフィルターを用いて解の高周波数成分を除去し、制御軌跡610を生成することができる。
【0037】
1つの実施の形態では、
図6Aの方法の少なくとも一部を実施するシステムは、モーターを備える運動制御システムである。システムの動作は制約を受け、第1の1組のパラメーターの値はシステムの状態及び共状態を表し、1組の微分方程式及び境界条件によって、制約を満たし、かつコスト関数を最適化する解を有する多重境界値問題(MBVP)が形成される。
【0038】
例として、運動制御システムにおいて、制御軌跡610は、モーターの加速度、速度、及び位置軌跡のうちの1つ又はそれらの組合せを含むことができる。制御モジュール606は、制御軌跡610に基づいて制御信号612を生成し、システムのアクチュエーター607に制御信号を出力し、これによってシステムの最適な動作を制御する。
【0039】
図6Bは、
図6Aの方法の少なくとも一部を実施する運動制御装置620の一例を示している。例えば、軌跡生成器モジュール621が、システムの動作の制約を条件としてコスト関数を最適化する制御軌跡に対応するMBVPを求め、混合シューティング法を用いてMBVPを解き、制御軌跡610を生成する。この実施の形態の1つの変形形態では、軌跡生成器モジュール621は、ブロック603、604、及び605の関数を実行する。制御モジュール606は、制御軌跡を用いて、例えば、フィードバック信号622及び制御軌跡610に基づいて制御信号612を生成することによって、システムを制御する。
【0040】
1つの実施の形態では、コスト関数は、動作中のシステムのエネルギー消費を表す。例えば、コスト関数は以下の積分であり
【0042】
ここで、Eは動作の時間T中のシステムのエネルギー消費であり、P(x,u)はシステムの瞬間エネルギー消費であり、xはモーターの状態であり、uはモーターへの制御入力であり、瞬間エネルギー消費Pは、モーターの抵抗巻線の銅損、増幅器の切替え損失、及びモーターの機械的作業のうちの少なくとも1つから得られる。
【0043】
MBVPの決定
図7は、この発明の幾つかの実施の形態による、ハミルトニアン解析700に基づいて1組のMBVPを求めるための方法を示している。ハミルトニアン解析700によって、コスト関数601及び制約602について最適制御軌跡が満たさなくてはならない必要条件702が得られる。必要条件702は、例えば式(1)に従って、1組の区分的微分方程式及び区分的代数方程式の組合せに更に簡約することができる。必要条件702及び微分方程式の達成可能な順序に基づいて、ブロック701は1組のMBVPを確立する。
【0044】
時間間隔にわたって定義された微分方程式の順序は、MBVPの解の構造に等しい。本明細書において用いられるとき、MBVPの構造は、様々なタイプの微分方程式の順序を定義する。切替え時点は、微分方程式の1つのタイプから別のタイプへの切替えを示す。通常、微分方程式の1つのタイプは、制御軌跡の1つのセグメントに対応する。微分方程式のタイプの例には、加速度制約タイプ又は減速度制約タイプ、速度制約タイプ、ゼロ電力タイプ、制約無しタイプの微分方程式が含まれるが、これらに限定されない。
【0045】
制約の存在に起因して、必要条件を満たす制御軌跡は1つ又は複数のセグメントを含む。制御軌跡の各セグメントは、異なる1組の微分方程式及び境界条件を満たすことができる。異なる制約に対応する制御軌跡は、異なるセグメントで構成することができる。例えば、1つの問題データについて、1つの制約が最適制御軌跡に沿ってアクティブでなく、他方で、別の問題データについて、同じ制約が最適制御軌跡に沿ってアクティブである。このため、必要条件は通常、特有の構造を有する様々なタイプの制御軌跡に対応する1組のMBVP701となる。例として、MBVP701はM個のMBVPを含むことができ、各MBVPは特定の構造を有する制御軌跡のクラスに対応する。
【0046】
例えば、1つの実施の形態は、運動制御システムの特定のクラスを制御し、ここで、サーボモーターのモデルは以下の式である。
【0048】
ここで、x=(x
1,x
2)
T=(θ,ω)
Tは、それぞれモーターの位置及び角速度を表すモーターの状態であり、dは粘性摩擦係数であり、cはクーロン摩擦であり、uはサーボモーターへの制御入力(電流)であり、単一ドットは一次導関数を示し、二重ドットは二次導関数を示す。モーターへの制御入力はモーターのタイプに依拠する。1つの実施の形態では、モーターへの制御入力は、モーターへの電流入力を含む。付加的に又は代替的に、制御入力は、モーターへの電圧の制御信号を含むことができる。
【0049】
例えば、運動制御システムの動作コストは、電力コスト、すなわち消費されるエネルギーである。このため、1つの実施の形態は、運動制御システムのエネルギー消費が最小になるように制御軌跡を求める。時間間隔内で点間追跡タスクを実行する運動制御システムの総エネルギー消費は、以下のコスト関数によって抽出される。
【0051】
ここで、Tはタスクの実行時間であり、通例、ユーザーによって指定され、Rはモーターの巻線の抵抗であり、K
Sは、増幅器の切替えに起因する切替え損失の定係数であり、K
τはモーターのトルク定数である。式(3)のコスト関数は、銅損Ru
2、増幅器損失K
S|u|、及び機械的作業K
τx
2uを含めることによって、運動制御システムの大きなクラスのエネルギー消費を表す。
【0052】
運動制御システムは、様々な制約も含むことができる。動的制約は式(2)によって示され、モーターの角加速度に対する制約は
【0054】
によって示され、ここでa
maxは正の定数であり、モーターの角速度に対する制約は0≦x
2≦v
maxによって示され、ここでv
maxは正の定数であり、モーターの初期位置に対する制約はx(0)=(0,0)であり、モーターの最終位置に対する制約はx(T)=(r,0)であり、タスクの実行時間はTである。軌跡生成において制約を考慮することによって、設計段階において制約が存在しないことによって生じる制限を取り除き、これによって運動制御システムのエネルギー効率を改善することができる。
【0055】
コスト関数及び制約を所与とすると、区分的ハミルトニアン演算子Hは以下の式となる。
【0059】
ラグランジュ乗数λは、共状態変数とも呼ばれ、動的制約に対応する。ラグランジュ乗数μ、vはそれぞれ、速度制約及び加速度制約に対応する。
【0060】
ブロック700は、ハミルトニアン演算子を最小にすることによって、制約されたセグメントに対する制御を求める。
【0062】
制約されていない正の制御及び負の制御は、∂H
11/∂u=0、∂H
12/∂u=0から同等に、ハミルトニアンを最小にすることによって求めることができる。
【0064】
状態x及び共状態λを所与とすると、制御信号u及びx動力が明確に定義される。xに関するHの偏導関数が明確に定義されているので、共状態動力は以下の式となる。
【0066】
ブロック700は、軌跡に沿ってラグランジュ乗数μ、vの値を更に求め、経時的な共状態の展開を定義する微分方程式を導出する。制御軌跡が制約されていないセグメントに沿っているとき、μ=v=0である。
【0067】
加速度制約がアクティブである場合、vは以下の式によって解かれる。
【0071】
速度制約x
2−v
max≦0の場合、ラグランジュ乗数μはH
11u=0から求められ、ここで、u=u
pvelである。
【0073】
ブロック700は、タスクの初期時点及び終了時点、並びに制御軌跡が切り替わる時点t
k(1≦k≦m−1)において制御軌跡が満たさなくてはならない必要条件を更に求める。初期時点及び最終時点における制御軌跡の必要条件は
【0074】
x(0)=(0,0),x(T)=(r,0) (12)
【0075】
であり、軌跡が切り替わる時点t
kにおいて以下である。
【0077】
ブロック700は、最終的に、式(4)〜式(13)を含む必要条件702を導出する。
【0078】
式(4)〜式(13)における必要条件を所与として、ブロック701は1組のMBVPを求める。例えば、式(4)〜式(13)は式(1)の形態に再構成することができる。制御変数u及びラグランジュ乗数μ、vが定義されているので、共状態動力が導出され、微分方程式(1)が確立される。
【0079】
式(12)及び式(13)の必要条件も以下の形式に適合する。
【0081】
ブロック701は、必要条件を解析することによって、様々なセグメントを含むことができる制御軌跡を求める。様々なセグメントとは、制御が制約されておらず、正である場合、制約されていない正の制御セグメント(U
+)と、制御が制約されておらず、負である場合、制約されていない負の制御セグメント(U
−)と、制御がゼロをとる場合、ゼロ制御セグメント(U
0)と、正の加速度制約がアクティブである場合、正の加速度制約された制御セグメント(A
+)と、負の加速度制約がアクティブである場合、負の加速度制約された制御セグメント(A
−)と、最大速度制約がアクティブである場合、速度制約された制御セグメント(V
+)とである。
【0082】
セグメントのタイプの識別情報を所与として、ブロック701は必要条件を更に解析し、1組のMBVPを導出する。この1組のMBVPは、制約されていない正の制御セグメント、ゼロ制御セグメント、及び制約されていない負の制御セグメントを含む制御軌跡に対応するMBVP;正の加速度制約されたセグメント、制約されていない正の制御セグメント、ゼロ制御セグメント、及び制約されていない負の制御セグメントを含む制御軌跡に対応するMBVP;正の加速度制約されたセグメント、制約されていない正の制御セグメント、ゼロ制御セグメント、制約されていない負の制御セグメント、及び負の加速度制約されたセグメントを順に含む制御軌跡に対応するMBVP;制約されていない正の制御セグメント、速度制約されたセグメント、制約されていない正の制御セグメント、ゼロ制御セグメント、及び制約されていない負の制御セグメントを含む制御軌跡に対応するMBVP;正の加速度制約されたセグメント、制約されていない正の制御セグメント、速度制約されたセグメント、制約されていない正の制御セグメント、ゼロ制御セグメント、及び制約されていない負の制御セグメントを含む制御軌跡に対応するMBVP;正の加速度制約されたセグメント、制約されていない正の制御セグメント、速度制約されたセグメント、制約されていない正の制御セグメント、ゼロ制御セグメント、制約されていない負の制御セグメント、及び負の加速度制約されたセグメントを含む制御軌跡に対応するMBVP、のうちの1つ又はそれらの組合せを含むことができる。
【0083】
図8は、1つの実施の形態による、MBVPの解が、制約を条件としてコスト関数を最適化する制御軌跡であるようにMBVPを求めるための方法のブロック図である。
図7に示すように、システムの動作のコスト関数及び制約のハミルトニアン解析に基づいて求められた1組のMBVP701からMBVP805が選択される(800)。通常、MBVPを選択する順序は、MBVPの構造の複雑度に基づく。例えば、制御軌跡の初期構造は、MBVP701の全ての可能な構造のうちの最も単純な構造として選択することができる。MBVP805が解かれ(801)、解806が得られる。ブロック802は、MBVPの解806が何らかの制約に違反している(807)か否かを検証する。MBVPの解は、制約を満たす場合、制御軌跡を表すように割り当てられる。
【0084】
何らかの制約に違反している場合、MBVPの選択が繰り返される。例えば、MBVPの構造が、例えば違反している制約807のうちの1つに対応する制約されたセグメントをMBVPの現在の構造に加えて、次の反復のために選択されたMBVPの新たな構造808を得ることによって更新される(803)。そうではなく、全ての制約に違反していない場合(809)、反復は停止し、MBVPの解が制御軌跡を表すように割り当てられる(804)。
【0085】
この実施の形態は、MBVPが境界条件について解かれるので有利である。MBVPによって表される制御軌跡は当然境界条件を満たすが、依然として解の領域の他の点において制約に違反する可能性がある。このため、この実施の形態は、最も単純な構造を有する制御機構が境界条件及び制約の双方を満たすことを確実にする。
【0086】
混合シューティング法
混合シューティング法は、1組の微分方程式を、切替え時点における解の値を表す第1の1組のパラメーターと、切替え時点の値を表す第2の1組のパラメーターとにパラメーター化することに基づいてMBVPを解くための方法である。1つの実施の形態では、解の値は、運動システムの状態値及び共状態値を含む。MBVPは順序付けされた区分的微分方程式によって表すことができ、切替え時点は、MBVPの構造の変化、すなわち、例えば順序に従った、制御軌跡の1つのセグメントに対応する1つの1組の微分法方程式(differentiation equation)から、制御軌跡の別のセグメントに対応する別の1組の微分法方程式への切替えを表すことができる。
【0087】
混合シューティング法は、1組の境界条件が満たされるまで、第1の1組のパラメーター及び第2の1組のパラメーターの値を交互に求める。混合シューティング法は、切替え時点に対する境界条件の感度と、状態値及び共状態値、並びに切替え時点の、境界条件に対する結合効果とに起因して、従来の方法の収束問題を著しく克服する。混合シューティング法は、パラメーター数を低減して処理時間を最適化するとともに、収束特性を改善する。混合シューティング法のステップの様々な組合せが、以下でより詳細に説明される。
【0088】
図9は、曲線ABによって表されるMBVPの解の一例を示している。曲線ABは、3つのセグメントAB
1910、B
1B
2920、及びB
2B930を含む。期間[0,(オーバーバー)t
1]915にわたって定義された第1のタイプの第1の1組の微分方程式はセグメントAB
1に対応し、期間[(オーバーバー)t
1,(オーバーバー)t
2]925にわたって定義された第2のタイプの第2の1組の微分方程式はセグメントB
1B
2に対応し、期間[(オーバーバー)t
2,T]935にわたって定義された第3のタイプの第3の1組の微分方程式はセグメントB
2Bに対応する。したがって、第1のタイプ、第2のタイプ、及び第3のタイプの微分方程式は、順序付けされた区分的微分方程式であり、対応する境界条件と合わせてMBVPを形成する。MBVPの解は制御軌跡を表し、この例では曲線ABとして示される。
【0089】
幾つかの実施の形態では、混合シューティング法は、1組の微分方程式をパラメーター化して、切替え時点における解の値を表す第1の1組のパラメーターと、切替え時点の値を表す第2の1組のパラメーターとを得る。例えば、
図9の例では、パラメーター化は、第1の1組のパラメーターを解の値、例えば位置942、944、及び946、すなわち位置A’
0、A’
1、A’
2における状態及び共状態として定義し、第2の1組のパラメーターを、切替え時点(オーバーバー)t
1,(オーバーバー)t
2の値として定義する。
【0090】
同様に、境界条件は、第1の1組のパラメーターに対応する第1の1組の境界条件と、第2の1組のパラメーターに対応する第2の1組の境界条件とに分割することもできる。例えば、切替え時点(オーバーバー)t
1,(オーバーバー)t
2の境界条件は、誤差952、954、及び956、すなわち、誤差δF
1、δF
2、δF
3として定義することができる。例えば、1つの実施の形態では、第1の1組の境界条件は、切替え時点におけるシステムの状態及び共状態の連続性に基づいて求められる。
【0091】
様々な実施の形態による1組の微分方程式のパラメーター化によって、用いられるパラメーター数が低減することに起因して、従来の多重シューティング法と比べてMBVPの解の高速な計算が可能になる。また、パラメーター化によって、解の構造の知識を探求して微分方程式をより短い時間間隔にわたって解くことにより、収束特性が改善する。
【0092】
図10Aは、混合シューティング法のブロック図を示している。MBVP1010を所与として、1020においてMBVP1010のパラメーター化が達成される。ここで、MBVPの解は、順序付けされた区分的微分方程式の初期条件及び切替え時点によってパラメーター化される。切替え時点は、様々な組の微分方程式が定義される時間間隔を指定する。1組の選択されたパラメーターの値を所与として、MBVPの解、又は順序付けされた微分方程式の解は一意に計算することができる。この1組のパラメーターは、第1の1組のパラメーター1024及び第2の1組のパラメーター1026に更に分割される。パラメーター化されたMBVP及び分割を所与として、MBVPの解は1030において交互に解かれる。1組のパラメーターを分割することによって、2組のパラメーターが交互に更新されることが可能になり、MBVPを解いて例えば制御軌跡1040を得るアルゴリズムの収束特性が改善する。
【0093】
図10Bは、パラメーター及び境界条件を少なくとも2つの組に分割する例を示している。例えば、パラメーターは第1の1組のパラメーターと第2の1組のパラメーターとに分割することができ、境界条件は、第1の1組のパラメーターに対応する第1の1組の境界条件と、第2の1組のパラメーターに対応する第2の1組の境界条件とに分割することができる。
【0094】
例えば、パラメーター化されたMBVP1000は、順序付けされた微分方程式1001、境界条件1002、及び未知のパラメーター1003によって表される。境界条件1002は第1の1組の境界条件BC
11004と、第2の1組の境界条件BC
21005とに分割される。パラメーター1003は、2つの異なる組、すなわち第1の1組のパラメーターβ
11006と、第2の1組のパラメーターβ
21007とに分割される。
【0095】
図9に示す実施の形態では、第1の1組のパラメーターβ
1は、時点における制御軌跡の値を含み、第2の1組のパラメーターβ
2は、制御軌跡の構造の変数を含む。通常、第1の1組のパラメーターは、システムの状態値及び共状態値を含み、第2の1組のパラメーターは微分方程式の切替え時点を含む。
【0096】
この発明の様々な実施の形態において、第1の1組のパラメーター及び第2の1組のパラメーターは、第1の1組の境界条件及び第2の1組の境界条件が満たされるまで交互に求められる。例えば、パラメーターは再帰的に求めることができ、ここで、反復ごとに、第1の1組のパラメーターは第2の1組のパラメーターの固定値に基づいて求められ、第2の1組のパラメーターは第1の1組のパラメーターの固定値に基づいて求められる。
【0097】
図11は、
図10Bの実施の形態等の幾つかの実施の形態に従ってパラメーター及び境界条件が分割された後にMBVPを解くための2ステップの再帰的な方法を示している。ここで、β
1及びβ
2は2組のパラメーターであり、BC
1及びBC
2は2組の境界条件である。
【0098】
図11に示すように、本方法は、パラメーターの値の初期推定1100から開始する。これによって第1の1組のパラメーター及び第2の1組のパラメーターの推定値1108が生成される。MBVPの初期推定値は通常、必要条件を定性的に解析することによって、又はMBVPよりも簡単な境界値問題を解くことによって生成される。より簡単な境界値問題の自然な選択は、何らかの制約に違反しているセグメントを無視することによってMBVPから得ることができる。ブロック1101は、第2の1組のパラメーターの値を固定し、パラメーターの推定値又は更新値1109をブロック1102に出力する。ブロック1102は、MBVPにおいて定義された微分方程式の初期値問題を解き、解1110をブロック1103に出力する。
【0099】
ブロック1103は第1の1組の境界条件を検査する。第1の1組のパラメーターが第1の1組の境界条件を満たす場合、ブロック1105は第2の1組の境界条件を評価する。そうでない場合、第1の1組のパラメーターが更新される(1104)。例えば、ブロック1104は第1の1組のパラメーターに関する第1の1組の境界条件の勾配1111を求め、この勾配1111に基づいて第1の1組のパラメーターを更新する。感度方程式が線形時不変である場合、第1の1組の境界条件の勾配1111は解析的に求めることができる。そうではなく、感度方程式が時変である場合、勾配1111は感度方程式を積分することによって求めることができる。
【0100】
ブロック1105において第2の1組の境界条件が満たされた場合、ブロック1107は制御軌跡を出力し、そうでない場合、ブロック1106は、代数方程式の零点(zero:ゼロ点)を解くための様々な方法によって第2の1組のパラメーターを更新する。例えば、ブロック1106は、第2の1組のパラメーターに関する第2の1組の境界条件の勾配1113を求め、勾配1113に基づいて第2の1組のパラメーターを更新する。第1の1組のパラメーター及び第2の1組のパラメーターは、第1の1組の境界条件及び第2の1組の境界条件が満たされるまで交互に更新される。
【0101】
例として、MBVPの解の構造がm個のセグメントを含むと仮定する。MBVPの解は時点t
k(1≦k≦m−1)において切り替わり、t
0=0及びt
m=Tはそれぞれ、タスクの初期時点及び最終時点である。k番目のセグメントのパラメーターは(β
k1,β
k2)(ここで、1≦k≦m)である。
【0102】
β
1=(β
11,…β
m1)
β
2=(β
12,…β
m2)
【0103】
とする。ここで、1つの実施の形態では、第1の1組のパラメーターβ
1は、制御軌跡が切り替わる時点における状態値及び共状態値を含み、第2の1組のパラメーターβ
2は解の切替え時点のパラメーターを含む。β=(β
1,β
2)はパラメーターの全集合を表す。同様に、k番目のセグメントの境界条件は、(BC
k1,BC
k2)によって表され、それぞれ2組のパラメーターβ
k1及びβ
k2に対応する。BCによって表されるMBVPの境界条件は、(BC
k1,BC
k2)(ここで、1≦k≦m)の和集合であり、以下の式の通りである。
【0104】
BC=(BC
11,BC
12,…,BC
m1,BC
m2)
【0105】
したがって、境界条件BCは、それぞれパラメーター組β
1及びβ
2に対応する2組の境界条件BC
1及びBC
2に分割することができ、すなわち、以下の式となる。
【0106】
BC
1=(BC
11,…,BC
m1)、及び
BC
2=(BC
12,…,BC
m2)
【0107】
F
k1及びF
k2によって表されるBC
k1及びBC
k2に対応する残差値は、ブロック1102によって計算された解1110から得ることができる。β
1、β
2に対応する(正:corresponding)残差は以下である。
【0108】
F
1=(F
11,…,F
m1)、及び
F
2=(F
12,…,F
m2)
【0109】
混合シューティング法は、それぞれ2組の境界条件BC
1及びBC
2に基づいて、2組のパラメーターβ
1、β
2を交互に更新する。これによって、解の収束が改善する。反復プロセスの目的は、1組の代数方程式である
【0110】
F
1(β
1*)=0、F
2(β
2*)=0、
【0113】
を求めることである。1つの実施の形態では、ニュートン法を用いて、残差とパラメーターに関するその勾配とに基づいてβの推定値を更新する。
【0115】
ここで、β
ki,k={1,2})はi番目の反復におけるパラメーター組β
kの推定値であり、ρ
1、ρ
2はパラメーター更新のステップ長であり、∂F
k/∂β
k(k={1,2})はパラメーター組β
kに関する境界条件組BC
kの勾配である。∂x/∂β、∂λ/∂βを所与とすると、パラメーターに関するF
1、F
2の勾配の計算は、当業者には明解である。
【0116】
1つの実施の形態では、BCを満たすパラメーターを求める手順は、パラメーターβに関するBCの勾配の計算を含む。勾配は以下の成分を含む。
【0118】
パラメーターβに関するBCの勾配は、感度方程式から得ることができる。例として、k番目のセグメントについて、λ(t
k−1)に関するx(t
k)の感度方程式は以下である。
【0120】
ここで、f
x及びf
uはそれぞれ状態x及び制御uに関する関数fの偏導関数であり、u
x、u
λは、それぞれ状態及び共状態に関する制御uの偏導関数である。λ(t
k−1)に関するλ(t)の感度方程式を同様に導出することができる。感度方程式の初期条件は当業者には明解であり、したがって明確にする目的で本開示において省かれる。
【0121】
この発明の実施の形態は、様々な方法を用いて∂x/∂β
2、∂λ/∂β
2を求める。1つの実施の形態では、第2の1組のパラメーターは切替え時点t
k(1≦k≦m−1)であり、実施の形態は以下を求める。
【0123】
別の実施の形態では、β
2に関するBCの勾配は以下のように近似することができる。
【0125】
ここで、H
xTは状態に関するハミルトニアン演算子の偏導関数の転置である。
【0126】
多重シューティング法と比較して、混合シューティング法は、パラメーター数を減らして処理時間を減らす。単一シューティング法と比較して、混合シューティングシューティング法は、最適な軌跡の構造を先験的条件として組み込むことによって、ソルバーの収束特性を改善する。単一シューティング法における収束問題を矯正するために、幾つかの実施の形態によって、2ステップ再帰を用いて、境界条件に対する異なる組のパラメーターの影響を切り離す。
【0127】
図12は、混合シューティング法を用いて現在のMBVPを解くための方法のブロック図である。現在のMBVPのパラメーター及び境界条件が、現在のMBVPの現在の構造1210に基づいて求められる(1220)。現在の構造は、例えば、
図8に関連して説明された方法に従って求めることができる。パラメーターは、第1の1組のパラメーターと第2の1組のパラメーターとに分割される(1230)。同様に、境界条件は第1の1組のパラメーターに対応する第1の1組の境界条件と、第2の1組のパラメーターに対応する第2の1組の境界条件とに分割される(1240)。次に、本方法は、第2の1組のパラメーターの固定値に基づいて第1の1組のパラメーターの値と、第1の1組のパラメーターの固定値に基づいて第2の1組のパラメーターの値とを再帰的に求める(1250)。
【0128】
例えば、再帰1250の反復によって、第1の1組の境界条件が満たされるまで第1の1組のパラメーターの値が更新され(1270)、第2の1組の境界条件を満たすように第2の1組のパラメーターの値が更新される(1280)。反復は、第1の1組の境界条件及び第2の1組の境界条件の双方が満たされる(1260)まで反復的に繰り返される。1つの実施の形態では、第1の1組のパラメーターは、現在の制御軌跡の状態値及び共状態値を含み、第2の1組のパラメーターは現在の制御軌跡の切替え時点を含む。
【0129】
エネルギー効率のよい運動制御システムのための軌跡計画法
この発明の幾つかの実施の形態は、運動制御システムの動作の総コストが低減されるような、運動制御システムのエネルギー消費と生産性との間の効果的なトレードオフの必要性を動機としている。様々な因子の中から、サーボモーターが運動制御システムのエネルギー消費を低減するために従うエネルギー効率のよい軌跡が求められる。さらに、エネルギー効率のよい軌跡は、速度、加速度、及び電流制約を含む、運動制御システムの様々な制約を検討する。この発明の様々な実施の形態は、エネルギー効率のよい運動制御システムのエネルギー効率のよい軌跡を、MBVPのクラスとして定式化することができる最適制御問題として求め、混合シューティング法を用いてこのMBVPを解く。
【0130】
例えば、MBVPの区分的微分方程式は、式(2)、式(7)、式(5)、及び式(6)の組合せとして定義される。上述したように、最適制御軌跡は様々なセグメントを含むことができ、その構造はT、r、a
max、v
max等の問題データに依拠する。異なる構造は特有のMBVPに対応する。
【0131】
混合シューティング法を用いてエネルギー効率のよい軌跡を求めることは、以下の問題データ(PDATA)に対応するMBVPを解くことによって説明される。
【0133】
ここで、u
maxはモーターの入力電流の最大値である。問題データPDATA
1と関連付けられた解の構造は、例えば
図8に示す方法に基づいて求めることができる。例えば、制御軌跡は、以下のセグメント、すなわち、正の加速度制約されたセグメント;制約されていない正の制御セグメント;速度制約されたセグメント;制約されていない正の制御セグメント;ゼロ制御セグメント;制約されていない負の制御セグメント;負の加速度制約されたセグメントを連続して含むことができる。
【0134】
最適制御軌跡の構造を所与とし、混合シューティング法のパラメーター及び境界条件の定義に従うと、1つの実施の形態は、k番目のセグメント(ここで、1≦k≦7)についてパラメーターを定義し、
【0136】
第1の1組のパラメーター及び第2の1組のパラメーターを以下のように定義する。
【0138】
k番目のセグメント(1≦k≦7)のBCは以下であり、
BC
1:状態及び共状態のパラメーター組に対応する
【0140】
BC
2:切替え時点パラメーター組に対応する
【0142】
ここで、φ
x(・)及びφ
λ(・)は状態軌跡及び共状態軌跡であり、x(t
0)=x
0、λ(t
0)=λ
0である。MBVPは30個のパラメーター及びBCを有する。代替的に、パラメーター数は、制約されたセグメントのエントリにおける共状態を取り除くことによって減らすことができる。このため、パラメーター組及び境界条件は単純にすることができる。
【0143】
感度方程式は、β
1及びβ
2に関するBCの勾配、すなわち以下を計算するように定義される。
【0145】
式(16)に対応する感度方程式は、以下のように要約される。
【0152】
は、当業者によって、動的制約及び必要条件から容易に導出することができる。このため、α
1,…,α
4はx及びλから計算することができる。切替え時点に対するBC
2の感度も同様に容易に計算することができる。
【0153】
パラメーター及び境界条件の定義及び分割と、感度方程式とを所与として、
図11の2ステップ方法を用いて、問題データPDATA
1と関連付けられたMBVPの解が求められる。
【0154】
最適制御軌跡は
図13に示されている。β
2を更新する反復は
図14に示されている。ここで、この反復はβ
2の各反復中の制御軌跡によって示される。
【0155】
加えて、1つの実施の形態は、混合シューティング法を用いて、以下のコスト関数を最小にするエネルギー効率のよい運動制御システムの軌跡を解く。
【0157】
ここで、Eはシステムのエネルギー消費であり、uはモーターへの制御入力であり、Rはモーターの巻線の抵抗であり、x
2はモーターの角速度を表すモーターの状態xの第2の成分であり、K
sは増幅器における切替え損失の定係数であり、K
τはモーターのトルク定数である。幾つかの実施の形態では、切替え損失は考慮されず、例えばK
s=0である。
【0158】
この発明の上述した実施の形態は、数多くの方法のいずれにおいても実施することができる。例えば、実施の形態は、ハードウェア、ソフトウェア又はそれらの組合せを用いて実施することができる。ソフトウェアで実施される場合、ソフトウェアコードは、単一のコンピューターに設けられるのか又は複数のコンピューター間に分散されるのかにかかわらず、任意の適したプロセッサ又はプロセッサの集合体において実行することができる。そのようなプロセッサは、1つ又は複数のプロセッサを集積回路部品に有する集積回路として実装することができる。ただし、プロセッサは、任意の適したフォーマットの回路類を用いて実装することができる。
【0159】
さらに、コンピューターは、ラックマウント型コンピューター、デスクトップコンピューター、ラップトップコンピューター、ミニコンピューター又はタブレットコンピューター等の複数の形態のいずれにおいても具現化できることが理解されるべきである。また、コンピューターは、1つ又は複数の入力デバイス及び出力デバイスを有することもできる。これらのデバイスは、中でも、ユーザーインターフェースを提示するのに用いることができる。ユーザーインターフェースを提供するのに用いることができる出力デバイスの例には、出力を視覚提示するためのプリンター又は表示スクリーン、及び出力を可聴提示するためのスピーカー又は他の音発生デバイスが含まれる。ユーザーインターフェースに用いることができる入力デバイスの例には、キーボード、並びにマウス、タッチパッド及びデジタイジングタブレット等のポインティングデバイスが含まれる。別の例として、コンピューターは、音声認識を通じて又は他の可聴フォーマットで入力情報を受け取ることもできる。
【0160】
そのようなコンピューターは、ローカルエリアネットワーク又はワイドエリアネットワークとしてエンタープライズネットワーク又はインターネット等を含む1つ又は複数のネットワークによって任意の適した形態で相互接続することができる。そのようなネットワークは、任意の適した技術に基づくことができ、任意の適したプロトコルに従って動作することができ、無線ネットワーク、有線ネットワーク又は光ファイバーネットワークを含むことができる。
【0161】
また、本明細書において概説される様々な方法又はプロセスは、様々なオペレーティングシステム又はプラットフォームのうちの任意のものを用いる1つ又は複数のプロセッサに対して実行可能なソフトウェアとして符号化することができる。加えて、そのようなソフトウェアは、複数の適切なプログラミング言語及び/又はプログラミングツール若しくはスクリプティングツールのうちの任意のものを用いて書くことができ、フレームワーク又は仮想マシン上で実行される実行可能な機械語コード又は中間コードとしてコンパイルすることもできる。
【0162】
これに関して、この発明は、単数又は複数のコンピューター可読記憶媒体、例えばコンピューターメモリ、コンパクトディスク(CD)、光ディスク、デジタルビデオディスク(DVD)、磁気テープ、及びフラッシュメモリとして実現することができる。代替的に又は付加的に、この発明は、伝播信号等の、コンピューター可読記憶媒体以外のコンピューター可読媒体として実施することもできる。
【0163】
「プログラム」又は「ソフトウェア」という用語は、本明細書において、包括的な意味で、上記で検討したこの発明の様々な態様を実施するようにコンピューター又は他のプロセッサをプログラムするのに用いることができる任意のタイプのコンピューターコード又は1組のコンピューター実行可能命令を指す。
【0164】
コンピューター実行可能命令は、1つ若しくは複数のコンピューター又は他のデバイスによって実行された、プログラムモジュール等の多くの形式をとることができる。一般に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造を含む。通常、プログラムモジュールの機能は、様々な実施の形態において所望に応じて組み合わせることも分散することもできる。
【0165】
また、この発明の実施の形態は、例が提供された方法として実施することができる。本方法の一部として実行される動作は、任意の適切な方法で順序付けすることができる。したがって、動作が示したものと異なる順序で実行される実施の形態を構築することができ、これには、例示の実施の形態では一連の動作として示されたにもかかわらず、幾つかの動作を同時に実行することを含めることもできる。
【0166】
特許請求の範囲における、特許請求の範囲の要素を修飾する「第1の」、「第2の」等の順序を示す用語の使用は、それ自体では、優先度も、優先順位も、1つの特許請求の範囲の要素の別の要素に対する順序も、方法の動作が実行される時間順序も一切暗示するものではなく、単に、或る特定の名称を有する1つの特許請求要素を、(順序を示す用語の使用を除いて)同じ名称を有する別の要素と区別して、それらの特許請求要素を区別するためのラベルとして用いられる。