位置推定装置、位置推定方法及び位置推定プログラム
【課題】 電波強度地図上の電波強度の信頼度を考慮することで、誤った位置推定が行われてしまうことを抑制する。
【解決手段】 位置推定装置は、電波送信源からの電波を受信する電波受信部12と、設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値を記憶する電波強度地図22と、設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値のバラツキを記憶する分散地図24と、電波受信部で受信した電波強度と、電波強度地図と、分散地図を用いて、電波受信部の位置を推定する位置推定部20を有する。
【解決手段】 位置推定装置は、電波送信源からの電波を受信する電波受信部12と、設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値を記憶する電波強度地図22と、設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値のバラツキを記憶する分散地図24と、電波受信部で受信した電波強度と、電波強度地図と、分散地図を用いて、電波受信部の位置を推定する位置推定部20を有する。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、電波送信源から送信される電波を利用して位置を推定する技術に関する。
【背景技術】
【0002】
電波送信源(例えば、無線LANのアクセスポイント等)から送信される電波を利用して位置を推定する技術が知られている。この技術では、設定領域内の複数の地点において電波送信源から送信される電波の強度を事前に計測し、それら計測した電波強度に基づいて電波強度地図を作成する。位置推定時には、電波送信源から送信される電波を受信し、その電波強度と事前に作成した電波強度地図より電波受信部の位置を推定する。このような位置推定技術の一例が、非特許文献1に開示されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】藤田迪,梶克彦,河口信夫、「Gaussian Mixture Modelを用いた無線LAN位置推定手法」、情報処理学会論文誌、2011年3月、Vol.52、No.3、p.1069−1081
【発明の開示】
【発明が解決しようとする課題】
【0004】
従来技術においては、電波強度地図を作成する際、電波計測を実施していない地点の電波強度は、電波計測を実施した地点の計測結果から推定(例えば、逆距離加重法、スプライン補間等)される。したがって、電波計測を実施した地点と電波計測を実施しなかった地点とでは、電波強度地図上の電波強度(推定値)の信頼度が相違する。また、同じ電波計測を実施していない地点であっても、電波計測を実施した地点に近い点と、電波計測を実施した地点から離れた点とでは、電波強度地図上の電波強度(推定値)の信頼度が相違する。さらに、同じ電波計測を実施した地点であっても、電波計測を実施した回数が多い地点もあれば、電波計測をした回数が少ない地点もある。このため、同じ電波計測を実施している地点であっても、電波強度地図上の電波強度(推定値)の信頼度は相違する。しかしながら、従来の技術では、電波受信部の位置を推定する際は、電波強度地図上の全ての点の電波強度(推定値)が同一の信頼度であるとして扱われる。したがって、従来技術では、誤った位置推定が行われてしまう場合があった。
【0005】
本願は、上記した実情に鑑みてなされたものであり、電波強度地図上の電波強度の信頼度を考慮することで、誤った位置推定が行われてしまうことを抑制することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本明細書に開示する位置推定装置は、電波送信源からの電波を受信する電波受信部と、設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値を記憶する電波強度地図と、設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値のバラツキを記憶する分散地図と、電波受信部で受信した電波強度と、電波強度地図と、分散地図を用いて、電波受信部の位置を推定する位置推定部と、を有する。
【0007】
この位置推定装置では、受信した電波強度と、電波強度地図と、分散地図を用いて、電波受信部の位置を推定する。分散地図は、電波計測をした地点からの距離や、電波計測回数に応じて、電波強度地図上の各点における電波強度(推定値)のバラツキを記憶している。このため、バラツキの大きい点では重みを低くし、バラツキの小さい点では重みを重くする等の処理を行うことができる。したがって、誤った位置推定が行われてしまうことを抑制することができ、電波受信部の位置を精度良く推定することができる。
【0008】
上記の位置推定装置では、電波受信部は、複数の電波送信源からの電波を受信することができる。また、上記の位置推定装置は、電波送信源毎に、当該電波送信源に関する電波強度地図と分散地図を有することができる。かかる構成を採用する場合、位置推定部は、電波受信部で複数の電波送信源からの電波を受信しているときは、受信している電波送信源毎に、電波受信部で受信した当該電波送信源からの電波の強度と、当該電波送信源に関する電波強度地図と、当該電波送信源に関する分散地図を用いて、電波受信部の位置を推定することが好ましい。このような構成によると、複数の電波送信源からの電波を用いて位置を推定するため、電波受信部の位置を精度良く推定することができる。
【0009】
上記の位置推定装置は、さらに、設定領域内で実施された電波強度の計測結果に基づいて電波強度地図を作成する電波強度地図作成部と、設定領域内で実施された電波強度の計測結果に基づいて分散地図を作成する分散地図作成部を有していてもよい。このような構成によると、ユーザが位置推定装置を使用する環境に応じて適切に設定領域を設定し、電波強度地図と分散地図を作成することができる。
【0010】
また、本明細書は、電波送信源から送信される電波を用いて設定領域内における位置を推定する方法を開示する。この方法は、電波送信源からの電波を受信する工程と、(1)受信した電波強度と、(2)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値を記憶する電波強度地図と、(3)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値のバラツキを記憶する分散地図を用いて、電波を受信した位置を推定する工程と、を有する。この方法によっても、電波強度地図上の電波強度の信頼度が考慮され、電波受信部の位置を精度良く推定することができる。
【0011】
また、本明細書は、電波送信源から送信される電波を用いて位置を推定するためのコンピュータプログラムを開示する。このプログラムは、電波送信源からの電波を電波受信部に受信させる処理と、(1)受信した電波強度と、(2)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値を記憶する電波強度地図と、(3)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値のバラツキを記憶する分散地図とを用いて、電波受信部の位置を推定する処理と、を実行させる。このプログラムにより、コンピュータを用いて、電波受信部の位置を精度良く推定することができる。
【図面の簡単な説明】
【0012】
【図1】本実施例の位置推定装置の全体構成を示すブロック図。
【図2】地図作成処理の手順を示すフローチャート。
【図3】位置推定処理の手順を示すフローチャート。
【図4】本実施例に係る電波強度地図及び分散地図の一例を示すグラフ。
【図5】従来技術に係る電波強度地図の一例を示すグラフ。
【図6】本実施例の位置推定装置により位置推定を行った領域(設定領域)の一例を示す図。
【図7】図6に示す設定領域の1つのアクセスポイントについて作成した電波強度地図を示す図。
【図8】図7に示す電波強度地図に係る分散地図を示す図。
【図9】位置推定処理の手順を示す概念図。
【図10】位置推定結果の一例を示す図。
【図11】電波強度地図及び分散地図を作成するための事前計測を行った地点の数と、位置推定誤差の関係を示す図。
【図12】本願の位置推定技術を応用した一例を説明するための図。
【発明を実施するための最良の形態】
【0013】
(実施例) 図1に示すように、本実施例の位置推定装置10は、電波受信部12と、電波受信部12に接続されている演算装置14と、演算装置14に接続されている電波強度地図記憶部22及び計測分散地図記憶部24を備えている。
【0014】
電波受信部12は、複数のアクセスポイントj30(j=1〜n)から送信される電波を受信する。各アクセスポイントj30から送信される電波には、その電波がどのアクセスポイントj30から送信されたものかを示す信号が含まれている。このため、演算装置14は、電波受信部12が受信する電波から、その電波がどのアクセスポイントj30から送信されたかを特定することができる。電波受信部12及びアクセスポイントj30には、無線LANに用いられる公知の通信機器を用いることができる。なお、電波受信部12は、位置推定対象となる物体(例えば、移動ロボット、製品等)に装着される。アクセスポイントj30は、位置推定を行う領域(以下、設定領域という)内に電波を送信可能な位置(例えば、設定領域内やその近傍)に設置される。
【0015】
演算装置14は、電波受信部12からの出力に基づいて、電波強度地図及び分散地図を作成して保存する処理と、電波受信部12の位置を推定する処理を実行する。演算装置14は、例えば、CPU,ROM,RAM等を備えたコンピュータによって構成することができる。演算装置14は、電波受信部12と同様、位置推定対象となる物体(例えば、移動ロボット、製品等)に装着される。演算装置14は、その機能として、地図作成部15と、位置推定部18を備えている。
【0016】
地図作成部15は、電波強度地図作成部16と分散地図作成部18を備えている。地図作成部15は、設定領域内に予め設定された複数の地点(計測点)で実施された電波強度の計測結果に基づいて、電波強度地図と分散地図を作成する。電波強度地図は、設定領域内の各位置における電波強度の推定値(平均値)を記憶する。分散地図は、設定領域内の各位置における電波強度の推定値(平均値)のバラツキ(分散)を記憶する。地図作成部15で作成される電波強度地図は、電波強度地図記憶部22に記憶される。地図作成部15で作成される分散地図は、分散地図記憶部24に記憶される。なお、地図作成部15は、複数のアクセスポイントj30(j=1〜n)のそれぞれについて、電波強度地図と分散地図を作成する。このため、電波強度地図記憶部22及び分散地図記憶部24には、アクセスポイントj30毎に電波強度地図と分散地図が記憶される。
【0017】
位置推定部20は、電波受信部12で受信した電波の強度と、電波強度地図記憶部22に記憶された電波強度地図と、分散地図記憶部24に記憶された分散地図とから、電波受信部12(すなわち、位置推定対象となる物体)の位置を推定する。電波受信部12が、複数のアクセスポイントj30からの電波を受信するときは、位置推定部18は、受信する電波毎(すなわち、アクセスポイントj30毎)に位置を推定し、それらの推定結果から最終的な推定位置を出力する。上述した演算装置14の各部15,20の処理については後で詳述する。
【0018】
次に、上述した位置推定装置10で行われる処理を、図2,3のフローチャートに従って説明する。まず、図2を用いて電波強度地図及び分散地図を作成する処理について説明する。
【0019】
図2に示すように、まず、位置推定装置10は、設定領域内に予め設けられた複数の地点[計測点(座標値は既知)]のそれぞれにおいて、各アクセスポイントj30から送信される電波を受信し、その電波強度を計測する(S12)。すなわち、ユーザは、位置推定装置10を各計測点にセットし、各計測点において、各アクセスポイントj30より送信される電波の強度を計測する。上述したように、演算装置14は、電波受信部12で受信した電波が、どのアクセスポイントj30から送信された電波かを判定することができる。このため、演算装置14は、計測点毎、及び、アクセスポイントj30毎に、電波強度を計測し、その計測結果を保存する。なお、計測点によっては、全てのアクセスポイントj30(j=1〜n)からの電波を受信することができず、一部のアクセスポイントj30からの電波のみを受信する場合がある。このような場合は、受信できなかったアクセスポイントj30については、計測した電波強度は「0」とされる。
【0020】
次に、演算装置14は、複数のアクセスポイントj30(j=1〜n)から1のアクセスポイントj30を選択し(S14)、その選択されたアクセスポイントj30について電波強度地図及び分散地図を作成し(S16)、その作成した電波強度地図及び分散地図を電波強度地図記憶部22及び分散地図記憶部24に保存する(S18)。すなわち、ステップS14で1つのアクセスポイントj30が選択されると、計測点毎に、選択されたアクセスポイントj30からの電波の電波強度を特定することができる。したがって、演算装置14は、選択されたアクセスポイントj30について、各計測点において計測された電波強度を用いて、電波強度地図及び分散地図を作成する。
【0021】
なお、電波強度地図及び分散地図を作成する方法には、公知の方法を用いることができる。例えば、ガウシアン・プロセス(Gaussian Process)を用いて、電波強度地図及び分散地図を作成することができる。ガウシアン・プロセスを用いることで、事前に得られた計測データ(各計測点の電波強度)から、設定領域内の各位置における電波強度(推定平均値)のモデル(電波強度地図)を学習できると同時に、設定領域内の各位置における電波強度(推定平均値)の分散のモデル(分散地図)を学習することができる。
【0022】
図4は、ガウシアン・プロセスを用いて作成された1次元の電波強度地図(図中の点線)及び分散地図(図中の実線)を示している。図5は、図4と同一の計測データに基づいて、従来技術に係る方法(すなわち、スプライン補完)によって作成された電波強度地図を示している。図4,5に示すように、事前計測点は電波源からの距離が1m,2m,3m,8m,10mの地点であり、1m,2mの地点では4回の計測を行い、3mの地点では6回の計測を行い、8mの地点では1回の計測を行い、10mの地点では9回の計測を行っている。図4,5から明らかなように、ガウシアン・プロセスにより作成された電波強度地図は、従来技術に係る電波強度地図と同様の地図となるが、ガウシアン・プロセスを用いる方法では、図4に点線で示す分散地図が作成されている。この分散地図は、電波源からの距離が1〜3mの計測点の多い領域では分散が小さく(信頼度が高く)、4〜7mの計測点の無い領域では分散が大きくなっている(信頼度が低くなっている)。したがって、分散地図を用いることで、電波強度地図から得られる電波強度(推定平均値)の信頼度を評価できる。
【0023】
ステップS18が終わると、次に、演算装置14は、全てのアクセスポイントj30(j=1〜n)について、ステップS16及びステップS18の処理を実行したか否かを判断する(S20)。全てのアクセスポイントj30(j=1〜n)についてステップS16及びステップS18の処理を実行していない場合(ステップS20でNO)は、ステップS14に戻って、ステップS14からの処理が行われる。これによって、地図が作成されていない新しいアクセスポイントj30が選択され、その選択されたアクセスポイントj30について、電波強度地図及び分散地図が作成されることとなる。一方、全てのアクセスポイントj30(j=1〜n)についてステップS16及びステップS18の処理を実行している場合(ステップS20でYES)は、そのまま処理を終了する。これによって、全てのアクセスポイントj30(j=1〜n)について、電波強度地図及び分散地図が作成され、それらが電波強度地図記憶部22及び分散地図記憶部24に保存される。
【0024】
次に、演算装置14で行われる位置推定処理(図3)について説明する。本実施例の位置推定処理では、ガウシアン・プロセス・パーティクル・フィルタ(Gaussian Process Particle Filter)が用いられる。なお、演算装置14は、図3に示す位置推定処理を周期的に繰り返し実行することで、各時刻における電波受信部12の位置を推定する。したがって、電波受信部12が移動体に装着された場合は、演算装置14は、その移動体を追跡することができる。
【0025】
図3に示すように、演算装置14は、まず、電波受信部12を作動させ、各アクセスポイントj30(j=1〜n)からの電波強度を計測する(S22)。これによって、電波受信部12は、1又は複数のアクセスポイントj30からの電波を受信し、演算装置14は、アクセスポイントj30毎に、電波受信部12で受信した電波の強度を計測する。例えば、電波受信部12がa個のアクセスポイントj30(j=1〜a,0≦a≦n)からの電波を受信している場合、演算装置14は、a個の電波強度ss1,t,ss2,t,・・ssa,tを計測する。なお、電波強度地図及び分散地図を作成する際は、電波を受信できなかったアクセスポイントj30については、計測した電波強度を「0」として電波強度地図及び分散地図の作成に用いたが、位置推定処理では、電波受信部12で受信できたアクセスポイントj30の電波強度のみを用いて位置推定が行われる。
【0026】
次に、演算装置14は、直前の周期(時刻t−1)におけるパーティクルの位置(平均値)pi,t−1(i=1〜m)と、パーティクルの動作モデルDuから、現在の時刻tにおける各パーティクルの位置(平均値)pi,t(i=1〜m)を予測する(S24)。すなわち、本実施例の位置推定処理では、ガウシアン・プロセス・パーティクル・フィルタを用いて動作予測する。このため、まず、時刻t−1におけるm個のパーティクルpi,t−1(i=1〜m)に動作モデルDuに従って運動させ、現在のパーティクルの位置(平均値)pi,t(i=1〜m)を予測する。ここで、動作モデルDuは、各パーティクルの運動を規定するモデルであり、位置推定対象の性質に応じて適宜設定することができる。例えば、位置推定対象が人である場合、動作モデルDuをランダムウォークと設定することができる。動作モデルDuが与えられると、その動作モデルDuと、時刻t−1におけるパーティクルの位置(平均値)pi,t−1(i=1〜m)と、制御入力ut−1を用いて、下記の数1の式により、現在の時刻tにおける各パーティクルの位置(平均値)pi,t(i=1〜m)を算出する。なお、制御入力ut−1は、位置推定対象の速度や加速度が得られる場合は、その値を用いることができる。また、動作モデルDuをランダムウォークと設定している場合は、制御入力ut−1をランダムに与えることができる。
【0027】
【数1】
【0028】
上記の式の右辺のGPμは、動作モデルDuに対して、入力[pi,t−1,ut−1]を与えた時に、ガウシアン・プロセスにより算出される位置の平均を表す。
【0029】
次に、演算装置14は、ステップS22の計測結果(電波強度)と、電波強度地図記憶部22に記憶されている電波強度地図と、分散地図記憶部24に記憶されている分散地図を用いて、各パーティクルの重みwi,t(i=1〜m)を算出する(S26)。1つの具体例では、演算装置14は、まず、ステップS22で計測(受信)された電波の送信源であるa個のアクセスポイントj30(j=1〜a)の1つを選択し、そのアクセスポイントj30に対応する電波強度地図及び分散地図を、電波強度地図記憶部22と分散地図記憶部24からそれぞれ読み出す。次いで、そのアクセスポイントj30からの電波の電波強度ssj,tと、読み出した電波強度地図及び分散地図を用いて、選択したアクセスポイントj30についての各パーティクルの重みwi,j,t(i=1〜m)を算出する。次いで、各パーティクルの重みwi,j,t(i=1〜m)を算出する処理を、ステップS22で計測された電波の送信源であるa個のアクセスポイントj30(j=1〜a)のそれぞれについて実施する。これにより、a個のアクセスポイントj30(j=1〜a)毎、及び、m個のパーティクル毎に、各パーティクルの重みwi,j,t(i=1〜m,j=1〜a)が算出される。次いで、これらの値をパーティクル毎に加算して、各パーティクルの重みwi,t(i=1〜m)を最終的に算出する。なお、上記の処理を数式で表すと下記の式となる。
【0030】
【数2】
【0031】
上記の式における各記号の意味は、次の通りである。
wi,t(i=1〜m):時刻tにおけるパーティクルiの最終的な重み
wi,j,t(i=1〜m,j=1〜a):時刻tにおけるパーティクルiのアクセスポイントjから受信した電波強度に基づいて算出された重み
ssj,t(j=1〜a):時刻tにおいてアクセスポイントjから受信した電波の電波強度
Dj,0:アクセスポイントjの電波強度地図及び分散地図
GPμ(pi,t,Dj,0):位置pi,tにおけるアクセスポイントjの電波強度地図の値(電波強度(平均))を取得する関数
GPΣ(pi,t,Dj,0):位置pi,tにおけるアクセスポイントjの分散地図の値(電波強度(平均)の分散)を取得する関数
PDF(ss;Yμ,YΣ):平均Yμ,分散YΣの多変量正規分布のssj,tにおける確率密度
【0032】
なお、演算装置14は、パーティクル(i=1〜m)について、位置pi,tと最終的な重みwi,tを算出すると同時に、パーティクル(i=1〜m)の信頼度を算出することができる。例えば、アクセスポイントj毎に算出されるパーティクルの分散の和(ΣGPΣ(pi,t,Dj,0))を、パーティクルの信頼度とすることができる。
【0033】
ステップS24及びステップS26の処理によって、パーティクル(i=1〜m)のそれぞれについて、位置pi,tと最終的な重みwi,tが算出されると、演算装置14は、算出された重みwi,tに従って、新たなパーティクルpi,t(i=1〜m)をリサンプリングする(S28)。すなわち、上述した処理によって、各パーティクル(i=1〜m)の重みwi,tが算出されている。このため、演算装置14は、重みwi,tの高いパーティクルを多く選択する一方で、重みwi,tの低いパーティクルを少なく選択して、新たなパーティクルi,t(i=1〜m)を作成する。例えば、パーティクルが4個であり、パーティクル1の重みが0.5、パーティクル2の重みが0.3、パーティクル3の重みが0.1、パーティクル4の重みが0.1となる場合は、パーティクル1を新たなパーティクル1,2として2個作成し、パーティクル2を新たなパーティクル3として1個作成し、パーティクル3又はパーティクル4を新たなパーティクル4として1個作成する。そして、あらたに作成したパーティクル1〜4を用いて、以後の処理を行う。
【0034】
ステップS28の処理が終了すると、演算装置14は、次の周期の処理が開始されるまで待機する。以下、ステップS22からステップS28までの処理が繰り返し実行されることで、各時刻における電波受信部12の位置(位置推定対象の位置)が推定される。上記の説明から明らかなように、ステップS22からステップS28までの処理を繰り返すことで、重みの高いパーティクルが多く選択されて残り、重みの低いパーティクルが順次消滅してゆくこととなる。
【0035】
なお、位置推定装置10は、ユーザの操作(例えば、スイッチ操作)により、あるいはユーザの操作に関係なく常時、重みの最も高いパーティクルの位置をモニタ等に出力することができる。これによって、ユーザは、位置推定対象の位置をリアルタイムに知ることができる。なお、結果を出力する際は、全てのパーティクルの位置を出力するようにしてもよいし、重みの最も高いパーティクルから順に出力するようにしてもよい。
【0036】
上述した説明から明らかなように、本実施例の位置推定装置10では、電波強度地図と分散地図を用いて各パーティクルの重みを算出する。電波強度地図の信頼度を考慮して各パーティクルの重みが算出されるため、誤った位置推定が行われてしまうことを抑制することができる。その結果、位置推定精度を高めることができ、装置の信頼性を高めることができる。
【0037】
なお、上述した実施例の位置推定装置10においては、パーティクルをリサンプリングする際、一定数のパーティクルをランダムに導入するようにしてもよい。このような構成を採ることで、位置推定装置10のロバスト性を向上することができる。
【0038】
(具体例) 上述した本実施例に係る位置推定装置10を用いて、移動体の位置推定を実施した具体例を説明する。具体例では、図2の地図作成処理と図3の位置推定処理を行うプログラムをパーソナルコンピュータにインストールすることで演算装置14を構築し、電波受信部12には無線LANカードを用いた。また、建物内を位置推定を行う領域(設定領域)とし、建物内の廊下を「人」が移動し、その「人」の位置を推定した。詳細には、建物内の4階のフロアにスタート地点を設定すると共に3階のフロアにゴール地点を設定した(図10参照)。そして、位置推定対象である「人」は階段を利用してスタート地点からゴール地点まで移動し、そのときの「人」の位置を推定した。
【0039】
まず、建物内の電波強度地図と分散地図を作成した。図6は、建物の4階の間取り図である。図6中、☆の地点がアクセスポイントの位置であり、●の地点が地図作成のために電波強度を計測した点である。図6から明らかなように、建物内の廊下には複数のアクセスポイントが設置されており、電波強度を計測した点は建物内の廊下全域に略均等に設定されている。
【0040】
図7は、図6のアクセスポイント1について作成した電波強度地図であり、図8は、アクセスポイント1について作成した分散地図である。図7の電波強度地図では、電波計測を行った廊下と電波計測を行っていない部屋内とが区別されていないが、図8の分散地図では、電波計測を行った廊下では分散が小さく、電波計測を行っていない部屋内では分散が大きくなっている。なお、電波強度地図と分散地図は、3階のフロアについても同様に作成した。
【0041】
次に、位置推定対象である「人」に位置推定装置10を設置した。次いで、「人」がスタート地点(4階)からゴール地点まで移動した。「人」がスタート地点からゴール地点まで移動する間、所定の時間間隔で図3の位置推定処理を実行した。すなわち、電波受信部12で電波を受信し、その電波強度と電波強度地図と計測分散地図に基づいて各パーティクルの重みを算出し、算出された重みに従ってパーティクルをリサンプリングした。
【0042】
図9は、演算装置14の位置推定処理の手順を示す概念図である。図9に示す例では、電波受信部12は4つのアクセスポイントA,B,C,Dから電波を受信している。すなわち、アクセスポイントAからの電波は電波強度ss1であり、アクセスポイントBからの電波は電波強度ss2であり、アクセスポイントCからの電波は電波強度ss3であり、アクセスポイントDからの電波は電波強度ss4である。演算装置14は、電波強度ss1とアクセスポイントAの電波強度地図と分散地図を用いて各パーティクルの重みを算出し、電波強度ss2とアクセスポイントBの電波強度地図と分散地図を用いて各パーティクルの重みを算出し、電波強度ss3とアクセスポイントCの電波強度地図と分散地図を用いて各パーティクルの重みを算出し、電波強度ss4とアクセスポイントDの電波強度地図と分散地図を用いて各パーティクルの重みを算出する。そして、これらの重みから最終的な重みを算出し、位置推定を行う。
【0043】
図10は、上述したリサンプリングによって得られた各パーティクルの位置を示している。図10(a)は、位置推定対象である「人」が移動前の状態(すなわち、「人」がスタート地点にいる状態)を示しており、図10(b)は、位置推定対象である「人」が移動後の状態(すなわち、「人」がゴール地点にいる状態)を示している。図10より明らかなように、「人」がスタート地点にいるときは多くのパーティクルがスタート地点の近傍に存在し、「人」がゴール地点に移動したときは多くのパーティクルがゴール地点の近傍に存在している。すなわち、本実施例の位置推定装置10によって、位置推定対象である「人」を追跡できたことが示されている。
【0044】
なお、上述した位置推定装置10では、電波強度地図及び分散地図を作成するための電波計測を行った計測点(事前計測点)の数によって位置推定精度が異なる。図11は、事前計測点の数と位置推定精度の関係を示すグラフである。図11の「all」は、図6の計測点1〜30で電波強度を計測して地図を作成し、計測点1〜30で位置推定を実施した場合を示している。図11の「half」は、図6の計測点1〜30のうち偶数番号の位置で電波強度を計測して地図を作成し、計測点1〜30のうち奇数番号の位置で位置推定を実施した場合を示している。図11の「One third」は、図6の計測点1〜30のうち3の倍数の番号の位置で電波強度を計測して地図を作成し、計測点1〜30のうち3の倍数の番号以外の位置で位置推定を実施した場合を示している。図11より明らかなように、事前計測点の数が少なくなると位置推定精度が低下している。ただし、本実施例の位置推定装置10では、事前計測点の数が「One third」と少ない場合でも、66%のパーティクルが5m以下の推定誤差範囲となっている。
【0045】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【0046】
例えば、上述した実施例では、位置推定装置10を位置推定対象となる移動体等に設置する例であったが、本願の技術はこのような例に限られない。例えば、位置推定対象となる移動体には電波受信部のみを設置し、電波受信部と演算装置を無線で接続する構成を採用してもよい。この場合、電波受信部で受信した電波強度に関するデータは、無線で演算装置に送信される。演算装置は、電波受信部から送信されるデータに基づいて、電波受信部の位置(すなわち、位置推定対象の位置)を算出する。このような構成によると、位置推定対象となる移動体の位置を遠隔地で管理することができる。
【0047】
また、上述した実施例では、無線LANのアクセスポイントを電波源として利用したが、携帯電話の基地局等を電波源として利用してもよい。また、複数の電波源を利用する必要は必ずしも無く、電波源は1つであってもよい。
【0048】
また、上述した本願の位置推定技術は、他の位置推定技術と組み合わせて用いることができる。例えば、レーザレンジファインダによる位置推定技術と組合せて用いることができる。すなわち、レーザレンジファインダによる位置推定技術では、レーザレンジファインダで計測された構造物の形状と、事前に記憶されている構造物の形状をマッチングさせることで、位置を推定する。したがって、マッチングさせる領域が広いと計算量が多くなり過ぎるという問題がある。一方、本願の位置推定技術は、移動体の位置と、その位置における信頼度を算出することができる。したがって、本願の位置推定技術により、移動体の位置と信頼度を算出し、算出された位置の周囲にマッチングを行う領域を設定する。この際、算出された信頼度に応じて、マッチングを行う領域の広さを変える。例えば、図12に示すように、信頼度が高い場合はマッチングを行う領域を狭くし、信頼度が低い場合はマッチングを行う領域を広くする。これによって、計算量を適切に減らしながら、高い精度で位置推定を行うことができる。
【0049】
また、上述した実施例では、ガウシアン・プロセス(Gaussian Process)を用いて電波強度地図を作成したが、本願の技術はこのような例に限られない。例えば、ガウシアン・ミクスチャー・モデル(Gaussian Mixture Model)を用いて電波強度地図を作成してもよい。ガウシアン・ミクスチャー・モデルは、複数のガウス分布を線形結合したものである。ガウシアン・ミクスチャー・モデルを用いて電波強度地図を作成するには、まず、地図を作成する対象となる設定領域を複数の領域に分割し、分割した各領域に計測点を設定する。次いで、各計測点で電波強度を計測し、その電波強度に応じた数の点をその領域に配置する。これによって、設定領域上に配置された点の分布が得られる。次いで、この点の分布からガウシアン・ミクスチャー・モデルを推定して電波強度地図を作成する。点の分布からガウシアン・ミクスチャー・モデルを推定する手法には、EMアルゴリズムを用いることができる。EMアルゴリズムは、確率モデルのパラメータを最尤法に基づいて推定する方法である。なお、詳細な手法については、非特許文献1に開示されている。
【0050】
あるいは、アクセスポイントが既知である場合は、Seidelモデルを用いて電波強度地図を作成することもできる。Seidelモデルでは、電波源からの距離に応じて電波強度が減衰する電波減衰モデルが用いられる。
【0051】
また、上述した実施例では、ガウシアン・プロセス(Gaussian Process)を用いて分散地図を作成したが、本願の技術はこのような例に限られない。例えば、計測した回数の逆数をとることで分散地図を作成してもよい。すなわち、ある計測点でn回の電波強度計測を行っている場合、1/nを分散地図の値とする。このような方法によっても、分散地図を作成することができる。なお、計測した回数の逆数をとることで得られた分散地図(計測点毎の分散値からなる離散モデル)を、さらに上述したガウシアン・ミクスチャー・モデル(Gaussian Mixture Model)を用いて連続モデルとしてもよい。
【0052】
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は、複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0053】
10:位置推定装置
12:電波受信部
14:演算装置
15:地図作成部
16:電波強度地図作成部
18:分散地図作成部
20:位置推定部
20:対応付け決定部
22:電波強度地図記憶部
24:分散地図記憶部
【技術分野】
【0001】
本願は、電波送信源から送信される電波を利用して位置を推定する技術に関する。
【背景技術】
【0002】
電波送信源(例えば、無線LANのアクセスポイント等)から送信される電波を利用して位置を推定する技術が知られている。この技術では、設定領域内の複数の地点において電波送信源から送信される電波の強度を事前に計測し、それら計測した電波強度に基づいて電波強度地図を作成する。位置推定時には、電波送信源から送信される電波を受信し、その電波強度と事前に作成した電波強度地図より電波受信部の位置を推定する。このような位置推定技術の一例が、非特許文献1に開示されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】藤田迪,梶克彦,河口信夫、「Gaussian Mixture Modelを用いた無線LAN位置推定手法」、情報処理学会論文誌、2011年3月、Vol.52、No.3、p.1069−1081
【発明の開示】
【発明が解決しようとする課題】
【0004】
従来技術においては、電波強度地図を作成する際、電波計測を実施していない地点の電波強度は、電波計測を実施した地点の計測結果から推定(例えば、逆距離加重法、スプライン補間等)される。したがって、電波計測を実施した地点と電波計測を実施しなかった地点とでは、電波強度地図上の電波強度(推定値)の信頼度が相違する。また、同じ電波計測を実施していない地点であっても、電波計測を実施した地点に近い点と、電波計測を実施した地点から離れた点とでは、電波強度地図上の電波強度(推定値)の信頼度が相違する。さらに、同じ電波計測を実施した地点であっても、電波計測を実施した回数が多い地点もあれば、電波計測をした回数が少ない地点もある。このため、同じ電波計測を実施している地点であっても、電波強度地図上の電波強度(推定値)の信頼度は相違する。しかしながら、従来の技術では、電波受信部の位置を推定する際は、電波強度地図上の全ての点の電波強度(推定値)が同一の信頼度であるとして扱われる。したがって、従来技術では、誤った位置推定が行われてしまう場合があった。
【0005】
本願は、上記した実情に鑑みてなされたものであり、電波強度地図上の電波強度の信頼度を考慮することで、誤った位置推定が行われてしまうことを抑制することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本明細書に開示する位置推定装置は、電波送信源からの電波を受信する電波受信部と、設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値を記憶する電波強度地図と、設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値のバラツキを記憶する分散地図と、電波受信部で受信した電波強度と、電波強度地図と、分散地図を用いて、電波受信部の位置を推定する位置推定部と、を有する。
【0007】
この位置推定装置では、受信した電波強度と、電波強度地図と、分散地図を用いて、電波受信部の位置を推定する。分散地図は、電波計測をした地点からの距離や、電波計測回数に応じて、電波強度地図上の各点における電波強度(推定値)のバラツキを記憶している。このため、バラツキの大きい点では重みを低くし、バラツキの小さい点では重みを重くする等の処理を行うことができる。したがって、誤った位置推定が行われてしまうことを抑制することができ、電波受信部の位置を精度良く推定することができる。
【0008】
上記の位置推定装置では、電波受信部は、複数の電波送信源からの電波を受信することができる。また、上記の位置推定装置は、電波送信源毎に、当該電波送信源に関する電波強度地図と分散地図を有することができる。かかる構成を採用する場合、位置推定部は、電波受信部で複数の電波送信源からの電波を受信しているときは、受信している電波送信源毎に、電波受信部で受信した当該電波送信源からの電波の強度と、当該電波送信源に関する電波強度地図と、当該電波送信源に関する分散地図を用いて、電波受信部の位置を推定することが好ましい。このような構成によると、複数の電波送信源からの電波を用いて位置を推定するため、電波受信部の位置を精度良く推定することができる。
【0009】
上記の位置推定装置は、さらに、設定領域内で実施された電波強度の計測結果に基づいて電波強度地図を作成する電波強度地図作成部と、設定領域内で実施された電波強度の計測結果に基づいて分散地図を作成する分散地図作成部を有していてもよい。このような構成によると、ユーザが位置推定装置を使用する環境に応じて適切に設定領域を設定し、電波強度地図と分散地図を作成することができる。
【0010】
また、本明細書は、電波送信源から送信される電波を用いて設定領域内における位置を推定する方法を開示する。この方法は、電波送信源からの電波を受信する工程と、(1)受信した電波強度と、(2)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値を記憶する電波強度地図と、(3)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値のバラツキを記憶する分散地図を用いて、電波を受信した位置を推定する工程と、を有する。この方法によっても、電波強度地図上の電波強度の信頼度が考慮され、電波受信部の位置を精度良く推定することができる。
【0011】
また、本明細書は、電波送信源から送信される電波を用いて位置を推定するためのコンピュータプログラムを開示する。このプログラムは、電波送信源からの電波を電波受信部に受信させる処理と、(1)受信した電波強度と、(2)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値を記憶する電波強度地図と、(3)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値のバラツキを記憶する分散地図とを用いて、電波受信部の位置を推定する処理と、を実行させる。このプログラムにより、コンピュータを用いて、電波受信部の位置を精度良く推定することができる。
【図面の簡単な説明】
【0012】
【図1】本実施例の位置推定装置の全体構成を示すブロック図。
【図2】地図作成処理の手順を示すフローチャート。
【図3】位置推定処理の手順を示すフローチャート。
【図4】本実施例に係る電波強度地図及び分散地図の一例を示すグラフ。
【図5】従来技術に係る電波強度地図の一例を示すグラフ。
【図6】本実施例の位置推定装置により位置推定を行った領域(設定領域)の一例を示す図。
【図7】図6に示す設定領域の1つのアクセスポイントについて作成した電波強度地図を示す図。
【図8】図7に示す電波強度地図に係る分散地図を示す図。
【図9】位置推定処理の手順を示す概念図。
【図10】位置推定結果の一例を示す図。
【図11】電波強度地図及び分散地図を作成するための事前計測を行った地点の数と、位置推定誤差の関係を示す図。
【図12】本願の位置推定技術を応用した一例を説明するための図。
【発明を実施するための最良の形態】
【0013】
(実施例) 図1に示すように、本実施例の位置推定装置10は、電波受信部12と、電波受信部12に接続されている演算装置14と、演算装置14に接続されている電波強度地図記憶部22及び計測分散地図記憶部24を備えている。
【0014】
電波受信部12は、複数のアクセスポイントj30(j=1〜n)から送信される電波を受信する。各アクセスポイントj30から送信される電波には、その電波がどのアクセスポイントj30から送信されたものかを示す信号が含まれている。このため、演算装置14は、電波受信部12が受信する電波から、その電波がどのアクセスポイントj30から送信されたかを特定することができる。電波受信部12及びアクセスポイントj30には、無線LANに用いられる公知の通信機器を用いることができる。なお、電波受信部12は、位置推定対象となる物体(例えば、移動ロボット、製品等)に装着される。アクセスポイントj30は、位置推定を行う領域(以下、設定領域という)内に電波を送信可能な位置(例えば、設定領域内やその近傍)に設置される。
【0015】
演算装置14は、電波受信部12からの出力に基づいて、電波強度地図及び分散地図を作成して保存する処理と、電波受信部12の位置を推定する処理を実行する。演算装置14は、例えば、CPU,ROM,RAM等を備えたコンピュータによって構成することができる。演算装置14は、電波受信部12と同様、位置推定対象となる物体(例えば、移動ロボット、製品等)に装着される。演算装置14は、その機能として、地図作成部15と、位置推定部18を備えている。
【0016】
地図作成部15は、電波強度地図作成部16と分散地図作成部18を備えている。地図作成部15は、設定領域内に予め設定された複数の地点(計測点)で実施された電波強度の計測結果に基づいて、電波強度地図と分散地図を作成する。電波強度地図は、設定領域内の各位置における電波強度の推定値(平均値)を記憶する。分散地図は、設定領域内の各位置における電波強度の推定値(平均値)のバラツキ(分散)を記憶する。地図作成部15で作成される電波強度地図は、電波強度地図記憶部22に記憶される。地図作成部15で作成される分散地図は、分散地図記憶部24に記憶される。なお、地図作成部15は、複数のアクセスポイントj30(j=1〜n)のそれぞれについて、電波強度地図と分散地図を作成する。このため、電波強度地図記憶部22及び分散地図記憶部24には、アクセスポイントj30毎に電波強度地図と分散地図が記憶される。
【0017】
位置推定部20は、電波受信部12で受信した電波の強度と、電波強度地図記憶部22に記憶された電波強度地図と、分散地図記憶部24に記憶された分散地図とから、電波受信部12(すなわち、位置推定対象となる物体)の位置を推定する。電波受信部12が、複数のアクセスポイントj30からの電波を受信するときは、位置推定部18は、受信する電波毎(すなわち、アクセスポイントj30毎)に位置を推定し、それらの推定結果から最終的な推定位置を出力する。上述した演算装置14の各部15,20の処理については後で詳述する。
【0018】
次に、上述した位置推定装置10で行われる処理を、図2,3のフローチャートに従って説明する。まず、図2を用いて電波強度地図及び分散地図を作成する処理について説明する。
【0019】
図2に示すように、まず、位置推定装置10は、設定領域内に予め設けられた複数の地点[計測点(座標値は既知)]のそれぞれにおいて、各アクセスポイントj30から送信される電波を受信し、その電波強度を計測する(S12)。すなわち、ユーザは、位置推定装置10を各計測点にセットし、各計測点において、各アクセスポイントj30より送信される電波の強度を計測する。上述したように、演算装置14は、電波受信部12で受信した電波が、どのアクセスポイントj30から送信された電波かを判定することができる。このため、演算装置14は、計測点毎、及び、アクセスポイントj30毎に、電波強度を計測し、その計測結果を保存する。なお、計測点によっては、全てのアクセスポイントj30(j=1〜n)からの電波を受信することができず、一部のアクセスポイントj30からの電波のみを受信する場合がある。このような場合は、受信できなかったアクセスポイントj30については、計測した電波強度は「0」とされる。
【0020】
次に、演算装置14は、複数のアクセスポイントj30(j=1〜n)から1のアクセスポイントj30を選択し(S14)、その選択されたアクセスポイントj30について電波強度地図及び分散地図を作成し(S16)、その作成した電波強度地図及び分散地図を電波強度地図記憶部22及び分散地図記憶部24に保存する(S18)。すなわち、ステップS14で1つのアクセスポイントj30が選択されると、計測点毎に、選択されたアクセスポイントj30からの電波の電波強度を特定することができる。したがって、演算装置14は、選択されたアクセスポイントj30について、各計測点において計測された電波強度を用いて、電波強度地図及び分散地図を作成する。
【0021】
なお、電波強度地図及び分散地図を作成する方法には、公知の方法を用いることができる。例えば、ガウシアン・プロセス(Gaussian Process)を用いて、電波強度地図及び分散地図を作成することができる。ガウシアン・プロセスを用いることで、事前に得られた計測データ(各計測点の電波強度)から、設定領域内の各位置における電波強度(推定平均値)のモデル(電波強度地図)を学習できると同時に、設定領域内の各位置における電波強度(推定平均値)の分散のモデル(分散地図)を学習することができる。
【0022】
図4は、ガウシアン・プロセスを用いて作成された1次元の電波強度地図(図中の点線)及び分散地図(図中の実線)を示している。図5は、図4と同一の計測データに基づいて、従来技術に係る方法(すなわち、スプライン補完)によって作成された電波強度地図を示している。図4,5に示すように、事前計測点は電波源からの距離が1m,2m,3m,8m,10mの地点であり、1m,2mの地点では4回の計測を行い、3mの地点では6回の計測を行い、8mの地点では1回の計測を行い、10mの地点では9回の計測を行っている。図4,5から明らかなように、ガウシアン・プロセスにより作成された電波強度地図は、従来技術に係る電波強度地図と同様の地図となるが、ガウシアン・プロセスを用いる方法では、図4に点線で示す分散地図が作成されている。この分散地図は、電波源からの距離が1〜3mの計測点の多い領域では分散が小さく(信頼度が高く)、4〜7mの計測点の無い領域では分散が大きくなっている(信頼度が低くなっている)。したがって、分散地図を用いることで、電波強度地図から得られる電波強度(推定平均値)の信頼度を評価できる。
【0023】
ステップS18が終わると、次に、演算装置14は、全てのアクセスポイントj30(j=1〜n)について、ステップS16及びステップS18の処理を実行したか否かを判断する(S20)。全てのアクセスポイントj30(j=1〜n)についてステップS16及びステップS18の処理を実行していない場合(ステップS20でNO)は、ステップS14に戻って、ステップS14からの処理が行われる。これによって、地図が作成されていない新しいアクセスポイントj30が選択され、その選択されたアクセスポイントj30について、電波強度地図及び分散地図が作成されることとなる。一方、全てのアクセスポイントj30(j=1〜n)についてステップS16及びステップS18の処理を実行している場合(ステップS20でYES)は、そのまま処理を終了する。これによって、全てのアクセスポイントj30(j=1〜n)について、電波強度地図及び分散地図が作成され、それらが電波強度地図記憶部22及び分散地図記憶部24に保存される。
【0024】
次に、演算装置14で行われる位置推定処理(図3)について説明する。本実施例の位置推定処理では、ガウシアン・プロセス・パーティクル・フィルタ(Gaussian Process Particle Filter)が用いられる。なお、演算装置14は、図3に示す位置推定処理を周期的に繰り返し実行することで、各時刻における電波受信部12の位置を推定する。したがって、電波受信部12が移動体に装着された場合は、演算装置14は、その移動体を追跡することができる。
【0025】
図3に示すように、演算装置14は、まず、電波受信部12を作動させ、各アクセスポイントj30(j=1〜n)からの電波強度を計測する(S22)。これによって、電波受信部12は、1又は複数のアクセスポイントj30からの電波を受信し、演算装置14は、アクセスポイントj30毎に、電波受信部12で受信した電波の強度を計測する。例えば、電波受信部12がa個のアクセスポイントj30(j=1〜a,0≦a≦n)からの電波を受信している場合、演算装置14は、a個の電波強度ss1,t,ss2,t,・・ssa,tを計測する。なお、電波強度地図及び分散地図を作成する際は、電波を受信できなかったアクセスポイントj30については、計測した電波強度を「0」として電波強度地図及び分散地図の作成に用いたが、位置推定処理では、電波受信部12で受信できたアクセスポイントj30の電波強度のみを用いて位置推定が行われる。
【0026】
次に、演算装置14は、直前の周期(時刻t−1)におけるパーティクルの位置(平均値)pi,t−1(i=1〜m)と、パーティクルの動作モデルDuから、現在の時刻tにおける各パーティクルの位置(平均値)pi,t(i=1〜m)を予測する(S24)。すなわち、本実施例の位置推定処理では、ガウシアン・プロセス・パーティクル・フィルタを用いて動作予測する。このため、まず、時刻t−1におけるm個のパーティクルpi,t−1(i=1〜m)に動作モデルDuに従って運動させ、現在のパーティクルの位置(平均値)pi,t(i=1〜m)を予測する。ここで、動作モデルDuは、各パーティクルの運動を規定するモデルであり、位置推定対象の性質に応じて適宜設定することができる。例えば、位置推定対象が人である場合、動作モデルDuをランダムウォークと設定することができる。動作モデルDuが与えられると、その動作モデルDuと、時刻t−1におけるパーティクルの位置(平均値)pi,t−1(i=1〜m)と、制御入力ut−1を用いて、下記の数1の式により、現在の時刻tにおける各パーティクルの位置(平均値)pi,t(i=1〜m)を算出する。なお、制御入力ut−1は、位置推定対象の速度や加速度が得られる場合は、その値を用いることができる。また、動作モデルDuをランダムウォークと設定している場合は、制御入力ut−1をランダムに与えることができる。
【0027】
【数1】
【0028】
上記の式の右辺のGPμは、動作モデルDuに対して、入力[pi,t−1,ut−1]を与えた時に、ガウシアン・プロセスにより算出される位置の平均を表す。
【0029】
次に、演算装置14は、ステップS22の計測結果(電波強度)と、電波強度地図記憶部22に記憶されている電波強度地図と、分散地図記憶部24に記憶されている分散地図を用いて、各パーティクルの重みwi,t(i=1〜m)を算出する(S26)。1つの具体例では、演算装置14は、まず、ステップS22で計測(受信)された電波の送信源であるa個のアクセスポイントj30(j=1〜a)の1つを選択し、そのアクセスポイントj30に対応する電波強度地図及び分散地図を、電波強度地図記憶部22と分散地図記憶部24からそれぞれ読み出す。次いで、そのアクセスポイントj30からの電波の電波強度ssj,tと、読み出した電波強度地図及び分散地図を用いて、選択したアクセスポイントj30についての各パーティクルの重みwi,j,t(i=1〜m)を算出する。次いで、各パーティクルの重みwi,j,t(i=1〜m)を算出する処理を、ステップS22で計測された電波の送信源であるa個のアクセスポイントj30(j=1〜a)のそれぞれについて実施する。これにより、a個のアクセスポイントj30(j=1〜a)毎、及び、m個のパーティクル毎に、各パーティクルの重みwi,j,t(i=1〜m,j=1〜a)が算出される。次いで、これらの値をパーティクル毎に加算して、各パーティクルの重みwi,t(i=1〜m)を最終的に算出する。なお、上記の処理を数式で表すと下記の式となる。
【0030】
【数2】
【0031】
上記の式における各記号の意味は、次の通りである。
wi,t(i=1〜m):時刻tにおけるパーティクルiの最終的な重み
wi,j,t(i=1〜m,j=1〜a):時刻tにおけるパーティクルiのアクセスポイントjから受信した電波強度に基づいて算出された重み
ssj,t(j=1〜a):時刻tにおいてアクセスポイントjから受信した電波の電波強度
Dj,0:アクセスポイントjの電波強度地図及び分散地図
GPμ(pi,t,Dj,0):位置pi,tにおけるアクセスポイントjの電波強度地図の値(電波強度(平均))を取得する関数
GPΣ(pi,t,Dj,0):位置pi,tにおけるアクセスポイントjの分散地図の値(電波強度(平均)の分散)を取得する関数
PDF(ss;Yμ,YΣ):平均Yμ,分散YΣの多変量正規分布のssj,tにおける確率密度
【0032】
なお、演算装置14は、パーティクル(i=1〜m)について、位置pi,tと最終的な重みwi,tを算出すると同時に、パーティクル(i=1〜m)の信頼度を算出することができる。例えば、アクセスポイントj毎に算出されるパーティクルの分散の和(ΣGPΣ(pi,t,Dj,0))を、パーティクルの信頼度とすることができる。
【0033】
ステップS24及びステップS26の処理によって、パーティクル(i=1〜m)のそれぞれについて、位置pi,tと最終的な重みwi,tが算出されると、演算装置14は、算出された重みwi,tに従って、新たなパーティクルpi,t(i=1〜m)をリサンプリングする(S28)。すなわち、上述した処理によって、各パーティクル(i=1〜m)の重みwi,tが算出されている。このため、演算装置14は、重みwi,tの高いパーティクルを多く選択する一方で、重みwi,tの低いパーティクルを少なく選択して、新たなパーティクルi,t(i=1〜m)を作成する。例えば、パーティクルが4個であり、パーティクル1の重みが0.5、パーティクル2の重みが0.3、パーティクル3の重みが0.1、パーティクル4の重みが0.1となる場合は、パーティクル1を新たなパーティクル1,2として2個作成し、パーティクル2を新たなパーティクル3として1個作成し、パーティクル3又はパーティクル4を新たなパーティクル4として1個作成する。そして、あらたに作成したパーティクル1〜4を用いて、以後の処理を行う。
【0034】
ステップS28の処理が終了すると、演算装置14は、次の周期の処理が開始されるまで待機する。以下、ステップS22からステップS28までの処理が繰り返し実行されることで、各時刻における電波受信部12の位置(位置推定対象の位置)が推定される。上記の説明から明らかなように、ステップS22からステップS28までの処理を繰り返すことで、重みの高いパーティクルが多く選択されて残り、重みの低いパーティクルが順次消滅してゆくこととなる。
【0035】
なお、位置推定装置10は、ユーザの操作(例えば、スイッチ操作)により、あるいはユーザの操作に関係なく常時、重みの最も高いパーティクルの位置をモニタ等に出力することができる。これによって、ユーザは、位置推定対象の位置をリアルタイムに知ることができる。なお、結果を出力する際は、全てのパーティクルの位置を出力するようにしてもよいし、重みの最も高いパーティクルから順に出力するようにしてもよい。
【0036】
上述した説明から明らかなように、本実施例の位置推定装置10では、電波強度地図と分散地図を用いて各パーティクルの重みを算出する。電波強度地図の信頼度を考慮して各パーティクルの重みが算出されるため、誤った位置推定が行われてしまうことを抑制することができる。その結果、位置推定精度を高めることができ、装置の信頼性を高めることができる。
【0037】
なお、上述した実施例の位置推定装置10においては、パーティクルをリサンプリングする際、一定数のパーティクルをランダムに導入するようにしてもよい。このような構成を採ることで、位置推定装置10のロバスト性を向上することができる。
【0038】
(具体例) 上述した本実施例に係る位置推定装置10を用いて、移動体の位置推定を実施した具体例を説明する。具体例では、図2の地図作成処理と図3の位置推定処理を行うプログラムをパーソナルコンピュータにインストールすることで演算装置14を構築し、電波受信部12には無線LANカードを用いた。また、建物内を位置推定を行う領域(設定領域)とし、建物内の廊下を「人」が移動し、その「人」の位置を推定した。詳細には、建物内の4階のフロアにスタート地点を設定すると共に3階のフロアにゴール地点を設定した(図10参照)。そして、位置推定対象である「人」は階段を利用してスタート地点からゴール地点まで移動し、そのときの「人」の位置を推定した。
【0039】
まず、建物内の電波強度地図と分散地図を作成した。図6は、建物の4階の間取り図である。図6中、☆の地点がアクセスポイントの位置であり、●の地点が地図作成のために電波強度を計測した点である。図6から明らかなように、建物内の廊下には複数のアクセスポイントが設置されており、電波強度を計測した点は建物内の廊下全域に略均等に設定されている。
【0040】
図7は、図6のアクセスポイント1について作成した電波強度地図であり、図8は、アクセスポイント1について作成した分散地図である。図7の電波強度地図では、電波計測を行った廊下と電波計測を行っていない部屋内とが区別されていないが、図8の分散地図では、電波計測を行った廊下では分散が小さく、電波計測を行っていない部屋内では分散が大きくなっている。なお、電波強度地図と分散地図は、3階のフロアについても同様に作成した。
【0041】
次に、位置推定対象である「人」に位置推定装置10を設置した。次いで、「人」がスタート地点(4階)からゴール地点まで移動した。「人」がスタート地点からゴール地点まで移動する間、所定の時間間隔で図3の位置推定処理を実行した。すなわち、電波受信部12で電波を受信し、その電波強度と電波強度地図と計測分散地図に基づいて各パーティクルの重みを算出し、算出された重みに従ってパーティクルをリサンプリングした。
【0042】
図9は、演算装置14の位置推定処理の手順を示す概念図である。図9に示す例では、電波受信部12は4つのアクセスポイントA,B,C,Dから電波を受信している。すなわち、アクセスポイントAからの電波は電波強度ss1であり、アクセスポイントBからの電波は電波強度ss2であり、アクセスポイントCからの電波は電波強度ss3であり、アクセスポイントDからの電波は電波強度ss4である。演算装置14は、電波強度ss1とアクセスポイントAの電波強度地図と分散地図を用いて各パーティクルの重みを算出し、電波強度ss2とアクセスポイントBの電波強度地図と分散地図を用いて各パーティクルの重みを算出し、電波強度ss3とアクセスポイントCの電波強度地図と分散地図を用いて各パーティクルの重みを算出し、電波強度ss4とアクセスポイントDの電波強度地図と分散地図を用いて各パーティクルの重みを算出する。そして、これらの重みから最終的な重みを算出し、位置推定を行う。
【0043】
図10は、上述したリサンプリングによって得られた各パーティクルの位置を示している。図10(a)は、位置推定対象である「人」が移動前の状態(すなわち、「人」がスタート地点にいる状態)を示しており、図10(b)は、位置推定対象である「人」が移動後の状態(すなわち、「人」がゴール地点にいる状態)を示している。図10より明らかなように、「人」がスタート地点にいるときは多くのパーティクルがスタート地点の近傍に存在し、「人」がゴール地点に移動したときは多くのパーティクルがゴール地点の近傍に存在している。すなわち、本実施例の位置推定装置10によって、位置推定対象である「人」を追跡できたことが示されている。
【0044】
なお、上述した位置推定装置10では、電波強度地図及び分散地図を作成するための電波計測を行った計測点(事前計測点)の数によって位置推定精度が異なる。図11は、事前計測点の数と位置推定精度の関係を示すグラフである。図11の「all」は、図6の計測点1〜30で電波強度を計測して地図を作成し、計測点1〜30で位置推定を実施した場合を示している。図11の「half」は、図6の計測点1〜30のうち偶数番号の位置で電波強度を計測して地図を作成し、計測点1〜30のうち奇数番号の位置で位置推定を実施した場合を示している。図11の「One third」は、図6の計測点1〜30のうち3の倍数の番号の位置で電波強度を計測して地図を作成し、計測点1〜30のうち3の倍数の番号以外の位置で位置推定を実施した場合を示している。図11より明らかなように、事前計測点の数が少なくなると位置推定精度が低下している。ただし、本実施例の位置推定装置10では、事前計測点の数が「One third」と少ない場合でも、66%のパーティクルが5m以下の推定誤差範囲となっている。
【0045】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【0046】
例えば、上述した実施例では、位置推定装置10を位置推定対象となる移動体等に設置する例であったが、本願の技術はこのような例に限られない。例えば、位置推定対象となる移動体には電波受信部のみを設置し、電波受信部と演算装置を無線で接続する構成を採用してもよい。この場合、電波受信部で受信した電波強度に関するデータは、無線で演算装置に送信される。演算装置は、電波受信部から送信されるデータに基づいて、電波受信部の位置(すなわち、位置推定対象の位置)を算出する。このような構成によると、位置推定対象となる移動体の位置を遠隔地で管理することができる。
【0047】
また、上述した実施例では、無線LANのアクセスポイントを電波源として利用したが、携帯電話の基地局等を電波源として利用してもよい。また、複数の電波源を利用する必要は必ずしも無く、電波源は1つであってもよい。
【0048】
また、上述した本願の位置推定技術は、他の位置推定技術と組み合わせて用いることができる。例えば、レーザレンジファインダによる位置推定技術と組合せて用いることができる。すなわち、レーザレンジファインダによる位置推定技術では、レーザレンジファインダで計測された構造物の形状と、事前に記憶されている構造物の形状をマッチングさせることで、位置を推定する。したがって、マッチングさせる領域が広いと計算量が多くなり過ぎるという問題がある。一方、本願の位置推定技術は、移動体の位置と、その位置における信頼度を算出することができる。したがって、本願の位置推定技術により、移動体の位置と信頼度を算出し、算出された位置の周囲にマッチングを行う領域を設定する。この際、算出された信頼度に応じて、マッチングを行う領域の広さを変える。例えば、図12に示すように、信頼度が高い場合はマッチングを行う領域を狭くし、信頼度が低い場合はマッチングを行う領域を広くする。これによって、計算量を適切に減らしながら、高い精度で位置推定を行うことができる。
【0049】
また、上述した実施例では、ガウシアン・プロセス(Gaussian Process)を用いて電波強度地図を作成したが、本願の技術はこのような例に限られない。例えば、ガウシアン・ミクスチャー・モデル(Gaussian Mixture Model)を用いて電波強度地図を作成してもよい。ガウシアン・ミクスチャー・モデルは、複数のガウス分布を線形結合したものである。ガウシアン・ミクスチャー・モデルを用いて電波強度地図を作成するには、まず、地図を作成する対象となる設定領域を複数の領域に分割し、分割した各領域に計測点を設定する。次いで、各計測点で電波強度を計測し、その電波強度に応じた数の点をその領域に配置する。これによって、設定領域上に配置された点の分布が得られる。次いで、この点の分布からガウシアン・ミクスチャー・モデルを推定して電波強度地図を作成する。点の分布からガウシアン・ミクスチャー・モデルを推定する手法には、EMアルゴリズムを用いることができる。EMアルゴリズムは、確率モデルのパラメータを最尤法に基づいて推定する方法である。なお、詳細な手法については、非特許文献1に開示されている。
【0050】
あるいは、アクセスポイントが既知である場合は、Seidelモデルを用いて電波強度地図を作成することもできる。Seidelモデルでは、電波源からの距離に応じて電波強度が減衰する電波減衰モデルが用いられる。
【0051】
また、上述した実施例では、ガウシアン・プロセス(Gaussian Process)を用いて分散地図を作成したが、本願の技術はこのような例に限られない。例えば、計測した回数の逆数をとることで分散地図を作成してもよい。すなわち、ある計測点でn回の電波強度計測を行っている場合、1/nを分散地図の値とする。このような方法によっても、分散地図を作成することができる。なお、計測した回数の逆数をとることで得られた分散地図(計測点毎の分散値からなる離散モデル)を、さらに上述したガウシアン・ミクスチャー・モデル(Gaussian Mixture Model)を用いて連続モデルとしてもよい。
【0052】
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は、複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0053】
10:位置推定装置
12:電波受信部
14:演算装置
15:地図作成部
16:電波強度地図作成部
18:分散地図作成部
20:位置推定部
20:対応付け決定部
22:電波強度地図記憶部
24:分散地図記憶部
【特許請求の範囲】
【請求項1】
電波送信源からの電波を受信する電波受信部と、
設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値を記憶する電波強度地図と、
設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値のバラツキを記憶する分散地図と、
電波受信部で受信した電波強度と、電波強度地図と、分散地図を用いて、電波受信部の位置を推定する位置推定部と、を有する位置推定装置。
【請求項2】
電波受信部は、複数の電波送信源からの電波を受信し、
位置推定装置は、電波送信源毎に、当該電波送信源に関する電波強度地図と分散地図を有しており、
位置推定部は、電波受信部で複数の電波送信源からの電波を受信しているときは、受信している電波送信源毎に、電波受信部で受信した当該電波送信源からの電波の強度と、当該電波送信源に関する電波強度地図と、当該電波送信源に関する分散地図を用いて、電波受信部の位置を推定する、請求項1に記載の位置推定装置。
【請求項3】
設定領域内で実施された電波強度の計測結果に基づいて電波強度地図を作成する電波強度地図作成部と、
設定領域内で実施された電波強度の計測結果に基づいて分散地図を作成する分散地図作成部をさらに有する、請求項1又は2に記載の位置推定装置。
【請求項4】
電波送信源から送信される電波を用いて設定領域内における位置を推定する方法であって、
電波送信源からの電波を受信する工程と、
(1)受信した電波強度と、(2)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値を記憶する電波強度地図と、(3)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値のバラツキを記憶する分散地図を用いて、電波を受信した位置を推定する工程と、を有する位置推定方法。
【請求項5】
電波送信源から送信される電波を用いて位置を推定するためのコンピュータプログラムであって、コンピュータに下記の処理、即ち、
電波送信源からの電波を電波受信部に受信させる処理と、
(1)受信した電波強度と、(2)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値を記憶する電波強度地図と、(3)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値のバラツキを記憶する分散地図とを用いて、電波受信部の位置を推定する処理と、
を実行させるプログラム。
【請求項1】
電波送信源からの電波を受信する電波受信部と、
設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値を記憶する電波強度地図と、
設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値のバラツキを記憶する分散地図と、
電波受信部で受信した電波強度と、電波強度地図と、分散地図を用いて、電波受信部の位置を推定する位置推定部と、を有する位置推定装置。
【請求項2】
電波受信部は、複数の電波送信源からの電波を受信し、
位置推定装置は、電波送信源毎に、当該電波送信源に関する電波強度地図と分散地図を有しており、
位置推定部は、電波受信部で複数の電波送信源からの電波を受信しているときは、受信している電波送信源毎に、電波受信部で受信した当該電波送信源からの電波の強度と、当該電波送信源に関する電波強度地図と、当該電波送信源に関する分散地図を用いて、電波受信部の位置を推定する、請求項1に記載の位置推定装置。
【請求項3】
設定領域内で実施された電波強度の計測結果に基づいて電波強度地図を作成する電波強度地図作成部と、
設定領域内で実施された電波強度の計測結果に基づいて分散地図を作成する分散地図作成部をさらに有する、請求項1又は2に記載の位置推定装置。
【請求項4】
電波送信源から送信される電波を用いて設定領域内における位置を推定する方法であって、
電波送信源からの電波を受信する工程と、
(1)受信した電波強度と、(2)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値を記憶する電波強度地図と、(3)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値のバラツキを記憶する分散地図を用いて、電波を受信した位置を推定する工程と、を有する位置推定方法。
【請求項5】
電波送信源から送信される電波を用いて位置を推定するためのコンピュータプログラムであって、コンピュータに下記の処理、即ち、
電波送信源からの電波を電波受信部に受信させる処理と、
(1)受信した電波強度と、(2)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値を記憶する電波強度地図と、(3)設定領域内で実施された電波強度の計測結果に基づいて作成され、設定領域内の各位置における電波強度の推定値のバラツキを記憶する分散地図とを用いて、電波受信部の位置を推定する処理と、
を実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図11】
【図6】
【図7】
【図8】
【図9】
【図10】
【図12】
【図2】
【図3】
【図4】
【図5】
【図11】
【図6】
【図7】
【図8】
【図9】
【図10】
【図12】
【公開番号】特開2013−7719(P2013−7719A)
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願番号】特願2011−142103(P2011−142103)
【出願日】平成23年6月27日(2011.6.27)
【出願人】(000003609)株式会社豊田中央研究所 (4,200)
【Fターム(参考)】
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願日】平成23年6月27日(2011.6.27)
【出願人】(000003609)株式会社豊田中央研究所 (4,200)
【Fターム(参考)】
[ Back to top ]