IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サトーホールディングス株式会社の特許一覧

特許7495796情報処理装置、情報処理システム、プログラム、情報処理方法
<>
  • 特許-情報処理装置、情報処理システム、プログラム、情報処理方法 図1
  • 特許-情報処理装置、情報処理システム、プログラム、情報処理方法 図2
  • 特許-情報処理装置、情報処理システム、プログラム、情報処理方法 図3
  • 特許-情報処理装置、情報処理システム、プログラム、情報処理方法 図4
  • 特許-情報処理装置、情報処理システム、プログラム、情報処理方法 図5
  • 特許-情報処理装置、情報処理システム、プログラム、情報処理方法 図6
  • 特許-情報処理装置、情報処理システム、プログラム、情報処理方法 図7
  • 特許-情報処理装置、情報処理システム、プログラム、情報処理方法 図8
  • 特許-情報処理装置、情報処理システム、プログラム、情報処理方法 図9
  • 特許-情報処理装置、情報処理システム、プログラム、情報処理方法 図10
  • 特許-情報処理装置、情報処理システム、プログラム、情報処理方法 図11
  • 特許-情報処理装置、情報処理システム、プログラム、情報処理方法 図12
  • 特許-情報処理装置、情報処理システム、プログラム、情報処理方法 図13
  • 特許-情報処理装置、情報処理システム、プログラム、情報処理方法 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-28
(45)【発行日】2024-06-05
(54)【発明の名称】情報処理装置、情報処理システム、プログラム、情報処理方法
(51)【国際特許分類】
   G01S 5/04 20060101AFI20240529BHJP
   G01S 5/14 20060101ALI20240529BHJP
