以下、高い精度をもって発信機を探索できる発信機探索装置の実施形態について、図面を用いて説明する。
なお、この実施形態では、店舗、商業施設、イベント会場等の施設の適所に配置されたビーコンを探索するビーコン探索装置(以下、探索装置と称する)を例示する。ビーコンは、BLEの規格に則り当該ビーコン固有のIDを含むビーコン信号を数秒に1回、半径数十メートル範囲に発信するもので、発信機の一態様である。
[第1の実施形態]
図1は、本実施形態に係る探索装置10の要部回路構成を示すブロック図である。探索装置10は、携帯可能な筺体に、プロセッサ11、メモリ12、送受信回路13、センサユニット14、入力デバイス15、表示デバイス16、撮像デバイス17、無線ユニット18及びシステム伝送路19を備えた携帯型の電子機器である。システム伝送路19は、アドレスバス、データバス、制御信号線等を含む。システム伝送路19は、プロセッサ11と、メモリ12、送受信回路13、センサユニット14、入力デバイス15、表示デバイス16、撮像デバイス17及び無線ユニット18とを直接または信号入出力回路を介して接続する。
プロセッサ11は、探索装置10の中枢部分に相当する。プロセッサ11は、オペレーティングシステムやアプリケーションプログラムに従って、探索装置10としての各種の機能を実現するべく各部を制御する。
メモリ12は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。メモリ12は、不揮発性のメモリ領域ではオペレーティングシステムやアプリケーションプログラム等を記憶する。またメモリ12は、プロセッサ11が各部を制御するための処理を実行する上で必要なデータを不揮発性または揮発性のメモリ領域で記憶する。さらにメモリ12は、揮発性のメモリ領域を、プロセッサ11によってデータが適宜書き換えられるワークエリアとする。
送受信回路13は、ビーコンから発信されるビーコン信号を受信し、そのビーコン信号からビーコンIDを検出する。ビーコンIDは、ビーコン毎に設定された固有のコードであって、ビーコン信号に含まれる。また送受信回路13は、電波受信強度を測定するためのRSSI(Received Signal Strength Indication)測定回路131を含み、受信したビーコン信号の電波受信強度、いわゆるRSSI値を測定する。そして送受信回路13は、ビーコン信号を受信する毎に、そのビーコン信号から検出したビーコンIDとRSSI測定回路131で測定されたRSSI値とを対にして、プロセッサ11に供給する。ここに、送受信回路13は、受信部を構成し、RSSI測定回路131は測定部を構成する。
センサユニット14は、PDR(Pedestrian Dead Reckoning:歩行者自律航法)と呼ばれる技術を利用して探索装置10の移動状態を計測するために用いるセンサを含む。すなわちセンサユニット14は、PDRに必要とされる加速度センサ、ジャイロセンサ(角速度センサ)、地磁気センサ(電子コンパス)等を含む。センサユニット14によって測定された値は、プロセッサ11へと与えられる。プロセッサ11は、各センサの測定値に基づいて、探索装置10がどの方向にどの程度移動したかという情報、つまりは移動方向(角度)と移動量(距離)とをリアルタイムに計測する。
入力デバイス15は、タッチパネル、ポインティングデバイス、キーボード等である。表示デバイス16は、液晶ディスプレイ、LEDディスプレイ等である。入力デバイス15及び表示デバイス16は、探索装置10を使用してビーコンを探索するユーザとのインターフェースとして作用する。
撮像デバイス17は、CMOS(Complementary Metal Oxide Semiconductor)カメラ、CCD(Charge Coupled Device)カメラ等の小型のデジタルカメラである。撮像デバイス17は、探索装置10の進行方向を撮像するように探索装置10に取り付けられる。
無線ユニット18は、無線LAN(Local Area Network)を介して他の機器と無線通信を行う。他の機器は、サーバとしてのコンピュータを含む。
かかる構成の探索装置10としては、スマートフォン、タブレット端末、ノートパソコン等の周知の携帯可能なコンピュータ機器を適用することができる。
図2乃至図4は、探索装置10のプロセッサ11が探索プログラムに従って実行する処理の要部手順を示す流れ図であり、図5及び図6は、探索プログラムによるビーコン探索アルゴリズムの説明図である。探索プログラムは、メモリ12に記憶されたアプリケーションプログラムの1種である。以下、ユーザが探索装置10を用いて所望のビーコンを探索する際の探索装置10の動作について、図2乃至図6を用いて説明する。なお、図2乃至図6に示すとともに以下に説明する処理の内容は一例であって、同様な結果を得ることが可能であればその処理手順及び処理内容は特に限定されるものではない。
はじめに、ユーザは、入力デバイス15を操作して探索プログラムを起動する。探索プログラムが起動すると、プロセッサ11は、図2の流れ図に示す手順の処理を開始する。先ずプロセッサ11は、送受信回路13でビーコン信号を受信したビーコンのリストを作成し、そのビーコンリストを表示デバイス16に表示させる。ビーコンリストは、ビーコン信号に含まれるビーコンIDを一覧にしたものである。ビーコンIDと対応付けてビーコン名称を設定したデータテーブルをメモリ12で記憶し、ビーコンIDの代わりにビーコン名称を一覧としたビーコンリストを表示させてもよい。あるいは、探索装置10と無線LANを介して接続されるサーバが上記データテーブルを備え、探索装置10が、サーバから無線通信を利用してビーコンIDと対応付けられたビーコン名称を取得して、ビーコンリストを表示させてもよい。
ビーコンリストを確認したユーザは、入力デバイス15を操作して探索対象となる1つのビーコンを選択する。プロセッサ11は、Act2として、探索対象となる1つのビーコン、いわゆる探索ビーコンが選択されるのを待ち受ける。そしてプロセッサ11は、ビーコンリストの中から1つの探索ビーコンが選択されたことを検知すると(Act2、YES)、Act3として、その探索ビーコンから発信されるビーコン信号の電波受信強度E1を送受信回路13から取得し、メモリ12の第1ワークエリアに記録する。ここに、メモリ12は、記憶部を構成する。
プロセッサ11は、Act4として、センサユニット14を構成する各センサの測定値を基に、PDRの技術を利用して探索装置10の基点Oと進行方向Yとを決定する。基点Oは、探索装置10の現在位置である。進行方向Yは、探索装置10の移動方向である。すなわちプロセッサ11は、自律移動する探索装置10を測位対象として、PDRで必要とされる各センサの測定値により探索装置10の位置と移動方向を随時計測し、現時点の位置を基点Oとして決定し、移動方向を信号方向Yとして決定する。
図5の状態[I]は、探索装置10の現在位置である基点O及びその進行方向Yと探索ビーコンBとの位置関係の一例を示している。また、探索ビーコンBから発信されるビーコン信号の電波受信強度E1がー60dBであった場合を示している。電波受信強度E1がー60dBであることから、基点Oから探索ビーコンBまでの距離dは推定できる。しかし、探索ビーコンBの位置は、基点Oを中心とし、距離dを半径とした円Cの略円周上にあることしかわからない。
そこでプロセッサ11は、Act5として、ユーザに対して基点Oから進行方向Yへの移動を案内する第1画像SC1(図7を参照)を表示デバイス16に表示させる。
図7は、第1画像SC1の一表示例である。同図において、太矢印の画像G1が進行方向Yを示している。プロセッサ11は、撮像デバイス17によって撮像される実画像を取得する。そしてプロセッサ11は、この実画像に、画像G1を重畳させた拡張現実画像を作成し、この拡張現実画像を第1画像SC1として表示デバイス16に表示させる。
ここに、プロセッサ11は、Act5の処理を実行することにより第1の案内手段を構成する。すなわちプロセッサ11は、第1の地点(基点O)から第1の方向(進行方向Y)への移動を案内する。詳しくは、プロセッサ11は、撮像手段(撮像デバイス17)により撮像された実空間の画像に重ねて案内のための画像G1を表示部(表示デバイス16)に表示させることで案内する。
第1画像SC1を確認したユーザは、画像G1の矢印が示す方向へと移動する。このとき、第1画像SC1には矢印の画像G1とともに進行方向Yの実画像が表示される。したがってユーザは、矢印が示す方向へと移動しやすい。
プロセッサ11は、Act6として、センサユニット14を構成する各センサの測定値を基に、PDRの技術を利用して探索装置10の移動方向を検出する。そしてプロセッサ11は、Act7として、移動方向が進行方向Yに合致しているか否かを判定する。
移動方向が進行方向Yからずれている場合(Act7、NO)、プロセッサ11は、Act8として、移動方向の修正を指示する画像を表示デバイス16に表示させる。例えば移動方向が進行方向Yに対して右に10度ずれている場合には、第1画像CS1に表示されている矢印の画像G1を左に10度傾けることで、修正を指示する。その後、プロセッサ11は、Act6に戻る。すなわちプロセッサ11は、探索装置10の移動方向を検出して、移動方向が進行方向Yに合致しているか否かを再び判定する。
移動方向が進行方向Yに合致している場合には(Act7、YES)、プロセッサ11は、Act9として、探索ビーコンBから発信されるビーコン信号の電波受信強度E2を送受信回路13から取得し、メモリ12の第2ワークエリアに記録する。そしてプロセッサ11は、Act10として、メモリ12の第1ワークエリアに記録した電波受信強度E1と、第2ワークエリアに記録した電波受信強度E2との差分値を求める。差分値は、基点Oにおける電波受信強度E1と現地点における電波受信強度E2との変化量(E2−E1)である。プロセッサ11は、この変化量(E2−E1)が所定値±e[dB]以上になったか否かを判定する。
電波受信強度は、探索装置10が基点Oから探索ビーコンBに近づく方向に移動すると強くなり、遠ざかる方向に移動すると弱くなる。したがって、どちらの方向に移動しても、どこかで変化量(E2−E1)は値±e[dB]以上となる。
電波受信強度の変化量(E2−E1)が所定値±e[dB]以上でない場合(Act10、NO)、プロセッサ11は、Act6に戻る。すなわちプロセッサ11は、探索装置10の移動方向を検出して、移動方向が進行方向Yに合致しているか否かを再び判定する。
電波受信強度の変化量(E2−E1)が所定値±e[dB]以上になった場合には(Act10、YES)、プロセッサ11は、Act11として移動の停止を指示する画像を表示デバイス16に表示させる。
図5の状態[II]は、電波受信強度の変化量(E2−E1)が所定値±e[dB]以上となったときの探索装置10の現地点p1と、探索ビーコンBとの位置関係の一例を示している。所定値±e[dB]は±8[dB]としている。つまり、探索装置10が基点Oから探索ビーコンBへと近づく方向に移動し、地点p1にて電波受信強度E2が−52[dB]に達した状態を示している。この状態では、探索装置10の進行方向Yと直交しかつ基点Oを通る軸をX軸としたとき、探索ビーコンBは、X軸よりも進行方向Yの方向、つまりは領域A1の中に存在していると推定できる。因みに、探索装置10が基点Oから探索ビーコンBに対して遠ざかる方向に移動し、電波受信強度E2が−68[dB]に達した場合には、探索ビーコンBは、X軸よりも進行方向Yと逆の方向に存在していると推定できる。
Act11において、移動停止を指示したプロセッサ11は、Act12として、電波受信強度E2が電波受信強度E1よりも大きいか否かを判定する。電波受信強度E2が電波受信強度E1よりも大きい場合(Act12、YES)、プロセッサ11は、Act13として、探索ビーコンBの存在領域が、X軸よりも進行方向Yの領域であると認識する。これに対し、電波受信強度E2が電波受信強度E1よりも小さい場合には(Act12、NO)、プロセッサ11は、Act14として、探索ビーコンBの存在領域が、X軸よりも進行方向Yと逆の方向「−Y」の領域であると認識する。
Act13またはAct14の処理を終えると、プロセッサ11は、図3のAct15としてユーザに対して地点p1から進行方向「−X」への移動を案内する第2画像SC2(図8を参照)を表示デバイス16に表示させる。進行方向「−X」は、進行方向Yに対して直交する一方向(進行方向Yを前方とした場合、左方向)である。
図8は、第2画像SC2の一表示例である。同図において、太矢印の画像G2が進行方向「−X」を示している。プロセッサ11は、撮像デバイス17によって撮像される実画像を取得する。そしてプロセッサ11は、この実画像に、画像G2を重畳させた拡張現実画像を作成し、この拡張現実画像を第2画像SC2として表示デバイス16に表示させる。
ここに、プロセッサ11は、Act15の処理を実行することにより第2の案内手段を構成する。すなわちプロセッサ11は、第1の地点(基点O)から第1の方向(進行方向Y)へと移動したことで電波受信強度が所定値±e[dB]だけ増減した地点(地点p1)から第2の方向(進行方向「−X」)への移動を案内する。詳しくは、プロセッサ11は、撮像手段(撮像デバイス17)により撮像された実空間の画像に重ねて案内のための画像G2を表示部(表示デバイス16)に表示させることで案内する。
第2画像SC2を確認したユーザは、画像G2の矢印が示す方向へと移動する。このとき、第2画像SC2には矢印の画像G2とともに進行方向「−X」の実画像が表示される。したがってユーザは、矢印が示す方向へと移動しやすい。
プロセッサ11は、Act16として、センサユニット14を構成する各センサの測定値を基に、PDRの技術を利用して探索装置10の移動方向を検出する。そしてプロセッサ11は、Act17として、移動方向が進行方向「−X」に合致しているか否かを判定する。
移動方向が進行方向「−X」からずれている場合(Act17、NO)、プロセッサ11は、Act18として、移動方向の修正を指示する画像を表示デバイス16に表示させる。例えば移動方向が進行方向「−X」に対して左に15度ずれている場合には、第2画像CS2に表示されている矢印の画像G2を時計方向に15度回転させることで、修正を指示する。その後、プロセッサ11は、Act16に戻る。すなわちプロセッサ11は、探索装置10の移動方向を再度検出して、移動方向が進行方向「−X」に合致しているか否かを再び判定する。
移動方向が進行方向「−X」に合致する場合には(Act17、YES)、プロセッサ11は、Act19として、探索ビーコンBから発信されるビーコン信号の電波受信強度E3を送受信回路13から取得し、メモリ12の第3ワークエリアに記録する。そしてプロセッサ11は、Act20として、メモリ12の第2ワークエリアに記録した電波受信強度E2と、第3ワークエリアに記録した電波受信強度E3との差分値を求める。差分値は、地点p1における電波受信強度E2と現地点における電波受信強度E3との変化量(E3−E2)である。プロセッサ11は、この変化量(E3−E2)が所定値±e[dB]以上になったか否かを判定する。
電波受信強度は、探索装置10が地点p1から探索ビーコンBに近づく方向に移動すると強くなり、遠ざかる方向に移動すると弱くなる。したがって、どちらの方向に移動しても、どこかで変化量(E3−E2)は値±e[dB]以上となる。
電波受信強度の変化量(E3−E2)が所定値±e[dB]以上でない場合(Act20、NO)、プロセッサ11は、Act16に戻る。すなわちプロセッサ11は、探索装置10の移動方向を検出して、移動方向が進行方向「−X」に合致しているか否かを再び判定する。
電波受信強度の変化量(E3−E2)が所定値±e[dB]以上になった場合には(Act20、YES)、プロセッサ11は、Act21として移動の停止を指示する画像を表示デバイス16に表示させる。
図5の状態[III]は、電波受信強度の変化量(E3−E2)が所定値±e[dB]以上とったときの探索装置10の現地点p2と、探索ビーコンBとの位置関係の一例を示している。所定値±e[dB]は±8[dB]としている。つまり、探索装置10が地点p1から探索ビーコンBに対して遠ざかる方向に移動し、地点p2にて電波受信強度E3が−60[dB]に達した状態を示している。この状態では、X軸と直交しかつ基点Oと地点p1とを通る軸をY軸としたとき、探索ビーコンBは、X軸よりも進行方向Yの領域でかつY軸よりも進行方向「−X」と逆の領域、つまりは領域A2に存在していると推定できる。
Act21において、移動停止を指示したプロセッサ11は、Act22として、電波受信強度E3が電波受信強度E2よりも大きいか否かを判定する。電波受信強度E3が電波受信強度E2よりも大きい場合(Act22、YES)、プロセッサ11は、Act23として、探索ビーコンBの存在領域が、Y軸よりも移動方向「−X」の領域であると認識する。これに対し、電波受信強度E3が電波受信強度E2よりも小さい場合には(Act22、NO)、プロセッサ11は、Act24として、探索ビーコンBの存在領域が、Y軸よりも移動方向「−X」と逆の方向Xの領域であると認識する。
ここにプロセッサ11は、Act3乃至Act24の処理を実行することにより推定手段を構成する。すなわちプロセッサ11は、探索装置10が、第1の地点(基点O)から第1の方向Yに移動し、さらに当該第1の方向Yに対して直交する第2の方向「−X」に移動したときの探索ビーコンBからのビーコン信号の電波受信強度の変化から、探索ビーコンBの存在領域を推定する。
Act23またはAct24の処理を終えると、プロセッサ11は、Act25として、メモリ12の第3ワークエリアに記録した電波受信強度E3が第1ワークエリアに記録した電波受信強度E1と等しいか否かを確認する。電波受信強度E3が電波受信強度E1と等しい場合(Act25、YES)、プロセッサ11は、図4のAct30へと進む。電波受信強度E3が電波受信強度E1と等しくない場合には(Act25、NO)、プロセッサ11は、図4のAct26乃至Act29の処理を実行した後、Act30へと進む。
Act26では、プロセッサ11は、電波受信強度が第1ワークエリアに記録した電波受信強度E1となる地点を探索することを指示する画像を表示デバイス16に表示させる。例えばプロセッサ11は、「電波受信強度がE1となる地点を探してください」なるメッセージを含む画像を表示デバイス16に表示させる。
画像を確認したユーザは、探索装置10を携帯してゆっくりと施設内を任意の方向に移動する。
プロセッサ11は、Act27として、探索ビーコンBから発信されるビーコン信号の電波受信強度E4を送受信回路13から取得する。そしてプロセッサ11は、Act28として、メモリ12の第1ワークエリアに記録された電波受信強度E1と電波受信強度E4とを比較する。この比較の結果、電波受信強度E4が電波受信強度E1と一致しない場合には(Act28、NO)、プロセッサ11は、Act27に戻る。すなわちプロセッサ11は、再度、送受信回路13から電波受信強度E4を取得する。
電波受信強度E4が電波受信強度E1と一致したならば(Act28、YES)、プロセッサ11は、Act29として移動の停止を指示する画像を表示デバイス16に表示させる。その後、プロセッサ11は、Act30へと進む。
Act30では、プロセッサ11は、電波受信強度E3または電波受信強度E4が電波受信強度E1と一致したときの探索装置10の現在位置を地点Pと決定する。
図5の状態[IV]は、地点p2での電波受信強度E3が電波受信強度E1と一致したために、その地点p2を地点Pと決定したときの基点Oと地点Pと探索ビーコンBとの位置関係の一例を示している。
プロセッサ11は、Act31として、電波受信強度E1から換算される距離dを算出する。そしてプロセッサ11は、Act32として、基点O及び地点Pの位置と、距離dとにより、探索ビーコンBの位置を決定する。すなわちプロセッサ11は、先ず、基点Oを中心とし距離dを半径とする第1の円C1を作成する。次いでプロセッサ11は、地点Pを中心とし距離dを半径とする第2の円C2を作成する。そしてプロセッサ11は、第1の円C1と第2の円C2とが交差する交点のうち、領域A2に存在する交点を探索ビーコンBの位置とする。
ここにプロセッサ11は、Act25乃至Act30の処理により、検出手段を構成する。すなわちプロセッサ11は、記憶部(メモリ12)に記憶される電波受信強度E1と同じ強度が測定部(RSSI測定回路131)で測定される第1の地点(基点O)とは異なる第2の地点P1を検出する。
またプロセッサ11は、Act31及びAct32の処理により決定手段を構成する。すなわちプロセッサ11は、推定手段(Act3乃至Act24)により推定される領域A2において、第1の地点(基点O)を中心としかつ記憶部(メモリ12)に記憶された電波受信強度E1から換算される距離dを半径とする第1の円C1と、第2の地点(地点P)を中心としかつ距離dを半径とする第2の円C2との交点を、探索ビーコンBの位置と決定する。
こうして、探索ビーコンBの位置を決定したならば、プロセッサ11は、Act33として、地点Pから探索ビーコンBの方向へと案内する第3画像SC3(図9を参照)を表示デバイス16に表示させる。
図9は、第3画像SC3の一表示例である。同図において、太矢印の画像G3が探索ビーコンBの方向を示している。プロセッサ11は、撮像デバイス17によって撮像される実画像を取得する。そしてプロセッサ11は、この実画像に、画像G3を重畳させた拡張現実画像を作成し、この拡張現実画像を第3画像SC3として表示デバイス16に表示させる。
ここに、プロセッサ11は、Act33の処理を実行することにより第3の案内手段を構成する。すなわちプロセッサ11は、決定手段(Act31及びAct32)により決定された探索ビーコンBの位置へと案内する。詳しくは、プロセッサ11は、撮像手段(撮像デバイス17)により撮像された実空間の画像に重ねて案内のための画像G3を表示部(表示デバイス16)に表示させることで案内する。
第3画像SC3を確認したユーザは、画像G3の矢印が示す方向へと移動する。このとき、第3画像SC3には矢印の画像G3とともに進行方向の実画像が表示される。したがってユーザは、矢印が示す方向へと移動しやすい。
プロセッサ11は、Act34として、センサユニット14を構成する各センサの測定値を基に、PDRの技術を利用して探索装置10の移動方向を検出する。そしてプロセッサ11は、Act35として、移動方向が探索ビーコンBの方向に合致しているか否かを判定する。移動方向が探索ビーコンBの方向からずれている場合(Act35、NO)、プロセッサ11は、Act36として、Act8又はAct18と同様に、移動方向の修正を指示する画像を表示デバイス16に表示させる。その後、プロセッサ11は、Act35に戻る。すなわちプロセッサ11は、探索装置10の移動方向を再度検出して、移動方向が探索ビーコンBの方向に合致しているか否かを再び判定する。
移動方向が探索ビーコンBの方向に合致する場合には(Act35、YES)、プロセッサ11は、Act37として、探索装置10が探索ビーコンBの位置に到達したか否かを判定する。探索装置10が探索ビーコンBの位置に到達していない場合(Act37、NO)、プロセッサ11は、Act35に戻る。すなわちプロセッサ11は、探索装置10の移動方向を再度検出して、移動方向が探索ビーコンBの方向に合致しているか否かを再び判定する。
探索装置10が探索ビーコンBの位置に到達したと判定すると(Act37、YES)、プロセッサ11は、Act38として探索ビーコンBの位置に到達したことを示す第4画像SC4を表示デバイス16に表示させる。
図10は、第4画像SC4の一表示例である。同図において、星印の画像G4が探索ビーコンBの位置を示している。プロセッサ11は、撮像デバイス17によって撮像される実画像を取得する。そしてプロセッサ11は、この実画像に、画像G4を重畳させた拡張現実画像を作成し、この拡張現実画像を第4画像SC4として表示デバイス16に表示させる。
ここにプロセッサ11は、Act38の処理を実行することにより報知手段を構成する。すなわちプロセッサ11は、決定手段(Act31及びAct32)により決定された探索ビーコンBの位置に到達したときに、表示デバイス16に第4画像SC4を表示させることで報知する。
第4画像SC4を確認したユーザは、画像G4の星印が示す近辺を探索する。このとき、第4画像SC4には星印の画像G4とともにその周辺の実画像が表示される。したがってユーザは、探索ビーコンBを探索しやすい。
以上で、プロセッサ11は、探索プログラムに従った情報処理を終了する。
ところで上記実施形態の説明では、図3のAct15において、プロセッサ11は、ユーザに対して地点p1から進行方向「−X」への移動を案内する第2画像SC2を表示デバイス16に表示させた。この点に関しては、プロセッサ11は、ユーザに対して地点p1から進行方向Xへの移動を案内する第2画像SC2を表示デバイス16に表示させてもよい。
図6は、地点p1から進行方向Xへと移動した場合の状態説明図である。図6の[V]は、地点p1から進行方向Xへと移動したことで電波受信強度の変化量(E3−E2)が所定値±e[dB]以上となったときの探索装置10の現地点p2と、探索ビーコンBとの位置関係の一例を示している。所定値±e[dB]は±8[dB]としている。つまり、探索装置10が地点p1から探索ビーコンBに対して近づく方向に移動し、地点p2にて電波受信強度E3が−44[dB]に達した状態を示している。この場合も探索ビーコンBは、X軸よりも進行方向Yの領域でかつY軸よりも進行方向Xの領域A2に存在していると推定できる。そしてこの場合には、図3のAct25において電波受信強度E3が電波受信強度E1と一致しないため、図4のAct26乃至Act30の処理が実行される。その結果、電波受信強度E4が電波受信強度E1と等しい地点Pが決定される。
図6の状態[VI]は、地点p2から任意の方向に移動し、電波受信強度E4が電波受信強度E1と等しい地点Pに到達したときの基点Oと地点Pと探索ビーコンBとの位置関係の一例を示している。この場合もプロセッサ11は、電波受信強度E1から換算される距離dを算出する。そしてプロセッサ11は、先ず、基点Oを中心とし距離dを半径とする第1の円C1を作成する。次いでプロセッサ11は、地点Pを中心とし距離dを半径とする第2の円C2を作成する。そしてプロセッサ11は、第1の円C1と第2の円C2とが交差する交点のうち、領域A2に存在する交点を探索ビーコンBの位置とする。
以上詳述したように、本実施形態によれば、ユーザが探索装置10を携帯し、その表示デバイス16に表示される案内に従って施設内を移動するだけで、探索ビーコンBの位置を精度よく特定することができる。したがって、探索ビーコンBの探索に要する時間を短縮できるので、探索作業の処理効率を向上させることができる。
その上、表示デバイス16に表示される案内の画像は、撮像デバイス17で撮像された実画像を表示させた拡張現実画像であるので、ユーザは、案内に従って移動しやすいメリットがある。
なお、図3のAct20の処理で用いる所定値±e[dB]は、Act10の処理で用いる所定値±e[dB]と必ずしも一致していなくてもよい。ただし、一致させることによって、Act25において、電波受信強度E3が電波受信強度E1と等しくなる場合がある。電波受信強度E3が電波受信強度E1と等しい場合には、Act26乃至Act29の処理が省略される。したがって、探索時間を短縮できる効果を奏する。
[第2の実施形態]
次に、探索装置10の第2の実施形態について、図11及び図12を用いて説明する。
図11は、第2の実施形態における探索装置10の要部回路構成を示すブロック図である。図11において、第1の実施形態で説明した図1と共通する部分には同一符号を付している。すなわち第2の実施形態の探索装置10は、振動ユニット110を追加している。振動ユニット110は、システム伝送路19を介してプロセッサ11に接続されている。振動ユニット110は、スマートフォン、タブレット端末等に搭載されている周知のものであってよい。
図12は、第2の実施形態において、探索装置10のプロセッサ11が、探索プログラムに従って実行する処理の一部を簡略化して示す流れ図であり、第1の実施形態で説明した図2乃至図4と共通する部分には同一符号を付している。すなわち図12は、Act1乃至Act33までの処理手順は、第1の実施形態と同一であることを示している。
第2の実施形態では、Act33の処理の後、プロセッサ11は、Act34として、振動ユニット110を第1の振動パターンで振動させる。第1の振動パターンは任意である。例えば第1の振動パターンは、第1の時間t1の振動を周期的に繰り返すパターンであってもよい。あるいは第1の振動パターンは、一定の振動を第2の時間t2だけ継続させるパターンであってもよい。第1の振動パターンの振動を確認したユーザは、探索ビーコンBの位置が推定され、その推定された方向への移動が案内されたことを感覚的に知ることができる。
その後、プロセッサ11は、第1の実施形態で説明したAct34乃至Act38の処理と同様の処理を実行する.ただし、プロセッサ11は、Act36において、移動方向の修正を指示する画像を表示デバイス16に表示させた際に、Act42として、振動ユニット110を第2の振動パターンで振動させる。第2の振動パターンは、第1の振動パターンとは異なる任意の振動パターンである。例えば第2の振動パターンは、第1の時間t1とは異なる第3の時間t3の振動を周期的に繰り返すパターンであってもよい。あるいは第2の振動パターンは、一定の振動を移動方向が探察ビーコンBの方向となるまで継続させるパターンであってもよい。第2の振動パターンの振動を確認したユーザは、移動方向がずれていることを感覚的に知り得る。
またプロセッサ11は、Act38において、第4画像SC4を表示デバイス16に表示させた際に、Act43として、振動ユニット110を第3の振動パターンで振動させる。第3の振動パターンは任意である。例えば第3の振動パターンは、第1の時間t1又は第3の時間t3とは異なる第4の時間t4だけ振動を周期的に繰り返すパターンであってもよい。あるいは第3の振動パターンは、一定の振動を確認操作がなされるまで継続させるパターンであってもよい。確認操作は、ユーザの入力デバイス15に対する操作の一種である。第3の振動パターンの振動を確認したユーザは、探索ビーコンBの位置に到達したことを感覚的に知り得る。
ここに、プロセッサ11は、Act38及びAct43の処理を実行することにより、報知手段を構成する。
以上、詳述したように、第2の実施形態によれば、表示デバイス16に対する画像表示だけではなく、探索装置10の振動によっても、探索ビーコンBの位置に到達したことをユーザに知らせることができる。
なお、第2の実施形態は上記のものに限定されるものではない。例えばプロセッサ11は、Act41において発生させた振動を、探索装置10が探索ビーコンBの位置に到達するまで継続させる。そしてプロセッサ11は、探索ビーコンBの位置に到達したことを検知したならば(Act37、YES)、振動ユニット110の振動を停止させる。このような構成としても、探索ビーコンの位置に到達したことをユーザに報知することができる。そしてこの場合には、例えば探索ビーコンBまでの距離が短くなるにつれて振動周期が早くなるというように距離の変化に合わせて振動周期を変える。そうすることにより、ユーザは探索ビーコンBに近づいているか否かを感覚的に知り得る効果を奏する。
また、探索装置10が音声デバイスを搭載し、音声によって地点Pへの到達、移動方向の修正指示、探索ビーコンBの推定位置への到達などをユーザに知らせるようにしてもよい。
[第3の実施形態]
次に、探索装置10の第3の実施形態について、図13乃至図16を用いて説明する。なお、第1の実施形態と共通する部分には同一符号を付し、その詳しい説明は省略する。
図13は、第3の実施形態の説明図である。第3の実施形態では、2台の探索装置10を使用する。そして、一方の探索装置10をマスタ装置10Mとし、他方の探索装置10Sをスレーブ装置10Sとする。スレーブ装置10Sは、1台に限定されない。複数台の探索装置10の中からいずれか1台をスレーブ装置10Sとしてもよい。因みに、探索装置10は、第1の実施形態のものであってもよいし、第2の実施形態のものであってもよい。
第3の実施形態では、マスタ装置10Mを第1のユーザが使用し、スレーブ装置10Sを第2のユーザが使用する。マスタ装置10M及びスレーブ装置10Sは、それぞれ無線ユニット18を介してネットワーク20に接続可能であり、ネットワーク20を経由して、双方向で無線を利用したデータ通信が可能となっている。
図14は、マスタ装置10Mのプロセッサ11(以下、プロセッサ11Mと称する)が探索プログラムに従って実行する処理の要部手順を示す流れ図であり、図15は、スレーブ装置10Sのプロセッサ11(以下、プロセッサ11Sと称する)が探索プログラムに従って実行する処理の要部手順を示す流れ図である。図16は、第3の実施形態におけるビーコン探索アルゴリズムの説明図である。
以下、第1のユーザがマスタ装置10Mを使用し、第2のユーザがスレーブ装置10Sを使用して、所望のビーコンを探索する際の探索装置10の動作について、図14乃至図16を用いて説明する。なお、図14乃至図16に示すとともに以下に説明する処理の内容は一例であって、同様な結果を得ることが可能であればその処理手順及び処理内容は特に限定されるものではない。
はじめに、第1のユーザは、入力デバイス15を操作して探索プログラムを起動する。探索プログラムが起動すると、プロセッサ11Mは、図14の流れ図に示す手順の処理を開始する。
先ず、プロセッサ11Mは、Act51として、送受信回路13でビーコン信号を受信したビーコンのリストを作成し、そのビーコンリストを表示デバイス16に表示させる。そしてプロセッサ11Mは、Act52として、探索ビーコンBが選択されるのを待ち受ける。
ビーコンリストを確認した第1のユーザは、入力デバイス15を操作して探索対象となる1つのビーコンを選択する。プロセッサ11Mは、ビーコンリストの中から1つの探索ビーコンBが選択されたことを検知すると(Act52、YES)、Act53として、無線ユニット18を制御してスレーブ装置10Sに対して探索依頼通知のコマンドを出力する。コマンドには、探索ビーコンBのビーコンIDが含まれる。
なお、コマンド送信先のスレーブ装置10Sは、予めマスタ装置10Mに設定されていてもよい。あるいはプロセッサ11Mが、無線通信技術を利用してマスタ装置10Mに対して最も近くにある他の探索装置10を検出し、検出された探索装置10をスレーブ装置10Sとして設定してもよい。
プロセッサ11Mは、探索依頼通知のコマンドを送信した後、Act54乃至Act59として、第1の実施形態で説明した図2のAct3乃至Act14と同様の処理を実行する。
一方、プロセッサ11Sは、図15のAct71として、探索依頼通知のコマンドを待ち受けている。無線ユニット18を介して探索依頼通知のコマンドを受信すると、プロセッサ11Sは、Act72として、コマンドから探索ビーコンBのビーコンIDを取得する。そしてプロセッサ11Sは、探索ビーコンBから発信されるビーコン信号の電波受信強度E5を送受信回路13から取得し、メモリ12の第1ワークエリアに記録する。
なお、仮に、スレーブ装置10Sが探索ビーコンBから発信されるビーコン信号を受信できなかった場合、プロセッサ11Sは、マスタ装置10Mに対してエラー応答コマンドを無線送信する。エラー応答コマンドを受信したプロセッサ11Mは、エラーを報知して、探索プログラムに従った処理を終了する。
電波受信強度E5をメモリ12に記録したプロセッサ11Sは、Act73として、センサユニット14を構成する各センサの測定値を基に、PDRの技術を利用してスレーブ装置10Sの現在位置と進行方向「−X」とを決定する。そしてプロセッサ11Sは、ユーザに対して現在位置から進行方向「−X」への移動を案内する画像を表示デバイス16に表示させる。この画像は、例えば図7に示した第1画像SC1と同様の画像である。この場合、矢印の画像G1が進行方向「−X」となる。なお、移動方向「−X」は、その逆方向であるX方向であってもよい。
プロセッサ11Sは、Act74として、センサユニット14を構成する各センサの測定値を基に、PDRの技術を利用してスレーブ装置10Sの移動方向を検出する。そしてプロセッサ11Sは、Act75として、移動方向が進行方向「−X」に合致しているか否かを判定する。
移動方向が進行方向「−X」からずれている場合(Act75、NO)、プロセッサ11Sは、Act76として、移動方向の修正を指示する画像を表示デバイス16に表示させる。例えば移動方向が進行方向「−X」に対して右に10度ずれている場合には、矢印の画像G1を左に10度傾けることで、修正を指示する。その後、プロセッサ11は、Act74に戻り、スレーブ装置10Sの移動方向を検出して、移動方向が進行方向「−X」に合致しているか否かを再び判定する。
移動方向が進行方向「−X」に合致している場合には(Act75、YES)、プロセッサ11Sは、Act77として、探索ビーコンBから発信されるビーコン信号の電波受信強度E6を送受信回路13から取得し、メモリ12の第2ワークエリアに記録する。そしてプロセッサ11Sは、Act78として、メモリ12の第1ワークエリアに記録した電波受信強度E5と、第2ワークエリアに記録した電波受信強度E6との差分値を求める。差分値は、探索依頼通知のコマンド受信時点における電波受信強度E5と現地点における電波受信強度E6との変化量(E6−E5)である。プロセッサ11は、この変化量(E6−E5)が所定値±e[dB]以上になったか否かを判定する。
電波受信強度の変化量(E6−E5)が所定値±e[dB]以上でない場合(Act78、NO)、プロセッサ11Sは、Act74に戻る。すなわちプロセッサ11は、探索装置10の移動方向を検出して、移動方向が進行方向「−X」に合致しているか否かを再び判定する。
電波受信強度の変化量(E6−E5)が所定値±e[dB]以上になった場合には(Act78、YES)、プロセッサ11Sは、Act79として移動の停止を指示する画像を表示デバイス16に表示させる。またプロセッサ11Sは、Act80として第1ワークエリアに記録した電波受信強度E5と、第2ワークエリアに記録した電波受信強度E6とをマスタ装置10Mに送信するように無線ユニット18を制御する。この制御により、スレーブ装置10Sからマスタ装置10Mに対し、ネットワーク20を経由して、電波受信強度E5と電波受信強度E6とを含むデータが無線送信される。
図14に説明を戻す。
プロセッサ11Mは、Act58において探索ビーコンBの存在領域がX軸よりも進行方向Yの領域であると認識するか、Act59においてX軸よりも進行方向Yと逆の方向「−Y」の領域であると認識すると、Act60として、スレーブ装置10Sから無線送信されるデータを待ち受ける。そしてプロセッサ11Mは、無線ユニット18を介して、電波受信強度E5と電波受信強度E6とを含むデータを受信すると(Act60、YES)、Act61として、電波受信強度E6が電波受信強度E5よりも大きいか否かを判定する。電波受信強度E6が電波受信強度E5よりも大きい場合(Act61、YES)、プロセッサ11Mは、Act62として、探索ビーコンBの存在領域が、Y軸よりも「−X」方向の領域であると認識する。これに対し、電波受信強度E6が電波受信強度E5よりも小さい場合には(Act61、NO)、プロセッサ11は、Act63として、探索ビーコンBの存在領域が、Y軸よりもX方向の領域であると認識する。
図16は、第1のユーザと第2のユーザとがいずれも基点Oの位置に居た場合の状態図である。そして図16の[IIV]は、基点Oと、第1の地点p1及び第2の地点p2と、探索ビーコンBとの位置関係の一例を示している。第1の地点p1は、第1のユーザが進行方向Yに移動したことで、マスタ装置10Mで受信する探索ビーコンBからのビーコン信号の電波受信強度の変化量[E2−E1]が所定値±e[dB]以上となった地点である。同様に、第2の地点p2は、第2のユーザが進行方向「−X」に移動したことで、スレーブ装置10Sで受信する探索ビーコンBからのビーコン信号の電波受信強度の変化量[E6−E5]が所定値±e[dB]以上となった地点である。所定値±e[dB]は±8[dB]としている。
つまり図16の[IIV]は、マスタ装置10Mが基点Oから探索ビーコンBに対して近づく方向に移動し、地点p1にて電波受信強度E2が−52[dB]に達した状態を示している。また図16の[IIV]は、スレーブ装置10Sが基点Oから探索ビーコンBに対して遠ざかる方向に移動し、地点p2にて電波受信強度E6が−68[dB]に達した状態を示している。
この状態では、マスタ装置10Mの進行方向Yと直交しかつ基点Oを通る軸をX軸としたとき、探索ビーコンBは、X軸よりも進行方向Yの領域に存在していると推定できる。さらに、X軸と直交しかつ基点Oと地点p1とを通る軸をY軸としたとき、探索ビーコンBは、X軸よりも進行方向Yの領域でかつY軸よりも進行方向「−X」と逆の領域、つまりは領域A2に存在していると推定できる。
プロセッサ11Mは、Act62又はAct63の処理を終えると、第1の実施形態で説明した図4のAct26乃至Act38の処理を実行する。すなわちプロセッサ11Mは、電波受信強度E4が第1ワークエリアに記録した電波受信強度E1となる地点を探索することを指示する画像を表示デバイス16に表示させる。
画像を確認したユーザは、探索装置10を携帯してゆっくりと施設内を任意の方向に移動する。
プロセッサ11Mは、探索ビーコンBから発信されるビーコン信号の電波受信強度E4が電波受信強度E1と一致したならば、移動の停止を指示する画像を表示デバイス16に表示させる。またプロセッサ11Mは、電波受信強度E4が電波受信強度E1と一致したときのマスタ装置10Mの現在位置を地点Pと決定する。
図16の状態[IIIV]は、マスタ装置10Mでの電波受信強度E4が電波受信強度E1と一致した地点Pと、基点Oと、探索ビーコンBとの位置関係の一例を示している。前述したようにプロセッサ11Mは、電波受信強度E1またはE4から換算される距離dを算出する。そしてプロセッサ11Mは、基点O及び地点Pの位置と、距離dとにより、探索ビーコンBの位置を決定する。すなわちプロセッサ11Mは、先ず、基点Oを中心とし距離dを半径とする第1の円C1を作成する。次いでプロセッサ11は、地点Pを中心とし距離dを半径とする第2の円C2を作成する。そしてプロセッサ11は、第1の円C1と第2の円C2とが交差する交点のうち、領域A2に存在する交点を探索ビーコンBの位置とする。
こうして、探索ビーコンBの位置を決定したならば、プロセッサ11Mは、第3画像SC3を表示デバイス16に表示させる。そしてプロセッサ11Mは、マスタ装置10Mが探索ビーコンBの位置に到達したと判定すると、第4画像SC4を表示デバイス16に表示させる。
このように第3の実施形態によれば、第1の実施形態において、図3のAct15乃至Act25で説明した処理を、スレーブ装置10Sが代行する。そして、このスレーブ装置10Sによる処理は、マスタ装置10Mが図14のAct54乃至Act59の処理を実行しているときに並行して行われる。したがって、第1及び第2の実施形態と比較して、探索ビーコンの位置を決定するまでの時間を短縮できる効果を奏する。
なお、第3の実施形態においては、ネットワーク20にサーバを接続する。そして、マスタ装置10M及びスレーブ装置10Sは、無線通信を利用して、電波受信強度の情報等をリアルタイムにサーバに送信するようにする。一方、サーバは、マスタ装置10Mから受信した電波受信強度等の情報を基ら図14の流れ図に示された情報処理を実行する。またサーバは、スレーブ装置10Sから受信した電波受信強度等の情報を基ら図15の流れ図に示された情報処理を実行する。このような構成を採用してもよい。
以上、高い精度をもってビーコンを探索できる探索装置10について説明したが、探索装置10の実施形態はこれに限定されるものではない。
例えば前記実施形態では、探索装置10で探索する発信機をビーコンとしたが、探索対象の発信機はビーコンに限定されるものではない。周期的に無線信号を発信する1つの発信機を探索する場合でも、各実施形態の探索装置10を適用することができる。
また、図2乃至図4のAct8、Act18及びAct36における修正指示は、移動方向の修正を指示するだけに限られるものではない。探索装置10の移動速度が速いと電波受信強度Eの変動が早くなって処理が追いつかなくなる恐れがある。このため、プロセッサ11は、センサユニット14からの信号により移動速度を検出し、閾値よりも速い場合には遅くするように指示することを修正指示に含めてもよい。
なお、探索装置10の譲渡は一般に、探索プログラム等のプログラムがメモリ12に記憶された状態にて行われる。しかしこれに限らず、プログラムがメモリに記憶されていない状態で譲渡されてもよい。そしてこの場合は、探索装置10が備える書き込み可能な記憶デバイスに、この探索装置10とは個別に譲渡された探索プログラム等がユーザなどの操作に応じて書き込まれてもよい。探索プログラム等の譲渡は、リムーバブルな記録媒体に記録して、あるいはネットワークを介した通信により行うことができる。記録媒体は、CD−ROM,メモリカード等のようにプログラムを記憶でき、かつ装置が読み取り可能であれば、その形態は問わない。また、プログラムのインストールやダウンロードにより得る機能は、装置内部のOS(オペレーティング・システム)等と協働してその機能を実現させるものであってもよい。
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。