説明

位置推定方法、位置推定システム、プログラムおよび記録媒体

【課題】使用する場所を問わず物体の位置を正確に測位する。
【解決手段】物体に装着されたセンシング装置1は、センサ10同士の通信により、他のセンシング装置1が一定距離以下に接近したことを感知する。制御部13は、物体上のセンサ10の位置を示す座標データを記憶する記憶部11から自装置のセンサ10と他のセンシング装置1のセンサ10の座標データを取得し、自装置が装着された物体の原点から見た、他のセンシング装置1が装着された物体の原点の位置を求め、物体の形状データと計算した原点の位置に基づいて、自装置が装着された物体から見た、他のセンシング装置1が装着された物体の相対的な位置と向きを計算する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体に装着されたセンサの他のセンサとの接触情報から、物体の相対的な位置を推定する位置推定方法、位置推定システム、プログラムおよび記録媒体に関するものである。
【背景技術】
【0002】
従来、空間内に存在する物体の配置を測定することができる配置測定装置が提案されている(特許文献1参照)。この配置測定装置は、物体に貼付された電子タグの位置を測定し、かつ電子タグに記憶されている物体の形状に関する情報を読み出し、測定した電子タグの位置に関する情報と読み出した物体の形状に関する情報とに基づいて複数の物体の配置状態を推定するようにしたものである。
【0003】
【特許文献1】特開2006−292505号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1に開示された配置測定装置では、物体同士が実際に接触しているかどうかを、測位装置で計測されたタグの位置データから推定するため、測位装置の誤差が推定精度に大きく影響する。このため、測位装置により測位できない位置に物体が存在すると、測位が行えず、物体の配置状態を推定できないという問題点があった。例えば、多数の物体が積み上げられている室内で、測位装置が部屋の天井に取り付けられている場合、積まれている物体のうち最下層にある物体の位置を正確に取得することは難しい。このような、物体が他の物体を測位装置から隠蔽するように存在するときに測位が正確に行えない問題を、オクルージョンの問題という。
【0005】
本発明は、従来技術で解決できないオクルージョンの問題を解決し、使用する場所を問わず物体の位置を正確に測位することを可能にする位置推定方法、位置推定システム、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、物体に装着されたセンサの他のセンサとの接触情報から、物体の相対的な位置を推定する位置推定方法であって、センサ同士の通信により、第1のセンサに第2のセンサが一定距離以下に接近したことを感知する接近感知手順と、前記第1のセンサに前記第2のセンサが接近したことを感知したときに、物体上のセンサの位置を示す座標データを記憶する座標データ記憶手段から前記第1、第2のセンサの座標データを取得し、この座標データに基づいて、前記第1のセンサが装着された物体の原点から見た、前記第2のセンサが装着された物体の原点の位置を求める原点位置計算手順と、物体の形状データを記憶する形状データ記憶手段から前記第1、第2のセンサが装着された物体の形状データを取得し、これらの形状データと前記原点位置計算手順で求めた原点の位置に基づいて、前記第1のセンサが装着された物体から見た、前記第2のセンサが装着された物体の相対的な位置と向きを計算する位置・方向計算手順とを備えるものである。
【0007】
また、本発明の位置推定方法の1構成例は、さらに、前記センサを構成する平面状に配置された複数のセンサ素子の各々から、前記センサ上の位置を示すセンサ素子位置データを送信させるセンサ素子位置データ送信手順と、前記センサ素子位置データの交換により、前記第1のセンサにおけるセンサ素子位置Pのセンサ素子とこれに接近した前記第2のセンサにおけるセンサ素子位置Qのセンサ素子との間で位置の差を計算し、この位置の差を前記第1、第2のセンサの位置ずれとする位置ずれ計算手順と、前記センサ素子位置Pのセンサ素子と前記センサ素子位置Qのセンサ素子の組のうち、センサ素子位置がPiとQiである組とPjとQjである組の任意の2組について、センサ素子位置PiとPjがなす角度とQiとQjがなす角度との差を求め、この角度の差を前記第1、第2のセンサの角度ずれとする角度ずれ計算手順とを備え、前記原点位置計算手順は、前記取得した座標データと前記位置ずれ及び角度ずれに基づいて、前記第1のセンサが装着された物体の原点から見た、前記第2のセンサが装着された物体の原点の位置を求めるようにしたものである。
【0008】
また、本発明の位置推定方法の1構成例は、さらに、前記第1のセンサとこれに接近した前記第2のセンサの組が複数組存在し、これらの組において第1、第2のセンサのいずれかが他の組の第1、第2のセンサのいずれかと共通である場合に、前記位置・方向計算手順の計算結果から、前記複数組に属する第1、第2のセンサが装着された各物体の相対的な位置と向きを計算する位置・方向再計算手順を備えるものである。
また、本発明の位置推定方法の1構成例は、さらに、前記第1のセンサ又は前記第2のセンサが装着された物体と基準位置との関係が固定されている場合に、前記位置・方向計算手順又は前記位置・方向再計算手順の計算結果から、前記第1、第2のセンサが装着された物体の位置と向きを前記基準位置に対して計算する基準位置計算手順を備えるものである。
【0009】
また、本発明の位置推定システムは、物体に装着され、他のセンサと通信する通信機能を備えたセンサと、前記物体上のセンサの位置を示す座標データを記憶する座標データ記憶手段と、前記物体の形状データを記憶する形状データ記憶手段と、センサ同士の通信により、第1のセンサに第2のセンサが一定距離以下に接近したことを感知する接近感知手段と、この接近感知手段が前記第1のセンサに前記第2のセンサが接近したことを感知したときに、前記座標データ記憶手段から前記第1、第2のセンサの座標データを取得し、この座標データに基づいて、前記第1のセンサが装着された物体の原点から見た、前記第2のセンサが装着された物体の原点の位置を求める原点位置計算手段と、前記形状データ記憶手段から前記第1、第2のセンサが装着された物体の形状データを取得し、これらの形状データと前記原点位置計算手段が求めた原点の位置に基づいて、前記第1のセンサが装着された物体から見た、前記第2のセンサが装着された物体の相対的な位置と向きを計算する位置・方向計算手段とを有するものである。
【0010】
また、本発明の位置推定プログラムは、センサ同士の通信により、第1のセンサに第2のセンサが一定距離以下に接近したことを感知する接近感知手順と、前記第1のセンサに前記第2のセンサが接近したことを感知したときに、物体上のセンサの位置を示す座標データを記憶するメモリから前記第1、第2のセンサの座標データを取得し、この座標データに基づいて、前記第1のセンサが装着された物体の原点から見た、前記第2のセンサが装着された物体の原点の位置を求める原点位置計算手順と、物体の形状データを記憶する前記メモリから前記第1、第2のセンサが装着された物体の形状データを取得し、これらの形状データと前記原点位置計算手順で求めた原点の位置に基づいて、前記第1のセンサが装着された物体から見た、前記第2のセンサが装着された物体の相対的な位置と向きを計算する位置・方向計算手順とを、コンピュータに実行させるようにしたものである。
また、本発明の記録媒体は、位置推定プログラムを記録したことを特徴とするものである。
【発明の効果】
【0011】
本発明によれば、センサ同士の通信により、第1のセンサに第2のセンサが一定距離以下に接近したことを感知したときに、第1のセンサが装着された物体から見た、第2のセンサが装着された物体の相対的な位置と向きを計算するようにしたので、従来技術で解決できないオクルージョンの問題を解決し、使用する場所を問わずに物体の相対的な位置を推定することができる。
【0012】
また、本発明では、第1のセンサと第2のセンサの組が複数組存在し、これらの組において第1、第2のセンサのいずれかが他の組の第1、第2のセンサのいずれかと共通である場合に、位置・方向計算手順の計算結果から、複数組に属する第1、第2のセンサが装着された各物体の相対的な位置と向きを計算するようにしたので、3つ以上の物体が連鎖的に接触している場合に、これら3つ以上の物体の相対的な位置と向きを計算することができる。
【0013】
また、本発明では、第1のセンサ又は第2のセンサが装着された物体と基準位置との関係が固定されている場合に、位置・方向計算手順又は位置・方向再計算手順の計算結果から、第1、第2のセンサが装着された物体の位置と向きを基準位置に対して計算するようにしたので、ユーザの望む座標を基準に各物体の位置と向きを計算することができる。
【発明を実施するための最良の形態】
【0014】
本発明は、物体の位置x,y,zと、物体の形状の情報を使って、物体や物体に関連する情報を提供するサービスである、コンテクストアウェアサービを提供するシステム、位置情報システム、ナビゲーションシステム、物品または商品の位置管理システム、特定の場所を監視するモニタリングシステム、防犯システム、防災システム、生物の生態を観測するシステム、あるいは顧客の購買行動を取得し分析するシステムに適用することができる。本発明では、複数の物体の位置を相対的に測位し、物体の配置状態を推定する。ここで、配置状態の推定とは、ある物体Aの座標系の原点の位置から、その物体Aに接触している物体Bの原点の位置と、物体A,Bの座標系のずれの角度とを推定することである。
【0015】
以下、本発明の実施の形態について図面を参照して詳細に説明する。図1は本発明の第1の実施の形態に係る位置推定システムの構成を示すブロック図である。位置推定システムは、位置測定の対象となる複数の物体に装着される複数のセンシング装置1と、センシング装置1によって得られた物体の位置と向きのデータを格納する位置格納装置2とから構成される。
【0016】
センシング装置1は、他のセンシング装置1のセンサとの極短距離の通信機能及び他のセンシング装置1のセンサの接近を検知する機能を備えたセンサ10と、データを記憶する記憶部11と、位置格納装置2との通信を行う通信部12と、センシング装置全体を制御する制御部13とを有する。制御部13は、接近感知手段と、原点位置計算手段と、位置・方向計算手段と、センサ素子位置データ送信手段と、位置ずれ計算手段と、角度ずれ計算手段とを構成している。
【0017】
記憶部11は、自装置に固有の識別子を記憶している。また、記憶部11は、センシング装置1が装着される可能性のある全ての物体の形状のデータを、物体のポリゴンデータあるいはその物体を被覆する直方体のデータとして予め記憶している。また、記憶部11は、センシング装置1が装着される物体上におけるセンサ10の位置を示す座標データを、全てのセンシング装置1について予め記憶している。このように、記憶部11は、座標データを記憶する座標データ記憶手段と、形状データを記憶する形状データ記憶手段を構成している。さらに、記憶部11は、自装置のセンサ10を構成する複数のセンサ素子のセンサ10上における位置を示すセンサ素子位置データを予め記憶している。
【0018】
形状データと座標データのうち、自装置が装着される物体の形状データと自装置のセンサ10の座標データとは、自装置の識別子と対応付けて記憶される。また他のセンシング装置1が装着される物体の形状データとこのセンシング装置1のセンサ10の座標データとは、そのセンシング装置1の識別子と対応付けて記憶される。
これらのデータは、通信部12の通信機能を用いて、例えば位置格納装置2等の外部端末からの指示に従って削除、更新、追加を行うことができる。
【0019】
位置格納装置2は、センシング装置1との通信を行う通信部20と、センシング装置1から送信された物体の位置と向きのデータを記憶する記憶部21と、ユーザからの操作を受け付ける操作部22と、ユーザに対して情報を提示する表示部23と、位置格納装置全体を制御する制御部24とを有する。制御部24は、位置・方向再計算手段と、基準位置計算手段を構成している。
【0020】
センシング装置1は、それぞれに固有の識別子を有する。センシング装置1は、厚さ1mmから1cm程度の板様の形状を持ち、物体の表面に貼り付けられるか、物体の内側に埋め込まれる。机のような薄い天板や、壁などのように薄い板様の部位を有する物体の場合は、その板様の物体の裏面にセンシング装置1を貼り付けて使用する形態もある。センシング装置1が物体へ貼り付けられた状態もしくは埋め込まれた状態を、センシング装置1が物体に装着された状態と呼ぶ。
【0021】
人間の位置を測位する場合の装着状態としては、人間の体表面にセンシング装置1を貼り付ける形態、人間の着る衣服の表面に貼り付けるか衣服の内側に貼り付ける形態、靴底に貼り付けるか靴の内側に埋め込む形態、グローブに類する手に装着する物体の表面あるいは内側に埋め込む形態がある。
【0022】
センシング装置1は、他のセンシング装置1が一定の距離以下に近づいたときに、センシング装置1の有する無線通信機能を用いて、識別子を他のセンシング装置1と互いに知らせあう機能(これを識別子の交換機能と称する)を有する。この交換機能により、各センシング装置1は、接近した他のセンシング装置1を区別することができる。各センシング装置1は、物体の表面に装着され、センシング装置1同士が一定の距離以下まで近づいたときに、識別子の交換を行う。
【0023】
センシング装置1は、接触している他のセンシング装置1から受け取った識別子と、その識別子に対応する形状データと、センシング装置1自身の識別子に対応する形状データと、センシング装置1の物体に装着されている位置に関する座標データを用いて、接触したセンシング装置1が装着されている物体とセンシング装置1自身が装着されている物体との相対的な位置関係を計算する。
【0024】
次に、物体へのセンシング装置1の装着例について、具体的な例を図2(A)、図2(B)に示す。物体は、それぞれ固有の座標系(ユークリッド座標系)を持ち、原点O=(0,0,0)とx軸、y軸、z軸が設定されている。物体の原点Oの位置や各軸については、測位を行うユーザが決める。ユーザは、物体に装着するセンシング装置1のセンサ10について、予め物体固有の座標系上での位置S=(x,y,z)を測定し、センサ10の座標データ(x,y,z)をセンシング装置1の記憶部11に記録しておく。
【0025】
図2(A)の例では、板状の物体(例えば床材)Cの表面にセンシング装置1が装着されている。このセンシング装置1のセンサ10は、物体Cの原点Oに対して(x1,y1,z1)で表される位置に装着されている。
図2(B)の例では、直方体状の物体Dの上面と下面にセンシング装置1が装着されている。上面のセンシング装置1のセンサ10は、物体Dの原点Oに対して(x2,y2,z2)で表される位置に装着され、下面のセンシング装置1のセンサ10は、原点Oに対して(x3,y3,z3)で表される位置に装着されている。
【0026】
センサ10は、基本的に物体の座標軸のx−y平面に平行にし、センサ10のx軸、y軸が物体の座標軸のx軸、y軸と平行になるように装着する。センサ10を物体のx−y平面と平行に装着しない場合は、物体のx−z平面あるいはy−z平面のいずれかと平行になるように装着する。センサ10を物体のどの平面に平行に装着したかは、センシング装置1の記憶部11に記録しておく。センサ10を物体のx−y平面以外の平面に平行になるように装着した場合は、後述する位置の計算を行うときに、軸を入れ替えて計算する必要がある。例えばセンサ10を物体のx−z平面に平行になるように装着した場合は、座標のzの値をyに読み替えて計算する。
【0027】
図3はセンシング装置1のセンサ10の構成を示す平面図である。センサ10は、面状に配置された複数のセンサ素子100から構成される。
ここで、あるセンサ10とこれに接近したセンサ10との位置ずれ及び角度ずれを検出する方法について説明する。例えば図3に示すように、センサ素子100を縦横それぞれ5個ずつ配置したとする。センサ素子100の数を増減させることで、ずれを測定する精度を変えることができる。
【0028】
各センサ素子100は、無線通信機能を有し、他のセンサ素子100とデータを送受信する。センシング装置1の制御部13は、自装置の識別子を記憶部11から取り出してセンサ10の各センサ素子100から送信させると同時に、各センサ素子100がセンサ10上のどの位置にあるかを示すセンサ素子位置データを各センサ素子100から送信させる。
【0029】
センサ素子位置データは、センサ10の基準位置Sに対する各センサ素子100の位置を示す座標データである。このセンサ素子位置データは、例えばユーザによってセンシング装置1の記憶部11に予め登録されている。例えば図3の例では、左下隅のセンサ素子100の位置は(1,1)、左から2番目で下から5番目のセンサ素子100の位置は(2,5)、左から4番目で下から3番目のセンサ素子100の位置は(4,3)である。
【0030】
受信側のセンシング装置1では、受け取ったセンサ素子位置データQ=(qx,qy)と自装置のセンサ素子位置データP=(px,py)とから、自装置のセンサ10とこれに接近した他のセンシング装置1のセンサ10との位置ずれ及び角度ずれを検出する。このとき、センシング装置1の制御部13は、あるセンサ素子100において自装置の識別子を受信した場合は、この識別子と共に受信したセンサ素子位置データを自装置の他のセンサ素子100から送信されたセンサ素子位置データであると判断して破棄し、自装置と異なる識別子と共に受信したセンサ素子位置データを他のセンシング装置1のセンサ素子100から送信されたデータであると判断する。
【0031】
図4はセンサ10同士の位置ずれ及び角度ずれを検出する方法を説明するための図である。図4では、センサ10−Aの上にセンサ10−Bが重なっている例を示している。本実施の形態では、あるセンサ10のセンサ素子100と別のセンサ10のセンサ素子100とが一定距離以下に接近した場合、これを接触と見なす。一定距離以下の接近の感知方法については後述する。
【0032】
図4の例では、センサ10−Aの位置P1=(3,5)のセンサ素子100とセンサ10−Bの位置Q1=(2,3)のセンサ素子100とが接触し、位置P2=(2,5)のセンサ素子100と位置Q2=(1,3)のセンサ素子100とが接触し、位置P3=(5,4)のセンサ素子100と位置Q3=(3,1)のセンサ素子100とが接触し、さらに位置P4=(3,3)のセンサ素子100と位置Q4=(1,1)のセンサ素子100とが接触したと感知される。
【0033】
センシング装置1の制御部13は、自装置のセンサ10−Aのセンサ素子100とこれに接触した他のセンサ10−Bのセンサ素子100との組のうち、自装置が装着された物体の原点Oに最も近いセンサ素子100の組について、位置の差P−Qを計算し、これをセンサ10−Aとセンサ10−Bとの位置ずれDPとする。
【0034】
図4の例において、接触したセンサ素子100の組のうち、原点Oに最も近いセンサ素子100の組は、センサ10−Aの位置P4=(3,3)のセンサ素子100とセンサ10−Bの位置Q4=(1,1)のセンサ素子100の組である。したがって、センサ10−Aとセンサ10−Bとの位置ずれDPは、以下のように計算される。
DP=P4−Q4=(3,3)−(1,1)=(2,2) ・・・(1)
【0035】
なお、制御部13は、自装置のセンサ10−Aのセンサ素子100とこれに接触したセンサ10−Bのセンサ素子100との組の各々について、それぞれ位置の差P−Qを計算し、位置の差P−Qの平均値を位置ずれDPとしてもよいし、最大値又は最小値を位置ずれDPとしてもよい。
【0036】
また、センシング装置1の制御部13は、自装置のセンサ10−Aのセンサ素子100とこれに接触したセンサ10−Bのセンサ素子100との組のうち、位置がPiとQiである組とPjとQjである組の任意の2組について、位置PiとPjがなす角度とQiとQjがなす角度との差をarccos((Pi−Pj)/(Qi−Qj))で求める。制御部13は、この角度の差を求める計算を任意の数、もしくは接触したセンサ素子100の全ての組み合わせについて行い、角度の差の最大値又は平均値をセンサ10−Aとセンサ10−Bとの角度ずれDAとする。ここでは、以下の4つの組み合わせについて4通りの角度の差DA1〜DA4を計算する。
【0037】
DA1=arccos((P1−P2)/(Q1−Q2))
=arccos((1,0)/(1,0))=0 ・・・(2)
DA2=arccos((P3−P4)/(Q3−Q4))
=arccos((2,1)/(2,0))
=arccos(2.25/2)=26.56 ・・・(3)
DA3=arccos((P4−P2)/(Q4−Q2))
=arccos((1,−2)/(0,−2))
=arccos(2.25/2)=26.56 ・・・(4)
DA4=arccos((P3−P1)/(Q3−Q1))
=arccos((2,−1)/(1,−2))=0 ・・・(5)
【0038】
式(2)〜式(5)の計算の結果、最大値を採用する場合には、角度ずれDAは26.56度となり、平均値を採用する場合には、角度ずれDAは13.28度となる。
以上の計算により、センサ10−Aとセンサ10−Bとの位置ずれDPは(2,2)(センサ10−Aから見てx軸に2、y軸に2だけセンサ10−Bの位置がずれていることを意味する)、角度ずれDAは最大値の場合で26.56度(センサ10−Aから見てセンサ10−Bが26.56度だけずれていることを意味する)と求まる。以下、センサ10−Aとセンサ10−Bとの位置ずれをf(A,B)で表し、角度ずれをh(A,B)で表す。
【0039】
次に、センサ同士で短距離通信する方法及びセンサ同士の接触を感知する方法について説明する。短距離通信及び接触感知の方法としては、次の三種類がある。
【0040】
1.電磁誘導を利用する方法。
この方法は、センサ素子100のコイルに電流を流して発生する磁場を利用し、電磁誘導の原理によって他方のセンサ素子100のコイルに電流を生じさせ、この電流量の増減を信号として用いることで、接近したセンサ素子100間で通信を行う方法である。発生する磁場の強さを調整し、センサ素子100間の距離が一定距離以下にならないと、他方のセンサ素子100のコイルに十分な電流が発生しないようにすることで、センサ素子100同士の接触を感知できる距離を変化させることができる。
【0041】
受信側のセンシング装置1の制御部13は、自装置のセンサ素子100のコイルに例えば所定のしきい値以上の電流が流れ、かつ受信した識別子が自装置の識別子と異なるときに、このセンサ素子100に他のセンサ素子100が一定距離以下に接近して接触したと判定する。
【0042】
2.光を利用する方法
この方法は、センサ素子100の表面に例えば赤外線LEDやレーザ発信装置などの発光素子と例えばフォトダイオードなどの受光素子とを設け、一方のセンサ素子100の発光素子から発する光の明滅を信号として利用することで通信を行う方法である。光の強度を調整することで、センサ素子100同士の接触を感知できる距離を変化させることができる。
【0043】
受信側のセンシング装置1の制御部13は、自装置のセンサ素子100の受光素子で例えば所定のしきい値以上の信号強度が得られ、かつ受信した識別子が自装置の識別子と異なるときに、このセンサ素子100に他のセンサ素子100が一定距離以下に接近して接触したと判定する。
【0044】
3.電磁波を利用する方法
この方法は、センサ素子100にアンテナを設け、電磁波を伝送媒体として通信を行う方法である。この方法では、予め通信時に利用する電磁波の強度を各センサ素子100ごとに一定の値に設定しておく。受信側のセンシング装置1の制御部13は、自装置のセンサ素子100で受信した電磁波の電界強度が一定の値以上で、かつ受信した識別子が自装置の識別子と異なるときに、このセンサ素子100に他のセンサ素子100が一定距離以下に接近して接触したと判定する。
【0045】
あるいは、センサ素子100が発する電界強度を一定に保ったまま、送信側のセンサ素子100が一定の時間間隔で信号の送信を行い、受信側のセンシング装置1の制御部13は、自装置のセンサ素子100で信号が正常に受信できた割合を測定することで送信側のセンサ素子100からの距離を推定し、正常に受信できる割合が一定の数値以上となったときに、接触したと判定する。
【0046】
送信側のセンサ素子100と受信側のセンサ素子100には機能的な区別はなく、通常は全てのセンサ素子100が一定の間隔で電磁波を発信し続けながら、他センサ素子100からの電磁波の受信も行う。混信が検出されたり他のセンサ素子100からの電磁波を受信したときに、一定時間もしくはランダムな時間だけ送信を停止して、その間は受信のみを行う。送受信が正常に行われる割合と、送信側と受信側のセンサ素子100間の距離との関係については、予め実験的に取得してデータとして記憶部11に記録しておく。受信側のセンシング装置1の制御部13は、記憶部11に記録されたデータを用いて、正常に受信できた割合に基づいて、自装置のセンサ素子100から他のセンシング装置1のセンサ素子100までの距離を推定する。
【0047】
次に、物体の相対的な位置を推定する方法を図5(A)、図5(B)を用いて説明する。センサ10の物体への装着状態は、図2(A)、図2(B)の状態を想定する。以下の例では、板状の物体(例えば床材)Cの表面に装着されたセンシング装置を1−C、このセンシング装置1−Cのセンサを10−Cとし、直方体状の物体Dの下面に装着されたセンシング装置を1−D、このセンシング装置1−Dのセンサを10−Dとする。
【0048】
物体Cに装着されたセンシング装置1−Cのセンサ10−Cの上に物体Dが置かれると、物体CとDに装着されている双方のセンシング装置1−C,1−Dの制御部13がセンサ10−Cと10−Dの接触を感知する。センサ10−Cと10−Dの接触を感知した双方のセンシング装置1−C,1−Dの制御部13は、それぞれ接触した相手の識別子と、自装置のセンサ10と相手のセンサ10との位置ずれf(C,D)及び角度ずれh(C,D)と、自装置が装着されている物体の形状データ及び相手のセンシング装置1が装着されている物体の形状データとを用いて、自装置が装着されている物体から見たときの相手の物体の相対的な位置と向き(座標系の角度ずれ)を計算する。
【0049】
図5(A)、図5(B)は、物体Cの座標系上から相対的に見たときの物体Dの原点の位置を推定する例を示している。図5(A)の例の場合、センサ10−Cと10−Dとの位置ずれがf(C,D)=(0,0)で、角度ずれがh(C,D)=0度なので、物体Cの原点から見たときの物体Dの原点の相対的な座標(X,Y,Z)は以下のように計算できる。
X=x1−x3+x軸のずれ位置=10−1+0=9 ・・・(6)
Y=y1−y3+y軸のずれ位置=10−1+0=9 ・・・(7)
Z=z1−z3+z軸のずれ位置=0−0+0=0 ・・・(8)
【0050】
以上の計算によって、(X,Y,Z)=(9,9,0)と求まり、物体Cの原点から見たときの物体Dの原点の位置が分かる。物体Cに装着されているセンシング装置1−Cの制御部13は、この物体Dの原点の位置と、物体C,Dの形状データとを用いて、物体Cから見たときの物体Dの相対的な位置と向きを計算することができる。同様に、物体Dに装着されているセンシング装置1−Dの制御部13は、物体Dから見たときの物体Cの相対的な位置と向きを計算する。
【0051】
図5(B)のように位置ずれf(C,D)及び角度ずれh(C,D)が0でない場合でも、以下のようにアフィン(AFIN)変換を用いることで、相対的な原点の位置を求めることができる。図5(B)の例では、位置ずれf(C,D)=(−1,1)、角度ずれh(C,D)=30度としている。
【0052】
物体Cに装着されているセンサ10−Cの基準位置(x1、y1、z1)から見たときの物体Dの原点の位置を(x’,y’,z’)、センサ10−Cと10−Dとの位置ずれを(x”,y”,z”)、センサ10−Cと10−Dとの角度ずれをRとすると、物体Dの原点の位置(x’,y’,z’)は次式のようになる。
y’=(y”+y3)×cos(R)−(x”+x3)×sin(R)・・・(9)
x’=(y”+y3)×sin(R)+(x”+x3)×cos(R)・・(10)
z’=z” ・・・(11)
【0053】
物体Cに装着されているセンシング装置1−Cの制御部13は、センサ10−Cの基準位置(x1、y1、z1)から見たときの物体Dの原点の位置(x’,y’,z’)を式(9)〜式(11)のように計算した後、物体Cの原点から見たときの物体Dの原点の位置(X,Y,Z)を次のように計算する。
X=x’+x1 ・・・(12)
Y=y’+y1 ・・・(13)
Z=z’+z1 ・・・(14)
【0054】
図6は以上のセンシング装置1の動作を示すフローチャートである。物体Cに装着されたセンシング装置1−Cの制御部13は、自装置のセンサ10−Cと他のセンシング装置1−Dのセンサ10−Dとの接触を感知すると(ステップS100においてYES)、図4で説明したようにセンサ10−Cとセンサ10−Dとの位置ずれf(C,D)を求めると共に(ステップS101)、センサ10−Cとセンサ10−Dとの角度ずれh(C,D)を求める(ステップS102)。
【0055】
続いて、センシング装置1−Cの制御部13は、自装置のセンサ10−Cの座標データ(x1,y1,z1)を記憶部11から取得すると共に、他のセンシング装置1−Dのセンサ10−Dから受信した識別子に対応するセンサ10−Dの座標データ(x3,y3,z3)を記憶部11から取得し、これらの座標データとステップS101,S102で求めた位置ずれf(C,D)及び角度ずれh(C,D)を用いて、物体Cの原点から見たときの相手の物体Dの原点の位置を求める(ステップS103)。
【0056】
次に、センシング装置1−Cの制御部13は、自装置が装着されている物体Cの形状データを記憶部11から取得すると共に、他のセンシング装置1−Dのセンサ10−Dから受信した識別子に対応する物体Dの形状データを記憶部11から取得し、物体C,Dの形状データとステップS103で求めた物体Dの原点の位置とを用いて、物体Cから見たときの物体Dの相対的な位置と向きを計算する(ステップS104)。
【0057】
そして、センシング装置1−Cの制御部13は、計算した物体Dの相対的な位置と向きのデータと、物体C,Dの形状データとを通信部12を介して有線又は無線により位置格納装置2に送信する(ステップS105)。以上で、センシング装置1−Cの動作が終了する。
同様に、物体Dに装着されているセンシング装置1−Dの制御部13は、物体Dから見たときの物体Cの相対的な位置と向きを計算し、データを有線又は無線により位置格納装置2に送信する。
【0058】
位置格納装置2の制御部24は、通信部20を介してセンシング装置1−C,1−Dから受信したデータを、データの受信時刻と対応付けて記憶部21に格納する。
そして、制御部24は、ユーザが指定した物体の位置と向きのデータを記憶部21から検索して表示部23に表示させる。このとき、制御部24は、ユーザが指定した物体と接触している物体があれば、この接触している物体の原点を基準として、ユーザが指定した物体がどの位置にどの向きで配置されているかを表示部23に表示させる。また、物体の形状データを用いて、ユーザが指定した物体がどの位置にどの向きで配置されているかを三次元形状で表示することもできる。
【0059】
また、例えばユーザの位置を基準位置として床の物体Cの位置が予め定められており、この物体Cに他の物体Dが接触した場合、制御部24は、物体C,Dに装着されているセンシング装置1から受信したデータを基に、ユーザの位置を基準位置として物体C,Dの位置と向きを計算することができる。
したがって、ユーザが任意の時刻(もしくは時区間)とユーザを基準とする任意の位置(もしくは位置の範囲)を指定すると、ユーザが指定した時刻においてユーザが指定した位置に存在した物体の位置と向きを、ユーザの位置を基準位置として表示することができる。上記と同様に、物体の形状データを用いて、物体の位置と向きを三次元形状で表示することも可能である。
【0060】
また、図5(A)、図5(B)の例では、2つの物体C,Dが接触した場合を例に挙げて説明しているが、これに限るものではなく、例えば物体Dの上に物体Eが接触した場合には、物体CとDの間の相対的な位置と向きのデータと、物体DとEの間の相対的な位置と向きのデータが得られる。位置格納装置2の制御部24では、これらのデータを基に、物体Cから見た物体Eの位置と向き(あるいは物体Eから見た物体Cの位置と向き)を再計算することができる。つまり、本実施の形態では、3つ以上の物体が連鎖的に接触している場合に、これら3つ以上の物体の相対的な位置と向きを計算することができる。
【0061】
以上のように、本実施の形態では、センシング装置同士の通信により、あるセンシング装置に他のセンシング装置が一定距離以下に接近したことを感知したときに、センシング装置が装着された物体から見た、他のセンシング装置が装着された物体の相対的な位置と向きを計算するようにしたので、従来技術で解決できないオクルージョンの問題を解決し、使用する場所を問わずに物体の相対的な位置を推定することができる。
【0062】
[第2の実施の形態]
第1の実施の形態では、センシング装置1が装着される可能性のある全ての物体の形状データと全てのセンシング装置1のセンサ10の座標データとを各々のセンシング装置1が記憶しているが、センシング装置1は、自装置が装着される物体の形状データと自装置のセンサ10の座標データのみを自身の記憶部11に記憶するようにしてもよい。
【0063】
この場合、センシング装置1の制御部13は、自装置の識別子とセンサ素子位置データだけでなく、自装置が装着されている物体の形状データと自装置のセンサ10の座標データとを各センサ素子100から送信させる。これにより、受信側のセンシング装置1の制御部13では、自装置が装着される物体の形状データ及び自装置のセンサ10の座標データと、相手のセンシング装置1から受信した形状データ及び座標データを用いて、第1の実施の形態と同様に、自装置が装着されている物体から見たときの相手の物体の相対的な位置と向きを計算することができる。
【0064】
[第3の実施の形態]
第1、第2の実施の形態では、各センシング装置1で物体の形状データの記憶と物体の位置と向きの計算を行っていたが、専用の計算装置で物体の形状データの記憶と物体の位置と向きの計算を行うようにしてもよい。図7は本発明の第3の実施の形態に係る位置推定システムの構成を示すブロック図である。本実施の形態の位置推定システムは、複数のセンシング装置1aと、センシング装置1aが装着された物体の位置と向きを計算する位置計算装置3と、位置計算装置3によって得られた物体の位置と向きのデータを格納する位置格納装置2aとから構成される。
【0065】
センシング装置1aは、センサ10と、データを記憶する記憶部11aと、位置計算装置3との通信を行う通信部12aと、センシング装置全体を制御する制御部13aとを有する。制御部13aは、接近感知手段と、センサ素子位置データ送信手段と、位置ずれ計算手段と、角度ずれ計算手段とを構成している。
【0066】
位置計算装置3は、センシング装置1aとの通信を行う通信部30と、データを記憶する記憶部31と、位置格納装置2aとの通信を行う通信部32と、位置計算装置全体を制御する制御部33とを有する。制御部33は、原点位置計算手段と、位置・方向計算手段とを構成している。
位置格納装置2aは、位置計算装置3との通信を行う通信部20aと、記憶部21と、操作部22と、表示部23と、制御部24とを有する。
【0067】
センシング装置1aのセンサ10の構成及び動作は、第1の実施の形態と同じである。センシング装置1aの記憶部11aは、自装置に固有の識別子と、自装置のセンサ10を構成する複数のセンサ素子のセンサ10上における位置を示すセンサ素子位置データを予め記憶している。
【0068】
位置計算装置3の記憶部31は、物体の形状データをその物体に装着されているセンシング装置1aの識別子と対応付けて予め記憶している。また、記憶部31は、センシング装置1aが装着される物体上におけるセンサ10の位置を示す座標データを、そのセンシング装置1aの識別子と対応付けて予め記憶している。すなわち、本実施の形態では、記憶部31が座標データ記憶手段と形状データ記憶手段とを構成している。
【0069】
図8はセンシング装置1aの動作を示すフローチャートである。センシング装置1aの制御部13aは、自装置のセンサ10と他のセンシング装置1aのセンサ10との接触を感知すると(ステップS200においてYES)、図4で説明したように自装置のセンサ10と他のセンシング装置1aのセンサ10との位置ずれ及び角度ずれを求める(ステップS201,S202)。そして、制御部13aは、計算した位置ずれ及び角度ずれのデータと、記憶部11aから取り出した自装置の識別子と、他のセンシング装置1aのセンサ10から受信した識別子とを通信部12aを介して有線又は無線により位置計算装置3に送信する(ステップS203)。
【0070】
図9は位置計算装置3の動作を示すフローチャートである。ここでは、説明を容易にするために、ステップS203でデータを送信したセンシング装置を1a−C、このセンシング装置1a−Cが装着されている物体をC、センシング装置1a−Cのセンサを10−Cとし、このセンサ10−Cと接触した他のセンサを10−D、このセンサ10−Dを備えた他のセンシング装置を1a−D、センシング装置1a−Dが装着されている物体をDとする。
【0071】
位置計算装置3の制御部33は、センシング装置1a−Cからのデータを受信すると(ステップS300においてYES)、受信したセンシング装置1a−Cの識別子に対応するセンサ10−Cの座標データを記憶部31から取得すると共に、受信した他のセンシング装置1a−Dの識別子に対応するセンサ10−Dの座標データを記憶部31から取得し、これらの座標データと受信した位置ずれ及び角度ずれのデータを用いて、物体Cの原点から見たときの物体Dの原点の位置を求める(ステップS301)。
【0072】
次に、位置計算装置3の制御部33は、センシング装置1a−Cの識別子に対応する物体Cの形状データを記憶部31から取得すると共に、他のセンシング装置1a−Dの識別子に対応する物体Dの形状データを記憶部31から取得し、物体C,Dの形状データとステップS301で求めた物体Dの原点の位置とを用いて、物体Cから見たときの物体Dの相対的な位置と向きを計算する(ステップS302)。
【0073】
そして、位置計算装置3の制御部33は、計算した物体Dの相対的な位置と向きのデータと、物体C,Dの形状データとを通信部32を介して有線又は無線により位置格納装置2aに送信する(ステップS303)。
位置格納装置2aの制御部24は、通信部20aを介して位置計算装置3から受信したデータを、データの受信時刻と対応付けて記憶部21に格納する。位置格納装置2aのその他の動作は第1の実施の形態と同様であるので、説明は省略する。
【0074】
以上の構成により、本実施の形態では、第1の実施の形態と同様の効果を得ることができる。
【0075】
[第4の実施の形態]
次に、本発明の第4の実施の形態について説明する。本実施の形態においても、位置推定システムの全体的な構成は第3の実施の形態と同様であるので、図7の符号を用いて説明する。センシング装置1aと位置計算装置3の処理の流れは第3の実施の形態と同様であるので、第3の実施の形態と異なる点について説明する。
【0076】
本実施の形態のセンシング装置1aの記憶部11aは、自装置に固有の識別子と、自装置のセンサ10を構成する複数のセンサ素子のセンサ10上における位置を示すセンサ素子位置データと、自装置が装着されている物体の形状データと、自装置が装着される物体上におけるセンサ10の位置を示す座標データとを予め記憶している。
【0077】
センシング装置1aの制御部13aは、自装置の識別子を記憶部11aから取り出してセンサ10の各センサ素子100から送信させると同時に、各センサ素子100がセンサ10上のどの位置にあるかを示すセンサ素子位置データを各センサ素子100から送信させ、さらに自装置が装着されている物体の形状データとセンサ10の座標データとを各センサ素子100から送信させる。
【0078】
センシング装置1aの制御部13aは、自装置のセンサ10と他のセンシング装置1aのセンサ10との接触を感知すると、第3の実施の形態と同様に計算した位置ずれ及び角度ずれのデータと、記憶部11aから取り出した自装置の識別子と、他のセンシング装置1aのセンサ10から受信した識別子とを位置計算装置3に送信するが、さらに記憶部11aから取り出した形状データ及び座標データと、他のセンシング装置1aのセンサ10から受信した形状データ及び座標データを位置計算装置3に送信する。
【0079】
位置計算装置3は、第3の実施の形態と同様に物体の位置と向きを計算するが、この計算にはセンシング装置1aから受信した形状データと座標データを使用する。
以上の構成により、本実施の形態では、第1の実施の形態と同様の効果を得ることができる。
【0080】
なお、第3、第4の実施の形態において、位置計算装置3と位置格納装置2aとを同一の装置で構成してもよい。また、位置計算装置3をいずれか1つのセンシング装置1a内に設けるようにしてもよい。
【0081】
[第5の実施の形態]
第1〜第4の実施の形態のセンシング装置1,1a、位置格納装置2,2a、位置計算装置3は、それぞれCPU、メモリおよび外部とのインタフェースを備えたコンピュータとこれらのハードウェア資源を制御するプログラムによって実現することができる。
図10はこのようなコンピュータの構成例を示すブロック図である。図1において、200はCPU、201はRAM、202はROM、203はインターフェイス装置(以下、I/Fと略する)である。
【0082】
センシング装置1,1aを構成するコンピュータでは、I/F203にはセンサ10と通信部12が接続される。
位置格納装置2,2aを構成するコンピュータでは、I/F203には通信部20,20aと操作部22と表示部23が接続される。
また、位置計算装置3を構成するコンピュータでは、I/F203には通信部30,32が接続される。
【0083】
このようなコンピュータにおいて、本発明の位置推定方法を実現させるための位置推定プログラムは、フレキシブルディスク、CD−ROM、DVD−ROM、メモリカードなどの記録媒体に記録された状態で提供され、RAM201あるいは外部のハードディスク装置等のメモリに格納される。CPU200は、格納されたプログラムに従って第1〜第4の実施の形態で説明した処理を実行する。
【0084】
なお、第1〜第4の実施の形態では、各物体にそれぞれ1つずつセンシング装置を装着する例を説明しているが、物体に複数のセンシング装置を装着してもよい。この形態の場合、同じ物体に装着されたセンシング装置は、有線または無線による通信機能を用いて、互いにデータの送受信を行う機能を有する。面積の大きい物体の場合、その物体表面を被覆するように複数のセンシング装置を並べて装着する形態もある。このとき、必ずしも物体表面を完全にセンシング装置で被覆する必要はなく、測位の必要に応じて必要な数のセンシング装置を装着すればよい。いずれのセンシング装置が物体のどの位置に、どのような傾きをもって装着されているかという、センシング装置(センサ)の物体上での位置に関する座標データは、センシング装置を物体に装着する時に予め各センシング装置あるいは位置計算装置に識別子と対応させて記録する。
【産業上の利用可能性】
【0085】
本発明は、物体の位置と物体の形状の情報を使って、物体や物体に関連する情報を提供するサービスである、コンテクストアウェアサービを提供するシステム、位置情報システム、ナビゲーションシステム、物品または商品の位置管理システム、特定の場所を監視するモニタリングシステム、防犯システム、防災システム、生物の生態を観測するシステム、あるいは顧客の購買行動を取得し分析するシステムに適用することができる。
【図面の簡単な説明】
【0086】
【図1】本発明の第1の実施の形態に係る位置推定システムの構成を示すブロック図である。
【図2】本発明の第1の実施の形態における物体へのセンシング装置の装着例を示す図である。
【図3】本発明の第1の実施の形態におけるセンシング装置のセンサの構成を示す平面図である。
【図4】本発明の第1の実施の形態においてセンサ同士の位置ずれ及び角度ずれを検出する方法を説明するための図である。
【図5】本発明の第1の実施の形態において物体の相対的な位置を推定する方法を説明するための図である。
【図6】本発明の第1の実施の形態におけるセンシング装置の動作を示すフローチャートである。
【図7】本発明の第3の実施の形態に係る位置推定システムの構成を示すブロック図である。
【図8】本発明の第3の実施の形態におけるセンシング装置の動作を示すフローチャートである。
【図9】本発明の第3の実施の形態における位置計算装置の動作を示すフローチャートである。
【図10】本発明の第4の実施の形態におけるコンピュータの構成例を示すブロック図である。
【符号の説明】
【0087】
1,1a…センシング装置、2,2a…位置格納装置、3…位置計算装置、10…センサ、11,11a,21,31…記憶部、12,12a,20,20a,30,32…通信部、13,13a,24,33…制御部、23…表示部、100…センサ素子。

