本実施形態の説明に先立ち、本願発明者が検討した事項について説明する。
IoTデバイス等の情報処理装置が自装置の位置を特定する方法としてGPS(Global Positioning System)を利用した方法があるが、GPS衛星からの信号が届き難い屋内でGPSを利用するのは難しい。
屋内で情報処理装置が測位するには、屋内の定められた位置に電波の送信器を固定しておき、その送信器が発した電波と送信器の位置とに基づいて情報処理装置が自装置の位置を特定すればよい。そのような送信器の一例として、例えばBluetooth(登録商標)を利用したビーコンがある。ビーコンからは一定時間おきにアドバタイズ信号が発信されているため、ビーコン設置位置の情報をあらかじめ知っておくことによって、受信したアドバタイズ信号の電波強度を利用した測位が可能となる。
その場合、ビーコンの発する電波が到来する方向を情報処理装置が特定することで測位することもできるが、市場に普及しているIoTデバイスには電波の方向を特定できるような高機能なアンテナは設けられていない。
ユーザの持つデバイスが観測するビーコンの電波強度のみで測位する方法も提案されているが、いずれもIoTデバイスのように計算資源が限られているデバイスで実現するのは難しい。
例えば、無線LAN(Local Area Network)のアクセスポイントが発した電波の電波強度を情報処理装置が取得し、その電波強度に基づいて情報処理装置の位置を特定する方法が提案されている。この方法では、大規模な計算資源や消費電力を必要とするパーティクルフィルタを利用しており、IoTデバイスのような計算資源に乏しいデバイスでこの方法を実現するのは難しい。
同様に、無線端末から出た電波を複数の無線ノードが受信し、受信した電波強度に基づいて無線端末の位置を特定する方法もある。この方法では、電波強度の理論値と実測値との関数である評価関数が最小となるように繰り返し演算を行うことにより無線端末の位置を特定しており、大規模な計算資源や消費電力を必要とする繰り返し演算をIoTデバイスが実行するのは難しい。
そこで、本願発明者は、IoTデバイス等の情報処理装置が観測したビーコンの電波強度のみを利用して測位する別の方法について検討した。
図1は、検討に使用したシステムの模式図である。
このシステム1は、屋内に存在する情報処理装置3が自身の位置を測位するシステムであり、屋内の定められた位置に複数の送信器4が固定される。
このうち、情報処理装置3は、IoTデバイスのように小型で計算資源が限られているデバイスである。また、各送信器4は、定期的にアドバタイズ信号を発信するビーコンである。
この例では、各送信器4の位置を点P1〜P3で表す。そして、情報処理装置3は、各送信器4の位置P1〜P3を知っているものとする。また、情報処理装置3は、各送信器4の直近で観測されるアドバタイズ信号の電波強度も知っているものとする。それらの電波強度を以下ではori_P1、ori_P2、及びori_P3と書く。
更に、情報処理装置3は、自身が計測したこれらの実際の電波強度obs_P1、obs_P2、及びobs_P3を算出する。
各送信器4は情報処理装置3から離れた所に位置しているため、各送信器4が発したアドバタイズ信号の電波強度は情報処理装置3に到達するまでの間に減衰する。以下では、各点P1〜P3にある送信器4が発したアドバタイズ信号の電波強度の減衰量をそれぞれatt_P1〜att_P3と書く。この定義より以下の式(1)成り立つ。
ここで、減衰量att_P1〜att_P3は、情報処理装置3と各送信器4との距離が長いほど大きくなる。逆に、情報処理装置3と送信器4との距離が短くなれば減衰量att_P1〜att_P3は少なくなる。
これを利用すれば、各減衰量att_P1〜att_P3に基づいて情報処理装置1の位置を推定できる。しかも、推定に使用するのは各減衰量att_P1〜att_P3のみであるため、IoTデバイスのような非力な情報処理装置3でも自装置の位置を推定できる。
しかし、屋内等のように電波を反射する障害物がある空間においては、観測されるアドバタイズ信号の電波強度が情報処理装置3と送信器4との距離による減衰以上に大きく減衰することがある。このような現象はマルチパスフェージングと呼ばれる。
マルチパスフェージングは、送信器3から情報処理装置4に直接届く信号と比較して、屋内の障害物で反射してから情報処理装置4に届く信号の位相が異なることが原因で発生する。
図2は、マルチパスフェージングの一例について示すグラフである。
このグラフの横軸は時間を示し、縦軸はあるビーコンから出たアドバタイズ信号の電波強度を示す。
図2の例では、マルチパスフェージングが原因で期間Tにおいて電波が減衰している。減衰している期間は数秒〜20秒程度にも及ぶ。
マルチパスフェージングによって減衰量att_P1、att_P2、att_P3が数値的に増加すると、これらの減衰量で推定される情報処理装置1の位置が不正確となる。
本願発明者は、このようなマルチパスフェージングによる影響を低減するための方法を幾つか検討したが、いずれも以下のように問題がある。
例えば、マルチパスフェージングの影響を低減し得る測位専用の高品位なアンテナを情報処理装置3に設ける方法を検討した。しかし、この方法は、IoTデバイス等の小型の情報処理装置3のように通信用のアンテナしか持たないデバイスには適用できない。
また、電波強度が規定値以下になったときにはその電波を切り捨て、規定値よりも大きな強度の電波のみを信頼して測位を実行する方法も検討した。しかし、この方法では、電波強度が規定値よりも大きくなるように情報処理装置3を所持するユーザが各送信器4の近くにいる必要があり実用的でない。
更に、ピークホールド回路により電波強度のピーク値を保持し、そのピーク値を利用して測位を行う方法も検討した。しかし、上記のようにマルチパスフェージングで電波が減衰する期間が長いため、ユーザが移動する場合においては、これでは十分な精度で測位をすることはできない。
その他に、無理に情報処理装置3で測位をせずに、情報処理装置3が受信した電波強度をサーバ等の計算資源の豊富な計算機に送信し、計算機が測位をする方法も検討した。その方法では、電波の強度分布の目安を示す電波強度マップを作成し、情報処理装置3が受信した実際の電波の強度に対応した位置をその電波強度マップから求めることになる。しかし、この方法では電波強度マップの作成に多大な労力が必要となってしまう。
以下に、マルチパスフェージングによる影響を抑えつつ、電波強度のみで測位を実行することが可能な各実施形態について説明する。
(第1実施形態)
まず、本実施形態の原理について説明する。
図3〜図4は、本実施形態の原理について説明するための模式図である。
図3の例では、情報処理装置20と二つの送信器21とが屋内にある状況を想定している。
各送信器21は、例えばアドバタイズ信号を発するビーコンであって、それぞれ点P0及び点P1に固定されている。
なお、各送信器21から出た直後のアドバタイズ信号の各々の電波強度ori_P0、ori_P1は同一であって、これらの値を情報処理装置20が記憶しているものとする。また、電波強度ori_P0、ori_P1の指標として、以下ではRSSI(Received Signal Strength Indicator)を使用する。
更に、Bluetooth(登録商標)機器に代えて、無線LANのアクセスポイントを各送信器21として設けてもよい。
一方、情報処理装置20は、例えばIoTデバイスである。情報処理装置20は、自装置の周囲の各送信器21から出たアドバタイズ信号の実際の受信電波強度obs_P0、obs_P1を計測し、これらの電波強度を利用して自装置の位置を推定する。
位置の推定に際しては、各送信器21から情報処理装置20が離れるほどアドバタイズ信号の電波強度obs_P0、obs_P1が減衰する事実を利用する。
以下では、各アドバタイズ信号の電波強度の減衰量をatt_P0、att_P1と書く。定義よりatt_P0 = ori_P0- obs_ P0、att_P1 = ori_P1- obs_P1である。これらの減衰量att_P0、att_P1は、電波強度obs_P0、obs_P1の計測値と、各送信器21の直近での電波強度であるori_P0、ori_P1とに基づいて情報処理装置20が算出する。
位置の推定の仕方は特に限定されない。例えば、減衰量att_P0が減衰量att_P1よりも小さい場合には、点P1よりも点P0に近い位置に情報処理装置20が位置すると推定することができる。
一方、図4は、点P0にある送信器21が発したアドバタイズ信号の電波強度がマルチパスフェージングの影響を受けた場合の模式図である。
この場合は、マルチパスフェージングによって減衰量att_P0が減衰量att_P1よりも大きくなってしまっている。
よって、この場合に減衰量att_P0、att_P1に基づいて情報処理装置20が測位をすると、点P0よりも点P1に近い位置に自装置が位置すると誤って推定してしまう。
図5は、このような不都合を防ぐ原理について説明する模式図である。
この例では、マルチパスフェージングによって上記のように減衰量att_P0が減衰量att_P1よりも大きい場合に、情報処理装置20が減衰量att_P0を減じる補正をする。減衰量att_P0の補正量は特に限定されないが、例えば遠い方の送信器21の減衰量att_P1に等しくなるように減衰量att_P0を補正する。
このように減衰量att_P0を補正することにより、各減衰量att_P0、att_P1から推定される情報処理装置20の位置の誤差を小さくすることができる。
次に、本実施形態の具体例について説明する。
<全体構成>
図6は、本実施形態の全体構成について示す模式図である。
なお、図6において、図5で説明したのと同じ要素には図5におけるのと同じ符号を付し、以下ではその説明を省略する。
図6に示すように、本実施形態では、天井28の予め定められた位置に複数の送信器21が固定されており、情報処理装置20を所持するユーザUが屋内23を移動している場合を想定する。
なお、送信器21を固定する部位は天井28に限定されない。壁や床等に送信器21を固定してもよい。
そして、各送信器21が発するアドバタイズ信号の電波強度に基づいて、後述のように情報処理装置20が自装置の位置を推定する。
図7及び図8は、情報処理装置20と各送信器21との位置関係について示す平面図である。
図7及び図8の例では、情報処理装置20の位置を点Aで表し、各送信器21の位置をそれぞれ点P0〜P3で表している。
また、図7においては、点P1〜P3を頂点とする三角形P1P2P3が点P0と点Aの両方を内包する場合を想定している。
一方、図8においては、三角形P1P2P3が点P0を内包し、かつ三角形P1P2P3の外側に点Aが位置する場合を想定している。
以下では、点Aと各点P0〜P3との距離をそれぞれdA0、dA1、dA2、dA3と書くことにする。
上記の図7と図8のいずれの場合においても、点Aと点P0との距離dA0は、幾何学的に残りの距離dA1、dA2、dA3のうち最大のものより常に小さくなる。
つまり、点P0で表される送信器21が三角形P1P2P3に内包されるならば、点Aで表される情報処理装置20がどこに位置していても、点P1〜P3で表される送信器21の少なくとも一つは情報処理装置20から見てP0よりも遠い位置にあるということになる。
本実施形態では、このような幾何学的な知見を利用して以下のように各送信器21から出るアドバタイズ信号の電波強度の減衰量を補正する。
図9〜図11は、その補正方法について説明するための模式図である。
このうち、図9は、点P0の送信器21から出たアドバタイズ信号の電波強度が、マルチパスフェージングによって本来よりも増大している場合を例示している。
以下では、各送信器21の直近で計測されるアドバタイズ信号の電波強度をそれぞれori_P0〜ori_P3で表し、情報処理装置20が計測したアドバタイズ信号の実際の電波強度をそれぞれobs_P0〜obs_P3で表すものとする。
なお、本例では各ビーコンの直近で観測される電波強度ori_P0〜ori_P3は全て同一としているが、実際には送信器21ごとに設置環境や出力電波強度が異なることがあり、それにより電波強度ori_P0〜ori_P3が同一ではない場合もある。
また、これらのアドバタイズ信号は、情報処理装置20に到達するまでの間にその電波強度が減衰する。その減衰量をそれぞれatt_P0〜att_P3で表す。
このとき、前述のように情報処理装置20がどこに位置していても、点P1〜P3のうちの少なくとも一つは情報処理装置20から見て点P0よりも遠い位置にある。
よって、マルチパスフェージングによる影響がなければ、att_P1〜att_P3のうちの少なくとも一つはatt_P0よりも大きくなるため、att_P1〜att_P3の最大値Max(att_P1, att_P2, att_P3)よりもatt_P0は小さくなるはずである。
逆に、この図の例のようにatt_P0が最大値Max(att_P1, att_P2, att_P3)よりも大きい場合には、点P0の送信器21から出たアドバタイズ信号がマルチパスフェージングによって異常に減衰していると判断できる。
そこで、このように判断された場合には、次の図10及び図11のようにatt_P0を補正する。
図10は、Max(att_P1, att_P2, att_P3) = att_P3であり、かつatt_P0>Max(att_P1, att_P2, att_P3)である場合を例示している。この場合は、att_P1〜att_P3のうちでatt_P3が最も大きいため、情報処理装置20から見て点P3が最も遠く、かつ点P3よりも点P0が情報処理装置20に近いということになる。
そこで、この場合には補正によりatt_P0を減じてその値を最も遠い点P3における減衰量att_P3に等しくする。
図11は、このように補正した後の模式図である。
このようにatt_P3 = att_P0となるようにatt_P0を補正することで、点P0が三角形P1P2P3に内包されている状況にatt_P0の値が整合するようになる。よって、補正後の減衰量att_P0や各減衰量att_P1〜att_P3を利用して情報処理装置20が自装置の位置を推定することで、その推定の精度を高めることができる。
なお、att_P0≦Max(att_P1, att_P2, att_P3)となっている場合には、点P0が三角形P1P2P3に内包されている状況にatt_P0の値が整合しているため、att_P0の補正は行わない。
次に、このような補正方法を実現する情報処理装置20について説明する。
<ハードウェア構成>
図12は、本実施形態に係る情報処理装置20のハードウェア構成図である。
図12に示すように、情報処理装置20は、アンテナ31、無線部32、加速度センサ33、ジャイロセンサ34、地磁気センサ35、記憶部36、プロセッサ37、及びメモリ38を備える。
このうち、アンテナ31は、複数の送信器21の各々からアドバタイズ信号を受信したり、携帯電話の基地局や無線LANのアクセスポイントとの間でデータ通信用の電波を送受信する。
無線部32は、アンテナ31が受信したアドバタイズ信号を電気信号に変換してプロセッサ37に出力する。更に、無線部32は、アンテナ31とプロセッサ37との間で送受信される各種の信号を変調したり復調したりする。
また、加速度センサ33は、自装置に加わる加速度を検知し、その加速度の値を示す信号をプロセッサ37に出力する。
ジャイロセンサ34は、自装置の姿勢変化を検知し、どの程度の姿勢変化があるのかを示す信号をプロセッサ37に出力する。
そして、地磁気センサ35は、地磁気を検知することにより自装置がどの方向を向いているのかを示す信号をプロセッサ37に出力する。
記憶部36は、例えば、ROM(Read Only Memory)、不揮発性RAM(Random Access Memory)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable ROM)、及びハードディスク等の不揮発性のストレージである。
その記憶部36には、本実施形態に係る情報処理プログラム41が記憶される。
なお、その情報処理プログラム41をコンピュータが読み取り可能な記録媒体45に記録させておき、プロセッサ37に記録媒体45の情報処理プログラム41を読み取らせるようにしてもよい。
そのような記録媒体45としては、例えばCD-ROM(Compact Disc - Read Only Memory)、DVD(Digital Versatile Disc)、及びUSB(Universal Serial Bus)メモリ等の物理的な可搬型記録媒体がある。また、フラッシュメモリ等の半導体メモリやハードディスクドライブを記録媒体45として使用してもよい。これらの記録媒体45は、物理的な形態を持たない搬送波のような一時的な媒体ではない。
更に、公衆回線、インターネット、及びLAN等に接続された装置に情報処理プログラム41を記憶させておき、プロセッサ37が情報処理プログラム41を読み出して実行するようにしてもよい。
また、プロセッサ37は、自装置の各部を制御したり、メモリ38と協働して情報処理プログラム41を実行したりするCPU(Central Processing Unit)等のハードウェアである。
更に、プロセッサ37は、加速度センサ33、ジャイロセンサ34、及び地磁気センサ35の各々の出力に基づいて、情報処理装置20を所持しているユーザの行動の軌跡を把握する。
メモリ38は、DRAM(Dynamic RAM)等のようにデータを一時的に記憶するハードウェアであって、その上に前述の情報処理プログラム41が展開される。
なお、上記した各点P0〜P3における送信器21から出た直後のアドバタイズ信号の電波強度ori_P0〜ori_P3の値もメモリ38に予め格納されている。
<機能構成>
図13は、情報処理装置20の機能構成図である。
図13に示すように、情報処理装置20は、電波強度入力部51、時系列補正処理部52、補正部53、電波強度蓄積部54、及び位置推定部55を備える。これらの各部は、プロセッサ37がメモリ38と協働して情報処理プログラム41を実行することにより実現される。
このうち、電波強度入力部51は、無線部32(図12参照)から入力されたアドバタイズ信号の電波強度を計測する。その計測値obs_P0〜obs_P3は、電波強度入力部51により時系列補正処理部52に通知されると共に、メモリ38に格納される。
時系列補正処理部52は、通知された電波強度obs_P0〜obs_P3がマルチパスフェージングにより減衰している場合にその値を補正し、補正後の電波強度を補正部53に通知する。なお、補正方法の詳細については後述する。また、電波強度を補正する必要がない場合には、時系列補正処理部52を省いてもよい。
一方、補正部53は、メモリ38に格納されている電波強度ori_P0〜ori_P3から電波強度obs_P0〜obs_P3を減じることにより減衰量att_P0〜att_P3を求める。そして、これらの減衰量att_P0〜att_P3がマルチパスフェージングによって本来の値よりも増大している場合に、減衰量att_P0〜att_P3を補正してその値を低下させる。その補正に際しては、後述のように自装置と各送信器21との位置関係等の幾何学的な情報を利用する。
また、そのような補正を実行するために、補正部53は、ビーコン候補クリップ部56、内包判定部57、及び減衰量補正処理部58を有する。
図14〜図16は、ビーコン候補クリップ部56の機能について説明するための模式図である。
図14は、ビーコン候補クリップ部56が使用するリンクノードマップ60の模式図である。
リンクノードマップ60は、自装置と複数の送信器21の各々をノードとし、それらのノードの各々をコスト付きのリンクで接続したマップである。この例では、複数の送信器21の各々を点P0〜P6で表し、情報処理装置20の現在位置を点Aで表している。
また、各点A、P0〜P6を接続するコストをC0〜C15で表す。コストC0〜C15は、例えばその両端にある点同士の物理的な距離である。
リンクノードマップ60の作成方法は特に限定されない。例えば、各点P0〜P6、Aの位置を入力値とするドロネーアルゴリズムによりドロネー図を作成し、これにより得られたドロネー図をリンクノードマップ60として採用し得る。この場合、情報処理装置20の現在位置である点Aの位置は、各送信器21から発せられたアドバタイズ信号の電波強度を利用した適当なアルゴリズムに基づいて予め大雑把に把握しておけばよい。
なお、情報処理装置20よりも計算能力が高いサーバがそのリンクノードマップ60を作成するのが好ましい。
ビーコン候補クリップ部56は、そのリンクノードマップ60において自装置から遠く離れた所にある送信器21を除外する。これにより、除外された送信器21の電波強度の減衰量が減衰量補正処理部58における補正に使用されなくなるため、情報処理装置20の計算負荷を軽減することができる。
図15は、除外の仕方の一例を示す模式図である。
この例では、点Aで示される現在位置にリンクで直接接続されていない点P4、P5にある送信器21を除外している。
図16は、除外の仕方の他の例を示す模式図である。
この例では、点Aを起点としたコストの総和が予め定められた規定値Cth以上となる点P4〜P6にある送信器21を除外している。
なお、リンクノードマップ60を使用せずにビーコン候補クリップ部56が送信器21を除外してもよい。例えば、各点P0〜P6にある送信器21のうちで電波強度obs_P0〜obs_P6が最も強いものをビーコン候補クリップ部56が特定し、特定した送信器21から一定の距離よりも遠い位置にある送信器21をビーコン候補クリップ部56が除外してもよい。
更に、過去の自装置の位置や、自装置が位置するフロアから判断して、自装置と遠く離れており測位に役立たない送信器21をビーコン候補クリップ部56が除外してもよい。
次に、内包判定部57の機能について説明する。
図17は、内包判定部57の機能について説明するための模式図である。
なお、図17においては、図9〜図11におけるのと同様に各送信器21を点P0〜P3で表している。
内包判定部57は、三角形P1P2P3が点P0を内包するかどうかを判定する。なお、判定の対象となる三角形P1P2P3は、複数の点P0〜P3から内包判定部57が任意に選んだ三点で形成される三角形であって、図14〜図16のようにドロネーアルゴリズムにより生成されたものではない。
この判定手法は特に限定されない。本実施形態では、図17に示すように6つのベクトルV1、V2、V3、V4、V5、V6を考える。そして、三つの外積V1×V2、V3×V4、V5×V6の全ての向きが一致する場合に、内包判定部57は、三角形P1P2P3が点P0を内包すると判定する。
再び図13を参照する。
減衰量補正処理部58は、内包判定部57によって三角形P1P2P3が点P0を内包すると判定された場合に、図9〜図11を参照して説明した補正方法に従って減衰量att_P0を補正する。
なお、前述のようにatt_P0の補正はatt_P0>Max(att_P1, att_P2, att_P3)のときに行い、att_P0≦Max(att_P1, att_P2, att_P3)のときにはatt_P0を補正しない。
また、電波強度蓄積部54は、各時刻に取得した各減衰量att_P0〜att_P3の値を減衰量テーブルとしてメモリ37に蓄積する。なお、各減衰量att_P0〜att_P3のうちで後述の減衰量補正処理部58が補正したものがある場合には、電波強度蓄積部54は、補正後の減衰量に基づいて減衰量テーブルを作成する。
図18は、電波強度蓄積部54が作成したある時刻における減衰量テーブル59の模式図である。
図18の例では、各送信器21を一意に特定するIDとして点P0〜P3の添え字0〜3を採用し、これらの点P0〜P3の位置座標と減衰量att_P0〜att_P3の値とが対応付られて減衰量テーブル59に蓄積される。
再び図13を参照する。
位置推定部55は、同一の時刻における各減衰量att_P0〜att_P3の値を利用して、当該時刻における自装置の位置を推定する。
図19は、その推定に使用する相関テーブル60の模式図である。
この相関テーブル60は、位置を推定する際に使用する重みと電波強度の減衰量との相関関係を表したテーブルであって、メモリ37に格納される。なお、その相関テーブル60における重みの値は、実験等により予め定めておく。
図20は、相関テーブル60を利用した位置の推定方法について模式的に示す図である。
図20の例では、点P0〜P2で表される位置に送信器21が設置されており、点Aに情報処理装置20が位置しているものとする。また、情報処理装置20のメモリ38(図12参照)には、これらの点P0〜P0の各々の水平面内での位置座標(X0, Y0)、(X1, Y1)、(X2, Y2)が予め格納されているものとする。
そして、位置推定部55は、自装置が計測した各点P0〜P2の送信器21の減衰量がそれぞれatt_P0〜att_P2であるとき、次の式(2)に従って自装置の位置座標(X, Y)を算出する。
但し、W0〜W2は、それぞれ減衰量att_P0〜att_P2に対応する重みであって、前述の相関テーブル60を参照して求められる。
また、各減衰量att_P0〜att_P2には誤差があるため、式(2)に従って求めた位置座標(X, Y)にもある程度の誤差が含まれる。そこで、その誤差を見込んだ推定円61を設定し、その推定円61内に自装置が位置している可能性が高い位置推定部55が推定するようにしてもよい。
なお、上記のように相関テーブル60から重みを求めるのではなく、電波強度が距離の二乗で減衰するモデルに基づいて重みを算出してもよい。
更に、以下のような簡単な式(3)を用いて、電波強度の減衰量から重みを求めてもよい。
式(3)におけるαとβは適当な定数である。
次に、上記の時系列補正処理部52(図13参照)の機能について説明する。
図21は、時系列補正処理部52が行う処理について模式的に説明するためのグラフであって、その横軸は時間を示し、縦軸は電波強度を示す。
図21における計測値グラフCaは、情報処理装置20が計測した電波強度obs_Pjの時系列のグラフである。また、理想グラフCbは、マルチパスフェージングの影響が全くないときに期待される電波強度obs_Pjのグラフである。
時系列補正処理部52は、マルチパスフェージングの影響が排除されるように点Pjごとに電波強度obs_Pjを補正し、補正後の電波強度obs_Pj_Corを出力する。
図22及び図23は、その補正を行うために時系列補正処理部52が行う処理について示すフローチャートである。
時系列補正処理部52は、このフローチャートに従って処理を行うことにより、以下のように各送信器21のアドバタイズ信号の電波強度obs_Pjを補正する。
なお、このフローチャートは、40msec程度の周期で時系列補正処理部52が各々の送信器21ごとに行う。
以下では、点Pjで表される送信器21が発したアドバタイズ信号の電波強度を補正する場合を例にして説明する。また、このフローチャートを現に実行している回のことを以下では今回と呼び、一周期前にこのフローチャートを実行した回のことを前回とも呼ぶ。
そして、アンテナ31(図12参照)がアドバタイズ信号を受信したことをトリガにして、時系列補正処理部52が以下の各ステップを実行する。
(ステップS1)
まず、前回の電波強度obs_Pjの計測値がメモリ38に存在するか否かを判定する。
(ステップS2)
前回の電波強度obs_Pjの計測値がメモリ38に存在しない場合には、情報処理装置20が今回初めて電波強度obs_Pjを計測したことになる。その場合には、電波強度obs_Pjを補正する判断基準がないため、今回の電波強度obs_Pjの計測値をそのまま補正値obs_Pj_Corとして出力する。
(ステップS3)
ステップS1で前回の電波強度obs_Pjの計測値が存在すると判定された場合に、今回の電波強度obs_Pjが突発的に高くなったか否かを判定する。
例えば、今回の電波強度obs_Pjが前回の電波強度obs_Pjよりも20dB以上高くなったときに、突発的に高くなったと判定し得る。
(ステップS4)
ステップS3で突発的に高くなったと判定された場合には、情報処理装置20の近くにたまたま電波の反射体が存在して電波強度が高くなったと考えられるため、今回の電波強度obs_Pjは信用できない。そこで、今回の電波強度obs_Pjを捨て、前回の電波強度obs_Pjから得られる推定値を補正値obs_Pj_Corとして出力する。
(ステップS5)
ステップS4で突発的に高くなっていないと判定された場合には、一定時間前にメモリ38に蓄積した電波強度obs_Pjの計測値があるか否かを判定する。判定の基準となる一定時間は、例えば10秒程度の時間である。
(ステップS6)
ステップS5で一定時間前に蓄積した電波強度obs_Pjの計測値があると判定された場合には、当該一定時間よりも前における電波強度obs_Pjのピーク情報を削除する。ピーク情報は、ピークの高さや時刻を示す情報であって、メモリ38に格納される。一定時間よりも前のピーク情報で補正をすることはないので、このように削除することでメモリ38(図12参照)の消費量を抑えることができる。
(ステップS7)
前回の電波強度obs_Pjがピークに位置しているか否かを判定する。例えば、前回の電波強度obs_Pjが、前々回と今回のそれぞれの電波強度obs_Pjよりも強い場合に、前回の電波強度obs_Pjがピークに位置していると判定する。
(ステップS8)
ステップS7において前回の電波強度obs_Pjがピークに位置していると判定された場合には、次のように今後の電波強度obs_Pjの変化を推定する。
図24は、その推定方法について説明するための模式図であって、横軸は時間を示し、縦軸は電波強度を示す。また、このフローチャート実行するのはn回目であり、その実行時刻をtnとしている。これらについては後述の各図でも同様である。
図24に示すように、前回(tn-1)の電波強度がピークQ2に位置しており、それよりも前のいずれかの時刻tn-kでピークQ1があったとする。
この場合は、ピークQ1とピークQ2とを結ぶ直線L12を引き、今後(tn、tn+1、tn+2、…)はその直線L12に沿って電波強度obs_Pjが変化すると推定する。
再び図22を参照する。
(ステップS9)
ステップS7において前回の電波強度obs_Pjがピークに位置していないと判定された場合には、次のように今後の電波強度obs_Pjの変化を推定する。
図25は、その推定方法について説明するための模式図である。
この例では、前回以前に実行したステップS8において二つのピークQ3、Q4を結ぶ直線L34が既に引かれているものとする。
この場合、本ステップでは、ピークQ4を過ぎると電波強度obs_Pjが曲線Mに沿って変化すると推定する。曲線Mは、ピークQ4における傾きが直線L34と同じであり、かつその傾きが時間と共に0に近づく曲線である。
これにより、本ステップでは、電波強度obs_Pjの推定値が過度に強くなるのを防ぐ。
次に、図23を参照しながら、時系列補正処理部52が行う各処理の説明を続ける。
(ステップS10)
本ステップでは、過去にピークがあったか否かを判定する。
(ステップS11)
ステップS10においてピークがないと判定された場合には、今回の電波強度obs_Pjの計測値が前回よりも低いか否かを判定する。
(ステップS12)
ステップS11で低いと判定された場合には、マルチパスフェージングによって今回の電波強度obs_Pjが弱くなっている可能性がある。そこで、この場合には前回と今回の各々の電波強度obs_Pjの計測値の平均値を補正値obs_Pj_Corとして出力する。その補正値obs_Pj_Corは、今回の電波強度obs_Pjよりも高い値となるので、マルチパスフェージングの影響を抑えることができる。
(ステップS13)
ステップS11で低くないと判定された場合には、電波強度obs_Pjがマルチパスフェージングの影響を受けていないと考えられる。よって、この場合には、今回の電波強度obs_Pjの計測値をそのまま補正値obs_Pj_Corとして出力する。
(ステップS14)
ステップS10において過去にピークがあったと判定された場合には、次のようにして電波強度obs_Pjの第1の推定値Aを算出する。
図26は、その算出方法について説明するための模式図である。
図26に示すように、本ステップでは、前述の直線L12を平行移動した直線Kを新たに想定し、当該直線Kが前回(tn-1)の計測値を通るようにする。
そして、その直線Kの上の点で今回(tn)に対応する値を第1の推定値Aとする。
(ステップS15)
次に、電波強度obs_Pjの第2の推定値Bを算出する。
その算出方法について前述の図26を参照して説明する。
本ステップでは、直線L12上の点で今回(tn)に対応する値を第2の推定値Bとする。
再び図23を参照する。
(ステップS16)
続いて、今回(tn)の電波強度obs_Pjの計測値が、第1の推定値Aと第2の推定値Bの平均値よりも低いか否かを判定する。
(ステップS17)
ステップS16において低いと判定された場合には、マルチパスフェージングによって今回(tn)の電波強度obs_Pjの計測値が低くなっていると考えられる。よって、本ステップでは前述の第1の推定値Aと第2の推定値Bの平均値を補正値obs_Pj_Corとして出力する。
(ステップS18)
ステップS16において低くないと判定された場合には、電波強度obs_Pjが上昇傾向にあると考えられる。
そこで、本ステップでは、前回のピークQ2(図24参照)を通る直線L12の傾きを増加させることにより、電波強度の変化を増加させる。
(ステップS19)
その後に、今回(tn)の電波強度obs_Pjを補正値obs_Pj_Corとして出力する。
以上により、時系列補正処理部52が行う処理を終える。
図27は、補正値obs_Pj_Corをグラフ化した補正グラフC0の模式図である。これに示されるように、補正グラフC0においては、計測グラフCaと比較して電波強度が過度に低下する期間が少なくなっており、マルチパスフェージングの影響が抑制されている。
このように補正された補正値obs_Pj_Corを利用して測位をすることで、マルチパスフェージングに起因して測位の精度が低下するのを抑制することができる。
なお、時系列補正処理部52の機能は上記に限定されない。
例えば、前述の図22〜図23の処理を行わずに、計測グラフCaのピークを保持するピークホールド回路を時系列補正処理部52として設け、ピークの値を時系列補正処理部52が出力してもよい。
<情報処理方法>
次に、本実施形態に係る情報処理方法について説明する。
図28は、本実施形態に係る情報処理方法について説明するためのフローチャートである。
以下では、点P0〜Pn-1で表されるn個の送信器21が屋内に固定されている場合を想定する。
(ステップS30)
まず、電波強度入力部51が、n個の送信器21の各々のアドバタイズ信号の電波強度obs_P0〜obs_Pn-1を計測する。
(ステップS31)
次に、時系列補正処理部52が、前述の図22及び図23のフローチャートに従って電波強度obs_P0〜obs_Pn-1の各々を補正する。
(ステップS32)
次に、減衰量補正処理部58が減衰量att_P0〜att_Pkを補正する。
その補正は、図9〜図11を参照して説明した補正方法に従って行われる。
例えば、三角形P1P2P3が点P0を内包する場合であって、att_P0>Max(att_P1, att_P2, att_P3)のときは、減衰量補正処理部58はatt_P0 = Max(att_P1, att_P2, att_P3)となるようにatt_P0を補正する。
なお、三角形P1P2P3が点P0を内包する場合であっても、att_P0≦Max(att_P1, att_P2, att_P3)のときは、減衰量補正処理部58はatt_P0の値を補正しない。
また、このように補正の対象となる点Pi(0≦i≦k)は、その周囲の三点で形成される三角形に内包されると内包判定部57により判定された点P0〜Pkである。そして、これらの点P0〜Pkが三角形に内包される旨の通知は、本ステップの実行前に内包判定部57から減衰量補正処理部58に予め通知される。
また、内包判定部57による判定の前には、ビーコン候補クリップ部55によって点P0〜Pn-1で表されるn個の送信器21のうちで自装置から遠く離れたものが予め除外されており、除外されなかった点P0〜Pkが上記のように内包判定部57による判定の対象となる。
(ステップS33)
次に、電波強度蓄積部54が、各時刻におけるatt_P0〜att_Pkの値を示す減衰量テーブル59(図18参照)を作成し、その減衰量テーブル59をメモリ37に格納する。
なお、各減衰量att_P0〜att_PkのうちでステップS32において補正されたものがある場合には、電波強度蓄積部54は、補正後の減衰量を減衰量テーブル59に蓄積する。
(ステップS34)
続いて、位置推定部55が、同一の時刻における各減衰量att_P0〜att_Pkの値を利用して、当該時刻における自装置の位置を推定する。
例えば、位置推定部55は、相関テーブル60(図19参照)から各減衰量att_P0〜att_Pkに対応した重みW0、W2、…Wkを取得し、以下の式(4)に従って自装置の位置座標(X, Y)を算出する。
その後に、位置推定部55は、このように算出した自装置の位置座標をビーコン候補クリップ部56に通知する。そして、ビーコン候補クリップ部56は、通知された自装置の位置座標を利用して、図15や図16のように自装置から遠く離れた所にある送信器21を除外する。
以上により、本実施形態に係る情報処理方法の基本ステップを終える。
上記した情報処理方法によれば、図9〜図11に示したように、マルチパスフェージングによってatt_P0>Max(att_P1, att_P2, att_P3)となっている場合には、att_P0 = Max(att_P1, att_P2, att_P3)となるように減衰量att_P0を補正する。
これにより、att_P0の値からマルチパスフェージングの影響が排除されるため、各減衰量att_P0〜att_P3から算出される情報処理装置20の位置の精度が高まる。
しかも、単に減衰量att_P0を小さくすればよいので、計算資源に乏しい情報処理装置20でも自装置の位置を高精度に求めることができるようになる。
(第2実施形態)
第1実施形態では、図9〜図11を参照して説明したように、Max(att_P1, att_P2, att_P3) = att_P0となるように減衰量補正処理部58が減衰量att_P0を補正した。
本実施形態では、これとは別の方法で補正を行う。
図29〜図32は、本実施形態に係る補正方法について説明するための模式図である。なお、これらの図において第1実施形態で説明したのと同じ要素には第1実施形態におけるのと同じ符号を付し、以下ではその説明を省略する。
本実施形態では、図29に示すように、各点P1〜P3にそれぞれ送信器21が固定されている場合を想定する。そして、これらの送信器21から発せられたアドバタイズ信号が情報処理装置20に届いた時点における減衰量をatt_P1〜att_P3とする。
そして、図30に示すように、三角形P1P2P3に内包される点P0にも送信器21が存在するとする。なお、第1実施形態と同様に、点P0〜P3の各々の送信器21から発せられた直後のアドバタイズ信号の電波強度ori_P0〜ori_P3は全て同じであるとする。また、点Piと点P0との距離をdi0と書く。
このとき、点P0における送信器21から発せられるアドバタイズ信号の電波強度の減衰量の推定値をatt_P0_Estとすると、その推定値att_P0_Estは各距離d10、d20、d30と減衰量att_P1〜att_P3に依存する。
例えば、点P1と点P0との距離d10が小さければ、推定値att_P0_Estはatt_P1に近い値になる。また、点P2と点P0との距離d20が大きければ、推定値att_P0_Estはatt_P2と大きく異なる値になる。
そこで、本実施形態では、以下の式(5)に従って推定値att_P0_Estを推定する。
式(5)によれば、推定値att_P0_Estは、各距離d10、d20、d30の逆数を重みにして各減衰量att_P1〜att_P3を平均した値に等しいということになる。
推定値att_P0_Estは、幾何学的に次のように説明できる。
図30に示すように、各点P1〜P3において高さがobs_P1、obs_P2、obs_P3の仮想的な棒を考え、それらの棒の頂点で張られる三角形Vを考える。また、各点P1〜P3において高さがそれぞれobs_P1+att_P1、obs_P2+att_P2、obs_P3+att_P3の仮想的な棒を考え、それらの棒の頂点で張られる三角形Wを考える。
このとき、点P0から上に延びる直線Zと三角形Vとの交点p1と、当該直線Zと三角形Wとの交点p2との距離が推定値att_P0_Estとなる。
図31は、点P0に設置された送信器21から発せられたアドバタイズ信号の電波強度の減衰量att_P0を情報処理装置20が計測したときの模式図である。なお、情報処理装置20の位置は特に限定されず、三角形P1P2P3の内側と外側のどこに情報処理装置20が位置していてもよい。
図31の例では、減衰量att_P0が推定値att_P0_Estよりも大きい。この場合にはマルチパスフェージングによって減衰量att_P0が大きくなったと考えられる。
そこで、この場合には、図32に示すように、推定値att_P0_Estに減衰量att_P0が等しくなるように、減衰量補正処理部58が減衰量att_P0の値を減じる補正する。
なお、減衰量att_P0が推定値att_P0_Est以下の場合には、減衰量補正処理部58は減衰量att_P0の補正を行わない。
以上説明した本実施形態によれば、各距離d10、d20、d30と減衰量att_P1〜att_P3とに基づいて減衰量att_P0を補正するため、減衰量att_P1〜att_P3のみを利用する場合よりも補正の精度が向上する。
なお、本実施形態では上記のように三角形P1P2P3に点P0が内包される場合を例にして説明したが、本実施形態はこれに限定されない。
図33は、本実施形態の別の例に係る補正方法について説明するための模式図である。
この例では、各点P0、P1、P2が一直線Lの上に並んでいる場合を想定する。
この場合は、式(5)との類推により、次の式(6)に従って推定値att_P0_Estを推定する。
そして、この推定値att_P0_Estよりも減衰量att_P0が大きい場合には、att_P0_Est = att_P0となるように減衰量補正処理部58が減衰量att_P0を補正する。
(第3実施形態)
本実施形態では、以下のようにリンクノードマップを利用して減衰量を補正する。
図34は、本実施形態に係る情報処理装置20の機能構成図である。
なお、図34において、第1実施形態と同じ要素には第1実施形態におけるのと同じ符号を付し、以下ではその説明を省略する。
図34に示すように、本実施形態においては、第1実施形態で説明した内包判定部57(図13参照)を補正部53が備えてない。これ以外の機能構成は本実施形態は第1実施形態と同様である。
図35は、本実施形態において補正部53が使用するリンクノードマップ60の模式図である。
このリンクノードマップ60は、ビーコン候補クリップ部56が使用するのと同様であって、点P0、P1で表される各々の送信器21と点Aにある情報処理装置20とをコスト付きのリンクで接続したマップである。
図36は、本実施形態における補正方法を説明するための模式図である。
この例では、点Aと点P0とがリンクL0により接続され、かつ点P0と点P1とがリンクL1で接続されている場合を想定する。
なお、各リンクL0、L1の各々のコストC0、C1は、それぞれリンクL0、L1の物理的な長さでもよいし、一定値「1」に固定されていてもよい。これらのコストC0、C1は予めメモリ38に格納されている。
この場合、点P0が点P1に近くなると、点P0における送信器21が発したアドバタイズ信号の電波強度の減衰量はP1におけるそれに近くなる。また、点P0が点Aに近くなると、点P0における送信器21が発したアドバタイズ信号の電波強度の減衰量は0に近くなる。
そこで、本実施形態では、減衰量補正処理部58がメモリ38を参照して各コストC0、C1を求め、以下の式(7)に従って点P0における送信器21が発したアドバタイズ信号の電波強度の減衰量の推定値att_P0_Estを推定する。
式(7)のように各コストC0、C1の和でコストC0を除した値C0/(C0+C1)に減衰量att_P1を乗じることにより、各リンクのコストを加味して推定値att_P0_Estを推定できる。
図37は、その推定値att_P0_Estよりも実際の減衰量att_P0が大きい場合の模式図である。この場合は、マルチパスフェージングによって減衰量att_P0が実際よりも大きくなっていると考えられる。
そこで、この場合は、図38に示すように、att_P0=att_P0_Estとなるように減衰量補正処理部58が減衰量att_P0を減じる補正をする。
なお、実際の減衰量att_P0が推定値att_P0_Est以下の場合には、減衰量att_P0はマルチパスフェージングの影響を受けていないと考えられるので、この場合には減衰量補正処理部58は減衰量att_P0を補正しない。
以上説明した本実施形態によれば、リンクのコストを加味して減衰量att_P0を補正するため、減衰量att_P1のみを利用して補正する場合よりも補正の精度を上げることができる。
以上説明した各実施形態に関し、更に以下の付記を開示する。
(付記1) 複数の送信器のうちの一の前記送信器が他の前記送信器よりも自装置に近い場合であって、前記一の送信器の電波強度の減衰量が前記他の送信器の電波強度の減衰量よりも大きいときに、前記一の送信器の前記減衰量を減じる補正をする補正部と、
補正後の前記減衰量を利用して自装置の位置を推定する位置推定部と、
を有する情報処理装置。
(付記2) 前記複数の送信器のうちの三つを頂点とする三角形に前記一の送信器が内包される場合に、
前記補正部は、前記三つの送信器の各々の前記減衰量のうちの最大値に等しくなるように前記一の送信器の前記減衰量を補正することを特徴とする付記1に記載の情報処理装置。
(付記3) 前記複数の送信器のうちの三つを頂点とする三角形に前記一の送信器が内包される場合に、
前記補正部は、前記三つの送信器と前記一の送信器との各々の距離の逆数を重みにして前記三つの送信器の各々の前記減衰量を平均した値に等しくなるように前記一の送信器の前記減衰量を補正することを特徴とする付記1に記載の情報処理装置。
(付記4) 前記補正部は、
自装置と前記複数の送信器の各々をコスト付きのリンクで接続したリンクノードマップを利用することにより、前記コストに基づいて前記一の送信器の前記減衰量を補正することを特徴とする付記1に記載の情報処理装置。
(付記5) 前記補正部は、
自装置と前記一の送信器とを接続する前記リンクの第1のコストと、前記一の送信器と前記他の送信器とを接続する前記リンクの第2のコストとを求め、
前記第1のコストと前記第2のコストとの和で前記第1のコストを除した値に前記一の送信器の前記減衰量を乗ずることにより、当該減衰量を補正することを特徴とする付記4に記載の情報処理装置。
(付記6) 前記補正部は、自装置を起点とした前記コストの総和が規定値以上となる前記送信器を除外することにより、前記除外した送信器の前記減衰量を前記補正に使用しないことを特徴とする付記4に記載の情報処理装置。
(付記7) 前記補正部は、前記リンクで自装置と直接接続されていない前記送信器を除外することにより、前記除外した送信器の前記減衰量を前記補正に使用しないことを特徴とする付記4に記載の情報処理装置。
(付記8) 情報処理装置に、
複数の送信器のうちの一の前記送信器が他の前記送信器よりも前記情報処理装置に近い場合であって、前記一の送信器の電波強度の減衰量が前記他の送信器の電波強度の減衰量よりも大きいときに、前記一の送信器の前記減衰量を減じる補正をし、
補正後の前記減衰量を利用して前記情報処理装置の位置を推定する、
処理を実行させるための情報処理プログラム。
(付記9) 情報処理装置により実行される情報処理方法であって、前記情報処理装置が、
複数の送信器のうちの一の前記送信器が他の前記送信器よりも前記情報処理装置に近い場合であって、前記一の送信器の電波強度の減衰量が前記他の送信器の電波強度の減衰量よりも大きいときに、前記一の送信器の前記減衰量を減じる補正をし、
補正後の前記減衰量を利用して情報処理装置の位置を推定する、
ことを特徴とする情報処理方法。