本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
[実施の形態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へ出力する。
自己位置測位部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は、無線装置1と無線装置2〜7のそれぞれとの距離R1〜R6をTOA(Time Of Arrival)法によって測定する。
より具体的には、無線装置2は、タイミングt1で信号を送信し、無線装置1の受信部12は、無線装置2からの信号を受信し、その受信した信号を距離測定部14へ出力する。距離測定部14は、無線ネットワークシステム10における共通のタイマーを保持しており、無線装置2がタイミングt1で信号を送信したことを認識している。そして、距離測定部14は、受信部12から信号を受けると、信号を受けたタイミングt2を検出し、タイミングt1,t2に基づいて、(t2−t1)×c(cは光速)を演算して距離R1を測定する。
距離測定部14は、同様にして、無線装置1と、無線装置3〜7のそれぞれとの距離R2〜R6を測定する。
なお、距離測定部14は、TDOA(Time Diference Of Arrival)法またはRTOF(Roundtrip Time Of Flight)法によって、無線装置1と無線装置2〜7のそれぞれとの距離R1〜R6を測定してもよい。
このTDOA法は、複数の無線装置から信号が到達する時刻を検出し、その検出した時刻の差から2つの無線装置間の距離を測定する方法である。また、RTOFは、信号が2つの無線装置間を往復する時間を計測し、その計測した往復時間から2つの無線装置間の距離を測定する方法である。
距離測定部14は、上述したTOA法、TDOA法およびRTOF法のいずれかを用いて無線装置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は、距離|wi(t)−wj1(s)|(「演算距離」という)を容易に演算できる。
そして、組織化測位部15は、演算した演算距離|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)を次の式(2)および式(3)によって演算する。
式(3)において、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ホップ内の通信を意味する)される仮の自己位置である。
そうすると、組織化測位部15は、無線装置の総数Ni(t)、測定距離dij1(t)〜dij6(t)および仮の自己位置wj1(s)〜wj6(s)を取得でき、その取得した無線装置の総数Ni(t)、測定距離dij1(t)〜dij6(t)および仮の自己位置wj1(s)〜wj6(s)を式(3)に代入して距離平均誤差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)を修正する。
なお、式(4)および式(5)において、eijk(t)は、仮の自己位置wi(t)のt回目の修正時における無線装置1と無線装置2〜7のいずれかとのリンクの重みである。また、αi(t)は、仮の自己位置wi(t)のt回目の修正時における無線装置1の学習関数である。
そして、リンクの重みeijk(t)は、次式によって演算される。
また、学習関数αi(t)は、次式によって演算される。
なお、式(7)において、ηは、減衰定数であり、0<η<1を満たす正の実数である。
上記式(4)または式(5)を用いた無線装置1の仮の自己位置wi(t)の修正を概念的に説明すると次のようになる。
図3は、無線装置1の仮の自己位置wi(t)の修正概念を説明するための図である。無線装置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)になる。
従って、式(4)または式(5)によって、仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正することは、演算距離dist(t)=|wi(t)−wj1(s)|が測定距離dij1(t)に近づくように仮の自己位置wi(t)を修正することに相当する。
仮の自己位置wi(t),wj1(s)は、それぞれ、無線装置1,2の自己位置測位部13において生成されるものであり、自己位置測位部13がGPS等の位置測定機能を有しないときは、ランダムに生成されるものであるので、式(4)または式(5)によって修正された仮の自己位置wi(t+1)は誤差を含んでおり、演算距離|wi(t+1)−wj1(s)|が測定距離dij1(t)(=R1)に即座に一致するものではない。
従って、無線装置1の組織化測位部15は、式(4)または式(5)による仮の自己位置wi(t)の修正を無線装置1の近傍に存在する無線装置2〜7の仮の自己位置wj1(s)〜wj6(s)を用いて所定回数実行し、所定回数実行後の仮の自己位置wi(t+1)を無線装置1の位置と推定する。
式(4)および式(5)のいずれかを用いて無線装置1の仮の自己位置wi(t)を修正するのは、次の理由による。
図4は、反学習の効果を説明するための概念図である。上述した方法によって無線装置1の仮の自己位置wi(t)を順次修正した場合、修正後の仮の自己位置wi(t+1)が図4の(a)のエネルギー図に示すように、局所解に至る可能性がある。この場合、上述した変化量ΔDi(t)は、しきい値θ以下になっている。
そこで、修正後の仮の自己位置wi(t+1)が局所解から抜け出せるように反学習の効果を与える。より具体的には、図4の(b)に示すように、毎回の修正時に振動を与えることによって、山MTを越えさせて局所解から抜け出させ、より安定なエネルギーに到達するようにする(図4の(c)参照)。
これを実行するために、変化量ΔDi(t)がしきい値θ以下であるとき、式(4)によって仮の自己位置wi(t)を順次修正することにしたものである。この場合、式(1)を用いて演算された修正ベクトルVi(t)の反転ベクトル−Vi(t)を仮の自己位置wi(t)に加算して反学習の効果を与える。
また、この反学習の効果を高めるために、式(7)の上段において学習関数αi(t)を初期化して多くの入力を受け入れられるようにしたものである。
なお、変化量ΔDi(t)がしきい値θよりも大きいとき、仮の自己位置wi(t)は、局所解に至っていないので、式(5)によって仮の自己位置wi(t)を順次修正することにしたものである。
無線装置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)を順次修正する。
図5は、無線装置の位置を推定する動作を説明するための実施の形態1におけるフローチャートである。なお、図5においては、無線装置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)に基づいて、演算距離|wi(t)−wjk(s)|を演算し(ステップS7)、無線装置i(=無線装置1)と無線装置jk(=無線装置2)との間の測定距離dijk(t)(=R1)を距離測定部14から取得する(ステップS8)。
そうすると、無線装置i(=無線装置1)の組織化測位部15は、仮の自己位置wi(t),wjk(s)、演算距離|wi(t)−wjk(s)|および測定距離dijk(t)を式(1)に代入して修正ベクトルVi(t)を演算する(ステップS9)。
その後、無線装置i(=無線装置1)の組織化測位部15は、無線装置1の近傍に存在する無線装置の総数Ni(t)(=6)、演算距離|wi(t)−wjk(s)|および測定距離dijk(t)を式(3)に代入して距離平均誤差Di(t)を演算し、その演算した距離平均誤差Di(t)を用いて式(2)により距離平均誤差の変化量ΔDi(t)を演算する(ステップS10)。
そして、無線装置i(=無線装置1)の組織化測位部15は、変化量ΔDi(t)がしきい値θ以下であるか否かを判定し(ステップS11)、変化量ΔDi(t)がしきい値θ以下でないとき、式(7)の下段により学習関数αi(t)を演算し、式(6)により無線装置i(=無線装置1)と無線装置jk(=無線装置2)とのリンクの重みeijk(t)を演算し、その演算した学習関数αi(t)およびリンクの重みeijk(t)と、ステップS9において演算した修正ベクトルVi(t)とを式(5)に代入して仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する(ステップS12)。
一方、ステップS11において、変化量ΔDi(t)がしきい値θ以下であると判定されたとき、無線装置i(=無線装置1)の組織化測位部15は、式(7)の上段により学習関数αi(t)を演算し、式(6)により無線装置i(=無線装置1)と無線装置jk(=無線装置2)とのリンクの重みeijk(t)を演算し、その演算した学習関数αi(t)およびリンクの重みeijk(t)と、ステップS9において演算した修正ベクトルVi(t)とを式(4)に代入して仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する(ステップS13)。
そして、ステップS12またはステップS13の後、無線装置i(=無線装置1)の組織化測位部15は、k=mであるか否かを判定する(ステップS14)。mは、無線装置1の近傍に存在する無線装置2〜7の個数であり、具体的には、m=6である。従って、ステップS14において、k=mであるか否かを判定することは、無線装置i(=無線装置1)の組織化測位部15が無線装置2〜7からの仮の自己位置wj1(s)〜wj6(s)の全てに基づいて仮の自己位置wi(t)を修正したか否かを判定することに相当する。
ステップS14において、k=mでないと判定されたとき、無線装置i(=無線装置1)の組織化測位部15は、k=k+1およびt=t+1を設定する(ステップS15)。そして、ステップS14において、k=mであると判定されるまで、上述したステップS6〜ステップS15が繰り返し実行される。
ステップS6〜ステップS14が2回目に実行されるとき、kはk=2に設定されており、無線装置i(=無線装置1)の組織化測位部15は、無線装置jk(=無線装置3)からの仮の自己位置wjk(s)を用いて仮の自己位置wi(t)を修正する。この場合、修正回数tは、t=0+1=1に設定されているため、ステップS6〜ステップS14が1回目に実行されたときにステップS12およびステップS13のいずれかにおいて修正された仮の自己位置wi(t+1)=wi(1)と、仮の自己位置wjk(s)=wjk(0)とを用いて仮の自己位置wi(1)が修正される。
以下、同様にして、無線装置2〜7からの仮の自己位置wj1(s)〜wj6(s)の全てを用いて仮の自己位置wi(t)が修正されるまで、ステップS6〜ステップS15が繰り返し実行される。
そして、ステップS14において、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へブロードキャストする(ステップS16)。
これによって、無線装置2〜7は、修正された仮の自己位置wi(t+1)を無線装置1から受信し、その受信した仮の自己位置wi(t+1)を用いて仮の自己位置wj1(s)〜wj6(s)を修正できる。
ステップS16の後、無線装置i(=無線装置1)の組織化測位部15は、s=s+1を設定し(ステップS17)、変化量ΔDi(t)がしきい値θよりも大きく(ΔDi(t)>θ)、かつ、s=Nであるか否かを判定する(ステップS18)。
そして、変化量ΔDi(t)がしきい値θよりも大きく(ΔDi(t)>θ)、かつ、s=Nであることが成立しないと判定されたとき、無線装置i(=無線装置1)の組織化測位部15は、s=Nであるか否かを更に判定する(ステップS19)。そして、s=Nでないとき、無線装置i(=無線装置1)の組織化測位部15は、k=1およびt=t+1を設定する(ステップS20)。
その後、ステップS18において、変化量ΔDi(t)がしきい値θよりも大きく(ΔDi(t)>θ)、かつ、s=Nであると判定されるまで、またはステップS19においてs=Nであると判定されるまで、上述したステップS6〜ステップS20が繰り返し実行される。
ステップS6〜ステップS17が2回目に実行されるとき、無線装置i(=無線装置1)の組織化測位部15は、無線装置2〜7からの仮の自己位置wj1(s)〜wj6(s)の全てを用いて仮の自己位置wi(t)を1回修正したので、再度、無線装置2〜7からの仮の自己位置wj1(s)〜wj6(s)を順次用いて仮の自己位置wi(t)を順次修正するために、ステップS20において、k=1と設定することにしたものである。
また、修正回数tは、無線装置2〜7からの仮の自己位置wj1(s)〜wj6(s)の全てを用いて仮の自己位置wi(t)を修正する回数が増えることによっても増加するので、ステップS20においてt=t+1と設定することにしたものである。
更に、ステップS6〜ステップS17が2回目に実行されるとき、無線装置i(=無線装置1)の組織化測位部15は、無線装置1が修正して無線装置2〜7へブロードキャストした仮の自己位置wi(t)に基づいて修正された仮の自己位置wj1(s)〜wj6(s)を用いて仮の自己位置wi(t)を修正するようにするために、ステップS17において、s=s+1と設定することにしたものである。
更に、無線装置i(=無線装置1)の組織化測位部15は、ステップS6〜ステップS17を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回目の位置修正処理を実行する。
そして、ステップS18において、変化量ΔDi(t)がしきい値θよりも大きく(ΔDi(t)>θ)、かつ、s=Nであると判定されたとき、またはステップS19において、s=Nであると判定されたとき、無線装置i(=無線装置1)の組織化測位部15は、最終的に修正された自己位置wi(t+1)を無線装置1の位置と推定する(ステップS21)。そして、一連の動作が終了する。
なお、無線装置2〜7の各々も、図5に示すフローチャートに従って自己の位置を推定する。
これによって、無線ネットワークシステム10における無線装置1〜7の位置が自律的に推定される。この場合、無線装置1〜7のうち、少なくとも1個の無線装置が既知である絶対位置を仮の自己位置とする場合、無線装置1〜7の位置は絶対位置として決定される。
また、無線装置1〜7の全てが既知である絶対位置を有しない場合、無線装置1〜7の位置は相対的に決定される。
このように、いずれにしても、無線装置1〜7の各々が図5に示すフローチャートに従って自己の位置を自律的に推定することによって無線ネットワークシステム10において無線装置1〜7の位置を自律的に決定できる。
なお、図5に示すフローチャートのステップS18,S19におけるNは、無線装置1〜7の配置構造、または無線装置1〜7が設置される対象物(物品)の種類に応じて決定される。
無線装置1〜7の配置構造が異なれば、ブローキャスト(1ホップ内の通信)によって仮の自己位置wi(t),wjk(s)を通信可能な無線装置の個数が変化するので、所定の精度で無線装置1〜7の位置を推定するための回数Nが変化するからである。また、無線装置1〜7が鉛筆に装着された場合、推定される位置の精度は、1m以下の精度が要求されるが、無線装置1〜7が建物に装着される場合、推定される位置の精度は、数十mの精度でよい。従って、無線装置1〜7が装着される物品によって、上述した方法によって推定する位置の要求精度が異なり、それぞれの精度を達成するための回数Nが異なるからである。
また、図5に示すフローチャートにおいては、ステップS18を削除し、ステップS17の後、ステップS19を実行し、s=Nである場合に、ステップS21へ移行して無線装置1〜7の位置を推定するようにしてもよい。
つまり、仮の自己位置wi(t)の修正回数が所定数Nに到達したときに、組織化測位部15における位置の推定動作を終了するようにしてもよい。
以下、図5に示すフローチャートに従って無線装置1〜7の位置を推定する場合のシミュレーション結果について説明する。シミュレーションにおいては、図1に示す無線ネットワークシステム10が配置される空間として1.0m×1.0mの平面を定義し、この空間に図1に示す無線装置1〜7をランダムに配置したネットワークトポロジーを定義する。
また、距離測定部14によって測定される無線装置間の距離は、エラーを含むが、このエラーは、正規分布に従うものとする。
更に、無線装置1が修正した仮の自己位置を近傍の無線装置2〜7へ配信する間隔は、無線装置2〜7の全てと通信して仮の自己位置を修正した度毎とする。そして、これを1サイクルとして、各無線装置1〜7ごとに300サイクルの仮の自己位置の修正を行なった。
位置推定精度の評価関数は、推定した自己位置と無線装置の実際の位置のユークリッド距離の差の総和として次式により定義された。
なお、Ntは、無線装置1〜7の総数であり、Wiは、無線装置i(i=1〜7)の実際の位置である。
更に、シミュレーションの各調整パラメータは、表1に示す値を用いた。
図6は、無線装置の数による位置推定誤差の変化を示す図である。図6において、横軸は、隣接する無線装置の数を表し、縦軸は、正解率および位置推定誤差の平均値を表す。
なお、図6のシミュレーションにおいては、絶対位置を自己の位置とする無線装置の個数を2個とし、相互に無線通信可能な距離を(2)1/2mとし、無線装置間の距離の誤差偏差は、0.01とした。この通信可能な距離(2)1/2mは、定義されたネットワーク空間の全ての無線装置が相互に直接通信可能な距離である。
図6から分かるように、推定平均誤差は、無線装置の数が増加するに従って減少し、特に、無線装置の数が60個を超えると、無線装置間の距離の誤差偏差と同等の値となる(曲線k1参照)。
推定平均誤差が0.1を下回る場合を正しく位置推定できたものとして、その割合とその場合の推定平均誤差とを表したのが曲線k2,k3である。
その結果、隣接する無線装置の数が少ない場合は、正解推定の占める割合が8〜9割と低いので、300サイクルの推定処理後に式(2)において無線装置1と無線装置2〜7との間の距離の誤差の平均が期待する誤差よりも大きい場合、その無線装置1は、推定した位置を破棄し、ランダムな位置を生成して再度300サイクルの推定処理を行なう。このような処理は、式(4)に従って仮の自己位置wi(t)を修正するのと同じ効果を与える。
図7は、距離誤差の平均が期待する誤差よりも大きい場合、推定した位置を破棄して新たに生成された位置に基づいて位置を推定する場合のシミュレーション結果を示す図である。図7において、横軸は、隣接する無線装置の数を表し、縦軸は、正解率および位置推定誤差の平均値を表す。
図6および図7を比較すると、隣接する無線装置の数が少ない場合でも正解率が高くなった。従って、隣接する無線装置の数および処理回数により、位置推定誤差を制御可能である。
図8は、アンカーノード数による位置推定誤差の平均値の変化を示す図である。なお、アンカーノードとは、既知である絶対位置を有する無線装置をいう。
図8において、横軸は、アンカーノード数を表し、縦軸は、位置推定誤差の平均値を表す。また、曲線k4は、通信可能距離が0.35mである場合を示し、曲線k5は、通信可能距離が0.2mである場合を示す。そして、無線装置の総数は、100個であり、無線装置間の距離の誤差偏差は、0.01である。
図8から明らかなように、通信可能距離が0.35mおよび0.2mのいずれにおいても、位置推定誤差の平均値は、アンカーノード数の増加に伴い急速に減少する。通信可能距離が0.35mである場合、アンカーノード数が“5”を超えると、位置推定誤差は、無線装置間の距離の誤差偏差と同等の値となる。この場合、隣接する無線装置の平均数は、29.32個であり、直接通信可能なアンカーノード数の平均は、1.19個である。
一方、通信可能距離が0.2mである場合、アンカーノード数が“40”個から通信可能距離が0.35mの場合と同等の精度になる。この場合、隣接する無線装置の平均数は、10.14個であり、直接通信可能なアンカーノード数の平均は、4.23個である。
通信可能距離が0.2mの場合において位置推定誤差を減少させるために多くのアンカーノードが必要であるのは、通信可能距離が短いため、近接する無線装置の数が少ないからである。
図9は、無線装置間の距離の誤差偏差による位置推定誤差の平均値の変化を示す図である。図9において、横軸は、距離の誤差偏差を表し、縦軸は、位置推定誤差の平均値を表す。また、曲線k6は、無線装置の総数が50個であり、アンカーノード数が6個である場合を示し、曲線k7は、無線装置の総数が50個であり、アンカーノード数が3個である場合を示し、曲線k8は、無線装置の総数が20個であり、アンカーノード数が3個である場合を示す。
いずれの場合においても、位置推定誤差は、距離の誤差偏差に比例して大きくなる。また、アンカーノード数が多い方が位置推定誤差がより少なくなる。
図8において、通信可能距離が0.35mであるネットワークと、通信可能距離が0.2mであるネットワークにおいては、位置推定誤差において明らかに違いがある。通信可能距離が0.35mであるネットワークでは、その位置推定誤差が距離の誤差と同等となるのは、アンカーノード数が“5”のときである。
この場合、隣接する無線装置の平均数、および直接通信可能な平均のアンカーノード数は、それぞれ、29.32個および1.19個である。
通信可能距離が0.2mであるネットワークの場合、アンカーノード数が30個における隣接する無線装置の平均数および直接通信可能なアンカーノード数の平均数は、それぞれ、10.14個および3.04個である。
これを比較すると、通信可能距離が0.2mであるネットワークは、隣接する無線装置の数が少ないが、アンカーノード数が高い値となっているので、十分に高い精度を期待できるネットワーク構成となっている。そして、推定平均誤差が、0.032733である。
従って、位置推定誤差は、通信可能距離に依存し、通信可能距離が短いと距離の誤差の影響を受けやすくなり、その結果、位置推定誤差が大きくなる。
図10は、無線装置間の通信総数と位置推定誤差との相関を示す図である。図10において、横軸は、無線装置の数を表し、縦軸は、位置推定誤差の平均値および推定処理遅延を表す。また、曲線k9は、位置推定誤差の平均値と無線装置の数との関係を示し、曲線k10は、推定処理遅延と無線装置の数との関係を示す。
なお、図10のシミュレーションにおいては、アンカーノード数が2個であり、通信可能距離が0.5mであり、無線装置間の距離誤差は、0.01である。
図10から明らかなように、位置推定誤差の平均値は、無線装置の数が増加するに伴って減少するが、推定処理遅延は、無線装置の数が増加するに伴って増加する。
図11は、図10に示す位置推定誤差の平均値と推定処理遅延との関係を示す図である。図11において、横軸は、位置推定誤差の平均値を表し、縦軸は、推定処理遅延を表す。
図11に示す結果から、位置推定の精度を保証するには、無線装置の数を適切な数に設定することが必要であることが分かる。
上述したように、この発明による位置推定方法を用いることによって無線ネットワークに存在する無線装置の位置を高い精度で推定可能であることがシミュレーションによっても確認された。
なお、上記においては、無線ネットワークシステム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は、「距離保持手段」を構成する。
更に、図5に示すフローチャートのステップS7〜ステップS13は、「位置修正処理」を構成する。
更に、図5に示すフローチャートのステップS1〜ステップS20に従って仮の自己位置wi(t)を順次修正する組織化測位部15は、位置修正処理を実行する「位置修正手段」を構成する。
更に、図5に示すフローチャートのステップS18,S19,S21に従って、最終的に修正された仮の自己位置wi(t+1)を無線装置1〜7の位置と推定する組織化測位部15は、所定の条件が満たされると、位置修正手段によって修正された仮の自己位置を当該無線装置の位置と推定する「位置推定手段」を構成する。
更に、無線装置1が図5に示すフローチャートに従って仮の自己位置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)とに基づいて演算した演算距離|wi(t)−wjk(s)|が測定距離dijk(t)に近づくように仮の自己位置wi(t)を自律的に順次修正し、自己の位置を決定する。
従って、この発明によれば、無線装置の位置を自律的に推定できる。その結果、センサーを大量、かつ、完全に配置しなくても、広範囲な領域において日常生活における物品の位置情報を取得できる。
[実施の形態2]
図12は、実施の形態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の各々は、全方位性のアンテナである。
図13は、図12に示す無線装置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の各々は、図13に示す無線装置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との距離|wi(t)−wy1(t)|を演算する。この場合、仮の自己位置wi(t),wy1(t)は、例えば、x−y座標によって表されているため、組織化測位部15Aは、距離|wi(t)−wy1(t)|(「演算距離」という)を容易に演算できる。
そして、組織化測位部15Aは、演算した演算距離|wi(t)−wy1(t)|と、距離測定部14Aから取得した無線装置81と無線装置82との間の測定された距離R1(=diy1(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との距離|wi(t)−wx1(t)|を演算する。この場合、仮の自己位置wx1(t)も、例えば、x−y座標によって表されているため、組織化測位部15Aは、距離|wi(t)−wx1(t)|(「演算距離」という)を容易に演算できる。
そして、組織化測位部15Aは、演算した演算距離|wi(t)−wx1(t)|を演算距離|wi(t)−wy1(t)|と比較する。
組織化測位部15Aは、演算距離|wi(t)−wx1(t)|が演算距離|wi(t)−wy1(t)|よりも長いとき、演算距離|wi(t)−wx1(t)|と、距離測定部14Aから取得した無線装置81と無線装置82との間の測定距離R1(=diy1(t))と、受信部12から受けた無線装置82と無線装置91との間の測定距離R7(=dy1x1(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は、演算距離|wi(t)−wx1(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))とに基づいて、演算距離|wi(t)−wx1(t)|を測定距離diy1(t)+dy1x1(t)に近づけるための修正ベクトルVi (2)(t)を次式により演算する。
そして、組織化測位部15Aは、仮の自己位置wi(t)の修正回数tがしきい値τ以下であるとき、式(9)によって示される修正ベクトルVi {1}(t)と、式(10)または式(11)によって表される修正ベクトルVi {2}(t)とを用いて次式によって無線装置81の仮の自己位置wi(t)を修正する。
また、組織化測位部15Aは、仮の自己位置wi(t)の修正回数tがしきい値τよりも大きいとき、式(9)によって示される修正ベクトルVi {1}(t)を用いて次式によって無線装置81の仮の自己位置wi(t)を修正する。
なお、式(12)および式(13)において、αi(t)は、仮の自己位置wi(t)のt回目の修正時における学習関数であり、次式によって表される。
式(14)において、Ei(t)は、仮の自己位置wi(t)のt回目の修正時における無線装置81と、無線装置81の近傍に存在する無線装置82〜87との距離平均誤差量であり、Ei(t−1)は、仮の自己位置wi(t)のt−1回目の修正時における無線装置81と、無線装置81の近傍に存在する無線装置82〜87との距離平均誤差量である。
組織化測位部15Aは、距離平均誤差量Ei(t)を次式により演算する。
式(15)において、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)を式(12)または式(13)に代入して無線装置81の仮の自己位置wi(t)を修正する。
即ち、変化量ΔEi(t)=Ei(t)−Ei(t−1)がしきい値θ以上であるとき(ΔEi(t)≧θ)、組織化測位部15Aは、αi(t)=−1を式(12)または式(13)に代入して無線装置81の仮の自己位置wi(t)を修正する。
また、変化量ΔEi(t)=Ei(t)−Ei(t−1)がしきい値θよりも小さいとき(ΔEi(t)<θ)、組織化測位部15Aは、αi(t)=η・|αi(t−1)|を式(12)または式(13)に代入して無線装置81の仮の自己位置wi(t)を修正する。
上記の式(9)を用いた無線装置81の仮の自己位置wi(t)の修正概念は、図3に示す修正概念と同じである。
上記の式(10)を用いた無線装置81の仮の自己位置wi(t)の修正を概念的に説明する。図14は、式(10)を用いた無線装置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)になる。
従って、式(9)または式(10)によって、仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正することは、演算距離|wi(t)−wy(t)|または|wi(t)−wx(t)|が測定距離diy(t)またはdiy(t)+dyx(t)に近づくように仮の自己位置wi(t)を修正することに相当する。
式(10)においては、無線装置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)へ修正する。
次に、上記の式(11)を用いた無線装置81の仮の自己位置wi(t)の修正を概念的に説明する。図15は、式(11)を用いた無線装置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)を用いることができるようにするため、即ち、式(10)によって修正ベクトルVi {2}(t)を演算できるようにするために、演算距離|wi(t)−wx(t)|が演算距離|wi(t)−wy(t)|以下であるとき、式(11)によって修正ベクトルVi {2}(t)を演算することにしたものである。
式(11)によって演算される修正ベクトル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)が得られるからである。
更に、式(14)によって学習関数αi(t)を演算するようにしたのは、図4において説明したように、修正後の仮の自己位置wi(t+1)が局所解に至った場合に、修正後の仮の自己位置wi(t+1)が局所解から抜け出せるようにするためである。
実施の形態2においては、無線装置81の仮の自己位置wi(t)を修正する場合、修正回数tがしきい値τに達するまで、式(12)によって仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正し、修正回数tがしきい値τに達すると、式(13)によって仮の自己位置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等の位置測定機能を有しないときは、ランダムに生成されるものであるので、式(12)または式(13)によって修正された仮の自己位置wi(t+1)は誤差を含んでおり、演算距離|wi(t+1)−wx(t)|が測定距離diy(t)+dyx(t)(=R1+R7)に即座に一致し、演算距離|wi(t+1)−wy(t)|が測定距離diy(t)(=R1)に即座に一致するものではない。
従って、無線装置81の組織化測位部15Aは、式(12)または式(13)による仮の自己位置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)を順次修正する。
図16および図17は、それぞれ、無線装置の位置を推定する動作を説明するための実施の形態2における第1および第2のフローチャートである。なお、図16および図17においては、無線装置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)に基づいて、式(10)を用いて、修正ベクトルVxc {2}(t)を演算する(ステップS40)。
一方、ステップS39において、演算距離dixs(t)が演算距離diys(t)以下であると判定されたとき、無線装置i(=無線装置81)の組織化測位部15Aは、仮の自己位置wi(t),wxc(t)および測定距離diyc(t),dyxc(t)に基づいて、式(11)を用いて、修正ベクトル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)に基づいて、式(9)に示す修正ベクトルVi {1}(t)を演算する(ステップS45)。
引き続いて、無線装置i(=無線装置81)の組織化測位部15Aは、仮の自己位置wi(t)の修正回数tがしきい値τ以下であるか否かを判定し(ステップS46)、修正回数tがしきい値τ以下であるとき、式(12)によって、仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する(ステップS47)。この場合、図16に示すステップS37〜ステップS43のループで演算されたc個のVxc (2)(t)の和が式(12)により演算され、仮の自己位置wi(t)が仮の自己位置wi(t+1)へ修正される。
一方、ステップS46において、修正回数tがしきい値τよりも大きいと判定されたとき、無線装置i(=無線装置81)の組織化測位部15Aは、式(13)によって、仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する(ステップS48)。
なお、ステップS47,S48の修正においては、無線装置i(=無線装置81)の組織化測位部15Aは、式(15)によって距離平均誤差量Ei(t)を演算し、更に、距離平均誤差量Ei(t)の変化量ΔEi(t)=Ei(t)−Ei(t−1)を演算する。そして、無線装置i(=無線装置81)の組織化測位部15Aは、変化量ΔEi(t)がしきい値θ以上であるとき、学習関数αi(t)=−1を式(12)または式(13)へ代入して仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正し、変化量ΔEi(t)がしきい値θよりも小さいとき、学習関数αi(t)=η・|αi(t−1)|を式(12)または式(13)へ代入して仮の自己位置wi(t)を仮の自己位置wi(t+1)へ修正する。
また、ステップS46において、修正回数tがしきい値τに達したと判定され、ステップS48において、式(13)に従って仮の自己位置wi(t)が修正される場合、無線装置i(=無線装置81)の組織化測位部15Aは、ステップS47において、式(12)に従って修正した後の仮の自己位置wi(t)を式(13)を用いて仮の自己位置wi(t+1)へ修正する。
そして、ステップS47またはステップS48の後、無線装置i(=無線装置81)の組織化測位部15Aは、T=Tcであるか否かを判定し(ステップS49)、T=Tcでないとき、一連の動作は、図16のステップS35へ移行する。そして、ステップS49において、T=Tcであると判定されるまで、上述したステップS35〜ステップS49が繰り返し実行される。
即ち、無線装置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は、定数であり、任意の時間からなる。
そして、ステップS49において、T=Tcであると判定されると、無線装置i(=無線装置81)の組織化測位部15Aは、修正された仮の自己位置wi(t+1)をブロードキャストするように送信部16を制御し、送信部16は、修正された仮の自己位置wi(t+1)を無線装置82〜87へブロードキャストする(ステップS50)。
これによって、無線装置82〜87は、修正された仮の自己位置wi(t+1)を無線装置81から受信し、その受信した仮の自己位置wi(t+1)を用いて仮の自己位置wy1(t)〜wy6(t)を修正できる。
ステップS50の後、無線装置i(=無線装置1)の組織化測位部15Aは、St=St+1を設定し(ステップS51)、St=Nであるか否かを判定する(ステップS52)。
そして、St=Nでないと判定されたとき、無線装置i(=無線装置1)の組織化測位部15Aは、修正時間TをT=0に設定する(ステップS53)。つまり、無線装置i(=無線装置1)の組織化測位部15Aは、修正時間Tをリセットする。
その後、一連の動作は、ステップS35へ移行し、ステップS52において、修正セット数St=Nであると判定されるまで、上述したステップS35〜ステップS53が繰り返し実行される。
そして、ステップS52において、St=Nであると判定されたとき、無線装置i(=無線装置1)の組織化測位部15Aは、最終的に修正された自己位置wi(t+1)を無線装置81の位置と推定する(ステップS54)。そして、一連の動作が終了する。
なお、図16および図17に示すフローチャートにおいては、ステップS49は、削除されてもよい。この場合、無線装置i(=無線装置1)の組織化測位部15Aは、ステップS47またはステップS48によって仮の自己位置wi(t)を修正するごとに、その修正した仮の自己位置wi(t)をブロードキャストする。
また、無線装置82〜87,91〜96の各々も、図16および図17に示すフローチャートに従って自己の位置を推定する。
これによって、無線ネットワークシステム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の各々が図16および図17に示すフローチャートに従って自己の位置を自律的に推定することによって無線ネットワークシステム10Aにおいて無線装置81〜87,91〜96の位置を自律的に決定できる。
図16および図17に示すフローチャートにおいては、仮の自己位置wi(t)の修正回数tがしきい値τ以下であるとき、無線装置i(=無線装置81)から2ホップ内に存在する無線装置91〜96のうちの一部の無線装置x1〜xdの仮の自己位置wx1(t)〜wxd(t)を用いて仮の自己位置wi(t)を自己位置wi(t+1)へ修正する(ステップS46,S47参照)。
ステップS47における仮の自己位置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)への修正が行なわれる(ステップS46,S48参照)。
即ち、修正回数tがしきい値τに達すると、仮の自己位置wi(t)が最適解に近づくように仮の自己位置wi(t)が局所的に修正される。
このように、実施の形態2においては、初期段階においては、無線装置i(=無線装置81)の仮の自己位置wi(t)を無線ネットワークシステム10Aのトポロジーを反映して大局的に修正し、修正回数tがしきい値τに達すると、仮の自己位置wi(t)を局所的に修正する。
これによって、既知である絶対位置を有する無線装置を増加させなくても、各無線装置の位置を推定する精度を向上できる。
また、図16および図17に示すフローチャートにおいては、無線装置i(=無線装置81)は、自己から1ホップ内に存在する無線装置82〜87の全てから仮の自己位置wy1(t)〜wy6(t)等を受信してから仮の自己位置wi(t)を修正するのではなく、無線装置82〜87の一部の無線装置y1〜ydの仮の自己位置wy1(t)〜wyd(t)等を受信すると仮の自己位置wi(t)を修正する(ステップS35〜ステップS48参照)。
そして、一連の動作がステップS53からステップS35へ戻り、ステップS37〜ステップS43のループが2回目以降に実行される場合、無線装置i(=無線装置81)は、無線装置82〜87のうち、各回毎に同一または異なる一部の無線装置y1〜ydから仮の自己位置wy1(t)〜wyd(t),wx1(t)〜wxd(t)および測定距離dyx1(t)〜dyxd(t)を受信して仮の自己位置wi(t)を修正する。
これによって、後述するように、各無線装置の位置を推定する精度を向上できる。
なお、図16および図17に示すフローチャートにおいては、無線装置i(=無線装置81)は、自己から1ホップ内に存在する無線装置82〜87の全てから仮の自己位置wy1(t)〜wy6(t)等を受信してから仮の自己位置wi(t)を修正するようにしてもよい。
この場合、図16および図17に示すフローチャートのステップS35,S42において、c=v(=6)と設定すればよい。
以下、図16および図17に示すフローチャートに従って無線装置81〜87,91〜96の位置を推定する場合のシミュレーション結果について説明する。シミュレーションにおいては、図12に示す無線ネットワークシステム10Aが配置される空間として1.0m×1.0mの平面を定義し、この空間に図12に示す無線装置81〜87,91〜97をランダムに配置したネットワークトポロジーを定義する。
また、距離測定部14Aによって測定される無線装置間の距離は、エラーを含むが、このエラーは、正規分布に従うものとする。
更に、無線装置81が修正した仮の自己位置を近傍の無線装置82〜87へ配信する間隔は、無線装置82〜87の全てと通信して仮の自己位置を修正した度毎とする。そして、これを1サイクルとして、各無線装置81〜87ごとに300サイクルの仮の自己位置の修正を行なった。
更に、実施の形態2による位置推定方法の比較評価対象として、距離により位置推定を行なう三辺測量を用いた。図18および図19は、それぞれ、三辺測量における無線装置の第1および第2の配置図である。
図18および図19において、碁盤目状の交点に配置された黒丸は、アンカーノード(絶対位置が既知である無線装置)を示し、それ以外の黒丸は、無線装置を示す。
従って、図18に示す配置形態においては、各無線装置は、3個のアンカーノードと無線通信が可能であり、図19に示す配置形態においては、各無線装置は、4個のアンカーノードと無線通信が可能である。
そして、図18に示す配置形態における三辺測量を「三辺測量1」とし、図19に示す配置形態における三辺測量を「三辺測量2」とする。
更に、シミュレーションの各調整パラメータは、表2に示す値を用いた。
なお、位置推定精度の評価関数は、実施の形態1と同じように、式(8)によって定義された。
図20は、無線装置の数による位置推定誤差の変化を示す図である。図20において、横軸は、無線ネットワークシステム10Aにおける無線装置の数を表し、縦軸は、式(8)によって定義される位置推定誤差の平均値を表す。
また、白三角は、三辺測量1を用いた結果を示し、白四角は、三辺測量2を用いた結果を示し、黒丸は、実施の形態2による結果を示す。
なお、図20に示すシミュレーションにおいては、アンカーノード数を3個とし、通信可能距離を0.5mとし、無線装置間の距離の誤差偏差を0.01とした。また、三辺測量1においては、アンカーノード数が14個であり、三辺測量2においては、アンカーノード数が17個である。更に、無線装置の数毎に各無線装置をランダムに配置した50通りのネットワークトポロジーに関してシミュレーションを実施した。
無線装置の数が少ない場合、実施の形態2による位置推定方法は、位置推定の精度が三辺測量1,2に比べ低い。これは、位置推定を行なっている無線装置の近傍に存在する無線装置の数が少なく、位置推定を行なっている無線装置から2ホップ内に存在する無線装置の仮の自己位置を反映した位置推定が不十分であり、正しいトポロジーを再現することができないためである。
しかし、実施の形態2による位置推定方法は、無線装置が増加するに伴い、精度が急速に向上する。無線ネットワークシステム10Aにおける無線装置の数が20個を超えると(平均近傍ノード数:10.4個)、実施の形態2による位置推定方法は、三辺測量1よりも高い精度を示す。
実施の形態2による位置推定方法は、無線装置の数が増加しても、三辺測量2よりも低い精度を示すが、実施の形態2による位置推定方法においては、3個のアンカーノードが用いられており、三辺測量1,2におけるアンカーノード数(14個、17個)よりも少ない。
即ち、実施の形態2による位置推定方法は、それぞれ、三辺測量1,2におけるアンカーノード数の約21%および約18%のアンカーノード数を用いて三辺測量1よりも高い精度を示し、三辺測量2の精度に近い精度を示す。
図21は、無線装置の数による位置推定誤差の変化を示す他の図である。図21において、横軸は、無線ネットワークシステム10Aにおける無線装置の数を表し、縦軸は、式(8)によって定義される位置推定誤差の平均値を表す。
図21に示すシミュレーションは、図20に示すシミュレーションにおいて、距離誤差偏差を0.01から0.05へ変えたものであり、その他は、図20に示すシミュレーションと同じである。
無線ネットワークシステム10Aにおける無線装置の数が10個以上である場合、実施の形態2による位置推定方法は、三辺測量1,2に比べ高い精度を示す。
三辺測量1,2は、距離誤差偏差が0.05である場合、約20%程度が測位不能または非常に大きな誤差を算出する。一方、実施の形態2による位置推定方法は、測位不能になることはなく、また、無線装置の数が十分である場合(10個以上、平均近傍ノード数:6個以上)、距離誤差偏差が0.05(約±0.15の誤差)である場合においても、位置推定誤差の平均値が約0.03であり、位置推定が可能である。
従って、実施の形態2による位置推定方法は、無線装置の数が10個以上である無線ネットワークシステム10Aにおいて、三辺測量1,2よりも少量のアンカーノード数(三辺測量1の約21%、三辺測量2の約18%)で三辺測量1,2と同等またはそれ以上の精度で位置推定が可能である。
図22は、距離誤差偏差による位置推定誤差の平均値の変化を示す図である。図22において、横軸は、距離誤差偏差を表し、縦軸は、位置推定誤差の平均値を表す。
通信可能距離は、0.5mであり、白三角は、無線装置の数が20個である三辺測量1を示し、白四角は、無線装置の数が20個である三辺測量2を示す。また、曲線k11は、無線装置の数/アンカーノード数がそれぞれ20個/3個である実施の形態2による位置推定方法を示し、曲線k12は、無線装置の数/アンカーノード数がそれぞれ50個/3個である実施の形態2による位置推定方法を示し、曲線k13は、無線装置の数/アンカーノード数がそれぞれ50個/6個である実施の形態2による位置推定方法を示す。
実施の形態2による位置推定方法は、距離誤差偏差が大きくなっても、位置推定誤差の平均値の増加割合が三辺測量1,2に比べ小さくなる。三辺測量1,2では、距離誤差偏差が大きくなるに従って、測位不能となる無線装置の数が急増する。距離誤差偏差が0.04である場合、約10%の無線装置が測位不能であり、距離誤差偏差が0.07である場合、約50%の無線装置が測位不能であり、距離誤差偏差が0.1である場合、約80%の無線装置が測位不能である。従って、距離誤差偏差が0.07以上である場合、三辺測量は殆ど機能しない結果となった。
一方、実施の形態2による位置推定方法では、測定に用いたいずれの距離誤差偏差においても、収束し、良好な精度を示す。
従って、実施の形態2による位置推定方法は、三辺測量1,2が測位困難である大きなエラーを含む距離誤差偏差においても、少量のアンカーノード数で良好な精度の位置推定が可能である。
図23は、アンカーノード数による位置推定誤差の平均値の変化を示す図である。図23において、横軸は、アンカーノード数を表し、縦軸は、位置推定誤差の平均値を表す。
また、黒丸は、無線装置の数が30個である場合を示し、黒四角は、無線装置の数が50個である場合を示し、黒三角は、無線装置の数が100個である場合を示す。
なお、図23に示すシミュレーションにおいては、無線装置間の距離誤差偏差は、0.03に設定され、通信可能距離は、0.25mに設定された。
実施の形態2による位置推定方法は、無線装置の数がいずれの個数であっても、アンカーノード数の増加に伴って、位置推定誤差の平均値が小さくなる。
通信可能距離が0.25mである1.0m×1.0mの平面に三辺測量1,2による無線装置を配置した場合、三辺測量1で33個のアンカーノードが必要であり、三辺測量2で49個のアンカーノードが必要である。そして、この場合の位置推定誤差の平均値を表3に示す。
図23と表3とを比較すると、実施の形態2による位置推定方法においては、三辺測量1の位置推定誤差の平均値よりも良好な位置推定が可能となるアンカーノード数は、無線装置の数が30個であるネットワークにおいて10個(三辺測量1の約30%)であり、無線装置の数が50個であるネットワークにおいて8個(三辺測量1の約24%)であり、無線装置の数が100個であるネットワークにおいて7個(三辺測量1の約21%)である。
また、実施の形態2による位置推定方法においては、三辺測量2の位置推定誤差の平均値よりも良好な位置推定が可能となるアンカーノード数は、無線装置の数が30個であるネットワークにおいて12個(三辺測量2の約24%)であり、無線装置の数が50個であるネットワークにおいて9個(三辺測量2の約18%)であり、無線装置の数が100個であるネットワークにおいて7個(三辺測量2の約14%)である。
従って、実施の形態2による位置推定方法は、三辺測量1,2と比較して、少量のアンカーノード数で高精度な位置推定が可能である。また、無線装置の数が30個のネットワークおよび無線装置の数が50個のネットワークの平均近傍ノード数は、それぞれ、約5個および約8個である。
このようなネットワークにおいても、実施の形態2による位置推定方法は、アンカーノード数を増やすことにより位置推定の精度が向上し、三辺測量1,2よりも少ないアンカーノード数で三辺測量1,2の精度を上回る。
従って、実施の形態2による位置推定方法は、無線装置の数が少ないネットワークにおいても、少量のアンカーノードを増やすことで高精度な位置推定が可能となる。
図24および図25は、それぞれ、仮の位置情報の配信回数および仮の位置情報に含まれる近傍の無線装置の情報を減少させた場合における無線装置の数による位置推定誤差の平均値の変化を示す第1および第2の図である。
図24および図25において、横軸は、無線装置の数を表し、縦軸は、位置推定誤差の平均値を表す。また、白三角は、配信回数を1/5に減少した場合を示し、白丸は、配信回数を1/10に減少した場合を示す。更に、黒丸は、近傍の無線装置の情報を1/5に減少した場合を示し、黒四角は、近傍の無線装置の情報を1/10に減少した場合を示し、黒三角は、近傍の無線装置の情報を“1個”に減少した場合を示す。
なお、図24に示すシミュレーションは、アンカーノード数を3個に設定し、通信可能距離を0.5mに設定し、距離誤差偏差を0.01に設定した条件で行なわれ、図25に示すシミュレーションは、アンカーノード数を3個に設定し、通信可能距離を0.5mに設定し、距離誤差偏差を0.05に設定した条件で行なわれた。
配信回数を減少した場合、位置推定の精度は、劣化し、同条件の三辺測量1の精度よりも低い(図20および図21参照)。
一方、仮の位置情報に含まれる近傍の無線装置の情報を減少した場合、位置推定の精度が劣化せず、同条件の三辺測量1の精度を上回り、同条件の三辺測量2の精度と同程度となる(図20および図21参照)。
即ち、大量のデータから比較的長い周期で位置修正/位置更新を行なうよりも、少量のデータから短い周期で頻繁に位置修正/位置更新を行なう方が有効であることが分かる。
図26および図27は、それぞれ、仮の位置情報に含まれる近傍の無線装置の情報を1個の無線装置の情報とし、配信回数を変化させた場合における無線装置の数による位置推定誤差の平均値の変化を示す第1および第2の図である。
図26および図27において、横軸は、無線装置の数を表し、縦軸は、位置推定誤差の平均値を表す。また、白三角は、三辺測量1の場合を示し、白丸は、三辺測量2の場合を示す。更に、黒丸は、配信回数を1/2に減少した場合を示し、黒四角は、配信回数を1/3に減少した場合を示す。
なお、図26に示すシミュレーションは、アンカーノード数を3個に設定し、通信可能距離を0.5mに設定し、距離誤差偏差を0.01に設定した条件で行なわれ、図27に示すシミュレーションは、アンカーノード数を3個に設定し、通信可能距離を0.5mに設定し、距離誤差偏差を0.05に設定した条件で行なわれた。
図26および図27に示す結果から、実施の形態2による位置推定方法は、通信量を大幅に削減しても三辺測量1,2と同等またはそれ以上の精度を維持する。
従って、位置推定を行なう無線装置i(=無線装置81)は、自己の周囲に存在する無線装置82〜87の全てから仮の自己位置wy1(t)〜wy6(t)等を受信してから仮の自己位置wi(t)を修正するよりも、無線装置82〜87の一部の無線装置y1〜ydから仮の自己位置wy1(t)〜wyd(t)等を受信して、仮の自己位置wi(t)を修正した方が通信の遅延に伴う位置推定の遅延が低減される。
そこで、図16および図17に示すフローチャートに示すように、実施の形態2による位置推定方法においては、位置推定を行なう無線装置i(=無線装置81)は、自己の周囲に存在する無線装置82〜87の一部の無線装置y1〜ydから仮の自己位置wy1(t)〜wyd(t)等を受信すると、仮の自己位置wi(t)を修正することにしたものである。
つまり、無線装置i(=無線装置81)は、少量のデータから短い周期で頻繁に位置修正/位置更新を行なうことにしたものである。
上記においては、無線ネットワークシステム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は、「距離保持手段」を構成する。
また、図16および図17に示すフローチャートのステップS35〜ステップS51は、「位置修正処理」を構成する。
更に、図16および図17に示すフローチャートのステップS35〜ステップS48,S50,S51は、「第1の位置修正処理」を構成し、図16および図17に示すフローチャートのステップS35〜ステップS47,S49〜S51は、「第2の位置修正処理」を構成する。
更に、図16および図17に示すフローチャートのステップS35〜ステップS43は、「ベクトル演算処理」を構成する。
更に、図16および図17に示すフローチャートのステップS35〜ステップS48,S50,S51に従って仮の自己位置wi(t)を修正する組織化測位部15Aは、「第1の位置修正手段」を構成し、図16および図17に示すフローチャートのステップS35〜ステップS47,S49〜S51に従って仮の自己位置wi(t)を修正する組織化測位部15Aは、「第2の位置修正手段」を構成する。
更に、図16および図17に示すフローチャートに従って仮の自己位置wi(t)する場合、無線装置81〜87,91〜96は、「m(mは3以上の整数)個の無線装置」を構成する。
更に、図16および図17に示すフローチャートに従って仮の自己位置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の距離偏差ベクトル」を構成する。
更に、図16に示すフローチャートのステップS40,S41において演算される修正ベクトルVxc {2}(t)は、「第1の修正ベクトル」を構成し、図17に示すフローチャートのステップS46において演算される修正ベクトル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のベクトル」を構成する。
更に、図17に示すフローチャートのステップS48において修正された後の仮の自己位置wi(t)から無線装置82〜87の方向へ測定距離diyc(t)だけ移動するベクトルは、「第5のベクトル」を構成し、図17に示すフローチャートのステップS48において修正された後の仮の自己位置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によれば、無線装置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〜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 送信部。