[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(それぞれ区別しない場合は「ドローン30」という)とを備える。
ネットワーク2は、移動体通信網及びインターネット等を含む通信システムであり、自システムにアクセスする装置同士のデータのやり取りを中継する。ネットワーク2には、サーバ装置10及び事業者端末20が有線通信で(無線通信でもよい)アクセスしている。事業者端末20は、例えば各事業者におけるドローン30の運用管理の担当者(運用管理者)がそれらのドローン30の運用及び管理を行うために利用する端末である。
事業者端末20は、例えば、運用管理者の操作によりドローン30が予定している飛行概要を示す飛行予定を生成し、生成した飛行予定をサーバ装置10に送信する。サーバ装置10は、ドローン30の飛行空域の割り当てに関する処理を行う情報処理装置である。サーバ装置10は、受け取った飛行予定に基づき、各ドローン30に対して飛行空域を割り当てる。
飛行空域の割り当てとは、より詳細には、飛行空域及び飛行許可期間の両方を割り当てることを意味する。飛行空域は、ドローン30が出発地から目的地まで飛行する際に通過すべき空間を示す情報であり、飛行許可期間は、割り当てられた飛行空域における飛行が許可される期間を示す情報である。サーバ装置10は、割り当てた飛行空域及び飛行許可期間を示す割当情報を作成し、作成した割当情報を事業者端末20に送信する。
事業者端末20は、受け取った割当情報に基づいて、ドローン30が自機の飛行を制御するための情報群である飛行制御情報を生成し、生成した飛行制御情報を対象となるドローン30に送信する。ドローン30が飛行制御に用いる情報はドローン30を制御するプログラムの仕様によって異なるが、例えば、飛行高度、飛行方向、飛行速度、到着地点の空間座標などが用いられる。
ドローン30は、自律的に又は飛行計画(割り当てられた飛行空域及び飛行許可期間に従った飛行の計画)に従って飛行を行う飛行体であり、本実施例では、1以上の回転翼を備え、それらの回転翼を回転させて飛行する回転翼機型の飛行体である。どのドローン30も、自機の位置及び高度(つまり3次元空間上の空間座標)を測定する座標測定機能及び時刻を測定する時刻測定機能を有しており、空間座標及び時刻を測定しながら飛行速度及び飛行方向を制御することで、割当情報が示す飛行空域及び飛行許可期間を守りながら飛行することが可能である。
図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との無線通信に加え、ドローン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とを備える。事業者端末20は、飛行予定生成部201と、飛行予定送信部202と、割当情報取得部203と、飛行制御情報生成部204と、飛行制御情報送信部205とを備える。ドローン30は、飛行制御情報取得部301と、飛行部302と、飛行制御部303と、位置測定部304と、高度測定部305と、方向測定部306とを備える。
事業者端末20の飛行予定生成部201は、ドローン30の飛行予定を示す飛行予定情報を生成する。飛行予定生成部201は、例えば、上述した運用管理者が事業者端末20に、飛行予定を入力するドローン30を識別するドローンID(Identification)と、出発地、経由地及び到着地の名称と、出発予定時刻及び到着予定時刻とを入力することで、入力された各情報に基づいて飛行予定情報を生成する。なお、飛行予定情報は、あくまでも事業者が希望し又は要求する飛行予定を示す情報であり、確定した飛行計画を示すものではない。
図5は飛行予定情報の一例を表す。図5の例では、図1に表すドローン30a−1を識別する「D001」というドローンIDに、「倉庫α1」、「交差点β1」、「店舗γ1」、「T1」、「T2」という出発地、経由地、目的地、出発予定時刻、到着予定時刻が対応付けられている。また、ドローン30b−1を識別する「D002」というドローンIDに、「港α2」、「交差点β2」、「ビルγ2」、「T3」、「T4」という出発地、経由地、目的地、出発予定時刻、到着予定時刻が対応付けられている。なお、この飛行予定情報はあくまで一例であり、例えば経由地及び出発予定時刻等は含まれない場合がある。
「T1」等の時刻は、実際には「9時00分」のように日時を1分単位まで表しているものとする。なお、時刻は、より細かく(例えば秒単位で)表されていてもよいし、より粗く(例えば5分単位で)表されていてもよい。また、飛行予定の日付が入力されてもよいが、本実施例では、説明を分かり易くするため、運用管理者は当日の飛行予定をその日の朝に入力する(つまり日付は不要である)ものとする。
ドローン30の飛行予定情報は、そのドローン30を運用する事業者の事業者端末20の飛行予定生成部201が生成する。飛行予定生成部201は、生成した飛行予定情報を飛行予定送信部202に供給する。飛行予定送信部202は、供給された飛行予定情報をサーバ装置10に送信する。ドローン30の飛行予定情報が送信されることで、そのドローン30に対する飛行空域(詳細には飛行空域及び飛行許可期間)の割り当てが要求されることになる。
サーバ装置10の飛行予定取得部101は、各事業者端末20から送信されてきた飛行予定情報を飛行空域の割当要求として取得する。飛行予定取得部101は、取得した飛行予定情報を飛行空域割当部102に供給する。飛行空域割当部102は、供給されたドローン30の飛行予定情報に基づいて、そのドローン30について要求された飛行空域を割り当てる。飛行空域割当部102は本発明の「割当部」の一例である。
飛行空域の割り当てとは、ドローン30が飛行すべき飛行空域(ドローン30が出発地から目的地まで飛行する際に通過すべき空間)及び飛行許可期間(飛行空域の飛行が許可される期間)の両方を割り当てることを言う。飛行空域割当部102は、後述する割当実績蓄積部104に蓄積される割当実績に基づいて飛行空域を割り当てる。ただし、その割当方法は割当実績が蓄積されていないとできないので、まずは、また割当実績が蓄積されていない時期において用いられる方法(割当実績を用いない方法)で飛行空域を割り当てる場合について説明する。
ドローン運航管理システム1においては、ドローン30が飛行することができる飛行可能空域が道路網のように予め定められている。飛行可能空域は、当然ながら飛行のために必要な許可を受けた空域であり、場合によっては許可が不要な空域を含むこともある。本実施例では、飛行可能空域は、隙間なく敷き詰められた立方体の空間(以下「セル」という)によって表され、各セルには各々を識別するセルIDが付されている。
空域情報記憶部103は、飛行可能空域に含まれる各空域に関する空域情報を記憶する。
図6は空域情報の一例を表す。図6の例では、空域情報記憶部103は、各空域を表すセルIDと、セルの中心の座標と、セルの空域属性とを対応付けた空域情報を記憶している。この空域情報では、「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」である。
空域属性とは、各セルに固有の性質を表す情報であり、図6では、立方体であるセルの一辺の長さと、飛行の可否と、共有の可否と、制限速度が表されている。図6の例では、各セルの一辺の長さはいずれも「L1」と表されている。また、セルC01_01及びC02_01等は飛行可能(「○」)であり、セルC98_99、C99_99等は飛行不可(「×」)であることが表されている。例えば重要な施設及び人が通る場所等の上空は飛行不可空域と定められる。
セルの共有とは、複数のドローン30にそのセルを同一期間に割り当てる(つまりそのセルにおける飛行許可期間を重複させる)ことを意味し、共有が不可である場合はすなわち排他的にそのセルを割り当てる(つまりそのセルにおける飛行許可期間を重複させない)ことを意味する。飛行許可期間の重複とは、飛行許可期間の一部だけが重複している場合も含む。また、ひとつながりになっていて連続して飛行可能な複数のセルを共有させる場合は、それらの複数のセルの全体における飛行許可期間を重複させることをセルの共有という。
例えば1列に並んだ10個のセルを複数のドローン30で共有させた場合、それら複数のドローン30は、同じ1つのセル内を同時に飛行することもあれば、10個のセルのうちの別々のセルを同時に飛行することもある。なお、セルを共有していても、飛行許可期間には幅があるので、各ドローン30の飛行タイミングによっては、共有したセルを同時に飛行しないことも起こり得る。いわば、セルを共有するということは、共有したセルを同時に飛行することが起こり得ることを許容するということである。反対に、セル(複数のセルを含む)を共有していなければ、そのセルを複数のドローン30が同時に飛行することが(不測の事態が生じたときを除き)起こり得ないということである。
図6の例では、セルC01_01及びC02_01等は共有可能(「○」)であり、セルC20_20、C21_20等は共有不可(「×」)であることが表されている。制限速度とは、セルを飛行するときに許される最高速度であり、セルC01_01及びC02_01等では制限速度Slmt1が、セルC20_20、C21_20等では制限速度Slmt2が定められている。なお、飛行不可のセルには共有可否等の空域属性が対象外なので定められていない。
飛行空域割当部102は、「飛行可能」属性のセルの中から、飛行予定に含まれている出発地に最も近いセル(出発地セル)と、目的地に最も近いセル(目的地セル)とを特定する。飛行空域割当部102は、例えば、特定した出発地セルから「飛行可能」属性のセルを通って目的地セルに至り、飛行距離が最短となる飛行空域を仮決めする。その際、飛行空域割当部102は、例えば、まず「共有可能」属性のセルを選択して飛行空域を仮決めしてもよいが、「共有可能」属性のセルだけでは目的地セルに至らない場合や、「共用不可」属性のセルを割り当てることで安定的な飛行や高速な飛行が可能になる場合は、「共有不可」属性のセルを選択して飛行空域を仮決めする。
また、上記方法で仮決め可能な飛行空域が複数ある場合は、方向転換の回数が最も少ない飛行空域又はその中からランダムで選択した飛行空域を仮決めする。なお、飛行空域割当部102は、「共有不可」属性のセルを選択する場合に、そのセルを既に他のドローン30の飛行空域として仮決めしていたとしても、どちらに正式に割り当てるかは後から判断するので、ここではそのままそのセルを含む飛行空域を仮決めする。
図7は仮決めされた飛行空域の例を表す。図7では、セルC01_01(セルIDがC01_01のセル)の中心を原点とするx軸及びy軸が表されており、x軸の矢印方向をx軸正方向、その反対方向をx軸負方向、y軸の矢印方向をy軸正方向、その反対方向をy軸負方向といい、y軸負方向は北向きであるものとする。図7の例では、図5に表す飛行予定に含まれる「倉庫α1」から「交差点β1」を通って「店舗γ1」まで至る飛行空域R1が表されている。
飛行空域R1には、出発地セルであるセルC01_01からx軸正方向に隣接するセルを通ってセルC20_01に至る分割空域R11(飛行空域を分割した空域のこと)と、そこからy軸正方向に隣接するセルを通って経由地セルであるセルC20_20に至る分割空域R12と、そこからx軸正方向に隣接するセルを通って目的地セルであるセルC50_20に至る分割空域R13とが含まれている。
また、図7の例では、図5に表す飛行予定に含まれる「港α2」から「交差点β2」を通って「ビルγ2」まで至る飛行空域R2が表されている。飛行空域R2には、出発地セルであるセルC40_05からx軸負方向に隣接するセルを通ってセルC20_05に至る分割空域R21と、そこからy軸正方向に隣接するセルを通って経由地セルであるセルC20_15に至る分割空域R22と、そこからx軸負方向に隣接するセルを通ってセルC05_15に至る分割空域R23と、そこからy軸正方向に隣接するセルを通って目的地セルであるセルC05_30に至る分割空域R24とが含まれている。
飛行空域割当部102は、本実施例では、各分割空域について飛行許可期間を仮決めする。飛行空域割当部102は、例えば、飛行予定に含まれる出発予定時刻から到着予定時刻までの期間を、各分割空域の長さに応じた割合で分割した期間を、各分割空域を通過する際に要する空域通過期間として算出する。
飛行空域割当部102は、例えば飛行空域R1における分割空域R11、R12、R13の長さの比が2:2:3であり、出発予定時刻から到着予定時刻までの期間が70分であれば、20分:20分:30分を各分割空域の空域通過期間として算出する。飛行空域割当部102は、出発予定時刻からこれらの空域通過期間が順次経過した時刻(つまり20分経過後の時刻、40分経過後の時刻、70分経過後の時刻)の前後にマージン期間を加えた時刻を開始時刻又は終了時刻とする期間を各分割空域における飛行許可期間として仮決めする。
図8は飛行許可期間の一例を表す。飛行空域割当部102は、例えばマージン期間を3分間とすると、分割空域R11に対しては、出発予定時刻T1の3分前を開始時刻T111とし、出発予定時刻T1から分割空域R11の空域通過期間(20分)が経過してからマージン期間の3分が経過した時刻(つまり出発予定時刻T1の23分後)を終了時刻T112とする期間K11を飛行許可期間として仮決めする。
また、飛行空域割当部102は、分割空域R12に対しては、出発予定時刻T1から分割空域R11の空域通過期間である20分が経過した時刻からマージン期間の3分間遡った時刻(つまり出発予定時刻T1の17分後)を開始時刻T121とし、出発予定時刻T1に分割空域R11及びR12の空域通過期間を合わせた40分が経過してからマージン期間の3分が経過した時刻(つまり出発予定時刻T1の43分後)を終了時刻T122とする期間K12を飛行許可期間として仮決めする。
また、飛行空域割当部102は、分割空域R13に対しては、出発予定時刻T1から分割空域R11及びR12の空域通過期間を合わせた40分が経過した時刻からマージン期間の3分間遡った時刻(つまり出発予定時刻T1の37分後)を開始時刻T131とし、出発予定時刻T1に分割空域R11、R12及びR13の空域通過期間を合わせた70分が経過してからマージン期間の3分が経過した時刻(つまり出発予定時刻T1の73分後又は到着予定時刻T2の3分後)を終了時刻T132とする期間K13を飛行許可期間として仮決めする。
飛行空域割当部102は、こうして仮決めした情報(仮決め情報)を一時的に記憶する。
図9は仮決め情報の一例を表す。図9では、飛行空域に含まれるセルのセルIDが分割空域毎にまとめられ、分割空域毎に対応する飛行許可期間が対応付けられ、それらの飛行空域及び飛行許可期間が仮決めされたドローン30のドローンIDが対応付けられている。例えば「D001」というドローン30a−1のドローンIDには、分割空域R11、R12、R13に含まれるセルのセルID群と、飛行許可期間である期間K11、K12、K13の開始時刻及び終了時刻とがそれぞれ対応付けられている。
また、「D002」というドローン30b−2のドローンIDには、分割空域R21〜R24に含まれるセルのセルID群及び飛行許可期間K21〜K24がそれぞれ対応付けられている。飛行空域割当部102は、前述したように、仮決めの段階では飛行空域が重複していても(「共有不可」属性のセル同士が重複していても)、全てそのまま割り当てている。飛行空域割当部102は、そうして割り当てた重複された飛行空域(重複空域(重複セルとも言う))を共有させるか否かを判断する。
そのため、飛行空域割当部102は、まず、仮決めした飛行空域が重複するドローン30の組合せを抽出する。飛行空域割当部102は、各ドローン30について、割り当てられた飛行空域の各セルを飛行することが見込まれる期間(飛行見込期間)を算出する。飛行空域割当部102は、出発予定時刻から到着予定時刻までの時間で飛行空域が示す飛行経路の距離を除した平均速度を算出し、ドローン30が平均速度で飛行した場合に各セルを飛行する期間を飛行見込期間として算出する。
飛行空域割当部102は、本実施例では、2以上のドローン30に対して割り当てを仮決めした重複セルがあり、且つ、その重複セルにおける飛行見込期間の差(飛行の開始時刻同士の差又は終了時刻同士の差)が閾値未満である場合に、そのドローン30の組合せを、飛行空域が重複するドローン30の組合せとして抽出する。飛行空域割当部102は、重複セルの属性が「共有不可」である場合は当然ながら重複空域を共有させないと判断する。
また、飛行空域割当部102は、「共有可能」属性のセルが重複セルである場合、例えば、抽出したドローン30同士が同じ方向に飛行するときには重複空域(重複セルにより表される空域)を共有させると判断し、異なる方向に飛行するときには重複空域を共有させないと判断する。飛行空域割当部102は、重複空域を共有させる場合は、抽出した複数のドローン30にその重複空域をそのまま正式に割り当てることを決定する。
また、飛行空域割当部102は、重複空域を共有させない場合は、優先度が高いドローン30に重複空域を正式に割り当てる。割当実績が蓄積されていない段階では、飛行空域割当部102は、重複セルの飛行見込期間が最も早い(複数のセルが重複空域になっている場合は最も早い飛行見込期間を比較する)ドローン30の優先度が高いと判断して、そのドローン30に重複空域をそのまま正式に割り当てることを決定する。
飛行空域割当部102は、重複空域が割り当てられなかったドローン30については、仮決めした飛行空域の割り当てを撤回し、再度別の飛行空域を割り当てる(ただしこの場合も仮決め)、すなわち割り当てる飛行空域を見直す。その際、飛行空域割当部102は、正式な割り当てが確定した空域を除いた空域から新たに飛行空域を割り当てる。このように割り当ての仮決め、見直し及び確定を繰り返すことで、飛行空域割当部102は、割り当てを要求された全てのドローン30について飛行空域を割り当てる。
ただし、空域は有限であるため、空域の割り当てを要求するドローン30の台数が多すぎれば、一部のドローン30には飛行空域を割り当てることができないということが起こり得る。その場合は、飛行空域割当部102は、空域の割り当てができないと判断したドローン30のドローンIDに割当不可である旨を対応付けた情報を割当情報に含めることで、事業者端末20に割り当てがされなかった旨を通知する。
このドローン30については、例えば上述した運用管理者が新たな飛行予定を入力して、飛行空域の割り当てが再度要求されることになる。なお、割当要求の際に、運用管理者が第2希望の飛行予定を予め入力しておくことで、その第2希望の飛行予定で再度割り当てが要求されたとみなして飛行空域割当部102が再度の割り当てを行ってもよい(第3希望以降も同様に入力可能)。また、飛行空域割当部102は、再度の割当要求がなくとも、飛行予定の時刻とのずれが最も少なく且つ割り当て可能な飛行空域を、割り当てがされなかったドローン30の飛行空域として割り当ててもよい。
飛行空域割当部102は、上記の方法で全てのドローン30について飛行空域の割り当てを確定させると、確定時の仮決め情報を、正式な飛行空域及び飛行許可期間の割り当てを示す割当情報として生成する。飛行空域割当部102は、生成した割当情報を割当実績蓄積部104に供給する。割当実績蓄積部104は、ドローン30の飛行空域の割当要求を行う事業者(本実施例ではA事業者、B事業者、C事業者)毎の割当実績(確定した割り当てに関する実績)を蓄積する。割当実績蓄積部104は本発明の「蓄積部」の一例である。
図10は割当実績の一例を表す。図10の例では、割当実績蓄積部104が、各事業者に対応付けて、割当日(割り当てが行われた年月日)と、各割当要求を識別する情報(図10の例では割当対象のドローン30のドローンID及びそのドローン30についての当日の要求回数)と、その割当要求で割り当てられた割当セルのセルIDと、各割当セルを飛行すべき期間として割り当てられた割当期間と、割当空域量とを蓄積している。
割当期間とは、ドローン30が飛行するべき期間として割り当てられた期間であり、上述した飛行見込期間の長さを表す期間(例えば1セル当たり1分というように表される)である。空域量とは、ドローン30が飛行する飛行空域の量を示す情報であり、飛行空域の大きさ(空間的な量)及び飛行空域の飛行が許可される期間の長さ(時間的な量)の少なくとも一方により表される。本実施例では、飛行空域の大きさ及び飛行空域の飛行が許可される期間の長さの両方により空域量が表される。割当空域量とは、飛行空域割当部102による割り当てが確定した飛行空域の空域量、すなわち割り当て済みの空域量である。
割当実績蓄積部104は、本実施例では、割当空域量を次のように算出する。割当実績蓄積部104は、事業者毎に蓄積された割当期間に、その割当期間に対応付けられた割当セルの大きさを表す値(本実施例ではどれもセル体積Vol1(=L13))を乗じて合計する。例えばA事業者であれば、割当期間wt11、wt12、・・・が蓄積されているので、Vol1×wt11+Vol1×wt12+・・・=割当空域量SumA1という式で割当空域量を算出する。
割当実績蓄積部104は、図10の例では、A事業者、B事業者、C事業者の過去1年間の割当空域量としてそれぞれSumA1、SumB1、SumC1(SumB1<SumC1<SumA1)を蓄積する。なお、1年間という期間は一例であり、これより短くても長くてもよい。また、期間を設けず過去の全ての割当実績が蓄積されてもよい。また、図10の例では割当セル及び割当期間の両方が蓄積されているが、これらのうちのいずれか一方だけが蓄積されていてもよい。
割当実績蓄積部104は、割当セルだけが蓄積されている場合、セル体積Vol1を割当セルの数だけ加算した値を割当空域量として算出すればよいし、割当期間だけが蓄積されている場合、蓄積されている割当期間を合計した値を割当空域量として算出すればよい。要するに、割当実績蓄積部104は、割り当てられた飛行空域の大きさ(図10の例ではセル体積Vol1で表される)及び飛行空域の飛行を許可された期間(図10の例では割当期間で表される)の少なくとも一方により表される割当空域量を割当実績として蓄積していればよい。
本実施例では、割当実績蓄積部104は、割り当てられた飛行空域の大きさ及び飛行空域の飛行を許可された期間の両方により表される割当空域量を割当実績として蓄積する。こうして蓄積された割当実績は、上述した割当実績に基づく飛行空域の割り当てに用いられる(詳細は後述する)。飛行空域割当部102は、生成した割当情報を、図6に表す空域情報のうちの制限速度をセルIDに対応付けた制限速度情報とともに割当情報送信部105に供給する。割当情報送信部105は、飛行空域割当部102から供給された割当情報及び制限速度情報を、その割当情報に含まれるドローンIDのドローン30の運用管理者が利用する事業者端末20に送信する。
事業者端末20の割当情報取得部203は、送信されてきた割当情報及び制限速度情報を取得して、飛行制御情報生成部204に供給する。飛行制御情報生成部204は、上述した飛行制御情報(ドローン30が自機の飛行を制御するための情報群)を生成する。
図11は飛行制御情報の一例を表す。図11では、上述したドローン30a−1に対する飛行制御情報が表されている。
ドローン30a−1には、図11(a)に表すように、出発地セルであるセルC01_01から曲がり角であるセルC20_01、セルC20_20を通って目的地セルであるセルC50_20に到達する飛行空域が割り当てられている。飛行制御情報生成部204は、これらの4つのセルの中心点の座標P101、P102、P103、P104を目標地点座標(次に到達すべき目標となる地点の座標)として算出し、それらの座標を含む飛行制御情報をまずは生成する。
ドローン運航管理システム1においては、目的地として指定される地点にはドローン30の着陸が可能なドローンポートが用意されており、事業者端末20は、各ドローンポートの座標を目的地の名称に対応付けて記憶している。飛行制御情報生成部204は、図11(b)の例では、ドローン30a−1の目的地である「店舗γ1」に対応付けられているドローンポートの座標P105を目標地点座標として飛行制御情報に加える。
飛行制御情報生成部204は、各目標地点座標まで飛行する際の飛行高度、飛行方向、飛行速度、空間幅及び到着目標時刻を飛行制御情報に加える。飛行制御情報生成部204は、例えば飛行高度として、座標P101までの飛行(離陸)には「0〜A1」、それ以降の座標P104までの飛行(水平飛行)には「A1」、座標P105までの飛行(着陸)には「A1〜0」を加える。
また、飛行制御情報生成部204は、飛行方向として、水平飛行が行われる座標P101から座標P102までは「東向き」、座標P102から座標P103までは「南向き」、座標P103から座標P104までは「東向き」を加える。また、飛行制御情報生成部204は、水平飛行が行われるP101からP104までの飛行速度として、例えば飛行予定にある出発予定時刻T1から到着予定時刻T2までの期間で飛行空域を飛行した場合の平均速度V1を加える。なお、飛行制御情報生成部204は、この平均速度V1が制限速度を超えるセルが制限速度情報により示されている場合は、そのセルにおける速度は制限速度に変更する(図11の例では制限速度を超えるセルが飛行空域に含まれていないものとする)。
また、飛行制御情報生成部204は、水平飛行が行われる座標P101から座標P104までの飛行空域の空間幅として、本実施例で定められているセルの一辺の長さL1を加える。図11に表す「L1、L1、L1」という3つの空間幅は、x軸方向、y軸方向、z軸方向の3方向の幅を意味している。なお、離陸時と着陸時には飛行方向、飛行速度、空間幅は不要なのでブランクになっている。
また、飛行制御情報生成部204は、各目標地点座標への到着目標時刻として、出発予定時刻T1及び到着予定時刻T2と、飛行許可期間の開始時刻及び終了時刻とを用いた時刻を加えている。飛行制御情報生成部204は、例えば座標P101への到着目標時刻として、座標P101を含むセルC01_01から始まる分割空域R11の飛行許可期間である期間K11の開始時刻T111よりも所定の時間だけ後の時刻T111´以降の時刻と定めている。
開始時刻T111よりも前にセルC01_01に入ると飛行許可期間である期間K11になる前の侵入になるので、時刻T111´は、セルC01_01に進入してから座標P101に到達するまでに要する時間よりも長い時間だけ開始時刻T111から経過した時刻を表すものとする。この時刻T111´以降に到着するということは、飛行許可期間である期間K11になってから分割空域R11に進入したことになる。
また、飛行制御情報生成部204は、分割空域R11及びR12の境目である座標P102への到着目標時刻として、座標P102を含むセルC20_01から始まる分割空域R12の飛行許可期間の開始時刻T121よりも所定の時間だけ後の時刻T121´から、セルC20_01で終わる分割空域R11の飛行許可期間の終了時刻T112よりも所定の時間だけ前の時刻T112´までの間の時刻を定めている。
時刻T111´と同様に、時刻T121´以降に座標P102に到着するということは、飛行許可期間である期間K12になってから分割空域R12に進入したことになる。また、時刻T112´は、座標P102からセルC20_01を抜け出すまでに要する時間よりも長い時間だけ終了時刻T112から経過した時刻を表すものとする。この時刻T112´以前に座標P102に到着するということは、飛行を続ければ飛行許可期間である期間K11が終了する前に分割空域R11を抜け出せることになる。分割空域R12及びR13の境目である座標P103への到着目標時刻も同じ方法で定められている。
また、飛行制御情報生成部204は、座標P104への到着目標時刻として、座標P104を含むセルC50_20で終わる分割空域R13の飛行許可期間である期間K13の終了時刻T132よりも所定の時間だけ前の時刻T132´以前の時刻を定めている。この時刻T132´以前に座標P104に到着するということは、飛行を続ければ飛行許可期間である期間K13が終了する前に分割空域R13を抜け出せることになるからである。飛行制御情報生成部204は、こうして生成した飛行制御情報を飛行制御情報送信部205に供給する。
飛行制御情報送信部205は、供給された飛行制御情報を、対象となるドローン30に送信する。ドローン30の飛行制御情報取得部301は、送信されてきた飛行制御情報を取得して、取得した飛行制御情報を飛行制御部303に供給する。飛行部302は、自機(自ドローン)を飛行させる機能である。本実施例では、飛行部302は、飛行装置35が備えるローター及び駆動手段等によって自機を飛行させる。
飛行制御部303は、飛行部302を制御し、本実施例では、飛行計画に従って自機を飛行させる飛行制御処理を行う。飛行制御部303は、飛行制御情報取得部301から供給された飛行制御情報に基づいて飛行制御を行うことで、飛行計画に従って自機を飛行させる。位置測定部304は、自機の位置を測定し、測定した位置を示す位置情報(例えば緯度・経度の情報)を飛行制御部303に供給する。
高度測定部305は、自機の高度を測定し、測定した高度を示す高度情報(例えば高度をcm単位で示す情報)を飛行制御部303に供給する。方向測定部306は、自機の正面が向いている方向を測定し、測定した方向を示す方向情報(例えば真北を0度とした場合に各方向を360度までの角度で示す情報)を飛行制御部303に供給する。
飛行制御部303は、前述した飛行制御情報に加え、繰り返し供給されてくる位置情報、高度情報及び方向情報に基づいて自機の飛行を制御する。飛行制御部303は、例えば測定される高度が飛行制御情報の示す飛行高度を維持するように自機の高度を制御する(高度制御)。また、飛行制御部303は、測定される位置の変化、すなわち速度が飛行制御情報の示す飛行速度を維持するように自機の飛行速度を制御する(速度制御)。
また、飛行制御部303は、前の目標地点座標と次の目標地点座標とを結ぶ線上の座標を中心とした矩形(本実施例では正方形)の範囲に自機が収まるように飛行高度及び飛行方向を制御する(空域通過制御)。この矩形は、飛行空域の境界を表しており、飛行空域を進行方向に直交する面で区切った場合の断面であり且つ一辺の長さが飛行空域の空間幅になっている。
飛行制御部303は、測定された位置及び高度と、自機の寸法(縦の寸法、横の寸法)とに基づいて、自機がこの矩形の範囲に収まるように制御を行う。また、飛行制御部303は、目標地点座標が近づいてくると、到着目標時刻よりも早く到着しそうな場合は飛行速度を遅くし、到着目標時刻に間に合わなそうな場合は飛行速度を速くするよう飛行速度を制御する(到着制御)。
続いて、割当実績に基づく飛行空域の割り当てについて説明する。飛行空域割当部102は、複数の事業者からの割当要求(割当要求を意味する飛行予定情報)を受け取ると、各事業者について割当実績蓄積部104に蓄積された割当実績に応じた優先度が高い事業者から優先して飛行空域を割り当てる。ここでいう優先度とは、複数のドローン30について仮決めした飛行空域に重複する部分(重複空域)があり、且つ、その重複空域を共有させない場合に、その重複空域を正式に割り当てるドローン30を決定する際の優先順位を意味する。
飛行空域割当部102は、本実施例では、割当実績蓄積部104に蓄積された割当空域量(割当空域量)が少ない事業者ほど優先度を高くして飛行空域を割り当てる。例えば図10の例では、上述したとおりA事業者の割当空域量SumA1>C事業者の割当空域量SumA3>B事業者の割当空域量SumA2が蓄積されている。この場合、飛行空域割当部102は、例えばA事業者のドローン30a−1とC事業者のドローン30c−1の飛行空域が重複して共有もしない場合、割当空域量が少ない方のC事業者の優先度を高くしてドローン30c−1にその重複空域を正式に割り当てる。そして、飛行空域割当部102は、ドローン30a−1については割り当てる飛行空域を見直す。
また、飛行空域割当部102は、B事業者のドローン30b−1とC事業者のドローン30c−1の飛行空域が重複して共有もしない場合、割当空域量が少ない方のB事業者の優先度を高くしてドローン30b−1にその重複空域を正式に割り当てる。なお、飛行空域割当部102は、同じ事業者のドローン30同士の飛行空域が重複して共有もしない場合は、例えば上述した割当実績が蓄積されていない段階での優先度の判断方法(重複空域の飛行見込期間が早いほど優先度が高い)を用いる。
また、飛行空域割当部102は、3以上の事業者のドローン30で飛行空域が重複し且つ全てのドローン30で重複空域を共有するという判断をしない場合、本実施例では単に割当空域量が最も少ない事業者の優先度が最も高いと判断して、その事業者のドローン30に重複空域を正式に割り当てる。例えばA事業者のドローン30a−1、B事業者のドローン30b−1、C事業者のドローン30c−1の飛行空域が重複して共有もしない場合、飛行空域割当部102は、割当空域量が最も少ないB事業者の優先度を高くしてドローン30b−1にその重複空域を正式に割り当てる。
飛行空域割当部102は、優先度が最も高い事業者のドローンと重複空域で同じ方向に飛行するドローンについては、その重複空域を共有させると判断する。例えば前述の例においてドローン30b−1が重複空域においてドローン30c−1と同じ方向に飛行する場合、飛行空域割当部102は、ドローン30b−1にも重複空域を共有させると判断し、その重複空域を正式に割り当てる。なお、飛行空域割当部102は、全てのドローン30が重複空域において同じ方向に飛行する場合は、単に重複空域を全てのドローン30で共有すると判断するだけなので、優先度の判断自体を行わない。
ドローン運航管理システム1が備える各装置は、上記の構成に基づいて、ドローン30の飛行空域及び飛行許可期間を割り当てる割当処理を行う。
図12は割当処理における各装置の動作手順の一例を表す。この動作手順は、例えば、ドローン30の運用者が飛行予定を事業者端末20に入力することを契機に開始される。まず、事業者端末20(飛行予定生成部201)は、図5に表すような飛行予定情報を生成する(ステップS11)。
次に、事業者端末20(飛行予定送信部202)は、生成した飛行予定情報をサーバ装置10に送信する(ステップS12)。サーバ装置10(飛行予定取得部101)は、事業者端末20から送信されてきた飛行予定情報を取得する(ステップS13)。続いて、サーバ装置10(飛行空域割当部102)は、取得された飛行予定情報により飛行予定が示されているドローン30について割り当てる飛行空域を仮決めする(ステップS21)。
次に、サーバ装置10(飛行空域割当部102)は、ステップS21で2台以上のドローン30で重複空域が割り当てられた場合に、その重複空域を共有させるか否か(共有の可否)を判断する(ステップS22)。サーバ装置10(飛行空域割当部102)は、ステップS22で共有させない(NO)と判断した場合、自装置に蓄積されている割当実績に基づいて各事業者の優先度を判断する(ステップS23)。
サーバ装置10(飛行空域割当部102)は、ステップS22で共有する(YES)と判断した場合と、ステップS23で各事業者の優先度を判断したあとに、重複空域を含む飛行空域の正式な割り当てを確定する(ステップS24)。具体的には、サーバ装置10(飛行空域割当部102)は、共有の場合は空域が重複する全てのドローン30について割り当てを確定し、優先度を判断した場合は優先度が高い事業者のドローン30について割り当てを確定する。続いて、サーバ装置10は、全てのドローン30について割り当てが確定したか否かを判断し(ステップS25)、確定していない(NO)と判断した場合はステップS21に戻って動作を行う。
ステップS25で確定した(YES)と判断した場合、サーバ装置10(飛行空域割当部102)は、仮決めしていた飛行空域及び飛行許可期間を正式なものとして確定させた、図9に表すような割当情報を生成し(ステップS31)、生成した割当情報を事業者端末20に送信する(ステップS32)。事業者端末20(割当情報取得部203)は、送信されてきた割当情報を取得する(ステップS33)。次に、事業者端末20(飛行制御情報生成部204)は、取得した割当情報に基づいて、図11に表すような飛行制御情報を生成する(ステップS34)。
そして、事業者端末20(飛行制御情報送信部205)は、生成された飛行制御情報を、対象となるドローン30に送信する(ステップS35)。ドローン30(飛行制御情報取得部301)は、送信されてきた飛行制御情報を取得する(ステップS36)。ドローン30は、取得した飛行制御情報に基づいて上述した飛行制御処理を行う(ステップS40)。サーバ装置10(割当実績蓄積部104)は、ステップS25で確定された各事業者に対する飛行空域の割当実績を蓄積する(ステップS50)。ステップS50で蓄積された割当実績が、次にステップS23の優先度の判断が行われる際に用いられる。
本実施例では、上記のとおり事業者毎の飛行空域の割当実績として割当空域量を表す情報(割当セル数及び割当期間)が蓄積され、割り当てられた飛行空域が事業者間で重複した場合に、蓄積された割当空域量が少ない方の事業者の方が優先度が高いと判断され、その事業者に重複した飛行空域が正式に割り当てられる。これにより、例えば飛行可能空域に対して割当要求が多すぎて要求しても飛行空域が割り当てられないドローン30が生じる場合でも、蓄積された割当空域量が少ない事業者のドローン30には飛行空域が確実に割り当てられるようにすることができる。
また、仮に蓄積された割当空域量が多い方の事業者に重複空域が割り当てられたとすると、飛行空域の割り当てがその事業者に偏ることになる。本実施例では上記のとおり飛行空域を割り当てることで、割当空域量が多い方の事業者に重複空域を割り当てる場合又は割当空域量を踏まえずに重複空域を割り当てるドローン30を決定する場合に比べて、そのような飛行空域の割り当ての一部の事業者への偏りを抑制することができる。
[2]変形例
上述した実施例は本発明の実施の一例に過ぎず、以下のように変形させてもよい。
[2−1]飛行空域
飛行空域割当部102は、実施例では、立方体のセルを用いて飛行空域を割り当てたが、これとは異なる方法で飛行空域を割り当ててもよい。飛行空域割当部102は、例えば、立方体ではなく直方体のセルを用いてもよいし、円柱の形をしたセルの軸を進行方向に沿うように並べて飛行空域としてもよい。また、飛行空域割当部102は、セルではなく、飛行空域の境界となる点、線、面を空間座標上の数式及び範囲で表すことで飛行空域を割り当ててもよい。
また、飛行空域割当部102は、実施例では図6に表すように一定の高さのセルだけを含む飛行空域を割り当てたが、高さの異なるセルを含む飛行空域(鉛直方向の移動を含む飛行空域)を割り当ててもよい。また、飛行空域割当部102は、実施例では東西南北を進行方向とする飛行空域を割り当てたが、その他の方向(北北東、西南西など)を進行方向とする飛行空域を割り当ててもよいし、斜めに上昇又は下降する飛行空域を割り当ててもよい。要するに、飛行空域割当部102は、ドローン30が飛行可能な空域であればどのような空域を飛行空域として割り当ててもよい。
[2−2]割当要求を考慮
飛行空域割当部102は、飛行空域の割り当ての優先度を判断する際に、割当実績だけでなく、割当要求も考慮してよい。本変形例では、飛行空域割当部102が、事業者端末20から受け取った割当要求(飛行予定情報)が表す割当空域量を割当実績蓄積部104に蓄積された割当空域量に加えて優先度を判断する。
飛行空域割当部102は、各事業者から受け取った割当要求に基づいて割り当てる飛行空域を仮決めし、仮決めした飛行空域の割当セルの大きさを表す値に割当期間を乗じて得られる値を事業者毎に合計したものを、各事業者の事業者端末20から送信されてきた飛行予定情報、すなわち割当要求により要求される飛行空域の空域量(以下「要求空域量」という)として算出する。飛行空域割当部102は、例えばA事業者、B事業者、C事業者の要求空域量ReqA1、ReqB1及びReqC1を算出する。
飛行空域割当部102は、こうして算出した要求空域量を蓄積されている割当空域量に加えた値を事業者毎に比較して(つまりSumA1+ReqA1、SumB1+ReqB1、SumC1+ReqC1を比較して)実施例と同様に優先度を判断し、割り当てる飛行領域を確定させる。本変形例では、上記のとおり割当要求が表す要求空域量を踏まえて優先度が判断されるので、例えば他の事業者に比べて割当実績(割当空域量)が少ない事業者が急に膨大な量の飛行空域の割り当てを要求してきたとしても、優先度が最も高くなり全て要求したとおりに飛行空域が割り当てられるとは限らない。
要求した飛行空域が割り当てられた結果、要求空域量及び割当空域量の合計が他の事業者よりも大きくなると、優先度がその事業者よりも低くなるので、飛行空域が割り当てられないことになる。このように、本変形例によれば、要求空域量を踏まえずに優先度を判断する場合に比べて、割当実績(割当空域量)が少ないからと言って膨大な量の飛行空域の割り当てを要求する事業者があった場合にその事業者に飛行空域の割り当てが偏ることを抑制することができる。
[2−3]飛行空域の同時利用台数
飛行空域割当部102は、割当空域量及び要求空域量以外の要素も踏まえて優先度を判断してもよい。例えば、飛行空域割当部102は、各事業者について割り当てられた飛行空域が他のドローン30とどの程度共有されたかという点を踏まえて優先度を判断してもよい。本変形例では、割当実績蓄積部104が、各事業者の割当実績として、飛行空域を同時に利用するドローン30の台数(同時利用台数)を、割り当てが確定した飛行空域について蓄積する。
図13は本変形例の割当実績の一例を表す。図13の例では、割当実績蓄積部104が、図10に表す割当実績に加えて、割り当てが確定した飛行空域の各セルにおける同時利用台数を蓄積している。例えば事業者Aの割当セルC50_20、C49_20の同時利用台数としてnum11、num12が蓄積されている。なお、図13の例では、num11及びnum12のように異なる符号が同じ台数を表していてもよい。この同時利用台数は、該当するセルが重複セルであり且つ共有された場合においてそのセルを共有したドローン30の台数を表している。
重複セルに複数のセルが含まれている場合には、必ずしも1つのセルの中を同時に複数のドローン30が飛行するとは限らない。例えば2台のドローン30がセル1つ分の間隔を開けて同じ方向に飛行すると、同じセルの中を同時に飛行することはない。しかし、重複セルの全体を見るとそれら2台のドローン30によって同時に利用されていることになる。従って、割当実績蓄積部104は、その場合は重複セルに含まれる各セルの同時利用台数として「2台」という台数を蓄積する。
飛行空域割当部102は、優先度を判断する際に用いる飛行空域の空域量にその飛行空域における同時利用台数に応じた重みを付与して優先度を判断する。飛行空域割当部102は、例えば事業者Aについて実施例ではVol1×wt11+Vol1×wt12+・・・=割当空域量SumA1を算出したが、本変形例では、各セルの値を同時利用台数で除してVol1×wt11÷num11+Vol1×wt12÷num12+・・・=割当空域量SumA1を算出する。
この算出方法を用いると同時利用台数が多いセルを割り当てられた事業者ほど割当空域量が小さくなり、優先度が高くなりやすくなる。反対に、同時利用台数が少ない、すなわち専有するセルを多く割り当てられた事業者ほど割当空域量が大きくなり、優先度が低くなりやすくなる。なお、上記の例では優先度を判断する際に用いる飛行空域の空域量として割当空域量だけを用いたが、上記変形例で述べた要求空域量を用いてもよい。
その場合、飛行空域割当部102は、割当要求に基づいて飛行空域の仮決めを行い、仮決めした飛行空域に基づいて要求空域量を算出する際に各セルの値を同時利用台数で除算して、同時利用台数による重み付けを行う。また、セル毎に重みを付与する代わりに、算出した割当空域量に同時利用台数に応じた重みをまとめて付与してもよい。この場合、例えば実施例と同じ方法で算出した割当空域量をセル毎の同時利用台数の平均値で除した値を割当空域量とすればよい(同時利用台数の平均値が大きいほど割当空域量が小さくなる)。
専有の飛行空域が割り当てられる方が共有の飛行空域が割り当てられる場合よりも衝突の危険が少なく優遇されているという印象を事業者に与えやすい。反対に専有の割り当てが少ないと他の事業者が優遇されているという印象を与えることになる。本変形例では、専有の割り当てが少ない事業者ほど優先度が高くなりやすいようにすることで、専有・共有の割当実績を踏まえずに優先度を判断する場合に比べて、事業者間の公平感を高めることができる。
[2−4]飛行空域の属性
飛行空域割当部102は、割当空域量以外の割当実績を踏まえて優先度を判断してもよい。飛行空域割当部102は、本変形例では、優先度を判断する際に用いる飛行空域の空域量にその飛行空域の属性に応じた重みを付与して優先度を判断する。この判断で用いられる属性は、例えば飛行空域における制限速度である。
例えば、飛行空域は、高速での飛行が認められた高速飛行空域と、低速で飛行しなければならない低速飛行空域に分けられる場合がある。このように制限速度が異なる飛行空域が混在している場合に、飛行空域割当部102は、割り当てられた飛行空域に設定された制限速度を踏まえて優先度を判断する。本変形例では、割当実績蓄積部104が、割り当てが確定した飛行空域の属性を割当実績として蓄積する。
図14は本変形例の割当実績の一例を表す。図14の例では、割当実績蓄積部104が、図10に表す割当実績に加えて、割り当てられた飛行空域の制限速度をその飛行空域の属性として各事業者に対応付けて蓄積している。例えば事業者Aの割当セルC50_20、C49_20の制限速度としてSlmt11、Slmt12が蓄積されている。なお、図14の例では、Slmt11及びSlmt12のように異なる符号が同じ制限速度を表していてもよい。
飛行空域割当部102は、優先度を判断する際に用いる飛行空域の空域量にその飛行空域における制限速度に応じた重みを付与して優先度を判断する。飛行空域割当部102は、例えば事業者Aについて実施例ではVol1×wt11+Vol1×wt12+・・・=割当空域量SumA1を算出したが、本変形例では、各セルの値に制限速度を乗じてVol1×wt11×Slmt11+Vol1×wt12×Slmt12+・・・=割当空域量SumA1を算出する。
この算出方法を用いると制限速度が低いセルを割り当てられた事業者ほど割当空域量が小さくなり、優先度が高くなりやすくなる。反対に、制限速度が高いセルを多く割り当てられた事業者ほど割当空域量が大きくなり、優先度が低くなりやすくなる。なお、上記の例では優先度を判断する際に用いる飛行空域の空域量として割当空域量だけを用いたが、上記変形例で述べた要求空域量を用いてもよい。その場合、飛行空域割当部102は、要求空域量も飛行空域の属性(例えば制限速度)に応じた重みを付与して算出する。
高速飛行空域が割り当てられる方が、低速飛行空域が割り当てられる場合よりもドローン30を早く目的地に到着させることができるので、優遇されているという印象を事業者に与えやすい。反対に高速飛行空域の割り当てが少ないと他の事業者が優遇されているという印象を与えることになる。本変形例では、高速飛行空域の割り当てが少ない事業者ほど優先度が高くなりやすいようにすることで、割り当てられた飛行空域の制限速度を踏まえずに優先度を判断する場合に比べて、事業者間の公平感を高めることができる。
なお、飛行空域の属性としては、制限速度以外にも、例えば共有可否の属性が用いられてもよい。その場合、共有可能属性のセルが多いほど割当空域量が小さくなるように重み付けがされればよい。また、共有可否の属性の他に共有可能台数(共有を許容するドローン30の台数)という属性が定められている場合に、その共有可能台数が用いられてもよい。その場合、各セルの共有可能台数が多いほど割当空域量が小さくなるように重み付けがされればよい。いずれの場合も、他の事業者が優遇されていると感じやすい事業者の優先度が高くなりやすいようにすることで、事業者間の公平感を高めることができる。
[2−5]割当要求が多い時間帯
飛行空域割当部102は、割当空域量以外の割当実績を踏まえて優先度を判断してもよい。事業者端末20が上述したように飛行予定情報を送信することで割当要求が行われるが、飛行予定情報には、出発予定時刻及び到着予定時刻が含まれている。割当要求には、これらの時刻によって、ドローン30を飛行させる時間帯が表されている。ここでいう時間帯とは、例えば正午を中心とした1時間毎の時間帯など、ドローン運航管理システム1を提供する提供事業者によって適宜定められた時間帯である。
同じ飛行空域であっても、ドローン30を飛行させる時間帯によって、割当要求が多い時間帯と少ない時間帯とがある。例えば通信状態が良好になりやすい早朝の時間帯には割当要求が多く、荷物が受け取られにくい昼食の時間帯には割当要求が少ないといった具合である。そこで、飛行空域割当部102は、割当要求が多い時間帯の飛行空域が割り当てられたのか、割当要求が少ない時間帯の飛行空域が割り当てられたのかという点を踏まえて優先度を判断してもよい。
本変形例では、割当実績蓄積部104が、割当実績として次の情報を蓄積する。割当実績蓄積部104は、飛行空域が割り当てられたドローン30と同じ時間帯にドローン30を飛行させるために行われた割当要求の量(以下「割当要求量」という)を、割り当てが確定した飛行空域について蓄積する。
図15は本変形例の割当実績の一例を表す。図15の例では、割当実績蓄積部104が、図10に表す割当実績に加えて、前述した割当要求量を各割当要求に対応付けて蓄積している。
割当実績蓄積部104は、例えば、全事業者の事業者端末20から送信されてきた飛行予定情報のうち、対象となる割当要求に対して割り当てられた飛行許可期間と重なる時間帯を表す飛行予定情報の数を、その割当要求と同じ時間帯の飛行空域を要求する割当要求の量として算出する。図15の例では、A事業者の「D001(3回目)」、B事業者の「D002(1回目)」、C事業者の「D003(2回目)」という各割当要求に対応付けてReq11、Req21、Req31という同時間帯の割当要求量が蓄積されている。
飛行空域割当部102は、優先度を判断する際に用いる事業者毎の飛行空域の空域量にその事業者の各割当要求で割り当てられた飛行空域についての割当要求量に応じた重みを付与して優先度を判断する。飛行空域割当部102は、例えば事業者Aについて実施例ではVol1×wt11+Vol1×wt12+・・・=割当空域量SumA1を算出したが、本変形例では、各割当要求における割当空域量に、その割当要求に対応付けて蓄積された割当要求量を乗じて、(Vol1×wt11+Vol1×wt12+・・)×Req11+・・・=割当空域量SumA1を算出する。
なお、優先度を判断する際に用いる飛行空域の空域量として割当空域量だけでなく要求空域量を用いてもよい。その場合、飛行空域割当部102は、割当要求に基づいて飛行空域を仮決めし、仮決めした飛行空域に基づいて要求空域量を算出する際に上記と同じように割当要求量による重み付けを行う。同時間帯の割当要求量が多い事業者ほど、割当要求が多い、すなわち人気の高い時間帯の飛行空域が割り当てられた事業者であることを表している。
一方、上記のとおり算出される割当空域量には、人気のある時間帯の飛行空域の割り当てが多い事業者ほど値が大きくなるという重み付けがされることになる。つまり、飛行空域割当部102は、人気のある時間帯の飛行空域の割り当てが多い事業者ほど優先度が高くなる重みを割当空域量に付与して各事業者の優先度を判断する。この重み付けを行うことで、人気のある時間帯の飛行空域の割り当てが多い事業者は、人気のある時間帯の飛行空域の割り当てが少ない事業者に比べて優先度が下がり易くなる。
人気のある時間帯の飛行空域の割り当てが多い方がその割り当てが少ない場合よりも優遇されているという印象を事業者に与えやすい。反対に人気のある時間帯の飛行空域の割り当てが少ないと他の事業者が優遇されているという印象を与えることになる。本変形例では、人気のある時間帯の飛行空域の割り当てが少ない事業者ほど優先度が高くなりやすいようにすることで、割り当てられた飛行空域の制限速度を踏まえずに優先度を判断する場合に比べて、事業者間の公平感を高めることができる。
[2−6]ドローンの性能の高さ
飛行空域割当部102は、割当空域量以外の割当実績を踏まえて優先度を判断してもよい。本変形例では、ドローン30の性能が高いほど、割り当てられた飛行空域を速く安全に飛行することができるので、そのような性能が高いドローン30を所持する事業者ほど優先度を高くする。
図16は本変形例のサーバ装置10d及び事業者端末20dが実現する機能構成を表す。サーバ装置10dは、図4に表す各部に加えて機能情報取得部106を備え、事業者端末20dは、図4に表す各部に加えて機能情報記憶部206を備える。本変形例では、飛行空域割当部102が、各事業者の優先度を判断するために、空域の割当対象のドローン30の機能を示す機能情報を機能情報取得部106に要求する。
機能情報取得部106は、飛行空域割当部102からドローン30の機能情報を要求されると、各事業者の事業者端末20dに、その事業者が所持するドローン30の機能を示す機能情報を要求する。事業者端末20dの機能情報記憶部206は、自端末を用いて運用管理されているドローン30の機能情報を記憶している。この機能情報は、例えばドローン30の運用管理者が作成して機能情報記憶部206に記憶させておく。
本変形例では、機能情報記憶部206は、事業者が所有する各ドローン30の最高速度及び最長航続距離を示す機能情報を記憶する。機能情報記憶部206は、サーバ装置10dからの要求を受け取ると、記憶している機能情報をサーバ装置10dに送信する。機能情報取得部106は、送信されてきた機能情報、すなわち各事業者が所持するドローン30の性能の高さを示す情報を取得して、飛行空域割当部102に供給する。機能情報取得部106は本発明の「取得部」の一例である。
飛行空域割当部102は、優先度を判断する際に用いる飛行空域の空域量に、機能情報取得部106により取得された機能情報が示す性能の高さに応じた重みを割当実績に付与して優先度を判断する。優先度を判断する際に用いる飛行空域の空域量とは、例えば割当実績蓄積部104に蓄積された割当空域量である。飛行空域割当部102は、例えば、各事業者が所持するドローン30の最高速度の平均値と最長航続距離の平均値とを算出し、事業者毎に順位付けをする(いずれも値が大きいほど順位が上になる)。飛行空域割当部102は、割当空域量を算出する際に用いる係数(実施例の場合K1、K2)を順位に応じて増減させる。
飛行空域割当部102は、例えば最高速度の平均値が1位なら係数を0.8倍、2位なら1.0倍、3位なら1.2倍し、さらに最長航続距離の平均値が1位なら係数を0.8倍、2位なら1.0倍、3位なら1.2倍する。この係数が大きいほど割当空域量が大きくなり、優先度が下がるので、取得された機能情報が示す性能が高い事業者ほど優先度が高くなる重みが付与されることになる。つまり、飛行空域割当部102は、取得された機能情報が示す性能が高いほど優先度が高くなる重みを割当空域量に付与して優先度を判断する。
なお、優先度の判断に用いる性能は、最高速度及び最長航続距離に限らず、例えば、最大積載重量(これも値が大きいほど順位が上になる)が用いられてもよい。また、障害物との衝突を回避する回避機能(物体検知センサを備えることで実現される機能)の有無、落下時の衝撃を和らげるパラシュート機能の有無及び防水機能の有無等が用いられてもよい。いずれも各機能を有するドローンの方がそれを有しないドローンよりも性能が高いので、各機能を有するドローンの割合が高い事業者ほど優先度が高くなる重みが付与される。
また、優先度を判断する際に用いる飛行空域の空域量として、要求空域量が用いられてもよい。その場合、飛行空域割当部102は、割当要求に基づいて飛行空域を仮決めし、仮決めした飛行空域に基づいて要求空域量を算出する際に上記と同じように取得された機能情報が示す性能の高さに応じた重み付けを行う。
ドローンの性能が高いほど、割り当てた飛行空域を速く又は安全に飛行するので、飛行計画どおりに飛行される可能性が高くなり、その結果、他の飛行計画に影響を与える可能性も少なくなる。本変形例では、所持するドローンの性能が高い事業者ほど優先度が高くなりやすいようにすることで、ドローンの性能を踏まえず優先度を判断する場合に比べて、割り当てた飛行空域を有効に利用させることができる。
[2−7]空域が空いていれば優先度なく割り当て
飛行可能空域は有限であるため、割当要求が多く飛行空域が過密になる状況(過密状況)では、予定した期間に飛行することができず、他の空いている期間に飛行しなければならない場合がある。一方、飛行空域が過密になるほど割当要求が多くない状況(非過密状況)では、仮決めの段階では飛行空域が重複することがあっても、飛行空域を変更すれば予定した期間での飛行ができる場合が多い。
過密状況では、優先度が低い事業者のドローン30は予定とは異なる期間に飛行することになるが、非過密状況では、優先度が低い事業者のドローン30であっても予定どおりの期間に飛行することができる。つまり、非過密状況では、優先度に関係なく予定どおりの期間に飛行できる飛行空域が割り当てられるから、過密状況に比べて、優先度を判断する必要性が少ないと言える。
そこで、本変形例では、飛行空域割当部102が、割当要求がなされたドローン30の台数が、割り当て可能な空域(飛行可能空域)の広さに応じて定められる台数以下である場合は、非過密状況であると判断し、事業者毎の優先度を用いずに割り当てを行う。この台数としては、例えば飛行可能空域を同じ期間に飛行させることを許容するドローン30の台数(飛行許容台数)が用いられる。この飛行許容台数は、例えば飛行可能空域のセル数に基づいてドローン運航管理システム1を提供する提供事業者が定める。
例えば図6に表す空域情報が表す空域において、99×99=9801個のセルのうち飛行可能空域のセル数が5000個であったとする。1台のドローン30に割り当てられる飛行空域のセル数が平均100個であれば、提供事業者は、5000÷100=50台を飛行許容台数として算出し、サーバ装置10に記憶させておく。なお、この算出方法は一例であり、これ以外に、飛行空域を共有する場合が多ければ飛行許容台数をもっと多くしてもよいし、ドローン30同士の接触事故が発生するようなら飛行許容台数をもっと少なくしてもよいし、それら以外の観点で飛行許容台数を増減させてもよい。
飛行空域割当部102は、各事業者端末20から送信されてきた飛行予定情報が示す飛行予定期間(出発予定時刻から到着予定時刻までの期間)が重複する台数を時刻毎(例えば10分間隔の時刻毎)にカウントする。飛行空域割当部102は、カウントした台数が飛行許容台数を超える時刻を特定し、その時刻を飛行予定期間に含まないドローン30については、飛行予定期間を通して非過密状況であると判断し、事業者毎の優先度を用いずに割り当てを行う。
また、飛行空域割当部102は、特定した時刻を飛行予定期間に含むドローン30については、飛行予定期間の少なくとも一部の期間では過密状況であると判断し、事業者毎の優先度を用いて割り当てを行う。なお、飛行空域割当部102は、さらに詳細に、仮決めした重複空域における飛行見込期間(重複空域を飛行することが見込まれる期間)に特定した時刻が含まれる場合に過密状況であると判断し、重複空域における飛行見込期間に特定した時刻が含まれない場合に非過密状況であると判断してもよい。
本変形例では、上述したように優先度を判断する必要性が少ない場合(非過密状況の場合)に優先度を用いずに割り当てを行うことで、常に優先度を用いる場合に比べて、優先度を判断するための処理を不要にして全てのドローン30の割り当てが確定するまでに要する時間を短くすることができる。
[2−8]共有の判断方法
飛行空域割当部102は、実施例とは異なる方法で重複空域の共有の有無を判断してもよい。飛行空域割当部102は、例えば、全てのドローン30又は一部(例えば半分)のドローン30が上述した障害物との衝突を回避する回避機能を有する場合に、回避機能を有しない場合に比べてドローン30同士の衝突が起こりにくいので重複空域を共有させると判断してもよい。
また、飛行空域割当部102は、これ以外にも、上述したパラシュート機能又は他のドローン30に自機の存在を示す信号を発信する機能等を有する場合に共有させると判断してもよい。要するに、飛行空域割当部102は、重複空域を共有させた場合に安全性の低下を抑制する何らかの機能を有している場合に、重複空域を共有させると判断すればよい。また、その機能も、飛行空域が重複する全てのドローン30が有していなくても、一部のドローン30が有している場合に共有させると判断してもよい。
[2−9]共有可能な台数の比較
飛行空域割当部102は、実施例の場合、例えば3台のドローン30について仮決めした飛行空域が重複し、2台については共有可能だが1台は共有できない場合には、優先度が最も高いドローン30に重複空域を割り当てる。ここで、仮に優先度が最も高いドローン30が共有可能な2台のうちのいずれかであれば、重複空域はその2台に対して割り当てられることになる。
しかし、優先度が高いドローン30が共有不可であった1台の方であれば、重複空域はその1台に対してしか割り当てられないことになる。また、5台のドローン30が重複空域を有し、そのうちの3台と2台がそれぞれ重複空域において同じ方向に飛行する(つまり共有可能)場合、優先度が最も高いドローン30が3台の方に含まれていればその3台に重複空域が割り当てられ、2台の方に含まれていればその2台に重複空域が割り当てられる。
このように優先度が最も高いドローン30に重複空域を割り当てたために重複空域を共有可能な台数が少なくなる場合、飛行空域割当部102は、重複空域を共有する台数が最も多くなる組合せのドローン30に重複空域を割り当ててもよい。もちろん、共有可能な台数が同じであれば、優先度が最も高いドローン30を含む方に重複空域を割り当てればよい。これにより、優先度のみに基づいて重複空域を割り当てる場合に比べて、重複空域を有効に利用することができる。
[2−10]割当実績
割当実績は、上述したものに限らない。例えば飛行空域の大きさを表す割当実績としてセルの体積が用いられたが、飛行空域の中央を飛行した場合の飛行距離が割当実績として用いられてもよい。また、重複空域が仮決めされた場合に優先度が低くて割り当てが見直された回数が割当実績として用いられてもよい。この場合、飛行空域割当部102は、見直された回数が多いほど優先度が高くなるように上述した重みを付与する。
また、飛行予定期間に対する割り当てられた飛行許可期間のずれの大きさが割当実績として用いられてもよい。この場合、飛行空域割当部102は、期間のずれが大きいほど優先度が高くなるように上述した重みを付与する。また、出発地から目的地までの飛行距離が最短となる飛行空域ではなく、それよりも飛行距離が長くなる飛行空域が割り当てられた場合に、最短距離に比べて長くなった分の飛行距離が割当実績として用いられてもよい。
この場合、飛行空域割当部102は、長くなった分の飛行距離が長いほど優先度が高くなるように上述した重みを付与する。いずれの場合も、他の事業者が優遇されているという印象を与える割り当てがされている事業者ほど優先度が高くなりやすいようにすることで、割当実績を踏まえずに優先度を判断する場合に比べて、事業者間の公平感を高めることができる。
[2−11]飛行体
実施例では、自律飛行を行う飛行体として回転翼機型の飛行体が用いられたが、これに限らない。例えば飛行機型の飛行体であってもよいし、ヘリコプター型の飛行体であってもよい。また、自律飛行の機能も必須ではなく、割り当てられた飛行空域を割り当てられた飛行許可期間に飛行することができるのであれば、例えば遠隔から操縦者によって操作されるラジオコントロール型(無線操縦型)の飛行体が用いられてもよい。
[2−12]各部を実現する装置
図4に表す各機能を実現する装置が図4とは異なっていてもよい。例えばサーバ装置10が備える機能を事業者端末20が備えていてもよい(例えば全国に散在する事業者端末20が各地域の空域情報を記憶する空域情報記憶部103を備える)。また、事業者端末20が備える機能をサーバ装置10が備えていてもよい(例えば事業者端末20は入力画面の表示と入力操作の受け付けだけを行い、サーバ装置10が飛行予定生成部201を備えて飛行予定を生成する)。また、サーバ装置10が備える各機能を2以上の装置がそれぞれ実現してもよい。要するに、ドローン運航管理システム全体としてこれらの機能が実現されていれば、ドローン運航管理システムが何台の装置を備えていてもよい。
[2−13]発明のカテゴリ
本発明は、サーバ装置及び事業者端末20という情報処理装置と、ドローン30という飛行体の他、それらの装置及び飛行体を備えるドローン運航管理システムのような情報処理システムとしても捉えられる。また、本発明は、各装置が実施する処理を実現するための情報処理方法としても捉えられるし、各装置を制御するコンピュータを機能させるためのプログラムとしても捉えられる。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されてもよいし、インターネット等のネットワークを介してコンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態で提供されてもよい。
[2−14]処理手順等
本明細書で説明した各実施例の処理手順、シーケンス、フローチャートなどは、矛盾がない限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
[2−15]入出力された情報等の扱い
入出力された情報等は特定の場所(例えばメモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
[2−16]ソフトウェア
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
[2−17]情報、信号
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組合せによって表されてもよい。
[2−18]システム、ネットワーク
本明細書で使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
[2−19]「に基づいて」の意味
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
[2−20]「及び」、「又は」
本明細書において、「A及びB」でも「A又はB」でも実施可能な構成については、一方の表現で記載された構成を、他方の表現で記載された構成として用いてもよい。例えば「A及びB」と記載されている場合、他の記載との不整合が生じず実施可能であれば、「A又はB」として用いてもよい。
[2−21]態様のバリエーション等
本明細書で説明した各実施例は単独で用いてもよいし、組合せて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。