(57)【特許請求の範囲】
【請求項１】
自身の位置が特定されている複数のマスタノードと、自身の位置が特定されていない複数のスレーブノードとが通信可能であり、
各前記スレーブノードは、各前記マスタノードとの間でやりとりされる時刻同期用パケットの送受信時刻をもとに、各前記マスタノードとの間の距離情報を求め、前記時刻同期用パケットの送受信相手である前記マスタノードの位置情報を基準として、前記求めた距離情報から自身の位置情報を特定することで前記マスタノードへと移行し、
各前記マスタノードは、各前記スレーブノードに送信する前記時刻同期用パケットにおいて、自身の時計時刻と自身の位置情報とを各前記スレーブノードに通知することとし、
各前記スレーブノードは、通信可能な前記複数のマスタノードのうちの自身の位置情報を特定するための３つの前記マスタノードを選択するときに、次数ｎが少ないノードを優先的に選択し、
前記マスタノードの次数ｎとは、ＧＮＳＳ衛星から直接電波を受信した前記マスタノードの次数を１とし、ｎ次の前記マスタノードから前記時刻同期用パケットを受信することで新たに移行した前記マスタノードの次数をｎ＋１次とすることを特徴とする
位置特定システム。
【請求項２】
自身の位置が特定されている複数のマスタノードと、自身の位置が特定されていない複数のスレーブノードとが通信可能であり、
各前記スレーブノードは、各前記マスタノードとの間でやりとりされる時刻同期用パケットの送受信時刻をもとに、各前記マスタノードとの間の距離情報を求め、前記時刻同期用パケットの送受信相手である前記マスタノードの位置情報を基準として、前記求めた距離情報から自身の位置情報を特定することで前記マスタノードへと移行し、
各前記マスタノードは、各前記スレーブノードに送信する前記時刻同期用パケットにおいて、自身の時計時刻と自身の位置情報とを各前記スレーブノードに通知することとし、
各前記スレーブノードは、前記マスタノードとの間でやりとりされる前記時刻同期用パケットの送受信時刻をもとに、前記マスタノードの時計時刻に対する自身の時計時刻のずれを計算し、そのずれを無くして前記マスタノードの時計時刻に合わせるように、自身の時計時刻を補正し、
自身の時計時刻を補正してから所定時間の経過前は、自身の時計時刻の補正を省略し、かつ、前記スレーブノードと前記マスタノードとの間でやりとりされる時刻同期用パケットを片道パケットとし、
自身の時計時刻を補正してから所定時間の経過後は、自身の時計時刻の補正を許可し、かつ、前記スレーブノードと前記マスタノードとの間でやりとりされる時刻同期用パケットを往復パケットとすることを特徴とする
位置特定システム。
【請求項３】
前記時刻同期用パケットは、ＰＴＰ（Precision Time Protocol）のパケットであることを特徴とする請求項１または請求項２に記載の位置特定システム。
【請求項４】
位置特定システムは、さらに、前記マスタノードおよび前記スレーブノードとそれぞれ通信可能な管理装置を含めて構成され、
前記管理装置は、前記マスタノードおよび前記スレーブノードからそれぞれ前記時刻同期用パケットの送受信時刻の通知を受け、前記マスタノードと前記スレーブノードとの間の前記距離情報の計算と、前記スレーブノードの位置情報の計算とを前記スレーブノードの代わりに実行することを特徴とする
請求項１ないし請求項３のいずれか１項に記載の位置特定システム。
【請求項５】
前記スレーブノードは、特定の前記マスタノードとの間で前記時刻同期用パケットの送受信を複数回試行し、その試行結果のうちの最も送受信の時間が短い試行を元に、特定の前記マスタノードとの間の前記距離情報を求めることを特徴とする
請求項１ないし請求項４のいずれか１項に記載の位置特定システム。
【請求項６】
前記スレーブノードは、
通信可能な前記マスタノードの集合のうちの３つの前記マスタノードを選択してノードグループを形成する処理において、前記ノードグループに属する前記マスタノードの組み合わせが異なる複数の前記ノードグループを形成し、
各前記ノードグループに属する前記マスタノードの位置情報を基準として求めた前記ノードグループごとの自身の位置情報の範囲のうちの重複範囲から自身の位置情報を決定し、
各前記ノードグループに属する前記マスタノードとの前記距離情報が自身の前記スレーブノードから近いほど、そのマスタノードの個別の信頼度が高く評価されるルールにより求めた、各ノードグループに属する前記マスタノードの個別の信頼度をもとに、各ノードグループの信頼度を計算し、前記重複範囲から自身の位置情報を決定するときに、信頼度が高い前記ノードグループから求めた位置情報の範囲を優先することを特徴とする
請求項１ないし請求項５のいずれか１項に記載の位置特定システム。
【請求項７】
自身の位置が特定されている複数のマスタノードと、自身の位置が特定されていない複数のスレーブノードとが通信可能に形成されている位置特定システムによって実行され、
各前記スレーブノードは、各前記マスタノードとの間でやりとりされる時刻同期用パケットの送受信時刻をもとに、各前記マスタノードとの間の距離情報を求め、前記時刻同期用パケットの送受信相手である前記マスタノードの位置情報を基準として、前記求めた距離情報から自身の位置情報を特定することで前記マスタノードへと移行し、
各前記マスタノードは、各前記スレーブノードに送信する前記時刻同期用パケットにおいて、自身の時計時刻と自身の位置情報を各前記スレーブノードに通知することとし、
各前記スレーブノードは、通信可能な前記複数のマスタノードのうちの自身の位置情報を特定するための３つの前記マスタノードを選択するときに、次数ｎが少ないノードを優先的に選択し、
前記マスタノードの次数ｎとは、ＧＮＳＳ衛星から直接電波を受信した前記マスタノードの次数を１とし、ｎ次の前記マスタノードから前記時刻同期用パケットを受信することで新たに移行した前記マスタノードの次数をｎ＋１次とすることを特徴とする
位置特定方法。
【請求項８】
自身の位置が特定されている複数のマスタノードと、自身の位置が特定されていない複数のスレーブノードとが通信可能に形成されている位置特定システムによって実行され、
各前記スレーブノードは、各前記マスタノードとの間でやりとりされる時刻同期用パケットの送受信時刻をもとに、各前記マスタノードとの間の距離情報を求め、前記時刻同期用パケットの送受信相手である前記マスタノードの位置情報を基準として、前記求めた距離情報から自身の位置情報を特定することで前記マスタノードへと移行し、
各前記マスタノードは、各前記スレーブノードに送信する前記時刻同期用パケットにおいて、自身の時計時刻と自身の位置情報を各前記スレーブノードに通知することとし、
各前記スレーブノードは、前記マスタノードとの間でやりとりされる前記時刻同期用パケットの送受信時刻をもとに、前記マスタノードの時計時刻に対する自身の時計時刻のずれを計算し、そのずれを無くして前記マスタノードの時計時刻に合わせるように、自身の時計時刻を補正し、
自身の時計時刻を補正してから所定時間の経過前は、自身の時計時刻の補正を省略し、かつ、前記スレーブノードと前記マスタノードとの間でやりとりされる時刻同期用パケットを片道パケットとし、
自身の時計時刻を補正してから所定時間の経過後は、自身の時計時刻の補正を許可し、かつ、前記スレーブノードと前記マスタノードとの間でやりとりされる時刻同期用パケットを往復パケットとすることを特徴とする
位置特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置特定システム、および、位置特定方法の技術に関する。
【背景技術】
【０００２】
カーナビなどで自装置の位置を特定するために、ＧＰＳ（Global Positioning System）などのＧＮＳＳ（Global Navigation Satellite System）が普及している。
図１０は、ＧＮＳＳ衛星から電波を受信する各ノードを示す。
各ノードＡ，Ｂ，Ｃは、ＧＮＳＳから受信した情報をもとに、自身の位置を特定する。ＧＮＳＳ衛星の時計時刻とノードの時刻が同期（一致）されているときには、ノードは３つ以上のＧＮＳＳ衛星を捕捉すればよい。しかし、ノードＺのように、障害物や天候不順などにより衛星を３つ同時に捕捉できない場合や、屋内などのＧＮＳＳの電波を受信することができない場合には、ノードとＧＮＳＳ衛星との位置関係を正確に求めることができない。
【０００３】
図１１は、３つのＧＮＳＳ衛星や３つの基地局など、位置が既知である３点Ａ，Ｂ，Ｃから受信した電波の到達時間（ＴｏＡ:Time of Arrival）から、ノードＴの位置を特定する計算方法を示す。各３点の座標（Ｘ，Ｙ，Ｚ）と、ノードＴが各基地局から受信した電波の到達時間を元に計算した各基地局〜ノードＴ間の距離Ｌとをもとに、式（１）に示す３つの連立方程式を解くことにより、ノードＴの位置（ｘ，ｙ，ｚ）を求めることができる。
【０００４】
ここで、ノードＴの位置の精度は距離Ｌの精度に依存し、かつ、距離Ｌは電波の到達時間から求める。よって、基地局の時計時刻とノードＴの時計時刻とのズレが大きいほど、電波の到達時間に誤差が多く含まれることで、ノードＴの位置精度も劣化してしまう。
そのため、ノードＴは、基地局と通信する前に、正しい時刻を提供するサーバから正しい時刻を通知してもらい、自身の時計時刻を同期（補正）する必要がある。この時刻同期プロトコルとして、例えば、非特許文献１に記載のＰＴＰ（Precision Time Protocol）が提案されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ＩＥＥＥ（The Institute of Electrical and Electronics Engineers, Inc）、「IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems」、IEEE Std 1588-2008(Revision of IEEE Std 1588-2002)
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図１０で示したような天候不順な地域に位置するノードや、高層ビル群や地下街などのＧＮＳＳ衛星の捕捉が困難な地域に位置するノードも存在する。図１１で示したように３点のＧＮＳＳ衛星を捕捉しないと、連立方程式を解くことができず、ノードＴの位置を特定できない。しかし、これらのノードに対しても高精度に位置を特定したいというニーズがある。また、ＧＮＳＳアンテナを具備しないような安価な端末でも、高精度に位置を特定したいというニーズがある。
【０００７】
そこで、本発明は、ＧＮＳＳ衛星の捕捉が困難な状況下であっても、高精度に位置を特定することを、主な課題とする。
【課題を解決するための手段】
【０００８】
前記課題を解決するために、本発明の位置特定システムは、
自身の位置が特定されている複数のマスタノードと、自身の位置が特定されていない複数のスレーブノードとが通信可能であり、
各前記スレーブノードが、各前記マスタノードとの間でやりとりされる時刻同期用パケットの送受信時刻をもとに、各前記マスタノードとの間の距離情報を求め、前記時刻同期用パケットの送受信相手である前記マスタノードの位置情報を基準として、前記求めた距離情報から自身の位置情報を特定することで前記マスタノードへと移行し、
各前記マスタノードが、各前記スレーブノードに送信する前記時刻同期用パケットにおいて、自身の時計時刻と自身の位置情報とを各前記スレーブノードに通知することとし、
各前記スレーブノードは、通信可能な前記複数のマスタノードのうちの自身の位置情報を特定するための３つの前記マスタノードを選択するときに、次数ｎが少ないノードを優先的に選択し、
前記マスタノードの次数ｎとは、ＧＮＳＳ衛星から直接電波を受信した前記マスタノードの次数を１とし、ｎ次の前記マスタノードから前記時刻同期用パケットを受信することで新たに移行した前記マスタノードの次数をｎ＋１次とすることを特徴とする。
【０００９】
これにより、スレーブノードを徐々にマスタノードへと以降（伝搬）していくことにより、高層ビル群や地下街などのＧＮＳＳ衛星の捕捉が困難な地域であっても、広範囲に位置特定ができる。
【００１０】
本発明は、前記時刻同期用パケットが、ＰＴＰ（Precision Time Protocol）のパケットであることを特徴とする。
【００１１】
これにより、ＰＴＰのしくみを用いて、広範囲に位置特定ができる。
【００１２】
本発明は、自身の位置が特定されている複数のマスタノードと、自身の位置が特定されていない複数のスレーブノードとが通信可能であり、
各前記スレーブノードは、各前記マスタノードとの間でやりとりされる時刻同期用パケットの送受信時刻をもとに、各前記マスタノードとの間の距離情報を求め、前記時刻同期用パケットの送受信相手である前記マスタノードの位置情報を基準として、前記求めた距離情報から自身の位置情報を特定することで前記マスタノードへと移行し、
各前記マスタノードは、各前記スレーブノードに送信する前記時刻同期用パケットにおいて、自身の時計時刻と自身の位置情報とを各前記スレーブノードに通知することとし、
各前記スレーブノードが、前記マスタノードとの間でやりとりされる前記時刻同期用パケットの送受信時刻をもとに、前記マスタノードの時計時刻に対する自身の時計時刻のずれを計算し、そのずれを無くして前記マスタノードの時計時刻に合わせるように、自身の時計時刻を補正し、
自身の時計時刻を補正してから所定時間の経過前は、自身の時計時刻の補正を省略し、かつ、前記スレーブノードと前記マスタノードとの間でやりとりされる時刻同期用パケットを片道パケットとし、
自身の時計時刻を補正してから所定時間の経過後は、自身の時計時刻の補正を許可し、かつ、前記スレーブノードと前記マスタノードとの間でやりとりされる時刻同期用パケットを往復パケットとすることを特徴とする。
【００１３】
これにより、スレーブノードを徐々にマスタノードへと以降（伝搬）していくことにより、高層ビル群や地下街などのＧＮＳＳ衛星の捕捉が困難な地域であっても、広範囲に位置特定ができる。
そして、正しい時刻を提供するサーバを別途用意しなくても、マスタノードから正確な時計時刻が提供されるので、時刻同期サーバを用意する時間とコストを削減できる。
さらに、マスタノードとスレーブノードとの間の時計時刻のずれを考慮しなくていい期間では、時刻同期用パケットを往復させなくても、片道のパケット通信だけで、簡易的にノード間距離を求めることができる。
【００１６】
本発明は、位置特定システムが、さらに、前記マスタノードおよび前記スレーブノードとそれぞれ通信可能な管理装置を含めて構成され、
前記管理装置が、前記マスタノードおよび前記スレーブノードからそれぞれ前記時刻同期用パケットの送受信時刻の通知を受け、前記マスタノードと前記スレーブノードとの間の前記距離情報の計算と、前記スレーブノードの位置情報の計算とを前記スレーブノードの代わりに実行することを特徴とする。
【００１７】
これにより、各ノードは、距離情報や位置情報の計算を自ら実行しなくて済むので、携帯端末などの低性能な端末もノードとして活用することができる。
【００１８】
本発明は、前記スレーブノードが、特定の前記マスタノードとの間で前記時刻同期用パケットの送受信を複数回試行し、その試行結果のうちの最も送受信の時間が短い試行を元に、特定の前記マスタノードとの間の前記距離情報を求めることを特徴とする。
【００１９】
これにより、電波のノイズなどにより通信状況が揺らぐ場合でも、高精度に位置情報を計算できる。
【００２０】
本発明は、前記スレーブノードが、
通信可能な前記マスタノードの集合のうちの３つの前記マスタノードを選択してノードグループを形成する処理において、前記ノードグループに属する前記マスタノードの組み合わせが異なる複数の前記ノードグループを形成し、
各前記ノードグループに属する前記マスタノードの位置情報を基準として求めた前記ノードグループごとの自身の位置情報の範囲のうちの重複範囲から自身の位置情報を決定し、
各前記ノードグループに属する前記マスタノードとの前記距離情報が自身の前記スレーブノードから近いほど、そのマスタノードの個別の信頼度が高く評価されるルールにより求めた、各ノードグループに属する前記マスタノードの個別の信頼度をもとに、各ノードグループの信頼度を計算し、前記重複範囲から自身の位置情報を決定するときに、信頼度が高い前記ノードグループから求めた位置情報の範囲を優先することを特徴とする。
【００２１】
これにより、４つ以上のマスタノードと通信可能なスレーブノードは、その通信相手のマスタノードの組み合わせを有効活用することで、より高精度に自身の位置情報を決定することができ、さらに、自身に近いマスタノードを優遇して自身の位置情報を決定することで、位置情報の計算精度を向上できる。
【発明の効果】
【００２２】
本発明によれば、ＧＮＳＳ衛星の捕捉が困難な状況下であっても、高精度に位置を特定することができる。
【図面の簡単な説明】
【００２３】
【図１】図１（ａ）は、ＧＮＳＳ衛星から直接電波を受信したノードＡ〜Ｃが基地局となる段階を示す。図１（ｂ）は、基地局のノードＡ〜Ｃから電波を受信したノードＤ，Ｅが新たな基地局となる段階を示す。
【図２】図２（ａ）は、基地局のノードＡ，Ｂ，Ｄから電波を受信したノードＦが新たな基地局となる段階を示す。図２（ｂ）は、基地局のノードＢ，Ｄ，Ｆから電波を受信したノードＧが新たな基地局となる段階を示す。
【図３】本実施形態に係わる位置特定システムの構成図である。
【図４】本実施形態に係わる位置特定システムの図３とは別形態を示す構成図である。
【図５】本実施形態に係わるスレーブノードに着目した位置特定処理を示すフローチャートである。
【図６】本実施形態に係わる時刻同期部および座標計算部の計算内容の詳細を示す説明図である。
【図７】図７（ａ）は、スレーブの位置範囲Ｒ１を求める例を示す。図７（ｂ）は、スレーブの位置範囲Ｒ２を求める例を示す。
【図８】図８（ａ）は、スレーブの位置範囲Ｒ３を求める例を示す。図８（ｂ）は、スレーブの位置Ｆを求める例を示す。
【図９】図９（ａ）は、図８（ａ）の位置範囲Ｒ３を、３回の試行（Ｒ３ａ〜Ｒ３ｃ）で絞り込む旨を示す。図９（ｂ）は、図８（ｂ）の範囲Ｒ１〜Ｒ３の重複領域ＲｚからスレーブノードＦの位置を特定するときに、ノードグループの信頼度を参照する例を示す。
【図１０】本実施形態に係わるＧＮＳＳ衛星から電波を受信する各ノードを示す。
【図１１】本実施形態に係わる３点のＧＮＳＳ衛星Ａ，Ｂ，Ｃから受信した電波の到達時間（ＴｏＡ:Time of Arrival）から、ノードＴの位置を特定する計算方法を示す。
【発明を実施するための形態】
【００２４】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
【００２５】
図１（ａ）は、ＧＮＳＳ衛星から直接電波を受信したノードＡ〜Ｃが基地局となる段階を示す。
まず、通信機能を有する計算機であるノードについて、２種類のノードを以下のように定義する。
ノードＡ，Ｂ，Ｃは、実線の丸で記載されている。これらのノードは、既に自身の位置が特定されており、かつ、自身の位置情報を他のノードに通知することで、他のノードの位置特定を補助するときの基地局（基準点）となるマスタノード１（詳細は図３）である。
ノードＤ，Ｅ，Ｆ，Ｇ，Ｈは、破線の丸で記載されている。これらのノードは、まだ自身の位置が特定されておらず、マスタノード１の補助を受けてこれから自身の位置を特定するスレーブノード２（詳細は図３）である。
【００２６】
ノードＡ，Ｂ，Ｃは、自身のＧＮＳＳアンテナ２３（図３）を用いてＧＮＳＳ衛星から直接電波を受信することにより（換言すると、１次ノードになることにより）、自身の位置を特定する。なお、１つのノードについて、３つ以上のＧＮＳＳ衛星から電波を受信できれば、ノードの３次元位置（ｘ，ｙ，ｚ）を特定することができる。一方、他のノードＤ，Ｅ，Ｆ，Ｇ，Ｈは、ＧＮＳＳアンテナ２３を有していない、または、ＧＮＳＳアンテナ２３を有していてもＧＮＳＳ衛星からの電波が遮蔽されていることなどにより、現時点では自身の位置が特定されていない。
【００２７】
図１（ｂ）は、基地局のノードＡ〜Ｃから電波を受信したノードＤ，Ｅが新たな基地局となる段階を示す。
ノードＤは、基地局のノードＡ〜Ｃから電波を受信することにより、自身の位置を特定する。同様に、ノードＥも、基地局のノードＡ〜Ｃから電波を受信することにより、自身の位置を特定する。つまり、ノードＤ，Ｅは、１次ノードＡ〜Ｃに対する２次ノードとなる。
【００２８】
ここで、ノードの位置情報を示す２種類の表現について、説明する。
「グローバル座標」とは、衛星により地球上の位置を一義的に特定可能な座標を示す。例えば、東京タワーのグローバル座標は、「経度＝139度44分43.558秒、北緯＝35度39分30.89秒」として表現される。
「ローカル座標」とは、測定者が任意に設定した座標系であり、原点からみた相対的な座標を示す。例えば、東京駅のローカル座標は、「東京タワーからみて、東に1800m、北に2500m」として表現される。
【００２９】
なお、地点Ｂのローカル座標に対する原点Ａのグローバル座標がわかっているときには、その原点Ａのグローバル座標からの差分計算により、地点Ｂのグローバル座標を求めることができる。
例えば、北緯35度付近では、経度1秒あたり25m、緯度1秒あたり31mなので、東京タワーの「経度＝139度44分43.558秒、北緯＝35度39分30.89秒」に、差分の「経度＝+約82秒、北緯＝+約74秒」を加算することで、東京駅のグローバル座標「経度＝139度45分57.902秒、北緯＝35度40分52.975秒」が求まる。
【００３０】
図１（ｂ）では、基地局のノードＡ〜Ｃはそれぞれグローバル座標が既知であるので、そのグローバル座標からのローカル座標としてノードＤの位置を相対的に求めた後、ノードＤのローカル座標をグローバル座標に座標変換することで、ノードＤのグローバル座標を求める。これにより、ノードＤは、スレーブノード２からマスタノード１へと移行し、他のノードＡ〜Ｃと同様に基地局として動作する。ノードＥも同様にマスタノード１へと移行する。
【００３１】
図２（ａ）は、基地局のノードＡ，Ｂ，Ｄから電波を受信したノードＦが新たな基地局となる段階を示す。ノードＦは、ノードＤと異なりノードＣから遠くに位置しているので、ノードＣからの電波受信が困難である。そこで、１次ノードＡ，Ｂに加え、ノードＦの近くに位置する２次ノードＤとの合計３つのノードからの補助を受けて、スレーブノード２からマスタノード１へと移行することができる。つまり、ノードＦは、３次ノードに移行する。
【００３２】
図２（ｂ）は、基地局のノードＢ，Ｄ，Ｆから電波を受信したノードＧが新たな基地局となる段階を示す。ノードＦと同様に、ノードＧにおいても、１次ノードと２次ノードとの区別をせず、ノードＧの近傍の基地局であるノードＢ，Ｄ，Ｆから補助を受けることで、スレーブノード２からマスタノード１へと移行することができる。
なお、ノードＧからの距離がほぼ同じであれば、ｎ次ノードの次数ｎが少ないノードの補助を受けることが望ましい。ローカル座標をグローバル座標に座標変換するときの誤差は、次数ｎが増えるほど累積されてしまうためである。
以上説明したように、スレーブノード２からマスタノード１への移行を１次ノードＡ〜Ｃから伝搬的に行うことにより、ＧＮＳＳ衛星から電波を受信できないノードに対しても、位置特定の範囲を拡張することができる。つまり、１次ノード、２次ノード、…、（ｎ−１）次ノードをマスタノード１として、ｎ次ノードのスレーブノード２がマスタノード１となる。
【００３３】
図３は、位置特定システムの構成図である。
位置特定システムは、図１，図２で説明したように、各ノードが近辺の他ノードと有線または無線で通信可能に構成されており、自身の位置が判明しているマスタノード１か、自身の位置が判明していないスレーブノード２かのいずれかに分類される。なお、同じノードでも所定時刻ではスレーブノード２であっても、他のマスタノード１からの補助によりマスタノード１へと移行（昇格）することもある。
【００３４】
なお、マスタノード１およびスレーブノード２は、それぞれＣＰＵ（Central Processing Unit）と、メモリと、ハードディスクなどの記憶手段（記憶部）と、ネットワークインタフェースとを有するコンピュータとして構成される。
このコンピュータは、ＣＰＵが、メモリ上に読み込んだプログラム（アプリケーションや、その略のアプリとも呼ばれる）を実行することにより、後記する各処理部により構成される制御部（制御手段）を動作させる。
【００３５】
マスタノード１は、通信インタフェース１０ａ、送信器１１ａ、受信器１２ａ、時刻同期部２１ａ、座標計算部２２ａ、記憶部３０ａを有しており、さらに、１次ノードの場合にはＧＮＳＳアンテナ２３も有している。記憶部３０ａには、自身の時計時刻３１ａ、自身のローカル座標３２ａ、自身のグローバル座標３３ａが記憶されている。
スレーブノード２は、基本的にはマスタノード１と同じ構成であるが、ＧＮＳＳアンテナ２３を有していない。なお、同じ構成要素であっても、マスタノード１の部品かスレーブノード２の部品かを区別するため、マスタノード１の部品の符号末尾を「ａ」とし、スレーブノード２の部品の符号末尾を「ｂ」とする。
【００３６】
通信インタフェース１０ａは、送信器１１ａおよび受信器１２ａと接続されており、通信インタフェース１０ｂは、送信器１１ｂおよび受信器１２ｂと接続されている。送信器１１ａからのパケットは受信器１２ｂに届き、送信器１１ｂからのパケットは受信器１２ａに届く。
なお、通信インタフェース１０ａ，１０ｂ間の通信規格は、任意であり、有線通信でも無線通信でもよい。さらに、１台のマスタノード１と１台のスレーブノード２との間のユニキャスト通信でもよいし、１台のマスタノード１からＮ台のスレーブノード２にマルチキャスト送信してもよいし、Ｍ台のマスタノード１へ１台のスレーブノード２からマルチキャスト送信してもよい。
【００３７】
マスタノード１の時刻同期部２１ａは、時刻同期部２１ｂに対して時計時刻３１ａのタイムスタンプ情報を通知することで、スレーブノード２の時計時刻３１ｂを補正（同期）する。この時刻同期処理には、例えば、ＰＴＰなどの時刻同期プロトコルが用いられる（詳細は図６）。さらに、時刻同期部２１ａ，２１ｂは、時刻同期処理に用いた時計時刻３１ａ，３１ｂのタイムスタンプ情報を、マスタノード１−スレーブノード２間の距離の推定にも使用する。
【００３８】
座標計算部２２ｂは、マスタノード１から通知されたローカル座標３２ａおよびグローバル座標３３ａと、時刻同期部２１ｂが取得したタイムスタンプ情報とをもとに、自身のスレーブノード２の座標を計算する。そのため、座標計算部２２ｂは、まず、スレーブノード２のローカル座標３２ｂを計算した後、前記の東京タワーの例で説明したように、グローバル座標３３ａを原点としてローカル座標３２ｂを差分計算することによりスレーブノード２のグローバル座標３３ｂを計算する。なお、ローカル座標３２ｂからグローバル座標３３ｂへの座標変換演算は、行列演算などによる座標変換則を用いるなど、既知の任意の演算方法により実現してもよい。
これにより、ローカル座標３２ｂとグローバル座標３３ｂとが対応付けられて記憶部３０ｂに格納される。以降は、スレーブノード２がマスタノード１として振る舞うので、他のスレーブノード２に対して、記憶部３０ａ内のローカル座標３２ａとグローバル座標３３ａとをもとに、他のスレーブノード２の位置特定処理を補助する。
【００３９】
図４は、位置特定システムの図３とは別形態を示す構成図である。
管理装置３は、図３のマスタノード１、スレーブノード２のうちの一部の機能を切り出して共通化したものである。
座標計算部２２ｚは、座標計算部２２ａ，２２ｂに代行して、各ノードのローカル座標３２ａ，３２ｂとグローバル座標３３ａ，３３ｂとを求める。そのため、各ノードの座標計算依頼部２２ｘ，２２ｙは、自身の時刻同期部２１ａ，２１ｂが取得したタイムスタンプ情報を座標計算部２２ｚに通知して、各ノードの座標計算を管理装置３に依頼する。
座標計算部２２ｚは、依頼を受け、通知されたタイムスタンプ情報と、自身が格納する各ノードのローカル座標３２ａと、自身が格納する各ノードのグローバル座標３３ａとをもとに、マスタノード１−スレーブノード２間の距離と、スレーブノード２のローカル座標３２ｂとグローバル座標３３ｂとを求める。
座標計算部２２ｚは、グローバル座標３３ａ，３３ｂをグローバル座標３３ｚとして自身の記憶部に格納し、ローカル座標３２ａ，３２ｂをローカル座標３２ｚとして自身の記憶部に格納することで、以降の別ノードの位置特定にも活用する。
【００４０】
これにより、管理装置３は、分散された各ノードの位置情報を集中的に管理することができるので、例えば各ノードの位置を地図に重ねて表示してノードの分布を管理者に把握させるなど、位置情報を一元的に管理できる。さらに、各ノードは座標計算をする必要がなくなるので、低性能な携帯端末をノードとして活用することができる。
または、図３の位置特定システムの各ノードが、各自で計算した自身の位置情報を管理装置３に通知させることで、管理装置３による位置情報の一元管理を行ってもよい。
【００４１】
図５は、スレーブノードに着目した位置特定処理を示すフローチャートである。
Ｓ１１〜Ｓ１４は、スレーブノード２と通信可能なマスタノード１を順に１つずつ選択するループである。
Ｓ１２として、時刻同期部２１ｂは、ループで選択したマスタノード１の時刻同期部２１ａとの間でＰＴＰなどの時刻同期用パケットを送受信することで、時計同期を実行する。つまり、スレーブノード２の時計時刻３１ｂをマスタノード１の時計時刻３１ａに合わせる。この時刻同期処理において、時刻同期部２１ｂは、時刻同期用パケットから以下の４つのタイムスタンプ情報を取得する。
（時刻ｔ１）マスタノード１からスレーブノード２に送信するパケットの送信時刻（マスタノード１側の時刻）
（時刻ｔ２）マスタノード１からスレーブノード２に送信するパケットの受信時刻（スレーブノード２側の時刻）
（時刻ｔ３）スレーブノード２からマスタノード１に送信するパケットの送信時刻（スレーブノード２側の時刻）
（時刻ｔ４）スレーブノード２からマスタノード１に送信するパケットの受信時刻（マスタノード１側の時刻）
また、スレーブノード２は、各マスタノード１が送信した時刻同期用パケットに含まれるグローバル座標３３ａから、各マスタノード１の位置情報を取得することができる。
【００４２】
なお、Ｓ１２の時刻同期処理を同じマスタノード１−スレーブノード２で繰り返し実行（試行）してもよい（図９（ａ）参照）。送受信のノードが同じであっても、複数回の時刻同期処理でそれぞれのパケットの到達時間（遅延時間）は、電波のノイズなどにより揺らぐこともある。そこで、繰り返し実行して計測したパケットの到達時間のうち、最もノイズの影響が少ない最小遅延時間を採用してもよい。
【００４３】
また、Ｓ１２の時刻同期処理は、Ｓ１１〜Ｓ１４のループ内であるので、短期間に何度も実行される。一方、スレーブノード２内の時計機能が高性能であるときには、一度時刻を更新するとしばらくは正確な時刻を保つことができる。そこで、時刻を更新した後の所定期間は正確な時刻を保つことができる期間として、時刻の更新を省略してもよい。
なお、時刻の更新を省略する場合、前記時刻ｔ１〜ｔ４のうちの片道の時刻情報（ｔ１とｔ２の組み合わせ、または、ｔ３とｔ４の組み合わせ）があれば、マスタノード１−スレーブノード２間のパケットの到達時間（遅延時間）を「受信時刻−送信時刻」という簡単な式で求めることができる。つまり、時計同期の計測用パケットを往復パケットから片道パケットへと短縮できる。
【００４４】
Ｓ１３として、座標計算部２２ｂは、時刻ｔ１〜ｔ４のタイムスタンプ情報から、自身のスレーブノード２からマスタノード１までの距離を計測する（詳細は図６）。これにより、スレーブノード２は、自身と通信可能な各マスタノード１との距離を求めることができ、この距離情報は後記Ｓ２１〜Ｓ２４で説明するようにスレーブノード２の位置特定処理に使用される。
【００４５】
Ｓ２１〜Ｓ２４は、Ｓ１１〜Ｓ１４で選択したマスタノード１の集合から、３つのマスタノード１を抽出したノードグループの組み合わせごとに選択するループである。例えば、５つのノード（Ａ，Ｂ，Ｃ，Ｄ，Ｅ）から３つのノードを選択する組み合わせは、＜Ａ，Ｂ，Ｃ＞や＜Ａ，Ｂ，Ｄ＞などの全部で１０通り存在するので、Ｓ２１〜Ｓ２４のループは１０回実行される。
【００４６】
Ｓ２２として、座標計算部２２ｂは、ノードグループに属する各ノードとの距離（Ｓ１３で求めた距離）からスレーブの位置範囲を計算する（詳細は図７〜図９）。ここで、時刻ｔ１〜ｔ４のタイムスタンプ情報やマスタノード１のグローバル座標３３ａに若干の誤差が含まれていることもあるので、スレーブの位置は点座標ではなく、スレーブが存在する可能性のある位置範囲となる。
【００４７】
Ｓ２３として、座標計算部２２ｂは、今回のループで選択したノードグループの信頼度を計算する。そのため、まず、ノードグループに属する３つのマスタノード１それぞれの個別信頼度を求める。基本的には、Ｓ１３で求めたマスタノード１との距離が自身のスレーブノード２から近いほど、個別信頼度を高いものとして計算する。以下が、距離と個別信頼度との対応例である。
０ｍ≦距離＜１００ｍなら、個別信頼度＝３
１００ｍ≦距離＜５００ｍなら、個別信頼度＝２
５００ｍ≦距離なら、個別信頼度＝１
次に、個別信頼度を統合して、グループ信頼度を計算する。例えば、個別信頼度の合計点をグループ信頼度とする例が挙げられる。
【００４８】
Ｓ３１として、座標計算部２２ｂは、Ｓ２２で求めた各ノードグループにおけるスレーブの位置範囲の重複領域から、スレーブ位置のローカル座標３２ｂを特定する。または、すべてのスレーブの位置範囲の重複領域とする代わりに、より多くの（多数決の）スレーブの位置範囲が重複する領域から、スレーブ位置を絞り込んでもよい。ここで、座標計算部２２ｂは、Ｓ２３で求めたグループ信頼度を参照して、スレーブの位置範囲の重複領域から、スレーブ位置を絞り込んでもよい（図９（ｂ）参照）。
このように、複数のノードグループを組み合わせてスレーブ位置を絞り込むことで、スレーブ位置の精度向上を図る。
【００４９】
Ｓ３２として、座標計算部２２ｂは、特定したスレーブ位置のローカル座標３２ｂをグローバル位置（グローバル座標３３ｂ）に座標変換する。このＳ３１のローカル座標３２ｂとＳ３２のグローバル座標３３ｂとは、それぞれスレーブノード２自身の位置情報として記憶部３０ｂに格納される。
【００５０】
図６は、時刻同期部２１ｂおよび座標計算部２２ｂの計算内容の詳細を示す説明図である。
スレーブノード２であるノードＴは、マスタノード１であるノードＡ，Ｂ，ＣそれぞれとＰＴＰプロトコルにより時刻を同期する。なお、ＰＴＰの詳細は、非特許文献１に記載されている。
スレーブノード２は、Ｓ１２で説明したように、ＰＴＰの時刻同期用パケットをマスタノード１とスレーブノード２とで往復することで、４つのタイムスタンプ情報（時刻ｔ１〜ｔ４）を得る。時刻同期部２１ｂは、これらのタイムスタンプ情報をもとに、図６の式（２）に従って、正確な時計時刻３１ｂと、マスタノード１との距離とを求める。
【００５１】
以下、ノードＡ→ノードＴに送信されるパケットPATと、ノードＴ→ノードＡに送信されるパケットPTAの場合を例示する。
まず、パケットPATについてノードＡ側での送信時刻ｔ１と、そのパケットのノードＴ側での受信時刻ｔ２とは、次の関係である。
（時刻ｔ１）＋（伝送にかかった遅延時間）＋（スレーブノード２側の時刻のずれであるオフセット）＝（時刻ｔ２）
同様に、パケットPTAについてノードＴ側での送信時刻ｔ３と、そのパケットのノードＡ側での受信時刻ｔ４とは、次の関係である。
（時刻ｔ３）＋（伝送にかかった遅延時間）−（スレーブノード２側の時刻のずれであるオフセット）＝（時刻ｔ４）
よって、式（２）の１行目のように、伝送にかかった遅延時間ΔTAと、時刻のずれであるオフセットβAとが求まる（Ｓ１２）。ここで、TATはパケットPATの時刻差（ｔ２−ｔ１）であり、TTAはパケットPTAの時刻差（ｔ４−ｔ３）である。なお、スレーブノード２は、オフセットβAを無くしてマスタノード１の時計時刻に合わせるように、自身の時計時刻を補正してもよい（Ｓ１２）。
【００５２】
さらに、伝播速度（光速）cと、媒質の屈折率nとを用いて、ノードＡ，Ｔ間の距離LAも求めることができる（Ｓ１３）。また、δAは、時刻同期誤差などの測定誤差であり、αは受信機（スレーブノード２）の測定誤差である。
そして、式（２）の３〜５行目は、図１１の式（１）の右辺を誤差を含む場合に拡張した連立方程式である。これらの連立方程式を求めることで、ノードＴの位置（ｘ，ｙ，ｚ）がローカル座標３２ｂとして求まる（Ｓ２２）。
【００５３】
よって、スレーブノード２は、受信機（スレーブノード２）の測定誤差α（例えば装置固有の測定誤差）が分かっていれば、ＰＴＰを実行するたびにオフセットβAを図６の式（２）に代入し、高精度に距離LAを求められることができる。
なお、１回のＰＴＰ実行で、時刻同期と遅延（距離）測定を同時に行う場合、
・時刻同期処理：時刻ずれであるオフセットβAを補正する。
・遅延測定処理：タイムスタンプ情報（時刻ｔ１〜ｔ４）に測定誤差を補正（オフセットβAを加算または減算）することで、より正確な遅延時間を求める。
という２つの処理を並行して行うことで、時刻同期処理から所定期間経過後に遅延測定を行った場合に比べ、時刻ずれの心配が無いため、より高精度な測定ができる。
【００５４】
以下、図７，図８を参照して、ノードグループごとの処理（Ｓ２１〜Ｓ２４）の詳細を説明する。
まず、１回目のループで第１ノードグループ「Ｂ，Ｃ，Ｅ」が選択されたとする。座標計算部２２ｂは、そのグループに属する各ノードＢ，Ｃ，Ｅのグローバル座標３３ａに加え、各ノードからの距離情報をもとに、図６で説明した連立方程式を解くことにより、スレーブの位置範囲Ｒ１を求める（図７（ａ））。
次に、２回目のループで第２ノードグループ「Ａ，Ｃ，Ｅ」が選択されると、そのスレーブの位置範囲Ｒ２も第１ノードグループと同様に求める（図７（ｂ））。ここでは、スレーブの位置範囲Ｒ１，Ｒ２ともに若干の誤差を含んでいるため、両範囲は完全には一致せず一部重複する。
【００５５】
さらに、３回目のループで第３ノードグループ「Ａ，Ｂ，Ｄ」が選択されると、そのスレーブの位置範囲Ｒ３も第１，第２ノードグループと同様に求める（図８（ａ））。
これらのスレーブの位置範囲Ｒ１〜Ｒ３の重複範囲はだいぶ狭まってきたので、Ｓ３１で示したように、各位置範囲Ｒ１〜Ｒ３の重複領域をスレーブノードＦの位置として特定する（図８（ｂ））。
【００５６】
図９（ａ）は、図８（ａ）の位置範囲Ｒ３を、３回の試行（Ｒ３ａ〜Ｒ３ｃ）で絞り込む旨を示す。Ｓ１２で説明したように、同じマスタノード１−スレーブノード２間で、ＰＴＰの時刻同期処理を繰り返し実行してもよい。
ここでは、１回目の時刻同期処理の結果（例えば、ノードＢからの距離）をもとに計算したスレーブの位置範囲Ｒ３ａよりも、２回目の時刻同期処理の結果をもとに計算したスレーブの位置範囲Ｒ３ｂが狭くなっている。よって、２回目の時刻同期処理のほうが距離が短く（精度が高く）測定されたため、範囲Ｒ３ａよりも範囲Ｒ３ｂが狭く、かつ、ノードＢから距離が短い方に位置される。
同様に、２回目の範囲Ｒ３ｂよりも３回目の範囲Ｒ３ｃのほうが、さらに精度がよかったため、第３ノードグループ「Ａ，Ｂ，Ｄ」の位置範囲Ｒ３として範囲Ｒ３ｃを採用する。
【００５７】
図９（ｂ）は、図８（ｂ）の範囲Ｒ１〜Ｒ３の重複領域ＲｚからスレーブノードＦの位置を特定するときに、ノードグループの信頼度を参照する例を示す。
Ｓ３１で示したように、Ｓ２３で計算したノードグループごとのグループ信頼度を、重複領域Ｒｚ内のスレーブノードＦの点位置の絞り込みに活用することができる。
例えば、グループ信頼度を反映する前の点位置Ｆ１は、重複領域Ｒｚの重心である。一方、グループ信頼度を反映した後の点位置Ｆ２は、点位置Ｆ１よりも領域Ｒ３の中心Ｃ３や、領域Ｒ１の中心Ｃ１の側に近づくように補正されている。この補正処理は、領域Ｒ３の信頼度＝８や、領域Ｒ１の信頼度＝６が、領域Ｒ２の信頼度＝４よりも大きい（より信頼できる）ためである。つまり、図９（ｂ）で示した手法は、信頼度が高い領域であるほど、その領域に近づくようにスレーブノードＦの点位置を決定する手法である。
【００５８】
以上説明した本実施形態では、障害物や天候不順等によりＧＮＳＳ衛星を直接捕捉できない図１０のノードＺのような場合でも、周囲のマスタノード１との時刻同期計算で得たノード間距離の情報を用いて、スレーブノード２自身の位置を高精度に特定することができる。さらに、図１，図２で説明したように、ｎ次ノード（ｎ＞１）のスレーブノード２を徐々にマスタノード１へと移行（伝搬）していくことにより、高層ビル群や地下街などのＧＮＳＳ衛星の捕捉が困難な地域であっても、広範囲に位置特定ができる。
【００５９】
また、図３のスレーブノード２のように、ＧＮＳＳアンテナ２３を具備していない安価な端末であっても、自身の位置を高精度に特定することができる。さらに、図４の管理装置３がマスタノード１やスレーブノード２の位置計算を代行する構成により、低性能なノード端末を位置特定用に活用することができる。
【符号の説明】
【００６０】
１      マスタノード
２      スレーブノード
３      管理装置
１０ａ，１０ｂ  通信インタフェース
１１ａ，１１ｂ  送信器
１２ａ，１２ｂ  受信器
２１ａ，２１ｂ  時刻同期部
２２ａ，２２ｂ，２２ｚ  座標計算部
２２ｘ  座標計算依頼部
２２ｚ  座標計算部
２３    ＧＮＳＳアンテナ
３０ａ，３０ｂ  記憶部
３１ａ，３１ｂ  時計時刻
３２ａ，３２ｂ，３２ｚ  ローカル座標
３３ａ，３３ｂ，３３ｚ  グローバル座標
【図１】
0006510988.tif 000002
【図２】
0006510988.tif 000003
【図３】
0006510988.tif 000004
【図４】
0006510988.tif 000005
【図５】
0006510988.tif 000006
【図６】
0006510988.tif 000007
【図７】
0006510988.tif 000008
【図８】
0006510988.tif 000009
【図９】
0006510988.tif 000010
【図１０】
0006510988.tif 000011
【図１１】
0006510988.tif 000012