[1]実施例
図1は実施例に係るドローン運航管理システム1の全体構成を表す。ドローン運航管理システム1は、ドローンの運航を管理するシステムである。運航管理とは、ドローンのような飛行体の飛行計画に則った飛行を管理することをいう。ドローン運航管理システム1は、例えば、複数のドローンが飛行する環境において、ドローンに飛行空域を割り当て、ドローンに対して飛行に関する指示(飛行指示)を行い、ドローンの安全且つ円滑な飛行を支援する。
ドローンとは、飛行計画に則って飛行することが可能で且つ一般的には無人の飛行体であり、本発明の「飛行体」の一例である。ドローンは、例えば運搬、撮影及び監視等の事業を行っている事業者によって主に用いられる。なお、本実施例では、運航管理の対象は無人のドローンであるが、有人のドローンも存在するので、その有人のドローンを対象としてもよい。なお、ドローン運航管理システム1が有人の飛行体を対象とするか否かにかかわらず、飛行機等の有人機の飛行空域の把握及び飛行指示等を行う管制における管理範囲がドローン運航管理システム1による運航管理に含まれていてもよい。
ドローン運航管理システム1は、ネットワーク2と、サーバ装置10と、A事業者端末20a、B事業者端末20b及びC事業者端末20c(それぞれ区別しない場合は「事業者端末20」という)と、A事業者のドローン30a−1及び30a−2、B事業者のドローン30b−1及び30b−2、C事業者のドローン30c−1及び30c−2、中継ドローン30z(それぞれ区別しない場合は「ドローン30」という)とを備える。
ネットワーク2は、複数の基地局3を有する移動体通信網及びインターネット等を含む通信システムであり、自システムにアクセスする装置同士のデータのやり取りを中継する。基地局3は、移動体通信の電波を送受信するアンテナを備えた設備であり、本発明の「通信設備」の一例である。ネットワーク2には、サーバ装置10及び事業者端末20が有線通信で(無線通信でもよい)アクセスしている。また、ネットワーク2には、飛行中のドローン30が基地局3と無線通信を行い、通信相手の基地局3を介してアクセスしている。
事業者端末20は、例えば各事業者におけるドローン30の運用及び管理の担当者(運用管理者)が利用する端末である。事業者端末20は、例えば、運用管理者の操作によりドローン30が予定している飛行概要を示す飛行予定を生成し、生成した飛行予定をサーバ装置10に送信する。サーバ装置10は、ドローン30の飛行空域の割り当てに関する処理を行う情報処理装置である。サーバ装置10は、受け取った飛行予定に基づき、各ドローン30に対して飛行空域を割り当てる。
飛行空域の割り当てとは、より詳細には、飛行空域及び飛行許可期間の両方を割り当てることを意味する。飛行空域は、ドローン30が出発地から目的地まで飛行する際に通過すべき空間を示す情報であり、飛行許可期間は、割り当てられた飛行空域における飛行が許可される期間を示す情報である。サーバ装置10は、割り当てた飛行空域及び飛行許可期間を示す割当情報を作成し、作成した割当情報を事業者端末20に送信する。
事業者端末20は、受け取った割当情報に基づいて、ドローン30が自機の飛行を制御するための情報群である飛行制御情報を生成し、生成した飛行制御情報を対象となるドローン30に送信する。ドローン30が飛行制御に用いる情報はドローン30を制御するプログラムの仕様によって異なるが、例えば、飛行高度、飛行方向、飛行速度、目的地の空間座標などが用いられる。
ドローン30は、自律的に又は飛行計画(割り当てられた飛行空域及び飛行許可期間に従った飛行の計画)に従って飛行を行う飛行体であり、本実施例では、1以上の回転翼を備え、それらの回転翼を回転させて飛行する回転翼機型の飛行体である。どのドローン30も、自機の位置及び高度(つまり3次元空間上の空間座標)を測定する座標測定機能及び時刻を測定する時刻測定機能を有しており、空間座標及び時刻を測定しながら飛行速度及び飛行方向を制御することで、割当情報が示す飛行空域及び飛行許可期間を守りながら飛行することが可能である。
また、ドローン30は、基地局3を介してサーバ装置10及び事業者端末20に対して飛行状況を通知しならが飛行する。サーバ装置10は、通知された飛行状況に基づいて必要な場合(例えば不具合等が原因で大幅な遅れが生じている場合)にはドローン30に対して飛行指示を行う。また、事業者端末20も、運用管理者の操作により(本実施例ではサーバ装置10を介して)ドローン30に飛行指示を行う場合がある。このようにドローン30は、基地局3と通信を行いながら飛行することで、不測の事態に対応した飛行を行うことができる。
また、ドローン30は、基地局3と直接通信を行うだけでなく、中継ドローン30zを介して基地局3と通信を行う場合がある。中継ドローン30zは、このように他のドローン30と基地局3との通信を中継するためのドローン30である。中継ドローン30zは、例えば各事業者が飛行させてもよいし、ドローン運航管理システム1の提供事業者が飛行させてもよい。いずれの場合も、本実施例では、中継だけを目的とした中継ドローン30zを飛行させるものとする。中継ドローン30zは本発明の「中継飛行体」の一例である。
図2はサーバ装置10等のハードウェア構成を表す。サーバ装置10等(サーバ装置10及び事業者端末20)は、いずれも、プロセッサ11と、メモリ12と、ストレージ13と、通信装置14と、入力装置15と、出力装置16と、バス17という各装置を備えるコンピュータである。なお、ここでいう「装置」という文言は、回路、デバイス及びユニット等に読み替えることができる。また、各装置は、1つ又は複数含まれていてもよいし、一部の装置が含まれていなくてもよい。
プロセッサ11は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ11は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。また、プロセッサ11は、プログラム(プログラムコード)、ソフトウェアモジュール及びデータ等を、ストレージ13及び/又は通信装置14からメモリ12に読み出し、これらに従って各種の処理を実行する。
各種処理を実行するプロセッサ11は1つでもよいし、2以上であってもよく、2以上のプロセッサ11は、同時又は逐次に各種処理を実行してもよい。また、プロセッサ11は、1以上のチップで実装されてもよい。プログラムは、電気通信回線を介してネットワークから送信されてもよい。
メモリ12は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)及びRAM(Random Access Memory)等の少なくとも1つで構成されてもよい。メモリ12は、レジスタ、キャッシュ及びメインメモリ(主記憶装置)等と呼ばれてもよい。メモリ12は、前述したプログラム(プログラムコード)、ソフトウェアモジュール及びデータ等を保存することができる。
ストレージ13は、コンピュータが読み取り可能な記録媒体であり、例えば、CD−ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu−ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。
ストレージ13は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ12及び/又はストレージ13を含むデータベース、サーバその他の適切な媒体であってもよい。通信装置14は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
入力装置15は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置16は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカなど)である。なお、入力装置15及び出力装置16は、一体となった構成(例えば、タッチスクリーン)であってもよい。また、プロセッサ11及びメモリ12等の各装置は、情報を通信するためのバス17を介して互いにアクセス可能となっている。バス17は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
図3はドローン30のハードウェア構成を表す。ドローン30は、プロセッサ31と、メモリ32と、ストレージ33と、通信装置34と、飛行装置35と、センサ装置36と、バス37という各装置を備えるコンピュータである。なお、ここでいう「装置」という文言は、回路、デバイス及びユニット等に読み替えることができる。また、各装置は、1つ又は複数含まれていてもよいし、一部の装置が含まれていなくてもよい。
プロセッサ31、メモリ32、ストレージ33及びバス37は図2に表す同名のハードウェアと同じである。通信装置34は、移動体通信に準拠したアンテナ及び通信回路等を有し、ネットワーク2との無線通信を行う。また、通信装置34は、例えば無線LAN通信に準拠したアンテナ及び通信回路等を有し、ドローン30同士の無線通信を行う。飛行装置35は、上述したローターと、ローターを回転させるモーター等の駆動手段とを備え、自機(ドローン30)を飛行させる装置である。
飛行装置35は、空中において、あらゆる方向に自機を移動させたり、静止(ホバリング)させたりすることができる。センサ装置36は、飛行制御に必要な情報を取得するセンサ群を有する装置である。センサ装置36は、自機の位置(緯度及び経度)を測定する位置センサと、自機が向いている方向(ドローン30には自機の正面方向が定められており、その正面方向が向いている方向)を測定する方向センサと、自機の高度を測定する高度センサとを備える。
なお、サーバ装置10及びドローン30等は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、及び、FPGA(Field Programmable Gate Array)等のハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ11は、これらのハードウェアの少なくとも1つで実装されてもよい。
ドローン運航管理システム1が備えるサーバ装置10、事業者端末20及びドローン30には、本システムで提供されるプログラムが記憶されており、各装置のプロセッサがプログラムを実行して各部を制御することで以下に述べる機能群が実現される。
図4はドローン運航管理システム1が実現する機能構成を表す。なお、図4では、事業者端末20及びドローン30が1つずつしか表されていないが、それぞれ複数の事業者端末20及び複数のドローン30が同じ機能構成を有するものとする。
サーバ装置10は、飛行予定取得部101と、飛行空域割当部102と、空域情報記憶部103と、機能情報取得部104と、割当情報送信部105と、飛行指示部106と、飛行状況取得部107とを備える。事業者端末20は、飛行予定生成部201と、飛行予定送信部202と、機能情報記憶部203と、割当情報取得部204と、飛行制御情報生成部205と、飛行制御情報送信部206と、飛行状況表示部207と、飛行指示依頼部208とを備える。
ドローン30は、飛行制御情報取得部301と、飛行部302と、飛行制御部303と、位置測定部304と、高度測定部305と、方向測定部306と、飛行状況通知部307と、通信中継部308と、中継機通信部309を備える。なお、通信中継部308は、全てのドローン30が備えているわけではなく、本実施例では、中継ドローン30zが備えているものとする。また、中継機通信部309も、全てのドローン30が備えているわけではなく、本実施例では、ドローン30а−1、30b−1、30c−1が備えているものとする。
事業者端末20の飛行予定生成部201は、ドローン30の飛行予定を示す飛行予定情報を生成する。飛行予定生成部201は、例えば、上述した運用管理者が事業者端末20に、飛行予定を入力するドローン30を識別するドローンID(Identification)と、出発地、経由地及び目的地の名称と、出発予定時刻及び到着予定時刻とを入力することで、入力された各情報に基づいて飛行予定情報を生成する。なお、飛行予定情報は、あくまでも事業者が希望し又は要求する飛行予定を示す情報であり、確定した飛行計画を示すものではない。
図5は生成された飛行予定情報の一例を表す。図5の例では、図1に表すドローン30a−1を識別する「D001」というドローンIDに、「倉庫α1」、「店舗γ1」、「T1」、「T2」という出発地、目的地、出発予定時刻、到着予定時刻が対応付けられている。また、ドローン30b−2を識別する「D002」というドローンIDに、「港α2」、「ビルγ2」、「T3」、「T4」という出発地、目的地、出発予定時刻、到着予定時刻が対応付けられている。
「T1」等の時刻は、実際には「9時00分」のように日時を1分単位まで表しているものとする。なお、時刻は、より細かく(例えば秒単位で)表されていてもよいし、より粗く(例えば5分単位で)表されていてもよい。また、飛行予定の日付が入力されてもよいが、本実施例では、説明を分かり易くするため、運用管理者は当日の飛行予定をその日の朝に入力する(つまり日付は不要である)ものとする。
ドローン30a−1の飛行予定情報はA事業者端末20aの飛行予定生成部201が生成する。また、ドローン30b−2の飛行予定情報はB事業者端末20bの飛行予定生成部201が生成し、ドローン30c−1の飛行予定情報はC事業者端末20cの飛行予定生成部201が生成する。飛行予定生成部201は、生成した飛行予定情報を飛行予定送信部202に供給する。
飛行予定送信部202は、供給された飛行予定情報をサーバ装置10に送信する。ドローン30の飛行予定情報が送信されることで、そのドローン30に対する飛行空域(詳細には飛行空域及び飛行許可期間)の割り当てが要求されることになる。サーバ装置10の飛行予定取得部101は、各事業者端末20から送信されてきた飛行予定情報を取得する。飛行予定取得部101は、取得した飛行予定情報を飛行空域割当部102に供給する。
飛行空域割当部102は、供給されたドローン30の飛行予定情報に基づいて、そのドローン30について要求された飛行空域、すなわち、そのドローン30が飛行すべき飛行空域(ドローン30が出発地から目的地まで飛行する際に通過すべき空間)及び飛行許可期間(飛行空域の飛行が許可される期間)をそのドローン30に対して割り当てる。飛行空域割当部102は本発明の「割当部」の一例である。割当方法の詳細は後述する。
ドローン運航管理システム1においては、ドローン30が飛行することができる飛行可能空域が道路網のように予め定められている。飛行可能空域は、当然ながら飛行のために必要な許可を受けた空域であり、場合によっては許可が不要な空域を含むこともある。本実施例では、飛行可能空域は、隙間なく敷き詰められた立方体の空間(以下「セル」という)によって表され、各セルには各々を識別するセルIDが付されている。
空域情報記憶部103は、飛行可能空域に含まれる各空域に関する空域情報を記憶する。
図6は空域情報の一例を表す。図6の例では、空域情報記憶部103は、各空域を表すセルIDと、セルの中心の座標と、立方体であるセルの一辺の長さと、飛行可否と、各空域における基地局3との通信品質とを対応付けた空域情報を記憶している。この空域情報では、「C01_01」、「C02_01」、・・・、「C99_99」というセルIDと、「x1、y1、z1」、「x2、y1、z1」、・・・、「x99、y99、z99」という中心の座標とが対応付けられている。
本実施例では、説明を分かり易くするため、各セルの高度が一定であり、各セルのxy座標とセルIDとを対応させて表している(例えばxy座標が(x10、y15)のセルはC10_15というセルIDが付されている)。図6の例では、各セルの一辺の長さはいずれも「L1」である。また、空域情報では、飛行可否が「○」なら飛行可能空域のセルであることを示し、「×」なら飛行不可空域のセルであることが表されている。例えば重要な施設及び人が通る場所等の上空は飛行不可空域と定められる。
通信品質とは、送信したデータが確実に受信されるか否か又はデータが届くまでに要する時間がどのくらいか等を表す指標によって評価される品質である。通信品質は、具体的には、電波の受信強度、通信速度、伝送速度、パケットロス率、遅延量又はそれらの時間的なゆらぎ等を表す値を指標として用いて評価される。通信品質の評価対象にはアップリンク及びダウンリンクがある。
アップリンクとは、ドローン30から基地局3にデータを送信するときの通信経路であり、ダウンリンクとは、基地局3からドローン30にデータを送信するときの通信経路である。通信品質の評価は、アップリンクのみ、ダウンリンクのみ又はそれらの両方を対象にして行う3通りの方法があり、本実施例では、アップリンク及びダウンリンクの両方を評価対象とする場合を説明する。ドローン運航管理システム1においては、例えばシステム管理者が、予め飛行可能空域にドローンを飛行させて各空域(各セル)における基地局3との通信品質を示す指標(受信強度等)をアップリンク及びダウンリンクの両方について測定する。
システム管理者は、アップリンク及びダウンリンクの両方について測定された上記の指標がどちらも通信品質が良い場合に測定される値の範囲に含まれていれば、その測定がされた空域の通信品質が所定のレベル以上である(通信品質が「○」)と判定する。また、システム管理者は、その指標がその範囲に含まれていなければ、空域の通信品質が所定のレベル未満である(通信品質が「×」)と判定する。図6の例では、セルIDがC20_20及びC21_20の空域の通信品質が「×」と判定されている。
そして、システム管理者は、通信品質の判定結果と対象の空域のセルIDとを対応付けた空域情報を作成し、空域情報記憶部103に記憶させる。図6に表すように、飛行可能空域における基地局3との通信品質は一定ではなく、空域によってはデータの送信又は受信ができないほど通信品質が悪い空域が含まれている。飛行空域割当部102は、これらの各空域における基地局3との通信品質を踏まえて飛行空域の割り当てを行う。
具体的には、飛行空域割当部102は、基地局3との通信品質が所定のレベル以上になる通信良好空域(空域情報の通信品質が「○」の空域)は全てのドローン30を割当対象とし、その通信品質が所定のレベル未満になる通信不良空域(空域情報の通信品質が「×」の空域)は、通信不良空域が割り当てられても通信機会を維持するための条件(以下「割当条件」という)を満たすドローン30を割当対象とする。「通信機会を維持する」とは、通信すべきタイミングで通信が可能な状態を維持することを意味する。通信良好空域は本発明の「第1空域」の一例であり、通信不良空域は本発明の「第2空域」の一例である。
本実施例では、飛行空域割当部102は、中継ドローン30zを介して基地局3と通信する機能を有し(条件1)、且つ、通信不良空域のうち中継ドローン30zと通信可能な部分を通過する(条件2)場合に満たされる条件(条件1及び条件2が共に満たされる条件)を割当条件として用いる。中継ドローン30zは、通信中継部308を備えるドローンであり、通信中継部308は、基地局3と他のドローン30との通信を中継する。
通信中継部308は、本実施例では、他のドローン30との通信は無線LAN通信により行い、基地局3との通信は移動体通信により行う。そのため、通信中継部308は、無線LAN通信の電波が届く範囲(例えば自機との距離が100m程度)に他のドローン30がいる場合に、そのドローン30と基地局3との通信を中継する。この通信中継部308との通信は、中継機通信部309が行う。
中継機通信部309は、中継ドローン30zを介して基地局3と通信する機能である。中継機通信部309は、中継ドローン30zと無線通信を行い、基地局3との通信の中継を依頼する。この依頼を受け取った中継ドローン30zの通信中継部308は、自機が基地局3との通信が可能な状態であれば、依頼元のドローン30と基地局3との通信の中継を開始する。
飛行空域割当部102は、ドローン30が中継機通信部309を有しているか否かの判断を行うため、空域の割当対象のドローン30の機能を示す機能情報を機能情報取得部104に要求する。機能情報取得部104は、飛行空域割当部102からドローン30の機能情報を要求されると、そのドローン30の飛行予定を送信してきた事業者端末20に、そのドローン30の機能情報を要求する。
事業者端末20の機能情報記憶部203は、自端末を用いて運用管理されているドローン30の機能情報を記憶している。この機能情報は、例えばドローン30の運用管理者が作成して機能情報記憶部203に記憶させておく。本実施例では、機能情報記憶部203は、ドローン30が中継機通信部309を有するか否かを示す機能情報を記憶する。機能情報記憶部203は、機能情報取得部104から要求されたドローン30の機能情報を記憶していれば、その機能情報をサーバ装置10に送信する。
機能情報取得部104は、送信されてきた機能情報を取得して飛行空域割当部102に供給する。飛行空域割当部102は、供給された機能情報が中継機通信部309を有することを示している場合、すなわち、空域の割当対象のドローン30が中継機通信部309を有する場合に、条件1が満たされると判断する。飛行空域割当部102は、条件2について判断するため、本実施例では、先に中継ドローン30zに飛行空域を割り当てる。
図7は中継ドローン30zに割り当てられた飛行空域の一例を表す。図7では、セルC01_01(セルIDがC01_01のセル)の中心を原点とするx軸及びy軸が表されており、x軸の矢印方向をx軸正方向、その反対方向をx軸負方向、y軸の矢印方向をy軸正方向、その反対方向をy軸負方向といい、y軸負方向は北向きであるものとする。図7(a)では、通信不良空域B1が表されている。
本実施例では、飛行空域割当部102は、通信良好空域に含まれるセルのうち、通信不良空域B1の外周に隣接するセルを繋げた飛行空域Rz1を中継ドローン30zの飛行空域として仮決めする。飛行空域割当部102は、特定のセルをスタート地点とし、そこから開始時刻Tz1に飛行を開始して一定の速度Vz1で周回する(この例では上空から見て反時計回りに回転する)飛行空域として飛行空域Rz1を割り当てる。
飛行空域割当部102は、スタート地点のセル、開始時刻Tz1、速度Vz1から、中継ドローン30zが飛行空域Rz1に含まれる各セルを飛行することが見込まれる期間(第1飛行見込期間:各セルにおける飛行の開始が見込まれる開始見込時刻及びその飛行の終了が見込まれる終了見込時刻で表される)を算出する。中継ドローン30zが飛行空域Rz1を1周よりも多く飛行する場合は、1つのセルについて複数の第1飛行見込期間が算出される。
飛行空域割当部102は、本実施例では、ドローン30と中継ドローン30zが隣接するセルを飛行する場合に通信可能と判断する。つまり、飛行空域割当部102は、ドローン30が、飛行空域Rz1に隣接する通信不良空域のセルを、第1飛行見込期間と重なる期間に飛行するドローン30を、条件2を満たすと判断する。なお、ドローン30と中継ドローン30zの通信可否の判断方法はこれに限らない。
例えば中継ドローン30zの通信に用いる電力から通信可能な距離を算出し、算出した距離の範囲に含まれるセル(飛行空域Rz1のセルに対して間に1以上のセルを挟むセルでもよい)をドローン30が飛行する場合に、飛行空域割当部102がそのドローン30と中継ドローン30zの通信が可能だと判断してもよい。飛行空域割当部102は、条件1(中継機通信部309を有する)を満たすドローン30(ドローン30a−1、30b−1、30c−1)について、通信良好空域だけでなく通信不良空域も割当対象として飛行空域を仮決めする。
具体的には、飛行空域割当部102は、まず、飛行可能空域のセルの中から、飛行予定に含まれている出発地に最も近いセル(出発地セル)と、目的地に最も近いセル(目的地セル)とを特定する。飛行空域割当部102は、特定した出発地セルから目的地セルに至り、飛行距離が最短となり、且つ、飛行空域Rz1に隣接する通信不良空域のセルを通過する飛行空域を仮決めする(第1の仮決め)。
図8は仮決めされた飛行空域の一例を表す。図8の例では、図5に表すドローン30a−1(ドローンIDがD001)の飛行予定に含まれる「倉庫α11」から「店舗α12」まで至る飛行空域R1が表されている。飛行空域R1には、出発地セルであるセルC10_06からy軸正方向に隣接するセルを通ってセルC10_20に至る分割空域R11(飛行空域を分割した空域のこと)と、そこからx軸正方向に隣接するセルを通ってセルC39_20に至る分割空域R12とが含まれている。
分割空域R12には、飛行空域Rz1に隣接する通信不良空域のセルであるセルC18_20からC25_20までの8つのセルが含まれている(例えばセルC18_20はセルC18_21に隣接している)。飛行空域割当部102は、こうして仮決めした飛行空域に含まれる各セルをドローン30が飛行する見込みの期間(第2飛行見込期間)を算出する。飛行空域割当部102は、出発予定時刻から到着予定時刻までの時間で飛行空域が示す飛行経路の距離を除した平均速度Va1を算出し、ドローン30が平均速度Va1で飛行した場合に各セルを飛行する期間を第2飛行見込期間として算出する。
飛行空域割当部102は、隣接するセル(例えばセルC18_20とセルC18_21)について算出した第1飛行見込期間及び第2飛行見込期間が、本実施例では全ての隣接するセルについて重なっている(両期間の一部だけでも重なっていればよい)場合に、その第2飛行見込期間を算出したドローン30は条件2を満たすと判断し、第1の仮決めをした飛行空域をそのまま仮決めする飛行空域として確定させる(第2の仮決め)。
このように条件1、条件2を満たすドローン30は、通信不良空域の飛行中でも中継ドローン30zを介して基地局3と通信することができるから、通信不良空域が割り当てられても通信機会を維持することができる。言い換えると、条件1、条件2を含む割当条件は、通信不良空域が割り当てられても通信機会を維持するための条件として用いることができる。
飛行空域割当部102は、各分割空域について飛行許可期間を仮決めする。飛行空域割当部102は、例えば、飛行予定に含まれる出発予定時刻から到着予定時刻までの期間を、各分割空域の長さに応じた割合で分割した期間を、各分割空域を通過する際に要する空域通過期間として算出する。例えば飛行空域R1における分割空域R11、R12の長さの比が1:2であり、出発予定時刻から到着予定時刻までの期間が60分である場合、20分:40分を分割空域R11、R12の空域通過期間として算出する。
飛行空域割当部102は、出発予定時刻からこれらの空域通過期間が順次経過した時刻(つまり20分経過後の時刻、60分経過後の時刻)の前後にマージン期間を加えた時刻を開始時刻又は終了時刻とする期間を各分割空域における飛行許可期間として仮決めする。
図9は仮決めされた飛行許可期間の一例を表す。飛行空域割当部102は、例えばマージン期間を3分間とすると、分割空域R11に対しては、出発予定時刻T11の3分前を開始時刻T111とし、出発予定時刻T11から分割空域R11の空域通過期間(20分)が経過してからマージン期間の3分が経過した時刻(つまり出発予定時刻T1の23分後)を終了時刻T112とする期間K11を飛行許可期間として仮決めする。
また、飛行空域割当部102は、分割空域R12に対しては、出発予定時刻T11から分割空域R11の空域通過期間である20分が経過した時刻からマージン期間の3分間遡った時刻(つまり出発予定時刻T1の17分後)を開始時刻T121とし、出発予定時刻T11に分割空域R11及びR12の空域通過期間を合わせた60分が経過してからマージン期間の3分が経過した時刻(つまり出発予定時刻T1の63分後)を終了時刻T122とする期間K12を飛行許可期間として仮決めする。
飛行空域割当部102は、隣接するセルについて算出した第1飛行見込期間及び第2飛行見込期間が1つも重なっていない場合は、その第2飛行見込期間を算出したドローン30は条件2を満たさないと判断し、第1の仮決めをした飛行空域を破棄する。飛行空域割当部102は、条件1及び条件2のいずれか一方でも満たさないドローン30については、通信不良空域を割当対象としないで、通信良好空域だけを割当対象として飛行空域を仮決めする。
図10は仮決めされた飛行空域の別の一例を表す。図10の例では、図5に表すドローン30b−2(ドローンIDがD002)の飛行予定に含まれる「港α2」から「ビルγ2」まで至る飛行空域R2が表されている。この飛行予定における出発地セルはセルC40_05、目的地セルはセルC05_19であるものとする。その場合、飛行距離が最短となる飛行空域を仮決めすると、どのセルを通っても通信不良空域B1を通ることになる。
例えばセルC40_05からセルC05_05まで西に進んでセルC05_05からセルC05_19まで南に進む飛行空域が割り当てられると、セルC21_05からセルC15_05まで通信不良空域B1を通ることになる。飛行空域割当部102は、ドローン30b−2が割当条件を満たしていないので、それらの通信不良空域B1のセルを割り当てない。そこで、飛行空域割当部102は、通信不良空域B1を通らず迂回する飛行空域R2を割り当てる。
飛行空域R2には、出発地セルであるセルC40_05からx軸負方向に隣接するセルを通ってセルC27_05に至る分割空域R21と、そこからy軸負方向に隣接するセルを通ってセルC27_02に至る分割空域R22と、そこからx軸負方向に隣接するセルを通ってセルC05_02に至る分割空域R23と、そこからy軸正方向に隣接するセルを通って目的地セルであるセルC05_19に至る分割空域R24とが含まれている。
図10の例では、中継ドローン30zの飛行空域Rz1と重複しないように、通信不良空域B1とセルを1個分あけたセルC27_05で迂回を始めている。これは、中継ドローン30zとの衝突の危険をなくすためである。なお、飛行空域割当部102は、セルC27_05よりも手前で迂回を開始してもよい。例えば、飛行空域割当部102は、出発地セルからすぐに北上してセルC40_02まで進み、そこから西に進んでセルC05_02に至る飛行空域を割り当ててもよい。
飛行空域割当部102は、こうして仮決めした情報(仮決め情報)を一時的に記憶する。
図11は仮決め情報の一例を表す。図11では、飛行空域に含まれるセルのセルIDが分割空域毎にまとめられ、分割空域毎に対応する飛行許可期間が対応付けられ、それらの飛行空域及び飛行許可期間が仮決めされたドローン30のドローンIDが対応付けられている。
例えば「D001」というドローン30a−1のドローンIDには、分割空域R11、R12に含まれるセルのセルID群と、飛行許可期間である期間K11、K12の開始時刻及び終了時刻とがそれぞれ対応付けられている。また、「D002」というドローン30b−2のドローンIDには、分割空域R21〜R24に含まれるセルのセルID群及び飛行許可期間K21〜K24がそれぞれ対応付けられている。
飛行空域割当部102は、仮決めの段階では飛行空域が重複していても全てそのまま割り当てる。飛行空域割当部102は、そうして割り当てた重複された飛行空域(重複空域)を共有させるか否かを判断する。そのため、飛行空域割当部102は、まず、仮決めした飛行空域が重複するドローン30(中継ドローン30zを除く)の組合せを抽出する。飛行空域割当部102は、割当条件を満たさないドローン30についても、割り当てられた飛行空域の各セルを飛行する飛行見込期間を、上述した第2飛行見込期間と同じ方法で算出する。
飛行空域割当部102は、本実施例では、2以上のドローン30に対して割り当てを仮決めした重複セルがあり、且つ、その重複セルを飛行する飛行見込期間の差(飛行の開始時刻同士の差又は終了時刻同士の差)が閾値未満である場合に、そのドローン30の組合せを、飛行空域が重複するドローン30の組合せとして抽出する。飛行空域割当部102は、例えば、抽出したドローン30同士が同じ方向に飛行する場合は重複空域を共有させると判断し、異なる方向に飛行する場合は重複空域を共有させないと判断する。
飛行空域割当部102は、重複空域を共有させる場合は、抽出した複数のドローン30にその重複空域をそのまま正式に割り当てることを決定する。また、飛行空域割当部102は、重複空域を共有させない場合は、重複セルの飛行見込期間が最も早い(複数のセルが重複空域になっている場合は最も早い飛行見込期間を比較する)ドローン30にその重複空域をそのまま正式に割り当てることを決定する。
飛行空域割当部102は、重複空域が割り当てられなかったドローン30については、仮決めした飛行空域の割り当てを撤回し、再度別の飛行空域を割り当てる(ただしこの場合も仮決め)、すなわち割り当てる飛行空域を見直す。その際、飛行空域割当部102は、正式な割り当てが確定した空域を除いた空域から新たに飛行空域を割り当てる。このように割り当ての仮決め、見直し及び確定を繰り返すことで、飛行空域割当部102は、割り当てを要求された全てのドローン30について飛行空域を割り当てる。
飛行空域割当部102は、上記の方法で全てのドローン30について飛行空域の割り当てを確定させると、確定時の仮決め情報を、正式な飛行空域及び飛行許可期間の割り当てを示す割当情報として割当情報送信部105に供給する。こうして正式な飛行空域及び飛行許可期間が割り当てられることで、割り当てられた飛行空域どおりに飛行する計画(飛行計画)が立てられたことになる。
飛行空域割当部102は、確定させた飛行空域の中に通信不良空域を通過する飛行空域が含まれている場合、割当条件を満たす飛行体に割り当てた通信不良空域を含む飛行空域(図8の例ではセルC18_20からC25_20までの8つのセル)に沿った通信良好空域(図8の例ではセルC18_21からC25_21までの8つのセル)を中継ドローン30zの飛行空域として割り当てることになる。
なお、空域は有限であるため、空域の割り当てを要求するドローン30の台数が多すぎれば、一部のドローン30には飛行空域を割り当てることができないということが起こり得る。その場合は、飛行空域割当部102は、空域の割り当てができないと判断したドローン30のドローンIDに割当不可である旨を対応付けた情報を割当情報に含めることで、事業者端末20に割り当てがされなかった旨を通知する。このドローン30については、例えば上述した運用管理者が新たな飛行予定を入力して、飛行空域の割り当てが再度要求されることになる。
割当情報送信部105は、飛行空域割当部102から供給された割当情報を、その割当情報に含まれるドローンIDのドローン30の運用管理者が利用する事業者端末20に送信する。事業者端末20の割当情報取得部204は、送信されてきた割当情報を取得して、飛行制御情報生成部205に供給する。飛行制御情報生成部205は、上述した飛行制御情報(ドローン30が自機の飛行を制御するための情報群)を生成する。
図12は生成された飛行制御情報の一例を表す。図12では、上述したドローン30a−1に対する飛行制御情報が表されている。ドローン30a−1には、図12(a)に表すように、出発地セルであるセルC10_06から曲がり角であるセルC10_20を通って目的地セルであるセルC39_20に到達する飛行空域が割り当てられている。飛行制御情報生成部205は、これらの3つのセルの中心点の座標P101、P102、P103を目標地点座標(次に到達すべき目標となる地点の座標)として算出し、それらの座標を含む飛行制御情報をまずは生成する。
ドローン運航管理システム1においては、目的地として指定される地点にはドローン30の着陸が可能なドローンポートが用意されており、事業者端末20は、各ドローンポートの座標を目的地の名称に対応付けて記憶している。飛行制御情報生成部205は、図12の例では、ドローン30a−1の目的地である「店舗α12」に対応付けられているドローンポートの座標P104を目標地点座標として飛行制御情報に加える。
飛行制御情報生成部205は、各目標地点座標まで飛行する際の飛行高度、飛行方向、飛行速度、空間幅及び到着目標時刻を飛行制御情報に加える。飛行制御情報生成部205は、例えば飛行高度として、座標P101までの飛行(離陸)には「0〜A1」、それ以降の座標P103までの飛行(水平飛行)には「A1」、座標P104までの飛行(着陸)には「A1〜0」を加える。
また、飛行制御情報生成部205は、飛行方向として、水平飛行が行われる座標P101から座標P102までは「南向き」、座標P102から座標P103までは「東向き」を加える。また、飛行制御情報生成部205は、水平飛行が行われるP101からP103までの飛行速度として、例えば飛行予定にある出発予定時刻T11から到着予定時刻T12までの期間で飛行空域を飛行した場合の平均速度V1を加える。
また、飛行制御情報生成部205は、水平飛行が行われる座標P101から座標P103までの飛行空域の空間幅として、本実施例で定められているセルの一辺の長さL1を加える。図12に表す「L1、L1、L1」という3つの空間幅は、x軸方向、y軸方向、z軸方向の3方向の幅を意味している。なお、離陸時と着陸時には飛行方向、飛行速度、空間幅は不要なのでブランクになっている。
また、飛行制御情報生成部205は、各目標地点座標への到着目標時刻として、出発予定時刻T11及び到着予定時刻T12と、飛行許可期間の開始時刻及び終了時刻とを用いた時刻を加えている。飛行制御情報生成部205は、例えば座標P101への到着目標時刻として、座標P101を含むセルC10_06から始まる分割空域R11の飛行許可期間である期間K11の開始時刻T111よりも所定の時間だけ後の時刻T111´以降の時刻と定めている。
開始時刻T111よりも前にセルC10_06に入ると飛行許可期間である期間K11になる前の侵入になるので、時刻T111´は、セルC10_06に進入してから座標P101に到達するまでに要する時間よりも長い時間だけ開始時刻T111から経過した時刻を表すものとする。この時刻T111´以降に到着するということは、飛行許可期間である期間K11になってから分割空域R11に進入したことになる。
また、飛行制御情報生成部205は、分割空域R11及びR12の境目である座標P102への到着目標時刻として、座標P102を含むセルC10_20から始まる分割空域R12の飛行許可期間の開始時刻T121よりも所定の時間だけ後の時刻T121´から、セルC10_20で終わる分割空域R11の飛行許可期間の終了時刻T112よりも所定の時間だけ前の時刻T112´までの間の時刻を定めている。
時刻T111´と同様に、時刻T121´以降に座標P102に到着するということは、飛行許可期間である期間K12になってから分割空域R12に進入したことになる。また、時刻T112´は、座標P102からセルC10_20を抜け出すまでに要する時間よりも長い時間だけ終了時刻T112から経過した時刻を表すものとする。この時刻T112´以前に座標P102に到着するということは、飛行を続ければ飛行許可期間である期間K11が終了する前に分割空域R11を抜け出せることになる。
また、飛行制御情報生成部205は、座標P103への到着目標時刻として、座標P103を含むセルC39_20で終わる分割空域R12の飛行許可期間である期間K12の終了時刻T122よりも所定の時間だけ前の時刻T122´以前の時刻を定めている。この時刻T122´以前に座標P103に到着するということは、飛行を続ければ飛行許可期間である期間K12が終了する前に分割空域R12を抜け出せることになるからである。飛行制御情報生成部205は、こうして生成した飛行制御情報を飛行制御情報送信部206に供給する。
飛行制御情報送信部206は、供給された飛行制御情報を、対象となるドローン30に送信する。ドローン30の飛行制御情報取得部301は、送信されてきた飛行制御情報を取得して、取得した飛行制御情報を飛行制御部303に供給する。飛行部302は、自機(自ドローン)を飛行させる機能である。本実施例では、飛行部302は、飛行装置35が備えるローター及び駆動手段等によって自機を飛行させる。
飛行制御部303は、飛行部302を制御し、本実施例では、飛行計画又は飛行指示に従って自機を飛行させる飛行制御処理を行う。飛行制御部303は、飛行制御情報取得部301から供給された飛行制御情報に基づいて飛行制御を行うことで、飛行計画に従って自機を飛行させる。また、飛行制御部303は、後述するサーバ装置10の飛行指示部106からの飛行指示に基づいて飛行制御を行うことで、飛行指示に従って自機を飛行させる。
位置測定部304は、自機の位置を測定し、測定した位置を示す位置情報(例えば緯度・経度の情報)を飛行制御部303に供給する。高度測定部305は、自機の高度を測定し、測定した高度を示す高度情報(例えば高度をcm単位で示す情報)を飛行制御部303に供給する。方向測定部306は、自機の正面が向いている方向を測定し、測定した方向を示す方向情報(例えば真北を0度とした場合に各方向を360度までの角度で示す情報)を飛行制御部303に供給する。
飛行制御部303は、前述した飛行制御情報に加え、繰り返し供給されてくる位置情報、高度情報及び方向情報に基づいて自機の飛行を制御する。飛行制御部303は、例えば測定される高度が飛行制御情報の示す飛行高度を維持するように自機の高度を制御する(高度制御)。また、飛行制御部303は、測定される位置の変化、すなわち速度が飛行制御情報の示す飛行速度を維持するように自機の飛行速度を制御する(速度制御)。
また、飛行制御部303は、前の目標地点座標と次の目標地点座標とを結ぶ線上の座標を中心とした矩形(本実施例では正方形)の範囲に自機が収まるように飛行高度及び飛行方向を制御する(空域通過制御)。この矩形は、飛行空域の境界を表しており、飛行空域を進行方向に直交する面で区切った場合の断面であり且つ一辺の長さが飛行空域の空間幅になっている。
飛行制御部303は、測定された位置及び高度と、自機の寸法(縦の寸法、横の寸法)とに基づいて、自機がこの矩形の範囲に収まるように制御を行う。また、飛行制御部303は、目標地点座標が近づいてくると、到着目標時刻よりも早く到着しそうな場合は飛行速度を遅くし、到着目標時刻に間に合わなそうな場合は飛行速度を速くするよう飛行速度を制御する(到着制御)。飛行制御部303は、供給された位置情報及び高度情報を飛行状況通知部307に供給する。
飛行状況通知部307は、供給された位置情報が示す位置及び高度情報が示す高度により表される空間座標と、現在時刻と自ドローンのドローンIDに対応付けて示す情報を上述した飛行状況情報として所定の時間間隔で生成する。飛行状況通知部307は、飛行状況情報を生成する度に、生成した飛行状況情報をサーバ装置10及び事業者端末20に送信することで、飛行状況を通知する。
事業者端末20の飛行状況表示部207は、ドローン30から送信されてきた飛行状況情報が示す飛行状況を表示する。ドローン30の運用管理者は、表示された飛行状況を見て、割り当てられた飛行空域を飛行していること及び飛行許可期間に遅れないように飛行していること等を確認する。運用管理者は、例えばドローン30が飛行計画(割り当てられた飛行空域及び飛行許可期間で飛行する計画)よりも大幅に遅れている場合、飛行計画どおり飛行への復帰が可能か否かを判断する。
運用管理者は、例えば遅れの程度から不具合が発生している可能性が高く復帰はできないと判断すると、例えば帰投(出発地へ戻ること)又は不時着(予定外の着陸地点に着陸すること。着陸地点は例えば河川敷又は事業者の支店等)するよう指示する操作を事業者端末20に対して行う。運用管理者は、帰投の指示の場合は例えば飛行空域をそのまま戻るか他の空域を飛行するかを選択し、不時着を指示する場合は着陸地点の位置と可能であればそこまでの飛行経路を入力する。
飛行指示依頼部208は、運用管理者による飛行指示を対象のドローン30に対して行うようサーバ装置10に依頼する。飛行指示依頼部208は、対象のドローン30のドローンIDと飛行指示の内容を表した依頼データをサーバ装置10に送信することでこの依頼を行う。依頼データはサーバ装置10の飛行指示部106に供給される。飛行指示部106には、飛行空域割当部102から割当情報も供給される。
サーバ装置10の飛行指示部106は、ドローン30に対して飛行に関する指示(飛行指示)を行う。飛行指示部106は、例えば事業者端末20から送信されてきた依頼データを受け取ると、その依頼データが示すドローン30に対して、依頼された飛行指示(帰投又は不時着等)を示す飛行指示データを送信する。依頼データが新たな飛行経路を示していなければ、飛行指示部106は、割当情報が示す他のドローン30の飛行空域と重複しないように、又は、それが無理なら重複するセルを飛行する期間が一定時間以上ずれるようにした緊急の飛行空域を決定し、その飛行空域を示す飛行指示データを送信する。
ドローン30の飛行制御部303は、送信されてきた飛行指示データを受け取ると、飛行制御情報よりも飛行指示データが示す飛行指示に従うことを優先して(つまり飛行計画よりも飛行指示を優先して)飛行制御を行う。飛行制御部303は、例えば帰投の飛行指示がされた場合は、飛行方向を反対にして今まで飛んできた飛行空域を通って出発地まで飛行する飛行制御を行い、不時着の飛行指示がされた場合は、指示された着陸地点まで飛行する飛行制御を行う。
サーバ装置10の飛行状況取得部107は、ドローン30から送信されてきた飛行状況情報が示す飛行状況を取得し、取得した飛行状況を飛行指示部106に供給する。飛行指示部106は、供給された飛行状況に基づいて、各ドローン30が飛行計画(割り当てられた飛行空域)どおりに飛行しているか否かを判断する。飛行指示部106は、例えばドローン30が飛行許可期間内に飛行空域を抜けられなそうな飛行状況である場合に飛行速度を上げるように指示したり、ドローン30が飛行空域を外れて飛行している場合に飛行方向を飛行空域に向けるように指示したりする。
また、飛行指示に従い飛行計画とは異なる飛行空域を飛行するドローン30がある場合、基本的には他のドローン30との接近を避ける飛行指示がされているはずであるが、緊急で決定された飛行空域であるため飛行計画に従い飛行する場合に比べると近い距離まで接近する(ニアミス状態になる)ことがある。その場合に、飛行指示部106は、他のドローン30へも例えば飛行速度を増減させる飛行指示を行って、ニアミス状態を解消させてもよい。
ドローン運航管理システム1が備える各装置は、上記の構成に基づいて、ドローン30の飛行空域及び飛行許可期間を割り当てる割当処理を行う。
図13は割当処理における各装置の動作手順の一例を表す。この動作手順は、例えば、ドローン30の運用者が飛行予定を事業者端末20に入力することを契機に開始される。まず、事業者端末20(飛行予定生成部201)は、図4に表すような飛行予定情報を生成する(ステップS11)。
次に、事業者端末20(飛行予定送信部202)は、生成した飛行予定情報をサーバ装置10に送信する(ステップS12)。サーバ装置10(飛行予定取得部101)は、事業者端末20から送信されてきた飛行予定情報を取得する(ステップS13)。続いて、サーバ装置10(機能情報取得部104)は、取得された飛行予定情報により飛行予定が示されているドローン30の機能情報を事業者端末20に要求する(ステップS14)。
事業者端末20(機能情報記憶部203)は、要求されたドローン30の機能情報をサーバ装置10に送信する(ステップS15)。サーバ装置10(機能情報取得部104)は、送信されてきた機能情報を取得する(ステップS16)。なお、ステップS14からS16までの動作は、この動作手順よりも前に予め行われていてもよい。また、ステップS14の要求がされなくても、ステップS12で飛行予定情報が送信される際に合わせて事業者端末20(機能情報記憶部203)が機能情報を送信してもよい。
次に、サーバ装置10(飛行空域割当部102)は、中継機通信部309を含む機能情報が取得されたか否か、すなわち、飛行空域を割り当てるドローン30が中継機通信部309を有しているか否かを判断する(ステップS21)。サーバ装置10(飛行空域割当部102)は、ステップS21で有している(YES)と判断した場合、そのドローン30が通信不良空域のうち中継ドローン30zと通信可能な部分を通過するか否かを判断する(ステップS22)。
サーバ装置10(飛行空域割当部102)は、ステップS22で通過する(YES)と判断した場合、通信良好空域だけでなく通信不良空域を含めて割り当てる飛行空域(飛行空域及び飛行許可期間)を仮決めし(ステップS23)する。また、サーバ装置10(飛行空域割当部102)は、ステップS21で有していない(NO)と判断した場合と、ステップS22で通過しない(NO)と判断した場合は、通信不良空域を含めずに通信良好空域だけを割当対象として割り当てる飛行空域を仮決めする(ステップS24)。
続いて、サーバ装置10(飛行空域割当部102)は、仮決めした飛行空域に重複空域がある場合に、重複空域を共有させるか否かを判断する(ステップS25)。サーバ装置10(飛行空域割当部102)は、重複空域を共有させる場合はその重複空域を含む飛行空域の割り当てを確定させ、重複空域を共有させない場合はその重複空域を割り当てるドローン30を選択してそのドローン30について飛行空域を確定させる。続いて、サーバ装置10は、全てのドローン30について割り当てが確定したか否かを判断し(ステップS26)、確定していない(NO)と判断した場合はステップS21に戻って動作を行う。
ステップS26で確定した(YES)と判断した場合、サーバ装置10(飛行空域割当部102)は、仮決めしていた飛行空域及び飛行許可期間を正式なものとして確定させた、図11に表すような割当情報を生成し(ステップS31)、生成した割当情報を事業者端末20に送信する(ステップS32)。事業者端末20(割当情報取得部204)は、送信されてきた割当情報を取得する(ステップS33)。
次に、事業者端末20(飛行制御情報生成部205)は、取得した割当情報に基づいて、図12に表すような飛行制御情報を生成する(ステップS34)。そして、事業者端末20(飛行制御情報送信部206)は、生成された飛行制御情報を、対象となるドローン30に送信する(ステップS35)。ドローン30(飛行制御情報取得部301)は、送信されてきた飛行制御情報を取得する(ステップS36)。ドローン30は、取得した飛行制御情報に基づいて上述した飛行制御処理を行う(ステップS40)。
ドローン運航管理システム1においては、上述したように、ドローン30が基地局3と通信を行いながら飛行することで自機の位置をサーバ装置10に伝えて且つ必要な場合に飛行指示を受け取れるようにして不測の事態に対応した飛行を行うことができるようになっている。しかし、通信不良空域が飛行空域に含まれていると、何も対処をしなければ、通信不良空域においては飛行指示を受け取れない状態で飛行しなければならない。
だからと言って、飛行指示を受け取れない状態での飛行を避けるために通信不良空域を飛行空域として全く割り当てないようにすると、有限の飛行可能空域がさらに狭くなってしまう。本実施例では、中継ドローン30zを介して基地局3と通信可能なドローン30については通信不良空域を割当対象とすることで、そのドローン30の飛行予定によっては、通信不良空域が飛行空域として割り当てられるようになっている。
これにより、ドローン30に割り当て可能な空域(飛行可能空域)に通信品質が他の空域に比べて悪い部分(通信不良空域)が含まれていても、その通信不良空域をどのドローン30にも割り当てない場合に比べて、その空域全体を有効に利用することができる。また、通信不良空域を割り当てたドローン30においても、中継ドローン30zを介することで、通信不良空域を飛行する際に基地局3との通信機会を維持することができる。
[2]変形例
上述した実施例は本発明の実施の一例に過ぎず、以下のように変形させてもよい。
[2−1]飛行空域
飛行空域割当部102は、実施例では、立方体のセルを用いて飛行空域を割り当てたが、これとは異なる方法で飛行空域を割り当ててもよい。飛行空域割当部102は、例えば、立方体ではなく直方体のセルを用いてもよいし、円柱の形をしたセルの軸を進行方向に沿うように並べて飛行空域としてもよい。また、飛行空域割当部102は、セルではなく、飛行空域の境界となる点、線、面を空間座標上の数式及び範囲で表すことで飛行空域を割り当ててもよい。
また、飛行空域割当部102は、実施例では図6に表すように一定の高さのセルだけを含む飛行空域を割り当てたが、高さの異なるセルを含む飛行空域(鉛直方向の移動を含む飛行空域)を割り当ててもよい。また、飛行空域割当部102は、実施例では東西南北を進行方向とする飛行空域を割り当てたが、その他の方向(北北東、西南西など)を進行方向とする飛行空域を割り当ててもよいし、斜めに上昇又は下降する飛行空域を割り当ててもよい。要するに、飛行空域割当部102は、ドローン30が飛行可能な空域であればどのような空域を飛行空域として割り当ててもよい。
[2−2]第2条件
飛行空域割当部102は、実施例では、第1飛行見込期間及び第2飛行見込期間が全ての隣接するセルで重なっている場合に割当条件のうちの第2条件が満たされたと判断したが、これに限らない。飛行空域割当部102は、第1飛行見込期間及び第2飛行見込期間が一部の隣接するセルについて重なっていれば、割当条件が満たされたと判断してもよい。
この場合、飛行空域割当部102は、図8の例であれば、ドローン30a−1の飛行空域R1と中継ドローン30zの飛行空域Rz1との隣接する8つのセルのうち、例えば半分の4つ以上のセルで第1飛行見込期間及び第2飛行見込期間が重なっている場合に、割当条件が満たされたと判断する。この場合も、第1飛行見込期間及び第2飛行見込期間が重なっているセルでは中継ドローン30zを介して基地局3と通信ができるので、通信不良空域の一部では飛行指示の受け取りが可能な状態で飛行することができる。
[2−3]通信間隔を用いた割当条件
割当条件は、中継ドローン30zを用いた条件に限らない。例えば、ドローン30は、実施例で述べたように所定の時間間隔で基地局3と通信(飛行状況情報の送信)を行っている。この通信が行われる時間間隔(通信間隔)の間、すなわち基地局3との通信が行われていない期間に、ドローン30が通信不良空域を通過すれば、基地局3との通信が途切れずに継続して行われることになる。
そこで、本変形例では、飛行空域割当部102が、ドローン30が基地局3と通信を行っていない期間に通過可能な通信不良空域をそのドローン30に割り当て可能な場合に、そのドローン30が割当条件を満たすと判断する。飛行空域割当部102は、そうして割当条件を満たすと判断したドローン30に、その通信を行っていない期間に通過可能な通信不良空域を割り当てる。
図14は本変形例で仮決めされた飛行空域の一例を表す。図14では、飛行空域割当部102が、図10に仮決めされた飛行空域の例を表したドローン30b−2に割り当てる飛行空域を仮決めしている。本変形例では、ドローン30b−2が、自機がセルを7つ飛行する時間を所定の時間間隔として基地局3と通信する。従って、ドローン30b−2は、或るセルで基地局3と通信してから次に基地局3と通信するセルまで飛行する間に通過する6つのセルにおいては、基地局3と通信しないで飛行する。
図14の例では、x軸方向の幅がセル6つ分の通信不良空域B2が表されている。この場合、ドローン30b−2は、通信の時間間隔で通信不良空域B2をx軸負方向に通過することができるので、飛行空域割当部102は、ドローン30b−2が割当条件を満たすと判断する。飛行空域割当部102は、こうして割当条件を満たすと判断したドローン30b−2に通信不良空域B2を含む飛行空域R2aの割り当てを仮決めする。
飛行空域R2aには、出発地セルであるセルC40_05からx軸負方向に隣接するセルを通ってセルC05_05に至る分割空域R21aと、そこからy軸正方向に隣接するセルを通って目的地セルであるセルC05_19に至る分割空域R22aとが含まれている。分割空域R21aには、セルC25_05からセルC20_05までの6つの通信不良空域B2のセルが含まれている。
なお、飛行空域割当部102は、通信不良空域を飛行中に基地局3との通信のタイミングが来ないように、基地局3と通信するセル(通信セル)を指定してもよい。
図15は本変形例の割当情報の一例を表す。図15に表す割当情報では、ドローン30b−2のドローンID(D002)に、分割空域R21a、R22aに含まれるセルのセルID群及び飛行許可期間K21a、K22aがそれぞれ対応付けられている。
また、分割空域R21aにはc33_05、C26_05、C19_05、C12_05が通信セルとして対応付けられ、分割空域R22aにはC05_05、C05_12が通信セルとして対応付けられている。飛行空域割当部102が図15に表す割当情報を生成すると、事業者端末20が通信セルを示す飛行制御情報を生成してドローン30に送信する。ドローン30はその飛行制御情報が示す飛行セルで基地局3と通信を行う。飛行空域割当部102はこのようにして通信セルを指定する。
図15の例の場合、ドローン30b−2は、指定されたセルC26_05とセルC19_05において基地局3と通信し、それらのセルの間の基地局3との通信が行われない期間に通信不良空域B2を通過することになる。
図16は本変形例で仮決めされた飛行空域の別の一例を表す。この例では、x軸方向の幅がセル4つ分の通信不良空域B3が表されている。
この場合、飛行空域割当部102は、ドローン30b−2が割当条件を満たすので、ドローン30b−2に通信不良空域B3を含む飛行空域R2bの割り当てを仮決めする。また、飛行空域割当部102は、飛行空域R2bに含まれる通信不良空域B3のセル(セルC25_05からC28_05までの4つのセル)との距離がより大きくなるセル(この例ではセルC30_05、C23_05)を通信セルとして指定する。
通常は通信不良空域B3から離れるほど通信品質がよくなりやすいので、図16のように通信セルを指定することで、通信不良空域B3のセルの距離を踏まえずに通信セルを指定する場合に比べて、通信不良空域B3を割り当てたドローン30b−2が行う基地局3との通信の品質を向上させることができる。また、本変形例では、実施例と同様に、通信不良空域を飛行するドローン30が基地局3との通信機会を維持することができるし、通信不良空域をどのドローン30にも割り当てない場合に比べて空域全体を有効に利用することができる。
また、本変形例では、実施例と異なり、ドローン30b−2のように中継機通信部309を備えていないドローン30にも通信不良空域を割り当てることができる。一方、実施例では、中継機通信部309を備えているドローン30しか通信不良空域を割り当てない代わりに、通信不良空域の飛行中であっても、基地局3との通信が可能なので不測の事態が生じたときに飛行指示を受けることができる。
なお、飛行空域割当部102による通信セルの指定が行われなくてもよい。その場合、例えば通信不良空域B3を示す割当情報及び飛行制御情報が生成されることで、飛行制御情報が示す通信不良空域B3に含まれないセル、すなわち通信良好空域に含まれるセルで基地局3との通信を行うことになる通信の開始タイミングをドローン30が決定すればよい。
また、仮に飛行計画どおり飛行できなくて通信不良空域B3で基地局3と通信するタイミングが来て通信ができなかったとしても、その後に飛行計画に従う飛行ができていれば、次の通信のタイミングには通信不良空域B3を出て通信が可能になっているはずである。従って、通信不良空域を無制限に割り当てる場合に比べて、通信不良空域を飛行するドローン30が基地局3との通信機会を失うケースを少なくすることができる。
なお、実施例でも、ドローン30と中継ドローン30zの距離が一時的に離れて通信できなくなったときに基地局3との通信タイミングがくると、通信機会を失うことが起こり得る。つまり、通信機会を維持するための条件である割当条件が満たされたとしても、100%通信機会を失わないという訳ではない。しかし、割当条件が満たされない場合に比べれば、割当条件が満たされる場合の方が、通信機会が維持されやすくなる。
[2−4]通信の時間間隔
実施例では基地局3との通信の時間間隔は一定であったが、これを変動させてもよい。例えば、上述した通信間隔を割当条件の判断に用いる例において、飛行空域割当部102が、ドローン30の性能が高いほど長い時間間隔で基地局3との通信を行うようドローン30に指示してもよい。この場合の飛行空域割当部102は本発明の「指示部」の一例である。
ドローン30の性能とは、例えば障害物を回避する回避機能である。回避機能を有するドローン30のセンサ装置36は、例えば赤外線又はミリ波等を照射してその反射波を受信するまでの時間及びその反射波を受信した方向に基づいて物体との距離及びその物体の方向を測定する物体認識センサを有する。そのドローン30の飛行制御部303は、物体認識センサにより測定された障害物との距離が閾値未満になった場合に、共に測定された障害物の方向を避ける方向に飛行方向を変更したり飛行速度を変更したりすることで、接近した障害物との衝突を回避する(障害物回避制御)。
飛行空域割当部102は、回避機能の有無と通信間隔とを対応付けた通信間隔テーブルを用いて通信間隔の指示を行う。
図17は通信間隔テーブルの例を表す。図17(a)の例では、回避機能が「有り」だと通信間隔が「G1」で、回避機能が「なし」だと通信間隔が「G2」(G1>G2)という対応付けがされている。
飛行空域割当部102は、回避機能の有無を示す機能情報を機能情報取得部104に要求し、その応答で供給される機能情報が回避機能を有することを示している場合、「有り」に対応付けられた「G1」を通信間隔として決定し、回避機能を有しないことを示している場合、「なし」に対応付けられた「G2」を通信間隔として決定する。飛行空域割当部102は、図15に表す仮決め情報の通信セルの間隔を決定した通信間隔にすることで、決定した通信間隔で基地局3と通信するようドローン30に対して指示する。
本変形例で用いるドローン30の性能は回避機能の有無に限らない。例えば、経路設定機能の有無が用いられてもよい。経路設定機能とは、ドローン30が目的地までの経路を設定する機能である。経路設定機能を有するドローン30は、飛行可能空域内の各空域に関する空域情報を記憶し、目的地が決められている場合に、記憶している空域情報を参照して、例えば実施例における飛行空域割当部102と同じ方法で現在位置から目的地までの飛行経路を設定する。
図17(b)の例では、経路設定機能が「有り」だと通信間隔が「G3」で、経路設定機能が「なし」だと通信間隔が「G4」(G3>G4)という対応付けがされている。飛行空域割当部102は、回避機能の場合と同じ方法で通信間隔を決定し、決定した通信間隔で基地局3と通信するようドローン30に対して指示する。この指示がされたドローン30は、指示された通信間隔を所定の時間間隔として、基地局3との通信を行う。
なお、ドローン30の性能は、回避機能及び経路設定機能の有無だけに限らない。他にも、各部品の冗長化の有無及びバッテリーの大きさ等が用いられてもよい。要するに、基地局3との通信が長時間行われなくても安定した飛行が可能なことを示す性能であれば、どのような性能が用いられてもよい。本変形例によれば、性能が高いほど通信間隔が長くなり、通信不良空域を通過する距離を長くすることができる。これにより、通信間隔が一定の場合に比べて、より多くの通信不良空域を飛行空域として割り当てることができ、空域全体をより有効に利用することができる。
[2−5]通信不良空域の変動
通信不良空域は大気の状態又は基地局3の通信状況によって変動する場合がある。本変形例では、通信不良空域の変動を踏まえて飛行空域の割り当てが行われる。
図18は本変形例のサーバ装置10cが実現する機能構成を表す。サーバ装置10cは、図4に表す各部に加えて通信品質検出部108を備える。通信品質検出部108は、通信可能空域における通信品質を検出する。
本変形例では、飛行状況取得部107が、ドローン30から通信品質を示す値(受信強度等)を飛行状況として取得して通信品質検出部108に供給する。このドローン30は、各事業者が飛行させるドローン30でもよいし、システム管理者が通信品質の検出用に飛行させるドローン30であってもよい。通信品質検出部108は、供給された飛行状況が示す位置及び値から、その位置の通信品質が所定のレベル以上であるか否かを判断する。
通信品質検出部108は、通信品質が所定のレベル以上であれば、その位置の通信品質を良好(つまり通信良好空域である)と検出し、通信品質が所定のレベル未満であれば、その位置の通信品質を不良(つまり通信不良空域である)と検出する。通信品質検出部108は、こうして通信良好空域の変動及び通信不良空域の変動を検出する。通信品質検出部108は本発明の「検出部」の一例である。
通信品質検出部108は、検出結果を空域情報記憶部103に供給し、空域情報記憶部103は、供給された検出結果に基づいて空域情報の通信品質の欄を更新する。飛行空域割当部102は、更新された空域情報を読み出すことで、割当条件を満たさないドローン30に、検出された変動を反映した通信良好空域を割り当てる。これにより、通信良好空域であったが変動により通信不良空域となった空域が割当条件を満たさないドローン30に割り当てられることを防ぐことができる。
なお、実施例のように中継ドローン30zを飛行させる場合、中継ドローン30zの通信品質を利用して上記変動が検出されてもよい。その場合、飛行状況取得部107は、中継ドローン30zから通信品質を示す値を飛行状況として取得する。飛行状況取得部107は本発明の「取得部」の一例である。そして、通信品質検出部108は、飛行状況取得部107により取得された飛行状況が示す通信品質に基づいて、通信良好空域の変動及び通信不良空域の変動を検出する。
飛行空域割当部102は、中継ドローン30zの飛行空域として、通信の中継のため通信良好空域を飛行しつつ、通信良好空域及び通信不良空域の境界を見つけるための飛行空域を割り当てる。具体的には、飛行空域割当部102は、通信良好空域及び通信不良空域の境界と繰り返し交差しながらその境界に沿って移動する飛行空域を中継ドローン30zの飛行空域として割り当てる。
図19は中継ドローン30zに割り当てられた飛行空域の一例を表す。図19の例では、飛行空域割当部102は、通信不良空域B4と通信良好空域F4との境界E1と繰り返し交差する飛行空域Rz4を中継ドローン30zの飛行空域として割り当てている。中継ドローン30zは、飛行中常に他のドローン30の中継を行うとは限らない。中継ドローン30zが飛行するタイミングと合うドローン30がなければ、中継を行わずに飛行する場合がある。
飛行空域割当部102は、中継を行わずに飛行する場合(図19の例ではx軸方向に沿って飛行する場合)に、境界E1と繰り返し交差する飛行空域を割り当てる。これにより、境界E1に変動があった場合に、変動した通信不良空域B4及び通信良好空域F4を表す通信品質が通信品質検出部108により検出される。図19の例では、境界E1の変動を検出することだけを目的としたドローン30を飛行させることなく、その変動を把握することができる。
また、飛行空域割当部102は、他のドローン30の中継を行いながら飛行する場合(図19の例ではy軸方向に沿って飛行する場合)に、境界E1と交差しない通信良好空域F4の飛行空域を割り当てる。これにより、通信不良空域B4を飛行するドローン30と中継ドローン30zとの衝突を防ぐことができる。その代わり、この場合は、変動した通信不良空域B4及び通信良好空域F4を表す通信品質が検出されない。
しかし、中継ドローン30zが通信不良空域B4の周囲を何度も周回すれば、タイミングによってはy軸方向に沿って飛行する場合でも境界E1と繰り返し交差する飛行空域が割り当てられ、変動した通信不良空域B4及び通信良好空域F4を表す通信品質が検出されることになる。こうして最終的には境界E1の変動を検出することだけを目的としたドローン30を飛行させることなく、その変動を把握することができる。
[2−6]中継ドローン
実施例では、中継だけを目的とした中継ドローン30zを飛行させたが、これに限らない。例えば事業者が搬送又は撮影等の目的で飛行させるドローン30を中継ドローンとして利用してもよい。その場合、飛行空域割当部102は、例えば、図4に表す通信中継部308を備えるドローン30のリスト(ドローンIDのリスト)を記憶しておく。
飛行空域割当部102は、リストに含まれるドローン30の飛行空域を割り当てる際に、通信不良空域を飛行するドローン30と通信可能な飛行空域(例えば図7に表す飛行空域Rz1)を優先的に割り当てる。具体的には、飛行空域割当部102は、その通信可能な飛行空域を割り当てられるドローン30が複数ある場合、通信中継部308を備えるドローン30(本変形例の中継ドローン)を優先してその飛行空域を割り当てる。
また、飛行空域割当部102は、通信中継部308を備えるドローン30に対して出発地から目的地まで最短距離の飛行経路だと飛行空域Rz1を通らなくても、少し迂回すれば飛行空域Rz1を通るのであれば、飛行空域Rz1を通る飛行経路を飛行させる飛行空域を割り当てる。この場合、飛行空域割当部102は、飛行空域Rz1を通る場合と最短距離の場合との飛行距離の差が閾値未満であれば、飛行空域Rz1を通る飛行空域を割り当てる。また、飛行空域割当部102は、この飛行空域の割り当てと同時に、通信不良空域B1のうちの通信中継部308を備えるドローン30と通信可能な空域を他のドローン30の飛行空域として割り当ててもよい。
本変形例では、飛行空域割当部102が上記のように通信不良空域を飛行するドローン30と通信可能な飛行空域を中継ドローンに優先して割り当てることで、その優先的な割り当てを行わない場合に比べて、通信不良空域を飛行するドローン30が中継ドローンを介して基地局3と通信できる機会を増やすことができる。また、本変形例では、中継ドローン自身も搬送等の別の目的も兼ねて飛行するので、中継だけを目的とした中継ドローンを飛行させる場合に比べて、ドローン運航管理システム1が運航を管理する飛行空域においてドローン30が行う仕事量(搬送回数、搬送量、撮影回数又は撮影枚数等)を増やすことができる。
[2−7]飛行体
実施例では、自律飛行を行う飛行体として回転翼機型の飛行体が用いられたが、これに限らない。例えば飛行機型の飛行体であってもよいし、ヘリコプター型の飛行体であってもよい。また、自律飛行の機能も必須ではなく、割り当てられた飛行空域を割り当てられた飛行許可期間に飛行することができるのであれば、例えば遠隔から操縦者によって操作されるラジオコントロール型(無線操縦型)の飛行体が用いられてもよい。
[2−8]各部を実現する装置
図4に表す各機能を実現する装置が図4とは異なっていてもよい。例えばサーバ装置10が備える機能を事業者端末20が備えていてもよい(例えば全国に散在する事業者端末20が各地域の空域情報を記憶する空域情報記憶部103を備える)。また、事業者端末20が備える機能をサーバ装置10が備えていてもよい(例えば事業者端末20は入力画面の表示と入力操作の受け付けだけを行い、サーバ装置10が飛行予定生成部201を備えて飛行予定を生成する)。また、サーバ装置10が備える各機能を2以上の装置がそれぞれ実現してもよい。要するに、ドローン運航管理システム全体としてこれらの機能が実現されていれば、ドローン運航管理システムが何台の装置を備えていてもよい。
[2−9]発明のカテゴリ
本発明は、サーバ装置及び事業者端末20という情報処理装置と、ドローン30という飛行体の他、それらの装置及び飛行体を備えるドローン運航管理システムのような情報処理システムとしても捉えられる。また、本発明は、各装置が実施する処理を実現するための情報処理方法としても捉えられるし、各装置を制御するコンピュータを機能させるためのプログラムとしても捉えられる。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されてもよいし、インターネット等のネットワークを介してコンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態で提供されてもよい。
[2−10]処理手順等
本明細書で説明した各実施例の処理手順、シーケンス、フローチャートなどは、矛盾がない限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
[2−11]入出力された情報等の扱い
入出力された情報等は特定の場所(例えばメモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
[2−12]ソフトウェア
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
[2−13]情報、信号
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
[2−14]システム、ネットワーク
本明細書で使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
[2−15]「に基づいて」の意味
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
[2−16]「及び」、「又は」
本明細書において、「A及びB」でも「A又はB」でも実施可能な構成については、一方の表現で記載された構成を、他方の表現で記載された構成として用いてもよい。例えば「A及びB」と記載されている場合、他の記載との不整合が生じず実施可能であれば、「A又はB」として用いてもよい。
[2−17]態様のバリエーション等
本明細書で説明した各実施例は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。