(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書及び図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0019】
(航空機100)
本実施形態において、航空機100は、予め定められた自機の飛行経路中に、障害物が存在する、または、何らかの脅威に曝されるおそれのある回避すべき回避エリアが生じた場合、回避エリアを回避する回避経路を導出し、その回避経路に従って飛行する。以下、回避経路を導出する航空機100の構成を述べ、その後に、具体的な方法を説明する。
【0020】
図1は、航空機100の概略的な構成を示す機能ブロック図である。航空機100は、情報取得部110と、中央制御部112と、飛行機構114とを含んで構成される。ここでは、本実施形態に必要な構成のみを説明し、本実施形態に関係のない構成については説明を省略する。
【0021】
情報取得部110は、通信部110a、操作部110b、センサ110c、表示部110d等を含む。通信部110aは、放送型自動従属監視(ADS−B:Automatic Dependent Surveillance-Broadcast)等のデータリンク手法を用い、飛行中または陸上(船上)において、地上設備との通信を行う。操作部110bは、操縦桿、操作キー、タッチパネル等で構成され、パイロットの操作入力を受け付ける。本実施形態では、通信部110aまたは操作部110bを通じて飛行経路、および、障害物や脅威の情報を取得する。センサ110cは、飛行位置(経度、緯度、高度を含む)、機体速度、機体姿勢、機体が受ける風力、風向き、天候、機体周囲の気圧、温度、湿度等の現在の飛行状態を検出する。表示部110dは、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等で構成され、通信部110a、操作部110b、センサ110c等を通じて取得された様々な情報の一部を表示し、パイロットに伝達する。
【0022】
中央制御部112は、中央処理装置(CPU)、プログラム等が格納されたROM、ワークエリアとしてのRAM等を含む半導体集積回路で構成され、航空機100全体を管理および制御する。また、中央制御部112は、回避エリア特定部120、領域分割部122、交差レグ特定部124、候補ノード抽出部126、経路特定部128として機能する。
【0023】
飛行機構114は、内燃機関(例えばジェットエンジンやレシプロエンジン)を有し、推進力により固定翼周りに揚力を生じさせることで機体を移動させる。ただし、揚力を生じさせる機構は、かかる場合に限らず、回転翼機(ヘリコプター)のように、内燃機関によって回転翼を回転させて揚力を生じさせ、機体を大気中に浮上した状態に維持する機構で構成することもできる。
【0024】
上述したように、回避エリアを回避する回避経路を導出すべく、中央制御部112の各機能部は、以下のように動作する。すなわち、回避エリア特定部120は、回避すべき回避エリアを特定する。領域分割部122は、回避エリアを含む対象領域を多角形の複数の分割領域に分割する。交差レグ特定部124は、回避領域を構成するレグである交差レグを特定する。候補ノード抽出部126は、分割領域の角であり、かつ、回避エリアの境界より外側に位置する複数の候補ノードを抽出する。経路特定部128は、任意の回避開始点から候補ノードまで、候補ノード間、および、候補ノードから任意の回避終了点までの分割経路について回避エリアと交差するか否かを判定する。そして、経路特定部128は、回避開始点から回避終了点まで回避エリアと交差することなく連続する複数の分割経路から成り、その総距離が最短となる回避経路を特定する。このようにして特定された回避経路が表示部110dに表示される。以下、このような各機能部の詳細な動作を具体的に説明する。
【0025】
(第1の実施形態:回避経路導出方法)
図2は、第1の実施形態における回避経路導出方法の処理の流れを示したフローチャートである。ここでは、
図2のフローチャートに従って、回避すべき回避エリアを特定し、その回避エリアを回避する回避経路を導出する。ここで、回避経路は、飛行経路中に生じた回避エリアの手前の任意の点である回避開始点を始点とし、回避エリアの先の任意の点である回避終了点を終点とした、回避エリアの外側に設けられる経路である。回避開始点や回避終了点は、回避エリアの大きさや航空機100の速度等に基づき予め定められた規則に応じて決定される。また、本実施形態においては、航空機100の飛行高度と等しい水平面上における最短の経路を回避経路とする。
【0026】
以下、
図2に従い、準備工程に属する、回避エリア特定処理S1、領域分割処理S2、交差レグ特定処理S3、候補ノード抽出処理S4、回避経路導出工程に属する経路特定処理S5の順に説明する。
【0027】
(回避エリア特定処理S1)
図3は、回避エリア特定処理S1を説明するための説明図である。回避エリア特定部120は、地上設備との通信またはパイロットの操作入力を通じ、飛行経路150において障害物や脅威となる物体を把握し、
図3に示すように、飛行経路150および障害物や脅威となる物体の位置から自機を回避させるための回避エリア152を特定する。ここでは、説明の便宜上、1の回避エリア152を挙げて説明するが、複数の回避エリア152が離隔して存在する場合もある。
【0028】
(領域分割処理S2)
領域分割部122は、回避エリア特定部120が特定した回避エリア152を含む対象領域を多角形の複数の分割領域に分割する。ここでは、分割領域の形状を四角として説明するが、三角形や六角形等、任意の多角形を採用することができる。
【0029】
図4は、領域分割処理S2を説明するための説明図である。具体的に、まず、領域分割部122は、
図4(a)に示すように、航空機100の飛行高度と等しい高度における水平面のうち、任意の回避開始点WP1と回避終了点WP2との間にある対象領域154を切り出す。対象領域154は、回避エリア152の大きさおよび形状に基づき予め定められた規則に応じて決定され、例えば、一辺が第1所定距離(例えば、10kmまたは100km等)となる正方形とする。ここでは、対象領域154を正方形で示すが、かかる場合に限らず、長方形や多角形であってもよい。
【0030】
そして、領域分割部122は、対象領域154を、緯度方向および経度方向(東西南北方向)に対して、交点間の距離が第1所定距離より短い第2所定距離(例えば、50m、1kmまたは5km等)となる網目(メッシュ)状に分割し、その網目状に分割された分割領域156を、計算対象の最小単位とする。ここでは、分割領域156を正方形で示すが、かかる場合に限らず、長方形や多角形であってもよい。
【0031】
分割領域156の大きさは、回避開始点WP1と回避終了点WP2間の距離および回避エリア152の大きさ、処理能力(処理可能な分解能)に基づき予め定められた規則に応じて決定される。また、以後の演算においては、分割領域156の角(交点)をノードと称し、ノード間において東西南北に延長される線分をレグと称する。
【0032】
続いて、領域分割部122は、対象領域154内の複数の分割領域156のうち、回避エリア152に相当する分割領域156である回避領域158を特定する。回避領域158は、分割領域156の角に対応する4つのノードのうち、少なくとも1のノードが回避エリア152に含まれる(分割領域156の一部が回避エリア152に含まれる)分割領域156である。したがって、
図4(b)における複数の分割領域156のうち、斜線で示した分割領域156が回避領域158となる。ここで、仮に回避エリア152が複数存在していた場合、このような隣接する回避領域158の群が複数存在することとなる。
【0033】
(交差レグ特定処理S3)
図5は、交差レグ特定処理S3を説明するための説明図である。ここでは、緯度方向および経度方向をx軸およびy軸で示している。交差レグ特定部124は、後述する交差判定に用いるために、回避領域158を構成するレグである交差レグを特定する。交差レグの候補となるレグは、
図5中のx軸方向のレグとy軸方向のレグに大別できるため、ここでは、交差レグ160について、x軸方向の交差レグとy軸方向の交差レグとを段階的に求める。
【0034】
交差レグ特定部124は、まず、
図5のように、分割領域156について、x軸方向とy軸方向に、座標に相当する番号を付与する(x=0,1,…,6、y=0,1,…,6)。そして、x軸方向の交差レグ160aを導出するため、交差レグ特定部124は、
図5(a)に破線の矢印で示したように、yの座標値を1ずつインクリメントして、x軸方向のレグを順次抽出し、そのレグが交差レグ160aに相当するか、すなわち、回避領域158を構成するレグであるか否か判定する。そして、x=0〜1に関する交差レグ160aの判定が終了したら、x=1〜2に関する交差レグ160aを判定し、x=5〜6に関する交差レグ160aを判定するまで判定処理を繰り返す。こうすることで、
図5(a)に太い実線で示したx軸方向の交差レグ160aが特定される。
【0035】
続いて、y軸方向の交差レグ160bを導出するため、交差レグ特定部124は、
図5(b)に破線の矢印で示したように、xの座標値を1ずつインクリメントして、y軸方向のレグを順次抽出し、そのレグが交差レグ160bに相当するか、すなわち、回避領域158を構成するレグであるか否か判定する。そして、y=0〜1に関する交差レグ160bの判定が終了したら、y=1〜2に関する交差レグ160bを判定し、y=5〜6に関する交差レグ160bを判定するまで判定処理を繰り返す。こうすることで、
図5(b)に太い実線で示したy軸方向の交差レグ160bが特定される。
【0036】
交差レグ160は、後述する交差判定に利用されるので、座標と対応付け、例えば、テーブル等を通じて管理するのが望ましい。
【0037】
(候補ノード抽出処理S4)
図6および
図7は、候補ノード抽出処理S4を説明するための説明図である。候補ノード抽出部126は、
図6に黒丸で示すように、領域分割部122が抽出した回避領域158の角であり、かつ、回避エリア152の境界より外側に位置する複数の候補ノード162を抽出する。ただし、隣り合う回避領域158に共通する候補ノード162については1の候補ノード162として取り扱う。ここでは、理解を容易にするため少数の候補ノード162を挙げて説明するが、候補ノード162の数は、対象領域154と分割領域156の大きさに応じて変化する。
【0038】
そして、候補ノード抽出部126は、
図7に示すように、抽出した複数の候補ノード162によってノードリスト164を生成してRAMに格納し、ノードリスト164において候補ノード162をソートする。ソートの順番は、各候補ノード162から回避開始点WP1までの直線距離と、同候補ノード162から回避終了点WP2までの直線距離の和の短い順に行われる。かかる直線距離は、交差レグ160と交差するか否かを問わない。したがって、結果的に、飛行経路150に近い候補ノード162が比較的上位に、飛行経路150に遠い候補ノード162が比較的下位に配される。
【0039】
このように、直線距離の短い順に候補ノード162をソートするのは、以下の理由による。すなわち、後述する経路特定処理S5において、まず、経路特定部128に、候補ノード162から回避開始点WP1までの直線距離と、候補ノード162から回避終了点WP2までの直線距離の和が短い候補ノード162から順に、回避エリア152と交差するか否か判定させる。そして、比較的早期に最短である可能性の高い回避経路を導出し、以後の演算において回避経路の書き換え回数を削減し、処理負荷を軽減するためである。
【0040】
続いて、候補ノード抽出部126は、
図7に示すように、ノードリスト164内の各候補ノード162に対しノードパラメータ166を設定してRAMに格納する。ノードパラメータ166は、WP1直前ノード(RootNode:回避開始点WP1までの最短の経路における直前の候補ノード162)、WP1最短距離(DisS:最短の経路における回避開始点WP1までの最短距離)、WP2直後ノード(回避終了点WP2までの最短の経路における直後の候補ノード162)、WP2最短距離(DisE:最短の経路における回避終了点WP2までの最短距離)、対象ノードリスト(SearchNode:WP2直後ノードの候補となる候補ノード162(対象ノード)のリスト)、対象ノード総数(SearchNodeNo:対象ノードリストに対応付けられた対象ノードの総数)の6つのパラメータからなる。ここでは、経路判定を行う上での基準となる任意の候補ノード162を基準ノードとし、その基準ノードとの交差判定を行う対象となる候補ノード162を対象ノードとする。
【0041】
ここで、WP1直前ノードは、交差レグ160と交差することなしに回避開始点WP1と連続する分割経路のうち、最短の分割経路群における直前の候補ノード162を示す。したがって、交差レグ160との交差なしに回避開始点WP1と直接連続する場合、WP1直前ノードは回避開始点WP1となる。WP1最短距離は、WP1直前ノードに示された候補ノード162を含む回避開始点WP1までの最短の経路の総距離を示す。かかる総距離は、WP1直前ノードに示された候補ノード162におけるWP1最短距離に、WP1直前ノードに示された候補ノード162から当該候補ノード162までの距離を加えることで導出できる。
【0042】
また、WP2直後ノードは、交差レグ160と交差することなしに回避終了点WP2と連続する分割経路のうち、最短の分割経路群における直後の候補ノード162を示す。したがって、交差レグ160との交差なしに回避終了点WP2と直接連続する場合、WP2直後ノードは回避終了点WP2となる。WP2最短距離は、WP2直後ノードに示された候補ノード162を含む回避終了点WP2までの最短の経路の総距離を示す。かかる総距離は、WP2直後ノードに示された候補ノード162のノードパラメータ166におけるWP2最短距離に、WP2直後ノードに示された候補ノード162から当該候補ノード162までの距離を加えることで導出できる。
【0043】
また、対象ノードリストは、WP1直前ノードに設定された候補ノード162を除く、当該候補ノード162から交差レグ160と交差することなしに連続する1または複数の候補ノード162(対象ノード)のリストである。ここでは、対象ノードの経路判定が完了すると、対象ノードリストからその対象ノードが削除される。また、対象ノードは、ノードリスト164の各候補ノード162とリンクしているので、例えば、以降の説明において、対象ノードのWP1直前ノードといった場合、対象ノードに対応する候補ノード162のノードパラメータを示す。対象ノード総数は、かかる対象ノードリストに対応付けられた対象ノードの総数である。ここでは、対象ノードリストから対象ノードが削除されると、それに伴って、対象ノード総数も削減される。
【0044】
ノードパラメータ166の生成時には、上記WP1直前ノード、WP1最短距離、WP2直後ノード、WP2最短距離、対象ノードリスト、対象ノード総数の値は全てリセットされる。かかるリセットにおいて、WP1最短距離およびWP2最短距離は、無限大∞や設定可能な最大値が設定される。
【0045】
(経路特定処理S5)
経路特定部128は、回避開始点WP1から候補ノード162までの分割経路、候補ノード162間の分割経路、および、候補ノード162から回避終了点WP2までの分割経路について回避領域158(回避エリア152)と交差するか否か判定する。そして、経路特定部128は、交差しないと判定した分割経路のうちの、回避開始点WP1から回避終了点WP2まで回避領域158と交差することなく連続する分割経路から成り、その総距離が最短となる回避経路を特定する。
【0046】
本実施形態では、以下のような概念で最短となる回避経路を特定する。まず、回避開始点WP1を始点として、候補ノード162間の線分が交差レグ160と交差していない候補ノード162を次々に接続して、一度、回避終了点WP2までの少なくとも1本の経路を導出し、その経路の総距離を保持する。その後、他の候補ノードの組み合わせについても経路の総距離を導出し、保持された経路の総距離より短くなれば、その経路を最短経路として更新する。また、他の候補ノード162の組み合わせを判定する際、その途中段階であっても、分割経路の総距離が、保持された経路の総距離より長くなれば、その経路は最早選択されないので、それ以降の処理を省略する。こうして処理負荷を軽減することができる。
【0047】
具体的に、回避開始点WP1から回避終了点WP2までの経路が一度導出されると、それ以後は、1の基準ノードに対する1または複数の対象ノード全てについて経路判定を行う。また、対象ノードと回避終了点WP2とを結ぶ直線が交差レグ160と交差していれば、さらにその対象ノードを基準ノードとし、その基準ノードの下位の対象ノードを新たに導出する。
【0048】
こうして対象ノードの経路判定が完了すると、基準ノードに対する1または複数の対象ノードのうち、基準ノードから回避終了点WP2までの、回避エリア152と交差することなく連続する分割経路が最短となる経路を抽出し、その結果を基準ノードのノードパラメータ(WP2最短距離、WP2直後ノード)に反映する。こうして、基準ノードから回避終了点WP2までの連続する分割経路を確定できる。
【0049】
また、経路特定部128は、基準ノードから回避終了点WP2までの、回避エリア152と交差することなく連続する分割経路が最短となる経路が抽出されると、対象ノードから回避終了点WP2までの、回避エリア152と交差することなく連続する1または複数の候補ノード162全てのノードパラメータ(WP1最短距離、対象ノードのみWP1直前ノード)も更新する。こうして、基準ノードから回避終了点WP2までの候補ノード162に、回避開始点WP1の情報を反映することができる。
【0050】
このように、基準ノードに対する1または複数の対象ノードの経路判定が全て完了すると、基準ノードの経路判定が完了し、その基準ノードを対象ノードとする上位の基準ノードの経路判定を順次完了させることが可能となる。そして、最終的に基準ノードが回避開始点WP1となると、全ての対象ノードに対する経路判定が完了したことになり、最短となる回避経路が特定されることとなる。以下、具体的な処理を説明する。
【0051】
図8は、経路特定処理S5の具体的な処理の流れを示したフローチャートである。ここでは、最短となる回避経路の距離を示す変数Dが初期化(設定可能な最大値を代入)され、基準ノードとして回避開始点WP1が設定されているとする。
【0052】
(ステップS5−1)
まず、経路特定部128は、ノードリスト164から、基準ノードのWP1直前ノードに設定された候補ノード162を除く(初回はなし)候補ノード162を昇順に順次抽出し、当該候補ノード162と基準ノード(初回は回避開始点WP1)とを結ぶ線分と交差レグ160との交差判定を行う。かかる交差判定については、
図10を用いて後述する。ここで、候補ノード162と基準ノードとを結ぶ線分が交差レグ160と交差していないと判定すれば、経路特定部128は、当該候補ノード162を基準ノードに対する対象ノードとし、基準ノードの対象ノードリストに追加するとともに、追加する度に対象ノード総数を1だけインクリメントする。また、対象ノードのWP1直前ノードに、
候補ノード
162に対応する
基準ノー
ドを設定し、
対象ノードのWP1最短距離に、基準ノードと対象ノード間の距離を設定する。
【0053】
(ステップS5−2)
候補ノード162との交差判定を通じて対象ノードを抽出し終えると、経路特定部128は、対象ノードリストの先頭に位置する対象ノードを特定する。こうして、対象ノードリストから対象ノードを順次抽出することができる。
【0054】
(ステップS5−3)
続いて、経路特定部128は、特定した対象ノードに回避終了点WP2の情報(WP2最短距離、WP2直前ノード)が既に設定されているか否か判定する。これは、WP2最短距離が設定可能な最大値となっているか否か、または、WP2直前ノードが設定されているか否かによって行われる。その結果、回避終了点WP2の情報が設定されていれば、ステップS5−8に処理を移し、回避終了点WP2の情報が設定されていなければ、ステップS5−4に処理を移す。
【0055】
(ステップS5−4)
ステップS5−3において、回避終了点WP2の情報が設定されていないと判定されると、経路特定部128は、当該対象ノードと回避終了点WP2とを結ぶ線分と交差レグ160との交差判定を行う。その結果、当該対象ノードと回避終了点WP2とを結ぶ線分と交差レグ160とが交差していれば、ステップS5−5に処理を移し、交差していなければ、ステップS5−7に処理を移す。
【0056】
(ステップS5−5)
ステップS5−4において、当該対象ノードと回避終了点WP2とを結ぶ線分と交差レグ160とが交差していると判定されると、経路特定部128は、基準ノードのWP1最短距離に、基準ノードと対象ノード間の距離を加えた値と、最短となる回避経路の距離を示す変数Dとを比較する。その結果、基準ノードのWP1最短距離に、基準ノードと対象ノード間の距離を加えた値が、変数Dより長いと判定されれば、ステップS5−12に処理を移し、変数Dより長くないと判定されれば、ステップS5−6に処理を移す。ここでは、変数Dより総距離が長い対象ノードについては、その経路は最早選択されないので、ステップS5−6に進めないこととし、経路判定の対象から除外している。こうして、処理負荷を軽減することが可能となる。
【0057】
(ステップS5−6)
ステップS5−5において、基準ノードのWP1最短距離に、基準ノードと対象ノード間の距離を加えた値が、変数Dより長くないと判定されると、経路特定部128は、当該対象ノードを新たに下位の基準ノードとして設定し、ステップS5−1からの処理を繰り返す。
【0058】
(ステップS5−7)
ステップS5−4において、当該対象ノードと回避終了点WP2とを結ぶ線分と交差レグ160とが交差していないと判定されると、経路特定部128は、当該対象ノードの回避終了点WP2の情報を更新する。具体的に、対象ノードのWP2直後ノードに回避終了点WP2を、対象ノードのWP2最短距離に、対象ノードと回避終了点WP2間の距離を設定する。
【0059】
(ステップS5−8)
次に、経路特定部128は、当該対象ノードのWP2最短距離に、基準ノードと対象ノード間の距離を加えた値と、基準ノードのWP2最短距離とを比較する。その結果、対象ノードのWP2最短距離に、基準ノードと対象ノード間の距離を加えた値が、基準ノードのWP2最短距離より短いと判定されれば、ステップS5−9に処理を移し、基準ノードのWP2最短距離より短くないと判定されれば、ステップS5−10に処理を移す。
【0060】
(ステップS5−9)
ステップS5−8において、対象ノードのWP2最短距離に、基準ノードと対象ノード間の距離を加えた値が、基準ノードのWP2最短距離より短いと判定されれば、経路特定部128は、基準ノードの回避終了点WP2に関する情報、および、対象ノードから回避終了点WP2までのWP1に関する情報を更新する。具体的に、経路特定部128は、基準ノードのWP2最短距離に、対象ノードのWP2最短距離と基準ノードと対象ノード間の距離とを加えた値を設定し、WP2直後ノードに、対象ノードに対応する候補ノード162を設定する。こうして、基準ノードから回避終了点WP2までの連続する分割経路を確定できる。また、経路特定部128は、対象ノードのWP1直前ノードに、基準ノードに対応する候補ノード162を設定するとともに、基準ノードのWP1最短距離に基づいて、対象ノードから回避終了点WP2までのWP1最短距離を更新する。例えば、経路特定部128は、対象ノードと連続するそれより後(下位)の候補ノード162を順次呼び出し、呼び出した候補ノード162とその直前の候補ノード162間の距離と、直前の候補ノード162のWP1最短距離との和を計算して、呼び出した候補ノード162のWP1最短距離とする。
【0061】
(ステップS5−10)
続いて、経路特定部128は、基準ノードのWP1最短距離とWP2最短距離とを加えた値と、最短となる回避経路の距離を示す変数Dとを比較する。その結果、基準ノードのWP1最短距離とWP2最短距離とを加えた値が、変数Dより短いと判定されれば、ステップS5−11に処理を移し、変数Dより短くないと判定されれば、ステップS5−12に処理を移す。
【0062】
(ステップS5−11)
ステップS5−10において、基準ノードのWP1最短距離とWP2最短距離とを加えた値が、変数Dより短いと判定されれば、経路特定部128は、変数Dに基準ノードのWP1最短距離とWP2最短距離とを加えた値を設定して、変数Dを更新し、当該経路(回避経路)を特定する情報を対応づけてRAMに格納する。かかる回避経路を特定する情報は、当該回避経路の1の候補ノード162で足りるので、例えば、基準ノードまたは当該対象ノードであってもよい。こうして、最短の回避経路が更新される。
【0063】
(ステップS5−12)
続いて、経路特定部128は、当該対象ノードに関する経路判定が完了したとして、基準ノードの対象ノードリストから当該対象ノードを削除するとともに、対象ノード総数を1だけデクリメントする。したがって、対象ノードリストの先頭には次の対象ノードが位置することとなる。
【0064】
(ステップS5−13)
次に、経路特定部128は、対象ノード総数が0以下となったか否か判定し、その結果、対象ノード総数が0以下となっていれば、当該基準ノードに関する経路判定が完了したとして、ステップS5−14に処理を移し、対象ノード総数が0以下でなければ、次の対象ノードを経路判定すべく、ステップS5−2からを繰り返す。
【0065】
(ステップS5−14)
ステップS5−13において、対象ノード総数が0以下となっていると判定されれば、経路特定部128は、当該基準ノードが回避開始点WP1であるか否か判定する。その結果、当該基準ノードが回避開始点WP1であれば、当該経路特定処理S5を終了してメインルーチンに戻り、当該基準ノードが回避開始点WP1でなければ、ステップS5−15に処理を移す。
【0066】
(ステップS5−15)
ステップS5−14において、基準ノードが回避開始点WP1ではないと判定されると、経路特定部128は、当該基準ノードを新たに上位の対象ノードに戻し、ステップS5−3からの処理を繰り返す。
【0067】
こうして、回避開始点WP1から回避終了点WP2まで連続する複数の経路から成り、その総距離が最短となる回避経路を特定することが可能となる。
【0068】
図9は、経路特定処理S5による回避経路の特定を具体的に説明する説明図である。例えば、
図9(a)において破線で示すように、候補ノード162a→162b→162cといった回避経路が既に導出されているとする。このとき、候補ノード162bのWP1直前ノードには候補ノード162aが設定され、候補ノード162cのWP1直前ノードには候補ノード162bが設定される。
【0069】
ここで、
図9(a)において一点鎖線で示す、候補ノード162aと候補ノード162cとを直接結ぶ分割経路が抽出され、基準ノードが候補ノード162a、対象ノードが候補ノード162cとなった場合、候補ノード162bを経由する既存のWP1最短距離より、候補ノード162bを経由しないWP1最短距離が短くなる。すると、
図8のステップS5−
8においてYESの判定となり、対象ノードである候補ノード162cの回避開始点WP1に関する情報が候補ノード162bを経由しない経路に更新される。
【0070】
また、かかる更新に伴い、候補ノード162aおよびそれより前の候補ノード162のWP2最短距離と、候補ノード162cより後ろの候補ノード162のWP1最短距離とが更新される。また、対象ノードにおけるWP1最短距離とWP2最短距離との和が変数D未満であれば、変数D、すなわち、最短の回避経路も更新される。このようにして、順次最短の回避経路が更新されることで、最終的に、例えば、
図9(b)に実線で示したような最短の回避経路が導出される。
【0071】
(交差判定S5−4)
図10は、経路特定処理S5のうち交差判定S5−4を説明するための説明図である。経路特定部128は、回避開始点WP1から候補ノード162、候補ノード162同士、および、候補ノード162から回避終了点WP2のいずれかの経路について回避領域158と交差するか否か判定する。
【0072】
具体的には、経路特定部128は、基準ノードから対象ノードまでの直線を生成し、交差レグ特定処理S3で特定した交差レグ160と交差しているか否か判定する。例えば、
図10(a)に示す基準ノードA(x,y)=(0,4)から対象ノードB(x,y)=(5,2)までの分割経路を例に挙げると、各軸を
図10(a)のように定義した場合、上記の分割経路を特定する式は、y−4=(2−4)/(5−0)×(x−0)、すなわち、y=−(2/5)x+4となり、仮にx=4のときにy=2.4となる。本来、上記x,y座標に加え、高度に相当するzも含めるべきであるが、高度は、航空機100の飛行高度と等しいとしているので、ここでは省略する。
【0073】
上記交差レグ特定処理S3では、x=4におけるy軸方向の交差レグ160bも特定されており、分割経路上の点(x,y)=(4,2.4)は、x=4、y=2〜3の交差レグ160bに含まれる。したがって、基準ノードAから対象ノードBまでの分割経路は、交差レグ160bと交差すると判定することができる。
【0074】
一方、基準ノードAから対象ノードBまでの分割経路をxに関する式とすると、各軸を
図10(a)のように定義した場合、x−0=(5−0)/(2−4)×(y−4)、すなわち、x=−(5/2)y+10となり、仮にy=3のときにx=2.5となる。
【0075】
上記交差レグ特定処理S3では、y=3におけるx軸方向の交差レグ160aも特定されており、分割経路上の点(x,y)=(2.5,3)の点は、x=2〜3、y=3の交差レグ160aに含まれる。したがって、基準ノードAから対象ノードBまでの分割経路は、交差レグ160と交差すると判定することができる。
【0076】
ただし、基準ノードから対象ノードまでの直線の一部または全部が交差レグ160に含まれる場合であっても、交差すると判定しない場合がある。例えば、
図10(b)において実線矢印で示した基準ノードCから対象ノードDまでの分割経路は、x=2〜3、y=0の交差レグ160aと一致し、回避領域158の周囲を構成するが、正確には回避エリア152の外側であり、かかる線分を回避経路の一部としたとしても問題が生じない。
【0077】
かかる事象は、以下の条件を満たしたときに生じる。(1)分割経路の方向がx軸またはy軸と一致する、すなわち、0°、90°、180°、270°のいずれかであり、かつ、(2)その分割経路の両側に回避領域158が存在しない場合である。したがって、交差と判定された線分に対して、さらに、上記の条件を満たすか否か判定し、満たしていれば、交差していないと判定する。ここで、分割経路が0°、90°、180°、270°のいずれかであるか否かは、その線分の式がx=α(一定値)またはy=β(一定値)に固定されていることで判定できる。
【0078】
以上説明したように、本実施形態による回避経路導出方法によって、回避エリア152や回避経路のパターンを簡素化し、経路判定の効率化を図ることで、軽負荷かつ短時間で回避経路を導出することが可能となる。
【0079】
また、上述した回避エリア特定部120と、領域分割部122と、交差レグ特定部124と、候補ノード抽出部126と、経路特定部128とを備える回避経路導出装置も提供される。さらに、コンピュータを、回避エリア特定部120と、領域分割部122と、交差レグ特定部124と、候補ノード抽出部126と、経路特定部128として機能させるための回避経路導出プログラムも提供される。また、当該回避経路導出プログラムを記録した、コンピュータで読み取り可能なフレキシブルディスク、光磁気ディスク、ROM、EPROM、EEPROM、CD、DVD、BD等の記憶媒体も提供される。ここで、プログラムは、任意の言語や記述方法にて記述されたデータ処理手段をいう。
【0080】
(第2の実施形態:回避経路導出方法)
第1の実施形態では、回避経路として、航空機100の飛行高度と等しい水平面上における最短の経路を導出したが、以下の実施形態のように、3次元の空間を対象として最短の経路を導出することもできる。3次元空間においても、基本的な概念および回避経路を導出するアルゴリズムは第1の実施形態の2次元空間と実質的に等しいので、ここではその詳細な説明を省略し、3次元空間において回避経路を導出する場合に適用される第1の実施形態と異なる処理のみを説明する。
【0081】
図11は、第2の実施形態における3次元空間における位置関係を説明するための説明図である。
図11に示すように、回避エリア152が立体的に定義されるので、その回避領域158には高度の概念が加わる。したがって、回避領域158は、分割領域156を高さ(高度)方向に延長した仮の立方体と回避エリア152とが交わる場合に、その仮の立方体内における回避エリア152の最大高度以上の部分を切り落とした立方体で表すことができる。したがって、回避領域158としての立方体は、分割領域156毎に高さが異なり得、全ての回避領域158を合わせることで立体的な回避エリア152を包含する。
【0082】
また、第2の実施形態では、
図11に示すように、ノードは、回避領域158の立方体の上面の角(交点)となり、レグは、x軸やy軸方向のみならずz軸方向にも存在する。ここでは、1の交点に隣接する4つの分割領域156についてそれぞれ回避領域158の立方体の高さが異なり得るので、その交点のz軸方向には、それぞれの回避領域158に対する4つのノードが存在し得ることとなる。
【0083】
図11の定義の下、第1の実施形態における
図2のフローチャートに従って、準備工程に属する、回避エリア特定処理S1、領域分割処理S2、交差レグ特定処理S3、候補ノード抽出処理S4を行う。そして、回避経路導出工程に属する経路特定処理S5を行うが、かかる経路特定処理S5における交差判定S5−4の処理が第1の実施形態と異なっている。
【0084】
第2の実施形態の交差判定では、まず、第1の実施形態同様、経路特定部128が、xy平面において、分割経路と交差レグ160とが交差しているか否か判定する。ただし、第2の実施形態では、分割経路は3次元の式、即ち、x、y、zの関数で示される。xy平面での判定は、zを0として、または、省略して行えばよい。ここで、交差していないと判定された分割経路は、第2の実施形態においても交差しないと判定される。
【0085】
一方、分割経路がxy平面上では交差すると判定されたとしても、3次元空間において分割経路が回避エリア152と交差するとは限らない。そこで、経路特定部128は、xy平面において交差すると判定された分割経路に関して、3次元空間でも交差するか否か判定する。これは、対象となる分割経路の高度が、回避領域158より高いことをもって判定することができる。
【0086】
したがって、経路特定部128は、分割経路をxy平面に投影した線分が含まれる回避領域158と分割経路とのいずれの高度が高いかを判定する。具体的に、対象となる回避領域158の任意のx、y座標における分割経路の高度を求め、その分割経路の高度が回避領域158の高度より高いかを判定する。分割領域の高度Hは、例えば、基準ノードAを(x1,y1,z1)とし、対象ノードBを(x2,y2,z2)とし、回避領域158の任意のx、y座標Cを(xn,yn)とすると、H=(z2−z1)×Q/R+z1で表すことができる。ここで、Qは、基準ノードAからx、y座標Cまでの距離であり、Q=√((xn−x1)
2+(yn−y1)
2)で表すことができ、Rは、基準ノードAから対象ノードRまでのxy平面上の距離であり、R=√((x2−x1)
2+(y2−y1)
2)で表すことができる。そして、この高度Hと、対象となる回避領域158の高度とを比較し、高度Hの方が高ければ、分割経路は回避領域158よりz軸方向上方に位置するとして、交差なしと判定する。また、高度Hの方が低ければ、分割経路が回避領域158に含まれるということになるので、交差するという判定を維持する。
【0087】
このようにして、第1の実施形態同様、第2の実施形態においても分割経路の交差判定を確実に行うことが可能となり、適切な回避経路を導出することが可能となる。
【0088】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0089】
また、上述した回避経路導出方法は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。