位置算出装置、位置算出方法及び位置算出プログラム
【課題】 局所領域ごとに算出された位置座標を1つの座標系に統合する。
【解決手段】 位置算出装置20の局所座標算出部230は、それぞれ複数のセンサから構成される複数の局所領域を検出し、各センサと送受信端末10との間の距離に基づいて、局所領域それぞれにおいて、当該局所領域を構成する複数のセンサの位置座標を算出する。統合領域抽出部241は、複数の局所領域のうち、所定数のセンサを共有する2つ以上の局所領域を、互いに統合可能な領域として抽出する。統合処理部242は、抽出された局所領域それぞれにおいて、センサ間距離及びセンサ間距離の信頼度を算出し、センサ間距離の信頼度によって重み付けを行なって重み付け補正後のセンサ間距離を算出し、前記重み付け補正後のセンサ間距離の加重平均に基づいて、局所領域を統合した座標系における各センサの位置座標を算出する。
【解決手段】 位置算出装置20の局所座標算出部230は、それぞれ複数のセンサから構成される複数の局所領域を検出し、各センサと送受信端末10との間の距離に基づいて、局所領域それぞれにおいて、当該局所領域を構成する複数のセンサの位置座標を算出する。統合領域抽出部241は、複数の局所領域のうち、所定数のセンサを共有する2つ以上の局所領域を、互いに統合可能な領域として抽出する。統合処理部242は、抽出された局所領域それぞれにおいて、センサ間距離及びセンサ間距離の信頼度を算出し、センサ間距離の信頼度によって重み付けを行なって重み付け補正後のセンサ間距離を算出し、前記重み付け補正後のセンサ間距離の加重平均に基づいて、局所領域を統合した座標系における各センサの位置座標を算出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置算出装置、位置算出方法及び位置算出プログラムに関する。
【背景技術】
【0002】
従来、屋内におけるユーザトラッキングシステム(ユーザ位置算出システム)において、環境中に設置されたセンサを用いて空間におけるユーザの位置を算出する方法や、ユーザや対象物にセンサを取りつけてそれぞれの相対位置を組み合わせ、ユーザや対象物の空間内での位置を算出する方法が用いられている。
【0003】
非特許文献1には、室内にセンサを張り巡らせて人物の位置を取得できるセンシングルームが記載されている。この技術によれば、センシングルーム内での人間の位置を精度良く計測できる。
【0004】
また、特許文献1には、位置が未知である複数の固定装置と位置が未知である移動装置の相対位置を、固定装置と移動装置の相対距離を用いて算出する技術が記載されている。この技術により、システムの導入コストの低減が期待できる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第4057023号公報明細書
【非特許文献】
【0006】
【非特許文献1】森,「生活パターンを覚えて助ける知能住宅」,ネットワークロボット研究会,pp20-24,2005
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、非特許文献1に記載のセンシングルームでは、1部屋に500以上のセンサを設置しており、設置コストだけでなくキャリブレーションにかける労力も高くなり、汎用的なシステムとは言えない。
【0008】
また、特許文献1に記載の技術では、一つの座標系上で全固定装置と移動装置の位置を算出するためには、全固定装置と移動装置間の距離計測を同時に行う必要があり、現実的には困難がある。そのため、距離計測を行った固定装置の組み合わせごとに設定される座標系上における位置算出しか実現することができない。
【0009】
本発明は、上記の事情を鑑みてなされたもので、固定装置の相対的な位置関係をもとに生成する相対座標系(以降、相対座標系に識別番号を付与したものを局所領域IDと呼ぶ)ごとに算出された位置座標を精度よく1つの座標系に統合できる位置算出装置、位置算出方法、及び位置算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明に係る位置算出装置は以下のような態様の構成とする。
(1) 複数のセンサを備える環境において、当該環境内を移動可能な端末と前記複数のセンサそれぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置であって、それぞれ複数のセンサから構成される複数の局所領域を検出し、前記端末と前記複数のセンサそれぞれとの間の距離に基づいて、前記局所領域それぞれにおいて、当該局所領域を構成する複数のセンサの位置座標を算出する第1の座標算出手段と、前記複数の局所領域のうち、所定数のセンサを共有する2つ以上の局所領域を、互いに統合可能な領域として抽出する統合領域抽出手段と、統合可能な領域として抽出された前記2つ以上の局所領域それぞれにおいて、センサ間距離及びセンサ間距離の信頼度を算出し、前記2つ以上の局所領域それぞれにおいて算出されたセンサ間距離の信頼度によって重み付けを行なって重み付け補正後のセンサ間距離を算出し、前記補正後のセンサ間距離に基づいて、前記2つ以上の局所領域を統合した座標系における各センサの位置座標を算出する第2の座標算出手段とを具備する態様とする。
この態様によれば、局所領域ごとに算出された位置座標を精度よく1つの座標系に統合することができる。
【0011】
本発明に係る位置算出方法は以下のような態様の構成とする。
(2) 第1の座標算出手段、統合領域抽出手段、及び第2の座標算出手段を備える位置算出装置であって、複数のセンサを備える環境において、当該環境内を移動可能な端末と前記複数のセンサそれぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置に用いられる位置算出方法であって、前記第1の座標算出手段は、それぞれ複数のセンサから構成される複数の局所領域を検出する検出し、前記端末と前記複数のセンサそれぞれとの間の距離に基づいて、前記局所領域それぞれにおいて、当該局所領域を構成する複数のセンサの位置座標を算出し、前記統合領域抽出手段は、前記複数の局所領域のうち、所定数のセンサを共有する2つ以上の局所領域を、互いに統合可能な領域として抽出し、前記第2の座標算出手段は、統合可能な領域として抽出された前記2つ以上の局所領域それぞれにおいて、センサ間距離及びセンサ間距離の信頼度を算出し、前記2つ以上の局所領域それぞれにおいて算出されたセンサ間距離の信頼度によって重み付けを行なって、重み付け補正後のセンサ間距離を算出し、前記補正後のセンサ間距離に基づいて、前記2つ以上の局所領域を統合した座標系における各センサの位置座標を算出する態様とする。
この態様によれば、局所領域ごとに算出された位置座標を精度よく1つの座標系に統合することができる。
【0012】
本発明に係る位置算出プログラムは以下のような態様の構成とする。
(3) 複数のセンサを備える環境において、当該環境内を移動可能な端末と前記複数のセンサそれぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置に用いられるコンピュータを、それぞれ複数のセンサから構成される複数の局所領域を検出し、前記端末と前記複数のセンサそれぞれとの間の距離に基づいて、前記局所領域それぞれにおいて、当該局所領域を構成する複数のセンサの位置座標を算出する第1の座標算出手段、前記複数の局所領域のうち、所定数のセンサを共有する2つ以上の局所領域を、互いに統合可能な領域として抽出する統合領域抽出手段、統合可能な領域として抽出された前記2つ以上の局所領域それぞれにおいて、センサ間距離及びセンサ間距離の信頼度を算出し、前記2つ以上の局所領域それぞれにおいて算出されたセンサ間距離の信頼度によって重み付けを行なって重み付け補正後のセンサ間距離を算出し、前記重み付け補正後のセンサ間距離に基づいて、前記2つ以上の局所領域を統合した座標系における各センサの位置座標を算出する第2の座標算出手段として機能させる態様とする。
【0013】
この態様によれば、局所領域ごとに算出された位置座標を精度よく1つの座標系に統合することができる。
【発明の効果】
【0014】
本発明の構成によれば、局所領域ごとに算出された位置座標を精度よく1つの座標系に統合することができる。
【図面の簡単な説明】
【0015】
【図1】本発明の一実施形態に係る位置算出システムの一例を示すシステム構成図。
【図2】送受信端末及び位置算出装置の機能的な構成を示すブロック図。
【図3】データ記憶部に備えられる計測距離テーブルに格納されるデータ構成の一例を示す図。
【図4】データ記憶部に備えられる局所座標テーブルに格納されるデータ構成の一例を示す図。
【図5】位置算出装置において実行される処理全体を示すフローチャート。
【図6】局所座標算出部が実行する処理のフローチャート。
【図7】新たな局所領域における位置座標の定め方を説明するための図。
【図8】統合領域抽出部が実行する処理のフローチャート。
【図9】統合処理部が実行する計測センサリストの生成処理のフローチャート。
【図10】統合処理部が実行するセンサ対応付け処理のフローチャート。
【図11】統合処理部が実行する位置座標補正処理のフローチャート。
【図12】統合処理部が実行する送信機間距離の算出処理のフローチャート。
【図13】局所領域の一例を示す図。
【図14】局所領域において算出される送信機間距離と信頼度を説明するための図。
【図15】2つの局所領域においてそれぞれ算出される送信機間距離の相違を示す図。
【図16】統合処理部による無向グラフの生成を説明するための図。
【図17】上述の無向グラフにおいて、送信機間距離を加重平均距離によって表した図。
【図18】送信機の位置座標の修正の様子を示す図。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
図1は、本発明の一実施形態に係る位置算出システムの一例を示すシステム構成図である。図1に示すように、ユーザUは、送受信端末10を携帯してシステム内を持ち運ぶ。n+1個の送信機#0〜#nは、システム環境(例えば1つの部屋)内の任意の箇所に設置される。ただし、nは3以上で任意の正の整数とする。
【0017】
この位置算出システムにおいては、少なくとも2つの局所領域の統合が行なわれ、1つの局所領域は少なくとも3個の送信機から構成される。したがって、4個以上の送信機が備えられる。i番目の送信機#iにはID:iが割り当てられ、その位置座標は、例えば送信機#0、#1及び#2による局所領域ID0の座標系においては、X0_i=(X0i,Y0i)で表される。
【0018】
送信機#0〜#nは一例として、電波や音波等の波を発生させる送信端末であり、送受信端末10では、送信機#0〜#nからの電波や音波を受信して、当該送信機からの距離di(t)を測定する。ただし、送信機#1〜#nと送受信端末10との通信を媒介するのは、電波や音波に限定されず、距離への変換が可能であればどのような媒介であってもよい。送信機#0〜#nは、所定の時間間隔で、現時刻(送信時刻)と当該送信機に固有の送信機IDの情報を電波又は音波によって発信するものとする。
【0019】
図1に示す例では、送信機#0〜#nから発信される電波又は音波を、ユーザUが携帯する送受信端末10が受信するセンサシステムが図示されているが、これに限らず、ユーザUが送信機を携帯し、受信機が環境中に設置されてもよい。
【0020】
以下では、図1の例に基づいて、送信機(センサ)が環境中に固定され、受信機(送受信端末10)をユーザが環境中で持ち運ぶ例について説明する。時刻tにおける送受信端末10の位置座標は、局所領域IDが0である座標系では、X0_h(t)=(X0h(t),Y0h(t))で表される。
【0021】
位置算出装置20は、ユーザUが携帯する送受信端末10からの情報を基に、基準座標系における各送信機及び送受信端末10の位置座標の算出、及び算出された位置座標の校正等、各種の処理を実行するコンピュータシステムである。位置算出装置20は、図示しないプロセッサ、プログラムメモリ、及びワークメモリを有し、プロセッサがプログラムメモリに記憶された所定のプログラムを実行することで、本実施形態に係る各種の処理を制御する。
【0022】
図2は、この位置算出システムにおける送受信端末10及び位置算出装置20の機能的な構成を示すブロック図である。
【0023】
送信機#0〜#nは、それぞれ所定の時間間隔で、現時刻(送信時刻)と送信機IDの情報を電波又は音波によって発信している。
【0024】
送受信端末10は、受信部101、距離計測部102及び送信部103を備えている。受信部101は、送信機(#0〜#n)が発信する電波又は音波を受信する。距離計測部102は、現時刻(受信時刻又は計測時刻)と送信機からの送信時刻に基づいて電波又は音波の伝搬時間を算出し、その伝搬時間に基づいて送受信端末10と送信機との間の計測時刻tにおける距離di(t)を算出する。送信部103は、算出された距離(計測距離)を送信機IDと計測時刻に対応づけて、位置算出装置20に送信する。
【0025】
送信機と送受信端末10との間の距離算出は、電波と超音波を組み合わせて行われてもよい。この場合、超音波の発信を指示する呼び出し命令が、送受信端末10から送信機#iに電波によって送信され、電波を受信した送信機#iが超音波を発する。そして、送受信端末10が超音波を受信した時刻と送信機#iが電波を発した時刻との時刻差に音速を乗じることで送信機#iと送受信端末10との間の距離di(t)が算出される。
【0026】
位置算出装置20は、受信部210、データ記憶部220、局所座標算出部230、及び局所座標統合部240を備える。
【0027】
受信部210は、送受信端末10から送られた各送信機との間の計測距離、送信機ID及び計測時刻のデータを受信する。
【0028】
データ記憶部220は、ハードディスク装置やフラッシュメモリ等を備える記憶装置である。データ記憶部220は、図3に示す計測距離テーブル221、図4に示す局所座標テーブル222、及び基準領域情報格納部223を備える。送受信端末10から送られたデータは、計測距離テーブル221に保持される。
【0029】
図3は、データ記憶部220に備えられる計測距離テーブル221に格納されるデータ構成の一例を示す図である。図3に示すように、計測距離テーブル221には、各送信機の送信機IDに対応して、計測時刻t、及び計測時刻tにおける計測距離di(t)が記憶される。
【0030】
図4は、データ記憶部220に備えられる局所座標テーブル222に格納されるデータ構成の一例を示す図である。図4に示すように、局所座標テーブル222には、局所領域毎に、局所領域ID、当該領域に含まれるセンサ(送信機)、各センサの座標、各センサと送受信端末10との間の計測距離、後述する信頼度、統合可能な局所領域のID、平均の計測距離、及び送受信端末10の位置座標が格納される。
【0031】
基準領域情報格納部223は、基準座標系を与える規準局所領域の情報を格納する。基準局所領域は、ユーザによる設定操作などに応じて予め定められていてもよい。
【0032】
局所座標算出部230は、受信部210が受信したデータに基づいて、局所座標テーブル222の記憶内容を生成し、更新する。
【0033】
局所座標統合部240は、統合領域抽出部241、統合処理部242及び入出力部243を有する。統合領域抽出部241は、所定数以上の送信機を共有する2つの局所領域を統合可能な局所領域として抽出し、設定する。統合処理部242は、統合可能であるとして抽出された局所領域の統合処理を行う。入出力部243は、統合結果を出力するための表示装置等を有する。あるいは入出力部243は、図示しない記憶装置に接続され、統合結果が当該記憶装置に出力され記憶されてもよい。
【0034】
次に、以上のように構成された位置算出装置20の動作について説明する。
【0035】
図5は、位置算出装置20において実行される処理全体を示すフローチャートである。
【0036】
受信部210は、送受信端末10から少なくとも1つの送信機(#i)の送信機ID、計測時刻及び計測距離を含むデータを受信する(ステップS501)。受信部210は、受信したデータをデータ記憶部220の計測距離テーブル221、及び局所座標算出部230にも出力する。計測距離テーブル221では、当該少なくとも1つの送信機(#i)の送信機ID:iに対応して、計測時刻及び計測距離のデータが更新される。
【0037】
局所座標算出部230は、送られた送信機ID、計測時刻及び計測距離データに基づいて、新規に局所領域が作成されるか否かを判定する(ステップS502)。
【0038】
受信したデータに含まれる局所領域が、局所座標テーブル222に記憶されていない場合には、新規の局所領域を作成する必要がある(ステップS502でYes)。この場合、局所座標算出部230は、局所座標テーブル222に無いIDを、新規の局所領域IDとして生成する(ステップS503)。
【0039】
受信したデータに含まれる局所領域が、既に局所座標テーブル222に記憶されている場合には、新規の局所領域は作成されない(ステップS502でNo)。この場合、局所座標算出部230は、局所座標テーブル222から、受信データに含まれ更新対象となる局所領域IDを選択する(ステップS504)。
【0040】
局所座標算部505は、ステップS503で新規に作成された局所領域ID、又はステップS504で選択された局所領域IDに対応する局所領域を構成する送信機(センサ)と送受信端末10までの各最新計測距離を局所座標テーブル222の記憶内容に追加し、当該局所領域IDに対応する局所領域を構成する送信機(センサ)の位置座標、最新の位置算出時刻、信頼度、および平均計測距離の値を算出し、局所座標テーブル222の記憶内容を更新する(ステップS505)。新規に局所領域が検出された場合には、新たに作成された局所領域IDと対応づけて、各センサと送受信端末10までの最新計測距離を局所座標テーブル222の記憶内容に追加し、算出されたセンサの位置座標、最新の位置算出時刻、信頼度、及び平均計測距離の値を局所座標テーブル222に記憶し、記憶内容を更新する。また、局所座標算出部230は、当該新規の局所領域に含まれる各センサのIDも局所座標テーブル222に記憶する。
【0041】
一方、ステップS504で更新対象となる局所領域IDが選択された場合には、局所座標テーブル222において、選択された局所領域IDに対応するセンサの位置座標、最新位置算出時刻、信頼度、平均計測距離の値を、算出した値に更新する。また、局所座標算出部203は、選択された局所領域に含まれる各センサの計測距離も算出し、局所座標テーブル222において、当該選択された局所領域の局所領域IDに対応して、各センサの位置座標値を追加する。
【0042】
次に、局所座標統合部240では、統合領域抽出部241が、局所座標テーブル222に記憶されている局所領域のうち統合できる領域があるか否かを判定する(ステップS506)。判定結果は、統合処理部242に送られる。
【0043】
統合処理部242は、判定結果に基づいて局所領域を統合する(ステップS507)。統合結果は、入出力部243を介して出力されてもよい。
【0044】
なお、図2では局所座標算出部230の処理の後に続けて局所座標統合部240の処理を実施する例を記載したが、局所座標算出部230の処理と局所座標統合部240の処理を分離し、局所座標算出部230はデータ記憶部220の局所座標テーブル222の記憶内容を更新して処理を終了することとし、局所座標統合部240は予め定めたタイミングで(例えば予め定めた時間間隔で、あるいは、入出力部からの起動指示により)図5のステップS506の処理を開始することとしても良い。
【0045】
次に、局所座標算出部230及び局所座標統合部240が実行する処理について、更に詳細に説明する。
【0046】
図6は、局所座標算出部230が実行する処理の詳細を示すフローチャートである。図6に示す処理は、図5ではステップS502〜S505の処理に相当する。
受信部210が受信データをデータ記憶部220に格納したら、局所座標算出部230は、データ記憶部220の局所座標テーブル222の情報を取得する(ステップS601)。局所座標算出部230は、受信データに含まれる送信機IDから、3つ以上のIDからなる組合せを全て生成する(ステップS602)。局所座標算出部230は、生成した組合せから、1つの組合せを選択する(ステップS603)。ここで、受信部210が受信した送信機IDの数をMとする。
【0047】
局所座標算出部230は、選択したIDの組合せが、局所座標テーブル222に記憶されたいずれかの局所領域に含まれている代表センサの組合せであるか否かを判定する(ステップS604)。
【0048】
選択されたIDの組合せが、局所座標テーブル222に記憶されたいずれかの局所領域に含まれている代表センサの組合せである場合(ステップS604でYes)、局所座標算出部230は、当該選択されたIDの組み合わせに対応する局所領域の局所領域IDを処理対象として選択する(ステップS607)。
【0049】
選択されたIDの組合せが、局所座標テーブル222に記憶されたいずれかの局所領域に含まれている代表センサの組合せでない場合(ステップS604でNo)、ステップS602で生成した全ての組合せについて、ステップS604の処理が行われたか否かを判定する(ステップS614)。まだステップS604の処理が行われていない組合せがある場合(ステップS614でNo)、ステップS603の処理に戻って他の組合せを選択し、以降の処理を繰り返す。一方、全ての組合せについて処理が終了していれば(ステップS614でYes)、当該選択されたIDの組み合わせによって指定される送信機によって新たな局所領域が構成されるものとして、局所座標算出部230は、当該新たな局所領域の情報を局所座標テーブル222に設定する(ステップS606)。設定される新たな局所領域の情報には、この新たな局所領域の局所領域ID、当該局所領域の代表送信機の情報、その位置座標等が含まれる。局所領域IDは、例えば0から連番で付与されてもよい。
【0050】
図7は、新たな局所領域における位置座標の定め方を説明するための図である。選択されたIDの組合せから、代表送信機が任意に3つ選択され、図7に示すように、3つの送信機のうち1つが原点とされ、他の1つがx軸上に設定される。残りの1つの代表送信機が、y軸の+方向に存在すると定めて、新たな局所領域における座標系が設定される。局所座標テーブル222には、この新たな局所領域に付与された局所領域IDと、座標系を規定する代表送信機IDが記憶される。
【0051】
局所座標算出部230は、ステップS605で選択された局所領域ID、又はステップS606で新たに付与された局所領域IDを処理対象領域のIDとし、当該処理対象領域に含まれる送信機の計測時刻及び計測距離データを計測距離テーブル221から取得する(ステップS607)。局所座標算出部230は、処理対象領域に含まれるM個の送信機全てについて計測距離が記憶されている計測時刻の数Nを、計測距離テーブル221から検出する(ステップS608)。
【0052】
局所座標算出部230は、各送信機の相対距離が算出可能であるかを表す条件式MN>2M+2Nが満たされるか否かを判断する(ステップS609)。条件式MN≧2M+2Nが満足されない場合は(ステップS609でNo)、各送信機の相対距離が算出できないので、処理を終了する。
【0053】
一方、条件式MN≧2M+2Nが満足される場合は(ステップS609でYes)、各送信機の相対距離が算出可能となる。
【0054】
例えば局所領域IDが0である局所領域において、送信機#iと送受信端末10との間の計測距離di(t)は、以下の式(1)から、求めることができる。
【数1】
【0055】
ここで、(X0i,Y0i)(=X_0)は、局所領域IDが0である局所領域における送信機#iの位置座標を表す。また、時刻tにおける当該局所領域での送受信端末10の位置座標は、X0_h(t)=(X0h(t),Y0h(t))で表される。
【0056】
従って、ステップS608で選択されたN個の計測時刻について、計測距離と、各送信機及び送受信端末10の位置座標の関係式(2)が、局所座標算出部230によって生成される(ステップS610)。
【数2】
【0057】
局所座標算出部230は、この連立方程式(2)を解いて、各計測時刻における送信機及び送受信端末10との相対位置座標を算出する(ステップS611)。
【0058】
図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つの時刻以上距離情報が取得された場合に、位置座標の算出が可能となる。
【0059】
続いて、局所座標算出部230は、算出された各送信機の位置座標の信頼度を算出する(ステップS612)。信頼度としては、算出された送信機位置の微分変動量fや、送信機と送受信端末10との間の距離の算出結果と計測結果の差のノルムgを含む関数等が用いられる。局所領域IDが0である局所領域において、送信機#iの微分変動量fは以下の式(3)で、また送信機#iと送受信端末10との間の距離の算出結果と計測結果の差のノルムgは以下の式(4)で表される。
【数3】
【数4】
【0060】
また、局所領域IDが0である局所領域において、送信機iの尤度w0_iは、微分変動量f及びノルムgを用いて以下式(5)によって表される。
【数5】
【0061】
式(5)においてα、及びβは所定の重み係数であり、0以上の値を取るものとする。また、このとき局所領域IDがjである局所領域において、算出された位置座標全体の精度指標を示す信頼度Wjを算出する。信頼度Wjとしては、例えば局所領域IDがjである局所領域において座標系を設定するための3つの代表送信機の算出された位置座標の尤度の積が、以下の式(6)によって求められてもよい。
【数6】
【0062】
算出された局所領域の信頼度及び送信機位置座標の信頼度は、当該局所領域の局所領域IDに対応付けられ、局所座標テーブル222に追加記憶され(ステップS613)、フローを終了する。
【0063】
図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)より算出される。
【0064】
なお、上述の式では、送信機の位置座標について微分変動量fと算出結果と計測結果の差のノルムgが求められ、これに基づいて送信機の位置座標の信頼度が求められた。しかしながら、後述する送信機間距離について、微分変動量f及び算出結果と計測結果の差のノルムgが算出されてもよい。
【0065】
なお、ステップS615では、計測距離テーブルに記憶された全データを削除するのではなく、一部のデータのみを削除しても良い。
【0066】
例えば、より新しい計測時刻について予め定めた数のデータは残して、他のデータは削除してもよい。あるいは、各データに所定の方法で評価値を付与し、評価値の低いものから順に削除するなどしてもよい。また、データを削除せずに局所座標算出部230の処理を終了しても良い。
【0067】
次に、局所座標統合部240において実行される処理について説明する。
【0068】
図8は、統合領域抽出部241が実行する処理の詳細を示すフローチャートである。図8に示す処理は、図5ではステップS506の処理に相当する。
まず統合領域抽出部241は、局所座標テーブル222の情報を取得する(ステップS801)。統合領域抽出部241は、局所座標テーブル222に記憶された局所領域から、2つの局所領域を選ぶ全ての組合せを生成する(ステップS802)。統合領域抽出部241は、生成した組合せから1つの組合せ(第1のIDと第2のID)を選択する(ステップS803)。
【0069】
統合領域抽出部241は、選択された2つの局所領域の両方に含まれる送信機の数を算出する(ステップS804)。そして、統合領域抽出部241は、2つの局所領域に共有される送信機(センサ)の数が所定の閾値以上であるか否かを判定する(ステップS805)。所定の閾値以上の送信機が2つの局所領域に共有されている場合(ステップS805でYes)、これら2つの領域は統合可能であると判定され、互いに統合可能な領域として局所座標テーブル222に設定される。すなわち、局所座標テーブル222において、第1のIDに対応する「統合可能な領域ID」として第2のIDが記憶され、逆に、第2のIDに対応する「統合可能な領域ID」として第1のIDが記憶される。
【0070】
次に、統合領域抽出部241は、ステップS802で生成した全ての組合せについて、ステップS803〜S806の処理が行われたか否かを判定する(ステップS807)。まだステップS803〜S806の処理が行われていない組合せがある場合(ステップS807でNo)、ステップS803に戻って他の組合せを選択し、以降の処理を繰り返す。一方、全ての組合せについて処理が終了していれば(ステップS807でYes)、統合領域の抽出結果を局所座標テーブル222に送信し、フローを終了する。また統合領域抽出部241は、各局所領域について、当該局所領域と統合可能な局所領域のリスト(統合対象リスト)を生成し、統合処理部242に送信する。
【0071】
統合領域抽出部241が、統合可能な局所領域を抽出したら、統合処理部242によって統合処理が行われる。統合処理部242は、一つの局所領域(対象領域)に対して、統合可能な局所領域毎に計測センサリストを生成し(図9)、当該対象領域及び当該対象領域と統合可能な他の統合領域の双方に含まれる計測センサを検出して対応付け(図10)、計測センサリストに含まれる送信機の位置座標の修正値を算出する(図11)。
【0072】
図9は、統合処理部242が実行する計測センサリストの生成処理の詳細を示すフローチャートである。
【0073】
統合処理部242は、統合領域抽出部241から統合領域の抽出結果を受信したら(ステップS901)、1つの局所領域(対象領域)についての統合対象リストから、当該対象領域と統合可能な統合領域のうち1つの領域の局所領域IDを選択する(ステップS902)。
【0074】
統合処理部242は、選択された統合領域に含まれる計測センサ(送信機)から1つの計測センサを選択し(ステップS903)、当該選択された計測センサのIDが、選択された対象領域の計測センサリストに含まれているか否かを判定する(ステップS904)。
【0075】
選択された計測センサのIDが計測センサリストに含まれている場合は(ステップS904でYes)、ステップS906に処理を進める。一方、選択された計測センサのIDが計測センサリストに含まれていない場合は(ステップS904でNo)、統合処理部242は、当該計測センサのIDを計測センサリストに追加する(ステップS905)。
【0076】
統合制御部242は、選択した局所領域に含まれる計測センサ全てについてステップS903〜S905の処理が終了したか否かを判定する(ステップS906)。まだステップS903〜S905の処理が行われていない計測センサがある場合(ステップS906でNo)、ステップS903に戻って計測センサを選択し、以降の処理を繰り返す。一方、全ての計測センサについて処理が終了していれば(ステップS906でYes)、統合処理部242は、対象領域と統合可能な全ての統合領域についてステップS902〜S906の処理が終了したか否かを判定する(ステップS907)。
【0077】
まだステップS903〜S906の処理が行われていない局所領域がある場合(ステップS907でNo)、ステップS902に戻って他の局所領域を選択し、以降の処理を繰り返す。一方、対象領域と統合可能な全ての統合領域について処理が終了していれば(ステップS907でYes)、フローを終了する。
【0078】
以上のように、図9に示す処理によって、1つの局所領域に対して統合可能な局所領域に含まれる計測センサ(送信機)のリスト(計測センサリスト)が生成される。
【0079】
次に、統合処理部242が行なう処理について、図10〜12を参照して説明する。
図10は、統合処理部242が実行するセンサ対応付け処理の詳細を示すフローチャートである。
統合処理部242は、対象領域に対する計測センサリストが生成されたら、当該計測センサリストから1つの計測センサ(送信機)を選択する(ステップS1002)。
【0080】
次に統合処理部242は、局所領域テーブル222に記憶されたM個の局所領域から、1つの局所領域を選択し(ステップS1003)、選択した局所領域に含まれる計測センサが、ステップS1002で選択された計測センサに一致するか否かを判定する(ステップS1004)。
【0081】
選択した局所領域に含まれる計測センサと、選択された計測センサが一致しない場合は(ステップS1004でNo)、ステップS1005の処理に進む。一方、選択した局所領域に含まれる計測センサと、選択された計測センサが一致する場合は(ステップS1004でYes)、計測センサの対応付けが行なわれる(ステップS1005)。計測センサの対応付けでは、選択された局所領域に含まれる全ての計測センサを、選択された計測センサと同一領域内にある他の計測センサであるとし、これら他の計測センサの送信機IDと当該選択された計測センサの送信機IDとが対応づけられて局所座標テーブル222に記憶される。
【0082】
統合処理部242は、局所座標テーブル222に含まれるM個の局所領域全てについてステップS1003〜S1005の処理が終了したか否かを判定する(ステップS1006)。まだステップS1003〜S1005の処理が行われていない局所領域がある場合(ステップS1006でNo)、ステップS1003に戻って局所領域を選択し、以降の処理を繰り返す。一方、全ての局所領域について処理が終了していれば(ステップS1006でYes)、統合処理部242は、計測センサリストに含まれる全ての送信機についてステップS1002〜S1006の処理が終了したか否かを判定する(ステップS1007)。
【0083】
まだステップS1002〜S1006の処理が行われていない送信機がある場合(ステップS1007でNo)、ステップS1002に戻って他の送信機を選択し、以降の処理を繰り返す。一方、全ての送信機について処理が終了していれば(ステップS1007でYes)、フローを終了する。
【0084】
以上のように、図10に示す処理によって、複数の局所領域間で送信機(計測センサ)が対応付けされる。
【0085】
図11は、統合処理部242が実行する基準座標系上におけるセンサ位置座標補正処理の詳細を示すフローチャートである。各センサの初期位置は、基準座標系に設定された局所領域上のセンサについては局所座標算出部230で算出された値とし、それ以外のセンサについては、乱数により与えるとする。
統合処理部242は、局所座標テーブル222に記憶された基準局所座標から、基準座標系を設定する(ステップS1100)。基準座標系はユーザによる設定操作などに応じて予め定められていてもよく、その設定情報はデータ記憶部220の基準領域情報格納部223に記憶されている。以下では、説明のため局所領域IDが0である領域が基準座標系を与える規準領域であるとする。統合処理部242は、基準座標系を構成する対象領域に対して生成された計測センサリストから1つの計測センサ(送信機#i)を選択する(ステップS1101)。そして統合処理部242は、選択された送信機#iと同一の局所領域内にある他の送信機(図10の処理において設定)の集合を送信機集合giとして、以下の式(7)によって、当該選択された送信機#iの算出位置の補正された座標値ΔXiを算出する。
【数7】
【0086】
式(7)においてLijは送信機#iと送信機#jとの間の距離を表す。
【0087】
統合処理部242は、計測センサリスト内の全ての送信機についてステップS1101〜S1102の処理が終了したか否かを判定する(ステップS1103)。まだステップS1101〜S1102の処理が行われていない送信機があれば(ステップS1103でNo)、ステップS1101に戻って他の送信機を選択し、以降の処理を繰り返す。
【0088】
全ての送信機について処理が終了したら(ステップS1103でYes)、統合処理部242は、以下の式(8)より評価式Jの値を求め、その値が所定の閾値よりも小さいか否かを判定する(ステップS1104)。
【数8】
【0089】
式(8)において、Gは後述するように、送信機間距離が求められている2つの送信機の組合せの集合を表す。
【0090】
評価式Jの値が閾値よりも小さい場合(ステップS1104でYes)、フローを終了する。一方、評価式Jの値が所定の閾値以上である場合(ステップS1104でNo)、計測センサリストに含まれる全ての送信機が未選択であるとして(ステップS1105)ステップS1101に戻り、再び計測センサリストから送信機を選択して以降の処理を繰り返す。
【0091】
以上のように、図11に示す処理によって、対象領域に対して生成された計測センサリストに含まれる送信機の位置座標の補正値を求めることができる。
【0092】
なお、図9〜図11に示す処理は、1つの対象領域に対して、連続して実行されてもよいが、異なる局所領域を対象として個別に実行されてもよい。
【0093】
また、他の局所領域と統合可能であると判定された局所領域内で、図12に示す送信機間距離算出が行なわれてもよい。
【0094】
図12は、統合処理部242が実行する送信機間距離の算出処理の詳細を示すフローチャートである。
【0095】
統合処理部242は、図8に示す統合領域抽出部214による抽出結果と、局所座標テーブル222の情報を取得する(ステップS1201)。統合処理部214は、統合領域抽出部241が他の局所領域と統合可能である局所領域を抽出したか否かを判定する(ステップS1202)。統合可能な局所領域が存在しない場合は(ステップS1202でNo)、処理を終了する。
【0096】
一方、統合可能な局所領域が存在する場合(ステップS1202でYes)、統合処理部242は、未選択の統合可能領域から一つの局所領域を選択する(ステップS1203)。統合処理部242は、選択された局所領域において、送信機間距離が算出されていない送信機の組合せがあるか否かを判定する(ステップS1204)。
【0097】
送信機間距離が算出されていない送信機の組合せが無ければ(ステップS1204でNo)、ステップS1202に戻り、以降の処理を繰り返す。一方、送信機間距離が算出されていない送信機の組合せがあれば(ステップS1204でYes)、統合処理部242は、未選択の送信機の組合せを選択する(ステップS1205)。そして、選択した送信機の組合せについて、送信機間距離とその信頼度を算出し(ステップS1206)、処理はステップS1204に戻る。算出された送信機間距離とその信頼度は、局所座標テーブル222に記憶される。
【0098】
送信機間距離は、各局所領域において算出され、局所座標テーブル222に記憶されている送信機の位置座標を用いて算出される。例えば、図13に示す例では、局所領域IDが0である局所領域に含まれる3つの送信機#0〜#2の各位置座標及びその信頼度が算出されて局所座標テーブル222に記憶されている。この場合、算出位置座標が(X00,Y00)である送信機#0と、算出位置座標が(X01,Y01)である送信機#1のとの間の距離L0_01は、以下の式(9)から算出される。
【数9】
【0099】
また、このように算出された送信機間距離の信頼度w0_01は、一例として、式(10)に示すように各送信機の位置座標の信頼度w0_0とw0_1の積で与えられる。
【数10】
【0100】
図13に示す3つの送信機#0〜#2の例では、図14に示すように、送信機#1と送信機#2との間の距離L0_12、及び送信機#2と送信機#0との間の距離L0_20も式(9)と同様に算出される。また、送信機間距離L0_12の信頼度w0_12及び送信機間距離L0_20の信頼度w0_20も式(10)と同様に算出される。
【0101】
以上のように、図12の処理によれば、局所領域における送信機間距離及びその信頼度を算出することができる。
【0102】
図9〜図12に示す処理によって、局所領域における各送信機の位置座標とその信頼度、また送信機間距離とその信頼度を算出することができる。
【0103】
局所領域によって送信機関距離の算出結果が異なることに留意する必要がある。図15では、局所領域IDが0である局所領域と局所領域IDが1である局所領域を示されている。図15の例では、局所領域IDが0である局所領域において算出された送信機#1と送信機#2の送信機間距離L0_12と、局所領域IDが1である局所領域において算出された送信機#1と送信機#2の送信機間距離L1_12とでは、その大きさが異なっている。このように、送信機間距離及びその信頼度は、局所領域によって異なると考えられる。
【0104】
送信機間の距離は、信頼度が低い送信機間距離の影響を低減させるために、信頼度によって重み付けした送信機間距離の加重平均を用いて算出してもよい。図15に示す例において、信頼度を用いて算出される送信機#1と送信機#2の送信機間距離L12は、以下の式(11)によって与えられる。
【数11】
【0105】
これにより、信頼度の高いデータを優先的に使用して送信機間の距離を算出することができる。
【0106】
次に、統合処理部242は、送信機間距離の加重平均を用いて無向グラフ上の全局所領域の基準座標系への統合を行う(ステップS2003)。すなわち、各送信機の基準座標系における位置座標を算出する。
【0107】
図17は、図16に示された各送信機間の距離を、送信機間の加重平均距離によって表した図である。基準座標系上の送信機#iの位置座標X0_iは、式(8)によって与えられる評価式の値Jが最小となるような最適計算を施すことにより算出される。式(8)において集合Gは、送信機間距離が算出されている送信機の組み合わせの集合を表す。評価式の値Jを最小化するアルゴリズムの一例が、式(7)から得られる修正値を用いて各送信機の位置座標を修正する方法である。統合処理部242は、評価式の値Jが閾値以下になるまで式(8)による再帰計算を行う。
【0108】
例えば図17に示す例では、送信機#2との間で送信機間距離が算出された送信機の集合g2は、g2={0,1,3,4,5}となる。統合処理部242は、送信機#2の位置座標を、当該送信機#2の算出位置座標と、集合g2に含まれる各送信機と送信機#2の加重平均距離との差に基づいて、送信機#2の位置座標を修正する。
【0109】
図18は、送信機#2の位置座標の修正の様子を示す図である。例えば、送信機#0の推定算出位置を用いて送信機#2の位置修正を行う際、両送信機の推定位置より算出される送信機間距離を算出し、算出した送信機間距離の値と信頼度により重み付けした送信機間距離の差を算出する(以降、その差をnとする)。nの値が正である場合、両送信機の推定位置を結んだ直線上で送信機#0とは反対方向に送信機#2をnの量だけ移動した地点の位置座標を、送信機#2の修正された位置座標とする。nの値が負である場合、当該直線上で送信機#2を送信機#0に向かってnの量だけ移動した地点の位置座標を、送信機#2の修正された位置座標とする。同様に、送信機#2の位置座標と距離計測を行なった他の送信機(送信機#1、#3〜#5)の位置座標を用いて送信機#2の位置座標を修正する。
【0110】
以上の処理により、基準座標系における各送信機の位置座標が算出される。
【0111】
統合処理部424は、送受信端末10の位置座標も算出する(ステップS2004)。送受信端末10の位置座標は、算出された送信機#iの位置座標と送受信端末10との間の計測距離により生成される連立方程式を解くことで算出される。例えば送受信端末10が、送信機#0〜#2との間で距離計測を行った場合は、以下の連立方程式(12)から、送受信端末10の位置座標が算出される。
【数12】
【0112】
以上のようにして、基準座標系における各送信機及び送受信端末10の位置座標を算出することが可能となる。
【0113】
本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、1つの実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの実施形態に示される構成要件が組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【符号の説明】
【0114】
10…送受信端末、20…位置算出装置、101…受信部、102…距離計測部、103…送信部、210…受信部、220…データ記憶部、221…局所座標テーブル、2223…基準領域情報格納部、240…局所座標統合部、241…統合領域抽出部、242…統合処理部、243…入出力部。
【技術分野】
【0001】
本発明は、位置算出装置、位置算出方法及び位置算出プログラムに関する。
【背景技術】
【0002】
従来、屋内におけるユーザトラッキングシステム(ユーザ位置算出システム)において、環境中に設置されたセンサを用いて空間におけるユーザの位置を算出する方法や、ユーザや対象物にセンサを取りつけてそれぞれの相対位置を組み合わせ、ユーザや対象物の空間内での位置を算出する方法が用いられている。
【0003】
非特許文献1には、室内にセンサを張り巡らせて人物の位置を取得できるセンシングルームが記載されている。この技術によれば、センシングルーム内での人間の位置を精度良く計測できる。
【0004】
また、特許文献1には、位置が未知である複数の固定装置と位置が未知である移動装置の相対位置を、固定装置と移動装置の相対距離を用いて算出する技術が記載されている。この技術により、システムの導入コストの低減が期待できる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第4057023号公報明細書
【非特許文献】
【0006】
【非特許文献1】森,「生活パターンを覚えて助ける知能住宅」,ネットワークロボット研究会,pp20-24,2005
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、非特許文献1に記載のセンシングルームでは、1部屋に500以上のセンサを設置しており、設置コストだけでなくキャリブレーションにかける労力も高くなり、汎用的なシステムとは言えない。
【0008】
また、特許文献1に記載の技術では、一つの座標系上で全固定装置と移動装置の位置を算出するためには、全固定装置と移動装置間の距離計測を同時に行う必要があり、現実的には困難がある。そのため、距離計測を行った固定装置の組み合わせごとに設定される座標系上における位置算出しか実現することができない。
【0009】
本発明は、上記の事情を鑑みてなされたもので、固定装置の相対的な位置関係をもとに生成する相対座標系(以降、相対座標系に識別番号を付与したものを局所領域IDと呼ぶ)ごとに算出された位置座標を精度よく1つの座標系に統合できる位置算出装置、位置算出方法、及び位置算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明に係る位置算出装置は以下のような態様の構成とする。
(1) 複数のセンサを備える環境において、当該環境内を移動可能な端末と前記複数のセンサそれぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置であって、それぞれ複数のセンサから構成される複数の局所領域を検出し、前記端末と前記複数のセンサそれぞれとの間の距離に基づいて、前記局所領域それぞれにおいて、当該局所領域を構成する複数のセンサの位置座標を算出する第1の座標算出手段と、前記複数の局所領域のうち、所定数のセンサを共有する2つ以上の局所領域を、互いに統合可能な領域として抽出する統合領域抽出手段と、統合可能な領域として抽出された前記2つ以上の局所領域それぞれにおいて、センサ間距離及びセンサ間距離の信頼度を算出し、前記2つ以上の局所領域それぞれにおいて算出されたセンサ間距離の信頼度によって重み付けを行なって重み付け補正後のセンサ間距離を算出し、前記補正後のセンサ間距離に基づいて、前記2つ以上の局所領域を統合した座標系における各センサの位置座標を算出する第2の座標算出手段とを具備する態様とする。
この態様によれば、局所領域ごとに算出された位置座標を精度よく1つの座標系に統合することができる。
【0011】
本発明に係る位置算出方法は以下のような態様の構成とする。
(2) 第1の座標算出手段、統合領域抽出手段、及び第2の座標算出手段を備える位置算出装置であって、複数のセンサを備える環境において、当該環境内を移動可能な端末と前記複数のセンサそれぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置に用いられる位置算出方法であって、前記第1の座標算出手段は、それぞれ複数のセンサから構成される複数の局所領域を検出する検出し、前記端末と前記複数のセンサそれぞれとの間の距離に基づいて、前記局所領域それぞれにおいて、当該局所領域を構成する複数のセンサの位置座標を算出し、前記統合領域抽出手段は、前記複数の局所領域のうち、所定数のセンサを共有する2つ以上の局所領域を、互いに統合可能な領域として抽出し、前記第2の座標算出手段は、統合可能な領域として抽出された前記2つ以上の局所領域それぞれにおいて、センサ間距離及びセンサ間距離の信頼度を算出し、前記2つ以上の局所領域それぞれにおいて算出されたセンサ間距離の信頼度によって重み付けを行なって、重み付け補正後のセンサ間距離を算出し、前記補正後のセンサ間距離に基づいて、前記2つ以上の局所領域を統合した座標系における各センサの位置座標を算出する態様とする。
この態様によれば、局所領域ごとに算出された位置座標を精度よく1つの座標系に統合することができる。
【0012】
本発明に係る位置算出プログラムは以下のような態様の構成とする。
(3) 複数のセンサを備える環境において、当該環境内を移動可能な端末と前記複数のセンサそれぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置に用いられるコンピュータを、それぞれ複数のセンサから構成される複数の局所領域を検出し、前記端末と前記複数のセンサそれぞれとの間の距離に基づいて、前記局所領域それぞれにおいて、当該局所領域を構成する複数のセンサの位置座標を算出する第1の座標算出手段、前記複数の局所領域のうち、所定数のセンサを共有する2つ以上の局所領域を、互いに統合可能な領域として抽出する統合領域抽出手段、統合可能な領域として抽出された前記2つ以上の局所領域それぞれにおいて、センサ間距離及びセンサ間距離の信頼度を算出し、前記2つ以上の局所領域それぞれにおいて算出されたセンサ間距離の信頼度によって重み付けを行なって重み付け補正後のセンサ間距離を算出し、前記重み付け補正後のセンサ間距離に基づいて、前記2つ以上の局所領域を統合した座標系における各センサの位置座標を算出する第2の座標算出手段として機能させる態様とする。
【0013】
この態様によれば、局所領域ごとに算出された位置座標を精度よく1つの座標系に統合することができる。
【発明の効果】
【0014】
本発明の構成によれば、局所領域ごとに算出された位置座標を精度よく1つの座標系に統合することができる。
【図面の簡単な説明】
【0015】
【図1】本発明の一実施形態に係る位置算出システムの一例を示すシステム構成図。
【図2】送受信端末及び位置算出装置の機能的な構成を示すブロック図。
【図3】データ記憶部に備えられる計測距離テーブルに格納されるデータ構成の一例を示す図。
【図4】データ記憶部に備えられる局所座標テーブルに格納されるデータ構成の一例を示す図。
【図5】位置算出装置において実行される処理全体を示すフローチャート。
【図6】局所座標算出部が実行する処理のフローチャート。
【図7】新たな局所領域における位置座標の定め方を説明するための図。
【図8】統合領域抽出部が実行する処理のフローチャート。
【図9】統合処理部が実行する計測センサリストの生成処理のフローチャート。
【図10】統合処理部が実行するセンサ対応付け処理のフローチャート。
【図11】統合処理部が実行する位置座標補正処理のフローチャート。
【図12】統合処理部が実行する送信機間距離の算出処理のフローチャート。
【図13】局所領域の一例を示す図。
【図14】局所領域において算出される送信機間距離と信頼度を説明するための図。
【図15】2つの局所領域においてそれぞれ算出される送信機間距離の相違を示す図。
【図16】統合処理部による無向グラフの生成を説明するための図。
【図17】上述の無向グラフにおいて、送信機間距離を加重平均距離によって表した図。
【図18】送信機の位置座標の修正の様子を示す図。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
図1は、本発明の一実施形態に係る位置算出システムの一例を示すシステム構成図である。図1に示すように、ユーザUは、送受信端末10を携帯してシステム内を持ち運ぶ。n+1個の送信機#0〜#nは、システム環境(例えば1つの部屋)内の任意の箇所に設置される。ただし、nは3以上で任意の正の整数とする。
【0017】
この位置算出システムにおいては、少なくとも2つの局所領域の統合が行なわれ、1つの局所領域は少なくとも3個の送信機から構成される。したがって、4個以上の送信機が備えられる。i番目の送信機#iにはID:iが割り当てられ、その位置座標は、例えば送信機#0、#1及び#2による局所領域ID0の座標系においては、X0_i=(X0i,Y0i)で表される。
【0018】
送信機#0〜#nは一例として、電波や音波等の波を発生させる送信端末であり、送受信端末10では、送信機#0〜#nからの電波や音波を受信して、当該送信機からの距離di(t)を測定する。ただし、送信機#1〜#nと送受信端末10との通信を媒介するのは、電波や音波に限定されず、距離への変換が可能であればどのような媒介であってもよい。送信機#0〜#nは、所定の時間間隔で、現時刻(送信時刻)と当該送信機に固有の送信機IDの情報を電波又は音波によって発信するものとする。
【0019】
図1に示す例では、送信機#0〜#nから発信される電波又は音波を、ユーザUが携帯する送受信端末10が受信するセンサシステムが図示されているが、これに限らず、ユーザUが送信機を携帯し、受信機が環境中に設置されてもよい。
【0020】
以下では、図1の例に基づいて、送信機(センサ)が環境中に固定され、受信機(送受信端末10)をユーザが環境中で持ち運ぶ例について説明する。時刻tにおける送受信端末10の位置座標は、局所領域IDが0である座標系では、X0_h(t)=(X0h(t),Y0h(t))で表される。
【0021】
位置算出装置20は、ユーザUが携帯する送受信端末10からの情報を基に、基準座標系における各送信機及び送受信端末10の位置座標の算出、及び算出された位置座標の校正等、各種の処理を実行するコンピュータシステムである。位置算出装置20は、図示しないプロセッサ、プログラムメモリ、及びワークメモリを有し、プロセッサがプログラムメモリに記憶された所定のプログラムを実行することで、本実施形態に係る各種の処理を制御する。
【0022】
図2は、この位置算出システムにおける送受信端末10及び位置算出装置20の機能的な構成を示すブロック図である。
【0023】
送信機#0〜#nは、それぞれ所定の時間間隔で、現時刻(送信時刻)と送信機IDの情報を電波又は音波によって発信している。
【0024】
送受信端末10は、受信部101、距離計測部102及び送信部103を備えている。受信部101は、送信機(#0〜#n)が発信する電波又は音波を受信する。距離計測部102は、現時刻(受信時刻又は計測時刻)と送信機からの送信時刻に基づいて電波又は音波の伝搬時間を算出し、その伝搬時間に基づいて送受信端末10と送信機との間の計測時刻tにおける距離di(t)を算出する。送信部103は、算出された距離(計測距離)を送信機IDと計測時刻に対応づけて、位置算出装置20に送信する。
【0025】
送信機と送受信端末10との間の距離算出は、電波と超音波を組み合わせて行われてもよい。この場合、超音波の発信を指示する呼び出し命令が、送受信端末10から送信機#iに電波によって送信され、電波を受信した送信機#iが超音波を発する。そして、送受信端末10が超音波を受信した時刻と送信機#iが電波を発した時刻との時刻差に音速を乗じることで送信機#iと送受信端末10との間の距離di(t)が算出される。
【0026】
位置算出装置20は、受信部210、データ記憶部220、局所座標算出部230、及び局所座標統合部240を備える。
【0027】
受信部210は、送受信端末10から送られた各送信機との間の計測距離、送信機ID及び計測時刻のデータを受信する。
【0028】
データ記憶部220は、ハードディスク装置やフラッシュメモリ等を備える記憶装置である。データ記憶部220は、図3に示す計測距離テーブル221、図4に示す局所座標テーブル222、及び基準領域情報格納部223を備える。送受信端末10から送られたデータは、計測距離テーブル221に保持される。
【0029】
図3は、データ記憶部220に備えられる計測距離テーブル221に格納されるデータ構成の一例を示す図である。図3に示すように、計測距離テーブル221には、各送信機の送信機IDに対応して、計測時刻t、及び計測時刻tにおける計測距離di(t)が記憶される。
【0030】
図4は、データ記憶部220に備えられる局所座標テーブル222に格納されるデータ構成の一例を示す図である。図4に示すように、局所座標テーブル222には、局所領域毎に、局所領域ID、当該領域に含まれるセンサ(送信機)、各センサの座標、各センサと送受信端末10との間の計測距離、後述する信頼度、統合可能な局所領域のID、平均の計測距離、及び送受信端末10の位置座標が格納される。
【0031】
基準領域情報格納部223は、基準座標系を与える規準局所領域の情報を格納する。基準局所領域は、ユーザによる設定操作などに応じて予め定められていてもよい。
【0032】
局所座標算出部230は、受信部210が受信したデータに基づいて、局所座標テーブル222の記憶内容を生成し、更新する。
【0033】
局所座標統合部240は、統合領域抽出部241、統合処理部242及び入出力部243を有する。統合領域抽出部241は、所定数以上の送信機を共有する2つの局所領域を統合可能な局所領域として抽出し、設定する。統合処理部242は、統合可能であるとして抽出された局所領域の統合処理を行う。入出力部243は、統合結果を出力するための表示装置等を有する。あるいは入出力部243は、図示しない記憶装置に接続され、統合結果が当該記憶装置に出力され記憶されてもよい。
【0034】
次に、以上のように構成された位置算出装置20の動作について説明する。
【0035】
図5は、位置算出装置20において実行される処理全体を示すフローチャートである。
【0036】
受信部210は、送受信端末10から少なくとも1つの送信機(#i)の送信機ID、計測時刻及び計測距離を含むデータを受信する(ステップS501)。受信部210は、受信したデータをデータ記憶部220の計測距離テーブル221、及び局所座標算出部230にも出力する。計測距離テーブル221では、当該少なくとも1つの送信機(#i)の送信機ID:iに対応して、計測時刻及び計測距離のデータが更新される。
【0037】
局所座標算出部230は、送られた送信機ID、計測時刻及び計測距離データに基づいて、新規に局所領域が作成されるか否かを判定する(ステップS502)。
【0038】
受信したデータに含まれる局所領域が、局所座標テーブル222に記憶されていない場合には、新規の局所領域を作成する必要がある(ステップS502でYes)。この場合、局所座標算出部230は、局所座標テーブル222に無いIDを、新規の局所領域IDとして生成する(ステップS503)。
【0039】
受信したデータに含まれる局所領域が、既に局所座標テーブル222に記憶されている場合には、新規の局所領域は作成されない(ステップS502でNo)。この場合、局所座標算出部230は、局所座標テーブル222から、受信データに含まれ更新対象となる局所領域IDを選択する(ステップS504)。
【0040】
局所座標算部505は、ステップS503で新規に作成された局所領域ID、又はステップS504で選択された局所領域IDに対応する局所領域を構成する送信機(センサ)と送受信端末10までの各最新計測距離を局所座標テーブル222の記憶内容に追加し、当該局所領域IDに対応する局所領域を構成する送信機(センサ)の位置座標、最新の位置算出時刻、信頼度、および平均計測距離の値を算出し、局所座標テーブル222の記憶内容を更新する(ステップS505)。新規に局所領域が検出された場合には、新たに作成された局所領域IDと対応づけて、各センサと送受信端末10までの最新計測距離を局所座標テーブル222の記憶内容に追加し、算出されたセンサの位置座標、最新の位置算出時刻、信頼度、及び平均計測距離の値を局所座標テーブル222に記憶し、記憶内容を更新する。また、局所座標算出部230は、当該新規の局所領域に含まれる各センサのIDも局所座標テーブル222に記憶する。
【0041】
一方、ステップS504で更新対象となる局所領域IDが選択された場合には、局所座標テーブル222において、選択された局所領域IDに対応するセンサの位置座標、最新位置算出時刻、信頼度、平均計測距離の値を、算出した値に更新する。また、局所座標算出部203は、選択された局所領域に含まれる各センサの計測距離も算出し、局所座標テーブル222において、当該選択された局所領域の局所領域IDに対応して、各センサの位置座標値を追加する。
【0042】
次に、局所座標統合部240では、統合領域抽出部241が、局所座標テーブル222に記憶されている局所領域のうち統合できる領域があるか否かを判定する(ステップS506)。判定結果は、統合処理部242に送られる。
【0043】
統合処理部242は、判定結果に基づいて局所領域を統合する(ステップS507)。統合結果は、入出力部243を介して出力されてもよい。
【0044】
なお、図2では局所座標算出部230の処理の後に続けて局所座標統合部240の処理を実施する例を記載したが、局所座標算出部230の処理と局所座標統合部240の処理を分離し、局所座標算出部230はデータ記憶部220の局所座標テーブル222の記憶内容を更新して処理を終了することとし、局所座標統合部240は予め定めたタイミングで(例えば予め定めた時間間隔で、あるいは、入出力部からの起動指示により)図5のステップS506の処理を開始することとしても良い。
【0045】
次に、局所座標算出部230及び局所座標統合部240が実行する処理について、更に詳細に説明する。
【0046】
図6は、局所座標算出部230が実行する処理の詳細を示すフローチャートである。図6に示す処理は、図5ではステップS502〜S505の処理に相当する。
受信部210が受信データをデータ記憶部220に格納したら、局所座標算出部230は、データ記憶部220の局所座標テーブル222の情報を取得する(ステップS601)。局所座標算出部230は、受信データに含まれる送信機IDから、3つ以上のIDからなる組合せを全て生成する(ステップS602)。局所座標算出部230は、生成した組合せから、1つの組合せを選択する(ステップS603)。ここで、受信部210が受信した送信機IDの数をMとする。
【0047】
局所座標算出部230は、選択したIDの組合せが、局所座標テーブル222に記憶されたいずれかの局所領域に含まれている代表センサの組合せであるか否かを判定する(ステップS604)。
【0048】
選択されたIDの組合せが、局所座標テーブル222に記憶されたいずれかの局所領域に含まれている代表センサの組合せである場合(ステップS604でYes)、局所座標算出部230は、当該選択されたIDの組み合わせに対応する局所領域の局所領域IDを処理対象として選択する(ステップS607)。
【0049】
選択されたIDの組合せが、局所座標テーブル222に記憶されたいずれかの局所領域に含まれている代表センサの組合せでない場合(ステップS604でNo)、ステップS602で生成した全ての組合せについて、ステップS604の処理が行われたか否かを判定する(ステップS614)。まだステップS604の処理が行われていない組合せがある場合(ステップS614でNo)、ステップS603の処理に戻って他の組合せを選択し、以降の処理を繰り返す。一方、全ての組合せについて処理が終了していれば(ステップS614でYes)、当該選択されたIDの組み合わせによって指定される送信機によって新たな局所領域が構成されるものとして、局所座標算出部230は、当該新たな局所領域の情報を局所座標テーブル222に設定する(ステップS606)。設定される新たな局所領域の情報には、この新たな局所領域の局所領域ID、当該局所領域の代表送信機の情報、その位置座標等が含まれる。局所領域IDは、例えば0から連番で付与されてもよい。
【0050】
図7は、新たな局所領域における位置座標の定め方を説明するための図である。選択されたIDの組合せから、代表送信機が任意に3つ選択され、図7に示すように、3つの送信機のうち1つが原点とされ、他の1つがx軸上に設定される。残りの1つの代表送信機が、y軸の+方向に存在すると定めて、新たな局所領域における座標系が設定される。局所座標テーブル222には、この新たな局所領域に付与された局所領域IDと、座標系を規定する代表送信機IDが記憶される。
【0051】
局所座標算出部230は、ステップS605で選択された局所領域ID、又はステップS606で新たに付与された局所領域IDを処理対象領域のIDとし、当該処理対象領域に含まれる送信機の計測時刻及び計測距離データを計測距離テーブル221から取得する(ステップS607)。局所座標算出部230は、処理対象領域に含まれるM個の送信機全てについて計測距離が記憶されている計測時刻の数Nを、計測距離テーブル221から検出する(ステップS608)。
【0052】
局所座標算出部230は、各送信機の相対距離が算出可能であるかを表す条件式MN>2M+2Nが満たされるか否かを判断する(ステップS609)。条件式MN≧2M+2Nが満足されない場合は(ステップS609でNo)、各送信機の相対距離が算出できないので、処理を終了する。
【0053】
一方、条件式MN≧2M+2Nが満足される場合は(ステップS609でYes)、各送信機の相対距離が算出可能となる。
【0054】
例えば局所領域IDが0である局所領域において、送信機#iと送受信端末10との間の計測距離di(t)は、以下の式(1)から、求めることができる。
【数1】
【0055】
ここで、(X0i,Y0i)(=X_0)は、局所領域IDが0である局所領域における送信機#iの位置座標を表す。また、時刻tにおける当該局所領域での送受信端末10の位置座標は、X0_h(t)=(X0h(t),Y0h(t))で表される。
【0056】
従って、ステップS608で選択されたN個の計測時刻について、計測距離と、各送信機及び送受信端末10の位置座標の関係式(2)が、局所座標算出部230によって生成される(ステップS610)。
【数2】
【0057】
局所座標算出部230は、この連立方程式(2)を解いて、各計測時刻における送信機及び送受信端末10との相対位置座標を算出する(ステップS611)。
【0058】
図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つの時刻以上距離情報が取得された場合に、位置座標の算出が可能となる。
【0059】
続いて、局所座標算出部230は、算出された各送信機の位置座標の信頼度を算出する(ステップS612)。信頼度としては、算出された送信機位置の微分変動量fや、送信機と送受信端末10との間の距離の算出結果と計測結果の差のノルムgを含む関数等が用いられる。局所領域IDが0である局所領域において、送信機#iの微分変動量fは以下の式(3)で、また送信機#iと送受信端末10との間の距離の算出結果と計測結果の差のノルムgは以下の式(4)で表される。
【数3】
【数4】
【0060】
また、局所領域IDが0である局所領域において、送信機iの尤度w0_iは、微分変動量f及びノルムgを用いて以下式(5)によって表される。
【数5】
【0061】
式(5)においてα、及びβは所定の重み係数であり、0以上の値を取るものとする。また、このとき局所領域IDがjである局所領域において、算出された位置座標全体の精度指標を示す信頼度Wjを算出する。信頼度Wjとしては、例えば局所領域IDがjである局所領域において座標系を設定するための3つの代表送信機の算出された位置座標の尤度の積が、以下の式(6)によって求められてもよい。
【数6】
【0062】
算出された局所領域の信頼度及び送信機位置座標の信頼度は、当該局所領域の局所領域IDに対応付けられ、局所座標テーブル222に追加記憶され(ステップS613)、フローを終了する。
【0063】
図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)より算出される。
【0064】
なお、上述の式では、送信機の位置座標について微分変動量fと算出結果と計測結果の差のノルムgが求められ、これに基づいて送信機の位置座標の信頼度が求められた。しかしながら、後述する送信機間距離について、微分変動量f及び算出結果と計測結果の差のノルムgが算出されてもよい。
【0065】
なお、ステップS615では、計測距離テーブルに記憶された全データを削除するのではなく、一部のデータのみを削除しても良い。
【0066】
例えば、より新しい計測時刻について予め定めた数のデータは残して、他のデータは削除してもよい。あるいは、各データに所定の方法で評価値を付与し、評価値の低いものから順に削除するなどしてもよい。また、データを削除せずに局所座標算出部230の処理を終了しても良い。
【0067】
次に、局所座標統合部240において実行される処理について説明する。
【0068】
図8は、統合領域抽出部241が実行する処理の詳細を示すフローチャートである。図8に示す処理は、図5ではステップS506の処理に相当する。
まず統合領域抽出部241は、局所座標テーブル222の情報を取得する(ステップS801)。統合領域抽出部241は、局所座標テーブル222に記憶された局所領域から、2つの局所領域を選ぶ全ての組合せを生成する(ステップS802)。統合領域抽出部241は、生成した組合せから1つの組合せ(第1のIDと第2のID)を選択する(ステップS803)。
【0069】
統合領域抽出部241は、選択された2つの局所領域の両方に含まれる送信機の数を算出する(ステップS804)。そして、統合領域抽出部241は、2つの局所領域に共有される送信機(センサ)の数が所定の閾値以上であるか否かを判定する(ステップS805)。所定の閾値以上の送信機が2つの局所領域に共有されている場合(ステップS805でYes)、これら2つの領域は統合可能であると判定され、互いに統合可能な領域として局所座標テーブル222に設定される。すなわち、局所座標テーブル222において、第1のIDに対応する「統合可能な領域ID」として第2のIDが記憶され、逆に、第2のIDに対応する「統合可能な領域ID」として第1のIDが記憶される。
【0070】
次に、統合領域抽出部241は、ステップS802で生成した全ての組合せについて、ステップS803〜S806の処理が行われたか否かを判定する(ステップS807)。まだステップS803〜S806の処理が行われていない組合せがある場合(ステップS807でNo)、ステップS803に戻って他の組合せを選択し、以降の処理を繰り返す。一方、全ての組合せについて処理が終了していれば(ステップS807でYes)、統合領域の抽出結果を局所座標テーブル222に送信し、フローを終了する。また統合領域抽出部241は、各局所領域について、当該局所領域と統合可能な局所領域のリスト(統合対象リスト)を生成し、統合処理部242に送信する。
【0071】
統合領域抽出部241が、統合可能な局所領域を抽出したら、統合処理部242によって統合処理が行われる。統合処理部242は、一つの局所領域(対象領域)に対して、統合可能な局所領域毎に計測センサリストを生成し(図9)、当該対象領域及び当該対象領域と統合可能な他の統合領域の双方に含まれる計測センサを検出して対応付け(図10)、計測センサリストに含まれる送信機の位置座標の修正値を算出する(図11)。
【0072】
図9は、統合処理部242が実行する計測センサリストの生成処理の詳細を示すフローチャートである。
【0073】
統合処理部242は、統合領域抽出部241から統合領域の抽出結果を受信したら(ステップS901)、1つの局所領域(対象領域)についての統合対象リストから、当該対象領域と統合可能な統合領域のうち1つの領域の局所領域IDを選択する(ステップS902)。
【0074】
統合処理部242は、選択された統合領域に含まれる計測センサ(送信機)から1つの計測センサを選択し(ステップS903)、当該選択された計測センサのIDが、選択された対象領域の計測センサリストに含まれているか否かを判定する(ステップS904)。
【0075】
選択された計測センサのIDが計測センサリストに含まれている場合は(ステップS904でYes)、ステップS906に処理を進める。一方、選択された計測センサのIDが計測センサリストに含まれていない場合は(ステップS904でNo)、統合処理部242は、当該計測センサのIDを計測センサリストに追加する(ステップS905)。
【0076】
統合制御部242は、選択した局所領域に含まれる計測センサ全てについてステップS903〜S905の処理が終了したか否かを判定する(ステップS906)。まだステップS903〜S905の処理が行われていない計測センサがある場合(ステップS906でNo)、ステップS903に戻って計測センサを選択し、以降の処理を繰り返す。一方、全ての計測センサについて処理が終了していれば(ステップS906でYes)、統合処理部242は、対象領域と統合可能な全ての統合領域についてステップS902〜S906の処理が終了したか否かを判定する(ステップS907)。
【0077】
まだステップS903〜S906の処理が行われていない局所領域がある場合(ステップS907でNo)、ステップS902に戻って他の局所領域を選択し、以降の処理を繰り返す。一方、対象領域と統合可能な全ての統合領域について処理が終了していれば(ステップS907でYes)、フローを終了する。
【0078】
以上のように、図9に示す処理によって、1つの局所領域に対して統合可能な局所領域に含まれる計測センサ(送信機)のリスト(計測センサリスト)が生成される。
【0079】
次に、統合処理部242が行なう処理について、図10〜12を参照して説明する。
図10は、統合処理部242が実行するセンサ対応付け処理の詳細を示すフローチャートである。
統合処理部242は、対象領域に対する計測センサリストが生成されたら、当該計測センサリストから1つの計測センサ(送信機)を選択する(ステップS1002)。
【0080】
次に統合処理部242は、局所領域テーブル222に記憶されたM個の局所領域から、1つの局所領域を選択し(ステップS1003)、選択した局所領域に含まれる計測センサが、ステップS1002で選択された計測センサに一致するか否かを判定する(ステップS1004)。
【0081】
選択した局所領域に含まれる計測センサと、選択された計測センサが一致しない場合は(ステップS1004でNo)、ステップS1005の処理に進む。一方、選択した局所領域に含まれる計測センサと、選択された計測センサが一致する場合は(ステップS1004でYes)、計測センサの対応付けが行なわれる(ステップS1005)。計測センサの対応付けでは、選択された局所領域に含まれる全ての計測センサを、選択された計測センサと同一領域内にある他の計測センサであるとし、これら他の計測センサの送信機IDと当該選択された計測センサの送信機IDとが対応づけられて局所座標テーブル222に記憶される。
【0082】
統合処理部242は、局所座標テーブル222に含まれるM個の局所領域全てについてステップS1003〜S1005の処理が終了したか否かを判定する(ステップS1006)。まだステップS1003〜S1005の処理が行われていない局所領域がある場合(ステップS1006でNo)、ステップS1003に戻って局所領域を選択し、以降の処理を繰り返す。一方、全ての局所領域について処理が終了していれば(ステップS1006でYes)、統合処理部242は、計測センサリストに含まれる全ての送信機についてステップS1002〜S1006の処理が終了したか否かを判定する(ステップS1007)。
【0083】
まだステップS1002〜S1006の処理が行われていない送信機がある場合(ステップS1007でNo)、ステップS1002に戻って他の送信機を選択し、以降の処理を繰り返す。一方、全ての送信機について処理が終了していれば(ステップS1007でYes)、フローを終了する。
【0084】
以上のように、図10に示す処理によって、複数の局所領域間で送信機(計測センサ)が対応付けされる。
【0085】
図11は、統合処理部242が実行する基準座標系上におけるセンサ位置座標補正処理の詳細を示すフローチャートである。各センサの初期位置は、基準座標系に設定された局所領域上のセンサについては局所座標算出部230で算出された値とし、それ以外のセンサについては、乱数により与えるとする。
統合処理部242は、局所座標テーブル222に記憶された基準局所座標から、基準座標系を設定する(ステップS1100)。基準座標系はユーザによる設定操作などに応じて予め定められていてもよく、その設定情報はデータ記憶部220の基準領域情報格納部223に記憶されている。以下では、説明のため局所領域IDが0である領域が基準座標系を与える規準領域であるとする。統合処理部242は、基準座標系を構成する対象領域に対して生成された計測センサリストから1つの計測センサ(送信機#i)を選択する(ステップS1101)。そして統合処理部242は、選択された送信機#iと同一の局所領域内にある他の送信機(図10の処理において設定)の集合を送信機集合giとして、以下の式(7)によって、当該選択された送信機#iの算出位置の補正された座標値ΔXiを算出する。
【数7】
【0086】
式(7)においてLijは送信機#iと送信機#jとの間の距離を表す。
【0087】
統合処理部242は、計測センサリスト内の全ての送信機についてステップS1101〜S1102の処理が終了したか否かを判定する(ステップS1103)。まだステップS1101〜S1102の処理が行われていない送信機があれば(ステップS1103でNo)、ステップS1101に戻って他の送信機を選択し、以降の処理を繰り返す。
【0088】
全ての送信機について処理が終了したら(ステップS1103でYes)、統合処理部242は、以下の式(8)より評価式Jの値を求め、その値が所定の閾値よりも小さいか否かを判定する(ステップS1104)。
【数8】
【0089】
式(8)において、Gは後述するように、送信機間距離が求められている2つの送信機の組合せの集合を表す。
【0090】
評価式Jの値が閾値よりも小さい場合(ステップS1104でYes)、フローを終了する。一方、評価式Jの値が所定の閾値以上である場合(ステップS1104でNo)、計測センサリストに含まれる全ての送信機が未選択であるとして(ステップS1105)ステップS1101に戻り、再び計測センサリストから送信機を選択して以降の処理を繰り返す。
【0091】
以上のように、図11に示す処理によって、対象領域に対して生成された計測センサリストに含まれる送信機の位置座標の補正値を求めることができる。
【0092】
なお、図9〜図11に示す処理は、1つの対象領域に対して、連続して実行されてもよいが、異なる局所領域を対象として個別に実行されてもよい。
【0093】
また、他の局所領域と統合可能であると判定された局所領域内で、図12に示す送信機間距離算出が行なわれてもよい。
【0094】
図12は、統合処理部242が実行する送信機間距離の算出処理の詳細を示すフローチャートである。
【0095】
統合処理部242は、図8に示す統合領域抽出部214による抽出結果と、局所座標テーブル222の情報を取得する(ステップS1201)。統合処理部214は、統合領域抽出部241が他の局所領域と統合可能である局所領域を抽出したか否かを判定する(ステップS1202)。統合可能な局所領域が存在しない場合は(ステップS1202でNo)、処理を終了する。
【0096】
一方、統合可能な局所領域が存在する場合(ステップS1202でYes)、統合処理部242は、未選択の統合可能領域から一つの局所領域を選択する(ステップS1203)。統合処理部242は、選択された局所領域において、送信機間距離が算出されていない送信機の組合せがあるか否かを判定する(ステップS1204)。
【0097】
送信機間距離が算出されていない送信機の組合せが無ければ(ステップS1204でNo)、ステップS1202に戻り、以降の処理を繰り返す。一方、送信機間距離が算出されていない送信機の組合せがあれば(ステップS1204でYes)、統合処理部242は、未選択の送信機の組合せを選択する(ステップS1205)。そして、選択した送信機の組合せについて、送信機間距離とその信頼度を算出し(ステップS1206)、処理はステップS1204に戻る。算出された送信機間距離とその信頼度は、局所座標テーブル222に記憶される。
【0098】
送信機間距離は、各局所領域において算出され、局所座標テーブル222に記憶されている送信機の位置座標を用いて算出される。例えば、図13に示す例では、局所領域IDが0である局所領域に含まれる3つの送信機#0〜#2の各位置座標及びその信頼度が算出されて局所座標テーブル222に記憶されている。この場合、算出位置座標が(X00,Y00)である送信機#0と、算出位置座標が(X01,Y01)である送信機#1のとの間の距離L0_01は、以下の式(9)から算出される。
【数9】
【0099】
また、このように算出された送信機間距離の信頼度w0_01は、一例として、式(10)に示すように各送信機の位置座標の信頼度w0_0とw0_1の積で与えられる。
【数10】
【0100】
図13に示す3つの送信機#0〜#2の例では、図14に示すように、送信機#1と送信機#2との間の距離L0_12、及び送信機#2と送信機#0との間の距離L0_20も式(9)と同様に算出される。また、送信機間距離L0_12の信頼度w0_12及び送信機間距離L0_20の信頼度w0_20も式(10)と同様に算出される。
【0101】
以上のように、図12の処理によれば、局所領域における送信機間距離及びその信頼度を算出することができる。
【0102】
図9〜図12に示す処理によって、局所領域における各送信機の位置座標とその信頼度、また送信機間距離とその信頼度を算出することができる。
【0103】
局所領域によって送信機関距離の算出結果が異なることに留意する必要がある。図15では、局所領域IDが0である局所領域と局所領域IDが1である局所領域を示されている。図15の例では、局所領域IDが0である局所領域において算出された送信機#1と送信機#2の送信機間距離L0_12と、局所領域IDが1である局所領域において算出された送信機#1と送信機#2の送信機間距離L1_12とでは、その大きさが異なっている。このように、送信機間距離及びその信頼度は、局所領域によって異なると考えられる。
【0104】
送信機間の距離は、信頼度が低い送信機間距離の影響を低減させるために、信頼度によって重み付けした送信機間距離の加重平均を用いて算出してもよい。図15に示す例において、信頼度を用いて算出される送信機#1と送信機#2の送信機間距離L12は、以下の式(11)によって与えられる。
【数11】
【0105】
これにより、信頼度の高いデータを優先的に使用して送信機間の距離を算出することができる。
【0106】
次に、統合処理部242は、送信機間距離の加重平均を用いて無向グラフ上の全局所領域の基準座標系への統合を行う(ステップS2003)。すなわち、各送信機の基準座標系における位置座標を算出する。
【0107】
図17は、図16に示された各送信機間の距離を、送信機間の加重平均距離によって表した図である。基準座標系上の送信機#iの位置座標X0_iは、式(8)によって与えられる評価式の値Jが最小となるような最適計算を施すことにより算出される。式(8)において集合Gは、送信機間距離が算出されている送信機の組み合わせの集合を表す。評価式の値Jを最小化するアルゴリズムの一例が、式(7)から得られる修正値を用いて各送信機の位置座標を修正する方法である。統合処理部242は、評価式の値Jが閾値以下になるまで式(8)による再帰計算を行う。
【0108】
例えば図17に示す例では、送信機#2との間で送信機間距離が算出された送信機の集合g2は、g2={0,1,3,4,5}となる。統合処理部242は、送信機#2の位置座標を、当該送信機#2の算出位置座標と、集合g2に含まれる各送信機と送信機#2の加重平均距離との差に基づいて、送信機#2の位置座標を修正する。
【0109】
図18は、送信機#2の位置座標の修正の様子を示す図である。例えば、送信機#0の推定算出位置を用いて送信機#2の位置修正を行う際、両送信機の推定位置より算出される送信機間距離を算出し、算出した送信機間距離の値と信頼度により重み付けした送信機間距離の差を算出する(以降、その差をnとする)。nの値が正である場合、両送信機の推定位置を結んだ直線上で送信機#0とは反対方向に送信機#2をnの量だけ移動した地点の位置座標を、送信機#2の修正された位置座標とする。nの値が負である場合、当該直線上で送信機#2を送信機#0に向かってnの量だけ移動した地点の位置座標を、送信機#2の修正された位置座標とする。同様に、送信機#2の位置座標と距離計測を行なった他の送信機(送信機#1、#3〜#5)の位置座標を用いて送信機#2の位置座標を修正する。
【0110】
以上の処理により、基準座標系における各送信機の位置座標が算出される。
【0111】
統合処理部424は、送受信端末10の位置座標も算出する(ステップS2004)。送受信端末10の位置座標は、算出された送信機#iの位置座標と送受信端末10との間の計測距離により生成される連立方程式を解くことで算出される。例えば送受信端末10が、送信機#0〜#2との間で距離計測を行った場合は、以下の連立方程式(12)から、送受信端末10の位置座標が算出される。
【数12】
【0112】
以上のようにして、基準座標系における各送信機及び送受信端末10の位置座標を算出することが可能となる。
【0113】
本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、1つの実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの実施形態に示される構成要件が組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【符号の説明】
【0114】
10…送受信端末、20…位置算出装置、101…受信部、102…距離計測部、103…送信部、210…受信部、220…データ記憶部、221…局所座標テーブル、2223…基準領域情報格納部、240…局所座標統合部、241…統合領域抽出部、242…統合処理部、243…入出力部。
【特許請求の範囲】
【請求項1】
複数のセンサを備える環境において、当該環境内を移動可能な端末と前記複数のセンサそれぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置であって、
それぞれ複数のセンサから構成される複数の局所領域を検出し、前記端末と前記複数のセンサそれぞれとの間の距離に基づいて、前記局所領域それぞれにおいて、当該局所領域を構成する複数のセンサの位置座標を算出する第1の座標算出手段と、
前記複数の局所領域のうち、所定数のセンサを共有する2つ以上の局所領域を、互いに統合可能な領域として抽出する統合領域抽出手段と、
統合可能な領域として抽出された前記2つ以上の局所領域それぞれにおいて、センサ間距離及びセンサ間距離の信頼度を算出し、前記2つ以上の局所領域それぞれにおいて算出されたセンサ間距離の信頼度によって重み付けを行なって重み付け補正後のセンサ間距離を算出し、前記補正後のセンサ間距離に基づいて、前記2つ以上の局所領域を統合した座標系における各センサの位置座標を算出する第2の座標算出手段と、
を具備する位置算出装置。
【請求項2】
第1の座標算出手段、統合領域抽出手段、及び第2の座標算出手段を備える位置算出装置であって、複数のセンサを備える環境において、当該環境内を移動可能な端末と前記複数のセンサそれぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置に用いられる位置算出方法であって、
前記第1の座標算出手段は、それぞれ複数のセンサから構成される複数の局所領域を検出する検出し、前記端末と前記複数のセンサそれぞれとの間の距離に基づいて、前記局所領域それぞれにおいて、当該局所領域を構成する複数のセンサの位置座標を算出し、
前記統合領域抽出手段は、前記複数の局所領域のうち、所定数のセンサを共有する2つ以上の局所領域を、互いに統合可能な領域として抽出し、
前記第2の座標算出手段は、統合可能な領域として抽出された前記2つ以上の局所領域それぞれにおいて、センサ間距離及びセンサ間距離の信頼度を算出し、前記2つ以上の局所領域それぞれにおいて算出されたセンサ間距離の信頼度によって重み付けを行なって、重み付け補正後のセンサ間距離を算出し、前記補正後のセンサ間距離に基づいて、前記2つ以上の局所領域を統合した座標系における各センサの位置座標を算出する位置算出方法。
【請求項3】
複数のセンサを備える環境において、当該環境内を移動可能な端末と前記複数のセンサそれぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置に用いられるコンピュータを、
それぞれ複数のセンサから構成される複数の局所領域を検出し、前記端末と前記複数のセンサそれぞれとの間の距離に基づいて、前記局所領域それぞれにおいて、当該局所領域を構成する複数のセンサの位置座標を算出する第1の座標算出手段、
前記複数の局所領域のうち、所定数のセンサを共有する2つ以上の局所領域を、互いに統合可能な領域として抽出する統合領域抽出手段、
統合可能な領域として抽出された前記2つ以上の局所領域それぞれにおいて、センサ間距離及びセンサ間距離の信頼度を算出し、前記2つ以上の局所領域それぞれにおいて算出されたセンサ間距離の信頼度によって重み付けを行なって重み付け補正後のセンサ間距離を算出し、前記重み付け補正後のセンサ間距離に基づいて、前記2つ以上の局所領域を統合した座標系における各センサの位置座標を算出する第2の座標算出手段として機能させるための位置算出プログラム。
【請求項1】
複数のセンサを備える環境において、当該環境内を移動可能な端末と前記複数のセンサそれぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置であって、
それぞれ複数のセンサから構成される複数の局所領域を検出し、前記端末と前記複数のセンサそれぞれとの間の距離に基づいて、前記局所領域それぞれにおいて、当該局所領域を構成する複数のセンサの位置座標を算出する第1の座標算出手段と、
前記複数の局所領域のうち、所定数のセンサを共有する2つ以上の局所領域を、互いに統合可能な領域として抽出する統合領域抽出手段と、
統合可能な領域として抽出された前記2つ以上の局所領域それぞれにおいて、センサ間距離及びセンサ間距離の信頼度を算出し、前記2つ以上の局所領域それぞれにおいて算出されたセンサ間距離の信頼度によって重み付けを行なって重み付け補正後のセンサ間距離を算出し、前記補正後のセンサ間距離に基づいて、前記2つ以上の局所領域を統合した座標系における各センサの位置座標を算出する第2の座標算出手段と、
を具備する位置算出装置。
【請求項2】
第1の座標算出手段、統合領域抽出手段、及び第2の座標算出手段を備える位置算出装置であって、複数のセンサを備える環境において、当該環境内を移動可能な端末と前記複数のセンサそれぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置に用いられる位置算出方法であって、
前記第1の座標算出手段は、それぞれ複数のセンサから構成される複数の局所領域を検出する検出し、前記端末と前記複数のセンサそれぞれとの間の距離に基づいて、前記局所領域それぞれにおいて、当該局所領域を構成する複数のセンサの位置座標を算出し、
前記統合領域抽出手段は、前記複数の局所領域のうち、所定数のセンサを共有する2つ以上の局所領域を、互いに統合可能な領域として抽出し、
前記第2の座標算出手段は、統合可能な領域として抽出された前記2つ以上の局所領域それぞれにおいて、センサ間距離及びセンサ間距離の信頼度を算出し、前記2つ以上の局所領域それぞれにおいて算出されたセンサ間距離の信頼度によって重み付けを行なって、重み付け補正後のセンサ間距離を算出し、前記補正後のセンサ間距離に基づいて、前記2つ以上の局所領域を統合した座標系における各センサの位置座標を算出する位置算出方法。
【請求項3】
複数のセンサを備える環境において、当該環境内を移動可能な端末と前記複数のセンサそれぞれとの間の距離情報を受信して、当該端末の位置座標を算出する位置算出装置に用いられるコンピュータを、
それぞれ複数のセンサから構成される複数の局所領域を検出し、前記端末と前記複数のセンサそれぞれとの間の距離に基づいて、前記局所領域それぞれにおいて、当該局所領域を構成する複数のセンサの位置座標を算出する第1の座標算出手段、
前記複数の局所領域のうち、所定数のセンサを共有する2つ以上の局所領域を、互いに統合可能な領域として抽出する統合領域抽出手段、
統合可能な領域として抽出された前記2つ以上の局所領域それぞれにおいて、センサ間距離及びセンサ間距離の信頼度を算出し、前記2つ以上の局所領域それぞれにおいて算出されたセンサ間距離の信頼度によって重み付けを行なって重み付け補正後のセンサ間距離を算出し、前記重み付け補正後のセンサ間距離に基づいて、前記2つ以上の局所領域を統合した座標系における各センサの位置座標を算出する第2の座標算出手段として機能させるための位置算出プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2011−75505(P2011−75505A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−229706(P2009−229706)
【出願日】平成21年10月1日(2009.10.1)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願日】平成21年10月1日(2009.10.1)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]