以下に図面を参照して、本発明にかかる位置決定プログラム、位置決定方法、および位置決定装置の実施の形態を詳細に説明する。
(実施の形態)
まず、実施の形態にかかる位置検出システム100のシステム構成について説明する。
図1は、位置検出システム100のシステム構成例を示す説明図である。図1において、位置検出システム100は、位置決定装置101と、クライアント装置102と、ビーコンB1〜Bmと、ゲートウェイG1〜Gnとを含む。位置検出システム100において、位置決定装置101、クライアント装置102およびゲートウェイG1〜Gnは、有線または無線のネットワーク110を介して接続される。ネットワーク110は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、移動体通信網などを含む。
以下の説明では、ビーコンB1〜Bmのうちの任意のビーコンを「ビーコンBj」と表記する場合がある(j=1,2,…,m)。また、ゲートウェイG1〜Gnのうちの任意のゲートウェイを「ゲートウェイGi」と表記する場合がある(i=1,2,…,n)。
位置決定装置101は、電波強度DB(データベース)120およびビーコン位置テーブル130を有し、ゲートウェイG1〜Gnの中から、ビーコンBjの位置に対応するゲートウェイGiを決定するコンピュータである。位置決定装置101は、例えば、サーバである。電波強度DB120およびビーコン位置テーブル130の記憶内容については、図5および図7を用いて後述する。
クライアント装置102は、ディスプレイ103を有するコンピュータである。クライアント装置102は、例えば、位置検出システム100のユーザが使用するPC(パーソナル・コンピュータ)、タブレット端末、スマートフォンなどである。
ビーコンBjは、定期的に無線信号(電波)を発信する発信機である。ビーコンBjから発信される無線信号には、例えば、ビーコンBjを一意に識別するビーコンID(identification)が含まれる。ビーコンBjは、例えば、シール型、リストバンド型、ペンダント型、バッチ型などの可搬型の発信機である。ビーコンBjは、データを受信する機能を有していてもよい。
ゲートウェイGiは、ビーコンBjから定期的に発信される無線信号を受信した際の電波強度を測定して、測定した測定結果(例えば、後述の図4に示す測定結果情報400)を位置決定装置101に送信する機能を有するコンピュータである。各ゲートウェイGiは、それぞれ異なる位置に設置される。
電波強度は、受信機(例えば、ゲートウェイGi)が受信した信号の強度を示す指標であり、例えば、RSSI(Received Signal Strength Indicator)値によって表される。RSSI値の単位は、例えば、[dBm]であり、値が大きいほど信号の強度が高いことを示す。
位置検出システム100において、位置決定装置101は、ビーコンBjから定期的に発信される無線信号を各ゲートウェイGiが受信した際の電波強度をもとに、ビーコンBjの位置に対応するゲートウェイGiを決定する。ただし、電波にはゆらぎがあるため、ある瞬間の電波強度だけに着目すると、ビーコンBjから最短距離にいないゲートウェイGiの位置が、ビーコンBjの位置として検出されてしまうおそれがある。
そこで、本実施の形態では、位置決定装置101は、ビーコンBjから定期的に発信される無線信号を、各ゲートウェイGiが所定期間T内に受信した際の電波強度の時系列変化に基づいて、ビーコンBjの位置に対応するゲートウェイGiを決定する。これにより、ビーコンBjの位置を高精度に検出することが可能となり、例えば、ビーコンBjを保持するユーザの位置をモニタリングすることができる。
以下の説明では、ある展示会場内の各ブースに各ゲートウェイGiを設置し、展示会場の来場者にビーコンBjを配布することで、来場者が展示会場内のどのブースの近くにいるのかをモニタリングする場合を想定する。また、ビーコンBjからは、1秒間隔で無線信号が定期的に発信される場合を想定する。
(位置決定装置101のハードウェア構成例)
図2は、位置決定装置101のハードウェア構成例を示すブロック図である。図2において、位置決定装置101は、CPU(Central Processing Unit)201と、メモリ202と、I/F(Interface)203と、ディスクドライブ204と、ディスク205と、を有する。また、各構成部は、バス200によってそれぞれ接続される。
ここで、CPU201は、位置決定装置101の全体の制御を司る。メモリ202は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU201のワークエリアとして使用される。メモリ202に記憶されるプログラムは、CPU201にロードされることで、コーディングされている処理をCPU201に実行させる。
I/F203は、通信回線を通じてネットワーク110に接続され、ネットワーク110を介して他の装置(例えば、図1に示したクライアント装置102やゲートウェイG1〜Gn)に接続される。そして、I/F203は、ネットワーク110と自装置内部とのインターフェースを司り、他の装置からのデータの入出力を制御する。I/F203には、例えば、モデムやLANアダプタなどを採用することができる。
ディスクドライブ204は、CPU201の制御に従ってディスク205に対するデータのリード/ライトを制御する。ディスク205は、ディスクドライブ204の制御で書き込まれたデータを記憶する。ディスク205としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
なお、位置決定装置101は、上述した構成部のほか、例えば、SSD(Solid State Drive)、キーボード、マウス、ディスプレイなどを有することにしてもよい。また、図2に示したクライアント装置102やゲートウェイGiについても、位置決定装置101と同様のハードウェア構成により実現することができる。
(ビーコンBjのハードウェア構成例)
図3は、ビーコンBjのハードウェア構成例を示すブロック図である。図3において、ビーコンBjは、MPU(Micro Processor Unit)301と、メモリ302と、RF部303と、各種センサ304と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
MPU301は、ビーコンBjの全体の制御を司る。メモリ302は、例えば、ROM、RAMなどを有する。具体的には、例えば、ROMが各種プログラムを記憶し、RAMがMPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、MPU301にロードされることで、コーディングされている処理をMPU301に実行させる。
RF部303は、無線信号を処理する。具体的には、例えば、RF部303は、バス300に出力されたデジタル信号をアナログ信号に変換し、無線周波数にアップコンバートして、アンテナ305に出力する。アンテナ305は、RF部303から出力された無線信号を送信する。
各種センサ304は、例えば、加速度センサ、照度センサ、地磁気センサ、温度センサ、気圧センサなどである。また、各種センサ304により検知されたセンシング情報は、メモリ302に記憶される。ただし、ビーコンBjは、各種センサ304を有していなくてもよい。
なお、ビーコンBjは、上述した構成部のほか、例えば、LED(Light Emitting Diode)やブザーなどを有することにしてもよい。また、ビーコンBjは、例えば、一次電池または二次電池により駆動する。
(測定結果情報の具体例)
つぎに、ゲートウェイGiから位置決定装置101に送信される測定結果情報の具体例について説明する。
図4は、測定結果情報の具体例を示す説明図である。図4において、測定結果情報400は、ゲートウェイIDと、ビーコンIDと、受信時刻と、電波強度と、を対応付けて示す。ゲートウェイIDは、ゲートウェイGiを一意に識別する識別子である。ゲートウェイIDとしては、例えば、ゲートウェイGiのMAC(Media Access Control)アドレスを用いることができる。
ビーコンIDは、ビーコンBjを一意に識別する識別子である。ビーコンIDとしては、例えば、ビーコンBjのMACアドレスを用いることができる。受信時刻は、ビーコンBjから送信された無線信号を受信した際の時刻(時:分:秒)を示す。電波強度は、ゲートウェイGiが受信した無線信号の強度を示す指標値である。電波強度としては、例えば、RSSI値(単位:dBm)を用いることができる。
具体的には、測定結果情報400は、ビーコンB1から送信された無線信号をゲートウェイG1が受信した際の受信時刻「1:58:53」および電波強度「−86」を示す。
(電波強度DB120の記憶内容)
つぎに、位置決定装置101が有する電波強度DB120の記憶内容について説明する。電波強度DB120は、例えば、図2に示したメモリ202、ディスク205などの記憶装置により実現される。
図5は、電波強度DB120の記憶内容の一例を示す説明図である。図5において、電波強度DB120は、ゲートウェイIDと、ビーコンIDと、電波強度情報と、を対応付けて記憶する。ゲートウェイIDは、ゲートウェイGiを一意に識別する識別子である。ビーコンIDは、ビーコンBjを一意に識別する識別子である。
電波強度情報は、各ゲートウェイGiが、各ビーコンBjから定期的に送信される無線信号を受信した際の受信時刻および電波強度を時系列に示す。例えば、ゲートウェイG1が、ビーコンB1から定期的に送信される無線信号を受信時刻「1:59:18」に受信した際の電波強度は「−83」である。
なお、ある時刻において、ビーコンBjの無線信号をゲートウェイGiが受信していなかった場合は、その時刻に対応する電波強度として「−(null)」が設定される。
(位置決定装置101の機能的構成例)
図6は、位置決定装置101の機能的構成例を示すブロック図である。図6において、位置決定装置101は、受信部601と、取得部602と、決定部603と、出力部604と、を含む構成である。受信部601〜出力部604は制御部となる機能であり、具体的には、例えば、図2に示したメモリ202やディスク205などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、I/F203により、その機能を実現する。各機能部の処理結果は、例えば、メモリ202やディスク205などの記憶装置に記憶される。
受信部601は、ビーコンBjから定期的に送信される無線信号を受信した際の受信時刻および電波強度を示す測定結果情報をゲートウェイGiから受信する。具体的には、例えば、受信部601は、図4に示したような測定結果情報400をゲートウェイG1から受信する。
なお、ゲートウェイGiは、例えば、ビーコンBjの無線信号を受信すると、その都度、位置決定装置101に測定結果情報を送信することにしてもよい。また、ゲートウェイGiは、一定時間(例えば、1分)ごとに、その間に受信した無線信号の受信時刻および電波強度を示す測定結果情報を位置決定装置101に送信することにしてもよい。
受信された測定結果情報は、例えば、電波強度DB120(例えば、図5参照)に記憶される。例えば、測定結果情報400が受信された場合、電波強度DB120内の電波強度情報に、ゲートウェイG1がビーコンB1から送信された無線信号を受信した際の受信時刻「1:58:53」および電波強度「−86」が記憶される。
取得部602は、ビーコンBjから定期的に発信される無線信号を、各ゲートウェイGiが所定期間T内に受信した際の電波強度の時系列変化を示す電波強度情報を取得する。所定期間Tは、過去のいずれかの期間であり、任意に設定可能である。例えば、所定期間Tは、現在時刻から所定期間Tの時間幅分遡った時刻を開始時刻とし、現在時刻を終了時刻とする期間に設定される。
所定期間Tの時間幅は、任意に設定可能である。例えば、所定期間Tの時間幅は、ビーコンBjから定期的に発信される無線信号の発信間隔に応じて設定される。より具体的には、例えば、所定期間Tの時間幅は、無線信号の発信間隔が1秒間隔の場合は10秒程度に設定され、無線信号の発信間隔が5秒間隔の場合は30秒程度に設定される。
ここで、所定期間Tの時間幅を「10秒」とし、所定期間Tを「現在時刻の10秒前の時刻から現在時刻までの期間」とする。この場合、取得部602は、例えば、電波強度DB120から、現在時刻の10秒前の時刻から現在時刻までの期間内に各ゲートウェイGiが無線信号を受信した際の受信時刻および電波強度を示す電波強度情報を取得する。
なお、電波強度情報の取得タイミングは、任意に設定可能である。具体的には、例えば、取得部602は、一定時間Ctが経過する度に、新たな電波強度情報を取得することにしてもよい。一定時間Ctは、任意に設定可能であり、例えば、ビーコンBjから定期的に発信される無線信号の発信間隔と同程度の時間(例えば、1秒)に設定される。
決定部603は、取得された電波強度情報に基づいて、ゲートウェイG1〜Gnの中から、ビーコンBjの位置に対応するゲートウェイGiを決定する。ここで、ビーコンBjの位置に対応するゲートウェイGiは、例えば、ビーコンBjから最短距離に位置するゲートウェイGiである。
以下の説明では、ビーコンBjの位置に対応するゲートウェイGiを「ビーコンBjの近傍ゲートウェイ」と表記する場合がある。
ここで、ビーコンBjの無線信号を受信した際の電波強度は、ある瞬間に着目すると、ビーコンBjに近いゲートウェイよりも遠くのゲートウェイが上回ることがあるが、所定期間T全体で見ると、ビーコンBjにより近いゲートウェイほど高くなる傾向にある。
このため、決定部603は、例えば、ゲートウェイG1〜Gnのうち、所定期間T内にビーコンBjの無線信号を受信した際の電波強度が最大となるゲートウェイGiを、ビーコンBjの近傍ゲートウェイに決定することにしてもよい。これにより、ビーコンBjの最短距離に位置するゲートウェイGiが瞬間的に無線信号を受信できないときがあっても、他のゲートウェイが近傍ゲートウェイとして決定されるのを防ぐことができる。
また、決定部603は、各ゲートウェイGiについて、所定期間T内にビーコンBjの無線信号を受信した際の電波強度についての積分値を算出することにしてもよい。そして、決定部603は、ゲートウェイG1〜Gnのうち、算出した電波強度についての積分値が最大となるゲートウェイGiを、ビーコンBjの近傍ゲートウェイに決定することにしてもよい。
これにより、所定期間T内においてビーコンBjの無線信号を受信した際の電波強度が他のゲートウェイよりも継続的に高くなっているゲートウェイGiを、ビーコンBjの近傍ゲートウェイとして決定することができる。なお、電波強度についての積分値に基づく近傍ゲートウェイの決定例については、図8を用いて後述する。
また、決定部603は、各ゲートウェイGiについて、所定期間T内にビーコンBjの無線信号を受信した際の電波強度についての分散値を算出することにしてもよい。そして、決定部603は、ゲートウェイG1〜Gnのうち、算出した電波強度についての分散値が最大となるゲートウェイGiを、ビーコンBjの近傍ゲートウェイに決定することにしてもよい。なお、電波強度についての分散値に基づく近傍ゲートウェイの決定例については、図9を用いて後述する。
また、決定部603は、算出した電波強度についての積分値が最大となるゲートウェイが2以上存在する場合に、当該2以上のゲートウェイそれぞれについて、電波強度についての分散値を算出することにしてもよい。そして、決定部603は、当該2以上のゲートウェイのうち、算出した電波強度についての分散値が最大となるゲートウェイGiを、ビーコンBjの近傍ゲートウェイに決定することにしてもよい。
これにより、電波強度についての積分値が最大となるゲートウェイを一意に特定できない場合に、電波強度についての分散値を算出して近傍ゲートウェイを決定することができる。なお、決定部603は、例えば、ゲートウェイ間での電波強度についての積分値の誤差が所定範囲(例えば、±5)内の場合には、そのゲートウェイ間で積分値が同一であると判断してもよい。
決定された決定結果は、例えば、ビーコン位置テーブル130に記憶される。具体的には、例えば、決定部603は、ビーコンBjのビーコンIDと対応付けて、決定したビーコンBjの位置に対応するゲートウェイGiのゲートウェイIDおよび位置検出時刻をビーコン位置テーブル130に記憶する。位置検出時刻は、ビーコンBjの位置が検出された時刻を示すものであり、例えば、所定期間Tの終了時刻(現在時刻)である。
ここで、図7を用いて、ビーコン位置テーブル130の記憶内容について説明する。ビーコン位置テーブル130は、例えば、図2に示したメモリ202、ディスク205などの記憶装置により実現される。
図7は、ビーコン位置テーブル130の記憶内容の一例を示す説明図である。図7において、ビーコン位置テーブル130は、ビーコンBjのビーコンIDと対応付けて、各位置検出時刻におけるビーコンBjの位置に対応するゲートウェイGiのゲートウェイIDを記憶する。
ビーコン位置テーブル130によれば、各位置検出時刻において、各ビーコンBjがどのゲートウェイGi近傍に位置しているのかを特定することができる。例えば、位置検出時刻「1:59:18」において、ビーコンB1がゲートウェイG3近傍に位置していると特定することができる。
図6の説明に戻り、出力部604は、ビーコンBjの識別情報と対応付けて、決定されたビーコンBjの位置に対応するゲートウェイGiの識別情報を出力する。出力部604の出力形式としては、例えば、メモリ202やディスク205などの記憶装置への記憶、I/F203による外部装置への送信、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。
具体的には、例えば、出力部604は、ビーコン位置テーブル130を参照して、一定時間Ctが経過する度に、最新の位置検出時刻における各ビーコンBjの位置を特定する位置情報を、クライアント装置102に送信することにしてもよい。位置情報は、例えば、各ビーコンBjのビーコンIDと、最新の位置検出時刻における近傍ゲートウェイのゲートウェイIDとを対応付けて示す情報である。
これにより、クライアント装置102において、図10に示すような監視画面1000をディスプレイ103に表示可能となり、来場者が展示会場内のどのブースの近くにいるのかをモニタリングすることができる。
(近傍ゲートウェイの決定例)
つぎに、図8および図9を用いて、近傍ゲートウェイの決定例について説明する。まず、図8を用いて、所定期間T内にビーコンBjの無線信号を受信した際の電波強度についての積分値に基づく近傍ゲートウェイの決定例について説明する。
図8は、電波強度の時系列変化を示す説明図(その1)である。図8において、現在時刻の10秒前の時刻から現在時刻までの所定期間T内に、各ゲートウェイG1,G2がビーコンB1の無線信号を受信した際の電波強度の時系列変化が示されている。図8中、◆は、ゲートウェイG1の電波強度を示し、■は、ゲートウェイG2の電波強度を示す。
ここで、ゲートウェイG1,G2の中から、ビーコンB1の近傍ゲートウェイを決定する場合について説明する。以下の説明では、所定期間T内にビーコンBjの無線信号を受信した時刻を「受信時刻t1〜tK」と表記する場合がある。また、受信時刻t1〜tKのうちの任意の受信時刻を「受信時刻tk」と表記し(k=1,2,…,K)、受信時刻tkに受信した無線信号の電波強度を「電波強度Rk」と表記する場合がある。
この場合、決定部603は、例えば、所定期間T内の各受信時刻tkに各ゲートウェイG1,G2がビーコンB1の無線信号を受信した際の電波強度Rkから閾値Rminを減算した値の積分値F1,F2を算出する。閾値Rminは、任意に設定可能であり、例えば、−90[dBm]〜−85[dBm]程度の値に設定される。
具体的には、例えば、決定部603は、下記式(1)を用いて、所定期間T内の各受信時刻tkにゲートウェイGiがビーコンBjの無線信号を受信した際の電波強度Rkから閾値Rminを減算した値の積分値Fiを算出することができる。ただし、閾値Rminより小さい値の電波強度の無線信号を受信した時刻、および、無線信号を受信していない時刻は無視する。
図8の例では、閾値Rminを「Rmin=−90[dBm]」とすると、ゲートウェイG1が所定期間T内の各受信時刻t1〜t10に受信した無線信号の電波強度R1〜R10から閾値Rminをそれぞれ減算した値は、「7,3,7,11,4,4,7,0,0,7」となる。ただし、閾値Rminより小さい値の電波強度から閾値Rminを減算した値を「0」としている。この場合、積分値F1は「50」となる。
一方、ゲートウェイG2が所定期間T内の各受信時刻t1〜t10に受信した無線信号の電波強度R1〜R10から閾値Rminをそれぞれ減算した値は、「0,3,0,1,3,0,2,1,0,0」となる。この場合、積分値F2は「10」となる。このため、決定部603は、ゲートウェイG1,G2のうち、算出した電波強度についての積分値が最大となるゲートウェイG1を、ビーコンB1の近傍ゲートウェイに決定する。
なお、決定部603は、各ゲートウェイG1,G2についての積分値F1,F2がいずれも「0」の場合には、ビーコンB1の近傍ゲートウェイを決定しない。すなわち、ビーコンBjがどのゲートウェイにも近くない場合は、決定部603は、ビーコンB1の近傍ゲートウェイを決定しない。
これにより、所定期間T内においてビーコンB1の無線信号を受信した際の電波強度がゲートウェイG2よりも継続的に高くなっているゲートウェイG1を、ビーコンB1の近傍ゲートウェイとして決定することができる。また、閾値Rminよりも小さい値の電波強度Rkを無視することができ、例えば、ビーコンBjがどのゲートウェイにも近くないにもかかわらず、いずれかのゲートウェイが近傍ゲートウェイとして決定されるのを防ぐことができる。
以下の説明では、所定期間T内の受信時刻tkにゲートウェイGiがビーコンBjの無線信号を受信した際の電波強度Rkから閾値Rminを減算した値を「実効電波強度(Rk−Rmin)」と表記する場合がある。
つぎに、図9を用いて、所定期間T内にビーコンBjの無線信号を受信した際の電波強度についての分散値に基づく近傍ゲートウェイの決定例について説明する。
図9は、電波強度の時系列変化を示す説明図(その2)である。図9において、現在時刻の10秒前の時刻から現在時刻までの所定期間T内に、各ゲートウェイG1,G2がビーコンB1の無線信号を受信した際の電波強度の時系列変化が示されている。図9中、◆は、ゲートウェイG1の電波強度を示し、■は、ゲートウェイG2の電波強度を示す。
ここで、ゲートウェイG1,G2の中から、ビーコンB1の近傍ゲートウェイを決定する場合について説明する。
この場合、決定部603は、例えば、各ゲートウェイG1,G2について、実効電波強度(Rk−Rmin)に、所定期間Tの開始時刻から受信時刻tkまでの時間間隔を乗算した値の分散値V1,V2を算出する。ここで、実効電波強度(Rk−Rmin)に、所定期間Tの開始時刻から受信時刻tkまでの時間間隔を乗算した値は、受信時刻tkが現在時刻(所定期間Tの終了時刻)に近いほど大きくなるように重み付けした値である。
以下の説明では、所定期間Tの開始時刻を「開始時刻ts」と表記する場合がある。また、実効電波強度(Rk−Rmin)に、所定期間Tの開始時刻tsから受信時刻tkまでの時間間隔を乗算した値を「重み付け実効電波強度{(tk−ts)×(Rk−Rmin)}」と表記する場合がある。
具体的には、例えば、決定部603は、下記式(2)および(3)を用いて、重み付け実効電波強度{(tk−ts)×(Rk−Rmin)}の分散値Viを算出することができる。ただし、μは、重み付け実効電波強度{(tk−ts)×(Rk−Rmin)}の平均である。Tは、所定期間Tの時間幅である。Snは、サンプリング間隔であり、例えば、上述した一定時間Ctに対応する。Rmaxは、測定可能な電波強度の最大値である。Rmaxは、例えば、−50[dBm]程度の値に設定される。
図9の例では、閾値Rminを「Rmin=−90[dBm]」とすると、ゲートウェイG1が所定期間T内の各受信時刻t1〜t10に受信した無線信号の電波強度R1〜R10から閾値Rminをそれぞれ減算した値は、「6,3,7,11,10,4,3,0,0,1」となる。ただし、閾値Rminより小さい値の電波強度から閾値Rminを減算した値を「0」としている。
一方、ゲートウェイG2が所定期間T内の各受信時刻t1〜t10に受信した無線信号の電波強度R1〜R10から閾値Rminをそれぞれ減算した値は、「1,0,3,4,0,3,7,11,8,8」となる。この場合、ゲートウェイG1の分散値V1よりも、ゲートウェイG2の分散値V2のほうが大きくなる。このため、決定部603は、ゲートウェイG1,G2のうち、算出した電波強度についての分散値が最大となるゲートウェイG2を、ビーコンB1の近傍ゲートウェイに決定する。
これにより、現在時刻(所定期間Tの終了時刻)により近い時刻ほど電波強度が高くなっているゲートウェイG2を、ビーコンB1の近傍ゲートウェイとして決定することができる。換言すれば、ビーコンB1の移動方向に存在するゲートウェイG2を、ビーコンB1の近傍ゲートウェイとして決定することができる。
例えば、ゲートウェイG1は、現在時刻に近づくにつれて、電波強度が低くなっているため、ビーコンB1が遠ざかっているといえる。これに対して、ゲートウェイG2は、現在時刻に近づくにつれて、電波強度が高くなっているため、ビーコンB1が近づいているといえる。
(監視画面1000の画面例)
つぎに、クライアント装置102のディスプレイ103に表示される監視画面1000の画面例について説明する。
図10は、監視画面1000の画面例を示す説明図である。図10において、監視画面1000は、ある位置検出時刻における各ビーコンB1〜B10の位置を示す画面である。監視画面1000には、各ビーコンB1〜B10の位置を示すアイコン1001〜1010が、各ビーコンB1〜B10の近傍ゲートウェイが設置された各ブースと対応付けて表示されている。
監視画面1000によれば、各ビーコンB1〜B10を保持する来場者が、展示会場内のどのブースの近くにいるのかをモニタリングすることができる。例えば、ブース6には、多くの来場者が集まっており、他のブースよりも人気のあるブースであると判断することができる。
(位置決定装置101の位置決定処理手順)
つぎに、位置決定装置101の位置決定処理手順について説明する。
図11および図12は、位置決定装置101の位置決定処理手順の一例を示すフローチャートである。図11のフローチャートにおいて、まず、位置決定装置101は、電波強度DB120から所定期間T内の電波強度情報を取得する(ステップS1101)。
なお、所定期間T内の電波強度情報は、ビーコンBjから定期的に発信される無線信号を、各ゲートウェイGiが所定期間T内に受信した際の電波強度の時系列変化を示す情報である。
つぎに、位置決定装置101は、ビーコンBjの「j」を「j=1」として(ステップS1102)、ビーコンB1〜BmからビーコンBjを選択する(ステップS1103)。つぎに、位置決定装置101は、ゲートウェイGiの「i」を「i=1」として(ステップS1104)、ゲートウェイG1〜GnからゲートウェイGiを選択する(ステップS1105)。
そして、位置決定装置101は、上記式(1)を用いて、実効電波強度(Rk−Rmin)の積分値Fiを算出する(ステップS1106)。なお、実効電波強度(Rk−Rmin)は、所定期間T内にゲートウェイGiがビーコンBjの無線信号を受信した際の電波強度から閾値Rminを減算した値である。ただし、閾値Rminより小さい値の電波強度から閾値Rminを減算した値を「0」としている。
つぎに、位置決定装置101は、ゲートウェイGiの「i」をインクリメントして(ステップS1107)、「i」が「n」より大きくなったか否かを判断する(ステップS1108)。ここで、「i」が「n」以下の場合(ステップS1108:No)、位置決定装置101は、ステップS1105に戻る。
一方、「i」が「n」より大きい場合(ステップS1108:Yes)、位置決定装置101は、図12に示すステップS1201に移行する。
図12のフローチャートにおいて、まず、位置決定装置101は、ゲートウェイG1〜Gnのうち、図11に示したステップS1106において算出した実効電波強度(Rk−Rmin)の積分値が最大のゲートウェイを特定する(ステップS1201)。そして、位置決定装置101は、実効電波強度(Rk−Rmin)の積分値が最大となるゲートウェイが2以上存在するか否かを判断する(ステップS1202)。
ここで、ゲートウェイが2以上存在しない場合(ステップS1202:No)、位置決定装置101は、実効電波強度(Rk−Rmin)の積分値が最大となるゲートウェイGiを、ビーコンBjの近傍ゲートウェイに決定して(ステップS1203)、ステップS1207に移行する。
一方、ゲートウェイが2以上存在する場合(ステップS1202:Yes)、位置決定装置101は、実効電波強度(Rk−Rmin)の積分値が最大となる各ゲートウェイGiについて、上記式(2)および(3)を用いて、重み付け実効電波強度{(tk−ts)×(Rk−Rmin)}の分散値Viを算出する(ステップS1204)。
つぎに、位置決定装置101は、実効電波強度(Rk−Rmin)の積分値が最大となる2以上のゲートウェイのうち、算出した重み付け実効電波強度{(tk−ts)×(Rk−Rmin)}の分散値が最大のゲートウェイを特定する(ステップS1205)。そして、位置決定装置101は、重み付け実効電波強度{(tk−ts)×(Rk−Rmin)}の分散値が最大のゲートウェイGiを、ビーコンBjの近傍ゲートウェイに決定する(ステップS1206)。
つぎに、位置決定装置101は、ビーコンBjのビーコンIDと対応付けて、決定した近傍ゲートウェイのゲートウェイIDおよび位置検出時刻をビーコン位置テーブル130に記憶する(ステップS1207)。そして、位置決定装置101は、ビーコンBjの「j」をインクリメントして(ステップS1208)、「j」が「m」より大きくなったか否かを判断する(ステップS1209)。
ここで、「j」が「m」以下の場合(ステップS1209:No)、位置決定装置101は、図11に示したステップS1103に移行する。一方、「j」が「m」より大きい場合(ステップS1209:Yes)、位置決定装置101は、ビーコン位置テーブル130を参照して、最新の位置検出時刻における各ビーコンBjの位置を特定する位置情報を、クライアント装置102に送信する(ステップS1210)。
つぎに、位置決定装置101は、図11に示したステップS1101において電波強度情報を取得してから、一定時間Ctが経過したか否かを判断する(ステップS1211)。ここで、一定時間Ctが経過していない場合(ステップS1211:No)、位置決定装置101は、クライアント装置102から処理終了指示を受け付けたか否かを判断する(ステップS1212)。
ここで、クライアント装置102から処理終了指示を受け付けていない場合(ステップS1212:No)、位置決定装置101は、ステップS1211に戻る。そして、ステップS1211において、一定時間Ctが経過した場合(ステップS1211:Yes)、位置決定装置101は、図11に示したステップS1101に移行する。
また、ステップS1212において、クライアント装置102から処理終了指示を受け付けた場合(ステップS1212:Yes)、位置決定装置101は、本フローチャートによる一連の処理を終了する。これにより、一定時間Ctごとに、各ビーコンBjの位置を検出することができる。
以上説明したように、実施の形態にかかる位置決定装置101によれば、ビーコンBjから定期的に発信される無線信号を、各ゲートウェイGiが所定期間T内に受信した際の電波強度の時系列変化を示す電波強度情報を取得することができる。そして、位置決定装置101によれば、取得した電波強度情報が示す電波強度の時系列変化に基づいて、ゲートウェイG1〜GnからビーコンBjの近傍ゲートウェイを決定することができる。
これにより、各ゲートウェイGiが所定期間T内に受信した無線信号の電波強度を総合的に判断して、ビーコンBjの近傍ゲートウェイを決定することができる。このため、電波のゆらぎにより受信時の電波強度が瞬間的に高くなったり低くなったりすることがあっても、最短距離に位置していないゲートウェイが近傍ゲートウェイとして決定されるのを防いで、ビーコンBjの位置を精度よく検出することができる。
また、位置決定装置101によれば、ゲートウェイG1〜Gnのうち、所定期間T内にビーコンBjの無線信号を受信した際の電波強度が最大となるゲートウェイGiを、ビーコンBjの近傍ゲートウェイに決定することができる。これにより、ビーコンBjの最短距離に位置するゲートウェイGiが瞬間的に無線信号を受信できないときがあっても、他のゲートウェイが近傍ゲートウェイとして決定されるのを防ぐことができる。
また、位置決定装置101によれば、各ゲートウェイGiについて、所定期間T内にビーコンBjの無線信号を受信した際の電波強度についての積分値を算出することができる。そして、位置決定装置101によれば、ゲートウェイG1〜Gnのうち、算出した電波強度についての積分値が最大となるゲートウェイGiを、ビーコンBjの近傍ゲートウェイとして決定することができる。
これにより、所定期間T内においてビーコンBjの無線信号を受信した際の電波強度が他のゲートウェイよりも継続的に高くなっているゲートウェイGiを、ビーコンBjの近傍ゲートウェイとして決定することができる。
また、位置決定装置101によれば、各ゲートウェイGiについて、所定期間Tにおける実効電波強度(Rk−Rmin)の積分値Fiを算出することができる。そして、位置決定装置101によれば、ゲートウェイG1〜Gnのうち、算出した実効電波強度(Rk−Rmin)の積分値が最大となるゲートウェイGiを、ビーコンBjの近傍ゲートウェイとして決定することができる。
これにより、閾値Rminよりも小さい電波強度Rkを無視することができ、どのゲートウェイの近くにもビーコンBjが位置していないにもかかわらず、いずれかのゲートウェイが近傍ゲートウェイとして決定されるのを防ぐことができる。
また、位置決定装置101によれば、各ゲートウェイGiについて、所定期間Tにおける重み付け実効電波強度{(tk−ts)×(Rk−Rmin)}の分散値Viを算出することができる。そして、位置決定装置101によれば、ゲートウェイG1〜Gnのうち、算出した重み付け実効電波強度{(tk−ts)×(Rk−Rmin)}の分散値が最大となるゲートウェイGiを、ビーコンBjの近傍ゲートウェイとして決定することができる。
これにより、現在時刻(所定期間Tの終了時刻)により近い時刻ほど電波強度が高くなっているゲートウェイGiを、ビーコンBjの近傍ゲートウェイとして決定することができる。このため、ビーコンBjが移動している場合に、ビーコンBjの移動方向に存在するゲートウェイGiを、ビーコンBjの近傍ゲートウェイとして決定することができる。
また、位置決定装置101によれば、電波強度についての積分値が最大となるゲートウェイが2以上存在する場合に、当該2以上のゲートウェイそれぞれについて、重み付け実効電波強度{(tk−ts)×(Rk−Rmin)}の分散値を算出することができる。これにより、ビーコンBjの近くに2以上のゲートウェイが位置している場合には、ビーコンBjの移動方向に存在するゲートウェイGiを、ビーコンBjの近傍ゲートウェイとして決定することができる。
また、位置決定装置101によれば、ビーコンBjのビーコンIDと対応付けて、決定したビーコンBjの近傍ゲートウェイのゲートウェイIDを出力することができる。これにより、近傍ゲートウェイの位置を、ビーコンBjの位置として検出することができる。
なお、本実施の形態で説明した位置決定方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本位置決定プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本位置決定プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
発信機から定期的に発信される無線信号を、複数の通信装置それぞれが所定期間内に受信した際の電波強度の時系列変化を示す電波強度情報を取得し、
取得した前記電波強度情報が示す前記電波強度の時系列変化に基づいて、前記複数の通信装置から前記発信機の位置に対応する通信装置を決定する、
処理を実行させることを特徴とする位置決定プログラム。
(付記2)前記決定する処理は、
前記複数の通信装置のうち、前記所定期間内に前記無線信号を受信した際の電波強度が最大となる通信装置を、前記発信機の位置に対応する通信装置に決定する、ことを特徴とする付記1に記載の位置決定プログラム。
(付記3)前記コンピュータに、
前記複数の通信装置それぞれについて、前記電波強度の時系列変化に基づいて、前記所定期間内に前記無線信号を受信した際の電波強度についての積分値を算出する、処理を実行させ、
前記決定する処理は、
前記複数の通信装置のうち、算出した前記積分値が最大となる通信装置を、前記発信機の位置に対応する通信装置に決定する、ことを特徴とする付記1または2に記載の位置決定プログラム。
(付記4)前記積分値は、前記所定期間内に前記無線信号を受信した際の電波強度から閾値を減算した値の積分値である、ことを特徴とする付記3に記載の位置決定プログラム。
(付記5)前記コンピュータに、
前記複数の通信装置それぞれについて、前記電波強度の時系列変化に基づいて、前記所定期間内に前記無線信号を受信した際の電波強度から閾値を減算した値に、前記所定期間の開始時刻から前記無線信号の受信時刻までの時間間隔を乗算した値の分散値を算出する、処理を実行させ、
前記決定する処理は、
前記複数の通信装置のうち、算出した前記分散値が最大となる通信装置を、前記発信機の位置に対応する通信装置に決定する、ことを特徴とする付記1〜4のいずれか一つに記載の位置決定プログラム。
(付記6)前記コンピュータに、
前記発信機の識別情報と対応付けて、決定した前記発信機の位置に対応する通信装置の識別情報を出力する、処理を実行させることを特徴とする付記1〜5のいずれか一つに記載の位置決定プログラム。
(付記7)前記コンピュータに、
前記複数の通信装置それぞれについて、前記電波強度の時系列変化に基づいて、前記所定期間内に前記無線信号を受信した際の電波強度についての積分値を算出し、
算出した前記積分値が最大となる通信装置が2以上存在する場合に、当該2以上の通信装置それぞれについて、前記電波強度の時系列変化に基づいて、前記所定期間内に前記無線信号を受信した際の電波強度から閾値を減算した値に、前記所定期間の開始時刻から前記無線信号の受信時刻までの時間間隔を乗算した値の分散値を算出する、
処理を実行させ、
前記決定する処理は、
前記2以上の通信装置のうち、算出した前記分散値が最大となる通信装置を、前記発信機の位置に対応する通信装置に決定する、ことを特徴とする付記1に記載の位置決定プログラム。
(付記8)コンピュータが、
発信機から定期的に発信される無線信号を、複数の通信装置それぞれが所定期間内に受信した際の電波強度の時系列変化を示す電波強度情報を取得し、
取得した前記電波強度情報が示す前記電波強度の時系列変化に基づいて、前記複数の通信装置から前記発信機の位置に対応する通信装置を決定する、
処理を実行することを特徴とする位置決定方法。
(付記9)発信機から定期的に発信される無線信号を、複数の通信装置それぞれが所定期間内に受信した際の電波強度の時系列変化に基づいて、前記複数の通信装置から前記発信機の位置に対応する通信装置を決定する制御部、
を有することを特徴とする位置決定装置。