(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022183440
(43)【公開日】2022-12-13
(54)【発明の名称】情報処理装置、システム、及び、方法
(51)【国際特許分類】
G06Q 10/08 20120101AFI20221206BHJP
G06Q 10/04 20120101ALI20221206BHJP
B65G 61/00 20060101ALI20221206BHJP
【FI】
G06Q10/08 300
G06Q10/04
B65G61/00 542
【審査請求】有
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2021090753
(22)【出願日】2021-05-31
(71)【出願人】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】100110135
【弁理士】
【氏名又は名称】石井 裕一郎
(74)【代理人】
【識別番号】100132883
【弁理士】
【氏名又は名称】森川 泰司
(74)【代理人】
【識別番号】100148633
【弁理士】
【氏名又は名称】桜田 圭
(74)【代理人】
【識別番号】100163452
【弁理士】
【氏名又は名称】南郷 邦臣
(74)【代理人】
【識別番号】100180312
【弁理士】
【氏名又は名称】早川 牧子
(72)【発明者】
【氏名】田爪 敏明
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA04
5L049CC51
(57)【要約】
【課題】荷物の配送効率の低下を抑制する配送計画を生成できる情報処理装置、システム、及び、方法を提供する。
【解決手段】情報処理装置100は、ユーザへの荷物の配送時間帯を決定する決定部150と、荷物の配送先におけるユーザの行動予定の時間帯を表す情報を取得する取得部110と、を備える。また、情報処理装置100は、配送時間帯に行動予定の時間帯が重なる場合、重なる時間帯に含まれる時刻と異なる時刻に荷物が配送されるように配送計画を生成する生成部160を備える。
【選択図】
図5
【特許請求の範囲】
【請求項1】
ユーザへの荷物の配送時間帯を決定する決定部と、
前記荷物の配送先における前記ユーザの行動予定の時間帯を表す情報を取得する取得部と、
前記配送時間帯に前記行動予定の前記時間帯が重なる場合、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように配送計画を生成する生成部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記取得部は、
前記行動予定の前記時間帯の内で、前記荷物が前記配送先に配送される時間帯として指定された指定時間帯に含まれる時間帯であり、かつ、前記荷物の配送要求の受け付け以降の時間帯、を表す前記情報を取得し、
前記行動予定の前記時間帯の内で、前記指定時間帯に含まれない時間帯を表す情報を取得せず、かつ、
前記行動予定の前記時間帯の内で、前記配送要求が受け付けられるより前の時間帯を表す情報を取得しない、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記取得部は、前記ユーザの前記行動予定の種別を表す情報をさらに取得し、
前記生成部は、
前記配送時間帯に前記荷物が配送されるように前記配送計画を生成し、かつ、
前記配送時間帯に前記行動予定の前記時間帯が重なる場合であり、かつ、前記指定時間帯の終了時刻よりも、前記行動予定の前記時間帯の終了時刻が遅い場合に、取得された前記情報で表される前記種別が、予め定められた種別であると、前記配送時間帯に前記荷物が配送されるように生成された前記配送計画を維持する、
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
生成された前記配送計画に基づいて、前記荷物を前記配送先へ配送機に配送させる制御部、
をさらに備えることを特徴とする請求項1から3のいずれか一項に記載の情報処理装置。
【請求項5】
前記制御部は、前記行動予定の終了時刻に、前記配送先へ前記配送機が到着するように前記配送機を制御する、
ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記取得部は、前記荷物である第1荷物と、前記第1荷物と異なる第2荷物と、を格納した前記配送機が、前記第1荷物の前記配送先である第1配送先へ到る第1経路と、前記第2荷物の配送先である第2配送先へ到る第2経路と、の分岐点に到着すると、
前記ユーザであり、かつ、前記第1荷物の受取人である、第1ユーザの前記行動予定の前記時間帯を表す前記情報を取得し、かつ、
前記第1ユーザと異なるユーザであり、かつ、前記第2荷物の受取人である、第2ユーザの行動予定の時間帯を表す情報を取得し、
取得された前記情報で表される前記第1ユーザの前記行動予定の前記時間帯と、前記第2ユーザの前記行動予定の前記時間帯と、に基づいて、前記配送機に移動させる経路を、前記第1経路と前記第2経路とから選択する選択部、をさらに備え、
前記制御部は、選択された前記経路を前記配送機に移動させる制御を行う、
ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記分岐点から前記第1配送先まで前記配送機が前記第1経路を移動する場合に、前記第1配送先に前記配送機が到着する到着時刻を予測し、かつ、
前記分岐点から前記第2配送先まで前記配送機が前記第2経路を移動する場合に、前記第2配送先に前記配送機が到着する到着時刻を予測する、
予測部、をさらに備え、
前記選択部は、取得された前記情報で表される前記第1ユーザの前記行動予定の前記時間帯と前記配送時間帯とが重なる前記時間帯に、予測された前記第1配送先への前記到着時刻が含まれるが、前記第2ユーザの前記行動予定の前記時間帯と前記配送時間帯とが重なる時間帯に、前記第2配送先への前記到着時刻が含まれない場合、前記第2経路を選択する、
ことを特徴とする請求項6に記載の情報処理装置。
【請求項8】
ユーザへの荷物の配送時間帯を決定する決定部と、
前記荷物の配送先における前記ユーザの行動予定の時間帯を表す情報を取得する取得部と、
前記配送時間帯に前記行動予定の前記時間帯が重なる場合、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように配送計画を生成する生成部と、
を備えることを特徴とするシステム。
【請求項9】
情報処理装置又はシステムが実行する方法であって、
ユーザへの荷物の配送時間帯を決定する決定ステップと、
前記荷物の配送先における前記ユーザの行動予定の時間帯を表す情報を取得する取得ステップと、
前記配送時間帯に前記行動予定の前記時間帯が重なる場合、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように配送計画を生成する生成ステップと、
を含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、システム、及び、方法に関する。
【背景技術】
【0002】
従来、配送先にユーザが滞在しているか否かの予測を行い、ユーザが滞在していると予測される時間帯に荷物を配送する配送計画を生成する情報処理装置が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1の情報処理装置では、配送先におけるユーザの行動予定に基づかずに荷物の配送計画を生成していため、荷物の配送効率の低下を抑制する配送計画を生成できないという問題があった。
【0005】
そこで、本発明は、このような点に鑑み、その目的とするところは、荷物の配送効率の低下を抑制する配送計画を生成できる情報処理装置、システム、及び、方法を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の第1の観点に係る情報処理装置は、
ユーザへの荷物の配送時間帯を決定する決定部と、
前記荷物の配送先における前記ユーザの行動予定の時間帯を表す情報を取得する取得部と、
前記配送時間帯に前記行動予定の前記時間帯が重なる場合、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように配送計画を生成する生成部と、
を備える。
【発明の効果】
【0007】
本発明に係る情報処理装置、システム、及び、方法によれば、荷物の配送効率の低下を抑制する配送計画を生成できる。
【図面の簡単な説明】
【0008】
【
図1】本発明の実施例に係る情報処理システムの一構成例を表すシステム構成図である。
【
図3】情報処理装置の一構成例を表すハードウェア構成図である。
【
図4】情報処理装置が実行する販売処理の一例を表すフローチャートである。
【
図5】情報処理装置が有する機能の一例を表す機能ブロック図である。
【
図6】情報処理装置が記憶するユーザテーブルの一例を表す図である。
【
図7】配送時間帯と指定時間帯との一例を表す図である。
【
図8】情報処理装置が記憶する受付注文テーブルの一例を表す図である。
【
図9】情報処理装置が実行する動画配信処理の一例を表すフローチャートである。
【
図10】情報処理装置が記憶する動画テーブルの一例を表す図である。
【
図11】情報処理装置が記憶するチャンネルテーブルの一例を表す図である。
【
図12】情報処理装置が記憶する行動予定テーブルの一例を表す図である。
【
図13】情報処理装置が実行する配送計画生成処理の一例を表すフローチャートである。
【
図14】情報処理装置が記憶する配送計画テーブルの一例を表す図である。
【
図15】情報処理装置が実行する配送制御処理の一例を表すフローチャートの前半部である。
【
図16】情報処理装置が実行する配送制御処理の一例を表すフローチャートの後半部である。
【
図17】情報処理装置が実行する配送開始制御処理の一例を表すフローチャートである。
【
図18】情報処理装置が実行する経路選択処理の一例を表すフローチャートである。
【
図19】情報処理装置が実行する予定回避選択処理の一例を表すフローチャートである。
【
図20】情報処理装置が実行する受渡制御処理の一例を表すフローチャートである。
【
図21】情報処理装置が実行する配送続否決定処理の一例を表すフローチャートである。
【
図22】情報処理装置が実行する帰還制御処理の一例を表すフローチャートである。
【
図23】実施例に係る配送機の一外観例を表す外観構成図である。
【
図24】配送機が備える情報処理装置の一構成例を表すハードウェア構成図である。
【
図25】配送機が実行する移動処理の一例を表すフローチャートである。
【
図26】情報処理装置が実行する時間調整選択処理の一例を表すフローチャートである。
【
図27】情報処理装置が実行する種別選択処理の一例を表すフローチャートである。
【
図28】実施例の変形例11に係る配送機の一外観例を表す外観構成図である。
【発明を実施するための形態】
【0009】
<実施例>
以下、本発明の実施例について添付図面を参照しつつ説明する。
【0010】
本発明の実施例に係る情報処理システム1は、荷物の配送を求める配送要求を受け付ける、
図1に示すような情報処理装置100と、配送を求められた荷物を配送する配送機600と、を備えている。配送機600は、荷物を格納可能な格納ボックス621及び622を備える。さらに、情報処理システム1は、配送要求を行う第1ユーザから第3ユーザによってそれぞれ携帯される端末装置901から903を備える。
【0011】
本実施例では、説明を簡単にするため、荷物が商品である場合を具体例として挙げて説明を行うが、これに限定される訳では無い。また、本実施例では、商品の注文は、当該商品の販売を求める販売要求と、販売された商品の配送を求める配送要求と、を含むとして説明を行う。
【0012】
情報処理装置100は、例えば、サーバ機であり、
図2に示すような場所に位置する倉庫STに設置されている。倉庫STは、商品を販売する企業が使用する倉庫である。情報処理装置100は、ハードウェアである、
図3に表すようなCPU(Central Processing Unit)101、RAM(Random Access Memory)102、ROM(Read Only Memory)103a、ハードディスク103b、データ通信回路104a、ビデオカード105a、表示装置105b、及び、入力装置105cを備える。情報処理装置100は、複数のCPUを備えても良いし、複数のRAM及びフラッシュメモリを備えても良い。
【0013】
情報処理装置100のCPU101は、ROM103a又はハードディスク103bに保存されたプログラムを実行することで、情報処理装置100の全体制御を行う。RAM102は、CPU101によるプログラムの実行時において、処理対象とされるデータを一時的に記憶する。ROM103a及びハードディスク103bは、各種のプログラムと、プログラムの実行に用いられる各種のデータ及びデータが保存されたテーブルと、を記憶している。
【0014】
情報処理装置100のデータ通信回路104aは、NIC(Network Interface Card)であり、例えば、LTE(Long Term Evolution)及び5G(5th Generation)を含む通信規格に従って、インターネットINに接続された不図示の基地局と電波を用いてデータ通信を行う。これにより、情報処理装置100のデータ通信回路104aは、インターネットINに接続された配送機600、及び、端末装置901から903とデータ通信を行う。
【0015】
情報処理装置100のビデオカード105aは、CPU101から出力されたデジタル信号に基づいて画像をレンダリングすると共に、レンダリングされた画像を表す画像信号を出力する。表示装置105bは、EL(Electroluminescence)ディスプレイ、PDP(Plasma Display Panel)、又は、LCD(Liquid Crystal Display)であり、ビデオカード105aから出力された画像信号に従って画像を表示する。入力装置105cは、キーボード、マウス、タッチパッド、及び、ボタンのいずれか1つ以上であり、商品を販売する企業の従業員の操作に応じた信号を入力する。
【0016】
情報処理装置100のデータ通信回路104aが、商品注文アプリを識別するアプリID(IDentification)を含み、かつ、情報処理装置100へ接続することの許可を求める接続要求を、端末装置901から受信すると、情報処理装置100のCPU101は、商品を販売する、
図4に示すような販売処理を実行する。商品注文アプリとは、端末装置901又は902で実行されるアプリケーション(以下、アプリという)であり、かつ、商品の注文に用いられるアプリである。
【0017】
情報処理装置100のCPU101は、販売処理を実行することで、データ通信回路104aから接続要求を取得する、
図5に示すような取得部110として機能する。また、CPU101は、取得された接続要求に含まれる、第1ユーザの認証情報に基づいてユーザ認証を行い、ユーザ認証が成功すると、接続要求を承認して端末装置901の接続を許可する認証部120として機能する。また、CPU101は、接続要求が承認されると、販売される商品の一覧を表す情報を、データ通信回路104aに送信させる制御を行う制御部130として機能する。さらに、CPU101は、商品の注文を受け付けるように求める要求であり、かつ、第1ユーザの端末装置901から送信された注文受付要求に従って、注文を受け付ける受付部140として機能する。
【0018】
情報処理装置100のハードディスク103bは、販売処理の実行に用いられる情報を記憶する情報記憶部190として機能する。情報記憶部190は、ユーザに関する情報が予め保存されている、
図6に示すようなユーザテーブルを予め記憶している。ユーザテーブルには、複数のレコードが予め保存されている。
【0019】
本実施例では、1番目のレコードに、第1ユーザを識別するユーザID「U1」と、第1ユーザによって予め設定されたパスワードを表す情報と、第1ユーザによって予め設定された場所である、
図2に示すような配送先(以下、第1配送先という)D1を住所で表す情報と、
図7に示すような第1ユーザの指定時間帯GR1「18時30分から21時00分」を表す情報と、が予め対応付けられて保存されている。本実施例では、指定時間帯GR1は、第1配送先D1に第1ユーザが滞在する時間帯であり、かつ、第1配送先D1に商品が配送される時間帯として、第1ユーザによって予め設定された時間帯である。指定時間帯GR1を表す情報は、指定時間帯GR1の開始時刻を表す情報と、当該指定時間帯GR1の終了時刻を表す情報と、を含む。
【0020】
また、本実施例では、2番目のレコードに、第2ユーザのユーザID「U2」と、第2ユーザのパスワードを表す情報と、第2ユーザの配送先(以下、第2配送先という)D2を住所で表す情報と、第2ユーザの指定時間帯GR2「19時00分から21時00分」を表す情報と、が予め対応付けられて保存されている。
【0021】
さらに、本実施例では、3番目のレコードに、第3ユーザのユーザID「U3」と、パスワードを表す情報と、第3ユーザの配送先を住所で表す情報と、第3ユーザの指定時間帯「09時00分から17時00分」を表す情報と、が予め対応付けられて保存されている。
【0022】
また、情報処理装置100の情報記憶部190は、商品に関する情報が保存されている、不図示の商品テーブルを予め記憶している。商品テーブルには、複数のレコードが予め保存されており、各レコードには、商品を識別する商品IDと、当該商品の詳細を表す情報と、が対応付けられて予め保存されている。商品の詳細を表す情報は、当該商品の名称を表す情報、当該商品の画像を表す情報、当該商品の値段を表す情報、及び、当該商品の説明を表す情報を含むが、これらに限定される訳では無い。
【0023】
また、情報処理装置100の情報記憶部190は、受け付けられた注文に関する情報が保存される、
図8に示すような受付注文テーブルを予め記憶している。受付注文テーブルには、注文が受け付けられた日時である注文受付日時を表す情報と、当該注文を行ったユーザのユーザIDと、当該注文の対象とされた商品の商品IDと、当該商品を配送する計画(以下、配送計画という)の状態を表す状態情報と、が対応付けられて保存される。受付注文テーブルに保存される状態情報は、配送計画が生成されていない状態である未計画状態を表す情報と、配送計画が生成されている計画済状態を表す情報と、を含む。
【0024】
図4の販売処理の実行が開始されると、情報処理装置100の取得部110は、第1ユーザの端末装置901から受信された接続要求を、データ通信回路104aから取得する(ステップS01)。次に、取得部110は、第1ユーザのユーザID「U1」と、第1ユーザのパスワードを表す情報と、を含む認証情報を接続要求から取得する。その後、取得部110は、
図6のユーザテーブルから、取得されたユーザID「U1」と対応付けられたパスワードを表す情報を取得する。
【0025】
その後、情報処理装置100の認証部120は、接続要求から取得された情報で表されるパスワードと、ユーザテーブルから取得された情報で表されるパスワードと、に基づいて、ユーザ認証を行う。認証部120は、これらのパスワードが一致しないと、ユーザ認証が失敗したと判別し(ステップS02;No)、販売処理の実行を終了する。
【0026】
これに対して、情報処理装置100の認証部120は、これらのパスワードが一致すると、ユーザ認証が成功したと判別し(ステップS02;Yes)、接続要求を承認する。次に、制御部130は、接続が許可されたことを告げる許可報告を、第1ユーザの端末装置901を宛先として、データ通信回路104aに出力する。その後、情報処理装置100のデータ通信回路104aは、許可報告を端末装置901へ送信する。
【0027】
その後、情報処理装置100の取得部110は、データ通信回路104aからの終了通知の取得を試行する。当該終了通知は、端末装置901から受信される通知であり、かつ、商品注文アプリの実行を終了することを知らせる通知である。次に、取得部110は、終了通知を取得したか否かを判別し(ステップS03)、終了通知を取得できなかったと判別すると(ステップS03;No)、データ通信回路104aからの商品一覧送信要求の取得を試行する。商品一覧送信要求は、端末装置901から受信される要求であり、かつ、販売される商品の一覧を送信することを求める要求である。
【0028】
次に、情報処理装置100の取得部110は、商品一覧送信要求を取得したか否かを判別し(ステップS04)、商品一覧送信要求を取得したと判別すると(ステップS04;Yes)、不図示の商品テーブルから、商品IDと商品の詳細を表す情報との一覧である商品一覧を表す情報を取得する。その後、制御部130は、取得された商品一覧を表す情報を、端末装置901を宛先としてデータ通信回路104aへ出力する(ステップS05)。その後、商品一覧を表す情報が端末装置901へ送信されると、情報処理装置100は、ステップS03から上記処理を繰り返す。
【0029】
ステップS04において、情報処理装置100の取得部110は、商品一覧送信要求を取得しなかったと判別すると(ステップS04;No)、データ通信回路104aからの注文受付要求の取得を試行する。当該注文受付要求は、端末装置901から受信される要求であり、注文を受け付けることを求める要求である。
【0030】
次に、情報処理装置100の取得部110は、注文受付要求を取得したか否かを判別する(ステップS06)。このとき、情報処理装置100は、注文受付要求を取得しなかったと判別すると(ステップS06;No)、ステップS03から上記処理を繰り返す。これに対して、取得部110は、注文受付要求を取得したと判別すると(ステップS06;Yes)、注文を行う第1ユーザのユーザID「U1」と、注文された商品の商品IDと、を、注文受付要求から取得する。本実施例では、不図示の商品I1が注文されたため、商品ID「I1」が取得される場合を具体例として挙げて以下の説明を行う。
【0031】
その後、情報処理装置100の受付部140は、注文受付要求に従って、第1ユーザによる商品I1の注文を受け付ける(ステップS07)。すなわち、情報処理装置100は、商品I1を第1ユーザに販売することを求める販売要求と、販売された商品I1を第1ユーザによって指定された第1配送先D1へ配送することを求める配送要求と、を受け付ける。
【0032】
次に、情報処理装置100の取得部110は、例えば、OS(Operating System)が管理するシステム日時を注文受付日時として取得する。本実施例では、注文受付日時「2021年01月01日13時00分」が取得された場合を具体例として挙げて以下の説明を行う。また、以下、記載を簡潔にするため、「2021年01月01日」を、単に、「1日」と表記する。
【0033】
次に、情報処理装置100の受付部140は、
図8の受付注文テーブルに、注文受付日時「1日13時00分」を表す情報と、ユーザID「U1」と、商品ID「I1」と、商品I1の配送計画の状態が未計画状態であることを表す情報と、を対応付けて保存する。その後、情報処理装置100は、ステップS03から上記処理を繰り返す。
【0034】
ステップS03において、情報処理装置100の取得部110は、終了通知を取得したと判別すると(ステップS03;Yes)、販売処理の実行を終了する。
【0035】
情報処理装置100は、第2ユーザの端末装置902から、商品注文アプリのアプリIDを含む接続要求を受信すると、
図4に示した販売処理を実行する。本実施例では、第2ユーザのユーザID「U2」と、不図示の商品I2の商品ID「I2」と、を含む注文受付要求が受信され、かつ、日時「1日14時00分」に注文が受け付けられた場合を具体例として挙げて説明する。このため、情報処理装置100は、第2ユーザによる商品I2の注文を受け付け、
図8の受付注文テーブルに、注文受付日時「1日14時00分」を表す情報と、注文受付要求に含まれるユーザID「U2」及び商品ID「I2」と、未計画状態を表す状態情報と、を保存してから、販売処理の実行を終了する。
【0036】
また、情報処理装置100は、第3ユーザの端末装置903から商品注文アプリのアプリIDを含む接続要求を受信すると、
図4に示した販売処理を実行する。本実施例では、第3ユーザのユーザID「U3」と、不図示の商品I3の商品ID「I3」と、を含む注文受付要求が受信された場合を具体例として挙げて説明する。このため、情報処理装置100は、注文受付要求を受け付け、
図8の受付注文テーブルに、注文受付日時を表す情報と、ユーザID「U3」と商品ID「I3」と未計画状態を表す状態情報とを、保存してから、販売処理の実行を終了する。
【0037】
本実施例において、商品I1の注文を行った第1ユーザが、動画を視聴しながら当該商品I1の配送を待つ場合を具体例として挙げて以下の説明を行う。
【0038】
情報処理装置100のデータ通信回路104aが、動画視聴アプリを識別するアプリIDを含む接続要求を端末装置901から受信すると、情報処理装置100のCPU101は、動画を配信する、
図9に示すような動画配信処理を実行する。動画視聴アプリとは、端末装置901及び902で実行されるアプリであり、かつ、動画の視聴に用いられるアプリである。
【0039】
情報処理装置100の情報記憶部190は、動画が記述された電子データを予め複数記憶している。また、情報記憶部190は、当動画に関する情報が予め保存されている、
図10に示すような動画テーブルを予め記憶している。動画テーブルには、複数のレコードが予め保存されている。各レコードには、動画が記述された電子データのURL(Uniform Resource Locator)と、動画を説明するキーワードと、当該動画の詳細を表す情報と、が対応付けられて予め保存されている。動画の詳細を表す情報は、当該動画の再生時間を表す情報、当該動画のチャンネルを表す情報、当該動画の評価数を表す情報、及び、当該動画の再生数を表す情報を含むが、これらに限定される訳では無い。
【0040】
動画のチャンネルは、当該動画を含む1又は複数の動画が含まれるグループである。本実施例では、動画のチャンネルは、当該動画の投稿者によって作成されたグループであり、かつ、当該動画の内容と同じ又は似た内容の1又は複数の動画を含んでいるが、これに限定される訳ではない。また、動画の評価数は、当該動画を「良い」と評価したユーザの数であり、当該動画を「良い」と評価することは、他のユーザに当該動画の視聴を勧めることを含むが、これらに限定される訳ではない。さらに、動画の再生数は、当該動画を再生したユーザの数であるが、これに限定される訳ではない。
【0041】
情報処理装置100の情報記憶部190は、チャンネルに関する情報が予め保存されている、
図11に示すようなチャンネルテーブルを予め記憶している。チャンネルテーブルには、複数のレコードが予め保存されており、各レコードには、チャンネルを表す情報と、当該チャンネルに登録されたユーザのユーザIDと、が対応付けられて予め保存されている。本実施例において、チャンネルに登録されたユーザは、当該チャンネルに含まれていなかった新たな動画が当該チャンネルに追加されたことの通知を求めるユーザであるが、これに限定される訳ではない。
【0042】
さらに、情報処理装置100の情報記憶部190は、ユーザの行動予定に関する情報が保存される、
図12に示すような行動予定テーブルを予め記憶している。ユーザの行動予定は、当該ユーザの行動に関する予定であり、本実施例では、当該ユーザが動画を視聴する予定(以下、視聴予定という)を含む。このため、行動予定テーブルには、ユーザのユーザIDと、当該ユーザが動画を視聴すると予定されている時間帯(以下、行動予定の時間帯という)を表す情報と、当該行動予定の種別を表す情報と、が対応付けられて保存される。行動予定の時間帯を表す情報は、行動予定の開始日時を表す情報と、終了日時を表す情報と、を含む。行動予定の種別は、重要種別と非重要種別とを含み、重要種別の行動予定は、ユーザにとって重要であると予測される予定であり、非重要種別の行動予定は、ユーザにとって重要でないと予測される予定である。
【0043】
図9の動画配信処理の実行が開始されると、情報処理装置100は、
図4のステップS01及びS02と同様の処理を実行することで(ステップS11及びS12)、認証を行い、認証が失敗したと判別すると(ステップS12;No)、動画配信処理の実行を終了する。
【0044】
これに対して、情報処理装置100は、認証が成功したと判別すると(ステップS12;Yes)、終了通知の取得を試行する。当該終了通知は、端末装置901から受信される通知であり、かつ、動画視聴アプリの実行を終了することを知らせる通知である。次に、情報処理装置100の取得部110は、終了通知を取得したか否かを判別し(ステップS13)、終了通知を取得しなかったと判別すると(ステップS13;No)、データ通信回路104aからの動画一覧送信要求の取得を試行する。当該動画一覧送信要求は、端末装置901から受信される要求であり、検索キーワードを表す情報を含み、かつ、当該検索キーワードで説明される動画の一覧を送信することを求める要求である。
【0045】
次に、情報処理装置100の取得部110は、動画一覧送信要求を取得したか否かを判別し(ステップS14)、動画一覧送信要求を取得したと判別すると(ステップS14;Yes)、動画一覧送信要求に含まれる検索キーワードを表す情報を取得する。次に、取得部110は、
図10の動画テーブルから、検索キーワードと対応付けられたURLと、当該URLに保存されている動画の詳細を表す情報と、の一覧である動画一覧を表す情報を取得する。その後、制御部130は、取得された動画一覧を表す情報を、端末装置901を宛先としてデータ通信回路104aへ出力する(ステップS15)。その後、動画一覧を表す情報が端末装置901へ送信されると、情報処理装置100は、ステップS13から上記処理を繰り返す。
【0046】
ステップS14において、情報処理装置100の取得部110は、動画一覧送信要求を取得しなかったと判別すると(ステップS14;No)、データ通信回路104aからの動画配信要求の取得を試行する。当該動画配信要求は、端末装置901から受信される要求であり、かつ、動画の配信を求める要求である。
【0047】
次に、情報処理装置100の取得部110は、動画配信要求を取得したか否かを判別する(ステップS16)。このとき、取得部110は、動画配信要求を取得したと判別すると(ステップS16;Yes)、動画配信要求に含まれるURLを取得し、取得されたURLに保存された電子データを取得する。その後、制御部130は、取得された電子データを、端末装置901を宛先としてデータ通信回路104aに出力し(ステップS17)、データ通信回路104aは、電子データを端末装置901へ送信する。このようにして、動画が配信される。
【0048】
次に、情報処理装置100の取得部110は、例えば、OSが管理するシステム日時を取得し、
図10の動画テーブルから、動画配信要求から取得されたURLに対応付けられた再生時間を表す情報を取得する。その後、制御部130は、取得されたシステム日時が、第1ユーザによる動画の視聴予定の開始日時であり、かつ、取得されたシステム日時よりも再生時間だけ後の日時が、当該視聴予定の終了日時であると判別する。本実施例では、第1ユーザの視聴予定の開始日時が「1日18時20分」と判別され、かつ、終了日時が「1日19時20分」と判別された場合を具体例として挙げて説明する。
【0049】
次に、情報処理装置100の制御部130は、第1ユーザの視聴予定の種別を特定するために、視聴予定に対する第1ユーザの重要度を算出する。視聴予定に対する第1ユーザの重要度は、当該視聴予定が第1ユーザにとってどの程度重要であると予測されるかを表す指標値であり、第1ユーザにとって重要であると予測される程、大きい値に算出される。
【0050】
このために、情報処理装置100の取得部110は、
図10の動画テーブルにおいて、配信要求から取得されたURLに対応付けられているチャンネルを表す情報と、評価数を表す情報と、再生数を表す情報と、を取得する。次に、取得部110は、
図11のチャンネルテーブルから、取得されたチャンネルを表す情報と、第1ユーザのユーザID「U1」と、が保存されたレコードの取得を試行する。このとき、レコードが取得されると、制御部130は、ステップS17で送信された動画のチャンネルに第1ユーザが登録されていると判別し、レコードが取得されないと、当該動画のチャンネルに第1ユーザが登録されていないと判別する。
【0051】
その後、情報処理装置100の制御部130は、当該動画のチャンネルに第1ユーザが登録されているか否か(以下、チャンネル登録の有無という)と、当該動画の評価数と、当該動画の再生数と、に基づいて、当該動画の視聴予定に対する第1ユーザの重要度を算出する。重要度は、チャンネル登録の有無、評価数、及び、再生数のいずれか1つ、又は、2つに基づいて算出されても良い。
【0052】
本実施例では、情報処理装置100の制御部130は、送信された動画のチャンネルに第1ユーザが登録されている場合に、当該動画の視聴予定に対する第1ユーザの重要度を予め定められた正の値に設定し、当該チャンネルに第1ユーザが登録されていない場合に、当該重要度を値「0」に設定する。次に、制御部130は、当該動画の評価数を正の重付係数で重み付けした値と、当該動画の再生数を正の重付係数で重み付けした値と、を、設定された重要度に加算することで、当該動画の視聴予定に対する第1ユーザの重要度を算出する。
【0053】
このようにして、情報処理装置100の制御部130は、動画のチャンネルに第1ユーザが登録されている場合の方が、当該チャンネルに第1ユーザが登録されていない場合よりも、高い値に重要度を設定する。また、制御部130は、動画の評価数がより多い程、より高い値に重要度を算出する。さらに、制御部130は、動画の再生数がより多い程、より高い値に重要度を算出する。
【0054】
このような値に重要度が算出されるのは、第1ユーザが登録されているチャンネルの動画の方が、第1ユーザが登録されていないチャンネルの動画よりも、第1ユーザにとって興味深いと予測されるからである。また、動画の評価数がより多い動画の方が、動画の評価数がより少ない動画よりも、第1ユーザにとって興味深いと予測されるからである。さらに、動画の再生数がより多い動画の方が、動画の再生数がより少ない動画よりも、第1ユーザにとって興味深いと予測されるからである。またさらに、第1ユーザにとってより興味深いと予測される動画を視聴する予定の方が、より興味が無いと予測される動画を視聴する予定よりも、第1ユーザにとって重要であると予測されるからである。
【0055】
その後、情報処理装置100の取得部110は、情報記憶部190が予め記憶する情報であり、かつ、第1ユーザによって予め設定された、又は、情報処理装置100の管理者によって予め設定された、不図示の閾値Th1を表す情報を取得する。その後、制御部130は、第1ユーザの行動予定の重要度が閾値Th1よりも低いと判別すると、当該行動予定の種別が非重要種別であると判別し、重要度が閾値Th1以上であると判別すると、当該行動予定の種別が重要種別であると判別する(ステップS18)。
【0056】
その後、情報処理装置100の制御部130は、
図7に示すような第1ユーザの視聴予定の時間帯AR11を表す情報を生成する。第1ユーザの行動予定の時間帯AR11を表す情報は、開始日時「1日18時20分」を表す情報と、終了日時「1日19時20分」を表す情報と、を含んでいる。次に、制御部130は、
図12の行動予定テーブルに、第1ユーザのユーザID「U1」と、第1ユーザの視聴予定である行動予定の時間帯AR11を表す情報と、当該行動予定の種別を表す情報と、を対応付けて保存する(ステップS19)。その後、情報処理装置100は、ステップS13から上記処理を繰り返す。
【0057】
ステップS16において、情報処理装置100は、動画配信要求を取得しなかったと判別すると(ステップS16;No)、データ通信回路104aからの再生終了通知の取得を試行する。当該再生終了通知は、端末装置901から受信される通知であり、かつ、動画の再生が終了したことを知らせる通知である。
【0058】
次に、情報処理装置100の取得部110は、再生終了通知を取得したか否かを判別する(ステップS20)。このとき、取得部110は、再生終了通知を取得しなかったと判別すると(ステップS20;No)、ステップS13から上記処理を繰り返す。これに対して、取得部110は、再生終了通知を取得したと判別すると(ステップS20;Yes)、データ通信回路104aから再生終了通知を取得し、取得された再生終了通知から第1ユーザのユーザID「U1」と、再生が終了された動画のURLと、を取得する。次に、取得部110は、
図12の行動予定テーブルから、第1ユーザのユーザID「U1」と、再生が終了された動画のURLと、に対応付けられた行動予定の終了日時を表す情報を取得する。
【0059】
その後、情報処理装置100の取得部110は、例えば、OSからシステム日時を取得する。次に、制御部130は、取得されたシステム日時が、取得された情報で表される行動予定の終了日時よりも早い日時であるか否かに基づいて、動画の再生が中止されたか否かを判別する。このとき、制御部130は、システム日時が行動予定の終了日時よりも早い日時であると、動画の再生が中止されたと判別する(ステップS21;Yes)。次に、制御部130は、動画を視聴するという予定の実行が中止されたと判別し、
図12の行動予定テーブルにおいて、第1ユーザのユーザID「U1」と、再生が中止された動画のURLと、に対応付けられた行動予定の終了日時を表す情報を、システム日時を表す情報に変更する(ステップS22)。その後、情報処理装置100は、ステップS13から上記処理を繰り返す。
【0060】
これに対して、情報処理装置100の制御部130は、システム日時が行動予定の終了日時以降の日時であると、動画の再生が完了されたと判別する(ステップS21;No)。次に、制御部130は、動画を視聴するという予定の実行が完了したと判別する。その後、情報処理装置100は、行動予定の終了日時を表す情報を変更せずに、ステップS13から上記処理を繰り返す。
【0061】
ステップS13において、情報処理装置100の取得部110は、動画配信アプリの実行を終了したことを知らせる終了通知を取得したと判別すると(ステップS13;Yes)、動画配信処理の実行を終了する。
【0062】
本実施例において、商品I2の注文を行った第2ユーザが、第1ユーザと同様に、動画を視聴しながら当該商品I2の配送を待つ場合を具体例として挙げて以下の説明を行う。
【0063】
情報処理装置100のデータ通信回路104aが、動画視聴アプリのアプリIDを含む接続要求を、第2ユーザの端末装置902から受信すると、情報処理装置100のCPU101は、
図9に示した動画配信処理を実行する。本実施例では、
図7に示すように、第2ユーザによる動画の視聴予定の時間帯AR2が「1日18時30分から19時30分」と判別された場合を具体例として挙げて以下の説明を行う。このため、情報処理装置100は、
図12の行動予定テーブルに、第2ユーザのユーザID「U2」と、第2ユーザによる動画の視聴予定の時間帯AR2「1日18時30分から19時30分」を表す情報と、当該視聴予定の種別を表す情報と、を対応付けて保存してから、販売処理の実行を終了する。
【0064】
倉庫STで勤務する従業員は、配送機600を起動させると、注文が受け付けられた商品の配送計画を生成させるための操作を、情報処理装置100の入力装置105cに行う。入力装置105cが当該操作に応じた信号を出力すると、情報処理装置100のCPU101は、配送計画を生成する、
図13に示すような配送計画生成処理を実行する。これにより、CPU101は、ユーザへの商品の配送時間帯を決定する、
図5に示すような決定部150として機能する。また、CPU101は、決定された配送時間帯に、ユーザの配送先における行動予定の時間帯が重なる場合、重なる時間帯に含まれる日時と異なる日時に商品が配送されるように配送計画を生成する生成部160として機能する。
【0065】
情報処理装置100の情報記憶部190は、生成される配送計画に関する情報が保存される、
図14に示すような配送計画テーブルを予め記憶している。配送計画テーブルには、2個のレコードが予め保存されている。1番目のレコードには、配送機600の格納ボックス621を識別するボックスID「1」が予め保存されており、2番目のレコードには、配送機600の格納ボックス622を識別するボックスID「2」が予め保存されている。1番目のレコードには、格納ボックス621のボックスID「1」に対応付けて、格納ボックス621に格納されることが計画された商品の配送時間帯を表す情報と、当該商品の配送計画を表す情報と、当該配送計画の状態を表す状態情報と、が対応付けられて保存される。
【0066】
配送時間帯を表す情報は、配送時間帯の開始日時を表す情報と、配送時間帯の終了日時を表す情報と、を含む。また、商品の配送計画を表す情報は、当該商品の商品IDと、当該商品を注文したユーザのユーザIDと、当該ユーザが指定した配送先の位置を緯度、経度、及び、高度で表す位置情報と、配送先に向かって配送機600を移動させるために用いられる移動経路を表す情報を含む。また、配送計画テーブルに保存される配送計画の状態は、配送計画が生成されていない状態である未計画状態と、配送計画が生成されているが、当該配送計画が実行されていない状態である未実行状態と、配送計画が実行されている状態である実行中状態と、を含む。
【0067】
同様に、2番目のレコードには、格納ボックス622のボックスID「2」に対応付けて、格納ボックス622に格納されることが計画された商品の配送時間帯を表す情報と、配送計画を表す情報と、当該配送計画の状態を表す情報と、が対応付けられて保存される。
【0068】
図13の配送計画生成処理の実行前において、
図14の配送計画テーブルに予め保存されている1番目のレコードには、格納ボックス621のボックスID「1」に対して、格納ボックス621に格納されることが計画された商品が存在しないため、当該商品の配送時間帯が決定されていないこと、及び、未計画状態であることを表す文字列「NULL」が対応付けられて予め保存されている。同様に、2番目のレコードには、格納ボックス622のボックスID「2」に対して文字列「NULL」が対応付けられて予め保存されている。
【0069】
図13の配送計画生成処理の実行が開始されると、情報処理装置100の取得部110は、予め定められた配送時間帯の時間長を表す情報を情報記憶部190から取得する。また、取得部110は、商品を倉庫STから探し出すのに要する探出時間と、探し出された商品を配送機600へ格納するのに要する格納時間と、の合計時間である準備時間の時間長を表す情報を情報記憶部190から取得する。本実施例では、配送時間帯の長さは、「1時間」に予め設定されており、かつ、準備時間の長さは、「15分」に予め設定されている。しかし、これらに限定される訳ではなく、配送時間帯の好適な長さ、及び、準備時間の好適な長さは、当業者が実験により定めることができる。
【0070】
次に、情報処理装置100の取得部110は、例えば、OSからシステム日時を取得する。本実施例では、「1日18時45分」のシステム日時が取得された場合を例に挙げて以下の説明を行う。その後、決定部150は、取得されたシステム日時「1日18時45分」よりも、取得された情報で表される準備時間の時間長「15分」だけ後の日時「1日19時00分」を、
図7に示すような配送時間帯DRの開始日時に決定する。また、決定部150は、配送時間帯の開始日時「1日19時00分」よりも、取得された情報で表される配送時間帯の時間長「1時間」だけ後の日時「1日20時00分」を、配送時間帯DRの終了日時に決定する。このようにして、決定部150は、配送時間帯DR「1日19時00分から20時00分」を決定する(ステップS31)。
【0071】
次に、情報処理装置100の制御部130は、商品を格納させる計画が生成されていない格納ボックス(以下、未計画状態の格納ボックスという)が存在するか否かを判別する(ステップS32)。このために、取得部110は、
図14の配送計画テーブルから、未計画状態を表す状態情報に対応付けられたボックスIDの取得を試行する。
【0072】
本実施例では、配送機600の起動直後は、格納ボックス621及び622に商品を格納させて配送させる配送計画が生成されていないため、格納ボックス621及び622が未計画状態の格納ボックスである場合を具体例に挙げて以下の説明を行う。このため、取得部110は、ボックスID「1」及び「2」を取得し、制御部130は、未計画状態の格納ボックス621及び622が存在すると判別する(ステップS32;Yes)。
【0073】
次に、情報処理装置100の制御部130は、予め定められた規則、又は、ソフトウェア乱数に基づいて、格納ボックス621及び622の1つに注目する(ステップS33)。本実施例では、格納ボックス621が注目された場合を具体例として挙げて以下の説明を行う。
【0074】
次に、情報処理装置100の制御部130は、注文が受け付けられた商品の内に、ステップS31で決定された配送時間帯DRに配送すべき商品であり、かつ、未だ配送計画が生成されていない商品(以下、未計画状態の商品という)が存在するか否かを判別する(ステップS34)。このために、取得部110は、
図8の受付注文テーブルから、未計画状態を表す状態情報に対応付けられたユーザIDと商品IDとの組合せの取得を試行する。
【0075】
このとき、情報処理装置100の制御部130は、ユーザIDと商品IDと組合せのが取得されないと、未計画状態の商品が存在しないと判別して、(ステップS34;No)、配送計画生成処理の実行を終了する。これに対して、本実施例では、第1ユーザのユーザID「U1」と第1ユーザによって注文された商品I1の商品ID「I1」との組合せ、第2ユーザのユーザID「U2」と商品I2の商品ID「I2」との組合せ、及び、第3ユーザのユーザID「U3」と商品I3の商品ID「I3」との組合せ、のみが取得される場合を具体例として挙げて以下の説明を行う。
【0076】
次に、情報処理装置100の取得部110は、ユーザID「U1」と商品ID「I1」との組合せ、ユーザID「U2」と商品ID「I2」との組合せ、及び、ユーザID「U3」と商品ID「I3」との組合せ、が取得されたと判別する。その後、取得部110は、
図6のユーザテーブルから、第1ユーザのユーザID「U1」に対応付けられた第1ユーザの指定時間帯GR1「18時30分から21時00分」を表す情報を取得する。次に、制御部130は、第1ユーザの指定時間帯GR1「18時30分から21時00分」が、ステップS31で決定された配送時間帯の日付を除く時間帯「19時00分から20時00分」の全部を含むと判別する。このため、制御部130は、商品I1が、配送時間帯DR「1日19時00分から20時00分」に、第1ユーザが指定した第1配送先D1に配送すべき商品であり、かつ、未だ配送計画が生成されていない未計画状態の商品であると判別する。
【0077】
同様に、情報処理装置100は、第2ユーザの指定時間帯GR2「19時00分から21時00分」を表す情報を取得し、取得された指定時間帯GR2が配送時間帯DRの日付を除く時間帯「19時00分から20時00分」の全部を含むと判別する。このため、情報処理装置100は、商品I2が、配送時間帯DRに第2配送先D2に配送すべき商品であり、かつ、未計画状態の商品であると判別する。
【0078】
これに対して、情報処理装置100の取得部110は、
図6のユーザテーブルから、第3ユーザのユーザID「U3」に対応付けられた指定時間帯「09時00分から17時00分」を表す情報を取得する。次に、制御部130は、第3ユーザの指定時間帯「09時00分から17時00分」が配送時間帯DRの日付を除く時間帯「19時00分から20時00分」の全部を含まないと判別する。
【0079】
このため、情報処理装置100の制御部130は、商品I3が、未だ配送計画が生成されていない未計画状態の商品であるが、配送時間帯DRに配送すべき商品ではないと判別する。尚、制御部130は、第3ユーザの指定時間帯が配送時間帯DRの日付を除く時間帯の一部を含まない場合にも、商品I3は、配送時間帯DRに配送すべき商品ではないと判別する。
【0080】
このようにして、本実施例では、情報処理装置100の制御部130は、配送時間帯DR「1日19時00分から20時00分」に配送すべき未計画状態の商品I1及びI2が存在すると判別する(ステップS34;Yes)。尚、制御部130は、未計画状態の商品が存在するが、配送時間帯DRに配送すべき商品が存在しないと判別すると(ステップS34;No)、配送計画生成処理の実行を終了する。
【0081】
次に、情報処理装置100の制御部130は、配送時間帯DRに配送すべき未計画状態の商品I1及びI2の1つに、予め定められた規則、又は、ソフトウェア乱数に基づいて、注目する(ステップS35)。本実施例では、商品I1が注目された場合を具体例として挙げて以下の説明を行う。
【0082】
次に、情報処理装置100の生成部160は、注目された商品(以下、注目商品という)I1を、ステップS33で注目された格納ボックス(以下、注目格納ボックスという)621に格納させて、配送時間帯DRに第1ユーザの第1配送先D1へ配送機600に配送させるように配送計画を生成する(ステップS36)。このために、生成部160は、
図14の配送計画テーブルに保存されている1番目のレコードに、注目格納ボックス621のボックスID「1」と対応付けて、注目商品I1の配送時間帯DR「1日19時00分から20時00分」を表す情報と、注目商品I1の配送計画を表す情報と、注目商品I1の配送計画が生成されているが、未だ実行されていない未実行状態を表す状態情報と、を保存する。注目商品I1の配送計画を表す情報は、注目商品I1の商品ID「I1」と、注目商品I1を注文した第1ユーザのユーザID「U1」と、注目商品I1の配送先である第1配送先D1の位置情報と、第1配送先D1に向かって配送機600を移動させるための移動経路が未だ決定されていないことを表す文字列「NULL」と、を含む。
【0083】
第1配送先D1の位置情報を取得するために、本実施例では、情報処理装置100の取得部110は、
図6のユーザテーブルにおいて、第1ユーザのユーザ「U1」に対応付けられている、第1配送先D1を住所で表す情報を取得する。次に、取得部110は、第1配送先D1を住所で表す情報に情報記憶部190が予め対応付けて記憶している第1配送先D1の位置情報を取得する。
【0084】
次に、情報処理装置100の生成部160は、
図8の受付注文テーブルにおいて、第1ユーザのユーザID「U1」と、第1ユーザに注文された注目商品I1の商品ID「I1」と、に対応付けられた状態情報を、配送計画が生成された計画済状態を表す状態情報に変更する(ステップS37)。
【0085】
次に、情報処理装置100は、ステップS32からS35の処理を再度実行することで、未計画状態の格納ボックス622と、未計画状態の商品I2と、に注目する(ステップS32からS35)。次に、情報処理装置100は、注目商品I2を注目格納ボックス622に格納させて、配送時間帯DR「1日19時00分から20時00分」に、第2ユーザの第2配送先D2へ配送させる配送計画を生成する(ステップS36)。その後、情報処理装置100は、
図8の受付注文テーブルにおいて、第2ユーザのユーザID「U2」と、第2ユーザに注文された注目商品I2の商品ID「I2」と、に対応付けられた状態情報を、配送計画が生成された計画済状態を表す状態情報に変更してから(ステップS37)、ステップS32の処理を再度実行する(ステップS32)。
【0086】
次に、情報処理装置100の取得部110は、
図14の配送計画テーブルから、未計画状態を表す状態情報に対応付けられたボックスIDの取得を試行し、制御部130は、ボックスIDが取得されないため、未計画状態の格納ボックスが存在しないと判別する(ステップS32;No)。その後、制御部130は、配送計画生成処理の実行を終了する。
【0087】
情報処理装置100のCPU101は、配送計画生成処理の実行を終了すると、生成された配送計画に従って商品を配送機600に配送させる、
図15及び
図16に示すような配送制御処理を実行する。これにより、情報処理装置100のCPU101は、第1配送先D1に配送機600が到着する到着日時と、第2配送先D2に配送機600が到着する到着日時と、を予測する、
図5に示すような予測部170として機能する。また、CPU101は、予測された到着日時に基づいて、配送機600に移動させる経路を選択する選択部180としてさらに機能する。
【0088】
情報処理装置100は、配送制御処理の実行を開始すると、商品の配送を配送機600に開始させる、
図17に示すような配送開始制御処理を実行する(ステップS41)。配送開始制御処理の実行が開始されると、情報処理装置100の取得部110は、
図14の配送計画テーブルから、未実行状態を表す状態情報と対応付けられた格納ボックス621のボックスID「1」と、格納ボックス621に格納されることが計画されている商品I1の配送計画を表す情報と、を取得する。また、取得部110は、配送計画テーブルから、未実行状態を表す状態情報と対応付けられたボックスID「2」と商品I2の配送計画を表す情報とを取得する(ステップS61)。
【0089】
次に、情報処理装置100の制御部130は、取得された情報で表される配送計画に基づいて商品I1及びI2の格納指示を行う(ステップS62)。このために、制御部130は、取得されたボックスID「1」と、配送計画を表す情報に含まれる商品I1の商品ID「I1」と、を含み、格納ボックス621に商品I1を格納すること指示するメッセージを表示装置105bに表示させる。また、制御部130は、ボックスID「2」と、商品I2の商品ID「I2」と、を含み、格納ボックス622に商品I2を格納すること指示するメッセージを表示装置105bに表示させる。
【0090】
情報処理装置100の表示装置105bを視認した従業員は、倉庫STから商品I1及びI2を探し出し、探し出した商品I1を格納ボックス621に格納させ、商品I2を格納ボックス622に格納させる。次に、従業員は、格納ボックス621に商品I1が格納され、かつ、格納ボックス622に商品I2が格納されたことを表す信号を出力させる操作を情報処理装置100の入力装置105cに行う。
【0091】
情報処理装置100の入力装置105cが当該操作に応じた信号を出力すると、制御部130は、当該信号に基づいて、格納ボックス621に商品I1が格納され、かつ、格納ボックス622に商品I2が格納されたと判別する。次に、制御部130は、格納ボックスID「1」を含み、かつ、格納ボックス621の施錠を命じる施錠命令と、格納ボックスID「2」を含み、かつ、格納ボックス622の施錠を命じる施錠命令と、を、配送機600を宛先としてデータ通信回路104aに出力する(ステップS63)。
【0092】
情報処理装置100のデータ通信回路104aが施錠命令を配送機600へ送信すると、決定部150は、倉庫STから商品I1の配送先である第1配送先D1までの配送経路と、倉庫STから商品I2の配送先である第2配送先D2までの配送経路と、を決定する(ステップS64)。このために、情報処理装置100の取得部110は、情報記憶部190が予め記憶している部分経路テーブルに保存されている複数のレコードを読み出す。部分経路テーブルには、例えば、道路及び歩道といった配送機600が移動可能な部分経路に関する情報が保存された複数のレコードが予め保存されている。部分経路テーブルの各レコードには、部分経路であるエッジの始点ノードの緯度、経度、及び、高度と、当該エッジの終点ノードの緯度、経度、及び、高度と、当該エッジの距離を表す情報と、が対応付けられて予め保存されている。
【0093】
次に、情報処理装置100の取得部110は、情報記憶部190が予め記憶している倉庫STの位置を緯度、経度、及び、高度で表す位置情報を取得し、商品I1の配送計画を表す情報に含まれている第1配送先D1の位置情報を取得する。その後、決定部150は、読み出された部分経路テーブルの各レコードに保存されているエッジの距離と、当該エッジの始点ノード及び終点ノードの緯度、経度、及び、高度と、倉庫ST及び第1配送先D1の緯度、経度、及び、高度と、を用いて、例えば、ダイクストラ法といった公知の経路探索アルゴリズムを実行する。
【0094】
これにより、情報処理装置100の決定部150は、部分経路を組み合わせることで、倉庫STから第1配送先D1へ到る最短の全体経路を商品I1の配送経路に決定し、決定された配送経路を表す情報を生成する。配送経路を表す情報には、当該配送経路に含まれる複数のノードの位置を緯度、経度、及び、高度で表す位置情報と、複数のノードの到着順を表す情報と、が含まれている。同様にして、決定部150は、倉庫STから第2配送先D2へ到る最短の全体経路を商品I2の配送経路に決定し、決定された配送経路を表す情報を生成する。
【0095】
本実施例では、倉庫STから第1配送先D1へ到る配送経路として、
図2に示すような道路RD上のノードN1からN5を順に経由する経路(以下、経路R12345という)と、倉庫STから第2配送先D2へ到る配送経路として、ノードN1、N2、及び、N6からN8を順に経由する経路(以下、経路R12678という)と、が決定された場合を具体例として挙げて以下の説明を行う。
【0096】
次に、情報処理装置100の制御部130は、ステップS61で取得された配送計画を表す2つの情報に基づいて、複数の配送先への配送が計画されているか否かを判別する(ステップS65)。このとき、制御部130は、ステップS61で取得された2つの配送計画を表す情報に含まれる第1配送先D1の位置情報と、第2配送先D2の位置情報と、が同じであるか否かを判別する。本実施例では、第1ユーザは、第1ユーザが居住する一軒家を第1配送先D1として指定し、第2ユーザは、第2ユーザが居住する一軒家を第2配送先D2として指定し、かつ、第1ユーザと第2ユーザとは、異なる家に居住している場合を具体例として挙げて説明する。このため、制御部130は、第1配送先D1の位置情報と、第2配送先D2の位置情報と、が異なると判別し、複数の配送先への配送が計画されていると判別する(ステップS65;Yes)。
【0097】
その後、情報処理装置100の決定部150は、倉庫STから第1配送先D1へ到る経路R12345を表す情報と、倉庫STから第2配送先D2へ到る経路R12678を表す情報と、に基づいて、これら2つの配送経路の分岐点N2を決定する。分岐点N2を決定するため、情報処理装置100の決定部150は、第1配送先D1へ到る経路R12345に含まれる未注目のノードN1からN5の内で最も到着順の早いノードN1に注目する。その後、決定部150は、注目されたノード(以下、注目ノードという)N1の位置情報が、第2配送先D2へ到る経路R12678に含まれるノードであり、かつ、注目ノードの到着順と同じ到着順が割り当てられたノード(以下、対応ノードという)N1の位置情報と同じであるか否かを判別する。
【0098】
このとき、情報処理装置100の決定部150は、注目ノードN1の位置情報が対応ノードN1の位置情報と同じであると判別する。次に、決定部150は、第1配送先D1に到る経路R12345に含まれる未注目のノードN2からN5の内で最も到着順の早いノードN2に注目し、注目ノードN2の位置情報が、第2配送先D2に到る経路R12678の対応ノードN2の位置情報と同じであるか否かを判別する。
【0099】
このとき、情報処理装置100の決定部150は、注目ノードN2の位置情報が対応ノードN2の位置情報と同じであると判別する。次に、決定部150は、経路R12345のノードN3に注目し、注目ノードN3の位置情報が、経路R12678の対応ノードN6の位置情報と異なると判別する。その後、決定部150は、注目ノードN3の到着順よりも1つ前の到着順が割り当てられたノードN2が、第1配送先D1へ到る経路R12345と、第2配送先D2へ到る経路R12678と、の分岐点N2であると決定する(ステップS66)。
【0100】
その後、情報処理装置100の制御部130は、第1配送先D1に到る経路R12345を表す情報、又は、第2配送先D2に到るN12678を表す情報に基づいて、倉庫STから分岐点N2に到る経路であり、かつ、ノードN1及びN2を含む移動経路(以下、移動経路R12という)を表す情報を生成する。その後、制御部130は、
図14の配送計画テーブルの1番目及び2番目のレコードに保存されている移動経路を表す情報を、生成された移動経路を表す情報に変更する。
【0101】
その後、情報処理装置100の制御部130は、分岐点N2からノードN3からN5を順に経由して第1配送先D1に到る第1経路(以下、第1経路R345という)を表す情報と、分岐点N2からノードN6からN8を順に経由して第2配送先D2に到る第2経路(以下、第2経路R678)を表す情報と、を生成する。
【0102】
次に、情報処理装置100の制御部130は、生成された移動経路R12を表す情報を含み、かつ、倉庫STから分岐点N2まで当該移動経路R12を移動することを命じる移動命令を、配送機600を宛先としてデータ通信回路104aへ出力する(ステップS67)。その後、データ通信回路104aは、移動命令を配送機600へ送信する。
【0103】
次に、情報処理装置100の制御部130は、
図14の配送計画テーブルにおいて、配送機600の格納ボックス621のボックスID「1」に対応付けられた状態情報と、格納ボックス622のボックスID「2」に対応付けられた状態情報と、を、配送計画が実行されている実行中状態を表す情報に変更する(ステップS68)。その後、制御部130は、配送開始制御処理の実行を終了する。
【0104】
図15のステップS41で配送開始制御処理を実行した後に、情報処理装置100の取得部110は、移動経路R12の終点であるノードN2に配送機600が到着したか否かを判別する(ステップS42)。このために、取得部110は、データ通信回路104aからの到着報告の取得を試行し、到着報告を取得したか否かを判別する。当該到着報告は、配送機600から受信される報告であり、移動経路R12の終点N2に配送機600が到着したことを告げる報告であり、かつ、当該終点N2の位置を緯度、経度、及び、高度で表す位置情報を含んでいる。このとき、取得部110は、到着報告を取得しなかったと判別すると、配送機600が終点N2に到着していないと判別し(ステップS42;No)、ステップS42から上記処理を繰り返す。
【0105】
これに対して、情報処理装置100の取得部110は、到着報告を取得したと判別すると、配送機600が終点N2に到着したと判別し(ステップS42;Yes)、到着報告から終点N2の位置情報を取得する。次に、情報処理装置100は、複数の配送先への配送が計画されていると判別し(ステップS43;Yes)、終点である分岐点N2から第1配送先D1に到る第1経路と、分岐点N2から第2配送先D2に到る第2経路と、から、配送機600に移動させる経路を選択する、
図18に示すような経路選択処理を実行する(ステップS44)。
【0106】
経路選択処理の実行を開始すると、情報処理装置100は、第1経路R345と、第2経路R678と、から、第1ユーザ又は第2ユーザの行動予定の時間帯を避けた日時に第1配送先D1又は第2配送先D2に配送機600を到着させるための経路を選択する、
図19に示すよう予定回避選択処理を実行する(ステップS71)。
【0107】
予定回避選択処理の実行が開始されると、情報処理装置100の取得部110は、
図14の配送計画テーブルから、格納ボックスID「1」に対応付けられたユーザID「U1」と商品ID「I1」とを取得する。次に、取得部110は、
図8の受付注文テーブルから、ユーザID「U1」と商品ID「I1」とに対応付けられた注文受付日時「1日13時00分」を表す情報を取得する。このようにして、配送機600の格納ボックス621に格納された商品I1に対する第1ユーザの注文が受け付けられた日時である注文受付日時を表す情報が取得される。
【0108】
次に、情報処理装置100の取得部110は、
図6のユーザテーブルから、ユーザID「U1」に対応付けられた指定時間帯GR1「18時30分から21時00分」を表す情報を取得する。このようにして、配送機600の格納ボックス621に格納された商品I1の受取人である第1ユーザに指定された指定時間帯GR1を表す情報が取得される。
【0109】
その後、情報処理装置100の取得部110は、
図12の行動予定テーブルから、第1ユーザの行動予定の時間帯の内で、以下の第1取得条件を満たす時間帯を表す情報を取得する。第1取得条件とは、第1ユーザの行動予定の時間帯の内で、日付を除く時間帯が第1ユーザの指定時間帯GR1「18時30分から21時00分」に含まれる時間帯であり、かつ、注文受付日時「1日13時00分」以降の時間帯であるという条件である。このため、取得部110は、第1ユーザの行動予定の時間帯AR11「1日18時20分から19時20分」の内で、第1取得条件を満たす時間帯AR11’「1日18時30分から19時20分」を表す情報を取得する(ステップS81)。
【0110】
これに対して、情報処理装置100の取得部110は、第1ユーザの行動予定の時間帯AR11の内で、第1取得条件を満たさない時間帯を表す情報を取得しない。すなわち、取得部110は、第1ユーザの行動予定の時間帯AR11「1日18時20分から19時20分」の内で、日付を除く時間帯が第1ユーザの指定時間帯GR1「18時30分から21時00分」に含まれない時間帯「1日18時20分から18時30分」を表す情報を取得しない。このような情報が取得されないのは、第1ユーザの指定時間帯GR1「18時30分から21時00分」に含まれない時間帯には、第1ユーザが第1配送先D1に滞在していない蓋然性が高いため、第1配送先D1へ商品が配送されないためである。
【0111】
また、情報処理装置100の取得部110は、例えば、
図12の行動予定テーブルに、第1ユーザの行動予定の時間帯「2020年12月31日18時30分から20時00分」を表す情報が保存されている場合であっても、当該時間帯は、注文受付日時「2021年01月01日13時00分」よりも前の時間帯であるので、当該時間帯を表す情報を取得しない。このような情報が取得されないのは、商品I1の注文が受け付けられた注文受付日時よりも前の時間帯を表す情報は、注文された商品I1の配送計画の生成に用いられないからである。また、第1取得条件を満たす情報に限って取得されるのは、第1ユーザのプライバシーの侵害を抑制するためである。
【0112】
その後、情報処理装置100の制御部130は、取得された情報で表される時間帯(以下、取得時間帯という)AR11’「1日18時30分から19時20分」が、配送時間帯DR「1日19時00分から20時00分」に、
図7に示すような時間帯OR11「1日19時00分から19時20分」で一部重なると判別する(ステップS82;Yes)。
【0113】
次に、情報処理装置100の取得部110は、ステップS81と同様の処理を実行することで、第2ユーザの行動予定の時間帯の内で、以下の第2取得条件を満たす時間帯を表す情報を取得する。第2取得条件とは、第2ユーザの行動予定の時間帯の内で、日付を除く時間帯が第2ユーザの指定時間帯GR2「19時00分から21時00分」に含まれる時間帯であり、かつ、第2ユーザによる商品I2の注文が受け付けられた注文受付日時「1日14時00分」以降の時間帯であるという条件である。このため、取得部110は、第2ユーザの行動予定の時間帯AR2「1日18時30分から19時30分」の内で、第2取得条件を満たす時間帯AR2’「1日19時00分から19時30分」を表す情報を取得する(ステップS83)。
【0114】
これに対して、情報処理装置100の取得部110は、第2ユーザの行動予定の時間帯AR2の内で、第2取得条件を満たさない時間帯を表す情報を取得しない。すなわち、取得部110は、第2ユーザの行動予定の時間帯AR2「1日18時30分から19時30分」の内で、日付を除く時間帯が第2ユーザの指定時間帯GR2「19時00分から21時00分」に含まれない時間帯「1日18時30分から19時00分」を表す情報を取得しない。
【0115】
次に、情報処理装置100の制御部130は、取得された情報で表される取得時間帯AR2’「1日19時00分から19時30分」が、配送時間帯DR「1日19時00分から20時00分」に、
図7に示すような時間帯OR2「1日19時00分から19時30分」で一部重なると判別する(ステップS84;Yes)。
【0116】
次に、情報処理装置100の予測部170は、分岐点N2から第1配送先D1に到る第1経路R345を配送機600が移動した場合に、第1配送先D1へ配送機600が到着する日時(以下、第1到着日時という)を予測する。このために、取得部110は、情報記憶部190が予め記憶する、配送機600の移動速度を表す情報を取得する。本実施例において、配送機600の移動速度は、配送機600に予め設定された設定速度であるが、これに限定される訳では無い。配送機600の移動速度は、例えば、過去に計測された配送機600の計測速度の平均速度、最高速度、若しくは、最低速度、配送機600が達成可能な最高速度、又は、法律で定められている制限速度であっても良い。
【0117】
その後、情報処理装置100の予測部170は、第1経路R345を表す情報に含まれるノードN3からN5の位置情報と、分岐点N2及び第1配送先D1の位置情報と、に基づいて、分岐点N2から第1配送先D1までの第1経路R345上の距離を算出する。その後、予測部170は、算出された距離を、取得された情報で表される移動速度で除算することで、分岐点N2から第1配送先D1まで配送機600が移動するのに要する時間(以下、第1移動時間という)を予測する。本実施例では、第1移動時間が「20分」と予測された場合を具体例として挙げて以下の説明を行う。
【0118】
次に、情報処理装置100の取得部110は、例えば、OSが管理するシステム日時を取得する。本実施例では、システム日時「1日19時10分」が取得された場合を具体例として挙げて説明を行う。このため、予測部170は、システム日時「1日19時10分」に対して、予測された第1移動時間「20分」を加算することで、配送機600の第1配送先D1への到着日時である第1到着日時を「1日19時30分」と予測する(ステップS85)。
【0119】
次に、情報処理装置100の決定部150は、予測された第1到着日時「1日19時30分」が、第1ユーザの行動予定の取得時間帯AR11’と配送時間帯DRとが重なる時間帯(以下、第1重複時間帯という)OR11「1日19時00分から19時20分」に含まれないと判別する(ステップS86;No)。その後、決定部150は、商品I1の配送時間帯DRを、
図7に示すような配送時間帯DR11に変更するため、変更後の配送時間帯DR11の開始日時を第1到着日時「1日19時30分」に決定する。また、決定部150は、決定された開始日時よりも予め定められた配送時間帯の長さ「1時間」だけ後の日時であり、かつ、第1ユーザの指定時間帯GR1の終了日時以前の日時「1日20時30分」を、配送時間帯DR11の終了日時に決定する。このようにして、決定部150は、配送時間帯DR11「1日19時30分から20時30分」を決定する(ステップS87)。
【0120】
その後、情報処理装置100の選択部180は、第1経路R345と、第2経路R678と、から、配送機600に移動させる経路として、第1配送先D1へ到る第1経路R345を選択してから(ステップS88)、予定回避選択処理の実行を終了する。
【0121】
図18のステップS71で予定回避選択処理が実行された後に、情報処理装置100の制御部130は、第1経路R345が選択されたため、経路選択処理の終了条件が満足されたと判別し(ステップS72;Yes)、経路選択処理の実行を終了する。
【0122】
図15のステップS44で経路選択処理が実行された後に、情報処理装置100の制御部130は、第1経路R345が選択されたと判別する(ステップS45;Yes)。次に、制御部130は、配送機600が到着したノードN2を始点とし、第1経路R345の次のノードN3を終点とし、かつ、第1経路R345の一部である移動経路を表す情報を、第1経路R345を表す情報に基づいて生成する。第1経路R345の次のノードとは、第1経路R345に含まれる配送機600が未到着のノードの内で、最も到着順が早いノードを意味する。
【0123】
情報処理装置100の生成部160は、
図14の配送計画テーブルの1番目及び2番目のレコードに保存されている配送計画を表す情報の移動経路を表す情報を、生成された移動経路を表す情報に変更する。これにより、生成部160は、移動経路を表す情報が変更される前の配送計画を削除し、
図7に示すような第1重複時間帯OR11「1日19時00分から19時20分」に含まれる日時と異なる第1到着日時「1日19時30分」に、商品I1が第1配送先D1到着するように新たな配送計画を生成する(ステップS46)。
【0124】
その後、情報処理装置100の制御部130は、生成された移動経路を表す情報を含み、当該移動経路の移動を命じる移動命令を、配送機600を宛先としてデータ通信回路104aへ出力し(ステップS47)、データ通信回路104aは、移動命令を配送機600へ送信する。これにより、制御部130は、第1経路R345をエッジ1つ分だけ配送機600に移動させる制御を行う。
【0125】
次に、情報処理装置100は、ステップS42と同様の処理を実行することで、配送機600が、移動経路の終点であるノードN3に到着したか否かを判別する(ステップS48)。このとき、情報処理装置100は、配送機600が終点N3に到着していないと判別すると(ステップS48;No)、ステップS48の処理を繰り返す。これに対して、配送機600が終点N3に到着したと判別されると(ステップS48;Yes)、制御部130は、移動経路の終点N3の位置情報と、第1配送先D1の位置情報と、が同じであるか否かに基づいて、当該終点N3が第1配送先D1であるか否かを判別する(ステップS49)。
【0126】
このとき、情報処理装置100の制御部130は、移動経路の終点N3の位置情報と、第1配送先D1の位置情報と、が異なるため、移動経路の終点N3が第1配送先D1でないと判別する(ステップS49;No)。次に、決定部150は、配送機600が到着したノード(以下、到着ノードという)である終点N3が、当該到着ノードN3から第1配送先D1へ到る最短経路と、当該到着ノードN3から第2配送先D2へ到る最短経路と、の分岐点であるか否かを判別する(ステップS50)。
【0127】
このために、情報処理装置100の決定部150は、
図17のステップS64と同様の処理を実行することで、到着ノードN3からノードN4及びN5を順に経由して第1配送先D1へ到る最短経路(以下、経路R45という)と、到着ノードN3からノードN4及びN8を順に経由して第2配送先D2へ到る最短経路(以下、経路R48という)と、を決定する。次に、決定部150は、第1経路R45に含まれる到着順が1番のノードN4の位置情報と、第2経路R48に含まれる到着順が1番のノードN4の位置情報と、が同じであるため、配送機600の到着ノードN3は、分岐点でないと判別する(ステップS50;No)。その後、情報処理装置100は、ステップS46から上記処理を繰り返す。
【0128】
その後、情報処理装置100は、ステップS46からS48の処理を実行することで、配送機600をノードN4に到着させた後に(ステップS46からS48)、配送機600が到着したノードN4は、第1配送先D1でないと判別する(ステップS49;No)。次に、情報処理装置100は、到着ノードN4からノードN5を経由して第1配送先D1へ到る最短経路(以下、経路R5という)と、到着ノードN4からノードN8を経由して第2配送先D2へ到る最短経路(以下、経路R8という)とを決定する。次に、情報処理装置100は、第1経路R5に含まれる到着順が1番のノードN5の位置情報と、第2経路R8に含まれる到着順が1番のノードN8の位置情報と、が異なるため、配送機600の到着ノードN4は、分岐点であると判別する(ステップS50;Yes)。次に、情報処理装置100は、ステップS44から上記処理を繰り返す。
【0129】
その後、情報処理装置100は、
図18に示した経路選択処理を再度実行する(ステップS44)。経路選択処理の実行を開始すると、情報処理装置100は、
図19に示した予定回避選択処理を再度実行する(ステップS71)。予定回避選択処理の実行を開始すると、情報処理装置100は、第1ユーザの行動予定の時間帯の内で、上記の第1取得条件を満たす時間帯を表す情報を再度取得する。
【0130】
本実施例では、配送機600が分岐点N2を出発してから分岐点N4に到着するまでの間の日時である「1日19時20分」に、第1ユーザがある動画の視聴を終了し、再生時間が「20分」の動画の視聴を開始した場合を具体例として挙げて以下の説明を行う。このため、第1ユーザの行動予定の取得時間帯AR11’を表す情報が前回に取得されから、今回に取得されるまでの間に、
図12の行動予定テーブルへ、第1ユーザのユーザID「U1」と、
図7に示すような第1ユーザの行動予定の時間帯AR12「1日19時20分から19時40分」を表す情報と、行動予定の種別を表す情報と、が保存されている。
【0131】
このため、情報処理装置100の取得部110は、前回に取得された第1ユーザの行動予定の取得時間帯AR11’を表す情報に加えて、第1ユーザの行動予定の取得時間帯AR12’「1日19時20分から19時40分」を表す情報を取得する(ステップS81)。次に、制御部130は、取得された情報で表される行動予定の取得時間帯AR12’「1日19時20分から19時40分」と、配送時間帯DR11「1日19時30分から20時30分」と、が、
図7に示すような時間帯OR12「1日19時30分から19時40分」で一部重なると判別する(ステップS82;Yes)。
【0132】
次に、情報処理装置100は、第2ユーザの行動予定の時間帯の内で、上記の第2取得条件を満たす時間帯を表す情報を再度取得する。本実施例では、第2ユーザが予定通りに動画の視聴を終了し、動画配信アプリの実行を終了させる操作を端末装置902に行った場合を具体例として挙げて説明する。このため、情報処理装置100の取得部110は、前回に取得された第2ユーザの行動予定の取得時間帯AR2’を表す情報を再度取得する(ステップS83)。次に、制御部130は、前回と同様に、取得された情報で表される行動予定の取得時間帯AR2’と、商品I2の配送時間帯DRと、が、時間帯OR2で重なると判別する(ステップS84;Yes)。
【0133】
次に、情報処理装置100は、分岐点N4から第1配送先D1に到る第1経路R5を配送機600が移動した場合に、第1配送先D1へ配送機600が到着する日時である第1到着日時を予測する(ステップS85)。本実施例では、第1到着日時が「1日19時35分」と予測された場合を具体例として挙げて以下の説明を行う。このため、決定部150は、予測された第1到着日時「1日19時35分」が、第1重複時間帯OR12「1日19時30分から19時40分」に含まれると判別する(ステップS86;Yes)。
【0134】
次に、情報処理装置100は、ステップS85と同様の処理を実行することで、配送機600の第2配送先D2への到着日時を予測する(ステップS89)。本実施例では、第2到着日時が「19時40分」と予測された場合を具体例として挙げて以下の説明を行う。このため、決定部150は、予測された第2到着日時「1日19時40分」が、第2ユーザの行動予定の取得時間帯AR2’と配送時間帯DRとが重なる第2重複時間帯OR2「1日19時00分から19時30分」に含まれないと判別する(ステップS90;No)。
【0135】
その後、情報処理装置100は、ステップS87と同様の処理を実行する。これにより、情報処理装置100の決定部150は、商品I2の配送時間帯DRを、商品I2の新たな配送時間帯DR2に変更するため、変更後の配送時間帯DR2の開始日時を第2到着日時「1日19時40分」に決定する。また、決定部150は、決定された開始日時よりも予め定められた配送時間帯の長さ「1時間」だけ後の日時であり、かつ、第2ユーザの指定時間帯GR2の終了日時以前の日時「1日20時40分」を、商品I2の配送時間帯DR2の終了日時に決定する。このようにして、決定部150は、配送時間帯DR2「1日19時40分から20時40分」を決定する(ステップS91)。次に、情報処理装置100の選択部180は、配送機600を移動させる経路として、分岐点N4から第2配送先D2へ到る第2経路R8を選択してから(ステップS92)、予定回避選択処理の実行を終了する。
【0136】
図18のステップS71で予定回避選択処理を実行した後、情報処理装置100は、経路選択処理の終了条件が満足されたと判別してから(ステップS72;Yes)、経路選択処理の実行を終了する。
図15のステップS44で経路選択処理を実行した後に、情報処理装置100は、第2経路R8が選択されたと判別する(ステップS45;Yes)。その後、情報処理装置100の生成部160は、分岐点N4から次のノードN8に到る移動経路を表す情報を生成し、生成された移動経路を表す情報に、
図14の配送計画テーブルの1番目及び2番目のレコードに保存されている配送計画を表す情報の移動経路を表す情報を変更する。これにより、生成部160は、移動経路を表す情報が変更される前の配送計画を削除し、
図7に示すような第2重複時間帯OR2「1日19時00分から19時30分」に含まれる日時と異なる第2到着日時「1日19時40分」に、商品I2が第2配送先D2へ到着するように新たな配送計画を生成する(ステップS46)。その後、情報処理装置100は、次のノードN8まで配送機600を移動させた後に(ステップS47からS49)、ノードN8が分岐点であると判別する(ステップS50;No)。その後、情報処理装置100は、ステップS44から上記処理を繰り返す。
【0137】
その後、情報処理装置100は、経路選択処理を再度実行する(ステップS44)。本実施例では、経路選択処理の再度の実行により、第2経路R8の選択が維持された場合を具体例として挙げて説明する。このため、情報処理装置100は、第2経路R8が選択されたと判別し(ステップS45;Yes)、第2経路R8の終点である第2配送先D2まで配送機600を移動させる(ステップS46からS48)。次に、情報処理装置100は、配送機600に移動させた移動経路の終点の位置情報と、第2配送先D2の位置情報と、が同じであるため、配送機600が到着した終点が第2配送先D2であると判別する(ステップS49;Yes)。その後、情報処理装置100は、配送機600に商品I2を第2ユーザに受け渡させる、
図20に示すような受渡制御処理を実行する。
【0138】
受渡制御処理の実行を開始すると、情報処理装置100の取得部110は、
図14の配送計画テーブルから、ボックスID「2」に対応付けられた商品ID「I2」とユーザID「U2」とを取得する。次に、取得部110は、
図6のユーザテーブルから、ユーザID「U2」に対応付けられた、第2配送先D2を住所で表す情報を取得する。その後、取得部110は、不図示の商品テーブルから、商品ID「I2」に対応付けられた商品の名称を表す情報を取得する。その後、制御部130は、ボックスID「2」、商品I2の名称、及び、第2配送先D2を住所で表す情報を含む受取要求を生成する。本実施例で生成される受取要求は、第2配送先D2に到着した配送機600に第2ユーザのパスワードを入力して認証を受けること、及び、認証が成功した場合に格納ボックス622から商品I2を受け取ること、を、第2ユーザに求める要求である。その後、制御部130は、生成された受取要求を、第2ユーザが携帯する端末装置902を宛先としてデータ通信回路104aへ出力してから(ステップS101)、不図示のハードウェアタイマー又はソフトウェアタイマーを用いて計時を開始する。
【0139】
その後、情報処理装置100の取得部110は、予め定められた時間を表す情報を情報記憶部190から取得する。次に、制御部130は、計時時間の長さが予め定められた時間の長さ以上であるか否かに基づいて、受取要求を出力してから予め定められた時間が経過したか否かを判別する(ステップS102)。
【0140】
このとき、情報処理装置100の制御部130は、計時時間の長さが予め定められた時間の長さ以上であると、予め定められた時間が経過したと判別する(ステップS102;Yes)。次に、制御部130は、商品I2の配送計画の実行を中止すると判別し、受渡制御処理の実行を終了する。
【0141】
これに対して、情報処理装置100の制御部130は、計時時間の長さが予め定められた時間の長さよりも短いと、予め定められた時間が経過していないと判別する(ステップS102;No)。次に、取得部110は、認証要求をデータ通信回路104aから取得することを試行する。当該認証要求は、配送機600から受信された要求であり、第1ユーザによって配送機600に入力されたパスワードを表す情報を含み、かつ、当該パスワードを用いてパスワード認証を行うことを求める要求である。
【0142】
このとき、情報処理装置100の取得部110は、認証要求を取得すると、
図6のユーザテーブルにおいて、第2ユーザのユーザID「U2」と対応付けられたパスワードを表す情報を取得する。次に、認証部120は、ユーザテーブルから取得された情報で表されるパスワードと、認証要求によって表されるパスワードと、が一致するか否かに基づいてパスワード認証が成功したか否かを判別する(ステップS103)。このとき、これらのパスワードが一致しないため、パスワード認証が成功せず、失敗したと認証部120が判別すると(ステップS103;No)、制御部130は、パスワード認証が失敗したことを告げる認証失敗報告を、配送機600を宛先としてデータ通信回路104aに出力する。その後、情報処理装置100は、ステップS102から上記処理を繰り返す。
【0143】
これに対して、情報処理装置100の認証部120が、2つのパスワードが一致するため、認証が成功したと判別すると(ステップS103;Yes)、制御部130は、ボックスID「2」を含み、かつ、格納ボックス622の解錠を命じる解錠命令を生成する。次に、制御部130は、生成された解錠命令を、配送機600を宛先としてデータ通信回路104aへ出力する(ステップS104)。
【0144】
その後、情報処理装置100の取得部110は、配送機600から受信された受渡報告をデータ通信回路104aから取得することを試行する。当該受渡報告は、格納ボックス622のボックスID「2」を含み、かつ、配送機600の格納ボックス622に格納されていた商品I2が第2ユーザに受け渡されたことを告げる報告である。
【0145】
次に、情報処理装置100の取得部110は、受渡報告が取得されたか否かを判別し(ステップS105)、判別結果に基づいて配送計画の実行が完了したか否かを判別する。このとき、制御部130は、受渡報告が取得されなかったと判別すると(ステップS105;No)、配送計画の実行が完了していないと判別する。その後、情報処理装置100は、予め定められた時間に亘ってスリープした後に、ステップS105の処理を繰り返す。
【0146】
これに対して、情報処理装置100の取得部110は、受渡報告が取得されたと判別すると(ステップS105;Yes)、受渡報告に含まれるボックスID「2」を取得し、
図14の配送計画テーブルから、ボックスID「2」に対応付けられたユーザID「U2」と、商品ID「I2」と、を取得する。次に、取得部110は、第2ユーザが注文した商品I2を第2配送先D2へ配送する配送計画の実行が完了したと判別する。その後、制御部130は、
図8の受付注文テーブルから、第2ユーザのユーザID「U2」と、第2ユーザに受け渡された商品I2の商品ID「I2」と、が保存されたレコードを削除する。その後、制御部130は、
図14の配送計画テーブルにおいて、ボックスID「2」に対応付けられた配送時間帯を表す情報と、配送計画を表す情報と、当該配送計画の状態を表す状態情報と、を、文字列「NULL」に変更する。これにより、制御部130は、配送計画を削除した後に(ステップS106)、受渡制御処理の実行を終了する。
【0147】
図15のステップS51で受渡制御処理が実行された後、情報処理装置100の決定部150は、
図17のステップS64と同様の処理を実行することで、第2配送先D2からノードN8、N4、及び、N5を順に経由して第1配送先D1へ到る最短の配送経路(以下、経路R845という)を決定する(ステップS52)。次に、情報処理装置100は、第1配送先D1への商品I1の配送を継続するか否かを決定する、
図21に示すような配送続否決定処理を実行する(ステップS53)。
【0148】
配送続否決定処理の実行を開始すると、情報処理装置100は、
図19のステップS81と同様の処理を実行することで、第1ユーザの行動予定の時間帯の内で、上記の第1取得条件を満たす時間帯を表す情報を再度取得する(ステップS111)。本実施例では、第1ユーザが予定通りに動画の視聴を終了し、動画配信アプリの実行を終了させる操作を端末装置901に行った場合を具体例として挙げて説明する。このため、情報処理装置100の取得部110は、前回に取得された第1ユーザの行動予定の取得時間帯AR11’を表す情報と、第1ユーザの行動予定の取得時間帯AR12’を表す情報と、を再度取得する。
【0149】
次に、情報処理装置100は、
図19のステップS82と同様の処理を実行することで、第1ユーザに注文された商品I1の配送時間帯DR11「1日19時30分から20時30分」と、第1ユーザの行動予定の取得時間帯AR12’「1日19時20分から19時40分」と、が、第1重複時間帯OR12「1日19時30分から19時40分」で重なると判別する(ステップS112;Yes)。その後、情報処理装置100は、ステップS85と同様の処理を実行することで、第1配送先D1へ配送機600が到着すると予測される日時である第1到着日時を予測する(ステップS113)。本実施例では、第1到着日時が「1日19時50分」と予測された場合を具体例として挙げて以下の説明を行う。
【0150】
次に、情報処理装置100は、ステップS86と同様の処理を行うことで、予測された到着日時「1日19時50分」が、第1重複時間帯OR12「1日19時30分から19時40分」に含まれないと判別する(ステップS114;No)。その後、決定部150は、商品I1の配送時間帯DR11を、
図7に示すような配送時間帯DR12に変更するため、変更後の配送時間帯DR12の開始日時を第1到着日時「1日19時50分」に決定する。また、決定部150は、決定された開始日時よりも予め定められた配送時間帯の長さ「1時間」だけ後の日時であり、かつ、第1ユーザの指定時間帯GR1の終了日時以前の日時「1日20時50分」を、配送時間帯DR12の終了日時に決定する。このようにして、決定部150は、配送時間帯DR12「1日19時50分から20時50分」を決定する(ステップS115)。
【0151】
その後、情報処理装置100の決定部150は、第1配送先D1への商品I1の配送を継続することを決定した後に(ステップS116)、配送続否決定処理の実行を終了する。
【0152】
図16のステップS53で配送続否決定処理が実行された後に、情報処理装置100の制御部130は、配送を継続すると決定されたと判別する(ステップS54;Yes)。次に、情報処理装置100の生成部160は、ステップS46と同様の処理を実行することで、第1移動先に到る経路R845の次のノードN8に到る移動経路を表す情報を生成する。次に、生成部160は、生成された移動経路を表す情報に、
図14の配送計画テーブルにおいて、第1移動先の位置情報と対応付けられている配送計画を表す情報の移動経路を表す情報を変更する。これにより、生成部160は、移動経路を表す情報が変更される前の配送計画を削除し、
図7に示すような第1重複時間帯OR12「1日19時30分から19時40分」に含まれる日時と異なる第1到着日時「1日19時50分」に、商品I1が第1配送先D1到着するように新たな配送計画を生成する(ステップS55)。次に、情報処理装置100は、生成された移動経路の移動を命じる移動命令を、配送機600を宛先としてデータ通信回路104aへ出力する(ステップS56)。
【0153】
その後、情報処理装置100は、ステップS48と同様の処理を実行することで、配送機600が、移動経路の終点であるノードN8に到着したか否かを判別する(ステップS57)。このとき、情報処理装置100は、配送機600が終点N8に到着していないと判別すると(ステップS57;No)、ステップS57の処理を繰り返す。これに対して、情報処理装置100は、配送機600が終点N8に到着したと判別すると(ステップS57;Yes)、ステップS49と同様の処理を実行することで、配送機600が到着した終点N8が第1配送先D1であるか否かを判別する(ステップS58)。このとき、情報処理装置100は、終点N8が第1配送先D1でないと判別し(ステップS58;No)、ステップS53から上記処理を繰り返す。
【0154】
その後、情報処理装置100は、配送続否決定処理を再度実行することで、第1ユーザの行動予定の取得時間帯を表す情報を再度取得し、取得された情報に基づいて、第1配送先D1への配送を継続するか否かを決定する(ステップS53)。本実施例では、第1配送先D1への配送を継続すると決定された場合を具体例として挙げて説明する。このため、情報処理装置100は、第1配送先D1への配送を継続すると決定されたと判別し(ステップS54;Yes)、次のノードN4を終点とする移動経路の移動を命じる移動命令を出力する(ステップS55及びS56)。その後、情報処理装置100は、配送機600が終点N4に到着したと判別した後に(ステップS57;Yes)、終点N4が第1配送先D1でないと判別し(ステップS58;No)、ステップS53から上記処理を繰り返す。
【0155】
その後、情報処理装置100は、ステップS53からS58の処理を再度実行することで、配送機600をノードN5へ移動させた後に、ステップS53からS58の処理を再度実行することで、配送機600を第1配送先D1へ到着させる(ステップS53からS58)。その後、情報処理装置100は、移動経路の終点が第1配送先D1であると判別すると(ステップS58;Yes)、
図20に示した受渡制御処理を実行することで、商品I1を第1ユーザに受け渡させる制御を配送機600に行う(ステップS59)。
【0156】
その後、情報処理装置100は、配送機600を倉庫STに帰還させる、
図22に示すような帰還制御処理を実行する(ステップS60)。帰還制御処理の実行が開始されると、情報処理装置100の取得部110は、配送計画が残存しているか否かを判別する(ステップS131)。配送計画が残存しているとは、実行が完了しなかったため、
図20のステップS106で削除されなかった配送計画が存在することを意味する。
【0157】
このために、情報処理装置100の取得部110は、
図14の配送計画テーブルから、配送計画が実行されている状態を表す実行中状態と対応付けられたボックスIDの取得を試行する。本実施例では、配送機600の格納ボックス621及び622にそれぞれ格納された商品I1及びI2の配送計画の実行が完了している。このため、取得部110は、ボックスIDを取得しないため、配送計画が残存していないと判別する(ステップS131;No)。
【0158】
次に、情報処理装置100の決定部150は、
図17のステップS64と同様の処理を実行することで、第1配送先D1から倉庫STへ到る最短の帰還経路を決定し(ステップS135)、帰還経路を表す情報を生成する。その後、情報処理装置100の制御部130は、生成された帰還経路を表す情報を含み、かつ、倉庫STまで帰還経路を移動することを命じる移動命令を、配送機600を宛先としてデータ通信回路104aへ出力する(ステップS136)。その後、データ通信回路104aが移動命令を配送機600へ送信すると、制御部130は、帰還制御処理の実行を終了する。
【0159】
図16のステップS60で帰還制御処理を実行した後に、情報処理装置100は、配送制御処理の実行を終了する。
【0160】
倉庫STで勤務する従業員は、配送機600が倉庫STに帰還すると、配送計画を生成させるための操作を情報処理装置100の入力装置105cに再度行う。入力装置105cが当該操作に応じた信号を出力すると、情報処理装置100のCPU101は、
図13に示した配送計画生成処理を再度実行することで、配送計画を生成する。その後、情報処理装置100のCPU101は、
図15及び
図16に示した配送制御処理を実行することで、生成された配送計画に従って、配送機600に商品の配送を行わせる。
【0161】
配送機600は、例えば、無人地上車両であり、無人で地上を走行可能な走行機である。配送機600は、
図23に示すような車輪601及び602を含む複数の車輪を備える車台610と、車台610の上面に設置された格納庫620と、格納庫620に内蔵された情報処理装置690と、を備える。
【0162】
配送機600の格納庫620は、それぞれボックスID「1」及び「2」が印字された2つの格納ボックス621及び622を備える。格納ボックス621は、不図示の1枚の底板、天板、及び、背板、並びに、2枚の側板を備え、これらの板により閉塞されて前方が開放された空間を形成する箱体を備える。箱体の開口部には、扉621aを受け止める扉枠621bが設置されている。扉621aは、カンヌキであるデッドボルト621cを備え、扉枠621bは、デッドボルト621cの受座であるストライク621dを備える。
【0163】
配送機600が備える格納ボックス621の扉621aは、配送機600の情報処理装置690から出力される信号に従って、デッドボルト621cをストライク621dへ挿入させる不図示のモータをさらに備えている。また、当該モータは、情報処理装置690から出力される信号に従って、デッドボルト621cをストライク621dから抜出させる。デッドボルト621cがストライク621dへ挿入されると、格納ボックス621の扉621aが施錠される。デッドボルト621cがストライク621dから抜出されると、格納ボックス621の扉621aが解錠される。格納ボックス622が有する構成及び機能は、格納ボックス621が有する構成及び機能と同様である。
【0164】
配送機600の格納庫620は、例えば、デジタルカメラである撮像装置630を、格納ボックス621及び622の扉が設置されている面に備える。撮像装置630の光軸及び画角は、格納ボックス621及び622に格納された商品を受け取るユーザが撮像範囲に含まれるように調整されている。撮像装置630は、予め定められた周期で撮像を行い、撮像により得られた画像を表す信号を情報処理装置690へ出力する。
【0165】
配送機600は、車台610の前面に設置されたLiDAR(Light Detection and Ranging)センサ641と、車台610の後面に設置された不図示のLiDARセンサと、をさらに備える。
【0166】
配送機600が備える前面のLiDARセンサ641は、配送機600の前方向を基準の方位として用いる場合に、当該基準の方位となす方位角が-90度から+90度まで、かつ、配送機600の前方向となす仰角が-90度から+90度までの範囲に含まれる複数の方向へレーザー光を照射する。前面のLiDARセンサ641は、照射されたレーザー光の反射光を受光し、レーザー光の照射から反射光の受光までの時間に基づいて、レーザー光が反射された複数の反射点までの距離を計測する。次に、前面のLiDARセンサ641は、レーザー光の照射方向と計測された距離とに基づいて、配送機600の中心点を原点として用いた三次元座標系における座標値を、複数の反射点について算出する。その後、前面のLiDARセンサ641は、算出された複数の反射点の座標値を配送機600の情報処理装置690へ出力する。
【0167】
配送機600が備える後面のLiDARセンサは、配送機600の後方向を基準の方位として用いる場合に、当該基準の方位となす方位角が-90度から+90度まで、かつ、配送機600の後方向となす仰角が-90度から+90度までの範囲に含まれる複数の方向へ赤外線のレーザー光を照射する。また、後面のLiDARセンサは、照射されたレーザー光の複数の反射点について配送機600の三次元座標系における座標値を算出し、算出された複数の反射点の座標値を配送機600の情報処理装置690へ出力する。
【0168】
配送機600が備える前面のLiDARセンサ641及び後面のLiDARセンサが複数の反射点の座標値を情報処理装置690へ出力するのは、例えば、障害物等の物体を回避して走行するために、配送機600の情報処理装置690が、配送機600を基準として用いた全方向にある物体の三次元空間における座標値及びサイズ等を特定するためである。
【0169】
配送機600の情報処理装置690は、
図24に示すようなハードウェアであるCPU691、RAM692、ROM693a、フラッシュメモリ693b、データ通信回路694a、ビデオカード695a、表示装置695b、入力装置695c、位置計測回路696、入出力ポート698、及び、駆動回路699を備える。本実施例では、配送機600は、1つのCPU691を備えるが、複数のCPUを備えても良い。また、配送機600は、複数のRAM及びフラッシュメモリを備えても良い。
【0170】
配送機600のCPU691、RAM692、ROM693a、データ通信回路694a、ビデオカード695a、表示装置695b、及び、入力装置695cの構成及び機能は、情報処理装置100のCPU101、RAM102、ROM103a、データ通信回路104a、ビデオカード105a、表示装置105b、及び、入力装置105cの構成及び機能と同様である。
【0171】
配送機600のフラッシュメモリ693bは、各種のプログラムと、プログラムの実行に用いられる各種のデータ及びデータが保存されたテーブルと、を記憶している。
【0172】
配送機600の位置計測回路696は、QZSS(Quasi-Zenith Satellite System)回路である。位置計測回路696は、準天頂衛星から発せられた信号を受信し、受信された信号に基づいて配送機600の位置を表す緯度、経度、及び、高度を計測し、計測された緯度、経度、及び、高度を表す信号を出力する。位置計測回路696は、QZSS回路ではなく、GPS(Global Positioning System)衛星から発せられたGPS信号を受信し、受信されたGPS信号に基づいて配送機600の位置を表す緯度、経度、及び、高度を計測するGPS回路であっても良い。
【0173】
配送機600の入出力ポート698は、撮像装置630に接続された不図示のケーブルに接続されており、撮像装置630が出力する信号をCPU691へ入力する。また、配送機600の入出力ポート698は、前面のLiDARセンサ641及び後面のLiDARセンサとそれぞれ接続された不図示のケーブルに接続されている。入出力ポート698は、前面のLiDARセンサ641及び後面のLiDARセンサがそれぞれ出力する座標値を表す信号をCPU691へ入力する。
【0174】
配送機600の駆動回路699は、複数の車輪を回転させる不図示のモータにそれぞれ接続された不図示のケーブルに接続されている。駆動回路699は、CPU691が出力する制御信号に従って当該モータを駆動させることで、複数の車輪を回転させる。
【0175】
また、配送機600の駆動回路699は、格納ボックス621及び622がそれぞれ備える不図示のモータに接続されたケーブルに接続されている。駆動回路699は、CPU691が出力する信号に従って当該モータを駆動させることで、格納ボックス621又は622を施錠又は解錠する。
【0176】
図17のステップS62で行われる商品I1及びI2の格納指示に従って、配送機600の格納ボックス621に商品I1が格納され、かつ、格納ボックス622に商品I2が格納された後、配送機600のデータ通信回路694aは、
図17のステップS63で送信された施錠命令を受信する。次に、配送機600のCPU691は、データ通信回路694aから施錠命令を取得し、施錠命令からボックスID「1」及び「2」を取得する。その後、CPU691は、取得されたボックスID「1」及び「2」でそれぞれ識別される格納ボックス621及び622を施錠させる制御信号を駆動回路699へ出力する。これにより、配送機600は、格納ボックス621及び622を施錠する。
【0177】
配送機600のデータ通信回路694aが、
図15のステップS47若しくはS56、又は、
図17のステップS67で送信された移動命令を情報処理装置100から受信すると、移動命令に従って移動経路を移動するため、配送機600のCPU691は、
図25に示すような移動処理を実行する。移動処理の実行を開始すると、配送機600のCPU691は、データ通信回路694aから移動命令を取得し(ステップS141)、取得された移動命令から移動経路を表す情報を取得する(ステップS142)。
【0178】
次に、配送機600のCPU691は、フラッシュメモリ693bが予め記憶している配送機600の設定速度を表す情報を取得する。その後、CPU691は、位置計測回路696から出力される信号に基づいて、配送機600の緯度、経度、及び、高度を特定する。次に、CPU691は、特定された緯度、経度、及び、高度と、移動経路に含まれる複数の未到着のノードの内で最も到着順が早いノードの緯度、経度、及び、高度と、の相違を縮小させるように設定速度で移動するための制御信号を生成する。その後、CPU691は、生成された制御信号を駆動回路699へ出力する(ステップS143)。これにより、配送機600は、複数の車輪を回転させて、移動経路を設定速度で順行移動する。
【0179】
その後、配送機600のCPU691は、移動経路に含まれる1又は複数のノードの全てに到着したか否かに基づいて、移動経路の終点に到着したか否かを判別する(ステップS144)。このとき、CPU691は、1又は複数のノードの全てに到着した訳ではないため、終点に到着していないと判別すると(ステップS144;No)、ステップS143から上記処理を繰り返す。
【0180】
これに対して、配送機600のCPU691は、1又は複数のノードの全てに到着したため、終点に到着したと判別すると(ステップS144;Yes)、複数の車輪の回転を停止させるための制御信号を駆動回路699へ出力する。これにより、配送機600は、移動経路の終点で駐車又は停車を行う。その後、CPU691は、移動経路の終点の位置情報を含み、配送機600が当該終点に到着したことを告げる到着報告を、情報処理装置100を宛先としてデータ通信回路694aへ出力してから(ステップS145)、移動処理の実行を終了する。
【0181】
第2配送先D2に到着した配送機600の入力装置695cに対して、第2ユーザがパスワードを入力するための操作を行うと、配送機600の入力装置695cは、当該操作に応じた信号を出力する。配送機600の入力装置695cが当該信号を出力すると、配送機600のCPU691は、商品I2を第2ユーザに受け渡すため、不図示の受渡処理を実行する。
【0182】
受渡処理の実行を開始すると、配送機600のCPU691は、入力装置695cが出力する信号に基づいて、入力されたパスワードを特定する処理を実行する。次に、CPU691は、入力されたパスワードを表す情報を含み、かつ、パスワード認証を要求する認証要求を、情報処理装置100を宛先としてデータ通信回路694aへ出力する。
【0183】
その後、配送機600のデータ通信回路694aが、パスワード認証が失敗したことを告げる認証失敗報告を情報処理装置100から受信すると、CPU691は、パスワード認証が失敗したことを知らせるメッセージと、パスワードの再入力を促すメッセージと、を表示装置695bに表示させる。その後、CPU691は、入力されたパスワードを特定する処理から上記処理を繰り返す。
【0184】
これに対して、配送機600のデータ通信回路694aが、
図20のステップS104で送信された解錠命令を受信すると、CPU691は、パスワード認証が成功したと判別する。次に、CPU691は、データ通信回路694aから解錠命令を取得し、解錠命令からボックスID「2」を取得する。その後、CPU691は、取得されたボックスID「2」で識別される格納ボックス622を解錠させる制御信号を駆動回路699へ出力する。これにより、配送機600は、格納ボックス622を解錠する。
【0185】
その後、配送機600のCPU691は、撮像装置630から出力される信号を取得し、取得された信号で表される画像(以下、撮像画像という)に基づいて、解錠された格納ボックス622から商品I2が受け取られたか否かを予め定められた周期で判別する。このために、CPU691は、フラッシュメモリ693bに予め記憶されている商品のテンプレート画像を表す情報を取得し、取得された情報で表されるテンプレート画像と、取得された信号で表される撮像画像と、に基づいてテンプレートマッチングを行えば良い。その後、CPU691は、テンプレートマッチングにより、撮像画像から商品に対応する画像領域が検出されると、商品I2が受け取られたと判別する。次に、CPU691は、格納ボックス621のボックスID「2」を含み、配送機600の格納ボックス622に格納されていた商品I2の受け渡しが完了したことを告げる受渡報告を生成する。その後、CPU691は、情報処理装置100を宛先として受渡報告をデータ通信回路694aへ出力する。
【0186】
第1配送先D1に到着した配送機600の入力装置695cに対して、第1ユーザがパスワードを入力するための操作を行うと、配送機600のCPU691は、商品I1を第1ユーザに受け渡すため、不図示の受渡処理と同様の処理を実行する。
【0187】
第1ユーザから第3ユーザがそれぞれ携帯する端末装置901から903は、例えば、スマートフォン、又は、タブレット型若しくはノートブック型のパーソナルコンピュータであり、それぞれ同様の構成及び機能を有している。このため、第1ユーザが携帯する端末装置901について主に説明する。
【0188】
端末装置901は、ハードウェアである不図示のCPU、RAM、ROM、フラッシュメモリ、データ通信回路、音声通信回路、ビデオカード、表示装置、入力装置、位置計測回路、スピーカー、及び、マイクロフォンを備える。端末装置901は、複数のCPUを備えても良いし、複数のRAM及びフラッシュメモリを備えても良い。
【0189】
端末装置901のCPU、RAM、ROM、データ通信回路、ビデオカード、表示装置、及び、入力装置の構成及び機能は、情報処理装置100のCPU101、RAM102、ROM103a、データ通信回路104a、ビデオカード105a、表示装置105b、及び、入力装置105cの構成及び機能と同様である。また、端末装置901のフラッシュメモリ及び位置計測回路の構成及び機能は、配送機600のフラッシュメモリ693b及び位置計測回路696の構成及び機能と同様である。
【0190】
端末装置901の音声通信回路は、不図示の基地局と電波を用いた音声通信を行う。端末装置901のスピーカーは、CPU101が出力する信号に従って音声を出力し、端末装置901のマイクロフォンは、端末装置901の周囲の音声を表す信号を出力する。
【0191】
端末装置901を携帯する第1ユーザが商品注文アプリを起動させる操作を端末装置901に行うと、端末装置901は、商品注文アプリによって規定された、不図示の注文処理の実行を開始する。
【0192】
注文処理の実行を開始すると、端末装置901は、第1ユーザのユーザID「U1」及びパスワードを含む認証情報の入力を促すメッセージを表示する。当該メッセージを視認した第1ユーザが端末装置901を操作すると、端末装置901は、当該操作に応じて第1ユーザの認証情報を取得する。その後、端末装置901は、取得された認証情報を含む接続要求を情報処理装置100へ送信する。
【0193】
その後、端末装置901は、認証要求を送信してから予め定められた時間が経過する前に許可報告を受信すると、認証が成功したため、接続が許可されたと判別する。次に、端末装置901は、商品一覧送信要求を情報処理装置100へ送信し、商品一覧を表す情報を受信すると、受信された情報で表される商品一覧を表示する。その後、端末装置901は、不図示の入力装置から出力される信号に基づいて、商品を選択する操作が第1ユーザによって行われたと判別すると、入力装置から出力される信号に基づいて、選択された商品の商品IDを取得する。本実施例では、商品I1が選択された場合を具体例に挙げて説明しているため、端末装置901は、商品ID「I1」を取得する。
【0194】
次に、端末装置901は、入力装置から出力される信号に基づいて、注文受付要求を送信させるための操作が行われたと判別すると、第1ユーザのユーザID「U1」と、第1ユーザによって選択された商品I1の商品ID「I1」と、を含み、かつ、商品I1の注文を受け付けることを求める注文受付要求を生成する。その後、端末装置901は、生成された注文受付要求を情報処理装置100へ送信する。
【0195】
その後、端末装置901は、入力装置から出力される信号に基づいて、商品注文アプリの実行を終了させる操作が行われたと判別すると、終了通知を情報処理装置100へ送信してから、商品注文アプリの実行を終了することで、不図示の注文処理の実行を終了する。
【0196】
端末装置901を携帯する第1ユーザが動画視聴アプリを起動させる操作を端末装置901に行うと、端末装置901は、動画視聴アプリによって規定された、不図示の動画再生処理の実行を開始する。
【0197】
動画再生処理の実行を開始すると、端末装置901は、第1ユーザの認証情報の入力を促すメッセージを表示した後に、第1ユーザの認証情報を取得する。その後、端末装置901は、取得された認証情報を含む接続要求を情報処理装置100へ送信する。次に、端末装置901は、認証が成功したと判別すると、入力装置から出力される信号に基づいて、第1ユーザによって入力された検索キーワードを表す情報を取得し、取得された情報を含む動画一覧送信要求を情報処理装置100へ送信する。その後、情報処理装置100は、動画一覧を表す情報を受信すると、受信された情報で表される動画一覧を表示する。
【0198】
その後、端末装置901は、入力装置から出力される信号に基づいて、第1ユーザによって選択された動画のURLを取得し、選択された動画のURLを含む動画配信要求を情報処理装置100へ送信する。その後、端末装置901は、情報処理装置100から電子データを受信すると、受信された電子データに記述された動画を再生する。次に、端末装置901は、再生された動画を不図示の表示装置に表示させ、再生された音声を不図示のスピーカーに出力させる。
【0199】
動画の再生が終了すると、又は、動画の再生を中止させる操作に応じた信号が入力装置から出力されると、端末装置901は、再生終了通知を情報処理装置100へ送信する。また、端末装置901は、入力装置から出力される信号に基づいて、商品注文アプリの実行を終了させる操作が行われたと判別すると、終了通知を情報処理装置100へ送信してから、動画視聴アプリの実行を終了することで、不図示の動画再生処理の実行を終了する。
【0200】
端末装置901は、動画再生処理を実行していない間に、情報処理装置100から受取要求を受信すると、受取要求の受信を通知する不図示の通知処理を実行する。また、端末装置901は、動画再生処理を実行している間に、受取要求を受信すると、動画再生処理の実行と並列に、通知処理を実行する。通知処理の実行を開始すると、端末装置901は、受取要求から、ボックスID「2」、商品I2の名称、及び、第2配送先D2を住所で表す情報を取得し、取得されたこれらの情報を、不図示の表示装置に表示させる。また、端末装置901は、配送機600が第1配送先D1に到着したことを知らせるメッセージ、配送機600に第1ユーザのパスワードを入力して認証を受けることを求めるメッセージ、及び、認証が成功した場合に格納ボックス621から商品I1を受け取ることを求めるメッセージを、表示装置に表示させる。端末装置901は、これらのメッセージを、不図示のスピーカーに音声で出力させても良い。その後、端末装置901は、通知処理の実行を終了する。
【0201】
これらの構成によれば、情報処理装置100は、第1ユーザへの商品I1の配送時間帯DR11「1日19時30分から20時30分」を決定する決定部150と、商品I1の配送先である第1配送先D1での第1ユーザの行動予定の取得時間帯AR12’「1日19時20分から19時40分」を表す情報を取得する取得部110と、を備える。また、情報処理装置100は、配送時間帯DR11「1日19時30分から20時30分」に行動予定の取得時間帯AR12’「1日19時30分から19時40分」が重なる場合、重なる時間帯である第1重複時間帯OR12「1日19時30分から19時40分」に含まれる日時と異なる日時「1日19時50分」に商品I1が配送されるように配送計画を生成する生成部160を備える。また、本実施例では、商品は、配送機600によって配送される荷物である。これらのため、情報処理装置100は、第1ユーザの行動予定の時間帯に含まれる日時と異なる日時に荷物が配送されるように配送計画を生成できるので、荷物の配送効率の低下を抑制する配送計画を生成できる。本実施例では、配送機600による荷物の配送効率は、単位時間当たり、又は、配送機600による単位距離の移動当たり、配送機600が配送する荷物の総数で表される。
【0202】
またこれらの構成によれば、情報処理装置100は、生成された配送計画に基づいて、商品I1を第1配送先D1へ配送機600に配送させる制御部130をさらに備える。このため、情報処理装置100は、第1ユーザの行動予定の時間帯に含まれる日時と異なる日時に、商品I1を第1配送先D1に配送するように配送機600を制御できるので、配送機600の配送効率の低下を抑制できる。
【0203】
また、これらの構成によれば、情報処理装置100は、動画の視聴予定の取得時間帯AR12’に含まれる日時と異なる日時に商品I1が配送されるように配送計画を生成する。このため、例えば、第1ユーザが第1配送先D1で動画を視聴しているため、配送機600が第1配送先D1に到着したことを知らせるメッセージが端末装置901に表示されてから、予め定められた時間が経過しても、当該メッセージに気付かず、商品I1を配送機600から受け取れなくなることを、情報処理装置100は、抑制できる。また、例えば、第1ユーザが第1配送先D1で、ノイズキャンセル機能を備えたイヤフォンを装着して動画を視聴しているため、配送機600が第1配送先D1に到着したことを知らせる端末装置901の音声に気付かず、商品I1を配送機600から受け取れなくなることを、情報処理装置100は、抑制できる。さらに、例えば、第1ユーザが第1配送先D1で動画を視聴しているために、動画を視聴していないときと比べて、配送機600の第1配送先D1への到着を知らせるメッセージが表示されてから当該メッセージに気付くまでの時間の増長を、情報処理装置100は、抑制できる。このため、情報処理装置100は、配送機600が第1配送先D1へ到着してから、第1ユーザが商品I1を受け取るまでの時間の増長を抑制できる。よって、情報処理装置100は、配送機600の配送効率の低下を抑制できる。
【0204】
また、情報処理装置100は、配送機600が第1配送先D1へ到着してから第1ユーザが商品I1を受け取るまでの時間が増長することを抑制するため、配送機600が第1配送先D1に滞在する滞在時間の増長を抑制できる。また、第1配送先D1は、第1ユーザが居住する一軒家であるため、例えば、配送機600が一軒家の玄関前に停車することで、第1配送先D1に出入りする人の通行を配送機600が妨げる、又は、妨げる可能性がある時間の増長を抑制できる。
【0205】
また、これらの構成によれば、情報処理装置100の取得部110は、第1ユーザの行動予定の時間帯AR11「1日18時20分から19時20分」の内で、商品が第1配送先D1に配送される時間帯として指定された指定時間帯GR1「18時30分から21時00分」に含まれる時間帯であり、かつ、商品の配送要求を含む注文の受付日時「1日13時00分」以降の時間帯AR11’「1日18時30分から19時20分」を表す情報を取得する。これに対して、取得部110は、第1ユーザの行動予定の時間帯AR11「1日18時20分から19時20分」の内で、指定時間帯GR1「18時30分から21時00分」に含まれない時間帯「1日18時20分から18時30分」を表す情報を取得せず、かつ、第1ユーザの行動予定の時間帯の内で、注文の受付日時「2021年01月01日13時00分」より前の時間帯「2020年12月31日18時30分から20時00分」を表す情報を取得しない。このため、情報処理装置100は、配送機600の配送効率の低下を抑制しながら、第1ユーザのプライバシーの侵害を抑制できる。
【0206】
さらに、これらの構成によれば、情報処理装置100の取得部110は、商品I1と商品I2とを格納した配送機600が、第1配送先D1へ到る第1経路と、第2配送先D2へ到る第2経路と、の分岐点N2に到着すると、商品I1の受取人である第1ユーザの行動予定の取得時間帯AR11’を表す情報を取得する。また、取得部110は、配送機600が分岐点N2に到着すると、商品I2の受取人である第2ユーザの行動予定の取得時間帯AR2’を表す情報を取得する。さらに、情報処理装置100は、取得された情報で表される第1ユーザの行動予定の取得時間帯AR11’と、第2ユーザの行動予定の取得時間帯AR2’と、に基づいて、配送機600に移動させる経路を第1経路と第2経路とから選択する選択部180をさらに備える。また、情報処理装置100の制御部130は、選択された経路を配送機600に移動させる。このため、情報処理装置100は、配送機600が分岐点N2に到着するよりも前に、第1ユーザの行動予定の取得時間帯AR11’を表す情報と、第2ユーザの行動予定の取得時間帯AR2’を表す情報と、を取得する場合よりも、取得された情報で表される行動予定の通りに第1ユーザ及び第2ユーザが行動する確率を向上できる。また、配送機600が分岐点N2を通過して第1配送先D1又は第2配送先D2に向かって移動している間に、第1ユーザの行動予定の取得時間帯AR11’と、第2ユーザの行動予定の取得時間帯AR2’と、に基づいて、配送機600の移動先を維持又は変更する場合と比べて、商品I1及びI2を配送するために配送機600が移動する距離の増長をより抑制できる。これらのため、情報処理装置100は、配送機600による商品の配送効率の低下をより抑制できる。
【0207】
さらに、これらの構成によれば、情報処理装置100の決定部150は、第1配送先D1へ到る第1経路と、第2配送先D2へ到る第2経路と、の分岐点N2又はN4に配送機600が到着したか否かを判別する。取得部110は、配送機600が分岐点N2又はN4に到着したと判別される度に、第1ユーザの行動予定の時間帯を表す情報と、第2ユーザの行動予定の時間帯を表す情報と、を取得する。また、選択部180は、配送機600が分岐点N2又はN4に到着したと判別される度に、取得された情報で表される第1ユーザの行動予定の時間帯と、第2ユーザの行動予定の取得時間帯と、に基づいて、配送機600に移動させる経路を第1経路と第2経路とから選択する。このため、配送機600が第1配送先D1又は第2配送先D2に到着するまでに、第1ユーザの行動予定の時間帯、及び、第2ユーザの行動予定の時間帯の1つ以上が変更された場合であっても、第1ユーザ又は第2ユーザの行動予定の時間帯に含まれる日時と異なる日時に、商品I1又はI2を第1配送先D1又は第2配送先D2に配送するように配送機600を制御できる。
【0208】
また、これらの構成によれば、情報処理装置100の取得部110は、配送機600が分岐点に到着したと判別される度に、第1ユーザの行動予定の時間帯を表す情報と、第2ユーザの行動予定の時間帯を表す情報と、を取得する。しかし、取得部110は、配送機600が分岐点N2及びN4と異なるノードN3に到着したと判別される場合に、第1ユーザの行動予定の時間帯を表す情報と、第2ユーザの行動予定の時間帯を表す情報と、を取得しない。また、選択部180は、配送機600が分岐点N2及びN4と異なるノードN3に到着したと判別される場合に、配送機600に移動させる経路を選択しない。これらのため、分岐点N2及びN4と異なるノードN3に到着したと判別されると、第1ユーザの行動予定の時間帯を表す情報と、第2ユーザの行動予定の時間帯を表す情報と、を取得する場合と比べて、情報処理装置100は、第1ユーザ及び第2ユーザのプライバシーの侵害を抑制できる。また、情報処理装置100は、第1ユーザ又は第2ユーザの行動予定の時間帯に含まれる日時と異なる日時に、商品I1又はI2を第1配送先D1又は第2配送先D2に配送するように配送機600を制御するのに要する計算量の増加を抑制できる。
【0209】
これらの構成によれば、情報処理装置100は、分岐点N4から第1配送先D1まで配送機600が第1経路R5を移動する場合に、第1配送先D1に配送機600が到着する到着日時「1日19時35分」を予測する予測部170をさらに備える。予測部170は、分岐点N4から第2配送先D2まで配送機600が第2経路R8を移動する場合に、第2配送先D2に配送機600が到着する到着時刻「1日19時40分」を予測する。選択部180は、第1ユーザの行動予定の取得時間帯AR12’と配送時間帯DR11とが重なる第1重複時間帯OR12「1日19時30分から19時40分」に、予測された第1配送先への到着時刻「1日19時35分」が含まれるが、第2ユーザの行動予定の取得時間帯AR2’と配送時間帯DRとが重なる第2重複時間帯OR2「1日19時00分から19時30分」に、第2配送先D2への到着時刻「1日19時40分」が含まれない場合、第2経路R8を選択する。このため、第1配送先D1への到着が予測される日時である第1到着日時が、第1ユーザの行動予定の取得時間帯AR12’に含まれる場合であっても、情報処理装置100は、第2経路R8を選択することで、第2ユーザの行動予定の取得時間帯AR2’に含まれない日時に、第2配送先D2へ商品I2を配送機600に配送させることができる。
【0210】
<実施例の変形例1>
本変形例では、情報処理装置100の制御部130が、第1ユーザの行動予定の取得時間帯AR11’の終了日時に、第1配送先D1へ配送機600が到着するように、配送機600を制御する場合について説明する。
【0211】
本変形例に係る情報処理装置100は、
図19のステップS86で、予測された第1到着日時が、第1ユーザの行動予定の取得時間帯AR11’と配送時間帯DRとが重なる第1重複時間帯OR11に含まれると判別する(ステップS86;Yes)。次に、情報処理装置100は、第2到着日時を予測した後に(ステップS89)、予測された第2到着日時が、第2ユーザの行動予定の取得時間帯AR2’と配送時間帯DRとが重なる第2重複時間帯OR2に含まれると判別する(ステップS90;Yes)。その後、情報処理装置100は、予定回避選択処理の実行を終了する。
【0212】
図18のステップS71で予定回避選択処理を実行した後、情報処理装置100は、
図18のステップS72で、配送機600に移動させる経路が選択されなかったため、経路選択処理の終了条件が満足されていないと判別してから(ステップS72;No)、
図26に示すような時間調整選択処理を実行する(ステップS73)。時間調整選択処理は、第1ユーザの行動予定の取得時間帯AR11’の終了日時に第1配送先D1へ配送機600が到着するための経路(以下、第1時間調整経路という)、又は、第2ユーザの行動予定の取得時間帯AR2’の終了日時に第2配送先D2へ到着するための経路(以下、第2時間調整経路という)を選択する処理である。
【0213】
時間調整選択処理の実行が開始されると、情報処理装置100の生成部160は、
図21のステップS111で取得された情報で表される第1ユーザの行動予定の取得時間帯AR11’の終了日時が、第1ユーザの指定時間帯GR1の終了日時以前であるか否かを判別する(ステップS151)。このとき、生成部160は、第1ユーザの行動予定の取得時間帯AR11’の終了日時が、第1ユーザの指定時間帯GR1の終了日時以前であると判別すると(ステップS151;Yes)、当該終了日時に商品I1を配送させることを決定する。このように決定されるのは、行動予定の取得時間帯AR11’の終了日時に配送機600が第1配送先D1に到着すれば、当該行動予定の実行が終了した後に、第1ユーザが商品I1を配送機600から受け取ることができるからである。また、例え、第1ユーザが次の行動予定を実行しようとしていても、次の行動予定の開始を遅らせれば、第1ユーザが商品I1を配送機600から受け取ることができるからである。
【0214】
その後、情報処理装置100の決定部150は、第1ユーザの行動予定の取得時間帯AR11’の終了日時に配送機600が第1配送先D1に到着するための第1時間調整経路を決定する。このために、決定部150は、
図17のステップS64で説明した方法、又は、公知の方法で、配送機600が到着している分岐点から第1配送先D1に到る経路と、当該経路の距離と、を複数決定し、決定された複数の経路から、距離が短い順に複数の経路を抽出する。
【0215】
次に、情報処理装置100の取得部110は、例えば、OSからシステム日時を取得する。次に、決定部150は、第1ユーザの行動予定の取得時間帯AR11’の終了日時から、取得されたシステム日時を減算することで、当該終了日時までの猶予時間を算出する。次に、取得部110は、情報記憶部190が予め記憶する配送機600の移動速度を表す情報を取得する。その後、決定部150は、抽出された複数の経路の距離それぞれを移動速度で除算することで、当該複数の経路のそれぞれについて、配送機600が移動するのに要する移動時間を算出する。次に、決定部150は、算出された複数の移動時間の内で猶予時間との相違の絶対値が最も小さい移動時間を決定し、決定された移動時間が算出された経路を、第1時間調整経路に決定する。
【0216】
その後、情報処理装置100の選択部180は、第1配送先D1に到る最短の経路である第1経路を第1時間調整経路に変更し(ステップS152)、変更後の第1経路を、配送機600に移動させる経路として選択する(ステップS153)。その後、選択部180は、時間調整選択処理の実行を終了する。
【0217】
ステップS151において、情報処理装置100の生成部160は、第1ユーザの行動予定の取得時間帯AR11’の終了日時が、第1ユーザの指定時間帯GR1の終了日時よりも後であると判別すると(ステップS151;No)、第2ユーザの行動予定の取得時間帯AR2’の終了日時が、第2ユーザの指定時間帯GR2の終了日時以前であるか否かを判別する(ステップS154)。
【0218】
このとき、情報処理装置100は、第2ユーザの行動予定の取得時間帯AR2’の終了日時が、第2ユーザの指定時間帯GR2の終了日時以前であると判別すると(ステップS154;Yes)、ステップS152及びS153と同様の処理を実行する。その後、情報処理装置100は、第2ユーザの行動予定の取得時間帯AR2’の終了日時に配送機600が第2配送先D2に到着するための第2時間調整経路を決定する。次に、情報処理装置100は、第2配送先D2に到る最短の経路である第2経路を第2時間調整経路に変更し(ステップS155)、変更後の第2経路を、配送機600に移動させる経路として選択する(ステップS156)。その後、選択部180は、時間調整選択処理の実行を終了する。
【0219】
図18のステップS73で時間調整選択処理が実行された後に、情報処理装置100の制御部130は、第1経路又は第2経路が選択されたため、経路選択処理の終了条件が満足されたと判別し(ステップS74;Yes)、経路選択処理の実行を終了する。
図15のステップS44で経路選択処理を実行した後に、情報処理装置100は、選択された第1経路又は第2経路を配送機600に移動させる。これにより、情報処理装置100は、第1配送先D1又は第2配送先D2へ、第1ユーザの行動予定の取得時間帯AR11’の終了日時、又は、第2ユーザの行動予定の取得時間帯AR2’の終了日時に、配送機600を到着させてから、商品I1又はI2を第1ユーザ又は第2ユーザに受け渡させる(ステップS45からS51)。その後、情報処理装置100は、第2配送先D2又は第1配送先D1へ配送機600を移動させてから、商品I2又はI1を第2ユーザ又は第1ユーザに受け渡させる(ステップS52からS59)。その後、情報処理装置100は、配送機600を倉庫STへ帰還させてから(ステップS60)、配送制御処理の実行を終了する。
【0220】
これらの構成によれば、情報処理装置100の制御部130は、第1ユーザの行動予定の取得時間帯AR11’の終了日時に、第1配送先D1へ配送機600が到着するように配送機を制御する。このため、第1ユーザが当該終了日時に行動予定の実行を終了したときに、商品I1を格納して配送機600が第1配送先D1へ到着するため、情報処理装置100は、第1ユーザが配送機600から商品I1を受け取る確率の低下を抑制できる。また、情報処理装置100は、配送機600が第1配送先D1へ到着してから第1ユーザが配送機600から商品I1を受け取るまでの時間の増長を抑制できる。これらのため、情報処理装置100は、配送機600による商品の配送効率を向上できる。
【0221】
第1ユーザが商品I1を受け取る確率の低下を抑制できるのは、例えは、第1ユーザが、当該終了日時にある動画の視聴を終了した後に、別の動画の視聴を開始する場合であっても、別の動画の視聴の開始を第1ユーザが遅らせることで、動画の視聴を中断せずに、ある動画の視聴終了から別の動画の視聴開始までの間に、第1ユーザが商品I1を受け取ることができるからである。
【0222】
<実施例の変形例2>
実施例の変形例1では、情報処理装置100は、配送機600に予め設定された設定速度で配送機600を移動させた場合に、第1ユーザの行動予定の取得時間帯AR11’の終了日時に配送機600が第1配送先D1に到着するための第1時間調整経路を決定すると説明した。また、実施例の変形例1では、情報処理装置100は、第1経路を第1時間調整経路に変更し、変更後の第1経路を、配送機600に移動させる経路として選択すると説明した。
【0223】
しかし、これに限定される訳ではなく、本変形例に係る情報処理装置100は、配送機600に第1経路を移動させた場合に、第1ユーザの行動予定の取得時間帯AR11’の終了日時に配送機600が第1配送先D1に到着するような配送機の速度(以下、第1時間調整速度という)を決定する。
【0224】
このために、情報処理装置100は、
図26のステップS152に代えて、第1時間調整速度を決定する不図示のステップを実行する。このステップでは、情報処理装置100の決定部150は、第1ユーザの行動予定の取得時間帯AR11’の終了日時までの猶予時間で、第1経路の距離を除算することで得られる速度を、第1時間調整速度に決定する。その後、情報処理装置100は、第1配送先D1に到る最短の経路である第1経路を選択してから(ステップS153)、時間調整選択処理の実行を終了する。
【0225】
図18のステップS73で時間調整選択処理を実行した後に、情報処理装置100は、経路選択処理の終了条件が満足されたと判別してから(ステップS74;Yes)、経路選択処理の実行を終了する。
図15のステップS44で経路選択処理を実行した後に、情報処理装置100は、第1経路が選択されたと判別する(ステップS45;Yes)。次に、情報処理装置100は、第1経路に含まれる次のノードを終点とする移動経路を表す情報を生成し、生成された情報に基づいて新たな配送計画を生成する(ステップS46)。その後、情報処理装置100は、生成された移動経路を表す情報と、決定された第1時間調整速度を表す情報と、を含み、移動経路を第1時間調整速度で移動することを命じる移動命令を生成する。次に、制御部130は、生成された移動命令を、配送機600を宛先としてデータ通信回路104aへ出力し(ステップS47)、データ通信回路104aは、移動命令を配送機600へ送信する。これにより、制御部130は、第1時間調整速度で、移動経路を第1配送先D1へ向かって移動させる制御を配送機600に行う。
【0226】
配送機600は、第1時間調整速度で移動経路を移動することを命じる移動命令を受信すると、
図25に示した移動処理を実行する。このとき、配送機600は、移動命令から、移動経路を表す情報と、第1時間調整速度を表す情報と、を取得する(ステップS142)。次に、配送機600は、移動経路に含まれる1又は複数の未到着のノードの内で、最も到着順が早いノードへ向かって、第1時間調整速度で移動するための制御信号を駆動回路699へ出力する(ステップS143)。
【0227】
本変形例に係る情報処理装置100は、第1時間調整速度を決定すると説明したが、これに限定される訳ではない。情報処理装置100は、配送機600に第2経路を移動させた場合に、第2ユーザの行動予定の取得時間帯AR2’の終了日時に配送機600が第2配送先D2に到着するような配送機の速度(以下、第2時間調整速度という)を決定しても良い。
【0228】
このために、情報処理装置100は、
図26のステップS155に代えて、第2時間調整速度を決定する不図示のステップを実行すれば良い。このステップでは、情報処理装置100の決定部150は、第2ユーザの行動予定の取得時間帯AR2’の終了日時までの猶予時間で、第2経路の距離を除算することで得られる速度を、第2時間調整速度に決定する。その後、情報処理装置100は、ステップS156から、時間調整選択処理の実行を続行する。
【0229】
<実施例の変形例3>
実施例の変形例1では、情報処理装置100は、第1ユーザの行動予定の取得時間帯AR11’の終了日時に、配送機600が第1配送先D1に到着するための第1時間調整経路を決定すると説明した。しかし、これに限定される訳ではなく、本変形例に係る情報処理装置100の制御部130は、第1ユーザの行動予定の取得時間帯AR11’の終了日時に、配送機600が第1配送先D1に到着するように、配送機600が第1経路の移動を開始するタイミングを制御する。
【0230】
このために、情報処理装置100は、
図26のステップS152に代えて、配送機600が第1経路の移動を開始するタイミングを制御する不図示のステップを実行する。このステップでは、情報処理装置100の制御部130は、第1ユーザの行動予定の取得時間帯AR11’の終了日時までの猶予時間から第1移動時間を減算することで待機時間を算出し、算出された待機時間に亘ってスリープする。第1移動時間は、第1配送先D1に到る最短経路である第1経路を、予め定められた設定速度で配送機600が移動するのに要する時間である。
【0231】
このようにして、情報処理装置100の制御部130は、第1ユーザの行動予定の取得時間帯AR11’の終了日時までの猶予時間が、第1移動時間と等しくなるまでスリープすることで、分岐点で既に停車又は駐車している配送機600に、停車又は駐車を継続させる。その後、情報処理装置100の制御部130がスリープから復帰すると、情報処理装置100は、第1配送先D1に到る最短の経路である第1経路を選択してから(ステップS153)、時間調整選択処理の実行を終了する。
【0232】
図18のステップS73で時間調整選択処理を実行した後に、情報処理装置100は、経路選択処理の終了条件が満足されたと判別してから(ステップS74;Yes)、経路選択処理の実行を終了する。
図15のステップS44で経路選択処理を実行した後に、情報処理装置100は、選択された第1経路を、配送機600に予め定められた設定速度で、配送機600に移動させる(ステップS45からS48)。このようにして、情報処理装置100は、第1ユーザの行動予定の取得時間帯AR11’の終了日時に、第1配送先D1に配送機600を到着させる。
【0233】
本変形例に係る情報処理装置100の制御部130は、第1ユーザの行動予定の取得時間帯AR11’の終了日時に、配送機600が第1配送先D1に到着するように、配送機600が第1経路の移動を開始するタイミングを制御すると説明したが、これに限定される訳ではない。情報処理装置100の制御部130は、第2ユーザの行動予定の取得時間帯AR2’の終了日時に、配送機600が第2配送先D2に到着するように、配送機600が第2経路の移動を開始するタイミングを制御しても良い。
【0234】
このために、情報処理装置100は、
図26のステップS155に代えて、配送機600が第2経路の移動を開始するタイミングを制御する不図示のステップを実行する。このステップでは、情報処理装置100の制御部130は、第2ユーザの行動予定の取得時間帯AR2’の終了日時までの猶予時間から第2移動時間を減算することで待機時間を算出し、算出された待機時間に亘ってスリープする。第2移動時間は、第2配送先D2に到る最短経路である第2経路を、予め定められた設定速度で配送機600が移動するのに要する時間である。
【0235】
本変形例に係る情報処理装置100の制御部130は、待機時間に亘ってスリープすることで、配送機600に分岐点での停車又は駐車を、待機時間に亘って継続させると説明したが、これに限定される訳ではない。情報処理装置100の制御部130は、待機時間を表す情報を含み、かつ、待機時間に亘り停車又は駐車すること命じる停車命令を、配送機600を宛先としてデータ通信回路へ出力しても良い。
【0236】
配送機600のデータ通信回路694aが停車命令を受信すると、配送機600のCPU691は、データ通信回路694aから停車命令を取得し、取得された停車命令に含まれる情報で表される待機時間に亘って、停車又は駐車するための制御信号を駆動回路699へ出力すれば良い。
【0237】
本変形例に係る情報処理装置100の制御部130は、分岐点での停車又は駐車を、待機時間に亘って配送機600に継続させると説明したが、これに限定される訳ではない。情報処理装置100の制御部130は、分岐点の近傍での停車若しくは駐車、周回走行、又は、往復走行を、待機時間に亘って配送機600に継続させても良い。分岐点の近傍とは、分岐点から予め定められた距離だけ離れた境界線よりも分岐点側の領域である。
【0238】
分岐点の近傍での周回走行又は往復走行を行わせるために、情報処理装置100の制御部130は、分岐点の近傍に含まれる周回経路又は往復経路を表す情報と、待機時間を表す情報と、を含み、かつ、待機時間に亘り、周回経路又は往復経路を移動し続けること命じる周回命令又は往復命令を、配送機600を宛先としてデータ通信回路へ出力すれば良い。
【0239】
配送機600のデータ通信回路694aが周回命令又は往復命令を受信すると、配送機600のCPU691は、データ通信回路694aから周回命令又は往復命令を取得し、取得された周回命令又は往復命令に含まれる情報で表される待機時間に亘って周回経路又は往復経路を移動するための制御信号を駆動回路699へ出力すれば良い。
【0240】
本変形例では、情報処理装置100の制御部130は、第1ユーザの行動予定の取得時間帯AR11’の終了日時に、配送機600が第1配送先D1に到着するように、分岐点若しくは分岐点の近傍での停車若しくは駐車、又は、分岐点の近傍での周回走行若しくは往復走行、を待機時間に亘って配送機600に継続させる制御と説明した。しかし、これに限定される訳ではない。制御部130は、取得時間帯AR11’の終了日時に、配送機600が第1配送先D1に到着するように、分岐点若しくは分岐点の近傍で停車若しくは駐車させる制御、分岐点の近傍で周回走行をさせる制御、及び、分岐点の近傍で往復走行をさせる制御の1つ以上を、配送機600に行っても良い。
【0241】
実施例の変形例1では、情報処理装置100は、第1ユーザの行動予定の取得時間帯AR11’の終了日時に、配送機600が第1配送先D1に到着するように、第1経路よりも距離が長く、かつ、第1配送先D1に到る経路を配送機600に移動させる制御を行うと説明した。また、本変形例では、制御部130は、取得時間帯AR11’の終了日時に、配送機600が第1配送先D1に到着するように、分岐点若しくは分岐点の近傍で停車若しくは駐車させる制御、分岐点の近傍で周回走行をさせる制御、及び、分岐点の近傍で往復走行をさせる制御の1つ以上を、配送機600に行うと説明した。しかし、これらに限定される訳ではなく、実施例の変形例1と本変形例とは、組み合わせることができる。すなわち、情報処理装置100の制御部130は、第1ユーザの行動予定の取得時間帯AR11’の終了日時に、配送機600が第1配送先D1に到着するように、第1経路よりも距離が長く、かつ、第1配送先D1に到る経路を移動させる制御、分岐点若しくは分岐点の近傍で停車若しくは駐車させる制御、分岐点の近傍で周回走行をさせる制御、及び、分岐点の近傍で往復走行をさせる制御の1つ以上を、配送機600に行っても良い。
【0242】
<実施例の変形例4>
本変形例では、第1ユーザの行動予定の取得時間帯AR11’の終了日時が、第1ユーザの指定時間帯GR1の終了日時よりも後である場合について説明する。
【0243】
本変形例に係る情報処理装置100は、
図26のステップS151において、第1ユーザの指定時間帯GR1の終了時刻よりも、第1ユーザの指定時間帯GR1の終了時刻の方が遅いと判別する(ステップS151;No)。次に、情報処理装置100は、第2ユーザの指定時間帯GR2の終了時刻よりも、第2ユーザの指定時間帯GR2の終了時刻の方が遅いと判別した後に(ステップS154;No)、時間調整選択処理の実行を終了する。
【0244】
図18のステップS73で時間調整選択処理が実行された後に、情報処理装置100の制御部130は、配送機600に移動させる経路が選択されなかったため、経路選択処理の終了条件が満足されていないと判別する(ステップS74;No)。次に、情報処理装置100は、ユーザの行動予定の種別に基づいて、第1経路及び第2経路から、配送機600に移動させる経路を選択する、
図27に示すような種別選択処理を実行する(ステップS75)。
【0245】
種別選択処理の実行が開始されると、情報処理装置100の取得部110は、
図12の行動予定テーブルから、第1ユーザのユーザID「U1」と、第1ユーザの行動予定の取得時間帯AR11’を含む時間帯を表す情報と、に対応付けられた種別を表す情報を取得する。このようにして、取得時間帯AR11’において第1ユーザによって実行される行動予定の種別を表す情報が取得される(ステップS171)。
【0246】
次に、情報処理装置100の取得部110は、情報記憶部190が予め記憶する情報であり、かつ、第1ユーザによって実行の中断を許容できる行動予定の種別(以下、中断許容種別という)として設定された、又は、デフォルトで中断許容種別として設定されている設定種別を表す情報を取得する。本変形例では、中断許容種別として非重要種別が設定されている場合を具体例として挙げて説明する。このため、情報処理装置100の生成部160は、取得された情報で表される第1ユーザの行動予定の種別が、設定種別である非重要種別であるか否かを判別する(ステップS172)。
【0247】
このとき、情報処理装置100の生成部160は、第1ユーザの行動予定の種別が非重要種別であると判別すると(ステップS172;Yes)、第1ユーザによって指定された第1配送先D1へ、配送時間帯DRに商品I1を配送機600に配送させる配送計画を維持する(ステップS173)。次に、選択部180は、第1経路を選択してから(ステップS174)、種別選択処理の実行を終了する。
【0248】
これに対して、情報処理装置100の選択部180が、第1ユーザの行動予定の種別が、設定種別である非重要種別でなく(ステップS172;No)、重要種別であると判別すると、取得部110は、ステップS171と同様の処理を実行する。これにより、取得部110は、取得時間帯AR2’において実行される第2ユーザの行動予定の種別を表す情報と、第2ユーザによって予め設定された設定種別を表す情報と、を取得する(ステップS175)。次に、生成部160は、第2ユーザの行動予定の種別が設定種別であるかを判別する(ステップS176)。このとき、情報処理装置100の生成部160は、第2ユーザの行動予定の種別が設定種別であると判別すると(ステップS176;Yes)、第2ユーザによって指定された第2配送先D2へ、配送時間帯DRに商品I2を配送機600に配送させる配送計画を維持する(ステップS177)。その後、選択部180は、第2経路を選択してから(ステップS178)、種別選択処理の実行を終了する。
【0249】
情報処理装置100は、
図18のステップS75で種別選択処理を実行した後に、経路選択処理の実行を終了する。
図15のステップS44で経路選択処理を実行した後に、情報処理装置100は、選択された第1経路又は第2経路を配送機600に移動させる。これにより、情報処理装置100は、第1ユーザの行動予定の取得時間帯AR11’と重なっている配送時間帯DRに、商品I1を第1配送先D1へ配送機600に配送させる、又は、第2ユーザの行動予定の取得時間帯AR2’と重なっている配送時間帯DRに、商品I2を第2配送先D2へ配送機600に配送させる制御を行う(ステップS45からS48)。このような制御が行われるのは、このような時間帯に実行されている第1ユーザ又は第2ユーザの行動予定の種別が、設定種別である非重要種別であるため、第1ユーザ又は第2ユーザにとって当該行動予定が重要でないと予測されるからである。
【0250】
次に、情報処理装置100は、配送機600が到着した地点が第1配送先D1又は第2配送先D2であると判別すると(ステップS49;Yes)、配送機600に商品I1又はI2を受け渡させる(ステップS51)。その後、情報処理装置100は、第2配送先D2又は第1配送先D1へ配送機600を移動させてから、商品I2又はI1を受け渡させる(ステップS52からS59)。その後、情報処理装置100は、配送機600を倉庫STへ帰還させてから(ステップS60)、配送制御処理の実行を終了する。
【0251】
これらの構成によれば、情報処理装置100の取得部110は、第1ユーザの行動予定の種別を表す情報をさらに取得する。また、情報処理装置100の生成部160は、配送時間帯DRに商品I1が配送されるように配送計画を生成し、配送時間帯DRに第1ユーザの行動予定の取得時間帯AR11’が重なる場合であり、かつ、第1ユーザの指定時間帯GR1の終了時刻よりも、第1ユーザの行動予定の取得時間帯AR11’の終了時刻が遅い場合に、取得された情報で表される種別が、第1ユーザによって予め定められた非重要種別であると、配送時間帯DRに商品I1が配送されるように生成された配送計画を維持する。このため、例えば、第1ユーザが、第1配送先D1で動画を視聴していても、配送機600が第1配送先D1に到着したことを知らせる端末装置901のメッセージに気付かず、商品I1を配送機600から受け取れなくなることを、重要な動画を視聴している場合と比べて、情報処理装置100は、抑制できる。また、例えば、第1ユーザが第1配送先D1で動画を視聴していても、重要な動画を視聴している場合と比べて、メッセージが端末装置901で表示されてから当該メッセージに気付くまでの時間の増長を、情報処理装置100は、抑制できる。このため、情報処理装置100は、配送機600が第1配送先D1へ到着してから、第1ユーザが商品I1を受け取るまでの時間の増長を抑制できるので、配送機600の配送効率の低下を抑制できる。
【0252】
<実施例の変形例5>
実施例の変形例4では、情報処理装置100の生成部160は、取得時間帯AR11’において第1ユーザが実行する行動予定の種別が、第1ユーザによって設定された非重要種別であると、配送時間帯DRに、第1ユーザによって指定された第1配送先D1へ商品I1を配送機600に配送させる配送計画を維持すると説明した。しかし、これに限定される訳ではなく、生成部160は、取得時間帯AR11’において第1ユーザに視聴される予定の動画が、第1ユーザが登録されているチャンネルの動画でない場合、視聴される予定の動画の評価数が第1ユーザによって予め設定された閾値よりも少ない場合、及び、視聴される予定の動画の再生数が第1ユーザによって予め設定された閾値よりも少ない場合、のいずれか1つ以上の場合に、配送時間帯DRに商品I1を配送させる配送計画を維持しても良い。
【0253】
<実施例の変形例6>
実施例では、行動予定は、動画の視聴予定であると説明したが、これに限定される訳ではない。本変形例に係る行動予定は、商品の配送先で行われるリモート会議の出席予定、配送先で食事をする予定、配送先に訪問して来る客の応対をする予定、配送先で仕事又は勉強をする予定、第1配送先D1で入浴する予定、第1配送先D1で睡眠をとる予定、及び、第1配送先D1でゲームをして遊ぶ予定を含む。また、本変形例に係る行動予定の種別は、「会議」、「食事」、「接客」、「仕事」、「勉強」、「入浴」、「睡眠」、及び、「遊び」を含む。さらに、本変形例では、第1ユーザ及び第2ユーザによって、中断許容種別として、「食事」、「勉強」、及び、「遊び」が予め設定されている。
【0254】
これらのため、本変形例に係る第1ユーザが携帯する端末装置901には、第1ユーザの行動予定を管理するアプリ(以下、スケジューラーという)がインストールされている。また、端末装置901の不図示のフラッシュメモリには、第1ユーザの行動予定の時間帯を表す情報と、種別を表す情報と、が対応付けられて複数保存されている。第2ユーザが携帯する端末装置902にも、スケジューラーがインストールされており、端末装置902には、第2ユーザの行動予定の時間帯を表す情報と、種別を表す情報と、が対応付けられて複数保存されている。
【0255】
本変形例に係る情報処理装置100は、第1ユーザの行動予定の時間帯を表す情報と、当該行動予定の種別を表す情報と、を、第1ユーザの端末装置901から取得する。このために、情報処理装置100の制御部130は、
図19のステップS81において、第1ユーザが行った注文の注文受付日時を表す情報と、第1ユーザの指定時間帯GR1を表す情報と、を含み、かつ、第1ユーザの行動予定の時間帯の内で、第1取得条件を満たす時間帯を表す情報の送信を求める時間帯送信要求を生成する。本変形例に係る第1取得条件は、実施例に係る第1取得条件と同じ条件であり、第1ユーザの行動予定の時間帯の内で、日付を除く時間帯が指定時間帯GR1に含まれる時間帯であり、かつ、注文受付日時以降の時間帯であるという条件である。その後、制御部130は、生成された時間帯送信要求を、第1ユーザの端末装置901を宛先としてデータ通信回路104aへ出力する。
【0256】
端末装置901は、時間帯送信要求を受信すると、受信された時間帯送信要求から注文受付日時を表す情報と、第1ユーザの指定時間帯GR1を表す情報と、を取得する。次に、端末装置901は、取得された情報に基づいて、不図示のフラッシュメモリから、第1取得条件を満たす時間帯を表す情報を取得し、取得された情報を情報処理装置100へ送信する。
【0257】
情報処理装置100のデータ通信回路104aが、時間帯送信要求を配送機600へ送信した後に、端末装置901から時間帯を表す情報を受信すると、情報処理装置100の取得部110は、受信された当該情報を取得する(ステップS81)。
【0258】
本変形例に係る情報処理装置100は、ステップS83において、本変形例に係るステップS81と同様の処理を実行することで、第2ユーザの行動予定の時間帯の内で、第2取得条件を満たす時間帯を表す情報を、端末装置902から取得する(ステップS83)。
【0259】
また、本変形例に係る情報処理装置100は、
図27のステップS171において、第1ユーザの行動予定の時間帯を表す情報を含み、かつ、当該時間帯において実行される第1ユーザの行動予定の種別を表す情報の送信を求める種別送信要求を生成する。その後、制御部130は、生成された種別送信要求を、第1ユーザの端末装置901を宛先としてデータ通信回路104aへ出力する。
【0260】
端末装置901は、種別送信要求を受信すると、受信された種別送信要求から、第1ユーザの行動予定の時間帯を表す情報を取得する。次に、端末装置901は、不図示のフラッシュメモリから、取得された情報で表される時間帯を含む行動予定の時間帯を表す情報を特定し、特定された行動予定の時間帯を表す情報に対応付けられた種別を表す情報を取得する。その後、端末装置901は、取得された種別を表す情報を情報処理装置100へ送信する。
【0261】
情報処理装置100のデータ通信回路104aが、種別送信要求を配送機600へ送信した後に、端末装置901から種別を表す情報を受信すると、情報処理装置100の取得部110は、受信された当該情報を取得する(ステップS171)。
【0262】
本変形例に係る情報処理装置100は、ステップS175において、ステップS171と同様の処理を実行することで、第2ユーザの行動予定の種別を表す情報を、端末装置902から取得する(ステップS175)。
【0263】
<実施例の変形例7>
実施例では、行動予定は、動画の視聴予定を含むと説明した。また、情報処理システム1は、情報処理装置100と端末装置901から903とを備え、情報処理装置100は、端末装置901又は902から動画配信要求を受信すると、動画データを端末装置901又は902へ送信すると説明した。
【0264】
しかし、これらに限定される訳ではなく、行動予定は、例えば、楽曲を含む音声の鑑賞予定を含む。また、情報処理システム1は、情報処理装置100と、端末装置901から903と、第1配送先D1から第3配送先D3にそれぞれ設置された不図示の3台のスマートスピーカーの1つ以上と、を備えても良い。また、情報処理装置100は、3台のスマートスピーカーの1つ以上から音声配信要求をそれぞれ受信すると、音声データを、3台のスマートスピーカーの1つ以上へそれぞれ送信しても良い。3台のスマートスピーカーの1つ以上は、音声データを受信すると、受信された音声データに基づいて音声を出力する。
【0265】
<実施例の変形例8>
実施例では、行動予定は、動画の視聴予定であると説明したが、これに限定される訳ではない。本変形例に係る行動予定は、実施例の変形例6と同様に、配送先で食事をする予定、及び、第1配送先D1で睡眠をとる予定等を含む。また、本変形例に係る行動予定の種別は、実施例の変形例6と同様に、「会議」及び「睡眠」等を含む。さらに、本変形例では、中断許容種別として、実施例の変形例6と同様に、「食事」等が予め設定されている。
【0266】
本変形例に係る情報処理システム1は、第1配送先D1に設置された第1スマートスピーカーと、第2配送先D2に設置された第2スマートスピーカーと、をさらに備えている。本変形例に係る情報処理システム1は、第1スマートスピーカーで収集された音声に基づいて第1ユーザの行動予定の時間帯を表す情報、及び、種別を表す情報を取得する。
【0267】
第1スマートスピーカー及び第2スマートスピーカーは、ハードウェアである不図示のCPU、RAM、ROM、フラッシュメモリ、データ通信回路、スピーカー、及び、マイクロフォンをそれぞれ備えている。第1スマートスピーカー及び第2スマートスピーカーは、複数のCPUを備えても良いし、複数のRAM及びフラッシュメモリを備えても良い。第1スマートスピーカー及び第2スマートスピーカーのCPU、RAM、ROM、フラッシュメモリ、データ通信回路、スピーカー、及び、マイクロフォンの構成及び機能は、端末装置901が備えるCPU、RAM、ROM、フラッシュメモリ、データ通信回路、スピーカー、及び、マイクロフォンの構成及び機能と同様である。
【0268】
本変形例に係る情報処理装置100の取得部110は、
図19のステップS81において、音声の収集が行われる時間として予め定められた収集時間を表す情報を、情報記憶部190から取得する。次に、制御部130は、取得された収集時間を表す情報を含み、当該収集時間に亘って第1配送先D1の音声を収集し、収集された音声を表す音声データを送信することを求める音声送信要求を生成する。本変形例において、収集時間は、「5秒」に設定されているが、これに限定される訳ではなく、当業者は、収集時間の好適な長さを実験により定めることができる。その後、制御部130は、音声送信要求を、第1スマートスピーカーを宛先としてデータ通信回路104aへ出力する。
【0269】
第1スマートスピーカーのデータ通信回路が、音声送信要求を受信すると、第1スマートスピーカーのCPUは、受信された音声送信要求から収集時間を表す情報を取得する。次に、CPUは、マイクロフォンから出力される信号に基づいて音声データを生成することを開始し、不図示のハードウェアタイマー又はソフトウェアタイマーを用いて計時を開始する。その後、CPUは、計時された時間が収集時間を超えたと判別すると、音声データの生成を終了し、生成された音声データを、情報処理装置100を宛先としてデータ通信回路へ出力する。
【0270】
情報処理装置100の情報記憶部190は、音声の特徴量を表す情報と、当該音声を発生させる行動の種別を表す情報と、当該行動が継続して行われると予測される継続時間の長さを表す情報と、を対応付けて記憶している。本変形例において、音声の特徴量は、例えば、当該音声の周波数帯、及び、当該音声の持続時間の長さを含む。また、本変形例において、行動の種別は、「会議」、「食事」、「接客」、「仕事」、「勉強」、「入浴」、「睡眠」、及び、「遊び」を含む。さらに、本変形例において、行動が継続して行われる時間の長さは、第1スマートスピーカーから過去に送信された音声データから、当該行動によって発生する音声の特徴量が検出され続けた時間の平均値である。しかし、これらに限定される訳ではなく、行動が継続して行われる時間の長さは、当該特徴量が検出され続けた時間の最大値又は最小値であっても良いし、複数のユーザが過去に当該行動を継続して行った時間であり、かつ、実験により計測された時間の平均値、最小値、又は、最大値であっても良い。行動が継続して行われる時間の好適な長さは、当業者が実験により定めることができる。
【0271】
情報処理装置100のデータ通信回路104aが、第1スマートスピーカーから音声データを受信すると、情報処理装置100の取得部110は、データ通信回路104aから音声データを取得する。次に、制御部130は、音声データに基づいて、当該音声データで表される音声の特徴量を算出する。その後、取得部110は、情報記憶部190から、算出された特徴量と同じ又は最も近似した特徴量を表す情報に対応付けられた継続時間の長さを表す情報を取得する。
【0272】
その後、情報処理装置100の取得部110は、例えば、OSからシステム日時を取得し、制御部130は、取得された情報で表される継続時間の長さだけシステム日時よりも後の日時を算出する。次に、制御部130は、音声データで表される音声が発生する第1ユーザの行動が、算出された日時まで行われることが予定されていると判別する。このため、取得部110は、第1ユーザの行動予定の開始日時を表す情報として、システム日時を表す情報を取得し、当該行動予定の終了日時を表す情報として、システム日時よりも継続時間の長さだけ後の日時を表す情報を取得する。このようにして、制御部130は、第1ユーザの行動予定の時間帯を表す情報を取得する(ステップS81)。
【0273】
本変形例に係る情報処理装置100は、ステップS83において、本変形例に係るステップS81と同様の処理を実行することで、第2スマートスピーカーから送信された音声データに基づいて、第2ユーザの行動予定の時間帯AR2を表す情報を取得する(ステップS83)。
【0274】
また、本変形例に係る情報処理装置100は、
図27のステップS171において、第1スマートスピーカーから受信された音声データに基づいて特徴量を算出する。次に、情報処理装置100の取得部110は、情報記憶部190において、算出された特徴量と同じ又は最も近似した特徴量を表す情報に対応付けられた種別を表す情報を、第1ユーザの行動予定の種別を表す情報として取得する(ステップS171)。
【0275】
本変形例に係る情報処理装置100は、ステップS175において、本変形例に係るステップS171と同様の処理を実行することで、第2スマートスピーカーから受信された音声データに基づいて、第2ユーザの行動予定の種別を表す情報を取得する(ステップS175)。
【0276】
これらの構成によれば、情報処理装置100の取得部110は、第1配送先D1に設置された第1スマートスピーカーで収集された音声に基づいて、第1ユーザの行動予定の時間帯AR11を表す情報、及び、種別を表す情報を取得するため、第1ユーザのプライバシーの侵害を抑制できる。また、第1ユーザの行動によって第1配送先D1で音が生じさえすれば、情報処理装置100は、第1ユーザの行動予定の時間帯AR11を表す情報、及び、種別を表す情報を取得できる。このため、例えば、第1ユーザが動画を視聴していない場合であっても、又は、第1ユーザの端末装置901に、第1ユーザの行動予定の時間帯を表す情報、及び、種別を表す情報が保存されていない場合であっても、情報処理装置100は、第1ユーザの行動予定の時間帯を表す情報、及び、種別を表す情報を取得できる。
【0277】
<実施例の変形例9>
実施例では、情報処理装置100は、
図10の動画テーブル、
図11のチャンネルテーブル、及び、
図12の行動予定テーブルを記憶しており、これらのテーブルを用いて、
図9の動画配信処理を実行すると説明したが、これに限定される訳ではない。本変形例に係る情報処理装置100は、動画テーブル、チャンネルテーブル、及び、行動予定テーブルを記憶しておらず、かつ、動画配信処理を実行しない。
【0278】
このため、本変形例に係る情報処理装置100は、実施例の変形例6と同様に、
図19のステップS81において、時間帯送信要求を、不図示の動画配信サーバへ送信し、動画配信サーバから返信された情報を、第1ユーザの行動予定の取得時間帯を表す情報として取得する(ステップS81)。また同様に、情報処理装置100は、ステップS83において、動画配信サーバから、第2ユーザの行動予定の取得時間帯を表す情報を取得する(ステップS83)。
【0279】
さらに、本変形例に係る情報処理装置100は、実施例の変形例6と同様に、
図27のステップS171において、種別送信要求を動画配信サーバへ送信し、動画配信サーバから返信された情報を、第1ユーザの行動予定の種別を表す情報として取得する(ステップS171)。また同様に、情報処理装置100は、ステップS175において、第2ユーザの行動予定の種別を表す情報を動画配信サーバから取得する(ステップS175)。
【0280】
本変形例に係る情報処理システム1は、動画配信サーバをさらに備えても良いし、備えなくとも良い。
【0281】
<実施例の変形例10>
実施例では、情報処理装置100の生成部160は、配送時間帯DR11に、第1ユーザの行動予定の取得時間帯AR12’が、一部重なる場合に、重なる時間帯である第1重複時間帯OR12に含まれる日時と異なる日時に商品I1が配送されるように配送計画を生成すると説明した。しかし、これに限定される訳ではなく、生成部160は、配送時間帯DR11に、第1ユーザの行動予定の取得時間帯AR12’が、全部重なる場合に、第1重複時間帯OR12に含まれる日時と異なる日時に商品I1が配送されるように配送計画を生成しても良い。同様に、生成部160は、配送時間帯DRに、第2ユーザの行動予定の取得時間帯AR2’が、全部重なる場合に、第2重複時間帯OR2に含まれる日時と異なる日時に商品I2が配送されるように配送計画を生成しても良い。
【0282】
また、情報処理装置100の生成部160は、配送時間帯DR11に、第1ユーザの行動予定の取得時間帯AR12’が、一部又は全部重なる場合に、第1重複時間帯OR12に含まれる日時と異なる日時であり、かつ、配送時間帯DR11に含まれる日時に、商品I1が配送されるように配送計画を生成しても良い。同様に、生成部160は、配送時間帯DRに、第2ユーザの行動予定の取得時間帯AR2’が、一部又は全部重なる場合に、第2重複時間帯OR2に含まれる日時と異なる日時であり、かつ、配送時間帯DRに含まれる日時に、商品I2が配送されるように配送計画を生成しても良い。
【0283】
さらに、情報処理装置100の生成部160は、配送時間帯DR11に、第1ユーザの行動予定の取得時間帯AR12’が、一部又は全部重なる場合に、取得時間帯AR12’に含まれる日時と異なる日時であり、かつ、第1ユーザの指定時間帯である第1指定時間帯GR1に含まれる日時に、商品I1が配送されるように配送計画を生成しても良い。同様に、生成部160は、配送時間帯DRに、第2ユーザの行動予定の取得時間帯AR2’が、一部又は全部重なる場合に、取得時間帯AR2’に含まれる日時と異なる日時であり、かつ、第2指定時間帯GR2に含まれる日時に、商品I2が配送されるように配送計画を生成しても良い。
【0284】
<実施例の変形例11>
実施例では、情報処理システム1は、無人地上車両である配送機600を備えると説明した。しかし、これに限定される訳ではなく、本変形例に係る情報処理システム1は、
図28に示すような、例えば、ドローン等の無人航空機である配送機700を備える。
【0285】
本変形例に係る配送機700は、配送機700の姿勢及び飛行を制御する情報処理装置790と、情報処理装置790の前面から右前方及び左前方、並びに、情報処理装置790の後面から左後方及び右後方にそれぞれ突出したプロペラアーム701及び702、並びに、703及び704と、を備える。また、配送機700は、プロペラアーム701から704の先端にそれぞれ設置されたプロペラ711から714、及び、情報処理装置790の制御に従ってプロペラ711から714を回転させる不図示のモータを備える。
【0286】
さらに、配送機700の情報処理装置790の下面には、商品を格納する複数の格納ボックス721及び722を備える格納庫720が設置されている。配送機700が備える格納庫720の構成及び機能は、配送機600が備える格納庫620の構成及び機能と同様である。
【0287】
また、配送機700は、情報処理装置790の前面に設けられたLiDARセンサ741と、情報処理装置790の後面に設けられた不図示のLiDARセンサと、を備える。配送機700が備える前面のLiDARセンサ741と後面のLiDARセンサとの構成及び機能は、それぞれ配送機600が備える前面のLiDARセンサ641と後面のLiDARセンサとの構成及び機能と同様である。
【0288】
配送機700の情報処理装置790が備えるハードウェアの構成及び機能は、配送機600の情報処理装置690が備えるハードウェアの構成及び機能と同様である。
【0289】
配送機700の不図示の駆動回路は、プロペラ711から714を回転させる不図示のモータにそれぞれ接続された不図示のケーブルに接続されている。不図示の駆動回路は、CPUが出力する信号に従って、プロペラ711から714を回転させる不図示のモータを駆動させる。
【0290】
配送機700の不図示のCPUは、
図25に示した移動処理と同様の処理を実行する。これにより、配送機700のCPUは、配送機700を離陸させるための制御信号を生成し、生成された制御信号を駆動回路へ出力する。次に、配送機700のCPUは最も到着順が早い未到着のノードへ向かって設定速度で飛行するための制御信号を駆動回路へ出力する。その後、配送機700のCPUは、経路の終点に到着したと判別すると、配送機700を着陸させるための制御信号を駆動回路へ出力する。
【0291】
また、本変形例では、配送機700は、無人航空機であると説明したが、これに限定される訳ではなく、無人飛翔体であっても良い。さらに、本変形例では、配送機700は、プロペラ711から714で揚力及び推力を得るドローンであると説明したが、これに限定される訳ではない。配送機700は、翼を備え、翼で揚力を得えても良いし、空気よりも比重の小さい気体で満たされた気嚢を備え、気嚢で揚力を得えても良い。また、配送機700は、ジェットエンジン又はロケットエンジンを備え、ジェットエンジン又はロケットエンジンで推力を得ても良い。
【0292】
<実施例の変形例12>
実施例では、配送機600が、第1配送先D1へ配送される商品I1と、第2配送先D2へ配送される商品I2と、を格納する場合について説明したが、配送機600が格納する商品は、これらに限定される訳ではない。本変形例では、配送機600が、第2ユーザによって注文された商品であり、かつ、第2配送先D2へ配送される商品である、不図示の商品I21と商品I22とを格納する場合を具体例として挙げて説明を行う。
【0293】
本変形例に係る情報処理装置100の制御部130は、
図17のステップS65において、ステップS61で取得された2つの配送計画を表す情報によってそれぞれ表される配送先の位置が同じ位置であると判別し、複数の配送先への配送が計画されていないと判別する(ステップS65;No)。
【0294】
その後、情報処理装置100の決定部150は、ステップS64で決定された倉庫STから第2配送先D2へ到る配送経路を表す情報に基づいて、第2経路に含まれる複数のノードの内で、倉庫ST及び第2配送先D2の位置と異なる位置のノードの1つを、配送機600が到達した場合に第1ユーザの行動予定の確認を行う確認点に決定する(ステップS69)。本変形例では、決定部150は、倉庫STと第2配送先D2との中間地点に位置するノードを確認点に決定するが、これに限定される訳ではない。次に、情報処理装置100は、ステップS67及びS68の処理を実行することで、倉庫STから終点である確認点に到る移動経路を配送機600に移動させる制御を行った後に(ステップS67及びS68)、配送開始制御処理の実行を終了する。
【0295】
図15のステップS41で配送開始制御処理を実行した後に、情報処理装置100は、移動経路の終点である確認点に配送機600が到着したと判別する(ステップS42;Yes)。その後、情報処理装置100の制御部130は、複数の配送先への配送が計画されていないと判別し(ステップS43;No)、
図18に示した経路選択処理を実行せずに、ステップS53から処理を続行する。これにより、情報処理装置100は、第2ユーザの行動予定の時間帯に基づく日時に、商品I21及びI22を第2配送先D2へ配送機600に配送させる。
【0296】
本変形例では、配送機600が、第2ユーザによって注文された商品であり、かつ、第2配送先D2へ配送される商品である2つの商品I21と商品I22とを格納する場合について説明したが、配送機600が格納する商品は、これらに限定される訳ではない。配送機600は、第2配送先D2へ配送される1つの商品I2のみを格納しても良い。
【0297】
また、実施例では、配送機600が、第1配送先D1へ配送される商品I1と、第2配送先D2へ配送される商品I2と、を格納する場合であり、かつ、第1配送先D1の位置と第2配送先D2の位置とが異なる場合について説明したが、これに限定される訳では無い。第1配送先D1の位置と第2配送先D2の位置とが同じであっても良い。
【0298】
<実施例の変形例13>
実施例では、荷物が商品である場合を具体例として挙げて説明したが、荷物は商品に限定される訳では無い。荷物は、どのような物であっても良く、例えば、商取引の対象とされない物であっても良い。また、荷物は、物でなく、生き物であっても良い。
【0299】
<実施例の変形例14>
実施例では、第1配送先D1は、第1ユーザが居住する一軒家であり、配送機600は、第1配送先D1に到着すると、第1ユーザの一軒家の玄関前で停車又は駐車すると説明したが、これに限定される訳では無い。第1配送先D1は、どのような場所であっても良いし、第1配送先D1に到着した配送機600が停車又は駐車する場所は、第1配送先D1であっても良いし、第1配送先D1の近傍の場所であり、かつ、配送機600が停車可能又は駐車可能な場所であれば、どのような場所であっても良い。同様に、第1配送先D1に到着した配送機700が着陸する場所は、第1配送先D1であっても良いし、第1配送先D1の近傍の場所であり、かつ、配送機700が着陸可能な場所であれば、どのような場所であっても良い。第1配送先D1の近傍とは、第1配送先D1から予め定められた距離だけ離れた境界線よりも第1配送先D1側の領域である。
【0300】
同様に、第2配送先D2は、どのような場所であっても良いし、第2配送先D2に到着した配送機600が停車又は駐車する場所は、第2配送先D2であっても良いし、第2配送先D2の近傍の場所であり、かつ、配送機600が停車可能又は駐車可能な場所であれば、どのような場所であっても良い。同様に、第2配送先D2に到着した配送機700が着陸する場所は、第2配送先D2であっても良いし、第2配送先D2の近傍の場所であり、かつ、配送機700が着陸可能な場所であれば、どのような場所であっても良い。
【0301】
配送機600が停車又は駐車可能な場所は、例えば、共同住宅、オフィスビル、ホテル、商業施設、若しくは、公共施設のエントランス、又は、一軒家の玄関先であっても良い。また、配送機600が停車又は駐車可能な場所は、共同住宅、オフィスビル、ホテル、商業施設、若しくは、公共施設のロビーであっても良いし、一軒家、共同住宅、オフィスビル、ホテル、商業施設、若しくは、公共施設の庭、駐車場、河原、又は、公園であっても良い。
【0302】
また、配送機700が着陸可能な場所は、配送機600が停車又は駐車できる場所に加え、一軒家、共同住宅、オフィスビル、ホテル、商業施設、又は、公共施設のベランダ、又は、屋上であっても良い。
【0303】
<実施例の変形例15>
実施例において、情報処理システム1は、1台の配送機600を備えると説明したが、これに限定される訳ではない。情報処理システム1は、複数台の配送機を備えても良い。また、実施例において、配送機600は、2個の格納ボックス621及び622を備えると説明したが、これに限定される訳では無い。配送機600は、1個、又は、3個以上の格納ボックスを備えても良い。
【0304】
<実施例の変形例16>
実施例では、配送機600は、無人地上車両であると説明した。また、実施例の変形例11では、配送機700は、無人航空機であると説明した。しかし、配送機600及び700は、必ずしも無人である必要はなく、情報処理装置100による制御を除き、自律して移動する物体であれば、人が乗っていても良い。
【0305】
<実施例の変形例17>
実施例では、情報処理装置100は、情報記憶部190を備えると説明したが、これに限定される訳ではない。本変形例に係る情報処理装置100は、情報記憶部190を備えない。本変形例に係る情報処理装置100は、例えば、NAS(Network Attached Storage)であり、かつ、情報記憶部190の機能と同様の機能を有する不図示の情報記憶装置とインターネットINを介して接続されており、情報記憶装置が記憶する情報を用いて、
図4に示した販売処理、
図9に示した動画配信処理、
図13に示した配送計画生成処理、
図15及び
図16に示した配送制御処理、
図17に示した配送開始制御処理、
図18に示した経路選択処理、
図19に示した予定回避選択処理、
図20に示した受渡制御処理、
図21に示した配送続否決定処理、
図22に示した帰還制御処理、
図26に示した時間調整選択処理、並びに、
図27に示した種別選択処理を実行する。本変形例に係る情報処理システム1は、情報記憶装置を備えても良いし、情報記憶装置を備えなくても良い。
【0306】
<実施例の変形例18>
実施例では、第1ユーザの行動予定の取得時間帯AR11’と配送時間帯DRとが重なり、かつ、第2ユーザの行動予定の取得時間帯AR2’と配送時間帯DRとが重なる場合について説明したが、これに限定される訳ではない。本変形例では、第1ユーザの行動予定の取得時間帯AR11’と配送時間帯DRとが重ならない場合と、第2ユーザの行動予定の取得時間帯AR2’と配送時間帯DRとが重ならない場合と、を具体例として順に挙げて以下の説明を行う。
【0307】
本変形例に係る情報処理装置100は、
図19のステップS82で、第1ユーザの行動予定の取得時間帯AR11’と配送時間帯DRとが重ならないと判別する(ステップS82;No)。次に、情報処理装置100は、配送時間帯DRに、商品I1を第1配送先D1へ配送機600に配送させる配送計画を維持する。その後、情報処理装置100は、配送機600に移動させる経路として、第1経路を選択してから(ステップS88)、予定回避選択処理の実行を終了する。
【0308】
これに対して、情報処理装置100は、ステップS84で、第2ユーザの行動予定の取得時間帯AR2’と配送時間帯DRとが重ならないと判別すると(ステップS84;No)、配送時間帯DRに、商品I2を第2配送先D2へ配送機600に配送させる配送計画を維持する。その後、情報処理装置100は、配送機600に移動させる経路として、第2経路を選択してから(ステップS92)、予定回避選択処理の実行を終了する。
【0309】
さらに、情報処理装置100は、第2配送先D2で第2ユーザに対する商品I2の受け渡しを終えた後、
図21のステップS112で、第1ユーザの行動予定の取得時間帯AR11’と配送時間帯DRとが重ならないと判別すると(ステップS112;No)、商品I1を第1配送先D1へ配送させる配送計画の実行を継続すると決定する(ステップS116)。その後、情報処理装置100は、配送続否決定処理の実行を終了する。
【0310】
<実施例の変形例19>
実施例では、第1配送先D1へ到る第1経路と、第2配送先D2へ到る第2経路と、の内から、配送機600に移動させる経路が選択される場合について説明したが、これに限定される訳ではない。本変形例では、配送機600に移動させる経路が選択されない場合を具体例として順に挙げて以下の説明を行う。
【0311】
本変形例に係る情報処理装置100は、
図27のステップS176で、第2ユーザの行動予定の種別が、第2ユーザによって設定された設定種別である非重要種別でなく(ステップS176;No)、重要種別であると判別すると、種別選択処理の実行を終了する。
【0312】
図18のステップS75で種別選択処理を実行した後、情報処理装置100は、経路選択処理の実行を終了する。
図15のステップS44で経路選択処理を実行した後、情報処理装置100は、配送機600に移動させる経路が選択されていないと判別すると(ステップS45;No)、商品I1及びI2の配送計画の実行を中止する。次に、情報処理装置100は、
図22に示した帰還制御処理を実行する(ステップS60)。
【0313】
帰還制御処理の実行を開始すると、情報処理装置100の取得部110は、
図14の配送計画テーブルから、配送計画が実行されている状態を表す実行中状態と対応付けられたボックスIDの取得を試行する。次に、取得部110は、商品I1及びI2をそれぞれ格納した格納ボックス621及び622のボックスID「1」及び「2」を取得したため、配送計画が残存していると判別する(ステップS131;Yes)。
【0314】
次に、情報処理装置100の制御部130は、
図14の配送計画テーブルにおいて、ボックスID「1」及び「2」に対応付けられている情報で表される2つの残存した配送計画の1つに注目し(ステップS132)、注目した配送計画(以下、注目配送計画という)を表す情報に含まれる商品IDとユーザIDとを取得する。その後、制御部130は、
図8の受付注文テーブルにおいて、取得されたユーザIDと商品IDとに対応付けられた状態情報を、未計画状態を表す情報に変更する。これにより、情報処理装置100は、配送計画が中止された商品の配送計画の状態情報を、配送計画が生成されていない状態を表す未計画状態に戻す(ステップS133)。次に、制御部130は、配送計画テーブルに保存されている配送時間帯を表す情報と、注目配送計画を表す情報と、注目配送計画の状態情報と、を、文字列「NULL」に変更することで、注目配送計画を削除する(ステップS134)。その後、情報処理装置100は、ステップS131から上記処理を繰り返す。
【0315】
情報処理装置100は、ステップS131で、配送計画が残存していないと判別すると(ステップS131;No)、配送機600の帰還経路を決定し(ステップS135)、帰還経路を移動することを命じる移動命令を出力してから(ステップS136)、帰還制御処理を終了する。
図16のステップS60で帰還制御処理を実行した後、情報処理装置100は、配送制御処理の実行を終了する。
【0316】
<実施例の変形例20>
本変形例では、第2配送先D2で商品I2が受け渡された後に実行される、
図21のステップS114において、第1到着日時が第1重複時間帯OR11に含まれると判別される場合について説明する。
【0317】
情報処理装置100は、第1到着時間帯が第1重複時間帯OR11に重なると判別すると(ステップS114;Yes)、
図26のステップS151と同様の処理を実行することで、第1ユーザの行動予定の終了日時が、第1ユーザの指定時間帯の終了日時以前であるか否かを判別する(ステップS117)。このとき、情報処理装置100は、行動予定の終了日時が、指定時間帯の終了日時以前であると判別すると(ステップS117;Yes)、
図26のステップS152と同様の処理を実行した後に(ステップS118)、ステップS116から処理を継続する。
【0318】
これに対して、情報処理装置100は、第1ユーザの行動予定の終了日時が、第1ユーザの指定時間帯の終了日時よりも遅いと判別すると(ステップS117;No)、
図27のステップS171及びS172と同様の処理を実行する(ステップS119及びS120)。このとき、情報処理装置100は、第1ユーザの行動予定の種別が設定種別である非重要種別であると判別すると(ステップS120;Yes)、ステップS116から処理を継続する。これに対して、情報処理装置100の生成部160が、第1ユーザの行動予定の種別が設定種別でなく、重要種別であると判別すると(ステップS120;No)、決定部150は、第1配送先D1へ商品I1を配送させる配送計画の実行を中止することを決定する(ステップS121)。その後、決定部150は、配送続否決定処理の実行を終了する。
【0319】
図16のステップS53で配送続否決定処理が実行した後に、情報処理装置100の制御部130は、配送計画の実行を継続せず、中止することが決定されたと判別すると(ステップS54;No)、
図22に示した帰還制御処理を実行してから(ステップS60)、配送制御処理の実行を終了する。
【0320】
<実施例の変形例21>
実施例では、情報処理システム1は、情報処理装置100を備えると説明した。また、実施例では、情報処理装置100のCPU101は、
図4に示した販売処理、
図9に示した動画配信処理、
図13に示した配送計画生成処理、
図15及び
図16に示した配送制御処理、
図17に示した配送開始制御処理、
図18に示した経路選択処理、
図19に示した予定回避選択処理、
図20に示した受渡制御処理、
図21に示した配送続否決定処理、
図22に示した帰還制御処理、
図26に示した時間調整選択処理、並びに、
図27に示した種別選択処理を実行すると説明した。また、情報処理装置100のCPU101は、
図5に示した取得部110、認証部120、制御部130、受付部140、決定部150、生成部160、予測部170、及び、選択部180として機能すると説明した。また、情報処理装置100のハードディスク103bは、情報記憶部190として機能すると説明した。
【0321】
しかし、これらに限定される訳ではなく、情報処理システム1は、情報処理装置100を備えなくとも良い。この場合、
図4に示した販売処理、
図9に示した動画配信処理、
図13に示した配送計画生成処理、
図15及び
図16に示した配送制御処理、
図17に示した配送開始制御処理、
図18に示した経路選択処理、
図19に示した予定回避選択処理、
図20に示した受渡制御処理、
図21に示した配送続否決定処理、
図22に示した帰還制御処理、
図26に示した時間調整選択処理、並びに、
図27に示した種別選択処理は、配送機600が備える情報処理装置690のCPU691によって実行されても良い。このため、配送機600のCPU691が、情報処理装置100の取得部110、認証部120、制御部130、受付部140、決定部150、生成部160、予測部170、及び、選択部180に相当する不図示の機能部として機能しても良い。また、配送機600のフラッシュメモリ693bが、情報処理装置100の情報記憶部190に相当する不図示の機能部として機能しても良い。
【0322】
また、これに限定される訳ではなく、
図4に示した販売処理、
図9に示した動画配信処理、
図13に示した配送計画生成処理、
図15及び
図16に示した配送制御処理、
図17に示した配送開始制御処理、
図18に示した経路選択処理、
図19に示した予定回避選択処理、
図20に示した受渡制御処理、
図21に示した配送続否決定処理、
図22に示した帰還制御処理、
図26に示した時間調整選択処理、並びに、
図27に示した種別選択処理の1つ以上、は、情報処理装置100のCPU101と、配送機600のCPU691と、端末装置901から903が備える不図示のCPUと、の2つ以上によって分散実行されても良い。
【0323】
本発明の実施例及び実施例の変形例1から21は、互いに組み合わせることができる。
【0324】
実施例及び実施例の変形例1から20のいずれかに係る機能を実現するための構成を備えた情報処理装置100、並びに、実施例の変形例21に係る機能を実現するための構成を備えた情報処理装置690として提供できることはもとより、複数の装置で構成されるシステムであって、本発明の実施例及び実施例の変形例1から21のいずれかに係る機能を実現するための構成をシステム全体として備えたシステムとして提供することもできる。
【0325】
実施例及び実施例の変形例1から20のいずれかに係る機能を実現するための構成を予め備えた情報処理装置100として提供できる。また、プログラムの適用により、既存の情報処理装置を実施例及び実施例の変形例1から20のいずれかに係る情報処理装置100として機能させることもできる。すなわち、実施例及び実施例の変形例1から20のいずれかで例示した情報処理装置100による各機能構成を実現させるためのプログラムを、既存の情報処理装置を制御するコンピュータ(CPUなど)が実行することで、実施例及び実施例の変形例1から20のいずれかに係る情報処理装置100として機能させることができる。
【0326】
本発明の実施例の変形例21に係る機能を実現するための構成を予め備えた情報処理装置690として提供できる。また、プログラムの適用により、既存の情報処理装置を実施例の変形例21に係る情報処理装置690として機能させることもできる。すなわち、上記実施例の変形例21で例示した情報処理装置690による各機能構成を実現させるためのプログラムを、既存の情報処理装置を制御するコンピュータ(CPUなど)が実行することで、実施例の変形例21に係る情報処理装置690として機能させることができる。
【0327】
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD(Compact Disc)-ROM、又は、DVD(Digital Versatile Disc)-ROMなどの記録媒体に収納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。
【0328】
本発明に係る方法は、実施例及び実施例の変形例1から20のいずれかに係る情報処理装置100、並びに、実施例の変形例21に係る情報処理装置690を用いて実施できる。また、本発明に係る方法は、実施例及び実施例の変形例1から21のいずれかに係る情報処理システム1を用いて実施できる。
【0329】
また、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【0330】
(付記)
(付記1)
ユーザへの荷物の配送時間帯を決定する決定部と、
前記荷物の配送先における前記ユーザの行動予定の時間帯を表す情報を取得する取得部と、
前記配送時間帯に前記行動予定の前記時間帯が重なる場合、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように配送計画を生成する生成部と、
を備えることを特徴とする情報処理装置。
【0331】
(付記2)
前記取得部は、
前記行動予定の前記時間帯の内で、前記荷物が前記配送先に配送される時間帯として指定された指定時間帯に含まれる時間帯であり、かつ、前記荷物の配送要求の受け付け以降の時間帯、を表す前記情報を取得し、
前記行動予定の前記時間帯の内で、前記指定時間帯に含まれない時間帯を表す情報を取得せず、かつ、
前記行動予定の前記時間帯の内で、前記配送要求が受け付けられるより前の時間帯を表す情報を取得しない、
ことを特徴とする付記1に記載の情報処理装置。
【0332】
(付記3)
前記取得部は、前記ユーザの前記行動予定の種別を表す情報をさらに取得し、
前記生成部は、
前記配送時間帯に前記荷物が配送されるように前記配送計画を生成し、かつ、
前記配送時間帯に前記行動予定の前記時間帯が重なる場合であり、かつ、前記指定時間帯の終了時刻よりも、前記行動予定の前記時間帯の終了時刻が遅い場合に、取得された前記情報で表される前記種別が、予め定められた種別であると、前記配送時間帯に前記荷物が配送されるように生成された前記配送計画を維持する、
ことを特徴とする付記2に記載の情報処理装置。
【0333】
(付記4)
生成された前記配送計画に基づいて、前記荷物を前記配送先へ配送機に配送させる制御部、
をさらに備えることを特徴とする付記1から3のいずれか一つに記載の情報処理装置。
【0334】
(付記5)
前記制御部は、前記行動予定の終了時刻に、前記配送先へ前記配送機が到着するように前記配送機を制御する、
ことを特徴とする付記4に記載の情報処理装置。
【0335】
(付記6)
前記取得部は、前記荷物である第1荷物と、前記第1荷物と異なる第2荷物と、を格納した前記配送機が、前記第1荷物の前記配送先である第1配送先へ到る第1経路と、前記第2荷物の配送先である第2配送先へ到る第2経路と、の分岐点に到着すると、
前記ユーザであり、かつ、前記第1荷物の受取人である、第1ユーザの前記行動予定の前記時間帯を表す前記情報を取得し、かつ、
前記第1ユーザと異なるユーザであり、かつ、前記第2荷物の受取人である、第2ユーザの行動予定の時間帯を表す情報を取得し、
取得された前記情報で表される前記第1ユーザの前記行動予定の前記時間帯と、前記第2ユーザの前記行動予定の前記時間帯と、に基づいて、前記配送機に移動させる経路を、前記第1経路と前記第2経路とから選択する選択部、をさらに備え、
前記制御部は、選択された前記経路を前記配送機に移動させる制御を行う、
ことを特徴とする付記5に記載の情報処理装置。
【0336】
(付記7)
前記分岐点から前記第1配送先まで前記配送機が前記第1経路を移動する場合に、前記第1配送先に前記配送機が到着する到着時刻を予測し、かつ、
前記分岐点から前記第2配送先まで前記配送機が前記第2経路を移動する場合に、前記第2配送先に前記配送機が到着する到着時刻を予測する、
予測部、をさらに備え、
前記選択部は、取得された前記情報で表される前記第1ユーザの前記行動予定の前記時間帯と前記配送時間帯とが重なる前記時間帯に、予測された前記第1配送先への前記到着時刻が含まれるが、前記第2ユーザの前記行動予定の前記時間帯と前記配送時間帯とが重なる時間帯に、前記第2配送先への前記到着時刻が含まれない場合、前記第2経路を選択する、
ことを特徴とする付記6に記載の情報処理装置。
【0337】
(付記8)
ユーザへの荷物の配送時間帯を決定する決定部と、
前記荷物の配送先における前記ユーザの行動予定の時間帯を表す情報を取得する取得部と、
前記配送時間帯に前記行動予定の前記時間帯が重なる場合、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように配送計画を生成する生成部と、
を備えることを特徴とするシステム。
【0338】
(付記9)
情報処理装置又はシステムが実行する方法であって、
ユーザへの荷物の配送時間帯を決定する決定ステップと、
前記荷物の配送先における前記ユーザの行動予定の時間帯を表す情報を取得する取得ステップと、
前記配送時間帯に前記行動予定の前記時間帯が重なる場合、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように配送計画を生成する生成ステップと、
を含むことを特徴とする方法。
【符号の説明】
【0339】
1:情報処理システム 100、790:情報処理装置 101、621:CPU 102、622:RAM 103a、623a:ROM 103b:ハードディスク 104a、624a:データ通信回路 105a、625a:ビデオカード 105b、625b:表示装置 105c、625c:入力装置 110:取得部 120:認証部 130:制御部 140:受付部 150:決定部 160:生成部 170:予測部 180:選択部 190:情報記憶部 600、700:配送機 601、602:車輪 610:車台 620、720:格納庫 621、622、721、722:格納ボックス 621a:扉 621b:扉枠 621c:デッドボルト 621d:ストライク 630、730:撮像装置 641、741:LiDARセンサ 693b:フラッシュメモリ 696:位置計測回路 698:入出力ポート 699:駆動回路 901から903:端末装置 701から704:プロペラアーム 711から714:プロペラ AR11、AR2:行動予定の時間帯 AR11’、AR2’:行動予定の取得時間帯 DR:配送時間帯 DR1、DR2:新たな配送時間帯 GR1、GR2:指定時間帯 OR11、OR2:重複時間帯 IN:インターネット
【手続補正書】
【提出日】2022-11-10
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーザへの荷物の配送時間帯を決定する決定部と、
前記ユーザが、前記荷物の配送先で行う行動の予定である行動予定の時間帯を表す情報を取得する取得部と、
前記配送時間帯に前記行動予定の前記時間帯が重なる場合、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように配送計画を生成する生成部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記取得部は、
前記行動予定の前記時間帯の内で、前記荷物が前記配送先に配送される時間帯として指定された指定時間帯に含まれる時間帯であり、かつ、前記荷物の配送要求の受け付け以降の時間帯、を表す前記情報を取得し、
前記行動予定の前記時間帯の内で、前記指定時間帯に含まれない時間帯を表す情報を取得せず、かつ、
前記行動予定の前記時間帯の内で、前記配送要求が受け付けられるより前の時間帯を表す情報を取得しない、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
生成された前記配送計画に基づいて、前記荷物を前記配送先へ配送機に配送させる制御部、
をさらに備えることを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
ユーザへの荷物の配送時間帯を決定する決定部と、
前記荷物の配送先における前記ユーザの行動予定の時間帯を表す情報と、前記行動予定の種別を表す情報と、を取得する取得部と、
前記配送時間帯に前記荷物が配送されるように配送計画を生成し、かつ、
(1)前記配送時間帯に前記行動予定の前記時間帯が重なる場合であり、かつ、前記荷物が前記配送先に配送される時間帯として指定された指定時間帯の終了時刻よりも、前記行動予定の前記時間帯の終了時刻が遅い場合に、取得された前記情報で表される前記種別が、予め定められた種別であると、前記配送時間帯に前記荷物が前記配送先に配送されるように生成された前記配送計画を維持し、かつ、
(2)前記配送時間帯に前記行動予定の前記時間帯が重なる前記場合であり、かつ、前記行動予定の前記時間帯の前記終了時刻が前記指定時間帯の前記終了時刻以前である場合に、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように、前記配送計画を変更する、
生成部と、
を備えることを特徴とする情報処理装置。
【請求項5】
前記取得部は、
前記行動予定の前記時間帯の内で、前記指定時間帯に含まれる時間帯であり、かつ、前記荷物の配送要求の受け付け以降の時間帯、を表す前記情報を取得し、
前記行動予定の前記時間帯の内で、前記指定時間帯に含まれない時間帯を表す情報を取得せず、かつ、
前記行動予定の前記時間帯の内で、前記配送要求が受け付けられるより前の時間帯を表す情報を取得しない、
ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
維持又は変更された前記配送計画に基づいて、前記荷物を前記配送先へ配送機に配送させる制御部、
をさらに備えることを特徴とする請求項4又は5に記載の情報処理装置。
【請求項7】
ユーザへの荷物の配送時間帯を決定する決定部と、
前記荷物の配送先における前記ユーザの行動予定の時間帯を表す情報を取得する取得部と、
前記配送時間帯に前記行動予定の前記時間帯が重なる場合、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように配送計画を生成する生成部と、
生成された前記配送計画に基づいて、前記行動予定の終了時刻に、前記配送先へ配送機が到着するように前記配送機を制御することで、前記荷物を前記配送先へ前記配送機に配送させる制御部と、
を備えることを特徴とする情報処理装置。
【請求項8】
前記取得部は、
前記行動予定の前記時間帯の内で、前記荷物が前記配送先に配送される時間帯として指定された指定時間帯に含まれる時間帯であり、かつ、前記荷物の配送要求の受け付け以降の時間帯、を表す前記情報を取得し、
前記行動予定の前記時間帯の内で、前記指定時間帯に含まれない時間帯を表す情報を取得せず、かつ、
前記行動予定の前記時間帯の内で、前記配送要求が受け付けられるより前の時間帯を表す情報を取得しない、
ことを特徴とする請求項7に記載の情報処理装置。
【請求項9】
前記取得部は、前記荷物である第1荷物と、前記第1荷物と異なる第2荷物と、を格納した前記配送機が、前記第1荷物の前記配送先である第1配送先へ到る第1経路と、前記第2荷物の配送先である第2配送先へ到る第2経路と、の分岐点に到着すると、
前記ユーザであり、かつ、前記第1荷物の受取人である、第1ユーザの前記行動予定の前記時間帯を表す前記情報を取得し、かつ、
前記第1ユーザと異なるユーザであり、かつ、前記第2荷物の受取人である、第2ユーザの行動予定の時間帯を表す情報を取得し、
取得された前記情報で表される前記第1ユーザの前記行動予定の前記時間帯と、前記第2ユーザの前記行動予定の前記時間帯と、に基づいて、前記配送機に移動させる経路を、前記第1経路と前記第2経路とから選択する選択部、をさらに備え、
前記制御部は、選択された前記経路を前記配送機に移動させる制御を行う、
ことを特徴とする請求項7又は8に記載の情報処理装置。
【請求項10】
前記分岐点から前記第1配送先まで前記配送機が前記第1経路を移動する場合に、前記第1配送先に前記配送機が到着する到着時刻を予測し、かつ、
前記分岐点から前記第2配送先まで前記配送機が前記第2経路を移動する場合に、前記第2配送先に前記配送機が到着する到着時刻を予測する、
予測部、をさらに備え、
前記選択部は、取得された前記情報で表される前記第1ユーザの前記行動予定の前記時間帯と前記配送時間帯とが重なる前記時間帯に、予測された前記第1配送先への前記到着時刻が含まれるが、前記第2ユーザの前記行動予定の前記時間帯と前記配送時間帯とが重なる時間帯に、前記第2配送先への前記到着時刻が含まれない場合、前記第2経路を選択する、
ことを特徴とする請求項9に記載の情報処理装置。
【請求項11】
前記ユーザの前記行動予定は、前記ユーザが前記配送先で動画を視聴する予定、前記ユーザが前記配送先でリモート会議に出席する予定、前記ユーザが前記配送先で食事する予定、前記ユーザが前記配送先で客の対応をする予定、前記ユーザが前記配送先で仕事する予定、前記ユーザが前記配送先で勉強する予定、前記ユーザが前記配送先で入浴する予定、前記ユーザが前記配送先で睡眠する予定、及び、前記ユーザが前記配送先でゲームをして遊ぶ予定の少なくとも1つを含む、
ことを特徴とする請求項1から10のいずれか一項に記載の情報処理装置。
【請求項12】
ユーザへの荷物の配送時間帯を決定する決定部と、
前記ユーザが、前記荷物の配送先で行う行動の予定である行動予定の時間帯を表す情報を取得する取得部と、
前記配送時間帯に前記行動予定の前記時間帯が重なる場合、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように配送計画を生成する生成部と、
を備えることを特徴とするシステム。
【請求項13】
ユーザへの荷物の配送時間帯を決定する決定部と、
前記荷物の配送先における前記ユーザの行動予定の時間帯を表す情報と、前記行動予定の種別を表す情報と、を取得する取得部と、
前記配送時間帯に前記荷物が配送されるように配送計画を生成し、かつ、
(1)前記配送時間帯に前記行動予定の前記時間帯が重なる場合であり、かつ、前記荷物が前記配送先に配送される時間帯として指定された指定時間帯の終了時刻よりも、前記行動予定の前記時間帯の終了時刻が遅い場合に、取得された前記情報で表される前記種別が、予め定められた種別であると、前記配送時間帯に前記荷物が前記配送先に配送されるように生成された前記配送計画を維持し、かつ、
(2)前記配送時間帯に前記行動予定の前記時間帯が重なる前記場合であり、かつ、前記行動予定の前記時間帯の前記終了時刻が前記指定時間帯の前記終了時刻以前である場合に、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように、前記配送計画を変更する、
生成部と、
を備えることを特徴とするシステム。
【請求項14】
ユーザへの荷物の配送時間帯を決定する決定部と、
前記荷物の配送先における前記ユーザの行動予定の時間帯を表す情報を取得する取得部と、
前記配送時間帯に前記行動予定の前記時間帯が重なる場合、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように配送計画を生成する生成部と、
生成された前記配送計画に基づいて、前記行動予定の終了時刻に、前記配送先へ配送機が到着するように前記配送機を制御することで、前記荷物を前記配送先へ前記配送機に配送させる制御部と、
を備えることを特徴とするシステム。
【請求項15】
情報処理装置又はシステムが実行する方法であって、
ユーザへの荷物の配送時間帯を決定する決定ステップと、
前記ユーザが、前記荷物の配送先で行う行動の予定である行動予定の時間帯を表す情報を取得する取得ステップと、
前記配送時間帯に前記行動予定の前記時間帯が重なる場合、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように配送計画を生成する生成ステップと、
を含むことを特徴とする方法。
【請求項16】
情報処理装置又はシステムが実行する方法であって、
ユーザへの荷物の配送時間帯を決定する決定ステップと、
前記荷物の配送先における前記ユーザの行動予定の時間帯を表す情報と、前記行動予定の種別を表す情報と、を取得する取得ステップと、
前記配送時間帯に前記荷物が配送されるように配送計画を生成し、かつ、
(1)前記配送時間帯に前記行動予定の前記時間帯が重なる場合であり、かつ、前記荷物が前記配送先に配送される時間帯として指定された指定時間帯の終了時刻よりも、前記行動予定の前記時間帯の終了時刻が遅い場合に、取得された前記情報で表される前記種別が、予め定められた種別であると、前記配送時間帯に前記荷物が前記配送先に配送されるように生成された前記配送計画を維持し、かつ、
(2)前記配送時間帯に前記行動予定の前記時間帯が重なる前記場合であり、かつ、前記行動予定の前記時間帯の前記終了時刻が前記指定時間帯の前記終了時刻以前である場合に、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように、前記配送計画を変更する、
生成ステップと、
を含むことを特徴とする方法。
【請求項17】
情報処理装置又はシステムが実行する方法であって、
ユーザへの荷物の配送時間帯を決定する決定ステップと、
前記荷物の配送先における前記ユーザの行動予定の時間帯を表す情報を取得する取得ステップと、
前記配送時間帯に前記行動予定の前記時間帯が重なる場合、重なる時間帯に含まれる時刻と異なる時刻に前記荷物が配送されるように配送計画を生成する生成ステップと、
生成された前記配送計画に基づいて、前記行動予定の終了時刻に、前記配送先へ配送機が到着するように前記配送機を制御することで、前記荷物を前記配送先へ前記配送機に配送させる制御ステップと、
を含むことを特徴とする方法。