位置算出装置、方法及びプログラム
【課題】局所座標系ごとに算出された位置座標を精度よく1つの座標系に統合する。
【解決手段】複数の局所座標系を検出し、端末と複数の送信機それぞれとの間の距離に基づいて、局所座標系それぞれにおいて、複数の送信機の位置座標を算出する手段1920と、複数の局所座標系のうち、閾値以上の数の送信機を共有する2つ以上の局所座標系を、互いに統合可能な座標系として抽出する手段1931と、抽出された2つ以上の局所座標系それぞれにおいて、送信機間距離及び送信機間距離の信頼度を算出し、2つ以上の局所座標系それぞれにおいて算出された送信機間距離の信頼度によって重み付けを行なって重み付け補正後の送信機間距離を算出し、信頼度がある値よりも高い送信機の補正後の送信機間距離のみを用いて、2つ以上の局所座標系を統合した座標系における各送信機の位置座標を信頼度が高い順に算出する手段1932と、を具備する。
【解決手段】複数の局所座標系を検出し、端末と複数の送信機それぞれとの間の距離に基づいて、局所座標系それぞれにおいて、複数の送信機の位置座標を算出する手段1920と、複数の局所座標系のうち、閾値以上の数の送信機を共有する2つ以上の局所座標系を、互いに統合可能な座標系として抽出する手段1931と、抽出された2つ以上の局所座標系それぞれにおいて、送信機間距離及び送信機間距離の信頼度を算出し、2つ以上の局所座標系それぞれにおいて算出された送信機間距離の信頼度によって重み付けを行なって重み付け補正後の送信機間距離を算出し、信頼度がある値よりも高い送信機の補正後の送信機間距離のみを用いて、2つ以上の局所座標系を統合した座標系における各送信機の位置座標を信頼度が高い順に算出する手段1932と、を具備する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置算出装置、方法及びプログラムに関する。
【背景技術】
【0002】
従来、屋内におけるユーザトラッキングシステム(ユーザ位置算出システム)において、環境中に設置されたセンサを用いて空間におけるユーザの位置を算出する方法や、ユーザや対象物にセンサを取りつけてそれぞれの相対位置を組み合わせ、ユーザや対象物の空間内での位置を算出する方法が用いられている。
【0003】
非特許文献1には、室内にセンサを張り巡らせて人物の位置を取得できるセンシングルームが記載されている。この技術によれば、センシングルーム内での人間の位置を精度良く計測できる。
また、特許文献1には、位置が未知である複数の固定装置と位置が未知である移動装置の相対位置を、固定装置と移動装置の相対距離を用いて算出する技術が記載されている。この技術により、システムの導入コストの低減が期待できる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4057023号明細書
【非特許文献】
【0005】
【非特許文献1】森,「生活パターンを覚えて助ける知能住宅」,ネットワークロボット研究会,pp20-24,2005
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、非特許文献1に記載のセンシングルームでは、1部屋に500以上のセンサを設置しており、設置コストだけでなくキャリブレーションにかける労力も高くなり、汎用的なシステムとは言えない。
また、特許文献1に記載の技術では、一つの座標系上で全固定装置と移動装置の位置を算出するためには、全固定装置と移動装置間の距離計測を同時に行う必要があり、現実的には困難がある。そのため、距離計測を行った固定装置の組み合わせごとに設定される座標系上における位置算出しか実現することができない。
【0007】
本発明は、上記の事情に鑑みてなされたもので、固定装置の相対的な位置関係をもとに生成する相対座標系(以降、相対座標系に識別番号を付与したものを局所座標系IDと呼ぶ)ごとに算出された位置座標を精度よく1つの座標系に統合できる位置算出装置、位置算出方法、及び位置算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上述の課題を解決するため、本発明の位置算出装置は、複数の送信機を備える環境において、当該環境内を移動可能な端末と前記複数の送信機それぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置であって、それぞれ複数の送信機から構成される複数の局所座標系を検出し、前記端末と前記複数の送信機それぞれとの間の距離に基づいて、前記局所座標系それぞれにおいて、当該局所座標系を構成する複数の送信機の位置座標を算出する第1の座標算出手段と、前記複数の局所座標系のうち、閾値以上の数の送信機を共有する2つ以上の局所座標系を、互いに統合可能な座標系として抽出する統合座標系抽出手段と、統合可能な座標系として抽出された前記2つ以上の局所座標系それぞれにおいて、送信機間距離及び該送信機間距離の信頼度を算出し、前記2つ以上の局所座標系それぞれにおいて算出された送信機間距離の信頼度によって重み付けを行なって重み付け補正後の送信機間距離を算出し、信頼度がある値よりも高い送信機の前記補正後の送信機間距離のみを用いて、前記2つ以上の局所座標系を統合した座標系における各送信機の位置座標を信頼度が高い順に算出する第2の座標算出手段と、を具備することを特徴とする。
【発明の効果】
【0009】
本発明の構成によれば、局所座標系ごとに算出された位置座標を精度よく1つの座標系に統合することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施形態に係る位置算出システムの一例を示すシステム構成図。
【図2】第1の実施の形態に係る送受信端末及び位置算出装置の機能的な構成を示すブロック図。
【図3】データ記憶部に備えられる計測距離テーブルに格納されるデータ構成の一例を示す図。
【図4】データ記憶部に備えられる局所座標テーブルに格納されるデータ構成の一例を示す図。
【図5】位置算出装置において実行される処理全体を示すフローチャート。
【図6】局所座標算出部が実行する処理のフローチャート。
【図7】新たな局所座標系における位置座標の定め方を説明するための図。
【図8】統合座標系抽出部が実行する処理のフローチャート。
【図9】統合処理部が実行する計測センサリストの生成処理のフローチャート。
【図10】統合処理部が実行するセンサ対応付け処理のフローチャート。
【図11】統合処理部が実行する位置座標補正処理のフローチャート。
【図12】統合処理部が実行する送信機間距離の算出処理のフローチャート。
【図13】局所座標系の一例を示す図。
【図14】局所座標系において算出される送信機間距離と信頼度を説明するための図。
【図15】2つの局所座標系においてそれぞれ算出される送信機間距離の相違を示す図。
【図16】統合処理部による無向グラフの生成を説明するための図。
【図17】上述の無向グラフにおいて、送信機間距離を加重平均距離によって表した図。
【図18】送信機の位置座標の修正の様子を示す図。
【図19】第2の実施の形態に係る位置算出装置のブロック図。
【図20】図19の計測距離テーブルのデータ構成の一例を示す図。
【図21】図19の局所座標テーブルのデータ構成の一例を示す図。
【図22】図19の位置算出装置の動作の一例を示すフローチャート。
【図23A】図19の局所座標算出部の動作の一例を示すフローチャート。
【図23B】図19の局所座標算出部の動作の一例を示すフローチャート。
【図24A】図19の統合可能局所座標系抽出部の動作の一例を示すフローチャート。
【図24B】図19の統合可能局所座標系抽出部の動作の一例を示すフローチャート。
【図25A】図19の統合部の動作の一例を示すフローチャート。
【図25B】図19の統合部の動作の一例を示すフローチャート。
【図25C】図19の統合部の動作の一例を示すフローチャート。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら本発明の実施形態に係る位置検出装置、位置算出方法及び位置算出プログラムについて詳細に説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
まず、実施の形態について概略を説明する。
移動物体(例えばユーザが所持する送受信端末)の位置に応じて移動物体との距離を計測できるセンサ(例えば送信機)の組み合わせは時々刻々と異なる。その度に逐一設定される局所的な相対座標系上においてそれらセンサと移動物体の位置を算出する。最終的に、そのように独立に形成された局所的な相対座標系間で共通に存在するセンサの数が一定以上ある場合、それら相対座標系を任意の一つの相対座標系(基準座標系)上に射影することで、距離計測を行ったセンサと移動物体の位置を基準座標系上で算出することができる。しかし、一般的にセンサの移動やセンサ計測精度の低下等により、一部のセンサ推定位置やセンサ計測値の誤差が大きくなった場合、それらの影響が全体に波及する。実施形態では、基準座標系からの距離とセンサ推定位置の信頼度に着目して、一部の推定誤差の影響が全体に波及せずに、センサと移動物体の位置算出を行う。
【0012】
ただし、局所的な相対座標系上におけるセンサ位置を算出する技術は既知のものを利用し、局所座的な相対標系で算出されるセンサ位置には信頼度が付与されていることを想定する。
(第1の実施形態)
図1は、本発明の一実施形態に係る位置算出システムの一例を示すシステム構成図である。図1に示すように、ユーザUは、送受信端末10を携帯してシステム内を持ち運ぶ。n+1個の送信機#0〜#nは、システム環境(例えば1つの部屋)内の任意の箇所に設置される。ただし、nは3以上で任意の正の整数とする。
【0013】
この位置算出システムにおいては、少なくとも2つの局所座標系の統合が行なわれ、1つの局所座標系は少なくとも3個の送信機から構成される。したがって、4個以上の送信機が備えられる。i番目の送信機#iにはID:iが割り当てられ、その位置座標は、例えば送信機#0、#1及び#2による局所座標系ID0の座標系においては、X0_i=(X0i,Y0i)で表される。
【0014】
送信機#0〜#nは一例として、電波や音波等の波を発生させる送信端末であり、送受信端末10では、送信機#0〜#nからの電波や音波を受信して、当該送信機からの距離di(t)を測定する。ただし、送信機#1〜#nと送受信端末10との通信を媒介するのは、電波や音波に限定されず、距離への変換が可能であればどのような媒介であってもよい。送信機#0〜#nは、所定の時間間隔で、現時刻(送信時刻)と当該送信機に固有の送信機IDの情報を電波又は音波によって発信するものとする。
【0015】
図1に示す例では、送信機#0〜#nから発信される電波又は音波を、ユーザUが携帯する送受信端末10が受信するセンサシステムが図示されているが、これに限らず、ユーザUが送信機を携帯し、受信機が環境中に設置されてもよい。
以下では、図1の例に基づいて、送信機(センサ)が環境中に固定され、受信機(送受信端末10)をユーザが環境中で持ち運ぶ例について説明する。時刻tにおける送受信端末10の位置座標は、局所座標系IDが0である座標系では、X0_h(t)=(X0h(t),Y0h(t))で表される。
【0016】
位置算出装置20は、ユーザUが携帯する送受信端末10からの情報を基に、基準座標系における各送信機及び送受信端末10の位置座標の算出、及び算出された位置座標の校正等、各種の処理を実行するコンピュータシステムである。位置算出装置20は、図示しないプロセッサ、プログラムメモリ、及びワークメモリを有し、プロセッサがプログラムメモリに記憶された所定のプログラムを実行することで、本実施形態に係る各種の処理を制御する。
【0017】
図2は、この位置算出システムにおける送受信端末10及び位置算出装置20の機能的な構成を示すブロック図である。
送信機#0〜#nは、それぞれ所定の時間間隔で、現時刻(送信時刻)と送信機IDの情報を電波又は音波によって発信している。
送受信端末10は、受信部101、距離計測部102及び送信部103を備えている。受信部101は、送信機(#0〜#n)が発信する電波又は音波を受信する。距離計測部102は、現時刻(受信時刻又は計測時刻)と送信機からの送信時刻に基づいて電波又は音波の伝搬時間を算出し、その伝搬時間に基づいて送受信端末10と送信機との間の計測時刻tにおける距離di(t)を算出する。送信部103は、算出された距離(計測距離)を送信機IDと計測時刻に対応づけて、位置算出装置20に送信する。
【0018】
送信機と送受信端末10との間の距離算出は、電波と超音波を組み合わせて行われてもよい。この場合、超音波の発信を指示する呼び出し命令が、送受信端末10から送信機#iに電波によって送信され、電波を受信した送信機#iが超音波を発する。そして、送受信端末10が超音波を受信した時刻と送信機#iが超音波を発した時刻との時刻差に音速を乗じることで送信機#iと送受信端末10との間の距離di(t)が算出される。
【0019】
位置算出装置20は、受信部210、データ記憶部220、局所座標算出部230、及び局所座標統合部240を備える。
受信部210は、送受信端末10から送られた各送信機との間の計測距離、送信機ID及び計測時刻のデータを受信する。
データ記憶部220は、ハードディスク装置やフラッシュメモリ等を備える記憶装置である。データ記憶部220は、図3に示す計測距離テーブル221、図4に示す局所座標テーブル222、及び基準座標系情報格納部223を備える。送受信端末10から送られたデータは、計測距離テーブル221に保持される。
【0020】
図3は、データ記憶部220に備えられる計測距離テーブル221に格納されるデータ構成の一例を示す図である。図3に示すように、計測距離テーブル221には、各送信機の送信機IDに対応して、計測時刻t、及び計測時刻tにおける計測距離di(t)が記憶される。
【0021】
図4は、データ記憶部220に備えられる局所座標テーブル222に格納されるデータ構成の一例を示す図である。図4に示すように、局所座標テーブル222には、局所座標系毎に、局所座標系ID、当該座標系に含まれるセンサ(送信機)、各センサの座標、各センサと送受信端末10との間の計測距離、後述する信頼度、統合可能な局所座標系のID、平均の計測距離、及び送受信端末10の位置座標が格納される。
【0022】
基準座標系情報格納部223は、基準座標系を与える基準局所座標系の情報を格納する。基準局所座標系は、ユーザによる設定操作などに応じて予め定められていてもよい。
局所座標算出部230は、受信部210が受信したデータに基づいて、局所座標テーブル222の記憶内容を生成し、更新する。
【0023】
局所座標統合部240は、統合座標系抽出部241、統合処理部242及び入出力部243を有する。統合座標系抽出部241は、所定数以上の送信機を共有する2つの局所座標系を統合可能な局所座標系として抽出し、設定する。統合処理部242は、統合可能であるとして抽出された局所座標系の統合処理を行う。入出力部243は、統合結果を出力するための表示装置等を有する。あるいは入出力部243は、図示しない記憶装置に接続され、統合結果が当該記憶装置に出力され記憶されてもよい。
【0024】
次に、以上のように構成された位置算出装置20の動作について説明する。
図5は、位置算出装置20において実行される処理全体を示すフローチャートである。
受信部210は、送受信端末10から少なくとも1つの送信機(#i)の送信機ID、計測時刻及び計測距離を含むデータを受信する(ステップS501)。受信部210は、受信したデータをデータ記憶部220の計測距離テーブル221、及び局所座標算出部230にも出力する。計測距離テーブル221では、当該少なくとも1つの送信機(#i)の送信機ID:iに対応して、計測時刻及び計測距離のデータが更新される。
【0025】
局所座標算出部230は、送られた送信機ID、計測時刻及び計測距離データに基づいて、新規に局所座標系が作成されるか否かを判定する(ステップS502)。
受信したデータに含まれる局所座標系が、局所座標テーブル222に記憶されていない場合には、新規の局所座標系を作成する必要がある(ステップS502でYes)。この場合、局所座標算出部230は、局所座標テーブル222に無いIDを、新規の局所座標系IDとして生成する(ステップS503)。
【0026】
受信したデータに含まれる局所座標系が、既に局所座標テーブル222に記憶されている場合には、新規の局所座標系は作成されない(ステップS502でNo)。この場合、局所座標算出部230は、局所座標テーブル222から、受信データに含まれ更新対象となる局所座標系IDを選択する(ステップS504)。
【0027】
局所座標算部505は、ステップS503で新規に作成された局所座標系ID、又はステップS504で選択された局所座標系IDに対応する局所座標系を構成する送信機(センサ)と送受信端末10までの各最新計測距離を局所座標テーブル222の記憶内容に追加し、当該局所座標系IDに対応する局所座標系を構成する送信機(センサ)の位置座標、最新の位置算出時刻、信頼度、および平均計測距離の値を算出し、局所座標テーブル222の記憶内容を更新する(ステップS505)。新規に局所座標系が検出された場合には、新たに作成された局所座標系IDと対応づけて、各センサと送受信端末10までの最新計測距離を局所座標テーブル222の記憶内容に追加し、算出されたセンサの位置座標、最新の位置算出時刻、信頼度、及び平均計測距離の値を局所座標テーブル222に記憶し、記憶内容を更新する。また、局所座標算出部230は、当該新規の局所座標系に含まれる各センサのIDも局所座標テーブル222に記憶する。
【0028】
一方、ステップS504で更新対象となる局所座標系IDが選択された場合には、局所座標テーブル222において、選択された局所座標系IDに対応するセンサの位置座標、最新位置算出時刻、信頼度、平均計測距離の値を、算出した値に更新する。また、局所座標算出部230は、選択された局所座標系に含まれる各センサの計測距離も算出し、局所座標テーブル222において、当該選択された局所座標系の局所座標系IDに対応して、各センサの位置座標値を追加する。
【0029】
次に、局所座標統合部240では、統合座標系抽出部241が、局所座標テーブル222に記憶されている局所座標系のうち統合できる座標系があるか否かを判定する(ステップS506)。判定結果は、統合処理部242に送られる。
統合処理部242は、判定結果に基づいて局所座標系を統合する(ステップS507)。統合結果は、入出力部243を介して出力されてもよい。
【0030】
なお、図5では局所座標算出部230の処理の後に続けて局所座標統合部240の処理を実施する例を記載したが、局所座標算出部230の処理と局所座標統合部240の処理を分離し、局所座標算出部230はデータ記憶部220の局所座標テーブル222の記憶内容を更新して処理を終了することとし、局所座標統合部240は予め定めたタイミングで(例えば予め定めた時間間隔で、あるいは、入出力部からの起動指示により)図5のステップS506の処理を開始することとしても良い。
【0031】
次に、局所座標算出部230及び局所座標統合部240が実行する処理について、更に詳細に説明する。
図6は、局所座標算出部230が実行する処理の詳細を示すフローチャートである。図6に示す処理は、図5ではステップS502〜S505の処理に相当する。
受信部210が受信データをデータ記憶部220に格納したら、局所座標算出部230は、データ記憶部220の局所座標テーブル222の情報を取得する(ステップS601)。局所座標算出部230は、受信データに含まれる送信機IDから、3つ以上のIDからなる組合せを全て生成する(ステップS602)。局所座標算出部230は、生成した組合せから、1つの組合せを選択する(ステップS603)。ここで、受信部210が受信した送信機IDの数をMとする。
【0032】
局所座標算出部230は、選択したIDの組合せが、局所座標テーブル222に記憶されたいずれかの局所座標系に含まれている代表センサの組合せであるか否かを判定する(ステップS604)。
選択されたIDの組合せが、局所座標テーブル222に記憶されたいずれかの局所座標系に含まれている代表センサの組合せである場合(ステップS604でYes)、局所座標算出部230は、当該選択されたIDの組み合わせに対応する局所座標系の局所座標系IDを処理対象として選択する(ステップS605)。
【0033】
選択されたIDの組合せが、局所座標テーブル222に記憶されたいずれかの局所座標系に含まれている代表センサの組合せでない場合(ステップS604でNo)、ステップS602で生成した全ての組合せについて、ステップS604の処理が行われたか否かを判定する(ステップS614)。まだステップS604の処理が行われていない組合せがある場合(ステップS614でNo)、ステップS603の処理に戻って他の組合せを選択し、以降の処理を繰り返す。一方、全ての組合せについて処理が終了していれば(ステップS614でYes)、当該選択されたIDの組み合わせによって指定される送信機によって新たな局所座標系が構成されるものとして、局所座標算出部230は、当該新たな局所座標系の情報を局所座標テーブル222に設定する(ステップS606)。設定される新たな局所座標系の情報には、この新たな局所座標系の局所座標系ID、当該局所座標系の代表送信機の情報、その位置座標等が含まれる。局所座標系IDは、例えば0から連番で付与されてもよい。
【0034】
図7は、新たな局所座標系における位置座標の定め方を説明するための図である。選択されたIDの組合せから、代表送信機が任意に3つ選択され、図7に示すように、3つの代表送信機のうち1つが原点とされ、他の1つがx軸上に設定される。残りの1つの代表送信機が、y軸の+方向に存在すると定めて、新たな局所座標系における座標系が設定される。局所座標テーブル222には、この新たな局所座標系に付与された局所座標系IDと、座標系を規定する代表送信機IDが記憶される。
【0035】
局所座標算出部230は、ステップS605で選択された局所座標系ID、又はステップS606で新たに付与された局所座標系IDを処理対象座標系のIDとし、当該処理対象座標系に含まれる送信機の計測時刻及び計測距離データを計測距離テーブル221から取得する(ステップS607)。局所座標算出部230は、処理対象座標系に含まれるM個の送信機全てについて計測距離が記憶されている計測時刻の数Nを、計測距離テーブル221から検出する(ステップS608)。
【0036】
局所座標算出部230は、各送信機の相対距離が算出可能であるかを表す条件式MN≧2M+2Nが満たされるか否かを判断する(ステップS609)。条件式MN≧2M+2Nが満足されない場合は(ステップS609でNo)、各送信機の相対距離が算出できないので、処理を終了する。
【0037】
一方、条件式MN≧2M+2Nが満足される場合は(ステップS609でYes)、各送信機の相対距離が算出可能となる。
例えば局所座標系IDが0である局所座標系において、送信機#iと送受信端末10との間の計測距離di(t)は、以下の式(1)から、求めることができる。
【0038】
【数1】
ここで、(X0i,Y0i)(=X_0)は、局所座標系IDが0である局所座標系における送信機#iの位置座標を表す。また、時刻tにおける当該局所座標系での送受信端末10の位置座標は、X0_h(t)=(X0h(t),Y0h(t))で表される。
【0039】
従って、ステップS608で選択されたN個の計測時刻について、計測距離と、各送信機及び送受信端末10の位置座標の関係式(2)が、局所座標算出部230によって生成される(ステップS610)。
【0040】
【数2】
局所座標算出部230は、この連立方程式(2)を解いて、各計測時刻における送信機及び送受信端末10との相対位置座標を算出する(ステップS611)。
図7に示すように、1つの代表送信機が原点にあり、他の1つの代表送信機がx軸上にある場合、M個の送信機の2次元位置座標値として2M−3個(3次元位置座標の場合は3M−6個)、送受信端末10の2次元位置座標として2N個(3次元位置座標の場合は3N個)の未知変数があることになる。また、連立方程式(2)に含まれる式の数はMN個である。したがって、ステップS609で条件式MN≧2M+2N−3(3次元座標の場合はMN≧3M+3N−6)が満足されれば、各時刻における送信機及び送受信端末10の位置座標を算出(推定)することができる。例えば、選択された局所座標系に含まれる送信機の数が3個の場合、N≧3の場合に条件式が満足される。従って、3つの時刻以上距離情報が取得された場合に、位置座標の算出が可能となる。
【0041】
続いて、局所座標算出部230は、算出された各送信機の位置座標の信頼度を算出する(ステップS612)。信頼度としては、算出された送信機位置の微分変動量fや、送信機と送受信端末10との間の距離の算出結果と計測結果の差のノルムgを含む関数等が用いられる。局所座標系IDが0である局所座標系において、送信機#iの微分変動量fは以下の式(3)で、また送信機#iと送受信端末10との間の距離の算出結果と計測結果の差のノルムgは以下の式(4)で表される。
【0042】
【数3】
【0043】
【数4】
また、局所座標系IDが0である局所座標系において、送信機iの尤度w0_iは、微分変動量f及びノルムgを用いて以下式(5)によって表される。
【0044】
【数5】
式(5)においてα、及びβは所定の重み係数であり、0以上の値を取るものとする。また、このとき局所座標系IDが0である局所座標系において、算出された位置座標全体の精度指標を示す信頼度W0を算出する。信頼度W0としては、例えば局所座標系IDが0である局所座標系において座標系を設定するための3つの代表送信機の算出された位置座標の尤度の積が、以下の式(6)によって求められてもよい。
【0045】
【数6】
算出された局所座標系の信頼度及び送信機位置座標の信頼度は、当該局所座標系の局所座標系IDに対応付けられ、局所座標テーブル222に追加記憶され(ステップS613)、フローを終了する。
図13に示す例では、局所座標系IDが0である局所座標系上に、3つの送信機#0〜#2が図示されている。送信機IDが0である送信機#0の位置座標(X00,Y00)は、式(2)の連立方程式から算出される。また、この送信機#0の位置座標の信頼度w0_0は式(5)より算出される。同様に、送信機IDが1である送信機#1の位置座標(X01,Y01)は、式(2)の連立方程式から算出され、この送信機#1の位置座標の信頼度w0_1は式(5)より算出される。送信機IDが2である送信機#2の位置座標(X02,Y02)も式(2)の連立方程式から算出され、この送信機#2の位置座標の信頼度w0_1は式(5)より算出される。
【0046】
なお、上述の式では、送信機の位置座標について微分変動量fと算出結果と計測結果の差のノルムgが求められ、これに基づいて送信機の位置座標の信頼度が求められた。しかしながら、後述する送信機間距離について、微分変動量f及び算出結果と計測結果の差のノルムgが算出されてもよい。
【0047】
なお、ステップS615では、より新しい計測時刻について予め定めた数のデータは残して、他のデータは削除する。あるいは、各データに所定の方法で評価値を付与し、評価値の低いものから順に削除するなどしてもよい。また、データを削除せずに局所座標算出部230の処理を終了しても良い。
【0048】
次に、局所座標統合部240において実行される処理について説明する。
図8は、統合座標系抽出部241が実行する処理の詳細を示すフローチャートである。図8に示す処理は、図5ではステップS506の処理に相当する。
まず統合座標系抽出部241は、局所座標テーブル222の情報を取得する(ステップS801)。統合座標系抽出部241は、局所座標テーブル222に記憶された局所座標系から、2つの局所座標系を選ぶ全ての組合せを生成する(ステップS802)。統合座標系抽出部241は、生成した組合せから1つの組合せ(第1のIDと第2のID)を選択する(ステップS803)。
【0049】
統合座標系抽出部241は、選択された2つの局所座標系の両方に含まれる送信機の数を算出する(ステップS804)。そして、統合座標系抽出部241は、2つの局所座標系に共有される送信機(センサ)の数が所定の閾値以上であるか否かを判定する(ステップS805)。所定の閾値以上の送信機が2つの局所座標系に共有されている場合(ステップS805でYes)、これら2つの座標系は統合可能であると判定され、互いに統合可能な座標系として局所座標テーブル222に設定される。すなわち、局所座標テーブル222において、第1のIDに対応する「統合可能な座標系ID」として第2のIDが記憶され、逆に、第2のIDに対応する「統合可能な座標系ID」として第1のIDが記憶される。
【0050】
次に、統合座標系抽出部241は、ステップS802で生成した全ての組合せについて、ステップS803〜S806の処理が行われたか否かを判定する(ステップS807)。まだステップS803〜S806の処理が行われていない組合せがある場合(ステップS807でNo)、ステップS803に戻って他の組合せを選択し、以降の処理を繰り返す。一方、全ての組合せについて処理が終了していれば(ステップS807でYes)、統合座標系の抽出結果を局所座標テーブル222に送信し、フローを終了する。また統合座標系抽出部241は、各局所座標系について、当該局所座標系と統合可能な局所座標系のリスト(統合対象リスト)を生成し、統合処理部242に送信する。
【0051】
統合座標系抽出部241が、統合可能な局所座標系を抽出したら、統合処理部242によって統合処理が行われる。統合処理部242は、一つの局所座標系(対象座標系)に対して、統合可能な局所座標系毎に計測センサリストを生成し(図9)、当該対象座標系及び当該対象座標系と統合可能な他の統合座標系の双方に含まれる計測センサを検出して対応付け(図10)、計測センサリストに含まれる送信機の位置座標の修正値を算出する(図11)。
【0052】
図9は、統合処理部242が実行する計測センサリストの生成処理の詳細を示すフローチャートである。
統合処理部242は、統合座標系抽出部241から統合座標系の抽出結果を受信したら(ステップS901)、1つの局所座標系(対象座標系)についての統合対象リストから、当該対象座標系と統合可能な統合座標系のうち1つの座標系の局所座標系IDを選択する(ステップS902)。
【0053】
統合処理部242は、選択された統合座標系に含まれる計測センサ(送信機)から1つの計測センサを選択し(ステップS903)、当該選択された計測センサのIDが、選択された対象座標系の計測センサリストに含まれているか否かを判定する(ステップS904)。
【0054】
選択された計測センサのIDが計測センサリストに含まれている場合は(ステップS904でYes)、ステップS906に処理を進める。一方、選択された計測センサのIDが計測センサリストに含まれていない場合は(ステップS904でNo)、統合処理部242は、当該計測センサのIDを計測センサリストに追加する(ステップS905)。
【0055】
統合処理部242は、選択した局所座標系に含まれる計測センサ全てについてステップS903〜S905の処理が終了したか否かを判定する(ステップS906)。まだステップS903〜S905の処理が行われていない計測センサがある場合(ステップS906でNo)、ステップS903に戻って計測センサを選択し、以降の処理を繰り返す。一方、全ての計測センサについて処理が終了していれば(ステップS906でYes)、統合処理部242は、対象座標系と統合可能な全ての統合座標系についてステップS902〜S906の処理が終了したか否かを判定する(ステップS907)。
【0056】
まだステップS903〜S906の処理が行われていない局所座標系がある場合(ステップS907でNo)、ステップS902に戻って他の局所座標系を選択し、以降の処理を繰り返す。一方、対象座標系と統合可能な全ての統合座標系について処理が終了していれば(ステップS907でYes)、フローを終了する。
【0057】
以上のように、図9に示す処理によって、1つの局所座標系に対して統合可能な局所座標系に含まれる計測センサ(送信機)のリスト(計測センサリスト)が生成される。
次に、統合処理部242が行なう処理について、図10〜12を参照して説明する。
図10は、統合処理部242が実行するセンサ対応付け処理の詳細を示すフローチャートである。
統合処理部242は、対象座標系に対する計測センサリストが生成されたら、当該計測センサリストから1つの計測センサ(送信機)を選択する(ステップS1002)。
【0058】
次に統合処理部242は、局所座標系テーブル222に記憶されたX個の局所座標系から、1つの局所座標系を選択し(ステップS1003)、選択した局所座標系に含まれる計測センサが、ステップS1002で選択された計測センサに一致するか否かを判定する(ステップS1004)。
【0059】
選択した局所座標系に含まれる計測センサと、選択された計測センサが一致しない場合は(ステップS1004でNo)、ステップS1005の処理に進む。一方、選択した局所座標系に含まれる計測センサと、選択された計測センサが一致する場合は(ステップS1004でYes)、計測センサの対応付けが行なわれる(ステップS1005)。計測センサの対応付けでは、選択された局所座標系に含まれる全ての計測センサを、選択された計測センサと同一座標系内にある他の計測センサであるとし、これら他の計測センサの送信機IDと当該選択された計測センサの送信機IDとが対応づけられて局所座標テーブル222に記憶される。
【0060】
統合処理部242は、局所座標テーブル222に含まれるX個の局所座標系全てについてステップS1003〜S1005の処理が終了したか否かを判定する(ステップS1006)。まだステップS1003〜S1005の処理が行われていない局所座標系がある場合(ステップS1006でNo)、ステップS1003に戻って局所座標系を選択し、以降の処理を繰り返す。一方、全ての局所座標系について処理が終了していれば(ステップS1006でYes)、統合処理部242は、計測センサリストに含まれる全ての送信機についてステップS1002〜S1006の処理が終了したか否かを判定する(ステップS1007)。
【0061】
まだステップS1002〜S1006の処理が行われていない送信機がある場合(ステップS1007でNo)、ステップS1002に戻って他の送信機を選択し、以降の処理を繰り返す。一方、全ての送信機について処理が終了していれば(ステップS1007でYes)、フローを終了する。
【0062】
以上のように、図10に示す処理によって、複数の局所座標系間で送信機(計測センサ)が対応付けされる。
図11は、統合処理部242が実行する基準座標系上におけるセンサ位置座標補正処理の詳細を示すフローチャートである。各センサの初期位置は、基準座標系に設定された局所座標系上のセンサについては局所座標算出部230で算出された値とし、それ以外のセンサについては、乱数により与えるとする。
統合処理部242は、局所座標テーブル222に記憶された基準局所座標から、基準座標系を設定する(ステップS1100)。基準座標系はユーザによる設定操作などに応じて予め定められていてもよく、その設定情報はデータ記憶部220の基準座標系情報格納部223に記憶されている。以下では、説明のため局所座標系IDが0である座標系が基準座標系であるとする。統合処理部242は、基準座標系を構成する対象座標系に対して生成された計測センサリストから1つの計測センサ(送信機#i)を選択する(ステップS1101)。そして統合処理部242は、選択された送信機#iと同一の局所座標系内にある他の送信機(図10の処理において設定)の集合を送信機集合giとして、以下の式(7)によって、当該選択された送信機#iの算出位置の補正された座標値ΔXiを算出する。
【0063】
【数7】
式(7)においてL0_ijは送信機#iと送信機#jとの間の送信機間距離を表す。
統合処理部242は、計測センサリスト内の全ての送信機についてステップS1101〜S1102の処理が終了したか否かを判定する(ステップS1103)。まだステップS1101〜S1102の処理が行われていない送信機があれば(ステップS1103でNo)、ステップS1101に戻って他の送信機を選択し、以降の処理を繰り返す。
【0064】
全ての送信機について処理が終了したら(ステップS1103でYes)、統合処理部242は、以下の式(8)より評価式Jの値を求め、その値が所定の閾値よりも小さいか否かを判定する(ステップS1104)。
【0065】
【数8】
式(8)において、Gは後述するように、送信機間距離が求められている2つの送信機の組合せの集合を表す。
評価式Jの値が閾値よりも小さい場合(ステップS1104でYes)、フローを終了する。一方、評価式Jの値が所定の閾値以上である場合(ステップS1104でNo)、計測センサリストに含まれる全ての送信機が未選択であるとして(ステップS1105)ステップS1101に戻り、再び計測センサリストから送信機を選択して以降の処理を繰り返す。
【0066】
以上のように、図11に示す処理によって、対象座標系に対して生成された計測センサリストに含まれる送信機の位置座標の補正値を求めることができる。
なお、図9〜図11に示す処理は、1つの対象座標系に対して、連続して実行されてもよいが、異なる局所座標系を対象として個別に実行されてもよい。
【0067】
また、他の局所座標系と統合可能であると判定された局所座標系内で、図12に示す送信機間距離算出が行なわれてもよい。
図12は、統合処理部242が実行する送信機間距離の算出処理の詳細を示すフローチャートである。
統合処理部242は、図8に示す統合座標系抽出部241による抽出結果と、局所座標テーブル222の情報を取得する(ステップS1201)。統合処理部242は、統合座標系抽出部241が他の局所座標系と統合可能である局所座標系を抽出したか否かを判定する(ステップS1202)。統合可能な局所座標系が存在しない場合は(ステップS1202でNo)、処理を終了する。
【0068】
一方、統合可能な局所座標系が存在する場合(ステップS1202でYes)、統合処理部242は、未選択の統合可能座標系から一つの局所座標系を選択する(ステップS1203)。統合処理部242は、選択された局所座標系において、送信機間距離が算出されていない送信機の組合せがあるか否かを判定する(ステップS1204)。
【0069】
送信機間距離が算出されていない送信機の組合せが無ければ(ステップS1204でNo)、ステップS1202に戻り、以降の処理を繰り返す。一方、送信機間距離が算出されていない送信機の組合せがあれば(ステップS1204でYes)、統合処理部242は、未選択の送信機の組合せを選択する(ステップS1205)。そして、選択した送信機の組合せについて、送信機間距離とその信頼度を算出し(ステップS1206)、処理はステップS1204に戻る。算出された送信機間距離とその信頼度は、局所座標テーブル222に記憶される。
【0070】
送信機間距離は、各局所座標系において算出され、局所座標テーブル222に記憶されている送信機の位置座標を用いて算出される。例えば、図13に示す例では、局所座標系IDが0である局所座標系に含まれる3つの送信機#0〜#2の各位置座標及びその信頼度が算出されて局所座標テーブル222に記憶されている。この場合、算出位置座標が(X00,Y00)である送信機#0と、算出位置座標が(X01,Y01)である送信機#1のとの間の距離L0_01は、以下の式(9)から算出される。
【0071】
【数9】
また、このように算出された送信機間距離の信頼度w0_01は、一例として、式(10)に示すように各送信機の位置座標の信頼度w0_0とw0_1の積で与えられる。
【0072】
【数10】
図13に示す3つの送信機#0〜#2の例では、図14に示すように、送信機#1と送信機#2との間の距離L0_12、及び送信機#2と送信機#0との間の距離L0_20も式(9)と同様に算出される。また、送信機間距離L0_12の信頼度w0_12及び送信機間距離L0_20の信頼度w0_20も式(10)と同様に算出される。
【0073】
以上のように、図12の処理によれば、局所座標系における送信機間距離及びその信頼度を算出することができる。
図9〜図12に示す処理によって、局所座標系における各送信機の位置座標とその信頼度、また送信機間距離とその信頼度を算出することができる。
【0074】
局所座標系によって送信機関距離の算出結果が異なることに留意する必要がある。図15では、局所座標系IDが0である局所座標系と局所座標系IDが1である局所座標系を示されている。図15の例では、局所座標系IDが0である局所座標系において算出された送信機#1と送信機#2の送信機間距離L0_12と、局所座標系IDが1である局所座標系において算出された送信機#1と送信機#2の送信機間距離L1_12とでは、その大きさが異なっている。このように、送信機間距離及びその信頼度は、局所座標系によって異なると考えられる。
【0075】
送信機間の距離は、信頼度が低い送信機間距離の影響を低減させるために、信頼度によって重み付けした送信機間距離の加重平均を用いて算出してもよい。図15に示す例において、信頼度を用いて算出される送信機#1と送信機#2の送信機間距離L12は、以下の式(11)によって与えられる。
【0076】
【数11】
これにより、信頼度の高いデータを優先的に使用して送信機間の距離を算出することができる。
次に、統合処理部242は、送信機間距離の加重平均を用いて無向グラフ上の全局所座標系の基準座標系への統合を行う。すなわち、各送信機の基準座標系における位置座標を算出する。
【0077】
図17は、図16に示された各送信機間の距離を、送信機間の加重平均距離によって表した図である。基準座標系上の送信機#iの位置座標X0_iは、式(8)によって与えられる評価式の値Jが最小となるような最適計算を施すことにより算出される。式(8)において集合Gは、送信機間距離が算出されている送信機の組み合わせの集合を表す。評価式の値Jを最小化するアルゴリズムの一例が、式(7)から得られる修正値を用いて各送信機の位置座標を修正する方法である。統合処理部242は、評価式の値Jが閾値以下になるまで式(8)による再帰計算を行う。
【0078】
例えば図17に示す例では、送信機#2との間で送信機間距離が算出された送信機の集合g2は、g2={0,1,3,4,5}となる。統合処理部242は、送信機#2の位置座標を、当該送信機#2の算出位置座標と、集合g2に含まれる各送信機と送信機#2の加重平均距離との差に基づいて、送信機#2の位置座標を修正する。
【0079】
図18は、送信機#2の位置座標の修正の様子を示す図である。例えば、送信機#0の推定算出位置を用いて送信機#2の位置修正を行う際、両送信機の推定位置より算出される送信機間距離を算出し、算出した送信機間距離の値と信頼度により重み付けした送信機間距離の差を算出する(以降、その差をnとする)。nの値が正である場合、両送信機の推定位置を結んだ直線上で送信機#0とは反対方向に送信機#2をnの量だけ移動した地点の位置座標を、送信機#2の修正された位置座標とする。nの値が負である場合、当該直線上で送信機#2を送信機#0に向かってnの量だけ移動した地点の位置座標を、送信機#2の修正された位置座標とする。同様に、送信機#2の位置座標と距離計測を行なった他の送信機(送信機#1、#3〜#5)の位置座標を用いて送信機#2の位置座標を修正する。
【0080】
以上の処理により、基準座標系における各送信機の位置座標が算出される。
統合処理部242は、送受信端末10の位置座標も算出する。送受信端末10の位置座標は、算出された送信機#iの位置座標と送受信端末10との間の計測距離により生成される連立方程式を解くことで算出される。例えば送受信端末10が、送信機#0〜#2との間で距離計測を行った場合は、以下の連立方程式(12)から、送受信端末10の位置座標が算出される。
【0081】
【数12】
以上の第1の実施の形態によれば、基準座標系における各送信機及び送受信端末10の位置座標を算出することが可能となる。また、センサの移動やセンサ計測精度の低下等により一部のセンサ推定位置やセンサ計測値の誤差が大きくなった場合でも、それらの影響を低減しながら各局所的な相対座標系を統合することが可能となる。さらに、障害物がある等の理由で、移動物体までの距離計測が困難であるセンサ位置も、局所的相対座標系の統合により、一つの相対座標系上で求めることが可能になる。
【0082】
(第2の実施の形態)
第2の実施の形態では、信頼度の高いセンサから順に算出位置を確定し、信頼度の高いセンサ位置のみを用いて移動物体の位置を算出する。これによって、基準座標系を常に移動物体が存在する局所座標系と設定することで、基準座標系から物理的に離れた距離に存在する局所座標系上のセンサ位置推定誤差は大きくなるが、移動物体が近づくにつれてセンサ位置推定誤差を小さくすることができる。
【0083】
本実施の形態の位置算出装置について図19を参照して説明する。
本実施の形態の位置算出装置1900は、受信部210、データ記録部1910、局所座標算出部1920、局所座標統合部1930を含む。データ記録部1910は、計測距離テーブル1911、局所座標テーブル1912、基準局所座標系ID1913を記録している。局所座標統合部1930は、統合可能局所座標系抽出部1931、統合部1932、入出力部243を含む。
【0084】
計測距離テーブル1911は、図20に示されるように、各送信機の送信機ID(#i)に対応して、計測時刻t、及び計測時刻tにおける計測距離di(t)を含んでいる。
局所座標テーブル1912は、図21に示されるように、局所座標系毎に、局所座標系ID、当該座標系に含まれる送信機ID、各送信機の座標、最新位置算出時刻、各送信機と送受信端末10との間の計測距離、後述する信頼度、統合可能な局所座標系のID、平均の計測距離、及び送受信端末10の位置座標に加え、基準局所座標系からの距離を含んでいる。各送受信機間の計測距離とは、各送信機と送受信端末との計測距離を示す。
【0085】
基準局所座標系ID1913は、基準局所座標系のIDである。
局所座標算出部1920は、データ記録部1910に記録されているテーブルを用いて局所座標系を算出する。詳細な動作については後に図23A及び図23Bを参照して説明する。
局所座標統合部1930は、局所座標テーブル1912に格納されている局所座標系を統合する。より詳しくは、データ記録部1910から局所座標テーブル1912と基準局所座標系IDを取得して局所座標テーブル1912に記録されている各局所座標系を統合できるか否かを判定し、統合可能な局所領域上に存在する各送信機間距離の算出を信頼度に基づいて行い、局所座標テーブル1912の情報と判定結果を用いて局所座標系の統合を行う。局所座標統合部1930に含まれる統合可能局所座標系抽出部1931の詳細な動作については後に図24A及び図24Bを参照して説明する。局所座標統合部1930に含まれる統合部1932の詳細な動作については後に図25A、図25B、及び図25Cを参照して説明する。
【0086】
次に、位置算出装置1900の動作の一例について図22を参照して説明する。
受信部210が、送受信端末10から送信機ID、計測時刻、及び距離計測結果(計測距離)を受信する(ステップS2201)。受信部210は、受信結果をデータ記録部1910の計測距離テーブル1911に追加するとともに、局所座標算出部1920に渡す。
【0087】
局所座標算出部1920が受信部210から送信機ID、計測時刻、距離計測結果(計測距離)を受け取ると、局所座標算出部1920がデータ記録部1910から局所座標テーブル1912を取り出し、受け取った送信機IDにより送信機の組み合わせが新規組み合わせであるか否かを判定する(ステップS2202)。新規組み合わせである場合にはステップS2203に進み、新規組み合わせではない場合(つまり、受信したデータで作成される局所座標系は、局所座標テーブル1912に既に含まれている場合)にはステップS2204に進む。
【0088】
局所座標算出部1920が、新規局所座標系IDを作成し、計測した送信機IDの中から3つの代表送信機を選定し、局所座標系を設定し、ステップS2205に進む(ステップS2203)。一方、局所座標算出部1920が局所座標テーブル1912に記録済みの局所座標系IDの中で更新対象となる局所座標系ID(すなわち、ステップS2201で受信した送信機IDに対応するID)を選択し、ステップS2205に進む(ステップS2204)。
【0089】
局所座標算出部1920が、ステップS2203で作成された局所座標系ID、又はステップS2204で選択された局所座標系IDに対応する送信機座標値、最新位置算出時刻、各送受信機間の計測距離、信頼度、統合可能な局所座標系ID、基準局所座標系からの距離、平均計測距離、端末位置を算出し、データ記録部1910の情報を更新する(ステップS2205)。ステップS2203で新規局所座標系IDを作成する場合には、局所座標テーブル1912に新たに作成した局所座標系IDと対応づけて、算出した送信機座標値、最新位置算出時刻、信頼度、統合可能な局所座標系ID、基準局所座標系からの距離、平均計測距離、端末位置を算出し、データ記録部1910に記録する。
【0090】
統合可能局所座標系抽出部1931がデータ記録部1910から局所座標テーブル1912と基準局所座標系IDを取得して局所座標テーブル1912に記録されている各局所座標系を統合できるか否かを判定し、局所座標テーブル1912の情報と判定結果を統合部1932に受け渡してステップS2207に進む(ステップS2206)。
【0091】
統合部1932が統合可能な局所領域上に存在する各送信機間距離の算出を信頼度に基づいて行う(ステップS2207)。
統合部1932がステップS2206より受け取った局所座標テーブル1912の情報と各局所座標系を統合可能か否かの判定結果を用いて局所座標系の統合を行い、基準局所座標系上で算出された送信機位置を算出しステップS2209に進む(ステップS2208)。
【0092】
統合された送信機位置と距離計測値を用いて基準座標系上における送受信端末位置を算出し、入出力部を介して統合結果を出力する(ステップS2209)。なお、統合結果を出力するのではなく、データ記録部1910に記録することとしてもよい。また、基準局所座標系は移動物体の存在する局所座標系に設定するといったように、動的に設定できるとしてもよい。
【0093】
また、図22では局所座標算出部1920の処理の後に続けて局所座標統合部1930の処理を実施する例を記載したが、局所座標算出部1920の処理と局所座標統合部1930の処理を分離し、局所座標算出部1920はデータ記録部1910の局所座標テーブル1912を更新して処理を終了することとし、局所座標統合部1930は予め定めたタイミングで(例えば、予め定めた時間間隔で、あるいは、入出力部からの起動指示により)図22のステップS2206の処理を開始することとしてもよい。
【0094】
次に、局所座標算出部1920の動作の一例について図23A及び図23Bを参照して説明する。
局所座標算出部1920は、データ記録部1910から局所座標テーブル1912(図21)を取得する(ステップS601)。取得した局所座標テーブル1912において局所座標系IDごとに記録されている送信機IDを参照し、計測結果から取得した送信機IDの組み合わせが局所座標テーブル1912に記録されているかどうかの判定を行う(ステップS2301)。記録されている場合はステップS2302に進み、記録されていない場合はステップS2303に進む。
【0095】
以前にデータ記録部1910にて記録された送信機IDの組み合わせであることが判定された場合には、データ記録部1910から図21に示す局所座標テーブル1912を読み出し、それまでに計測された該当局所座標系上の各送受信機間の計測距離と、座標系を設定する代表送信機IDの取得を行い、S2304に進む(ステップS2302)。
【0096】
一方、新たな送信機IDの組み合わせである場合には、それら組み合わせに対して局所座標テーブル1912を参照することで割り当てられていないユニークな局所座標系IDを新たに割り当てる(ステップS2303)。このとき、局所座標系IDは0から順に連番で付与していく。また、計測結果より取得された送信機の中から3つの代表送信機を任意に選択し、図7に示すように、任意2つの代表送信機をx軸上に設定し、片方を原点とする。さらに+y軸方向を残りの代表送信機の存在する方向とすることで、局所座標系における座標系を設定する。局所座標テーブル1912に新たに付与された局所座標系IDと座標系を設定する代表送信機IDをデータ記録部1910に記録し(図21を更新し)、S2304に進む(ステップS2303)。
【0097】
図21から、S2302で選択した、又はS2303で設定した局所座標系IDに対応する情報を取得する(ステップS2304)。データ記録部1910から計測距離テーブル1911の情報を取得し(ステップS2305)、計測結果より取得した送信機IDに対応する複数時刻の計測結果を用いて、計測結果より取得した送信機IDで構成される局所座標系における各送信機の相対座標を算出する(S2306〜S2309)。
【0098】
具体的には、最新の計測結果から取得された送信機数をM、これまでに記録された該当送信機と送受信端末間の距離情報(N時刻分の距離情報)数をNとしたとき、特許文献1に記載の方法を用いると、MN≧2M+2Nを満たす場合に予め定めた関係式を用いて各送信機の相対距離が算出可能となる。また、1つの送信機が原点にあり、他の1つの送信機がX軸上にあるとの前提条件を追加すると、推定すべき変数は送信機の二次元位置座標2M−3個(三次元位置座標の場合は3M−6個)、送受信端末の二次元位置座標2N個(三次元位置座標の場合は3N個)となる。一方、条件式の数はMN個となる。したがって、MN≧2M+2N−3(3次元座標の場合はMN≧3M+3N−6)の条件式を満たす場合、各時刻における送受信端末の位置推定の算出が可能となる。例えば、送信機の数が3個の場合、N≧3となるため、3時刻分以上の各送信機までの距離情報が取得できれば各送信機と送受信端末の位置推定が可能となる。
【0099】
局所座標系ID#0における送信機と送受信端末の位置推定で用いる条件式は上式(2)を用いて算出する。ただし、添え字iは送信機IDとし、t、t1、t2は異なる時刻であるとする。また、(x0i,y0i)、(x0h(t),y0h(t))はそれぞれ局所座標系0における送信機ID0の位置と時刻tにおける送受信端末の位置である。
【0100】
上記連立方程式を解くことにより、時刻tにおける送信機と送受信端末の位置を算出することができる。
算出した各送信機位置の信頼度を算出する(ステップS2310)。信頼度としては、例えば推定位置の微分変動量fや、送信機と送受信端末の推定位置から算出される距離と実際の距離計測値の差のノルムgを含む関数等がある。例えば、局所座標系ID0における送信機iの尤度w0_iは上式(3)、(4)及び(5)でXをxにYをyに変更したもので示される。ここでα、βは重み係数であり、0以上の値を持つ。
【0101】
また、このとき(局所座標系ID#i上で)算出された推定位置全体の精度指標を示す信頼度Wiは上式(6)を使用して算出する。信頼度Wiとしては、例えば局所座標系iの座標系を設定する3つの代表送信機推定位置の尤度の積があげられる(上式(6)、S:代表送信機ID)。
【0102】
S2310で推定された送信機位置から該当局所座標系上の各送信機間距離とその信頼度を算出する(ステップS2311)。例えば、局所座標系#0上で推定された送信機#0の推定位置(x00、y00)と送信機#1の推定位置(x01、y01)間の推定距離L0_01は上式(9)のように算出する。
【0103】
推定した送信機間距離の信頼度としては、例えばS2310により算出された送信機推定位置の信頼度の積が挙げられる(例えば局所座標系#0上のセンサID#0−#1間の距離信頼度(上式(10)))。局所座標系における送信機及び送受信端末の推定位置と推定位置の信頼度、そして送信機間距離と送信機間距離の信頼度を局所座標系IDに対応付けて、データ記録部1910へ渡す(すなわち、図21を更新する)(ステップS2312)。
【0104】
そして、計測距離テーブル1911の一部のデータを削除する(ステップS2313)。なお、削除対象となるデータは、例えば、予め定めた数の新しい時刻のデータ以外は削除、予め定めた個数のデータのみ削除、何らかの方法で各データに評価値を付与し、評価値の低いものから順に削除、などの方法がある。また、データを削除せずに局所座標算出部1920の処理を終了してもよい。
【0105】
次に、統合可能局所座標系抽出部1931の動作の一例について図24A及び図24Bを参照して説明する。統合可能局所座標系抽出部1931は、予め定めた数以上の個数の送信機を共有している局所座標系が統合可能であると判定した場合に(ステップS2402)、統合可能な局所座標系ID同士の対応関係を記録した統合局所座標系IDリストを作成する(ステップS2408)。
【0106】
まずデータ記録部1910からデータ記録部1910に記録されている全ての局所座標テーブル1912を取得する(ステップS801)。取得した局所座標テーブル1912に記録されている局所座標系の数Xを算出し、X個の局所座標系IDから2つの局所座標系IDを選び出す全組合せを生成する(ステップS802)。Xは最新に記録された局所座標系IDに1を加えた数となる。
【0107】
X個の局所座標系の中から2つを選び出す組み合わせの中で、未選択の組み合わせがあるかどうかを判定する(ステップS2401)。未選択の組み合わせがある場合、ステップS803に進む。未選択の組み合わせが無い場合、ステップS2404に進む。なお、X個の局所座標系の中から2つを選び出す組み合わせが未選択か選択済みかを判定するための方法の一例としては、バッファを設けて、選択済みの局所座標系IDの組み合わせを順次バッファに追記し、バッファを参照する方法がある。
【0108】
X個の局所座標系の中から2つを選び出す組み合わせの中で未選択の組み合わせを1つ選択し、ステップS804に進む(ステップS803)。
局所座標テーブル1912の中から選択された2つの局所座標系IDそれぞれに含まれる送信機IDのリストを取得する(ステップS804)。説明のため、選択された局所座標系IDをそれぞれID1、ID2とする。局所座標系ID1に含まれる送信機IDのリストと、局所座標系ID2に含まれる送信機IDのリスト双方に含まれる送信機IDの数を算出し、ステップS2402に進む(ステップS804)。
【0109】
算出された双方の送信機IDリストに含まれる送信機の数が予め定めた局所座標系統合可否判断閾値(例えば3)以上であるか否かを判定する(ステップS2402)。算出された双方の送信機IDリストに含まれる送信機の数が予め定めた局所座標系統合可否判断閾値以上の場合には、ステップS803で選択された2つの局所座標系(局所座標系ID1、局所座標系ID2で特定される2つの局所座標系)は統合可能と判断し、ステップS2403に進む。算出された双方の送信機IDリストに含まれる送信機の数が予め定めた局所座標系統合可否判断閾値よりも小さな値の場合には、ステップS803で選択された2つの局所座標系(局所座標系ID1、局所座標系ID2で特定される2つの局所座標系)は統合不可能と判定し、ステップS2401に戻る。
【0110】
データ記録部1910の図21の局所座標系ID1に対する「統合可能な領域ID」に局所座標系ID2を追記し、データ記録部1910の図21の局所座標系ID2に対する「統合可能な領域ID」に局所座標系域ID1を追記する(ステップS2403)。
【0111】
データ記録部1910より、局所座標テーブル1912と基準局所座標系IDを取得する(ステップS2404)。次に、基準局所座標系から統合可能な各局所座標系の抽出を行い、統合局所座標系リストを作成する(ステップS2405〜S2411)。また、統合可能な各局所座標系の基準局所座標系からの距離の算出を行う。
【0112】
基準局所座標系IDを統合局所座標系IDリストに追加し、基準局所座標系IDを統合局所座標系IDの初期値とする(ステップS2405)。また、図21中の基準局所座標系IDに対応する「基準局所座標系からの距離」を0と設定し、基準局所座標系からの距離Dの初期値を1とする。
統合局所座標系IDの「統合可能な局所座標系ID」の中で未選択の局所座標系IDがあるかどうかの判定を行う(ステップS2406)。未選択の局所座標系IDがある場合はS2407へ進み未選択の局所座標系IDのうちの1つを選択し(ステップS2407)、全て選択済みである場合はS2409に進む。
【0113】
ステップS2407で選択された局所座標系IDを統合局所座標系IDリストに追加し、図21中の選択された局所座標系IDに対応付けられた「基準局所座標系IDからの距離」にDの値を記録し、選択された局所座標系を選択済みとする(ステップS2408)。
【0114】
基準座標系からの距離がDである局所座標系のうち、統合局所座標系IDに格納されたことのない局所座標系があるかどうかの判定を行う(ステップS2409)。ある場合はステップS2410に進み、ない場合はステップS2411に進む。
基準座標系からの距離がDである局所座標系の中から統合局所座標系IDに格納されたことのない局所座標系IDを1つ選択し、選択された局所座標系IDを新たな統合局所座標系IDとする(ステップS2410)。距離Dである全ての局所領域IDが統合局所座標系IDに格納された場合、Dの値を1つ加算させる。
図21の局所座標テーブル1912と統合局所座標系IDリストを統合部1932に渡すとともに、図21の局所座標テーブル1912と統合局所座標系IDリストを更新する(ステップS2411)。
【0115】
次に、統合部1932の動作の一例について図25A、図25B、及び図25Cを参照して説明する。基準座標系から統合可能な全局所座標系の組み合わせに対して、以下の処理を行うことで基準座標系における全送信機と送受信端末の位置を算出する。
統合可能局所座標系抽出部1931より図21の局所座標テーブル1912と統合局所座標系IDリストを受け取る(ステップS2501)。
【0116】
統合局所座標系IDリストの中で未選択の局所座標系があるかどうかの判定を行う(ステップS2502)。未選択の局所座標系がある場合はステップS2503へ、ない場合はステップS2508へ進む。
未選択の局所座標系IDを1つ選択し、選択された局所座標系IDを選択済と設定する(ステップS2503)。
ステップS2503で選択された局所座標系IDに対応付けられた図21内の「送信機間距離」を構成する送信機IDの組合せの内、未選択の送信機の組合せがあるかどうかの判定を行う(ステップS2504)。ある場合はステップS2505に進み、ない場合はステップS2502に戻る。
【0117】
未選択の送信機IDの組み合わせを選択し(ステップS2505)、統合局所領域IDリスト内に格納された局所座標系IDの中で、ステップS2503で選択されなかった各局所座標系IDに対応付けられた「送信機間距離」の中で、ステップS2505で選択された送信機IDの組合せがあるかどうかの判定を行う(ステップS2506)。ある場合はステップS2507に進み、ない場合はステップS2504に戻る。
【0118】
ステップS2505で選択された送信機IDの組合せと同じ組合せを持つ、ステップS2503で選択された局所座標系以外の局所座標系で算出された送信機間距離を信頼度により統合し、統合された送信機間距離の算出結果を記録する(ステップS2507)。距離を統合した送信機の組合せは処理済と設定し、S2504に戻る。図15の例における、信頼度を用いたセンサ間距離L12の算出法を上式(11)に示す。これにより、信頼度の高いものを優先した送信機間距離推定が可能となる。
【0119】
統合可能局所座標系抽出部1931より図21の局所座標テーブル1912の情報と信頼度を用いた各送信機間距離の算出結果を受け取る(ステップS2508)。また、基準局所座標系からの距離Dの初期値を0とする。
図21の内「基準局所座標系からの距離」がDである未選択の局所座標系IDがあるかどうかの判定を行う(ステップS2509)。未選択の局所座標系IDが存在する場合はステップS2510へ進み、ない場合はステップS2516へ進む。
【0120】
未選択の局所座標系の中から一つの局所座標系を選択し、選択された局所座標系を選択済みと設定する(ステップS2510)。ただし、初回時では基準局所座標系IDを選択する。
選択された局所座標系において未選択の送信機IDがあるかどうかの判定を行う(ステップS2511)。ある場合はステップS2512へ進み、ない場合はS2509に戻る。
【0121】
S2510で選択された局所座標計上の送信機IDの中で信頼度の最も大きい送信機を選択する(ステップS2512)。ここで、説明のため、選択されたセンサIDをiとする。
送信機iと信頼度を用いた送信機間距離を行った送信機の内、信頼度が予め設定した閾値より信頼度の高い送信機があるかどうかの判定を行う(ステップS2513)。ある場合はS2514へ進み、ない場合はS2511へ戻る。
【0122】
送信機iと信頼度を用いた送信機間距離を行った送信機の内、信頼度が予め設定した閾値より信頼度の高い送信機を全て選択し、信頼度の高い順に上式(7)の集合giに加える(ステップS2514)。
上式(7)を用いて送信機iの位置修正移動量であるΔxiを算出し、送信機iを選択済みと設定する(ステップS2515)。ただし、各送信機の初期値は以下のように設定する。基準座標系上の代表送信機の内、原点に設定された代表送信機位置を(0、0)とし、x軸上に設定された代表送信機のy座標を0とする。残り全ての送信機初期位置を乱数によりランダムに与える。
【0123】
Dの値に1加算した後(ステップS2516)、Dの値が図21中の「基準座標系からの距離」の最大値以下であるかどうかの判定を行う(ステップS2517)。最大値以下である場合は、ステップS2509に戻り、最大値よりも大きな値である場合はステップS2518に進む。
【0124】
推定された送信機位置の評価を上式(8)により行う(ステップS2518)。上式(8)の評価値が予め設定した閾値よりも小さい場合にはステップS2520へ進み、閾値以上の場合にはステップS2519へ進む。
全ての局所座標系の選択判定結果と送信機の選択判定結果を未選択とし、基準局所座標系からの距離Dを0に設定し、ステップS2509に戻る(ステップS2519)。
【0125】
ステップS2507で算出された基準座標系上における各送信機位置と信頼度を用いた送信機間距離の逆数をそれぞれノードとコストし、ダイクストラ法により、各ノード(送信機推定位置)のコスト計算を行う(ステップS2520)。ただし、ダイクストラ法において基準座標系上の原点に設定された送信機位置をスタートノードとする。
【0126】
ステップS2520で算出された各送信機位置のコストのうち、最も小さいものから予め設定された数(例えば3つ)の送信機IDの組み合わせを選択する(ステップS2521)。
基準座標系上における選択された3つの送信機の推定位置と、送受信端末までの距離計測値を用いた連立方程式を解くことにより送受信端末の位置を算出する(ステップS2522)。例えば、送信機ID0、1、2が選択された場合の連立方程式は上式(12)でXをxにYをyに変更したものである。ただし(xi、yi)、(xh(t)、yh(t))はそれぞれ基準局所座標系上における送信機IDiの位置と時刻tにおける送受信端末位置である。
【0127】
基準座標系上における送信機と送受信端末の推定位置を入出力部に送信し(ステップS2523)、統合部1932の処理を終了する。
以上の第2の実施形態によれば、基準座標系を常に移動物体が存在する局所座標系と設定することで、基準座標系から物理的に離れた距離に存在する局所座標系上のセンサの位置推定誤差は比較的大きいが、移動物体が近づくにつれてセンサ位置推定誤差を小さくすることができる。例えば、移動物体のナビゲーションにおいて、目的のランドマークが遠い場合は大まかな説明で十分であり、近づくにつれて細かいナビゲーションが必要となる場合に有効である。
【0128】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の位置算出装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータ又は組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の位置算出装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【0129】
なお、本願発明におけるコンピュータ又は組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
【0130】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0131】
10…送受信端末、20…位置算出装置、101…受信部、102…距離計測部、103…送信部、210…受信部、220…データ記憶部、221…局所座標テーブル、223…基準座標系情報格納部、240…局所座標統合部、241…統合座標系抽出部、242…統合処理部、243…入出力部。
【技術分野】
【0001】
本発明は、位置算出装置、方法及びプログラムに関する。
【背景技術】
【0002】
従来、屋内におけるユーザトラッキングシステム(ユーザ位置算出システム)において、環境中に設置されたセンサを用いて空間におけるユーザの位置を算出する方法や、ユーザや対象物にセンサを取りつけてそれぞれの相対位置を組み合わせ、ユーザや対象物の空間内での位置を算出する方法が用いられている。
【0003】
非特許文献1には、室内にセンサを張り巡らせて人物の位置を取得できるセンシングルームが記載されている。この技術によれば、センシングルーム内での人間の位置を精度良く計測できる。
また、特許文献1には、位置が未知である複数の固定装置と位置が未知である移動装置の相対位置を、固定装置と移動装置の相対距離を用いて算出する技術が記載されている。この技術により、システムの導入コストの低減が期待できる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4057023号明細書
【非特許文献】
【0005】
【非特許文献1】森,「生活パターンを覚えて助ける知能住宅」,ネットワークロボット研究会,pp20-24,2005
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、非特許文献1に記載のセンシングルームでは、1部屋に500以上のセンサを設置しており、設置コストだけでなくキャリブレーションにかける労力も高くなり、汎用的なシステムとは言えない。
また、特許文献1に記載の技術では、一つの座標系上で全固定装置と移動装置の位置を算出するためには、全固定装置と移動装置間の距離計測を同時に行う必要があり、現実的には困難がある。そのため、距離計測を行った固定装置の組み合わせごとに設定される座標系上における位置算出しか実現することができない。
【0007】
本発明は、上記の事情に鑑みてなされたもので、固定装置の相対的な位置関係をもとに生成する相対座標系(以降、相対座標系に識別番号を付与したものを局所座標系IDと呼ぶ)ごとに算出された位置座標を精度よく1つの座標系に統合できる位置算出装置、位置算出方法、及び位置算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上述の課題を解決するため、本発明の位置算出装置は、複数の送信機を備える環境において、当該環境内を移動可能な端末と前記複数の送信機それぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置であって、それぞれ複数の送信機から構成される複数の局所座標系を検出し、前記端末と前記複数の送信機それぞれとの間の距離に基づいて、前記局所座標系それぞれにおいて、当該局所座標系を構成する複数の送信機の位置座標を算出する第1の座標算出手段と、前記複数の局所座標系のうち、閾値以上の数の送信機を共有する2つ以上の局所座標系を、互いに統合可能な座標系として抽出する統合座標系抽出手段と、統合可能な座標系として抽出された前記2つ以上の局所座標系それぞれにおいて、送信機間距離及び該送信機間距離の信頼度を算出し、前記2つ以上の局所座標系それぞれにおいて算出された送信機間距離の信頼度によって重み付けを行なって重み付け補正後の送信機間距離を算出し、信頼度がある値よりも高い送信機の前記補正後の送信機間距離のみを用いて、前記2つ以上の局所座標系を統合した座標系における各送信機の位置座標を信頼度が高い順に算出する第2の座標算出手段と、を具備することを特徴とする。
【発明の効果】
【0009】
本発明の構成によれば、局所座標系ごとに算出された位置座標を精度よく1つの座標系に統合することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施形態に係る位置算出システムの一例を示すシステム構成図。
【図2】第1の実施の形態に係る送受信端末及び位置算出装置の機能的な構成を示すブロック図。
【図3】データ記憶部に備えられる計測距離テーブルに格納されるデータ構成の一例を示す図。
【図4】データ記憶部に備えられる局所座標テーブルに格納されるデータ構成の一例を示す図。
【図5】位置算出装置において実行される処理全体を示すフローチャート。
【図6】局所座標算出部が実行する処理のフローチャート。
【図7】新たな局所座標系における位置座標の定め方を説明するための図。
【図8】統合座標系抽出部が実行する処理のフローチャート。
【図9】統合処理部が実行する計測センサリストの生成処理のフローチャート。
【図10】統合処理部が実行するセンサ対応付け処理のフローチャート。
【図11】統合処理部が実行する位置座標補正処理のフローチャート。
【図12】統合処理部が実行する送信機間距離の算出処理のフローチャート。
【図13】局所座標系の一例を示す図。
【図14】局所座標系において算出される送信機間距離と信頼度を説明するための図。
【図15】2つの局所座標系においてそれぞれ算出される送信機間距離の相違を示す図。
【図16】統合処理部による無向グラフの生成を説明するための図。
【図17】上述の無向グラフにおいて、送信機間距離を加重平均距離によって表した図。
【図18】送信機の位置座標の修正の様子を示す図。
【図19】第2の実施の形態に係る位置算出装置のブロック図。
【図20】図19の計測距離テーブルのデータ構成の一例を示す図。
【図21】図19の局所座標テーブルのデータ構成の一例を示す図。
【図22】図19の位置算出装置の動作の一例を示すフローチャート。
【図23A】図19の局所座標算出部の動作の一例を示すフローチャート。
【図23B】図19の局所座標算出部の動作の一例を示すフローチャート。
【図24A】図19の統合可能局所座標系抽出部の動作の一例を示すフローチャート。
【図24B】図19の統合可能局所座標系抽出部の動作の一例を示すフローチャート。
【図25A】図19の統合部の動作の一例を示すフローチャート。
【図25B】図19の統合部の動作の一例を示すフローチャート。
【図25C】図19の統合部の動作の一例を示すフローチャート。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら本発明の実施形態に係る位置検出装置、位置算出方法及び位置算出プログラムについて詳細に説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
まず、実施の形態について概略を説明する。
移動物体(例えばユーザが所持する送受信端末)の位置に応じて移動物体との距離を計測できるセンサ(例えば送信機)の組み合わせは時々刻々と異なる。その度に逐一設定される局所的な相対座標系上においてそれらセンサと移動物体の位置を算出する。最終的に、そのように独立に形成された局所的な相対座標系間で共通に存在するセンサの数が一定以上ある場合、それら相対座標系を任意の一つの相対座標系(基準座標系)上に射影することで、距離計測を行ったセンサと移動物体の位置を基準座標系上で算出することができる。しかし、一般的にセンサの移動やセンサ計測精度の低下等により、一部のセンサ推定位置やセンサ計測値の誤差が大きくなった場合、それらの影響が全体に波及する。実施形態では、基準座標系からの距離とセンサ推定位置の信頼度に着目して、一部の推定誤差の影響が全体に波及せずに、センサと移動物体の位置算出を行う。
【0012】
ただし、局所的な相対座標系上におけるセンサ位置を算出する技術は既知のものを利用し、局所座的な相対標系で算出されるセンサ位置には信頼度が付与されていることを想定する。
(第1の実施形態)
図1は、本発明の一実施形態に係る位置算出システムの一例を示すシステム構成図である。図1に示すように、ユーザUは、送受信端末10を携帯してシステム内を持ち運ぶ。n+1個の送信機#0〜#nは、システム環境(例えば1つの部屋)内の任意の箇所に設置される。ただし、nは3以上で任意の正の整数とする。
【0013】
この位置算出システムにおいては、少なくとも2つの局所座標系の統合が行なわれ、1つの局所座標系は少なくとも3個の送信機から構成される。したがって、4個以上の送信機が備えられる。i番目の送信機#iにはID:iが割り当てられ、その位置座標は、例えば送信機#0、#1及び#2による局所座標系ID0の座標系においては、X0_i=(X0i,Y0i)で表される。
【0014】
送信機#0〜#nは一例として、電波や音波等の波を発生させる送信端末であり、送受信端末10では、送信機#0〜#nからの電波や音波を受信して、当該送信機からの距離di(t)を測定する。ただし、送信機#1〜#nと送受信端末10との通信を媒介するのは、電波や音波に限定されず、距離への変換が可能であればどのような媒介であってもよい。送信機#0〜#nは、所定の時間間隔で、現時刻(送信時刻)と当該送信機に固有の送信機IDの情報を電波又は音波によって発信するものとする。
【0015】
図1に示す例では、送信機#0〜#nから発信される電波又は音波を、ユーザUが携帯する送受信端末10が受信するセンサシステムが図示されているが、これに限らず、ユーザUが送信機を携帯し、受信機が環境中に設置されてもよい。
以下では、図1の例に基づいて、送信機(センサ)が環境中に固定され、受信機(送受信端末10)をユーザが環境中で持ち運ぶ例について説明する。時刻tにおける送受信端末10の位置座標は、局所座標系IDが0である座標系では、X0_h(t)=(X0h(t),Y0h(t))で表される。
【0016】
位置算出装置20は、ユーザUが携帯する送受信端末10からの情報を基に、基準座標系における各送信機及び送受信端末10の位置座標の算出、及び算出された位置座標の校正等、各種の処理を実行するコンピュータシステムである。位置算出装置20は、図示しないプロセッサ、プログラムメモリ、及びワークメモリを有し、プロセッサがプログラムメモリに記憶された所定のプログラムを実行することで、本実施形態に係る各種の処理を制御する。
【0017】
図2は、この位置算出システムにおける送受信端末10及び位置算出装置20の機能的な構成を示すブロック図である。
送信機#0〜#nは、それぞれ所定の時間間隔で、現時刻(送信時刻)と送信機IDの情報を電波又は音波によって発信している。
送受信端末10は、受信部101、距離計測部102及び送信部103を備えている。受信部101は、送信機(#0〜#n)が発信する電波又は音波を受信する。距離計測部102は、現時刻(受信時刻又は計測時刻)と送信機からの送信時刻に基づいて電波又は音波の伝搬時間を算出し、その伝搬時間に基づいて送受信端末10と送信機との間の計測時刻tにおける距離di(t)を算出する。送信部103は、算出された距離(計測距離)を送信機IDと計測時刻に対応づけて、位置算出装置20に送信する。
【0018】
送信機と送受信端末10との間の距離算出は、電波と超音波を組み合わせて行われてもよい。この場合、超音波の発信を指示する呼び出し命令が、送受信端末10から送信機#iに電波によって送信され、電波を受信した送信機#iが超音波を発する。そして、送受信端末10が超音波を受信した時刻と送信機#iが超音波を発した時刻との時刻差に音速を乗じることで送信機#iと送受信端末10との間の距離di(t)が算出される。
【0019】
位置算出装置20は、受信部210、データ記憶部220、局所座標算出部230、及び局所座標統合部240を備える。
受信部210は、送受信端末10から送られた各送信機との間の計測距離、送信機ID及び計測時刻のデータを受信する。
データ記憶部220は、ハードディスク装置やフラッシュメモリ等を備える記憶装置である。データ記憶部220は、図3に示す計測距離テーブル221、図4に示す局所座標テーブル222、及び基準座標系情報格納部223を備える。送受信端末10から送られたデータは、計測距離テーブル221に保持される。
【0020】
図3は、データ記憶部220に備えられる計測距離テーブル221に格納されるデータ構成の一例を示す図である。図3に示すように、計測距離テーブル221には、各送信機の送信機IDに対応して、計測時刻t、及び計測時刻tにおける計測距離di(t)が記憶される。
【0021】
図4は、データ記憶部220に備えられる局所座標テーブル222に格納されるデータ構成の一例を示す図である。図4に示すように、局所座標テーブル222には、局所座標系毎に、局所座標系ID、当該座標系に含まれるセンサ(送信機)、各センサの座標、各センサと送受信端末10との間の計測距離、後述する信頼度、統合可能な局所座標系のID、平均の計測距離、及び送受信端末10の位置座標が格納される。
【0022】
基準座標系情報格納部223は、基準座標系を与える基準局所座標系の情報を格納する。基準局所座標系は、ユーザによる設定操作などに応じて予め定められていてもよい。
局所座標算出部230は、受信部210が受信したデータに基づいて、局所座標テーブル222の記憶内容を生成し、更新する。
【0023】
局所座標統合部240は、統合座標系抽出部241、統合処理部242及び入出力部243を有する。統合座標系抽出部241は、所定数以上の送信機を共有する2つの局所座標系を統合可能な局所座標系として抽出し、設定する。統合処理部242は、統合可能であるとして抽出された局所座標系の統合処理を行う。入出力部243は、統合結果を出力するための表示装置等を有する。あるいは入出力部243は、図示しない記憶装置に接続され、統合結果が当該記憶装置に出力され記憶されてもよい。
【0024】
次に、以上のように構成された位置算出装置20の動作について説明する。
図5は、位置算出装置20において実行される処理全体を示すフローチャートである。
受信部210は、送受信端末10から少なくとも1つの送信機(#i)の送信機ID、計測時刻及び計測距離を含むデータを受信する(ステップS501)。受信部210は、受信したデータをデータ記憶部220の計測距離テーブル221、及び局所座標算出部230にも出力する。計測距離テーブル221では、当該少なくとも1つの送信機(#i)の送信機ID:iに対応して、計測時刻及び計測距離のデータが更新される。
【0025】
局所座標算出部230は、送られた送信機ID、計測時刻及び計測距離データに基づいて、新規に局所座標系が作成されるか否かを判定する(ステップS502)。
受信したデータに含まれる局所座標系が、局所座標テーブル222に記憶されていない場合には、新規の局所座標系を作成する必要がある(ステップS502でYes)。この場合、局所座標算出部230は、局所座標テーブル222に無いIDを、新規の局所座標系IDとして生成する(ステップS503)。
【0026】
受信したデータに含まれる局所座標系が、既に局所座標テーブル222に記憶されている場合には、新規の局所座標系は作成されない(ステップS502でNo)。この場合、局所座標算出部230は、局所座標テーブル222から、受信データに含まれ更新対象となる局所座標系IDを選択する(ステップS504)。
【0027】
局所座標算部505は、ステップS503で新規に作成された局所座標系ID、又はステップS504で選択された局所座標系IDに対応する局所座標系を構成する送信機(センサ)と送受信端末10までの各最新計測距離を局所座標テーブル222の記憶内容に追加し、当該局所座標系IDに対応する局所座標系を構成する送信機(センサ)の位置座標、最新の位置算出時刻、信頼度、および平均計測距離の値を算出し、局所座標テーブル222の記憶内容を更新する(ステップS505)。新規に局所座標系が検出された場合には、新たに作成された局所座標系IDと対応づけて、各センサと送受信端末10までの最新計測距離を局所座標テーブル222の記憶内容に追加し、算出されたセンサの位置座標、最新の位置算出時刻、信頼度、及び平均計測距離の値を局所座標テーブル222に記憶し、記憶内容を更新する。また、局所座標算出部230は、当該新規の局所座標系に含まれる各センサのIDも局所座標テーブル222に記憶する。
【0028】
一方、ステップS504で更新対象となる局所座標系IDが選択された場合には、局所座標テーブル222において、選択された局所座標系IDに対応するセンサの位置座標、最新位置算出時刻、信頼度、平均計測距離の値を、算出した値に更新する。また、局所座標算出部230は、選択された局所座標系に含まれる各センサの計測距離も算出し、局所座標テーブル222において、当該選択された局所座標系の局所座標系IDに対応して、各センサの位置座標値を追加する。
【0029】
次に、局所座標統合部240では、統合座標系抽出部241が、局所座標テーブル222に記憶されている局所座標系のうち統合できる座標系があるか否かを判定する(ステップS506)。判定結果は、統合処理部242に送られる。
統合処理部242は、判定結果に基づいて局所座標系を統合する(ステップS507)。統合結果は、入出力部243を介して出力されてもよい。
【0030】
なお、図5では局所座標算出部230の処理の後に続けて局所座標統合部240の処理を実施する例を記載したが、局所座標算出部230の処理と局所座標統合部240の処理を分離し、局所座標算出部230はデータ記憶部220の局所座標テーブル222の記憶内容を更新して処理を終了することとし、局所座標統合部240は予め定めたタイミングで(例えば予め定めた時間間隔で、あるいは、入出力部からの起動指示により)図5のステップS506の処理を開始することとしても良い。
【0031】
次に、局所座標算出部230及び局所座標統合部240が実行する処理について、更に詳細に説明する。
図6は、局所座標算出部230が実行する処理の詳細を示すフローチャートである。図6に示す処理は、図5ではステップS502〜S505の処理に相当する。
受信部210が受信データをデータ記憶部220に格納したら、局所座標算出部230は、データ記憶部220の局所座標テーブル222の情報を取得する(ステップS601)。局所座標算出部230は、受信データに含まれる送信機IDから、3つ以上のIDからなる組合せを全て生成する(ステップS602)。局所座標算出部230は、生成した組合せから、1つの組合せを選択する(ステップS603)。ここで、受信部210が受信した送信機IDの数をMとする。
【0032】
局所座標算出部230は、選択したIDの組合せが、局所座標テーブル222に記憶されたいずれかの局所座標系に含まれている代表センサの組合せであるか否かを判定する(ステップS604)。
選択されたIDの組合せが、局所座標テーブル222に記憶されたいずれかの局所座標系に含まれている代表センサの組合せである場合(ステップS604でYes)、局所座標算出部230は、当該選択されたIDの組み合わせに対応する局所座標系の局所座標系IDを処理対象として選択する(ステップS605)。
【0033】
選択されたIDの組合せが、局所座標テーブル222に記憶されたいずれかの局所座標系に含まれている代表センサの組合せでない場合(ステップS604でNo)、ステップS602で生成した全ての組合せについて、ステップS604の処理が行われたか否かを判定する(ステップS614)。まだステップS604の処理が行われていない組合せがある場合(ステップS614でNo)、ステップS603の処理に戻って他の組合せを選択し、以降の処理を繰り返す。一方、全ての組合せについて処理が終了していれば(ステップS614でYes)、当該選択されたIDの組み合わせによって指定される送信機によって新たな局所座標系が構成されるものとして、局所座標算出部230は、当該新たな局所座標系の情報を局所座標テーブル222に設定する(ステップS606)。設定される新たな局所座標系の情報には、この新たな局所座標系の局所座標系ID、当該局所座標系の代表送信機の情報、その位置座標等が含まれる。局所座標系IDは、例えば0から連番で付与されてもよい。
【0034】
図7は、新たな局所座標系における位置座標の定め方を説明するための図である。選択されたIDの組合せから、代表送信機が任意に3つ選択され、図7に示すように、3つの代表送信機のうち1つが原点とされ、他の1つがx軸上に設定される。残りの1つの代表送信機が、y軸の+方向に存在すると定めて、新たな局所座標系における座標系が設定される。局所座標テーブル222には、この新たな局所座標系に付与された局所座標系IDと、座標系を規定する代表送信機IDが記憶される。
【0035】
局所座標算出部230は、ステップS605で選択された局所座標系ID、又はステップS606で新たに付与された局所座標系IDを処理対象座標系のIDとし、当該処理対象座標系に含まれる送信機の計測時刻及び計測距離データを計測距離テーブル221から取得する(ステップS607)。局所座標算出部230は、処理対象座標系に含まれるM個の送信機全てについて計測距離が記憶されている計測時刻の数Nを、計測距離テーブル221から検出する(ステップS608)。
【0036】
局所座標算出部230は、各送信機の相対距離が算出可能であるかを表す条件式MN≧2M+2Nが満たされるか否かを判断する(ステップS609)。条件式MN≧2M+2Nが満足されない場合は(ステップS609でNo)、各送信機の相対距離が算出できないので、処理を終了する。
【0037】
一方、条件式MN≧2M+2Nが満足される場合は(ステップS609でYes)、各送信機の相対距離が算出可能となる。
例えば局所座標系IDが0である局所座標系において、送信機#iと送受信端末10との間の計測距離di(t)は、以下の式(1)から、求めることができる。
【0038】
【数1】
ここで、(X0i,Y0i)(=X_0)は、局所座標系IDが0である局所座標系における送信機#iの位置座標を表す。また、時刻tにおける当該局所座標系での送受信端末10の位置座標は、X0_h(t)=(X0h(t),Y0h(t))で表される。
【0039】
従って、ステップS608で選択されたN個の計測時刻について、計測距離と、各送信機及び送受信端末10の位置座標の関係式(2)が、局所座標算出部230によって生成される(ステップS610)。
【0040】
【数2】
局所座標算出部230は、この連立方程式(2)を解いて、各計測時刻における送信機及び送受信端末10との相対位置座標を算出する(ステップS611)。
図7に示すように、1つの代表送信機が原点にあり、他の1つの代表送信機がx軸上にある場合、M個の送信機の2次元位置座標値として2M−3個(3次元位置座標の場合は3M−6個)、送受信端末10の2次元位置座標として2N個(3次元位置座標の場合は3N個)の未知変数があることになる。また、連立方程式(2)に含まれる式の数はMN個である。したがって、ステップS609で条件式MN≧2M+2N−3(3次元座標の場合はMN≧3M+3N−6)が満足されれば、各時刻における送信機及び送受信端末10の位置座標を算出(推定)することができる。例えば、選択された局所座標系に含まれる送信機の数が3個の場合、N≧3の場合に条件式が満足される。従って、3つの時刻以上距離情報が取得された場合に、位置座標の算出が可能となる。
【0041】
続いて、局所座標算出部230は、算出された各送信機の位置座標の信頼度を算出する(ステップS612)。信頼度としては、算出された送信機位置の微分変動量fや、送信機と送受信端末10との間の距離の算出結果と計測結果の差のノルムgを含む関数等が用いられる。局所座標系IDが0である局所座標系において、送信機#iの微分変動量fは以下の式(3)で、また送信機#iと送受信端末10との間の距離の算出結果と計測結果の差のノルムgは以下の式(4)で表される。
【0042】
【数3】
【0043】
【数4】
また、局所座標系IDが0である局所座標系において、送信機iの尤度w0_iは、微分変動量f及びノルムgを用いて以下式(5)によって表される。
【0044】
【数5】
式(5)においてα、及びβは所定の重み係数であり、0以上の値を取るものとする。また、このとき局所座標系IDが0である局所座標系において、算出された位置座標全体の精度指標を示す信頼度W0を算出する。信頼度W0としては、例えば局所座標系IDが0である局所座標系において座標系を設定するための3つの代表送信機の算出された位置座標の尤度の積が、以下の式(6)によって求められてもよい。
【0045】
【数6】
算出された局所座標系の信頼度及び送信機位置座標の信頼度は、当該局所座標系の局所座標系IDに対応付けられ、局所座標テーブル222に追加記憶され(ステップS613)、フローを終了する。
図13に示す例では、局所座標系IDが0である局所座標系上に、3つの送信機#0〜#2が図示されている。送信機IDが0である送信機#0の位置座標(X00,Y00)は、式(2)の連立方程式から算出される。また、この送信機#0の位置座標の信頼度w0_0は式(5)より算出される。同様に、送信機IDが1である送信機#1の位置座標(X01,Y01)は、式(2)の連立方程式から算出され、この送信機#1の位置座標の信頼度w0_1は式(5)より算出される。送信機IDが2である送信機#2の位置座標(X02,Y02)も式(2)の連立方程式から算出され、この送信機#2の位置座標の信頼度w0_1は式(5)より算出される。
【0046】
なお、上述の式では、送信機の位置座標について微分変動量fと算出結果と計測結果の差のノルムgが求められ、これに基づいて送信機の位置座標の信頼度が求められた。しかしながら、後述する送信機間距離について、微分変動量f及び算出結果と計測結果の差のノルムgが算出されてもよい。
【0047】
なお、ステップS615では、より新しい計測時刻について予め定めた数のデータは残して、他のデータは削除する。あるいは、各データに所定の方法で評価値を付与し、評価値の低いものから順に削除するなどしてもよい。また、データを削除せずに局所座標算出部230の処理を終了しても良い。
【0048】
次に、局所座標統合部240において実行される処理について説明する。
図8は、統合座標系抽出部241が実行する処理の詳細を示すフローチャートである。図8に示す処理は、図5ではステップS506の処理に相当する。
まず統合座標系抽出部241は、局所座標テーブル222の情報を取得する(ステップS801)。統合座標系抽出部241は、局所座標テーブル222に記憶された局所座標系から、2つの局所座標系を選ぶ全ての組合せを生成する(ステップS802)。統合座標系抽出部241は、生成した組合せから1つの組合せ(第1のIDと第2のID)を選択する(ステップS803)。
【0049】
統合座標系抽出部241は、選択された2つの局所座標系の両方に含まれる送信機の数を算出する(ステップS804)。そして、統合座標系抽出部241は、2つの局所座標系に共有される送信機(センサ)の数が所定の閾値以上であるか否かを判定する(ステップS805)。所定の閾値以上の送信機が2つの局所座標系に共有されている場合(ステップS805でYes)、これら2つの座標系は統合可能であると判定され、互いに統合可能な座標系として局所座標テーブル222に設定される。すなわち、局所座標テーブル222において、第1のIDに対応する「統合可能な座標系ID」として第2のIDが記憶され、逆に、第2のIDに対応する「統合可能な座標系ID」として第1のIDが記憶される。
【0050】
次に、統合座標系抽出部241は、ステップS802で生成した全ての組合せについて、ステップS803〜S806の処理が行われたか否かを判定する(ステップS807)。まだステップS803〜S806の処理が行われていない組合せがある場合(ステップS807でNo)、ステップS803に戻って他の組合せを選択し、以降の処理を繰り返す。一方、全ての組合せについて処理が終了していれば(ステップS807でYes)、統合座標系の抽出結果を局所座標テーブル222に送信し、フローを終了する。また統合座標系抽出部241は、各局所座標系について、当該局所座標系と統合可能な局所座標系のリスト(統合対象リスト)を生成し、統合処理部242に送信する。
【0051】
統合座標系抽出部241が、統合可能な局所座標系を抽出したら、統合処理部242によって統合処理が行われる。統合処理部242は、一つの局所座標系(対象座標系)に対して、統合可能な局所座標系毎に計測センサリストを生成し(図9)、当該対象座標系及び当該対象座標系と統合可能な他の統合座標系の双方に含まれる計測センサを検出して対応付け(図10)、計測センサリストに含まれる送信機の位置座標の修正値を算出する(図11)。
【0052】
図9は、統合処理部242が実行する計測センサリストの生成処理の詳細を示すフローチャートである。
統合処理部242は、統合座標系抽出部241から統合座標系の抽出結果を受信したら(ステップS901)、1つの局所座標系(対象座標系)についての統合対象リストから、当該対象座標系と統合可能な統合座標系のうち1つの座標系の局所座標系IDを選択する(ステップS902)。
【0053】
統合処理部242は、選択された統合座標系に含まれる計測センサ(送信機)から1つの計測センサを選択し(ステップS903)、当該選択された計測センサのIDが、選択された対象座標系の計測センサリストに含まれているか否かを判定する(ステップS904)。
【0054】
選択された計測センサのIDが計測センサリストに含まれている場合は(ステップS904でYes)、ステップS906に処理を進める。一方、選択された計測センサのIDが計測センサリストに含まれていない場合は(ステップS904でNo)、統合処理部242は、当該計測センサのIDを計測センサリストに追加する(ステップS905)。
【0055】
統合処理部242は、選択した局所座標系に含まれる計測センサ全てについてステップS903〜S905の処理が終了したか否かを判定する(ステップS906)。まだステップS903〜S905の処理が行われていない計測センサがある場合(ステップS906でNo)、ステップS903に戻って計測センサを選択し、以降の処理を繰り返す。一方、全ての計測センサについて処理が終了していれば(ステップS906でYes)、統合処理部242は、対象座標系と統合可能な全ての統合座標系についてステップS902〜S906の処理が終了したか否かを判定する(ステップS907)。
【0056】
まだステップS903〜S906の処理が行われていない局所座標系がある場合(ステップS907でNo)、ステップS902に戻って他の局所座標系を選択し、以降の処理を繰り返す。一方、対象座標系と統合可能な全ての統合座標系について処理が終了していれば(ステップS907でYes)、フローを終了する。
【0057】
以上のように、図9に示す処理によって、1つの局所座標系に対して統合可能な局所座標系に含まれる計測センサ(送信機)のリスト(計測センサリスト)が生成される。
次に、統合処理部242が行なう処理について、図10〜12を参照して説明する。
図10は、統合処理部242が実行するセンサ対応付け処理の詳細を示すフローチャートである。
統合処理部242は、対象座標系に対する計測センサリストが生成されたら、当該計測センサリストから1つの計測センサ(送信機)を選択する(ステップS1002)。
【0058】
次に統合処理部242は、局所座標系テーブル222に記憶されたX個の局所座標系から、1つの局所座標系を選択し(ステップS1003)、選択した局所座標系に含まれる計測センサが、ステップS1002で選択された計測センサに一致するか否かを判定する(ステップS1004)。
【0059】
選択した局所座標系に含まれる計測センサと、選択された計測センサが一致しない場合は(ステップS1004でNo)、ステップS1005の処理に進む。一方、選択した局所座標系に含まれる計測センサと、選択された計測センサが一致する場合は(ステップS1004でYes)、計測センサの対応付けが行なわれる(ステップS1005)。計測センサの対応付けでは、選択された局所座標系に含まれる全ての計測センサを、選択された計測センサと同一座標系内にある他の計測センサであるとし、これら他の計測センサの送信機IDと当該選択された計測センサの送信機IDとが対応づけられて局所座標テーブル222に記憶される。
【0060】
統合処理部242は、局所座標テーブル222に含まれるX個の局所座標系全てについてステップS1003〜S1005の処理が終了したか否かを判定する(ステップS1006)。まだステップS1003〜S1005の処理が行われていない局所座標系がある場合(ステップS1006でNo)、ステップS1003に戻って局所座標系を選択し、以降の処理を繰り返す。一方、全ての局所座標系について処理が終了していれば(ステップS1006でYes)、統合処理部242は、計測センサリストに含まれる全ての送信機についてステップS1002〜S1006の処理が終了したか否かを判定する(ステップS1007)。
【0061】
まだステップS1002〜S1006の処理が行われていない送信機がある場合(ステップS1007でNo)、ステップS1002に戻って他の送信機を選択し、以降の処理を繰り返す。一方、全ての送信機について処理が終了していれば(ステップS1007でYes)、フローを終了する。
【0062】
以上のように、図10に示す処理によって、複数の局所座標系間で送信機(計測センサ)が対応付けされる。
図11は、統合処理部242が実行する基準座標系上におけるセンサ位置座標補正処理の詳細を示すフローチャートである。各センサの初期位置は、基準座標系に設定された局所座標系上のセンサについては局所座標算出部230で算出された値とし、それ以外のセンサについては、乱数により与えるとする。
統合処理部242は、局所座標テーブル222に記憶された基準局所座標から、基準座標系を設定する(ステップS1100)。基準座標系はユーザによる設定操作などに応じて予め定められていてもよく、その設定情報はデータ記憶部220の基準座標系情報格納部223に記憶されている。以下では、説明のため局所座標系IDが0である座標系が基準座標系であるとする。統合処理部242は、基準座標系を構成する対象座標系に対して生成された計測センサリストから1つの計測センサ(送信機#i)を選択する(ステップS1101)。そして統合処理部242は、選択された送信機#iと同一の局所座標系内にある他の送信機(図10の処理において設定)の集合を送信機集合giとして、以下の式(7)によって、当該選択された送信機#iの算出位置の補正された座標値ΔXiを算出する。
【0063】
【数7】
式(7)においてL0_ijは送信機#iと送信機#jとの間の送信機間距離を表す。
統合処理部242は、計測センサリスト内の全ての送信機についてステップS1101〜S1102の処理が終了したか否かを判定する(ステップS1103)。まだステップS1101〜S1102の処理が行われていない送信機があれば(ステップS1103でNo)、ステップS1101に戻って他の送信機を選択し、以降の処理を繰り返す。
【0064】
全ての送信機について処理が終了したら(ステップS1103でYes)、統合処理部242は、以下の式(8)より評価式Jの値を求め、その値が所定の閾値よりも小さいか否かを判定する(ステップS1104)。
【0065】
【数8】
式(8)において、Gは後述するように、送信機間距離が求められている2つの送信機の組合せの集合を表す。
評価式Jの値が閾値よりも小さい場合(ステップS1104でYes)、フローを終了する。一方、評価式Jの値が所定の閾値以上である場合(ステップS1104でNo)、計測センサリストに含まれる全ての送信機が未選択であるとして(ステップS1105)ステップS1101に戻り、再び計測センサリストから送信機を選択して以降の処理を繰り返す。
【0066】
以上のように、図11に示す処理によって、対象座標系に対して生成された計測センサリストに含まれる送信機の位置座標の補正値を求めることができる。
なお、図9〜図11に示す処理は、1つの対象座標系に対して、連続して実行されてもよいが、異なる局所座標系を対象として個別に実行されてもよい。
【0067】
また、他の局所座標系と統合可能であると判定された局所座標系内で、図12に示す送信機間距離算出が行なわれてもよい。
図12は、統合処理部242が実行する送信機間距離の算出処理の詳細を示すフローチャートである。
統合処理部242は、図8に示す統合座標系抽出部241による抽出結果と、局所座標テーブル222の情報を取得する(ステップS1201)。統合処理部242は、統合座標系抽出部241が他の局所座標系と統合可能である局所座標系を抽出したか否かを判定する(ステップS1202)。統合可能な局所座標系が存在しない場合は(ステップS1202でNo)、処理を終了する。
【0068】
一方、統合可能な局所座標系が存在する場合(ステップS1202でYes)、統合処理部242は、未選択の統合可能座標系から一つの局所座標系を選択する(ステップS1203)。統合処理部242は、選択された局所座標系において、送信機間距離が算出されていない送信機の組合せがあるか否かを判定する(ステップS1204)。
【0069】
送信機間距離が算出されていない送信機の組合せが無ければ(ステップS1204でNo)、ステップS1202に戻り、以降の処理を繰り返す。一方、送信機間距離が算出されていない送信機の組合せがあれば(ステップS1204でYes)、統合処理部242は、未選択の送信機の組合せを選択する(ステップS1205)。そして、選択した送信機の組合せについて、送信機間距離とその信頼度を算出し(ステップS1206)、処理はステップS1204に戻る。算出された送信機間距離とその信頼度は、局所座標テーブル222に記憶される。
【0070】
送信機間距離は、各局所座標系において算出され、局所座標テーブル222に記憶されている送信機の位置座標を用いて算出される。例えば、図13に示す例では、局所座標系IDが0である局所座標系に含まれる3つの送信機#0〜#2の各位置座標及びその信頼度が算出されて局所座標テーブル222に記憶されている。この場合、算出位置座標が(X00,Y00)である送信機#0と、算出位置座標が(X01,Y01)である送信機#1のとの間の距離L0_01は、以下の式(9)から算出される。
【0071】
【数9】
また、このように算出された送信機間距離の信頼度w0_01は、一例として、式(10)に示すように各送信機の位置座標の信頼度w0_0とw0_1の積で与えられる。
【0072】
【数10】
図13に示す3つの送信機#0〜#2の例では、図14に示すように、送信機#1と送信機#2との間の距離L0_12、及び送信機#2と送信機#0との間の距離L0_20も式(9)と同様に算出される。また、送信機間距離L0_12の信頼度w0_12及び送信機間距離L0_20の信頼度w0_20も式(10)と同様に算出される。
【0073】
以上のように、図12の処理によれば、局所座標系における送信機間距離及びその信頼度を算出することができる。
図9〜図12に示す処理によって、局所座標系における各送信機の位置座標とその信頼度、また送信機間距離とその信頼度を算出することができる。
【0074】
局所座標系によって送信機関距離の算出結果が異なることに留意する必要がある。図15では、局所座標系IDが0である局所座標系と局所座標系IDが1である局所座標系を示されている。図15の例では、局所座標系IDが0である局所座標系において算出された送信機#1と送信機#2の送信機間距離L0_12と、局所座標系IDが1である局所座標系において算出された送信機#1と送信機#2の送信機間距離L1_12とでは、その大きさが異なっている。このように、送信機間距離及びその信頼度は、局所座標系によって異なると考えられる。
【0075】
送信機間の距離は、信頼度が低い送信機間距離の影響を低減させるために、信頼度によって重み付けした送信機間距離の加重平均を用いて算出してもよい。図15に示す例において、信頼度を用いて算出される送信機#1と送信機#2の送信機間距離L12は、以下の式(11)によって与えられる。
【0076】
【数11】
これにより、信頼度の高いデータを優先的に使用して送信機間の距離を算出することができる。
次に、統合処理部242は、送信機間距離の加重平均を用いて無向グラフ上の全局所座標系の基準座標系への統合を行う。すなわち、各送信機の基準座標系における位置座標を算出する。
【0077】
図17は、図16に示された各送信機間の距離を、送信機間の加重平均距離によって表した図である。基準座標系上の送信機#iの位置座標X0_iは、式(8)によって与えられる評価式の値Jが最小となるような最適計算を施すことにより算出される。式(8)において集合Gは、送信機間距離が算出されている送信機の組み合わせの集合を表す。評価式の値Jを最小化するアルゴリズムの一例が、式(7)から得られる修正値を用いて各送信機の位置座標を修正する方法である。統合処理部242は、評価式の値Jが閾値以下になるまで式(8)による再帰計算を行う。
【0078】
例えば図17に示す例では、送信機#2との間で送信機間距離が算出された送信機の集合g2は、g2={0,1,3,4,5}となる。統合処理部242は、送信機#2の位置座標を、当該送信機#2の算出位置座標と、集合g2に含まれる各送信機と送信機#2の加重平均距離との差に基づいて、送信機#2の位置座標を修正する。
【0079】
図18は、送信機#2の位置座標の修正の様子を示す図である。例えば、送信機#0の推定算出位置を用いて送信機#2の位置修正を行う際、両送信機の推定位置より算出される送信機間距離を算出し、算出した送信機間距離の値と信頼度により重み付けした送信機間距離の差を算出する(以降、その差をnとする)。nの値が正である場合、両送信機の推定位置を結んだ直線上で送信機#0とは反対方向に送信機#2をnの量だけ移動した地点の位置座標を、送信機#2の修正された位置座標とする。nの値が負である場合、当該直線上で送信機#2を送信機#0に向かってnの量だけ移動した地点の位置座標を、送信機#2の修正された位置座標とする。同様に、送信機#2の位置座標と距離計測を行なった他の送信機(送信機#1、#3〜#5)の位置座標を用いて送信機#2の位置座標を修正する。
【0080】
以上の処理により、基準座標系における各送信機の位置座標が算出される。
統合処理部242は、送受信端末10の位置座標も算出する。送受信端末10の位置座標は、算出された送信機#iの位置座標と送受信端末10との間の計測距離により生成される連立方程式を解くことで算出される。例えば送受信端末10が、送信機#0〜#2との間で距離計測を行った場合は、以下の連立方程式(12)から、送受信端末10の位置座標が算出される。
【0081】
【数12】
以上の第1の実施の形態によれば、基準座標系における各送信機及び送受信端末10の位置座標を算出することが可能となる。また、センサの移動やセンサ計測精度の低下等により一部のセンサ推定位置やセンサ計測値の誤差が大きくなった場合でも、それらの影響を低減しながら各局所的な相対座標系を統合することが可能となる。さらに、障害物がある等の理由で、移動物体までの距離計測が困難であるセンサ位置も、局所的相対座標系の統合により、一つの相対座標系上で求めることが可能になる。
【0082】
(第2の実施の形態)
第2の実施の形態では、信頼度の高いセンサから順に算出位置を確定し、信頼度の高いセンサ位置のみを用いて移動物体の位置を算出する。これによって、基準座標系を常に移動物体が存在する局所座標系と設定することで、基準座標系から物理的に離れた距離に存在する局所座標系上のセンサ位置推定誤差は大きくなるが、移動物体が近づくにつれてセンサ位置推定誤差を小さくすることができる。
【0083】
本実施の形態の位置算出装置について図19を参照して説明する。
本実施の形態の位置算出装置1900は、受信部210、データ記録部1910、局所座標算出部1920、局所座標統合部1930を含む。データ記録部1910は、計測距離テーブル1911、局所座標テーブル1912、基準局所座標系ID1913を記録している。局所座標統合部1930は、統合可能局所座標系抽出部1931、統合部1932、入出力部243を含む。
【0084】
計測距離テーブル1911は、図20に示されるように、各送信機の送信機ID(#i)に対応して、計測時刻t、及び計測時刻tにおける計測距離di(t)を含んでいる。
局所座標テーブル1912は、図21に示されるように、局所座標系毎に、局所座標系ID、当該座標系に含まれる送信機ID、各送信機の座標、最新位置算出時刻、各送信機と送受信端末10との間の計測距離、後述する信頼度、統合可能な局所座標系のID、平均の計測距離、及び送受信端末10の位置座標に加え、基準局所座標系からの距離を含んでいる。各送受信機間の計測距離とは、各送信機と送受信端末との計測距離を示す。
【0085】
基準局所座標系ID1913は、基準局所座標系のIDである。
局所座標算出部1920は、データ記録部1910に記録されているテーブルを用いて局所座標系を算出する。詳細な動作については後に図23A及び図23Bを参照して説明する。
局所座標統合部1930は、局所座標テーブル1912に格納されている局所座標系を統合する。より詳しくは、データ記録部1910から局所座標テーブル1912と基準局所座標系IDを取得して局所座標テーブル1912に記録されている各局所座標系を統合できるか否かを判定し、統合可能な局所領域上に存在する各送信機間距離の算出を信頼度に基づいて行い、局所座標テーブル1912の情報と判定結果を用いて局所座標系の統合を行う。局所座標統合部1930に含まれる統合可能局所座標系抽出部1931の詳細な動作については後に図24A及び図24Bを参照して説明する。局所座標統合部1930に含まれる統合部1932の詳細な動作については後に図25A、図25B、及び図25Cを参照して説明する。
【0086】
次に、位置算出装置1900の動作の一例について図22を参照して説明する。
受信部210が、送受信端末10から送信機ID、計測時刻、及び距離計測結果(計測距離)を受信する(ステップS2201)。受信部210は、受信結果をデータ記録部1910の計測距離テーブル1911に追加するとともに、局所座標算出部1920に渡す。
【0087】
局所座標算出部1920が受信部210から送信機ID、計測時刻、距離計測結果(計測距離)を受け取ると、局所座標算出部1920がデータ記録部1910から局所座標テーブル1912を取り出し、受け取った送信機IDにより送信機の組み合わせが新規組み合わせであるか否かを判定する(ステップS2202)。新規組み合わせである場合にはステップS2203に進み、新規組み合わせではない場合(つまり、受信したデータで作成される局所座標系は、局所座標テーブル1912に既に含まれている場合)にはステップS2204に進む。
【0088】
局所座標算出部1920が、新規局所座標系IDを作成し、計測した送信機IDの中から3つの代表送信機を選定し、局所座標系を設定し、ステップS2205に進む(ステップS2203)。一方、局所座標算出部1920が局所座標テーブル1912に記録済みの局所座標系IDの中で更新対象となる局所座標系ID(すなわち、ステップS2201で受信した送信機IDに対応するID)を選択し、ステップS2205に進む(ステップS2204)。
【0089】
局所座標算出部1920が、ステップS2203で作成された局所座標系ID、又はステップS2204で選択された局所座標系IDに対応する送信機座標値、最新位置算出時刻、各送受信機間の計測距離、信頼度、統合可能な局所座標系ID、基準局所座標系からの距離、平均計測距離、端末位置を算出し、データ記録部1910の情報を更新する(ステップS2205)。ステップS2203で新規局所座標系IDを作成する場合には、局所座標テーブル1912に新たに作成した局所座標系IDと対応づけて、算出した送信機座標値、最新位置算出時刻、信頼度、統合可能な局所座標系ID、基準局所座標系からの距離、平均計測距離、端末位置を算出し、データ記録部1910に記録する。
【0090】
統合可能局所座標系抽出部1931がデータ記録部1910から局所座標テーブル1912と基準局所座標系IDを取得して局所座標テーブル1912に記録されている各局所座標系を統合できるか否かを判定し、局所座標テーブル1912の情報と判定結果を統合部1932に受け渡してステップS2207に進む(ステップS2206)。
【0091】
統合部1932が統合可能な局所領域上に存在する各送信機間距離の算出を信頼度に基づいて行う(ステップS2207)。
統合部1932がステップS2206より受け取った局所座標テーブル1912の情報と各局所座標系を統合可能か否かの判定結果を用いて局所座標系の統合を行い、基準局所座標系上で算出された送信機位置を算出しステップS2209に進む(ステップS2208)。
【0092】
統合された送信機位置と距離計測値を用いて基準座標系上における送受信端末位置を算出し、入出力部を介して統合結果を出力する(ステップS2209)。なお、統合結果を出力するのではなく、データ記録部1910に記録することとしてもよい。また、基準局所座標系は移動物体の存在する局所座標系に設定するといったように、動的に設定できるとしてもよい。
【0093】
また、図22では局所座標算出部1920の処理の後に続けて局所座標統合部1930の処理を実施する例を記載したが、局所座標算出部1920の処理と局所座標統合部1930の処理を分離し、局所座標算出部1920はデータ記録部1910の局所座標テーブル1912を更新して処理を終了することとし、局所座標統合部1930は予め定めたタイミングで(例えば、予め定めた時間間隔で、あるいは、入出力部からの起動指示により)図22のステップS2206の処理を開始することとしてもよい。
【0094】
次に、局所座標算出部1920の動作の一例について図23A及び図23Bを参照して説明する。
局所座標算出部1920は、データ記録部1910から局所座標テーブル1912(図21)を取得する(ステップS601)。取得した局所座標テーブル1912において局所座標系IDごとに記録されている送信機IDを参照し、計測結果から取得した送信機IDの組み合わせが局所座標テーブル1912に記録されているかどうかの判定を行う(ステップS2301)。記録されている場合はステップS2302に進み、記録されていない場合はステップS2303に進む。
【0095】
以前にデータ記録部1910にて記録された送信機IDの組み合わせであることが判定された場合には、データ記録部1910から図21に示す局所座標テーブル1912を読み出し、それまでに計測された該当局所座標系上の各送受信機間の計測距離と、座標系を設定する代表送信機IDの取得を行い、S2304に進む(ステップS2302)。
【0096】
一方、新たな送信機IDの組み合わせである場合には、それら組み合わせに対して局所座標テーブル1912を参照することで割り当てられていないユニークな局所座標系IDを新たに割り当てる(ステップS2303)。このとき、局所座標系IDは0から順に連番で付与していく。また、計測結果より取得された送信機の中から3つの代表送信機を任意に選択し、図7に示すように、任意2つの代表送信機をx軸上に設定し、片方を原点とする。さらに+y軸方向を残りの代表送信機の存在する方向とすることで、局所座標系における座標系を設定する。局所座標テーブル1912に新たに付与された局所座標系IDと座標系を設定する代表送信機IDをデータ記録部1910に記録し(図21を更新し)、S2304に進む(ステップS2303)。
【0097】
図21から、S2302で選択した、又はS2303で設定した局所座標系IDに対応する情報を取得する(ステップS2304)。データ記録部1910から計測距離テーブル1911の情報を取得し(ステップS2305)、計測結果より取得した送信機IDに対応する複数時刻の計測結果を用いて、計測結果より取得した送信機IDで構成される局所座標系における各送信機の相対座標を算出する(S2306〜S2309)。
【0098】
具体的には、最新の計測結果から取得された送信機数をM、これまでに記録された該当送信機と送受信端末間の距離情報(N時刻分の距離情報)数をNとしたとき、特許文献1に記載の方法を用いると、MN≧2M+2Nを満たす場合に予め定めた関係式を用いて各送信機の相対距離が算出可能となる。また、1つの送信機が原点にあり、他の1つの送信機がX軸上にあるとの前提条件を追加すると、推定すべき変数は送信機の二次元位置座標2M−3個(三次元位置座標の場合は3M−6個)、送受信端末の二次元位置座標2N個(三次元位置座標の場合は3N個)となる。一方、条件式の数はMN個となる。したがって、MN≧2M+2N−3(3次元座標の場合はMN≧3M+3N−6)の条件式を満たす場合、各時刻における送受信端末の位置推定の算出が可能となる。例えば、送信機の数が3個の場合、N≧3となるため、3時刻分以上の各送信機までの距離情報が取得できれば各送信機と送受信端末の位置推定が可能となる。
【0099】
局所座標系ID#0における送信機と送受信端末の位置推定で用いる条件式は上式(2)を用いて算出する。ただし、添え字iは送信機IDとし、t、t1、t2は異なる時刻であるとする。また、(x0i,y0i)、(x0h(t),y0h(t))はそれぞれ局所座標系0における送信機ID0の位置と時刻tにおける送受信端末の位置である。
【0100】
上記連立方程式を解くことにより、時刻tにおける送信機と送受信端末の位置を算出することができる。
算出した各送信機位置の信頼度を算出する(ステップS2310)。信頼度としては、例えば推定位置の微分変動量fや、送信機と送受信端末の推定位置から算出される距離と実際の距離計測値の差のノルムgを含む関数等がある。例えば、局所座標系ID0における送信機iの尤度w0_iは上式(3)、(4)及び(5)でXをxにYをyに変更したもので示される。ここでα、βは重み係数であり、0以上の値を持つ。
【0101】
また、このとき(局所座標系ID#i上で)算出された推定位置全体の精度指標を示す信頼度Wiは上式(6)を使用して算出する。信頼度Wiとしては、例えば局所座標系iの座標系を設定する3つの代表送信機推定位置の尤度の積があげられる(上式(6)、S:代表送信機ID)。
【0102】
S2310で推定された送信機位置から該当局所座標系上の各送信機間距離とその信頼度を算出する(ステップS2311)。例えば、局所座標系#0上で推定された送信機#0の推定位置(x00、y00)と送信機#1の推定位置(x01、y01)間の推定距離L0_01は上式(9)のように算出する。
【0103】
推定した送信機間距離の信頼度としては、例えばS2310により算出された送信機推定位置の信頼度の積が挙げられる(例えば局所座標系#0上のセンサID#0−#1間の距離信頼度(上式(10)))。局所座標系における送信機及び送受信端末の推定位置と推定位置の信頼度、そして送信機間距離と送信機間距離の信頼度を局所座標系IDに対応付けて、データ記録部1910へ渡す(すなわち、図21を更新する)(ステップS2312)。
【0104】
そして、計測距離テーブル1911の一部のデータを削除する(ステップS2313)。なお、削除対象となるデータは、例えば、予め定めた数の新しい時刻のデータ以外は削除、予め定めた個数のデータのみ削除、何らかの方法で各データに評価値を付与し、評価値の低いものから順に削除、などの方法がある。また、データを削除せずに局所座標算出部1920の処理を終了してもよい。
【0105】
次に、統合可能局所座標系抽出部1931の動作の一例について図24A及び図24Bを参照して説明する。統合可能局所座標系抽出部1931は、予め定めた数以上の個数の送信機を共有している局所座標系が統合可能であると判定した場合に(ステップS2402)、統合可能な局所座標系ID同士の対応関係を記録した統合局所座標系IDリストを作成する(ステップS2408)。
【0106】
まずデータ記録部1910からデータ記録部1910に記録されている全ての局所座標テーブル1912を取得する(ステップS801)。取得した局所座標テーブル1912に記録されている局所座標系の数Xを算出し、X個の局所座標系IDから2つの局所座標系IDを選び出す全組合せを生成する(ステップS802)。Xは最新に記録された局所座標系IDに1を加えた数となる。
【0107】
X個の局所座標系の中から2つを選び出す組み合わせの中で、未選択の組み合わせがあるかどうかを判定する(ステップS2401)。未選択の組み合わせがある場合、ステップS803に進む。未選択の組み合わせが無い場合、ステップS2404に進む。なお、X個の局所座標系の中から2つを選び出す組み合わせが未選択か選択済みかを判定するための方法の一例としては、バッファを設けて、選択済みの局所座標系IDの組み合わせを順次バッファに追記し、バッファを参照する方法がある。
【0108】
X個の局所座標系の中から2つを選び出す組み合わせの中で未選択の組み合わせを1つ選択し、ステップS804に進む(ステップS803)。
局所座標テーブル1912の中から選択された2つの局所座標系IDそれぞれに含まれる送信機IDのリストを取得する(ステップS804)。説明のため、選択された局所座標系IDをそれぞれID1、ID2とする。局所座標系ID1に含まれる送信機IDのリストと、局所座標系ID2に含まれる送信機IDのリスト双方に含まれる送信機IDの数を算出し、ステップS2402に進む(ステップS804)。
【0109】
算出された双方の送信機IDリストに含まれる送信機の数が予め定めた局所座標系統合可否判断閾値(例えば3)以上であるか否かを判定する(ステップS2402)。算出された双方の送信機IDリストに含まれる送信機の数が予め定めた局所座標系統合可否判断閾値以上の場合には、ステップS803で選択された2つの局所座標系(局所座標系ID1、局所座標系ID2で特定される2つの局所座標系)は統合可能と判断し、ステップS2403に進む。算出された双方の送信機IDリストに含まれる送信機の数が予め定めた局所座標系統合可否判断閾値よりも小さな値の場合には、ステップS803で選択された2つの局所座標系(局所座標系ID1、局所座標系ID2で特定される2つの局所座標系)は統合不可能と判定し、ステップS2401に戻る。
【0110】
データ記録部1910の図21の局所座標系ID1に対する「統合可能な領域ID」に局所座標系ID2を追記し、データ記録部1910の図21の局所座標系ID2に対する「統合可能な領域ID」に局所座標系域ID1を追記する(ステップS2403)。
【0111】
データ記録部1910より、局所座標テーブル1912と基準局所座標系IDを取得する(ステップS2404)。次に、基準局所座標系から統合可能な各局所座標系の抽出を行い、統合局所座標系リストを作成する(ステップS2405〜S2411)。また、統合可能な各局所座標系の基準局所座標系からの距離の算出を行う。
【0112】
基準局所座標系IDを統合局所座標系IDリストに追加し、基準局所座標系IDを統合局所座標系IDの初期値とする(ステップS2405)。また、図21中の基準局所座標系IDに対応する「基準局所座標系からの距離」を0と設定し、基準局所座標系からの距離Dの初期値を1とする。
統合局所座標系IDの「統合可能な局所座標系ID」の中で未選択の局所座標系IDがあるかどうかの判定を行う(ステップS2406)。未選択の局所座標系IDがある場合はS2407へ進み未選択の局所座標系IDのうちの1つを選択し(ステップS2407)、全て選択済みである場合はS2409に進む。
【0113】
ステップS2407で選択された局所座標系IDを統合局所座標系IDリストに追加し、図21中の選択された局所座標系IDに対応付けられた「基準局所座標系IDからの距離」にDの値を記録し、選択された局所座標系を選択済みとする(ステップS2408)。
【0114】
基準座標系からの距離がDである局所座標系のうち、統合局所座標系IDに格納されたことのない局所座標系があるかどうかの判定を行う(ステップS2409)。ある場合はステップS2410に進み、ない場合はステップS2411に進む。
基準座標系からの距離がDである局所座標系の中から統合局所座標系IDに格納されたことのない局所座標系IDを1つ選択し、選択された局所座標系IDを新たな統合局所座標系IDとする(ステップS2410)。距離Dである全ての局所領域IDが統合局所座標系IDに格納された場合、Dの値を1つ加算させる。
図21の局所座標テーブル1912と統合局所座標系IDリストを統合部1932に渡すとともに、図21の局所座標テーブル1912と統合局所座標系IDリストを更新する(ステップS2411)。
【0115】
次に、統合部1932の動作の一例について図25A、図25B、及び図25Cを参照して説明する。基準座標系から統合可能な全局所座標系の組み合わせに対して、以下の処理を行うことで基準座標系における全送信機と送受信端末の位置を算出する。
統合可能局所座標系抽出部1931より図21の局所座標テーブル1912と統合局所座標系IDリストを受け取る(ステップS2501)。
【0116】
統合局所座標系IDリストの中で未選択の局所座標系があるかどうかの判定を行う(ステップS2502)。未選択の局所座標系がある場合はステップS2503へ、ない場合はステップS2508へ進む。
未選択の局所座標系IDを1つ選択し、選択された局所座標系IDを選択済と設定する(ステップS2503)。
ステップS2503で選択された局所座標系IDに対応付けられた図21内の「送信機間距離」を構成する送信機IDの組合せの内、未選択の送信機の組合せがあるかどうかの判定を行う(ステップS2504)。ある場合はステップS2505に進み、ない場合はステップS2502に戻る。
【0117】
未選択の送信機IDの組み合わせを選択し(ステップS2505)、統合局所領域IDリスト内に格納された局所座標系IDの中で、ステップS2503で選択されなかった各局所座標系IDに対応付けられた「送信機間距離」の中で、ステップS2505で選択された送信機IDの組合せがあるかどうかの判定を行う(ステップS2506)。ある場合はステップS2507に進み、ない場合はステップS2504に戻る。
【0118】
ステップS2505で選択された送信機IDの組合せと同じ組合せを持つ、ステップS2503で選択された局所座標系以外の局所座標系で算出された送信機間距離を信頼度により統合し、統合された送信機間距離の算出結果を記録する(ステップS2507)。距離を統合した送信機の組合せは処理済と設定し、S2504に戻る。図15の例における、信頼度を用いたセンサ間距離L12の算出法を上式(11)に示す。これにより、信頼度の高いものを優先した送信機間距離推定が可能となる。
【0119】
統合可能局所座標系抽出部1931より図21の局所座標テーブル1912の情報と信頼度を用いた各送信機間距離の算出結果を受け取る(ステップS2508)。また、基準局所座標系からの距離Dの初期値を0とする。
図21の内「基準局所座標系からの距離」がDである未選択の局所座標系IDがあるかどうかの判定を行う(ステップS2509)。未選択の局所座標系IDが存在する場合はステップS2510へ進み、ない場合はステップS2516へ進む。
【0120】
未選択の局所座標系の中から一つの局所座標系を選択し、選択された局所座標系を選択済みと設定する(ステップS2510)。ただし、初回時では基準局所座標系IDを選択する。
選択された局所座標系において未選択の送信機IDがあるかどうかの判定を行う(ステップS2511)。ある場合はステップS2512へ進み、ない場合はS2509に戻る。
【0121】
S2510で選択された局所座標計上の送信機IDの中で信頼度の最も大きい送信機を選択する(ステップS2512)。ここで、説明のため、選択されたセンサIDをiとする。
送信機iと信頼度を用いた送信機間距離を行った送信機の内、信頼度が予め設定した閾値より信頼度の高い送信機があるかどうかの判定を行う(ステップS2513)。ある場合はS2514へ進み、ない場合はS2511へ戻る。
【0122】
送信機iと信頼度を用いた送信機間距離を行った送信機の内、信頼度が予め設定した閾値より信頼度の高い送信機を全て選択し、信頼度の高い順に上式(7)の集合giに加える(ステップS2514)。
上式(7)を用いて送信機iの位置修正移動量であるΔxiを算出し、送信機iを選択済みと設定する(ステップS2515)。ただし、各送信機の初期値は以下のように設定する。基準座標系上の代表送信機の内、原点に設定された代表送信機位置を(0、0)とし、x軸上に設定された代表送信機のy座標を0とする。残り全ての送信機初期位置を乱数によりランダムに与える。
【0123】
Dの値に1加算した後(ステップS2516)、Dの値が図21中の「基準座標系からの距離」の最大値以下であるかどうかの判定を行う(ステップS2517)。最大値以下である場合は、ステップS2509に戻り、最大値よりも大きな値である場合はステップS2518に進む。
【0124】
推定された送信機位置の評価を上式(8)により行う(ステップS2518)。上式(8)の評価値が予め設定した閾値よりも小さい場合にはステップS2520へ進み、閾値以上の場合にはステップS2519へ進む。
全ての局所座標系の選択判定結果と送信機の選択判定結果を未選択とし、基準局所座標系からの距離Dを0に設定し、ステップS2509に戻る(ステップS2519)。
【0125】
ステップS2507で算出された基準座標系上における各送信機位置と信頼度を用いた送信機間距離の逆数をそれぞれノードとコストし、ダイクストラ法により、各ノード(送信機推定位置)のコスト計算を行う(ステップS2520)。ただし、ダイクストラ法において基準座標系上の原点に設定された送信機位置をスタートノードとする。
【0126】
ステップS2520で算出された各送信機位置のコストのうち、最も小さいものから予め設定された数(例えば3つ)の送信機IDの組み合わせを選択する(ステップS2521)。
基準座標系上における選択された3つの送信機の推定位置と、送受信端末までの距離計測値を用いた連立方程式を解くことにより送受信端末の位置を算出する(ステップS2522)。例えば、送信機ID0、1、2が選択された場合の連立方程式は上式(12)でXをxにYをyに変更したものである。ただし(xi、yi)、(xh(t)、yh(t))はそれぞれ基準局所座標系上における送信機IDiの位置と時刻tにおける送受信端末位置である。
【0127】
基準座標系上における送信機と送受信端末の推定位置を入出力部に送信し(ステップS2523)、統合部1932の処理を終了する。
以上の第2の実施形態によれば、基準座標系を常に移動物体が存在する局所座標系と設定することで、基準座標系から物理的に離れた距離に存在する局所座標系上のセンサの位置推定誤差は比較的大きいが、移動物体が近づくにつれてセンサ位置推定誤差を小さくすることができる。例えば、移動物体のナビゲーションにおいて、目的のランドマークが遠い場合は大まかな説明で十分であり、近づくにつれて細かいナビゲーションが必要となる場合に有効である。
【0128】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の位置算出装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータ又は組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の位置算出装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【0129】
なお、本願発明におけるコンピュータ又は組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
【0130】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0131】
10…送受信端末、20…位置算出装置、101…受信部、102…距離計測部、103…送信部、210…受信部、220…データ記憶部、221…局所座標テーブル、223…基準座標系情報格納部、240…局所座標統合部、241…統合座標系抽出部、242…統合処理部、243…入出力部。
【特許請求の範囲】
【請求項1】
複数の送信機を備える環境において、当該環境内を移動可能な端末と前記複数の送信機それぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置であって、
それぞれ複数の送信機から構成される複数の局所座標系を検出し、前記端末と前記複数の送信機それぞれとの間の距離に基づいて、前記局所座標系それぞれにおいて、当該局所座標系を構成する複数の送信機の位置座標を算出する第1の座標算出手段と、
前記複数の局所座標系のうち、閾値以上の数の送信機を共有する2つ以上の局所座標系を、互いに統合可能な座標系として抽出する統合座標系抽出手段と、
統合可能な座標系として抽出された前記2つ以上の局所座標系それぞれにおいて、送信機間距離及び該送信機間距離の信頼度を算出し、前記2つ以上の局所座標系それぞれにおいて算出された送信機間距離の信頼度によって重み付けを行なって重み付け補正後の送信機間距離を算出し、信頼度がある値よりも高い送信機の前記補正後の送信機間距離のみを用いて、前記2つ以上の局所座標系を統合した座標系における各送信機の位置座標を信頼度が高い順に算出する第2の座標算出手段と、
を具備することを特徴とする位置算出装置。
【請求項2】
前記統合座標系抽出手段は、複数の送信機から構成される局所座標系であって、該複数の送信機の位置を結んだ多角形の領域に前記端末の位置が含まれる局所座標系を前記複数の局所座標系から1つ選択し、該選択された局所座標系を構成するいずれか1つの送信機の位置を相対座標系の原点とすることを特徴とする請求項1に記載の位置算出装置。
【請求項3】
複数の送信機を備える環境において、当該環境内を移動可能な端末と前記複数の送信機それぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出方法であって、
それぞれ複数の送信機から構成される複数の局所座標系を検出し、前記端末と前記複数の送信機それぞれとの間の距離に基づいて、前記局所座標系それぞれにおいて、当該局所座標系を構成する複数の送信機の位置座標を算出し、
前記複数の局所座標系のうち、閾値以上の数の送信機を共有する2つ以上の局所座標系を、互いに統合可能な座標系として抽出し、
統合可能な座標系として抽出された前記2つ以上の局所座標系それぞれにおいて、送信機間距離及び該送信機間距離の信頼度を算出し、前記2つ以上の局所座標系それぞれにおいて算出された送信機間距離の信頼度によって重み付けを行なって重み付け補正後の送信機間距離を算出し、信頼度がある値よりも高い送信機の前記補正後の送信機間距離のみを用いて、前記2つ以上の局所座標系を統合した座標系における各送信機の位置座標を信頼度が高い順に算出することを特徴とする位置算出方法。
【請求項4】
前記互いに統合可能な座標系として抽出することは、複数の送信機から構成される局所座標系であって、該複数の送信機の位置を結んだ多角形の領域に前記端末の位置が含まれる局所座標系を前記複数の局所座標系から1つ選択し、該選択された局所座標系を構成するいずれか1つの送信機の位置を相対座標系の原点とすることを特徴とする請求項3に記載の位置算出方法。
【請求項5】
コンピュータを、請求項1又は請求項2に記載の位置算出装置の各手段として実行させるためのプログラム。
【請求項1】
複数の送信機を備える環境において、当該環境内を移動可能な端末と前記複数の送信機それぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置であって、
それぞれ複数の送信機から構成される複数の局所座標系を検出し、前記端末と前記複数の送信機それぞれとの間の距離に基づいて、前記局所座標系それぞれにおいて、当該局所座標系を構成する複数の送信機の位置座標を算出する第1の座標算出手段と、
前記複数の局所座標系のうち、閾値以上の数の送信機を共有する2つ以上の局所座標系を、互いに統合可能な座標系として抽出する統合座標系抽出手段と、
統合可能な座標系として抽出された前記2つ以上の局所座標系それぞれにおいて、送信機間距離及び該送信機間距離の信頼度を算出し、前記2つ以上の局所座標系それぞれにおいて算出された送信機間距離の信頼度によって重み付けを行なって重み付け補正後の送信機間距離を算出し、信頼度がある値よりも高い送信機の前記補正後の送信機間距離のみを用いて、前記2つ以上の局所座標系を統合した座標系における各送信機の位置座標を信頼度が高い順に算出する第2の座標算出手段と、
を具備することを特徴とする位置算出装置。
【請求項2】
前記統合座標系抽出手段は、複数の送信機から構成される局所座標系であって、該複数の送信機の位置を結んだ多角形の領域に前記端末の位置が含まれる局所座標系を前記複数の局所座標系から1つ選択し、該選択された局所座標系を構成するいずれか1つの送信機の位置を相対座標系の原点とすることを特徴とする請求項1に記載の位置算出装置。
【請求項3】
複数の送信機を備える環境において、当該環境内を移動可能な端末と前記複数の送信機それぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出方法であって、
それぞれ複数の送信機から構成される複数の局所座標系を検出し、前記端末と前記複数の送信機それぞれとの間の距離に基づいて、前記局所座標系それぞれにおいて、当該局所座標系を構成する複数の送信機の位置座標を算出し、
前記複数の局所座標系のうち、閾値以上の数の送信機を共有する2つ以上の局所座標系を、互いに統合可能な座標系として抽出し、
統合可能な座標系として抽出された前記2つ以上の局所座標系それぞれにおいて、送信機間距離及び該送信機間距離の信頼度を算出し、前記2つ以上の局所座標系それぞれにおいて算出された送信機間距離の信頼度によって重み付けを行なって重み付け補正後の送信機間距離を算出し、信頼度がある値よりも高い送信機の前記補正後の送信機間距離のみを用いて、前記2つ以上の局所座標系を統合した座標系における各送信機の位置座標を信頼度が高い順に算出することを特徴とする位置算出方法。
【請求項4】
前記互いに統合可能な座標系として抽出することは、複数の送信機から構成される局所座標系であって、該複数の送信機の位置を結んだ多角形の領域に前記端末の位置が含まれる局所座標系を前記複数の局所座標系から1つ選択し、該選択された局所座標系を構成するいずれか1つの送信機の位置を相対座標系の原点とすることを特徴とする請求項3に記載の位置算出方法。
【請求項5】
コンピュータを、請求項1又は請求項2に記載の位置算出装置の各手段として実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23A】
【図23B】
【図24A】
【図24B】
【図25A】
【図25B】
【図25C】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23A】
【図23B】
【図24A】
【図24B】
【図25A】
【図25B】
【図25C】
【公開番号】特開2011−174759(P2011−174759A)
【公開日】平成23年9月8日(2011.9.8)
【国際特許分類】
【出願番号】特願2010−37744(P2010−37744)
【出願日】平成22年2月23日(2010.2.23)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成23年9月8日(2011.9.8)
【国際特許分類】
【出願日】平成22年2月23日(2010.2.23)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]