【特許請求の範囲】
【請求項1】
物体に装着されたセンサの他のセンサとの接触情報から、物体の相対的な位置を推定する位置推定方法であって、
センサ同士の通信により、第1のセンサに第2のセンサが一定距離以下に接近したことを感知する接近感知手順と、
前記第1のセンサに前記第2のセンサが接近したことを感知したときに、物体上のセンサの位置を示す座標データを記憶する座標データ記憶手段から前記第1、第2のセンサの座標データを取得し、この座標データに基づいて、前記第1のセンサが装着された物体の原点から見た、前記第2のセンサが装着された物体の原点の位置を求める原点位置計算手順と、
物体の形状データを記憶する形状データ記憶手段から前記第1、第2のセンサが装着された物体の形状データを取得し、これらの形状データと前記原点位置計算手順で求めた原点の位置に基づいて、前記第1のセンサが装着された物体から見た、前記第2のセンサが装着された物体の相対的な位置と向きを計算する位置・方向計算手順とを備えることを特徴とする位置推定方法。
【請求項2】
請求項1記載の位置推定方法において、
さらに、前記センサを構成する平面状に配置された複数のセンサ素子の各々から、前記センサ上の位置を示すセンサ素子位置データを送信させるセンサ素子位置データ送信手順と、
前記センサ素子位置データの交換により、前記第1のセンサにおけるセンサ素子位置Pのセンサ素子とこれに接近した前記第2のセンサにおけるセンサ素子位置Qのセンサ素子との間で位置の差を計算し、この位置の差を前記第1、第2のセンサの位置ずれとする位置ずれ計算手順と、
前記センサ素子位置Pのセンサ素子と前記センサ素子位置Qのセンサ素子の組のうち、センサ素子位置がPiとQiである組とPjとQjである組の任意の2組について、センサ素子位置PiとPjがなす角度とQiとQjがなす角度との差を求め、この角度の差を前記第1、第2のセンサの角度ずれとする角度ずれ計算手順とを備え、
前記原点位置計算手順は、前記取得した座標データと前記位置ずれ及び角度ずれに基づいて、前記第1のセンサが装着された物体の原点から見た、前記第2のセンサが装着された物体の原点の位置を求めることを特徴とする位置推定方法。
【請求項3】
請求項1記載の位置推定方法において、
さらに、前記第1のセンサとこれに接近した前記第2のセンサの組が複数組存在し、これらの組において第1、第2のセンサのいずれかが他の組の第1、第2のセンサのいずれかと共通である場合に、前記位置・方向計算手順の計算結果から、前記複数組に属する第1、第2のセンサが装着された各物体の相対的な位置と向きを計算する位置・方向再計算手順を備えることを特徴とする位置推定方法。
【請求項4】
請求項1又は3記載の位置推定方法において、
さらに、前記第1のセンサ又は前記第2のセンサが装着された物体と基準位置との関係が固定されている場合に、前記位置・方向計算手順又は前記位置・方向再計算手順の計算結果から、前記第1、第2のセンサが装着された物体の位置と向きを前記基準位置に対して計算する基準位置計算手順を備えることを特徴とする位置推定方法。
【請求項5】
物体に装着されたセンサの他のセンサとの接触情報から、物体の相対的な位置を推定する位置推定システムであって、
物体に装着され、他のセンサと通信する通信機能を備えたセンサと、
前記物体上のセンサの位置を示す座標データを記憶する座標データ記憶手段と、
前記物体の形状データを記憶する形状データ記憶手段と、
センサ同士の通信により、第1のセンサに第2のセンサが一定距離以下に接近したことを感知する接近感知手段と、
この接近感知手段が前記第1のセンサに前記第2のセンサが接近したことを感知したときに、前記座標データ記憶手段から前記第1、第2のセンサの座標データを取得し、この座標データに基づいて、前記第1のセンサが装着された物体の原点から見た、前記第2のセンサが装着された物体の原点の位置を求める原点位置計算手段と、
前記形状データ記憶手段から前記第1、第2のセンサが装着された物体の形状データを取得し、これらの形状データと前記原点位置計算手段が求めた原点の位置に基づいて、前記第1のセンサが装着された物体から見た、前記第2のセンサが装着された物体の相対的な位置と向きを計算する位置・方向計算手段とを有することを特徴とする位置推定システム。
【請求項6】
物体に装着されたセンサの他のセンサとの接触情報から、物体の相対的な位置を推定する位置推定プログラムであって、
センサ同士の通信により、第1のセンサに第2のセンサが一定距離以下に接近したことを感知する接近感知手順と、
前記第1のセンサに前記第2のセンサが接近したことを感知したときに、物体上のセンサの位置を示す座標データを記憶するメモリから前記第1、第2のセンサの座標データを取得し、この座標データに基づいて、前記第1のセンサが装着された物体の原点から見た、前記第2のセンサが装着された物体の原点の位置を求める原点位置計算手順と、
物体の形状データを記憶する前記メモリから前記第1、第2のセンサが装着された物体の形状データを取得し、これらの形状データと前記原点位置計算手順で求めた原点の位置に基づいて、前記第1のセンサが装着された物体から見た、前記第2のセンサが装着された物体の相対的な位置と向きを計算する位置・方向計算手順とを、コンピュータに実行させることを特徴とする位置推定プログラム。
【請求項7】
請求項6記載の位置推定プログラムを記録したことを特徴とする記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2008−298712(P2008−298712A)
【公開日】平成20年12月11日(2008.12.11)
【国際特許分類】
【出願番号】特願2007−147833(P2007−147833)
【出願日】平成19年6月4日(2007.6.4)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】