(57)【要約】【課題】複数の飛行体が所定のエリア内で飛行する場合に、飛行体を円滑に移動させる。【解決手段】飛行制御装置１２は、空間エリアに対応づけて飛行制御に関する情報を記憶する記憶部を参照して、特定の空間エリアに対応する飛行制御に関する情報を取得する取得部３０と、取得部３０により取得された飛行制御に関する情報に基づいて自装置の飛行を制御する制御部３４と、を備える。【選択図】図２
2018092332.tif 000002
【特許請求の範囲】
【請求項１】
空間エリアに対応づけて飛行制御に関する情報を記憶する記憶部を参照して、特定の空間エリアに対応する飛行制御に関する情報を取得し、
取得した前記飛行制御に関する情報に基づいて自装置の飛行を制御する、
処理をコンピュータが実行することを特徴とする飛行制御方法。
【請求項２】
前記特定の空間エリアは、前記自装置の空間上の位置に対応するエリアである、
ことを特徴とする請求項１記載の飛行制御方法。
【請求項３】
前記飛行制御に関する情報は、進行方向、又は、停滞制御である、
ことを特徴とする請求項１記載の飛行制御方法。
【請求項４】
前記飛行制御に関する情報は、１又は複数の進行方向である、
ことを特徴とする請求項１記載の飛行制御方法。
【請求項５】
前記飛行制御に関する情報は、複数の進行方向であり、
他の飛行体の検出方向に応じて前記複数の進行方向のうち衝突を回避可能な進行方向を選択する、
ことを特徴とする請求項１に記載の飛行制御方法。
【請求項６】
前記記憶部は、メッシュ分割された複数の空間エリアに対応づけて飛行制御に関する情報を記憶する、
ことを特徴とする請求項１記載の飛行制御方法。
【請求項７】
前記空間エリアは、緯度、経度、高度のいずれか又は一部若しくは全部の組み合わせ、に応じて規定される、
ことを特徴とする請求項１記載の飛行制御方法。
【請求項８】
前記飛行制御に関する情報は、前記空間エリアに対応する高度に応じて進行方向が予め定められる、
ことを特徴とする請求項１記載の飛行制御方法。
【請求項９】
空間エリアに対応づけて飛行制御に関する情報を記憶する記憶部を参照して、特定の空間エリアに対応する飛行制御に関する情報を取得し、
取得した前記飛行制御に関する情報に基づいて自装置の飛行を制御する、
処理をコンピュータに実行させることを特徴とする飛行制御プログラム。
【請求項１０】
空間エリアに対応づけて飛行制御に関する情報を記憶する記憶部を参照して、特定の空間エリアに対応する飛行制御に関する情報を取得する取得部と、
取得された前記飛行制御に関する情報に基づいて自装置の飛行を制御する制御部と、
を含むことを特徴とする飛行制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、飛行制御方法、飛行制御プログラム、及び飛行制御装置に関する。
【背景技術】
【０００２】
従来、移動する物体から所定の距離離れた状態で、移動する物体に追従して飛行する自律飛行ロボットが知られている。
【０００３】
また、第１の飛行計画による飛行中に障害物を検出した場合、検出した障害物を回避するように、第２の飛行計画を算出する無人航空機のナビゲーション方法が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１１９８２８号公報
【特許文献２】特開２０１０−０９５２４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、例えば、自律的に飛行する飛行体を配送システム等に用いた場合、所定のエリア内に多数の飛行体が飛行することが考えられる。この場合、飛行体が、他の飛行体が自機から所定の距離以内を飛行していることを検出して、他の飛行体との衝突を回避することが考えられる。
【０００６】
しかしながら、多数の飛行体が飛行しているエリア内では、飛行体が他の飛行体を回避した方向にさらに別の飛行体が飛行している場合もあり、この場合、飛行体は他の飛行体を回避するために方向転換をする場合が多くなる。従って、この場合、飛行体は円滑に飛行することができない。
【０００７】
本発明は、一つの側面として、複数の飛行体が所定のエリア内で飛行する場合に、飛行体を円滑に移動させることを目的とする。
【課題を解決するための手段】
【０００８】
一つの態様として、空間エリアに対応づけて飛行制御に関する情報を記憶する記憶部を参照して、特定の空間エリアに対応する飛行制御に関する情報を取得し、取得した前記飛行制御に関する情報に基づいて自装置の飛行を制御する。
【発明の効果】
【０００９】
一つの側面として、複数の飛行体が所定のエリア内で飛行する場合に、飛行体を円滑に移動させることができる、という効果を有する。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る飛行体の概略構成を示すブロック図である。
【図２】実施形態に係る飛行制御装置の機能ブロック図である。
【図３】ブロック及びボクセルを説明するための斜視図である。
【図４】ボクセルの高度に応じて定められた進行方向の一例を説明するための斜視図である。
【図５】第１ボクセル層における飛行体の進行方向の一例を示す平面図である。
【図６】第２ボクセル層における飛行体の進行方向の一例を示す平面図である。
【図７】第３ボクセル層における飛行体の進行方向の一例を示す平面図である。
【図８】第４ボクセル層における飛行体の進行方向の一例を示す平面図である。
【図９】飛行体が東方向に直進した後に北方向に進行方向を転換する場合の飛行経路の一例を示す平面図である。
【図１０】基準情報の一例を示す図である。
【図１１】自機情報の一例を示す図である。
【図１２】他機情報の一例を示す図である。
【図１３】進入禁止情報の一例を示す図である。
【図１４】目的地情報の一例を示す図である。
【図１５】目的ブロック情報の一例を示す図である。
【図１６】方向転換情報の一例を示す図である。
【図１７】実施形態に係る飛行制御装置として機能するコンピュータの概略構成を示すブロック図である。
【図１８】実施形態に係る飛行制御処理の一例を示すフローチャートである。
【図１９】実施形態に係る飛行経路決定処理の一例を示すフローチャートである。
【図２０】実施形態に係る方向転換制御処理の一例を示すフローチャートである。
【図２１】実施形態に係る高速領域進入確認処理の一例を示すフローチャートである。
【図２２】実施形態に係る高速飛行制御処理の一例を示すフローチャートである。
【図２３】実施形態に係る衝突回避処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、開示の技術の実施形態の一例を詳細に説明する。
【００１２】
まず、図１を参照して、本実施形態に係る飛行体１０の構成を説明する。図１に示すように、飛行体１０は、飛行制御装置１２、複数（例えば、４枚）のプロペラ１４、及びGlobal Positioning System（ＧＰＳ）受信部１６を含む。
【００１３】
各プロペラ１４は、同一平面上に存在し、飛行制御装置１２による制御によって回転数が個別に制御される。従って、飛行制御装置１２は、各プロペラ１４の回転数を個別に制御することにより、飛行体１０の飛行を制御することができる。
【００１４】
ＧＰＳ受信部１６は、３個以上のＧＰＳ衛星から信号を受信することにより、飛行体１０の現在位置の位置情報（例えば、飛行体１０の現在位置の緯度、経度、及び高度）を測位し、測位した位置情報を飛行制御装置１２に出力する。なお、ＧＰＳ受信部１６に代えて、飛行体１０の位置情報が特定可能な他の装置を用いてもよい。
【００１５】
また、飛行体１０は、無線通信によって、他の飛行体１８と各種情報の送受信を行う。また、飛行体１０は、無線通信によって、ネットワーク２０を介してサーバ２２と各種情報の送受信を行う。なお、他の飛行体１８の構成も飛行体１０の構成と同様である。
【００１６】
次に、図２を参照して、本実施形態に係る飛行制御装置１２の機能的な構成を説明する。図２に示すように、飛行制御装置１２は、取得部３０、決定部３２、及び制御部３４を含む。また、飛行制御装置１２の所定の記憶領域には、飛行制御データ４０、基準情報４２、自機情報４４、他機情報４６、進入禁止情報４８、目的地情報５０、目的ブロック情報５２、及び方向転換情報５４が記憶される。
【００１７】
飛行制御データ４０には、飛行体１０の飛行制御に関する情報（以下、「飛行制御情報」という）が、空間エリアに対応づけて記憶される。なお、飛行制御データ４０は、飛行制御装置１２の所定の記憶領域に予め記憶される。図３〜図９を参照して、飛行制御データ４０について説明する。
【００１８】
図３に示すように、飛行制御データ４０には、複数のボクセル６２を含むブロック６０のボクセル６２毎に飛行制御情報が記憶される。本実施形態では、ブロック６０は、水平方向の予め定められた一方向（例えば図３のＸ軸方向）に５個配列され、かつ一方向に直交する方向（例えば図３のＹ軸方向）に５個配列され、鉛直方向（図５のＺ軸方向）に４個配列されたボクセル６２を含む。また、本実施形態では、ボクセル６２は、一辺の長さが５［ｍ］の立方体とされる。なお、ボクセル６２の形状、各辺の長さ、及びブロック６０に含まれるボクセル６２の数は図３に示す例に限定されないことは言うまでもない。
【００１９】
また、図４に示すように、ボクセル６２の高度に応じて飛行体の進行方向が予め定められる。以下では、ブロック６０の上から１段目のボクセル６２群を第１ボクセル層６３といい、ブロック６０の上から２段目のボクセル６２群を第２ボクセル層６４という。また、以下では、ブロック６０の上から３段目のボクセル６２群を第３ボクセル層６５といい、ブロック６０の上から４段目のボクセル６２群を第４ボクセル層６６という。
【００２０】
また、以下では、一例として、第１ボクセル層６３の高度に応じて定められた進行方向が南方向であり、第２ボクセル層６４の高度に応じて定められた進行方向が北方向である場合について説明する。また、以下では、一例として、第３ボクセル層６５の高度に応じて定められた進行方向が東方向であり、第４ボクセル層６６の高度に応じて定められた進行方向が西方向である場合について説明する。
【００２１】
すなわち、本実施形態では、飛行体１０、１８は、北に向かって飛行する場合は第１ボクセル層６３に応じた高度で飛行し、南に向かって飛行する場合は第２ボクセル層６４に応じた高度で飛行する。また、本実施形態では、飛行体１０、１８は、東に向かって飛行する場合は第３ボクセル層６５に応じた高度で飛行し、西に向かって飛行する場合は第４ボクセル層６６に応じた高度で飛行する。
【００２２】
図５〜図８に示すように、飛行制御データ４０には、ブロック６０がメッシュ分割された複数のボクセル６２の各々に対応付けて、飛行制御情報として、１又は複数（図５〜図８の例では２）の進行方向が記憶される。なお、図５〜図８の矢印は、各ボクセル６２における飛行体１０の進行方向を示す。また、「上昇」のボクセル６２は、飛行体１０が上昇する方向に進行することを示し、「下降」のボクセル６２は、飛行体が下降する方向に進行することを示す。
【００２３】
また、第１ボクセル層６３、第２ボクセル層６４、第３ボクセル層６５、及び第４ボクセル層６６の各ボクセル層において、「上昇」のボクセル６２、及び「下降」のボクセル６２の位置は、同じ位置である。また、各ボクセル層の領域６７は、飛行体１０が各ボクセル層に応じて定められた方向に進行する場合に、飛行する領域である。
【００２４】
本実施形態に係る飛行体１０は、領域６７を飛行する場合は設計仕様及び法令等によって定められた最高速度で飛行し、領域６７以外の領域のボクセル６２を飛行する場合は進行方向を転換できるように、領域６７での飛行速度より遅い速度で飛行する。
【００２５】
また、以下のボクセル６２については、他のボクセル６２と区別して説明する場合は、符号の末尾にアルファベットを付与する。ボクセル６２Ａは、飛行体１０が、「上昇」のボクセル６２、又は「下降」のボクセル６２に進入する直前に飛行するボクセルである。ボクセル６２Ｂは、飛行体１０が、「上昇」のボクセル６２、又は「下降」のボクセル６２を出た後に、領域６７のボクセル６２に隣接するボクセル６２に進入する直前に飛行するボクセルである。
【００２６】
ボクセル６２Ｇは、飛行体１０が、領域６７から出る場合に進行方向を転換するボクセルである。ボクセル６２Ｃは、領域６７の進行方向に対してボクセル６２Ｇの斜め後ろのボクセルである。ボクセル６２Ｄは、飛行体１０が、領域６７に進入する直前に、進行方向を転換するボクセルである。ボクセル６２Ｅは、飛行体１０が、上昇するか、又は下降するかに応じて進行方向を選択するボクセルである。ボクセル６２Ｆは、領域６７以外のボクセル６２において、領域６７の進行方向に隣接するブロック６０に進入可能なボクセルである。
【００２７】
また、各ボクセル層は、領域６７の進行方向に隣接する２種類のボクセル層が一組として取り扱われる。なお、以下では、２種類のボクセル層を区別する場合は、ボクセル６２Ｇを含むボクセル層の符号の末尾に「Ａ」を付し、ボクセル６２Ｄを含むボクセル層の符号の末尾に「Ｂ」を付して説明する。
【００２８】
飛行体１０は、各ボクセル６２に対応づけられた進行方向に従って飛行する。従って、飛行体１０が東方向に直進した後、北方向に方向を転換して直進する場合、例えば図９に示すように、飛行体１０は、第３ボクセル層６５Ａ、６５Ｂの領域６７を直進する。また、飛行体１０は、進行方向を転換するブロック６０の第３ボクセル層６５Ａのボクセル６２Ｇにおいて、領域６７から出て、「上昇」のボクセル６２に向けて飛行する。また、飛行体１０は、「上昇」のボクセル６２において第２ボクセル層６４Ｂに応じた高度まで上昇した後、第２ボクセル層６４Ｂのボクセル６２Ｄを通過して、第２ボクセル層６４Ｂの領域６７に進入する。そして、飛行体１０は、第２ボクセル層６４Ａ、６４Ｂの領域６７を直進する。
【００２９】
基準情報４２には、ブロック６０、ボクセル６２、及び飛行体１０、１８等の位置の基準となる情報が記憶される。図１０に、基準情報４２の一例を示す。図１０に示すように、基準情報４２には、緯度、経度、高度（南）、高度（北）、高度（東）、及び高度（西）が記憶される。緯度及び経度には、後述するブロック６０、ボクセル６２、及び飛行体１０、１８等の位置の基準となる緯度及び経度が記憶される。高度（南）、高度（北）、高度（東）、及び高度（西）には、各々東西南北の各方向に飛行体１０が直進する場合の高度［ｍ］の下限値が記憶される。なお、本実施形態では、基準情報４２は、飛行制御装置１２の所定の記憶領域に予め記憶される。
【００３０】
すなわち、本実施形態では、飛行体１０は、南方向に直進する場合、すなわち、第１ボクセル層６３を飛行する場合は、９５［ｍ］以上１００［ｍ］未満の高度を飛行する。また、飛行体１０は、北方向に直進する場合、すなわち、第２ボクセル層６４を飛行する場合は、９０［ｍ］以上９５［ｍ］未満の高度を飛行する。また、飛行体１０は、東方向に直進する場合、すなわち、第３ボクセル層６５を飛行する場合は、８５［ｍ］以上９０［ｍ］未満の高度を飛行する。また、飛行体１０は、西方向に直進する場合、すなわち、第４ボクセル層６６を飛行する場合は、８０［ｍ］以上８５［ｍ］未満の高度を飛行する。
【００３１】
自機情報４４には、飛行体１０自身の現在位置に関する情報が記憶される。図１１に、自機情報４４の一例を示す。図１１に示すように、自機情報４４には、緯度、経度、Ｘ座標、Ｙ座標、ｘ座標、ｙ座標、速度（緯度）、及び速度（経度）が記憶される。緯度には、飛行体１０の現在位置の緯度が記憶される。経度には、飛行体１０の現在位置の経度が記憶される。Ｘ座標には、基準情報４２の緯度及び経度に対応するブロック６０を基準とした自機情報４４の緯度及び経度に対応するブロック６０の東西方向の座標が記憶される。Ｘ座標の一例としては、基準情報４２の緯度及び経度に対応するブロック６０から自機情報４４の緯度及び経度に対応するブロック６０までの東西方向に沿ったブロック６０の個数が挙げられる。また、この座標の値としては、例えば、基準情報４２の緯度及び経度に対応するブロック６０から東方向のブロック６０にはプラスの符号を付し、西方向のブロック６０にはマイナスの符号を付す例が挙げられる。
【００３２】
Ｙ座標には、基準情報４２の緯度及び経度に対応するブロック６０を基準とした自機情報４４の緯度及び経度に対応するブロック６０の南北方向の座標が記憶される。Ｙ座標の一例としては、基準情報４２の緯度及び経度に対応するブロック６０から自機情報４４の緯度及び経度に対応するブロック６０までの南北方向に沿ったブロック６０の個数が挙げられる。また、この座標の値としては、例えば、基準情報４２の緯度及び経度に対応するブロック６０から北方向のブロック６０にはプラスの符号を付し、南方向のブロック６０にはマイナスの符号を付す例が挙げられる。
【００３３】
ｘ座標には、自機情報４４の緯度及び経度に対応するボクセル６２のブロック６０内における東西方向の座標が記憶される。ｙ座標には、自機情報４４の緯度及び経度に対応するボクセル６２のブロック６０内における南北方向の座標が記憶される。ｘ座標の一例としては、ブロック６０内の予め定められたボクセル６２（例えば、南西の端部のボクセル６２）から自機情報４４の緯度及び経度に対応するボクセル６２までの東西方向に沿ったボクセル６２の個数が挙げられる。ｙ座標の一例としては、ブロック６０内の上記予め定められたボクセル６２から自機情報４４の緯度及び経度に対応するボクセル６２までの南北方向に沿ったボクセル６２の個数が挙げられる。
【００３４】
速度（緯度）には、単位時間あたりの飛行体１０の南北方向に沿った移動量が記憶される。速度（経度）には、単位時間あたりの飛行体１０の東西方向に沿った移動量が記憶される。速度（緯度）及び速度（経度）は、例えば、飛行体１０の進行方向を判別するために用いられる。
【００３５】
他機情報４６には、他の飛行体１８の現在位置に関する情報が記憶される。図１２に、他機情報４６の一例を示す。図１２に示すように、他機情報４６には、識別情報、Ｘ座標、Ｙ座標、ｘ座標、ｙ座標、高度、速度（緯度）、及び速度（経度）が記憶される。識別情報には、飛行体１８を一意に識別する情報が記憶される。Ｘ座標及びＹ座標には、自機情報４４と同様に、基準情報４２の緯度及び経度を基準とした飛行体１８の現在位置に対応するブロック６０の座標が記憶される。ｘ座標及びｙ座標には、自機情報４４と同様に、飛行体１８の現在位置に対応するボクセル６２のブロック６０内における座標が記憶される。高度には、飛行体１８の現在位置の高度［ｍ］が記憶される。速度（緯度）及び速度（経度）には、自機情報４４と同様に、飛行体１８の速度が記憶される。
【００３６】
進入禁止情報４８には、例えば建物等の障害物があるといった等の理由で飛行体１０の進入が禁止されるブロック６０に関する情報が記憶される。図１３に、進入禁止情報４８の一例を示す。図１３に示すように、進入禁止情報４８には、飛行体１０の進入が禁止されるブロック６０毎に、基準情報４２の緯度及び経度に対応するブロック６０を基準としたＸ座標及びＹ座標が記憶される。
【００３７】
目的地情報５０には、飛行体１０の飛行先の目的地の位置に関する情報が記憶される。図１４に、目的地情報５０の一例を示す。図１４に示すように、目的地情報５０には、目的地の緯度及び経度が記憶される。
【００３８】
目的ブロック情報５２には、飛行体１０の飛行先の目的地の位置に対応するブロック６０に関する情報が記憶される。図１５に、目的ブロック情報５２の一例を示す。図１５に示すように、目的ブロック情報５２には、基準情報４２の緯度及び経度に対応するブロック６０を基準とした目的地情報５０に記憶された目的地の緯度及び経度に対応するブロック６０のＸ座標及びＹ座標が記憶される。
【００３９】
方向転換情報５４には、出発地から目的地までの間に、飛行体１０が進行方向を転換するブロック６０に関する情報が記憶される。図１６に、方向転換情報５４の一例を示す。図１６に示すように、方向転換情報５４には、基準情報４２の緯度及び経度に対応するブロック６０を基準とした飛行体１０が進行方向を転換するブロック６０のＸ座標及びＹ座標が記憶される。また、方向転換情報５４には、飛行体１０が進行方向を転換した後の進行方向も記憶される。
【００４０】
取得部３０は、ＧＰＳ受信部１６から、飛行体１０の現在位置の緯度、経度、及び高度を取得する。そして、取得部３０は、取得した緯度及び経度を自機情報４４の緯度及び経度に記憶する。また、取得部３０は、今回取得した緯度から前回取得した緯度を減算して得られた値を、今回緯度を取得した時刻から前回緯度を取得した時刻を減算して得られた値で除算することによって南北方向の速度を算出する。そして、取得部３０は、算出した南北方向の速度を自機情報４４の速度（緯度）に記憶する。
【００４１】
また、取得部３０は、今回取得した経度から前回取得した経度を減算して得られた値を、今回経度を取得した時刻から前回経度を取得した時刻を減算して得られた値で除算することによって東西方向の速度を算出する。そして、取得部３０は、算出した東西方向の速度を自機情報４４の速度（経度）に記憶する。
【００４２】
また、取得部３０は、基準情報４２の緯度及び経度に対応するブロック６０を基準とした、取得した緯度及び経度に対応するブロック６０の東西方向の座標を算出する。そして、取得部３０は、算出した東西方向の座標を自機情報４４のＸ座標に記憶する。また、取得部３０は、基準情報４２の緯度及び経度に対応するブロック６０を基準とした、取得した緯度及び経度に対応するブロック６０の南北方向の座標を算出する。そして、取得部３０は、算出した南北方向の座標を自機情報４４のＹ座標に記憶する。
【００４３】
また、取得部３０は、基準情報４２の緯度及び経度と取得した緯度及び経度とに基づいて、取得した緯度及び経度に対応するボクセル６２のブロック６０内における東西方向の座標を算出する。そして、取得部３０は、算出した東西方向の座標を自機情報４４のｘ座標に記憶する。また、取得部３０は、基準情報４２の緯度及び経度と取得した緯度及び経度とに基づいて、取得した緯度及び経度に対応するボクセル６２のブロック６０内における南北方向の座標を算出する。そして、取得部３０は、算出した南北方向の座標を自機情報４４のｙ座標に記憶する。
【００４４】
また、取得部３０は、通信可能な範囲に存在する他の飛行体１８から各種情報を取得する。本実施形態では、取得部３０は、飛行体１８から、飛行体１８を一意に識別する識別情報と、飛行体１８の現在位置に対応するブロック６０の基準情報４２の緯度及び経度に対応するブロック６０を基準とした東西方向の座標及び南北方向の座標とを取得する。そして、取得部３０は、取得した識別情報を他機情報４６の識別情報に記憶する。また、取得部３０は、取得した東西方向の座標を他機情報４６のＸ座標に記憶し、取得した南北方向の座標を他機情報４６のＹ座標に記憶する。
【００４５】
また、取得部３０は、飛行体１８から、飛行体１８の現在位置に対応するボクセル６２のブロック６０内における東西方向の座標及び南北方向の座標を取得する。そして、取得した東西方向の座標を他機情報４６のｘ座標に記憶し、取得した南北方向の座標を他機情報４６のｙ座標に記憶する。
【００４６】
また、取得部３０は、飛行体１８から、飛行体１８の現在位置の高度を取得する。また、取得部３０は、飛行体１８から、飛行体１８の南北方向の速度及び東西方向の速度を取得する。そして、取得部３０は、取得した高度を他機情報４６の高度に記憶する。また、取得部３０は、取得した南北方向の速度を他機情報４６の速度（緯度）に記憶し、取得した東西方向の速度を他機情報４６の速度（経度）に記憶する。
【００４７】
また、取得部３０は、サーバ２２から、基準情報４２の緯度及び経度に対応するブロック６０を基準とした、飛行体１０の進入が禁止されるブロック６０のＸ座標及びＹ座標を取得する。そして、取得部３０は、取得したＸ座標を進入禁止情報４８のＸ座標に記憶し、取得したＹ座標を進入禁止情報４８のＹ座標に記憶する。
【００４８】
また、取得部３０は、ユーザが図示しない端末等を介して入力した飛行体１０の飛行先の目的地の緯度及び経度を取得する。そして、取得部３０は、取得した緯度を目的地情報５０の緯度に記憶し、取得した経度を目的地情報５０の経度に記憶する。
【００４９】
また、取得部３０は、基準情報４２の緯度及び経度に対応するブロック６０を基準とした、取得した目的地の緯度及び経度に対応するブロック６０の東西方向の座標を算出する。また、取得部３０は、基準情報４２の緯度及び経度に対応するブロック６０を基準とした、取得した目的地の緯度及び経度に対応するブロック６０の南北方向の座標を算出する。そして、取得部３０は、算出した東西方向の座標を目的ブロック情報５２のＸ座標に記憶し、算出した南北方向の座標を目的ブロック情報５２のＹ座標に記憶する。
【００５０】
また、取得部３０は、飛行制御データ４０を参照し、飛行体１０の現在位置に対応するボクセル６２に対応付けられて記憶された飛行体１０の進行方向を取得する。
【００５１】
決定部３２は、自機情報４４、進入禁止情報４８、及び目的ブロック情報５２を参照し、飛行体１０の飛行経路を決定する。本実施形態では、決定部３２は、飛行体１０の現在位置から目的地までの経路のうち、飛行体１０の進入が禁止されるブロック６０を避けて、最短の経路で、かつ飛行体１０が進行方向を転換する回数が最も少ない経路を、飛行体１０の飛行経路として決定する。そして、決定部３２は、決定した飛行経路における飛行体１０が進行方向を転換するブロック６０において進行方向を転換した後の進行方向を方向転換情報５４の方向に記憶する。
【００５２】
また、決定部３２は、基準情報４２の緯度及び経度に対応するブロック６０を基準とした、決定した飛行経路における飛行体１０が進行方向を転換するブロック６０の東西方向の座標を算出する。また、決定部３２は、基準情報４２の緯度及び経度に対応するブロック６０を基準とした、決定した飛行経路における飛行体１０が進行方向を転換するブロック６０の南北方向の座標を算出する。そして、決定部３２は、算出した東西方向の座標を方向転換情報５４のＸ座標に記憶し、算出した南北方向の座標を方向転換情報５４のＹ座標に記憶する。
【００５３】
制御部３４は、取得部３０により取得された進行方向に従い、１つのボクセル６２の距離の分、飛行体１０を飛行させる制御を行う。また、制御部３４は、飛行体１０の現在位置に対応するボクセル６２に対応付けられた進行方向が複数存在する場合、決定部３２により決定された飛行経路の進行方向に従って、飛行体１０の進行方向を選択する。
【００５４】
また、制御部３４は、飛行体１０の現在位置に対応するボクセル６２に対応付けられた進行方向が複数存在する場合、他の飛行体１８の検出方向に応じて、複数の進行方向のうち衝突を回避可能な進行方向を選択する。例えば、飛行体１０の現在位置がボクセル６２Ｆの領域内である場合で、かつボクセル６２Ｆに隣接するボクセル６２Ｅに他の飛行体１８が存在する場合、制御部３４は、ボクセル６２Ｅに向かう方向とは異なる方向を選択する。また、制御部３４は、飛行体１０が次に進入するボクセル６２に他の飛行体１８が存在する場合、所定期間の間、飛行体１０を停滞させる制御を行う。
【００５５】
飛行制御装置１２は、例えば図１７に示すコンピュータ８０で実現することができる。コンピュータ８０は、Central Processing Unit（ＣＰＵ）８１、一時記憶領域としてのメモリ８２、及び不揮発性の記憶部８３を備える。また、コンピュータ８０は、ＧＰＳ受信部１６等が接続される入出力Ｉ／Ｆ８４を備える。また、コンピュータ８０は、記録媒体８８に対するデータの読み込みと書き込みとを制御するＲｅａｄ／Ｗｒｉｔｅ（Ｒ／Ｗ）部８５、及びネットワークに接続されるネットワークＩ／Ｆ８６を備える。ＣＰＵ８１、メモリ８２、記憶部８３、入出力Ｉ／Ｆ８４、Ｒ／Ｗ部８５、及びネットワークＩ／Ｆ８６は、バス８７を介して互いに接続される。
【００５６】
記憶部８３は、Hard Disk Drive（ＨＤＤ）、Solid State Drive（ＳＳＤ）、フラッシュメモリ等によって実現することができる。記憶媒体としての記憶部８３には、コンピュータ８０を飛行制御装置１２として機能させるための飛行制御プログラム９０が記憶される。飛行制御プログラム９０は、取得プロセス９１、決定プロセス９２、及び制御プロセス９３を有する。また、記憶部８３は、飛行制御データ４０、基準情報４２、自機情報４４、他機情報４６、進入禁止情報４８、目的地情報５０、目的ブロック情報５２、及び方向転換情報５４が記憶される情報記憶領域９４を有する。
【００５７】
ＣＰＵ８１は、飛行制御プログラム９０を記憶部８３から読み出してメモリ８２に展開し、飛行制御プログラム９０が有するプロセスを実行する。ＣＰＵ８１は、取得プロセス９１を実行することで、図２に示す取得部３０として動作する。ＣＰＵ８１は、決定プロセス９２を実行することで、図２に示す決定部３２として動作する。ＣＰＵ８１は、制御プロセス９３を実行することで、図２に示す制御部３４として動作する。これにより、飛行制御プログラム９０を実行したコンピュータ８０が、飛行制御装置１２として機能することになる。なお、飛行制御プログラム９０が有するプロセスを実行するＣＰＵ８１は、ハードウェアである。
【００５８】
また、飛行制御プログラム９０により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit（ＡＳＩＣ）等で実現することも可能である。
【００５９】
次に、本実施形態に係る飛行制御装置１２の作用を説明する。飛行制御装置１２が飛行制御プログラム９０を実行することで、図１８に示す飛行制御処理を実行する。図１８に示す飛行制御処理は、例えばユーザにより端末等を介して飛行体１０の飛行先の目的地の経度及び緯度が入力され、かつ飛行を開始する指示が入力された場合等にＣＰＵ８１により実行される。なお、ここでは、飛行体１０の初期位置が「上昇」のボクセル６２の下方の位置である場合について説明する。
【００６０】
図１８に示す飛行制御処理のステップＳ１０で、取得部３０は、ユーザにより入力された飛行体１０の飛行先の目的地の緯度及び経度を取得する。次のステップＳ１２で、取得部３０は、取得した緯度を目的地情報５０の緯度に記憶し、取得した経度を目的地情報５０の経度に記憶する。次のステップＳ１４で、図１９に示す飛行経路決定処理が実行される。
【００６１】
図１９に示す飛行経路決定処理のステップＳ４０で、取得部３０は、ＧＰＳ受信部１６から、飛行体１０の現在位置の緯度、経度、及び高度を取得する。次のステップＳ４２で、取得部３０は、ステップＳ４０で取得された緯度及び経度を自機情報４４の緯度及び経度に記憶する。また、取得部３０は、前述したように、飛行体１０の南北方向の速度を算出する。また、取得部３０は、前述したように、飛行体１０の東西方向の速度を算出する。
【００６２】
また、取得部３０は、基準情報４２の緯度及び経度に対応するブロック６０を基準とした、ステップＳ４０で取得された緯度及び経度に対応するブロック６０の東西方向の座標及び南北方向の座標を算出する。また、取得部３０は、基準情報４２の緯度及び経度とステップＳ４０で取得された緯度及び経度とに基づいて、取得された緯度及び経度に対応するボクセル６２のブロック６０内における東西方向の座標及び南北方向の座標を算出する。そして、取得部３０は、算出した南北方向の速度及び東西方向の速度を、自機情報４４の速度（緯度）及び速度（経度）に記憶する。また、取得部３０は、算出したブロック６０の東西方向の座標、ブロック６０の南北方向の座標、ボクセル６２の東西方向の座標、及びボクセル６２の南北方向の座標を、自機情報４４のＸ座標、Ｙ座標、ｘ座標、及びｙ座標に記憶する。
【００６３】
次のステップＳ４４で、取得部３０は、基準情報４２の緯度及び経度に対応するブロック６０を基準とした、目的地情報５０の緯度及び経度に対応するブロック６０の東西方向の座標及び南北方向の座標を算出する。そして、取得部３０は、算出した東西方向の座標及び南北方向の座標を、目的ブロック情報５２のＸ座標及びＹ座標に記憶する。
【００６４】
次のステップＳ４６で、取得部３０は、進入禁止情報４８に、飛行体１０の進入が禁止されるブロック６０に関する情報が記憶されているか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ５２に移行し、否定判定となった場合は、処理はステップＳ４８に移行する。
【００６５】
ステップＳ４８で、取得部３０は、サーバ２２から、基準情報４２の緯度及び経度に対応するブロック６０を基準とした、飛行体１０の進入が禁止されるブロック６０のＸ座標及びＹ座標を取得する。次のステップＳ５０で、取得部３０は、ステップＳ４８で取得されたＸ座標及びＹ座標を、進入禁止情報４８のＸ座標及びＹ座標に記憶する。
【００６６】
ステップＳ５２で、決定部３２は、前述したように、自機情報４４、進入禁止情報４８、及び目的ブロック情報５２を参照し、飛行体１０の飛行経路を決定する。次のステップＳ５４で、決定部３２は、ステップＳ５２で決定された飛行経路における飛行体１０が進行方向を転換するブロック６０において進行方向を転換した後の進行方向を方向転換情報５４の方向に記憶する。決定部３２は、基準情報４２の緯度及び経度に対応するブロック６０を基準とした、ステップＳ５２で決定された飛行経路における飛行体１０が進行方向を転換するブロック６０の東西方向の座標及び南北方向の座標を算出する。そして、決定部３２は、算出した東西方向の座標及び南北方向の座標を、方向転換情報５４のＸ座標及びＹ座標に記憶する。ステップＳ５４の処理が終了すると飛行経路決定処理が終了する。図１８に示すステップＳ１４の飛行経路決定処理が終了すると、処理はステップＳ１６に移行する。
【００６７】
図１８に示す飛行制御処理のステップＳ１６で、制御部３４は、飛行体１０の現在位置が目的ブロック情報５２に記憶された目的地に対応するブロック６０の領域内であるか否かを判定する。この判定が否定判定となった場合は、処理はステップＳ１８に移行する。
【００６８】
ステップＳ１８で、制御部３４は、飛行体１０の現在位置が方向転換情報５４に記憶された進行方向を転換するブロック６０の領域内であるか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ２２に移行し、否定判定となった場合は、処理はステップＳ２０に移行する。
【００６９】
ステップＳ２０で、制御部３４は、基準情報４２、及びステップＳ１４で決定された飛行経路に基づき、飛行体１０を進行方向に応じた高度まで上昇させる制御を行う。次のステップＳ２２で、図２０に示す方向転換制御処理が実行される。
【００７０】
図２０に示す方向転換制御処理のステップＳ６０で、制御部３４は、飛行体１０の現在位置がボクセル６２Ａの領域内であるか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ６２に移行し、否定判定となった場合は、処理はステップＳ６８に移行する。
【００７１】
ステップＳ６２で、制御部３４は、他機情報４６を参照し、飛行体１０の現在位置に対応するブロック６０の「上昇」又は「下降」のボクセル６２のうち、飛行体１０が次に進入するボクセル６２に他の飛行体１８が存在するか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ６４に移行し、否定判定となった場合は、処理はステップＳ１１０に移行する。
【００７２】
ステップＳ６４で、制御部３４は、飛行体１０を所定期間（例えば、１０秒）の間、停滞させる制御を行う。ステップＳ６６で、取得部３０は、前述したように、通信可能な範囲に存在する他の飛行体１８から各種情報を取得する。そして、取得部３０は、前述したように、取得した各種情報を用いて、他機情報４６を更新する。ステップＳ６６の処理が終了すると、処理はステップＳ６０に戻る。
【００７３】
ステップＳ６８で、制御部３４は、飛行体１０の現在位置がボクセル６２Ｂの領域内であるか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ７０に移行し、否定判定となった場合は、処理はステップＳ７２に移行する。ステップＳ７０で、制御部３４は、他機情報４６を参照し、飛行体１０の現在位置から、飛行体１０の進行方向の前方の所定数（例えば２つ）までのボクセル６２に他の飛行体１８が存在するか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ６４に移行し、否定判定となった場合は、処理はステップＳ１００に移行する。
【００７４】
ステップＳ７２で、制御部３４は、飛行体１０の現在位置がボクセル６２Ｃの領域内であるか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ７４に移行し、否定判定となった場合は、処理はステップＳ７６に移行する。ステップＳ７４で、制御部３４は、他機情報４６を参照し、飛行体１０の現在位置から、飛行体１０の進行方向の後方の所定数（例えば２つ）までのブロック６０の領域６７に他の飛行体１８が存在するか否かを判定する。この判定の際、制御部３４は、飛行体１０の現在位置のボクセル層と同じ高度のボクセル層の領域６７に他の飛行体１８が存在するか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ６４に移行し、否定判定となった場合は、処理はステップＳ１００に移行する。
【００７５】
ステップＳ７６で、制御部３４は、飛行体１０の現在位置がボクセル６２Ｄの領域内であるか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ７８に移行し、否定判定となった場合は、処理はステップＳ８０に移行する。ステップＳ７８で、制御部３４は、飛行体１０の現在位置と同じボクセル層の領域６７に他の飛行体１８が存在するか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ６４に移行し、否定判定となった場合は、方向転換制御処理が終了する。
【００７６】
ステップＳ８０で、制御部３４は、飛行体１０の現在位置がボクセル６２Ｅの領域内であるか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ８２に移行し、否定判定となった場合は、処理はステップＳ８８に移行する。ステップＳ８２で、制御部３４は、飛行体１０が「上昇」のボクセル６２に向けて飛行しているか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ８４に移行し、否定判定となった場合は、処理はステップＳ８６に移行する。
【００７７】
ステップＳ８４で、制御部３４は、飛行体１０が直進する方向、すなわち、「上昇」のボクセル６２に向かう方向を選択し、選択した方向に１つのボクセル６２分、飛行体１０を飛行させる制御を行う。ステップＳ８４の処理が終了すると、処理はステップＳ６０に戻る。ステップＳ８６で、制御部３４は、飛行体１０が直進する方向以外の方向、すなわち、「下降」のボクセル６２に向かう方向を選択し、選択した方向に１つのボクセル６２分、飛行体１０を飛行させる制御を行う。ステップＳ８６の処理が終了すると、処理はステップＳ６０に戻る。
【００７８】
ステップＳ８８で、制御部３４は、飛行体１０の現在位置がボクセル６２Ｆの領域内であるか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ９０に移行し、否定判定となった場合は、処理はステップＳ１００に移行する。ステップＳ９０で、制御部３４は、他機情報４６を参照し、飛行体１０の現在位置のボクセル６２Ｆに隣接するボクセル６２Ｅに他の飛行体１８が存在するか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ９４に移行し、否定判定となった場合は、処理はステップＳ９２に移行する。
【００７９】
ステップＳ９２で、制御部３４は、飛行体１０が領域６７に進入するために飛行しているか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ９４に移行し、否定判定となった場合は、処理はステップＳ９８に移行する。ステップＳ９４で、制御部３４は、現時点での飛行体１０の進行方向に直進する方向を選択し、選択した方向に１つのボクセル６２分、飛行体１０を飛行させる制御を行う。次のステップＳ９６で、図１９に示す飛行経路決定処理が実行される。ステップＳ９６の飛行経路決定処理が終了すると、処理はステップＳ６０に戻る。
【００８０】
ステップＳ９８で、制御部３４は、現時点での飛行体１０の進行方向に直進する方向以外の方向を選択し、選択した方向に１つのボクセル６２分、飛行体１０を飛行させる制御を行う。ステップＳ９８の処理が終了すると、処理はステップＳ６０に戻る。
【００８１】
ステップＳ１００で、制御部３４は、他機情報４６を参照し、飛行体１０の現在位置のボクセル６２に規定された進行方向に従って１つのボクセル６２分、飛行体１０を飛行させた場合の次のボクセル６２に、他の飛行体１８が存在するか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ１０２に移行し、否定判定となった場合は、処理はステップＳ１０６に移行する。
【００８２】
ステップＳ１０２で、制御部３４は、ステップＳ６４と同様に、飛行体１０を所定期間の間、停滞させる制御を行う。次のステップＳ１０４で、取得部３０は、ステップＳ６６と同様に、他機情報４６を更新する。ステップＳ１０４の処理が終了すると、処理はステップＳ１００に戻る。なお、ステップＳ１００の判定が肯定判定となった場合に、処理はステップＳ６４に戻ってもよい。
【００８３】
ステップＳ１０６で、制御部３４は、飛行体１０の現在位置のボクセル６２に対応付けられた進行方向に従って１つのボクセル６２分、飛行体１０を飛行させる制御を行う。次のステップＳ１０８で、取得部３０は、上記飛行経路決定処理のステップＳ４０及びステップＳ４２の処理と同様の処理を行うことによって、自機情報４４を更新する。ステップＳ１０８の処理が終了すると、処理はステップＳ６０に戻る。なお、ステップＳ１０８において、取得部３０は、１つのボクセル６２分（本実施形態では５［ｍ］）、飛行体１０が飛行したものと仮定して自機情報４４を更新してもよい。
【００８４】
ステップＳ１１０で、制御部３４は、飛行体１０の現在位置が目的ブロック情報５２に記憶された目的地に対応するブロック６０の領域内であるか否かを判定する。この判定が否定判定となった場合は、処理はステップＳ１１２に移行し、肯定判定となった場合は、処理はステップＳ１１４に移行する。
【００８５】
ステップＳ１１２で、制御部３４は、飛行体１０の現在位置に対応するブロック６０に対応付けられた進行方向に従って、飛行体１０を「上昇」又は「下降」のボクセル６２に飛行させる制御を行う。そして、制御部３４は、飛行体１０を飛行体１０の次の進行方向に応じた高度まで上昇又は下降させた後、１つのボクセル６２分、飛行させる制御を行う。ステップＳ１１２の処理が終了すると、処理はステップＳ６０に戻る。
【００８６】
ステップＳ１１４で、制御部３４は、飛行体１０を「下降」のボクセル６２まで飛行させる制御を行う。次のステップＳ１１６で、制御部３４は、飛行体１０を地面まで下降させる制御を行う。ステップＳ１１６の処理が終了すると、方向転換制御処理が終了する。図１８に示すステップＳ２２の方向転換制御処理が終了すると、次のステップＳ２４で、図２１に示す高速領域進入確認処理が実行される。
【００８７】
図２１に示す高速領域進入確認処理のステップＳ１４０で、取得部３０は、上記方向転換制御処理のステップＳ６６と同様に、他機情報４６を更新する。ステップＳ１４２で、制御部３４は、他機情報４６を参照し、飛行体１０の現在位置に対応するブロック６０から、ブロック６０の領域６７に規定された進行方向に対する後方の所定数（例えば、２つ）までのブロック６０内に他の飛行体１８が存在するか否かを判定する。この判定を行う際、制御部３４は、上記後方の所定数までのブロック６０内における飛行体１０の現在位置の高度に対応するボクセル層と同じ高度のボクセル層に他の飛行体１８が存在するか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ１４４に移行する。
【００８８】
ステップＳ１４４で、制御部３４は、上記方向転換制御処理のステップＳ６４と同様に、飛行体１０を所定期間の間、停滞させる制御を行う。ステップＳ１４４の処理が終了すると、処理はステップＳ１４０に戻る。一方、ステップＳ１４２の判定が否定判定となった場合は、高速領域進入確認処理が終了する。図１８に示すステップＳ２４の高速領域進入確認処理が終了すると、次のステップＳ２６で、図２２に示す高速飛行制御処理が実行される。
【００８９】
図２２に示す高速飛行制御処理のステップＳ１６０で、取得部３０は、上記方向転換制御処理のステップＳ６６と同様に、他機情報４６を更新する。ステップＳ１６２で、制御部３４は、他機情報４６を参照し、飛行体１０の現在位置に対応するブロック６０から、ブロック６０の領域６７に規定された進行方向に対する前方の所定数（例えば、２つ）までのブロック６０内に他の飛行体１８が存在するか否かを判定する。この判定を行う際、制御部３４は、上記前方の所定数までのブロック６０内における飛行体１０の現在位置の高度に対応するボクセル層と同じ高度のボクセル層に他の飛行体１８が存在するか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ１６４に移行する。ステップＳ１６４で、図２３に示す衝突回避処理が実行される。
【００９０】
図２３に示す衝突回避処理のステップＳ１８０で、制御部３４は、以下に示す判定を行う。すなわち、制御部３４は、進入禁止情報４８を参照し、飛行体１０の現在位置に対応するブロック６０の領域６７の進行方向に対する左右に隣接するブロック６０の双方が飛行体１０の進入が禁止されるブロック６０であるか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ１８２に移行し、否定判定となった場合は、処理はステップＳ１８４に移行する。
【００９１】
ステップＳ１８２で、制御部３４は、上記方向転換制御処理のステップＳ６４と同様に、飛行体１０を所定期間の間、停滞させる制御を行う。ステップＳ１８２の処理が終了すると、衝突回避処理が終了する。
【００９２】
一方、ステップＳ１８４で、制御部３４は、飛行体１０をボクセル６２Ｇまで直進させる制御を行う。そして、制御部３４は、ボクセル６２Ｇで領域６７を出る方向を選択し、選択した方向に１つのボクセル６２分、飛行体１０を飛行させる制御を行う。次のステップＳ１８６で、取得部３０は、上記高速飛行制御処理のステップＳ１６２で、上記前方の所定数までのブロック６０のうち、他の飛行体１８が存在すると判定されたブロック６０に関する情報を、進入禁止情報４８に記憶する。
【００９３】
次のステップＳ１８８で、図１９に示す飛行経路決定処理が実行される。ステップＳ１８８の飛行経路決定処理が終了すると、次のステップＳ１９０で、図２０に示す方向転換制御処理が実行される。ステップＳ１９０の方向転換制御処理が終了すると、次のステップＳ１９２で、図２１に示す高速領域進入確認処理が実行される。ステップＳ１９２の高速領域進入確認処理が終了すると、衝突回避処理が終了する。
【００９４】
図２２に示すステップＳ１６４の衝突回避処理が終了すると、処理はステップＳ１６０に戻る。一方、図２２に示す高速飛行制御処理のステップＳ１６２の判定が否定判定となった場合は、処理はステップＳ１６６に移行する。
【００９５】
ステップＳ１６６で、制御部３４は、飛行体１０が直進する方向に、１つのボクセル６２分、飛行体１０を飛行させる制御を行う。ステップＳ１６８で、取得部３０は、上記飛行経路決定処理のステップＳ４０及びステップＳ４２の処理と同様の処理を行うことによって、自機情報４４を更新する。
【００９６】
ステップＳ１７０で、制御部３４は、飛行体１０の現在位置が目的ブロック情報５２に記憶された目的地に対応するブロック６０、又は方向転換情報５４に記憶された飛行体１０の進行方向を転換するブロック６０の領域内であるか否かを判定する。この判定が否定判定となった場合は、処理はステップＳ１６０に戻り、肯定判定となった場合は、処理はステップＳ１７２に移行する。
【００９７】
ステップＳ１７２で、制御部３４は、上記衝突回避処理のステップＳ１８４と同様に、飛行体１０をボクセル６２Ｇまで直進させる制御を行う。そして、制御部３４は、ボクセル６２Ｇで領域６７を出る方向を選択し、選択した方向に１つのボクセル６２分、飛行体１０を飛行させる制御を行う。ステップＳ１７２の処理が終了すると、高速飛行制御処理が終了する。
【００９８】
図１８に示すステップＳ２６の高速飛行制御処理が終了すると、処理はステップＳ１６に戻る。一方、図１８に示す飛行制御処理のステップＳ１６の判定が肯定判定となった場合は、処理はステップＳ２８に移行する。ステップＳ２８で、図２０に示す方向転換制御処理が実行される。ステップＳ２８の方向転換制御処理が終了すると、飛行制御処理が終了する。
【００９９】
以上説明したように、本実施形態によれば、ボクセル６２に対応づけて飛行制御に関する情報を記憶する記憶部８３を参照して、特定のボクセル６２に対応する飛行制御に関する情報を取得する。そして、本実施形態によれば、取得した飛行制御に関する情報に基づいて飛行体１０の飛行を制御する。従って、複数の飛行体が所定のエリア内で飛行する場合に、飛行体を円滑に移動させることができる。
【０１００】
また、本実施形態によれば、ボクセル６２の高度に応じて、進行方向が予め定められる。従って、複数の飛行体が所定のエリア内で飛行する場合に、飛行体をより円滑に移動させることができる。また、飛行体１０が上昇する場合、又は下降する場合以外の飛行平面上を飛行する場合で、かつ飛行体１０の周辺に他の飛行体１８が存在するか否かを確認する場合は、同じ高度のボクセル層に他の飛行体１８が存在するか否かを確認する。従って、飛行体１０の周辺において存在有無の確認対象とする他の飛行体１８の数を少なくすることができる。
【０１０１】
なお、上記実施形態では、ボクセル６２を座標で規定した場合について説明したが、これに限定されない。例えば、ボクセル６２を緯度、経度、及び高度で規定してもよい。また、例えば、座標と緯度、経度、及び高度の少なくとも一つとの組み合わせで規定してもよい。
【０１０２】
また、上記実施形態では、飛行制御プログラム９０が記憶部８３に予め記憶（インストール）されている態様を説明したが、これに限定されない。飛行制御プログラム９０は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ、メモリカード等の記録媒体に記録された形態で提供することも可能である。
【０１０３】
以上の実施形態に関し、更に以下の付記を開示する。
【０１０４】
（付記１）
空間エリアに対応づけて飛行制御に関する情報を記憶する記憶部を参照して、特定の空間エリアに対応する飛行制御に関する情報を取得し、
取得した前記飛行制御に関する情報に基づいて自装置の飛行を制御する、
処理をコンピュータが実行することを特徴とする飛行制御方法。
【０１０５】
（付記２）
前記特定の空間エリアは、前記自装置の空間上の位置に対応するエリアである、
ことを特徴とする付記１記載の飛行制御方法。
【０１０６】
（付記３）
前記飛行制御に関する情報は、進行方向、又は、停滞制御である、
ことを特徴とする付記１記載の飛行制御方法。
【０１０７】
（付記４）
前記飛行制御に関する情報は、１又は複数の進行方向である、
ことを特徴とする付記１記載の飛行制御方法。
【０１０８】
（付記５）
前記飛行制御に関する情報は、複数の進行方向であり、
他の飛行体の検出方向に応じて前記複数の進行方向のうち衝突を回避可能な進行方向を選択する、
ことを特徴とする付記１に記載の飛行制御方法。
【０１０９】
（付記６）
前記記憶部は、メッシュ分割された複数の空間エリアに対応づけて飛行制御に関する情報を記憶する、
ことを特徴とする付記１記載の飛行制御方法。
【０１１０】
（付記７）
前記空間エリアは、緯度、経度、高度のいずれか又は一部若しくは全部の組み合わせ、に応じて規定される、
ことを特徴とする付記１記載の飛行制御方法。
【０１１１】
（付記８）
前記飛行制御に関する情報は、前記空間エリアに対応する高度に応じて進行方向が予め定められる、
ことを特徴とする付記１記載の飛行制御方法。
【０１１２】
（付記９）
空間エリアに対応づけて飛行制御に関する情報を記憶する記憶部を参照して、特定の空間エリアに対応する飛行制御に関する情報を取得し、
取得した前記飛行制御に関する情報に基づいて自装置の飛行を制御する、
処理をコンピュータに実行させることを特徴とする飛行制御プログラム。
【０１１３】
（付記１０）
前記特定の空間エリアは、前記自装置の空間上の位置に対応するエリアである、
ことを特徴とする付記９記載の飛行制御プログラム。
【０１１４】
（付記１１）
前記飛行制御に関する情報は、進行方向、又は、停滞制御である、
ことを特徴とする付記９記載の飛行制御プログラム。
【０１１５】
（付記１２）
前記飛行制御に関する情報は、１又は複数の進行方向である、
ことを特徴とする付記９記載の飛行制御プログラム。
【０１１６】
（付記１３）
前記飛行制御に関する情報は、複数の進行方向であり、
他の飛行体の検出方向に応じて前記複数の進行方向のうち衝突を回避可能な進行方向を選択する、
ことを特徴とする付記９記載の飛行制御プログラム。
【０１１７】
（付記１４）
前記記憶部は、メッシュ分割された複数の空間エリアに対応づけて飛行制御に関する情報を記憶する、
ことを特徴とする付記９記載の飛行制御プログラム。
【０１１８】
（付記１５）
前記空間エリアは、緯度、経度、高度のいずれか又は一部若しくは全部の組み合わせ、に応じて規定される、
ことを特徴とする付記９記載の飛行制御プログラム。
【０１１９】
（付記１６）
前記飛行制御に関する情報は、前記空間エリアに対応する高度に応じて進行方向が予め定められる、
ことを特徴とする付記９記載の飛行制御プログラム。
【０１２０】
（付記１７）
空間エリアに対応づけて飛行制御に関する情報を記憶する記憶部を参照して、特定の空間エリアに対応する飛行制御に関する情報を取得する取得部と、
取得された前記飛行制御に関する情報に基づいて自装置の飛行を制御する制御部と、
を含むことを特徴とする飛行制御装置。
【０１２１】
（付記１８）
前記特定の空間エリアは、前記自装置の空間上の位置に対応するエリアである、
ことを特徴とする付記１７記載の飛行制御装置。
【０１２２】
（付記１９）
前記飛行制御に関する情報は、進行方向、又は、停滞制御である、
ことを特徴とする付記１７記載の飛行制御装置。
【０１２３】
（付記２０）
前記飛行制御に関する情報は、１又は複数の進行方向である、
ことを特徴とする付記１７記載の飛行制御装置。
【０１２４】
（付記２１）
前記飛行制御に関する情報は、複数の進行方向であり、
前記制御部は、他の飛行体の検出方向に応じて前記複数の進行方向のうち衝突を回避可能な進行方向を選択する、
ことを特徴とする付記１７記載の飛行制御装置。
【０１２５】
（付記２２）
前記記憶部は、メッシュ分割された複数の空間エリアに対応づけて飛行制御に関する情報を記憶する、
ことを特徴とする付記１７記載の飛行制御装置。
【０１２６】
（付記２３）
前記空間エリアは、緯度、経度、高度のいずれか又は一部若しくは全部の組み合わせ、に応じて規定される、
ことを特徴とする付記１７記載の飛行制御装置。
【０１２７】
（付記２４）
前記飛行制御に関する情報は、前記空間エリアに対応する高度に応じて進行方向が予め定められる、
ことを特徴とする付記１７記載の飛行制御装置。
【０１２８】
（付記２５）
空間エリアに対応づけて飛行制御に関する情報を記憶する記憶部を参照して、特定の空間エリアに対応する飛行制御に関する情報を取得し、
取得した前記飛行制御に関する情報に基づいて自装置の飛行を制御する、
処理をコンピュータに実行させることを特徴とする飛行制御プログラムを記憶した記憶媒体。
【符号の説明】
【０１２９】
１０  飛行体
１２  飛行制御装置
３０  取得部
３２  決定部
３４  制御部
４０  飛行制御データ
４２  基準情報
４４  自機情報
４６  他機情報
４８  進入禁止情報
５０  目的地情報
５２  目的ブロック情報
５４  方向転換情報
６０  ブロック
６２  ボクセル
８０  コンピュータ
８１  ＣＰＵ
８２  メモリ
８３  記憶部
８８  記録媒体
９０  飛行制御プログラム
【図１】
2018092332.tif 000003
【図２】
2018092332.tif 000004
【図３】
2018092332.tif 000005
【図４】
2018092332.tif 000006
【図５】
2018092332.tif 000007
【図６】
2018092332.tif 000008
【図７】
2018092332.tif 000009
【図８】
2018092332.tif 000010
【図９】
2018092332.tif 000011
【図１０】
2018092332.tif 000012
【図１１】
2018092332.tif 000013
【図１２】
2018092332.tif 000014
【図１３】
2018092332.tif 000015
【図１４】
2018092332.tif 000016
【図１５】
2018092332.tif 000017
【図１６】
2018092332.tif 000018
【図１７】
2018092332.tif 000019
【図１８】
2018092332.tif 000020
【図１９】
2018092332.tif 000021
【図２０】
2018092332.tif 000022
【図２１】
2018092332.tif 000023
【図２２】
2018092332.tif 000024
【図２３】
2018092332.tif 000025