(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-22
(45)【発行日】2023-12-01
(54)【発明の名称】誘導プログラム、誘導方法、及び誘導装置
(51)【国際特許分類】
G01C 21/24 20060101AFI20231124BHJP
B64G 1/24 20060101ALI20231124BHJP
G05B 11/36 20060101ALI20231124BHJP
G05B 13/02 20060101ALI20231124BHJP
G05D 1/10 20060101ALI20231124BHJP
【FI】
G01C21/24
B64G1/24 Z
G05B11/36 G
G05B13/02 A
G05D1/10
(21)【出願番号】P 2019128447
(22)【出願日】2019-07-10
【審査請求日】2022-06-16
(73)【特許権者】
【識別番号】503361400
【氏名又は名称】国立研究開発法人宇宙航空研究開発機構
(74)【代理人】
【識別番号】100106909
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100161702
【氏名又は名称】橋本 宏之
(74)【代理人】
【識別番号】100188592
【氏名又は名称】山口 洋
(74)【代理人】
【識別番号】100181124
【氏名又は名称】沖田 壮男
(74)【代理人】
【識別番号】100163496
【氏名又は名称】荒 則彦
(72)【発明者】
【氏名】伊藤 琢博
(72)【発明者】
【氏名】坂井 真一郎
【審査官】松本 泰典
(56)【参考文献】
【文献】中国特許出願公開第106379555(CN,A)
【文献】特開2014-191736(JP,A)
【文献】特開平11-301598(JP,A)
【文献】実開平3-70609(JP,U)
【文献】特開2020-41858(JP,A)
【文献】特開昭61-77905(JP,A)
【文献】Ping Lu,Propellant-Optimal Powered Descent Guidance,Journal of Guidance, Control, and Dynamics,米国,American Institute of Aeronautics and Astronautics,2018年,Vol.14 No.4,pp.813-826
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/10
B64G 1/24
G05B 11/36
G05B 13/02
G01C 21/24
(57)【特許請求の範囲】
【請求項1】
移動体に搭載されるコンピュータに、
スイッチング関数理論に基づいて、前記移動体が推力を出力する方向の時間履歴を示す推力方向時間履歴と、前記移動体の推力の大きさを切り替えるタイミングを示すスイッチング時刻と、前記移動体を航行させる軌道の終端における時刻を示す終端時刻とを含む制御量を説明するパラメータの暫定的な初期値、または前記終端時刻における前記移動体の状態を示す終端状態を説明するパラメータの暫定的な初期値から、前記スイッチング時刻を導出させ、
前記導出させたスイッチング時刻と前記初期値とに基づいて、前記推力方向時間履歴、前記終端時刻、および前記終端状態のうち一部または全部を予測さ
せ、
前記パラメータを説明変数としたスイッチング関数がゼロとなる方程式を解かせることで、前記スイッチング時刻を目的変数として導出させる、
誘導プログラム。
【請求項2】
前記パラメータには、前記移動体の運動方程式の随伴変数に関する定数と、前記終端時刻とのそれぞれを未知数としたときの暫定的な初期値が含まれる、
請求項1に記載の誘導プログラム。
【請求項3】
前記コンピュータに、
前記推力の加速度の上限および下限を一定とした条件下において、
2次方程式の前記スイッチング関数がゼロとなる方程式を解かせることで、前記スイッチング時刻を導出させる、
請求項
1に記載の誘導プログラム。
【請求項4】
前記コンピュータに、
前記推力の上限および下限を一定とした条件下において、
2次方程式に近似した前記スイッチング関数がゼロとなる方程式を解かせることで、前記スイッチング時刻を導出させる、
請求項
1または
3に記載の誘導プログラム。
【請求項5】
前記コンピュータに、
前記スイッチング関数がゼロとなる方程式の解である前記スイッチング時刻が第1時刻の前の時刻である場合、前記スイッチング時刻を、前記第1時刻と同じ時刻に変更させ、
前記スイッチング関数がゼロとなる方程式の解である前記スイッチング時刻が第2時刻の後の時刻である場合、前記スイッチング時刻を、前記第2時刻と同じ時刻に変更させ、
前記スイッチング関数がゼロとなる方程式の解である前記スイッチング時刻が前記第1時刻以降であり、且つ前記第2時刻以前である場合、前記スイッチング時刻を変更させない、
請求項
1から
4のうちいずれか一項に記載の誘導プログラム。
【請求項6】
前記コンピュータに、
前記予測させた終端状態と目標とする終端状態との誤差を導出させ、
前記導出させた誤差に基づいて、前記パラメータを更新させる、
請求項1から
5のうちいずれか一項に記載の誘導プログラム。
【請求項7】
前記コンピュータに、
前記誤差が閾値以上である場合、前記誤差に基づく感度行列を用いて補正量を導出させ、
前記導出させた補正量と前記パラメータとの和に前記パラメータを更新させる、
請求項
6に記載の誘導プログラム。
【請求項8】
前記コンピュータに、
前記誤差を前記パラメータで偏微分することで、前記感度行列を導出させ、
前記導出させた感度行列を用いて前記補正量を導出させる、
請求項
7に記載の誘導プログラム。
【請求項9】
移動体に搭載されるコンピュータが、
スイッチング関数理論に基づいて、前記移動体が推力を出力する方向の時間履歴を示す推力方向時間履歴と、前記移動体の推力の大きさを切り替えるタイミングを示すスイッチング時刻と、前記移動体を航行させる軌道の終端における時刻を示す終端時刻とを含む制御量を説明するパラメータの暫定的な初期値、または前記終端時刻における前記移動体の状態を示す終端状態を説明するパラメータの暫定的な初期値から、前記スイッチング時刻を導出し、
前記導出したスイッチング時刻と前記初期値とに基づいて、前記推力方向時間履歴、前記終端時刻、および前記終端状態のうち一部または全部を予測
し、
前記パラメータを説明変数としたスイッチング関数がゼロとなる方程式を解かせることで、前記スイッチング時刻を目的変数として導出する、
誘導方法。
【請求項10】
移動体に搭載される誘導装置であって、
スイッチング関数理論に基づいて、前記移動体が推力を出力する方向の時間履歴を示す推力方向時間履歴と、前記移動体の推力の大きさを切り替えるタイミングを示すスイッチング時刻と、前記移動体を航行させる軌道の終端における時刻を示す終端時刻とを含む制御量を説明するパラメータの暫定的な初期値、または前記終端時刻における前記移動体の状態を示す終端状態を説明するパラメータの暫定的な初期値から、前記スイッチング時刻を導出する導出部と、
前記導出部によって導出された前記スイッチング時刻と前記初期値とに基づいて、前記推力方向時間履歴、前記終端時刻、および前記終端状態のうち一部または全部を予測する予測部と、
を備え、
前記導出部は、前記パラメータを説明変数としたスイッチング関数がゼロとなる方程式を解かせることで、前記スイッチング時刻を目的変数として導出する、
誘導装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、誘導プログラム、誘導方法、及び誘導装置に関する。
【背景技術】
【0002】
スペースシャトル等に起源をもつ「エクスプリシット誘導」と呼ばれる飛翔体の誘導方式は、目標へ精密に誘導するための軌道や制御コマンド、つまり最適解を実時間内でオンライン出力するアルゴリズムである。エクスプリシット誘導は、既にフライト実績も多数ある方式である。エクスプリシット誘導は、(1)解析的または数値的に終端状態量を予測する予測プロセスと、(2)予測した終端状態量が所望の値になるよう変分原理を用いて想定解を補正する補正プロセスという2つの動作を繰り返し、想定解を最適解に漸近させていくことで実現される。具体的には、例えば、制御量や終端状態を説明する未知数について、未知数と同数の連立非線形方程式を数値的に解くことで求められる。
【0003】
初期の位置および速度と、終端の位置および速度とを指定したうえで、重力一定、推力または推力加速度の上下限制約一定、大気の影響が無視できる場合において、消費燃料の最小化を目的関数とした時の最適解が、最適制御理論分野では理論的に知られている。特殊なケースを除いて、推力の大きさは、制約の上下限範囲内で、最大値-最小値-最大値のように最大2回変更する。推力の大きさの変更タイミングは、スイッチング関数と呼ばれる関数の値に基づいて決定される。推力方向は双線形タンジェント則と呼ばれる方法に基づいて決定される。
【0004】
実用的には、消費燃料最小となる最適な推力方向および終端時刻のみを求めるエクスプリシット誘導が利用されてきた。例えばスペースシャトルにおいては、推力の大きさは既知の時間関数として扱われ、エクスプリシット誘導は最適な推力方向と終端時刻のみを求める方法として利用されている。これに推力の大きさの変更タイミングを加えたエクスプリシット誘導方式は実用化されるには至っていない。
【0005】
従来は、前述のスイッチング関数の直接的な計算により誘導則を構築することは、数値安定性などの観点から困難と考えられてきた。これに関連し、スイッチング関数を直接計算するのではなく、推力の大きさの変更タイミングを最適化パラメータに加えて最適化問題をオンラインで解くことで、最適なスイッチング時刻のほか、推力方向、終端時刻を導出する誘導則が知られている(非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0006】
【文献】P. Lu, "Propellant-Optimal Powered Descent Guidance," Journal of Guidance, Control, and Dynamics, vol. 41, no. 4, pp. 813--826, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0007】
例えば、月や惑星などの重力天体への高精度な着陸のように、短時間内に大きな位置修正が求められる誘導問題においては、推力スイッチングを取り入れることが、消費燃料最小性及び大移動性能(高精度誘導性能)に効果を発揮する。従って、最適な推力方向、推力スイッチング、終端時刻を同時に実時間で計算するエクスプリシット誘導アルゴリズムが求められている。
【0008】
しかしながら、従来の技術では、一部の推力スイッチング時刻をオフラインで求め、そのスイッチング時刻を固定パラメータとし、残りのスイッチング時刻を他制御変数とは独立な最適化パラメータとしてオンライン最適化を実行するため、適用範囲が限定的となる仮定をする必要があった。この結果、スイッチング時刻に関する適切な固定パラメータが事前に見つけられない場合、燃料をより多く消費することになり、移動性能が低下する場合があった。また、このような課題は、スペースシャトルのような飛翔体に限られず、誘導則を適用する移動体全般に共通するところである。
【0009】
本発明は、このような事情を考慮してなされたものであり、移動体のエネルギーの消費効率を向上させつつ、移動性能を向上させることができる誘導プログラム、誘導方法、及び誘導装置を提供することを目的の一つとする。
【課題を解決するための手段】
【0010】
本発明の一態様は、移動体に搭載されるコンピュータに、スイッチング関数理論に基づいて、前記移動体が推力を出力する方向の時間履歴を示す推力方向時間履歴と、前記移動体の推力の大きさを切り替えるタイミングを示すスイッチング時刻と、前記移動体を航行させる軌道の終端における時刻を示す終端時刻とを含む制御量を説明するパラメータの暫定的な初期値、または前記終端時刻における前記移動体の状態を示す終端状態を説明するパラメータの暫定的な初期値から、前記スイッチング時刻を導出させ、前記導出させたスイッチング時刻と前記初期値とに基づいて、前記推力方向時間履歴、前記終端時刻、および前記終端状態のうち一部または全部を予測させるための誘導プログラムである。
【発明の効果】
【0011】
本発明の一態様によれば、移動体のエネルギーの消費効率を向上させつつ、移動性能を向上させることができる。
【図面の簡単な説明】
【0012】
【
図2】実施形態の航法装置100の構成の一例を示す図である。
【
図3】天体PLの目標地点に移動体Mを着陸させる際の降下シーケンスを模式的に示す図である。
【
図4】実施形態に係る誘導演算部120の構成の一例を示す図である。
【
図5】実施形態に係る誘導演算部120によるTEGの一連の処理の流れの一例を示すフローチャートである。
【
図6】実施形態に係る誘導演算部120による終端状態量の計算処理の一連の処理の流れを示すフローチャートである。
【
図7】パターンAのスイッチング関数κ(t)の一例を示す図である。
【
図8】パターンAのスイッチング関数κ(t)に基づく推力の最適なスイッチングの一例を示す図である。
【
図9】パターンBのスイッチング関数κ(t)の一例を示す図である。
【
図10】パターンBのスイッチング関数κ(t)に基づく推力の最適なスイッチングの一例を示す図である。
【
図11】パターンCのスイッチング関数κ(t)の一例を示す図である。
【
図12】パターンCのスイッチング関数κ(t)に基づく推力の最適なスイッチングの一例を示す図である。
【
図13】パターンDのスイッチング関数κ(t)の一例を示す図である。
【
図14】パターンDのスイッチング関数κ(t)に基づく推力の最適なスイッチングの一例を示す図である。
【
図15】パターンEのスイッチング関数κ(t)の一例を示す図である。
【
図16】パターンEのスイッチング関数κ(t)に基づく推力の最適なスイッチングの一例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面を参照し、本発明の誘導プログラム、誘導方法、及び誘導装置の実施形態について説明する。本実施形態における誘導装置は、移動体に搭載されたコンピュータが誘導プログラムを実行することで各種処理を行う装置である。
【0014】
図1は、実施形態の移動体Mの一例を示す図である。移動体Mは、例えば、月や惑星などの重力天体(以下、単に天体PLと称する)に着陸し、その天体PLの探査を行うような宇宙機(宇宙探査機)であってよい。宇宙機である移動体Mには、誘導装置を利用した航法装置100が搭載される。また、宇宙機である移動体Mには、航法装置100に加えて、カメラ10と、慣性計測装置(Inertial Measurement Unit;IMU)20と、レーダ30と、推進力出力装置40とが搭載される。
【0015】
カメラ10は、例えば、移動体Mの下側に設けられ、天体PLに移動体Mが着陸する際に、天体PLの地表を撮像する。「下側」とは、例えば、天体PLの地表と接する脚が設けられた筐体側である。言い換えれば、カメラ10は、天体PLの重力が移動体Mに作用する方向(鉛直方向下向き)側に設けられる。カメラ10は、撮像した画像を航法装置100に出力する。
【0016】
慣性計測装置20は、例えば、三軸式加速度センサと、三軸式ジャイロセンサとを含む。慣性計測装置20は、これらのセンサによって検出された検出値を航法装置100に出力する。慣性計測装置20による検出値には、例えば、水平方向、垂直方向、奥行き方向の各加速度及び/又は角速度や、ピッチ、ロール、ヨーの各軸の速度(レート)などが含まれる。
【0017】
レーダ30は、例えば、移動体Mの下側に設けられ、天体PLに移動体Mが着陸する際に、天体PLの地表に電波を照射し、照射した電波の反射波を受信する。レーダ30による検出値には、例えば、地表に対する相対的な移動体Mの高度や速度などが含まれる。レーダ30は、例えば、ドップラーレーダである。
【0018】
推進力出力装置40は、例えば、リアクションホイールやコントロールモーメントジャイロ、軌道制御用および姿勢制御用のスラスタ(例えば化学燃料を使用したスラスタ)、推力偏向装置(Thrust Vector Controller;TVC)などを含む。例えば、推進力出力装置40は、リアクションホイールやコントロールモーメントジャイロなどのアクチュエータを駆動させることで地表に対する機体の向きを変化させることによって、あるいはTVCによってスラスタ噴射方向を機体に対して変化させることによってスラスタが発生させた推力(推進力)の出力方向を、任意の方向に変更する。
【0019】
航法装置100は、誘導プログラムを実行することで、例えば、宇宙機である移動体Mを、カメラ10によって撮像された画像と、慣性計測装置20の検出結果と、レーダ30の検出結果とを利用して航行させる。以下、カメラ10によって撮像された画像を利用した航法を「画像航法」と称し、慣性計測装置20の検出結果を利用した航法を「慣性航法」と称し、レーダ30の検出結果を利用した航法を「レーダ航法」と称して説明する。なお、移動体Mは、宇宙機に限られず、地球上において飛行するUAV(Unmanned Aerial Vehicle)といった他の移動体であってもよい。以下、一例として、移動体Mが宇宙機であるものとして説明する。
【0020】
図2は、実施形態の航法装置100の構成の一例を示す図である。航法装置100は、例えば、通信部102と、制御部110と、記憶部130とを備える。
【0021】
通信部102は、例えば、テレメータ回線などで利用されるような周波数帯の電波を用いて地球上の監視装置と無線通信する。地球上の監視装置は、例えば、通信部102を介して航法装置100を遠隔制御(遠隔誘導)することで、天体PLの目標位置に移動体Mの位置を制御することもできる。
【0022】
制御部110は、例えば、取得部112と、画像航法演算部114と、慣性航法演算部116と、レーダ航法演算部118と、誘導演算部120と、制御演算部122とを備える。
【0023】
制御部110の構成要素は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのプロセッサが記憶部130に格納された誘導プログラムを実行することにより実現される。また、制御部110の構成要素のうち一部または全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。また、プロセッサにより参照される誘導プログラムは、予め記憶部130に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体に格納されており、その記憶媒体が航法装置100のドライブ装置に装着されることで記憶媒体から記憶部130にインストールされてもよい。
【0024】
記憶部130は、例えば、HDD(Hard Disc Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)などの記憶装置により実現される。記憶部130には、ファームウェアやアプリケーションプログラム(誘導プログラムを含む)などの各種プログラムのほかに、地形データ132や参照軌道情報134、スイッチングパターン情報136などが格納される。
【0025】
地形データ132は、例えば、移動体Mに着陸させる天体PLの地表面の三次元形状がモデル化されたデータである。天体PLの地表面の三次元形状を示すモデルには、天体PLの地表面に凹凸を形成するクレータや岩などの視覚的に目立つ特徴(特徴点)が含まれる。
【0026】
参照軌道情報134は、参照軌道(ノミナル軌道)を定義した情報である。参照軌道とは、移動体Mを天体PLに誘導する際に、移動体Mがとるべき位置、速度、姿勢などの状態量や、推力を出力する方向(推力方向)、推力を出力するタイミングを示す時刻(推力スイッチング時刻)などの制御量を、例えば、ある時間間隔ごとまたは距離間隔ごとに指定した情報、あるいは解析的に状態量や制御量を表現する数式及び参照軌道を表現するパラメータ値のセットである。
【0027】
スイッチングパターン情報136は、後述する複数のスイッチング関数のパターンを定義した情報である。
【0028】
取得部112は、カメラ10から画像を取得したり、慣性計測装置20から加速度や速度といった検出値を取得したり、レーダ30から天体PLの地表までの距離といった検出値を取得したりする。また、取得部112は、通信部102を介して、地上の監視装置から参照軌道情報134を取得し、これを記憶部130に記憶させることで、記憶部130に格納された参照軌道情報134を更新することができる。
【0029】
画像航法演算部114は、取得部112がカメラ10から取得した画像と、記憶部130に格納された地形データ132とを照合(比較)して、移動体Mの状態量を導出する。例えば、画像航法演算部114は、カメラ10の画像に対して画像処理を行って、岩やクレータなどの特徴点を抽出し、抽出した特徴点と、地形データ132が示す三次元モデルに含まれる特徴点とのパターンマッチングによって、天体PLに対する移動体Mの3次元的な位置を、状態量として導出する。
【0030】
慣性航法演算部116は、例えば、地上の監視装置からの開始信号を受け取った後、あるいは記憶部130にプリセットされた開始時刻に基づいて、慣性計測装置20の検出結果を利用した慣性航法を開始し、移動体Mの状態を定量的に示す状態量を導出する。「状態量」には、例えば、位置、速度、機体座標系から慣性座標系へのクォータニオンなどが含まれる。機体座標系は、例えば、移動体Mの重心を座標の原点とし、移動体Mに固定された座標系である。慣性座標系は、例えば、宇宙空間や天体に固定された座標系である。また、「状態量」には、慣性計測装置20によって検出された加速度や角速度に対するセンサバイアス値が含まれていてもよい。
【0031】
レーダ航法演算部118は、例えば、天体PLの地表面を基準とした移動体Mの高度が所定高度以下となった場合、レーダ30の検出結果を利用したレーダ航法によって、移動体Mの状態を定量的に示す状態量を導出する。この状態量には、例えば、天体PLの地表面からの距離、すなわち、天体PLに対する移動体Mの相対的な位置や、相対的な速度などが含まれる。
【0032】
一般的に、地球上の監視装置との無線通信によって遠隔制御する場合、地球と天体PLとの距離のオーダーが億キロメートル以上である場合があり、電波の往復伝搬時間に換算して数十分以上掛かる場合がある。そのため、天体PLの地表面に対する移動体Mの高度を低下させ、移動体Mを天体PLに着陸させていく際、地上からの指令に基づく遠隔制御では対応しきれないことがある。従って、制御部110は、自律航法を行うために、カメラ10の画像を利用した画像航法や、慣性計測装置20の検出値を利用した慣性航法、レーダ30の検出値を利用したレーダ航法等を複合的に利用することで、移動体Mの状態量を導出する。
【0033】
誘導演算部120は、エクスプリシット誘導方式(エクスプリシット誘導則ともいう)を用いて、天体PLの地表面の目標地点(例えば、科学的関心の強い地点や、居住に優れた地点)に到達するための移動体Mの軌道を予測する。具体的には、誘導演算部120は、現在の移動体Mの状態量(以下、初期状態量と称する)から、軌道終端における移動体Mの状態量(以下、終端状態量と称する)を、消費燃料最小で飛行する条件を満たす解を逐次的に(オンラインで)探索することで導出する。軌道終端とは、例えば、天体PLの目標地点から数キロメートル上空の位置であってもよいし、天体PLの目標地点そのものであってもよく、任意に与えることができる。以下、一例として、軌道終端が、天体PLの目標地点の上空であるものとして説明する。
【0034】
制御演算部122は、画像航法演算部114によって導出された状態量と誘導演算部120によって予測された軌道(状態量)との差分量等に基づいて推進力出力装置40を制御することで、移動体Mの位置、速度、加速度、姿勢などの状態を制御する画像航法を行う。また、制御演算部122は、慣性航法演算部116によって導出された状態量と誘導演算部120によって予測された軌道(状態量)との差分量等に基づいて推進力出力装置40を制御することで、移動体Mの位置、速度、姿勢などの状態を制御する慣性航法を行う。また、制御演算部122は、レーダ航法演算部118によって導出された状態量と誘導演算部120によって予測された軌道(状態量)との差分量等に基づいて推進力出力装置40を制御することで、移動体Mの位置、速度、姿勢などの状態を制御するレーダ航法を行う。これによって、制御演算部122は、移動体Mを、天体PLの目標地点にピンポイントで着陸させる。
【0035】
図3は、天体PLの目標地点に移動体Mを着陸させる際の降下シーケンスを模式的に示す図である。降下シーケンスには、例えば、PD(Powered Descent)フェーズとVD(Vertical Descent)フェーズとが含まれる。PDフェーズでは、カメラ10を使用した画像マッチングによる画像航法と慣性航法とを複合的に組み合わせて移動体Mを降下させる。PDフェーズ下において、制御演算部122は、画像マッチング時にスロットルを一時的に遮断し、推力の出力を停止してもよい。VDフェーズでは、カメラ10を使用した画像マッチングによる画像航法と、慣性計測装置20の検出値を利用した慣性航法と、レーダ30の検出値を利用したレーダ航法とを複合的に組み合わせて行い、PDフェーズにおいて生じた鉛直方向の位置誤差を小さくしつつ、移動体Mを天体PLの目標地点に垂直降下させる。
【0036】
例えば、地点P1から地点P2の第1区間と、地点P2から地点P3の第2区間と、地点P3から地点P4の第3区間では、PDフェーズに従って画像航法が行われる。地点P4において移動体Mの高度が所定高度以下となった場合、VDフェーズに従って画像航法、慣性航法、およびレーダ航法が行われる。
【0037】
PDフェーズの第1区間から第3区間のうち、特に第3区間では、VDフェーズにスムーズに移行するため、短時間(例えば百秒程度)で、数キロメートルの位置誤差を修正する必要がある。そのため、本実施形態において誘導演算部120は、エクスプリシット誘導方式の一種であるTEG(Throttled Explicit Guidance)を用いて、VDフェーズ移行前の移動体Mの状態量、すなわち終端状態量を導出する。
【0038】
TEGとは、推力を調整するスロットルの制御タイミングの最適解を陽(明示的)に求めることができ、その最適解に基づいて推力の出力タイミングを切り替えることで燃料の最適化を行うことが可能なエクスプリシット誘導方式である。TEGには、後述する7つの未知数を初期化する初期化プロセスと、終端状態誤差が小さくなるように(例えばゼロに近づくように)7つの未知数を収束させる予測・補正プロセスとが含まれる。
【0039】
図4は、実施形態に係る誘導演算部120の構成の一例を示す図である。誘導演算部120は、例えば、初期化部120Aと、導出部120Bと、補正部120Cと、予測部120Dとを備える。以下、これらの構成要素のTEGの処理についてフローチャートを用いて詳細に説明する。
【0040】
図5は、実施形態に係る誘導演算部120によるTEGの一連の処理の流れの一例を示すフローチャートである。本フローチャートの処理は、所定の周期で繰り返し行われてよいし、任意のタイミングで実行処理されてもよい。
【0041】
[初期化プロセス]
まず、初期化部120Aは、制御量または終端状態を説明する未知のパラメータ(以下、未知数と称する)の暫定的な初期値を設定するとともに、そのパラメータから求めることが可能な終端状態量と目標終端状態量との誤差(以下、終端状態誤差と称する)を計算する(ステップS100)。数式(1)は未知数の初期値(以下、初期未知数と称する)を表し、数式(2)は、終端状態誤差を表し、数式(3)は、初期化した終端状態誤差を表している。後述するように、終端状態誤差は、多次元ベクトル間の距離、すなわちユークリッドノルムによって表される。以下、アルファベットに(→)を付けたものは、ベクトルを表すものとする。また、文字の右上に記載される“T”の記号は、ベクトルまたは行列の転置を意味する。
【0042】
【0043】
【0044】
【0045】
初期未知数u0(→)は、移動体Mの位置の随伴変数に関する定数νR(→)と、その移動体Mの速度の随伴変数に関する定数νV(→)と、軌道終端における時刻(以下、終端時刻と称する)tfとを含む多次元ベクトルによって表される。定数νR(→)およびνV(→)は、それぞれ3次元ベクトルによって表される。すなわち、初期未知数u0(→)は、7つの未知数を要素として含む7次元のベクトルである。
【0046】
例えば、初期化部120Aは、初期未知数u0(→)を予め決められた数値(例えば参照軌道を表現する値)に置き換えることで初期化し、終端状態誤差h(u0(→))(→)を計算する。すなわち、初期化部120Aは、7つの未知数(3次元の定数νR(→)と、3次元の定数νV(→)と、1次元の終端時刻tf)の値を暫定的な値(いわゆるプリセット値)として、終端状態誤差h(u0(→))(→)を算出する。あるいは、初期化部120Aは、当TEGの実行が2回目以降である場合、初期化として、初期状態量u0(→)を前回のTEG実行時の最終的な解uk(→)とし、終端状態誤差h(u0(→))(→)を計算してもよい。このように初期未知数u0(→)および終端状態誤差h(u0(→))(→)は、必ずしも最適値である保証はなく、最適値かどうか確かでない任意の値となる。初期化した7つの未知数、すなわち初期未知数u0(→)は、「パラメータの暫定的な初期値」の一例である。
【0047】
数式(2)におけるwR(→)、wV(→)、およびwHは、それぞれ位置、速度、およびハミルトニアンの終端状態誤差の重み係数を表している。終端状態誤差h(u(→))(→)は、終端時刻tfにおける目標位置ベクトルRf(→)と、未知数u(→)およびスイッチング時刻(t1およびt2)を説明変数とした終端時刻tfにおける位置ベクトルR(tf)(→)との差に、重み係数ベクトルwR(→)を掛けたものと、終端時刻tfにおける目標速度ベクトルVf(→)と、未知数u(→)およびスイッチング時刻(t1およびt2)を説明変数とした終端時刻tfにおける速度ベクトルV(tf)(→)との差に、重み係数ベクトルwV(→)を掛けたものと、終端時刻のハミルトニアンに重み係数wHをかけたもの、の合計7次元ベクトルとして定義される。
【0048】
終端状態誤差h(u(→))(→)は、上述した定数νR
T(→)及びνV
T(→)と、終端時刻tfと、後述するスイッチング時刻t1およびt2の関数である。しかしながら、後述するステップS200の処理を行うことで、スイッチング時刻t1およびt2は未知数u(→)の関数と見なすことができる。したがって、S200を用いて終端状態誤差h(u(→))(→)を計算するとき、終端状態誤差h(u(→))(→)は定数νR
T(→)とνV
T(→)と終端時刻tfの関数、つまりu(→)の関数と見なすこともできる。
【0049】
また、未知数u(→)によって説明される制御量が消費燃料最小解であるための必要条件として、ハミルトニアンH(t)が時刻tに沿ってゼロでなければいけないことが知られている。従って、終端時刻tfにおけるハミルトニアンの目標値もゼロであり、数式(2)のハミルトニアンに関する部分は、目標値がゼロであることを考慮した表現となっている。
【0050】
次に、初期化部120Aは、終端状態誤差h(u0(→))(→)が終了条件を満たすか否かを判定する(ステップS102)。終了条件とは、終端状態誤差h(u0(→))(→)が十分に小さいことであり、例えば、ある閾値εh(例えばゼロより大きくかつゼロに十分近い値)未満であることである。
【0051】
終端状態誤差h(u0(→))(→)が終了条件を満たす場合、本フローチャートの処理が終了する。終端状態誤差h(u0(→))(→)が終了条件を満たさない場合、後述の予測・補正プロセスの反復に移行する。
【0052】
[予測・補正プロセス]
導出部120Bは、終端状態誤差h(uk(→))(→)が終了条件を満たさない場合、当反復処理kにおける、uk(→)に対する終端状態誤差h(uk(→))(→)の感度行列Skを導出し、終端状態誤差h(uk(→))(→)を減らすために、修正すべきuk(→)の最良の方向を探索する(ステップS104)。数式(4)は、感度行列Skを表している。終端状態誤差h(uk(→))(→)の予測(導出)方法については、別途サブフローチャートを用いて説明する。
【0053】
【0054】
感度行列Sk(→)は、ヤコビアン行列によって表される。uk(→)は、k回目の反復処理における7つの未知数を表している。例えば、導出部120Bは、数式(5)に示す線形方程式を解くことで、終端状態誤差h(uk(→))(→)を減らすために、修正すべきuk(→)の最良の方向を探索する。
【0055】
【0056】
例えば、導出部120Bは、数式(5)に示す線形方程式を解く際の数値的な安定性を確保するために、7つの未知数と探索方向を正規化する。数式(6)の左辺は、正規化された7つの未知数を表し、数式(7)の左辺は、正規化された探索方向を表している。
【0057】
【0058】
【0059】
数式(6)におけるuk,iおよび数式(7)におけるdiは、それぞれuk(→)とdk(→)のi番目の要素を表している。同様に、ui
*とdi
*は正規化されたベクトルのi番目の要素を表している。また、u^iは、正規化に用いる定数ベクトルu^(→)のi番目の要素を表している。ここで引数iは、1,2,…,7である。正規化された未知数を使用することにより、正規化された感度行列Sk
*は、数式(8)および(9)のように表すことができる。
【0060】
【0061】
【0062】
まず、導出部120Bは、数式(8)に従って、終端状態誤差h(uk(→))(→)を、正規化された終端状態量u*で偏微分することで、正規化された感度行列Sk
*を計算する。次に、導出部120Bは、一次方程式である数式(9)を解くことで、正規化した探索方向dk,i
*を算出する。そして、導出部120Bは、上述した数式(7)に従って、正規化していない探索方向dk,iを算出する。
【0063】
具体的には、導出部120Bは、正規化された感度行列Sk,i
*の各i番目の列を、数式(10)に基づいて計算する。
【0064】
【0065】
数式(10)におけるεuは、十分に小さいスカラ値であり、δui(→)は、十分に小さい偏差ベクトルである。偏差ベクトルδui(→)に含まれるそれぞれの要素δui,jは、数式(11)によって定義される。引数jは、1,2,…,7である。
【0066】
【0067】
導出部120Bによって数式(10)が計算されるまえに、予測部120Dは、後述するスイッチング時刻t1およびt2を、(uk(→)+δui(→))と、uk(→)のそれぞれについて算出しておき、その後で、h(uk(→)+δui(→))(→)と、h(uk(→))(→)とを算出する。スイッチング時刻t1およびt2の算出方法については後述する。
【0068】
次に、補正部120Cは、(k+1)回目の処理のために、k回目の反復処理における終端状態量uk(→)に含まれる7つの未知数を、導出部120Bによって算出された探索方向dk(→)を基に補正し、補正した終端状態量uk(→)を、(k+1)回目の反復処理における終端状態量uk+1(→)に更新する(ステップS106)。数式(12)は、状態量の更新式を表している。
【0069】
【0070】
数式(12)におけるαkは、k回目の反復処理におけるスケーリング係数を表している。スケーリング係数αkは、0<αk≦1の値をとる。終端状態量ukが最適解に十分に近いとき、αk=1であることが知られている。補正部120Cは、例えば、数式(13)に示すように、減衰ニュートン法の要領で、終端状態誤差のユークリッドノルムが減少するようにスケーリング係数αkを決定する。減衰ニュートン法は、連立非線形方程式を解くための一般的な方法であり、大域的に収束した解を見つけることができる。スケーリング係数αkと、探索方向dkとの積は、「補正量」の一例である。
【0071】
【0072】
例えば、補正部120Cは、減衰ニュートン法において、αk,0=1から計算を開始して、数式(14)が満たされるまで、αk,0の値を小さくする。数式(14)におけるρは、0<ρ<1の値をとるスカラ値である。これによって、終端状態誤差のユークリッドノルムが減少するようなスケーリング係数αkをより高速に求めることができる。
【0073】
【0074】
補正部120Cは、数式(15)に示す関係を満たす場合、スケーリング係数αkの更新を終了する。数式(15)の終了条件は、算出された探索方向dkが終端状態誤差を減少させるための良い方向ではない場合に特に有効である。
【0075】
【0076】
補正部120Cは、スケーリング係数αkを使用して、状態量の更新式である数式(12)の終端状態量uk+1(→)を更新し、状態量の更新処理を終了する。
【0077】
次に、補正部120Cは、終端状態誤差h(uk+1(→))(→)が終了条件を満たすか否か、或いは、反復回数k+1が終了条件を満たすか否かを判定する(ステップS108)。
【0078】
例えば、補正部120Cは、終端状態誤差h(uk+1(→))(→)のユークリッドノルムが閾値εh未満である場合、制御演算部122に対して、更新した未知数uk+1(→)を出力し、本フローチャートの処理を終了する。また、補正部120Cは、反復回数k+1が所定回数kmaxを超えた場合、制御演算部122に対して、更新した未知数uk+1(→)を出力し、本フローチャートの処理を終了してもよい。
【0079】
一方、補正部120Cは、終端状態誤差h(uk+1(→))(→)のユークリッドノルムが閾値εh以上である場合、或いは、反復回数k+1が所定回数kmax以下である場合、S104に処理を戻し、探索方向の算出処理と、終端状態量の更新処理とを繰り返す。
【0080】
[終端状態量の計算プロセス]
以下、誘導演算部120による終端状態量の計算処理の一連の処理の流れについてフローチャートを用いて説明する。
図6は、実施形態に係る誘導演算部120による終端状態量の計算処理の一連の処理の流れを示すフローチャートである。
【0081】
まず、導出部120Bは、初期状態量u0(→)が初期化されると、スイッチング関数理論に基づいて、初期時刻0から終端時刻tfまでの間に、移動体Mが推力を出力すべきタイミングを表すスイッチング時刻を導出する(ステップS200)。第2スイッチング時刻t2は、第1スイッチング時刻t1よりも将来の時刻を表している。
【0082】
例えば、導出部120Bは、数式(16)および(17)と、後述するスイッチング関数κ(t)とに基づいて、一時的な第1スイッチング時刻t1
*と、一時的な第2スイッチング時刻t2
*とを導出する。
【0083】
【0084】
【0085】
例えば、導出部120Bは、時刻t1
*が0未満である場合、第1スイッチング時刻t1を0とし、時刻t1
*が0以上、且つ最終時刻tf以下である場合、第1スイッチング時刻t1をt1
*とし、時刻t1
*が最終時刻tfを超える場合、第1スイッチング時刻t1をtfとする。同様に、導出部120Bは、時刻t2
*が0未満である場合、第2スイッチング時刻t2を0とし、時刻t2
*が0以上、且つ最終時刻tf以下である場合、第2スイッチング時刻t2をt2
*とし、時刻t2
*が最終時刻tfを超える場合、第2スイッチング時刻t2をtfとする。
【0086】
[推力加速度の上限および下限を一定とした条件]
スイッチング関数κ(t)は、推力加速度の上限および下限を一定とした場合、数式(18)によって表される。
【0087】
【0088】
数式(18)におけるνR(→)は、上述したように移動体Mの位置の随伴変数に関する定数を表し、νV(→)は、移動体Mの速度の随伴変数に関する定数を表している。また、tgoは、終端時刻tfから現時刻tを減算した時間(以下、残フライト時間と称する)を表している。すなわち、残フライト時間tgoは、以下の数式(19)に示す通りである。
【0089】
【0090】
数式(18)に示すスイッチング関数κ(t)の値をゼロとしたときの方程式は、時刻tに関する2次方程式となっている。スイッチング関数κ(t)の形状によって、A、B、C、D、Eの5つのパターンが存在する。これらの各パターンは、スイッチングパターン情報136として記憶部130に格納される。
【0091】
例えば、導出部120Bは、κ(t)=0という2次方程式を解き、その方程式の解を時刻t1
*およびt2
*として導出する。2次方程式の解は重解であってもよい。例えば、導出部120Bは、2次方程式の解がない場合、t1
*=t2
*を満たす値を返せばよく、例えば、数式(20)のようにκ(t)の軸を返すと好適である。スイッチング関数κ(t)が0となる2次方程式を解くことには、例えば、上記のように、解がある場合にスイッチング時刻を目的変数として導出することに加えて、更に、解がない場合であってもスイッチング時刻を目的変数として導出することが含まれる。
【0092】
【0093】
図7は、パターンAのスイッチング関数κ(t)の一例を示す図であり、
図8は、パターンAのスイッチング関数κ(t)に基づく推力の最適なスイッチングの一例を示す図である。
図9は、パターンBのスイッチング関数κ(t)の一例を示す図であり、
図10は、パターンBのスイッチング関数κ(t)に基づく推力の最適なスイッチングの一例を示す図である。
図11は、パターンCのスイッチング関数κ(t)の一例を示す図であり、
図12は、パターンCのスイッチング関数κ(t)に基づく推力の最適なスイッチングの一例を示す図である。
図13は、パターンDのスイッチング関数κ(t)の一例を示す図であり、
図14は、パターンDのスイッチング関数κ(t)に基づく推力の最適なスイッチングの一例を示す図である。
図15は、パターンEのスイッチング関数κ(t)の一例を示す図であり、
図16は、パターンEのスイッチング関数κ(t)に基づく推力の最適なスイッチングの一例を示す図である。いずれのパターンのスイッチング関数κ(t)は、下に凸の関数である。例えば、導出部120Bは、上記のスイッチング関数κ(t)から導出される推力の出力タイミングを示すスイッチング時刻を、目的変数として導出する。
【0094】
例えば、パターンEのスイッチング関数κ(t)である場合、t1
*≠t2
*となり、第1スイッチング時刻t1および第2スイッチング時刻t2が互いに異なる時刻となる。この場合、推力は、時刻0から最大推力または最大推力加速度で飛行し、時刻t1において最小推力または最小推力加速度に切り替わり、その後時刻t2のタイミングで最大推力または最大推力加速度となる。
【0095】
[推力の上限および下限を一定とした条件]
また、スイッチング関数κ(t)は、推力加速度の上限および下限を一定とした条件以外でも定義できる。例えば、スイッチング関数κ(t)は、推力の上限および下限を一定とした関数によって表されてもよい。数式(21)は、推力加速度の上限および下限を一定とした場合のスイッチング関数κ(t)を表している。
【0096】
【0097】
式中のcは、スラスタ(エンジン)の有効排気速度を表し、M(t)は、時刻tにおける移動体Mの質量を表し、λM(t)は、質量の随伴変数を表している。数式(21)に示すスイッチング関数κ(t)は、時間微分することにより、その変曲点の数は最大1つであることがわかる。そのため、tに関する方程式κ(t)=0の解は、最大でも2つである。しかしながら、数式(21)に示すスイッチング関数κ(t)は、数式(18)に示すスイッチング関数κ(t)と異なり、方程式κ(t)=0が時刻tに関する2次方程式となっていない。
【0098】
そこで、導出部120Bは、M(t)λM(t)=K(定数)と近似することで、κ(t)=0を2次方程式の根の求解問題として扱う。導出部120Bは、tについて方程式κ(t)=0を解き、その方程式の解を時刻t1
*およびt2
*として導出する。2次方程式の解は重解であってもよい。例えば、導出部120Bは、2次方程式の解がない場合、t1
*=t2
*を満たす値を返せばよく、例えば、上述した数式(20)のようにκ(t)の軸を返すと好適である。スイッチング関数κ(t)が0となる2次方程式を解くことには、例えば、上記のように、解がある場合にスイッチング時刻を目的変数として導出することに加えて、更に、解がない場合であってもスイッチング時刻を目的変数として導出することが含まれる。
【0099】
定数Kの値は、λM(tf)=1であることが知られており、例えば、これを利用して、K=M(tf)λM(tf)=M(tf)のように、ノミナル軌道の終端質量を目安に決定してよいし、ノミナル終端質量以外の値に調整することも可能である。
【0100】
予測部120Dは、導出部120Bによって第1スイッチング時刻t1および第2スイッチング時刻t2が導出されると、それら時刻t1、t2と、7つの未知数を含む未知数uk(→)とに基づいて、終端状態誤差h(uk(→))(→)を予測する(ステップS202)。
【0101】
[推力加速度の上限および下限を一定とした条件]
数式(22)および(23)は、推力加速度の上限および下限を一定とした条件下において、位置速度に関する終端状態を予測するための予測式を表している。
【0102】
【0103】
【0104】
式中のV(tf)(→)は、終端時刻tfにおける移動体Mの速度の状態量を表し、R(tf)は、終端時刻tfにおける移動体Mの位置の状態量を表している。V(tf)(→)およびR(tf)(→)は、それぞれ3次元ベクトルによって表される。そのため、終端状態量は、3次元の速度の状態量と、3次元の位置の状態量と、1次元のハミルトニアンを含む7次元のベクトルによって表される。また、gm(→)は重力ベクトルを表し、l(t)(→)は推力方向単位ベクトルを表す。また、amaxは最大加速度を表す。推力方向単位ベクトルl(t)(→)を時系列に集めたものは、「推力方向時間履歴」の一例である。
【0105】
上記のV(tf)(→)およびR(tf)(→)は、数式(24)から(27)に従うものとする。
【0106】
【0107】
【0108】
【0109】
【0110】
なお、R0(→)は初期の位置ベクトルを表し、V0(→)は初期の速度ベクトルを表す。またaminは、最小加速度を表す。
【0111】
推力方向単位ベクトルl(t)(→)は、最適制御理論から導かれる最適解である、双線形タンジェント則に従う。すなわち、推力方向単位ベクトルl(t)(→)は、以下の数式(28)に示す通りである。
【0112】
【0113】
数式(28)から分かるように、未知数νR(→)、νV(→)、tfを与えると、任意の時刻tに対して推力方向単位ベクトルl(t)(→)が定まる。
【0114】
数式(22)から数式(27)にあらわれる、推力方向単位ベクトルl(t)(→)に関する積分項は、解析的に計算してもよいし、数値的に計算してもよい。
【0115】
数式(29)は、推力加速度の上限および下限を一定とした条件下において、ハミルトニアンに関する終端状態を予測するための予測式を表している。
【0116】
【0117】
ただし、a(tf)は、終端時刻tfにおける推力加速度であり、終端時刻tfにおけるスイッチング関数の符号によりaminもしくはamaxのどちらかに決定される。
【0118】
[推力の上限および下限を一定とした条件]
数式(30)および(31)は、推力加速度の上限および下限を一定とした条件下において、終端状態量を予測するための予測式を表している。
【0119】
【0120】
【0121】
ただしTmaxは、最大推力である。また上記のV(tf)(→)およびR(tf)(→)は、数式(32)から(35)に従うものとする。
【0122】
【0123】
【0124】
【0125】
【0126】
ただしTminは、最小推力である。推力方向単位ベクトルl(t)(→)および移動体Mの質量M(t)に関する積分項は、解析的に計算してもよいし、数値的に計算してもよい。
【0127】
数式(36)は、推力の上限および下限を一定とした条件下において、ハミルトニアンに関する終端状態を予測するための予測式を表している。
【0128】
【0129】
ただし、m(tf)(・)は、終端時刻tfにおける、単位時間あたりの燃料消費量である。なお、時刻tにおける単位時間あたりの燃料消費量m(t)(・)と推力T(t)の間には、有効排気速度cを用いて数式(37)に示す関係がある。
【0130】
【0131】
終端時刻tfにおける燃料消費量m(tf)(・)は、終端時刻tfにおけるスイッチング関数の符号により、推力下限もしくは上限に相当する単位時間あたりの燃料消費量mmin(・)またはmmax(・)のどちらかに決定される。
【0132】
以上説明した実施形態によれば、移動体Mに搭載される航法装置100が、スイッチング関数理論に基づいて、初期化した初期未知数u0(→)から、第1スイッチング時刻t1と第2スイッチング時刻t2を求めたうえで、更に、その第1スイッチング時刻t1および第2スイッチング時刻t2と初期未知数u0(→)の関数と見做して終端状態量誤差h(u0(→))(→)を予測する。終端状態誤差h(u0(→))(→)が終了条件を満たす場合、誘導処理が終了する。満たさない場合、予測・補正プロセスの反復に移行する。
【0133】
航法装置100は、k回目の反復処理における終端状態誤差h(uk(→))(→)を予測し、その終端状態誤差h(uk(→))(→)の感度行列Skを導出し、終端状態誤差h(uk(→))(→)を減らすために修正すべきuk(→)の最良の方向dk,iを探索する。
【0134】
航法装置100は、k回目の反復処理における未知数uk(→)を探索方向dk,iを基に補正し、補正された未知数を、(k+1)回目の反復処理における終端状態量uk+1(→)として更新する。
【0135】
航法装置100は、数式(15)に示す関係が満たされるまでスケーリング係数αkの更新を繰り返し、数式(15)に示す関係が満たされるとスケーリング係数αkの更新を終了する。航法装置100は、更新したスケーリング係数αkを使用して、終端状態量uk+1(→)を更新する。
【0136】
そして、航法装置100は、更新した未知数uk+1(→)が終了条件を満たす場合、その未知数uk+1(→)から導出される、スイッチング時刻t1、t2、推力方向l(t)(→)、終端時刻tfなどの制御量と、位置、速度、姿勢などの状態量とに基づいて、推進力出力装置40を制御することで、目標とする軌道終端に移動体Mを精度よく移動させることができる。この結果、移動体Mのエネルギーの消費効率を向上させつつ、移動性能を向上させることができる。
【0137】
例えば、着陸重量200kg程度の着陸機を仮定した場合、上述したVDフェーズのように、天体PLへの降下終盤フェーズでは、およそ20kg程度の燃料を消費する場合がある。TEGを利用した場合、20kgの燃料のうち、約3.6%程度の燃料の消費効率が向上する。すなわち、0.72kg程度の燃料を節約することができる。着陸重量200kgの着陸機に搭載可能なペイロードの重量は数kg程度以下であることが典型的であり、0.72kgは、1、2割程度であることから、積載重量を増やすという点においても非常に効果的である。
【0138】
[変形例]
以下、上述した実施形態の変形例について説明する。上述した実施形態では、移動体Mが宇宙機であり、その移動体Mに搭載されるセンサが、カメラ10や慣性計測装置20、レーダ30であるものとして説明したがこれに限られない。例えば、移動体Mが上述したUAVである場合、その移動体Mに搭載されるセンサには、カメラ10やレーダ30に代えて、あるいは加えて、LIDAR(Laser(Light) Imaging Detection and Ranging)が含まれてよい。
【0139】
また、位置および速度に関する終端状態量の拘束の一部を外してもよい。例えば、2点間の軌道が物理的に困難なために条件緩和した軌道を生成したい場合がある。この場合、一部の終端状態量の拘束が必ずしも必要でない場合(例えば、円軌道投入はダウンレンジの拘束が必要なくなる)、終端状態量の拘束の一部を外してよい。また、終端状態量の拘束を外す場合、除外する終端状態量に付随する随伴変数に関する定数ν(未知数)をゼロとしたうえで、該当する未知数と条件式を非線形連立方程式から外してよい。
【0140】
また、上述した実施形態では、推力加速度または推力の上下限を一定としたがこれに限られない。例えば、推力加速度または推力の上下限値を、「制約」ではなく「目標」としてTEGを行ってもよい。これにより、例えば、制約として扱うと物理的に軌道生成が不可能な場合でも、推力(加速度)の上下限制約を緩和することで物理的に成立する軌道を生成する、といったより実用的な誘導ができるようになる。
【0141】
終端状態誤差h(u(→))(→)の連立非線形方程式を解くのを「制約」として扱う場合、h(u(→))(→)=0の制約条件のもと、f=ρmin(Tmin-Tmin,t)2+ρmax(Tmax-Tmax,t)2を最小化(推力の上下限制約の場合)、または、f=ρmin(amin-amin,t)2+ρmax(amax-amax,t)2を最小化(推力加速度の上下限制約の場合)するのが「目標」として扱ってよく、これを非線形計画問題として求解する。ρは重みパラメータ、Ttは推力の、atは推力加速度の目標値である。
【0142】
この際、「制約」から「目標」に扱いを変えるときの変更箇所は、推力(加速度)の上下限値に関するパラメータ(2つ)を未知数に追加したうえで、TEGの処理フローにおいて、例えば「非線形連立方程式の解法(例えば減衰ニュートン法)」を「等式制約つき最適化問題の解法(例えばラグランジュの未定乗数法)」に置き換える点である。
【0143】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0144】
10…カメラ、20…慣性計測装置、30…レーダ、40…推進力出力装置、100…航法装置、102…通信部、110…制御部、112…取得部、114…画像航法演算部、116…慣性航法演算部、118…レーダ航法演算部、120…誘導演算部、120A
…初期化部、120B…導出部、120C…補正部、120D…予測部、122…制御演算部、130…記憶部、M…移動体