(57)【特許請求の範囲】
【請求項１】
第１物品及び第２物品が受取人によって受け取られる受取場所に、前記第１物品を格納した第１移動体が滞在する間に、前記第２物品を格納した第２移動体が前記受取場所に到着すると、前記第１移動体と前記第２移動体のいずれか一方を、前記第１物品と前記第２物品とを格納して前記受取場所に残留する残留移動体として選択し、他方を、前記受取場所から退去する退去移動体として選択する選択部と、
選択された前記退去移動体が格納している前記第１物品又は前記第２物品を、前記退去移動体から前記残留移動体に積み替えられる積替物品と特定し、特定された前記積替物品を前記残留移動体に格納させる格納制御部と、
前記残留移動体に前記積替物品が格納されると、前記退去移動体を前記受取場所から退去させる移動制御部と、を備える、
制御装置。
【請求項２】
前記第１移動体を識別する識別情報と、前記受取場所を前記第１移動体が退去する予定の時刻である退去予定時刻と、を対応付けて取得し、かつ
前記第２移動体を識別する識別情報と、前記受取場所を前記第２移動体が退去する予定の時刻である退去予定時刻と、を対応付けて取得する取得部、をさらに備え、
前記選択部は、
前記第１移動体の前記識別情報と対応付けられた前記退去予定時刻が、前記第２移動体の前記識別情報と対応付けられた前記退去予定時刻よりも遅い場合に、前記第１移動体を前記残留移動体として選択し、かつ、前記第２移動体を前記退去移動体として選択し、
前記第１移動体の前記識別情報と対応付けられた前記退去予定時刻が、前記第２移動体の前記識別情報と対応付けられた前記退去予定時刻よりも早い場合に、前記第１移動体を前記退去移動体として選択し、かつ、前記第２移動体を前記残留移動体として選択する、
請求項１に記載の制御装置。
【請求項３】
前記移動制御部は、
前記第１移動体が前記受取場所に到着すると、前記第１移動体を前記受取場所に滞在させ、
前記第２移動体が前記受取場所に到着すると、前記第２移動体を前記受取場所に滞在させ、かつ、
前記第２移動体が前記残留移動体として選択され、前記退去移動体として選択された前記第１移動体に格納された前記第１物品が前記積替物品と特定され、かつ、前記積替物品が前記第２移動体に格納されると、前記第１移動体の前記識別情報に対応付けて取得された前記退去予定時刻よりも早い時刻に、前記第１移動体に前記受取場所を退去させる、
請求項２に記載の制御装置。
【請求項４】
前記移動制御部は、前記第１移動体が前記残留移動体として選択され、前記退去移動体として選択された前記第２移動体に格納された前記第２物品が前記積替物品と特定され、かつ、前記積替物品が前記第１移動体に格納されると、前記第２移動体の前記識別情報に対応付けて取得された前記退去予定時刻よりも早い時刻に、前記第２移動体に前記受取場所を退去させる、
請求項３に記載の制御装置。
【請求項５】
前記第１移動体は、第３物品をさらに格納して前記受取場所である第１受取場所に到着し、
前記第２移動体は、第４物品をさらに格納して前記第１受取場所に到着し、
前記取得部は、
前記第１移動体の前記識別情報と、前記第３物品及び前記第４物品が受け取られる第２受取場所を識別する識別情報と、前記第１移動体の前記第２受取場所への到着予定時刻と、前記第１移動体の前記第２受取場所からの退去予定時刻と、を対応付けてさらに取得し、
前記第２移動体の前記識別情報と、前記第２受取場所の前記識別情報と、前記第２移動体の前記第２受取場所への到着予定時刻と、前記第２移動体の前記第２受取場所からの退去予定時刻と、を対応付けてさらに取得し、
前記格納制御部は、前記第１移動体の前記識別情報と前記第２受取場所の前記識別情報とに対応付けられた前記到着予定時刻から前記退去予定時刻までの期間である、前記第１移動体の前記第２受取場所に対する滞在予定期間が、前記第２移動体の前記識別情報と前記第２受取場所の前記識別情報とに対応付けられた前記到着予定時刻から前記退去予定時刻までの期間である、前記第２移動体の前記第２受取場所に対する滞在予定期間を包含する場合に、前記第２移動体に格納されている前記第４物品を前記積替物品と特定し、特定された前記積替物品を前記第１受取場所で、前記第１移動体へ格納させ、
前記移動制御部は、
前記第３物品が格納された前記第１移動体へ前記積替物品である前記第４物品が格納された後に、前記第３物品及び前記第４物品が受け取られる前記第２受取場所へ前記第１移動体を移動させる、
請求項２から４のいずれか一項に記載の制御装置。
【請求項６】
前記格納制御部は、前記第２移動体の前記第２受取場所に対する前記滞在予定期間が、前記第１移動体の前記第２受取場所に対する前記滞在予定期間を包含する場合に、前記第１移動体に格納されている前記第３物品を前記積替物品と特定し、特定された前記積替物品を前記第１受取場所で、前記第２移動体へ格納させ、
前記移動制御部は、前記第４物品が格納された前記第２移動体へ前記積替物品である前記第３物品が格納された後に、前記第３物品及び前記第４物品が受け取られる前記第２受取場所へ前記第２移動体を移動させる、
請求項５に記載の制御装置。
【請求項７】
前記第１移動体が前記残留移動体として選択され、かつ、前記退去移動体として選択された前記第２移動体から前記第１移動体に前記積替物品と特定された前記第２物品が格納されると、前記第２物品の受取期間が終了する時刻が、前記第１移動体の前記識別情報に対応付けられた前記退去予定時刻まで延長されたことを知らせる通知を出力し、かつ、
前記第２移動体が前記残留移動体として選択され、かつ、前記退去移動体として選択された前記第１移動体から前記第２移動体に前記積替物品と特定された前記第１物品が格納されると、前記第１物品の受取期間が終了する時刻が、前記第２移動体の前記識別情報に対応付けられた前記退去予定時刻まで延長されたことを知らせる通知を出力する通知部、をさらに備える、
請求項２から６のいずれか一項に記載の制御装置。
【請求項８】
前記第１移動体及び前記第２移動体のいずれか１つ以上は、走行して移動する走行体、又は、空中を飛行して移動する飛行体である、
請求項１から７のいずれか一項に記載の制御装置。
【請求項９】
前記第１移動体及び前記第２移動体のいずれか１つ以上は、無人機である、
請求項１から８のいずれか一項に記載の制御装置。
【請求項１０】
物品を格納可能な移動体であって、
第１物品及び第２物品が受取人によって受け取られる受取場所に、前記移動体であって、かつ、前記第１物品を格納した第１移動体が滞在する間に、前記第１移動体と異なる移動体であって、かつ、前記第２物品を格納した第２移動体が前記受取場所に到着すると、又は、前記第２移動体が滞在している間に前記第１移動体が前記受取場所に到着すると、前記第１移動体と前記第２移動体のいずれか一方を、前記第１物品と前記第２物品とを格納して前記受取場所に残留する残留移動体として選択し、他方を、前記受取場所から退去する退去移動体として選択する選択部と、
選択された前記退去移動体が格納している前記第１物品又は前記第２物品を、前記退去移動体から前記残留移動体に積み替えられる積替物品と特定し、特定された前記積替物品を前記残留移動体に格納させる格納制御部と、
前記残留移動体に前記積替物品が格納されると、前記退去移動体を前記受取場所から退去させる移動制御部と、を備える、
移動体。
【請求項１１】
物品を格納可能な第１移動体及び第２移動体と、
第１物品及び第２物品が受取人によって受け取られる受取場所に、前記第１物品を格納した前記第１移動体が滞在する間に、前記第２物品を格納した前記第２移動体が前記受取場所に到着すると、前記第１移動体と前記第２移動体のいずれか一方を、前記第１物品と前記第２物品とを格納して前記受取場所に残留する残留移動体として選択し、他方を、前記受取場所から退去する退去移動体として選択する選択部と、
選択された前記退去移動体が格納している前記第１物品又は前記第２物品を、前記退去移動体から前記残留移動体に積み替えられる積替物品と特定し、特定された前記積替物品を前記残留移動体に格納させる格納制御部と、
前記残留移動体に前記積替物品が格納されると、前記退去移動体を前記受取場所から退去させる移動制御部と、
を含む制御装置と、を備える、
システム。
【請求項１２】
１又は複数のコンピュータが、
第１物品及び第２物品が受取人によって受け取られる受取場所に、前記第１物品を格納した第１移動体が滞在する間に、前記第２物品を格納した第２移動体が前記受取場所に到着すると、前記第１移動体と前記第２移動体のいずれか一方を、前記第１物品と前記第２物品とを格納して前記受取場所に残留する残留移動体として選択し、他方を、前記受取場所から退去する退去移動体として選択すること、
選択された前記退去移動体が格納している前記第１物品又は前記第２物品を、前記退去移動体から前記残留移動体に積み替えられる積替物品と特定し、特定された前記積替物品を前記残留移動体に格納させること、及び、
前記残留移動体に前記積替物品が格納されると、前記退去移動体を前記受取場所から退去させること、を含む、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、移動体、システム、及び、方法に関する。
【背景技術】
【０００２】
従来から、例えば、物品を運搬する複数の移動体間で、物品の受取場所までの中継地点において、物品の積み替えを行うシステムが知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−４４４２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１のシステムでは、受取場所へ複数の移動体が到着すると、例えば、物品が受け取られるまでの間、受取場所に複数の移動体が滞在してしまう。このため、受取場所が複数の移動体によって占拠されるので、受取場所の使用効率が低下してしまう場合があった。【０００５】
本発明は、このような点に鑑みてなされたものであり、その目的とするところは、受取場所の使用効率の低下を抑制できる制御装置、移動体、システム、及び、方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の第１の観点に係る制御装置は、
第１物品及び第２物品が受け取られる受取場所に、前記第１物品を格納した第１移動体が滞在する間に、前記第２物品を格納した第２移動体が前記受取場所に到着すると、前記第１移動体と前記第２移動体のいずれか一方を、前記第１物品と前記第２物品とを格納して前記受取場所に残留する残留移動体として選択し、他方を、前記受取場所から退去する退去移動体として選択する選択部と、
選択された前記退去移動体が格納している前記第１物品又は前記第２物品を、前記退去移動体から前記残留移動体に積み替えられる積替物品と特定し、特定された前記積替物品を前記残留移動体に格納させる格納制御部と、
前記残留移動体に前記積替物品が格納されると、前記退去移動体を前記受取場所から退去させる移動制御部と、を備える、
ことを特徴とする。
【発明の効果】
【０００７】
本発明に係る制御装置、移動体、システム、及び、方法によれば、受取場所の使用効率の低下を抑制できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施例に係る配達システムの一構成例を表すシステム構成図である。
【図２】本実施例に係る第１移動体及び第２移動体の一外観例を表す外観構成図である。
【図３Ａ】格納ボックスが備える箱体を表す斜視図である。
【図３Ｂ】格納ボックスが備える箱体を表す端面図である。
【図３Ｃ】格納ボックスが備える扉を表す斜視図である。
【図３Ｄ】格納ボックスが備える内側開放状態の扉を表す端面図である。
【図３Ｅ】格納ボックスが備える閉鎖状態の扉を表す端面図である。
【図３Ｆ】格納ボックスが備える外側開放状態の扉を表す端面図である。
【図４】本実施例に係る第１移動体及び第２移動体を表す断面図である。
【図５】移動体が備える制御装置の一構成例を表すハードウェア構成図である。
【図６】配達システムが備える制御装置の一構成例を表すハードウェア構成図である。
【図７】配達システムが備える制御装置が有する機能の一例を表す機能ブロック図である。
【図８】配達システムが備える制御装置が記憶する物品テーブルの一例を表す図である。
【図９】配達システムが備える制御装置が記憶する生成時の予定テーブルの一例を表す図である。
【図１０】本実施例に係る第１移動体及び第２移動体の生成時の予定の一例を表す図である。
【図１１】配達システムが備える制御装置が記憶する格納ボックステーブルの一例を表す図である。
【図１２】本実施例に係る配達システムが備える制御装置が実行する移動体制御処理の一例を表すフローチャートである。
【図１３】第１移動体及び第２移動体が実行する走行制御処理の一例を表すフローチャートである。
【図１４】配達システムが備える制御装置が実行する積替制御処理の一例を表すフローチャートである。
【図１５】配達システムが備える制御装置が実行する選択処理の一例を表すフローチャートである。
【図１６】配達システムが備える制御装置が実行する積替物品特定処理の一例を表すフローチャートである。
【図１７】配達システムが備える制御装置が記憶する変更後の予定テーブルの一例を表す図である。
【図１８】本実施例に係る第１移動体及び第２移動体の変更後の予定の一例を表す図である。
【図１９】本実施例の変形例１に係る第１移動体及び第２移動体の生成時の予定の一例を表す図である。
【図２０】本実施例の変形例３に係る第１移動体及び第２移動体の生成時の予定の一例を表す図である。
【図２１】本実施例の変形例５に係る第１移動体及び第２移動体の修正後の予定の一例を表す図である。
【図２２】本実施例の変形例５に係る第１移動体及び第２移動体の変更後の予定の一例を表す図である。
【図２３】本実施例の変形例８に係る第１移動体の一外観例を表す外観構成図である。
【図２４】本実施例の変形例１０に係る第２移動体の一外観例を表す外観構成図である。
【図２５】本実施例の変形例１２に係る第１移動体及び第２移動体を表す断面図である。
【図２６】本実施例の変形例１６に係るに係る配達システムが備える制御装置が実行する移動体制御処理の一例を表すフローチャートである。
【図２７】第１移動体が備える制御装置が有する機能の一例を表す機能ブロック図である。
【発明を実施するための形態】
【０００９】
＜実施例＞
以下、本発明の実施例について添付図面を参照しつつ説明する。
【００１０】
本発明の実施例に係る配達システム１は、物品を格納して移動する第１移動体１００及び第２移動体２００と、第１移動体１００及び２００の移動を制御する制御装置５００と、制御装置５００によって物品の配達状態を通知される携帯端末９０１から９０５と、を備える。
【００１１】
第１移動体１００と第２移動体２００とは、互いに同じ大きさ、構成、及び、機能を有するため、第１移動体１００の構成と同じ第２移動体２００の構成については、第１移動体１００で用いた符号と対応する符号を用いて説明する。
【００１２】
第１移動体１００は、地上を走行する無人地上車両である。第１移動体１００は、図２に示すような車輪１１１及び１１２を含む複数の車輪を備える車台１１０と、車台１１０の上に設置された立方体形状のロッカー装置１７０と、を備える。
【００１３】
車台１１０は、車台１１０の前面に設置され、かつ、前方に光軸を向けられた撮像装置１１９を備える。本明細書において、例えば、撮像装置１１９等の撮像装置の光軸を、車台１１０の前方等の特定の方向へ向けることは、当該撮像装置の撮像範囲に当該特定の方向にある被写体の一部が少なくとも含まれるように当該光軸を変更することを含むとして説明する。
【００１４】
ロッカー装置１７０は、ロッカー装置１７０の右側面に設置され、かつ、外側に向かう右側面の法線方向に光軸を向けられた撮像装置１８１と、ロッカー装置１７０の左側面に設置され、かつ、外側に向かう左側面の法線方向に光軸を向けられた撮像装置１８２と、を備える。また、ロッカー装置１７０は、撮像装置１１９、１８１、及び、１８２がそれぞれ出力する画像に基づいて、障害物を避けながら走行するように、複数の車輪にそれぞれ内蔵された不図示の複数のモータを駆動させる制御装置１９０を備える。
【００１５】
また、ロッカー装置１７０は、右側面及び左側面に、３行２列の行列を形成して配置されたボックスであって、荷物の格納に用いられる格納ボックス１６０をそれぞれ備えている。本実施例において、第１行は、最も上の行であり、第３行は、最も下の行であり、第２行は、第１行と第３行との中間の行であり、第１列は、前側の列であり、第２列は、後側の列であるとして説明する。
【００１６】
格納ボックス１６０は、図３Ａ及び図３Ｂに示すような、背板１６１ａ、底板１６１ｂ及び天板１６１ｃ、並びに、側板１６１ｄ及び側板１６１ｅを備え、これらの板により閉塞されて前方が開放された空間を形成する箱体１６１を備える。格納ボックス１６０は、底板１６１ｂが水平となるように、ロッカー装置１７０に設置される。
【００１７】
箱体１６１の開口部には、図３Ａに示すような２つの軸穴１６３ａが形成された扉枠１６３が設置されている。この２つの軸穴１６３ａには、図３Ｃ示すような扉１６２の両側面の下方から、外側にそれぞれ突出した２つの突出部１６２ａが挿通される。これにより、扉枠１６３は、開口部から背板１６１ａへ向かう方向である内側と、当該方向と反対の方向である外側と、に扉１６２を搖動可能に軸持する。
【００１８】
格納ボックス１６０は、制御装置１９０から出力される信号に従って突出部１６２ａに形成された不図示の歯車を回転させることで、扉１６２を揺動させる不図示のモータを内蔵している。このモータは、扉１６２の状態を、図３Ｄに示すように、内側へ倒れて扉１６２の裏側の面が、箱体１６１の底板１６１ｂの表面と面接触する内側開放状態から、図３Ｅに示すように、扉１６２が直立して開口部を塞ぐ閉鎖状態を経て、図３Ｆに示すように、外側へ倒れて扉１６２の表側の面が、箱体１６１の底板１６１ｂの表面と面接触する外側開放状態になるまでのいずれかの状態に変更させる。
【００１９】
扉１６２は、図３Ｃに示すようなカンヌキであるデッドボルト１６２ｂを上面１６２ｃに備え、扉枠１６３は、デッドボルト１６２ｂの受座である不図示のストライクを上枠に備える。
【００２０】
格納ボックス１６０は、扉１６２の状態が閉鎖状態である場合に、制御装置１９０から出力される信号に従ってデッドボルト１６２ｂをストライクへ挿入させることで、扉１６２を施錠する不図示のモータをさらに備えている。当該モータは、制御装置１９０から出力される信号に従って、デッドボルト１６２ｂを不図示のストライクから抜出させることで、扉１６２を解錠する。
【００２１】
箱体１６１の背板１６１ａには、図３Ｂ及び図３Ｄから図３Ｅに示すような伸縮機構１６５の一端が固定されている。伸縮機構１６５の他端は、箱体１６１の底板１６１ｂの表面を、伸縮機構１６５に押されてスライドするスライド板１６４に固定されている。
【００２２】
本実施例では、伸縮機構１６５は、菱形の格子が直列に複数組み合わされたラチス格子式の伸縮機構であって、格子によって形成される菱形の互いに対向する２頂点間の距離を変化させることで、伸縮機構１６５を伸縮させる不図示のネジを備えているとして説明する。しかし、これに限定される訳では無く、例えば、伸縮機構１６５は、複数のパンタグラフが直列に組み合わされた伸縮機構を含む公知の伸縮機構であれば、どのような機構でも良い。また、伸縮方式は、ネジ式に限定される訳では無く、例えば、油圧式を含む公知の伸縮の方式であれば、どのような方式であっても良い。
【００２３】
格納ボックス１６０は、伸縮機構１６５のネジを回転させる不図示のモータをさらに内蔵している。当該モータによって、図３Ｅに示すように伸縮機構１６５が収縮させられて、スライド板１６４が扉１６２よりも内側に移動すると、スライド板１６４、底板１６１ｂ及び天板１６１ｃ、側板１６１ｄ及び１６１ｅ、並びに、扉１６２で閉塞された空間が形成され、当該空間が物品を格納するための格納空間として使用される。
【００２４】
扉１６２の底面１６２ｄは、図３Ｅに示すように、扉１６２の下方から上方へ向かうにつれて扉１６２の表側の面から離れる方向の勾配を有している。このため、図３Ｆに示すように、扉１６２の状態が外側に倒れた外側開放状態となり、扉１６２の表側の面が箱体１６１の底板１６１ｂの表面と面接触している場合には、扉１６２の底面１６２ｄは、伸縮機構１６５の伸張方向に向かうにつれて、底板１６１ｂの表面から離れる方向の勾配を有する。
【００２５】
このため、格納空間に物品が格納されている場合であって、かつ、扉１６２が、図３Ｆに示すような外側開放状態である場合に、不図示のモータによって伸縮機構１６５が伸張させられると、スライド板１６４は、伸縮機構１６５に押されて底板１６１ｂの表面を外側に向かってスライドする。その後、スライド板１６４は、伸縮機構１６５にさらに押されて、外側開放状態の扉１６２の底面１６２ｄをさらにスライドした後に、扉１６２の裏面をスライドすることで、格納空間に格納されていた物品を箱体１６１の外へ押し出す。
【００２６】
伸縮機構１６５は、完全に伸張した完全伸張状態になると、伸縮機構１６５の伸縮方向の長さが、完全に収縮した完全収縮状態よりも、値「D+2H」以上長くなる。但し、値「D」は、図３Ｅに示すような完全収縮状態における格納空間の奥行きを表し、値「H」は、扉１６２の高さを表す。
【００２７】
完全伸張状態における伸縮機構１６５の長さがこのように設計されているのは、図４に示すように、第１移動体１００の格納ボックス１６０を、第２移動体２００の格納ボックス２６０と、扉１６２の高さＨよりも短い距離ｄだけ離れて正対させた状態で、第１移動体１００の格納ボックス１６０から第２移動体２００の格納ボックス２６０へ物品の積み替えが行われるからである。
【００２８】
つまり、物品を積み替えるためには、格納ボックス１６０の扉１６２の状態を外側開放状態することで、扉１６２を、格納ボックス１６０と格納ボックス２６０とに架かる橋として機能させる必要がある。また、扉１６２が外側開放状態となることを妨げないために、格納ボックス２６０の扉２６２の状態を内側開放状態にする必要がある。これらのため、格納ボックス１６０に格納されていた物品を、扉１６２及び扉２６２よりもさらに格納ボックス２６０の内側の位置まで、伸縮機構１６５がスライド板１６４に押し出させるためには、伸縮機構１６５は、格納空間の奥行き「D」と、扉１６２の高さ「H」、扉２６２の高さ「H」と、の総和「D+2H」以上、伸張しなければならないためである。
【００２９】
撮像装置１１９、１８１、及び、１８２は、デジタル式のステレオカメラであり、制御装置１９０から出力される信号に応じて第１移動体１００の前方、右側方、及び、左側方をそれぞれ撮像し、撮像により得られた互いに視差を有する２枚の画像を制御装置１９０へそれぞれ出力する。撮像装置１１９、１８１、及び、１８２が互いに視差を有する２枚の画像を制御装置１９０へそれぞれ出力するのは、制御装置１９０が、視差に基づいて第１移動体１００の前方、右側方、及び、左側方にある物体の３次元空間における位置座標及びサイズ等を特定し、特定された位置座標及びサイズに基づいて進行方向等を決定するためである。
【００３０】
第１移動体１００が備える制御装置１９０は、図５に示すようなＣＰＵ（Central Processing Unit）１９１、ＲＡＭ（Random Access Memory）１９２、ＲＯＭ（Read Only Memory）１９３ａ、フラッシュメモリ１９３ｂ、第１データ通信回路１９４ａ、第２データ通信回路１９４ｂ、タッチスクリーン１９５、ＧＰＳ（Global Positioning System）回路１９６、入出力ポート１９８、及び、駆動回路１９９を備える。本実施例では、制御装置１９０は、１つのＣＰＵ１９１を備えるとして説明するが、これに限定される訳ではなく、複数のＣＰＵを備えても良い。
【００３１】
ＣＰＵ１９１は、ＲＯＭ１９３ａ又はフラッシュメモリ１９３ｂに保存されたプログラムを実行することで、第１移動体１００の全体制御を行う。ＲＡＭ１９２は、ＣＰＵ１９１によるプログラムの実行時において、処理対象とされるデータを一時的に記憶する。
【００３２】
ＲＯＭ１９３ａ及びフラッシュメモリ１９３ｂは、各種のプログラムを記憶している。また、フラッシュメモリ１９３ｂは、プログラムの実行に用いられる各種のデータやデータが保存されたテーブルをさらに記憶している。第１移動体１００は、フラッシュメモリ１９３ｂの代わりに、ハードディスクを備えても良い。
【００３３】
第１データ通信回路１９４ａは、ＮＩＣ（Network Interface Card）であり、例えば、ＬＴＥ（Long Term Evolution）及び５Ｇ（5th Generation）といった通信規格に従って、インターネットＩＮに接続された不図示の基地局と電波を用いたデータ通信を行う。このようにして、第１移動体１００の第１データ通信回路１９４ａは、インターネットＩＮに接続された制御装置５００とデータ通信を行う。第２データ通信回路１９４ｂは、ＮＩＣであり、例えば、ブルートゥースといった通信規格に従って、第２移動体２００と電波を用いたデータ通信を行う。
【００３４】
タッチスクリーン１９５は、ビデオカード１９５ａ、表示装置１９５ｂ、及び、入力装置１９５ｃを備える。ビデオカード１９５ａは、ＣＰＵ１９１から出力されたデジタル信号に基づいて画像をレンダリングすると共に、レンダリングされた画像を表す画像信号を出力する。表示装置１９５ｂは、ＥＬ（Electroluminescence）ディスプレイであり、ビデオカード１９５ａから出力された画像信号に従って画像を表示する。携帯端末９０１は、ＥＬディスプレイの代わりに、ＰＤＰ（Plasma Display Panel）又はＬＣＤ（Liquid Crystal Display）を備えても良い。入力装置１９５ｃは、ボタン及びタッチパネルのいずれか１つ以上であり、入力装置１９５ｃに対する操作に応じた信号を入力する。
【００３５】
ＧＰＳ回路１９６は、ＧＰＳ衛星から発せられたＧＰＳ信号を受信し、受信されたＧＰＳ信号に基づいて第１移動体１００の位置を表す緯度及び経度を計測し、計測された緯度及び経度を表す信号を出力する。
【００３６】
入出力ポート１９８は、車台１１０の前面に設置された撮像装置１１９、並びに、ロッカー装置の右側面及び左側面にそれぞれ設置された撮像装置１８１及び１８２とそれぞれ接続された不図示のケーブルに接続されている。入出力ポート１９８は、ＣＰＵ１９１が出力する信号を撮像装置１１９、１８１、及び、１８２にそれぞれ出力し、撮像装置１１９、１８１、及び、１８２がそれぞれ出力する２枚の画像をＣＰＵ１９１へ入力する。
【００３７】
駆動回路１９９は、車輪１１１及び１１２を含む複数の車輪をそれぞれ回転させる、複数の不図示のモータにそれぞれ接続されたケーブルに接続されており、ＣＰＵ１９１が出力する信号に従って当該複数のモータを駆動させる。また、駆動回路１９９は、ロッカー装置１７０が備える扉１６２を揺動させる不図示のモータ、デッドボルト１６２ｂをストライクから抜出させる又はストライクに挿入させる不図示のモータ、及び、伸縮機構１６５を伸縮させる不図示のモータにそれぞれ接続されたケーブルに接続されており、ＣＰＵ１９１が出力する信号に従って当該複数のモータを駆動させる。
【００３８】
第２移動体２００は、第１移動体１００のロッカー装置１７０と同じ大きさ、構成、及び、機能を有するロッカー装置２７０を備えている。ロッカー装置２７０は、第１移動体１００のロッカー装置１７０と同様に、右側面及び左側面に、３行２列の行列を形成して配置された格納ボックス２６０をそれぞれ備えている。また、第２移動体２００のロッカー装置２７０は、第１移動体１００のロッカー装置１７０と同様に、格納ボックス２６０の施錠等を制御する制御装置２９０を備えている。
【００３９】
制御装置５００は、サーバ機であり、図６に示すようなＣＰＵ５０１、ＲＡＭ５０２、ＲＯＭ５０３ａ、ハードディスク５０３ｂ、データ通信回路５０４ａ、ビデオカード５０５ａ、表示装置５０５ｂ、及び、入力装置５０５ｃを備える。本実施例では、制御装置５００は、１つのＣＰＵ５０１を備えるとして説明するが、これに限定される訳ではなく、複数のＣＰＵを備えても良い。
【００４０】
制御装置５００が備えるＣＰＵ５０１、ＲＡＭ５０２、ＲＯＭ５０３ａ、ビデオカード５０５ａ、表示装置５０５ｂ、及び、入力装置５０５ｃの構成及び機能は、図５に示した第１移動体１００の制御装置１９０が備えるＣＰＵ１９１、ＲＡＭ１９２、ＲＯＭ１９３ａ、ビデオカード１９５ａ、表示装置１９５ｂ、及び、入力装置１９５ｃの構成及び機能と同様である。入力装置５０５ｃは、キーボード、マウス、タッチパッド、及び、ボタンのいずれか１つ以上であっても良い。
【００４１】
制御装置５００が備えるハードディスク５０３ｂは、各種のプログラム、及び、各種のプログラムの実行に用いられる各種のデータやデータが保存されたテーブルを記憶している。制御装置５００は、ハードディスク５０３ｂの代わりに、フラッシュメモリを備えても良い。
【００４２】
制御装置５００が備えるデータ通信回路５０４ａは、ＮＩＣであり、例えば、ＬＴＥ及び５Ｇといった通信規格に従って、インターネットＩＮに接続された第１移動体１００、第２移動体２００、及び、携帯端末９０１から９０５と無線でデータ通信を行う。
【００４３】
制御装置５００は、例えば、物品の配達を行う配達業者の営業所に設置されている。当該営業所に物品が運び込まれると、営業所に勤務する従業員は、物品を梱包する段ボールに貼られた伝票を読み、物品の配達先の住所と、物品の配達を希望する時間帯として指定された指定時間帯と、当該物品の受取人の連絡先と、を確認する。その後、従業員は、制御装置５００の入力装置５０５ｃに配達先の住所、指定時間帯の開始時刻及び終了時刻、並びに、連絡先を入力させる操作を行う。
【００４４】
制御装置５００の入力装置５０５ｃが従業員の操作に応じた信号を入力すると、制御装置５００のＣＰＵ５０１は、物品に関する情報を保存する不図示の物品情報保存処理を実行する。これにより、ＣＰＵ５０１は、入力装置５０５ｃによって入力された信号に基づいて物品に関する情報を取得する、図７に示すような取得部５１０、及び、物品に関する情報をハードディスク５０３ｂに保存する保存部５２０として機能する。また、ハードディスク５０３ｂは、物品に関する情報が保存される、図８に示すような物品テーブルを記憶している情報記憶部５９０として機能する。
【００４５】
物品に関する情報は、物品を識別する識別情報である物品ＩＤ（IDentification）と、当該物品の配達先であり、かつ、当該物品が受け取られる場所である受取場所を識別する識別情報と、当該物品の指定時間帯の開始時刻を表す情報及び終了時刻を表す情報と、当該物品の受取人の連絡先を表す情報と、当該物品の配達状態を表す状態情報と、を含む。
【００４６】
本実施例では、受取場所は、受取場所ごとに予め定められた範囲を有するエリアであり、共同住宅及びオフィスビルのエントランス及びロビー、並びに、一軒家の玄関前を含むとして説明するが、これに限定される訳ではない。
【００４７】
取得部５１０は、物品情報保存処理の実行を開始すると、入力された信号に基づいて、当該物品の配達先の住所を表す情報と、当該物品の指定時間帯の開始時刻を表す情報及び終了時刻を表す情報と、当該物品の受取人の連絡先を表す情報と、を取得する。次に、取得部５１０は、情報記憶部５９０から、取得された住所と予め対応付けて記憶されている、当該住所にある受取場所の識別情報を取得する。その後、取得部５１０は、例えば、乱数を生成させ、生成させた乱数に基づいて物品ＩＤを生成する。次に、取得部５１０は、物品の状態情報を、未配達の状態を表す状態情報とする。
【００４８】
次に、保存部５２０は、生成された物品ＩＤと、取得された受取場所の識別情報と、指定時間帯の開始時刻を表す情報及び終了時刻を表す情報と、連絡先を表す情報と、未配達の状態を表す状態情報と、を対応付けて、新規のレコードに保存した後に、当該レコードを、図８の物品テーブルに追加する。その後、保存部５２０は、不図示の物品情報保存処理の実行を終了する。
【００４９】
制御装置５００のＣＰＵ５０１は、例えば、１０分といった予め定められた時間間隔で、第１移動体１００及び第２移動体２００の予定を生成する不図示の予定生成処理を実行する。これにより、ＣＰＵ５０１は、第１移動体１００及び第２移動体２００の予定を生成する、図７に示すような予定生成部５３０として機能する。
【００５０】
情報記憶部５９０は、予定に関する情報が保存される、図９に示すような予定テーブルを記憶している。予定テーブルには、複数のレコードが保存され、各レコードには、第１移動体１００又は第２移動体２００の識別情報「100」又は「200」と、受取場所の識別情報と、第１移動体１００又は第２移動体２００が当該受取場所へ向けて移動を開始する時刻である移動開始時刻を表す情報と、が対応付けられて保存される。また、識別情報「100」又は「200」と、受取場所の識別情報と、に対して、第１移動体１００又は第２移動体２００の当該受取場所への到着が予定される時刻である到着予定時刻を表す情報と、当該受取場所からの退去が予定される時刻である退去予定時刻を表す情報と、が対応付けられて保存される。さらに、識別情報「100」又は「200」と、受取場所の識別情報と、に対して、第１移動体１００又は第２移動体２００が当該受取場所まで格納して配達する予定の物品を識別する物品ＩＤと、第１移動体１００又は第２移動体２００による当該受取場所への移動状態を表す状態情報と、が対応付けられて保存される。
【００５１】
予定生成処理の実行が開始されると、予定生成部５３０は、図９に示した予定テーブルに、第１移動体１００の識別情報「100」が保存されたレコードが存在するか否かを判別する。このとき、予定生成部５３０は、そのようなレコードが存在しないと判別すると、第１移動体１００が未実行の予定及び実行中の予定の双方が無いと判別して、第１移動体１００の予定の生成を開始する。
【００５２】
第１移動体１００の予定の生成を開始すると、予定生成部５３０は、図８の物品テーブルに保存されたレコードの内で、未配達の状態を表す状態情報が保存された１又は複数のレコードを取得し、取得された１又は複数のレコードに対して公知のスケジューリング技術を用いることで、第１移動体１００の予定を生成する。
【００５３】
本実施例では、予定生成部５３０が、図１０に示すような予定を生成した場合を例に挙げて説明する。図１０に示す予定は、第１移動体１００が物品ＩＤ「G1」及び「G3」でそれぞれ識別される第１物品と第３物品とを格納して、識別情報「P1」で識別される第１受取場所へ向けて、「09:00」に移動を開始し、「09:10」に第１受取場所へ到着し、物品ＩＤ「G1」で識別される第１物品が受け取られるまで、又は、「09:50」になるまで、第１受取場所に滞在する予定を含んでいる。
【００５４】
第１受取場所への到着予定時刻が「09:10」であるのは、図８の物品テーブルには、物品ＩＤ「G1」と、第１受渡場所の識別情報「P1」と、に対応付けられて、指定時間帯の開始時刻「09:20」を表す情報が保存されているため、指定時間帯の開始時刻「09:20」よりも予め定められた余裕時間「00:10」だけ早い時刻「09:10」に第１受取場所へ到着する予定が生成されたからである。また、第１受取場所からの退去予定時刻が「09:50」であるのは、物品テーブルには、物品ＩＤ「G1」と、第１受渡場所の識別情報「P1」と、に対応付けられて、指定時間帯の終了時刻「09:50」を表す情報が保存されているためである。尚、余裕時間は、「00:10」に限定される訳では無く、好適な余裕時間は、当業者が実験により定めることができる。
【００５５】
このため、予定生成部５３０は、図９の予定テーブルに、第１移動体１００の識別情報「100」、第１受取場所の識別情報「P1」、第１移動体１００の第１受取場所への移動開始時刻「09:00」を表す情報、到着予定時刻「09:10」を表す情報、及び、退去予定時刻「09:50」を表す情報を対応付けて保存する。また、予定生成部５３０は、第１移動体１００の識別情報「100」及び第１受取場所の識別情報「P1」に対応付けて、第１受取場所で第１移動体１００から受け取られる予定の物品の物品ＩＤ「G1」、及び、第１移動体１００が未だ第１受取場所へ向けて出発していない未出発の状態であることを表す状態情報を対応付けて保存する。次に、予定生成部５３０は、物品テーブルにおいて、物品ＩＤ「G1」に対応付けられた状態情報を、配達中の状態を表す状態情報に更新する。
【００５６】
同様に、予定生成部５３０は、第１移動体１００の識別情報「100」、第２受取場所の識別情報「P2」、移動開始時刻「10:10」を表す情報、到着予定時刻「10:20」を表す情報、及び、退去予定時刻「11:20」を表す情報、物品ＩＤ「G3」、及び、未出発の状態を表す状態情報を対応付けて、スケジュールテーブルに保存する。また、予定生成部５３０は、物品テーブルにおいて、物品ＩＤ「G3」に対応付けられた状態情報を、配達中の状態を表す状態情報に更新する。
【００５７】
また、予定生成部５３０は、識別情報「100」、営業所の識別情報「P0」、移動開始時刻「11:20」を表す情報、到着予定時刻「11:30」を表す情報、及び、未出発の状態を表す状態情報を対応付けて、スケジュールテーブルに保存する。その後、予定生成部５３０は、第１移動体１００の予定の生成が終了したと判別する。
【００５８】
予定生成部５３０は、図９に示した予定テーブルに第１移動体１００の識別情報「100」が保存されたレコードが存在すると判別した場合、第１移動体１００の未実行の予定又は実行中の予定が有ると判別する。
【００５９】
予定生成部５３０は、第１移動体１００の予定の生成が終了したと判別した場合、又は、第１移動体１００の未実行又は実行中の予定が有ると判別した場合、予定テーブルに、第２移動体２００の識別情報「200」が保存されたレコードが存在するか否かを判別する。このとき、予定生成部５３０は、そのようなレコードが存在すると判別すると、第２移動体２００の未実行又は実行中の予定が有ると判別して、不図示の予定生成処理の実行を終了する。
【００６０】
これに対して、予定生成部５３０は、そのようなレコードが存在しないと判別すると、第２移動体２００の未実行又は実行中の予定が無いと判別して、図１０に示したような第２移動体２００の予定を生成する。
【００６１】
図１０に示した予定は、第２移動体２００が物品ＩＤ「G2」、「G4」、及び「G5」でそれぞれ識別される第２物品と第４物品と第５物品とを格納して、「09:20」に第１受取場所へ向けて移動を開始し、「09:30」に第１受取場所へ到着し、物品ＩＤ「G2」で識別される第２物品が受け取られるまで、又は、「10:00」になるまでに第１受取場所に滞在する予定を含んでいる。
【００６２】
このため、予定生成部５３０は、第２移動体２００の識別情報「200」、第１受取場所の識別情報「P1」、移動開始時刻「09:20」を表す情報、到着予定時刻「09:30」を表す情報、及び、退去予定時刻「10:00」を表す情報、物品ＩＤ「G2」、及び、未出発の状態を表す状態情報を対応付けて、図９のスケジュールテーブルに保存する。また、予定生成部５３０は、図８の物品テーブルにおいて、物品ＩＤ「G2」に対応付けられた状態情報を、配達中の状態を表す状態情報に更新する。
【００６３】
同様に、予定生成部５３０は、第２移動体２００の識別情報「200」、第２受取場所の識別情報「P2」、移動開始時刻「10:10」を表す情報、到着予定時刻「10:20」を表す情報、及び、退去予定時刻「10:50」を表す情報、物品ＩＤ「G4」、及び、未出発の状態を表す状態情報をスケジュールテーブルに保存し、物品テーブルにおいて、物品ＩＤ「G4」に対応付けられた状態情報を、配達中の状態を表す状態情報に更新する。
【００６４】
さらに、予定生成部５３０は、第２移動体２００の識別情報「200」、第３受取場所の識別情報「P3」、移動開始時刻「10:50」を表す情報、到着予定時刻「11:00」を表す情報、及び、退去予定時刻「11:20」を表す情報、物品ＩＤ「G5」、及び、未出発の状態を表す状態情報を対応付けてスケジュールテーブルに保存し、物品テーブルにおいて、物品ＩＤ「G5」に対応付けられた状態情報を、配達中の状態を表す状態情報に更新する。
【００６５】
また、予定生成部５３０は、第２移動体２００の識別情報「200」、営業所の識別情報「P0」、移動開始時刻「11:20」を表す情報、到着予定時刻「11:30」を表す情報、及び、未出発の状態を表す状態情報を対応付けて、スケジュールテーブルに保存する。その後、予定生成部５３０は、第２移動体２００の予定の生成が終了したと判別して、不図示の予定生成処理の実行を終了する。
【００６６】
予定生成処理の実行を終了すると、制御装置５００のＣＰＵ５０１は、図９の予定テーブルに保存された予定に関する情報を取得し、取得された情報を、図６に示した表示装置５０５ｂに表示させる。このため、表示装置５０５ｂには、第１移動体１００の識別情報「100」と、第１物品の物品ＩＤ「G1」及び第３物品の物品ＩＤ「G3」と、が対応付けられて表示されているので、表示装置５０５ｂを視認した従業員は、第１物品と第３物品とを、第１移動体１００の格納ボックス１６０に格納させる。その後、従業員は、第１物品及び第３物品をそれぞれ格納させた格納ボックス１６０に関する情報を入力させる操作を制御装置５００の入力装置５０５ｃに行う。
【００６７】
制御装置５００の入力装置５０５ｃが従業員の操作に応じた信号を入力すると、制御装置５００のＣＰＵ５０１は、格納ボックス１６０に関する情報を保存する不図示のボックス情報保存処理を実行する。情報記憶部５９０は、ボックス情報保存処理で格納ボックス１６０に関する情報が保存される、図１１に示すような格納ボックステーブルを記憶している。
【００６８】
格納ボックステーブルには、複数のレコードが予め保存されており、各レコードには、第１移動体１００又は第２移動体２００の識別情報「100」又は「200」と、第１移動体１００又は第２移動体２００が備える格納ボックス１６０又は２６０を識別するボックスＩＤと、が対応付けられて予め保存されている。また、第１移動体１００又は第２移動体２００の識別情報「100」又は「200」と、ボックスＩＤと、には、当該ボックスＩＤで識別される格納ボックス１６０又は２６０が第１移動体１００又は第２移動体２００に配置されている位置を表す情報が、予め対応付けられている。さらに、識別情報「100」又は「200」と、ボックスＩＤと、には、初期状態において、当該格納ボックスに格納された物品が格納されていないことを表す記号「-」と、当該物品の受取人であることを認証するために用いられるパスワードが設定されていないことを表す文字「NULL」と、が予め対応付けられている。またさらに、識別情報「100」又は「200」と、ボックスＩＤと、には、初期状態において、当該物品が積み替えの対象とされる積替物品ではないことを表す値「false」の積替フラグが予め対応付けられている。
【００６９】
本実施例では、従業員が、ボックスＩＤ「B01」で識別される第１移動体１００の格納ボックス１６０に第１物品を格納させ、かつ、ボックスＩＤ「B03」で識別される格納ボックス１６０に第３物品を格納させた場合を例に挙げて以下説明する。
【００７０】
不図示のボックス情報保存処理の実行が開始されると、制御装置５００のＣＰＵ５０１は、入力された信号に基づいて、第１移動体１００の識別情報「100」と、第１物品の物品ＩＤ「G1」と、第１物品が格納された格納ボックス１６０のボックスＩＤ「B01」と、を、格納ボックスに関する情報として取得する。次に、ＣＰＵ５０１は、第１物品の受取人であることを認証するために用いられるパスワードを表す文字列「password1」を、例えば、乱数に基づいて生成する。その後、ＣＰＵ５０１は、図１１に示した格納ボックステーブルにおいて、第１移動体１００の識別情報「100」と、ボックスＩＤ「B01」と、に対応付けられた記号「-」と、文字「NULL」と、を、第１物品の物品ＩＤ「G1」と、生成されたパスワードを表す文字列「password1」と、で更新する。
【００７１】
同様に、制御装置５００のＣＰＵ５０１は、入力された信号に基づいて、第１移動体１００の識別情報「100」と、第３物品の物品ＩＤ「G3」と、ボックスＩＤ「B03」と、を取得し、パスワードを表す文字列「password3」を生成する。また、ＣＰＵ５０１は、格納ボックステーブルにおいて、識別情報「100」と、ボックスＩＤ「B03」と、に対応付けられた記号「-」及び文字列「NULL」を、第３物品の物品ＩＤ「G3」及び文字列「password3」で更新する。その後、ＣＰＵ５０１は、不図示のボックス情報保存処理の実行を終了する。
【００７２】
同様に、表示装置５０５ｂには、第２移動体２００の識別情報「200」と、第２物品の物品ＩＤ「G2」及び第４物品の物品ＩＤ「G4」と、が対応付けられて表示されるので、表示装置５０５ｂを視認した作業員は、第２物品と第４物品とを、第２移動体２００に格納させる。
【００７３】
同様に、本実施例では、従業員が、ボックスＩＤ「B12」で識別される第２移動体２００の格納ボックス２６０に第２物品を格納させ、ボックスＩＤ「B14」で識別される第２移動体２００の格納ボックス２６０に第４物品を格納させ、かつ、ボックスＩＤ「B15」で識別される第２移動体２００の格納ボックス２６０に第５物品を格納させた場合を例に挙げて以下説明する。
【００７４】
従業員は、第２物品及び第４物品をそれぞれ格納させた格納ボックス２６０に関するボックス情報を入力させる操作を制御装置５００の入力装置５０５ｃにさらに行う。制御装置５００の入力装置５０５ｃが操作に応じた信号を入力すると、制御装置５００のＣＰＵ５０１は、不図示のボックス情報保存処理を再度実行する。これにより、ＣＰＵ５０１は、格納ボックステーブルにおいて、第２移動体２００の識別情報「200」と、ボックスＩＤ「B12」と、に対応付けられた記号「-」及び文字列「NULL」を、第２物品の物品ＩＤ「G2」及びパスワードを表す文字列「password2」で更新し、識別情報「200」と、ボックスＩＤ「B14」と、に対応付けられた記号「-」及び文字列「NULL」を、第４物品の物品ＩＤ「G4」及び文字列「password4」で変更する。また、ＣＰＵ５０１は、第２移動体２００の識別情報「200」と、ボックスＩＤ「B15」と、に対応付けられた記号「-」及び文字列「NULL」を、第５物品の物品ＩＤ「G5」及びパスワードを表す文字列「password5」で更新する。
【００７５】
制御装置５００のＣＰＵ５０１は、起動すると、第１移動体１００及び第２移動体２００を制御する、図１２に示すような移動体制御処理を実行する。これにより、ＣＰＵ５０１は、第１移動体１００及び第２移動体２００を受取場所へ移動させる、図７に示すような移動制御部５４０として機能する。また、ＣＰＵ５０１は、第１移動体１００と第２移動体２００とが同じ受取場所に滞在する場合に、第１移動体１００と第２移動体２００のいずれか一方を、受取場所に残留する残留移動体として選択し、他方を、当該受取場所から退去する退去移動体として選択する選択部５５０として機能する。
【００７６】
さらに、制御装置５００のＣＰＵ５０１は、退去移動体が格納している物品を、退去移動体から残留移動体に積み替えられる積替物品と特定し、特定された積替物品を残留移動体に格納させる格納制御部５６０、及び、残留移動体に当該積替物品が格納されると、退去移動体の受取場所からの退去予定時刻を、変更前よりも早い時刻に変更する変更部５７０として機能する。また、ＣＰＵ５０１は、退去移動体の退去予定時刻が変更されると、残留移動体に格納された積替物品の受取期間が終了する時刻が、当該受取場所における残留移動体の退去予定時刻まで延長されたことを知らせる延長通知を出力する通知部５８０として機能する。
【００７７】
図１２に示す移動体制御処理の実行が開始されると、移動制御部５４０は、例えば、ＯＳ（Operating System）からシステム時刻を取得する。本実施例では、具体例として、「09:00」というシステム時刻が取得された場合を挙げて以下説明する。
【００７８】
移動制御部５４０は、図９に示した予定テーブルから、未出発の状態を表す状態情報に対応付けられた移動開始時刻の内で、システム時刻「09:00」以前の時刻「09:00」を１つ取得する。取得された移動開始時刻「09:00」には、第１移動体１００の識別情報「100」と、第１受取場所の識別情報「P1」と、が対応付けられているため、移動制御部５４０は、第１移動体１００が第１受取場所へ移動を開始する移動開始時刻「09:00」が到来したと判別する（ステップＳ０１；Ｙｅｓ）。
【００７９】
次に、移動制御部５４０は、受取場所に関する情報が予め保存された不図示の受取場所テーブルを参照する。不図示の受取場所テーブルは、情報記憶部５９０に予め記憶されており、受取場所テーブルには、複数のレコードが予め保存されている。受取場所テーブルの各レコードには、受取場所の識別情報と、受取場所の代表地点の緯度及び経度を表す代表地点情報と、当該受取場所の範囲を表す範囲情報と、が対応付けられて保存されている。
【００８０】
本実施例では、受取場所の代表地点は、例えば、当該受取場所の出入口であるとして説明するが、これに限定される訳ではなく、受取場所の代表地点は、当該受取場所と、第１移動体１００及び第２移動体２００が移動可能な経路と、が接する地点であれば、どのような地点であっても構わない。また、受取場所の代表地点は、当該受取場所と、第１移動体１００及び第２移動体２００が移動可能な経路と、が接する地点に限定される訳ではなく、例えば、当該受取場所を包含する最小の円の中心点、又は、当該受取場所に包含される最大の円の中心点であっても良い。
【００８１】
また、本実施例では、受取場所の形状が多角形状であるため、受取場所の範囲情報は、代表地点を原点とした座標系の座標値を用いて、当該受取場所が有する複数の頂点の位置を表す情報であるとして説明する。しかし、これに限定される訳ではなく、例えば、受取場所の形状が円形状であり、かつ、当該受取場所の代表地点が当該受取場所の中心点であれば、当該受取場所の範囲情報は、当該受取場所の半径を表す情報であっても良い。さらに、例えば、受取場所の形状が楕円形状であり、かつ、当該受取場所の代表地点が当該受取場所の有する長軸と短軸との交点であれば、当該受取場所の範囲情報は、当該長軸及び短軸の長さを表す情報であっても良い。
【００８２】
移動制御部５４０は、参照した受取場所テーブルから、第１受取場所の識別情報「P1」に対応付けられた第１受取場所の代表地点情報と範囲情報とを取得する。その後、移動制御部５４０は、第１受取場所の識別情報「P1」と代表地点情報と範囲情報とを含み、第１受取場所へ移動することを命じる移動命令を生成する。次に、移動制御部５４０は、生成された移動命令を、第１移動体１００を宛先として、図６に示したデータ通信回路５０４ａへ出力することで、第１移動体１００の移動制御を行う（ステップＳ０２）。
【００８３】
その後、変更部５７０は、図９の予定テーブルにおいて、第１移動体１００の識別情報「100」と、第１受取場所の識別情報「P1」と、に対応付けられた状態情報を、移動中を表す状態情報に変更した後に（ステップＳ０３）、ステップＳ０１から上記処理を繰り返す。
【００８４】
第１移動体１００が備える第１データ通信回路１９４ａが、制御装置５００から移動命令を受信すると、第１移動体１００のＣＰＵ１９１は、移動命令に従って移動するために、複数の車輪を回転させる不図示のモータを制御する、図１３に示すような走行制御処理を実行する。
【００８５】
走行制御処理の実行が開始されると、第１移動体１００のＣＰＵ１９１は、第１データ通信回路１９４ａから移動命令を取得し（ステップＳ２１）、取得された移動命令に含まれる第１受取場所の識別情報「P1」、代表地点情報、及び、範囲情報を取得する。次に、第１移動体１００のＣＰＵ１９１は、ＧＰＳ回路１９６から出力される信号に基づいて、第１移動体１００の緯度及び経度を特定する。
【００８６】
その後、第１移動体１００のＣＰＵ１９１は、例えば、道路といった第１移動体１００が移動可能な部分経路に関する情報が予め保存されている不図示の部分経路テーブルから複数のレコードを読み出す。部分経路テーブルは、フラッシュメモリ１９３ｂに予め保存されており、部分経路テーブルの各レコードには、部分経路の始点ノードの緯度及び経度と、当該部分経路の終点ノードの緯度及び経度と、当該部分経路であるエッジの長さと、が対応付けられて予め保存されている。
【００８７】
第１移動体１００のＣＰＵ１９１は、特定された第１移動体１００の緯度及び経度と、読み込まれた複数のレコードにそれぞれ保存されている部分経路であるエッジの長さ並びにノードの緯度及び経度と、代表地点情報で表される第１受取場所の代表地点の緯度及び経度と、を用いて、例えば、ダイクストラ法といった経路探索アルゴリズムを実行する。これにより、ＣＰＵ１９１は、第１移動体１００の現在位置から、第１受取場所の代表地点までの最短の全体経路を算出し、算出された全体経路を移動経路として決定する（ステップＳ２２）。
【００８８】
次に、第１移動体１００のＣＰＵ１９１は、移動経路を順行させるために、ＧＰＳ回路１９６から信号を取得し、取得された信号で表される第１移動体１００の緯度及び経度と、移動経路に含まれる複数の未通過のノードの内で最も近いノードの緯度及び経度と、の相違を縮小させる走行をするための制御信号を生成する。その後、ＣＰＵ１９１は、生成された制御信号を、車輪１１１及び１１２を含む複数の車輪を回転させる不図示のモータを駆動させる駆動回路１９９へ出力する（ステップＳ２３）。次に、第１移動体１００のＣＰＵ１９１は、未通過のノードが存在する間、ＧＰＳ回路１９６から信号を取得する処理から上記処理を繰り返す。
【００８９】
その後、第１移動体１００のＣＰＵ１９１は、未通過のノードが存在しなくなると、第１移動体１００が第１受取場所に到着したと判別する。次に、ＣＰＵ１９１は、第１受取場所の識別情報「P1」と、第１移動体１００の識別情報「100」と、を含み、第１受取場所に第１移動体１００が到着したことを告げる到着報告を生成する。その後、ＣＰＵ１９１は、生成された到着報告を、制御装置５００を宛先として第１データ通信回路１９４ａへ出力した後に（ステップＳ２４）、走行制御処理の実行を終了する。
【００９０】
制御装置５００の移動制御部５４０は、図１２のステップＳ０２及びステップＳ０３を実行することで移動命令を出力した後に、ステップＳ０１の処理を再度実行する。このとき、移動制御部５４０は、システム時刻を再度取得し、図９の予定テーブルにおいて、未出発の状態を表す状態情報と対応付けられた情報で表される移動開始時刻の内で、システム時刻よりも遅い時刻が無いと判別する。これにより、移動制御部５４０は、未実行の予定に関する移動開始時刻が到来していないと判別する（ステップＳ０１；Ｎｏ）。
【００９１】
次に、制御装置５００の移動制御部５４０は、第１移動体１００から送信された到着報告がデータ通信回路５０４ａで受信されたと判別して（ステップＳ０４；Ｙｅｓ）、データ通信回路５０４ａから到着報告を取得する（ステップＳ０５）。その後、移動制御部５４０は、取得された到着報告から第１移動体１００の識別情報「100」と、第１移動体１００が到着した第１受取場所の識別情報「P1」と、を取得する。
【００９２】
次に、変更部５７０は、図９に示した予定テーブルにおいて、第１移動体１００の識別情報「100」と、第１受取場所の識別情報「P1」と、に対応付けられた状態情報を、到着済みの状態を表す状態情報に変更する（ステップＳ０６）。
【００９３】
その後、通知部５８０は、予定テーブルから、第１移動体１００の識別情報「100」と、第１受取場所の識別情報「P1」と、に対応付けられた物品ＩＤ「G1」を取得し、図８に示した物品テーブルにおいて、物品ＩＤ「G1」と対応付けられた連絡先を表す情報を取得する。また、通知部５８０は、図１１に示した格納テーブルから、物品ＩＤ「G1」と対応付けられたパスワードを表す文字列「password1」を取得する。その後、通知部５８０は、物品ＩＤ「G1」で識別される第１物品が、第１受取場所に到着したこと、及び、第１物品の受取人の認証に用いられるパスワードを表す文字列「password1」を知らせる、例えば、電子メール又はアプリケーションのメッセージ等の到着通知を生成する。次に、通知部５８０は、生成された到着通知を、取得された情報で表される受取人の連絡先を宛先として、データ通信回路５０４ａへ出力する（ステップＳ０７）。
【００９４】
第１物品の受取人は、図１に示した携帯端末９０１を携帯している。携帯端末９０１は、スマートフォンであり、図５に示した第１移動体１００のＣＰＵ１９１、ＲＡＭ１９２、ＲＯＭ１９３ａ、フラッシュメモリ１９３ｂ、第１データ通信回路１９４ａ、及び、タッチスクリーン１９５と同様の構成及び機能を有する不図示のＣＰＵ、ＲＡＭ、ＲＯＭ、フラッシュメモリ、データ通信回路、及び、タッチスクリーンを備える。また、携帯端末９０１は、周囲の音声を表す信号を入力する不図示のマイクロフォン、不図示の基地局と電波を用いた音声通信を行う不図示の音声通信回路、及び、ＣＰＵが出力する信号に従って音声を出力する不図示のスピーカを備える。尚、携帯端末９０２から９０５は、第２物品から第５物品の受取人によって携帯されており、携帯端末９０１が有する構成及び機能と同様の構成及び機能を有する。
【００９５】
携帯端末９０１の不図示のデータ通信回路が、制御装置５００から到着通知を受信すると、不図示のＣＰＵは、通到着知をタッチスクリーンに表示させる。このため、例えば、到着通知を受取人が視認し、かつ、受取人の都合が合えば、受取人は、第１物品を受け取るために第１受取場所へ移動する。
【００９６】
図１２のステップＳ０７で到着通知を出力した後に、移動制御部５４０は、第１受取場所に滞在することを命じる滞在命令を生成し、生成された滞在命令を、第１受取場所に到着した第１移動体１００を宛先としてデータ通信回路５０４ａに出力する。このようにして、移動制御部５４０は、第１移動体１００を第１受取場所に滞在させる滞在制御を実行する（ステップＳ０８）。
【００９７】
第１移動体１００の第１データ通信回路１９４ａが滞在命令を受信すると、第１移動体１００のＣＰＵ１９１は、撮像装置１１９、１８１、及び、１８２へ撮像を命じる信号を出力した後に、撮像装置１１９、１８１、及び、１８２によってそれぞれ出力される２枚の画像を取得する。次に、ＣＰＵ１９１は、取得された２枚の画像に対して、テンプレートマッチングを行うことで、例えば、床、及び、壁、椅子、テーブル、及び、インターフォン等の設備、並びに、第１移動体１００と異なる移動体といった第１移動体１００の周辺にある物体に対応する画像領域を特定する。その後、ＣＰＵ１９１は、特定された画像領域の２枚の画像における位置の相違（つまり、視差）に基づいて、代表地点を原点とする３次元空間における物体の座標範囲を算出する。その後、ＣＰＵ１９１は、算出された座標範囲と、第１受取場所の範囲を表す範囲情報と、に基づいて、第１移動体１００の滞在位置を、例えば、第１受取場所の壁際の位置といった第１受取場所の通行の妨げとなり難い位置に決定し、決定された滞在位置の位置座標を算出する。
【００９８】
次に、ＣＰＵ１９１は、第１移動体１００の位置座標を算出し、決定された滞在位置の位置座標と、第１移動体１００の位置座標と、の相違を縮小させる走行をするための制御信号を生成し、生成された制御信号を駆動回路１９９へ出力する。このようにして、第１移動体１００は、決定された第１受取場所の滞在位置に移動する。その後、第１移動体１００のＣＰＵ１９１は、例えば、複数の車輪を回転させる制御信号の出力を停止する等して、第１移動体１００を第１受取場所に滞在させる。
【００９９】
ステップＳ０８で滞在命令が出力された後に、選択部５５０は、図９の予定テーブルから、第１受取場所の識別情報「P1」と、到着済みの状態を表す状態情報と、に対応付けられた識別情報を検索する。これにより、選択部５５０は、第１移動体１００の識別情報「100」を取得するが、第２移動体２００の識別情報「200」を取得しない。識別情報「200」が取得されないのは、第２移動体２００が第１受取場所に到着していないためである。
【０１００】
このため、選択部５５０は、第１受取場所に第１移動体１００しか滞在しておらず、他の移動体である第２移動体２００が滞在していないと判別する（ステップＳ０９；Ｎｏ）。選択部５５０は、第１受取場所に第２移動体２００が滞在していないため、第１移動体１００と第２移動体２００との間で物品の積み替えができないと判別する。その後、ステップＳ０１から上記処理が繰り返される。
【０１０１】
その後、システム時刻が「09:20」になると、移動制御部５４０は、図９に示した予定テーブルから、未出発の状態を表す状態情報に対応付けられた移動開始時刻の内で、システム時刻「09:20」以前の時刻であって、第２移動体２００の識別情報「200」と、第１受取場所の識別情報「P1」と、に対応付けられた移動開始時刻「09:20」を取得する。このため、移動制御部５４０は、第２移動体２００が第１受取場所への移動を開始する予定の時刻である移動開始時刻「09:20」が到来したと判別する（ステップＳ０１；Ｙｅｓ）。
【０１０２】
次に、移動制御部５４０は、第１受取場所へ移動することを命じる移動命令を、第２移動体２００を宛先として出力する。（ステップＳ０２）。その後、変更部５７０は、予定テーブルにおいて、第２移動体２００の識別情報「200」と、第１受取場所の識別情報「P1」と、に対応付けられた状態情報を、移動中を表す状態情報に変更する（ステップＳ０３）。その後、ステップＳ０１から上記処理が繰り返される。
【０１０３】
第２移動体２００は、移動命令を受信すると、図１３に示した走行制御処理を実行することで、第１受取場所に向かって移動を開始する。その後、第２移動体２００は、第１受取場所に到着すると、第１受取場所の識別情報「P1」と、第２移動体２００の識別情報「200」と、を含んだ到着報告を制御装置５００へ送信する。
【０１０４】
図１２のステップＳ０３が実行された後、制御装置５００の移動制御部５４０は、ステップＳ０１及びＳ０４の処理を順に実行することで、第２移動体２００によって送信された到着報告が受信されたと判別する（ステップＳ０４；Ｙｅｓ）。
【０１０５】
その後、ステップＳ０５からＳ０８の処理が再度実行される。これにより、図９の予定テーブルにおいて、第２移動体２００の識別情報「200」と、第１受取場所の識別情報「P1」と、に対応付けられた状態情報が、到着済みの状態を表す状態情報に変更され、第２移動体２００を第１受取場所に滞在させる滞在制御が実行される。また、第２物品が第１受取場所に到着したこと、及び、第２物品の受取人の認証に用いられるパスワードを知らせる到着通知が、第２物品の受取人が携帯する携帯端末９０２へ送信される。
【０１０６】
次に、選択部５５０は、図９に示した予定テーブルから、第１受取場所の識別情報「P1」と、到着済みの状態を表す状態情報と、に対応付けられた、第１移動体１００の識別情報「100」と、第２移動体２００の識別情報「200」と、を取得する。これにより、選択部５５０は、第１受取場所に第１移動体１００と第２移動体２００とが滞在していると判別する（図１２のステップＳ０９；Ｙｅｓ）。その後、同じ受取場所に第１移動体１００と第２移動体２００とが滞在する場合に、当該受取場所で、第１移動体１００に格納された物品と、第２移動体２００に格納された物品と、を積み替えさせる、図１４に示すような積替制御処理が実行される（ステップＳ１０）。
【０１０７】
積替制御処理の実行が開始されると、第１移動体１００及び第２移動体２００の内で、一方を、第１受取場所に残留する残留移動体として選択し、かつ、他方を、第１受取場所から退去する退去移動体として選択する、図１５に示すような選択処理が実行される（ステップＳ３１）。
【０１０８】
選択処理の実行が開始されると、取得部５１０は、図９の予定テーブルから、第１移動体１００の識別情報「100」と、第１受取場所の識別情報「P1」と、に対応付けられた、退去予定時刻「09:50」を表す情報を取得する。このようにして取得される情報は、第１受取場所からの第１移動体１００の退去予定時刻を表す情報である（ステップＳ５１）。同様に、取得部５１０は、予定テーブルから、第２移動体２００の識別情報「200」と、第１受取場所の識別情報「P1」と、に対応付けられた退去予定時刻を表す情報を取得することで、第１受取場所からの第２移動体２００の退去予定時刻「10:00」を表す情報を取得する（ステップＳ５２）。
【０１０９】
次に、選択部５５０は、第１受取場所からの第１移動体１００の退去予定時刻「09:50」が、第１受取場所からの第２移動体２００の退去予定時刻「10:00」よりも早いと判別する（ステップＳ５３；Ｙｅｓ）。その後、選択部５５０は、第２移動体２００を残留移動体として選択し（ステップＳ５４）、第１移動体１００を退去移動体として選択する（ステップＳ５５）。
【０１１０】
その後、格納制御部５６０は、退去移動体として選択された第１移動体１００に格納されている第１物品を、退去移動体から残留移動体へ積み替えられる積替物品と特定する（ステップＳ５６）。第１物品が積替物品と特定されるのは、残留移動体として選択された第２移動体２００に、第１物品を積み替えれば、第１移動体１００は、第１受取場所で受け取られる予定の物品を格納していない状態となるため、第１物品の積み替えが終われば、第１受取場所から退去できるようになるからである。
【０１１１】
その後、変更部５７０は、図１１に示した格納ボックステーブルにおいて、積替物品と特定された第１物品の物品ＩＤ「G1」に対応付けられた積替フラグ「false」を、積替物品であることを表すフラグ「TRUE」に変更した後に、選択処理の実行を終了する。
【０１１２】
図１４のステップＳ３１で、選択処理が実行された後、第１受取場所以外の受取場所で受け取られる物品から積替物品を特定する、図１６に示すような積替物品特定処理が実行される（ステップＳ３２）。
【０１１３】
積替物品特定処理の実行が開始されると、格納制御部５６０は、図９に示した予定テーブルから、第１移動体１００の識別情報「100」と、第１受取場所の到着予定時刻「09:00」よりも遅い到着予定時刻「10:10」を表す情報と、に対応付けられた第２受取場所の識別情報「P2」を取得する。これによって、格納制御部５６０は、第１移動体１００が第１受取場所を退去した後に到着する予定の受取場所として、第２受取場所を特定する。
【０１１４】
同様に、格納制御部５６０は、第２移動体２００が第１受取場所を退去した後に到着する予定の受取場所として、第２受取場所及び第３受取場所を特定する。その後、格納制御部５６０は、第１移動体１００と、第２移動体２００と、の双方が到着する予定の第２受取場所を共通の受取場所と特定する（ステップＳ６１）。これに対して、格納制御部５６０は、第２移動体２００が到着する予定があるが、第１移動体１００が到着する予定が無い、第３受取場所を共通の受取場所と特定しない。
【０１１５】
次に、格納制御部５６０は、特定された共通の受取場所の内で、第２受取場所について未だ注目していないため、未注目の共通の受取場所があると判別し（ステップＳ６２；Ｙｅｓ）、未注目の共通の受取場所の１つとして第２受取場所に注目し、第２受取場所を注目受取場所とする（ステップＳ６３）。
【０１１６】
その後、取得部５１０は、図９の予定テーブルにおいて、第１移動体１００の識別情報「100」と、注目受取場所である第２受取場所の識別情報「P2」と、に対応付けられた到着予定時刻「10:20」と、退去予定時刻「11:20」と、を取得する。次に、格納制御部５６０は、第１移動体１００が注目受取場所に滞在する予定の期間である滞在予定期間を、到着予定時刻「10:20」から退去予定時刻「11:20」までであると特定する（ステップＳ６４）。同様に、取得部５１０は、第２移動体２００の識別情報「200」と、注目受取場所の識別情報「P2」と、に対応付けられた到着予定時刻「10:20」と、退去予定時刻「10:50」と、を取得する。次に、格納制御部５６０は、第２移動体２００の注目受取場所に対する滞在予定期間を、到着予定時刻「10:20」から退去予定時刻「10:50」までであると特定する（ステップＳ６５）。
【０１１７】
その後、格納制御部５６０は、第１移動体１００の当該滞在予定期間が第２移動体２００の当該滞在予定期間を包含していると判別する（ステップＳ６６；Ｙｅｓ）。このように判別されるのは、第１移動体１００の当該滞在予定期間が開始する時刻「10:20」と、第２移動体２００の当該滞在予定期間が開始する時刻「10:20」と、が一致しているが、第１移動体１００の当該滞在予定期間が終了する時刻「11:20」が、第２移動体２００の当該滞在予定期間が終了する時刻「10:50」よりも遅いためである。
【０１１８】
このため、格納制御部５６０は、第２受取場所で第２移動体２００から引き取られる予定の第４物品を、第１移動体１００へ積み替えれば、第２移動体２００が第２受取場所へ移動する必要が無くなるため、第４物品を積替物品と特定する（ステップＳ６７）。次に、変更部５７０は、図１１に示した格納ボックステーブルにおいて、積替物品と特定された第４物品の物品ＩＤ「G4」に対応付けられた積替フラグ「false」を、積替物品であることを表すフラグ「TRUE」に変更する。
【０１１９】
その後、格納制御部５６０は、図１６のステップＳ６２に戻り、未注目の共通の受取場所がないと判別し（ステップＳ６２；Ｎｏ）、積替物品特定処理の実行を終了する。
【０１２０】
図１４のステップＳ３２で、積替物品特定処理が実行された後、変更部５７０は、積み替えが行われたか否かを表す積替済フラグを、積み替えが行われていないことを表すフラグ「false」に初期化する（ステップＳ３３）。
【０１２１】
次に、格納制御部５６０は、図１１の格納ボックステーブルにおいて、退去移動体として選択された第１移動体１００の識別情報「100」と、積替物品であることを表す積替フラグ「TRUE」と、に対応付けられた第１物品の物品ＩＤ「G1」を取得することで、退去移動体の積替物品を特定する（ステップＳ３４）。
【０１２２】
次に、格納制御部５６０は、取得された積替物品の内で、第１物品について未だ注目していないため、未注目の積替物品があると判別し（ステップＳ３５；Ｙｅｓ）、未注目の積替物品の１つとして第１物品に注目し、第１物品を注目物品とする（ステップＳ３６）。
【０１２３】
次に、格納制御部５６０は、格納ボックステーブルにおいて、注目物品である第１物品の物品ＩＤ「G1」に対応付けられた格納ボックス１６０の配置位置「左１行１列」を表す情報を取得する。格納制御部５６０は、取得された情報に基づいて、第１物品が、第１移動体１００の左側面の１行１列の位置に配置された格納ボックス１６０（以下、左１行１列のボックス１６０という）に格納されていることを特定する。
【０１２４】
次に、格納制御部５６０は、取得された配置位置「左１行１列」を表す情報に基づいて、第１移動体１００の左１行１列のボックス１６０から、積み替えのために押し出される第１物品を受け止めることが可能な受止可能ボックスとして、第２移動体２００の右側面の１行１列及び１行２列、並びに、左側面の１行１列及び１行２列に配置された格納ボックス２６０を特定する。これらの格納ボックス２６０が受止可能ボックスとして特定されるのは、図４を参照して説明したように、第１移動体１００の格納ボックス１６０は、第１物品を水平方向に押し出すため、格納ボックス１６０と正対させることが可能な格納ボックス２６０が、押し出された第１物品を受け止めることができるからである。
【０１２５】
第２移動体２００の右側面の１行１列の格納ボックス２６０と、第１移動体１００の左１行１列のボックス１６０と、を、互いに正対させるには、例えば、以下のような手順に従って、第１移動体１００と第２移動体２００との進行方向及び相対的な位置を調整すれば良い。そのような手順は、先ず、図２に示したように、第１移動体１００と第２移動体２００との進行方向を同じ方向とし、次に、第１移動体１００のロッカー装置１７０の前側の面と、第２移動体２００のロッカー装置２７０の前側の面と、が同一平面を形成するように、第１移動体１００と第２移動体２００との位置を調整する手順である。
【０１２６】
また、第２移動体２００の右側面の１行２列の格納ボックス２６０と、第１移動体１００の左１行１列のボックス１６０と、を、互いに正対させるには、第１移動体１００と第２移動体２００との進行方向を同じ方向とした状態で、第１移動体１００の位置を第２移動体２００よりも進行方向に向かって後側の位置に調整すれば良い。
【０１２７】
さらに、左側面の１行２列の格納ボックス２６０と、左１行１列のボックス１６０と、を互いに正対させるには、第１移動体１００と第２移動体２００との進行方向を互いに対向させた状態で、ロッカー装置１７０の前側の面と、ロッカー装置２７０の後側の面と、が同一平面を形成するように、第１移動体１００と第２移動体２００との位置を調整すれば良い。
【０１２８】
またさらに、左側面の１行１列の格納ボックス２６０と、左１行１列のボックス１６０とを互いに正対させるには、第１移動体１００の進行方向と第２移動体２００の進行方向とを互いに対向させた状態で、第１移動体１００の位置を第２移動体２００よりも第１移動体１００の進行方向に向かって後ろの位置に調整すれば良い。
【０１２９】
その後、格納制御部５６０は、図１１の格納ボックステーブルにおいて、第２移動体２００の識別情報「200」と、受止可能ボックスとして特定された格納ボックス２６０の内の１つの配置位置「右１行１列」を表す情報と、に対して、物品が格納されていないことを表す記号「-」が対応付けられているため、残留移動体として選択された第２移動体２００の受止可能ボックス２６０に空きがあると判別する（図１４のステップＳ３７；Ｙｅｓ）。尚、格納制御部５６０は、全ての受止可能ボックス２６０に空きがないと判別すると（ステップＳ３７；Ｎｏ）、別の積替物品を積み替えるため、ステップＳ３５から上記処理を繰り返す。
【０１３０】
受止可能ボックス２６０に空きがあると判別すると（ステップＳ３７；Ｙｅｓ）、格納制御部５６０は、第１移動体１００の左１行１列のボックス１６０から、第２移動体２００の右側面の１行１列の位置に配置された格納ボックス２６０（以下、右１行１列のボックス２６０という）へ、第１物品を積み替えることを命じる積替命令を生成する。次に、格納制御部５６０は、積替命令に、第１移動体１００の識別情報「100」、及び、配置位置「左１行１列」を表す情報を対応付けた情報と、第２移動体２００の識別情報「200」、及び、配置位置「右１行１列」を表す情報を対応付けた情報と、を追加した後に、第１移動体１００及び第２移動体２００を宛先として積替命令をデータ通信回路５０４ａに出力する。これにより、格納制御部５６０は、退去移動体として選択された第１移動体１００が格納している第１物品を、残留移動体として選択された第２移動体２００に格納させる格納制御を行う（ステップＳ３８）。
【０１３１】
第１移動体１００の第１データ通信回路１９４ａが積替命令を受信すると、第１移動体１００のＣＰＵ１９１は、積替命令を取得し、積替命令に含まれる情報を取得する。その後、ＣＰＵ１９１は、撮像装置１１９、１８１、及び、１８２へ撮像を命じる信号を出力した後に、撮像装置１１９、１８１、及び、１８２によってそれぞれ出力される２枚の画像を取得し、取得された２枚の画像の視差に基づいて、第２移動体２００の位置座標及び進行方向を特定する。次に、ＣＰＵ１９１は、特定された第２移動体２００の位置座標及び進行方向と、積替命令から取得された情報と、に基づいて制御信号を生成し、生成された制御信号を、複数の車輪を回転させる不図示のモータに接続された駆動回路１９９へ出力する。これにより、第１移動体１００のＣＰＵ１９１は、第１移動体１００の左１行１列のボックス１６０と、第２移動体２００の右１行１列のボックス２６０と、が、扉１６２の高さＨよりも短い距離ｄだけ離れて正対するように、第１移動体１００の位置及び進行方向を変更する。第２移動体２００は、積替命令を受信すると、第１移動体１００と同様に、第２移動体２００の位置及び進行方向を変更する。
【０１３２】
第１移動体１００のＣＰＵ１９１は、車台１１０の左側面に設置された撮像装置１８２へ撮像を命じる信号を再度出力した後に、撮像装置１８２から出力される２枚の画像を取得する。次に、ＣＰＵ１９１は、取得された２枚の画像の視差に基づいて、第１移動体１００の左１行１列のボックス１６０と、第２移動体２００の右１行１列のボックス２６０と、が距離ｄだけ離れて正対しているか否かを判別する。このとき、ＣＰＵ１９１は、左１行１列のボックス１６０と、右１行１列のボックス２６０と、が距離ｄだけ離れて正対していないと判別すると、第１移動体１００の位置及び進行方向を変更する処理から上記処理を繰り返す。
【０１３３】
第１移動体１００のＣＰＵ１９１は、左１行１列のボックス１６０と、右１行１列のボックス２６０と、が距離ｄだけ離れて正対していると判別すると、左１行１列のボックス１６０の扉１６２を解錠させる制御信号と、扉１６２の状態を外側開放状態とする制御信号とを、不図示のモータに接続された駆動回路１９９へ出力する。これにより、扉１６２は、図４に示したような、左１行１列のボックス１６０と右１行１列のボックス２６０とに架かる橋として機能する。第２移動体２００は、第１移動体１００と同様に、左１行１列のボックス１６０と、右１行１列のボックス２６０と、が正対していると判別した後に、右１行１列のボックス２６０の伸縮機構の状態を完全収縮状態とし、扉２６２を解錠し、かつ、扉２６２の状態を内側開放状態にする。
【０１３４】
第１移動体１００のＣＰＵ１９１は、撮像装置１８２へ制御信号を再度出力した後に、撮像装置１８２から出力される画像に基づいて、右１行１列のボックス２６０が内側開放状態となったか否かを判別する。ＣＰＵ１９１は、右１行１列のボックス２６０が内側開放状態となっていないと判別すると、撮像装置１８２へ制御信号を出力する処理から上記処理を繰り返す。ＣＰＵ１９１は、右１行１列のボックス２６０が内側開放状態となったと判別すると、左１行１列のボックス１６０の伸縮機構１６５を完全伸張状態とさせる制御信号を駆動回路１９９へ出力する。
【０１３５】
図４に示すように、伸縮機構１６５が伸張させられると、伸縮機構１６５に押されたスライド板１６４が、左１行１列のボックス１６０の底板１６１ｂの表面、扉１６２の裏側の面、及び、右１行１列のボックス２６０の扉２６２の表側の面をスライドする。これにより、左１行１列のボックス１６０に格納されていた第１物品が、扉２６２よりも右１行１列のボックス２６０の内側まで、スライド板１６４によって押し出されることで、積み替えが行われる。
【０１３６】
その後、第１移動体１００のＣＰＵ１９１は、左１行１列のボックス１６０の伸縮機構１６５の状態を完全収縮状態とする制御信号と、扉１６２の状態を閉鎖状態とする制御信号と、扉１６２を施錠させる制御信号と、を駆動回路１９９へ順に出力する。第２移動体２００は、ロッカー装置２７０の右側面に設置された不図示の撮像装置から出力された画像に基づいて、第１移動体１００の左１行１列のボックス１６０が備える扉１６２の状態が閉鎖状態となったと判別すると、積み替えが終了したと判別する。その後、第２移動体２００は、右１行１列のボックス２６０の扉２６２の状態を閉鎖状態とした後に、扉２６２を施錠する。
【０１３７】
第１物品の積み替えが終了すると、変更部５７０は、積替済フラグの値を、積み替えが行われたことを表す値「TRUE」に変更する（図１４のステップＳ３９）。次に、変更部５７０は、図１１の格納ボックステーブルにおいて、第１移動体１００の識別情報「100」と、積み替え前に第１物品が格納されていた格納ボックス１６０の配置位置「左１行１列」を表す情報と、に対応付けられた第１物品の物品ＩＤ「G1」及びパスワードを表す文字列「password1」を取得する。次に、変更部５７０は、第２移動体２００の識別情報「200」と、積み替えにより第１物品が格納されるようになった格納ボックス２６０の配置位置「右１行１列」を表す情報と、に対応付けられた記号「-」及び文字列「NULL」を、取得された第１物品の物品ＩＤ「G1」及びパスワードを表す文字列「password1」に変更する。その後、変更部５７０は、格納ボックステーブルにおいて、第１移動体１００の識別情報「100」と、格納ボックス１６０の配置位置「左１行１列」を表す情報と、に対応付けられた物品ＩＤ「G1」、文字列、及び、積替フラグ「TRUE」を、物品が格納されていないことを表す記号「-」、パスワードが設定されていないことを表す文字列「NULL」、及び、積替物品でないことを表すフラグ「false」に変更する。
【０１３８】
また、変更部５７０は、図９の予定テーブルにおいて第１移動体１００の識別情報「100」と、第１受取場所の識別情報「P1」と、に対応付けられていた第１物品の物品ＩＤ「G1」を削除することで、図９の予定テーブルを図１７に示すような予定テーブルに変更する。このような変更及び削除が行われるのは、退去移動体として選択された第１移動体１００が、積み替えにより、第１物品を格納しなくなったからである。
【０１３９】
変更部５７０は、予定テーブルにおいて、第１移動体１００の識別情報「100」と、第１受取場所の識別情報「P1」と、到着済みの状態を表す状態情報と、に対応付けられた物品ＩＤが無くなったため、第１移動体１００が滞在している第１受取場所で、第１移動体１００から受け取られる物品が無くなったと判別する。このため、変更部５７０は、退去移動体として選択された第１移動体１００が第１受取場所から退去可能になったと判別する。
【０１４０】
次に、変更部５７０は、システム時刻を取得する。本実施例では、具体例として、「09:40」というシステム時刻が取得された場合を挙げて以下説明する。変更部５７０は、図９の予定テーブルにおいて、第１移動体１００の識別情報「100」と、第１受取場所の識別情報「P1」と、に対応付けられていた退去予定時刻「09:50」を、システム時刻「09:40」に変更することで、図９の予定テーブルから図１７の予定テーブルに変更する。これにより、変更部５７０は、「09:50」を第１受取場所からの退去予定時刻とする、図１０に示した第１移動体１００の予定を、「09:40」を第１受取場所からの退去予定時刻とする、図１８に示すような予定に変更する（図１４のステップＳ４０）。
【０１４１】
また、変更部５７０は、第２移動体２００の識別情報「200」と、第１受取場所の識別情報「P1」と、に対応付けられた第２物品の物品ＩＤ「G2」を存置したまま、第１物品の物品ＩＤ「G1」を、第２移動体２００の識別情報「200」と、第１受取場所の識別情報「P1」と、に対応付けて保存することで、図９の予定テーブルから図１７の予定テーブルに変更する。このような変更及び保存が行われるのは、第１受取場所に残留する残留移動体として選択された第２移動体２００が、積み替えにより、第２物品だけでなく、第１物品も格納するようになったからである。
【０１４２】
第２移動体２００の第１受取場所からの退去予定時刻「10:00」は、第１移動体１００の変更前の退去予定時刻「09:50」よりも遅いため、第１移動体１００から第２移動体２００へ積み替えられた第１物品は、積み替え前よりも遅くまで、第１受取場所で受け取られることができる。このため、通知部５８０は、第１物品を受け取ることができる受取期間の終了時刻が「09:50」から「10:00」まで延長されたことを知らせる延長通知を生成する。次に、通知部５８０は、図８に示した物品テーブルから、第１物品の物品ＩＤ「G1」に対応付けられた受取人の連絡先を取得し、生成された延長通知を、当該連絡先を宛先として、データ通信回路５０４ａへ出力する（図１４のステップＳ４１）。
【０１４３】
次に、ステップＳ３５に戻り、格納制御部５６０は、退去移動体が唯１つ格納していた積替物品について既に注目したため、退去移動体が格納する未注目の積替物品がないと判別する（ステップＳ３５；Ｎｏ）。
【０１４４】
次に、格納制御部５６０は、図１１の格納ボックステーブルにおいて、残留移動体として選択された第２移動体２００の識別情報「200」と、積替物品であることを表す積替フラグ「TRUE」と、に対応付けられた第４物品の物品ＩＤ「G4」を取得することで、残留移動体の積替物品を特定する（ステップＳ４２）。
【０１４５】
次に、格納制御部５６０は、ステップＳ３５からＳ４１と同様の処理を実行する（ステップＳ４３からＳ４９）。これにより、格納制御部５６０は、第２移動体２００に格納された積替物品である第４物品を、第１移動体１００に格納させてから、積替済フラグの値を「TRUE」とする。
【０１４６】
本実施例では、具体例として、第４物品は、第２移動体２００の右側面の１行２列の位置に配置された格納ボックス２６０に格納されており、積み替えにより、第１移動体１００の左側面の１行２列の位置に配置された格納ボックス１６０に格納された場合を挙げて以下説明を行う。
【０１４７】
変更部５７０は、図１１の格納ボックステーブルにおいて、第２移動体２００の識別情報「200」と、積み替え前に第４物品が格納されていた格納ボックス２６０の配置位置「右１行２列」を表す情報と、に対応付けられた第４物品の物品ＩＤ「G4」及びパスワードを表す文字列「password4」を取得する。次に、変更部５７０は、第１移動体１００の識別情報「100」と、積み替えにより第４物品が格納されるようになった格納ボックス１６０の配置位置「左１行２列」を表す情報と、に対応付けられた記号「-」及び文字列「NULL」を、取得された第４物品の物品ＩＤ「G4」及びパスワードを表す文字列「password4」に変更する。その後、変更部５７０は、格納ボックステーブルにおいて、第２移動体２００の識別情報「200」と、格納ボックス２６０の配置位置「右１行２列」を表す情報と、に対応付けられた物品ＩＤ「G4」、文字列「password4」、及び、積替フラグ「TRUE」を、物品が格納されていないことを表す記号「-」、パスワードが設定されていないことを表す文字列「NULL」、及び、積替物品でないことを表すフラグ「false」に変更する。
【０１４８】
また、変更部５７０は、図９の予定テーブルにおいて、第２移動体２００の識別情報「200」と、第２受取場所の識別情報「P2」と、に対応付けられた第４物品の物品ＩＤ「G4」を削除する。このような変更及び削除が行われるのは、第２移動体２００が、積み替えにより、第４物品を格納しなくなったからである。
【０１４９】
さらに、変更部５７０は、予定テーブルにおいて、第２移動体２００の識別情報「200」と、第２受取場所の識別情報「P2」と、未出発の状態を表す状態情報と、に対応付けられた物品ＩＤが無くなったため、第２移動体２００の第２受取場所に関する予定が不要になったと判別する。次に、変更部５７０は、第２移動体２００の識別情報「200」と、第２受取場所の識別情報「P2」と、が保存されたレコードを削除することで、図９の予定テーブルから図１７の予定テーブルに変更し、図１８に示すように、第２移動体２００の予定から第２受取場所に関する予定を削除する。
【０１５０】
また、変更部５７０は、図９の予定テーブルにおいて、第１移動体１００の識別情報「100」と、第２受取場所の識別情報「P2」と、に対応付けられた第３物品の物品ＩＤ「G3」を存置したまま、第４物品の物品ＩＤ「G4」を、第１移動体１００の識別情報「100」と、第２受取場所の識別情報「P2」と、に対応付けて保存する。このようにして、図９の予定テーブルが図１７の予定テーブルに変更される。このような変更及び保存が行われるのは、第２受取場所へ移動する第１移動体１００が、積み替えにより、第３物品だけでなく、第４物品も格納するようになったからである。
【０１５１】
その後、通知部５８０は、第４物品を受け取ることができる受取期間の終了時刻が、第４物品を格納していた第２移動体２００が第２受取場所から退去する予定の時刻である退去予定時刻「10:50」から、積み替えにより第４物品を格納した第１移動体１００の第２受取場所からの退去予定時刻「11:20」まで延長されたことを知らせる延長通知を出力する。
【０１５２】
次に、格納制御部５６０は、図１４のステップＳ４３に戻り、残留移動体が唯１つ格納していた積替物品について既に注目したため、残留移動体が格納する未注目の積替物品がないと判別する（ステップＳ４３；Ｎｏ）。
【０１５３】
その後、格納制御部５６０は、積替済フラグの値が、積替が行われたことを表す「TRUE」であるが、図１１の格納ボックステーブルにおいて、積替物品であることを表す値「TRUE」の積替フラグが保存されていないため、積替物品がないと判別し（ステップＳ５０；Ｎｏ）、積替制御処理の実行を終了する。
【０１５４】
尚、格納制御部５６０は、受止可能ボックスに空きがなかったため積み替えられなかった積替物品が有り、かつ、積替済フラグの値が「TRUE」であると判別すると（ステップＳ５０；Ｙｅｓ）、当該積替物品の積み替えの際に空きがなかったと判別された受止可能ボックスに、別の積替物品の積み替えによって空きが生じた可能性があるため、ステップＳ３３から上記処理を繰り返す。
【０１５５】
図１２のステップＳ１０で積替制御処理が実行された後、制御装置５００の移動制御部５４０は、ステップＳ０１及びＳ０４の処理を順に実行することで、到着報告が受信されなかったと判別する（ステップＳ０４；Ｎｏ）。次に、移動制御部５４０は、システム時刻を取得する。本実施例では、具体例として「09:41」というシステム時刻が取得された場合を挙げて以下説明する。
【０１５６】
移動制御部５４０は、図１７の変更後の予定テーブルから、到着済みの状態情報に対応付けられた退去予定時刻の内で、システム時刻「09:41」以前の時刻を検索し、変更部５７０によって変更された後の退去予定時刻「09:40」を取得する。退去予定時刻「09:40」は、退去移動体として選択された第１移動体１００の識別情報「100」と、第１受取場所の識別情報「P1」と、に対応付けられているため、移動制御部５４０は、第１移動体１００による第１受取場所の退去予定時刻「09:40」が到来したと判別する（図１２のステップＳ１１；Ｙｅｓ）。
【０１５７】
次に、移動制御部５４０は、第１受取場所から退去することを命じる退去命令を生成し、生成された退去命令を、第１移動体１００を宛先としてデータ通信回路５０４ａへ出力する。これにより、移動制御部５４０は、第１移動体１００を第１受取場所から退去させる退去制御を実行する（ステップＳ１２）。
【０１５８】
第１移動体１００の第１データ通信回路１９４ａが退去命令を受信すると、第１移動体１００のＣＰＵ１９１は、ＧＰＳ回路１９６から信号を取得し、取得された信号で表される緯度及び経度と、第１受取場所の出入口である代表地点の緯度及び経度を表す代表地点情報と、の相違を縮小させる走行をするための制御信号を生成する。次に、ＣＰＵ１９１は、生成された制御信号を、複数の車輪を回転させるモータ等に接続された駆動回路１９９に出力する。このようにして、第１移動体１００は、第１受取場所を退去するために、第１受取場所の出入口へ移動する。
【０１５９】
本実施例において、第１受取場所を含む受取場所を退去した第１移動体１００は、制御装置５００から移動命令を受信するまでの間、例えば、駐車及び停車が禁止されていない道路、河原、若しくは、公園、又は、第１移動体１００の駐車が許可された駐車場に停車すると説明する。しかし、これに限定される訳ではなく、受取場所を退去した第１移動体１００は、予め定められた速度で、退去した受取場所の付近の道路を周回しても良い。受取場所を退去した第２移動体２００も同様である。
【０１６０】
このため、第１移動体１００のＣＰＵ１９１は、フラッシュメモリ１９３ｂに予め保存された第１移動体１００の停車位置の緯度及び経度を表す情報を読み出す。次に、ＣＰＵ１９１は、読み出された情報と、第１受取場所の出入口である代表地点の緯度及び経度を表す代表地点情報と、不図示の部分経路テーブルに保存された情報と、を用いて、第１受取場所の出入口から停車位置までの移動経路を決定する。その後、ＣＰＵ１９１は、決定された移動経路を順行させるための制御信号を生成し、生成された制御信号を駆動回路１９９へ出力する。このようにして、第１移動体１００は、第１受取場所から退去して、第１移動体１００の停車位置へ移動する。
【０１６１】
ステップＳ１２で、退去移動体として選択された第１移動体１００に対して、第１受取場所から退去させる退去制御が実行された後、変更部５７０は、図１７の予定テーブルにおいて、第１移動体１００の識別情報「100」と、第１受取場所の識別情報「P1」と、に対応付けられた状態情報を、退去済みを表す状態情報に変更する（図１２のステップＳ１３）。
【０１６２】
本実施例では、退去移動体として選択された第１移動体１００が第１受取場所を退去した後から、残留移動体として選択された第２移動体２００が第１受取場所から退去する予定の時刻「10:00」までに、第２物品の受取人が第１受取場所に到着する場合を具体例として挙げて以下説明する。
【０１６３】
当該受取人は、第１受取場所に到着すると、第１受取場所で滞在を続ける第２移動体２００を確認する。その後、当該受取人は、第２移動体２００が備える不図示のタッチスクリーンに対して、携帯端末９０２に表示されたパスワードを入力する操作を行う。タッチスクリーンが当該操作に応じた信号を入力すると、第２移動体２００が備える不図示のＣＰＵは、入力された信号に基づいて、入力されたパスワードを表す文字列「password2」を取得する。その後、ＣＰＵは、第２移動体２００の識別情報「200」と、取得された文字列「password2」と、を含み、当該受取人の認証を求める認証要求を生成し、生成された認証要求を、制御装置５００を宛先として、不図示の第１データ通信回路に出力する。
【０１６４】
図１２のステップＳ１３が実行された後、制御装置５００の移動制御部５４０は、ステップＳ０１、Ｓ０４、及び、Ｓ１１の処理を順に実行することで、退去予定時刻が到来していないと判別する（ステップＳ１１；Ｎｏ）。次に、格納制御部５６０は、認証要求がデータ通信回路５０４ａで受信されたと判別して（ステップＳ１４；Ｙｅｓ）、データ通信回路５０４ａから認証要求を取得する（ステップＳ１５ａ）。その後、格納制御部５６０は、取得された認証要求から、第２移動体２００の識別情報「200」と、パスワードを表す文字列「password2」と、を取得する。次に、格納制御部５６０は、図１１の格納ボックステーブルに、第２移動体２００の識別情報「200」と、取得された文字列「password2」と、が保存されたレコードが保存されているため、受取人の認証が成功したと判別する（ステップＳ１５ｂ；Ｙｅｓ）。
【０１６５】
尚、格納制御部５６０は、格納ボックステーブルに、識別情報「200」と、文字列「password2」と、が保存されたレコードが保存されていないと判別する場合、受取人の認証が失敗したと判別し（ステップＳ１５ｂ；Ｎｏ）、第２移動体２００を宛先として、認証が失敗したことを知らせる失敗報告をデータ通信回路５０４ａに出力する。その後、ステップＳ０１から上記処理が繰り返される。また、第２移動体２００の不図示の第１データ通信回路が失敗報告を受信すると、第２移動体２００の不図示のＣＰＵは、エラーメッセージを不図示の表示装置に表示させる。
【０１６６】
認証が成功したと判別されると（ステップＳ１５ｂ；Ｙｅｓ）、格納制御部５６０は、図１１の格納ボックステーブルにおいて、第２移動体２００の識別情報「200」と、文字列「password2」と、に対応付けられたボックスＩＤ「B12」又は配置位置「右１行２列」を表す情報を取得する。次に、格納制御部５６０は、認証が成功したことを知らせる成功報告と、ボックスＩＤ「B12」又は配置位置「右１行２列」を表す情報を含み、当該情報によって識別される格納ボックス２６０に格納された第２物品を受取人に受け渡すことを命じる受渡命令と、を生成する。その後、格納制御部５６０は、成功報告と受渡命令とを、第２移動体２００を宛先としてデータ通信回路５０４ａに出力することで、物品を受取人に受け渡させる受渡制御を行う（図１２のステップＳ１６）。
【０１６７】
第２移動体２００の不図示の第１データ通信回路が、成功報告と受渡命令とを受信すると、第２移動体２００の不図示のＣＰＵは、第１データ通信回路から受渡命令を取得し、受渡命令に含まれるボックスＩＤ「B12」又は配置位置「右１行２列」を表す情報を取得する。その後、ＣＰＵは、当該情報で識別される格納ボックス２６０の扉２６２を解錠させる制御信号と、扉２６２の状態を外側開放状態とさせる制御信号と、を不図示の駆動回路へ出力する。その後、ＣＰＵは、ロッカー装置２７０の右側面に設置された不図示の撮像装置に撮像を命じる信号を出力した後、撮像装置から出力される画像を取得し、取得された画像に基づいて、受取人が第２物品を受け取ったと判別する。その後、ＣＰＵは、第２移動体２００の識別情報「200」とボックスＩＤ「B12」又は配置位置「右１行２列」を表す情報とを含み、当該情報で識別される格納ボックス２６０に格納されていた第２物品を受け渡したことを知らせる受渡報告を、制御装置５００を宛先として第１データ通信回路へ出力する。
【０１６８】
制御装置５００のデータ通信回路５０４ａが受渡報告を受信すると、変更部５７０は、データ通信回路５０４ａから受渡報告を取得する。次に、変更部５７０は、受渡報告に含まれる第２移動体２００の識別情報「200」と、ボックスＩＤ「B12」と、に対応付けられた第２物品の物品ＩＤ「G2」を取得する。その後、識別情報「200」と、ボックスＩＤ「B12」と、に対応付けられた物品ＩＤ「G2」及び文字列「password2」を、記号「-」及び文字列「NULL」に変更する。
【０１６９】
また、変更部５７０は、図１７の変更後の予定テーブルにおいて、第２移動体２００の識別情報「200」と、第１受取場所の識別情報「P1」と、に対応付けられた第２物品の物品ＩＤ「G2」を削除する（図１２のステップＳ１７）。次に、変更部５７０は、第２移動体２００の識別情報「200」と、第１受取場所の識別情報「P1」と、に対して、第１物品の物品ＩＤ「G1」が対応付けられているため、第１受取場所で受け取られる予定の第１物品を、第２移動体２００が格納していると判別する（ステップＳ１８；Ｙｅｓ）。その後、ステップＳ０１から上記処理が繰り返される。
【０１７０】
本実施例では、残留移動体として選択された第２移動体２００の第１受取場所からの退去予定時刻「10:00」までに、第１物品の受取人が第１受取場所に現れなかった場合を具体例として挙げて以下説明する。
【０１７１】
システム時刻が「10:00」となると、制御装置５００の移動制御部５４０は、ステップＳ０１、Ｓ０４、及び、Ｓ１１の処理を順に実行することで、残留移動体として選択された第２移動体２００の第１受取場所からの退去予定時刻「10:00」が到来したと判別する（ステップＳ１１；Ｙｅｓ）。その後、ステップＳ１２及びＳ１３の処理が実行されることで、第１物品を格納したままの第２移動体２００を第１受取場所から退去させる退去制御が実行される。
【０１７２】
その後、ステップＳ０１に戻り、システム時刻が「10:10」となると、移動制御部５４０は、第１移動体１００の第２受取場所への移動開始時刻「10:10」が到来したと判別する（ステップＳ０１；Ｙｅｓ）。その後、ステップＳ０２及びＳ０３の処理が実行されることで、受取人が現れなかった第１物品と、第２受取場所で受け取られる予定の第３物品及び第４物品と、を格納した第１移動体１００を第２受取場所へ移動させる移動制御が実行されるが、第２移動体２００を第２受取場所へ移動させる移動制御は、実行されない。このような移動制御が実行されるのは、第２移動体２００の第２受取場所に関する予定が削除されたため、図１７の変更後の予定テーブルには、第２移動体２００の識別情報「200」と、第２受取場所の識別情報「P2」と、第２移動体２００の第２受取場所への移動開始時刻「10:10」を表す情報と、が保存されたレコードが保存されていないためである。
【０１７３】
その後、ステップＳ０１から上記処理が繰り返された後、移動制御部５４０は、第２受取場所に到着した第１移動体１００から到着報告が受信されたと判別し（ステップＳ０４；Ｙｅｓ）、ステップＳ０５からＳ０７の処理が実行される。これにより、第３物品が第２受取場所に到着したことを知らせる到着通知が第３物品の受取人の携帯端末９０３に送信され、第４物品が第２受取場所に到着したことを知らせる到着通知が第４物品の受取人の携帯端末９０４に送信される。
【０１７４】
その後、移動制御部５４０は、第１移動体１００を第２受取場所に滞在させる滞在制御を実行し（ステップＳ０８）、選択部５５０は、第２受取場所に第１移動体１００しか滞在しておらず、他の移動体である第２移動体２００が滞在していないと判別する（ステップＳ０９；Ｎｏ）。その後、ステップＳ０１から上記処理が繰り返される。
【０１７５】
その後、システム時刻が「10:50」となると、第２移動体２００の第３受取場所への移動開始時刻「10:50」が到来したと判別されて（ステップＳ０１；Ｙｅｓ）、ステップＳ０２及びＳ０３の処理が実行される。
【０１７６】
その後、ステップＳ０１から上記処理が繰り返された後、ステップＳ０１及びＳ０４が順に実行されることで、第３受取場所に到着した第２移動体２００から到着報告が受信されたと判別され（ステップＳ０４；Ｙｅｓ）、ステップＳ０５からＳ０９の処理が実行される。これにより、第５物品が第３受取場所に到着したことを知らせる到着通知が第５物品の受取人の携帯端末９０５に送信される。その後、第３受取場所に第２移動体２００しか滞在していないと判別されて（ステップＳ０９；Ｎｏ）、ステップＳ０１から上記処理が繰り返される。
【０１７７】
本実施例では、第１移動体１００の第２受取場所からの退去予定時刻「11:20」までに、第３物品の受取人及び第４物品の受取人が第２受取場所に現れず、第２移動体２００の第３受取場所からの退去予定時刻「11:20」までに、第５物品の受取人が第３受取場所に現れた場合を具体例として挙げて以下説明する。
【０１７８】
ステップＳ０１、Ｓ０４、及び、Ｓ１１の処理が順に実行されることで、第５物品の受取人に対する認証要求が受信されたと判別され（ステップＳ１４；Ｙｅｓ）、ステップＳ１５ａからＳ１６の処理が実行される。これにより、第２移動体２００に格納されていた第５物品が受取人によって受け取られる。
【０１７９】
その後、変更部５７０は、図１７の変更後の予定テーブルにおいて、第２移動体２００の識別情報「200」と、第３受取場所の識別情報「P3」と、に対応付けられた第５物品の物品ＩＤ「G5」を削除する（ステップＳ１７）。次に、変更部５７０は、第２移動体２００の識別情報「200」と、第３受取場所の識別情報「P3」と、に対して、物品ＩＤが対応付けられていないため、第３受取場所で受け取られる予定の物品を、第２移動体２００が格納していないと判別する（ステップＳ１８；Ｎｏ）。
【０１８０】
その後、ステップＳ１２及びＳ１３の処理が実行されることで、第２移動体２００を第３受取場所から退去させる退去制御が実行された後に、ステップＳ０１から上記処理が繰り返される。
【０１８１】
その後、システム時刻が「11:20」となると、ステップＳ０１、Ｓ０４、及び、Ｓ１１の処理が順に実行されることで、第１移動体１００の第２受取場所からの退去予定時刻「11:20」が到来したと判別された後に（ステップＳ１１；Ｙｅｓ）。ステップＳ１２及びＳ１３の処理が実行される。これによって、第１移動体１００は、第２受取場所から退去させられる。
【０１８２】
その後、ステップＳ０１で、第１移動体１００及び第２移動体２００が営業所へ移動を開始する移動開始時刻「11:20」が到来したと判別されて（ステップＳ０１；Ｙｅｓ）、ステップＳ０２及びＳ０３の処理が実行される。これにより、第１移動体１００及び第２移動体２００を営業所に移動させる移動制御が実行される。第１移動体１００のＣＰＵ１９１は、ＧＰＳから出力される信号に基づいて、営業所に到着したと判別すると、第１移動体１００の識別情報「100」を含み、営業所に帰還したことを知らせる帰還報告を、制御装置５００を宛先としてデータ通信回路５０４ａに出力する。その後、制御装置５００のデータ通信回路５０４ａは、帰還報告を制御装置５００へ送信する。第２移動体２００は、第１移動体１００と同様に、第２移動体２００の識別情報「200」を含む帰還報告を送信する。
【０１８３】
その後、ステップＳ０１、Ｓ０４、Ｓ１１、Ｓ１４、及び、Ｓ１９が順に実行されると、制御装置５００の変更部５７０は、帰還報告がデータ通信回路５０４ａで受信されたと判別して（ステップＳ１９；Ｙｅｓ）、データ通信回路５０４ａから帰還報告を取得する（ステップＳ２０ａ）。その後、変更部５７０は、取得された到着報告に含まれる第１移動体１００の識別情報「100」又は第２移動体２００の識別情報「200」が保存されたレコードを、図１７の予定テーブルから削除することで、第１移動体１００又は第２移動体２００が実行した予定を削除する（ステップＳ２０ｂ）。その後、ステップＳ０１から上記処理が繰り返される。尚、帰還報告が受信されなかったと判別された場合（ステップＳ１９；Ｎｏ）、ステップＳ０１から上記処理が繰り返される。
【０１８４】
これらの構成によれば、制御装置５００は、第１物品及び第２物品が受け取られる第１受取場所に、第１物品を格納した第１移動体１００が滞在する間に、第２物品を格納した第２移動体２００が第１受取場所に到着すると、第１移動体１００と第２移動体２００のいずれか一方を、第１物品と第２物品とを格納して第１受取場所に残留する残留移動体として選択し、他方を、第１受取場所から退去する退去移動体として選択する選択部５５０を備えている。また、制御装置５００は、選択された退去移動体が格納している第１物品又は第２物品を、退去移動体から残留移動体に積み替えられる積替物品と特定し、特定された積替物品を残留移動体に格納させる格納制御部５６０と、残留移動体に積替物品が格納されると、退去移動体を第１受取場所から退去させる移動制御部５４０と、を備える。このため、制御装置５００は、退去移動体として選択された第１移動体１００又は第２移動体２００を第１受取場所から退去させても、残留移動体として選択された第２移動体２００又は第１移動体１００が積替物品を格納して第１受取場所に滞在し続けるので、積替物品を第１受取場所で受け取らせることができる。よって、制御装置５００は、積替物品を第１受取場所で受け取らせるために第１移動体１００及び第２移動体によって占拠される第１受取場所の領域面積を軽減できるので、第１受取場所の使用効率の低下を抑制できる。
【０１８５】
本実施例において、受取場所の使用効率は、受取場所を利用する人が使用できる領域面積を、受取場所の面積で除算することで算出されると説明するが、これに限定される訳ではない。また、受取場所を利用する人が使用できる領域面積は、例えば、第１移動体１００及び第２移動体２００を含む物が置かれていない領域面積を含む。
【０１８６】
また、これらの構成によれば、制御装置５００の取得部５１０は、図９に示した予定テーブルにおいて、第１移動体１００を識別する識別情報「100」と、第１受取場所を第１移動体１００が退去する予定の時刻である退去予定時刻「09:50」を表す情報と、を対応付けて取得する。また、取得部５１０は、第２移動体２００を識別する識別情報「200」と、第１受取場所を第２移動体２００が退去する予定の時刻である退去予定時刻「10:00」と、を対応付けて取得する。さらに、制御装置５００の選択部５５０は、第１移動体１００の識別情報「100」と対応付けられた第１受取場所の退去予定時刻「09:50」が、第２移動体２００の識別情報「200」と対応付けられた第１受取場所の退去予定時刻「10:00」よりも早いと判別すると、第１移動体１００を退去移動体として選択し、かつ、第２移動体２００を残留移動体として選択する。このため、制御装置５００は、第１移動体１００が格納していた第１物品を、第１移動体１００の退去予定時刻「09:50」よりも遅い第２移動体２００の退去予定時刻「10:00」まで第１受取場所に留めておくことができる。すなわち、制御装置５００は、第１移動体１００の稼働効率の低下を抑制しながら、第１物品の受取人が、第１物品を第１受取場所で受け取ることができる時間を延長できる。
【０１８７】
これらの構成によれば、制御装置５００の移動制御部５４０は、第１移動体１００が第１受取場所に到着すると、第１移動体１００を第１受取場所に滞在させ、かつ、第２移動体２００が第１受取場所に到着すると、第２移動体２００を第１受取場所に滞在させる。また、制御装置５００の移動制御部５４０は、第２移動体２００が残留移動体として選択され、退去移動体として選択された第１移動体１００に格納された第１物品が積替物品と特定され、かつ、当該積替物品が第２移動体２００に格納されると、図９の予定テーブルから、第１移動体１００の識別情報「100」に対応付けて取得された第１受取場所の退去予定時刻「09:50」よりも早い時刻「09:40」に、第１移動体１００に第１受取場所を退去させる。このため、制御装置５００は、第１物品が受取人によって受け取られていなくとも、変更前の退去予定時刻「09:50」よりも早い時刻に第１移動体１００を第１受取場所から退去させることができる。
【０１８８】
これらの構成によれば、制御装置５００の通知部５８０は、第２移動体２００が残留移動体として選択され、かつ、退去移動体として選択された第１移動体１００から第２移動体２００に、積替物品と特定された第１物品が格納されると、第１物品の受取期間が終了する時刻「09:50」が、第２移動体２００の識別情報「200」の第１受取場所からの退去予定時刻「10:00」まで延長されたことを知らせる通知を出力する。このため、第１物品の受取人が当該通知を確認すれば、延長前の時刻「09:50」を経過したとしても、延長後の時刻「10:00」を経過していなければ、第１受取場所で第１物品を受け取ることができることを知れる。このため、制御装置５００は、ユーザの利便性を向上させることができるだけでなく、第１物品が受け取られる可能性を向上できるので、例えば、第１物品を再配達する可能性を低下させることができ、配達効率を向上できる。
【０１８９】
本実施例において、配達効率は、第１移動体１００と第２移動体２００とから受け取られた物品の総数を、第１移動体１００が営業所を出発してから営業所に帰還するまでの総配達時間と、第２移動体２００が営業所を出発してから営業所に帰還するまでの総配達時間と、の和で除算することで算出されると説明するが、これに限定される訳ではない。
【０１９０】
これらの構成によれば、第１移動体１００は、第３物品をさらに格納して第１受取場所に到着し、第２移動体２００は、第４物品をさらに格納して第１受取場所に到着する。また、制御装置５００の取得部５１０は、図９の予定テーブルから、第１移動体１００の識別情報「100」と、第３物品及び第４物品が受け取られる第２受取場所を識別する識別情報「P2」と、第１移動体１００の第２受取場所への到着予定時刻「10:20」と、第１移動体１００の第２受取場所からの退去予定時刻「11:20」と、を対応付けてさらに取得する。さらに、制御装置５００の取得部５１０は、第２移動体２００の識別情報「200」と、第２受取場所の識別情報「P2」と、第２移動体２００の第２受取場所への到着予定時刻「10:20」と、第２移動体２００の第２受取場所からの退去予定時刻「10:50」と、を対応付けてさらに取得する。制御装置５００の格納制御部５６０は、第１移動体１００の識別情報「100」と第２受取場所の識別情報「P2」とに対応付けられた到着予定時刻「10:20」から退去予定時刻「11:20」までの期間である、第１移動体１００の第２受取場所に対する滞在予定期間が、第２移動体２００の識別情報「200」と第２受取場所の識別情報「P2」とに対応付けられた到着予定時刻「10:20」から退去予定時刻「10:50」までの期間である、第２移動体２００の第２受取場所に対する滞在予定期間を包含する場合に、第２移動体２００に格納されている第４物品を積替物品と特定し、特定された積替物品を、第１受取場所で、第１移動体１００へ格納させる。また、制御装置５００の移動制御部５４０は、第３物品が格納された第１移動体１００へ積替物品である第４物品が格納された後に、第３物品及び第４物品が受け取られる第２受取場所へ第１移動体１００を移動させる。このため、第１移動体１００及び第２移動体２００の配達効率及び稼働効率を向上できる。
【０１９１】
＜実施例の変形例１＞
本実施例では、制御装置５００の予定生成部５３０は、図１０に示したように、第１移動体１００が第１受取場所から退去予定時刻「09:50」に退去した後に、第２移動体２００が第１受取場所から退去予定時刻「10:00」に退去する予定を生成すると説明したが、これに限定される訳では無い。
【０１９２】
また、本実施例では、予定生成部５３０は、第１移動体１００と第２移動体２００とが第２受取場所へ到着予定時刻「10:20」に到着し、第２移動体２００が第２受取場所から退去予定時刻「10:50」に退去した後に、第１移動体１００が第２受取場所から退去予定時刻「11:20」に退去する予定を生成すると説明した。つまり、本実施例では、第１移動体１００の第２受取場所に対する滞在予定期間が、第２移動体２００の第２受取場所に対する滞在予定期間を包含していると説明した。しかし、これらに限定される訳ではない。
【０１９３】
本変形例に係る制御装置５００の予定生成部５３０は、図１９に示すような、第２移動体２００が第１受取場所から退去予定時刻「09:50」に退去した後に、第１移動体１００が第１受取場所から退去予定時刻「10:00」に退去する予定を生成する。
【０１９４】
また、本変形例に係る予定生成部５３０は、第１移動体１００と第２移動体２００とが第２受取場所へ到着予定時刻「10:20」に到着し、第１移動体１００が第２受取場所から退去予定時刻「10:50」に退去した後に、第２移動体２００が第２受取場所から退去予定時刻「11:20」に退去する予定を生成する。つまり、本変形例では、第２移動体２００の第２受取場所に対する滞在予定期間が、第１移動体１００の第２受取場所に対する滞在予定期間を包含している。
【０１９５】
このため、本変形例に係る不図示の予定テーブルには、第１移動体１００を識別する識別情報「100」と、第１受取場所を識別する識別情報「P1」と、第１移動体１００が第１受取場所を退去する予定の時刻である退去予定時刻「10:00」を表す情報と、が対応付けられて保存されている。また、不図示の予定テーブルには、第２移動体２００を識別する識別情報「200」と、第１受取場所を識別する識別情報「P1」と、第２移動体２００が第１受取場所を退去する予定の時刻である退去予定時刻「09:50」を表す情報と、が対応付けられて保存されている。
【０１９６】
また、不図示の予定テーブルには、第１移動体１００の識別情報「100」と、第３物品及び第４物品が受け取られる第２受取場所を識別する識別情報「P2」と、第１移動体１００の第２受取場所への到着予定時刻「10:20」と、第１移動体１００の第２受取場所からの退去予定時刻「10:50」と、が対応付けられて保存されている。また、不図示の予定テーブルには、第２移動体２００の識別情報「200」と、第２受取場所の識別情報「P2」と、第２移動体２００の第２受取場所への到着予定時刻「10:20」と、前記第２移動体の前記第２受取場所からの退去予定時刻「11:20」と、が対応付けられて保存されている。
【０１９７】
このため、本変形例に係る制御装置５００の取得部５１０は、図１５に示した選択処理において、不図示の予定テーブルから、第１移動体１００を識別する識別情報「100」と、第１受取場所の識別情報「P1」と、に対応付けられた退去予定時刻「10:00」を表す情報を取得する（ステップＳ５１）。また、取得部５１０は、不図示の予定テーブルから、識別情報「200」と、識別情報「P1」と、に対応付けられた退去予定時刻「09:50」を表す情報を取得する（ステップＳ５２）。
【０１９８】
その後、選択部５５０は、第１受取場所からの第１移動体１００の退去予定時刻「10:00」が、第１受取場所からの第２移動体２００の退去予定時刻「09:50」よりも早くないと判別する（ステップＳ５３；Ｎｏ）。次に、選択部５５０は、第１移動体１００を第１受取場所に残留する残留移動体として選択し（ステップＳ５７）、第２移動体２００を第１受取場所から退去する残留移動体として選択する（ステップＳ５８）。
【０１９９】
その後、格納制御部５６０は、退去移動体として選択された第２移動体２００に格納されている第２物品を、退去移動体から残留移動体へ積み替えられる積替物品と特定する（ステップＳ５９）。その後、変更部５７０は、図１１に示した格納ボックステーブルにおいて、積替物品であると特定された第２物品の物品ＩＤ「G2」と対応付けられた積替フラグ「false」を、積替物品であることを表す値「TRUE」のフラグに変更した後に、選択処理の実行を終了する。
【０２００】
その後、本変形例に係る格納制御部５６０は、図１６の積替物品特定処理において、第１移動体１００の第２受取場所に対する滞在予定期間が、第２移動体２００の第２受取場所に対する滞在予定期間を包含していないと判別する（ステップＳ６６；Ｎｏ）。次に、格納制御部５６０は、第２移動体２００の当該滞在予定期間が、第１移動体１００の当該滞在予定期間を包含していると判別する（ステップＳ６８；Ｙｅｓ）。
【０２０１】
その後、格納制御部５６０は、第２受取場所で第１移動体１００から受け取られる予定の第３物品を積替物品と特定する（ステップＳ６９）。次に、格納制御部５６０は、未注目の共通の受取場所が無くなるまで、ステップＳ６２から上記処理を繰り返した後に、積替物品特定処理の実行を終了する。
【０２０２】
次に、本変形例に係る制御装置５００の格納制御部５６０は、図１４のステップＳ３８で、退去移動体として選択された第２移動体２００に格納された積替物品である第２物品を、残留移動体として選択された第１移動体１００に格納させる格納制御を行う。次に、本変形例に係る制御装置５００の変更部５７０は、ステップＳ４０で、不図示の予定テーブルにおいて、第２移動体２００の識別情報「200」に対応付けて記憶された退去予定時刻「09:50」を、変更前よりも早い時刻に変更する。その後、本変形例に係る制御装置５００の通知部５８０は、ステップＳ４１で、第２物品の受取期間が終了する時刻「09:50」が、第１移動体１００の第１受取場所からの退去予定時刻「10:00」まで延長されたことを知らせる延長通知を出力する。
【０２０３】
その後、格納制御部５６０は、ステップＳ４６で、残留移動体として選択された第１移動体１００に格納されている積替物品である第３物品を、第１受取場所で、退去移動体として選択された第２移動体２００へ格納させる格納制御を行う。次に、本変形例に係る制御装置５００の変更部５７０は、ステップＳ４８で、不図示の予定テーブルにおいて、第２移動体２００の識別情報「200」と、第２受取場所の識別情報「P2」と、に対応付けられた第４物品の物品ＩＤ「G4」を存置したまま、第３物品の物品ＩＤ「G3」を、第２移動体２００の識別情報「200」と、第２受取場所の識別情報「P2」と、に対応付けて保存する。
【０２０４】
さらに、変更部５７０は、第１移動体１００の識別情報「100」と、第２受取場所の識別情報「P2」と、に対応付けられた第３物品の物品ＩＤ「G3」を削除する。さらに、変更部５７０は、不図示の予定テーブルにおいて、第１移動体１００の識別情報「100」と、第２受取場所の識別情報「P2」と、未出発の状態を表す状態情報と、に対応付けられた物品ＩＤが無くなったため、第１移動体１００の第２受取場所に関する予定が不要になったと判別する。このため、変更部５７０は、第１移動体１００の識別情報「100」と、第２受取場所の識別情報「P2」と、が保存されたレコードを削除することで、第１移動体１００の第２受取場所に関する予定を削除する。
【０２０５】
その後、本変形例に係る制御装置５００の通知部５８０は、ステップＳ４９で、第３物品の受取期間が終了する時刻「10:50」が、第２移動体２００の第２受取場所からの退去予定時刻「11:20」まで延長されたことを知らせる延長通知を出力する。
【０２０６】
次に、本変形例に係る制御装置５００の移動制御部５４０は、図１２のステップＳ１１で、変更された第２移動体２００の退去予定時刻が到来したと判別すると、第２移動体２００に第１受取場所を退去させる退去制御を実行する。
【０２０７】
その後、移動制御部５４０は、ステップＳ０１で、第２移動体２００の移動開始時刻「10:10」が到来したと判別すると、第２移動体２００を第２受取場所へ移動させる移動制御を実行する。しかし、第１移動体１００の第２受取場所への移動開始時刻「10:10」が保存されたレコードは、不図示の予定テーブルから削除されているため、移動制御部５４０は、第１移動体１００を第２受取場所へ移動させる移動制御を実行しない。
【０２０８】
＜実施例の変形例２＞
本実施例及び本実施例の変形例１では、制御装置５００の予定生成部５３０は、図１０及び図１９に示したような、第１移動体１００の第２受取場所への到着予定時刻と、第２移動体２００の第２受取場所への到着予定時刻と、が同じであり、かつ、第１移動体１００の第２受取場所からの退去予定時刻と、第２移動体２００の第２受取場所からの退去予定時刻と、が異なる予定を生成すると説明した。
【０２０９】
しかし、これに限定される訳ではなく、予定生成部５３０は、第１移動体１００の第２移動体２００への到着予定時刻と、第２移動体２００の第２移動体２００への到着予定時刻と、が異なるが、第１移動体１００の第２受取場所からの退去予定時刻と、第２移動体２００の第２受取場所からの退去予定時刻と、が同じ予定を生成しても良い。
【０２１０】
第１移動体１００の第２移動体２００への到着予定時刻が、第２移動体２００の第２移動体２００への到着予定時刻よりも早ければ、格納制御部５６０は、図１６の積替物品特定処理において、第１移動体１００の第２受取場所に対する滞在予定期間が、第２移動体２００の第２受取場所に対する滞在予定期間を包含していると判別する（ステップＳ６６；Ｙｅｓ）。その後、格納制御部５６０は、第２受取場所で第２移動体２００から受け取られる予定の第４物品を積替物品と特定する（ステップＳ６７）。
【０２１１】
これに対して、第１移動体１００の第２移動体２００への到着予定時刻が、第２移動体２００の第２移動体２００への到着予定時刻よりも遅ければ、格納制御部５６０は、第１移動体１００の第２受取場所に対する滞在予定期間が、第２移動体２００の第２受取場所に対する滞在予定期間を包含していないと判別する（ステップＳ６６；Ｎｏ）。次に、格納制御部５６０は、第２移動体２００の第２受取場所に対する滞在予定期間が、第１移動体１００の第２受取場所に対する滞在予定期間を包含していると判別する（ステップＳ６８；Ｙｅｓ）。その後、格納制御部５６０は、第２受取場所で第１移動体１００から受け取られる予定の第３物品を積替物品と特定する（ステップＳ６９）。
【０２１２】
＜実施例の変形例３＞
本実施例では、制御装置５００の予定生成部５３０は、図１０に示したような、第１移動体１００が第１受取場所から退去予定時刻「09:50」に退去した後に、第２移動体２００が第１受取場所から退去予定時刻「10:00」に退去する予定を生成すると説明したが、これに限定される訳ではない。
【０２１３】
また、本実施例では、制御装置５００の予定生成部５３０は、第１移動体１００と第２移動体２００とが第２受取場所へ到着予定時刻「10:20」に到着し、第２移動体２００が第２受取場所から退去予定時刻「10:50」に退去した後に、第１移動体１００が第２受取場所から退去予定時刻「11:20」に退去する予定を生成すると説明した。しかし、これらに限定される訳ではない。
【０２１４】
本変形例に係る制御装置５００の予定生成部５３０は、図２０に示すような、第１移動体１００と第２移動体２００とが第１受取場所から退去予定時刻「10:00」に退去する予定を生成する。
【０２１５】
また、本変形例に係る制御装置５００の予定生成部５３０は、第１移動体１００と第２移動体２００とが第２受取場所へ到着予定時刻「10:20」に到着し、第１移動体１００と第２移動体２００とが第２受取場所から退去予定時刻「11:20」に退去する予定を生成する。
【０２１６】
このため、本変形例に係る制御装置５００の選択部５５０は、図１５に示した選択処理において、第１受取場所からの第１移動体１００の退去予定時刻「10:00」が、第１受取場所からの第２移動体２００の退去予定時刻「10:00」よりも早くないと判別する（ステップＳ５３；Ｎｏ）。その後、選択部５５０は、ステップＳ５７からＳ５９を実行することで、第１移動体１００を残留移動体として選択し、第２移動体２００を残留移動体として選択する。
【０２１７】
しかし、これに限定される訳ではなく、選択部５５０は、第１受取場所からの第１移動体１００の退去予定時刻「10:00」が、第１受取場所からの第２移動体２００の退去予定時刻「10:00」と同じであると判別すると、第２移動体２００を残留移動体として選択し、第１移動体１００を残留移動体として選択しても良い。
【０２１８】
また、本変形例に係る格納制御部５６０は、図１６の積替物品特定処理において、第１移動体１００の第２受取場所に対する滞在予定期間が、第２移動体２００の第２受取場所に対する滞在予定期間と一致するため、第１移動体１００の当該滞在予定期間は、第２移動体２００の当該滞在予定期間を包含していると判別する（ステップＳ６６；Ｙｅｓ）。次に、格納制御部５６０は、第２受取場所で第２移動体２００から受け取られる予定の第４物品を積替物品と特定する（ステップＳ６７）。
【０２１９】
しかし、これに限定される訳ではなく、格納制御部５６０は、第１移動体１００の第２受取場所に対する滞在予定期間が、第２移動体２００の第２受取場所に対する滞在予定期間と一致すると判別すると、第２受取場所で第１移動体１００から受け取られる予定の第３物品を積替物品と特定しても良い。
【０２２０】
さらに、これらに限定される訳ではなく、制御装置５００の選択部５５０は、第１受取場所からの第１移動体１００の退去予定時刻「10:00」が、第１受取場所からの第２移動体２００の退去予定時刻「10:50」と同じであると判別すると、予め定められた規則に従って、又は、乱数に基づいて、第１移動体１００及び第２移動体２００の内で、一方を残留移動体として選択し、他方を残留移動体として選択しても良い。
【０２２１】
予め定められた規則は、例えば、第１移動体１００及び第２移動体２００の内で、第１受取場所への到着予定時刻がより遅い移動体を残留移動体として選択し、到着予定時刻がより早い移動体を退去移動体と選択する規則であっても良い。このような規則に従って制御装置５００が選択をするのは、到着予定時刻がより遅い移動体は、到着予定時刻がより早い移動体よりも、移動のために発熱したモータがより冷えていないからである。この構成によれば、制御装置５００は、連続した又は間隔がより短い駆動によって第１移動体１００及び第２移動体２００が備える不図示のモータが故障することを防止できる。
【０２２２】
また、制御装置５００の格納制御部５６０は、第１移動体１００の第２受取場所に対する滞在予定期間が、第２移動体２００の第２受取場所に対する滞在予定期間と一致すると判別すると、予め定められた規則に従って、又は、乱数に基づいて、第１移動体１００及び第２移動体２００の内で、一方を積替元として選択し、他方を積替先として選択しても良い。つまり、格納制御部５６０は、積替元として選択された移動体から第２受取場所で受け取られる予定の物品を積替物品と特定しても良い。
【０２２３】
＜実施例の変形例４＞
本実施例では、第１移動体１００の第２受取場所に対する滞在予定期間が、第２移動体２００の第２受取場所に対する滞在予定期間を包含していると説明した。また、本実施例の変形例１では、第２移動体２００の第２受取場所に対する滞在予定期間が、第１移動体１００の第２受取場所に対する滞在予定期間を包含していると説明した。
【０２２４】
しかし、本実施例の変形例では、制御装置５００の予定生成部５３０は、例えば、第１移動体１００が第２受取場所へ到着予定時刻「09:50」に到着した後に、第２受取場所から退去予定時刻「10:50」に退去する予定を生成する。また、予定生成部５３０は、第２移動体２００が第２受取場所へ到着予定時刻「10:20」に到着した後に、第２受取場所から退去予定時刻「11:20」に退去する予定を生成する。つまり、本実施例では、第１移動体１００の第２受取場所に対する滞在予定期間が、第２移動体２００の第２受取場所に対する滞在予定期間を包含しておらず、かつ、第２移動体２００の当該滞在予定期間が第１移動体１００の当該滞在予定期間を包含していない。
【０２２５】
このため、本変形例に係る格納制御部５６０は、図１６の積替物品特定処理において、第１移動体１００の第２受取場所に対する滞在予定期間が、第２移動体２００の第２受取場所に対する滞在予定期間を包含していないと判別する（ステップＳ６６；Ｎｏ）。次に、格納制御部５６０は、第２移動体２００の当該滞在予定期間が、第１移動体１００の当該滞在予定期間を包含していないと判別する（ステップＳ６８；Ｎｏ）。その後、格納制御部５６０は、積替物品を特定することなく、ステップＳ６２から処理を繰り返す。
【０２２６】
＜実施例の変形例５＞
本実施例に係る第１移動体１００及び第２移動体２００は、第１受取場所を退去してから、第２受取場所又は第３受取場所への移動を開始する移動開始時刻が到来するまでの間、例えば、道路等に停車する、又は、道路等を周回すると説明した。しかし、これに限定される訳ではなく、本変形例に係る第１移動体１００及び第２移動体２００は、第１受取場所を退去すると、第２受取場所又は第３受取場所への移動を開始する。
【０２２７】
このため、本変形例に係る制御装置５００の予定生成部５３０は、不図示の予定生成処理を実行することで、図１０に示したような第１移動体１００及び第２移動体２００の予定を生成した後に、生成された予定を、図２１に示すような予定に修正する。このため、予定生成部５３０は、図９に示した予定テーブルにおいて、第１移動体１００の識別情報「100」と、第２受取場所の識別情報「P2」と、に対応付けられた移動開始時刻「10:10」を、識別情報「100」と、第１受取場所の識別情報「P1」と、に対応付けられた退去予定時刻「09:50」と同じ時刻に修正する。予定生成部５３０がこのような修正を行うのは、第１移動体１００を第１受取場所から退去させると共に、第２受取場所への移動を開始させるためである。
【０２２８】
また、予定生成部５３０は、図９の予定テーブルにおいて、識別情報「100」と、識別情報「P2」と、に対応付けられた到着予定時刻「10:20」から移動開始時刻「10:10」を減算することで、第１移動体１００の第１受取場所から第２受取場所までの移動予定時間「00:10」を算出する。次に、予定生成部５３０は、識別情報「100」と、識別情報「P2」と、に対応付けられた到着予定時刻「10:20」を、修正後の移動開始時刻「09:50」よりも移動予定時間「00:10」だけ遅い時刻「10:00」に修正する。
【０２２９】
その後、予定生成部５３０は、第２移動体２００の識別情報「200」と、第２受取場所の識別情報「P2」と、に対応付けられた移動開始時刻「10:10」を、識別情報「200」と第１受取場所の識別情報「P1」と、に対応付けられた退去予定時刻「10:00」と同じ時刻に修正し、かつ、到着予定時刻「10:20」を「10:10」に修正する。
【０２３０】
次に、本変形例に係る制御装置５００の変更部５７０は、図１４に示した積替制御処理のステップＳ４０で、図２１に示した予定を、図２２に示すような予定に変更する。このため、変更部５７０は、退去移動体として選択された第１移動体１００の識別情報「100」と、第１受取場所の識別情報「P1」と、に対応付けられた退去予定時刻「09:50」を、本実施例と同様に、システム時刻「09:40」に変更する。その後、変更部５７０は、第１移動体１００の識別情報「100」と、第２受取場所の識別情報「P2」と、に対応付けられた移動開始時刻「09:50」を、変更後の退去予定時刻「09:40」と同じ時刻に変更する。
【０２３１】
また、本変形例に係る変更部５７０は、ステップＳ４８で、本実施例と同様に、物品の積み替えにより、第２移動体２００の第２受取場所に関する予定が不要になったと判別し、第２移動体２００の識別情報「200」と、第２受取場所の識別情報「P2」と、が保存されたレコードを、図９の予定テーブルから削除する。その後、変更部５７０は、第２移動体２００の識別情報「200」と、第３受取場所の識別情報「P3」と、に対応付けられた移動開始時刻「10:50」を、第１受取場所からの退去予定時刻「10:00」と同じ時刻に変更し、第３受取場所への到着予定時刻「11:00」を「10:10」に変更する。
【０２３２】
これらの構成によれば、制御装置５００が備える変更部５７０は、第１移動体１００が退去移動体として選択された場合に、第１移動体１００の識別情報「100」と、第１受取場所の識別情報「P1」と、に対応付けられた第１受取場所からの退去予定時刻「09:50」を、変更前よりも早い時刻「09:40」へ変更する。また、変更部５７０は、第１移動体１００の識別情報「100」と、第２受取場所の識別情報「P2」と、に対応付けられた第２受取場所への移動開始予定時刻「09:50」を、変更後の第１受取場所からの退去予定時刻「09:40」と同じ時刻に変更し、第２受取場所への到着予定時刻「10:00」を、変更前よりも早い時刻「09:50」へ変更する。これらのため、制御装置５００は、第２受取場所で受け取られる第３物品及び第４物品を、変更前の到着予定時刻「10:00」よりも早い時刻「09:50」から退去予定時刻「12:20」まで第２受取場所に留めておくことができるので、受取人が第３物品又は第４物品を第２受取場所で受け取ることができる時間を延長できる。
【０２３３】
＜実施例の変形例６＞
本実施例では、退去移動体として選択された第１移動体１００に格納されていた物品であって、第１受取場所で受け取られる予定の第１物品のみが、残留移動体として選択された第２移動体２００に積み替えられると説明したが、これに限定される訳ではない。
【０２３４】
また、本実施例では、第２移動体２００に格納されていた物品であって、第２受取場所で受け取られる予定の第４物品のみが、第１移動体１００に積み替えられると説明したが、これに限定される訳ではない。
【０２３５】
例えば、第１受取場所で受け取られる予定の物品Ａと物品Ｂとが、退去移動体として選択された第１移動体１００に格納されていれば、物品Ａと物品Ｂとが、残留移動体として選択された第２移動体２００に積み替えられても良い。
【０２３６】
また例えば、第２受取場所で受け取られる予定の物品Ｃと物品Ｄとが、第２移動体２００に格納されていれば、物品Ｃと物品Ｄとが、第１受取場所で、第１移動体１００に積み替えられても良い。
【０２３７】
この場合、図１５のステップＳ５６において、退去移動体として選択された第１移動体１００に格納されている物品の内で、第１受取場所で受け取られる予定の物品Ａと物品Ｂとが積替物品と特定されれば良い。
【０２３８】
またこの場合、図１６のステップＳ６７において、第２移動体２００に格納されている物品の内で、注目受取場所である第２受取場所で受け取られる予定の物品Ｃと物品Ｄとが積替物品と特定されれば良い。
【０２３９】
その後、図１４のステップＳ３５からＳ４１の処理が繰り返されることで、物品Ａが格納された格納ボックス１６０の受止可能ボックス２６０に空きがあれば、物品Ａが第１移動体１００から第２移動体２００に積み替えられ、物品Ｂが格納された格納ボックス１６０の受止可能ボックス２６０に空きがあれば、物品Ｂが積み替えられる。
【０２４０】
また、図１４のステップＳ４３からＳ４９の処理が繰り返されることで、物品Ｃが格納された格納ボックス２６０の受止可能ボックス１６０に空きがあれば、物品Ｃが第２移動体２００から第１移動体１００に積み替えられ、物品Ｄが格納された格納ボックス２６０の受止可能ボックス１６０に空きがあれば、物品Ｄが積み替えられる。
【０２４１】
＜実施例の変形例７＞
本実施例では、配達システム１は、第１移動体１００及び第２移動体２００という２台の移動体と、２台の移動体を制御する制御装置５００と、を備えると説明したが、これに限定される訳ではない。
【０２４２】
本変形例に係る配達システム１は、ｋ台（但し、ｋは３以上の整数）の移動体と、制御装置５００と、を備える。制御装置５００は、第１受取場所にｌ台（但し、ｌは３以上かつｋ以下の整数）の移動体が滞在する場合、以下の手順に従って、図１５に示した積替制御処理をｌ−１回繰り返し実行する。
【０２４３】
先ず、制御装置５００は、第１受取場所に１番目に到着した移動体を第１移動体１００とし、かつ、第１受取場所に２番目に到着した移動体を第２移動体として、１回目の積替制御処理を実行する。
【０２４４】
次に、制御装置５００は、積替制御処理を実行した回数を表す変数ｍの値を値「1」で初期化する。その後、制御装置５００は、ｍ回目の積替制御処理で残留移動体と選択された移動体を第１移動体１００とし、かつ、第１受取場所に２＋ｍ番目に到着した移動体を第２移動体として、ｍ＋１番目の積替制御処理を実行する。
【０２４５】
その後、制御装置５００は、変数ｍの値を値「1」増加させた後、変数ｍの値がｌ−１以上であるか否かを判別する。このとき、制御装置５００は、変数ｍの値がｌ−１よりも少ないと判別すると、第１受取場所に滞在するｌ台の移動体の全てについて積替制御処理が実行されていないと判別して、ｍ＋１番目の積替制御処理を実行する処理から上記処理を繰り返す。
【０２４６】
これに対して、制御装置５００は、変数ｍの値がｌ−１以上であると判別すると、第１受取場所に滞在するｌ台の移動体の全てについて積替制御処理が実行されたと判別して、積替制御処理の繰り返しの実行を終了する。
【０２４７】
＜実施例の変形例８＞
本実施例に係る第１移動体１００の格納ボックス１６０は、物品の積み替えに用いられる、図４に示したような伸縮機構１６５と、伸縮機構１６５の伸張により格納ボックス１６０の外側へ向かってスライドさせられるスライド板１６４と、を備えると説明した。
【０２４８】
しかし、本変形例に係る第１移動体１００は、物品の積み替えに用いられる、図２３に示すようなロボットアーム１４０を、ロッカー装置１７０の上面にさらに備える。本変形例に係る第２移動体２００は、ロボットアームを備えていない。
【０２４９】
ロボットアーム１４０は、垂直多関節ロボットであり、制御装置１９０から出力される信号に従って不図示のモータを駆動させる駆動回路と、モータによって平行に開閉させられる二爪式のグリッパー１４１と、を備える。また、ロボットアーム１４０は、グリッパー１４１に搭載され、光軸をグリッパー１４１の爪先に向けられた撮像装置１５０と、モータによって可動させられる複数の関節構造及び関節構造を中心として可動する複数のアーム１４２と、を備える。グリッパー１４１は、二爪式に限定される訳で無く、三本以上の爪を有しても良いし、二本の爪の代わりに複数本の指を有しても良い。
【０２５０】
ロボットアーム１４０が備える撮像装置１５０は、デジタル式のステレオカメラであり、制御装置１９０から出力される信号に応じて撮像を行い、互いに視差を有する２つの画像を制御装置１９０へ出力する。視差に基づいて、グリッパー１４１の摘持対象物とされる物品の３次元空間における位置座標及びサイズ等を、制御装置１９０が特定するためである。
【０２５１】
図５に示した制御装置１９０の入出力ポート１９８は、不図示の通信ケーブルを介して、ロボットアーム１４０が備える不図示の駆動回路及び撮像装置１５０に接続されている。入出力ポート１９８は、ＣＰＵ１９１から出力された制御信号をロボットアーム１４０の駆動回路又は撮像装置１５０へ出力し、撮像装置１５０から出力された信号をＣＰＵ１９１へ入力する。
【０２５２】
本変形例では、本実施例と同様に、第１移動体１００の左１行１列のボックス１６０から、第２移動体２００の右１行１列のボックス２６０へ、第１物品を積み替えることを命じる積替命令が、制御装置５００から送信された場合を例に挙げて説明する。
【０２５３】
第１移動体１００は、積替命令を受信すると、積替命令に従って、左１行１列の格納ボックス１６０と、右１行１列の格納ボックス２６０と、が正対するように、位置及び進行方向を変更する。第２移動体２００も同様に位置及び進行方向を変更する。
【０２５４】
次に、第１移動体１００のＣＰＵ１９１は、左１行１列の格納ボックス１６０の扉１６２を解錠させる制御信号と、扉１６２の状態を外側開放状態とする制御信号と、を、不図示のモータに接続された駆動回路１９９へ出力する。第２移動体２００は、同様に、右１行１列のボックス２６０の扉２６２を解錠し、扉２６２の状態を外側開放状態とする。
【０２５５】
その後、第１移動体１００のＣＰＵ１９１は、左１行１列のボックス１６０の開口部を撮像可能な方向へ撮像装置１５０の光軸を向けさせる制御信号を、ロボットアーム１４０に接続された入出力ポート１９８へ出力する。その後、ＣＰＵ１９１は、撮像を命じる信号を、入出力ポート１９８を介して撮像装置１５０へ出力し、撮像装置１５０から出力された信号を、入出力ポート１９８を介して入力される。ＣＰＵ１９１は、入力された信号に基づいて２枚の画像を取得し、取得された２枚の画像の視差に基づいて、左１行１列のボックス１６０の開口部、及び、当該開口部よりもボックス１６０の内側に格納された第１物品の３次元空間における位置座標及びサイズを算出する。同様に、第１移動体１００のＣＰＵ１９１は、右１行１列のボックス２６０の開口部の３次元空間における位置座標及びサイズを算出する。本実施例では、算出される位置座標は、ロボットアーム１４０を基準とした相対座標であると説明するが、これに限定される訳ではない。
【０２５６】
次に、ＣＰＵ１９１は、左１行１列のボックス１６０の開口部、第１物品、及び、右１行１列のボックス２６０の開口部の位置座標及びサイズに基づいて、左１行１列のボックス１６０に格納された第１物品を掴んで、右１行１列のボックス２６０に格納させるための制御信号を生成する。その後、ＣＰＵ１９１は、生成した制御信号を、入出力ポート１９８を介してロボットアーム１４０へ出力し、ロボットアーム１４０は、制御信号に従って動作することで、第１物品を左１行１列のボックス１６０から右１行１列のボックス２６０に積み替える。
【０２５７】
＜実施例の変形例９＞
本実施例の変形例８に係る第１移動体１００は、物品の積み替えに用いられる、図２３に示すようなロボットアーム１４０を、ロッカー装置１７０の上面に備え、本実施例の変形例８に係る第２移動体２００は、ロボットアームを備えていないと説明した。
【０２５８】
しかし、本変形例に係る第２移動体２００は、第１移動体１００と同様に、不図示のロボットアームを、ロッカー装置２７０の上面に備えている。このため、第１移動体１００と第２移動体２００とが制御装置５００から積替命令を受信すると、第１移動体１００のＣＰＵ１９１は、第１移動体１００及び第２移動体２００の内で、積替物品を格納している積替元の移動体が、積替元のロボットアームを用いて、積替物品を積替元から取り出し、積替先の移動体に格納すると決定する。第２移動体２００の不図示のＣＰＵも同様に決定する。
【０２５９】
しかし、これに限定される訳ではなく、第１移動体１００のＣＰＵ１９１は、第１移動体１００及び第２移動体２００の内で、積替先の移動体が、積替先のロボットアームを用いて、積替物品を積替元から取り出し、積替先の移動体に格納すると決定しても良い。この場合、第２移動体２００の不図示のＣＰＵも同様に決定する。
【０２６０】
さらに、これに限定される訳ではなく、第１移動体１００のＣＰＵ１９１と、第２移動体２００の不図示のＣＰＵ１９１と、は、物品の積み替えのために、第１移動体１００のロボットアーム１４０及び第２移動体２００のロボットアームの内のいずれを使用するかを、乱数に基づいて決定しても良い。
【０２６１】
この場合、第１移動体１００の第１データ通信回路１９４ａが積替命令を受信すると、第１移動体１００のＣＰＵ１９１は、乱数を生成し、生成した乱数を、第２移動体２００を宛先として第２データ通信回路１９４ｂへ出力する。第２移動体２００は、第１移動体１００と同様に、乱数を生成し、生成された乱数を第１移動体に送信する。その後、第１移動体１００の第２データ通信回路１９４ｂが、第２移動体２００から乱数を受信すると、第１移動体１００のＣＰＵ１９１は、自機が生成した乱数が、受信された乱数よりも大きいか否か判別する。
【０２６２】
このとき、第１移動体１００のＣＰＵ１９１は、自機が生成した乱数が、受信された乱数よりも大きいと判別すると、自機が親機となり、物品の積み替えのために、自機のロボットアーム１４０を使用すると決定する。第２移動体２００も同様に、自機が生成した乱数が、受信された乱数よりも小さいと判別すると、自機が子機となり、物品の積み替えのために、自機のロボットアームを使用しないと決定する。
【０２６３】
これに対して、第１移動体１００のＣＰＵ１９１は、自機が生成した乱数が、受信された乱数よりも小さいと判別すると、自機が子機となり、自機のロボットアーム１４０を使用しないと決定する。第２移動体２００も同様に決定する。
【０２６４】
また、第１移動体１００のＣＰＵ１９１は、自機が生成した乱数と、受信された乱数とが等しい判別すると、乱数を生成する処理から上記処理を繰り返す。
【０２６５】
＜実施例の変形例１０＞
実施例の変形例８では、配達システム１は、走行体であり、かつ、図２３に示すようなロボットアーム１４０を備えた第１移動体１００と、走行体であり、かつ、ロボットアームを備えていない第２移動体２００と、を備えると説明した。
【０２６６】
しかし、これに限定される訳ではなく、本変形例に係る配達システム１は、走行体であり、かつ、ロボットアーム１４０を備えた第１移動体１００と、図２４に示すような飛行体である第２移動体３００と、を備える。
【０２６７】
本変形例に係る第２移動体３００は、無人航空機であり、ロッカー装置３７０が下面に固定された制御装置３１０を備えている。ロッカー装置３７０の前面には、２行１列の行列を形成して配置された格納ボックス３６０を備えている。格納ボックス３６０の構成及び機能は、図２に示した格納ボックス１６０の構成及び機能と同様である。
【０２６８】
第２移動体３００は、制御装置３１０の前面から右前方及び左前方、並びに、制御装置３１０の後面から左後方及び右後方にそれぞれ突出したプロペラアーム３２１及び３２２、並びに、３２３及び３２４を備える。さらに、第２移動体３００は、プロペラアーム３２１から３２４の先端にそれぞれ設置されたプロペラ３３１から３３４、及び、制御装置３１０の制御に従ってプロペラ３３１から３３４を回転させる不図示のモータと、を備える。
【０２６９】
さらに、第２移動体３００は、制御装置３１０の下面から下方に突出しており、制御装置３１０を支持する支持脚３４３を備えている。支持脚３４３の鉛直方向の長さは、ロッカー装置３７０の鉛直方向の長さよりも予め定められた長さだけ長く設計されている。支持脚３４３がこのように設定されているのは、第２移動体３００が受取場所に着陸する際に、第２移動体３００のロッカー装置３７０が受取場所の表面に衝突することを防止するためである。
【０２７０】
またさらに、第２移動体３００は、制御装置３１０の上面に設けられ、第２移動体３００の前方に光軸が向けられた撮像装置３５１を備える。撮像装置３５１は、デジタル式のステレオカメラであり、制御装置３１０から出力される信号に応じて撮像を行い、撮像により得られた互いに視差を有する２枚の画像を制御装置３１０へ出力する。
【０２７１】
制御装置３１０は、第１移動体１００の制御装置１９０が備えるＣＰＵ１９１、ＲＡＭ１９２、ＲＯＭ１９３ａ、フラッシュメモリ１９３ｂ、第１データ通信回路１９４ａ、第２データ通信回路１９４ｂ、タッチスクリーン１９５、及び、ＧＰＳ回路１９６の構成及び機能と同様の構成及び機能を有する不図示のＣＰＵ、ＲＡＭ、ＲＯＭ、フラッシュメモリ、第１データ通信回路、第２データ通信回路、タッチスクリーン、及び、ＧＰＳ回路を備える。本変形例において、制御装置３１０は、１つのＣＰＵを備えるとして説明するが、これに限定される訳ではなく、複数のＣＰＵを備えても良い。
【０２７２】
また、制御装置３１０は、撮像装置３５１と接続された不図示のケーブルに接続されており、不図示のＣＰＵが出力する信号を撮像装置３５１に出力し、撮像装置３５１が出力する画像をＣＰＵへ入力する不図示の入出力ポートを備えている。
【０２７３】
さらに、制御装置３１０は、プロペラ３３１から３３４を回転させる不図示のモータにそれぞれ接続された不図示のケーブルに接続されている不図示の駆動回路を備えている。駆動回路は、ＣＰＵが出力する信号に従って、プロペラ３３１から３３４を回転させる不図示のモータを駆動させる。
【０２７４】
第２移動体３００の不図示の第１データ通信回路が、受取場所への移動命令を制御装置５００から受信すると、受取場所までの飛行経路を決定し、決定された飛行経路を順行するための制御信号を、プロペラ３３１から３３４を回転させる不図示のモータを駆動させる不図示の駆動回路へ出力する。
【０２７５】
その後、第２移動体３００が受取場所へ到着すると、第２移動体３００のＣＰＵは、第２移動体３００を受取場所に着陸させるようにプロペラ３３１から３３４を制御する制御信号を生成して不図示の駆動回路へ出力する。このようにして、第２移動体３００は、受取場所へ移動し、受取場所に着陸して滞在する。
【０２７６】
第２移動体３００が滞在する受取場所は、飛行体が離着陸を行う場所であるポートを含む。ポートは、エントランス及びロビーに限定される訳ではなく、例えば、ベランダ、屋上、庭、駐車場、公園、校庭、又は、河原であっても良い。
【０２７７】
＜実施例の変形例１１＞
実施例の変形例１０では、配達システム１は、走行体であり、かつ、図２３に示すようなロボットアーム１４０を備えた第１移動体１００と、飛行体であり、かつ、図２４に示すような第２移動体３００と、を備えると説明したが、これに限定される訳ではない。
【０２７８】
配達システム１は、走行体であり、かつ、図２３に示したようなロボットアーム１４０を備えていない第１移動体１００と、図２４に示したような飛行体であり、かつ、ロッカー装置３７０の下面に、図２３に示したような不図示のロボットアームを備えた第２移動体３００と、を備えても良い。
【０２７９】
また、これに限定される訳ではなく、配達システム１は、飛行体である不図示の第１移動体と、飛行体であり、かつ、不図示のロボットアームを備えた第２移動体３００と、を備えても良い。
【０２８０】
＜実施例の変形例１２＞
本実施例では、第１移動体１００と第２移動体２００とは、図４に示したように、扉１６２の状態が、外側に倒された外側開放状態である格納ボックス１６０と、扉２６２の状態が、内側に倒された内側開放状態である格納ボックス２６０と、を、扉１６２の高さＨよりも短い距離ｄだけ離れて正対させた状態で、物品の積み替えを行うと説明した。扉１６２の状態を外側開放状態としたのは、扉１６２を、第１移動体１００の格納ボックス１６０と、第２移動体２００の格納ボックス２６０と、に架かる橋とするためである。
【０２８１】
しかし、これに限定される訳ではなく、本変形例に係る第１移動体１００と第２移動体２００とは、図２５に示すように、扉１６２の状態が外側開放状態である格納ボックス１６０と、扉２６２の状態が外側開放状態である格納ボックス２６０と、を、扉１６２の高さＨの２倍よりも短い距離ｄ’だけ離れて正対させた状態で、物品の積み替えを行う。このように、第１移動体１００が扉１６２の状態を外側開放状態とするだけでなく、第２移動体２００も扉２６２の状態を外側開放状態とするため、扉１６２と扉２６２とで、格納ボックス１６０と格納ボックス２６０とに架かる橋を形成することができる。このため、扉１６２だけを橋とする本実施例に比べて、第１移動体１００と第２移動体２００との距離が長くとも物品を積み替えることができる。
【０２８２】
＜実施例の変形例１３＞
本実施例では、受取場所は、共同住宅及びオフィスビルのエントランス及びロビー、並びに、一軒家の玄関前を含むとして説明したが、これに限定される訳ではない。受取場所は、学校、病院、役所、裁判所、駅、及び、空港等の公共施設、並びに、百貨店、ホテル、及び、アウトレットモール等の商業施設のエントランス及びロビーを含む。また、受取場所は、一軒家、共同住宅、オフィスビル、公共施設、及び、商業施設の庭及び駐車場であっても良い。さらに、受取場所は、公園、河原、山林、及び、山であっても良い。
【０２８３】
＜実施例の変形例１４＞
本実施例では、第１移動体１００及び第２移動体２００は、図２に示すような車輪１１１及び１１２を含む複数の車輪を備えると説明したが、これに限定される訳ではない。第１移動体１００及び第２移動体２００は、複数の関節を有する二本の脚を備え、二足歩行しても良い。また、第１移動体１００及び第２移動体２００が備える脚の数は、二本に限定される訳ではなく、三本以上であっても良い。さらに、第１移動体１００及び第２移動体２００は、例えば、複数の車輪を囲むキャタピラー（登録商標）等の無限軌道をさらに備えても良い。
【０２８４】
＜実施例の変形例１５＞
実施例の変形例１０では、第２移動体３００は、無人航空機であると説明したが、これに限定される訳ではなく、無人飛翔体であっても良い。
【０２８５】
また、第１移動体１００及び第２移動体２００は、走行体である必要はなく、航走体、又は、潜水体であっても良い。
【０２８６】
さらに、第１移動体１００、並びに、第２移動体２００及び３００は、必ずしも無人である必要はなく、制御装置５００による制御を除き、自律して走行又は飛行する物体であれば、人が乗っていても良い。
【０２８７】
＜実施例の変形例１６＞
本実施例に係る制御装置５００のＣＰＵ５０１は、図１２に示したような移動体制御処理を実行することで、図７に示すような取得部５１０、移動制御部５４０、選択部５５０、格納制御部５６０、変更部５７０、及び、通知部５８０として機能すると説明したが、これに限定される訳ではない。
【０２８８】
本変形例に係る制御装置５００のＣＰＵ５０１は、図１２に示したような移動体制御処理を実行しない。このため、本変形例に係る第１移動体１００のＣＰＵ１９１が、図２６に示すような移動体制御処理を実行する。これにより、第１移動体１００のＣＰＵ１９１は、図２７に示すような移動制御部９４０、選択部９５０、格納制御部９６０、変更部９７０、及び、通知部９８０として機能する。また、第１移動体１００のフラッシュメモリ１９３ｂは、情報記憶部９９０として機能する。第２移動体２００の不図示のＣＰＵ及びフラッシュメモリも第１移動体１００のＣＰＵ１９１及びフラッシュメモリ１９３ｂと同様に機能するため、以下、第１移動体１００について主に説明する。
【０２８９】
第１移動体１００の情報記憶部９９０は、不図示の予定テーブルを予め記憶している。制御装置５００のＣＰＵ５０１は、本実施例と同様に、不図示の予定生成処理を実行することで、第１移動体１００の予定を生成すると、生成された予定に関する情報を、第１移動体１００を宛先としてデータ通信回路５０４ａへ出力する。第１移動体１００の第１データ通信回路１９４ａが、第１移動体１００の予定に関する情報を受信すると、第１移動体１００のＣＰＵ１９１は、第１データ通信回路１９４ａから予定に関する情報を取得し、情報記憶部９９０が記憶する不図示の予定テーブルに保存する。このため、第１移動体１００の情報記憶部９９０が記憶する予定テーブルには、第１移動体１００の予定に関する情報が保存されているが、第２移動体２００の予定に関する情報が保存されていない。
【０２９０】
第１移動体１００の情報記憶部９９０は、不図示の格納ボックステーブルを予め記憶している。第１移動体１００に物品を格納させた従業員は、物品を格納させた格納ボックス１６０に関する情報を入力させる操作を第１移動体１００の入力装置１９５ｃに行う。第１移動体１００の入力装置１９５ｃが当該操作に応じた信号を入力すると、第１移動体１００のＣＰＵ１９１は、本実施例で説明した不図示のボックス情報保存処理を実行することで、格納ボックス１６０に関する情報を格納ボックステーブルに保存する。このため、第１移動体１００の情報記憶部９９０が記憶する格納ボックステーブルには、第１移動体１００の格納ボックス１６０に関する情報が保存されているが、第２移動体２００の格納ボックス２６０に関する情報が保存されていない。
【０２９１】
第１移動体１００のＣＰＵ１９１は、起動すると、図２６に示す移動体制御処理を実行する。移動体制御処理が開始されると、第１移動体１００の移動制御部９４０は、ＯＳから取得したシステム時刻と、第１移動体１００の情報記憶部９９０が記憶する不図示の予定テーブルの移動開始時刻を表す情報と、に基づいて、第１移動体１００の第１受取場所への移動開始時刻が到来したか否かを判別する（ステップＳ７１）。
【０２９２】
このとき、移動制御部９４０は、移動開始時刻が到来したと判別すると（ステップＳ７１；Ｙｅｓ）、図１２のステップＳ０２及びＳ０３と同様の処理を実行する（ステップＳ７２及びＳ７３）。これにより、移動制御部９４０は、図１３に示した走行制御処理の実行を開始して、第１受取場所まで走行する。その後、ステップＳ７１から上記処理が繰り返される。
【０２９３】
移動制御部９４０は、ステップＳ７１で、移動開始時刻が到来していないと判別した後に（ステップＳ７１；Ｎｏ）、ＧＰＳ回路１９６から出力される信号に基づいて、第１移動体１００が第１受取場所に到着したと判別すると（ステップＳ７４；Ｙｅｓ）、図１２のステップＳ０７及びＳ０８の処理と同様の処理を実行することで（ステップＳ７５及びＳ７６）、第１受取場所での滞在を開始する。
【０２９４】
次に、第１移動体１００の選択部９５０は、第１受取場所に、他の移動体である第２移動体２００が滞在しているか否かを判別する（ステップＳ７７）。この判定のために、第１移動体１００の選択部９５０は、例えば、撮像装置１１９、１８１、及び、１８２へ撮像を命じる信号を出力した後に、撮像装置１１９、１８１、及び、１８２から出力される画像を取得する。次に、選択部９５０は、テンプレートマッチングに用いられる第２移動体２００のテンプレート画像を、フラッシュメモリ１９３ｂから読み出す。その後、選択部９５０は、取得された画像と、読み出されたテンプレート画像と、に基づいて、テンプレートマッチングを行うことで、テンプレート画像に対応する画像領域を検出する。このとき、選択部９５０は、テンプレート画像に対応する画像領域が検出されると、第２移動体２００が第１受取場所に滞在していると判断する。
【０２９５】
このとき、第１移動体１００の選択部９５０は、第１受取場所に、他の移動体である第２移動体２００が滞在していないと判別すると（ステップＳ７７；Ｎｏ）、ステップＳ７１から上記処理を繰り返す。これに対して、選択部９５０は、第１受取場所に、第２移動体２００が滞在していると判別すると（ステップＳ７７；Ｙｅｓ）、第２移動体２００を認証するために、認証コードの送信を求めるコード送信リクエストを、第２移動体２００を宛先として、第２データ通信回路１９４ｂへ出力する。
【０２９６】
第１移動体１００の第２データ通信回路１９４ｂがコード送信リクエストを第２移動体２００へ送信した後に、予め定められた時間が経過しても、第２データ通信回路１９４ｂが認証コードを受信しないと、第１移動体１００の選択部９５０は、第２移動体２００の認証が失敗したと判別する（ステップＳ７８ａ；Ｎｏ）。これに対して、第２データ通信回路１９４ｂが、第２移動体２００から認証コードを受信すると、選択部９５０は、フラッシュメモリ１９３ｂに予め記憶されている第２移動体２００の認証コードを取得する。次に、選択部９５０は、受信された認証コードと、予め記憶されている認証コードと、が一致しないと判別すると、第２移動体２００の認証が失敗したと判別する（ステップＳ７８ａ；Ｎｏ）。選択部９５０は、認証が失敗したと判別した場合、認証に失敗したことを知らせる失敗報告を、第２移動体２００を宛先として第２データ通信回路１９４ｂへ出力する。その後、ステップＳ７１から上記処理が繰り返される。
【０２９７】
これに対して、第１移動体１００の選択部９５０は、受信された認証コードと、予め記憶されている認証コードと、が一致すると判別すると、第２移動体２００の認証が成功したと判別する（ステップＳ７８ａ；Ｙｅｓ）。その後、選択部９５０は、認証に成功したことを知らせる成功報告を、第２移動体２００を宛先として第２データ通信回路１９４ｂへ出力する。
【０２９８】
また、第１移動体１００の選択部９５０は、第２データ通信回路１９４ｂが、コード送信リクエストを第２移動体２００から受信すると、フラッシュメモリ１９３ｂに予め記憶されている第１移動体１００の認証コードを取得し、取得された認証コードを、第２移動体２００を宛先として、第２データ通信回路１９４ｂへ出力する。その後、第１移動体１００の第２データ通信回路１９４ｂが失敗報告を第２移動体２００から受信すると、認証を失敗したと判別する（ステップＳ７８ａ；Ｎｏ）。その後、ステップＳ７１から処理が繰り返される。
【０２９９】
これに対して、第１移動体１００の第２データ通信回路１９４ｂが成功報告を第２移動体２００から受信すると、第１移動体１００の選択部９５０は、第１移動体１００と第２移動体２００とが互いに認証を成功させたと判別する（ステップＳ７８ａ；Ｙｅｓ）。
【０３００】
次に、第１移動体１００の選択部９５０と、第２移動体２００の不図示の選択部と、は、実施例の変形例９で説明した乱数を用いる処理で、第１移動体１００及び第２移動体２００のどちらか一方を後続の積替制御処理を実行する親機に決定し、他方を積替制御処理を実行しない子機に決定する。
【０３０１】
このとき、自機が親機に決定されず、第２移動体２００が親機に決定されると（ステップＳ７８ｂ；Ｎｏ）、第１移動体１００の選択部９５０は、不図示の予定テーブルから第１移動体１００の予定に関する情報を取得し、不図示の格納ボックステーブルから格納ボックス１６０に関する情報を取得する。その後、選択部９５０は、取得された情報を、第２移動体２００を宛先として、第２データ通信回路１９４ｂへ出力する（ステップＳ７９ａ）。
【０３０２】
その後、第１移動体１００の第２データ通信回路１９４ｂが、積替制御処理を実行した第２移動体２００から積替命令を受信すると、第１移動体１００のＣＰＵ１９１が、本実施例で説明した処理と同様の処理を実行することで、積替命令に従った積み替えが行われる。また、第１移動体１００の第２データ通信回路１９４ｂが、積替制御処理の実行によって変更された第１移動体１００の予定に関する情報及び格納ボックス１６０に関する情報を、第２移動体２００から受信すると、受信された情報で、不図示の予定テーブル及び不図示の格納ボックステーブルが更新される。その後、ステップＳ７１から上記処理が繰り返される。
【０３０３】
これに対して、自機である第１移動体１００が親機に決定されると（ステップＳ７８ｂ；Ｙｅｓ）、第１移動体１００の選択部９５０は、第２移動体２００の予定に関する情報、及び、格納ボックス２６０に関する情報の送信を求める予定送信リクエストを、第２移動体２００を宛先として、第２データ通信回路１９４ｂへ出力する。その後、第１移動体１００の第２データ通信回路１９４ｂが予定送信リクエストを送信した後に、第２移動体２００の予定に関する情報及び格納ボックス２６０に関する情報を第２移動体２００から受信すると、第１移動体１００の選択部９５０は、受信された第２移動体２００の予定に関する情報を取得し、第１移動体１００の予定に関する情報しか保存されていなかった不図示の予定テーブルに保存する。また、第１移動体１００の選択部９５０は、受信された格納ボックス２６０に関する情報を取得し、第１移動体１００の格納ボックス１６０に関する情報しか保存されていなかった不図示の格納ボックステーブルに保存する（ステップＳ７９ｂ）。
【０３０４】
その後、第１移動体１００のＣＰＵ１９１は、図１４に示した積替制御処理を実行する（ステップＳ８０）。これにより、ＣＰＵ１９１は、第１移動体１００及び第２移動体２００の内で、第１受取場所の退去予定時刻が遅い方の移動体を残留移動体として選択し、退去予定時刻が早い方の移動体を退去移動体として選択する。
【０３０５】
また、ＣＰＵ１９１は、第１移動体１００の予定に関する情報及び格納ボックス１６０に関する情報と、第２移動体２００の予定に関する情報及び格納ボックス１６０に関する情報と、に基づいて積替物品を特定し、特定された積替物品の積み替えることを命じる積替命令を、第２移動体２００を宛先として、第２データ通信回路１９４ｂへ出力する。その後、ＣＰＵ１９１が、本実施例で説明した処理と同様の処理を実行することで、積替命令に従った積み替えが行われる。
【０３０６】
さらに、物品の積み替えに応じて、ＣＰＵ１９１は、第１移動体１００の予定に関する情報及び格納ボックス１６０に関する情報と、第２移動体２００の予定に関する情報及び格納ボックス２６０に関する情報を変更する。その後、変更された第２移動体２００の予定に関する情報及び格納ボックス２６０に関する情報を、第２移動体２００を宛先として第２データ通信回路１９４ｂへ出力する。その後、ＣＰＵ１９１は、第２移動体２００の予定に関する情報及び格納ボックス２６０に関する情報を、不図示の予定テーブル及び格納ボックステーブルから削除する。その後、ステップＳ７１から上記処理が繰り返される。
【０３０７】
ステップＳ７１が実行された後に、第１移動体１００が第１受取場所に既に到着している又は第１受取場所と異なる場所にいるため、第１受取場所に到着した訳では無いと判別すると（ステップＳ７４；Ｎｏ）、第１移動体１００の選択部９５０は、第１受取場所に他の移動体である第２移動体２００が到着したか否かを判別する（ステップＳ８１）。選択部９５０は、例えば、ステップＳ７７で説明したテンプレートマッチングを予め定められた周期で実行し、前回の実行でテンプレート画像に対応する画像領域が検出されなかったが、今回の実行でそのような画像領域が検出されると、第２移動体２００が到着したと判別する（ステップＳ８１；Ｙｅｓ）。その後、選択部９５０は、第２移動体２００を認証するステップＳ７８ａから処理を継続する。
【０３０８】
ステップＳ７１及びＳ７４が実行された後に、第１移動体１００の選択部９５０が、第２移動体２００が第１受取場所に到着した訳では無いと判別すると（ステップＳ８１；Ｎｏ）、移動制御部９４０は、ＯＳから取得したシステム時刻と、不図示の予定テーブルの退去予定時刻を表す情報と、に基づいて、第１移動体１００の第１受取場所からの退去予定時刻が到来したか否かを判別する（ステップＳ８２）。このとき、移動制御部９４０は、退去予定時刻が到来したと判別すると（ステップＳ８２；Ｙｅｓ）、図１２のステップＳ１２及びＳ１３と同様の処理を実行する（ステップＳ８３及びＳ８４）。これにより、第１移動体１００は、第１受取場所から退去する。その後、ステップＳ７１から上記処理が繰り返される。
【０３０９】
ステップＳ７１、Ｓ７４、及び、Ｓ８１が実行された後に、第１移動体１００の移動制御部９４０が、第１移動体１００の第１受取場所からの退去予定時刻が到来した訳ではないと判別すると（ステップＳ８２；Ｎｏ）、第１移動体１００の格納制御部９６０は、入力装置１９５ｃが入力する信号に基づいて、物品の受取人によって物品の受け渡しが求められているか否かを判別する（ステップＳ８５）。このとき、格納制御部９６０は、物品の受け渡しが求められていると判別すると（ステップＳ８５；Ｙｅｓ）、図１２のステップＳ１５ｂと同様の処理を実行する（ステップＳ８６）。これにより、格納制御部９６０は、受取人によって入力されたパスワードを表す文字列を取得し、不図示の格納ボックステーブルに、取得された文字列が保存されたレコードが存在しない場合に、受取人の認証が失敗したと判別する（ステップＳ８６；Ｎｏ）。その後、ステップＳ７１から上記処理が繰り返される。
【０３１０】
これに対して、格納制御部９６０は、格納ボックステーブルに、取得された文字列が保存されたレコードが存在する場合に、受取人の認証が成功したと判別する（ステップＳ８６；Ｙｅｓ）。その後、格納制御部９６０は、図１２のステップＳ１６からＳ１８の処理と同様の処理を実行する（ステップＳ８７からＳ８９）。これにより、格納制御部９６０は、格納ボックステーブルにおいて、パスワードを表す文字列と対応付けられたボックスＩＤを取得し、取得されたボックスＩＤで識別される格納ボックス１６０の扉１６２を解錠させる制御信号と、扉２６２の状態を外側開放状態とさせる制御信号と、を駆動回路１９９へ出力する。その後、受取人が格納ボックス１６０から物品を取り出すことで、物品の受け渡しが終了する。その後、ステップＳ７１から上記処理が繰り返される。
【０３１１】
ステップＳ７１、Ｓ７４、Ｓ８１、及び、Ｓ８２が実行された後に、第１移動体１００の格納制御部９６０が、物品の受け渡しが求められている訳ではないと判別すると（ステップＳ８５；Ｎｏ）、第１移動体１００が営業所に帰還したか否かを、ＧＰＳ回路１９６から出力される信号に基づいて、移動制御部９４０が判別する（ステップＳ９０）。このとき、第１移動体１００が営業所に帰還していないと判別すると（ステップＳ９０；Ｎｏ）、Ｓ７１から上記処理が繰り返される。これに対して、営業所に帰還したと判別すると（ステップＳ９０；Ｙｅｓ）、変更部９７０は、図１２のステップＳ２０ｂと同様の処理を実行する（ステップＳ９１）。これにより、変更部９７０は、不図示の予定テーブルに保存されているレコードを削除することで、第１移動体１００の予定を削除する。その後、ステップＳ７１から上記処理が繰り返される。
【０３１２】
＜実施例の変形例１７＞
本実施例の変形例１６に係る第１移動体１００のＣＰＵ１９１は、図２６に示すような移動体制御処理を実行することで、図２７に示すような移動制御部９４０、選択部９５０、及び、格納制御部９６０として機能すると説明した。
【０３１３】
しかし、これらに限定される訳ではなく、本変形例に係る制御装置５００のＣＰＵ５０１は、選択部５５０及び格納制御部５６０として機能し、本変形例に係る第１移動体１００のＣＰＵ１９１は、移動制御部９４０として機能する。本変形例に係る第２移動体２００の不図示のＣＰＵは、第１移動体１００のＣＰＵ１９１と同様に機能するため、以下、第１移動体１００について主に説明する。
【０３１４】
本実施例の変形例１６と同様に、第１移動体１００の情報記憶部９９０は、不図示の予定テーブルを予め記憶している。第１移動体１００の予定テーブルには、制御装置５００で生成された第１移動体１００の予定に関する情報が保存されているが、第２移動体２００の予定に関する情報が保存されていない。また、第１移動体１００の情報記憶部９９０は、不図示の格納ボックステーブルを予め記憶している。第１移動体１００の格納ボックステーブルには、第１移動体１００の格納ボックス１６０に関する情報が保存されているが、第２移動体２００の格納ボックス２６０に関する情報が保存されていない。
【０３１５】
本実施例の変形例１６と同様に、第１移動体１００のＣＰＵ１９１は、起動すると、図２６に示したような移動体制御処理を実行する。移動体制御処理において、第１移動体１００の移動制御部９４０は、第１移動体１００が第１受取場所に到着したと判別すると（ステップＳ７４；Ｙｅｓ）、第１受取場所の識別情報「P1」と、第１移動体１００の識別情報「100」と、を含む到着報告を、制御装置５００を宛先として第１データ通信回路１９４ａへ出力する。次に、第１移動体１００の移動制御部９４０は、不図示の予定テーブルから第１移動体１００の予定に関する情報を取得し、不図示の格納ボックステーブルから格納ボックス１６０に関する情報を取得し、取得されたこれらの情報を、制御装置５００を宛先として、第１データ通信回路１９４ａへ出力する。その後、移動制御部９４０は、ステップＳ７５及びＳ７６の処理を実行することで、第１受取場所での滞在を開始した後に、ステップＳ７１から上記処理を繰り返す。
【０３１６】
制御装置５００のデータ通信回路５０４ａが到着報告を受信すると、制御装置５００のＣＰＵ５０１は、受取場所に到着した第１移動体１００及び第２移動体２００の１つ以上を制御する不図示の到着時制御処理を実行する。到着時制御処理の実行を開始すると、制御装置５００の取得部５１０は、データ通信回路５０４ａから到着報告を取得し、取得された到着報告から第１移動体１００の識別情報「100」と第１受取場所の識別情報「P1」とを取得する。次に、データ通信回路５０４ａが第１移動体１００の予定に関する情報及び格納ボックス１６０に関する情報を受信すると、取得部５１０は、これらの情報を取得する。その後、保存部５２０は、第１移動体１００の識別情報「100」と、第１移動体１００の予定に関する情報と、を対応付けて、情報記憶部５９０に保存する。また、保存部５２０は、識別情報「100」と、格納ボックス１６０に関する情報と、を対応付けて情報記憶部５９０に保存する。
【０３１７】
次に、選択部５５０は、ＯＳからシステム時刻を取得し、第１受取場所の識別情報「P1」と、システム時刻よりも早い到着予定時刻と、システム時刻よりも遅い退去予定時刻と、に対応付けられた識別情報を、情報記憶部５９０から取得する。このとき、選択部５５０は、第１移動体１００の識別情報「100」のみが取得されると、第１受取場所に第１移動体１００しか滞在しておらず、他の移動体である第２移動体２００が滞在していないと判別し、不図示の到着時制御処理の実行を終了する。
【０３１８】
これに対して、選択部５５０は、第１移動体１００の識別情報「100」と、第２移動体２００の識別情報「200」と、が取得されると、第１受取場所に第１移動体１００と第２移動体２００とが滞在していると判別する。その後、図１５に示した選択処理、及び、図１６に示した積替物品特定処理が実行される。これにより、選択部５５０は、第１移動体１００及び第２移動体２００のいずれか一方を退去移動体として選択し、他方を残留移動体として選択する。また、変更部５７０は、選択された退去移動体の第１受取場所からの退去予定時刻を、変更前よりも早い時刻に変更する。さらに、格納制御部５６０は、積替命令を第１移動体１００及び第２移動体２００を宛先として出力することで、第１移動体１００及び第２移動体２００に積替物品を積み替えさせる。変更部５７０は、物品の積み替えに応じて、第１移動体１００の識別情報「100」に対応付けられた予定に関する情報、及び、格納ボックス１６０に関する情報、並びに、第２移動体２００の識別情報「200」に対応付けられた予定に関する情報、及び、格納ボックス２６０に関する情報を変更する。
【０３１９】
その後、変更部５７０は、変更された第１移動体１００の予定に関する情報及び格納ボックス１６０に関する情報を、第１移動体１００を宛先として、データ通信回路５０４ａへ出力する。次に、変更部５７０は、変更された第２移動体２００の予定に関する情報及び格納ボックス２６０に関する情報を、第２移動体２００を宛先として、データ通信回路５０４ａへ出力した後に、不図示の到着時制御処理の実行を終了する。
【０３２０】
図２６の移動体制御処理において、第１移動体１００の変更部９７０は、ステップＳ８１の処理に代えて、第１移動体１００の第１データ通信回路１９４ａが、変更された第１移動体１００の予定に関する情報及び格納ボックス１６０に関する情報を受信したか否かを判別する処理を実行する。このとき、変更部９７０は、第１データ通信回路１９４ａがこれらの情報を受信したと判別すると、これらの情報を第１データ通信回路１９４ａから取得し、不図示の予定テーブル及び不図示の格納ボックステーブルに保存された情報を、取得されたこれらの情報に変更する。その後、ステップＳ７１から上記処理が繰り返される。
【０３２１】
＜実施例の変形例１８＞
本実施例の変形例１７に係る制御装置５００のＣＰＵ５０１は、選択部５５０及び格納制御部５６０として機能し、本実施例の変形例１７に係る第１移動体１００のＣＰＵ１９１は、移動制御部９４０として機能すると説明した。また、本実施例の変形例１７に係る第２移動体２００の不図示のＣＰＵは、本実施例の変形例１７に係る第１移動体１００のＣＰＵ１９１と同様に機能すると説明した。
【０３２２】
しかし、これらに限定される訳では無く、制御装置５００のＣＰＵ５０１は、選択部５５０として機能し、本実施例の変形例１７に係る第１移動体１００のＣＰＵ１９１は、移動制御部９４０及び格納制御部９６０として機能しても良い。また、第２移動体２００の不図示のＣＰＵは、第１移動体１００のＣＰＵ１９１と同様に、不図示の移動制御部及び格納制御部として機能しても良い。
【０３２３】
しかし、これらに限定される訳では無く、制御装置５００のＣＰＵ５０１は、格納制御部５６０として機能し、本実施例の変形例１７に係る第１移動体１００のＣＰＵ１９１は、移動制御部９４０及び選択部９５０として機能しても良い。また、第２移動体２００の不図示のＣＰＵは、第１移動体１００のＣＰＵ１９１と同様に、不図示の移動制御部及び選択部として機能しても良い。
【０３２４】
本実施例及び本実施例の変形例１から１８は、互いにそれぞれ組み合わせることができる。本実施例及び本実施例の変形例１から１５、１７、及び、１８のいずれかに係る機能を実現するための構成を備えた制御装置５００、本実施例及び本実施例の変形例１から１８に係る機能を実現するための構成を備えた制御装置１９０、本実施例及び本実施例の変形例１から９及び１２から１８に係る機能を実現するための構成を備えた制御装置２９０、並びに、本実施例の変形例１０及び１１に係る機能を実現するための構成を備えた制御装置３１０として提供できることはもとより、複数の装置で構成されるシステムであって、本実施例及び本実施例の変形例１から１８のいずれかに係る機能を実現するための構成をシステム全体として備えたシステムとして提供することもできる。
【０３２５】
また、プログラムの適用により、既存の制御装置を本実施例及び本実施例の変形例１から１５、１７、及び、１８のいずれかに係る制御装置５００としてそれぞれ機能させることもできる。すなわち、本実施例及び本実施例の変形例１から１５、１７、及び、１８のいずれかで例示した制御装置５００による各機能構成を実現させるためのプログラムを、既存の制御装置を制御するコンピュータ（ＣＰＵなど）が実行できるように適用することで、本実施例及び本実施例の変形例１から１５、１７、及び、１８のいずれかに係る制御装置５００としてそれぞれ機能させることができる。
【０３２６】
さらに、プログラムの適用により、既存の制御装置を本実施例及び本実施例の変形例１から１８に係る制御装置１９０として機能させることもできる。すなわち、本実施例及び本実施例の変形例１から１８で例示した制御装置１９０による各機能構成を実現させるためのプログラムを、既存の制御装置を制御するコンピュータ（ＣＰＵなど）が実行できるように適用することで、本実施例及び本実施例の変形例１から１８に係る制御装置１９０として機能させることができる。
【０３２７】
またさらに、プログラムの適用により、既存の制御装置を本実施例及び本実施例の変形例１から９及び１２から１８に係る制御装置２９０として機能させることもできる。すなわち、本実施例及び本実施例の変形例１から９及び１２から１８で例示した制御装置２９０による各機能構成を実現させるためのプログラムを、既存の制御装置を制御するコンピュータ（ＣＰＵなど）が実行できるように適用することで、本実施例及び本実施例の変形例１から９及び１２から１８に係る制御装置２９０として機能させることができる。
【０３２８】
さらに、プログラムの適用により、既存の制御装置を本実施例の変形例１０及び１１に係る制御装置３１０として機能させることもできる。すなわち、本実施例の変形例１０及び１１で例示した制御装置３１０による各機能構成を実現させるためのプログラムを、既存の制御装置を制御するコンピュータ（ＣＰＵなど）が実行できるように適用することで、本実施例の変形例１０及び１１に係る制御装置３１０として機能させることができる。
【０３２９】
このようなプログラムの配布方法は任意であり、例えば、メモリカード、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、又はＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）などの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。
【０３３０】
本発明に係る方法は、本実施例及び本実施例の変形例１から１８のいずれかに係る配達システム１を用いて実施できる。また、本発明に係る方法は、本実施例及び本実施例の変形例１から１５のいずれかに係る制御装置５００、及び、本実施例の変形例１６に係る第１移動体１００の制御装置１９０及び第２移動体２００の制御装置２９０を用いて実施できる。
【０３３１】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【０３３２】
（付記）
（付記１）
第１物品及び第２物品が受け取られる受取場所に、前記第１物品を格納した第１移動体が滞在する間に、前記第２物品を格納した第２移動体が前記受取場所に到着すると、前記第１移動体と前記第２移動体のいずれか一方を、前記第１物品と前記第２物品とを格納して前記受取場所に残留する残留移動体として選択し、他方を、前記受取場所から退去する退去移動体として選択する選択部と、
選択された前記退去移動体が格納している前記第１物品又は前記第２物品を、前記退去移動体から前記残留移動体に積み替えられる積替物品と特定し、特定された前記積替物品を前記残留移動体に格納させる格納制御部と、
前記残留移動体に前記積替物品が格納されると、前記退去移動体を前記受取場所から退去させる移動制御部と、を備える、
制御装置。
【０３３３】
（付記２）
前記第１移動体を識別する識別情報と、前記受取場所を前記第１移動体が退去する予定の時刻である退去予定時刻と、を対応付けて取得し、かつ
前記第２移動体を識別する識別情報と、前記受取場所を前記第２移動体が退去する予定の時刻である退去予定時刻と、を対応付けて取得する取得部、をさらに備え、
前記選択部は、
前記第１移動体の前記識別情報と対応付けられた前記退去予定時刻が、前記第２移動体の前記識別情報と対応付けられた前記退去予定時刻よりも遅い場合に、前記第１移動体を前記残留移動体として選択し、かつ、前記第２移動体を前記退去移動体として選択し、
前記第１移動体の前記識別情報と対応付けられた前記退去予定時刻が、前記第２移動体の前記識別情報と対応付けられた前記退去予定時刻よりも早い場合に、前記第１移動体を前記退去移動体として選択し、かつ、前記第２移動体を前記残留移動体として選択する、
付記１に記載の制御装置。
【０３３４】
（付記３）
前記移動制御部は、
前記第１移動体が前記受取場所に到着すると、前記第１移動体を前記受取場所に滞在させ、
前記第２移動体が前記受取場所に到着すると、前記第２移動体を前記受取場所に滞在させ、かつ、
前記第２移動体が前記残留移動体として選択され、前記退去移動体として選択された前記第１移動体に格納された前記第１物品が前記積替物品と特定され、かつ、前記積替物品が前記第２移動体に格納されると、前記第１移動体の前記識別情報に対応付けて取得された前記退去予定時刻よりも早い時刻に、前記第１移動体に前記受取場所を退去させる、
付記２に記載の制御装置。
【０３３５】
（付記４）
前記移動制御部は、前記第１移動体が前記残留移動体として選択され、前記退去移動体として選択された前記第２移動体に格納された前記第２物品が前記積替物品と特定され、かつ、前記積替物品が前記第１移動体に格納されると、前記第２移動体の前記識別情報に対応付けて取得された前記退去予定時刻よりも早い時刻に、前記第２移動体に前記受取場所を退去させる、
付記３に記載の制御装置。
【０３３６】
（付記５）
前記第１移動体は、第３物品をさらに格納して前記受取場所である第１受取場所に到着し、
前記第２移動体は、第４物品をさらに格納して前記第１受取場所に到着し、
前記取得部は、
前記第１移動体の前記識別情報と、前記第３物品及び前記第４物品が受け取られる第２受取場所を識別する識別情報と、前記第１移動体の前記第２受取場所への到着予定時刻と、前記第１移動体の前記第２受取場所からの退去予定時刻と、を対応付けてさらに取得し、
前記第２移動体の前記識別情報と、前記第２受取場所の前記識別情報と、前記第２移動体の前記第２受取場所への到着予定時刻と、前記第２移動体の前記第２受取場所からの退去予定時刻と、を対応付けてさらに取得し、
前記格納制御部は、前記第１移動体の前記識別情報と前記第２受取場所の前記識別情報とに対応付けられた前記到着予定時刻から前記退去予定時刻までの期間である、前記第１移動体の前記第２受取場所に対する滞在予定期間が、前記第２移動体の前記識別情報と前記第２受取場所の前記識別情報とに対応付けられた前記到着予定時刻から前記退去予定時刻までの期間である、前記第２移動体の前記第２受取場所に対する滞在予定期間を包含する場合に、前記第２移動体に格納されている前記第４物品を前記積替物品と特定し、特定された前記積替物品を前記第１受取場所で、前記第１移動体へ格納させ、
前記移動制御部は、
前記第３物品が格納された前記第１移動体へ前記積替物品である前記第４物品が格納された後に、前記第３物品及び前記第４物品が受け取られる前記第２受取場所へ前記第１移動体を移動させる、
付記２から４のいずれか一つに記載の制御装置。
【０３３７】
（付記６）
前記格納制御部は、前記第２移動体の前記第２受取場所に対する前記滞在予定期間が、前記第１移動体の前記第２受取場所に対する前記滞在予定期間を包含する場合に、前記第１移動体に格納されている前記第３物品を前記積替物品と特定し、特定された前記積替物品を前記第１受取場所で、前記第２移動体へ格納させ、
前記移動制御部は、前記第４物品が格納された前記第２移動体へ前記積替物品である前記第３物品が格納された後に、前記第３物品及び前記第４物品が受け取られる前記第２受取場所へ前記第２移動体を移動させる、
付記５に記載の制御装置。
【０３３８】
（付記７）
前記第１移動体が前記残留移動体として選択され、かつ、前記退去移動体として選択された前記第２移動体から前記第１移動体に前記積替物品と特定された前記第２物品が格納されると、前記第２物品の受取期間が終了する時刻が、前記第１移動体の前記識別情報に対応付けられた前記退去予定時刻まで延長されたことを知らせる通知を出力し、かつ、
前記第２移動体が前記残留移動体として選択され、かつ、前記退去移動体として選択された前記第１移動体から前記第２移動体に前記積替物品と特定された前記第１物品が格納されると、前記第１物品の受取期間が終了する時刻が、前記第２移動体の前記識別情報に対応付けられた前記退去予定時刻まで延長されたことを知らせる通知を出力する通知部、をさらに備える、
付記２から６のいずれか一つに記載の制御装置。
【０３３９】
（付記８）
前記第１移動体及び前記第２移動体のいずれか１つ以上は、走行して移動する走行体、又は、空中を飛行して移動する飛行体である、
付記１から７のいずれか一つに記載の制御装置。
【０３４０】
（付記９）
前記第１移動体及び前記第２移動体のいずれか１つ以上は、無人機である、
付記１から８のいずれか一つに記載の制御装置。
【０３４１】
（付記１０）
物品を格納可能な移動体であって、
第１物品及び第２物品が受け取られる受取場所に、前記移動体であって、かつ、前記第１物品を格納した第１移動体が滞在する間に、前記第１移動体と異なる移動体であって、かつ、前記第２物品を格納した第２移動体が前記受取場所に到着すると、又は、前記第２移動体が滞在している間に前記第１移動体が前記受取場所に到着すると、前記第１移動体と前記第２移動体のいずれか一方を、前記第１物品と前記第２物品とを格納して前記受取場所に残留する残留移動体として選択し、他方を、前記受取場所から退去する退去移動体として選択する選択部と、
選択された前記退去移動体が格納している前記第１物品又は前記第２物品を、前記退去移動体から前記残留移動体に積み替えられる積替物品と特定し、特定された前記積替物品を前記残留移動体に格納させる格納制御部と、
前記残留移動体に前記積替物品が格納されると、前記退去移動体を前記受取場所から退去させる移動制御部と、を備える、
移動体。
【０３４２】
（付記１１）
物品を格納可能な第１移動体及び第２移動体と、
第１物品及び第２物品が受け取られる受取場所に、前記第１物品を格納した前記第１移動体が滞在する間に、前記第２物品を格納した前記第２移動体が前記受取場所に到着すると、前記第１移動体と前記第２移動体のいずれか一方を、前記第１物品と前記第２物品とを格納して前記受取場所に残留する残留移動体として選択し、他方を、前記受取場所から退去する退去移動体として選択する選択部と、
選択された前記退去移動体が格納している前記第１物品又は前記第２物品を、前記退去移動体から前記残留移動体に積み替えられる積替物品と特定し、特定された前記積替物品を前記残留移動体に格納させる格納制御部と、
前記残留移動体に前記積替物品が格納されると、前記退去移動体を前記受取場所から退去させる移動制御部と、
を含む制御装置と、を備える、
システム。
【０３４３】
（付記１２）
１又は複数のコンピュータが、
第１物品及び第２物品が受け取られる受取場所に、前記第１物品を格納した第１移動体が滞在する間に、前記第２物品を格納した第２移動体が前記受取場所に到着すると、前記第１移動体と前記第２移動体のいずれか一方を、前記第１物品と前記第２物品とを格納して前記受取場所に残留する残留移動体として選択し、他方を、前記受取場所から退去する退去移動体として選択すること、
選択された前記退去移動体が格納している前記第１物品又は前記第２物品を、前記退去移動体から前記残留移動体に積み替えられる積替物品と特定し、特定された前記積替物品を前記残留移動体に格納させること、及び、
前記残留移動体に前記積替物品が格納されると、前記退去移動体を前記受取場所から退去させること、を含む、
方法。
【符号の説明】
【０３４４】
１：配達システム
１００：第１移動体
１１０：車台
１１１、１１２：車輪
１１９、１５０、１８１、１８２、３５１：撮像装置
１４０：ロボットアーム
１４１：グリッパー
１４２：アーム
１６０、２６０、３６０：格納ボックス
１６１：箱体
１６１ａ：背板
１６１ｂ：底板
１６１ｃ：天板
１６１ｄ、１６１ｅ：側板
１６２、２６２：扉
１６２ａ：突出部
１６２ｂ：デッドボルト
１６２ｃ：上面
１６２ｄ：底面
１６３：扉枠
１６３ａ：軸穴
１６４：スライド板
１６５：伸縮機構
１７０、２７０、３７０：ロッカー装置
１９０、２９０、３１０、５００：制御装置
１９１、５０１：ＣＰＵ
１９２、５０２：ＲＡＭ
１９３ａ、５０３ａ：ＲＯＭ
１９３ｂ：フラッシュメモリ
１９４ａ：第１データ通信回路
１９４ｂ：第２データ通信回路
１９５：タッチスクリーン
１９５ａ、５０５ａ：ビデオカード
１９５ｂ、５０５ｂ：表示装置
１９５ｃ、５０５ｃ：入力装置
１９６：ＧＰＳ回路
１９８：入出力ポート
１９９：駆動回路
２００、３００：第２移動体
３２１から３２４：プロペラアーム
３３１から３３４：プロペラ
３４３：支持脚
９０１から９０５：携帯端末
５０３ｂ：ハードディスク
５０４ａ：データ通信回路
５１０：取得部
５２０：保存部
５３０：予定生成部
５４０、９４０：移動制御部
５５０、９５０：選択部
５６０、９６０：格納制御部
５７０、９７０：変更部
５８０、９８０：通知部
５９０、９９０：情報記憶部
ＩＮ：インターネット
【図１】
0006945752.tif 000002
【図２】
0006945752.tif 000003
【図３Ａ】
0006945752.tif 000004
【図３Ｂ】
0006945752.tif 000005
【図３Ｃ】
0006945752.tif 000006
【図３Ｄ】
0006945752.tif 000007
【図３Ｅ】
0006945752.tif 000008
【図３Ｆ】
0006945752.tif 000009
【図４】
0006945752.tif 000010
【図５】
0006945752.tif 000011
【図６】
0006945752.tif 000012
【図７】
0006945752.tif 000013
【図８】
0006945752.tif 000014
【図９】
0006945752.tif 000015
【図１０】
0006945752.tif 000016
【図１１】
0006945752.tif 000017
【図１２】
0006945752.tif 000018
【図１３】
0006945752.tif 000019
【図１４】
0006945752.tif 000020
【図１５】
0006945752.tif 000021
【図１６】
0006945752.tif 000022
【図１７】
0006945752.tif 000023
【図１８】
0006945752.tif 000024
【図１９】
0006945752.tif 000025
【図２０】
0006945752.tif 000026
【図２１】
0006945752.tif 000027
【図２２】
0006945752.tif 000028
【図２３】
0006945752.tif 000029
【図２４】
0006945752.tif 000030
【図２５】
0006945752.tif 000031
【図２６】
0006945752.tif 000032
【図２７】
0006945752.tif 000033