(57)【要約】【課題】飛行体にとって適切に利用できる３次元地図を提供する。【解決手段】飛行体が飛行する飛行空間を複数の３次元空間によって表現した３次元地図を提供する。この３次元地図は、３次元空間が飛行空間において占める位置を特定する位置データと、３次元空間毎に割り当てられ、飛行体にとっての当該３次元空間の性質、例えば危険度などを表わす性質データとを備える。【選択図】図１
2018180359.tif 000002
【特許請求の範囲】
【請求項１】
飛行体が飛行する飛行空間を複数の３次元空間によって表現した３次元地図データであって、
前記３次元空間が前記飛行空間において占める位置を特定する位置データと、
前記３次元空間毎に割り当てられ、前記飛行体にとっての当該３次元空間の性質を表わす性質データと
を備えた３次元地図データ。
【請求項２】
前記飛行空間を構成する前記３次元空間の最小単位は、直方体形状であり、前記飛行空間は、前記最小単位の直方体形状の第１の３次元空間と、複数個の前記第１の３次元空間の大きさを備えた第２の３次元空間とを含む請求項１記載の３次元地図データ。
【請求項３】
前記３次元空間は、隣接する３次元空間との間に隙間を形成しない多面体であり、
前記位置データは、前記多面体である３次元空間の少なくとも１つの頂の、特定の位置を原点とする座標のデータを含む
請求項１または請求項２記載の３次元地図データ。
【請求項４】
前記位置データは、前記座標のデータと共に、前記３次元空間の大きさを特定するデータを含む請求項３記載の３次元地図データ。
【請求項５】
前記３次元空間の性質データは、前記飛行体の飛行の危険度である請求項１から請求項４のいずれか一項に記載の３次元地図データ。
【請求項６】
前記３次元空間の性質データは、前記飛行体の飛行の危険度と、当該危険度が発現する期間とを含む請求項１から請求項４のいずれか一項に記載の３次元地図データ。
【請求項７】
前記３次元空間の性質データは、前記飛行体の飛行の危険度と、当該危険度が増減する方向とを含む請求項１から請求項４のいずれか一項に記載の３次元地図データ。
【請求項８】
前記３次元空間の性質は、前記飛行体の危険度であり、前記３次元空間は、前記危険度が有意の場所に定義され、前記３次元空間が定義されていない前記飛行空間の危険度は設定されていない請求項１から請求項７のいずれか一項に記載の３次元地図データ。
【請求項９】
請求項１から請求項８のいずれか一項に記載の３次元地図データと、
前記３次元地図データに含まれる前記位置データおよび前記性質データに基づき、前記飛行体の飛行を制御する制御部と
を有する制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法、制御システム及び／またはそれらに利用されるデータに関する。
【背景技術】
【０００２】
近年、無人飛行体の開発がなされ、無線操縦による飛行、あるいは自律飛行を行なうものが種々提案されている。こうした無人飛行体、例えばドローンと呼ばれる飛行体では、ＧＰＳ装置やビデオカメラを搭載し、自らの飛行位置を知って、予め定めたルートで飛行することも行なわれている。こうした飛行には、離陸、着陸も含まれる。更に、障害物との衝突などを回避するために、予め障害物の座標などを入力し、障害物への接近を予防するものも提案されてる（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５５５００１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、飛行体の飛行を適切に行なうことが可能な制御装置、およびそれに利用可能地図データを提供することを課題とする。
【課題を解決するための手段】
【０００５】
本発明は、上述の課題を解決するためになされたものであり、以下の態様や形態として実現することが可能である。
【０００６】
本発明の１つの態様として、飛行体が飛行する飛行空間を複数の３次元空間によって表現した３次元地図データが提供される。この３次元地図データは、前記３次元空間が前記飛行空間において占める位置を特定する位置データと、前記３次元空間毎に割り当てられ、前記飛行体にとっての当該３次元空間の性質を表わす性質データとを備える。
【０００７】
本発明は上記態様以外にも種々の態様で実施可能である。例えば、３次元地図の製作方法、３次元地図の製作装置、３次元地図データ、３次元地図を記録した記録媒体、３次元地図の利用方法、３次元地図の利用装置、３次元地図を用いた飛行体の飛行制御装置、同じく飛行制御方法、３次元地図を用いて飛行する飛行体など、種々の態様で実施可能である。また、以下の実施形態の説明において、必須の事項として説明した以外の構成要素はなくても良く、必要に応じて、適宜他の構成要素と組合わせることも可能である。実施に際しては、いずれの部分をハードウェアによって実現し、いずれの部分をソフトウェアによって実現するかは、任意である。全てをハードウェアによって実現しても差し支えない。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施例としての３次元地図の概念を示す説明図。
【図２】３次元地図における位置の指定について説明する説明図。
【図３】大きさの等しいボックスによって３次元地図を構成した例を示す説明図。
【図４】３次元地図におけるリスク設定処理を示すフローチャート。
【図５】３次元地図のボックスの大きさを一部で変更して３次元地図を構成した例を示す説明図。
【図６】領域併合処理を示すフローチャート。
【図７】ボックスのデータ構造を示す説明図。
【図８】大きさの異なるボックスのデータ構造を示す説明図。
【図９】基本単位のボックスのデータ構造を示す説明図。
【図１０】時間によってリスクが異なる場合のデータ構造を示す説明図。
【図１１】時間によってリスクが異なる場合の他のデータ構造を示す説明図。
【図１２】ボックスにリスクの増減方向が設定されている場合のデータ構造を例示するフローチャート。
【図１３】飛行体の飛行を制御するシステムの概略構成図。
【図１４】飛行体と飛行サーバの処理の一例を示すフローチャート。
【図１５】飛行体の飛行ルートに関する情報をボックスに与えた場合を例示する説明図。
【図１６】飛行ルートに関するコストをボックスに与えた場合を例示する説明図。
【図１７】飛行体の自立飛行制御の概要を示すフローチャート。
【図１８】３次元地図を用いた飛行体による自立飛行の様子を示す説明図。
【発明を実施するための形態】
【０００９】
Ａ．第１実施形態：
３次元地図の第１の実施形態について説明する。図１は、３次元地図の概念を示す説明図である。本実施形態の３次元地図では、原点からＸ，Ｙ，Ｚ方向に３次元空間（この実施形態では所定の大きさの直方体形状のボックス）を配列する。原点はどのようなものでも差し支えないが、例えば日本経緯度原点を３次元地図の原点としてもよいし、後述する飛行体の飛行にとって基準となる任意の点を原点としてもよい。またボックスの大きさは、任意だが、例えば各辺１メートルとしてもよい。各辺は、後述する飛行体の縦横高さの最大寸法と略同一から数倍程度としてもよい。その場合、飛行体毎の３次元地図としてもよい。なお、３次元地図の作成は、汎用コンピュータの上で実行されるが、その前提として、３次元地図を生成する範囲の地形とその範囲の地物のデータが用意されているものとする。また汎用コンピュータ自体は、周知の構成を備えるものであり、特に構成上の特徴は存在しないので、汎用コンピュータの図示は省略した。
【００１０】
図１では、原点が地表と同じ高さであるとしている。この原点を左下隅とするボックスを、座標（０，０，０）のボックスと呼ぶ。ここからＸ，Ｙ，Ｚの各方向に同じ大きさのボックスを規定する。図１では、図示の分かりやすさを優先して、地表と同じ高さ（Ｚ＝０）の６×６個のボックス（Ｘ＝０〜５、Ｙ＝０〜５）と、建物などの地物ＯＢＪと、地表から５つ目の高さで、原点とＸ方向に同じ位置の６個のボックス（Ｘ＝０、Ｙ＝０〜５、Ｚ＝４）、更に、地表から５つ目の高さで、ボックス（０，５，４）とＹ方向に同じ位置の６個のボックス（Ｘ＝０〜５、Ｙ＝５、Ｚ＝４）のみを図示し、後は省略している。各ボックスは、（Ｘ，Ｙ，Ｚ）の座標値により特定可能である。
【００１１】
地物ＯＢＪはビルや鉄柱などの建物、街路樹、丘陵など、地表に存在するもので、飛行体の飛行を阻害する可能性のあるあらゆるものを含む。本実施形態では、３次元空間に相当するボックスは、地物ＯＢＪの有無に関わらず配置している。原点より地表が高い場合には、その間の３次元のボックスは、地表に現れない。従って、図２に示すように、３次元のボックスは、地物の有無を問わず、３次元的に全ての方向に一律に定義されうる。図２では、Ｘ方向に４つ分、Ｙ方向に７つ分、Ｚ方向に４つ分のボックスを例示している。もっとも、本実施形態での３次元地図の作成の目的は、飛行体の飛行を支援することにあるので、飛行体の飛行高さより高いところまで３次元のボックスを定義する必要はない。同様に、Ｘ，Ｙ方向についても、飛行体の飛行範囲より外の範囲まで、３次元のボックスを定義する必要はない。
【００１２】
３次元のボックスを設定したあと、各ボックスには、そのボックスの性質として、本実施形態では、リスクが付与される。リスクとは、後述する飛行体が飛行する上での障害となる可能性を意味している。例えば、図３に示す例では、地表から所定の高さまで樹木が存在する場合、その樹木の枝などが存在するボックス（図３においてハッチングを施したボックス）には、性質データとして、リスクの存在を示すフラグＦｒ＝１が付与されている。フラグＦｒの値が１であるとは、このボックス内に入ると、飛行体は樹木などに衝突して飛行が継続できないリスク（危険度）が存在するということを意味している。なお、図２に示した３次元のボックスが生成された直後には、各ボックスのリスクを示すフラグＦｒには、後述する様に、デフォルト値（本実施形態では値０）が設定される。
【００１３】
図３は、３次元の地図をＸ方向から見た状態を示しており、図示するボックスＴＢ００、ＴＢ１０、ＴＢ２０、ＴＢ１１、ＴＢ２１、ＴＢ１２、ＴＢ２２にはリスクとしてＦｒ＝１が設定されている。ボックスＴＢは、図示左下を原点として、座標が与えられており、そのサフィックスは、Ｙ方向とＺ方向の座標番号を示している。図３では、Ｘ方向は、座標番号０として扱っているが、実際には、Ｘ方向にも一定の範囲で、リスクを示すフラグＦｒ＝１が設定されたボックスが存在する。
【００１４】
次に、こうした３次元地図の製作においてリスクを設定する方法について説明する。図４は、リスク設定処理を示すフローチャートである。この処理は、３次元地図の作成において、図２に示したボックスを、所定の範囲について発生させた後に実行される。
【００１５】
この処理が開始されると、まずリスク設定の処理を行なう範囲を特定する処理を行なう（ステップＳ１００）。次に、特定した全範囲に、デフォルトのリスクとして、フラグＦｒに値０を入れる。つまり、全ボックスをリスクのない空間として設定する。続いて、まず地表を含むボックスであって、ステップＳ１００で特定した処理範囲の一番端、Ｘ，Ｙが最も小さいボックスを1つ特定し、以下の処理を、ＸＹ方向の限界（特定した範囲の最大値）まで繰り返す（ステップＳ２００ｓ−Ｓ２００ｅ）。具体的には、まず一番端のボックスから開始してＸ、Ｙ方向に探索を開始し、建物などの地物があるかを判断する（ステップＳ２１０）。地表において地物が存在すると判断したら、次にステップＳ１００で特定した処理範囲のＺ方向の上限まで、以下の処理を繰り返す（ステップＳ３００ｓ−Ｓ３００ｅ）。なお、地物の一部でも存在すれば、そのボックスは、地物ありと判断する。これは以下の処理でも同様である。
【００１６】
こうして地物が存在した地表のボックスが見い出されたら、次にその地表のボックスから順に上方に向けて、その地物がボックスを占有しているかを判断する。占有していれば、そのボックスのリスクを示すフラグＦｒに値１を設定する（ステップＳ３２０）。地表から順に上方に向けて処理を繰り返し（ステップＳ３００ｅ）、地物が専用していないボックスがあれば、フラグＦｒの設定（ステップＳ３２０）は行なわない。このため、そのボックスのフラグＦｒは値０のままに保たれる。
【００１７】
Ｚ方向の上限まで処理を繰り返したら（ステップＳ３００ｅ）、次にＸ、Ｙ方向に限界まで達したかを判断し（ステップＳ２００ｅ）、限界に達するまで、Ｘ方向、Ｙ方向に処理対象となるボックスを順次移動しながら、地物の検出（ステップＳ２１０）から処理を繰り返す。こうして、最初に特定した処理範囲について、地物の有無の判断と、地物がある場合のフラグＦｒの設定とを繰り返し、全範囲についての処理が完了したら、３次元地図として、これをハードディスクなどの記憶装置に書き出した上で（ステップＳ１２０）、「ＥＮＤ」に抜けて、図４に示した処理を終了する。
【００１８】
以上の処理を行なうことにより、図３に示したように、３次元のボックスに地物の存在に応じたリスクが設定される。図３の例では、３次元のボックスの大きさは一定とされているが、ボックスの大きさをリスクに応じて変更可能としてもよい。図５は、こうしたボックスの大きさを可変した場合の例を示している。こうしたボックスの大きさが可変の３次元地図は、リスクの設定がなされた後で、各ボックスの性質を調べて、同じ性質のボックスを併合することにより作成することができる。例えば図６に示す処理を、図４に示したリスク設定処理に続けて実行すればよい。図６は、領域併合処理を示すフローチャートである。
【００１９】
図６に示した処理を、図４の処理に続けて実行すると、まず処理開始位置を特定する（ステップＳ１３０）。処理開始位置は、図４の処理の開始位置と同じでよい。その位置から、まずＸ方向，Ｙ方向に探索を開始し（ステップＳ４００ｓ−Ｓ４００ｅ）、フラグＦｒが値１であるボックスがあるかを調べる（ステップＳ４１０）。フラグＦｒが値１のボックスが見い出されたら、今度はＺ方向に、上限まで処理を繰り返す（ステップＳ５００ｓ−Ｓ５００ｅ）。フラグＦｒが値１であるようなボックスからなる最大の直方体を探索する（ステップＳ５１０）。最大の直方体が特定できたら、その直方体に含まれる領域を１つの領域のデータに書き換える（ステップＳ５２０）。この処理をＺ方向の上限まで繰り返す（ステップＳ５００ｅ）。
【００２０】
このＺ方向への処理を繰り返した後、あるいはステップＳ４１０で着目したボックスのフラグＦｒが値１でなかった場合は、Ｘ，Ｙ方向の探索を進め、Ｘ，Ｙ方向端まで処理を繰り返す（ステップＳ４００ｅ）。こうしてＺ方向およびＸ，Ｙ方向について、それぞれの限界まで処理が完了すると、処理を行なった領域内には、Ｚ方向に所定の高さのボックスまで、フラグＦｒ＝１の直方体が作られることになる。そこで、次に、これらの直方体をまとめてより大きな直方体に置き換える（ステップＳ４２０）。以上の処理の後、「ＥＮＤ」に抜けて、本処理ルーチンを終了する。
【００２１】
図６に示した処理の結果、フラグＦｒ＝１のボックスはとりまとめられ、大きな直方体の領域とされる。図５に示した例では、ステップＳ４２０の取りまとめ処理では、フラグＦｒ＝１であるようなボックスで縦横方向に連続するボックスを取りまとめ、これが全て納まる直方体をひとまとまりとしている。従って、図５に示した例では、もともとフラグＦｒが値１でなかったボックスＴＢ０１，ＴＢ０２も、より大きな直方体ＴＢ００にまとめられ、フラグＦｒ＝１とされている。もとより、こうした取りまとめを行なわず、図３の例で言えば、ボックスＴＢ００，ＴＢ１０，ＴＢ２０で１つの直方体とし、ボックスＴＢ１１，ＴＢ２１，ＴＢ１２，ＴＢ２２で別の１つの長方体としてもよい。なお、図３、図５では、Ｘ方向については図示されていないが、直方体になるように領域をとりまとめるという点では、いずれもＸ方向に拡張可能である。
【００２２】
大きさの異なるボックスにより３次元地図を製作する方法は、上記の手法に限らない。大きさの異なるボックスから３次元地図を構成するアルゴリズムは、種々有り得る。例えば、最初に大きなボックスを用意し、その中に地物が存在することが見い出されたら、ボックス内の地物がない場所を探索し、その場所を小さいボックスに置き換えて、最初のボックスから除くという手法によってもよい。図４に示した手法では、最初の地表のボックスを探索するので、地表では小さく地表から隔たったところで大きくなるような地物（例えば上空に大きな看板などを支持する鉄柱など）に関して、リスクを示すフラグＦｒを上手くボックスに設定できない場合が有り得る。こうした地物の存在が想定される場合には、図４のステップＳ４００ｓの処理を、地表のボックスのみならず、地表から上方に隔たるボックスについて順次行なうようにすればよい。あるいは全てのボックスについて、地物があるか確認するようにすれば良い。
【００２３】
大きさが一定のボックスや大きさが異なるボックスのデータの持ち方について説明する。図７ないし図１１は、ボックス毎のデータ構造を示す説明図である。図７は、全てのボックスが同じ大きさとされている場合の基本的なデータ構造を示す。この場合、ボックスは、Ｘ，Ｙ，Ｚの座標により指定され、この座標を示すパラメータと、リスクを示すフラグＦｒの値とを持つ。図７に示した例では、座標（１，５，０）のボックスのフラグＦｒは値０、つまり飛行体にとっての飛行に障害となるリスクはなく、座標（２，５，０）と（１，５，１）のフラグＦｒは値１、つまりこれらのボックスには、飛行体にとっての飛行の障害（リスク）が存在することになる。
【００２４】
図８は、ボックスの大きさを可変とする場合のデータ構造を示す。この場合、ボックスはＸ，Ｙ，Ｚの座標とＸ，Ｙ，Ｚ方向の倍率ｘａ，ｙｂ，ｚｃと、リスクを示すフラグＦｒとからなる。図８に示した例では、座標（１，５，０）のボックスは、Ｘ方向の倍率ｘａが値３であり、Ｙ方向の倍率ｙｂが値２であり、Ｚ方向の倍率ｚｃが値３であることから、ＸＹＺの各辺が、単位となるボックスの３倍、２倍、３倍（体積で１８倍）のボックスであることを示している。そのボックスのリスクを示すフラグＦｒは値１であり、飛行体にとっての飛行の障害となる可能性があるボックスであることを示している。なお、全てのボックスに倍率の情報を持たせるならば、単位となるボックスについても、図９に示したように、各方向の倍率を１として規定することができる。もとより倍率の情報はオプションとして、単位となるボックスについては、倍率のパラメータを設けないというデータ構造とすることも容易である。
【００２５】
以上の説明では、ボックスのリスクは固定的なもの（時間が経過しても変化しないもの）として扱ったが、飛行体にとっての各ボックスの飛行上のリスクは、必ずしも固定的なものではない。１つは、時間によって、各ボックスのリスクが異なる場合が考えられる。例えば、特定の時間には風が強く、飛行体にとって風がない時間帯にはリスクのないボックスが風のある時間帯にはリスクのあるボックスになる場合などが考えられる。また、カメラを積んで、周辺の画像を認識しながら飛行する飛行体であれば、外装がガラス張りの建物では、その周辺のボックスでは、太陽光が反射して認識しにくい時間帯が有り得る。その時間帯は、その飛行体にとってはリスクのあるボックスが変化する。
【００２６】
そこで、こうしたボックスでは、パラメータに時間毎のリスクを含ませることができる。図１０は、一例として、ＸＹＺ方向に倍率を持つボックスにおいて、フラグＦｒ＝１となる時間帯が、１０時００分から１４時３０分であるという情報を持つ場合のデータ構造を示す。この時間帯以外は、フラグＦｒはデフォルト値、つまり値０となることを意味している。
【００２７】
更に、時間に応じて、ボックスの大きさを変えてリスクを管理してもよい。図１１は、こうした場合の一例を示す。図１１に示したデータ構造では、Ｘ，Ｙ，Ｚの座標に加えて、倍率のパラメータとしてＭ１，Ｍ２の２つを持ち、更に、Ｍ１がデフォルトであることを示すパラメータと、特定の時間に倍率Ｍ２が適用されることを示すパラメータとを持つ。このボックスのリスクを示すフラグＦｒは値１である。図１１に例示した座標（１，５，０）のボックスは、通常は倍率（１，１，１）の単位ボックスだが、１０時００分から１４時３０分までの間は、Ｙ方向に大きさが２倍のボックスに変形されることを示している。つまり、この時間帯では、単位ボックスであれば、座標（１，６，０）に位置したボックスまで、座標（１，５，０）のボックスと同じリスク（Ｆｒ＝１）として扱われることを示している。
【００２８】
以上説明した３次元地図では、飛行体が飛行する飛行空間を、所定の場所を原点とし、所定の大きさの直方体からなるボックスにより構成された空間として表現し、各ボックス毎に、飛行体にとっての性質としてリスクの有無をフラグＦｒとして記憶している。このため、飛行体にとって、現在の位置やこれから飛行しようとする位置が、いずれのボックスに相当し、かつどのようなリスクの場所であるかを容易に知ることができる。
【００２９】
各ボックスを所定の大きさの単位ボックスとすれば、飛行体の位置が、どのボックスに相当するかを容易に求めることができる。他方、リスクが同一の空間をできるだけ大きなボックスとして特定すれば、ボックス数を減らすことができ、全体のデータ量を低減することができる。地図としてどの位置がどのボックスに相当するかの対応表を作成しておけば、ボックスの大きさが異なっても、両者の対応関係を取得することは容易である。
【００３０】
更に、こうしたボックスに設定されるリスクは、時間などのパラメータにより変換させることも容易である。こうしたパラメータとしては、時間のみならず、風速や明るさなどを含む天候や、同じボックスに他の飛行体が入った場合などの条件等を想定することができる。
【００３１】
上記の説明では、３次元空間であるボックスの性質としてリスクを用い、これをフラグＦｒの値１（リスクあり）と値０（リスクなし）の二値的な情報として扱ったが、空間の性質は、３段階以上の多値的なものとして扱ってもよい。例えば３次元空間の性質がリスクであれば、値０：リスクなし、値１：リスク大（侵入してはならいない）、値２：リスク小（速やかに退出する）、といった３値の情報として扱ってもよい。もとより、更に多値の情報として扱うことも差し支えない。これは以下の実施形態でも同様である。
【００３２】
Ｂ．第２実施形態：
次に、３次元地図の別の実施形態として、ボックスの性質としてリスクの大きさとそのリスクの増減方向を持たせた例について説明する。また、リスクの増減方向の情報をボックスが持っている３次元地図を用いた飛行体の飛行制御についても説明する。図１２は、第２実施形態において用いられるボックスの一例を示す説明図である。なお、３次元空間を複数のボックスで構成する場合の各ボックスの座標の取り方などは、第１実施形態と同様である。
【００３３】
図１２に示したように、第２実施形態のボックスは、リスクの増減方向の情報を備える。そのデータ構造の一例を図１２の下段に示した。各ボックスは、座標（Ｘ，Ｙ，Ｚ）、倍率（ｘａ，ｙｂ，ｚｃ）に加えて、リスク方向（＋Ｄｘ・−Ｄｘ，＋Ｄｙ・−Ｄｙ，＋Ｄｚ・−Ｄｚ）のデータを持つ。Ｘ，Ｙ，Ｚの各方向については、増加する方向を「＋」、減少する方向を「−」として、＋Ｄｘ・−Ｄｘ、＋Ｄｙ・−Ｄｙ、＋Ｄｚ・−Ｄｚのように、互いに反対向きの二つの方向について、リスクの増減、またはリスクの偏りがないことを示すデータを、ペアにして保持する。つまり、リスク方向が値０であれば、その方向についてリスクの増減がないことを示し、値１であればリスクがその方向に増加することを示し、値−１であればリスクがその方向に減少することを示す。（＋Ｄｘ・−Ｄｘ）＝（１・０）であれば、座標Ｘが増加する方向にリスクが増加し、座標Ｘが減少する方向にはリスクの増減がないことを示す。（＋Ｄｘ・−Ｄｘ）＝（０・−１）であれば、座標Ｘが増加する方向にはリスクの増減はなく、座標Ｘが減少する方向にはリスクが減少することを示す。（＋Ｄｘ・−Ｄｘ）＝（−１・１）であれば、座標Ｘが増加する方向にリスクが減少し、座標Ｘが減少する方向にはリスクが増加することを示す。図１２の上段に示したボックス（座標（１，５，３））は、各矢印方向、つまり−Ｘ方向、Ｙ方向、−Ｚ方向にリスクが減少し、それ以外の方向にはリスクの増減がないので、（＋Ｄｘ・−Ｄｘ，＋Ｄｙ・−Ｄｙ，＋Ｄｚ・−Ｄｚ）＝（０・−１，−１・０，０・−１）である。
【００３４】
こうしたリスクの増減方向の情報をボックスが持つ場合、ボックスのリスクを示すフラグＦｒの値を、例えば３値化することが望ましい。例えば、従来通り、フラグＦｒ＝０は飛行上の障害がないボックスであることを示し、フラグＦｒ＝１は飛行上の障害が存在するため、飛行してはならないボックスであることを示す。その上で、フラグＦｒ＝２を設け、フラグＦｒ＝２のボックスは、フラグＦｒ＝１のボックスに隣接して配置するものとする。フラグＦｒ＝２のボックスは、飛行してもよいが、飛行体は、このボックスに入った場合、リスク方向を参照してリスクが低減される側に向けて飛行すれば、リスクを回避できることになる。また、フラグＦｒ＝０のボックスを飛行している飛行体は、リスク方向を参照してリスクが増加する側に向けては飛行しないようにする。こうした情報を備えた３次元地図の製作は、第１実施形態の手法に従って、まず全てのボックスについてのリスクを調べて、各ボックスのフラグＦｒを設定し、その上で、フラグＦｒ＝１のボックスに隣接するフラグＦｒ＝０のボックスについて、フラグＦｒ＝１のボックスから遠ざかる方向にリスクが減少することを示すリスクデータ（＋Ｄｘ・−Ｄｘ，＋Ｄｙ・−Ｄｙ，＋Ｄｚ・−Ｄｚ）を設定すればよい。
【００３５】
こうしたリスクに関する情報を備えた３次元地図を用いて、飛行体の飛行を制御する例について説明する。図１３は、飛行体の飛行を制御するシステムの概略構成図である。図示するように、このシステムでは、飛行体５０は、制御装置として機能する飛行サーバ８０と無線通信する機能を備える。飛行サーバ８０はネットワーク２５を介して外部サーバ７０と接続されている。飛行サーバ８０、飛行体５０とデータのやり取りを行なうだけでなく、必要に応じて、外部サーバ７０から様々な情報を取得する。
【００３６】
飛行体５０は、飛行サーバ８０との無線通信を行なう無線通信装置や、自己の位置を特定するＧＰＳ装置、飛行方向を制御する飛行コントローラなどを搭載している。飛行体５０は、飛行サーバ８０から受け取った３次元地図のリスクの情報等を用いて、出発地から目的地まで飛行する。
【００３７】
飛行サーバ８０は、内部に制御部９０を備える。この制御部９０は、飛行体５０や外部サーバ７０との通信を行なう通信部９１、地物のデータを記憶した地物データ部９２、３次元地図データベース９５から３次元ボックスを取得する３次元ボックス取得部９３、外部サーバ７０から情報を取得する外部情報取得部９７、リスクを更新するリスク更新部９８などを備える。第２実施形態では、３次元地図は予め作成されて３次元地図データベース９５に記憶されている（図示においては「データベース」を「ＤＢ」と略記することがある）が、天候などの外部要因により３次元地図のリスクが更新されることがある。リスク更新部９８は、そのための更新処理を行なう。リスクを更新するための外部情報の取得は、外部情報取得部９７により行なう。
【００３８】
次に、飛行体５０の飛行と飛行サーバ８０からの飛行情報の出力処理の一例を図１４のフローチャートに従って説明する。飛行体５０では、まず出発地と目的地の入力が行なわれる（ステップＳ６００）。こうした出発地と目的地の入力は、飛行体５０と接続されたスマートホンなどの携帯端末を用いて行なえばよい。家携帯端末の画面に必要な地図を呼び出し、地図の所望の箇所をタップすることにより目的地や出発地を入力することは容易である。なお、出発地は現在の飛行体５０の所在地を用いることもできる。
【００３９】
出発地と目的地の入力を行なった飛行体５０は、飛行サーバ８０に対して情報を要求する処理を行なう（ステップＳ６１０）。飛行体５０が要求するのは、出発地から目的地までの飛行ルートと、その飛行ルートが含まれるボックスおよび飛行ルートのボックスを取り囲むボックスの情報である。
【００４０】
飛行サーバ８０は、飛行体５０からの要求を受信すると（ステップＳ７００）、３次元地図からリスク情報を読み込み、出発地から目的地までの飛行ルートを演算する（ステップＳ７１０）。この飛行ルートは、飛行体５０が出発地において規制上必要な高度まで上昇したあと、目的地上空まで、リスクないボックスを最短距離で通過するルートである。飛行ルートを演算すると、飛行サーバ８０は、併せて飛行ルートが含まれるボックスおよび飛行ルートのボックスを取り囲むボックスの情報を取得する。３次元空間として直方体のボックスを用いる場合、飛行ルートが含まれるボックスの周辺には少なくとも９つのボックスが存在するが、そのうちのいくつかは飛行ルート前後のボックスの周辺のボックスと重複する。従って、飛行ルートを含むボックスの周辺のボックスとしては、こうした重複を除くことになる。
【００４１】
飛行サーバ８０は、飛行ルートを決定すると、外部情報が必要か否かの判断を行ない（ステップＳ７２０）、外部情報が必要と判断すると、ネットワーク２５を介して外部サーバ７０に接続し、必要な外部情報を取得する（ステップＳ７３０）。外部情報としては、風速などを含む天候などの情報である。飛行サーバ８０は、取得した情報に基づき、ステップＳ７１０で取得した飛行ルートが含まれるボックスおよび飛行ルートのボックスを取り囲むボックスのリスクを更新する（ステップＳ７４０）。例えば、風速と風向から、リスクの方向に関するデータを変更したり、風下側に建物などの地物があるボックスについて、リスクを示すフラグＦｒを値０から値１に変更したりする。こうしてリスクを更新した上で、飛行ルートが含まれるボックスおよび飛行ルートのボックスを取り囲むボックスの情報を飛行体に向けて出力する（ステップＳ７５０）。なお、外部情報の必要がなければ、ステップＳ７３０，Ｓ７４０は行なうことなく、ステップＳ７５０を実行する。外部情報が必要ないとは、例えば前回外部データを取得してからの経過時間が極めて短い場合や、常に外部情報による３次元地図のデータの更新が行なわれている場合などである。
【００４２】
飛行体５０は、飛行サーバ８０が出力する情報、即ち、飛行ルートが含まれるボックスおよび飛行ルートのボックスを取り囲むボックスの情報を取得し（ステップＳ６２０）、飛行制御を開始する（ステップＳ６３０）。原則として、飛行体５０は、飛行ルートに沿って、リスクを示すフラグＦｒが値０であるボックスを飛行する。つまり、そのボックスのリスクの増減方向を参照し、リスクの増減がない方向（少なくともリスクが増加しない方向に）に飛行する。しかしながら、例えば強風に流されて、飛行体５０が飛行ルートのボックスから逸脱し、隣接するボックスに入ってしまうことが有り得る。そこで、飛行体５０は、自分が属しているボックスのフラグＦｒが値２であるか否かの判断を常時行ない（ステップＳ６４０）、仮に自分が属しているボックスのフラグＦｒが値２であれば、そのボックスのリスクの増減方向を参照し、リスクの低い側に飛行する（ステップＳ６５０）。こうした処理を、飛行体５０は目的地に到着するまで繰り返す（ステップＳ６６０）。目的地に着けば、「ＥＮＤ」に抜けて、処理を終了する。
【００４３】
以上説明した第２実施形態によれば、３次元地図の各ボックスは、リスクの増減方向に関する情報を持っている。従って、リスクのないボックスを飛行するようにルートを設定されていても、強風など、何らかの理由でこのルートを逸脱したときは、リスクの低い方に離脱することができる。こうすることで、飛行体５０の飛行上のリスクを低減することができる。
【００４４】
上記の例では、飛行体５０が飛行する可能性のある領域全体のボックスを用意し、各ボックスにリスクの情報を持たせ、３次元地図として３次元地図データベース９５に保存している。従って、リスクのフラグＦｒ＝１のボックスは飛行してはならない領域を示していると考えることができる。この場合、フラグＦｒ＝０のボックスは、そもそも設けなくても差し支えない。つまり、飛行体から見た場合、「飛行してもよいボックスの情報」を持つか、「飛行してはならないボックスの情報」を持つかは、単純な二値化の場合は等価だと言える。つまり、いずれか一方の情報を持つだけでも、飛行体に対する飛行ルートの設定などは可能である。例えば、図１５に示した例では、地表ＧＤに設定されたボックスＴＢ００を原点として、フラグＦｒ＝０のボックスが配置されている。飛行体がこのボックスの中を飛行する限り、このように飛行可能なことを示すボックスのみでもよいし、逆に図１５に示したボックス以外の場所に、飛行に対する障害のあるボックスを配置してよい。
【００４５】
第２実施形態では、リスクの増減方向の情報を持つボックスを想定したが、リスクに代えて、ボックスの性質としてコストを与えてもよい。コストは、特に飛行体が自律飛行する場合、可能な複数の飛行ルートを選択するための情報として利用することができる。例えば図１６では、飛行体が上昇すべきボックスＴＢ１０，ＴＢ２０，ＴＢ１１，ＴＢ２１，ＴＢ１２，ＴＢ２２において、最も上位のボックスＴＢ１２，ＴＢ２２からは水平方向に飛行しなければならないとする。このとき、いずれの方向に飛行するかが飛行体に任されているとすれば、飛行体は水平方向の隣接するボックスのコストを読み出し、目的地までのコストの総和が小さい飛行ルートを選択するといった対応が可能となる。図１６に示した例では、ボックスＴＢ０２のコストがボックスＴＢ３２，ＴＰ４２のコストより低い。従って、ボックスＴＢ１２，ＴＢ２２に至った飛行体は、コストの小さい側のルートを選択して飛行することができる。コストは、リスクと同じように設定してもよいし、その飛行ルートを通った場合の飛行体のバッテリの減り方など、飛行体５０の状況により設定してもよい。
【００４６】
Ｃ．第３実施形態：
次に、実施形態の３次元地図を用いた第３実施形態について説明する。第３実施形態では、飛行サーバ８０などは第２実施形態と同様のハードウェア構成を備えるが、飛行体５０は、自律飛行を行なう。第２実施形態では、飛行サーバ８０が、リスクが存在しないボックスを特定して、飛行体５０に飛行ルート（飛行すべきボックスのつながり）を出力した。従って、飛行体５０は、風に流されるといった事態がなければ、飛行サーバ８０から出力された飛行ルートに従って飛行するだけであった。これに対して、第３実施形態では、飛行体５０は、飛行すべきボックスの特定を自ら行ないつつ、飛行する。
【００４７】
第３実施形態における飛行体５０の処理を図１７に示した。この自律飛行処理を開始すると、飛行体５０は、まず飛行ルートを取得する（ステップＳ８００）。この飛行ルートは、３次元地図におけるボックスなどを参照する前の飛行ルートであり、出発地から目的地までを、規制上の高度を保って飛行する、いわば折れ線的な飛行ルートである。
【００４８】
飛行体５０は、次にこの飛行ルートに沿って、３次元地図から飛行ルート周辺の情報を取得する（ステップＳ８１０）。飛行ルート周辺とは、飛行ルートが含まれるボックスとこれに隣接するボックスに限らず、もっと広い領域を意味している。例えば、Ａ地点からＢ地点まで飛行する場合であれば、Ａ地点とＢ地点を対角とする長方形領域で、飛行体５０が飛行し得る高さまでをカバーした直方体を想定し、この直方体に含まれる全てのボックスを飛行ルート周辺のボックスとし、その情報を取得する。飛行ルート周辺のボックスの情報は、飛行サーバ８０から取得してもよいし、予め飛行体５０に３次元地図を記憶させておき、飛行体５０内部で取得するものとしてもよい。
【００４９】
続いて、飛行体５０は飛行制御に入り（ステップＳ８２０）、飛び立った直後から自らの飛行地点が属しているボックスの情報を参照し、リスク情報を取得する（ステップＳ８３０）。取得したリスク情報、具体的にはフラグＦｒが値０であるか否かを判断し（ステップＳ８４０）、Ｆｒ＝０であれば、そのまま飛行ルートに沿った飛行制御を継続する（ステップＳ８２０〜Ｓ８４０）。他方、飛行地点のボックスから得られたリスクのフラグＦｒが値０でなければ、低リスク側に飛行する処理を行なう（ステップＳ８５０）。上記の処理を目的地に着くまで繰り返す（ステップＳ８６０）。
【００５０】
図１７に例示した自律飛行処理を行なった場合の飛行体５０の飛行の様子を図１８に例示した。図において、空白のボックスＴＢｓは、リスクのフラグＦｒが値０のボックスである。また縦のハッチングを施したボックスＴＢＬは−Ｙ方向（図示左方向）にリスクが低減するという情報が付与されている。同様に、縦波のハッチングを施したボックスＴＢｒはＹ方向（図示右方向）にリスクが低減するという情報が付与されている。更に、横線のハッチングを施したボックスＴＢｄは−Ｚ方向（図示下方向）にリスクが低減するという情報が付与されている。横波のハッチングが施されたボックスＴＢｕはＺ方向（図示上方向）にリスクが低減するという情報が付与されている。更に、斜め線のハッチングが施されたボックスＴＢｃは−Ｙおよび−Ｚ方向（結果的に図示左下方向）にリスクが低減するという情報が付与されている。図において、黒く塗りつぶされたボックスＢＤＧ１，ＢＤＧ２は、リスクのフラグＦｒが値１であり、飛行してはならないという情報が付与されている。
【００５１】
飛行可能なボックスＴＢｓを飛行している飛行体５０は、飛行ルートとして破線ＡＲを記憶しており、この飛行ルートＡＲに沿って、次の目標地点ＤＤまで飛行しようとしているとする。このため、飛行体５０は、現在の飛行位置から、上昇しつつ、図示左側（−Ｙ方向）に、つまり斜め上方に飛行しようとする。その結果、飛行体５０が、ボックスＴＢｒに入ると、飛行体５０は自らの判断（図１７，ステップＳ８５０の処理）で、このボックスＴＢｒにおいてリスクが低減される側に移動する。この結果、飛行体５０は、リスクのないボックスＴＢｓに戻りつつ上昇を続けるが、飛行ルートは、直接次の目標地点ＤＤに向かっているので、再度斜め上方に飛行しようとし、ボックスＴＢｒへの侵入と離脱を繰り返す。
【００５２】
その後、飛行体５０が更に上昇を続け、今度はボックスＴＢｄに入ると、飛行体５０は、自らの判断で、このボックスＴＢｄからリスクが低減される側、つまり下方向に移動し、リスクのないボックスＴＢｓに戻る。こうして飛行体５０は、実線ＲＲで例示したコースに沿って飛行し、次の目標地点ＤＤに至ることになる。なお、図示では、上記の処理が分りやすいように、飛行体５０の飛行ルートは、ボックスＴＢｒへの侵入と離脱を繰り返すように描いたが、ボックスのフラグＦｒについての判断を高頻度で行なっていれば、飛行体５０は、ボックスＴＢｒとボックスＴＢｓとの境界に沿って上昇するように飛行することになる。
【００５３】
以上説明した第３実施形態によれば、飛行体５０は、リスクのないボックスに沿った飛行ルートの提供を受けなくても、自らの判断で、リスクのあるボックスを避けて飛行することができる。従って、例えば時間と共にボックスのリスクが変化するような場合でも、飛行体５０はこれに対応して、目的地まで飛行することができる。
【００５４】
Ｄ．その他の実施形態：
以下、その他の実施形態について説明する。上記の実施形態では、飛行空間を構成する３次元空間の最小単位は直方体形状としたが、直方体以外の形状でも差し支えない。立方体や直方体のように、これをいくつか束ねることで相似形状の立方体や、相似形状または縦横比の異なる直方体とすることができれば、最小単位の３次元空間と、複数個の３次元空間の大きさを備えた別の３次元空間とから飛行空間を構成することは容易であり、その場合、飛行空間を最小単位の３次元形状とその３次元方向の倍率とによって表現することができる。もとより３次元空間の大きさは倍率に拠らず、具体的な寸法で表わすものとしてもよい。
【００５５】
また、原点の位置は、３次元空間の位置を特定できれば、どのように定めてもよい。例えば、３次元空間を、隣接する３次元空間との間に隙間を形成しない多面体とし、位置データを、この多面体である３次元空間の少なくとも１つの頂の、特定の位置を原点とする座標のデータとすればよい。多面体である３次元空間中心を原点とした実施形態なども可能である。
【００５６】
飛行空間を構成する３次元空間の大きさは、同一としてもよいが、各３次元空間の大きさを特定するデータを３次元地図に持たせれば、異なる大きさの３次元空間によって飛行空間を構成した実施形態とすることも可能である。この場合、大きさを特定するデータは、大きさを特定する絶対値として用意してもよいし、基本単位となる３次元空間の大きさに対する倍率として用意してもよい。倍率は、１より大きい値である必要はなく、１より小さい値であってもよい。また、３次元地図が直交座標系を採用している場合、各方向に対してそれぞれ倍率を用意してもよい。
【００５７】
飛行空間を３次元空間により構成する場合の座標系は、上記実施形態で示したＸＹＺの直交座標系に限らず、球面座標系や極座標系などによってもよい。極座標系や球面座標系は、飛行体が離発着する地点を原点として３次元地図を構成する場合には、ボックスの特定が容易となる。３次元地図を構成するボックスは、直方体に限らず、３次元空間を埋められる形状であれば、どのようなものでも差し支えない。いわゆる空間充填体に相当する基本的な立体形状であれば、どのような形状でも利用可能である。更に、極座標系や球面座標系を用いれば、曲面を含んだ３次元空間を用いて３次元地図を構成してもよい。
【００５８】
３次元空間の性質を示す性質データとしては、飛行体の飛行の危険度（リスク）以外に、種々の性質を採用した実施形態とすることも可能である。例えば、飛行の容易さを示すコストや、遊覧飛行における飛行の楽しさなどの指標を空間の性質としてもよい。こうした空間の性質、例えば飛行体の飛行の危険度などを、危険度などが発現する期間と組合わせた３次元地図とする実施形態も可能である。あるいは、３次元空間の性質として、例えば飛行体の飛行の危険度などを、この危険度などが増減する方向を含むものとして３次元地図をとする実施形態も可能である。こうした空間の性質として、方向を持たせれば、特定の目的、例えば危険回避や望ましい飛行ルートの探索などに、用いることができる。
【００５９】
もよとり、３次元空間の性質は全ての３次元空間について用意する必要はなく、例えば３次元空間の性質が危険度であるとした場合、危険度が有意である場合だけその場所について３次元空間を定義しておく実施形態も可能である。この場合、３次元空間が定義されていない飛行空間の危険度は設定されていないものとして扱えばよい。他の性質であっても同様である。３次元空間の性質が、あるかないか、というような二値的なもの、例えば飛行に関するリスクがある・リスクがないというものであれば、いずれか一方の性質に関してのみ３次元空間を定義しておくことも差し支えない。
【００６０】
上記の実施形態では、３次元空間に相当するボックスの位置データは、所定の位置を原点として規定した直交座標系ＸＹＺを用い、各軸方向に単調増加する番号（原点から何番目か）を用いて表わすものとしたが、ボックスの中心（重心位置など）の絶対座標を用いて表現してもよい。また、原点は、あるボックスの左下（ＸＹＺの各方向において最も小さい値となる点）の位置としたが、これも中心座標など、異なる位置と対応付けてもよい。リスクが増減する方向については、図１２に示したように、ＸＹＺの各方向についてのみ規定したが、更に細かくＸ方向にα度、Ｙ方向にβ度の方向に増加する（低減する）といった形で規定してもよい。ボックスの配列を東西南北、真上方向に合わせれば、北２０度、西３０度といった指定でも差し支えない。
【００６１】
以上の実施形態の全部又は一部に記載された態様は、飛行体の誘導を可能とするための装置及びそれに利用可能なデータのデータ構造の提供、処理速度の向上、処理精度の向上、使い勝手の向上、データを利用した機能の向上又は適切な機能の提供その他の機能向上又は適切な機能の提供、データ及び／又はプログラムの容量の削減、装置及び／又はシステムの小型化等の適切なデータ、プログラム、記録媒体、装置及び／又はシステムの提供、並びにデータ、プログラム、装置又はシステムの制作・製造コストの削減、制作・製造の容易化、制作・製造時間の短縮等のデータ、プログラム、記録媒体、装置及び／又はシステムの制作・製造の適切化のいずれか一つの課題を解決する。
【符号の説明】
【００６２】
２５…ネットワーク
５０…飛行体
７０…外部サーバ
８０…飛行サーバ
９０…制御部
９１…通信部
９２…地物データ部
９３…３次元ボックス取得部
９５…３次元地図データベース
９７…外部情報取得部
９８…リスク更新部
【図１】
2018180359.tif 000003
【図２】
2018180359.tif 000004
【図３】
2018180359.tif 000005
【図４】
2018180359.tif 000006
【図５】
2018180359.tif 000007
【図６】
2018180359.tif 000008
【図７】
2018180359.tif 000009
【図８】
2018180359.tif 000010
【図９】
2018180359.tif 000011
【図１０】
2018180359.tif 000012
【図１１】
2018180359.tif 000013
【図１２】
2018180359.tif 000014
【図１３】
2018180359.tif 000015
【図１４】
2018180359.tif 000016
【図１５】
2018180359.tif 000017
【図１６】
2018180359.tif 000018
【図１７】
2018180359.tif 000019
【図１８】
2018180359.tif 000020