(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-30
(45)【発行日】2023-09-07
(54)【発明の名称】移動体、システム、及び、方法
(51)【国際特許分類】
G06Q 10/083 20230101AFI20230831BHJP
B65G 61/00 20060101ALI20230831BHJP
【FI】
G06Q10/083
B65G61/00 520
(21)【出願番号】P 2021212988
(22)【出願日】2021-12-27
【審査請求日】2021-12-27
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】100110135
【氏名又は名称】石井 裕一郎
(74)【代理人】
【識別番号】100132883
【氏名又は名称】森川 泰司
(74)【代理人】
【識別番号】100148633
【氏名又は名称】桜田 圭
(74)【代理人】
【識別番号】100163452
【氏名又は名称】南郷 邦臣
(74)【代理人】
【識別番号】100180312
【氏名又は名称】早川 牧子
(72)【発明者】
【氏名】田爪 敏明
(72)【発明者】
【氏名】田中 大貴
【審査官】松田 岳士
(56)【参考文献】
【文献】特開2020-179990(JP,A)
【文献】特開2020-179984(JP,A)
【文献】国際公開第2020/136844(WO,A1)
【文献】特開2021-163177(JP,A)
【文献】特開2020-135696(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
B62B 1/00- 5/08
B65G 1/00- 1/20
(57)【特許請求の範囲】
【請求項1】
ボックスを備える移動体であり、
前記ボックスは、
第1荷物の受け渡しに用いられる受渡口と、
前記受渡口の上方に設けられており、前記第1荷物と異なる第2荷物の回収に用いられ、かつ、前記第2荷物の取り出しを不可とする回収口と、
が設け
られており、かつ、
前記受渡口を開閉する受渡扉と、前記回収口を開閉する回収扉と、
を備え、かつ、
前記第1荷物の配送先へ前記移動体を移動させる制御を行う前に、前記受渡扉を施錠させる制御と、前記回収扉を施錠させる制御と、を行い、
前記移動体が前記配送先に到着した後に、前記第1荷物の受取人の認証が成功すると、前記受渡扉を解錠させる制御を行い、かつ、
前記第1荷物が受け渡されると、前記受渡扉を施錠させる前記制御を行う、
制御部、を
さらに備える
、
ことを特徴とする移動体。
【請求項2】
前記制御部は、
前記第2荷物の回収地点が前記配送先を含む場合に、前記第1荷物が受け渡されると、前記回収扉を解錠させる制御を行い、かつ、
前記第2荷物が回収されると、前記回収扉を施錠させる前記制御を行う、
ことを特徴とする請求項
1に記載の移動体。
【請求項3】
前記移動体は、前記ボックスに格納される1個の荷物の重量、又は、複数の荷物の合計重量を計測する計測装置と、前記ボックスに格納される前記1又は複数の荷物を撮像することで画像を生成する撮像装置と、の少なくとも1つ、をさらに備え、
前記制御部は、前記計測装置で計測される前記重量又は前記合計重量と、前記撮像装置で生成される前記画像と、の少なくとも1つに基づいて、前記第1荷物が受け渡されたこと、及び、前記第2荷物が前記配送先で回収されたこと、を判別する、
ことを特徴とする請求項
2に記載の移動体。
【請求項4】
前記制御部は、前記第2荷物の回収地点が、前記第1荷物の前記配送先と異なる地点を含む場合、
前記配送先から、前記配送先と異なる前記回収地点へ前記移動体を移動させる制御を行い、
前記移動体が前記配送先と異なる前記回収地点に到着した後に、前記第2荷物を発送する発送人の認証が成功すると、前記回収扉を解錠させる前記制御を行い、かつ、
前記第2荷物が回収されると、前記回収扉を施錠させる前記制御を行う、
ことを特徴とする請求項
2又は
3に記載の移動体。
【請求項5】
前記回収地点で回収される前記第2荷物の重量を表す重量情報、及び、前記回収地点で回収される前記第2荷物の耐衝撃性を表す耐衝撃性情報の少なくとも1つを取得する取得部、をさらに備え、
前記第2荷物の前記回収地点は、前記配送先と異なる位置に在る第1回収地点と、前記配送先及び前記第1回収地点と異なる位置に在る第2回収地点と、を含み、
前記第1回収地点で回収される前記第2荷物の前記重量情報及び前記耐衝撃性情報の前記少なくとも1つと、前記第2回収地点で回収される前記第2荷物の前記重量情報及び前記耐衝撃性情報の前記少なくとも1つと、に基づいて、前記第1回収地点で回収される前記第2荷物と、前記第2回収地点で回収される前記第2荷物と、に回収順番を設定する設定部、をさらに備え、
前記制御部は、設定された前記回収順番に従って、前記第1回収地点と前記第2回収地点とに前記移動体を移動させる制御を行う、
ことを特徴とする請求項
4に記載の移動体。
【請求項6】
前記設定部は、
回収される前記第2荷物の重量がより重い程、より高い優先度を前記第2荷物に設定すること、及び、回収される前記第2荷物の耐衝撃性がより高い程、より高い優先度を前記第2荷物に設定すること、の少なくとも1つを行い、かつ、
設定された前記優先度がより高い程、より早い前記回収順番を前記第2荷物に設定する、
ことを特徴とする請求項
5に記載の移動体。
【請求項7】
前記制御部は、前記第2荷物の前記回収地点が、前記第1荷物の前記配送先を含む場合、
前記配送先で回収される前記第2荷物の前記耐衝撃性情報と、前記第1回収地点で回収される前記第2荷物の前記重量情報と、に基づいて、前記配送先で回収される前記第2荷物が、前記第1回収地点で行われる前記第2荷物の回収により、破損する第1確率が予め定められた確率以下であるか否かを判別し、
前記第1確率が予め定められた前記確率以下であると判別すると、前記配送先で前記第2荷物が回収された後に、前記第1回収地点へ前記移動体を移動させる制御を行い、かつ、
前記第1確率が予め定められた前記確率より高いと判別すると、前記配送先で前記第2荷物が回収された後に、前記第1回収地点へ前記移動体を移動させる前記制御を行わない、
ことを特徴とする請求項
6に記載の移動体。
【請求項8】
前記制御部は、前記第1回収地点で回収される前記第2荷物の前記回収順番が、前記第2回収地点で回収される前記第2荷物の前記回収順番よりも早い場合、
前記第1回収地点で回収される前記第2荷物の前記耐衝撃性情報と、前記第2回収地点で回収される前記第2荷物の前記重量情報と、に基づいて、前記第1回収地点で回収される前記第2荷物が、前記第2回収地点で行われる前記第2荷物の回収により、破損する第2確率が予め定められた確率以下であるか否かを判別し、
前記第2確率が予め定められた前記確率以下であると判別すると、前記第1回収地点で前記第2荷物が回収された後に、前記第2回収地点へ前記移動体を移動させる制御を行い、かつ、
前記第2確率が予め定められた前記確率より高いと判別すると、前記第1回収地点で前記第2荷物が回収された後に、前記第2回収地点へ前記移動体を移動させる前記制御を行わない、
ことを特徴とする請求項
6に記載の移動体。
【請求項9】
前記受渡口は、前記第2荷物の受け渡しに用いられ、
前記制御部は、前記第2荷物の配送拠点に前記移動体が到着すると、前記受渡扉を解錠させる前記制御を行う、
ことを特徴とする請求項
1から
8のいずれか一項に記載の移動体。
【請求項10】
前記受渡口は、前記ボックスの内側の空間の開口であり、
かつ、
前記回収口は、前記ボックスの内側の前記空間の開口である、
ことを特徴とする請求項1から
9のいずれか一項に記載の移動体。
【請求項11】
第1荷物の受け渡しに用いられる受渡口と、前記第1荷物と異なる第2荷物の回収に用いられ、かつ、前記第2荷物の取り出しを不可とする回収口と、を設けたボックス、
を備え
、
前記受渡口は、前記ボックスの内側の空間の開口であり、かつ、
前記回収口は、前記ボックスの内側の前記空間の開口である、
ことを特徴とする移動体。
【請求項12】
前記回収口は、前記受渡口の上方に設けられている、
ことを特徴とする請求項1
1に記載の移動体。
【請求項13】
第1荷物の受け渡しに用いられる受渡口と、前記第1荷物と異なる第2荷物の回収に用いられ、かつ、前記第2荷物の取り出しを不可とする回収口と、を設けたボックスを備える移動体と、
前記第1荷物の配送先へ前記移動体を移動させる制御を行う制御部と、を備え、
前記ボックスは、前記受渡口を開閉する受渡扉と、前記回収口を開閉する回収扉と、を備え、
前記制御部は、
前記配送先へ前記移動体を移動させる前記制御を行う前に、前記受渡扉を施錠させる制御と、前記回収扉を施錠させる制御と、を行い、
前記移動体が前記配送先に到着した後に、前記第1荷物の受取人の認証が成功すると、前記受渡扉を解錠させる制御を行い、かつ、
前記第1荷物が受け渡されると、前記受渡扉を施錠させる前記制御を行う、
ことを特徴とするシステム。
【請求項14】
前記回収口は、前記受渡口の上方に設けられており、
前記第2荷物の重量を表す重量情報、及び、前記第2荷物の耐衝撃性を表す耐衝撃性情報の少なくとも1つを取得する取得部、をさらに備え、
前記第2荷物の回収地点は、前記配送先と異なる位置に在る第1回収地点と、前記配送先及び前記第1回収地点と異なる位置に在る第2回収地点と、を含み、
前記第1回収地点で回収される前記第2荷物の前記重量情報及び前記耐衝撃性情報の前記少なくとも1つと、前記第2回収地点で回収される前記第2荷物の前記重量情報及び前記耐衝撃性情報の前記少なくとも1つと、に基づいて、前記第1回収地点で回収される前記第2荷物と、前記第2回収地点で回収される前記第2荷物と、に回収順番を設定する設定部、をさらに備え、
前記制御部は、設定された前記回収順番に従って、前記第1回収地点と前記第2回収地点とに前記移動体を移動させる制御を行う、
ことを特徴とする請求項13に記載のシステム。
【請求項15】
第1荷物の受け渡しに用いられる受渡口と、前記第1荷物と異なる第2荷物の回収に用いられ、かつ、前記第2荷物の取り出しを不可とする回収口と、を設けたボックスを備える移動体、又は、前記移動体を備えるシステムが、前記第1荷物の配送先へ前記移動体を移動させる制御を行う制御ステップを有し、
前記ボックスは、前記受渡口を開閉する受渡扉と、前記回収口を開閉する回収扉と、を備え、
前記制御ステップでは、前記移動体又は前記システムが、
前記配送先へ前記移動体を移動させる前記制御を行う前に、前記受渡扉を施錠させる制御と、前記回収扉を施錠させる制御と、を行い、
前記移動体が前記配送先に到着した後に、前記第1荷物の受取人の認証が成功すると、前記受渡扉を解錠させる制御を行い、かつ、
前記第1荷物が受け渡されると、前記受渡扉を施錠させる前記制御を行う、
ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動体、システム、及び、方法に関する。
【背景技術】
【0002】
従来、荷物運搬車両200に荷物を回収させるシステムが知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1のシステムでは、荷物運搬車両200の荷物格納部Cには、扉220で開閉される1つの開口が設けられており、荷物の受け渡し及び回収が当該開口を用いて行われる。このため、複数のユーザの荷物を1つの荷物格納部Cに格納して荷物運搬車両200に回収させる場合、先に回収された荷物が、後に回収される荷物の発送人によって、例えば、誤って受け取られる、紛失される、又は、盗難されることを抑制できない。このため、特許文献1のシステムでは、複数のユーザの荷物の回収が行われる場合に、セキュリティの低下を抑制できないという問題があった。
【0005】
そこで、本発明は、このような点に鑑み、その目的とするところは、複数のユーザの荷物の回収が行われる場合であってもセキュリティの低下を抑制できる移動体、システム、及び、方法を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の第1の観点に係る移動体は、
第1荷物の受け渡しに用いられる受渡口と、前記第1荷物と異なる第2荷物の回収に用いられ、かつ、前記第2荷物の取り出しを不可とする回収口と、を設けたボックス、
を備える。
【発明の効果】
【0007】
本発明に係る移動体、システム、及び、方法によれば、複数のユーザの荷物の回収が行われる場合であってもセキュリティの低下を抑制できる。
【図面の簡単な説明】
【0008】
【
図1】本発明の実施例1に係る制御システムの一構成例を表すシステム構成図である。
【
図2】制御装置の一構成例を表すハードウェア構成図である。
【
図3】実施例1に係る制御装置が実行する移動制御処理の一例を表すフローチャートの前半部である。
【
図4】実施例1に係る制御装置が実行する移動制御処理の一例を表すフローチャートの後半部である。
【
図5】制御装置が有する機能の一例を表す機能ブロック図である。
【
図6】制御装置が記憶する配送荷物テーブルの一例を表す図である。
【
図7】制御装置が記憶するユーザテーブルの一例を表す図である。
【
図8】実施例1に係る制御装置が記憶する移動体テーブルの一例を表す図である。
【
図9】制御装置が記憶する配送予定テーブルの一例を表す図である。
【
図10】実施例1に係る制御装置が記憶する発送荷物テーブルの一例を表す図である。
【
図11】制御装置が記憶する回収予定テーブルの一例を表す図である。
【
図13】制御装置が実行する回収可能通知出力処理の一例を表すフローチャートである。
【
図14】制御装置が特定する組み合わせの一例を表す図である。
【
図15】制御装置が実行する組合選択処理の一例を表すフローチャートである。
【
図16】実施例1に係る制御装置が実行する回収順番設定処理の一例を表すフローチャートである。
【
図17】実施例1に係る移動体の一外観例を表す外観構成図である。
【
図18】制御装置が実行する配送制御処理の一例を表すフローチャートである。
【
図19】制御装置が実行する回収制御処理の一例を表すフローチャートである。
【
図20】移動体が備える制御装置の一構成例を表すハードウェア構成図である。
【
図21】移動体が有する機能の一例を表す機能ブロック図である。
【
図22】移動体が実行する移動処理の一例を表すフローチャートである。
【
図23】移動体が実行する受渡処理の一例を表すフローチャートである。
【
図24】移動体が実行する回収処理の一例を表すフローチャートである。
【
図25】制御装置が実行する代替回収制御処理の一例を表すフローチャートである。
【
図26】実施例1の変形例9に係る移動体の一外観例を表す外観構成図である。
【
図27】実施例2に係る制御装置が記憶する発送荷物テーブルの一例を表す図である。
【
図28】制御装置が記憶する種別テーブルの一例を表す図である。
【
図29】実施例2に係る制御装置が実行する回収順番設定処理の一例を表すフローチャートである。
【
図30】実施例2に係る回収順番の一例を表す図である。
【
図31】実施例2の変形例2に係る制御装置が実行する移動制御処理の一例を表すフローチャートの前半部である。
【
図32】実施例2の変形例2に係る回収順番の一例を表す図である。
【
図33】制御装置が実行する破損判別処理の一例を表すフローチャートである。
【
図34】実施例2の変形例3に係る回収順番の一例を表す図である。
【
図35】移動体600が備える計測装置の一例を表す図である。
【
図36】移動体600が備える撮像装置の一例を表す図である。
【
図37】実施例3に係る制御システムの一構成例を表すシステム構成図である。
【
図38】実施例3に係る制御装置が記憶する移動体テーブルの一例を表す図である。
【
図39】制御装置が実行する補充移動制御処理の一例を表すフローチャートの前半部である。
【
図40】制御装置が実行する補充移動制御処理の一例を表すフローチャートの後半部である。
【発明を実施するための形態】
【0009】
<実施例1>
以下、本発明の実施例1について添付図面を参照しつつ説明する。
【0010】
本発明の実施例1に係る制御システム1は、例えば、レンタルされた家電製品、衣服、又は、書籍を含む荷物の配送及び回収を制御する、
図1に示すような制御装置100を備える。また、制御システム1は、荷物を配送するために、荷物を格納し、かつ、制御装置100の制御に従って、配送先へ移動する移動体600及び700を備える。本実施例では、移動体600及び700は、荷物の配送後、配送された荷物(以下、第1荷物という)と異なる荷物(以下、第2荷物という)を、配送先及び配送先と異なる地点を含む回収地点で、制御装置100の制御に従って回収する場合を具体例として以下の説明を行う。しかし、第2荷物の回収地点は、これに限定される訳では無く、第1荷物の配送先を含むが、配送先と異なる地点を含まなくても良い。また、第2荷物の回収地点は、これに限定される訳では無く、第1荷物の配送先を含まないが、配送先と異なる地点を含んでも良い。
【0011】
さらに、制御システム1は、不図示のユーザU1からU6によってそれぞれ携帯される端末装置901から906を備える。本実施例では、ユーザU1は、第1荷物の名宛人であり、かつ、第2荷物を移動体600又は700に回収させることで、第2荷物を発送する発送者であり、ユーザU2からからU6は、第2荷物を発送する発送者である場合を具体例として挙げて説明を行う。
【0012】
制御装置100は、例えば、サーバ機であり、例えば、家電製品、衣服、又は、書籍をレンタルする企業の営業所に設置されている。当該営業所は、配送される第1荷物の配送拠点、及び、回収された第2荷物の発送拠点として機能する。制御装置100は、ハードウェアである、
図2に表すようなCPU(Central Processing Unit)101、RAM(Random Access Memory)102、ROM(Read Only Memory)103a、ハードディスク103b、データ通信回路104a、ビデオカード105a、ディスプレイパネル105b、及び、入力装置105cを備える。制御装置100は、複数のCPUを備えても良いし、複数のRAM及びフラッシュメモリを備えても良い。
【0013】
制御装置100のCPU101は、ROM103a又はハードディスク103bに保存されたプログラムを実行することで、制御装置100の全体制御を行う。RAM102は、CPU101によるプログラムの実行時において、処理対象とされるデータを一時的に記憶する。ROM103a及びハードディスク103bは、各種のプログラムと、プログラムの実行に用いられる各種のデータ及びデータが保存されたテーブルと、を記憶している。
【0014】
制御装置100のデータ通信回路104aは、NIC(Network Interface Card)であり、例えば、LTE(Long Term Evolution)及び5G(5th Generation)を含む通信規格に従って、例えば、インタネットINに接続された不図示の基地局と電波を用いてデータ通信を行う。これにより、制御装置100のデータ通信回路104aは、インタネットINに接続された移動体600及び700、並びに、端末装置901から906とデータ通信を行う。
【0015】
制御装置100のビデオカード105aは、CPU101から出力されたデジタル信号に基づいて画像をレンダリングすると共に、レンダリングされた画像を表す画像信号を出力する。ディスプレイパネル105bは、EL(Electroluminescence)ディスプレイ、PDP(Plasma Display Panel)、又は、LCD(Liquid Crystal Display)であり、ビデオカード105aから出力された画像信号に従って画像を表示する。入力装置105cは、キーボード、マウス、タッチパッド、及び、ボタンの少なくとも1つであり、営業所に勤務する従業員の操作に応じた信号を出力する。
【0016】
制御装置100のCPU101は、起動すると、移動体600又は700に第1荷物を配送させるため、
図3及び
図4に示すような移動制御処理を実行する。これにより、制御装置100のCPU101は、第1荷物のサイズを表すサイズ情報と、移動体600のサイズを表す情報と、移動体700のサイズを表すサイズ情報と、を取得する、
図5に示すような取得部110として機能する。
【0017】
また、制御装置100のCPU101は、取得されたサイズ情報に基づいて、第1荷物を格納させる移動体を、移動体600及び700から選択する選択部120として機能する。さらに、CPU101は、選択された移動体600又は700に格納可能な1又は複数の第2荷物の組み合わせを1又は複数特定する特定部130、及び、特定された1又は複数の組み合わせのそれぞれに優先度を設定する設定部140、として機能する。またさらに、CPU101は、選択された組み合わせに含まれる1又は複数の第2荷物を回収するために、移動体600に移動させる回収経路を表す情報を生成する生成部150として機能する。また、CPU101は、生成された情報で表される回収経路を、移動体600又は700に移動させる制御を行う制御部180として機能する。
【0018】
制御装置100のハードディスク103bは、移動制御処理の実行に用いられる各種の情報を記憶する情報記憶部190として機能する。情報記憶部190は、配送される第1荷物に関する情報が予め保存されている、
図6に示すような配送荷物テーブルを予め記憶している。配送荷物テーブルには、複数のレコードが予め保存されている。配送荷物テーブルの各レコードには、ユーザを識別するユーザID(IDentification)と、当該ユーザを名宛人として配送される第1荷物を識別する荷物IDと、当該第1荷物のサイズ情報と、当該第1荷物の期限情報と、当該第1荷物の配送完了フラグと、が対応付けられて保存されている。第1荷物の期限情報は、当該第1荷物の配送期限を表す情報であり、第1荷物の配送完了フラグは、当該第1荷物の配送が完了しているか否かを表すフラグである。
【0019】
第1荷物のサイズ情報は、第1荷物のサイズを表す情報である。本実施例では、第1荷物のサイズとは、第1荷物を梱包可能な梱包材の内で、最も小さい梱包材のサイズを意味する。本実施例では、梱包材が段ボールである場合を具体例として挙げて説明するが、これに限定される訳では無い。梱包材は、例えば、コンテナであっても良い。コンテナは、プラスティック製であっても良いし、金属製であっても良い。
【0020】
また、本実施例では、梱包材のサイズが、「小」、「中」、及び、「大」のいずれかである場合を具体例として挙げて以下の説明を行う。梱包材のサイズが「小」であるとは、梱包材のサイズが予め定められた第1の大きさであることを意味する。本実施例では、梱包材の形状は、立方体形状、又は、直方体形状であるため、梱包材のサイズが第1の大きさであるとは、梱包材が予め定められた第1の幅、予め定められた第1の高さ、及び、予め定められた第1の奥行きを有すること意味する。
【0021】
さらに、本実施例では、梱包材のサイズが「中」であるとは、梱包材のサイズが「小」よりも大きく、かつ、「大」よりも小さい予め定められた第2の大きさであることを意味する。本実施例では、梱包材のサイズが第2の大きさであるとは、梱包材の幅が第1の幅のN1倍の長さであり、かつ、梱包材の高さ及び奥行きがそれぞれ第1の高さ及び第1の奥行きであること、梱包材の高さが第1の高さのN1倍の高さであり、かつ、梱包材の幅及び奥行きがそれぞれ第1の幅及び第1の奥行きであること、及び、梱包材の奥行きが第1の奥行きのN1倍の長さであり、かつ、梱包材の幅及び高さがそれぞれ第1の幅及び第1の高さであること、のいずれか1つを意味する(但し、N1は自然数)。すなわち、「中」のサイズの荷物を移動体600又は700が格納するために要する空間の体積は、「小」のサイズの荷物を格納するために要する基準の空間の体積のN1倍である。本実施例では、N1が予め定められた値「2」である場合を具体例として挙げて以下の説明を行うため、サイズ情報は、「小」のサイズを数字「1」を用いて表し、「中」のサイズを数字「2」を用いて表す。
【0022】
さらに、本実施例では、梱包材のサイズが「大」であるとは、梱包材のサイズが「中」よりも大きい予め定められた第3の大きさであることを意味する。本実施例では、梱包材のサイズが第3の大きさであるとは、梱包材の幅が第1の幅のN2倍の長さであり、かつ、梱包材の高さ及び奥行きがそれぞれ第1の高さ及び第1の奥行きであること、梱包材の高さが第1の高さのN2倍の高さであり、かつ、梱包材の幅及び奥行きがそれぞれ第1の幅及び第1の奥行きであること、及び、梱包材の奥行きが第1の奥行きのN2倍の長さであり、かつ、梱包材の幅及び高さがそれぞれ第1の幅及び第1の高さであること、のいずれか1つを意味する(但し、N2は自然数)。すなわち、「大」のサイズの荷物を移動体600又は700が格納するために要する空間の体積は、「小」のサイズの荷物を格納するために要する基準の空間の体積のN2倍である。本実施例では、N2が予め定められた値「5」である場合を具体例として挙げて以下の説明を行うため、サイズ情報は、「大」のサイズを数字「5」を用いて表す。
【0023】
また、制御装置100の情報記憶部190は、ユーザに関する情報が保存されている、
図7に示すようなユーザテーブルを予め記憶している。ユーザテーブルには、複数のレコードが予め保存されている。ユーザテーブルの各レコードには、ユーザを識別するユーザIDと、当該ユーザが予め指定した第1荷物の配送先の位置を緯度、経度、及び、高度で表す位置情報と、が予め対応付けられて保存されている。本実施例では、ユーザが予め指定した第1荷物の配送先は、ユーザが予め指定した第2荷物の回収地点と同じ地点であるとして説明を行う。しかし、これに限定される訳ではなく、ユーザが指定した配送先は、ユーザが指定した回収地点と異なる地点であっても良い。
【0024】
さらに、制御装置100の情報記憶部190は、移動体600及び700に関する情報が保存されている、
図8に示すような移動体テーブルを予め記憶している。移動体テーブルには、複数のレコードが予め保存されている。移動体テーブルの1番のレコードには、移動体600を識別する機体ID「600」と、移動体600のサイズ情報と、が予め対応付けられて保存されている。また、2番のレコードには、移動体700を識別する機体ID「700」と、移動体700のサイズ情報と、が予め対応付けられて保存されている。移動体600のサイズ情報は、移動体600が備える格納庫620のサイズ「中」を表す情報であり、移動体700のサイズ情報は、移動体700が備える格納庫720のサイズ「小」を表す情報である。
【0025】
本実施例では、移動体600の格納庫620のサイズが「中」であるとは、サイズ「小」の荷物をM1個、格納可能な容積を格納庫620が有していることを意味する(但し、M1は自然数)。本実施例では、M1の値が予め定められた値「5」である場合を具体例として挙げて以下の説明を行うため、サイズ情報は、「中」のサイズを数字「5」を用いて表す。また、本実施例では、「大」のサイズの荷物を格納するのに要する空間の体積は、「小」のサイズの荷物を格納するために要する基準の空間の体積の5倍であるため、格納庫620には、「大」のサイズの荷物を格納可能である。
【0026】
移動体700の格納庫720のサイズが「小」であるとは、M1よりも少ないM2個、「小」のサイズの荷物を格納可能な容積を格納庫720が有していることを意味する(但し、M2は自然数)。本実施例では、M2の値が予め定められた値「3」である場合を具体例として挙げて以下の説明を行うため、サイズ情報は、「小」のサイズを数字「3」を用いて表す。本実施例では、「中」のサイズの荷物を格納するのに要する空間の体積は、「小」のサイズの荷物を格納するために要する基準の空間の体積の2倍であるため、移動体700の格納庫720には、「小」のサイズの荷物、及び、「中」のサイズの荷物を格納可能であるが、「大」のサイズの荷物を格納不能である。
【0027】
またさらに、制御装置100の情報記憶部190は、第1荷物の配送予定に関する情報が保存される、
図9に示すような配送予定テーブルを予め記憶している。配送予定テーブルには、移動制御処理の実行によりレコードが追加される。追加されるレコードには、配送される第1荷物を識別する荷物IDと、第1荷物を配送させる移動体600又は700の機体ID「600」又は「700」と、当該第1荷物の名宛人のユーザIDと、当該名宛人に指定された配送先の位置情報と、当該第1荷物の配送経路を表す情報と、当該第1荷物の配送日時を表す情報と、が対応付けられて保存される。配送先の位置情報は、配送先の位置を緯度、経度、及び、高度で表す情報である。第1荷物の配送経路は、当該第1荷物の配送のために、移動体600又は700に移動させる経路であり、第1荷物の配送日時は、当該第1荷物が配送先に配送される日時である。
【0028】
また、制御装置100の情報記憶部190は、発送される荷物に関する情報が予め保存されている、
図10に示すような発送荷物テーブルを予め記憶している。発送荷物テーブルには、複数のレコードが予め保存されている。本実施例では、発送荷物テーブルの1番のレコードには、ユーザU1のユーザID「U1」と、ユーザU1が発送する不図示の第2荷物PC1の荷物ID「PC1」、第2荷物PC1のサイズ情報、発送期限「2021年01月01日 00:00」を表す期限情報、値「false」の発送完了フラグ、及び、値「false」の回収要求フラグと、が対応付けられて保存されている。本明細書では、記載を簡単にするため、「2021年01月01日」を「1日」と表記する。
【0029】
第2荷物PC1のサイズ情報は、第2荷物PC1のサイズが「中」であることを数字「2」を用いて表す情報である。第2荷物PC1のサイズが数字「2」を用いてされるのは、第2荷物PC1の格納に要する空間の体積は、基準の空間の体積の2倍だからである。発送完了フラグとは、荷物の発送が完了しているか否かを表すフラグであり、値「false」の発送完了フラグは、荷物の発送が完了していないことを表すフラグである。回収要求フラグとは、荷物の回収が要求されているか否かを表すフラグであり、値「false」の回収要求フラグは、荷物の回収が要求されていないことを表すフラグである。
【0030】
2番のレコードには、ユーザID「U2」と、不図示の第2荷物PC2の荷物ID「PC2」と、サイズが「中」であることを表すサイズ情報、発送期限「2021年01月02日 00:00」を表す期限情報、値「false」の発送完了フラグ、及び、値「false」の回収要求フラグと、が対応付けられて保存されている。本明細書では、記載を簡単にするため、「2021年01月02日」を「2日」と表記する。
【0031】
3番から6番のレコードには、ユーザID「U3」から「U6」と、不図示の第2荷物PC3からPC6の荷物ID「PC3」から「PC6」、値「false」の発送完了フラグ、及び、値「false」の回収要求フラグと、が対応付けられて保存されている。3番、4番、及び、6番のレコードには、サイズが「小」であることを数字「1」を用いて表すサイズ情報が保存されており、5番のレコードには、サイズが「大」であることを数字「5」を用いて表すサイズ情報が保存されている。3番のレコードには、発送期限「2021年01月03日 00:00」を表す期限情報が保存されており、4番のレコードには、発送期限「2021年01月04日 00:00」を表す期限情報が保存されている。5番のレコードには、発送期限「2021年01月05日 00:00」を表す期限情報が保存されており、6番のレコードには、発送期限「2021年01月06日 00:00」を表す期限情報が保存されている。本明細書では、記載を簡単にするため、「2021年01月03日」ないし「2021年01月06日」をそれぞれ「3日」ないし「6日」と表記する。
【0032】
またさらに、制御装置100の情報記憶部190は、回収予定に関する情報が、移動制御処理の実行により保存される、
図11に示すような回収予定テーブルを予め記憶している。回収予定テーブルには、複数のレコードが保存される。回収予定テーブルの各レコードには、回収順番を表す情報と、当該回収順番に回収される第2荷物の荷物IDと、当該第2荷物を移動体600又は700に回収させるユーザのユーザIDと、当該第2荷物の回収地点の位置情報と、当該第2荷物の回収時間帯を表す情報と、当該第2荷物の回収経路を表す情報と、が、対応付けられて保存される。回収地点の位置情報とは、回収地点の位置を緯度、経度、及び、高度で表す情報である。第2荷物の回収順番とは、当該第2荷物の回収が行われる順番であり、第2荷物の回収時間帯とは、移動体600又は700が当該第2荷物の回収地点に到着して回収が行われる時間帯である。第2荷物の回収経路とは、当該第2荷物の回収のために移動体600又は700が移動する経路である。
【0033】
移動制御処理の実行が開始されると、制御装置100の取得部110は、
図6の配送荷物テーブルから、配送が完了していないことを表す値「false」の配送完了フラグが保存されているレコードの取得を試行する。次に、制御部180は、レコードが取得されたか否かに基づいて、未配送の第1荷物が存在するか否かを判別する(ステップS01)。このとき、制御部180は、レコードが取得されないと判別すると、未配送の第1荷物が存在しないと判別し(ステップS01;No)、予め定められた時間に亘ってスリープした後に、ステップS01の処理を繰り返す。
【0034】
これに対して、制御装置100の制御部180は、配送荷物テーブルから1又は複数のレコードが取得されたと判別すると、未配送の第1荷物が存在すると判別する(ステップS01;Yes)。次に、選択部120は、取得された1又は複数のレコードの内で、最も早い配送期限を表す期限情報が保存されているレコードを選択する。本実施例では、配送荷物テーブルの1番のレコードが選択された場合を具体例として挙げて以下の説明を行う。当該1番のレコードには、ユーザU1のユーザID「U1」と、第1荷物の荷物ID「PD1」と、「大」のサイズを表すサイズ情報と、が保存されている。
【0035】
次に、制御装置100の選択部120は、選択されたレコレード(以下、選択レコードという)に保存されている荷物ID「PD1」で識別される不図示の第1荷物PD1を、移動体600又は700に配送させる第1荷物として選択する(ステップS02)。次に、取得部110は、選択レコードに保存されている、第1荷物PD1のサイズ「大」を表すサイズ情報を取得する。本実施例では、「大」のサイズの荷物を格納するのに要する空間の体積は、基準の空間の体積の5倍であるため、サイズ情報は、数字「5」を用いて「大」のサイズを表す。このため、取得部110は、
図8の移動体テーブルから、「5」以上の数字を用いて格納庫のサイズを表すサイズ情報と対応付けられた機体IDの取得を試行する。
【0036】
これにより、制御装置100の取得部110は、数字「5」を用いて格納庫620のサイズ「中」を表すサイズ情報と対応付けられた機体ID「600」を取得するが、数字「3」を用いて格納庫720のサイズ「小」を表すサイズ情報と対応付けられた機体ID「700」を取得しない。このため、特定部130は、機体ID「600」で識別される移動体600が第1荷物PD1を格納可能であることを特定し、機体ID「700」で識別される移動体700が第1荷物PD1を格納不能であることを特定する。その後、選択部120は、取得された機体ID「600」で識別される移動体600を、第1荷物PD1を配送させる移動体として選択する(ステップS03)。
【0037】
次に、制御装置100の取得部110は、選択レコードに保存されているユーザID「U1」を取得し、取得されたユーザID「U1」と、
図7のユーザテーブルにおいて対応付けられている、
図12に示すような配送先の位置D1を表す位置情報を取得する。次に、制御部180は、第1荷物PD1の配送拠点の位置Sから、第1荷物PD1の配送先の位置D1に到る配送経路PSD1を決定する。このために、取得部110は、情報記憶部190が予め記憶している部分経路テーブルから複数のレコードを取得する。部分経路テーブルには、例えば、道路、河原、又は、公園といった移動体600が移動可能な部分経路に関する情報が保存された複数のレコードが予め保存されている。部分経路テーブルの各レコードには、部分経路であるエッジの始点ノードの緯度、経度、及び、高度と、当該エッジの終点ノードの緯度、経度、及び、高度と、当該エッジの距離を表す情報と、が対応付けられて予め保存されている。
【0038】
次に、制御装置100の取得部110は、情報記憶部190が予め記憶している配送拠点の位置Sを緯度、経度、及び、高度で表す位置情報を取得する。その後、制御部180は、取得された部分経路テーブルの各レコードに保存されているエッジの距離と、当該エッジの始点ノード及び終点ノードの緯度、経度、及び、高度と、配送拠点の位置S及び配送先の位置D1の緯度、経度、及び、高度と、を用いて、例えば、ダイクストラ法といった公知の経路探索アルゴリズムを実行する。これにより、制御装置100の制御部180は、部分経路を組み合わせることで、配送拠点の位置Sから配送先の位置D1へ到る最短の全体経路を配送経路PSD1に決定し、生成部150は、決定された配送経路PSD1を表す情報を生成する。配送経路PSD1を表す情報には、配送経路PSD1に含まれる複数のノードの位置を緯度、経度、及び、高度で表す位置情報と、複数のノードの到着順を表す情報と、が含まれている。
【0039】
次に、制御装置100の取得部110は、情報記憶部190が予め記憶する移動体600の移動速度を表す情報を取得する。移動体600の移動速度は、予め移動体600に設定されている最高速度であっても良いし、過去に計測された移動体600の速度の平均値又は中央値であっても良い。その後、制御部180は、配送経路PSD1を表す情報に基づいて、配送経路PSD1の距離を算出し、算出された距離を、取得された情報で表される移動速度で除算する。これにより、制御部180は、移動体600が配送経路PSD1を移動するのに要する移動時間を算出する。本実施例では、配送経路PSD1の移動時間「30分」が算出された場合を具体例として挙げて以下の説明を行う。
【0040】
その後、制御装置100の取得部110は、例えば、OS(Operating System)が管理するシステム日時を取得する。本実施例では、システム日時「1日 12:00」が取得された場合を具体例として以下の説明を行う。次に、取得部110は、第1荷物の準備に要する準備時間の長さを表す情報を情報記憶部190から取得する。第1荷物の準備時間は、従業員が配送拠点から第1荷物を探し出すのに要する時間、探し出した第1荷物を移動体600又は700の位置へ運搬するのに要する時間、及び、運搬された第1荷物を移動体600又は700へ格納させるのに要する時間を含む。本実施例において、準備時間の長さは、過去に観測された時間長であり、かつ、従業員が荷物の準備に要した時間長の平均値「10分」に予め設定されているが、これに限定される訳では無い。準備時間の長さは、「0分」より長く、かつ、「10分」より短くても良いし、「10分」より長くても良い。また、準備時間の長さは、過去に観測された時間長の中央値であっても良い。より好適な準備時間の長さは、当業者が、実験により定めることができる。
【0041】
また、制御装置100の取得部110は、受付期間の長さを表す情報を情報記憶部190から取得する。受付期間は、移動体600が第2荷物を回収可能であることを知らせる回収可能通知が出力された後、第2荷物の回収を求める回収要求が受け付けられる期間である。本実施例において、受付期間の長さは、「20分」に予め設定されているが、これに限定される訳では無い。受付期間の長さは、「0分」より長く、かつ、「20分」より短くても良いし、「20分」より長くても良い。また、より好適な受付期間の長さは、当業者が、実験により定めることができる。
【0042】
その後、制御装置100の制御部180は、取得されたシステム日時「1日 12:00」に、準備時間の長さ「10分」と、回収要求の受付期間の長さ「20分」と、移動時間「30分」と、を加算することで、配送先の位置D1へ第1荷物PD1が配送される配送日時「1日 13:00」を算出する。このため、生成部150は、配送日時「1日 13:00」を表す情報を生成する。
【0043】
次に、制御装置100の生成部150は、第1荷物PD1を移動体600に格納させ、ユーザU1によって指定された配送先の位置D1へ、移動体600に配送経路PSD1を移動させることで、配送日時「1日 13:00」に第1荷物PD1を配送するという配送予定を表す情報を生成する(ステップS04)。このために、生成部150は、第1荷物PD1の荷物ID「PD1」と、移動体600の機体ID「600」と、ユーザU1のユーザID「U1」と、配送先の位置D1を表す位置情報と、配送経路PSD1を表す情報と、配送日時「1日 13:00」を表す情報と、を対応付ける。その後、制御部180は、対応付けにより生成された配送予定を表す情報を、
図9の配送予定テーブルへ保存する。
【0044】
次に、制御装置100は、回収可能通知を出力する、
図13に示すような回収可能通知出力処理を実行する(ステップS05)。回収可能通知出力処理の実行が開始されると、制御装置100の特定部130は、配送期限が第1荷物の配送日時に近く、未回収であり、かつ、第1荷物PD1の受け渡し後に移動体600が回収可能な第2荷物(以下、回収が必要であり可能な第2荷物という)を1又は複数特定することを試行する。配送期限が第1荷物の配送日時に近い第2荷物とは、配送期限と配送日時との相違が、予め定められた猶予時間の長さよりも短い第2荷物を意味する。また、第1荷物PD1の受け渡し後に移動体600が回収可能な第2荷物とは、第1荷物PD1の受け渡し後に、荷物を格納していない空の状態となった格納庫620に格納可能なサイズの第2荷物を意味する。
【0045】
これらのために、制御装置100の取得部110は、情報記憶部190から、猶予時間の長さを表す情報を取得する。本実施例では、猶予時間の長さは、「1週間」に予め定められている場合を具体例として挙げて説明するが、猶予時間の長さは、「0」よりも長ければ、どのような長さであっても良く、好適な猶予時間の長さは、当業者が実験により定めることができる。次に、制御装置100の取得部110は、
図10の発送荷物テーブルから、配送日時との相違が、猶予期間の長さ「1週間」よりも短い発送期限を表す期限情報と、値「false」の発送完了フラグと、移動体600のサイズ情報が格納庫620の容量を表すために用いる数字「5」以下の数字を用いてサイズを表すサイズ情報と、に対応付けられている1又は複数の荷物IDの取得を試行する。
【0046】
本実施例では、発送荷物テーブルの1番から6番のレコードには、配送日時「1日 13:00」との相違が、猶予期間の長さ「1週間」よりも短い配送期限「1日 00:00」ないし「6日 00:00」をそれぞれ表す期限情報が保存されている。このため、1番から6番のレコードにそれぞれ保存されている荷物ID「PC1」から「PC6」が取得される。次に、特定部130は、取得された荷物ID「PC1」から「PC6」で識別される第2荷物PC1からPC6が、回収が必要であり可能な第2荷物であると特定する。このため、制御部180は、回収が必要であり可能な第2荷物が存在すると判別する(ステップS31;Yes)。
【0047】
次に、制御装置100の取得部110は、発送荷物テーブルから、第2荷物PC1の荷物「PC1」に対応付けられているユーザU1のユーザID「U1」を取得し、
図7のユーザテーブルから、ユーザID「U1」と対応付けられた位置情報を取得する。本実施例では、ユーザID「U1」と対応付けられた位置情報は、
図12に示すような位置D1を表す情報である。同様に、取得部110は、発送荷物テーブルから、荷物「PC2」から「PC6」にそれぞれ対応付けられているユーザID「U2」から「U6」を取得し、ユーザテーブルから、ユーザID「U2」から「U6」とそれぞれ対応付けられた位置情報を取得する。本実施例では、ユーザID「U2」から「U6」とそれぞれ対応付けられた位置情報は、
図12に示すような位置D2からD6をそれぞれ表す情報である。
【0048】
次に、制御装置100の制御部180は、取得された第2荷物PC1からPC6の回収地点の位置情報と、
図3のステップS04で取得された第1荷物PD1の配送先の位置情報と、に基づいて、第1荷物の配送先であり、かつ、第2荷物の回収地点でもある、配送回収地点が存在するか否かを判別する(ステップS32)。本実施例では、位置D1は、第1荷物PD1の配送先であり、かつ、第2荷物PC1の回収地点でもあるため、制御部180は、配送回収地点が存在すると判別する(ステップS32;Yes)。
【0049】
その後、制御装置100の選択部120は、配送回収地点の位置D1で回収される第2荷物PC1を選択する。このような選択が行われるのは、第1荷物PD1の配送先の位置D1に到着して滞在する移動体600が、回収地点でもある位置D1で第2荷物PC1を回収すれば、回収しない場合と比べて荷物の回収効率を向上できるからである。移動体600による第2荷物の回収効率は、単位時間当たり移動体600が回収する荷物の個数で表されるが、これに限定される訳では無く、単位移動時間当たり移動体600が回収する荷物の個数、又は、単位移動距離当たり移動体600が回収する荷物の個数で表されても良い。
【0050】
次に。制御装置100の取得部110は、発送荷物テーブルから、第2荷物PC2の荷物ID「PC2」に対応付けられている期限情報を取得し、設定部140は、取得された期限情報に基づいて、発送期限が配送日時により近い程、より高い優先度を第2荷物PC2に設定する。同様に、取得部110は、発送荷物テーブルから、荷物「PC3」から「PC6」にそれぞれ対応付けられている期限情報を取得し、設定部140は、取得された期限情報に基づいて、第2荷物PC3からPC6のそれぞれについて、発送期限が配送日時により近い程、より高い優先度を設定する(ステップS34)。ステップS34で設定される荷物の優先度とは、当該荷物の発送のために、どの程度、回収を優先する必要があるかを表す指標である。本実施例では、より高い優先度程、回収をより優先する必要があることを表すが、これに限定される訳ではなく、より低い優先度程、回収をより優先する必要があることを表しても良い。
【0051】
このために、制御装置100の設定部140は、第2荷物PC2の発送期限「2日 00:00」から第1荷物PD1の配送日時「1日 13:00」を減算し、減算により得られる値「11:00」の絶対値を、第2荷物PC2の発送期限と、第1荷物PD1の配送日時と、の相違として算出する。次に、設定部140は、算出された相違「11:00」に、予め定められた正の定数C1を加算し、加算により得られる値の逆数を、第2荷物PC2の優先度として設定する。算出された相違に正の定数C1が加算されるのは、「00:00」の相違が算出された場合であっても、逆数を算出できるようにするためである。同様に、設定部140は、第2荷物PC3からPC6について、発送期限と、第1荷物PD1の配送日時と、の相違を算出し、算出された相違に定数C1を加算し、加算により得られる値の逆数を優先度として設定する。好適な定数C1の値は、当業者が実験により定めることができる。
【0052】
次に、制御装置100の生成部は、
図3のステップS04で説明した処理と同様の処理を実行することで、配送先の位置D1から拠点の位置Sへ到る、
図12に示すような帰還経路PD1Sを表す情報を生成する。次に、設定部140は、ステップS32で取得された回収地点の位置D2を表す位置情報と、帰還経路PD1Sを表す情報と、に基づいて、回収地点の位置D2と帰還経路PD1Sとの距離がより短い程、補正前よりも値がより高くなるように、第2荷物PC2の優先度を補正する。同様に、設定部140は、回収地点の位置D3からD6をそれぞれ表す位置情報と、帰還経路PD1Sを表す情報と、に基づいて、第2荷物PC3からPC6のそれぞれについて、回収地点と帰還経路PD1Sとの距離がより短い程、補正前よりも値がより高くなるように優先度を補正する(ステップS35)。このように優先度が補正されるのは、第1荷物PD1の配送を終えた移動体600が移動する帰還経路PD1Sからの距離がより短い回収地点で第2荷物を回収すれば、移動体600による第2荷物の回収効率の低下をより抑制できるからである。尚、設定部140は、回収地点と配送経路PSD1との距離がより短い程、補正前よりも値がより高くなるように優先度を補正しても良い。
【0053】
このために、制御装置100の設定部140は、帰還経路PD1Sを表す情報と、第2荷物PC2の回収地点の位置D2を表す位置情報と、に基づいて、帰還経路PD1Sと、回収地点の位置D2と、の距離を算出する。次に、設定部140は、算出された距離に、予め定められた正の定数C2を加算し、加算により得られる値の逆数を算出する。好適な定数C2の値は、当業者が実験により定めることができる。
【0054】
その後、制御装置100の設定部140は、算出された逆数に予め定められた正の重付係数α1を乗算することで得られる値だけ補正前よりも高い値に、第2荷物PC1の優先度を補正する。好適な重付係数α1の値は、当業者が実験により定めることができる。同様に、設定部140は、第2荷物PC3からPC6について、帰還経路PD1Sと回収地点との距離を算出し、算出された距離に定数C2を加算する。次に、設定部140は、第2荷物PC3からPC6について、加算により得られた値の逆数に重付係数α1を乗算し、乗算により得られる値だけ補正前よりも高い値に優先度を補正する。
【0055】
その後、制御装置100の選択部120は、第2荷物PC2からPC6から、優先度に基づいて予め定められた個数の第2荷物を選択する(ステップS36)。本実施例では、予め定められた個数が「4個」であり、優先度が高い順に、第2荷物PC2からPC5が選択された場合を具体例として挙げて以下の説明を行う。
【0056】
次に、制御装置100の制御部180は、ステップS33で選択された第2荷物PC1と、ステップS36の処理を実行することで選択された第2荷物PC2からPC5と、のそれぞれについて、移動体600が到着して回収が行われる回収時間帯を設定する(ステップS37)。このために、取得部110は、回収時間帯の長さを表す情報を情報記憶部190から取得する。本実施例において、回収時間帯の長さは、「1時間」に予め定められているが、これに限定される訳ではなく、値「0」よりも長ければ、どのような長さであっても良く、好適な回収時間帯の長さは、当業者が実験により定めることができる。
【0057】
次に、制御装置100の制御部180は、
図3のステップS04で取得された第1荷物の配送先の位置D1を表す位置情報と、ステップS32で取得された第2荷物PC1の回収地点の位置D1を表す位置情報と、に基づいて、配送先の位置D1と、回収地点の位置D1と、が同じ位置であると判別する。その後、設定部140は、配送先の位置D1への第1荷物PD1の配送日時「1日 13:00」を開始日時とし、かつ、取得された情報で表される時間長「1時間」だけ開始日時から後の日時「1日 14:00」を終了日時とする時間帯「1日 13:00-14:00」を、位置D1で回収される第2荷物PC1の回収時間帯として設定する。
【0058】
また、制御装置100の制御部180は、第1荷物の配送先の位置D1を表す位置情報と、ステップS32で取得された第2荷物PC2の回収地点の位置D2を表す位置情報と、に基づいて、配送先の位置D1と、回収地点の位置D2と、が異なる位置であると判別する。次に、制御部180は、
図3のステップS04で説明した処理と同様の処理を実行することで、配送先の位置D1から回収地点の位置D2へ到る、
図12に示すような回収経路PD1D2を決定する。その後、制御部180は、回収経路PD1D2の距離を算出し、回収経路PD1D2の距離を移動体600の移動速度で除算することで、回収経路PD1D2の移動に要する移動時間を算出する。本実施例では、回収経路PD1D2の移動時間が「20分」と算出される場合を具体例として挙げて以下の説明を行う。このため、制御部180は、配送日時「1日 13:00」に、算出された移動時間「20分」を加算する。これにより、移動体600が第1荷物を配送先の位置D1に配送日時「1日 13:00」に配送した後、第2荷物PC2からPC5の回収地点の内で、第2荷物PC2の回収地点の位置D2へ移動体600が最初に移動する場合に、移動体600が位置D2へ到着する最も早い日時「1日 13:20」を算出する。その後、設定部140は、算出された日時「1日 13:20」を開始日時とし、かつ、当該開始日時から「1時間」後の日時「1日 14:20」を終了日時とする時間帯「1日 13:20-14:20」を、第2荷物PC2の回収時間帯として設定する。同様にして、位置D3からD5でそれぞれ回収される第2荷物PC3からPC5の回収時間帯が設定される。
【0059】
次に、制御装置100の取得部110は、回収地点の位置D1を緯度、経度、及び、高度で表す位置情報と情報記憶部190が対応付けて記憶している位置D1を住所で表す情報を取得する。次に、生成部150は、第2荷物PC1の回収可能通知を生成する。第2荷物PC1の回収可能通知は、第2荷物PC1を、回収地点の位置D1で、第1荷物PD1の配送日時「1日 13:00」以降の回収時間帯「1日 13:00-14:00」に、回収可能であることを知らせる通知である。第2荷物PC1の回収可能通知には、第2荷物PC1の荷物ID「PC1」、回収地点の位置D1を住所で表す情報、及び、第2荷物PC1の回収時間帯「1日 13:00-14:00」を表す情報が含まれている。その後、取得部110は、
図7のユーザテーブルから、第2荷物PC1の荷物ID「PC1」と対応付けられているユーザID「U1」を取得する。その後、制御部180は、生成された第2荷物PC1の回収可能通知を、取得されたユーザID「U1」で識別されるユーザU1の端末装置901を宛先として、データ通信回路104aへ出力する(ステップS38)。制御装置100のデータ通信回路104aは、出力された第2荷物PC1の回収可能通知を端末装置901へ送信する。
【0060】
同様に、制御装置100の取得部110は、回収地点の位置D2を表す位置情報と情報記憶部190が対応付けて記憶している位置D2を住所で表す情報を取得する。次に、生成部150は、第2荷物PC2を、回収地点の位置D2で、回収時間帯「1日 13:20-14:20」に、回収可能であることを知らせる、第2荷物PC2の回収可能通知を生成する。その後、制御部180は、生成された第2荷物PC2の回収可能通知を、第2荷物PC2を発送するユーザU2の端末装置902を宛先として、データ通信回路104aへ出力する。制御装置100のデータ通信回路104aは、出力された第2荷物PC2の回収可能通知を端末装置902へ送信する。制御装置100は、第2荷物PC3からPC6の回収可能通知を生成し、生成された回収可能通知を、第2荷物PC3からPC6を発送するユーザU3からU6の端末装置903から906へそれぞれ送信する。その後、制御装置100は、返値を回収可能通知が出力されたことを表す値「true」に設定した後に、回収可能通知出力処理の実行を終了する。
【0061】
端末装置901から906は、回収可能通知を受信して表示する。本実施例では、端末装置901の表示を視認したユーザU1が、第2荷物PC1の回収を要求するために端末装置901を操作し、端末装置901は、当該操作に応じて、回収要求を制御装置100へ送信する場合を具体例として挙げて以下の説明を行う。端末装置901が送信する回収要求は、ユーザU1のユーザID「U1」と、第2荷物PC1の荷物ID「PC1」と、を含み、かつ、ユーザU1が予め指定した回収地点の位置D1で第2荷物PC1を回収することを求める要求である。また、本実施例では、ユーザU2からU5が携帯する端末装置902から905が回収要求を制御装置100へ送信するが、ユーザU6が携帯する端末装置906が回収要求を送信しない場合を具体例として挙げて以下の説明を行う。ユーザU6の端末装置906が回収要求を送信しないのは、ユーザU6が端末装置906の表示を視認しなかった、又は、視認したが第2荷物PC6の回収を要求する意思が無く、回収要求を送信させるための操作を端末装置906に行わなかったためである。
【0062】
図3のステップS05で、回収可能通知出力処理を実行した後、制御装置100の制御部180は、回収可能通知出力処理の返値が値「true」であるため、回収可能通知が出力されたと判別する。次に、制御部180は、不図示のハードウェアタイマー又はソフトウェアタイマーを用いて計時を開始する。その後、制御部180は、ステップS04で取得された情報で表される受付期間「20分」が、回収可能通知を出力してから経過したか否かを、計時時間に基づいて判別する(ステップS06)。このとき、受付時間「20分」が経過していないと判別されると(ステップS06;No)、取得部110は、データ通信回路104aから回収要求の取得を試行する。制御部180は、回収要求が取得されないと、回収要求が受信されなかったと判別し(ステップS07;No)、ステップS06から上記の処理を繰り返す。
【0063】
これに対して、制御装置100の制御部180は、回収要求が取得されると、回収要求が受信されたと判別する(ステップS07;Yes)。その後、取得部110は、取得された回収要求から、ユーザIDと荷物IDとを取得する。次に、制御部180は、
図10の発送荷物テーブルにおいて、取得されたユーザIDと、荷物IDと、に対応付けられている回収要求フラグの値を、回収が要求されていることを表す値「true」に変更する(ステップS08)。その後、制御装置100は、ステップS06から上記処理を繰り返す。
【0064】
本実施例では、ユーザU1が携帯する端末装置901が回収要求を制御装置100へ送信するため、制御装置100は、ステップS06からS08の処理を実行することで、発送荷物テーブルにおいて、ユーザU1のユーザID「U1」と、第2荷物PC1の荷物ID「PC1」と、に対応付けられている回収要求フラグの値を「true」に変更する。また、本実施例では、端末装置902から905が回収要求を制御装置100へ送信する。このため、制御装置100は、発送荷物テーブルにおいて、ユーザID「U2」と荷物ID「PC2」とに対応付けられた回収要求フラグの値、及び、ユーザID「U3」と荷物ID「PC3」とに対応付けられた回収要求フラグの値を値「true」に変更する。また、制御装置100は、ユーザID「U4」と荷物ID「PC4」とに対応付けられた回収要求フラグの値、及び、ユーザID「U5」と荷物ID「PC5」とに対応付けられた回収要求フラグの値を値「true」に変更する。
【0065】
ステップS06において、回収可能通知出力処理の返値が値「true」でなく値「false」であるため、回収可能通知が出力されなかったと制御装置100の制御部180が判別する場合、又は、回収可能通知の出力から受付時間「20分」が経過したと判別されると(ステップS06;Yes)、制御部180は、回収が要求されているが未回収の第2荷物が存在するか否かを判別する(ステップS09)。未回収の第2荷物は、回収が行われていないため、発送が完了していない荷物である。このため、取得部110は、
図10の発送荷物テーブルから、回収が要求されていることを表す値「true」の回収要求フラグと、発送が完了していないことを表す値「false」の発送完了フラグと、に対応付けられた荷物IDの取得を試行する。これにより、取得部110は、荷物ID「PC1」から「PC5」を取得するため、制御部180は、回収が要求されているが未回収の第2荷物PC1からPC5が存在すると判別する(ステップS09;Yes)。
【0066】
次に、制御装置100の取得部110は、
図10の発送荷物テーブルから、第2荷物PC1の荷物ID「PC1」に対応付けられたサイズ情報を取得する。同様に、取得部110は、第2荷物PC2からPC5の荷物ID「PC2」から「PC5」に対応付けられたサイズ情報を取得する。次に、取得部110は、
図8の移動体テーブルから、移動体600の機体ID「600」に対応付けられた格納庫620のサイズ情報を取得する。その後、特定部130は、第2荷物PC1からPC5のサイズ情報と、格納庫620のサイズ情報と、に基づいて、回収が要求される第2荷物PC1からPC5の内で、
図14に示すような、格納庫620に格納可能な第2荷物の組み合わせCB1からCB15を特定する(ステップS10)。
【0067】
組み合わせCB1は、「中」のサイズの第2荷物PC1からなる組み合わせである。本実施例では、移動体600の格納庫620は、「小」のサイズの荷物を格納するのに要する基準の空間の体積の5倍の容積を有している。また、「中」のサイズの荷物を格納庫620が格納するのに要する空間の体積は、基準の空間の体積の2倍である。このため、組み合わせCB1に含まれる第2荷物PC1を移動体600に格納させることは、基準の空間の体積の2倍の体積を有する空間を用いて第2荷物PC1を移動体600に格納させ、かつ、基準の空間の体積の3倍の体積を有する空間に荷物を格納させずに空けておくことを意味する。
【0068】
組み合わせCB2は、「中」のサイズの第2荷物PC1及びPC2からなる組み合わせである。組み合わせCB3は、「中」のサイズの第2荷物PC1及びPC2、並びに、「小」のサイズの第2荷物PC3からなる組み合わせであり、組み合わせCB4は、第2荷物PC1及びPC2、並びに、「小」のサイズの第2荷物PC4からなる含む組み合わせである。組み合わせCB5は、第2荷物PC1及びPC3からなり、組み合わせCB6は、第2荷物PC1及びPC4からなり、組み合わせCB7は、第2荷物PC1、PC3、及び、PC4からなる。
【0069】
組み合わせCB8は、第2荷物PC2からなり、組み合わせCB9は、第2荷物PC2及びPC3からなり、組み合わせCB10は、第2荷物PC2及びPC4からなり、組み合わせCB11は、第2荷物PC2、PC3、及び、PC4からなる。組み合わせCB12は、第2荷物PC3からなり、組み合わせCB13は、第2荷物PC4からなり、組み合わせCB14は、第2荷物PC3及びPC4からなる。組み合わせCB15は、「大」のサイズの第2荷物PC5からなる組み合わせである。本実施例では、「大」のサイズの荷物を格納するのに要する空間の体積は、基準の空間の体積の5倍である。
【0070】
その後、制御装置100は、特定された組み合わせCB1からCB15から、移動体600に回収させる第2荷物の組み合わせを選択する、
図15に示すような組合選択処理を実行する(ステップS11)。組合選択処理の実行が開始されると、制御装置100の制御部180は、
図13のステップS32と同様の処理を実行することで、第1荷物PD1の配送先であり、かつ、第2荷物PC1の回収地点でもある配送回収地点が存在すると判別する(ステップS41;Yes)。次に、特定部130は、特定された組み合わせCB1からCB15から、配送回収地点の位置D1で回収される第2荷物PC1を含まない組み合わせCB8からCB15を除外する。これにより、特定部130は、第2荷物PC1を含む組み合わせCB1からCB7を特定する(ステップS42)。このような除外が行われるのは、第1荷物PD1の配送先の位置D1に到着して滞在する移動体600が、回収地点でもある位置D1で第2荷物PC1を回収すれば、回収しない場合と比べて荷物の回収効率を向上できるためである。
【0071】
その後、制御装置100の生成部150は、組み合わせCB1に含まれる荷物の個数「1個」を算出し、組み合わせCB2に含まれる荷物の個数「2個」を算出する。同様に、生成部150は、組み合わせCB3からCB7にそれぞれ含まれる荷物の個数を算出する(ステップS43)。その後、設定部140は、算出された荷物の個数に基づいて、組み合わせCB1からCB7のそれぞれの優先度を設定する(ステップS44)。組み合わせの優先度とは、移動体600又は700の回収効率の低下を抑制するために、当該組み合わせに含まれる荷物をどの程度優先して回収する必要があるかを表す指標である。本実施例では、より高い優先度程、より優先して回収する必要があることを表すが、これに限定される訳ではなく、より低い優先度程、より優先して回収する必要があることを表しても良い。
【0072】
このために、制御装置100の設定部140は、算出された荷物の個数に基づいて、組み合わせCB1からCB7のそれぞれについて、荷物の個数がより多い程、より高い優先度を設定する。設定部140が優先度を設定するために用いる優先度の計算方法として、本実施例では、組み合わせCB1に含まれる荷物の個数「1個」を、組み合わせCB1の優先度として設定する方法を具体例として挙げて説明する。同様の計算方法を用いて、設定部140は、組み合わせCB2からCB7に含まれる荷物の個数を、組み合わせCB2からCB7の優先度として設定する。
【0073】
次に、制御装置100の設定部140は、組み合わせCB1からCB7のそれぞれについて、発送期限に基づいて優先度を補正する(ステップS45)。このために、設定部140は、組み合わせCB1からCB7のそれぞれについて、発送期限が第1荷物PD1の配送日時「1日 13:00」により近い程、補正前よりも値がより高くなるように優先度を補正する。本実施例では、設定部140は、発送期限に基づいて優先度を補正するための計算方法として、以下の方法を用いる。先ず、設定部140は、組み合わせCB1に含まれる第2荷物PC1の発送期限「1日 00:00」から、第1荷物PD1の配送日時「1日 13:00」を減算し、減算により得られた値「-13:00」の絶対値「13:00」を、当該発送期限と当該配送日時との相違として算出する。次に、設定部140は、算出された相違に、予め定められた正の定数C3を加算し、加算により得られる値の逆数を算出する。その後、設定部140は、算出された逆数に予め定められた正の重付係数α2を乗算することで得られる値だけ補正前よりも高い値に、組み合わせCB1の優先度を補正する。好適な定数C3の値、及び、好適な重付係数α2の値は、当業者が実験により定めることができる。
【0074】
同様、制御装置100の設定部140は、組み合わせCB2に含まれる第2荷物PC1の発送期限「1日 00:00」と、第2荷物PC2の発送期限「2日 00:00」と、について、第1荷物PD1の配送日時「1日 13:00」との相違「13:00」と「11:00」とを算出する。次に、設定部140は、算出された複数の相違の最小値「11:00」を算出し、算出された相違の最小値に正の定数C3を加算する。その後、設定部140は、加算により得られた値の逆数を算出し、算出された逆数に正の重付係数α2を乗算することで得られる値だけ補正前よりも高い値に、組み合わせCB2の優先度を補正する。同様に、設定部140は、組み合わせCB3からCB7の優先度を補正する。
【0075】
次に、制御装置100の設定部140は、組み合わせCB1からCB7のそれぞれについて、第2荷物の回収地点と、第1荷物PD1の配送先の位置D1から拠点の位置Sへ到る、
図12に示した帰還経路PD1Sと、の距離に基づいて優先度を補正する(ステップS46)。このために、設定部140は、組み合わせCB1からCB7のそれぞれについて、1又は複数の第2荷物の回収地点と、帰還経路PD1Sと、の距離の平均値がより短い程、補正前よりも値がより高くなるように優先度を補正する。このように優先度が補正されるのは、移動体600が第1荷物PD1の配送を終えた後に移動する帰還経路PD1Sからの距離の平均値がより短い1又は複数の回収地点で第2荷物を回収すれば、移動体600による第2荷物の回収効率の低下をより抑制できるためである。
【0076】
本実施例では、制御装置100の設定部140は、回収地点と帰還経路PD1Sとの距離に基づいて優先度を補正するための計算方法として、以下の方法を用いる。先ず、設定部140は、組み合わせCB1に含まれる第2荷物PC1の回収地点の位置D1と、帰還経路PD1Sと、の距離「0 m」を、ステップS41で取得された位置D1を表す位置情報と、
図13のステップS35で生成された帰還経路PD1Sを表す情報と、に基づいて算出する。次に、設定部140は、算出された距離「0 m」に、予め定められた正の定数C4を加算し、加算により得られる値の逆数を算出する。その後、設定部140は、算出された逆数に予め定められた正の重付係数α3を乗算することで得られる値だけ補正前よりも高い値に、組み合わせCB1の優先度を補正する。好適な定数C4の値、及び、好適な重付係数α3の値は、当業者が実験により定めることができる。
【0077】
同様に、制御装置100の設定部140は、組み合わせCB2に含まれる第2荷物PC1の回収地点の位置D1と帰還経路PD1Sとの距離「0 m」と、第2荷物PC2の回収地点の位置D2と帰還経路PD1Sとの距離と、の総和を算出する。次に、設定部140は、算出された距離の総和を、ステップS43で算出された個数「2」で除算することで、距離の平均値を算出する。その後、設定部140は、算出された距離の平均値に正の定数C4を加算し、加算により得られた値の逆数を算出し、算出された逆数に正の重付係数α3を乗算することで得られる値だけ補正前よりも高い値に、組み合わせCB2の優先度を補正する。同様に、設定部140は、組み合わせCB3からCB7の優先度を補正する。
【0078】
その後、制御装置100の選択部120は、組み合わせCB1からCB7の優先度に基づいて、組み合わせCB1からCB7から、移動体600に回収させる第2荷物の組み合わせを選択する(ステップS47)。その後、制御装置100は、組合選択処理の実行を終了する。本実施例では、選択部120は、組み合わせCB1からCB7の内で、最も高い優先度が設定された組み合わせを、移動体600に回収させる第2荷物の組み合わせとして選択すると説明する。また、最も高い優先度が設定された組み合わせが複数存在する場合には、予め定められた規則、又は、ソフトウェア乱数に基づいて、最も高い優先度が設定された複数の組み合わせから1つの組み合わせを選択する。本実施例では、このようにして、第2荷物PC1からPC3を含む組み合わせCB3が選択された場合を具体例として挙げて以下の説明を行う。
【0079】
図3のステップS11で、組合選択処理が実行された後に、制御装置100の設定部140は、第2荷物PC1からPC3の回収順番を設定する、
図16に示すような回収順番設定処理を実行する(ステップS12)。回収順番設定処理の実行を開始すると、制御装置100は、
図13のステップS32と同様の処理を実行することで、第1荷物PD1の配送先であり、かつ、第2荷物PC1の回収地点でもある配送回収地点が存在すると判別する(ステップS51;Yes)。次に、制御装置100の設定部140は、配送回収地点の位置D1で回収される第2荷物PC1の回収順番を1番に設定する(ステップS52)。このように設定されるのは、配送回収地点は、第2荷物PC1の回収地点であるだけでなく、第1荷物PD1の配送先でもあり、かつ、第2荷物PC1からPC3の回収よりも先に第1荷物PD1の配送が行われるためである。すなわち、移動体600は、第1荷物PD1の配送を行うために第1荷物PD1の配送先へ到着することで、第2荷物PC1からPC3の回収地点の内で、第2荷物PC1の回収地点に最初に到着するからである。
【0080】
次に、制御装置100の制御部180は、回収順番が設定されていない第2荷物PC2及びPC3が存在すると判別する(ステップS53;Yes)。次に、制御装置100の設定部140は、第2荷物PC2及びPC3について、第1荷物の配送先の位置D1から回収地点までの距離に基づいて優先度を設定する(ステップS54)。ステップS54で設定される荷物の優先度とは、移動体600又は700の回収効率の低下を抑制するため、どの程度、当該荷物の回収順番を早くする必要があるかを表す指標である。本実施例では、より高い優先度程、回収順番をより早くする必要があることを表すが、これに限定される訳ではなく、より低い優先度程、回収順番をより早くする必要があることを表しても良い。
【0081】
ステップS54において、制御装置100の設定部140は、第2荷物PC2について、第1荷物の配送先の位置D1から回収地点がより近い程、より高い優先度を設定する。本実施例では、制御装置100の設定部140は、配送先と回収地点との距離に基づいて優先度を補正するための計算方法として、以下の方法を用いる。先ず、設定部140は、
図3のステップS04で取得された第1荷物の配送先の位置D1を表す位置情報と、
図13のステップS32で取得された第2荷物PC2の回収地点の位置D2を表す位置情報と、に基づいて、位置D1から位置D2までの距離を算出する。次に、設定部140は、算出された距離に、予め定められた定数C5を加算し、加算により得られる値の逆数を、第2荷物PC2の優先度として設定する。好適な定数C5の値は、当業者が実験により定めることができる。同様に、設定部140は、第2荷物PC3について、配送先の位置D1から回収地点の位置D3までの距離を算出し、算出された距離に正の定数C5を加算し、加算により得られる値の逆数を、第2荷物PC3の優先度として設定する。
【0082】
その後、制御装置100の設定部140は、第2荷物PC2及びPC3の優先度に基づいて、第2荷物PC2及びPC3の回収順番を設定した後に(ステップS55)、回収順番設定処理の実行を終了する。本実施例では、設定部140は、第2荷物PC2の優先度の方が第2荷物PC3の優先度よりも高いため、第2荷物PC2の回収順番を2番に設定し、第2荷物PC3の回収順番を3番に設定する場合を具体例として挙げて以下の説明を行う。
【0083】
次に、制御装置100の生成部150は、第2荷物PC1からPC3を順に回収させるために移動体600に移動させる回収経路(以下、第2荷物PC1からPC3の回収経路という)を表す情報を生成する(ステップS12)。第2荷物PC1からPC3の回収経路は、
図12に示すような、第2荷物PC2の回収経路PD1D2と、第2荷物PC3の回収経路PD2D3と、帰還経路PD3Sと、を含む。第2荷物PC2の回収経路PD1D2は、第1荷物PD1の配送先であり、かつ、第2荷物PC1の回収地点である配送回収地点の位置D1から第2荷物PC2の回収地点の位置D2に到る経路である。第2荷物PC3の回収経路PD2D3は、第2荷物PC2の回収地点の位置D2から第2荷物PC3の回収地点の位置D3に到る経路である。帰還経路PD3Sは、第2荷物PC3の回収地点の位置D3から第2荷物PC1からPC3の配送拠点の位置Sに到る経路である。
【0084】
このため、制御装置100の制御部180は、ステップS04で説明した処理と同様の処理を実行することで、第2荷物PC2の回収経路PD1D2と、第2荷物PC3の回収経路PD2D3と、帰還経路PD3Sと、を決定する。次に、生成部150は、決定された第2荷物PC2の回収経路PD1D2を表す情報と、第2荷物PC3の回収経路PD2D3を表す情報と、帰還経路PD3Sを表す情報と、を生成する。
【0085】
次に、制御装置100の設定部140は、第2荷物PC1からPC3の回収時間帯を再度設定する。このために、取得部110は、受渡時間の長さを表す情報と、回収時間の長さを表す情報と、を情報記憶部190から取得する。本実施例において、受渡時間の長さは、過去に観測された時間長であり、かつ、移動体600が、受取人に荷物を受け渡すのに要した時間長の平均値「10分」に予め設定されている。また、本実施例において、回収時間の長さは、過去に観測された時間長であり、かつ、移動体600が、発送者から荷物を回収するのに要した時間長の平均値「10分」に予め設定されている。本実施例では、荷物の受取人は、荷物の名宛人である場合を具体例として挙げて以下の説明を行うが、これに限定される訳では無い。受取人は、荷物の受け取りを名宛人に依頼され、依頼を承諾した者であっても良い。また、受渡時間の長さ、及び、回収時間の長さは、「10分」に限定される訳ではなく、「0分」より長く、かつ、「10分」より短くても良いし、「10分」より長くても良い。また、受渡時間の長さ、及び、回収時間の長さは、過去に観測された時間長の中央値であっても良い。さらに、より好適な受渡時間の長さ、及び、より好適な回収時間の長さは、当業者が、実験により定めることができる。
【0086】
その後、制御装置100の設定部140は、第1荷物PD1の配送日時「1日 13:00」に、受渡時間「10分」を加算することで得られる日時「1日 13:10」を開始日時とし、かつ、回収時間「10分」だけ開始日時から後の日時「1日 13:20」を終了日時とする時間帯「1日 13:10-13:20」を、位置D1で回収される第2荷物PC1の回収時間帯として再度設定する。
【0087】
次に、制御装置100の生成部150は、1番に実行される回収予定を表す情報を生成する(ステップS13)。1番に実行される回収予定は、第2荷物PC1の回収予定である。第2荷物PC1の回収予定は、配送先の位置D1から移動体600を移動させることなく、第2荷物PC1を、ユーザU1から、位置D1に在る回収地点で、回収時間帯「1日 13:10-13:20」に、移動体600に回収させるという予定である。このために、生成部150は、回収順番「1番」を表す情報と、第2荷物PC1の荷物ID「PC1」と、ユーザU1のユーザID「U1」と、第2荷物PC1の回収地点の位置D1を表す位置情報と、回収時間帯「1日 13:00-14:00」を表す情報と、第2荷物PC1の回収経路が存在しないことを表す文字「NULL」と、を対応付けることで、第2荷物PC1の回収予定を表す情報を生成する。その後、制御部180は、
図11の回収予定テーブルに、生成された第2荷物PC1の回収予定を表す情報を追加する。
【0088】
次に、制御装置100の制御部180は、ステップS04で説明した処理と同様の処理を実行することで、第2荷物PC2の回収経路PD1D2の移動時間を算出する。本実施例では、回収経路PD1D2の移動時間が「10分」と算出された場合を具体例として挙げて以下の説明を行う。その後、設定部140は、第1荷物PD1の回収時間帯の終了日時「1日 13:20」に、第2荷物PC2の回収経路PD1D2の移動時間「10分」を加算することで得られる日時「1日 13:30」を、第2荷物PC2の回収時間帯の開始日時に設定する。次に、設定部140は、開始日時「1日 13:30」から回収時間「10分」だけ後の日時「1日 13:40」を終了日時に設定することで、第2荷物PC2の回収時間帯「1日 13:30-13:40」を設定する。
【0089】
次に、制御装置100の生成部150は、2番に実行される回収予定を表す情報を生成する。2番の回収予定は、第2荷物PC2の回収予定である。第2荷物PC2の回収予定は、第2荷物PC1の回収地点の位置D1から、第2荷物PC2の回収地点の位置D2へ移動体600を移動させてから、第2荷物PC2を、ユーザU2から、位置D2に在る回収地点で、回収時間帯「1日 13:30-13:40」に移動体600に回収させるという予定である。このために、生成部150は、回収順番「2番」を表す情報と、荷物ID「PC2」と、ユーザID「U2」と、回収地点の位置D2を表す位置情報と、回収時間帯「1日 13:30-13:40」を表す情報と、第2荷物PC2の回収経路PD1D2を表す情報と、を対応付けることで、第2荷物PC2の回収予定を表す情報を生成する。その後、制御部180は、回収予定テーブルに、生成された第2荷物PC2の回収予定を表す情報を追加する。
【0090】
その後、制御装置100の制御部180は、第2荷物PC3の回収経路PD2D3の移動時間を算出する。本実施例では、回収経路PD2D3の移動時間が「10分」と算出された場合を具体例として挙げて以下の説明を行う。その後、設定部140は、第2荷物PC2の回収時間帯の終了日時「1日 13:40」に、第2荷物PC3の回収経路PD2D3の移動時間「10分」を加算することで得られる日時「1日 13:50」を、第2荷物PC3の回収時間帯の開始日時に設定する。次に、設定部140は、開始日時「1日 13:50」から回収時間「10分」だけ後の日時「1日 14:00」を終了日時に設定することで、第2荷物PC3の回収時間帯「1日 13:50-14:00」を設定する。
【0091】
次に、制御装置100の生成部150は、3番に実行される回収予定を表す情報を生成する。3番の回収予定は、第2荷物PC3の回収予定である。第2荷物PC3の回収予定は、第2荷物PC2の回収地点の位置D2から、第2荷物PC3の回収地点の位置D3へ移動体600を移動させてから、第2荷物PC3を、ユーザU3から、位置D3に在る回収地点で、回収時間帯「1日 13:50-14:00」に回収させるという予定である。このために、生成部150は、回収順番「3番」を表す情報と、荷物ID「PC3」と、ユーザID「U3」と、位置D3を表す位置情報と、回収時間帯「1日 14:50-15:00」を表す情報と、第2荷物PC3の回収経路PD2D3を表す情報と、を対応付けることで、第2荷物PC3の回収予定を表す情報を生成する。その後、制御部180は、回収予定テーブルに、生成された第2荷物PC3の回収予定を表す情報を追加する。次に、制御部180は、第2荷物PC3の回収地点の位置D3から、第2荷物PC1からC3の発送拠点の位置Sへ到る帰還経路PD3Sを表す情報を情報記憶部190に保存する。
【0092】
その後、制御装置100の取得部110は、
図11の回収予定テーブルに保存されている荷物ID「PC1」から「PC3」を取得する。次に、制御部180は、取得された荷物ID「PC1」から「PC3」で識別される第2荷物PC1から第2荷物PC3の回収要求を受け付けることを決定する。その後、制御装置100は、回収要求が受け付けられたことを知らせる受付通知を出力する、不図示の受付通知出力処理を実行する(ステップS14)。
【0093】
このために、制御装置100の取得部110は、回収予定テーブルから、第2荷物PC1の荷物ID「PC1」に対応付けられたユーザID「U1」と、回収地点の位置D1を表す位置情報と、回収時間帯「1日 13:10-13:20」を表す情報と、を取得する。また、取得部110は、取得された回収地点の位置D1を緯度、経度、及び、高度で表す位置情報と対応付けて情報記憶部190が記憶する位置D1の住所を表す位置情報を取得する。その後、生成部150は、第2荷物PC1の荷物ID「PC1」を含み、かつ、第2荷物PC1の回収要求が受け付けられたことを知らせる受付通知を生成する。また、生成部150は、取得された回収地点の位置D1の住所を表す情報と、回収時間帯「1日 13:10-13:20」を表す情報と、を含み、第2荷物PC1を、回収地点の位置D1で、回収時間帯「1日 13:10-13:20」に回収する予定であることを知らせるメッセージ(以下、回収予定メッセージという)を、第2荷物PC1の受付通知に追加する。その後、制御部180は、第2荷物PC1の受付通知を、取得されたユーザID「U1」で識別され、かつ、第2荷物PC1を発送するユーザU1の端末装置901を宛先として、データ通信回路104aへ出力する。制御装置100のデータ通信回路104aは、第2荷物PC1の受付通知を端末装置901へ送信する。
【0094】
同様に、制御装置100の生成部150は、第2荷物PC2の回収要求が受け付けられたことを知らせる受付通知を生成し、第2荷物PC2を、回収地点の位置D2で、回収時間帯「1日 13:30-13:40」に回収する予定であることを知らせる回収予定メッセージを、生成された第2荷物PC2の受付通知に追加する。また同様に、生成部150は、第2荷物PC3の受付通知を生成し、第2荷物PC3の回収予定メッセージを、生成された第2荷物PC3の受付通知に追加する。その後、制御部180は、データ通信回路104aへ、第2荷物PC2の受付通知をユーザU2の端末装置902を宛先として出力し、かつ、第2荷物PC3の受付通知をユーザU3の端末装置903を宛先として出力する。制御装置100のデータ通信回路104aは、第2荷物PC2の受付通知を端末装置902へ送信し、かつ、第2荷物PC3の受付通知を端末装置903へ送信する。
【0095】
次に、制御装置100の取得部110は、
図10の発送荷物テーブルから、発送が完了していないことを表す値「false」の発送完了フラグと、回収が要求されたことを表す値「true」の回収要求フラグとに対応付けられた荷物ID「PC1」から「PC5」を取得する。次に、取得部110は、
図11の回収予定テーブルに保存されている荷物ID「PC1」から「PC3」を取得する。その後、制御部180は、配送荷物テーブルから取得された荷物ID「PC1」から「PC5」から、回収予定テーブルから取得された荷物ID「PC1」から「PC3」を除外する。これにより、制御部180は、除外されずに残る荷物ID「PC4」及び「PC5」で識別される第2荷物PC4及び第2荷物PC5の回収要求を受け付けないことを決定し、受け付けられなかった回収要求が存在すると判別する(ステップS15;Yes)。その後、制御装置100は、第2荷物PC4及び第2荷物PC5の回収要求が受け付けられなかったことを知らせる否受付通知を出力する、不図示の否受付通知出力処理を実行する(ステップS16)。
【0096】
このために、制御装置100の取得部110は、
図10の発送荷物テーブルから、第2荷物PC4の荷物ID「PC4」に対応付けられたユーザID「U4」と、第2荷物PC5の荷物ID「PC4」に対応付けられたユーザID「U4」と、を取得する。次に、生成部150は、第2荷物PC4の荷物ID「PC4」を含み、かつ、第2荷物PC4の回収要求が受け付けられなかったことを知らせる否受付通知を生成する。同様に、生成部150は、第2荷物PC5の否受付通知を生成する。その後、制御部180は、データ通信回路104aへ、第2荷物PC4の否受付通知を、取得されたユーザID「U4」で識別されるユーザU4の端末装置904を宛先として出力する。また、制御部180は、第2荷物PC5の否受付通知を、ユーザID「U5」で識別されるユーザU5の端末装置905を宛先として出力する。その後、制御装置100のデータ通信回路104aは、第2荷物PC4の否受付通知を端末装置904へ送信し、第2荷物PC5の否受付通知を端末装置905へ送信する。
【0097】
次に、制御装置100の制御部180は、第1荷物PD1の探出、運搬、及び、格納を指示する(ステップS17)。このために、取得部110は、
図9の配送予定テーブルに保存されたレコードを取得する。次に、制御部180は、取得されたレコードに保存されている第1荷物PD1の荷物ID「PD1」と、移動体600の機体ID「600」と、を含む、探出指示、運搬指示、及び、格納指示をディスプレイパネル105bに表示させる。探出指示とは、第1荷物PD1を配送拠点から探し出すことを指示する指示であり、運搬指示とは、探し出された第1荷物PD1を移動体600の位置まで運搬することを指示する指示であり、格納指示とは、運搬された第1荷物PD1を移動体600の格納庫620に格納することを指示する指示である。
【0098】
配送拠点の従業員は、探出指示、運搬指示、及び、格納指示を視認し、第1荷物PD1を配送拠点から探して移動体600の位置まで運搬する。その後、従業員は、第1荷物PD1を移動体600の格納庫620に格納させ、格納が終了したことを表す信号を出力させる操作を制御装置100の入力装置105cに行う。
【0099】
制御装置100の入力装置105cが当該操作に応じた信号を出力すると、生成部150は、
図17に示すような移動体600が備える受渡扉621ahと回収扉621acとの施錠を命じる施錠命令を生成する。施錠命令には、受渡扉621ahを識別する扉ID「621ah」と、回収扉621acを識別する扉ID「621ac」と、が含まれている。受渡扉621ahは、格納庫620が備える格納ボックス621の内部の空間の開口であり、かつ、第1荷物PD1の受け渡しに用いられる受渡口621ehを開閉する扉である。回収扉621acは、格納ボックス621の当該空間の開口であり、かつ、第2荷物PC1からPC3の回収に用いられる回収口621ecを開閉する扉である。受渡口621ehは、受取人が第1荷物PD1を受け取るためにも用いられるため、受取口とも称される。このため、受渡口621ehを開閉する受渡扉621ahは、受取扉とも称される。受渡口621ehは、回収口621ecを用いて回収された第2荷物PC1からPC3を従業員に受け渡すためにも用いられる。
【0100】
次に、制御装置100の制御部180は、生成された施錠命令を、移動体600を宛先としてデータ通信回路104aに出力する(ステップS18)。その後、制御装置100のデータ通信回路104aは、施錠命令を移動体600へ送信する。移動体600は、施錠命令を受信すると、受信された施錠命令に従って受渡扉621ahと回収扉621acとを施錠する。このようにして、制御装置100の制御部180は、受渡扉621ahを施錠させる制御と、回収扉621acを施錠させる制御と、を行う。
【0101】
次に、制御装置100は、第1荷物PD1の配送を移動体600にさせる、
図18に示すような配送制御処理を実行する(ステップS19)。配送制御処理の実行を開始すると、制御装置100の取得部110は、
図9の配送予定テーブルから、配送拠点の位置Sから配送先の位置D1へ到る配送経路PSD1を表す情報を取得する。次に、制御部180は、配送経路PSD1を表す情報を含み、かつ、当該配送経路PSD1を移動することを命じる移動命令を、移動体600を宛先としてデータ通信回路104aへ出力する(ステップS61)。その後、データ通信回路104aは、移動命令を移動体600へ送信する。このようにして、制御装置100の制御部180は、第1荷物PD1を格納した移動体600に、配送先の位置D1まで配送拠点の位置Sから移動させる移動制御を行う。
【0102】
次に、制御装置100の取得部110は、データ通信回路104aから到着報告を取得することを試行し、制御部180は、到着報告が取得されたか否かを判別する(ステップS62)。当該到着報告は、移動体600から受信される報告であり、かつ、配送先の位置D1に移動体600が到着したことを告げる報告である。このとき、制御部180は、到着報告が取得されなかったと判別すると(ステップS62;No)、予め定められた時間に亘ってスリープしてから、ステップS62の処理を繰り返す。
【0103】
これに対して、到着報告が取得されたと判別されると(ステップS62;Yes)、制御装置100の制御部180は、移動制御が終了したと判別する。次に、取得部110は、
図9の配送予定テーブルから、第1荷物PD1の荷物ID「PD1」、機体ID「600」、ユーザID「U1」、及び、配送先の位置D1の位置情報を取得する。その後、取得部110は、取得された位置D1を緯度、経度、及び、高度で表す位置情報と情報記憶部190が対応付けて記憶している位置D1を住所で表す情報を取得する。次に、生成部150は、取得された移動体600の機体ID「600」と、配送先の位置D1を住所で表す情報と、第1荷物PD1の荷物ID「PD1」と、を含み、移動体600が配送先の位置D1に到着したことを告げ、かつ、配送先の位置D1に滞在する移動体600から、第1荷物PD1を受け取ることを求める受取要求を生成する。
【0104】
その後、制御装置100の生成部150は、予め定められた規則、又は、ソフトウェア乱数に基づいて、第1荷物PD1の受け取りに用いられるパスワードを生成する。次に、生成部150は、生成されたパスワードを表す情報を含み、かつ、移動体600にパスワードを入力して認証を受けることを求めるメッセージを生成する。その後、生成部150は、生成された受取要求に対して、認証を求めるメッセージを追加する。次に、制御装置100の制御部180は、メッセージが追加された受取要求を、取得されたユーザID「U1」で識別されるユーザU1の端末装置901を宛先としてデータ通信回路104aへ出力する(ステップS63)。制御装置100のデータ通信回路104aは、出力された受取要求を端末装置901へ送信し、端末装置901は、受取要求を受信して表示する。
【0105】
受取要求が出力されると、制御装置100の制御部180は、不図示のハードウェアタイマー又はソフトウェアタイマーを用いて計時を開始する。次に、取得部110は、
図11の回収予定テーブルから、配送先の位置D1を表す位置情報が保存されているレコードを取得することを試行し、制御部180は、レコードが取得されるか否かに基づいて、配送先の位置D1が回収地点でもあるか否かを判別する(ステップS64)。本実施例では、レコードが取得されるため、制御部180は、移動体600の到着した配送先の位置D1が回収地点であると判別する(ステップS64;Yes)。
【0106】
次に、制御装置100の取得部110は、
図11の回収予定テーブルから、回収地点の位置D1を表す位置情報と対応付けられている荷物ID「PC1」とユーザID「U1」とを取得する。その後、生成部150は、回収地点の位置D1に滞在する移動体600に、第2荷物PC1を回収させることで、第2荷物PC1を発送するように求める発送要求を生成する。生成される発送要求には、取得された第2荷物PC1の荷物ID「PC1」と、移動体600の機体ID「600」と、回収地点の位置D1を住所で表す情報と、が含まれる。次に、制御部180は、発送要求を、取得されたユーザID「U1」で識別されるユーザU1の端末装置901を宛先としてデータ通信回路104aへ出力する(ステップS65)。その後、制御装置100のデータ通信回路104aは、出力された発送要求を端末装置901へ送信し、端末装置901は、発送要求を受信して表示する。
【0107】
本実施例では、受取人が、受取要求の出力から受渡時間「10分」を経過するよりも前に、第2荷物PC1を持って配送先の位置D1に現れる場合を具体例として挙げて以下の説明を行う。本実施例では、受取要求は、ステップS62で、移動体600が配送先の位置D1に到着したと判別された直後に実行されるステップS63で出力される。このため、受取要求が出力される時点は、移動体600が配送先の位置D1に到着した時点と同視できるので、受取要求の出力から受渡時間「10分」が経過するとは、配送先の位置D1への移動体600の到着時点から受渡時間「10分」が経過することを意味する。
【0108】
配送先の位置D1に現れた受取人は、端末装置901の表示を視認し、受取要求に従って、パスワードを入力させるための操作を、配送先の位置D1に滞在する移動体600に行う。移動体600は、当該操作に従って、入力されたパスワードを表す情報を含み、かつ、パスワードを用いた認証を行うことを要求する認証要求を制御装置100へ送信する。
【0109】
図18のステップS63で受取要求が出力された後、制御装置100の制御部180は、
図3のステップS13で取得された情報で表される受渡時間「10分」が、受取要求を出力してから経過したか否かを、計時時間に基づいて判別する(ステップS66)。このとき、受渡時間「10分」が経過していないと判別されると(ステップS66;No)、取得部110は、認証要求をデータ通信回路104aから取得することを試行する。
【0110】
このとき、制御装置100は、認証要求が取得されないと、ステップS66から上記の処理を繰り返す。これに対して、認証要求が取得されると、制御部180は、取得された認証要求に含まれる情報で表されるパスワードと、ステップS63で出力された受取要求に含まれる情報で表されるパスワードと、が一致するか否かに基づいて認証が成功したか否かを判別する(ステップS67)。このとき、これらのパスワードが一致しないため、認証が成功せず、失敗したと判別すると(ステップS67;No)、制御部180は、パスワード認証が失敗したことを告げる認証失敗報告を、移動体600を宛先としてデータ通信回路104aに出力する。その後、制御装置100は、ステップS66から上記処理を繰り返す。
【0111】
これに対して、制御装置100の制御部180は、2つのパスワードが一致するため、認証が成功したと判別すると(ステップS67;Yes)、受渡扉621ahの扉ID「621ah」を含み、かつ、受渡扉621ahの解錠を命じる解錠命令を、移動体600を宛先としてデータ通信回路104aへ出力する(ステップS68)。制御装置100のデータ通信回路104aは、受渡扉621ahの解錠命令を移動体600に送信し、移動体600は、受渡扉621ahの解錠命令を受信すると、受渡扉621ahを解錠して、第1荷物PD1を解放する。このようにして、制御装置100の制御部180は、受渡扉621ahを解錠させる制御を行う。
【0112】
その後、制御装置100の取得部110は、移動体600から受信された受渡報告をデータ通信回路104aから取得することを試行し、制御部180は、受渡報告が取得されたか否かを判別する(ステップS69)。受渡報告は、移動体600から受信される報告であり、かつ、第1荷物PD1が受取人に受け渡されたことを告げる報告である。このとき、制御装置100は、受渡報告が取得されなかったと判別すると(ステップS69;No)、予め定められた時間に亘ってスリープしてから、ステップS69の処理を繰り返す。
【0113】
これに対して、受渡報告が取得されたと判別されると(ステップS69;Yes)、制御装置100の制御部180は、受渡扉621ahの扉ID「621ah」を含み、かつ、受渡扉621ahを施錠することを命じる施錠命令を、移動体600を宛先としてデータ通信回路104aに出力する(ステップS70)。制御装置100のデータ通信回路104aは、施錠命令を移動体600へ送信し、移動体600は、施錠命令を受信すると、受信された施錠命令に従って受渡扉621ahを施錠する。
【0114】
その後、制御装置100の制御部180は、
図6の配送荷物テーブルにおいて、第1荷物PD1の荷物ID「PD1」と対応付けられている配送完了フラグの値を、配送が完了したことを表す値「true」に変更する(ステップS71)。次に、制御部180は、
図9の配送予定テーブルから、第1荷物PD1の荷物ID「PD1」が保存されているレコードを削除することで、第1荷物PD1の配送予定を表す情報を削除する(ステップS72)。その後、制御装置100は、配送制御処理の実行を終了する。
【0115】
図4のステップS19で配送制御処理が実行された後、制御装置100の取得部110は、
図6の配送荷物テーブルから、第1荷物PD1の荷物ID「PD1」と対応付けられた配送完了フラグを取得し、制御部180は、取得された配送完了フラグの値に基づいて、第1荷物PD1が受取人に受け渡されたか否かを判別する(ステップS20)。本実施例では、取得された配送完了フラグの値が「true」であるため、制御部180は、第1荷物PD1が受取人に受け渡されたと判別する(ステップS20;Yes)。次に、制御部180は、移動体600の格納庫620から第1荷物PD1が受取人によって受け取られたため、回収が予定されている第2荷物PC1からPC3を格納する空間が格納庫620に生じたと判別する。その後、制御装置100は、第2荷物PC1からPC3を移動体600に回収させる、
図19に示すような回収制御処理を実行する(ステップS21)。
【0116】
回収制御処理の実行を開始すると、制御装置100は、
図18のステップS64と同様の処理を実行することで、配送先の位置D1が回収地点でもあると判別する(ステップS81;Yes)。次に、制御部180は、回収扉621acの扉ID「621ac」を含み、かつ、回収扉621acの解錠を命じる解錠命令を、移動体600を宛先としてデータ通信回路104aへ出力する(ステップS82)。制御装置100のデータ通信回路104aは、回収扉621acの解錠命令を移動体600に送信し、移動体600は、回収扉621acの解錠命令を受信すると、回収扉621acを解錠する。このようにして、制御装置100の制御部180は、回収扉621acを解錠させて、移動体600の状態を、第2荷物PC1を回収可能な状態とする制御を行う。
【0117】
その後、制御装置100の取得部110は、移動体600から受信された回収報告をデータ通信回路104aから取得することを試行し、制御部180は、回収報告が取得されたか否かを判別する(ステップS83)。回収報告は、移動体600から受信される報告であり、かつ、第2荷物PC1が回収されたことを告げる報告である。このとき、制御装置100は、回収報告が取得されなかったと判別すると(ステップS83;No)、予め定められた時間に亘ってスリープしてから、ステップS83の処理を繰り返す。
【0118】
これに対して、回収報告が取得されたと判別されると(ステップS83;Yes)、制御装置100の制御部180は、回収扉621acの扉ID「621ac」を含み、かつ、回収扉621acを施錠することを命じる施錠命令を、移動体600を宛先としてデータ通信回路104aに出力する(ステップS84)。制御装置100のデータ通信回路104aは、施錠命令を移動体600へ送信し、移動体600は、施錠命令を受信すると、受信された施錠命令に従って回収扉621acを施錠する。その後、制御部180は、
図11の回収予定テーブルから、第2荷物PC1の回収地点の位置D1を表す位置情報が保存されているレコードを削除することで、第2荷物PC1の回収予定を表す情報を削除する(ステップS85)。
【0119】
次に、制御装置100の取得部110は、
図11の回収予定テーブルからレコードを取得することを試行し、制御部180は、レコードが取得されるか否かに基づいて、未実行の回収予定が存在するか否かを判別する(ステップS86)。本実施例では、2本のレコードが取得されるため、制御部180は、未実行の回収予定が存在すると判別する(ステップS86;Yes)。次に、制御部180は、取得された2本のレコードに保存されている情報で表され、かつ、「2」番の回収順番が設定された第2荷物PC2の回収予定と、「3」番の回収順番が設定された第2荷物PC3の回収予定と、の内で、最も早い回収順番が設定された第2荷物PC2の回収予定に注目する(ステップS87)。
【0120】
次に、制御装置100の取得部110は、第2荷物PC2の回収予定を表す情報が保存されているレコードから、第2荷物PC2の回収地点の位置D2に到る回収経路PD1D2を表す情報を取得する。次に、制御部180は、回収経路PD1D2を表す情報を含み、かつ、当該回収経路PD1D2を移動することを命じる移動命令を、移動体600を宛先としてデータ通信回路104aへ出力する(ステップS88)。その後、データ通信回路104aは、移動命令を移動体600へ送信する。このようにして、制御装置100の制御部180は、第2荷物PC1を回収した移動体600に、第2荷物PC1の回収地点の位置D1から、第2荷物PC2の回収地点の位置D2まで移動させる移動制御を行う。
【0121】
次に、制御装置100は、
図18のステップS62と同様の処理を実行することで、到着報告が取得されたか否かを判別する(ステップS89)。当該到着報告は、移動体600から受信される報告であり、かつ、回収地点の位置D2に移動体600が到着したことを告げる報告である。このとき、制御装置100は、到着報告が取得されなかったと判別すると(ステップS89;No)、予め定められた時間に亘ってスリープしてから、ステップS89の処理を繰り返す。
【0122】
これに対して、到着報告が取得されたと判別されると(ステップS89;Yes)、制御装置100の制御部180は、移動制御が終了したと判別する。次に、取得部110は、第2荷物PC2の回収予定を表す情報が保存されているレコードから、第2荷物PC2の荷物ID「PC2」、機体ID「600」、ユーザID「U2」、及び、回収位置の位置D2の位置情報を取得する。その後、取得部110は、取得された位置D2を緯度、経度、及び、高度で表す位置情報と情報記憶部190が対応付けて記憶している位置D2を住所で表す情報を取得する。次に、生成部150は、取得された移動体600の機体ID「600」と、回収地点の位置D2を住所で表す情報と、第2荷物PC2の荷物ID「PC2」と、を含み、移動体600が回収地点の位置D2に到着したことを告げ、かつ、回収地点の位置D2に滞在する移動体600に、第2荷物PC2を回収させることで、第2荷物PC2を発送するように求める発送要求を生成する。
【0123】
その後、制御装置100の生成部150は、予め定められた規則、又は、ソフトウェア乱数に基づいて、第2荷物PC2の回収に用いられるパスワードを生成する。次に、生成部150は、生成されたパスワードを表す情報を含み、かつ、移動体600にパスワードを入力して認証を受けることを求めるメッセージを生成する。その後、生成部150は、生成された発送要求に対して、認証を求めるメッセージを追加する。次に、制御装置100の制御部180は、メッセージが追加された発送要求を、取得されたユーザID「U2」で識別されるユーザU2の端末装置902を宛先としてデータ通信回路104aへ出力する(ステップS90)。制御装置100のデータ通信回路104aは、出力された発送要求を端末装置902へ送信し、端末装置902は、発送要求を受信して表示する。
【0124】
発送要求が出力されると、制御装置100の制御部180は、不図示のハードウェアタイマー又はソフトウェアタイマーを用いて計時を開始する。本実施例では、発送者が、回収時間「10分」を経過するよりも前に、第2荷物PC2を持って回収地点の位置D2に現れる場合を具体例として挙げて以下の説明を行う。発送者は、端末装置902の表示を視認し、発送要求に従って、パスワードを入力させるための操作を、回収地点の位置D2に滞在する移動体600に行う。移動体600は、当該操作に従って、入力されたパスワードを表す情報を含み、かつ、パスワードを用いた認証を行うことを要求する認証要求を制御装置100へ送信する。本実施例では、第2荷物PC2の発送者は、端末装置902を携帯するユーザU2であるが、これに限定される訳では無く、ユーザU2に第2荷物PC2の発送を依頼され、依頼を承諾した者であっても良い。
【0125】
図19のステップS90で発送要求が出力された後、制御装置100の制御部180は、
図3のステップS13で取得された情報によって表される回収時間「10分」が、発送要求を出力してから経過したか否かを、計時時間に基づいて判別する(ステップS91)。本実施例では、発送要求は、ステップS89で、移動体600が配送先の位置D2に到着したと判別された直後に実行されるステップS90で出力される。このため、発送要求が出力される時点は、移動体600が配送先の位置D2に到着した時点と同視できるので、発送要求の出力から回収時間「10分」が経過するとは、配送先の位置D2への移動体600の到着時点から回収時間「10分」が経過することを意味する。
【0126】
ステップS91において、回収時間「10分」が経過していないと判別されると(ステップS91;No)、取得部110は、認証要求をデータ通信回路104aから取得することを試行する。このとき、制御装置100は、認証要求が取得されないと、ステップS91から上記の処理を繰り返す。これに対して、認証要求が取得されると、制御部180は、取得された認証要求に含まれる情報で表されるパスワードと、ステップS90で出力された発送要求に含まれる情報で表されるパスワードと、が一致するか否かに基づいて認証が成功したか否かを判別する(ステップS92)。このとき、これらのパスワードが一致しないため、認証が成功せず、失敗したと判別すると(ステップS92;No)、制御部180は、パスワード認証が失敗したことを告げる認証失敗報告を、移動体600を宛先としてデータ通信回路104aに出力する。その後、制御装置100は、ステップS91から上記処理を繰り返す。
【0127】
これに対して、制御装置100は、2つのパスワードが一致するため、認証が成功したと判別すると(ステップS92;Yes)、ステップS82からS85と同様の処理を実行する(ステップS93からS96)。これにより、制御装置100は、回収扉621acの解錠を命じる解錠命令を移動体600へ送信してから、第2荷物PC2が回収されたことを告げる回収報告を取得する。次に、制御装置100は、回収扉621acの施錠を命じる施錠命令を移動体600へ送信してから、第2荷物PC2の配送予定を表す情報を、
図11の回収予定テーブルから削除する。その後、制御装置100は、ステップS86から上記処理を繰り返す。
【0128】
ステップS86において、制御装置100は、
図11の回収予定テーブルから、第2荷物PC3の回収予定を表す情報が保存されているレコードが取得されるため、未実行の回収予定が存在すると判別する(ステップS86;Yes)。次に、制御装置100は、第2荷物PC3の回収予定に注目し(ステップS87)、注目された第2荷物PC3の回収予定を表す情報が保存されているレコードから、第2荷物PC3の回収地点の位置D3に到る回収経路PD2D3を表す情報を取得する。その後、制御装置100は、回収経路PD2D3を表す情報を含み、かつ、当該回収経路PD2D3を移動することを命じる移動命令を、移動体600へ送信する(ステップS88)。次に、制御装置100は、到着報告が取得されたと判別すると(ステップS89;Yes)、第2荷物PC3の発送要求を端末装置903へ送信する(ステップS90)。端末装置903は、発送要求を受信して表示する。
【0129】
本実施例では、第2荷物PC3の発送者が、回収時間「10分」を経過するよりも前に、第2荷物PC3を持って回収地点の位置D3に現れる場合を具体例として挙げて以下の説明を行う。発送者は、端末装置903に表示された発送要求に従って、パスワードを入力させるための操作を、回収地点の位置D3に滞在する移動体600に行う。移動体600は、当該操作に従って、入力されたパスワードを表す情報を含む認証要求を制御装置100へ送信する。
【0130】
その後、制御装置100は、発送要求を出力してから回収時間「10分」が経過していないと判別すると(ステップS91;No)、認証要求を取得する。次に、制御装置100は、取得された認証要求に含まれる情報で表されるパスワードに基づいて認証が成功したと判別すると(ステップS92;Yes)、回収扉621acの解錠を命じる解錠命令を移動体600へ送信する(ステップS93)。その後、制御装置100は、第2荷物PC3が回収されたことを告げる回収報告を取得しないと(ステップS94;No)、予め定められた時間に亘ってスリープした後に、ステップS94の処理を繰り返す。これに対して、制御装置100は、回収報告を取得すると(ステップS94;Yes)、回収扉621acの施錠を命じる施錠命令を移動体600へ送信してから(ステップS95)、第2荷物PC3の配送予定を表す情報を、
図11の回収予定テーブルから削除する(ステップS96)。その後、制御装置100は、ステップS86から上記処理を繰り返す。
【0131】
ステップS86において、制御装置100は、
図11の回収予定テーブルからレコードが取得されないため、未実行の回収予定が存在ないと判別すると(ステップS86;No)、回収制御処理の実行を終了する。
【0132】
図4のステップS21において、回収制御処理の実行が行われた後、制御装置100の取得部110は、回収地点の位置D3から発送拠点の位置Sへ到る帰還経路PD3Sを表す情報を情報記憶部190から取得する。次に、制御部180は、生成された帰還経路PD3Sを表す情報を含み、かつ、帰還経路PD3Sを移動して発送拠点の位置Sまで帰還することを命じる移動命令を、移動体600を宛先としてデータ通信回路104aへ出力する(ステップS22)。制御装置100のデータ通信回路104aは、当該移動命令を移動体600へ送信する。このようにして、制御部180は、回収地点の位置D3から発送拠点の位置Sへ帰還させる帰還制御を移動体600に行う。
【0133】
次に、制御装置100は、
図18のステップS62と同様の処理を実行することで、発送拠点の位置Sに移動体600が到着したことを告げる到着報告が取得されたか否かを判別する(ステップS23)。このとき、制御装置100は、到着報告が取得されなかったと判別すると(ステップS23;No)、予め定められた時間に亘ってスリープしてから、ステップS23の処理を繰り返す。これに対して、到着報告が取得されたと判別されると(ステップS23;Yes)、制御装置100の制御部180は、帰還制御が終了したと判別する。次に、制御部180は、受渡扉621ahの解錠命令を、移動体600を宛先としてデータ通信回路104aに出力する(ステップS24)。その後、制御装置100は、ステップS01から上記処理を繰り返す。
【0134】
移動体600が発送拠点の位置Sに到着すると、従業員は、移動体600の受渡扉621ahを開け、受渡口621ehを用いて、格納ボックス621から第2荷物PC1からPC3を受け取る。次に、従業員は、第2荷物PC1からPC3にそれぞれ貼付されている伝票に記載された配送先の住所を確認する。次に、従業員は、確認された住所で表される配送先を管轄地域に含む別の配送拠点まで、例えば、ドラックを含む自動車を運転して配送する従業員に、第2荷物PC1からPC3を受け渡す。
【0135】
移動体600は、例えば、無人地上車両であり、無人で地上を走行可能な走行機である。移動体600は、
図17に示すような車輪601及び602を含む複数の車輪を備える車台610と、車台610の上面に設置された格納庫620と、格納庫620に内蔵された制御装置690と、を備える。
【0136】
移動体600の格納庫620は、不図示の箱体を有する格納ボックス621を備える。格納ボックス621の箱体は、不図示の1枚の背板、前板、底板、天板、左側板、及び、右側板を備え、これらの板により閉塞された空間を形成している。底板と天板とは、互いに平行となり、かつ、背板及び前板と垂直となるように、背板及び前板に固定されている。また、左側板及び右側板は、底板及び天板、並びに、背板及び前板と垂直となり、かつ、前板から背板に向かって左側板の方が右側板よりも左に位置するように、底板及び天板、並びに、背板及び前板に固定されている。
【0137】
格納ボックス621の前板には、箱体の内部の空間の開口である、受渡口621ehと回収口621ecとが設けられている。格納ボックス621の受渡口621ehは、格納ボックス621の内部の空間に格納された第1荷物PD1を受取人に受け渡すために用いられ、回収口621ecは、第2荷物PC1からPC3を回収するために用いられる。本実施例では、第1荷物PD1が受渡口621ehを用いて受け渡された後に、第2荷物PC1からPC3が回収口621ecを用いて回収されるため、第2荷物PC1からPC3は、第1荷物PD1が格納されていた格納ボックス621の内部の空間に格納される。
【0138】
格納ボックス621の回収口621ecは、受渡口621ehよりも底板から遠い位置に設けられている。また、格納ボックス621を備える格納庫620は、格納ボックス621の底板の外側の面が車台610の上面と接するように、車台610に固定されている。このため、回収口621ecは、受渡口621ehの上方に設けられている。本実施例では、回収口621ecは、受渡口621ehの直上に設けられているが、これに限定される訳では無く、斜め上に設けられていても良い。
【0139】
本実施例では、第2荷物PC1が回収口621ecを用いて回収された後に、第2荷物PC2が回収口621ecを用いて回収され、かつ、第2荷物PC2が回収口621ecを用いて回収された後に、第2荷物PC3が回収口621ecを用いて回収される。このため、格納ボックス621の内部の空間では、1番に回収された第2荷物PC1の上に、2番に回収された第2荷物PC2が格納され、かつ、2番に回収された第2荷物PC2の上に、3番に回収された第2荷物PC3が格納される。格納ボックス621の受渡口621ehは、格納ボックス621の内部の空間に格納された第2荷物PC1からPC3を従業員に受け渡すためにも用いられる。
【0140】
格納ボックス621の前板に設けられた受渡口621ehには、受渡口621ehを開閉する、
図17に示すような受渡扉621ahと、受渡扉621ahを受け止める扉枠621bhと、が設置されている。受渡口621ehを用いた荷物の取り出しを受渡扉621ahが阻害することを抑制するため、受渡扉621ahは、格納ボックス621の外側に向かって開くが、内側に向かって開かないように、格納ボックス621の前板に設置されている。このために、受渡扉621ahの高さ及び幅の少なくとも1つは、受渡口621ehの高さ及び幅の少なくとも1つよりも長く設計されており、かつ、受渡口621ehは、例えば、蝶番等の固定金具によって、格納ボックス621の前板の外側の面に、開閉可能に固定されている。しかし、これに限定される訳では無く、受渡扉621ahは、格納ボックス621の外側に向かっても、内側に向かっても開くように、前板に設置されていても良いし、格納ボックス621の内側に向かって開くように、前板に設置されていても良い。
【0141】
格納ボックス621の受渡扉621ahは、カンヌキであるデッドボルト621chを、受渡扉621ahの内側の面に備え、扉枠621bhは、デッドボルト621chの受座であるストライク621dhを備える。また、受渡扉621ahは、移動体600の制御装置690から出力される信号に従って、デッドボルト621chをストライク621dhへ挿入させる不図示のモータを、受渡扉621ahの内側の面にさらに備えている。モータは、例えば、ステッピングモータであり、ステッピングモータの不図示のシャフトには、デッドボルト621chの第1の端部が固定されている。モータは、制御装置690から出力される信号に従って、予め定められた角度だけ、予め定められた方向(以下、施錠方向という)へシャフトを回転させる。これにより、シャフトと固定されているデッドボルト621chの第1の端部を中心として、予め定められた方向へデッドボルト621chが揺動させられると、第1の端部と対向するデッドボルト621chの第2の端部が、ストライク621dhへ挿入させられる。デッドボルト621chの第2の端部がストライク621dhへ挿入されると、格納ボックス621の受渡扉621ahが施錠される。
【0142】
これに対して、当該モータは、制御装置690から出力される信号に従って、施錠方向と逆方向(以下、解錠方向という)へ、予め定められた角度だけ、シャフトを回転させることで、デッドボルト621chの第2の端部をストライク621dhから抜出させる。デッドボルト621chがストライク621dhから抜出されると、格納ボックス621の受渡扉621ahが解錠される。
【0143】
格納ボックス621の前板に設けられた回収口621ecには、回収口621ecを開閉する回収扉621acと、回収扉621acを受け止める扉枠621bcと、が設置されている。回収口621ecを用いた荷物の回収を回収扉621acが阻害することを抑制し、かつ、回収口621ecを用いた荷物の取り出しを抑制するため、回収扉621acは、格納ボックス621の内側に向かって開き、かつ、外側に向かって開かないように、格納ボックス621の前板に設置されている。このために、回収扉621acの高さ及び幅の少なくとも1つは、回収口621ecの高さ及び幅の少なくとも1つよりも長く設計されており、かつ、回収扉621acは、例えば、蝶番等の固定金具によって、格納ボックス621の前板の内側の面に、開閉可能に固定されている。
【0144】
格納ボックス621の回収扉621acは、不図示のデッドボルトとモータとを、受渡扉621ahの内側の面に備える。扉枠621bcは、デッドボルトが挿入される不図示のストライクを備える。回収扉621acが備えるデッドボルト及びモータの構成及び機能は、受渡扉621ahが備えるデッドボルト621ch、及び、モータの構成及び機能と同様である。扉枠621bcが備えるストライクの構成及び機能は、扉枠621bhが備えるストライク621dhの構成及び機能と同様である。
【0145】
移動体600は、車台610の前面に設置されたLiDAR(Light Detection and Ranging)センサ641と、車台610の後面に設置された不図示のLiDARセンサと、をさらに備える。移動体600が備える前面のLiDARセンサ641は、移動体600の前方向を基準の方位として用いる場合に、当該基準の方位となす方位角が-90度から+90度まで、かつ、移動体600の前方向となす仰角が-90度から+90度までの範囲に含まれる複数の方向へレーザー光を照射する。前面のLiDARセンサ641は、照射されたレーザー光の反射光を受光し、レーザー光の照射から反射光の受光までの時間に基づいて、レーザー光が反射された複数の反射点までの距離を計測する。次に、前面のLiDARセンサ641は、レーザー光の照射方向と計測された距離とに基づいて、移動体600の中心点を原点として用いた三次元座標系における座標値を、複数の反射点について算出する。その後、前面のLiDARセンサ641は、算出された複数の反射点の座標値を移動体600の制御装置690へ出力する。
【0146】
移動体600が備える後面のLiDARセンサは、移動体600の後方向を基準の方位として用いる場合に、当該基準の方位となす方位角が-90度から+90度まで、かつ、移動体600の後方向となす仰角が-90度から+90度までの範囲に含まれる複数の方向へ赤外線のレーザー光を照射する。また、後面のLiDARセンサは、照射されたレーザー光の複数の反射点について移動体600の三次元座標系における座標値を算出し、算出された複数の反射点の座標値を移動体600の制御装置690へ出力する。
【0147】
移動体600が備える前面のLiDARセンサ641及び後面のLiDARセンサが複数の反射点の座標値を制御装置690へ出力するのは、例えば、障害物等の物体を回避して走行するために、移動体600の制御装置690が、移動体600を基準として用いた全方向にある物体の三次元空間における座標値及びサイズ等を特定するためである。
【0148】
移動体600の制御装置690は、
図20に示すようなハードウェアであるCPU691、RAM692、ROM693a、フラッシュメモリ693b、データ通信回路694a、ビデオカード695a、ディスプレイパネル695b、入力装置695c、位置計測回路696、入出力ポート698、及び、駆動回路699を備える。本実施例では、移動体600は、1つのCPU691を備えるが、複数のCPUを備えても良い。また、移動体600は、複数のRAM及びフラッシュメモリを備えても良い。
【0149】
移動体600が備えるCPU691、RAM692、ROM693a、データ通信回路694a、ビデオカード695a、及び、ディスプレイパネル695bの構成及び機能は、制御装置100が備えるCPU101、RAM102、ROM103a、データ通信回路104a、ビデオカード105a、及び、ディスプレイパネル105bの構成及び機能と同様である。移動体600が備えるフラッシュメモリ693bは、各種のプログラムと、プログラムの実行に用いられる各種のデータ及びデータが保存されたテーブルと、を記憶している。入力装置695cは、タッチパッド、及び、ボタンの少なくとも1つであり、従業員及びユーザU1からU6のいずれかの操作に応じた信号を出力する。
【0150】
移動体600の位置計測回路696は、QZSS(Quasi-Zenith Satellite System)回路である。位置計測回路696は、準天頂衛星から発せられた信号を受信し、受信された信号に基づいて移動体600の位置を表す緯度、経度、及び、高度を計測し、計測された緯度、経度、及び、高度を表す信号を出力する。位置計測回路696は、QZSS回路ではなく、GPS(Global Positioning System)衛星から発せられたGPS信号を受信し、受信されたGPS信号に基づいて移動体600の位置を表す緯度、経度、及び、高度を計測するGPS回路であっても良い。
【0151】
移動体600の入出力ポート698は、前面のLiDARセンサ641及び後面のLiDARセンサとそれぞれ接続された不図示のケーブルに接続されている。入出力ポート698は、前面のLiDARセンサ641及び後面のLiDARセンサがそれぞれ出力する座標値を表す信号をCPU691へ入力する。
【0152】
移動体600の駆動回路699は、複数の車輪を回転させる不図示のモータにそれぞれ接続された不図示のケーブルに接続されている。駆動回路699は、CPU691が出力する制御信号に従って当該モータを駆動させることで、複数の車輪を回転させる。また、移動体600の駆動回路699は、格納ボックス621の受渡扉621ah及び回収扉621acが備える不図示のモータに接続されたケーブルに接続されている。駆動回路699は、CPU691が出力する信号に従ってこれらのモータを駆動させることで、格納ボックス621の受渡扉621ah及び回収扉621acをそれぞれ施錠又は解錠する。
【0153】
図4のステップS17で行われる指示に従って、移動体600の格納ボックス621に第1荷物PD1が格納された後、移動体600のデータ通信回路694aは、ステップS18で出力された施錠命令を受信する。データ通信回路694aが施錠命令を受信すると、移動体600のCPU691は、不図示の施錠処理を実行することで、
図21に示すような取得部681及び制御部688として機能する。施錠処理の実行が開始されると、移動体600の取得部681は、データ通信回路694aから施錠命令を取得し、取得された施錠命令に含まれている扉ID「621ah」と扉ID「621ac」とを取得する。その後、移動体600の制御部688は、取得された扉ID「621ah」で識別される格納ボックス621の受渡扉621ahと、扉ID「621ac」で識別される回収扉621acと、を施錠させる制御信号を駆動回路699へ出力する。これにより、移動体600の制御部688は、格納ボックス621の受渡扉621ahと回収扉621acとを施錠させる制御を行う。
【0154】
その後、移動体600のデータ通信回路694aが、
図18のステップS61で送信された移動命令を制御装置100から受信すると、移動命令に従って、配送拠点の位置Sから配送先の位置D1へ移動するため、移動体600のCPU691は、
図22に示すような移動処理を実行する。移動処理の実行を開始すると、移動体600の取得部681は、データ通信回路694aから移動命令を取得し(ステップS101)、取得された移動命令から配送経路PSD1を表す情報を取得する(ステップS102)。
【0155】
次に、移動体600の制御部688は、位置計測回路696から出力される信号に基づいて、移動体600の緯度、経度、及び、高度を特定する。その後、制御部688は、特定された緯度、経度、及び、高度と、配送経路PSD1に含まれる1又は複数の未到着のノードの内で最も到着順が早いノードの緯度、経度、及び、高度と、の相違を縮小させるように移動するための制御信号を生成する。その後、制御部688は、生成された制御信号を駆動回路699へ出力する(ステップS103)。これにより、移動体600は、複数の車輪を回転させて、配送経路PSD1を順行移動する。
【0156】
その後、移動体600の制御部688は、配送経路に含まれる1又は複数のノードの全てに到着したか否かに基づいて、配送経路PSD1の終点である配送先の位置D1に到着したか否かを判別する(ステップS104)。このとき、制御部688は、1又は複数のノードの全てに到着した訳ではないため、終点に到着していないと判別すると(ステップS104;No)、ステップS103から上記処理を繰り返す。
【0157】
これに対して、移動体600の制御部688は、1又は複数のノードの全てに到着したため、終点に到着したと判別すると(ステップS104;Yes)、複数の車輪の回転を停止させるための制御信号を駆動回路699へ出力する。これにより、移動体600は、配送経路PSD1の終点で駐車又は停車を行うことで、当該終点での滞在を開始する。その後、制御部688は、移動体600が当該終点に到着したことを告げる到着報告を、制御装置100を宛先としてデータ通信回路694aへ出力してから(ステップS105)、移動処理の実行を終了する。その後、移動体600のデータ通信回路694aは、制御装置100へ到着報告を送信する。
【0158】
配送先の位置D1に移動体600が到着すると、位置D1で移動体600を待っていた、又は、移動体600の到着後に位置D1に到着した受取人は、パスワードを入力するための操作を移動体600に行う。移動体600の入力装置695cが、ユーザの操作に応じた信号を出力すると、移動体600のCPU691は、第1荷物PD1をユーザに受け渡すため、
図23に示すような受渡処理を実行する。受渡処理の実行を開始すると、移動体600の取得部681は、入力装置695cが出力する信号に基づいて、入力されたパスワードを表す情報を取得する(ステップS111)。次に、制御部688は、取得されたパスワードを表す情報を含み、かつ、パスワードを用いた認証を要求する認証要求を、制御装置100を宛先としてデータ通信回路694aへ出力する(ステップS112)。移動体600のデータ通信回路694aは、認証要求を制御装置100へ送信する。
【0159】
移動体600の制御部688は、無応答の場合、又は、失敗応答の場合に、パスワード認証が失敗したと判別する(ステップS113;No)。無応答の場合とは、認証要求を出力してから、予め定められた時間が経過しても、パスワード認証が失敗したことを告げる認証失敗報告、及び、パスワード認証が成功した場合に送信される解錠命令のどちらもデータ通信回路694aが受信しない場合である。失敗応答の場合とは、認証要求を出力してから予め定められた時間が経過する前に、認証失敗報告をデータ通信回路694aが受信する場合である。その後、制御部688は、認証が失敗したことを知らせるメッセージと、パスワードの再入力を促すメッセージと、をディスプレイパネル695bに表示させた後に(ステップS114)、ステップS111から上記処理を繰り返す。
【0160】
これに対して、移動体600の制御部688は、認証要求を出力してから予め定められた時間が経過する前に、受渡扉621ahの解錠命令をデータ通信回路694aが受信する場合に、パスワード認証が成功したと判別する(ステップS113;Yes)。その後、移動体600の取得部681は、データ通信回路694aから、受渡扉621ahの解錠命令を取得し(ステップS115)、取得された解錠命令から扉ID「621ah」を取得する。その後、制御部688は、取得された扉ID「621ah」で識別される受渡扉621ahを解錠させる制御信号を駆動回路699へ出力する。これにより、移動体600の制御部688は、格納ボックス621の受渡扉621ahを解錠させる制御を行う(ステップS116)。
【0161】
受取人は、解錠された格納ボックス621の受渡扉621ahを引き開け、受渡口621ehを通じて、格納ボックス621に格納された第1荷物PD1を取り出して受け取る。その後、受取人は、受け取りの完了を表す信号を出力させるための操作を入力装置695cに行う。移動体600の制御部688は、入力装置695cが受け取りの完了を表す信号を出力したか否かに基づいて、第1荷物PD1の受取人への受け渡しが完了したか否かを判別する(ステップS117)。このとき、制御部688は、受け取りの完了を表す信号が出力されていないと、第1荷物PD1の受け渡しが完了していないと判別する(ステップS117;No)。次に、制御部688は、予め定められた時間に亘りスリープした後に、ステップS117の処理を繰り返す。これに対して、制御部688は、受け取りの完了を表す信号が出力されていると、第1荷物PD1の受け渡しが完了したと判別する(ステップS117;Yes)。次に、制御部688は、第1荷物PD1が受取人へ受け渡されたことを告げる受渡報告を、制御装置100を宛先としてデータ通信回路694aへ出力する(ステップS118)。その後、移動体600のデータ通信回路694aは、受渡報告を制御装置100へ送信する。
【0162】
その後、
図18のステップS70で出力された命令であり、かつ、受渡扉621ahの施錠を命じる施錠命令を移動体600のデータ通信回路694aが受信すると、移動体600の取得部681は、データ通信回路694aから、受渡扉621ahの施錠命令を取得し(ステップS119)、取得された施錠命令に含まれる扉ID「621ah」を取得する。次に、その後、制御部688は、取得された扉ID「621ah」で識別される受渡扉621ahを施錠させる制御信号を駆動回路699へ出力する。これにより、移動体600の制御部688は、格納ボックス621の受渡扉621ahを施錠させる制御を行う(ステップS120)。その後、制御部688は、受渡処理の実行を終了する。
【0163】
その後、第1荷物PD1の配送先であり、かつ、第2荷物PC1の回収地点でもある位置D1に滞在する移動体600は、
図19のステップS84で出力された命令であり、かつ、回収扉621acの解錠を命じる解錠命令を、データ通信回路694aを用いて受信する。次に、移動体600の取得部681は、データ通信回路694aから、回収扉621acの解錠命令を取得し、取得された解錠命令から扉ID「621ac」を取得する。その後、制御部688は、取得された扉ID「621ac」で識別される回収扉621acを解錠させる制御信号を駆動回路699へ出力する。これにより、移動体600の制御部688は、格納ボックス621の回収扉621acを解錠させる制御を行う。
【0164】
第2荷物PC1の発送人であるユーザU1は、解錠された格納ボックス621の回収扉621acを開け、回収口621ecを通じて、第2荷物PC1を格納ボックス621に押し込むことで、移動体600に第2荷物PC1を回収させる。これにより、発送人は、第2荷物PC1の発送を完了する。次に、発送人は、発送の完了を表す信号を出力させるための操作を入力装置695cに行う。その後、移動体600の制御部688は、入力装置695cが発送の完了を表す信号を出力したか否かに基づいて、回収が完了したか否かを判別する処理を実行する。このとき、制御部688は、発送の完了を表す信号が出力されていないと、回収が完了していないと判別する。次に、制御部688は、予め定められた時間に亘りスリープした後に、回収が完了したか否かを判別する処理を繰り返す。これに対して、制御部688は、入力装置695cが発送の完了を表す信号を出力すると、回収が完了したと判別する。次に、第2荷物PC1が回収されたことを告げる回収報告を、制御装置100を宛先としてデータ通信回路694aへ出力する。その後、移動体600のデータ通信回路694aは、回収報告を制御装置100へ送信する。
【0165】
その後、
図19のステップS84で出力された命令であり、かつ、回収扉621acの施錠を命じる施錠命令を移動体600のデータ通信回路694aが受信すると、移動体600の取得部681は、データ通信回路694aから、回収扉621acの施錠命令を取得し、取得された施錠命令に含まれる扉ID「621ac」を取得する。次に、その後、移動体600の制御部688は、取得された扉ID「621ac」で識別される回収扉621acを施錠させる制御信号を駆動回路699へ出力する。これにより、移動体600の制御部688は、格納ボックス621の回収扉621acを施錠させる制御を行う。
【0166】
その後、移動体600のデータ通信回路694aが、
図19のステップS88で送信された移動命令を制御装置100から受信すると、移動命令に従って、第2荷物PC1の回収地点の位置D1から、第2荷物PC2の回収地点の位置D2へ移動するため、移動体600のCPU691は、
図22に示した移動処理を実行する。これにより、移動体600は、位置D1から位置D2へ移動し、位置D2に到着すると、位置D2に到着したことを告げる到着報告を制御装置100へ送信する。
【0167】
回収地点の位置D2に移動体600が到着すると、位置D2で移動体600を待っていた、又は、移動体600の到着後に位置D2に到着した発送者は、パスワードを入力するための操作を移動体600に行う。移動体600の入力装置695cが、ユーザの操作に応じた信号を出力すると、移動体600のCPU691は、第2荷物PC2を回収するため、
図24に示すような回収処理を実行する。
【0168】
回収処理の実行を開始すると、移動体600は、
図23のステップS111からS113と同様の処理を実行する。これにより、移動体600は、入力装置695cが出力する信号に基づいてパスワードを表す情報を取得し(ステップS121)、パスワードを表す情報を含む認証要求を制御装置100へ送信し(ステップS122)、無応答の場合、又は、失敗応答の場合に、パスワード認証が失敗したと判別する(ステップS123;No)。その後、移動体600は、
図23のステップS114と同様の処理を実行することで、認証が失敗したことを知らせるメッセージと、パスワードの再入力を促すメッセージと、を表示した後に(ステップS124)、ステップS121から上記処理を繰り返す。
【0169】
これに対して、移動体600は、認証要求を出力してから予め定められた時間が経過する前に、回収扉621acの解錠命令を受信する場合に、パスワード認証が成功したと判別する(ステップS123;Yes)。その後、移動体600は、
図23のステップS115及びS126と同様の処理を実行する。これにより、移動体600は、回収扉621acの解錠命令を取得し(ステップS125)、解錠命令に従って回収扉621acを解錠させる(ステップS126)。
【0170】
第2荷物PC2の発送人は、解錠された格納ボックス621の回収扉621acを開け、回収口621ecを用いて、移動体600に第2荷物PC2を回収させることで、第2荷物PC2の発送を完了する。次に、発送人は、発送の完了を表す信号を出力させるための操作を入力装置695cに行う。
【0171】
移動体600の制御部688は、入力装置695cが回収の完了を表す信号を出力したか否かに基づいて、第2荷物PC2の回収が完了したか否かを判別する(ステップS127)。このとき、制御部688は、回収の完了を表す信号が出力されていないと、第2荷物PC2の回収が完了していないと判別する(ステップS127;No)。次に、制御部688は、予め定められた時間に亘りスリープした後に、ステップS127の処理を繰り返す。これに対して、制御部688は、回収の完了を表す信号が出力されていると、第2荷物PC2の回収が完了したと判別する(ステップS127;Yes)。次に、移動体600は、
図23のステップS118からS120の処理と同様の処理を実行する。これにより、移動体600は、第2荷物PC2が回収されたことを告げる回収報告を制御装置100へ送信してから(ステップS128)、
図19のステップS95で出力された命令であり、かつ、回収扉621acの施錠を命じる施錠命令を取得する(ステップS129)。その後、移動体600は、施錠命令に従って回収扉621acを施錠してから(ステップS130)、回収処理の実行を終了する。
【0172】
その後、移動体600は、
図19のステップS88で送信された移動命令を受信すると、移動命令に従って、第2荷物PC2の回収地点の位置D2から、第2荷物PC3の回収地点の位置D3へ移動するため、
図22に示した移動処理を実行する。位置D3に移動体600が到着すると、位置D3で移動体600を待っていた、又は、移動体600の到着後に位置D3に到着した発送者は、パスワードを入力するための操作を移動体600に行う。移動体600の入力装置695cが、ユーザの操作に応じた信号を出力すると、移動体600は、
図24に示した回収処理を実行することで、発送者から第2荷物PC3を回収する。
【0173】
その後、移動体600は、
図4のステップS22で送信された移動命令を受信すると、当該移動命令に従って、第2荷物PC3の回収地点の位置D3から、第2荷物PC1からPC3の発送拠点の位置Sへ移動するため、
図22に示した移動処理を実行する。移動体600は、位置Sに到着してから、ステップS24で出力された命令であり、かつ、受渡扉621ahの解錠を命じる解錠命令を受信すると、受渡扉621ahを施錠する。その後、発送拠点の従業員は、受渡扉621ahを引き開け、受渡口621ehを用いて、第2荷物PC1からPC3を受け取る。
【0174】
移動体700の構成及び機能は、移動体600の構成及び機能と同様である。本実施例では、移動体700の移動速度は、移動体600の移動速度と同じであるが、これに限定される訳では無く、移動体700の移動速度は、移動体600の移動速度よりも速くても遅くても良い。端末装置901は、例えば、スマートフォン、又は、タブレット型若しくはノートブック型のパーソナルコンピュータである。端末装置902から906の構成及び機能は、端末装置901の構成及び機能と同様である。端末装置901は、ハードウェアである不図示のCPU、RAM、ROM、フラッシュメモリ、データ通信回路、音声通信回路、ビデオカード、ディスプレイパネル、入力装置、位置計測回路、スピーカ、及び、マイクロフォンを備える。端末装置901は、複数のCPUを備えても良いし、複数のRAM及びフラッシュメモリを備えても良い。
【0175】
端末装置901のCPU、RAM、ROM、フラッシュメモリ、データ通信回路、ビデオカード、ディスプレイパネル、入力装置、及び、位置計測回路の構成及び機能は、移動体600のCPU691、RAM692、ROM693a、フラッシュメモリ693b、データ通信回路694a、ビデオカード695a、ディスプレイパネル695b、入力装置695c、及び、位置計測回路696の構成及び機能と同様である。
【0176】
端末装置901の音声通信回路は、不図示の基地局と電波を用いた音声通信を行う。端末装置901のスピーカは、CPUが出力する信号に従って音声を出力し、端末装置901のマイクロフォンは、端末装置901の周囲の音声を表す信号を出力する。
【0177】
これらの構成によれば、制御装置100は、回収が要求された第2荷物PC1からPC5のサイズをそれぞれ表すサイズ情報を取得する取得部110を備える。また、制御装置100は、取得されたサイズ情報に基づいて、移動体600が回収可能な荷物の個数を算出し、算出された個数に基づき回収経路を表す情報を生成する生成部150を備える。さらに、制御装置100は、生成された情報で表される回収経路を移動体600に移動させる制御を行う制御部180を備える。このため、制御装置100は、移動体600による荷物の回収効率の低下を抑制できる。
【0178】
また、これらの構成によれば、回収経路は、第1荷物PD1の配送先の位置D1から、第2荷物PC2の回収地点の位置D2を通り、第2荷物PC2の配送拠点の位置Sへ到る経路である。このため、制御装置100は、第1荷物PD1を配送することで移動体600の状態を荷物が格納されていない空き状態とした後に、第1荷物PD1の配送先の位置D1から始まる回収経路を移動体600に移動させることで、第2荷物PC2を移動体600に回収させることができる。よって、制御装置100は、例えば、移動体600に第1荷物PD1の配送をさせ、かつ、移動体700に第2荷物PC2の回収をさせる場合と比べて、荷物の回収効率の低下をより抑制できる。
【0179】
さらに、これらの構成によれば、制御装置100の取得部110は、移動体600の格納庫620のサイズを表すサイズ情報を取得する。また、取得部110は、第2荷物PC1からPC5のそれぞれについて、サイズ情報と、回収地点の位置を表す位置情報と、を取得する。また、制御装置100は、取得された第2荷物PC1からPC5のサイズ情報と、格納庫620のサイズ情報と、に基づいて、回収が要求される第2荷物PC1からPC5の内で、格納庫620に格納可能な1又は複数の第2荷物の組み合わせCB1からCB7を特定する特定部130を備える。制御装置100の生成部150は、特定された組み合わせBC1からBC7にそれぞれ含まれる第2荷物の個数を算出することで、移動体600が回収可能な第2荷物の個数を算出する。また、制御装置100は、特定された組み合わせCB1からCB7から、算出された個数に基づいて移動体600に回収させる第2荷物の組み合わせCB3を選択する選択部120を備える。さらに、制御装置100の生成部150は、取得された第2荷物PC1からPC3の位置情報に基づいて、選択された組み合わせCB3に含まれる第2荷物PC1からPC3を回収させるために移動体600に移動させる回収経路を表す情報を生成する。このため、制御装置100は、組み合わせに含まれる第2荷物の個数に基づいて、移動体600に回収させる第2荷物の組み合わせを選択するため、移動体600による荷物の回収効率の低下を抑制できる。
【0180】
また、これらの構成によれば、制御装置100は、算出された個数がより多い組み合わせ程、より高い優先度を組み合わせに設定する設定部140を備え、選択部120は、設定された優先度に基づいて、特定された組み合わせCB1からCB7から、移動体600に回収させる第2荷物の組み合わせCB3を選択する。このため、制御装置100は、組み合わせに含まれる第2荷物の個数がより多い組み合わせ程、移動体600に回収させる第2荷物の組み合わせとしてより優先して選択するため、移動体600による荷物の回収効率の低下を抑制できる。
【0181】
さらに、これらの構成によれば、制御装置100の取得部110は、第2荷物PC1からPC5のそれぞれについて、サイズ情報と、回収地点の位置情報と、発送期限を表す期限情報と、を取得する。また、生成部150は、移動体600が第1荷物PD1を配送先の位置D1へ配送する配送日時「1日 13:00」を表す情報を生成する。さらに、設定部140は、取得された第2荷物PC1からPC5の期限情報に基づいて、組み合わせに含まれる第2荷物の発送期限が、生成された情報で表される配送日時「1日 13:00」により近い程、補正前よりもより高い値に優先度を補正する。このため、制御装置100は、移動体600による第1荷物PD1の配送日時に発送期限がより近い第2荷物を含む組み合わせ程、移動体600に回収させる第2荷物の組み合わせとしてより優先して選択するため、発送期限がより近い第2荷物をより優先して移動体600に回収せることができる。よって、制御装置100は、移動体600による回収が発送期限よりも遅くなること、及び、発送期限を徒過してから移動体600によって第2荷物が回収されるまでの期間が長くなることを抑制できる。
【0182】
また、これらの構成によれば、制御装置100の取得部110は、情報記憶部190から、配送日時「1日 13:00」との相違が、予め定められた時間長「1週間」よりも短い発送期限を表す、第2荷物PC2からPC6の期限情報を取得する。制御装置100の設定部140は、取得された第2荷物PC2からPC6の期限情報に基づいて、発送期限が配送日時「1日 13:00」により近い程、より高い優先度を第2荷物PC2からPC6に設定する。選択部120は、設定された優先度に基づいて、第2荷物PC2を選択し、取得部110は、選択された第2荷物PC2を識別する荷物ID「PC2」と対応付けられたユーザID「U2」を取得する。データ通信回路104aは、取得されたユーザID「U2」で識別されるユーザU2の端末装置902へ回収可能通知を送信する。このため、制御装置100は、移動体600による第1荷物PD1の配送日時に発送期限が近い第2荷物PC2を発送するユーザU2を優先して、第2荷物PC2の回収が可能であることを知らせることができる。
【0183】
さらに、これらの構成によれば、制御装置100の取得部110は、第2荷物を識別する荷物IDと、第2荷物の発送期限を表す期限情報と、第2荷物を発送するユーザを識別するユーザIDと、を対応付けて記憶している情報記憶部190から、生成された情報で表される配送日時「1日 13:00」との相違が、予め定められた時間長「1週間」よりも短い発送期限を表す期限情報と対応付けられたユーザID「U1」を取得する。また、制御装置100は、取得されたユーザID「U1」によって識別されるユーザU1の端末装置901へ、移動体600が第2荷物PC1を、配送日時以降「1日 13:00」に回収可能であることを知らせる回収可能通知を送信するデータ通信回路104aを備える。このため、制御装置100は、発送期限が近い第2荷物PC1を移動体600に回収させて発送することをユーザU1に促すことができる。
【0184】
また、これらの構成によれば、制御装置100の情報記憶部190は、第2荷物PC2を識別する荷物ID「PC2」と対応付けて、第2荷物PC2の回収地点の位置D2を表す位置情報をさらに記憶している。また、制御装置100の取得部110は、取得されたユーザID「U2」と情報記憶部190が対応付けて記憶する回収地点の位置D2を表す位置情報を取得し、かつ、第1荷物PD1の配送先の位置D1を表す位置情報を取得する。さらに、制御装置100の生成部150は、取得された第1荷物PD1の配送先の位置D1を表す位置情報と、第1荷物PD1の配送日時「1日 13:00」を表す情報と、第2荷物PC2の回収地点の位置D2を表す位置情報と、に基づいて、移動体600が第2荷物PC2の回収地点へ到着する時間帯「1日 13:20-14:20」を表す情報を生成する。また、制御装置100のデータ通信回路104aは、生成された情報で表される時間帯「1日 13:20-14:20」に、移動体600が第2荷物PC2を回収可能であることを知らせる回収可能通知を、ユーザU2の端末装置902へ送信する。このため、制御装置100は、移動体600が到着し、第2荷物PC2の回収が行われる時間帯「1日 13:20-14:20」をユーザU2に知らせることができるため、ユーザU2の利便性を向上できる。
【0185】
さらに、これらの構成によれば、移動体600は、第1荷物PD1の受け渡しに用いられる受渡口621ehと、第2荷物PC1及びPC2の回収に用いられ、かつ、第2荷物PC1及びPC2の取り出しを不可とする回収口621ecと、を設けた格納ボックス621を備える。このため、移動体600は、ユーザU1から第2荷物PC1を回収した後に、ユーザU2から第2荷物PC2を回収する場合であっても、回収された第2荷物PC1がユーザU2によって、例えば、誤って受け取られる、紛失される、又は、盗難されることを抑制できる。すなわち、移動体600は、複数のユーザの第2荷物の回収が行われる場合であってもセキュリティの低下を抑制できる。
【0186】
また、移動体600は、セキュリティの低下を抑制しながら、複数のユーザから回収された第2荷物PC1及びPC2を同一の格納ボックス621に格納することで、格納ボックス621の格納効率を向上できる。格納ボックス621の格納効率は、単位時間当たり移動体600が格納している荷物の個数で表されるが、これに限定される訳では無く、単位移動時間当たり移動体600が格納している荷物の個数、又は、単位移動距離当たり移動体600が格納している荷物の個数で表されても良い。
【0187】
これらの構成によれば、回収口621ecは、受渡口621ehの上方に設けられている。また、受渡口621ehと、回収口621ecと、は、格納ボックス621の内側の同じ空間の開口である。ここで、格納ボックス621に第2荷物PC1が格納されており、かつ、第2荷物PC2を格納可能な空間が格納ボックス621の内部に存在する場合、第2荷物PC2を格納可能な空間は、第2荷物PC1が格納されている空間よりも上方に位置する。これらのため、受渡口621ehの上方に設けられていない回収口と比べて、受渡口621ehの上方に設けられている回収口621ecは、第2荷物PC2を格納可能な空間に近い。よって、回収口621ecが受渡口621ehの上方に設けられている格納ボックス621は、回収口621ecが受渡口621ehの上方に設けられていない格納ボックスと比べて、より多くの荷物を回収可能である。
【0188】
さらに、これらの構成によれば、移動体600の格納ボックス621は、受渡口621ehを開閉する受渡扉621ahと、回収口621ecを開閉する回収扉621acと、を備える。また、移動体600は、第1荷物PD1の配送先の位置D1へ移動体600を移動させる制御を行う制御部688を備える。移動体600の制御部688は、配送先の位置D1へ移動体600を移動させる制御を行う前に、受渡扉621ahを施錠させる制御と、回収扉621acを施錠させる制御と、を行う。また、制御部180は、移動体600が配送先の位置D1に到着した後に、第1荷物PD1の受取人の認証が成功すると、受渡扉621ahを解錠させる制御を行い、かつ、第1荷物PD1が受け渡されると、受渡扉621ahを施錠させる制御を行う。このため、移動体600は、第1荷物PD1の配送途中に、第1荷物PD1が、例えば、誤って受け取られる、紛失される、又は、盗難されることを抑制できるので、セキュリティの低下を抑制できる。また、移動体600は、第1荷物PD1が受け渡された後に、受渡口621ehを通じて、格納が予定されていない物が格納ボックス621へ入れられることを抑制できる。格納が予定されていない物は、回収が予定されている第2荷物以外の荷物を含む。また、回収が予定されていない物は、例えば、ゴミ、危険物、毒物、及び、格納ボックス621に格納されている荷物を破損若しくは汚損するおそれのある物の少なくとも1つを含む。荷物を破損若しくは汚損するおそれのある物は、例えば、水、氷、油、火、排泄物、及び、死骸の少なくとも1つを含む。
【0189】
また、これらの構成によれば、移動体600の制御部688は、位置D1が第2荷物PC1の回収地点であり、かつ、第1荷物PD1の配送先でもある場合に、第1荷物PD1が受け渡されると、回収扉621acを解錠させる制御を行い、かつ、第2荷物PC1が回収されると、回収扉621acを施錠させる制御を行う。このため、移動体600は、第1荷物PD1が受け渡される前、及び、第2荷物PC1が回収された後に、回収口621ecを通じた第1荷物PD1の取り出し、及び、第2荷物PC1の取り出しを抑制できる。また、移動体600は、第1荷物PD1が受け渡される前、及び、第2荷物PC1が回収された後に、回収口621ecを通じて、回収が予定されていない物が格納ボックス621へ入れられることを抑制できる。
【0190】
さらに、これらの構成によれば、移動体600の制御部688は、第1荷物PD1の配送先の位置D1から、配送先の位置D1と異なる地点であり、かつ、第2荷物PC2の回収地点の位置D2へ移動体600を移動させる制御を行う。また、制御部688は、位置D2に到着した後に、第2荷物PC2を発送する発送人の認証が成功すると、回収扉621acを解錠させる制御を行い、かつ、第2荷物PC2が回収されると、回収扉621acを施錠させる制御を行う。このため、移動体600は、第1荷物PD1を配送することで、移動体600の状態を荷物が格納されていない空き状態とした後に、又は、第1荷物PD1を配送することで、配送前と比べて荷物が格納されていない空間を増やした後に、第2荷物PC2を回収できるので、荷物の回収効率の低下を抑制できる。
【0191】
また、これらの構成によれば、移動体600の受渡口621ehは、第2荷物PC1からPC3の受け渡しに用いられ、移動体600の制御部688は、第2荷物PC1からPC3の配送拠点に到着すると、受渡扉621ahを解錠させる制御を行う。このため、移動体600は、回収された第2荷物PC1からPC3が、配送拠点へ配送される途中で、例えば、誤って受け取られる、紛失される、又は、盗難されることを抑制できるので、セキュリティの低下を抑制できる。
【0192】
また、これらの構成によれば、制御システム1は、第1荷物PD1の受け渡しに用いられる受渡口621ehと、第2荷物PC1の回収に用いられ、かつ、第2荷物PC1の取り出しを不可とする回収口と、を設けた格納ボックス621を備える移動体600を備える。また、制御システム1は、第1荷物PD1の配送先の位置D1へ移動体600を移動させる制御を行う制御装置100の制御部180を備える。移動体600の格納ボックス621は、受渡口621ehを開閉する受渡扉621ahと、回収口621ecを開閉する回収扉621acと、を備える。また、制御装置100の制御部180は、配送先の位置D1へ移動体600を移動させる制御を行う前に、受渡扉621ahを施錠させる制御と、回収扉621acを施錠させる制御と、を行う。さらに、制御部180は、移動体600が配送先の位置D1に到着した後に、第1荷物PD1の受取人の認証が成功すると、受渡扉621ahを解錠させる制御を行い、かつ、第1荷物PD1が受け渡されると、受渡扉621ahを施錠させる制御を行う。このため、移動体600は、第1荷物PD1の配送途中に、第1荷物PD1が、例えば、誤って受け取られる、紛失される、又は、盗難されることを抑制できるので、セキュリティの低下を抑制できる。
【0193】
<実施例1の変形例1>
実施例1では、受取人が、予め定められた受渡時間を経過するよりも前に、配送先の位置D1に現れる場合を具体例として挙げて説明を行った。これに対して、本変形例では、受取人が、受渡時間を経過しても配送先の位置D1に現れない場合を具体例として挙げて説明を行う。
【0194】
図18のステップS66において、制御装置100は、受取要求を出力してから受渡時間が経過したと判別すると(ステップS66;Yes)、ステップS72の処理を実行した後に、配送制御処理の実行を終了する。制御装置100は、
図4のステップS19で配送制御処理を実行した後に、第1荷物PD1が受取人に受け渡されなかったと判別する(ステップS20;No)。次に、制御装置100の取得部110は、
図11の回収予定テーブルから荷物ID「PC1」から「PC3」を取得し、制御部180は、取得された荷物ID「PC1」から「PC3」でそれぞれ識別される第2荷物PC1からPC3の回収を行わないことを決定する。このように決定されるのは、移動体600の格納ボックス621に第1荷物PD1が格納されているため、第2荷物PC1からPC3を回収して格納するのに十分な空間が格納ボックス621に無いためである。また、このように決定されるのは、第2荷物PC1からPC3のいずれかを回収して格納するための空間が格納ボックス621にある場合であっても、格納ボックス621の内部の空間で、回収された第2荷物PC1からPC3のいずれかと第1荷物PD1とが衝突等することで、第1荷物PD1が破損することを防止するためである。
【0195】
その後、制御装置100の取得部110は、回収予定テーブルから荷物ID「PC1」と対応付けられたユーザID「U1」を取得する。次に、生成部150は、第2荷物PC1の荷物ID「PC1」を含み、かつ、第2荷物PC1の回収が中止されたことを告げる回収中止報告を生成する。その後、制御部180は、取得されたユーザID「U1」で識別されるユーザU1の端末装置901を宛先として、生成された第2荷物PC1の回収中止報告をデータ通信回路104aへ出力する。制御装置100のデータ通信回路104aは、回収中止報告を端末装置901へ送信する。同様に、制御装置100は、第2荷物PC2の回収中止報告と、第2荷物PC3の回収中止報告と、を生成し、第2荷物PC2の回収中止報告を、ユーザU2の端末装置902へ送信し、第2荷物PC3の回収中止報告を、ユーザU3の端末装置903へ送信する。その後、制御装置100は、
図4のステップS22から移動制御処理の実行を継続することで、拠点の位置Sへ移動体600を帰還させる。
【0196】
<実施例1の変形例2>
実施例1の変形例1では、制御装置100は、移動体600に格納された第1荷物PD1が受取人に受け渡されなかったと判別すると(
図4のステップS20;No)、第2荷物PC1からPC3の回収を中止することを決定すると説明した。しかし、本変形例では、制御装置100は、移動体600に格納された第1荷物PD1が受取人に受け渡されなかったと判別すると(ステップS20;No)、第2荷物PC1からPC3の回収を、移動体600の代替機である移動体700に行わせることを決定する。
【0197】
その後、本変形例に係る制御装置100のCPU101は、
図19に示した回収制御処理を実行せず、
図25に示すような代替回収制御処理を、
図3及び
図4に示した移動制御処理を実行するプロセス又はスレッドと異なるプロセス又はスレッドで実行する。その後、制御装置100は、ステップS22から移動制御処理の実行を継続する。これにより、制御装置100の制御部180は、ステップS35で生成された情報であり、かつ、第1荷物PD1の配送先の位置D1から拠点の位置Sへ到る帰還経路PD1Sを表す情報を含む移動命令を、移動体600を宛先としてデータ通信回路104aへ出力する。このようにして、制御部180は、配送先の位置D1から拠点の位置Sへ移動体600を帰還させる制御を行う。これに対して、制御部180は、第2荷物PC2の回収経路PD1D2と、第2荷物PC3の回収経路PD2D3と、帰還経路PD3Sと、を含む回収経路(以下、第1回収経路とも称する)を移動させる制御を行わない。第1回収経路は、第1荷物PD1の配送先の位置D1から、第2荷物PC2の回収地点の位置D2と、第2荷物PC3の回収地点の位置D3と、を順に通り、第2荷物PC2及びPC3の配送拠点の位置Sへ到る回収経路である。このため、制御部180は、配送先の位置D1から第2荷物PC2及びPC3の回収地点を経由して拠点の位置Sへ移動体600を帰還させる制御を行わない。
【0198】
代替回収制御処理の実行を開始すると、制御装置100は、
図19のステップS81と同様の処理を実行することで、配送先の位置D1が回収地点でもあると判別する(ステップS131;Yes)。次に、制御装置100の制御部180は、
図11の回収予定テーブルから、配送先の位置D1を表す位置情報が保存されているレコードを削除する(ステップS132)。これにより、第1荷物PD1の配送先の位置D1で、第1荷物PD1の受取人であり、かつ、第2荷物PC1の発送人である人物から、第2荷物PC1を回収するという予定であり、かつ、「1」番に実行される回収予定を表す情報が削除される。
【0199】
次に、制御装置100は、
図19のステップS86と同様の処理を実行することで、未実行の回収予定が存在すると判別する(ステップS133;Yes)。次に、制御装置100の取得部110は、回収予定テーブルから、荷物ID「PC2」及び「PC3」を取得し、
図10の発送荷物テーブルから、荷物ID「PC2」及び「PC3」にそれぞれ対応付けられたサイズ情報を取得する。また、取得部110は、
図8の移動体テーブルから、移動体700の機体ID「700」と対応付けられたサイズ情報を取得する。その後、制御部180は、荷物ID「PC2」及び「PC3」でそれぞれ識別される第2荷物PC2及びPC3のサイズ情報と、移動体700のサイズ情報と、に基づいて、移動体700が第2荷物PC2及びPC3を格納可能であるか否かを判別する(ステップS134)。本変形例では、第2荷物PC2のサイズ情報は、数字「2」を用いて第2荷物PC2のサイズ「中」を表し、第2荷物PC3のサイズ情報は、数字「1」を用いて第2荷物PC3のサイズ「小」を表す。また、移動体700のサイズ情報は、数字「3」を用いて格納庫720のサイズ「小」を表す。このため、制御部180は、第2荷物PC2のサイズ情報が用いる数字「2」と、第2荷物PC3のサイズ情報が用いる数字「1」と、の和が、移動体700のサイズ情報が用いる数字「3」以下であるため、移動体700の格納庫720に、第2荷物PC2及びPC3を格納可能であると判別する(ステップS134;Yes)。
【0200】
次に、制御装置100は、
図19のステップS87と同様の処理を実行することで、実行順番が最も早い未実行の回収予定に注目する(ステップS135)。本変形例では、「2」番に実行される回収予定について注目されるため、取得部110は、
図11の回収予定テーブルから、「2」番を表す情報と対応付けられている第2荷物PC2の回収地点の位置D2を表す位置情報を取得する。次に、制御装置100の生成部150は、
図3のステップS04で説明した処理と同様の処理を実行することで、移動体700の位置から回収地点の位置D2へ到る回収経路を表す情報を生成する。本変形例では、移動体700は、拠点の位置Sに停車しているため、生成部150は、拠点の位置Sから回収地点の位置D2へ到る、
図12に示すような回収経路PSD2を表す情報を生成する。次に、制御部180は、回収予定テーブルから、「2」番を表す情報と対応付けられている情報であり、かつ、配送先の位置D1から第2荷物PC2の回収地点の位置D2へ到る回収経路PD1D2を表す情報を、移動体700の位置Sから回収地点の位置D2へ到る回収経路PSD2を表す情報に変更する(ステップS136)。
【0201】
このようにして、第2荷物PC2及びPC3の回収に用いられる経路が、第1回収経路から第2回収経路へ変更される。第1回収経路は、回収経路PD1D2、回収経路PD2D3、及び、帰還経路PD3Sを含み、第1荷物PD1の配送先の位置D1から、第2荷物PC2の回収地点の位置D2及び第2荷物PC3の回収地点の位置D3を通り、第2荷物PC2及びPC3の配送拠点の位置Sへ到る経路である。また、第2回収経路は、回収経路PSD2、回収経路PD2D3、及び、帰還経路PD3Sを含み、移動体700の位置Sから、回収地点の位置D2及びD3を通り、配送拠点の位置Sへ到る経路である。
【0202】
その後、制御装置100は、
図19のステップS86からS96と同様の処理を実行した後に(ステップS137からS147)、代替回収制御処理の実行を終了する。これにより、制御装置100は、第2荷物PC2の回収地点の位置D2へ移動体700を移動させる制御を行った後に、第2荷物PC2を回収させるための制御を移動体700に行う。次に、制御装置100は、第2荷物PC2の回収地点の位置D2から、第2荷物PC3の回収地点の位置D3へ移動体700を移動させる制御を行った後に、第2荷物PC3を回収させるための制御を移動体700に行う。
【0203】
これらの構成によれば、制御装置100の制御部180は、第1荷物PD1を格納した移動体600を配送先の位置D1へ移動させる制御を行う。また、制御部180は、配送先の位置D1への移動体600の到着時点から予め定められた受渡時間「10分」が経過する以前に、第1荷物PD1の受け渡しが行われると、第1荷物PD1の配送先の位置D1から、第2荷物PC2の回収地点の位置D2を通り、第2荷物PC2の配送拠点の位置Sへ到る第1回収経路を移動体600に移動させる制御を行う。さらに、制御部180は、配送先の位置D1への移動体600の到着時点から予め定められた受渡時間「10分」が経過する以前に、第1荷物PD1の受け渡しが行われないと、移動体600に対して、第1回収経路を移動させる制御を行わない。またさらに、制御部180は、移動体700に対して、移動体700の位置Sから、第2荷物PC2の回収地点の位置D2を通り、第2荷物PC2の配送拠点の位置Sへ到る第2回収経路を移動させる制御を行う。このため、制御装置100は、移動体600に格納された第1荷物PD1が受け渡されなかったため、第2荷物PC2を格納可能な空間が移動体600に存在せず、移動体600が第2荷物PC2を回収できない場合であっても、移動体700を第2荷物PC2の回収地点の位置D2へ移動させることができる。このため、制御装置100は、移動体700に第2荷物PC2を回収させることができる。
【0204】
<実施例1の変形例3>
実施例1の変形例2では、制御装置100の選択部120は、移動体600の代替機として機能する移動体700の位置Sに基づかずに、移動体600に回収させる第2荷物PC1からPC3を選択すると説明した。しかし、本変形例では、選択部120は、移動体700の位置Sに基づいて移動体600に回収させる第2荷物を選択する。
【0205】
このために、本変形例に係る制御装置100は、
図13のステップS33で、第1荷物PD1の配送先で回収される第2荷物PC1を選択した後に、ステップS34及びS35で、配送先と異なる回収地点で回収される第2荷物PC2からPC6の優先度を設定及び補正する。その後、制御装置100の設定部140は、第2荷物PC2からPC6の内で、未注目の第2荷物の1つに注目する処理を実行する。本変形例では、第2荷物PC2が注目された場合を具体例として以下の説明を行う。
【0206】
次に、制御装置100の設定部140は、注目された第2荷物PC2の優先度を、第1荷物PD1の配送先の位置D1から第2荷物PC2の回収地点の位置D2までの不図示の距離DD1D2と、移動体700の位置Sから位置D2までの不図示の距離DSD2と、の相違がより小さい程、補正前よりもより高い値となるように補正する。このように優先度が補正されるのは、移動体600の移動速度と移動体700の移動速度とが等しい場合、距離DD1D2と距離DSD2との相違がより小さい程、回収地点の位置D2への移動体600の到着日時と移動体700の到着日時との相違がより小さいためである。すなわち、到着日時の相違が小さいのであれば、移動体600に回収を行わせても、移動体700に回収を行わせても、回収が行われる回収時間帯の相違が小さくなるため、発送者の利便性の低下を抑制できる。このため、距離の相違がより小さい回収地点で回収される第2荷物程、回収をより優先する必要があるからである。移動体600の到着日時とは、移動体600に格納される第1荷物PD1が配送先の位置D1で受取人に受け渡される場合に、移動体600が第2荷物PC2を回収するために回収地点の位置D2へ到着する日時である。また、移動体700の到着日時とは、第1荷物PD1が受け渡されない場合に、第2荷物PC2を回収するために、移動体600に代わって移動体700が位置D2へ到着する日時である。
【0207】
注目された第2荷物PC2の優先度を補正するために、制御装置100の設定部140は、配送先の位置D1を表す情報と、第2荷物PC2の回収地点の位置D2を表す位置情報と、に基づいて、第1荷物PD1の配送先の位置D1から、第2荷物PC2の回収地点の位置D2までの距離DD1D2を算出する。距離DD1D2は、位置D1と位置D2との直線距離、二乗距離、又は、マンハッタン距離と称されるレクティリニア距離であっても良いし、位置D1から位置D2に到る回収経路PD1D2の距離であっても良い。
【0208】
また、制御装置100の取得部110は、移動体700が停車している拠点の位置Sを表す位置情報を情報記憶部190から取得し、設定部140は、位置Sを表す位置情報と、位置D2を表す位置情報と、に基づいて、移動体700の位置Sから、第2荷物PC2の回収地点の位置D2までの距離DSD2を算出する。距離DSD2は、直線距離、二乗距離、又は、レクティリニア距離であっても良いし、位置Sから位置D2に到る回収経路PSD2の距離であっても良い。その後、設定部140は、位置D1から位置D2までの距離DD1D2から、位置Sから位置D2までの距離DSD2を減算することで得られる値の絶対値を、これらの距離の相違として算出する。次に、設定部140は、算出された相違に、予め定められた正の定数C6を加算し、加算することで得られる値の逆数を算出する。その後、設定部140は、算出された逆数に予め定められた正の重付係数α4を乗算することで得られる補正値Δだけ補正前よりも高い値に、第2荷物PC2の優先度を補正する。好適な定数C6の値、及び、好適な重付係数α4の値は、当業者が実験により定めることができる。次に、制御部180は、第2荷物PC2の荷物ID「PC2」と、第2荷物PC2の補正値Δを表す情報と、を対応付けて情報記憶部190に保存する。
【0209】
その後、制御装置100は、第1荷物PD1の配送先と異なる回収地点で回収される第2荷物PC2からPC6の内で、未注目の第2荷物が存在しなくなるまで、未注目の第2荷物の1つに注目する処理から上記処理を繰り返す。これにより、設定部140は、第2荷物PC2からPC6の優先度を、配送先の位置D1から回収地点までの距離と、移動体700の位置Sから回収地点までの距離と、の相違がより小さい程、補正前よりもより高い値に補正する。
【0210】
その後、制御装置100の選択部120は、第2荷物PC2からPC6から、優先度に基づいて予め定められた個数の第2荷物を選択することで(ステップS36)、配送先からの距離と移動体700からの距離との相違がより小さい回収地点で回収される第2荷物をより優先して選択する。本変形例では、実施例1と同様に、第2荷物PC2からPC5が選択された場合を具体例として挙げて以下の説明を行う。
【0211】
その後、制御装置100は、第2荷物PC1の回収地点の位置D1への移動体600の到着日時「1日 13:00」に基づいて第2荷物PC1の回収時間帯「1日 13:00-14:00」を設定する。また、制御装置100は、同様に、第2荷物PC2からPC5の回収時間帯を設定する(ステップS37)。次に、制御装置100のデータ通信回路104aは、選択された第2荷物PC1を発送するユーザU1の端末装置901へ、設定された回収時間帯「1日 13:00-14:00」を表す情報を含む回収可能通知を送信する。同様に、制御装置100は、選択された第2荷物PC2からPC5を発送するユーザU2からU5の端末装置902から905へ、設定された回収時間帯を表す情報を含む回収可能通知を送信する(ステップS38)。
【0212】
本変形例では、制御装置100の選択部120は、移動体700の位置Sに基づいて移動体600に回収させる第2荷物の組み合わせを選択する。このために、
図15のステップS46の処理が実行された後に、ステップS42の処理の実行によって特定された組み合わせCB1からCB7の内で、未注目の組み合わせの1つに注目する処理を実行する。本変形例では、組み合わせCB3が注目された場合を具体例として以下の説明を行う。
【0213】
次に、制御装置100の取得部110は、
図9の配送予定テーブルから、配送先の位置D1を表す情報を取得する。その後、制御部180は、注目された組み合わせCB3に含まれる第2荷物PC1からPC3の内で、未注目の第2荷物の1つに注目する処理を実行する。本変形例では、第2荷物PC1が注目された場合を具体例として以下の説明を行う。
【0214】
制御装置100の取得部110は、注目された第2荷物PC2の荷物ID「PC1」と対応付けられた第2荷物PC1の補正値Δを表す情報を情報記憶部190から取得することを試行する。このとき、設定部140は、第2荷物PC1の補正値Δを表す情報が取得されないため、第2荷物PC1の補正値Δを最小の補正値「0」に設定する。
【0215】
次に、制御装置100は、未注目の第2荷物の1つに注目する処理から上記処理を繰り返す。本変形例では、第2荷物PC2が注目された場合を具体例として以下の説明を行う。取得部110は、注目された第2荷物PC2の荷物ID「PC2」と対応付けられた第2荷物PC2の補正値Δを表す情報を情報記憶部190から取得する。その後、制御装置100は、注目された組み合わせCB3に含まれる第2荷物PC1からPC3の内で、未注目の第2荷物が存在しなくなるまで、未注目の第2荷物の1つに注目する処理から上記処理を繰り返す。これにより、取得部110は、第2荷物PC3の補正値Δを表す情報を取得する。
【0216】
その後、制御装置100の設定部140は、最小の補正値に設定された第2荷物PC1の補正値Δと、取得された情報で表される第2荷物PC2の補正値Δと、第2荷物PC3の補正値Δと、の内で、最大の値Δmaxを、注目された組み合わせCB3の優先度に加算することで、優先度を補正する。このように優先度が補正されるのは、配送先の位置D1と異なる回収地点で回収される第2荷物PC2及びPC3の内で、最大の補正値Δmaxが算出された第2荷物の回収地点は、配送先の位置D1からの距離と、移動体700の位置Sからの距離と、の相違が最小だからである。すなわち、補正値Δmaxが算出された第2荷物の回収順番を、第2荷物PC3の回収順番よりも早い順番に設定すれば、移動体600の移動速度と移動体700の移動速度とが等ければ、第2荷物PC2の回収地点の位置D2において、移動体600の到着日時と移動体700の到着日時との相違が最小になるからである。また、本変形例では、移動体600と移動体700とは、回収経路PD2D3を通って、第2荷物PC2の回収地点の位置D2から、第2荷物PC3の回収地点の位置D3へ移動する。このため、移動体600の移動速度と移動体700の移動速度とが等ければ、第2荷物PC2の回収地点の位置D2だけでなく、第2荷物PC3の回収地点の位置D3においても、移動体600の到着日時と移動体700の到着日時との相違が最小になるからである。
【0217】
その後、制御装置100は、組み合わせCB1からCB7の内で、未注目の組み合わせが存在しなくなるまで、未注目の組み合わせの1つに注目する処理を実行する。これにより、設定部140は、組み合わせCB3の優先度と同様に、組み合わせCB1、CB2、及び、CB4からCB7の優先度を補正する。
【0218】
その後、制御装置100の選択部120は、組み合わせCB1からCB7の優先度に基づいて、組み合わせCB1からCB7から、移動体600に回収させる第2荷物の組み合わせを選択する(ステップS47)。これにより、選択部120は、第1荷物PD1の配送先の位置D1と異なる回収地点であり、かつ、配送先の位置D1からの距離と、移動体700の位置Sからの距離と、の相違がより小さい回収地点で回収される第2荷物を含む組み合わせをより優先して選択する。本変形例では、実施例1と同様に、組み合わせCB3が選択された場合を具体例として挙げて以下の説明を行う。
【0219】
本変形例では、制御装置100の設定部140は、移動体700の位置Sに基づいて、移動体600が第2荷物を回収する回収順番を設定する。このために、制御装置100は、
図16の回収順番設定処理の実行を開始すると、第1荷物PD1の配送先の位置D1で回収される第2荷物PC1の回収順番を1番に設定する(ステップS51及びS52)。次に、制御装置100は、第1荷物PD1の配送先と異なる回収地点で回収される第2荷物PC2及びPC3の優先度を設定する(ステップS53及びS54)。
【0220】
その後、制御装置100の取得部110は、第2荷物PC2の荷物ID「PC2」に対応付けられた第2荷物PC2の補正値Δを表す情報と、第2荷物PC3の荷物ID「PC3」に対応付けられた第2荷物PC3の補正値Δを表す情報と、を情報記憶部190から取得する。次に、設定部140は、取得された情報で表される第2荷物PC2の補正値Δだけ補正前よりも高い値に第2荷物PC2の優先度を補正し、第2荷物PC3の補正値Δだけ補正前よりも高い値に第2荷物PC3の優先度を補正する。
【0221】
その後、制御装置100の設定部140は、第2荷物PC2及びPC3の優先度に基づいて、第2荷物PC2及びPC3の回収順番を、2番以降の順番に設定してから(ステップS55)、回収順番設定処理の実行を終了する。本変形例では、設定部140は、優先度がより高い第2荷物程、より早い2番以降の回収順番を設定する。すなわち、第1荷物PD1の配送先の位置D1からの距離と、移動体700の位置Sからの距離と、の相違が最も短い回収地点で回収される第2荷物に、2番以降で最も早い回収順番「2」番を設定する。本変形例では、第2荷物PC2の優先度の方が第2荷物PC3の優先度よりも高いため、第2荷物PC2の回収順番を「2」番に設定し、第2荷物PC3の回収順番を「3」番に設定する。
【0222】
図3のステップS12で回収順番設定処理を実行した後に、制御装置100は、ステップS13の処理を実行する。これにより、制御装置100は、移動体600が1番の回収場所の位置D1に到着する到着日時「1日 13:00」に基づいて、第2荷物PC1の回収時間帯「1日 13:10-13:20」を設定する。同様に、制御装置100は、移動体600が2番の回収場所の位置D2に到着する到着日時「1日 13:30」に基づいて、第2荷物PC2の回収時間帯「1日 13:30-13:40」を設定する。また同様に、制御装置100は、移動体600が3番の回収場所の位置D3に到着する到着日時「1日 13:50」に基づいて、第2荷物PC3の回収時間帯「1日 13:50-14:00」を設定する。
【0223】
その後、制御装置100は、第2荷物PC1の回収時間帯「1日 13:10-13:20」を表す情報を含む受付通知を、第2荷物PC1を発送するユーザU1の端末装置901へ送信する。同様に、制御装置100は、第2荷物PC2の回収時間帯「1日 13:30-13:40」を表す情報を含む受付通知を、第2荷物PC2を発送するユーザU2の端末装置902へ送信する。また同様に、制御装置100は、第2荷物PC3の回収時間帯「1日 13:50-14:00」を表す情報を含む受付通知を、第2荷物PC3を発送するユーザU3の端末装置903へ送信する(ステップS14)。
【0224】
これらの構成によれば、制御装置100の取得部110は、移動体700の位置Sを表す位置情報を取得する。また、設定部140は、取得された移動体700の位置情報と、配送先の位置情報と、第2荷物PC2の回収地点を表す位置情報と、に基づいて、配送先の位置D1と異なる回収地点の位置D2で回収される第2荷物PC2の優先度を、配送先の位置D1から回収地点の位置D2までの距離DD1D2と、移動体700の位置Sから回収地点の位置D2までの距離DSD2と、の相違がより小さい程、補正前よりもより高い値に補正する。また、選択部120は、設定された優先度に基づいて、第2荷物PC2を選択し、第2荷物PC2を発送するユーザU2の端末装置902へ回収可能通知を送信する。このため、制御装置100は、移動体600が回収を行う場合と、移動体700が回収を行う場合と、で、回収が行われる時間帯の相違がより小さい回収地点の位置D2で第2荷物PC2を発送するユーザU2の端末装置902をより優先して回収可能通知を送信できる。
【0225】
これらの構成によれば、制御装置100の設定部140は、配送先の位置D1と異なる回収地点の位置D2で回収される第2荷物PC2を含む組み合わせCB3の優先度を、取得された移動体700の位置情報と、配送先の位置情報と、第2荷物PC2の回収地点の位置D2を表す位置情報と、に基づいて、配送先の位置D1から回収地点の位置D2までの距離DD1D2と、移動体700の位置Sから回収地点の位置D2までの距離DSD2と、の相違がより小さい程、補正前よりもより高い値に補正する。また、選択部120は、優先度に基づいて、組み合わせCB1からCB7から、移動体600に回収させる第2荷物PC1からPC3の組み合わせCB3を選択する。このため、移動体600が回収を行う場合と、移動体700が回収を行う場合と、で、回収が行われる時間帯の相違がより小さい回収地点の位置D2で回収される第2荷物PC2を含む組み合わせCB3を、移動体600に回収させる第2荷物の組み合わせとしてより優先して選択できる。
【0226】
これらの構成によれば、制御装置100の設定部140は、選択された組み合わせCB3に含まれ、かつ、配送先と異なる回収地点で回収される第2荷物PC2及びPC3の内で、距離の相違が最小の第2荷物の回収順番を、第2荷物PC2の回収順番及び第2荷物PC3の回収順番の内で、最も早い順番に設定する。このため、制御装置100は、第2荷物PC2の回収地点と、第2荷物PC3の回収地点と、の双方において、移動体600が回収を行う場合と移動体700が回収を行う場合とで、回収が行われる時間帯の相違が最小となるように、第2荷物PC2及びPC3の回収順番を設定できる。
【0227】
<実施例1の変形例4>
実施例1では、第2荷物PC1を配送先の位置D1で回収する回収予定が生成される場合について説明したが、これに限定される訳では無い。本変形例では、第2荷物PC1を配送先の位置D1で回収する回収予定が生成されない場合について説明する。
【0228】
本変形例では、第2荷物PC1が既に回収及び発送されているため、
図10の発送荷物テーブルにおいて、第2荷物PC1の荷物ID「PC1」に対して発送が完了していることを表す値「true」の発送完了フラグが対応付けられて保存されている。
【0229】
本変形例に係る制御装置100は、
図3及び
図4に示す移動制御処理の実行を開始すると、実施例1で説明したステップS01からS04の処理を実行することで(ステップS01からS04)、実施例1と同様に、第1荷物PD1を配送先の位置D1へ移動体600に配送させる配送予定を表す情報を生成する。次に、制御装置100は、
図13に示した回収可能通知出力処理を実行する(ステップS05)。
【0230】
回収可能通知出力処理を開始すると、制御装置100は、
図10の発送荷物テーブルから、配送日時との相違が予め定められた猶予期間よりも短い発送期限を表す期限情報と、値「false」の発送完了フラグと、移動体600のサイズ情報が用いる数字「5」以下の数字を用いるサイズ情報と、に対応付けられている荷物IDの取得を試行する。これにより、制御装置100は、荷物ID「PC2」から「PC6」を取得するが、荷物ID「PC1」を取得しない。このため、特定部130は、第2荷物PC1が、発送期限が第1荷物PD1の配送日時に近く、未発送であり、かつ、移動体600が回収可能な荷物であると特定しないが、第2荷物PC2からPC6が、そのような荷物であると特定する。このため、制御部180は、そのような第2荷物PC2からPC6が存在すると判別する(ステップS31;Yes)。
【0231】
次に、制御装置100の制御部180は、第2荷物PC2からPC6の回収地点の位置情報と、
図3のステップS04で取得された第1荷物PD1の配送先の位置情報と、に基づいて、第1荷物PD1の配送先であり、かつ、回収地点でもある配送回収地点が存在しないと判別する(ステップS32;No)。このように判別されるのは、第2荷物PC2からPC6の回収地点の位置D2からD6は、第1荷物PD1の配送先の位置D1と異なるためである。その後、制御装置100は、実施例1で説明したステップS34からS38の処理を実行してから(ステップS34からS38)、配送可能通知出力処理の実行を終了する。これにより、制御装置100は、第2荷物PC2からPC6を発送するユーザU2からU6の端末装置902から906へ配送可能通知を送信する。
【0232】
図3のステップS05で、回収可能通知出力処理を実行した後、制御装置100は、実施例1で説明したステップS06からステップS08の処理を実行する(ステップS06からステップS08)。その後、制御装置100は、回収が要求されているが未回収の第2荷物PC2からPC5が存在すると判別する(ステップS09;Yes)。このように判別されるのは、本変形例では、制御装置100は、回収可能通知を送信してから予め定められた受付期間が経過するまでの間に、第2荷物PC2からPC5の回収要求を受信したからである。
【0233】
その後、制御装置100は、移動体600の格納庫620に格納可能な第2荷物の組み合わせとして、
図14に示した組み合わせCB8からCB15を特定する(ステップS10)。その後、制御装置100は、組み合わせCB8からCB15から、移動体600に回収させる第2荷物の組み合わせを選択するため、
図15に示した組合選択処理を実行する(ステップS11)。組合選択処理の実行を開始すると、制御装置100は、
図13のステップS32と同様の処理を実行することで、配送回収地点が存在しないと判別する(ステップS41;No)。その後、制御装置100は、実施例1で説明したステップS43からS47の処理を実行することで(ステップS43からS47)、組み合わせCB8からCB15から、移動体600に回収させる第2荷物の組み合わせを選択する。本変形例では、
図14に示すような、第2荷物PC2からPC4の組み合わせCB11が選択された場合を具体例として挙げて以下の説明を行う。
【0234】
図3のステップS11で、組合選択処理を実行した後、制御装置100は、
図16に示した回収順番設定処理を実行する(ステップS12)。回収順番設定処理の実行を開始すると、制御装置100は、
図13のステップS32と同様の処理を実行することで、配送回収地点が存在しないと判別する(ステップS51;No)。その後、制御装置100は、実施例1で説明したステップS53からS55の処理を実行した後に(ステップS53からS55)、回収順番設定処理の実行を終了する。これにより、制御装置100は、第2荷物PC2からPC4の回収順番を設定する。本変形例では、第2荷物PC2の回収順番が1番に設定され、第2荷物PC3の回収順番が2番に設定され、第2荷物PC4の回収順番が3番に設定される場合を具体例として挙げて以下の説明を行う。
【0235】
図3のステップS12で、回収順番設定処理を実行した後、制御装置100は、実施例1で説明したステップS13の処理を実行することで(ステップS13)、第2荷物PC2からPC4の回収予定を表す情報を生成する。回収予定を表す情報は、第2荷物PC2からPC4を回収させるために、移動体600に移動させる回収経路を表す情報を含む。本変形例で生成される回収経路を表す情報は、配送先の位置D1から第2荷物PC2の回収地点の位置D2へ到る回収経路PD1D2を表す情報と、位置D2から第2荷物PC3の回収地点の位置D3へ到る回収経路PD2D3を表す情報と、を含む。また、本変形例で生成される回収経路を表す情報は、位置D3から第2荷物PC4の回収地点の位置D4へ到る不図示の回収経路PD3D4を表す情報と、位置D4から発送拠点の位置Sへ到る不図示の帰還経路PD4Sを表す情報と、をさらに含む。
【0236】
その後、制御装置100は、実施例1で説明したステップS14からステップS18の処理を実行することで(ステップS14からステップS18)、配送先の位置D1へ配送される第1荷物PD1を移動体600に格納させる。次に、制御装置100は、
図18に示した配送制御処理を実行する(ステップS19)。配送制御処理の実行を開始すると、制御装置100は、実施例1で説明したステップS61からS63の処理を実行することで(ステップS61からS63)、移動体600を配送先の位置D1へ移動させてから、第1荷物PD1の受け取りを求める受取要求を送信する。本変形例では、実施例1と同様に、第1荷物PD1が受取人に受け渡された場合を具体例として挙げて以下の説明を行う。
【0237】
その後、制御装置100は、実施例1と同様に、
図11の回収予定テーブルから、配送先の位置D1を表す位置情報が保存されているレコードを取得することを試行する。次に、制御装置100の制御部180は、レコードが取得されないため、移動体600の到着した配送先の位置D1が第2荷物の回収地点でないと判別する(ステップS64;No)。その後、制御装置100は、第2荷物の発送要求を出力するステップS65の処理を実行せず、ステップS66からS72の処理を実行する(ステップS66からS72)。これにより、制御装置100は、第1荷物PD1を受取人に受け渡した後に、配送制御処理の実行を終了する。
【0238】
図4のステップS19で配送制御処理を実行した後に、制御装置100は、第1荷物PD1が受取人に受け渡されたと判別し(ステップS20;Yes)、
図19に示した回収制御処理を実行する(ステップS21)。回収制御処理の実行を開始すると、制御装置100は、
図18のステップS64と同様の処理を実行することで、第1荷物PD1の配送先の位置D1が、第2荷物PC2からPC4の回収地点の位置D2からD4のいずれでもないと判別する(ステップS81;No)。その後、制御装置100は、ステップS86からS96の処理を実行した後に(ステップS86からS96)、回収制御処理の実行を終了する。これにより、制御装置100は、
図3のステップS11で選択された組み合わせCB11に含まれる第2荷物PC2からPC4を、ステップS12で設定された回収順番に従って回収させる制御を移動体600に行う。すなわち、配送先の位置D1から第2荷物PC2の回収地点の位置D2へ到る回収経路PD1D2を移動させる制御、位置D2から第2荷物PC3の回収地点の位置D3へ到る回収経路PD2D3を移動させる制御、及び、位置D3から第2荷物PC4の回収地点の位置D4へ到る回収経路PD3D4を移動させる制御、を順に、移動体600に対して行う。
【0239】
図4のステップS21で、回収制御処理を実行した後、制御装置100は、実施例1で説明したステップS22からステップS24の処理を実行することで(ステップS22からステップS24)、回収地点の位置D3から拠点の位置Sへ到る帰還経路PD3Sを移動させる制御を移動体600に行う。その後、制御装置100は、
図3のステップS01から上記処理を繰り返す。
【0240】
<実施例1の変形例5>
実施例1では、回収口621ecと、受渡口621ehと、は、格納ボックス621の前板に設けられており、かつ、回収口621ecは、受渡口621ehの直上に設けられていると説明したが、これに限定される訳では無い。回収口621ecは、受渡口621ehよりも上の位置に設けられていれば、格納ボックス621のどこに設けられていても良く、回収口621ecは、受渡口621ehの設けられている板と異なる格納ボックス621の板に設けられていても良い。例えば、受渡口621ehが格納ボックス621の前板に設けられている場合、回収口621ecは、格納ボックス621の右側板、左側板、背板、又は、天板に設けられていても良い。また、受渡口621ehが設けられている板は、格納ボックス621の前板に限定される訳では無く、格納ボックス621の右側板、左側板、背板、又は、天板であっても良い。
【0241】
また、実施例1では、格納ボックス621には、1つの回収口621ec及び回収扉621acと、1つの受渡口621eh及び受渡扉621ahと、が設けられていると説明したが、これに限定される訳では無い。格納ボックス621には、1つの回収口621ec及び回収扉621acと、複数の受渡口621eh及び受渡扉621ahと、が設けられていても良い。また、格納ボックス621には、複数の回収口621ec及び回収扉621acと、1つの受渡口621eh及び受渡扉621ahと、が設けられていても良いし、複数の回収口621ec及び回収扉621acと、複数の受渡口621eh及び受渡扉621ahと、が設けられていても良い。
【0242】
また、実施例1では、移動体600の格納庫620は、1つの格納ボックス621を備えると説明したが、これに限定される訳では無く、格納庫620は、複数の格納ボックス621を備えても良い。
【0243】
さらに、実施例1では、移動体600の格納ボックス621は、不図示の1枚の背板、前板、底板、天板、左側板、及び、右側板を備えると説明した。背板、前板、底板、天板、左側板、及び、右側板は、それぞれ互いに異なる板であって良い。また、背板、前板、底板、天板、左側板、及び、右側板の少なくとも2つは、互いに同じ板であっても良い。例えば、前板と天板とが、互いに同じ板であっても良い。この場合、1枚の板に折り曲げ加工を施すことで、前板と天板とを形成すれば良い。背板、前板、底板、天板、左側板、及び、右側板は、木板、金属板、又は、繊維強化プラスティック製の板であって良いが、これらに限定される訳では無い。
【0244】
<実施例1の変形例6>
実施例1では、制御装置100は、
図13のステップS36で、回収が必要であり可能な複数の第2荷物から、優先度が高い順に、予め定められた個数の第2荷物を選択すると説明したが、これに限定される訳では無い。制御装置100の選択部120は、例えば、回収が必要であり可能な複数の第2荷物に、優先度が高い順に順位を付与し、1位から、1位よりも予め定められた個数以上、下の順位までの範囲を設定しても良い。次に、選択部120は、設定された範囲に含まれる順位が付与された第2荷物から、予め定められた規則、又は、ソフトウェア乱数に基づいて、予め定められた個数の第2荷物を選択しても良い。すなわち、選択部120は、予め定められた個数が「4個」であれば、1位から10位までの範囲を設定し、設定された範囲に含まれる1位から10位の順位が付与された第2荷物から、予め定められた個数「4個」の第2荷物を選択しても良い。
【0245】
実施例1では、制御装置100は、
図15のステップS47で、ステップS42で特定された組み合わせCB1からCB7の内で、最も高い優先度が設定された組み合わせを、移動体600に回収させる第2荷物の組み合わせとして選択すると説明したが、これに限定される訳では無い。制御装置100の選択部120は、例えば、組み合わせCB1からCB7に、優先度が高い順に順位を付与し、1位より下の予め定められた順位が付与された組み合わせを選択しても良い。また、選択部120は、1位から予め定められた順位までの順位が付与された複数の組み合わせから、予め定められた規則、又は、ソフトウェア乱数に基づいて、移動体600に回収させる第2荷物の組み合わせを選択しても良い。
【0246】
制御装置100の設定部140が、
図13のステップS34、
図15のステップS44、及び、
図16のステップS54において、優先度を設定するために用いる計算方法は、実施例1で説明された方法に限定される訳では無い。また、設定部140が、
図13のステップS35、並びに、
図15のステップS45及びS46において、優先度を補正するために用いる計算方法は、実施例1で説明された方法に限定される訳では無い。
【0247】
<実施例1の変形例7>
実施例1では、制御装置100は、
図13のステップS34において、発送期限と配送日時との相違に基づいて第2荷物に優先度を設定し、ステップS35において、配送先から拠点に到る帰還経路PD1Sと回収地点との距離に基づいて優先度を修正し、ステップS36において、優先度に基づいて第2荷物を選択すると説明した。しかし、これに限定される訳では無く、制御装置100は、ステップS35の処理を実行しなくとも良い。また、制御装置100は、ステップS34の処理を実行せず、ステップS35において、配送先から拠点に到る帰還経路PD1Sと回収地点との距離に基づいて優先度を設定しても良い。
【0248】
また、実施例1では、制御装置100は、
図15のステップS44において、組み合わせに含まれる第2荷物の個数に基づいて組み合わせに優先度を設定し、ステップS45において、組み合わせに含まれる第2荷物の発送期限と第1荷物PD1の配送日時との相違に基づいて優先度を補正すると説明した。また、制御装置100は、ステップS46において、回収地点と帰還経路PD1Sとの距離に基づいて優先度を補正し、ステップS47において、優先度に基づいて、移動体600に回収させる第2荷物の組み合わせを選択すると説明した。
【0249】
しかし、これに限定される訳では無く、制御装置100は、ステップS45の処理、及び、ステップS46の処理の少なくとも1つを実行しなくとも良い。また、制御装置100は、ステップS44の処理を実行せずに、ステップS45において、組み合わせに含まれる第2荷物の発送期限と第1荷物PD1の配送日時との相違に基づいて優先度を設定しても良い。その後、制御装置100は、ステップS46の処理を実行してもしなくても良い。また、制御装置100は、ステップS44の処理及びステップS45の処理を実行せずに、ステップS46において、回収地点と帰還経路PD1Sとの距離に基づいて優先度を設定しても良い。
【0250】
<実施例1の変形例8>
実施例1では、1つの回収地点で1つの第2荷物が回収される場合を具体例として挙げて説明したが、これに限定される訳では無く、1つの回収地点で複数の第2荷物が回収されても良い。
【0251】
実施例1では、制御システム1は、2つの移動体600及び700を備えると説明したが、これに限定される訳では無い。制御システム1は、1つの移動体、又は、3つ以上の移動体を備えても良い。
【0252】
<実施例1の変形例9>
実施例1では、制御システム1は、無人地上車両である移動体600及び700を備えると説明したが、これに限定される訳では無い。本変形例に係る制御システム1は、移動体600に代えて、
図26に示すような、例えば、ドローン等の無人航空機である移動体500を備える。
【0253】
本変形例に係る移動体500は、移動体500の姿勢及び飛行を制御する制御装置590と、制御装置590の前面から右前方及び左前方、並びに、制御装置590の後面から左後方及び右後方にそれぞれ突出したプロペラアーム501及び502、並びに、503及び504と、を備える。また、移動体500は、プロペラアーム501から504の先端にそれぞれ設置されたプロペラ511から514、及び、制御装置590の制御に従ってプロペラ511から514を回転させる不図示のモータを備える。
【0254】
さらに、移動体500の制御装置590の下面には、荷物を格納する格納庫520が設置されている。移動体500の格納庫520は、格納ボックス521を備える。格納ボックス521は、受渡扉521ah、並びに、受渡扉521ahの不図示の扉枠、デッドボルト、ストライク、及び、モータと、回収扉521ac、並びに、回収扉521acの不図示の扉枠、デッドボルト、ストライク、及び、モータと、を備える。また、格納ボックス521の前板には、受渡扉521ahによって開閉される不図示の受渡口と、回収扉521acによって開閉される不図示の回収口と、が設けられている。格納ボックス521の回収口は、受渡口の上方に設けられている。
【0255】
移動体500が備える格納庫520の構成及び機能は、移動体600が備える格納庫620の構成及び機能と同様である。このため、格納庫520が備える格納ボックス521の構成及び機能は、格納庫620が備える格納ボックス621の構成及び機能と同様である。また、格納ボックス521が備える受渡扉521ah、受渡扉521ahにより開閉される受渡口、並びに、受渡扉521ahの扉枠、デッドボルト、ストライク、及び、モータの構成及び機能は、格納ボックス621が備える受渡扉621ah、受渡扉621ahによって開閉される受渡口621eh、扉枠621bh、デッドボルト621ch、ストライク621dh、及び、受渡扉621ahのモータの構成及び機能と同様である。さらに、格納ボックス521が備える回収扉521ac、回収扉521acによって開閉される回収口、並びに、回収扉521acの扉枠、デッドボルト、ストライク、及び、モータの構成及び機能は、格納ボックス621が備える回収扉621ac、回収扉621acによって開閉される回収口621ec、扉枠621bc、並びに、回収扉621acのデッドボルト、ストライク、及び、モータの構成及び機能と同様である。
【0256】
また、移動体500は、制御装置590の前面に設けられたLiDARセンサ541と、制御装置590の後面に設けられた不図示のLiDARセンサと、を備える。移動体500が備える前面のLiDARセンサ541と後面のLiDARセンサとの構成及び機能は、それぞれ移動体600が備える前面のLiDARセンサ641と後面のLiDARセンサとの構成及び機能と同様である。
【0257】
移動体500の制御装置590が備えるハードウェアの構成及び機能は、移動体600の制御装置690が備えるハードウェアの構成及び機能と同様である。
【0258】
移動体500の不図示の駆動回路は、プロペラ511から514を回転させる不図示のモータにそれぞれ接続された不図示のケーブルに接続されている。不図示の駆動回路は、CPUが出力する信号に従って、プロペラ511から514を回転させる不図示のモータを駆動させる。
【0259】
移動体500の不図示のCPUは、
図22に示した移動処理と同様の処理を実行する。これにより、移動体500のCPUは、不図示の取得部及び制御部として機能する。移動体500の取得部及び制御部の機能は、移動体600の取得部681及び制御部688の機能と同様である。
【0260】
移動体500の不図示のデータ通信回路が移動命令を受信すると、移動体500は、移動処理の実行を開始する。次に、移動体500の取得部は、データ通信回路から移動命令を取得し、取得された移動命令から配送経路、回収経路、又は、帰還経路を表す情報を取得する。その後、移動体500の制御部は、移動体500を離陸させるための制御信号を生成し、生成された制御信号を駆動回路へ出力する。次に、移動体500の制御部は、取得された情報で表される配送経路、回収経路、又は、帰還経路の未到着のノードの内で、最も到着順が早いノードへ向かって飛行するための制御信号を駆動回路へ出力する。その後、移動体500の制御部は、経路の終点に到着したと判別すると、移動体500を着陸させるための制御信号を駆動回路へ出力する。
【0261】
本変形例では、移動体500は、無人航空機であると説明したが、これに限定される訳ではなく、無人飛翔体であっても良い。さらに、本変形例では、移動体500は、プロペラ511から514で揚力及び推力を得るドローンであると説明したが、これに限定される訳ではない。移動体500は、翼を備え、翼で揚力を得えても良いし、空気よりも比重の小さい気体で満たされた気嚢を備え、気嚢で揚力を得えても良い。また、移動体500は、ジェットエンジン又はロケットエンジンを備え、ジェットエンジン又はロケットエンジンで推力を得ても良い。
【0262】
本変形例に係る制御システム1は、移動体600に代えて、無人航空機である移動体500を備えると説明したが、これに限定される訳では無い。制御システム1は、移動体600及び700に代えて、無人航空機である移動体500と、無人航空機である不図示の移動体と、を備えても良い。
【0263】
<実施例1の変形例10>
実施例1では、制御装置100は、
図4のステップS15において、受け付けられなかった回収要求が存在すると判別すると(ステップS15;Yes)、否受付通知を出力する否受付通知出力処理を実行する(ステップS16)と説明したが、これに限定される訳では無い。制御装置100は、受け付けられなかった回収要求が存在しないと判別すると(ステップS15;No)、否受付通知出力処理を実行せずに、ステップS17から移動制御処理の実行を継続する。制御装置100は、受け付けられなかった回収要求が存在しないことを判別するために、実施例1と同様に、
図10の発送荷物テーブルから、値「true」の回収要求フラグと、値「false」の発送完了フラグと、に対応付けられた荷物IDの1又は複数取得する。これにより、制御装置100は、回収が要求されているが、回収及び発送が完了していない1又は複数の第2荷物の荷物IDを取得する。また、制御装置100は、
図11の回収予定テーブルに保存されている荷物IDを1又は複数取得することで、回収要求が受け付けられたために、回収予定が生成されている1又は複数の第2荷物の荷物IDを取得する。その後、制御装置100は、配送荷物テーブルから取得された荷物IDから、回収予定テーブルから取得された荷物IDを除外し、除外されずに残る荷物IDが存在しない場合に、受け付けられなかった回収要求が存在しないと判別する。
【0264】
実施例1では、
図13のステップS31において、制御装置100は、回収が必要であり可能な第2荷物が存在すると判別する(ステップS31;Yes)と説明したが、これに限定される訳では無い。制御装置100は、実施例1と同様に、
図10の発送荷物テーブルから、回収が必要であり可能な第2荷物の荷物IDを取得することを試行する。このとき、荷物IDが取得されないと、制御装置100は、回収が必要であり可能な第2荷物が存在しないと判別する(ステップS31;No)。その後、制御装置100は、返値を値「false」に設定し、回収可能通知出力処理の実行を終了する。
【0265】
図3のステップS05で回収可能通知出力処理を実行した後、制御装置100は、回収可能通知出力処理の返値が値「false」であるため、回収可能通知が出力されなかったと判別し(ステップS06;No)、ステップS09から移動制御処理の実行を継続する。
【0266】
実施例1では、
図3のステップS09において、制御装置100は、回収が要求されているが未回収の第2荷物が存在すると判別する(ステップS09;Yes)と説明したが、これに限定される訳では無い。制御装置100は、回収が要求されているが未回収の第2荷物が存在しないと判別すると(ステップS09;No)、ステップS17から移動制御処理の実行を継続する。この判別を行うために、制御装置100は、実施例1と同様に、
図10の発送荷物テーブルから、回収が要求されているが未回収の第2荷物の荷物IDを取得することを試行する。このとき、荷物IDが取得されないと、回収が要求されているが未回収の第2荷物が存在しないと判別する。
【0267】
実施例1では、
図16のステップS53において、制御装置100は、回収順番が設定されていない第2荷物PC2及びPC3が存在すると判別する(ステップS53;Yes)と説明したが、これに限定される訳では無い。制御装置100は、回収順番が設定されていない第2荷物が存在しないと判別すると(ステップS53;No)、回収順番設定処理の実行を終了する。
【0268】
実施例1では、
図19のステップS91において、制御装置100は、発送要求を出力してから、予め定められた回収時間が経過していないと判別する(ステップS91;No)と説明したが、これに限定される訳では無い。制御装置100は、発送要求を出力してから回収時間が経過したと判別すると(ステップS91;Yes)、ステップS96から回収制御処理の実行を継続する。
【0269】
実施例1の変形例2では、
図25のステップS131において、制御装置100は、配送先の位置D1が回収地点でもあると判別する(ステップS131;Yes)と説明したが、これに限定される訳では無い。制御装置100は、配送先の位置D1が回収地点で無いと判別すると(ステップS131;No)、配送先の位置D1での回収予定を削除するステップS132の処理を実行せずに、ステップS133から代替回収制御処理の実行を継続する。
【0270】
実施例1の変形例2では、
図25のステップS133において、制御装置100は、未実行の回収予定が存在すると判別する(ステップS133;Yes)と説明したが、これに限定される訳では無い。制御装置100は、未実行の回収予定が存在しないと判別すると(ステップS133;No)、代替回収制御処理の実行を終了する。
【0271】
実施例1の変形例2では、
図25のステップS134において、制御装置100は、移動体700が第2荷物PC2及びPC3を格納可能であると判別する(ステップS134;Yes)と説明したが、これに限定される訳では無い。制御装置100は、移動体700が第2荷物PC2及びPC3を格納不能であると判別すると(ステップS134;No)、代替回収制御処理の実行を終了する。この判別のために、制御装置100の制御部180は、第2荷物PC2のサイズ情報が第2荷物PC2のサイズを表すために用いる数字と、第2荷物PC3のサイズ情報が用いる数字と、の和が、移動体700のサイズ情報が格納庫720の容量を表すために用いる数字「3」より大きい場合に、移動体700の格納庫720に、第2荷物PC2及びPC3を格納不能であると判別する。
【0272】
<実施例1の変形例11>
実施例1では、荷物が、レンタルされた家電製品、衣服、又は、書籍である場合を具体例として挙げて説明したが、これに限定される訳ではない。荷物は、どのような物であっても良く、例えば、販売される商品であっても良い。また、荷物は、例えば、商取引の対象とされる物であっても、商取引の対象とされない物であっても良い。さらに、荷物は、物でなく、生き物であっても良い。
【0273】
<実施例1の変形例12>
実施例1では、移動体600及び700は、無人地上車両であると説明した。また、実施例1の変形例9では、移動体500は、無人航空機であると説明した。しかし、移動体500から700は、必ずしも無人である必要はなく、制御装置100による制御を除き、自律して移動する物体であれば、人が乗っていても良い。
【0274】
<実施例1の変形例13>
実施例1では、制御装置100は、情報記憶部190を備えると説明したが、これに限定される訳ではない。本変形例に係る制御装置100は、情報記憶部190を備えない。本変形例に係る制御装置100は、例えば、NAS(Network Attached Storage)であり、かつ、情報記憶部190の機能と同様の機能を有する不図示の情報記憶装置とインタネットINを介して接続されており、情報記憶装置が記憶する情報を用いて、
図3及び
図4に示した移動制御処理、
図13に示した回収可能通知出力処理、
図15に示した組合選択処理、
図16に示した回収順番設定処理、
図18に示した配送制御処理、及び、
図19に示した回収制御処理を実行する。本変形例に係る制御システム1は、情報記憶装置を備えても良いし、情報記憶装置を備えなくても良い。
【0275】
<実施例1の変形例14>
実施例1では、制御システム1は、制御装置100を備えると説明した。また、実施例1では、制御装置100のCPU101は、
図3及び
図4に示した移動制御処理、
図13に示した回収可能通知出力処理、
図15に示した組合選択処理、
図16に示した回収順番設定処理、
図18に示した配送制御処理、及び、
図19に示した回収制御処理を実行すると説明した。また、制御装置100のCPU101は、
図5に示した取得部110、選択部120、特定部130、設定部140、生成部150、及び、制御部180として機能すると説明した。また、制御装置100のハードディスク103bは、情報記憶部190として機能すると説明した。
【0276】
しかし、これらに限定される訳ではなく、制御システム1は、制御装置100を備えなくとも良い。この場合、
図3及び
図4に示した移動制御処理、
図13に示した回収可能通知出力処理、
図15に示した組合選択処理、
図16に示した回収順番設定処理、
図18に示した配送制御処理、及び、
図19に示した回収制御処理は、移動体600が備える制御装置690のCPU691によって実行されても良い。このため、移動体600の取得部681が、制御装置100の取得部110の機能をさらに備え、移動体600の制御部688が、制御装置100の制御部180の機能をさらに備えても良い。また、移動体600のCPU691が、制御装置100の選択部120、特定部130、設定部140、及び、生成部150に相当する不図示の機能部として機能しても良い。また、移動体600のフラッシュメモリ693bが、制御装置100の情報記憶部190に相当する不図示の機能部として機能しても良い。
【0277】
また、これに限定される訳ではなく、
図3及び
図4に示した移動制御処理、
図13に示した回収可能通知出力処理、
図15に示した組合選択処理、
図16に示した回収順番設定処理、
図18に示した配送制御処理、及び、
図19に示した回収制御処理の少なくとも1つは、制御装置100のCPU101と、移動体600のCPU691と、移動体700が備える不図示のCPUと、端末装置901から906が備える不図示のCPUと、の2つ以上によって分散実行されても良い。
【0278】
<実施例2>
実施例1では、制御装置100は、第1荷物PD1の配送先の位置D1から回収地点までの距離に基づいて、第2荷物PC2及びPC3の回収順番を設定すると説明したが、これに限定される訳では無い。本実施例では、制御装置100は、第2荷物PC2及びPC3の重量と、第2荷物PC2及びPC3の耐衝撃性と、に基づいて、第2荷物PC2及びPC3の回収順番を設定する。以下、実施例1と同様の構成については、実施例1で用いた符号と同一の符号を用いて説明するが、本実施例と実施例1との相違について主に説明する。
【0279】
本実施例に係る制御装置100の情報記憶部190は、
図27に示すような発送荷物テーブルを予め記憶している。発送荷物テーブルには、複数のレコードが予め保存されている。本実施例では、発送荷物テーブルの1番のレコードには、実施例1と同様に、ユーザID「U1」と、第2荷物PC1の荷物ID「PC1」、サイズ情報、期限情報、発送完了フラグ、及び、回収要求フラグと、が対応付けられて保存されている。また、発送荷物テーブルの1番のレコードには、実施例1と異なり、第2荷物PC1の荷物ID「PC1」に対応付けられて、第2荷物PC1の種別「衣服」を表す情報と、第2荷物PC1の重量「100 g」を表す重量情報と、が保存されている。種別が「衣服」の荷物は、例えば、洋服、和服、靴、帽子、及び、下着を含む。
【0280】
また、本実施例では、発送荷物テーブルの2番のレコードには、実施例1と同様に、ユーザID「U2」と、第2荷物PC2の荷物ID「PC2」、サイズ情報、期限情報、発送完了フラグ、及び、回収要求フラグと、が対応付けられて保存されている。また、発送荷物テーブルの2番のレコードには、実施例1と異なり、第2荷物PC2の荷物ID「PC2」に対応付けられて、第2荷物PC2の種別「精密機器」を表す情報と、第2荷物PC2の重量「200 g」を表す重量情報と、が保存されている。種別が「精密機器」の荷物は、例えば、時計、カメラ、パーソナルコンピュータ、プリンター、並びに、テレビ及びビデオデッキを含む家電製品を含む。
【0281】
さらに、本実施例では、発送荷物テーブルの3番のレコードには、ユーザID「U3」と、第2荷物PC3の荷物ID「PC3」、サイズ情報、期限情報、発送完了フラグ、及び、回収要求フラグと、が対応付けられて保存されている。また、発送荷物テーブルの3番のレコードには、第2荷物PC3の荷物ID「PC3」に対応付けられて、第2荷物PC3の種別「書籍」を表す情報と、第2荷物PC3の重量「3,000 g」を表す重量情報と、が保存されている。種別が「書籍」の荷物は、例えば、辞書、雑誌、教科書、小説、漫画本、辞書のセット、及び、漫画本のセットを含む。また、本実施例では、発送荷物テーブルの4番から6番のレコードには、荷物ID「PC4」から「PC6」と、種別「衣服」を表す情報と、重量「100 g」を表す重量情報と、が保存されている。
【0282】
本実施例に係る制御装置100の情報記憶部190は、
図28に示すような種別テーブルを予め記憶している。種別テーブルには、複数のレコードが予め保存されており、各レコードには、種別を表す情報と、当該種別の荷物の耐衝撃性を表す情報と、が対応付けられて保存されている。本実施例では、荷物の耐衝撃性を表す情報は、当該荷物が梱包材に梱包された状態で、移動体600が備える格納ボックス621の回収口621ecの位置から、格納ボックス621の底板までの距離を、梱包材に梱包された状態で、自由落下する別の荷物と、衝突した場合に、当該荷物が破損する確率が予め定められた確率以下となるような当該別の荷物の最も軽い重量で表される。本実施例では、移動体700が備える格納ボックス721の回収口の位置から、格納ボックス721の底板までの距離は、移動体600が備える格納ボックス621の回収口621ecの位置から、格納ボックス621の底板までの距離と等しい。また、予め定められた確率は、「0%」よりも高く、かつ、「100%」より低い値の確率であれば、どのような値の確率であっても良い。予め定められた確率の好適な値は、当業者が実験により定めることができる。
【0283】
種別テーブルの1番のレコードには、本実施例では、種別「衣服」を表す情報と、種別が「衣服」である荷物の耐衝撃性を重量「5,000 g」を用いて表す耐衝撃性情報と、が対応付けられて保存されている。すなわち、種別が「衣服」である荷物の耐衝撃性を重量「5,000 g」を用いて表す耐衝撃性情報は、種別が「衣服」である荷物が移動体600又は700によって回収された後に、重量「5,000 g」以下の重量の別の荷物が移動体600又は700によって回収されるのであれば、当該荷物が当該別の荷物の回収により破損する確率が予め定められた確率以下であることを表す。
【0284】
種別テーブルの2番のレコードには、種別「精密機器」を表す情報と、種別が「精密機器」である荷物の耐衝撃性を重量「500 g」を用いて表す耐衝撃性情報と、が対応付けられて保存されている。また、種別テーブルの3番のレコードには、種別「書籍」を表す情報と、種別が「書籍」である荷物の耐衝撃性を重量「10,000 g」を用いて表す耐衝撃性情報と、が対応付けられて保存されている。本実施例では、荷物の種別として、「精密機器」、「衣服」、及び、「書籍」を具体例として挙げて説明するが、これに限定される訳では無く、荷物の種別は、例えば、ガラス製品及び陶器を含む「割れ物」であっても良い。
【0285】
本実施例に係る制御装置100は、
図29に示すような回収順番設定処理を実行する。回収順番設定処理の実行を開始すると、制御装置100は、
図16のステップS51及びS52と同様の処理を実行する(ステップS151及びS152)。これにより、制御装置100は、第1荷物PD1の配送先であり、かつ、第2荷物PC1の回収地点でもある配送回収地点で回収される第2荷物PC1の回収順番を1番に設定する。
【0286】
次に、制御装置100は、
図16のステップS53と同様の処理を実行することで、回収順番が設定されていない第2荷物PC2及びPC3が存在すると判別する(ステップS153;Yes)。その後、制御装置100の取得部110は、
図27の配送荷物テーブルから、第2荷物PC2の荷物ID「PC1」と対応付けられている重量情報と種別情報とを取得し、
図28の種別テーブルから、取得された種別情報と対応付けられた耐衝撃性情報を取得する。これにより、取得部110は、第2荷物PC2の重量情報及び耐衝撃性情報を取得する。同様に、取得部110は、第2荷物PC3の重量情報及び耐衝撃性情報を取得する(ステップS154)。
【0287】
次に、制御装置100の設定部140は、第2荷物PC2について、重量情報と耐衝撃性とに基づいて優先度を設定する(ステップS155)。ステップS155で設定される荷物の優先度とは、移動体600又は700の回収によって当該荷物又は当該荷物と別の荷物が破損することを抑制するため、どの程度、当該荷物の回収順番を早くする必要があるかを表す指標である。
【0288】
ステップS155において、制御装置100の設定部140は、第2荷物PC2について、重量情報で表される第2荷物PC2の重量が重い程、より高く、かつ、耐衝撃性情報で表される耐衝撃性がより高い程、より高い優先度を設定する。このために、設定部140は、重量情報で表される第2荷物PC2の重量「200 g」に対して予め定められた正の重付係数α5を乗算した値に、耐衝撃性を表す重量「5,000g」を加算することで得られる値を、第2荷物PC2の優先度として設定する。好適な重付係数α5の値は、当業者が実験により定めることができる。
【0289】
このように優先度が設定されるのは、荷物の重量がより重い程、回収によって当該荷物が別の荷物と衝突する場合に、当該荷物が当該別の荷物へ与える衝撃がより大きいからである。すなわち、当該荷物が当該別の荷物へ与える衝撃がより大きいと、当該荷物が当該別の荷物を破損する確率がより高いため、より早い順番で当該荷物を回収する必要があるからである。また、このように優先度が設定されるのは、荷物の耐衝撃性がより高い程、回収によって別の荷物が当該荷物と衝突する場合に、当該荷物が破損する確率がより低いためである。すなわち、当該荷物が破損する確率がより低いため、より早い順番で当該荷物を回収しても良いためである。
【0290】
制御装置100の設定部140は、第2荷物PC2と同様に、第2荷物PC3について、重量情報で表される第2荷物PC3の重量が重い程、より高く、かつ、耐衝撃性情報で表される耐衝撃性がより高い程、より高い優先度を設定する。このために、設定部140は、重量情報で表される第2荷物PC3の重量「3,000 g」に対して予め定められた正の重付係数α5を乗算した値に、耐衝撃性を表す重量「10,000g」を加算することで得られる値を、第2荷物PC3の優先度として設定する。
【0291】
その後、制御装置100の設定部140は、第2荷物PC2及びPC3の優先度に基づいて、第2荷物PC2及びPC3の回収順番を設定した後に(ステップS156)、回収順番設定処理の実行を終了する。本実施例では、第2荷物PC3の重量「3,000 g」の方が第2荷物PC2の重量「200 g」よりも重く、かつ、第2荷物PC3の耐衝撃性の方が第2荷物PC2の耐衝撃性よりも高い。第2荷物PC3の耐衝撃性の方が第2荷物PC2の耐衝撃性よりも高いのは、第2荷物PC3の耐衝撃性を表す重量「10,000 g」の方が第2荷物PC2の耐衝撃性を表す重量「500 g」よりも重いからである。このため、第2荷物PC3の優先度の方が、第2荷物PC2の優先度よりも高く設定されている。よって、本実施例に係る設定部140は、
図30に実線を用いて示すように、種別が「書籍」である第2荷物PC3の回収順番を2番に設定し、種別が「精密機器」である第2荷物PC2の回収順番を3番に設定する点で、実施例1に係る設定部140と異なる。このように異なるのは、実施例1に係る設定部140は、
図30に破線を用いて示すように、配送先の位置D1により回収地点の位置D2が近い第2荷物PC2の回収順番を2番に設定し、位置D1からより回収地点の位置D3が遠い第2荷物PC3の回収順番を3番に設定するからである。
【0292】
図3のステップS12で回収順番設定処理を実行した後、制御装置100は、ステップS13から移動制御処理の実行を継続する。これにより、制御装置100は、設定された回収順番に従って、種別が「衣服」である第2荷物PC1の回収地点の位置D1、種別が「書籍」である第2荷物PC3の回収地点である位置D3、及び、種別が「精密機械」である第2荷物PC3の回収地点である位置D3を順に移動させる制御を移動体600に行う。
【0293】
これらの構成によれば、制御装置100の取得部110は、第2荷物PC2の重量を表す重量情報、及び、第2荷物PC2の耐衝撃性を表す耐衝撃性情報と、第2荷物PC3の重量情報、及び、第2荷物PC3の耐衝撃性情報と、を取得する。また、制御装置100は、回収地点の位置D2で回収される第2荷物PC2の重量情報及び耐衝撃性情報と、回収地点の位置D3で回収される第2荷物PC3の重量情報及び耐衝撃性情報と、に基づいて回収順番を設定する設定部140を備える。さらに、制御装置100の制御部180は、設定された回収順番に従って、回収地点の位置D2と回収地点の位置D3とに移動体600を移動させる制御を行う。このため、制御装置100は、回収により第2荷物PC2又は第2荷物PC3が破損することを抑制できる。
【0294】
またこれらの構成によれば、制御装置100の設定部140は、回収される第2荷物PC2の重量がより重い程、より高い優先度を第2荷物PC2に設定すること、及び、回収される第2荷物PC2の耐衝撃性がより高い程、より高い優先度を第2荷物PC2に設定すること、の双方を行う。また、設定部140は、設定された優先度がより高い程、より早い回収順番を第2荷物PC2に設定する。このため、制御装置100は、回収により第2荷物PC2又は第2荷物PC3が破損することを従来よりも確実に抑制できる。
【0295】
<実施例2の変形例1>
実施例2では、制御装置100の設定部140は、回収地点の位置D2で回収される第2荷物PC2の重量情報及び耐衝撃性情報の双方と、回収地点の位置D3で回収される第2荷物PC3の重量情報及び耐衝撃性情報の双方と、に基づいて回収順番を設定すると説明したが、これに限定される訳では無い。設定部140は、回収地点の位置D2で回収される第2荷物PC2の重量情報及び耐衝撃性情報のいずれか片方のみと、回収地点の位置D3で回収される第2荷物PC3の重量情報及び耐衝撃性情報のいずれか片方のみと、に基づいて回収順番を設定しても良い。
【0296】
また、実施例2では、制御装置100の設定部140は、回収される第2荷物PC2の重量がより重い程、より高い優先度を第2荷物PC2に設定すること、及び、回収される第2荷物PC2の耐衝撃性がより高い程、より高い優先度を第2荷物PC2に設定すること、の双方を行うと説明したが、これに限定される訳では無い。設定部140は、第2荷物PC2の重量がより重い程、より高い優先度を第2荷物PC2に設定すること、及び、第2荷物PC2の耐衝撃性がより高い程、より高い優先度を第2荷物PC2に設定すること、のいずれか片方のみを行っても良い。また、設定部140は、第2荷物PC3の重量がより重い程、より高い優先度を第2荷物PC3に設定すること、及び、第2荷物PC3の耐衝撃性がより高い程、より高い優先度を第2荷物PC3に設定すること、のいずれか片方のみを行っても良い。
【0297】
<実施例2の変形例2>
本変形例では、制御装置100は、配送先の位置D1で回収される第2荷物PC1が、回収地点の位置D2で行われる第2荷物PC2の回収により、破損する確率が予め定められた確率以下であるか否かを判別する。
【0298】
このために、本変形例に係る制御装置100は、
図31及び
図4に示すような移動制御処理を実行する。制御装置100は、移動制御処理の実行を開始すると、ステップS01からS12の処理を実行することで(ステップS01からS12)、実施例2と同様に、移動体600の格納庫620に格納可能な、
図14に示した第2荷物の組み合わせCB1からCB7を特定する。また、制御装置100は、組み合わせCB1からCB7から、第2荷物PC1からPC3を含む組み合わせCB3を、移動体600に回収させる第2荷物の組み合わせとして選択する。また、制御装置100は、実施例2と同様に、
図32で破線を用いて表されるような回収順番を第2荷物PC1からPC3に設定する。すなわち、制御装置100は、配送先の位置D1で回収される第2荷物PC1の回収順番を1番に設定し、種別が「書籍」である第2荷物PC3の回収順番を2番に設定し、かつ、種別が「精密機器」である第2荷物PC2の回収順番を3番に設定する。
【0299】
次に、制御装置100は、第2荷物PC3の回収によって第2荷物PC1が破損する確率が予め定められた確率以下であるか否か、及び、第2荷物PC2の回収によって第2荷物PC3が破損する確率が予め定められた確率以下であるか否かを判別する、
図33に示すような破損判別処理を実行する(ステップS12a)。破損判別処理の実行を開始すると、制御装置100の制御部180は、1番の回収順番に注目する(ステップS161)。次に、取得部110は、
図11の回収予定テーブルから、注目された回収順番(以下、注目順番という)よりも1つ後の回収順番(以下、直後の順番という)である2番の回収順番を表す情報の取得を試行する。本変形例では、直後の順番を表す情報が取得されるため、制御部180は、直後の順番である2番の回収順番が存在すると判別する(ステップS162;Yes)。
【0300】
その後、制御装置100の取得部110は、回収予定テーブルから、注目順番である1番を表す情報と対応付けられた荷物ID「PC1」を取得する。次に、取得部110は、
図27の発送荷物テーブルから、取得された荷物ID「PC1」と対応付けられた種別を表す情報を取得することで、注目順番である1番が回収順番として設定された第2荷物PC1の種別を表す情報を取得する。本変形例に係る発送荷物テーブルには、第2荷物PC1の荷物ID「PC1」と対応付けられて種別「精密機器」を表す情報が保存されている点で、種別「衣服」が荷物ID「PC1」と対応付けられている実施例2に係る発送荷物テーブルと異なる。
【0301】
次に、制御装置100の取得部110は、
図28の種別テーブルから、第2荷物PC1の種別「精密機器」を表す情報と対応付けられている情報であり、かつ、第2荷物PC1の耐衝撃性を重量「500 g」を用いて表す耐衝撃性情報を取得する(ステップS163)。その後、制御装置100の取得部110は、回収予定テーブルから、直後の順番である2番を表す情報と対応付けられた荷物ID「PC3」を取得する。次に、取得部110は、発送荷物テーブルから、取得された荷物ID「PC3」と対応付けられた情報であり、かつ、第2荷物PC3の重量「3,000 g」を表す重量情報を取得する(ステップS164)。次に、制御装置100の制御部180は、第2荷物PC1の耐衝撃性情報が用いる重量「500 g」が、第2荷物PC3の重量情報で表される重量「3,000 g」以下であると判別する。このため、制御部180は、1番の回収順番が設定された第2荷物PC1が、直後の順番である2番が設定された第2荷物PC3の回収により破損する破損確率が予め定められた確率より高いと判別する(ステップS165;No)。
【0302】
その後、制御装置100の制御部180は、第2荷物PC1が第2荷物PC3の回収により破損すると判別する(ステップS166)。次に、制御装置100の制御部180は、破損が生じることを表す値「false」に返値を設定してから、破損判別処理の実行を終了する。
【0303】
図31のステップS12aで破損判別処理が実行された後に、制御装置100の制御部180は、返値が値「false」であると判別する。このため、制御部180は、ステップS11で選択された組み合わせCB3に含まれる第2荷物PC1からPC3を、ステップS12で設定された回収順番に従って移動体600が回収すると、第2荷物PC1からPC3のいずれかに破損が生じると判別する(ステップS12b;Yes)。その後、特定部130は、破損が生じると判別された組み合わせCB3を、ステップS10及びS11の処理の実行により特定された第2荷物の組み合わせCB1ないしCB7から除外する(ステップS12c)。
【0304】
その後、制御装置100は、ステップS11及びS12の処理を再度実行する(ステップS11及びS12)。本変形例では、ステップS11の処理の再度の実行により、
図14に示した第2荷物PC1、PC2、及び、PC4を含む組み合わせCB4が、移動体600に回収させる第2荷物の組み合わせとして選択された場合を具体例として挙げて以下の説明を行う。また、本変形例では、ステップS12の処理の再度の実行により、
図32で実線を用いて表されるような回収順番が第2荷物PC1、PC2、及び、PC4に設定される場合を具体例として挙げて以下の説明を行う。すなわち、配送先の位置D1で回収される第2荷物PC1の回収順番が1番に設定され、種別が「衣服」である第2荷物PC4の回収順番が2番に設定され、かつ、種別が「精密機器」である第2荷物PC2の回収順番が3番に設定された場合を具体例として挙げて以下の説明を行う。
【0305】
次に、制御装置100は、
図33に示した破損判別処理を再度実行する(ステップS12a)。破損判別処理の実行を再度開始すると、制御装置100は、ステップS161からS164の処理を実行する(ステップS161からS164)。これにより、制御装置100は、1番の回収順番に注目し、注目順番である1番が設定された第2荷物PC1の耐衝撃性を重量「500 g」を用いて表す耐衝撃性情報を取得する。また、制御装置100は、直後の順番である2番が設定された第2荷物PC4の重量「100 g」を表す重量情報を取得する。
【0306】
次に、制御装置100の制御部180は、第2荷物PC1の耐衝撃性情報が用いる重量「500 g」が、第2荷物PC4の重量情報で表される重量「100 g」以上であると判別する。このため、制御部180は、1番の回収順番が設定された第2荷物PC1が、直後の順番である2番が設定された第2荷物PC4の回収により破損する破損確率が予め定められた確率以下であると判別する(ステップS165;Yes)。
【0307】
その後、制御装置100の制御部180は、直後の順番である2番に注目してから(ステップS167)、上述のステップS162からS164の処理を再度実行する(ステップS162からS164)。これにより、制御装置100は、注目順番である2番が設定された第2荷物PC4の耐衝撃性を重量「5,000 g」を用いて表す耐衝撃性情報を取得し、直後の順番である3番が設定された第2荷物PC2の重量「200 g」を表す重量情報を取得する。次に、制御部180は、注目順番である2番の第2荷物PC4の耐衝撃性情報が用いる重量「3,000 g」が、直後の順番である3番の第2荷物PC2の重量情報で表される重量「200 g」以上であると判別する。このため、制御部180は、2番の回収順番が設定された第2荷物PC4が、3番が設定された第2荷物PC2の回収により破損する破損確率が予め定められた確率以下であると判別する。
【0308】
また、制御装置100の制御部180は、1番の第2荷物PC1の耐衝撃性情報が用いる重量「500 g」が、3番の第2荷物PC2の重量情報で表される重量「200 g」以上であると判別する。このため、制御部180は、1番の回収順番が設定された第2荷物PC1が、3番が設定された第2荷物PC2の回収により破損する破損確率が予め定められた確率以下であると判別する(ステップS165;Yes)。
【0309】
その後、制御装置100の制御部180は、直後の順番である3番に注目してから(ステップS167)、ステップS162の処理を再度実行する。このとき、取得部110は、
図11の回収予定テーブルから、注目順番の直後の順番である4番の回収順番を表す情報の取得を試行する。本変形例では、直後の順番を表す情報が取得されないため、制御部180は、注目順番の直後の順番である4番の回収順番が存在しないと判別する(ステップS162;No)。その後、制御部180は、第2荷物PC1、PC2、及び、PC4の回収により、第2荷物PC1、PC2、及び、PC4のいずれも破損しないと判別する(ステップS168)。次に、制御装置100の制御部180は、破損が生じないことを表す値「true」に返値を設定してから、破損判別処理の実行を終了する。
【0310】
図31のステップS12aで破損判別処理が実行された後に、制御装置100の制御部180は、返値が値「true」であると判別する。このため、制御部180は、ステップS11で再度選択された組み合わせCB4に含まれる第2荷物PC1、PC2、及び、PC4を、ステップS12で設定された回収順番に従って移動体600が回収すると、第2荷物PC1、PC2、及び、PC4のいずれにも破損が生じないと判別する(ステップS12b;No)。
【0311】
その後、制御装置100は、ステップS13から移動制御処理の実行を継続する。すなわち、制御部180は、1番目の回収順番が設定され、かつ、種別が「精密機械」である第2荷物PC1が配送先の位置D1で回収された後に、2番目の回収順番が設定され、かつ、種別が「衣服」である第2荷物PC4の回収地点の位置D4へ位置D1から移動体600を移動させる制御を行う。第2荷物PC4が位置D4で回収された後に、制御部180は、3番目の回収順番が設定され、かつ、種別が「精密機械」である第2荷物PC2の回収地点の位置D2へ位置D4から移動体600を移動させる制御を行う。
【0312】
これに対して、制御装置100の制御部180は、破損が生じると判別された組み合わせCB3に含まれる第2荷物PC1からPC3を、ステップS12で設定された回収順番に従って回収させる制御を移動体600に行わない。すなわち、制御部180は、種別が「精密機械」である第2荷物PC1の破損を抑制するため、第2荷物PC1が配送先の位置D1で回収された後に、種別が「書籍」である第2荷物PC3の回収地点の位置D3へ移動体600を移動させる制御を行わない。
【0313】
これらの構成によれば、制御装置100の制御部180は、配送先の位置D1で回収される第2荷物PC1の耐衝撃性情報と、回収地点の位置D4で回収される第2荷物PC4の重量情報と、に基づいて、配送先の位置D1で回収される第2荷物PC1が、回収地点の位置D4で行われる第2荷物PC4の回収により、破損する破損確率が予め定められた確率以下であるか否かを判別する。また、制御部180は、破損確率が予め定められた確率以下であると判別すると、配送先の位置D1で第2荷物PC1が回収された後に、第2荷物PC4の回収地点の位置D4へ移動体600を移動させる制御を行う。このため、制御部180は、第2荷物PC1の破損を抑制しながら、第2荷物PC1と第2荷物PC4とを移動体600に回収させることができる。
【0314】
これらの構成によれば、制御装置100の制御部180は、配送先の位置D1で回収される第2荷物PC1の耐衝撃性情報と、回収地点の位置D3で回収される第2荷物PC3の重量情報と、に基づいて、配送先の位置D1で回収される第2荷物PC1が、回収地点の位置D3で行われる第2荷物PC3の回収により、破損する破損確率が予め定められた確率以下であるか否かを判別する。また、制御部180は、破損確率が予め定められた確率より高いと判別すると、配送先の位置D1で第2荷物PC1が回収された後に、回収地点の位置D3へ移動体600を移動させる制御を行わない。このため、制御部180は、第2荷物PC1の破損を従来よりも確実に抑制できる。
【0315】
<実施例2の変形例3>
実施例2の変形例2では、種別が「書籍」である第2荷物PC3を回収することで、回収順番が1番の第2荷物PC1が破損すると判別される場合について説明した。しかし、本変形例では、種別が「書籍」である第2荷物PC3を回収することで、回収順番が2番の第2荷物が破損すると判別される場合について説明する。
【0316】
本変形例に係る制御装置100は、実施例2の変形例2と同様に、
図31及び
図4に示すような移動制御処理を実行する。制御装置100は、移動制御処理の実行を開始すると、実施例2の変形例2で説明したステップS01からS12の処理を実行する(ステップS01からS12)。これにより、制御装置100は、実施例2の変形例2と同様に、
図14に示した組み合わせCB1ないしCB7から、第2荷物PC1からPC3を含む組み合わせCB3を、移動体600に回収させる第2荷物の組み合わせとして選択する。また、制御装置100は、実施例2の変形例2と異なり、
図34に破線を用いて表す回収順番を第2荷物PC1からPC3に設定する。すなわち、制御装置100は、配送先の位置D1で回収される第2荷物PC1の回収順番を1番に設定し、種別が「精密機器」である第2荷物PC2の回収順番を2番に設定し、種別が「書籍」である第2荷物PC3の回収順番を3番に設定する。
【0317】
その後、制御装置100は、
図33に示した破損判別処理を実行する(ステップS12a)。破損判別処理の実行を開始すると、制御装置100の制御部180は、ステップS161からS164の処理を実行する(ステップS161からS164)。これにより、制御装置100は、1番の回収順番に注目し、注目順番である1番が設定された第2荷物PC1の耐衝撃性を重量「500 g」を用いて表す耐衝撃性情報を取得する。また、制御装置100は、直後の順番である2番が設定された第2荷物PC2の重量「200 g」を表す重量情報を取得する。次に、制御装置100は、第2荷物PC1の耐衝撃性情報が用いる重量「500 g」が、第2荷物PC2の重量情報で表される重量「200 g」以上であると判別する。このため、制御部180は、1番の回収順番が設定された第2荷物PC1が、2番が設定された第2荷物PC2の回収により破損する破損確率が予め定められた確率以下であると判別する(ステップS165;Yes)。
【0318】
その後、制御装置100の制御部180は、注目順番の直後の順番である2番に注目してから(ステップS167)、上述のステップS162からS164の処理を再度実行する(ステップS162からS164)。これにより、制御装置100は、注目順番である2番が設定された第2荷物PC2の耐衝撃性を重量「500 g」を用いて表す耐衝撃性情報を取得し、注目順番の直後の順番である3番が設定された第2荷物PC3の重量「3,000 g」を表す重量情報を取得する。次に、制御部180は、2番の第2荷物PC2の耐衝撃性情報が用いる重量「500 g」が、3番の第2荷物PC3の重量情報で表される重量「3,000 g」以下であると判別する。このため、制御部180は、2番の回収順番が設定された第2荷物PC2が、3番の回収順番が設定された第2荷物PC3の回収により破損する確率が予め定められた確率より高いと判別する(ステップS165;No)。その後、制御部180は、回収順番が2番であり、かつ、種別が「精密機器」である第2荷物PC2が、回収順番が3番であり、かつ、種別が「書籍」である第2荷物PC3の回収により破損すると判別してから(ステップS166)、破損判別処理の実行を終了する。
【0319】
ステップS12aで破損判別処理を実行した後に、制御装置100は、実施例2の変形例2で説明したステップS12b及びS12cの処理を実行する(ステップS12b及びS12c)。これにより、制御装置100は、組み合わせCB1ないしCB7から、ステップS11で選択され、かつ、破損が生じると判別された組み合わせCB3を除外する。その後、制御装置100は、
図15に示した組合選択処理を実行することで(ステップS11)、実施例2の変形例2と同様に、組み合わせCB3を除外した後の組み合わせCB1、CB2、及び、CB4ないしCB7から、
図14に示した第2荷物PC1、PC2、及び、PC4を含む組み合わせCB4を選択する。
【0320】
次に、制御装置100は、
図16に示した回収順番設定処理を実行する(ステップS12)。これにより、制御装置100は、実施例2の変形例2と同様に、配送先の位置D1で回収される第2荷物PC1の回収順番を1番に設定し、種別が「衣服」である第2荷物PC4の回収順番を2番に設定し、かつ、種別が「精密機器」である第2荷物PC2の回収順番を3番に設定する。その後、制御装置100は、
図33に示した破損判別処理を再度実行する(ステップS12a)。
【0321】
次に、制御装置100は、ステップS11で再度選択された組み合わせCB4に含まれる第2荷物PC1、PC2、及び、PC4を、ステップS12で設定された回収順番に従って移動体600が回収すると、第2荷物PC1、PC2、及び、PC4のいずれにも破損が生じないと判別する(ステップS12b;No)。
【0322】
その後、制御装置100は、ステップS13から移動制御処理の実行を継続する。これにより、制御部180は、破損が生じないと判別された組み合わせCB4に含まれる第2荷物PC1、PC2、及び、PC4を、ステップS12で設定された回収順番に従って回収させる制御を移動体600に行う。すなわち、制御部180は、実施例2の変形例2と同様に、1番目の回収順番が設定され、かつ、種別が「精密機械」である第2荷物PC1が配送先の位置D1で回収された後に、2番目の回収順番が設定され、かつ、種別が「衣服」である第2荷物PC4の回収地点の位置D4へ位置D1から移動体600を移動させる制御を行う。第2荷物PC4が位置D4で回収された後に、制御部180は、3番目の回収順番が設定され、かつ、種別が「精密機械」である第2荷物PC2の回収地点の位置D2へ位置D4から移動体600を移動させる制御を行う。
【0323】
これに対して、制御装置100の制御部180は、破損が生じると判別された組み合わせCB3に含まれる第2荷物PC1からPC3を、ステップS12で設定された回収順番に従って回収させる制御を移動体600に行わない。すなわち、制御部180は、3番の回収順番が設定され、かつ、種別が「書籍」である第2荷物PC3の回収により、2番の回収順番が設定され、かつ、種別が「精密機械」である第2荷物PC2が破損することを抑制するため、第2荷物PC2が回収地点の位置D2で回収された後に、第2荷物PC3の回収地点の位置D3へ移動体600を移動させる制御を行わない。
【0324】
これらの構成によれば、制御装置100の制御部180は、回収地点の位置D4で回収され、かつ、種別が「衣服」である第2荷物PC4の回収順番が、回収地点の位置D2で回収され、かつ、種別が「精密機器」である第2荷物PC2の回収順番よりも早い場合、回収地点の位置D4で回収される第2荷物PC4の耐衝撃性情報と、回収地点の位置D2で回収される第2荷物PC2の重量情報と、に基づいて、回収地点の位置D4で回収される第2荷物PC4が、回収地点の位置D2で行われる第2荷物PC2の回収により破損する破損確率が予め定められた確率以下であるか否かを判別する。制御部180は、破損確率が予め定められた確率以下であると判別すると、回収地点の位置D4で第2荷物PC4が回収された後に、第2荷物PC2の回収地点の位置D2へ移動体600を移動させる制御を行う。このため、制御部180は、第2荷物PC4の破損を抑制しながら、第2荷物PC2と第2荷物PC4とを移動体600に回収させることができる。
【0325】
またこれらの構成によれば、制御装置100の制御部180は、回収地点の位置D2で回収され、かつ、種別が「精密機器」である第2荷物PC2の回収順番が、回収地点の位置D3で回収され、かつ、種別が「書籍」である第2荷物PC3の回収順番よりも早い場合、回収地点の位置D2で回収される第2荷物PC2の耐衝撃性情報と、回収地点の位置D3で回収される第2荷物PC3の重量情報と、に基づいて、回収地点の位置D2で回収される第2荷物PC2が、回収地点の位置D3で行われる第2荷物PC3の回収により破損する破損確率が予め定められた確率以下であるか否かを判別する。制御部180は、破損確率が予め定められた確率より高いと判別すると、回収地点の位置D2で第2荷物PC2が回収された後に、回収地点の位置D3へ移動体600を移動させる制御を行わない。このため、制御部180は、第2荷物PC2の破損を従来よりも確実に抑制できる。
【0326】
<実施例2の変形例4>
実施例2では、実施例1と同様に、移動体600の入力装置695cが、受取人の操作に応じて、受け取りの完了を表す信号を出力すると、移動体600の制御部688は、第1荷物PD1が受取人へ受け渡されたことを判別すると説明したが、これに限定される訳では無い。本変形例では、移動体600の格納ボックス621は、格納ボックス621に格納される1個の荷物の重量、又は、複数の荷物の合計重量を計測する、
図35に示すような計測装置CWを備え、移動体600の制御部180は、計測装置CWで計測される重量又は合計重量に基づいて、第1荷物PD1が受け渡されたこと、及び、第2荷物PC1からPC3のいずれかが回収されたことを判別する。
【0327】
移動体600の格納ボックス621は、格納ボックス621の棚板の上面に計測装置CWを備えている。計測装置CWは、例えば、ロードセル式、圧電素子式、又は、静電容量式の重量センサであり、不図示のケーブルを介して移動体600が備える制御装置690の入出力ポート698に接続されている。計測装置CWは、格納ボックス621に格納された1個の商品の重量、又は、複数の商品の合計重量を、予め定められた周期で計測し、計測された重量又は合計重量を表す信号を制御装置690へ出力する。
【0328】
本変形例に係る移動体600の取得部681は、受渡扉621ahを施錠させる制御が行われてから、
図23のステップS116で、受渡扉621ahを解錠させる制御が行われるまでの間に、計測装置CWから出力される信号に基づいて、計測装置CWで計測された重量又は合計重量(以下、計測重量という)を表す情報を取得する。次に、移動体600の制御部688は、取得された計測重量を表す情報をフラッシュメモリ693bに保存する。
【0329】
その後、移動体600は、ステップS117の処理を実行する。ステップS117の処理の実行が開始されると、移動体600の取得部681は、計測装置CWから出力される信号に基づいて、計測重量を表す情報を再度取得する。次に、制御部688は、再度取得された情報で表される計測重量(以下、再度取得された計測重量という)が、フラッシュメモリ693bに保存された情報で表される計測重量(以下、保存された計測重量という)よりも軽いか否かを判別する。このとき、制御部688は、再度取得された計測重量が保存された計測重量以上であると判別すると、第1荷物PD1の受け渡しが完了していないと判別する(ステップS117;No)。その後、移動体600は、ステップS117の処理を繰り返す。
【0330】
これに対して、再度取得された計測重量が、保存された計測重量よりも軽いと判別されると、移動体600の取得部681は、フラッシュメモリ693bから、予め定められた正の閾値を表す情報を取得する。閾値は、正の値であれば、どのような値であっても良く、好適な閾値の値は、当業者が実験により定めることができる。次に、制御部688は、再度取得された計測重量と、保存された計測重量と、の相違が、取得された情報で表される閾値以上であるか否かを判別する。このために、制御部688は、保存された計測重量から、再度取得された計測重量を減算することで相違を算出し、算出された相違が閾値以上であるか否かを判別する。このとき、制御部688は、相違が閾値よりも小さいと判別すると、第1荷物PD1の受け渡しが完了していないと判別する(ステップS117;No)。その後、移動体600は、ステップS117の処理を繰り返す。
【0331】
これに対して、移動体600の制御部688は、相違が閾値以上であると判別すると、第1荷物PD1の受け渡しが完了したと判別する(ステップS117;Yes)。その後、移動体600は、ステップS118から受渡処理の実行を継続する。
【0332】
本変形例に係る移動体600の取得部681は、ステップS117で、受け渡しが完了したと判別されてから、
図24のステップS126で、回収扉621acを解錠させる制御が行われるまでの間に、計測装置CWから出力される信号に基づいて、計測重量を表す情報を取得する。次に、移動体600の制御部688は、取得された計測重量を表す情報をフラッシュメモリ693bに保存する。
【0333】
その後、移動体600は、
図24のステップS127の処理を実行する。以下、第2荷物PC1が回収される場合を具体例として挙げて、ステップS127の説明を行う。しかし、回収される荷物は、第2荷物PC1に限定される訳ではなく、第2荷物PC2からPC6のいずれかであっても良い。
【0334】
ステップS127の処理の実行が開始されると、移動体600の取得部681は、計測重量を表す情報を再度取得する。次に、制御部688は、再度取得された計測重量が、保存された計測重量よりも重いか否かを判別する。このとき、制御部688は、再度取得された計測重量が保存された計測重量以下であると判別すると、第2荷物PC1の回収が完了していないと判別する(ステップS127;No)。その後、移動体600は、ステップS127の処理を繰り返す。
【0335】
これに対して、再度取得された計測重量が、保存された計測重量よりも重いと判別されると、移動体600の取得部681は、フラッシュメモリ693bから、予め定められた正の閾値を表す情報を取得する。次に、制御部688は、再度取得された計測重量と、保存された計測重量と、の相違が、取得された情報で表される閾値以上であるか否かを判別する。このために、制御部688は、再度取得された計測重量から、保存された計測重量を減算することで相違を算出し、算出された相違が閾値以上であるか否かを判別する。このとき、制御部688は、相違が閾値よりも小さいと判別すると、第2荷物PC1の回収が完了していないと判別する(ステップS127;No)。その後、移動体600は、ステップS127の処理を繰り返す。
【0336】
これに対して、移動体600の制御部688は、相違が閾値以上であると判別すると、第2荷物PC1の回収が完了したと判別する(ステップS127;No)。その後、移動体600は、ステップS128から受渡処理の実行を継続する。
【0337】
<実施例2の変形例5>
実施例2の変形例4では、移動体600の制御部688は、格納ボックス621に格納された1個の荷物の重量、又は、複数の荷物の合計重量であり、かつ、計測装置CWで計測された重量又は合計重量に基づいて、第1荷物PD1が受け渡されたこと、及び、第2荷物PC1が回収されたこと、を判別すると説明したが、これに限定される訳では無い。本変形例では、移動体600の格納ボックス621は、格納ボックス621に格納される1又は複数の荷物を撮像することで画像を生成する、
図36に示すような撮像装置CRを備える。また、本変形例では、移動体600の制御部688は、撮像装置CRで生成される画像に基づいて、第1荷物PD1が受け渡されたこと、及び、第2荷物PC1からPC3のいずれかが回収されたこと、を判別する。
【0338】
移動体600が備える格納ボックス621の天板の下側の面には、例えば、ストロボスコープを備えたデジタルカメラである撮像装置CRが設置されている。撮像装置CRの設置位置、光軸、及び、画角は、格納ボックス621の底板の上側の面が撮像装置CRの撮像範囲に含まれるように調整されている。このため、格納ボックス621に1又は複数の荷物が格納されると、撮像装置CRの撮像範囲には、格納ボックス621に格納された当該1又は複数の荷物が含まれる。撮像装置CRは、予め定められた周期で、ストロボスコープを点灯させて撮像を行い、撮像により得られた画像(以下、撮像画像という)を表す信号を制御装置690へ出力する。
【0339】
本変形例に係る移動体600の取得部681は、受渡扉621ahを施錠させる制御が行われてから、
図23のステップS116で、受渡扉621ahを解錠させる制御が行われるまでの間において、撮像装置CRから出力される信号に基づいて、撮像画像を表す情報を取得する。次に、移動体600の取得部681は、フラッシュメモリ693bから荷物のテンプレート画像を表す情報を取得する。その後、移動体600の制御部688は、取得された情報で表される撮像画像と、テンプレート画像と、を用いてテンプレートマッチングを行うことで、撮像画像から荷物に対応する画像領域の検出を試行する。このとき、荷物に対応する画像領域が検出されると、移動体600の制御部688は、検出された画像領域の数を、移動体600の格納ボックス621に格納された荷物の数として計数する。これに対して、荷物に対応する画像領域が検出されないと、格納ボックス621に格納された荷物の数が「0」個であると判別する。次に、移動体600の制御部688は、格納ボックス621に格納された荷物の数を表す情報をフラッシュメモリ693bに保存する。
【0340】
その後、移動体600は、ステップS117の処理を実行する。ステップS117の処理の実行が開始されると、移動体600の取得部681は、撮像装置CRから出力される信号に基づいて、撮像画像を表す情報を再度取得する。次に、移動体600の制御部688は、再度取得された情報で表される撮像画像に基づいて、格納ボックス621に格納された荷物の個数を再度計数する。その後、移動体600の制御部688は、再度計数された荷物の個数が、フラッシュメモリ693bに保存された情報で表される荷物の個数(以下、保存された荷物の個数という)よりも少ないか否かを判別する。このとき、制御部688は、再度計数された荷物の個数が保存された荷物の個数以上であると判別すると、第1荷物PD1の受け渡しが完了していないと判別する(ステップS117;No)。その後、移動体600は、ステップS117の処理を繰り返す。これに対して、移動体600の制御部688は、再度計数された荷物の個数が保存された荷物の個数よりも少ないと判別すると、第1荷物PD1の受け渡しが完了したと判別する(ステップS117;Yes)。その後、移動体600は、ステップS118から受渡処理の実行を継続する。
【0341】
本変形例に係る移動体600の取得部681は、ステップS117で、第1荷物PD1の受け渡しが完了したと判別されてから、
図24のステップS126で、回収扉621acを解錠させる制御が行われるまでの間において、撮像装置CRから出力される信号に基づいて、撮像画像を表す情報を取得する。次に、移動体600の制御部688は、取得された情報で表される撮像画像に基づいて、格納ボックス621に格納された荷物の個数を計数する。次に、移動体600の制御部688は、計数された個数を表す情報をフラッシュメモリ693bに保存する。
【0342】
その後、移動体600は、
図24のステップS127の処理を実行する。以下、第2荷物PC1が回収される場合を具体例として挙げてステップS127の説明を行う。しかし、回収される荷物は、第2荷物PC1に限定される訳ではなく、第2荷物PC2からPC6のいずれかであっても良い。
【0343】
ステップS127の処理の実行が開始されると、移動体600の取得部681は、撮像装置CRから出力される信号に基づいて、撮像画像を表す情報を再度取得する。次に、移動体600の制御部688は、再度取得された情報で表される撮像画像に基づいて、格納ボックス621に格納された荷物の個数を再度計数する。その後、移動体600の制御部688は、再度計数された荷物の個数が、保存された荷物の個数よりも少ないか否かを判別する。このとき、制御部688は、再度計数された荷物の個数が保存された荷物の個数以下であると判別すると、第2荷物PC1の回収が完了していないと判別する(ステップS127;No)。その後、移動体600は、ステップS127の処理を繰り返す。これに対して、移動体600の制御部688は、再度計数された荷物の個数が保存された計測重量よりも多いと判別すると、第2荷物PC1の回収が完了したと判別する(ステップS127;Yes)。その後、移動体600は、ステップS128から回収処理の実行を継続する。
【0344】
<実施例2の変形例6>
計測装置CWで計測される重量又は合計重量に基づいて、第1荷物PD1が受け渡されたことを判別する実施例2の変形例4と、撮像装置CRで生成される画像に基づいて、第1荷物PD1が受け渡されたことを判別する実施例2の変形例5と、は、組み合わせることができる。
【0345】
実施例2の変形例4と実施例2の変形例5との組み合わせに係る本変形例の移動体600は、実施例2の変形例4で説明した計測装置CWと、実施例2の変形例5で説明した撮像装置CRと、を備える。本変形例に係る移動体600の制御部688は、計測装置CWで計測される重量又は合計重量と、撮像装置CRで生成される画像と、に基づいて、第1荷物PD1が受け渡されたこと、及び、第2荷物PC1からPC3のいずれかが回収されたことを判別する。
【0346】
このために、本変形例に係る移動体600の制御部688は、
図23のステップS117において、再度取得された計測重量が、ステップS117の実行前に保存された計測重量以上であると判別すると、第1荷物PD1の受け渡しが完了していないと判別する(ステップS117;No)。また、ステップS117において、移動体600の制御部688は、再度取得された計測重量が保存された計測重量よりも軽いと判別し、かつ、再度取得された計測重量と保存された計測重量との相違が、予め定められた閾値より小さいと判別すると、第1荷物PD1の受け渡しが完了していないと判別する(ステップS117;No)。さらに、移動体600の制御部688は、ステップS117において、再度計数された荷物の個数が保存された荷物の個数以上であると判別すると、第1荷物PD1の受け渡しが完了していないと判別する(ステップS117;No)。
【0347】
これに対して、ステップS117において、移動体600の制御部688は、再度取得された計測重量が保存された計測重量よりも軽いと判別し、再度取得された計測重量と保存された計測重量との相違が、予め定められた閾値以上であると判別し、かつ、再度計数された荷物の個数が保存された荷物の個数より少ないと判別すると、第1荷物PD1の受け渡しが完了したと判別する(ステップS117;Yes)。
【0348】
その後、移動体600は、
図24のステップS127の処理を実行する。以下、第2荷物PC1が回収される場合を具体例として挙げてステップS127の説明を行う。しかし、回収される荷物は、第2荷物PC1に限定される訳ではなく、第2荷物PC2からPC6のいずれかであっても良い。
【0349】
移動体600の制御部688は、ステップS127において、再度取得された計測重量が、ステップS127の実行前に保存された計測重量以下であると判別すると、第2荷物PC1の回収が完了していないと判別する(ステップS127;No)。また、ステップS127において、移動体600の制御部688は、再度取得された計測重量が保存された計測重量よりも重いと判別し、かつ、再度取得された計測重量と保存された計測重量との相違が、予め定められた閾値より小さいと判別すると、第2荷物PC1の回収が完了していないと判別する(ステップS127;No)。さらに、移動体600の制御部688は、ステップS127において、再度計数された荷物の個数が保存された荷物の個数以下であると判別すると、第2荷物PC1の回収が完了していないと判別する(ステップS127;No)。
【0350】
これに対して、ステップS127において、移動体600の制御部688は、再度取得された計測重量が保存された計測重量よりも重いと判別し、再度取得された計測重量と保存された計測重量との相違が、予め定められた閾値以上であると判別し、かつ、再度計数された荷物の個数が保存された荷物の個数より多いと判別すると、第2荷物PC1の回収が完了したと判別する(ステップS127;Yes)。
【0351】
<実施例2の変形例7>
実施例2では、制御装置100は、
図29のステップS153で、回収順番が設定されていない第2荷物PC2及びPC3が存在すると判別する(ステップS153;Yes)と説明したが、これに限定される訳では無い。制御装置100は、回収順番が設定されていない第2荷物が存在しないと判別すると(ステップS153;No)、回収順番設定処理の実行を終了する。
【0352】
<実施例2の変形例8>
制御システム1は、制御装置100を備えなくとも良く、
図31及び
図4に示した移動制御処理、
図13に示した回収可能通知出力処理、
図15に示した組合選択処理、
図18に示した配送制御処理、
図19に示した回収制御処理、
図29に示した回収順番設定処理、及び、
図33に示した破損判別処理は、移動体600が備える制御装置690のCPU691によって実行されても良い。このため、移動体600の取得部681が、制御装置100の取得部110の機能をさらに備え、移動体600の制御部688が、制御装置100の制御部180の機能をさらに備えても良い。また、移動体600のCPU691が、制御装置100の選択部120、特定部130、設定部140、及び、生成部150に相当する不図示の機能部として機能しても良い。また、移動体600のフラッシュメモリ693bが、制御装置100の情報記憶部190に相当する不図示の機能部として機能しても良い。
【0353】
また、これに限定される訳ではなく、
図31及び
図4に示した移動制御処理、
図13に示した回収可能通知出力処理、
図15に示した組合選択処理、
図18に示した配送制御処理、
図19に示した回収制御処理、
図29に示した回収順番設定処理、及び、
図33に示した破損判別処理の少なくとも1つは、制御装置100のCPU101と、移動体600のCPU691と、移動体700が備える不図示のCPUと、端末装置901から906が備える不図示のCPUと、の2つ以上によって分散実行されても良い。
【0354】
<実施例3>
実施例1では、制御システム1は、制御装置100と、移動体600及び700と、端末装置901から906と、を備えると説明した。また、実施例1では、制御装置100は、回収が要求された第2荷物PC1からPC5の内で、第2荷物PC1からPC3を移動体600に回収させるが、第2荷物PC4及びPC5を移動体600及び700のいずれにも回収させないと説明したが、これらに限定される訳では無い。本実施例では、制御システム1は、
図37に示すように、制御装置100と、移動体600から800と、端末装置901から906と、を備える。また、本実施例では、制御装置100は、回収が要求された第2荷物PC1からPC5の内で、第2荷物PC1からPC3を移動体600に回収させ、かつ、第2荷物PC4及びPC5を移動体800に回収させる。以下、実施例1と同様の構成については、実施例1で用いた符号と同一の符号を用いて説明するが、本実施例と実施例1との相違について主に説明する。
【0355】
移動体800が有する構成及び機能は、移動体600が有する構成及び機能と同様である。しかし、移動体800の不図示の格納庫のサイズは、「大」であり、移動体600の格納庫620のサイズと異なる。移動体800の格納庫のサイズが「大」であるとは、上述の数M1よりも多いM3個、「小」のサイズの荷物を格納可能な容積を当該格納庫が有していることを意味する(但し、M3は自然数)。本実施例では、M3の値が予め定められた値「7」であるため、移動体800の格納庫は、「小」のサイズの荷物を格納するために要する基準の空間の7倍の容積を有している。このため、移動体800の格納庫のサイズ「大」が数字「7」を用いて表される場合を具体例として挙げて以下の説明を行う。
【0356】
本実施例に係る制御装置100の情報記憶部190は、移動体600から800に関する情報が保存されている、
図38に示すような移動体テーブルを予め記憶している。移動体テーブルの1番のレコードには、実施例1と同様に、移動体600の機体ID「600」と、移動体600が備える格納庫620のサイズ「中」を数字「5」を用いて表す情報と、が予め対応付けられて保存されている。また、2番のレコードには、実施例1と同様に、移動体700の機体ID「700」と、移動体700が備える格納庫720のサイズ「小」を数字「3」を用いて表す情報と、が予め対応付けられて保存されている。さらに、3番のレコードには、実施例1と異なり、移動体800の機体ID「800」と、移動体800が備える格納庫のサイズ「大」を数字「7」を用いて表す情報と、が予め対応付けられて保存されている。
【0357】
本実施例に係る制御装置100は、起動すると、実施例1で説明し、かつ、
図3及び
図4に示した移動制御処理を実行する。移動制御処理の実行を開始すると、制御装置100は、ステップS01からS14の処理を実行する(ステップS01からS14)。これにより、制御装置100は、第2荷物PC1からPC5の回収要求を受信し、第2荷物PC1からPC3の回収要求を受け付けることを決定し、第2荷物PC1からPC3を移動体600に回収させる回収予定を生成する。
【0358】
次に、制御装置100は、実施例1と同様に、受け付けられなかった第2荷物PC4及びPC5の回収要求が存在すると判別するが(ステップS15;Yes)、実施例1と異なり、第2荷物PC4及びPC5の回収要求を受け付けないとの決定を保留する。次に、制御装置100のCPU101は、移動制御処理を実行するスレッド又はプロセスと異なるスレッド又はプロセスで、
図39及び
図40に示すような補充移動制御処理を、移動制御処理と並列に実行する。その後、CPU101は、ステップS16の処理を実行せずに、ステップS17から移動制御処理の実行を継続する。
【0359】
補充移動制御処理の実行を開始すると、制御装置100の取得部110は、
図10の発送荷物テーブルから、回収要求の受け付けが保留された第2荷物PC4の荷物ID「PC4」に対応付けられたサイズ「小」を数字「1」を用いて表すサイズ情報を取得する。また、取得部110は、配送荷物テーブルから、第2荷物PC5の荷物ID「PC5」に対応付けられたサイズ「大」を数字「5」を用いて表すサイズ情報を取得する。次に、制御部180は、取得された情報によって第2荷物PC4のサイズ「小」を表すために用いられる数字「1」と、第2荷物PC5のサイズ「大」を表すために用いられる数字「5」と、の和「6」を算出する。これにより、制御部180は、第2荷物PC4及びPC5を格納するのに要する空間の体積が基準の空間の体積の6倍であると判別する。このため、取得部110は、
図38の移動体テーブルから、「6」以上の数字を用いて格納庫のサイズを表すサイズ情報と対応付けられた機体IDであり、かつ、第2荷物PC1からPC3を格納させる移動体600の機体ID「600」と異なる機体IDの取得を試行する。
【0360】
これにより、制御装置100の取得部110は、数字「7」を用いて格納庫のサイズ「大」を表すサイズ情報と対応付けられた機体ID「800」を取得するが、数字「3」を用いて格納庫720のサイズ「小」を表すサイズ情報と対応付けられた機体ID「700」を取得しない。このため、特定部130は、機体ID「800」で識別される移動体800が第2荷物PC4及びPC5を格納可能であることを特定し、機体ID「700」で識別される移動体700が第2荷物PC4及びPC5を格納不能であることを特定する。その後、選択部120は、取得された機体ID「800」で識別される移動体800を、第2荷物PC4及びPC5を配送させる移動体として選択する(ステップS171)。
【0361】
次に、制御装置100は、
図3のステップS10と同様の処理を実行することで、移動体800が格納可能な第2荷物の組み合わせCB’1からCB’3を生成する(ステップS172)。組み合わせCB’1は、第2荷物PC4からなる不図示の組み合わせであり、組み合わせCB’2は、第2荷物PC5からなる不図示の組み合わせであり、組み合わせCB’3は、第2荷物PC4及びPC5からなる不図示の組み合わせである。その後、制御装置100は、
図15に示した組合選択処理を実行することで(ステップS173)、第2荷物PC4及びPC5からなる組み合わせCB’3を選択する。
【0362】
次に、制御装置100の制御部180は、第2荷物PC4及びPC5のサイズ情報と、移動体800のサイズ情報と、に基づいて、第2荷物PC4及びPC5が移動体800の不図示の格納ボックスに格納された後に、荷物を格納するための空間(以下、空き空間という)が当該格納ボックスに存在するか否かを判別する(ステップS174)。このために、制御部180は、移動体800のサイズ情報で格納ボックスのサイズを表すために用いられる数字「7」から、第2荷物PC4のサイズ情報で用いられる数字「1」と、第2荷物PC5のサイズ情報で用いられる数字「5」と、を減算することで、数字「1」を算出する。これにより、制御部180は、第2荷物PC4及びPC5が移動体800の格納ボックスに格納された後に、「小」のサイズの荷物を1つ格納可能な空き空間が存在すると判別する(ステップS174;Yes)。
【0363】
その後、制御装置100は、
図13に示した回収可能通知出力処理を実行する(ステップS175)。回収可能通知出力処理の実行を開始すると、制御装置100の取得部110は、例えば、OSからシステム日時を取得する。次に、取得部110は、
図10の発送荷物テーブルから、配送期限がシステム日時に近く、未配送であり、移動体800の空き空間に格納可能であり、かつ、回収要求が取得されていない第2荷物の特定を試行する。このために、取得部110は、発送荷物テーブルから、システム日時との相違が、予め定められた猶予期間の長さよりも短い発送期限を表す期限情報と、値「false」の発送完了フラグと、値「false」の回収要求フラグと、移動体800の格納ボックスの空き空間のサイズを表すために用いられる数字「1」以下の数字を用いるサイズ情報と、に対応付けられている1又は複数の荷物IDの取得を試行する。本実施例では、6番のレコードに保存されている荷物ID「PC6」が取得される場合を具体例として挙げて以下の説明を行う。このため、制御部180は、配送期限がシステム日時に近く、未配送であり、移動体800の空き空間に格納可能であり、かつ、回収要求が取得されていない第2荷物PC6が存在すると判別する(ステップS31;Yes)。その後、制御装置100は、ステップS32からS38の処理を実行することで(ステップS32からS38)、第2荷物PC6を発送するユーザU6の端末装置906へ回収可能通知を送信してから、回収可能通知出力処理の実行を終了する。
【0364】
図39のステップS175で回収可能通知出力処理を実行した後、制御装置100は、
図3のステップS06からS08の処理と同様の処理を実行する(ステップS176からS178)。これにより、制御装置100は、回収可能通知を出力してから、予め定められた受付期間が経過するまでに回収要求を受信すると、
図10の発送荷物テーブルにおいて、回収要求に含まれるユーザIDと荷物IDとに対応付けられた回収要求フラグの値を、回収が要求されたことを表す値「true」に変更する。本実施例では、端末装置906を携帯するユーザU6のユーザID「U6」と、第2荷物PC6の荷物ID「PC6」と、を含み、第2荷物PC6のの回収を要求する回収要求が受信される場合を具体例として挙げて以下の説明を行う。このため、発送荷物テーブルにおいて、ユーザID「U6」と荷物ID「PC6」とに対応付けられている回収要求フラグの値が値「true」に変更される。
【0365】
次に、制御装置100の取得部110は、発送荷物テーブルから、回収が要求されていることを表す値「true」の回収要求フラグと、発送が完了していないことを表す値「false」の発送完了フラグと、に対応付けられた荷物IDの取得を試行する。これにより、取得部110は、第2荷物PC1からPC6を識別する荷物ID「PC1」から「PC6」を取得する。次に、制御部180は、移動体600に回収させる第2荷物PC1からPC3の荷物ID「PC1」から「PC3」を、取得された荷物ID「PC1」から「PC6」から除外する。これにより、残存する荷物ID「PC4」から「PC6」で識別される第2荷物PC4からPC6について、制御装置100は、
図3のステップS10と同様の処理を再度実行する。
【0366】
これにより、制御装置100は、移動体800が格納可能な第2荷物の組み合わせCB’’1からCB’’7を生成する(ステップS179)。組み合わせCB’’1は、第2荷物PC4からなる不図示の組み合わせであり、組み合わせCB’’2は、第2荷物PC4及びPC5からなる不図示の組み合わせである。また、組み合わせCB’’3は、第2荷物PC4及びPC6からなる不図示の組み合わせであり、組み合わせCB’’4は、第2荷物PC4ないしPC6からなる不図示の組み合わせである。さらに、組み合わせCB’’5は、第2荷物PC5からなる不図示の組み合わせであり、組み合わせCB’’6は、第2荷物PC5及びPC6からなる不図示の組み合わせであり、組み合わせCB’’7は、第2荷物PC6からなる不図示の組み合わせである。
【0367】
その後、制御装置100は、
図15に示した組合選択処理を再度実行することで(ステップS180)、第2荷物PC4ないしPC6からなる組み合わせCB’’4を選択する。次に、制御装置100は、
図3のステップS12からS16、S18、及び、S21からS24と同様の処理を再度実行することで(ステップS181からS190)、第2荷物PC4ないしPC6を回収させる制御を移動体800に行う。
【0368】
これらの構成によれば、制御装置100の制御部180は、移動体600が回収不能な第2荷物PC4及びPC5を、移動体600とは別の移動体800に回収させる制御を行う。このため、制御装置100は、制御システム1による荷物の回収効率の低下を抑制できる。制御システム1による荷物の回収効率は、単位時間当たり移動体600から800が回収する荷物の総数で表される。
【0369】
<実施例3の変形例1>
実施例3では、
図39のステップS174において、制御装置100は、第2荷物PC4及びPC5が移動体800の格納ボックスに格納された後に、「小」のサイズの荷物を格納可能な空き空間が移動体800の格納ボックスに存在すると判別する(ステップS174;Yes)と説明した。しかし、これに限定される訳では無い。制御装置100は、第2荷物PC4及びPC5が移動体800の格納ボックスに格納された後に、第2荷物PC4及びPC5と異なる荷物を格納可能な空き空間が移動体800の格納ボックスに存在しないと判別すると(ステップS174;No)、ステップS181から補充移動制御処理の実行を継続する。この判別のために、制御装置100の制御部180は、移動体800のサイズ情報で格納ボックスのサイズを表すために用いられる数字から、第2荷物PC4のサイズ情報で用いられる数字と、第2荷物PC5のサイズ情報で用いられる数字と、を減算する。その後、制御部180は、減算により得られた数字が値「0」以下であると、第2荷物PC4及びPC5が移動体800の格納ボックスに格納された後に、第2荷物PC4及びPC5と異なる荷物を格納可能な空きの空間が移動体800の格納ボックスに存在しないと判別する。
【0370】
本発明の実施例1から3、実施例1の変形例1から14、並びに、実施例2の変形例1から8、実施例3の変形例1は、互いに組み合わせることができる。
【0371】
実施例1から3、実施例1の変形例1から13、並びに、実施例2の変形例1から7、実施例3の変形例1のいずれかに係る機能を実現するための構成を備えた制御装置100、並びに、実施例1の変形例14及び実施例2の変形例8のいずれかに係る機能を実現するための構成を備えた制御装置690として提供できることはもとより、複数の装置で構成されるシステムであって、実施例1から3、実施例1の変形例1から14、並びに、実施例2の変形例1から8、実施例3の変形例1のいずれかに係る機能を実現するための構成をシステム全体として備えたシステムとして提供することもできる。
【0372】
実施例1から3、実施例1の変形例1から13、並びに、実施例2の変形例1から7、実施例3の変形例1のいずれかに係る機能を実現するための構成を予め備えた制御装置100として提供できる。また、プログラムの適用により、既存の実施例1から3、実施例1の変形例1から13、並びに、実施例2の変形例1から7、実施例3の変形例1のいずれかに係る制御装置100として機能させることもできる。すなわち、実施例1から3、実施例1の変形例1から13、並びに、実施例2の変形例1から7、実施例3の変形例1のいずれかで例示した制御装置100による各機能構成を実現させるためのプログラムを、既存の制御装置を制御するコンピュータ(CPUなど)が実行することで、実施例1から3、実施例1の変形例1から13、並びに、実施例2の変形例1から7、実施例3の変形例1のいずれかに係る制御装置100として機能させることができる。
【0373】
本発明の実施例1の変形例14及び実施例2の変形例8のいずれかに係る機能を実現するための構成を予め備えた制御装置690として提供できる。また、プログラムの適用により、既存の制御装置を実施例1の変形例14及び実施例2の変形例8のいずれかに係る制御装置690として機能させることもできる。すなわち、上記実施例1の変形例14及び実施例2の変形例8のいずれかで例示した制御装置690による各機能構成を実現させるためのプログラムを、既存の制御装置を制御するコンピュータ(CPUなど)が実行することで、実施例1の変形例14及び実施例2の変形例8のいずれかに係る制御装置690として機能させることができる。
【0374】
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD(Compact Disc)-ROM、又は、DVD(Digital Versatile Disc)-ROMなどの記録媒体に収納して配布できる他、インタネットなどの通信媒体を介して配布することもできる。
【0375】
本発明に係る方法は、実施例1から3、実施例1の変形例1から13、並びに、実施例2の変形例1から7、実施例3の変形例1のいずれかに係る制御装置100、並びに、実施例1の変形例14及び実施例2の変形例8のいずれか係る制御装置690を用いて実施できる。また、本発明に係る方法は、実施例1から3、実施例1の変形例1から14、並びに、実施例2の変形例1から8、実施例3の変形例1のいずれかに係る制御システム1を用いて実施できる。
【0376】
また、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【0377】
(付記)
(付記1)
第1荷物の受け渡しに用いられる受渡口と、前記第1荷物と異なる第2荷物の回収に用いられ、かつ、前記第2荷物の取り出しを不可とする回収口と、を設けたボックス、
を備えることを特徴とする移動体。
【0378】
(付記2)
前記回収口は、前記受渡口の上方に設けられている、
ことを特徴とする付記1に記載の移動体。
【0379】
(付記3)
前記ボックスは、前記受渡口を開閉する受渡扉と、前記回収口を開閉する回収扉と、を備え、
前記移動体は、前記第1荷物の配送先へ前記移動体を移動させる制御を行う制御部をさらに備え、
前記制御部は、
前記配送先へ前記移動体を移動させる前記制御を行う前に、前記受渡扉を施錠させる制御と、前記回収扉を施錠させる制御と、を行い、
前記移動体が前記配送先に到着した後に、前記第1荷物の受取人の認証が成功すると、前記受渡扉を解錠させる制御を行い、かつ、
前記第1荷物が受け渡されると、前記受渡扉を施錠させる前記制御を行う、
ことを特徴とする付記2に記載の移動体。
【0380】
(付記4)
前記制御部は、
前記第2荷物の回収地点が前記配送先を含む場合に、前記第1荷物が受け渡されると、前記回収扉を解錠させる制御を行い、かつ、
前記第2荷物が回収されると、前記回収扉を施錠させる前記制御を行う、
ことを特徴とする付記3に記載の移動体。
【0381】
(付記5)
前記移動体は、前記ボックスに格納される1個の荷物の重量、又は、複数の荷物の合計重量を計測する計測装置と、前記ボックスに格納される前記1又は複数の荷物を撮像することで画像を生成する撮像装置と、の少なくとも1つ、をさらに備え、
前記制御部は、前記計測装置で計測される前記重量又は前記合計重量と、前記撮像装置で生成される前記画像と、の少なくとも1つに基づいて、前記第1荷物が受け渡されたこと、及び、前記第2荷物が前記配送先で回収されたこと、を判別する、
ことを特徴とする付記4に記載の移動体。
【0382】
(付記6)
前記制御部は、前記第2荷物の回収地点が、前記第1荷物の前記配送先と異なる地点を含む場合、
前記配送先から、前記配送先と異なる前記回収地点へ前記移動体を移動させる制御を行い、
前記移動体が前記配送先と異なる前記回収地点に到着した後に、前記第2荷物を発送する発送人の認証が成功すると、前記回収扉を解錠させる前記制御を行い、かつ、
前記第2荷物が回収されると、前記回収扉を施錠させる前記制御を行う、
ことを特徴とする付記4又は5に記載の移動体。
【0383】
(付記7)
前記回収地点で回収される前記第2荷物の重量を表す重量情報、及び、前記回収地点で回収される前記第2荷物の耐衝撃性を表す耐衝撃性情報の少なくとも1つを取得する取得部、をさらに備え、
前記第2荷物の前記回収地点は、前記配送先と異なる位置に在る第1回収地点と、前記配送先及び前記第1回収地点と異なる位置に在る第2回収地点と、を含み、
前記第1回収地点で回収される前記第2荷物の前記重量情報及び前記耐衝撃性情報の前記少なくとも1つと、前記第2回収地点で回収される前記第2荷物の前記重量情報及び前記耐衝撃性情報の前記少なくとも1つと、に基づいて、前記第1回収地点で回収される前記第2荷物と、前記第2回収地点で回収される前記第2荷物と、に回収順番を設定する設定部、をさらに備え、
前記制御部は、設定された前記回収順番に従って、前記第1回収地点と前記第2回収地点とに前記移動体を移動させる制御を行う、
ことを特徴とする付記6に記載の移動体。
【0384】
(付記8)
前記設定部は、
回収される前記第2荷物の重量がより重い程、より高い優先度を前記第2荷物に設定すること、及び、回収される前記第2荷物の耐衝撃性がより高い程、より高い優先度を前記第2荷物に設定すること、の少なくとも1つを行い、かつ、
設定された前記優先度がより高い程、より早い前記回収順番を前記第2荷物に設定する、
ことを特徴とする付記7に記載の移動体。
【0385】
(付記9)
前記制御部は、前記第2荷物の前記回収地点が、前記第1荷物の前記配送先を含む場合、
前記配送先で回収される前記第2荷物の前記耐衝撃性情報と、前記第1回収地点で回収される前記第2荷物の前記重量情報と、に基づいて、前記配送先で回収される前記第2荷物が、前記第1回収地点で行われる前記第2荷物の回収により、破損する第1確率が予め定められた確率以下であるか否かを判別し、
前記第1確率が予め定められた前記確率以下であると判別すると、前記配送先で前記第2荷物が回収された後に、前記第1回収地点へ前記移動体を移動させる制御を行い、かつ、
前記第1確率が予め定められた前記確率より高いと判別すると、前記配送先で前記第2荷物が回収された後に、前記第1回収地点へ前記移動体を移動させる前記制御を行わない、
ことを特徴とする付記8に記載の移動体。
【0386】
(付記10)
前記制御部は、前記第1回収地点で回収される前記第2荷物の前記回収順番が、前記第2回収地点で回収される前記第2荷物の前記回収順番よりも早い場合、
前記第1回収地点で回収される前記第2荷物の前記耐衝撃性情報と、前記第2回収地点で回収される前記第2荷物の前記重量情報と、に基づいて、前記第1回収地点で回収される前記第2荷物が、前記第2回収地点で行われる前記第2荷物の回収により、破損する第2確率が予め定められた確率以下であるか否かを判別し、
前記第2確率が予め定められた前記確率以下であると判別すると、前記第1回収地点で前記第2荷物が回収された後に、前記第2回収地点へ前記移動体を移動させる制御を行い、かつ、
前記第2確率が予め定められた前記確率より高いと判別すると、前記第1回収地点で前記第2荷物が回収された後に、前記第2回収地点へ前記移動体を移動させる前記制御を行わない、
ことを特徴とする付記8に記載の移動体。
【0387】
(付記11)
前記受渡口は、前記第2荷物の受け渡しに用いられ、
前記制御部は、前記第2荷物の配送拠点に前記移動体が到着すると、前記受渡扉を解錠させる前記制御を行う、
ことを特徴とする付記3から10のいずれか一つに記載の移動体。
【0388】
(付記12)
前記受渡口は、前記ボックスの内側の空間の開口であり、
前記回収口は、前記ボックスの内側の前記空間の開口である、
ことを特徴とする付記1から11のいずれか一つに記載の移動体。
【0389】
(付記13)
第1荷物の受け渡しに用いられる受渡口と、前記第1荷物と異なる第2荷物の回収に用いられ、かつ、前記第2荷物の取り出しを不可とする回収口と、を設けたボックスを備える移動体と、
前記第1荷物の配送先へ前記移動体を移動させる制御を行う制御部と、を備え、
前記ボックスは、前記受渡口を開閉する受渡扉と、前記回収口を開閉する回収扉と、を備え、
前記制御部は、
前記配送先へ前記移動体を移動させる前記制御を行う前に、前記受渡扉を施錠させる制御と、前記回収扉を施錠させる制御と、を行い、
前記移動体が前記配送先に到着した後に、前記第1荷物の受取人の認証が成功すると、前記受渡扉を解錠させる制御を行い、かつ、
前記第1荷物が受け渡されると、前記受渡扉を施錠させる前記制御を行う、
ことを特徴とするシステム。
【0390】
(付記14)
前記回収口は、前記受渡口の上方に設けられており、
前記第2荷物の重量を表す重量情報、及び、前記第2荷物の耐衝撃性を表す耐衝撃性情報の少なくとも1つを取得する取得部、をさらに備え、
前記第2荷物の回収地点は、前記配送先と異なる位置に在る第1回収地点と、前記配送先及び前記第1回収地点と異なる位置に在る第2回収地点と、を含み、
前記第1回収地点で回収される前記第2荷物の前記重量情報及び前記耐衝撃性情報の前記少なくとも1つと、前記第2回収地点で回収される前記第2荷物の前記重量情報及び前記耐衝撃性情報の前記少なくとも1つと、に基づいて、前記第1回収地点で回収される前記第2荷物と、前記第2回収地点で回収される前記第2荷物と、に回収順番を設定する設定部、をさらに備え、
前記制御部は、設定された前記回収順番に従って、前記第1回収地点と前記第2回収地点とに前記移動体を移動させる制御を行う、
ことを特徴とする付記13に記載のシステム。
【0391】
(付記15)
第1荷物の受け渡しに用いられる受渡口と、前記第1荷物と異なる第2荷物の回収に用いられ、かつ、前記第2荷物の取り出しを不可とする回収口と、を設けたボックスを備える移動体、又は、前記移動体を備えるシステムが、前記第1荷物の配送先へ前記移動体を移動させる制御を行う制御ステップを有し、
前記ボックスは、前記受渡口を開閉する受渡扉と、前記回収口を開閉する回収扉と、を備え、
前記制御ステップでは、前記移動体又は前記システムが、
前記配送先へ前記移動体を移動させる前記制御を行う前に、前記受渡扉を施錠させる制御と、前記回収扉を施錠させる制御と、を行い、
前記移動体が前記配送先に到着した後に、前記第1荷物の受取人の認証が成功すると、前記受渡扉を解錠させる制御を行い、かつ、
前記第1荷物が受け渡されると、前記受渡扉を施錠させる前記制御を行う、
ことを特徴とする方法。
【符号の説明】
【0392】
1:制御システム 100、590、690:制御装置 101、691:CPU 102、692:RAM 103a、693a:ROM 103b:ハードディスク 104a、694a:データ通信回路 105a、695a:ビデオカード 105b、695b:ディスプレイパネル 105c、695c:入力装置 110、681:取得部 120:選択部 130:特定部130:設定部 150:生成部 180、688:制御部180:情報記憶部 500、600:移動体 501から504:プロペラアーム 511から514:プロペラ 520、620、720:格納庫 521、621、721:格納ボックス 521ac、621ac:回収扉 521ah、621ah:受渡扉 541、641:LiDARセンサ 601、602:車輪 610:車台 621bc、621bh:扉枠 621ch:デッドボルト 621dh:ストライク 621ec:回収口 621eh:受渡口 693b:フラッシュメモリ 696:位置計測回路 698:入出力ポート 699:駆動回路 901から906:端末装置 CR:撮像装置 CW:計測装置 D1:配送先 D2からD6:回収地点 IN:インタネット PSD1:配送経路 PD1D2、PD2D3、PSD2:回収経路 PD3S、PD1S:帰還経路