以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
<EVパレットについて>
本実施形態では、Electric Vehicle(EV)パレットと呼ばれる自走式の電動車両がネットワーク上のコンピュータシステムと連携して、ユーザに様々な機能あるいはサービスを提供する。本実施形態のEVパレット(以下、単にEVパレット)は、自動運転および無人運転可能な移動体であり、用途に応じて様々な寸法のものが存在する。例えば、スーツケース代わりに利用可能な小型のものから、人、物を搬送可能な大型のものまで、様々なEVパレットが利用可能である。
また、EVパレットは、EVパレットの制御、EVパレットを利用するユーザとのユーザインターフェースの提供、および、ネットワーク上の各種サーバとの情報授受等のための情報処理装置および通信装置を有している。EVパレットは、ネットワーク上の各種サーバと連携して、EVパレット単独で実行可能な処理に加えて、ネットワーク上の各種サーバによって付加される機能およびサービスをユーザに提供する。
<第1実施形態>
<システム概要>
図1は、第1実施形態に係るドローン管理システム1のシステム構成の一例を示す図である。ドローン管理システム1は、複数の車両100を管理する車両管理サーバ300、複数のドローンを管理するドローン管理サーバ400、ドローンを用いるサービスの管理を行うセンタサーバ500を含む。複数のドローン200のそれぞれは、例えば、無線通
信網を介してインターネットに接続し、インターネットを通じて、ドローン管理サーバ400と接続されている。また、複数の車両100のそれぞれは、例えば、無線通信網を介してインターネットに接続し、インターネットを通じて、車両管理サーバ300と接続されている。車両100、ドローン200は、それぞれ、例えば、3G、LTE(Long Term Evolution)、LTE−Advanced等の移動体通信、WiFi等の無線LANの
規格に従った無線通信を行う。
車両管理サーバ300、ドローン管理サーバ400、センタサーバ500は、例えば、LAN(Local Area Network)、VPN(Virtual Private Network)等によって接続さ
れている。なお、車両管理サーバ300、ドローン管理サーバ400、センタサーバ500は、例えば、公衆回線網で接続されてもよい。
車両100は、例えば、EVパレットである。EVパレットは、人あるいは物品を搬送する自動運転走行および無人運転走行可能な移動体である。EVパレットは、コンピュータ制御によるユーザインターフェースを有し、ユーザからの要求を受け付け、ユーザに反応し、ユーザからの要求に対して所定の処理を実行し、処理結果をユーザに報告する。例えば、EVパレットは、音声、画像、あるいは、コンピュータの入出力機器からユーザの指示を受け付け、処理を実行する。また、EVパレットは、ユーザの画像あるいは音声等からユーザを認識し、ユーザの移動に伴ってユーザに追従する。ただし、EVパレットは、ユーザからの要求のうち、EVパレット単独では処理できない要求については、ユーザからの要求を車両管理サーバ300に通知し、車両管理サーバ300と連携して処理を実行する。EVパレット単独では処理できない要求には、例えば、車両管理サーバ300上のデータベースからの情報の取得、学習マシンによる認識あるいは推論等を要求されるものが例示される。なお、車両100は、EVパレットに限定されず、例えば、人が運転を行う貨物用自動車であってもよい。
車両100は、車両管理サーバ300から運行指令を受けて、運行計画を作成し、運行計画に従って目的地まで自律走行を行う。また、車両100は、ドローンが離着陸可能な発着場を備えており、発着場に着陸しているドローンを所定の場所まで運搬可能である。また、車両100は、ドローンの発着場に給電設備を備えており、発着場に着陸したドローンは車両100の発着場に着陸している間充電を行うことができる。
ドローン200は、無人航空機である。ドローン200は、ドローン管理サーバ400から飛行指令を受けて飛行計画を作成し、飛行計画に従って目的地まで飛行する。ドローン200は、車両100に備えられる発着場を目的地にすることもできる。また、ドローン管理サーバ400からの飛行指令には、ドローン200の飛行開始位置の情報も含まれており、ドローン200は、飛行開始位置に到着すると飛行開始する。
車両100及びドローン200は、それぞれ、位置情報の取得手段を備えており、所定の周期で、位置情報を取得し、車両管理サーバ300又はドローン管理サーバ400に送信する。
車両管理サーバ300は、車両100の管理を行う。より具体的には、車両管理サーバ300は、例えば、車両100の位置情報、車両100に割り当てられているサービスに関する情報、搭載されているドローンの情報等を管理する。
ドローン管理サーバ400は、ドローン200の管理を行う。より具体的には、ドローン管理サーバ400は、例えば、ドローン200の位置情報、ドローン200が実施中のサービスに関する情報、ドローン200が着陸中の車両100の情報を管理する。
センタサーバ500は、ドローン200を用いるサービスの依頼を受けると、車両管理サーバ300及びドローン管理サーバ400から、車両100又はドローン200の位置情報を取得し、サービスを実施するドローン200と車両100とを決定する。サービスを実施するドローン、車両を、以下、それぞれ、配送ドローン、配送車両と称する。センタサーバ500は、配送車両の使用依頼とともに、サービスの目的地及び経由地等のサービスに係る情報を車両管理サーバ300に通知し、車両管理サーバ300は、配送車両に選択された車両100に対して運行指令を送信する。センタサーバ500は、配送ドローンの使用依頼とともに、サービスの目的地及び目的地等のサービスに係る情報をドローン管理サーバ400に通知し、ドローン管理サーバ400は、配送ドローンに選択されたドローン200に対して運行指令を送信する。
センタサーバ500が受け付けるドローン200を用いるサービスには、例えば、ドローンによる荷物の配送、ドローン200の貸し出し等がある。荷物の配送サービスでは、例えば、他のサービスを実行中であり集荷場所に向かっている車両100又は待機中の車両100が配送車両として選択され、車両100が集荷場所で荷物を積み、ドローン200が車両100に着陸していない場合には、ドローン200と車両100と合流させ、配送先に近づくとドローン200が車両100から離陸して荷物を目的地に運ぶ。
ドローンの貸し出しサービスでは、例えば、貸出先方面に向かう車両100が配送車両として選ばれ、ドローン200が車両100に着陸していない場合には、貸出先までの間にドローン200と車両100とを合流させ、貸出先に近づくとドローン200が車両100から離陸して貸出先に到着する。なお、第1実施形態において、車両100とドローン200との合流とは、車両100の発着場にドローン200が着陸することを示す。
いずれのサービスにおいても、サービス終了後、センタサーバ500は、ドローン200の戻り先として、例えば、最も近くに位置する車両100、又は、他のサービス目的地に向かう車両100を選択し、ドローン管理サーバ400を通じて、配送ドローン200に選択された車両100に移動するよう指示する。
図2は、車両100のハードウェア構成の一例を示す図である。図2は、車両100としてEVパレットが採用される場合の図である。図2に示される例は、車両100の下側から見た平面図の一例である。図3は、EVパレットに搭載される制御系10および制御系10に関係する各部のハードウェア構成の一例を示す図である。図2、図3において、車両100をEVパレット100として説明される。
EVパレット100は、箱形のボディ1Zと、ボディ1Z下部の両側方で進行方向に対して前後に設けられた4つの車輪TR1からTR4とを有する。4つの車輪TR1からTR4は、図示しない駆動軸に連結され、図2に例示する駆動用モータ1Cによって駆動される。また、4つの車輪TR1からTR4の走行時の進行方向(4つの車輪TR1からTR4の回転面に平行は方向)は、図2に例示する操舵用モータ1Bによって、ボディ1Zに対して相対的に変位し、進行方向が制御される。
図2のように、EVパレット100のボディ1Zの外壁には、ディスプレイ16−1から16−5が固定されている。ディスプレイ16−1から16−5は、例えば、液晶ディスプレイ、エレクトロルミネッセンスパネル等である。ディスプレイ16−1から16−5を個々に区別しないで総称する場合には、ディスプレイ16と呼ぶ。
いま、図2では、EVパレット100は、矢印AR1の方向に進行していると仮定する。したがって、図2の左方向が進行方向であると仮定する。そこで、図2では、ボディ1Zの進行方向側の側面をEVパレット100の前面と呼び、進行方向と逆方向の側面をE
Vパレット100の後面と呼ぶ。また、ボディ1Zの進行方向に対して右側の側面を右側面と呼び、左側の側面を左側面と呼ぶ。
図2のように、EVパレット100は、前面で両側の角部に近い位置に障害物センサ18−1、18−2を有し、後面で両側の角部に近い位置に障害物センサ18−3、18−4を有する。また、EVパレット100は、前面、左側面、後面、および右側面にそれぞれ、カメラ17−1、17−2、17−3、17−4を有している。障害物センサ18−1等を個々に区別しないで総称する場合には、本実施形態では、障害物センサ18と呼ぶことにする。また、カメラ17−1、17−2、17−3、17−4を個々に区別しないで総称する場合には、本実施形態では、カメラ17と呼ぶことにする。
また、EVパレット100は、操舵用モータ1Bと、駆動用モータ1Cと、操舵用モータ1Bおよび駆動用モータ1Cに電力を供給する二次電池1Dを有する。また、EVパレット100は、車輪の回転角を刻々検出する車輪エンコーダ19と、車輪の走行方向である操舵角を検出する操舵角エンコーダ1Aを有する。さらに、EVパレット100は、制御系10と、LTE通信部15と、GPS受信部1Eと、マイクロフォン1Fと、スピーカ1Gを有する。なお、図示していないが、二次電池1Dは、制御系10等にも電力を供給する。ただし、操舵用モータ1Bおよび駆動用モータ1Cに電力を供給する二次電池1Dとは別に、制御系10等に電力を供給する電源を設けてもよい。
また、EVパレット100は、ドローン200に給電を行う給電部1Jが備えられている。ドローン200への給電方法は、例えば、給電部1Jとドローン200とのそれぞれ端子を接触させ、接触された端子を通じて電流を流して給電を行う方法であってもよいし、給電部1Jはコイルを有し当該コイルに電力を流すことで磁界を発生させ、ドローン200に備えられるコイルで当該磁界を受け、電力を得るワイヤレス給電であってもよい。
制御系10は、Engine Control Unit(ECU)とも呼ばれる。図3のように、制御系
10は、CPU 11と、メモリ12と、画像処理部13とインタフェースIF1を有する。インタフェースIF1には、外部記憶装置14、LTE通信部15、ディスプレイ16、タッチパネル付ディスプレイ16A、カメラ17、障害物センサ18、車輪エンコーダ19、操舵角エンコーダ1A、操舵用モータ1B、駆動用モータ1C、GPS受信部1E、マイクロフォン1F、スピーカ1G、BLE通信部1H、給電部1J等が接続される。
障害物センサ18は、超音波センサ、レーダ等である。障害物センサ18は、検出対象方向に超音波、電磁波等を発し、反射波を基に検出対象方向での障害物の存在、位置、相対速度等を検出する。
カメラ17は、Charged-Coupled Devices(CCD)、Metal-Oxide-Semiconductor(MOS)あるいはComplementary Metal-Oxide-Semiconductor(CMOS)等のイメージセ
ンサによる撮影装置である。カメラ17は、フレーム周期と呼ばれる所定時間間隔で画像を取得し、制御系10内の図示しないフレームバッファに格納する。フレーム周期でフレームバッファに格納される画像をフレームデータと呼ぶ。
操舵用モータ1Bは、制御系10からの指示信号にしたがって、車輪の回転面と水平面とが交差する交差線の方向、つまり車輪の回転による進行方向となる角度を制御する。駆動用モータ1Cは、制御系10からの指示信号にしたがって、例えば、車輪TR1からTR4を駆動し、回転させる。ただし、ただし、駆動用モータ1Cは、車輪TR1からTR4のうち、一対の車輪TR1、TR2または他の一対の車輪TR3、TR4を駆動してもよい。二次電池1Dは、操舵用モータ1B、駆動用モータ1C、および制御系10に接続
される部品に電力を供給する。
操舵角エンコーダ1Aは、車輪の回転に進行方向となる車輪の回転面と水平面とが交差する交差線の方向(または車輪の回転軸の水平面内での角度)を所定の検出時間間隔で検出し、制御系10の図示しないレジスタに格納する。例えば、図2で進行方向(矢印AR1方向)に対して、車輪の回転軸が直交する方向を角度の原点が設定される。また、車輪エンコーダ19は、車輪の回転速度を所定の検出時間間隔で取得し、制御系10の図示しないレジスタに格納する。
LTE通信部15は、例えば、携帯電話基地局および携帯電話基地局に接続される公衆通信回線網を通じて、ネットワーク上の各種サーバ等と通信するための通信部である。LTE通信部15は、LTEの規定に従った無線信号及び無線通信方式で無線通信を行う。BLE(Bluetooth Low Energy)通信部1Hは、例えば、車両100自身の存在をドローン200に通知するためのBLE信号を所定の周期で送信する通信部である。BLE信号には、例えば、車両100の識別情報が含まれている。
Global Positioning System(GPS)受信部1Eは、地球の周囲を周回する複数の人
工衛星(Global Positioning Satellite)から時刻信号の電波を受信し、制御系10の図示しないレジスタに格納する。マイクロフォン1Fは、音声を検出して、ディジタル信号に変換し、制御系10の図示しないレジスタに格納する。スピーカ1Gは、制御系10または図示しない信号処理部に接続されるD/A変換器および増幅器により駆動され、音および音声を含む音響を再生する。
制御系10のCPU 11は、メモリ12に実行可能に展開されたコンピュータプログラムを実行し、制御系10としての処理を実行する。メモリ12は、CPU 11が実行するコンピュータプログラム、CPU 11が処理するデータ等を格納する。メモリ12は、例えば、Dynamic Random Access Memory(DRAM)、Static Random Access Memory(SRAM)、Read Only Memory(ROM)等である。画像処理部13は、CPU 1
1と連携し、カメラ17から所定のフレーム周期ごとに得られるフレームバッファのデータを処理する。画像処理部13は、例えば、GPUとフレームバッファとなる画像メモリを有する。外部記憶装置34は、不揮発性の記憶装置であり、例えば、Solid State Drive(SSD)、ハードディスクドライブ等である。
例えば、図3のように、制御系10は、インタフェースIF1を介して、EVパレット100の各部のセンサから検出信号を取得する。また、制御系10は、GPS受信部1Eからの検出信号により、地球上の位置である緯度と経度を計算する。さらに、制御系10は、外部記憶装置14に格納される地図情報データベースから地図データを取得し、計算した緯度と経度を地図データの上の位置とを照合し、現在地を決定する。また、制御系10は、地図データ上で現在地から目的地に至る経路を取得する。また、制御系10は、障害物センサ18、カメラ17等からの信号に基づき、EVパレット100の周囲の障害物を検知し、障害物を回避するように、進行方向を決定し、操舵角を制御する。
さらに、制御系10は、画像処理部13と連携し、カメラ17から取得される画像をフレームデータごとに処理し、例えば、画像の差分に基づく変化を検知し、障害物を認識する。また、制御系10は、カメラ17からの画像の各フレームデータでユーザを認識し、ユーザとの距離を所定値に維持し、ユーザの移動に追従する。また、制御系10は、カメラ17からの画像のフレームデータ中で、ユーザのジェスチャを認識し、認識されたジェスチャから得られるユーザの意思に応答する。また、制御系10は、マイクロフォン1Fから得られる音声信号を解析し、音声認識から得られたユーザの意思に応答する。なお、制御系10は、カメラ17からの画像のフレームデータおよびマイクロフォン1Fから得
られる音声データをLTE通信部15からネットワーク上の車両管理サーバ300に送信してもよい。そして、画像のフレームデータおよび音声データの解析を車両管理サーバ300に分担させてもよい。
さらにまた、制御系10は、ディスプレイ16に画像、文字その他の情報を表示する。また、制御系10は、タッチパネル付ディスプレイ16Aへの操作を検出し、ユーザからの指示を受け付ける。また、制御系10は、タッチパネル付ディスプレイ16A、カメラ17、マイクロフォン1Fを介したユーザからの指示に対して、ディスプレイ16、タッチパネル付ディスプレイ16A、またはスピーカ1Gから応答する。
図3では、インタフェースIF1が例示されているが、制御系10と制御対象との間の信号の授受がインタフェースIF1に限定される訳ではない。すなわち、制御系10は、インタフェースIF1以外の複数の信号授受経路を有してもよい。また、図3では、制御系10は、単一のCPU 11を有している。ただし、CPUは、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のCPUがマルチコア構成を有していても良い。上記各部の少なくとも一部の処理は、CPU以外のプロセッサ、例えば、Digital Signal Processor(DSP)、Graphics Processing Unit(GPU)等の専用プロセッサで行われても良い。また、上記各部の少なくとも一部の処理は、集積回路(IC)、その他のディジタル回路であっても良い。また、上記各部の少なくとも一部にアナログ回路が含まれても良い。
図4は、センタサーバ500のハードウェア構成を例示する図である。センタサーバ500は、CPU 51、メモリ52、インタフェースIF5、外部記憶装置54、および通信部55を有する。CPU 51、メモリ52、インタフェースIF5、および外部記憶装置54の構成および作用は、図3のCPU 11、メモリ12、インタフェースIF1、外部記憶装置14と同様である。通信部55は、例えば、LANを通じて公衆通信回線網に接続し、公衆通信回線網を通じて、ネットワーク上の各種サーバ等と通信する。
車両管理サーバ300及びドローン管理サーバ400も、センタサーバ500と同様に、CPU、メモリ、インタフェース、外部記憶装置、通信部を備え、その構成及び作用はセンタサーバ500のCPU 51、メモリ52、インタフェースIF5、外部記憶装置54、および通信部55と同様である。そのため、車両管理サーバ300とドローン管理サーバ400とのハードウェア構成の図示は省略される。
図5は、ドローン200のハードウェア構成の一例を示す図である。ドローン200は、CPU 21、メモリ22、インタフェースIF2、外部記憶装置23、LTE通信部24、アンテナ25、BLE通信部26、アンテナ27、フライトコントローラ28、モータ29、プロペラ2A、GPS受信部2B、二次電池2C、受電部2Dを備える。
CPU 21、メモリ22、インタフェースIF2、外部記憶装置23の構成および作用は、図3のCPU 11、メモリ12、インタフェースIF1、外部記憶装置14と同様である。
LTE通信部24は、携帯電話基地局および携帯電話基地局に接続される公衆通信回線網を通じて、ネットワーク上の各種サーバ、とりわけ、ドローン管理サーバ400等と通信するための通信部である。アンテナ25は、LTE通信部24に接続しており、LTEの無線信号を受信及び送信する。なお、ドローン200が備える公衆通信回線網に接続するための無線通信手段はLTEに限定されない。
BLE通信部26は、BLE信号を受信し、車両100の存在を認識するための通信部
である。例えば、車両100が発信するBLE信号には車両100の識別情報が含まれている。また、例えば、BLE信号の受信強度に基づいて、車両100の移動速度、車両100との距離等を取得することが可能であるので、ドローン200が車両100へ着陸する場合には、車両100から発信されるBLE信号を頼りに着陸が行われる。また、車両100が発信するBLE信号には、車両100の位置情報が含まれていてもよい。アンテナ27はBLE信号を受信するためのアンテナである。
フライトコントローラ28は、モータ29の駆動及び停止を制御したり、複数のプロペラ2Aそれぞれを制御して進行方向を制御したりして、例えば、CPU 21から入力される飛行計画に従った飛行を制御する。飛行計画には、例えば、飛行開始位置、目的地、目的地までの飛行経路、所定の地点で実施される処理等の情報が含まれている。目的地は、例えば、緯度、経度、高度の組合せ、又は、住所及び高度の組合せで示される。また、車両100の発着場が目的地である場合には、例えば、目的地は車両100の識別情報で示される。また、フライトコントローラ28は、例えば、飛行計画に従った飛行の制御の一つとして、車両100から発信されるBLE信号に基づいて、車両100の発着場への着陸の制御も行う。モータ29及びプロペラ2Aは、複数備えられる。ただし、図5では、便宜上、1つのみ図示されている。
GPS受信部2Bは、地球の周囲を周回する複数の人工衛星から時刻信号の電波を受信し、図示しないレジスタに格納する。CPU 21は、所定の周期で、GPS受信部2Bからの検出信号に基づいて、例えば、位置情報として、地球上の位置である緯度、経度、及び高度を計算し、取得した位置情報を、LTE通信部24を通じて、ドローン管理サーバ400に送信する。
二次電池2Cは、例えば、CPU 21、外部記憶装置23、LTE通信部24、BLE通信部26、フライトコントローラ28、モータ29、GPS受信部2Bに電力を供給する。また、二次電池2Cは、受電部2Dを通じて入力される電力を充電する。
受電部2Dは、ドローン200が車両100の発着場に着陸した場合に、車両100から二次電池2Cに充電される電力を受信する受電部2Dである。例えば、車両100との間の充電方式が、接続方式である場合には、受電部2Dは、端子、コネクタ、プラグ等である。この場合、受電部2Dは、ドローンの本体に収納されており、ドローン200が車両100に着陸したことが検出された場合に、CPU 21による制御によって引き出されてもよい。例えば、車両100との間の充電方式が、非接触方式である場合には、受電部2Dは、コイルである。
なお、図5に示されるドローン200のハードウェア構成は、一例であって、ドローン200のハードウェア構成は図5に示されるものに限定されない。ドローン200は、自身の姿勢、位置、高度などを把握するために、ジャイロセンサ、加速度センサ、方位センサ、気圧センサ、音波センサ等をさらに備える。これらのセンサは、図5では図示が省略されている。
また、ドローン200のハードウェア構成は、例えば、ドローンの使用用途に応じて、追加、変更、削除が可能である。例えば、ドローン200が荷物の配送に用いられる場合には、ドローン200には、ドローン200に荷物を固定するための吸盤、磁力、ワイヤー等の固定手段が備えられる。
図6は、ドローン管理システム1の機能構成の一例を示す図である。センタサーバ500は、メモリ52上のコンピュータプログラムにより、図6に例示された各部として動作する。センタサーバ500は、機能構成要素として、依頼受付部501、サービス制御部
502、ドローン管理情報取得部503、車両管理情報取得部504、サービス状態管理部505、配送管理データベース(DB)506を備える。
依頼受付部501は、ドローンを用いるサービスの依頼を受け付ける。ドローンを用いるサービスの依頼は、例えば、配送業者の配送管理サーバ、個人ユーザのユーザ端末等から受信される。サービスの依頼とともに、サービスの目的地、経由地、等の情報も入力される。例えば、依頼されたサービスが配送サービスである場合には、依頼受付部501には、目的地として荷物の配送先、経由地として荷物の集荷場所の情報も入力される。例えば、依頼されたサービスがドローン200の貸し出しサービスである場合には、依頼受付部501には、目的地としてドローン200の貸し出し先の情報が入力される。ただし、貸し出しサービスである場合には、経由地の情報は入力されないことがある。依頼受付部501は、「受付部」の一例である。
サービス制御部502は、依頼受付部501によってサービスの依頼が受け付けられると、当該サービスを実行する配送車両と配送ドローンとを決定する。サービス制御部502は、その他に、配送車両による配送ドローンの運搬先であり、配送ドローンの飛行開始位置(離陸地点)であるドローン運搬先を決定する。サービス制御部502は、配送車両と配送ドローンとがドローン運搬先に移動し、ドローン運搬先において配送ドローンが目的地へと飛行を開始し、目的地においてドローンが所定の処理を行うように、車両管理サーバ300及びドローン管理サーバ400を制御する。サービス制御部502の処理の詳細は後述される。また、サービス制御部502は、サービスの目的地において所定の処理の実行を完了したドローン200の戻り先についての問合せを受けると、当該ドローン200の位置情報に基づいて、当該ドローン200の着陸先となる車両100を決定する。サービス制御部502は、「制御部」の一例である。配送車両は、「第1の車両」の一例である。配送ドローンは、「第1のドローン」の一例である。
ドローン管理情報取得部503は、例えば、サービス制御部502からの指示に応じて、ドローン管理サーバ400からドローン管理情報を取得する。ドローン管理情報には、例えば、ドローン200の位置情報とドローン200が着陸している車両100の情報とが含まれている。ドローン管理情報の詳細は後述される。ドローン管理情報取得部503は、「取得部」の一例である。
車両管理情報取得部504は、例えば、サービス制御部502からの指示に応じて、車両管理サーバ300から車両管理情報を取得する。車両管理情報には、例えば、車両100の位置情報と車両100に着陸しているドローン200の情報とが含まれている。車両管理情報の詳細は後述される。車両管理情報取得部504は、「取得部」の一例である。
サービス状態管理部505は、車両100及びドローン200によって行われるサービスの状態を管理する。例えば、配送車両から車両管理サーバ300を通じてサービス完了通知が受信され、且つ、配送ドローンからからドローン管理サーバ400を通じてサービス完了通知が受信されたサービスについて、サービス状態管理部505は、後述のサービス管理DB 506内のサービス状態を「サービス完了」に更新する。なお、サービスは、ドローン200を用いるサービスの他に、車両100のみを用いるサービスも存在し、センタサーバ500は車両100のみを用いるサービスの依頼も受け付けるが、第1実施形態では、車両100のみを用いるサービスに係る制御についての説明は省略される。
サービス管理DB 506は、例えば、センタサーバ500の外部記憶装置54内に作成される。サービス管理DB 506は、依頼受付部501によって依頼を受けた車両100又はドローン200を用いるサービスに係る情報を保持するサービス管理情報テーブルを格納している。サービス管理情報テーブルの詳細は後述される。
次に、ドローン管理サーバ400は、メモリ上のコンピュータプログラムにより、図6に例示された各部として動作する。ドローン管理サーバ400は、機能構成要素として、位置情報管理部401、飛行制御部402、ドローンサービス状態管理部403、ドローン管理DB 404を備える。
位置情報管理部401は、所定の周期でドローン200から送信されるドローン200の位置情報を受信し、後述のドローン管理DB 404に登録する。飛行制御部402は、例えば、センタサーバ500からドローン200の使用依頼と、サービスに関する情報とを受信する。サービスに関する情報には、当該サービスの目的地、経由地、ドローン運搬先、着陸する車両100等の情報が含まれている。
飛行制御部402は、センタサーバ500からのドローン200の使用依頼に対して応答を行ったり、サービスに関する情報に含まれる離陸地点(ドローン運搬先)、目的地、着陸する車両等にしたがって飛行指令を作成してドローン200に送信したり等の、ドローン200の飛行に関する制御を行う。飛行制御部402によって作成される飛行指令には、例えば、車両100への着陸指令、ドローン運搬先における離陸指令、目的地までの荷物の運搬指令等が実行順に含まれている。また、飛行制御部402は、ドローン200から着陸先の問合せを受信すると、センタサーバ500にドローン200からの着陸先の問合せを送信する。飛行制御部402の処理の詳細は後述される。
また、飛行制御部402は、センタサーバ500からドローン管理情報の問合せを受けると、ドローン管理DB 404に格納されているドローン管理情報テーブルを読み出し、センタサーバ500に送信して応答を行なう。
ドローンサービス状態管理部403は、ドローン200が実行するサービスの状態を管理する。例えば、ドローンサービス状態管理部403は、ドローン200からサービス終了通知を受けると、後述のドローン管理DB 404内の当該ドローン200のサービス状態を「サービス完了」に更新する。
ドローン管理DB 404は、例えば、ドローン管理サーバ400の外部記憶装置内に作成される。ドローン管理DB 404は、ドローン管理システム1内のドローン200に関する情報を格納するドローン管理情報テーブルを格納する。ドローン管理DB 404の詳細は後述される。
次に、ドローン200は、メモリ上のコンピュータプログラムにより、図6に例示された各部として動作する。ドローン200は、例えば、機能構成要素として、飛行計画制御部201、環境検出部202、飛行制御部203、位置情報取得部204、車両検出部205を備える。
飛行計画制御部201、位置情報取得部204、及び、車両検出部205は、例えば、CPU 21によって実現される機能構成である。位置情報取得部204は、例えば、GPS受信部2Bや図示されていないジャイロセンサ等から取得されるドローン200の位置情報を、所定の周期で取得し、ドローン管理サーバ400に送信する。ドローン200の位置情報は、例えば、緯度、経度、及び高度である。または、ドローン200の位置情報は、例えば、住所と高度であってもよい。また、位置情報取得部204によって取得されるドローン200の位置情報は、例えば、飛行計画制御部201、飛行制御部203にも出力される。
車両検出部205は、例えば、車両100から発信されるBLE信号を受信し、BLE
信号に含まれる情報から、着陸予定の車両100を検出したり、当該車両100との距離を検出したりする。車両検出部205によって検出された車両100の情報は、例えば、飛行計画制御部201に出力される。
飛行計画制御部201は、ドローン管理サーバ400からの飛行指令を受信し、自装置の飛行計画を生成する。当該飛行指令には、例えば、サービスに関する情報、車両100への着陸指令、ドローン運搬先(離陸地点)における離陸指令、目的地までの荷物の運搬指令等が実行順に含まれている。また、飛行指令に含まれるサービスに関する情報には、目的地、経由地、ドローン運搬先の情報や、例えば、荷物の配送サービスの場合には、配送荷物の識別情報や受取人の情報等も含まれている。
飛行計画制御部201は、例えば、飛行計画として、ドローン管理サーバ400から与えられた着陸先の車両100、ドローン運搬先(離陸地点)、目的地、及び経由地の位置情報、位置情報取得部204により得られた自装置の位置とに基づいて、ドローン200の飛行経路を算出し、飛行計画を生成する。飛行計画には、例えば、この他に、経路の一部または全部においてドローン200が行うべき処理を規定したデータが含まれる。経路の一部または全部においてドローン200が行うべき処理を規定したデータは、例えば、荷物を搭載する、目的地において荷物を分離する、等である。
飛行計画制御部201は、例えば、飛行計画に従って、着陸先の車両100をBLE信号の受信により検出したり、着陸先の車両100への着陸を飛行制御部203に指示したり、ドローン運搬先(離陸地点)や目的地に到着したことを検出したり、飛行制御部203へ離陸を指示したり、飛行制御部203へ荷物の分離を指示したりする。飛行計画制御部201は、飛行計画が終了したり、サービス依頼元のユーザからのサービス完了通知の入力を受けたりすることで、サービス完了を検出し、サービス終了通知をドローン管理サーバ400に送信する。
環境検出部202、飛行制御部203は、例えば、フライトコントローラ28によって実現される機能構成要素である。環境検出部202は、ドローン200が備える各種センサによって取得されたデータに基づいて、自律飛行に用いられるドローン200の周囲の環境情報を検出する。環境検出部202の検出の対象は、例えば、自装置の姿勢、位置、及び高度、自装置の周囲に存在する障害物(例えば、構造物、建造物、電柱及び電線、鳥等の飛行体など)の数や位置などの情報であるが、これらに限られない。自律的な飛行を行うために用いられるものであれば、検出の対象はどのようなものであってもよい。環境検出部202によって検出された、ドローン200の周囲環境に関するデータは、後述する飛行制御部203へ出力される。
飛行制御部203は、飛行計画制御部201からの指示にしたがって、例えば、環境検出部202によって生成されたドローン200の周囲環境に関するデータ、位置情報取得部204によって取得された自装置の位置情報に基づいて、自装置の自律的な飛行を制御するための制御指令を生成する。例えば、飛行制御部203は、飛行計画制御部201から離陸指令が入力されると、離陸を開始し、所定の飛行経路に沿って飛行し、かつ、自装置を中心とする所定の安全領域内に障害物が進入しないように自装置を飛行させるべく制御指令を生成する。生成された制御指令は、各モータ29へ送信される。各モータ29が、飛行制御部203からの制御指令に従って、回転を調整することで、ドローン200の進行方向が制御される。ドローン200を自律飛行させるための制御指令の生成方法については、公知の方法を採用することができる。
次に、車両管理サーバ300は、メモリ上のコンピュータプログラムにより、図6に例示された各部として動作する。車両管理サーバ300は、機能構成要素として、位置情報
管理部301、運行制御部302、車両サービス状態管理部303、車両管理DB 304を備える。
位置情報管理部301は、所定の周期で車両100から送信される車両100の位置情報を受信し、後述の車両管理DB 304に登録する。運行制御部302は、例えば、センタサーバ500から車両100の使用依頼、サービスに関する情報を受信する。サービスに関する情報には、目的地、経由地、ドローン運搬先等の情報が含まれている。
運行制御部302は、センタサーバ500からの車両100の使用依頼に対して応答を行ったり、サービスに関する情報にしたがって運行指令を作成してドローン200に送信したり等の、ドローン200の運行に関する制御を行う。運行制御部302によって作成される運行指令には、例えば、経由地における荷物の積載命令、ドローン運搬先までのドローン運搬指令等が実行順に含まれている。運行制御部302の処理の詳細は後述される。
また、運行制御部302は、センタサーバ500から車両管理情報の問合せを受けると、車両管理DB 304に格納されている車両管理情報テーブルを読み出し、センタサーバ500に送信して応答を行なう。
車両サービス状態管理部303は、車両100が実行するサービスの状態を管理する。例えば、車両サービス状態管理部303は、車両100からサービス終了通知を受けると、後述の車両管理DB 304内の当該車両100のサービス状態を「サービス完了」に更新する。
車両管理DB 304は、例えば、車両管理サーバ300の外部記憶装置内に作成される。車両管理DB 304は、ドローン管理システム1内の車両100に関する情報を格納する車両管理情報テーブルを格納する。車両管理情報テーブルの詳細は後述される。
次に、車両100は、メモリ上のコンピュータプログラムにより、図6に例示された各部として動作する。車両100は、例えば、機能構成要素として、運行計画制御部101、環境検出部102、走行制御部103、位置情報取得部104を備える。
位置情報取得部104は、例えば、GPS受信部1E等によって取得される車両100の位置情報を、所定の周期で取得し、車両管理サーバ300に送信する。車両100の位置情報は、例えば、緯度、経度である。または、車両100の位置情報は、例えば、住所であってもよい。また、位置情報取得部104によって取得される車両100の位置情報は、例えば、運行計画制御部101、走行制御部103にも出力される。
運行計画制御部101は、車両管理サーバ300からの運行指令を受信し、自車両の運行計画を生成する。当該運行指令には、例えば、ドローン運搬先、経由地等の位置情報、搭載予定の荷物に関する情報等が含まれる。したがって、運行計画制御部101は、車両管理サーバ300から与えられたドローン運搬先、経由地等の位置情報と、位置情報取得部104により得られた自車両の位置情報とに基づいて、車両100が進むべきルートを算出し、運行計画を生成する。運行計画には、このように算出された車両100が走行する経路に関するデータと、経路の一部または全部において車両100が行うべき処理を規定したデータとを含む。運行計画に含まれるデータの例として、例えば、以下の(1)、(2)のようなものが挙げられる。
(1)自車両が走行する経路を道路リンクの集合によって表したデータ
自車両が走行する経路は、例えば、記憶された地図データを参照し、与えられた出発地
、経由地、及び、目的地に基づいて自動的に生成されてもよい。なお、自車両が走行するルート算出は、車両100内ではなく、外部装置(例えば、車両管理サーバ300)の処理に頼ってもよい。この場合、車両管理サーバ300は、車両100からその自車両位置を取得し、当該車両100が進むべき経路を算出するとともに、その算出した経路データを、上記の運行指令に含む。
(2)経路上の地点において自車両が行うべき処理を表したデータ
自車両が行うべき処理には、例えば、「ユーザを乗降させる」、「荷物を搭載する」といったものがあるが、これらに限られない。運行計画制御部101が生成した運行計画は、後述する走行制御部103へ送信される。
環境検出部102は、車両100に搭載される各種センサによって取得されたデータに基づいて、自律走行に用いられる車両100の周囲の環境情報を検出する。環境検出部102の検出の対象は、例えば、車線の数や位置、自車両の周囲に存在する車両の数や位置、自車両の周囲に存在する障害物(例えば歩行者、自転車、構造物、建築物など)の数や位置、道路の構造、道路標識などの情報であるが、これらに限られない。自律的な走行を行うために用いられるものであれば、検出の対象はどのようなものであってもよい。例えば、センサがステレオカメラである場合には、それにより撮像された画像データを画像処理することで車両100の周囲の物体検出が行われる。また、環境検出部102は、単に車両100の周囲の物体を検出するだけではなく、検出した物体をトラッキングしてもよい。トラッキングとは、例えば、検出した対象物を継続して検出し続けることである。例えば、1ステップ前に検出した物体の座標と、現在の物体の座標との差分から、当該物体の相対速度を求めることができる。環境検出部102が検出した、車両100の周囲環境に関するデータは、後述する走行制御部103へ出力される。
走行制御部103は、例えば、運行計画制御部101が生成した運行計画と、環境検出部102が生成した車両100の周囲環境に関するデータ、位置情報取得部104が取得した自車両の位置情報に基づいて、自車両の自律的な走行を制御するための制御指令を生成する。例えば、走行制御部103は、運行計画制御部101から走行開始指令が入力されると、所定の経路に沿って走行し、かつ、自車両を中心とする所定の安全領域内に障害物が進入しないように自車両を走行させるべく制御指令を生成する。生成された制御指令は、駆動用モータ1Cへ送信される。車両を自律走行させるための制御指令の生成方法については、公知の方法を採用することができる。
車両管理サーバ300、ドローン管理サーバ400、センタサーバ500それぞれの各機能構成要素のいずれか、又はその処理の一部は、ネットワークに接続される他のコンピュータにより実行されてもよい。また、車両管理サーバ300、ドローン管理サーバ400、センタサーバ500それぞれで実行される一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。
図7は、サービス管理情報テーブルの一例である。サービス管理情報テーブルは、センタサーバ500のサービス管理DB 506に格納されているテーブルである。サービス管理情報テーブルには、例えば、センタサーバ500が依頼を受けたドローン200を用いるサービスに係る情報(サービス管理情報)が格納されている。
サービス管理情報テーブルには、サービスID、配送車両ID、配送ドローンID、経由地、ドローン運搬先、目的地、サービス状態のフィールドが含まれている。サービスIDのフィールドには、センタサーバ500が依頼を受けたサービスの識別情報が入力される。サービスの識別情報は、例えば、センタサーバ500の依頼受付部501によって付与される。
配送車両ID、配送ドローンIDのフィールドには、それぞれ、センタサーバ500のサービス制御部502によって決定された、配送車両の識別情報、配送ドローンの識別情報が入力される。なお、配送車両、配送ドローンは、依頼元が指定することもできる。
経由地、目的地、ドローン運搬先のフィールドには、それぞれ、例えば、ドローン200を用いるサービスの依頼とともに受け付けられた、経由地、目的地、ドローン運搬先の位置情報が入力される。経由地は、1つとは限らず、サービスの内容によっては複数である場合もあるし、設定されていない場合もあり、オプションである。また、経由地は、サービス制御部502が追加することもできる。例えば、ドローン200による荷物の配送サービスの依頼が受け付けられた場合には、経由地は荷物の集荷場所、目的地は配送先である受取人の住所(マンション等であれば階数、部屋番号等)である。ドローン運搬先は、例えば、受取人の住所に最も近い、車両100が進入できる限界の地点(車両進入限界地点)である。例えば、ドローン200の貸し出しサービスの依頼が受け付けられた場合には、経由地はなく、目的地は貸出先の住所である。ドローン運搬先は、例えば、貸出先から最も近い車両進入限界点である。ドローン運搬先は、後述されるが、サービスの目的地の位置情報や配送車両のサービス状態からセンタサーバ500のサービス制御部502によって決定される。
サービス状態のフィールドには、例えば、「サービス前」、「サービス中」、「サービス完了」のいずれかが入力される。例えば、依頼を受けたサービスに、時間指定が含まれており、当該時間指定の時刻の前である場合には、サービス状態のフィールドの値は「サービス前」となる。例えば、サービスを実行する配送車両及び配送ドローンが決定されると、サービス状態のフィールドの値は「サービス中」となる。配送車両及び配送ドローン両方からのサービス完了通知が、車両管理サーバ300及びドローン管理サーバ400を通じて、受信されると、サービス状態のフィールドの値は「サービス完了」となる。サービス状態のフィールドの値は、センタサーバ500のサービス状態管理部505によって管理されている。
図8は、ドローン管理情報テーブルの一例である。ドローン管理情報テーブルは、ドローン管理サーバ400のドローン管理DB 404に格納されているテーブルである。ドローン管理情報テーブルには、ドローン200に関する情報(ドローン管理情報)が格納されている。
ドローン管理情報テーブルには、例えば、ドローンID、現在位置、サービス状態、サービスID、着陸中車両IDが含まれている。ドローンIDのフィールドには、ドローン200の識別情報が入力される。現在位置のフィールドには、ドローン200の位置情報が入力される。現在位置のフィールドは、ドローン管理サーバ400の位置情報管理部401によって、ドローン200から位置情報が受信される度に更新される。
サービス状態のフィールドには、「サービス中」、「非サービス中」のいずれかが入力される。サービス状態のフィールドの初期値は「非サービス中」である。例えば、ドローン200に対してサービスに係る情報とともに飛行指令が送信されると、サービス状態のフィールドの値は「サービス中」に更新される。ドローン200からサービス完了通知が受信されると、サービス状態のフィールドの値は「非サービス中」に更新される。サービス状態のフィールドは、例えば、ドローン管理サーバ400のドローンサービス状態管理部403によって管理されている。
サービスIDのフィールドには、ドローン200のサービス状態が「サービス中」である場合に、実行中のサービスの識別情報が入力される。サービスの識別情報は、例えば、
ドローン200の使用依頼とともにセンタサーバ500から受信されるサービスに係る情報に含まれている。サービスIDのフィールドは、サービス状態のフィールドが「サービス中」に更新されると、サービスの識別情報が入力されて更新される。サービスIDのフィールドは、サービス状態のフィールドが「非サービス中」に更新されると空欄に更新される。サービスIDのフィールドは、例えば、ドローン管理サーバ400のドローンサービス状態管理部403によって管理されている。
着陸中車両IDのフィールドには、ドローン200が着陸中の車両100の識別情報が入力される。ドローン200と車両100とは、例えば、ドローン200が車両100の発着場に着陸し、車両100の給電部1Jとドローン200の受電部2Dとが接続することによって互いの識別情報を交換することで、ドローン200の車両100への着陸を検出する。例えば、ドローン200の飛行計画制御部201は、車両100への着陸及び車両100からの離陸を検出すると、ドローン管理サーバ400に通知を行う。ドローン管理サーバ400の飛行制御部402は、ドローン200からの通知に従って、着陸中車両IDのフィールドを更新する。
図9は、車両管理情報テーブルの一例である。車両管理情報テーブルは、車両管理サーバ300の車両管理DB 304に格納されているテーブルである。車両管理情報テーブルには、車両100に関する情報(車両管理情報)が格納されている。
車両管理情報テーブルには、例えば、車両ID、初期位置、現在位置、着陸中ドローンID、サービス状態、サービスIDが含まれている。車両IDのフィールドには、車両100の識別情報が入力される。初期位置のフィールドには、車両100の初期位置の位置情報が入力される。車両100は、サービスが終了すると、次のサービスがない限り、初期位置に戻るように制御される。
現在位置のフィールドには、車両100の位置情報が入力される。現在位置のフィールドは、車両管理サーバ300の位置情報管理部301によって、車両100から位置情報が受信される度に更新される。
着陸中車両IDのフィールドには、車両100に着陸中のドローン200の識別情報が入力される。車両100の運行計画制御部101は、ドローン200の当該車両100への着陸又は当該車両100からの離陸を検出すると、車両管理サーバ300に通知を行う。車両管理サーバ300の運行制御部302は、車両100からの通知に従って、着陸中車両IDのフィールドを更新する。
サービス状態のフィールドには、「専有サービス中」、「非専有サービス中」、「非サービス中」のいずれかが入力される。車両100が実施するサービスには、例えば、車両100を専有する専有サービスと、他のサービスと共存可能する非専有サービスとがある。専有サービスには、例えば、ユーザを所定の位置まで運ぶサービス等が有る。非専有サービスには、荷物の配送又は集荷サービスや、所定のルートを巡回するサービス等がある。
サービス状態のフィールドの初期値は「非サービス中」である。車両100が専有サービス又は非専有サービスを実行している場合には、サービス状態のフィールドの値は「専有サービス中」又は「非専有サービス中」となる。車両100からサービス完了通知が受信され、当該車両100が他のサービスの実行中でない場合には、サービス状態のフィールドの値は「非サービス中」に更新される。サービス状態のフィールドは、車両管理サーバ300の車両サービス状態管理部303によって管理されている。
サービスIDのフィールドには、車両100のサービス状態が「専有サービス中」又は「非専有サービス中」である場合に、実行中のサービスの識別情報が入力される。サービスの識別情報は、例えば、車両100の使用依頼とともにセンタサーバ500から受信される。サービスIDのフィールドは、サービス状態のフィールドが「専有サービス中」又は「非専有サービス中」に更新されると、サービスの識別情報が入力されて更新される。なお、サービス状態のフィールドが「専有サービス中」である場合には、サービスIDのフィールドには1つのサービスIDが入力される。サービス状態のフィールドが「非瀬乳サービス中」である場合には、サービスIDのフィールドには、1つ又は複数のサービスIDが入力される。サービスIDのフィールドは、サービス状態のフィールドが「非サービス中」に更新されると空欄に更新される。サービスIDのフィールドは、車両管理サーバ300の車両サービス状態管理部303によって管理されている。
<処理の流れ>
図10A及び図10Bは、センタサーバ500における、ドローン200を用いるサービスの依頼が受け付けられた場合の処理のフローチャートの一例である。図10A及び図10Bに示される処理は、例えば、所定の周期で繰り返し実行される。図10A及び図10Bに示される処理の実行主体は、CPU 11であるが、便宜上、機能構成要素であるサービス制御部502を主体として説明される。なお、以降のフローチャートについても同様に、機能構成要素を主体として説明される。
S101では、サービス制御部502は、ドローン200を用いるサービスの依頼が、依頼受付部501によって受け付けられた否かを判定する。ドローン200を用いるサービスの依頼が受け付けられた場合には(S101:YES)、処理がS102に進む。ドローン200を用いるサービスの依頼が受け付けられていない場合には(S101:NO)、図10Aに示される処理が終了する。
S102では、サービス制御部502は、ドローン管理情報取得部503を通じてドローン管理サーバ400からドローン管理情報テーブルを、車両管理情報取得部504を通じて車両管理サーバ300から車両管理情報テーブルを取得する。
S103では、サービス制御部502は、取得されたドローン管理情報テーブルを参照して、サービス状態が「非サービス中」であるドローン200が存在するか否かを判定する。ドローン管理情報テーブルにおいて、サービス状態が「非サービス中」であるドローン200が存在する場合には(S103:YES)、処理がS105に進む。ドローン管理情報テーブルにおいて、サービス状態が「非サービス中」であるドローン200が存在しない場合には(S103:NO)、処理がS104に進む。S104では、依頼されたサービスに使用できるドローン200がないので、サービス制御部502は、ドローン使用不可通知を依頼元に送信する。その後、図10Aに示される処理が終了する。
S105では、サービス制御部502は、S102において取得されたドローン管理情報テーブルと車両管理情報テーブルとに基づいて、配送車両と配送ドローンとを決定する処理を実行する。配送車両と配送ドローンとの決定処理の詳細は後述される。S105の処理によって、少なくとも配送車両が決定される。配送ドローンは決定される場合と未決定のままの場合とがある。なお、配送ドローンが未決定の場合には、S105の終了時点では、配送車両に選択された車両100にはいずれのドローン200も着陸していない。
S106では、サービス制御部502は、車両管理サーバ300へ、配送車両に選択された車両100について車両使用依頼を送信する。S107では、サービス制御部502は、車両管理サーバ300から車両使用依頼に対する応答が有るか否かを判定する。例えば、配送車両に選択された車両100が使用可能である場合には、車両管理サーバ300
の運行制御部302から応答が受信される。例えば、配送車両に選択された車両100が他の専有サービスを実行中である等で使用できない場合には、車両管理サーバ300の運行制御部302から使用不可通知が受信される。車両管理サーバ300から車両使用依頼に対する応答が有る場合には(S107:YES)、配送車両が確定し、処理がS108に進む。車両管理サーバ300から車両使用依頼に対する応答がない場合には(S107:NO)、処理がS105に進み、再度配送車両及び配送ドローンの決定処理が行われる。
S108では、配送車両が確定したので、サービス制御部502は、配送車両に選択された車両100のサービス状態に応じて、依頼を受けたサービスについて、ドローン運搬先を決定する。また、サービス制御部502は、ドローン運搬先の情報を、車両管理サーバ300に通知する。以降、配送車両が確定している場合には、配送車両100と表記する。
S102で取得された車両管理情報テーブルにおいて、配送車両100のサービス状態が「非サービス中」である場合には、サービス制御部502は、依頼を受けたサービスの目的地に最も近い車両到達限界地点をドローン運搬先とする。例えば、依頼を受けたサービスが荷物の配送サービスであって、配送先(目的地)がマンションの7階である場合には、ドローン運搬先(車両到達限界地点)は、当該マンションの住所となる。
S102で取得された車両管理情報テーブルにおいて、配送車両100のサービス状態が「非専有サービス中」である場合には、サービス制御部502は、当該配送車両100が実行中の非専有サービスにおける経路上の、目的地に最も近い地点をドローン運搬先とする。これによって、配送車両100から目的地までの配送ドローンの飛行距離をできるだけ短くすることができる。
また、配送車両が確定すると、サービス制御部502は、サービス管理情報テーブルに当該サービスの情報を登録する。具体的には、サービスIDには当該サービスの識別情報、配送車両IDには配送車両として選択された車両100の識別情報、サービス状態には「サービス中」が入力される。
S109では、サービス制御部502は、配送ドローンが未決定であるか否かを判定する。配送ドローンが未決定である場合には(S109:YES)、処理が図10BのS121に進む。配送ドローンが決定されている場合には(S109:NO)、処理がS110に進む。
S110では、サービス制御部502は、ドローン管理サーバ400に配送ドローンに選択されたドローン200についてドローン使用依頼を送信する。S111では、サービス制御部502は、ドローン管理サーバ400からドローン使用依頼に対する応答が有るか否かを判定する。例えば、配送ドローンに選択されたドローン200が使用可能である場合には、ドローン管理サーバ400の飛行制御部402から応答が受信される。例えば、配送ドローンに選択されたドローン200が他のサービスを実行中である等で使用できない場合には、ドローン管理サーバ400の運行制御部302から使用不可通知が受信される。
ドローン管理サーバ400から車両使用依頼に対する応答が有る場合には(S111:YES)、配送ドローンが確定し、サービス制御部502はサービス管理情報テーブルに配送ドローンを登録する。その後、図10Aに示される処理が終了する。ドローン管理サーバ400から車両使用依頼に対する応答がない場合には(S111:NO)、ドローン未決定となり、処理がS105に進み、再度配送車両と配送ドローンの決定処理が行われ
る。
図10BのS121では、サービス制御部502は、車両管理サーバ300に配送車両100について車両監視依頼を送信する。車両監視依頼は、アラート通知地点から所定範囲内に車両100が進入した場合の、アラートの通知の依頼である。アラート通知地点から所定範囲は、例えば、アラート通知地点から100mから1kmの範囲である。アラート通知地点は、第n経由地又はドローン運搬先である。アラート通知地点が、第n経由地であるかドローン運搬先であるかは、サービスの種類、経由地の有無、等によって異なり、後述の配送車両と配送ドローンとの決定処理において決定される。nの初期値は1である。
S122では、サービス制御部502は、車両管理サーバ300を通じて配送車両100からドローン着陸通知を受信したか否かを判定する。なお、第1実施形態では、通常、車両100からのドローン着陸通知は車両管理サーバ300からセンタサーバ500には転送されないが、車両管理サーバ300が車両監視依頼を受けている間には、車両100からのドローン着陸通知は車両管理サーバ300からセンタサーバ500に転送される。なお、車両管理サーバ300がアラートをセンタサーバ500に通知することによって、車両監視依頼が解除となる。
車両管理サーバ300を通じて配送車両100からドローン着陸通知が受信された場合には(S122:YES)、配送車両100の移動中にドローン200が着陸したことが示され、当該ドローン200を配送ドローンとして使用できるか否かを判定するために、処理がS123に進む。
S123、S124では、S110、S111と同様に、サービス制御部502は、ドローン管理サーバ400に配送ドローンに選択されたドローン200についてドローン使用依頼を送信し(S123)、応答の有無を確認する(S124)。ドローン管理サーバ400から車両使用依頼に対する応答が有る場合には(S124:YES)、配送ドローンが配送車両に新たに着陸したドローン200に確定し、サービス制御部502はサービス管理情報テーブルに配送ドローン200を登録する。その後、図10Bに示される処理が終了する。ドローン管理サーバ400から車両使用依頼に対する応答がない場合には(S124:NO)、ドローン未決定となり、処理がS122に進む。
S125では、サービス制御部502は、車両管理サーバ300からアラートがあるか否かを判定する。車両管理サーバ300からアラートがある場合(S125:YES)、すなわち、配送車両100がアラート通知地点から所定範囲内に進入した場合には、処理がS126に進む。車両管理サーバ300からアラートがない場合には(S125:NO)、処理がS122に進む。
S126では、サービス制御部502は、ドローン管理情報取得部503を通じて、ドローン管理サーバ400からドローン管理情報テーブルを取得する。S127では、サービス制御部502は、アラート通知地点がドローン運搬先であるか否か判定する。アラート通知地点がドローン運搬先である場合には(S127:YES)、処理がS129に進む。アラート通知地点がドローン運搬先でない、すなわち、アラート通知地点が第n経由地である場合には(S127:NO)、処理がS128に進む。
S128では、サービス制御部502は、配送車両100から第1範囲内にドローン200が存在しているか否かを判定する。第1範囲は、例えば、配送車両100から発信されるBLE信号を検出可能な範囲である。配送車両100の位置情報は、例えば、アラートとともに配送車両の位置情報が車両管理サーバ300から受信される。ドローン200
の位置情報はS126で取得されるドローン管理情報テーブルから取得される。配送車両100から第1範囲内にドローン200が存在している場合には(S128:YES)、処理がS129に進む。配送車両100から第1範囲内にドローン200が存在していない場合には(S128:NO)、処理がS132に進む。第1範囲は、「第2の範囲」の一例である。
S129では、サービス制御部502は、配送車両の最も近くに位置するドローン200を配送ドローンとして選択する。S130、S131では、S110、S111と同様に、サービス制御部502は、ドローン管理サーバ400に配送ドローンに選択されたドローン200についてドローン使用依頼を送信し(S130)、応答の有無を確認する(S131)。ドローン管理サーバ400から車両使用依頼に対する応答が有る場合には(S131:YES)、配送ドローンが配送車両に新たに着陸したドローン200に確定し、サービス制御部502はサービス管理情報テーブルに配送ドローン200を登録する。その後、図10Bに示される処理が終了する。ドローン管理サーバ400から車両使用依頼に対する応答がない場合には(S131:NO)、処理がS129に進み、S129では、次に配送車両100に近いドローン200が配送ドローンとして選択される。
S132では、サービス制御部502は、第n+1経由地が存在するか否かを判定する。第n+1経由地が存在する場合には(S132:YES)、処理がS133に進む。第n+1経由地が存在しない場合には(S132:NO)、処理がS135に進む。
S133では、サービス制御部502は、配送ドローンを未選択に設定し、アラート通知地点を第n+1経由地に設定する。S134では、サービス制御部502は、nに1を加算して更新する。その後、処理がS121に進む。
S135では、配送ドローンを未選択に設定し、アラート通知地点をドローン運搬先に設定する。その後、処理がS121に進む。
図11は、センタサーバ500における配送車両と配送ドローンの決定処理のフローチャートの一例である。図11に示される処理は、図10AのS105において実行される処理である。
S201では、サービス制御部502は、例えば、図10AのS102で取得された車両管理情報テーブルに基づいて、ドローン200が着陸中の車両100が存在するか否かを判定する。ドローン200が着陸中の車両100が存在する場合には(S201:YES)、処理がS202に進む。ドローン200が着陸中の車両100が存在しない場合には(S201:NO)、処理がS205に進む。
S202では、サービス制御部502は、第1経由地又は目的地から第2範囲内にドローン着陸中の車両100が存在するか否かを判定する。第2範囲は、例えば、第1範囲よりも広い範囲である。S202において、第1経由地又は目的地のいずれを用いるかは、経由地の有無に依り決まる。例えば、荷物の配達サービスの場合には、第1経由地として荷物の集荷場所(例えば、集配センタ等)が設定され、目的地として荷物の配送先が設定される。例えば、ドローンの貸し出しサービスの場合には、経由地の設定はなく、目的地としてドローンの貸し出し先が設定される。第2範囲は、「第1の範囲」の一例である。
第1経由地又は目的地から第2範囲内にドローン着陸中の車両100が存在する場合には(S202:YES)、処理がS204に進む。第1経由地又は目的地から第2範囲内にドローン着陸中の車両100が存在しない場合には(S202:NO)、処理がS203に進む。
S203では、サービス制御部502は、第1経由地又は目的地から第2範囲内にドローン着陸中でない車両100が存在するか否かを判定する。以下、ドローン着陸中でない車両100を単独車両と称する。第1経由地又は目的地から第2範囲内に単独車両が存在する場合には(S203:YES)、処理がS205に進む。第1経由地又は目的地から第2範囲内に単独車両が存在しない場合には(S203:NO)、処理がS204に進む。
S204では、サービス制御部502は、ドローン着陸中の車両100の中から、非サービス中の車両100又は第1経由地又は目的地方向に向かう非専有サービス中の車両100であって、第1経由地又は目的地に最も近い車両100を、配送車両として選択する。第1経由地又は目的地方向に向かう非専有サービス中の車両100は、例えば、サービス管理情報テーブルと、車両管理サーバ300から取得される車両管理情報テーブルと、に基づいて特定することができる。その後、図11に示される処理が終了し、処理が図10AのS106に進む。
S205では、サービス制御部502は、単独車両の中から、非サービス中の車両100又は第1経由地又は目的地方向に向かう非専有サービス中の車両100であって、第1経由地又は目的地に最も近い車両100を、配送車両として選択する。
S206では、サービス制御部502は、配送車両に選択された車両100から第1範囲内にドローン200が存在するか否かを判定する。配送車両に選択された車両100から第1範囲内にドローン200が存在する場合には(S206:YES)、処理がS207に進む。配送車両に選択された車両100から第1範囲内にドローン200が存在しない場合には(S206:NO)、処理がS208に進む。
S207では、サービス制御部502は、配送車両に選択された車両100に最も近いドローン200を配送ドローンとして選択する。その後、図11に示される処理が終了し、処理が図10AのS106に進む。
S208では、サービス制御部502は、配送ドローンを未選択に設定し、アラート通知地点を第1経由地又はドローン運搬先に設定する。経由地が存在する場合には、アラート通知点は第1経由地に設定される。経由地そのものがない場合には、アラート通知地点はドローン運搬先に設定される。なお、ドローン運搬先は、この時点では決定されていない。その後、図11に示される処理が終了し、処理が図10AのS106に進む。
図10A、図10B、図11に示される処理によれば、サービスを実行する配送車両及び配送ドローンとして、ドローン着陸中の車両100と当該ドローン200が優先的に選択される(図11、S202:YESの場合)。また、ドローン着陸中の車両100よりも第1経由地又は目的地に近い単独車両が存在する場合には、当該単独車両の方がドローン着陸中の車両100よりも第1経由地又は目的地に早く到着する可能性が高いので、当該単独車両が配送車両として選択される(図11、S203:YESの場合)。
また、単独車両が配送車両として選択される一方で配送ドローンが未決定となる場合には、当該単独車両とドローン200との合流地点の候補地点(第1経由地又はドローン運搬先)がアラート通知地点に設定される。センタサーバ500は、アラート通知地点から所定の範囲内に配送車両が進入したことをアラートにより検出し、配送車両の近くに存在するドローン200を配送ドローンとして選択する(図10B)。これによって、ドローン運搬先に到着するまでに配送車両がドローン200と合流することができる。
なお、図10A、図10B、図11に示される処理では、ドローン運搬先が、配送車両のサービス状態に応じてなるべく目的地と近い位置に設定されるので(図10A、S108)、ドローン200の飛行距離をできるだけ小さくすることができる。また、ドローン着陸中の車両100を優先的に配送車両に選択したり(図11、S202)、できるだけ早い時点でドローン200と車両100とが合流するように、第1経由地から第2範囲内に存在する単独車両を配送車両に選択して当該配送車両から最も近いドローン200を配送ドローンに選択したりする(図11、S205〜S207)ことで、ドローン200の飛行距離をできるだけ小さくすることができる。
また、図10A、図10B、図11に示される処理では、例えば、第1経由地付近で配送車両から第1範囲内にドローン200が存在しない場合には配送ドローンを未決定とし、第1経由地以降の経由地又は目的地に配送車両が接近する毎に、その時点での配送車両の位置に基づいて第1範囲内のドローン200が探索される。これによって、配送車両がドローン200の着陸を待つ時間をより短くすることができる。
なお、図10BのS129、図11のS207では、配送車両に選択された車両100に最も近いドローン200が配送ドローンとして選択されるが、配送ドローン200の選択方法はこれに限定されない。例えば、配送車両として選択された車両100の所定範囲内に存在するドローン200のいずれが配送ドローンとして選択されてもよい。
なお、図11のS205において、第1経由地又は目的地に最も近い車両100が配送車両として選択されるが、配送車両の選択方法はこれに限定されない。例えば、第1経由地又は目的地から所定範囲内に存在するドローン着陸中の車両又は単独車両のいずれが配送車両として選択されてもよい。
図12は、センタサーバ500における、ドローン着陸先決定処理のフローチャートの一例である。図12に示される処理は、例えば、所定の周期で繰り返し実行される。
S301では、サービス制御部502は、ドローンの着陸先の問合せを受信したか否かを判定する。ドローンの着陸先の問合せは、例えば、ドローン200から、ドローン管理サーバ400を通じて、受信される。ドローン200がドローンの着陸先の問合せを送信するのは、例えば、サービスの目的地において所定の処理の実行が終了した場合である。ドローンの着陸先の問合せとともに、問合せ元のドローン200の位置情報も受信される。ドローンの着陸先の問合せが受信された場合には(S301:YES)、処理がS302に進む。ドローンの着陸先の問合せが受信されていない場合には(S301:NO)、図12に示される処理が終了する。
S302では、サービス制御部502は、サービス管理情報テーブルを参照して、ドローン200の周囲に目的地があり、配送以外であり、且つ、サービス状態が「サービス前」である他のサービスがあるか否かを判定する。ドローン200の周囲とは、例えば、ドローン200の現在位置から所定範囲(例えば、数十メートル)である。この判定処理は、問合せ元のドローン200の周囲に、ドローン200を用いる他のサービスの目的地がある場合には、車両100による運搬を介せずに直接目的地に当該ドローン200を届けることを目的とする処理である。ただし、配送サービスの場合にはドローン200に荷物を積載させる必要があるので、ドローン200を目的地に直接配送することはできないため、配送サービスは除外される。
該当するサービスが存在する場合には(S302:YES)、処理がS303に進む。該当するサービスが存在しない場合には(S302:NO)、処理がS304に進む。S303では、サービス制御部502は、問合せ元のドローン200を該当サービスの配送
ドローンに選択し、ドローン管理サーバ400に、該当サービスについてドローン使用依頼を送信する。ドローン管理サーバ400は、センタサーバ500に対するドローン使用依頼に対する応答を行ない、当該ドローン200に対して、ドローンの着陸先の問合せに対する応答として、当該サービスの目的地への飛行指令を送信する。その後、図12に示される処理が終了する。
S304では、サービス制御部502は、問合せ元のドローン200の周囲に存在し、サービス状態が「サービス中」である単独車両が存在するか否を判定する。S304は、問合せ元のドローン200の周囲にドローン200を必要とする車両100が存在するか否かを判定する処理である。問合せ元のドローン200の周囲に存在し、サービス状態が「サービス中」である単独車両が存在する場合には(S304:YES)、処理がS305に進む。問合せ元のドローン200の周囲にサービス中の単独車両が存在しない場合には(S304:NO)、処理がS306に進む。
S305では、サービス制御部502は、問合せ元のドローン200の周囲に存在し、サービス状態が「サービス中」である単独車両の実行中のサービスについて、問合せ元のドローン200を配送ドローンに選択し、ドローン管理サーバ400へ該当サービスについてドローン使用依頼を送信する。ドローン使用依頼とともに、当該単独車両が実行するサービスに関する情報も送信される。ドローン管理サーバ400は、センタサーバ500に対するドローン使用依頼に対する応答を行い、ドローンの着陸先の問合せに対する応答として、当該ドローン200に対して当該サービスの配送車両への飛行指令を送信する。その後、図12に示される処理が終了する。
S306では、サービス制御部502は、車両管理サーバ300に問い合わせて車両管理情報テーブルを取得する。S307では、問い合わせ元のドローン200の現在位置の最も近くに存在する車両を当該ドローン200の着陸先として選択する。S308では、サービス制御部502は、ドローンの着陸先の問合せに対する応答として、ドローン管理サーバ400へ、S307において選択した車両をドローン200の着陸先として通知する。ドローン管理サーバ400は、ドローンの着陸先の問合せに対する応答として、当該ドローン200に、当該ドローン200の着陸先として通知された車両100への飛行指令を送信する。その後、図12に示される処理が終了する。
なお、図12に示されるドローン着陸先決定処理は一例であって、ドローン200の着陸先となる車両100の選択方法は、図12に示される例に限定されない。例えば、S307において、サービス制御部502は、非サービス中であって初期位置に向かっている車両100の中から、問合せ元のドローン200に最も近い車両100を着陸先として選択してもよい。
<具体例>
図13A及び図13Bは、具体例1における処理シーケンスの一例を示す図である。具体例1は、荷物の配送サービスの依頼を受ける場合の例である。具体例1では、ドローンAとドローンAが着陸中の車両Aとがそれぞれ配送ドローンと配送車両とに選択され、配送完了後に、ドローンAが再度車両Aに着陸する例について説明される。すなわち、具体例1において、ドローンAは車両Aに着陸中であることを前提とする。また、ドローンA及び車両Aは、いずれも、非サービス中であることを想定する。
S11では、センタサーバ500は、ドローンによる荷物の配送サービスの依頼を受ける(図10A、S101:YES)。当該配送サービスでは、集荷場所として集配センタAが指定されていることとする。したがって、具体例1では、第1経由地は配送サービスにおける集荷場所である集配センタAとなり、目的地は配送先となる。
S12では、センタサーバ500は、ドローン管理サーバ400にドローン管理情報テーブルの問合せを行う。S13では、ドローン管理サーバ400は、センタサーバ500からの問合せの応答として、ドローン管理情報テーブルをセンタサーバ500へ送信し、センタサーバ500はドローン管理情報テーブルを取得する(図10A、S102)。
S14では、センタサーバ500は、車両管理サーバ300に車両管理情報テーブルの問合せを行う。S15では、車両管理サーバ300は、センタサーバ500からの問合せの応答として、車両管理情報テーブルをセンタサーバ500へ送信し、センタサーバ500は車両管理情報テーブルを取得する(図10A、S102)。
ここで、具体例1では、ドローンAが着陸中の車両Aは、第1経由地である集配センタAから第2範囲内に存在しており、且つ、ドローン200が着陸中の他の車両100が第2範囲内に存在していないことを想定する。したがって、S16では、センタサーバ500は、「非サービス中」である車両Aを配送車両に、「非サービス中」であるドローンAを配送ドローンとして決定する(図10A、S105、図11、S202:YES、S204)。
S21では、センタサーバ500は、車両管理サーバ300へ、車両Aについて車両使用依頼を送信する(図10A、S106)。車両使用依頼とともにサービスに関する情報として、例えば、第1経由地である集配センタAの位置情報、目的地である配送先の位置情報、配送荷物の識別情報等も送信される。
S22では、車両管理サーバ300は、車両Aは「非サービス中」であり、使用可能であるので、車両Aについての車両使用依頼に対する応答を送信する。センタサーバ500が車両管理サーバ300からの応答を受信することによって(図10A、S107:YES)、配送車両が車両Aに確定し、センタサーバ500は、ドローン運搬先を、荷物の配送先から最も近い車両到達限界地点に決定して、車両管理サーバ300に通知する(図10A、S108)(図13Aにおいて図示略)。例えば、配送先がマンションAの702号室である場合には、目的地はマンションAの702号室、ドローン運搬先は当該マンションAの正面玄関前(車両到達限界地点)となる。
S23では、車両管理サーバ300は、車両Aに運行指令を送信する。車両Aに送信される運行指令には、例えば、経由地として集荷センタA、目的地としてドローン運搬先、集荷センタAにおいて荷物を積載すること、が含まれている。
S24では、車両Aは、車両管理サーバ300から運行指令を受信し、運行指令に基づいて運行計画を生成する。S24において生成される運行計画には、例えば、現在位置から第1経由地である集配センタAまでの運行経路に関するデータ、集配センタAにおいて荷物を積載すること、第1経由地である集配センタAからドローン運搬先までの運行経路に関するデータが含まれる。S25では、車両Aは、運行計画に基づいて、第1経由地である集配センタAへの運行を開始する。
S31では、センタサーバ500は、ドローン管理サーバ400へ、ドローンAについてドローン使用依頼を送信する(図10A、S110)。この場合、ドローン使用依頼とともにサービスに関する情報として、例えば、第1経由地である集配センタAの位置情報、ドローン運搬先(離陸位置)として配送先への車両到達限界地点の位置情報、目的地として配送先の位置情報、配送荷物の識別情報等も送信される。
S32では、ドローンAは「非サービス中」であり、使用可能であるので、ドローン管
理サーバ400は、ドローンAについてのドローン車両使用依頼に対する応答を送信する。センタサーバ500がドローン管理サーバ400からの応答を受信することによって(図10A、S111:YES)、配送ドローンがドローンAに確定し、サービス管理テーブルに、当該サービスの配送ドローンとしてドローンAが登録される。
S33では、ドローン管理サーバ400は、ドローンAに飛行指令を送信する。ドローンAに送信される飛行指令には、例えば、サービスに関する情報、ドローン運搬先における離陸指令、目的地までの荷物の運搬指令等が含まれている。
S34では、ドローンAは、ドローン管理サーバ400から飛行指令を受信し、飛行指令に基づいて飛行計画を生成する。S34で生成される飛行計画には、例えば、荷物を積載すること、ドローン運搬先(離陸地点)において離陸すること、配送先(目的地)までの飛行経路、配送先において荷物を分離すること、等が含まれている。
S41では、ドローンAが着陸中の車両Aが集配センタAに到着し、ドローンAに荷物が積載される。ドローンAへの荷物の積載は、集配センタAの係員によって行われてもよいし、車両A及びドローンAが荷物をドローン200に積載させるための機構を備える場合には、人の手を介さず、自動で行われてもよい。
図13BのS51では、ドローンAが着陸中の車両Aが、ドローン運搬先である配送先までの車両到達限界地点に到着する。S52では、ドローンAは、自身の位置情報から、ドローン運搬先に到着したことを検出し、飛行計画に従って、目的地(配送先)までの飛行を開始する。S53では、ドローンAは、車両Aからの離陸通知をドローン管理サーバ400に送信する。ドローンAは、車両Aからの離陸を、例えば、車両Aとの給電のための接続が切断されたことを検出することで検出する。ドローン管理サーバ400は、ドローンAから、車両Aからの離陸通知を受信すると、例えば、ドローン管理情報テーブルのドローンAの着陸中車両のフィールドから車両Aの識別情報を削除して空に更新する。
S54では、車両Aは、ドローンAが離陸したことを検出する。車両Aは、例えば、ドローンAが自車両から離陸したことを、例えば、車両Aとの給電のための接続が切断されたことを検出することで検出する。
S55では、車両Aは、車両管理サーバ300に、ドローンAの離陸通知を送信する。車両管理サーバ300は、車両Aから、ドローンAの離陸通知を受信すると、例えば、車両管理情報テーブルの車両Aの着陸中ドローンのフィールドからドローンAの識別情報を削除する。
また、車両Aは、例えば、自車両の位置情報からドローン運搬先に到着したことを検出すると、運行計画が終了したことを検出し、運行計画が終了したことを検出することでサービス完了を検出する。したがって、S55では、車両Aは、ドローンAの離陸通知に加えて、サービス完了通知も車両管理サーバ300に送信する。車両管理サーバ300は、車両Aからサービス完了通知を受信すると、例えば、車両Aが他のサービスを実行していない場合には、車両管理情報テーブルの車両Aのサービス状態を「非サービス中」に更新する。また、車両管理サーバ300は、車両Aに対して、初期位置への移動を示す運行指令を送信して、車両Aを初期位置に戻すようにしてもよい。
S56では、車両管理サーバ300は、車両Aからのサービス完了通知をセンタサーバ500に転送する。センタサーバ500は、車両Aからのサービス完了通知を保持するが、配送ドローンであるドローンAからのサービス完了通知を受信していないので、この時点ではサービス管理情報テーブルの更新は行わない。
S61では、ドローンAが荷物の配送を完了し、これによってドローンAのサービスが完了する。ドローンAはサービスの完了を、例えば、ドローンAに備えられるタッチパネル等への受取人からの完了通知の入力、受取人が所有するユーザ端末から所定のサーバへの配送サービスの完了の通知をセンタサーバ500及びドローン管理サーバ400を通じて受信することで検出する。
S62では、ドローンAは、ドローン管理サーバ400に、サービス完了通知と着陸先の問合せとを送信する。また、着陸先の問合せとともにドローンAの位置情報も送信される。ドローン管理サーバ400は、ドローンAからサービス完了通知を受信すると、例えば、ドローン管理情報テーブルのドローンAのサービス状態を「非サービス中」に更新する。
S63では、ドローン管理サーバ400は、ドローンAからのサービス完了通知と着陸先の問合せとを、センタサーバ500に転送する。センタサーバ500は、ドローンAからのサービス完了通知を受信すると、配送車両である車両Aと配送ドローンであるドローンAとからサービス完了通知を受信したので、サービス管理情報テーブルの当該サービスのサービス状態を「サービス完了」に更新する。
S64では、センタサーバ500は、ドローンAからの着陸先の問合せを受信し(図12、S301:YES)、ドローンAの周囲に目的地があるサービスも、ドローン200を必要とするサービス前の車両100も存在しないので(図12、S302:NO、S304:NO)、車両管理サーバ300に車両管理情報テーブルを問い合わせる(図12、S306)。S65では、車両管理サーバ300は、応答としてセンタサーバ500に車両管理情報テーブルを送信する。
S66では、センタサーバ500は、ドローンAの位置情報と車両管理情報テーブルに含まれる各車両100の位置情報に基づいて、ドローンAの最も近くに存在する車両100として車両Aを選択する(図12、S307)。
S71では、センタサーバ500は、ドローン管理サーバ400に、ドローンAの着陸先の問合せに対する応答として、着陸先として車両Aを通知する。S72では、ドローン管理サーバ400は、ドローンAに、着陸先の問合せに対する応答として、車両Aへの着陸指示を含む飛行指令を送信する。なお、S71において、センタサーバ500は車両Aの位置情報をドローン管理サーバ400に送信し、S72において、ドローン管理サーバ400は車両Aの位置情報をドローンAに送信してもよい。
S73では、ドローンAは、車両Aへの飛行計画を生成する。S74では、ドローンAは、車両Aへ向けて飛行を開始する。なお、ドローンAは車両AからのBLE信号を受信可能な範囲にいる場合には、BLE信号から検出された車両Aに向かって飛行してもよいし、ドローン管理サーバ400を通じてセンタサーバ500から車両Aの位置情報が受信される場合には、車両Aの位置情報を目的地として飛行してもよい。
S75では、ドローンAが車両Aの発着場に着陸し、車両Aと合流する。車両AとドローンAとは、例えば、ドローンAが発着場に着陸し、車両Aの給電部1JにドローンAの受電部2Dが接続したことを検出することで、ドローンAの車両Aへの着陸を検出する。
S76では、ドローンAは、ドローン管理サーバ400に車両Aへの着陸通知を送信する。S77では、車両Aは、車両管理サーバ300にドローンAの着陸通知を送信する。
図14A及び図14Bは、具体例2における処理シーケンスの一例を示す図である。具体例2は、荷物の配送サービスの依頼を受ける場合の例である。具体例2では、いずれのドローン200も着陸していない車両Bが配送車両に選択され、いずれの車両100にも着陸していないドローンBが配送ドローンに選択される例について説明される。また、具体例2では、ドローンBが配送を完了すると、ドローンBは、配送車両である車両Bとは異なる車両Aに戻る例について説明される。図14Aの前提として、ドローンBはいずれの車両100にも着陸していない。また、車両Bにはいずれのドローン200も着陸していない。また、ドローンBは、サービス状態が「非サービス中」であるとする。車両Bは、サービス状態が「非専有サービス中」であるとする。
S511からS515の処理は、図13AのS11からS15の処理と同様である。すなわち、センタサーバ500は、ドローン200による荷物の配送サービスの依頼を受け(S511)、ドローン管理サーバ400からドローン管理情報テーブルを取得し(S512、S513)、車両管理サーバ300から車両管理情報テーブルを取得する(S514、S515)。サービスに関する情報は、具体例1と同様であるとする。
S516では、センタサーバ500は、配送車両として車両Bを選択し、配送ドローンとしてドローンBを選択する。車両Bは、第1経由地である集配センタから第2範囲内且つ最も近くに存在し(図11、S203:YES、S205)、ドローンBは車両Bから第1範囲内且つ最も近くに存在していることとする(図11、S206:YES、S207)。
S521からS525までの処理は、図13AのS21からS25までの処理と同様である。すなわち、センタサーバ500は車両管理サーバ300に対して車両Bの車両使用依頼を送信して応答を受信し(S521、S522)、車両管理サーバ300は車両Bに運行指令を送信し(S523)、車両Bは運行計画を生成して(S524)、集配センタAへの運行を開始する(S525)。なお、S523において送信される運行指令、S524において生成される運行計画の内容は、それぞれ、図13AのS23において送信される運行指令、S24において生成される運行計画の内容と同様である。また、S522の応答を受けて、具体例2では、ドローン運搬先は、配送車両である車両Bの他のサービスの経路上の目的地から最も近い地点に決定される。
S531からS534までの処理は、図13AのS31からS34までの処理と同様である。すなわち、センタサーバ500はドローン管理サーバ400に対してドローンBのドローン使用依頼を送信して応答を受信し(S531、S532)、ドローン管理サーバ400はドローンBに飛行指令を送信し(S533)、車両Bは飛行計画を生成する(S534)。
なお、S531において送信されるドローン使用依頼とともにサービスに関する情報として、例えば、配送車両として車両B、第1経由地である集配センタAの位置情報、ドローン運搬先である配送先に最も近い車両Bの経路上の地点の位置情報、目的地として配送先の位置情報、配送荷物の識別情報等も送信される。また、S533においてドローンBに送信される飛行指令には、例えば、サービスに関する情報、車両Bへの着陸指令、ドローン運搬先における離陸指令、目的地までの荷物の運搬指令等が含まれている。S534においてドローンBによって生成される飛行計画には、例えば、車両Bに着陸すること、荷物を積載すること、ドローン運搬先(離陸地点)において離陸すること、配送先(目的地)までの飛行経路、配送先において荷物を分離すること、等が含まれている。
S535では、ドローンBは、飛行計画に従って、車両Bに向けて飛行を開始する。なお、この場合には、ドローンBは車両Bから発信されるBLE信号を受信可能な範囲(第
1範囲)内に存在するので、ドローンBは車両BのBLE信号から車両Bの位置を推定し、飛行を行う。
S541では、ドローンBは車両Bの発着場に着陸し、ドローンBと車両Bとが合流する。S542では、ドローンBは、ドローン管理サーバ400に車両Bへの着陸通知を送信する。S543では、車両Bは、車両管理サーバ300にドローンBの着陸通知を送信する。S544では、車両Bが集配センタA(第1経由地)に向かって移動することで、車両BとドローンBとが集配センタAに到着し、ドローンBに荷物が積載される。
図14BのS551からS556までの処理は、図13BのS51からS56までの処理と同様である。すなわち、車両Bがドローン運搬先に到着すると(S551)、ドローンBが配送先(目的地)への飛行を開始する(S552)。ドローンBは、ドローン管理サーバ400に車両Bからの離陸通知を送信する(S553)。車両Bは、ドローンBの離陸を検出し(S554)、車両管理サーバ300にドローンBの離陸通知を送信する(S555)。また、車両Bはドローン運搬先に到着することでサービス完了を検知し、車両管理サーバ300を通じてセンタサーバ500にサービス完了通知を送信する(S556)。
S557では、例えば、車両Bは他の非専有サービスを実行中であり、他の非専有サービスの目的地への経路上を移動中であるので、ドローンBから離れたこととする。
S561からS565までの処理は、図13BのS61からS65までの処理と同様である。すなわち、ドローンBは、荷物の配送を完了すると(S561)、ドローン管理サーバ400を通じてセンタサーバ500にサービス完了通知と着陸先の問合せとを送信する(S562、S563)。センタサーバ500は、ドローンBの着陸先の問合せを受信すると、車両管理サーバ300から車両管理情報テーブルを取得する(S564、S565)。
S566では、センタサーバ500は、ドローンBの周囲に存在する、他のサービス実行中であり、いずれのドローン200も着陸していない車両Aを、ドローンBの着陸先として決定する(図12、S304:YES)。
S571では、センタサーバ500は、ドローン管理サーバ400に、ドローンBについてドローン使用依頼を送信する(図12、S305)。S571においてドローン使用依頼とともに送信されるサービスに関する情報として、例えば、配送車両として車両A、車両Aが実行中のサービスの経由地ドローン運搬先、及び目的地の位置情報等が送信される。
S572では、ドローン管理サーバ400は、センタサーバ500に応答を送信する。S573では、ドローン管理サーバ400は、ドローンBに、着陸先の問合せに対する応答として、車両Aへの着陸指示を含む飛行指令を送信する。S573においてドローンBに送信される飛行指令には、例えば、車両Aの実行中のサービスに関する情報、車両Aへの着陸指令、ドローン運搬先における離陸指令等が含まれている。
以降のS574からS578の処理は、図13BのS73からS77の処理と同様である。すなわち、ドローンBは、車両Aへの飛行計画を生成し(S574)、車両Aへ向けて飛行を開始する(S575)。ドローンBが車両Aの発着場に着陸し、車両Aと合流すると(S576)、ドローンBは車両Aへの着陸通知をドローン管理サーバ400に送信し(S577)、車両AはドローンBの着陸通知を車両管理サーバ300に送信する(S578)。
なお、S578において、車両管理サーバ300は単独車両Aについて車両監視依頼を受けているので、車両Aから車両管理サーバ300に送信されたドローンBの着陸通知はセンタサーバ500に送信される。センタサーバ500は、車両AからのドローンBの着陸通知を受信すると(図10B、S122)、ドローン管理サーバ400にドローンBについてドローン使用依頼を送信する(図10B、S123)。センタサーバ500は、ドローン管理サーバ400から応答を受信すると(図10B,S124)、ドローンBを車両Aが実行中のサービスの配送ドローンに確定し、以降、ドローンBは、車両Aが実行中のサービスの配送ドローンとして動作する。これによって、車両Aの実行中のサービスにおいて、配送ドローンが決定されるタイミングが早まり、車両Aの実行中のサービスにおける待ち時間を短縮することができる。
図15A及び図15Bは、具体例3における処理シーケンスの一例を示す図である。具体例3は、荷物の配送サービスの依頼を受ける場合の例である。具体例3では、単独車両Cが配送車両に選択され、集配センタA(第1経由地)までにはドローン200とは合流できず、ドローン運搬先においてドローン200と合流する例について説明される。図15Aの前提として、車両Cにはいずれのドローン200も着陸していない。車両Cは、サービス状態が「非サービス中」であるとする。
S601からS605の処理は、図13AのS11からS15の処理と同様である。すなわち、センタサーバ500は、ドローン200による荷物の配送サービスの依頼を受け(S601)、ドローン管理サーバ400からドローン管理情報テーブルを取得し(S602、S603)、車両管理サーバ300から車両管理情報テーブルを取得する(S604、S605)。サービスに関する情報は、具体例1と同様であるとする。
S606では、センタサーバ500は、第1経由地である集配センタAから第2範囲内にドローン200が着陸中の車両100が存在せず、第2範囲内で最も近くに車両Cが位置するので(図11、S203:YES)、配送車両を車両Cに決定する。ここで、具体例3では、車両Cから第1範囲内にドローン200が存在しないこととし、そのため(図11、S206:NO)、センタサーバ500は配送ドローンを未決定とする(図11、S208)。
S611では、センタサーバ500は、車両管理サーバ300に車両Cについて車両使用依頼を送信する(図10A、S106)。S612では、車両管理サーバ300は、センタサーバ500に対して応答を送信する(図10A、S107:YES)。これによって、センタサーバ500は、ドローン運搬先を荷物の配送先に最も近い車両到達限界地点に設定する(図10A、S108)。S613では、車両管理サーバ300は、車両Cに運行指令を送信する。S613で車両Cに送信される運行指令は、図13AのS23において車両Aに送信される運行指令と同様である。
S614では、センタサーバ500は、車両管理サーバ300に、車両Cについて車両監視依頼を送信する(図10A、S109:YES、図10B、S121)。S614における車両監視依頼のアラート通知地点は、第1経由地である集配センタAである(図11、S206:NO、S208)。
S615では、車両Cは、車両管理サーバ300からの運行指令に基づいて、運行計画を生成する。S616では、車両Cは運行計画に従って運行を開始し、まず、集配センタAに向かって移動する。
S621では、車両Cは、集配センタA(アラート通知地点)から所定範囲内に進入す
る。S622では、車両管理サーバ300は、車両Cから所定周期で送信される車両Cの位置情報から、車両Cが集配センタA(アラート通知地点)から所定範囲内に進入、すなわち、車両Cが集配センタAに接近していることを検出する。S623では、車両管理サーバ300は、センタサーバ500に、車両Cのアラート通知地点への接近を通知するアラートを送信する。
S624では、センタサーバ500は、車両管理サーバ300からアラートを受信し(図10B、S125:YES)、ドローン管理サーバ400にドローン管理情報テーブルを問い合わせる。S625では、ドローン管理サーバ400は、応答として、ドローン管理情報テーブルをセンタサーバ500に送信し、センタサーバ500はドローン管理情報テーブルを受信する(図10B、S126)。
S626では、センタサーバ500は、車両Cから第1範囲内にドローンが存在しておらず(図10B、S128:NO)、また、当該サービスにおいて第2経由地以降の経由地は存在しないので(図10B、S132:NO)、配送ドローンを未決定に設定する(図10B、S135)。また、センタサーバ500は、アラート通知地点をドローン運搬先に設定する。
S627では、センタサーバ500は、車両管理サーバ300に、車両Cについて車両監視依頼を送信する(図10B、S121)。S627における車両監視依頼のアラート通知地点は、ドローン運搬先(配送先に最も近い車両到達限界地点)である。S628では、車両Cは集配センタAに到着し、配送荷物を積載する。
図15BのS631では、車両Cは、ドローン運搬先(アラート通知地点)から所定範囲内に進入する。S632では、車両管理サーバ300は、車両Cの位置情報から、車両Cがドローン運搬先(アラート通知地点)に接近していることを検出する。S633では、車両管理サーバ300は、センタサーバ500に、車両Cのアラート通知地点への接近を通知するアラートを送信する。
S634では、センタサーバ500は、車両管理サーバ300からアラートを受信し(図10B、S125:YES)、ドローン管理サーバ400にドローン管理情報テーブルを問い合わせる。S635では、ドローン管理サーバ400は、応答として、ドローン管理情報テーブルをセンタサーバ500に送信し、センタサーバ500はドローン管理情報テーブルを受信する(図10B、S126)。
S636では、センタサーバ500は、車両Cから第1範囲内にドローンCが存在していることを検出し(図10B、S128:YES)、ドローンCを配送ドローンに選択する(図10B、S129)。
S641からS645の処理は、図14AのS531からS535の処理と同様である。すなわち、センタサーバ500はドローン管理サーバ400に対してドローンBのドローン使用依頼を送信して応答を受信し(S641、S642)、ドローン管理サーバ400はドローンBに飛行指令を送信し(S643)、車両Cは飛行計画を生成する(S644)。
なお、S641において送信されるドローン使用依頼とともにサービスに関する情報として、例えば、配送車両である車両Cへの着陸、ドローン運搬先である配送先への車両到達限界地点の位置情報、目的地として配送先の位置情報、配送荷物の識別情報等も送信される。また、S643においてドローンBに送信される飛行指令には、例えば、サービスに関する情報、車両Cへの着陸指令、ドローン運搬先における離陸指令、目的地までの荷
物の運搬指令等が含まれている。S644においてドローンBによって生成される飛行計画には、例えば、車両Cに着陸すること、荷物を積載すること、ドローン運搬先(離陸地点)において離陸すること、配送先(目的地)までの飛行経路、配送先において荷物を分離すること、等が含まれている。
S645では、ドローンCは、飛行計画に従って、車両Cに向けて飛行を開始する。なお、この場合には、ドローンCは車両Cから発信されるBLE信号を受信可能な範囲(第1範囲)内に存在するので、ドローンCは車両CのBLE信号から車両Cの位置を推定し、飛行を行う。
S651では、ドローンCは車両Cの発着場に着陸し、ドローンCと車両Cとが合流する。車両Cには、配送荷物が積載されており、ドローンCは車両Cの発着場に着陸すると、配送荷物を積載する。S652では、ドローンCは、ドローン管理サーバ400に車両Cへの着陸通知を送信する。S653では、車両Cは、車両管理サーバ300にドローンCの着陸通知を送信する。
S661からS667の処理は、図14BのS551からS667の処理と同様である。すなわち、車両Cがドローン運搬先に到着すると(S661)、ドローンCが配送先(目的地)への飛行を開始する(S662)。ドローンCは、ドローン管理サーバ400に車両Cからの離陸通知を送信する(S663)。車両Cは、ドローンCの離陸を検出し(S664)、車両管理サーバ300にドローンCの離陸通知を送信する(S665)。また、車両Cはドローン運搬先に到着することでサービス完了を検知し、車両管理サーバ300を通じてセンタサーバ500にサービス完了通知を送信する(S666)。車両Cは、移動し、ドローンCから離れたこととする(S667)。
S671では、ドローンCは、荷物の配送を完了する。S672では、ドローンCは、ドローン管理サーバ400にサービス完了通知と着陸先の問合せとを送信する。S673では、ドローン管理サーバ400はセンタサーバ500に、ドローンCのサービス完了通知と着陸先の問合せとを送信する。
以降は、例えば、図13BのS64以降や、図14BのS564以降のように、センタサーバ500によって、ドローンCの着陸先が決定され、ドローンCは決定された着陸先である車両100に移動して着陸する。
図16A及び図16Bは、具体例4における処理シーケンスの一例を示す図である。具体例4は、ドローン200の貸し出しサービスの依頼を受ける場合の例である。具体例4では、例えば、予め決められたエリアごとに車両管理サーバ300とドローン管理サーバ400とが存在し、エリアごとに車両100及びドローン200が管理されていることとする。以降、例えば、エリアAを管轄するサーバには、符号の末尾にエリアと同じアルファベットAを付与して示すこととする。
S711では、センタサーバ500は、ドローン貸出依頼を受信する。具体例4では、エリアAにおいてドローン200が足りなくなったため、エリアAのドローン管理サーバ400Aからセンタサーバ500にドローンの貸し出しサービスの依頼が発生したこととする。具体例4におけるドローン200の貸し出しサービスの依頼では、例えば、ドローン200の貸し出し先として、エリアA内の所定の地点の位置情報も受信される。したがって、具体例4では、サービスには経由地は設定されておらず、目的地はエリアA内の所定の地点となる。
S712では、センタサーバ500は、エリアAの隣接エリアであるエリアDからドロ
ーン200を貸し出すことを決定し、エリアDのドローン管理サーバ400Dにドローン管理情報テーブルを問い合わせる。S713では、ドローン管理サーバ400Dは、エリアDのドローン管理情報テーブルをセンタサーバ500に送信する。また、S713では、エリアDの車両管理サーバ300Dに車両管理情報テーブルを問い合わせる。S715では、車両管理サーバ300Dは、エリアDの車両管理情報テーブルをセンタサーバ500に送信する。
S716では、センタサーバ500は、配送車両として車両D、配送ドローンとしてドローンDを決定する。具体例4では、エリアD内にドローン着陸中の車両100が存在しておらず(図11、S201:NO)、目的地であるエリアA内の所定の地点の方向に向かう車両100のうちエリアAの所定の地点に最も近い車両100が車両Dであるためである(図11、S205)。また、車両Dのサービス状態は「非専有サービス中」であるとする。また、ドローンDが配送ドローンに選択されるのは、ドローンDが、車両Dから第1範囲内に存在し、車両Dに最も近いためである(図11、S206:YES、S207)。
S721では、センタサーバ500は、車両管理サーバ300Dに車両Dについて車両使用依頼を送信する(図10A、S106)。S722では、車両管理サーバ300Dは、センタサーバ500に対して応答を送信する(図10A、S107:YES)。これによって、センタサーバ500は、ドローン運搬先を、車両Dの経路上のエリアA内の所定の地点から最も近い地点に決定する(図10A,S108)。なお、具体例4では、車両Dの経路が変更されることはないので、車両管理サーバ300Dから車両Dに運行指令は送信されない。
S731では、センタサーバ500はドローン管理サーバ400Dに対してドローンBのドローン使用依頼を送信する(図10A、S110)。S732では、ドローン管理サーバ400Dは、センタサーバ500に応答を送信し、センタサーバ500はこれを受信する(図10A、S111:YES)。S733では、ドローン管理サーバ400Dは、ドローンDに飛行指令を送信する。S731において送信されるドローン使用依頼とともにサービスに関する情報として、例えば、配送車両として車両D、ドローン運搬先である車両Dの経路上のエリアA内の所定の地点から最も近い地点の位置情報、目的地として貸出先のエリアA内の所定の地点の位置情報等も送信される。また、S733においてドローンDに送信される飛行指令には、例えば、サービスに関する情報、車両Dへの着陸指令、ドローン運搬先における離陸指令、目的地までの飛行指令等が含まれている。
S734では、ドローンDは、ドローン管理サーバ400Dからの飛行指令に基づいて、飛行計画を生成する。S734においてドローンDによって生成される飛行計画には、例えば、車両Dに着陸すること、ドローン運搬先(離陸地点)において離陸すること、貸出先(目的地)までの飛行経路等が含まれている。
S735では、ドローンDは、飛行計画に従って、車両Dに向けて飛行を開始する。なお、この場合には、ドローンDは車両Dから発信されるBLE信号を受信可能な範囲(第1範囲)内に存在するので、ドローンDは車両DのBLE信号から車両Dの位置を推定し、飛行を行う。
S741では、ドローンDは車両Dの発着場に着陸し、ドローンDと車両Dとが合流する。S742では、ドローンDは、ドローン管理サーバ400Dに車両Dへの着陸通知を送信する。S743では、車両Dは、車両管理サーバ300DにドローンDの着陸通知を送信する。
図16BのS751からS757の処理は、図14BのS551からS557の処理と同様である。すなわち、ドローンDが着陸中の車両Dがドローン運搬先に到着すると(S751)、ドローンDが貸出先(目的地)への飛行を開始する(S752)。ドローンDは、ドローン管理サーバ400Dに車両Dからの離陸通知を送信する(S753)。車両Dは、ドローンDの離陸を検出し(S754)、車両管理サーバ300DにドローンDの離陸通知を送信する(S755)。また、車両Dはドローン運搬先に到着することでサービス完了を検知し、車両管理サーバ300Dを通じてセンタサーバ500にサービス完了通知を送信する(S756)。車両Dは、他の非専有サービスを実行中であり、他の非専有サービスの経路上を移動し、ドローンDから離れる(S757)。
S761からS763までの処理は、図14BのS561からS563までの処理と同様である。すなわち、ドローンDは、貸出先(目的地)に到着すると(S761)、ドローン管理サーバ400Dを通じてセンタサーバ500にサービス完了通知と着陸先の問合せとを送信する(S762、S763)。
S764では、センタサーバ500は、配送車両である車両Dと配送ドローンであるドローンDとからサービス完了通知を受信したので、サービスの依頼元であるエリアAのドローン管理サーバ400Aにサービス完了通知を送信する。ドローン管理サーバ400Aには、サービス完了通知とともに、エリアAに移動したドローンDの識別情報も通知される。また、図示は省略されるが、センタサーバ500は、ドローン管理サーバ400Dを通じてドローンDにエリアAのドローン管理サーバ400Aの情報を通知する。これによって、ドローンDは位置情報をドローン管理サーバ400Aに送信するようになり、ドローン管理サーバ400Aからの飛行指令を受けるようになる。
S781では、センタサーバ500は、ドローンDからのサービス完了通知と着陸先の問合せを受けて(図12、S301:YES)、ドローンDの周囲に目的地があるサービスも、ドローンDを必要とするサービス前の車両100も存在しないので(図12、S302:NO、S304:NO)、車両管理サーバ300Aに車両管理情報テーブルを問い合わせる(図12、S306)。S781で車両管理サーバ300Aに車両管理情報テーブルを問い合わせるのは、着陸先の問合せとともに受信されるドローンDの現在位置がエリアA内であるからである。S782では、車両管理サーバ300Aは、応答としてセンタサーバ500にエリアAの車両管理情報テーブルを送信する。
S783では、センタサーバ500は、ドローンDの位置情報とエリアAの車両管理情報テーブルに含まれる各車両100の位置情報に基づいて、ドローンDの最も近くに存在する車両100として車両Eを選択する(図12、S307)。
以降のS791からS797の処理は、図13BのS71からS77の処理と同様である。すなわち、センタサーバ500は、ドローン管理サーバ400Aに、ドローンDの着陸先の問合せに対する応答として、着陸先として車両Eを通知し(S791)、ドローン管理サーバ400Aは、ドローンDに、車両Eへの着陸指示を含む飛行指令を送信する(S792)。ドローンDは、車両Eへの飛行計画を生成し(S793)、飛行を開始する(S794)。ドローンDが車両Eの発着場に着陸し、車両Eと合流すると(S795)、ドローンDは車両Eへの着陸通知をドローン管理サーバ400Aに送信し(S796)、車両EはドローンDの着陸通知を車両管理サーバ300Aに送信する(S797)。
なお、エリアAにおいてドローンDの使用が終了すると、エリアAのドローン管理サーバ400Aからセンタサーバ500にドローンDの返却依頼が送信され、図16A及び図16Bと同様にして、貸出依頼と同様にして、ドローンDがエリアDに返却される。
<第1実施形態の作用効果>
第1実施形態によれば、目的地又は経由地、ドローン200、及び車両100の位置関係に基づいて、配送ドローンと配送車両とが選択される。例えば、第1実施形態では、目的地又は経由地から第2範囲内の、ドローン200が着陸中の車両100と当該ドローン200が優先して配送車両と配送ドローンとに選択される。また、第1実施形態では、目的地又は経由地から第2範囲内にドローン200が着陸中の車両100が存在しない場合には、目的地又は経由地から第2範囲内の単独車両が配送車両に選択され、当該単独車両から第1範囲内のドローン200が配送ドローンに選択される。また、第1実施形態では、サービスの依頼を受けた時点で単独車両が配送車両に選択されるものの、配送車両の近くにドローンが存在しない場合にはドローン未選択とし、目的地又は経由地に配送車両が接近すると、周囲のドローン200が探索され、配送ドローンが選択される。
これによって、例えば、配送車両又は配送ドローンが、配送ドローン又は配送車両を待つための時間を短縮できるため、より早く目的地又は経由地に配送車両又は配送ドローンを向かわせるようにすることができる。また、配送ドローンの飛距離をより短くすることができるため、ドローンの電力を節約できより長い時間ドローンを利用するサービスを行うことができる。これによって、ドローンを利用したサービスの全体的な効率を向上させることができる。
また、第1実施形態では、ドローン200の離着陸は1台の車両100の発着場に限定されないため、ドローン200は離陸した車両100とは異なる車両100に着陸することができる。これによって、ドローン200の離着陸の自由度が向上し、ドローンを利用したサービスの全体的な効率を向上させることができる。また、例えば、最も近くの車両100に着陸するようにする場合には、ドローン200の飛行距離を節約することができる。
また、第1実施形態では、車両100が他のサービスを実行中であっても、ドローン200の着陸先として選択することができる。ドローン200の実行中のサービスのドローン運搬先は、車両100が非サービス中である場合には目的地から最も近い車両到達限界地点に設定され、車両100がサービス中である場合には当該車両100の経路上の目的地から最も近い地点に設定される。これによって、車両100の使用効率を向上させることができる。
また、第1実施形態では、サービスを完了したドローン200の着陸場所として、サービス実行中の単独車両が優先して選択され、当該ドローン200が、当該単独車両が実行中のサービスの配送ドローンとして動作する(図12、S305等)。これによって、ドローン200の使用効率を向上させることができる。
また、第1実施形態では、サービスを完了したドローン200の周囲に、他のサービスの目的地がある場合には、当該ドローン200を当該目的地に向かわせる(図12、S303等)。他のサービスは、例えば、ドローンの貸し出しサービスである。これによって、当該他のサービスの目的地におけるドローン到着までの待ち時間を短縮することができる。
また、第1実施形態では、車両100は自律走行車であるので、運転手等の人的資源を節約することができる。また、第1実施形態では、車両100は、ドローン200の給電設備を備えるので、ドローン200は車両100に着陸している間に充電することができ、ドローン200をより長い時間使用することができる。また、ドローン200の電力不足によるサービス停止を防ぐことができる。
<その他>
第1実施形態では、センタサーバ500は単独の装置であることを前提として説明されたが、センタサーバ500は、例えば、車両管理サーバ300又はドローン管理サーバ400のいずれか一方と同じ装置上に構成されてもよい。または、センタサーバ500、車両管理サーバ300、及びドローン管理サーバ400のすべては1台の装置上に構成されてもよい。
また、第1実施形態では、配送車両及び配送ドローンは、まず配送車両が先に決定され、次に配送車両に基づいて配送ドローンが決定されるが、これに限定されない。まず先に配送ドローンが決定され、次に配送ドローンに基づいて配送車両が決定されてもよい。より具体的には、例えば、第1経由地又は目的地に最も近いドローン200を配送ドローンに決定し、配送ドローンに最も近い車両100を配送車両に決定してもよい。
また、第1実施形態では、配送ドローンは、ドローン運搬先に到着したことを検出すると配送車両から離陸するが、配送ドローンの配送車両からの離陸の契機は、これに限定されず、例えば、目的地から所定距離以下となったことを検出した場合に配送車両から離陸するようにしてもよい。
また、第1実施形態では、サービス開始からサービス完了まで配送車両として動作する車両100は1台であるが、これに限られず、配送車両として動作する車両がサービスの進行具合に応じて変化してもよい。例えば、荷物の配送において、経由地である集荷場所に向かう車両100と目的地に向かう車両100とが異なっていてもよい。より具体的には、例えば、車両Xに配送ドローンが着陸しており、車両Xが集荷場所に到着し、配送ドローンが荷物を積載したら、配送ドローンの周囲に存在し、配送先方向に向かう車両Yに配送ドローンが乗り移ってもよい。例えば、センタサーバ500がサービスの進行具合を監視し、各経由地に配送ドローンが到着する度に、配送車両として適する車両100を選択する処理を行うことによって、実現可能である。
また、第1実施形態において、センタサーバ500が配送車両及び配送ドローンを選択するが、これに限定されず、例えば、センタサーバ500が配送車両又は配送ドローンを選択し、配送車両又は配送ドローン自身が配送ドローン又は配送車両を選択するようにしてもよい。または、車両100とドローン200とが各種サーバを介さずに直接通信可能な場合には、車両100とドローン200とが各自でサービスの依頼を受け配送車両及び配送ドローンを決定してサービスを実行するようにしてもよい。
<記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記の発行制御を実現させるプログラムを、コンピュータ等が読み取り可能な記録媒体に記録することができる。コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、当該コンピュータが上記のセンタサーバ500として機能する。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、又は化学的作用によって蓄積し、コンピュータ等から読み取ることができる非一時的な記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ROM(リードオンリーメモリ)等がある。さらに、SSD(Solid State Drive)は、コンピュータ等から取り外し可能な記録媒体としても、コン
ピュータ等に固定された記録媒体としても利用可能である。