<実施例1>
以下、本発明の実施例1について添付図面を参照しつつ説明する。
本発明の実施例1に係る情報処理システム1は、商品を購入するユーザによって携帯される、図1に示すような情報処理装置100と、ユーザによって指定された指定場所まで、購入された商品を運搬させる制御を、ユーザが所有する移動機900に行う情報処理装置200と、を備える。このように、本実施例では、情報処理システム1は、移動機900を備えないが、移動機900を制御する情報処理装置200を備えている。
また、情報処理システム1は、商品を販売する販売店SH1に設置され、かつ、販売店SH1で販売される商品の在庫を管理する情報処理装置310と、販売店SH2に設置され、かつ、販売店SH2で販売される商品の在庫を管理する情報処理装置320と、を備える。
さらに、情報処理システム1は、販売店SH2で販売された商品を、移動機900が当該商品を受け取る受取場所まで販売店SH2から運搬させるために、販売店SH2の従業員が使用する移動機400をさらに備える。販売店SH1の従業員は、販売店SH1で販売された商品を運搬させるために移動機を使用しないため、情報処理システム1が備える情報処理装置200は、販売店SH1で販売された商品を販売店SH1で受け取らせる制御を移動機900に行う。
ユーザの情報処理装置100は、スマートフォンであり、図2に示すような、ハードウェアであるCPU(Central Processing Unit)101、RAM(Random Access Memory)102、ROM(Read Only Memory)103a、フラッシュメモリ103b、短距離無線通信回路104a、長距離無線通信回路104b、音声通信回路104c、ビデオカード105a、表示装置105b、入力装置105c、位置計測回路106、スピーカ109a、及び、マイクロフォン109bを備える。本実施例では、情報処理装置100は、1つのCPU101を備えるが、複数のCPUを備えても良い。また、情報処理装置100は、複数のRAM及びフラッシュメモリを備えても良い。
情報処理装置100のCPU101は、ROM103a又はフラッシュメモリ103bに保存されたプログラムを実行することで、情報処理装置100の全体制御を行う。RAM102は、CPU101によるプログラムの実行時において、処理対象とされるデータを一時的に記憶する。
情報処理装置100のROM103a及びフラッシュメモリ103bは、各種のプログラムを記憶している。また、フラッシュメモリ103bは、プログラムの実行に用いられる各種のデータやデータが保存されたテーブルをさらに記憶している。情報処理装置100は、フラッシュメモリ103bの代わりに、ハードディスクを備えても良い。
情報処理装置100の短距離無線通信回路104aは、NIC(Network Interface Card)であり、例えば、BLE(Bluetooth(登録商標) Low Energy)といった通信規格に従って、数メートルから数十メートルの近距離で電波を用いたデータ通信を行う。長距離無線通信回路104bは、NICであり、例えば、LTE(Long Term Evolution)及び5G(5th Generation)といった通信規格に従って、インターネットINに接続された不図示の基地局と、数キロメートルの長距離で電波を用いたデータ通信を行う。このようにして、情報処理装置100の長距離無線通信回路104bは、インターネットINに接続された情報処理装置200、310、及び、320、並びに、移動機400及び900とデータ通信を行う。音声通信回路104cは、不図示の基地局と電波を用いた音声通信を行う。
情報処理装置100のビデオカード105aは、CPU101から出力されたデジタル信号に基づいて画像をレンダリングすると共に、レンダリングされた画像を表す画像信号を出力する。表示装置105bは、EL(Electroluminescence)ディスプレイであり、ビデオカード105aから出力された画像信号に従って画像を表示する。情報処理装置100は、ELディスプレイの代わりに、PDP(Plasma Display Panel)又はLCD(Liquid Crystal Display)を備えても良い。入力装置105cは、タッチパッド及びボタンのいずれか1つ以上であり、ユーザの操作に応じた信号を入力する。
情報処理装置100の位置計測回路106は、QZSS(Quasi-Zenith Satellite System)回路である。位置計測回路106は、準天頂衛星から発せられた信号を受信し、受信された信号に基づいて情報処理装置100の位置を表す緯度、経度、及び、高度を計測し、計測された緯度、経度、及び、高度を表す信号を出力する。情報処理装置100は、QZSS回路ではなく、GPS(Global Positioning System)衛星から発せられたGPS信号を受信し、受信されたGPS信号に基づいて情報処理装置100の位置を表す緯度、経度、及び、高度を計測するGPS回路であっても良い。
情報処理装置100のスピーカ109aは、CPU101が出力する信号に従って音声を出力し、マイクロフォン109bは、情報処理装置100の周囲の音声を表す信号を出力する。
情報処理装置100を携帯するユーザは、購入する商品を運搬させる移動機900と、情報処理装置100の短距離無線通信回路104aと、が通信できる位置に移動した後に、商品を購入するための操作を情報処理装置100に行う。情報処理装置100の入力装置105cが当該操作に応じた信号を出力すると、情報処理装置100のCPU101は、図3に示すような購入処理の実行を開始する。
購入処理の実行が開始されると、情報処理装置100のCPU101は、移動機900とペアリングさせる制御を、情報処理装置100の短距離無線通信回路104aに行う(ステップS01)。その後、CPU101は、移動機900に関する情報の送信を求める送信要求を、移動機900を宛先として短距離無線通信回路104aへ出力する。
本実施例では、移動機900に関する情報は、移動機900を識別する機体ID(Identification)「900」、移動機900の機体性能を表す性能情報、移動機900の位置を緯度、経度、及び、高度で表す位置情報、並びに、移動機900に割り当てられた通信アドレスと、を含む。また、移動機900の機体性能は、移動機900の移動性能を含む。さらに、移動機900は、無人地上車両であり、移動機900の移動性能は、移動機900の走行性能を含み、移動機900の走行性能は、移動機900が達成可能な走行速度で表される。本実施例において、移動機900の走行性能は、移動機900の最高走行速度で表されるが、これに限定される訳ではなく、移動機900の平均走行速度で表されても良い。
情報処理装置100の短距離無線通信回路104aが移動機900に関する情報を移動機900から受信すると、情報処理装置100のCPU101は、短距離無線通信回路104aから当該情報を取得する。その後、CPU101は、取得された情報から、ペアリングが成立することによってユーザの情報処理装置100と関連付けられた移動機900の機体ID「900」、性能情報、位置情報、及び、通信アドレスを取得する(ステップS02)。
本実施例では、情報処理装置100と関連付けられた移動機900は、情報処理装置100を介して、情報処理装置100を携帯するユーザとも関連付けられている。このため、以下、移動機900を、ユーザに関連付けられた移動機900と称する。
本実施例では、情報処理装置100と移動機900とでペアリングが成立するとは、情報処理装置100と移動機900とで通信に用いられる暗号鍵を互に交換することを意味するが、これに限定される訳ではなく、暗号鍵の交換と保存とを意味しても良い。このため、本実施例では、情報処理装置100と移動機900との間でペアリングが成立している場合、情報処理装置100は、通信する情報の内容を第三者に知られることを防止しながら、移動機900から上述したように各種情報を取得することができる。さらに、情報処理装置100と移動機900との間でペアリングが成立している場合、情報処理装置100は、制御内容を第三者に知られることを防止しながら、制御命令を移動機900へ送信することで、例えば、移動を含む移動機900の動作又は状態を制御しても良い。この場合、移動機900は、制御命令を受信すると、当該制御命令に従って動作しても良いし、又は、状態を変更しても良い。
ステップS02を実行した後、情報処理装置100のCPU101は、ユーザを識別するユーザIDと、当該ユーザが予め設定したパスワードと、を含む認証情報の入力を促すメッセージを、表示装置105bに表示させる。当該メッセージを視認したユーザが情報処理装置100の入力装置105cを操作すると、入力装置105cは、当該の操作に応じた信号を出力する。情報処理装置100のCPU101は、当該信号に基づいて当該ユーザの認証情報を取得する(ステップS03)。次に、CPU101は、取得された認証情報を含み、ユーザの認証を求める認証要求を、情報処理装置200を宛先として長距離無線通信回路104bへ出力する(ステップS04)。
情報処理装置100の長距離無線通信回路104bが認証要求を情報処理装置200へ送信してから予め定められた時間が経過しても認証が成功したことを告げる成功報告を長距離無線通信回路104bが情報処理装置200から受信しないと、情報処理装置100のCPU101は、認証が失敗したと判別する(ステップS05;No)。その後、CPU101は、認証が失敗した旨のメッセージを表示装置105bに表示させてから、購入処理の実行を終了する。
これに対して、情報処理装置100の長距離無線通信回路104bが認証要求を送信してから予め定められた時間が経過する以前に成功報告が受信されると、情報処理装置100のCPU101は、認証が成功したと判別する(ステップS05;Yes)。
次に、情報処理装置100のCPU101は、購入可能な商品(以下、購入可能商品という)に係る商品情報の一覧が記載されたウェブページである一覧頁の送信を求める送信要求を生成する。その後、CPU101は、生成された送信要求を、情報処理装置200を宛先として長距離無線通信回路104bへ出力する(ステップS06)。本実施例では、購入可能商品に係る商品情報は、購入可能商品の種類を表す品番であるが、これに限定される訳ではなく、購入可能商品の種類の名称を表す情報、又は、品番を表す情報と名称を表す情報との組み合わせでも良い。
情報処理装置100の長距離無線通信回路104bが、商品情報の一覧頁を情報処理装置200から受信すると、情報処理装置100のCPU101は、長距離無線通信回路104bから当該一覧頁を取得し、取得された一覧頁を、表示装置105bに表示させる(ステップS07)。
一覧頁を視認したユーザは、一覧頁に記載された1又は複数の商品情報から、購入を検討する商品に係る商品情報を1つ選択する操作を情報処理装置100に行う。情報処理装置100の入力装置105cが当該操作に応じた信号を出力すると、情報処理装置100のCPU101は、当該信号に基づいて選択された商品情報を取得する(ステップS08)。
その後、情報処理装置100のCPU101は、ユーザによって選択された商品情報に係る商品(以下、選択商品という)の説明が記載されたウェブページである商品頁の送信を求める送信要求を生成する。商品頁には、選択商品の説明だけでなく、選択商品を当該ユーザによって予め指定された指定場所まで、当該ユーザに関連付けられた移動機900が運搬するのに要する所要時間も記載されている。
このため、情報処理装置100のCPU101は、生成された送信要求に、ユーザを識別するユーザIDと、当該ユーザによって選択された商品情報と、当該ユーザと関連付けられた移動機900の機体ID「900」、性能情報、位置情報、及び、通信アドレスと、を、互いに対応付けて追加してから、情報処理装置200を宛先として長距離無線通信回路104bへ出力する(ステップS09)。
情報処理装置100の長距離無線通信回路104bが、所要時間が記載された商品頁を情報処理装置200から受信すると、情報処理装置100のCPU101は、長距離無線通信回路104bから当該商品頁を取得する。次に、CPU101は、取得された商品頁を表示装置105bに表示させることで(ステップS10)、商品頁に記載された所要時間をユーザに通知する。
商品頁に記載された選択商品の説明及び所要時間を視認したユーザは、所要時間を承認しない、又は、選択商品の購入を決定しないと、一覧頁を再表示させるための操作(以下、再表示操作という)を情報処理装置100に行う。これに対して、ユーザは、所要時間を承認し、かつ、選択商品の購入を決定すると、承認及び購入のための操作(以下単に、購入操作という)を情報処理装置100に行う。本実施例では、説明を簡単にするため、ユーザは、選択商品を1つ購入すると説明するが、これに限定される訳ではない。
情報処理装置100の入力装置105cが再表示操作に応じた信号を出力すると、CPU101は、所要時間が承認されなかった、又は、選択商品の購入が決定されなかったと判別する(ステップS11;No)。その後、CPU101は、ステップS06から上記処理を繰り返すことで、一覧頁を再表示させる。
これに対して、情報処理装置100の入力装置105cが購入操作に応じた信号を出力すると、CPU101は、所要時間が承認され、かつ、選択商品の購入が決定されたと判別する(ステップS11;Yes)。その後、CPU101は、所要時間が承認されたことを告げる報告であり、かつ、選択商品の販売を求める要求でもある販売要求を、情報処理装置200を宛先として長距離無線通信回路104bへ出力してから(ステップS12)、購入処理の実行を終了する。
情報処理装置100から販売要求を受信する情報処理装置200は、サーバ機であり、商品の販売を仲介する仲介業者の営業所BOに設置されている。情報処理装置200は、ハードウェアである、図4に示すようなCPU201、RAM202、ROM203a、ハードディスク203b、データ通信回路204a、ビデオカード205a、表示装置205b、及び、入力装置205cを備える。本実施例では、情報処理装置200は、1つのCPU201を備えるが、複数のCPUを備えても良い。また、情報処理装置200は、複数のRAM及びフラッシュメモリを備えても良い。
情報処理装置200が備えるCPU201、RAM202、ROM203a、データ通信回路204a、ビデオカード205a、及び、表示装置205bの構成及び機能は、図2に示した情報処理装置100が備えるCPU101、RAM102、ROM103a、長距離無線通信回路104b、ビデオカード105a、及び、表示装置105bの構成及び機能と同様である。
情報処理装置200のハードディスク203bは、各種のプログラムと、各種のプログラムの実行に用いられる各種のデータ及びデータが保存されたテーブルと、を記憶している。情報処理装置200は、ハードディスク203bの代わりに、フラッシュメモリを備えても良い。
情報処理装置200の入力装置205cは、キーボード、マウス、タッチパッド、及び、ボタンのいずれか1つ以上であり、販売仲介業者の従業員の操作に応じた信号を入力する。
情報処理装置200のデータ通信回路204aが認証要求を情報処理装置100から受信すると、情報処理装置200のCPU201は、認証要求に基づいて、情報処理装置100を操作するユーザを認証し、認証が成功すると商品の販売を仲介する、図5に示すような販売仲介処理を実行する。これにより、CPU201は、認証要求から認証情報を取得する、図6に示すような取得部210、及び、取得された認証情報に基づいて認証を行う認証部220として機能する。
また、情報処理装置200のCPU201は、ユーザが購入可能な商品であり、かつ、ユーザによって選択された選択商品に係る商品情報と、当該ユーザに関連付けられた移動機900の機体性能を表す性能情報と、を含む送信要求を受け付ける受付部230として機能する。
本実施例では、情報処理装置200が行う受付は、受信された情報をデータ通信回路204aから得ることを意味する。また、情報処理装置200が行う取得は、受付と異なる方法で情報を得ることを意味し、例えば、受け付けられた情報に含まれる情報を得ること、ハードディスク203bが記憶する情報を得ること、及び、入力装置205cから出力される信号に基づいて情報を得ることを含む。
さらに、情報処理装置200のCPU201は、受け付けられた商品情報に係る選択商品を移動機900がユーザによって予め指定された指定場所へ運搬するのに要する所要時間の特定を、受け付けられた送信要求に含まれる性能情報に基づいて行う特定部240として機能する。またさらに、CPU201は、特定された所要時間をユーザに通知する通知部250として機能する。また、CPU201は、選択商品の販売を求める販売要求がデータ通信回路204aによって受信されると、特定された所要時間で、選択商品を指定場所へ運搬させる制御を移動機900に行う制御部260として機能する。
情報処理装置200のハードディスク203bは、販売仲介処理の実行に用いられる情報を記憶する情報記憶部290として機能する。情報記憶部290は、ユーザに関する情報が予め保存されている、図7に示すようなユーザテーブルを予め記憶している。ユーザテーブルには、複数のレコードが予め保存されており、各レコードには、ユーザを識別するユーザIDと、当該ユーザによって予め設定されたパスワードを表す情報、及び、指定場所を住所で表す情報と、が対応付けられて予め保存されている。
また、情報処理装置200の情報記憶部290は、商品を販売する販売店SH1及びSH2に関する情報が予め保存されている、図8に示すような販売店テーブルを予め記憶している。販売店テーブルには、複数のレコードが予め保存されている。本実施例では、説明を簡単にするために、1番目のレコードには、販売店SH1を識別する販売店ID「SH1」と、販売店SH1の位置を住所で表す情報と、販売店SH1の従業員が使用する移動機がないことを表す文字列「NULL」と、販売店SH1の従業員が商品を移動機900に積み込むのに要する積込時間を表す情報と、が対応付けられて予め保存されている場合を具体例として挙げて以下の説明を行う。
本実施例において、販売店SH1の積込時間は、販売店SH1の従業員が過去に商品を移動機900に積み込むのに要した時間の平均値である。しかし、積込時間は、これに限定される訳ではなく、過去に商品を移動機900に積み込むのに要した時間の最大値であっても良く、好適な値は、当業者が実験により定めることができる。
また、本実施例では、販売店テーブルの2番目のレコードには、販売店SH2を識別する販売店ID「SH2」と、販売店SH2の位置を住所で表す情報と、販売店SH2の従業員が使用する移動機400の機体ID「400」と、移動機400の機体性能を表す性能情報と、販売店SH2の従業員が商品を移動機400に積み込むのに要する積込時間を表す情報と、が対応付けられて予め保存されている。
本実施例において、販売店SH2の積込時間は、販売店SH2の従業員が過去に商品を移動機400に積み込むのに要した時間の平均値である。しかし、積込時間は、これに限定される訳ではなく、過去に商品を移動機400に積み込むのに要した時間の最大値であっても良く、好適な値は、当業者が実験により定めることができる。
また、情報処理装置200の情報記憶部290は、販売店SH1及びSH2が販売する商品に関する情報が予め保存されている、図9に示すような商品テーブルを予め記憶している。商品テーブルには、複数のレコードが予め保存されており、各レコードには、商品に係る商品情報と、当該商品を販売する販売店SH1又はSH2を識別する販売店ID「SH1」又は「SH2」と、当該商品の在庫が販売店SH1又はSH2にあるか否かを表す在庫フラグと、が対応付けられて予め保存されている。
図5の販売仲介処理の実行が開始されると、情報処理装置200の受付部230は、情報処理装置100から受信された認証要求を受け付ける。次に、取得部210は、受け付けられた認証要求から認証情報を取得する(ステップS21)。次に、取得部210は、図7のユーザテーブルから、認証情報に含まれるユーザIDと対応付けられたパスワードを表す情報を取得する。その後、認証部220は、ユーザテーブルから取得された情報で表されるパスワードと、認証情報に含まれる情報で表されるパスワードと、が一致しないと判別すると、ユーザ認証が失敗したと判別し(ステップS22;No)、販売仲介処理の実行を終了する。
これに対して、情報処理装置200の認証部220は、これらのパスワードが一致すると判別すると、ユーザ認証が成功したと判別し(ステップS22;Yes)、認証が成功したことを告げる成功報告を、情報処理装置100を宛先としてデータ通信回路204aへ出力する(ステップS23)。
その後、情報処理装置200のデータ通信回路204aが一覧頁の送信要求を受信すると、情報処理装置200の受付部230は、受信された送信要求を受け付ける(ステップS24)。次に、情報処理装置200の取得部210は、図9の商品テーブルから、在庫があることを表す在庫フラグと対応付けられた1又は複数の商品情報を取得する(ステップS25)。在庫がある商品は、ユーザが購入可能な商品であるため、特定部240は、取得された1又は複数の商品情報の一覧が記載された一覧頁を生成する。次に、特定部240は、生成された一覧頁を、情報処理装置100を宛先としてデータ通信回路204aへ出力する(ステップS26)。
その後、一覧頁を視認したユーザによって選択された商品情報に係る商品である選択商品の商品頁を送信するように求める送信要求を、情報処理装置200のデータ通信回路204aが受信すると、受付部230は、受信された送信要求を受け付ける(ステップS27)。次に、情報処理装置200は、送信が求められた商品頁を生成する、図10に示すような商品頁生成処理を実行する(ステップS28)。
商品頁生成処理の実行が開始されると、情報処理装置200の特定部240は、受け付けられた送信要求から、ユーザによって選択された商品情報を取得し(ステップS41)、図9の商品テーブルから、取得された商品情報と、在庫があることを表す在庫フラグと、に対応付けられた1つ以上の販売店IDを抽出する(ステップS42)。これにより、選択商品の在庫があるため、選択商品を販売可能な販売店の販売店IDが抽出される。
その後、情報処理装置200の特定部240は、抽出された1つ以上の販売店IDの内で、未注目の販売店IDがあると判別すると(ステップS43;Yes)、未注目の販売店IDの1つに注目する(ステップS44)。本実施例では、説明を簡単にするため、販売店SH1を識別する販売店ID「SH1」について注目された場合を具体例として挙げて以下の説明を行う。
その後、情報処理装置200は、注目された販売店ID(以下、注目販売店IDという)「SH1」で識別される販売店(以下、注目販売店という)SH1で販売される商品を、ユーザに指定された指定場所まで移動機900が運搬するのに要する所要時間を特定する、図11に示すような所要時間特定処理を実行する(ステップS45)。本実施例において、商品を指定場所まで移動機900が運搬するのに要する所要時間とは、移動機900が出発して受取場所への移動を開始してから、受取場所で受け取った商品を格納してユーザによって指定された指定場所に到着するまでの時間を意味するのであって、移動機900が受取場所を出発してから指定場所に到着するまでの時間を意味するのではない。
所要時間特定処理の実行が開始されると、情報処理装置200の取得部210は、図5のステップS27で受け付けられた送信要求から、ユーザに関連付けられた移動機900の位置を緯度、経度、及び、高度で表す位置情報と、移動機900の性能情報と、を取得する(ステップS51)。
次に、情報処理装置200の取得部210は、図8の販売店テーブルから、注目販売店ID「SH1」に対応付けられた情報であり、かつ、注目販売店SH1の位置を住所で表す位置情報を取得し(ステップS52)、取得された位置情報と情報記憶部290が予め対応付けて記憶する緯度、経度、及び、高度を表す情報を取得する。これにより、注目販売店SH1の位置を緯度、経度、及び、高度で表す位置情報が取得される。
その後、情報処理装置200の取得部210は、販売店テーブルから、注目販売店ID「SH1」に対応付けられた機体ID「NULL」を取得し(ステップS53)、取得された機体IDの値「NULL」が、注目販売店SH1の従業員によって使用される移動機がないことを表すと判別する(ステップS54;No)。その後、特定部240は、注目販売店SH1の位置を、移動機900が商品を受け取る受取場所に決定する(ステップS55)。
その後、情報処理装置200の特定部240は、例えば、道路といった移動機900が移動可能な部分ルートに関する情報が保存されている不図示の部分ルートテーブルを、情報記憶部290から読み出す。部分ルートテーブルには、複数のレコードが予め保存されており、各レコードには、部分ルートであるエッジの始点ノードの緯度、経度、及び、高度と、当該エッジの終点ノードの緯度、経度、及び、高度と、当該エッジの距離を表す情報と、が対応付けられて予め保存されている。
次に、情報処理装置200の特定部240は、移動機900の位置、複数のエッジの始点ノード及び終点ノード、並びに、受取場所の位置をそれぞれ表す緯度、経度、及び、高度を用いて、例えば、ダイクストラ法といった経路探索アルゴリズムを実行する。これにより、特定部240は、部分ルートを組み合わせることで、移動機900の位置から受取場所へ到る最短の全体のルート(以下、第1ルートという)を決定する。次に、特定部240は、第1ルートに含まれる複数のノードの位置を緯度、経度、及び、高度で表す情報と、複数のノードの到着順を表す情報と、を含み、かつ、第1ルートを表す情報を生成する。
その後、情報処理装置200の取得部210は、図5のステップS27で受け付けられた送信要求からユーザIDを取得し、図7のユーザテーブルにおいて、取得されたユーザIDに対応付けられている指定場所を住所で表す情報を取得する。次に、取得部210は、取得された情報と情報記憶部290が予め対応付けて記憶する緯度、経度、及び、高度を表す情報を取得する。これにより、指定場所を緯度、経度、及び、高度で表す位置情報が取得される。次に、情報処理装置200の特定部240は、移動機900が商品を受け取る受取場所の位置情報と、ユーザによって指定された指定場所の位置情報と、に基づいて、受取場所から指定場所に到る最短の全体ルート(以下、第2ルートという)を決定し、決定された第2ルートを表す情報を生成する。
このようにして、情報処理装置200の特定部240は、移動機900の位置から受取場所へ到る第1ルートと、受取場所から指定場所へ到る第2ルートと、を含むルートであり、かつ、商品を運搬するために移動機900が移動する移動ルートを決定する(ステップS56)。
その後、情報処理装置200の特定部240は、移動機900の位置から受取場所までの第1ルートの距離を、移動機900の性能情報で表される最高速度で除算することで、移動機900が受取場所まで移動するのに要する移動時間を特定する。
次に、情報処理装置200の取得部210は、図8の販売店テーブルから、注目販売店ID「SH1」に対応付けられた積込時間を表す情報を取得する。その後、特定部240は、受取場所からユーザによって指定された指定場所に到る第2ルートの距離と、移動機900の性能情報と、に基づいて、移動機900が受取場所から指定場所まで移動するのに要する移動時間を特定する。
次に、情報処理装置200の特定部240は、移動機900が受取場所まで移動するのに要する移動時間に、従業員が受取場所で移動機900に商品を積み込むのに要する積込時間と、移動機900が受取場所から指定場所まで移動するのに要する移動時間と、の総和を算出する。これにより、特定部240は、移動機900が出発して移動を開始してから、移動機900が受取場所で受け取った商品を運搬して指定場所に到着するまでの所要時間を特定した後に(ステップS57)、所要時間特定処理の実行を終了する。
図10のステップS45で所要時間特定処理が実行された後、情報処理装置200は、ステップS43から上記処理を繰り返す。本実施例では、説明を簡単にするため、販売店SH2を識別する販売店ID「SH2」が未注目であり、当該販売店ID「SH2」について注目された場合を具体例として挙げて以下の説明を行う。
ステップS43において、情報処理装置200の特定部240は、未注目の販売店ID「SH2」があると判別すると(ステップS43;Yes)、未注目の販売店ID「SH2」に注目する(ステップS44)。その後、情報処理装置200は、注目販売店SH2で販売される商品を指定場所まで移動機900が運搬するのに要する所要時間を特定するため、図11の所要時間特定処理を実行する(ステップS45)。
所要時間特定処理の実行が開始されると、情報処理装置200は、ステップS51からS53の処理を実行する(ステップS51からS53)。これにより、情報処理装置200は、図8の販売店テーブルから、注目販売店ID「SH2」に対応付けられた注目販売店SH2の位置情報と機体ID「400」とを取得する。その後、情報処理装置200の特定部240は、取得された機体IDの値「400」が、注目販売店SH2の従業員によって使用される移動機があること、及び、使用される当該移動機が移動機400であること、を表すと判別する(ステップS54;Yes)。
次に、情報処理装置200の取得部210は、販売店テーブルから、注目販売店ID「SH2」に対応付けられた移動機400の性能情報を取得する(ステップS58)。次に、特定部240は、移動機900及び移動機400の性能情報に基づいて、注目販売店SH2から移動機400が運搬してくる商品を移動機900が受け取る受取場所を、移動機900が出発して移動を開始してから、移動機900が受取場所で商品を受け取った商品を運搬して指定場所に到着するまでの所要時間に基づいて決定する。本実施例では、説明を簡単にするため、所要時間特定処理の実行が開始時において、移動機400は、注目販売店SH2に駐車している場合を具体例として挙げて以下の説明を行う。
本実施例では、情報処理装置200の特定部240は、所要時間が最短になる場所に受取場所を決定すると説明するが、これに限定される訳ではない。特定部240は、移動機400が運搬してきた商品を移動機900が受け取ることができる複数の受取可能場所に、所要時間が短い順に順位を付し、付された順位が予め定められた順位よりも高い1又は複数の場所から、例えば、ソフトウェア乱数に基づいて、又は、予め定められた規則に基づいて1つの場所を選択し、選択された場所を受取場所に決定しても良い。
このために、情報処理装置200の取得部210は、情報記憶部290が予め記憶する受取可能場所の位置を緯度、経度、及び、高度で表す位置情報を複数取得する。次に、特定部240は、移動機900の位置を表す緯度、経度、及び、高度と、注目販売店SH2の位置を表す緯度、経度、及び、高度と、に基づいて、移動機900の位置と注目販売店SH2の位置とを含む最小の球を表す方程式を特定する。その後、特定部240は、取得された1又は複数の位置情報の内で、当該球の表面よりも内側に位置する受取可能場所を表す位置情報を、特定された方程式に基づいて1又は複数特定する。このようにして、注目販売店SH2の位置と、移動機900の位置と、の間に位置する1又は複数の受取可能場所について位置情報がそれぞれ特定される。本実施例において、受取可能場所は、例えば、移動機400及び移動機900が停車可能な道路及び駐車場を含むが、これらに限定される訳ではない。
その後、情報処理装置200の特定部240は、取得された1又は複数の位置情報でそれぞれ表される受取可能場所の内で、未注目の場所があると判別すると(ステップS59;Yes)、未注目の場所の1つに注目する。次に、特定部240は、部分ルートテーブルを用いて、移動機900の位置から注目された場所である注目場所へ到る最短の全体ルートである第1ルートを決定し、当該第1ルートを表す情報を生成する。また、特定部240は、注目場所から指定場所に到る最短の全体ルートである第2ルートを決定し、当該第2ルートを表す情報を生成する。その後、特定部240は、第1ルートと第2ルートとを含む移動機900の移動ルートを決定する。
同様に、情報処理装置200の特定部240は、移動機400が駐車している注目販売店SH2から注目場所へ到る最短の全体ルート(以下、第3ルートという)を決定し(ステップS60)、決定された第3ルートを表す情報を生成する。
その後、情報処理装置200の特定部240は、移動機900の位置から注目場所までの第1ルートの距離と、ユーザに関連付けられた移動機900の性能情報と、に基づいて、移動機900が注目場所まで移動するのに要する移動時間を特定する。次に、特定部240は、移動機400によって商品が注目場所まで運搬されるのに要する時間を特定する。
情報処理装置200の取得部210は、図8の販売店テーブルから、注目販売店ID「SH2」に対応付けられた積込時間を表す情報を取得する。その後、特定部240は、注目販売店SH2から注目場所に到る第3ルートの距離と、注目販売店SH2の移動機400の性能情報と、に基づいて、移動機400が注目場所まで移動するのに要する移動時間を特定する。次に、特定部240は、取得された情報で表される積込時間を、移動機400が注目場所まで移動するのに要する移動時間に加算することで、商品が注目場所まで運搬されるのに要する時間を特定する。
その後、情報処理装置200の特定部240は、商品が注目場所まで運搬されるのに要する時間と、移動機900が注目場所まで移動するのに要する移動時間と、のいずれか長い方の時間を、商品が受取可能となるまでに要する時間と特定する。
その後、情報処理装置200の取得部210は、移動機400が運搬してきた商品を移動機900が受け取るのに要する受取時間を表す情報を、情報記憶部290から取得する。本実施例において、受取時間は、移動機900が過去に商品を受け取るのに要した時間の平均値である。しかし、受取時間は、これに限定される訳ではなく、移動機900が過去に商品を受け取るのに要した時間の最大値であっても良く、好適な値は、当業者が実験により、又は、移動機900及び移動機400の設計に基づいて定めることができる。
次に、情報処理装置200の特定部240は、注目場所から指定場所に到る第2ルートの距離と、移動機900の性能情報と、に基づいて、商品を受け取った移動機900が注目場所から指定場所まで移動するのに要する移動時間を特定する。
その後、情報処理装置200の特定部240は、商品が受取可能となるまでに要する時間に、受取時間と、移動機900が指定場所まで移動するのに要する移動時間と、を加算する。これにより、特定部240は、移動機900が出発して移動を開始してから、移動機900が受取場所で受け取った商品を運搬して指定場所に到着するまでの所要時間を特定する(ステップS61)。その後、情報処理装置200は、ステップS59から上記処理を繰り返す。
ステップS59において、未注目の受取可能場所がないと判別されると(ステップS59;No)、情報処理装置200の特定部240は、最短の所要時間が特定された受取可能場所を、移動機900が移動機400から商品を受け取る受取場所に決定した後に(ステップS62)、所要時間特定処理の実行を終了する。
図10のステップS45で所要時間特定処理が実行された後、情報処理装置200は、ステップS43から上記処理を繰り返す。このとき、情報処理装置200の特定部240は、未注目の販売店IDがないと判別すると(ステップS43;No)、抽出された1つ以上の販売店IDによって識別される販売店の内で、ユーザに商品を提供する1つの販売店(以下、提供販売店という)を、ステップS45で特定された1つ以上の所要時間に基づいて決定する(ステップS46)。
本実施例では、情報処理装置200の特定部240は、最も短い所要時間が特定された販売店の1つを提供販売店に決定するがこれに限定される訳ではない。特定部240は、ステップS42で抽出された1以上の販売店IDで識別される販売店に、特定された所要時間が短い順に順位を付し、付された順位が予め定められた順位よりも高い1又は複数の販売店から、例えば、ソフトウェア乱数に基づいて、又は、予め定められた規則に基づいて1つの販売店を選択し、選択された1つの販売店を提供販売店に決定しても良い。
本実施例では、説明を簡単にするため、販売店SH1がユーザに商品を提供する提供販売店に決定された場合を具体例として挙げて以下の説明を行う。
ステップS46の処理が実行された後に、情報処理装置200の取得部210は、ステップS41で取得された商品情報と情報記憶部290が予め対応付けて記憶しているウェブページであり、かつ、当該商品情報に係る商品の説明が記載された商品頁を取得する。次に、情報処理装置200の通知部250は、最も短い所要時間を表す情報を、商品頁に追加することで、ユーザに選択された選択商品の説明と所要時間とが記載された商品頁を生成する(ステップS47)。その後、通知部250は、商品頁生成処理の実行を終了する。
図5のステップS28で商品頁生成処理が実行された後、情報処理装置200の通知部250は、所要時間が記載された商品頁を、情報処理装置100を宛先としてデータ通信回路204aへ出力する(ステップS29)。これにより、通知部250は、情報処理装置100を携帯するユーザに所要時間を通知する。
その後、情報処理装置200のデータ通信回路204aが販売要求ではなく、一覧頁の送信要求を受信すると、情報処理装置200の制御部260は、所要時間が承認されなかった、又は、選択商品の販売が求められなかったと判別する(ステップS30;No)。その後、情報処理装置200は、ステップS24から上記処理を繰り返す。
これに対して、情報処理装置200のデータ通信回路204aが販売要求を受信すると、制御部260は、所要時間が承認され、かつ、選択商品の販売が求められたと判別する(ステップS30;Yes)。その後、取得部210は、ステップS27で受け付けられた送信要求から、ユーザに関連付けられた移動機900の機体ID「900」を取得する(ステップS31)。
次に、情報処理装置200の制御部260は、図10のステップS41で取得された商品情報、及び、移動機900の機体ID「900」を含み、当該商品情報に係る商品を販売し、かつ、販売された商品を当該機体ID「900」で識別される移動機900に受け渡すことを求める要求(以下単に、受渡要求という)を生成する。その後、制御部260は、当該受渡要求を、商品を提供する販売店として決定された提供販売店SH1に応じた送信先である情報処理装置310を宛先としてデータ通信回路204aへ出力する(ステップS32)。
提供販売店SH1に応じた送信先は、情報処理装置310に限定される訳ではなく、例えば、提供販売店SH1の店長を含む提供販売店SH1の従業員の電子メールアドレスであっても良い。この場合、情報処理装置310は、例えば、スマートフォンであり、当該従業員によって携帯され、提供販売店SH1の内部又は外部で、当該電子メールアドレスを宛先として送信された受渡要求を不図示のメールサーバから受信しても良い。また、提供販売店SH1に応じた送信先は、例えば、提供販売店SH1の従業員が携帯する情報処理装置310で実行されるアプリケーションプログラムであっても良い。
販売店SH1の情報処理装置310は、当該受渡要求を受信すると、受渡要求に含まれる商品情報と、機体ID「900」と、を表示する。情報処理装置310の表示を視認した販売店SH1の従業員は、表示された商品情報に係る商品を、例えば、倉庫から見つけ出し、見つけ出した商品を販売するための決済を行った後、表示された機体ID「900」で識別される移動機900の到着を待つ。本実施例では、説明を簡単にするため、1つの選択商品が販売されると説明するが、これに限定される訳ではない。
ステップS32の処理を実行した後、情報処理装置200は、販売された商品を、特定された所要時間で指定場所へ運搬させる制御を移動機900に行う、図12に示すような移動制御処理を実行する(ステップS33)。
移動制御処理の実行が開始されると、情報処理装置200の取得部210は、図5のステップS27で受け付けられた送信要求から、移動機900の通信アドレスを取得する(ステップS71)。
次に、情報処理装置200の制御部260は、移動機900の位置から受取場所へ到る第1ルートを表す情報を含み、かつ、最高速度で第1ルートを移動することを命じる移動命令を生成する。その後、制御部260は、生成された移動命令を、ユーザに関連付けられた移動機900の通信アドレスを宛先としてデータ通信回路204aへ出力する(ステップS72)。
移動機900は、移動命令を受信すると移動を開始し、受取場所である販売店SH1まで最高速度で第1ルートを走行する。移動機900が販売店SH1に到着すると、販売店SH1の従業員は、移動機900に表示された機体ID「900」が情報処理装置310に表示された機体ID「900」と一致していると判別する。次に、従業員は、販売した商品を移動機900に積み込み、商品の受取が完了したことを告げる受取完了報告を送信させる操作を移動機900に行う。移動機900は、当該操作に応じて受取完了報告を送信する。
ステップS72の処理を実行した後に、情報処理装置200の特定部240は、図11のステップS54と同様の処理を実行することで、商品を提供する販売店として決定された提供販売店SH1の従業員が使用する移動機がないと判別する(ステップS73;No)。
次に、情報処理装置200の制御部260は、移動機900が商品の受取を完了したか否かを判別する(ステップS74)。このとき、情報処理装置200のデータ通信回路204aが移動機900から受取完了報告を受信していないと、制御部260は、受取が完了していないと判別する(ステップS74;No)。その後、制御部260は、予め定められた時間に亘ってスリープした後に、ステップS74の処理を繰り返す。
これに対して、情報処理装置200の制御部260は、受取完了報告が受信されると、移動機900による商品の受取が完了したと判別する(ステップS74;Yes)。その後、制御部260は、受け取られた商品を格納する格納庫920の施錠を命じる施錠命令を生成する。次に、制御部260は、受取場所からユーザによって指定された指定場所へ到る第2ルートを表す情報を含み、かつ、最高速度で第2ルートを移動することを命じる移動命令を生成する。その後、制御部260は、生成された施錠命令と移動命令とを、移動機900の通信アドレスを宛先としてデータ通信回路204aへ出力する(ステップS75及びS76)。
移動機900は、施錠命令と移動命令とを受信すると、格納庫920を施錠し、移動を開始し、かつ、指定場所まで最高速度で第2ルートを走行する。その後、移動機900は、指定場所に到着すると到着報告を情報処理装置200へ送信する。
ステップS76の処理を実行した後に、情報処理装置200の制御部260は、移動機900が指定場所に到着したか否かを判別する(ステップS77)。このとき、情報処理装置200のデータ通信回路204aが到着報告を受信していないと、制御部260は、移動機900が指定場所に到着していないと判別する(ステップS77;No)。その後、制御部260は、予め定められた時間に亘ってスリープした後に、ステップS77の処理を繰り返す。
これに対して、情報処理装置200の制御部260は、到着報告が受信されると、移動機900が指定場所に到着したと判別し(ステップS77;Yes)、移動制御処理の実行を終了する。
図5のステップS33で移動制御処理が実行された後、情報処理装置200の通知部250は、商品の受け取りに用いられるパスワードを、例えば、ソフトウェア乱数を用いて生成する。その後、生成されたパスワードを含み、商品の指定場所への運搬が完了したこと、及び、商品の受け取りに当該パスワードが用いられること、を告げる運搬完了通知を、ユーザによって携帯される情報処理装置100を宛先としてデータ通信回路204aへ出力する(ステップS34)。
ユーザの情報処理装置100が備える長距離無線通信回路104bが運搬完了通知を受信すると、CPU101は、運搬完了通知を表示装置105bに表示させる。本実施例では、情報処理装置100を携帯するユーザである第1ユーザは、当該メッセージを視認し、第1ユーザ自らが指定場所へ移動すると説明するが、これに限定される訳では無い。第1ユーザは、第1ユーザの家族、若しくは、同居人、又は、第1ユーザが商品を贈与する友人、恋人、若しくは、知人等である第2ユーザに、当該メッセージに含まれるパスワードを伝えてから、指定場所へ移動するように指示し、指示に従って第2ユーザが指定場所へ移動して商品を受け取っても良い。
その後、第1ユーザは、指定場所に停車している移動機900にパスワードである認証情報を入力させる操作を行う。移動機900は、当該操作に応じて認証情報を情報処理装置200へ送信する。
情報処理装置200は、移動機900から認証情報を受信すると、ステップS21及びS22の処理と同様の処理を実行する(ステップS35及びS36)。これにより、認証情報であるパスワードが取得され、認証部220は、取得されたパスワードと、運搬完了通知のパスワードと、が一致しないと認証が失敗したと判別する(ステップS36;No)。その後、情報処理装置200は、ステップS35から上記処理を繰り返す。
移動機900は、認証要求を送信してから予め定められた時間が経過しても、格納庫920の解錠を命じる解錠命令を情報処理装置200から受信しないと、認証が失敗したと判別し、認証が失敗した旨のメッセージを表示する。当該メッセージを視認した第1ユーザは、移動機900に認証情報を入力させる操作を再度行い、移動機900は、当該操作に応じて認証情報を再度送信する。
ステップS36において、情報処理装置200の認証部220は、取得されたパスワードと、運搬完了通知のパスワードと、が一致すると認証が成功したと判別する(ステップS36;Yes)。その後、制御部260は、格納庫920の解錠を命じる解錠命令を、移動機900を宛先としてデータ通信回路204aへ出力してから(ステップS37)、販売仲介処理の実行を終了する。
移動機900は、解錠命令を受信すると、商品が格納された格納庫920を解錠し、第1ユーザは、格納庫920から商品を受け取る。
販売店SH1に設置された情報処理装置310と、販売店SH2に設置された情報処理装置320と、は、ハードウェアである不図示のCPU、RAM、ROM、ハードディスク、データ通信回路、ビデオカード、表示装置、及び、入力装置をそれぞれ備える。情報処理装置310及び320がそれぞれ備えるハードウェアの構成及び機能は、図4に示した情報処理装置200が備えるハードウェアの構成及び機能と同様である。
販売店SH2の移動機400の構成及び機能は、第1ユーザに関連付けられた移動機900の構成及び機能と同様である。移動機900は、図13に示すような車輪901及び902を含む複数の車輪を備える車台910と、車台910の上面に設置された格納庫920と、格納庫920に内蔵された情報処理装置990と、を備える。
移動機900の格納庫920は、1つの格納ボックス921を備える。格納ボックス921は、不図示の1枚の底板、天板、及び、背板、並びに、2枚の側板を備え、これらの板により閉塞されて前方が開放された空間を形成する箱体を備える。箱体の開口部には、扉921aを受け止める扉枠921bが設置されている。扉921aは、カンヌキであるデッドボルト921cを備え、扉枠921bは、デッドボルト921cの受座であるストライク921dを備える。
移動機900が備える格納庫920の扉921aは、移動機900の情報処理装置990から出力される信号に従って、デッドボルト921cをストライク921dへ挿入させることで、扉921aを施錠する不図示のモータをさらに備えている。当該モータは、情報処理装置990から出力される信号に従って、デッドボルト921cをストライク921dから抜出させることで、扉921aを解錠する。
移動機900は、車台910の前面に設置されたLiDAR(Light Detection and Ranging)センサ931と、車台910の後面に設置された不図示のLiDARセンサと、をさらに備える。
移動機900が備える前面のLiDARセンサ931は、移動機900の前方向を基準の方位として用いる場合に、当該基準の方位となす方位角が-90度から+90度まで、かつ、移動機900の前方向となす仰角が-90度から+90度までの範囲に含まれる複数の方向へレーザー光を照射する。前面のLiDARセンサ931は、照射されたレーザー光の反射光を受光し、レーザー光の照射から反射光の受光までの時間に基づいて、レーザー光が反射された複数の反射点までの距離を計測する。次に、前面のLiDARセンサ931は、レーザー光の照射方向と計測された距離とに基づいて、移動機900の中心点を原点として用いた三次元座標系における座標値を、複数の反射点について算出する。その後、前面のLiDARセンサ931は、算出された複数の反射点の座標値を移動機900の情報処理装置990へ出力する。
移動機900が備える後面のLiDARセンサは、移動機900の後方向を基準の方位として用いる場合に、当該基準の方位となす方位角が-90度から+90度まで、かつ、移動機900の後方向となす仰角が-90度から+90度までの範囲に含まれる複数の方向へ赤外線のレーザー光を照射する。また、後面のLiDARセンサは、照射されたレーザー光の複数の反射点について移動機900の三次元座標系における座標値を算出し、算出された複数の反射点の座標値を移動機900の情報処理装置990へ出力する。
移動機900が備える前面のLiDARセンサ931及び後面のLiDARセンサが複数の反射点の座標値を情報処理装置990へ出力するのは、例えば、障害物等の物体を回避して走行するために、移動機900の情報処理装置990が、移動機900を基準として用いた全方向にある物体の三次元空間における座標値及びサイズ等を特定するためである。
移動機900は、格納庫920の前面に設置され、移動機900の前方を撮像できるように光軸及び画角を調整された撮像装置940をさらに備える。撮像装置940は、移動機900の情報処理装置990から出力される制御信号に従って移動機900の前方を撮像し、撮像により得られた画像を表す画像信号を情報処理装置990へ出力する。
移動機900の情報処理装置990は、図14に示すようなハードウェアであるCPU991、RAM992、ROM993a、フラッシュメモリ993b、短距離無線通信回路994a、長距離無線通信回路994b、ビデオカード995a、表示装置995b、入力装置995c、位置計測回路996、入出力ポート998、及び、駆動回路999を備える。本実施例では、移動機900は、1つのCPU991を備えるが、複数のCPUを備えても良い。また、移動機900は、複数のRAM及びフラッシュメモリを備えても良い。
移動機900のCPU991、RAM992、ROM993a、フラッシュメモリ993b、短距離無線通信回路994a、長距離無線通信回路994b、ビデオカード995a、表示装置995b、入力装置995c、及び、位置計測回路996の構成及び機能は、情報処理装置100のCPU101、RAM102、ROM103a、フラッシュメモリ103b、短距離無線通信回路104a、長距離無線通信回路104b、ビデオカード105a、表示装置105b、入力装置105c、及び、位置計測回路106の構成及び機能と同様である。
移動機900の入出力ポート998は、不図示のケーブルを介して、前面のLiDARセンサ931及び後面のLiDARセンサとそれぞれ接続された不図示のケーブルに接続されている。入出力ポート998は、前面のLiDARセンサ931及び後面のLiDARセンサがそれぞれ出力する座標値を表す信号をCPU991へ入力する。
また、移動機900の入出力ポート998は、不図示のケーブルを介して、撮像装置940に接続されており、CPU991が出力する制御信号を撮像装置940へ入力し、撮像装置940が出力する画像信号をCPU991へ入力する。
移動機900の駆動回路999は、複数の車輪を回転させる不図示のモータにそれぞれ接続された不図示のケーブルに接続されている。駆動回路999は、CPU991が出力する制御信号に従って当該モータを駆動させることで、複数の車輪を回転させる。
また、移動機900の駆動回路999は、扉921aが備えるデッドボルト921cをストライク921dから抜出させる又はストライク921dに挿入させる不図示のモータに接続されたケーブルに接続されており、CPU991が出力する信号に従って当該モータを駆動させる。
移動機900の長距離無線通信回路994bが、移動機900の位置から受取場所へ到る第1ルートを表す情報を含み、かつ、最高速度で第1ルートを移動することを命じる移動命令を受信すると、移動機900のCPU991は、移動命令に従って移動するために、図15に示すような移動処理を実行する。
移動処理の実行を開始すると、移動機900のCPU991は、長距離無線通信回路994bから移動命令を取得し(ステップS91)、取得された移動命令から第1ルートを表す情報を取得する(ステップS92)。
その後、移動機900のCPU991は、第1ルートを順行走行するために、位置計測回路996から出力される信号に基づいて、移動機900の緯度、経度、及び、高度を特定する。CPU991は、特定された緯度、経度、及び、高度と、第1ルートに含まれる複数の未到着のノードの内で最も到着順が早いノードの緯度、経度、及び、高度と、の相違を縮小させるように最高速度で走行するための制御信号を生成する。その後、CPU991は、生成された制御信号を駆動回路999へ出力し(ステップS93)、駆動回路999は、制御信号に従って複数の車輪を回転させる。
その後、移動機900のCPU991は、第1ルートに含まれる1又は複数のノードの全てに到着した訳ではないため、第1ルートの終点である受取場所に到着していないと判別すると(ステップS94;No)、ステップS93から上記処理を繰り返す。これに対して、CPU991は、第1ルートに含まれる1又は複数のノードの全てに到着したため、終点に到着したと判別すると(ステップS94;Yes)、終点である受取場所で停車するための制御信号を駆動回路999へ出力する(ステップS95)。その後、CPU991は、情報処理装置200を宛先として、到着報告を長距離無線通信回路994bへ出力してから(ステップS96)、移動処理の実行を終了する。
移動機900は、受取場所である販売店SH1に到着すると、販売店SH1の従業員によって移動機900の格納庫920に商品が積み込まれる。その後、従業員によって操作された移動機900の入力装置995cが当該操作に応じた信号を出力すると、CPU991は、情報処理装置200を宛先として、受取完了報告を長距離無線通信回路994bへ出力する。
その後、移動機900の長距離無線通信回路994bが、格納庫920の施錠を命じる施錠命令を受信すると、CPU991は、デッドボルト921cをストライク921dに挿入させるための制御信号を駆動回路999に出力することで、不図示のモータに格納庫920の扉921aを施錠させる。次に、移動機900の長距離無線通信回路994bが、第1ユーザによって指定された指定場所へ最高速度で移動することを命じる移動命令を受信すると、移動機900のCPU991は、図15に示した移動処理を再度実行する。これにより、移動機900は、移動命令に従って、最高速度で指定場所へ移動してから指定場所で停車する。
その後、指定場所に到着した第1ユーザによって操作された移動機900の入力装置995cが当該操作に応じた信号を出力すると、CPU991は、当該信号に基づいてパスワードである認証情報を取得する。次に、CPU991は、取得された認証情報を含んだ認証要求を、情報処理装置200を宛先として長距離無線通信回路994bへ出力する。
移動機900のCPU991は、長距離無線通信回路994bが認証要求を送信してから予め定められた時間が経過しても、格納庫920の解錠を命じる解錠命令を受信しないと、認証が失敗したと判別する。その後、CPU991は、格納庫920を解錠せずに、認証が失敗した旨のメッセージを表示装置995bに表示させる。これに対して、認証要求が送信されてから予め定められた時間が経過する以前に解錠命令を受信すると、CPU991は、デッドボルト921cをストライク921dから抜出させる制御信号を駆動回路999に出力することで、格納庫920の扉921aを解錠させる。第1ユーザは、解錠された格納庫920から商品を受け取る。
これらの構成によれば、情報処理システム1は、第1ユーザが購入可能な商品に係る商品情報と、第1ユーザに関連付けられた移動機900の機体性能を表す性能情報と、を受け付ける受付部230を備える。また、情報処理システム1は、受け付けられた商品情報に係る商品を第1ユーザに指定された指定場所へ移動機900が運搬するのに要する所要時間の特定を、受け付けられた性能情報に基づいて行う特定部240を備える。これらのため、情報処理システム1は、第1ユーザに指定された指定場所まで移動機900が商品を運搬するのに要する所要時間を移動機900の性能情報に基づいて精度良く特定できる。また、情報処理システム1は、移動機900を備えないため、第1ユーザに関連付けられる移動機900の機体性能の予測及び把握が困難であるが、第1ユーザに関連付けられた移動機900の機体性能を受け付ければ、移動機900の機体性能がどのような性能であっても、所要時間を精度良く特定できる。
また、これらの構成によれば、情報処理システム1は、第1ユーザに所要時間を通知する通知部250をさらに備える。このため、情報処理システム1は、精度良く特定された所要時間を第1ユーザに知らせることができるので、第1ユーザの利便性を向上できる。
さらに、これらの構成によれば、移動機900は第1ユーザに所有されている。個人によって所有される移動機900の機体性能は、様々な性能であることが想定されるが、情報処理システム1は、移動機900がどのような機体性能を有していても、移動機900の機体性能を受け付ければ、受け付けた機体性能に基づいて所要時間を精度良く特定できる。
<実施例1の変形例1>
実施例1では、情報処理装置100を携帯する第1ユーザは、移動機900を所有し、移動機900は、第1ユーザと関連付けられると説明したが、所有の形態、及び、関連付けの形態は、これに限定される訳ではない。
例えば、第1ユーザと、第1ユーザの家族又は同居人である1人以上の第2ユーザと、が移動機900を共同所有し、移動機900は、第1ユーザと、1人以上の第2ユーザと、の1人以上に関連付けられても良い。
また、例えば、第1ユーザと、第1ユーザの友人、恋人、又は、知人である1人以上の第2ユーザと、が移動機900を共同所有し、移動機900は、第1ユーザと、1人以上の第2ユーザと、の1人以上に関連付けられても良い。
また、例えば、第1ユーザと、第1ユーザと異なるユーザであり、かつ、第1ユーザが居住する共同住宅に居住する、又は、第1ユーザが勤務するオフィスビルに勤務する、1人以上の第3ユーザと、が移動機900を共同所有し、移動機900は、第1ユーザと、1人以上の第3ユーザと、の1人以上に関連付けられても良い。
また、例えば、第1ユーザと、第1ユーザと異なるユーザであり、かつ、第1ユーザが居住する、又は、通勤若しくは通学する予め定められた地域に居住する、又は、通勤若しくは通学する1人以上の第3ユーザと、の内の1人以上が、販売仲介業者によって移動機900に関連付けられていても良い。予め定められた地域は、例えば、行政区画であっても良いし、販売仲介業者によって予め定められた地域であっても良い。
これらの構成によれば、移動機900は、第1ユーザを含む複数のユーザと関連付けられる。このため、情報処理システム1は、複数のユーザに関連付けられた移動機900の機体性能を受け付ければ、移動機900の機体性能がどのような性能であっても、所要時間を精度良く特定できる。
<実施例1の変形例2>
実施例1では、情報処理装置100を携帯する第1ユーザは、移動機900を所有すると説明したが、これに限定される訳ではない。第1ユーザは、例えば、移動機900の所有者とレンタル契約を締結することで、当該所有者から使用権を許諾され、許諾された期間に亘って移動機900を一時的に使用しても良い。
また、実施例1では、移動機900は、ペアリングの成立によって第1ユーザの情報処理装置100と関連付けられるため、情報処理装置100を介して、情報処理装置100を携帯する第1ユーザとも関連付けられると説明した。しかし、本変形例に係る移動機900は、レンタル契約の成立によって、契約要求を送信した情報処理装置100と、レンタルされた移動機900と、が不図示のレンタルシステムで関連付けられるため、情報処理装置100を携帯する第1ユーザとも関連付けられる。
本変形例に係る情報処理装置100は、不図示の購入処理を開始すると、情報処理装置100のCPU101は、第1ユーザによって操作された情報処理装置100の入力装置105cが出力する信号に基づいて、レンタル条件を表す情報を取得する。レンタル条件は、例えば、移動機900をレンタルする期間の開始時刻と終了時刻とレンタルに対する対価とを含んでいる。その後、情報処理装置100のCPU101は、取得されたレンタル条件を表す情報を含み、かつ、レンタル契約の締結を求める契約要求を、不図示のレンタルシステムを宛先として、長距離無線通信回路104bに出力する。
不図示のレンタルシステムは、情報処理装置200の構成及び機能と同様の構成及び機能を有する不図示の情報処理装置を備えている。レンタルシステムの情報処理装置が備える不図示のデータ通信回路が契約要求を受信すると、不図示のCPUは、契約要求に含まれる情報で表されるレンタル条件に従って、移動機900をレンタルすることを決定する。次に、情報処理装置の不図示のCPUは、情報処理装置100の通信アドレスを情報処理装置100の識別情報として、移動機900の機体ID「900」に関連付けて、不図示のハードディスクに保存する。その後、情報処理装置のCPUは、レンタル契約が成立したことを告げる契約成立報告を、情報処理装置100を宛先として不図示のデータ通信回路に出力する。
情報処理装置100の長距離無線通信回路104bが契約成立報告を受信すると、CPU101は、図3のステップS02からS12の処理と同様の処理を実行する。これにより、情報処理装置100は、第1ユーザによって選択された商品情報、及び、第1ユーザと関連付けられた移動機900の性能情報等を含み、当該商品情報に係る選択商品の説明及び所要時間が記載された商品頁の送信を求める送信要求を送信した後に、商品頁を受信して表示する。その後、情報処理装置100は、表示された商品頁に記載された所要時間が第1ユーザによって承認され、かつ、商品の購入が決定されたと判別すると、販売要求を送信した後に、購入処理の実行を終了する。
レンタルされて第1ユーザと関連付けられる移動機900の機体性能は、様々な性能であることが想定されるが、これらの構成によれば、情報処理システム1は、第1ユーザと関連付けられた移動機900がどのような機体性能を有していても、移動機900の機体性能を受け付ければ、受け付けた機体性能に基づいて所要時間を精度良く特定できる。
<実施例1の変形例3>
実施例1では、移動機を使用しない販売店SH1が、第1ユーザに商品を提供する提供販売店に決定された場合を具体例として挙げて説明を行ったが、これに限定される訳ではない。本変形例では、移動機400を使用する販売店SH2が提供販売店に決定された場合を具体例として挙げて説明を行う。
本変形例に係る移動機900は、移動機400から商品を受け取るため、格納庫920の上面に設置された、図16に示すようなロボットアーム980を備えている。ロボットアーム980は、垂直多関節ロボットであり、移動機900の情報処理装置990から出力される制御信号に従って不図示のモータを駆動させる駆動回路と、モータによって平行に開閉させられる二爪式のグリッパー981と、を備える。
移動機900のロボットアーム980は、グリッパー981に搭載され、グリッパー981の爪先が撮像範囲に含まれるように光軸及び画角が調整された撮像装置982と、不図示のモータによって可動させられる複数の関節構造及び関節構造を中心として可動する複数のアーム983と、を備える。グリッパー981は、二爪式に限定される訳でなく、三本以上の爪を有しても良いし、二本の爪の代わりに複数本の指を有しても良い。
移動機900のロボットアーム980が備える撮像装置982は、デジタル式のステレオカメラであり、移動機900の情報処理装置990から出力される信号に応じて撮像を行い、互いに視差を有する2つの画像を表す画像信号を情報処理装置990へ出力する。このような信号が情報処理装置990へ出力されるのは、2つの画像が有する視差に基づいて、グリッパー981の摘持対象物とされる商品の三次元空間における位置座標及びサイズ等を情報処理装置990が特定するためである。
本変形例に係る移動機900の入出力ポート998は、不図示のケーブルを介して、ロボットアーム980に接続されており、CPU991が出力する制御信号をロボットアーム980へ入力する。また、入出力ポート998は、ロボットアーム980が備える撮像装置982から出力される画像信号をCPU991へ入力する。
本変形例に係る情報処理装置200は、図5の販売仲介処理の実行を開始すると、ステップS21からS32の処理を実行する(ステップS21からS32)。これにより、情報処理装置200は、販売が求められた商品に係る商品情報と、当該商品を受け取る移動機900の機体ID「900」と、を含み、当該商品を販売して移動機900に受け渡すように求める受渡要求を生成し、生成された受渡要求を販売店SH2に応じた送信先である情報処理装置320へ送信する。販売店SH2に応じた送信先は、情報処理装置320に限定される訳では無く、販売店SH2の従業員の電子メールアドレスであっても良く、情報処理装置320は、当該従業員に携帯されるスマートフォンであり、販売店SH2の内部又は外部で、当該電子メールアドレスを宛先として送信された受渡要求を受信しても良い。また、販売店SH2に応じた送信先は、情報処理装置320で実行されるアプリケーションプログラムであっても良い。
販売店SH2の情報処理装置320は、当該受渡要求を受信すると、受渡要求に含まれる商品情報と、機体ID「900」と、を表示する。情報処理装置320の表示を視認した販売店SH2の従業員は、表示された商品情報に係る商品を、例えば、倉庫から見つけ出し、販売のための決済をし、販売店SH2の移動機400が備える不図示の格納庫に当該商品を積み込み、かつ、表示された機体ID「900」を入力するための操作を移動機400に行う。
移動機400の不図示の入力装置が当該操作に応じた信号を出力すると、移動機400の不図示のPCUは、当該信号に基づいて機体ID「900」を取得する。その後、移動機400のCPUは、機体ID「900」で識別される移動機900に受け渡される商品の積込が完了したことを告げる積込完了報告を、情報処理装置200を宛先としてデータ通信回路に出力する。
ステップS32の処理を実行した後、情報処理装置200は、販売店SH2の移動機400と、第1ユーザに関連付けられた移動機900と、の移動を制御する、図12に示した移動制御処理を実行する(ステップS33)。
移動制御処理の実行を開始すると、情報処理装置200は、ステップS71及びS72の処理を実行する(ステップS71及びS72)。これにより、移動機900の位置から、移動機900の位置と、販売店SH2の位置と、の中間の位置に決定された受取場所へ到る第1ルートを表す情報を含み、かつ、最高速度で第1ルートを移動することを命じる移動命令を移動機900へ送信する。
移動機900は、移動命令を受信すると移動を開始し、受取場所まで最高速度で第1ルートを走行し、受取場所に到着すると到着報告を情報処理装置200へ送信する。
ステップS72を実行した後に、情報処理装置200は、図11のステップS54と同様の処理を実行することで、販売店SH2の従業員が使用する移動機があること、及び、使用される当該移動機が移動機400であることを判別する(ステップS73;Yes)。その後、情報処理装置200の制御部260は、販売店SH2の移動機400への商品の積込が完了したか否かを判別する(ステップS78)。このとき、情報処理装置200のデータ通信回路204aが移動機400から積込完了報告を受信していないと、制御部260は、積込が完了していないと判別する(ステップS78;No)。その後、制御部260は、予め定められた時間に亘ってスリープした後に、ステップS78の処理を繰り返す。
これに対して、情報処理装置200の制御部260は、積込完了報告が受信されると、移動機400への商品の積込が完了したと判別する(ステップS78;Yes)。次に、情報処理装置200の制御部260は、販売店SH2から受取場所へ到る第3ルートを表す情報を含み、かつ、最高速度で第3ルートを移動することを命じる移動命令を、移動機400を宛先としてデータ通信回路204aへ出力する(ステップS79)。
移動機400は、移動命令を受信すると移動を開始し、最高速度で第3ルートを走行し、受取場所に到着すると受取場所で停車し、かつ、到着報告を情報処理装置200へ送信する。その後、移動機400のCPUは、不図示の表示装置に移動機900の機体ID「900」を表示させる。
ステップS79を実行した後に、情報処理装置200の制御部260は、販売店SH2の移動機400と、第1ユーザに関連付けられた移動機900と、が、受取場所に到着したか否かを判別する(ステップS80)。このとき、情報処理装置200のデータ通信回路204aが移動機400又は移動機900から到着報告を受信していないと、制御部260は、移動機400又は移動機900が受取場所に到着していないと判別する(ステップS80;No)。その後、制御部260は、予め定められた時間に亘ってスリープした後に、ステップS80の処理を繰り返す。
これに対して、情報処理装置200の制御部260は、移動機400及び移動機900から到着報告が受信されると、移動機400及び移動機900が受取場所に到着したと判別する(ステップS80;Yes)。その後、制御部260は、販売店SH2の移動機400から商品を受け取ることを命じる受取命令を、第1ユーザに関連付けられた移動機900を宛先としてデータ通信回路204aへ出力する(ステップS81)。
移動機900は、受取命令を受信すると、受取場所で停車している1又は複数の移動機の内で、移動機900の機体ID「900」を表示している移動機400から、ロボットアーム980を用いて商品を受け取り、受け取った商品を格納庫920に積み込む。その後、移動機900は、商品の受取が完了したことを告げる受取完了通知を情報処理装置200へ送信する。
ステップS81を実行した後に、情報処理装置200の制御部260は、商品の受取が完了したか否かを判別する(ステップS82)。このとき、情報処理装置200のデータ通信回路204aが受取完了報告を受信していないと、制御部260は、商品の受取が完了していないと判別する(ステップS82;No)。その後、制御部260は、予め定められた時間に亘ってスリープした後に、ステップS82の処理を繰り返す。
これに対して、情報処理装置200の制御部260は、受取完了報告が受信されると、商品の受取が完了したと判別する(ステップS82;Yes)。その後、制御部260は、ステップS75及びS76と同様の処理を実行することで(ステップS83及びS84)、移動機900の施錠を命じる施錠命令と、指定場所への移動を命じる移動命令と、を、移動機900を宛先として出力する。
次に、情報処理装置200の制御部260は、販売店SH2から受取場所へ到る第3ルートを逆行することで販売店SH2へ帰還することを命じる移動命令を、販売店SH2の移動機400を宛先としてデータ通信回路204aへ出力する(ステップS85)。
第1ユーザに関連付けられた移動機900は、施錠命令と移動命令とを受信すると、格納庫920を施錠してから受取場所から指定場所まで最高速度で第2ルートを走行する。販売店SH2の移動機400は、移動命令を受信すると受取場所から販売店SH2へ帰還する。
ステップS85を実行した後に、情報処理装置200の制御部260は、移動機900が指定場所に到着したと判別すると(ステップS77;Yes)、移動制御処理の実行を終了する。
本変形例に係る移動機400が備える不図示の長距離無線通信回路が、図12のステップS79で出力された移動命令を受信すると、移動機400の不図示のCPUは、図15の移動処理を実行する。これにより、移動機400は、受取場所に到る第3ルートを、商品を格納して最高速度で移動する。
また、本変形例に係る移動機900の長距離無線通信回路994bが、図12のステップS72で出力された移動命令を受信すると、移動機900のCPU991は、図15に示した移動処理を実行する。これにより、移動機900は、受取場所へ到る第1ルートを最高速度で移動する。
その後、移動機900の長距離無線通信回路994bが、図12のステップS81で出力された受取命令を受信すると、移動機900のCPU991は、図17に示すような受取処理を実行する。
受取処理の実行を開始すると、移動機900のCPU991は、移動機900の前方を撮像できるように光軸及び画角を調整された撮像装置940へ撮像を命じる信号を出力する処理を実行する。次に、CPU991は、撮像装置940から出力された信号で表される画像(以下、撮像画像という)に、例えば、テンプレートマッチングを行うことで、受取場所で停車する移動機に対応する画像領域を検出する。テンプレートマッチングに用いられるテンプレートは、移動機900のフラッシュメモリ993bに予め保存されている。
このとき、移動機900のCPU991は、移動機に対応する画像領域が検出されないと、撮像装置940の光軸を変更させるため、複数の車輪の1つ以上を回転させる制御信号を駆動回路999に出力する処理を実行する。その後、CPU991は、撮像装置940へ撮像を命じる信号を出力する処理から上記処理を繰り返す。
これに対して、移動機900のCPU991は、移動機に対応する画像領域が検出されると、検出された画像領域に、例えば、OCR(Optical Character Recognition)処理を実行することで、移動機に表示された文字列を検出する。このとき、CPU991は、画像領域から検出された文字列が、移動機900の機体ID「900」と一致しないと、撮像装置940の光軸を変更させるために制御信号を出力する処理から上記処理を繰り返す。
これに対して、移動機900のCPU991は、画像領域から検出された文字列が、移動機900の機体ID「900」と一致すると、当該画像領域が販売店SH2の移動機400に対応すると判別する。その後、CPU991は、撮像画像における当該画像領域の位置と、撮像装置940の光軸の方向と、に基づいて、移動機400の位置を表す座標値を算出する(ステップS101)。本実施例において、CPU991が算出する座標値は、移動機900の中心点を原点として用いる三次元座標系の座標値であるが、これに限定される訳ではない。
その後、移動機900のCPU991は、算出された移動機400の座標値に基づいて、ロボットアーム980が備える撮像装置982の光軸を、移動機400が撮像可能となるように変更させる制御信号を生成する。次に、CPU991は、生成された制御信号と、撮像を命じる信号と、を、ロボットアーム980の撮像装置982へ出力する。
次に、移動機900のCPU991は、撮像装置982から出力された信号に基づいて2枚の撮像画像を取得し、取得された2枚の撮像画像の視差に基づいて、移動機400が備える不図示の扉の位置及び形状を表す座標値を算出する。その後、CPU991は、算出された座標値に基づいて、撮像された扉を開けさせるための制御信号をロボットアーム980へ出力する。ロボットアーム980は、当該制御信号に従って、移動機400の扉を開ける。
次に、移動機900のCPU991は、移動機900が備える格納庫920の扉921aを解錠させる制御信号を駆動回路999に出力する(ステップS102)。
その後、移動機900のCPU991は、フラッシュメモリ993bから、移動機900の格納庫920が備える扉921aの位置及び形状を表す座標値を取得する。その後、CPU991は、取得された座標値に基づいて、扉921aを開けさせるための制御信号をロボットアーム980へ出力する。ロボットアーム980は、制御信号に従って移動機900の扉921aを開ける。
その後、移動機900のCPU991は、開けられる前の移動機400の格納庫の扉の位置を表す座標値に基づいて、ロボットアーム980が備える撮像装置982の光軸を、扉が開けられた後の格納庫の開口部と内部とを撮像できるように変更させるための制御信号を生成する。次に、CPU991は、生成された制御信号と、撮像を命じる制御信号と、をロボットアーム980へ出力する。その後、CPU991は、撮像装置982から出力された信号に基づいて2枚の撮像画像を取得し、取得された2枚の撮像画像の視差に基づいて、移動機400が備える格納庫の箱体に格納された商品の位置及び形状を表す座標値を算出する。次に、CPU991は、算出された座標値に基づいて、販売店SH2の移動機400が備える格納庫に格納された商品を摘持して取り出させるための制御信号をロボットアーム980へ出力する(ステップS103)。ロボットアーム980は、制御信号に従って、移動機400から商品を取り出す。
その後、移動機900のCPU991は、フラッシュメモリ993bから取得された座標値に基づいて、ロボットアーム980が備える撮像装置982の光軸を、移動機900が備える格納庫920の箱体の開口部と内部とが撮像可能となるように変更させるための制御信号を生成する。次に、CPU991は、生成された制御信号と、撮像を命じる制御信号と、をロボットアーム980へ出力する。その後、CPU991は、撮像装置982から出力された信号に基づいて取得された2枚の撮像画像の視差に基づいて、箱体の開口部の位置及び形状を表す座標値と、箱体の奥行きと、を算出する。次に、CPU991は、算出された座標値及び奥行きに基づいて、移動機400から取り出された商品を、開口部から移動機900の格納庫920へ積み込ませるための制御信号をロボットアーム980へ出力する(ステップS104)。ロボットアーム980は、当該制御信号に従って、第1ユーザに関連付けられた移動機900に、取り出された商品を積み込む。
その後、移動機900のCPU991は、ロボットアーム980に開けさせた移動機400の扉と、移動機900の扉921aと、を閉めさせる制御信号をロボットアーム980へ出力する。次に、移動機900のCPU991は、受取完了報告を、情報処理装置200を宛先として長距離無線通信回路994bへ出力してから(ステップS105)、受取処理の実行を終了する。
その後、移動機900の長距離無線通信回路994bが、図12のステップS84で出力された移動命令を受信すると、移動機900のCPU991は、図15の移動処理を実行する。これにより、移動機900は、受取場所から、第1ユーザによって指定された指定場所へ到る第2ルートを、受取場所で受け取った商品を格納して最高速度で移動する。
また、移動機400が備える不図示の長距離無線通信回路が、図12のステップS85で出力された移動命令を受信すると、移動機400の不図示のCPUは、図15の移動処理を実行する。これにより、移動機400は、受取場所から販売店SH2まで帰還する。
<実施例1の変形例4>
実施例1の変形例3では、第1ユーザに関連付けられた移動機900は、図16に示したロボットアーム980を用いて、販売店SH2の移動機400の格納庫から商品を取り出し、取り出された商品を移動機900の格納庫920に積み込むと説明した。
しかし、これに限定される訳ではなく、販売店SH2の移動機400が、ロボットアーム980と同様の構成及び機能を有する不図示のロボットアームを備えても良い。この場合、移動機400が、不図示のロボットアームを用いて、移動機400の格納庫から商品を取り出し、取り出した商品を移動機900の格納庫920に積み込んでも良い。
また、移動機400が、不図示のロボットアームを用いて、移動機400の格納庫から商品を取り出し、移動機900が、ロボットアーム980を用いて、移動機400のロボットアームから商品を受け取り、受け取った商品を移動機900の格納庫920に積み込んでも良い。
<実施例1の変形例5>
実施例1では、情報処理装置200の特定部240は、移動機900が商品を指定場所へ運搬するのに要する所要時間の特定を行うと説明したが、これに限定されるわけではない。本変形例に係る特定部240は、商品が移動機900に運搬されて指定場所へ到着する到着時刻の特定を行う。
本実施例において、時刻は、日、時、及び、分で表されると説明するが、これに限定される訳ではない。時刻は、日、時、分、及び、秒で表されても良いし、日及び時で表されても良いし、日で表されても良い。また、時刻は、時、分、及び、秒で表されても良いし、時及び分で表されても良いし、時で表されても良い。
このため、本変形例に係る情報処理装置100のCPU101は、不図示の購入処理を実行する。不図示の購入処理の実行を開始すると、図3のステップS01からS07の処理と同様の処理を実行することで、購入可能商品の商品情報の一覧が記載されたウェブページである一覧頁を表示する。
次に、情報処理装置100のCPU101は、第1ユーザによって選択された商品情報に係る選択商品の説明と、選択商品が移動機900に運搬されて指定場所へ到着する到着時刻と、が記載された商品頁の送信を求める送信要求を生成する。その後、CPU101は、生成された送信要求を、情報処理装置200を宛先として長距離無線通信回路104bへ出力する処理を実行する。
その後、情報処理装置100の長距離無線通信回路104bが、到着時刻が記載された商品頁を情報処理装置200から受信すると、情報処理装置100のCPU101は、到着時刻が記載された商品頁を長距離無線通信回路104bから取得する。次に、CPU101は、取得された商品頁を表示装置105bに表示させることで、到着時刻を第1ユーザに通知する。
到着時刻を視認した第1ユーザは、到着時刻を承認しない、又は、選択商品の購入を決定しないと、一覧頁を再表示させるための再表示操作を情報処理装置100に行う。情報処理装置100の入力装置105cが再表示操作に応じた信号を出力すると、CPU101は、到着時刻が承認されなかった、又は、選択商品の購入が決定されなかったと判別する。その後、CPU101は、ステップS06と同様の処理から上記処理を繰り返す。
これに対して、第1ユーザは、到着時刻を承認し、かつ、選択商品の購入を決定すると、購入操作を情報処理装置100に行う。情報処理装置100の入力装置105cが購入操作に応じた信号を出力すると、CPU101は、到着時刻が承認され、かつ、選択商品の購入が決定されたと判別する。その後、CPU101は、到着時刻が承認されたことを告げる報告であり、かつ、選択商品の販売を求める要求である販売要求を、情報処理装置200を宛先として長距離無線通信回路104bへ出力してから、購入処理の実行を終了する。
本変形例に係る情報処理装置200は、不図示の販売仲介処理の実行を開始すると、ステップS21からS27の処理と同様の処理を実行することで、選択商品の説明及び到着時刻が記載された商品頁を送信するように求める送信要求を受信する。その後、情報処理装置200は、不図示の商品頁生成処理を実行する。
不図示の商品頁生成処理の実行を開始すると、情報処理装置200は、図10のステップS41からS44の処理と同様の処理を実行する。これにより、情報処理装置200は、選択商品の在庫がある1つ以上の販売店の内で、未注目の販売店SH1又はSH2に注目する。その後、情報処理装置200は、注目販売店SH1又はSH2について所要時間を特定する、図11に示した所要時間特定処理を実行する。その後、情報処理装置200の取得部210は、例えば、OS(Operating System)が管理するシステム時刻を取得する。次に、取得部210は、到着時刻が記載された商品頁の送信から販売要求の受信までに要する時間を表す情報を情報記憶部290から取得する。
本実施例において、商品頁の送信から販売要求の受信までに要する時間は、第1ユーザの情報処理装置100へ商品頁を送信してから、販売要求を情報処理装置100から受信するまでに過去に要した時間の平均値である。しかし、商品頁の送信から販売要求の受信までに要する時間は、これに限定される訳ではなく、第1ユーザを含む又は含まない複数のユーザがそれぞれ携帯する情報処理装置へ商品頁を送信してから販売要求を受信するまでに過去に要した時間の平均値であっても良く、好適な値は、当業者が実験により定めることができる。
その後、情報処理装置200の特定部240は、取得されたシステム時刻に、特定された所要時間と、商品頁の送信から販売要求の受信までに要する時間と、を加算する。これにより、注目販売店SH1又はSH2で販売される商品が移動機900に運搬されて指定場所へ到着する到着時刻を特定する。
その後、情報処理装置200は、図10のステップS43と同様の処理から上記処理を繰り返す。次に、情報処理装置200の特定部240は、未注目の販売店がないと判別すると、1つ以上の販売店についてそれぞれ特定された1つ以上の到着時刻に基づいて、第1ユーザに商品を提供する提供販売店を1つ決定する。
本実施例では、情報処理装置200の特定部240は、最も早い到着時刻が特定された販売店の1つを提供販売店に決定するが、これに限定される訳ではない。特定部240は、選択商品の在庫がある1以上の販売店に、特定された到着時刻が早い順に順位を付し、付された順位が予め定められた順位よりも高い1又は複数の販売店から、例えば、ソフトウェア乱数に基づいて、又は、予め定められた規則に基づいて1つの販売店を選択し、選択された1つの販売店を第1ユーザに商品を提供する提供販売店に決定しても良い。
その後、情報処理装置200の通知部250は、最も早い到着時刻を表す情報を、選択商品の商品頁に追加することで、到着時刻が記載された商品頁を生成する。その後、通知部250は、商品頁生成処理の実行を終了する。
商品頁生成処理が実行された後に、情報処理装置200の通知部250は、到着時刻が記載された商品頁を、情報処理装置100を宛先としてデータ通信回路204aへ出力する。これにより、通知部250は、情報処理装置100を携帯する第1ユーザに到着時刻を通知する。
その後、情報処理装置200のデータ通信回路204aが販売要求ではなく、一覧頁の送信要求を受信すると、情報処理装置200の制御部260は、到着時刻が承認されなかった、又は、選択商品の販売が求められなかったと判別する。その後、情報処理装置200は、図5のステップS24と同様の処理から上記処理を繰り返す。
これに対して、情報処理装置200のデータ通信回路204aが販売要求を受信すると、情報処理装置200の制御部260は、到着時刻が承認され、かつ、選択商品の販売が求められたと判別する。その後、情報処理装置200は、ステップS31からS37の処理と同様の処理を実行することで、承認された到着時刻に、商品が運搬されて指定場所へ到着するように、移動機900を、又は、移動機400及び900を制御してから、販売仲介処理の実行を終了する。
これらの構成によれば、情報処理システム1は、第1ユーザが購入可能な商品に係る商品情報と、第1ユーザに関連付けられた移動機900の機体性能を表す性能情報と、を受け付ける受付部230を備える。また、情報処理システム1は、受け付けられた商品情報に係る商品が移動機900に運搬されて指定場所へ到着する到着時刻の特定を、受け付けられた性能情報に基づいて行う特定部240を備える。これらのため、情報処理システム1は、商品が移動機900に運搬されて指定場所へ到着する到着時刻を移動機900の性能情報に基づいて精度良く特定できる。
また、これらの構成によれば、情報処理システム1は、第1ユーザに到着時刻を通知する通知部250をさらに備える。このため、情報処理システム1は、精度良く特定された到着時刻を第1ユーザに知らせることができるので、第1ユーザの利便性を向上できる。
<実施例1の変形例6>
実施例1では、情報処理装置200は、商品の販売を仲介する仲介業者の営業所BOに設置されており、図5に示したような販売仲介処理を実行すると説明した。また、情報処理装置310は、販売店SH1に設置され、かつ、販売店SH1で販売される商品の在庫を管理し、情報処理装置320は、販売店SH2に設置され、かつ、販売店SH2で販売される商品の在庫を管理すると説明した。さらに、移動機400は、販売店SH2の従業員によって使用されて、販売店SH2で販売された商品を、移動機900が当該商品を受け取る受取場所まで運搬すると説明した。
しかし、これらに限定される訳ではなく、本変形例に係る情報処理装置200は、商品の販売を行う販売業者の不図示の営業所に設置されており、かつ、商品を販売する、不図示の販売処理を実行する。また、本変形例に係る情報処理装置310は、販売業者が使用する不図示の倉庫ST1に設置され、かつ、倉庫ST1に格納される商品の在庫を管理し、情報処理装置320は、販売業者が使用する不図示の倉庫ST2に設置され、かつ、倉庫ST2に格納される商品の在庫を管理する。さらに、本変形例に係る移動機400は、倉庫ST2の従業員によって使用されて、倉庫ST2に格納されていた商品を受取場所まで運搬する。
このため、本変形例に係る情報処理装置200の情報記憶部290は、商品を格納する倉庫ST1及びST2に関する情報が予め保存されている、図18に示すような倉庫テーブルを予め記憶している。倉庫テーブルには、複数のレコードが予め保存されている。本変形例では、1番目のレコードには、倉庫ST1を識別する倉庫ID「ST1」と、倉庫ST1の位置を表す情報と、倉庫ST1の従業員によって使用される移動機がないことを表す値「NULL」の機体IDと、倉庫ST1の従業員が商品を移動機900に積み込むのに要する積込時間を表す情報と、が対応付けられて予め保存されている。
また、本変形例では、倉庫テーブルの2番目のレコードには、倉庫ST2を識別する倉庫ID「ST2」と、倉庫ST2の位置を表す情報と、倉庫ST2の従業員によって使用される移動機400の機体ID「400」と、移動機400の性能情報と、倉庫ST2の従業員が商品を移動機400に積み込むのに要する積込時間を表す情報と、が対応付けられて予め保存されている。
また、情報処理装置200の情報記憶部290は、倉庫ST1及びST2が販売する商品に関する情報が予め保存されている、図19に示すような商品テーブルを予め記憶している。商品テーブルには、複数のレコードが予め保存されており、各レコードには、商品に係る商品情報と、当該商品を格納する倉庫ST1又はST2を識別する倉庫IDと、当該商品の在庫が倉庫ST1又はST2にあるか否かを表す在庫フラグと、が対応付けられて予め保存されている。
不図示の販売処理の実行を開始すると、情報処理装置200は、図5のステップS21からS24と同様の処理を実行することで、一覧頁の送信を求める送信要求を受け付ける。次に、情報処理装置200の取得部210は、図19の商品テーブルから、在庫があることを表す在庫フラグと対応付けられた1又は複数の商品情報を取得し、特定部240は、取得された1又は複数の商品情報の一覧が記載された一覧頁を、情報処理装置100を宛先としてデータ通信回路204aへ出力する。
その後、情報処理装置200は、図5のステップS27及びS28と同様の処理を実行することで、商品頁の送信を求める送信要求を受け付け、不図示の商品頁生成処理を実行する。
情報処理装置200は、商品頁生成処理の実行を開始すると、図10のステップS41と同様の処理を実行することで、選択商品に係る商品情報を取得する。次に、情報処理装置200の特定部240は、図19の商品テーブルから、取得された商品情報と、在庫があることを表す在庫フラグと、に対応付けられた1つ以上の倉庫IDを抽出する。
その後、情報処理装置200は、図10のステップS43と同様の処理を実行することで、抽出された1つ以上の倉庫IDの内で、未注目の倉庫IDがあると判別すると、未注目の倉庫IDの1つに注目する。本変形例では、説明を簡単にするため、倉庫ST1を識別する倉庫ID「ST1」について注目された場合を具体例として挙げて以下の説明を行う。
その後、情報処理装置200は、注目された倉庫ID(以下、注目倉庫IDという)「ST1」で識別される倉庫(以下、注目倉庫という)ST1に格納された商品を、第1ユーザに指定された指定場所まで運搬するのに要する所要時間を特定する、不図示の所要時間特定処理を実行する。
所要時間特定処理の実行が開始されると、情報処理装置200は、図11のステップS51と同様の処理を実行することで、第1ユーザに関連付けられた移動機900の位置情報及び性能情報を取得する。次に、情報処理装置200の取得部210は、ステップS52と同様の処理を実行することで、図18に示した倉庫テーブルから、注目倉庫店ID「ST1」に対応付けられた位置情報を取得する。
その後、情報処理装置200の取得部210は、ステップS53と同様の処理を実行することで、図18の倉庫テーブルから、注目倉庫ID「ST1」に対応付けられた機体ID「NULL」を取得する。その後、取得部210は、取得された機体IDの値「NULL」が、注目倉庫ST1の従業員が使用する移動機がないことを表すと判別する。次に、情報処理装置200の特定部240は、ステップS55と同様の処理を実行することで、注目倉庫ST1の位置を、移動機900が商品を受け取る受取場所に決定する。
その後、情報処理装置200の特定部240は、ステップS56と同様の処理を実行することで、注目倉庫ST1の位置情報と、移動機900の位置情報と、に基づいて、移動機900の移動ルートを決定する。次に、取得部210は、図18の倉庫テーブルから、注目倉庫ID「ST1」に対応付けられた積込時間を表す情報を取得する。その後、特定部240は、ステップS57と同様の処理を実行することで、決定された移動ルートの距離と、移動機900の性能情報で表される最高速度と、注目倉庫ST1の積込時間と、に基づいて、注目倉庫ST1の商品を移動機900が指定場所へ運搬するのに要する所要時間を特定する。その後、情報処理装置200は、所要時間特定処理の実行を終了する。
所要時間特定処理が実行された後、図10のステップS43と同様の処理から上記処理が繰り返される。本実施例では、説明を簡単にするため、倉庫ST2を識別する倉庫ID「ST2」が未注目であり、当該倉庫ID「ST2」について注目された場合を具体例として挙げて以下の説明を行う。
情報処理装置200は、未注目の倉庫ID「ST2」があると判別し、未注目の倉庫ID「ST2」に注目し、注目倉庫ST2の商品を指定場所まで運搬するのに要する所要時間を特定するため、不図示の所要時間特定処理を再度実行する。
所要時間特定処理の実行を開始すると、情報処理装置200は、図11のステップS51からS54と同様の処理を実行する。これにより、情報処理装置200は、図18の倉庫テーブルから、注目倉庫ID「ST2」に対応付けられた位置情報と機体ID「400」とを取得し、取得された機体IDの値「400」が、注目倉庫ST2の従業員によって移動機が使用されること、及び、使用される当該移動機が移動機400であること、を表すと判別する。
次に、情報処理装置200は、ステップS58と同様の処理を実行することで、倉庫テーブルから、注目倉庫ID「ST2」に対応付けられた移動機400の性能情報を取得する。次に、情報処理装置200は、ステップS59からS62と同様の処理を実行する。これにより、情報処理装置200は、図18の倉庫テーブルから、注目倉庫ID「ST2」に対応付けられた積込時間を表す情報を取得する。次に、情報処理装置200は、注目倉庫ST2及び移動機900の位置情報と、移動機900及び移動機400の性能情報と、積込時間を表す情報と、に基づいて、注目倉庫ST2から移動機400が運搬してくる商品を移動機900が受け取る受取場所を所要時間が最短になる場所に決定する。その後、情報処理装置200は、所要時間特定処理の実行を終了する。
その後、情報処理装置200は、図10のステップS43と同様の処理を実行することで、未注目の倉庫IDがないと判別すると、ステップS46及びS47と同様の処理を実行する。これにより、情報処理装置200は、最も短い所要時間が特定された倉庫ST1又はST2を、第1ユーザに商品を提供する倉庫に決定し、かつ、最も短い所要時間が記載された商品頁を生成した後に、商品頁生成処理の実行を終了する。
本実施例では、説明を簡単にするため、倉庫ST1が第1ユーザに商品を提供する提供倉庫に決定された場合を具体例として挙げて以下の説明を行う。
その後、情報処理装置200は、図5のステップS29からS31の処理と同様の処理を実行することで、所要時間が承認され、かつ、商品の販売が求められたと判別すると、提供倉庫ST1の商品を販売する。その後、情報処理装置200は、選択された商品情報と、移動機900の機体ID「900」と、を含み、当該商品情報に係る商品を当該機体ID「900」で識別される移動機900に受け渡すことを求める受渡要求を生成する。その後、制御部260は、当該受渡要求を、提供倉庫ST1に応じた送信先である情報処理装置310を宛先としてデータ通信回路204aへ出力する。提供倉庫ST1に応じた送信先は、情報処理装置310に限定される訳では無く、提供倉庫ST1の従業員の電子メールアドレスであっても良く、情報処理装置310は、当該従業員に携帯されるスマートフォンであり、提供倉庫ST1の内部又は外部で、当該電子メールアドレスを宛先として送信された受渡要求を受信しても良い。また、提供倉庫ST1に応じた送信先は、情報処理装置310で実行されるアプリケーションプログラムであっても良い。
情報処理装置310は、当該受渡要求を受信すると、受渡要求に含まれる商品情報と、機体ID「900」と、を表示する。情報処理装置310の表示を視認した提供倉庫ST1の従業員は、表示された商品情報に係る商品を、提供倉庫ST1から見つけ出し、表示された機体ID「900」で識別される移動機900の到着を待つ。
その後、情報処理装置200は、ステップS33からS37と同様の処理を実行する。これにより、情報処理装置200は、移動機900に受取場所まで移動させる制御を行う。次に、情報処理装置200は、受取場所で倉庫ST1の従業員から商品を受け取った移動機900に、受け取った商品を格納して指定場所まで移動させる制御を行った後に、販売処理を終了する。
<実施例1の変形例7>
実施例1では、情報処理装置200の特定部240は、第1ユーザによって選択された商品情報に係る選択商品の在庫がある1以上の販売店の内で、選択商品を指定場所へ移動機900が運搬するのに要する所要時間が最も短い販売店SH1を、第1ユーザに商品を提供する提供販売店に決定すると説明した。また、実施例1の変形例6では、情報処理装置200の特定部240は、選択商品の在庫がある1以上の倉庫の内で、選択商品を指定場所へ移動機900が運搬するのに要する所要時間が最も短い倉庫ST1を、第1ユーザに商品を提供する提供倉庫に決定すると説明した。
しかし、これらに限定される訳ではなく、実施例1と、実施例1の変形例6と、は組み合わせることができる。このため、実施例1と、実施例1の変形例6と、の組み合わせである本変形例に係る情報処理装置200の情報記憶部290は、販売店に関する情報が保存されたM個のレコードと、倉庫に関する情報が保存されたN個のレコードと、を記憶している(但し、M及びNは、M+N≧1を満足する0以上の整数)。
M個のレコードのそれぞれには、販売店を識別する識別情報である販売店IDと、当該販売店が販売する商品に係る商品情報と、が対応付けられて保存されている。N個のレコードのそれぞれには、倉庫を識別する識別情報である倉庫IDと、当該倉庫に格納された商品に係る商品情報と、が対応付けられて保存されている。
また、本変形例に係る情報処理装置200の特定部240は、情報記憶部290から、受付部230で受け付けられた商品情報に対応付けられた1つ以上の識別情報を抽出する。また、特定部240は、抽出された1つ以上の識別情報でそれぞれ識別される販売店で販売される商品、又は、倉庫に格納された商品を、指定場所へ移動機900が運搬するのに要する所要時間を特定する。これらのため、情報処理システム1は、販売店及び倉庫の1つ以上でそれぞれ販売又は格納される商品について所要時間を特定できる。
本変形例に係る情報記憶部290に記憶されたM個のレコードのそれぞれには、販売店を識別する識別情報である販売店IDと、当該販売店が販売する商品に係る商品情報と、当該販売店に当該商品の在庫があるか否かを表す在庫フラグと、が対応付けられて保存されている。また、N個のレコードのそれぞれには、倉庫を識別する識別情報である倉庫IDと、当該倉庫に格納された商品に係る商品情報と、当該倉庫に当該商品の在庫があるか否かを表す在庫フラグと、が対応付けられて保存されている。本変形例に係る特定部240は、受付部230で受け付けられた商品情報と、在庫があることを表す在庫フラグと、に対応付けられた1以上の識別情報を、情報記憶部290から抽出する。これらのため、情報処理システム1は、販売店及び倉庫の1つ以上に在庫がある商品のそれぞれについて所要時間を特定できる。
本変形例に係る特定部240は、抽出された1つ以上の識別情報でそれぞれ識別される販売店又は倉庫の内で、第1ユーザに商品を提供する1つの販売店又は倉庫を、特定された1つ以上の所要時間に基づいて決定する。また、特定部240は、特定された所要時間が最も短い販売店又は倉庫を第1ユーザに商品を提供する販売店又は倉庫に決定する。これらのため、情報処理システム1は、第1ユーザによって指定された指定場所へ商品が移動機900によって運搬されるのに要する所要時間を短くできるため、移動機900の運搬効率と、第1ユーザの利便性と、を向上できる。移動機900の配達効率は、例えば、単位時間あたりに移動機900が指定場所へ運搬できる商品の数で表されるが、これに限定される訳ではない。
本変形例に係る情報処理システム1は、決定された1つの販売店又は倉庫に応じた送信先である情報処理装置310又は320へ移動機900を識別する機体ID「900」を送信するデータ通信回路204aをさらに備える。このため、情報処理システム1は、第1ユーザによって指定された指定場所を販売店又は倉庫に応じた送信先に送信しなくとも、送信された機体ID「900」によって識別される移動機900に販売店又は倉庫の従業員が商品を積み込めば、商品を指定場所まで移動機900に運搬させることができる。よって、情報処理システム1は、第1ユーザの指定場所を含む第1ユーザの個人情報が漏洩することを抑制できる。また、指定場所の住所は、第1ユーザの住所で表されたり、第1ユーザの住所及び氏名の組み合わせで表されたりすることが多いため、情報処理システム1は、第1ユーザの住所及び氏名を含む個人情報が漏洩することを抑制できる。
本変形例に係る特定部240は、移動機900の位置から商品を受け取る受取場所までの第1ルートと、受取場所から指定場所までの第2ルートと、を含む移動ルートをさらに決定し、かつ、決定された移動ルートに基づいて所要時間を特定する。また、受取場所は、第1ユーザに商品を提供する販売店又は倉庫として決定された1つの販売店又は倉庫の位置と、移動機900の位置と、の間に位置する場所である。これらのため、情報処理システム1は、受取場所が販売店又は倉庫の位置である場合に比べて、より短い所要時間を特定できる。
<実施例1の変形例8>
実施例1の変形例5では、情報処理装置200の特定部240は、商品が移動機900に運搬されて指定場所へ到着する到着時刻の特定を行うと説明した。また、実施例1の変形例7では、情報処理装置200の特定部240は、選択商品を指定場所へ運搬するのに要する所要時間が最も短い販売店又は倉庫を、第1ユーザに商品を提供する提供販売店又は提供倉庫に決定すると説明した。
しかし、これらに限定される訳ではなく、実施例1の変形例5と、実施例1の変形例7と、は組み合わせることができる。実施例1の変形例5と、実施例1の変形例7と、の組み合わせである本変形例に係る情報処理装置200の特定部240は、選択商品が移動機900に運搬されて指定場所へ到着する到着時刻が最も早い販売店又は倉庫を、第1ユーザに商品を提供する提供販売店又は提供倉庫に決定する。
<実施例1の変形例9>
実施例1では、情報処理システム1は、移動機400を備えると説明した。また、実施例1では、移動機400は、販売店SH2の従業員によって使用されて、販売店SH2で販売された商品を販売店SH2から受取場所まで運搬するが、販売店SH1の従業員によって使用されず、販売店SH1で販売された商品を運搬しないと説明した。
しかし、これに限定される訳ではなく、情報処理システム1は、移動機400を備えなくとも良い。また、これに限定される訳ではなく、情報処理システム1は、移動機400と、不図示の移動機と、を備えても良い。この場合、不図示の移動機は、販売店SH1の従業員によって使用されて、販売店SH1で販売された商品を販売店SH1から受取場所まで運搬し、移動機400は、販売店SH2の従業員によって使用されて、販売店SH2で販売された商品を販売店SH2から受取場所まで運搬しても良い。
<実施例1の変形例10>
実施例1では、受取可能場所は、移動機400及び移動機900が停車可能な道路及び駐車場を含むと説明したが、これに限定される訳ではない。受取可能場所は、移動機400及び移動機900が停車可能な、共同住宅、オフィスビル、ホテル、コンビニエンスストア若しくはデパートを含む商業施設、若しくは、公共施設のエントランス、又は、一軒家の玄関先であっても良い。また、受取可能場所は、共同住宅、オフィスビル、ホテル、商業施設、又は、公共施設のロビーであっても良いし、一軒家、共同住宅、オフィスビル、ホテル、商業施設、若しくは、公共施設の庭、駐車場、又は、公園であっても良い。
また、実施例1では、移動機400は、受取場所に到着すると受取場所に停車し、移動機900は、受取場所又は指定場所に到着すると、受取場所又は指定場所に停車すると説明したが、これらに限定される訳ではない。移動機400は、受取場所に到着すると受取場所で、予め定められた速度以下の速度で、巡回走行又は往復走行をしても良いし、移動機900は、受取場所又は指定場所に到着すると、受取場所又は指定場所で、予め定められた速度以下の速度で、巡回走行又は往復走行をしても良い。
<実施例1の変形例11>
実施例1では、情報処理装置200は、第1ユーザによって選択された1つの商品情報に係る選択商品の1つについて販売を仲介すると説明したが、これに限定される訳ではない。情報処理装置200は、選択商品の複数について販売を仲介しても良い。この場合、移動機400は、販売された複数の商品を不図示の格納庫に格納して、販売店SH2から受取場所まで移動すれば良いし、移動機900は、販売された複数の商品を格納庫920に格納して、受取場所から第1ユーザに指定された指定場所まで移動すれば良い。販売された複数の商品は、例えば、段ボールである1つの梱包容器に入れられて、移動機400及び移動機900によって運搬されても良いし、複数の梱包容器に別々に入れられて、移動機400及び移動機900によって運搬されても良い。
また、移動機900の格納庫920は、1つの格納ボックス921を備えると説明したが、これに限定される訳ではなく、複数の格納ボックス921を備えても良い。また、移動機900の不図示の格納庫は、複数の格納ボックスを備えても良い。
<実施例1の変形例12>
実施例1では、情報処理システム1は、第1ユーザに関連付けられる移動機900を備えないと説明したが、これに限定される訳ではなく、移動機900を備えても良い。また、実施例1では、移動機900は、第1ユーザに関連付けられると説明したが、これに限定される訳ではなく、第1ユーザに関連付けられなくとも良い。
<実施例1の変形例13>
実施例1では、情報処理装置100は、スマートフォンであると説明したが、これに限定される訳ではなく、タブレット型のパーソナルコンピュータ、又は、ノートブック型のパーソナルコンピュータであっても良い。
<実施例1の変形例14>
実施例1では、情報処理システム1は、移動機900の構成及び機能と同様の構成及び機能を有し、かつ、無人地上車両である移動機400を備えると説明した。しかし、これに限定される訳ではなく、本変形例に係る情報処理システム1は、図20に示すような、例えば、ドローン等の無人航空機である移動機500を備える。
このため、本変形例に係る移動機500の機体性能は、移動機500の移動性能を含み、移動機500の移動性能は、移動機500の飛行性能を含む。また、移動機500の飛行性能は、移動機500が達成可能な飛行速度で表される。本変形例において、移動機500の飛行性能は、移動機500の最高飛行速度で表されるが、これに限定される訳ではなく、移動機500の平均飛行速度で表されても良い。
本変形例に係る移動機500は、移動機500の姿勢及び飛行を制御する情報処理装置590と、情報処理装置590の前面から右前方及び左前方、並びに、情報処理装置590の後面から左後方及び右後方にそれぞれ突出したプロペラアーム501及び502、並びに、503及び504と、を備える。また、移動機500は、プロペラアーム501から504の先端にそれぞれ設置されたプロペラ511から514、及び、情報処理装置590の制御に従ってプロペラ511から514を回転させる不図示のモータを備える。
さらに、移動機500の情報処理装置590の下面には、商品を格納する格納庫520が設置されている。移動機500が備える格納庫520の構成及び機能は、移動機900が備える格納庫920の構成及び機能と同様である。
また、移動機500は、情報処理装置590の前面に設けられたLiDARセンサ531と、情報処理装置590の後面に設けられた不図示のLiDARセンサと、を備える。移動機500が備える前面のLiDARセンサ531と後面のLiDARセンサとの構成及び機能は、それぞれ移動機900が備える前面のLiDARセンサ931と後面のLiDARセンサとの構成及び機能と同様である。
さらに、移動機500は、移動機500の前方を撮像できるように光軸及び画角を調整された撮像装置540を、情報処理装置590の上面にさらに備える。移動機500が備える撮像装置540の構成及び機能は、移動機900が備える撮像装置940の構成及び機能と同様である。
また、移動機500は、情報処理装置590の下面から下方に突出しており、情報処理装置590を支持する支持脚560をさらに備えている。
移動機500の情報処理装置590は、ハードウェアである不図示のCPU、RAM、ROM、フラッシュメモリ、短距離無線通信回路、長距離無線通信回路、ビデオカード、表示装置、入力装置、位置計測回路、入出力ポート、及び、駆動回路を備える。移動機500の情報処理装置590が備えるこれらのハードウェアの構成及び機能は、図14に示した移動機900の情報処理装置990が備えるハードウェアの構成及び機能と同様である。
移動機500の駆動回路は、プロペラ511から514を回転させる不図示のモータにそれぞれ接続された不図示のケーブルに接続されている。駆動回路は、CPUが出力する信号に従って、プロペラ511から514を回転させる不図示のモータを駆動させる。
移動機500のデータ通信回路が、情報処理装置200から送信された移動命令を受信すると、移動機500のCPUは、移動命令に従って移動するために、不図示の移動処理を実行する。
移動処理の実行を開始すると、移動機500のCPUは、図15のステップS91からS95と同様の処理を実行する。これにより、移動命令を取得し、販売店SH2から受取場所へ到る第3ルートを表す情報を移動命令から取得し、離陸のための制御信号及び第3ルートを最高速度で順行飛行するための制御信号を順に駆動回路へ出力する。駆動回路は、制御信号に従って、プロペラ511から514を回転させるモータを駆動させる。
その後、移動機500のCPUは、終点に到着したと判別すると、終点である受取場所に着陸するための制御信号を駆動回路へ出力する。その後、移動機500のCPUは、ステップS96と同様の処理を実行することで、到着報告を長距離無線通信回路へ出力してから、移動処理の実行を終了する。
実施例1及び本変形例では、移動機900は、地上走行車両であると説明したが、これに限定される訳ではない。移動機900は、移動機500の構成及び機能と同様の構成及び機能を有する無人航空機であっても良い。
このため、本変形例に係る移動機900の機体性能は、移動機900の飛行性能を含み、移動機900の飛行性能は、移動機900が達成可能な飛行速度で表される。本変形例において、移動機900の飛行性能は、移動機900の最高飛行速度で表されるが、これに限定される訳ではなく、移動機900の平均飛行速度で表されても良い。
この場合、無人航空機である移動機900は、実施例1の変形例3で説明したロボットアーム980を備えており、図17に示した受取処理を実行することで、実施例1で説明した地上走行車両である移動機400から、又は、本変形例で説明した無人航空機である移動機500から、ロボットアーム980を用いて商品を受け取っても良い。
また、これに限定される訳ではなく、地上走行車両である移動機400が、又は、無人航空機である移動機500が、不図示のロボットアームを備え、移動機400又は500から無人航空機である移動機900に、当該ロボットアームを用いて商品を受け渡しても良い。
さらに、これに限定される訳ではなく、地上走行車両である移動機400が、又は、無人航空機である移動機500が、移動機400又は500から商品を、移動機400又は500のロボットアームを用いて取り出し、無人航空機である移動機900が、取り出された商品を、移動機900のロボットアーム980を用いて受け取っても良い。
また、本変形例では、移動機500は、無人航空機であると説明したが、これに限定される訳ではなく、無人飛翔体であっても良い。さらに、本変形例では、移動機500は、プロペラ511から514で揚力及び推力を得るドローンであると説明したが、これに限定される訳ではない。移動機500は、翼を備え、翼で揚力を得えても良いし、空気よりも比重の小さい気体で満たされた気嚢を備え、気嚢で揚力を得えても良い。また、移動機500は、ジェットエンジン又はロケットエンジンを備え、ジェットエンジン又はロケットエンジンで推力を得ても良い。
移動機900は、移動機500と同様に、無人飛翔体でも良いし、翼を備え、翼で揚力を得えても良いし、気嚢を備え、気嚢で揚力を得えても良いし、ジェットエンジン又はロケットエンジンを備え、ジェットエンジン又はロケットエンジンで推力を得ても良い。
また、受取可能場所は、移動機900が無人航空機である場合には、移動機500及び移動機900が、着陸可能な道路及び駐車場を含むが、これに限定される訳ではない。受取可能場所は、移動機500及び移動機900が着陸可能な、共同住宅、オフィスビル、ホテル、商業施設、若しくは、公共施設のエントランス、又は、一軒家の玄関先であっても良い。また、受取可能場所は、共同住宅、オフィスビル、ホテル、商業施設、若しくは、公共施設のロビーであっても良いし、一軒家、共同住宅、オフィスビル、ホテル、商業施設、若しくは、公共施設の庭、ベランダ、若しくは、屋上、駐車場、又は、公園であっても良い。
また、移動機500は、受取場所に到着すると受取場所に着陸するのではなく、予め定められた速度以下の速度で巡回飛行若しくは往復飛行をしても良いし、又は、予め定められた範囲内の高度でホバリング飛行をしても良い。また、移動機900は、受取場所又は指定場所に到着すると、受取場所又は指定場所で着陸するのではなく、予め定められた速度以下の速度で巡回飛行若しくは往復飛行をしても良いし、又は、予め定められた範囲内の高度でホバリング飛行をしても良い。
<実施例1の変形例15>
実施例1の変形例14では、移動機500は、情報処理装置590の下面に、商品を格納する格納庫520を備えると説明したが、これに限定される訳ではない。本変形例に係る移動機500は、情報処理装置590の下面に、商品を囲持する、図21に示すような第1囲持枠521aと、第2囲持枠521bと、を備える。
移動機500の第1囲持枠521aは、商品を梱包する直方体形状の段ボールの側面の内の1つが有する4辺を囲持し、第2囲持枠521bは、第1囲持枠521aによって囲持される面(以下、第1囲持面という)と対向する側面(以下、第2囲持面という)が有する4辺を囲持する。
また、本変形例に係る移動機500は、商品の第1囲持面及び第2囲持面の法線方向に延設され、第1囲持枠521aと第2囲持枠521bとを吊持し、かつ、第1囲持枠521aと第2囲持枠521bとの移動方向を延設方向にするガイドレール522a及び522bを、情報処理装置590の下面に備える。
さらに、移動機500は、情報処理装置590の制御に従って、第1囲持枠521aと第2囲持枠521bとを互いに近づく方向へ移動させることで、第1囲持枠521aと第2囲持枠521bとに商品を囲持させる不図示のモータを備える。この不図示のモータは、情報処理装置590の制御に従って、第1囲持枠521aと第2囲持枠521bとを互いに遠ざかる方向に移動させることで、囲持された商品を第1囲持枠521aと第2囲持枠521bとに開放させる。
移動機500の不図示の駆動回路は、不図示のCPUが出力する信号に従って、第1囲持枠521aと第2囲持枠521bとを移動させる不図示のモータを駆動させる。
移動機900は、不図示の第1囲持枠及び第2囲持枠と、ガイドレールと、第1囲持枠及び第2囲持枠をガイドレールに従って移動させる不図示のモータと、を備えても良い。移動機900の第1囲持枠及び第2囲持枠と、ガイドレールと、モータと、が有する構成及び機能は、移動機500の第1囲持枠521a及び第2囲持枠521bと、ガイドレール522a及び522bと、第1囲持枠521aと第2囲持枠521bとを移動させるモータと、が有する構成及び機能と同様であれば良い。
<実施例1の変形例16>
実施例1では、指定場所は、商品を購入する第1ユーザによって予め指定されていると説明したが、第1ユーザが指定場所を指定するタイミングは、図5に示した販売仲介処理の実行前であれば、どのようなタイミングであっても良い。
また、指定場所は、販売仲介処理の実行前に、第1ユーザによって指定された場所に限定される訳ではなく、販売仲介処理の実行中に、第1ユーザによって指定された場所であっても良い。このため、第1ユーザの情報処理装置100が備えるCPU101は、入力装置105cが出力する第1ユーザの操作に応じた信号に基づいて、第1ユーザによって指定された指定場所を住所で表す情報を取得し、取得された情報を含む商品頁の送信要求を、図3のステップS09で、情報処理装置200を宛先として出力すれば良い。情報処理装置200の取得部210は、図5のステップS27で受け付けられた商品頁の送信要求から、指定場所を住所で表す情報を取得すれば良い。
指定場所は、例えば、第1ユーザが居住する共同住宅のエントランス、又は、第1ユーザが商品を贈与する友人等である第2ユーザが居住する共同住宅のエントランスであっても良く、移動機900が停車できる場所であれば、どのような場所であっても良い。
<実施例1の変形例17>
実施例1では、移動機400及び900は、無人地上車両であると説明した。また、実施例1の変形例14では、移動機500及び900は、無人航空機であると説明した。しかし、移動機400、500、及び、900は、必ずしも無人である必要はなく、情報処理装置200による制御を除き、自律して移動する物体であれば、人が乗っていても良い。
<実施例1の変形例18>
実施例1では、情報処理装置200は、情報記憶部290を備えると説明したが、これに限定される訳ではない。本変形例に係る情報処理装置200は、情報記憶部290を備えない。本変形例に係る情報処理装置200は、例えば、NAS(Network Attached Storage)であり、かつ、情報記憶部290の機能と同様の機能を有する不図示の情報記憶装置とインターネットINを介して接続されており、情報記憶装置が記憶する情報を用いて、図5に示した販売仲介処理を実行する。本変形例に係る情報処理システム1は、情報記憶装置を備えても良いし、情報記憶装置を備えなくても良い。
<実施例1の変形例19>
実施例1では、情報処理システム1は、情報処理装置200を備えると説明した。また、実施例1では、情報処理装置200のCPU201は、図5の販売仲介処理、図10の商品頁生成処理、図11の所要時間特定処理、及び、図12の移動制御処理を実行することで、図6に示した取得部210、認証部220、受付部230、特定部240、通知部250、及び、制御部260として機能すると説明した。また、情報処理装置200のハードディスク203bは、情報記憶部290として機能すると説明した。
しかし、これらに限定される訳ではなく、情報処理システム1は、情報処理装置200を備えなくとも良い。この場合、図5の販売仲介処理、図10の商品頁生成処理、図11の所要時間特定処理、及び、図12の移動制御処理は、移動機900が備える情報処理装置990のCPU991、又は、第1ユーザによって携帯される情報処理装置100のCPU101によって実行されても良い。このため、情報処理装置200のCPU201は、取得部210、認証部220、受付部230、特定部240、通知部250、及び、制御部260として機能せず、移動機900のCPU991、又は、情報処理装置100のCPU101が、これらの機能部に相当する不図示の機能部として機能しても良い。また、情報処理装置200のハードディスク203bは、情報記憶部290として機能せず、移動機900のフラッシュメモリ993b、又は、情報処理装置100のフラッシュメモリ103bが、情報記憶部290に相当する不図示の機能部として機能しても良い。
また、これに限定される訳ではなく、図5の販売仲介処理、図10の商品頁生成処理、図11の所要時間特定処理、及び、図12の移動制御処理は、情報処理装置200のCPU201と、移動機900のCPU991と、情報処理装置100のCPU101と、の1つ以上によって分散実行されても良い。
<実施例2>
実施例1では、情報処理装置200は、第1ユーザによって選択された1つの商品情報に係る選択商品の販売を仲介すると説明したが、これに限定される訳ではない。本実施例に係る情報処理装置200は、第1ユーザによって選択された商品情報に係る第1商品と、第1商品の種別と異なる種別の商品であり、かつ、第1商品を移動機900が指定場所へ運搬するのに要する所要時間で、又は、当該所要時間よりも予め定められた時間だけ長い時間内に、移動機900が指定場所へ運搬できる第2商品と、の販売を仲介する。本実施例では、時間内とは、当該時間と、当該時間よりも短い時間と、を含む。以下、実施例1と同様の構成については、実施例1で用いた符号と同一の符号を用いて説明するが、本実施例と実施例1との相違について主に説明する。
本実施例において、第1ユーザによって操作される情報処理装置100は、第1商品と第2商品との購入のために、図22に示すような購入処理を実行する。購入処理の実行が開始されると、情報処理装置100のCPU101は、図3のステップS01からS07の処理と同様の処理を実行する(ステップS111からS117)。これにより、情報処理装置100は、購入可能商品に係る商品情報の一覧が記載された第1の一覧頁を情報処理装置200から受信し、表示する。
次に、情報処理装置100は、ステップS08からS10の処理と同様の処理を実行する(ステップS118からS120)。これにより、情報処理装置100は、第1の一覧頁を視認した第1ユーザが購入を検討する第1商品に係る商品情報を取得する。その後、情報処理装置100は、取得された第1商品に係る商品情報を含み、第1商品の説明と、第1商品を指定場所まで移動機900が運搬するのに要する所要時間と、が記載された商品頁の送信を求める送信要求を情報処理装置200へ送信する。その後、情報処理装置100は、第1商品の商品頁を情報処理装置200から受信すると、受信された商品頁を表示する。
商品頁に記載された第1商品の説明及び所要時間を視認した第1ユーザは、所要時間を承認しない場合、第1の一覧頁を再表示させるための操作(以下、第1再表示操作という)を情報処理装置100に行う。情報処理装置100の入力装置105cが第1再表示操作に応じた信号を出力すると、CPU101は、所要時間が承認されなかったと判別し(ステップS121;No)、ステップS116から上記処理を繰り返す。
これに対して、第1ユーザは、所要時間を承認し、かつ、第1商品の購入を決定すると、購入操作を情報処理装置100に行う。情報処理装置100の入力装置105cが購入操作に応じた信号を出力すると、CPU101は、所要時間が承認され、かつ、第1商品の購入が決定されたと判別する(ステップS121;Yes及びステップS122;Yes)。その後、CPU101は、図3のステップS12の処理と同様の処理を実行することで(ステップS129)、第1商品に係る商品情報を含み、第1商品の所要時間が承認されたことを告げる報告であり、かつ、第1商品の販売を求める要求である販売要求を出力してから販売処理の実行を終了する。
これに対して、第1ユーザは、所要時間を承認するが、第2商品の購入を検討するために、第1商品の購入を決定せずに保留する場合、第2商品に係る商品情報と、第2商品を販売する販売店の販売店IDと、の一覧が記載された第2の一覧頁を表示させるための操作(以下、一覧表示操作という)を情報処理装置100に行う。情報処理装置100の入力装置105cが一覧表示操作に応じた信号を出力すると、CPU101は、所要時間が承認され、かつ、第1商品の購入が決定されなかったと判別する(ステップS121;Yes及びステップS122;No)。
次に、情報処理装置100のCPU101は、所要時間が承認されたことを告げる報告であり、かつ、第2の一覧頁の送信を求める要求(以下単に、第2の一覧頁の送信要求という)を、情報処理装置200を宛先として長距離無線通信回路104bへ出力する(ステップS123)。長距離無線通信回路104bが当該送信要求を情報処理装置200した後に、第2の一覧頁を情報処理装置200から受信すると、CPU101は、長距離無線通信回路104bから第2の一覧頁を取得し、取得された第2の一覧頁を、表示装置105bに表示させる(ステップS124)。
第2の一覧頁を視認した第1ユーザは、第2の一覧頁に記載された商品情報と販売店IDとの組み合わせから、購入を検討する第2商品に係る商品情報と、当該第2商品を販売する販売店SH1又はSH2の販売店ID「SH1」又は「SH2」と、の組み合わせを1つ選択する操作を情報処理装置100に行う。情報処理装置100の入力装置105cが当該操作に応じた信号を出力すると、情報処理装置100のCPU101は、当該信号に基づいて選択された商品情報と販売店ID「SH1」又は「SH2」との組み合わせを取得する(ステップS125)。
次に、情報処理装置100のCPU101は、第1ユーザによって選択された商品情報と販売店ID「SH1」又は「SH2」との組み合わせを含み、かつ、販売店SH1又はSH2で販売される第2商品の説明が記載されたウェブページ(以下、第2商品の商品頁という)の送信を求める送信要求を生成する。その後、CPU101は、生成された送信要求を、情報処理装置200を宛先として長距離無線通信回路104bへ出力する(ステップS126)。
その後、情報処理装置100の長距離無線通信回路104bが送信要求を情報処理装置200に送信した後に、第2商品の商品頁を情報処理装置200から受信すると、CPU101は、受信された第2商品の商品頁を取得し、取得された商品頁を表示装置105bに表示させる(ステップS127)。
商品頁に記載された第2商品の説明を視認した第1ユーザは、第2商品の購入を決定しないと、第2の一覧頁を再表示させるための操作(以下、第2再表示操作という)を情報処理装置100に行う。情報処理装置100の入力装置105cが第2再表示操作に応じた信号を出力すると、CPU101は、第2商品の購入が決定されなかったと判別する(ステップS128;No)。その後、CPU101は、ステップS123から上記処理を繰り返すことで、第2の一覧頁を再表示させる。
これに対して、第1ユーザは、第1商品及び第2商品の購入を決定すると、購入操作を情報処理装置100に行う。情報処理装置100の入力装置105cが購入操作に応じた信号を出力すると、CPU101は、第1商品及び第2商品の購入が決定されたと判別する(ステップS128;Yes)。その後、CPU101は、第1商品に係る商品情報と、第2商品に係る商品情報と、第2商品を販売する販売店SH1又はSH2の販売店ID「SH1」又は「SH2」と、を含み、かつ、第1商品と第2商品との販売を求める販売要求を生成する。次に、CPU101は、生成された販売要求を、情報処理装置200を宛先としてデータ通信回路204aに出力してから(ステップS129)、購入処理の実行を終了する。
本変形例に係る情報処理装置200は、第1商品及び第2商品の販売を仲介する、図23に示すような販売仲介処理を実行する。販売仲介処理の実行を開始すると、情報処理装置200は、図5のステップS21からS29の処理と同様の処理を実行する(ステップS131からS139)。これにより、情報処理装置200は、第1商品を移動機900が指定場所へ運搬するのに要する所要時間を特定し、特定された所要時間を含む商品頁を情報処理装置100へ送信する。
次に、情報処理装置200のデータ通信回路204aが販売要求ではなく、第1の一覧頁を送信するように求める送信要求を受信すると、情報処理装置200の制御部260は、第1商品の所要時間が承認されなかったと判別する(ステップS140;No)。その後、情報処理装置200は、ステップS134から上記処理を繰り返す。
これに対して、情報処理装置200のデータ通信回路204aが、第1商品の商品情報を含むが第2商品の商品情報を含まない販売要求を受信すると、制御部260は、第1商品の所要時間が承認され、かつ、第1商品の販売が求められたと判別する(ステップS140;Yes及びステップS141;Yes)。その後、情報処理装置200は、図5のステップS31からS37と同様の処理を実行することで(ステップS149からS155)、特定された所要時間で、販売された第1商品を指定場所へ運搬させる制御を、移動機900に、又は、移動機400と移動機900とに行ってから、販売仲介処理の実行を終了する。
これに対して、情報処理装置200のデータ通信回路204aが販売要求ではなく、第2の一覧頁の送信を求める送信要求を受信すると、制御部260は、第1商品の所要時間が承認されたが、第2商品の購入を検討するため、第1商品の販売が求められずに保留されたと判別する(ステップS140;Yes及びステップS141;No)。
その後、情報処理装置200の受付部230は、データ通信回路204aで受信された送信要求を受け付ける(ステップS142)。次に、情報処理装置200は、第2の一覧頁を生成する、図24に示すような一覧頁生成処理を実行する(ステップS143)。
一覧頁生成処理の実行を開始すると、情報処理装置200の特定部240は、商品情報と販売店IDとが全く記載されていないウェブページを第2の一覧頁として生成する。
次に、情報処理装置200の取得部210は、図9の商品テーブルから、在庫があることを表す在庫フラグと対応付けられた販売店IDを1又は複数取得する(ステップS161)。次に、特定部240は、取得された1又は複数の販売店IDの内で、未注目の販売店IDがあると判別すると(ステップS162;Yes)、未注目の販売店IDの1つに注目する(ステップS163)。本実施例では、説明を簡単にするため、販売店SH1を識別する販売店ID「SH1」について注目された場合を具体例として挙げて以下の説明を行う。
その後、情報処理装置200の特定部240は、図10のステップS46において第1商品を第1ユーザに提供する販売店として決定された提供販売店と、注目販売店ID「SH1」で識別される注目販売店SH1と、が同じ販売店であるか否かを判別する(ステップS164)。本実施例では、説明を簡単にするため、販売店SH1が第1ユーザに第1商品を提供する提供販売店に決定された場合を具体例として挙げて以下の説明を行う。
このとき、情報処理装置200の特定部240は、注目販売店ID「SH1」が提供販売店SH1を識別する販売店ID「SH1」と一致しているため、注目販売店SH1と提供販売店SH1とが同じ販売店であると判別する(ステップS164;Yes)。このため、特定部240は、注目販売店SH1に在庫がある商品は、第1商品と共に移動機900に運搬させれば、第1商品の所要時間で運搬させることができると判別する。よって、注目販売店SH1に在庫がある商品は、第2商品である、と特定部240は判別する。
このような判別がされるのは、本実施例では、販売店SH1の従業員が第1商品だけを移動機400に積み込むのに要する積込時間と、第1商品だけでなく、第1商品の種別と異なる種別の商品も移動機400に積み込むのに要する積込時間と、に相違が無いからである。しかし、第1商品だけの積込時間と、第1商品及び第1商品の種別と異なる種別の商品の積込時間と、に相違があっても良い。この場合、予め定められた時間が積込時間の相違よりも長い時間に予め設定されており、かつ、注目販売店SH1に在庫がある商品は、第1商品と共に移動機900に運搬させれば、第1商品の所要時間よりも予め定められた時間だけ長い時間内に運搬させることができるため、第2商品である、と特定部240が判別しても良い。積込時間の相違は、過去に計測された相違の平均値であっても良いし、過去に計測された相違の最大値であっても良く、予め定められた時間の好適な値は、当業者が実験により定めることができる。
その後、情報処理装置200の取得部210は、図9の商品テーブルから、注目販売店SH1の販売店ID「SH1」と、在庫があることを表す在庫フラグと、対応付けられており、かつ、第1商品に係る商品情報と異なる商品情報を1又は複数取得する。次に、特定部240は、取得された1又は複数の商品情報と、注目販売店IDと、を互いに組み合わせて第2の一覧頁に追加する(ステップS171)。
その後、情報処理装置200は、ステップS162から上記処理を繰り返す。本実施例では、説明を簡単にするため、販売店SH2を識別する販売店ID「SH2」が未注目であり、当該販売店ID「SH2」について注目された場合を具体例として挙げて以下の説明を行う。
ステップS162において、情報処理装置200の特定部240は、未注目の販売店ID「SH2」があると判別すると(ステップS162;Yes)、未注目の販売店ID「SH2」に注目する(ステップS163)。次に、情報処理装置200の特定部240は、注目販売店ID「SH2」が提供販売店SH1の販売店ID「SH1」と一致していないため、注目販売店SH2と提供販売店SH1とが別の販売店であると判別する(ステップS164;No)。
その後、情報処理装置200は、図11のステップS53及びS54の処理と同様の処理を実行することで(ステップS165及びS166)、注目販売店SH2の従業員が移動機を使用すると判別し、かつ、使用される当該移動機が移動機400であると判別する(ステップS166;Yes)。次に、情報処理装置200の取得部210は、図8の販売店テーブルから、注目販売店SH2の販売店ID「SH2」と対応付けられた位置情報と性能情報とを取得する(ステップS167)。
その後、情報処理装置200の特定部240は、図11のステップS60の処理と同様の処理を実行することで(ステップS168)、注目販売店SH2から第1商品の受取場所へ到る移動機400の第3ルートを決定する。
次に、情報処理装置200の取得部210は、注目販売店ID「SH2」に対応付けられた積込時間を表す情報を取得する。その後、特定部240は、移動機400の性能情報と第3ルートの距離とに基づいて、移動機400が受取場所まで移動するのに要する移動時間を特定する。次に、特定部240は、取得された情報で表される積込時間を、移動機400の移動時間に加算することで、商品が受取場所まで運搬されるのに要する運搬時間を特定する(ステップS169)。
次に、情報処理装置200の特定部240は、注目販売店SH2の商品が受取場所まで運搬されるのに要する運搬時間の長さが、第1ユーザに関連付けられた移動機900が受取場所まで移動するのに要する移動時間の長さ以下であるか否かを判別する(ステップS170)。このとき、特定部240は、注目販売店SH2の運搬時間の長さが移動機900の移動時間の長さ以下であると判別すると(ステップS170;Yes)、注目販売店SH2に在庫がある商品は、第1商品の所要時間と同じ時間で、又は、第1商品の所要時間よりも予め定められた時間だけ長い時間内に、移動機900に指定場所まで運搬させることができると判別する。よって、注目販売店SH2に在庫がある商品は、第2商品である、と特定部240は判別する。
このような判別がされるのは、本実施例では、予め定められた時間は、受取場所である販売店SH1の従業員が移動機400から販売店SH2の商品を取り出すのに要する取出時間よりも長い時間に予め設定されているからである。積込時間に相違がある場合には、予め定められた時間は、上述した積込時間の相違よりも長く、かつ、取出時間よりも長い時間に予め設定されていれば良い。取出時間は、従業員が販売店SH2の商品を取り出すのに過去に要した時間の平均値であっても良いし、最大値であっても良く、予め定められた時間の好適な値は、当業者が実験により定めることができる。
すなわち、このような判別がされるのは、移動機900が第1商品の受取場所に到着する以前に、注目販売店SH2の商品を格納した移動機400が受取場所に到着すれば、受取場所である提供販売店SH1の従業員は、移動機900が受取場所に到着してから予め定められた時間が経過する以前に、注目販売店SH2の商品を移動機400から取り出すことができる。このため、従業員が、取り出された商品を第1商品と共に移動機900に積み込めば、当該商品と第1商品との運搬に要する所要時間は、第1商品だけの運搬に要する所要時間よりも、予め定められた時間以下の時間しか長くならないためである。
また、移動機900が受取場所に到着する以前に、移動機400が受取場所に到着し、かつ、従業員が注目販売店SH2の商品を移動機400から取り出すことができれば、当該従業員は、移動機900の到着後直ちに第1商品と注目販売店SH2の商品とを移動機900に格納させることができる。このため、当該商品と第1商品との運搬に要する所要時間は、第1商品だけの運搬に要する所要時間と同じ時間になるためである。
その後、情報処理装置200の取得部210は、図9の商品テーブルから、注目販売店SH2の販売店ID「SH2」と、在庫があることを表す在庫フラグと、対応付けられており、かつ、第1商品に係る商品情報と異なる商品情報を1又は複数取得する。次に、特定部240は、取得された1又は複数の商品情報と、注目販売店ID「SH2」と、を互いに組み合わせて第2の一覧頁に追加する(ステップS171)。その後、情報処理装置200は、ステップS162から上記処理を繰り返す。
ステップS170において、情報処理装置200の特定部240は、注目販売店SH2の運搬時間の長さが移動機900の移動時間の長さよりも長いと判別すると(ステップS170;No)、注目販売店SH2の商品は、第1商品の所要時間よりも予め定められた時間だけ長い時間内に、移動機900に指定場所まで運搬させることができないと判別する。その後、情報処理装置200は、ステップS162から上記処理を繰り返す。
ステップS162において、情報処理装置200の特定部240は、未注目の販売店IDがないと判別すると(ステップS162;No)、一覧頁生成処理の実行を終了する。
図23のステップS143で一覧頁生成処理を実行した後に、情報処理装置200は、図5のステップ26からS29と同様の処理を実行する(ステップS144からS147)。これにより、情報処理装置200は、第2の一覧頁を情報処理装置100へ送信する。その後、情報処理装置200は、第1ユーザによって選択された商品情報に係る第2商品の説明が記載された商品頁の送信を求める送信要求を受け付けてから、第2商品の商品頁を送信する。
本実施例では、説明を簡単にするため、販売店SH2が販売する第2商品の商品頁を送信するように求める送信要求が受け付けられた場合を具体例として挙げて以下の説明を行う。
その後、情報処理装置200のデータ通信回路204aが販売要求ではなく、第2の一覧頁の送信要求を受信すると、情報処理装置200の制御部260は、第2商品の販売が求められなかったと判別する(ステップS148;No)。その後、情報処理装置200は、ステップS142から上記処理を繰り返す。
これに対して、情報処理装置200のデータ通信回路204aが、第1商品の商品情報と、第2商品の商品情報と、第2商品を販売する販売店SH2の販売店ID「SH2」と、を含んだ販売要求を受信すると、制御部260は、第1商品と第2商品との販売が求められたと判別する(ステップS148;Yes)。その後、情報処理装置200は、図5のステップS31の処理と同様の処理を実行することで(ステップS149)、第1ユーザに関連付けられた移動機900の機体ID「900」を取得する。
次に、情報処理装置200の制御部260は、第1商品の商品情報と、第1商品を受け取る移動機900の機体ID「900」と、を含み、第1商品を販売して移動機900に受け渡すことを求める受渡要求を生成する。その後、制御部260は、生成された受渡要求を、第1商品を第1ユーザに提供する販売店として決定された提供販売店SH1の情報処理装置320を宛先としてデータ通信回路204aへ出力する。
また、情報処理装置200の制御部260は、第2商品の商品情報と、第2商品を受け取る移動機900の機体ID「900」と、を含む受渡要求を生成する。次に、制御部260は、販売要求に含まれた販売店ID「SH2」によって識別される販売店SH2に応じた送信先である情報処理装置320を宛先として、生成された受渡要求をデータ通信回路204aへ出力する(ステップS150)。
販売店SH1の情報処理装置310は、当該受渡要求を受信すると、受渡要求に含まれる第1商品の商品情報と、機体ID「900」と、を表示する。情報処理装置310の表示を視認した販売店SH1の従業員は、第1商品を、例えば、倉庫から見つけ出し、販売のための決済を行った後、移動機900の到着を待つ。
販売店SH2の情報処理装置320は、当該受渡要求を受信すると、受渡要求に含まれる第2商品の商品情報と、機体ID「900」と、を表示する。情報処理装置320の表示を視認した販売店SH2の従業員は、第2商品を見つけ出し、決済を行った後、販売店SH2の移動機400が備える不図示の格納庫に第2商品を積み込み、機体ID「900」を入力するための操作を移動機400に行う。移動機400は、当該操作に従って機体ID「900」を表示し、積込完了報告を情報処理装置200へ送信する。
ステップS150の処理を実行した後、本実施例に係る情報処理装置200は、第1商品及び第2商品を所要時間内に、又は、所要時間よりも予め定められた時間だけ長い時間内に、指定場所へ運搬させる制御を移動機400及び900に行うため、不図示の移動制御処理を実行する(ステップS151)。
移動制御処理の実行を開始すると、情報処理装置200は、図12のステップS71及びS72の処理と同様の処理を実行することで、第1ユーザに関連付けられた移動機900に機体ID「900」を表示させて受取場所である販売店SH1まで最高速度で移動させる。
次に、情報処理装置200は、ステップS73、S78、及び、S79の処理と同様の処理を実行することで、移動機400への第2商品の積込が完了したと判別すると、移動機400に機体ID「900」を表示させて受取場所まで最高速度で移動させる。
移動機400が受取場所である販売店SH1に到着すると、販売店SH1の従業員は、移動機400に表示された機体ID「900」が情報処理装置310に表示された機体ID「900」と一致しているか否か判別する。次に、従業員は、これらの機体ID「900」が一致していると判別すると、第2商品を移動機400から取り出す。また、移動機900が販売店SH1に到着すると、移動機900に表示された機体ID「900」が情報処理装置310に表示された機体ID「900」と一致しているか否か判別する。次に、従業員は、これらの機体ID「900」が一致していると判別すると、第1商品と第2商品とを移動機900に積み込み、第1商品の積込と第2商品の受取とが完了したことを告げる受取完了報告を送信させる操作を移動機900に行う。移動機900は、当該操作に応じて受取完了報告を送信する。
ステップS79の処理と同様の処理を実行した後、情報処理装置200は、ステップS82及びS83の処理と同様の処理を実行することで、第1商品の積込と第2商品の受取とが完了したと判別すると、移動機900の格納庫920を施錠させる。次に、情報処理装置200は、ステップS84、S85、及び、S77の処理と同様の処理を実行することで、移動機400を販売店SH2に帰還させ、かつ、移動機900を指定場所まで最高速度で移動させてから、不図示の移動制御処理の実行を終了する。
図23のステップS151の処理を実行した後に、情報処理装置200は、図5のステップS34からS37の処理と同様の処理を実行することで(ステップS152からS155)、第1商品と第2商品とを第1ユーザに受け渡した後に、販売仲介処理の実行を終了する。
これらの構成によれば、情報処理システム1は、特定された第1商品の所要時間を第1ユーザが使用する情報処理装置100へ送信するデータ通信回路204aを備える。また、特定部240は、第1商品の所要時間が承認されたことを告げる報告であり、かつ、第2の一覧頁の送信を求める要求である第2の一覧頁の送信要求がデータ通信回路204aによって受信されると、第1商品の所要時間で、又は、第1商品の所要時間よりも予め定められた時間だけ長い時間内に、第1商品と共に移動機900が指定場所へ運搬可能な第2商品を特定する。また、情報処理装置200のデータ通信回路204aは、特定された第2商品に係る商品情報を含む第2の一覧頁を情報処理装置100へ送信する。このため、情報処理システム1は、承認された所要時間を長くせずに、又は、承認された所要時間を予め定められた時間以下の時間しか長くせずに、移動機900に指定場所へ運搬させることができる第2商品に係る商品情報を情報処理装置100へ送信できる。よって、情報処理システム1は、例えば、第1商品の所要時間を情報処理装置100に送信した後に、所要時間を、予め定められた時間よりも長い時間延長してしまう商品に係る商品情報を情報処理装置100へ送信する場合と比べて、情報処理装置100を使用する第1ユーザの利便性を向上させることができる。
これらの構成によれば、情報処理システム1は、第1商品と第2商品との販売を求める販売要求がデータ通信回路204aによって受信されると、第1商品の所要時間で、又は、第1商品の所要時間よりも予め定められた時間だけ長い時間内に、第1商品と第2商品とを指定場所へ運搬させる制御を移動機900に行う制御部260を備える。このため、情報処理システム1は、移動機900の運搬効率を向上できる。
<実施例2の変形例1>
実施例2では、第1ユーザが、販売店SH1によって販売される第1商品と、販売店SH2によって販売される第2商品と、の購入を決定した場合を具体例として挙げて説明を行った。しかし、本変形例では、第1ユーザが、販売店SH1によって販売される第1商品と第2商品との購入を決定した場合を具体例として説明を行う。
このため、本変形例に係る情報処理装置200は、第1商品の商品情報と、第2商品の商品情報と、第2商品を販売する販売店SH1の販売店ID「SH1」と、を含んだ販売要求を、第1ユーザが使用する情報処理装置100から受信する。次に、情報処理装置200は、販売店SH1の第1商品と第2商品との販売が求められたと判別する(ステップS148;Yes)。
その後、情報処理装置200は、図5のステップS31の処理と同様の処理を実行することで(ステップS149)、第1ユーザに関連付けられた移動機900の機体ID「900」を取得する。次に、情報処理装置200の制御部260は、第1商品の商品情報と、第2商品の商品情報と、第1商品及び第2商品を受け取る移動機900の機体ID「900」と、を含み、第1商品及び第2商品を販売して移動機900に受け渡すことを求める受渡要求を生成する。その後、制御部260は、第1商品及び第2商品を販売する販売店SH1に応じた送信先である情報処理装置310を宛先として、生成された受渡要求をデータ通信回路204aへ出力する(ステップS150)。
販売店SH1の情報処理装置310は、当該受渡要求を受信すると、受渡要求に含まれる第1商品の商品情報と、第2商品の商品情報と、機体ID「900」と、を表示する。情報処理装置310の表示を視認した販売店SH1の従業員は、第1商品と第2商品とを、例えば、倉庫から見つけ出し、販売のための決済を行った後、移動機900の到着を待つ。
ステップS150の処理を実行した後、本実施例に係る情報処理装置200は、第1商品及び第2商品を所要時間内に指定場所へ運搬させる制御を移動機900に行うため、図12に示した移動制御処理を実行する(ステップS151)。
移動制御処理の実行を開始すると、情報処理装置200は、図12のステップS71からS73の処理を実行することで(ステップS71からS73)、移動機900に機体ID「900」を表示させて受取場所へ最高速度で移動させる。移動機900が受取場所である販売店SH1に到着すると、販売店SH1の従業員は、移動機900に表示された機体ID「900」が情報処理装置310に表示された機体ID「900」と一致しているか否かを判別する。従業員は、これらのIDが一致していると判別すると、第1商品と第2商品とを移動機900に積み込む。
ステップS73の処理を実行した後に、情報処理装置200は、ステップS74からS77の処理を実行することで(ステップS74からS77)、第1ユーザによって指定された指定場所まで移動機900を最高速度で移動させる。その後、情報処理装置200は、移動制御処理の実行を終了する。
図23のステップS151の処理を実行した後に、情報処理装置200は、図5のステップS34からS37の処理と同様の処理を実行することで(ステップS152からS155)、第1商品と第2商品とを第1ユーザに受け渡した後に、販売仲介処理の実行を終了する。
<実施例2の変形例2>
実施例2では、図10のステップS46において、販売店SH1が第1商品を第1ユーザに提供する提供販売店として決定された場合を具体例として挙げて説明を行った。しかし、本変形例では、販売店SH2が第1商品を第1ユーザに提供する提供販売店として決定された場合を具体例として挙げて説明を行う。
図24に示した一覧頁生成処理の実行を開始すると、本変形例に係る情報処理装置200は、ステップS161からS163の処理を実行することで(ステップS161からS163)、在庫がある販売店の内で、未注目の販売店の1つに注目する。本変形例では、説明を簡単にするため、販売店SH1を識別する販売店ID「SH1」について注目された場合を具体例として挙げて以下の説明を行う。
その後、情報処理装置200の特定部240は、注目販売店ID「SH1」が、第1商品を第1ユーザに提供する販売店として決定された提供販売店SH2の販売店ID「SH2」と一致していないため、注目販売店SH1と提供販売店SH2とが別の販売店であると判別する(ステップS164;No)。
次に、情報処理装置200は、図11のステップS53及びS54の処理と同様の処理を実行することで(ステップS165及びS166)、注目販売店SH1の従業員が移動機を使用しないと判別する(ステップS166;No)。このため、特定部240は、注目販売店SH1に在庫がある商品は、移動機900が注目販売店SH1まで受け取りに行かなければ、指定場所まで運搬できないと判別する。よって、特定部240は、注目販売店SH1に在庫がある商品は、販売店SH2で販売される第1商品を運搬する移動機900では、第1商品の所要時間を予め定められた時間よりも長い時間延長しなければ、指定場所まで運搬できないと判別する。このため、注目販売店SH1に在庫がある商品は、第2商品でない、と特定部240は判別する。
その後、情報処理装置200は、ステップS162から上記処理を繰り返す。ステップS162において、情報処理装置200の特定部240は、未注目の販売店IDがないと判別すると(ステップS162;No)、一覧頁生成処理の実行を終了する。
<実施例2の変形例3>
実施例2では、販売店SH2の移動機400が受取場所である販売店SH1に到着すると、販売店SH1の従業員が、移動機400に格納された第2商品を取り出し、取り出された第2商品を第1ユーザに関連付けられた移動機900に積み込むと説明したが、これに限定される訳では無い。
移動機900は、実施例1の変形例3で説明したロボットアーム980を備え、受取場所である販売店SH1に到着した移動機400から、ロボットアーム980を用いて、第2商品を取り出し、取り出された第2商品を移動機900の格納庫920に積み込んでも良い。この場合、予め定められた時間は、移動機900が商品を積み替えるために、ロボットアーム980を用いて移動機400から第2商品を取り出し、取り出された第2商品を移動機900の格納庫920に積み込むのに要する積替時間よりも長い時間に予め設定されていれば良い。積替時間は、移動機900が商品を積み替えるのに過去に要した時間の平均値であっても良いし、最大値であっても良く、予め定められた時間の好適な値は、当業者が実験により定めることができる。
また、これに限定される訳では無く、移動機400が、不図示のロボットアームを備え、受取場所である販売店SH1に到着すると、移動機400からロボットアーム980を用いて第2商品を取り出し、取り出された第2商品を移動機900の格納庫920に積み込んでも良い。
<実施例2の変形例4>
実施例2では、情報処理システム1は、販売店SH1の従業員によって使用される移動機を備えないため、販売店SH1が販売する第1商品と、販売店SH2が販売する第2商品と、の受取場所を販売店SH1に決定すると説明した。また、実施例2では、販売店SH1の従業員は、販売店SH2の移動機400が受取場所である販売店SH1に到着すると、移動機400に格納された販売店SH2の第2商品を取り出し、取り出された第2商品と、販売店SH1の第1商品と、を第1ユーザに関連付けられた移動機900に積み込むと説明した。
しかし、これに限定される訳では無く、情報処理システム1は、販売店SH1の従業員によって使用される不図示の移動機を備え、販売店SH1の第1商品と、販売店SH2の第2商品と、の受取場所を、販売店SH1及びSH2と、第1ユーザによって指定された指定場所と、の間に位置する場所に決定しても良い。この場合、移動機900は、実施例1の変形例3で説明したロボットアーム980を備え、受取場所に到着した販売店SH1の移動機からロボットアーム980を用いて、第1商品を取り出し、取り出された第1商品を移動機900の格納庫920に積み込んでも良い。また、この場合、移動機900は、受取場所に到着した販売店SH2の移動機400からロボットアーム980を用いて、第2商品を取り出し、取り出された第2商品を移動機900の格納庫920に積み込んでも良い。
<実施例2の変形例5>
商品が移動機900に運搬されて指定場所へ到着する到着時刻を特定する実施例1の変形例5と、実施例2と、は、組み合わせることができる。このため、実施例1の変形例5と実施例2との組み合わせである本変形例に係る情報処理システム1は、特定された第1商品の到着時刻を第1ユーザが使用する情報処理装置100へ送信するデータ通信回路204aを備える。また、情報処理装置200の特定部240は、第1商品の到着時刻が承認されたことを告げる報告であり、かつ、第2の一覧頁の送信を求める要求である第2の一覧頁の送信要求がデータ通信回路204aによって受信されると、第1商品の到着時刻に、又は、第1商品の到着時刻よりも予め定められた時間だけ遅い時刻までに、第1商品と共に移動機900が指定場所へ運搬可能な第2商品を特定する。また、情報処理装置200のデータ通信回路204aは、特定された第2商品に係る商品情報を含む第2の一覧頁を情報処理装置100へ送信する。このため、情報処理システム1は、承認された到着時刻を遅らせずに、又は、承認された到着時刻を予め定められた時間以下の時間しか遅らせずに、移動機900に指定場所へ運搬させることができる商品に係る商品情報を情報処理装置100へ送信できる。よって、情報処理システム1は、例えば、第1商品の所要時間を情報処理装置100に送信した後に、到着時刻を、予め定められた時間よりも長い時間遅延させてしまう商品に係る商品情報を情報処理装置100へ送信する場合と比べて、情報処理装置100を使用する第1ユーザの利便性を向上させることができる。
これらの構成によれば、情報処理システム1は、第1商品と第2商品との販売を求める販売要求がデータ通信回路204aによって受信されると、第1商品の到着時刻に、又は、第1商品の到着時刻よりも予め定められた時間だけ遅い時刻までに、第1商品と第2商品とを指定場所へ運搬させる制御を、移動機900に行う制御部260を備える。このため、情報処理システム1は、移動機900の運搬効率を向上できる。
<実施例2の変形例6>
実施例2では、情報処理装置200は、第1ユーザによって選択された商品情報に係る第1商品と、第1商品の種別と異なる種別の商品であり、かつ、第1商品を移動機900が指定場所へ運搬するのに要する所要時間で、又は、当該所要時間よりも予め定められた時間だけ長い時間内に、移動機900が指定場所へ運搬できる第2商品と、の販売を仲介すると説明した。
しかし、これに限定される訳では無く、情報処理装置200は、第1商品と、第1商品の種別と異なる種別の商品であり、かつ、第1商品の所要時間で、又は、当該所要時間よりも予め定められた時間だけ長い時間内に、移動機900が指定場所へ運搬できる第2商品から第K商品と、の販売を仲介しても良い(但し、Kは3以上の自然数)。
本発明の実施例1及び2、実施例1の変形例1から19、及び、実施例2の変形例1から6は、互いに組み合わせることができる。
実施例1及び2、実施例1の変形例1から19、及び、実施例2の変形例1から6のいずれかに係る機能を実現するための構成を備えた情報処理装置200、並びに、実施例1の変形例19に係る機能を実現するための構成を備えた情報処理装置100及び情報処理装置990として提供できることはもとより、複数の装置で構成されるシステムであって、実施例1及び2、実施例1の変形例1から19、及び、実施例2の変形例1から6のいずれかに係る機能を実現するための構成をシステム全体として備えたシステムとして提供することもできる。
本発明の実施例1及び2、実施例1の変形例1から19、及び、実施例2の変形例1から6のいずれかに係る機能を実現するための構成を予め備えた情報処理装置200として提供できる。また、プログラムの適用により、既存の情報処理装置を実施例1及び2、実施例1の変形例1から19、及び、実施例2の変形例1から6のいずれかに係る情報処理装置200として機能させることもできる。すなわち、実施例1及び2、実施例1の変形例1から19、及び、実施例2の変形例1から6のいずれかで例示した情報処理装置200による各機能構成を実現させるためのプログラムを、既存の情報処理装置を制御するコンピュータ(CPUなど)が実行することで、実施例1及び2、実施例1の変形例1から19、及び、実施例2の変形例1から6のいずれかに係る情報処理装置200として機能させることができる。
本発明の実施例1の変形例19に係る機能を実現するための構成を予め備えた情報処理装置990として提供できる。また、プログラムの適用により、既存の情報処理装置を実施例1の変形例19に係る情報処理装置990として機能させることもできる。すなわち、上記実施例1の変形例19で例示した情報処理装置990による各機能構成を実現させるためのプログラムを、既存の情報処理装置を制御するコンピュータ(CPUなど)が実行することで、実施例1の変形例19に係る情報処理装置990として機能させることができる。
本発明の実施例1の変形例19に係る機能を実現するための構成を予め備えた情報処理装置100として提供できる。また、プログラムの適用により、既存の情報処理装置を実施例1の変形例19に係る情報処理装置100として機能させることもできる。すなわち、上記実施例1の変形例19で例示した情報処理装置100による各機能構成を実現させるためのプログラムを、既存の情報処理装置を制御するコンピュータ(CPUなど)が実行することで、実施例1の変形例19に係る情報処理装置100として機能させることができる。
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD(Compact Disc)-ROM、又は、DVD(Digital Versatile Disc)-ROMなどの記録媒体に収納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。
本発明に係る方法は、実施例1及び2、実施例1の変形例1から19、及び、実施例2の変形例1から6のいずれかに係る情報処理装置200、並びに、実施例1の変形例19に係る情報処理装置100及び情報処理装置990を用いて実施できる。また、本発明に係る方法は、実施例1及び2、実施例1の変形例1から19、及び、実施例2の変形例1から6のいずれかに係る情報処理システム1を用いて実施できる。
また、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
(付記)
(付記1)
ユーザが購入可能な商品に係る商品情報と、前記ユーザに関連付けられた移動機の機体性能を表す性能情報と、を受け付ける受付部と、
受け付けられた前記商品情報に係る前記商品を前記移動機が前記ユーザに指定された指定場所へ運搬するのに要する所要時間の特定、又は、前記商品が前記移動機に運搬されて前記指定場所へ到着する到着時刻の特定を、受け付けられた前記性能情報に基づいて行う特定部と、を備える、
ことを特徴とする情報処理システム。
(付記2)
前記ユーザに前記所要時間又は前記到着時刻を通知する通知部をさらに備える、
ことを特徴とする付記1に記載の情報処理システム。
(付記3)
前記特定部は、
商品を販売する販売店を識別する識別情報と、前記販売店が販売する前記商品に係る前記商品情報と、が対応付けられた情報、及び、商品を格納する倉庫を識別する識別情報と、前記倉庫に格納された前記商品に係る前記商品情報と、が対応付けられた情報、のいずれか1つ以上を記憶する記憶部から、受け付けられた前記商品情報に対応付けられた1つ以上の識別情報を抽出し、かつ、
抽出された前記1つ以上の識別情報でそれぞれ識別される前記販売店で販売される前記商品、若しくは、前記倉庫に格納された前記商品を、前記指定場所へ運搬するのに要する前記所要時間、又は、当該商品が前記指定場所へ運搬されて到着する前記到着時刻を特定する、
ことを特徴とする付記1又は2に記載の情報処理システム。
(付記4)
前記記憶部は、前記販売店を識別する前記識別情報と、前記販売店が販売する前記商品に係る前記商品情報と、前記販売店に前記商品の在庫が在るか否かを表す在庫情報と、が対応付けられた前記情報、及び、前記倉庫を識別する前記識別情報と、前記倉庫に格納された前記商品に係る前記商品情報と、前記倉庫に前記商品の在庫が在るか否かを表す在庫情報と、が対応付けられた前記情報、のいずれか1つ以上を記憶し、
前記特定部は、受け付けられた前記商品情報と、前記商品情報に係る前記商品の在庫が在ることを表す前記在庫情報と、に対応付けられた前記1つ以上の識別情報を、前記記憶部から抽出する、
ことを特徴とする付記3に記載の情報処理システム。
(付記5)
前記特定部は、抽出された前記1つ以上の識別情報でそれぞれ識別される前記販売店、又は、前記倉庫の内で、前記ユーザに前記商品を提供する1つの販売店又は倉庫を、特定された1つ以上の前記所要時間又は前記到着時刻に基づいて決定する、
ことを特徴とする付記3又は4に記載の情報処理システム。
(付記6)
決定された前記1つの販売店又は倉庫に応じた送信先へ前記移動機を識別する情報を送信する通信部をさらに備える、
ことを特徴とする付記5に記載の情報処理システム。
(付記7)
前記特定部は、
前記移動機の位置から前記商品を受け取る受取場所までのルートと、前記受取場所から前記指定場所までのルートと、を含む移動ルートをさらに決定し、かつ、
決定された前記移動ルートに基づいて前記所要時間又は前記到着時刻を特定し、
前記受取場所は、決定された前記1つの販売店又は倉庫の位置と、前記移動機の前記位置と、の間に位置する場所である、
ことを特徴とする付記5又は6に記載の情報処理システム。
(付記8)
前記移動機は前記ユーザに所有されている、
ことを特徴とする付記1から7のいずれか一つに記載の情報処理システム。
(付記9)
前記移動機は、前記ユーザを含む複数のユーザと関連付けられる、
ことを特徴とする付記1から8のいずれか一つに記載の情報処理システム。
(付記10)
特定された前記所要時間又は前記到着時刻を前記ユーザが使用する情報処理装置へ送信する通信部をさらに備え、
前記特定部は、前記所要時間若しくは前記到着時刻が承認されたことを告げる報告が前記通信部によって受信されると、前記所要時間で、若しくは、前記所要時間よりも予め定められた時間だけ長い時間内に、又は、前記到着時刻に、若しくは、前記到着時刻よりも前記予め定められた時間だけ遅い時刻までに、前記商品である第1商品と共に前記移動機が前記指定場所へ運搬可能な第2商品を特定し、
前記通信部は、特定された前記第2商品に係る商品情報を前記ユーザの前記情報処理装置へ送信する、
ことを特徴とする付記1から5のいずれか一つに記載の情報処理システム。
(付記11)
前記情報処理システムは、前記第1商品と前記第2商品との販売を求める販売要求が前記通信部によって受信されると、前記所要時間で、若しくは、前記所要時間よりも前記予め定められた時間だけ長い前記時間内に、前記第1商品と前記第2商品とを前記指定場所へ運搬させる制御、又は、前記到着時刻に、若しくは、前記到着時刻よりも前記予め定められた時間だけ遅い時刻までに、前記第1商品と前記第2商品とを前記指定場所へ運搬して到着させる制御を、前記移動機に行う制御部をさらに備える、
ことを特徴とする付記10に記載の情報処理システム。
(付記12)
ユーザが購入可能な商品に係る商品情報と、前記ユーザに関連付けられた移動機の機体性能を表す性能情報と、を受け付ける受付部と、
受け付けられた前記商品情報に係る前記商品を前記移動機が前記ユーザに指定された指定場所へ運搬するのに要する所要時間の特定、又は、前記商品が前記移動機に運搬されて前記指定場所へ到着する到着時刻の特定を、受け付けられた前記性能情報に基づいて行う特定部と、を備える、
ことを特徴とする装置。
(付記13)
情報処理システム又は情報処理装置が、ユーザが購入可能な商品に係る商品情報と、前記ユーザに関連付けられた移動機の機体性能を表す性能情報と、を受け付ける受付ステップと、
前記情報処理システム又は前記情報処理装置が、受け付けられた前記商品情報に係る前記商品を前記移動機が前記ユーザに指定された指定場所へ運搬するのに要する所要時間の特定、又は、前記商品が前記移動機に運搬されて前記指定場所へ到着する到着時刻の特定を、受け付けられた前記性能情報に基づいて行う特定ステップと、を有する、
ことを特徴とする方法。