(57)【要約】【課題】宇宙探査機の向きを回転する操縦コマンドが受信される第１のステップを含む宇宙探査機内のＣＭＧの配列のＣＭＧの移動における特異点を回避する方法を提供する。【解決手段】そこで、宇宙探査機の向きを回転するのに必要なトルクを決定する。次いで、トルクを積分して運動量経路を決定する。運動量経路は直線分の列に分解される。線分毎に、直線分にそった単位ベクトルが決定される。次いで、この単位ベクトルに垂直な平面内で線分の始点と終点とを結ぶ連続的経路があるかどうかが決定される。この単位ベクトルに垂直な平面内で経路にそった点毎に、一組のジンバル角度が決定される。【選択図】図１
2008083779.tif 000002
【特許請求の範囲】
【請求項１】
宇宙探査機内のＣＭＧ（１０６）の配列内のＣＭＧ（１０６）の移動における特異点を回避する方法であって、
前記宇宙探査機の向きを調整するコマンドを受信するステップと、
前記コマンドの条件を満たすために必要なトルクを計算するステップと、
前記トルクを積分して運動量経路を決定するステップと、
前記運動量経路を複数の直線分で近似するステップと、
前記複数の線分のうちのそれぞれの線分について、
前記直線分にそった単位ベクトルを決定するステップと、
前記単位ベクトルに垂直な平面内で前記線分の始点と終点とを結ぶ連続的経路があるかどうかを決定するステップと、
一組の運動量ベクトルを決定するステップと、
前記線分のそれぞれについて決定された前記一組の運動量ベクトルについてＣＭＧ（１０６）の前記配列内の前記ＣＭＧ（１０６）に対する必要なジンバル移動を計算するステップと、
を含む方法。
【請求項２】
垂直な平面内で前記線分の始点と終点とを結ぶ連続的経路があるかどうかを決定するステップは、さらに、
３次元運動量空間を２次元平面上に射影し、ｗ＿ｐｅｒｐ射影を形成するステップと、
ｗ＿ｐｅｒｐ射影の境界曲線を決定するステップと、
前記境界曲線を一連の水平接線と結び、前記水平接線のそれぞれが前記境界曲線の１つの接線となり、前記境界曲線を通して延びるようにするステップと、
前記境界曲線を一連の水平尖点直線と結び、前記尖点直線のそれぞれが前記境界曲線の１つの尖点の接線となり、前記境界曲線を通して延びるようにするステップと、
前記始点から、前記ｗ＿ｐｅｒｐ射影と交差する開始線を構成するステップと、
前記終了経路から、前記ｗ＿ｐｅｒｐ射影と交差する終了線を構成するステップと、
交差点として、前記境界曲線、前記水平線、前記接線、前記尖点直線、前記開始線、および前記終了線が交わる場所を選択するステップと、
前記交差点を使用して前記始点から前記終点までの最適な経路を決定するステップとを含む、請求項１に記載の方法。
【請求項３】
高度制御システム（１０２）を含む宇宙探査機の制御システム（１００）であって、
高度制御システム（１０２）は、
前記宇宙探査機の向きを変更するコマンドを受信し、
前記宇宙探査機の向きを回転するために必要なトルクを計算し、
前記トルクを積分して運動量経路を決定し、
前記運動量経路を複数の直線分で近似し、
前記複数の線分の線分毎に、前記直線分にそった単位ベクトルを決定し、
前記単位ベクトルに垂直な平面内で前記線分の始点と終点とを結ぶ連続的経路があるかどうかを、前記単位ベクトルに垂直な平面ｗ＿ｐｅｒｐ平面を計算することにより決定し、
連続的経路がある場合に前記複数の線分のうちのそれぞれの線分について一組の運動量ベクトルを決定する動作が可能な高度制御システム（１０２）と、
前記高度制御システム（１０２）に結合され、前記線分のそれぞれについて計算されたそれぞれの運動量ベクトルについて一組のジンバル移動を決定する動作が可能な運動量アクチュエータ制御プロセッサ（１０４）と、
前記運動量アクチュエータ（１０２）に結合され、前記宇宙探査機の向きを変更するコマンドを前記運動量アクチュエータ（１０４）から受信する動作が可能な複数の制御モーメントジャイロスコープ（１０６）と、
を備える制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、宇宙探査機操縦制御の分野に関し、より具体的には、特異点のない運動量経路を決定するための方法およびシステムに関する。
【背景技術】
【０００２】
宇宙探査機の高度を制御するために、さまざまな回転慣性部材を使用することができる。このような慣性部材の１つは、制御モーメントジャイロスコープ（ＣＭＧ）である。ＣＭＧは、典型的には、ジンバルアセンブリに取り付けられたスピン速度一定または可変のフライホイールを含む。ＣＭＧのスピン軸は、ジンバルアセンブリを使用してＣＭＧを移動することにより傾斜させることができる。この運動は、スピン軸およびジンバル軸に直交するジャイロトルクを発生する。
【０００３】
宇宙探査機高度制御を完全に行うために、ＣＭＧアレイ内のそれぞれのＣＭＧが一次独立の軸を中心とするトルクを与えるように配列された最低でも３つのＣＭＧを使用することができる。典型的には、冗長性をもたせ、特異点回避を補助するために、ＣＭＧを追加装備する。特異点は、ＣＭＧの運動量ベクトルが、要求されたトルクの１つまたは複数の成分を与えることができないように一列に並んだときに発生する。
【０００４】
特異点を回避するために、複数の異なる技術が開発されてきた。一方法では、ヤコビアンＡがＣＭＧジンバル速度を３次元配列トルクにマッピングすることにまず留意されたい。
【０００５】
Ａω＝τ    （１）
ただし、Ａは３×ｎのヤコビ行列であり、ωはｎ個のジンバルに対するジンバル速度のｎ×１配列であり、τは宇宙探査機に与えられるトルク成分の３×１配列である。上記の方程式から、また知られているトルクコマンドτを使用して、それぞれのＣＭＧの個別ジンバル速度を計算することができる。ヤコビ行列の逆行列を求めるために知られているＭｏｏｒｅ−Ｐｅｎｒｏｓｅ型擬逆行列を使用すると、一組の可能なジンバル速度は
ω＝ＡＴ（ＡＡＴ）−１τ    （２）
である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述のように、ＣＭＧを使用することには、ＣＭＧの運動量ベクトルが特異性条件に達するような形で一列に並ぶ可能性がついて回る。数学的に、ＡＡＴの固有値が０に近づくときに特異点が発生する可能性があり、（ＡＡＴ）−１は無限大に近づく。または、それと同等のことであるが、特異点は、行列ＡＡＴの行列式が０に等しい（代数的に表すと、ｄｅｔ（ＡＡＴ）＝０）場合に発生する。３×ｎ行列Ａの場合、これは、行列ＡＡＴの階数が２以下であるということに相当する。
【０００７】
ＣＭＧの移動における特異点を回避するため異なるアプローチが考案された。１つのアプローチでは、（ＡＡＴ）−１が決して０にならないようにするために、Ｉを単位行列とし、εを小さな数として、（ＡＡＴ）−１を（ＡＡＴ＋εＩ）−１で置き換える。正のεを使用することで、ｄｅｔ（ＡＡＴ＋εＩ）−１は決して０にならない。
【０００８】
このアプローチはいくつかの場合には有用であるが、このアプローチは、ジンバル速度計算を変えるという欠点がある。ヤコビアンＡの場合、擬逆行列を使用するということは、誤差εが入り込むためジンバル速度はもはや指令されたトルクに正確にマッピングされないことを意味する。この結果得られる誤差により、宇宙探査機は間違った方向に操縦され、有意な望ましくないトルクが、特に特異点付近で持ち込まれる可能性がある。
【０００９】
第２のアプローチでは、ＣＭＧ配列の運動量出力を運動量包絡線内の小さな領域に制限する。この運動量包絡線は、ＣＭＧ配列内のＣＭＧの可能なすべての組み合わせで与えられる運動量である。ＣＭＧの配置に応じて、例示的な一実施形態では、全運動量包絡線の１／３以下の範囲内で操作することにより、特異点を回避することができる。しかし、このアプローチでは、ポテンシャルトルクが無駄になり、その結果、システムは必要以上に大きく、重くなる。
【００１０】
他のアプローチでは、特異点を回避する操舵法を使用する。操舵法により、ＣＭＧを移動する前に特異点のない運動量経路を決定することができる。操舵法の問題点は、経路を決定することは典型的に、膨大な計算を伴う作業であり、その結果、宇宙探査機を回転させるコマンドを発行してから実際に回転が開始するまでにかなりの遅延が生じるという点である。必要なのは、特異点のない運動量経路を効率よく、迅速に決定できる操舵法である。
【課題を解決するための手段】
【００１１】
例示的な一実施形態では、宇宙探査機内のＣＭＧの配列内のＣＭＧの移動における特異点を回避する方法が開示される。まず最初に、宇宙探査機の向きを回転する操縦コマンドを受け取る。次いで、宇宙探査機の向きを回転するのに必要なトルクを決定する。次に、トルクを積分して運動量経路を決定する。次いで、運動量経路を直線分の列に分解する。線分毎に、直線分にそった単位ベクトルを決定する。次いで、この単位ベクトルに垂直な平面内で線分の始点と終点とを結ぶ連続的経路があるかどうかを決定する。この単位ベクトルに垂直な平面内で経路にそった点毎に、一組のジンバル角度を決定する。
【００１２】
他の例示的な実施形態では、宇宙探査機の制御システムが実現される。制御システムは、宇宙探査機の向きを回転する操縦コマンドを受け取り、宇宙探査機の向きを回転するために必要なトルクを計算し、トルクを積分して運動量経路を決定し、運動量経路を直線分の列で近似し、線分毎に直線にそった単位ベクトルを決定し、単位ベクトルに垂直な平面内で直線の始点と終点とを結ぶ連続的経路があるかどうかを決定する動作が可能な高度制御システムを含む。制御システムは、さらに、高度制御システムに結合された運動量アクチュエータ制御プロセッサも備える。運動量アクチュエータ制御システムは、単位ベクトルに垂直な平面内の経路にそった点毎に、一組のジンバル角度を決定するように構成されている。制御システムは、さらに、運動量アクチュエータに結合され、宇宙探査機の向きを回転するコマンドを運動量アクチュエータから受け取るように構成された複数の制御モーメントジャイロスコープを備える。
【００１３】
本発明は、以下では、図面とともに説明され、類似の番号は類似の要素を示す。
【発明を実施するための最良の形態】
【００１４】
以下の詳細な説明は、本質的に例にすぎず、発明またはアプリケーションおよび発明の使用を限定することを意図されていない。さらに、前項の技術分野、背景技術、図面の簡単な説明、または以下の詳細な説明で提示されている明示または暗示されている理論により束縛される意図もない。
【００１５】
以下の詳細な説明では、例示的なＣＭＧ配列特異点回避システムで使用することに関連して本発明を使用することについて説明する。しかし、本発明の応用は、具体的な一用途または実施形態に限定されず、さまざまな試みの分野において有用である。
【００１６】
本発明を実装する例示的な制御システム１００は、図１に示されている。制御システム１００のコンポーネントは、当業で知られており、異なるプロセッサ、ソフトウェア、コントローラ、センサなどを使用してさまざまな方法で組み立てることができる。さらに、典型的にはシステムの一部が備えるさまざまな計算機能を、代わりに他の部分で実現することもできる。図１に示されているようなシステム１００は、本発明の説明に関連する部分を含み、システム１００は、制御システム内に実現することも可能な、よく知られているが、図１には示されていない他の要素またはシステムを含むことができる。
【００１７】
制御システム１００は、運動量アクチュエータ制御プロセッサ１０４に結合された高度制御システム１０２を備える。ＣＭＧ  １０６は、運動量アクチュエータ制御プロセッサ１０４に結合されている。それぞれのＣＭＧ  １０６に関連付けられているのは、ＣＭＧ  １０６の状態に関する情報を制御システムに供給するための１つまたは複数のＣＭＧセンサ１０８である。一実施形態では、制御システム１００は、周回軌道衛星などの宇宙探査機に搭載される。
【００１８】
高度制御システム１０２は、宇宙探査機の位置決めを制御する。高度制御システム１０２は、所望の宇宙探査機操縦に関するデータを受け取り、所望の操縦を完了するための適切なトルクコマンドを決定する。トルクコマンドは、運動量アクチュエータ制御プロセッサ１０４に提示することができる。運動量アクチュエータ制御プロセッサ１０４は、トルクコマンドに応答して、指令されたトルクを発生するのに必要なジンバル速度を計算することができる。さらに、運動量アクチュエータ制御プロセッサ１０４は、操舵法により決定された運動量経路からのジンバル移動を計算することができる。
【００１９】
運動量アクチュエータ制御プロセッサ１０４は、上記の計算に基づき、ＣＭＧ  １０６に必要なコマンドを与え、ＣＭＧ移動で指令されたトルクが発生するようにし、また本発明の教示により、特異点を回避しながらトルクを与える。
【００２０】
図２は、特異点を回避し、この実施例では、４辺ピラミッドの面上で位置を揃えられた４つの一組のＣＭＧ内の対応する経路をジンバル角付き空間内に用意する運動量空間内の直線経路を用意する方法２００の例示的な実施形態の流れ図である。３つの自由度を有するために３つのＣＭＧが必要であり、第４のＣＭＧは、冗長性のため、また特異点を回避しやすくするために使用することができる。
【００２１】
第１のステップである、ステップ２０２では、４つのＣＭＧの運動により形成される３次元運動量空間は、２次元射影に分解される。まず、４つすべてのＣＭＧについて与えられた運動量は、
ｈ＝ｈ１＋ｈ２＋ｈ３＋ｈ４    （３）
であることに注意されたい。
【００２２】
ただし、それぞれの添え字は、個々のＣＭＧを表す。この方法では、指令された運動量経路は、直線
ｈ（ｔ）＝ｈ０＋ｔ＊ｗ    （４）
上にある。
【００２３】
ただし、ｈ０は運動量直線上の点であり、ｔは直線にそって動くスカラー量（例えば、時間パラメータ）であり、ｗは直線の方向にそった単位ベクトルである。
【００２４】
式３および４を等しいと置くと、
ｈ１＋ｈ２＋ｈ３＋ｈ４＝ｈ０＋ｔ＊ｗ    （５）
となる。
【００２５】
ｗは直線にそった単位ベクトルなので、ｗ＿ｐｅｒｐは、ｗに直交する平面上への射影として定義することができる。例えば、ｗがｘ軸内で動く単位ベクトルである場合、ｗ＿ｐｅｒｐは、ｙおよびｚ平面である。
【００２６】
式５の両辺にｗ＿ｐｅｒｐの転置を掛けると、
ｗ＿ｐｅｒｐ’＊（ｈ１＋ｈ２）＝ｗ＿ｐｅｒｐ’＊（ｈ０−（ｈ３＋ｈ４））  （６）
が得られるが、それは、ｗ＿ｐｅｒｐ’＊ｗ＝［０，０］だからである。
【００２７】
式６は、ＣＭＧの運動量包絡線の２次元射影を表す。射影において、ｈ１＋ｈ２およびｈ０−（ｈ３＋ｈ４）は両方とも、ｗ＿ｐｅｒｐ平面上に射影される。式４ではすべての運動量が直線にそっていることを要求しているため、運動量経路がｗ平面内の直線にそって移動するときに、ｗ＿ｐｅｒｐ平面内のｈ１＋ｈ２の移動は、ｗ＿ｐｅｒｐ平面内のｈ３＋ｈ４の移動により正確に相殺されなければならない。したがって、ｈ１＋ｈ２の射影がｗ＿ｐｅｒｐ平面内のｈ０−（ｈ３＋ｈ４）の射影と重なり合う領域は、運動量経路が直線ｗにそって存在する可能な領域であり、２次元空間内の定数ｗ＿ｐｅｒｐ’＊ｈ０の純粋運動量はｗに垂直である。
【００２８】
ｈ１＋ｈ２のｗ＿ｐｅｒｐ平面上への射影の一実施例として、第１のＣＭＧの運動量ｈ１は、円上にあり、第２のＣＭＧの運動量ｈ２は、他の円上にあることに留意されたい。この例示的な実施形態では、ＣＭＧのフライホイールの相対速度は、ｈ１＋ｈ２合わせて、トーラスと一般に呼ばれるドーナッツ形を形成することができるような速度である。図３を参照すると、トーラス３０２は、ｈ１＋ｈ２により形成される運動量空間を表す。図３では、トーラス３０２は、２次元運動量包絡線３０４上に射影され、運動量射影３０３を形成する。垂直な直線は、０、２、または４箇所でトーラス３０２を貫きうる。例えば、第１の直線３０６がトーラス３０２の外部にあるか、またはトーラス３０２の孔を通る場合、第１の直線３０６は、０箇所でトーラス３０２と交差する。第２の直線３０７は、２箇所の点３０８と３１０でトーラス３０２の表面と交差する。さらに、第３の直線３０９は、トーラス３０２に入り、２点を通過し、次いで、引き続き孔を通り、トーラス３０２の反対側に出るが、その後、直線はさらに、全部で４つの箇所について、２つの箇所でトーラスを貫通する。例えば、第３の直線３０９は、トーラス３０２と点３１２、点３１４、点３１６、および点３１８で交差することができる。
【００２９】
射影面内の任意の点（ｙ，ｚ）を与えられた場合に直線が運動量包絡線と交差できる箇所の数を決定するために、ｗ＿ｐｅｒｐ＊（ｈ１（θ１）＋ｈ２（θ２））＝［ｙ，ｚ］を使用して角度θ１およびθ２について解くことができる。これらの方程式を解くと、複素数体上で４つの解を持つ４次多項式が得られる。複素（非物理的）解を無視すると、３次元空間内で直線が運動量包絡線と交差する点の数に対応する０、２、または４つの実解がありうるという結論に達する。
【００３０】
図４を参照すると、図４は、特定のＣＭＧ配置についてｗ＿ｐｅｒｐ＊（ｈ１＋ｈ２）の射影４００を例示している。射影４００は、外側境界４０２および内側境界４０４を含む。これらの境界により、ｗ＿ｐｅｒｐ＊（ｈ１（θ１）＋ｈ２（θ２））＝［ｙ，ｚ］の異なる解の領域が分離される。内側境界４０４により囲まれる第１の領域では、４つの実解がある。内側境界４０４と外側境界４０２との間の第２の領域４０８内には、２つの実解がある。外側境界４０２の外部には、実解はない。
【００３１】
図５は、ｗ＿ｐｅｒｐ’＊（ｈ０−（ｈ３＋ｈ４））の例示的な射影５００を示している。これらの境界により、ｗ＿ｐｅｒｐ＊（ｈ０−（ｈ３（θ３）＋ｈ４（θ４）））＝［ｙ，ｚ］の異なる解の領域が分離される。図５では、外側境界５０２と、それ自身と２つの端点で交わる内側境界５０４がある。外側境界５０２と内側境界５０４との間の第１の領域５０６内には、２つの実解がある。比較的楕円形状の、内側境界により囲まれている、第２の領域５０８内には、実解はない。いくぶん三角形形状の、内側境界５０４により囲まれている、第３の領域５１０内には、４つの実解がある。
【００３２】
もちろん、上述のように、注目している領域は、２つの射影の重なり合いである。図６は、図４の射影および図５の射影を示している。第１の領域６０２は、ｗ＿ｐｅｒｐ’＊（ｈ１＋ｈ２）射影およびｗ＿ｐｅｒｐ’＊（ｈ０−（ｈ３＋ｈ４））射影に対する解が重なり合う領域を表す。それぞれのｈｉは、原点を中心とする縁を描くので、ｗ＿ｐｅｒｐ’＊（ｈｉ＋ｈｊ）は、原点を中心としており、ｗ＿ｐｅｒｐ’＊ｈ０は、２つのドーナツ形領域の中心と中心との間の距離である。特に、第１の領域６０２は、射影４００の第２の領域４０８と射影５００の第１の領域５０６の重なり合いを表す。第２の領域６０４などの重なり合いがないか、または０個の解の領域が第３の領域６０６などの２個または４個の解の領域と重なり合う領域では、解はない。第４の領域６０８は、射影４００の第１の領域４０６と第２の射影５００の第１の領域５０６の重なり合いを表す。第５の領域６１０は、射影４００の第２の領域４０８と第２の射影５００の第３の領域５１０の重なり合いを表す。
【００３３】
異なる領域は異なる数の解を持つため、運動量直線にそって移動するときに、ｗ＿ｐｅｒｐ平面において経路が停止する領域における解の数よりも多い解を有する領域で経路が始まる場合、間違った経路が最初に選択されると、２つの領域の間に連続解はありえず、終点に到達するように異なる経路を選択する必要がある場合がある。これは、運動量空間の内側のジンバルロックの一例である。
【００３４】
図２に戻り、ステップ２０４では、ｗ＿ｐｅｒｐ’＊（ｈ１＋ｈ２）およびｗ＿ｐｅｒｐ’＊（ｈ０−（ｈ３＋ｈ４））領域に対する境界曲線が構成されたときに、ロードマップの第１の部分が生成される。境界曲線は、異なる数の解を持つ領域を分離する境界として定義される。数学的には、これらは、ｈｉをｉ番目のＣＭＧの角運動量とし、‖ｈｉ‖を一定の運動量の大きさとすることにより見つけることができる。それぞれの運動量ベクトルｈｉは、円にそって移動する。ｅｉをその円を含む平面に垂直な一定の単位ベクトルとすると、ｅｉ’＊ｈｉ＝０である。
【００３５】
運動量直線ｈ＝ｈ０＋ｗ＊ｔが与えられたとすると、その直線に垂直な運動量は、０でなければならず、したがってｗ＿ｐｅｒｐ’＊（ｈ１＋ｈ２＋ｈ３＋ｈ４）＝ｗ＿ｐｅｒｐ’＊ｈ０であるが、なぜなら
【００３６】
【数１】
2008083779.tif 000003
【００３７】
だからである。これは、ｗ＿ｐｅｒｐ’＊（ｈ１＋ｈ２）＝ｗ＿ｐｅｒｐ’＊（ｈ０−（ｈ３＋ｈ４））であることを意味する。それぞれのｈｉは円にそって移動するので、これらのうちの２つの組み合わせは、２次元領域を与える。ｗに垂直な平面内で、［ｙ，ｚ］＝ｗ＿ｐｅｒｐ’＊（ｈ１＋ｈ２）により掃き出される２次元領域は、２つの曲線を境界とする。これら２つの１次元曲線は、２変数の関数が特異である場合であり、したがって、２次元領域を与える代わりに、この関数は１次元境界曲線に退化する。２変数の関数は、２×２ヤコビ行列が特異である場合に特異である。関数［ｙ，ｚ］＝ｗ＿ｐｅｒｐ’＊（ｈｉ＋ｈｊ）は、ヤコビ行列［ｄｙ，ｄｚ］＝ｗ＿ｐｅｒｐ’＊（ｄｈｉ＋ｄｈｊ）を持つが、ただし、ｄｈｉ＝ｅｉ×ｈｉは、ｈｉが円にそって移動するときにｈｉが変化する方向でｈｉに垂直なベクトルである。ヤコビアンは、ヤコビアンが０に送る２次元単位ベクトルｖｉｊが存在する（したがって、ｖｉｊは円上にある）場合かつその場合に限り特異である、つまり
ｖｉｊ’＊ｗ＿ｐｅｒｐ’＊［ｅｉ×ｈｉ  ｅｊ×ｈｊ］＝［０  ０］    （７）。
【００３８】
同様に、関数［ｙ，ｚ］＝ｗ＿ｐｅｒｐ’＊（ｈ０−（ｈ３＋．．．＋ｈｎ））は、ヤコビ行列［ｄｙ，ｄｚ］＝ｗ＿ｐｅｒｐ’＊（ｈ３＋．．．＋ｄｈｎ）を持ち、これは、ヤコビアンが０に送る２次元単位ベクトルｖ３．．ｎ存在する（したがって、ｖ３．．ｎは円上にある）場合かつその場合に限り特異である、つまり
ｖ３．．．ｎ’＊ｗ＿ｐｅｒｐ’＊［ｅ２×ｈ３．．．ｅｎ×ｈｎ］＝［０．．．０］  （８）。
【００３９】
しかし、３つのベクトルａ、ｂ、ｃについて、ベクトル恒等式ａ’＊（ｂ×ｃ）＝ｄｅｔ［ａ  ｂ  ｃ］をａ＝ｗ＿ｐｅｒｐ＊ｖｉｊ、ｂ＝ｅｉ、およびｃ＝ｈｉと使用し、上記式のそれぞれ片側を以下に変換できる。
【００４０】
【数２】
2008083779.tif 000004
【００４１】
そのため、ｈｉは、ｅｉ×（ｗ＿ｐｅｒｐ＊ｖｉｊ）に直交し、ｈｉは、ｅｉに直交しており、したがって、ｈｉは、２つのベクトルの外積の方向を持つ。したがって、以下のように、符号の変化があるまで、これらの方向の単位ベクトルは等しい。
【００４２】
【数３】
2008083779.tif 000005
【００４３】
この式にｗ＿ｐｅｒｐを掛けると以下の式が得られる。
【００４４】
【数４】
2008083779.tif 000006
【００４５】
ただし、この最後の等式では、任意のベクトルｂ、ｃ、および単位ベクトルｅを含む、以下のベクトル恒等式を使用した。
【００４６】
【数５】
2008083779.tif 000007
【００４７】
２×２対称行列Ａｉは、以下のように定義することができる。
【００４８】
Ａｉ＝ｗ＿ｐｅｒｐ’＊（Ｉ−ｅｉ＊ｅｉ’）＊ｗ＿ｐｅｒｐ      （１３）
最後のｗ＿ｐｅｒｐ’＊ｈｉの式でこの行列を使用すると以下の式が得られる。
【００４９】
【数６】
2008083779.tif 000008
【００５０】
ｗ＿ｐｅｒｐ’＊（ｈ１＋ｈ２）領域の内側および外側（以下では＋および−符号を使用する）境界曲線は、ｖ１２を円上で動かして以下の式を計算することにより得られる。
【００５１】
【数７】
2008083779.tif 000009
【００５２】
ｗ＿ｐｅｒｐ’＊（ｈ０−（ｈ３＋ｈ４））領域の内側および外側（以下では＋および−符号を使用する）境界曲線は、ｖ３４を円上で動かして以下の式を計算することにより得られる。
【００５３】
【数８】
2008083779.tif 000010
【００５４】
ｗ＿ｐｅｒｐ’＊（ｈ０−（ｈ３＋．．．＋ｈｎ））領域の２ｎ−３個の（以下ではすべての符号選択を使用する）境界曲線は、ｖ３．．．ｎを円上で動かして以下の式を計算することにより得られる。
【００５５】
【数９】
2008083779.tif 000011
【００５６】
ｗ＿ｐｅｒｐ’＊（ｈ１＋ｈ２）領域およびｗ＿ｐｅｒｐ’＊（ｈ０−（ｈ３＋ｈ４））領域について曲線を計算する際に、ロードマップの計算で後から使用するために、曲線の交点は保存され、曲線の尖点も保存される。
【００５７】
図７を参照すると、図７には、ｈ１＋ｈ２およびｈ０−（ｈ３＋ｈ４）のｗ＿ｐｅｒｐ  射影を持つ４つのＣＭＧの他の配置が例示されている。この実施例では、ｈ１、ｈ２、ｈ３、およびｈ４の値は、図４〜６のと異なる。ｗ＿ｐｅｒｐ’＊（ｈ１＋ｈ２）の射影は、実線で表され、ｗ＿ｐｅｒｐ’＊（ｈ０−（ｈ３＋ｈ４））の射影は、破線で表されている。４つの領域がある。第１の領域７０２は、合計１６個の解を持ち、第２の領域７０４は、８個の解を持ち、第３の領域７０６は、４個の解を持ち、第４の領域７０８は、０個の解を持つ。これからわかるように、第１の境界曲線７１０は第１および第２の領域を分離し、第２の境界曲線７１２は第２の領域と第３の領域を分離し、第３の境界曲線７１４は第３の領域７０６と第４の領域７０８を分離し、第４の境界曲線７１６は第４の領域７０８を射影の外部の点から分離する。
【００５８】
境界曲線は、射影内の道または経路として機能する。一方の領域から他方の領域への移動は、他方の境界曲線または交差する道または経路に到達するまで境界曲線にそって移動することにより達成できる。図６では、境界曲線は交差している。図７では、境界曲線は交差しない。これは、図７において一方の領域から他方の領域への経路がないことを意味しない。ロードマップ内には、追加の道が必要であることが暗示されている。
【００５９】
ステップ２０６で、そのロードマップ用の追加の道が、境界曲線を連結する水平接線を構成することにより決定される。接線は、境界曲線の接線となるように構成される。接線は水平なので、極大値および極小値で境界曲線の接線となる。図７では、境界曲線と交差する例示的な水平接線７２０が例示されている。
【００６０】
さらに、境界曲線の尖点を通る水平線が描画される。尖点は、境界曲線の方向が急に変化する点として定義される。図７に示されているように、第１の境界曲線７１０は、第１の尖点７２２、第２の尖点７２４、第３の尖点７２６、および第４の尖点７２８を持つ。尖点を通る尖点直線７３０が描画される。
【００６１】
曲線が急に方向を変える尖点は、まず２次元［ｙ，ｚ］＝ｗ＿ｐｅｒｐ’＊（ｈ１＋ｈ２）の境界曲線に対する公式が以下の式で与えられることに注意して計算することができる。
【００６２】
【数１０】
2008083779.tif 000012
【００６３】
曲線が急に方向を変えるためには、その導関数のすべての成分が０にならなければならない。２次元単位ベクトルパラメータｖ１２に関して上記式の右辺の導関数を計算するために、以下の式を評価する必要がある。
【００６４】
【数１１】
2008083779.tif 000013
【００６５】
ｖ’＊ｖ＝１なので、ｖの変化は以下のようにｖに垂直でなければならない。
【００６６】
【数１２】
2008083779.tif 000014
【００６７】
そこで、
【００６８】
【数１３】
2008083779.tif 000015
【００６９】
上記の式の中の２×２行列の式（ｖ’＊Ａ＊ｖ）＊Ａ−Ａ＊ｖ＊ｖ’＊Ａは、
【００７０】
【数１４】
2008083779.tif 000016
【００７１】
および
【００７２】
【数１５】
2008083779.tif 000017
【００７３】
を使用して、すべてのスカラー項を掛けることにより簡素化することができ、
【００７４】
【数１６】
2008083779.tif 000018
【００７５】
が得られる。
前の式の中でこの恒等式を使用し、‖ｖ‖２＝１および（ｌ−ｖ＊ｖ’）＊（Ｉ−ｖ＊ｖ’）＝（Ｉ−ｖ＊ｖ’）に注意すると、以下の式が得られる。
【００７６】
【数１７】
2008083779.tif 000019
【００７７】
Ａ１とＡ２の両方に対し、このタイプの式を使用すると、曲線方程式の一部から、曲線の導関数が０のときに生じる曲線尖点の条件が得られる。
【００７８】
【数１８】
2008083779.tif 000020
【００７９】
したがって、行列を掛けたスカラー（Ｉ−ｖ１２＊ｖ１２’）は０でなければならない。外側境界曲線は、上の式の＋符号に対応し、２つの正項の和は、０でありえず、したがって、外側境界曲線は、尖点を持つことはありえない。内側境界曲線は、上の式の−符号に対応し、尖点は、以下が成り立つ場合に内側境界曲線に生じる。
【００８０】
【数１９】
2008083779.tif 000021
【００８１】
上の式に（ｖ１２’＊Ａ１＊ｖ１２）３／２＊（ｖ１２’＊Ａ２＊ｖ１２）３／２を掛けると、以下の式が得られる。
【００８２】
【数２０】
2008083779.tif 000022
【００８３】
両辺を２／３乗すると、以下の式が得られる。
【００８４】
【数２１】
2008083779.tif 000023
【００８５】
ｃｉ＝（‖ｈｉ‖＊ｄｅｔ（Ａｉ））２／３と置き、次いで、左辺のｖ１２’と右辺ｖ１２を括り出すと以下の式が得られる。
【００８６】
０＝ｖ１２’＊（ｃ１＊Ａ２−ｃ２＊Ａ１）＊ｖ１２      （２９）
ｖ１２についてこの方程式を解くために、２×２対称行列の固有値分解を
【００８７】
【数２２】
2008083779.tif 000024
【００８８】
とする。
【００８９】
【数２３】
2008083779.tif 000025
【００９０】
とすると、尖点方程式は以下のようになる。
【００９１】
【数２４】
2008083779.tif 000026
【００９２】
【数２５】
2008083779.tif 000027
【００９３】
であるため、この方程式はλ１およびλ２が反対の符号を持つ場合かつその場合に限り解を持つ。λ１を最大の固有値とすると、λ２が負ならば、単位ベクトルｖ１２に対する４つの尖点解は以下のようになる。
【００９４】
【数２６】
2008083779.tif 000028
【００９５】
同様に、ｗ＿ｐｅｒｐ’＊（ｈ０−（ｈ３＋ｈ４））領域の内側境界曲線上の尖点は、
０＝ｖ３４’＊（ｃ３＊Ａ４−ｃ４＊Ａ３）＊ｖ３４      （３３）
の解により与えられる。
【００９６】
尖点が決定された後、それらの尖点を通る水平線を描画し、境界曲線を結ぶ追加の道を形成することができる。
【００９７】
同様に、Ｎ個のＣＭＧに拡張すると、ｗ＿ｐｅｒｐ’＊（ｈ０−（ｈ３＋．．．＋ｈｎ））領域の内側境界曲線上の尖点は、
【００９８】
【数２７】
2008083779.tif 000029
【００９９】
の解により与えられる。
【０１００】
上の式に（ｖ３．．．ｎ’＊Ａ３＊ｖ３．．．ｎ）３／２＊．．．＊（ｖ３．．．ｎ’＊Ａｎ＊ｖ３．．．ｎ）３／２  を掛けると、以下の式が得られる。
【０１０１】
【数２８】
2008083779.tif 000030
【０１０２】
このような式の両辺を２／３乗し、並べ替えて、再び２／３乗し、このプロセスをｎ−３回繰り返すと、単位ベクトルｖ３．．．ｎの２つの成分の比において非常に高い（２ｎ−２程度の）次数の多項式が得られる。このような高い次数の多項式を形成して解くことは、ｎ＞４については非常に難しく、境界曲線の尖点、
【０１０３】
【数２９】
2008083779.tif 000031
【０１０４】
は、代わりに、ｖ３．．．ｎが単位円を描くときに曲線の数値計算を行う際に、曲線の方向が急に変化する場合を注意して計算すべきである。
【０１０５】
これらの追加の「道」がある場合、一方の境界曲線から他方境界曲線へ移動するには、接線に到達するまで境界曲線にそって移動し、次いで、接線にそって他方の境界曲線へ移動する。最後のステップで構成された直線に加えて、始点と終点を境界曲線、接線、および尖点直線と結ぶために追加の直線が必要になる。したがって、ステップ２０８で、水平線７４３は、始点７４０からすべての境界曲線にわたって構成され、水平線７４５は、終点７４２からすべての境界曲線にわたって構成される。運動量経路はｗ＿ｐｅｒｐ平面に直交する平面内の直線なので、始点および停止点の射影は一致する。そのため、停止線は、始線と一致するように見える。しかし、直線は射影の異なる層上に存在するが、始点と停止点はｗ直線にそって異なる距離のところにあるため、二重層の橋またはハイウェイにいくぶん似ている。例えば、図３に戻ると、始点が点３１２と一致し、終点が点３１８にある場合、３次元空間内では、２点は明らかに異なる点であるが、いったん２次元空間内に射影されると、始点と終点とは一致するように見える。
【０１０６】
すべての道が構成された後、直線と曲線との交差をステップ２１０で計算することができる。交差点は、解経路が解の一方の領域から解の他方の領域に変化できる場合を表す。そのため、交差点は、高速道路出口および道路への入り口ランプのように振る舞う。例えば、始点７４０は、第１の領域７０２から始まる。第２の領域７０４に移動するために、直線７４３から交差点のある第１の境界曲線７１０へ移動が行われるようにできる。次いで、第１の境界曲線７１０にそって、水平接線７２０の１つが境界曲線と交差する場所への移動を行うことができる。この交差点では、水平接線７２０にそって第２の領域７０４内への移動を行うことができる。
【０１０７】
道と交差点が２つの次元において構成されたら、ステップ２１２でそれらの交差点のうちどれが３次元空間内の交差点であるかを決定する必要がある。次いで、３つの次元における交差点、関連する境界曲線、および水平線は、ロードマップを表す。
【０１０８】
次に、ステップ２１４で、ダイクストラのアルゴリズムなどのアルゴリズムにより、開始から終了まで取る最良の経路を決定することができる。ダイクストラのアルゴリズムは、グラフ上の第１の点（始点７４０）からグラフ上の第２の点（終点７４２）までの最短経路を見つけるためのアルゴリズムを開発したＥ．Ｗ．ダイクストラにちなんで名付けられている。このアルゴリズムでは、交差点は、グラフ内の頂点と考えられ、境界曲線および水平曲線はグラフの辺である。
【０１０９】
図８は、本発明の教示により宇宙探査機を制御する方法８００を例示している。まず最初に、ステップ８０２で、宇宙探査機の向きを回転する操縦コマンドを受け取る。例示的な一実施形態では、操縦コマンドは、地上管制局から宇宙探査機の高度制御システム１０２に送信される。それとは別に、操縦コマンドは、あらかじめ計画された移動スケジュールに基づき宇宙探査機により生成することができる。
【０１１０】
操縦コマンドが受信された後、ステップ８０４で、宇宙探査機を操縦するのに要する時間の関数としてのトルクが制御システム１００において計算される。これは、一実施形態では、高度制御システム１０２において実行することができる。
【０１１１】
ステップ８０６では、ステップ８０４で計算されたトルクを積分して、時間の関数としての運動量経路を求める。この計算は、高度制御システム１０２において実行することができる。ステップ８０８で、運動量経路は、一連の直線分に分解される。次に、個々の線分のそれぞれについて、始点から線分のそれぞれの終点までの連続的経路があるかどうかを判別することができる。運動量経路を近似するために必要な線分の数は、その一連の線分で元の滑らかな運動量曲線をどれだけ正確に近似する必要があるかどうかに依存する。
【０１１２】
ステップ８１０で、線分のそれぞれについて、単位ベクトルｗが決定される。前述のように、線分の運動量は、単位ベクトルを使用して以下のように表すことができる。
【０１１３】
ｈ（ｔ）＝ｈ０＋ｔ＊ｗ      （３７）
ｔは、時間などのパラメータであり、ｗは、単位ベクトルであり、ｈ０は、線分の先頭の点である。
【０１１４】
次に、ステップ８１４で、ロードマップアルゴリズムを使用して、線分の始点と終点を結ぶ経路がｗ＿ｐｅｒｐ平面内にあるかどうかを決定する。次いで、ステップ８１６で、ｗ＿ｐｅｒｐ平面内の経路にそったそれぞれの点について経路がある場合、それぞれの線分に対する個々の運動量ベクトルｈ１およびｈ２を決定することができる。
【０１１５】
ｗに垂直な平面内の点［ｙ，ｚ］について値が与えられた場合、方程式［ｙ，ｚ］＝ｗ＿ｐｅｒｐ’＊（ｈ１＋ｈ２）を使用して、個々の運動量ベクトルｈ１およびｈ２について解くことができる。解く必要のある一揃いの方程式は以下のとおりである。
【０１１６】
［ｙ，ｚ］＝ｗ＿ｐｅｒｐ’＊（ｈ１＋ｈ２）      ｈ１およびｈ２の２つの一次方程式
‖ｈ１‖２＝ｈ１’＊ｈ１      ｈ１の二次方程式
‖ｈ２‖２＝ｈ２’＊ｈ２      ｈ２の二次方程式      （３８）
ｅ１’＊ｈ１＝０      ｈ１の一次方程式
ｅ２’＊ｈ２＝０      ｈ２の一次方程式
ｙ、ｚ、ｗ＿ｐｅｒｐ、‖ｈ１‖２、‖ｈ２‖２、ｅ１、およびｅ２は知られているので、ベクトルｈ１およびｈ２の６つの未知の成分について上記６つの方程式を解くことができる。上記６つの方程式のうち４つは一次方程式なので、これらを使用して、４つの変数を消し、残っている２つの変数の２つの二次方程式を残すことができる。合成などの標準的手法を使用して、２変数の２つの二次方程式を使用し、１変数の単一の四次方程式（次数４）を得ることができる。四次方程式の４つの根について解き、次いで、後退代入を使用し、残り５つの変数について解くことができる。これにより、ベクトルｈ１およびｈ２の４つの解が得られる。
【０１１７】
同様に、ｗに垂直な平面内の点［ｙ，ｚ］について値が与えられ、運動量ｈ５からｈｎについて任意の値が与えられた場合、方程式［ｙ，ｚ］＝ｗ＿ｐｅｒｐ’＊（ｈ０−（ｈ３＋ｈ４＋ｈ５＋．．．＋ｈｎ））を使用して、個々の運動量ベクトルｈ３およびｈ４について解くことができる。解く必要のある一揃いの方程式は以下のとおりである。
【０１１８】
［ｙ，ｚ］＝ｗ＿ｐｅｒｐ’＊（ｈ０−（ｈ３＋ｈ４＋ｈ５＋．．．＋ｈｎ））      未知のｈ３およびｈ４の２つの一次方程式
‖ｈ３‖２＝ｈ３’＊ｈ３      ｈ３の二次方程式
‖ｈ４‖２＝ｈ４’＊ｈ４      ｈ４の二次方程式      （３９）
ｅ３’＊ｈ３＝０      ｈ３の一次方程式
ｅ４’＊ｈ４＝０      ｈ４の一次方程式
ｙ、ｚ、ｗ＿ｐｅｒｐ、‖ｈ３‖２、‖ｈ４‖２、ｅ３、ｅ４、ｈ５からｈｎは知られているので、ベクトルｈ３およびｈ４の６つの未知の成分について上記６つの方程式を解くことができる。上記６つの方程式のうち４つは一次方程式なので、これらを使用して、４つの変数を消し、残っている２つの変数の２つの二次方程式を残すことができる。合成などの標準的手法を使用して、２変数の２つの二次方程式を使用し、１変数の単一の四次方程式を得ることができる。四次方程式の４つの根について解き、次いで、後退代入を使用し、残り５変数について解くことができる。これにより、ベクトルｈ３およびｈ４に対する４つの解が得られる。
【０１１９】
解を求める上記の手法では、三角法の使用を避けている。解を求める他の手法では、ｈ１およびｈ２を、定数ベクトルにジンバル角度θ１およびθ２のサインおよびコサインを掛けたベクトルの和として書き、次いで、２つの二次方程式（ｃｏｓ（θ１））２＋（ｓｉｎ（θ１））２＝１  および  （ｃｏｓ（θ２））２＋（ｓｉｎ（θ２））２＝１とともに、上記の４つの一次方程式を解く。
【０１２０】
最後に、運動量ベクトルを運動量アクチュエータ制御プロセッサ１０４に送り、適切なジンバル移動を決定することができる。θ１およびθ２に対する値がステップ８１６で決定された場合、ステップ８１８で、ｗ＿ｐｅｒｐ平面内の経路内のそれぞれの点について決定された値に基づきジンバル角度を変更することができる。
【０１２１】
前記詳細な説明では、少なくとも１つの実施例が提示されたが、膨大な数の変更形態が存在することは理解されるであろう。また、１つまたは複数の実施例は、例にすぎず、本発明の範囲、適用性、または構成をいかなる形でも限定することは意図されていないことも理解されるであろう。むしろ、前記の詳細な説明は、当業者にとって、１つまたは複数の実施例を実装するための簡便なロードマップとなるであろう。請求項およびその法的等価物で規定されているように、本発明の範囲から逸脱することなく要素の機能および配置にさまざまな変更が加えられることは理解されるであろう。
【図面の簡単な説明】
【０１２２】
【図１】本発明の教示による例示的なＣＭＧ制御システムを例示するブロック図である。
【図２】本発明の教示による、ＣＭＧ経路計画で使用するロードマップアルゴリズムの流れ図である。
【図３】本発明の例示的な一実施形態による、平面に射影されたトーラス形状の運動量包絡線を例示する図である。
【図４】本発明の教示による、ｗ＿ｐｅｒｐ’＊（ｈ１＋ｈ２）に対する運動量包絡線の射影を例示する図である。
【図５】本発明の教示による、ｗ＿ｐｅｒｐ’＊（ｈ０−（ｈ３＋ｈ４））に対する運動量包絡線の射影を例示する図である。
【図６】本発明の教示によって組み合わされた図４および図５を例示する図である。
【図７】本発明の教示により、ＣＭＧ配列の運動量包絡線の射影内に道および交差点を形成することを例示する図である。
【図８】本発明の教示により、宇宙探査機を操縦する方法を例示する流れ図である。
【符号の説明】
【０１２３】
１００  制御システム
１０２  高度制御システム
１０４  運動量アクチュエータ制御プロセッサ
１０８  ＣＭＧセンサ
３０２  トーラス
３０３  運動量射影
３０４  ２次元運動量包絡線
３０６  直線
３０８、３１０、３１２、３１４、３１６、３１８  点
３０９  直線
４００  射影
４０２  外側境界
４０４  内側境界
４０６、４０８  領域
５００  射影
５０２  外側境界
５０４  内側境界
５０６、５０８、５１０  領域
６０２、６０４、６０６、６０８、６１０  領域
７０２、７０４、７０６、７０８、７１０、７１２、７１４、７１６  領域
７１０  境界曲線
７２０  水平接線
７２２、７２４、７２６、７２８  尖点
７３０  尖点直線
７４０  始点
７４２  終点
７４３  水平線
７４５  水平線
【図１】
2008083779.tif 000032
【図２】
2008083779.tif 000033
【図３】
2008083779.tif 000034
【図４】
2008083779.tif 000035
【図５】
2008083779.tif 000036
【図６】
2008083779.tif 000037
【図７】
2008083779.tif 000038
【図８】
2008083779.tif 000039