【FI】
G01S5/04
G01S5/14
【請求項の数】 18
(21)【出願番号】P 2020037395
(22)【出願日】2020-03-05
(65)【公開番号】P2021139734
(43)【公開日】2021-09-16
【審査請求日】2023-02-08
(73)【特許権者】
【識別番号】000130581
【氏名又は名称】サトーホールディングス株式会社
(74)【代理人】
【識別番号】110000165
【氏名又は名称】弁理士法人グローバル・アイピー東京
(72)【発明者】
【氏名】長谷川 広明
(72)【発明者】
【氏名】小川 征典
(72)【発明者】
【氏名】北野 圭
【審査官】佐藤 宙子
(56)【参考文献】
【文献】米国特許出願公開第2018/0067187(US,A1)
【文献】特表2018-512571(JP,A)
【文献】特開2017-156260(JP,A)
【文献】特表2015-514969(JP,A)
【文献】特開2010-107501(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01S 5/00- 5/14
G01S 19/00-19/55
H04B 7/24- 7/26
H04W 4/00-99/00
G01C 21/00-21/36
G01C 23/00-25/00
(57)【特許請求の範囲】
【請求項1】
エリア内の通信デバイスの位置情報を取得する位置情報取得部と、
記エリアが複数の第1部分エリアで区画された第1地図情報、および、前記エリアが前記第1部分エリアよりも狭い第2部分エリアで複数に区画された第2地図情報を記憶する記憶部と、
前記第1地図情報を対象として、前記位置情報取得部によって前記複数の第1部分エリアのうちいずれか1つの第1部分エリアにおいて少なくとも2回以上の所定回数の位置情報を取得した場合に、当該第1部分エリアに前記通信デバイスが位置すると判定し、
前記第2地図情報を対象として、前記位置情報取得部によって前記複数の第2部分エリアのうちいずれか1つの第2部分エリアにおいて少なくとも2回以上の所定回数の位置情報を取得した場合に、当該第2部分エリアに前記通信デバイスが位置すると判定する判定部と、
を備えた情報処理装置。
【請求項2】
前記判定部における前記所定回数は任意に変更可能な検出設定値である、
請求項1に記載された情報処理装置。
【請求項3】
前記検出設定値は、第1部分エリアまたは第2部分エリアの単位毎に設定可能である、
請求項2に記載された情報処理装置。
【請求項4】
前記判定部は、
前記複数の第1部分エリアのうちいずれか1つの第1部分エリアにおいて少なくとも前記検出設定値の回数の位置情報を連続して取得した場合に、当該第1部分エリアに前記通信デバイスが位置すると判定し、
前記複数の第2部分エリアのうちいずれか1つの第2部分エリアにおいて少なくとも前記検出設定値の回数の位置情報を連続して取得した場合に、当該第2部分エリアに前記通信デバイスが位置すると判定する、
請求項2又は3に記載された情報処理装置。
【請求項5】
前記通信デバイスが所定の第1部分エリアから他の第1部分エリアに移動する場合において、
前記判定部が前記所定の第1部分エリアに前記通信デバイスが位置すると判定した場合に前記所定の第1部分エリアに進入したことを示す進入イベントが発生したと判定し、
前記進入イベントの発生の後に前記所定の第1部分エリア以外の他の第1部分エリアに位置すると判定した場合に前記所定の第1部分エリアから退出したことを示す退出イベントが発生したと判定する、
請求項1から4のいずれか一項に記載された情報処理装置。
【請求項6】
前記通信デバイスが所定の第2部分エリアから他の第2部分エリアに移動する場合において、
前記判定部が前記所定の第2部分エリアに前記通信デバイスが位置すると判定した場合に前記所定の第2部分エリアに進入したことを示す進入イベントが発生したと判定し、
前記進入イベントの発生の後に前記所定の第2部分エリア以外の他の第2部分エリアに位置すると判定した場合に前記所定の第2部分エリアから退出したことを示す退出イベントが発生したと判定する、
請求項1から5のいずれか一項に記載された情報処理装置。
【請求項7】
前記判定部による前記進入イベントおよび前記退出イベントのうち少なくともいずれかのイベント種別情報を出力する出力部、を備えた、
請求項5又は6に記載された情報処理装置。
【請求項8】
時刻を計時する計時部を有し、
前記出力部は、前記時刻と前記イベント種別情報を関連付けて出力する、
請求項7に記載された情報処理装置。
【請求項9】
前記イベント種別情報と関連付ける前記時刻は、前記第1部分エリアまたは前記第2部分エリアに前記通信デバイスが位置すると判定した時刻である、
請求項8に記載された情報処理装置。
【請求項10】
前記所定の第1部分エリアにおける退出イベントが発生する前に前記他の第1部分エリアにおける進入イベントが発生すると、強制的に前記所定の第1部分エリアにおける退出イベントを発生させる、
請求項5に記載された情報処理装置。
【請求項11】
前記位置情報取得部によって取得された位置情報が、第1部分エリアまたは第2部分エリアに位置する回数をカウントし、当該回数が所定時間内に前記所定回数に達しない場合には、前記第1部分エリアまたは第2部分エリアに対してカウントした回数をリセットする計数部を備えた、
請求項1から10のいずれか一項に記載された情報処理装置。
【請求項12】
前記計数部は、カウントした回数のリセット後に改めて前記通信デバイスが第1部分エリアまたは第2部分エリアに位置する回数をカウントする、
請求項11に記載された情報処理装置。
【請求項13】
請求項1から12のいずれか一項に記載された情報処理装置と、前記情報処理装置と通信可能な通信端末と、を含む情報処理システムであって、
前記通信端末は、前記通信デバイスが前記所定回数位置すると判定された第1部分エリアまたは第2部分エリアを、他の第1部分エリアまたは他の第2部分エリアと区別可能に表示する、
情報処理システム。
【請求項14】
前記通信端末が前記情報処理装置に前記通信デバイスの位置情報を要求したときに、前記情報処理装置は、前記通信デバイスが前記第1部分エリアおよび第2部分エリアの両方に位置することを判定している場合には、前記通信端末には前記第2地図情報における前記通信デバイスの位置情報を表示させる、
請求項13に記載された情報処理システム。
【請求項15】
前記通信端末が前記情報処理装置に前記通信デバイスの位置情報を要求したときに、前記情報処理装置は、前記通信デバイスが前記第1部分エリアおよび第2部分エリアの両方に位置することを判定している場合には、前記通信端末には前記第1地図情報および前記第2地図情報における前記通信デバイスの位置情報を表示させる、
請求項13に記載された情報処理システム。
【請求項16】
前記通信デバイスが発信する電波を受信するロケータと、
前記ロケータが受信する電波の到来角度に基づいて前記通信デバイスの位置を測位する位置特定装置と、を備え、
前記情報処理装置は、前記位置特定装置から前記通信デバイスの位置情報を取得する、 請求項13から15のいずれか一項に記載された情報処理システム。
【請求項17】
コンピュータを、
エリア内の通信デバイスの位置情報を取得する位置情報取得部、および、
記エリアが複数の第1部分エリアで区画された第1地図情報を対象として、前記位置情報取得部によって前記複数の第1部分エリアのうちいずれかの1つの第1部分エリアにおいて少なくとも2回以上の所定回数の位置情報を取得した場合に、当該第1部分エリアに前記通信デバイスが位置すると判定し、
前記エリアが前記第1部分エリアよりも狭い第2部分エリアで複数に区画された第2地図情報を対象として、前記位置情報取得部によって前記複数の第2部分エリアのうちいずれか1つの第2部分エリアにおいて少なくとも2回以上の所定回数の位置情報を取得した場合に、当該第2部分エリアに前記通信デバイスが位置すると判定する判定部、
として機能させるためのプログラム。
【請求項18】
エリア内の通信デバイスの位置情報を取得し、
記エリアが複数の第1部分エリアで区画された第1地図情報を対象として、前記複数の第1部分エリアのうちいずれかの1つの第1部分エリアにおいて少なくとも2回以上の所定回数の位置情報を取得した場合に、当該第1部分エリアに前記通信デバイスが位置すると判定し、
前記エリアが前記第1部分エリアよりも狭い第2部分エリアで複数に区画された第2地図情報を対象として、前記複数の第2部分エリアのうちいずれか1つの第2部分エリアにおいて少なくとも2回以上の所定回数の位置情報を取得した場合に、当該第2部分エリアに前記通信デバイスが位置すると判定する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、プログラム、および、情報処理方法に関する。
【背景技術】
【0002】
従来、通信デバイスの位置を測位する場合に、測位精度を向上させる手法については様々な提案がなされている。
例えば特許文献1には、位置測位機能付きの現在位置に対応する測位結果に対して統計処理を施す方法が記載されている。この統計処理では、過去のn回の測位結果に対して、(m-1)回目までの測位結果は、1回目は測位結果をそのまま出力し、2回目~(m-1)回目はそれまでの測位結果の平均値を出力し、m回目以降の測位結果は(n-m)回目~n回目の測位結果の平均値を出力し、それによって測位精度の向上を可能にする、とされている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2005-17047号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
通信デバイスの位置測位精度は周囲の環境等によって大きく影響することがある。特に、屋内では、フロアの電波干渉状況や通信デバイスと測位装置との位置関係次第で、測位する際の電波の揺らぎにより通信デバイスの測位精度は変化する。特に、通信デバイスが壁側若しくは窓側に位置する場合には、通信デバイスの測位精度が悪化する傾向にある。
【0005】
そこで、本発明は、通信デバイスを測位する場合に通信デバイスに対する位置情報の信頼性を高めることを目的とする。
【課題を解決するための手段】
【0006】
本発明のある態様は、通信デバイスの位置情報を 取得する位置情報取得部と、前記通信デバイスが移動可能なエリアが複数の第1部分エリアで区画された第1地図情報、および、前記エリアが前記第1部分エリアよりも狭い第2部分エリアで複数に区画された第2地図情報を記憶する記憶部と、前記第1地図情報を対象として、前記位置情報取得部によって前記複数の第1部分エリアのうちいずれか1つの第1部分エリアにおいて少なくとも2回以上の所定回数の位置情報を取得した場合に、当該第1部分エリアに前記通信デバイスが位置すると判定し、前記第2の地図情報を対象として、前記位置情報取得部によって前記複数の第2部分エリアのうちいずれか1つの第2部分エリアにおいて少なくとも2回以上の所定回数の位置情報を取得した場合に、当該第2部分エリアに前記通信デバイスが位置すると判定する判定部と、を備えた情報処理装置である。
【発明の効果】
【0007】
本発明のある態様によれば、通信デバイスを測位する場合に通信デバイスに対する位置情報の信頼性を高めることができる。
【図面の簡単な説明】
【0008】
図1】実施形態の測位システムのシステム構成を示す図である。
図2】例示的な第1レイヤ、第2レイヤの店舗マップを示す図である。
図3】例示的な第3レイヤ、第4レイヤの店舗マップを示す図である。
図4】実施形態の測位システムの処理の概要を説明する図である。
図5】実施形態の測位システムの各装置の内部構成を示すブロック図である。
図6】店舗マップのデータ構成を例示する図である。
図7】イベントデータベースのデータ構成を例示する図である。
図8】例示的なイベント検出処理のフローチャートである。
図9】例示的なイベント検出処理のフローチャートである。
図10】イベント検出処理のフローチャートの別の例である。
図11】イベント検出処理のフローチャートのさらに別の例である。
図12】エリアの重複有無の処理について説明する図である。
図13】実施形態の測位システムの動作を示すシーケンスチャートの一例である。
図14】店舗端末において通信デバイスの位置情報が表示される例を示す図である。
【発明を実施するための形態】
【0009】
(1)システム構成
以下、情報処理システムの一実施形態である測位システム1ついて、図面を参照しながら説明する。
測位システム1は、屋内の通信デバイスが発信する電波を基に、通信デバイスを継続的に測位するシステムである。本実施形態では、測位システム1が飲食物を提供する店舗に実装される場合を例にして説明する。
図1は、実施形態の測位システムのシステム構成を示す図である。図1において、通信デバイス2は、顧客Cが所持する通信装置である。通信デバイス2は、測位のための電波を送信するものであればその形態は問わない。以下の説明では、通信デバイス2は、顧客Cのスマートフォンやタブレット等の通信端末を想定するが、その限りではなく、注文の際に店舗から顧客Cに貸与される無線タグであってもよい。
【0010】
図1に例示する店舗では、以下のように店舗が運営される。
顧客Cが店舗に入店して着席し、通信デバイス2にインストールされている顧客用アプリケーションから飲食物の注文を行うか、あるいは、飲食物の注文をした後に着席する。店舗の従業員が注文を取りに来ることはなく、顧客用アプリケーションを通して行われた注文がアプリケーションサーバ7によって処理される。
店舗の従業員は、店舗用アプリケーションがインストールされた店舗端末(図示せず)を所持している。店舗端末が店舗用アプリケーションを実行すると、アプリケーションサーバ7から顧客Cの注文内容についての情報を取得するとともに、店舗フロアにおける顧客Cの位置を確認することができる。すなわち、本実施形態の測位システム1は、顧客Cの通信デバイス2を継続的に測位しており、顧客Cの現在位置(つまり、通信デバイス2の現在位置)をアプリケーションサーバ7から店舗端末が取得可能となるように構成されている。そのため、店舗の従業員は、顧客Cが着席している位置が分かるため顧客Cが注文した飲食物を顧客Cの席まで直接届けることができる。この仕組みでは、顧客Cは、特定のカウンタで注文を行う必要がなく、また、注文した飲食物を特定の場所に取りに行く必要がない。
【0011】
なお、通信デバイス2としての無線タグを使用する場合、店舗の従業員は、例えば、顧客Cから所定の場所で注文を受け付ける際に無線タグを貸与し、本実施形態の測位システム1は、当該無線タグの店舗フロアでの位置を継続的に測位する。それによって、同様に、店舗の従業員は、顧客Cが注文した飲食物を顧客Cの席まで直接届けることができる。
【0012】
図1を参照すると、受信機3(ロケータ)と位置特定装置4は、通信可能に接続されており、通信デバイス2の店舗内での位置を特定する位置特定システムを構成する。受信機3は、例えば店舗の天井に設置され、店舗内を移動する顧客Cが所持する通信デバイス2が放射する電波(ビーコン信号)を受信し、その電波の入射角を測定する。位置特定装置4は、受信機3が測定した入射角を基に通信デバイス2の店舗内の位置(平面上の位置)を特定するAOA(Angle of Arrival)方式により通信デバイス2を測位する。なお、受信機3は、図1の場合と異なり、天井裏側に設置してもよい。
限定しない例では、通信デバイス2と受信機3の通信は、Bluetooth Low Energy(登録商標;適宜「BLE」と略記する)によって行われる。
【0013】
1つの受信機3によっても通信デバイス2の位置を推定可能であるが、通信デバイス2から送信されるビーコン信号の受信信号強度(RSSI)の大きさや店舗面積、店舗の電波環境に応じて、より多くの受信機3を設けることが、測位精度を高める上で好ましい。なお、通信デバイス2の測位方法は、AOA方式に限定するものではなく、TOA(Time of Arrival)方式等の他の方法を利用してもよい。
【0014】
通信デバイス2は、顧客用アプリケーションを実行することでBLEタグとして機能する。このとき、通信デバイス2から送信されるビーコン信号には、通信デバイス2を識別するデバイスIDが含まれる。位置特定システムでは、ビーコン信号に含まれるデバイスIDによって通信デバイス2を特定する。また、通信デバイス2にインストールされる顧客用アプリケーションに固有のデバイスIDを付与し、このデバイスIDによって通信デバイス2を特定しても良い。通信デバイス2として無線タグを使う場合には無線タグの記憶部に記憶された固有のタグIDによって通信デバイス2である無線タグを特定する。
【0015】
エッジサーバ5は、店舗の全体エリアに対して設けられた複数レイヤの店舗マップ(地図情報の一例)によって顧客Cの位置を管理する。
ここで、複数レイヤの店舗マップの例について、図2および図3を参照して説明する。図2は、例示的なレイヤL1、レイヤL2の店舗マップを示す図であり、図3は、例示的なレイヤL3、レイヤL4の店舗マップを示す図である。この例では、いずれのレイヤの店舗マップも最外枠は、店舗フロア全体の大きさに対応している。レイヤL1~レイヤL4のそれぞれは、複数の部分エリアに区画され、レイヤL1からレイヤL4にいくにつれて、より小さい部分エリア(以下、単に「エリア」という。)となっている。各エリアが矩形である場合を例示しているが、その限りではない。各エリアの外形は任意の形状とすることができる。
例えば、レイヤL2とレイヤL3の店舗マップは、それぞれ第1地図情報と第2地図情報の一例である。レイヤL3とレイヤL4の店舗マップは、それぞれ第1地図情報と第2地図情報の一例である。
【0016】
図2に示すように、レイヤL1の店舗マップは、エリアA1を含む。エリアA1は、店舗フロアの全体の大きさに等しい。レイヤL2の店舗マップは、エリアA1の大きさよりも小さいエリアA2-1,A2-2,…,A2-6の複数に区分けされたエリアを含む。図3に示すように、レイヤL3の店舗マップは、エリアA2-1,A2-2,…,A2-6の大きさよりも小さいエリアA3-1,A3-2,A3-3,A3-4,…の複数に区分けされたエリアを含む。
レイヤL4の店舗マップは、A3-1,A3-2,…,A3-6の大きさよりも小さいエリアA4-1,…の複数に区分けされたエリアを含む。店舗マップは店舗を上空から見下ろした視点で表現されており、店舗レイアウトに応じてテーブルや椅子などの位置を把握できるように構成されている。レイヤL4の店舗マップに含まれる各エリアは、エリアの最小単位であり、例えば、店舗に配置されている1つの椅子CHの領域に相当し、レイヤL3の店舗マップに含まれる各エリアは、1つのテーブルTおよびこのテーブルTを囲む複数の椅子CHから構成されるグループの領域に相当し、レイヤL2店舗マップに含まれる各エリアは、複数のテーブルTと複数の椅子CHから構成される領域に相当する。図3の例では、レイヤL4の店舗マップにおいて、エリアA4-1が1つの椅子CHの領域に相当する。
レイヤL2とレイヤL3の店舗マップが、それぞれ第1地図情報と第2地図情報の一例である場合には、エリアA2-1,A2-2,…は複数の第1部分エリアの一例であり、エリアA3-1,A3-2,…は複数の第2部分エリアの一例である。レイヤL3とレイヤL4の店舗マップが、それぞれ第1地図情報と第2地図情報の一例である場合には、エリアA3-1,A3-2,…は複数の第1部分エリアの一例であり、エリアA4-1,…は複数の第2部分エリアの一例である。
【0017】
図2および図3の例では、各レイヤの店舗マップのエリア同士は包含関係にある。例えば、レイヤL3の店舗マップのエリアA3-1は、レイヤL4の店舗マップのエリアA4-1およびエリアA4-1近傍の複数のエリアを含む。レイヤL2の店舗マップのエリアA2-1は、レイヤL3の店舗マップのエリアA3-1およびエリアA3-1近傍の複数のエリアを含む。レイヤL1の店舗マップのエリアA1は、レイヤL2の店舗マップのエリアA2-1~A2-6を含む。
しかし、各レイヤの店舗マップのエリア同士は包含関係になくてもよい。例えば、特定のレイヤの店舗マップにおいて、他のレイヤの店舗マップとは重複しないエリアが存在してもよい。
図2および図3のレイヤL1~L4の店舗マップでは、通信デバイス2の例示的な動線FLを示している。各店舗マップで動線FLは同じであり、×印は測位が行われた位置を模式的に示している。
【0018】
通信デバイス2の正確な位置を測位するためには、最も小さいエリアで分割されているレイヤL4の店舗マップにおいて、通信デバイス2が位置するエリアを特定すればよい。しかし、店舗のレイアウトや受信機3の配置位置等によって店舗内の電波の伝搬環境を均一にすることは困難であるため、店舗内の通信デバイス2の位置によって通信デバイス2の測位精度が変動する。レイヤL4の店舗マップは、最も小さいエリアで分割されていることから、電波の揺らぎ等によって実際の通信デバイスの位置と測位位置が少しずれた場合でも他のエリアで測位し、他のエリアに通信デバイスが位置すると判断してしまうことから通信デバイス2が位置するエリアを常に正確に特定できるとは限らない。
【0019】
そこで、本実施形態の測位システム1では、各レイヤの店舗マップにおいて所定回数通信デバイス2が同一のエリアに位置することが検出された場合に、当該エリアに通信デバイス2が位置すると判断する。したがって、図3の例において、店舗内の局所的な伝搬環境の劣化によって通信デバイス2がレイヤL4のエリアA4-5に位置するという判断ができない状況下であっても、エリアA4-5を包含するレイヤL3のエリアA3-3に位置するという判断ができる場合がある。すなわち、エリアA4-5の小さい範囲では、所定回数位置することが検出されない場合であっても、エリアA4-5よりエリアA3-3は広いため、エリアA3-3で通信デバイス2と受信機3の間の電波の揺らぎ等の受信環境の劣化を考慮しても、所定回数位置することが検出できる可能性がある。すなわちレイヤがL1からL4に向かうにつれて、所定エリアに所定回数位置することを検出しづらくなるものの、通信デバイス2の位置をより正確に捉えることができる。また、レイヤがL4からL1に向かうにつれて、エリア面積が広くなるため所定エリアに所定回数位置することを検出し易くなるものの、店舗従業員が把握する通信デバイス2の位置の正確性は低くなる。
【0020】
以下の説明では、通信デバイス2が同一のエリアに位置すると判断するときの基礎となる検出回数(上記所定回数)を、適宜「検出設定値」という。検出設定値は、2以上の任意の値に設定することができる。
本実施形態の測位システム1では、エリアのサイズが異なる複数のレイヤの店舗マップにおいて、検出設定値を基準として通信デバイス2がどのエリアに位置するか特定される。そのため、電波の伝搬環境が良好な場合には、高精度に通信デバイス2の位置を測位できるとともに、電波の伝搬環境が良好でない場合でも、精度(解像度)は相対的に低いものの確実に通信デバイス2が位置する範囲を示すことが可能である。
なお、検出設定値は、レイヤごとに異なる値に設定されてもよいし、エリアごとに異なる値に設定されてもよい。
【0021】
エッジサーバ5は、各レイヤの店舗マップの各エリアに対する通信デバイス2のINイベント(進入イベントの一例)およびOUTイベント(退出イベントの一例)を検出してIoTサーバ6に送信する。
INイベントは、通信デバイス2が対象のエリアに対して外のエリアから進入する事象である。OUTイベントは、通信デバイス2が対象のエリアから外のエリアに向けて退出する事象である。図2の例では、レイヤL1の店舗マップのエリアA1に対するINイベント、および、レイヤL2の店舗マップのエリアA2-1に対するINイベントが発生したことを示している。図3の例では、エリアA3-1に対するINイベントおよびOUTイベント、エリアA3-2に対するINイベントおよびOUTイベント、エリアA3-3に対するINイベントが発生したことを示している。
【0022】
再度図1を参照すると、IoTサーバ6は、ネットワークNWを介してエッジサーバ5と通信可能なネットワークサーバである。IoTサーバ6は、エッジサーバ5で検出された各エリアに対するINイベントおよびOUTイベントを記録するためのイベントデータベースを有し、アプリケーションサーバ7からの問合せに対して応答するためのAPI(Application Programming Interface)を有する。
【0023】
アプリケーションサーバ7は、通信デバイス2の顧客用アプリケーションおよび図示しない店舗端末の店舗用アプリケーションからの要求に応じた処理を実行して、実行結果を各アプリケーションに返すサーバである。
例えば、アプリケーションサーバ7は、通信デバイス2の顧客用アプリケーションから注文を受け付けると、デバイスIDと注文内容を示す注文データとを対応付けて記憶し、デバイスIDに対応する注文データに対して店舗用アプリケーションからアクセス可能とする。また、アプリケーションサーバ7は、店舗用アプリケーションからの要求(後述する位置情報要求)に応じて、注文データに対応するデバイスIDの通信デバイス2の位置情報を含む表示データを店舗用アプリケーションに返す。
【0024】
図4は、本実施形態の測位システム1の処理の概要を説明する図である。なお、図4では、受信機3と位置特定装置4を総称して位置特定システムと表記している。
本実施形態では、エッジサーバ5は、レイヤL1,L2,L3,L4の店舗マップをそれぞれ管理する4個のL1エッジ装置51、L2エッジ装置52、L3エッジ装置53、L4エッジ装置54を有するが、その限りではない。複数のエッジ装置の機能を1つの装置で実現することもできる。すなわち、1つのエッジ装置にレイヤL1,L2,L3,L4の店舗マップを記憶し、以下説明するL1エッジ装置51、L2エッジ装置52、L3エッジ装置53、L4エッジ装置54の処理を1つのエッジ装置で行うように構成することもできる。
【0025】
図4において、位置特定システムは、顧客が所持する通信デバイス2から受信するビーコン信号に基づいて、通信デバイス2の位置を逐次、測位する。位置特定システムは、通信デバイス2のデバイスIDと、位置特定システムによって得られた位置データとを、エッジサーバ5のL1エッジ装置51、L2エッジ装置52、L3エッジ装置53、L4エッジ装置54に送信する。デバイスIDと位置データの送信は、例えばUDP(User Datagram Protocol)が利用されるが、それに限定されない。
【0026】
L1エッジ装置51、L2エッジ装置52、L3エッジ装置53、L4エッジ装置54は、それぞれ、レイヤL1,L2,L3,L4の店舗マップを管理しており、管理対象のレイヤの店舗マップにおける各エリアに対するINイベントおよびOUTイベントを検出した場合に、検出したイベントをIoTサーバ6に送信する。
IoTサーバ6は、イベントデータベースを有し、エッジサーバ5の各エッジ装置から送信されるINイベントおよびOUTイベントに基づいて、イベントデータベースを更新する。IoTサーバ6はさらに、アプリケーションサーバ7からデバイスIDを特定した問合せを受信した場合に、応答として、デバイスIDに対応する通信デバイス2がIN状態のエリアを特定する情報をアプリケーションサーバ7に返す。また、必要に応じてOUT状態のエリアを特定する情報をアプリケーションサーバ7に返すようにしても良いし、IN状態及びOUT状態のエリアを特定する情報をアプリケーションサーバ7に返すようにしても良い。
【0027】
(2)システムの各部の構成
次に、図5図7を参照して、本実施形態の測位システム1の各部の内部構成について説明する。
図5は、本実施形態の測位システム1の各装置の内部構成を示すブロック図である。
【0028】
図5に示すように、通信デバイス2は、制御部21、操作入力部22、表示部23、第1通信部24、および、第2通信部25を備える。
制御部21は、マイクロプロセッサを主体として構成され、通信デバイス2の全体を制御する。例えば、制御部21のマイクロプロセッサは、顧客用アプリケーションをロードして実行することで、ビーコン信号の送信処理、および、店舗で提供可能な飲食物の発注処理を行うことができる。発注処理では、デバイスIDと対応付けて注文内容を示す注文データをアプリケーションサーバ7に送信する。なお、通信デバイス2が無線タグである場合には、通信デバイス2は、無線タグに固有のタグIDと対応付けて注文データをアプリケーションサーバ7に送信する。
【0029】
操作入力部22は、各種のプログラムを実行するためにユーザから操作入力を受け付ける入力インタフェースであり、表示部23の表示パネルに設けられるタッチパネル入力部であってもよい。
表示部23は、例えばLCD(Liquid Crystal Panel)等の表示パネルと、表示パネルの駆動回路とを含み、例えば制御部21による顧客用アプリケーションの実行結果を表示する。
第1通信部24は、例えば、第2通信部25よりも狭い通信範囲で対象物と無線通信を行うものであり、例えばBLEプロトコルに従ってビーコン信号を放射するように構成されている。ビーコン信号には、通信デバイス2を識別するデバイスIDが含まれる。
第2通信部25は、ネットワークNWを介してアプリケーションサーバ7と通信を行うための通信インタフェースである。
【0030】
図5に示すように、受信機3は、電波受信部31、入射角測定部32、および、通信部33を備える。
電波受信部31は、通信デバイス2から送信されるビーコン信号(電波)を受信するアンテナを含む。
入射角測定部32は、電波受信部31で受信した通信デバイス2からの電波の入射角を測定する。
通信部33は、通信デバイス2および位置特定装置4と通信を行うためのインタフェースである。例えば、通信部33は、通信デバイス2からの受信信号を復調する。また、通信部33は、入射角測定部32によって測定された入射角の情報を、デバイスIDと対応付けて位置特定装置4に送信する。なお、受信機3と位置特定装置4との通信は有線でも無線でもよい。
【0031】
図5に示すように、位置特定装置4は、制御部41および通信部42を備える。
制御部41は、マイクロプロセッサを主体として構成され、位置特定装置4の全体を制御する。例えば、制御部41のマイクロプロセッサは、位置特定モジュール(ソフトウェア)を実行し、受信機3から受信するビーコン信号の入射角の情報に基づいて、通信デバイス2の位置を特定する。より具体的には、AOA方式を利用する場合、前述したように、受信機3の店舗内での既知の位置(店舗の所定の位置を基準とした3次元座標の位置)と、受信機3から逐次取得する通信デバイス2の入射角(電波の到来方向)の情報とに基づいて、時刻の経過に応じた通信デバイス2の店舗のエリア内の位置(店舗フロアのXY座標の位置)を特定(測位)する。
制御部41は、例えば計時手段としてリアルタイムクロックを有している。
制御部41は、測位を行った時刻(測位時刻)の情報および通信デバイス2のデバイスIDと対応付けて、特定された通信デバイス2の位置を示す位置データを逐次、通信部42を介してエッジサーバ5の各エッジ装置に送信する。通信デバイス2の測位間隔は、任意に設定してよいが、通信デバイス2の位置を正確に把握するために必要な時間(例えば、数100ms以下)に設定される。
【0032】
前述したように、エッジサーバ5は、L1エッジ装置51、L2エッジ装置52、L3エッジ装置53、および、L4エッジ装置54を含む。図5に示すように、各エッジ装置のハードウェアの構成は概ね共通しており、制御部501、ストレージ502、および、通信部503を備える。
制御部501は、マイクロプロセッサを主体として構成され、位置特定装置4から逐次取得する測位時刻の情報、デバイスIDおよび位置データに基づいて、自身が管理するレイヤの各エリアにおける通信デバイス2のイベントを検出するためのイベント検出プログラムを実行する。イベント検出プログラムを実行することで、制御部501は、位置情報取得部および判定部として機能する。
位置情報取得部は、通信デバイス2の位置データを例えば数100ms間隔で継続的に取得する。判定部は、複数レイヤの各々の店舗マップを対象として、位置情報取得部によって取得された位置データに基づいて、複数のエリアのうちいずれかのエリアに検出設定値(少なくとも2回以上の所定回数の一例)の回数分位置することが検出された場合に、通信デバイス2が当該エリアに位置すると判定する。
なお、各エッジ装置がリアルタイムクロックを有し、位置特定装置4から逐次取得するデバイスIDおよび位置データを、位置データを受信した時刻と関連付けて処理してもよい。
【0033】
制御部501は、判定部による判定結果に基づいて、複数のエリアのうちいずれかのエリアに対するINイベントおよびOUTイベントのうち少なくともいずれかのイベント種別の情報を、イベント発生時刻の情報と関連付けて出力する出力部として機能してもよい。例えば、イベント種別とイベント発生時刻の情報を例えばIoTサーバ6に送信(出力)することで、IoTサーバ6は、複数のレイヤの店舗マップで発生するイベントを一元的に管理することができる。イベント発生時刻は、あるエリアに対して検出設定値の回数分を位置することが検出された測位時刻である。つまり、イベント発生時刻は、あるエリアに通信デバイス2が位置すると判定された時刻である。
なお、あるエリアに対するINイベントが判定された後に継続的に当該エリアに位置する(つまり、継続的にIN状態である)場合、当該エリアに対するINイベントは判定されない。
なお、上記出力部は、イベント種別の情報をイベント発生時刻の情報と関連付けて出力する場合に限られない。出力部は、イベント種別の情報のみを出力してもよい。その場合、IoTサーバ6は、イベント種別の情報を受信した時刻と関連付けて当該イベント種別の情報をイベントデータベースに記録する。
イベント検出プログラムを実行することで行われる処理(イベント検出処理)については、後述する。
【0034】
ストレージ502は、例えばHDD(Hard Disk Drive)等の大規模記憶装置である。ストレージ502は、自身が管理するレイヤの各エリアに対するINイベントおよびOUTイベントの発生時刻の情報をデバイスIDごとに含むイベントデータベース(イベントDB)を格納する。
【0035】
ストレージ502はまた、自身が管理するレイヤの店舗マップを格納する。各レイヤの店舗マップは、通信デバイス2が移動可能な店舗フロア(全体エリアの一例)がそれぞれ異なる大きさの複数のエリア(部分エリアの一例)で区画された情報である。つまり、L1エッジ装置51のストレージ502はレイヤL1の店舗マップを格納し、L2エッジ装置52のストレージ502はレイヤL2の店舗マップを格納し、L3エッジ装置53のストレージ502はレイヤL3の店舗マップを格納し、L4エッジ装置54のストレージ502はレイヤL4の店舗マップを格納する。
【0036】
通信部503は、IoTサーバ6と通信を行うための通信インタフェースであり、INイベント又はOUTイベントが発生する度に、INイベント又はOUTイベントをIoTサーバ6に送信する。
【0037】
なお、以下の説明において、「イベントを送信(記録)する」とは、イベント種別(IN又はOUT)、イベントが発生したエリアを特定するエリアID(後述する)、および、イベント発生時刻の情報を送信(記録)することを意味する。
【0038】
図6を参照すると、店舗マップのデータ構成例が示される。
図6Aに示すように、エリアが例示的な矩形形状で表される場合、当該エリアのデータ構成は図6Bに示すものとなる。このデータ構成例では、店舗マップに含まれる単一のエリアに対するデータは、エリア名称、エリアを特定するエリアID、店舗フロアの所定位置を原点としたときのエリアの基準位置Ref(XY座標)、基準位置RefからのX軸方向長さLx、基準位置RefからのY軸方向長さLy、および、検出設定値SACを含む。
【0039】
図7を参照すると、イベントデータベースのデータ構成例が示される。
イベントデータベースの各レコードは、デバイスIDごとに、イベント発生時刻、イベント種別、および、エリアIDの各フィールドのデータを含む。各レコードは、イベント発生時刻の順に配列されている。「イベント種別」フィールドのデータは、INイベント又はOUTイベントを示す。「エリアID」フィールドのデータは、INイベント又はOUTイベントが発生したエリアに対応するエリアIDである。
【0040】
再度図5を参照すると、IoTサーバ6は、制御部61、ストレージ62、および、通信部63を備える。
制御部61は、マイクロプロセッサを主体として構成され、IoTサーバ6の全体を制御する。例えば、制御部61のマイクロプロセッサは、エッジサーバ5の各エッジ装置から受信するINイベントおよびOUTイベントに基づいて、ストレージ62に格納されているイベントデータベースを更新する。
ストレージ62は、例えばHDD等の大規模記憶装置である。ストレージ62に格納されているイベントデータベースは、エッジサーバ5の各エッジ装置に格納されるレイヤごとのイベントデータベースをすべて含む構成となっている。つまり、IoTサーバ6において、すべてのレイヤの各エリアに対するINイベント及び/又はOUTイベントが一元的に管理される。
通信部63は、アプリケーションサーバ7との通信を行うための通信インタフェースである。
制御部61には、アプリケーションサーバ7からの問合せに対して応答するためのAPIを有する。アプリケーションサーバ7からデバイスIDを特定した問合せを受信した場合、制御部61のAPIは、ストレージ62のイベントデータベースを参照して、デバイスIDに対応する最新のIN状態のエリアを特定する情報を返す。
【0041】
図5に示すように、アプリケーションサーバ7は、制御部71、ストレージ72、および、通信部73を備える。
制御部71は、マイクロプロセッサを主体として構成され、アプリケーションサーバ7の全体を制御する。マイクロプロセッサが各種のプログラムを実行することで、制御部71は、例えば、顧客用アプリケーション処理部と店舗用アプリケーション処理部として機能する。顧客用アプリケーション処理部および店舗用アプリケーション処理部はそれぞれ、通信部73を介して、通信デバイス2の顧客用アプリケーション、および、店舗端末の店舗用アプリケーションと通信を行い、各アプリケーションから要求された処理を実行する。
例えば、顧客用アプリケーション処理部は、顧客用アプリケーションからデバイスIDと注文データを受信すると、所定の注文処理(店舗に対する注文発生通知や会計処理等を含む)を実行する。顧客用アプリケーション処理部は、複数の顧客からの注文を受け付けることが可能であり、注文データをそれぞれ異なるデバイスIDと関連付けて処理する。通信デバイス2が無線タグである場合には、顧客用アプリケーション処理部は、通信デバイス2から受信するタグIDと注文データに基づいて、注文処理を実行する。顧客アプリケーション処理部では、デバイスID又はタグIDと、注文データとを対応付けることで、複数の顧客の各々が何を注文したのか認識できるように構成されている。
店舗用アプリケーション処理部は、店舗用アプリケーションからデバイスIDを指定した位置情報要求を受信すると、デバイスIDに対応する通信デバイス2の位置を示す表示データを作成して、店舗用アプリケーションに返す。この表示データは、店舗端末に、通信デバイス2のデバイスIDとともに当該通信デバイス2の位置を表示するためのデータである。
ストレージ72は、例えばHDD等の大規模記憶装置である。ストレージ72には、例えば、デバイスIDと注文データを含む注文データベース(図示せず)や、顧客用アプリケーションおよび店舗用アプリケーションの認証処理を行うための認証データ等を記憶する。
【0042】
(3)エッジサーバ5の動作
次に、図8図12を参照して、本実施形態の測位システム1のエッジサーバ5の動作について説明する。
図8および図9は、例示的なイベント検出処理のフローチャートである。図8は、L1エッジ装置51以外のエッジ装置の動作について示している。図9は、L1エッジ装置51の動作について示している。
なお、図8および図9は、いずれかのエリアに検出設定値(少なくとも2回以上の所定回数の一例)の回数分、連続して位置することが検出された場合に、通信デバイス2が当該エリアに位置すると判定する場合を例にして説明する。
【0043】
(3-1)L1エッジ装置51以外のエッジ装置の動作(図8
図8を参照すると、L2エッジ装置52、L3エッジ装置53、L4エッジ装置54の各エッジ装置は、位置特定システムから測位時刻の情報、デバイスIDおよび位置データを受信する(ステップS1)。デバイスIDおよび位置データの受信は、例えば数100ms毎に定期的に行われる。
各エッジ装置は、ステップS1で受信した位置データが、自身が管理するエリアであるか否か判断する(ステップS2)。すなわち、各エッジ装置は、受信した位置データが示す位置(以下、「現在位置」という。)が、対応するレイヤの店舗マップのいずれかのエリアに含まれるか否か判断する。各エッジ装置は、自身が管理するエリアでない場合には、イベント検出処理を終了し(ステップS2:NO)、自身が管理するエリアである場合には、ステップS6に進む(ステップS2:YES)。
【0044】
各エッジ装置において、対応するイベントデータベースでは、デバイスIDごとにINイベントおよびOUTイベントが記録されている。
ステップS6では、各エッジ装置は、通信デバイス2の現在位置が、対応するイベントデータベースの最新のINイベントのエリアと同一のエリアに含まれるか否か判断する。現在位置が最新のINイベントのエリアと同一のエリアに含まれる場合には、新たなイベントの発生がないため、イベント検出処理を終了する(ステップS6:YES)。つまり、特定のエリアに対してINイベントが発生した後に、当該エリアに継続的に位置することが検出された場合には、その検出結果は無視される。
【0045】
各エッジ装置は、現在位置が最新のINイベントのエリアと同一のエリアに含まれない場合であっても(ステップS6:NO)、通信デバイス2の現在位置を含むエリアに対するINイベントを直ちにIoTサーバ6に送信しない。前述したように、各エッジ装置は、通信デバイス2が検出設定値の回数連続して同一エリア内に位置することが検出された場合に、INイベントをIoTサーバ6に送信する。
そこで、各エッジ装置は、通信デバイス2の現在位置が最新のINイベントのエリアと同一のエリアに含まれない場合には、現在位置に対応するエリアのエリアIDをバッファに記録して、当該エリアに処理対象のデバイスIDの通信デバイス2が連続して位置する回数であるカウント値CNTを算出する。そして、各エッジ装置は、カウント値CNTが検出設定値SAC以上となった場合に、バッファに記録したエリアIDに対するINイベントをIoTサーバ6に送信する。その場合、当該エリアIDは、バッファから削除される。
【0046】
具体的には、各エッジ装置は、現在位置が最新のINイベントのエリアと同一のエリアに含まれないことを判定した場合には(ステップS8:NO)、通信デバイス2の現在位置に対応するエリアのエリアIDをバッファに記録し(ステップS10)、カウント値CNTを1とする(ステップS12)。
次に位置データを受信した場合、当該位置データが示す現在位置に対応するエリアが、前回バッファに記録したエリアと同一エリアである場合には(ステップS8:YES)、カウント値CNTを1つカウントアップし(ステップS14)、カウント値CNTが検出設定値SAC以上であるか判定する(ステップS16)。
【0047】
ステップS8~S16の処理は、カウント値CNTが検出設定値SACに達するまで繰り返し行われる。途中でステップS8の条件が満たされなくなった場合には、カウント値CNTが1となり、新たにバッファにエリアIDが記録される。
カウント値CNTが検出設定値SACに達した場合には(ステップS16:YES)、エッジ装置は、その時点でイベントデータベースに記録されていた最新のIN状態のエリアIDに対するOUTイベントをIoTサーバ6に送信し、カウント値CNTの処理対象であるエリアIDに対するINイベントをIoTサーバ6に送信する(ステップS18)。さらに当該エッジ装置は、OUTイベントおよびINイベントの送信結果が反映されるように、自身のイベントデータベースを更新する(ステップS20)。なお、カウント値CNTが検出設定値SACに達したときの測位時刻が、イベント発生時刻である。
ここで、OUTイベントをINイベントよりも先に送信することで、同一レイヤにおいて通信デバイス2が複数のエリアにIN状態となる状況を回避することができる。
【0048】
なお、各エッジ装置は、カウント値CNTが所定時間内に検出設定値SACに達しない場合には、バッファに記録したエリアIDに対してカウントしたカウント値CNTをリセットすることが好ましい。例えば、検出設定値SAC=5に設定されている場合においてカウント値CNTが所定時間、例えば10分経っても5に達しないという状況が生じ、エラー原因となりうる。そのような状況を回避するため、例えば2~3秒の間で検出設定値SACに達しない場合には、現在のカウントを停止し、現在位置に対するエリアのエリアIDに対してカウント値CNT=1として、カウントを再開する。カウント値CNTが所定時間内に検出設定値SACに達しない例としては、通信デバイスの電源が途中でOFFされた場合等に起こり得るものである。
【0049】
(3-2)L1エッジ装置51の動作(図9
L1エッジ装置51は、図2に示したように、店舗フロア全体をエリアA1として管理するエッジ装置である。以下、L1エッジ装置51の動作が他のエッジ装置の動作(図8)と異なる点に着目して説明する。なお、図9のフローチャートのA部は、図8のA部と共通する部分である。
【0050】
本実施形態の測位システム1では、好ましくは、通信デバイス2の位置データが示す位置がレイヤL1の店舗マップのエリアA1内であることを認識したときに(ステップS3:NO)、L1エッジ装置51が管理するイベントデータベースに当該通信デバイス2のデバイスIDを登録する。すなわち、好ましくは、L1エッジ装置51は、通信デバイス2が検出設定値の回数連続してエリアA1に位置することを検出するまで待たずにINイベントをイベントデータベースに記録し(ステップS4)、通信デバイス2のエリアA1に対するINイベントをIoTサーバ6に送信する(ステップS5)。
【0051】
このような処理を行うのは、通信デバイス2に対応する顧客が確実に店舗内にいるということを早く検知したいためである。通信デバイス2に対応する顧客が店舗内にいることを素早く認識することで、店舗フロア内に位置する顧客のみが注文可能となるように制御することができるため、店舗フロア外の人が悪意をもって注文することを防止することができる。L1の店舗マップのエリアA1は、小さなエリアに区画されておらず店舗フロアの全体の大きさに等しく、エリアA1への1回の測位によってINイベントを記録する。
【0052】
図8では、いずれかのエリアに検出設定値の回数分、連続して位置することが検出された場合に、通信デバイス2が当該エリアに位置すると判定する場合について説明したが、その限りではない。
図8以外の判定方法について、図10および図11を参照して説明する。
図10は、いずれかのエリアに検出設定値の回数分位置することが検出された場合に、通信デバイス2が当該エリアに位置すると判定する場合についてのイベント検出処理のフローチャートである。つまり、特定のエリアに連続して位置する必要はなく、検出設定値の回数分、累積して位置することが検出された場合に、通信デバイス2が当該エリアに位置すると判定される。
図10のフローチャートにおいて、図8のフローチャートと異なる部分は、ステップS8Aであある。図10のフローチャートでは、通信デバイス2がバッファに記録されていないエリアに位置することが検出された場合に(ステップS8A:NO)、当該エリアのエリアIDをバッファに記録するとともに、当該エリアIDに対応付けてカウント値CNTを記録する。つまり、バッファには、最新のエリアのエリアIDだけでなく、1又は複数のエリアの各々のエリアIDと対応するカウント値CNTとが記録される。そして、バッファに記録されているエリアIDのうちステップS16の条件を満たしたエリアIDに対応するINイベントがIoTサーバ6に送信される。
図10のフローチャートでは、通信デバイス2が特定のエリアに位置すると判定するための条件が図8の場合よりも緩和されるため、より素早く特定のエリアに対するINイベントを送信できる利点がある。
【0053】
図11は、図10に対して、ステップS17とステップS19を追加したフローチャートである。
図11のフローチャートにおいて、各エッジ装置の制御部501は、同一エリアに位置する回数を計数する(つまり、カウント値CNTを算出する)とともに、当該回数が所定時間内に検出設定値に達しない場合には、当該エリアに対するカウント値CNTをリセットする計数部として機能する。
図11のフローチャートでは、特定のデバイスIDに対して、エリアIDがバッファに記録されてから所定時間経過した後にまだバッファに記録されている場合(つまり、当該エリアIDのエリアに対するINイベントが発生しない場合)には(ステップS17:YES)、当該エリアIDに対するカウント値CNTをリセットする(ステップS19)。こうすることで、図10のフローチャートの処理よりも、通信デバイス2が特定のエリアに位置すると判定するときの判定精度が向上する利点がある。例えば、検出設定値SACが5である場合に、カウント値CNTが4のエリアIDがいつまでもバッファに残留していると、実際の通信デバイス2が当該エリアIDに対応するエリアから既に離れた位置にいる場合であっても、当該エリアに通信デバイス2が位置するという誤判定が生ずる(エラー原因となる)虞がある。そこで、所定時間経過してもカウント値CNTが検出設定値SACに達しないエリアIDについては、カウント値CNTをリセットする(つまり、0にする)ことが好ましい。ステップS19では、カウント値CNTをリセットする処理の対象となったエリアIDをバッファから削除してもよい。
また、所定時間内に、バッファに記録されているいずれのエリアIDもカウント値CNTが検出設定値SACに達しない場合には、バッファに記録されているすべてのエリアIDに対するカウント値CNTをリセットしてもよい。カウント値CNTをリセットした後は、改めて各エリアに位置する回数がカウントされる。
なお、図11のフローチャートにおいて、ステップS17では、エリアIDがバッファに記録されてから所定回数位置データを受信したことを条件としてもよい。
【0054】
(3-3)エリアの重複有無の処理(図12
次に、エリアの重複有無の処理について説明する。以下では、いずれかのエリアに検出設定値の回数分、連続して位置することが検出された場合に、通信デバイス2が当該エリアに位置すると判定する場合を例にして説明する。
上述したように、エッジサーバ5の各エッジ装置は、自身が管理するエリアに対するINイベントおよびOUTイベントの発生有無をそれぞれ独自に判断するため、異なるレイヤのエリア間で重複してIN状態となることが生じうる。このとき、本実施形態の測位システム1では、異なるレイヤ間でのエリアの重複を許容してもよいし、許容しなくてもよい。
【0055】
例えば、図12Aに示す通信デバイス2の動線FLを想定する。動線FLは、通信デバイス2が時刻t1→t2→…→t8→…の経過に従って移動する場合の動線である。時刻はt1からt8に向かうにつれて時間が経過していることを表し、図12Aに示す丸印は、時刻t1~t8のそれぞれのタイミングにおいて位置測位が行われた位置を模式的に示している。動線FLは時刻t1~t8のそれぞれのタイミングにおいて位置測位が行われた位置を時系列(時刻が早いt1から時刻が遅いt8順に)に線で結んだ動線である。エリアA3-1はレイヤL3の店舗マップに含まれる。エリアA4-1はレイヤL4の店舗マップに含まれ、エリアA3-1に包含されている。
図12Bは、図12Aの例示的な動線FLの場合に、エリア重複ありの場合(つまり、エリア重複を許容する場合)とエリア重複なしの場合(つまり、エリア重複を許容しない場合)のイベントの発生を示している。なお、この例では、エリアA3-1およびエリアA4-1に設定されている検出設定値SACを「3」とする。
【0056】
通信デバイス2が時刻t1にエリアA3-1に進入し、時刻t1~t3の3回エリアA3-1に位置することが検出された場合に、エリアA3-1に対するINイベントがイベントデータベースに記録される。次に通信デバイス2が時刻t5にエリアA4-1に進入し、時刻t5~t7の3回エリアA4-1に位置することが検出された場合に、エリアA4-1に対するINイベントがイベントデータベースに記録される。このとき、エリア重複ありの場合には、時刻t7以降、エリアA3-1およびエリアA4-1の両方に通信デバイス2がIN状態となる。
【0057】
それに対して、エリア重複なしの場合には、エリアA4-1のINイベントが発生した時刻t7において、エリアA3-1に対するOUTイベントがイベントデータベースに記録される。そのため、時刻t7以降において、エリアA3-1とエリアA4-1に重複してIN状態とならない。
【0058】
なお、エリア重複なしの場合のOUTイベントの発生は、エッジサーバ5で行ってもよいし、INイベントの受信に応じてIoTサーバ6で行ってもよい。すなわち、図12に示す例において、OUTイベントの発生をエッジサーバ5で行う場合には、エリアA3-1に対するOUTイベントをIoTサーバ6に送信し、IoTサーバ6において当該OUTイベントがイベントデータベースに記録される。OUTイベントの発生をIoTサーバ6で行う場合には、IoTサーバ6において、エリアの重複を判断してOUTイベントをイベントデータベースに記録する。
【0059】
図8に示したように、同一レイヤの店舗マップでは、通信デバイス2があるエリアから他のエリアに移動した後も検出設定値SACの回数他のエリアに位置することが検出された場合に、他のエリアの前に測位されたエリアに対するOUTイベントと他のエリアに対するINイベントが送信される。すなわち、同一レイヤの店舗マップでは、元のエリアのOUTイベントの送信タイミングは、他のエリアに位置することが検出設定値の回数検出されたタイミングとなっている。
また、異なるレイヤ間において検出設定値が異なっている場合、INイベントがOUTイベントより先に発生することを回避するために、INイベントが発生する前に常にOUTイベントを発生させるように制御することもできる。
【0060】
なお、各エッジ装置において、特定のエリアに対して、INイベントを判定するための検出設定値と、OUTイベントを判定するための検出設定値とを、異なる値に設定することもできる。このとき、所定のエリアに対するOUTイベントよりも他のエリアに対するINイベントが先に検出された(発生した)場合、INイベントを優先し、当該所定のエリアに対するOUTイベントを強制的に発生させてもよい。それによって、通信デバイス2が2以上のエリアに同時にIN状態となることが回避される。
また、OUTイベントを発生させるのは必須ではなく、INイベントのみをイベントデータベースに記録するようにしてもよい。
【0061】
(4)測位システム1の動作
次に、図13および図14を参照して、本実施形態の測位システム1において通信デバイス2の位置を表示するときの動作について説明する。
図13は、本実施形態の測位システム1の動作を示すシーケンスチャートの一例である。図14は、店舗端末において通信デバイス2の位置情報が表示される例を示す図である。
【0062】
図示しない店舗端末の店舗用アプリケーションからデバイスIDを指定した顧客の位置情報要求を受けて(ステップS30)、アプリケーションサーバ7は、IoTサーバ6に対して位置情報の問合せを行う(ステップS32)。店舗端末からの位置情報要求には、要求元の店舗端末を特定する端末IDと、位置情報の要求対象であるデバイスIDとが含まれる。ステップS32においてIoTサーバ6に送信される問合せには、店舗端末からの位置情報要求に含まれるデバイスIDが含まれる。
【0063】
問合せを受けてIoTサーバ6は、イベントデータベースを参照して、問合せに含まれるデバイスIDの通信デバイス2が問合せを受けた時点においてIN状態となっているエリアを特定し(ステップS34)、特定したエリアのエリアIDを含む応答をアプリケーションサーバ7に返す(ステップS36)。ここで、IoTサーバ6は、処理対象となるデバイスIDの通信デバイス2が複数のレイヤにおいてIN状態が記録されている場合には、IN状態となっているすべてのレイヤのエリアを特定し、特定したエリアのエリアIDを応答に含めるようにする。
【0064】
アプリケーションサーバ7は、ステップS36で受信した応答に含まれるエリアIDに基づいて表示データを作成し(ステップS38)、ステップS32の位置情報要求に含まれる端末IDに対応する店舗端末(通信端末の一例)に送信する(ステップS40)。店舗端末は、受信した表示データを基に、例えば図14に例示する画像を表示パネルに表示する(ステップS42)。
【0065】
ステップS38で表示データを作成するに際して、ステップS36の応答に複数のエリアIDが含まれる場合には、複数のエリアIDのうち最小のエリアに対応するエリアIDを基に表示データを作成する。つまり、より解像度が高いレイヤ(L4,L3,L2,L1の順)のエリアが優先して表示されるように表示データが作成される。
【0066】
例えば、図14Aは、レイヤL4のIN状態が確定したときの店舗端末の画面G1を表している。画面G1では、店舗の平面図がレイヤL4の店舗マップに基づいて表示され、1つの矩形の単位が1つのエリアに相当する。画面G1に一部示したように、店舗マップにテーブルTおよび椅子CH等の店舗の備品を表示させてもよい。
図14Aでは、通信デバイス2からの電波の受信環境が良好な場合が想定されており、所定のデバイスIDの通信デバイス2の位置が、レイヤL4の特定のエリア内にIN状態である。この場合、レイヤL1~L3のエリアにおいてもIN状態であることが考えられるが、通信デバイス2の位置として最も解像度が高いレイヤL4のエリア(つまり、より小さいエリア)が他のエリアと区別可能に店舗端末に表示される。つまり、画面G1において、ハッチングしたエリアに、特定の通信デバイス2がIN状態であることが表示される。実際の運用では、複数の顧客の通信デバイスがIN状態の複数のエリアを区別できるように、各エリアに位置する通信デバイスのデバイスIDも表示させることが好ましい。画面G1では、顧客の位置が椅子の単位で特定できるため、店舗の従業員は各顧客が注文した飲食物を顧客の元に間違いなく届けることができる。
【0067】
他方、図14Bは、レイヤL3のIN状態が確定したときの店舗端末の画面G2を表している。画面G2では、店舗の平面図がレイヤL3の店舗マップに基づいて表示され、1つの矩形の単位が1つのエリアに相当する。画面G2に一部示したように、店舗マップにテーブルTおよび椅子CH等の店舗の備品を表示させてもよい。図14Bでは、通信デバイス2からの電波の受信環境が図14Aの場合ほど良好でない場合が想定されている。つまり、図14Bでは、所定のデバイスIDの通信デバイス2の位置が、レイヤL4のエリアにおいてIN状態となっていないが、レイヤL3の特定のエリアにおいてIN状態であることが想定されている。この場合、レイヤL1,L2のエリアにおいてIN状態であることが考えられるが、通信デバイス2の位置として最も解像度が高いレイヤL3のエリア(つまり、より小さいエリア)が他のエリアと区別可能に店舗端末に表示される。つまり、画面G2において、ハッチングしたエリアに、特定の通信デバイス2がIN状態であることが表示される。実際の運用では、複数の顧客の通信デバイスがIN状態の複数のエリアを区別できるように、各エリアに位置する通信デバイスのデバイスIDも表示させることが好ましい。
なお、特定のエリアを区別可能な態様で表示する方法は、限定するものではなく、特定のエリアについて、例えば、色、輝度、模様などを他のエリアと異なるようにして表示することが考えられる。
画面G2の表示であっても顧客がいるテーブルを確実に特定できるため、店舗の従業員は、顧客の元に飲食物を間違いなく届ける上で支障はない。
【0068】
図14Aおよび図14Bでは、1つのレイヤの店舗マップのみを店舗端末に表示する場合について示したが、その限りではない。店舗端末に、複数のレイヤの店舗マップを分割画面において表示させ、各レイヤの店舗マップにおいて通信デバイスがIN状態のエリアを他の同一レイヤのエリアと区別可能に表示してもよい。
また、2以上のレイヤの店舗マップを表示する場合、1つの画面では各レイヤの店舗マップが小さくて見難いことも考えられるため、スクロール表示により各店舗マップを画面に順に表示させるか、あるいは、所定の画面切り替え操作によって各店舗マップを切り替えて画面に表示させてもよい。
【0069】
以上説明したように、本実施形態の測位システム1によれば、エッジサーバ5において各エッジ装置は、位置特定システムから通信デバイス2の位置データを継続的に取得し、複数レイヤの各々の店舗マップに含まれるエリアに位置するか否か判定する。この判定処理では、複数のエリアのうちいずれかのエリアに検出設定値の回数位置することが検出された場合に、通信デバイス2が当該エリアに位置すると判定する。そのため、通信デバイス2からの電波の受信環境に応じた通信デバイス2の測位結果を出力することが可能となる。例えば、通信デバイス2からの電波の受信環境が良好である場合には、高精度に通信デバイス2の位置を測位できる一方、それほど良好でない場合でも、精度(解像度)は相対的に低いものの確実に通信デバイス2が位置する範囲を示すことが可能となる。よって、例えば屋内で通信デバイス2を測位する場合に通信デバイス2に対する位置情報の信頼性を高めることができる。
判定処理では、複数のエリアのうちいずれかのエリアに検出設定値の回数連続して位置する場合に、通信デバイス2が当該エリアに位置することが検出された場合に、通信デバイス2が当該エリアに位置すると判断してもよい。この場合、通信デバイス2が当該エリアに位置することの判定精度が向上する利点がある。
【0070】
以上、本発明の情報処理装置、情報処理システム、プログラム、および、情報処理方法の実施形態について説明したが、本発明は上記の実施形態に限定されない。また、上記の実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更が可能である。
例えば、上述した実施形態では、レイヤの数が4個である場合について例示したが、その限りではない。レイヤの数は2以上の任意の値に設定することができる。
レイヤの数は1つでもよい。その場合の処理も同様に、1つのレイヤの店舗マップに含まれる複数のエリアのうちいずれかのエリアに所定の検出設定値の回数位置することが検出された場合に、当該エリアに位置すると判定される。
上述した実施形態では、測位システム1がレストラン等の店舗を想定した場合について例示したが、測位システム1を適用する業態は特に限定するものではない。通信デバイスを所持しているユーザの位置を測位する必要性がある如何なる用途に対しても適用することができる。
上述した実施形態では、測位システム1がレストラン等の屋内で適用される例について説明したが、その限りではない。本発明は、屋内でも屋外でも適用することができる。
【符号の説明】
【0071】
1…測位システム
2…通信デバイス
21…制御部
22…操作入力部
23…表示部
24…第1通信部
25…第2通信部
3…受信機
31…電波受信部
32…入射角算出部
33…通信部
4…位置特定装置
41…制御部
42…通信部
5…エッジサーバ
51…L1エッジ装置
52…L2エッジ装置
53…L3エッジ装置
54…L4エッジ装置
501…制御部
502…ストレージ
503…通信部
6…IoTサーバ
61…制御部
62…ストレージ
63…通信部
7…アプリケーションサーバ
71…制御部
72…ストレージ
73…通信部
C…顧客
FL…動線
NW…ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14