(57)【要約】【課題】飛行体を他の飛行体と合流させて編隊飛行を行わせること。【解決手段】第１制御部３３１は、編隊飛行を行う前の合流位置までの飛行と編隊飛行を行った後の目的地までの飛行を制御する。第２制御部３３２は、他の飛行体との距離を所定の範囲に収めながらその他の飛行体とともに編隊を組んで飛行するよう飛行部３０２を制御する。第３制御部３３３は、編隊を組むドローン３０のうち最も遅いドローン３０の速度で合流位置から飛行するよう飛行部３０２を制御する。第４制御部３３４は、合流時刻までに自機が合流位置に到着せず、且つ、その合流位置を含む飛行空域を飛行許可期間に通過可能でない場合、その飛行空域とは別の空域を通過して目的地まで飛行するよう飛行部３０２を制御する。【選択図】図４
2019051839.tif 000002
【特許請求の範囲】
【請求項１】
飛行部と、
目的地までの飛行空域及び当該飛行空域を通過する他の飛行体との合流位置を指示されると、当該合流位置まで当該飛行空域を通過して飛行するよう前記飛行部を制御する第１飛行制御部と、
前記合流位置から、前記他の飛行体との距離を所定の範囲に収めながら当該他の飛行体とともに編隊を組んで飛行するよう前記飛行部を制御する第２飛行制御部と
を備える飛行体。
【請求項２】
前記編隊の引率を指示された場合に、前記編隊を組む飛行体のうち最も遅い飛行体の速度で前記合流位置から飛行するよう前記飛行部を制御する第３飛行制御部を備える
請求項１に記載の飛行体。
【請求項３】
前記第３飛行制御部は、前記編隊から前記引率の対象であった飛行体が離脱した場合、残った飛行体のうち最も遅い飛行体の速度で飛行するよう前記飛行部を制御する
請求項２に記載の飛行体。
【請求項４】
前記第３飛行制御部は、前記飛行空域の飛行が許可される許可期間が指示され、且つ、現在の飛行速度では当該許可期間に当該飛行空域を通過できない場合には、飛行速度を速くするよう前記飛行部を制御する
請求項２又は３に記載の飛行体。
【請求項５】
前記第３飛行制御部は、前記合流位置への到着期限までに当該合流位置に到着しない飛行体があった場合、当該飛行体とは合流しないで出発するよう前記飛行部を制御する
請求項２から４のいずれか１項に記載の飛行体。
【請求項６】
前記最も遅い飛行体の速度は、当該飛行体の最高速度より遅い速度であり、
前記第３飛行制御部は、他の飛行体と合流しないで出発して、且つ、前記最も遅い飛行体が編隊に含まれている場合、当該最も遅い飛行体の速度よりも速い速度で飛行するよう前記飛行部を制御する
請求項５に記載の飛行体。
【請求項７】
前記第３飛行制御部は、前記編隊の引率を指示されていなくても、当該引率が指示された飛行体が前記到着期限までに前記合流位置に到着しない場合、自機に当該引率が指示されたものとして前記飛行部を制御する
請求項５又は６に記載の飛行体。
【請求項８】
前記飛行空域の飛行が許可される許可期間が指示され、
合流位置への到着期限までに自機が当該合流位置に到着せず、且つ、当該合流位置を含む前記飛行空域を前記許可期間に通過可能でない場合、当該飛行空域とは別の空域を通過して前記目的地まで飛行するよう前記飛行部を制御する第４飛行制御部を備える
請求項１から７のいずれか１項に記載の飛行体。
【請求項９】
前記第１飛行制御部は、前記合流位置への到着期限までに自機が当該合流位置に到着しない場合でも、当該合流位置を含む前記飛行空域を前記許可期間に通過可能であるときには、当該飛行空域を通過して前記目的地まで飛行するよう前記飛行部を制御する
請求項８に記載の飛行体。
【請求項１０】
前記第２飛行制御部は、前記第１飛行制御部の制御により前方の飛行体との距離が前記所定の範囲まで近づくと、当該飛行体との距離を当該範囲に収めながら当該飛行体とともに飛行するよう前記飛行部を制御する
請求項９に記載の飛行体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、飛行体の飛行を制御する技術に関する。
【背景技術】
【０００２】
飛行体の飛行を制御する技術が知られている。例えば特許文献１には、無人飛行体の飛行が許可されている時間帯の終了時刻までに経由地点に到着可能かどうかをバッテリーの残容量に基づいて判断して、到着可能なら経由地点に向けて無人飛行体を出発させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−７７８７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ドローンのような飛行体が同じ方向に移動して且つ互いの距離が接近する場合、安全性を確保しつつ空域を有効に利用するため、同じ飛行空域で編隊飛行（ドローンが他のドローンとの距離を制御しながら飛行すること）を行うことが考えられる。その場合、単独で飛行している状態から編隊飛行を行う状態への切り替えは、通常とは異なる飛行制御が必要である。
そこで、本発明は、飛行体を他の飛行体と合流させて編隊飛行を行わせることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、飛行部と、目的地までの飛行空域及び当該飛行空域を通過する他の飛行体との合流位置を指示されると、当該合流位置まで当該飛行空域を通過して飛行するよう前記飛行部を制御する第１飛行制御部と、前記合流位置から、前記他の飛行体との距離を所定の範囲に収めながら当該他の飛行体とともに編隊を組んで飛行するよう前記飛行部を制御する第２飛行制御部とを備える飛行体を提供する。
【０００６】
また、前記編隊の引率を指示された場合に、前記編隊を組む飛行体のうち最も遅い飛行体の速度で前記合流位置から飛行するよう前記飛行部を制御する第３飛行制御部を備えていてもよい。
さらに、前記第３飛行制御部は、前記編隊から前記引率の対象であった飛行体が離脱した場合、残った飛行体のうち最も遅い飛行体の速度で飛行するよう前記飛行部を制御してもよい。
【０００７】
また、前記第３飛行制御部は、前記飛行空域の飛行が許可される許可期間が指示され、且つ、現在の飛行速度では当該許可期間に当該飛行空域を通過できない場合には、飛行速度を速くするよう前記飛行部を制御してもよい。
さらに、前記第３飛行制御部は、前記合流位置への到着期限までに当該合流位置に到着しない飛行体があった場合、当該飛行体とは合流しないで出発するよう前記飛行部を制御してもよい。
【０００８】
また、前記最も遅い飛行体の速度は、当該飛行体の最高速度より遅い速度であり、前記第３飛行制御部は、他の飛行体と合流しないで出発して、且つ、前記最も遅い飛行体が編隊に含まれている場合、当該最も遅い飛行体の速度よりも速い速度で飛行するよう前記飛行部を制御してもよい。
さらに、前記第３飛行制御部は、前記編隊の引率を指示されていなくても、当該引率が指示された飛行体が前記到着期限までに前記合流位置に到着しない場合、自機に当該引率が指示されたものとして前記飛行部を制御してもよい。
【０００９】
また、前記飛行空域の飛行が許可される許可期間が指示され、合流位置への到着期限までに自機が当該合流位置に到着せず、且つ、当該合流位置を含む前記飛行空域を前記許可期間に通過可能でない場合、当該飛行空域とは別の空域を通過して前記目的地まで飛行するよう前記飛行部を制御する第４飛行制御部を備えていてもよい。
さらに、前記第１飛行制御部は、前記合流位置への到着期限までに自機が当該合流位置に到着しない場合でも、当該合流位置を含む前記飛行空域を前記許可期間に通過可能であるときには、当該飛行空域を通過して前記目的地まで飛行するよう前記飛行部を制御してもよい。
また、前記第２飛行制御部は、前記第１飛行制御部の制御により前方の飛行体との距離が前記所定の範囲まで近づくと、当該飛行体との距離を当該範囲に収めながら当該飛行体とともに飛行するよう前記飛行部を制御してもよい。
【発明の効果】
【００１０】
本発明によれば、飛行体を他の飛行体と合流させて編隊飛行を行わせることができる。
【図面の簡単な説明】
【００１１】
【図１】実施例に係るドローン運航管理システムの全体構成を表す図
【図２】サーバ装置等のハードウェア構成を表す図
【図３】ドローンのハードウェア構成を表す図
【図４】ドローン運航管理システムが実現する機能構成を表す図
【図５】生成された飛行予定情報の一例を表す図
【図６】飛行可能空域テーブルの一例を表す図
【図７】仮決めされた飛行空域の例を表す図
【図８】仮決めされた飛行可能期間の一例を表す図
【図９】仮決め情報の一例を表す図
【図１０】生成された飛行指示の一例を表す図
【図１１】生成された飛行制御情報の一例を表す図
【図１２】目的地及び合流位置までの飛行制御の一例を表す図
【図１３】割当処理における各装置の動作手順の一例を表す図
【図１４】飛行制御処理におけるドローンの動作手順の一例を表す図
【図１５】飛行制御処理におけるドローンの動作手順の一例を表す図
【図１６】飛行制御処理におけるドローンの動作手順の一例を表す図
【図１７】飛行制御処理におけるドローンの動作手順の一例を表す図
【図１８】飛行制御処理におけるドローンの動作手順の一例を表す図
【発明を実施するための形態】
【００１２】
［１］実施例
図１は実施例に係るドローン運航管理システム１の全体構成を表す。ドローン運航管理システム１は、ドローンの運航を管理するシステムである。運航管理とは、ドローンのような飛行体の飛行計画に則った飛行を管理することをいう。ドローン運航管理システム１は、例えば、複数のドローンが飛行する環境において、ドローンに飛行空域を割り当て、ドローンに対して飛行に関する指示（飛行指示）を行い、ドローンの安全且つ円滑な飛行を支援する。
【００１３】
ドローンとは、飛行計画に則って飛行することが可能で且つ一般的には無人の飛行体であり、本発明の「飛行体」の一例である。ドローンは、例えば運搬、撮影及び監視等の事業を行っている事業者によって主に用いられる。なお、本実施例では、運航管理の対象は無人のドローンであるが、有人のドローンも存在するので、その有人のドローンを対象としてもよい。なお、ドローン運航管理システム１が有人の飛行体を対象とするか否かにかかわらず、飛行機等の有人機の飛行空域の把握及び飛行指示等を行う管制における管理範囲がドローン運航管理システム１による運航管理に含まれていてもよい。
【００１４】
ドローン運航管理システム１は、ネットワーク２と、サーバ装置１０と、Ａ事業者端末２０ａ、Ｂ事業者端末２０ｂ及びＣ事業者端末２０ｃ（それぞれ区別しない場合は「事業者端末２０」という）と、Ａ事業者のドローン３０ａ−１及び３０ａ−２、Ｂ事業者のドローン３０ｂ−１及び３０ｂ−２、Ｃ事業者のドローン３０ｃ−１及び３０ｃ−２（それぞれ区別しない場合は「ドローン３０」という）とを備える。
【００１５】
ネットワーク２は、移動体通信網及びインターネット等を含む通信システムであり、自システムにアクセスする装置同士のデータのやり取りを中継する。ネットワーク２には、サーバ装置１０及び事業者端末２０が有線通信で（無線通信でもよい）アクセスしており、ドローン３０が無線通信でアクセスしている。
【００１６】
事業者端末２０は、例えば各事業者においてドローン３０の運用担当者が利用する端末である。事業者端末２０は、運用担当者の操作によりドローン３０が予定している飛行概要を示す飛行予定を生成し、生成した飛行予定をサーバ装置１０に送信する。飛行予定は、例えば、出発地、（必要なら）経由地、目的地、出発予定時刻及び到着予定時刻等を示す情報である。
【００１７】
サーバ装置１０は、上述した飛行指示に関する処理を行う情報処理装置である。サーバ装置１０は、受け取った飛行予定に基づき、各ドローン３０について飛行空域及び飛行許可期間を割り当てる。飛行空域は、ドローン３０が出発地から目的地まで飛行する際に通過すべき空間を示す情報であり、飛行許可期間は、割り当てられた飛行空域における飛行が許可される期間を示す情報である。サーバ装置１０は、割り当てた飛行空域を割り当てた飛行許可期間に飛行することを指示する飛行指示を作成し、作成した飛行指示を事業者端末２０に送信する。
【００１８】
事業者端末２０は、受け取った飛行指示に基づいて、ドローン３０が自機の飛行を制御するためのパラメータ群である飛行制御情報を生成し、生成した飛行制御情報を対象となるドローン３０に送信する。ドローン３０が飛行制御に用いるパラメータはドローン３０を制御するプログラムの仕様によって異なるが、例えば、飛行高度、飛行方向、飛行速度、到着地点の空間座標などが用いられる。
【００１９】
ドローン３０は、自律的に又は飛行計画に従って飛行体であり、本実施例では、１以上の回転翼を備え、それらの回転翼を回転させて飛行する回転翼機型の飛行体である。どのドローン３０も、自機の位置及び高度（つまり３次元空間上の空間座標）を測定する座標測定機能及び時刻を測定する時刻測定機能を有しており、空間座標及び時刻を測定しながら飛行速度及び飛行方向を制御することで、飛行指示により指定された飛行空域及び飛行許可期間を守りながら飛行することが可能である。
【００２０】
図２はサーバ装置１０等のハードウェア構成を表す。サーバ装置１０等（サーバ装置１０及び事業者端末２０）は、いずれも、プロセッサ１１と、メモリ１２と、ストレージ１３と、通信装置１４と、入力装置１５と、出力装置１６と、バス１７という各装置を備えるコンピュータである。なお、ここでいう「装置」という文言は、回路、デバイス及びユニット等に読み替えることができる。また、各装置は、１つ又は複数含まれていてもよいし、一部の装置が含まれていなくてもよい。
【００２１】
プロセッサ１１は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ１１は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置（ＣＰＵ：Central Processing Unit）で構成されてもよい。また、プロセッサ１１は、プログラム（プログラムコード）、ソフトウェアモジュール及びデータ等を、ストレージ１３及び／又は通信装置１４からメモリ１２に読み出し、これらに従って各種の処理を実行する。
【００２２】
各種処理を実行するプロセッサ１１は１つでもよいし、２以上であってもよく、２以上のプロセッサ１１は、同時又は逐次に各種処理を実行してもよい。また、プロセッサ１１は、１以上のチップで実装されてもよい。プログラムは、電気通信回線を介してネットワークから送信されてもよい。
【００２３】
メモリ１２は、コンピュータ読み取り可能な記録媒体であり、例えば、ＲＯＭ（Read Only Memory）、ＥＰＲＯＭ（Erasable Programmable ＲＯＭ）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ＲＯＭ）及びＲＡＭ（Random Access Memory）等の少なくとも１つで構成されてもよい。メモリ１２は、レジスタ、キャッシュ及びメインメモリ（主記憶装置）等と呼ばれてもよい。メモリ１２は、前述したプログラム（プログラムコード）、ソフトウェアモジュール及びデータ等を保存することができる。
【００２４】
ストレージ１３は、コンピュータが読み取り可能な記録媒体であり、例えば、ＣＤ−ＲＯＭ（Compact Disc ＲＯＭ）などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク（例えば、コンパクトディスク、デジタル多用途ディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク）、スマートカード、フラッシュメモリ（例えば、カード、スティック、キードライブ）、フロッピー（登録商標）ディスク、磁気ストリップなどの少なくとも１つで構成されてもよい。
【００２５】
ストレージ１３は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ１２及び／又はストレージ１３を含むデータベース、サーバその他の適切な媒体であってもよい。通信装置１４は、有線及び／又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア（送受信デバイス）であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
【００２６】
入力装置１５は、外部からの入力を受け付ける入力デバイス（例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど）である。出力装置１６は、外部への出力を実施する出力デバイス（例えば、ディスプレイ、スピーカなど）である。なお、入力装置１５及び出力装置１６は、一体となった構成（例えば、タッチスクリーン）であってもよい。また、プロセッサ１１及びメモリ１２等の各装置は、情報を通信するためのバス１７を介して互いにアクセス可能となっている。バス１７は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
【００２７】
図３はドローン３０のハードウェア構成を表す。ドローン３０は、プロセッサ３１と、メモリ３２と、ストレージ３３と、通信装置３４と、飛行装置３５と、センサ装置３６と、バス３７という各装置を備えるコンピュータである。なお、ここでいう「装置」という文言は、回路、デバイス及びユニット等に読み替えることができる。また、各装置は、１つ又は複数含まれていてもよいし、一部の装置が含まれていなくてもよい。
【００２８】
プロセッサ３１、メモリ３２、ストレージ３３、通信装置３４及びバス３７は図２に表す同名のハードウェアと同じである。通信装置３４は、ネットワーク２との無線通信に加え、ドローン３０同士の無線通信を行うこともできる。飛行装置３５は、上述したローターと、ローターを回転させるモーター等の駆動手段とを備え、自機（ドローン３０）を飛行させる装置である。飛行装置３５は、空中において、あらゆる方向に自機を移動させたり、静止（ホバリング）させたりすることができる。
【００２９】
センサ装置３６は、飛行制御に必要な情報を取得するセンサ群を有する装置である。センサ装置３６は、自機の位置（緯度及び経度）を測定する位置センサと、自機が向いている方向（ドローン３０には自機の正面方向が定められており、その正面方向が向いている方向）を測定する方向センサと、自機の高度を測定する高度センサとを備える。また、センサ装置３６は、赤外線又はミリ波等を照射してその反射波を受信するまでの時間に基づいて物体との距離を測定する距離センサを有する。距離センサは、ドローン３０が他のドローン３０との距離を所定の範囲に収めながら編隊を組んで飛行する編隊飛行を行う際に用いられる。
【００３０】
なお、サーバ装置１０及びドローン３０等は、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ：Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）、及び、ＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ１１は、これらのハードウェアの少なくとも１つで実装されてもよい。
【００３１】
ドローン運航管理システム１が備えるサーバ装置１０、事業者端末２０及びドローン３０には、本システムで提供されるプログラムが記憶されており、各装置のプロセッサがプログラムを実行して各部を制御することで以下に述べる機能群が実現される。
図４はドローン運航管理システム１が実現する機能構成を表す。なお、図４では、事業者端末２０及びドローン３０が１つずつしか表されていないが、それぞれ複数の事業者端末２０及び複数のドローン３０が一部の機能を除き同じ機能構成を有するものとする。
【００３２】
サーバ装置１０は、飛行予定取得部１０１と、空域・期間仮決部１０２と、編隊飛行判断部１０３と、飛行指示生成部１０４と、飛行指示送信部１０５とを備える。事業者端末２０は、飛行予定生成部２０１と、飛行予定送信部２０２と、飛行指示取得部２０３と、飛行制御情報生成部２０４と、飛行制御情報送信部２０５とを備える。ドローン３０は、飛行制御情報取得部３０１と、飛行部３０２と、飛行制御部３０３と、位置測定部３０４と、高度測定部３０５と、方向測定部３０６と、他機距離測定部３０７とを備える。
【００３３】
事業者端末２０の飛行予定生成部２０１は、ドローン３０の飛行予定を示す飛行予定情報を生成する。飛行予定生成部２０１は、例えば、上述した運用担当者が事業者端末２０に、飛行予定を入力するドローン３０を識別するドローンＩＤ（Identification）と、出発地、経由地及び到着地の名称と、出発予定時刻及び到着予定時刻とを入力することで、入力された各情報に基づいて飛行予定情報を生成する。なお、飛行予定情報は、あくまでも事業者が希望し又は要求する飛行予定を示す情報であり、確定した飛行計画を示すものではない。
【００３４】
図５は生成された飛行予定情報の一例を表す。図５の例では、図１に表すドローン３０ａ−１を識別する「Ｄ００１」というドローンＩＤに、「倉庫α１」、「交差点β１」、「店舗γ１」、「Ｔ１」、「Ｔ２」という出発地、経由地、目的地、出発予定時刻、到着予定時刻が対応付けられている。また、ドローン３０ｂ−１を識別する「Ｄ００２」というドローンＩＤに、「港α２」、「交差点β２」、「ビルγ２」、「Ｔ３」、「Ｔ４」という出発地、経由地、目的地、出発予定時刻、到着予定時刻が対応付けられている。なお、この飛行予定情報はあくまで一例であり、例えば経由地及び出発予定時刻等は含まれない場合がある。
【００３５】
「Ｔ１」等の時刻は、実際には「９時００分」のように日時を１分単位まで表しているものとする。なお、時刻は、より細かく（例えば秒単位で）表されていてもよいし、より粗く（例えば５分単位で）表されていてもよい。また、飛行予定の日付が入力されてもよいが、本実施例では、説明を分かり易くするため、運用担当者は当日の飛行予定をその日の朝に入力する（つまり日付は不要である）ものとする。
【００３６】
また、図５の例では、各ドローン３０の飛行速度を示す速度情報が飛行予定情報に含まれており、ドローン３０ａ−１の通常速度はＶ１１、最高速度がＶ１２、ドローン３０ｂ−１の通常速度はＶ２１、最高速度がＶ２２となっている。なお、ドローン３０は、最高速度以下の速度であれば飛行速度を調節して飛行することができるものとする。本実施例では、このように飛行予定情報によってサーバ装置１０に各ドローン３０の速度情報が知らされる。なお、この速度情報については、例えば各事業者が登録することでサーバ装置１０が予めドローンＩＤに対応付けて記憶しておいてもよい。
【００３７】
ドローン３０ａ−１の飛行予定情報はＡ事業者端末２０ａの飛行予定生成部２０１が生成し、ドローン３０ｂ−１の飛行予定情報はＢ事業者端末２０ｂの飛行予定生成部２０１が生成する。飛行予定生成部２０１は、生成した飛行予定情報を飛行予定送信部２０２に供給する。飛行予定送信部２０２は、供給された飛行予定情報をサーバ装置１０に送信する。サーバ装置１０の飛行予定取得部１０１は、各事業者端末２０から送信されてきた飛行予定情報を取得する。
【００３８】
飛行予定取得部１０１は、取得した飛行予定情報を空域・期間仮決部１０２に供給する。空域・期間仮決部１０２は、供給されたドローン３０の飛行予定情報に基づいて、そのドローン３０が飛行すべき飛行空域（ドローン３０が出発地から目的地まで飛行する際に通過すべき空間）及び飛行許可期間（飛行空域の飛行が許可される期間）の割り当てを仮決めする。
【００３９】
ドローン運航管理システム１においては、ドローン３０が飛行することができる飛行可能空域が道路網のように予め定められている。飛行可能空域は、当然ながら飛行のために必要な許可を受けた空域であり、場合によっては許可が不要な空域を含むこともある。本実施例では、飛行可能空域は、隙間なく敷き詰められた立方体の空間（以下「セル」という）によって表され、各セルには各々を識別するセルＩＤが付されている。
【００４０】
サーバ装置１０は、各セルＩＤと、各セルの中心の座標と、立方体であるセルの一辺の長さと、飛行可否とを対応付けた飛行可能空域テーブルを記憶している。
図６は飛行可能空域テーブルの一例を表す。図６の例では、「Ｃ０１＿０１」、「Ｃ０２＿０１」、・・・、「Ｃ９９＿９９」というセルＩＤと、「ｘ１、ｙ１、ｚ１」、「ｘ２、ｙ１、ｚ１」、・・・、「ｘ９９、ｙ９９、ｚ９９」という中心の座標とが対応付けられている。
【００４１】
本実施例では、説明を分かり易くするため、各セルの高度が一定であり、各セルのｘｙ座標とセルＩＤとを対応させて表している（例えばｘｙ座標が（ｘ１０、ｙ１５）のセルはＣ１０＿１５というセルＩＤが付されている）。図６の例では、各セルの一辺の長さはいずれも「Ｌ１」である。また、飛行可否は「○」なら飛行可能、「×」なら飛行不可であることが表されている。
【００４２】
空域・期間仮決部１０２は、まず、飛行可能空域のセルの中から、飛行予定に含まれている出発地に最も近いセル（出発地セル）と、経由地に最も近いセル（経由地セル）と、目的地に最も近いセル（目的地セル）とを特定する。空域・期間仮決部１０２は、次に、飛行可能空域のセルの中から、特定した出発地セルから経由地セルを通って目的地セルに至り、且つ、例えば飛行距離が最短となる飛行空域を仮決めし、仮決めした飛行空域に含まれているセルのセルＩＤを抽出する。
【００４３】
図７は仮決めされた飛行空域の例を表す。図７では、セルＣ０１＿０１（セルＩＤがＣ０１＿０１のセル）の中心を原点とするｘ軸及びｙ軸が表されており、ｘ軸の矢印方向をｘ軸正方向、その反対方向をｘ軸負方向、ｙ軸の矢印方向をｙ軸正方向、その反対方向をｙ軸負方向といい、ｙ軸負方向は北向きであるものとする。図７の例では、図５に表す飛行予定に含まれる「倉庫α１」から「交差点β１」を通って「店舗γ１」まで至る飛行空域Ｒ１が表されている。
【００４４】
飛行空域Ｒ１には、出発地セルであるセルＣ０１＿０１からｘ軸正方向に隣接するセルを通ってセルＣ２０＿０１に至る分割空域Ｒ１１（飛行空域を分割した空域のこと）と、そこからｙ軸正方向に隣接するセルを通って経由地セルであるセルＣ２０＿２０に至る分割空域Ｒ１２と、そこからｘ軸正方向に隣接するセルを通って目的地セルであるセルＣ５０＿２０に至る分割空域Ｒ１３とが含まれている。
【００４５】
また、図７の例では、図５に表す飛行予定に含まれる「港α２」から「交差点β２」を通って「ビルγ２」まで至る飛行空域Ｒ２が表されている。飛行空域Ｒ２には、出発地セルであるセルＣ４０＿０５からｘ軸負方向に隣接するセルを通ってセルＣ２０＿０５に至る分割空域Ｒ２１と、そこからｙ軸正方向に隣接するセルを通って経由地セルであるセルＣ２０＿１５に至る分割空域Ｒ２２と、そこからｘ軸負方向に隣接するセルを通ってセルＣ０５＿１５に至る分割空域Ｒ２３と、そこからｙ軸正方向に隣接するセルを通って目的地セルであるセルＣ０５＿３０に至る分割空域Ｒ２４とが含まれている。
【００４６】
空域・期間仮決部１０２は、本実施例では、各分割空域について飛行許可期間を仮決めする。空域・期間仮決部１０２は、例えば、飛行予定に含まれる出発予定時刻から到着予定時刻までの期間を、各分割空域の長さに応じた割合で分割した期間を、各分割空域を通過する際に要する空域通過期間として算出する。
【００４７】
空域・期間仮決部１０２は、例えば飛行空域Ｒ１における分割空域Ｒ１１、Ｒ１２、Ｒ１３の長さの比が２：２：３であり、出発予定時刻から到着予定時刻までの期間が７０分であれば、２０分：２０分：３０分を各分割空域の空域通過期間として算出する。空域・期間仮決部１０２は、出発予定時刻からこれらの空域通過期間が順次経過した時刻（つまり２０分経過後の時刻、４０分経過後の時刻、７０分経過後の時刻）の前後にマージン期間を加えた時刻を開始時刻又は終了時刻とする期間を各分割空域における飛行許可期間として仮決めする。
【００４８】
図８は仮決めされた飛行許可期間の一例を表す。空域・期間仮決部１０２は、例えばマージン期間を３分間とすると、分割空域Ｒ１１に対しては、出発予定時刻Ｔ１の３分前を開始時刻Ｔ１１１とし、出発予定時刻Ｔ１から分割空域Ｒ１１の空域通過期間（２０分）が経過してからマージン期間の３分が経過した時刻（つまり出発予定時刻Ｔ１の２３分後）を終了時刻Ｔ１１２とする期間Ｋ１１を飛行許可期間として仮決めする。
【００４９】
また、空域・期間仮決部１０２は、分割空域Ｒ１２に対しては、出発予定時刻Ｔ１から分割空域Ｒ１１の空域通過期間である２０分が経過した時刻からマージン期間の３分間遡った時刻（つまり出発予定時刻Ｔ１の１７分後）を開始時刻Ｔ１２１とし、出発予定時刻Ｔ１に分割空域Ｒ１１及びＲ１２の空域通過期間を合わせた４０分が経過してからマージン期間の３分が経過した時刻（つまり出発予定時刻Ｔ１の４３分後）を終了時刻Ｔ１２２とする期間Ｋ１２を飛行許可期間として仮決めする。
【００５０】
また、空域・期間仮決部１０２は、分割空域Ｒ１３に対しては、出発予定時刻Ｔ１から分割空域Ｒ１１及びＲ１２の空域通過期間を合わせた４０分が経過した時刻からマージン期間の３分間遡った時刻（つまり出発予定時刻Ｔ１の３７分後）を開始時刻Ｔ１３１とし、出発予定時刻Ｔ１に分割空域Ｒ１１、Ｒ１２及びＲ１３の空域通過期間を合わせた７０分が経過してからマージン期間の３分が経過した時刻（つまり出発予定時刻Ｔ１の７３分後又は到着予定時刻Ｔ２の３分後）を終了時刻Ｔ１３２とする期間Ｋ１３を飛行許可期間として仮決めする。
【００５１】
なお、空域・期間仮決部１０２は、図５に表す飛行予定情報に経由地又は予定時刻が含まれていない場合に、あえて他のドローン３０と編隊飛行を行わせるため、飛行空域及び飛行許可期間が重複するように経由地又は予定時刻を設定して仮決めしてもよい。また、空域・期間仮決部１０２は、割り当て可能な空域が不足している場合（例えば割り当てを仮決めしていないセルの個数が閾値以下になった場合）に、同じくあえて他のドローン３０と編隊飛行を行わせるため、飛行空域及び飛行許可期間が重複するように経由地及び予定時刻等を変更して仮決めしてもよい。
【００５２】
空域・期間仮決部１０２は、以上のとおり仮決めした飛行空域及び飛行許可期間を示す仮決め情報を飛行予定情報とともに編隊飛行判断部１０３に供給する。
図９は仮決め情報の一例を表す。仮決め情報においては、飛行空域に含まれるセルのセルＩＤが分割空域毎にまとめられ、分割空域毎に対応する飛行許可期間が対応付けられ、それらの飛行空域及び飛行許可期間が仮決めされたドローン３０のドローンＩＤ及び速度情報に対応付けられている。
【００５３】
例えば「Ｄ００１」というドローンＩＤには、分割空域Ｒ１１、Ｒ１２、Ｒ１３に含まれるセルＩＤ群と、飛行許可期間である期間Ｋ１１、Ｋ１２、Ｋ１３の開始時刻及び終了時刻と、通常速度がＶ１１で最高速度がＶ１２であることを示す速度情報がそれぞれ対応付けられている。編隊飛行判断部１０３は、共通の飛行空域が仮決めされたドローン３０同士の編隊飛行（編隊を組んでの飛行）に関する判断を行う。編隊飛行判断部１０３は、具体的には、編隊飛行を行う必要があるか否か（編隊飛行の要否）と、編隊飛行を行うべきドローン３０の組合せ（編隊飛行の組合せ）と、編隊飛行を行う各ドローン３０の配置（編隊飛行の配置）とを判断する。
【００５４】
編隊飛行判断部１０３は、共通の飛行空域を共通の方向に飛行するドローン３０同士が所定の距離よりも接近すると見込まれる場合、それらのドローン３０は編隊飛行を行う必要があると判断する。編隊飛行判断部１０３は、前述したドローン３０同士の接近が見込まれるか否かを、空域・期間仮決部１０２により仮決めされた飛行空域及び飛行許可期間に基づいて判断する。
【００５５】
編隊飛行判断部１０３は、例えば、飛行空域全体を通過する際に要する空域通過期間を算出し、算出した空域通過期間を飛行空域に含まれるセルの数で分割する。分割された期間は、ドローン３０が各セルの通過に要する期間を表す。編隊飛行判断部１０３は、出発予定時刻に分割した期間を順次加えた時刻を、ドローン３０が各セルにおける飛行を開始することが見込まれる時刻及び終了することが見込まれる時刻として算出する。以下ではこれらの開始時刻及び終了時刻を「セル飛行時刻」という。
【００５６】
編隊飛行判断部１０３は、本実施例では、次の３つの条件が満たされた場合に、共通の飛行空域を共通の方向に飛行するドローン３０同士が所定の距離よりも接近することが見込まれると判断する。
条件１：２以上のドローン３０に対して割り当てが仮決めされた重複セルがある又は仮決めされたセル間の距離が閾値以内になっている。
条件２：２以上のドローン３０の重複セルにおける飛行方向が一致している。
条件３：２以上のドローン３０の重複セルにおけるセル飛行時刻の差が閾値未満である。
【００５７】
編隊飛行判断部１０３は、詳細には、セル飛行時刻のうちの開始時刻同士の差又は終了時刻同士の差のいずれかだけでも閾値未満である場合に条件３が満たされると判断する。例えば図７の例において、セルＣ２０＿０５からセルＣ２０＿１５までのセルは、ドローン３０ａ−１及びドローン３０ｂ−１の両方に割り当てが仮決めされた重複セルであるから、条件１が満たされる。
【００５８】
ドローン３０ａ−１及び３０ｂ−１は、これらの重複セルにおいてどちらもｙ軸正方向に移動するから、条件２が満たされる。編隊飛行判断部１０３は、これらの重複セルにおけるドローン３０ａ−１及び３０ｂ−１のセル飛行時刻の差が閾値未満であれば、条件３も満たされるので、ドローン３０ａ−１及び３０ｂ−１は編隊飛行を行うべきだと判断し、それらのドローン３０の組合せを、編隊飛行を行うべきドローン３０の組合せとして判断する。
【００５９】
続いて、編隊飛行判断部１０３は、編隊飛行を行う複数のドローン３０の配置を決定する。編隊飛行判断部１０３は、本実施例では、複数のドローン３０の編隊飛行時の配置として、各ドローン３０を進行方向に沿って真っ直ぐ並べる配置であり且つ編隊飛行から離脱する順番に並べる配置を決定する。ここでいう順番は、先頭からの順番でもよいし、最後尾からの順番でもよい。
【００６０】
例えば３台のドローン３０が互いに距離Ｌ１１の間隔をあけて編隊飛行をする場合、２番目のドローン３０が途中で離脱すると、離脱した瞬間は３番目のドローン３０と先頭のドローン３０との距離がＬ１１×２だけあいてしまうので、３番目のドローン３０は距離Ｌ１１になるまで間隔を詰めなければならない。その際３番目のドローン３０の飛行速度が不足していると間隔を詰めることができずに編隊飛行を継続することができなくなるおそれがある。
【００６１】
その場合先頭のドローン３０が飛行速度を落としてもよいが、離脱のタイミングで飛行速度を落として間隔が詰まったら飛行速度を戻すという複雑な制御が必要になる。上記のとおり編隊飛行から離脱する順番に並べる配置にすれば、そのように途中のドローン３０（前後を他のドローン３０に挟まれたドローン３０）が離脱することがないので、この配置にしない場合に比べて編隊飛行を安定して継続することができるし、編隊飛行の継続のための前述した複雑な制御を不要にすることができる。
【００６２】
なお、編隊飛行判断部１０３は、共通の飛行空域を共通の方向に飛行するドローン３０同士が所定の距離よりも接近しないと見込まれる場合、つまり条件１〜３が満たされない場合でも、例えば割り当て可能な空域が不足しているときに、条件１、３の閾値を大きな値に変更して、あえて編隊飛行を行うべきドローン３０の組合せだと判断してもよい。
【００６３】
編隊飛行判断部１０３は、条件１、３が満たされたが条件２が満たされない場合は、ドローン３０同士が近接しながらすれ違う異常接近（いわゆるニアミス）が生じる旨を、対象となるドローン３０のドローンＩＤと共に空域・期間仮決部１０２に通知する（これを「ニアミスの通知」という）。
【００６４】
また、編隊飛行判断部１０３は、割り当て可能な空域が不足している場合（例えば割り当てが仮決めされていないセルの個数が閾値以下になった場合）に、多少離れているドローン３０（条件１、３の閾値を大きくして判断）にまで編隊飛行の対象を拡大すべきである旨を、対象となるドローン３０のドローンＩＤと共に空域・期間仮決部１０２に通知する。また、編隊飛行判断部１０３は、条件１〜３を満たさないドローン３０であっても、供給された飛行予定情報に経由地又は予定時刻の記載がなければ、条件１〜３を満たすように経由地又は予定時刻を設定して仮決めを行う旨を、対象となるドローン３０のドローンＩＤと共に空域・期間仮決部１０２に通知する（これはいずれも「対象拡大の通知」という）。
【００６５】
空域・期間仮決部１０２は、ニアミス又は対象拡大の通知を受け取ると、共に通知されたドローンＩＤのドローン３０のうち、１台を除いた他のドローン３０に仮決めした飛行空域及び飛行許可期間の一方又は両方を変更する。空域・期間仮決部１０２は、例えば、対象となるドローン３０の出発予定時刻及び到着予定時刻を、飛行予定情報が示す時刻よりも所定の時間だけ遅くした上で再度上記と同じ方法で飛行許可期間を仮決めする。
【００６６】
なお、空域・期間仮決部１０２は、飛行距離が最短となる飛行空域を仮決めする代わりに、飛行距離が２番目又は３番目等に短い飛行空域を仮決めしてもよい。また、空域・期間仮決部１０２は、経由地を変更した上で飛行空域を仮決めしてもよい。それらの場合、空域・期間仮決部１０２は、仮決めをし直した飛行空域に対して飛行許可期間を上記と同じ方法で仮決めする。
【００６７】
空域・期間仮決部１０２は、いずれかの方法で仮決めをし直すと、その仮決めの結果を反映した仮決め情報を編隊飛行判断部１０３に供給する。編隊飛行判断部１０３は、変更された仮決め情報に基づいて上記のとおり編隊飛行について判断を行う。こうして空域・期間仮決部１０２及び編隊飛行判断部１０３は、ニアミスの通知及び対象拡大の通知のいずれもが行われなくなるまで（つまりニアミス及び対象拡大が生じなくなるまで）上記の動作を繰り返し行う。
【００６８】
空域・期間仮決部１０２は、上記通知が行われない状態になると、最後に仮決めした飛行許可期間の変更を行う。上記のとおり編隊飛行は通常速度が最も遅いドローン３０に合わせた速度で行われるため、通常速度が速いドローン３０の空域通過期間が、上記のとおり算出した期間よりも長くなり、仮決めした飛行許可期間だと短すぎるという事態が起こり得る。そこで、空域・期間仮決部１０２は、編隊飛行を行った場合の速度で飛行する前提で空域通過期間を算出し直して、その空域通過期間に基づいて図７で説明した方法で飛行許可期間を再度仮決めする。
【００６９】
編隊飛行判断部１０３は、ニアミス及び対象拡大が生じない状態になったときに最後に仮決めされた飛行空域と、上記のとおり調整された飛行許可期間とを、正式に割り当てられた飛行空域及び飛行許可期間として確定させる。空域・期間仮決部１０２及び編隊飛行判断部１０３は、こうして飛行予定取得部１０１により取得された飛行予定情報に基づいてドローン３０に飛行空域及び飛行許可期間を割り当てる割当部１０６として機能する。
【００７０】
割当部１０６は、複数のドローン３０の飛行空域及び飛行方向に所定の共通性がある場合には、それら複数のドローン３０については互いの距離を制御する編隊飛行を行うことを条件にその飛行空域を共有させる。例えば、割当部１０６は、共通の飛行空域を共通の方向に飛行するドローン３０同士が所定の距離よりも接近すると見込まれる場合に、所定の共通性がある場合と判断する。
【００７１】
また、割当部１０６は、事業者が定めた飛行予定からは、共通の飛行空域を共通の方向に飛行するとも、所定の距離まで接近するとも見込まれなくても、例えば上述した対象拡大の通知がされて出発地から目的地までの経路又は予定時刻を変更すれば共通の飛行空域を共通の方向に飛行して所定の距離まで接近するのであれば、それらのドローン３０は飛行空域及び飛行方向に所定の共通性があると判断し、編隊飛行を行うことを条件にその飛行空域を共有させる。
【００７２】
また、割当部１０６は、上記のとおり、最も遅いドローン３０の速度に合わせて編隊飛行を行う場合に、それよりも速い速度のドローン３０に対して割り当てた飛行許可期間を、編隊飛行中の速度に応じて延長する。編隊飛行判断部１０３は、以上のとおり決定した編隊飛行を行うべきドローン３０の組合せと、編隊飛行を行う際の並び順と、それらのドローン３０が飛行する重複セルのセルＩＤと、この決定の際に算出したセル飛行時刻（ドローン３０が予定通り飛行した場合に各セルを飛行する見込みの期間）とを示す編隊飛行情報を飛行指示生成部１０４に供給する。
【００７３】
また、編隊飛行判断部１０３は、編隊飛行情報が示す各情報の最終的な判断に用いた仮決め情報（速度情報を含む）を、上記のとおり確定させた正式な飛行空域及び飛行許可期間の割り当てを示す割当情報として、編隊飛行情報と共に飛行指示生成部１０４に供給する。飛行指示生成部１０４は、供給された編隊飛行情報及び割当情報に基づいて、飛行予定が送信されてきたドローン３０に対する飛行指示を生成する。
【００７４】
図１０は生成された飛行指示の一例を表す。図１０では、上述したドローン３０ａ−１、１０ｂ−１に加えて、図１０（ａ）に表すようにセルＣ１０＿１０からセルＣ２０＿１０、セルＣ２０＿２０、セルＣ３０＿２０を経由してセルＣ３０＿３０までの飛行空域が割り当てられたドローン３０ｃ−１が編隊飛行の対象となった例を説明する。飛行指示生成部１０４は、図１０（ｂ）に表すように、割当情報が示すドローンＩＤと、飛行空域と、飛行許可期間とに加えて、他のドローン３０と合流する合流セルと、合流セルでの合流時刻と、編隊飛行での並び順とを示す飛行指示を生成している。
【００７５】
図１０の例では、飛行空域のセルＩＤ及び飛行許可期間の開始時刻及び終了時刻を省略している。例えばドローン３０ａ−１（ドローンＩＤ＝Ｄ００１）及びドローン３０ｂ−１（ドローンＩＤ＝Ｄ００２）は、合流セルであるセルＣ２０＿０５において合流時刻ＴＧ１に合流し、その際の並び順が先頭からドローン３０ａ−１、３０ｂ−１であることが示されている。
【００７６】
また、ドローン３０ａ−１、３０ｂ−１、３０ｃ−１（ドローンＩＤ＝Ｄ００３）は、合流セルであるセルＣ２０＿１０において合流時刻ＴＧ２に合流し、その際の並び順が先頭からドローン３０ａ−１、３０ｃ−１、３０ｂ−１であることが示されている。なお、各ドローン３０は、割り当てられた飛行空域を通って飛行することで、他のドローン３０と飛行空域が分離する地点で自然と編隊飛行から離脱する。
【００７７】
図１０の例では、合流セルであるセルＣ２０＿０５から合流セルであるセルＣ２０＿１０までの編隊飛行空域ＲＨ１１ではドローン３０ａ−１、３０ｂ−１の２台が編隊飛行を行う。次に、ドローン３０ｃ−１が合流する合流セルであるセルＣ２０＿１０からドローン３０ｂ−１が離脱するセルＣ２０＿１５までの編隊飛行空域ＲＨ１２ではドローン３０ａ−１、３０ｃ−１、３０ｂ−１の３台が編隊飛行を行う。
【００７８】
そして、セルＣ２０＿１５からドローン３０ａ−１、３０ｃ−１の飛行空域が分離するセルＣ３０＿３０までの編隊飛行空域ＲＨ１３ではドローン３０ａ−１、３０ｃ−１の２台が編隊飛行を行う。飛行指示生成部１０４は、編隊飛行情報及び割当情報から、編隊飛行を行うべきドローン３０に対応付けられた飛行空域に含まれる重複セルの先頭のセルＩＤを合流セルのセルＩＤとして抽出する。
【００７９】
また、飛行指示生成部１０４は、例えばその合流セルにおいて合流する各ドローン３０の合流セルにおけるセル飛行時刻の開始時刻のうち最も遅い時刻（合流セルへの到着が最も遅いドローン３０の到着時刻）に許容される遅れ（例えば編隊飛行を行うドローン３０が通常よりも速度を上げて飛行すれば次の目的地点までにセル飛行時刻の遅れを取り戻せる程度の遅れ）を見込んだ時刻を合流時刻として抽出する。本実施例では、この合流時刻が合流位置への到着期限として用いられる。
【００８０】
また、飛行指示生成部１０４は、編隊飛行の対象となるドローン３０について決定された編隊飛行での並び順を抽出する。飛行指示生成部１０４は、こうして抽出した合流セル、合流時刻及び合流後に行われる編隊飛行での並び順を含む飛行指示を生成する。飛行指示生成部１０４は、生成した飛行指示を飛行指示送信部１０５に供給する。飛行指示送信部１０５は、供給された飛行指示を、その飛行指示に含まれるドローンＩＤのドローン３０の運用担当者が利用する事業者端末２０に送信する。
【００８１】
事業者端末２０の飛行指示取得部２０３は、送信されてきた飛行指示を取得して、飛行制御情報生成部２０４に供給する。飛行制御情報生成部２０４は、上述した飛行制御情報（ドローン３０が自機の飛行を制御するためのパラメータ群）を生成する。
図１１は生成された飛行制御情報の一例を表す。図１１では、上述したドローン３０ａ−１に対する飛行制御情報が表されている。
【００８２】
ドローン３０ａ−１には、図１１（ａ）に表すように、出発地セルであるセルＣ０１＿０１からセルＣ２０＿０１を通り、合流セルであるセルＣ２０＿０５及びセルＣ２０＿１０でそれぞれ合流を行い、セルＣ２０＿１５でドローン３０ｂ−１が離脱し、経由地セルであるセルＣ２０＿２０を通り、セルＣ３０＿２０でドローン３０ｃ−１が離脱し、目的地セルであるセルＣ５０＿２０に到達する飛行空域が割り当てられている。
【００８３】
飛行制御情報生成部２０４は、これらの８つのセルの中心点の座標Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、Ｐ７、Ｐ８を目標地点座標（次に到達すべき目標となる地点の座標）として算出し、それらの座標を含む飛行制御情報をまずは生成する。ドローン運航管理システム１においては、目的地として指定される地点にはドローン３０の着陸が可能なドローンポートが用意されており、事業者端末２０は、各ドローンポートの座標を目的地の名称に対応付けて記憶している。飛行制御情報生成部２０４は、図１１の例では、ドローン３０ａ−１の目的地である「店舗γ１」に対応付けられているドローンポートの座標Ｐ９を目標地点座標として飛行制御情報に加える。
【００８４】
飛行制御情報生成部２０４は、各目標地点座標まで飛行する際の飛行高度、飛行方向、飛行速度、空間幅、到着目標時刻、並び順／編隊機数（編隊飛行を行うドローン３０の台数）を飛行制御情報に加える。飛行制御情報生成部２０４は、例えば飛行高度として、座標Ｐ１までの飛行（離陸）には「０〜Ａ１」、それ以降の座標Ｐ８までの飛行（水平飛行）には「Ａ１」、座標Ｐ９までの飛行（着陸）には「Ａ１〜０」を加える。
【００８５】
また、飛行制御情報生成部２０４は、飛行方向として、水平飛行が行われる座標Ｐ１から座標Ｐ２までは「東向き」、座標Ｐ２から座標Ｐ６までは「南向き」、座標Ｐ７から座標Ｐ８までは「東向き」を加える。また、飛行制御情報生成部２０４は、ドローン３０ａ−１が単独で飛行する座標Ｐ１から座標Ｐ３までと座標Ｐ７から座標Ｐ８までの飛行速度としてドローン３０ａ−１の通常速度である速度Ｖ１１を加える。
【００８６】
また、飛行制御情報生成部２０４は、ドローン３０ａ−１及び３０ｂ−１が編隊飛行を行う座標Ｐ３からＰ４までの飛行速度としてドローン３０ｂ−１の通常速度である速度Ｖ２１（速度Ｖ２１＜Ｖ１１とする）を加える。また、飛行制御情報生成部２０４は、ドローン３０ｃ−１が合流する座標Ｐ４から離脱するＰ７までの飛行速度としてドローン３０ｃ−１の通常速度である速度Ｖ３１（速度Ｖ３１＜Ｖ２１＜Ｖ１１とする）を加える。
【００８７】
また、飛行制御情報生成部２０４は、水平飛行が行われる座標Ｐ１から座標Ｐ８までの飛行空域の空間幅として、本実施例で定められているセルの一辺の長さＬ１を加える。図１１に表す「Ｌ１、Ｌ１、Ｌ１」という３つの空間幅は、ｘ軸方向、ｙ軸方向、ｚ軸方向の３方向の幅を意味している。なお、離陸時と着陸時には飛行方向、飛行速度、空間幅は不要なのでブランクになっている。
【００８８】
また、飛行制御情報生成部２０４は、各目標地点座標への到着目標時刻として、出発予定時刻Ｔ１及び到着予定時刻Ｔ２と、飛行許可期間の開始時刻及び終了時刻と、合流時刻とを用いた時刻を加えている。飛行制御情報生成部２０４は、例えば座標Ｐ１への到着目標時刻として、座標Ｐ１を含むセルＣ０１＿０１から始まる分割空域Ｒ１１の飛行許可期間である期間Ｋ１１の開始時刻Ｔ１１１よりも所定の時間だけ後の時刻Ｔ１１１´以降の時刻と定めている。
【００８９】
開始時刻Ｔ１１１よりも前にセルＣ０１＿０１に入ると飛行許可期間である期間Ｋ１１になる前の侵入になるので、時刻Ｔ１１１´は、セルＣ０１＿０１に進入してから座標Ｐ１に到達するまでに要する時間よりも長い時間だけ開始時刻Ｔ１１１から経過した時刻を表すものとする。この時刻Ｔ１１１´以降に到着するということは、飛行許可期間である期間Ｋ１１になってから分割空域Ｒ１１に進入したことになる。
【００９０】
また、飛行制御情報生成部２０４は、分割空域Ｒ１１及びＲ１２の境目である座標Ｐ２への到着目標時刻として、座標Ｐ２を含むセルＣ２０＿０１から始まる分割空域Ｒ１２の飛行許可期間の開始時刻Ｔ１２１よりも所定の時間だけ後の時刻Ｔ１２１´から、セルＣ２０＿０１で終わる分割空域Ｒ１１の飛行許可期間の終了時刻Ｔ１１２よりも所定の時間だけ前の時刻Ｔ１１２´までの間の時刻を定めている。
【００９１】
時刻Ｔ１１１´と同様に、時刻Ｔ１２１´以降に座標Ｐ２に到着するということは、飛行許可期間である期間Ｋ１２になってから分割空域Ｒ１２に進入したことになる。また、時刻Ｔ１１２´は、座標Ｐ２からセルＣ２０＿０１を抜け出すまでに要する時間よりも長い時間だけ終了時刻Ｔ１１２から経過した時刻を表すものとする。この時刻Ｔ１１２´以前に座標Ｐ２に到着するということは、飛行を続ければ飛行許可期間である期間Ｋ１１が終了する前に分割空域Ｒ１１を抜け出せることになる。分割空域Ｒ１２及びＲ１３の境目である座標Ｐ６への到着目標時刻も同じ方法で定められている。
【００９２】
また、飛行制御情報生成部２０４は、座標Ｐ３への到着目標時刻として、座標Ｐ３を含む合流セルであるセルＣ２０＿０５での合流時刻ＴＧ１以前の時刻を定めている。座標Ｐ４への到着目標時刻も同じ方法で合流時刻ＴＧ２以前の時刻が定められている。これらの合流セルの中心の座標Ｐ３、Ｐ４は、編隊を組むドローン３０が合流する位置（合流位置）を示している。
【００９３】
また、飛行制御情報生成部２０４は、ドローン３０ｂ−１が離脱する座標Ｐ５への到着目標時刻として、座標Ｐ５を含むセルＣ２０＿１５から始まる分割空域Ｒ２３の飛行許可期間の開始時刻Ｔ２３１よりも所定の時間だけ後の時刻Ｔ２３１´以降の時刻と定めている。この時刻に到着すれば、飛行許可期間である期間Ｋ２３になってからドローン３０ｂ−１が分割空域Ｒ２３に進入することになるからである。ドローン３０ｃ−１が離脱する座標Ｐ７への到着目標時刻も同じ方法で定められている。
【００９４】
また、飛行制御情報生成部２０４は、座標Ｐ８への到着目標時刻として、座標Ｐ８を含むセルＣ５０＿２０で終わる分割空域Ｒ１３の飛行許可期間である期間Ｋ１３の終了時刻Ｔ１３２よりも所定の時間だけ前の時刻Ｔ１３２´以前の時刻を定めている。この時刻Ｔ１３２´以前に座標Ｐ２に到着するということは、飛行を続ければ飛行許可期間である期間Ｋ１３が終了する前に分割空域Ｒ１３を抜け出せることになるからである。
【００９５】
また、飛行制御情報生成部２０４は、合流位置である座標Ｐ３から次の目標地点の座標Ｐ４に向かう際の並び順／編隊機数である「１／２」（２台のうちの先頭で編隊飛行を行うことを意味する）と、合流位置である座標Ｐ４から次の目標地点の座標Ｐ５に向かう際の並び順／編隊機数である「１／３」（３台のうちの先頭で編隊飛行を行うことを意味する）とを定めている。
【００９６】
また、飛行制御情報生成部２０４は、ドローン３０ｂ−１が離脱する座標Ｐ５からドローン３０ｃ−１が離脱する座標Ｐ７までの並び順／編隊機数である「１／２」を定めている。こうして飛行制御情報生成部２０４は、合流後の並び順を含む飛行制御情報を生成する。飛行制御情報生成部２０４は生成した飛行制御情報を飛行制御情報送信部２０５に供給する。
【００９７】
飛行制御情報送信部２０５は、供給された飛行制御情報を、対象となるドローン３０に送信する。ドローン３０の飛行制御情報取得部３０１は、送信されてきた飛行制御情報を取得して、取得した飛行制御情報を飛行制御部３０３に供給する。飛行部３０２は、自機（自ドローン）を飛行させる機能である。本実施例では、飛行部３０２は、飛行装置３５が備えるローター及び駆動手段等によって自機を飛行させる。
【００９８】
飛行制御部３０３は、飛行制御情報取得部３０１から供給された飛行制御情報に基づいて飛行部３０２を制御し、自機の飛行を制御する飛行制御処理を行う。位置測定部３０４は、自機の位置を測定し、測定した位置を示す位置情報（例えば緯度・経度の情報）を飛行制御部３０３に供給する。高度測定部３０５は、自機の高度を測定し、測定した高度を示す高度情報（例えば高度をｃｍ単位で示す情報）を飛行制御部３０３に供給する。
【００９９】
方向測定部３０６は、自機の正面が向いている方向を測定し、測定した方向を示す方向情報（例えば真北を０度とした場合に各方向を３６０度までの角度で示す情報）を飛行制御部３０３に供給する。他機距離測定部３０７は、自機の周辺に存在する他のドローン３０と自機との距離を測定する。他機距離測定部３０７は、例えば、自機の進行方向に存在するドローン３０との距離を測定し、測定した距離を示す距離情報を飛行制御部３０３に供給する。以上で述べた位置情報、高度情報、方向情報、距離情報は、飛行制御部３０３に所定の時間間隔（例えば１秒毎等）で繰り返し供給される。
【０１００】
飛行制御部３０３は、前述した飛行制御情報に加え、繰り返し供給されてくる位置情報、高度情報及び方向情報と、他機距離測定部３０７を備えるドローン３０の場合は距離情報とに基づいて自機の飛行を制御する。飛行制御部３０３は、例えば測定される高度が飛行制御情報の示す飛行高度を維持するように自機の高度を制御する（高度制御）。また、飛行制御部３０３は、測定される位置の変化、すなわち速度が飛行制御情報の示す飛行速度を維持するように自機の飛行速度を制御する（速度制御）。
【０１０１】
また、飛行制御部３０３は、前の目標地点座標と次の目標地点座標とを結ぶ線上の座標を中心とした矩形（本実施例では正方形）の範囲に自機が収まるように飛行高度及び飛行方向を制御する（空域通過制御）。この矩形は、飛行空域の境界を表しており、飛行空域を進行方向に直交する面で区切った場合の断面であり且つ一辺の長さが飛行空域の空間幅になっている。飛行制御部３０３は、測定された位置及び高度と、自機の寸法（縦の寸法、横の寸法）とに基づいて、自機がこの矩形の範囲に収まるように制御を行う。
【０１０２】
また、飛行制御部３０３は、目標地点座標が近づいてくると、到着目標時刻よりも早く到着しそうな場合は飛行速度を遅くし、到着目標時刻に間に合わなそうな場合は飛行速度を速くするよう飛行速度を制御する（到着制御）。また、飛行制御部３０３は、目標地点が合流位置である場合、そこに到着すると、合流位置を含むセルの近辺の待機場所で待機する制御を行う（待機制御）。
【０１０３】
待機場所としては、例えば合流位置を含むセルの端の方が用いられたり、そのセルの近辺にある飛行空域として用いられていないセルが用いられたりする。また、飛行制御部３０３は、待機場所で待機中に周囲のドローン３０と無線通信を行って編隊飛行を行う予定の台数（飛行制御情報が示す編隊機数）が揃ったか否かを判断する。飛行制御部３０３は、合流時刻までに台数が揃ったと判断すると、合流位置から次の目的地点座標に向けた編隊飛行を行うために編隊を形成する制御を行う（編隊形成制御）。
【０１０４】
編隊飛行では、他のドローン３０を引率する役割を持った親機と、親機に引率されて飛行する役割の子機とが定められる。本実施例では、編隊飛行の配置が進行方向の１番前（先頭）のドローン３０が親機で、２番手以降（後続）のドローン３０が子機として定められる。飛行制御部３０３は、自機が親機として定められた場合、自機が出発する旨を他のドローン３０（子機）に無線通信で通知してから飛行を開始する。
【０１０５】
また、飛行制御部３０３は、自機が２番手である場合、先頭から出発の通知を受け取ると、それから所定の時間（前のドローン３０との間隔が編隊飛行時の間隔まで開かないだけの時間）が経過したときに、自機が出発する旨を他のドローン３０に無線通信で通知してから飛行を開始する。以降、各ドローン３０の飛行制御部３０３が自機の順番に置いて同じ制御を行うことで、編隊飛行時の並び順に各ドローン３０が飛行を開始して、その結果、各ドローン３０が並び順のとおりに並んだ編隊が形成される。
【０１０６】
飛行制御部３０３は、上述した高度制御、速度制御、空域通過制御、到着制御、待機制御及び編隊形成制御という基本的な飛行制御を用いて編隊飛行を行う他のドローン３０との合流に関する制御を行う第１制御部３３１と、第２制御部３３２と、第３制御部３３３と、第４制御部３３４とを備える。そのうちの第１制御部３３１は、編隊飛行を行う前の合流位置までの飛行と編隊飛行を行った後の目的地までの飛行を制御する。
【０１０７】
具体的には、第１制御部３３１は、目的地までの飛行空域を通過して飛行するよう飛行部３０２を制御する（目的地飛行制御）。また、第１制御部３３１は、目的地までの飛行空域を通過する他の飛行体との合流位置が指示された場合、その合流位置までその飛行空域を通過して飛行し、合流位置に到達するとそこで待機するよう飛行部３０２を制御する（合流飛行制御）。第１制御部３３１は本発明の「第１飛行制御部」の一例である。
【０１０８】
第２制御部３３２及び第３制御部３３３は、合流位置からの編隊飛行を制御する。第２制御部３３２は前述した子機の飛行を制御し、第３制御部３３３は前述した親機の飛行を制御する。具体的には、第２制御部３３２は、編隊の引率を指示されなかった（つまり子機と定められた）場合に、合流位置から、他の飛行体との距離を所定の範囲に収めながらその他の飛行体とともに編隊を組んで飛行するよう飛行部３０２を制御する（追従飛行制御）。第２制御部３３２は本発明の「第２飛行制御部」の一例である。
【０１０９】
この所定の範囲は、編隊飛行時のドローン３０同士の間隔を表すので、以下では「編隊飛行間隔」という。編隊飛行間隔としては、例えば距離Ｌ１以上で距離Ｌ２以下という範囲が用いられる。距離Ｌ１としては、例えば前のドローン３０が急に減速しても衝突が回避できるよう距離が用いられ、距離Ｌ２としては、例えば距離センサが前のドローン３０との距離を確実に測定可能な距離が用いられる。この追従飛行制御が行われることで、前方のドローン３０が減速した場合及び後続のドローン３０の方が速く飛行可能な場合等においても、追従飛行制御が行われない場合に比べてドローン３０の追突の可能性を減らすことができる。
【０１１０】
第３制御部３３３は、編隊の引率を指示された（つまり親機と定められた）場合に、編隊を組むドローン３０のうち最も遅いドローン３０の速度で合流位置から飛行するよう飛行部３０２を制御する（引率飛行制御）。また、第３制御部３３３は、引率飛行制御を行っている際に、編隊から引率の対象であったドローン３０が離脱した場合、残ったドローン３０のうち最も遅いドローン３０の速度で飛行するよう飛行部３０２を制御する。第３制御部３３３は本発明の「第３飛行制御部」の一例である。
【０１１１】
例えば図１１の例では、親機であるドローン３０ａ−１の第３制御部３３３が、座標Ｐ３からＰ４までは、編隊を組んでいる遅い方のドローン３０ｂ−１の速度Ｖ２１に合わせて飛行し、座標Ｐ４からＰ７までは、編隊を組んでいる最も遅いドローン３０ｃ−１の速度Ｖ３１に合わせて飛行させている。このように引率飛行制御が行われることで、引率飛行制御が行われない場合に比べて、後続のドローン３０が前方のドローン３０についていけなくなることによる編隊の分断が起こりにくいようにすることができる。
【０１１２】
第３制御部３３３は、本実施例では、事業者端末２０から送信されてきた飛行制御情報が示す飛行速度に基づいて上記のとおり引率飛行制御を行う。なお、これ以外の方法で引率飛行制御が行われてもよい。例えば、各ドローン３０が自機の通常速度を記憶しておき、親機の第３制御部３３３が、待機時に他のドローン３０と無線通信を行って通常速度を示す速度情報を取得する。その場合、第３制御部３３３は、取得した速度情報が示す通常速度のうち最も遅い速度で飛行するよう飛行部３０２を制御する。
【０１１３】
また、第３制御部３３３は、例えば風雨等の影響で遅れが生じて現在の飛行速度では飛行許可期間に飛行空域を通過できない場合には、飛行速度を速くするよう飛行部３０２を制御する。この制御は、上述した到着制御の一例である。これにより、この到着制御を行わない場合に比べて、飛行許可期間を徒過しにくいように（飛行許可期間が過ぎても飛行空域を飛行し続けることが起こりにくいように）することができる。
【０１１４】
ただし、単に飛行速度を速くしては、編隊の分断が生じるおそれがある。そこで、第３制御部３３３は、例えば、後続のドローン３０と無線通信を行い、各々が測定した前のドローン３０との距離を取得する。第３制御部３３３は、取得した距離が上述した編隊飛行間隔に収まっている場合は速めた飛行速度を維持し、取得した距離が編隊飛行間隔に収まらなくなった場合は飛行速度を遅くするよう到達制御を行う。これにより、飛行速度を維持し続ける場合に比べて、編隊の分断が起こりにくいようにすることができる。
【０１１５】
続いて、合流時刻までに合流位置に到着しないドローン３０（これを「遅刻ドローン」という）が存在する場合の制御を説明する。例えば親機と定められたドローン３０の第３制御部３３３は、合流時刻までに合流位置に到着しないドローン３０があった場合、そのドローン３０とは合流しないで先に出発するよう飛行部３０２を制御する（先発飛行制御）。この先発飛行制御が行われることにより、遅刻ドローンを待つ場合に比べて、親機である自機が飛行許可期間を徒過しにくいようにすることができる。この場合、合流時刻までに合流位置に到着している子機も合流を待たずに出発することになるので、それらの子機についても飛行許可期間を徒過しにくいようにすることができる。
【０１１６】
また、子機と定められたドローン３０の第３制御部３３３は、編隊の先頭となることを指示されていなくても、親機が合流時刻までに合流位置に到着しない場合、自機に編隊の先頭となることが指示されたものとして飛行部３０２を制御する（親機交代制御）。遅刻ドローンが親機である場合、待機中の子機が何もしなければ親機の到着を待ってからしか出発できないが、それに比べて、親機交代制御が行われることで、親機が合流に遅れた場合において飛行許可期間を徒過しにくいようにすることができる。
【０１１７】
第４制御部３３４は、遅刻ドローンが自機である場合に飛行部３０２を制御する。第４制御部３３４は、合流時刻までに自機が合流位置に到着せず、且つ、その合流位置を含む飛行空域を飛行許可期間に通過可能でない場合、その飛行空域とは別の空域を通過して目的地まで飛行するよう飛行部３０２を制御する（別空域飛行制御）。第４制御部３３４は本発明の「第４飛行制御部」の一例である。
【０１１８】
別の空域としては、例えば、どのドローン３０でも自由に飛行してよい空域として定められている共有空域が用いられる。共有空域は、例えば図７等に表す飛行空域とは異なる高度に定められており、待機場所がどこであっても共有空域に移動することができ、目的地がどこであっても共有空域を通過して到達できるようになっている。なお、共有空域の設定はこれに限らず、他の特定のドローン３０に割り当てられた飛行空域を含まない空域であれば、それらの飛行空域と同じ高度に定められていてもよい。
【０１１９】
第４制御部３３４は、この別の空域を示す空域情報を予め記憶しておく。第４制御部３３４は、合流時刻を過ぎてから合流位置に到着した場合、その到着時刻から次の目標地点への到着目標時刻までの期間に現在位置からその目標地点までの距離を飛行可能か否かを、自機の最高速度に基づいて判断する。第４制御部３３４は、飛行可能でないと判断した場合に、記憶している空域情報が示す空域を経由して目的地に至る飛行を制御する。
【０１２０】
この別空域飛行制御が行われることで、合流の遅れにより飛行許可期間を徒過することが確定的になったドローン３０であっても、飛行許可期間が過ぎた後に飛行空域を通過して他のドローン３０の邪魔になるということもなく、目的地に到達することができる。なお、合流時刻までに自機が合流位置に到着しない場合でも、その合流位置を含む飛行空域を飛行許可期間に通過可能である場合には、第１制御部３３１が、その飛行空域を通過して目的地まで飛行するよう飛行部３０２を制御する（後発飛行制御）。
【０１２１】
後発飛行制御が行われると、上述した先発飛行制御により先に出発したドローン３０に追いつく可能性が生じる。一方、本実施例では、先に出発したドローン３０のうちの親機の第３制御部３３３が、上記の引率飛行制御において用いた最も遅いドローン３０の速度としてそのドローン３０の最高速度よりも遅い速度（本実施例では通常速度）を用いている。つまり、最も遅いドローン３０の速度に合わせつつも、まだ速度を上げる余地が残されている。
【０１２２】
この場合に、親機の第３制御部３３３は、上記のとおり遅刻ドローンと合流しないで出発して、且つ、編隊対象のうち最も遅いドローン３０が現在ともに飛行中の編隊に含まれているときには、速度を速めて飛行する制御を引率飛行制御として行う（前述したとおり本実施例では最も遅いドローン３０でもあくまで通常速度で飛行しているため速度を上げる余地があり、この制御が可能となっている）。これにより、速度を速めない場合に比べて、後発のドローン３０が編隊に追いついて衝突する可能性を減らすことができる。
【０１２３】
しかし、この引率飛行制御を行っても、後発のドローン３０が編隊に追いつく場合がある。その場合、後発のドローン３０の第２制御部３３２が、自機の第１制御部３３１の後発飛行制御により前方のドローン３０（つまり編隊の最後尾）との距離が編隊飛行間隔まで近づくと、その最後尾との距離を編隊飛行間隔に収めながらその最後尾のドローン３０とともに飛行するよう飛行部３０２を制御する（飛行合流制御）。
【０１２４】
図４に表す他機距離測定部３０７は、前述したように自機の進行方向に存在するドローン３０との距離を測定するので、最後尾のドローン３０及び後発のドローン３０がどちらも飛行空域の中心を飛行していれば、最後尾のドローン３０との距離が測定され、飛行合流制御が行われることになる。この飛行合流制御が行われることで、飛行合流制御が行われない場合に比べて、後発のドローン３０が編隊の最後尾のドローン３０と衝突する可能性を減らすことができる。
【０１２５】
図１２は目的地及び合流位置までの飛行制御の一例を表す。図１２（ａ）では、図１０に表すドローン３０ａ−１が行う飛行制御を表す。ドローン３０ａ−１の第１制御部３３１は、出発地点の座標Ｐ１からドローン３０ｂ−１との合流位置の座標Ｐ３までとドローン３０ｃ−１との合流位置の座標Ｐ４までとで合流飛行制御を行う。ドローン３０ａ−１の第３制御部３３３は、ドローン３０ｂ−１と合流した座標Ｐ３からドローン３０ｃ−１が離脱する座標Ｐ７までは、編隊飛行の親機を務めるので引率飛行制御を行う。
【０１２６】
このように、ドローン３０ａ−１は、座標Ｐ３からＰ４までの飛行空域で合流飛行制御及び引率飛行制御の両方を行う。これにより、親機であるドローン３０ａ−１は、この飛行空域において子機であるドローン３０ｂ−１を引率しつつ、次の合流位置の座標Ｐ４に到達するとそこで待機することができる。ドローン３０ａ−１の第１制御部３３１は、座標Ｐ７以降は目的地飛行制御を行う。
【０１２７】
図１２（ｂ）では、図１０に表すドローン３０ｂ−１が行う飛行制御を表す。ドローン３０ｂ−１の第１制御部３３１は、出発地点の座標Ｐ１１からドローン３０ａ−１と合流する座標Ｐ３までとドローン３０ｃ−１との合流位置の座標Ｐ４までとで合流飛行制御を行う。ドローン３０ｂ−１の第２制御部３３２は、座標Ｐ３から自機が離脱する座標Ｐ５まで追従飛行制御を行う。
【０１２８】
このように、ドローン３０ｂ−１は、座標Ｐ３からＰ４までの飛行空域で合流飛行制御及び追従飛行制御の両方を行う。これにより、子機であるドローン３０ｂ−１は、この飛行空域において親機であるドローン３０ａ−１に追従しつつ、次の合流位置の座標Ｐ４に到達するとそこで待機することができる。ドローン３０ｂ−１の第１制御部３３１は、座標Ｐ５から目的地の座標Ｐ１２まで目的地飛行制御を行う。
【０１２９】
図１２（ｃ）では、図１０に表すドローン３０ｃ−１が行う飛行制御を表す。ドローン３０ｃ−１の第１制御部３３１は、出発地点の座標Ｐ１３からドローン３０ａ−１、１０ｂ−１との合流位置の座標Ｐ４まで合流飛行制御を行う。ドローン３０ｃ−１の第２制御部３３２は、座標Ｐ４から自機が離脱する座標Ｐ７まで追従飛行制御を行う。ドローン３０ｃ−１の第１制御部３３１は、座標Ｐ７から目的地の座標Ｐ１４まで目的地飛行制御を行う。
【０１３０】
ドローン運航管理システム１が備える各装置は、上記の構成に基づいて、ドローン３０の飛行空域及び飛行許可期間を割り当てる割当処理を行う。
図１３は割当処理における各装置の動作手順の一例を表す。この動作手順は、例えば、ドローン３０の運用者が飛行予定を事業者端末２０に入力することを契機に開始される。まず、事業者端末２０（飛行予定生成部２０１）は、図５に表すような飛行予定情報を生成する（ステップＳ１１）。
【０１３１】
次に、事業者端末２０（飛行予定送信部２０２）は、生成した飛行予定情報をサーバ装置１０に送信する（ステップＳ１２）。サーバ装置１０（飛行予定取得部１０１）は、事業者端末２０から送信されてきた飛行予定情報を取得する（ステップＳ１３）。続いて、サーバ装置１０（空域・期間仮決部１０２）は、取得された飛行予定情報に基づいて、飛行空域を仮決めし（ステップＳ２１）、飛行許可期間を仮決めする（ステップＳ２２）。
【０１３２】
次に、サーバ装置１０（編隊飛行判断部１０３）は、共通の飛行空域が割り当てられたドローン３０について上述した編隊飛行に関する判断（編隊飛行の要否、編隊飛行の組合せ、編隊飛行の配置の判断）を行う（ステップＳ２３）。続いて、サーバ装置１０（編隊飛行判断部１０３）は、上述したニアミス・対象拡大が生じないか否かを判断し（ステップＳ２４）、生じる（ＮＯ）と判断した場合はステップＳ２１に戻って動作を行う。
【０１３３】
ステップＳ２４で生じない（ＹＥＳ）と判断した場合、サーバ装置１０（編隊飛行判断部１０３）は、仮決めしていた飛行空域及び飛行許可期間を正式なものとして確定する（ステップＳ２５）。続いて、サーバ装置１０（飛行指示生成部１０４）は、図１０に表すような飛行指示を生成する（ステップＳ３１）。次に、サーバ装置１０（飛行指示送信部１０５）は、生成された飛行指示を事業者端末２０に送信する（ステップＳ３２）。事業者端末２０（飛行指示取得部２０３）は、送信されてきた飛行指示を取得する（ステップＳ３３）。
【０１３４】
続いて、事業者端末２０（飛行制御情報生成部２０４）は、取得した飛行指示に基づいて、図１１に表すような飛行制御情報を生成する（ステップＳ３４）。そして、事業者端末２０（飛行制御情報送信部２０５）は、生成された飛行制御情報を、対象となるドローン３０に送信する（ステップＳ３５）。ドローン３０（飛行制御情報取得部３０１）は、送信されてきた飛行制御情報を取得する（ステップＳ３６）。ドローン３０は、取得した飛行制御情報に基づいて上述した飛行制御処理を行う（ステップＳ４０）。
【０１３５】
図１４から図１８までは飛行制御処理におけるドローン３０の動作手順の一例を表す。まず、ドローン３０（第１制御部３３１）は、次の目標地点が合流位置であれば合流飛行制御を行い、次の目標地点が合流位置以外であれば目的地飛行制御を行う（ステップＳ４１１）。次に、ドローン３０（第１制御部３３１）は、目標地点に到着したか否かを判断し（ステップＳ４１２）、到着していない（ＮＯ）と判断するとステップＳ４１１に戻る。
【０１３６】
ドローン３０（飛行制御部３０３）は、目標地点に到着した（ＹＥＳ）と判断すると、目標地点が合流位置であるか否かを判断し（ステップＳ４１３）、合流位置である（ＹＥＳ）と判断した場合には近辺の待機場所で待機する待機制御を行う（ステップＳ４１４）。ドローン３０（飛行制御部３０３）は、合流位置でない（ＮＯ）と判断した場合には、さらに、目標地点が最終目的地であるか否かを判断する（ステップＳ４１５）。
【０１３７】
ドローン３０（飛行制御部３０３）は、ステップＳ４１５において最終目的地でない（ＮＯ）と判断した場合には、次の目標地点への飛行を開始して（ステップＳ４１６）、ステップＳ４１１に戻って動作を継続する。また、ドローン３０（飛行制御部３０３）は、ステップＳ４１５において最終目的地である（ＹＥＳ）と判断した場合には、飛行制御処理の動作手順を終了する。
【０１３８】
ドローン３０（飛行制御部３０３）は、ステップＳ４１４で待機制御を行うと、合流時刻になったか否かを判断し（ステップＳ４２１）、合流時刻になった（ＹＥＳ）と判断するまでステップＳ４２１の動作を繰り返す。ドローン３０（飛行制御部３０３）は、合流時刻になった（ＹＥＳ）と判断すると、次に、合流時刻に自機は間に合ったか否かを判断し（ステップＳ４２２）、間に合った（ＹＥＳ）と判断すると、続いて合流時刻に他機は間に合ったか否かを判断する（ステップＳ４２３）。
【０１３９】
ドローン３０（飛行制御部３０３）は、ステップＳ４２２、Ｓ４２３ともＹＥＳと判断すると、今度は、自機が親機であるか否かを判断する（ステップＳ４３１）。ドローン３０（第１制御部３３１）は、自機が親機である（ＹＥＳ）と判断した場合は、編隊形成制御を行い（ステップＳ４３２）、引率飛行制御を行う（ステップＳ４３３）。ドローン３０（第２制御部３３２）は、自機が親機でない（ＮＯ）、つまり自機が子機と判断した場合は、編隊形成制御を行い（ステップＳ４３４）、追従飛行制御を行う（ステップＳ４３５）。
【０１４０】
ドローン３０（飛行制御部３０３）は、ステップＳ４３３又はＳ４３５の後は、目標地点に到着したか否かという判断（ステップＳ４３６）を到着した（ＹＥＳ）と判断するまで繰り返し行い、到着した（ＹＥＳ）と判断すると、図１４のステップＳ４１３（合流位置か否かの判断）に戻って動作を行う。ドローン３０（飛行制御部３０３）は、図１５のステップＳ４２２において合流時刻に自機が間に合わなかった（ＮＯ）と判断した場合には、次に、これから割り当てられた飛行空域を飛行すると飛行許可期間を徒過するか否かを判断する（ステップＳ４４１）。
【０１４１】
ドローン３０（第４制御部３３４）は、図１７のステップＳ４４１において徒過する（ＹＥＳ）と判断した場合には、別の空域を通過して目的地に向かう別空域飛行制御を行い（ステップＳ４４２）、目的地に到達したところでこの動作手順を終了する。ドローン３０（第１制御部３３１）は、徒過しない（ＮＯ）と判断した場合には、合流時刻には遅れたが飛行空域を通過して目的地に向かう後発飛行制御を行う（ステップＳ４４３）。次に、ドローン３０（飛行制御部３０３）は、前方を飛行するドローン３０に追いついたか否かを判断する（ステップＳ４４４）。
【０１４２】
ドローン３０（第２制御部３３２）は、ステップＳ４４４において追いついた（ＹＥＳ）と判断した場合には、前方のドローン３０と合流して編隊飛行に入る飛行合流制御を行う（ステップＳ４４５）。ドローン３０（飛行制御部３０３）は、ステップＳ４４４において追いついていない（ＮＯ）と判断した場合と、ステップＳ４４５の動作を行った場合のいずれの場合も、目標地点に到着したか否かという判断（ステップＳ４４６）を到着した（ＹＥＳ）と判断するまで繰り返し行い、到着した（ＹＥＳ）と判断すると、図１４のステップＳ４１３（合流位置か否かの判断）に戻って動作を行う。
【０１４３】
ドローン３０（飛行制御部３０３）は、図１５のステップＳ４２３において合流時刻に他機が間に合わなかった（ＮＯ）と判断した場合には、次に、自機が親機であるか否かを判断する（ステップＳ４５１）。ドローン３０（第３制御部３３３）は、自機が親機である（ＹＥＳ）と判断すると、遅れているドローン３０を待たずに先に出発する先発飛行制御を行う（ステップＳ４５２）。ドローン３０（飛行制御部３０３）は、図１８のステップＳ４５１において自機が親機でない（ＮＯ）、すなわち自機が子機であると判断すると、さらに、遅れているドローン３０が親機であるか否かを判断する（ステップＳ４５３）。
【０１４４】
ドローン３０（第３制御部３３３）は、遅れているドローン３０が親機である（ＹＥＳ）と判断すると、子機である自機が親機と交代する親機交代制御を行う（ステップＳ４５４）。ドローン３０（飛行制御部３０３）は、ステップＳ４５３において遅れているドローン３０が親機でない（ＮＯ）と判断した場合と、ステップＳ４５２、Ｓ４５４の動作を行った場合のいずれの場合も、図１６のステップＳ４３１（自機が親機か否かの判断）に戻って動作を行う。
【０１４５】
［２］変形例
上述した実施例は本発明の実施の一例に過ぎず、以下のように変形させてもよい。
【０１４６】
［２−１］飛行空域
割当部１０６は、実施例では、立方体のセルを用いて飛行空域を割り当てたが、これとは異なる方法で飛行空域を割り当ててもよい。割当部１０６は、例えば、立方体ではなく直方体のセルを用いてもよいし、円柱の形をしたセルの軸を進行方向に沿うように並べて飛行空域としてもよい。また、割当部１０６は、セルではなく、飛行空域の境界となる点、線、面を空間座標上の数式及び範囲で表すことで飛行空域を割り当ててもよい。
【０１４７】
また、割当部１０６は、実施例では図６に表すように一定の高さのセルだけを含む飛行空域を割り当てたが、高さの異なるセルを含む飛行空域（鉛直方向の移動を含む飛行空域）を割り当ててもよい。また、割当部１０６は、実施例では東西南北を進行方向とする飛行空域を割り当てたが、その他の方向（北北東、西南西など）を進行方向とする飛行空域を割り当ててもよいし、斜めに上昇又は下降する飛行空域を割り当ててもよい。要するに、割当部１０６は、ドローン３０が飛行可能な空域であればどのような空域を飛行空域として割り当ててもよい。
【０１４８】
［２−２］他機の距離の測定方法
ドローン３０の他機距離測定部３０７は、実施例と異なる方法で他のドローン３０と自機との距離を測定してもよい。例えばドローン３０が撮影装置を備えている場合に、そのドローン３０の他機距離測定部３０７が、自機の前又は後ろを飛行するドローン３０の寸法を示す寸法情報を予め記憶しておき、撮影した画像に写っているドローン３０を認識して、画像内の寸法と実際の寸法との関係から距離を測定してもよい。
【０１４９】
また、ドローン３０が電波を受信してその受信強度を測定するセンサを備えている場合に、そのドローン３０の他機距離測定部３０７が、他のドローン３０が定期的に発信する電波（ビーコン）の受信強度に応じた距離をそのドローン３０と自機との距離として測定してもよい。また、ドローン３０同士が互いに通信可能な機能を有している場合に、他機距離測定部３０７が、他方のドローン３０から位置情報を取得し、その位置情報が示す位置と自機の位置測定部３０４が測定した位置との距離をそのドローン３０と自機との距離として測定してもよい。
【０１５０】
［２−３］飛行体
実施例では、自律飛行を行う飛行体として回転翼機型の飛行体が用いられたが、これに限らない。例えば飛行機型の飛行体であってもよいし、ヘリコプター型の飛行体であってもよい。また、自律飛行の機能も必須ではなく、割り当てられた飛行空域を割り当てられた飛行許可期間に飛行することができるのであれば、例えば遠隔から操縦者によって操作されるラジオコントロール型（無線操縦型）の飛行体が用いられてもよい。
【０１５１】
なお、編隊飛行機能については、実施例がそうであるように全ての飛行体が備えている必要はないが、少なくとも１以上の飛行体が備えている必要がある。例えば前述したラジオコントロール型の飛行体は通常は編隊飛行機能を有しないが、この飛行体を先頭で飛行させて後ろに編隊飛行機能を有するドローン３０を配置することで編隊飛行を行うことができる。
【０１５２】
［２−４］各部を実現する装置
図４に表す各機能を実現する装置が図４とは異なっていてもよい。例えばサーバ装置１０が備える機能（例えば飛行指示生成部１０４）を事業者端末２０が備えていてもよいし、事業者端末２０が備える機能（例えば飛行予定生成部２０１）をサーバ装置１０が備えていてもよい。また、サーバ装置１０が備える各機能を２以上の装置がそれぞれ実現してもよい。要するに、ドローン運航管理システム全体としてこれらの機能が実現されていれば、ドローン運航管理システムが何台の装置を備えていてもよい。
【０１５３】
［２−５］発明のカテゴリ
本発明は、サーバ装置１０及び事業者端末２０という情報処理装置と、ドローン３０という飛行体の他、それらの装置及び飛行体を備えるドローン運航管理システムのような情報処理システムとしても捉えられる。また、本発明は、各装置が実施する処理を実現するための情報処理方法としても捉えられるし、各装置を制御するコンピュータを機能させるためのプログラムとしても捉えられる。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されてもよいし、インターネット等のネットワークを介してコンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態で提供されてもよい。
【０１５４】
［２−６］処理手順等
本明細書で説明した各実施例の処理手順、シーケンス、フローチャートなどは、矛盾がない限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【０１５５】
［２−７］入出力された情報等の扱い
入出力された情報等は特定の場所(例えばメモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【０１５６】
［２−８］ソフトウェア
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【０１５７】
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線（ＤＳＬ）などの有線技術及び／又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び／又は無線技術は、伝送媒体の定義内に含まれる。
【０１５８】
［２−９］情報、信号
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【０１５９】
［２−１０］システム、ネットワーク
本明細書で使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
【０１６０】
［２−１１］「に基づいて」の意味
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【０１６１】
［２−１２］「及び」、「又は」
本明細書において、「Ａ及びＢ」でも「Ａ又はＢ」でも実施可能な構成については、一方の表現で記載された構成を、他方の表現で記載された構成として用いてもよい。例えば「Ａ及びＢ」と記載されている場合、他の記載との不整合が生じず実施可能であれば、「Ａ又はＢ」として用いてもよい。
【０１６２】
［２−１３］態様のバリエーション等
本明細書で説明した各実施例は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知（例えば、「Ｘであること」の通知）は、明示的に行うものに限られず、暗黙的（例えば、当該所定の情報の通知を行わない）ことによって行われてもよい。
【０１６３】
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
【符号の説明】
【０１６４】
１…ドローン運航管理システム、１０…サーバ装置、２０…事業者端末、３０…ドローン、１０１…飛行予定取得部、１０２…空域・期間仮決部、１０３…編隊飛行判断部、１０４…飛行指示生成部、１０５…飛行指示送信部、２０１…飛行予定生成部、２０２…飛行予定送信部、２０３…飛行指示取得部、２０４…飛行制御情報生成部、２０５…飛行制御情報送信部、３０１…飛行制御情報取得部、３０２…飛行部、３０３…飛行制御部、３０４…位置測定部、３０５…高度測定部、３０６…方向測定部、３０７…他機距離測定部、３３１…第１制御部、３３２…第２制御部、３３３…第３制御部、３３４…第４制御部。
【図１】
2019051839.tif 000003
【図２】
2019051839.tif 000004
【図３】
2019051839.tif 000005
【図４】
2019051839.tif 000006
【図５】
2019051839.tif 000007
【図６】
2019051839.tif 000008
【図７】
2019051839.tif 000009
【図８】
2019051839.tif 000010
【図９】
2019051839.tif 000011
【図１０】
2019051839.tif 000012
【図１１】
2019051839.tif 000013
【図１２】
2019051839.tif 000014
【図１３】
2019051839.tif 000015
【図１４】
2019051839.tif 000016
【図１５】
2019051839.tif 000017
【図１６】
2019051839.tif 000018
【図１７】
2019051839.tif 000019
【図１８】
2019051839.tif 000020