(57)【要約】【課題】移動体が移動する面の状態に拘わらず当該移動体の位置を精度良く測定する。【解決手段】測位装置は、取得部と、記憶部と、測位部とを備える。取得部は、測位領域を移動する移動体が備えるセンサの測定値から、移動体の方位角と角速度とを取得する。記憶部は、測位領域を区分する複数の区分領域にそれぞれ関連付けて、移動体の移動速度と角速度の標準偏差との間で成り立つ関係式の係数を記憶する。測位部は、単位時間毎に前記移動体が位置する区分領域を特定し、その区分領域に関連付けられて記憶部に記憶された係数を取得する。また測位部は、その係数と取得部で取得した角速度の標準偏差とから区分領域における移動体の移動速度を算出し、その移動速度と取得部で取得した移動体の方位角とから測位領域における移動体の位置を測位する。【選択図】      図３
2019190945.tif 000002
【特許請求の範囲】
【請求項１】
測位領域を移動する移動体が備えるセンサの測定値から、前記移動体の方位角と角速度とを取得する取得部と、
前記測位領域を区分する複数の区分領域にそれぞれ関連付けて、前記移動体の移動速度と前記角速度の標準偏差との間で成り立つ関係式の係数を記憶する記憶部と、
単位時間毎に前記移動体が位置する区分領域を特定し、その区分領域に関連付けられて前記記憶部に記憶された前記係数を取得し、その係数と前記取得部で取得した前記角速度の標準偏差とから前記区分領域における前記移動体の移動速度を算出し、その移動速度と前記取得部で取得した前記移動体の方位角とから前記測位領域における前記移動体の位置を測位する測位部と、
を具備する測位装置。
【請求項２】
前記測位部による測位結果から前記測位領域を移動する前記移動体の軌跡が隣接する２つの区分領域の境界を横切る地点を求め、その地点を境に、前記隣接する２つの区分領域のうち一方の区分領域に対してはその区分領域に関連付けられて前記記憶部に記憶された前記係数を取得し、他方の区分領域に対してはその区分領域に関連付けられて前記記憶部に記憶された前記係数を取得して、前記移動体の位置を測位し直す再測位部、
をさらに具備する請求項１記載の測位装置。
【請求項３】
前記測位領域に配置された複数の固定局との間で送受信される電波の強度を測定する強度測定部、をさらに具備し、
前記測位部は、前記複数の固定局との間で送受信される電波の強度により前記移動体が位置する区分領域を特定する、請求項１又は２記載の測位装置。
【請求項４】
前記区分領域は、前記移動体が接して移動する面の材質が、隣接する他の区分領域とは異なる領域である、請求項１乃至３のうちいずれか１に記載の測位装置。
【請求項５】
前記関係式は、一次関数である、請求項１乃至４のうちいずれか１に記載の測位装置。
【請求項６】
測位領域を移動する移動体が備えるセンサの測定値から、前記移動体の方位角と角速度とを取得する取得部、及び、前記測位領域を区分する複数の区分領域にそれぞれ関連付けて、前記移動体の移動速度と前記角速度の標準偏差との間で成り立つ関係式の係数を記憶する記憶部、を備えた測位装置のコンピュータに、
単位時間毎に前記移動体が位置する区分領域を特定する機能、
その区分領域に関連付けられて前記記憶部に記憶された前記係数を取得する機能、
その係数と前記取得部で取得した前記角速度の標準偏差とから前記区分領域における前記移動体の移動速度を算出する機能、及び、
その移動速度と前記取得部で取得した前記移動体の方位角とから前記測位領域における前記移動体の位置を測位する機能、
を実現させるための測位プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、測位装置及びコンピュータを当該測位装置として機能させるための測位プログラムに関する。
【背景技術】
【０００２】
測位システムの一態様として、衛星測位システムがある。衛星測位システムは、人工衛星を使用して地上における測位対象の現在位置を測位する。衛星測位システムは、人工衛星からの信号が届く環境下において、高精度の測位が可能である。衛星測位システムは、室内又は地下空間等のように人工衛星からの信号が届かない環境下においては、測位が不安定になったり不可能になったりする。
【０００３】
測位システムの別態様として、自律航法（Dead Reckoning）と称される測位システムがある。自律航法は、加速度センサ、ジャイロセンサ（角速度センサ）、地磁気センサ（電子コンパス）等を使って測位対象の移動方向（方位角）と移動量（距離）とを計測し、測位対象の測位を行う。自律航法は、室内又は地下空間でも測位が可能である。
【０００４】
自律航法には、歩行者が携帯する端末のセンサを利用して当該歩行者の位置を計測するＰＤＲ（Pedestrian Dead Reckoning）と、車両等の移動体に備えられたセンサを利用して当該移動体の位置を計測するＣＤＲ（Cart Dead Reckoning）とがある。ＣＤＲの場合、測位の精度は、移動体が移動する面の状態によって変わる。例えば、移動体が滑らかな面を移動する場合と凹凸のある面を移動する場合とでは、同じ速度であってもセンサ値から求まる移動速度には差分が生じる。移動速度に差分が生じると移動量の誤差となる。ＣＤＲは、単位時間当たりの移動方向と移動量とを積算して測位するため、移動量の誤差は測位精度の低下につながる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−２０６０１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施形態が解決しようとする課題は、移動体が移動する面の状態に拘わらず当該移動体の位置を精度良く測定できる測位装置を提供しようとするものである。
【課題を解決するための手段】
【０００７】
一実施形態において、測位装置は、取得部と、記憶部と、測位部とを備える。取得部は、測位領域を移動する移動体が備えるセンサの測定値から、移動体の方位角と角速度とを取得する。記憶部は、測位領域を区分する複数の区分領域にそれぞれ関連付けて、移動体の移動速度と角速度の標準偏差との間で成り立つ関係式の係数を記憶する。測位部は、単位時間毎に前記移動体が位置する区分領域を特定し、その区分領域に関連付けられて記憶部に記憶された係数を取得する。測位部は、その係数と取得部で取得した角速度の標準偏差とから区分領域における移動体の移動速度を算出し、その移動速度と取得部で取得した移動体の方位角とから測位領域における移動体の位置を測位する。
【図面の簡単な説明】
【０００８】
【図１】測位装置の一実施形態に係る測位システムの全体構成図。
【図２】図１に示した測位システムの運用例を示す模式図。
【図３】第１の実施形態に係る測位装置の要部回路構成を示すブロック図。
【図４】図３に示した第１テーブルに記述されるデータの一例を示す模式図。
【図５】図３に示した第２テーブルに記述されるデータの一例を示す模式図。
【図６】図３に示した第３テーブルに記述されるデータの一例を示す模式図。
【図７】図３に示した第４テーブルに記述されるデータの一例を示す模式図。
【図８】第１の実施形態において、測位装置のプロセッサが測位プログラムに従って実行する情報処理の要部手順を示す流れ図。
【図９】第１の実施形態において、測位装置のプロセッサが測位プログラムに従って実行する情報処理の要部手順を示す流れ図。
【図１０】第１の実施形態において、測位装置のプロセッサが測位プログラムに従って実行する情報処理の要部手順を示す流れ図。
【図１１】第２の実施形態に係る測位装置の要部回路構成を示すブロック図。
【図１２】第２の実施形態において、測位装置のプロセッサが測位プログラムに従って実行する情報処理の要部手順を示す流れ図。
【図１３】第２の実施形態の説明図。
【発明を実施するための形態】
【０００９】
以下、移動体が移動する面の状態に拘わらず当該移動体の位置を精度良く測定できる測位装置の実施形態について、図面を用いて説明する。
【００１０】
［第１の実施形態］
図１は、測位装置の一実施形態に係る測位システム１００の全体構成図である。測位システム１００は、複数のビーコン発信器１０（１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，…）と、測位装置２０と、ネットワーク３０とを含む。ネットワーク３０は、例えばBluetooth（登録商標）の通信規格に則り、ビーコン発信器１０と測位装置２０との間の近距離無線通信を可能とするものである。
【００１１】
図２は、図１に示した測位システム１００の運用例を示す模式図である。測位システム１００は、測位領域Ａ０内を移動する移動体ＣＡを測位対象とし、測位装置２０によって、当該移動体ＣＡの測位領域Ａ０内における位置を測定する。測位領域Ａ０は、例えば店舗、工場、倉庫、オフィス等の建物内又は地下空間等、人工衛星からの信号が届かない環境下を想定する。測位領域Ａ０は、人工衛星からの信号が届く環境下を想定してもよい。移動体ＣＡは、例えば店舗で使用されるショッピングカート等のように人力で移動するものであってもよいし、工場、倉庫などで使用されるフォークリフト、電動カート等のように動力で動くものであってもよい。また、移動体ＣＡの車輪は特に問わない。円柱型のタイヤでもよいしキャタピラでもよい。あるいは球体であってもよい。また、必ずしも転がらないものであってもよい。
【００１２】
測位領域Ａ０は、複数の区分領域Ａ１，Ａ２，…に区分される。測位領域Ａ０は、移動体ＣＡが接して移動する面の状態によって複数の区分領域Ａ１，Ａ２，…に区分される。具体的には区分領域Ａ１，Ａ２，…は、面の材質によって区分される。すなわち測位領域Ａ０は、区分領域内の面の材質が、隣接する他の区分領域の面の材質とは異なるように区分される。説明の便宜上、図２では２つの区分領域Ａ１，Ａ２のみを示すが、区分領域の数はこれに限定されないのは言うまでもない。
【００１３】
ビーコン発信器１０（１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，…）は、測位領域Ａ０内に点在するように互いに離間して配置される。ビーコン発信器１０は、各区分領域Ａ１，Ａ２，…に少なくとも１つは配置される。ビーコン発信器１０の数は、特に限定されるものではない。測位領域Ａ０の面積、区分領域Ａ１，Ａ２，…の数、仕切り又は障害物の有無等を考慮し、測位システム１００として適切な数のビーコン発信器１０が測位領域Ａ０内の適所に配置される。
【００１４】
ビーコン発信器１０は、ビーコン信号を発信する。典型的にはビーコン発信器１０は、ＢＬＥ（Bluetooth Low Energy）規格によるBluetoothビーコン信号を繰り返し発信する。ビーコン発信器１０は、Bluetoothビーコン信号以外のビーコン信号を発信するものであってもよい。ビーコン信号には、各ビーコン発信器１０を特定する識別情報としてビーコンＩＤが含まれる。ビーコンＩＤは、ビーコン発信器１０毎に異なる値が設定される。
【００１５】
測位装置２０は、測位対象である移動体ＣＡに備えられ、移動体ＣＡの移動に伴って測位領域Ａ０内を移動する。測位装置２０は、各ビーコン発信器１０から発信されるビーコン信号を受信するための無線ユニットを備えている。測位装置２０は、ＣＤＲの技術を利用して移動体ＣＡの位置を測定するための測位機能を有している。すなわち測位装置２０は、加速度センサ、ジャイロセンサ、地磁気センサ等のセンサユニットを備えており、これらのセンサ信号に基づいて移動体ＣＡがどの方向にどの程度移動したかという情報、つまりは移動方向（方位角）と移動量（距離）とを計測する。測位装置２０は、例えば測位開始時刻における移動体ＣＡの位置を基点（０，０）とした相対座標系において、現時点の移動体ＣＡの位置を表す二次元座標、いわゆる相対座標（ＰＤＲｘ，ＰＤＲｙ）を、移動体ＣＡの移動方向と移動量との積算データから求める。
【００１６】
図３は、測位装置２０の要部回路構成を示すブロック図である。測位装置２０は、プロセッサ２１、メインメモリ２２、補助記憶装置２３、時計２４、タッチパネル２５、センサユニット２６、無線ユニット２７及びシステム伝送路２８を備える。システム伝送路２８は、アドレスバス、データバス、制御信号線等を含む。システム伝送路２８は、プロセッサ２１と、メインメモリ２２、補助記憶装置２３、時計２４、タッチパネル２５、センサユニット２６及び無線ユニット２７とを相互に接続する。プロセッサ２１、メインメモリ２２及び補助記憶装置２３がシステム伝送路２８で接続されることにより、測位装置２０のコンピュータが構成される。
【００１７】
プロセッサ２１は、上記コンピュータの中枢部分に相当する。プロセッサ２１は、オペレーティングシステムやアプリケーションプログラムに従って、測位装置２０としての各種の機能を実現するべく各部を制御する。プロセッサ２１は、例えばＣＰＵ（Central Processing Unit）である。
【００１８】
メインメモリ２２は、上記コンピュータの主記憶部分に相当する。メインメモリ２２は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。メインメモリ２２は、不揮発性のメモリ領域ではオペレーティングシステムやアプリケーションプログラムを記憶する。メインメモリ２２は、プロセッサ２１が各部を制御するための処理を実行する上で必要なデータを不揮発性又は揮発性のメモリ領域で記憶する場合もある。メインメモリ２２は、揮発性のメモリ領域を、プロセッサ２１によってデータが適宜書き換えられるワークエリアとして使用する。不揮発性のメモリ領域は、例えばＲＯＭ（Read Only Memory）である。揮発性のメモリ領域は、例えばＲＡＭ（Random Access Memory）である。
【００１９】
補助記憶装置２３は、上記コンピュータの補助記憶部分に相当する。例えばＥＥＰＲＯＭ（Electric Erasable Programmable Read-Only Memory）、ＨＤＤ（Hard Disc Drive）、あるいはＳＳＤ（Solid State Drive）等が補助記憶装置２３となり得る。補助記憶装置２３は、プロセッサ２１が各種の処理を行う上で使用するデータや、プロセッサ２１での処理によって作成されたデータを保存する。補助記憶装置２３は、上記のアプリケーションプログラムを記憶する場合もある。
【００２０】
時計２４は、時刻を計時する。プロセッサ２１は、時計２４によって計時されている時刻を現在時刻として処理する。
【００２１】
タッチパネル２５は、測位装置２０の入力デバイス及び表示デバイスとして機能する。タッチパネル２５は、測位装置２０のユーザによる操作入力を受け付ける。タッチパネル２５は、測位装置２０のユーザに対して必要な情報の表示を行う。必要な情報とは、測位結果の情報を含む。
【００２２】
センサユニット２６は、ＣＤＲ用のセンサ群である加速度センサ、ジャイロセンサ、地磁気センサ等を含む。加速度センサは、測位装置２０の加速度を検出する。ジャイロセンサは、測位装置２０の回転角速度を検出する。地磁気センサは、測位装置２０の周囲における磁場の向きを計測し、方位を検出する。
【００２３】
無線ユニット２７は、ビーコン発信器１０から発信されるビーコン信号を受信する。無線ユニット２７は、複数のビーコン発信器１０から発信されるビーコン信号を受信可能である。無線ユニット２７は、強度測定部２７１を有しており、ビーコン信号を受信する毎に、強度測定部２７１でその受信強度、いわゆるＲＳＳＩ（Received Signal Strength Indication）を測定する。無線ユニット２７は、受信したビーコン信号のビーコンＩＤと、そのビーコン信号を受信したときのＲＳＳＩ値とを含むビーコンデータを、プロセッサ２１へと出力する。
【００２４】
かかる構成の測位装置２０は、プロセッサ２１を主体とするコンピュータが、ハードウェアと協働して、取得部２１１及び測位部２１２として機能するように構成されている。ハードウェアは、例えばメインメモリ２２、補助記憶装置２３、時計２４、タッチパネル２５、センサユニット２６、無線ユニット２７等である。
【００２５】
取得部２１１は、測位領域Ａ０を移動する移動体ＣＡが備えるセンサユニット２６の測定値から、単位時間毎に当該移動体ＣＡの移動方向を示す方位角と、当該移動体ＣＡの移動に伴って生じている角速度とを取得する。
【００２６】
測位部２１２は、単位時間毎に移動体ＣＡが位置する区分領域Ａ１，Ａ２，…を特定する。測位部２１２は、特定された区分領域Ａ１，Ａ２，…に関連付けられた係数を記憶部から取得する。係数及び記憶部については、後述する。測位部２１２は、記憶部から取得した係数と取得部２１１で取得した角速度の標準偏差とから区分領域Ａ１，Ａ２，…における移動体ＣＡの移動速度を算出する。測位部２１２は、算出された移動速度と取得部２１１で取得した移動体ＣＡの方位角とから移動体ＣＡの位置を測定する。
【００２７】
測位装置２０は、上述した取得部２１１及び測位部２１２としての機能を実現させるために、補助記憶装置２３に、第１テーブル２３１、第２テーブル２３２、第３テーブル２３３及び第４テーブル２３４を記憶している。また測位装置２０は、メインメモリ２２又は補助記憶装置２３において測位プログラムを記憶する。
【００２８】
図４は、第１テーブル２３１に記述されるデータの一例である。図示するように第１テーブル２３１は、時刻と関連付けて、ビーコンＩＤとＲＳＳＩ値とを記述するための領域を有する。
【００２９】
プロセッサ２１は、時計２４によって計時される時刻が例えば１秒を経過する毎に、無線ユニット２７から出力されるビーコンデータを取得する。このとき、無線ユニット２７において複数のビーコン信号を受信していた場合には、プロセッサ２１は、それぞれのビーコンデータを取得する。プロセッサ２１は、１秒を経過する毎に、取得したビーコンデータのなかから、強度測定部２７１で測定されるＲＳＳＩ値が最も大きいビーコンデータを抽出し、時刻とともに、そのビーコンデータのビーコンＩＤとＲＳＳＩ値とを第１テーブル２３１に記述する。
【００３０】
図５は、第２テーブル２３２に記述されるデータの一例である。図示するように第２テーブル２３２は、時刻と関連付けて、相対座標（ＰＤＲｘ，ＰＤＲｙ）、角度（°）、角速度（rad/s）、第１係数ａ、第２係数ｂ及び移動速度（m/s）を記述するための領域を有する。角度（°）は、測位対象の移動方向、つまりは方位角を示す。第１係数ａ及び第２係数ｂについては、後述する。
【００３１】
プロセッサ２１は、時計２４によって計時される時刻が例えば１秒経過する毎に、センサユニット２６のセンサ信号から求まる相対座標（ＰＤＲｘ，ＰＤＲｙ）、角度（°）及び角速度（rad/s）を第２テーブル２３２に記述する。プロセッサ２１は、測位プログラムに従った情報処理において、第１係数ａ、第２係数ｂ及び移動速度（m/s）を第２テーブル２３２に記述する。ここにプロセッサ２１を主体とするコンピュータは、取得部２１１として機能する。
【００３２】
図６は、第３テーブル２３３に記述されるデータの一例である。図示するように第３テーブル２３３は、ビーコン発信器１０のビーコンＩＤに関連付けて、マップ情報ＭＡＰを記述するための領域を有する。
【００３３】
マップ情報ＭＡＰは、測位領域Ａ０を区分した区分領域Ａ１，Ａ２，…に対して一意に設定された識別情報である。例えば図２において、一方の区分領域Ａ１に対してはマップ情報ＭＡＰ１が設定されており、他方の区分領域Ａ２に対してはマップ情報ＭＡＰ２が設定されている。ビーコンＩＤが「１００」のビーコン発信器１０Ａと、ビーコンＩＤが「２００」のビーコン発信器１０Ｂとは、ＭＡＰ情報ＭＡＰ１が設定された区分領域Ａ１に配置されている。ビーコンＩＤが「３００」のビーコン発信器１０Ｃと、ビーコンＩＤが「４００」のビーコン発信器１０Ｄとは、ＭＡＰ情報ＭＡＰ２が設定された区分領域Ａ２に配置されている。このようなレイアウト例の場合、例えば測位システム１００の管理者は、図６に示されるデータが記述された第３テーブル２３３を作成し、補助記憶装置２３に保存する。
【００３４】
図７は、第４テーブル２３４に記憶されるデータの一例である。図示するように第４テーブル２３４は、マップ情報ＭＡＰに関連付けて、第１係数ａと第２係数ｂとを記述するための領域を有する。
【００３５】
移動体ＣＡに備えられたセンサユニット２６を利用して当該移動体ＣＡの位置測位を行うＣＤＲにおいては、移動体ＣＡの移動速度Ｓ（m/s）と、当該移動体ＣＡの角速度（rad/s）の標準偏差Ｗとの間に、関係式、すなわち下記の数式（１）で示される一次関数の関係がある。  
Ｓ＝ａ＊Ｗ＋ｂ  …（１）
数式（１）において、“ａ”は第１係数ａである。“ｂ”は第２係数ｂである。第１係数ａ及び第２係数ｂは、移動体ＣＡが接して移動する測位領域Ａ０の面の材質に依存する。例えば測位システム１００の管理者は、区分領域Ａ１の面の材質に対して数式（１）が成り立つ第１係数ａ「Ｃ１１」及び第２係数ｂ「Ｃ１２」を求める。管理者は、区分領域Ａ２の面の材質に対して数式（１）が成り立つ第１係数ａ「Ｃ２１」及び第２係数ｂ「Ｃ２２」を求める。管理者は、区分領域Ａ１，Ａ２，…毎に設定されたマップ情報ＭＡＰ１，ＭＡＰ２と関連付けて、その区分領域Ａ１，Ａ２，…に対して求められた第１係数ａ及び第２係数ｂを記述した第４テーブル２３４を作成し、補助記憶装置２３に保存する。
なお、関係式は、必ずしも（１）式の一次関数に限定されるものではない。
【００３６】
ここに、第３テーブル２３３及び第４テーブル２３４は、測位領域Ａ０を区分する複数の区分領域Ａ１，Ａ２，…にそれぞれ関連付けて、移動体ＣＡの移動速度Ｓ（m/s）と角速度（rad/s）の標準偏差Ｗとの間で成り立つ関係式の第１係数ａ及び第２係数ｂを記憶する記憶部を構成する。
【００３７】
かかる構成の測位装置２０は、プロセッサ２１が測位プログラムに従って情報処理を実行することにより、測位部２１２としての機能を実現する。
【００３８】
図８乃至図１０は、プロセッサ２１が測位プログラムに従って実行する情報処理の要部手順を示す流れ図である。なお、当該処理を開始する前に、第１テーブル２３１、第２テーブル２３２、第３テーブル２３３及び第４テーブル２３４には、それぞれ一例として、図４乃至図７に示すデータが記述されていることを前提とする。
【００３９】
測位装置２０のオペレータは、タッチパネル２５を操作して、測位プログラムの起動を指令する。この指令により測位プログラムが起動すると、プロセッサ２１は、図８の流れ図に示す手順の情報処理を開始する。先ずプロセッサ２１は、Ａｃｔ１として、初期化を行う。この初期化により、第１時刻エリアｔ及び第２時刻エリアＴがクリアされる。また、第１ワークエリアＭ１１，第２ワークエリアＭ１２，第３ワークエリアＭ１３，第４ワークエリアＭ１４，第５ワークエリアＭ１５、第６ワークエリアＭ２１，第７ワークエリアＭ２２，第８ワークエリアＭ２３，第９ワークエリアＭ２４及び第１０ワークエリアＭ２５がクリアされる。第１時刻エリアｔ及び第２時刻エリアＴと、第１乃至第１０ワークエリアＭ１１，Ｍ１２，Ｍ１３，Ｍ１４，Ｍ１５，Ｍ２１，Ｍ２２，Ｍ２３，Ｍ２４及びＭ２５とは、いずれもメインメモリ２２の不揮発性メモリ領域に確保されている。
【００４０】
測位プログラムが起動すると、タッチパネル２５に測位開始時刻ＴＭ１と測位終了時刻ＴＭ２との入力ボックスが表示される。測位装置２０のオペレータは、タッチパネル２５を操作して、入力ボックスに測位開始時刻ＴＭ１と測位終了時刻ＴＭ２とを入力する。例えばオペレータは、測位開始時刻ＴＭ１として“10:10:10”を入力し、測位終了時刻ＴＭ２として“10:11:00”を入力する。なお、測位終了時刻ＴＭ２の入力は、省略してもよい。
【００４１】
初期化を終えたプロセッサ２１は、Ａｃｔ２として測位開始時刻ＴＭ１と測位終了時刻ＴＭ２とが入力されるのを待ち受ける。少なくとも測位開始時刻ＴＭ１が入力されると、プロセッサ２１は、Ａｃｔ２においてＹＥＳと判断し、Ａｃｔ３へと進む。プロセッサ２１は、Ａｃｔ３として第１時刻エリアｔに測位開始時刻ＴＭ１を記述し、第２時刻エリアＴに測位終了時刻ＴＭ２を記述する。測位終了時刻ＴＭ２が入力されていない場合には、時計２４によって計時されている現在の時刻を第２時刻エリアＴに記述する。
【００４２】
プロセッサ２１は、Ａｃｔ４として第１テーブル２３１を検索し、第１時刻エリアｔの時刻に関連付けて記述されているビーコンデータのＲＳＳＩ値を検出する。プロセッサ２１は、Ａｃｔ５として同ビーコンデータのビーコンＩＤを取得する。プロセッサ２１は、Ａｃｔ６として、Ａｃｔ５の処理で取得したビーコンＩＤで第３テーブル２３３を検索し、当該ビーコンＩＤに関連付けて記述されているマップ情報ＭＡＰを取得する。プロセッサ２１は、Ａｃｔ７として、Ａｃｔ６の処理で取得したマップ情報ＭＡＰで第４テーブル２３４を検索し、当該マップ情報ＭＡＰに関連付けて記述されている第１係数ａ及び第２係数ｂを取得する。
【００４３】
プロセッサ２１は、Ａｃｔ８として第１乃至第５ワークエリアＭ１１〜Ｍ１５にデータをセットする。すなわちプロセッサ２１は、第１ワークエリアＭ１１にＡｃｔ５の処理で取得したビーコンＩＤをセットする。プロセッサ２１は、第２ワークエリアＭ１２に第１時刻エリアｔの時刻をセットする。プロセッサ２１は、第３ワークエリアＭ１３にＡｃｔ４の処理で検出したＲＳＳＩ値をセットする。プロセッサ２１は、第４ワークエリアＭ１４にＡｃｔ６の処理で取得したマップ情報ＭＡＰをセットする。プロセッサ２１は、第５ワークエリアＭ５にＡｃｔ７の処理で取得した第１係数ａ及び第２係数ｂをセットする。
【００４４】
例えばオペレータが測位開始時刻ＴＭ１として“10:10:10”を入力した場合、第１ワークエリアＭ１１にはビーコンＩＤ「１００」がセットされる。第２ワークエリアＭ１２には時刻“10:10:10”がセットされる。第３ワークエリアＭ１３にはＲＳＳＩ値「−８３」がセットされる。第４ワークエリアＭ１４にはマップ情報「ＭＡＰ１」がセットされる。第５ワークエリアＭ５には第１係数ａ「Ｃ１１」及び第２係数ｂ「Ｃ１２」がセットされる。
【００４５】
Ａｃｔ８の処理を終えると、プロセッサ２１は、図９のＡｃｔ９の処理へと進む。プロセッサ２１は、Ａｃｔ９として第１時刻エリアｔの時刻をｘ秒だけ更新する。ｘ秒は任意である。本実施形態では、ｘ秒を１秒とする。第１時刻エリアｔの時刻を更新すると、プロセッサ２１は、Ａｃｔ１０として更新後の第１時刻エリアｔの時刻が第２時刻エリアＴの時刻を超えたか否かを確認する。第１時刻エリアｔの時刻が第２時刻エリアＴの時刻を超えた場合、プロセッサ２１は、Ａｃｔ１０においてＹＥＳに進む。プロセッサ２１は、この情報処理を終了する。
【００４６】
第１時刻エリアｔの時刻が第２時刻エリアＴの時刻を超えていない場合には、プロセッサ２１は、Ａｃｔ１０においてＮＯに進む。プロセッサ２１は、Ａｃｔ１１として第１テーブル２３１を検索し、第１時刻エリアｔの時刻に関連付けて記述されているビーコンデータのＲＳＳＩ値を検出する。プロセッサ２１は、Ａｃｔ１２として同ビーコンデータのビーコンＩＤを取得する。プロセッサ２１は、Ａｃｔ１３として、Ａｃｔ１２の処理で取得したビーコンＩＤが、第１ワークエリアＭ１１にセットされているビーコンＩＤと一致するか否かを確認する。
【００４７】
Ａｃｔ９において、第１時刻エリアｔの時刻が“10:10:11”に更新された場合、Ａｃｔ１２の処理で取得したビーコンＩＤは「１００」であり、第１ワークエリアＭ１１にセットされているビーコンＩＤと一致する。両ビーコンＩＤが一致する場合、プロセッサ２１は、Ａｃｔ１３においてＹＥＳに進む。
【００４８】
プロセッサ２１は、Ａｃｔ１４として、Ａｃｔ１１の処理で検出したＲＳＳＩ値が、第３ワークエリアＭ１３にセットされているＲＳＳＩ値以上であるか否かを確認する。Ａｃｔ１１の処理で検出したＲＳＳＩ値が第３ワークエリアＭ１３のＲＳＳＩ値に満たない場合、プロセッサ２１は、Ａｃｔ１４においてＮＯに進む。プロセッサ２１は、Ａｃｔ９の処理に戻る。
【００４９】
Ａｃｔ１１の処理で検出したＲＳＳＩ値が第３ワークエリアＭ１３のＲＳＳＩ値以上の場合には、プロセッサ２１は、Ａｃｔ１４においてＹＥＳに進む。プロセッサ２１は、Ａｃｔ１５として第２ワークエリアＭ１２のデータと、第３ワークエリアＭ１３のデータとを更新する。すなわちプロセッサ２１は、第２ワークエリアＭ１２のデータを第１時刻エリアｔの時刻に書き換える。プロセッサ２１は、第３ワークエリアＭ１３のデータを、Ａｃｔ１１の処理で検出したＲＳＳＩ値に書き換える。その後、プロセッサ２１は、Ａｃｔ９の処理に戻る。
【００５０】
Ａｃｔ９において、第１時刻エリアｔの時刻が“10:10:11”に更新された場合、Ａｃｔ１１の処理で検出したＲＳＳＩ値は「−８０」であり、第３ワークエリアＭ１３のＲＳＳＩ値以上である。したがって、Ａｃｔ１５の処理により、第２ワークエリアＭ１２のデータが“10:10:11”に書き換えられる。また、第３ワークエリアＭ１３のデータが「−８０」に書き換えられる。
【００５１】
Ａｃｔ９の処理に戻ることで、第１時刻エリアｔの時刻が“10:10:12”に更新される。このとき、Ａｃｔ１１の処理で検出したＲＳＳＩ値は「−８４」であり、第３ワークエリアＭ１３のＲＳＳＩ値「−８０」よりも小さい。Ａｃｔ１２の処理で取得したビーコンＩＤは、第１ワークエリアＭ１１にセットされているビーコンＩＤと一致する。したがって、第２ワークエリアＭ１２及び第３ワークエリアＭ１３のデータは書き換えられない。続いて、第１時刻エリアｔの時刻が“10:10:13”に更新された場合も、“10:10:12”に更新された場合と同様に動作する。
【００５２】
かくして、第１時刻エリアｔの時刻が“10:10:13”になった場合には、第１ワークエリアＭ１１には、ビーコンＩＤ「１００」がセットされている。第２ワークエリアＭ１２には、時刻“10:10:11”がセットされている。第３ワークエリアＭ１３には、ＲＳＳＩ値「−８０」がセットされている。第４ワークエリアＭ１４には、マップ情報「ＭＡＰ１」がセットされている。第５ワークエリアＭ１５には、第１係数ａ「Ｃ１１」及び第２係数ｂ「Ｃ１２」がセットされている。第２ワークエリアＭ１２にセットされている時刻“10:10:11”は、測位装置２０がビーコンＩＤ「１００」のビーコン信号を最大の受信強度で受信した時刻である。
【００５３】
Ａｃｔ９において、第１時刻エリアｔの時刻が“10:10:14”に更新されると、Ａｃｔ１２の処理で取得されるビーコンＩＤが「２００」となる。したがって、Ａｃｔ１３において、両ビーコンＩＤが不一致と判定される。
【００５４】
両ビーコンＩＤが不一致と判定されると、プロセッサ２１は、Ａｃｔ１３においてＮＯに進む。プロセッサ２１は、Ａｃｔ１６として、Ａｃｔ１２の処理で取得したビーコンＩＤで第３テーブル２３３を検索し、当該ビーコンＩＤに関連付けて記述されているマップ情報ＭＡＰを取得する。プロセッサ２１は、Ａｃｔ１７として、Ａｃｔ１６の処理で取得したマップ情報ＭＡＰで第４テーブル２３４を検索し、当該マップ情報ＭＡＰに関連付けて記述されている第１係数ａ及び第２係数ｂを取得する。
【００５５】
プロセッサ２１は、Ａｃｔ１８として第６乃至第１０ワークエリアＭ２１〜Ｍ２５にデータをセットする。すなわちプロセッサ２１は、第６ワークエリアＭ２１にＡｃｔ１２の処理で取得したビーコンＩＤをセットする。プロセッサ２１は、第７ワークエリアＭ２２に第１時刻エリアｔの時刻をセットする。プロセッサ２１は、第８ワークエリアＭ２３にＡｃｔ１１の処理で検出したＲＳＳＩ値をセットする。プロセッサ２１は、第９ワークエリアＭ２４にＡｃｔ１６の処理で取得したマップ情報ＭＡＰをセットする。プロセッサ２１は、第１０ワークエリアＭ２５にＡｃｔ１７の処理で取得した第１係数ａ及び第２係数ｂをセットする。
【００５６】
したがって、第１時刻エリアｔの時刻が“10:10:14”に更新された場合、第６ワークエリアＭ２１にはビーコンＩＤ「２００」がセットされる。第７ワークエリアＭ２２には時刻“10:10:14”がセットされる。第８ワークエリアＭ２３にはＲＳＳＩ値「−８６」がセットされる。第９ワークエリアＭ２４にはマップ情報「ＭＡＰ１」がセットされる。第１０ワークエリアＭ２５には第１係数ａ「Ｃ１１」及び第２係数ｂ「Ｃ１２」がセットされる。
【００５７】
Ａｃｔ１８の処理を終えると、プロセッサ２１は、図１０のＡｃｔ１９の処理へと進む。プロセッサ２１は、Ａｃｔ１９として第１時刻エリアｔの時刻をさらにｘ秒だけ更新する。プロセッサ２１は、Ａｃｔ２０として更新後の第１時刻エリアｔの時刻が第２時刻エリアＴの時刻を超えたか否かを確認する。第１時刻エリアｔの時刻が第２時刻エリアＴの時刻を超えた場合、プロセッサ２１は、Ａｃｔ２０においてＹＥＳに進む。プロセッサ２１は、この情報処理を終了する。
【００５８】
第１時刻エリアｔの時刻が第２時刻エリアＴの時刻を超えていない場合には、プロセッサ２１は、Ａｃｔ２０においてＮＯに進む。プロセッサ２１は、Ａｃｔ２１として第１テーブル２３１を検索し、第１時刻エリアｔの時刻に関連付けて記述されているビーコンデータのＲＳＳＩ値を検出する。プロセッサ２１は、Ａｃｔ２２として同ビーコンデータのビーコンＩＤを取得する。プロセッサ２１は、Ａｃｔ２３として、Ａｃｔ２２の処理で取得したビーコンＩＤが、第６ワークエリアＭ２１にセットされているビーコンＩＤと一致するか否かを確認する。
【００５９】
Ａｃｔ１９において、第１時刻エリアｔの時刻が“10:10:15”に更新された場合、Ａｃｔ２２の処理で取得したビーコンＩＤは「２００」である。ビーコンＩＤ「２００」は、第６ワークエリアＭ２１にセットされているビーコンＩＤと一致する。両ビーコンＩＤが一致する場合、プロセッサ２１は、Ａｃｔ２３においてＹＥＳに進む。
【００６０】
プロセッサ２１は、Ａｃｔ２４として、Ａｃｔ２１の処理で検出したＲＳＳＩ値が、第８ワークエリアＭ２３にセットされているＲＳＳＩ値以上であるか否かを確認する。Ａｃｔ２１の処理で検出したＲＳＳＩ値が、第８ワークエリアＭ２３のＲＳＳＩ値に満たない場合、プロセッサ２１は、Ａｃｔ２４においてＮＯに進む。プロセッサ２１は、Ａｃｔ１９の処理に戻る。
【００６１】
Ａｃｔ２１の処理で検出したＲＳＳＩ値が、第８ワークエリアＭ２３のＲＳＳＩ値以上の場合には、プロセッサ２１は、Ａｃｔ２４においてＹＥＳに進む。プロセッサ２１は、Ａｃｔ２５として第７ワークエリアＭ２２のデータと、第８ワークエリアＭ２３のデータとを更新する。すなわちプロセッサ２１は、第７ワークエリアＭ２２のデータを第１時刻エリアｔの時刻に書き換える。プロセッサ２１は、第８ワークエリアＭ２３のデータを、Ａｃｔ２１の処理で検出したＲＳＳＩ値に書き換える。その後、プロセッサ２１は、Ａｃｔ１９の処理に戻る。
【００６２】
Ａｃｔ１９において、第１時刻のデータが“10:10:15”に更新された場合、Ａｃｔ２１の処理で検出したＲＳＳＩ値は「−８２」であり、第８ワークエリアＭ２３のＲＳＳＩ値以上である。したがって、Ａｃｔ２５の処理により、第７ワークエリアＭ２２のデータが“10:10:15”に書き換えられる。また、第８ワークエリアＭ２３のデータが「−８２」に書き換えられる。
【００６３】
Ａｃｔ１９の処理に戻ることで、第１時刻エリアｔの時刻が“10:10:16”に更新される。このとき、Ａｃｔ２１の処理で検出したＲＳＳＩ値は「−８５」であり、第８ワークエリアＭ２３のＲＳＳＩ値「−８２」よりも小さい。Ａｃｔ２２の処理で取得したビーコンＩＤは、第６ワークエリアＭ２１のビーコンＩＤ「２００」と一致する。したがって、第７ワークエリアＭ２２及び第８ワークエリアＭ２３のデータは書き換えられない。第１時刻エリアｔの時刻が“10:10:17”に更新された場合も同様である。
【００６４】
かくして、第１時刻エリアｔの時刻が“10:10:17”になった時点では、第６ワークエリアＭ２１にはビーコンＩＤ「２００」がセットされている。第７ワークエリアＭ２２には時刻“10:10:15”がセットされている。第８ワークエリアＭ２３にはＲＳＳＩ値「−８２」がセットされている。第９ワークエリアＭ２４にはマップ情報「ＭＡＰ１」がセットされている。第１０ワークエリアＭ１５には第１係数ａ「Ｃ１１」及び第２係数ｂ「Ｃ１２」がセットされている。第７ワークエリアＭ２２にセットされている時刻“10:10:15”は、測位装置２０がビーコンＩＤ「２００」のビーコン信号を最大の受信強度で受信した時刻である。
【００６５】
Ａｃｔ１９において、第１時刻エリアｔの時刻が“10:10:18”に更新されると、Ａｃｔ２２の処理で検出されるビーコンＩＤが「３００」となる。したがって、Ａｃｔ２３において、両ビーコンＩＤが不一致と判定される。
【００６６】
両ビーコンＩＤが不一致と判定されると、プロセッサ２１は、Ａｃｔ２３においてＮＯに進む。プロセッサ２１は、Ａｃｔ２６として、第２テーブル２３２の、第２ワークエリアＭ１２にセットされている時刻“10:10:11”から第７ワークエリアＭ２２にセットされている時刻“10:10:15”までの第１係数ａ及び第２係数ｂの各エリアに、それぞれ第５ワークエリアＭ１５にセットされている第１係数ａ「Ｃ１１」と第２係数ｂ「Ｃ１２」とを記述する。
【００６７】
Ａｃｔ２６の処理を終えると、プロセッサ２１は、Ａｃｔ２７として、Ａｃｔ２６において第１係数ａ及び第２係数ｂが記述された時刻に対する移動体ＣＡの移動速度を算出する。すなわちプロセッサ２１は、各時刻の角速度から、時刻毎に角速度の標準偏差Ｗを算出する。プロセッサ２１は、時刻“10:10:11”から時刻“10:10:15”までの各時刻に対し、時刻毎に角速度の標準偏差Ｗと、第１係数ａ「Ｃ１１」及び第２係数ｂ「Ｃ１２」とを、数式（１）の一次関数に当て嵌めて、移動速度Ｓを算出する。プロセッサ２１は、時刻“10:10:11”から時刻“10:10:15”までの各時刻に対し、時刻毎に算出した移動速度Ｓを、第２テーブル２３２に記述する。
【００６８】
Ａｃｔ２７の処理を終えると、プロセッサ２１は、Ａｃｔ２８として、第２ワークエリアＭ１２にセットされている時刻“10:10:11”から第７ワークエリアＭ２２にセットされている時刻“10:10:15”までの移動体ＣＡの移動軌跡を算出する。すなわちプロセッサ２１は、第１ワークエリアＭ１１にセットされているビーコンＩＤ「１００」で特定されるビーコン発信器１０Ａの絶対座標を、移動体ＣＡの時刻“10:10:11”時点の相対座標で示される位置とする。同様に、プロセッサ２１は、第６ワークエリアＭ２１にセットされているビーコンＩＤ「２００」で特定されるビーコン発信器１０Ｂの絶対座標を、移動体ＣＡの時刻“10:10:15”時点の相対座標で示される位置とする。そしてプロセッサ２１は、第２テーブル２３２の時刻“10:10:11”から時刻“10:10:15”までの角度と移動速度のそれぞれの積算データに基づいて、ビーコン発信器１０Ａからビーコン発信器１０Ｂまでを結ぶ移動体ＣＡの移動軌跡を算出する。
【００６９】
ここに、プロセッサ２１を主体とするコンピュータは、Ａｃｔ４乃至Ａｃｔ６及びＡｃｔ１１乃至Ａｃｔ１６の処理により、単位時間毎に移動体ＣＡが位置する区分領域Ａ１，Ａ２，…を特定する。同コンピュータは、Ａｃｔ７及びＡｃｔ１７の処理により、その区分領域Ａ１，Ａ２，…に関連付けられて第４テーブル２３４に記憶された第１係数ａ及び第２係数ｂを取得する。同コンピュータは、Ａｃｔ２６及びＡｃｔ２７の処理により、その第１係数ａ及び第２係数ｂと角速度の標準偏差とから区分領域における移動体ＣＡの移動速度を算出する。同コンピュータは、Ａｃｔ２８の処理により、その移動速度と移動体ＣＡの方位角とから測位領域Ａ０における移動体Ｃの位置を測位する。すなわち同コンピュータは、測位部２１２として機能する。
【００７０】
Ａｃｔ２８の処理を終えると、プロセッサ２１は、Ａｃｔ２９として第１乃至第５ワークエリアＭ１１〜Ｍ１５のデータを、第６乃至第１０ワークエリアのデータに書き換える。そしてプロセッサ２１は、Ａｃｔ１６の処理に戻る。すなわちプロセッサ２１は、Ａｃｔ２２の処理で取得したビーコンＩＤで第３テーブル２３３を検索し、当該ビーコンＩＤに関連付けて記述されているマップ情報ＭＡＰを取得する。プロセッサ２１は、Ａｃｔ１７として、Ａｃｔ１６の処理で取得したマップ情報ＭＡＰで第４テーブル２３４を検索し、当該マップ情報ＭＡＰに関連付けて記述されている第１係数ａ及び第２係数ｂを取得する。
【００７１】
プロセッサ２１は、Ａｃｔ１８として第６乃至第１０ワークエリアＭ２１〜Ｍ２５にデータをセットする。すなわちプロセッサ２１は、第６ワークエリアＭ２１にＡｃｔ２２の処理で取得したビーコンＩＤをセットする。プロセッサ２１は、第７ワークエリアＭ２２に第１時刻エリアｔの時刻をセットする。プロセッサ２１は、第８ワークエリアＭ２３にＡｃｔ２１の処理で検出したＲＳＳＩ値をセットする。プロセッサ２１は、第９ワークエリアＭ２４にＡｃｔ１６の処理で取得したマップ情報をセットする。プロセッサ２１は、第１０ワークエリアＭ２５にＡｃｔ１７の処理で取得した第１係数ａ及び第２係数ｂをセットする。
【００７２】
したがって、Ａｃｔ１９において、第１時刻エリアｔの時刻が“10:10:18”に更新された場合には、Ａｃｔ２９の処理により、第１ワークエリアＭ１１にはビーコンＩＤ「２００」がセットされる。第２ワークエリアＭ１２には時刻“10:10:15”がセットされる。第３ワークエリアＭ１３にはＲＳＳＩ値「−８２」がセットされる。第４ワークエリアＭ１４にはマップ情報「ＭＡＰ１」がセットされる。第５ワークエリアＭ１５には第１係数ａ「Ｃ１１」及び第２係数ｂ「Ｃ１２」がセットされる。また、Ａｃｔ１８の処理により、第６ワークエリアＭ２１にはビーコンＩＤ「３００」がセットされる。第７ワークエリアＭ２２には、時刻“10:10:18”がセットされる。第８ワークエリアＭ２３には、ＲＳＳＩ値「−８５」がセットされる。第９ワークエリアＭ２４には、マップ情報「ＭＡＰ２」がセットされる。第１０ワークエリアＭ２５には、第１係数ａ「Ｃ２１」及び第２係数ｂ「Ｃ２２」がセットされる。
【００７３】
Ａｃｔ１８の処理を終えると、プロセッサ２１は、前述したように図１０のＡｃｔ１９の処理へと進む。Ａｃｔ１９において、第１時刻エリアｔの時刻が“10:10:19”に更新されると、Ａｃｔ２１の処理で検出したＲＳＳＩ値は「−８２」であり、第８ワークエリアＭ２３のＲＳＳＩ値以上である。したがって、Ａｃｔ２５の処理により、第７ワークエリアＭ２２のデータが“10:10:19”に書き換えられる。また、第８ワークエリアＭ２３のデータが「−８２」に書き換えられる。
【００７４】
Ａｃｔ２５の処理を終えると、プロセッサ２１は、前述したようにＡｃｔ１９の処理に戻る。Ａｃｔ１９において、第１時刻エリアｔの時刻が“10:10:20”に更新されると、Ａｃｔ２１の処理で検出したＲＳＳＩ値は「−８１」であり、第８ワークエリアＭ２３のＲＳＳＩ値以上である。したがって再び、Ａｃｔ２５の処理により、第７ワークエリアＭ２２のデータが“10:10:20”に書き換えられる。また、第８ワークエリアＭ２３のデータが「−８１」に書き換えられる。
【００７５】
Ａｃｔ１９において、第１時刻エリアｔの時刻が“10:10:21”に更新されると、Ａｃｔ２１の処理で検出したＲＳＳＩ値は「−８４」であり、第８ワークエリアＭ２３のＲＳＳＩ値よりも小さい。Ａｃｔ２２の処理で取得したビーコンＩＤは「３００」であり、第６ワークエリアＭ２１のビーコンＩＤと一致する。したがって、第６ワークエリアＭ２１乃至第１０ワークエリアＭ２５のデータは更新されない。
【００７６】
Ａｃｔ１９において、第１時刻エリアｔの時刻が“10:10:22”に更新されると、Ａｃｔ２２の処理で検出されるビーコンＩＤが「４００」となり、第６ワークエリアＭ２１のビーコンＩＤと一致しない。したがってプロセッサ２１は、前述したＡｃｔ２６乃至Ａｃｔ２９の処理を実行する。
【００７７】
その結果、第２テーブル２３２の、時刻“10:10:15”から時刻“10:10:20”までの第１係数ａ及び第２係数ｂの各エリアに、それぞれ第５ワークエリアＭ１５にセットされている第１係数ａ「Ｃ１１」と第２係数ｂ「Ｃ１２」とが記述される。そして、第１係数ａ「Ｃ１１」及び第２係数ｂ「Ｃ１２」と、角速度の標準偏差Ｗとから、時刻“10:10:15”から時刻“10:10:20”までの各時刻における移動速度Ｓが算出される。移動速度は、第２テーブル２３２に記述される。さらに、時刻“10:10:15”から時刻“10:10:20”までの各時刻における移動速度と角度とに基づいて、その間の移動体ＣＡの移動軌跡が算出される。
【００７８】
その後、第１ワークエリアＭ１１にはビーコンＩＤ「３００」がセットされる。第２ワークエリアＭ１２には時刻“10:10:20”がセットされる。第３ワークエリアＭ１３にはＲＳＳＩ値「−８１」がセットされる。第４ワークエリアＭ１４にはマップ情報「ＭＡＰ２」がセットされる。第５ワークエリアＭ１５には第１係数「Ｃ２１」及び第２係数「Ｃ２２」がセットされる。そしてプロセッサ２１は、Ａｃｔ１６の処理に戻り、前述したのと同様の処理を繰り返す。
【００７９】
したがって、プロセッサ２１が、次にＡｃｔ２６乃至Ａｃｔ２９の処理を実行した際には、第２テーブル２３２の、時刻“10:10:20”以降の第１係数ａ及び第２係数ｂの各エリアに、それぞれ第５ワークエリアＭ１５にセットされている第１係数ａ「Ｃ２１」と第２係数ｂ「Ｃ２２」とが記述される。そして、第１係数ａ「Ｃ２１」及び第２係数ｂ「Ｃ２２」と、角速度の標準偏差Ｗとから、時刻“10:10:20”以降の各時刻における移動速度Ｓが算出される。さらに、時刻“10:10:20”以降の各時刻における移動速度と角度とに基づいて、その間の移動体ＣＡの移動軌跡が算出される。
【００８０】
このように、例えば図２に示すレイアウト例において、ビーコン発信器１０Ａからビーコン発信器１０Ｂの方向に移動する移動体ＣＡの移動速度は、区分領域Ａ１に対して設定された第１係数ａ「Ｃ１１」及び第２係数ｂ「Ｃ１２」を用いて算出される。ビーコン発信器１０Ａとビーコン発信器１０Ｂとは、いずれも区分領域Ａ１に配置されている。第１係数ａ「Ｃ１１」及び第２係数ｂ「Ｃ１２」は、区分領域Ａ１の移動体ＣＡが移動する面の材質に対して、角速度（rad/s）の標準偏差Ｗとの間に成立する一次関数の係数ａ及び係数ｂである。したがって、ビーコン発信器１０Ａからビーコン発信器１０Ｂまでの区間内においては、移動体ＣＡの移動速度を精度よく算出することができる。
【００８１】
同レイアウト例において、ビーコン発信器１０Ｂからビーコン発信器１０Ｃの方向に移動する移動体ＣＡの移動速度は、区分領域Ａ１に対して設定された第１係数ａ「Ｃ１１」及び第２係数ｂ「Ｃ１２」を用いて算出される。ビーコン発信器１０Ｂは、区分領域Ａ１に配置されている。したがって、ビーコン発信器１０Ｂから区分領域Ａ１と区分領域Ａ２との境界線ＢＤを横切るまでの移動体ＣＡの移動速度については精度よく算出することができる。
【００８２】
ビーコン発信器１０Ｃは、区分領域Ａ２に配置されている。したがって、境界線ＢＤからビーコン発信器１０Ｃまで移動体ＣＡの移動速度については、精度よく算出できない可能性がある。しかし、その区間は測位領域Ａ０内を移動体ＣＡが移動する距離と比較すると極めて短い場合が多いので、大きな問題はない。
【００８３】
ビーコン発信器１０Ｃからビーコン発信器１０Ｄの方向に移動する移動体ＣＡの移動速度は、区分領域Ａ２に対して設定された第１係数ａ「Ｃ２１」及び第２係数ｂ「Ｃ２２」を用いて算出される。ビーコン発信器１０Ｃとビーコン発信器１０Ｄとは、いずれも区分領域Ａ２に配置されている。第１係数ａ「Ｃ２１」及び第２係数ｂ「Ｃ２２」は、区分領域Ａ２の移動体ＣＡが移動する面の材質に対して、角速度（rad/s）の標準偏差Ｗとの間に成立する一次関数の係数ａ及び係数ｂである。したがって、ビーコン発信器１０Ｃからビーコン発信器１０Ｄまでの区間内においては、移動体ＣＡの移動速度を精度よく算出することができる。
【００８４】
かくして本実施形態の測位装置２０によれば、移動体ＣＡが移動する面の状態に拘わらず、移動体ＣＡの移動速度を精度よく算出できるので、移動体ＣＡの位置を精度良く測定できる効果を奏する。特に、屋内又は屋外を問わず、材質が異なる面が接合された床面を移動体ＣＡの測位領域Ａ０とするような場合、適切なタイミングで床面の材質に適応した係数に変更するので、本実施形態の測位装置２０は、その精度の面から大変に有効である。
【００８５】
本実施形態の測位装置２０は、測位領域Ａ０に配置されたビーコン発信器１０から発信されるビーコン信号の受信強度を測定するための強度測定部２７１を有している。そして測位装置２０のプロセッサ２１は、強度測定部２７１で測定されたビーコン信号の受信強度が最も大きいビーコン発信器１０を特定し、そのビーコン発信器１０が位置する区分領域に移動体ＣＡが位置していることを特定している。したがって測位装置２０は、移動体ＣＡが位置する区分領域を容易に特定することができる。
【００８６】
［第２の実施形態］
次に、移動体が移動する面の状態に拘わらず当該移動体の位置を精度良く測定できる測位装置の第２の実施形態について、図１１乃至図１３を用いて説明する。なお、第１の実施形態と共通する部分には同一符号を付し、その詳しい説明は省略する。
【００８７】
図１１は、第２の実施形態における測位装置２００の要部回路構成を示すブロック図である。測位装置２００が第１の実施形態の測位装置２０と異なる点は、プロセッサ２１０が、取得部２１１及び測位部２１２としての機能に加えて、再測位部２１３としての機能を有する点である。
【００８８】
再測位部２１３は、測位部２１２による測位結果から測位領域Ａ０を移動する移動体ＣＡの軌跡を求める。再測位部２１３は、移動体ＣＡの軌跡が、隣接する２つの区分領域、例えば区分領域Ａ１，Ａ２の境界線ＢＤを横切る地点を求める。再測位部２１３は、求めた地点を境に、隣接する２つの区分領域Ａ１，Ａ２のうち一方の区分領域Ａ１に対してはその区分領域Ａ１に関連付けられて第４テーブル２３４に記憶された第１係数ａ及び第２係数ｂを取得し、他方の区分領域Ａ２に対してはその区分領域に関連付けられて第４テーブル２３４に記憶された第１係数ａ及び第２係数ｂを取得する。再測位部２１３は、区分領域Ａ１，Ａ２毎に取得した第１係数ａ及び第２係数ｂを使用して、移動体ＣＡの位置を測位し直す。
【００８９】
図１２は、測位装置２００のプロセッサ２１０が測位プログラムに従って実行する情報処理の要部手順を示す流れ図である。図１２は、第１の実施形態の同手順説明において、図１０に示すＡｃｔ２８の処理とＡｃｔ２９の処理との間で実行される処理手順を示すものである。すなわち第２の実施形態においては、図１０に示すＡｃｔ２８の処理とＡｃｔ２９の処理との間において、Ａｃｔ３１乃至Ａｃｔ３９の処理を実行する点が、第１の実施形態とは異なる。
【００９０】
すなわち、Ａｃｔ２８において、移動体ＣＡの移動軌跡を算出したプロセッサ２１０は、Ａｃｔ３１として第１ワークエリアＭ１１にセットされているビーコンＩＤで第３テーブル２３３を検索し、当該ビーコンＩＤに関連付けて記述されているマップ情報ＭＡＰを取得する。またプロセッサ２１０は、Ａｃｔ３２として第６ワークエリアＭ２１にセットされているビーコンＩＤで第３テーブル２３３を検索し、当該ビーコンＩＤに関連付けて記述されているマップ情報ＭＡＰを取得する。
【００９１】
プロセッサ２１０は、Ａｃｔ３３として、Ａｃｔ３１の処理で取得したマップ情報ＭＡＰとＡｃｔ３２の処理で取得したマップ情報ＭＡＰとが一致するか否かを確認する。一致する場合、プロセッサ２１０は、Ａｃｔ３３においてＹＥＳに進む。プロセッサ２１０は、Ａｃｔ２９の処理を実行する。両マップ情報ＭＡＰが一致しない場合には、プロセッサ２１０は、Ａｃｔ３３においてＮＯに進む。プロセッサ２１０は、Ａｃｔ３４乃至Ａｃｔ３９の処理を実行する。
【００９２】
第１の実施形態で説明したように、図１０のＡｃｔ１９において、第１時刻エリアｔの時刻が“10:10:18”に更新され、Ａｃｔ２６乃至Ａｃｔ２８の処理が実行された場合には、ビーコン発信器１０Ａとビーコン発信器１０Ｂとを結ぶ軌跡が算出される。このときは、Ａｃｔ３１の処理で取得したマップ情報ＭＡＰ１とＡｃｔ３２の処理で取得したマップ情報ＭＡＰ１とは一致する。したがって、プロセッサ２１０は、Ａｃｔ３３においてＹＥＳと判定し、Ａｃｔ３４乃至Ａｃｔ３９の処理をスキップしてＡｃｔ２９の処理を実行する。
【００９３】
一方、Ａｃｔ１９の処理において、第１時刻エリアｔの時刻が“10:10:22”に更新され、Ａｃｔ２６乃至Ａｃｔ２８の処理が実行された場合には、図１３に示すように、ビーコン発信器１０Ｂとビーコン発信器１０Ｃとを結ぶ軌跡Ｌ１が算出される。このときは、Ａｃｔ３１の処理で取得したマップ情報ＭＡＰ１とＡｃｔ３２の処理で取得したマップ情報ＭＡＰ２とが一致しない。したがって、プロセッサ２１０は、Ａｃｔ３３においてＮＯと判定し、Ａｃｔ３４乃至Ａｃｔ３９の処理を実行する。
【００９４】
すなわちプロセッサ２１０は、移動体ＣＡの軌跡Ｌ１が区分領域Ａ１と区分領域Ａ２との境界線ＢＤを横切る交点Ｄを算出する。そしてプロセッサ２１０は、第２テーブル２３２に記憶されているデータを基に、移動体ＣＡが交点Ｄに到達する時刻Ｔｘを算出する。前述したように、プロセッサ２１は、第２テーブル２３２の時刻“10:10:15”から時刻“10:10:20”までの角度と移動速度のそれぞれの積算データに基づいて、ビーコン発信器１０Ｂからビーコン発信器１０Ｃまでを結ぶ移動体ＣＡの移動軌跡を算出することができる。一方、区分領域Ａ１と区分領域Ａ２との境界線ＢＤの位置は予め分かっている。そこで、移動体ＣＡの移動軌跡が境界線ＢＤを横切ったとされる時刻を、交点到達時刻Ｔｘとして算出する。
【００９５】
プロセッサ２１０は、Ａｃｔ３６として、第２テーブル２３２の、第２ワークエリアＭ１２に記述されている時刻“10:10:15”から、交点到達時刻Ｔｘまでの第１係数ａ及び第２係数ｂを、第５ワークエリアＭ１５に記述されている第１係数ａ「Ｃ１１」及び第２係数ｂ「Ｃ１２」とする。またプロセッサ２１０は、Ａｃｔ３７として、第２テーブル２３２の、交点到達時刻Ｔｘから、第７ワークエリアＭ２２に記述されている時刻“10:10:20”までの第１係数ａ及び第２係数ｂを、第１０ワークエリアＭ２５に記述されている第１係数ａ「Ｃ２１」及び第２係数ｂ「Ｃ２２」とする。
【００９６】
しかる後、プロセッサ２１０は、Ａｃｔ３８として、Ａｃｔ２７の処理と同様に、移動速度を算出する。またプロセッサ２１０は、Ａｃｔ３９として、Ａｃｔ２８の処理と同様に移動軌跡を算出する。その後、プロセッサ２１０は、Ａｃｔ２９の処理を実行する。
【００９７】
ここにプロセッサ２１０を主体とするコンピュータは、Ａｃｔ３１乃至Ａｃｔ３４の処理により、移動体ＣＡの軌跡が、隣接する２つの区分領域、例えば区分領域Ａ１，Ａ２の境界線ＢＤを横切る地点、すなわち交点Ｄを求める。同コンピュータは、Ａｃｔ３６及びＡｃｔ３７の処理により、交点Ｄを境に、隣接する２つの区分領域Ａ１，Ａ２のうち一方の区分領域Ａ１に対してはその区分領域Ａ１に関連付けられて第４テーブル２３４に記憶された第１係数ａ及び第２係数ｂを取得し、他方の区分領域Ａ２に対してはその区分領域に関連付けられて第４テーブル２３４に記憶された第１係数ａ及び第２係数ｂを取得する。同コンピュータは、Ａｃｔ３８及びＡｃｔ３９に処理により、区分領域Ａ１，Ａ２毎に取得した第１係数ａ及び第２係数ｂを使用して、移動体ＣＡの位置を測位し直す。すなわち同コンピュータは、再測位部２１３として機能する。
【００９８】
このように第２の実施形態によれば、図１３に示すように、移動体ＣＡが移動する面の材質が異なる領域Ａ１，Ａ２を横切る場合には、その領域Ａ１から境界線ＢＤに至るまでの移動速度を計算するための第１係数ａ及び第２係数ｂとして、領域Ａ１に対応した係数「Ｃ１１」及び「Ｃ１２」を使用する。また、境界線ＢＤから領域Ａ２に入った後の移動速度を計算するための第１係数ａ及び第２係数ｂとして、領域Ａ２に対応した係数「Ｃ２１」及び「Ｃ２２」を使用する。したがって、第１の実施形態と比較して、ビーコン発信器１０Ｂからビーコン発信器１０Ｃの方向に移動する移動体ＣＡの移動速度も精度よく算出することができる。よって、第１の実施形態よりも高い精度で移動体ＣＡの測位を行うことができる。
【００９９】
［変形例］
移動体が移動する面の状態に拘わらず当該移動体の位置を精度良く測定できる測位装置は、第１及び第２の実施形態に限定されるものではない。
【０１００】
例えば、少なくともセンサユニット２６及び無線ユニット２７とともに、例えば無線ＬＡＮ（Local Area Network）のインターフェースを備えた無線通信端末を、移動体ＣＡに設ける。無線ＬＡＮのインターフェースは、センサユニット２６のセンサ信号と強度測定部２７１で測定されたＲＳＳＩ値とを、無線通信を利用してサーバ用コンピュータに伝送するためのものである。サーバ用コンピュータは、無線通信端末から受信したセンサユニット２６のセンサ信号と強度測定部２７１で測定されたＲＳＳＩ値とを取得するための取得部を有する。また、サーバ用コンピュータは、前述した記憶部と測位部とを備える。こうすることにより、サーバ用コンピュータであっても、移動体ＣＡの測位を精度良く行えるようになる。この場合、測位装置は、無線通信端末とサーバ用コンピュータとから構成される。
【０１０１】
前記実施形態では、測位領域Ａ０を、移動体ＣＡが移動する面の材質の違いによって複数の区分領域Ａ１，Ａ２，…に区分する場合を例示した。この点については、面の材質は同じでも、例えば表面の摩擦係数に違いがある場合に別領域として区分するようにしてもよい。逆に、面の材質が異なっても、角速度（rad/s）の標準偏差Ｗとの間に成立する関係式の係数が等しい場合には区分しなくてもよい。
【０１０２】
前記実施形態では、測位領域Ａ０に複数のビーコン発信器１０を配置した。他の実施形態としては、測位領域Ａ０に複数のビーコン受信器を配置する。また、測位装置２０が備える無線ユニット２７をビーコン信号の発信器とする。この実施形態の場合、ビーコン受信器は、測位装置２０から受信したビーコン信号の強度を測定し、その強度情報をビーコン信号送信元の測位装置２０に返信すればよい。あるいは、前述したようにサーバ用コンピュータに強度情報を送信するようにして、サーバ用コンピュータで移動体ＣＡの測位を行うようにしてもよい。
【０１０３】
なお、測位装置の譲渡は一般に、測位プログラムがＲＯＭに記憶された状態にて行われる。しかしこれに限らず、測位プログラムがＲＯＭに記憶されていない状態で譲渡されてもよい。その場合は、測位装置が備える書き込み可能な記憶デバイスに、この測位装置とは個別に譲渡された測位プログラムがユーザなどの操作に応じて書き込まれることとなる。測位プログラムの譲渡は、リムーバブルな記録媒体に記録して、あるいはネットワークを介した通信により行うことができる。記録媒体は、ＣＤ−ＲＯＭ，メモリカード等のようにプログラムを記憶でき、かつ装置が読み取り可能であれば、その形態は問わない。また、プログラムのインストールやダウンロードにより得る機能は、装置内部のＯＳ（オペレーティング・システム）等と協働してその機能を実現させるものであってもよい。
【０１０４】
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０５】
１０…ビーコン発信器、２０，２００…測位装置、２１，２１０…プロセッサ、２２…メインメモリ、２３…補助記憶装置、２４…時計、２５…タッチパネル、２６…センサユニット、２７…無線ユニット、３０…ネットワーク、２１１…取得部、２１２…測位部、２１３…再測位部、２３１…第１テーブル、２３２…第２テーブル、２３３…第３テーブル、２３４…第４テーブル、Ａ０…測位領域、Ａ１，Ａ２…区分領域、ＣＡ…移動体。
【図１】
2019190945.tif 000003
【図２】
2019190945.tif 000004
【図３】
2019190945.tif 000005
【図４】
2019190945.tif 000006
【図５】
2019190945.tif 000007
【図６】
2019190945.tif 000008
【図７】
2019190945.tif 000009
【図８】
2019190945.tif 000010
【図９】
2019190945.tif 000011
【図１０】
2019190945.tif 000012
【図１１】
2019190945.tif 000013
【図１２】
2019190945.tif 000014
【図１３】
2019190945.tif 000015