(57)【要約】【課題】中央処理装置を用いず、かつ大量の通信を行わずに、情報環境内の各デバイスが位置情報を取得することができる位置計測装置、位置計測プログラム、位置計測方法、および位置計測システムを提供する。【解決手段】記憶部に記憶されている他装置の相対位置情報が含む距離および他装置位置情報が示す座標を用いて、当該他装置が属する座標系における自装置の座標を示す自装置位置情報を計算し、計算した自装置位置情報および自装置が移動していると判定した場合における自装置が移動していることを示す移動通知を他装置と互いに通知し、他装置から移動通知が通知された場合、記憶部から、当該他装置の相対位置情報および他装置位置情報を削除することにより、装置の移動により装置間の位置関係が変化する場合であっても、移動前の無効なリストデータを用いずに、自装置位置情報を計算することができるので、正確な自装置位置情報を迅速に得ることができる。【選択図】        図４
2010085212.tif 000002
【特許請求の範囲】
【請求項１】
自装置の移動または停止を判定する判定手段と、
自装置が停止していると判定した場合、他装置と自装置との間の距離を含む相対位置情報を計測する計測手段と、
前記相対位置情報を計測した他装置から、当該他装置が属する座標系における当該他装置の座標を示す他装置位置情報を取得する取得手段と、
計測した前記相対位置情報および取得した前記他装置位置情報を他装置毎に記憶部に記憶する記憶制御手段と、
前記記憶部に記憶されている他装置の前記相対位置情報が含む距離および前記他装置位置情報が示す座標を用いて、当該他装置が属する座標系における自装置の座標を示す自装置位置情報を計算する計算手段と、
計算した前記自装置位置情報および自装置が移動していると判定した場合における自装置が移動していることを示す移動通知を他装置と互いに通知する通知手段と、を備え、
前記記憶制御手段は、他装置から前記移動通知が通知された場合、前記記憶部から、当該他装置の前記相対位置情報および前記他装置位置情報を削除することを特徴とする位置計測装置。
【請求項２】
前記計測手段は、自装置が停止していると判定された時点で前記相対位置情報の計測を開始することを特徴とする請求項１に記載の位置計測装置。
【請求項３】
自装置の設置面に対して発光する発光素子と、
設置面からの反射光を受光する受光素子と、をさらに備え、
前記判定手段は、前記受光素子の受光光量に基づいて自装置の移動または停止を判定することを特徴とする請求項１または２に記載の位置計測装置。
【請求項４】
加速度センサをさらに備え、
前記判定手段は、前記加速度センサからの出力に基づいて自装置の移動または停止を判定することを特徴とする請求項１または２に記載の位置計測装置。
【請求項５】
所定時間毎に周囲の画像を撮影する撮影手段と、
撮影した画像を記憶部に格納する格納手段と、をさらに備え、
前記判定手段は、記憶部に記憶されている前回撮影した画像と、今回撮影した画像と、の比較結果に基づいて、自装置の移動または停止を判定することを特徴とする請求項１または２に記載の位置計測装置。
【請求項６】
前記計測手段は、自装置が停止していると判定した場合、所定時間毎に前記相対位置情報を計測することを特徴とする請求項１から５のいずれか一に記載の位置計測装置。
【請求項７】
コンピュータを、
自装置の移動または停止を判定する判定手段と、
自装置が停止していると判定した場合、他装置と自装置との間の距離を含む相対位置情報を計測する計測手段と、
前記相対位置情報を計測した他装置から、当該他装置が属する座標系における当該他装置の座標を示す他装置位置情報を取得する取得手段と、
計測した前記相対位置情報および取得した前記他装置位置情報を他装置毎に記憶部に記憶する記憶制御手段と、
前記記憶部に記憶されている他装置の前記相対位置情報が含む距離および前記他装置位置情報が示す座標を用いて、当該他装置が属する座標系における自装置の座標を示す自装置位置情報を計算する計算手段と、
計算した前記自装置位置情報および自装置が移動していると判定した場合における自装置が移動していることを示す移動通知を他装置と互いに通知する通知手段と、として機能させるための位置計測プログラムであって、
前記記憶制御手段は、他装置から前記移動通知が通知された場合、前記記憶部から、当該他装置の前記相対位置情報および前記他装置位置情報を削除することを特徴とする位置計測プログラム。
【請求項８】
判定手段が、自装置の移動または停止を判定する判定工程と、
計測手段が、自装置が停止していると判定した場合、他装置と自装置との間の距離を含む相対位置情報を計測する計測工程と、
取得手段が、前記相対位置情報を計測した他装置から、当該他装置が属する座標系における当該他装置の座標を示す他装置位置情報を取得する取得工程と、
記憶制御手段が、計測した前記相対位置情報および取得した前記他装置位置情報を他装置毎に記憶部に記憶する記憶制御工程と、
計算手段が、前記記憶部に記憶されている他装置の前記相対位置情報が含む距離および前記他装置位置情報が示す座標を用いて、当該他装置が属する座標系における自装置の座標を示す自装置位置情報を計算する計算工程と、
通知手段が、計算した前記自装置位置情報および自装置が移動していると判定した場合における自装置が移動していることを示す移動通知を他装置と互いに通知する通知工程と、を有し、
前記記憶制御工程は、他装置から前記移動通知が通知された場合、前記記憶部から、当該他装置の前記相対位置情報および前記他装置位置情報を削除することを特徴とする位置計測方法。
【請求項９】
互いに距離計測が可能な範囲内に位置する装置同士が連携して動作する位置計測システムであって、
前記各装置は、
自装置の移動または停止を判定する判定手段と、
自装置が停止していると判定した場合、他装置と自装置との間の距離を含む相対位置情報を計測する計測手段と、
前記相対位置情報を計測した他装置から、当該他装置が属する座標系における当該他装置の座標を示す他装置位置情報を取得する取得手段と、
計測した前記相対位置情報および取得した前記他装置位置情報を他装置毎に記憶部に記憶する記憶制御手段と、
前記記憶部に記憶されている他装置の前記相対位置情報が含む距離および前記他装置位置情報が示す座標を用いて、当該他装置が属する座標系における自装置の座標を示す自装置位置情報を計算する計算手段と、
計算した前記自装置位置情報および自装置が移動していると判定した場合における自装置が移動していることを示す移動通知を他装置と互いに通知する通知手段と、を備え、
前記記憶制御手段は、他装置から前記移動通知が通知された場合、前記記憶部から、当該他装置の前記相対位置情報および前記他装置位置情報を削除することを特徴とする位置計測システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置計測装置、位置計測プログラム、位置計測方法、および位置計測システムに関するものである。
【背景技術】
【０００２】
我々の生活や社会の至る所に存在するコンピュータ同士が自律的に連携して動作することにより、人間の生活を強力にバックアップする情報環境としてユビキタスコンピューティングがある。ユビキタスコンピューティングは、近年の携帯電話などを中心とした小型情報端末の進化に代表されるコンピュータの小型化や、インターネットの爆発的な普及などの通信技術の発展・浸透に伴って、再び注目が集まりつつある。
【０００３】
ところで、ユビキタスコンピューティングに代表される情報環境において、コンピュータ同士が連携して動作するためには、各コンピュータが互いにその位置を把握しておく必要がある。コンピュータ同士が互いの位置を検出する位置検出技術としては、基地局が移動端末に位置情報を配信する位置検出システムがある（特許文献１参照）。具体的には、特許文献１に記載の位置検出システムは、移動端末により計測された端末・基地局間の距離と複数の基地局間の距離とを用いて三点測量法により当該移動端末の位置検出を行い、その位置検出結果を移動端末に送るものである。
【０００４】
【特許文献１】特開２００５−８６５７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の特許文献１に記載された位置検出システムは、基地局が通信圏内にある各移動端末に対して位置情報を送っているため、基地局が存在しない場所に位置する移動端末は位置情報を取得することができない、という問題がある。また、特許文献１に記載された位置検出システムは、通信圏内にある全ての移動端末から測定された距離等の情報が基地局に送られるため、基地局の計算量や通信量が大きくなる。
【０００６】
本発明は、上記に鑑みてなされたものであって、複数のデバイスからなる情報環境において、当該情報環境内の全てのデバイスの情報を集中管理する中央処理装置を用いず、かつ大量の通信を行わずに、当該情報環境内の各デバイスが位置情報を取得することができる位置計測装置、位置計測プログラム、位置計測方法、および位置計測システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、自装置の移動または停止を判定する判定手段と、自装置が停止していると判定した場合、他装置と自装置との間の距離を含む相対位置情報を計測する計測手段と、前記相対位置情報を計測した他装置から、当該他装置が属する座標系における当該他装置の座標を示す他装置位置情報を取得する取得手段と、計測した前記相対位置情報および取得した前記他装置位置情報を他装置毎に記憶部に記憶する記憶制御手段と、前記記憶部に記憶されている他装置の前記相対位置情報が含む距離および前記他装置位置情報が示す座標を用いて、当該他装置が属する座標系における自装置の座標を示す自装置位置情報を計算する計算手段と、計算した前記自装置位置情報および自装置が移動していると判定した場合における自装置が移動していることを示す移動通知を他装置と互いに通知する通知手段と、を備え、前記記憶制御手段は、他装置から前記移動通知が通知された場合、前記記憶部から、当該他装置の前記相対位置情報および前記他装置位置情報を削除することを特徴とする。
【０００８】
また、請求項２にかかる発明は、請求項１にかかる発明において、前記計測手段は、自装置が停止していると判定された時点で前記相対位置情報の計測を開始することを特徴とする。
【０００９】
また、請求項３にかかる発明は、請求項１または２にかかる発明において、自装置の設置面に対して発光する発光素子と、設置面からの反射光を受光する受光素子と、をさらに備え、前記判定手段は、前記受光素子の受光光量に基づいて自装置の移動または停止を判定することを特徴とする。
【００１０】
また、請求項４にかかる発明は、請求項１または２にかかる発明において、加速度センサをさらに備え、前記判定手段は、前記加速度センサからの出力に基づいて自装置の移動または停止を判定することを特徴とする。
【００１１】
また、請求項５にかかる発明は、請求項１または２にかかる発明において、所定時間毎に周囲の画像を撮影する撮影手段と、撮影した画像を記憶部に格納する格納手段と、をさらに備え、前記判定手段は、記憶部に記憶されている前回撮影した画像と、今回撮影した画像と、の比較結果に基づいて、自装置の移動または停止を判定することを特徴とする。
【００１２】
また、請求項６にかかる発明は、請求項１から５のいずれか一にかかる発明において、前記計測手段は、自装置が停止していると判定した場合、所定時間毎に前記相対位置情報を計測することを特徴とする。
【００１３】
また、請求項７にかかる発明は、コンピュータを、自装置の移動または停止を判定する判定手段と、自装置が停止していると判定した場合、他装置と自装置との間の距離を含む相対位置情報を計測する計測手段と、前記相対位置情報を計測した他装置から、当該他装置が属する座標系における当該他装置の座標を示す他装置位置情報を取得する取得手段と、計測した前記相対位置情報および取得した前記他装置位置情報を他装置毎に記憶部に記憶する記憶制御手段と、前記記憶部に記憶されている他装置の前記相対位置情報が含む距離および前記他装置位置情報が示す座標を用いて、当該他装置が属する座標系における自装置の座標を示す自装置位置情報を計算する計算手段と、計算した前記自装置位置情報および自装置が移動していると判定した場合における自装置が移動していることを示す移動通知を他装置と互いに通知する通知手段と、として機能させるための位置計測プログラムであって、前記記憶制御手段は、他装置から前記移動通知が通知された場合、前記記憶部から、当該他装置の前記相対位置情報および前記他装置位置情報を削除することを特徴とする。
【００１４】
また、請求項８にかかる発明は、判定手段が、自装置の移動または停止を判定する判定工程と、計測手段が、自装置が停止していると判定した場合、他装置と自装置との間の距離を含む相対位置情報を計測する計測工程と、取得手段が、前記相対位置情報を計測した他装置から、当該他装置が属する座標系における当該他装置の座標を示す他装置位置情報を取得する取得工程と、記憶制御手段が、計測した前記相対位置情報および取得した前記他装置位置情報を他装置毎に記憶部に記憶する記憶制御工程と、計算手段が、前記記憶部に記憶されている他装置の前記相対位置情報が含む距離および前記他装置位置情報が示す座標を用いて、当該他装置が属する座標系における自装置の座標を示す自装置位置情報を計算する計算工程と、通知手段が、計算した前記自装置位置情報および自装置が移動していると判定した場合における自装置が移動していることを示す移動通知を他装置と互いに通知する通知工程と、を有し、前記記憶制御工程は、他装置から前記移動通知が通知された場合、前記記憶部から、当該他装置の前記相対位置情報および前記他装置位置情報を削除することを特徴とする。
【００１５】
また、請求項９にかかる発明は、互いに距離計測が可能な範囲内に位置する装置同士が連携して動作する位置計測システムであって、前記各装置は、自装置の移動または停止を判定する判定手段と、自装置が停止していると判定した場合、他装置と自装置との間の距離を含む相対位置情報を計測する計測手段と、前記相対位置情報を計測した他装置から、当該他装置が属する座標系における当該他装置の座標を示す他装置位置情報を取得する取得手段と、計測した前記相対位置情報および取得した前記他装置位置情報を他装置毎に記憶部に記憶する記憶制御手段と、前記記憶部に記憶されている他装置の前記相対位置情報が含む距離および前記他装置位置情報が示す座標を用いて、当該他装置が属する座標系における自装置の座標を示す自装置位置情報を計算する計算手段と、計算した前記自装置位置情報および自装置が移動していると判定した場合における自装置が移動していることを示す移動通知を他装置と互いに通知する通知手段と、を備え、前記記憶制御手段は、他装置から前記移動通知が通知された場合、前記記憶部から、当該他装置の前記相対位置情報および前記他装置位置情報を削除することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、近接する少なくとも１つの他デバイスとの間の距離および当該他デバイスの位置情報を取得するだけで自デバイスの位置情報を取得することができるので、複数のデバイスからなる情報環境において、当該情報環境内の全てのデバイスの情報を集中管理する中央処理装置を用いず、かつ大量の通信を行わずに、当該情報環境内の各デバイスが位置情報を取得することができる、という効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照して、この発明にかかる位置計測装置、位置計測プログラム、位置計測方法、および位置計測システムの最良な実施の形態を詳細に説明する。なお、本実施の形態では、本発明の位置計測装置を適用したパーソナルコンピュータ（以下、ＰＣとする）を備えた位置計測システムについて説明する。但しＰＣに限られず、装置同士が自立的に連携して動作するユビキタスコンピューティングに代表される情報環境に設置される装置であれば、複合機、プリンタ、ファクシミリ、コピー機等の画像形成装置や携帯電話機やパーソナルデジタルアシスタントなど種々の装置にも本発明を適用することができる。
【００１８】
（第１実施の形態）
まず、図１を用いて、本実施の形態にかかる位置計測システムの構成について説明する。図１は、本実施の形態にかかる位置計測システムの構成を示すブロック図である。
【００１９】
本実施の形態にかかる位置計測システム１００は、ＰＣ（以下、自装置とする）１０１、自装置１０１からそれぞれ距離ｄ１,ｄ２,ｄ３離れたＰＣ（以下、他装置とする）１０２〜１０４を備えて構成される。なお、本実施の形態にかかる位置計測システム１００は、自装置１０１、および当該自装置１０１から距離計測が可能な範囲である距離計測可能範囲１０５内に位置する他装置１〜３（１０２〜１０４）のみを図示しているが、距離計測可能範囲１０５内に位置するＰＣ等の装置であれば位置計測システム１００に含まれるものとする。なお、以下の説明では、自装置１０１が位置計測を行うために必要な構成および位置計測処理について説明するが、他装置１〜３（１０２〜１０４）も同様の構成および位置計測処理を行うことができる。
【００２０】
次に、図２を用いて、本実施の形態にかかる自装置１０１の概略について説明する。図２は、自装置の概観を示す概略図である。
【００２１】
本実施の形態にかかる自装置１０１は、下部筐体２０１と上部筐体２０２とを備えて構成されている。
【００２２】
下部筐体２０１は、四角柱の形状であり、その４つの側面にマーカが貼付されている。４つの側面に貼付されたマーカは、マーカ２０３およびＱＲコード（登録商標）等の２次元コード２０４を含むものである。
【００２３】
マーカ２０３は、他装置１〜３（１０２〜１０４）との間の距離や方向等の相対位置情報を計測するためのものである。本実施の形態では、マーカ２０３は、AR Toolkit（登録商標）などのＶＲ（Virtual Reality）技術により認識可能なマーカであり、四角形状の黒枠である。
【００２４】
２次元コード２０４は、マーカ２０３の内部領域に位置するものであって、他装置１〜３（１０２〜１０４）が自装置１０１にアクセスするためのネットワークアドレスおよび下部筐体２０１の４つの側面を識別するための側面番号を表すものである。なお、側面番号は、基準面から時計回りに１〜４の番号である。
【００２５】
例えば、自装置１０１が“10.0.0.1”というネットワークアドレスを持っている場合、当該自装置１０１の側面番号が３の側面には、“10.0.0.1.3”という文字列を表す２次元コードが貼付される。
【００２６】
上部筐体２０２は、カメラ２０５を備えている。カメラ２０５は、内蔵するモータにより光軸を水平に保持したまま３６０度回転し、周囲の風景の画像を撮影するものである。本実施の形態では、カメラ２０５は、他装置１（１０２）の下部筐体に貼付されたマーカ２０３および２次元コード２０４の画像を撮影するものである。
【００２７】
なお、本実施の形態では、カメラ２０５を内蔵するモータにより３６０度回転させることにより、周囲の風景の画像を撮影しているが、これに限定するものではない。例えば、魚眼カメラ、放物線ミラーによる全方位カメラ、複数のカメラを並置、または死角が存在しても良い場合には固定のカメラ１台により周囲の風景の画像を撮影してもよい。
【００２８】
次に、図３を用いて、本実施の形態にかかる自装置１０１のハードウェア構成について説明する。図３は、本実施の形態にかかる自装置のハードウェア構成を示すブロック図である。
【００２９】
本実施の形態にかかる自装置１０１は、カメラ２０５、モータ３０１、ネットワークインターフェース（ネットワークＩＦ）３０２、およびコントローラ３０３を備えて構成される。なお、カメラ２０５については、上述したので、ここでは説明を省略する。
【００３０】
モータ３０１は、上部筐体２０２に内蔵され、カメラ２０５の光軸を水平に保持したまま当該カメラ２０５を３６０度回転させる。
【００３１】
ネットワークＩＦ３０２は、他装置１〜３（１０２〜１０４）との無線通信を可能とするものである。具体的には、ネットワークＩＦ３０２は、IEEE801.11bなど周知の無線ネットワークインターフェースを持つものであり、このネットワークインターフェースを用いてＩＰ通信が行われる。
【００３２】
コントローラ３０３は、ＣＰＵ（Central Processing Unit）３０３ａ、ＲＡＭ（Random Access Memory）３０３ｂ、およびＲＯＭ（Read Only Memory）３０３ｃを有する。
【００３３】
ＲＡＭ３０３ｂは、各種必要なパラメータ及び自装置１０１の全体制御のワークエリア領域等を含む。
【００３４】
ＲＯＭ３０３ｃは、この発明の記憶媒体を実施するものであり、ＯＳ（Operating System）やＣＰＵ３０３ａが実行する各種のプログラムや各種データを記憶する。
【００３５】
なお、記憶媒体としては、ＲＯＭ３０３ｃのみならず、ＣＤ−ＲＯＭ、ＤＶＤなどの各種光ディスク、各種光磁気ディスク、フレキシブルディスクなどの各種磁気ディスク等、半導体メモリ等の各種方式のメディアを用いることができる。また、ネットワークＩＦ３０２を介してインターネットなどのネットワークからプログラムをダウンロードし、図示しないＨＤＤ（Hard Disk Drive）等の記憶装置にインストールするようにしてもよい。この場合に、送信側のサーバでプログラムを記憶している記憶装置も、この発明の記憶媒体である。なお、プログラムは、所定のＯＳ上で動作するものであってもよいし、その場合に後述の各種処理の一部の実行をＯＳに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやＯＳなどを構成する一群のプログラムファイルの一部として含まれるものであってもよい。
【００３６】
ＣＰＵ３０３ａは、各種制御プログラムが記憶されたＲＯＭ３０３ｃに従って、自装置１０１が備えるカメラ２０５、モータ３０１、ネットワークＩＦ３０２等のサブシステムにおける各種処理を制御するものである。
【００３７】
次に、図４および図５を用いて、ＲＯＭ３０３ｃに記憶されている各種のプログラムがＣＰＵ３０３ａに実行させる機能のうち、位置計測にかかる一連の処理を実現する特長的な機能について説明する。図４は、自装置の機能構成を示すブロック図である。図５は、自装置における位置計測処理の手順を示すフローチャートである。
【００３８】
図４に示すように、ＣＰＵ３０３ａは、ＲＯＭ３０３ｃに記憶されたプログラムに従うことにより、判定部４０１、計測部４０２、取得部４０３、記憶制御部４０４、計算部４０５、および通知部４０６を実現する。
【００３９】
まず、判定部４０１は、自装置１０１の移動または停止状態を判定する（ステップＳ５０１）。
【００４０】
本実施の形態では、判定部４０１は、カメラ２０５およびモータ３０１を制御して自装置１０１の周りの３６０度の風景の画像を撮影する。例えば、カメラ２０５が水平方向に６０度の画角を持つ場合、判定部４０１は、モータ３０１を制御してカメラ２０５を３０度ずつ回転させて固定し、所定時間（例えば、１０秒）毎に１２枚の風景の画像を撮影する。そして、判定部４０１は、撮影した画像を撮影時の撮影角度と関連付けてＲＡＭ３０３ｂに格納する。さらに、判定部４０１は、各撮影角度の画像を撮影する度に、当該撮影角度と関連付けて記憶されている前回撮影した画像と、今回撮影した画像と、を比較し、その比較結果に基づいて、自装置１０１の移動または停止を判定する。なお、カメラによる撮影は、消費エネルギーの削減という点から考えると好ましくない。しかし、周辺の人間検出など、他の目的で定期的に撮影するシステムを適用した装置であれば、その画像を副次的に利用して移動の検出に用いることで、追加のエネルギーは少なくて済むものと考えられる。
【００４１】
具体的には、判定部４０１は、前回撮影した画像と今回撮影した画像とを画素毎に画素値を比較し、予め測定しておいたカメラ２０５固有のノイズの振幅より画素値（モノクロ画像では画素の輝度、カラー画像では色と輝度）のレベルが大きく変化した変化画素（例えば、２５６階調の画像において、画素値が１０レベル以上変化した画素）をカウントする。そして、判定部４０１は、カウントした変化画素の数と、撮影した画像の全画素数と、の比率が所定値以上（例えば、３０％以上）であった場合に、自装置１０１が移動していると判定する。
【００４２】
なお、自装置１０１の周囲に人間等が居る場合、判定部４０１は、人間等の移動などにより自装置１０１の移動または停止を誤判定することが考えられるが、実際に移動していない自装置１０１を移動していると誤判定したとしても、その後、自装置１０１の移動または停止が再度判定されれば、正しい判定結果を取得できるので、不要な判定処理は増えるが、重大な問題にはならない。
【００４３】
また、本実施の形態では、判定部４０１は、自装置１０１が停止していると判定した場合（ステップＳ５０２：Ｎｏ）、停止処理を実行する（ステップＳ５０３）。なお、本実施の形態では、自装置１０１の停止期間を示す変数（以下、停止期間変数とする）がレジスタに記憶されているものとする。ここで、停止処理は、自装置１０１を停止していると判定する毎に、当該自装置１０１の停止期間変数をインクリメントする処理である。
【００４４】
さらに、本実施の形態では、判定部４０１は、停止期間変数のインクリメントにより当該停止期間変数が０になったか否かを判定する（ステップＳ５０４）。そして、停止期間変数が０である場合には（ステップＳ５０４：Ｙｅｓ）、距離計測範囲１０５内に位置する他装置１〜３（１０２〜１０４）と自装置１０１との間の距離計測処理へと移行する（ステップＳ５０６）。
【００４５】
一方、停止期間変数が０でないと判定した場合（ステップＳ５０４：Ｎｏ）、判定部４０１は、停止期間変数が所定値（例えば、３０）であるか否かを判定する（ステップＳ５０５）。そして、停止期間変数が３０である場合（ステップＳ５０５：Ｙｅｓ）、判定部４０１は、停止期間変数を０にクリアし、距離計測範囲１０５内に位置する他装置１〜３（１０２〜１０４）と自装置１０１との間の距離計測処理へと移行する（ステップＳ５０６）。なお、停止期間変数が３０より小さい場合（ステップＳ５０５：Ｎｏ）、ステップＳ５０１に示す処理に戻る。
【００４６】
これにより、自装置１０１が移動しているにも関わらず、装置の動作不良や通信不良などにより誤って自装置１０１が未だ停止していると判定した場合であっても、直ちに距離計測処理へ移行しないので、自装置１０１の移動または停止をより正確に判定した上で、距離計測処理へ移行することができる。
【００４７】
ここで、ステップＳ５０６に示す距離計測処理について詳細に説明する。なお、以下の説明においては、他装置１（１０２）と自装置１０１との間の距離計測処理について説明するが、その他の他装置と自装置１０１との間の距離計測処理についても同様に行うものとする。
【００４８】
まず、計測部４０２は、自装置１０１が停止していると判定した場合（停止期間変数が０であると判定した場合）（ステップＳ５０４：Ｙｅｓ）、自装置１０１が停止していると判定した時点で、他装置１（１０２）と自装置１０１の間の距離を含む相対位置情報の計測を開始する。
【００４９】
または、計測部４０２は、停止期間変数が３０であると判定した場合（ステップＳ５０５：Ｙｅｓ）、他装置１（１０２）と自装置１０１との間の距離を含む相対位置情報を計測する。これにより、計測部４０２は、所定時間毎に相対位置情報の計測を行うことになる。本実施の形態では、判定部４０１はカメラ２０５およびモータ３０１を制御して各撮影角度の画像を１０秒おきに撮影するため、計測部４０２は、自装置１０１が停止している場合であっても、１０秒×３０＝５分間隔で相対位置情報の計測を行う。
【００５０】
本実施の形態では、計測部４０２は、ＲＡＭ３０３ｂに格納されている各画像内の他装置１（１０２）に貼付されたマーカ２０３および２次元コード２０４を検索して相対位置情報を計測する。図６は、計測部により計測される相対位置情報の説明図である。図６に示すように、計測部４０２は、周知の画像認識ソフトウェアであるＶＲ技術を用いて、ＲＡＭ３０３ｂに格納されている各画像に含まれる他装置１（１０２）に貼付されたマーカ２０３を検出する。
【００５１】
そして、計測部４０２は、検出したマーカ２０３の形状から自装置１０１と他装置１（１０２）との間の距離、自装置１０１が属する座標系における他装置１（１０２）の方向（自装置１０１のカメラ２０４のカメラ光軸と他装置１（１０２）の位置である光学中心（またはマーカ２０３中心）とがなす角度）および傾き角度（他装置１（１０２）のマーカ２０３が貼付された面の垂線と自装置１０１のカメラ２０４のカメラ光軸とがなす角度）を含む相対位置情報を計測する。
【００５２】
なお、計測部４０２は、計測した他装置１（１０２）の傾き角度を、２次元コード２０４から取得した側面番号を用いて、自装置１０１の属する座標系における他装置の傾き角度に補正するものとする。または、計測部４０２は、計測した他装置１（１０２）の傾き角度を、画像と対応付けてＲＡＭ３０３ｂに格納されている撮影角度（カメラ光軸角度）を使って自装置１０１が属する座標系での傾き角度に補正してもよい。ここでは、カメラ２０５の回転による光学中心の移動は無視するものとする。
【００５３】
また、計測部４０２は、検出したマーカ２０３の内部領域に位置する２次元コード２０４を検出する。なお、２次元コード２０４の検出もマーカ２０３の検出と同様に、周知の画像認識ソフトウェアであるＶＲ技術を用いて行うものとする。２次元コード２０４の検出の結果、計測部４０２は、他装置１（１０２）のネットワークアドレスおよび側面番号を取得する。
【００５４】
次に、取得部４０３は、計測部４０２により相対位置情報を計測した他装置１（１０２）から、他装置１（１０２）が属する座標系における当該他装置１（１０２）の他装置の座標を示す位置情報（以下、他装置位置情報とする）を取得する。ここで、位置情報とは、装置が属する座標系における当該装置の位置を示す情報であり、例えば、装置が属する座標系における当該装置のｘ座標，ｙ座標、および装置が属する座標系における当該装置の方向を示す角度等である。
【００５５】
本実施の形態では、取得部４０３は、例えば、他装置１（１０２）の所定のポート（例えば、8000番）とＴＣＰプロトコルにより通信を確立してコマンドおよび複数のパラメータからなる一行のテキストデータを他装置１（１０２）から取得し、当該テキストデータに含まれる最初のコマンドの内容に応じて処理を振り分けるものとする。
【００５６】
具体的には、取得部４０３は、計測部４０２により２次元コード２０４から検出したネットワークアドレスを用いて、他装置１（１０２）が属する座標系における他装置位置情報を問い合せるコマンド[QUERY]のみを含むテキストデータを送信する。そして、取得部４０３は、他装置位置情報を通知するコマンド[POS]およびパラメータ[ｘ座標][ｙ座標][方向]を含むテキストデータを他装置１（１０２）から取得する。
【００５７】
記憶制御部４０４は、計測部４０２により計測した相対位置情報および取得部４０３により取得した他装置位置情報を他装置毎にＲＡＭ３０３ｂに記憶する。本実施の形態では、記憶制御部４０４は、計測部４０２により計測した相対位置情報および取得部４０３により取得した他装置位置情報を、相対位置情報を計測した他装置毎に記録したデータリストを作成する。
【００５８】
図７は、相対位置情報と他装置位置情報とを他装置毎に記録するデータリストの一例を示す図である。本実施の形態では、記憶制御部４０４は、計測部４０２により計測した相対位置情報（距離、方向、傾き角度）と、他装置に貼付された２次元コード２０４から取得したネットワークアドレスと、取得部４０３により取得した他装置位置情報（パラメータ[ｘ座標][ｙ座標][方向]）と、を他装置（例えば、装置Ｂ，装置Ｃ，．．．）毎に記録するデータリストを作成する。
【００５９】
そして、記憶制御部４０４は、作成したデータリストに時系列にＲＡＭ３０３ｂに記憶する。なお、取得部４０３は、計測部４０２により相対位置情報を計測した他装置の他装置位置情報がＲＡＭ３０３ｂに記憶されているデータリストに記録されていない場合に、上述したように、他装置から他装置位置情報を取得するものとする。一方、取得部４０３は、計測部４０２により相対位置情報を計測した他装置の他装置位置情報がＲＡＭ３０３ｂに記憶されているデータリストに記録されている場合、当該データリストから他装置位置情報を取得（コピー）するものとする。
【００６０】
計算部４０５は、ＲＡＭ３０３ｂに記憶されているデータリストに記録されている他装置の相対位置情報が含む距離および他装置位置情報が示す座標を用いて、当該データリストに相対位置情報が記録された他装置が属する座標系における自装置の座標を示す位置情報（以下、自装置位置情報とする）を計算する（ステップＳ５０７）。
【００６１】
本実施の形態では、計算部４０５は、周知の非線型最適化法（例えば、シンプレックス法、最急降下法など）を用いた式であり、式（１）に示す自装置位置情報の評価関数により、他装置が属する座標系における自装置位置情報が示す座標と他装置位置情報が示す座標との間の距離と、相対位置情報が含む距離と、の誤差（評価値）が最も小さくなる座標を示す自装置位置情報を計算する。
【００６２】
【数１】
2010085212.tif 000003
i・・・・・・・・相対位置情報を計測した他装置の番号
di・・・・・・・・相対位置情報が含む距離
(xi,yi)・・・・・他装置位置情報
(x,y)・・・・・・自装置位置情報
f(x,y)・・・・・自装置位置情報の評価関数（他装置が属する座標系における自装置位置情報が示す座標と他装置位置情報が示す座標との間の距離と、計測部４０２により計測した相対位置情報が含む距離と、の誤差を表す関数）
【００６３】
なお、データリストに含まれる相対位置情報が傾き角度を含み、かつ他装置位置情報が示す方向を含んでいる場合、計算部４０５は、相対位置情報が含む傾き角度および他装置位置情報が示す角度を用いて、他装置が属する座標系における自装置１０１の方向を示す角度をさらに示す自装置位置情報を計算する。
【００６４】
本実施の形態では、計算部４０５は、周知の非線型最適化法(例えば、シンプレックス法、最急降下法など)を用いた式であり、式（２）に示す自デバイス位置情報の評価関数による評価値が最も小さくなる座標および角度を示す自デバイス位置情報を計算する。
【００６５】
【数２】
2010085212.tif 000004
i・・・・・・・・・・相対位置情報を計測した他装置の番号
di・・・・・・・・・・相対位置情報が含む距離
ai・・・・・・・・・・相対位置情報が含む傾き角度
(xi,yi),diri・・・・・他装置位置情報
(x,y)・・・・・・・・自装置位置情報
f(x,y)・・・・・・・・自装置位置情報の評価関数
なお、式（２）において、右辺の第一項は、自装置１０１の座標と他装置の座標との間の距離と、計測部４０２により計測した相対位置情報が含む距離と、の誤差を表す項である。また、右辺の第二項は、他装置が属する座標系における自装置１０１の方向である角度に相対位置情報が含む傾き角度を加算した角度と、他装置位置情報が示す角度と、の誤差を表す項である。式（２）は、距離に加えて角度を評価する項が含まれているため、距離を評価する項しか持たない場合（式（１））に発生する鏡像関係の配置での評価値を上げ、正しい方を選択することができる。
【００６６】
ここで、図８を用いて、鏡像関係について説明する。図８は、鏡像関係の一例を示す説明図である。鏡像関係とは、図８に示すように、自装置１０１が他装置１（１０２）と他装置２（１０３）との間に位置し、かつ他装置１（１０２）および他装置２（１０３）からの距離が共にｄである場合に、自装置１０１がＡ点またはＢ点に位置することが考えられる場合を言う。この鏡像関係が発生した場合、距離を評価する項しか持たない式（１）では、自装置１０１の位置がＡ点かＢ点かを正しく選択することができない。一方、式（２）は、上述したように、距離に加えて角度を評価する項が含まれているため、鏡像関係が発生した場合でも正しい自装置１０１の位置情報を計算することができる。
【００６７】
また、データリストに含まれる相対位置情報が方向および傾き角度を含む場合、計算部４０５は、相対位置情報が含む方向および傾き角度を用いて、他装置が属する座標系における自装置の方向（角度）をさらに示す自装置位置情報を計算することができる。
【００６８】
本実施の形態では、計算部４０５は、周知の非線型最適化法（例えば、シンプレックス法、最急降下法など）を用いた式であり、式（３）に示す自装置位置情報の評価関数による評価値が最も小さくなる座標および角度を示す自装置位置情報を計算する。
【００６９】
【数３】
2010085212.tif 000005
i・・・・・・・・・相対位置情報を計測した他装置の番号
di・・・・・・・・・相対位置情報が含む距離
ai・・・・・・・・・相対位置情報が含む角度
(xi,yi)・・・・・・・他装置位置情報
(x,y),dir・・・・・自装置位置情報
r()・・・・・・・・角度の差を±180度におさめる関数
s()・・・・・・・・角度評価関数
なお、式（３）において、右辺の第一項は、自装置１０１の座標と他装置の座標との間の距離と、計測部４０５により計測した相対位置情報が示す距離と、の誤差を表す項である。また、右辺の第二項は、他装置が属する座標系における自装置１０１の座標と受信した他装置位置情報が示す座標とがなす辺の傾きと、他装置が属する座標系における自装置１０１の方向（角度）に相対位置情報が示す角度を加算した角度と、の誤差を表す項である。本実施の形態において、右辺の第二項は、鏡像関係を解決するための評価関数であるが、計測部４０５による角度の計測精度は低いため、右辺の第二項の重みを０．１と小さくしている。また、角度の誤差が小さい場合（例えば、±４５度以下）には、重みをさらに小さくしてもよい。
【００７０】
また、通知部４０６は、自装置１０１が移動していると判定した場合（ステップＳ５０２：Ｙｅｓ）、移動処理を実行する（ステップＳ５０８）。本実施の形態では、通知部４０６は、自装置１０１が移動していると判定した場合（ステップＳ５０２：Ｙｅｓ）、ＲＡＭ３０３ｂに記憶されるデータリストに記録されている他装置のネットワークアドレスを用いて、自装置１０１が移動していることを示す通知（以下、移動通知）を当該他装置と互いに通知する。
【００７１】
本実施の形態では、通知部４０６は、他装置１〜３（１０２〜１０４）の所定のポート（例えば、8000番）とＴＣＰプロトコルにより通信を確立して、移動通知であるコマンド[MOVE]のみを含むテキストデータを他装置１〜３（１０２〜１０４）に通知し、さらに他装置１〜３（１０２〜１０４）からコマンド[MOVE]のみを含むテキストデータの通知を受けるものとする。なお、通知部４０６が他装置１〜３（１０２〜１０４）から移動通知であるコマンド[MOVE]のみを含むテキストデータの通知を受けた場合、記憶制御部４０４は、ＲＡＭ３０３ｂに記憶したデータリストから、移動通知の通知元である他装置１〜３（１０２〜１０４）の相対位置情報および他装置位置情報を削除するものとする。これにより、例えば、他装置１（１０２）から移動通知を受けた場合、取得部４０３が移動前の他装置１（１０２）の他装置位置情報をデータリストから取得することがなくなり、他装置１（１０２）の現在位置を示す他装置位置情報が記録されているリストデータを用いて自装置位置情報を計算することができる。
【００７２】
また、通知部４０６は、計算部４０５により計算した自装置位置情報を他装置１〜３（１０２〜１０４）と互いに通知する。本実施の形態では、通知部４０６は、自装置１０１が属する座標系における自装置位置情報を問い合わせるコマンド［QUERY］のみを含むテキストデータを他装置１〜３（１０２〜１０４）から受信する。このテキストデータを受信した場合、通知部４０６は、計算部４０５により計算した自装置位置情報を通知するコマンド[POS]およびパラメータ[ｘ座標][ｙ座標][角度]を含むテキストデータを他装置１〜３（１０２〜１０４）に送信する。また、自装置位置情報が計算されていない場合、通知部４０６は、[POS NONE]を他装置１〜３（１０２〜１０４）に送信する。
【００７３】
なお、本実施の形態では、判定部４０１は、自装置１０１が移動していると判定した場合（ステップＳ５０２：Ｙｅｓ）、レジスタに記憶されている停止期間変数に−１を代入するものとする。
【００７４】
ここで、図９を用いて、本実施の形態にかかる位置計測システム１００による位置計測処理により得られる効果について詳細に説明する。図９は、位置計測処理が実行される場面の説明図である。
【００７５】
図９（ａ）は、装置Ａおよび装置Ｂが属する座標系ＡＢと、装置Ｃおよび装置Ｄが属する座標系ＣＤと、が存在する状態を示している。なお、装置間を結ぶ線は、各装置が距離計測可能範囲１０５に位置していることを示している。図９（ａ）においては、装置Ｂが装置Ｃの距離計測可能範囲１０５内に位置しないため、２つの座標系ができている。よって、装置Ｃは、座標系ＣＤにおける自装置位置情報を計算することはできるが、座標系ＡＢにおける自装置位置情報を計算することはできない。
【００７６】
図９（ｂ）は、図９（ａ）に示す状態から装置Ｂが移動して装置Ｃの距離計測範囲１０５内に移動した状態を示している。図９（ｂ）において、装置Ｃは、図９（ａ）に示す状態から装置Ｂが移動して装置Ｃの距離計測可能範囲１０５内で停止した後に、リストデータを作成した場合、座標系ＡＢＣＤにおける自装置位置情報を正確に計算することができる。また、装置Ｂは、自装置が停止していると判定した後にリストデータを作成するため、座標系ＡＢＣＤにおける自装置位置情報を正確に計算することができる。
【００７７】
しかし、図９（ｃ）に示すように、装置Ｃが当該装置Ｄの移動前に作成したリストデータを用いて自装置位置情報を計算した場合、無効な装置Ｄの他装置位置情報を用いて自装置位置情報を計算されるため、計算された自装置位置情報は、座標系ＡＢにおける座標および座標系ＣＤにおける座標の両方に影響された装置Ｃの自装置位置情報が計算され、正確な自装置位置情報を迅速に得ることができなかった。
【００７８】
しかし、本実施の形態にかかる位置計測システム１００では、装置の移動により装置間の位置関係が変化する場合であっても、移動前の無効なリストデータを用いずに、自装置位置情報を計算することができるので、正確な自装置位置情報を迅速に得ることができる。
【００７９】
また、従来、ノートＰＣなどの可搬型ではあるが、稼働時には通常位置を固定して利用する装置は、連続的にまたは定期的に距離計測を実行し、位置情報の再計算を行うことにより自装置位置情報を取得していた。なお、このような装置も、移動後に、その位置に適した動作（例えば、近隣のプリンタやモニタなど周辺装置と接続するなど）を行うため、稼働時の自装置位置情報を取得することに意味がある。これらの装置は、常に距離計測および位置計算を続けるために、エネルギーや通信帯域を消費してしまう、という問題があった。また、当該装置がバッテリーで動作する場合、その稼働時間が短くなっていた。さらに、通信帯域の消費は、位置計算以外のデータ通信の速度を減少させる可能性もある。
【００８０】
しかし、本実施の形態にかかる位置計測システム１００によれば、自装置が停止している期間のみ、距離計測および位置計算を行うので、移動と停止を繰りかえす装置において、エネルギーや通信帯域の消費を最低限に抑えながら、現在の自装置位置情報を取得することができる。
【００８１】
（第２実施の形態）
本実施の形態にかかる位置計測システムに含まれる自装置は、発光素子および受光素子を備え、受光素子の出力に従って、自装置の移動または停止を判定するものである。なお、位置計測システムおよび当該位置計測システムに含まれるデバイスの構成については、第１実施の形態とほぼ同様であるため、第１実施の形態と異なる部分の処理のみを説明する。
【００８２】
まず、図１０を用いて、本実施の形態にかかる自装置１０１の概略について説明する。図１０は、本実施の形態にかかる自装置の概観を示す概略図である。
【００８３】
本実施の形態にかかる自装置１０１は、自装置１０１の設置面である床面１００４に対して発光する発光素子１００１と、発光素子１００１から発光された光の床面１００４の一点である照射点１００５からの反射光を受光する受光素子１００２と、を備える。
【００８４】
次に、本実施の形態にかかる判定部４０１における処理について説明する。本実施の形態にかかる判定部４０１は、受光素子１００２の受光光量に基づいて自装置１０１の移動または停止を判定するものである。具体的には、判定部４０１は、受光素子１００２の受光光量の変化が所定の閾値以上の場合に、自装置１０１が移動していると判定する。
【００８５】
つまり、発光素子１００１から一定の光量の光を発光している場合、自装置１０１が停止期間中、受光素子１００２の受光光量は、変化しないものと考えられる。しかし、自装置１０１が移動した場合には、床面１００４の照射点１００５も移動するため、反射光の光量も微妙に変化する。
【００８６】
そこで、本実施の形態では、判定部４０１は、受光素子１００２の受光光量の変化に基づいて自装置の移動または停止を判定している。なお、この方式の判定方法は、図１０に示すようなキャスタ１００３を介して床に設置する机、椅子、衝立、棚などの形状を持つ装置に適している。
【００８７】
（第３実施の形態）
本実施の形態にかかる位置計測システムにかかる自装置は、加速度センサからの出力に基づいて自装置の移動または停止を判定するものである。なお、位置計測システムおよび当該位置計測システムに含まれるデバイスの構成については、第１実施の形態とほぼ同様であるため、第１実施の形態と異なる部分の処理のみを説明する。
【００８８】
まず、本実施の形態にかかる自装置１０１の概略について説明する。
【００８９】
本実施の形態にかかる自装置１０１は、図示しないが、加速度センサを備えている。本実施の形態では、自装置１０１には、三軸加速度センサが搭載され、当該三軸加速度センサは固定具等を用いて自装置１０１に固定されているものとする。
【００９０】
次に、本実施の形態にかかる判定部４０１における処理について説明する。本実施の形態にかかる判定部４０１は、三軸加速度センサからの出力に基づいて自装置１０１の移動または停止を判定するものである。
【００９１】
具体的には、判定部４０１は、定期的（例えば、１ｓ間隔）に自装置１０１の加速度を計測する。そして、判定部４０１は、三加速度センサの出力ベクトルと、予め計測しておいた重力加速度ベクトルと、の差が所定回数（例えば、３回）連続して所定の閾値以下であった場合に、自装置１０１が停止していると判定する。
【００９２】
理論上、一定速度での運動中、自装置１０１の加速度は０（重力加速度のみ）となるが、人間やキャスタの回転による移動など、一般的な自装置１０１の移動では、移動中には振動が発生し、加速度（＝０）が長時間続くことはまれである。そこで、判定部４０１は、加速度（＝０）が所定回数連続して計測された場合を停止していると判定し、それ以外を移動と判定することにより、自装置１０１の移動状態をほぼ正確に検出している。
【図面の簡単な説明】
【００９３】
【図１】第１実施の形態にかかる位置計測システムの構成を示すブロック図である。
【図２】自装置の概観を示す概略図である。
【図３】第１実施の形態にかかる自装置のハードウェア構成を示すブロック図である。
【図４】自装置の機能構成を示すブロック図である。
【図５】自装置における位置計測処理の手順を示すフローチャートである。
【図６】計測部により計測される相対位置情報の説明図である。
【図７】相対位置情報と他装置位置情報とを他装置毎に記録するデータリストの一例を示す図である。
【図８】鏡像関係の一例を示す説明図である。
【図９】位置計測処理が実行される場面の説明図である。
【図１０】第２実施の形態にかかる自装置の概観を示す概略図である。
【符号の説明】
【００９４】
１００  位置計測システム
１０１  自装置
１０２〜１０４  他装置
２０１  下部筐体
２０２  上部筐体
２０３  マーカ
２０４  ２次元コード
２０５  カメラ
３０１  モータ
３０２  ネットワークＩＦ
３０３  コントローラ
３０３ａ  ＣＰＵ
３０３ｂ  ＲＡＭ
３０３ｃ  ＲＯＭ
４０１  判定部
４０２  計測部
４０３  取得部
４０４  記憶制御部
４０５  計算部
４０６  通知部
１００１  発光素子
１００２  受光素子
１００３  キャスタ
【図１】
2010085212.tif 000006
【図２】
2010085212.tif 000007
【図３】
2010085212.tif 000008
【図４】
2010085212.tif 000009
【図５】
2010085212.tif 000010
【図６】
2010085212.tif 000011
【図７】
2010085212.tif 000012
【図８】
2010085212.tif 000013
【図９】
2010085212.tif 000014
【図１０】
2010085212.tif 000015