(57)【要約】      （修正有）【課題】軌道宇宙飛行体に関し、人工衛星のコマンドダイナミクスを最小化するための方法および装置を提供する。【解決手段】装置は、宇宙飛行体を操縦するためにベクトルの第１のセットを計算し、固定された平面上にベクトルの第１のセットを射影することに基づいてベクトルの第２のセットを計算するステアリング則モジュールを含む。本装置は、ベクトルの第１および第２のセットに基づいて姿勢コマンドを生成して、宇宙飛行体による計画外の回転を防止する姿勢コントローラをさらに含む。【選択図】なし【特許請求の範囲】
【請求項１】
宇宙飛行体（１００）を操縦するためにベクトルの第１のセットを計算し（６０２，６０４，６０６，６０８）、かつ
固定された平面（１２０）上に前記ベクトルの第１のセットを射影することに基づいてベクトルの第２のセットを計算する（７０４，７１０）ステアリング則モジュール（２０６）と、
前記ベクトルの第１のセットおよび前記ベクトルの第２のセットに基づいて姿勢コマンドを生成して（６１６）、前記宇宙飛行体による計画外の回転を防止する姿勢コントローラ（２０８）と
を備える装置。
【請求項２】
前記ベクトルの第１のセットが、前記宇宙飛行体から慣性基準座標系内のターゲットへ向いている第１のベクトルと、前記宇宙飛行体から動力源へ向いている第２のベクトルとを含む、請求項１に記載の装置。
【請求項３】
前記慣性基準座標系が、地球中心慣性座標系であり、前記動力源が、天体からの光源である、請求項２に記載の装置。
【請求項４】
前記ベクトルの第２のセットが、前記第１のベクトルおよび前記第２のベクトルに垂直な第３のベクトルと、前記第１のベクトルに垂直な第４のベクトルとを含む、請求項２に記載の装置。
【請求項５】
前記ステアリング則モジュールが、前記第３のベクトルと前記第４のベクトルとの間の角度を計算する、請求項４に記載の装置。
【請求項６】
前記姿勢コマンドは、前記ステアリング則モジュールが、前記ベクトルの第１のセットおよび前記ベクトルの第２のセットのそれぞれからの前記姿勢コマンドへの寄与を決定する重み係数であって、前記角度に基づく重み係数を計算することに基づく、請求項５に記載の装置。
【請求項７】
宇宙飛行体（１００）を操縦するために、ベクトルの第１のセットを計算すること（６０２，６０４，６０６，６０８）と、
固定された平面（１２０）上に前記ベクトルの第１のセットを射影することに基づいて、ベクトルの第２のセットを計算すること（７０４，７１０）と、
前記ベクトルの第１のセットおよび前記ベクトルの第２のセットに基づいて姿勢コマンドを生成して（６１６）、前記宇宙飛行体による計画外の回転を防止することと
を含む方法。
【請求項８】
前記ベクトルの第１のセットが、前記宇宙飛行体から慣性基準座標系内のターゲットへ向いている第１のベクトルと、前記宇宙飛行体から動力源へ向いている第２のベクトルとを含む、請求項７に記載の方法。
【請求項９】
前記慣性基準座標系が、地球中心慣性座標系であり、前記動力源が、天体からの光源である、請求項８に記載の方法。
【請求項１０】
前記ベクトルの第２のセットが、前記第１のベクトルおよび前記第２のベクトルに垂直な第３のベクトルと、前記第１のベクトルに垂直な第４のベクトルとを含む、請求項８に記載の方法。
【請求項１１】
前記第３のベクトルと前記第４のベクトルとの間の角度を計算することをさらに含む、請求項１０に記載の方法。
【請求項１２】
前記姿勢コマンドを生成することが、前記ベクトルの第１のセットおよび前記ベクトルの第２のセットのそれぞれからの前記姿勢コマンドへの寄与を決定する重み係数であって、前記角度に基づく重み係数を計算することを含む、請求項１１に記載の方法。
【請求項１３】
前記重み係数を計算することが、線形法、正弦関数法、指数法のうちの少なくとも１つを使用することを含む、請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、軌道宇宙飛行体に関し、より具体的には、人工衛星のコマンドダイナミクスを最小化するための方法および装置に関する。
【背景技術】
【０００２】
人工衛星または居住宇宙物体（ＲＳＯ）などの宇宙飛行体は、天体の周りの軌道を維持するために、スラスタおよび／または推進装置などのアクチュエータを、通常、利用する。典型的には、地球を周回する人工衛星またはＲＳＯは、展開可能なソーラーパネルを使用して、搭載電子機器に電力を供給する。搭載電子機器は、目的のターゲットの位置を決定する、人工衛星の位置を決定する、などの重要な機能を提供する。搭載電子機器は、ソーラーパネルを太陽などの動力源の方に向け続けながら、同時に、人工衛星が目的のターゲットに向く能力を制御する。
【０００３】
典型的な人工衛星は、姿勢ステアリング則を用いて生成されたコマンドを使用してスラスタおよび／または推進装置を制御することにより、天体の周りの軌道を維持する。一般的に、姿勢ステアリング則は、軌道についての完全な回転の表現を記述するために２つのベクトルを計算することを含む。人工衛星が軌道をたどっているときに、２つのベクトルは互いに対して変化し、場合によっては２つのベクトルが互いに近づき、場合によっては２つのベクトルがさらに離れる。２つのベクトルが互いに対して変化しているときに、姿勢ステアリング則は、人工衛星の実用上の限界および２つのベクトルの計算に影響を及ぼす様々な考慮すべき事柄に起因する望ましくない人工衛星の挙動を引き起こすコマンドを生成し得る。
【発明の概要】
【０００４】
例示的な装置は、宇宙飛行体を操縦するためのベクトルの第１のセットを計算し、固定された平面上にベクトルの第１のセットを射影することに基づいてベクトルの第２のセットを計算するステアリング則モジュールを含む。本装置は、ベクトルの第１および第２のセットに基づいて姿勢コマンドを生成して、宇宙飛行体による計画外の回転を防止する姿勢コントローラをさらに含む。
【０００５】
例示的な方法は、宇宙飛行体を操縦するためのベクトルの第１のセットを計算することと、固定された平面上にベクトルの第１のセットを射影することに基づいて、ベクトルの第２のセットを計算することと、ベクトルの第１および第２のセットに基づいて姿勢コマンドを生成して、宇宙飛行体による計画外の回転を防止することと、を含む。
【０００６】
実行されたときに、機械に、少なくとも、宇宙飛行体を操縦するためのベクトルの第１のセットを計算させ、固定された平面上にベクトルの第１のセットを射影することに基づいて、ベクトルの第２のセットを計算させ、ベクトルの第１および第２のセットに基づいて姿勢コマンドを生成させて、宇宙飛行体による計画外の回転を防止させる、命令を含む、例示的な有形のコンピュータ可読記憶媒体。
【図面の簡単な説明】
【０００７】
【図１】本明細書に開示された例が実施され得る人工衛星の例である。
【図２】本明細書に開示された例を実施するために使用され得る人工衛星誘導システムの例である。
【図３】図３Ａ、図３Ｂおよび図３Ｃは、典型的な姿勢ステアリング則による、図１の人工衛星の例の軌道の例のベクトルおよび平面の例を示す。
【図４】図４Ａ、図４Ｂおよび図４Ｃは、本開示の教示による、図１の人工衛星の例の軌道の例のベクトルおよび平面の例を示す。
【図５】遷移軌道を介して初期軌道から最終軌道に移動している図１の人工衛星の例の軌道経路図の例である。
【図６】図２の人工衛星誘導システムの例を実施するために使用され得る方法の例を表すフローチャートである。
【図７】図２の人工衛星誘導システムの例を実施するために使用され得る方法の別の例を表すフローチャートである。
【図８】図６〜図７の方法および／または図２の人工衛星誘導システムの例を実施するための機械可読命令を実行するように構成されたプロセシングプラットフォームの例のブロック図である。
【発明を実施するための形態】
【０００８】
可能な限り、同じまたは類似の部分を指すために、同じ参照番号が、図面および添付の記載された説明の全体にわたって使用される。図は、縮尺通りではない。
【０００９】
人工衛星のコマンドダイナミクスを最小限に抑えるための方法および装置が、本明細書に開示される。典型的には、人工衛星または居住宇宙物体（ＲＳＯ）などの宇宙船または宇宙飛行体は、地球などの天体の周りの軌道を維持するために、スラスタおよび／または推進装置などのアクチュエータを利用する。例えば、人工衛星は、地球の周りの対地同期軌道（ＧＥＯ）を維持して、別の人工衛星から地球上のターゲット（例えば、ロサンゼルスのアンテナステーション）への通信を送信、中継、および／または繰り返すことができる。人工衛星は、姿勢ステアリング則を使用して生成されたコマンドを使用して人工衛星のスラスタおよび／または推進装置を制御することによって、軌道を維持することができる。
【００１０】
通常、姿勢ステアリング則は、人工衛星が軌道を完了するための完全な回転の表現を記述するために２つのベクトル（例えば、名目ベクトルのセット）を計算することを含む。２つのベクトルは、プライマリベクトル（例えば、名目プライマリベクトル）およびセカンダリベクトル（例えば、名目セカンダリベクトル）であってもよい。姿勢ステアリング則は、人工衛星の姿勢を制御するコマンドを生成するために使用され得る。本明細書で使用される場合、「姿勢」という用語は、１つ以上の天体（例えば、地球、太陽など）に対する空間における向きおよび／または位置を指す。プライマリベクトルは、ターゲット（例えば、地球上の地点）の方に向いている人工衛星の重心からのベクトルであってもよい。セカンダリベクトルは、動力源（例えば、天体からの光源、太陽など）の方に向いている人工衛星の重心からのベクトルであってもよい。人工衛星が軌道に沿って移動しているときに、２つのベクトルは互いに対して変化し、場合によっては２つのベクトルが互いに近づき、場合によっては２つのベクトルがさらに離れる。２つのベクトルが互いに対して変化しているときに、姿勢ステアリング則は、人工衛星の実用上の限界および２つのベクトルの計算に影響を及ぼす様々な考慮すべき事柄に起因する望ましくない人工衛星の挙動を引き起こすコマンドを生成するために使用され得る。
【００１１】
いくつかの例では、姿勢ステアリング則は、慣性基準座標系に基づいて２つのベクトルを計算するために使用される。例えば、姿勢ステアリング則を用いて、地球上のターゲットおよび太陽に基づいて、プライマリベクトルおよびセカンダリベクトルを計算することができる。ここで、地球と太陽は、時間（すなわち、時間に依存しない）と空間（すなわち、場所に依存しない）において固定されている。たとえば、加速度計が、地球および／または太陽に置かれていたとすれば、その加速度計は、加速度ゼロを検出するであろう。慣性基準座標系（例えば、地球、太陽など）および軌道に沿って移動する人工衛星の周期的な性質のために、２つのベクトル間の角度が、特異点条件を生成し得る。本明細書で使用する「特異点条件」という用語は、２つのベクトル（例えば、プライマリベクトルとセカンダリベクトル）が、互いに同一直線上にあり、２つのベクトルのベクトル外積が、大きさゼロのベクトルを生成する条件を指す。例えば、軌道１周中に２回（例えば、地球の周りの軌道１周中に２回）、人工衛星は、地球および太陽と一直線になり得る。したがって、２つのベクトルが互いに対して同一直線上になるため、軌道１周中に１回、２つのベクトルの間の角度は、０度になり得る。同様に、２つのベクトルが互いに対して同一直線上になるため、軌道１周中に１回、２つのベクトルの間の角度は、１８０度になり得る。これらの瞬間に、姿勢ステアリング則を使用して、大きさゼロのベクトルを生成し、したがって特異点条件を生成することができる。
【００１２】
特異点条件の間に、人工衛星の姿勢ステアリング則は、瞬間的な速度で、人工衛星を人工衛星のプライマリベクトルの周りに１８０度回転させるコマンド（例えば、姿勢コマンド）を生成することができる。さらに、人工衛星は、毎軌道ごとに２つの特異点条件に遭遇するので、人工衛星は、軌道１周あたり２回１８０度回転し、事実上、人工衛星のプライマリベクトルの周りに軌道１周あたり３６０度回転する。例えば、人工衛星のプライマリベクトルおよびセカンダリベクトルが、直交性から離れるにつれて、姿勢ステアリング則によって生成されたコマンドに従うために必要な速度（例えば、コマンド速度、推力速度など）が、無限大に近づき得る。コマンドが無限大に近づくと、姿勢ステアリング則は、瞬間的な速度で１８０度の回転の計算を定量的にもたらし得る。瞬間的な速度は、人工衛星の操縦能力を超え、望ましくないコマンドダイナミクスを生成する可能性がある。
【００１３】
本明細書に開示される例示的な人工衛星コントローラ装置は、人工衛星のコマンドダイナミクスを最小限にするように動作する。本明細書で使用する「コマンドダイナミクス」という用語は、姿勢ステアリング則を用いて生成されたコマンドを実行する宇宙飛行体の１つ以上の効果を指す。例えば、効果は、瞬間的な速度で、１８０度の回転を補償するのに十分速くベクトル（例えば、プライマリベクトル、セカンダリベクトルなど）を更新することができない人工衛星のペイロードであってもよい。別の例では、効果は、姿勢制御誤差を常にゼロにすることができない人工衛星の１つ以上のバス姿勢アクチュエータであってもよい。
【００１４】
本明細書に開示された人工衛星コントローラ装置の例は、特異点が生じる期間中に代替ベクトルのセットを計算し使用することによって、人工衛星のコマンドダイナミクスを最小にする。あるいは、例示的な人工衛星コントローラ装置は、代替ベクトルのセットと名目ベクトル（例えば、名目プライマリベクトルおよび名目セカンダリベクトル）のセットの組み合わせ（例えば、混合）を使用してもよい。例示的な人工衛星コントローラ装置は、３次元（３−Ｄ）平面から２次元（２−Ｄ）平面に人工衛星のプライマリベクトルおよびセカンダリベクトルを射影することに基づいて、特異点がいつ発生するかを決定することができる。例示的な人工衛星コントローラ装置は、射影ベクトル（例えば、射影プライマリベクトルおよびセカンダリベクトル）に垂直なベクトルならびに射影ベクトル間の角度を計算することができる。例示的な人工衛星コントローラ装置は、射影ベクトル間の角度が０度または１８０度に近づいているときに、特異点が発生していると決定することができる。
【００１５】
本明細書に開示された例示的な人工衛星コントローラ装置は、名目ベクトルのセットに対する代替ベクトルのセットを計算する。例えば、名目プライマリベクトル、名目セカンダリベクトル、名目法線ベクトルなどに加えて、人工衛星コントローラ装置は、代替プライマリベクトル、代替セカンダリベクトル、代替法線ベクトルなどを計算することができる。ベクトルの名目セットとベクトルの代替セットとの間の遷移は、人工衛星の計画外のジャーク、回転、旋回などを回避することによって、人工衛星の滑らかな操縦をもたらすことができる。例示的な人工衛星コントローラ装置は、人工衛星のコマンドダイナミクスを最小にするために、名目ベクトルのセット、代替ベクトルのセット、および／またはそれらの組み合わせを使用することができる。
【００１６】
図１は、本明細書に開示された例が実施され得る人工衛星１００の例である。図示の例の人工衛星１００は、搭載プロセッサ（例えば、人工衛星コントローラ１０４）、バッテリおよび／または燃料タンクを含む人工衛星本体１０２、アンテナ（例えば、通信アンテナなど）１０６、ソーラーパネル１０８、および推進システム１１０を含む。例示的な推進システム１１０は、スラストコーン１１４を有するスラスタ１１２を含む。この例では、ソーラーパネル１０８は、展開状態（例えば、人工衛星本体１０２から離れて開かれている）にあり、これにより、ソーラーパネル１０８が人工衛星本体１０２に向かって内側に折り畳まれている人工衛星１００の展開されていない状態とは対照的に、人工衛星１００の慣性／質量特性を変える。人工衛星１００は、ソーラーパネル１０８の軸１１６の向きを名目プライマリベクトル、名目セカンダリベクトル、名目法線ベクトルなどと調整するように、移動することができる。人工衛星１００は、人工衛星１００の場所、向き、位置などに関連するセンサデータを取得するためのセンサ１１８（例えば、光学センサ、スタートラッカなど）をさらに含む。
【００１７】
動作中、人工衛星１００は、例えば、軌道経路間及び／若しくは軌道高度間で人工衛星１００を操縦するため並びに／又は外部の地上システムにデータを提供するために、アンテナ１０６を介して外部システムと通信する（例えば、送受信する）。詳細には、図示の例の人工衛星１００は、電気推進（例えば、イオンベース、イオン推進システム、キセノンベースのスラスタなど）であるスラスタ１１２を起動（例えば、点火）することによって操縦される。例えば、人工衛星１００は、人工衛星１００を操縦するために、および／または人工衛星１００が周回する天体（例えば、宇宙物体）に対する例示的な人工衛星１００の姿勢を制御するために、スラスタ１１２のうちの異なるスラスタの持続時間および／またはパルスを変化させることができる。
【００１８】
図１の図示の例において、例示的な人工衛星１００の操縦基準座標系１２０が示されている。操縦基準座標系１２０は、記号θＴで示されたスラスタプルーム角１２２と、記号θＣで示された傾斜角１２４と、記号θＳで示された回転角１２６とを示している。基準座標系１２０は、人工衛星１００が、軌道中に、または異なる軌道間の移動中に配向され／回転され得る、回転運動のいくつかの度を描く。この例では、人工衛星１００の合成ベクトル１２８が示されている。詳細には、例示的な合成ベクトル１２８は、スラスタ１１２の個々のスラスタの起動および／または向きのベクトル和に基づいて、結果として生じる人工衛星１００の運動方向を記述する。人工衛星１００は、軸１１６の向きを、人工衛星１００の名目プライマリベクトル、名目セカンダリベクトルなどと調整するために、例示的な合成ベクトル１２８を使用することができる。
【００１９】
図２は、本明細書に開示された例を実現するために使用され得る例示的な人工衛星誘導システム２００である。図示の例では、人工衛星誘導システム２００は、人工衛星（例えば、人工衛星１００）内に実装されている例示的な人工衛星コントローラ１０４を含む。例示的な人工衛星コントローラ１０４は、ターゲティングモジュール２０２、配向モジュール２０４、ステアリング則モジュール２０６、姿勢コントローラ２０８、およびセンサインターフェース２１０を含む。例示的な人工衛星誘導システム２００はまた、人工衛星コントローラ１０４、姿勢コントローラ２０８、および／またはセンサインターフェース２１０を、図１に示す人工衛星スラスタ（複数可）１１２に通信可能に結合する通信ライン２１２を含む。この例では、人工衛星コントローラ１０４はまた、アンテナ１０６に通信可能に接続され、アンテナ１０６は、人工衛星が周回する惑星２１８（例えば、地球）の地上通信システム２１６と通信する。図示された例では、人工衛星コントローラ１０４は、データベース２１４に通信可能に結合され、および／またはデータベース２１４を含む。
【００２０】
図２の図示の例では、人工衛星コントローラ１０４は、天体（例えば、惑星２１８）上の目的の地点をターゲットに設定するためのターゲティングモジュール２０２を含む。例示的なターゲティングモジュール２０２は、地球中心慣性（ＥＣＩ）座標系を使用して、目的の地点の座標の組を決定することができる。例えば、ターゲティングモジュール２０２は、現在の日時を地球上の既知の場所（例えば、赤道）にマッピングして、地上通信システム２１６の座標の組を決定することができる。あるいは、例示的なターゲティングモジュール２０２は、アンテナ１０６を利用して、目的の地点の位置を取得する（例えば、地上通信システム２１６と通信して、座標の組を取得する）ことができる。いくつかの例では、ターゲティングモジュール２０２は、人工衛星１００のインスタントの（例えば、現在の）プライマリベクトルを計算する。例えば、ターゲティングモジュール２０２は、人工衛星１００の重心から惑星２１８上の目的の地点までの現在のベクトルを計算することができる。いくつかの例では、ターゲティングモジュール２０２は、インスタントの（例えば、現在の）および／または名目のボアサイトベクトルを計算する。本明細書で使用する「ボアサイトベクトル」という用語は、指向性アンテナの最大利得（例えば、最大放射電力）が達成され得るベクトルを指す。例えば、アンテナ１０６は、ボアサイトベクトルと整列するときに、最大利得を達成することができる。例示的なターゲティングモジュール２０２は、例示的なデータベース２１４にデータ（例えば、ターゲティング座標）を格納し、および／または例示的なデータベース２１４からデータを取り出すことができる。
【００２１】
図２の図示された例では、人工衛星コントローラ１０４は、人工衛星１００の位置を決定するための配向モジュール２０４を含む。例示的な配向モジュール２０４は、図１のセンサ１１８を利用して、人工衛星１００が、１つ以上のナビゲーション星、惑星２１８、太陽などに対してどこに位置しているかを決定することができる。例示的な配向モジュール２０４は、センサデータをルックアップテーブル（例えば、スターカタログ）にマッピングして、人工衛星１００の位置を決定するために、センサ１１８を利用することができる。いくつかの例では、配向モジュール２０４は、ソーラーパネル１０８が曝露される光の量を最大にするベクトルを計算する。例示的な配向モジュール２０４は、人工衛星１００のインスタントの（例えば、現在の）セカンダリベクトルを計算することができる。例えば、配向モジュール２０４は、人工衛星１００の重心から太陽までのベクトルを計算することができる。
【００２２】
いくつかの例では、配向モジュール２０４は、人工衛星１００の現在のプライマリベクトルに基づいて、軌道基準座標系平面を決定する。いくつかの例では、配向モジュール２０４は、人工衛星１００の主感度軸（例えば、軸１１６）を計算する。他の例では、配向モジュール２０４は、データベース２１４上の人工衛星１００の質量／慣性データおよび／または予め定められた感度軸にアクセスする。さらに他の例では、主感度軸は、地上通信システム２１６に割り当てられる（例えば、地上通信システム２１６から受信される、地上通信システム２１６から途切れなく受信される、地上通信システム２１６からアップロードされる、など）。いくつかの例では、配向モジュール２０４は、人工衛星１００の主感度軸を軌道基準座標系平面に配向するために必要とされる人工衛星１００の姿勢シフト（例えば、姿勢デルタ）を計算する。追加的または代替的に、例示的な配向モジュール２０４は、主感度軸が軌道基準座標系平面に配向されており、人工衛星に作用する重力勾配トルクを減少（例えば、最小化）させながら、人工衛星１００をより高い軌道に移動させるために、人工衛星１００の推力ベクトルが主感度軸に垂直であるような、人工衛星１００の姿勢を計算してもよい。あるいは、例示的な配向モジュール２０４は、地上通信システム２１６を介して手動で制御されるインターフェースであってもよい。例示的な配向モジュール２０４は、例示的なデータベース２１４にデータ（例えば、配向座標）を格納し、および／または例示的なデータベース２１４からデータを取り出すことができる。
【００２３】
図２の図示の例では、人工衛星コントローラ１０４は、所望の人工衛星位置の姿勢表現を生成するためのステアリング則モジュール２０６を含む。本明細書で使用される場合、「姿勢表現」という用語は、所望の人工衛星姿勢の数学的記述を指す。例示的な姿勢表現は、変換行列、四元数（例えば、右手系の四元数）、角度軸、オイラー角、ロドリゲスパラメータなどを含むことができる。いくつかの例では、ステアリング則モジュール２０６は、名目プライマリベクトル、名目セカンダリベクトル、および名目ボアサイトベクトルを生成する。ここで、名目ベクトルは、人工衛星１００の１つ以上の軸、構成要素などの、指令されたまたは要求されたベクトルを表す。例えば、ステアリング則モジュール２０６は、人工衛星１００の重心からターゲット（例えば、地球上の地点）の方に向いている名目プライマリベクトルを決定することができる。名目ベクトルは、取得されたベクトルに基づくことができる。例えば、ステアリング則モジュール２０６は、ターゲティングモジュール２０２からインスタントの（例えば、現在の）プライマリベクトルおよび／またはインスタントのボアサイトベクトルを取得することができる。例示的なステアリング則モジュール２０６は、配向モジュール２０４からインスタントのセカンダリベクトルを取得することができる。例示的なステアリング則モジュール２０６は、取得されたベクトルに対してベクトル計算を実行して、名目ベクトルを生成することができる。例示的なステアリング則モジュール２０６は、名目ベクトルに基づいて人工衛星１００の姿勢表現を生成することができる。
【００２４】
いくつかの例では、ステアリング則モジュール２０６は、名目法線ベクトルを生成する。例えば、ステアリング則モジュール２０６は、以下の式（１）に記載されるように、名目プライマリベクトルと名目セカンダリベクトルの両方に垂直なベクトル（例えば、名目法線ベクトル）を計算することができる。
2018184159.tif 000002
上記の式（１）の例において、変数
2018184159.tif 000003
は名目法線ベクトルを表し、変数
2018184159.tif 000004
は名目プライマリベクトルを表し、変数
2018184159.tif 000005
は名目セカンダリベクトルを表す。
【００２５】
いくつかの例では、ステアリング則モジュール２０６は、以下の式（２）に記載されるように、名目法線ベクトル
2018184159.tif 000006
を正規化する。
2018184159.tif 000007
上記の式（２）の例において、変数
2018184159.tif 000008
は名目法線単位ベクトルを表し、変数
2018184159.tif 000009
は名目法線ベクトルを表す。いくつかの例では、ステアリング則モジュール２０６は、慣性基準座標系（例えば、地球）に対する目的のターゲット（例えば、地球上の地点）のための姿勢表現の三つ組を作成する。例示的なステアリング則モジュール２０６は、以下の式（３）および式（４）に記載されるように、姿勢表現の三つ組を生成することができる。
2018184159.tif 000010
上記の式（３）の例において、変数
2018184159.tif 000011
は姿勢表現の三つ組の第３のベクトルを表し、変数
2018184159.tif 000012
はプライマリベクトルを表す。上記の式（４）の例において、変数
2018184159.tif 000013
は、式（１）において上記で計算された名目法線ベクトルを表し、変数
2018184159.tif 000014
はプライマリベクトルを表す。上記の式（４）の例において、変数
2018184159.tif 000015
は、
2018184159.tif 000016
2018184159.tif 000017
とのベクトル外積に基づく姿勢表現の三つ組の第１のベクトルを表す。
【００２６】
姿勢表現の三つ組を完成させるために、例示的なステアリング則モジュール２０６は、上記の式（３）および式（４）によって決定される
2018184159.tif 000018
と
2018184159.tif 000019
に基づいて、第２のベクトル
2018184159.tif 000020
を計算することができる。例示的なステアリング則モジュール２０６は、以下の式（５）に記載されるように、
2018184159.tif 000021
を計算することができる。
2018184159.tif 000022
例示的なステアリング則モジュール２０６は、以下の式（６）に記載されるように、変換行列（例えば、方向余弦行列）を使用して姿勢表現を生成することができる。
2018184159.tif 000023
式（６）の例において、変数
2018184159.tif 000024
は、慣性座標系Iで指定されたベクトルをターゲット座標系tに変換する方向余弦行列を表す。式（６）の例において、行列内のベクトルの上付き文字は、下付き文字によって指定されたベクトルの第１、第２および第３の要素を表す。例えば、変数
2018184159.tif 000025
は、ベクトル
2018184159.tif 000026
の第１の要素を表す。
【００２７】
いくつかの例では、ボアサイトベクトル
2018184159.tif 000027
は、幾何学的物体座標系の軸（例えば、人工衛星本体１０２の軸）と整列していない。例示的なステアリング則モジュール２０６は、以下の式（７）に記載されるように、ベクトルを慣性座標系から本体座標系に変換する完全回転テンソルを導出するために第２の回転を実行することができる。
2018184159.tif 000028
上記の式（７）の例において、変数
2018184159.tif 000029
は、慣性座標系（例えば、惑星２１８上のターゲット）に対する本体座標系（例えば、人工衛星本体１０２）の方向余弦行列を表す。上記の式（７）の例において、変数
2018184159.tif 000030
は、ボアサイト座標系に対する本体座標系の方向余弦行列を表し、変数
2018184159.tif 000031
は、式（６）に上述されている。例示的なステアリング則モジュール２０６は、式（６）および式（７）に上述した方向余弦行列を、例示的な姿勢コントローラ２０８に送信して、人工衛星１００を操縦することができる。
【００２８】
いくつかの例では、ステアリング則モジュール２０６は、特異点に起因するコマンドダイナミクスを最小化するために代替ベクトルのセットを計算する。例えば、ステアリング則モジュール２０６は、名目ベクトルのセット、代替ベクトルのセット、および／またはそれらの組み合わせに基づいて、名目法線ベクトル
2018184159.tif 000032
および調整された法線ベクトル
2018184159.tif 000033
を計算することができる。例えば、ステアリング則モジュール２０６は、以下の式（８）に記載されるように、人工衛星１００の名目法線ベクトル
2018184159.tif 000034
を計算することができる。
2018184159.tif 000035
上記の式（８）の例において、変数
2018184159.tif 000036
は名目法線ベクトルを表し、変数
2018184159.tif 000037
は名目プライマリベクトルを表し、変数
2018184159.tif 000038
は名目セカンダリベクトルを表す。上記の式（８）の例において、名目法線ベクトル
2018184159.tif 000039
は、名目プライマリベクトル
2018184159.tif 000040
と名目セカンダリベクトル
2018184159.tif 000041
との外積に等しく、すなわち
2018184159.tif 000042
と
2018184159.tif 000043
に垂直である。上記の式（８）の例において、
2018184159.tif 000044
は、式（１）で上述した名目法線ベクトル
2018184159.tif 000045
に等しい。あるいは、名目法線ベクトル
2018184159.tif 000046
は、式（１）に上述していないプライマリベクトルとセカンダリベクトルとのベクトル外積に等しくてもよい。
【００２９】
いくつかの例では、ステアリング則モジュール２０６は、名目法線ベクトル
2018184159.tif 000047
の代替として使用され得る代替法線ベクトル
2018184159.tif 000048
を計算する。例示的なステアリング則モジュール２０６は、式（１）で上述したようにプライマリベクトル
2018184159.tif 000049
に垂直であるが、式（１）で上述したようにセカンダリベクトル
2018184159.tif 000050
に垂直では必ずしもない
2018184159.tif 000051
を計算することができる。あるいは、
2018184159.tif 000052
は、
2018184159.tif 000053
に垂直でもよい。
【００３０】
いくつかの例では、ステアリング則モジュール２０６は、２つの平面（例えば、幾何学的平面）の交線と方向（例えば、ベクトルの向き）を決定することによって
2018184159.tif 000054
を計算する。交線を決定することに応答して、例示的なステアリング則モジュール２０６は、生成される回転を最小にする理想的な
2018184159.tif 000055
を決定することができる。例えば、ステアリング則モジュール２０６は、
2018184159.tif 000056
に垂直な第１の幾何学的平面を定めることができる。ステアリング則モジュール２０６は、ベクトル
2018184159.tif 000057
と
2018184159.tif 000058
が、分離極値または特異点に接近するときに、
2018184159.tif 000059
の方向に垂直な第２の幾何学的平面を定めることができる。例示的なステアリング則モジュール２０６は、第１および第２の幾何学的平面によって形成された線に沿ってベクトルの方向を決定することができ、該方向は、
2018184159.tif 000060
と
2018184159.tif 000061
との間の最小角度を生成するように選択される。例示的なステアリング則モジュール２０６は、
2018184159.tif 000062
を生成するための補助として
2018184159.tif 000063
を使用することができ、それゆえ、ステアリング則モジュール２０６は、
2018184159.tif 000064
を
2018184159.tif 000065
と垂直になるように自動的に射影する。したがって、
2018184159.tif 000066
は、分離極値の前後の時間的に等距離の姿勢と姿勢の間の中間点を提供する。
【００３１】
いくつかの例では、ステアリング則モジュール２０６は、第１の例示的な基準を満たし、名目法線ベクトル
2018184159.tif 000067
から９０度未満である任意のベクトルが、
2018184159.tif 000068
に対して満足できる選択であるので、
2018184159.tif 000069
の正確な計算は必要でないということを、決定する。結果として、
2018184159.tif 000070
の精度は、重要でないかもしれない。いくつかの例では、ステアリング則モジュール２０６は、特異点に先立つ時間ｔの継続期間の第１の姿勢と、特異点の後の時間ｔの同じ継続期間の第２の姿勢との間の中間点を提供するために、
2018184159.tif 000071
を計算する。例えば、ステアリング則モジュール２０６は、人工衛星１００の軌道面に垂直なベクトルであるように
2018184159.tif 000072
を計算することができる。
【００３２】
いくつかの例では、ステアリング則モジュール２０６は、特異点がいつ発生するかを推定する。例えば、名目プライマリベクトル
2018184159.tif 000073
と名目セカンダリベクトル
2018184159.tif 000074
との間の角度分離が、最小角度分離（例えば、約０度）または最大角度分離（例えば、約１８０度）にあるときに、特異点が発生し得る。しかしながら、角度分離極値（例えば、最小または最大角度分離）を計算することは、
2018184159.tif 000075
などを計算する際の１つ以上の考慮すべき事柄のために困難であり得る。例えば、
2018184159.tif 000076
は、人工衛星１００の軌道（例えば、ＧＥＯ）、軌道位置、ユーザによって任意の時間に選択されたランダムなベクトル等の関数であり得る。別の例では、
2018184159.tif 000077
は、人工衛星１００の軌道、軌道位置、ユーザが選択した方向（例えば、太陽ベクトル、月ベクトル、中継資産ベクトルなど）の関数であり得る。結果として、例示的なステアリング則モジュール２０６は、角度分離極値が、［０，１８０］度より小さく、かつ［０，１８０］度を含む任意の間隔に存在すると、判定するかもしれず、それゆえ、最小角度分離および／または最大角度分離をステアリング則モジュール２０６にハードコードすることはできない。
【００３３】
あるいは、例示的なステアリング則モジュール２０６は、姿勢コマンドを実行する前に、軌道の幾何形状、１つ以上の名目ベクトル（例えば、
2018184159.tif 000078
など）などをシミュレートすることができる。しかしながら、例示的なステアリング則モジュール２０６が、実行前にシミュレーションを実行することは、実施制限を課したり、動作の複雑性を導入したり、人工衛星コントローラ１０４の電力消費を増加させたりすることがある。しかしながら、本明細書に開示した例は、例示的なステアリング則モジュール２０６が、実行の前にシミュレーションを行なうことを必要としない装置、方法、および製造品を説明する。
【００３４】
いくつかの例では、ステアリング則モジュール２０６は、リアルタイム動作で角度分離極値を計算する。あるいは、例示的なステアリング則モジュール２０６は、非リアルタイム動作（例えば、オフライン動作モード）で角度分離極値を計算してもよい。例示的なステアリング則モジュール２０６は、
2018184159.tif 000079
および
2018184159.tif 000080
を、宇宙飛行体（例えば、人工衛星１００）の位置ベクトルおよび／または速度ベクトルによって定められる軌道固定系平面に対応する変換されたベクトルに変換することによって、リアルタイム動作で角度分離極値を計算することができる。本明細書では、「軌道固定系平面」という用語は、位置ベクトルと速度ベクトルとの外積によって生成されるベクトルに垂直な平面を指す。例示的なステアリング則モジュール２０６は、人工衛星１００の動きに対する
2018184159.tif 000081
および
2018184159.tif 000082
の動きを捕捉することが望ましい場合があるので、軌道固定系平面を選択し得る。例示的なステアリング則モジュール２０６は、変換されたベクトルを、人工衛星１００の位置ベクトルおよび／または速度ベクトルによって張られた軌道固定系平面上に射影することができる。変換された、射影ベクトルは、
2018184159.tif 000083
と
2018184159.tif 000084
を含むことができ、
2018184159.tif 000085
は、変換された、軌道固定系平面上の射影プライマリベクトルを表し、
2018184159.tif 000086
は、変換された、軌道固定系平面上の射影セカンダリベクトルを表す。例示的なステアリング則モジュール２０６は、（１）射影ベクトルの外積と、（２）射影ベクトル間の角度θｐｒｏｊとによって、射影ベクトルに対する法線射影ベクトルを計算することができる。
【００３５】
いくつかの例では、ステアリング則モジュール２０６は、射影ベクトル（例えば、法線射影ベクトル）の１つ以上の成分が軌道固定系平面の外側にある場合、名目法線ベクトル
2018184159.tif 000087
の符号を反転させることを決定する。例えば、ステアリング則モジュール２０６は、法線射影ベクトルの成分が軌道固定系平面の外側にある場合、
2018184159.tif 000088
の正の符号を負の符号に反転させることができる。いくつかの例では、ユーザ（例えば、オペレータ）は、
2018184159.tif 000089
の符号を手動で反転させることができ、その結果、ユーザは、
2018184159.tif 000090
が軌道固定系平面の上か下かを制御する。追加的または代替的に、ユーザは、例示的なステアリング則モジュール２０６によって、
2018184159.tif 000091
の符号の変更を無効にすることができる。いくつかの例では、ステアリング則モジュール２０６は、姿勢コントローラ２０８が大きな、潜在的に不安定なステップコマンド（例えば、ステップ姿勢コマンド）を生成するのを防ぐために、人工衛星１００が角度分離極値に遭遇する正確にそのときに、
2018184159.tif 000092
の符号を反転させる。
【００３６】
いくつかの例では、ステアリング則モジュール２０６は、名目ベクトルのセット、代替ベクトルのセット、および／またはそれらの組み合わせに基づいて、調整された法線ベクトル
2018184159.tif 000093
を計算する。例えば、ステアリング則モジュール２０６は、名目ベクトルのセットの寄与および／または代替ベクトルのセットの寄与を決定する重み係数αを使用して、
2018184159.tif 000094
を計算することができる。いくつかの例では、αは、［０，１］の範囲内の値に制限される。あるいは、αは、［０，１］の範囲外の値を有してもよい。いくつかの例では、ステアリング則モジュール２０６は、以下の式（９）で説明するように、線形法を使用して
2018184159.tif 000095
を計算する。
2018184159.tif 000096
上記の式（９）の例において、変数
2018184159.tif 000097
は調整された法線ベクトルを表し、変数αは重み係数を表し、変数
2018184159.tif 000098
は代替法線ベクトルを表し、変数
2018184159.tif 000099
は名目法線ベクトルを表す。いくつかの例では、上記の式（９）に記載したベクトルのそれぞれが、単位ベクトルであり、および／または同じ座標系で指定される必要がある。いくつかの例では、ステアリング則モジュール２０６は、式（９）において上述したように
2018184159.tif 000100
を計算した後に、
2018184159.tif 000101
を再正規化する。追加的または代替的に、例示的なステアリング則モジュール２０６は、例えば、指数法、ランダム値生成法、正弦関数法などの他の任意の方法を用いて、
2018184159.tif 000102
を計算することができる。
【００３７】
例示的なステアリング則モジュール２０６は、様々な数学的方法を用いてαを計算することができる。例示的なステアリング則モジュール２０６は、例えば、ステアリング則モジュール２０６に利用可能な処理パワー、人工衛星コントローラ１０４のパラメータを更新するためのレイテンシ時間要件などの１つ以上の要因に依存して、特定の方法または方法の組み合わせを使用することを決定することができる。αを計算する例示的な方法は、以下の式（１０）で説明するような線形法であってもよい。
2018184159.tif 000103
上記の式（１０）の例において、変数αは重み係数を表し、変数θｐｒｏｊは、軌道固定系平面上の射影ベクトル間の角度（例えば、
2018184159.tif 000104
と
2018184159.tif 000105
との間の角度）を表す。上記の式（１０）の例において、床関数は、示された量の小数を切り捨てる。例示的なステアリング則モジュール２０６は、名目ベクトルのセットと代替ベクトルのセットとの間でなおも完全に遷移しながら、結果として生じるコマンドダイナミクスを最小にするために、式（１０）で上述した線形法を利用することができる。上記の式（９）および式（１０）の例において、ステアリング則モジュール２０６は、９０度と１８０度で名目ベクトルのセットを利用し（例えば、名目法線ベクトルを利用する）、０度と１８０度で代替ベクトルのセットを利用する（例えば、代替法線ベクトルを利用する）。例えば、θｐｒｏｊ＝９０度のとき、α＝１であり、
2018184159.tif 000106
となる。
【００３８】
いくつかの例では、ステアリング則モジュール２０６は、以下の式（１１）で説明するように、正弦関数法を使用してαを計算する。
2018184159.tif 000107
上記の式（１１）の例において、変数αは重み係数を表し、変数θｐｒｏｊは、
2018184159.tif 000108
と
2018184159.tif 000109
との間の角度を表す。上記の式（１１）の例において、αは、θｐｒｏｊに基づいて［０，１］の範囲内で正弦波状に変化する。上記の式（９）および式（１１）の例において、ステアリング則モジュール２０６は、９０度と２７０度で名目ベクトルのセットを利用し、０度と１８０度で代替ベクトルのセットを利用する。
【００３９】
いくつかの例では、ステアリング則モジュール２０６は、以下の式（１２）で説明するように、指数法を使用してαを計算する。
2018184159.tif 000110
上記の式（１２）の例において、変数αは重み係数を表し、変数
2018184159.tif 000111
は、軌道固定系平面に射影されたプライマリベクトルを表し、変数
2018184159.tif 000112
は、軌道固定系平面に射影されたセカンダリベクトルを表す。上記の式（１２）の例において、変数ｘは、名目ベクトルのセットから代替ベクトルのセットへの遷移の鋭さを決定するチューニングパラメータを表す。上記の式（１２）の例において、αは、ｘ乗された射影ベクトルの外積に基づいて計算される。例示的なステアリング則モジュール２０６は、名目ベクトルのセットが特異点条件にあるかまたはその近くにある正確な時間に、名目ベクトルのセットと代替ベクトルのセットの間で遷移するために、指数法を利用することができる。
【００４０】
いくつかの例では、ステアリング則モジュール２０６は、指数法を使用して、名目セカンダリベクトルに対する人工衛星１００、人工衛星本体１０２などの軸（例えば軸１１６）の向き調整を最大にするαの値を計算する。例えば、ステアリング則モジュール２０６は、名目セカンダリベクトルに対する人工衛星１００の１つ以上の構成要素の向き調整に起因してソーラーパネル１０８によって生成される電力の量を最大にするために、指数法を使用することができる。しかしながら、例示的なステアリング則モジュール２０６は、指数法を用いて、高いコマンドダイナミクスをもたらす姿勢表現（例えば、変換行列）を生成することがある。
【００４１】
いくつかの例では、ステアリング則モジュール２０６は、反転防止を無効にするための値をαに割り当てる。例えば、ステアリング則モジュール２０６は、特異点に対する緩和および／または防止措置（例えば、特異点処理）をオフにするために、α＝１を割り当てることができる。例えば、α＝１であるとき、式（９）において上述したように、
2018184159.tif 000113
である。例示的なステアリング則モジュール２０６は、太陽同期軌道において特異点処理をオフにしてもよい。別の例では、ステアリング則モジュール２０６は、特異点処理をオフにするために、α＝０を割り当てることができる。α＝０を割り当てることによって、例示的なステアリング則モジュール２０６は、
2018184159.tif 000114
を介してのみ姿勢表現を生成する。例えば、α＝０であるとき、式（９）において上述したように、
2018184159.tif 000115
である。示された例において、ステアリング則モジュール２０６が、
2018184159.tif 000116
に対して理想的なベクトル（例えば、軌道面に垂直なベクトル）を計算するとき、ステアリング則モジュール２０６は、宇宙飛行体（例えば、人工衛星１００）の軸（例えば、軸１１６）が軌道系と向き調整されている標準軌道法線ステアリングに対応する姿勢表現を生成する。追加的または代替的に、ユーザは、例示的なステアリング則モジュール２０６が、例えば、上記の線形法、正弦関数法および／または指数法などのうちの１つ以上の方法を使用してαを計算するのに先立って、
2018184159.tif 000117
の符号を反転させることができる。追加的または代替的に、ユーザは、宇宙飛行体の名目プライマリベクトルの周りに１８０度回転する宇宙飛行体に対応する姿勢表現を生成するために、
2018184159.tif 000118
の符号を反転させることができる。追加的または代替的に、ユーザは、例示的なステアリング則モジュール２０６によって計算されたαの値を変更してもよい。
【００４２】
いくつかの例において、αの値の範囲は、［０，１］よりも小さい範囲に制限される。例示的なステアリング則モジュール２０６は、αを操作して、代替法線ベクトルの解に対する名目法線ベクトルの解からの角度変位またはその逆を制限することができる。例えば、ステアリング則モジュール２０６は、宇宙飛行体が軌道法線（例えば、代替法線ベクトル）から３０度以内でターゲットベクトル（例えば、名目プライマリベクトル）の周りに回転することを可能にするために、αを操作することができる。例示的なステアリング則モジュール２０６は、名目ベクトルのセットと代替ベクトルのセットとの間の最大遷移を減少させるために、範囲を制限することができる。しかしながら、与えられた軌道に対する宇宙飛行体または宇宙飛行体の集団（すなわち、関連するグループ）の事前のシミュレーションが、αの許容制限範囲を決定するために必要とされることがある。あるいは、例示的なステアリング則モジュール２０６は、名目ベクトルのセット、代替ベクトルのセット、および／またはそれらの組み合わせからの成分を含む
2018184159.tif 000119
に基づいて、宇宙飛行体の所望の軌道と現在の軌道との間の分離角度を計算（例えば、反復計算）することができる。例示的なステアリング則モジュール２０６は、分離角度に基づいてαの値を決定することができ、分離角度は、最小角度、最大角度などであってもよい。
【００４３】
例示的なステアリング則モジュール２０６が
2018184159.tif 000120
の値を計算することに応答して、ステアリング則モジュール２０６は、上述のように姿勢表現を決定する。例えば、ステアリング則モジュール２０６は、
2018184159.tif 000121
と設定することに基づいて、変換行列表現を決定してもよい。例示的なステアリング則モジュール２０６は、姿勢コントローラ２０８のための形式または入力要件に基づいて、変換行列を別の形式（例えば、四元数、オイラー角など）に変換することができる。例えば、ステアリング則モジュール２０６は、変換行列を姿勢四元数（例えば、四元数の最後の要素がスカラ要素である右手系四元数）に変換することができる。本明細書で使用される「姿勢四元数」という用語は、３次元座標系における任意の回転を符号化するために使用される４要素ベクトルである。例示的なステアリング則モジュール２０６は、得られた姿勢四元数を姿勢コントローラ２０８に送信して、宇宙飛行体を回転させるための１つ以上の適切なトルクコマンドを発行することができる。例示的なステアリング則モジュール２０６は、例示的なデータベース２１４にデータ（例えば、ベクトルの成分、重み係数など）を格納し、および／または例示的なデータベース２１４からデータを取り出すことができる。
【００４４】
図２の例において、人工衛星コントローラ１０４は、宇宙飛行体を操縦するためのトルクコマンドを生成する姿勢コントローラ２０８を含む。例示的な姿勢コントローラ２０８は、例示的なステアリング則モジュール２０６から、および／または例示的なデータベース２１４から、例えば、変換行列、姿勢四元数などの姿勢表現を得ることができる。いくつかの例では、姿勢コントローラ２０８は、宇宙飛行体の姿勢誤差をゼロにする。例えば、姿勢コントローラ２０８は、（１）配向モジュール２０４から人工衛星１００の現在位置を、および（２）ステアリング則モジュール２０６から人工衛星１００の所望の位置（例えば、姿勢表現に基づく所望の位置）を、得ることができる。例示的な姿勢コントローラ２０８は、現在の位置と所望の位置との間の差を計算することができ、その差が姿勢誤差である。例示的な姿勢コントローラ２０８は、トルクコマンドを生成し、トルクコマンドを人工衛星スラスタ（複数可）１１２および／または人工衛星１００の推進装置に送信して、所望の位置を達成することによって、姿勢誤差をゼロにすることができる。例示的な姿勢コントローラ２０８は、例示的なデータベース２１４にデータ（例えば、姿勢コマンド）を格納し、および／または例示的なデータベース２１４からデータを取り出すことができる。
【００４５】
図２の例において、人工衛星コントローラ１０４は、宇宙飛行体の位置および／または姿勢を決定するためのセンサインターフェース２１０を含む。例えば、センサインターフェース２１０は、センサデータおよび／または惑星２１８の地上通信システム２１６からの受信センサデータに基づいて、人工衛星１００の位置、姿勢、加速度ベクトル、および／または速度ベクトルを決定することができる。例示的なセンサインターフェース２１０は、推進システム１１０、スラスタ（複数可）１１２などを監視するセンサからセンサデータを取得することができる。例示的なセンサインターフェース２１０は、例示的なデータベース２１４にデータ（例えば、センサデータ）を格納し、および／または例示的なデータベース２１４からデータを取り出すことができる。
【００４６】
図２の例において、人工衛星誘導システム２００は、データ（例えば、姿勢表現、センサデータ、重み係数など）を記録するためのデータベース２１４を含む。例示的なデータベース２１４は、データベース２１４内のデータに関連する情報のクエリに応答することができる。例えば、データベース２１４は、追加データ（例えば、１つ以上のデータポイント）を提供することによって、データベース２１４内の追加データに関連付けられたインデックスを提供することなどによって、追加データのクエリに応答することができる。追加的または代替的に、例示的なデータベース２１４は、ヌルインデックス、データベース２１４の終わり識別子などを提供することによって、追加データがデータベース２１４にない場合に、クエリに応答することができる。例示的なデータベース２１４は、揮発性メモリ（例えば、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ＲＡＭＢＵＳダイナミックランダムアクセスメモリ（ＲＤＲＡＭ）など）および／または不揮発性メモリ（例えば、フラッシュメモリ）によって、実施することができる。例示的なデータベース２１４は、追加的または代替的に、ＤＤＲ、ＤＤＲ２、ＤＤＲ３、モバイルＤＤＲ（ｍＤＤＲ）などの１つ以上のダブルデータレート（ＤＤＲ）メモリによって実施されてもよい。例示的なデータベース２１４は、追加的または代替的に、ハードディスクドライブ（複数可）、コンパクトディスクドライブ（複数可）、デジタル多用途ディスクドライブ（複数可）、磁気媒体などの１つ以上の大容量記憶装置によって実施されてもよい。図示の例では、データベース２１４が、単一のデータベースとして示されているが、データベース２１４は、任意の数および／またはタイプ（複数可）のデータベースによって実施されてもよい。
【００４７】
図１の人工衛星コントローラ１０４を実施する例示的な方法が図２に示されているが、図２に示された要素、プロセス、および／または装置のうちの１つ以上が、組み合わせられ、分割され、再配置され、省略され、除去され、及び／又は任意の他の方法で実施されてもよい。さらに、例示的なターゲティングモジュール２０２、例示的な配向モジュール２０４、例示的なステアリング則モジュール２０６、例示的な姿勢コントローラ２０８、例示的なセンサインターフェース２１０、および／または、より一般的に、図２の例示的な人工衛星コントローラ１０４は、ハードウェア、ソフトウェア、ファームウェア、および／またはハードウェア、ソフトウェア、および／またはファームウェアの任意の組み合わせによって実施されてもよい。したがって、例えば、例示的なターゲティングモジュール２０２、例示的な配向モジュール２０４、例示的なステアリング則モジュール２０６、例示的な姿勢コントローラ２０８、例示的なセンサインターフェース２１０、および／または、より一般的に、図２の例示的な人工衛星コントローラ１０４のうちの任意のものが、１つ以上のアナログまたはデジタル回路（複数可）、論理回路、プログラマブルプロセッサ（複数可）、特定用途向け集積回路（ＡＳＩＣ）（複数可）、プログラマブルロジックデバイス（ＰＬＤ）（複数可）、および／またはフィールドプログラマブルロジックデバイス（ＦＰＬＤ）（複数可）によって実施することができる。純粋にソフトウェアおよび／またはファームウェアの実施をカバーするために、本特許の任意の装置またはシステムクレームを読む場合、例示的なターゲティングモジュール２０２、例示的な配向モジュール２０４、例示的なステアリング則モジュール２０６、例示的な姿勢コントローラ２０８、例示的なセンサインターフェース２１０および／または、より一般的に、図２の例示的な人工衛星コントローラ１０４のうちの少なくとも１つが、ソフトウェアおよび／またはファームウェアを格納するメモリ、デジタル多用途ディスク（ＤＶＤ）、コンパクトディスク（ＣＤ）、ブルーレイディスクなどの、有形のコンピュータ可読記憶装置または記憶ディスクを含むと、本明細書により明示的に定められる。さらに、図２の例示的な人工衛星コントローラ１０４は、図２に示されたものに加えて、またはその代わりに、１つ以上の要素、プロセス、および／または装置を含むことができ、かつ／または、示された要素、プロセス、および装置のうちのいずれかもしくは全てについて、１つより多く含んでもよい。
【００４８】
図３Ａ、図３Ｂおよび図３Ｃは、典型的な姿勢ステアリング則に従う、図１の例示的な人工衛星１００の例示的な軌道の例示的なベクトルおよび平面を示す概略図である。図３Ａの図示の例において、図１の人工衛星１００が、軌道経路３０２に沿って惑星３００を周回する。人工衛星１００は、動力源３０４（例えば、星、太陽など）への曝露を最大にするようなベクトルに沿って、図１のソーラーパネル１０８の軸１１６の向きを調整することができる。図示の例において、図１〜図２の人工衛星コントローラ１０４は、名目プライマリベクトル３０６（例えば、
2018184159.tif 000122
）、名目セカンダリベクトル３０８（例えば、
2018184159.tif 000123
）、および名目法線ベクトル３１０（例えば、
2018184159.tif 000124
）を計算する。例えば、ステアリング則モジュール２０６は、名目プライマリベクトル３０６と名目セカンダリベクトル３０８のベクトル外積を計算することによって、名目法線ベクトル３１０を生成することができる。図示した例に示すように、名目プライマリベクトル３０６と名目セカンダリベクトル３０８の間の角度３１２は、約０度または約１８０度ではない。従って、例示的な姿勢コントローラ２０８は、人工衛星１００が特異点条件に遭遇していない場合に、名目法線ベクトル３１０に基づいて姿勢コマンドを生成することができる。図３Ａの図示の例において、姿勢コマンドは、名目プライマリベクトル３０６の周りの回転を実行する（例えば、ヨーフリップを実行する）ように人工衛星１００に指示することはない。
【００４９】
図３Ｂの図示の例において、図１の人工衛星１００が、軌道経路３０２に沿って惑星３００を周回する。図示の例において、図１〜図２の人工衛星コントローラ１０４は、名目プライマリベクトル３１４（例えば、
2018184159.tif 000125
）、名目セカンダリベクトル３１６（例えば、
2018184159.tif 000126
）、および名目法線ベクトル３１８（例えば、
2018184159.tif 000127
）を計算する。例えば、ステアリング則モジュール２０６は、名目プライマリベクトル３１４と名目セカンダリベクトル３１６のベクトル外積を計算することによって、名目法線ベクトル３１８を生成することができる。図示した例に示すように、名目プライマリベクトル３１４と名目セカンダリベクトル３１６の間の角度３２０は、約１８０度である。従って、例示的な姿勢コントローラ２０８は、人工衛星１００が特異点条件に遭遇している場合に、名目法線ベクトル３１８に基づいて姿勢コマンドを生成することができる。図３Ｂの図示の例において、姿勢コマンドは、名目プライマリベクトル３０６の周りの回転を実行する（例えば、ヨーフリップを実行する）ように人工衛星１００に指示する。
【００５０】
図３Ｃの図示の例において、図１の人工衛星１００が、軌道経路３０２に沿って惑星３００を周回する。図示の例において、図１〜図２の人工衛星コントローラ１０４は、名目プライマリベクトル３２２（例えば、
2018184159.tif 000128
）、名目セカンダリベクトル３２４（例えば、
2018184159.tif 000129
）、および名目法線ベクトル３２６（例えば、
2018184159.tif 000130
）を計算する。例えば、ステアリング則モジュール２０６は、名目プライマリベクトル３２２と名目セカンダリベクトル３２４のベクトル外積を計算することによって、名目法線ベクトル３２６を生成することができる。名目法線ベクトル３２６は、図３Ｂで実行されたヨーフリップに起因して、図３Ａの名目法線ベクトル３１０とは向きが反対である。図示した例に示すように、名目プライマリベクトル３２２と名目セカンダリベクトル３２４の間の角度３２８は、約０度または約１８０度ではない。従って、例示的な姿勢コントローラ２０８は、人工衛星１００が特異点条件に遭遇していない場合に、名目法線ベクトル３２６に基づいて姿勢コマンドを生成することができる。図３Ｃの図示の例において、姿勢コマンドは、名目プライマリベクトル３２２の周りの回転を実行する（例えば、ヨーフリップを実行する）ように人工衛星１００に指示することはない。
【００５１】
図４Ａ、図４Ｂおよび図４Ｃは、代替ベクトルのセットを計算する例示的なステアリング則モジュール２０６による、図１の例示的な人工衛星１００の例示的な軌道の例示的なベクトルおよび平面を示す概略図である。図４Ａの図示の例において、図１の人工衛星１００が、軌道経路４０２に沿って惑星４００を周回する。人工衛星１００は、動力源４０４（例えば、星、太陽など）への曝露を最大にするようなベクトルに沿って、図１のソーラーパネル１０８の軸１１６の向きを調整することができる。図示の例において、図１〜図２の人工衛星コントローラ１０４は、名目プライマリベクトル４０６（例えば、
2018184159.tif 000131
）、名目セカンダリベクトル４０８（例えば、
2018184159.tif 000132
）、および調整された法線ベクトル４１０（例えば、
2018184159.tif 000133
）を計算する。例えば、ステアリング則モジュール２０６は、式（９）〜（１２）に従って、上述した方法によって、調整された法線ベクトル４１０を生成することができる。例えば、ステアリング則モジュール２０６は、重み係数αに基づいて、調整された法線ベクトル４１０を生成することができる。調整された法線ベクトル４１０は、図３Ａの名目法線ベクトル３１０に対して符号が反対である。例えば、ステアリング則モジュール２０６は、名目プライマリベクトル４０６と名目セカンダリベクトル４０８のベクトル外積に基づいた名目法線ベクトルの符号を反転させてもよい。
【００５２】
図４Ａの図示の例において、名目プライマリベクトル４０６と名目セカンダリベクトル４０８の間の角度４１２は、約０度または約１８０度ではない。従って、例示的な姿勢コントローラ２０８は、人工衛星１００が特異点条件に遭遇していない場合に、調整された法線ベクトル４１０に基づいて姿勢コマンドを生成することができる。図４Ａの図示の例において、姿勢コマンドは、名目プライマリベクトル４０６の周りの回転を実行する（例えば、ヨーフリップを実行する）ように人工衛星１００に指示することはない。調整された法線ベクトル４１０は、上記のように、重み係数αに基づいて、名目ベクトルのセット、代替ベクトルのセット、および／またはそれらの組み合わせを含むことができる。あるいは、調整された法線ベクトル４１０は、名目法線ベクトル（例えば、
2018184159.tif 000134
）または代替法線ベクトル（例えば、
2018184159.tif 000135
）に等しくてもよい。
【００５３】
図４Ｂの図示の例において、図１の人工衛星１００が、軌道経路４０２に沿って惑星４００を周回する。図示の例において、図１〜図２の人工衛星コントローラ１０４は、名目プライマリベクトル４１４（例えば、
2018184159.tif 000136
）、名目セカンダリベクトル４１６（例えば、
2018184159.tif 000137
）、および調整された法線ベクトル４１８（例えば、
2018184159.tif 000138
）を計算する。例えば、ステアリング則モジュール２０６は、式（９）〜（１２）に従って、上述した方法によって、調整された法線ベクトル４１８を生成することができる。例えば、ステアリング則モジュール２０６は、重み係数αに基づいて、調整された法線ベクトル４１８を生成することができる。
【００５４】
図４Ｂの図示の例において、名目プライマリベクトル４１４と名目セカンダリベクトル４１６の間の角度４２０は、約１８０度である。従って、例示的な姿勢コントローラ２０８は、人工衛星１００が特異点条件に遭遇している場合に、調整された法線ベクトル４１８に基づいて姿勢コマンドを生成することができる。しかし、図４Ｂの図示の例において、姿勢コマンドは、名目プライマリベクトル４１４の周りの回転を実行する（例えば、ヨーフリップを実行する）ように人工衛星１００に指示することはない。調整された法線ベクトル４１８は、上記のように、重み係数αに基づいて、名目ベクトルのセット、代替ベクトルのセット、および／またはそれらの組み合わせを含むことができる。代替的に、調整された法線ベクトル４１８は、代替法線ベクトル（例えば、
2018184159.tif 000139
）に等しくてもよい。その結果、人工衛星１００は、図４Ａの調整された法線ベクトル４１０から角度４２２にある調整された法線ベクトル４１８に沿って、ソーラーパネル１０８の軸１１６を配向する。代替ベクトルのセットを計算することにより、人工衛星１００は、特異点条件（例えば、最小または最大角度分離が存在する）に接近するまたは遭遇するときに、図３Ｂで上述したような意図しないヨーフリップを実行することを回避する。
【００５５】
図４Ｃの図示の例において、図１の人工衛星１００が、軌道経路４０２に沿って惑星４００を周回する。図示の例において、図１〜図２の人工衛星コントローラ１０４は、名目プライマリベクトル４２４（例えば、
2018184159.tif 000140
）、名目セカンダリベクトル４２６（例えば、
2018184159.tif 000141
）、および調整された法線ベクトル４２８（例えば、
2018184159.tif 000142
）を計算する。例えば、ステアリング則モジュール２０６は、式（９）〜（１２）に従って、上述した方法によって、調整された法線ベクトル４２８を生成することができる。例えば、ステアリング則モジュール２０６は、重み係数αに基づいて、調整された法線ベクトル４２８を生成することができる。
【００５６】
図４Ｃの図示の例において、名目プライマリベクトル４２４と名目セカンダリベクトル４２６の間の角度４３０は、約０度または約１８０度ではない。従って、例示的な姿勢コントローラ２０８は、人工衛星１００が特異点条件に遭遇していない場合に、調整された法線ベクトル４２８に基づいて姿勢コマンドを生成することができる。図４Ｃの図示の例において、姿勢コマンドは、名目プライマリベクトル４２４の周りの回転を実行する（例えば、ヨーフリップを実行する）ように人工衛星１００に指示することはない。調整された法線ベクトル４２８は、上記のように、重み係数αに基づいて、名目ベクトルのセット、代替ベクトルのセット、および／またはそれらの組み合わせを含むことができる。あるいは、調整された法線ベクトル４２８は、名目法線ベクトル（例えば、
2018184159.tif 000143
）または代替法線ベクトル（例えば、
2018184159.tif 000144
）に等しくてもよい。
【００５７】
図５は、遷移軌道５０６を介して初期軌道５０２から最終軌道５０４に移動している図１の例示的な人工衛星１００の例示的な軌道経路図５００である。図５に示す例では、人工衛星１００は、初期軌道５０２において天体または惑星（例えば、地球、火星など）５０８を周回し、最終軌道５０４に進んでいる。この例では、人工衛星１００は、スラスタ１１２を使用して最初の操縦を実行することによって、遷移軌道５０６に沿った移動を開始する。人工衛星１００が、初期軌道５０２から最終軌道５０４に移動するとき、人工衛星１００は、遷移軌道５０６によって定められた経路に沿って移動し、スラスタ１１２を使用して、最終の操縦を実行し、最終軌道５０４に残る。軌道経路図５００に示されている例では、人工衛星１００が、低い初期軌道５０２から高い最終軌道５０４に移動しているが、いくつかの例では、人工衛星１００は、高い最終軌道５０４に移動するための最終の操縦を完了させず、それにより人工衛星１００を遷移軌道５０６に沿って周回させる。あるいは、人工衛星１００は、最終軌道５０４から低い／初期軌道５０２に進むことができる。人工衛星１００は、図１〜図２の人工衛星コントローラ１０４によって計算されるような名目ベクトルのセット、代替ベクトルのセット、および／またはそれらの組み合わせを使用することによって、初期軌道５０２、最終軌道５０４、遷移軌道５０６などを進むことができることが、理解されよう。例えば、人工衛星１００は、図２の例示的なステアリング則モジュール２０６によって計算されるような代替ベクトルのセットを使用して初期軌道５０２を進むことができる。
【００５８】
図１〜図２の例示的な人工衛星コントローラ１０４を実施するための例示的な方法を表すフローチャートが、図６〜図７に示されている。これらの例において、方法は、図８に関連して以下に説明する例示的なプロセッサプラットフォーム８００に示されるプロセッサ８１２などのプロセッサによる実行のためのプログラムを含む機械可読命令を使用して実施されてもよい。プログラムは、ＣＤ−ＲＯＭ、フロッピーディスク、ハードドライブ、デジタル多用途ディスク（ＤＶＤ）、ブルーレイディスク、またはプロセッサ８１２に関連付けられたメモリなどの有形のコンピュータ可読記憶媒体に格納されたソフトウェアに具現化されてもよいが、プログラム全体および／またはその一部が、代替的に、プロセッサ８１２以外の装置によって実行されてもよく、および／またはファームウェアまたは専用ハードウェアに具現化されてもよい。さらに、例示的なプログラムは、図６〜図７に示すフローチャートを参照して説明されているが、例示的な人工衛星コントローラ１０４を実施する多くの他の方法を、代わりに使用することもできる。例えば、ブロックの実行順序を変更したり、記載されたブロックのいくつかを変更したり、削除したり、組み合わせたりすることができる。
【００５９】
上述したように、図６〜図７の例示的な方法は、ハードディスクドライブ、フラッシュメモリ、読み出し専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）、および／または情報が任意の期間（例えば、長期間、恒久的に、短時間、一時的にバッファリングするため、および／または情報のキャッシュのために）格納される他の記憶装置または記憶ディスクなどの有形のコンピュータ可読記憶媒体に格納されたコード化された命令（例えば、コンピュータおよび／または機械可読命令）を用いて実施されてもよい。本明細書で使用される場合、有形のコンピュータ可読記憶媒体という用語は、任意のタイプのコンピュータ可読記憶装置および／または記憶ディスクを含み、伝播信号を除外し、伝送媒体を除外すると、明示的に定義される。本明細書で使用される場合、「有形のコンピュータ可読記憶媒体」および「有形の機械可読記憶媒体」は、交換可能に使用される。追加的または代替的に、図６〜図７の例示的な方法は、ハードディスクドライブ、フラッシュメモリ、読み出し専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリ、および／または、情報が任意の期間（例えば、長期間、恒久的に、短時間、一時的にバッファリングするため、および／または情報のキャッシュのために）格納される他の記憶装置または記憶ディスクなどの、非一過性のコンピュータおよび／または機械可読媒体に格納されたコード化された命令（例えば、コンピュータおよび／または機械可読命令）を用いて実施されてもよい。本明細書で使用される場合、非一過性のコンピュータ可読媒体という用語は、任意のタイプのコンピュータ可読記憶装置および／または記憶ディスクを含み、伝播信号を除外し、伝送媒体を除外すると、明示的に定義される。本明細書で、「少なくとも」という語句が、請求項のプリアンブルにおいて移行部として使用される場合、それは、「含む（ｃｏｍｐｒｉｓｉｎｇ）」という用語がオープンエンドであるのと同じように、オープンエンドである。「含む（Ｃｏｍｐｒｉｓｉｎｇ）」および「含む（ｃｏｍｐｒｉｓｅ）」の他のすべての変形は、オープンエンドの用語であると明示的に定義される。「含む（Ｉｎｃｌｕｄｉｎｇ）」および「含む（ｉｎｃｌｕｄｅ）」の他のすべての変形もまた、オープンエンドの用語であると定義される。対照的に、「〜からなる（ｃｏｎｓｉｓｔｉｎｇ）」という用語および／または「〜からなる（ｃｏｎｓｉｓｔ）」の他の形態は、クローズエンドの用語であると定義される。
【００６０】
図６は、姿勢コマンドに基づいて人工衛星を操縦するために、図１〜図２の例示的な人工衛星コントローラ１０４によって実行される例示的な方法６００を表すフローチャートである。例示的な方法６００は、例示的な人工衛星コントローラ１０４が人工衛星のプライマリベクトルを計算する６０２から開始する。例えば、ステアリング則モジュール２０６は、図１の人工衛星１００の名目プライマリベクトルを計算することができる。例示的なステアリング則モジュール２０６は、名目プライマリベクトルが、ターゲット（例えば、地球上の点）の方に向いている、人工衛星１００の重心からのベクトルであると、決定することができる。ブロック６０４において、例示的な人工衛星コントローラ１０４は、セカンダリベクトルを計算する。例えば、ステアリング則モジュール２０６は、人工衛星１００の名目セカンダリベクトルを計算することができる。例示的なステアリング則モジュール２０６は、名目セカンダリベクトルが、動力源（例えば、天体からの光源、太陽など）の方に向いている、人工衛星１００の重心からのベクトルであると、決定することができる。
【００６１】
ブロック６０６において、例示的な人工衛星コントローラ１０４は、ボアサイトベクトルを計算する。例えば、ターゲティングモジュール２０２は、人工衛星１００のボアサイトベクトルを計算することができる。ブロック６０８において、例示的な人工衛星コントローラ１０４は、法線ベクトルを計算する。例えば、ステアリング則モジュール２０６は、名目ベクトルのセット、代替ベクトルのセット、および／またはそれらの組み合わせに基づいて、法線ベクトル（例えば、
2018184159.tif 000145
）を計算することができる。ブロック６１０において、例示的な人工衛星コントローラ１０４は、法線ベクトルを正規化する。例えば、ステアリング則モジュール２０６は、調整された法線ベクトル
2018184159.tif 000146
を正規化することができる。ブロック６１２において、例示的な人工衛星コントローラ１０４は、姿勢表現の三つ組を生成する。例えば、ステアリング則モジュール２０６は、姿勢表現の三つ組（例えば、
2018184159.tif 000147
および
2018184159.tif 000148
）を生成することができる。ブロック６１４において、例示的な人工衛星コントローラ１０４は、姿勢表現を生成する。例えば、ステアリング則モジュール２０６は、変換行列（例えば、方向余弦行列）、四元数などを生成することができる。
【００６２】
ブロック６１６において、例示的な人工衛星コントローラ１０４は、姿勢コマンドを生成する。例えば、姿勢コントローラ２０８は、変換行列に基づいて姿勢コマンドを生成することができる。ブロック６１８において、例示的な人工衛星コントローラ１０４は、人工衛星のスラスタおよび／または推進装置を制御する。例えば、姿勢コントローラ２０８は、人工衛星１００を操縦するためにスラスタ１１２にコマンドを送信することができる。ブロック６２０において、例示的な人工衛星コントローラ１０４は、さらなる姿勢調整が必要かどうかを決定する。例えば、姿勢コントローラ２０８は、姿勢ゼロが約ゼロであると、決定してもよい。ブロック６２０において、例示的な人工衛星コントローラ１０４が、さらなる姿勢調整が必要であると決定した場合、制御はブロック６０２に戻り、人工衛星の別のプライマリベクトルを計算し、そうでない場合、例示的な方法６００は終了する。
【００６３】
図７は、代替ベクトルのセットに基づいて法線ベクトルを計算するために、図１〜２の例示的な人工衛星コントローラ１０４によって実行される例示的な方法７００を表すフローチャートである。例示的な方法７００は、例示的な人工衛星コントローラ１０４が名目法線ベクトルを計算するブロック７０２から始まる。例えば、ステアリング則モジュール２０６は、名目プライマリベクトルと名目セカンダリベクトルとのベクトル外積に基づいて、名目法線ベクトルを生成することができる。ブロック７０４において、例示的な人工衛星コントローラ１０４は、代替法線ベクトルを計算する。例えば、ステアリング則モジュール２０６は、軌道固定系平面に垂直である代替法線ベクトルを計算することができる。
【００６４】
ブロック７０６において、例示的な人工衛星コントローラ１０４は、名目法線ベクトルの符号を決定する。例えば、ステアリング則モジュール２０６は、名目プライマリベクトル、名目セカンダリベクトル等を軌道固定系平面に射影することに基づいて、名目法線ベクトルの符号を反転させることを決定してもよい。ブロック７０８において、例示的な人工衛星コントローラ１０４は、重み係数を計算する。例えば、ステアリング則モジュール２０６は、上述したように、線形法、正弦関数法、指数法などに基づいて、重み係数αを計算することができる。ブロック７１０において、人工衛星コントローラ１０４は、調整された法線ベクトル（例えば、
2018184159.tif 000149
）を決定する。例えば、ステアリング則モジュール２０６は、名目法線ベクトル（例えば、
2018184159.tif 000150
）、代替法線ベクトル（例えば、
2018184159.tif 000151
）、重み係数αなどに基づいて、調整された法線ベクトルを計算することができる。
【００６５】
図８は、図６〜図７の方法および図１〜図２の例示的な人工衛星コントローラ１０４を実施するための命令を実行することができる例示的なプロセッサプラットフォーム８００のブロック図である。プロセッサプラットフォーム８００は、例えば、人工衛星制御システム、人工衛星誘導システム、サーバ、パーソナルコンピュータ、または任意の他のタイプのコンピューティングデバイスとすることができる。
【００６６】
図示の例のプロセッサプラットフォーム８００は、プロセッサ８１２を含む。図示の例のプロセッサ８１２は、ハードウェアである。例えば、プロセッサ８１２は、任意の所望のファミリまたは製造業者からの１つ以上の集積回路、論理回路、マイクロプロセッサまたはコントローラによって実施することができる。
【００６７】
図示の例のプロセッサ８１２は、ローカルメモリ８１３（例えば、キャッシュ）を含む。図示の例のプロセッサ８１２は、例示的なターゲティングモジュール２０２、例示的な配向モジュール２０４、例示的なステアリング則モジュール２０６、例示的な姿勢コントローラ２０８、例示的なセンサインターフェース２１０、および／または、より一般的には、例示的な人工衛星コントローラ１０４を実施するための命令を実行する。図示の例のプロセッサ８１２は、バス８１８を介して揮発性メモリ８１４および不揮発性メモリ８１６を含むメインメモリと通信する。揮発性メモリ８１４は、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ＲＡＭＢＵＳダイナミックランダムアクセスメモリ（ＲＤＲＡＭ）、および／または任意の他のタイプのランダムアクセスメモリデバイスによって実施されてもよい。不揮発性メモリ８１６は、フラッシュメモリ、および／または任意の他の所望のタイプのメモリデバイスによって実施することができる。メインメモリ８１４、８１６へのアクセスは、メモリコントローラによって制御される。
【００６８】
図示の例のプロセッサプラットフォーム８００はまた、インターフェース回路８２０を含む。インターフェース回路８２０は、イーサネットインターフェース、ユニバーサルシリアルバス（ＵＳＢ）、および／またはＰＣＩエクスプレスインターフェースなどの任意のタイプのインターフェース規格によって実施することができる。
【００６９】
図示の例では、１つ以上の入力装置８２２が、インターフェース回路８２０に接続されている。入力装置（複数可）８２２は、ユーザがデータおよびコマンドをプロセッサ８１２に入力することを可能にする。入力装置（複数可）は、例えば、オーディオセンサ、マイクロフォン、カメラ（静止またはビデオ）、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボール、アイソポイント  、および／またはプロセッサプラットフォーム８００に通信可能に結合された地上通信システムに結合された音声認識システムによって実施することができる。
【００７０】
１つ以上の出力装置８２４もまた、図示の例のインターフェース回路８２０に接続される。出力装置８２４は、例えば、プロセシングプラットフォーム８００に通信可能に結合されている地上通信システムに結合されたディスプレイデバイス（例えば、発光ダイオード（ＬＥＤ）、有機発光ダイオード（ＯＬＥＤ）、液晶ディスプレイ、陰極線管ディスプレイ（ＣＲＴ）、タッチスクリーン、触覚出力装置、プリンタおよび／またはスピーカ）によって、実施することができる。図示の例のインターフェース回路８２０は、例えば典型的には、グラフィックスドライバカード、グラフィックスドライバチップ、またはグラフィックスドライバプロセッサを含む。
【００７１】
図示された例のインターフェース回路８２０はまた、送信機、受信機、トランシーバ、モデムおよび／またはネットワークインターフェースカードなどの通信デバイスを含み、ネットワーク８２６（例えば、イーサネット接続、デジタル加入者線（ＤＳＬ）、電話回線、同軸ケーブル、携帯電話システム、衛星通信システムなど）を介して外部の機械（例えば、任意の種類のコンピューティングデバイス）とのデータ交換を容易にする。
【００７２】
図示の例のプロセッサプラットフォーム８００はまた、ソフトウェアおよび／またはデータを格納するための１つ以上の大容量記憶装置８２８を含む。そのような大容量記憶装置８２８の例には、フロッピーディスクドライブ、ハードディスクドライブ、コンパクトディスクドライブ、ブルーレイディスクドライブ、ＲＡＩＤシステム、磁気媒体、およびデジタル多用途ディスク（ＤＶＤ）ドライブが含まれる。例示的な大容量記憶装置８２８は、例示的なデータベース２１４を実施する。
【００７３】
図６〜図７のフローチャートによって示されている方法を実施するためのコード化された命令８３２が、大容量記憶装置８２８、揮発性メモリ８１４、不揮発性メモリ８１６、および／またはＣＤやＤＶＤなどのリムーバブルな有形のコンピュータ可読記憶媒体に格納され得る。
【００７４】
さらに、本開示は、以下の条項による実施例を含む。
【００７５】
条項１．  宇宙飛行体（１００）を操縦するためのベクトルの第１のセットを計算し（６０２，６０４，６０６，６０８）、固定された平面（１２０）上にベクトルの第１のセットを射影することに基づいてベクトルの第２のセットを計算する（７０４，７１０）ステアリング則モジュール（２０６）と、ベクトルの第１および第２のセットに基づいて姿勢コマンドを生成して（６１６）、宇宙飛行体による計画外の回転を防止する姿勢コントローラ（２０８）と、を備える装置。
【００７６】
条項２．  ベクトルの第１のセットが、宇宙飛行体から慣性基準座標系内のターゲットへ向いている第１のベクトルと、宇宙飛行体から動力源へ向いている第２のベクトルとを含む、条項１に記載の装置。
【００７７】
条項３．  慣性基準座標系が、地球中心慣性座標系であり、動力源が、天体からの光源である、条項２に記載の装置。
【００７８】
条項４．  ベクトルの第２のセットが、第１および第２のベクトルに垂直な第３のベクトルと、第１のベクトルに垂直な第４のベクトルとを含む、条項２に記載の装置。
【００７９】
条項５．  ステアリング則モジュールが、第３のベクトルと第４のベクトルとの間の角度を計算する、条項４に記載の装置。
【００８０】
条項６．  姿勢コマンドは、ステアリング則モジュールが、ベクトルの第１および第２のセットのそれぞれからの姿勢コマンドへの寄与を決定するために、前記角度に基づく重み係数を計算することに基づく、条項５に記載の装置。
【００８１】
条項７．  宇宙飛行体（１００）を操縦するためにベクトルの第１のセットを計算すること（６０２，６０４，６０６，６０８）と、固定された平面（１２０）上にベクトルの第１のセットを射影することに基づいて、ベクトルの第２のセットを計算すること（７０４，７１０）と、ベクトルの第１および第２のセットに基づいて姿勢コマンドを生成して、宇宙飛行体による計画外の回転を防止すること（６１６）と、を含む方法。
【００８２】
条項８．  ベクトルの第１のセットが、宇宙飛行体から慣性基準座標系内のターゲットへ向いている第１のベクトルと、宇宙飛行体から動力源へ向いている第２のベクトルとを含む、条項７に記載の方法。
【００８３】
条項９．  慣性基準座標系が、地球中心慣性座標系であり、動力源が、天体からの光源である、条項８に記載の方法。
【００８４】
条項１０．  ベクトルの第２のセットが、第１および第２のベクトルに垂直な第３のベクトルと、第１のベクトルに垂直な第４のベクトルとを含む、条項８に記載の方法。
【００８５】
条項１１．  第３のベクトルと第４のベクトルとの間の角度を計算することをさらに含む、条項１０に記載の方法。
【００８６】
条項１２．  姿勢コマンドを生成することが、ベクトルの第１および第２のセットのそれぞれからの姿勢コマンドへの寄与を決定するために、前記角度に基づく重み係数を計算することを含む、条項１１に記載の方法。
【００８７】
条項１３．  重み係数を計算することが、線形法、正弦関数法、または指数法のうちの少なくとも１つを使用することを含む、条項１２に記載の方法。
【００８８】
条項１４．  実行されたときに、機械に、少なくとも、宇宙飛行体（１００）を操縦するためのベクトルの第１のセットを計算させ（６０２，６０４，６０６，６０８）、固定された平面（１２０）上にベクトルの第１のセットを射影することに基づいて、ベクトルの第２のセットを計算させ（７０４，７１０）、ベクトルの第１および第２のセットに基づいて姿勢コマンドを生成させて、宇宙飛行体による計画外の回転を防止させる（６１６）、命令を含む、有形のコンピュータ可読記憶媒体。
【００８９】
条項１５．  ベクトルの第１のセットが、宇宙飛行体から慣性基準座標系内のターゲットへ向いている第１のベクトルと、宇宙飛行体から動力源へ向いている第２のベクトルとを含む、条項１４に記載の有形のコンピュータ可読記憶媒体。
【００９０】
条項１６．  慣性基準座標系が、地球中心慣性座標系であり、動力源が、天体からの光源である、条項１５に記載の有形のコンピュータ可読記憶媒体。
【００９１】
条項１７．  ベクトルの第２のセットが、第１および第２のベクトルに垂直な第３のベクトルと、第１のベクトルに垂直な第４のベクトルとを含む、条項１５に記載の有形のコンピュータ可読記憶媒体。
【００９２】
条項１８．  実行されたときに、機械に、第３のベクトルと第４のベクトルとの間の角度を計算させる命令をさらに含む、条項１７に記載の有形のコンピュータ可読記憶媒体。
【００９３】
条項１９．  姿勢コマンドを生成することが、ベクトルの第１および第２のセットのそれぞれからの姿勢コマンドへの寄与を決定するために、前記角度に基づく重み係数を計算することを含む、条項１８に記載の有形のコンピュータ可読記憶媒体。
【００９４】
条項２０．  重み係数を計算することが、線形法、正弦関数法、または指数法のうちの少なくとも１つを使用することを含む、条項１９に記載の有形のコンピュータ可読記憶媒体。
【００９５】
以上から、上記の開示された方法、装置、および製造品は、宇宙飛行体を最小限のコマンドダイナミクスで軌道上において操縦するのを可能にすることが理解されよう。本明細書に開示された例示的な人工衛星コントローラ装置は、宇宙飛行体が特異点条件に接近するまたは遭遇することに基づいて、大きな回転角、不要なヨーフリップ、不安定な回転などをもたらすコマンドを宇宙飛行体が生成することを防止する。本明細書に開示された例示的な人工衛星コントローラ装置は、遷移軌道、最終軌道等の間に代替ベクトルのセットを計算することによって、天体を周回する宇宙飛行体に対する特異点処理を可能にする。
【００９６】
特定の例示的な方法、装置及び製造品が、本明細書に開示されているが、本特許の適用範囲は、これに限定されない。それどころか、本特許は、本特許の請求の範囲内に適正に入るすべての方法、装置および製造品をカバーする。
【図１】
2018184159.tif 000152
【図２】
2018184159.tif 000153
【図３】
2018184159.tif 000154
【図４】
2018184159.tif 000155
【図５】
2018184159.tif 000156
【図６】
2018184159.tif 000157
【図７】
2018184159.tif 000158
【図８】
2018184159.tif 000159
【外国語明細書】
2018184159000001.pdf
2018184159000002.pdf
2018184159000003.pdf
2018184159000004.pdf