(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
従来、航空機の飛行経路などの種々の経路を探索する手法として、A*アルゴリズム(A-Star algorithm)が広く用いられている。
A*アルゴリズムは、下式で表されるコストf*(n)が最小となるノードをスタートノードから順次探索して最適経路を求める探索アルゴリズムである。
f*(n)=g*(n)+h*(n)
ここで、g*(n)はスタートノードから現在探索中のノードnまでの最小コスト推定値であり、h*(n)はノードnからゴールノードまでの最小コスト推定値である。
【0003】
このアルゴリズムでは、g*(n)に関しては探索の過程で更新を加えることにより実際の最小コスト値g(n)に近づけることができる(「推定」は、探索中のノードにおける「暫定値」の意味)。
【0004】
一方で、h*(n)は純粋な推定値であり、A*アルゴリズムでは、このh*(n)がノードnからゴールノードまでの実際の最小コスト値h(n)よりも小さくなる場合に最適解が保障されている。
そのため、例えば探索途中でのゴールの移動などにより移動体の外囲状況が変化して、h*(n)<h(n)が満たされなくなった場合には、最適解が保障されなくなってしまう。
【0005】
そこで、非特許文献1に記載の技術では、探索途中で新たな障害物が現れた場合に、探索済みノードからゴールノードまでの最小コスト値h(n)を新たな値に更新することにより、現在探索中のノードからゴールノードまでの最適経路を効率的に求めている。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記非特許文献1に記載の技術では、経路変更が必要となった経路途中からの代替経路としては最適なものが得られるが、スタートからゴールまでの経路全体としては最適なものを得ることができない。すなわち、移動体の外囲状況が変化した場合に、最適な経路を探索することができなかった。
【0008】
本発明は、上記課題を解決するためになされたもので、移動体の外囲状況が変化した場合であっても最適な経路を探索可能にすることを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、請求項1に記載の発明は、スタートノードからゴールノードまで移動する移動体の最適経路を探索する経路探索装置であって、
スタートノードから探索中のノードnまでの最小コスト推定値g*(n)と、ノードnからゴールノードまでの最小コスト推定値h*(n)との和で表されるf*(n)が最小となるノードを、スタートノードから順次探索して前記移動体の移動経路を求める経路探索手段と、
移動開始時点からみて複数の将来時刻における前記移動体の外囲状況を予測する予測手段と、
を備え、
前記経路探索手段は、
前記予測手段により予測された外囲状況によりゴールノードを再設定し、
前記予測手段により予測された将来時刻における外囲状況に基づいて、前記移動体が探索中のノードに到達した時刻における一の外囲状況が、当該ノードよりも経路手前側のノードに到達した時刻における他の外囲状況から変化しているか否かを判定し、
前記一の外囲状況が前記他の外囲状況から変化していると判定した場合に、前記一の外囲状況に対応させるように、探索済みのノードのh*を更新することを特徴とする。
【0010】
請求項2に記載の発明は
、スタートノードからゴールノードまで移動する移動体の最適経路を探索する経路探索装置であって、
スタートノードから探索中のノードnまでの最小コスト推定値g*(n)と、ノードnからゴールノードまでの最小コスト推定値h*(n)との和で表されるf*(n)が最小となるノードを、スタートノードから順次探索して前記移動体の移動経路を求める経路探索手段と、
移動開始時点からみて複数の将来時刻における前記移動体の外囲状況を予測する予測手段と、
を備え、
前記経路探索手段は、
ノードnに隣接するノードのうち、f*(n)が最小となる次のノードn+1を探索する第1の手段と、
前記ノードn+1がゴールノードでない場合に、前記予測手段により予測された将来時刻における外囲状況に基づいて、前記移動体が前記ノードn+1に到達した時刻における一の外囲状況が、当該ノードよりも経路手前側の前記ノードnに到達した時刻における他の外囲状況から変化しているか否かを判定する第2の手段と、
前記一の外囲状況が前記他の外囲状況から変化していると判定した場合に、前記一の外囲状況に対応させるように、探索済みの全てのノードのh*を更新する第3の手段と、
前記ノードn+1を新たなノードnとして置き換える第4の手段と、
を有し、
ノードn+1がゴールノードとなるまで前記第1の手段〜前記第4の手段による処理を順次繰り返すことを特徴とする。
請求項3に記載の発明は、請求項1または2に記載の経路探索装置において、
前記移動体の外囲状況に関する外囲情報を取得する情報取得手段と、
前記移動体の外囲状況に関する確率モデルを記憶した記憶手段と、
を備え、
前記予測手段は、前記外囲情報及び前記確率モデルに基づいて、複数の将来時刻における前記移動体の外囲状況を予測することを特徴とする。
【0011】
請求項4に記載の発明は、
請求項1〜3のいずれか一項に記載の経路探索装置において、
前記移動体が航空機であり、
前記他の外囲状況からの前記一の外囲状況の変化が、飛行安全性に対する危険度の変化、及び/または、ゴールノードの移動であることを特徴とする。
【0012】
請求項5及び請求項6に記載の発明は、請求項1に記載の経路探索装置と同様の特徴を具備する経路探索方法及び経路探索プログラムである。
【発明の効果】
【0013】
本発明によれば、A*アルゴリズムをベースとした経路探索において、移動体が探索中のノードに到達した時刻における移動体の一の外囲状況が、当該ノードよりも経路手前側のノードに到達した時刻における他の外囲状況から変化していると判定された場合に、一の外囲状況に対応させるように、探索済みのノードのh*が更新される。
これにより、ゴールノードの移動等により外囲状況が変化する場合であっても、このh*が実際の最小コスト値hよりも大きくなることを防ぐことができ、最適解が保障される。したがって、移動体の外囲状況が変化した場合であっても、最適な経路を探索することができる。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態について、図面を参照して説明する。
【0016】
[経路探索装置の構成]
まず、本実施形態における経路探索装置10の構成について、
図1を参照して説明する。
図1は、経路探索装置10が搭載された航空機1の概略構成を示すブロック図である。
【0017】
経路探索装置10は、本実施形態では航空機1に搭載されており、A*アルゴリズム(A-Star algorithm)をベースとした経路探索手法を用いて自機の最適な飛行経路を探索・設定するものである。
航空機1は、本実施形態においては、敵からの攻撃を受ける可能性がある敵勢力圏内を、移動開始地点から移動目標地点に向かって飛行するものである。
具体的に、経路探索装置10は、
図1に示すように、機体センサー11と、通信部12と、記憶部13と、制御部14とを備えて構成されている。
【0018】
機体センサー11は、航空機1の飛行状態を検出したり、機体の外囲状況に関する情報(以下、「外囲情報」という)を取得したりするための各種のセンサーであり、レーダー,映像センサー(カメラ),ジャイロセンサー,速度センサー,GPS(Global Positioning System)等を含んで構成されている。これらの機体センサー11は、制御部14からの制御指令に基づいて各種情報を取得し、その信号を制御部14へ出力する。
【0019】
通信部12は、地上(海上及び空中を含む)の管制設備や他の航空機との間で通信を行い、互いに各種信号を送受信可能であるほか、通信ネットワークに接続して各種情報を入手可能なものである。
【0020】
記憶部13は、航空機1の各種機能を実現するためのプログラムやデータを記憶するとともに、作業領域としても機能するメモリである。本実施形態においては、記憶部13は、経路探索プログラム130を記憶している。
経路探索プログラム130は、後述の経路探索処理(
図2,3参照)を制御部14に実行させるためのプログラムである。
【0021】
また、記憶部13には、後述の経路探索処理に必要な情報として、地図データ131と、各種の確率モデル132とが記憶されている。
地図データ131は、山や河川などの地形情報に加え、道路や鉄道,建造物などの土地の利用状態に関する情報も含めた総合的な地理情報を有するものであり、記憶部13には、少なくとも航空機1の飛行空域を含む所定範囲のものが記憶されている。
【0022】
確率モデル132は、航空機1の外囲状況に関するものであって不確定性を有するものについての確率的法則性を表すモデルである。この確率モデル132は、本実施形態においては、敵の情報(例えば敵機の移動速度・方位、射程範囲など)や天候等に関するものであり、敵機の性能、地形、天候、パターン、戦術、経験則等に基づいて設定されている。
【0023】
制御部14は、航空機1の各部を中央制御する。具体的に、制御部14は、エンジンや舵面駆動用のアクチュエータ等からなる飛行機構15を駆動制御して航空機1の飛行を制御したり、記憶部13に記憶されているプログラムを展開し、展開されたプログラムと協働して各種処理を実行したりする。
【0024】
[経路探索装置の動作]
続いて、経路探索処理を実行する際の経路探索装置10の動作について、
図2を参照して説明する。
図2及び
図3は、経路探索処理の流れを示すフローチャートである。
【0025】
経路探索処理は、A*アルゴリズムをベースとした経路探索手法により航空機1の飛行経路を探索・設定する処理である。この経路探索処理は、地上設備からの制御指令等により当該経路探索処理の実行指示が入力されたときに、制御部14が記憶部13から経路探索プログラム130を読み出して展開することで実行される。
【0026】
図2に示すように、経路探索処理が実行されると、まず制御部14は、自機(航空機1)の外囲情報を取得する(ステップS1)。
具体的に、制御部14は、自機の位置情報や他機の位置情報等を機体センサー11により取得するとともに、天候・気象情報等を通信部12により取得し、記憶部13に記憶させる。
なお、取得される情報は原則として現在(情報取得時)の情報であるが、例えば管制局から得られる他機の移動情報や天候・気象情報など、将来の予測情報も含まれるものについては、この予測情報も取得される。
【0027】
次に、制御部14は、将来における自機の外囲状況を予測する(ステップS2)。
具体的に、制御部14は、まず、ステップS1で取得した外囲状況に関する外囲情報と、当該外囲状況に関する確率モデル132等とを記憶部13から読み出す。それから、制御部14は、これら外囲情報及び確率モデル132等を用いて、例えばモンテカルロ法によるシミュレーションを行い、複数の将来時刻(例えば、移動開始時点から10分後、20分後、…)における自機の外囲状況を予測した予測シナリオを、少なくとも移動目標地点までの到達が見込まれる所定の将来時刻にまで亘って作成する。そして、制御部14は、航空機1の飛行安全性に対する危険度を予測シナリオから数値化し、これを地図データ131上に表した危険度マップM(
図4等参照)を作成する。より詳しくは、制御部14は、記憶部13から読み出した地図データ131を水平面内で格子状(例えば、各辺が南北及び東西に沿った正方格子状)の複数のセルに分割し、各セルにおける危険度を予測シナリオから数値化して当該セルに割り当てることで、危険度マップMを作成する。作成された危険度マップMは記憶部13に記憶される。
こうして、将来における航空機1の外囲状況を表すものとして、飛行安全性に対する危険度が数値化されて地図データ131上に表された危険度マップMが、複数の将来時刻それぞれについて作成される。
またこのとき、制御部14は、ステップS1で取得した現在の外囲情報に基づいて、現在の危険度マップMも同時に作成する。
【0028】
次に、制御部14は、A*アルゴリズムを用いた経路探索を行う(ステップS3)。
A*アルゴリズムは、以下の式1で表されるコストf*(n)が最小となる点をスタートノードから順次探索して最適経路を求める探索アルゴリズムである。
f*(n)=g*(n)+h*(n) ・・・式1
ここで、g*(n)はスタートノードから探索中のノードnまでの最小コスト推定値であり、h*(n)はノードnからゴールノードまでの最小コスト推定値である。
また、A*アルゴリズムでは、h*(n)がノードnからゴールノードまでの実際の最小コスト値h(n)よりも小さくなる場合に最適解が保障されている。
【0029】
この経路探索では、
図3に示すように、制御部14は、該当する危険度マップMを用い、飛行安全性に対する危険度を移動コストとして、探索中のノード(セル)nに隣接するノードのうち、探索済みのノード(つまり、既に経路として辿ってきたノード)を除いて、f*(n)が最小となる次のノードn+1を探索する(ステップS31)。
但し、探索の最初の時点では、移動開始地点(スタートノード)がノードnである。
また、ここで用いられる危険度マップMは、ノードnへの自機の到達時刻での外囲状況を示すものであり(後述のステップS33参照)、探索の最初の時点では、現在(情報取得時)のものが記憶部13から読み出されて用いられる。
【0030】
次に、制御部14は、ノードn+1が移動目標地点(ゴールノード)であるか否かを判定し(ステップS32)、移動目標地点であると判定した場合には(ステップS32;Yes)、探索処理を終了する。
【0031】
また、ステップS32において、ノードn+1は移動目標地点ではないと判定した場合には(ステップS32;No)、制御部14は、このノードn+1における自機の外囲状況を読み出す(ステップS33)。
具体的に、制御部14は、自機の速度を設定(仮定)することによりノードn+1への到達時刻を算出し、この時刻における危険度マップMを記憶部13から読み出す。
【0032】
次に、制御部14は、ノードn+1到達時刻における外囲状況が、ノードn到達時刻における外囲状況から変化しているか否かを判定する(ステップS34)。つまり、ノードnからノードn+1への自機の移動に要する時間経過に伴って、外囲状況が変化するか否かが判定される。
ここで抽出される「外囲状況の変化」とは、飛行の目的や安全性に照らして飛行経路の変更を考えるべき状況変化であり、本実施形態においては、危険度マップMの変化(つまり、飛行安全性に対する危険度の変化)、及び/または、移動目標地点の移動である。
制御部14は、ノードn+1到達時刻における危険度マップMを、ノードn到達時刻におけるものと比較することにより、外囲状況の変化の有無を判定する。
【0033】
このステップS34において、ノードn+1到達時刻における外囲状況がノードn到達時刻におけるものから変化していないと判定した場合(ステップS34;No)、制御部14は、ノードn+1を新たなノードnとして置き換えたうえで、上述のステップS31へ処理を移行する。つまり、この新たなノードnに隣接する新たな次のノードn+1が探索される。
【0034】
また、ステップS34において、ノードn+1到達時刻における外囲状況がノードn到達時刻におけるものから変化していると判定した場合には(ステップS34;Yes)、制御部14は、探索済みの全ノードにおける目標到達地点までの最小コスト推定値h*を、ノードn+1到達時刻における外囲状況に対応させるように更新する(ステップS35)。
その後、制御部14は、ノードn+1を新たなノードnとして置き換えたうえで、上述のステップS31へ処理を移行し、この新たなノードnに隣接する新たな次のノードn+1を探索する。このときには、h*の更新に伴って同時に更新されるf*に関して探索が行われる。なお、g*については、移動目標地点の移動等により外囲状況が変化したとしても影響を受けないため、更新する必要はない。
このようにh*を更新することにより、移動目標地点の移動等により外囲状況が変化する場合であっても、このh*が実際の最小コスト値hよりも大きくなることを防ぐことができる。
【0035】
こうして、制御部14は、探索中のノードが移動目標地点に到達するまで上述のステップS31〜S35の処理を繰り返すことにより、移動開始地点から移動目標地点までの最適な飛行経路を探索する。
そして、制御部14は、航空機1の飛行経路を探索されたものに更新する。
【0036】
[解析例]
続いて、上述した経路探索装置10の動作について、解析例を示して説明する。
図4〜
図6は、本解析例を説明するための図であって、各危険度マップM上に解析結果の飛行経路FPを示したものである。
なお、
図4〜6では、飛行安全性に対する危険度をハッチングの濃淡(無地を含む)で示しており、ハッチングが濃いほど危険度が高いことを意味する。
【0037】
本解析例では、北方へ移動する敵機(戦車T)群に対し、当該敵機群の射程内に入ることなくその先頭車両を安全に監視できる位置まで移動するときの航空機1の飛行経路を探索した。
また、本実施形態の経路探索装置10による経路探索と、h*の更新を行わない従来のA*アルゴリズムを用いた経路探索との2種類の解析を行い、両者の結果を比較した。
【0038】
図4に、移動開始時点(時刻t0)での危険度マップMt0と、このときの従来のA*アルゴリズムを用いて探索した飛行経路FPとを示す。
この図に示すように、移動開始時点の外囲状況が変化しないとした場合には、移動開始地点P
Sから敵機群の北方を回ってその北東の移動目標地点P
Gに至る飛行経路FPが、航空機1の最適経路となっている。
なお、本解析例では、敵機群の先頭から見て略北東に位置する所定範囲のエリアが、時間経過に依らず監視に適した場所となっている。
【0039】
図5に、従来のA*アルゴリズムを用いた経路探索の解析結果を示す。このうち(a)が、経路途中(時刻t1)での危険度マップMt1であり、(b)が、移動目標地点P
Gへの到達時(時刻t2)での危険度マップMt2である。
この図に示すように、従来のA*アルゴリズムを用いた経路探索では、時間経過に伴う敵機群の移動が考慮されていないため、移動開始時点から外囲状況が変化しないとした場合と全く同じ飛行経路FPとなる。そのため、航空機1は、敵機群からの距離が近く危険度の高いエリアを通過するうえに、敵機群の移動に伴って監視対象(敵機群の先頭車両)から遠くなった移動目標地点P
Gに到達している。
【0040】
図6に、本実施形態の経路探索装置10による経路探索の解析結果を示す。このうち(a)が、経路途中(時刻t1)での危険度マップMt1であり、(b)が、移動目標地点P
Gへの到達時(時刻t2)での危険度マップMt2である。
この図に示すように、経路探索装置10による経路探索では、敵機群の移動に伴って最適な監視位置が再設定されることにより、時間経過に伴って移動目標地点P
Gが移動する。しかし、この移動目標地点P
Gの移動や危険度の変化を考慮した経路探索が行われているため、航空機1は、危険度の高いエリアを避けた飛行経路FPを経て、監視に適した移動目標地点P
Gに到達することができている。
【0041】
[効果]
以上のように、本実施形態によれば、A*アルゴリズムをベースとした経路探索において、航空機1が探索中のノードn+1に到達した時刻における航空機1の外囲状況が、当該ノードn+1よりも経路手前側のノードnに到達した時刻における外囲状況から変化していると判定された場合に、ノードn+1到達時刻における外囲状況に対応させるように、探索済みのノードのh*が更新される。
これにより、移動目標地点の移動等により外囲状況が変化する場合であっても、このh*が実際の最小コスト値hよりも大きくなることを防ぐことができ、最適解が保障される。したがって、航空機1の外囲状況が変化した場合であっても、最適な経路を探索することができる。
【0042】
[変形例]
なお、本発明を適用可能な実施形態は、上述した実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【0043】
例えば、上記実施形態では、経路探索装置10を航空機1の飛行経路の探索に適用した例について説明したが、本発明は、車両や船舶など、航空機以外の様々な移動体の移動経路の探索に適用可能である。
【0044】
また、経路探索装置10が航空機1に搭載されている例について説明したが、本発明に係る経路探索装置は、地上設備に設けられていてもよいし、機上のものと地上設備のものとで連携して制御を行うように構成されていてもよい。