<実施例1>
以下、本発明の実施例1について添付図面を参照しつつ説明する。
本発明の実施例1に係る情報処理システム1は、図1に示すような、ユーザに携帯される情報処理装置10と、当該ユーザが利用する駅での業務を行う駅務システム21及び22と、情報処理装置10によって指定された駅内の受取場所に荷物を配送する配送システム30と、を備える。情報処理装置10、駅務システム21及び22、並びに、配送システム30は、インターネットINと通信可能に接続されている。
情報処理装置10は、例えば、スマートフォンやタブレット型のパーソナルコンピュータであり、携帯に適した大きさ及び重さを有している。このため、情報処理装置10を、以下、携帯端末10と称する。
携帯端末10は、図2に示すようなCPU(Central Processing Unit)101、RAM(Random Access Memory)102、ROM(Read Only Memory)103a、フラッシュメモリ103b、データ通信回路104a、音声通信回路104b、タッチパネル105、GPS(Global Positioning System)回路106、スピーカ107a、及び、マイクロフォン107bを備える。
CPU101は、ROM103a又はフラッシュメモリ103bに保存されたプログラムを実行することで、携帯端末10の全体制御を行う。RAM102は、CPU101によるプログラムの実行時において、処理対象とするデータを一時的に記憶する。
ROM103a及びフラッシュメモリ103bは、各種のプログラムを記憶している。フラッシュメモリ103bは、半導体メモリであり、各種のデータやデータを保存したテーブルをさらに記憶する。携帯端末10は、フラッシュメモリ103bの代わりに、ハードディスクを備えても良い。
データ通信回路104aは、例えば、LTE(Long Term Evolution)及び3G(3rd Generation)といった通信規格に従って、インターネットINに接続された不図示の基地局と電波を用いたデータ通信を行う。これにより、データ通信回路104aは、インターネットINを介して接続される駅務システム21及び22、並びに、配送システム30とデータ通信する。音声通信回路104bは、不図示の基地局と電波を用いた音声通信を行う。
タッチパネル105は、ビデオカード105a、表示装置105b、及び、入力装置105cを備えている。ビデオカード105aは、CPU101から出力されたデジタル信号に基づいて画像をレンダリングすると共に、描画された画像を表す画像信号を出力する。表示装置105bは、LCD(Liquid Crystal Display)であり、ビデオカード105aから出力された画像信号に従って画像を表示する。携帯端末10は、LCDの代わりに、PDP(Plasma Display Panel)又はEL(Electroluminescence)ディスプレイを備えても良い。入力装置105cは、タッチパッドであり、ユーザの操作に応じた信号を入力する。表示装置105bと入力装置105cとは、表示装置105bの表示方向から見て、表示面と入力面とが互いに重なり合うように配置されている。
GPS回路106は、GPS衛星から発せられたGPS信号を受信し、受信したGPS信号に基づいて携帯端末10の緯度及び経度を計測し、計測した緯度及び経度を表す信号を出力する。スピーカ107aは、周囲の音声を表す信号を入力し、マイクロフォン107bはCPU101が出力する信号に従って音声を出力する。
携帯端末10を携帯するユーザは、運賃を電子マネーで支払うために用いられるIC(Integrated Circuit)カード11をさらに携帯している。ICカード11は、不図示のアンテナを有する通信回路、CPU、RAM、ROM、及び、EEPROM(Electrically Erasable Programmable Read-Only Memory)を備える。
通信回路は、駅務システム21又は22からアンテナで電波を受信し、アンテナから出力される信号を復調し、復調された信号をCPUへ出力する。また、通信回路は、CPUから出力された信号を変調し、変調した信号をアンテナから電波として駅務システム21又は22に送信する。
ICカード11のCPU、RAM、及び、ROMの構成及び機能は、図2に示した携帯端末10のCPU101、RAM102、及び、ROM103aの構成及び機能と同様である。ICカード11のEEPROMは、書き換え可能なメモリであり、CPUによって情報を保存、更新、及び、削除され、かつ、記憶している情報をCPUによって読み出される。
EEPROMには、ICカード11を識別する識別情報(以下、カードID(IDentification)という)と、電子マネーの管理主体に預けられている金額であるチャージ金額を表す情報と、が保存されている。
チャージ金額を表す情報を読み出すことを命じる読出信号を、駅務システム21又は22から通信回路が受信すると、CPUは、受信された読出信号に従って、EEPROMから、カードIDとチャージ金額を表す情報とを読み出す。その後、CPUは、読み出した情報を通信回路へ出力し、通信回路は、出力された情報を駅務システム21又は22へ返信する。
その後、チャージ金額から駅の入場料又は運賃を差し引いた後の金額(以下、残額という)を表す情報と、チャージ金額を表す情報の更新を命じる更新信号と、を駅務システム21又は22から通信回路が受信する。その後、CPUは、受信された更新信号に従って、EEPROMに保存されているチャージ金額を表す情報を、受信した残額を表す情報に更新する。このようにして、駅への入場料及び運賃が電子マネーで決済される。本実施例では、説明を容易にするため、入場料及び運賃は、乗降駅に関わらず定額であるとする。
ICカード11を携帯するユーザは、携帯端末10の入力装置105cに、荷物の受取方法の指定に用いられるアプリケーション(以下単に、受取方法指定アプリという)をダウンロードさせる操作を行う。入力装置105cが当該操作に応じた信号を入力すると、CPU101は、当該信号に応じて、フラッシュメモリ103bに予め記憶された所定のURL(Uniform Resource Locator)を読み出す。次に、CPU101は、受取方法指定アプリのダウンロードを許可するように求めるリクエストを生成し、読み出したURLを宛先としてリクエストをデータ通信回路104aへ出力する。
リクエストを送信したデータ通信回路104aが受取方法指定アプリのダウンロードを終了すると、CPU101は、受取方法指定アプリを実行する。受取方法指定アプリの実行を開始すると、CPU101は、ユーザを識別する識別情報(以下、ユーザIDという)と、ユーザが使用するICカード11のカードIDと、の登録を配送システム30に要求する、不図示の登録要求処理を実行する。ユーザが受取方法指定アプリを用いて、駅内の場所を、ユーザ宛の荷物の受取場所として指定する準備をするためである。
登録要求処理の実行を開始すると、CPU101は、ユーザIDとカードIDとの入力を促す表示を表示装置105bに行わせる。表示装置105bを視認したユーザは、例えば、ICカード11の裏面に印字されているカードIDを視認して、ICカード11のカードIDとユーザIDとを入力させる操作を入力装置105cに行う。
ユーザの操作に従って入力装置105cが信号を入力すると、CPU101は、入力された信号に従って、ユーザIDとカードIDとを含み、これらの情報の登録を求める登録リクエスト生成し、生成した登録リクエストを、配送システム30を宛先としてデータ通信回路104aへ出力する。その後、CPU101は、データ通信回路104aが登録リクエストを送信してから、登録要求処理の実行を終了する。
次に、配送方法指定アプリの使用準備を終えたユーザが、携帯端末10を携帯して、勤務先の最寄り駅であるA駅から列車に乗り、ユーザの家の最寄り駅であるB駅で下車する場合を例に挙げて説明する。このため、駅務システム21はA駅に設置されており、駅務システム22はB駅に設置されているとして説明を行う。
駅務システム21は、図1に示すような、ICカード11を用いた入場料の支払いに応じて、A駅のホームへの入場を許否する自動改札機211と、運賃の支払いに応じてホームからの退場を許否する自動改札機212と、を備える。
自動改札機211は、図3に示すような主機219aと従機219bとを備えている。主機219aと従機219bとは、ホームへと続く通路を挟んで、互いに対抗するように配置され、通路の開放と閉鎖とを行う扉216aと扉216bとをそれぞれ備える。
主機219aは、ホームへの入場方向DIに向かって、扉216a及び扉216bよりも手前の位置に、ユーザが携帯するICカード11と通信することで、入場料の決済を行うICカードリーダライタ(以下、ICカードRWという)217を備える。ICカードRW217は、ICカード11が備える通信回路と同様の構成及び機能を有する不図示の通信回路を備える。
また、主機219aは、ICカードRW217による入場料の決済が成功した場合に、所定時間に亘り通路を開放し、所定時間の経過後、及び、決済が失敗した場合に、通路を閉鎖するように扉216a及び扉216bの開閉を制御する、図4に示すような制御装置218を筐体内部に備える。
制御装置218は、CPU281、RAM282、ROM283a、フラッシュメモリ283b、通信回路284、入出力ポート288、及び、駆動回路289を備える。制御装置218のCPU281、RAM282、ROM283a、及び、フラッシュメモリ283bの構成及び機能は、図2に示した携帯端末10のCPU101、RAM102、ROM103a、及び、フラッシュメモリ103bの構成及び機能と同様である。
通信回路284は、例えば、NIC(Network Interface Card)であり、インターネットに接続された不図示のルータを介して配送システム30と通信する。入出力ポート288は、図3のICカードRW217と不図示の通信ケーブルで接続されており、CPU281が出力した信号をICカードRW217へ出力し、ICカードRW217が出力した信号をCPU281へ入力する。
駆動回路289は、CPU281が出力する信号に従って、図3の扉216a及び216bの開閉をそれぞれ行う不図示のモータを駆動させる。
ここで、ホームへ入場するユーザが、図3に示した自動改札機211のICカードRW217にICカード11をかざすと、ICカードRW217の不図示の通信回路が備えるアンテナと、ICカード11の不図示の通信回路が備えるアンテナと、が電磁誘導により結合する。ICカードRW217の通信回路は、アンテナの結合を検出すると、結合を報告する結合信号を、自動改札機211の制御装置218へ出力する。
図4に示した制御装置218のCPU281は、入出力ポート288を介して結合信号が入力されると、入出力ポート288を介して読出信号をICカードRW217へ出力する。ICカードRW217は、出力された読出信号をICカード11へ送信した後に、ICカード11のカードIDとチャージ金額を表す情報とを受信する。
その後、自動改札機211のCPU281は、ICカードRW217から入力されるカードIDとチャージ金額を表す情報とを取得し、チャージ金額が、起動時にフラッシュメモリ283bから読み出した入場料以上であるか否かを判別する。CPU281は、チャージ金額が所定の入場料以上であると判別すると、ICカード11を使用したユーザの入場を許可すると判別する。
その後、CPU281は、取得したICカード11のカードIDを含み、ICカード11を使用したユーザが自動改札機211を通過してホームへ入場したことを知らせる入場通知を生成する。次に、CPU281は、配送システム30を宛先として、入場通知を通信回路284へ出力し、通信回路284は、出力された入場通知を送信する。
また、CPU281は、チャージ金額から入場料を差し引いた残額を算出し、残額を表す情報と更新信号とをICカードRW217へ出力してから、通路の開放を命じる信号を駆動回路289へ出力する。
これに対して、CPU281は、チャージ金額が入場料より少ないと判別すると、ICカード11を使用したユーザの入場を拒否し、通路の閉鎖を命じる信号を駆動回路289へ出力する。
図1に示す自動改札機212の構成及び機能は、自動改札機211の構成及び機能と同様である。しかし、自動改札機211は、入場料の支払いに応じてユーザのホームへの入場を許否し、入場を許可した場合に入場通知を送信するのに対し、自動改札機212は、運賃の支払いに応じて退場を許否し、退場を許可した場合にユーザのホームからの退場を知らせる退場通知を送信する点で相違している。
B駅に設置された駅務システム22は、自動改札機221及び222、並びに、ロッカー装置228及び229を備える。B駅の駅務システム22が備える自動改札機221及び222の構成及び機能は、A駅の駅務システム21が備える自動改札機211及び212の構成及び機能とそれぞれ同様である。
ロッカー装置228は、荷物の保管に用いられる、図5に示すような複数の保管ボックス810を複数備えている。また、ロッカー装置228は、荷物が置かれる荷物台821及び822と、荷物台821又は822に置かれた荷物を、荷物が保管されていない(つまり、空いている)保管ボックス810に荷物を収納するロボットアーム823と、を上面に備える。さらに、ロッカー装置228は、保管ボックス810の施錠及び解錠、並びに、ロボットアーム823の動作を制御する制御装置830と、を備える。
保管ボックス810は、扉811と、扉811を受止める扉枠812と、扉811の裏面に設置されたカンヌキであるデッドボルト813と、デッドボルト813の受座であり、扉枠812に設置されたストライク814と、を備える。
また、保管ボックス810は、制御装置830から出力される信号に従って、デッドボルト813をストライク814へ挿入させることで扉811を施錠し、デッドボルト813をストライク814から抜出させることで扉811を解錠する、不図示のモータを備えている。
ロボットアーム823は、垂直多関節ロボットであり、制御装置830から出力される信号に従って不図示のモータを駆動させる駆動回路と、モータによって平行に開閉させられる二爪式のグリッパーと、を備える。また、ロボットアーム823は、グリッパーに搭載され、光軸をグリッパーの爪先に向けられた撮影装置824と、モータによって可動させられる複数の関節構造及び関節構造を中心として可動する複数のアームと、を備える。グリッパーは、二爪式に限定される訳で無く、三本以上の爪を有しても良いし、二本の爪の代わりに複数本の指を有しても良い。
ロボットアーム823が備える撮影装置824は、デジタル式のステレオカメラであり、制御装置830から出力される信号に応じて撮影を行い、互いに視差を有する2つの撮影画像を表す情報を制御装置830へ出力する。視差に基づいて、グリッパーの摘持対象物の3次元空間における位置座標及びサイズ等を、制御装置830が特定するためである。
制御装置830は、図6に示すようなCPU831、RAM832、ROM833a、フラッシュメモリ833b、データ通信回路834a、タッチパネル835、ICカードRW837、入出力ポート838、及び、駆動回路839を備える。制御装置830のCPU831、RAM832、ROM833a、フラッシュメモリ833b、データ通信回路834a、及び、タッチパネル835の構成及び機能は、図2に示した携帯端末10のCPU101、RAM102、ROM103a、フラッシュメモリ103b、データ通信回路104a、及び、タッチパネル105の構成及び機能とそれぞれ同様である。制御装置830のICカードRW837の構成及び機能は、図3に示した自動改札機211が備えるICカードRW217の構成及び機能と同様である。
フラッシュメモリ833bは、保管ボックス810の収納状態を管理するために用いられる情報が保存される、図7に示すようなボックス管理テーブルを記憶している。ボックス管理テーブルには、保管ボックス810を識別するボックスIDと、保管ボックス810の収納状態を表す状態情報と、保管ボックス810に収納された荷物の荷物IDと、荷物の宛先とされたユーザが使用するICカード11のカードIDと、が対応付けられたデータが複数保存されている。
入出力ポート838は、不図示の通信ケーブルを介して、ロボットアーム823が備える不図示の駆動回路及び撮影装置824に接続されている。入出力ポート838は、CPU831から出力された制御信号をロボットアーム823の駆動回路又は撮影装置824へ出力し、撮影装置824から出力された信号をCPU831へ入力する。
駆動回路839は、不図示の複数のケーブルを介して、複数の扉811がそれぞれ備える不図示のモータに接続されており、CPU831が出力する信号に従ってそれぞれのモータを駆動させる。
ロッカー装置228は、B駅のホームからの不図示の退場方向に向かって、自動改札機222よりも先の位置に設置されているため、B駅の乗降客だけでなく、例えば、買い物客のような一般のユーザにより利用されてもよい。このため、例えば、B駅の周辺で買い物をしている買い物客が、買い物により増えた荷物を、買い物中にロッカー装置228へ預け入れる場合について、先に簡単に説明し、ICカード11を用いて列車に乗車したユーザによる荷物の受け取りについては、後に詳細に説明する。
買い物客がロッカー装置228の前に立ち、空いている保管ボックス810を選択する操作をタッチパネル835に行うと、タッチパネル835は、当該操作に応じた信号を出力する。図6に示した制御装置830のCPU831は、タッチパネル835から出力された信号に応じて、買い物客に選択された保管ボックス810を識別する識別情報(以下、ボックスIDという)を取得する。次に、CPU831は、取得したボックスIDと、扉811の解錠及び開放を命じる開放信号と、を駆動回路839に出力する。その後、選択された保管ボックス810が備える不図示のモータを、駆動回路839が駆動させることで、扉811が解錠及び開放される。
買い物客は、荷物台821又は822に荷物を置いた後、荷物が置かれた荷物台821又は822を指定する操作と、荷物台821又は822に置かれた荷物をロボットアーム823に収納させる操作をタッチパネル835に行う。その後、CPU831は、タッチパネル835から出力される信号に基づいて、荷物が置かれた荷物台821又は822を識別する識別情報(以下、荷物台IDという)を取得する。次に、CPU831は、取得した荷物台IDと、当該荷物台IDで識別される荷物台821又は822を撮影可能な位置へ撮影装置824を移動させた後に、荷物台821又は822を撮影可能な方向へ撮影装置824を向けさせる制御信号を、ロボットアーム823に接続された入出力ポート838へ出力する。
その後、CPU831は、撮影を命じる信号を、入出力ポート838を介して撮影装置824へ出力し、撮影装置824から出力された信号を、入出力ポート838を介して入力される。CPU831は、入力された信号で表される2つの撮影画像の視差に基づいて、収納させる荷物の3次元空間における位置座標及びサイズを算出する。その後、CPU831は、選択された保管ボックス810のボックスIDに予め対応付けて保存されている保管ボックス810の位置座標及びサイズを表す情報を、フラッシュメモリ833bから取得する。
次に、CPU831は、算出した荷物の位置座標及びサイズを表す情報と、取得した保管ボックス810の位置座標及びサイズを表す情報と、に基づいて、荷物台821又は822に置かれた荷物を掴んで保管ボックス810に収納させる制御信号を生成する。その後、CPU831は、生成した制御信号を、入出力ポート838を介してロボットアーム823へ出力し、ロボットアーム823は、制御信号に従って動作することで、買い物客によって選択された保管ボックス810に、荷物台821又は822に置かれた買い物客の荷物を収納する。
その後、CPU831は、ICカードをICカードRW837にかざすことを促す表示をするようにタッチパネル835を制御する。タッチパネル835を視認した買い物客がICカードをICカードRW837にかざすと、CPU831は、買い物客のICカードを識別するカードIDを、ICカードRW837から取得する。取得したカードIDを、選択された保管ボックス810の扉811の電子鍵とするためである。次に、CPU831は、選択された保管ボックス810のボックスIDと、扉811の閉鎖及び施錠を命じる閉鎖信号と、を駆動回路839に出力する。その後、CPU831は、図7のボックス管理テーブルに、使用中状態となった保管ボックス810のボックスIDと、使用中状態を表す状態情報と、「NULL」の荷物IDと、取得したカードIDと、を対応付けて保存する。荷物IDを「NULL」としたのは、買い物客の荷物には、荷物IDが付与されていないためである。このようにして、荷物の預け入れが完了する。
次に、買い物を終えた買い物客が、ICカードをICカードRW837にかざして保管料を決済すると、CPU831は、カードIDをICカードRW837から取得し、取得したカードIDと対応付けられたボックスIDを、図7のボックス管理テーブルから取得する。買い物客の荷物を収納した保管ボックス810を特定するためである。その後、CPU831は、取得されたボックスIDと、扉811の解錠及び開放を命じる開放信号と、を駆動回路839に出力する。また、CPU831は、図7に示したボックス管理テーブルにおいて、ボックスIDに対応付けられた状態情報を、空き状態を表す状態情報に更新し、荷物ID及びカードIDを「NULL」に更新する。その後、買い物客が荷物を取り出すことで、荷物の取り出しが完了する。
ロッカー装置228のCPU831は、例えば、1分といった所定周期で、ロッカーの使用状態を、配送システム30に知らせる使用状態通知を出力する、不図示の使用状態通知処理を実行する。配送システム30は、ロッカーの使用状態に基づいて荷物の受取場所を決定するためである。使用状態通知処理の実行を開始すると、CPU831は、図7のボックス管理テーブルに保存された情報と、ロッカー装置228を識別する識別情報(以下、ロッカーIDという)と、をフラッシュメモリ833bから取得する。次に、CPU831は、取得した情報を含む使用状態通知を生成し、生成した使用状態通知を、配送システム30を宛先としてデータ通信回路834aへ出力する。その後、データ通信回路834aが使用状態通知を送信すると、CPU831は、使用状態通知処理の実行を終了する。
ロッカー装置229の構成及び機能は、ロッカー装置228の構成及び機能と同様である。
配送システム30は、携帯端末10を使用するユーザの家及び駅Bを含む地域内で荷物の配送を行う営業所に設置されている。配送システム30は、営業所へ配送された荷物の配送制御に関する情報を処理する情報処理装置310と、情報処理装置310の制御に従って、荷物を配送する無人航空機390と、を備える。情報処理装置310はサーバ機であるので、情報処理装置310を、以下、配送制御サーバ310と称する。
配送制御サーバ310は、図8に示すようなCPU311、RAM312、ROM313a、ハードディスク313b、通信回路314、ビデオカード315a、表示装置315b、及び、入力装置315bを備える。配送制御サーバ310のCPU311、RAM312、ROM313a、ビデオカード315a、及び、表示装置315bの構成及び機能は、図2に示した端末装置10のCPU101、RAM102、ROM103a、ビデオカード105a、及び、表示装置105bの構成及び機能とそれぞれ同様である。また、配送制御サーバ310の通信回路314の構成及び機能は、図4に示した自動改札機211が備える通信回路284の構成及び機能と同様である。
図8に示す配送制御サーバ310のハードディスク313bは、各種のデータやデータを保存したテーブルを記憶する。配送制御サーバ310は、ハードディスク313bの代わりに、フラッシュメモリを備えても良い。入力装置315cは、例えば、キーボード、マウス、及び、タッチパッドのいずれか1つ以上である。
配送制御サーバ310のCPU311は、通信回路314が携帯端末10から登録リクエストを受信すると、携帯端末10を使用するユーザのユーザIDを登録する不図示のユーザ登録処理を実行する。これにより、CPU311は、図9に示すような情報取得部321及び情報保存部322として機能し、ハードディスク313bは、情報記憶部329として機能する。
情報記憶部329は、ユーザのユーザIDと、当該ユーザが使用するICカード11のカードIDと、を対応付けたデータが1又は複数保存される、図10に示すようなユーザテーブルを記憶している。
不図示の登録処理の実行が開始されると、情報取得部321は、通信回路314から登録リクエストを取得し、登録リクエストに含まれるユーザIDとカードIDとを取得する。その後、情報保存部322は、取得されたユーザIDとカードIDとを対応付けて、図10のユーザテーブルに保存した後に、ユーザ登録処理の実行を終了する。
情報記憶部329は、ICカードで保管料が決済されるロッカー装置228及び229の使用状態に関する情報が保存される、図11に示すような使用状態テーブルをさらに記憶している。使用状態テーブルには、複数のレコードが保存される。各レコードには、ロッカー装置228又は229のロッカーIDと、当該ロッカー装置228又は229が備える保管ボックス810のボックスIDと、当該保管ボックス810の使用状態を表す状態情報と、当該保管ボックス810に収納された荷物の荷物IDと、荷物の宛先とされたユーザが使用するICカード11のカードIDと、が対応付けられたデータが保存される。
配送制御サーバ310の通信回路314が、ロッカー装置228又は229から使用状態通知を受信すると、配送制御サーバ310のCPU311は、受信された使用状態通知に基づいて、図11の使用状態テーブルを更新する不図示の状態更新処理を実行する。
不図示の状態更新処理の実行が開始されると、情報取得部321は、通信回路314から使用状態通知を取得し、使用状態通知に含まれるロッカーIDとボックスIDと状態情報と荷物IDとカードIDとを取得する。その後、情報保存部322は、図11の使用状態テーブルにおいて、取得されたロッカーIDとボックスIDとに対応付けられた状態情報と荷物IDとカードIDとを、取得された状態情報と荷物IDとカードIDとで更新した後に、状態更新処理の実行を終了する。
情報記憶部329は、配送が予定される荷物に関する情報(以下、配送予定荷物情報という)が複数保存された、図12に示すような配送予定荷物テーブルをさらに記憶している。配送予定荷物情報は、配送が予定される荷物を識別する情報(以下、荷物IDという)と、当該荷物の宛先として指定されたユーザのユーザIDと、当該荷物の配送状態を表す状態情報と、当該荷物の送り主や種類といった備考を表す備考情報と、が対応付けられた情報である。
荷物の配送状態は、荷物の受取方法が指定されていない未指定の状態、受取方法が指定されているが、指定された受取場所へ配送されていない指定済みの状態、指定された受取場所へ配送されているが、荷物をユーザが受け取っていない配送済みの状態、及び、荷物をユーザが受け取った受取済みの状態、を含む。
配送制御サーバ310の通信回路314が、図1に示した自動改札機211からユーザがホームへ入場したことを知らせる入場通知を受信すると、CPU311は、受取方法が指定されていない当該ユーザ宛の荷物の存在を通知する、図13に示すような未指定通知処理を実行する。これにより、CPU311は、自動改札機211の設置されたA駅からのユーザの移動、又は、乗り継ぎ駅としてA駅を通過するユーザの移動を検知する、図9に示すような移動検知部323として機能する。
未指定通知処理の実行が開始されると、図9に示した情報取得部321は、図8に示した通信回路314から入場通知を取得し、入場通知に含まれるカードIDを取得する(ステップS01)。次に、移動検知部323は、図10のユーザテーブルにおいて、取得したカードIDと対応付けられたユーザIDを取得する(ステップS02)。カードIDで識別されるICカード11を自動改札機211で使用したユーザを特定するためである。次に、移動検知部323は、取得されたユーザIDで識別されるユーザの移動を検知する(ステップS03)。
その後、情報取得部321は、図12の配送予定荷物テーブルから、取得されたユーザIDと、未指定の状態を表す状態情報と、を含む配送予定荷物情報を取得する(ステップS04)。次に、情報取得部321は、配送予定荷物情報を取得できたか否かを判別する(ステップS05)。このとき、情報取得部321は、配送予定荷物情報を取得できなかったと判別すると(ステップS05;No)、移動を検知したユーザ宛の荷物であり、かつ、受取方法が指定されていない荷物が存在しないと判別する。その後、情報取得部321は、未指定通知を送信させることなく、未指定通知処理の実行を終了する。
これに対して、情報取得部321は、配送予定荷物情報を取得できたと判別すると(ステップS05;Yes)、配送予定荷物情報を含み、当該荷物に対して受取方法が指定されていないことを知らせる未指定通知を生成する。その後、情報取得部321は、移動を検知したユーザが使用する携帯端末10を宛先として、生成した未指定通知を通信回路314へ出力し(ステップS06)、通信回路314が未指定通知を送信してから、未指定通知処理の実行を終了する。
ユーザがA駅の自動改札機211を通過した後、自動改札機211から入場通知を受信した配送制御サーバ310が未指定通知を送信すると、当該ユーザが携帯する携帯端末10は未指定通知を受信する。このため、通常、携帯端末10は、ユーザがA駅のホームで列車を待つ間、又は、A駅からB駅へ向かう列車に乗って移動している間に、未指定通知を受信する。
携帯端末10のCPU101は、図2に示したデータ通信回路104aが未指定通知を受信すると、受取方法指定アプリの実行を促す、不図示の実行催促処理を実行する。これにより、CPU101は、未指定通知を取得する、図14に示すような情報取得部121及び受取方法指定アプリの実行を促す表示及び音声の出力を制御する音声表示制御部125として機能する。
実行催促処理の実行が開始されると、情報取得部121は、データ通信回路104aから未指定通知を取得し、取得した未指定通知に含まれる配送予定荷物情報を取得する。その後、情報取得部121は、配送予定荷物情報に含まれる備考情報を取得し、音声表示制御部125は、荷物の受取方法を指定するように促すメッセージと、備考情報で表される荷物の送り主及び種類と、を表示するようにタッチパネル105を制御する。次に、音声表示制御部125は、受取方法の指定を促す音声を出力するようにスピーカ107aを制御した後、実行催促処理の実行を終了する。
メッセージと荷物の送り主及び種類とを視認したユーザが、受取方法指定アプリを起動させる操作をタッチパネル105に行うと、タッチパネル105が当該操作に応じて出力する信号に応じて、CPU101は、受取方法指定アプリを実行する。これにより、CPU101は、受取方法の生成に用いられるユーザの移動に関する情報(以下、移動情報という)を取得する、図15に示すような移動情報取得処理を実行する。
移動情報取得処理の実行が開始されると、図14に示した携帯端末10の音声表示制御部125は、図16に示すような移動情報の入力に用いられる入力画面を、図2に示した表示装置105bに表示させる(ステップS11)。
本実施例において、移動情報は、ユーザが列車を下車する駅、又は、列車に乗って最終的に到着する駅である到着駅が在る地点(以下、第1の地点という)を表す情報及び第1の地点への列車の到着予定時刻を表す情報を含むとして説明する。ユーザが列車で到着する地点には、B駅があるので、B駅の名称を表す情報は、第1の地点を表す情報であるとして、以下の説明を行う。
ステップS11が実行された後に、情報取得部121は、図2に示したGPS回路106から緯度及び経度を表す信号を取得する(ステップS12)。次に、情報取得部121は、緯度及び経度を表す情報を含み、当該緯度及び経度で表される地点から最も近い駅を検索するように求めるリクエストを、インターネットINに接続された不図示の検索エンジンを宛先としてデータ通信回路104aへ出力する。
検索エンジンは、駅の名称を表す情報と、当該駅の緯度及び経度を表す情報と、が予め対応付けて保存された不図示の駅検索テーブルを有している。このため、検索エンジンは、駅検索テーブルに保存された緯度及び経度を表す情報の内で、リクエストで表される緯度及び経度に在る地点との距離が最も小さい地点の緯度及び経度を表す情報を特定する。次に、検索エンジンは、駅検索テーブルにおいて特定した緯度及び経度を表す情報に対応付けられたA駅の名称を表す情報を検索テーブルから検索する。
データ通信回路104aがリクエストを送信した後に、検索されたA駅の名称を表す情報を含んだレスポンスを、検索エンジンから受信すると、情報取得部121は、データ通信回路104aからレスポンスを取得する。次に、情報取得部121は、レスポンスに含まれるA駅の名称を表す情報を、出発駅の名称を表す情報とする(ステップS13)。その後、音声表示制御部125は、検索されたA駅の名称を出発駅の名称として、図16の入力画面に表示するように表示装置105bを制御する。
その後、ユーザが到着駅の名称を入力させる操作を入力装置105cに行うと、入力装置105cが当該操作に応じて出力する信号に基づいて、情報取得部121は、到着駅である駅Bの名称を表す情報を取得する(ステップS14)。
次に、情報取得部121は、出発駅の名称を表す情報と、到着駅の名称を表す情報と、を含み、出発駅から到着駅まで列車で移動する場合に利用可能な移動経路と、到着駅の到着予定時刻と、の組み合わせを検索するように求めるリクエストを生成する。その後、情報取得部121は、生成したリクエストを、検索エンジンを宛先としてデータ通信回路104aへ出力する。
検索エンジンは、鉄道路線を表す情報と、当該鉄道路線にある駅の名称を表す情報と、当該駅への列車の到着予定時刻を表す情報と、当該駅からの出発予定時刻を表す情報と、が予め対応付けて保存された不図示の経路検索テーブルを記憶している。検索エンジンは、経路検索テーブルと、リクエストに含まれる出発駅の名称を表す情報と到着駅の名称を表す情報と、例えば、OS(Operating System)が管理する現在時刻と、に基づいて、移動経路と到着予定時刻との組み合わせを1又は複数検索する。
データ通信回路104aがリクエストを送信した後に、検索された1又は複数の組み合わせを受信すると、情報取得部121は、受信された1又は複数の組み合わせをデータ通信回路104aから取得する(ステップS15)。次に、音声表示制御部125は、受信された1又は複数の組み合わせを、図16の入力画面に複数表示するように表示装置105bを制御する(ステップS16)。
その後、表示装置105bを視認したユーザは、入力画面に表示された1又は複数の組み合わせから、これから乗車する又は既に乗車した列車の移動経路と到着予定時刻との組み合わせを選択する操作を入力装置105cに行う。入力装置105cが当該操作に応じて信号を出力すると、情報取得部121は、当該信号に基づいて、選択された組み合わせを特定する(ステップS17)。
その後、情報取得部121は、特定した組み合わせを表す情報から、移動経路の最終地点である到着駅Bの名称を表す情報(つまり、第1の地点を表す情報)と、特定した組み合わせに含まれる到着駅B(つまり、第1の地点)の到着予定時刻を表す情報と、を移動情報として取得する(ステップS18)。その後、情報取得部121は、配送制御サーバ310を宛先として、取得した移動情報をデータ通信回路104aに出力し(ステップS19)、データ通信回路104aが移動情報を送信した後に、移動情報取得処理の実行を終了する。
図9に示した配送制御サーバ310の情報記憶部329は、ロッカー装置228及び229の設置場所に関する情報が保存される、図17に示すような設置場所テーブルを記憶しており、設置場所テーブルには、複数のレコードが保存されている。設置場所テーブルの各レコードには、ロッカー装置228及び229のロッカーIDと、ロッカー装置228及び229が設置された駅の名称を表す情報と、ロッカー装置228及び229の設置場所の緯度及び経度を表す情報と、駅のホームからロッカー装置228又は229まで移動するのに要する平均移動時間(以下、駅内移動時間という)を表す情報と、が対応付けられたデータが保存される。
図8に示した配送制御サーバ310の通信回路314が移動情報を受信すると、CPU311は、荷物の受取方法を表す情報(以下、受取方法情報という)を生成する、図18に示すような受取方法情報生成処理を実行する。これにより、CPU311は、受取方法情報を生成する、図9に示すような情報生成部324としてさらに機能する。
受取方法情報生成処理の実行が開始されると、図9に示した情報取得部321は、通信回路314から移動情報を取得し(ステップS21)、移動情報に含まれる到着駅の名称を表す情報と、到着駅の到着予定時刻を表す情報と、を取得する。
次に、情報取得部321は、図17の設置場所テーブルから、取得した到着駅であるB駅の名称を表す情報と対応付けられたロッカーIDを取得する(ステップS22)。B駅に設置されたロッカー装置228及び229を特定するためである。
その後、情報取得部321は、図11の使用状態テーブルから、取得されたロッカーIDと、空き状態を表す状態情報と、に対応付けられたボックスIDを取得する(ステップS23)。その後、情報取得部321は、ボックスIDを取得できた全てのロッカーIDに注目したか否かを判別する(ステップS24)。空き状態の保管ボックス810の有無を判別するためである。
このとき、情報取得部321が、ボックスIDを取得できた全てのロッカーIDに注目した訳では無いと判別すると(ステップS24;No)、情報生成部324は、未注目のロッカーIDの1つに注目し、注目したロッカーIDで識別されるロッカー装置228又は229を注目ロッカー装置228又は229とする(ステップS25)。
その後、情報取得部321は、図17の設置場所テーブルから、注目ロッカー装置228又は229のロッカーIDと対応付けられた緯度及び経度を表す情報と、駅内移動時間を表す情報と、を取得する。次に、情報生成部324は、例えば、共有メモリに保存されている、図13のステップS04で取得された配送予定荷物情報を取得する。ステップS04で取得された配送予定荷物情報は、実行中の処理である受取方法情報生成処理と異なる処理で取得された情報だからである。その後、情報生成部324は、取得された情報で表される緯度及び経度に在る注目ロッカー装置228又は229の設置場所を、取得された配送予定荷物情報に関する荷物の受取場所とする(ステップS26)。
また、情報生成部324は、取得された情報で表される駅内移動時間を、ステップS21で取得された情報で表される予定到着時刻に加算した時刻を、当該荷物の受取時刻とする(ステップS27)。情報生成部324が決定した受取場所及び受取時刻は、暫定的なものであり、後述の処理で必要に応じて調整が行われた後に承認が行われる。
その後、情報生成部324は、決定した受取場所の緯度及び経度を表す情報と、決定した受取時刻を表す情報と、の組み合わせを含み、当該受取場所で当該受取時刻に当該荷物を受け取るという受取方法を表す受取方法情報を生成した後に(ステップS28)、ステップS24から上記ステップが繰り返される。
ステップS24において、情報取得部321が、ステップS23においてボックスIDを取得できた全てのロッカーIDに注目したと判別すると(ステップS24;Yes)、情報生成部324は、ステップS28で生成された1又は複数の受取方法情報を、生成された順番に、携帯端末10を宛先として、図8に示した通信回路314へ出力する(ステップS29)。その後、通信回路314が1又は複数の受取方法情報を出力された順番に送信すると、情報生成部324は、受取方法情報生成処理の実行を終了する。
図2に示した携帯端末10のデータ通信回路104aが1又は複数の受取方法情報を受信すると、携帯端末10のCPU101は、1又は複数の受取方法情報でそれぞれ表される1又は複数の受取方法の内から1つの受取方法を選択し、必要に応じて調整し、かつ、承認する、図19に示すような受取方法承認処理を実行する。これにより、CPU101は、図14に示すような情報生成部124及び指示出力部126としてさらに機能する。本実施例では、説明を容易にするため、携帯端末10が2個の受取方法情報を受信した場合を例に挙げて説明する。
受取方法承認処理の実行が開始されると、情報取得部121は、2個の受取方法情報を送信された順番にデータ通信回路104aから取得する(ステップS31)。次に、情報取得部121は、受取方法の調整に用いられる、図20に示すような受取方法調整画面を表示するように表示装置105bを制御する(ステップS32)。
情報取得部121は、2個の受取方法情報のそれぞれから受取場所の緯度及び経度を表す情報を取得し、取得した2個の受取場所の緯度及び経度を表す情報を含み、2個の受取場所を表示する地図を表す情報を返信するように求めるリクエストを生成する。次に、情報取得部121は、不図示の検索エンジンを宛先として、生成したリクエストを、図2のデータ通信回路104aへ出力する。
検索エンジンは、地図を表す情報と、地図に含まれる地点の最小緯度及び最小経度を表す情報と、最大緯度及び最大経度を表す情報と、が保存された不図示の地図テーブルを記憶している。検索エンジンは、リクエストに含まれる情報で表される2個の緯度及び経度の全てよりもそれぞれ小さい最小緯度及び最小経度を表す情報と、2個の緯度及び経度の全てよりもそれぞれ大きい最大緯度及び最大経度を表す情報と、に対応付けられた地図を表す情報を、地図テーブルから取得する。その後、検索エンジンは、取得した地図を表す情報と、当該地図を表す情報に対応付けられた最小緯度及び最小経度を表す情報と、最大緯度及び最大経度を表す情報と、を含むレスポンスを返信する。
データ通信回路104aがリクエストを送信した後に、レスポンスを受信すると、情報取得部121は、データ通信回路104aからレスポンスを取得する。その後、情報取得部121は、2個の受取場所の緯度及び経度を表す情報と、レスポンスに含まれる最小緯度及び最小経度を表す情報と、最大緯度及び最大経度を表す情報と、に基づいて、レスポンスに含まれる情報で表される地図における2個の受取場所の描画位置を特定する。その後、情報生成部124は、特定した2個の受取場所の描画位置に、2個の受取場所をそれぞれ表す2個の受取場所アイコンR1及びR2を合成し、図20に示すような地図表示領域MAに、合成後の地図を表示するように表示装置105bを制御する(ステップS33)。
受取場所アイコンR1及びR2の表示状態は、受取場所アイコンR1及びR2でそれぞれ表される受取場所がユーザによって選択されていることを表す状態(以下、選択状態という)と、ユーザによって選択されていないことを表す状態(以下、非選択状態という)と、をそれぞれ含む。選択状態の受取場所アイコンR1及びR2は、それぞれ非選択状態の受取場所アイコンR1及びR2をそれぞれ反転表示したアイコンである。反転表示は、白黒反転表示及び色反転表示を含む色反転表示であっても良いし、暗転表示又は明転表示であっても良い。尚、図20に示す受取場所アイコンR1の表示状態は選択状態であり、受取場所アイコンR2の表示状態は非選択状態である。このため、図20に示す受取場所アイコンR1は、受取場所アイコンR2を反転表示したアイコンである。
ステップS33が実行された後に、情報生成部124は、1番目に受信された受取方法情報で表される受取場所がユーザに選択されているとみなし、受取場所アイコンR1の表示状態を選択状態に切り替えるように表示装置105bを制御する。また、情報生成部124は、2番目に受信された受取方法情報で表される受取場所がユーザに選択されていないとみなし、受取場所アイコンR2の表示状態を非選択状態に切り替えるように表示装置105bを制御する(ステップS34)。
その後、情報生成部124は、1番目に受信された受取方法情報で表される受取時刻を、図20に示すような受取時刻表示領域TAに表示するように表示装置105bを制御する(ステップS35)。このようにして、1番目に受信された受取方法情報で表される受取方法がユーザに提示される。
その後、図20の受取方法調整画面を視認したユーザが、非選択状態の受取場所アイコンR2を選択する操作(以下、選択操作という)を入力装置105cに行うと、入力装置105cは、当該操作に応じた信号を出力する。情報生成部124は、入力装置105cから出力された信号に基づいて、当該操作が、受取方法を承認する操作(以下、承認操作という)でないと判別した後に(ステップS36;No)、当該操作が選択操作であると判別する(ステップS37;Yes)。
その後、情報生成部124は、入力装置105cから出力された信号に基づいて、受取場所アイコンR2で表される受取場所をユーザに選択された受取場所とする。次に、情報生成部124は、受取場所アイコンR1の表示状態を非選択状態に切り替えた後に、受取場所アイコンR2の表示状態を選択状態に切り替える(ステップS38)。その後、情報生成部124は、選択された受取場所の緯度及び経度を表す情報と組み合わされた情報で表される受取時刻を受取時刻表示領域TAに表示するように表示装置105bを制御した後に(ステップS39)、ステップS36に戻り上記ステップを繰り返す。
次に、例えば、列車を途中下車して買い物をするといったユーザ個別の事情のために、表示中の受取時刻を調整する操作(以下、調整操作という)をユーザが入力装置105cに行うとする。この場合、情報生成部124は、入力装置105cが当該操作に応じて出力した信号に基づいて、当該操作が承認操作及び選択操作でないと判別し(ステップS36;No及びステップS37;No)、当該操作が調整操作であると判別する(ステップS40;Yes)。
その後、情報生成部124は、入力装置105cが出力する信号に基づいて、表示中の受取時刻を調整し(ステップS41)、調整した受取時刻を受取時刻表示領域TAに表示するように表示装置105bを制御した後に(ステップS42)。ステップS36に戻り上記ステップを繰り返す。
その後、ユーザが承認操作を入力装置105cに行うと、情報生成部124は、入力装置105cから出力された信号に基づいて、当該操作が承認操作であると判別する(ステップS36;Yes)。その後、情報生成部124は、表示されている受取時刻に、選択されている受取場所で、荷物を受け取る受取方法が承認されたと判別する。次に、情報生成部124は、当該受取時刻を表す情報と当該受取場所の緯度及び経度を表す情報との組み合わせを含み、承認された受取方法を表す受取方法情報を新たに生成する(ステップS43)。
次に、指示出力部126は、新たに生成された受取方法情報を、荷物の配送先(つまり、受取場所)及び配送時刻(つまり、受取時刻)を指定する配送指示とする。その後、指示出力部126は、配送指示を、配送制御サーバ310を宛先として、図2のデータ通信回路104aに出力し(ステップS44)、データ通信回路104aが配送指示を送信してから、受取方法承認処理の実行を終了する。
図8に示した配送制御サーバ310の通信回路314が配送指示を受信すると、配送制御サーバ310のCPU311は、配送指示に基づいて、図1に示した無人航空機390による荷物の配送を制御する、図21に示すような配送制御処理を実行する。これにより、CPU101は、無人航空機390によって配送された荷物を収納するロッカー装置228又は229を予約する、図9に示すような予約部325、及び、荷物の配送指示を無人航空機390に出力する指示出力部326としてさらに機能する。
配送制御処理の実行を開始すると、情報取得部321は、携帯端末10が送信した配送指示を通信回路314から取得し(ステップS51)、図13のステップS04で取得された配送予定荷物情報に含まれる荷物IDを取得する。次に、情報保存部322は、取得された荷物IDと、図12の配送予定荷物テーブルにおいて対応付けられた状態情報を、指定済みの状態を表す状態情報に更新する(ステップS52)。ステップS51で取得された配送指示は、当該荷物IDで識別される荷物の受取方法を指定するからである。
次に、図9の予約部325は、図17の設置場所テーブルから、配送指示に含まれる受取場所の緯度及び経度を表す情報と対応付けられたロッカーIDを取得し、取得したロッカーIDと空き状態の状態情報とに対応付けられたボックスIDを、図11の使用状態テーブルから取得する。承認された受取場所に設置されたロッカー装置228と、ロッカー装置228が備える空き状態の保管ボックス810と、を特定するためである。
その後、予約部325は、図12の配送予定荷物テーブルから荷物IDに対応付けられたユーザIDを取得し、取得されたユーザIDに対応付けられたカードIDを、図10のユーザテーブルから取得する。荷物の宛先とされたユーザが荷物の受け取りに用いるICカード11を特定するためである。その後、予約部325は、取得したボックスIDと、荷物IDと、カードIDと、を含み、保管ボックス810の予約を求める予約リクエストを、取得したロッカーIDで識別されるロッカー装置228を宛先として、通信回路314へ出力する(ステップS53)。
図6に示したロッカー装置228のCPU831は、データ通信回路834aが予約リクエストを受信すると、予約リクエストに含まれるボックスIDと閉鎖信号とを駆動回路839に出力することで、ボックスIDで識別される保管ボックス810が備える扉811の閉鎖及び施錠を行う。次に、CPU831は、閉鎖された保管ボックス810のボックスIDと、予約中状態を表す状態情報と、予約リクエストに含まれる荷物ID及びカードIDを対応付けて、図7のボックス管理テーブルに保存する。このようにして、荷物を収納させる保管ボックス810の予約が完了する。
ステップS53が実行された後に、情報取得部321は、予め保存されている営業所の緯度及び経度を表す情報を、図8に示したハードディスク313bから取得する。その後、情報取得部321は、営業所の緯度及び経度を表す情報と、配送指示に含まれた受取場所の緯度及び経度を表す情報を含み、営業所から受取場所までの最小飛行距離を実現する飛行経路の検索を求めるリクエストを生成する。その後、情報取得部321は、リクエストを、不図示の検索エンジンを宛先として、図8に示した通信回路314へ出力する。
検索エンジンは、B駅周辺の道路及び河川といった無人航空機390が飛行可能な部分経路に対応するエッジを表す情報と、当該部分経路の始点及び終点をそれぞれ表すノードと、当該部分経路の距離を表す情報と、が保存された経路テーブルを記憶している。検索エンジンは、経路テーブルを用いて、例えば、ダイクストラ法といった経路探索アルゴリズムを実行し、営業所から受取場所までの部分経路を組み合わせた複数の飛行経路の内で、最短飛行距離を実現する最短飛行経路を検索する。その後、検索エンジンは、最短飛行経路を構成するノードの緯度及び経度を表す情報(以下単に、最短飛行経路を表す情報という)と、最短飛行距離を表す情報と、を含んだレスポンスを返信する。
配送制御サーバ310の通信回路314がリクエストを送信した後に、レスポンスを受信すると、情報取得部321は、受信されたレスポンスに含まれる最短飛行距離を表す情報を取得し、予め保存されている無人航空機390の平均飛行速度を表す情報を、図8に示したハードディスク313bから取得する。
次に、指示出力部326は、取得された情報で表される最短飛行距離を、無人航空機390の平均飛行速度で除算することで配送時間を決定し、受取時刻よりも配送時間だけ早い時刻を配送開始時刻に決定する。
また、情報取得部321は、受信されたレスポンスに含まれる最短飛行経路を表す情報を取得し、指示出力部326は、取得された情報で表される最短飛行経路を配送経路に決定する(ステップS54)。
その後、指示出力部326は、取得された荷物IDと、当該荷物IDで識別される荷物の配送経路を表す情報と、配送開始時刻を表す情報と、を含み、配送開始時刻に営業所を出発し、かつ、配送経路を飛行することで、受取時刻までに受取場所へ荷物を配送するように指示する新たな配送指示を生成する(ステップS55)。次に、指示出力部326は、生成した配送指示を、無人航空機390の制御指示とし、無人航空機390を宛先として通信回路314へ出力する(ステップS56)。
その後、指示出力部326は、図13のステップS04で取得された配送予定荷物情報に含まれる荷物ID及び備考情報を含み、荷物IDで識別される荷物を無人航空機390へ積み込むように促すメッセージを表示するように、図8に示した表示装置315bを制御した後に(ステップS57)、配送制御処理の実行を終了する。
無人航空機390は、無人航空機390の姿勢及び飛行を制御する、図22に示すような制御装置910と、制御装置910から右前方、左前方、左後方、及び、右後方にそれぞれ突出したプロペラアーム921から924と、プロペラアーム921から924の先端にそれぞれ設置されたプロペラ931から934、及び、制御装置910の制御に従ってプロペラ931から934を回転させる不図示のモータと、を備える。
また、無人航空機390は、直方体形状の荷物の4つの側面の内の1つが有する4辺を囲持する第1囲持枠941aと、第1囲持枠941aによって囲持される面(以下、第1囲持面という)と対向する側面(以下、第2囲持面という)が有する4辺を囲持する第2囲持枠941bと、を、制御装置910の下方に備える。また、無人航空機390は、荷物の第1囲持面及び第2囲持面の法線方向に延設され、第1囲持枠941aと第2囲持枠941bとを吊持し、かつ、第1囲持枠941aと第2囲持枠941bとの移動方向を延設方向とするガイドレール942a及び942bを制御装置910の下面に備える。さらに、無人航空機390は、制御装置910の制御に従って、第1囲持枠941aと第2囲持枠941bとを互いに近づく方向へ移動させることで、第1囲持枠941aと第2囲持枠941bとに荷物を囲持させ、第1囲持枠941aと第2囲持枠941bとを互いに遠ざかる方向に移動させることで、囲持された荷物を第1囲持枠941aと第2囲持枠941bとに開放させる、不図示のモータを備える。
さらに、無人航空機390は、制御装置910の上面に設けられ、無人航空機390の前方に光軸が向けられた撮影装置951を備える。またさらに、無人航空機390は、制御装置910の下面に設けられ、無人航空機390の下方に光軸が向けられ、無人航空機390の下方に荷物が置かれた場合、荷物と、第1囲持枠941a及び第2囲持枠941bと、を撮影範囲に含む画角を有した撮影装置952を備える。撮影装置951及び952の構成及び機能は、図5に示したロッカー装置228が備える撮影装置824の構成及び機能と同様である。
制御装置910は、図23に示すようなCPU911、RAM912、ROM913a、フラッシュメモリ913b、データ通信回路914a、タッチパネル915、GPS回路916、入出力ポート918、及び、駆動回路919を備える。制御装置910のCPU911、RAM912、ROM913a、フラッシュメモリ913b、データ通信回路914a、タッチパネル915、及び、GPS回路916の構成及び機能は、図2に示した携帯装置10のCPU101、RAM102、ROM103a、フラッシュメモリ103b、データ通信回路104a、タッチパネル105、及び、GPS回路106の構成及び機能と同様である。
入出力ポート918は、撮影装置951及び952とそれぞれ接続された不図示の通信ケーブルに接続されており、CPU911が出力する信号を撮影装置951又は952に出力し、撮影装置951又は952が出力する信号をCPU911へ入力する。
駆動回路919は、図22に示すプロペラ931から934を回転させる不図示のモータにそれぞれ接続された不図示の4本のケーブルと、第1囲持枠941aと第2囲持枠941bとを移動させる不図示のモータに接続されたケーブルと、に接続されている。駆動回路919は、CPU911が出力する信号に従って、プロペラ931から934を回転させる不図示のモータ、又は、第1囲持枠941aと第2囲持枠941bとを移動させる不図示のモータを駆動させる。
営業所に勤務する作業員は、配送制御サーバ310の表示装置315bに表示されたメッセージを視認すると、メッセージに従って、荷物IDで識別される荷物を探し出す。次に、作業員は、探し出した荷物を、無人航空機390の近傍に設置された不図示の作業台に置き、荷物の配送を開始させる操作を無人航空機390のタッチパネル915に行う。
タッチパネル915が当該操作に応じて信号を出力すると、無人航空機390が備える制御装置910のCPU911は、無人航空機390の飛行制御を行う、図24に示すような飛行制御処理を実行する。
CPU911は、飛行制御処理の実行を開始すると、無人航空機390を所定の高度まで上昇させる制御信号を駆動回路919へ出力し、駆動回路919は、制御信号に従って、図22に示したプロペラ931から934を回転させる不図示のモータを駆動させる。
次に、CPU911は、無人航空機390の下方に備える撮影装置952へ、撮影を命じる信号を、入出力ポート918を介して出力する。その後、CPU911は、撮影装置952から撮影画像を表す信号を、入出力ポート918を介して入力されると、撮影画像を画像解析することで、上空から見下ろした荷物が描画された荷物領域を撮影画像から検出する。次に、CPU911は、検出された荷物領域に基づいて、荷物の直上に無人航空機390を移動させる制御信号を、駆動回路919へ出力する。
その後、CPU911は、図22に示した第1囲持枠941aと第2囲持枠941bとを十分に遠ざける制御信号を駆動回路919へ出力し、駆動回路919は、制御信号に従って、第1囲持枠941aと第2囲持枠941bとを移動させる不図示のモータを駆動させる。
次に、CPU911は、撮影装置952へ撮影を命じる信号を再度出力し、撮影画像を再度画像解析することで、荷物領域と、第1囲持枠941a及び第2囲持枠941bがそれぞれ描画された第1枠領域及び第2枠領域と、を検出する。その後、CPU911は、荷物領域と第1枠領域及び第2枠領域とに基づいて、第1囲持枠941aと第2囲持枠941bとで荷物を跨いだ状態のまま無人航空機390を着陸させる、又は、無人航空機390の高度を十分に下げさせる制御信号を駆動回路919へ出力する。
その後、CPU911は、第1囲持枠941aと第2囲持枠941bとを互いに十分に近づける制御信号を駆動回路919へ出力することで、無人航空機390は、第1囲持枠941aと第2囲持枠941bとで荷物を囲持し、無人航空機390による荷物の積み込みが完了する(ステップS61)。
次に、CPU911は、データ通信回路914aが配送制御サーバ310から受信した制御指示を取得し(ステップS62)、制御指示に含まれる配送開始時刻を表す情報と、配送経路を表す情報と、を取得する。
次に、CPU911は、例えば、OSが管理するシステム時刻を取得し、取得したシステム時刻が配送開始時刻よりも遅い時刻であるか否かに基づいて、配送開始時刻が到来したか否かを判別する(ステップS63)。このとき、CPU911は、システム時刻が配送開始時刻よりも早い時刻のため、配送開始時刻が到来していないと判別すると(ステップS63;No)、所定時間に亘りスリープした後に、ステップS63を繰り返す。
これに対して、CPU911は、システム時刻が配送開始時刻と同じ、又は、配送開始時刻よりも遅い時刻のため、配送開始時刻が到来したと判別すると(ステップS63;Yes)、配送経路を順行するように、図22に示したプロペラ931から934を制御する制御信号を、図23に示した駆動回路919へ出力する(ステップS64)。
ステップS64において、CPU911は、GPS回路916から信号を取得し、配送経路に含まれる複数のノードの緯度及び経度を表す情報を、配送経路を表す情報から取得する。その後、CPU911は、取得した信号で表される無人航空機390の緯度及び経度と、取得した情報で表される複数の未通過のノードの内で、最も近いノードの緯度及び経度と、の相違を縮小させるような飛行をさせる制御信号を生成して出力する。また、ステップS64において、CPU911は、入出力ポート918を介して撮影を命じる信号を、無人航空機390の前方に光軸がむけられた撮影装置951へ出力する。その後、CPU911は、撮影装置951から入出力ポート918を介して入力される撮影画像を表す情報に基づいて、障害物を回避する飛行をさせる制御信号を生成して出力する。
その後、CPU911は、GPS回路916から出力される信号と、配送経路に含まれるノードの緯度及び経度を表す情報と、に基づいて、配送経路の終点(つまり、受取場所)を表すノードの緯度及び経度と、無人航空機390の緯度及び経度と、の差異を算出する、次に、CPU911は、受取場所を表すノードの緯度及び経度と、無人航空機390の緯度及び経度と、の差異が所定値以下となったか否かに基づいて、無人航空機390が受取場所に到着したか否かを判別する(ステップS65)。
無人航空機390が受取場所に到着するとは、受取場所、又は、受取場所から所定距離以内の近辺に無人航空機390が着陸していることを必ずしも意味するのではない。無人航空機390が受取場所に到着するとは、例えば、受取場所又は受取場所の近辺で、着陸せず、空中でホバリングしていること、一旦着陸した後に離陸してホバリングしていること、及び、受取場所の上空又は近辺を旋回又は往復していることも意味する。
ステップS65において、CPU911は、当該差異が所定値よりも大きいため、受取場所に無人航空機390が到着していないと判別すると(ステップS65;No)、ステップ64から上記ステップを繰り返す。
これに対して、CPU911は、当該差異が所定値以下であるため、受取場所に無人航空機390が到着したと判別すると(ステップS65;Yes)、制御指示に含まれる荷物IDを含み、荷物IDで識別される荷物が受取場所に到着したことを知らせる到着通知を、配送制御サーバ310を宛先として、データ通信回路914aへ出力する(ステップS66)。その後、データ通信回路914aは、インターネットINに接続された不図示の基地局へ無線で到着通知を送信する。
次に、無人航空機390は、図5に示したロッカー装置228が備える荷物台821又は822の真上に移動した後、荷物台821又は822の上に着陸する、又は、無人航空機390の高度を十分に下げる。その後、無人航空機390は、第1囲持枠941aと第2囲持枠941bとから荷物を開放することで、荷物を荷物台821又は822に配置する(ステップS67)。
その後、無人航空機390のCPU911は、配送経路を逆行して営業所まで飛行するように、プロペラ931から934を制御する制御信号を駆動回路919へ出力した後に(ステップS68)、飛行制御処理の実行を終了する。
図8に示した配送制御サーバ310の通信回路314が到着通知を受信すると、CPU311は、図11に示した使用状態テーブルから、到着通知に含まれる荷物IDと予約中状態を表す状態情報とに対応付けられたロッカーIDを取得する。次に、配送制御サーバ310のCPU311は、取得されたロッカーIDで識別されるロッカー装置228を宛先として、到着通知を通信回路314へ出力することで、到着通知の転送を行う。
図6に示したロッカー装置228のデータ通信回路834aが配送制御サーバ310から到着通知を受信すると、ロッカー装置228のCPU831は、到着通知に含まれる荷物IDと予約中状態を表す状態情報とに対応付けられたボックスIDを取得し、取得したボックスIDと開放信号とを、駆動回路839へ出力する。これにより、予約中の保管ボックス810の扉811の解錠及び開放が行われる。
次に、ロッカー装置228は、買い物客の荷物を収納する場合と同様に、ロボットアーム823で荷物台821又は822に配置された荷物を掴んで、空き状態の保管ボックス810に収納すると、保管ボックス810の扉811の閉鎖及び施錠を行う。
その後、図6に示したロッカー装置228のCPU831は、図7のボックス管理テーブルにおいて、荷物が収納された保管ボックス810のボックスIDと、到着通知に含まれる荷物IDと、に対応付けられた状態情報を、使用中状態を表す状態情報に更新する。
その後、ロッカー装置228のCPU831は、荷物IDを含み、収納が完了したことを知らせる収納完了通知を、配送制御サーバ310を宛先としてデータ通信回路834aへ出力する。
配送制御サーバ310CPU311は、通信回路314が収納完了通知をロッカー装置228から受信すると、図12の配送予定荷物テーブルにおいて、収納完了通知に含まれる荷物IDと対応付けられた状態情報を、配送済みの状態を表す状態情報に更新する。
受取場所のロッカー装置228に荷物が収納された後に、ユーザが受取場所に到着すると、ユーザは、買い物客と同様に、図5に示したロッカー装置228のICカードRW837にICカード11をかざす。
ロッカー装置228のICカードRW837からICカード11のカードIDが入力されると、図6に示したロッカー装置228のCPU831は、入力されたカードIDと対応付けられたボックスIDと、荷物IDと、を、図7のボックス管理テーブルから取得する。その後、CPU831は、取得されたボックスIDと、扉811の解錠及び開放を命じる開放信号と、を駆動回路839に出力する。
また、ロッカー装置228のCPU831は、取得されたボックスIDに対応付けられた荷物ID及びカードIDを「NULL」に更新し、ボックスIDに対応付けられた状態情報を、空き状態を表す状態情報に更新する。その後、ユーザが保管ボックス810から荷物を取り出すことで、荷物の受け取りが完了する。
その後、ロッカー装置228のCPU831は、荷物IDを含み、荷物が受け取られたことを知らせる受取通知を、配送制御サーバ310を宛先としてデータ通信回路834aへ出力する。配送制御サーバ310は、通信回路314がロッカー装置228から受取通知を受信すると、図12の配送予定荷物テーブルにおいて、受取通知に含まれる荷物IDに対応付けられた状態情報を、受取済みの状態を表す状態情報に更新する。
これらの構成によれば、携帯端末10及び配送制御サーバ310は、ユーザの移動に関する移動情報に基づいて、ユーザが荷物を受け取るための受取方法を表す受取方法情報を生成する。このため、ユーザの移動とは無関係に、例えば、ユーザの家等へ荷物を配送する場合よりも、ユーザにとって十分に都合の良い配送方法で荷物を配送できる。
これらの構成によれば、携帯端末10及び配送制御サーバ310は、移動情報が取得されてからユーザが第1の地点へ到着するまでの間に、移動情報に基づいて受取方法情報を生成する。このため、移動情報が取得される前に受取方法情報を生成する場合と比べて、ユーザの移動により関連した受取方法情報を生成できるので、ユーザにとってより十分に都合の良い受取方法を表す受取方法情報を生成できる。
これらの構成によれば、受取方法情報は、荷物の受取場所を表す情報を含む。このため、例えば、ユーザの家といったユーザの移動と無関係な一定の場所へ荷物を配送する場合よりも、荷物の配送時刻にユーザが居る場所から、荷物が配送された受取場所までの距離を短くできる。
またこれらの構成によれば、受取方法情報は、荷物の受取時刻を表す情報を含むため、ユーザの移動と無関係の時刻に荷物を配送する場合よりも、荷物の配送時刻からユーザが実際に荷物を受け取る時刻までの時間を短くできる。
これらの構成によれば、携帯端末10及び配送制御サーバ310は、ユーザの移動が検知されてから、第1の地点に基づいて決定される受取場所で、第1の地点への到着予定時刻に基づいて決定される受取時刻に、ユーザが荷物を受け取る受取方法を決定する。このため、ユーザが第1の地点への移動を開始する前に、第1の地点への到着予定時刻に基づいて受取時刻を決める場合よりも、正確な到着予定時刻に基づいて受取時刻を決定できる。
これらの構成によれば、携帯端末10及び配送制御サーバ310は、ユーザの移動が検知されてから、ユーザが乗車する又は乗車している列車の第1の地点への到着予定時刻に基づいて受取時刻を決定する。列車は、通常、停車駅毎に到着予定時刻が決められており、かつ、列車専用の軌道を走行するため、列車でユーザが第1の地点へ到着する場合は、例えば、自家用車で、又は、不慣れな道を歩いてユーザが到着する場合よりも、到着予定時刻通りに到着する可能性が高い。このため、荷物が受取場所へ配送されてから荷物がユーザによって受け取られるまでの時間をより短くできる可能性が高い。また、例えば、荷物が要冷蔵品や要冷凍品といった品質が悪化し易いものである場合には、荷物の品質悪化をより防止できる可能性が高い。
これらの構成によれば、携帯端末10は、受取方法をユーザに提示し、ユーザの操作に従って受取方法を選択、調整、又は、承認する。このため、ユーザは、例えば、第1の場所への移動中に途中下車するとか、第1の場所へ到着した後に、買い物や飲食をするとか、健康上理由から通常のユーザよりも歩く速度が遅いとかいったユーザ個別の事情により則した受取方法を指定できる。
これらの構成によれば、配送制御サーバ310は、配送開始時刻を表す情報を含み、配送開始時刻に営業所を出発して荷物を配送させる制御に関する指示を無人航空機390へ送信する。無人航空機390は、配送開始時刻が到来すると、自立的に営業所を出発して荷物の配送を開始する。これらのため、作業員が配送開始時刻の到来を確認したり、荷物の配送を開始させる操作を無人航空機390に行ったりする労力を軽減できる。
これらの構成によれば、配送制御サーバ310は、ユーザが自動改札機211を通過してホームへ入場したことを知らせる入場通知に基づいてユーザの移動を検知するため、列車によるユーザの移動をより精度よく検知できる。
<実施例1の変形例1>
実施例1では、図1に示した配送システム30は、荷物の配送を行う営業所に設置され、配送システム30が備える配送制御サーバ310は、図21のステップS57で、荷物を無人航空機390へ積み込むように促すメッセージを表示すると説明した。また、営業所に勤務する作業員は、メッセージに従って荷物を探し出し、無人航空機390の近傍に設置された不図示の作業台に荷物を配置すると説明した。さらに、無人航空機390は、作業員の操作に従って荷物の積み込みを行うと説明した。
しかし、これに限定される訳では無く、本変形例に係る配送システム30では、荷物の探し出し、荷物の荷物台への配置、無人航空機390への荷物の積み込みが無人又は殆ど無人で行われる。このために、本変形例に係る配送システム30は、営業所ではなく、荷物を保管する倉庫に設置されており、配送システム30は、配送制御サーバ310及び無人航空機390の他に、不図示の荷物保管システムをさらに備えている。
荷物保管システムは、複数の荷物が保管された不図示の複数の棚と、複数の棚の内で、配送制御サーバ310によって指定された棚を、無人航空機390の近傍へ移動させる不図示の自走式ロボットと、を備える。また、荷物保管システムは、無人航空機390の近傍へ移動させられた棚から、配送制御サーバ310によって指定された荷物を取り出し、無人航空機390の近傍に設置された不図示の荷物台に、取り出した荷物を配置する不図示のロボットアームと、ロボットアームの動作を制御する不図示の制御装置と、を備える。
自走式ロボットは、不図示の複数の車輪及び複数の車輪をそれぞれ回転させる不図示の複数のモータを備える車体と、車体に内蔵された不図示のデータ通信回路と、車体の前方に光軸が向けられた不図示の撮影装置と、モータ、データ通信回路、及び、撮影装置の動作を制御する不図示のマイクロコンピュータ(以下、マイコンという)と、を備える。
自走式ロボットが備えるデータ通信回路及び撮影装置は、図2に示したデータ通信回路104a及び図22に示した撮影装置951がそれぞれ有する構成及び機能と同様の構成及び機能をそれぞれ有する。自走式ロボットが備えるマイコンは、図2に示したCPU101、RAM102、及び、ROM103aがそれぞれ有する構成及び機能と同様の構成及び機能をそれぞれ有する不図示のCPU、RAM、及び、ROMを備える。
自走式ロボットのマイコンは、棚を識別する識別情報(以下、棚IDという)を、配送制御サーバ310からデータ通信回路が受信すると、所定のアルゴリズムに従って、自走式ロボットを倉庫内で走行させるように複数のモータを制御する。また、マイコンは、撮影装置が出力する信号で表される撮影画像から、棚が描画された棚領域と、当該棚に印刷された棚IDと、を検出する。マイコンは、受信された棚IDと同じ棚IDが検出されると、当該棚IDが印刷された棚を、無人航空機390の近傍まで自走式ロボットに押走させる制御信号を、撮影画像における当該棚領域の描画位置と所定の経路探索アルゴリズムとに基づいて生成する、その後、マイコンは、生成した制御信号を、複数の車輪をそれぞれ回転させる複数のモータに出力する。
無人航空機390の近傍に設置されたロボットアームは、摘持対象物を撮影する不図示の撮影装置を備え、当該ロボットアーム及び当該撮影装置は、図5に示したロボットアーム823及び撮影装置824がそれぞれ有する構成及び機能と同様の構成及び機能をそれぞれ有する。また、無人航空機390の近傍に設置された荷物台と、ロボットアームの制御装置と、は、図5に示した荷物台821及び822と、図6に示した制御装置830と、がそれぞれ有する構成及び機能と同様の構成及び機能をそれぞれ有する。
ロボットアームの制御装置は、配送制御サーバ310から荷物IDを受信すると、ロボットアームの撮影装置が出力する信号で表される撮影画像から、棚が描画された棚領域と、荷物が描画された荷物領域と、荷物台が描画された荷物台領域と、当該荷物に印刷された荷物IDと、を検出する。制御装置は、受信された荷物IDと同じ荷物IDが検出されると、当該荷物IDが印刷された荷物を棚から取り出し、取り出した荷物を荷物台に配置させる制御信号を、撮影画像における棚領域と荷物領域と荷物台領域との描画位置に基づいて生成し、ロボットアームに出力する。
図9に示した配送制御サーバ310の情報記憶部329は、荷物IDと、当該荷物IDで識別される荷物が保管されている棚の棚IDと、が対応付けられて予め保存された不図示の棚テーブルを記憶している。配送制御サーバ310の指示出力部326は、図21のステップS57に替えて、不図示の荷物自動積込処理を実行する。
荷物自動積込処理の実行を開始すると、指示出力部326は、棚テーブルから、無人航空機390に配送させる荷物の荷物IDと対応付けられた棚IDを取得する。次に、指示出力部326は、棚IDを含み、当該棚IDで識別される棚をロボットアームの可動範囲まで移動させる指示を、自走式ロボットを宛先として、図4に示した通信回路284へ出力する。その後、自走式ロボットは、当該指示を受信し、当該指示に従って棚を無人航空機390の近傍まで移動させた後に、完了通知を送信する。
配送制御サーバ310の通信回路284が完了通知を受信すると、指示出力部326は、荷物IDを含み、当該荷物IDで識別される荷物を棚から探し出し、探し出した荷物を棚から作業台へ移動させる指示を、ロボットアームの制御装置を宛先として、通信回路284へ出力する。その後、ロボットアームは、当該指示を受信し、当該指示に従って荷物を棚から作業台に移動させた後に、完了通知を送信する。
完了通知が受信されると、配送制御サーバ310の指示出力部326は、荷物を積み込みませる指示を、無人航空機390を宛先として、通信回路284へ出力した後に、荷物自動積込処理の実行を終了する。その後、無人航空機390は、当該指示を受信し、当該指示に従って、荷物台に配置された荷物の積み込みを行う。
これらの構成によれば、配送制御サーバ310は、無人航空機390に積み込む荷物を保管した棚を移動させる指示を自走式ロボットへ出力し、自走式ロボットが移動させた棚から荷物を探し出し、探し出した荷物を取り出させる指示をロボットアームの制御装置へ出力し、取り出された荷物を積み込ませる指示を無人航空機390へ出力する。これらのため、作業員が荷物を保管した棚まで移動し、棚から荷物を探し出し、探し出した荷物を取り出し、無人航空機390へ荷物を積み込む労力を無くせる又は軽減できる。
本変形例に係る配送システム30は、不図示の荷物保管システムを備え、荷物保管システムは、荷物の探し出し、荷物の荷物台への配置、無人航空機390への荷物の積み込みを無人又は殆ど無人で行うと説明した。しかし、これに限定される訳では無く、配送システム30は、荷物保管システムと異なる公知の自動倉庫技術を用いて、荷物の探し出し、荷物の荷物台への配置、無人航空機390への荷物の積み込みを無人又は殆ど無人で行っても良い。
<実施例1の変形例2>
実施例1では、無人航空機390は、荷物を囲持する、図22に示したような第1囲持枠941a及び第2囲持枠941bを備えると説明した。また、実施例1では、ロッカー装置228は、図5に示すような荷物台821又は822と、ロボットアーム823と、を備え、ロボットアーム823を用いて、荷物台821又は822に置かれた荷物を保管ボックス810に収納すると説明した。
しかし、これらに限定される訳では無く、本変形例に係る無人航空機390は、図25に示すような保管ボックス950を、図22の第1囲持枠941a及び第2囲持枠941bに替えて、制御装置910の下方に備える。無人航空機390が備える保管ボックス950の構成及び機能は、図5に示したロッカー装置228が備える保管ボックス810の構成及び機能と同様である。
また、本変形例に係るロッカー装置228は、図5に示すような荷物台821又は822を備えず、ロボットアーム823を用いて、無人航空機390の保管ボックス950から荷物を取り出し、取り出した荷物をロッカー装置228の保管ボックス810に収納する。
このため、図21のステップS57で、配送制御サーバ310に表示された荷物の積み込みを促すメッセージを視認した作業員は、メッセージに従って荷物を探し出し、探し出した荷物を無人航空機390の保管ボックス950に収納する。その後、作業員は、無人航空機390が備える制御装置910のタッチパネル915に対して、保管ボックス950の扉を閉鎖及び施錠させる操作を行う。
タッチパネル915が当該操作に応じて信号を出力すると、図23に示した無人航空機390のCPU911は、図24に示した飛行制御処理の実行をする。飛行制御処理の実行が開始されると、CPU911は、閉鎖信号を駆動回路919へ出力し、駆動回路919は、閉鎖信号に従って、保管ボックス950の扉に設置された不図示のモータを駆動させることで、扉の閉鎖及び施錠を行うことで、荷物の積み込みが完了する(ステップS61)。
その後、ステップS62からS66が実行されることで、無人航空機390が受渡場所に到着し、到着通知を配送制御サーバ310へ送信する。次に、無人航空機390のCPU911は、開放信号を駆動回路919へ出力することで、保管ボックス950の扉の解錠及び開放を行う(ステップS67)。
図6に示したロッカー装置228のデータ通信回路834aが、配送制御サーバ310から転送された到着通知を受信すると、ロッカー装置228のCPU831は、図7に示したボックス管理テーブルから、到着通知に含まれる荷物IDと予約中状態を表す状態情報とに対応付けられたボックスIDを取得し、取得したボックスIDと開放信号とを、駆動回路839へ出力する。これにより、予約中の保管ボックス810の扉811の解錠及び開放が行われる。
次に、ロッカー装置228は、図5に示した撮影装置824で無人航空機390を撮影し、撮影画像に基づいてロボットアーム823を動作させる。ロボットアーム823が、無人航空機390の保管ボックス950に収納された荷物を掴んで、ロッカー装置228が備える空き状態の保管ボックス810に収納すると、ロッカー装置228は、保管ボックス810の扉811の閉鎖及び施錠を行い、収納完了通知を送信する。配送制御サーバ310は、収納完了通知をロッカー装置228から受信すると、無人航空機390へ収納完了通知を転送する。
図24のステップS67を実行した後、図23に示した無人航空機390のCPU911は、データ通信回路914aが収納完了通知を受信したか否かを判別する。このとき、CPU911は、収納完了通知が受信されていないと判別すると、荷物が受取場所のロッカー装置228に未だ収納されていないと判別する。次に、CPU911は、所定時間に亘りホバリング飛行を行うように、図22に示したプロペラ931から934を制御する制御信号を駆動回路919へ出力した後に、収納完了通知を受信したか否かの判別から上記処理を繰り返す。
これに対して、CPU911は、収納完了通知が受信されたと判別すると、ステップS68を実行することで、送経路を逆行して営業所まで飛行した後に(ステップS68)、飛行制御処理の実行を終了する。
これらの構成によれば、無人航空機390は、荷物を保管ボックス950に収納して配送するため、図22に示した第1囲持枠941a及び第2囲持枠941bとで荷物を囲持して配送する場合と比べて、例えば、風雨等により荷物を汚損又は破損し難い。
<実施例1の変形例3>
実施例1では、ロッカー装置228及び229は、B駅に設置されており、B駅の乗降客のみならず、買い物客といった不特定のユーザにも利用されると説明したが、これに限定される訳では無い。ロッカー装置228及び229は、例えば、宅配ボックスのような、ユーザの家に設置されており、ユーザ及びユーザと同居する者、並びに、ユーザの家に荷物を配達する配達員といった特定のユーザによって利用されても良い。また、ユーザの家は、一軒家であっても集合住宅であっても良い。
<実施例1の変形例4>
実施例1では、ロッカー装置228及び229は、B駅に設置されていると説明したが、これに限定される訳では無い。本変形例に係るロッカー装置228及び229は、B駅に設置されておらず、例えば、コンビニエンスストア又は百貨店といった商業施設の出入り口付近、施設内、屋上、又は、駐車場といったB駅の近傍に設置されている。本変形例では、B駅の近傍とは、B駅の代表地点からユーザが予め設定した距離よりも短い距離だけ離れた地点をいうが、これに限定される訳では無い。
実施例1では、ロッカー装置228及び229は、B駅に設置されているため、図8に示した配送制御サーバ310のCPU311は、自動改札機211から送信される通知であって、かつ、ユーザのホームへの入場を知らせる入場通知を通信回路314が受信すると、図13に示した未指定通知処理の実行を開始すると説明した。しかし、本変形例に係るロッカー装置228及び229は、B駅の近傍に設置されているため、本変形例に係る配送制御サーバ310のCPU311は、自動改札機222から送信される通知であって、かつ、ユーザのホームからの退場を知らせる退場通知を通信回路314が受信すると、未指定通知処理の実行を開始する。
このため、本変形例に係る不図示の使用状態テーブルには、B駅に設置されたロッカー装置ではなく、B駅の近傍に設置されたロッカー装置228及び229のロッカーID、ボックスID、及び、状態情報と、荷物ID及びカードIDと、が対応付けて保存されている。同様に、本変形例に係る不図示の設置場所テーブルには、駅の名称を表す情報と、駅の近傍に設置されたロッカー装置228及び229のロッカーIDと、ロッカー装置228及び229の緯度及び経度を表す情報と、当該駅のホームから駅の近傍に設置されたロッカー装置228又は229までの平均移動時間を表す情報と、が対応付けられて保存されている。
本変形例に係る配送制御サーバ310がこれらのテーブルを用いて実行する処理は、実施例1に係る配送制御サーバ310が、図11に示した使用状態テーブルと、図17に示した設置場所テーブルと、を用いて実行する処理と同様である。
これらの構成によれば、ユーザがB駅から、例えば、ユーザの家といったB駅近傍の目的地へ移動する間に、B駅から目的地までの経路の途中にあるロッカー装置228及び229が設置された場所を受取場所として指定できる。
<実施例1の変形例5>
実施例1では、図9に示した配送制御サーバ310の情報生成部324は、図18のステップS26において、ロッカー装置228又は229の設置場所を荷物の受取場所とすると説明したが、これに限定される訳では無い。
本変形例に係る配送制御サーバ310の情報生成部324は、無人航空機390が着陸可能な着陸ポートが設けられた場所を受取場所とする。このために、本変形例に係る配送制御サーバ310の情報記憶部329は、図17に示した設置場所テーブルに替えて、図26に示すような、着陸ポートに関する情報が保存されたポートテーブルを記憶している。ポートテーブルには、複数のレコードが保存されており、各レコードには、駅の名称を表す情報と、当該駅又は当該駅の近傍に設けられた着陸ポートを識別する情報(以下、ポートIDという)と、当該駅のホームから当該着陸ポートまでの平均移動時間(以下、ポート移動時間という)を表す情報と、が対応付けて保存されている。
本変形例に係る配送制御サーバ310は、図18の受取方法情報生成処理に替えて、図27に示すような受取方法情報生成処理を実行する。受取方法情報生成処理の実行を開始すると、配送制御サーバ310は、図18のステップS21と同様の処理を実行することで、移動情報を取得し(ステップS71)、移動情報に含まれる到着駅の名称を表す情報と、予定到着時刻を表す情報と、を取得する。次に、配送制御サーバ310の情報取得部321は、図26の着陸テーブルから、到着駅であるB駅の名称を表す情報と対応付けられたポートIDを1又は複数を取得する(ステップS72)。B駅又はB駅近傍に設けられた着陸ポートを特定するためである。
その後、情報取得部321は、全ての着陸ポートに注目したか否かを判別する(ステップS73)。このとき、情報取得部321は、全ての着陸ポートに注目した訳では無いと判別すると(ステップS73;No)、情報生成部324は、未注目のポートIDの1つに注目し、注目したポートIDで識別される着陸ポートを注目ポートとする(ステップS74)。
その後、情報取得部321は、図26の着陸ポートテーブルから、注目着陸ポートのポートIDと対応付けられた緯度及び経度を表す情報と、ポート移動時間を表す情報と、を取得する。次に、情報生成部324は、取得された情報で表される緯度及び経度に在る注目着陸ポートの設置場所を荷物の受取場所とする(ステップS75)。また、情報生成部324は、取得された情報で表されるポート移動時間を、ステップS71で取得された情報で表される予定到着時刻に加算した時刻を、当該荷物の受取時刻とする(ステップS76)。その後、図18のステップS28と同様の処理が実行されることで、受取方法情報が生成されてから(ステップS77)、ステップS73から上記ステップが繰り返される。
ステップS73において、全ての着陸ポートに注目したと判別されると(ステップS73;Yes)、図18のステップS29と同様の処理が実行されることで、1又は複数の受取方法情報が出力された後に(ステップS78)、受取方法情報生成処理の実行が終了される。
本変形例に係る配送制御サーバ310の指示出力部326は、図21のステップS55及びS56において、荷物を受け取るユーザが使用するICカードのカードIDをさらに含み、配送開始時刻に営業所を出発して受取場所までの配送経路を飛行し、受取場所である着陸ポートに着陸し、かつ、ユーザが荷物を受け取るまで着陸ポートで待機するように指示する新たな配送指示を生成して出力する。
本変形例に係る無人航空機390は、図5に示したロッカー装置228が備えるICカードRW837の構成及び機能と同様の構成及び機能を有する不図示のICカードRWをさらに備える。
本変形例に係る無人航空機390は、図24のステップS61からS66を実行することで、配送指示に従って、受取場所の着陸ポートまで飛行し、着陸ポートに着陸し、かつ、着陸ポートで待機する(ステップS61からS66)。その後、ユーザが受取場所に到着し、ユーザが無人航空機390のICカードRWにICカード11をかざすと、図23に示した無人航空機390のCPU911は、ICカードRWからICカード11のカードIDを取得する。その後、CPU911は、取得したカードIDと、配送指示に含まれるカードIDと、が同一であると判別すると、図22に示した第1囲持枠941aと第2囲持枠941bとを互いに十分に遠ざける制御信号を駆動回路919へ出力する。これにより、無人航空機390は、第1囲持枠941aと第2囲持枠941bとから荷物を開放する(ステップS67)。次に、ユーザが荷物を取り上げることで、荷物の受け取りが完了する。
その後、無人航空機390のCPU911は、受取通知を出力する不図示の受取通知出力処理を実行する。受取通知出力処理を開始すると、CPU911は、図22に示した撮影装置951へ撮影を命じる信号を出力した後、撮影装置951から撮影画像を表す情報を取得する。その後、CPU911は、例えば、人物を表す複数のサンプル画像が共通して有する特徴を有した画像領域と、荷物を表す複数のサンプル画像が共通して有する特徴を有した画像領域と、を撮影画像から抽出し、これら2つの画像領域が抽出できた場合に、ユーザが荷物を受け取りが完了したと判別する。受け取りが完了したと判別すると、CPU911は、受取通知を、配送制御サーバ310を宛先としてデータ通信回路914aへ出力した後に、受取通知出力処理を終了する。
その後、無人航空機390は、ステップS68を実行することで、配送経路を逆行する飛行を行って(ステップS68)、営業所まで帰還した後に、配送飛行制御処理の実行を終了する。
本変形例では、配送制御サーバ310は、着陸ポートを受取場所に決定すると説明したが、これに限定される訳では無く、例えば、公園、校庭、河原、建物の屋上、ベランダ、及び、庭先といった無人航空機390が着陸できる場所、又は、十分に広く、かつ、人が比較的少ないために安全に無人航空機390が下降できる場所であれば、どのような場所を受取場所に決定しても良い。
これらの構成によれば、配送制御サーバ310は、無人航空機390が着陸できる又は安全に下降できる場所ならば、どのような場所であっても受取場所に決定できるため、受取場所の自由度をより向上させることができるので、ユーザの利便性をより向上させることができる。
また、これらの構成によれば、無人航空機390は、受取場所で待機している間、第1囲持枠941aと第2囲持枠941bとで荷物を囲持している。このため、ロッカー装置228及び229が設置されていない場所を受取場所に指定した場合でも、荷物が受取場所に配送されてからユーザが荷物を受け取るまでの間に荷物が盗難されるリスクをより低減できる。
また、これらの構成によれば、無人航空機390は、実施例1の変形例2に係る無人航空機390と同様に、図25に示した保管ボックス950を備えても良い。この場合、無人航空機390は、受取場所で待機している間、荷物を収納した保管ボックス950の扉を閉鎖及び施錠していても良い。このような構成によれば、ロッカー装置228及び229が設置されていない場所を受取場所に指定した場合でも、荷物が受取場所に配送されてからユーザが荷物を受け取るまでの間に荷物が盗難されるリスクを、第1囲持枠941aと第2囲持枠941bとで荷物を囲持する場合より低減できる。
<実施例1の変形例6>
実施例1では、図9に示した配送制御サーバ310の情報生成部324は、図18のステップS26において、ロッカー装置228又は229の設置場所を荷物の受取場所とすると説明した。また、無人航空機390は、荷物を受取場所まで配送し、ロッカー装置228又は229は、ロボットアーム823を用いて、無人航空機390が置き去った荷物を保管ボックス810へ収納すると説明したが、これらに限定される訳では無い。
本実施例に係る配送制御サーバ310は、ユーザの家の玄関前、庭先、屋上、ベランダ、又は、駐車場、ホテルのフロント、ロビー、又は、駐車場、若しくは、コンビニエンスストアのレジ、又は、駐車場といった場所であって、かつ、ロッカー装置228及び229の設置場所と異なるユーザの指定場所を荷物の受取場所とする。このために、本実施例に係る配送制御サーバ310は、ユーザを識別するユーザIDと、ロッカー装置228及び229の設置場所と異なるユーザの指定場所の緯度及び経度を表す情報と、を対応付けて予め記憶している。配送制御サーバ310の情報生成部324は、ユーザIDと対応付けられた情報で表されるユーザの指定場所を受取場所とする。
本実施例に係る無人航空機390は、指定場所へ到着すると、指定場所に着陸した後に、又は、指定場所で十分に高度を下げた後に、図22に示した第1囲持枠941aと第2囲持枠941bとから荷物を開放し、指定場所へ荷物を置いてから営業所へ帰還する。
本実施例に係る無人航空機390は、実施例1の変形例2に係る無人航空機390と同様に、図25に示した保管ボックス950を備えても良い。この場合、無人航空機390は、保管ボックス950の扉を解錠及び開放し、例えば、保管ボックス950の開放された扉を下向きにし、かつ、無人航空機390を揺する飛行を行うことで、指定場所へ荷物を置いても良いが、無人航空機390が保管ボックス950から荷物を取り出す方法は、これに限定される訳では無い。
例えば、無人航空機390は、図5に示したロッカー装置228が備えるロボットアーム823の構成及び機能と同様の構成及び機能を有する不図示のロボットアームを備え、ロボットアームを用いて無人航空機390の保管ボックス950から荷物を取り出してユーザの指定場所へ置いても良い。
これらの構成によれば、配送制御サーバ310及び無人航空機390を備える配送システム30は、ロッカー装置228及び229の設置場所と異なるユーザの指定場所に荷物を配送しても、荷物の配送時刻とユーザが荷物を実際に受け取る時刻と、の相違を短くできる可能性をより高くできるので、荷物が盗難されるリスクをより低くすることができる。また、配送システム30では、無人航空機390がユーザの到着を待ったり、荷物を再配送したりしない、又は、少ないので、盗難のリスクをより減らしながら、配送効率を向上させることができる。
<実施例1の変形例7>
実施例1では、配送制御サーバ310は、ロッカー装置228又は229が設置された場所を受取場所とし、受取場所まで荷物を配送させる制御を無人航空機390に行うと説明したが、これに限定される訳では無い。例えば、配送制御サーバ310は、図28に示すような無人地上車両380、及び、不図示の無人船といった無人機が停車又は停泊できる場所を受取場所とし、受取場所まで荷物を配送させる制御を無人地上車両380又は無人船に行うとしても良い。
図28の無人地上車両380は、車輪861及び862を含む複数の車輪を備える車台870と、車台870の上に設置されたロッカー装置880と、車台870の前面に設置され、かつ、前方に光軸を向けられた撮影装置890と、を備える。ロッカー装置880の構成及び機能は、図5に示したロッカー装置228の構成及び機能と同様であり、撮影装置890の構成及び機能は、図22に示した無人航空機390が備える撮影装置951の構成及び機能と同様である。
無人地上車両380は、車台870に内蔵され、撮影装置890が出力する撮影画像を表す情報に基づいて、障害物を避けながら配送経路を走行するように、複数の車輪にそれぞれ内蔵された不図示の複数のモータを駆動させる不図示の制御装置をさらに備える。無人地上車両380の制御装置の構成及び機能は、図23に示した無人航空機390の制御装置910の構成及び機能と同様であるが、無人地上車両380の制御装置は、複数の車輪をそれぞれ回転させる不図示の複数のモータを駆動させるのに対して、無人航空機390の制御装置910は、プロペラ931から934をそれぞれ回転させる不図示の複数のモータを駆動させる点で相違している。
<実施例1の変形例8>
実施例1の変形例7では、配送制御サーバ310は、B駅に設置され、かつ、不特定のユーザに使用されるロッカー装置228又は229の設置場所を受取場所とし、受取場所まで荷物を配送させる制御を無人地上車両380に行うと説明した。
しかし、これに限定される訳では無く、ロッカー装置228及び229は、ユーザの家に設置されており、かつ、特定のユーザによって利用される宅配ボックスであっても良い。また、これに限定される訳では無く、ロッカー装置228及び229は、例えば、コンビニエンスストアといった商業施設の在る場所を含むB駅の近傍のいかなる場所に設置されていても良い。
また、これに限定される訳では無く、配送制御サーバ310は、例えば、駐車場、河原、又は、道幅が広く、かつ、交通量が比較的少ない道路といった無人地上車両380が駐車可能な場所を受取場所としても良い。また、無人地上車両380は、受取場所に到着してから、ユーザが受取場所に到着して無人地上車両380の保管ボックスに収納された荷物を受け取るまでの間、受取場所に駐車しても良い。
さらに、これに限定される訳では無く、配送制御サーバ310は、ユーザの家の玄関前、庭先、又は、駐車場といった無人航空機390が停車可能な場所であって、かつ、ユーザに指定された場所を受取場所としても良い。また、無人地上車両380は、図5に示したロッカー装置228が備えるロボットアーム823の構成及び機能と同様の構成及び機能を有するロボットアームを備え、ロボットアーム823を用いて無人地上車両380の保管ボックスから荷物を取り出し、ユーザの指定場所へ荷物を置いた後、走り去っても良い。
<実施例1の変形例9>
実施例1では、配送システム30は、配送制御サーバ310と、無人航空機390と、を備え、配送制御サーバ310は、配送開始時刻を表す情報と、配送経路を表す情報と、を含む制御指示を無人航空機390へ送信すると説明したが、これに限定される訳では無い。
配送システム30は、配送制御サーバ310を備えるが、無人航空機390を備えず、無人航空機390に代わって作業員が荷物を配達しても良い。このために、配送制御サーバ310は、配送開始時刻と配送経路とを、図8に示した表示装置315bに表示させても良い。配達員は、表示された配送開始時刻と配送経路とを確認した後、例えば、自転車、オートバイ、又は、配送車といった有人機に荷物を積み込み、表示された配送開始時刻に営業所を出発し、かつ、表示された配送経路を通って受取場所まで到着するように有人機を運転しても良い。また、配達員は、徒歩で受取場所まで荷物を配達しても良い。
また、配送制御サーバ310は、配送開始時刻を表す情報と配送経路を表す情報とを、有人機が備えるナビゲーション装置、又は、ナビゲーションソフトウェアが動作する配達員の携帯端末へ送信しても良い。
<実施例1の変形例10>
実施例1では、配送制御サーバ310は、図18のステップS22及びステップS26を実行することで、第1の地点に在る到着駅のロッカー装置228又は229が設置された場所を受取場所とし、到着駅への到着予定時刻に基づいて受取時刻を決定すると説明したが、これに限定される訳では無い。本変形例に係る配送制御サーバ310は、到着駅が在る第1の地点への列車を用いた移動経路上の第2の地点に在るロッカー装置の設置場所を受取場所とし、第2の地点への到着予定時刻に基づいて受取時刻を決定する。
このために、本変形例に係る端末装置10の情報取得部121は、図15のステップS15において、利用可能な移動経路と最終到着駅の到着予定時刻との他に、鉄道路線又は列車の乗り換えに用いられる移動経路上の経由駅と、経由駅の到着予定時刻と、をさらに含む組み合わせを検索するように求めるリクエストを、検索エンジンを宛先としてデータ通信回路104aへ出力する。データ通信回路104aは、リクエストを送信した後に、レスポンスを検索エンジンから受信する(ステップS15)。
その後、ステップS16及びS17が実行された後、本変形例に係る携帯端末10の情報取得部121は、図15のステップS18に替えて、選択された組み合わせを表す情報から、経由駅の名称を表す情報(つまり、第2の地点を表す情報)と、選択された組み合わせに含まれる経由駅(つまり、第2の地点)の到着予定時刻を表す情報と、を移動情報として取得する。
その後、本変形例に係る配送制御サーバ310が携帯端末10から移動情報を出力すると(ステップS19)、図18のステップS21において、情報取得部321は、移動情報に含まれる経由駅の名称を表す情報と、経由駅の到着予定時刻を表す情報と、を取得する(ステップS21)。次に、情報取得部321は、図18のステップS22に替えて、図17の設置場所テーブルから、取得した経由駅の名称を表す情報と対応付けられたロッカーIDを取得する。第2の地点に在る経由駅に設置されたロッカー装置を特定するためである。
その後、図18のステップS23からS27が実行されることで、第2の地点に在るロッカー装置の1つが注目ロッカー装置とされた後、情報生成部324は、当該注目ロッカー装置の設置場所を受取場所とする(ステップS26)。また、情報生成部324は、ステップS21で取得された情報で表される経由駅の予定到着時刻に駅内移動時間を加算した時刻を受取時刻とする(ステップS27)。
本変形例では、第2の地点は、出発駅から第1の地点までの移動経路上の経由駅が在る地点であるとして説明したが、これに限定される訳では無く、第2の地点は、移動経路上の駅であれば、どのような駅でも構わない。
これらの構成によれば、配送制御サーバ310は、第1の地点への移動経路上の第2の地点を受取場所に決定できるため、受取場所の自由度より向上させることができるので、ユーザの利便性をより向上させることができる。
<実施例1の変形例11>
実施例1の変形例4では、配送制御サーバ310は、第1の地点の近傍に位置するロッカー装置228又は229が設置された場所を受取場所とし、到着駅への到着予定時刻に基づいて受取時刻を決定すると説明したが、これに限定される訳では無い。
また、実施例1の変形例10では、配送制御サーバ310は、第1の地点への移動経路上に在る経由駅のロッカー装置が設置された場所を受取場所とし、経由駅への到着予定時刻に基づいて受取時刻を決定するとしたが、これに限定される訳では無い。
例えば、配送制御サーバ310は、第1の地点への列車を用いた移動経路上の経由駅の近傍に位置する第2の地点に在るロッカー装置の設置場所を受取場所とし、第2の地点への到着予定時刻に基づいて受取時刻を決定しても良い。
<実施例1の変形例12>
実施例1では、配送制御サーバ310は、ユーザが自動改札機211を通過してホームへ入場したことを知らせる入場通知を受信すると、受取方法が指定されていない荷物の存在を通知する、図13に示した未指定通知処理を実行すると説明したが、これに限定される訳では無い。本変形例に係る配送制御サーバ310は、入場通知を受信しても、受取時刻までに無人航空機390による配送が間に合う確率が所定の閾値よりも低い場合に、未指定通知処理を実行しない。
本変形例において、図29に示すような、無人航空機390が在る営業所の配送地域DA内には、B1駅、B2駅、及び、B3駅があるとして説明を行う。このため、本変形例に係る配送制御サーバ310の情報記憶部329は、営業所から駅まで無人航空機390が飛行するのに要する飛行時間を表す情報が保存された、図30に示すような飛行時間テーブルを記憶している。飛行時間テーブルには、B1駅の名称を表す情報と、営業所からB1駅までの飛行時間「8分」を表す情報と、が対応付けられて保存されている。また、飛行時間テーブルには、B2駅の名称を表す情報と、営業所からB2駅までの飛行時間「4分」を表す情報と、が対応付けられ、B3駅の名称を表す情報と、営業所からB3駅までの飛行時間「8分」を表す情報と、が対応付けられて保存されている。
また、本変形例に係る配送制御サーバ310の情報記憶部329は、出発駅から配送地域DA内の駅まで列車で移動するのに要する乗車時間を表す情報が保存された、図31に示すような乗車時間テーブルを記憶している。乗車時間テーブルには、A駅の名称を表す情報と、A駅からB1駅までの乗車時間「5分」を表す情報と、が対応付けられ、A駅の名称を表す情報と、A駅からB2駅までの乗車時間「10分」を表す情報と、が対応付けられ、A駅の名称を表す情報と、A駅からB3駅までの乗車時間「20分」を表す情報と、が対応付けられて保存されている。
本変形例に係る自動改札機211は、自動改札機211の設置されているA駅の名称を表す情報を含んだ入場通知を送信する。本変形例に係る配送制御サーバ310のCPU311は、通信回路314が入場通知を受信すると、図30の飛行時間テーブルから、B1駅の名称を表す情報と対応付けられた営業所からB1駅までの飛行時間「8分」を表す情報を取得する。次に、CPU311は、ユーザが受取方法の指定に要する平均時間である平均指定時間「10分」を表す情報をハードディスク313bから取得する。その後、CPU311は、飛行時間「8分」に平均指定時間「10分」を加算した値「18分」を、B1駅に在るロッカー装置の設置場所を受取場所として指定された場合に、指定される可能性がある最も早い受取時刻までの猶予時間とする。
次に、CPU311は、図31の乗車時間テーブルから、入場通知に含まれるA駅の名称を表す情報と、B1駅の名称を表す情報と、に対応付けられた乗車時間「5分」を表す情報を取得する。CPU311は、A駅からB1駅までの乗車時間「5分」が、猶予時間「18分」よりも短いため、B1駅に在るロッカー装置の設置場所を受取場所として指定された場合に、受取時刻までに荷物を配送できない可能性があると判別する。
同様に、CPU311は、営業所からB2駅までの飛行時間「4分」に平均指定時間「10分」を加算した値「14分」を猶予時間とし、A駅からB2駅までの乗車時間「10分」が猶予時間「14分」よりも短いと判別する。このため、CPU311は、B2駅に在るロッカー装置の設置場所を受取場所として指定された場合に、受取時刻までに荷物を配送できない可能性があると判別する。
同様に、CPU311は、B3駅についての猶予時間を「18分」とする。その後、CPU311は、A駅からB3駅までの乗車時間「20分」がB3駅についての猶予時間「18分」よりも長いため、B3駅に在るロッカー装置の設置場所を受取場所として指定されても、受取時刻までに荷物を配送可能であると判別する。
その後、CPU311は、配送可能と判別したロッカー装置が設置された駅の数「1」を営業所内の駅の数「3」で除算した値に基づいて、受取時刻までに受取場所へ荷物の配送ができる確率(以下、配送可能確率という)を「33%」と算出する。CPU311は、配送制御サーバ310の管理者によって予め設定された閾値「50%」を表す情報をハードディスク313bから取得する。その後、CPU311は、配送可能確率「33%」が閾値「50%」より低いため、図13に示した未指定通知処理を実行しないことを決定する。
これに対して、CPU311は、配送可能確率が閾値「50%」以上である場合には、未指定通知処理を実行することを決定する。尚、平均指定時間は「10分」に限定される訳では無く、かつ、閾値は「50%」に限定される訳では無い。より最適な平均指定時間及び閾値は、当業者が実験により定めることができる。
これらの構成によれば、配送制御サーバ310は、配送可能確率が予め設定された閾値よりも低い場合に未指定通知処理を実行しないので、受取方法が指定されていないユーザ宛の荷物が存在していても、未指定通知がユーザの携帯端末10へ送信されない。このため、配送制御サーバ310は、指定される受取時刻までに配送できないおそれが高い荷物について、受取方法の指定を促す表示や音声の出力を携帯端末10が行うことを防止できるので、配送可能確率に関わらず未指定通知を送信する場合と比べて、ユーザの利便性をより向上させることができる。また、配送制御サーバ310は、携帯端末10によって指定された受取時刻までに荷物の配送ができなくなる可能性をより低くすることができる。
本変形例では、配送制御サーバ310は、図30に示した飛行時間テーブル及び図31に示した乗車時間テーブルに基づいて飛行時間及び乗車時間を取得したが、これに限定される訳では無い。配送制御サーバ310は、飛行時間及び乗車時間の検索を求めるリクエストを検索エンジンに送信した後、検索エンジンから飛行時間及び乗車時間を取得しても良い。
<実施例1の変形例13>
実施例1では、配送制御サーバ310は、図21のステップS53で、配送指示によって指定された受取場所に在るロッカー装置228が備える、空き状態の保管ボックス810の予約を求める予約リクエストを出力すると説明した。しかし、これに限定される訳では無く、配送制御サーバ310は、ステップS53を実行しなくとも良い。
<実施例1の変形例14>
実施例1では、図9に示した配送制御サーバ310の移動検知部323は、駅に設置された自動改札機221から送信された入場通知に基づいてユーザの移動を検知すると説明したが、これに限定される訳では無い。
移動検知部323は、例えば、運賃を乗車時に支払う先払い式の路線バス又は路面電車の車内に設置された不図示の運賃収受装置から送信される通知であって、ユーザが駅を退場して路線バス又は路面電車に乗り込んだことを知らせる退場通知に基づいてユーザの移動を検知しても良い。また、例えば、運賃を下車時に支払う後払い式の路線バス又は路面電車の場合は、移動検知部323は、ユーザが路線バス又は路面電車を降りて停車駅に入場したことを知らせる入場通知に基づいてユーザの移動を検知しても良い。
このため、携帯端末10は、図15のステップS13において、路線バス又は路面電車の停車駅の名称を出発駅の名称として取得する。また、携帯端末10は、ステップS14において、路線バス又は路面電車の停車駅の名称であり、かつ、出発駅の名称と異なる名称を、到着駅の名称として取得する。さらに、携帯端末10は、ステップS15及びS16において、路線バス又は路面電車の出発駅から到着駅までの移動経路、及び、到着予定時刻の組み合わせを1又は複数取得して表示する。
不図示の運賃収受装置は、例えば、図3に示したICカードRW217の構成及び機能と同様の構成及び機能を有するICカードRWと、図4に示した制御装置218の構成及び機能と同様の構成及び機能を有する制御装置と、を備えていれば良い。
<実施例1の変形例15>
実施例1では、配送制御サーバ310は、ユーザが自動改札機211を通過してホームへ入場したことを知らせる入場通知を受信すると、未指定通知を送信する、図13の未指定通知処理を実行すると説明した。また、携帯端末10は、未指定通知を受信すると、ユーザの操作に基づいて図15の移動情報取得処理を実行することで、移動情報を取得して送信し、配送制御サーバ310は、移動情報を受信すると、図18に示した受取方法情報生成処理を実行すると説明した。
これらのため、通常、配送制御サーバ310及び携帯端末10は、ユーザがA駅で列車を待っている、又は、ユーザが列車でA駅からB駅のある第1の地点へ移動している間に、移動情報を取得し、受取方法情報を生成すると説明したが、これに限定されるのではない。
本変形例に係る携帯端末10は、ユーザの第1の地点への移動を検知している間に限って、図15の移動情報取得処理及び図19の受取方法承認処理を実行する。このため、本変形例に係る携帯端末10は、所定周期で、GPS回路106から出力される信号で緯度及び経度、並びに、緯度及び経度の変化に基づいて、ユーザが第1の地点へ移動しているか否かを検知する。
本変形例に係る配送制御サーバ310は、携帯端末10と同様に、ユーザの第1の地点への移動を検知している間に限って、図18の受取情報生成処理を実行する。このため、本変形例に係る携帯端末10は、GPS回路106から出力される緯度及び経度を表す情報を所定周期で配送制御サーバ310へ送信する。本変形例に係る配送制御サーバ310は、携帯端末10から所定周期で送信される緯度及び経度を表す情報を受信する度に、受信した情報で表される携帯端末10の緯度及び経度、並びに、緯度及び経度の変化に基づいて、ユーザが第1の地点へ移動しているか否かを検知する。
また、本変形例に係る携帯端末10は、連続してユーザが第1の地点へ移動していることが検知されている間に限って、移動情報取得処理及び受取方法承認処理の実行をそれぞれ開始し、かつ、継続する。配送制御サーバ310は、ユーザが第1の地点へ移動していることが検知されなくなると、移動情報取得処理及び受取方法承認処理の実行を中止する。これと同様に、本変形例に係る配送制御サーバ310は、連続してユーザが第1の地点へ移動していることが検知されている間に限って、受取情報生成処理の実行を開始し、かつ、継続する。配送制御サーバ310は、ユーザが第1の地点へ移動していることが検知されなくなると、受取情報生成処理の実行を中止する。
<実施例1の変形例16>
実施例1では、配送予定荷物情報は備考情報を含み、備考情報は、荷物の送り主を表す情報及び荷物の種類を表す情報を含むと説明したが、これに限定される訳では無い。本変形例に係る備考情報は、予め規格で定められた保管ボックスのサイズの内で、荷物を収納可能な最も体積が小さい保管ボックスのサイズ(以下単に、収納可能ボックスサイズという)を表す情報をさらに含む。
また、実施例1では、図17の設置場所テーブルは、ロッカー装置228又は229のロッカーIDに対して、ロッカー装置228又は229が設置された駅の名称を表す情報、ロッカー装置228又は229の緯度及び経度を表す情報、及び、駅内移動時間を表す情報が対応付けられていると説明した。これに対して、本変形例に係る不図示の設置場所テーブルは、ロッカー装置228又は229のロッカーIDに対して、収納可能ボックスサイズを表す情報をさらに対応付けている。
これらのため、配送制御サーバ310のCPU311は、図18のステップS23において、ステップS22で取得された1又は複数のロッカーIDのそれぞれについて、ロッカーID及び空き状態を表す状態情報と、図13のステップS04で取得された配送予定荷物情報に含まれる収納可能ボックスサイズを表す情報と、に対応付けられたボックスIDを、不図示の設置場所テーブルから取得する。このため、配送制御サーバ310は、配送される荷物を収納できる最小の体積を有する保管ボックス810を、到着駅に在るロッカー装置228及び229が備える保管ボックス810から特定できるので、ロッカー装置228及び229における荷物の収納効率を向上できる。
また、本変形例において、配送制御サーバ310のCPU311は、図18のステップS23において、ステップS22で取得された1又は複数のロッカーIDのそれぞれについて、ロッカーID及び空き状態を表す状態情報と対応付けられたボックスIDと収納可能ボックスサイズを表す情報との組み合わせを1又は複数取得しても良い。この場合、複数の組み合わせを取得した場合、複数の組み合わせをそれぞれ構成する複数の収納可能ボックスサイズを表す情報の内で、最も体積が小さいサイズを表す情報を含む組み合わせを選択しても良い。このため、配送制御サーバ310は、空き状態の保管ボックス810の内で、配送される荷物を収納できる最小の体積を有する保管ボックス810を、到着駅に在るロッカー装置228及び229のそれぞれについて特定できる。このため、配送制御サーバ310は、空き状態の保管ボックス810の内で、配送される荷物を収納できる最小の体積を有する保管ボックス810を、到着駅に在るロッカー装置228及び229のそれぞれについて特定できる。
<実施例1の変形例17>
実施例1では、図12に示した配送予定荷物テーブルは、配送予定荷物情報を予め記憶していると説明したが、これに限定される訳では無い。例えば、図9に示した配送制御サーバ310の情報取得部321は、ユーザによって入力操作が行われた入力装置315cから出力される信号に基づいて配送予定荷物情報を取得し、情報保存部322は、取得された配送予定荷物情報を配送予定荷物テーブルに保存しても良い。このために、情報取得部321は、配送予定荷物情報の入力を促す表示をするように、図8に示した表示装置315bを制御しても良い。
また、情報取得部321は、不図示の配送管理サーバから通信回路314がダウンロードした配送予定荷物情報を取得しても良い。このために、情報取得部321は、未送信の配送予定荷物情報の送信を求めるリクエストを、不図示の配送管理サーバを宛先として通信回路314へ出力した後に、通信回路314が配送管理サーバから受信した配送予定荷物情報を取得しても良い。
<実施例1の変形例18>
実施例1では、配送システム30は、図1に示したように、配送制御サーバ310及び無人航空機390を備え、配送制御サーバ310は、図9に示した情報記憶部329を備えると説明した。
しかし、これに限定される訳では無く、配送システム30は、図9に示した情報記憶部329と同様の機能を有する不図示のファイルサーバをさらに備え、配送制御サーバ310は、図9に示した情報記憶部329を備えず、ファイルサーバに記憶されたテーブルを参照して配送制御を行っても良い。
不図示のファイルサーバは、不図示のCPU、RAM、ROM、ハードディスク、通信回路、ビデオカード、表示装置、及び、入力装置といったハードウェアを備える。これらのハードウェアは、図8に示した配送制御サーバ310のCPU311、RAM312、ROM313a、ハードディスク313b、通信回路314、ビデオカード315a、表示装置315b、及び、入力装置315cと同様の構成及び機能を有する。
さらに、ファイルサーバは、例えば、LAN(Local Area Network)を介して互いに接続された物理的に複数台のファイルサーバと、複数台のファイルサーバの内で仮想的に1台のクラウドサーバとして機能させるサーバの数を変更するスケールコントローラと、で構成されても良い。
<実施例1の変形例19>
実施例1では、配送制御サーバ310は、不図示の検索エンジンにリクエストを送信し、検索エンジンからレスポンスを受信すると説明したが、これに限定される訳では無く、検索エンジンが有する検索機能を備えても良い。
<実施例1の変形例20>
実施例1の変形例2及び実施例1の変形例7では、図5に示したロッカー装置228は、1本のロボットアーム823を備えると説明した。しかし、これに限定される訳では無く、ロッカー装置228は、複数本のロボットアーム823を備え、複数本のロボットアーム823を協働させて、図25に示した無人航空機390の保管ボックス950、又は、図28に示した無人地上車両380の保管ボックスから荷物を取り出しても良い。
また、ロッカー装置228がロボットアーム823を備えず、無人航空機390及び無人地上車両380がロボットアーム823の構成及び機能と同様の構成及び機能を有する1又は複数のロボットアームを備えても良い。この場合、無人航空機390及び無人地上車両380の1又は複数のロボットアームが、無人航空機390の保管ボックス950、又は、無人地上車両380の保管ボックスから荷物を取り出す。その後、無人航空機390及び無人地上車両380の1又は複数のロボットアームが、図5に示したロッカー装置228の保管ボックス810へ荷物を収納する。これらの構成によれば、ロボットアームを備えないロッカー装置であっても、無人航空機390及び無人地上車両380が配送する荷物を収納できるため、受取場所の自由度をより向上させることができる。
<実施例1の変形例21>
実施例1では、自動改札機211は、ユーザがホームへ入場したことを知らせる入場通知を送信し、配送制御サーバ310は、入場通知に基づいてユーザの移動を検知すると説明したが、これに限定される訳では無い。自動改札機211は、ユーザが自動改札機211を通過したことを知らせる通過通知を送信し、配送制御サーバ310は、通過通知に基づいてユーザの移動を検知しても良い。
実施例1では、携帯端末10は、スマートフォン又はタブレット型のパーソナルコンピュータであると説明したが、これに限定される訳ではなく、例えば、ノートブック型のパーソナルコンピュータであっても良い。また、実施例1では、配送制御サーバ310は、第1の地点への到着予定時刻に基づいて受取時刻を決定すると説明したが、第1の地点への到着予定日時に基づいて受取日時を決定しても良い。さらに、実施例1では、配送システム30は、1台の無人航空機390を備えると説明したが、複数台の無人航空機390を備えても良い。また、無人航空機390で配送される荷物は、物品であっても良いし、生物であっても良い。
実施例1では、図5に示したロッカー装置228は、荷物台821及び822を上面に備えると説明したが、これに限定される訳では無く、荷物台821及び822が設置されていない荷物置場を上面に備えても良い。また、荷物台821及び822、並びに、荷物置場の設置場所は、ロッカー装置228の上面に限定される訳では無く、ロッカー装置228の前面、側面、又は、背面、若しくは、ロッカー装置228から所定距離内の近辺に設置されても良い。
実施例1では、配送制御サーバ310並びにロッカー装置228及び229は、ICカード11のカードIDを、保管ボックス810の扉811の電子鍵とすると説明したが、これに限定される訳では無い。配送制御サーバ310並びにロッカー装置228及び229は、例えば、ユーザに予め設定されたPIN(Personal Identification Number)といった暗証番号、パスワード、指紋、虹彩、声紋、顔形、及び、静脈といった身体的特徴、又は、筆跡といった行動的特徴を表す情報を、電子鍵としても良い。
<実施例2>
本実施例に係る情報処理システム1は、図32に示すような携帯端末10、B駅に設置されたロッカー装置228及び229、並びに、配送システム30が備える配送制御サーバ310及び無人航空機390を備える。しかし、本実施例に係る情報処理システム1は、図1に示した自動改札機211、212、221、及び、222を備えていない点で、実施例1に係る情報処理システム1と相違する。以下、実施例1と同様の構成については、実施例1で用いた符号と同一の符号を用いて説明するが、本実施例と実施例1との相違について主に説明する。
図2に示した携帯端末10のCPU101は、起動時に受取方法指定アプリをバックグラウンドで実行することにより、例えば、1分間といった所定周期で、ユーザの列車を用いた移動を検知する不図示の移動検知処理を実行する。これにより、CPU101は、図33に示すような情報保存部122及び移動検知部123としてさらに機能し、フラッシュメモリ103bは、情報記憶部129として機能する。
情報記憶部129は、駅の名称を表す情報と、駅の代表地点の緯度及び経度を表す情報と、が対応付けられて保存されている不図示の駅テーブルを予め記憶している。
移動検知処理の実行が開始されると、情報取得部121は、情報記憶部129から、前回の実行で保存された携帯端末10の緯度及び経度(以下、前回の緯度及び経度という)を表す情報を取得する。尚、初回の実行時には、情報記憶部129は、所定の緯度及び経度を表す情報を記憶している。
次に、情報取得部121は、GPS回路106から携帯端末10の緯度及び経度(以下、今回の緯度及び経度という)を表す情報を取得し、情報保存部122は、取得された今回の緯度及び経度を表す情報で、情報記憶部129に保存された前回の緯度及び経度を表す情報を更新する。
次に、移動検知部123は、予め特定されているGPS回路106の誤差を表す情報を情報記憶部129から取得する。次に、移動検知部123は、今回の緯度と前回の緯度との差異が当該誤差よりも大きい、又は、今回の経度と前回の経度との差異が当該誤差よりも大きい場合に、携帯端末10の移動を検知する。これに対して、移動検知部123は、今回の緯度と前回の緯度との差異が当該誤差以下であり、かつ、今回の経度と前回の経度との差異が当該誤差以下である場合に、携帯端末10の移動を検知せず、移動検知処理の実行を終了する。
携帯端末10の移動が検知されると、情報取得部121は、今回の緯度との差異が当該誤差よりも小さい緯度、及び、今回の経度との差異が当該誤差よりも小さい経度を表す情報に対応付けられた駅の名称を表す情報を、不図示の駅テーブルから取得する。移動検知部123は、駅の名称を表す情報を情報取得部121が取得できなかった場合に、ユーザが駅に入場した訳では無いと判別し、移動検知処理の実行を終了する。これに対して、移動検知部123は、駅の名称を表す情報を情報取得部121が取得できた場合に、ユーザが駅に入場したことを検知する。その後、移動検知部123は、ユーザIDを含む入場通知を、配送制御サーバ310を宛先として、データ通信回路104aに出力した後、移動検知処理の実行を終了する。
図8に示した配送制御サーバ310のCPU311は、通信回路314が入場通知を受信すると、駅へ入場したユーザが受取方法を指定していない荷物の存在を知らせる、図13に示した未指定通知処理の実行を開始する。未指定通知処理が開始されると、図9に示した配送制御サーバ310の情報取得部321は、入場通知に含まれるICカード11のカードIDを取得する。次に、情報取得部321は、取得したカードIDに基づいてユーザIDを取得する実施例1で説明したステップS01及びS02の替わりに、通信回路314が受信した入場通知に含まれるユーザIDを取得する。
その後、移動検知部323が、ユーザIDで識別されるユーザの移動を検知した後に(ステップS03)、ステップS04からS06の処理が実行されてから、未指定通知処理の実行が終了される。これにより、移動を検知されたユーザが受取方法を指定していない荷物が存在する場合に、当該ユーザの携帯端末10へ未指定通知が送信される。
これらの構成によれば、携帯端末10は、GPS回路が出力する信号に基づいて、携帯端末10を携帯したユーザの駅への入場を検知すると、入場通知を送信する。また、配送制御サーバ310は、入場通知を受信すると、当該ユーザが受取方法を指定していない荷物の存在を知らせる未指定通知を携帯端末10へ送信する。このため、図1に示した自動改札機211等が設置されていない駅にユーザが入場しても、配送制御サーバ310は、ユーザの移動を検知したり、移動を検知したユーザの携帯端末10へ未指定通知を送信したりできる。
また、これらの構成によれば、配送制御サーバ310は、入場通知を受信すると、入場通知に含まれるユーザIDで識別されるユーザの移動を検知する。このため、図1に示したICカード11を用いて入場料をユーザが決済しなくとも、配送制御サーバ310は、ユーザの移動を検知できる。
<実施例2の変形例1>
実施例2では、携帯端末10は、ユーザが駅に入場したことを検知すると、ユーザIDを含む入場通知を配送制御サーバ310へ送信すると説明したが、これに限定される訳では無い。携帯端末10は、ユーザが駅から退場したこと、又は、駅を通過したことを検知すると、ユーザIDを含む退場通知又は通過通知を配送制御サーバ310へ送信しても良い。
<実施例2の変形例2>
実施例2では、携帯端末10は、ユーザが駅に入場したことを検知すると、ユーザIDを含む入場通知を配送制御サーバ310へ送信すると説明したが、これに限定される訳では無い。携帯端末10は、例えば、バス停又はバスターミナルといったユーザに予め指定されたチェックポイントに入場したことを検知しても良い。また、携帯端末10は、例えば、ユーザの勤務先、又は、ユーザが通学する学校といったユーザに予め指定されたチェックポイントを退場したことを検知し、ユーザIDを含む退場通知を配送制御サーバ310へ送信しても良い。さらに、また、携帯端末10は、例えば、出発駅から到着駅までに在り、列車の混雑が緩和し始める駅といったユーザに予め指定されたチェックポイントを通過したことを検知し、ユーザIDを含む通過通知を配送制御サーバ310へ送信しても良い。
<実施例3>
実施例1に係る配送制御サーバ310は、ユーザがホームへ入場したことを知らせる入場通知を自動改札機211から受信し、受信された入場通知に基づいてユーザの移動を検知すると説明した。しかし、本実施例に係る配送制御サーバ310は、ユーザの行動履歴に基づいてチェックポイントから第1の地点までの移動予測を行い、移動予測結果と、ユーザが使用する携帯端末10の緯度及び経度と、を比較することでユーザの移動を検知する点で、実施例1に係る配送制御サーバと相違する。以下、実施例1と同様の構成については、実施例1で用いた符号と同一の符号を用いて説明するが、本実施例と実施例1との相違について主に説明する。
本実施例では、ユーザが勤務するオフィスがチェックポイントであり、B駅がある地点が第1の地点であるとして説明を行う。このため、本実施例に係る配送制御サーバ310の情報記憶部329は、ユーザに設定されたチェックポイントに関する情報が保存された、図34に示すような設定ポイントテーブルを記憶している。設定ポイントテーブルには、複数のレコードが保存されており、各レコードには、ユーザを識別するユーザIDと、ユーザが予め指定したチェックポイントの位置である緯度及び経度を表す情報と、第1の地点の緯度及び経度を表す情報と、が対応付けられて保存されている。
また、情報記憶部329は、ユーザの行動履歴を表す情報が保存された、図35に示すような行動履歴テーブルを記憶している。行動履歴テーブルには、複数のレコードが保存されており、各レコードには、ユーザを識別するユーザIDと、当該ユーザの移動履歴を表すデータを含む行動履歴を表すデータが保存されている。ユーザの移動履歴を表すデータは、ユーザが入場、通過、又は、退場した場所の緯度及び経度を表す情報と、入場、通過、又は、退場が検知された日時(以下、検知日時という)を表す情報と、を対応付けたデータである。
行動履歴テーブルに保存されたデータは、配送制御サーバ310が携帯端末10から受信したデータである。携帯端末10は、受取方法指定アプリをバックグラウンドで実行し、例えば、交差点、建物、橋、トンネル、及び、駅等の公共施設といったランドマークとなる場所に対する入場、通過、又は、退場を、GPS回路106から出力される信号に基づいて、所定周期で検知する。携帯端末10は、入場、通過、又は、退場を検知すると、ユーザIDと、入場、通過、又は、退場が行われた場所の緯度及び経度を表す情報と、検知日時を表す情報と、が対応付けられたデータを配送制御サーバ310へ送信する。配送制御サーバ310の通信回路314が当該データを受信すると、情報取得部321は、通信回路314から当該データを取得し、情報保存部322は、行動履歴テーブルに新しいレコードを追加し、取得されたデータを追加されたレコードに保存する。
情報記憶部329は、ユーザの行動を予測した結果(以下、行動予測結果という)を表す情報が保存される、図36に示すような行動予測結果テーブルを記憶している。行動予測結果テーブルには、複数のレコードが保存されており、各レコードには、行動予測結果を表す情報が保存されている。行動予測結果を表す情報は、ユーザの設定したチェックポイントから第1の地点までの移動を予測した結果(以下、移動予測結果という)を表す情報を含んでいる。移動予測結果を表す情報は、チェックポイントから第1の地点までの予測された移動経路(以下、予測移動経路という)に含まれるランドマークとなる地点の緯度及び経度を表す情報と、当該地点をユーザが通過すると予測された時刻(以下、予測時刻という)を表す情報と、を含んでいる。
配送制御サーバ310のCPU311は、例えば、1週間に1度といった所定周期で、ユーザの移動を予測する不図示の移動予測処理を実行することで、図37に示すような移動予測部327として機能する。移動予測処理の実行を開始すると、図9に示した情報取得部321は、図34の設定ポイントテーブルに保存されたユーザID毎に、図35の行動履歴テーブルにおいて、ユーザIDに対応付けて保存された緯度及び経度を表す情報を複数取得する。その後、情報取得部321は、取得された複数の緯度及び経度を表す情報に基づいて、チェックポイントから第1の地点へまでの移動経路を1又は複数特定し、最も多く特定された移動経路を予測移動経路として取得する。
次に、情報取得部321は、ユーザID毎に、ユーザIDに対応付けられたチェックポイントの緯度及び経度を表す情報を取得し、取得したチェックポイントの緯度及び経度を表す情報と対応付けられた退場の検知日時を表す情報を、図35の行動履歴テーブルから1又は複数取得する。その後、情報取得部321は、ユーザID毎に、取得された1又は複数の情報で表される検知時刻の内で、最も多い検知時刻を、退場の予測時刻(以下、退場予測時刻という)として取得する。
同様に、情報取得部321は、ユーザID毎に、予測移動経路に含まれる複数の地点について、通過の予測時刻(以下、通過予測時刻という)を取得し、第1の地点に対する入場の予測時刻(以下、入場予測時刻という)を取得する。
その後、情報保存部322は、ユーザIDと、当該ユーザIDで識別されるユーザが指定したチェックポイントの緯度及び経度を表す情報と、チェックポイントに対する当該ユーザの退場予測時刻を表す情報と、を対応付けて、図36の行動予測結果テーブルに保存する。同様に、情報保存部322は、予測移動経路に含まれる複数の地点のそれぞれについて、ユーザIDと、地点の緯度及び経度を表す情報と、通過予測時刻を表す情報と、を対応付けて、図36の行動予測結果テーブルに保存する。同様に、情報保存部322は、ユーザIDと、第1の地点の緯度及び経度を表す情報と、第1の地点の入場予測時刻を表す情報と、を対応付けて、図36の行動予測結果テーブルに保存する。このようにして、情報保存部322は、ユーザIDと、当該ユーザIDで識別されるユーザの移動予測結果を表す情報と、を対応付けて、図36の行動予測結果テーブルに保存する。
本実施例に係る携帯端末10のCPU101は、起動時に受取方法指定アプリをバックグランドで実行し、フラッシュメモリ103bからユーザIDを読み出す。次に、図2に示したGPS回路106から携帯端末10の緯度及び経度を表す情報を取得し、取得した緯度及び経度を表す情報と、ユーザIDと、を含む位置通知を生成し、生成した位置通知を、配送制御サーバ310を宛先としてデータ通信回路104aへ出力する。その後、CPU101は、所定時間だけスリープした後に、緯度及び経度を表す情報の取得から上記処理を繰り返す。
図8に示した配送制御サーバ310のCPU311は、通信回路314が携帯端末10から位置通知を受信すると、図38に示すような移動検知処理の実行を開始する。移動検知処理を開始すると、図9に示した情報取得部321は、通信回路314から位置通知を取得し、位置通知からユーザIDと、ユーザIDで識別されるユーザの携帯端末10の緯度及び経度を表す情報と、を取得する(ステップS91)。
その後、移動検知部323は、実施例2で説明したユーザが駅に入場したか否かを判別する方法と同様の方法を用いて、携帯端末10を使用するユーザがチェックポイントを退場したか否かを判別する(ステップS92)。このとき、移動検知部323は、チェックポイントを退場していないと判別すると(ステップS92;No)、チェックポイントから第1の地点までのユーザの移動を検知せずに、移動検知処理の実行を終了する。
これに対して、移動検知部323は、チェックポイントを退場したと判別すると(ステップS92;Yes)、OSが管理するシステム時刻を取得し、取得した時刻をチェックポイントの退場を判別した時刻(以下、退場判別時刻という)とする(ステップS93)。次に、移動検知部323は、図34に示す設定ポイントテーブルから、ユーザIDに対応付けられたチェックポイントの緯度及び経度を表す情報を取得する。その後、移動検知部323は、図36の行動予測結果テーブルから、ユーザIDと、取得した緯度及び経度を表す情報と、に対応付けられたチェックポイントの予測退場時刻を表す情報を取得する(ステップS94)。勤務先のオフィスであるユーザのチェックポイントを当該ユーザが出発すると予測される時刻を特定するためである。
その後、移動検知部323は、チェックポイントの退場判別時刻と退場予測時刻との相違に基づいて、退場予測時刻が的中したか否かを判別する(ステップS95)。このとき、移動検知部323は、相違が予め定められた閾値より大きいため、退場予測時刻が的中しなかったと判別すると(ステップS95;No)、移動予測結果が的中していないと判別し、ユーザの移動を検知せずに、移動検知処理の実行を終了する。
これに対して、移動検知部323は、相違が予め定められた閾値以下であるため、退場予測時刻が的中したと判別すると(ステップS95;Yes)、移動予測結果が的中したと判別し、ユーザの移動を検知した後に(ステップS96)、移動検知処理の実行を終了する。
ユーザの移動が検知されると、配送制御サーバ310のCPU311は、図13のステップS04からS06の処理を実行する。これにより、行動予測によって移動が検知されたユーザが受取方法を指定していない荷物が存在する場合に、未指定通知がユーザの携帯端末10へ送信される。
未指定通知を受信した携帯端末10が、受取方法が指定されていない荷物の存在を知らせる表示を行うと、表示を視認したユーザは、携帯端末10のタッチパネル105を操作して、受取方法指定アプリをフォアグラウンドで実行させる操作を行う。携帯端末10のCPU101は、タッチパネル105から出力される信号に基づいて、図15の移動情報取得処理を実行せず、受取方法情報の送信を求めるユーザIDを含んだリクエストを、配送制御サーバ310を宛先としてデータ通信回路104aへ出力する。配送制御サーバ310は、行動予測によって移動情報を取得できるためである。
配送制御サーバ310の通信回路314がリクエストを受信すると、配送制御サーバ310のCPU311は、図18に示した受取方法情報生成処理を実行する。受取方法情報生成処理の実行を開始すると、情報取得部321は、リクエストに含まれるユーザIDを取得し、図34に示す設定ポイントテーブルから、取得されたユーザIDに対応付けられた第1の地点の緯度及び経度を表わす情報を取得する。次に、情報取得部321は、図36に示す行動予測結果テーブルから、取得されたユーザIDと、第1の地点の緯度及び経度を表わす情報と、に対応付けられた入場予測時刻を表す情報を取得する。ユーザの自宅の最寄り駅がある第1の地点に当該ユーザが到着すると予測される時刻を特定するためである。
次に、情報取得部321は、第1の地点の入場予測時刻を第1の地点の到着予定時刻とすることで、移動情報を取得する(ステップS21)。その後、ステップS22からS29が実行されることで、第1の地点に在るB駅のロッカー装置228又は229の設置場所が受取場所に決定され、第1の地点の入場予測時刻に基づいて受取時刻が決定された後、受取方法情報生成処理の実行が終了される。
これらの構成によれば、配送制御サーバ310は、ユーザの行動履歴に基づいて、チェックポイントから第1の地点までのユーザの移動を予測し、携帯端末10から取得した緯度及び経度を表す情報と、移動予測結果を表す情報と、に基づいて、チェックポイントから第1の地点までのユーザの移動を検知する。このため、ユーザの移動をより精度良く検知できる。
またこれらの構成によれば、配送制御サーバ310は、ユーザの行動履歴に基づいて予測される第1の地点の到着時刻を到着予定時刻とする。このため、例えば、徒歩、タクシ−、自家用車、及び、社用車、オートバイといった第1の地点への到着予定時刻が予め定められていない移動手段を使って移動する場合でも、精度の良い到着予定時刻を取得できる。
本実施例では、チェックポイントは、ユーザが勤務するオフィスであり、配送制御サーバ310は、携帯端末10から取得した緯度及び経度を表す情報に基づいて、ユーザがチェックポイントを退場したか否かを判別すると説明した。また、配送制御サーバ310は、ユーザがチェックポイントを退場したと判別した時刻と、チェックポイントの退場が予測された時刻と、の相違に基づいて、移動予測結果が的中したか否か判別し、移動予測結果が的中したと判別すると、ユーザの移動を検知すると説明した。しかし、これに限定される訳では無く、チェックポイントは、ユーザの行動履歴に含まれる場所であれば良く、好ましくはユーザの行動履歴に頻繁に含まれる場所である。例えば、チェックポイントは、ユーザが勤務するオフィスの最寄駅、又は、経由駅であっても良いし、ユーザの通う学校や、当該学校の最寄駅、又は、経由駅であっても良い。また、例えば、チェックポイントは、ユーザが帰宅前に頻繁に立ち寄るレストラン又は酒場、若しくは、フィットネスクラブであっても良い。また、配送制御サーバ310は、携帯端末10から取得した緯度及び経度を表す情報に基づいて、ユーザがチェックポイントに入場した、又は、チェックポイントを通過したか否かを判別しても良い。また、配送制御サーバ310は、ユーザがチェックポイントに入場した、又は、チェックポイントを通過したと判別した時刻と、チェックポイントの予測された退場時刻、又は、通過時刻と、の相違に基づいて、移動予測結果が的中したか否か判別しても良い。
本実施例では、配送制御サーバ310は、チェックポイントの退場判別時刻と退場予測時刻との相違が予め定められた閾値以下の場合に、退場予測時刻が的中したと判別し、退場予測時刻が的中したと判別すると、移動予測結果が的中した判別すると説明した。しかし、これに限定される訳では無く、配送制御サーバ310は、予測移動経路に含まれる地点の総数Mよりも少ないm個の地点をユーザが通過したと判別された時刻のそれぞれと、m個の地点の通過予測時刻のそれぞれと、のm個の相違が全て予め定められた閾値以下の場合に、m個の予測された通過時刻が的中したと判別しても良い。この場合、配送制御サーバ310は、m個の予測された通過時刻が的中したと判別すると、移動予測結果が的中した判別しても良い。
<実施例3の変形例1>
実施例3に係る配送制御サーバ310は、ユーザの行動履歴に基づいてユーザの移動予測を行い、移動予測結果と、ユーザが使用する携帯端末10の緯度及び経度と、を比較することでユーザの移動を検知すると説明した。しかし、これに限定される訳では無く、携帯端末10が、ユーザの行動履歴に基づいてユーザの移動予測を行っても良い。また、携帯端末10は、移動予測結果と、GPS回路106から出力される情報で表される緯度及び経度と、を比較することでユーザの移動を検知しても良い。
<実施例3の変形例2>
実施例3では、配送制御サーバ310は、第1の地点に在るB駅のロッカー装置228及び229の設置位置を受取場所に決定し、行動履歴に基づいて予測された第1の地点の到着時刻に基づいて受取時刻を決定すると説明したが、これに限定される訳では無い。本変形例に係るロッカー装置228及び229は、ユーザの予測移動経路上又は予測移動経路の近傍に位置する第2の地点に設置されている。また、本変形例に係る制御サーバ310は、ロッカー装置228及び229の設置位置を受取場所とし、行動履歴に基づいて予測された第2の地点と同じ又は最も近い予測移動経路上の地点(以下、最近地点という)の到着時刻に基づいて受取時刻を決定する。
このため、図9に示した情報記憶部329は、ロッカー装置228又は229のロッカーIDと、ロッカー装置228又は229の緯度及び経度を表す情報と、が対応付けられて保存された、不図示の設置場所テーブルを記憶している。
配送制御サーバ310のCPU311は、不図示の設置場所テーブルを用いて、図39に示すような受取方法情報生成処理を実行する。受取方法情報生成処理の実行を開始すると、配送制御サーバ310の情報取得部321は、ユーザIDに対応付けられた移動予測結果を表す情報を移動情報として、図36の行動予測結果テーブルから取得する(ステップS101)。
次に、情報取得部321は、移動予測結果を表す情報から予測移動経路上の複数の地点の緯度及び経度を表す情報を取得する。その後、情報取得部321は、不図示の設置場所テーブルに保存されたロッカー装置228及び229の緯度及び経度を表す情報と、予測移動経路上の複数の地点の緯度及び経度を表す情報と、に基づいて、ロッカー装置228及び229それぞれについて最近地点を特定する。次に、情報取得部321は、ロッカー装置228及び229それぞれについて、最近地点との距離を算出し、算出した距離がユーザによって予め定められた距離よりも短い場合に、ロッカー装置228又は229が予測移動経路上又は予測移動経路の近傍に位置すると判別する。その後、情報取得部321は、予測移動経路上又は予測移動経路の近傍に位置すると判別したロッカー装置228又は229のロッカーIDを取得する(ステップS102)。
その後、図18のステップS23からS25と同様の処理が実行される(ステップS103からS105)。その後、情報生成部324は、予測移動経路上又は予測移動経路の近傍に位置すると判別した注目ロッカー装置228又は229がある地点(つまり、第2の地点)を受取場所する(ステップS106)。
次に、情報取得部321は、移動予測結果を表す情報から最近地点の緯度及び経度を表す情報と、最近地点の通過予測時刻を表す情報と、を取得する。また、情報取得部321は、最近地点の次にユーザが通過すると予測された予測移動経路上の通過地点の緯度及び経度を表す情報と、当該通過地点の通過予測時刻を表す情報と、を取得する。その後、情報取得部321は、最近地点の緯度及び経度を表す情報及び通過予測時刻を表す情報と、最近地点の次の通過地点の緯度及び経度を表す情報及び通過予測時刻を表す情報と、に基づいて、予測される移動速度を算出する。その後、情報取得部321は、ステップS102で算出した最近地点と第2の地点との距離と、予測される移動速度と、に基づいて、最近地点から第2の地点までの予測される移動時間(以下、予測移動時間という)を算出する。
次に、情報取得部321は、最近地点の通過予測時刻を、最近地点の到着予定時刻とする。その後、情報取得部321は、受取時刻を、最近地点の到着予定時刻に最近地点から受取場所である第2の地点までの予測移動時間を加算した時刻とする(ステップS107)。その後、図18のステップS28及びS29と同様のステップS108及びS109が実行されることで、1又は複数の受取方法情報が携帯端末10へ送信された後に、受取方法情報生成処理の実行が終了される。
その後、実施例1と同様に、1又は複数の受取方法情報を携帯端末10が受信した後に、受取方法の承認が行われると、受取場所である予測された移動経路上又は近傍の第2の地点まで荷物を配送するように無人航空機390が制御される。第2の地点まで荷物を配送するように無人地上車両380が制御されても良い。
これらの構成によれば、配送制御サーバ310は、ユーザの行動履歴に基づいて予測された移動経路上又は近傍に位置するロッカー装置228又は229の設置場所を受取場所とする。このため、ユーザの日々の移動経路上又は近傍に位置するロッカー装置228又は229の設置場所であれば、どのような場所でも受取場所に決定できるので、受取場所の自由度をより向上させることができる。また、配送制御サーバ310は、第2の地点と最も近い予測移動経路上の地点のユーザの行動履歴に基づいて予測された到着時刻に基づいて受取時刻を決定する。このため、通常のドライバーよりも速い速度で運転するとか、通常の歩行者よりも遅く歩くとかいったユーザ個別の事情に、より則した時刻に受取時刻を決定できる。
<実施例3の変形例3>
実施例3の変形例2では、配送制御サーバ310は、ロッカー装置228又は229が設置された場所を受取場所とし、受取場所まで荷物を配送させる制御を無人航空機390に行うと説明したが、これに限定される訳では無い。例えば、配送制御サーバ310は、図28に示したような無人地上車両380、及び、不図示の無人船といった無人機が停車又は停泊できる場所を受取場所とし、受取場所まで荷物を配送させる制御を無人地上車両380又は無人船に行うとしても良い。
<実施例4>
実施例1では、配送制御サーバ310は、図21のステップS53で、図5に示したロッカー装置228が備える保管ボックス810の予約を求める予約リクエストを出力すると説明したが、これに限定される訳では無い。本実施例に係る配送制御サーバ310は、ステップS53を実行しない点で、実施例1に係る配送制御サーバ310と相違する。
また、本実施例に係るロッカー装置228は、荷物を収納した無人航空機390が到着すると、空き状態の保管ボックス810の有無を判別する。本実施例に係るロッカー装置228は、空き状態の保管ボックス810が無いと判別すると、複数の保管ボックス810にそれぞれ収納された複数の荷物の内で、優先順位に基づいて選択した荷物を、無人航空機390が配送してきた荷物と入れ替える点で、実施例1に係るロッカー装置228と相違している。以下、実施例1と同様の構成については、実施例1で用いた符号と同一の符号を用いて説明するが、本実施例と実施例1との相違について主に説明する。
本実施例に係る配送制御サーバ310の情報記憶部329は、図40に示すような使用状態テーブルを記憶している。本実施例に係る使用状態テーブルには、実施例1に係る使用状態テーブルに保存されるロッカーID、ボックスID、状態情報、荷物ID、及び、カードIDに対して、荷物IDで識別される荷物に付与された優先順位を表す情報がさらに対応付けられて保存される。
本実施例に係る情報記憶部329は、図41に示すようなユーザテーブルを記憶している。本実施例に係るユーザテーブルには、実施例1に係るユーザテーブルに保存されるユーザID及びカードIDに対して、ユーザIDで識別されるユーザの使用する携帯端末10の緯度及び経度を表す情報がさらに対応付けられて保存される。
本実施例に係る携帯端末10は、GPS回路106から出力される緯度及び経度を表す情報と、ユーザIDと、を所定周期で送信する。図9に示した配送制御サーバ310の情報取得部321は、図8に示した通信回路314がユーザIDと緯度及び経度を表す情報とを受信する度に、ユーザIDと緯度及び経度を表す情報とを取得し、情報保存部322は、図41のユーザテーブルにおいて、取得されたユーザIDと対応付けられた緯度及び経度を表す情報を、取得された緯度及び経度を表す情報で更新する。
本実施例に係る情報記憶部329は、無人航空機390で配送中の荷物に関する情報が保存される、図42に示すような配送中荷物テーブルを記憶している。配送中荷物テーブルには、配送中の荷物の荷物IDと、荷物の受取場所にあるロッカー装置228又は229のロッカーIDと、ユーザが荷物の取り出しに用いるICカード11のカードIDと、荷物に付与される優先順位を表す情報と、が対応付けられて保存される。
本実施例に係る配送制御サーバ310の情報保存部322は、図21のステップS57において、無人航空機390への荷物の積み込みを促す表示がされた後に(ステップS57)、無人航空機390への積み込まれる荷物に関する情報を、図42の配送中荷物テーブルに保存する処理ステップを実行してから、配送制御処理の実行を終了する。当該処理ステップでは、情報保存部322は、無人航空機390への積み込まれる荷物の荷物IDと、当該荷物の受取場所にあるロッカー装置228又は229のロッカーIDと、ユーザが荷物の取り出しに用いるICカード11のカードIDと、荷物に付与される優先順位の初期値を表す情報と、を、図42の配送中荷物テーブルに保存する。
以下、説明を簡単にするため、無人航空機390は、ロッカー装置228に到着するとして説明を行う。無人航空機390は、図24に示した飛行制御処理の実行を開始すると、ステップS61からS66を実行することでロッカー装置228に到着し、配送中の荷物を識別する荷物IDを含んだ到着通知を配送制御サーバ310へ送信する(ステップS61からS66)。
その後、無人航空機390は、無人航空機390に積み込まれた荷物を、ロッカー装置228に収納させる指示(以下、収納指示という)を、配送制御サーバ310から受信すると、無人航空機390に積み込まれた荷物を、図5に示したロッカー装置228の荷物台821の上で開放する(ステップS67)。次に、無人航空機390は、配送制御サーバ310から帰還指示を受信すると、ステップS68を実行して営業所へ帰還した後に(ステップS68)、飛行制御処理の実行を終了する。
これに対して、無人航空機390は、無人航空機390に積み込まれた荷物と、ロッカー装置228に収納された荷物と、を入れ替えさせる指示(以下、入替指示という)を、配送制御サーバ310から受信すると、無人航空機390に積み込まれた荷物を、図5に示したロッカー装置228の荷物台821の上で開放する(ステップS67)。次に、無人航空機390は、ロッカー装置228が保管ボックス810から取り出して荷物台822に配置した優先順位のより低い荷物を積み込む。その後、無人航空機390は、配送制御サーバ310から帰還指示を受信すると、ステップS68を実行して営業所へ帰還した後に(ステップS68)、飛行制御処理の実行を終了する。
配送制御サーバ310の通信回路314が無人航空機390から到着通知を受信すると、配送制御サーバ310のCPU311は、無人航空機390が配送した荷物の優先順位に基づいて、受取場所に設置されたロッカー装置228又は229に収納された荷物の入れ替えを制御する、図43に示すような入替制御処理を実行する。これにより、CPU311は、荷物に優先順位を付与する、図44に示すような優先順位付与部328として機能する。
入替制御処理の実行が開始されると、配送制御サーバ310の情報取得部321は、通信回路314から到着通知を取得し(ステップS111)、到着通知を転送するために、ロッカー装置228を宛先として、到着通知を通信回路314へ出力する(ステップS112)。
その後、図6に示したロッカー装置228のデータ通信回路834aが到着通知を受信すると、ロッカー装置228のCPU831は、図7に示したボックス管理テーブルから、空き状態を表す状態情報と対応付けられたボックスIDを取得する。このとき、ロッカー装置228は、ボックスIDが取得できたと判別すると、空きの状態の保管ボックス810があるため、荷物の収納が可能であることを知らせる収納可能通知を、配送制御サーバ310を宛先として、データ通信回路834aへ出力する。これに対して、ロッカー装置228のCPU831は、ボックスIDが取得できなかったと判別すると、空きの状態の保管ボックス810が無いため、荷物の収納が不可能であることを知らせる収納不能通知を、配送制御サーバ310を宛先として、データ通信回路834aへ出力する。
ステップS112が実行された後、配送制御サーバ310の通信回路314が通知を受信すると、情報取得部321は、通信回路314から通知を取得し、取得した通知が収納不能通知であるか否かを判別する(ステップS113)。このとき、情報取得部321が、取得された通知が収納不能通知であると判別すると(ステップS113;Yes)、優先順位付与部328は、無人航空機390が配送する荷物と、当該荷物の受取場所にあるロッカー装置228に収納された複数の荷物と、について、優先順位を付与する優先順位付与処理を行う(ステップS114)。
優先順位付与処理の実行が開始されると、情報取得部321は、図42に示した配送中荷物テーブルから、到着通知に含まれる荷物IDに対応付けられたロッカーID及びカードIDを取得する。次に、情報取得部321は、図41に示したユーザテーブルから、取得されたカードIDと対応付けられた緯度及び経度を表す情報を取得する。無人航空機390が配送する荷物を受け取るユーザによって携帯される携帯端末10の位置を特定するためである。その後、情報取得部321は、図17に示した設置場所テーブルから、取得されたロッカーIDに対応付けられた緯度及び経度を表す情報を取得する。無人航空機390が配送する荷物の受取場所にあるロッカー装置228の位置を特定するためである。
その後、優先順位付与部328は、荷物を受け取るユーザの携帯端末10の緯度及び経度を表す情報と、荷物の受取場所にあるロッカー装置228の緯度及び経度を表す情報と、に基づいて、無人航空機390が配送する荷物を受け取るユーザの携帯端末10からロッカー装置228までの距離を算出する。
次に、情報取得部321は、図40に示した使用状態テーブルから、取得されたロッカーIDに対応付けられた荷物ID及びカードIDの組み合わせを複数取得する。その後、情報取得部321は、取得された複数の組み合わせのそれぞれに対して、組み合わせに含まれるカードIDと対応付けられた緯度及び経度を表す情報を、図41に示したユーザテーブルから取得する。ロッカー装置228に既に収納されている複数の荷物のそれぞれについて、荷物を受け取るユーザの携帯端末10の位置を特定するためである。次に、優先順位付与部328は、取得された複数の緯度及び経度を表す情報に基づいて、ロッカー装置228に既に収納された複数の荷物のそれぞれについて、荷物を受け取るユーザの携帯端末10からロッカー装置228までの距離を算出する。
次に、優先順位付与部328は、無人航空機390に収納された荷物と、ロッカー装置228に既に収納されている複数の荷物と、のそれぞれについて、荷物を受け取るユーザからロッカー装置228までの距離がより短いほど、より高い優先順位を付与する。ロッカー装置228からより近い位置にいるユーザの方が、より遠い位置にいるユーザよりも早く荷物を受け取りに来る可能性が高いためである。
その後、情報保存部322は、図42に示した配送中荷物テーブルにおいて、無人航空機390に積み込まれた荷物の荷物IDに対応づけられた優先順位を表す情報を、当該荷物に対して付与された優先順位を表す情報で更新する。また、情報保存部322は、図40に示した使用状態テーブルにおいて、無人航空機390が到着したロッカー装置228のロッカーIDと、ロッカー装置228に既に収納されている荷物の荷物IDと、に対応付けられた優先順位を表す情報を、当該荷物に対して付与された優先順位を表す情報で更新する。その後、優先順位付与部328は、優先順位付与処理の実行を終了する。
ステップS114が実行された後、優先順位付与部328は、無人航空機390に積み込まれた荷物に与えた優先順位が、ロッカー装置228に既に収納されている複数の荷物にそれぞれ付与した優先順位のいずれかよりも大きいか否かに基づいて、荷物の入れ替えをする必要があるか否かを判別する(ステップS115)。このとき、優先順位付与部328は、無人航空機390に積み込まれた荷物に付与した優先順位が、ロッカー装置228に既に収納されている複数の荷物にそれぞれ付与した優先順位のいずれかよりも大きいと判別すると、優先順位付与部328は、荷物の入れ替えをする必要があると判別する(ステップS115;Yes)。
次に、情報取得部321は、図40の使用状態テーブルから、無人航空機390が到着したロッカー装置228のロッカーIDと、最も低い優先順位を表す情報と、に対応付けて保存されているボックスIDを取得する。その後、指示出力部326は、取得されたボックスIDを含み、当該ボックスIDで識別される保管ボックス810に収納された荷物と、無人航空機390に積み込まれた荷物と、を入れ替えさせる入替指示を、無人航空機390と無人航空機390が到着したロッカー装置228とを宛先として、データ通信回路834aへ出力する(ステップS116)。
図6に示したロッカー装置228のデータ通信回路834aが入替指示を受信すると、ロッカー装置228のCPU831は、開放信号と、入替指示に含まれるボックスIDと、を駆動回路839へ出力する。これにより、最も低い優先順位が付与された荷物を収納している保管ボックス810の扉811の解錠及び開放が行われる。次に、CPU831は、保管ボックス810に収納されている荷物を取り出し、ロッカー装置228の上面に設置された荷物台822へ、取り出した荷物を一時的に置かせる制御信号を、入出力ポート838を介して、図5に示したロボットアーム823に出力する。荷物台822へ置かれた荷物は、その後、無人航空機390が営業所へ持ち去るためである。次に、CPU831は、無人航空機390が荷物台821へ配置した荷物を摘まみ上げ、空き状態となった保管ボックス810に収納させる制御信号を、ロボットアーム823に出力する。その後、CPU831は、ボックスIDと閉鎖信号とを駆動回路839へ出力することで、扉811の閉鎖及び施錠を行う。
その後、CPU831は、入替完了通知を、配送制御サーバ310を宛先として、データ通信回路834aへ出力する。このようにして、無人航空機390に積み込まれた優先順位がより高い荷物と、ロッカー装置228が収納していた優先順位がより低い荷物と、の入れ替えが完了する。
ステップS116の後に、配送制御サーバ310のデータ通信回路834aが入替完了通知を受信すると(ステップS117)、情報保存部322は、無人航空機390からロッカー装置228へ収納させた荷物の荷物IDが保存されたレコードを、図42に示した配送中荷物テーブルから削除する。当該荷物の配送が終了したためである。次に、情報取得部321は、図40の使用状態テーブルから、ロッカー装置228から取り出し無人航空機390に積み込ませた荷物の荷物IDと対応付けられたロッカーID、カードID、及び、優先順位を表す情報を取得する。その後、情報保存部322は、図42の配送中荷物テーブルへ、当該荷物IDと、取得されたロッカーID、カードID、及び、優先順位を表す情報と、を対応付けて保存する。ロッカー装置228から無人航空機390へ荷物が移動させられたことにより、無人航空機390による荷物の配送が再開されたことになるためである。
ステップS115で、入れ替えが不要であると判別された場合(ステップS115;No)、又は、ステップS117が実行された後に、指示出力部326は、営業所へ帰還させる帰還指示を、無人航空機390を宛先として通信回路314へ出力する。尚、指示出力部326は、受取場所又は受取場所の近傍に着陸して、又は、受取場所の上空若しく受取場所の近傍でホバリング飛行、旋回飛行、又は、往復飛行等して待機させる指示を出力しても良い。
ステップS118が実行された後、優先順位付与部328は、優先順位付与処理を再度行い(ステップS119)、入れ替えが必要であるか否かを再度判別する(ステップS120)。時間の経過によりユーザの位置が変化すると、荷物に付与される優先順位が変化するためである。
このとき、優先順位付与部328は、入れ替えが必要でないと判別すると(ステップS120;No)、ステップS119から上記ステップを繰り返す。これに対して、優先度が最も低かったため、ロッカー装置228から取り出されて、無人航空機390に積み込まれている荷物を受け取るユーザがロッカー装置228へ近づいたため、当該荷物の優先度が上昇したとする。このとき、優先順位付与部328によって、入れ替えが必要であると判別されると(ステップS120;Yes)、指示出力部326は、ロッカー装置228まで荷物を再配送させる指示を、無人航空機390を宛先として出力する(ステップS121)。その後、無人航空機390がロッカー装置228に再度到着すると、ステップS111から上記ステップが繰り返される。
ステップS113において、収納可能通知を取得したと判別されると(ステップS113;No)、無人航空機390に積み込まれた荷物をロッカー装置228に収納させる収納指示を、無人航空機390とロッカー装置228とを宛先として、データ通信回路834aへ出力する(ステップS122)。その後、無人航空機390が配送した荷物をロッカー装置228が収納し終えたことを知らせる収納完了通知が受信された後に(ステップS123)、入替制御処理の実行が終了される。
これらの構成によれば、ロッカー装置228は、空き状態の保管ボックス810が無いと判別すると、複数の保管ボックス810にそれぞれ収納された複数の荷物の内で、無人航空機390が配送してきた荷物よりも優先順位が低い荷物と、無人航空機390が配送してきた荷物と、を入れ替える。このため、ロッカー装置228は、優先順位の高い荷物の収納効率をより向上させることができる。
これらの構成によれば、配送制御サーバ310は、荷物を受け取るユーザの携帯端末10の位置から受取場所までの距離が短いほど高い優先度を当該荷物に付与する。通常、ロッカー装置228からより近い位置にいるユーザの方が、より遠い位置にいるユーザよりも早く荷物を受け取りに来る可能性が高い。このため、ロッカー装置228に既に配送されていた荷物を取り出しても、ユーザが受取場所に到着したときに荷物を受け取れなくなる可能性の上昇を抑制できる。
本実施例では、配送制御サーバ310は、無人航空機390が収納していた優先順位がより高い1つの荷物と、ロッカー装置228が収納していた優先順位がより低い1つの荷物と、の入れ替えを指示すると説明したが、これに限定される訳では無い。配送制御サーバ310は、複数の荷物と複数の荷物との入れ替えを指示しても良い。
本実施例では、配送制御サーバ310は、無人航空機390に積み込まれていた荷物と、ロッカー装置228が収納していた最も優先順位が低い荷物と、の入れ替えを指示すると説明したが、これに限定される訳では無い。配送制御サーバ310は、ロッカー装置228が収納していた複数の荷物の内で、無人航空機390が収納していた荷物の優先順位よりも低い優先順位が付与された複数の荷物から1つを選択し、選択した荷物と、無人航空機390が収納していた荷物と、の入れ替えを指示しても良い。
本実施例では、ロッカー装置228は、1本のロボットアーム823を備え、1本のロボットアーム823を用いて、ロッカー装置228の保管ボックス810に収納されていた荷物を荷物台822に配置し、無人航空機390が荷物台821に配置した荷物を当該保管ボックス810に収納することで荷物を入れ替えると説明したが、これに限定される訳では無い。
無人航空機390が、実施例1の変形例2に係る無人航空機390と同様に、図25に示した保管ボックス950を備えている場合、ロッカー装置228は、ロボットアーム823の構成及び機能と同様の構成及び機能を有する第1のロボットアームと、第2のロボットアームと、を備えても良い。この場合、ロッカー装置228は、第1のロボットアームで、無人航空機390の保管ボックス950に収納されている荷物を取り出すと共に、第2のロボットアームで、ロッカー装置228の保管ボックス810に収納されている荷物を取り出しても良い。その後、ロッカー装置228は、無人航空機390から取り出された荷物を、第1のロボットアームでロッカー装置228の保管ボックス810に収納すると共にロッカー装置228から取り出された荷物を、第2のロボットアームで無人航空機390の保管ボックス950に収納しても良い。
<実施例4の変形例>
実施例4では、配送制御サーバ310は、荷物を受け取るユーザの携帯端末10の位置から受取場所までの距離が短いほど高い優先度を当該荷物に付与すると説明したが、これに限定される訳ではない。本変形例では、ロッカー装置228は、荷物の収納時間が短いほど高い優先度を当該荷物に付与する。荷物の収納時間が長くなるほど、ユーザは、荷物の受け取りを忘れている可能性が高くなるためでる。
本変形例に係るロッカー装置228のフラッシュメモリ833bは、図45に示すようなボックス管理テーブルを記憶している。本変形例に係るボックス管理テーブルでは、実施例1に係るボックス管理テーブルに保存されるボックスID、状態情報、荷物ID、及び、カードIDに対して、荷物IDで識別される荷物の収納が行われた時刻(以下、収納時刻という)を表す情報と、荷物に付与された優先順位を表す情報と、がさらに対応付けられている。
図6に示したロッカー装置228のCPU831は、所定周期で、荷物に優先順位を付与する不図示の優先順位付与処理を実行する。優先順位付与処理の実行を開始すると、CPU831は、OSからシステム時刻を取得した後に、図45に示したボックス管理テーブルから荷物IDと収納時刻を表す情報との組み合わせを複数取得する。次に、CPU831は、取得した複数の組み合わせのそれぞれについて、収納時刻からシステム時刻までの収納時間を算出する。その後、CPU831は、取得した複数の組み合わせのそれぞれについて、組み合わせに含まれる荷物IDで識別される荷物に、収納時間が短いほど、より高い優先順位を付与する。その後、CPU831は、複数の組み合わせのそれぞれについて、図45のボックス管理テーブルにおいて、組み合わせに含まれる荷物IDに対応付けられた優先順位を表す情報を、当該荷物IDで識別される荷物に付与した優先順位を表す情報で更新した後に、順位更新処理の実行を終了する。
配送制御サーバ310は、図24のステップS66で無人航空機390から送信された到着通知を受信すると、図12に示した配送予定荷物テーブルから、到着通知に含まれる荷物IDと対応付けられたユーザIDを取得し、取得したユーザIDと対応付けられたカードIDを、図10のユーザテーブルから取得する。無人航空機390が配送する荷物の受け取りに用いられる電子鍵としてカードIDを特定するためである。その後、配送制御サーバ310は、到着通知にカードIDを追加した後、ロッカー装置228へ到着通知を転送する。
図6に示したロッカー装置228のデータ通信回路834aが到着通知を受信すると、ロッカー装置228のCPU831は、図45に示したボックス管理テーブルから、空き状態を表す状態情報と対応付けられたボックスIDを取得する。
このとき、ロッカー装置228は、空き状態を表す状態情報と対応付けられたボックスIDが取得できたと判別すると、変形例4で説明したように、収納可能通知を配送制御サーバ310へ送信する。配送制御サーバ310は、収納可能通知を受信すると、収納指示を無人航空機390へ送信する。無人航空機390は、収納指示を受信すると、ロッカー装置228の荷物台821の上で荷物を開放する。また、ロッカー装置228は、図5に示したロボットアーム823を用いて、無人航空機390によって荷物台821の上に配置された荷物を、取得されたボックスIDで識別される空き状態の保管ボックス810へ収納する。
これに対して、ロッカー装置228のCPU831は、空き状態を表す状態情報と対応付けられたボックスIDが取得できなかったと判別すると、図45に示したボックス管理テーブルに保存された複数の優先順位を表す情報の内で、最も低い優先順位を表す情報と対応付けられた荷物IDとボックスIDとを取得する。
その後、CPU831は、取得したボックスIDと開放信号とを駆動回路839へ出力することで、最も低い優先順位が付与された荷物を収納している保管ボックス810の扉811の解錠及び開放を行う。次に、CPU831は、実施例4で説明した制御信号と同様の制御信号をロボットアーム823に出力することで、ロボットアーム823に、保管ボックス810に収納された最も低い優先順位が付与された荷物を摘み出させた後に、荷物台822の上に荷物を配置させる。
その後、ロッカー装置228のCPU831は、収納不能通知を、配送制御サーバ310を宛先として、データ通信回路834aへ出力する。配送制御サーバ310は、収納不能通知を受信すると、入替指示を無人航空機390へ送信する。無人航空機390は、入替指示を受信すると、ロッカー装置228の荷物台821の上で荷物を開放した後に、荷物台822に配置されたより優先順位の低い荷物を積み込む。
その後、ロッカー装置228は、無人航空機390によって荷物台821に配置された荷物を、ロボットアーム823を用いて、空き状態となった保管ボックス810へ収納する。その後、CPU831は、ボックスIDと閉鎖信号とを駆動回路839へ出力することで、扉811の閉鎖及び施錠を行う。
次に、CPU831は、システム時刻を取得して収納時刻とした後に、図45のボックス管理テーブルにおいて、荷物の入れ替えが行われた保管ボックス810のボックスIDに対応付けられた情報を、使用中の状態を表す状態情報と、到着通知に含まれる荷物ID及びカードIDと、収納時刻を表す情報と、最も高い優先順位を表す情報と、に更新する。最も高い優先順位としたのは、入れ替えによってロッカー装置228に収納された荷物は、ロッカー装置228に既に収納されているどの荷物よりも収納時間が短いためである。
次に、CPU831は、無人航空機390に積み込まれた荷物の荷物IDを含む、入替完了通知を、配送制御サーバ310を宛先として、データ通信回路834aへ出力する。
これらの構成によれば、ロッカー装置228は、荷物の収納時間が長いほど、当該荷物により低い優先順位を付与する。このため、実施例4に係る配送制御サーバ310のように、荷物毎にユーザの携帯端末10の緯度及び経度を表す情報を所定周期で取得する必要がないので、優先順位を付与するために要する計算量及び情報量が少ない。また、荷物毎にユーザが携帯する携帯端末10の緯度及び経度を表す情報を取得する必要がないので、例えば、受取人が不明な荷物に対しても、ロッカー装置228は、優先順位を付与できる。さらに、受取人の携帯端末10の緯度及び経度を表す情報を取得できない場合でも、ロッカー装置228は、荷物に優先順位を付与できる。
実施例1から4、実施例1の変形例1から21、実施例2の変形例1及び2、実施例3の変形例1から3、並びに、実施例4の変形例は、互いにそれぞれ組み合わせることができる。実施例1から4、実施例1の変形例1から21、実施例2の変形例1及び2、実施例3の変形例1から3、並びに、実施例4の変形例のいずれかに係る機能を実現するための構成を備えた情報処理装置10及び310として提供できることはもとより、複数の装置で構成されるシステムであって、実施例1から4、実施例1の変形例1から21、実施例2の変形例1及び2、実施例3の変形例1から3、並びに、実施例4の変形例のいずれかに係る機能を実現するための構成をシステム全体として備えたシステムとして提供することもできる。
また、プログラムの適用により、既存の情報処理装置10及び310を実施例1から4、実施例1の変形例1から21、実施例2の変形例1及び2、実施例3の変形例1から3、並びに、実施例4の変形例のいずれかに係る情報処理装置10及び310としてそれぞれ機能させることもできる。すなわち、実施例1から4、実施例1の変形例1から21、実施例2の変形例1及び2、実施例3の変形例1から3、並びに、実施例4の変形例のいずれかで例示した情報処理装置10及び310による各機能構成を実現させるためのプログラムを、既存の情報処理装置を制御するコンピュータ(CPUなど)が実行できるように適用することで、実施例1から4、実施例1の変形例1から21、実施例2の変形例1及び2、実施例3の変形例1から3、並びに、実施例4の変形例のいずれかに係る情報処理装置10及び310としてそれぞれ機能させることができる。
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD−ROM(Compact Disc Read Only Memory)、又はDVD−ROM(Digital Versatile Disk Read Only Memory)などの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。また、本発明に係る方法は、実施例1から4、実施例1の変形例1から21、実施例2の変形例1及び2、実施例3の変形例1から3、並びに、実施例4の変形例のいずれかに係る情報処理装置10又は310を用いて実施できる。
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
(付記)
(付記1)
ユーザへ配送される予定の荷物に関する配送予定荷物情報と、
第1の地点への前記ユーザの移動に関する移動情報と、
を取得する情報取得部と、
前記移動情報に基づいて、前記配送予定荷物情報に関する前記荷物を前記ユーザが受け取るための受取方法を表す受取方法情報を、前記移動情報が取得されてから前記ユーザが前記第1の地点へ到着するまでの間に生成する情報生成部と、を備える、
情報処理装置。
(付記2)
前記情報取得部は、前記第1の地点を表す情報と、前記第1の地点への前記ユーザの到着予定時刻を表す情報と、を含む前記移動情報を取得し、
前記情報生成部は、前記第1の地点に基づいて決定される受取場所で、前記到着予定時刻に基づいて決定される受取時刻に、前記ユーザが前記荷物を受け取る前記受取方法を表す前記受取方法情報を生成する、
付記1に記載の情報処理装置。
(付記3)
前記情報生成部は、前記第1の地点への前記ユーザの前記移動が検知され、かつ、前記ユーザへ配送される前記荷物が存在する場合に、前記受取方法情報を生成する、
付記1又は2に記載の情報処理装置。
(付記4)
前記情報取得部は、前記ユーザの所定の場所に対する入場、通過、又は、退場を知らせる通知をさらに取得し、
前記取得された通知に基づいて、前記所定の場所からの、又は、前記所定の場所を通過する、前記ユーザの前記移動を検知する移動検知部をさらに備える、
付記3に記載の情報処理装置。
(付記5)
前記所定の場所は、列車又は路線バスが停車する所定の駅であり、
前記第1の地点は、前記列車又は前記路線バスが停車する前記所定の駅とは異なる駅がある地点である、
付記4に記載の情報処理装置。
(付記6)
前記情報取得部は、前記ユーザの位置を表す情報と、前記ユーザの移動履歴に基づいて予測された移動であって、前記ユーザの所定の場所に対する入場、通過、又は、退場と、前記ユーザの前記第1の地点に対する到着と、を含む前記移動を表す情報と、をさらに取得し、
取得された前記ユーザの位置を表す情報と、前記予測された移動を表す情報と、に基づいて、前記所定の場所から、又は、前記所定の場所を通過して、前記第1の地点へ到着する、前記ユーザの前記移動を検知する移動検知部をさらに備える、
付記3に記載の情報処理装置。
(付記7)
前記受取方法は前記ユーザに提示され、前記ユーザにより選択、調整、又は、承認される、
付記1から6のいずれか一つに記載の情報処理装置。
(付記8)
前記受取方法に基づいて配送に関する指示を出力する指示出力部をさらに備える、
付記1から7のいずれか一つに記載の情報処理装置。
(付記9)
前記指示は、前記荷物を配送する無人機の制御に関する指示を含む、
付記8に記載の情報処理装置。
(付記10)
前記無人機は、無人地上車両又は無人航空機であり、
前記受取方法は、前記第1の地点への移動経路上、又は、前記移動経路の近傍に位置する第2の地点への前記無人機による配送を含む、
付記9に記載の情報処理装置。
(付記11)
前記受取方法は、前記第1の地点への移動経路上、又は、前記移動経路の近傍に位置するロッカー装置への配送を含む、
付記1から9のいずれか一つに記載の情報処理装置。
(付記12)
前記受取方法は、前記第1の地点への前記移動経路上、又は、前記移動経路の前記近傍に位置するロッカー装置への配送を含む、
付記10に記載の情報処理装置。
(付記13)
前記ロッカー装置の予約を行う予約部をさらに備える、
付記11又は12に記載の情報処理装置。
(付記14)
前記受取時刻に基づいて決定された前記荷物の配送開始時刻と、前記受取場所に基づいて決定された配送経路と、に関する指示を、前記荷物を配送させる無人機に出力する指示出力部をさらに備える、
付記2に記載の情報処理装置。
(付記15)
コンピュータを、
ユーザへ配送される予定の荷物に関する配送予定荷物情報と、
第1の地点への前記ユーザの移動に関する移動情報と、
を取得する情報取得部、及び、
前記移動情報に基づいて、前記配送予定荷物情報に関する前記荷物を前記ユーザが受け取るための受取方法を表す受取方法情報を、前記移動情報が取得されてから前記ユーザが前記第1の地点へ到着するまでの間に生成する情報生成部、として機能させる、
プログラム。
(付記16)
情報処理装置が実行する方法であって、
前記情報処理装置が、ユーザへ配送される予定の荷物に関する配送予定荷物情報を取得する第1の情報取得ステップと、
前記情報処理装置が、第1の地点への前記ユーザの移動に関する移動情報を取得する第2の情報取得ステップと、
前記情報処理装置が、前記移動情報に基づいて、前記配送予定荷物情報に関する前記荷物を前記ユーザが受け取るための受取方法を表す受取方法情報を、前記移動情報が取得されてから前記ユーザが前記第1の地点へ到着するまでの間に生成する情報生成ステップと、を有する、
方法。