本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
[実施の形態1]
図1は、この発明の実施の形態1による無線ネットワークシステムの概念図である。この発明の実施の形態1による無線ネットワークシステム10は、無線装置1〜7を備える。
無線ネットワークシステム10は、自律的に確立され、送信元と送信先との間で無線通信を行なうネットワークシステムであり、例えば、無線アドホックネットワークからなる。そして、無線装置1〜7は、鉛筆、ノート、テレビ、パーソナルコンピュータ、カメラ、自転車、自動車および建物等の屋内外の日常生活に用いられる物品に装着され、無線アドホックネットワークを構成する。
無線装置1〜7は、無線通信空間に配置され、それぞれ、アンテナ11,21,31,41,51,61,71を介して相互に無線通信を行なう。そして、無線装置1〜7の各々は、後述する方法によって、自己の位置を推定する。無線装置2〜7は、無線装置1から1ホップ内の位置に配置され、無線装置1と無線装置2〜7との距離は、それぞれ、R1〜R6である。
なお、アンテナ11,21,31,41,51,61,71の各々は、全方位性のアンテナである。
図2は、図1に示す無線装置1の構成を示す機能ブロック図である。無線装置1は、受信部12と、自己位置測位部13と、距離検出部14と、組織化測位部15と、送信部16とを含む。
受信部12は、アンテナ11を介して無線装置2〜7からの信号を受信し、その受信した信号を必要に応じて自己位置測位部13、距離検出部14および組織化測位部15のいずれかへ出力する。組織化測位部15が無線装置1の位置を推定する場合、受信部12は、無線装置2〜7の仮の自己位置wj1(s)〜wj6(s)をそれぞれ無線装置2〜7からアンテナ11を介して受信し、その受信した仮の自己位置wj1(s)〜wj6(s)を組織化測位部15へ出力する。
また、受信部12は、アンテナ11を介して無線装置2〜7から受信した信号の受信信号強度Prを検出し、その検出した受信信号強度Prを距離検出部14へ出力する。
自己位置測位部13は、例えば、GPSによって無線装置1の位置を測定し、その測定した無線装置1の位置を仮の自己位置wi(0)として保持する。なお、自己位置測位部13は、無線装置1の位置を実際に測定せずに仮の自己位置wi(0)をランダムに生成してもよい。
そして、自己位置測位部13は、組織化測位部15からの要求に応じて仮の自己位置wi(0)を組織化測位部15へ出力する。
距離検出部14は、無線装置1と無線装置2〜7のそれぞれとの距離R1〜R6を検出し、その検出した距離R1〜R6をそれぞれ無線装置2〜7に対応付けて保持する。距離検出部14は、受信部12から受けた受信信号強度Prを次式に代入して無線装置1と無線装置2〜7のそれぞれとの距離R1〜R6を演算する。
式(1)において、Ptは、送信電力であり、λは、電波の波長であり、d’は、無線装置間の距離である。
無線装置1の距離検出部14は、電波の波長λを保持しており、無線装置2〜7における送信電力Ptを知っているので、受信信号強度Pr、送信電力Ptおよび波長λを式(1)に代入することによって距離d’(=距離R1〜R6)を演算できる。
このように、距離検出部14は、無線装置1が無線装置2〜7から受信した信号の受信信号強度Prに基づいて、無線装置1と無線装置2〜7のそれぞれとの距離R1〜R6を検出する。
距離検出部14は、上述した方法によって無線装置1と無線装置2〜7のそれぞれとの距離R1〜R6を検出すると、その検出した距離R1〜R6をそれぞれ無線装置2〜7に対応付けて記憶する。そして、距離検出部14は、組織化測位部15からの要求に応じて距離R1〜R6のいずれかを組織化測位部15へ出力する。
組織化測位部15は、自己位置測位部13からの仮の自己位置wi(0)と、距離検出部14からの距離R1〜R6と、受信部12からの仮の自己位置wjk(s)(k=1〜6)とに基づいて、後述する方法によって、無線装置1の仮の自己位置wi(t)(t=0,1,2,・・・)を順次修正し、その修正した自己位置wi(t)を一定期間ごとに送信部16を介して無線装置2〜7へ送信する。
そして、組織化測位部15は、所定の条件が満たされると、最終的に修正された自己位置wi(t)を無線装置1の位置と推定する。
送信部16は、距離検出部14または組織化測位部15の要求に応じて、信号(自己位置wi(t)を含む)等をアンテナ11を介して無線装置2〜7へ送信する。
なお、無線装置2〜7の各々は、図2に示す無線装置1の構成と同じ構成からなる。
以下、無線装置1の組織化測位部15が無線装置1の位置を推定する方法について具体的に説明する。
組織化測位部15は、無線装置1の仮の自己位置wi(t)と無線装置2の仮の自己位置wj1(s)とに基づいて無線装置1と無線装置2との距離|wi(t)−wj1(s)|を演算する。この場合、仮の自己位置wi(t),wj1(s)は、例えば、x−y座標によって表されているため、組織化測位部15は、距離dist(t)=|wi(t)−wj1(s)|(「演算距離」という)を容易に演算できる。
そして、組織化測位部15は、演算した演算距離dist(t)=|wi(t)−wj1(s)|と、距離検出部14から取得した無線装置1と無線装置2との間の測定された距離R1(=dij(t)、「測定距離」という)とに基づいて、演算距離|wi(t)−wj1(s)|を測定距離dij(t)に近づけるための修正ベクトルVi(t)を次式により演算する。
なお、wi(t)=wi(0),wi(1),wi(2),・・・であり、tは、無線装置1における仮の自己位置wi(t)の修正回数を示す。また、wj1(s)=wj1(0),wj1(1),wj1(2),・・・であり、sは、無線装置2における仮の自己位置wj1(s)の修正回数を示す。
そして、組織化測位部15は、仮の自己位置wi(t)のt回目の修正時における無線装置1と、無線装置1の近傍に存在する無線装置2〜7との距離平均誤差量Di(t)の変化量ΔDi(t)を次の式(3)および式(4)によって演算する。
式(4)において、Ni(t)は、仮の自己位置wi(t)のt回目の修正時において無線装置1の近傍に存在する無線装置の総数を表し、具体的には、無線装置2〜7の個数である6個である。
また、dijk(t)は、無線装置1と無線装置2〜7のいずれかとの間の測定距離を表す。より具体的には、dij1(t)は、無線装置1と無線装置2との間の測定距離を表し、dij2(t)は、無線装置1と無線装置3との間の測定距離を表し、dij3(t)は、無線装置1と無線装置4との間の測定距離を表し、dij4(t)は、無線装置1と無線装置5との間の測定距離を表し、dij5(t)は、無線装置1と無線装置6との間の測定距離を表し、dij6(t)は、無線装置1と無線装置7との間の測定距離を表す。従って、dij1(t)〜dij6(t)は、それぞれ、R1〜R6に等しい。
更に、wjk(s)は、仮の自己位置wi(t)のt回目の修正時において無線装置1の近傍に存在する無線装置の仮の自己位置を表し、より具体的には、wj1(s)は、仮の自己位置wi(t)のt回目の修正時における無線装置2の仮の自己位置を表し、wj2(s)は、仮の自己位置wi(t)のt回目の修正時における無線装置3の仮の自己位置を表し、wj3(s)は、仮の自己位置wi(t)のt回目の修正時における無線装置4の仮の自己位置を表し、wj4(s)は、仮の自己位置wi(t)のt回目の修正時における無線装置5の仮の自己位置を表し、wj5(s)は、仮の自己位置wi(t)のt回目の修正時における無線装置6の仮の自己位置を表し、wj6(s)は、仮の自己位置wi(t)のt回目の修正時における無線装置7の仮の自己位置を表す。従って、wj1(s)〜wj6(s)は、それぞれ、無線装置2〜7から無線装置1へブロードキャスト(1ホップ内の通信を意味する)される仮の自己位置である。
更に、セルフバイアスBiasi(t)は、後述するように、1.0または1.0よりも小さい値からなる定数である。
そうすると、組織化測位部15は、無線装置の総数Ni(t)、測定距離dij1(t)〜dij6(t)、仮の自己位置wj1(s)〜wj6(s)およびセルフバイアスBiasi(t)を取得でき、その取得した無線装置の総数Ni(t)、測定距離dij1(t)〜dij6(t)、仮の自己位置wj1(s)〜wj6(s)、およびセルフバイアスBiasi(t)を式(4)に代入して距離平均誤差Di(t)を演算し、その演算した距離平均誤差Di(t)と、仮の自己位置wi(t)のt−1回目の修正時における距離平均誤差Di(t−1)との差を演算することにより、距離平均誤差の変化量ΔDi(t)を演算できる。
組織化測位部15は、距離平均誤差の変化量ΔDi(t)を演算すると、変化量ΔDi(t)がしきい値θ以下であるか否かを判定し、その判定結果に応じて異なる方法によって無線装置1の仮の自己位置wi(t)を修正する。
即ち、変化量ΔDi(t)がしきい値θ以下であるとき(ΔDi(t)≦θ)、組織化測位部15は、修正ベクトルVi(t)を用いて次式によって無線装置1の仮の自己位置wi(t)を修正する。
また、変化量ΔDi(t)がしきい値θよりも大きいとき(ΔDi(t)>θ)、組織化測位部15は、修正ベクトルVi(t)を用いて次式によって無線装置1の仮の自己位置wi(t)を修正する。
なお、式(5)および式(6)において、eijk(t)は、仮の自己位置wi(t)のt回目の修正時における無線装置1と無線装置2〜7のいずれかとのリンクの重みである。また、αi(t)は、仮の自己位置wi(t)のt回目の修正時における無線装置1の学習関数である。
そして、リンクの重みeijk(t)は、次式によって演算される。
また、学習関数αi(t)は、次式によって演算される。
なお、式(8)において、ηは、減衰定数であり、0<η<1を満たす正の実数である。
上記式(5)または式(6)を用いた無線装置1の仮の自己位置wi(t)の修正を概念的に説明すると次のようになる。
図3は、無線装置1の仮の自己位置wi(t)の修正概念を説明するための図である。なお、図3の説明においては、式(5),(6)のセルフバイアスBiasi(t)の値は、“1.0”であるとして説明する。
無線装置1は、仮の自己位置wi(t)に存在し、無線装置2は、仮の自己位置wj1(s)に存在している。そして、仮の自己位置wi(t),wj1(s)に基づいて演算された演算距離dist(t)は、dist(t)=|wi(t)−wj1(s)|である。この演算された演算距離dist(t)が実測された無線装置1,2間の測定距離dij1(t)(=R1)と異なるとき、測定距離dij1(t)と演算距離dist(t)との差を修正ベクトルVi(t)として求め、その求めた修正ベクトルVi(t)に従って無線装置1の仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する。
これによって、無線装置1の仮の自己位置wi(t+1)と、無線装置2の仮の自己位置wj1(s)との間の距離は、測定距離dij1(t)になる。
従って、式(5)または式(6)によって、仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正することは、演算距離dist(t)=|wi(t)−wj1(s)|が測定距離dij1(t)に近づくように仮の自己位置wi(t)を修正することに相当する。
仮の自己位置wi(t),wj1(s)は、それぞれ、無線装置1,2の自己位置測位部13において生成されるものであり、自己位置測位部13がGPS等の位置測定機能を有しないときは、ランダムに生成されるものであるので、式(5)または式(6)によって修正された仮の自己位置wi(t+1)は誤差を含んでおり、演算距離|wi(t+1)−wj1(s)|が測定距離dij1(t)(=R1)に即座に一致するものではない。
従って、無線装置1の組織化測位部15は、式(5)または式(6)による仮の自己位置wi(t)の修正を無線装置1の近傍に存在する無線装置2〜7の仮の自己位置wj1(s)〜wj6(s)を用いて所定回数実行し、所定回数実行後の仮の自己位置wi(t+1)を無線装置1の位置と推定する。
式(5)および式(6)のいずれかを用いて無線装置1の仮の自己位置wi(t)を修正するのは、次の理由による。
図4は、反学習の効果を説明するための概念図である。上述した方法によって無線装置1の仮の自己位置wi(t)を順次修正した場合、修正後の仮の自己位置wi(t+1)が図4の(a)のエネルギー図に示すように、局所解に至る可能性がある。この場合、上述した変化量ΔDi(t)は、しきい値θ以下になっている。
そこで、修正後の仮の自己位置wi(t+1)が局所解から抜け出せるように反学習の効果を与える。より具体的には、図4の(b)に示すように、毎回の修正時に振動を与えることによって、山MTを越えさせて局所解から抜け出させ、より安定なエネルギーに到達するようにする(図4の(c)参照)。
これを実行するために、変化量ΔDi(t)がしきい値θ以下であるとき、式(5)によって仮の自己位置wi(t)を順次修正することにしたものである。この場合、式(2)を用いて演算された修正ベクトルVi(t)の反転ベクトル−Vi(t)を仮の自己位置wi(t)に加算して反学習の効果を与える。
また、この反学習の効果を高めるために、式(8)の上段において学習関数αi(t)を初期化して多くの入力を受け入れられるようにしたものである。
なお、変化量ΔDi(t)がしきい値θよりも大きいとき、仮の自己位置wi(t)は、局所解に至っていないので、式(6)によって仮の自己位置wi(t)を順次修正することにしたものである。
次に、式(4),(5),(6)におけるセルフバイアスBiasi(t)は、次式によって決定される。
式(9)において、しきい値φ1,φ2の各々は、“1”よりも大きい値からなり、しきい値φ1,φ2の間には、φ1<φ2の関係が存在する。また、Bias1,Bias2の各々は、“1”よりも小さいからなり、Bias1,Bias2の間には、Bias1≧Bias2の関係が存在する。
演算距離dist(t)に対する測定距離dijk(t)の比(=dijk(t)/dist(t))が“1”よりも小さいとき、即ち、演算距離dist(t)が測定距離dijk(t)よりも長いとき、セルフバイアスBiasi(t)は、“1.0”からなる。また、比(=dijk(t)/dist(t))が“1”以上であるとき、即ち、演算距離dist(t)が測定距離dijk(t)以下であるとき、セルフバイアスBiasi(t)は、“1.0”よりも小さいBias1またはBias2からなる。
そして、演算距離dist(t)が測定距離dijk(t)以下である場合において、比(=dijk(t)/dist(t))がφ1≦dijk(t)/dist(t)≦φ2を満たす場合、セルフバイアスBiasi(t)は、Bias1からなり、比(=dijk(t)/dist(t))がφ2<dijk(t)/dist(t)を満たす場合、セルフバイアスBiasi(t)は、Bias1よりも小さいBias2からなる。
このように、セルフバイアスBiasi(t)は、比(=dijk(t)/dist(t))が小さくなるに従って、Bias2,Bias1,1.0と大きくなる。
次に、セルフバイアスBiasi(t)を用いて式(5)または(6)によって仮の自己位置wi(t)を修正する理由について説明する。
図5は、受信信号強度Prを用いて検出された測定距離d’の分布図である。図5において、縦軸は、ライス確率分布関数における確率を表し、横軸は、測定距離d’を表す。また、曲線k1は、間接波の電力に対する直接波の電力の比を表すライスファクター(Rice factor K)が6dBである場合における測定距離d’の分布を表し、曲線k2は、ライスファクター(Rice factor K)が−6dBである場合における測定距離d’の分布を表す。
ライスファクター(Rice factor)が6dBである場合、直接波の電力は、間接波の電力よりも強く、測定距離d’の分布は、TOA(Time Of Arrival)法またはTDOA(Time Diference Of Arrival)法を用いて測定した測定距離の分布とほぼ同じである(曲線k1参照)。
一方、ライスファクター(Rice factor)が−6dBである場合、間接波の電力は、直接波の電力よりも強く、測定距離d’の分布は、正常な分布(=曲線k1)と大きく異なる(曲線k2)。そして、この場合、測定距離d’が真の距離である“1m”よりも長くなる確率は、相対的に高い。
このように、受信信号強度Prに基づいて無線装置間の測定距離d’を検出する場合、検出された測定距離d’は、電波環境の指標であるライスファクター(Rice factor K)によって真の距離から長くなる方向へ大きくずれた値になることがある。
そこで、この発明においては、受信信号強度Prに基づいて検出した測定距離d’=dijk(t)と、演算距離dist(t)とを比較し、その比較結果に応じて、修正ベクトルVi(t)による仮の自己位置wi(t)の修正度合を変えることにした。
演算距離dist(t)は、仮の自己位置wi(t)を用いて演算され、仮の自己位置wi(t)は、無線装置1の周囲に存在する無線装置2〜7の仮の自己位置wy1(t)〜wy6(t)を用いて修正される。従って、複数の無線装置2〜7の複数の仮の自己位置wy1(t)〜wy6(t)を用いて修正された仮の自己位置wi(t)と、仮の自己位置wy1(t)〜wy6(t)とにより演算された演算距離dist(t)は、測定距離d’よりも信頼性が高いと考えられる。
その結果、演算距離dist(t)が測定距離d’=dijk(t)よりも長いとき(={dijk(t)/dist(t)}<1)、測定距離d’=dist(t)の分布は、ライスファクター(Rice factor)が6dBである場合の分布(図5の曲線k1参照)に近くなり、測定距離d’=dijk(t)の信頼性は、無線装置間の距離がTDOA法またはTOA法によって測定された場合と同様に高くなる。
そこで、演算距離dist(t)が測定距離d’=dijk(t)よりも長いとき(={dijk(t)/dist(t)}<1)、セルフバイアスBiasi(t)を“1.0”に設定することにしたものである。即ち、測定距離d’=dijk(t)の信頼性が高いので、演算距離dist(t)が測定距離d’=dijk(t)に近づくように修正ベクトルVi(t)を用いて仮の自己位置wi(t)を修正する度合を相対的に大きくしたものである。
一方、演算距離dist(t)が測定距離d’=dijk(t)以下であるとき(={dijk(t)/dist(t)}≧1)、測定距離d’=dist(t)の分布は、ライスファクター(Rice factor)が−6dBである場合の分布(図5の曲線k2参照)に近くなり、測定距離d’=dijk(t)の信頼性は、無線装置間の距離がTDOA法またはTOA法によって測定された場合よりも低くなる。
そこで、演算距離dist(t)が測定距離d’=dijk(t)以下であるとき(={dijk(t)/dist(t)}≧1)、セルフバイアスBiasi(t)を“1.0”よりも小さい“Bias1”または“Bias2”に設定することにしたものである。即ち、測定距離d’=dijk(t)の信頼性が低いので、演算距離dist(t)が測定距離d’=dijk(t)に近づくように修正ベクトルVi(t)を用いて仮の自己位置wi(t)を修正する度合を相対的に小さくしたものである。
そして、演算距離dist(t)が測定距離d’=dijk(t)以下である場合(={dijk(t)/dist(t)}≧1)において、測定距離d’=dijk(t)が演算距離dist(t)よりもずれる程度に応じて、演算距離dist(t)が測定距離d’=dijk(t)に近づくように修正ベクトルVi(t)を用いて仮の自己位置wi(t)を修正する度合を変えるために、2個の値“Bias1”,“Bias2”を導入し、1<φ1≦{dijk(t)/dist(t)}≦φ2であるとき、セルフバイアスBiasi(t)をBias1に設定し、φ2<{dijk(t)/dist(t)}であるとき、セルフバイアスBiasi(t)をBias1よりも小さいBias2に設定することにしたものである。
このように、この発明においては、無線装置1の組織化測位部15は、測定距離d’=dijk(t)よりも演算距離dist(t)(=複数の無線装置2〜7の仮の自己位置wy1(t)〜wy6(t)を反映して修正された仮の自己位置wi(t)と、仮の自己位置wy1(t)〜wy6(t)とにより演算される)を信頼して仮の自己位置wi(t)を順次修正し、無線装置1の位置を決定する。
無線装置1の組織化測位部15は、無線装置2〜7からの仮の自己位置wj1(s)〜wj6(s)を用いて上述した方法によって仮の自己位置wi(t)を6回修正すると、その修正後の仮の自己位置wi(t+1)を無線装置2〜7へブロードキャストする。
そして、仮の自己位置wj1(s)〜wj6(s)を用いた仮の自己位置wi(t)の6回の修正を1セットとすると、無線装置1の組織化測位部15は、変化量ΔDi(t)がしきい値θよりも大きく、かつ、仮の自己位置wi(t)の修正を所定セット数だけ実行したときに、その修正後の仮の自己位置wi(t+1)を無線装置1の位置と推定する。
また、無線装置1の組織化測位部15は、所定セット数(例えば、300セット)だけ仮の自己位置wi(t)の修正を実行すると、その修正後の仮の自己位置wi(t+1)を無線装置1の位置と推定するようにしてもよい。
無線装置2〜7は、上述した無線装置1における仮の自己位置wi(t)の修正方法と同じ修正方法に従って、仮の自己位置wj1(s)〜wj6(s)を順次修正し、自己の位置を推定する。
なお、修正後の仮の自己位置wi(t+1)を無線装置1から受信した無線装置2〜7は、その受信した無線装置1の仮の自己位置wi(t+1)を用いて無線装置1における方法と同じ方法によって無線装置2〜7の各々の仮の自己位置wj1(s)〜wj6(s)を修正し、その修正後の仮の自己位置wj1(s+1)〜wj6(s+1)をブロードキャストする。そして、無線装置1は、無線装置2〜7からの仮の自己位置wj1(s+1)〜wj6(s+1)を受信し、その受信した仮の自己位置wj1(s+1)〜wj6(s+1)を用いて、上述した方法によって、仮の自己位置wi(t)を順次修正する。
図6は、無線装置の位置を推定する動作を説明するための実施の形態1におけるフローチャートである。なお、図6においては、無線装置1が無線装置2〜7からの仮の自己位置wj1(s)〜wj6(s)を受信して仮の自己位置wi(t)を修正する場合について説明する。
一連の動作が開始されると、無線装置i(=無線装置1)の組織化測位部15は、k=1を設定し(ステップS1)、無線装置i(=無線装置1)における仮の自己位置wi(t)の修正回数tをt=0に設定し(ステップS2)、無線装置2〜7における仮の自己位置wjk(s)の修正回数sをs=0に設定する(ステップS3)。
その後、無線装置i(=無線装置1)の組織化測位部15は、自己位置測位部13から無線装置i(=無線装置1)の仮の自己位置wi(0)を取得し(ステップS4)、その取得した仮の自己位置wi(0)をブロードキャストするように送信部16を制御し、送信部16は、組織化測位部15から受けた仮の自己位置wi(0)を無線装置2〜7へブロードキャストする(ステップS5)。
無線装置i(=無線装置1)の受信部12は、無線装置jk(=無線装置2)から仮の自己位置wjk(s)を受信し(ステップS6)、その受信した仮の自己位置wjk(s)を組織化測位部15へ出力する。
その後、無線装置i(=無線装置1)の組織化測位部15は、仮の自己位置wi(t),wjk(s)に基づいて、演算距離dist(t)=|wi(t)−wjk(s)|を演算し(ステップS7)、無線装置i(=無線装置1)と無線装置jk(=無線装置2)との間の測定距離dijk(t)(=R1)を距離検出部14から取得する(ステップS8)。
そして、無線装置i(=無線装置1)の組織化測位部15は、演算距離dist(t)が測定距離dijk(t)以上であるか否かを判定し(ステップS9)、演算距離dist(t)が測定距離dijk(t)以上であるとき、セルフバイアスBiasi(t)を“1.0”に設定する(ステップS10)。
一方、演算距離dist(t)が測定距離dijk(t)以上でないとき、無線装置i(=無線装置1)の組織化測位部15は、演算距離dist(t)に対する測定距離dijk(t)の比Rdst=dijk(t)/dist(t)を演算し、その演算した比Rdst=dijk(t)/dist(t)がφ1≦{dijk(t)/dist(t)}≦φ2を満たすか否かを更に判定する(ステップS11)。
そして、無線装置i(=無線装置1)の組織化測位部15は、比Rdst=dijk(t)/dist(t)がφ1≦{dijk(t)/dist(t)}≦φ2を満たすとき、セルフバイアスBiasi(t)をBias1に設定し(ステップS12)、比Rdst=dijk(t)/dist(t)がφ1≦{dijk(t)/dist(t)}≦φ2を満たさないとき、セルフバイアスBiasi(t)をBias2に設定する(ステップS13)。
ステップS10,S12,S13のいずれかの後、無線装置i(=無線装置1)の組織化測位部15は、仮の自己位置wi(t),wjk(s)、演算距離dist(t)=|wi(t)−wjk(s)|および測定距離dijk(t)を式(1)に代入して修正ベクトルVi(t)を演算する(ステップS14)。
その後、無線装置i(=無線装置1)の組織化測位部15は、無線装置1の近傍に存在する無線装置の総数Ni(t)(=6)、演算距離dist(t)=|wi(t)−wjk(s)|および測定距離dijk(t)を式(4)に代入して距離平均誤差Di(t)を演算し、その演算した距離平均誤差Di(t)を用いて式(3)により距離平均誤差の変化量ΔDi(t)を演算する(ステップS15)。
そして、無線装置i(=無線装置1)の組織化測位部15は、変化量ΔDi(t)がしきい値θ以下であるか否かを判定し(ステップS16)、変化量ΔDi(t)がしきい値θ以下でないとき、式(8)の下段により学習関数αi(t)を演算し、式(7)により無線装置i(=無線装置1)と無線装置jk(=無線装置2)とのリンクの重みeijk(t)を演算し、その演算した学習関数αi(t)およびリンクの重みeijk(t)と、ステップS14において演算した修正ベクトルVi(t)とを式(6)に代入して仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する(ステップS17)。
一方、ステップS16において、変化量ΔDi(t)がしきい値θ以下であると判定されたとき、無線装置i(=無線装置1)の組織化測位部15は、式(8)の上段により学習関数αi(t)を演算し、式(7)により無線装置i(=無線装置1)と無線装置jk(=無線装置2)とのリンクの重みeijk(t)を演算し、その演算した学習関数αi(t)およびリンクの重みeijk(t)と、ステップS14において演算した修正ベクトルVi(t)とを式(5)に代入して仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する(ステップS18)。
そして、ステップS17またはステップS18の後、無線装置i(=無線装置1)の組織化測位部15は、k=mであるか否かを判定する(ステップS19)。mは、無線装置1の近傍に存在する無線装置2〜7の個数であり、具体的には、m=6である。従って、ステップS19において、k=mであるか否かを判定することは、無線装置i(=無線装置1)の組織化測位部15が無線装置2〜7からの仮の自己位置wj1(s)〜wj6(s)の全てに基づいて仮の自己位置wi(t)を修正したか否かを判定することに相当する。
ステップS19において、k=mでないと判定されたとき、無線装置i(=無線装置1)の組織化測位部15は、k=k+1およびt=t+1を設定する(ステップS20)。そして、ステップS19において、k=mであると判定されるまで、上述したステップS6〜ステップS20が繰り返し実行される。
ステップS6〜ステップS19が1回実行されるとき、一連の動作がステップS9の“YES”およびステップS10を経由してステップS14へ至ったのであれば、無線装置i(=無線装置1)の組織化測位部15は、ステップS17またはステップS18において、セルフバイアスBiasi(t)を“1.0”に設定して仮の自己位置wi(t)を仮の自己位置wi(t+1)に修正する。また、一連の動作がステップS9の“NO”ステップS11の“YES”およびステップS12を経由してステップS14へ至ったのであれば、無線装置i(=無線装置1)の組織化測位部15は、ステップS17またはステップS18において、セルフバイアスBiasi(t)を“Bias1”に設定して仮の自己位置wi(t)を仮の自己位置wi(t+1)に修正する。更に、一連の動作がステップS9の“NO”ステップS11の“NO”およびステップS13を経由してステップS14へ至ったのであれば、無線装置i(=無線装置1)の組織化測位部15は、ステップS17またはステップS18において、セルフバイアスBiasi(t)を“Bias2”に設定して仮の自己位置wi(t)を仮の自己位置wi(t+1)に修正する。
このように、無線装置i(=無線装置1)の組織化測位部15は、測定距離dijk(t)の信頼性の程度に応じて、演算距離dist(t)を測定距離dijk(t)に近づける度合を変化させて仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する。
また、ステップS6〜ステップS19が2回目に実行されるとき、kはk=2に設定されており、無線装置i(=無線装置1)の組織化測位部15は、無線装置jk(=無線装置3)からの仮の自己位置wjk(s)を用いて仮の自己位置wi(t)を修正する。この場合、修正回数tは、t=0+1=1に設定されているため、ステップS6〜ステップS19が1回目に実行されたときにステップS17およびステップS18のいずれかにおいて修正された仮の自己位置wi(t+1)=wi(1)と、仮の自己位置wjk(s)=wjk(0)とを用いて仮の自己位置wi(1)が修正される。
以下、同様にして、無線装置2〜7からの仮の自己位置wj1(s)〜wj6(s)の全てを用いて仮の自己位置wi(t)が修正されるまで、ステップS6〜ステップS20が繰り返し実行される。
そして、ステップS19において、k=m、即ち、無線装置2〜7からの仮の自己位置wj1(s)〜wj6(s)の全てを用いて仮の自己位置wi(t)が修正されたと判定されると、無線装置i(=無線装置1)の組織化測位部15は、最後に修正された仮の自己位置wi(t+1)を無線装置2〜7へブロードキャストするように送信部16を制御し、送信部16は、組織化測位部15の制御に従って、仮の自己位置wi(t+1)を無線装置2〜7へブロードキャストする(ステップS21)。
これによって、無線装置2〜7は、修正された仮の自己位置wi(t+1)を無線装置1から受信し、その受信した仮の自己位置wi(t+1)を用いて仮の自己位置wj1(s)〜wj6(s)を修正できる。
ステップS21の後、無線装置i(=無線装置1)の組織化測位部15は、s=s+1を設定し(ステップS22)、変化量ΔDi(t)がしきい値θよりも大きく(ΔDi(t)>θ)、かつ、s=Nであるか否かを判定する(ステップS23)。
そして、変化量ΔDi(t)がしきい値θよりも大きく(ΔDi(t)>θ)、かつ、s=Nであることが成立しないと判定されたとき、無線装置i(=無線装置1)の組織化測位部15は、s=Nであるか否かを更に判定する(ステップS24)。そして、s=Nでないとき、無線装置i(=無線装置1)の組織化測位部15は、k=1およびt=t+1を設定する(ステップS25)。
その後、ステップS23において、変化量ΔDi(t)がしきい値θよりも大きく(ΔDi(t)>θ)、かつ、s=Nであると判定されるまで、またはステップS24においてs=Nであると判定されるまで、上述したステップS6〜ステップS25が繰り返し実行される。
ステップS6〜ステップS22が2回目に実行されるとき、無線装置i(=無線装置1)の組織化測位部15は、無線装置2〜7からの仮の自己位置wj1(s)〜wj6(s)の全てを用いて仮の自己位置wi(t)を1回修正したので、再度、無線装置2〜7からの仮の自己位置wj1(s)〜wj6(s)を順次用いて仮の自己位置wi(t)を順次修正するために、ステップS25において、k=1と設定することにしたものである。
また、修正回数tは、無線装置2〜7からの仮の自己位置wj1(s)〜wj6(s)の全てを用いて仮の自己位置wi(t)を修正する回数が増えることによっても増加するので、ステップS25においてt=t+1と設定することにしたものである。
更に、ステップS6〜ステップS22が2回目に実行されるとき、無線装置i(=無線装置1)の組織化測位部15は、無線装置1が修正して無線装置2〜7へブロードキャストした仮の自己位置wi(t)に基づいて修正された仮の自己位置wj1(s)〜wj6(s)を用いて仮の自己位置wi(t)を修正するようにするために、ステップS22において、s=s+1と設定することにしたものである。
更に、無線装置i(=無線装置1)の組織化測位部15は、ステップS6〜ステップS22を2回目以降に実行するとき、同じ無線装置(無線装置2〜7のいずれか)から送信されたp(pは2以上の整数)個の仮の自己位置wjk(0),wjk(1),・・・,wjk(p−1)を用いて、q(qは1≦q≦p−1を満たす整数)番目の仮の位置wjk(q)と仮の自己位置wi(t)とに基づいてq回目の位置修正処理を実行し、q+1番目の仮の位置情報wjk(q+1)とq回目の位置修正処理によって修正された仮の自己位置情報wi(t+1)とに基づいてq+1回目の位置修正処理を実行する。
そして、ステップS23において、変化量ΔDi(t)がしきい値θよりも大きく(ΔDi(t)>θ)、かつ、s=Nであると判定されたとき、またはステップS24において、s=Nであると判定されたとき、無線装置i(=無線装置1)の組織化測位部15は、最終的に修正された自己位置wi(t+1)を無線装置1の位置と推定する(ステップS26)。そして、一連の動作が終了する。
なお、無線装置2〜7の各々も、図6に示すフローチャートに従って自己の位置を推定する。
これによって、無線ネットワークシステム10における無線装置1〜7の位置が自律的に推定される。この場合、無線装置1〜7のうち、少なくとも1個の無線装置が既知である絶対位置を仮の自己位置とする場合、無線装置1〜7の位置は絶対位置として決定される。
また、無線装置1〜7の全てが既知である絶対位置を有しない場合、無線装置1〜7の位置は相対的に決定される。
このように、いずれにしても、無線装置1〜7の各々が図6に示すフローチャートに従って自己の位置を自律的に推定することによって無線ネットワークシステム10において無線装置1〜7の位置を自律的に決定できる。
なお、図6に示すフローチャートのステップS23,S24におけるNは、無線装置1〜7の配置構造、または無線装置1〜7が設置される対象物(物品)の種類に応じて決定される。
無線装置1〜7の配置構造が異なれば、ブローキャスト(1ホップ内の通信)によって仮の自己位置wi(t),wjk(s)を通信可能な無線装置の個数が変化するので、所定の精度で無線装置1〜7の位置を推定するための回数Nが変化するからである。また、無線装置1〜7が鉛筆に装着された場合、推定される位置の精度は、1m以下の精度が要求されるが、無線装置1〜7が建物に装着される場合、推定される位置の精度は、数十mの精度でよい。従って、無線装置1〜7が装着される物品によって、上述した方法によって推定する位置の要求精度が異なり、それぞれの精度を達成するための回数Nが異なるからである。
また、図6に示すフローチャートにおいては、ステップS23を削除し、ステップS22の後、ステップS24を実行し、s=Nである場合に、ステップS26へ移行して無線装置1〜7の位置を推定するようにしてもよい。
つまり、仮の自己位置wi(t)の修正回数が所定数Nに到達したときに、組織化測位部15における位置の推定動作を終了するようにしてもよい。
なお、上記においては、無線ネットワークシステム10は、7個の無線装置1〜7からなると説明したが、この発明においては、無線ネットワークシステム10は、n(nは4以上の整数)個の無線装置から構成されていればよい。3個の無線装置では、推定した3個の位置に基づいて3個の無線装置の位置を決定しようとした場合、3個目の無線装置の位置が1個目および2個目の無線装置を結ぶ直線に対して対称な位置に存在し得るので、3個目の無線装置の位置を決定することができないが、少なくとも4個の無線装置が存在すれば、4個目の無線装置の位置も含めて3個目および4個目の無線装置の位置を決定できるので、結果的に4個の無線装置の位置を決定できる。
また、上記においては、全方位性のビームパターンを用いて仮の自己位置wi(t),wjk(s)を送信すると説明したが、この発明においては、指向性のビームパターンを用いて仮の自己位置wi(t),wjk(s)を送信するようにしてもよい。
これにより、全方位性のビームパターンを用いる場合よりも遠くまで仮の自己位置wi(t),wjk(s)を送信することができ、1ホップ内に存在する無線装置の数を増加して位置推定の誤差を低減できる。
また、より遠くまで仮の自己位置wi(t),wjk(s)を送信することにより、アンカーノードへ仮の自己位置wi(t),wjk(s)を送信できる可能性が高くなり、各無線装置の位置を絶対的に決定できるようになる。
この発明においては、自己位置測位部13は、「位置情報生成手段」を構成する。
また、距離検出部14は、「距離検出手段」および「距離保持手段」を構成する。
更に、図6に示すフローチャートのステップS7〜ステップS18は、「位置修正処理」を構成する。
更に、図6に示すフローチャートのステップS1〜ステップS25に従って仮の自己位置wi(t)を順次修正する組織化測位部15は、位置修正処理を実行する「位置修正手段」を構成する。
更に、図6に示すフローチャートのステップS23,S24,S25に従って、最終的に修正された仮の自己位置wi(t+1)を無線装置1〜7の位置と推定する組織化測位部15は、所定の条件が満たされると、位置修正手段によって修正された仮の自己位置を当該無線装置の位置と推定する「位置推定手段」を構成する。
更に、無線装置1が図6に示すフローチャートに従って仮の自己位置wi(t)を所定回数だけ修正するとき、無線装置2〜7は、「m(mは3以上の整数)個の無線装置」を構成する。
更に、仮の自己位置wi(t)から無線装置2の方向へ測定距離dijk(t)だけ移動するベクトルは、「第1のベクトル」を構成し、仮の自己位置wi(t)から無線装置2の方向へ演算距離dist(t)=|wi(t)−wjk(s)|だけ移動するベクトルは、「第2のベクトル」を構成する。
更に、修正ベクトルVi(t)は、「距離偏差ベクトル」を構成する。
この発明の実施の形態1によれば、無線ネットワークシステム10を構成する無線装置1〜7の各々は、仮の自己位置wi(t)と近傍に存在する無線装置の仮の位置wjk(s)とに基づいて演算した演算距離dist(t)=|wi(t)−wjk(s)|を測定距離dijk(t)よりも信頼し、演算距離dist(t)が測定距離dijk(t)に近づくように仮の自己位置wi(t)を自律的に順次修正し、自己の位置を決定する。
従って、この発明によれば、測定距離dijk(t)が誤差を含んでいても、無線装置の位置を自律的に正確に推定できる。その結果、センサーを大量、かつ、完全に配置しなくても、広範囲な領域において日常生活における物品の位置情報を取得できる。
[実施の形態2]
図7は、実施の形態2による無線ネットワークシステムの概念図である。実施の形態2による無線ネットワークシステム10Aは、無線装置81〜87,91〜96を備える。
無線ネットワークシステム10Aは、無線ネットワークシステム10と同じように、自律的に確立され、送信元と送信先との間で無線通信を行なうネットワークシステムであり、例えば、無線アドホックネットワークからなる。そして、無線装置81〜87,91〜96は、無線装置1〜7と同じように、鉛筆、ノート、テレビ、パーソナルコンピュータ、カメラ、自転車、自動車および建物等の屋内外の日常生活に用いられる物品に装着され、無線アドホックネットワークを構成する。
無線装置81〜87,91〜96は、無線通信空間に配置され、それぞれ、アンテナ811,821,831,841,851,861,871,911,921,931,941,951,961を介して相互に無線通信を行なう。そして、無線装置81〜87,91〜96の各々は、後述する方法によって、自己の位置を推定する。無線装置82〜87は、無線装置81から1ホップ内の位置に配置され、無線装置81と無線装置82〜87との距離は、それぞれ、R1〜R6である。
また、無線装置91〜96は、無線装置81から2ホップ内の位置に配置され、無線装置82と無線装置91との距離、無線装置83と無線装置92との距離、無線装置84と無線装置93との距離、無線装置85と無線装置94との距離、無線装置86と無線装置95との距離、および無線装置87と無線装置96との距離は、それぞれ、R7〜R12である。
なお、アンテナ811,821,831,841,851,861,871,911,921,931,941,951,961の各々は、全方位性のアンテナである。
図8は、図7に示す無線装置81の構成を示す機能ブロック図である。無線装置81は、図2に示す無線装置1の距離検出部14および組織化測位部15をそれぞれ距離検出部14Aおよび組織化測位部15Aに代えたものであり、その他は、無線装置1と同じである。
なお、無線装置81においては、受信部12は、アンテナ811を介して無線装置82〜87からの信号を受信し、その受信した信号を必要に応じて自己位置測位部13、距離検出部14Aおよび組織化測位部15Aのいずれかへ出力する。組織化測位部15Aが無線装置81の位置を推定する場合、受信部12は、無線装置82〜87の仮の自己位置wy1(t)〜wy6(t)、無線装置91〜96の仮の自己位置wx1(t)〜wx6(t)、および距離R7〜R12をそれぞれ無線装置82〜87からアンテナ811を介して受信し、その受信した仮の自己位置wy1(t)〜wy6(t)、仮の自己位置wx1(t)〜wx6(t)および距離R7〜R12を組織化測位部15Aへ出力する。
距離検出部14Aは、無線装置81と無線装置82〜87のそれぞれとの距離R1〜R6を測定し、その測定した距離R1〜R6をそれぞれ無線装置82〜87に対応付けて保持する。なお、距離検出部14Aは、距離検出部14と同じ方法によって距離R1〜R6を測定する。
組織化測位部15Aは、自己位置測位部13からの仮の自己位置wi(0)と、距離検出部14Aからの距離R1〜R6と、受信部12からの仮の自己位置wy1(t)〜wy6(t)、仮の自己位置wx1(t)〜wx6(t)、および距離R7〜R12とに基づいて、後述する方法によって、無線装置81の仮の自己位置wi(t)(t=0,1,2,・・・)を順次修正し、その修正した自己位置wi(t)を一定期間ごとに送信部16を介して無線装置82〜87へ送信する。
そして、組織化測位部15Aは、所定の条件が満たされると、最終的に修正された自己位置wi(t)を無線装置81の位置と推定する。
なお、無線装置82〜87の各々は、図8に示す無線装置81の構成と同じ構成からなる。
無線ネットワークシステム10Aにおいては、無線装置91〜96は、仮の自己位置wx1(t)〜wx6(t)をブロードキャストする。従って、例えば、無線装置91の仮の自己位置wx1(t)は、無線装置82,83,87,92によって受信される。無線装置92〜96の仮の自己位置wx2(t)〜wx6(t)も、同様に複数の無線装置によって受信される。
従って、無線装置82〜87の受信部12は、無線装置91〜96から仮の自己位置wx1(t)〜wx6(t)を受信し、その受信した仮の自己位置wx1(t)〜wx6(t)を距離検出部14Aへ出力する。
無線装置82〜87の距離検出部14Aは、それぞれ、無線装置91〜96との距離R7〜R12を測定し、その測定した距離R7〜R12をそれぞれ無線装置91〜96に対応付けて保持する。
そして、無線装置82〜87の距離検出部14Aは、受信部12から仮の自己位置wx1(t)〜wx6(t)を受けると、その受けた仮の自己位置wx1(t)〜wx6(t)を無線装置91〜96および距離R7〜R12に対応付けて送信部16へ出力する。
また、無線装置82〜87の組織化測位部15Aは、自己位置測位部13からそれぞれ仮の自己位置wy1(t)〜wy6(t)を受け、その受けた仮の自己位置wy1(t)〜wy6(t)を送信部16へ出力する。
そうすると、無線装置82〜87の送信部16は、それぞれ、位置情報PST1〜PST6を作成し、その作成した位置情報PST1〜PST6をそれぞれアンテナ821,831,841,851,861,871を介して無線装置81へ送信する。
この場合、位置情報PST1は、[無線装置82のIPアドレス:仮の自己位置wy1(t)/無線装置91のIPアドレス:仮の自己位置wx1(t),距離R7]からなり、位置情報PST2は、[無線装置83のIPアドレス:仮の自己位置wy2(t)/無線装置92のIPアドレス:仮の自己位置wx2(t),距離R8]からなる。
また、位置情報PST3は、[無線装置84のIPアドレス:仮の自己位置wy3(t)/無線装置93のIPアドレス:仮の自己位置wx3(t),距離R9]からなり、位置情報PST4は、[無線装置85のIPアドレス:仮の自己位置wy4(t)/無線装置94のIPアドレス:仮の自己位置wx4(t),距離R10]からなる。
更に、位置情報PST5は、[無線装置86のIPアドレス:仮の自己位置wy53(t)/無線装置95のIPアドレス:仮の自己位置wx5(t),距離R11]からなり、位置情報PST6は、[無線装置87のIPアドレス:仮の自己位置wy6(t)/無線装置96のIPアドレス:仮の自己位置wx6(t),距離R12]からなる。
従って、無線装置81の受信部12は、仮の自己位置wy1(t)〜wy6(t)、仮の自己位置wx1(t)〜wx6(t)、および距離R7〜R12を受信できる。
なお、位置情報PST1〜PST6に含まれる無線装置81〜86のIPアドレスは、無線装置81〜86を識別可能な識別子であれば、どのような識別子に代えられてもよい。
以下、無線装置81の組織化測位部15Aが無線装置81の位置を推定する方法について具体的に説明する。
無線装置81の組織化測位部15Aは、無線装置81の仮の自己位置wi(t)と無線装置82の仮の自己位置wy1(t)とに基づいて無線装置81と無線装置82との距離diys(t)=|wi(t)−wy1(t)|を演算する。この場合、仮の自己位置wi(t),wy1(t)は、例えば、x−y座標によって表されているため、組織化測位部15Aは、距離diys(t)=|wi(t)−wy1(t)|(「演算距離」という)を容易に演算できる。
そして、組織化測位部15Aは、演算した演算距離diys(t)=|wi(t)−wy1(t)|と、距離検出部14Aから取得した無線装置81と無線装置82との間の測定された距離R1(=diy1(t)、「測定距離」という)とに基づいて、演算距離diys(t)=|wi(t)−wy1(t)|を測定距離diy1(t)に近づけるための修正ベクトルVi (1)(t)を次式により演算する。
なお、wi(t)=wi(0),wi(1),wi(2),・・・であり、wy(t)=wy(0),wy(1),wy(2),・・・であり、tは、無線装置81における仮の自己位置wi(t)および無線装置82〜87における仮の自己位置wy(t)の修正回数を示す。また、yは、無線装置82〜87に対応してy1〜y6である。
また、組織化測位部15Aは、無線装置81の仮の自己位置wi(t)と無線装置91の仮の自己位置wx1(t)とに基づいて無線装置81と無線装置91との距離dixs(t)=|wi(t)−wx1(t)|を演算する。この場合、仮の自己位置wx1(t)も、例えば、x−y座標によって表されているため、組織化測位部15Aは、距離dixs(t)=|wi(t)−wx1(t)|(「演算距離」という)を容易に演算できる。
そして、組織化測位部15Aは、演算した演算距離dixs(t)=|wi(t)−wx1(t)|を演算距離diys(t)=|wi(t)−wy1(t)|と比較する。
組織化測位部15Aは、演算距離dixs(t)=|wi(t)−wx1(t)|が演算距離diys(t)=|wi(t)−wy1(t)|よりも長いとき、演算距離dixs(t)=|wi(t)−wx1(t)|と、距離検出部14Aから取得した無線装置81と無線装置82との間の測定距離R1(=diy1(t))と、受信部12から受けた無線装置82と無線装置91との間の測定距離R7(=dy1x1(t))とに基づいて、演算距離dixs(t)=|wi(t)−wx1(t)|を測定距離diy1(t)+dy1x1(t)に近づけるための修正ベクトルVi (2)(t)を次式により演算する。
なお、wx(t)=wx(0),wx(1),wx(2),・・・であり、tは、無線装置91〜96における仮の自己位置wx(t)の修正回数を示す。また、xは、無線装置91〜96に対応してx1〜x6である。
一方、組織化測位部15Aは、演算距離dixs(t)=|wi(t)−wx1(t)|が演算距離diys(t)=|wi(t)−wy1(t)|以下であるとき、ベクトルwy1(t)−wi(t)と、ベクトルwy1(t)−wx1(t)とを演算し、その演算したベクトル(wy1(t)−wi(t)),(wy1(t)−wx1(t))と、測定距離R1(=diy1(t))および測定距離R7(=dy1x1(t))とに基づいて、演算距離dixs(t)=|wi(t)−wx1(t)|を測定距離diy1(t)+dy1x1(t)に近づけるための修正ベクトルVi (2)(t)を次式により演算する。
そして、組織化測位部15Aは、仮の自己位置wi(t)の修正回数tがしきい値τ以下であるとき、式(10)によって示される修正ベクトルVi {1}(t)と、式(11)または式(12)によって表される修正ベクトルVi {2}(t)とを用いて次式によって無線装置81の仮の自己位置wi(t)を修正する。
また、組織化測位部15Aは、仮の自己位置wi(t)の修正回数tがしきい値τよりも大きいとき、式(10)によって示される修正ベクトルVi {1}(t)を用いて次式によって無線装置81の仮の自己位置wi(t)を修正する。
なお、式(13)および式(14)において、αi(t)は、仮の自己位置wi(t)のt回目の修正時における学習関数であり、次式によって表される。
式(15)において、Ei(t)は、仮の自己位置wi(t)のt回目の修正時における無線装置81と、無線装置81の近傍に存在する無線装置82〜87との距離平均誤差量であり、Ei(t−1)は、仮の自己位置wi(t)のt−1回目の修正時における無線装置81と、無線装置81の近傍に存在する無線装置82〜87との距離平均誤差量である。
組織化測位部15Aは、距離平均誤差量Ei(t)を次式により演算する。
式(16)において、Ni(t)は、仮の自己位置wi(t)のt回目の修正時において無線装置81の近傍に存在する無線装置の総数を表し、具体的には、無線装置82〜87の個数である6個である。
また、diy(t)(yは、y1〜y6のいずれかを表す)は、無線装置81と無線装置82〜87のいずれかとの間の測定距離を表す。より具体的には、diy1(t)は、無線装置81と無線装置82との間の測定距離を表し、diy2(t)は、無線装置81と無線装置83との間の測定距離を表し、diy3(t)は、無線装置81と無線装置84との間の測定距離を表し、diy4(t)は、無線装置81と無線装置85との間の測定距離を表し、diy5(t)は、無線装置81と無線装置86との間の測定距離を表し、diy6(t)は、無線装置81と無線装置87との間の測定距離を表す。従って、diy(t)=diy1(t)〜diy6(t)は、それぞれ、R1〜R6に等しい。
更に、wy(t)(yは、y1〜y6のいずれかを表す)は、仮の自己位置wi(t)のt回目の修正時において無線装置1から1ホップ内に存在する無線装置の仮の自己位置を表し、より具体的には、wy1(t)は、仮の自己位置wi(t)のt回目の修正時における無線装置82の仮の自己位置を表し、wy2(t)は、仮の自己位置wi(t)のt回目の修正時における無線装置83の仮の自己位置を表し、wy3(t)は、仮の自己位置wi(t)のt回目の修正時における無線装置84の仮の自己位置を表し、wy4(t)は、仮の自己位置wi(t)のt回目の修正時における無線装置85の仮の自己位置を表し、wy5(t)は、仮の自己位置wi(t)のt回目の修正時における無線装置86の仮の自己位置を表し、wy6(t)は、仮の自己位置wi(t)のt回目の修正時における無線装置87の仮の自己位置を表す。従って、wy(t)=wy1(t)〜wy6(t)は、それぞれ、無線装置82〜87から無線装置81へブロードキャストされる仮の自己位置である。
そうすると、組織化測位部15Aは、無線装置の総数Ni(t)、測定距離diy1(t)〜diy6(t)および仮の自己位置wy1(t)〜wy6(t)を取得でき、その取得した無線装置の総数Ni(t)、測定距離diy1(t)〜diy6(t)および仮の自己位置wy1(t)〜wy6(t)を式(15)に代入して距離平均誤差Ei(t)を演算する。
そして、組織化測位部15Aは、その演算した距離平均誤差Ei(t)と、仮の自己位置wi(t)のt−1回目の修正時における距離平均誤差Ei(t−1)との差を演算することにより、距離平均誤差の変化量ΔEi(t)=Ei(t)−Ei(t−1)を演算する。
組織化測位部15Aは、距離平均誤差の変化量ΔEi(t)を演算すると、変化量ΔEi(t)がしきい値θ以上であるか否かを判定し、その判定結果に応じて異なる学習関数αi(t)を式(13)または式(14)に代入して無線装置81の仮の自己位置wi(t)を修正する。
即ち、変化量ΔEi(t)=Ei(t)−Ei(t−1)がしきい値θ以上であるとき(ΔEi(t)≧θ)、組織化測位部15Aは、αi(t)=−1を式(13)または式(14)に代入して無線装置81の仮の自己位置wi(t)を修正する。
また、変化量ΔEi(t)=Ei(t)−Ei(t−1)がしきい値θよりも小さいとき(ΔEi(t)<θ)、組織化測位部15Aは、αi(t)=η・|αi(t−1)|を式(13)または式(14)に代入して無線装置81の仮の自己位置wi(t)を修正する。
上記の式(10)を用いた無線装置81の仮の自己位置wi(t)の修正概念は、図3に示す修正概念と同じである。
上記の式(11)を用いた無線装置81の仮の自己位置wi(t)の修正を概念的に説明する。図9は、式(11)を用いた無線装置81の仮の自己位置wi(t)の修正概念を説明するための図である。
無線装置81は、仮の自己位置wi(t)に存在し、無線装置82は、仮の自己位置wy(t)に存在し、無線装置91は、仮の自己位置wx(t)に存在している。
そして、仮の自己位置wi(t),wx(t)に基づいて演算された演算距離|wi(t)−wx(t)|が、実測された無線装置81,82間の測定距離diy(t)(=R1)と実測された無線装置82,91間の測定距離dyx(t)(=R7)との和diy(t)+dyx(t)と異なるとき、測定距離diy(t)+dyx(t)と演算距離|wi(t)−wx(t)|との差を修正ベクトルVi {2}(t)として求め、その求めた修正ベクトルVi {2}(t)に従って無線装置81の仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する。
これによって、無線装置81の仮の自己位置wi(t+1)と、無線装置91の仮の自己位置wx(t)との間の距離は、測定距離diy(t)+dyx(t)になる。
従って、式(10)または式(11)によって、仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正することは、演算距離|wi(t)−wy(t)|または|wi(t)−wx(t)|が測定距離diy(t)またはdiy(t)+dyx(t)に近づくように仮の自己位置wi(t)を修正することに相当する。
式(11)においては、無線装置81と無線装置82との間の測定距離diy(t)と、無線装置82と無線装置91との間の測定距離dyx(t)との和diy(t)+dyx(t)を無線装置81と無線装置91との間の測定距離として用いる。
これは、無線装置81から2ホップ内に存在する無線装置91の仮の自己位置wx(t)を用いて無線装置81の仮の自己位置wi(t)を修正する場合、無線装置81と無線装置91との間の距離を強調して仮の自己位置wi(t)を修正するためである。
即ち、無線装置82は、無線装置81から1ホップ内に存在し、無線装置91は、無線装置81に対して無線装置82よりも遠くに存在するというネットワークのトポロジー(即ち、無線ネットワークシステム10Aにおける無線装置81〜87,91〜96の配置形態)を反映して無線装置81の仮の自己位置wi(t)を修正するために、和diy(t)+dyx(t)を無線装置81と無線装置91との間の測定距離として用いることにしたものである。
そして、ネットワークのトポロジーを反映した無線装置81の仮の自己位置wi(t)の仮の自己位置wi(t+1)への修正を強調するために、式(12)を用いて仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する。
即ち、式(12)は、無線装置91〜96の仮の自己位置wx(t)=wx1(t)〜wx6(t)を用いて式(10)によって演算された6個の修正ベクトルVx1 {2}(t)〜Vx6 {2}(t)の和Vx1 {2}(t)+Vx2 {2}(t)+Vx3 {2}(t)+Vx4 {2}(t)+Vx5 {2}(t)+Vx6 {2}(t)を用いて仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する。
次に、上記の式(12)を用いた無線装置81の仮の自己位置wi(t)の修正を概念的に説明する。図10は、式(12)を用いた無線装置81の仮の自己位置wi(t)の修正概念を説明するための図である。
無線装置81の仮の自己位置wi(t)と無線装置91の仮の自己位置wx(t)とに基づいて演算された演算距離|wi(t)−wx(t)|が無線装置81の仮の自己位置wi(t)と無線装置82の仮の自己位置wy(t)とに基づいて演算された演算距離|wi(t)−wy(t)|以下であるとき、即ち、無線装置91が無線装置82よりも無線装置81に近い位置に存在するとき、和diy(t)+dyx(t)を無線装置81と無線装置91との間の測定距離とすると、無線装置81の仮の自己位置wi(t)が仮の自己位置w’i(t+1)へ修正される。
そうすると、無線装置81の仮の自己位置w’i(t+1)は、無線装置82の仮の自己位置wy(t)と無線装置91の仮の自己位置wx(t)とを結ぶ線分の延長線の方向と異なる方向へ修正されるため、無線装置81と無線装置91との間の測定距離として和diy(t)+dyx(t)を用いることが困難になる。
そこで、無線装置81と無線装置91との間の測定距離として和diy(t)+dyx(t)を用いることができるようにするため、即ち、式(11)によって修正ベクトルVi {2}(t)を演算できるようにするために、演算距離|wi(t)−wx(t)|が演算距離|wi(t)−wy(t)|以下であるとき、式(12)によって修正ベクトルVi {2}(t)を演算することにしたものである。
式(12)によって演算される修正ベクトルVi {2}(t)は、無線装置81から無線装置82へ向かうベクトル(=wy(t)−wi(t))に、無線装置91から無線装置82へ向かうベクトル(=wy(t)−wx(t))のdiy(t)/dyx(t)倍を加算したものである。
つまり、無線装置81の仮の自己位置wi(t)を無線装置91から無線装置82へ向かうベクトル(=wy(t)−wx(t))の延長線上の仮の自己位置wi(t+1)へ修正するように、修正ベクトルVi {2}(t)を演算することにしたものである。
これによって、無線装置81と無線装置91との間の測定距離として和diy(t)+dyx(t)を用いて無線装置81の仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正できるようになる。
なお、ベクトル(=wy(t)−wx(t))をdiy(t)/dyx(t)倍するのは、無線装置81の修正後の仮の自己位置wi(t+1)と無線装置91の仮の自己位置wx(t)とに基づいて演算された演算距離|wi(t+1)−wx(t)|が無線装置81,91間の測定距離diy(t)+dyx(t)に一致するようにするためである。
ベクトル(wy(t)−wx(t))/dyx(t)は、無線装置91から無線装置82へ向かう単位ベクトルになり、その単位ベクトルをdiy(t)倍することによって、無線装置91から無線装置82へ向かう方向を有し、長さが無線装置81,82間の測定距離に等しいベクトル(wy(t)−wx(t))diy(t)/dyx(t)が得られるからである。
更に、式(15)によって学習関数αi(t)を演算するようにしたのは、図4において説明したように、修正後の仮の自己位置wi(t+1)が局所解に至った場合に、修正後の仮の自己位置wi(t+1)が局所解から抜け出せるようにするためである。
式(13)、式(14)および式(16)におけるセルフバイアスBiasi(t)は、実施の形態1における式(9)に従って決定されるが、実施の形態2においては、組織化測位部15Aは、修正回数tがしきい値τ以下である場合、式(13)を用いて仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正し、修正回数tがしきい値τよりも多い場合、式(14)を用いて仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する。
従って、実施の形態2においては、修正回数tがしきい値τ以下である場合、式(9)における演算距離dist(t)は、dist(t)=dixs(t)からなり、測定距離dijk(t)は、dijk(t)=diy(t)+dyx(t)からなる。
また、実施の形態2においては、修正回数tがしきい値τよりも多い場合、式(9)における演算距離dist(t)は、dist(t)=diys(t)からなり、測定距離dijk(t)は、dijk(t)=diy(t)からなる。
更に、実施の形態2においては、無線装置81の仮の自己位置wi(t)を修正する場合、修正回数tがしきい値τに達するまで、式(13)によって仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正し、修正回数tがしきい値τに達すると、式(14)によって仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する。
これは、仮の自己位置wi(t)の修正の初期段階(修正回数t≦しきい値τ)においては、無線ネットワークシステム10Aのトポロジーを反映して無線装置81の仮の自己位置wi(t)を修正し、その後、無線装置81の近傍(1ホップ内)に存在する無線装置82〜87の仮の自己位置wy(t)を用いて仮の自己位置wi(t)を修正するようにするためである。
つまり、無線ネットワークシステム10Aにおける無線装置の配置形態を特徴付ける無線ネットワークシステム10Aのトポロジーを反映して無線装置81の仮の自己位置wi(t)を概略的に修正し、その後、無線装置81の近傍(1ホップ内)に存在する無線装置82〜87の仮の自己位置wy(t)を用いて仮の自己位置wi(t)が最適解に近づくように仮の自己位置wi(t)を局所的に修正するようにするためである。
仮の自己位置wi(t),wy(t),wx(t)は、それぞれ、無線装置81,82,91の自己位置測位部13において生成されるものであり、自己位置測位部13がGPS等の位置測定機能を有しないときは、ランダムに生成されるものであるので、式(13)または式(14)によって修正された仮の自己位置wi(t+1)は誤差を含んでおり、演算距離|wi(t+1)−wx(t)|が測定距離diy(t)+dyx(t)(=R1+R7)に即座に一致し、演算距離|wi(t+1)−wy(t)|が測定距離diy(t)(=R1)に即座に一致するものではない。
従って、無線装置81の組織化測位部15Aは、式(13)または式(14)による仮の自己位置wi(t)の修正を無線装置81から2ホップ内に存在する無線装置91〜96の仮の自己位置wx(t)(x=x1〜x6)と無線装置81から1ホップ内に存在する無線装置82〜87の仮の自己位置wy(t)(y=y1〜y6)とを用いて所定回数実行し、所定回数実行後の仮の自己位置wi(t+1)を無線装置81の位置と推定する。
無線装置81の組織化測位部15Aは、無線装置82〜87から受信した仮の自己位置wy1(t)〜wy6(t),wx1(t)〜wx6(t)および測定距離R7〜R12を用いて仮の自己位置wi(t)を6回修正したとき、その修正後の仮の自己位置wi(t+1)を無線装置82〜87へブロードキャストする。
また、無線装置81の組織化測位部15Aは、好ましくは、無線装置82〜87の一部からの仮の自己位置(wy1(t)〜wy6(t)の一部),(wx1(t)〜wx6(t)の一部)および測定距離(R7〜R12の一部)を用いて仮の自己位置wi(t)を所定回数修正したとき、その修正後の仮の自己位置wi(t+1)を無線装置82〜87へブロードキャストする。
例えば、無線装置81の組織化測位部15Aは、無線装置82,85,87からの仮の自己位置wy1(t),wy4(t),wy6(t);wx1(t),wx4(t),wx6(t)および測定距離R7,R10,R12を用いて仮の自己位置wi(t)を3回修正したとき、その修正後の仮の自己位置wi(t+1)を無線装置82〜87へブロードキャストする。
そして、仮の自己位置wy1(t)〜wy6(t),wx1(t)〜wx6(t)および測定距離R7〜R12を用いた仮の自己位置wi(t)の所定回数の修正を1セットとすると、無線装置81の組織化測位部15Aは、仮の自己位置wi(t)の修正を所定セット数だけ実行したときに、その修正後の仮の自己位置wi(t+1)を無線装置81の位置と推定する。
無線装置82〜87は、上述した無線装置81における仮の自己位置wi(t)の修正方法と同じ修正方法に従って、仮の自己位置wy1(t)〜wy6(t)を順次修正し、自己の位置を推定する。そして、無線装置82〜87は、その修正後の仮の自己位置wy1(t)〜wy6(t)を無線装置81,91〜96へブロードキャストする。
更に、無線装置91〜96は、上述した無線装置81の仮の自己位置wi(t)の修正方法と同じ修正方法に従って、仮の自己位置wx1(t)〜wx6(t)を順次修正し、自己の位置を推定する。そして、無線装置91〜96は、その修正後の仮の自己位置wx1(t)〜wx6(t)を無線装置82〜87へブロードキャストする。
なお、修正後の仮の自己位置wi(t+1)を無線装置81から受信した無線装置82〜87は、その受信した無線装置81の仮の自己位置wi(t+1)を用いて無線装置81における方法と同じ方法によって無線装置82〜87の各々の仮の自己位置wy1(t)〜wy6(t)を修正し、その修正後の仮の自己位置wy1(t+1)〜wy6(t+1)をブロードキャストする。そして、無線装置81は、無線装置82〜87からの仮の自己位置wy1(t+1)〜wy6(t+1)を受信し、その受信した仮の自己位置wy1(t+1)〜wy6(t+1)を用いて、上述した方法によって、仮の自己位置wi(t)を順次修正する。
図11および図12は、それぞれ、無線装置の位置を推定する動作を説明するための実施の形態2における第1および第2のフローチャートである。なお、図11および図12においては、無線装置81が無線装置82〜87のうちの一部の無線装置y1〜yd(dは2以上の整数)から仮の自己位置wy1(t)〜wyd(t),wx1(t)〜wxd(t)および測定距離dyx1(t)〜dyxd(t)(=R7〜R12の一部)を受信して仮の自己位置wi(t)を修正する場合について説明する。
一連の動作が開始されると、無線装置i(=無線装置81)の組織化測位部15Aは、無線装置i(=無線装置81)における仮の自己位置wi(t)の修正回数tをt=0に設定し、仮の自己位置wi(t)の修正時間TをT=0に設定する(ステップS31)。なお、無線装置i(=無線装置81)の組織化測位部15Aは、タイマーを内蔵しており、タイマーによって修正時間Tを計測する。そして、無線装置i(=無線装置81)の組織化測位部15Aは、無線装置81における仮の自己位置wi(t)の修正セット数StをSt=0に設定する(ステップS32)。
その後、無線装置i(=無線装置81)の組織化測位部15Aは、自己位置測位部13から無線装置i(=無線装置81)の仮の自己位置wi(0)を取得し(ステップS33)、その取得した仮の自己位置wi(0)をブロードキャストするように送信部16を制御し、送信部16は、組織化測位部15Aから受けた仮の自己位置wi(0)を無線装置82〜87へブロードキャストする(ステップS34)。
無線装置i(=無線装置81)の受信部12は、1ホップ内に存在する無線装置y(=無線装置82〜87)のうちの一部の無線装置y1〜ydの仮の自己位置wy1(t)〜wyd(t)、2ホップ内に存在する無線装置x(=無線装置91〜96)の一部の無線装置x1〜xdの仮の自己位置wx1(t)〜wxd(t)および測定距離dyx1(t)〜dyxd(t)を無線装置82〜87の一部の無線装置y1〜ydから受信し(ステップS35)、その受信した仮の自己位置wy1(t)〜wyd(t),wx1(t)〜wxd(t)および測定距離dyx1(t)〜dyxd(t)を組織化測位部15Aへ出力する。
その後、無線装置i(=無線装置81)の組織化測位部15Aは、c(1≦c≦d)=1を設定し(ステップS36)、仮の自己位置wy1(t)〜wyd(t)のうちの1つの仮の自己位置wyc(t)(c=1)と、仮の自己位置wx1(t)〜wxd(t)のうちの1つの仮の自己位置wxc(t)(c=1)と、測定距離dyx1(t)〜dyxd(t)のうちの1つの測定距離dyxc(t)(c=1)とを選択する。
仮の自己位置wxc(t)は、仮の自己位置wyc(t)を有する無線装置ycから1ホップ内に存在する無線装置xcの仮の自己位置であり、測定距離dyxc(t)は、無線装置ycと無線装置xcとの間の測定距離である。
例えば、無線装置ycとして無線装置82が選択された場合、仮の自己位置wyc(t)は、無線装置82の仮の自己位置wy1(t)になり、仮の自己位置wxc(t)は、無線装置91の仮の自己位置wx1(t)になり、測定距離dyxc(t)は、無線装置82,91間の測定距離R7になる。
そして、無線装置i(=無線装置81)の組織化測位部15Aは、その選択した1つの仮の自己位置wyc(t)を有する無線装置ycと無線装置iとの間の測定距離diyc(t)を距離検出部14Aから取得する(ステップS37)。
その後、無線装置i(=無線装置81)の組織化測位部15Aは、仮の自己位置wi(t),wyc(t)に基づいて演算距離diys(t)=|wi(t)−wyc(t)|を演算するとともに、仮の自己位置wi(t),wxc(t)に基づいて演算距離dixs(t)=|wi(t)−wxc(t)|を演算する(ステップS38)。
そうすると、無線装置i(=無線装置81)の組織化測位部15Aは、演算距離dixs(t)が演算距離diys(t)以下であるか否かを判定し(ステップS39)、演算距離dixs(t)が演算距離diys(t)以下でないとき、仮の自己位置wi(t),wxc(t)および測定距離diyc(t),dyxc(t)に基づいて、式(11)を用いて、修正ベクトルVxc {2}(t)を演算する(ステップS40)。
一方、ステップS39において、演算距離dixs(t)が演算距離diys(t)以下であると判定されたとき、無線装置i(=無線装置81)の組織化測位部15Aは、仮の自己位置wi(t),wxc(t)および測定距離diyc(t),dyxc(t)に基づいて、式(12)を用いて、修正ベクトルVxc {2}(t)を演算する(ステップS41)。
そして、ステップS40またはステップS41の後、無線装置i(=無線装置81)の組織化測位部15Aは、c=dであるか否かを判定し(ステップS42)、c=dでないとき、c=c+1を設定する(ステップS43)。
その後、一連の動作は、ステップS37へ戻り、ステップS42において、c=dであると判定されるまで、上述したステップS37〜ステップS43が繰り返し実行される。
即ち、無線装置i(=無線装置81)の周囲に存在する無線装置82〜87の一部の無線装置y1〜ydから受信した仮の自己位置wx1(t)〜wxd(t)および測定距離dyx1(t)〜dyxd(t)の全てを用いて修正ベクトルVxc {2}(t)を演算するまで、ステップS37〜ステップS43が繰り返し実行される。
そして、ステップS42において、c=dであると判定されると、無線装置i(=無線装置81)の組織化測位部15Aは、無線装置y1〜ydの中から1つの無線装置yrを選択し、その選択した無線装置yrと無線装置iとの間の測定距離diyr(t)を距離検出部14Aから取得する(ステップS44)。
その後、無線装置i(=無線装置81)の組織化測位部15Aは、仮の自己位置wi(t),wyr(t)および測定距離diyr(t)に基づいて、式(10)に示す修正ベクトルVi {1}(t)を演算する(ステップS45)。
そして、無線装置i(=無線装置81)の組織化測位部15Aは、演算距離dist(t)(=dixs(t)またはdiys(t)、以下同じ)が測定距離dijk(t)(=diy(t)+dyx(t)またはdiy(t)、以下同じ)以上であるか否かを判定し(ステップS46)、演算距離dist(t)が測定距離dijk(t)以上であるとき、セルフバイアスBiasi(t)を“1.0”に設定する(ステップS47)。
一方、演算距離dist(t)が測定距離dijk(t)以上でないとき、無線装置i(=無線装置81)の組織化測位部15Aは、演算距離dist(t)に対する測定距離dijk(t)の比Rdst=dijk(t)/dist(t)を演算し、その演算した比Rdst=dijk(t)/dist(t)がφ1≦{dijk(t)/dist(t)}≦φ2を満たすか否かを更に判定する(ステップS48)。
そして、無線装置i(=無線装置81)の組織化測位部15Aは、比Rdst=dijk(t)/dist(t)がφ1≦{dijk(t)/dist(t)}≦φ2を満たすとき、セルフバイアスBiasi(t)をBias1に設定し(ステップS49)、比Rdst=dijk(t)/dist(t)がφ1≦{dijk(t)/dist(t)}≦φ2を満たさないとき、セルフバイアスBiasi(t)をBias2に設定する(ステップS50)。
ステップS47,S49,S50のいずれかの後、無線装置i(=無線装置81)の組織化測位部15Aは、仮の自己位置wi(t)の修正回数tがしきい値τ以下であるか否かを判定し(ステップS51)、修正回数tがしきい値τ以下であるとき、式(13)によって、仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する(ステップS52)。この場合、図11に示すステップS37〜ステップS43のループで演算されたc個のVxc (2)(t)の和が式(13)により演算され、仮の自己位置wi(t)が仮の自己位置wi(t+1)へ修正される。
一方、ステップS61において、修正回数tがしきい値τよりも大きいと判定されたとき、無線装置i(=無線装置81)の組織化測位部15Aは、式(14)によって、仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する(ステップS53)。
なお、ステップS52,S53の修正においては、無線装置i(=無線装置81)の組織化測位部15Aは、式(15)によって距離平均誤差量Ei(t)を演算し、更に、距離平均誤差量Ei(t)の変化量ΔEi(t)=Ei(t)−Ei(t−1)を演算する。そして、無線装置i(=無線装置81)の組織化測位部15Aは、変化量ΔEi(t)がしきい値θ以上であるとき、学習関数αi(t)=−1を式(13)または式(14)へ代入して仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正し、変化量ΔEi(t)がしきい値θよりも小さいとき、学習関数αi(t)=η・|αi(t−1)|を式(13)または式(14)へ代入して仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する。
また、ステップS51において、修正回数tがしきい値τに達したと判定され、ステップS53において、式(14)に従って仮の自己位置wi(t)が修正される場合、無線装置i(=無線装置81)の組織化測位部15Aは、ステップS52において、式(13)に従って修正した後の仮の自己位置wi(t)を式(14)を用いて仮の自己位置wi(t+1)へ修正する。
そして、ステップS52またはステップS53の後、無線装置i(=無線装置81)の組織化測位部15Aは、T=Tcであるか否かを判定し(ステップS54)、T=Tcでないとき、一連の動作は、図11のステップS35へ戻る。そして、ステップS54において、T=Tcであると判定されるまで、上述したステップS35〜ステップS54が繰り返し実行される。
即ち、無線装置i(=無線装置81)の仮の自己位置wi(t)の修正時間Tが時間Tcに達するまで、無線装置i(=無線装置81)の周囲に存在する無線装置82〜87のうちの一部の無線装置y1〜ydから受信した仮の自己位置wy1(t)〜wyd(t),wx1(t)〜wxd(t)および測定距離dyx1(t)〜dyxd(t)の全てを用いて、修正ベクトルVxc (2)(t)を演算し、その演算した修正ベクトルVxc (2)(t)と、無線装置y1〜ydから選択した1つの無線装置yrの仮の自己位置wyr(t)とを用いて無線装置81の仮の自己位置wi(t)が修正される。
なお、Tcは、定数であり、任意の時間からなる。
そして、ステップS54において、T=Tcであると判定されると、無線装置i(=無線装置81)の組織化測位部15Aは、修正された仮の自己位置wi(t+1)をブロードキャストするように送信部16を制御し、送信部16は、修正された仮の自己位置wi(t+1)を無線装置82〜87へブロードキャストする(ステップS55)。
これによって、無線装置82〜87は、修正された仮の自己位置wi(t+1)を無線装置81から受信し、その受信した仮の自己位置wi(t+1)を用いて仮の自己位置wy1(t)〜wy6(t)を修正できる。
ステップS55の後、無線装置i(=無線装置1)の組織化測位部15Aは、St=St+1を設定し(ステップS56)、St=Nであるか否かを判定する(ステップS57)。
そして、St=Nでないと判定されたとき、無線装置i(=無線装置1)の組織化測位部15Aは、修正時間TをT=0に設定する(ステップS58)。つまり、無線装置i(=無線装置1)の組織化測位部15Aは、修正時間Tをリセットする。
その後、一連の動作は、図11に示すステップS35へ戻り、ステップS57において、修正セット数St=Nであると判定されるまで、上述したステップS35〜ステップS58が繰り返し実行される。
そして、ステップS57において、St=Nであると判定されたとき、無線装置i(=無線装置1)の組織化測位部15Aは、最終的に修正された自己位置wi(t+1)を無線装置81の位置と推定する(ステップS59)。そして、一連の動作が終了する。
なお、図11および図12に示すフローチャートにおいては、ステップS54は、削除されてもよい。この場合、無線装置i(=無線装置1)の組織化測位部15Aは、ステップS52またはステップS53によって仮の自己位置wi(t)を修正するごとに、その修正した仮の自己位置wi(t)をブロードキャストする。
また、無線装置82〜87,91〜96の各々も、図11および図12に示すフローチャートに従って自己の位置を推定する。
これによって、無線ネットワークシステム10Aにおける無線装置81〜87,91〜96の位置が自律的に推定される。この場合、無線装置81〜87,91〜96のうち、少なくとも1個の無線装置が既知である絶対位置を仮の自己位置とする場合、無線装置81〜87,91〜96の位置は絶対位置として決定される。
また、無線装置81〜87,91〜96の全てが既知である絶対位置を有しない場合、無線装置81〜87,91〜96の位置は相対的に決定される。
このように、いずれにしても、無線装置81〜87,91〜96の各々が図11および図12に示すフローチャートに従って自己の位置を自律的に推定することによって無線ネットワークシステム10Aにおいて無線装置81〜87,91〜96の位置を自律的に決定できる。
図11および図12に示すフローチャートにおいては、ステップS35〜ステップS54(またはステップS58)が1回実行されるとき、一連の動作がステップS46の“YES”およびステップS47を経由してステップS51へ至ったのであれば、無線装置i(=無線装置81)の組織化測位部15Aは、ステップS52またはステップS53において、セルフバイアスBiasi(t)を“1.0”に設定して仮の自己位置wi(t)を仮の自己位置wi(t+1)に修正する。また、一連の動作がステップS46の“NO”ステップS48の“YES”およびステップS49を経由してステップS51へ至ったのであれば、無線装置i(=無線装置81)の組織化測位部15Aは、ステップS52またはステップS53において、セルフバイアスBiasi(t)を“Bias1”に設定して仮の自己位置wi(t)を仮の自己位置wi(t+1)に修正する。更に、一連の動作がステップS46の“NO”ステップS48の“NO”およびステップS50を経由してステップS51へ至ったのであれば、無線装置i(=無線装置81)の組織化測位部15Aは、ステップS52またはステップS53において、セルフバイアスBiasi(t)を“Bias2”に設定して仮の自己位置wi(t)を仮の自己位置wi(t+1)に修正する。
このように、無線装置i(=無線装置81)の組織化測位部15Aは、測定距離dijk(t)の信頼性の程度に応じて、演算距離dist(t)を測定距離dijk(t)に近づける度合を変化させて仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する。
また、図11および図12に示すフローチャートにおいては、仮の自己位置wi(t)の修正回数tがしきい値τ以下であるとき、無線装置i(=無線装置81)から2ホップ内に存在する無線装置91〜96のうちの一部の無線装置x1〜xdの仮の自己位置wx1(t)〜wxd(t)を用いて仮の自己位置wi(t)を自己位置wi(t+1)へ修正する(ステップS51,S52参照)。
ステップS52における仮の自己位置wi(t)の修正においては、無線装置i(=無線装置81)から2ホップの位置に存在する無線装置x1〜xd(無線装置91〜96の一部)の仮の自己位置wx1(t)〜wxd(t)の全てを用いて演算された修正ベクトルVx1 {2}(t)〜Vxd {2}(t)の和Vx1 {2}(t)+Vx2 {2}(t)+・・・+Vxd {2}(t)を使用して仮の自己位置wi(t)を自己位置wi(t+1)へ修正する。
従って、仮の自己位置wi(t)の修正回数tがしきい値τ以下である初期段階においては、無線ネットワークシステム10Aのトポロジーを反映して仮の自己位置wi(t)の仮の自己位置wi(t+1)への修正が行なわれる。
そして、修正回数tがしきい値τに達すると、無線装置i(=無線装置81)から1ホップの位置に存在する無線装置yr(無線装置82〜87のうちの1個の無線装置)の仮の自己位置wyr(t)を用いて修正ベクトルVi {1}(t)によって仮の自己位置wi(t)の仮の自己位置wi(t+1)への修正が行なわれる(ステップS51,S53参照)。
即ち、修正回数tがしきい値τに達すると、仮の自己位置wi(t)が最適解に近づくように仮の自己位置wi(t)が局所的に修正される。
このように、実施の形態2においては、初期段階においては、無線装置i(=無線装置81)の仮の自己位置wi(t)を無線ネットワークシステム10Aのトポロジーを反映して大局的に修正し、修正回数tがしきい値τに達すると、仮の自己位置wi(t)を局所的に修正する。
これによって、既知である絶対位置を有する無線装置を増加させなくても、各無線装置の位置を推定する精度を向上できる。
更に、図11および図12に示すフローチャートにおいては、無線装置i(=無線装置81)は、自己から1ホップ内に存在する無線装置82〜87の全てから仮の自己位置wy1(t)〜wy6(t)等を受信してから仮の自己位置wi(t)を修正するのではなく、無線装置82〜87の一部の無線装置y1〜ydの仮の自己位置wy1(t)〜wyd(t)等を受信すると仮の自己位置wi(t)を修正する(ステップS35〜ステップS53参照)。
そして、一連の動作がステップS58からステップS35へ戻り、ステップS37〜ステップS43のループが2回目以降に実行される場合、無線装置i(=無線装置81)は、無線装置82〜87のうち、各回毎に同一または異なる一部の無線装置y1〜ydから仮の自己位置wy1(t)〜wyd(t),wx1(t)〜wxd(t)および測定距離dyx1(t)〜dyxd(t)を受信して仮の自己位置wi(t)を修正する。
これによって、後述するように、各無線装置の位置を推定する精度を向上できる。
なお、図11および図12に示すフローチャートにおいては、無線装置i(=無線装置81)は、自己から1ホップ内に存在する無線装置82〜87の全てから仮の自己位置wy1(t)〜wy6(t)等を受信してから仮の自己位置wi(t)を修正するようにしてもよい。
この場合、図11および図12に示すフローチャートのステップS35,S42において、c=v(=6)と設定すればよい。
以下、図11および図12に示すフローチャートに従って無線装置81〜87,91〜96の位置を推定する場合のシミュレーション結果について説明する。シミュレーションにおいては、図7に示す無線ネットワークシステム10Aが配置される空間として1.0m×1.0mの平面を定義し、この空間に図7に示す無線装置81〜87,91〜96をランダムに配置したネットワークトポロジーを定義する。
また、距離検出部14Aによって測定される無線装置間の距離は、エラーを含むが、このエラーは、正規分布に従うものとする。
更に、無線装置81が修正した仮の自己位置を近傍の無線装置82〜87へ配信する間隔は、無線装置82〜87の全てと通信して仮の自己位置を修正した度毎とする。そして、これを1サイクルとして、各無線装置81〜87ごとに300サイクルの仮の自己位置の修正を行なった。
更に、実施の形態2による位置推定方法の比較評価対象として、距離により位置推定を行なう三辺測量を用いた。図13および図14は、それぞれ、三辺測量における無線装置の第1および第2の配置図である。
図13および図14において、碁盤目状の交点に配置された黒丸は、アンカーノード(絶対位置が既知である無線装置)を示し、それ以外の黒丸は、無線装置を示す。
従って、図13に示す配置形態においては、各無線装置は、3個のアンカーノードと無線通信が可能であり、図14に示す配置形態においては、各無線装置は、4個のアンカーノードと無線通信が可能である。
そして、図13に示す配置形態における三辺測量を「三辺測量1」とし、図14に示す配置形態における三辺測量を「三辺測量2」とする。
更に、シミュレーションの各調整パラメータは、表1に示す値を用いた。
そして、位置推定精度の評価関数は、次式によって定義された。
なお、式(17)において、Nは、無線装置81〜87,91〜96の総数であり、Wiは、無線装置i(i=81〜87,91〜96)の実際の位置である。
図15は、無線装置の数による位置推定誤差の変化を示す図である。図15において、横軸は、無線ネットワークシステム10Aにおける無線装置の数を表し、縦軸は、式(17)によって定義される位置推定誤差の平均値を表す。
また、白三角は、三辺測量1を用いた結果を示し、白四角は、三辺測量2を用いた結果を示し、黒三角は、従来の推定法による結果を示し、黒丸は、実施の形態2による結果を示す。ここで、従来の推定法とは、上述したセルフバイアスBiasi(t)を用いないで仮の自己位置wi(t)を推定する方法を言う。即ち、演算距離dist(t)と測定距離dijk(t)との関係に無関係にセルフバイアスBiasi(t)の値を常に“1.0”に設定して図11および図12に示すフローチャートに従って仮の自己位置wi(t)を推定する方法を言う。
なお、図15に示すシミュレーションにおいては、アンカーノード数を3個とし、通信可能距離を0.5mとし、ライスファクター(Rice factor K)を6dBとした。また、三辺測量1においては、アンカーノード数が14個であり、三辺測量2においては、アンカーノード数が17個である。更に、無線装置の数毎に各無線装置をランダムに配置した50通りのネットワークトポロジーに関してシミュレーションを実施した。
従来の推定法においては、位置推定誤差の平均値は、無線装置の数が増加するに伴って、三辺測量1,2を用いた場合の位置推定誤差よりも大きい。従来の推定法では、無線装置の配置に大きく影響され、その無線装置の配置が実際の配置よりも大きくなり、測定距離の誤差に依存して振動するからである。
一方、実施の形態2による方法においては、位置推定誤差の平均値は、無線装置の数が増加するに伴って、三辺測量1,2を用いた場合の位置推定誤差よりも小さくなる。
図16は、無線装置の数による位置推定誤差の変化を示す他の図である。図16において、横軸は、無線ネットワークシステム10Aにおける無線装置の数を表し、縦軸は、式(17)によって定義される位置推定誤差の平均値を表す。
図16に示すシミュレーションは、図15に示すシミュレーションにおいて、ライスファクター(Rice factor K)を6dBから−6dBへ変えたものであり、その他は、図15に示すシミュレーションと同じである。
ライスファクター(Rice factor K)が−6dBである場合、即ち、測定距離が大きな誤差を含む場合、三辺測量1,2の配置においては、それぞれ、30.7%の無線装置および41.7%の無線装置が自己の位置を推定することができない。無線装置の位置を推定不可能な場合、無線装置が通信可能なアンカーノードの中心は、推定位置に配置される。従って、位置推定誤差の平均値は、三辺測量1,2の両方において、自然と大きくなる。従来の推定法を用いた場合も、無線装置の配置が実際の配置よりも大きくなり、測定距離の誤差に依存して振動するので、位置推定誤差の平均値は、大きくなる。
一方、実施の形態2による方法においては、測定距離の誤差が大きくなるにも拘わらず、位置推定誤差の平均値は、ライスファクター(Rice factor K)が6dBである場合に比べ、わずかに大きくなる程度であり、従来の推定法および三辺測量1,2に比べて明らかに小さい。
その結果、セルフバイアスBiasi(t)を用いることは、有効である。
図17は、アンカーノード数による位置推定誤差の平均値の変化を示す図である。図17において、横軸は、アンカーノード数を表し、縦軸は、位置推定誤差の平均値を表す。
また、黒丸は、ライスファクター(Rice factor K)が6dBである場合を示し、黒三角は、ライスファクター(Rice factor K)が−6dBである場合を示す。
なお、図17に示すシミュレーションにおいては、無線装置の個数は、120個に設定され、通信可能距離は、0.2mに設定され、ライスファクター(Rice factor K)は、6dBまたは−6dBに設定された。また、無線装置の数毎に各無線装置をランダムに配置した50通りのネットワークトポロジーに関してシミュレーションを実施した。
このような条件の下では、各無線装置に隣接する無線装置の数は、数個であり、図15および図16において無線装置の数が5個である場合の位置推定に類似した現象が生じる。
図15および図16においては、位置推定誤差の平均値は、無線装置の数が増加するに伴って、改善された。一方、図17においては、位置推定誤差の平均値は、アンカーノード数の増加に伴って改善される。
通信可能距離が0,2mである場合、三辺測量1,2は、それぞれ、45個および47個のアンカーノードを必要とする。そして、ライスファクター(Rice factor K)が−6dBである場合、三辺測量1,2における位置推定誤差の平均値は、それぞれ、0.077および0.082であり、ライスファクター(Rice factor K)が6dBである場合、三辺測量1,2における位置推定誤差の平均値は、それぞれ、0.033および0.024である。
図17に示す結果から、実施の形態2による方法においては、位置推定誤差の平均値は、ライスファクター(Rice factor K)が−6dBである場合、5個のアンカーノードで三辺測量1,2における位置推定誤差の平均値よりも低くなり、ライスファクター(Rice factor K)が6dBである場合、9個のアンカーノードで三辺測量1,2における位置推定誤差の平均値よりも低くなる。
従って、実施の形態2による方法は、三辺測量1,2よりも少ないアンカーノード数を用いて無線装置の位置を正確に推定可能である。
図18は、ライスファクター(Rice factor K)による位置推定誤差の平均値の変化を示す図である。図18において、横軸は、ライスファクター(Rice factor K)を表し、縦軸は、位置推定誤差の平均値を表す。
また、白三角は、三辺測量1を用いた結果を示し、白四角は、三辺測量2を用いた結果を示し、黒三角は、従来の推定法による結果を示し、黒丸は、実施の形態2による結果を示す。
更に、図18に示すシミュレーションにおいては、無線装置の個数は、50個に設定され、通信可能距離は、0.5mに設定された。更に、無線装置の数毎に各無線装置をランダムに配置した50通りのネットワークトポロジーに関してシミュレーションを実施した。
三辺測量1,2の両方においては、ライスファクター(Rice factor K)の減少に伴って、即ち、測定距離の誤差が大きくなるに伴って、位置推定誤差の平均値は、大きくなる。
ライスファクター(Rice factor K)が5dBである場合、三辺測量1においては、約12%の無線装置は、位置推定が不可能であり、三辺測量2においては、約4%の無線装置は、位置推定が不可能である。
しかし、ライスファクター(Rice factor K)が0dBである場合、三辺測量1においては、約34%の無線装置は、位置推定が不可能であり、三辺測量2においては、約22%の無線装置は、位置推定が不可能である。
従って、三辺測量1,2の両方は、ライスファクター(Rice factor K)が0dBよりも小さい領域においては、有効に機能しない。
図18においては、三辺測量1,2の両方における位置推定誤差の平均値を示すカーブの曲率は、0dBよりも小さくなるに従ってゆるやかになる。これは、無線装置が通信可能なアンカーノードの中心が位置推定が不可能な位置であり、置き換えられた位置が評価された位置における主になるからである。
従来の推定法においては、位置推定誤差の平均値は、三辺測量1,2よりも大きい。これは、上述した理由によるものである。
実施の形態2による方法においては、ライスファクター(Rice factor K)が小さくなっても、位置推定誤差の平均値の増加は、他の方法に比べ小さく、良好な位置推定結果が得られる。従って、この結果は、セルフバイアスBiasi(t)が有効であることを示す。
上記においては、無線ネットワークシステム10Aのトポロジーを反映して無線装置81の仮の自己位置wi(t)を修正するために、無線装置81から2ホップの位置に存在する無線装置91〜96の仮の自己位置wx(t)(x=1〜6)を用いたが、この発明においては、これに限らず、無線ネットワークシステム10Aのトポロジーを反映して無線装置81の仮の自己位置wi(t)を修正するために、無線装置81から3ホップ以上の位置に存在する無線装置の仮の自己位置を用いるようにしてもよい。
また、この発明においては、しきい値τは、無線ネットワークシステム10Aのトポロジー、即ち、無線ネットワークシステム10A内に存在する無線装置の数に応じて変えてもよい。
しきい値τは、無線ネットワークシステム10Aのトポロジーを反映した仮の自己位置wi(t)の修正段階から、近傍の無線装置の仮の自己位置を用いた仮の自己位置wi(t)の局所的な修正段階への切替えを行なう基準となるものであるので、しきい値τは、当然、無線ネットワークシステム10Aのトポロジーによって変化し得るからである。
この発明においては、距離検出部14Aは、「距離保持手段」を構成する。
また、図11および図12に示すフローチャートのステップS35〜ステップS56は、「位置修正処理」を構成する。
更に、図11および図12に示すフローチャートのステップS35〜ステップS53,S55,S56は、「第1の位置修正処理」を構成し、図11および図12に示すフローチャートのステップS35〜ステップS52,S54〜S56は、「第2の位置修正処理」を構成する。
更に、図11および図12に示すフローチャートのステップS35〜ステップS43は、「ベクトル演算処理」を構成する。
更に、図11および図12に示すフローチャートのステップS35〜ステップS53,S55,S56に従って仮の自己位置wi(t)を修正する組織化測位部15Aは、「第1の位置修正手段」を構成し、図11および図12に示すフローチャートのステップS35〜ステップS52,S54〜S56に従って仮の自己位置wi(t)を修正する組織化測位部15Aは、「第2の位置修正手段」を構成する。
更に、図11および図12に示すフローチャートに従って仮の自己位置wi(t)する場合、無線装置81〜87,91〜96は、「m(mは3以上の整数)個の無線装置」を構成する。
更に、図11および図12に示すフローチャートに従って仮の自己位置wi(t)する場合、無線装置91〜96は、「x(xは正の整数)個の無線装置」を構成し、無線装置82〜87は、「y(yは、x+y=mを満たす整数)個の無線装置」を構成する。
更に、修正ベクトル[Vi {1}(t)+(Vx1 {2}(t)+Vx2 {2}(t)+・・・+Vxd {2}(t))]は、「第1の距離偏差ベクトル」を構成し、修正ベクトルVi {1}(t)は、「第2の距離偏差ベクトル」を構成する。
更に、図11に示すフローチャートのステップS40,S41において演算される修正ベクトルVxc {2}(t)は、「第1の修正ベクトル」を構成し、図12に示すフローチャートのステップS45において演算される修正ベクトルVi {1}(t)は、「第2の修正ベクトル」を構成する。
更に、仮の自己位置wi(t)から無線装置91〜96の方向へ測定距離diyc(t)+dyxc(t)だけ移動するベクトルは、「第1のベクトル」を構成し、仮の自己位置wi(t)から無線装置91〜96の方向へ演算距離|wi(t)−wxc(t)|だけ移動するベクトルは、「第2のベクトル」を構成する。
更に、仮の自己位置wi(t)から無線装置82〜87の方向へ測定距離diyc(t)だけ移動するベクトルは、「第3のベクトル」を構成し、仮の自己位置wi(t)から無線装置82〜87の方向へ演算距離|wi(t)−wy(t)|だけ移動するベクトルは、「第4のベクトル」を構成する。
更に、図12に示すフローチャートのステップS53において修正された後の仮の自己位置wi(t)から無線装置82〜87の方向へ測定距離diyc(t)だけ移動するベクトルは、「第5のベクトル」を構成し、図12に示すフローチャートのステップS53において修正された後の仮の自己位置wi(t)から無線装置82〜87の方向へ演算距離|wi(t)−wy(t)|だけ移動するベクトルは、「第6のベクトル」を構成する。
更に、ベクトル[wyc(t)−wi(t)]は、「第7のベクトル」を構成し、ベクトル[wyc(t)−wxc(t)]は、「第8のベクトル」を構成し、ベクトル[(wyc(t)−wxc(t))diyc(t)/dyxc(t)]は、「第9のベクトル」を構成する。
更に、dixs(t)=|wi(t)−wxc(t)|は、「第1の演算距離」を構成し、diys(t)=|wi(t)−wyc(t)|は、「第2の演算距離」を構成する。
更に、しきい値τは、「第1の回数」を構成し、“N−τ”は、「第2の回数」を構成する。
その他は、実施の形態1と同じである。
実施の形態2によれば、無線ネットワークシステム10Aを構成する無線装置81〜87,91〜96の各々は、仮の自己位置wi(t)と近傍に存在する無線装置の仮の位置wy1(t)〜wy6(t),wx1(t)〜wx6(t)とに基づいて演算した演算距離dist(t)(=dixs(t)またはdiys(t))を測定距離dijk(t)(=diy(t)+dyx(t)またはdiy(t))よりも信頼し、演算距離dist(t)が測定距離dijk(t)に近づくように仮の自己位置wi(t)を自律的に順次修正し、自己の位置を決定する。
従って、この発明によれば、測定距離dijk(t)が誤差を含んでいても、無線装置の位置を自律的に正確に推定できる。
また、実施の形態2によれば、無線装置81から2ホップの位置に存在する無線装置91〜96の仮の自己位置wx1(t)〜wx6(t)を用いて無線装置81の仮の自己位置wi(t)を所定回数(しきい値τ)だけ修正し、その後、無線装置81から1ホップの位置に存在する無線装置82〜87の仮の自己位置wy1(t)〜wy6(t)を用いて無線装置81の仮の自己位置wi(t)を所定回数(N−τ)だけ修正する。
つまり、実施の形態2によれば、組織化測位部15Aは、無線ネットワークシステム10Aのトポロジーを反映して無線装置81の仮の自己位置wi(t)を概略的に修正し、その後、無線装置81の近傍(1ホップ内)に存在する無線装置82〜87の仮の自己位置wy1(t)〜wy6(t)を用いて仮の自己位置wi(t)が最適解に近づくように仮の自己位置wi(t)を局所的に修正する。
従って、この発明によれば、アンカーノードの個数を増加させなくても、各無線装置の位置を精度良く自律的に推定できる。
更に、実施の形態2によれば、組織化測位部15Aは、無線装置81の近傍に存在する無線装置82〜87の一部から仮の自己位置wy1(t)〜wyd(t),wx1(t)〜wxd(t)および測定距離dyx1(t)〜dyx1(t)を受信して仮の自己位置wi(t)を順次修正する。
従って、この発明によれば、各無線装置の位置を速く、かつ、精度良く推定できる。
上述した実施の形態1,2においては、距離検出部14,14Aは、受信信号強度Prに基づいて、無線装置間の測定距離d’(=R1〜R12)を検出し、組織化測位部15,15Aは、距離検出部14,14Aによって検出された測定距離d’(=R1〜R12)を用いて図6に示すフローチャートまたは図11および図12に示すフローチャートに従って仮の自己位置wi(t)を推定する。
そして、この発明においては、演算距離dist(t)と測定距離dijk(t)=d’=R1〜R12との比較結果に応じて、演算距離dist(t)を測定距離dijk(t)に近づける度合をセルフバイアスBiasi(t)を用いて変化させ、仮の自己位置wi(t)を推定する。
この発明による位置の推定方法を用いた場合、電波環境の指標であるライスファクター(Rice factor K)が6dBおよび−6dBのいずれであっても、位置推定誤差の平均値は、図15および図16に示すように、従来の推定法および三辺測量1,2に比べ、小さくなる。
また、TOA法およびTDOA法を用いて無線装置間の測定距離を検出した場合、位置推定誤差の平均値は、ライスファクター(Rice factor K)が6dBである場合の位置推定誤差の平均値とほぼ同じになるので、組織化測位部15,15Aは、TOA法またはTDOA法によって検出された測定距離を用いて仮の自己位置wi(t)を推定しても、位置推定誤差の平均値は、小さくなる。従って、距離検出部14,14Aは、受信信号強度Prに基づいて測定距離を検出する方法のみならず、TOA法、TDOA法およびRTOF(Roundtrip Time Of Flight)法のいずれかを用いて測定距離を検出してもよい。
TOA法によって無線装置1,2間の測定距離を検出する場合、無線装置2は、タイミングt1で信号を送信し、無線装置1の受信部12は、無線装置2からの信号を受信し、その受信した信号を距離検出部14,14Aへ出力する。距離検出部14,14Aは、無線ネットワークシステム10,10Aにおける共通のタイマーを保持しており、無線装置2がタイミングt1で信号を送信したことを認識している。そして、距離検出部14,14Aは、受信部12から信号を受けると、信号を受けたタイミングt2を検出し、タイミングt1,t2に基づいて、(t2−t1)×c(cは光速)を演算して距離R1を測定する。
距離検出部14,14Aは、同様にして、無線装置1と、無線装置3〜7のそれぞれとの距離R2〜R6を測定する。
また、距離検出部14,14Aは、TDOA法を用いて測定距離R1〜R12を検出する場合、複数の無線装置から信号が到達する時刻を検出し、その検出した時刻の差から2つの無線装置間の距離を検出する。
更に、距離検出部14,14Aは、RTOFを用いて測定距離R1〜R12を検出する場合、信号が2つの無線装置間を往復する時間を計測し、その計測した往復時間から2つの無線装置間の距離を検出する。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1〜7,81〜87,91〜96 無線装置、10,10A 無線ネットワークシステム、11,21,31,41,51,61,71,811,821,831,841,851,861,871,911,921,931,941,951,961 アンテナ、12 受信部、13 自己位置測位部、14,14A 距離検出部、15,15A 組織化測位部、16 送信部。