以下、図面を参照して、実施形態について詳細に説明する。なお、以下に説明する実施形態によりこの発明が限定されるものではない。
図1は、実施形態に係る移動販売システムの構成の一例を示す図である。図1に示すように、移動販売システム1は、移動販売ロボット10と、ユーザ端末20と、サーバ装置30とを有する。移動販売ロボット10、ユーザ端末20及びサーバ装置30は、LAN(Local Area network)等のネットワークNに接続される。
移動販売ロボット10は、商品の搬送と販売とを無人で行う自走式の販売装置であり、移動販売装置の一例である。例えば、移動販売ロボット10は、ショッピングモール等の予め定められた範囲内を走行し、走行先の各位置において商品の販売を行う。移動販売ロボット10は、予め定められた経路で走行する巡回走行と、顧客によって指定された呼出位置に向かう呼出走行とを行う。なお、移動販売ロボット10の台数は、図1の例に限らないものとする。
ここで、図2~図4を参照して、移動販売ロボット10の外観構成について説明する。図2~図4は、移動販売ロボット10の外観構成の一例を示す斜視図である。
なお、図2~図4では、互いに直交するX軸、Y軸及びZ軸の3軸方向を用いて移動販売ロボット10の構成を説明する。X軸は、移動販売ロボット10を前後に貫き、移動販売ロボット10の後方から前方に向かう軸である。Y軸は、移動販売ロボット10を左右に貫き、移動販売ロボット10の左側から右側に向かう軸である。Z軸は、移動販売ロボット10を上下に貫き、移動販売ロボット10の下方から上方に向かう軸である。以下では、移動販売ロボット10の左側(Y軸負方向側)を移動販売ロボット10の正面側ともいう。また、移動販売ロボット10の右側(Y軸正方向側)を移動販売ロボット10の背面側ともいう。
移動販売ロボット10は、本体部11と、移動部12と、ユーザインタフェース部13とを備える。本体部11は、正面及び背面側が開放された箱状の筐体で形成される。本体部11の内部には収容部111が設けられる。
収容部111は、食料品等の販売する商品Cを収容するための空間であり、搭載部の一例である。収容部111には、商品Cを陳列可能な棚112が、移動販売ロボット10の前後方向に亘って、上下多段に配設される。商品Cは、移動販売ロボット10を管理する店員等によって、棚112の上に載置される。収容部111に収容される商品Cは、食料品に限らず、医薬品、レジャー用品など他のジャンルの商品であってもよい。また、収容部111は、複数のジャンルの商品Cを収容するものであってもよい。
なお、棚112は、例えば同一種別の商品Cを分類して載置するため、複数の領域に区分されてもよい。この場合、棚112は、例えばトレイ等を用いることで、複数の領域に区分されてもよい。
棚112の正面側には、商品Cの名称や価格を表示するための棚札113が設けられる。棚札113は、情報をデジタル表示する、電子棚札やデジタルサイネージであってもよい。また、棚112の各々には、棚112に載置された商品Cの重量を検出可能な重量検知部159(図5参照)が設けられる。重量検知部159は、重量変化を検知することにより、棚112に載置された商品が当該棚112から取り出されたこと、あるいは商品が当該棚112に戻されたことを検知するためのものである。重量検知部の詳細は後述する。
なお、本実施形態では、棚112の正面側に棚札113を設けたが、棚112の背面側にも棚札113を設ける構成としてもよい。また、本実施形態では、本体部11(収容部111)の正面側及び背面側の両方を開放する構成としたが、一方(例えば正面側)を開放する構成としてもよい。
また、本体部11(収容部111)の正面側及び背面側の何れか一方又は両方に、ガラスなどの光透過性の部材で形成した扉部を開閉可能に取り付け、扉部を介して収容部111内にアクセス可能な構成としてもよい。例えば、本体部11の正面側に扉部を取り付け、本体部11の背面側を壁面で覆う形態としてもよい。また、この場合、背面側の壁面は、ガラス等の光透過性の部材を用いて形成してもよい。これにより、移動販売ロボット10の移動時等に、収容部111内の商品が収容部111外に落ちてしまうことを防止することができる。
さらには、上記扉部に電子錠等を設けることでロック可能な構成としてもよい。これにより、例えば、移動販売ロボット10の移動時等に収容部111内の商品が不正に取り出されることを防止することもできる。
本体部11の前方側には、発光部114と測距センサ115とが設けられる。発光部114は、LED(Light Emitting Diode)等の発光素子を有し、後述する制御部154の制御にしたがい発光することで、移動販売ロボット10の動作状態を報知する。例えば、発光部114は、移動販売ロボット10の移動時に発光することで、移動販売ロボット10が移動中であることを報知する。
なお、発光部114の発光色は単色に限らないものとする。例えば、発光部114は、移動販売ロボット10の動作状態に応じて、発光色を異ならせたり、発光パターンを変えたりしてもよい。また、発光部114は、本体部11の前方側に限らず、後方側に設けてもよい。
測距センサ115は、移動販売ロボット10の周辺に存在する物体を検知したり、物体までの距離を検知したりするためのセンサ装置である。測距センサ115のセンシング結果は、後述する制御部154に出力され、移動時の衝突回避やユーザの検知等に使用される。測距センサ115は、例えば撮像画像や超音波により物体検知や距離の測定を行うセンサ装置、レーザ光により物体検知を行うLiDAR(Light Detection and ranging)等のセンサ装置で実現することができる。
なお、測距センサ115が設けられる位置は、移動販売ロボット10の前方に限らないものとする。例えば、測距センサ115は、移動販売ロボット10の後方等、他の位置に設けてもよい。また、後述する撮像部134を測距センサ115として用いてもよい。
移動部12は、本体部11の下方に設けられ、本体部11を移動可能に支持する。具体的には、移動部12は、非駆動輪121と、駆動輪122と、駆動輪122を駆動する駆動部123とを備える。
非駆動輪121は、小型の車輪である。非駆動輪121は、駆動輪122の回転によって生じる力の向きに応じて自由に向きを変えることで、移動販売ロボット10(移動部12)の進行方向を変える。
駆動輪122は、駆動部123によって回転駆動されることにより、移動販売ロボット10(移動部12)を前進又は後退させる。
駆動部123は、モータや電源等の駆動源を有する。駆動部123は、後述する制御部154の制御に従い、駆動輪122を回転駆動することで、制御部154が指示した方向及び位置に移動販売ロボット10(移動部12)を移動させる。
例えば、駆動部123は、左右一対の駆動輪122を、同じ速度で回転又は逆回転させることで、移動販売ロボット10を前方又は後方に移動させる。また、駆動部123は、左右一対の駆動輪122の回転速度を相違させることで、移動販売ロボット10の進行方向を左方又は右方に変移させる。なお、移動部12が備える車輪の数や駆動方法は、上記例に限定されないものとする。
ユーザインタフェース部13は、本体部11の上部に設けられる。ユーザインタフェース部13は、第1表示部131、第2表示部132、第3表示部133、撮像部134、及び消毒装置135等を備える。
第1表示部131は、移動販売ロボット10の正面側に設置される表示デバイスである。第2表示部132は、移動販売ロボット10の背面側に設置される表示デバイスである。第3表示部133は、移動販売ロボット10の後方側に設置される表示デバイスである。第1表示部131、第2表示部132及び第3表示部133は、後述する制御部154の制御に従い、商品Cの販売等に係る各種の情報を表示する。
撮像部134は、移動販売ロボット10の後方側に設置される。撮像部134は、CCD(Charge Coupled Device)やCMOS(Complementary MOS)等の撮像素子を有するデジタルカメラである。撮像部134は、移動販売ロボット10を利用するユーザを撮像することで、ユーザの顔画像等を取得する。
消毒装置135は、移動販売ロボット10を利用するユーザが消毒を行うための装置である。本実施形態において、消毒とは、対象物に存在する病原性のある細菌、ウイルス、その他微生物を死滅させて(又は除去して)害のない程度にすることをいう。また、消毒は、除菌、殺菌、又は滅菌に読み替え可能であるものとする。
消毒装置135の装置構成は特に問わないものとする。例えば、消毒装置135は、アルコール等の消毒液を噴霧する噴霧器であってもよい。また、消毒装置135は、紫外線を照射する紫外線消毒装置であってもよい。消毒装置135は、ユーザ操作に応じて、消毒液の噴霧や紫外線の照射等、消毒動作を行う。
また、消毒装置135の動作状況は、後述する制御部154に電気的に出力される構成としてもよい。この場合、例えば、ユーザインタフェース部13又は消毒装置135は、消毒装置135の消毒動作を検知するセンサ装置(以下、消毒動作検知部ともいう)を備える。そして、消毒動作検知部は、消毒装置135で消毒動作が行われたことを検知すると、後述する制御部154に検知信号を出力する。
なお、ユーザインタフェース部13の構成は、図示例に限定されないものとする。例えば、ユーザインタフェース部13が備える表示デバイスの個数や設置位置は、図示例に限らないものとする。また、ユーザインタフェース部13は、消毒装置135を備えない構成としてもよい。さらに、ユーザインタフェース部13は、二次元コード等のコードシンボルに保持された情報を読み取るリーダ装置や、ICカードやクレジットカード等のカード媒体から情報を読み取るリーダ装置等を備えてもよい。
図1に戻り、ユーザ端末20は、移動販売システム1のユーザが使用する装置であって、端末装置の一例である。ユーザ端末20は、スマートフォンやタブレット端末等の携帯型の端末装置によって実現される。ユーザ端末20は、ユーザから移動販売ロボット10の呼び出しを要求する呼出要求を受け付け、受け付けた呼出要求をサーバ装置30に送信する。なお、ユーザ端末20の台数は、図1の例に限らないものとする。
サーバ装置30は、移動販売システム1を管理する。サーバ装置30は、例えば、PC(Personal Computer)等の情報処理装置によって実現される。サーバ装置30は、移動販売ロボット10の各々が販売する商品を管理する。また、サーバ装置30は、移動販売ロボット10を管理して、ユーザ端末20から受信した呼出要求で指定された呼出位置に当該移動販売ロボット10を走行させる。例えば、サーバ装置30は、移動販売ロボット10及びユーザ端末20の現在位置を管理し、ユーザ端末20から移動販売ロボット10の呼出要求を受け付けると、当該呼出要求で指定された移動販売ロボット10をユーザ端末20の位置に向けて走行させる。
以下、移動販売システム1が有する各装置のハードウェア構成及び機能構成について説明する。
まず、移動販売ロボット10のハードウェア構成について説明する。図5は、移動販売ロボット10のハードウェア構成の一例を示す図である。図5に示すように、移動販売ロボット10は、CPU(Central Processing Unit)151と、ROM(Read Only Memory)152と、RAM(Random Access Memory)153とを備える。
CPU151は、プロセッサの一例であり、移動販売ロボット10の各部を統括的に制御する。ROM152は、各種プログラムを記憶する。RAM153は、プログラムや各種データを展開するワークスペースである。
CPU151、ROM152、及びRAM153は、バス等を介して接続され、コンピュータ構成の制御部154を構成する。制御部154では、CPU151が記憶部162に記憶されRAM153に展開されたプログラムに従って動作することによって、各種の処理を実行する。
また、移動販売ロボット10は、上述した発光部114、駆動部123、及び撮像部134を備える。また、移動販売ロボット10は、表示部155、操作部156、収音部157、センサ部158、重量検知部159、測位部160、通信部161、及び記憶部162等を備える。
表示部155は、上述した第1表示部131、第2表示部132、及び第3表示部133等の表示デバイスである。表示部155は、LCD(Liquid Crystal Display)等で構成される。表示部155は、CPU151の制御の下、各種の情報を表示する。なお、棚札113が電子棚札である場合、表示部155は当該電子棚札を含むものとする。
操作部156は、キーボード、ポインティングデバイス等の入力デバイスである。操作部156は、ユーザから受け付けた操作内容をCPU151に出力する。なお、操作部156は、表示部155の表示画面に設けられるタッチパネルであってもよい。
収音部157は、移動販売ロボット10周辺の音声を収音し、収音した音声の音声信号をCPU151に出力する。収音部157は、例えば、マイクロフォン等の収音装置で実現される。収音部157は、例えば、移動販売ロボット10の巡回走行中に商品の購入を希望するユーザから走行を停止させるための音声を収音する。
センサ部158は、上述した測距センサ115、消毒動作検知部等のセンサ装置である。センサ部158は、センシングによって得られた検知結果をCPU151に出力する。
重量検知部159は、収容部111に収容された商品の重量を検知する重量センサである。具体的には、重量検知部159は、棚112の各々に設けられ、棚112に載置された商品の重量や重量変化を検知する。
ここで、棚112の各々と、当該棚112に設けられる重量検知部159とは、予め関連付けられており、重量検知部159で重量変化が検知された場合には、変化のあった棚112を特定することが可能であるとする。
なお、棚112が、複数の領域に区分される場合には、区分された領域毎に重量検知部159を設けてもよい。この場合、区分された各領域と、当該領域に設けられる重量検知部159とが関連付けられるものとする。
測位部160は、移動販売ロボット10が存在する位置を測定する。測位部160は、例えばGPS(Global Positioning System)等の測位技術を用いた測位装置によって実現することができる。
また、測位部160は、ビーコン測位、RFID(Radio Frequency Identifier)測位等の測位技術を利用した位置計測装置によって実現してもよい。この場合、移動販売ロボット10が移動可能な範囲の各位置に、ビーコン測位やRFID測位等の測位技術に対応した端末を設けることで、当該端末と測位部160とで形成される測位システムにより、移動販売ロボット10が存在する位置を測定(特定)することができる。
通信部161は、ネットワークNに接続可能な無線通信インタフェースである。通信部161は、ネットワークNを介してサーバ装置30等の外部装置と通信を行う。
記憶部162は、HDD(Hard Disk Drive)やフラッシュメモリ等の記憶媒体を有し、電源を遮断しても記憶内容を維持する。記憶部162は、CPU151が実行することが可能なプログラムや各種の設定情報を記憶する。
また、記憶部162は、マップ情報1621と、商品マスタ1622と、収容商品テーブル1623とを記憶する。ここで、マップ情報1621は、移動販売ロボット10が移動する範囲のマップを示した情報である。
商品マスタ1622は、販売対象の商品に関する情報を記憶したデータテーブルである。図6は、商品マスタ1622のデータ構成の一例を示す図である。図6に示すように、商品マスタ1622は、商品を識別する商品コードに関連付けて、当該商品コードに対応する商品の商品情報を記憶する。商品情報は、例えば、商品名、種別、価格、重量、及び画像データ等を含む。
なお、商品マスタ1622のデータ構成は、図6の例に限定されるものではない。例えば、商品マスタ1622は、商品の特徴を表す画像データを商品情報に含めて記憶してもよい。
また、記憶部162は、商品マスタ1622を記憶しない構成としてもよい。この場合、移動販売ロボット10は、サーバ装置30に記憶された商品マスタ3162を参照することで、商品マスタ1622を保持する構成と同様に商品マスタ3162を取り扱うことができる。
収容商品テーブル1623は、収容部111に収容された商品に関する情報を記憶するためのデータテーブルである。図7は、収容商品テーブル1623のデータ構成の一例を示す図である。図7に示すように、収容商品テーブル1623は、収容部111に設けられた棚112の各々を識別可能な棚IDに関連付けて、当該棚IDの棚112に載置される商品の商品コードと、載置された商品の数量とを記憶する。
なお、収容商品テーブル1623のデータ構成は、図7の例に限定されるものではない。例えば、棚112が、複数の領域に区分される場合には、収容商品テーブル1623は、区分された領域毎に識別子を割り当て、当該領域に載置される商品の商品コードと、数量とを関連付けて記憶してもよい。
次に、ユーザ端末20のハードウェア構成について説明する。図8は、ユーザ端末20のハードウェア構成の一例を示す図である。図8に示すように、ユーザ端末20は、CPU211と、ROM212と、RAM213とを備える。
CPU211は、プロセッサの一例であり、ユーザ端末20の各部を統括的に制御する。ROM212は、各種プログラムを記憶する。RAM213は、プログラムや各種データを展開するワークスペースである。
CPU211、ROM212、及びRAM213は、バス等を介して接続され、コンピュータ構成の制御部214を構成する。制御部214では、CPU211が記憶部220に記憶されRAM213に展開されたプログラムに従って動作することによって、各種の処理を実行する。
また、ユーザ端末20は、表示部215、操作部216、撮像部217、測位部218、通信部219、及び記憶部220等を備える。
表示部215は、表示デバイスであり、例えばLCD等で構成される。表示部215は、CPU211の制御の下、各種の情報を表示する。操作部216は、キーボード、ポインティングデバイス等の入力デバイスである。操作部216は、ユーザから受け付けた操作内容をCPU211に出力する。なお、操作部216は、表示部215の表示画面に設けられるタッチパネルであってもよい。
撮像部217は、CCDやCMOS等の撮像素子を有するデジタルカメラである。撮像部217は、ユーザ端末20を使用するユーザを撮像することで、ユーザの顔画像等を取得する。
測位部218は、ユーザ端末20が存在する位置を測定する。測位部218は、例えばGPS等の測位技術を用いた測位装置によって実現することができる。また、測位部218は、上述した測位部160と同様に、ビーコン測位、RFID測位等の測位技術を利用した位置計測装置によって実現してもよい。
通信部219は、ネットワークNに接続可能な無線通信インタフェースである。通信部219は、ネットワークNを介してサーバ装置30等の外部装置と通信を行う。
記憶部220は、HDDやフラッシュメモリ等の記憶媒体を有し、電源を遮断しても記憶内容を維持する。記憶部220は、CPU211が実行することが可能なプログラム(移動販売システム1の処理に関するアプリケーションプログラムを含む)や各種の設定情報を記憶する。
また、記憶部220は、マップ情報2201等を記憶する。ここで、マップ情報2201は、マップ情報1621と同様、移動販売ロボット10が移動する範囲のマップを示した情報である。
次に、サーバ装置30のハードウェア構成について説明する。図9は、サーバ装置30のハードウェア構成の一例を示す図である。図9に示すように、サーバ装置30は、CPU311と、ROM312と、RAM313とを備える。
CPU311は、プロセッサの一例であり、サーバ装置30の各部を統括的に制御する。ROM312は、各種プログラムを記憶する。RAM313は、プログラムや各種データを展開するワークスペースである。
CPU311、ROM312、及びRAM313は、バス等を介して接続され、コンピュータ構成の制御部314を構成する。制御部314では、CPU311が記憶部316に記憶されRAM313に展開されたプログラムに従って動作することによって、各種の処理を実行する。
また、サーバ装置30は、通信部315及び記憶部316等を備える。通信部315は、ネットワークNに接続可能な有線又は無線の通信インタフェースである。通信部315は、ネットワークNを介して移動販売ロボット10、ユーザ端末20等の外部装置と通信を行う。
記憶部316は、HDDやフラッシュメモリ等の記憶媒体を有し、電源を遮断しても記憶内容を維持する。記憶部316は、CPU311が実行することが可能なプログラムや各種の設定情報を記憶する。
また、記憶部316は、マップ情報3161と、商品マスタ3162とを記憶する。マップ情報3161は、移動販売ロボット10が移動する範囲のマップを示した情報である。商品マスタ3162は、販売対象の商品に関する情報を記憶したデータテーブルである。なお、商品マスタ3162のデータ構成は、上述した商品マスタ1622と同様である。
また、記憶部316は、ロボット管理テーブル3163、商品管理テーブル3164、ユーザ管理テーブル3165、呼出管理テーブル3166、及び取引管理テーブル3167等を記憶する。
ロボット管理テーブル3163は、移動販売ロボット10の位置及び状態を管理するためのデータテーブルである。図10は、ロボット管理テーブル3163のデータ構成の一例を示す図である。図10に示すように、ロボット管理テーブル3163は、ロボットIDに関連付けて、当該ロボットIDに対応する移動販売ロボット10の現在位置を示す位置情報と、移動販売ロボット10の状態を示す状態情報とを記憶する。ロボットIDは、移動販売ロボット10を特定するものであり、移動販売装置特定情報の一例である。
ここで、位置情報は、経度・緯度等の座標値で示されてもよい。また、位置情報は、移動販売ロボット10が移動可能な範囲を複数のブロックに分割した、ブロック番号等で示されてもよい。
移動販売ロボット10の状態は、例えば、移動販売ロボット10がユーザによって指定された呼出位置に移動する「移動中」の状態にあること、移動販売ロボット10が呼出位置に到着し、取引開始の操作を待機する「取引待機中」の状態にあること、ユーザ操作により取引が開始された「取引中」の状態にあること、等が挙げられる。また、移動販売ロボット10の状態は、移動販売ロボット10の巡回時等、ユーザからの呼び出しに応じることが可能な「呼出待機中」の状態にあること、商品の補充等で移動販売ロボット10による販売を行うことができない「販売不可」の状態にあること、等が挙げられる。
なお、ロボット管理テーブル3163に記憶される情報は、後述する情報管理部3142の制御により、移動販売ロボット10の移動や移動販売ロボット10の状態に応じて更新される。
商品管理テーブル3164は、移動販売ロボット10の各々で販売される商品を管理するためのデータテーブルである。図11は、商品管理テーブル3164のデータ構成の一例を示す図である。図11に示すように、商品管理テーブル3164は、ロボットIDに関連付けて、当該ロボットIDの移動販売ロボット10が販売する商品の商品コードと、その商品の在庫数とを記憶する。
商品管理テーブル3164に記憶される情報は、後述する情報管理部3142の制御により、移動販売ロボット10が保持する商品の在庫数に応じて更新される。
ユーザ管理テーブル3165は、移動販売システム1を利用するユーザを管理するためのデータテーブルである。図12は、ユーザ管理テーブル3165のデータ構成の一例を示す図である。図12に示すように、ユーザ管理テーブル3165は、各ユーザを識別可能なユーザIDに関連付けて、当該ユーザIDのユーザに関するユーザ情報を記憶する。
ユーザ情報は、ユーザの顔部の特徴を示した特徴情報と、電子決済に使用する決済用情報とを含む。特徴情報は、例えばユーザの顔部を撮像した顔画像データや、顔部の特徴を示す特徴量等であり、後述する顔認証処理において照合用データとして使用されるものである。
決済用情報は、ユーザが予め契約した電子決済サービスを利用するためのアカウント等の情報である。ここで、電子決済サービスは、コード決済、電子マネー決済、クレジット決済などを含む。また、電子決済サービスがクレジット決済である場合、上記決済用情報はユーザが所有するクレジットカードの番号であってもよい。
ユーザ情報は、例えば、公知の会員登録等の方法によりユーザから取得され、ユーザ管理テーブル3165に登録される。ユーザIDは、自動で割り当てる形態としてもよいし、ユーザが入力したユニークな情報を用いる形態としてもよい。
なお、ユーザ情報は上記例に限らず、他の情報を含んでもよい。例えば、ユーザ情報は、ユーザの氏名や年齢、住所等の個人情報を含んでもよい。また、ユーザ情報は、ユーザが使用する端末(ユーザ端末20)の端末IDや当該端末の通信アドレス等を含んでもよい。
呼出管理テーブル3166は、ユーザ端末20による移動販売ロボット10の呼び出しを管理するためのデータテーブルである。図13は、呼出管理テーブル3166のデータ構成の一例を示す図である。図13に示すように、呼出管理テーブル3166は、呼び出しを行ったユーザ端末20の端末ID、呼び出しを受け付けた日時(呼出日時)、呼出位置を示す位置情報(以下、単に「呼出位置」ともいう)、呼び出しに対応する移動販売ロボット10のロボットID、及び呼出位置に当該移動販売ロボット10が到着した日時(到着日時)等を関連付けて記憶する。
取引管理テーブル3167は、移動販売ロボット10を介した取引を管理するためのデータテーブルである。図14は、取引管理テーブル3167のデータ構成の一例を示す図である。図14に示すように、取引管理テーブル3167は、取引を識別する取引IDに関連付けて、取引を行うユーザのユーザID、当該取引で登録された商品の商品コード、決済フラグ等を記憶する。ここで、決済フラグは、取引の決済状況を示すフラグ情報である。決済フラグには、例えば、未決済の状態か、決済済の状態か、取引(決済)を保留中の状態かを判別可能なフラグ情報が格納される。
なお、取引管理テーブル3167は、商品コードに関連付けて、当該商品コードに対応する商品の登録が行われた移動販売ロボット10、つまり商品の取り出しが行われた移動販売ロボット10のロボットIDを記憶してもよい。また、取引管理テーブル3167は、商品コードに関連付けて、当該商品コードを記憶した日時、つまり商品の登録を行った日時を記憶してもよい。
続いて、移動販売システム1を構成する各装置の機能構成について説明する。図15は、移動販売システム1を構成する各装置の機能構成を示したブロック図である。まず、移動販売ロボット10について説明する。
移動販売ロボット10の制御部154は、CPU151がROM152や記憶部162に記憶されたプログラムにしたがって動作することで、送受信部1541、入力受付部1542、自己位置特定部1543、走行制御部1544、表示制御部1545、販売支援部1546、及び状態管理部1547を機能部として実現する。なお、これら各機能は専用回路等のハードウェアで構成してもよい。
送受信部1541は、通信部161を介してサーバ装置30などの外部装置との間で各種情報を送受信する。例えば、送受信部1541は、自装置の位置を示す位置情報、自装置の状態を示す状態情報、自装置が収容する商品の商品コード及び在庫数等を、随時、サーバ装置30に送信する。また、送受信部1541は、後述する取引開始要求、登録要求、決済要求、取引中断要求等をサーバ装置30に送信する。また、送受信部1541は、取引IDや、後述する既存商品コード、決済完了通知、中断完了通知等をサーバ装置30から受信する。
入力受付部1542は、操作部156及び撮像部134を介して各種の入力情報を受付ける。例えば、入力受付部1542は、操作部156を介して取引の開始や保留を指示する情報、決済開始を指示する情報の入力を受付ける。また、入力受付部1542は、撮像部134を介してユーザの顔画像データ等の特徴情報の入力を受け付ける。
自己位置特定部1543は、測位部160の出力に基づいて、マップ情報2201における移動販売ロボット10の現在位置を特定する。また、自己位置特定部1543は、移動販売ロボット10の現在位置を示す位置情報を、ロボットIDと関連付けて、サーバ装置30に送信する。
走行制御部1544は、駆動部123を制御して移動販売ロボット10の走行を制御する。例えば、移動販売ロボット10は、走行制御部1544の制御によって、予め定められた経路で走行する巡回走行、及び顧客によって指定された呼出位置に向かう呼出走行を行う。
具体的には、走行制御部1544は、送受信部1541がサーバ装置30から移動指示を受信すると、自己位置特定部1543が特定した位置と、マップ情報1621とに基づいて、呼出位置までの移動ルートを決定する。そして、走行制御部1544は、決定した移動ルートに基づき、移動販売ロボット10を呼出位置まで走行させる。また、走行制御部1544は、測距センサ115等のセンシング結果に基づき、移動経路上に障害物等の物体を検知した場合には、当該物体を迂回するように移動販売ロボット10を走行させる。
なお、移動ルートの決定や、障害物の検知及び迂回に係る制御方法は特に問わず、例えば、公知のカーナビゲーション技術や、自動運転技術等を用いてもよい。
また、走行制御部1544は、収容部111に収容された何れかの商品、あるいは全ての商品の在庫がなくなったことが検知されると、商品補充のため、移動販売ロボット10を例えばバックヤードの所定位置に移動させる。なお、移動販売ロボット10がショッピングモール等を走行するものである場合、走行制御部1544は、移動販売ロボット10を在庫がなくなった商品を販売する店舗に移動させてもよい。
また、走行制御部1544は、収音部157が周辺から収音した音声を音声認識し、必要に応じて駆動部123に停止指示を出力する。例えば、走行制御部1544は、音声認識により移動販売ロボット10を停止させるための音声を認識すると、移動販売ロボット10を停止させる。
表示制御部1545は、表示部155を制御し、各種の情報を表示部155に表示させる。例えば、表示制御部1545は、販売支援部1546と協働することで、各種の画面(GUI:Graphical User Interface)を表示部155に表示させる。
販売支援部1546は、取得手段、検知手段、第1送信手段の一例である。販売支援部1546は、自装置が備える他の機能部、及びサーバ装置30と協働することで、移動販売ロボット10で販売する商品の購入を支援するための各種の処理を実行する。また、販売支援部1546は、表示制御部1545と協働することで、移動販売ロボット10で販売する商品の購入を支援するための各種の画面を表示部155に表示させる。
例えば、販売支援部1546は、取引開始の指示に応じて、取引を行うユーザの顔画像の撮像を促す画面を表示部155に表示させる。具体的には、販売支援部1546は、撮像部134で顔画像を撮像することを促す認証画面を、第1表示部131、第2表示部132及び第3表示部133の何れかに表示させる。
ここで、取引開始の指示は、操作部156を介したユーザ操作に限らないものとする。例えば、移動販売ロボット10が呼び出し位置に到達したことを、取引開始のトリガとしてもよい。また、撮像部134で顔画像が撮像されたことを、取引開始のトリガとしてもよい。また、消毒装置135の操作が行われたことを、取引開始のトリガとしてもよい。また、収音部157が収音した音声に、商品の購入を要求する音声等、所定の音声が含まれていたことを、取引開始のトリガとしてもよい。なお、音声を取引開始のトリガとする場合には、移動販売ロボット10の状態が巡回走行中の際に制限することが好ましい。
図16は、移動販売ロボット10の表示部155に表示される認証画面の一例を示す図である。図16は、第3表示部133に表示される認証画面の一例を示している。
図16に示すように、認証画面40は、撮像部134が撮像する画像を表示するための画像表示領域41を有する。画像表示領域41には、撮像部134が撮像する画像がリアルタイムで表示される。また、画像表示領域41には、撮影枠42が重畳して表示される。ここで、撮影枠42は、撮像部134が撮像する範囲内において、ユーザの顔が位置する領域を指示するためのものである。移動販売ロボット10を利用するユーザは、認証画面40に写った自身の顔の位置が撮影枠42の内側に入るように顔の位置を調整する。
販売支援部1546は、撮影枠42の内側に顔が入ると、撮像部134が撮像した画像を顔画像データとして取得し、当該顔画像データを含んだ取引開始要求をサーバ装置30に送信する。取引開始要求を受信したサーバ装置30では、後述するように、要求元の移動販売ロボット10に取引IDを含んだ取引開始通知を送信する。
販売支援部1546は、サーバ装置30から送受信部1541が取引開始通知を受信すると、取引開始通知に含まれた取引IDをRAM153に保持し、当該取引IDに係る取引を開始する。具体的には、販売支援部1546は、自己の移動販売ロボット10を、商品の登録及び決済を行うことが可能な状態とする。なお、販売支援部1546は、取引開始要求の送信に伴い、サーバ装置30から商品コードを含んだ取引開始通知が送信された場合、当該商品コードを既存商品コードとして、取引IDとともにRAM153に保持する。
ここで、既存商品コードは、後述するように、移動販売ロボット10を利用中のユーザが、他の移動販売ロボット10から取り出した商品のうち、決済が未完了の商品の商品コードを意味する。
販売支援部1546は、取引の開始後、重量検知部159を介して棚112の重量変化を検知すると、収容商品テーブル1623から、当該重量変化のあった棚112の棚IDに対応する商品コードを読み出し、棚112から取り出された商品又は棚112に戻された商品を特定する。
例えば、販売支援部1546は、重量変化が重量の減少である場合、重量変化のあった棚112の棚IDに関連付けて記憶された商品コードを読み出す。そして、販売支援部1546は、商品マスタ1622を参照し、読み出した商品コードに関連付けられた重量のうち、減少した重量に対応する商品コードを特定することで、棚112から取り出された商品を特定する。この場合、販売支援部1546は、特定した商品コードを商品マスタ1622から読み出し、RAM153に保持することで、商品の登録を行う。また、販売支援部1546は、収容商品テーブル1623に記憶された、特定した商品コードの数量を、棚112から取り出された商品の個数分減算する。さらに、販売支援部1546は、特定した商品コードと取引IDとを含んだ登録要求をサーバ装置30に送信する。これにより、サーバ装置30は、登録要求に基づき、取引管理テーブル3167の該当する取引IDに関連付けて、登録要求で指定された商品コードの登録を行う。
なお、販売支援部1546は、棚112から商品が取り出される度に、上述した処理を実行することで、棚112から商品が取り出された商品を順次登録する。以下では、ユーザが利用中の移動販売ロボット10において、販売支援部1546によって登録された商品コードを、新規商品コードとも表記する。つまり、ユーザが利用中の移動販売ロボット10で登録された商品コードは全て新規商品コードとなる。
一方、重量変化が重量の増加である場合、販売支援部1546は、重量変化のあった棚112の棚IDに関連付けて記憶された商品コードを読み出す。そして、販売支援部1546は、商品マスタ1622を参照し、読み出した商品コードに関連付けられた重量のうち、増加した重量に対応する商品コードを特定することで、棚112に戻された商品を特定する。この場合、販売支援部1546は、RAM153に保持された新規商品コードの中から、特定した商品コードを削除する。また、販売支援部1546は、収容商品テーブル1623に記憶された、特定した商品コードの数量を、棚112に戻された商品の個数分増加させる。さらに、販売支援部1546は、特定した商品コードと取引IDとを含んだ取消要求をサーバ装置30に送信する。これにより、サーバ装置30は、取消要求に基づき、取引管理テーブル3167の該当する取引IDに関連付けられた商品コードから、登録要求で指定された商品コードを削除する。
このように、移動販売ロボット10では、収容部111に対する商品の取り出し、又は商品の返却に応じて、商品の登録又は登録の取り消しを自動で行う。これにより、ユーザは、購入する商品の商品コードを読取るための操作や取り消すための操作を行う必要がない。したがって、ユーザは、商品の購入を簡便に行うことができる。
さらに、販売支援部1546は、RAM153に保持された商品コードに対応する商品の商品情報に基づき、商品の商品名等を一覧表示した商品登録画面を表示部155に表示させる。なお、販売支援部1546は、新規商品コードに対応する商品と、既存商品コードに対応する商品とを、識別可能な状態で表示させることが好ましい。
図17は、移動販売ロボット10の表示部155に表示される商品登録画面の一例を示す図である。図17は、第1表示部131に表示される商品登録画面の一例を示している。
図17に示すように、商品登録画面50には、ユーザが移動販売ロボット10から取り出した商品に関する情報が表示される。具体的には、商品登録画面50には、RAM153に保持された商品コードに対応する商品の商品アイコン51、商品名52、登録点数53、及び小計54が整列表示される。ここで、商品アイコン51は、商品を表す画像である。商品名52は、商品の名称である。登録点数53は、商品の個数を示す。また、小計54は、各商品の小計金額を示す。なお、各商品の小計金額は、販売支援部1546が、RAM153に保持された商品コードの商品毎の個数と、商品マスタ1622に記憶された対応する商品の価格とを乗算して導出する。
また、図17では、RAM153に保持された商品コードのうち、新規商品コードに対応する商品と、既存商品コードに対応する商品とを、識別可能に表示した例を示している。具体的には、図17では、新規商品コードに対応する「商品D」に、ハッチングを施して表示している。
これにより、ユーザは、商品登録画面を見ることで、自身が移動販売ロボット10から取り出した商品を容易に確認することができる。また、ユーザは、新規商品コードに対応する商品と、既存商品コードに対応する商品とを識別することができるため、現在利用中の移動販売ロボット10以外の他の移動販売ロボット10から取り出した商品を容易に確認することができる。
なお、既存商品コードに関連付けて、当該商品の取り出しが行われた移動販売ロボット10のロボットIDや、取出日時が保持されている場合には、販売支援部1546は、それらの情報を、対応する商品に関連付けて表示させてもよい。
また、商品登録画面50には、合計点数55と、合計金額56と、会計ボタン57と、取引中断ボタン58とが表示される。合計点数55は、登録された商品の合計点数である。合計金額56は、登録された商品の合計金額である。なお、合計点数は、販売支援部1546が、RAM153に保持された商品コードの個数を合算して導出する。また、商品の合計金額は、販売支援部1546が、各商品の小計金額を合算して導出する。
会計ボタン57は、商品の決済を指示するための操作子である。ユーザは、会計ボタン57を操作することで、商品の決済を行うことができる。
販売支援部1546は、会計ボタン57が操作されたことを検出すると、顔画像の撮像を促す画面を表示部155に表示させる。例えば、販売支援部1546は、上述した図16と同様の認証画面40を表示部155(表示部133)に表示させる。
販売支援部1546は、ユーザの顔画像データを取得すると、当該顔画像データと取引IDとを含んだ決済要求をサーバ装置30に送信する。決済要求を受信したサーバ装置30では、後述するように、顔画像データに対応するユーザのユーザIDをユーザ管理テーブル3165から特定し、ユーザIDに関連付けられた決済用情報を用いて、決済要求で指定された取引IDに係る商品の決済処理を実行する。そして、サーバ装置30では、決済処理が完了すると、要求元の移動販売ロボット10に決済完了通知を送信する。
販売支援部1546は、送受信部1541が決済完了通知を受信すると、決済が完了したことを報知する画面を表示部155に表示させる。
これにより、ユーザは、1又は複数の移動販売ロボット10から取り出した商品の決済を、任意の移動販売ロボット10を用いて行うことができる。したがって、ユーザは、任意の位置及びタイミングで、移動販売ロボット10から取り出した商品の決済を行うことができる。
なお、本実施形態では、取引開始時と決済時との2回に亘ってユーザの顔画像データを取得する例を説明したが、これに限らず、取引開始から決済完了(又は取引中断)までに顔画像データを1回取得する形態としてもよい。例えば、取引開始時に顔画像データを取得した場合には、この顔画像データをRAM153等に保持しておき、当該顔画像データを決済要求に含めて送信してもよい。また、取引開始から決済完了(又は取引中断)までの何れかのタイミングで顔画像データを取得した場合には、販売支援部1546は、決済完了(又は取引中断)が指示されたタイミングで、取引IDと顔画像データとを含んだ認証要求を送信してもよい。さらには、サーバ装置30において、一度送信された顔画像データの認証結果に基づき、決済処理を実行する形態としてもよい。
一方、取引中断ボタン58は、取引の中断を指示するための操作子である。ユーザは、取引中断ボタン58を操作することで、移動販売ロボット10で実行中の取引を中断することができる。
販売支援部1546は、取引中断ボタン58が操作されたことを検出すると、取引IDを含んだ取引中断要求をサーバ装置30に送信する。取引中断要求を受信したサーバ装置30では、後述するように、取引中断要求で指定された取引IDの決済フラグを「保留中」に更新し、要求元の移動販売ロボット10に中断完了通知を送信する。購入支援部2145は、送受信部2141が中断完了通知を受信すると、取引の中断が完了、または取引の状態を保留中にしたことを報知する画面を表示部215に表示させる。
なお、サーバ装置30は、決済フラグが「保留中」の取引IDに係るユーザが、移動販売ロボット10又はユーザ端末20からアクセスすると、当該取引IDに関連付けて取引管理テーブルに記憶された商品コード(つまり既存商品コード)を読み出す。そして、サーバ装置30は、読み出した商品コードをアクセス元の装置に送信し、取引を再開させる。
これにより、ユーザは、例えば他の移動販売ロボット10が販売する商品を続けて購入するような場合や、急用等でその場で決済を行うことができないような場合に、取引を一旦中断し、別のタイミングで取引を再開することができる。
なお、取引中断の指示は、取引中断ボタン58を介したユーザ操作に限らないものとする。例えば、収音部157が収音した音声に、取引中断を要求する音声等、所定の音声が含まれていたことを、取引開始のトリガとしてもよい。なお、音声を取引中断のトリガとする場合には、移動販売ロボット10の状態が取引中の時に制限することが好ましい。
また、上記の例では、商品の取り出しが行われる毎に登録要求を送信する形態としたが、登録要求を送信するタイミングはこれに限らないものとする。例えば、販売支援部1546は、決済指示又は中断指示が行われたタイミングで、それまでに登録された新規商品コードと取引IDとを含んだ登録要求をサーバ装置30に送信してもよい。
図15に戻り、状態管理部1547は、移動販売ロボット10の状態に応じて、当該状態を表す状態情報を更新する。例えば、状態管理部1547は、移動販売ロボット10が呼出位置に移動中の場合、状態情報を「移動中」の状態に更新する。また、例えば、状態管理部1547は、移動販売ロボット10が呼出位置に到着し、かつ取引開始の指示を受け付けていない場合、状態情報を「取引待機中」の状態に更新する。また、例えば、状態管理部1547は、取引開始の指示を受け付けると、状態情報を「取引中」の状態に更新する。また、状態管理部1547は、決済完了通知又は中断完了通知を受け付けると、状態情報を「取引待機中」の状態に更新する。
なお、状態管理部1547が更新する状態情報は、例えばRAM153等に保持され、更新される度に、状態情報の内容がサーバ装置30に通知される。
次に、ユーザ端末20の機能構成について説明する。ユーザ端末20の制御部214は、CPU211がROM212や記憶部220に記憶されたプログラムにしたがって動作することで、送受信部2141、入力受付部2142、自己位置特定部2143、表示制御部2144、及び購入支援部2145として機能する。なお、これら各機能は専用回路等のハードウェアで構成してもよい。
送受信部2141は、通信部219を介してサーバ装置30などの外部装置との間で各種情報を送受信する。例えば、送受信部2141は、サーバ装置30から移動販売ロボット10のロボットID、現在位置、状態情報、及び到着通知等を受信する。また、送受信部2141は、サーバ装置30に対して、後述する商品情報要求や呼出要求、ログイン要求、及び決済要求等を送信する。また、送受信部2141は、サーバ装置30から、後述する未決済商品情報、及び決済完了通知等を受信する。
入力受付部2142は、操作部216及び撮像部217を介して各種の入力情報を受付ける。例えば、入力受付部2142は、操作部216を介して商品情報要求や呼出要求の入力を受付ける。また、入力受付部2142は、撮像部217を介してユーザの顔画像データ等の入力を受け付ける。
自己位置特定部2143は、測位部218の出力に基づいて、マップ情報2201で表されたエリア内でのユーザ端末20の位置を特定する。
表示制御部2144は、表示部215を制御し、各種の情報を表示部215に表示させる。例えば、表示制御部2144は、購入支援部2145と協働することで、各種の画面(GUI)を表示部215に表示させる。
購入支援部2145は、自端末が備える他の機能部、及びサーバ装置30と協働することで、移動販売ロボット10で販売される商品の購入を支援するための各種の処理を実行する。また、購入支援部2145は、表示制御部2144と協働することで、移動販売ロボット10で販売される商品の購入を支援するための各種の画面を表示部215に表示させる。
例えば、購入支援部2145は、移動販売ロボット10の呼び出しを支援するための画面を表示部215に表示させる。また、購入支援部2145は、商品の決済を支援するための画面を表示部215に表示させる。
以下、購入支援部2145が、表示制御部2144と協働することで表示部215に表示する画面例について説明する。
まず、図18及び図19を用いて、移動販売ロボット10の呼び出しを支援するための画面例について説明する。図18は、ユーザ端末20の表示部215に表示されるマップ表示画面の一例を示す図である。図19は、ユーザ端末20の表示部215に表示される呼出画面の一例を示す図である。
ユーザ端末20における不図示のメニュー選択画面から、商品情報要求メニューが選択されると、購入支援部2145は、記憶部220に記憶されたマップ情報2201に基づき、図16に示すマップ表示画面60を表示部215に表示させる。
マップ表示画面60は、マップ表示領域61を有する。購入支援部2145は、マップ情報2201に基づき、移動販売ロボット10が移動可能な範囲のマップをマップ表示領域61に表示させる。ここで、購入支援部2145は、自己位置特定部2143が特定した位置情報に基づき、自己のユーザ端末20が存在する位置周辺のマップを表示させてもよいし、サーバ装置30から提供される移動販売ロボット10の位置情報に基づき、移動販売ロボット10が存在する位置周辺のマップを表示させてもよい。また、表示制御部2144は、マップに対する操作(例えば、スクロール操作、拡大・縮小操作等)に応じて、マップ表示領域61に表示するマップの範囲を変更する。
また、購入支援部2145は、マップ表示領域61のマップに重畳して、自己位置特定部2143が特定した自端末の位置と、サーバ装置30から提供された移動販売ロボット10の位置とを、識別可能な状態で表示させる。
図18では、自端末の位置を、ハッチングを施した円形の端末マーク62で表した例を示している。また、各移動販売ロボット10の位置を、各移動販売ロボットを模したロボットマーク63で表した例を示している。ロボットマーク63には、ロボットID等のロボット識別情報があわせて表示される。また、ロボットマーク63は、ユーザが選択可能な状態で表示される。
ユーザは、マップ表示画面に表示された何れかのロボットマーク63にタッチすることで、対応する移動販売ロボット10を選択することができる。購入支援部2145は、入力受付部2142を介して移動販売ロボット10の選択(指定)を受け付けると、自己のユーザ端末20の端末IDと、指定された移動販売ロボット10のロボットID等を含む商品情報要求をサーバ装置30に送信する。商品情報要求を受信したサーバ装置30では、後述するように、商品情報要求で指定されたロボットIDの移動販売ロボット10が販売する商品の商品情報を、商品管理テーブル3164及び商品マスタ3162から読み出して要求元のユーザ端末20に送信する。
購入支援部2145は、送受信部2141が商品情報を受信すると、図19の呼出画面70に示すように、選択された移動販売ロボット10のロボットマーク73に関連付けて商品情報を表示させる。つまり、呼出画面70は、マップ表示画面60に表示されたロボットマーク63の何れか一つがタッチされると表示される画面である。
図19に示すように、呼出画面70は、マップ表示領域71と商品情報表示領域72とを有する。マップ表示領域71は、マップ表示画面60のマップ表示領域61と同様に、マップ情報2201に基づくマップを表示するための領域である。なお、マップ表示領域71は、マップ表示画面60のマップ表示領域61よりも縮小されている。購入支援部2145は、マップ表示画面60でタッチされたロボットマーク63とその近辺のマップを呼出画面70のマップ表示領域71に表示させる。
商品情報表示領域72は、選択された移動販売ロボット10に搭載される商品の商品情報を表示するための領域である。購入支援部2145は、移動販売ロボット10の選択に伴いサーバ装置30から送信された商品情報を、商品情報表示領域72に表示させる。具体的には、購入支援部2145は、商品毎に上下方向に並べて商品情報を表示させる。表示される商品情報は、商品画像、商品名、及び価格等である。商品情報表示領域72は、上下方向にスクロール可能となっており、購入支援部2145は、スクロール操作に応じて、表示する商品情報を更新する。これにより、商品情報表示領域72は、移動販売ロボット10に搭載される商品全ての商品情報を表示可能としている。
また、呼出画面70は、選択した移動販売ロボット10を呼び出すための呼出ボタン74を有する。ユーザは、マップ表示画面で選択した移動販売ロボット10に搭載される商品を呼出画面で確認し、自己が購入を希望する商品があれば呼出ボタン74を操作して当該移動販売ロボット10を呼び出すことができる。また、マップ表示画面60及び呼出画面70を用いて移動販売ロボット10を呼び出すことにより、ユーザは、移動販売ロボット10の位置を確認しながら、呼び出し対象の移動販売ロボット10を選択することができる。これにより、ユーザは、例えば自己の位置に最も近い移動販売ロボット10を呼び出す等、移動販売ロボット10の呼び出しを効率的に行うことができる。
具体的には、呼出画面70において入力受付部2142が呼出ボタン74の操作を受け付けると、購入支援部2145は、自己のユーザ端末20の端末ID、選択された移動販売ロボット10のロボットID、及び自己位置特定部2143が特定した位置情報(呼出位置)等を含む呼出要求をサーバ装置30に送信する。呼出要求を受信したサーバ装置30では、後述するように、呼出要求で指定されたロボットIDの移動販売ロボット10を、呼出要求で指定された呼出位置まで走行させる。
これにより、ユーザは、移動販売ロボット10が搭載する商品を確認したうえで、当該移動販売ロボット10を呼び出すことが可能となる。したがって、移動販売システム1は、ユーザの利便性を向上させることができる。
また、サーバ装置30では、呼出要求で指定されたロボットIDの現在位置及び呼出位置、呼出管理テーブル3166に登録されている当該ロボットIDに対する呼出要求の数等に基づき、当該ロボットIDに対応する移動販売ロボット10が呼出位置に到着するまでの時間(以下、到着時間ともいう)を予測し、要求元のユーザ端末20に送信する。
また、呼出画面70は、選択した移動販売ロボット10がユーザ端末20の位置まで到着するまでの時間を表示する到着時間表示領域75を有する。購入支援部2145は、移動販売ロボット10の選択に伴いサーバ装置30から送信された到着時間を、到着時間表示領域75に表示させる。到着時間表示領域75には、到着予定の移動販売ロボット10のロボットID等、移動販売ロボット10を識別する情報を表示させてもよい。
なお、到着時間を表示するタイミングは、呼出ボタン74の操作後に限らないものとする。例えば、購入支援部2145は、マップ表示画面60で移動販売ロボット10の選択が行われたタイミングで、到着時間を表示させるようにしてもよい。この場合、購入支援部2145は、自己位置特定部2143が特定した位置情報を商品情報要求に含めてサーバ装置30に送信することで、移動販売ロボット10の選択が行われたタイミングで、サーバ装置30から到着時間を取得するようにしてもよい。
さらに、呼出画面70は、マップ表示画面60で選択された移動販売ロボット10を識別可能に表示する。具体的には、マップ表示領域71において、マップ表示画面で選択された移動販売ロボット10を識別する情報である「ロボットB」の表示を付したロボットマーク73を、その近辺のマップとともに表示する。これにより、ユーザは選択した移動販売ロボット10について、その位置、識別情報、搭載されている商品の商品情報等を一画面で確認することができる。なお、移動販売ロボット10を識別する情報は、各移動販売ロボット10に設定されたユニークな番号、名称等であってもよい。
また、購入支援部2145は、送受信部2141が呼出要求を送信した後、サーバ装置30から提供される、呼び出し対象の移動販売ロボット10の位置情報等に基づき、当該移動販売ロボット10の現在位置を、ロボットマーク63又は73等を用いて、マップ表示画面60又は呼出画面70のマップ上に表示させる。これにより、ユーザは、マップ表示画面60又は呼出画面70に表示されるマップを見ることで、呼び出し対象に選択した移動販売ロボット10の現在位置を容易に確認することができる。なお、呼び出し対象の移動販売ロボット10の現在位置を、マップ表示画面60を用いて表示する場合、購入支援部2145は、呼び出し対象の移動販売ロボット10と、他の移動販売ロボット10とを識別可能な状態で表示させることが好ましい。
さらに、購入支援部2145は、呼び出し対象の移動販売ロボット10が呼出位置に移動すると、移動販売ロボット10が呼出位置に到着したことを報知する画面を表示部215に表示させる。具体的には、購入支援部2145は、サーバ装置30から提供される、呼出位置への到着通知に基づき、呼び出し対象の移動販売ロボット10が呼出位置に到着したことを検知すると、呼出位置への到着を報知する画面を表示部215に表示させる。これにより、ユーザは、表示部215に表示される画面を見ることで、移動販売ロボット10が呼出位置に到着したことを容易に認識することができる。
なお、移動販売ロボット10の到着の報知方法は、表示画面を用いた方法に限らないものとする。例えば、購入支援部2145は、ユーザ端末20が備えるスピーカやバイブレータ等の報知部と協働することで、音又は振動により移動販売ロボット10が呼出位置に到着したことを報知してもよい。また、購入支援部2145は、到着した移動販売ロボット10に表示されているロボット番号やロボットIDを、ポップアップ画面に表示させてもよい。これにより、ユーザは自身が呼び出した移動販売ロボット10をより容易に認識することができる。なお、移動販売ロボット10におけるロボット番号等の表示方法は問わないものとする。
また、本実施形態では、サーバ装置30からの通知に応じて呼出位置への到着を報知する形態としたが、これに限らず、ユーザ端末20が到着したか否かの判断を行うことで、ユーザ端末20で独自に行う形態としてもよい。この場合、例えば、ユーザ端末20の購入支援部2145は、サーバ装置30から提供される、呼び出し対象の移動販売ロボット10の位置情報が、呼出位置の位置情報を基点とした所定範囲内に入ったか否かを判定する。そして、購入支援部2145は、移動販売ロボット10が所定範囲内に入ると、移動販売ロボット10が呼出位置に到着したと判断し、呼出位置に到着したことを報知する画面を表示部215に表示させる。
なお、移動販売ロボット10の呼び出しを支援するための画面は、図18及び図19の例に限らないものとする。
次に、図20及び上述した図16を用いて、商品の決済を支援するための画面例を説明する。ここで、図20は、ユーザ端末20の表示部215に表示される商品確認画面の一例を示す図である。
ユーザ端末20における不図示のメニュー選択画面から、サーバ装置30にアクセスするためのメニューが選択されると、購入支援部2145は、サーバ装置30にログインするためのログイン情報の入力を促す認証画面を表示部215に表示させる。本実施形態では、ログイン情報として、ユーザの顔画像データを用いる例を説明する。この場合、購入支援部2145が表示させる認証画面は、図16の認証画面40と同様の、ユーザの顔画像の撮像を促す画面であってもよい。
ログイン情報が入力されると、購入支援部2145は、ログイン情報を含んだログイン要求をサーバ装置30に送信する。ログイン要求を受信したサーバ装置30では、後述するように、ログイン情報に対応するユーザをユーザ管理テーブル3165から特定する。そして、サーバ装置30では、特定したユーザに係る取引のうち、決済フラグが「保留中」の取引の取引ID、当該取引IDに係る商品の商品コードや商品情報等を含んだ未決済商品情報を生成し、要求元のユーザ端末20に送信する。
購入支援部2145は、送受信部2141が未決済商品情報を受信すると、未決済商品情報に基づき、図20に示す確認画面を表示部215に表示させる。
確認画面80には、ユーザが1又は複数の移動販売ロボット10から取り出した商品のうち、決済が未完了の商品に関する情報が表示される。例えば、確認画面80は、上述した図17の商品登録画面50と同様に、商品を表す商品アイコン81と、商品名82と、商品点数83と、小計84とが商品毎に表示される。また、確認画面には、合計点数85と、合計金額86とが表示される。ここで、小計84、合計点数85及び合計金額86は、未決済商品情報に含まれるものとするが、購入支援部2145が、未決済商品情報に含まれる内容から導出する構成としてもよい。
これにより、ユーザは、表示部215に表示される確認画面80を見ることで、自身が1又は複数の移動販売ロボット10から取り出した、未決済の商品を容易に確認することができる。なお、各商品に関連付けて、当該商品の取り出しが行われた移動販売ロボット10のロボットIDや、取出日時が保持されている場合には、購入支援部2145は、それらの情報を確認画面80にあわせて表示させてもよい。
また、確認画面80には、会計ボタン87が設けられている。会計ボタン87は、上述した会計ボタン57と同様、商品の決済を行うことを指示するための操作子である。ユーザは、確認画面80から未決済の商品を確認した後、会計ボタン87を操作することで、当該商品の決済を行うことができる。
購入支援部2145は、入力受付部2142を介して会計ボタン87が操作されたことを検出すると、顔画像の撮像を促す認証画面を表示部215に表示させる。例えば、購入支援部2145は、図16の認証画面40と同様の認証画面を表示部215に表示させる。購入支援部2145は、ユーザの顔画像データを取得すると、当該顔画像データと取引IDとを含んだ決済要求としてサーバ装置30に送信する。ここで、取引IDは、ログイン要求を送信した際に、サーバ装置30から提供されたものである。
決済要求を受信したサーバ装置30では、後述するように、顔画像データに対応するユーザのユーザIDをユーザ管理テーブル3165から特定し、ユーザIDに関連付けられた決済用情報を用いて、決済要求で指定された取引IDに係る商品の決済処理を実行する。そして、サーバ装置30では、決済処理が完了すると、要求元のユーザ端末20に決済完了通知を送信する。
購入支援部2145は、送受信部2141が決済完了通知を受信すると、決済が完了したことを報知する画面を表示部215に表示させる。
これにより、ユーザ端末20のユーザは、自身が1又は複数の移動販売ロボット10から取り出した商品の決済を、ユーザ端末20を用いて行うことができる。したがって、ユーザ端末20のユーザは、任意の位置及びタイミングで、移動販売ロボット10から取り出した商品の決済を行うことができる。
なお、本実施形態では、ログイン時と決済時との2回に亘ってユーザの顔画像データを取得したが、これに限らないものとする。例えば、ログイン時に取得した顔画像データをRAM153等に保持しておき、当該顔画像データを決済要求に含めて送信してもよい。さらには、サーバ装置30において、一度送信された顔画像データの認証結果に基づき、決済処理を実行する形態としてもよい。
図15に戻り、サーバ装置30の機能構成について説明する。サーバ装置30の制御部314は、CPU311がROM312や記憶部316に記憶されたプログラムにしたがって動作することで、送受信部3141、情報管理部3142、認証部3143、決済処理部3144、及びロボット管理部3145として機能する。なお、これら各機能を専用回路等のハードウェアで構成してもよい。
送受信部3141は、通信部315を介してユーザ端末20や各移動販売ロボット10などの外部装置との間で各種情報を送受信する。例えば、送受信部3141は、移動販売ロボット10の位置情報、状態情報、移動販売ロボット10が収容する商品の商品コード及び在庫数等を、移動販売ロボット10の各々から受信する。また、送受信部3141は、取引開始要求や登録要求、決済要求、取引中断要求等を移動販売ロボット10から受信する。また、送受信部3141は、商品情報要求や呼出要求、ログイン要求、決済要求等をユーザ端末20から受信する。
また、例えば、送受信部3141は、移動販売ロボット10に対し、取引IDや、既存商品コード、決済完了通知、中断完了通知等を移動販売ロボット10に送信する。また、送受信部3141は、ユーザ端末20に対し、未決済商品情報、決済完了通知等を移動販売ロボット10に送信する。
情報管理部3142は、情報管理手段及び第2送信手段の一例である。情報管理部3142は、送受信部3141が受信した情報に基づいて、記憶部316に情報を記憶したり、記憶部316に記憶された各種情報を更新したりする。また、情報管理部3142は、送受信部3141が送信する各種情報を記憶部316から適宜読み出す。
例えば、情報管理部3142は、送受信部3141が移動販売ロボット10から受信した位置情報及び状態情報に基づいて、ロボット管理テーブル3163を更新する。
例えば、情報管理部3142は、送受信部3141がユーザ端末20から商品情報要求を受信すると、商品管理テーブル3164から、当該商品情報要求に含まれるロボットIDに対応する商品コードを読み出す。また、情報管理部3142は、商品マスタ3162を参照し、商品コードに対応する商品情報を読み出す。そして、情報管理部3142は、送受信部3141を制御し、読み出した商品コード及び商品情報を、要求元のユーザ端末20に送信させる。
例えば、情報管理部3142は、送受信部3141が移動販売ロボット10やユーザ端末20から呼出要求や到着通知を受信すると、呼出管理テーブル3166に適宜情報を記憶する。
また、例えば、情報管理部3142は、送受信部3141が移動販売ロボット10から取引開始要求を受信すると、取引IDを発行し、取引を行うユーザ(以下、取引ユーザともいう)のユーザIDと関連付けて取引管理テーブル3167に記憶する。また、情報管理部3142は、発行した取引IDを、取引開始要求を送信した移動販売ロボット10に通知する。また、情報管理部3142は、取引IDの発行に伴い、未決済の状態を示す決済フラグを、取引管理テーブル3167に設定する。
ここで、ユーザIDは、情報管理部3142が後述する認証部3143と協働することで、受信内容に含まれる顔画像データに基づき、ユーザ管理テーブル3165から特定することができる。
なお、情報管理部3142は、取引管理テーブル3167に記憶された取引ユーザのユーザIDに係る取引IDの中に、決済フラグが「保留中」の状態の取引IDが存在する場合には、当該取引IDに係る取引が再開されたと判断する。この場合、情報管理部3142は、決済フラグが「保留中」の状態の該当する取引IDを、取引開始要求を送信した移動販売ロボット10に送信する。さらに、情報管理部3142は、「保留中」の取引IDに関連付けて商品コードが記憶されている場合には、当該商品コードを既存商品コードとして、取引開始要求を送信した移動販売ロボット10に送信する。
また、例えば、情報管理部3142は、送受信部3141が移動販売ロボット10から登録要求を受信すると、登録要求に含まれる取引ID及び商品コードに基づいて、取引管理テーブル3167に商品コードを記憶する。具体的には、情報管理部3142は、取引管理テーブル3167から、商品登録要求に含まれた取引IDに対応するエントリーを検索する。そして、情報管理部3142は、検索した取引IDに関連付けて、商品登録要求に含まれた商品コードを記憶することで、商品の登録を行う。
また、例えば、情報管理部3142は、送受信部3141が移動販売ロボット10から取消要求を受信すると、取消要求に含まれる取引ID及び商品コードに基づいて、取引管理テーブル3167から商品コードを削除する。具体的には、情報管理部3142は、取引管理テーブル3167から、商品登録要求に含まれた取引IDに対応するエントリーを検索する。そして、情報管理部3142は、検索した取引IDに関連付けて記憶された商品コードから、取消要求に含まれた商品コードを削除することで、商品の取り消しを行う。
なお、情報管理部3142は、商品登録要求を送信した移動販売ロボット10のロボットIDを、商品コードに関連付けて記憶してもよい。また、情報管理部3142は、登録を行った日時を、該当する商品コードに関連付けて記憶してもよい。
また、例えば、情報管理部3142は、送受信部3141が移動販売ロボット10から取引中断要求を受信すると、取引中断要求に含まれる取引IDに基づいて、当該取引IDに対応する取引管理テーブル3167の決済フラグを「保留中」の状態に更新する。そして、情報管理部3142は、取引の中断が完了したことを通知する中断完了通知を、要求元の移動販売ロボット10に送信する。
また、例えば、情報管理部3142は、送受信部3141がユーザ端末20からログイン要求を受信すると、後述する認証部3143と協働することで、ログイン要求に含まれる顔画像データに対応するユーザのユーザIDを、ユーザ管理テーブル3165から特定する。また、情報管理部3142は、特定したユーザIDに関連付けられた取引IDのうち、決済フラグが「保留中」の取引IDに関連付けられた商品コードを読み出す。また、情報管理部3142は、商品マスタ3162を参照し、商品コードに対応する商品情報を読み出す。そして、情報管理部3142は、送受信部3141を制御し、決済フラグが「保留中」の取引ID、当該取引IDに基づき読み出した商品コード及び商品情報等を含んだ未決済商品情報を生成し、要求元のユーザ端末20に送信させる。
なお、情報管理部3142は、ログイン要求で指定されたユーザがユーザ管理テーブル3165に存在しない場合、送受信部3141を制御し、その旨を報知するエラー情報を、要求元のユーザ端末20に送信する。また、情報管理部3142は、決済フラグが「保留中」の取引IDに関連付けられた商品コードに基づいて、商品毎の点数、小計、合計点数、合計金額等を導出し、導出した情報を未決済商品情報に含めて送信してもよい。
また、例えば、情報管理部3142は、送受信部3141が移動販売ロボット10又はユーザ端末20から決済要求を受信すると、決済処理部3144と協働することで、決済処理が完了した取引IDの決済フラグを「決済済」に更新する。そして、情報管理部3142は、決済が完了したことを通知する決済完了通知を、要求元の移動販売ロボット10又はユーザ端末20に送信する。
認証部3143は、移動販売ロボット10及びユーザ端末20から送信される顔画像データに基づきユーザの顔認証処理を行う。具体的には、認証部3143は、移動販売ロボット10及びユーザ端末20から送信される顔画像データから、顔の特徴を示す特徴情報を抽出する。そして、認証部3143は、抽出した特徴情報と、ユーザ管理テーブル3165に記憶された特徴情報とを比較し、顔認証を行うことで、顔画像データに該当するユーザのユーザIDを特定する。ここで、顔認証は、公知の技術を用いることが可能である。
決済処理部3144は、決済手段の一例である。決済処理部3144は、移動販売ロボット10又はユーザ端末20から送信される決済要求に基づいて、当該決済要求で指定された取引の決済処理を実行する。具体的には、決済処理部3144は、認証部3143と協働することで、決済要求等に含まれた顔画像データに対応するユーザのユーザIDを、ユーザ管理テーブルから特定する。そして、決済処理部3144は、特定したユーザIDに関連付けて記憶された決済用情報を用いて、決済要求で指定された取引IDに係る商品の決済を行う。より詳細には、決済処理部3144は、商品マスタ1622に基づいて、決済要求で指定された取引IDに関連付けられた商品コードに対応する商品の合計金額を算出し、算出した合計金額を、決済用情報を用いて支払うための決済処理を実行する。
例えば、決済処理部3144は、決済事業者の決済サーバと通信することによって決済を実行する。また、決済用情報がプリペイドされた金額を示すものである場合、プリペイドされた金額から商品の合計金額を減算することで決済を実行する。なお、決済処理部3144は、クレジットカード決済や二次元コード決済によって電子決済するものであってもよい。
ロボット管理部3145は、ユーザ端末20からの呼出要求や、各移動販売ロボット10からの位置情報及び状態情報などに基づいて、送受信部3141が情報を送信する送信先や送信内容を設定する。例えば、ロボット管理部3145は、送受信部3141がユーザ端末20から呼出要求を受信すると、呼出要求に含まれるロボットIDの移動販売ロボット10を移動指示の送信先として設定し、当該呼出要求に含まれる呼出位置を送信内容として設定する。また、例えば、ロボット管理部3145は、ロボット管理テーブル3163に記憶された各移動販売ロボット10の状態情報を確認し、「呼出待機中」の状態にある移動販売ロボット10の中から、呼出要求に対応する移動販売ロボット10を選定する。
なお、ロボット管理部3145は、呼出管理テーブル3166において到着日時が登録されていない呼出要求について、呼出日時が早い呼出要求から順に当該呼出要求で指定された呼出位置を設定し、送受信部3141に送信させる。これにより、ロボット管理部3145は、呼出要求が行われた順に、対象となる移動販売ロボット10を移動させることができる。
また、ロボット管理部3145は、呼出要求の要求元であるユーザ端末20を送信先として設定し、選定した移動販売ロボット10が呼出位置に到着するまでの到着時間を算出して当該到着時間を送信内容として設定する。到着時間は、呼出管理テーブル3166に登録された、該当する移動販売ロボット10への呼出要求(到着日時が登録されていない未対応のもの)の数、ロボット管理テーブル3163に登録されている当該移動販売ロボット10の位置情報及び状態情報、等に基づいて算出される。
また、ロボット管理部3145は、商品管理テーブル3164を参照して、搭載する商品の何れか、又は全ての在庫数が0になったロボットIDの移動販売ロボット10を移動指示の送信先として設定し、当該商品を補充する位置を移動先として設定する。
なお、上述した送受信部3141、情報管理部3142、認証部3143、決済処理部3144、及びロボット管理部3145による各機能の一部又は全てを移動販売ロボット10が有するようにしてもよい。この場合、ユーザ端末20は、移動販売ロボット10との間で各種情報を送受信する。
以下、上記構成の各装置を有する移動販売システム1の動作について説明する。
まず、図21を参照して、ユーザ端末20を介して呼び出された移動販売ロボット10が、呼出位置に到達するまでの動作例について説明する。
図21は、移動販売システム1の動作の一例を示すシーケンスチャートである。このシーケンスチャートは、ユーザが移動販売ロボット10に搭載された商品の商品情報を確認して当該移動販売ロボット10を呼び出し、当該移動販売ロボット10の商品を購入する場合を示している。
まず、ユーザは、移動販売ロボット10を呼び出すにあたって、ユーザ端末20にインストールされた移動販売システム1のアプリケーションプログラムを起動させる。ユーザ端末20は、商品情報要求メニューが選択されると図18に示すマップ表示画面を表示し、移動販売ロボット10の選択を受付ける(ステップS1)。ユーザ端末20は、選択された移動販売ロボット10のロボットID、ユーザ端末20の端末IDを含む商品情報要求をサーバ装置30に送信する(ステップS2)。
サーバ装置30は、受信した商品情報要求に応じて記憶部316から商品情報を読み出す(ステップS3)。詳細には、情報管理部3142は、商品管理テーブル3164から、商品情報要求に含まれるロボットIDに対応する商品コードを読み出す。次いで、情報管理部3142は、商品マスタ3162から、読み出した商品コードに対応する商品情報を読み出す。情報管理部3142は、読み出した商品情報をユーザ端末20に送信する(ステップS4)。
ユーザ端末20は、受信した商品情報を表示部215に表示する(ステップS5)。ユーザは、表示された商品情報を確認して購入したい商品があると、当該商品を搭載する移動販売ロボットを呼び出すための操作を行う。これにより、ユーザ端末20には呼出要求が入力される(ステップS6)。ユーザ端末20は、自装置が存在する場所の位置情報を取得し(ステップS7)、取得した位置情報を呼出位置とした呼出要求をサーバ装置30に送信する(ステップS8)。
サーバ装置30は、呼出要求を受信すると(ステップS9)、呼出要求で指定された移動販売ロボット10に対して、呼出位置を含む移動指示を送信する(ステップS10)。
移動販売ロボット10は、駆動部123を制御して移動指示で指定された呼出位置に移動する(ステップS11)。移動販売ロボット10が呼出位置に到着すると、当該移動販売ロボット10はサーバ装置30に到着通知を送信する(ステップS12)。なお、移動販売ロボット10は、自装置の存在位置を示す位置情報のみをサーバ装置30に送信し、サーバ装置30が移動販売ロボット10の呼出位置への到着を判断してもよい。
サーバ装置30は、受信した到着通知に基づいて呼出管理テーブル3166を更新する(ステップS13)。具体的には、情報管理部3142は、呼出管理テーブル3166において該当する呼出要求の到着日時を登録する。次いで、情報管理部3142は、呼出要求の要求元であるユーザ端末20に対して到着通知を送信する(ステップS14)。
ユーザ端末20は、到着通知を受信すると、表示部215に、呼び出した移動販売ロボット10が到着したことを示す情報を表示する(ステップS15)。
以上の動作により、移動販売システム1は、ユーザ端末20からの要請に応じて、ユーザが指定した呼出位置に移動販売ロボット10を移動させることを可能とする。
次に、図22を参照して、移動販売ロボット10が販売する商品の購入に係る動作例について説明する。図22は、移動販売システム1の動作の一例を示すシーケンスチャートである。なお、図22の動作は、例えば、図21のステップS15の後に実行されるものである。
まず、ユーザは、移動販売ロボット10に対して取引開始の指示を行う。移動販売ロボット10は、取引開始の指示を受け付けると(ステップS21)、図16に示す認証画面40を表示し、顔画像の撮像をユーザに促す(ステップS22)。移動販売ロボット10は、取引を行うユーザの顔画像データを取得すると(ステップS23)、取得した顔画像データを含む取引開始要求をサーバ装置30に送信する(ステップS24)。
サーバ装置30は、移動販売ロボット10から取引開始要求を受信すると、取引開始要求に含まれた顔画像データに基づき、取引を行うユーザのユーザIDをユーザ管理テーブル3165から特定する(ステップS25)。また、サーバ装置30は、取引IDを発行し、特定したユーザIDと関連付けて、取引管理テーブルに登録する(ステップS26)。そして、サーバ装置30は、発行した取引IDを含んだ取引開始通知を、取引開始要求の要求元である移動販売ロボット10に送信する(ステップS27)。
なお、ステップS25で特定したユーザIDに係る取引IDが取引管理テーブル3167に既に存在し、且つ当該取引IDの決済フラグが「保留中」の場合には、情報管理部3142は、取引IDを新規に発行せず、「保留中」の取引が再開されたと判断する。この場合、情報管理部3142は、決済フラグが「保留中」の該当する取引IDと、その取引IDに関連付けられた商品コード(つまり既存商品コード)とを含んだ取引開始通知を、要求元の移動販売ロボット10に送信する。
移動販売ロボット10は、取引開始通知を受信すると、取引開始通知に含まれる取引ID等をRAM153に保持し、商品の販売に係る処理を許可する。そして、移動販売ロボット10は、収容部111から商品が取り出されたことを検知すると(ステップS28)、当該商品の商品コードをRAM213に登録する(ステップS29)。また、移動販売ロボット10は、収容部111から取り出された商品の商品コードと、RAM153保持した取引IDとを含んだ登録要求をサーバ装置30に送信する(ステップS30)。
サーバ装置30は、登録要求を受信すると、登録要求で指定された取引IDに関連付けて、登録要求で指定された商品コードを取引管理テーブル3167に登録する(ステップS31)。なお、ステップS31において、サーバ装置30(情報管理部3142)は、商品コードに関連付けて、登録要求を送信した移動販売ロボット10のロボットIDや、商品の登録日時を記憶してもよい。
なお、ステップS28~S31は、収容部111から商品が取り出される毎に実行される。また、移動販売ロボット10は、商品が棚112に戻されたことを検知すると、登録した商品を取消すための動作を実行する。
また、移動販売ロボット10は、ステップS27で取引開始通知を受信した後、決済開始又は取引中断を指示する入力を待機する。
移動販売ロボット10は、決済開始の入力を受け付けると、顔画像の撮像を促す認証画面40を表示する(ステップS41)。移動販売ロボット10は、顔画像データを取得すると(ステップS42)、取得した顔画像データと、取引IDとを含んだ決済要求をサーバ装置30に送信する(ステップS43)。
サーバ装置30は、移動販売ロボット10から決済要求を受信すると、決済要求に含まれた顔画像データに基づき、該当するユーザのユーザIDをユーザ管理テーブルから特定する(ステップS44)。また、サーバ装置30は、特定したユーザIDに関連付けられた決済用情報を用いて、決済要求で指示された取引IDに係る商品の決済を実行する(ステップS45)。サーバ装置30は、決済が正常に完了すると、取引管理テーブル3167に記憶された該当する取引IDの決済フラグを「決済済」に更新する(ステップS46)。そして、サーバ装置30は、決済要求の要求元である移動販売ロボット10に決済完了通知を送信する(ステップS47)。
移動販売ロボット10は、決済完了通知を受信すると。決済が完了したことを示す情報を表示部215に表示する(ステップS48)。
一方、移動販売ロボット10は、取引中断の入力を受け付けると、取引IDを含む取引中断要求をサーバ装置30に送信する(ステップS51)。
サーバ装置30は、移動販売ロボット10から取引中断要求を受信すると、取引中断要求に含まれた取引IDに基づき、取引管理テーブル3167に記憶された該当する取引IDの決済フラグを「保留中」に更新する(ステップS52)。そして、サーバ装置30は、取引中断要求の要求元である移動販売ロボット10に中断完了通知を送信する(ステップS53)。
移動販売ロボット10は、中断完了通知を受信すると。取引の中断が完了したことを示す情報を表示部215に表示する(ステップS54)。
以上の動作により、移動販売システム1は、移動販売ロボット10が搭載する商品の販売を可能とする。また、移動販売システム1は、取引の中断を可能とし、移動販売ロボット10から取り出された商品の登録状態を、他の移動販売ロボット10に引き継ぐことを可能とする。
次に、図23を参照して、移動販売ロボット10から取り出した商品の決済を、ユーザ端末20を用いて行う場合の動作例について説明する。図23は、移動販売システム1の動作の一例を示すシーケンスチャートである。なお、図23の動作は、例えば、図22のステップS54の後に実行されるものである。
まず、ユーザは、サーバ装置30にアクセスするにあたって、ユーザ端末20にインストールされた移動販売システム1のアプリケーションプログラムを起動させる。ユーザ端末20は、サーバ装置30へのログインが指示されると(ステップS61)、顔画像の撮像を促す認証画面を表示する(ステップS62)。ユーザ端末20は、顔画像データを取得すると(ステップS63)、取得した顔画像データを含むログイン要求をサーバ装置30に送信する(ステップS64)。
サーバ装置30は、ユーザ端末20からログイン要求を受信すると、ログイン要求に含まれた顔画像データに基づき、該当するユーザのユーザIDをユーザ管理テーブルから特定する(ステップS65)。次いで、サーバ装置30は、取引管理テーブル3167を参照し、特定したユーザIDに係る取引IDのうち、決済フラグの状態が「保留中」の取引IDを特定する(ステップS66)。次いで、サーバ装置30は、ステップS66で特定した取引ID及び当該取引IDに関連付けられた商品コードに基づき未決済商品情報を生成する(ステップS67)。そして、サーバ装置30は、生成した未決済商品情報を、ログイン要求の要求元であるユーザ端末20に送信する(ステップS68)。
ユーザ端末20は、未決済商品情報を受信すると、当該未決済商品情報に基づき、図20に示した確認画面80を表示部215に表示させる(ステップS69)。ユーザは、表示された確認画面を確認し、決済を行う場合には、決済開始を指示するための操作を行う。
ユーザ端末20は、決済開始の指示を受け付けると、顔画像の撮像を促す認証画面を表示部215に表示させる(ステップS70)。ユーザ端末20は、顔画像データを取得すると(ステップS71)、未決済商品情報に含まれた取引IDと、取得した顔画像データとを含む決済要求をサーバ装置30に送信する(ステップS72)。
サーバ装置30は、ユーザ端末20から決済要求を受信すると、決済要求に含まれた顔画像データに基づき、該当するユーザのユーザIDをユーザ管理テーブル3165から特定する(ステップS73)。次いで、サーバ装置30は、ユーザIDに関連付けられた決済用情報を用いて、決済要求で指示された取引IDに係る商品の決済を実行する(ステップS74)。サーバ装置30は、決済が正常に完了すると、取引管理テーブル3167に記憶された該当する取引IDの決済フラグを「決済済」に更新する(ステップS75)。そして、サーバ装置30は、決済要求の要求元であるユーザ端末20に決済完了通知を送信する(ステップS76)。
ユーザ端末20は、決済完了通知を受信すると。決済が完了したことを示す情報を表示部215に表示する(ステップS77)。
以上の動作により、移動販売システム1は、1又は複数の移動販売ロボット10から取り出された商品の決済を、ユーザ端末20から行うことを可能とする。これにより、ユーザは、移動販売ロボット10から取り出した商品の決済を、移動販売ロボット10から離れた位置で、且つ任意のタイミングで行うことができる。
以上説明したとおり、上記実施形態の移動販売システム1は、商品を搭載した自走式の1又は複数の移動販売ロボット10と、移動販売ロボット10とネットワークNを介して接続されるサーバ装置30とを有する。移動販売ロボット10の販売支援部1546は、取引を行うユーザを識別可能な顔画像データを取得し、自装置から取り出された商品の商品コードを検知する。また、販売支援部1546は、顔画像データと自装置から取り出された商品の商品コードとをサーバ装置30に送信する。サーバ装置30の情報管理部3142は、移動販売ロボット10から送信された顔画像データで識別されるユーザのユーザID毎に、当該顔画像データを送信した移動販売ロボット10から送信される商品コードを関連付けて記憶する。また、情報管理部3142は、移動販売ロボット10又はユーザ端末20から顔画像データが送信されると、当該顔画像データに対応するユーザのユーザIDに関連付けて記憶された商品コードを、送信元装置に送信する。そして、サーバ装置30の決済処理部3144は、送信元装置から決済要求を受信すると、当該送信元装置から送信された顔画像データに対応するユーザの決済用情報に基づき、当該ユーザに関連付けて記憶された商品コードに対応する商品の決済を実行する。
これにより、移動販売システム1は、ユーザが1又は複数の移動販売ロボット10から取り出した商品の決済を、移動販売ロボット10やユーザ端末20を用いて、任意の場所及びタイミングで行うことを可能とすることができる。したがって、移動販売システム1は、移動販売ロボット10を用いた商品の購入を簡便に行うことを可能とすることができる。
また、移動販売システム1では、情報管理部3142は、同一のユーザIDに関連付けて記憶された未決済の商品の商品コードを一取引分として管理し、移動販売ロボット10又はユーザ端末20から顔画像データが送信されると、顔画像データに対応するユーザの一取引分の商品コードを送信元装置に送信する。また、決済処理部3144は、送信元装置から決済の実行が指示されると、前記一取引分の決済を実行する。
これにより、移動販売システム1は、ユーザが未決済のまま1又は複数の移動販売ロボット10から取り出した商品を、一取引分の商品としてまとめて決済させることができる。したがって、移動販売システム1は、ユーザ複数の移動販売ロボット10に亘って商品を取り出した場合でも、商品の購入を簡便に行うことを可能とすることができる。
また、移動販売システム1では、移動販売ロボット10の販売支援部1546は、取引の中断指示を受け付けると、サーバ装置30に取引中断要求を送信する。また、サーバ装置30の情報管理部3142は、取引中断要求で指示された取引の状態を「保留中」とし、移動販売ロボット10又はユーザ端末20から顔画像データが送信されると、該当するユーザの「保留中」の状態にある取引の商品コードを送信元装置に送信する。
これにより、移動販売システム1は、中断された取引にかかる商品の決済を、移動販売ロボット10やユーザ端末20を用いて行うことを可能とすることができる。また、移動販売システム1は、取引の中断が指示された取引を明示的に管理することができるため、現在進行中で且つ決済が行われていない取引との判別を容易化することができる。
なお、上記実施形態において、移動販売ロボット10、ユーザ端末20、及びサーバ装置30の各装置で実行されるプログラムは、CD-ROM等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上記各装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良く、さらには、インターネット等のネットワーク経由で提供するように構成してもよい。
また、上述した実施形態は、上述した各装置が有する構成又は機能の一部を変更することで、適宜に変形して実施することも可能である。そこで、以下では、上述した実施形態に係るいくつかの変形例を他の実施形態として説明する。なお、以下では、上述した実施形態と異なる点を主に説明することとし、既に説明した内容と共通する点については詳細な説明を省略する。また、以下で説明する変形例は、個別に実施されてもよいし、適宜組み合わせて実施されてもよい。
(変形例1)
上述の実施形態では、移動販売ロボット10から取り出された商品の決済を、ユーザから明示的に入力される決済指示に応じて行う形態とした。しかしながら、商品の決済方法はこれに限らないものとする。
例えば、移動販売ロボット10は、商品の取り出しを検知する毎に、当該商品の決済要求をサーバ装置30に送信してもよい。具体的には、移動販売ロボット10の販売支援部1546は、商品の取り出しを検知する毎に、取り出された商品の商品IDと取引IDとを含んだ決済要求をサーバ装置30に送信する。また、サーバ装置30の決済処理部3144は、決済要求に含まれた取引IDに基づき、当該取引IDに関連付けて記憶されたユーザIDを取引管理テーブル3167から特定する。
そして、決済処理部3144は、特定したユーザIDに対応する決済用情報をユーザ管理テーブル3165から読み出し、プリペイド決済等の決済用情報を用いて、決済要求に含まれた商品コードに対応する商品の決済を行う。また、情報管理部3142は、決済が完了した商品コードを、決済要求に含まれた取引IDに関連付けて取引管理テーブル3167に記憶する。
また、本変形例を採用する場合には、取引管理テーブル3167において、商品コード毎に決済フラグを関連付けて記憶することで、商品コード毎に決済済か否かを判別可能とする。また、例えば、プリペイドされた金額が商品の金額に満たない場合には、決済フラグを「未決済」の状態とし、取引の中断指示があった場合には、決済フラグが「未決済」の商品のみを「保留中」に更新する。
そして、情報管理部3142は、ユーザ端末20からログイン要求があった場合には、決済フラグが「保留中」の商品について生成した未決済商品情報を、要求元のユーザ端末20に送信する。また、決済処理部3144は、移動販売ロボット10又はユーザ端末20から決済要求があった場合には、決済フラグが「未決済」又は「保留中」の商品について決済を実行する。
これにより、移動販売システム1では、移動販売ロボット10から商品が取り出される毎に当該商品の決済を行うことができる。また、移動販売システム1では、残高不足等により決済を行うことができなかった商品については、ユーザ端末20等を介して、別途決済を行うことが可能となる。したがって、移動販売システム1は、移動販売ロボット10を用いた商品の購入に関して、ユーザの利便性を向上させることができる。
(変形例2)
上述の実施形態では、ユーザを識別(特定)するためのユーザ識別情報として、顔画像データを用いる形態を説明したが、ユーザを識別可能な情報であれば、他の情報を用いてもよい。例えば、ユーザ識別情報は、ユーザIDとパスワードとの組であってもよい。また、例えば、ユーザ識別情報は、顔画像データ以外の生体情報であってもよい。
本変形例を採用する場合、ユーザ管理テーブル3165は、ユーザIDとパスワードとの組や生体情報等のユーザ識別情報を特徴情報としれ記憶する。また、移動販売ロボット10やユーザ端末20では、取引の開始時や決済の開始時、サーバ装置30へのログイン時に表示する認証画面を、ユーザIDとパスワードとの組や生体情報の入力を促す画面とする。これにより、顔画像データ以外のユーザ識別情報を用いても、上述した実施形態と同様の動作を行うことができる。
(変形例3)
上述の実施形態では、呼出位置に到達した移動販売ロボット10を操作するユーザが、移動販売ロボット10を呼び出したユーザ以外の他のユーザであっても、当該移動販売ロボット10が販売する商品の購入を可能な構成とした。しかしながら、移動販売ロボット10での取引開始時に、当該移動販売ロボット10を呼び出したユーザか否かの一致判定を行い、呼び出したユーザである場合にのみ、商品の販売に係る処理を許可する構成としてもよい。
本変形例を採用する場合、例えば、ユーザ端末20の購入支援部2145は、移動販売ロボット10の呼び出しが指示された場合に、ユーザの顔画像データを取得し、呼出要求に含めてサーバ装置30に送信してもよい。この場合、サーバ装置30の情報管理部3142は、呼出要求に含まれた顔画像データ又は当該顔画像データから抽出された特徴情報を、呼び出し対象の移動販売ロボット10のロボットIDに関連付けて呼出管理テーブル3166に記憶する。
そして、情報管理部3142は、呼出位置に到着した移動販売ロボット10から、顔画像データを含む取引開始要求が送信されると、取引開始要求に含まれる顔画像データと、呼出管理テーブル3166の該当するロボットIDに関連付けられた特徴情報との顔認証結果に基づき、取引開始の可否を決定する。具体的には、情報管理部3142は、顔認証が成功した場合に、取引開始通知を移動販売ロボット10に送信し、顔認証が失敗した場合に、認証エラーを報知するエラー情報を移動販売ロボット10に送信する。
移動販売ロボット10では、認証エラーを報知するエラー情報を受信した場合、販売支援部1546は、エラー情報に基づく画面を表示部155に表示し、商品の販売に係る処理を不許可とする。例えば、販売支援部1546は、収容部111に設けられた扉部の電子錠をロックすることで、商品の取り出しが行われないように抑制してもよい。
これにより、本変形例に係る移動販売システム1では、移動販売ロボット10の呼び出しを行ったユーザ以外の他のユーザが、呼出位置に到達した移動販売ロボット10を利用する事態を防ぐことができる。したがって、本変形例の移動販売システム1は、移動販売ロボット10の呼び出しを行うユーザの利便性を向上させることができる。
なお、呼び出しユーザの一致判定に使用するユーザ識別情報は、顔画像データに限らないものとする。例えば、ユーザが指定したパスコート等を用いて、呼び出しユーザの一致判定を行ってもよい。
また、上述した顔画像データの代わりに、ワンタイムパスワード等のパスコードを用いて呼び出しユーザの一致判定を行ってもよい。この場合、情報管理部3142は、呼出位置を受け付けると、パスコードを発行し、要求元のユーザ端末20に送信する。また、情報管理部3142は、発行したパスコードを、呼び出し対象の移動販売ロボット10のロボットIDに関連付けて呼出管理テーブル3166に記憶する。
そして、情報管理部3142は、呼出位置に到着した移動販売ロボット10から、パスコードを含む取引開始要求が送信されると、取引開始要求に含まれるパスコードと、呼出管理テーブル3166の該当するロボットIDに関連付けられたパスコードとの認証(照合)結果に基づき、取引開始の可否を決定する。なお、この場合、移動販売ロボット10は、取引開始の指示に応じて、パスコードの入力を促す認証画面を表示部155に表示させることが好ましい。
(変形例4)
上述の実施形態では、同一ユーザIDのユーザが1又は複数の移動販売ロボット10で行った未決済の取引を、一つの取引分として同一の取引IDで管理する形態とした。しかしながら、この形態に限らないものとする。例えば、移動販売ロボット10毎に取引IDを発行し、当該取引IDを、取引を行ったユーザのユーザIDに関連付けて管理する形態としてもよい。
具体的には、情報管理部3142は、移動販売ロボット10から取引開始要求を受け付ける毎に、新たな取引IDを発行し、取引開始要求に基づき特定したユーザIDに関連付けて取引管理テーブル3167に記憶する。また、情報管理部3142は、発行した取引IDを新規取引IDとし、取引開始通知に含めて要求元の移動販売ロボット10に送信する。
また、情報管理部3142は、取引管理テーブル3167を参照し、取引開始要求に基づき特定したユーザIDに、決済フラグが「保留中」の取引IDが関連付けられている場合、その取引IDを既存取引IDとし、当該既存取引IDに関連付けて記憶された既存商品コードととともに、取引開始通知に含めて送信する。
一方、移動販売ロボット10の販売支援部1546は、商品の取り出しを検知すると、新規取引IDに基づき新規商品コードの登録を行う。また、販売支援部1546は、既存取引ID及び既存商品コードを受信すると、既存商品コードに対応する商品を新規商品コードに対応すると識別可能な状態で、既存取引ID毎に表示する。
また、販売支援部1546は、決済開始が指示された場合、新規取引ID及び既存取引IDの中から、決済を行う取引を選択可能な画面を表示し、選択された取引の決済要求をサーバ装置30に送信してもよい。この場合、決済要求は、顔画像データの他、新規取引ID及び既存取引IDの中から選択された決済対象の取引IDを含む。サーバ装置30では、決済要求を受信すると、決済処理部3144は、決済対象の取引IDに係る商品の決済を行い、当該取引IDに係る決済フラグを「決済済」の状態に更新する。そして、情報管理部3142は、決済が完了した取引IDを取引完了通知に含めて、移動販売ロボット10に送信する。そして、販売支援部1546は、サーバ装置30から取引完了通知を受信すると、取引完了通知に含まれる取引IDの決済が完了したことを報知する画面を表示部155に表示する。
なお、ユーザ端末20からログイン要求及び決済要求が行われた場合も、取引IDが発行される以外の動作は、移動販売ロボット10が取引開始要求及び決済要求を送信した場合と同様となる。
また、販売支援部1546は、取引中断が指示された場合、サーバ装置30に取引中断要求をサーバ装置30に送信する。この場合、販売支援部1546は、新規取引ID及び既存取引IDのうち、上記の決済要求で送信された取引ID以外の、残りの取引IDを取引中断要求に含めて送信してもよい。また、サーバ装置30では、新規取引ID以外の既存取引IDの決済フラグは最新の状態が保持されているため、新規取引IDが未決済の状態のときのみ、当該新規取引IDを含んだ取引中断要求を送信してもよい。
これにより、本変形例に係る移動販売システム1では、ユーザが商品の取り出しを行った移動販売ロボット10の単位で取引を管理することができる。また、本変形例に係る移動販売システム1では、取引の単位で、決済や中断を行うことができる。したがって、本変形例の移動販売システム1は、ユーザの利便性を向上させることができる。
(変形例5)
上述の実施形態では、「保留中」の状態に移行された取引の決済が行われるまでの期限については、特に問わないものとしたが、リマインド等を行うことで、保留中の取引が存在することや、未決済の取引が存在することをユーザに報知する形態としてもよい。
この場合、サーバ装置30の情報管理部3142は、取引中断要求を受け付けた場合に、当該要求を受け付けた日時を示す日時情報を、取引管理テーブル3167の該当する取引IDに関連付けて記憶する。そして、情報管理部3142は、「保留中」の状態の取引IDに関連付けられた日時情報から、所定時間が経過すると(例えば1時間毎等)、当該取引IDのユーザIDに関連付けられたユーザ情報に基づき、ユーザ端末20等の端末に、保留中の取引が存在することを報知するリマインドを行う。
これにより、本変形例に係る移動販売システム1では、保留中の取引が存在する場合に、該当する取引のユーザに、その旨を報知することができる。したがって、本変形例の移動販売システム1は、ユーザに取引の再開や決済の実行を促すことができるため、ユーザの利便性を向上させることができる。
(変形例6)
上述の実施形態では、ユーザが携帯するユーザ端末20からサーバ装置30に対して呼出要求を送信するようにしたが、これに限らない。例えば、呼出要求は、ネットワークNに接続される端末装置、例えば、移動販売ロボット10が走行する施設内に設置された端末装置から、サーバ装置30に送信されてもよい。なお、施設内に設置される端末装置を用いる場合には、ユーザが呼出位置を任意の場所に設定可能とすることが望ましい。
また、上述の実施形態では、ユーザが携帯するユーザ端末20からサーバ装置30に対してログイン要求や決済要求を送信するようにしたが、これに限らない。例えば、ログイン要求及び決済要求は、ネットワークNに接続される端末装置、例えば、移動販売ロボット10が走行する施設内に設置された端末装置から、サーバ装置30に送信されてもよい。
以上、本発明の実施形態を説明したが、これら実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。