携帯端末の測位方法
【課題】固定した場所に設置されたICタグを読み取ることにより、端末の位置を知るという方法では、位置精度が低下する。
【解決手段】携帯端末本体にもICタグを設置して、携帯端末同士の位置関係を取得できるようにする。固定したICタグとの位置関係に加えて、移動する携帯端末同士の位置関係を考慮して分析することにより、携帯端末の位置をより高い精度で特定する。また、携帯端末における「通話中」「画面操作中」「待ち受け中」「マナーモード」「圏外」などの状態を考慮して測位精度を高める。
【解決手段】携帯端末本体にもICタグを設置して、携帯端末同士の位置関係を取得できるようにする。固定したICタグとの位置関係に加えて、移動する携帯端末同士の位置関係を考慮して分析することにより、携帯端末の位置をより高い精度で特定する。また、携帯端末における「通話中」「画面操作中」「待ち受け中」「マナーモード」「圏外」などの状態を考慮して測位精度を高める。
【発明の詳細な説明】
【技術分野】
【0001】
機器、特に携帯端末の位置を測位する技術に関する。
【背景技術】
【0002】
端末の位置を知る方法は多数存在する。屋外ではGPSが普及しているが、屋内ではまだ標準的な測位手段がない。屋外の場合も、GPSの位置精度を改善したいという要求がある。
【0003】
また、固定された無線送信機から信号を受信し、三角測量法などの複数の計算方法を用いて暫定的な予測位置を複数計算し、その予測位置と無線通信環境に関する参照情報とに基づいて、高精度の予測位置を計算する方法がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−215258号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
測位手段の1つとして、ICタグ読み取り機能がある。所定の位置の(例えば固定した)場所に設置されたICタグを読み取ることにより、端末の位置を知るという方法である。この場合、通信距離と位置精度が相反するという課題がある。通信距離の短いICタグを用いると、ICタグに近接させないとICタグを読み取ることができない。ICタグを大量に設置しなければならないという問題もある。通信距離の長いICタグを用いると、遠くから読める分だけ、位置精度が低下してしまう。
【0006】
本発明の目的は、携帯端末の位置を精度よく取得することにある。
【課題を解決するための手段】
【0007】
携帯端末本体にもICタグを設置して、携帯端末同士の位置関係を取得できるようにする。所定の位置に設置されたICタグとの位置関係に加えて、移動する携帯端末同士の位置関係を考慮して分析することにより、携帯端末の位置をより高い精度で特定することができる。携帯端末が多数存在するほど、位置精度を高められるという特徴がある。
【0008】
また、携帯端末は「通話中」「画面操作中」「待ち受け中」「マナーモード」「圏外」などの状態を持つ。それぞれの状態によって、ICタグの通信距離も異なってくる。この点を考慮すれば、さらに測位精度を高めることができる。
【発明の効果】
【0009】
携帯端末本体にもICタグを設置することで携帯端末装置の測位精度を向上することができる。
【図面の簡単な説明】
【0010】
【図1】システムの全体構成
【図2】端末測位サーバの構成
【図3】端末受信テーブルの構成
【図4】端末情報テーブルの構成
【図5】固定ICタグテーブルの構成
【図6】距離関数テーブルの構成
【図7】待ち受け状態ごとの距離関数の例
【図8】端末位置テーブルの構成
【図9】位置計算の概要と計算方法
【図10】端末位置計算装置の構成
【図11】位置の計算手順
【発明を実施するための形態】
【0011】
図1は、システムの全体構成を示している。端末測位サーバ101は、携帯端末102から測位データを受け取り、端末同士の関係を考慮して、端末が存在する確率の最も高い端末位置を計算する。計算結果は、携帯端末から参照することができる。携帯端末は、自分自身のICタグ104とICタグ読み取り装置105を備えている。携帯端末102のICタグ104は、他の携帯端末から読み取ることができる。ICタグ読み取り装置105は、通信範囲に存在する他の端末のICタグと固定ICタグ103を読み取る。固定ICタグ103は、名称の通り固定されており、設置場所は公開されているものとする。
【0012】
図2は、端末測位サーバ101の構成を示している。端末受信装置207は、携帯端末102と通信して、携帯端末から測位データを収集して、端末受信テーブル201に格納する。端末位置計算装置206は、端末受信テーブル201の端末測位データを元に、端末情報テーブル202と固定ICタグテーブル203と距離関数テーブル204のデータを参照しながら端末の位置の推定値の計算を行い、それぞれの端末の最も確率の高い現在位置を算出して、その結果を端末位置参照テーブル205に格納する。携帯端末102は、端末位置参照装置208と通信して、端末の位置を取得することができる。
【0013】
図3は、端末受信テーブル201の構成を示している。端末受信テーブル201は、各端末がタグから信号を受信したときの状態がそれぞれ格納されている複数の端末受信レコード301の集合体である。端末受信レコード301は、タグを読み取った端末の端末ID、読み取り時刻、待ち受け状態、読み取りタグID、読み取り受信強度を格納している。端末IDは、携帯端末に付与された一意な識別子である。読み取り時刻は、携帯端末がICタグを読み取った時刻を示す。待ち受け状態は、携帯端末がICタグを読み取ったときの端末の状態を示す。通常は「通話中」「画面参照中」「待ち受け中」「マナーモード」「通話圏外」の5つのいずれかの状態をとる。読み取りタグIDは、携帯端末が読み取ったICタグのID番号である。ICタグは、携帯電話に貼付されているもの(端末ICタグ)と、壁や机などに固定物に貼付されているもの(固定ICタグ)がある。複数のICタグを同時に読み取った場合は、端末受信レコード301が読み取り数分だけ格納される。読み取り受信強度は、ICタグを読み取ったときの受信強度を示す。一般にICタグが近いほど受信強度は強くなる。
【0014】
図4は、端末情報テーブル202の構成を示す。端末情報テーブル202は、それぞれの端末に関する情報が格納されている複数の端末情報レコード401の集合体である。端末情報レコード401は、端末ID、端末タグID、読み取り装置種別、利用者情報等の端末個別の情報を格納している。端末IDは、主キーであり端末を一意に識別する。端末タグIDは、携帯端末に貼付されているICタグ104のID番号である。端末タグIDも一意である。読み取り装置種別は、携帯端末に搭載されているICタグ読み取り装置105の種別を示している。端末読み取り装置105の性能によって、ICタグと携帯端末の距離が同じでも、受信強度は異なってくる。
【0015】
図5は、固定ICタグテーブル203の構成を示している。固定ICタグテーブル203は、それぞれの固定ICタグに関する情報が格納されている複数の固定ICタグレコード501の集合体である。固定ICタグレコード501は、タグID、タグ設置位置、タグ種別を格納している。タグIDは、固定ICタグ103に格納されており、一意である。タグ設置位置は、固定ICタグ103が設置されている位置を示す情報である。屋外の場合は、緯度経度などの座標が一般的である。屋内の場合は建物内の相対的な座標で表現することが多い。どの表現でも携帯端末の位置を計算できるが、用途に応じた適切な表現を選択すれば、位置計算の負荷を低減できる。タグ種別は、文字通りタグの種別(機種)を示す。タグの種別によっては、タグからの同じ距離でも受信強度が異なる場合がある。必要に応じて計算の補正に利用する。
【0016】
図6は、距離関数テーブル204の構成を示している。距離関数テーブル204は、タグから信号を受信したときの端末の状態に応じた各種距離関数がそれぞれ格納されている複数の距離関数レコード601の集合体である。距離関数レコード601は、読み取り装置種別、待ち受け状態、タグから受信した信号の受信強度、及びこれらのパラメータに対応した距離関数Pi(X)(iは距離関数の識別子、Xは自身の端末と相手端末又は固定のタグとの間の距離)を格納している。端末位置計算装置206は、端末受信レコード301から、読み取り装置種別、待ち受け状態、読み取り受信強度を取り出し、距離関数テーブル204の検索を行い、一致するレコードの距離関数を使って位置計算を行う。距離関数は、指定された条件(受信強度、端末読み取り装置種別、待ち受け状態)における、携帯端末とICタグとの距離の確率分布を示している。受信強度が強ければ、端末とICタグは近くに存在する確率が高く、近くにピークを持つ関数となり、受信強度が弱ければ、遠くにピークを持つ関数となる。読み取り装置の種別(読み取り装置の機種に応じた、タグからの信号の受信性能)も影響する。読み取り装置の出力が強ければ、同じ受信強度であっても、遠くにある可能性が高い。距離関数は、待ち受け状態によっても影響を受ける。影響の詳細は以下図7で述べる。
【0017】
図7は、待ち受け状態ごとの距離関数の一例を示している。関数701は、端末が通話状態であるときの距離関数の一例を示している。端末が通話中であれば、端末が頭の位置に掲げられて居る可能性が高く、見通しの良い条件にあると考えられる。それぞれの受信状態と相手の位置とが異なる受信強度が同じであれば、端末とICタグの距離は離れている確率が高い。関数702は画面操作中状態であるときの距離関数の一例を示している。利用者は端末の画面を見ているので、通話状態に比べると、端末の高さは低く、受信強度も通話状態より弱くなると考えられる。通話状態に比べると近い距離にピークを持つ距離関数となる。関数703は、待ち受け状態であるときの距離関数の一例を示している。待ち受け状態では、端末は利用者のポケット等に収まっている可能性が高い。端末が身体に密着していると、導体である身体の影響を受けて、電波の受信強度が低下すると考えられる。画面操作中状態よりも、近い距離にピークを持つ関数になると予想される。関数704は、マナーモードであるときの距離関数の一例を示している。マナーモードに設定されているということは、利用者は端末を使えないか又は使う意思がないことを意味している。端末は鞄の中などに収容されている可能性が高いと考えられ、受信条件としてはかなり悪い状況にあると考えられる。距離関数は近くにピークを持つ形になると予想される。
【0018】
距離関数は、シミュレーション等によって論理計算で作成することもできるし、実測したデータを元に作成しても良い。利用される場所がある程度限定されている場合は、その場所で実測を行うが最も確実で精度も高くなる。
【0019】
図8は、端末位置テーブル205の構成を示している。端末位置テーブル205は、それぞれの端末の計測時刻における位置に関する情報が格納されている端末位置レコード801の集合体である。端末位置レコード801は、端末ID、計測時刻、端末位置を格納している。これらは、端末位置計算装置206が計算した結果である。携帯端末102は、端末位置参照装置208を経由して、端末位置レコード205を参照することができる。
【0020】
図9は、位置計算の概念と計算方法を示している。環境には固定ICタグ901と902が存在している。携帯端末903は固定タグ901が読み取れており、通信範囲906の中の何処かに位置している。携帯端末904は固定タグ902が読み取れており、通信範囲907の中の何処かに位置している。固定ICタグの情報だけでは、これ以上詳しい位置は判らない。携帯端末903と904はお互いのICタグが読み取れていれば、相対的な距離が通信範囲912内にあることが判る。この事実を考慮すると、携帯端末が905のような位置にあることは有り得ず、図中の904の位置以外に有り得ないことが判る。携帯端末は移動するため、直接的に位置を決めることはできないが、それでも端末同士の距離関係を利用して、携帯端末の位置を絞り込むことはできる。この方式を使う場合、より多くの端末がお互いの位置情報を提供し合うことにより、自らの端末の位置精度を高めることができる。
【0021】
式910は、端末間の距離で決まる確率と端末―固定タグ間の距離で決まる確率との和で表され、端末位置の推定値を求めるための確率Pの具体的な計算式である。確率関数Pij及びPikは、受信強度や待ち受け状態に応じて決まる。他の携帯端末との位置関係から得られる確率と、固定タグとの位置関係から得られる確率を合計して、全体の確率を得ることができる。Xiはベクトルであり、各端末の場所を示している。Xiの値をいろいろ変化させて、全体の確率Pが最大となるXiを計算する。関数が最大値をとる条件を求めるという計算は一般的なものであり、高速な計算機を用いれば数値演算ライブラリで容易に実行できる。全体の確率Pが最大となるXiの具体的な計算方法は後述する。
【0022】
図10は、端末位置計算装置206の構成を示している。入出力回路1003は、各テーブルと作業メモリ1004の間でデータの転送を行う。演算回路1002は、数値計算のアルゴリズムに従って、作業メモリ1004上のデータを使って計算を実行する。制御回路1001は、全体の処理の制御を行う。作業メモリ1004は、文字通り計算の途中データを保持するための記憶装置である。計算がすべて終了すると全データは消去される。端末位置配列1005は、計算中の端末の位置を保持しておく配列である。図9の式910で示される確率Pが最大となるようにして求めた端末位置の推定値を最終結果とする。端末−端末距離関数配列1006は、端末−端末間の確率を計算するときに使う距離関数を保持する。確率計算の最初に入力値として設定され、計算中に変化することはない。端末−固定タグ距離関数配列1007は、端末−固定タグ間の確率を計算するときに使う距離関数を保持する。確率計算の最初に入力値として設定され、計算中に変化することはない。
【0023】
図11は、位置を計算する手順を示している。全体的な手順としては、処理1101から1111で、計算に必要な情報を作業メモリに設定し、処理1112で実際に計算を行う流れとなる。まず、計算の入力データを設定する。端末位置配列1005の端末位置の項目はこれから求める項目であるので、それを除いた項目を設定する。端末IDは端末受信レコードから取得する。固定ICタグの位置は固定ICタグテーブルから取得する。距離関数は、端末の読み取り装置の種別や受信強度を元に、距離関数テーブルから選択する。ここまでで、計算に必要な情報はすべて揃う。処理1112で、実際に端末位置配列1005の端末位置の項目を計算する。計算のアルゴリズムはいろいろあるが、例えば、数学的アルゴリズムに基づいた計算以外にも端末位置を少しずつ変えながら確率が最大となる位置を求めるという手法もある。計算が終わったら、計算結果を端末位置テーブルに出力する。以下で手順の詳細を述べる。
【0024】
まず処理1101で、端末受信テーブル201を走査して、端末IDごとに、最新の読み取り時刻を持つレコードのみを抽出する。携帯端末は移動するので、読み取り時刻が一定以上古いデータは既に位置が変わっている可能性が高いので取り除く。次に処理1102で、抽出したレコードを元に、端末位置配列1005を作成する。この時点で、埋まっている項目は端末IDのみで、端末位置は空である。
【0025】
処理1003で、抽出した端末受信レコード301毎に以下の処理を繰り返す。すべてのレコードの処理が終わったら、処理1112に移し実際に位置計算を行う。
【0026】
端末受信レコードの読み取りタグIDによって処理が異なる。処理1104で、端末情報テーブル202を検索して、端末IDと読み取りタグIDとが一致するレコードを捜す。自身の端末IDと相手の端末IDは判っているので、条件に応じた距離関数を選択する。端末種別、待ち受け状態、受信強度をキーに距離関数テーブル204を検索して、該当する距離関数を取得する。端末−端末距離関数配列1006に検索した距離関数を追加して、処理1103に戻す。
【0027】
端末情報テーブルの端末IDと読み取りタグIDとが一致しない場合は、処理1108で固定ICタグテーブル203を検索して、タグIDと読み取りタグIDとが一致するレコードを捜す。一致するレコードがあれば、読み取ったタグは固定ICタグである。端末IDと固定ICタグの位置は判っているので、条件に応じた距離関数を選択する。読み取り装置種別、待ち受け状態、受信強度をキーに距離関数テーブル204を検索して、該当する距離関数を取得する。端末−固定ICタグ距離関数配列1107に取得した距離関数を追加して、処理1103に移す。
【0028】
端末情報テーブル202にも固定ICタグテーブル203にも含まれていない場合は、本システムと関係ないICタグを読み取ったものと判断して読み飛ばし、処理1103に戻す。
【0029】
ここまでで、端末位置配列1005、端末−端末距離関数配列1006、端末−固定タグ距離関数配列1007は、端末位置を除いてすべて埋まっている。あとは、数値計算を行って端末位置を求めるだけである。
【0030】
処理1112で端末位置の計算を行う。簡単にやるならば、端末位置の値を少しずつ変化させながら確率計算を何度も繰り返し、確率が最大となる端末位置を求めれば良い。ただし、この方法は簡単で単純であるがゆえ、効率が悪く処理時間がかかるという問題がある。端末の台数が少ないうちは良いが、端末が増えると計算時間が増大してしまう。既存の数値演算ライブラリを用いて、確率が極値をとる条件を計算する方が効率的である。関数の極値を求める演算は、一般的な処理であり、各種のアルゴリズムが開発されている。商業製品になっている数値演算ライブラリもある。端末の台数や要求されるレスポンスを考慮して、適切な数値演算ライブラリを採用すれば良い。
【0031】
計算が終わったら、処理1113で、計算結果を端末位置テーブル205に書き出す。これで端末の位置を参照することができるようになる。
(端末位置の推定値を計算する際の具体的な手順、及び迅速な計算のための近似方法)
ここで、図9の式910、即ち、端末間の距離で決まる確率と端末―固定タグ間の距離で決まる確率との合計で表され、端末位置の推定値を求めるための確率Pを用いて、n個の端末及びm個の固定タグがある場合における、端末位置の推定値を求める具体的な手順を以下に述べる。
【0032】
図9に示すPijは端末iが端末jからの信号を受信する時の距離関数、Pjiは端末jが端末iからの信号を受信する時の距離関数(一般にPijとは異なる)、Pikは端末iが固定タグkからの信号を受信する時の距離関数であり、種々の条件に応じた距離関数の例は図7に示されている。距離関数Pij、Pji、Pikは、距離の値を変数とする確率関数であり、図7に示す何れの関数も、関数と座標軸とで囲まれる領域の面積は1である。
【0033】
式910で表される確率の合計Pが最大値になる条件から、端末iの位置座標の推定値が式920〜924のように求まる。式920、921を、それぞれn個のX座標値、n個のY座標値を変数とする多元一次連立方程式と考えると、係数行列の対角要素の係数は、各非対角要素を複数個加算したものに相当するので、それぞれの係数行列は対角優位行列とみなされる。このような係数行列の特徴を考慮して、下記の逐次近似方法により、n個のX座標値及びn個のY座標値を求める。
(1)端末iの条件に応じて、図7に示すような距離関数を選択する。
(2)逐次近似のためのステップ数NをN=1とする。
(3)端末i以外の端末jについてN−1ステップ(前のステップ)で求めた座標値を用いて、式920及び921の右辺を計算することにより、Nステップにおける端末iの座標値を求める。(この計算を全ての端末(i=1〜n)について行う。)
(4)全ての端末(i=1〜n)について、Nステップで求められた座標値とN−1ステップで求められた座標値との差の絶対値を求める。これらの絶対値の中で最大となる値が所定の誤差ε(端末位置の推定値の誤差)よりも小さければ、計算を終了し、Nステップで求めた座標値を端末位置の推定値とする。これらの絶対値の中で最大となる値が所定の誤差εよりも小さくない場合は、逐次近似における解が収束していないと判断し、Nに1を加算してN=N+1として、再度、上記(3)の処理を行う。上記の逐次近似計算における座標値の初期値(0ステップの座標値)としては、前回の上記計算で求めた端末位置の推定値、あるいは別の手段で求めた端末位置などを用いる。
【0034】
上記の逐次近似計算における(3)の処理で、図9の式920, 921を計算する際に、式922, 923に示すように、距離関数Pij、Pji、Pikそのものではなく、距離関数の微分係数を計算する必要がある。一方、図7に示した距離関数の変化からわかるように、距離関数の極大点の近傍以外では、距離関数の微分係数はほぼ一定である。即ち、距離関数が極大となる距離uよりも小さい領域では微分係数は正の値a(a>0)であり、距離uよりも大きく、かつ距離関数の定義域の上限vよりも小さい領域では微分係数は負の値−b(b>0)となる。従って、(3)の処理における図9の式920, 921の計算に必要な式922, 923に含まれる距離関数の微分係数は、a,b,u、vの4つのパラメータで表現される階段関数(0<r<uではa、u<r<vでは−b)で近似できる。但し、距離関数は、確率関数でもあることから、関数と座標軸とで囲まれる領域の面積が1となる条件から、パラメータの間に、b(v2−u2)/2−au2/2=1が成り立つ。また、上記の階段関数をガウス記号[ ]([X]はXを越えない最大の整数)を用いて距離rの関数として表すとa−(a+b)[r/u]+b[r/v]となる。
【0035】
通常、それぞれの携帯端末の位置は頻繁に変化しているので、実際の端末位置と推定値との乖離を少なくするためには、図9に示した式を用いた計算を迅速に実行する必要がある。従って、上記のように、端末位置の推定の計算に必要な距離関数の微分係数を、計算が容易な階段関数で近似することにより、端末位置の推定が迅速に行える。また、図6に示す距離関数テーブル204に距離関数を登録する際に、座標値ごとの距離関数又はその微分係数の値(数十個程度のデータの組)を保持するよりも、上記のように、端末位置の推定の計算に必要な距離関数の微分係数を近似した階段関数の4つのパラメータa,b,u、vを保持した方が保持すべきデータ量を少なくできる。
【符号の説明】
【0036】
101 端末測位サーバ
102 携帯端末
103 端末ICタグ
104 ICタグ読み取り装置
105 固定ICタグ。
【技術分野】
【0001】
機器、特に携帯端末の位置を測位する技術に関する。
【背景技術】
【0002】
端末の位置を知る方法は多数存在する。屋外ではGPSが普及しているが、屋内ではまだ標準的な測位手段がない。屋外の場合も、GPSの位置精度を改善したいという要求がある。
【0003】
また、固定された無線送信機から信号を受信し、三角測量法などの複数の計算方法を用いて暫定的な予測位置を複数計算し、その予測位置と無線通信環境に関する参照情報とに基づいて、高精度の予測位置を計算する方法がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−215258号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
測位手段の1つとして、ICタグ読み取り機能がある。所定の位置の(例えば固定した)場所に設置されたICタグを読み取ることにより、端末の位置を知るという方法である。この場合、通信距離と位置精度が相反するという課題がある。通信距離の短いICタグを用いると、ICタグに近接させないとICタグを読み取ることができない。ICタグを大量に設置しなければならないという問題もある。通信距離の長いICタグを用いると、遠くから読める分だけ、位置精度が低下してしまう。
【0006】
本発明の目的は、携帯端末の位置を精度よく取得することにある。
【課題を解決するための手段】
【0007】
携帯端末本体にもICタグを設置して、携帯端末同士の位置関係を取得できるようにする。所定の位置に設置されたICタグとの位置関係に加えて、移動する携帯端末同士の位置関係を考慮して分析することにより、携帯端末の位置をより高い精度で特定することができる。携帯端末が多数存在するほど、位置精度を高められるという特徴がある。
【0008】
また、携帯端末は「通話中」「画面操作中」「待ち受け中」「マナーモード」「圏外」などの状態を持つ。それぞれの状態によって、ICタグの通信距離も異なってくる。この点を考慮すれば、さらに測位精度を高めることができる。
【発明の効果】
【0009】
携帯端末本体にもICタグを設置することで携帯端末装置の測位精度を向上することができる。
【図面の簡単な説明】
【0010】
【図1】システムの全体構成
【図2】端末測位サーバの構成
【図3】端末受信テーブルの構成
【図4】端末情報テーブルの構成
【図5】固定ICタグテーブルの構成
【図6】距離関数テーブルの構成
【図7】待ち受け状態ごとの距離関数の例
【図8】端末位置テーブルの構成
【図9】位置計算の概要と計算方法
【図10】端末位置計算装置の構成
【図11】位置の計算手順
【発明を実施するための形態】
【0011】
図1は、システムの全体構成を示している。端末測位サーバ101は、携帯端末102から測位データを受け取り、端末同士の関係を考慮して、端末が存在する確率の最も高い端末位置を計算する。計算結果は、携帯端末から参照することができる。携帯端末は、自分自身のICタグ104とICタグ読み取り装置105を備えている。携帯端末102のICタグ104は、他の携帯端末から読み取ることができる。ICタグ読み取り装置105は、通信範囲に存在する他の端末のICタグと固定ICタグ103を読み取る。固定ICタグ103は、名称の通り固定されており、設置場所は公開されているものとする。
【0012】
図2は、端末測位サーバ101の構成を示している。端末受信装置207は、携帯端末102と通信して、携帯端末から測位データを収集して、端末受信テーブル201に格納する。端末位置計算装置206は、端末受信テーブル201の端末測位データを元に、端末情報テーブル202と固定ICタグテーブル203と距離関数テーブル204のデータを参照しながら端末の位置の推定値の計算を行い、それぞれの端末の最も確率の高い現在位置を算出して、その結果を端末位置参照テーブル205に格納する。携帯端末102は、端末位置参照装置208と通信して、端末の位置を取得することができる。
【0013】
図3は、端末受信テーブル201の構成を示している。端末受信テーブル201は、各端末がタグから信号を受信したときの状態がそれぞれ格納されている複数の端末受信レコード301の集合体である。端末受信レコード301は、タグを読み取った端末の端末ID、読み取り時刻、待ち受け状態、読み取りタグID、読み取り受信強度を格納している。端末IDは、携帯端末に付与された一意な識別子である。読み取り時刻は、携帯端末がICタグを読み取った時刻を示す。待ち受け状態は、携帯端末がICタグを読み取ったときの端末の状態を示す。通常は「通話中」「画面参照中」「待ち受け中」「マナーモード」「通話圏外」の5つのいずれかの状態をとる。読み取りタグIDは、携帯端末が読み取ったICタグのID番号である。ICタグは、携帯電話に貼付されているもの(端末ICタグ)と、壁や机などに固定物に貼付されているもの(固定ICタグ)がある。複数のICタグを同時に読み取った場合は、端末受信レコード301が読み取り数分だけ格納される。読み取り受信強度は、ICタグを読み取ったときの受信強度を示す。一般にICタグが近いほど受信強度は強くなる。
【0014】
図4は、端末情報テーブル202の構成を示す。端末情報テーブル202は、それぞれの端末に関する情報が格納されている複数の端末情報レコード401の集合体である。端末情報レコード401は、端末ID、端末タグID、読み取り装置種別、利用者情報等の端末個別の情報を格納している。端末IDは、主キーであり端末を一意に識別する。端末タグIDは、携帯端末に貼付されているICタグ104のID番号である。端末タグIDも一意である。読み取り装置種別は、携帯端末に搭載されているICタグ読み取り装置105の種別を示している。端末読み取り装置105の性能によって、ICタグと携帯端末の距離が同じでも、受信強度は異なってくる。
【0015】
図5は、固定ICタグテーブル203の構成を示している。固定ICタグテーブル203は、それぞれの固定ICタグに関する情報が格納されている複数の固定ICタグレコード501の集合体である。固定ICタグレコード501は、タグID、タグ設置位置、タグ種別を格納している。タグIDは、固定ICタグ103に格納されており、一意である。タグ設置位置は、固定ICタグ103が設置されている位置を示す情報である。屋外の場合は、緯度経度などの座標が一般的である。屋内の場合は建物内の相対的な座標で表現することが多い。どの表現でも携帯端末の位置を計算できるが、用途に応じた適切な表現を選択すれば、位置計算の負荷を低減できる。タグ種別は、文字通りタグの種別(機種)を示す。タグの種別によっては、タグからの同じ距離でも受信強度が異なる場合がある。必要に応じて計算の補正に利用する。
【0016】
図6は、距離関数テーブル204の構成を示している。距離関数テーブル204は、タグから信号を受信したときの端末の状態に応じた各種距離関数がそれぞれ格納されている複数の距離関数レコード601の集合体である。距離関数レコード601は、読み取り装置種別、待ち受け状態、タグから受信した信号の受信強度、及びこれらのパラメータに対応した距離関数Pi(X)(iは距離関数の識別子、Xは自身の端末と相手端末又は固定のタグとの間の距離)を格納している。端末位置計算装置206は、端末受信レコード301から、読み取り装置種別、待ち受け状態、読み取り受信強度を取り出し、距離関数テーブル204の検索を行い、一致するレコードの距離関数を使って位置計算を行う。距離関数は、指定された条件(受信強度、端末読み取り装置種別、待ち受け状態)における、携帯端末とICタグとの距離の確率分布を示している。受信強度が強ければ、端末とICタグは近くに存在する確率が高く、近くにピークを持つ関数となり、受信強度が弱ければ、遠くにピークを持つ関数となる。読み取り装置の種別(読み取り装置の機種に応じた、タグからの信号の受信性能)も影響する。読み取り装置の出力が強ければ、同じ受信強度であっても、遠くにある可能性が高い。距離関数は、待ち受け状態によっても影響を受ける。影響の詳細は以下図7で述べる。
【0017】
図7は、待ち受け状態ごとの距離関数の一例を示している。関数701は、端末が通話状態であるときの距離関数の一例を示している。端末が通話中であれば、端末が頭の位置に掲げられて居る可能性が高く、見通しの良い条件にあると考えられる。それぞれの受信状態と相手の位置とが異なる受信強度が同じであれば、端末とICタグの距離は離れている確率が高い。関数702は画面操作中状態であるときの距離関数の一例を示している。利用者は端末の画面を見ているので、通話状態に比べると、端末の高さは低く、受信強度も通話状態より弱くなると考えられる。通話状態に比べると近い距離にピークを持つ距離関数となる。関数703は、待ち受け状態であるときの距離関数の一例を示している。待ち受け状態では、端末は利用者のポケット等に収まっている可能性が高い。端末が身体に密着していると、導体である身体の影響を受けて、電波の受信強度が低下すると考えられる。画面操作中状態よりも、近い距離にピークを持つ関数になると予想される。関数704は、マナーモードであるときの距離関数の一例を示している。マナーモードに設定されているということは、利用者は端末を使えないか又は使う意思がないことを意味している。端末は鞄の中などに収容されている可能性が高いと考えられ、受信条件としてはかなり悪い状況にあると考えられる。距離関数は近くにピークを持つ形になると予想される。
【0018】
距離関数は、シミュレーション等によって論理計算で作成することもできるし、実測したデータを元に作成しても良い。利用される場所がある程度限定されている場合は、その場所で実測を行うが最も確実で精度も高くなる。
【0019】
図8は、端末位置テーブル205の構成を示している。端末位置テーブル205は、それぞれの端末の計測時刻における位置に関する情報が格納されている端末位置レコード801の集合体である。端末位置レコード801は、端末ID、計測時刻、端末位置を格納している。これらは、端末位置計算装置206が計算した結果である。携帯端末102は、端末位置参照装置208を経由して、端末位置レコード205を参照することができる。
【0020】
図9は、位置計算の概念と計算方法を示している。環境には固定ICタグ901と902が存在している。携帯端末903は固定タグ901が読み取れており、通信範囲906の中の何処かに位置している。携帯端末904は固定タグ902が読み取れており、通信範囲907の中の何処かに位置している。固定ICタグの情報だけでは、これ以上詳しい位置は判らない。携帯端末903と904はお互いのICタグが読み取れていれば、相対的な距離が通信範囲912内にあることが判る。この事実を考慮すると、携帯端末が905のような位置にあることは有り得ず、図中の904の位置以外に有り得ないことが判る。携帯端末は移動するため、直接的に位置を決めることはできないが、それでも端末同士の距離関係を利用して、携帯端末の位置を絞り込むことはできる。この方式を使う場合、より多くの端末がお互いの位置情報を提供し合うことにより、自らの端末の位置精度を高めることができる。
【0021】
式910は、端末間の距離で決まる確率と端末―固定タグ間の距離で決まる確率との和で表され、端末位置の推定値を求めるための確率Pの具体的な計算式である。確率関数Pij及びPikは、受信強度や待ち受け状態に応じて決まる。他の携帯端末との位置関係から得られる確率と、固定タグとの位置関係から得られる確率を合計して、全体の確率を得ることができる。Xiはベクトルであり、各端末の場所を示している。Xiの値をいろいろ変化させて、全体の確率Pが最大となるXiを計算する。関数が最大値をとる条件を求めるという計算は一般的なものであり、高速な計算機を用いれば数値演算ライブラリで容易に実行できる。全体の確率Pが最大となるXiの具体的な計算方法は後述する。
【0022】
図10は、端末位置計算装置206の構成を示している。入出力回路1003は、各テーブルと作業メモリ1004の間でデータの転送を行う。演算回路1002は、数値計算のアルゴリズムに従って、作業メモリ1004上のデータを使って計算を実行する。制御回路1001は、全体の処理の制御を行う。作業メモリ1004は、文字通り計算の途中データを保持するための記憶装置である。計算がすべて終了すると全データは消去される。端末位置配列1005は、計算中の端末の位置を保持しておく配列である。図9の式910で示される確率Pが最大となるようにして求めた端末位置の推定値を最終結果とする。端末−端末距離関数配列1006は、端末−端末間の確率を計算するときに使う距離関数を保持する。確率計算の最初に入力値として設定され、計算中に変化することはない。端末−固定タグ距離関数配列1007は、端末−固定タグ間の確率を計算するときに使う距離関数を保持する。確率計算の最初に入力値として設定され、計算中に変化することはない。
【0023】
図11は、位置を計算する手順を示している。全体的な手順としては、処理1101から1111で、計算に必要な情報を作業メモリに設定し、処理1112で実際に計算を行う流れとなる。まず、計算の入力データを設定する。端末位置配列1005の端末位置の項目はこれから求める項目であるので、それを除いた項目を設定する。端末IDは端末受信レコードから取得する。固定ICタグの位置は固定ICタグテーブルから取得する。距離関数は、端末の読み取り装置の種別や受信強度を元に、距離関数テーブルから選択する。ここまでで、計算に必要な情報はすべて揃う。処理1112で、実際に端末位置配列1005の端末位置の項目を計算する。計算のアルゴリズムはいろいろあるが、例えば、数学的アルゴリズムに基づいた計算以外にも端末位置を少しずつ変えながら確率が最大となる位置を求めるという手法もある。計算が終わったら、計算結果を端末位置テーブルに出力する。以下で手順の詳細を述べる。
【0024】
まず処理1101で、端末受信テーブル201を走査して、端末IDごとに、最新の読み取り時刻を持つレコードのみを抽出する。携帯端末は移動するので、読み取り時刻が一定以上古いデータは既に位置が変わっている可能性が高いので取り除く。次に処理1102で、抽出したレコードを元に、端末位置配列1005を作成する。この時点で、埋まっている項目は端末IDのみで、端末位置は空である。
【0025】
処理1003で、抽出した端末受信レコード301毎に以下の処理を繰り返す。すべてのレコードの処理が終わったら、処理1112に移し実際に位置計算を行う。
【0026】
端末受信レコードの読み取りタグIDによって処理が異なる。処理1104で、端末情報テーブル202を検索して、端末IDと読み取りタグIDとが一致するレコードを捜す。自身の端末IDと相手の端末IDは判っているので、条件に応じた距離関数を選択する。端末種別、待ち受け状態、受信強度をキーに距離関数テーブル204を検索して、該当する距離関数を取得する。端末−端末距離関数配列1006に検索した距離関数を追加して、処理1103に戻す。
【0027】
端末情報テーブルの端末IDと読み取りタグIDとが一致しない場合は、処理1108で固定ICタグテーブル203を検索して、タグIDと読み取りタグIDとが一致するレコードを捜す。一致するレコードがあれば、読み取ったタグは固定ICタグである。端末IDと固定ICタグの位置は判っているので、条件に応じた距離関数を選択する。読み取り装置種別、待ち受け状態、受信強度をキーに距離関数テーブル204を検索して、該当する距離関数を取得する。端末−固定ICタグ距離関数配列1107に取得した距離関数を追加して、処理1103に移す。
【0028】
端末情報テーブル202にも固定ICタグテーブル203にも含まれていない場合は、本システムと関係ないICタグを読み取ったものと判断して読み飛ばし、処理1103に戻す。
【0029】
ここまでで、端末位置配列1005、端末−端末距離関数配列1006、端末−固定タグ距離関数配列1007は、端末位置を除いてすべて埋まっている。あとは、数値計算を行って端末位置を求めるだけである。
【0030】
処理1112で端末位置の計算を行う。簡単にやるならば、端末位置の値を少しずつ変化させながら確率計算を何度も繰り返し、確率が最大となる端末位置を求めれば良い。ただし、この方法は簡単で単純であるがゆえ、効率が悪く処理時間がかかるという問題がある。端末の台数が少ないうちは良いが、端末が増えると計算時間が増大してしまう。既存の数値演算ライブラリを用いて、確率が極値をとる条件を計算する方が効率的である。関数の極値を求める演算は、一般的な処理であり、各種のアルゴリズムが開発されている。商業製品になっている数値演算ライブラリもある。端末の台数や要求されるレスポンスを考慮して、適切な数値演算ライブラリを採用すれば良い。
【0031】
計算が終わったら、処理1113で、計算結果を端末位置テーブル205に書き出す。これで端末の位置を参照することができるようになる。
(端末位置の推定値を計算する際の具体的な手順、及び迅速な計算のための近似方法)
ここで、図9の式910、即ち、端末間の距離で決まる確率と端末―固定タグ間の距離で決まる確率との合計で表され、端末位置の推定値を求めるための確率Pを用いて、n個の端末及びm個の固定タグがある場合における、端末位置の推定値を求める具体的な手順を以下に述べる。
【0032】
図9に示すPijは端末iが端末jからの信号を受信する時の距離関数、Pjiは端末jが端末iからの信号を受信する時の距離関数(一般にPijとは異なる)、Pikは端末iが固定タグkからの信号を受信する時の距離関数であり、種々の条件に応じた距離関数の例は図7に示されている。距離関数Pij、Pji、Pikは、距離の値を変数とする確率関数であり、図7に示す何れの関数も、関数と座標軸とで囲まれる領域の面積は1である。
【0033】
式910で表される確率の合計Pが最大値になる条件から、端末iの位置座標の推定値が式920〜924のように求まる。式920、921を、それぞれn個のX座標値、n個のY座標値を変数とする多元一次連立方程式と考えると、係数行列の対角要素の係数は、各非対角要素を複数個加算したものに相当するので、それぞれの係数行列は対角優位行列とみなされる。このような係数行列の特徴を考慮して、下記の逐次近似方法により、n個のX座標値及びn個のY座標値を求める。
(1)端末iの条件に応じて、図7に示すような距離関数を選択する。
(2)逐次近似のためのステップ数NをN=1とする。
(3)端末i以外の端末jについてN−1ステップ(前のステップ)で求めた座標値を用いて、式920及び921の右辺を計算することにより、Nステップにおける端末iの座標値を求める。(この計算を全ての端末(i=1〜n)について行う。)
(4)全ての端末(i=1〜n)について、Nステップで求められた座標値とN−1ステップで求められた座標値との差の絶対値を求める。これらの絶対値の中で最大となる値が所定の誤差ε(端末位置の推定値の誤差)よりも小さければ、計算を終了し、Nステップで求めた座標値を端末位置の推定値とする。これらの絶対値の中で最大となる値が所定の誤差εよりも小さくない場合は、逐次近似における解が収束していないと判断し、Nに1を加算してN=N+1として、再度、上記(3)の処理を行う。上記の逐次近似計算における座標値の初期値(0ステップの座標値)としては、前回の上記計算で求めた端末位置の推定値、あるいは別の手段で求めた端末位置などを用いる。
【0034】
上記の逐次近似計算における(3)の処理で、図9の式920, 921を計算する際に、式922, 923に示すように、距離関数Pij、Pji、Pikそのものではなく、距離関数の微分係数を計算する必要がある。一方、図7に示した距離関数の変化からわかるように、距離関数の極大点の近傍以外では、距離関数の微分係数はほぼ一定である。即ち、距離関数が極大となる距離uよりも小さい領域では微分係数は正の値a(a>0)であり、距離uよりも大きく、かつ距離関数の定義域の上限vよりも小さい領域では微分係数は負の値−b(b>0)となる。従って、(3)の処理における図9の式920, 921の計算に必要な式922, 923に含まれる距離関数の微分係数は、a,b,u、vの4つのパラメータで表現される階段関数(0<r<uではa、u<r<vでは−b)で近似できる。但し、距離関数は、確率関数でもあることから、関数と座標軸とで囲まれる領域の面積が1となる条件から、パラメータの間に、b(v2−u2)/2−au2/2=1が成り立つ。また、上記の階段関数をガウス記号[ ]([X]はXを越えない最大の整数)を用いて距離rの関数として表すとa−(a+b)[r/u]+b[r/v]となる。
【0035】
通常、それぞれの携帯端末の位置は頻繁に変化しているので、実際の端末位置と推定値との乖離を少なくするためには、図9に示した式を用いた計算を迅速に実行する必要がある。従って、上記のように、端末位置の推定の計算に必要な距離関数の微分係数を、計算が容易な階段関数で近似することにより、端末位置の推定が迅速に行える。また、図6に示す距離関数テーブル204に距離関数を登録する際に、座標値ごとの距離関数又はその微分係数の値(数十個程度のデータの組)を保持するよりも、上記のように、端末位置の推定の計算に必要な距離関数の微分係数を近似した階段関数の4つのパラメータa,b,u、vを保持した方が保持すべきデータ量を少なくできる。
【符号の説明】
【0036】
101 端末測位サーバ
102 携帯端末
103 端末ICタグ
104 ICタグ読み取り装置
105 固定ICタグ。
【特許請求の範囲】
【請求項1】
複数の携帯端末と情報のやり取りを行う端末測位サーバにおける測位方法であって、
前記複数の携帯端末のそれぞれに設置されたICタグから電波を受信し、
前記携帯端末の読み取り装置の種別、待ち受け状態及び前記ICタグからの電波の受信強度に応じた第1の距離関数を選択し、
前記複数の携帯端末のそれぞれが、少なくとも一つの所定の場所に設置された固定ICタグからの電波を受信し、
前記携帯端末の読み取り装置の種別、待ち受け状態及び前記固定ICタグからの電波の受信強度に応じた第2の距離関数を選択し、
前記複数の携帯端末についての前記第1の距離関数と前記第2の距離関数との和が最大となる端末位置を求め、
前記端末位置に基づいて前記複数の携帯端末同士の位置関係を取得し、
前記位置関係を前記複数の携帯端末のそれぞれに通知することを特徴とする携帯端末の測位方法。
【請求項2】
複数の携帯端末と情報のやり取りを行う端末測位サーバであって、
前記複数の携帯端末のそれぞれに設置されたICタグから電波を受信する手段、
前記携帯端末の読み取り装置の種別、待ち受け状態及び前記ICタグからの電波の受信強度に応じた第1の距離関数を選択する手段、
前記複数の携帯端末のそれぞれが、少なくとも一つの所定の場所に設置された固定ICタグからの電波を受信する手段、
前記携帯端末の読み取り装置の種別、待ち受け状態及び前記固定ICタグからの電波の受信強度に応じた第2の距離関数を選択する手段、
前記複数の携帯端末についての前記第1の距離関数と前記第2の距離関数との和が最大となる端末位置を求める手段、
前記端末位置に基づいて前記複数の携帯端末同士の位置関係を取得する手段、
前記位置関係を前記複数の携帯端末のそれぞれに通知する手段を有することを特徴とする端末測位サーバ。
【請求項3】
前記第1の距離関数と前記第2の距離関数との和が最大となる端末位置を求める際に、
前記和の値が極大値を取る条件から、各端末の位置と前記各端末以外の他の端末の位置及び前記固定ICタグの位置との間の関係式を求め、
前回求めた前記各端末以外の他の端末の位置を用いて、前記関係式により今回の前記各端末の位置を求める逐次計算を行い、
今回の前記各端末の位置と前回求めた前記各端末の位置との差の絶対値のうち、最大のものが所定の値よりも小さければ計算を終了して、今回の前記各端末の位置を前記各端末の位置の推定値として出力し、そうでなければ、今回の前記各端末の位置を前記前回求めた前記各端末以外の他の端末の位置として、前記逐次計算を再度実行することを特徴とする請求項1記載の携帯端末の測位方法。
【請求項4】
前記逐次計算の際に、前記第1の距離関数と前記第2の距離関数のそれぞれの微分係数の変化を、階段関数で近似した式を用いることを特徴とする請求項3記載の携帯端末の測位方法。
【請求項1】
複数の携帯端末と情報のやり取りを行う端末測位サーバにおける測位方法であって、
前記複数の携帯端末のそれぞれに設置されたICタグから電波を受信し、
前記携帯端末の読み取り装置の種別、待ち受け状態及び前記ICタグからの電波の受信強度に応じた第1の距離関数を選択し、
前記複数の携帯端末のそれぞれが、少なくとも一つの所定の場所に設置された固定ICタグからの電波を受信し、
前記携帯端末の読み取り装置の種別、待ち受け状態及び前記固定ICタグからの電波の受信強度に応じた第2の距離関数を選択し、
前記複数の携帯端末についての前記第1の距離関数と前記第2の距離関数との和が最大となる端末位置を求め、
前記端末位置に基づいて前記複数の携帯端末同士の位置関係を取得し、
前記位置関係を前記複数の携帯端末のそれぞれに通知することを特徴とする携帯端末の測位方法。
【請求項2】
複数の携帯端末と情報のやり取りを行う端末測位サーバであって、
前記複数の携帯端末のそれぞれに設置されたICタグから電波を受信する手段、
前記携帯端末の読み取り装置の種別、待ち受け状態及び前記ICタグからの電波の受信強度に応じた第1の距離関数を選択する手段、
前記複数の携帯端末のそれぞれが、少なくとも一つの所定の場所に設置された固定ICタグからの電波を受信する手段、
前記携帯端末の読み取り装置の種別、待ち受け状態及び前記固定ICタグからの電波の受信強度に応じた第2の距離関数を選択する手段、
前記複数の携帯端末についての前記第1の距離関数と前記第2の距離関数との和が最大となる端末位置を求める手段、
前記端末位置に基づいて前記複数の携帯端末同士の位置関係を取得する手段、
前記位置関係を前記複数の携帯端末のそれぞれに通知する手段を有することを特徴とする端末測位サーバ。
【請求項3】
前記第1の距離関数と前記第2の距離関数との和が最大となる端末位置を求める際に、
前記和の値が極大値を取る条件から、各端末の位置と前記各端末以外の他の端末の位置及び前記固定ICタグの位置との間の関係式を求め、
前回求めた前記各端末以外の他の端末の位置を用いて、前記関係式により今回の前記各端末の位置を求める逐次計算を行い、
今回の前記各端末の位置と前回求めた前記各端末の位置との差の絶対値のうち、最大のものが所定の値よりも小さければ計算を終了して、今回の前記各端末の位置を前記各端末の位置の推定値として出力し、そうでなければ、今回の前記各端末の位置を前記前回求めた前記各端末以外の他の端末の位置として、前記逐次計算を再度実行することを特徴とする請求項1記載の携帯端末の測位方法。
【請求項4】
前記逐次計算の際に、前記第1の距離関数と前記第2の距離関数のそれぞれの微分係数の変化を、階段関数で近似した式を用いることを特徴とする請求項3記載の携帯端末の測位方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−137296(P2012−137296A)
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【出願番号】特願2010−287745(P2010−287745)
【出願日】平成22年12月24日(2010.12.24)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成22年度 総務省「ユビキタス・プラットフォーム技術の研究開発(ユビキタス空間情報基盤技術)に関する研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【出願日】平成22年12月24日(2010.12.24)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成22年度 総務省「ユビキタス・プラットフォーム技術の研究開発(ユビキタス空間情報基盤技術)に関する研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]