(57)【要約】【課題】無線端末が密集する無線通信ネットワークにおいて、無線端末の位置推定精度を向上させること。【解決手段】位置推定装置であって、第１から第Ｍ（Ｍは１以上の整数）の無線端末から、Ｎ個（Ｎは１以上Ｍ以下の整数）の無線端末を選択し、及び、前記選択したＮ個の無線端末のうち、少なくとも１台以上を、残りの前記第１から第Ｍの無線端末から入れ替える選択部１１と、前記選択されたＮ個の無線端末の間で送受信された無線パケットの電力情報に基づいて、前記選択されたＮ個の無線端末の間の距離を算出する距離算出部１２と、前記算出された距離に基づいて、前記第１から第Ｍの無線端末の相対位置を算出する相対位置算出部１３と、前記第１から第Ｍの無線端末の相対位置と、絶対位置が既知の前記第１の無線端末の絶対位置と、に基づいて、絶対位置が未知の前記第２の無線端末の相対位置を絶対位置に変換する絶対位置変換部１４と、を有する。【選択図】図２
2019023591.tif 000002
【特許請求の範囲】
【請求項１】
第１から第Ｍ（Ｍは１以上の整数）の無線端末から、Ｎ個（Ｎは１以上Ｍ以下の整数）の無線端末を選択し、及び、前記選択したＮ個の無線端末のうち、少なくとも１台以上を、残りの前記第１から第Ｍの無線端末から入れ替える選択部と、
前記選択されたＮ個の無線端末の間で送受信された無線パケットの電力情報に基づいて、前記選択されたＮ個の無線端末の間の距離を算出する距離算出部と、
前記算出された距離に基づいて、前記第１から第Ｍの無線端末の相対位置を算出する相対位置算出部と、
前記第１から第Ｍの無線端末の相対位置と、絶対位置が既知の前記第１の無線端末の絶対位置と、に基づいて、絶対位置が未知の前記第２の無線端末の相対位置を絶対位置に変換する絶対位置変換部と、
を有する位置推定装置。
【請求項２】
前記絶対位置変換部により変換された前記第２の無線端末の絶対位置を、前記第１から第Ｍの無線端末のそれぞれについて平均化する平均部、
をさらに有する請求項１に記載の位置推定装置。
【請求項３】
前記平均部は、前記第２の無線端末の絶対位置に、時間経過に応じた重みづけを付加して平均化する、
請求項２に記載の位置推定装置。
【請求項４】
親機である前記第４の無線端末に対し、前記電力情報を送信するように要求するコマンドを含む無線パケットをブロードキャストするよう指示する指示部と、
子機である前記第３の無線端末宛ての前記コマンドを含む無線パケットを受信した前記子機から、前記電力情報を、前記親機を介して受信する受信部と、をさらに有し、
前記距離算出部は、受信された前記電力情報に基づいて、前記第１から第Ｍの無線端末間の距離を算出する、
請求項１に記載の位置推定装置。
【請求項５】
前記子機が前記親機に送信する前記電力情報を含む無線パケットには、当該無線パケットの送信電力値が含まれており、
前記第３の無線端末及び前記第４の無線端末以外の無線端末である他子機は、前記子機が送信した無線パケットの受信電力と、無線パケットに含まれている前記送信電力値と、を前記電力情報として記憶し、
前記受信部は、前記子機が記憶していた前記電力情報を、前記親機を介して前記子機から受信する、
請求項４に記載の位置推定装置。
【請求項６】
第１から第Ｍ（Ｍは１以上の整数）の無線端末から、Ｎ個（Ｎは１以上Ｍ以下の整数）の無線端末を選択し、
前記選択したＮ個の無線端末のうち、少なくとも１台以上を、残りの前記第１から第Ｍの無線端末から入れ替え、
前記選択したＮ個の無線端末の間で送受信された無線パケットの電力情報に基づいて、前記選択したＮ個の無線端末の間の距離を算出し、
前記算出した距離に基づいて、前記第１から第Ｍの無線端末の相対位置を算出し、
前記第１から第Ｍの無線端末の相対位置と、絶対位置が既知の前記第１の無線端末の絶対位置と、に基づいて、絶対位置が未知の前記第２の無線端末の相対位置を絶対位置に変換する、
位置推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、無線端末の位置を推定する位置推定装置および位置推定方法に関する。
【背景技術】
【０００２】
特許文献１には、アドホック／センサネットワークにおけるノードの位置推定方法が開示される。
【０００３】
特許文献１の位置推定方法では、位置を認知する第１ノードの位置を用いて、位置を認知しない第２ノードの位置を推定する。第１ノードは、第２ノードを経由して受信した第１パケットに含まれる第１情報（伝送される距離の和）および第２情報（ホップカウント）から計算した距離関係係数を含んだ第２パケットを生成して伝送し、第２ノードは、伝送された第２パケットに含まれる距離関数係数を用いて位置を推定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３４８４１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の位置推定方法は、広い範囲にノードが分散しており、また、ノードの通信範囲が制限され、マルチホップ通信を実行するシステムを前提としている。また、特許文献１では、伝送パケットに含まれる情報を用いてノード間距離を補正し、３辺測量のような演算をすることによってノード自身が位置を推定する。
【０００６】
そのため特許文献１では、ノードが近接するような環境では、複数のノード間が１ホップで届いてしまうことが多くなり、ホップカウントを用いた距離関数係数の補正が困難となる。
【０００７】
その結果、多数のノードが狭い範囲に密集するような環境では、精度の高い無線端末の位置推定を行うことは困難である。
【０００８】
本開示の一態様は、無線端末が密集する無線通信ネットワークにおいて、無線端末の位置推定精度を向上させることができる位置推定装置および位置推定方法を提供することである。
【課題を解決するための手段】
【０００９】
本開示の一態様に係る位置推定装置は、第１から第Ｍ（Ｍは１以上の整数）の無線端末から、Ｎ個（Ｎは１以上Ｍ以下の整数）の無線端末を選択し、及び、前記選択したＮ個の無線端末のうち、少なくとも１台以上を、残りの前記第１から第Ｍの無線端末から入れ替える選択部と、前記選択されたＮ個の無線端末の間で送受信された無線パケットの電力情報に基づいて、前記選択されたＮ個の無線端末の間の距離を算出する距離算出部と、前記算出された距離に基づいて、前記第１から第Ｍの無線端末の相対位置を算出する相対位置算出部と、前記第１から第Ｍの無線端末の相対位置と、絶対位置が既知の前記第１の無線端末の絶対位置と、に基づいて、絶対位置が未知の前記第２の無線端末の相対位置を絶対位置に変換する絶対位置変換部と、を有する。
【００１０】
なお、これらの包括的または具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム、または、記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１１】
本開示の一態様によれば、無線端末が密集する無線ネットワークにおいて、無線端末の位置推定精度を向上させることができる。
【００１２】
本開示の一態様における更なる利点および効果は、明細書および図面から明らかにされる。かかる利点および／または効果は、いくつかの実施形態並びに明細書および図面に記載された特徴によってそれぞれ提供されるが、１つまたはそれ以上の同一の特徴を得るために必ずしも全てが提供される必要はない。
【図面の簡単な説明】
【００１３】
【図１Ａ】第１の実施の形態に係る位置推定装置を説明する図
【図１Ｂ】第１の実施の形態に係る距離マトリクスの一例を示す図
【図１Ｃ】第１の実施の形態に係る距離マトリクスの一例を示す図
【図２】位置推定装置の機能ブロックの一例を示す図
【図３Ａ】相対位置から絶対位置への変換の一例を説明する図
【図３Ｂ】相対位置から絶対位置への変換の一例を説明する図
【図４Ａ】子機を入れ替えたグループの絶対位置算出の一例を説明する図
【図４Ｂ】子機を入れ替えたグループの絶対位置算出の一例を説明する図
【図５】第２の実施の形態に係る無線通信システムのシステム構成の一例を示す図
【図６】無線端末の構成の一例を示す図
【図７】アプリケーション制御部の処理フローの一例を示す図
【図８Ａ】位置推定部の処理フローの一例を示す図
【図８Ｂ】位置推定部の処理フローの一例を示す図
【図９】サブグループの一例を示す図
【図１０】サブグループの距離マトリクスの一例を示す図
【図１１】サブグループの相対座標マトリクスの一例を示す図
【図１２】サブグループの相対位置の一例を示す図
【図１３】ネットワーク制御部の処理フローの一例を示す図
【図１４】親機の処理フローの一例を示す図
【図１５】子機の処理フローの一例を示す図
【発明を実施するための形態】
【００１４】
以下、本開示の実施の形態について、図面を参照して詳細に説明する。なお、以下に説明する実施の形態は一例であり、本開示は以下の実施の形態により限定されるものではない。
【００１５】
［第１の実施の形態］
図１Ａは、第１の実施の形態に係る位置推定装置を説明する図である。図１Ａには、位置推定装置１と、親機２と、子機３ａ〜３ｆと、が示してある。また、図１Ｂは、親機２および子機３ａ〜３ｃのそれぞれの間の距離を示す距離マトリクスＭ１を示す図である。図１Ｃは、親機２および子機３ｂ〜３ｄのそれぞれの間の距離を示す距離マトリクスＭ２を示す図である。
【００１６】
親機２および子機３ａ〜３ｆは、例えば、アクセスポイントと無線センサノードあるいはこれらに相当するスマートフォンまたはタブレット端末等の無線端末である。位置推定装置１は、親機２を介して、子機３ａ〜３ｆと通信を行い、子機３ａ〜３ｆの位置を推定する。
【００１７】
親機２の位置は、既知であるとする。また、子機３ａ〜３ｆは、そのうちのいくつかは、位置が既知であるとする。ここでは、子機３ａ，３ｂの位置が、既知であるとする。以下では、位置が既知である子機を、アンカー子機と呼ぶことがある。位置が既知でない子機を、非アンカー子機と呼ぶことがある。図１の例では、子機３ａ，３ｂがアンカー子機であり、子機３ｃ〜３ｆは、非アンカー子機である。
【００１８】
図１に示す「Ｐ１，Ａ２，Ａ３，Ｎ４〜Ｎ７」は、親機２および子機３ａ〜３ｆを識別する識別子を示している。以下では、親機２を親機Ｐ１と呼ぶことがある。また、子機３ａ，３ｂを子機Ａ２，Ａ３と呼ぶことがある。また、子機３ｃ〜３ｆを子機Ｎ４〜Ｎ７と呼ぶことがある。なお、子機Ａ２，Ａ３の「Ａ」は、アンカー子機であることを示し、子機Ｎ４〜Ｎ７の「Ｎ」は、非アンカー子機であることを示している。
【００１９】
近年、スマートフォンやタブレット端末等の無線端末の所持率は高くなっており、コンサート会場や運動競技場のような人が集まる会場には、多くの無線端末が集まる。このような会場に集まった無線端末に、例えば、ＬＥＤ等の発光素子を接続し、輝度や色彩を制御すれば、会場を、イルミネーションや画像を映し出すディスプレイとして演出することができる。
【００２０】
会場に集まった無線端末を、ディスプレイとして演出するには、無線端末の位置を把握し、位置を把握した無線端末に対して、所定の輝度や色彩の制御を行うことを要する。そこで、図１の位置推定装置１は、会場に集まった無線端末の位置を推定する。
【００２１】
図２は、位置推定装置１の機能ブロックの一例を示す図である。図２に示すように、位置推定装置１は、選択部１１と、距離算出部１２と、相対位置算出部１３と、絶対位置変換部１４と、平均部１５と、を有している。
【００２２】
選択部１１は、子機３ａ〜３ｆから、所定数を選択し、その後、選択した所定数の子機３ａ〜３ｆを１台ずつ、残りの子機３ａ〜３ｆと入れ替えながら順次選択していく。
【００２３】
例えば、選択部１１は、図１に示した６台の子機Ａ２，Ａ３，Ｎ４〜Ｎ７から、３台の子機Ａ２，Ａ３，Ｎ４を選択する。次に、選択部１１は、子機Ａ２を、子機Ｎ５に入れ替え、子機Ａ３，Ｎ４，Ｎ５を選択する。次に、選択部１１は、子機Ａ３を、子機Ｎ６に入れ替え、子機Ｎ４，Ｎ５，Ｎ６を選択する。このようにして、選択部１１は、子機を１台ずつ入れ替えながら、３台の子機を順次選択していく。
【００２４】
なお、選択部１１は、子機３ａ〜３ｆを、少なくとも１台以上入れ替えながら、所定数の子機３ａ〜３ｆを選択してもよい。例えば、選択部１１は、子機３ａ〜３ｆを、２台ずつ入れ替えながら、３台の子機３ａ〜３ｆを選択してもよい。
【００２５】
距離算出部１２は、順次選択された子機３ａ〜３ｆ間の距離（選択した子機３ａ〜３ｆと親機２との間の距離も含む）を算出する。
【００２６】
無線パケットの受信電力は、無線端末の距離が離れているほど減衰する。従って、距離算出部１２は、無線端末間で送受信された無線パケットの受信電力から、無線端末間の距離を算出する。つまり、距離算出部１２は、親機２および子機３ａ〜３ｆが、互いに無線パケットを送受信して得た受信電力を、親機２を介して、取得することにより、選択した子機３ａ〜３ｆ間の距離を算出する。
【００２７】
例えば、距離算出部１２は、選択された子機Ａ２，Ａ３，Ｎ４の無線パケットの受信電力を、親機２を介して取得し、図１の距離マトリクスＭ１に示すような、親機Ｐ１および子機Ａ２，Ａ３，Ｎ４間の距離を算出する。
【００２８】
また、距離算出部１２は、選択された子機Ａ３，Ｎ４，Ｎ５の無線パケットの受信電力を、親機Ｐ１を介して取得し、図１の距離マトリクスＭ２に示すような、親機Ｐ１および子機Ａ３，Ｎ４，Ｎ５間の距離を算出する。
【００２９】
また、距離算出部１２は、選択された子機Ｎ４，Ｎ５，Ｎ６の無線パケットの受信電力を、親機２を介して取得し、親機Ｐ１および子機Ａ４，Ｎ５，Ｎ６間の距離を算出する（図１には、この距離マトリクスを示していない）。以下同様にして、距離算出部１２は、選択された子機間の距離を算出する。
【００３０】
相対位置算出部１３は、算出された子機３間の距離に基づいて、親機２および子機３の相対位置（相対座標）を算出する。装置間の距離に基づいて、装置間の相対位置を求める方法には、例えば、多次元尺度構成法(Multi Dimensional Scaling)等がある。例えば、相対位置算出部１３は、図１に示した距離マトリクスＭ１，Ｍ２から、ＭＤＳによって親機２および子機３の相対位置を算出する。
【００３１】
相対位置は、親機２および子機３間の距離関係を保存した位置を示し、絶対的な位置関係（絶対位置）を示していない。例えば、距離が近い無線端末は、距離が近くなるように配置され、距離が遠い無線端末は、距離が遠くなるように配置される。そのため、相対位置は、親機２および子機３の絶対位置に対し、回転、反転、並進、拡大、または縮小している。
【００３２】
そこで、絶対位置変換部１４は、相対位置が算出されると、算出された相対位置を絶対位置（絶対座標）に変換する。
【００３３】
図３Ａ及び図３Ｂは、相対位置から絶対位置への変換の一例を説明する図である。図３Ａの相対位置Ｄ１には、図１の距離マトリクスＭ１に示した距離から算出された、親機Ｐ１および子機Ａ２，Ａ３，Ｎ４の相対位置が示してある。配置Ｄ１に示す親機Ｐ１および子機Ａ２，Ａ３，Ｎ４の(rx1,ry1)、(rx2,ry2)、(rx3,ry3)、および(rx4,ry4)は、親機Ｐ１および子機Ａ２，Ａ３，Ｎ４の相対座標を示している。
【００３４】
なお、相対座標に配置された親機Ｐ１および子機Ａ２，Ａ３，Ｎ４については、図１の距離マトリクスＭ１に示した距離関係が保存されているが、絶対的な位置は保存されていない。例えば、図３Ａの配置Ｄ１に示す親機Ｐ１および子機Ａ２，Ａ３，Ｎ４の配置は、図１に示した親機Ｐ１および子機Ａ２，Ａ３，Ｎ４の配置と異なり、回転した状態となっている。
【００３５】
親機Ｐ１とアンカー子機である子機Ａ２，Ａ３は、絶対位置が既知である。絶対位置変換部１４は、算出された親機Ｐ１および子機Ａ２，Ａ３の相対位置と、親機Ｐ１および子機Ａ２，Ａ３の既知の絶対位置との差が最小となるように、子機Ｎ４の相対位置を絶対位置に変換する。このようにして、絶対位置変換部１４は、子機の相対位置を絶対位置に変換する。
【００３６】
なお、図３Ｂの配置Ｄ２には、絶対位置に配置された親機Ｐ１および子機Ａ２，Ａ３，Ｎ４が示してある。配置Ｄ２に示す親機Ｐ１および子機Ａ２，Ａ３，Ｎ４は、図３Ａの配置Ｄ１に示す相対位置に配置された親機Ｐ１および子機Ａ２，Ａ３，Ｎ４を、回転した状態となっている。
【００３７】
選択部１１は、上述したように、子機３を１台ずつ入れ替えながら、選択していく。相対位置算出部１３は、子機３を入れ替えられたグループごとに、親機２と子機３および子機３間の相対位置を算出し、絶対位置変換部１４は、算出された相対位置を絶対位置に変換する。
【００３８】
図４Ａ及び図４Ｂは、子機を入れ替えたグループの絶対位置算出を説明する図である。図４Ａの配置Ｄ１１には、選択した子機Ａ２，Ａ３，Ｎ４の子機Ａ２を、子機Ｎ５に入れ替えたときの、親機Ｐ１および子機Ａ３，Ｎ４，Ｎ５の絶対位置を示している。配置Ｄ１１に示す親機Ｐ１および子機Ａ３，Ｎ４，Ｎ５の(x1,y1)、(x3,y3)、(x4a,y4a)、および(x5,y5)は、親機Ｐ１および子機Ａ２，Ａ３，Ｎ４の絶対座標を示している。絶対位置変換部１４は、図１および図３Ａ、図３Ｂで説明したのと同様の方法によって、子機Ａ２を子機Ｎ５に入れ替えられた後に、親機Ｐ１および子機Ａ３，Ｎ４，Ｎ５の絶対位置を算出する。
【００３９】
子機３を入れ替えて、親機２および子機３の絶対位置を算出したとき、すでに絶対位置を算出した子機が存在する。また、算出した絶対位置は、無線パケットの受信電力から得られる距離の誤差等によって、本来の絶対位置から、ずれが生じている場合がある。そこで、平均部１５は、子機３を入れ替えながら算出された絶対位置を、各子機３について平均化する。
【００４０】
例えば、図４Ｂの配置Ｄ１２に示す点線部分は、子機Ａ２を、子機Ｎ５に入れ替える前に算出した子機Ａ２，Ａ３，Ｎ４の絶対位置を示している（図３Ｂの配置Ｄ２に示した子機Ａ２，Ａ３，Ｎ４の絶対位置を示している）。子機Ｎ４の絶対位置は、前回算出したときと、今回算出したときとでずれが生じている。そこで、平均部１５は、子機Ｎ４の絶対座標(x4,y4)と絶対座標(x4a,y4a)とを平均化する。そして、平均部１５は、平均化した絶対座標を、子機Ｎ４の絶対位置とする。
【００４１】
なお、選択部１１は、次に子機Ａ３を子機Ｎ６に入れ替える。この場合、平均部１５は、例えば、子機Ｎ４の絶対座標を平均化し、また、子機Ｎ５の絶対座標を平均化する。
【００４２】
平均部１５は、絶対座標を平均化する際、時間経過に応じた重みづけを付加して、絶対座標を平均化してもよい。例えば、平均部１５は、算出した絶対座標が古い程、係数の小さい重みづけを付加する。図４Ｂの配置Ｄ１２に示す例の場合、平均部１５は、絶対座標(x4,y4)に付加（乗算）する係数を、絶対座標(x4a,y4a)に付加する係数より小さくする。
【００４３】
このように、選択部１１は、子機を入れ替えながら順次選択し、相対位置算出部１３は、順次選択された子機および親機の距離から、相対位置を算出し、絶対位置変換部１４は、絶対位置に変換する。そして、平均部１５は、子機の絶対位置を平均化し、子機の絶対位置の精度を高める。
【００４４】
以上説明したように、選択部１１は、子機３ａ〜３ｆから、所定数を選択し、選択した所定数の子機３ａ〜３ｆを、残りの子機３ａ〜３ｆから少なくとも１台以上入れ替えながら順次選択していく。距離算出部１２は、選択された子機３ａ〜３ｆ間で送受信された無線パケットの受信電力に基づいて、選択された子機３ａ〜３ｆ間の距離を算出する。そして、相対位置算出部１３は、算出された距離に基づいて、親機２および子機３ａ〜３ｆの相対位置を算出し、絶対位置変換部１４は、算出された相対位置を絶対位置に変換する。これにより、位置推定装置１は、無線端末が密集する無線通信ネットワークにおいて、無線端末の位置推定精度を向上させることができる。
【００４５】
また、平均部１５は、無線端末を入れ替えながら算出した無線端末の絶対位置を、各無線端末について平均化する。これにより、位置推定装置１は、無線端末の位置推定精度をより向上させることができる。
【００４６】
［第２の実施の形態］
第２の実施の形態では、コンサート会場または運動競技場のような会場に集まった無線端末を、イルミネーションや画像を映し出すディスプレイとして演出する例について説明する。
【００４７】
図５は、第２の実施の形態に係る無線通信システム１００のシステム構成の一例を示す図である。図５に示すように、無線通信システム１００は、アプリケーション制御部（ＡＣ:Application Control）１０１と、位置推定部（ＰＥ：Position estimation）１０２と、ネットワーク制御部（ＮＣ:Network control）１０３と、無線端末１０４〜１１０とを有している。無線端末１０４は親機であり、無線端末１０５〜１１０は子機である。アプリケーション制御部１０１、位置推定部１０２、およびネットワーク制御部１０３は、例えば、ＰＣ（Personal computer）等の１台のコンピュータで実現されてもよい。または、アプリケーション制御部１０１、位置推定部１０２、およびネットワーク制御部１０３のそれぞれは、例えば、異なるコンピュータで実現されてもよい。
【００４８】
アプリケーション制御部１０１は、無線端末１０４〜１１０の入出力部（後述）を制御し、ユーザアプリケーションを提供する。例えば、アプリケーション制御部１０１は、無線端末１０４〜１１０の出力部に接続されたカラーLEDの輝度や色彩を制御する。これにより、アプリケーション制御部１０１は、無線端末１０４〜１１０を、イルミネーションや画像を映し出すディスプレイとして機能させる、空間演出アプリケーションを提供することができる。
【００４９】
あるいは、アプリケーション制御部１０１は、無線端末１０４〜１１０の入力部に接続されたセンサの情報を収集する。これにより、アプリケーション制御部１０１は、無線端末１０４〜１１０が配置された空間の情報を、検出識別及び認識する空間認識アプリケーションを提供することができる。
【００５０】
アプリケーション制御部１０１は、位置pに対するアプリケーション制御コマンドAC(p)を位置推定部１０２に対して送信する。また、アプリケーション制御部１０１は、位置pに対するアプリケーション制御レスポンスAR(p)を位置推定部１０２から受信する。なおアプリケーションによっては、アプリケーション制御レスポンスAR(p)はなくても良い。
【００５１】
位置推定部１０２は、無線端末１０４〜１１０が配置された空間内において、各無線端末１０４〜１１０の位置を推定し、無線端末のIDと位置pの変換テーブルDBを生成する。位置推定部１０２は、例えば、図２に示した機能部を有している。位置推定および変換テーブルの生成方法については後述する。
【００５２】
位置推定部１０２は、アプリケーション制御部１０１から受信したアプリケーション制御コマンドAC(p)を、位置pに対応する無線端末のIDiに変換し、無線端末iに対応するアプリケーション制御コマンドAC(i)に変換する。そして、位置推定部１０２は、アプリケーション制御コマンドAC(i)を、ネットワーク制御部１０３に送信する。
【００５３】
また、位置推定部１０２は、位置推定に用いる位置推定制御コマンドPC(j)を、ネットワーク制御部１０３に送信する。また、位置推定部１０２は、ネットワーク制御部１０３から受信した無線端末jからの位置推定制御レスポンスPR(j)を用いて無線端末の位置を推定し、無線端末のIDと位置pの変換テーブルを更新する。
【００５４】
また、位置推定部１０２は、ネットワーク制御部１０３から受信した無線端末jからのアプリケーション制御レスポンスAR(i)を、無線端末のIDiに対応する位置pに変換し、位置pに対応するアプリケーション制御レスポンスR(p)に変換して、アプリケーション制御部１０１に送信する。ここで、iとjは異なっていても良い。
【００５５】
ネットワーク制御部１０３は、無線端末１０４〜１１０で構成される無線ネットワークにおいて、無線端末の接続管理やルーティングなどのネットワーク制御を行う。
【００５６】
ネットワーク制御部１０３は、位置推定部１０２から受信した無線端末iに対応するアプリケーション制御コマンドAC(i)および無線端末jに対応する位置推定制御コマンドPC(j)を、無線端末iおよびjに送信するため、無線端末iおよびjが接続されている適切な親機（例えば、無線端末１０４）を選択する。
【００５７】
ネットワーク制御部１０３は、選択した親機の無線端末１０４に対して、子機の無線端末１０５〜１１０へ送信データT(AC(i),PC(j))を送信する。また、ネットワーク制御部１０３は、親機の無線端末１０４が受信した無線端末iおよびjからの受信データR(AR(i),PR(j))を、親機の無線端末１０４から受信する。
【００５８】
無線端末１０４〜１１０は、無線ネットワークを構成し、端末間で相互に無線パケットをやり取りする。ネットワークのトポロジーは様々なものを用いることができるが図５では、スター型を例に説明する。
【００５９】
無線端末１０４（以降、親機と呼ぶことがある）は、ネットワーク制御部１０３からの要求に対し、配下の無線端末１０５〜１１０（以降、子機と呼ぶことがある）に対して無線接続し、スケジューリングやアクセス制御を行って無線パケットの送受信を行う。親機１０４は、配置されている位置があらかじめ分かっているものとする。
【００６０】
なお、図５では、親機１０４は、１台として図示しているが、複数存在してもよく、ネットワーク制御部１０３は、複数の親機を介してより多くの子機１０５〜１１０を制御してもよい。
【００６１】
子機１０５〜１１０は、親機１０４と無線接続し、無線パケットの送受信を行う。子機１０５〜１１０は、受信した無線パケットから子機１０５〜１１０宛てのアプリケーション制御コマンドAC(i)または位置推定制御コマンドPC(j)を受け取り、それぞれのコマンドに応じた応答を生成する。子機１０５〜１１０は、応答の送信を行う場合は、アプリケーション制御レスポンスAR(i)または位置推定制御レスポンスPR(j)を生成し、親機１０４に無線パケットで送信する。
【００６２】
子機１０５〜１１０のうち、あらかじめ位置が分かっているものはアンカー子機と呼ぶ。図５では、子機１０５，１０６がアンカー子機である。
【００６３】
一方、子機のうち、あらかじめ位置が分かっていないものは非アンカー子機と呼ぶ。図５では、子機１０７〜１１０が非アンカー子機である。
【００６４】
無線通信システム１００において、位置推定部１０２は、非アンカー子機１０７〜１１０の位置を推定する。アプリケーション制御部１０１は、位置が推定された無線端末１０１〜１１０に対するアプリケーション制御を行う。
【００６５】
無線端末１０４の構成の一例について説明する。
【００６６】
図６は、無線端末１０４の構成の一例を示した図である。図６に示すように、無線端末１０４は、入力部２０１、制御部２０２、出力部２０３、および無線部２０４を有している。なお、無線端末１０５〜１１０は、無線端末１０４と同様の構成を有し、その説明を省略する。
【００６７】
入力部２０１には、例えば、温度センサ、湿度センサ、照度センサ、地磁気センサ、方位センサ、加速度センサ、画像センサのうち少なくとも１つのセンサが接続される。入力部２０１は、接続されたセンサが検知した情報（信号）を入力する。なお、入力部２０１には、センサの他に、ユーザからの入力情報をセンシングするスイッチ、キーボード、マイク、カメラなどが接続されてもよい。
【００６８】
制御部２０２は、入力部２０１が入力したセンシングデータに基づいて、所定の制御を行う。また、制御部２０２は、無線部２０４を介して入力されるアプリケーション制御コマンドAC(i)あるいは位置推定制御コマンドPC(j)に基づいて、所定の制御を行う。例えば、制御部２０２は、出力部２０３へ出力するデータや、無線部２０４を介して出力するアプリケーション制御レスポンスAR(i)または位置推定制御レスポンスPR(j)を生成する。
【００６９】
出力部２０３には、例えば、LEDなどの光源、ディスプレイなどの画像出力デバイス、振動モータなどのアクチュエータデバイス、スピーカなどの音声出力装置が接続される。出力部２０３は、制御部２０２から出力されたデータを、接続された装置に出力する。
【００７０】
無線部２０４は、制御部２０２からの制御に基づき、無線端末間で無線通信を行う。無線通信には、例えば、920MHz帯や2.4GHz帯を用いた特定小電力無線や、Zigbee（登録商標）、Bluetooth（登録商標）、Wi-Fi（登録商標）など種々の無線通信方式を用いることができる。
【００７１】
無線通信システム１００に適用されるアプリケーションの一例について説明する。以下では、子機の出力部２０３に接続されたカラーLEDを、子機の位置に応じて色を変えて点灯させ、パターンを表示させることを想定する。なお、パターンは予め複数用意しておき、例えば、所定時間の経過後、または、操作によるトリガーによって、パターンを切り替えることにより、変化するイルミネーション、動画像を映し出すことができる。
【００７２】
アプリケーション制御部１０１の処理フローについて説明する。
【００７３】
図７は、アプリケーション制御部１０１の処理フローの一例を示す図である。図７に示す「Ｓ」はステップを表す。
【００７４】
ステップＳ３０１では、アプリケーション制御部１０１は、子機１０５〜１１０が存在するエリアに表示させる点灯パターンを決定する。
【００７５】
ステップＳ３０２では、アプリケーション制御部１０１は、Ｓ３０１で決定したパターンを位置に基づいて分割し、それぞれの位置で点灯すべき色情報を選択する。例えば、アプリケーション制御部１０１は、子機１０５〜１１０が格子状に配置されていることが想定される場合、点灯パターンを同様の格子状に分割する。そして、アプリケーション制御部１０１は、各格子の座標p(x,y)と、点灯させるべき色cとを決定する。
【００７６】
ステップＳ３０３では、アプリケーション制御部１０１は、Ｓ３０２で決定した位置pに色cを点灯させるアプリケーション制御コマンドAC(p,c)を生成し、位置推定部１０２に送信する。位置推定部１０２の制御処理フローは、図８Ａ，図８Ｂを用いて後述する。
【００７７】
ステップＳ３０４では、アプリケーション制御部１０１は、エリア内のすべての位置についてアプリケーション制御コマンドを送信したかを判定する。アプリケーション制御部１０１は、アプリケーション制御コマンドを送信していない場合（N）、処理をステップＳ３０２に移行する。一方、アプリケーション制御部１０１は、アプリケーション制御コマンドを送信している場合（Y）、処理をステップＳ３０５に移行する。
【００７８】
ステップＳ３０５では、アプリケーション制御部１０１は、予め複数用意したパターンをすべて表示したかを判定する。アプリケーション制御部１０１は、パターンをすべて表示していない場合（N）、処理をステップＳ３０１に移行する。アプリケーション制御部１０１は、パターンをすべて表示している場合（Y）、アプリケーション動作を終了する。
【００７９】
位置推定部１０２の処理フローについて説明する。
【００８０】
図８Ａは、位置推定部１０２の処理フローの一例を示す図である。図８Ａに示す「Ｓ」はステップを表す。位置推定部１０２は、アプリケーション制御部１０１から、図７のステップＳ３０３にて送信されるアプリケーション制御コマンドAC(p,c)を受信した後、以下の処理を実行する。
【００８１】
ステップＳ４０１では、位置推定部１０２は、受信したアプリケーション制御コマンドACの位置pに対応する端末IDが、変換テーブルDBにあるかを判定する。位置推定部１０２は、位置pに対応する端末IDが、変換テーブルDBにある場合（Y）、処理をステップＳ４１１に移行する。一方、位置推定部１０２は、位置pに対応する端末IDが、変換テーブルDBにない場合（N）、処理をステップＳ４０２に移行する。
【００８２】
なお、端末IDが、親機やアンカー子機のものであれば、位置pは既知であるので、位置pに対応する端末IDは、変換テーブルDBに存在する。また、非アンカー子機でもそれ以前に位置が推定されていれば、位置pに対応する端末IDは、変換テーブルDBに存在する。なお非アンカー子機の位置pおよび端末IDは、非アンカー子機の移動を考慮し、時間経過に伴って、変換テーブルDBから削除してもよい。
【００８３】
ステップＳ４０２では、位置推定部１０２は、非アンカー子機の位置を推定するため、子機間（親機と子機間も含む）の距離マトリクスMを生成する。ここでは、位置推定部１０２は、子機１０５〜１１０からサブグループGを選択し、サブグループG内の子機間のすべての組み合わせの推定距離を求めるため、処理を図８ＢのステップＳ４０３に移行する。なお、サブグループGの選択方法はランダムでもよく、あるいは子機を少なくとも１台ずつ入れ替えていくような選択方法としてもよい。
【００８４】
図８Ｂは、位置推定部１０２の処理フローの一例を示す図である。ステップＳ４０３では、位置推定部１０２は、まずサブグループGから子機jを選択する。そして、位置推定部１０２は、選択した子機jに対して、これまで受信した無線パケットのRSSI(受信電力)のログを親機に送信するよう要求する位置推定制御コマンドPC(j)を生成する。それから、位置推定部１０２は、生成した位置推定制御コマンドPC(j)を、ネットワーク制御部１０３に送信する。
【００８５】
ステップＳ４０４では、位置推定部１０２は、ネットワーク制御部１０３から送信される、位置推定制御レスポンスPR(j)（図１３のステップＳ５０５を参照）を受信する。位置推定制御レスポンスPR(j)には、子機間（親機と子機間も含む）のRSSIのログが含まれている。位置推定部１０２は、位置推定制御レスポンスPR(j)を受信すると、処理をステップＳ４０５に移行する。なお、位置推定部１０２は、所定時間内に、位置推定制御レスポンスPR(j)を受信しなかった場合、タイムアウトと判定し、処理をステップＳ４０５に移行してもよい。
【００８６】
ステップＳ４０５では、位置推定部１０２は、サブグループGのすべての子機から位置推定制御レスポンスPR(j)を受信したかを判定する。位置推定部１０２は、すべての子機から位置推定制御レスポンスPR(j)を受信していない場合（N）、処理をステップＳ４０３に移行する。一方、位置推定部１０２は、すべての子機から位置推定制御レスポンスPR(j)を受信している場合（Y）、処理をステップＳ４０６に移行する。
【００８７】
ステップＳ４０６では、位置推定部１０２は、受信した位置推定制御レスポンスPR(j)からRSSIログを生成する。例えば、位置推定部１０２は、受信した位置推定制御レスポンスPR(j)に含まれる、サブグループGの子機の無線パケットの送信電力値と、他の子機から送信された無線パケットを子機が受信したときのRSSIのログとを集めたRSSIログを生成する。位置推定部１０２は、RSSIログを各子機の送信電力値で補正することにより、サブグループ内の子機間の伝搬損を求める。
【００８８】
ステップＳ４０７では、位置推定部１０２は、ステップＳ４０６で求めたサブグループ内の子機間の伝搬損に基づいて距離に変換し、子機間の距離マトリクスMを生成する。
【００８９】
ここで、サブグループと距離マトリクスについて説明する。
【００９０】
図９は、サブグループの一例を示す図である。図９において、図５と同じものには同じ符号が付してある。
【００９１】
図９に示すように、位置推定部１０２は、サブグループGを、親機１０４と、子機１０５，１０６，１０７とで構成する。ここでは、親機１０４をＰ１、アンカー子機１０５をＡ２、アンカー子機１０６をＡ３、非アンカー子機１０７をＮ４とする。
【００９２】
それぞれの絶対座標は、親機Ｐ１は(x1,y1)、アンカー子機Ａ２は(x2,y2)、アンカー子機Ａ３は(x3,y3)、非アンカー子機Ｎ４は(x4,y4)で、非アンカー子機N４の(x4,y4)以外は既知である。端末間の距離dは端末番号i,jとすると、dij=djiとなる。
【００９３】
図１０は、サブグループの距離マトリクスMの一例を示す図である。図１０に示す距離マトリクスMは、図９に示したサブグループにおける子機間（親機と子機間も含む）の距離を示している。
【００９４】
図１０に示すdijは、端末番号i,jの端末間の距離を示している。例えば、親機Ｐ１と子機Ａ２との間の距離は、「ｄ１２」である。子機Ａ２と子機Ａ３との間の距離は、「ｄ２３」である。このように、位置推定部１０２は、図９に示したサブクループ内の子機間の距離マトリクスMを、図１０に示すように生成する。
【００９５】
なお、位置推定部１０２は、サブグループ内の子機を１台ずつ入れ替えながら、距離マトリクスMを生成する（ステップＳ４０２を参照）。その際、位置推定部１０２は、全ての子機１０５〜１１０が選択されるようにする。例えば、位置推定部１０２は、１台ずつ子機を入れ替えていく場合、全ての子機が順次選択されるまで、子機を入れ替えていく。具体的には、位置推定部１０２は、子機Ａ２，Ａ３，Ｎ４（図５を参照）を選択した後、子機Ａ３，Ｎ４，Ｎ５を選択する。そして、位置推定部１０２は、子機Ｎ４，Ｎ５，Ｎ６を選択した後、子機Ｎ５，Ｎ６，Ｎ７を選択する。さらに、位置推定部１０２は、子機Ｎ６，Ｎ７，Ａ２を選択した後、子機Ｎ７，Ａ２，Ａ３を選択する。
【００９６】
図８Ａの処理フローの説明に戻る。ステップＳ４０８では、位置推定部１０２は、サブグループGの距離マトリクスMを用いて、子機間の相対位置rpを推定する。位置推定部１０２は、例えば、子機間の距離マトリクスMを、例えば、多次元尺度構成法を用いて２次元（あるいは３次元）の空間座標系上における座標値に変換する。
【００９７】
これにより、各子機（親機を含む）は、装置間の距離が近いものは近くに配置され、距離が遠いものは遠くに配置される。つまり、位置推定部１０２は、距離関係を保存するような子機の位置関係を推定する。
【００９８】
なお、推定した相対位置rpは、サブグループGの子機間の相対関係を示しているが、絶対位置とは必ずしも一致しない。そのため、位置推定部１０２は、これらの相対位置rpを、回転、反転、並進、拡大、または縮小する。すなわち、位置推定部１０２は、相対位置rpを、絶対位置に変換する。
【００９９】
ここで、相対位置および絶対位置について説明する。
【０１００】
図１１は、サブグループの相対座標マトリクスの一例を示す図である。図１０に示した距離マトリクスMを、多次元尺度構成法により２次元空間座標系の座標値に変換すると、図１１に示すようになる。例えば、図１０に示した無線端末Ｐ１，Ａ２，Ａ３，Ｎ４の距離関係を保存するよう相対座標を推定（算出）すると、それぞれ(rx1,ry1)〜(rx4,ry4)で表現される。
【０１０１】
図１２は、サブグループの相対位置の一例を示す図である。図１１に示した無線端末Ｐ１，Ａ２，Ａ３，Ｎ４の相対座標は、例えば、図１２に示すような位置関係になる。無線端末Ｐ１，Ａ２，Ａ３，Ｎ４間の距離関係は、図１０に示した距離マトリクスMの距離を保存している。子機Ａ２，Ａ３，Ｎ４の座標を頂点とする多角形と考えると、図１２に示す位置関係は、図９に示した絶対位置での位置関係と相似の関係にあるが、全体としては回転している。そこで、位置推定部１０１は、次に説明するように、相対位置rpを絶対位置に変換する。
【０１０２】
図８Ａの説明に戻る。ステップＳ４０９では、位置推定部１０２は、ステップＳ４０８で推定したサブグループGの相対位置rpを絶対位置に変換する。例えば、位置推定部１０２は、ステップＳ４０８で推定した相対位置rpを、回転、反転、並進、拡大、または縮小して、位置がすでに分かっているアンカー子機の座標や、以前に位置を推定した非アンカー子機の座標との誤差が最小になるような変形を施す。そして、位置推定部１０２は、変形した各子機の相対位置rpの座標を、各子機の推定絶対位置apとする。
【０１０３】
例えば、親機である無線端末Ｐ１と、アンカー子機である無線端末Ａ２，Ａ３の絶対座標は、すでに分かっている。そこで、位置推定部１０２は、図１２に示した無線端末Ｐ１，Ａ２，Ａ３の相対座標(rx1,ry1),(rx2,ry2),(ry3,ry3)と、すでに分かっている無線端末Ｐ１，Ａ２，Ａ３の絶対座標(x1,y1),(x2,y2),(x3,y3)との誤差が最小となるような変形を施す。図１２の場合、位置推定部１０２は、相対座標の重心点と絶対座標の重心点とを合わせるように並進させ、重心点を中心として、相対座標を回転させることで誤差を最小にする。位置推定部１０２は、変形を施した非アンカー子機Ｎ４の座標値(rx4a,ry4a)を、推定絶対座標(x4a,y4a)とする。
【０１０４】
ステップＳ４１０では、位置推定部１０２は、各子機の推定絶対位置apで変換テーブルDBを更新する。位置推定部１０２は、これまでに位置が推定されていなかった非アンカー子機、または時間経過によってそれまでに推定された推定絶対位置apが削除された子機、に対しては、推定絶対位置apを変換テーブルDBに追加する。
【０１０５】
なお、それまでに位置が推定されていた場合、経過時間に応じた重みづけをしたのち、以前に推定した座標値と今回推定した座標値の平均化を演算するようにして変換テーブルDBの位置pと端末IDの関連づけを更新するようにしてもよい。
【０１０６】
例えば、位置推定部１０２は、図９に示したサブグループ（Ｐ１，Ａ２，Ａ３，Ｎ４）の絶対座標を推定した後、次のサブグループとして（Ａ２，Ａ３，Ｎ４，Ｎ５）の絶対座標を推定する。位置推定部１０２は、サブグループ（Ｐ１，Ａ２，Ａ３，Ｎ４）で推定した非アンカー子機Ｎ４の絶対座標を、信頼度は劣るが、サブグループ（Ａ２，Ａ３，Ｎ４，Ｎ５）の絶対座標を推定する際に、アンカーとして用いることができる。
【０１０７】
そして、位置推定部１０２は、これを繰り返して推定した絶対座標を平均化していくことで推定の信頼度を向上することができる。その際、位置推定部１０２は、経過時間に応じた重みづけを付加して、絶対座標を平均化してもよい。
【０１０８】
ステップＳ４１１では、位置推定部１０２は、変換テーブルDBに基づいて、位置pに対応する端末IDiを抽出し、アプリケーション制御コマンドAC(p)をAC(i)に変換する。位置推定部１０２は、アプリケーション制御コマンドAC(i)を、ネットワーク制御部１０３に送信する。
【０１０９】
ステップＳ４１２では、位置推定部１０２は、アプリケーション制御コマンドAC(i)に対応する応答がない場合は終了する。位置推定部１０２は、応答がある場合は、ネットワーク制御部１０３からのアプリケーション制御レスポンスAR(i)を受信するまで待ち、変換テーブルDBに基づいて端末IDiを位置pに逆変換する。位置推定部１０２は、アプリケーション制御レスポンスAR(p)を、アプリケーション制御部１０１に送信し、当該フローチャートの処理を終了する。
【０１１０】
なお、位置推定部１０２は、アプリケーション制御部１０１からのアプリケーション制御コマンド送信要求にかかわらす、位置推定にかかる処理フロー（ステップＳ４０２からＳ４１０）を繰り返し実行し、変換テーブルDBを更新し続けるようにすることもできる。
【０１１１】
ネットワーク制御部１０３の処理フローについて説明する。
【０１１２】
図１３は、ネットワーク制御部１０３の処理フローの一例を示す図である。図１３に示す「Ｓ」はステップを表す。ここでは、親機１０４と子機１０５〜１１０は、すでに無線接続済みであり、ネットワーク制御部１０３は、これらの無線端末の情報を保持しているものとする。
【０１１３】
ステップＳ５０１では、ネットワーク制御部１０３は、位置推定部１０２から、コマンドの送信要求があるかを判定する。コマンドの送信要求には、例えば、図８ＡのステップＳ４１１にて送信される、位置推定部１０２からのアプリケーション制御コマンドAC(i,c)の送信要求や、ステップＳ４０３にて送信される、位置推定部１０２からの位置推定制御コマンドPC(j)の送信要求がある。ネットワーク制御部１０３は、コマンドの送信要求がなければ（N）処理を終了し、送信要求があれば（Y）処理をステップＳ５０２に移行する。
【０１１４】
ステップＳ５０２では、ネットワーク制御部１０３は、送信要求された相手先の端末が接続されている親機を選択する。図５では、親機１０４が１台であるため、親機１０４が選択されるが、複数台の親機が接続されている場合は、配下の子機に応じて適切な親機が選択される。
【０１１５】
ステップＳ５０３では、ネットワーク制御部１０３は、ステップＳ５０２にて選択した親機１０４に対し、送信要求があったアプリケーション制御コマンドAC(i,c)および位置推定制御コマンドPC(j)を送信する。
【０１１６】
ステップＳ５０４では、ネットワーク制御部１０３は、親機１０４からのアプリケーション制御レスポンスAR(i)または位置推定制御レスポンスPR(j)を受信する。ネットワーク制御部１０３は、AR(i)またはPR(j)を受信した後、処理をステップＳ５０５に移行する。なお、ネットワーク制御部１０３は、所定時間にAR(i)またはPR(j)を受信しなかった場合、タイムアウトと判定し、処理をステップＳ５０５に移行してもよい。
【０１１７】
ステップＳ５０５では、ネットワーク制御部１０３は、ステップＳ５０４にて受信したアプリケーション制御レスポンスAR(i)または位置推定制御レスポンスPR(j)を、位置推定部１０２に送信する。
【０１１８】
親機１０４の処理フローについて説明する。
【０１１９】
図１４は、親機１０４の処理フローの一例を示す図である。図１４に示す「S」はステップを表す。
【０１２０】
ステップＳ６０１では、親機１０４は、ネットワーク制御部１０３から、アプリケーション制御コマンドAC(i,c)または位置推定制御コマンドPC(j)を受信する。これらのコマンドは、図１３のステップＳ５０３にて、ネットワーク制御部１０３から送信される。
【０１２１】
親機１０４は、ネットワーク制御部１０３から、AC(i,c)またはPC(j)のコマンドを受信した後、コマンドを子機に無線送信するための無線パケットを生成する。無線パケットには、送信電力情報tp1と、宛先アドレスdaと、送信元アドレスsaとの情報が含まれる。送信電力情報tp1は、無線パケットの送信電力値を表す。親機１０４は、宛先アドレスdaにブロードキャストアドレスを指定し、送信元アドレスsaに親機１０４のアドレスを入れて無線パケットを送信する。
【０１２２】
ステップＳ６０２では、親機１０４は、無線部２０４を受信待ち受け状態にして親機宛（宛先アドレスdaが親機１０４のアドレス）の無線パケットを受信する。
【０１２３】
ステップＳ６０３では、親機１０４は、受信待ちのタイムアウトかを判定する。親機１０４は、受信待ちのタイムアウトが生じた場合（Y）、当該フローチャートの処理を終了する。一方、親機１０４は、受信待ちのタイムアウトが生じていない場合（N）、処理をステップＳ６０４に移行する。
【０１２４】
ステップＳ６０４では、親機１０４は、受信した親機宛の無線パケットに、アプリケーション制御レスポンスAR(i)または位置推定制御レスポンスPR(j)が含まれるかを判定する。親機１０４は、受信した親機宛の無線パケットに、アプリケーション制御レスポンスAR(i)または位置推定制御レスポンスPR(j)が含まれていない場合（N）、応答を待つため処理をステップＳ６０２に移行する。一方、親機１０４は、受信した親機宛の無線パケットに、アプリケーション制御レスポンスAR(i)または位置推定制御レスポンスPR(j)が含まれている場合（Y）、処理をステップＳ６０５に移行する。
【０１２５】
ステップＳ６０５では、親機１０４は、ステップＳ６０４にて受信したアプリケーション制御レスポンスAR(i)または位置推定制御レスポンスPR(j)を、ネットワーク制御部１０３に送信する。
【０１２６】
子機１０５〜１１０の処理フローについて説明する。
【０１２７】
図１５は、子機１０５の処理フローの一例を示す図である。図１５に示す「S」はステップを表す。子機１０６〜１１０も、図１５に示す処理フローと同様の処理を実行する。
【０１２８】
ステップＳ７０１では、子機１０５は、無線部２０４を受信待ち受け状態にして無線パケットを受信待ち受けする。
【０１２９】
ステップＳ７０２では、子機１０５は、受信した無線パケットが親機１０４から送信されたものかを判定する。例えば、子機１０５は、受信した無線パケットの送信元アドレスsaが親機１０４のアドレスであるかを判定する。子機１０５は、受信した無線パケットが親機１０４から送信されたものである場合（Y）、処理をステップＳ７０３に移行する。一方、子機１０５は、受信した無線パケットが親機１０４から送信されたものでない場合（N）、処理をステップＳ７０５に移行する。
【０１３０】
ステップＳ７０３では、子機１０５は、受信した無線パケットに、子機１０５宛のアプリケーション制御コマンドAC(i,c)が含まれるかを判定する。アプリケーション制御コマンドAC(i,c)は、図１４に示したステップＳ６０１にて、親機１０４から送信される。子機１０５は、受信したアプリケーション制御コマンドAC(i,c)の「i」が、子機１０５の端末IDで場合（Y）、処理をステップＳ７０４に移行する。一方、子機１０５は、受信したアプリケーション制御コマンドAC(i,c)の「i」が、子機１０５の端末IDでない場合（N）、処理をステップＳ７０７に移行する。
【０１３１】
ステップＳ７０４では、子機１０５は、受信したアプリケーション制御コマンドAC(i,c)に従って出力部２０３に接続されたカラーLEDに色cを点灯させる。そして、子機１０５は、当該フローチャートの処理を終了する。なお、図示しないが、子機１０５は、アプリケーション制御レスポンスAR(i)を含む無線パケットを生成し、親機１０４宛てに送信してもよい。
【０１３２】
ステップＳ７０５では、子機１０５は、受信した無線パケットが、他の子機から送信された無線パケットか否かを判定する。子機１０５は、受信した無線パケットが、他の子機から送信された無線パケットである場合（Y）、処理をステップＳ７０６に移行する。一方、子機１０５は、受信した無線パケットが、他の子機から送信された無線パケットでない場合（N）、当該フローチャートの処理を終了する。
【０１３３】
ステップＳ７０６では、子機１０５は、他の子機が送信した無線パケット（他の子機が以下で説明するステップＳ７０８にて送信した無線パケット）のRSSIと、送信元の端末IDkとをRSSIのログとして保存する。このように、子機１０５は、他の子機が親機１０４宛てに送信した無線パケットを受信することで、子機間のRSSIを収集することができる。
【０１３４】
なお、ステップＳ７０８にて送信される無線パケットには、位置推定制御レスポンスPR(k)が含まれるため、子機１０５は、送信元の端末IDkを取得できる。また、子機１０５は、受信した無線パケットの送信元アドレスsaを、端末IDkの代わりに保存してもよい。
【０１３５】
ステップＳ７０７では、子機１０５は、親機１０４から送信された無線パケットに、子機１０５宛の位置推定制御コマンドPC(j)が含まれるか否かを判定する。子機１０５は、受信した位置推定制御コマンドPC(j)の「j」が、子機１０５の端末IDである場合（Y）、処理をステップＳ７０８に移行する。一方、子機１０５は、受信した位置推定制御コマンドPC(j)の「j」が、子機１０５の端末IDでない場合（N）、当該フローチャートの処理を終了する。
【０１３６】
ステップＳ７０８では、子機１０５は、位置推定制御コマンドPC(j)に従い、これまでに、ステップＳ７０６にて保存したRSSIのログを含む位置推定制御レスポンスPR(j)を生成する。子機１０５は、位置推定制御レスポンスPR(j)を親機１０４に送信するため、無線パケットを生成する。無線パケットには、送信電力情報tpjと、宛先アドレスdaと、送信元アドレスsaとの情報が含まれる。
【０１３７】
送信電力情報tpjは、この無線パケットを送信する際の送信電力値を表す。子機１０５は、宛先アドレスdaに親機１０４のアドレスを指定し、送信元アドレスsaに子機１０５のアドレスを入れて無線パケットを送信して、当該フローチャートの処理を終了する。
【０１３８】
無線通信システム１００は、上記の動作を繰り返すことで、子機のアプリケーション制御をしながら、子機間のRSSI情報を収集し、子機の位置関係を推定する。
【０１３９】
以上、図面を参照しながら各種の実施形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。また、開示の趣旨を逸脱しない範囲において、上記実施形態における各構成要素を任意に組み合わせてもよい。
【０１４０】
上記各実施形態では、本開示はハードウェアを用いて構成する例にとって説明したが、本開示はハードウェアとの連携においてソフトウェアでも実現することも可能である。
【０１４１】
また、上記各実施形態の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。集積回路は、上記実施の形態の説明に用いた各機能ブロックを制御し、入力と出力を備えてもよい。これらは個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１４２】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサを用いて実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）、ＬＳＩ内部の回路セルの接続又は設定を再構成可能なリコンフィギュラブル  プロセッサ（Reconfigurable Processor）を利用してもよい。
【０１４３】
さらには、半導体技術の進歩又は派生する別技術により,ＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックを集積化してもよい。バイオ技術の適用等が可能性としてありえる。
【０１４４】
＜本開示のまとめ＞
本開示の位置推定装置は、第１から第Ｍ（Ｍは１以上の整数）の無線端末から、Ｎ個（Ｎは１以上Ｍ以下の整数）の無線端末を選択し、及び、選択したＮ個の無線端末のうち、少なくとも１台以上を、残りの第１から第Ｍの無線端末から入れ替える選択部と、選択されたＮ個の無線端末の間で送受信された無線パケットの電力情報に基づいて、選択されたＮ個の無線端末の間の距離を算出する距離算出部と、算出された距離に基づいて、第１から第Ｍの無線端末の相対位置を算出する相対位置算出部と、第１から第Ｍの無線端末の相対位置と、絶対位置が既知の第１の無線端末の絶対位置と、に基づいて、絶対位置が未知の第２の無線端末の相対位置を絶対位置に変換する絶対位置変換部と、を有する。
【０１４５】
本開示の位置推定方法は、第１から第Ｍ（Ｍは１以上の整数）の無線端末から、Ｎ個（Ｎは１以上Ｍ以下の整数）の無線端末を選択し、選択したＮ個の無線端末のうち、少なくとも１台以上を、残りの第１から第Ｍの無線端末から入れ替え、選択したＮ個の無線端末の間で送受信された無線パケットの電力情報に基づいて、選択したＮ個の無線端末の間の距離を算出し、算出した距離に基づいて、第１から第Ｍの無線端末の相対位置を算出し、第１から第Ｍの無線端末の相対位置と、絶対位置が既知の第１の無線端末の絶対位置と、に基づいて、絶対位置が未知の第２の無線端末の相対位置を絶対位置に変換する。
【産業上の利用可能性】
【０１４６】
本開示は、無線通信システムに有用である。
【符号の説明】
【０１４７】
１  位置推定装置
１１  選択部
１２  距離算出部
１３  相対位置算出部
１４  絶対位置変換部
１５  平均部
１００  無線通信システム
１０１  アプリケーション制御部
１０２  位置推定部
１０３  ネットワーク制御部
１０４  無線端末（親機）
１０５〜１１０  無線端末（子機）
２０１  入力部
２０２  制御部
２０３  出力部
２０４  無線部
【図１Ａ】
2019023591.tif 000003
【図１Ｂ】
2019023591.tif 000004
【図１Ｃ】
2019023591.tif 000005
【図２】
2019023591.tif 000006
【図３Ａ】
2019023591.tif 000007
【図３Ｂ】
2019023591.tif 000008
【図４Ａ】
2019023591.tif 000009
【図４Ｂ】
2019023591.tif 000010
【図５】
2019023591.tif 000011
【図６】
2019023591.tif 000012
【図７】
2019023591.tif 000013
【図８Ａ】
2019023591.tif 000014
【図８Ｂ】
2019023591.tif 000015
【図９】
2019023591.tif 000016
【図１０】
2019023591.tif 000017
【図１１】
2019023591.tif 000018
【図１２】
2019023591.tif 000019
【図１３】
2019023591.tif 000020
【図１４】
2019023591.tif 000021
【図１５】
2019023591.tif 000022