(57)【要約】【課題】使用する場所を問わず物体の位置を正確に測位する。【解決手段】物体に装着されたセンシング装置１は、センサ１０同士の通信により、他のセンシング装置１が一定距離以下に接近したことを感知する。制御部１３は、物体上のセンサ１０の位置を示す座標データを記憶する記憶部１１から自装置のセンサ１０と他のセンシング装置１のセンサ１０の座標データを取得し、自装置が装着された物体の原点から見た、他のセンシング装置１が装着された物体の原点の位置を求め、物体の形状データと計算した原点の位置に基づいて、自装置が装着された物体から見た、他のセンシング装置１が装着された物体の相対的な位置と向きを計算する。【選択図】  図１
2008298712.tif 000002
【特許請求の範囲】
【請求項１】
物体に装着されたセンサの他のセンサとの接触情報から、物体の相対的な位置を推定する位置推定方法であって、
センサ同士の通信により、第１のセンサに第２のセンサが一定距離以下に接近したことを感知する接近感知手順と、
前記第１のセンサに前記第２のセンサが接近したことを感知したときに、物体上のセンサの位置を示す座標データを記憶する座標データ記憶手段から前記第１、第２のセンサの座標データを取得し、この座標データに基づいて、前記第１のセンサが装着された物体の原点から見た、前記第２のセンサが装着された物体の原点の位置を求める原点位置計算手順と、
物体の形状データを記憶する形状データ記憶手段から前記第１、第２のセンサが装着された物体の形状データを取得し、これらの形状データと前記原点位置計算手順で求めた原点の位置に基づいて、前記第１のセンサが装着された物体から見た、前記第２のセンサが装着された物体の相対的な位置と向きを計算する位置・方向計算手順とを備えることを特徴とする位置推定方法。
【請求項２】
請求項１記載の位置推定方法において、
さらに、前記センサを構成する平面状に配置された複数のセンサ素子の各々から、前記センサ上の位置を示すセンサ素子位置データを送信させるセンサ素子位置データ送信手順と、
前記センサ素子位置データの交換により、前記第１のセンサにおけるセンサ素子位置Ｐのセンサ素子とこれに接近した前記第２のセンサにおけるセンサ素子位置Ｑのセンサ素子との間で位置の差を計算し、この位置の差を前記第１、第２のセンサの位置ずれとする位置ずれ計算手順と、
前記センサ素子位置Ｐのセンサ素子と前記センサ素子位置Ｑのセンサ素子の組のうち、センサ素子位置がＰｉとＱｉである組とＰｊとＱｊである組の任意の２組について、センサ素子位置ＰｉとＰｊがなす角度とＱｉとＱｊがなす角度との差を求め、この角度の差を前記第１、第２のセンサの角度ずれとする角度ずれ計算手順とを備え、
前記原点位置計算手順は、前記取得した座標データと前記位置ずれ及び角度ずれに基づいて、前記第１のセンサが装着された物体の原点から見た、前記第２のセンサが装着された物体の原点の位置を求めることを特徴とする位置推定方法。
【請求項３】
請求項１記載の位置推定方法において、
さらに、前記第１のセンサとこれに接近した前記第２のセンサの組が複数組存在し、これらの組において第１、第２のセンサのいずれかが他の組の第１、第２のセンサのいずれかと共通である場合に、前記位置・方向計算手順の計算結果から、前記複数組に属する第１、第２のセンサが装着された各物体の相対的な位置と向きを計算する位置・方向再計算手順を備えることを特徴とする位置推定方法。
【請求項４】
請求項１又は３記載の位置推定方法において、
さらに、前記第１のセンサ又は前記第２のセンサが装着された物体と基準位置との関係が固定されている場合に、前記位置・方向計算手順又は前記位置・方向再計算手順の計算結果から、前記第１、第２のセンサが装着された物体の位置と向きを前記基準位置に対して計算する基準位置計算手順を備えることを特徴とする位置推定方法。
【請求項５】
物体に装着されたセンサの他のセンサとの接触情報から、物体の相対的な位置を推定する位置推定システムであって、
物体に装着され、他のセンサと通信する通信機能を備えたセンサと、
前記物体上のセンサの位置を示す座標データを記憶する座標データ記憶手段と、
前記物体の形状データを記憶する形状データ記憶手段と、
センサ同士の通信により、第１のセンサに第２のセンサが一定距離以下に接近したことを感知する接近感知手段と、
この接近感知手段が前記第１のセンサに前記第２のセンサが接近したことを感知したときに、前記座標データ記憶手段から前記第１、第２のセンサの座標データを取得し、この座標データに基づいて、前記第１のセンサが装着された物体の原点から見た、前記第２のセンサが装着された物体の原点の位置を求める原点位置計算手段と、
前記形状データ記憶手段から前記第１、第２のセンサが装着された物体の形状データを取得し、これらの形状データと前記原点位置計算手段が求めた原点の位置に基づいて、前記第１のセンサが装着された物体から見た、前記第２のセンサが装着された物体の相対的な位置と向きを計算する位置・方向計算手段とを有することを特徴とする位置推定システム。
【請求項６】
物体に装着されたセンサの他のセンサとの接触情報から、物体の相対的な位置を推定する位置推定プログラムであって、
センサ同士の通信により、第１のセンサに第２のセンサが一定距離以下に接近したことを感知する接近感知手順と、
前記第１のセンサに前記第２のセンサが接近したことを感知したときに、物体上のセンサの位置を示す座標データを記憶するメモリから前記第１、第２のセンサの座標データを取得し、この座標データに基づいて、前記第１のセンサが装着された物体の原点から見た、前記第２のセンサが装着された物体の原点の位置を求める原点位置計算手順と、
物体の形状データを記憶する前記メモリから前記第１、第２のセンサが装着された物体の形状データを取得し、これらの形状データと前記原点位置計算手順で求めた原点の位置に基づいて、前記第１のセンサが装着された物体から見た、前記第２のセンサが装着された物体の相対的な位置と向きを計算する位置・方向計算手順とを、コンピュータに実行させることを特徴とする位置推定プログラム。
【請求項７】
請求項６記載の位置推定プログラムを記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体に装着されたセンサの他のセンサとの接触情報から、物体の相対的な位置を推定する位置推定方法、位置推定システム、プログラムおよび記録媒体に関するものである。
【背景技術】
【０００２】
従来、空間内に存在する物体の配置を測定することができる配置測定装置が提案されている（特許文献１参照）。この配置測定装置は、物体に貼付された電子タグの位置を測定し、かつ電子タグに記憶されている物体の形状に関する情報を読み出し、測定した電子タグの位置に関する情報と読み出した物体の形状に関する情報とに基づいて複数の物体の配置状態を推定するようにしたものである。
【０００３】
【特許文献１】特開２００６−２９２５０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された配置測定装置では、物体同士が実際に接触しているかどうかを、測位装置で計測されたタグの位置データから推定するため、測位装置の誤差が推定精度に大きく影響する。このため、測位装置により測位できない位置に物体が存在すると、測位が行えず、物体の配置状態を推定できないという問題点があった。例えば、多数の物体が積み上げられている室内で、測位装置が部屋の天井に取り付けられている場合、積まれている物体のうち最下層にある物体の位置を正確に取得することは難しい。このような、物体が他の物体を測位装置から隠蔽するように存在するときに測位が正確に行えない問題を、オクルージョンの問題という。
【０００５】
本発明は、従来技術で解決できないオクルージョンの問題を解決し、使用する場所を問わず物体の位置を正確に測位することを可能にする位置推定方法、位置推定システム、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、物体に装着されたセンサの他のセンサとの接触情報から、物体の相対的な位置を推定する位置推定方法であって、センサ同士の通信により、第１のセンサに第２のセンサが一定距離以下に接近したことを感知する接近感知手順と、前記第１のセンサに前記第２のセンサが接近したことを感知したときに、物体上のセンサの位置を示す座標データを記憶する座標データ記憶手段から前記第１、第２のセンサの座標データを取得し、この座標データに基づいて、前記第１のセンサが装着された物体の原点から見た、前記第２のセンサが装着された物体の原点の位置を求める原点位置計算手順と、物体の形状データを記憶する形状データ記憶手段から前記第１、第２のセンサが装着された物体の形状データを取得し、これらの形状データと前記原点位置計算手順で求めた原点の位置に基づいて、前記第１のセンサが装着された物体から見た、前記第２のセンサが装着された物体の相対的な位置と向きを計算する位置・方向計算手順とを備えるものである。
【０００７】
また、本発明の位置推定方法の１構成例は、さらに、前記センサを構成する平面状に配置された複数のセンサ素子の各々から、前記センサ上の位置を示すセンサ素子位置データを送信させるセンサ素子位置データ送信手順と、前記センサ素子位置データの交換により、前記第１のセンサにおけるセンサ素子位置Ｐのセンサ素子とこれに接近した前記第２のセンサにおけるセンサ素子位置Ｑのセンサ素子との間で位置の差を計算し、この位置の差を前記第１、第２のセンサの位置ずれとする位置ずれ計算手順と、前記センサ素子位置Ｐのセンサ素子と前記センサ素子位置Ｑのセンサ素子の組のうち、センサ素子位置がＰｉとＱｉである組とＰｊとＱｊである組の任意の２組について、センサ素子位置ＰｉとＰｊがなす角度とＱｉとＱｊがなす角度との差を求め、この角度の差を前記第１、第２のセンサの角度ずれとする角度ずれ計算手順とを備え、前記原点位置計算手順は、前記取得した座標データと前記位置ずれ及び角度ずれに基づいて、前記第１のセンサが装着された物体の原点から見た、前記第２のセンサが装着された物体の原点の位置を求めるようにしたものである。
【０００８】
また、本発明の位置推定方法の１構成例は、さらに、前記第１のセンサとこれに接近した前記第２のセンサの組が複数組存在し、これらの組において第１、第２のセンサのいずれかが他の組の第１、第２のセンサのいずれかと共通である場合に、前記位置・方向計算手順の計算結果から、前記複数組に属する第１、第２のセンサが装着された各物体の相対的な位置と向きを計算する位置・方向再計算手順を備えるものである。
また、本発明の位置推定方法の１構成例は、さらに、前記第１のセンサ又は前記第２のセンサが装着された物体と基準位置との関係が固定されている場合に、前記位置・方向計算手順又は前記位置・方向再計算手順の計算結果から、前記第１、第２のセンサが装着された物体の位置と向きを前記基準位置に対して計算する基準位置計算手順を備えるものである。
【０００９】
また、本発明の位置推定システムは、物体に装着され、他のセンサと通信する通信機能を備えたセンサと、前記物体上のセンサの位置を示す座標データを記憶する座標データ記憶手段と、前記物体の形状データを記憶する形状データ記憶手段と、センサ同士の通信により、第１のセンサに第２のセンサが一定距離以下に接近したことを感知する接近感知手段と、この接近感知手段が前記第１のセンサに前記第２のセンサが接近したことを感知したときに、前記座標データ記憶手段から前記第１、第２のセンサの座標データを取得し、この座標データに基づいて、前記第１のセンサが装着された物体の原点から見た、前記第２のセンサが装着された物体の原点の位置を求める原点位置計算手段と、前記形状データ記憶手段から前記第１、第２のセンサが装着された物体の形状データを取得し、これらの形状データと前記原点位置計算手段が求めた原点の位置に基づいて、前記第１のセンサが装着された物体から見た、前記第２のセンサが装着された物体の相対的な位置と向きを計算する位置・方向計算手段とを有するものである。
【００１０】
また、本発明の位置推定プログラムは、センサ同士の通信により、第１のセンサに第２のセンサが一定距離以下に接近したことを感知する接近感知手順と、前記第１のセンサに前記第２のセンサが接近したことを感知したときに、物体上のセンサの位置を示す座標データを記憶するメモリから前記第１、第２のセンサの座標データを取得し、この座標データに基づいて、前記第１のセンサが装着された物体の原点から見た、前記第２のセンサが装着された物体の原点の位置を求める原点位置計算手順と、物体の形状データを記憶する前記メモリから前記第１、第２のセンサが装着された物体の形状データを取得し、これらの形状データと前記原点位置計算手順で求めた原点の位置に基づいて、前記第１のセンサが装着された物体から見た、前記第２のセンサが装着された物体の相対的な位置と向きを計算する位置・方向計算手順とを、コンピュータに実行させるようにしたものである。
また、本発明の記録媒体は、位置推定プログラムを記録したことを特徴とするものである。
【発明の効果】
【００１１】
本発明によれば、センサ同士の通信により、第１のセンサに第２のセンサが一定距離以下に接近したことを感知したときに、第１のセンサが装着された物体から見た、第２のセンサが装着された物体の相対的な位置と向きを計算するようにしたので、従来技術で解決できないオクルージョンの問題を解決し、使用する場所を問わずに物体の相対的な位置を推定することができる。
【００１２】
また、本発明では、第１のセンサと第２のセンサの組が複数組存在し、これらの組において第１、第２のセンサのいずれかが他の組の第１、第２のセンサのいずれかと共通である場合に、位置・方向計算手順の計算結果から、複数組に属する第１、第２のセンサが装着された各物体の相対的な位置と向きを計算するようにしたので、３つ以上の物体が連鎖的に接触している場合に、これら３つ以上の物体の相対的な位置と向きを計算することができる。
【００１３】
また、本発明では、第１のセンサ又は第２のセンサが装着された物体と基準位置との関係が固定されている場合に、位置・方向計算手順又は位置・方向再計算手順の計算結果から、第１、第２のセンサが装着された物体の位置と向きを基準位置に対して計算するようにしたので、ユーザの望む座標を基準に各物体の位置と向きを計算することができる。
【発明を実施するための最良の形態】
【００１４】
本発明は、物体の位置ｘ，ｙ，ｚと、物体の形状の情報を使って、物体や物体に関連する情報を提供するサービスである、コンテクストアウェアサービを提供するシステム、位置情報システム、ナビゲーションシステム、物品または商品の位置管理システム、特定の場所を監視するモニタリングシステム、防犯システム、防災システム、生物の生態を観測するシステム、あるいは顧客の購買行動を取得し分析するシステムに適用することができる。本発明では、複数の物体の位置を相対的に測位し、物体の配置状態を推定する。ここで、配置状態の推定とは、ある物体Ａの座標系の原点の位置から、その物体Ａに接触している物体Ｂの原点の位置と、物体Ａ，Ｂの座標系のずれの角度とを推定することである。
【００１５】
以下、本発明の実施の形態について図面を参照して詳細に説明する。図１は本発明の第１の実施の形態に係る位置推定システムの構成を示すブロック図である。位置推定システムは、位置測定の対象となる複数の物体に装着される複数のセンシング装置１と、センシング装置１によって得られた物体の位置と向きのデータを格納する位置格納装置２とから構成される。
【００１６】
センシング装置１は、他のセンシング装置１のセンサとの極短距離の通信機能及び他のセンシング装置１のセンサの接近を検知する機能を備えたセンサ１０と、データを記憶する記憶部１１と、位置格納装置２との通信を行う通信部１２と、センシング装置全体を制御する制御部１３とを有する。制御部１３は、接近感知手段と、原点位置計算手段と、位置・方向計算手段と、センサ素子位置データ送信手段と、位置ずれ計算手段と、角度ずれ計算手段とを構成している。
【００１７】
記憶部１１は、自装置に固有の識別子を記憶している。また、記憶部１１は、センシング装置１が装着される可能性のある全ての物体の形状のデータを、物体のポリゴンデータあるいはその物体を被覆する直方体のデータとして予め記憶している。また、記憶部１１は、センシング装置１が装着される物体上におけるセンサ１０の位置を示す座標データを、全てのセンシング装置１について予め記憶している。このように、記憶部１１は、座標データを記憶する座標データ記憶手段と、形状データを記憶する形状データ記憶手段を構成している。さらに、記憶部１１は、自装置のセンサ１０を構成する複数のセンサ素子のセンサ１０上における位置を示すセンサ素子位置データを予め記憶している。
【００１８】
形状データと座標データのうち、自装置が装着される物体の形状データと自装置のセンサ１０の座標データとは、自装置の識別子と対応付けて記憶される。また他のセンシング装置１が装着される物体の形状データとこのセンシング装置１のセンサ１０の座標データとは、そのセンシング装置１の識別子と対応付けて記憶される。
これらのデータは、通信部１２の通信機能を用いて、例えば位置格納装置２等の外部端末からの指示に従って削除、更新、追加を行うことができる。
【００１９】
位置格納装置２は、センシング装置１との通信を行う通信部２０と、センシング装置１から送信された物体の位置と向きのデータを記憶する記憶部２１と、ユーザからの操作を受け付ける操作部２２と、ユーザに対して情報を提示する表示部２３と、位置格納装置全体を制御する制御部２４とを有する。制御部２４は、位置・方向再計算手段と、基準位置計算手段を構成している。
【００２０】
センシング装置１は、それぞれに固有の識別子を有する。センシング装置１は、厚さ１ｍｍから１ｃｍ程度の板様の形状を持ち、物体の表面に貼り付けられるか、物体の内側に埋め込まれる。机のような薄い天板や、壁などのように薄い板様の部位を有する物体の場合は、その板様の物体の裏面にセンシング装置１を貼り付けて使用する形態もある。センシング装置１が物体へ貼り付けられた状態もしくは埋め込まれた状態を、センシング装置１が物体に装着された状態と呼ぶ。
【００２１】
人間の位置を測位する場合の装着状態としては、人間の体表面にセンシング装置１を貼り付ける形態、人間の着る衣服の表面に貼り付けるか衣服の内側に貼り付ける形態、靴底に貼り付けるか靴の内側に埋め込む形態、グローブに類する手に装着する物体の表面あるいは内側に埋め込む形態がある。
【００２２】
センシング装置１は、他のセンシング装置１が一定の距離以下に近づいたときに、センシング装置１の有する無線通信機能を用いて、識別子を他のセンシング装置１と互いに知らせあう機能（これを識別子の交換機能と称する）を有する。この交換機能により、各センシング装置１は、接近した他のセンシング装置１を区別することができる。各センシング装置１は、物体の表面に装着され、センシング装置１同士が一定の距離以下まで近づいたときに、識別子の交換を行う。
【００２３】
センシング装置１は、接触している他のセンシング装置１から受け取った識別子と、その識別子に対応する形状データと、センシング装置１自身の識別子に対応する形状データと、センシング装置１の物体に装着されている位置に関する座標データを用いて、接触したセンシング装置１が装着されている物体とセンシング装置１自身が装着されている物体との相対的な位置関係を計算する。
【００２４】
次に、物体へのセンシング装置１の装着例について、具体的な例を図２（Ａ）、図２（Ｂ）に示す。物体は、それぞれ固有の座標系（ユークリッド座標系）を持ち、原点Ｏ＝（０，０，０）とｘ軸、ｙ軸、ｚ軸が設定されている。物体の原点Ｏの位置や各軸については、測位を行うユーザが決める。ユーザは、物体に装着するセンシング装置１のセンサ１０について、予め物体固有の座標系上での位置Ｓ＝（ｘ，ｙ，ｚ）を測定し、センサ１０の座標データ（ｘ，ｙ，ｚ）をセンシング装置１の記憶部１１に記録しておく。
【００２５】
図２（Ａ）の例では、板状の物体（例えば床材）Ｃの表面にセンシング装置１が装着されている。このセンシング装置１のセンサ１０は、物体Ｃの原点Ｏに対して（ｘ１，ｙ１，ｚ１）で表される位置に装着されている。
図２（Ｂ）の例では、直方体状の物体Ｄの上面と下面にセンシング装置１が装着されている。上面のセンシング装置１のセンサ１０は、物体Ｄの原点Ｏに対して（ｘ２，ｙ２，ｚ２）で表される位置に装着され、下面のセンシング装置１のセンサ１０は、原点Ｏに対して（ｘ３，ｙ３，ｚ３）で表される位置に装着されている。
【００２６】
センサ１０は、基本的に物体の座標軸のｘ−ｙ平面に平行にし、センサ１０のｘ軸、ｙ軸が物体の座標軸のｘ軸、ｙ軸と平行になるように装着する。センサ１０を物体のｘ−ｙ平面と平行に装着しない場合は、物体のｘ−ｚ平面あるいはｙ−ｚ平面のいずれかと平行になるように装着する。センサ１０を物体のどの平面に平行に装着したかは、センシング装置１の記憶部１１に記録しておく。センサ１０を物体のｘ−ｙ平面以外の平面に平行になるように装着した場合は、後述する位置の計算を行うときに、軸を入れ替えて計算する必要がある。例えばセンサ１０を物体のｘ−ｚ平面に平行になるように装着した場合は、座標のｚの値をｙに読み替えて計算する。
【００２７】
図３はセンシング装置１のセンサ１０の構成を示す平面図である。センサ１０は、面状に配置された複数のセンサ素子１００から構成される。
ここで、あるセンサ１０とこれに接近したセンサ１０との位置ずれ及び角度ずれを検出する方法について説明する。例えば図３に示すように、センサ素子１００を縦横それぞれ５個ずつ配置したとする。センサ素子１００の数を増減させることで、ずれを測定する精度を変えることができる。
【００２８】
各センサ素子１００は、無線通信機能を有し、他のセンサ素子１００とデータを送受信する。センシング装置１の制御部１３は、自装置の識別子を記憶部１１から取り出してセンサ１０の各センサ素子１００から送信させると同時に、各センサ素子１００がセンサ１０上のどの位置にあるかを示すセンサ素子位置データを各センサ素子１００から送信させる。
【００２９】
センサ素子位置データは、センサ１０の基準位置Ｓに対する各センサ素子１００の位置を示す座標データである。このセンサ素子位置データは、例えばユーザによってセンシング装置１の記憶部１１に予め登録されている。例えば図３の例では、左下隅のセンサ素子１００の位置は（１，１）、左から２番目で下から５番目のセンサ素子１００の位置は（２，５）、左から４番目で下から３番目のセンサ素子１００の位置は（４，３）である。
【００３０】
受信側のセンシング装置１では、受け取ったセンサ素子位置データＱ＝（ｑｘ，ｑｙ）と自装置のセンサ素子位置データＰ＝（ｐｘ，ｐｙ）とから、自装置のセンサ１０とこれに接近した他のセンシング装置１のセンサ１０との位置ずれ及び角度ずれを検出する。このとき、センシング装置１の制御部１３は、あるセンサ素子１００において自装置の識別子を受信した場合は、この識別子と共に受信したセンサ素子位置データを自装置の他のセンサ素子１００から送信されたセンサ素子位置データであると判断して破棄し、自装置と異なる識別子と共に受信したセンサ素子位置データを他のセンシング装置１のセンサ素子１００から送信されたデータであると判断する。
【００３１】
図４はセンサ１０同士の位置ずれ及び角度ずれを検出する方法を説明するための図である。図４では、センサ１０−Ａの上にセンサ１０−Ｂが重なっている例を示している。本実施の形態では、あるセンサ１０のセンサ素子１００と別のセンサ１０のセンサ素子１００とが一定距離以下に接近した場合、これを接触と見なす。一定距離以下の接近の感知方法については後述する。
【００３２】
図４の例では、センサ１０−Ａの位置Ｐ１＝（３，５）のセンサ素子１００とセンサ１０−Ｂの位置Ｑ１＝（２，３）のセンサ素子１００とが接触し、位置Ｐ２＝（２，５）のセンサ素子１００と位置Ｑ２＝（１，３）のセンサ素子１００とが接触し、位置Ｐ３＝（５，４）のセンサ素子１００と位置Ｑ３＝（３，１）のセンサ素子１００とが接触し、さらに位置Ｐ４＝（３，３）のセンサ素子１００と位置Ｑ４＝（１，１）のセンサ素子１００とが接触したと感知される。
【００３３】
センシング装置１の制御部１３は、自装置のセンサ１０−Ａのセンサ素子１００とこれに接触した他のセンサ１０−Ｂのセンサ素子１００との組のうち、自装置が装着された物体の原点Ｏに最も近いセンサ素子１００の組について、位置の差Ｐ−Ｑを計算し、これをセンサ１０−Ａとセンサ１０−Ｂとの位置ずれＤＰとする。
【００３４】
図４の例において、接触したセンサ素子１００の組のうち、原点Ｏに最も近いセンサ素子１００の組は、センサ１０−Ａの位置Ｐ４＝（３，３）のセンサ素子１００とセンサ１０−Ｂの位置Ｑ４＝（１，１）のセンサ素子１００の組である。したがって、センサ１０−Ａとセンサ１０−Ｂとの位置ずれＤＰは、以下のように計算される。
ＤＰ＝Ｐ４−Ｑ４＝（３，３）−（１，１）＝（２，２）            ・・・（１）
【００３５】
なお、制御部１３は、自装置のセンサ１０−Ａのセンサ素子１００とこれに接触したセンサ１０−Ｂのセンサ素子１００との組の各々について、それぞれ位置の差Ｐ−Ｑを計算し、位置の差Ｐ−Ｑの平均値を位置ずれＤＰとしてもよいし、最大値又は最小値を位置ずれＤＰとしてもよい。
【００３６】
また、センシング装置１の制御部１３は、自装置のセンサ１０−Ａのセンサ素子１００とこれに接触したセンサ１０−Ｂのセンサ素子１００との組のうち、位置がＰｉとＱｉである組とＰｊとＱｊである組の任意の２組について、位置ＰｉとＰｊがなす角度とＱｉとＱｊがなす角度との差をａｒｃｃｏｓ（（Ｐｉ−Ｐｊ）／（Ｑｉ−Ｑｊ））で求める。制御部１３は、この角度の差を求める計算を任意の数、もしくは接触したセンサ素子１００の全ての組み合わせについて行い、角度の差の最大値又は平均値をセンサ１０−Ａとセンサ１０−Ｂとの角度ずれＤＡとする。ここでは、以下の４つの組み合わせについて４通りの角度の差ＤＡ１〜ＤＡ４を計算する。
【００３７】
ＤＡ１＝ａｒｃｃｏｓ（（Ｐ１−Ｐ２）／（Ｑ１−Ｑ２））
＝ａｒｃｃｏｓ（（１，０）／（１，０））＝０              ・・・（２）
ＤＡ２＝ａｒｃｃｏｓ（（Ｐ３−Ｐ４）／（Ｑ３−Ｑ４））
＝ａｒｃｃｏｓ（（２，１）／（２，０））
＝ａｒｃｃｏｓ（２．２５／２）＝２６．５６                ・・・（３）
ＤＡ３＝ａｒｃｃｏｓ（（Ｐ４−Ｐ２）／（Ｑ４−Ｑ２））
＝ａｒｃｃｏｓ（（１，−２）／（０，−２））
＝ａｒｃｃｏｓ（２．２５／２）＝２６．５６                ・・・（４）
ＤＡ４＝ａｒｃｃｏｓ（（Ｐ３−Ｐ１）／（Ｑ３−Ｑ１））
＝ａｒｃｃｏｓ（（２，−１）／（１，−２））＝０          ・・・（５）
【００３８】
式（２）〜式（５）の計算の結果、最大値を採用する場合には、角度ずれＤＡは２６．５６度となり、平均値を採用する場合には、角度ずれＤＡは１３．２８度となる。
以上の計算により、センサ１０−Ａとセンサ１０−Ｂとの位置ずれＤＰは（２，２）（センサ１０−Ａから見てｘ軸に２、ｙ軸に２だけセンサ１０−Ｂの位置がずれていることを意味する）、角度ずれＤＡは最大値の場合で２６．５６度（センサ１０−Ａから見てセンサ１０−Ｂが２６．５６度だけずれていることを意味する）と求まる。以下、センサ１０−Ａとセンサ１０−Ｂとの位置ずれをｆ（Ａ，Ｂ）で表し、角度ずれをｈ（Ａ，Ｂ）で表す。
【００３９】
次に、センサ同士で短距離通信する方法及びセンサ同士の接触を感知する方法について説明する。短距離通信及び接触感知の方法としては、次の三種類がある。
【００４０】
１．電磁誘導を利用する方法。
この方法は、センサ素子１００のコイルに電流を流して発生する磁場を利用し、電磁誘導の原理によって他方のセンサ素子１００のコイルに電流を生じさせ、この電流量の増減を信号として用いることで、接近したセンサ素子１００間で通信を行う方法である。発生する磁場の強さを調整し、センサ素子１００間の距離が一定距離以下にならないと、他方のセンサ素子１００のコイルに十分な電流が発生しないようにすることで、センサ素子１００同士の接触を感知できる距離を変化させることができる。
【００４１】
受信側のセンシング装置１の制御部１３は、自装置のセンサ素子１００のコイルに例えば所定のしきい値以上の電流が流れ、かつ受信した識別子が自装置の識別子と異なるときに、このセンサ素子１００に他のセンサ素子１００が一定距離以下に接近して接触したと判定する。
【００４２】
２．光を利用する方法
この方法は、センサ素子１００の表面に例えば赤外線ＬＥＤやレーザ発信装置などの発光素子と例えばフォトダイオードなどの受光素子とを設け、一方のセンサ素子１００の発光素子から発する光の明滅を信号として利用することで通信を行う方法である。光の強度を調整することで、センサ素子１００同士の接触を感知できる距離を変化させることができる。
【００４３】
受信側のセンシング装置１の制御部１３は、自装置のセンサ素子１００の受光素子で例えば所定のしきい値以上の信号強度が得られ、かつ受信した識別子が自装置の識別子と異なるときに、このセンサ素子１００に他のセンサ素子１００が一定距離以下に接近して接触したと判定する。
【００４４】
３．電磁波を利用する方法
この方法は、センサ素子１００にアンテナを設け、電磁波を伝送媒体として通信を行う方法である。この方法では、予め通信時に利用する電磁波の強度を各センサ素子１００ごとに一定の値に設定しておく。受信側のセンシング装置１の制御部１３は、自装置のセンサ素子１００で受信した電磁波の電界強度が一定の値以上で、かつ受信した識別子が自装置の識別子と異なるときに、このセンサ素子１００に他のセンサ素子１００が一定距離以下に接近して接触したと判定する。
【００４５】
あるいは、センサ素子１００が発する電界強度を一定に保ったまま、送信側のセンサ素子１００が一定の時間間隔で信号の送信を行い、受信側のセンシング装置１の制御部１３は、自装置のセンサ素子１００で信号が正常に受信できた割合を測定することで送信側のセンサ素子１００からの距離を推定し、正常に受信できる割合が一定の数値以上となったときに、接触したと判定する。
【００４６】
送信側のセンサ素子１００と受信側のセンサ素子１００には機能的な区別はなく、通常は全てのセンサ素子１００が一定の間隔で電磁波を発信し続けながら、他センサ素子１００からの電磁波の受信も行う。混信が検出されたり他のセンサ素子１００からの電磁波を受信したときに、一定時間もしくはランダムな時間だけ送信を停止して、その間は受信のみを行う。送受信が正常に行われる割合と、送信側と受信側のセンサ素子１００間の距離との関係については、予め実験的に取得してデータとして記憶部１１に記録しておく。受信側のセンシング装置１の制御部１３は、記憶部１１に記録されたデータを用いて、正常に受信できた割合に基づいて、自装置のセンサ素子１００から他のセンシング装置１のセンサ素子１００までの距離を推定する。
【００４７】
次に、物体の相対的な位置を推定する方法を図５（Ａ）、図５（Ｂ）を用いて説明する。センサ１０の物体への装着状態は、図２（Ａ）、図２（Ｂ）の状態を想定する。以下の例では、板状の物体（例えば床材）Ｃの表面に装着されたセンシング装置を１−Ｃ、このセンシング装置１−Ｃのセンサを１０−Ｃとし、直方体状の物体Ｄの下面に装着されたセンシング装置を１−Ｄ、このセンシング装置１−Ｄのセンサを１０−Ｄとする。
【００４８】
物体Ｃに装着されたセンシング装置１−Ｃのセンサ１０−Ｃの上に物体Ｄが置かれると、物体ＣとＤに装着されている双方のセンシング装置１−Ｃ，１−Ｄの制御部１３がセンサ１０−Ｃと１０−Ｄの接触を感知する。センサ１０−Ｃと１０−Ｄの接触を感知した双方のセンシング装置１−Ｃ，１−Ｄの制御部１３は、それぞれ接触した相手の識別子と、自装置のセンサ１０と相手のセンサ１０との位置ずれｆ（Ｃ，Ｄ）及び角度ずれｈ（Ｃ，Ｄ）と、自装置が装着されている物体の形状データ及び相手のセンシング装置１が装着されている物体の形状データとを用いて、自装置が装着されている物体から見たときの相手の物体の相対的な位置と向き（座標系の角度ずれ）を計算する。
【００４９】
図５（Ａ）、図５（Ｂ）は、物体Ｃの座標系上から相対的に見たときの物体Ｄの原点の位置を推定する例を示している。図５（Ａ）の例の場合、センサ１０−Ｃと１０−Ｄとの位置ずれがｆ（Ｃ，Ｄ）＝（０，０）で、角度ずれがｈ（Ｃ，Ｄ）＝０度なので、物体Ｃの原点から見たときの物体Ｄの原点の相対的な座標（Ｘ，Ｙ，Ｚ）は以下のように計算できる。
Ｘ＝ｘ１−ｘ３＋ｘ軸のずれ位置＝１０−１＋０＝９                ・・・（６）
Ｙ＝ｙ１−ｙ３＋ｙ軸のずれ位置＝１０−１＋０＝９                ・・・（７）
Ｚ＝ｚ１−ｚ３＋ｚ軸のずれ位置＝０−０＋０＝０                  ・・・（８）
【００５０】
以上の計算によって、（Ｘ，Ｙ，Ｚ）＝（９，９，０）と求まり、物体Ｃの原点から見たときの物体Ｄの原点の位置が分かる。物体Ｃに装着されているセンシング装置１−Ｃの制御部１３は、この物体Ｄの原点の位置と、物体Ｃ，Ｄの形状データとを用いて、物体Ｃから見たときの物体Ｄの相対的な位置と向きを計算することができる。同様に、物体Ｄに装着されているセンシング装置１−Ｄの制御部１３は、物体Ｄから見たときの物体Ｃの相対的な位置と向きを計算する。
【００５１】
図５（Ｂ）のように位置ずれｆ（Ｃ，Ｄ）及び角度ずれｈ（Ｃ，Ｄ）が０でない場合でも、以下のようにアフィン（AFIN）変換を用いることで、相対的な原点の位置を求めることができる。図５（Ｂ）の例では、位置ずれｆ（Ｃ，Ｄ）＝（−１，１）、角度ずれｈ（Ｃ，Ｄ）＝３０度としている。
【００５２】
物体Ｃに装着されているセンサ１０−Ｃの基準位置（ｘ１、ｙ１、ｚ１）から見たときの物体Ｄの原点の位置を（ｘ’，ｙ’，ｚ’）、センサ１０−Ｃと１０−Ｄとの位置ずれを（ｘ”，ｙ”，ｚ”）、センサ１０−Ｃと１０−Ｄとの角度ずれをＲとすると、物体Ｄの原点の位置（ｘ’，ｙ’，ｚ’）は次式のようになる。
ｙ’＝（ｙ”＋ｙ３）×ｃｏｓ（Ｒ）−（ｘ”＋ｘ３）×ｓｉｎ（Ｒ）・・・（９）
ｘ’＝（ｙ”＋ｙ３）×ｓｉｎ（Ｒ）＋（ｘ”＋ｘ３）×ｃｏｓ（Ｒ）・・（１０）
ｚ’＝ｚ”                                                    ・・・（１１）
【００５３】
物体Ｃに装着されているセンシング装置１−Ｃの制御部１３は、センサ１０−Ｃの基準位置（ｘ１、ｙ１、ｚ１）から見たときの物体Ｄの原点の位置（ｘ’，ｙ’，ｚ’）を式（９）〜式（１１）のように計算した後、物体Ｃの原点から見たときの物体Ｄの原点の位置（Ｘ，Ｙ，Ｚ）を次のように計算する。
Ｘ＝ｘ’＋ｘ１                                                ・・・（１２）
Ｙ＝ｙ’＋ｙ１                                                ・・・（１３）
Ｚ＝ｚ’＋ｚ１                                                ・・・（１４）
【００５４】
図６は以上のセンシング装置１の動作を示すフローチャートである。物体Ｃに装着されたセンシング装置１−Ｃの制御部１３は、自装置のセンサ１０−Ｃと他のセンシング装置１−Ｄのセンサ１０−Ｄとの接触を感知すると（ステップＳ１００においてＹＥＳ）、図４で説明したようにセンサ１０−Ｃとセンサ１０−Ｄとの位置ずれｆ（Ｃ，Ｄ）を求めると共に（ステップＳ１０１）、センサ１０−Ｃとセンサ１０−Ｄとの角度ずれｈ（Ｃ，Ｄ）を求める（ステップＳ１０２）。
【００５５】
続いて、センシング装置１−Ｃの制御部１３は、自装置のセンサ１０−Ｃの座標データ（ｘ１，ｙ１，ｚ１）を記憶部１１から取得すると共に、他のセンシング装置１−Ｄのセンサ１０−Ｄから受信した識別子に対応するセンサ１０−Ｄの座標データ（ｘ３，ｙ３，ｚ３）を記憶部１１から取得し、これらの座標データとステップＳ１０１，Ｓ１０２で求めた位置ずれｆ（Ｃ，Ｄ）及び角度ずれｈ（Ｃ，Ｄ）を用いて、物体Ｃの原点から見たときの相手の物体Ｄの原点の位置を求める（ステップＳ１０３）。
【００５６】
次に、センシング装置１−Ｃの制御部１３は、自装置が装着されている物体Ｃの形状データを記憶部１１から取得すると共に、他のセンシング装置１−Ｄのセンサ１０−Ｄから受信した識別子に対応する物体Ｄの形状データを記憶部１１から取得し、物体Ｃ，Ｄの形状データとステップＳ１０３で求めた物体Ｄの原点の位置とを用いて、物体Ｃから見たときの物体Ｄの相対的な位置と向きを計算する（ステップＳ１０４）。
【００５７】
そして、センシング装置１−Ｃの制御部１３は、計算した物体Ｄの相対的な位置と向きのデータと、物体Ｃ，Ｄの形状データとを通信部１２を介して有線又は無線により位置格納装置２に送信する（ステップＳ１０５）。以上で、センシング装置１−Ｃの動作が終了する。
同様に、物体Ｄに装着されているセンシング装置１−Ｄの制御部１３は、物体Ｄから見たときの物体Ｃの相対的な位置と向きを計算し、データを有線又は無線により位置格納装置２に送信する。
【００５８】
位置格納装置２の制御部２４は、通信部２０を介してセンシング装置１−Ｃ，１−Ｄから受信したデータを、データの受信時刻と対応付けて記憶部２１に格納する。
そして、制御部２４は、ユーザが指定した物体の位置と向きのデータを記憶部２１から検索して表示部２３に表示させる。このとき、制御部２４は、ユーザが指定した物体と接触している物体があれば、この接触している物体の原点を基準として、ユーザが指定した物体がどの位置にどの向きで配置されているかを表示部２３に表示させる。また、物体の形状データを用いて、ユーザが指定した物体がどの位置にどの向きで配置されているかを三次元形状で表示することもできる。
【００５９】
また、例えばユーザの位置を基準位置として床の物体Ｃの位置が予め定められており、この物体Ｃに他の物体Ｄが接触した場合、制御部２４は、物体Ｃ，Ｄに装着されているセンシング装置１から受信したデータを基に、ユーザの位置を基準位置として物体Ｃ，Ｄの位置と向きを計算することができる。
したがって、ユーザが任意の時刻（もしくは時区間）とユーザを基準とする任意の位置（もしくは位置の範囲）を指定すると、ユーザが指定した時刻においてユーザが指定した位置に存在した物体の位置と向きを、ユーザの位置を基準位置として表示することができる。上記と同様に、物体の形状データを用いて、物体の位置と向きを三次元形状で表示することも可能である。
【００６０】
また、図５（Ａ）、図５（Ｂ）の例では、２つの物体Ｃ，Ｄが接触した場合を例に挙げて説明しているが、これに限るものではなく、例えば物体Ｄの上に物体Ｅが接触した場合には、物体ＣとＤの間の相対的な位置と向きのデータと、物体ＤとＥの間の相対的な位置と向きのデータが得られる。位置格納装置２の制御部２４では、これらのデータを基に、物体Ｃから見た物体Ｅの位置と向き（あるいは物体Ｅから見た物体Ｃの位置と向き）を再計算することができる。つまり、本実施の形態では、３つ以上の物体が連鎖的に接触している場合に、これら３つ以上の物体の相対的な位置と向きを計算することができる。
【００６１】
以上のように、本実施の形態では、センシング装置同士の通信により、あるセンシング装置に他のセンシング装置が一定距離以下に接近したことを感知したときに、センシング装置が装着された物体から見た、他のセンシング装置が装着された物体の相対的な位置と向きを計算するようにしたので、従来技術で解決できないオクルージョンの問題を解決し、使用する場所を問わずに物体の相対的な位置を推定することができる。
【００６２】
［第２の実施の形態］
第１の実施の形態では、センシング装置１が装着される可能性のある全ての物体の形状データと全てのセンシング装置１のセンサ１０の座標データとを各々のセンシング装置１が記憶しているが、センシング装置１は、自装置が装着される物体の形状データと自装置のセンサ１０の座標データのみを自身の記憶部１１に記憶するようにしてもよい。
【００６３】
この場合、センシング装置１の制御部１３は、自装置の識別子とセンサ素子位置データだけでなく、自装置が装着されている物体の形状データと自装置のセンサ１０の座標データとを各センサ素子１００から送信させる。これにより、受信側のセンシング装置１の制御部１３では、自装置が装着される物体の形状データ及び自装置のセンサ１０の座標データと、相手のセンシング装置１から受信した形状データ及び座標データを用いて、第１の実施の形態と同様に、自装置が装着されている物体から見たときの相手の物体の相対的な位置と向きを計算することができる。
【００６４】
［第３の実施の形態］
第１、第２の実施の形態では、各センシング装置１で物体の形状データの記憶と物体の位置と向きの計算を行っていたが、専用の計算装置で物体の形状データの記憶と物体の位置と向きの計算を行うようにしてもよい。図７は本発明の第３の実施の形態に係る位置推定システムの構成を示すブロック図である。本実施の形態の位置推定システムは、複数のセンシング装置１ａと、センシング装置１ａが装着された物体の位置と向きを計算する位置計算装置３と、位置計算装置３によって得られた物体の位置と向きのデータを格納する位置格納装置２ａとから構成される。
【００６５】
センシング装置１ａは、センサ１０と、データを記憶する記憶部１１ａと、位置計算装置３との通信を行う通信部１２ａと、センシング装置全体を制御する制御部１３ａとを有する。制御部１３ａは、接近感知手段と、センサ素子位置データ送信手段と、位置ずれ計算手段と、角度ずれ計算手段とを構成している。
【００６６】
位置計算装置３は、センシング装置１ａとの通信を行う通信部３０と、データを記憶する記憶部３１と、位置格納装置２ａとの通信を行う通信部３２と、位置計算装置全体を制御する制御部３３とを有する。制御部３３は、原点位置計算手段と、位置・方向計算手段とを構成している。
位置格納装置２ａは、位置計算装置３との通信を行う通信部２０ａと、記憶部２１と、操作部２２と、表示部２３と、制御部２４とを有する。
【００６７】
センシング装置１ａのセンサ１０の構成及び動作は、第１の実施の形態と同じである。センシング装置１ａの記憶部１１ａは、自装置に固有の識別子と、自装置のセンサ１０を構成する複数のセンサ素子のセンサ１０上における位置を示すセンサ素子位置データを予め記憶している。
【００６８】
位置計算装置３の記憶部３１は、物体の形状データをその物体に装着されているセンシング装置１ａの識別子と対応付けて予め記憶している。また、記憶部３１は、センシング装置１ａが装着される物体上におけるセンサ１０の位置を示す座標データを、そのセンシング装置１ａの識別子と対応付けて予め記憶している。すなわち、本実施の形態では、記憶部３１が座標データ記憶手段と形状データ記憶手段とを構成している。
【００６９】
図８はセンシング装置１ａの動作を示すフローチャートである。センシング装置１ａの制御部１３ａは、自装置のセンサ１０と他のセンシング装置１ａのセンサ１０との接触を感知すると（ステップＳ２００においてＹＥＳ）、図４で説明したように自装置のセンサ１０と他のセンシング装置１ａのセンサ１０との位置ずれ及び角度ずれを求める（ステップＳ２０１，Ｓ２０２）。そして、制御部１３ａは、計算した位置ずれ及び角度ずれのデータと、記憶部１１ａから取り出した自装置の識別子と、他のセンシング装置１ａのセンサ１０から受信した識別子とを通信部１２ａを介して有線又は無線により位置計算装置３に送信する（ステップＳ２０３）。
【００７０】
図９は位置計算装置３の動作を示すフローチャートである。ここでは、説明を容易にするために、ステップＳ２０３でデータを送信したセンシング装置を１ａ−Ｃ、このセンシング装置１ａ−Ｃが装着されている物体をＣ、センシング装置１ａ−Ｃのセンサを１０−Ｃとし、このセンサ１０−Ｃと接触した他のセンサを１０−Ｄ、このセンサ１０−Ｄを備えた他のセンシング装置を１ａ−Ｄ、センシング装置１ａ−Ｄが装着されている物体をＤとする。
【００７１】
位置計算装置３の制御部３３は、センシング装置１ａ−Ｃからのデータを受信すると（ステップＳ３００においてＹＥＳ）、受信したセンシング装置１ａ−Ｃの識別子に対応するセンサ１０−Ｃの座標データを記憶部３１から取得すると共に、受信した他のセンシング装置１ａ−Ｄの識別子に対応するセンサ１０−Ｄの座標データを記憶部３１から取得し、これらの座標データと受信した位置ずれ及び角度ずれのデータを用いて、物体Ｃの原点から見たときの物体Ｄの原点の位置を求める（ステップＳ３０１）。
【００７２】
次に、位置計算装置３の制御部３３は、センシング装置１ａ−Ｃの識別子に対応する物体Ｃの形状データを記憶部３１から取得すると共に、他のセンシング装置１ａ−Ｄの識別子に対応する物体Ｄの形状データを記憶部３１から取得し、物体Ｃ，Ｄの形状データとステップＳ３０１で求めた物体Ｄの原点の位置とを用いて、物体Ｃから見たときの物体Ｄの相対的な位置と向きを計算する（ステップＳ３０２）。
【００７３】
そして、位置計算装置３の制御部３３は、計算した物体Ｄの相対的な位置と向きのデータと、物体Ｃ，Ｄの形状データとを通信部３２を介して有線又は無線により位置格納装置２ａに送信する（ステップＳ３０３）。
位置格納装置２ａの制御部２４は、通信部２０ａを介して位置計算装置３から受信したデータを、データの受信時刻と対応付けて記憶部２１に格納する。位置格納装置２ａのその他の動作は第１の実施の形態と同様であるので、説明は省略する。
【００７４】
以上の構成により、本実施の形態では、第１の実施の形態と同様の効果を得ることができる。
【００７５】
［第４の実施の形態］
次に、本発明の第４の実施の形態について説明する。本実施の形態においても、位置推定システムの全体的な構成は第３の実施の形態と同様であるので、図７の符号を用いて説明する。センシング装置１ａと位置計算装置３の処理の流れは第３の実施の形態と同様であるので、第３の実施の形態と異なる点について説明する。
【００７６】
本実施の形態のセンシング装置１ａの記憶部１１ａは、自装置に固有の識別子と、自装置のセンサ１０を構成する複数のセンサ素子のセンサ１０上における位置を示すセンサ素子位置データと、自装置が装着されている物体の形状データと、自装置が装着される物体上におけるセンサ１０の位置を示す座標データとを予め記憶している。
【００７７】
センシング装置１ａの制御部１３ａは、自装置の識別子を記憶部１１ａから取り出してセンサ１０の各センサ素子１００から送信させると同時に、各センサ素子１００がセンサ１０上のどの位置にあるかを示すセンサ素子位置データを各センサ素子１００から送信させ、さらに自装置が装着されている物体の形状データとセンサ１０の座標データとを各センサ素子１００から送信させる。
【００７８】
センシング装置１ａの制御部１３ａは、自装置のセンサ１０と他のセンシング装置１ａのセンサ１０との接触を感知すると、第３の実施の形態と同様に計算した位置ずれ及び角度ずれのデータと、記憶部１１ａから取り出した自装置の識別子と、他のセンシング装置１ａのセンサ１０から受信した識別子とを位置計算装置３に送信するが、さらに記憶部１１ａから取り出した形状データ及び座標データと、他のセンシング装置１ａのセンサ１０から受信した形状データ及び座標データを位置計算装置３に送信する。
【００７９】
位置計算装置３は、第３の実施の形態と同様に物体の位置と向きを計算するが、この計算にはセンシング装置１ａから受信した形状データと座標データを使用する。
以上の構成により、本実施の形態では、第１の実施の形態と同様の効果を得ることができる。
【００８０】
なお、第３、第４の実施の形態において、位置計算装置３と位置格納装置２ａとを同一の装置で構成してもよい。また、位置計算装置３をいずれか１つのセンシング装置１ａ内に設けるようにしてもよい。
【００８１】
［第５の実施の形態］
第１〜第４の実施の形態のセンシング装置１，１ａ、位置格納装置２，２ａ、位置計算装置３は、それぞれＣＰＵ、メモリおよび外部とのインタフェースを備えたコンピュータとこれらのハードウェア資源を制御するプログラムによって実現することができる。
図１０はこのようなコンピュータの構成例を示すブロック図である。図１において、２００はＣＰＵ、２０１はＲＡＭ、２０２はＲＯＭ、２０３はインターフェイス装置（以下、Ｉ／Ｆと略する）である。
【００８２】
センシング装置１，１ａを構成するコンピュータでは、Ｉ／Ｆ２０３にはセンサ１０と通信部１２が接続される。
位置格納装置２，２ａを構成するコンピュータでは、Ｉ／Ｆ２０３には通信部２０，２０ａと操作部２２と表示部２３が接続される。
また、位置計算装置３を構成するコンピュータでは、Ｉ／Ｆ２０３には通信部３０，３２が接続される。
【００８３】
このようなコンピュータにおいて、本発明の位置推定方法を実現させるための位置推定プログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリカードなどの記録媒体に記録された状態で提供され、ＲＡＭ２０１あるいは外部のハードディスク装置等のメモリに格納される。ＣＰＵ２００は、格納されたプログラムに従って第１〜第４の実施の形態で説明した処理を実行する。
【００８４】
なお、第１〜第４の実施の形態では、各物体にそれぞれ１つずつセンシング装置を装着する例を説明しているが、物体に複数のセンシング装置を装着してもよい。この形態の場合、同じ物体に装着されたセンシング装置は、有線または無線による通信機能を用いて、互いにデータの送受信を行う機能を有する。面積の大きい物体の場合、その物体表面を被覆するように複数のセンシング装置を並べて装着する形態もある。このとき、必ずしも物体表面を完全にセンシング装置で被覆する必要はなく、測位の必要に応じて必要な数のセンシング装置を装着すればよい。いずれのセンシング装置が物体のどの位置に、どのような傾きをもって装着されているかという、センシング装置（センサ）の物体上での位置に関する座標データは、センシング装置を物体に装着する時に予め各センシング装置あるいは位置計算装置に識別子と対応させて記録する。
【産業上の利用可能性】
【００８５】
本発明は、物体の位置と物体の形状の情報を使って、物体や物体に関連する情報を提供するサービスである、コンテクストアウェアサービを提供するシステム、位置情報システム、ナビゲーションシステム、物品または商品の位置管理システム、特定の場所を監視するモニタリングシステム、防犯システム、防災システム、生物の生態を観測するシステム、あるいは顧客の購買行動を取得し分析するシステムに適用することができる。
【図面の簡単な説明】
【００８６】
【図１】本発明の第１の実施の形態に係る位置推定システムの構成を示すブロック図である。
【図２】本発明の第１の実施の形態における物体へのセンシング装置の装着例を示す図である。
【図３】本発明の第１の実施の形態におけるセンシング装置のセンサの構成を示す平面図である。
【図４】本発明の第１の実施の形態においてセンサ同士の位置ずれ及び角度ずれを検出する方法を説明するための図である。
【図５】本発明の第１の実施の形態において物体の相対的な位置を推定する方法を説明するための図である。
【図６】本発明の第１の実施の形態におけるセンシング装置の動作を示すフローチャートである。
【図７】本発明の第３の実施の形態に係る位置推定システムの構成を示すブロック図である。
【図８】本発明の第３の実施の形態におけるセンシング装置の動作を示すフローチャートである。
【図９】本発明の第３の実施の形態における位置計算装置の動作を示すフローチャートである。
【図１０】本発明の第４の実施の形態におけるコンピュータの構成例を示すブロック図である。
【符号の説明】
【００８７】
１，１ａ…センシング装置、２，２ａ…位置格納装置、３…位置計算装置、１０…センサ、１１，１１ａ，２１，３１…記憶部、１２，１２ａ，２０，２０ａ，３０，３２…通信部、１３，１３ａ，２４，３３…制御部、２３…表示部、１００…センサ素子。
【図１】
2008298712.tif 000003
【図２】
2008298712.tif 000004
【図３】
2008298712.tif 000005
【図４】
2008298712.tif 000006
【図５】
2008298712.tif 000007
【図６】
2008298712.tif 000008
【図７】
2008298712.tif 000009
【図８】
2008298712.tif 000010
【図９】
2008298712.tif 000011
【図１０】
2008298712.tif 000012