図1は、実施形態の移動体運用システム1000の概要を説明する説明図である。以下の説明では、移動体の一例としてドローンが用いられる。
移動体運用システム1000は、中央制御装置100、ポート200-1、200-2、200-3、200-4、200-5、200-n(nは2以上の整数)、およびドローン300-1、300-2、300-3、300-4、300-m(mは1以上の整数)を含む。以下、ポート200-1、200-2、200-3、200-4、200-nのそれぞれを特に区別しない場合には任意の1台をポート200と称する。ドローン300-1、300-2、300-3、300-4、300-mのそれぞれを特に区別しない場合には任意の1台をドローン300と称する。また、ポート200は、電力供給施設の一例である。
中央制御装置100は、移動体運用システム1000全体を制御する。ポート200は、ドローン300が離着陸可能な1つ以上の格納設備を備え、各格納設備においてドローン300への充電が可能である。すなわち、ポート200において、ドローン300は、電力を取得することができる。また、ポート200は、中央制御装置100と通信可能である。ポート200は、ドローン300と近距離無線通信可能である。ドローン300は、ポート200と通信可能であり、後述するセルラー搭載タイプのドローン300の場合には、中央制御装置100と通信可能である。
図1において、ポート200-5にはドローン300-4が着陸しており、ポート200-nにはドローン300-mが着陸しており、ポート200-3には2台のドローン300-2、300-3が着陸しており、ドローン300-1は移動している状態が示されている。
図2は、中央制御装置100の機能構成を表す機能ブロック図である。中央制御装置100は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、全体運用プログラムを実行することによって通信部110、全体予約情報記憶部141、スペック情報記憶部142、気象情報記憶部143、および制御部120を備える装置として機能する。なお、通信部110、全体予約情報記憶部141、スペック情報記憶部142、気象情報記憶部143、および制御部120の各機能の全てまたは一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。全体運用プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。全体運用プログラムは、電気通信回線を介して送信されてもよい。
通信部110は、ネットワークインタフェースである。通信部110は電話回線やインターネットを介して、ポート200またはドローン300と通信を行う。
全体予約情報記憶部141は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。全体予約情報記憶部141は、全体予約データベースを記憶する。図3は、全体予約データベースの具体例を示す図である。全体予約データベースは、ポート識別子、および予約例コード1から予約レコードN(Nは予約数)で構成される。予約数Nは、ポートごとによって異なる。したがって、例えば予約レコード10まであるポートや、予約レコード1のみのポートもある。
ポート識別子は、ポートの格納設備を一意に識別するための識別子である。ポート識別子は、4桁の数字で示される。4桁の数字の上位2桁は、ポート200を識別する値である。したがって、例えばポート識別子1001と1002が示す格納設備は、同じポート200に設けられた格納設備である。またポート識別子1001と2001が示す格納設備は、異なるポート200に設けられた格納設備である。4桁の数字の下位2桁は、同じポート200の格納設備を識別する値である。
予約レコードは、開始日時(YYYYMMDDHHMM)、終了日時(YYYYMMDDHHMM)、およびドローン識別子で構成される。開始日時はドローンの着陸予定日時を示す。終了日時は、着陸していたドローンの離陸予定日時を示す。ドローン識別子は、離着陸するドローンを一意に識別するための識別子である。
例えば、ポート識別子1001のポート200の場合、ドローン識別子Af88012のドローン300が、2020年8月1日の10時15分に着陸し、2020年8月1日の10時35分に離陸する予定であることが示されている。開始日時から終了日時までの間に、ドローン300に充電が行われる。
スペック情報記憶部142は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。スペック情報記憶部142は、スペックデータベースを記憶する。図4は、スペックデータベースの具体例を示す図である。スペックデータベースは、ドローン識別子、最高速度、移動可能距離、移動可能時間、および充電時間で構成される。ドローン識別子は、ドローン300を一意に識別するための識別子である。最高速度は、無風状態でのドローン識別子のドローン300の最高速度(km/h)を示す。なお、ドローン識別子Af88012のドローン300が実際に移動可能な最高速度は、速度A、ドローン300の移動方向、風速、および風向をもとに導出される。移動方向、風速、および風向は後述の気象データベースなどから取得される。
移動可能距離は、ドローン識別子のドローン300が最高速度で移動した場合に移動可能な距離(km)を示す。移動可能時間は、ドローン識別子のドローン300が最高速度で移動した場合に移動可能な時間(h)を示す。充電時間は、充電量0%から100%となるまでに要する時間(min)を示す。例えば、ドローン識別子Af88012のドローン300は、最高速度がv1(km/h)であり、移動可能距離はd1(km)であり、移動可能時間はt1(h)であり、充電時間はT1(min)である。
なお、移動可能距離は、満充電状態で実際に移動可能な距離よりも短い距離(例えば9割)としている。同様に、移動可能時間は、満充電状態で実際に移動可能な時間よりも短い時間(例えば9割)としている。これにより、何らかの障害が発生した場合でも、1割分の余裕があるため、より確実にポート200に着陸できる可能性を高めることができる。
気象情報記憶部143は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。気象情報記憶部143は、気象データベースを記憶する。図5は、気象データベースの具体例を示す図である。気象データベースは、区間識別子、移動方向、1時間ごとの天気および風速で構成される。
区間識別子は、あるポート同士を結ぶ区間を一意に識別するための識別子である。例えば、R1は、ポートAからポートBを結ぶ区間を識別するための識別子である。移動方向は、ポートAを始点とし、ポートBを終点とするベクトルと、緯線とのなす角を示している。よって、例えばポートAからポートBに向かう場合は、緯線となす角がθ1となる方向となり、ポートBからポートAに向かう場合は、緯線となす角がθ1+π(またはθ1-π)となる方向となる。
天気と風速は、0時から1時、1時から2時、23時から0時というように1時間ごとに記録される。天気は、晴、曇り、雨、雪のいずれかが記録される。雨や雪の場合は、降水量(mm/h)もともに記録される。風速は、方向と風速(m/s)とが記録される。
なお、気象情報を気象データベースとして予め記録しておかずに、例えば気象センサを用いて随時気象情報を取得してもよいし、気象データベースと気象センサの両方を用いてもよい。
図2における制御部120は中央制御装置100の各部の動作を制御する。制御部120は、例えばCPU等のプロセッサ、およびRAMを備えた装置により実行される。制御部120は、全体運用プログラムを実行することによって、マップ作成部121、コスト導出部122、ルート決定部123、予約部124、およびタイミング決定部125として機能する。
マップ作成部121は、作成部の一例であり、ドローン300が電力を取得することなく移動可能なポート200を線で結んだトポロジマップを作成する。具体的に、マップ作成部121は、ドローンの移動可能距離をもとに、ドローン300が移動可能なポート間を結んだトポロジマップを作成する。コスト導出部122は、導出部の一例であり、トポロジマップにおいて隣接するポート200間をドローンが移動した場合に要するコストを導出する。コストが大きいほど、移動が困難(不可能も含む)である。ルート決定部123は、決定部の一例であり、ドローン300が目的地に到達するまでにドローン300が電力を取得するポート200を経由して目的地に到達するまでの経路(以下、「ルート」とも表現する)を決定する。また、ルート決定部123は、ルートとして、ドローン300が目的地に移動するまでに要するコストが最小となるルートを決定する。
予約部124は、ルート決定部123により決定されたルート上のポート200に対し、離着陸の予約を行う。タイミング決定部125は、予約レコードに示される開始日時や終了日時を決定する。このように、ポート200に対して、離発着の予約を行っておくことで、着陸しようとするたびにポート200を予約する場合と比較して、確実に離発着するポート200を確保できる。
上記マップ作成部121のマップ作成例について説明する。図6A、図6Bはトポロジマップ例を示す図である。図6A、図6Bにおいて、A~Hはポート200を示す。図6Aは、ドローン300の移動可能距離がd1の場合のマップ例を示す。図6Bは、ドローン300の移動可能距離がd2(>d1)の場合のマップ例を示す。上述したように、マップ作成部121は、ドローン300が移動可能なポート間を結んだトポロジマップを作成する。例えば、図6AではポートBE間は接続されていないが、図6Bでは接続されている。このように、移動可能距離に応じて、マップ作成部121が作成するマップは異なるものとなる。
上記コスト導出部122のコスト導出例について説明する。コスト導出部122は、トポロジマップで示されるポート間での実際の最高速度Xを、ドローン300の最高速度、移動方向、風速、風向から導出する。最高速度Xが0より大きい場合には、ポート間の距離を用いて、最高速度Xでの移動時間を導出し、これをコストとする。一方、最高速度Xが0以下の場合、降水量が10mmを超える天気の場合、または移動時間が移動可能時間を超える場合、当該ポート間は移動不可能とする。移動不可能とされたポート間はルート対象外となるため、トポロジマップは更新される。
ルート決定部123は、トポロジマップにおいて、移動時間をコストとし、ドローン300が目的地に移動するまでに要するコストが最小となるルートを決定する。なお、移動時間をコストとし、公知のアルゴリズム(例えばダイクストラ法)を用いてルートを決定してもよい。ルート決定部123は、経由するポート200と、ポート200ごとに上述した開始日時、終了日時を決定する。このとき開始日時、終了日時は、余裕をもって決定される。具体的に、コストである移動時間が例えば10分となっている場合、1割増しの11分を移動時間とする。よって、例えば12:00に離陸し、次に着陸するポート200の開始日時を12:11とする。これにより、多少遅れが発生しても混乱を抑制することができる。
図7は、コストが導出されたトポロジマップ例を示す図である。ポート間に示される数字はコストを示す。図7の場合、ポートAからポートEへのルートとして、ルート決定部123は、ポートA、B、C、D、Eの順にポートを経由するルートとすることに決定する。なお、ルート決定部123は、例えばルートが存在しない場合には、ルートなしとする。例えば、図7において、ポートCD間、およびポートFD間が接続されていない場合には、ポートAからポートEへのルートは存在しない。
図8は、ポート200の機能構成を表す機能ブロック図である。ポート200は、バスで接続されたCPUやメモリや補助記憶装置などを備え、ポート運用プログラムを実行することによって通信部210、個別予約情報記憶部241、および制御部220を備える装置として機能する。なお、通信部210、個別予約情報記憶部241、および制御部220の各機能の全てまたは一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。ポート運用プログラムは、上述したコンピュータ読み取り可能な記録媒体に記録されてもよい。ポート運用プログラムは、電気通信回線を介して送信されてもよい。
通信部110は、ネットワークインタフェースである。通信部110は電話回線やインターネットや近距離無線通信を介して、中央制御装置100またはドローン300と通信を行う。
個別予約情報記憶部241は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。個別予約情報記憶部241は、個別予約データベースを記憶する。図9は、個別予約データベースの具体例を示す図である。個別予約データベースは、ポート識別子、および予約例コード1から予約レコードM(Mは予約数)で構成される。予約数Mは、予約状況によって異なる。したがって、例えば予約レコード10まである場合や、予約レコード1のみの場合もある。予約レコードの数kがM未満の場合、予約レコードk+1から予約レコードMまでのデータ領域は、例えばNULLとするか、データ領域自体を設けなくてもよい。
開始日時(YYYYMMDDHHMM)、終了日時(YYYYMMDDHHMM)、およびドローン識別子で構成される。開始日時はドローンの着陸予定日時を示す。終了日時は、着陸していたドローンの離陸予定日時を示す。ドローン識別子は、離着陸するドローンを一意に識別するための識別子である。
例えば、ドローン識別子Af88012のドローン300が、2020年8月1日の10時15分に着陸し、2020年8月1日の10時35分に離陸する予定であることが示されている。開始日時から終了日時までの間に、ドローン300に充電が行われる。
図8における制御部220はポート200の各部の動作を制御する。制御部220は、例えばCPU等のプロセッサ、およびRAMを備えた装置により実行される。制御部220は、ポート運用プログラムを実行することによって、ポート管理部221、ドローン検出部222、電力供給部223、および離発着指示部224として機能する。
ポート管理部221は、ポート200に備わる1つ以上の格納設備の予約状況を管理したり、格納設備の状態(使用可能、使用不可能など)を管理する。ドローン検出部222は、ドローン300が格納設備に着陸したか、または離陸したかを検出する。電力供給部223は、着陸したドローン300に電力を供給する。離発着指示部224は、ドローン300に離着陸を指示する。
図10は、ドローン300の機能構成を表す機能ブロック図である。ドローン300は、バスで接続されたCPUやメモリや補助記憶装置などを備え、ドローン運用プログラムを実行することによって通信部310、ルート情報記憶部341、制御部320を備える装置として機能する。なお、通信部310、ルート情報記憶部341、および制御部320の各機能の全てまたは一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。ドローン運用プログラムは、上述したコンピュータ読み取り可能な記録媒体に記録されてもよい。ドローン運用プログラムは、電気通信回線を介して送信されてもよい。バッテリ360は、ドローン300の各部に電力を供給する。カメラ370は、全天球カメラであり、ドローン300の前後左右上下方向を撮影可能である。
通信部310は、ネットワークインタフェースである。通信部310は、GPS(Global Positioning System)通信部311、無線LAN(Local Area Network)通信部312、およびLTE(Long Term Evolution)通信部213で構成される。GPS通信部311は、GPS等の人工衛星から受信された電波を受信する。受信された電波により、ドローン300の位置が測定される。
無線LAN通信部312は、無線LANによりポート200との近距離通信を行う。LTE通信部313は、LTE回線により中央制御装置100との通信を行う。なお、LTE通信部313が存在しない構成であってもよい。この場合、ドローン300は、ポート200を介して中央制御装置100と通信を行う。以下の説明において、LTE通信部313を備えるドローンをセルラー搭載タイプと表現し、搭載していないドローンをセルラー非搭載タイプと表現する。
ルート情報記憶部341は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。ルート情報記憶部341は、ルート情報を示すルートデータベースを記憶する。ルート情報は、中央制御装置100などから通知される。図11は、ルートデータベースの具体例を示す図である。ルートデータベースは、移動する順番のポートについてのポート情報が記録される。図11の場合、ドローン300は、ポート1、ポート2…の順にポートを経由してポートLまで移動する。
ポート情報は、ポート識別子、開始日時(YYYYMMDDHHMM)、終了日時(YYYYMMDDHHMM)、および位置で構成される。ポート識別子は、ポートの格納設備を一意に識別するための識別子である。開始日時はドローンの着陸予定日時を示す。終了日時は、着陸していたドローンの離陸予定日時を示す。位置は、緯度と経度のペアを示す。図11の場合、ドローン300は、まず緯度lat1、経度lon1にあるポート200に向けて移動し、2020年8月1日の10時15分に着陸し、2020年8月1日の10時35分に離陸する予定である。その後、緯度lat2、経度lon2にあるポート200に向けて移動するなどして、ポートLまで移動する予定である。
図10におけるロータ350は、制御部320の制御に応じて、ドローン300を空中自在に飛行させるための揚力を発生させる動力部である。ドローン300が備えるロータ350の数は、ドローン300に要求される飛行性能等に応じて、3基、4基、6基、8基等の複数であってよい。
ロータ350は、モータ351、およびブレード352を備える。モータ351は、例えばDCブラシレスモータである。モータ351の回転軸にはブレード352が取り付けられている。モータ351は、制御部320の制御に応じてブレード352を回転させる。ブレード352は回転することによりドローン300に揚力を発生させる。ロータ350の駆動によってドローン300を移動させる方法については公知であるため詳細な説明を省略する。
図10における制御部320はドローン300の各部の動作を制御する。制御部320は、例えばCPU等のプロセッサ、およびRAMを備えた装置により実行される。制御部320は、ドローン運用プログラムを実行することによって、移動制御部321、ルート管理部322、および電力管理部323として機能する。
移動制御部321は、ルートデータベースに従い、ドローン300の飛行制御など、移動に関する制御を行う。ルート管理部322は、ルートデータベースの記録や更新などの管理を行う。電力管理部323は、バッテリ360の充電や残量に関する管理を行う。
以上説明した構成を踏まえ、以下、移動体運用システム1000における処理例について説明する。図12は、中央制御装置100が実行する処理の流れの一例を示すフローチャートである。中央制御装置100は、ドローン300のドローン識別子と、移動を開始するポートと目的地のポートが入力されると、図12に示されるフローチャートを実行する。マップ作成部121は、ドローン識別子からスペックデータベースを参照し、移動可能距離を取得して、トポロジマップを作成する(ステップS101)。
コスト導出部122は、トポロジマップで示されるポート間の移動時間をコストとして導出する(ステップS102)。なお、上述したように、移動不可能とされたルートが存在した場合には、トポロジマップを更新し、更新されたトポロジマップでのコストを導出する。ルート決定部123は、トポロジマップにおいて、移動時間をコストとしてコストが最小となるルートを決定する(ステップS103)。なお、ルートが存在しないこともある。
予約部124は、ルートが存在したか否かを判定する(ステップS104)。ルートが存在しなかった場合には(ステップS104:NO)、予約部124は、何もせずに処理を終了する。ルートが存在した場合には(ステップS104:YES)、予約部124は、ルート決定部123により決定されたルート上のポート200に対し、離着陸の予約を行う(ステップS105)。中央制御装置100は、ドローン300にルート情報を通知して(ステップS106)、処理を終了する。
上記処理により、例えばルートとしてポートA、B、C、D、Eの順にポートを経由するルートが決定されたとする。このとき、ドローン300は、図13に示されるように各ポートを経由する。図13は、ドローン300の移動態様を示す図である。図13において、横軸は時間を示す。
ポートAにおいて、ルートが決定されると、ポートBに向けてドローン300が移動する。ドローン300は、ポートBに着陸し、充電したのちに、ポートBを離陸して、ポートCに向けて移動する。ドローン300は、ポートCに着陸し、充電したのちに、ポートCを離陸して、ポートDに向けて移動する。ドローン300は、ポートDに着陸し、充電したのちに、ポートDを離陸して、ポートEに向けて移動する。このようにして、ドローン300は、ポートAからポートEまで移動する。
次に、中央制御装置100、ポート200、およびドローン300の処理についてシーケンス図を用いて説明する。図14は、ルートの決定からドローン300が最初に経由するポートに着陸するまでの処理を示すシーケンス図である。
中央制御装置100は、ルートを決定すると(ステップS201)、ルート上の各ポートに対し、予約要求を送信する(ステップS202)。図14では、説明を簡単するために最初にドローン300が経由するポート200に対してのみ予約要求を送信しているが、ルート上の各ポートに対し、予約要求が送信される。予約要求には、図3で説明した開始日時、終了日時、およびドローン識別子が含まれる。
ポート200は、予約要求を受信すると、個別予約データベースを参照し、予約可能か否か判定する。図14では、予約可能であったとする。ポート200は、個別予約データベースを更新し(ステップS203)、予約を受け付けたことを示す予約応答(OK)を中央制御装置100に送信する(ステップS204)。予約を受け付けられない場合には、予約応答(NG)が送信される。上記ステップS203の個別予約データベースを更新では、予約要求に含まれた開始日時、終了日時、およびドローン識別子が個別予約データベースに追記される。
中央制御装置100は、予約応答(OK)を受信すると、全体予約データベースを更新する(ステップS205)。このステップS205の全体予約データベースを更新では、予約応答に対応する予約要求に含まれた開始日時、終了日時、およびドローン識別子が全体予約データベースに追記される。中央制御装置100は、ルート情報が含まれるルート通知をドローン300に送信する(ステップS206)。ドローン300は、ルート通知を受信すると、ルート情報をルートデータベースに記憶する(ステップS207)。
中央制御装置100は、ドローン300に離陸要求を送信する(ステップS208)。ドローン300の移動制御部321は、離陸することを示す離陸応答(OK)を中央制御装置100に送信する(ステップS209)。何らかの理由で離陸できない場合には、離陸応答(NG)が送信される。ドローン300は、最初の経由ポートに向けて離陸する(ステップS210)。
ドローン300は、着陸するポート200の近傍に移動したことを検出する(ステップS211)。ここでは、例えばルートデータベースに示されるポートの緯度経度と、GPSから取得した緯度経度との距離が例えば10メートル以内と判定された場合に、着陸するポート200の近傍に移動したことを検出する。
ドローン300は、着陸するポート200の近傍に移動したことを検出し、かつ開始日時が到来している場合に、ポート200への着陸を要求する着陸要求を送信する(ステップS212)。開始日時が到来していない場合には、待機して開始日時の到来を待ってもよいし、開始日時の到来を待たずに着陸要求を送信してもよい。
着陸要求を受信すると、ポート200のポート管理部221は、着陸可能か否か判定する。図14では、着陸可能であったとする。ポート200の離発着指示部224は、着陸を許可することを示す着陸応答(OK)をドローン300に送信する(ステップS213)。着陸を許可しない場合には、着陸応答(NG)が送信される。着陸応答(OK)を受信したドローン300は、ポート200においてポート識別子に示される格納施設に着陸する(ステップS214)。
図15は、ドローン300が着陸してから離陸するまでの処理を示すシーケンス図である。ドローン300がポート200に着陸すると(ステップS301)、ポート200のドローン検出部222は、ドローン300の着陸を検出する(ステップS302)。ポート200の電力供給部223は、ドローン300への充電を開始する(ステップS303)。
ドローン300の電力管理部323は、充電が完了すると(ステップS304)、充電が完了したことを示す充電完了通知をポート200に送信する(ステップS305)。ポート200の離発着指示部224は、充電完了通知を受信し、かつ終了日時が到来すると、ドローン300に離陸要求を送信する(ステップS307)。ドローン300の移動制御部321は、離陸することを示す離陸応答(OK)をポート200に送信する(ステップS308)。ドローン300は、離陸し(ステップS309)、ポート200のドローン検出部222は、ドローン300の離陸を検出する(ステップS310)。
ドローン300が次に着陸するポートにおいて、例えば他のドローン300の充電時間が長引き、着陸できない場合などがある。具体的に、図16を用いて説明する。図16は、ドローン300の移動態様を示す図である。図16において、横軸は時間を示す。
ポートAにおいて、ルートが決定されると、ポートBに向けてドローン300が移動する。ドローン300は、ポートBに着陸し、充電が完了するが、次に着陸するポートCが使用中である。そこで、ドローン300はポートBで一旦待機する。その後、ポートCが使用可能となったのちに、ポートBを離陸して、ポートCに向けて移動する。以下、ポートC、D、Eの順にドローン300が移動していく。
図17は、現在着陸しているポートから終了日時が到来したときに次に着陸するポートが使用中の場合の処理を示すシーケンス図である。ドローン300がポート200-1に着陸すると(ステップS401)、ポート200-1のドローン検出部222は、ドローン300の着陸を検出する(ステップS402)。ポート200-1の電力供給部223は、ドローン300への充電を開始する(ステップS403)。
ドローン300が次に着陸するポート200-2は、充電が長引き現在使用中とする。この場合、ポート200-2は、次に着陸するドローン300の着陸を一時的に停止する一時停止通知を中央制御装置100に送信する(ステップS404)。中央制御装置100は、一時停止通知を受信すると、ポート200-1にドローン300を待機させることを示す待機通知を送信する(ステップS405)。
ドローン300の電力管理部323は、充電が完了すると、充電完了通知をポート200に送信する(ステップS406)。ポート200の離発着指示部224は、充電完了通知を受信し、かつ終了日時が到来しているが、待機通知を受信しているため、離陸要求を送信しない。
ポート200-2は、新たなドローン300が着陸可能となると、着陸可能となったことを示す再開通知を中央制御装置100に送信する(ステップS407)。中央制御装置100は、再開通知を受信すると、全体予約データベースを更新する(ステップS408)。具体的には、ドローン300のルート情報におけるポート200-2のルートを白紙状態に更新し、再びルート決定処理を実行する(ステップS409)。この結果、図17では、ルートや開始日時や終了日時を変更することがないルートが存在したとする。上述したように、ルート決定部123は、ドローン300の移動が多少遅れた場合であっても、遅れを吸収可能なようにルートが決定される。図17の場合は、吸収可能な遅れであったとする。
中央制御装置100は、決定されたルートを示すルート情報を含み、待機を解除することを示す待機解除通知をポート200-1の送信する(ステップS410)。ポート200は、ルート情報が含まれるルート通知をドローン300に送信する(ステップS411)。ドローン300は、ルート通知を受信すると、ルート情報をルートデータベースに記憶する(ステップS412)。
ポート200は、ドローン300に離陸要求を送信する(ステップS413)。ドローン300の移動制御部321は、離陸することを示す離陸応答(OK)を中央制御装置100に送信する(ステップS414)。ドローン300は、離陸し(ステップS415)、ポート200のドローン検出部222は、ドローン300の離陸を検出する(ステップS416)。
次に、ドローン300が着陸予定のポート200がしばらく使用できない場合の処理について説明する。着陸予定のポート200がしばらく使用できなくなる例として、着陸予定の格納施設のみが故障した場合、ポート200全体の格納施設が故障した場合、急に他のドローン300が着陸し、格納施設に空きがなくなった場合などがある。このうちの着陸予定の格納施設が故障した場合において、同じポート200の他の格納施設が使用可能なときには、その格納施設に着陸させる。この場合は、ルートに影響を与えることなくドローン300を着陸させることができる。一方、他の格納施設も使用不可能な場合や、ポート200自体が故障によりしばらく使用できない場合は、ルートを再決定する必要がある。
図18は、ドローン300の移動態様を示す図である。図13において、横軸は時間を示す。ポートAにおいて、ルートが決定されると、ポートBに向けてドローン300が移動する。ドローン300は、ポートBに着陸し、充電が完了するが、次に着陸するポートCが使用不可である。そこで、中央制御装置100は、ルートを再決定し、ドローン300にルート情報を通知する。ドローン300はポートBを離陸して、新たなルートにおけるポートGに向けて移動する。以下、ポートF、D、Eの順にドローン300が移動していく。
図19は、次に着陸するポートが使用不可となった場合の処理を示すシーケンス図である。なお、図19は、セルラー非搭載タイプのドローン300の処理を示す。ドローン300は、着陸するポート200の近傍に移動したことを検出し(ステップS501)、かつ開始日時が到来している場合に、ポート200-1へ着陸要求を送信する(ステップS502)。ポート200-1は着陸応答(NG)をドローン300に送信する(ステップS503)。
ドローン300の電力管理部323は、バッテリの残量を取得し(ステップS504)、ポート200-1に残量を示す残量通知を送信する(ステップS505)。ポート200-1は、中央制御装置100に、残量を示す残量通知を送信する(ステップS506)。中央制御装置100は、残量通知に示される残量から、移動可能距離を算出する。例えば、残量が50%で、残量が100%の場合の移動可能距離が5kmの場合には、移動可能距離を2.5kmとする。なお残量通知には、ドローン300の現在位置の緯度と経度も含まれる。
中央制御装置100のマップ作成部121は、残量を反映した移動可能距離などからトポロジマップを作成し、コスト導出部122がコストを導出し、ルート決定部123がルートを決定する(ステップS507)。図19では新たなルートが存在したとする。中央制御装置100は、決定されたルート上の各ポートに対し、予約要求を送信する(ステップS508)。図19では、説明を簡単するために最初にドローン300が経由する1つのポート200-2に対してのみ予約要求を送信しているが、ルート上の各ポートに対し、予約要求が送信される。また、図19では省略しているが、ドローン300が当初着陸する予定であった各ポート200にキャンセルが通知される。
ポート200-2は、予約要求を受信すると、個別予約データベースを参照し、予約可能か否か判定する。図19では、予約可能であったとする。ポート200-2は、個別予約データベースを更新し(ステップS509)、予約応答(OK)を中央制御装置100に送信する(ステップS510)。
中央制御装置100は、予約応答(OK)を受信すると、全体予約データベースを更新する(ステップS511)。中央制御装置100は、ルート通知をポート200-1に送信する(ステップS512)。ポート200-1は、ルート通知をドローン300に送信する(ステップS513)。ドローン300は、ルート通知を受信すると、ルート情報をルートデータベースに記憶する(ステップS514)。ドローン300は、ルートデータベースに示される次のポート200に向けて移動する(ステップS515)。
次に、セルラー搭載タイプのドローン300の処理について説明する。図20は、次に着陸するポートが使用不可となった場合の処理を示すシーケンス図である。
ドローン300は、着陸するポート200の近傍に移動したことを検出し(ステップS601)、かつ開始日時が到来している場合に、ポート200-1へ着陸要求を送信する(ステップS602)。ポート200-1は着陸応答(NG)をドローン300に送信する(ステップS603)。
ドローン300の電力管理部323は、バッテリの残量を取得し(ステップS604)、中央制御装置100に残量を示す残量通知を送信する(ステップS605)。中央制御装置100は、残量通知に示される残量から、移動可能距離を算出する。
中央制御装置100のマップ作成部121は、残量を反映した移動可能距離などからトポロジマップを作成し、コスト導出部122がコストを導出し、ルート決定部123がルートを決定する(ステップS606)。図20では新たなルートが存在したとする。中央制御装置100は、決定されたルート上の各ポートに対し、予約要求を送信する(ステップS607)。図20では、説明を簡単するために最初にドローン300が経由する1つのポート200-2に対してのみ予約要求を送信しているが、ルート上の各ポートに対し、予約要求が送信される。また、図20では省略しているが、ドローン300が当初着陸する予定であった各ポート200にキャンセルが通知される。
ポート200-2は、予約要求を受信すると、個別予約データベースを参照し、予約可能か否か判定する。図20では、予約可能であったとする。ポート200-2は、個別予約データベースを更新し(ステップS608)、予約応答(OK)を中央制御装置100に送信する(ステップS609)。
中央制御装置100は、予約応答(OK)を受信すると、全体予約データベースを更新する(ステップS610)。中央制御装置100は、ルート通知をドローン300に送信する(ステップS611)。ドローン300は、ルート通知を受信すると、ルート情報をルートデータベースに記憶する(ステップS612)。ドローン300は、ルートデータベースに示される次のポート200に向けて移動する(ステップS613)。
図19、図20に示される処理では、ポート200-1から着陸応答(NG)が送信されているが、ポート200-1が通信不能な場合もある。このような場合には、ドローン300は、着陸応答待ちがタイムアウトとなった場合に、ステップS504またはステップS604に進むようにしてもよい。
次に、格納施設に空きがなくなった場合において、他のドローン300を強制的に離陸させ、格納施設に空きを作り、そこに着陸させる処理(「追い出し処理」とも表現する)について説明する。図21は、追い出し処理を示すシーケンス図である。
ドローン300は、着陸するポート200の近傍に移動したことを検出し(ステップS701)、かつ開始日時が到来している場合に、ポート200-1へ着陸要求を送信する(ステップS702)。ポート200-1は、空きがないことから、着陸中のドローン300のうちの1つのドローン300-2を離陸させるために、当該ドローンの離陸の許可を要求する離陸許可要求を中央制御装置100に送信する(ステップS703)。なお、離陸させるドローン300として、例えば最も充電時間が長いドローン300や、バッテリの残量が最も多いドローン300が挙げられる。
離陸許可要求を受信すると、中央制御装置100のマップ作成部121は、ドローン300-2に対するトポロジマップを作成し、コスト導出部122がコストを導出し、ルート決定部123がルートを決定する(ステップS704)。図21では新たなルートが存在したとする。中央制御装置100は、決定されたルート上の各ポートに対し、予約要求を送信する(ステップS705)。図21では、説明を簡単するために最初にドローン300-2が経由する1つのポート200-2に対してのみ予約要求を送信しているが、ルート上の各ポートに対し、予約要求が送信される。また、図21では省略しているが、ドローン300-2が当初着陸する予定であった各ポート200にキャンセルが通知される。
ポート200-2は、予約要求を受信すると、個別予約データベースを参照し、予約可能か否か判定する。図21では、予約可能であったとする。ポート200-2は、個別予約データベースを更新し(ステップS706)、予約応答(OK)を中央制御装置100に送信する(ステップS707)。
中央制御装置100は、予約応答(OK)を受信すると、全体予約データベースを更新する(ステップS708)。中央制御装置100は、決定されたルートを示すルート情報を含み、離陸を許可することを示す離陸許可応答(OK)をポート200-1の送信する(ステップS709)。
ポート200-1は、ルート情報が含まれるルート通知をドローン300-2に送信する(ステップS710)。ドローン300-2は、ルート通知を受信すると、ルート情報をルートデータベースに記憶する(ステップS711)。また、ポート200-1は、ドローン300-1に着陸応答(待機)を送信する(ステップS712)。着陸応答(待機)とは、着陸応答(OK)を送信するまで待機することを指示する応答である。
ポート200-1の離発着指示部224は、ステップS709で送信されたルート情報に示される終了日時が到来すると、ドローン300-2に離陸要求を送信する(ステップS715)。ドローン300の移動制御部321は、離陸応答(OK)をポート200に送信する(ステップS716)。ドローン300-2は、離陸し(ステップS717)、ポート200-1のドローン検出部222は、ドローン300-2の離陸を検出する(ステップS718)。ドローン300-2の離陸が検出されると、ポート200-1の離発着指示部224は、着陸応答(OK)をドローン300-1に送信する(ステップS719)。これにより、ドローン300-1はポート200-1着陸することが可能となる。
次に、緊急着陸について説明する。ドローン300が目的地に安全に移動することが困難になり、また出発地にも引き返せない状況となり、緊急着陸する状況となったとき、着陸位置としてポート200がある。上述した実施形態では、着陸予定のポート200に着陸ができない場合であっても、他のポート200などに着陸できた形態について説明した。
しかし、いずれのポート200にも着陸できず、また目的地や出発地にも着陸できない場合がある。なお、ドローン300が安全に移動することが困難となる例として、ドローン300が他のドローンや障害物と衝突し障害が発生した場合、ドローン300自体に障害が発生した場合、バッテリ残量が少なくなった場合などが挙げられる。
図22は、緊急着陸時の基本的な処理の流れの一例を示すフローチャートである。ドローン300は、目的地まで移動するルート上において着陸可能な位置を取得する(ステップS801)。ここでは、中央制御装置100から着陸可能な位置を取得してもよいし、ドローン300自らが着陸可能な位置を取得してもよい。また、中央制御装置100から取得する場合の取得タイミングは、移動前でも移動後でもよい。
ドローン300は、GPS受信部311により受信された電波から現在位置を取得する(ステップS802)。ドローン300は、バッテリの残量から、移動可能距離を取得する(ステップS803)。ここでの移動可能距離は、中央制御装置100にバッテリの残量を通知することで取得してもよいし、ドローン300自らが判断して取得してもよい。なお、移動可能距離は、上述した天候情報も加味して算出してもよい。
ドローン300は、ステップS801で取得された着陸可能な位置のうち、現在位置に最も近い着陸可能な位置を取得する(ステップS804)。ドローン300は、現在位置に最も近い着陸可能な位置にドローン300が移動可能か否かを判定する(ステップS805)。すなわち、最も近い着陸可能な位置とドローン300との距離が、移動可能距離以下となるか否かを判定する。
ドローン300は、移動可能と判定した場合(ステップS805:YES)、最も近い着陸可能な位置に決定し(ステップS806)、本処理を終了する。この後、最も近い着陸可能な位置に向けて移動する。
ドローン300は、移動可能と判定しなかった場合(ステップS805:NO)、バッテリの残量が閾値以下となるまで最も近い着陸可能な位置に向けて移動して(ステップS807)、本処理を終了する。上記閾値は、ドローン300が緊急着陸したことを示す通信を一定期間にわたり行うことが可能な値である。
上記ステップS804とステップS805の処理は、中央制御装置100が行い、その判定結果をドローン300に通知してもよい。また、移動可能距離を取得せず、ステップS804で最も近い位置を取得し、当該位置に向けて移動してもよい。
次に、シーケンス図を用いて緊急着陸時の処理について説明する。図23は、ドローン300がポート200と通信可能な場合の処理を示すシーケンス図である。図23ではセルラー搭載タイプのドローン300の処理例を示している。なお、ドローン300がポート200と通信可能であることは、中央制御装置100の指示を、ポート200を介して受信可能であることから、ポート200と通信可能な場合は、必ずしもセルラー搭載タイプのドローン300でなくてもよい。
ドローン300は、障害の発生を検出する(ステップS901)。ドローン300は、まず無線LANによる通信を試みる。ドローン300は、着陸要求をブロードキャストで送信する(ステップS902)。ポート200は、着陸応答(NG)をドローン300に送信する(ステップS903)。ドローン300の電力管理部323は、バッテリの残量を取得し(ステップS904)、中央制御装置100に、残量通知を送信する(ステップS905)。なお、ブロードキャストで送信することから、1つのポート200から着陸応答(NG)を受信しても、他のポート200から着陸応答(OK)を受信する可能性もある。図23では、着陸応答(OK)は1つも受信できなかったものとする。
残量通知を受信した中央制御装置100は、他のルートを探したが他のルートがなかったとする(ステップS906)。中央制御装置100は、残量通知で受信したドローン300の現在位置と地図データを参照し、緊急着陸位置を探索する(ステップS907)。緊急着陸位置としては、人身事故や物損事故が発生しないような地点(人も車も存在しない空き地や、例えば移動体運用システム1000を行っている会社の敷地内など)を優先的に探索する。
中央制御装置100は、探索によって緊急着陸位置を取得すると、緊急着陸位置(緯度と経度)を示す緊急着陸通知をドローン300に送信する(ステップS909)。ドローン300は、受信した緊急着陸通知に示される緊急着陸位置に緊急着陸するように制御し、緊急着陸する(ステップS910)。ドローン300は、緊急着陸すると、実際の緊急着陸位置(緯度と経度)を示す緊急着陸完了通知を中央制御装置100に送信する(ステップS911)。
このようにすることで、より安全に緊急着陸を行うことができる。また、緊急着陸完了通知が送信されるため、どこに着陸したかを容易に知ることができる。
図24は、ドローン300がポート200および中央制御装置100と通信不可能な場合の処理を示すシーケンス図である。ドローン300は、障害の発生を検出する(ステップS1001)。ドローン300は、まず無線LANによる通信を試みる。ドローン300は、着陸要求をブロードキャストで送信する(ステップS1002)。しかし、ポート200には電波が届かず、着陸許可応答のタイムアウトとなる(ステップS1003)。なお、ブロードキャストで送信することから、1つのポート200から着陸応答(NG)を受信しても、他のポート200から着陸応答(OK)を受信する可能性もある。図24では、着陸応答(OK)は1つも受信できなかったものとする。
ドローン300の電力管理部323は、バッテリの残量を取得する(ステップS1004)。そして、ドローン300が地図データを有する場合には、現在位置と地図データを参照し、緊急着陸位置を探索する(ステップS1005)。地図データがない場合には、カメラ370での撮影画像をもとに、例えばVisual-SLAM(Simultaneous Localization and Mapping)などを用いて緊急着陸位置を探索する。このように、ドローン300の周囲を撮影した画像を用いて着陸可能な位置を取得してもよい。ドローン300は、探索により取得した緊急着陸位置に緊急着陸するように制御し、緊急着陸する(ステップS1007)。ドローン300は、緊急着陸すると、実際の緊急着陸位置(緯度と経度)を示す緊急着陸完了通知をポート200にブロードキャストで送信する(ステップS1002)。ここでは、緊急着陸完了通知がいずれかのポート200などに受信されるか、電力がなくなるまで緊急着陸完了通知を送信してもよい。
このようにすることで、緊急着陸する場合であっても、より適切な位置にドローン300を着陸させることができる。
上述した図23、図24で説明した処理は、緊急着陸を行うときに、緊急着陸位置を探索するが、予め緊急着陸位置を定めておいてもよい。図25は、予め緊急着陸位置を定めておく場合の中央制御装置100の機能構成を表す機能ブロック図である。図2に示した機能ブロック図と異なる点は、全体緊急情報記憶部144が追加された点である。
全体緊急情報記憶部144は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。全体緊急情報記憶部144は、全体緊急データベースを記憶する。図26は、全体緊急データベースの具体例を示す図である。全体緊急データベースは、ポート間ごとに、緊急着陸可能な位置(領域)を示すデータベースである。全体緊急データベースは、区間識別子、および緊急着陸位置情報1から緊急着陸位置情報m(mは緊急着陸位置の数)で構成される。
区間識別子は、あるポート同士を結ぶ区間を一意に識別するための識別子である。例えば、R1は、ポートAからポートBを結ぶ区間を識別するための識別子である。緊急着陸位置情報は、緊急着陸位置を、領域(円内)で示す情報である。円の中心は、緯度latと経度lonであり、半径はrである。図26では、例えば、区間識別子R1の区間では、緊急着陸位置情報1に示される領域(中心(lat11,lon11)、半径r11の円内)に緊急着陸可能であることが示されている。緊急着陸位置の数は、区間によって異なる。したがって、緊急着陸位置情報mは、区間ごとによって異なる。よって、例えば緊急着陸位置情報10まである区間や、緊急着陸位置情報1のみの区間もある。緊急着陸位置情報の数kがm未満の場合、緊急着陸位置情報k+1から緊急着陸位置情報mまでのデータ領域は、例えばNULLとするか、データ領域自体を設けなくてもよい。
図27は、予め緊急着陸位置を定めておく場合のドローン300の機能構成を表す機能ブロック図である。図10に示した機能ブロック図と異なる点は、個別緊急情報記憶部342が追加された点である。
個別緊急情報記憶部342は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。個別緊急情報記憶部342は、個別緊急データベースを記憶する。図28は、個別緊急データベースの具体例を示す図である。全体緊急データベースと異なる点は、ドローン300がこれから経由する区間における緊急着陸位置情報のみが記録されたデータベースである点である。よって、個別緊急データベースは、ドローン300が経由する区間に応じた区間識別子、および緊急着陸位置情報で構成される。緊急着陸位置情報のデータ内容は、全体緊急データベースにおける緊急着陸位置情報と同じである。
図29は、予め緊急着陸位置を定めておく場合の処理を示すシーケンス図である。図29では、中央制御装置100でルートが決定されてからの処理が示されている。ルートが決定されると、中央制御装置100は、ルート情報が含まれるルート通知をドローン300に送信する(ステップS1101)。ドローン300は、ルート通知を受信すると、ルート情報をルートデータベースに記憶する(ステップS1102)。
中央制御装置100は、ドローン300がこれから経由する区間における緊急着陸位置情報を全体緊急データベースから取得し、取得した緊急着陸位置情報を示す緊急着陸通知をドローン300に送信する(ステップS1103)。ドローン300は、緊急着陸通知を受信すると、緊急着陸情報を個別緊急データベースに記憶する(ステップS1104)。
中央制御装置100は、ドローン300に離陸要求を送信する(ステップS1105)。ドローン300の移動制御部321は、離陸することを示す離陸応答(OK)を中央制御装置100に送信する(ステップS1106)。ドローン300は、最初の経由ポートに向けて離陸する(ステップS1107)。
ドローン300は、障害の発生を検出する(ステップS1108)。ドローン300は、まず無線LANによる通信を試みる。ドローン300は、ポート200に着陸要求をブロードキャストで送信する(ステップS1109)。しかし、ポート200には電波が届かず、着陸許可応答のタイムアウトとなる(ステップS1110)。
ドローン300の電力管理部323は、バッテリの残量を取得する(ステップS1111)。そして、ドローン300は、個別緊急データベースに記憶された緊急着陸位置情報の示す位置のうち、最も近い緊急着陸位置を探索する(ステップS1112)。ドローン300は、緊急着陸位置を取得する(ステップS1113)。
ドローン300は、探索により取得した緊急着陸位置に緊急着陸するように制御し、緊急着陸する(ステップS1114)。ドローン300は、緊急着陸すると、実際の緊急着陸位置(緯度と経度)を示す緊急着陸完了通知をポート200にブロードキャストで送信する(ステップS1115)。ここでは、通信可能となるか、電力がなくなるまで緊急着陸完了通知を送信してもよい。なお、最も近い緊急着陸位置まで、移動できない場合には、上述したVisual-SLAMなどを用いて緊急着陸位置を探索し、探索した位置に緊急着陸してもよい。
図29では、ドローン300が中央制御装置100から緊急着陸位置情報を取得したが、これに限るものではない。例えば、PC(Personal Computer)やスマートフォンなどの情報機器と通信を行うことで、緊急着陸位置情報を取得してもよい。この場合、上述した実施形態のように、いくつかのポート300を経由して目的地まで移動する形態以外にも適用可能である。
具体的には、1回の充電で移動可能な範囲内で、ある構造物をドローン300で調査する場合に、例えばドローン300に障害が発生したとする。このとき、ドローン300に予め緊急着陸位置情報を記録させておくことで、ドローン300は自動的に緊急着陸位置に着陸することができる。
なお、図29に示した処理では、ドローン300が移動を開始する前のタイミングで緊急着陸位置情報を取得したが、ドローン300が緊急着陸する際のタイミングで緊急着陸位置情報を取得してもよい。この場合、ドローン300は障害の発生を検出すると、中央制御装置100に緊急着陸位置情報を要求する。中央制御装置100は、ドローン300に最も近い緊急着陸位置を示す緊急着陸位置情報を全体緊急情報記憶部144において探索し、ドローン300に通知する。この場合、最も近い緊急着陸位置を示す緊急着陸位置情報が通知されるので、図29のようにルート全体の緊急着陸位置情報を記録する場合と比較して、ドローン300における記憶領域のサイズは小さくすることができるので、記憶資源を有効に利用することができる。一方、緊急着陸する際のタイミングでは、中央制御装置100と通信可能とは限らないため、より確実に緊急着陸を成功させる場合には、予め緊急着陸位置情報を記録させておいた方がよい。
上述した実施形態において、ドローン300の補修を行うことが可能な補修拠点(補修機能を有するポート)を設けてもよい。この場合、障害が発生したドローン300は、補修拠点に自走可能であれば補修拠点に着陸する。これにより、ドローン300に発生した障害を取り除くことができるので、障害の発生による影響を極力抑えることができる。また、障害が発生したドローン300が1つ以上のポートと補修拠点に自走可能な場合、優先的に補修拠点に着陸してもよい。具体的には、障害が発生したドローン300が、確実またはほぼ確実に複数のポートと補修拠点に自走可能な場合、仮に補修拠点がいずれのポートよりも遠いときであっても、補修拠点に着陸してもよい。一方、バッテリの残量が複数のポートと補修拠点に自走可能な残量であっても、深刻な障害の場合には、最も近いポートに着陸してもよい。また、補修拠点は、一律に同じ補修機能を有してもよいし、異なる補修機能を有してもよい。異なる補修機能を有する場合、補修可能な障害で補修拠点を分類しておき、障害に応じて着陸する補修拠点を決定してもよい。
以上説明したように、本実施形態によれば、ドローン300をポート200を経由して移動させることができるので、ドローン300を調査対象の構造物に移動可能な位置に配備しなくてもよく、またドローン300を運搬する必要がないため、大幅にコストを削減できる。また、ドローン300を調査対象の構造物に移動可能な位置に配備する場合と比較して、ドローン300の稼働率を向上させることができるので、効率よくドローン300を運用できる。特にドローン300は、可視光センサを搭載するものや、サーモカメラを搭載するものなど、調査内容によって搭載される装備が異なるので、ドローン300をポート200を経由して移動させることが可能な本実施形態は特に有効である。
以上説明した実施形態において、コスト導出部122は、ドローン300の最高速度、移動方向、風速、風向から導出したが、これに限るものではない。例えば、高層ビルが多数存在すると、ドローン300の移動態様も複雑化し、またDID(Densely Inhabited District)もなるべく避けた方がよい。したがって、コスト導出部122は、建造物の高さや密度、DIDか否かなども用いてコストを導出してもよい。例えば、超高層ビルが林立する領域を通過するルートのコストを、低層ビルのみの領域を通過するルートのコストと比較して大きくしてもよい。このように、隣接するポート200間の距離、天候、および障害物を示す情報に基づきコストを導出してもよい。
また、あるルートを通過してドローン300から得られた情報もコストを導出する際に用いるようにしてもよい。上記情報として、ルート上に想定外の障害物があったことや、移動体運用システム1000が管理していないドローンが多く存在したり、気象データベースには存在しない天候情報や異なる天候情報が挙げられる。さらに、ドローン300自体のサイズ、重量、種類などもコストを導出する際に用いるようにしてもよい。例えば、サイズが大きい場合には、風の影響を受けやすいので、サイズが小さいドローン300と比較して、コストを大きくする。また、重量による規制や墜落時のリスクが大きさも変わることから重量が重い場合は重量が小さいドローン300と比較して、コストを大きくしてもよい。
また、降水量に閾値を設け、当該閾値以上の区間は移動不可能としてもよいし、閾値を設けずに、降水量に比例してコストを増大させてもよい。
上述した実施形態では、ドローン300が移動を開始する前に、ルート決定部123がルートを決定しているが、ポート200に着陸するたびに次のルートを決定してもよい。また、個別のドローン300ごとに最適になるようにルートを決定してもよいし、ドローン300全体で最適となるようにルートを決定してもよい。
また、ポート200に着陸した場合には、必ずしも充電しないようにしてもよい。例えば、次に着陸するポート200が都合により空きがない場合に、一時的に着陸するような場合は、次に着陸するポート200で充電可能であるため、充電しなくてもよい。このような一時的な着陸を可能とするために、ポート200の格納設備の一部を充電設備が設けられていない格納設備としてもよい。
本実施形態では、電力の取得方法として、充電を例に説明したが、これに限るものではない。例えば、バッテリが磁石によってドローン300に取り付けられているなど、自動的にバッテリを交換可能な機構を設けておき、着陸時にバッテリを交換してもよい。
上述した図4における移動可能距離および移動可能時間は、実際のそれよりも例えば9割としていることについて、例えば天候が荒れやすい地域などで運用する場合などは、例えば7割とするなど、運用する地域の特性等に応じて適宜変更してもよい。
ポート200は、格納施設に空きがある場合に予約を受け付けていたが、常時1つ以上の空きがある範囲で予約を受け付けるようにしてもよい。これにより、ドローン300の緊急着陸に直ちに対応することができるので、ポート200以外に着陸させる場合と比較してリスクを軽減できる。
ドローン300のサイズは機種などによって異なるので、格納施設もサイズに応じて設けるようにしてもよい。
移動体として、本実施形態ではドローンを例に説明したが、飛行して移動する移動体であれば本実施形態を適用できる。特に燃料を自らに蓄えて一度の飛行で目的地まで到達できない飛行体に有効である。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。