(57)【要約】【課題】単一の信号発信装置からの信号強度を用いて、精度よく情報処理装置の位置を算出する。【解決手段】第１算出部（１６）は、自装置に搭載されたセンサからの信号に基づき第１時点での自装置の位置から第２時点での自装置の位置へ向かう第１ベクトルを算出する。検出部（７４、１２）は、位置が既知の信号発信装置から受信した信号の強度を検出する。第２算出部（１８）は、第１時点で検出部により検出された強度に基づき第１時点での自装置の推定位置の分布を表す第１軌跡を算出すると共に、第２時点で検出部により検出された強度に基づき第２時点での自装置の推定位置の分布を表す第２軌跡を算出する。第３算出部（２０）は、第１ベクトルの始点を第１軌跡に重ねたときに、第１ベクトルの終点が第２軌跡に重なるときの第１ベクトルの終点の位置を、第２時点での自装置の位置として算出する。【選択図】図１
2017003278.tif 000002
【特許請求の範囲】
【請求項１】
自装置に搭載されたセンサからの信号に基づき第１時点での自装置の位置から第２時点での自装置の位置へ向かう第１ベクトルを算出する第１算出部と、
位置が既知の信号発信装置から受信した信号の強度を検出する検出部と、
前記第１時点で前記検出部により検出された強度に基づき前記第１時点での自装置の推定位置の分布を表す第１軌跡を算出すると共に、前記第２時点で前記検出部により検出された強度に基づき前記第２時点での自装置の推定位置の分布を表す第２軌跡を算出する第２算出部と、
前記第１ベクトルの始点を前記第１軌跡に重ねたときに、前記第１ベクトルの終点が前記第２軌跡に重なるときの前記第１ベクトルの終点の位置を、前記第２時点での自装置の位置として算出する第３算出部と、
を含む情報処理装置。
【請求項２】
前記第２時点は前記第１時点から所定時間が経過した時点である、
請求項１に記載の情報処理装置。
【請求項３】
前記第２時点は前記第１時点からの自装置の移動距離が所定値に達した時点である、
請求項１に記載の情報処理装置。
【請求項４】
前記第３算出部によって前記第２時点での自装置の位置が複数算出された場合に、
前記第１算出部は、前記第２時点での自装置の位置から第３時点での自装置の位置へ向かう第２ベクトルを算出し、
前記第２算出部は、前記第３時点で前記検出部により検出された強度に基づき前記第３時点での自装置の推定位置の分布を表す第３軌跡を算出し、
前記第３算出部は、前記第２ベクトルの始点を前記第２軌跡に重ねたときに、前記第２ベクトルの終点が前記第３軌跡に重なるときの前記第２ベクトルの終点の位置を、前記第３時点での自装置の位置として算出する、
請求項１〜請求項３の何れか１項に記載の情報処理装置。
【請求項５】
前記第３時点は前記第２時点から所定時間が経過した時点である、
請求項４に記載の情報処理装置。
【請求項６】
前記第３時点は前記第２時点からの自装置の移動距離が所定値に達した時点である、
請求項４に記載の情報処理装置。
【請求項７】
自装置に搭載されたセンサからの信号に基づき第１時点での自装置の位置から第２時点での自装置の位置へ向かう第１ベクトルを算出し、
位置が既知の信号発信装置から受信した信号の強度を検出し、
前記第１時点で検出された強度に基づき前記第１時点での自装置の推定位置の分布を表す第１軌跡を算出すると共に、前記第２時点で検出された強度に基づき前記第２時点での自装置の推定位置の分布を表す第２軌跡を算出し、
前記第１ベクトルの始点を前記第１軌跡に重ねたときに、前記第１ベクトルの終点が前記第２軌跡に重なるときの前記第１ベクトルの終点の位置を、前記第２時点での自装置の位置として算出する、
処理をコンピュータに実行させるための位置情報算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、情報処理装置及び位置情報算出プログラムに関する。
【背景技術】
【０００２】
携帯端末用基地局から所定距離離れた地点の電界を測定し、測定した電界の値を統計処理し、統計処理した結果取得される統計データに基づいて、携帯端末が移動している方向を同定し、電界強度データに基づいて携帯端末の地図上の座標を出力する技術が存在する。当該技術では、携帯端末が移動している方向と、携帯端末のトレースの情報と、デジタル地図情報と、地図上の座標のデータと、予め計測しておいた位置計測場所の電界強度のデータと、に基づいて、携帯端末の位置を推定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２１３９４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
１つの携帯端末用基地局からの電界強度に基づいて、携帯端末と当該携帯端末用基地局との間の距離を推定することは可能であるが、携帯端末の地図上の位置を推定するためには、少なくとも３つの携帯端末用基地局からの電界強度が同時に必要となる。このように、少なくとも３つの携帯端末用基地局からの電界強度が必要な場合、携帯端末用基地局を高密度に設置せざるを得ず、コストが増大する。
【０００５】
開示の技術は、１つの側面として、単一の信号発信装置からの信号強度を用いて、精度よく情報処理装置の位置を算出する。
【課題を解決するための手段】
【０００６】
開示の技術において、第１算出部は、自装置に搭載されたセンサからの信号に基づき第１時点での自装置の位置から第２時点での自装置の位置へ向かう第１ベクトルを算出する。検出部は、位置が既知の信号発信装置から受信した信号の強度を検出する。第２算出部は、第１時点で検出部により検出された強度に基づき第１時点での自装置の推定位置の分布を表す第１軌跡を算出すると共に、第２時点で検出部により検出された強度に基づき第２時点での自装置の推定位置の分布を表す第２軌跡を算出する。第３算出部は、第１ベクトルの始点を第１軌跡に重ねたときに、第１ベクトルの終点が第２軌跡に重なるときの第１ベクトルの終点の位置を、第２時点での自装置の位置として算出する。
【発明の効果】
【０００７】
開示の技術は、１つの側面として、単一の信号発信装置からの信号強度を用いて、精度よく情報処理装置の位置を算出できる、という効果を有する。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係るスマートデバイスの要部機能の一例を示すブロック図である。
【図２】実施形態に係るスマートデバイスの電気系の構成の一例を示すブロック図である。
【図３】実施形態に係るビーコンＩＤテーブルの一例を示す概念図である。
【図４】実施形態に係るマップの一例を示す概念図である。
【図５】第１実施形態に係る位置情報検出処理の一例を示すフローチャートである。
【図６】実施形態に係るビーコン端末による電波強度の一例を示す概念図である。
【図７】実施形態に係る電波測位位置検出処理の一例を示すフローチャートである。
【図８】実施形態に係る現在位置決定方法の一例を説明するための概念図である。
【図９】実施形態に係るマップの一例を示す概念図である。
【図１０】実施形態に係る現在位置決定方法の一例を説明するための概念図である。
【図１１】実施形態に係る現在位置決定方法の一例を説明するための概念図である。
【図１２】実施形態に係る位置決定前処理の一例を示すフローチャートである。
【図１３】第２実施形態に係る位置情報検出処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。なお、以下の説明では、開示の技術に係る情報処理装置の一例としてスマートデバイスを用いた場合を例に挙げて説明するが、開示の技術はこれに限定されるものではない。開示の技術は、例えば、スマートデバイスと同様に、ユーザが携帯することが可能なナビゲーションデバイスなどに適用可能である。
【００１０】
一例として図１に示すスマートデバイス１０は、アンテナ７４、信号受信部１２、自律航法情報検出部１４、第１算出部１６、第２算出部１８、第３算出部２０、表示部２２、及び、記憶部２４を含む。信号受信部１２はアンテナ７４に接続されている。また、信号受信部１２、自律航法情報検出部１４、第１算出部１６、第２算出部１８、第３算出部２０、表示部２２、及び、記憶部２４は、相互に接続されている。
【００１１】
第１算出部１６は、自律航法情報検出部１４からの信号に基づき第１時点でのスマートデバイス１０の位置から第２時点でのスマートデバイス１０の位置へ向かう第１ベクトルを算出する。検出部であるアンテナ７４及び信号受信部１２は、位置が既知の信号発信装置から受信した信号の強度を検出する。第２算出部１８は、第１時点で検出された強度に基づき第１時点でのスマートデバイス１０の推定位置の分布を表す第１軌跡を算出する。また、第２算出部１８は、第２時点で検出された強度に基づき第２時点でのスマートデバイス１０の推定位置の分布を表す第２軌跡を算出する。第３算出部２０は、第１ベクトルの始点を第１軌跡に重ねたときに、第１ベクトルの終点が第２軌跡に重なるときの第１ベクトルの終点の位置を、第２時点でのスマートデバイス１０の位置として算出する。
【００１２】
スマートデバイス１０は、一例として図２に示すように、ＣＰＵ（Central Processing Unit）６２、１次記憶部６４、２次記憶部６６、外部インターフェイス６８、及びタッチパネルディスプレイ７２を含む。スマートデバイス１０は、また、信号受信部１２の一例であるＢＬＥ（Bluetooth（登録商標） Low Energy）受信部７６、及び自律航法情報検出部１４の一例である自律航法センサ７８を含む。ＢＬＥ受信部７６は、アンテナ７４に接続されている。ＣＰＵ６２、記憶部２４の一例である１次記憶部６４及び２次記憶部６６、外部インターフェイス６８、表示部２２の一例であるタッチパネルディスプレイ７２、ＢＬＥ受信部７６、及び自律航法センサ７８は、バス８０を介して相互に接続されている。
【００１３】
タッチパネルディスプレイ７２は、タッチパネル７２Ａ及びディスプレイ７２Ｂを含む。タッチパネル７２Ａはタッチパネル７２Ａに対するタッチ操作を検出する。ディスプレイ７２Ｂはマップなどを表示する。自律航法センサ７８は、加速度センサ、ジャイロ・センサ、地磁気センサの少なくとも１つなどを含み、スマートデバイス１０の位置の変化量（移動距離）及び変化方向（移動方向）を自律航法によって検出するための自律航法情報を検出する。外部インターフェイス６８には、外部装置（図示省略）が接続され、外部装置とＣＰＵ６２との間の各種情報の送受信を司る。
【００１４】
１次記憶部６４は、例えば、ＲＡＭ（Random Access Memory）などの揮発性のメモリである。２次記憶部６６は、例えば、ＨＤＤ（Hard Disk Drive）、またはＳＳＤ（Solid State Drive）などの不揮発性のメモリである。
【００１５】
２次記憶部６６は、一例として、第１算出サブプログラム６７Ａ、第２算出サブプログラム６７Ｂ、及び第３算出サブプログラム６７Ｃを含む位置情報算出プログラム６７を記憶している。ＣＰＵ６２は、２次記憶部６６から第１算出サブプログラム６７Ａ、第２算出サブプログラム６７Ｂ、及び第３算出サブプログラム６７Ｃを順次読み出して１次記憶部６４に展開する。ＣＰＵ６２は、第１算出サブプログラム６７Ａを実行することで、図１に示す第１算出部１６として動作する。ＣＰＵ６２は、第２算出サブプログラム６７Ｂを実行することで、図１に示す第２算出部１８として動作する。ＣＰＵ６２は、第３算出サブプログラム６７Ｃを実行することで、図１に示す第３算出部２０として動作する。
【００１６】
２次記憶部６６は、一例として、図３に一例を示すビーコンＩＤテーブル６８Ａを生成するデータを記憶している。ビーコンＩＤテーブル６８Ａには、信号発信装置の一例であるビーコン端末のＩＤと、ビーコン端末の設置位置の位置座標であるｘ座標及びｙ座標とが関連付けられて登録されている。２次記憶部６６は、また、マップデータ６８Ｂを記憶している。マップデータ６８Ｂに基づいて、タッチパネルディスプレイ７２に表示されるマップ３０２の一例を図４に示す。マップ３０２には、例えば、設置されているビーコン端末３０４及び展示棚３０６が示される。
【００１７】
［第１実施形態］
次に、第１実施形態の作用として、ＣＰＵ６２が位置情報算出プログラム６７を実行することで、スマートデバイス１０によって行われる位置情報算出処理について、図５を参照して説明する。
【００１８】
位置情報算出処理は、例えば、スマートデバイス１０のタッチパネルディスプレイ７２に表示される図示しない位置情報算出開始ボタンなどをユーザがタップすることによって開始される。
【００１９】
図５のステップ２０２で、ＣＰＵ６２は、自律航法センサ７８によって検出されて入力された自律航法情報に基づいて、自律航法によりスマートデバイス１０の位置を求め、スマートデバイス１０の現在位置αを更新する。即ち、ステップ２０２の初回の実行時には、現在位置αとしてスマートデバイス１０の初期位置を設定する。また、ステップ２０２の２回目以降の実行時には、自律航法情報に基づいて、前回設定した現在位置αに対する現在の位置の相対的な距離及び方向を検出し、前回設定した現在位置α、検出した距離及び方向に基づいて現在位置αを更新する。ステップ２０４で、ＣＰＵ６２は、アンテナ７４及びＢＬＥ受信部７６で受信されたビーコン端末３０４からの電波の電波強度が所定値以上であるか否かを判定する。電波強度は信号強度の一例である。判定が肯定された場合、ステップ２０６で、ＣＰＵ６２は、後述する位置確定フラグを０に設定する。
【００２０】
次に、ステップ２０８で、ＣＰＵ６２は、ステップ２０２で更新された現在位置αを第１時刻における位置Ａとして２次記憶部６６に記憶し、ビーコン端末３０４からスマートデバイス１０までの第１時刻における距離ＤＡを２次記憶部６６に記憶する。第１時刻は第１時点に対応する。図６に例示するように、ビーコン端末３０４から出力される電波の電波強度は、ビーコン端末３０４を中心とする同心円の等電位線を描く。図６では、一例として、ビーコン端末３０４を中心とする半径１ｍの円（例えば、真円）上で、電波強度は−４０ｄＢｍであり、ビーコン端末３０４を中心とする半径２ｍの円上で、電波強度は−４６ｄＢｍである。ビーコン端末３０４からスマートデバイス１０までの距離ＤＡは、例えば、式（１）で取得される。
【数１】
2017003278.tif 000003
（１）
【００２１】
ビーコン端末３０４からスマートデバイス１０までの距離ＤＡが、例えば、５ｍの場合、図６に例示するように、スマートデバイス１０は、第１時刻においてビーコン端末３０４を中心とする半径５ｍの円上の何れかの位置に存在する。
【００２２】
ステップ２１０で、ＣＰＵ６２は、第１時刻から所定時間が経過したか否かを判定する。ステップ２１０の判定が否定された場合、ステップ２１２で、ＣＰＵ６２は、前述したステップ２０２と同様に、自律航法センサ７８によって検出されて入力された自律航法情報に基づいて、自律航法でスマートデバイス１０の位置を求め、現在位置αを更新する。即ち、現在位置αを、ステップ２０８で記憶した位置Ａを基準としたスマートデバイス１０の相対位置に更新する。所定時間は、例えば、１秒であってよい。
【００２３】
ステップ２１０の判定が肯定された場合、ステップ２１４で、ＣＰＵ６２は、電波測位位置検出処理を実行する。電波測位位置検出処理の一例を図７に示す。ステップ２３２で、ＣＰＵ６２は、ステップ２０２またはステップ２１２で更新された現在位置αを第２時刻における位置Ｂとして２次記憶部６６に記憶し、ビーコン端末３０４からスマートデバイス１０までの距離ＤＢを２次記憶部６６に記憶する。第２時刻は第２時点に対応する。距離ＤＢは距離ＤＡと同様に計算することが可能である。
【００２４】
次に、ステップ２３４で、ＣＰＵ６２は、２次記憶部６６に記憶されている第１時刻における位置Ａ及び第２時刻における位置Ｂに基づいて、スマートデバイス１０の位置Ａを基準とした位置Ｂまでの距離及び方向を示すベクトルＡＢを求める。ステップ２３６で、ＣＰＵ６２は、位置確定フラグが０であるか否か判定する。ステップ２３６の判定が肯定されると、ステップ２３８で、ＣＰＵ６２は、例えば、距離ＤＡ及び距離ＤＢ及びベクトルＡＢを満たす現時刻の位置ＰＢを決定する。
【００２５】
図８に例示するベクトルＡＢは、長さが位置Ａを基準とした位置Ｂまでの距離であり、θが方向である。例えば、ベクトルＡＢ３１２の始点Ａがビーコン端末３０４を中心とする半径ＤＡの円上にあり、ベクトルＡＢ３１２の終点Ｂがビーコン端末３０４を中心とする半径ＤＢの円上にある場合、終点Ｂが現時刻の位置ＰＢとして決定される。また、例えば、ベクトルＡＢ３１４の始点Ａがビーコン端末３０４を中心とする半径がＤＡの円上にあるが、終点Ｂがビーコン端末３０４を中心とする半径がＤＢの円上にない場合、終点Ｂは現時刻の位置ＰＢとして決定されない。半径ＤＡの円は第１軌跡の一例であり、半径ＤＢの円は第２軌跡の一例である。
【００２６】
図５のステップ２１６で、ＣＰＵ６２は、現時刻の位置ＰＢが１つであるか否か判定する。位置ＰＢの数については後述する。ステップ２１６の判定が肯定されると、ステップ２１８で、ＣＰＵ６２は、位置ＰＢを現在位置αとして設定する。詳細には、ＣＰＵ６２は、ビーコン端末３０４から送信される電波に含まれるビーコン端末３０４のＩＤに基づいて、図３のビーコンＩＤテーブル６８Ａから当該ビーコン端末３０４の位置座標を取得する。位置ＰＢはビーコン端末３０４を原点とする相対的な位置であるため、取得した位置座標を、位置ＰＢに応じて修正することにより、現在位置α（絶対位置）を設定する。
【００２７】
ステップ２２０で、ＣＰＵ６２は、例えば、図９に例示するように、マップ３０２に、現在位置α３０８を重畳して、タッチパネルディスプレイ７２に表示する。ステップ２２２で、ＣＰＵ６２は、例えば、タッチパネルディスプレイ７２に表示される図示しない位置情報算出終了ボタンなどをユーザがタップすることにより、位置情報算出処理の終了が指示されたか否かを判定する。ステップ２２２の判定が肯定された場合、ＣＰＵ６２は、位置情報算出処理を終了する。ステップ２２２の判定が否定された場合、ＣＰＵ６２は、ステップ２０２に戻る。なお、ステップ２０２へ戻る際に、第２時刻における位置Ｂ及び距離ＤＢを、第１時刻における位置Ａ及び距離ＤＡに代入し、ステップ２０８の処理をスキップするようにしてもよい。
【００２８】
次に、ステップ２１６の判定が否定される場合について説明する。即ち、ベクトルＡＢの始点Ａがビーコン端末３０４を中心とし半径がＤＡの円上にあり、ベクトルＡＢの終点Ｂがビーコン端末３０４を中心とし半径がＤＢの円上にある終点Ｂ、即ち、位置ＰＢが２つ存在する場合である。図１０に例示されるように、位置ＰＢが２つ存在する場合、図１１に示すように、２つの位置ＰＢの内、いずれが適正であるか決定する。即ち、第２時刻における位置Ｂ及び距離ＤＢを２次記憶部６６に記憶した時点から、所定時間経過後に、更新された現在位置αを第３時刻における位置Ｃ、ビーコン端末３０４からの距離ＤＣを２次記憶部６６に記憶する。第３時刻は第３時点に対応する。このとき、ベクトルＢＣの終点Ｃが、ビーコン端末３０４を中心とし半径ＤＣの円上にある場合は、終点Ｃを位置ＰＢとして決定する。位置ＰＢが２つ存在する間は、上記処理を繰り返す。例えば、図１１に示す例では、位置ＣＸは、ビーコン端末３０４を中心とする半径がＤＣの円上にあるため、位置ＰＢとされる。位置ＣＹはビーコン端末３０４を中心とし半径が距離ＤＣの円上にないため、位置ＰＢとされない。半径ＤＣの円は、第３軌跡の一例である。
【００２９】
詳細には、ステップ２１６の判定が否定されると、ステップ２２４で、ＣＰＵ６２は、上記処理を行うための準備として図１２に例示する位置決定前処理を実行する。ステップ２５２で、ＣＰＵ６２は、位置確定フラグに１を設定する。すなわち、位置確定フラグは、位置ＰＢの数が１よりも多いことを示すフラグである。ステップ２５４で、ＣＰＵ６２は、２つの位置ＰＢの中点を仮の現在位置α（位置Ａ）に設定する。ステップ２５６で、ＣＰＵ６２は、第１位置ＰＢを位置ＰＡとして記憶し、第２位置ＰＢを位置ＰＡ’として設定する。また、ステップ２５８で、ＣＰＵ６２は、距離ＤＢを距離ＤＡとして記憶する。ステップ２６０で、ＣＰＵ６２は、ステップ２５４で、例えば、図９に例示するように、マップ３０２に、現在位置α３０８を重畳して、タッチパネルディスプレイ７２に表示する。
【００３０】
次に、図５のステップ２１０で、ＣＰＵ６２は、前回の処理で、位置Ａ（位置Ｂ）及び距離ＤＡ（距離ＤＢ）を２次記憶部６６に記憶した時点から、所定時間が経過したか否かを判定する。ステップ２１０の判定が否定された場合、ステップ２１２で、自律航法センサ７８によって検出して入力された自律航法情報に基づいて、スマートデバイス１０の現在位置αを更新する。即ち、位置Ａからの相対位置を更新する。
【００３１】
ステップ２１０の判定が肯定された場合、ステップ２１４で、ＣＰＵ６２は、電波測位位置検出処理を実行する。図７のステップ２３２で、ＣＰＵ６２は、ステップ２１２で更新された現在位置αを第２時刻における位置Ｂとして２次記憶部６６に記憶し、ビーコン端末３０４からの距離ＤＢを２次記憶部６６に記憶する。
【００３２】
次に、ステップ２３４で、ＣＰＵ６２は、２次記憶部６６に記憶されている位置Ａ及びＢに基づいて、ベクトルＡＢを求める。ステップ２３６で、ＣＰＵ６２は、位置確定フラグが０であるか否か判定する。ここで、位置確定フラグは図１２のステップ２５２で１に設定されている。ステップ２３６の判定が否定されると、ステップ２４０で、ＣＰＵ６２は、距離ＤＡ、距離ＤＢ、始点ＰＡ及びベクトルＡＢを満たす位置ＢＸ及び距離ＤＡ、距離ＤＢ、始点ＰＡ’及びベクトルＡＢを満たす位置ＢＹを決定する。図１１のベクトルＡＢ３２２で例示するように、ベクトルＡＢの始点Ａがビーコン端末３０４を中心とする半径がＤＡの円上にあり、終点Ｂがビーコン端末３０４を中心とする半径がＤＢの円上にある場合、終点Ｂである位置ＢＸが位置ＰＢとして決定される。例えば、ベクトルＡＢ３２４は、終点Ｂがビーコン端末３０４を中心とする半径がＤＢの円上にないため、終点Ｂである位置ＢＹは位置ＰＢとして決定されない。
【００３３】
なお、図７のステップ２３８及びステップ２４０では、例えば、以下の計算によって位置ＰＢを決定してもよい。ビーコン端末３０４の位置を原点とし、ベクトルＡＢの始点Ａの座標を（ｘＡ，ｙＡ）とし、ビーコン端末３０４からスマートデバイス１０までの距離ＤＡをｒＡとすると、式（２）が成立する。ベクトルＡＢの始点Ａを、ビーコン端末３０４を中心とする半径がｒＡの円上に置くためである。
ｘＡ２＋ｙＡ２＝ｒＡ２  （２）
【００３４】
ベクトルＡＢの終点Ｂの座標を（ｘＢ，ｙＢ）とし、ビーコン端末３０４からスマートデバイス１０までの距離ＤＢをｒＢとすると、ベクトルＡＢの終点Ｂが、ビーコン端末３０４を中心とし半径がｒＢの円上に存在する場合は、式（３）が成立する。
ｘＢ２＋ｙＢ２＝ｒＢ２  （３）
【００３５】
ベクトルＡＢの始点Ａを原点とする位置ベクトルの要素（ａ，ｂ）を以下の式（４）及び式（５）で、終点Ｂの座標から終点Ａの座標を差し引くことにより求める。
ｘＢ−ｘＡ＝ａ  （４）
ｙＢ−ｙＡ＝ｂ  （５）
【００３６】
式（４）及び式（５）を変形すると、各々式（６）及び式（７）となる。
ｘＢ＝ｘＡ＋ａ  （６）
ｙＢ＝ｙＡ＋ｂ  （７）
【００３７】
式（６）及び式（７）を式（３）に代入すると、式（８）となる。
（ｘＡ＋ａ）２＋（ｙＡ＋ｂ）２＝ｒＢ２  （８）
【００３８】
式（８）から式（２）を差し引くと、式（９）となる。
２ａｘＡ＋ａ２＋２ｂｙＡ＋ｂ２＝ｒＢ２−ｒＡ２  （９）
【００３９】
式（９）を変形すると、式（１０）となる。
【数２】
2017003278.tif 000004
（１０）
【００４０】
式（１０）で表わされる直線と、半径ｒＡの円との交点が、始点Ａのビーコン端末３０４を中心とする半径がＤＡの円上の位置となる。終点Ｂの座標、即ち、位置ＰＢは、式（６）のｘＡ及び式（７）のｙＡに上記交点の座標を適用することにより決定される。
【００４１】
なお、信号発信装置がビーコン端末である例について説明したが、本実施形態はこれに限定されない。信号発信装置は、例えば、Ｗｉ−Ｆｉ、または可視光などの電磁波、或いは音波などの信号を発信する信号発信装置であってもよい。
【００４２】
なお、位置情報算出開始ボタンなどをユーザがタップすることによって位置情報算出処理が開始される例について説明したが、本実施形態はこれに限定されない。例えば、スマートデバイス１０を携帯したユーザが所定の領域に入ったことを既知の技術を用いて検出することにより、位置情報算出処理が開始されてもよい。この場合、スマートデバイス１０の初期位置である現在位置αをユーザが所定の領域に入った位置に既知の技術を用いて設定してもよい。
【００４３】
なお、位置情報算出終了ボタンなどをユーザがタップすることによって位置情報算出処理が終了される例について説明したが、本実施形態はこれに限定されない。例えば、スマートデバイス１０を携帯したユーザが所定の領域から出たことを既知の技術を用いて検出することにより、位置情報算出処理が終了されてもよい。
【００４４】
なお、ビーコン端末３０４からスマートデバイス１０までの距離を、式（１）を用いて算出する例について説明したが、本実施形態はこれに限定されない。ビーコン端末３０４からの所定距離毎に電波強度を計測し、ビーコン端末３０４からの距離と電波強度とを対応付けて、予め、２次記憶部６６に記憶していてもよいし、図示しないサーバから受信して、２次記憶部６６に記憶してもよい。
【００４５】
なお、位置ＰＢが２つ存在する場合、図１１に示す例について説明したが、本実施形態はこれに限定されない。例えば、２つの位置ＰＢの間の距離が十分に近い場合、２つの位置ＰＢの何れかを位置ＰＢとして採用してもよいし、２つの位置ＰＢの中点を位置ＰＢとして採用してもよい。
【００４６】
なお、上記では、ビーコン端末３０４からの電波強度が等しい地点を結んだ線（等電位線）がビーコン端末３０４を中心とする真円になる場合について説明した。しかしながら、本実施形態は、これに限定されない。例えば、等電位線の形状は楕円であってもよい。また、ビーコン端末３０４の位置は円の中心から所定距離内に存在していてもよい。
【００４７】
なお、上記では、ベクトルＡＢの始点Ａがビーコン端末３０４を中心とする半径ＤＡの円上にあり、ベクトルＡＢの終点Ｂがビーコン端末３０４を中心とする半径ＤＢの円上にある場合、終点Ｂが現時刻の位置ＰＢとして決定される例について説明した。しかしながら、本実施形態は、これに限定されない。例えば、始点Ａがビーコン端末３０４を中心とする半径ＤＡの円から所定距離の範囲内にあり、終点Ｂがビーコン端末３０４を中心とする半径ＤＢの円から所定距離内にある場合、終点Ｂが現時刻の位置ＰＢとして決定されてもよい。
【００４８】
情報処理装置のマップ（地図）上の位置を推定する技術としては、例えば、３個以上の信号発信装置を用いた三辺測量（３つの測点で描く三角形各辺の距離を調べ測量する方法）により位置を推定する技術が存在する。しかしながら、単一の信号発信装置からの電波の電波強度を用いる場合と比較して、信号発信装置の配置密度が少なくとも３倍となり、コストが増大する。また、自律航法を単独で用いた場合、スマートデバイス１０の移動距離が長くなると検出位置の誤差が累積され、精度よく位置を推定することが困難である。
【００４９】
本実施形態では、単一の信号発信装置からの電波の電波強度に基づいて取得される当該信号発信装置から情報処理装置までの距離、及び自律航法により取得される情報処理装置の相対的な移動方向及び移動距離を組み合わせて用いる。これにより、本実施形態では、情報処理装置の現在位置を精度よく推定することが可能となる。
【００５０】
［第２実施形態］
次に、第２実施形態の作用として、ＣＰＵ６２が位置情報算出プログラム６７を実行することで、スマートデバイス１０によって行われる位置情報算出処理について、図１３を参照して説明する。第１実施形態と同様の構成及び作用については、同様の参照符号を付し、説明を省略する。
【００５１】
第１実施形態と第２実施形態との差異は、第１実施形態のステップ２１０を第２実施形態ではステップ２１１に置き換えた点である。すなわち、第２実施形態では、ステップ２０８で、ＣＰＵ６２は、ステップ２０２で更新された現在位置αを第１時刻における位置Ａとして２次記憶部６６に記憶し、ビーコン端末３０４からスマートデバイス１０までの距離ＤＡを２次記憶部６６に記憶する。次に、ステップ２１１で、ＣＰＵ６２は、スマートデバイス１０が所定距離移動したか否か判定する。ステップ２１１の判定が肯定された場合、ＣＰＵ６２は、ステップ２１４に進み、ステップ２１１の判定が否定された場合、ＣＰＵ６２は、ステップ２１２に進む。所定距離は、例えば、５ｍであってよい。
【００５２】
即ち、本実施形態では、スマートデバイス１０が所定距離移動した場合に、ステップ２３２で、ＣＰＵ６２は、ステップ２１２で更新された現在位置αを第２時刻における位置Ｂとして２次記憶部６６に記憶する。また、ＣＰＵ６２は、ビーコン端末３０４からの距離ＤＢを２次記憶部６６に記憶する。距離ＤＡ及び距離ＤＢの差異が小さ過ぎると、ビーコン端末３０４を中心とする円の半径ＤＡと、ビーコン端末３０４を中心とする円の半径ＤＢと、の差が小さ過ぎ、スマートデバイス１０の現在位置を精度よく求めることが困難となる場合がある。
【００５３】
本実施形態では、電波強度が所定値を越えた後、自律航法により取得される相対的な移動距離が所定値を越えた場合に、現在位置及び信号発信装置からの距離の記憶を行う。これにより、電波強度が所定値を越えた後に記憶した現在位置と、次に記憶した現在位置との間で、有意な距離を観測することが可能となる。したがって、例えば、図１０に例示する半径ＤＡと半径ＤＢの差が不十分であるため、現在位置を精度よく推定することが困難となることを抑制することが可能となる。
【００５４】
本実施形態では、単一の信号発信装置からの電波の電波強度に基づいて取得される当該信号発信装置から情報処理装置までの距離、及び自律航法により取得される情報処理装置の相対的な移動方向及び移動距離を組み合わせて用いる。これにより、本実施形態では、情報処理装置の現在位置を精度よく推定することが可能となる。
【００５５】
以上の実施形態に関し、更に以下の付記を開示する。
【００５６】
（付記１）
自装置に搭載されたセンサからの信号に基づき第１時点での自装置の位置から第２時点での自装置の位置へ向かう第１ベクトルを算出する第１算出部と、
位置が既知の信号発信装置から受信した信号の強度を検出する検出部と、
前記第１時点で前記検出部により検出された強度に基づき前記第１時点での自装置の推定位置の分布を表す第１軌跡を算出すると共に、前記第２時点で前記検出部により検出された強度に基づき前記第２時点での自装置の推定位置の分布を表す第２軌跡を算出する第２算出部と、
前記第１ベクトルの始点を前記第１軌跡に重ねたときに、前記第１ベクトルの終点が前記第２軌跡に重なるときの前記第１ベクトルの終点の位置を、前記第２時点での自装置の位置として算出する第３算出部と、
を含む情報処理装置。
【００５７】
（付記２）
前記第２時点は前記第１時点から所定時間が経過した時点である、
付記１に記載の情報処理装置。
【００５８】
（付記３）
前記第２時点は前記第１時点からの自装置の移動距離が所定値に達した時点である、
付記１に記載の情報処理装置。
【００５９】
（付記４）
前記第３算出部によって前記第２時点での自装置の位置が複数算出された場合に、
前記第１算出部は、前記第２時点での自装置の位置から第３時点での自装置の位置へ向かう第２ベクトルを算出し、
前記第２算出部は、前記第３時点で前記検出部により検出された強度に基づき前記第３時点での自装置の推定位置の分布を表す第３軌跡を算出し、
前記第３算出部は、前記第２ベクトルの始点を前記第２軌跡に重ねたときに、前記第２ベクトルの終点が前記第３軌跡に重なるときの前記第２ベクトルの終点の位置を、前記第３時点での自装置の位置として算出する、
付記１〜付記３の何れかに記載の情報処理装置。
【００６０】
（付記５）
前記第３時点は前記第２時点から所定時間が経過した時点である、
付記４に記載の情報処理装置。
【００６１】
（付記６）
前記第３時点は前記第２時点からの自装置の移動距離が所定値に達した時点である、
付記４に記載の情報処理装置。
【００６２】
（付記７）
自装置に搭載されたセンサからの信号に基づき第１時点での自装置の位置から第２時点での自装置の位置へ向かう第１ベクトルを算出し、
位置が既知の信号発信装置から受信した信号の強度を検出し、
前記第１時点で検出された強度に基づき前記第１時点での自装置の推定位置の分布を表す第１軌跡を算出すると共に、前記第２時点で検出された強度に基づき前記第２時点での自装置の推定位置の分布を表す第２軌跡を算出し、
前記第１ベクトルの始点を前記第１軌跡に重ねたときに、前記第１ベクトルの終点が前記第２軌跡に重なるときの前記第１ベクトルの終点の位置を、前記第２時点での自装置の位置として算出する、
処理をコンピュータに実行させるための位置情報算出プログラム。
【００６３】
（付記８）
前記第２時点は前記第１時点から所定時間が経過した時点である、
付記７に記載の位置情報算出プログラム。
【００６４】
（付記９）
前記第２時点は前記第１時点からの自装置の移動距離が所定値に達した時点である、
付記７に記載の位置情報算出プログラム。
【００６５】
（付記１０）
前記第２時点での自装置の位置が複数算出された場合に、
前記第２時点での自装置の位置から第３時点での自装置の位置へ向かう第２ベクトルを算出し、
前記第３時点で検出された強度に基づき前記第３時点での自装置の推定位置の分布を表す第３軌跡を算出し、
前記第２ベクトルの始点を前記第２軌跡に重ねたときに、前記第２ベクトルの終点が前記第３軌跡に重なるときの前記第２ベクトルの終点の位置を、前記第３時点での自装置の位置として算出する、
処理をさらにコンピュータに実行させるための付記７〜付記９の何れかに記載の位置情報算出プログラム。
【００６６】
（付記１１）
前記第３時点は前記第２時点から所定時間が経過した時点である、
付記１０に記載の位置情報算出プログラム。
【００６７】
（付記１２）
前記第３時点は前記第２時点からの自装置の移動距離が所定値に達した時点である、
付記１０に記載の位置情報算出プログラム。
【符号の説明】
【００６８】
１０  スマートデバイス
１２  信号受信部
１６  第１算出部
１８  第２算出部
２０  第３算出部
２４  記憶部
６２  ＣＰＵ
６４  １次記憶部
６６  ２次記憶部
７６  ＢＬＥ受信部
７８  自律航法センサ
【図１】
2017003278.tif 000005
【図２】
2017003278.tif 000006
【図３】
2017003278.tif 000007
【図４】
2017003278.tif 000008
【図５】
2017003278.tif 000009
【図６】
2017003278.tif 000010
【図７】
2017003278.tif 000011
【図８】
2017003278.tif 000012
【図９】
2017003278.tif 000013
【図１０】
2017003278.tif 000014
【図１１】
2017003278.tif 000015
【図１２】
2017003278.tif 000016
【図１３】
2017003278.tif 000017