(57)【要約】【課題】位置・動線測量の精度を向上させること。【解決手段】動線測量装置３は、予め所定箇所に設置されたＴＤ１が発する信号を検知可能なスマートデバイス２の信号を受信し、スマートデバイス２による信号の検知状況に応じて演算およびかかる演算結果の統計的取捨選択処理（フィルタ処理）を同時に行うことで、同時に算出可能な複数の演算結果のうち最適な演算結果をその都度採択することによりスマートデバイス２の位置を特定する。過去の位置座標特定結果が存在する場合には、具体的に正規化最小自乗（Normalized Least Square）及びコサイン類似度（Cosine Similarity）アルゴリズムを用いてスマートデバイス２の位置座標を算出する。【選択図】図１
2019144025.tif 000002
【特許請求の範囲】
【請求項１】
所定箇所に予め設置された複数の設置デバイスを用いて非設置デバイスの位置を特定する位置特定方法において、
コンピュータが、
前記設置デバイスまたは前記非設置デバイスのうち一方のデバイスが発する信号を検出した、前記設置デバイスまたは前記非設置デバイスのうち他方のデバイス検出の可否を受信したときに、前記非設置デバイスに関し以前計算された位置座標データが存在する場合、正規化最小自乗、およびコサイン類似度アルゴリズムを用いて位置座標を算出することにより前記非設置デバイスの位置を特定する、
ことを特徴とする位置特定方法。
【請求項２】
算出した過去の位置座標に対し予見モデルを用いて前記非設置デバイスの現在の位置座標を補正する請求項１に記載の位置特定方法。
【請求項３】
前記予見モデルは２次元または３次元カルマンフィルタである請求項２に記載の位置特定方法。
【請求項４】
前記信号はＲＳＳＩ値であり、前記ＲＳＳＩ値に対してノイズ除去処理を行い、ノイズ
を除去したＲＳＳＩ値を用いて前記非設置デバイスの位置座標を算出する請求項１に記載
の位置特定方法。
【請求項５】
前記信号には、当該信号を発信したデバイス毎の当該信号を発信した順序を識別する識別情報が含まれており、発信順序の異なる近距離無線通信信号を演算対象から除去する請求項１に記載の位置特定方法。
【請求項６】
所定箇所に予め設置された複数の設置デバイスを用いて非設置デバイスの位置を特定する位置特定方法において、
コンピュータが、
前記設置デバイスまたは前記非設置デバイスのうち一方のデバイスが発する信号を検出した、前記設置デバイスまたは前記非設置デバイスのうち他方のデバイス検出の可否を受信し、
前記他方のデバイスによる前記信号の検出状況に応じて前記各設置デバイスを仮想的に繋ぐ線の軌跡が可及的に正三角形に近づく前記設置デバイスの組み合わせを用いて三辺測量を行うとともに測量結果のフィルタ処理を行い、
算出可能な複数の演算結果のうち最適な演算結果をその都度採択して前記非設置デバイスの位置を特定する、
ことを特徴とする位置特定方法。
【請求項７】
算出した過去の位置座標に対し予見モデルを用いて前記非設置デバイスの現在の位置座標を補正する請求項６に記載の位置特定方法。
【請求項８】
前記予見モデルは２次元または３次元カルマンフィルタである請求項７に記載の位置特定方法。
【請求項９】
所定箇所に予め設置された複数の設置デバイスを用いて非設置デバイスの位置を特定する位置特定方法において、
コンピュータが、
前記設置デバイスまたは前記非設置デバイスのうち一方のデバイスが発する信号を検出した、前記設置デバイスまたは前記非設置デバイスのうち他方のデバイス検出の可否を受信し、
前記他方のデバイスによる前記信号の検出状況に応じてデッドレコニング方式により位置特定を行うにあたり、ＲＳＳＩ値の演算により得られた移動した方角情報と移動距離を、過去に演算した直近の位置座標に適用して前記非設置デバイスの現在位置座標を決定する、
ことを特徴とする位置特定方法。
【請求項１０】
請求項１に記載の位置特定方法を行う制御部と、
特定した非設置デバイスの位置を記憶する記憶部と、
を有することを特徴とする位置特定装置。
【請求項１１】
請求項６に記載の位置特定方法を行う制御部と、
特定した非設置デバイスの位置を記憶する記憶部と、
を有することを特徴とする位置特定装置。
【請求項１２】
請求項９に記載の位置特定方法を行う制御部と、
決定した前記非設置デバイスの現在位置座標を記憶する記憶部と、
を有することを特徴とする位置特定装置。
【請求項１３】
所定箇所に予め設置された複数の設置デバイスを用いて非設置デバイスの位置を特定するプログラムにおいて、
コンピュータに、
前記設置デバイスまたは前記非設置デバイスのうち一方のデバイスが発する信号を検出した、前記設置デバイスまたは前記非設置デバイスのうち他方のデバイス検出の可否を受信したときに、前記非設置デバイスに関し以前計算された位置座標データが存在する場合、正規化最小自乗、およびコサイン類似度アルゴリズムを用いて位置座標を算出することにより前記非設置デバイスの位置を特定する、
ことを特徴とする位置特定方法。
【請求項１４】
所定箇所に予め設置された複数の設置デバイスを用いて非設置デバイスの位置を特定するプログラムにおいて、
コンピュータに、
前記設置デバイスまたは前記非設置デバイスのうち一方のデバイスが発する信号を検出した、前記設置デバイスまたは前記非設置デバイスのうち他方のデバイス検出の可否を受信し、
前記他方のデバイスによる前記信号の検出状況に応じて前記各設置デバイスを仮想的に繋ぐ線の軌跡が可及的に正三角形に近づく前記設置デバイスの組み合わせを用いて三辺測量を行うとともに測量結果のフィルタ処理を行い、
算出可能な複数の演算結果のうち最適な演算結果をその都度採択して前記非設置デバイスの位置を特定する、
処理を実行させることを特徴とするプログラム。
【請求項１５】
所定箇所に予め設置された複数の設置デバイスを用いて非設置デバイスの位置を特定するプログラムにおいて、
コンピュータに、
前記設置デバイスまたは前記非設置デバイスのうち一方のデバイスが発する信号を検出した、前記設置デバイスまたは前記非設置デバイスのうち他方のデバイス検出の可否を受信し、
前記他方のデバイスによる前記信号の検出状況に応じてデッドレコニング方式により位置特定を行うにあたり、ＲＳＳＩ値の演算により得られた移動した方角情報と移動距離を、過去に演算した直近の位置座標に適用して前記非設置デバイスの現在位置座標を決定する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は位置特定方法、位置特定装置およびプログラムに関する。
【背景技術】
【０００２】
センサを用いてヒトまたはモノ（総称して「移動体」）の環境に関する位置及び動線を検出する動線測量についての技術が知られている。例えば、Bluetooth Low Energy（BLE）や電磁場（EMF：Electromagnetic Field）を用いて屋内のスマートデバイスの位置及び動線を測量する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２０１４／０２８６５３４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
電磁場を用いて動線を測量する場合、電磁場の乱れ等により、必ずしも正確な測量ができるとは限らない。
【０００５】
また、例えばＧＰＳ（Global Positioning System）等を用いて位置及び動線を測量する場合、衛星のカバレッジの信頼できる受信が不十分であるために建物の屋内にあるＰＥに関しては十分に正確な検出結果が得られない場合がある。ＢＬＥによる動線測量も、外的環境内に所在する障害物によるシグナル遮蔽や、ＢＬＥ特有シグナルノイズのＲＳＳＩ値への影響等により十分に正確な検出結果が得られない場合がある。
このように、個々の技術単独では限界があり、個々の技術を組み合わせてより正確な動線を測量することが求められる。
１つの側面では、本発明は、動線測量の精度を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、開示の位置特定方法が提供される。この位置特定方法は、所定箇所に予め設置された複数の設置デバイスを用いて非設置デバイスの位置を特定する方法であり、コンピュータが、設置デバイスまたは非設置デバイスのうち一方のデバイスが発する信号を検出した、設置デバイスまたは非設置デバイスのうち他方のデバイス検出の可否を受信したときに、非設置デバイスに関し以前計算された位置座標データが存在する場合、正規化最小自乗、およびコサイン類似度アルゴリズムを用いて位置座標を算出することにより非設置デバイスの位置を特定する。
【発明の効果】
【０００７】
１態様では、動線測量の精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態の測量システムを説明する図である。
【図２】実施の形態の動線測量装置のハードウェア構成を示す図である。
【図３】実施の形態のＴＤのハードウェア構成を示す図である。
【図４】実施の形態のスマートデバイスのハードウェア構成を示す図である。
【図５】実施の形態の動線測量装置の機能を示すブロック図である。
【図６】近距離無線通信信号の検知を説明する図である。
【図７】近距離無線通信信号の検知を説明する図である。
【図８】近距離無線通信信号のＲＳＳＩ値の一例を示す図である。
【図９】実施の形態の動線測量装置の処理を示すフローチャートである。
【図１０】実施の形態の動線測量装置の処理を示すフローチャートである。
【図１１】制御部のノイズ除去処理を説明する図である。
【図１２】他の方法で行うＬＦＴフィルタ処理を説明する図である。
【図１３】三辺測量処理を説明する図である。
【図１４】デッドレコニング処理を説明する図である。
【図１５】加速度センサを活用して測位を行うデッドレコニング処理を説明するフローチャートである。
【図１６】ＲＳＳＩ値を活用して測位を行うデッドレコニング処理を説明するフローチャートである。
【図１７】２次元もしくは３次元カルマンフィルタを用いて座標の値を統合計算する処理の一例を説明する図である。
【発明を実施するための形態】
【０００９】
以下、実施の形態の測量システムを、図面を参照して詳細に説明する。
＜実施の形態＞
図１は、実施の形態の測量システムを説明する図である。
【００１０】
第１の実施の形態の測量システム１００は、複数のタイプの信号およびセンサ入力のアルゴリズム計算を用いた屋内および屋外の測位対象デバイスの動線を測量（Geospatial tracking）するシステムである。この測量システム１００は、タメコデバイス１と、スマートデバイス２と、動線測量装置３とを有している。
【００１１】
タメコデバイス（Tamecco Device：以下、「ＴＤ」と言う）１は、スマートデバイス２との間で近距離無線通信を実行するデバイスである。近距離無線通信手段としては、例えば、ｉＢｅａｃｏｎ（登録商標）プロトコルに基づくＢｌｕｅｔｏｏｔｈ（登録商標）によるブロードキャスト通信手段等が挙げられる。ＴＤ１は、例えば、ｉＢｅａｃｏｎ（登録商標）信号を１秒に数回、半径数十メートル範囲にブロードキャスト発信する。
【００１２】
ＴＤ１は、ｉＢｅａｃｏｎ信号の発信に加え、またはｉＢｅａｃｏｎ信号の代わりに単独で、ｉＢｅａｃｏｎよりも発信頻度の高いＢｌｕｅｔｏｏｔｈによるブロードキャスト配信（以下、「ＴＢＳ：Tamecco Broadcast Signal」という。）を行う場合もある。ＴＢＳによる高頻度ブロードキャスト配信の場合、動線測量装置３がｉＢｅａｃｏｎよりも多くのＲＳＳＩ（Received Signal Strength Indication）値のデータポイントを取得できる為、動線測位の精度を上げることができる。
【００１３】
なお、ｉＢｅａｃｏｎ及びＴＢＳのいずれも、Ｂｌｕｅｔｏｏｔｈ４．０又はそれ以降のバージョンのＢｌｕｅｔｏｏｔｈを採用した実施の形態であるが、それらへの言及はあくまで例示目的であり、本発明の範疇を、Ｂｌｕｅｔｏｏｔｈを採用した実施形態に限定するものではない。必要あれば、本発明による測位はＷｉ−Ｆｉシグナル等その他あらゆる近距離無線通信手段により実施することも考えられる。以下、ＴＤ１より検知される信号を「近距離無線通信信号」と記述する。
【００１４】
また、ＴＤ１が発信機として近距離無線通信信号を発信し、スマートデバイス２が受信機として近距離無線通信信号のＲＳＳＩ値を計測するパターンもあれば、その逆でスマートデバイス２が発信機として近距離無線通信信号を発信し、ＴＤ１が受信機として近距離無線通信信号のＲＳＳＩ値を計測するパターンもある。どちらのパターンでもＴＤ１とスマートデバイス２との間のＲＳＳＩ値を検知できることに変わらないので、そのＲＳＳＩ値を使って位置を測位する計算方法は同様である。
【００１５】
図１は、ビルのフロアの一例を示している。実施の形態のフロア２０は、クリーンルームであり、階段を上がって殺菌室を通り作業場に入場する。第１作業場２１には作業台、加工機械、および棚が設置されている。ＴＤ１は、所定の間隔でフロア２０内に３つ配置されている。１つのフロア内に配置されるＴＤ１の数や、配置するＴＤ１の間隔は、特に限定されない。
【００１６】
動線測量装置３は、図１に示すフロア２０の左上の位置座標を（０，０）に設定し、各時刻におけるスマートデバイス２の特定した位置の座標をそれぞれ記憶することにより、スマートデバイス２を保持する作業者の動線を測量する。これにより、作業者がフロア２０内をどのように移動したのか、そして現在どこに位置するのかを把握することができる。
【００１７】
スマートデバイス２は、本実施の形態では人物が携帯するデバイスであり、動線測量装置３が位置を特定する対象のデバイスである。スマートデバイス２としては、特に限定されないが、例えばスマートフォン、タブレット端末、ウェアラブル端末、ビーコン端末、並びにその他ディスプレイを有さないＧＰＳモジュールや近距離無線通信信号レシーバーが搭載されたデバイス等が挙げられる。なお、本実施の形態ではスマートデバイス２を人物が携帯するが、スマートデバイス２をショッピングカートや車、ショベルカー、フォークリフト、無人搬送車（Automatic Guided Vehicle）等、他のあらゆる有人又は無人の移動物に搭載し、位置及び動線測量を実施することも可能である。
【００１８】
スマートデバイス２は、ＴＤ１が発信し、そのＴＤ１への距離が近くなるにつれ強度が増す特性がある近距離無線通信信号のＲＳＳＩ値を動線測量装置３に送信する機能を備えている。
【００１９】
また、スマートデバイス２には、各種センサが内蔵されていることもあり、その場合はこれら各種センサによる検出結果を動線測量装置３に送信する機能を備えている。
【００２０】
動線測量装置（コンピュータ）３は、ＴＤ１より検出され、スマートデバイス２経由で送られてくるＲＳＳＩ値や、センサの検出（検知）結果に基づき、スマートデバイス２の位置を特定する要素（ＲＳＳＩ値や、センサの検出結果）を選択する。そして、選択した要素を用いて動線を測量する。なお、動線測量装置３の設置箇所は特に限定されない。また、場合によってはスマートデバイス２が動線測量装置３の役割を果たすパターンもある。
【００２１】
具体的には、まず動線測量装置３は、スマートデバイス２から送られてくる信号に基づきスマートデバイス２が静止しているか移動しているか否かを判断する。動線測量装置３は、スマートデバイス２が静止している場合、または移動している場合それぞれの状況に応じて前述したセンサや近距離無線通信信号を用いてスマートデバイス２の位置を特定する。
以下、開示の測量システム１００をより具体的に説明する。
図２は、実施の形態の動線測量装置のハードウェア構成を示す図である。
【００２２】
動線測量装置３は、ＣＰＵ（Central Processing Unit）３０１によって装置全体が制御されている。ＣＰＵ３０１には、バス３０５を介してＲＡＭ（Random Access Memory）３０２と複数の周辺機器が接続されている。
【００２３】
ＲＡＭ３０２は、動線測量装置３の主記憶装置として使用される。ＲＡＭ３０２には、ＣＰＵ３０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ３０２には、ＣＰＵ３０１による処理に使用する各種データが格納される。
バス３０５には、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）３０３、および通信インタフェース３０４が接続されている。
【００２４】
ハードディスクドライブ３０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ハードディスクドライブ３０３は、動線測量装置３の二次記憶装置として使用される。ハードディスクドライブ３０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリ等の半導体記憶装置を使用することもできる。
【００２５】
通信インタフェース３０４は、ネットワーク５０に接続されている。通信インタフェース３０４は、ネットワーク５０を介して、他のコンピュータまたは通信機器との間でデータを送受信する。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図３は、実施の形態のＴＤのハードウェア構成を示す図である。
ＴＤ１は、ＣＰＵ１０１によって装置全体が制御されている。
ＣＰＵ１０１には、バス１０４を介して内蔵メモリ１０２と通信インタフェース１０３が接続されている。
【００２６】
内蔵メモリ１０２は、ＴＤ１の主記憶装置として使用される。内蔵メモリ１０２には、ＴＤ１に近距離無線通信信号をブロードキャストさせるプログラムコードが格納される。なお、内蔵メモリ１０２としては、例えばフラッシュメモリ等の半導体記憶装置が挙げられる。
【００２７】
通信インタフェース１０３は、ＴＢＳ又はｉＢｅａｃｏｎ（登録商標）プロトコルに基づくＢｌｕｅｔｏｏｔｈ（登録商標）４．０以上の信号及びＷｉ−Ｆｉ信号等に例示される、近距離無線通信信号用のブロードキャスタとして機能するハードウェアである。
図４は、実施の形態のスマートデバイスのハードウェア構成を示す図である。
スマートデバイス２は、ＣＰＵ２０１によって装置全体が制御されている。
ＣＰＵ２０１には、バス２０９を介してＲＡＭ２０２と複数の周辺機器が接続されている。
【００２８】
ＲＡＭ２０２は、スマートデバイス２の主記憶装置として使用される。ＲＡＭ２０２には、ＣＰＵ２０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。ＯＳとしては、Ｌｉｎｕｘ（登録商標）、ｉＯＳ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）ＯＳ等が挙げられる。
また、ＲＡＭ２０２には、ＣＰＵ２０１による処理に使用する各種データが格納される。
【００２９】
バス２０９には、内蔵メモリ２０３、グラフィック処理装置２０４、入力インタフェース２０５、通信インタフェース２０６、各種センサ２０７、およびＧＰＳモジュール２０８が接続されていることもある。
【００３０】
内蔵メモリ２０３は、データの書き込みおよび読み出しを行う。内蔵メモリ２０３は、スマートデバイス２の二次記憶装置として使用される。内蔵メモリ２０３には、ＯＳのプログラム、スマートデバイス２の位置を追跡させるアプリケーション（以下、「動線測量アプリケーション」と言う。）のプログラム、および各種データが格納される。なお、内蔵メモリとしては、例えばフラッシュメモリ等の半導体記憶装置が挙げられる。
【００３１】
グラフィック処理装置２０４には、ディスプレイ２０４ａが接続されている。グラフィック処理装置２０４は、ＣＰＵ２０１からの命令に従って、画像をディスプレイ２０４ａの画面に表示させる。ディスプレイ２０４ａとしては、液晶表示装置等が挙げられる。また、ディスプレイ２０４ａは、タッチパネル機能も備えている。ディスプレイ２０４ａおよびタッチパネル機能は、設けられていなくてもよい。
【００３２】
入力インタフェース２０５は、ディスプレイ２０４ａおよび入力ボタン２０５に接続されている。入力インタフェース２０５は、入力ボタン２０５ａやディスプレイ２０４ａのタッチパネルから送られてくる信号をＣＰＵ２０１に送信する。
通信インタフェース２０６ａは、例えば、前述したＢｌｕｅｔｏｏｔｈ４．０以上のプロトコル仕様のハードウェアを備えている。
【００３３】
通信インタフェース２０６ｂは、ネットワーク５０に接続されている。通信インタフェース２０６ｂは、ネットワーク５０を介して、他のコンピュータまたは通信機器との間でデータを送受信する。
【００３４】
各種センサ２０７としては、磁力計（Magnetometer）２０７ａと、ジャイロセンサ（Gyro sensor）２０７ｂと、加速度センサ（Accelerometer）２０７ｃを備えていることもある。
ＧＰＳモジュール２０８は、ＧＰＳ衛星からの電波を受信し、位置を計算する。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図２に示すようなハードウェア構成の動線測量装置３内には、以下のような機能が設けられる。
図５は、実施の形態の動線測量装置の機能を示すブロック図である。
動線測量装置３は、記憶部３１と受信部３２と制御部３３とを有している。
【００３５】
記憶部３１は、受信部３２が受信したデータや制御部３３の処理結果のデータ（例えば、所定時刻におけるスマートデバイス２の現在位置座標（以下、「位置座標データ」とも言う））等、種々のデータを記憶する。
【００３６】
受信部３２は、スマートデバイス２（スマートデバイス２が受信機の場合）またはＴＤ１（ＴＤ１が受信機の場合）から送られてくる近距離無線通信信号を受信する。
【００３７】
近距離無線通信信号には、ＲＳＳＩ値が含まれている。また、近距離無線通信信号には、シーケンス番号（当該信号を発信したデバイス毎の当該信号を発信した順序を識別する識別情報が含まれていてもよい。シーケンス番号は、ＴＤ１またはスマートデバイス２が発信する各近距離無線通信信号に発信された順序を示すものであり、近距離無線通信信号のペイロードにシーケンス番号を書き込む形で実装される。シーケンス番号は、近距離無線通信信号の度に変化させる。また、近距離無線通信信号には、近距離無線通信信号を発信した装置を識別する情報が含まれていてもよい。
図６および図７は、近距離無線通信信号の検知を説明する図である。
以下の説明では、３つのＴＤ１それぞれを区別するため、３つのＴＤ１それぞれに便宜的にＴＤ１ａ、ＴＤ１ｂ、ＴＤ１ｃと異なる符号を付す。
図６は、ＴＤ１による近距離無線通信信号の検知を説明する図である。
ＴＤ１ａ、ＴＤ１ｂ、ＴＤ１ｃは、所定時間毎に近距離無線通信信号発信を行う。
図７は、スマートデバイス２による近距離無線通信信号の検知を説明する図である。
スマートデバイス２は、所定時間毎に近距離無線通信信号発信を行う。
【００３８】
このように、スマートデバイス２が信号を発信する場合は、受信機役のＴＤ１経由で近距離無線通信信号を受信する。ＴＤ１が信号を発信する場合は、受信機役のスマートデバイス２経由で近距離無線通信信号を受信する。
図８は、近距離無線通信信号のＲＳＳＩの値の一例を示す図である。
図８に示すグラフの横軸は時間を示し、縦軸は、近距離無線通信信号の強度を示している。
図８では、受信部３２が、各ＴＤ１ａ、１ｂ、１ｃが発する近距離無線通信信号の強度を示すＲＳＳＩ値を秒毎に複数の値を受信する例を示している。
再び図５に戻って説明する。
【００３９】
制御部３３は、受信部３２が受信した近距離無線通信信号に基づき、スマートデバイス２の位置を特定する。なお、特定方法をスマートデバイス２の状態に応じて調整し、さらなる精度向上に役立てることも可能である。すなわち、（イ）スマートデバイス２が備える各種センサの検出結果により制御部３３が、スマートデバイス２が静止していると判断した場合、および（ロ）スマートデバイス２が移動していると判断した場合、または各種センサによる移動・静止検出が不可能な場合、のそれぞれに応じて、同アルゴリズム処理において違ったパラメーターを適用することが挙げられる。
【００４０】
また、移動パターンの場合、デッドレコニング（Dead-reckoning）方式と呼ばれる別個の位置特定方法が利用可能である。すなわち、制御部３３が、まずスマートデバイス２から抽出するセンサの値を用いてスマートデバイス２が移動した方角と距離を測位する。制御部３３は、測位により得られた移動した方角と距離を、直近に演算した当該移動前の位置座標に適用してスマートデバイス２の現在位置座標を決定する。
次に、前述した動線測量装置３の処理を、フローチャートを用いて詳しく説明する。
【００４１】
図９および図１０は、実施の形態の動線測量装置の処理を示すフローチャートである。なお、以下のフローチャートの処理の順序は一例であり、図示の順序に限定されない。
［ステップＳ１］  受信部３２は、ＴＤ１とスマートデバイス２間の近距離無線通信信号を、所定時間毎に受信する。
【００４２】
前述したように、スマートデバイス２が信号を発信する場合は、受信機役のＴＤ１経由で近距離無線通信信号を受信する。ＴＤ１が信号を発信する場合は、受信機役のスマートデバイス２経由で近距離無線通信信号を受信する。
【００４３】
［ステップＳ２］  制御部３３は、受信部３２が、受信した近距離無線通信信号に含まれるＲＳＳＩ値およびシーケンス番号を取得する。その後、ステップＳ３に遷移する。
［ステップＳ３］  制御部３３は、ＲＳＳＩ値のノイズを低減する処理を実行する。具体的には、制御部３３は、以下のａ）、ｂ）の処理を実行する。
【００４４】
ａ）制御部３３は、明らかに無効な値（０等）や予め定めた数値以下の値を除去する。これは、予め定めた数値以下のＲＳＳＩ値は、ＴＤ１とスマートデバイス２との距離が遠すぎるか、または間に遮蔽があると考えられるためである。値の除去により、位置測位の精度が悪くなることを抑制することができる。
【００４５】
ｂ）階数が複数階の建物の動線を測量する際には、各階に配置されるＴＤ１が発信または受信する近距離無線通信信号のパターンを事前に記憶部３１等に記憶しておく。これにより、制御部３３は、スマートデバイス２が位置する階を判断し、他の階の近距離無線通信信号によるＲＳＳＩ値を取り除く処理を実行する。
また、制御部３３は、以下のｃ）の処理を実行してもよい。
【００４６】
ｃ）制御部３３は、受信した近距離無線通信信号のシーケンス番号の順序を確認する。そして、制御部３３は、受信した近距離無線通信信号のうちから、発信された順番通りでない近距離無線通信信号によるＲＳＳＩ値を除去する。
【００４７】
例えば、あるＴＤ１が複数回近距離線通信信号を発信した場合、後に受信した近距離無線通信信号に含まれるシーケンス番号が、先に受信した近距離無線通信信号のシーケンス番号よりもよりも大きい場合（先に発信された近距離無線通信信号が後に発信された近距離無線通信信号より後に受信された場合）は、後に受信した近距離無線通信信号は、壁などに当たって反射したものを受信してしまった可能性が高いため、後に受信した近距離無線通信信号に含まれるＲＳＳＩ値を除去する。
その後、ステップＳ４に遷移する。
【００４８】
［ステップＳ４］  制御部３３は、ステップＳ３の処理を実行することにより、除去されなかったＲＳＳＩ値の数を、スマートデバイス２に近接しているＴＤ１の数として取り扱う。すなわち、以下に言う「スマートデバイス２に近接しているＴＤ１の数」は、スマートデバイス２が近距離無線通信信号を検知できたＴＤ１の数、またはスマートデバイス２が発信した近距離無線通信信号を検知できたＴＤ１の数から、ステップＳ３の処理を実行することにより、除去されたＲＳＳＩ値の数を減算した数になる。
そして、スマートデバイス２に近接しているＴＤ１の数に応じた位置測定処理を実行する。
【００４９】
具体的には、制御部３３は、スマートデバイス２に近接しているＴＤ１の数が３つ以上か否かを判断する。スマートデバイス２に近接しているＴＤ１の数が３つ以上の場合（ステップＳ４のＹｅｓ）、ステップＳ５に遷移する。スマートデバイス２に近接しているＴＤ１の数が２つ以下の場合（ステップＳ４のＮｏ）、ステップＳ１に遷移し、ステップＳ１以降の処理を引き続き実行する。
【００５０】
［ステップＳ５］  制御部３３は、荷重移動平均処理（Weighted Moving Average）により追加的にＲＳＳＩ値のノイズを減らす（以下、「フィルタ処理済ＲＳＳＩ値」という）。その後、ステップＳ６に遷移する。
図１１は、制御部のノイズ除去処理を説明する図である。
図１１は、１つの近距離無線通信信号に対し、ノイズ除去を実行している例を示している。
【００５１】
図１１中、ｓｉｇ１が、受信部３２が受信した生信号であり、ｓｉｇ２が、制御部３３がステップＳ６において実行したノイズ除去処理結果の信号を示している。
再び図９に戻って説明する。
［ステップＳ６］  制御部３３は、以下の処理方法により、ＲＳＳＩ値を（スマートデバイス２と各該当ＴＤ１間の）距離（ｍ）に変換する。
具体的には以下の処理を行う。
Ｒ＝フィルタ処理済ＲＳＳＩ値
Ｓ＝予め定義されたシグナル受信強度
Ｐ＝予め定義された伝播数値
とすると、
距離＝１０＾（（Ｒ−Ｓ）／（−１０．０＊Ｐ））
と処理する。その後、ステップＳ７に遷移する。
【００５２】
［ステップＳ７］  制御部３３は、記憶部３１を参照し、以前計算された位置座標データが存在するか否かを判断する。位置座標データが存在する場合（ステップＳ７のＹｅｓ）、ステップＳ８に遷移する。位置座標データが存在しない場合（ステップＳ７のＮｏ）、ステップＳ９に遷移する。
【００５３】
［ステップＳ８］  制御部３３は、正規化最小自乗（Normalized Least Square）及びコサイン類似度（Cosine Similarity）アルゴリズムを用いてスマートデバイス２の位置座標を算出する。
ＴＤ１とスマートデバイス２とのユークリッド距離ｄｉは、次式（１）で表すことができる。
【００５４】
【数１】
2019144025.tif 000003
【００５５】
（ｘ、ｙ、ｚ）は、スマートデバイス２の位置座標を表している。（Ｂｘｉ，Ｂｙｉ，Ｂｚｉ）は、ＴＤｉの位置座標を示している。ｉはＴＤ１に割り振られている番号を示している。
ここで、（ｘ、ｙ、ｚ）と（Ｂｘｉ，Ｂｙｉ，Ｂｚｉ）との間のＲＳＳＩ値をメートルに変換して抽出した距離をｒｉと定義する。
ユークリッド距離ｄにおける磁力は、次式（２）で表すことができる。
【００５６】
【数２】
2019144025.tif 000004
また、距離ｒにおける磁力は、次式（３）で表すことができる。
【００５７】
【数３】
2019144025.tif 000005
正規化最小自乗は、次式（４）で表すことができる。
【００５８】
【数４】
2019144025.tif 000006
線型化は、次式（５）で表すことができる。
【００５９】
【数５】
2019144025.tif 000007
【００６０】
このコサイン類似度と最小二乗法を組み合わせて、誤差（ｄｉ−ｒｉ）を０に最も近くする（ｘ，ｙ，ｚ）を算出する。この誤差（ｄｉ−ｒｉ）が少なければ少ないほど、算出した位置が正確になる。算出方法は、次式（６）〜（１６）にて表すことができる。なお、算出方法の説明を簡略化する為に、数５〜１６は２次元での（ＴＤ１のｚ軸が全て同じだとみなす）想定で説明する。
ここで、Ｑｔ＊Ｑ=１である。
【００６１】
【数６】
2019144025.tif 000008
【００６２】
【数７】
2019144025.tif 000009
【００６３】
【数８】
2019144025.tif 000010
【００６４】
【数９】
2019144025.tif 000011
【００６５】
【数１０】
2019144025.tif 000012
【００６６】
【数１１】
2019144025.tif 000013
【００６７】
【数１２】
2019144025.tif 000014
【００６８】
【数１３】
2019144025.tif 000015
【００６９】
【数１４】
2019144025.tif 000016
【００７０】
【数１５】
2019144025.tif 000017
【００７１】
【数１６】
2019144025.tif 000018
その後、ステップＳ１０に遷移する。
［ステップＳ９］制御部３３は、ＬＦＴフィルタ処理（Least Funky Triangle Filter）、マルチ三辺測量処理（Multi Trilateration）、およびクラスタリング処理（Clustering）を用いてスマートデバイス２の位置座標を算出する。以下、順番に説明する。
＜ＬＦＴフィルタ処理＞
【００７２】
制御部３３は、フィルタ処理済ＲＳＳＩ値のうち、最も値が大きい順に５つのフィルタ処理済ＲＳＳＩ値を抽出する。そして、それぞれのフィルタ処理済ＲＳＳＩ値（最も大きなフィルタ処理済ＲＳＳＩ値が検知されるＴＤ＃１〜ＴＤ＃５（ＴＤ＃１が最も値が大きい））に対応する既知の位置座標（ｘ，ｙ，ｚ）を抽出する。ここで、「＃と数字の組み合わせ」は、ＴＤ１を区別するために便宜的に設定した識別子である。
【００７３】
制御部３３は、たとえば最も大きいフィルタ処理済ＲＳＳＩ値が検知されるＴＤの順にペアを構成し、各ＴＤの既知の物理的位置間のユークリッド距離に基づいて、それらが最も接近しているかを確認する。制御部３３は、次の優先順位で確認する。
ＴＤ＃１⇔ＴＤ＃２
ＴＤ＃１⇔ＴＤ＃３
ＴＤ＃２⇔ＴＤ＃３
ＴＤ＃３⇔ＴＤ＃４
ＴＤ＃３⇔ＴＤ＃５
ＴＤ＃１⇔ＴＤ＃４
ＴＤ＃４⇔ＴＤ＃５
ＴＤ＃３⇔ＴＤ＃５
ＴＤ＃２⇔ＴＤ＃５
ＴＤ＃１⇔ＴＤ＃５
上記の基準を満たす有効なＴＤ１のペアが５つのＴＤ１間で見つからない場合は、測定された新しいＲＳＳＩ値を用いて上記処理を再実行する。
【００７４】
上記の基準を満たす有効なＴＤ１のペア（かかるペアが複数認識できた場合にはそれぞれ）について、３番目のＴＤを見つける。その際、ＴＤ１のペアを構成する２つのＴＤいずれかに最も近接しているＴＤで、そのペアと直線を形成しないもののうちから、スマートデバイス２が最も強いフィルタ処理済ＲＳＳＩ値を検出したものを選択する。制御部３３は、結果として得られる３つのＴＤ１の組み合わせを抽出し、次のマルチ三辺測量に使用する。
【００７５】
なお、上記の３つのＴＤ１の構成方法や参照するＴＤ１の数はあくまで一例であり、スマートデバイス２に最も近い複数のＴＤ１の中から、３つを組み合わせることにより出来上がる三角形のうち、正三角形に最も近い三角形が出来上がるＴＤの組み合わせ順にマルチ三辺測量処理を行っていくのが好ましい。
図１２は、他の方法で行うＬＦＴフィルタ処理を説明する図である。
【００７６】
図１２に示す三角形の面積をΑ、三角形の半周長をｐ、三角形の各辺の長さをａ、ｂ、ｃ、辺ａｂ間の頂点の角度をγ、辺ａｃ間の角度をβ、三角形の外接円の半径をＲ、三角形の内接円の半径をｒとすると、
２Ｒ＝ａｂｃ／２Α＝ａ／ｓｉｎα＝ｂ／ｓｉｎβ＝ｃ／ｓｉｎγ
Α＝ｒｐ
【００７７】
【数１７】
2019144025.tif 000019
また、以下のように｜ｔ｜０、｜ｔ｜２、｜ｔ｜∞、θ０、θ∞を定義する。
｜ｔ｜０＝ｍｉｎ（ａ，ｂ，ｃ）
【００７８】
【数１８】
2019144025.tif 000020
｜ｔ｜∞＝ｍａｘ（ａ，ｂ，ｃ）
θ０＝ｍｉｎ（α，β，γ）
θ∞＝ｍａｘ（α，β，γ）
【００７９】
ここで、ｍｉｎ（ａ，ｂ，ｃ）は、辺ａ、ｂ、ｃの最小値を示している。ｍａｘ（ａ，ｂ，ｃ）は、辺ａ、ｂ、ｃの最大値を示している。ｍｉｎ（α，β，γ）は、角度α、β、γの最小値を示している。ｍａｘ（α，β，γ）は、角度α、β、γの最大値を示している。
正三角形に最も近い三角形が出来上がるＴＤの組み合わせ順にマルチ三辺測量処理を行う以外には、以下ａ）〜ｄ）の方法も可能である。
ａ）｜t｜∞と｜t｜0の差が最も小さい三角形の順に３つのＴＤ１をマルチ三辺測量に使用する。
ｂ）θ∞とθ０の差が最も小さい三角形の順に３つのＴＤ１をマルチ三辺測量に使用する。
ｃ）Ｒ÷ｒが２に最も近い三角形の順に３つのＴＤ１をマルチ三辺測量に使用する。
ｄ）｜t｜∞ ／｜t｜0が１に最も近い三角形の順に３つのＴＤ１をマルチ三辺測量に使用する。
＜マルチ三辺測量処理＞
【００８０】
制御部３３は、ＬＦＴフィルタ処理によって識別された３つのＴＤ１の組み合わせ毎に、以下に示すマルチ三辺測量処理を実行する。計算式を簡略化する為に２次元での（ＴＤ１のｚ軸が全て同じだとみなす）想定で説明するが、より正確に測位したい場合は３次元で算出することも可能である。
図１３は、三辺測量処理を説明する図である。
まず、制御部３３は、スマートデバイス２の位置座標Ｐ１、Ｐ２、Ｐ３を定義する。
Ｐ１：ＴＤ＃１の位置に対応する位置座標（０，０）
Ｐ２：ＴＤ＃２の位置に対応する位置座標（ｄ，０）
Ｐ３：ＴＤ＃３の位置に対応する位置座標（ｉ，ｊ）
次に、制御部３３は、次式（１）により位置座標Ｐ１から位置座標Ｐ２の方向の単位ベクトルＥｘを求める。
Ｅｘ＝（Ｐ２−Ｐ１）／||Ｐ２−Ｐ１||・・・（１）
【００８１】
次に、制御部３３は、式（１）により求めた単位ベクトルＥｘを次式（２）に代入して位置座標Ｐ１から位置座標Ｐ３までのベクトルのｘ成分の符号付きの大きさｉを求める。
ｉ＝Ｅｘ（Ｐ３−Ｐ１）・・・（２）
次に、制御部３３は、ｙ方向の単位ベクトルＥｙを次式（３）により求める。
Ｅｙ＝（Ｐ３−Ｐ１−ｉ・Ｅｘ）／||Ｐ３−Ｐ１−ｉ・Ｅｘ||・・・（３）
次に、制御部３３は、位置座標Ｐ１と位置座標Ｐ２間の距離ｄを次式（４）により求める。
ｄ＝||Ｐ２−Ｐ１||・・・（４）
次に、制御部３３は、位置座標Ｐ１から位置座標Ｐ３のｙ成分の符号付きの大きさｊを次式（５）により求める。 
ｊ＝Ｅｙ・（Ｐ３−Ｐ１）・・・（５）
次に、制御部３３は、次式（６）、（７）によりスマートデバイス２のＩｎ１（ｘ，ｙ）を求める。
ｘ＝（ｔ１２−ｒ２２＋ｄ２）／２・ｄ・・・（６）
ｙ＝（ｒ１２−ｒ３２＋ｘ２＋（ｘ−ｉ）２＋ｊ２）／（２・ｊ）・・・（７）
＜クラスタリング処理＞
制御部３３は、マルチ三角測量処理に起因する各座標間のユークリッド距離を計算する。
お互いに最も近い点のペアを特定し、そのペアに最も近い第３の点を特定する。次に、制御部３３は、特定した３点のｘ座標とｙ座標それぞれの平均値をとる。
【００８２】
制御部３３は、その平均値（クラスタを表す結果の位置座標）を、マルチ三辺測量の位置座標として使用する。その後、図１０に示すステップＳ１０に遷移する。
【００８３】
［ステップＳ１０］  制御部３３は、スマートデバイス２が移動しているか否かを判断し、スマートデバイス２が移動していると判断した場合（ステップＳ１０のＮｏ）、ステップＳ１１に遷移する。具体的には、制御部３３は、加速度センサ２０７ｃの検出結果に基づき以下の演算を実行する。
【００８４】
以下、スマートデバイス２のｘ軸方向の加速度を「Ａｘ」、スマートデバイス２のｙ軸方向の加速度を「Ａｙ」、スマートデバイス２のｚ軸方向の加速度を「Ａｚ」と定義する
加速度の大きさ｜Ａ｜は、｜Ａ｜＝ＳＱＲＴ（Ａｘ２＋Ａｙ２＋Ａｚ２）で求めることができる。
【００８５】
そして、制御部３３は、加速度Ａｚが所定の定数Ａｃ１より小さい場合、または、｜Ａ｜が所定の定数Ａｃ２より小さい場合、スマートデバイス２は静止しているものと判断する。制御部３３は、スマートデバイス２が静止していると判断した場合（ステップＳ１０のＹｅｓ）、ステップＳ１２に遷移する。
仮にスマートデバイス２が加速度センサを備えていない場合は、ステップＳ１２に遷移する。
【００８６】
［ステップＳ１１］  制御部３３は、磁力計２０７ａ、ジャイロセンサ２０７ｂ、および加速度センサ２０７ｃの測定値を取得する。制御部３３は、取得した値を使用してスマートデバイス２が移動した方向および距離を計算するデッドレコニング処理を実行する。
図１４は、デッドレコニング処理を説明する図である。
方向の計算に際しては、制御部３３は、次に説明する３つの優先順位に従う。
【００８７】
［ステップＳ１１ａ］  制御部３３は、スマートデバイス２の動線測量アプリケーションがフォアグラウンドモード（動線測量アプリケーションがスマートデバイス２の画面に表示されている状態）か否かを判断する。スマートデバイス２の動線測量アプリケーションがフォアグラウンドモードである場合（ステップＳ１１ａのＹｅｓ）、ステップＳ１１ｂに遷移する。スマートデバイス２の動線測量アプリケーションがフォアグラウンドモードではない場合（すなわち、バックグラウンドモード（アプリケーションが裏で動作しており、スマートデバイス２の画面に表示されていない状態（画面が暗くなっている状態も含む））である場合）（ステップＳ１１ａのＮｏ）、ステップＳ１１ｄに遷移する。
【００８８】
［ステップＳ１１ｂ］  制御部３３は、スマートデバイス２のジャイロセンサ及び磁力計による磁針向首方向を確認する機能が利用可能か否かを判断する。スマートデバイス２のジャイロセンサ及び磁力計による磁針向首方向を確認する機能が利用可能である場合（ステップＳ１１ｂのＹｅｓ）、ステップＳ１１ｃに遷移する。スマートデバイス２のジャイロセンサ及び磁力計による磁針向首方向を確認する機能が利用可能ではない場合（ステップＳ１１ｂのＮｏ）で加速度センサが利用可能である場合、ステップＳ１１ｄに遷移する。
【００８９】
［ステップＳ１１ｃ］  制御部３３は、スマートデバイス２の磁針向首方向機能を活用して測位を行うデッドレコニング（Magnetic Heading-based Dead-reckoning）処理を実行する。
この手順は、後述する加速度センサを活用して即位するデッドレコニング処理と同じ手順である。
【００９０】
但し、加速度センサを活用して即位するデッドレコニング処理が加速度センサの値に基づいて計算するのに対し、磁針向首方向機能を活用して測位を行うデッドレコニング処理が磁気方向のスマートデバイス２からの磁針向首方向データを使用するという点が異なる。
【００９１】
そして、制御部３３は、磁針向首方向機能を活用して測位を行うデッドレコニング処理により求めたスマートデバイス２の移動距離と方角を、直近のスマートデバイス２の静止位置に適用し、現在位置を測位する。その後、ステップＳ１２に遷移する。
【００９２】
［ステップＳ１１ｄ］  制御部３３は、設定を確認し、エンドユーザーが位置座標データを可視化するにあたり、リアルタイム性を求めているかどうかを確認する。可視化のリアルタイム性が求められていない場合は、ステップＳ１１ｆに遷移する。可視化のリアルタイム性が求められている場合は、ステップＳ１１ｅに遷移する。
【００９３】
［ステップＳ１１ｅ］  制御部３３は、加速度センサを活用して測位を行うデッドレコニング（Accelerometer-based Dead-reckoning）処理を実行する。以下、詳述する。
図１５は、加速度センサを活用して測位を行うデッドレコニング処理を説明するフローチャートである。
【００９４】
［ステップＳ１１ｅ１］  加速度センサ２０７ｃからｘ、ｙ、ｚの値の時系列が与えられると、制御部３３は、加速度センサ２０７ｃから取得したｚ方向の値のパターンに基づいてスマートデバイス２の所有者の歩数を時刻ｔの歩行ごとに特定する。具体的には、加速度センサ２０７ｃからスパイク（値の変動）があるときはステップＳ１１ｅ２に遷移する。
【００９５】
［ステップＳ１１ｅ２］  制御部３３は、時間範囲±Δｔの場合、主成分分析（ＰＣＡ）を使用して、その時間範囲の加速度センサのｘ軸方向およびｙ軸方向の値を渡すことによって、スマートデバイス２が移動している磁気方向を計算する。
【００９６】
［ステップＳ１１ｅ３］  制御部３３は、ステップＳ１１ｄ２で計算した磁気方向に向かって予測される歩幅（一例として、６０ｃｍ）の推定幅によってスマートデバイス２の最近計算された位置をオフセットする。
【００９７】
［ステップＳ１１ｅ４］  制御部３３は、スマートデバイス２の新しい位置を直近のスマートデバイス２の位置に適用し、最近計算された位置に設定する。その後、ステップＳ１２に遷移する。
【００９８】
なお、ステップＳ１１ｅ３においては、歩幅の推定幅によって、スマートデバイス２の最近計算された位置をオフセットした。しかし、距離の推定方法は、これに限定されず、トラッキング対象により異なる。例えば、無人搬送車の位置を測量する場合は、かかる無人搬送車の平均移動速度と時間軸を使って距離を推定することができる。
なお、距離の推定方法は、後述するステップＳ１１ｆ３においても同様のことが言える。
再び図１４に戻って説明する。
［ステップＳ１１ｆ］  制御部３３は、ＲＳＳＩ値を活用して測位を行うデッドレコニング処理で進行方向を特定する。以下、詳述する。
図１６は、ＲＳＳＩ値を活用して測位を行うデッドレコニング処理を説明するフローチャートである。
【００９９】
［ステップＳ１１ｆ１］  加速度センサ２０７ｃからｘ、ｙ、ｚの値の時系列が与えられると、制御部３３は、加速度センサ２０７ｃから取得したｚ方向の値のパターンに基づいて歩行者の歩数を時刻ｔの歩行ごとに特定する。具体的には、加速度センサ２０７ｃから積極的なスパイク（値の変化）があるときはステップＳ１１ｆ２に遷移する。
【０１００】
［ステップＳ１１ｆ２］  制御部３３は、時刻ｔ±Δｔの範囲については、時刻ｔ前後の各ＴＤ１のＴＢＳ、ＲＳＳＩ値間の差分を計算する。次に、制御部３３は、計算した差分を使用してＲＳＳＩ値が正になっているＴＤ１のグループと、ＲＳＳＩ値が負になっているＴＤ１のグループの、合計２つのグループを作成する。
【０１０１】
次に、制御部３３は、作成した各グループについて、各ＴＤ１の位置座標（ｘ，ｙ，ｚ）を使用して、主成分分析（ＰＣＡ）を行い各グループの中心点を識別する。
【０１０２】
次に、制御部３３は、スマートデバイス２が移動している磁気方向を、負のＴＤ１のグループの中心から正のＴＤ１のグループの中心までのベクトルに設定する。
【０１０３】
［ステップＳ１１ｆ３］  制御部３３は、ステップＳ１４ｅ２で計算した磁気方向に向かって予測される歩幅（一例として、６０ｃｍ）の推定幅によってスマートデバイス２の最近計算された位置をオフセットする。
［ステップＳ１１ｆ４］  制御部３３は、新しい位置を最近計算された位置に設定する
以上で図１４〜図１６の説明を終了する。再び図１０に戻って説明する。
【０１０４】
［ステップＳ１２］  制御部３３は、２次元または３次元カルマンフィルタを用いて、座標の値を統合計算して現在位置候補（ｘ４、ｙ４、ｚ４）を算出する（統計的取捨選択処理）。具体的には、制御部３３は、静止パターンの場合（ステップＳ１０のＹｅｓ）または移動パターンの場合（ステップＳ１０のＮｏ）の処理により得られた位置座標（Ｄｘ，Ｄｙ，Ｄｚ）を、カルマンフィルタのcontrol vector uに指定する。２次元カルマンフィルタの場合は、Ｚ軸の値を「０」にする。その後、ステップＳ１３に遷移する。
図１７は、２次元または３次元カルマンフィルタを用いて座標の値を統合計算する処理の一例を説明する図である。
矩形の輪郭は、建物３０を示している。フロア２０と同様に、建物３０の左上を（０，０，０）とする座標が仮想的に設定されている。
【０１０５】
図１７中、動線ｄ２は、ＲＳＳＩ値により算出した動線を示している。動線ｄ３は、デッドレコニング処理により算出した動線を示している。動線ｄ１は、動線ｄ２と動線ｄ３を、２次元カルマンフィルタを用いて統合計算処理した結果を示している。
再び図１０に戻って説明する。
【０１０６】
［ステップＳ１３］  制御部３３は、ステップＳ１２の処理により得られたスマートデバイス２の現在位置候補（ｘ４，ｙ４，ｚ４）を地図に照らし合わせる。照らし合わせた結果、スマートデバイス２の現在位置候補（ｘ４，ｙ４，ｚ４）が、地図上存在し得る位置に該当する場合には、現在位置候補（ｘ４，ｙ４，ｚ４）を現在位置に特定する。地図上存在し得ない位置（例えば、壁の内部等の障害物）に該当する場合には、現在位置候補からその無効なセクションの最も近いエッジ上の最も近い位置座標（ｘ５，ｙ５，ｚ５）を現在位置に特定する。その後、ステップＳ１４に遷移する。
【０１０７】
［ステップＳ１４］  制御部３３は、特定した位置座標をスマートデバイス２の現在位置に決定する。制御部３３は、ステップＳ１３にて特定した位置座標を特定完了時刻とともに記憶部３１に記憶する（位置座標データ）。また、制御部３３は、特定した位置座標をＧＰＳ座標に変換する。このＧＰＳ座標は、スマートデバイス２のディスプレイ２０４ａ等に表示することにより、利用者にスマートデバイス２の動線を示すことができる。その後、図１０の処理を終了する。
【０１０８】
以上述べたように、測量システム１００によれば、スマートデバイス２を経由して得られるデータに基づき、スマートデバイス２のその時の環境と動態につき判断し、それに応じて最適な要素を演算及びフィルタ処理を同時に履行することで、最良な測位結果を抽出するようにした。この方式は、ＲＳＳＩ値を特定の演算方式にて処理して位置座標を決定する方式とは一線を画している。最初のＲＳＳＩ値のフィルタ処理からそのフィルタ済ＲＳＳＩ値を用いた位置座標の特定、そして直近の位置座標結果を参照した２次元カルマンフィルタによる現在位置座標の特定にわたり、測量システム１００では終始一貫して演算およびかかる演算結果の統計的取捨選択処理（フィルタ処理）を同時に行うことで、同時に算出可能な複数の演算結果のうち最適な演算結果をその都度採択しており、その上で非設置デバイスの位置を特定する特徴が挙げられる。
【０１０９】
演算方法としては、前述したように、受信部３２の信号の検出状況に応じてＴＤ１を仮想的に繋ぐ線の軌跡が可及的に正三角形に近づくＴＤ１の組み合わせを用いて三辺測量を行うとともに測量結果のフィルタ処理を行い、算出可能な複数の演算結果のうち最適な演算結果をその都度採択して前記非設置デバイスの位置を特定するようにした。
【０１１０】
また、スマートデバイス２に関し以前計算された位置座標データが存在する場合、正規化最小自乗、およびコサイン類似度アルゴリズムを用いて位置座標を算出することによりスマートデバイス２の位置を特定するようにした。
【０１１１】
また、信号の検出状況に応じてデッドレコニング方式により位置特定を行うにあたり、ＲＳＳＩ値の演算により得られた移動した方角情報と移動距離を、過去に演算した直近の位置座標に適用して前記非設置デバイスの現在位置座標を決定するようにした。
【０１１２】
なお、本発明による演算処理の構成や順序は、実施の形態における説明や図示に限定されない。本発明においては、非設置デバイスに最低限ＧＰＳモジュールおよび（Bluetooth・Wi-Fi等）近距離無線通信信号レシーバーのいずれかが搭載されている限り、スマートデバイス２の位置を高精度で特定することができる。加えて本実施の形態では、ＲＳＳＩ値、マグネチックフィールド入力、ＧＰＳ座標、加速度計入力、デッドレコニング値、ジャイロスコープセンサ入力のセットを取得し、フローチャートにて説明したアルゴリズムを用いてスマートデバイス２の現在位置を計算し、スマートデバイス２の位置座標を決定した。これにより、スマートデバイス２の位置を特定する精度を向上させることができる。
【０１１３】
具体的には、動線測量装置３が、予め所定箇所に設置されたＴＤ１が発する信号を検出可能なスマートデバイス２による信号の検出の可否を受信し、スマートデバイス２による信号の検出状況に応じて、スマートデバイス２の移動の有無をスマートデバイス２が備えるセンサの検出結果により判断し、信号の検出の可否と、スマートデバイス２の移動の有無に応じてスマートデバイス２の位置を特定する要素を選択し、選択した要素を用いて演算を行うことによりスマートデバイス２の位置を特定した。
これにより、ＲＦＩＤチップ等を搭載した特殊で高価な電波設備を用いずとも、スマートデバイス２の位置を高精度かつ安価に特定することができる。
【０１１４】
以上、本発明の位置特定方法、位置特定装置およびプログラムを、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。例えば、スマートデバイス２が一定時間の間隔で静止し続けることが把握できている場合等、常時測量する必要がない場合は、ＴＤ１から発信される近距離無線通信信号のスキャン動作および動線測量装置３による計算の頻度を減らすことにより、消費電力を低減させることができる。
【０１１５】
なお、動線測量装置３が行った処理が、複数の装置によって分散処理されるようにしてもよい。例えば、１つの装置が、各種センサにより検出された値を記憶しておき、他の装置が、その値を用いてスマートデバイス２の位置座標を特定してもよい。
【０１１６】
また、センサ関連のデータは測位対象である非設置端末から検出する必要があるものの、近距離無線通信信号については、ＴＤ１が発しスマートデバイス２がそれを受信するか、逆にスマートデバイス２が発しＴＤ１がそれを受信するか、を一切問わない。従って、図示の実施の形態では、スマートデバイス２経由でＴＤ１からの近距離無線通信信号の検知状況及びスマートデバイス２のセンサ検知結果が動線測量装置３に対し送信されたが、スマートデバイス２が発する近距離無線通信信号及びセンサの両方をＴＤ１が検知し、ＴＤ１経由で動線測量装置３に対し送信してもよい。ＴＤ１が複数存在する場合、各ＴＤ１の検知結果をひとつの任意のＴＤ１に集約し処理を行ってもよい。
【０１１７】
さらに、動線測量装置３の処理の一部または全部をＴＤ１又はスマートデバイス２が実行するようにしてもよい。その場合、かかるデバイスから動線測量装置３へのデータ通信を省略でき、付随するデータ通信コストの削減が可能である。その際、各ＴＤ１の位置座標は、処理を行うデバイスに記憶させるか或いは動線測量装置３から取得する。
【０１１８】
また、予め算出された、または予め与えられたスマートデバイス２の位置座標（初期位置座標）を用いて、図９および図１０にて説明した処理を実行するようにしてもよい。
初期位置座標の特定方法としては特に限定されないが、例えば、
（１）最も近い３つのＴＤ１の位置座標を利用して、Trilaterationアルゴリズムにて初期位置座標を特定する方法。
（２）最も近い３つのＴＤ１の位置座標を利用して、Triangulationアルゴリズムにて初期位置座標を特定する方法。
（３）単純に、最も近いＴＤ１の位置座標を初期位置情報とみなす方法。
（４）最も近い３つのＴＤ１の位置座標が描く三角形内の適当な位置を選択し、その位置（例えば三角形の中央）を初期位置情報とみなす方法。
等が挙げられる。
【０１１９】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、スマートデバイス２または動線測量装置３が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記憶装置には、ハードディスクドライブ、フレキシブルディスク（ＦＤ）、磁気テープ等が挙げられる。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷ等が挙げられる。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）等が挙げられる。
【０１２０】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１２１】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１２２】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）等の電子回路で実現することもできる。
【符号の説明】
【０１２３】
１  ＴＤ
２  スマートデバイス
３  動線測量装置
３１  記憶部
３２  受信部
３３  制御部
１００  測量システム
【図１】
2019144025.tif 000021
【図２】
2019144025.tif 000022
【図３】
2019144025.tif 000023
【図４】
2019144025.tif 000024
【図５】
2019144025.tif 000025
【図６】
2019144025.tif 000026
【図７】
2019144025.tif 000027
【図８】
2019144025.tif 000028
【図９】
2019144025.tif 000029
【図１０】
2019144025.tif 000030
【図１１】
2019144025.tif 000031
【図１２】
2019144025.tif 000032
【図１３】
2019144025.tif 000033
【図１４】
2019144025.tif 000034
【図１５】
2019144025.tif 000035
【図１６】
2019144025.tif 000036
【図１７】
2019144025.tif 000037
【手続補正書】
【提出日】平成30年4月25日(2018.4.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定箇所に予め設置された複数の設置デバイスを用いて非設置デバイスの位置を特定する位置特定方法において、
前記設置デバイスまたは前記非設置デバイスのうち一方のデバイスが、前記一方のデバイス毎の当該信号を発信した順序を識別する識別情報を含む近距離無線通信信号を発信し、
他方のデバイスによる前記信号の検出の可否を受信したときに、発信順序の異なる前記信号を演算対象から除去し、
コンピュータが、
前記非設置デバイスに関し以前計算された位置座標データが存在する場合、正規化最小自乗、およびコサイン類似度アルゴリズムを用いて位置座標を算出することにより前記非設置デバイスの位置を特定する、
ことを特徴とする位置特定方法。
【請求項２】
算出した過去の位置座標に対し予見モデルを用いて前記非設置デバイスの現在の位置座標を補正する請求項１に記載の位置特定方法。
【請求項３】
前記予見モデルは２次元または３次元カルマンフィルタである請求項２に記載の位置特定方法。
【請求項４】
前記信号はＲＳＳＩ値であり、前記ＲＳＳＩ値に対してノイズ除去処理を行い、ノイズを除去したＲＳＳＩ値を用いて前記非設置デバイスの位置座標を算出する請求項１に記載の位置特定方法。
【請求項５】
請求項１に記載の位置特定方法を行う制御部と、
特定した非設置デバイスの位置を記憶する記憶部と、
を有することを特徴とする位置特定装置。
【請求項６】
所定箇所に予め設置された複数の設置デバイスを用いて非設置デバイスの位置を特定するプログラムにおいて、
前記設置デバイスまたは前記非設置デバイスのうち一方のデバイスが、前記一方のデバイス毎の当該信号を発信した順序を識別する識別情報を含む近距離無線通信信号を発信し、
他方のデバイスによる前記信号の検出の可否を受信したときに、発信順序の異なる前記信号を演算対象から除去し、
コンピュータに、
前記非設置デバイスに関し以前計算された位置座標データが存在する場合、正規化最小自乗、およびコサイン類似度アルゴリズムを用いて位置座標を算出することにより前記非設置デバイスの位置を特定する、
処理を実行させることを特徴とするプログラム。
【手続補正書】
【提出日】平成30年5月7日(2018.5.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定箇所に予め設置された複数の設置デバイスを用いて非設置デバイスの位置を特定する位置特定方法において、
前記設置デバイスまたは前記非設置デバイスのうち一方のデバイスが、前記一方のデバイス毎の当該信号を発信した順序を識別する識別情報を含む近距離無線通信信号を発信し、
コンピュータが、
他方のデバイスによる前記信号の検出の可否を受信したときに、発信順序の異なる前記信号を演算対象から除去し、
前記非設置デバイスに関し以前計算された位置座標データが存在する場合、正規化最小自乗、およびコサイン類似度アルゴリズムを用いて位置座標を算出することにより前記非設置デバイスの位置を特定する、
ことを特徴とする位置特定方法。
【請求項２】
算出した過去の位置座標に対し予見モデルを用いて前記非設置デバイスの現在の位置座標を補正する請求項１に記載の位置特定方法。
【請求項３】
前記予見モデルは２次元または３次元カルマンフィルタである請求項２に記載の位置特定方法。
【請求項４】
前記信号はＲＳＳＩ値であり、前記ＲＳＳＩ値に対してノイズ除去処理を行い、ノイズを除去したＲＳＳＩ値を用いて前記非設置デバイスの位置座標を算出する請求項１に記載の位置特定方法。
【請求項５】
請求項１に記載の位置特定方法を行う制御部と、
特定した非設置デバイスの位置を記憶する記憶部と、
を有することを特徴とする位置特定装置。
【請求項６】
所定箇所に予め設置された複数の設置デバイスを用いて非設置デバイスの位置を特定するプログラムにおいて、
コンピュータに、
前記設置デバイスまたは前記非設置デバイスのうち一方のデバイスが、前記一方のデバイス毎の当該信号を発信した順序を識別する識別情報を含む近距離無線通信信号を発信し、
他方のデバイスによる前記信号の検出の可否を受信したときに、発信順序の異なる前記信号を演算対象から除去し、
前記非設置デバイスに関し以前計算された位置座標データが存在する場合、正規化最小自乗、およびコサイン類似度アルゴリズムを用いて位置座標を算出することにより前記非設置デバイスの位置を特定する、
処理を実行させることを特徴とするプログラム。