(57)【要約】【課題】無線ノードの位置を高精度に推定可能な位置推定装置を提供することを課題とする。【解決手段】位置推定装置５において、自己位置生成部５５は、所定の座標系において、各無線ノードの仮の自己位置を生成する。仮想ノード情報生成部５３は、所定の座標系における対称面を基準にして無線ノードＳ−１と面対称の関係にある仮想ノードＶ−１を生成し、仮想ノードＶ−１の隣接ノード情報を無線ノードＳ−１の隣接ノード情報に基づいて生成する。仮想ノードＶ−１の仮の自己位置が、無線ノードＳ−１の仮の自己位置に基づいて生成される。トポロジ生成部５４は、無線ノード及び仮想ノードの隣接ノード情報に基づいて、各ノードの配置関係を示すトポロジを生成する。位置更新部５７は、トポロジに基づいて各ノードについての仮の自己位置を更新して、無線ノードの位置を推定する。【選択図】図５
2018197717.tif 000002
【特許請求の範囲】
【請求項１】
１つの無線ノードから１ホップの位置に存在する１次近傍ノードの情報である隣接ノード情報をｍ（ｍは、４以上の整数）個の無線ノードの各々から取得する取得部と、
所定の座標系において、ｍ個の無線ノードの各々についての仮の自己位置を生成する自己位置生成部と、
前記所定の座標系において対称面を設定する対称面設定部と、
前記ｍ個の無線ノードのうち前記対称面に配置されていない一の無線ノードと前記対称面を基準にして面対称の関係にある仮想ノードを生成し、前記仮想ノードについての隣接ノード情報を前記一の無線ノードについての隣接ノード情報に基づいて生成する仮想ノード情報生成部と、
前記一の無線ノードの仮の自己位置に基づいて前記仮想ノードの仮の自己位置を生成する仮想ノード位置生成部と、
前記ｍ個の無線ノードの各々についての隣接ノード情報と、前記仮想ノードの隣接ノード情報とに基づいて、前記ｍ個の無線ノードと前記仮想ノードとを含む位置推定対象ノードの配置関係を示すトポロジを生成するトポロジ生成部と、
前記トポロジに基づいて前記位置推定対象ノードの各々についての仮の自己位置を更新することにより、前記ｍ個の無線ノードの位置を推定する位置更新部と、
を備える位置推定装置。
【請求項２】
請求項１に記載の位置推定装置であって、
前記仮想ノード情報生成部は、前記一の無線ノードの隣接ノード情報を参照して、前記一の無線ノードについての１次近傍ノードを特定し、前記一の無線ノードについての１次近傍ノードに対応する仮想ノードを、前記一の無線ノードに対応する仮想ノードの隣接ノードとして特定する位置推定装置。
【請求項３】
請求項２に記載の位置推定装置であって、
前記仮想ノード情報生成部は、前記一の無線ノードについての１次近傍ノードが対称面に配置されている場合、前記一の無線ノードについての１次近傍ノードを、前記一の無線ノードに対応する仮想ノードの隣接ノードとして特定する位置推定装置。
【請求項４】
請求項１に記載の位置推定装置であって、
前記対称面において、前記ｍ個の無線ノードのうち絶対位置が指定されている少なくとも１つのアンカーノードが配置されている位置推定装置。
【請求項５】
請求項１又は２に記載の位置推定装置であって、
前記対称面は、前記無線ノードが配置されている無線通信空間における水平面である位置推定装置。
【請求項６】
請求項１ないし請求項４のいずれかに記載の位置推定装置であって、
前記仮想ノード情報生成部は、前記一の無線ノードが前記対称面に配置されている場合、前記一の無線ノードを仮想ノードの生成対象から除外する位置推定装置。
【請求項７】
無線ノードの位置推定をコンピュータに実行させるための位置推定プログラムであって、
１つの無線ノードから１ホップの位置に存在する１次近傍ノードの情報である隣接ノード情報をｍ（ｍは、４以上の整数）個の無線ノードの各々から取得するステップと、
所定の座標系において、ｍ個の無線ノードの各々についての仮の自己位置を生成するステップと、
前記所定の座標系において対称面を設定するステップと、
前記ｍ個の無線ノードのうち前記対称面に配置されていない一の無線ノードと前記対称面を基準にして面対称の関係にある仮想ノードを生成し、前記仮想ノードについての隣接ノード情報を前記一の無線ノードについての隣接ノード情報に基づいて生成するステップと、
前記一の無線ノードの仮の自己位置に基づいて前記仮想ノードの仮の自己位置を生成するステップと、
前記ｍ個の無線ノードの各々についての隣接ノード情報と、前記仮想ノードの隣接ノード情報とに基づいて、前記ｍ個の無線ノードと前記仮想ノードとを含む位置推定対象ノードの配置関係を示すトポロジを生成するステップと、
前記トポロジに基づいて前記位置推定対象ノードの各々についての仮の自己位置を更新することにより、前記ｍ個の無線ノードの位置を推定するステップと、
を備える位置推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自己組織化マップを用いて無線ノードの位置を推定する位置推定装置に関する。
【背景技術】
【０００２】
複数の無線ノードにより構成される無線センサネットワークにおいて、無線ノードの位置は、無線ノードに搭載されたセンサのセンシングデータの取得位置として重要な情報である。従来、無線ノードの位置を推定する方式として、自己組織化マップ（ＳＯＭ）を用いた無線ノード位置推定方式（ＳＯＬ：Ｓｅｌｆ−Ｏｒｇａｎｉｚｉｎｇ  Ｌｏｃａｌｉｚａｔｉｏｎ）が知られている。
【０００３】
ＳＯＬは、極少数のアンカーノードを使用し、測距デバイスを用いずに、高精度な位置推定が可能である。また、ＳＯＬは、障害物による見通し内（ＬＯＳ：Ｌｉｎｅ−Ｏｆ−Ｓｉｇｈｔ）と見通し外（ＮＬＯＳ：Ｎｏｎ−Ｌｉｎｅ−Ｏｆ−Ｓｉｇｈｔ）が混在する環境においても位置精度の劣化が少ない（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】毛利  友紀、北之馬  貴正、安達  直世、滝沢  泰久，“３次元環境における無線センサネットワークの集約型自己組織化ノード位置推定方式とその精度評価”，情報処理学会論文誌，Vol.2015-DPS-165 No.19
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のＳＯＬに基づく位置推定方式を、実環境の空間に適用する場合、無線ノードを施設の屋内空間に配置することが想定される。施設とは、例えば、オフィスや工場である。施設の屋内は、略直方体空間であることが多い。略直方体空間に無線ノードを配置して、従来のＳＯＬに基づく位置推定方式に基づいて無線ノードの位置を推定した場合、無線ノードの位置推定精度が劣化する。
【０００６】
そこで、本発明は、上記問題点に鑑み、無線ノードを略直方体空間に配置した場合においても、無線ノードの位置を高精度に推定可能な位置推定装置を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１記載の発明は、位置推定装置であって、１つの無線ノードから１ホップの位置に存在する１次近傍ノードの情報である隣接ノード情報をｍ（ｍは、４以上の整数）個の無線ノードの各々から取得する取得部と、所定の座標系において、ｍ個の無線ノードの各々についての仮の自己位置を生成する自己位置生成部と、前記所定の座標系において対称面を設定する対称面設定部と、前記ｍ個の無線ノードのうち前記対称面に配置されていない一の無線ノードと前記対称面を基準にして面対称の関係にある仮想ノードを生成し、前記仮想ノードについての隣接ノード情報を前記一の無線ノードについての隣接ノード情報に基づいて生成する仮想ノード情報生成部と、前記一の無線ノードの仮の自己位置に基づいて前記仮想ノードの仮の自己位置を生成する仮想ノード位置生成部と、前記ｍ個の無線ノードの各々についての隣接ノード情報と、前記仮想ノードの隣接ノード情報とに基づいて、前記ｍ個の無線ノードと前記仮想ノードとを含む位置推定対象ノードの配置関係を示すトポロジを生成するトポロジ生成部と、前記トポロジに基づいて前記位置推定対象ノードの各々についての仮の自己位置を更新することにより、前記ｍ個の無線ノードの位置を推定する位置更新部と、を備える。
【０００８】
請求項２記載の発明は、請求項１に記載の位置推定装置であって、前記仮想ノード情報生成部は、前記一の無線ノードの隣接ノード情報を参照して、前記一の無線ノードについての１次近傍ノードを特定し、前記一の無線ノードについての１次近傍ノードに対応する仮想ノードを、前記一の無線ノードに対応する仮想ノードの隣接ノードとして特定する。
【０００９】
請求項３記載の発明は、請求項２に記載の位置推定装置であって、前記仮想ノード情報生成部は、前記一の無線ノードについての１次近傍ノードが対称面に配置されている場合、前記一の無線ノードについての１次近傍ノードを、前記一の無線ノードに対応する仮想ノードの隣接ノードとして特定する。
【００１０】
請求項４記載の発明は、請求項１に記載の位置推定装置であって、前記対称面において、前記ｍ個の無線ノードのうち絶対位置が指定されている少なくとも１つのアンカーノードが配置されている。
【００１１】
請求項５記載の発明は、請求項１又は２に記載の位置推定装置であって、前記対称面は、前記無線ノードが配置されている無線通信空間における水平面である。
【００１２】
請求項６記載の発明は、請求項１ないし請求項４のいずれかに記載の位置推定装置であって、前記仮想ノード情報生成部は、前記一の無線ノードが前記対称面に配置されている場合、前記一の無線ノードを仮想ノードの生成対象から除外する。
【００１３】
請求項７記載の発明は、無線ノードの位置推定をコンピュータに実行させるための位置推定プログラムであって、１つの無線ノードから１ホップの位置に存在する１次近傍ノードの情報である隣接ノード情報をｍ（ｍは、４以上の整数）個の無線ノードの各々から取得するステップと、所定の座標系において、ｍ個の無線ノードの各々についての仮の自己位置を生成するステップと、前記所定の座標系において対称面を設定するステップと、前記ｍ個の無線ノードのうち前記対称面に配置されていない一の無線ノードと前記対称面を基準にして面対称の関係にある仮想ノードを生成し、前記仮想ノードについての隣接ノード情報を前記一の無線ノードについての隣接ノード情報に基づいて生成するステップと、前記一の無線ノードの仮の自己位置に基づいて前記仮想ノードの仮の自己位置を生成するステップと、前記ｍ個の無線ノードの各々についての隣接ノード情報と、前記仮想ノードの隣接ノード情報とに基づいて、前記ｍ個の無線ノードと前記仮想ノードとを含む位置推定対象ノードの配置関係を示すトポロジを生成するステップと、前記トポロジに基づいて前記位置推定対象ノードの各々についての仮の自己位置を更新することにより、前記ｍ個の無線ノードの位置を推定するステップと、を備える。
【発明の効果】
【００１４】
本発明に係る位置推定装置によれば、無線ノードを略直方体空間に配置した場合においても、無線ノードの位置を高精度に推定可能な位置推定装置を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係る無線ネットワークの構成を示す概略図である。
【図２】図１に示す無線ノードにより生成される隣接ノード情報の一例を示す図である。
【図３】図１に示す無線ノードの構成を示す機能ブロック図である。
【図４】図１に示すシンクの構成を示す機能ブロック図である。
【図５】図１に示す位置推定装置の構成を示す機能ブロック図である。
【図６】図１に示す無線ノードの配置の一例を示す図である。
【図７】従来の位置推定方法によるシミュレーション結果を示すグラフである。
【図８】図１に示す無線ノードの配置の位置例を示す図である。
【図９】図８に示す無線ノードと仮想ノードとの位置関係を示す図である。
【図１０】図６に示す位置推定装置の動作を示すフローチャートである。
【図１１】図１に示す無線ノードの隣接ノード情報の他の例を示す図である。
【図１２】図１１に示す隣接ノード情報に基づいて生成された仮想ノードの隣接ノード情報を示す図である。
【図１３】図１に示す位置推定対象ノードの位置を推定した場合に生じるトポロジ矛盾を説明する概念図である。
【図１４】図１に示す位置推定対象ノードの推定位置においてトポロジ矛盾が発生しているか否かを判定する手順を説明するための概念図である。
【図１５】図１０に示すフローチャートによる位置推定処理のシミュレーション結果を示すグラフである。
【図１６】図１０に示すフローチャートによる位置推定処理のシミュレーション結果を示すグラフである。
【図１７】図１０に示すフローチャートによる位置推定処理のシミュレーション結果を示すグラフである。
【図１８】図１に示す位置推定装置の構成の他の例を示す機能ブロック図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００１７】
［１．全体構成］
［１．１．無線ネットワークの構成］
図１は、本発明の実施の形態に係る無線ネットワーク１００の構成を示す概略図である。図１に示すように、無線ネットワーク１００は、無線ノードＳ−１，Ｓ−２，・・・，Ｓ−ｋと、シンク４と、位置推定装置５とを備える。ｋは５以上の整数である。
【００１８】
図１では、無線ノードの一部に対する符号の表示を省略している。また、無線ノードの一部が、通知パケットＤＴＧをシンク４に送信している様子を図示しているが、他の無線ノードも、通知パケットＤＴＧをシンク４に送信する。通知パケットＤＴＧの詳細については、後述する。
【００１９】
無線ノードＳ−１〜Ｓ−ｋ及びシンク４は、近距離無線通信を行うことにより、無線ネットワーク１００を構成する。無線ノード及びシンク４は、例えば、ＢＬＥ（Bluetooth Low Energy）や、ＩＥＥＥ８０２．１５．４などの通信規格に準拠した無線通信を行う。
【００２０】
無線ノードＳ−１〜Ｓ−ｋは、無線通信空間１０（例えば、など）に配置される。無線通信空間１０は、例えば、ショッピングセンターや駅、オフィスビル、工場などの商業施設である。無線ノードは、無線通信空間１０において固定される。無線ノードは、例えば、センサを搭載したセンシングデバイスである。固定無線ノードの各々に搭載されたセンサは、温度、湿度などを検出し、これらの検出値を無線通信によってシンク４に送信する。
【００２１】
無線ノードＳ−１〜Ｓ−ｋのうち４個の無線ノードは、絶対位置が予め指定されたアンカーノードである。絶対位置は、例えば、緯度、経度及び標高によって指定される。
【００２２】
なお、無線ノードＳ−１〜Ｓ−ｋの一部は、無線通信空間１０を移動可能な移動ノードでもよい。移動ノードは、例えば、施設内を移動する人物によって保持される通信端末である。移動ノードとして、例えば、スマートフォン、携帯電話、タブレット端末が挙げられる。移動ノードは、アンカーノードに指定されない。
【００２３】
無線ノードの各々は、自己の識別情報（例えば、アドレス）を含む広告パケットを生成し、その生成した広告パケットをブロードキャストする。無線ノードの各々は、他の無線ノードから広告パケットを受信した場合、その受信した広告パケットを復調し、復調した広告パケットに含まれる識別情報を検出する。
【００２４】
図２は、無線ノードＳ−１において生成される隣接ノード情報２１Ｓの一例を示す図である。図２に示すように、隣接ノード情報２１Ｓは、自己の識別情報と、受信した広告パケットから検出した他の無線ノードの識別情報とを記録したデータである。
【００２５】
隣接ノード情報２１Ｓにおいて、無線ノードＳ−１の識別情報が「Ａｄｄｒｅｓｓ  Ｓ−１」である。隣接ノード情報２１Ｓにおける隣接ノードの欄には、他の無線ノードから受信した広告パケットから検出された識別情報が記録される。具体的には、図２に示す隣接ノード情報２１Ｓは、無線ノードＳ−２の識別情報「Ａｄｄｒｅｓｓ  Ｓ−２」と、無線ノードＳ−３の識別情報「Ａｄｄｒｅｓｓ  Ｓ−３」と、無線ノードＳ−７の識別情報「Ａｄｄｒｅｓｓ  Ｓ−７」とを含む。
【００２６】
無線ノードＳ−２〜Ｓ−ｋは、無線ノードＳ−１と同様に、図２に示す隣接ノード情報２１Ｓと同様の隣接ノード情報を生成する。つまり、全ての無線ノードは、隣接ノード情報を生成する。移動ノードは、自己が移動無線ノードであることを示す情報を含んでもよい。移動ノードは、自己が移動ノードであることを示す情報として、自己が備える加速度センサにより検出された加速度を隣接ノード情報に含めてもよい。
【００２７】
このように、無線ノードの各々は、少なくとも、自己の識別情報と、受信した広告パケットから検出した他の無線ノードの識別情報とを記録した隣接ノード情報を生成する。つまり、隣接ノード情報は、無線ノードの各々が他の無線ノードから直接受信した広告パケットから検出した識別情報を含む。言い換えれば、隣接ノード情報は、無線ノードの各々から１ホップの位置に存在する無線ノードの情報を含む。１ホップとは、２つの無線ノードが他の無線ノードを介することなく通信することを示す。
【００２８】
無線ノードの各々は、生成した隣接ノード情報を含む通知パケットＤＴＧを生成してシンク４へ送信する。図１に示す例では、無線ノードの一部が通知パケットＤＴＧをシンク４に直接送信するように図示している。しかし、無線ノードが、通知パケットＤＴＧをシンク４に直接送信できない場合がある。この場合、通知パケットＤＴＧは、マルチホップで無線ノードからシンク４へ送信される。
【００２９】
マルチホップとは、２つの無線ノードが他の無線ノードを介して通信することを示す。例えば、２ホップは、２つの無線ノードを中継する他の無線ノードの数が１つであることを意味する。つまり、通知パケットＤＴＧが、無線ノードからシンク４へ送信される場合、通知パケットＤＴＧの通信経路は特に限定されない。シンク４は、各無線ノードから送信される通知パケットＤＴＧを受信することができればよい。
【００３０】
シンク４は、無線ノードの各々から通知パケットＤＴＧを受信し、その受信した通知パケットＤＴＧから隣接ノード情報を検出する。シンク４は、その検出した隣接ノード情報を位置推定装置５へ送信する。
【００３１】
位置推定装置５は、無線ノードＳ−１〜Ｓ−ｋの各々の位置を推定する。位置推定装置５は、例えば、クラウド上に設置され、シンク４から隣接ノード情報を受信する。これによって、位置推定装置５は、無線ノードの全てから隣接ノード情報を取得し、その取得した隣接ノード情報に基づいて、無線ノードＳ−１〜Ｓ−ｋの各々の位置を推定する。位置推定装置５によるＳ−１〜Ｓ−ｋの位置の推定の詳細については、後述する。
【００３２】
無線ノードの各々において、広告パケットは、予め設定された時間間隔でブロードキャストされる。無線ノードの各々は、隣接ノード情報を含む通知パケットＤＴＧを定期的に送信する。これにより、位置推定装置５は、各無線ノードから隣接ノード情報を定期的に取得することができるため、無線ノードＳ−１〜Ｓ−ｋの位置推定を繰り返し行う。
【００３３】
［１．２．無線ノードの構成］
図３は、図１に示す無線ノードＳ−１の構成を示す機能ブロック図である。図３に示すように、無線ノードＳ−１は、アンテナ１１と、送受信部１２と、制御部１３とを含む。
【００３４】
送受信部１２は、アンテナ１１を介して広告パケットを受信し、その受信した広告パケットを制御部１３へ出力する。また、送受信部１２は、無線ノードＳ−１の識別情報を含む広告パケットを制御部１３から受けた場合、その受けた広告パケットをアンテナ１１を介してブロードキャストする。送受信部１２は、隣接ノード情報を含む通知パケットＤＴＧを制御部１３から受けた場合、その受けた通知パケットＤＴＧの宛先をシンク４に設定し、宛先がシンク４に設定された通知パケットＤＴＧをアンテナ１１を介して送出する。
【００３５】
制御部１３は、無線ノードＳ−１の識別情報を予め保持している。制御部１３は、無線ノードＳ−１の識別情報を含む広告パケットを生成し、その生成した広告パケットを送受信部１２へ出力する。
【００３６】
制御部１３は、送受信部１２から広告パケットを受けると、その受けた広告パケットから、他の無線ノードの識別情報を検出する。例えば、無線ノードＳ−１が、無線ノードＳ−２、Ｓ−３及びＳ−７から広告パケットを受信した場合、制御部１３は、受信した３個のパケットからそれぞれ、無線ノードＳ−２の識別情報、無線ノードＳ−３の識別情報、無線ノードＳ−７の識別情報を検出する。そして、制御部１３は、無線ノードＳ−２，Ｓ−３，Ｓ−７の識別情報を、自己（無線ノードＳ−１）の識別情報に対応付けた隣接ノード情報２１Ｓを生成する。制御部１３は、その生成した隣接ノード情報２１Ｓを含む通知パケットＤＴＧを生成して送受信部１２へ出力する。
【００３７】
なお、図１に示す無線ノードＳ−２〜Ｓ−ｋの構成は、図３に示す無線ノードＳ−１の構成と同じである。
【００３８】
［１．４．シンク４の構成］
図４は、図１に示すシンク４の構成を示す機能ブロック図である。図４に示すように、シンク４は、アンテナ４１と、送受信部４２と、制御部４３とを含む。
【００３９】
送受信部４２は、アンテナ４１を介して通知パケットＤＴＧを受信し、その受信した通知パケットＤＴＧを制御部４３へ出力する。また、送受信部４２は、制御部４３から隣接ノード情報を受けると、その受けた隣接ノード情報をアンテナ４１及び図示しないインターネットを介して位置推定装置５へ送信する。
【００４０】
制御部４３は、送受信部４２から通知パケットＤＴＧを受けると、その受けた通知パケットＤＴＧから隣接ノード情報を検出し、その検出した隣接ノード情報を送受信部４２へ出力する。
【００４１】
［１．５．位置推定装置５の構成］
図５は、図１に示す位置推定装置５の構成を示す機能ブロック図である。図に示すように、位置推定装置５は、取得部５１と、対称面決定部５２と、仮想ノード情報生成部５３と、トポロジ生成部５４と、自己位置生成部５５と、仮想ノード位置生成部５６と、位置更新部５７と、変換部５８と、トポロジ矛盾判定部５９と、を備える。
【００４２】
取得部５１は、シンク４からインターネットを介して各無線ノードの隣接ノード情報を受信することにより、各無線ノードの隣接ノード情報を取得する。取得部５１は、その受信した隣接ノード情報をトポロジ生成部５４及び自己位置生成部５５へ出力する。
【００４３】
対称面決定部５２は、無線ノード及び仮想ノードの位置推定に用いる座標系（暫定座標系）における対称面を決定する。対称面は、上記の座標系において、無線ノードが実際に配置される無線通信空間１０における底面に相当する。
【００４４】
仮想ノード情報生成部５３は、無線ノードの隣接ノード情報を取得部５１から受ける。仮想ノード情報生成部５３は、無線ノードの隣接ノード情報に基づいて、対称面決定部５２により決定された対称面を基準として無線ノードと面対称に配置された仮想ノードを生成し、その生成した仮想ノードの隣接ノード情報を生成する。
【００４５】
トポロジ生成部５４は、無線ノードの隣接ノード情報を取得部５１から受け、仮想ノードの隣接ノード情報を仮想ノード情報生成部５３から受ける。トポロジ生成部５４は、その受けた無線ノード及び仮想ノードの隣接ノード情報に基づいて、トポロジを生成する。トポロジは、無線ノード及び仮想ノードの配置関係を示す情報であり、無線ノード及び仮想ノードの各々に対して生成される。トポロジ生成部５４は、その生成したトポロジを位置更新部５７へ出力する。
【００４６】
自己位置生成部５５は、取得部５１から無線ノードの隣接ノード情報を受け、その受けた隣接ノード情報に基づいて、無線ネットワーク１００を構成する無線ノードＳ−１〜Ｓ−ｋを認識する。自己位置生成部５５は、暫定座標系において、その認識した無線ノードＳ−１〜Ｓ−ｋの仮の自己位置をランダムに生成する。
【００４７】
仮想ノード位置決定部５６は、自己位置生成部５５から無線ノードＳ−１〜Ｓ−ｋの仮の自己位置を受ける。仮想ノード位置生成部５６は、その受けた無線ノードＳ−１〜Ｓ−ｋの仮の自己位置に基づいて、暫定座標系における仮想ノードの仮の自己位置を生成する。仮想ノードの仮の自己位置は、暫定座標系において設定された対称面を基準として無線ノードと面対称の関係にある位置である。
【００４８】
位置更新部５７は、トポロジ生成部５４からトポロジを受け、自己位置生成部５５から無線ノードの仮の自己位置を受け、仮想ノード位置生成部５６から仮想ノードの仮の自己位置を受ける。位置更新部５７は、その受けたトポロジと、無線ノードの仮の自己位置と、仮想ノードの仮の自己位置とに基づいて、後述する方法によって、無線ノード及び仮想ノードの仮の自己位置を更新することにより、無線ノード及び仮想ノードの相対推定位置を取得する。
【００４９】
変換部５８は、アンカーノードの絶対位置を予め保持している。変換部５８は、無線ノード及び仮想ノードの相対推定位置を位置更新部５７から受ける。変換部５８は、その受けた相対推定位置とアンカーノードの絶対位置とに基づいて、後述する方法によって無線ノード及び仮想ノードの相対推定位置を絶対位置に変換する。変換部５８は、その変換した無線ノード及び仮想ノードの絶対位置をトポロジ矛盾判定部５９へ出力する。
【００５０】
トポロジ矛盾判定部５９は、無線ノード及び仮想ノードの絶対位置を変換部５８から受ける。トポロジ矛盾判定部５９は、その受けた無線ノード及び仮想ノードの絶対位置に基づいて、無線ノード及び仮想ノードの各々におけるトポロジ矛盾の発生頻度を示す領域判定値を計算する。領域判定値の計算方法については、後述する。
【００５１】
トポロジ矛盾判定部５９は、計算した領域判定値が所定の条件を満たす場合、その受けた無線ノード及び仮想ノードの絶対位置でトポロジ矛盾が発生していないと判断する。トポロジ矛盾が発生していない場合、トポロジ矛盾判定部５９は、無線ノードＳ−１〜Ｓ−ｋの絶対位置を位置推定結果として出力する。
【００５２】
［２．位置推定装置５の動作の概略］
位置推定装置５は、上述のように、無線ノードの仮の自己位置が設定される暫定座標系において、仮想ノードを配置する。位置推定装置５は、無線ノード及び仮想ノードの各々の隣接ノード情報を用いて、無線ノードの位置を推定する。以下、位置推定装置５が、無線ノードの位置を推定するにあたり，仮想ノードを使用する理由を説明する。
【００５３】
（直方体空間に配置された無線ノードの位置推定）
無線ノードＳ−１〜Ｓ−ｋを施設の屋内における略直方体空間に配置した場合において、無線ノードＳ−１〜Ｓ−ｋの位置を、従来の位置推定方法を用いて推定した場合、無線ノードＳ−１〜Ｓ−ｋの位置推定精度が低下することがある。
【００５４】
図６は、施設内の略直方体空間における無線ノードの配置の一例を示す図である。図６において、無線通信空間１０は、施設内の直方体空間である。ｘｙｚ座標系は、無線ノードの位置推定に用いる暫定座標系である。ｘｙ平面は、無線通信空間１０における床面であり、施設の床面である水平面に相当する。ｚ方向は、無線通信空間１０における高さ方向であり、施設の高さ方向に相当する。一般的に、施設の屋内空間におけるｚ方向のサイズは、ｘ方向のサイズ及びｙ方向のサイズに比べて小さい。
【００５５】
図７は、無線ノードを直方体空間に配置した場合における、従来の位置推定方法によるシミュレーション結果を示すグラフである。シミュレーションでは、直方体空間の底面（水平面）の形状を正方形に設定した上で、高さ方向のサイズを様々な数値に設定することにより、無線ノードの位置推定誤差と、高さ方向のサイズとの関係を調べた。
【００５６】
図７に示すグラフにおいて、横軸は、直方体空間の底面における一の方向のサイズに対する高さの割合を示し、縦軸は、無線ノードの位置推定誤差を示す。位置推定誤差の計算方法については、後述する。一の方向は、図６に示す無線通信空間１０においてｘ方向又はｙ方向に相当する。高さの方向は、図６に示す無線通信空間１０においてｚ方向に相当する。
【００５７】
図７に示すように、底面における一の方向のサイズに対する高さの割合が０．４以下となった場合、位置推定誤差が上昇している。つまり、図７は、施設の屋内における直方体空間に無線ノードを配置して、従来の位置推定方法を用いて無線ノードの位置を推定した場合、無線ノードの位置推定精度が低下する場合があることを示している。
【００５８】
直方体空間に配置された無線ノードを従来の位置推定方法を用いて推定した場合における、位置推定精度の低下の理由として、以下の理由が考えられる。図７に示すように、無線通信空間１０における高さが、無線通信空間１０における水平方向（ｘ方向又はｙ方向）のサイズよりも小さい場合、高さ方向におけるホップ数が、水平方向におけるホップ数よりも小さくなる。高さ方向におけるホップ数が少ない場合、従来の位置推定方法により生成されたトポロジでは、高さ方向に関する情報が不足する。高さ方向に関する情報が不足するトポロジを用いて、無線ノードの位置を推定することにより、無線ノードの位置推定精度が低下すると考えられる。
【００５９】
（無線ノードと仮想ノードとの位置関係）
図８は、無線通信空間１０における無線ノードの配置の一例を示す図である。図８において、無線ノードＳ−１，Ｓ−３，Ｓ−４がアンカーノードであり、無線通信空間１０における床面１０Ａに配置されている。床面１０Ａは、太い実線で示されている。
【００６０】
図８において、２つの無線ノードを結ぶ実線は、２つの無線ノードが直接通信可能であることを示す。例えば、無線ノードＳ−１は、無線ノードＳ−２，Ｓ−３，Ｓ−７と直接通信可能であり、図２に示す隣接ノード情報２１Ｓを有する。
【００６１】
図８において、無線ノードＳ−３から無線ノードＳ−９へのホップ数は、７である。つまり、無線通信空間１０における水平方向（ｙ方向）のホップ数は、７である。無線ノードＳ−１から無線ノードＳ−６へのホップ数は、２である。つまり、無線通信空間１０における高さ方向（ｚ方向）のホップ数は、２である。無線通信空間１０が直方体空間である場合、高さ方向のホップ数は、水平方向のホップ数よりも小さい。図８に示す無線ノードＳ−１〜Ｓ−ｋの位置を、従来の位置推定方法を用いて推定した場合、上述のように、位置推定精度が劣化する虞がある。
【００６２】
図９は、図８に示す無線通信空間１０に隣接する仮想通信空間２０を配置した図である。図９に示すように、仮想通信空間２０は、無線通信空間１０における床面１０Ａを対称面として無線通信空間１０と面対称の関係にある仮想的な空間である。仮想ノードは、無線ノードの各々と１対１で対応するように、仮想通信空間２０に配置される。つまり、仮想ノードは、床面１０Ａに配置された無線ノードを除き、床面１０Ａを基準として無線ノードと面対称の関係となるように仮想通信空間２０に配置される。
【００６３】
図９に示す例では、アンカーノード（無線ノードＳ−１，Ｓ−４，Ｓ−５）以外の無線ノードに対応する仮想ノードが存在する。例えば、仮想ノードＶ−２は、無線ノードＳ−２に対応しており、床面１０Ａを対称面として無線ノードＳ−２と面対称の位置にある。つまり、床面１０Ａに配置された無線ノード以外の一の無線ノードと、この一の無線ノードに対応する仮想ノードとは、床面１０Ａを基準として面対称の位置にある。
【００６４】
仮想ノードを仮想通信空間２０に配置した結果、高さ方向（ｚ方向）におけるホップ数が増加する。無線通信空間１０と仮想通信空間２０とを合わせた空間（合成空間３０）において、無線ノードＳ−６から仮想ノードＶ−６までの最短通信経路は、無線ノードＳ−７、無線ノードＳ−１、仮想ノードＶ−７を経由する。つまり、無線ノードＳ−６から仮想ノードＶ−６までの最小ホップ数は４である。無線通信空間１０における高さ方向の最小ホップ数が２であるのに対して、合成空間３０における高さ方向の最小ホップ数は、４である。つまり、仮想通信空間に仮想ノードを配置することにより、高さ方向におけるホップ数を増やすことができる。
【００６５】
なお、床面１０Ａに配置されたアンカーノード（無線ノードＳ−１，Ｓ−４，Ｓ−５）に対応する仮想ノードは生成されない。無線ノードＳ−１，Ｓ−４，Ｓ−５に対応する仮想ノードの位置が、無線ノードＳ−１，Ｓ−４，Ｓ−５の位置と一致するためである。
【００６６】
位置推定装置５は、無線ノードの隣接ノード情報だけでなく、仮想ノードの隣接ノード情報を用いてトポロジを生成する。このようにして生成されたトポロジは、無線ノードの隣接ノード情報のみを用いて生成されたトポロジに比べて、高さ方向の情報を多く含んでいる。この結果、位置推定装置５は、従来の位置推定方法を用いた場合に比べて、無線ノードの位置を高い精度で推定することが可能となる。仮想ノードの隣接ノード情報の生成については、後述する。
【００６７】
［３．位置推定装置５の動作］
［３．１隣接ノード情報の取得］
図１０は、位置推定装置５の動作を示すフローチャートである。以下、図１０を参照しながら、位置推定装置５が無線ノードの位置を推定する動作について詳しく説明する。
【００６８】
位置推定装置５において、取得部５１が、無線ノードの隣接ノード情報をシンク４から取得する（ステップＳ５０１）。取得部５１は、その取得した無線ノードの隣接ノード情報を、仮想ノード情報生成部５３とトポロジ生成部５４と自己位置生成部５５とに出力する。
【００６９】
［３．２．仮想ノードの隣接ノード情報の生成］
仮想ノード情報生成部５３は、無線ノードの隣接ノード情報を取得部５１から受け、その受けた隣接ノード情報に基づいて、仮想ノードの隣接ノード情報を生成する（ステップＳ５０２）。仮想ノード情報生成部５３は、その生成した仮想ノードの隣接ノード情報をトポロジ生成部５４に出力する。
【００７０】
具体的には、仮想ノード情報生成部５３は、無線ノードＳ−１〜Ｓ−ｋのうち、無線通信空間１０の床面１０Ａに配置された無線ノード以外の無線ノードを特定する。図９に示す例では、アンカーノード（無線ノードＳ−１，Ｓ−２，Ｓ−４）が床面１０Ａに配置されているため、仮想ノード情報生成部５３は、アンカーノード以外の無線ノードを特定する。
【００７１】
仮想ノード情報生成部５３は、その特定した無線ノードの各々に関して、床面１０Ａを対称面として面対称の関係にある仮想ノードを生成する。仮想ノード情報生成部５３は、特定した無線ノードにおいて、一の無線ノードに対応する仮想ノードの隣接ノード情報を、この一のノードに対応する隣接ノード情報に基づいて生成する。仮想ノードの隣接ノード情報は、仮想ノードの各々に対して生成される。
【００７２】
以下、仮想ノードＶ−７の隣接ノード情報を生成する場合を例にして、ステップＳ５０２をさらに詳しく説明する。
【００７３】
図９に示すように、仮想ノードＶ−７は、床面１０Ａを対称面として、無線ノードＳ−７と面対称の関係にある。仮想ノード情報生成部５３は、仮想ノードＶ−７の隣接ノード情報を、無線ノードＳ−７の隣接ノード情報に基づいて作成する。
【００７４】
図１１は、図９に示す無線ノードＳ−７の隣接ノード情報２７Ｓを示す図である。図１１に示すように、無線ノードＳ−７の隣接ノード情報２７Ｓは、自己（無線ノードＳ−７）の識別情報と、自己（無線ノードＳ−７）から１ホップの位置にある隣接ノードの識別情報とを含む。図９に示すように、無線ノードＳ−７から１ホップの位置には、無線ノードＳ−１，Ｓ−２，Ｓ−６，Ｓ−８が配置されている。このため、隣接ノード情報２７Ｓは、無線ノードＳ−７の隣接ノードとして、無線ノードＳ−１，Ｓ−２，Ｓ−６，Ｓ−８の識別情報を含む。
【００７５】
仮想ノード情報生成部５３は、隣接ノード情報２７Ｓに記録されている隣接ノードの識別情報に基づいて、仮想ノードＶ−７の隣接ノードを特定する。
【００７６】
最初に、仮想ノード情報生成部５３は、無線ノードＳ−７の隣接ノードである無線ノードＳ−２，Ｓ−６，Ｓ−８の各々に対応する仮想ノードを、仮想ノードＶ−７の隣接ノードとして特定する。具体的には、仮想ノード情報生成部５３は、無線ノードＳ−２に対応する仮想ノードＶ−２を、仮想ノードＶ−７の隣接ノードとして特定する。図９を参照して、無線ノードＳ−２が、無線ノードＳ−７の隣接ノードであり、床面１０Ａを対称面として仮想ノードＶ−２と面対称の関係にあるためである。同様に、仮想ノード情報生成部５３は、無線ノードＳ−６，Ｓ−８と面対称の関係にある仮想ノードＶ−６，Ｖ−８を、仮想ノードＶ−７の隣接ノードとして特定する。
【００７７】
図１１に示すように、隣接ノード情報２７Ｓは、無線ノードＳ−７の隣接ノードとして無線ノードＳ−１の識別情報を含む。無線ノードＳ−１が無線通信空間１０の床面１０Ａに配置されているため、無線ノードＳ−１に対応する仮想ノードは、上述のように生成されない。無線ノードＳ−７の隣接ノード情報が、床面１０Ａに配置されている無線ノードＳ−１を含む場合、仮想ノード情報生成部５３は、無線ノードＳ−１を、無線ノードＳ−７に対応する仮想ノードＶ−７の隣接ノードに特定する。
【００７８】
図１２は、図９に示す仮想ノードＶ−７の隣接ノード情報２７Ｖを示す図である。図１２に示すように、隣接ノード情報２７Ｖは、自己（仮想ノードＶ−７）の識別情報と、仮想ノードＶ−７の隣接ノードの識別情報を含む。隣接ノード情報２７Ｖは、仮想ノードＶ−７の隣接ノードの識別情報として、無線ノードＳ−１の識別情報と、仮想ノードＶ−１，Ｖ−３，Ｖ−６，Ｖ−８の識別情報とを含む。図９に示す仮想ノードの識別情報は、仮想ノード情報生成部５３により適宜生成される。
【００７９】
［３．３．トポロジの生成］
トポロジ生成部５４は、無線ノードの隣接ノード情報を取得部５１から受け、仮想ノードの隣接ノード情報を仮想ノード情報生成部５３から受ける。トポロジ生成部５４は、その受けた無線ノードの隣接ノード情報及び仮想ノードの隣接ノード情報に基づいて、無線ノード及び仮想ノードの各々に対応するトポロジを生成する（ステップＳ５０３）。トポロジ生成部５４は、その生成したトポロジを位置更新部５７へ出力する。
【００８０】
以下の説明において、無線ノード及び仮想ノードを総称して「位置推定対象ノードＥ」と記載し、位置推定対象ノードＥのうち、ｉ番目のノードを「位置推定対象ノードＥ−ｉ」と記載する。ｉ番目のノードは、無線ノード及び仮想ノードのいずれか一方である。ｉは、１以上、（２ｋ−ｐ）以下の整数である。ｐは、対称面である床面１０Ａに配置された無線ノードの数である。図９に示す例の場合、床面１０Ａには、３つのアンカーノードが配置されているため、ｐは、３に設定される。
【００８１】
ステップＳ５０３において、トポロジ生成部５４は、以下の（１）〜（３）の処理を実行して、各位置推定対象ノードに対応するトポロジを生成する。
（１）位置推定対象ノードＥ−ｉの隣接ノード情報に含まれる位置推定対象ノードを、位置推定対象ノードＥ−ｉの１次近傍ノードＥ−ｊとする。ｊは、ｉ≠ｊを満たし、１以上（２ｋ−ｐ）以下の整数である。
（２）１次近傍ノードＥ−ｊの隣接ノード情報に含まれる位置推定対象ノードで、位置推定対象ノードＥ−ｉの隣接ノード情報に含まれない位置推定対象ノードを、位置推定対象ノードＥ−ｊを中継ノードとする位置推定対象ノードＥ−ｉの２次近傍ノードとする。
（３）同様に、ｎ次近傍ノードの隣接ノード情報に含まれる位置推定対象ノードで、（ｎ−１）次までの近傍ノード群の隣接ノード情報に含まれない位置推定対象ノードを、ｎ次近傍ノードを中継ノードとする位置推定対象ノードＥ−ｉの（ｎ＋１）次近傍ノードとする。ここで、ｎは、３以上であることが望ましい。
（４）上記（１）〜（３）を再帰的に繰り返すことにより、位置推定対象ノードＥ−ｉの多次近傍ノードを設定する。このようにして設定された位置推定対象ノードＥ−ｉの多次近傍ノードが、位置推定対象ノードＥ−ｉのトポロジに相当する。
トポロジ生成部５４は、上記（１）〜（４）を位置推定対象ノードＥの各々について実行し、位置推定対象ノードＥの各々についての固定トポロジを生成する。
【００８２】
［３．４．ノード間距離の設定］
位置更新部５７は、各位置推定対象ノードＥのトポロジを参照して、各位置推定対象ノード間の距離をホップ数を用いて設定する（ステップＳ５０４）。
【００８３】
以下、ステップＳ５０４を詳しく説明する。トポロジの生成において説明したように、位置推定対象ノードＥ−ｉに対応するトポロジは、位置推定対象ノードＥ−ｉのｎ次近傍ノードを示す情報である。トポロジは、位置推定対象ノードＥ−ｉを基準にした多次近傍ノードのホップ数に基づいて構成されている。従って、１ホップの位置にある２つの位置推定対象ノードＥの距離を一定距離ｄとした場合、位置更新部５７は、位置推定対象ノードＥ−ｉからｎ次近傍ノードまでの距離を、一定距離ｄとホップ数ｎとの乗算値（一定距離ｄ×ホップ数ｎ＝ｎｄ）を計算することにより設定する。
【００８４】
［３．５．位置推定対象ノードの位置推定］
次に、位置推定装置５は、ステップＳ５０５〜Ｓ５０８を実行して、位置推定対象ノードの各々の絶対位置を推定する。
【００８５】
（無線ノードの仮の自己位置の設定）
自己位置生成部５５は、ステップＳ５０２で取得された無線ノードの隣接ノード情報に基づいて、無線ネットワーク１００を構成する無線ノードＳ−１〜Ｓ−ｋを認識する。自己位置生成部５５は、その認識した無線ノードＳ−１〜Ｓ−ｋの仮の自己位置ｗｓｑ（ｔ）をランダムに生成する（ステップＳ５０５）。ｑは、１以上ｋ以下の整数である。仮の自己位置は、図６に示す無線通信空間１０に対応する暫定座標系状に設定される。仮の自己位置ｗｓｑ（ｔ）において、ｑは、無線ノードＳ−１〜Ｓ−ｋのいずれかを示す。ｔは、仮の自己位置の更新回数を示す。
【００８６】
（仮想ノードの仮の自己位置の設定）
仮想ノード位置生成部５６は、自己位置生成部５５から出力される無線ノードＳ−ｑについての仮の自己位置ｗｓｑ（ｔ）を受ける。仮想ノード位置生成部５６は、その受けた仮の自己位置ｗｓｑ（ｔ）に基づいて、無線ノードＳ−ｑに対応する仮想ノードの仮の自己位置ｗｖｑ（ｔ）を生成する（ステップＳ５０６）。
【００８７】
仮想ノードには、上述のように、無線通信空間１０における床面１０Ａを対称面として面対称の関係にある無線ノードが存在する。従って、仮想ノードの仮の自己位置は、式（１）によって求められる。
【００８８】
【数１】
2018197717.tif 000003
【００８９】
式（１）において、（ｘＶ，ｙＶ，ｚＶ）は、仮想ノードの暫定座標系における位置を示す。（ｘＮ，ｙＮ，ｚＮ）は、仮想ノードに対応する無線ノードの暫定座標系における位置である。
【００９０】
なお、仮想ノード位置生成部５６は、無線ノードＳ−ｑが床面１０Ａに配置されている場合、仮想ノードＶ−ｑの仮の自己位置ｗｖｑ（ｔ）を生成しない。無線ノードＳ−ｑが床面１０Ａに配置されている場合、無線ノードＳ−ｑに対応する仮想ノードが生成されないためである。
【００９１】
（仮の自己位置の更新）
以下の説明において、位置更新部５７は、自己位置生成部５５から無線ノードの仮の自己位置ｗｓｑ（ｔ）を取得し、仮想ノード位置生成部５６から仮想ノードの仮の自己位置ｗｖｑ（ｔ）を取得する。以下、位置推定対象ノードＥ−ｉについての仮の自己位置を、ｗｉ（ｔ）と記載する。
【００９２】
位置更新部５７は、位置推定対象ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）を、所定の更新回数で更新する（ステップＳ５０７）。所定の更新回数で更新された後の仮の自己位置が、位置推定対象ノードＥ−ｉの相対推定位置として決定される。
【００９３】
具体的には、位置推定対象ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）は、位置推定対象ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）とｎ次近傍ノードの仮の自己位置ｗｎ（ｔ）とを用いて計算された距離｜ｗｉ（ｔ）−ｗｎ（ｔ）｜が位置対象推定ノードＥ−ｉからｎ次近傍ノードまでのホップ数からなる距離ｎｄに近づくように修正される。
【００９４】
ｎ次近傍ノードの仮の自己位置ｗｎ（ｔ）を用いて位置対象推定ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）を修正するときのｎ次修正ベクトルは、式（２）によって求められる。
【００９５】
【数２】
2018197717.tif 000004
【００９６】
また、位置更新部５７は、仮の自己位置の更新の初期段階においては、広い範囲の近傍ノードを使用する。そして、位置更新部５７は、仮の自己位置の更新の進行に伴い、更新に使用する近傍ノードのホップ数を減少させて、局所的かつ詳細なトポロジを用いて更新を収束させる。
【００９７】
従って、次式（３）に従って位置対象推定ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）を更新する。
【００９８】
【数３】
2018197717.tif 000005
【００９９】
式（３）において、τｎは、ホップ数ｎにおける更新終了の閾値を示し、τｎ−１は、ホップ数ｎにおける更新開始の閾値を示す。また、式（３）において、αｉ（ｔ）は、ｔ回目の修正における位置対象推定ノードＥ−ｉの学習関数であり、次式（４）によって決定される。
【０１００】
【数４】
2018197717.tif 000006
【０１０１】
式（４）において、ηは、正の減衰定数である。また、学習関数αｉ（ｔ）の初期値αｉ（０）は、１である。
【０１０２】
最大ホップ数から３ホップまでは、更新回数を均等とし、２ホップは、局所的な位置推定を行うため、他のホップ数における更新回数の２倍の割合として、最大ホップ数から降順に更新開始及び更新終了の閾値を設定する。
【０１０３】
そして、位置更新部５７は、式（３）の右辺の最上段の修正ベクトルから最下段の修正ベクトルまでを順次適用することにより、位置推定対象ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）を更新する。
【０１０４】
式（３）の右辺の最上段の修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛ｎ｝（ｔ））は、１次修正ベクトルとｎ次修正ベクトルとの和からなる。式（３）の右辺の上から２番目の修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛ｎ−１｝（ｔ））は、１次修正ベクトルと（ｎ−１）次修正ベクトルとの和からなる。以下同様にして、式（３）の右辺の下から２番目の修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛３｝（ｔ））は、１次修正ベクトルと３次修正ベクトルとの和からなる。式（３）の右辺の最下段の修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛２｝（ｔ））は、１次修正ベクトルと２次修正ベクトルとの和からなる。
【０１０５】
従って、位置更新部５７は、位置推定対象ノードＥ−ｉの１次近傍ノードとｎ次近傍ノードとを用いて位置推定対象ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）を更新し、その後、位置推定対象ノードＥ−ｉの１次近傍ノードと（ｎ−１）次近傍ノードとを用いて位置推定対象ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）を更新する。以下、同様にして、位置更新部５７は、位置推定対象ノードＥ−ｉの１次近傍ノードと３次近傍ノードとを用いて位置推定対象ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）を更新する。最終的に、位置更新部５７は、位置推定対象ノードＥ−ｉの１次近傍ノードと２次近傍ノードとを用いて位置推定対象ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）を更新する。
【０１０６】
これによって、位置推定対象ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）を大局的から局所的に更新でき、位置推定対象ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）を一定の位置に収束させることができる。
【０１０７】
例えば、１０次修正ベクトル（ｎ＝１０）までを用いて位置推定対象ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）を更新する場合、修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛１０｝（ｔ））、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛９｝（ｔ））、・・・、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛３｝（ｔ））を用いた更新回数を１回とすれば、修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛２｝（ｔ））を用いた更新回数は、２回である。その結果、全ての修正ベクトルを用いた更新回数は、１０回となる。つまり、修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛１０｝（ｔ））、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛９｝（ｔ））、・・・、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛３｝（ｔ））を用いた更新回数をｐ（ｐは整数）回とすれば、全ての修正ベクトルを用いた更新回数は、一般的には、８ｐ＋２ｐ＝１０ｐ回となる。
【０１０８】
更新回数１０ｐにおける”１０”は、ｎ次修正ベクトルのｎ＝１０に等しいので、式（２）の右辺における全ての修正ベクトルを用いた更新回数は、一般的には、ｎｐ回となる。従って、式（３）を用いた仮の自己位置ｗｉ（ｔ）の更新回数は、ｎを決定し、その後、ｐを決定することにより決定される。
【０１０９】
（絶対座標への変換）
変換部５８は、ステップＳ５０７によって得られた各位置推定対象ノードの相対推定位置（更新が完了した位置推定対象ノードの仮の自己位置Ｗｉ（ｔ））を、位置更新部５７から受ける。変換部５８は、その受けた各位置推定対象ノードの相対推定位置を、アンカーノードの相対推定位置と絶対位置とを用いて絶対位置へ変換する（ステップＳ５０９）。
【０１１０】
アンカーノードの真位置（＝絶対位置）をＷＡ＝（ＸＡ，ＹＡ，ＺＡ）とし、相対推定位置をｗＡ＝（ｘＡ，ｙＡ，ｚＡ）とすると、真位置ＷＡ＝（ＸＡ，ＹＡ，ＺＡ）は、推定位置ｗＡ＝（ｘＡ，ｙＡ，ｚＡ）を用いて式（５）のように表される。
【０１１１】
【数５】
2018197717.tif 000007
【０１１２】
３つのアンカーノードそれぞれについて立てられた連立方程式（５）から１２個の係数ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｉ，ｔｘ，ｔｙ，ｔｚを得ることにより、全ての位置推定対象ノードの推定位置ｗｉ＝（ｘｉ，ｙｉ，ｚｉ）は、次式によって絶対位置Ｗｉ＝（Ｘｉ，Ｙｉ，Ｚi）へ変換される。
【０１１３】
【数６】
2018197717.tif 000008
【０１１４】
変換部５８は、式（５）から係数ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｉ，ｔｘ，ｔｙ，ｔｚを決定し、その決定した係数を式（６）に代入して位置推定対象ノードの全ての相対推定位置を絶対位置に変換する。
【０１１５】
［３．６．トポロジ矛盾の判定］
トポロジ矛盾判定部５９は、位置推定対象ノードの絶対位置を変換部５８から受ける。トポロジ矛盾判定部５９は、その受けた位置推定対象ノードの絶対位置に基づいて、位置推定対象ノードの各々におけるトポロジ矛盾の有無を判定して、位置推定対象ノードの各々についての領域判定値を計算する（ステップＳ５０９）。
【０１１６】
（トポロジ矛盾の定義）
図１３は、位置推定対象ノードの位置を推定した場合に生じるトポロジ矛盾を示す概念図である。図１３に示すように、位置推定対象ノードＥ−ｉは、仮の自己位置ｗｉ（ｔ）に存在する。位置推定対象ノードＥ−ｉから距離ｄ１の位置に１次近傍ノードが存在し、位置推定対象ノードＥ−ｉから距離ｄ２の位置に２次近傍ノードが存在する。
【０１１７】
１次近傍ノードのホップ数は、１であり、２次近傍ノードのホップ数は２である。ノード間距離は、上述のように、ホップ数に基づいて設定される。従って、本来のトポロジでは、位置推定対象ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）は、２次近傍ノードよりも１次近傍ノードに近くなる。
【０１１８】
しかし、図１３において、距離ｄ２が距離ｄ１より小さいため、位置推定対象ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）は、１次近傍ノードよりも２次近傍ノードに近い。これは、２次近傍ノードが位置推定対象ノードＥ−ｉから１次近傍ノードよりも遠い位置に存在する本来のトポロジに明らかに矛盾する。このように、位置推定の対象である位置推定対象ノードＥ−ｉの仮の自己位置ｗｉ（ｔ）が１次近傍ノードよりも２次近傍ノードに近いことをトポロジ矛盾と呼ぶ。
【０１１９】
図１３に示すように、トポロジ矛盾が発生している場合、トポロジの折れ曲がりが発生する。ここで、「トポロジの折れ曲がり」とは、位置推定対象ノードＥ−ｉから１次近傍ノードへ向かうベクトルと１次近傍ノードから２次近傍ノードへ向かうベクトルとがなす角が、９０度から２７０度の範囲内にあることを示す。
【０１２０】
（トポロジ矛盾の有無の判定）
図１４は、トポロジ矛盾が発生しているか否かを判定する処理を説明するための概念図である。
【０１２１】
図１４（ａ）に示すように、位置推定対象ノードＥ−ｉ、位置推定対象ノードＥ−ｉの１次近傍ノードＥ−ｊ、及び位置推定対象ノードＥ−ｉの２次近傍ノードであり、かつ、１次近傍ノードＥ−ｊの１次近傍ノードである位置推定対象ノードＥ−ｈの推定位置をそれぞれｗｉ，ｗｊ，ｗｈとする。ここで、ｉ，ｊ，ｈは、いずれも１以上（２ｋ−ｐ）以下の整数であり、ｉ≠ｊ，ｊ≠ｈ，ｈ≠ｉの条件を満たす。
【０１２２】
位置推定対象ノードＥ−ｈの真の位置をＷｈとした場合、位置推定対象ノードＥ−ｈの推定位置ｗｈは、トポロジの折れ曲がりの要因となる。この場合、ｗｉ，ｗｊを基準点とするｗｈのトポロジ矛盾判定は、ｗｈのトポロジ矛盾を検知できる範囲｜ｗｈ−ｗｉ｜≦｜ｗｊ−ｗｉ｜の外にある（＝トポロジ矛盾無しの条件を満たす）。ここで、範囲｜ｗｈ−ｗｉ｜は、図１３に示す距離ｄ２に相当し、範囲｜ｗｊ−ｗｉ｜は、図１３に示す距離ｄ１に相当する。つまり、距離ｄ１と距離ｄ２とを単純に比較するだけでは、推定位置ｗｈによる折れ曲がりを検知できない。
【０１２３】
そこで、図１４（ｂ）及び図１４（ｃ）に示すように、トポロジ矛盾判定の適応領域を拡大する。図１４（ｂ）に示すように、位置推定対象ノードＥ−ｉ，Ｅ−ｊの推定位置ｗｉ，ｗｊを基準点に設定する。そして、この２つの基準点を結ぶ線分Ｌ１（Ｌ１＝ｗｊ−ｗｉ）の垂直２等分線Ｌ１Ｈを用いて、位置推定対象ノードＥ−ｉが配置されている空間を、位置推定対象ノードＥ−ｉの推定位置ｗｉに近い領域と、位置推定対象ノードＥ−ｊの推定位置ｗｊに近い領域とに分割し、位置推定対象ノードＥ−ｈの推定位置ｗｈが、分割された２つの領域のどちらに存在するかを判断する。
【０１２４】
この場合、垂直２等分線Ｌ１Ｈの左側の領域（斜線を施した領域）は、位置推定対象ノードＥ−ｈの推定位置ｗｈが、位置推定対象ノードＥ−ｉの推定位置ｗｉに近い領域であり、垂直２等分線Ｌ１Ｈの右側の領域は、位置推定対象ノードＥ−ｈの推定位置ｗｈが位置推定対象ノードＥ−ｊの推定位置ｗｊに近い領域である。位置推定対象ノードＥ−ｈは、位置推定対象ノードＥ−ｉの２次近傍ノードであるので、ｗｈは、ｗｊに近い領域内に位置しなければならない。従って、位置推定対象ノードＥ−ｈの推定位置ｗｈが位置推定対象ノードＥ−ｉの推定位置ｗｉに近い領域（斜線を施した領域）に位置する場合（｜ｗｈ―ｗｉ｜≦｜ｗｈ―ｗｊ｜）、トポロジ矛盾が発生していると判定する。
【０１２５】
さらに、折れ曲がりによるトポロジ矛盾の検知領域を拡大するために、図１４（ｃ）に示すように、位置推定対象ノードＥ−ｊに加えて位置推定対象ノードＥ−ｉと位置推定対象ノードＥ−ｊの共通の１次近傍ノードＥ−ｇを基準点として用いる。そして、位置推定対象ノードＥ−ｉ，Ｅ−ｇの推定位置ｗｉ，ｗｇを基準点に設定し、この２つの基準点を結ぶ線分Ｌ２（Ｌ２＝ｗｇ−ｗｉ）の垂直２等分線Ｌ２Ｈを用いて、位置推定対象ノードＥ−ｈが配置されている空間を、位置推定対象ノードＥ−ｉの推定位置ｗｉに近い領域と、位置推定対象ノードＥ−ｇの推定位置ｗｇに近い領域とに分割し、位置推定対象ノードＥ−ｈの推定位置ｗｈが、分割された２つの領域のどちらに存在するかを判断する。
【０１２６】
この場合、垂直２等分線Ｌ２Ｈの左側の領域（斜線を施した領域）は、位置推定対象ノードＥ−ｈの推定位置ｗｈが位置推定対象ノードＥ−ｉの推定位置ｗｉに近い領域であり、垂直２等分線Ｌ２Ｈの右側の領域は、位置推定対象ノードＥ−ｈの推定位置ｗｈが位置推定対象ノードＥ−ｇの推定位置ｗｇに近い領域である。
【０１２７】
位置推定対象ノードＥ−ｈは、位置推定対象ノードＥ−ｉの２次近傍ノードであるので、ｗｈは、ｗｇに近い領域内に位置しなければならない。従って、位置推定対象ノードＥ−ｈの推定位置ｗｈが位置推定対象ノードＥ−ｉの推定位置ｗｉに近い領域（斜線を施した領域）に位置する場合（｜ｗｈ―ｗｉ｜≦｜ｗｈ―ｗｇ｜）、トポロジ矛盾判定部５９は、トポロジ矛盾が発生していると判定する。
【０１２８】
図１４（ｃ）に示す領域判定は、共通の１次近傍ノードの組み合わせを複数回変えて実施される。そして、複数回実施した結果において、式（７）により得られる領域判定値ＶＴが所定の閾値よりも大きい場合、位置推定対象ノードＥ−ｉにおいてトポロジ矛盾が発生していると最終的に判定する。
【０１２９】
【数７】
2018197717.tif 000009
【０１３０】
式（７）において、ＶＴは、位置推定対象ノードＥ−ｉにおける領域判定値を示し、Ａは、位置推定対象ノードＥ−ｉにおいて、共通１次近傍群を用いてトポロジ矛盾の有無の判定を行った回数を示し、ａは、トポロジ矛盾の発生回数を示す。ここで、共通１次近傍群は、トポロジ矛盾の判定基準となる位置推定対象ノードＥ−ｉの１次近傍ノードであり、かつ、位置推定対象ノードＥ−ｉの２次近傍ノードである位置推定対象ノードＥ−ｈの１次近傍ノードである位置推定対象ノードにより構成される。領域判定値ＶＴは、０以上１以下の数値であり、判定対象の位置推定対象ノードＥ−ｉにおいてトポロジ矛盾の発生回数が少ないほど、その値が０に近づく。
【０１３１】
このようにして、位置推定対象ノードの各々でトポロジ矛盾の有無を判定することにより、折れ曲がりによるトポロジ矛盾の検知領域を拡大でき、折れ曲がりによるトポロジ矛盾を効果的に検出できる。
【０１３２】
トポロジ矛盾判定部５９は、位置推定対象ノードの各々を基準にしてトポロジ矛盾の有無の判定を行うことにより、位置推定対象ノードの各々についての領域判定値を計算する。トポロジ矛盾判定部５９は、位置推定対象ノードの各々についての領域判定値の平均値を計算する。領域判定値の平均値は、領域判定値と同様に、０以上１以下の数値であり、位置推定対象ノードにおけるトポロジ矛盾の発生回数が少ないほど、その値が０に近づく。
【０１３３】
トポロジ矛盾判定部５９は、ステップＳ５０９で計算された領域判定値の平均値を所定の閾値と比較する（ステップＳ５１０）。
【０１３４】
領域判定値の平均値が所定の閾値を下回った場合（ステップＳ５１０においてＹｅｓ）、トポロジ矛盾判定部５９は、位置推定対象ノードの位置推定が終了したと判断する。この場合、トポロジ矛盾判定部５９は、ステップＳ５０８で得られた位置推定対象ノードの絶対位置のうち、無線ノードＳ−１〜Ｓ−ｋの絶対位置を、位置推定結果として出力する（ステップＳ５１１）。
【０１３５】
一方、領域判定値の平均値が所定の閾値以上である場合（ステップＳ５１０においてＮｏ）、トポロジ矛盾判定部５９は、位置推定対象ノードの推定位置においてトポロジ矛盾が発生しており、位置推定対象ノードの推定位置の精度が低いと判断する。この場合、位置推定装置５は、ステップＳ５０５に戻り、位置推定対象ノードの位置推定をやり直す。
【０１３６】
以上説明したように、位置推定装置５は、無線ノードの仮の自己位置を生成する暫定座標系において対称面を設定し、対称面を基準として無線ノードと面対称の位置関係にある仮想ノードを生成する。位置推定装置５は、仮想ノードの隣接ノード情報を、仮想ノードに１対１で対応する無線ノードの隣接ノード情報を生成する。位置推定装置５は、無線ノードの隣接ノード情報と、仮想ノードの隣接ノード情報とを用いて無線ノードの仮の自己位置を更新することにより、無線ノードの相対位置を推定する。
【０１３７】
これにより、位置推定装置５は、高さ方向のサイズが底面方向のサイズよりも小さい直方体空間に無線ノードが配置された場合であっても、高さ方向のホップ数を仮想的に増加させることができるため、無線ノードの相対位置を高精度で推定することができる。
【０１３８】
［４．シミュレーション評価］
本実施の形態で説明した位置推定方法を用いて直方体空間に配置された無線ノードの位置推定処理をシミュレーションし、そのシミュレーション結果を評価した。
【０１３９】
シミュレーション条件は、以下の通りである。仮想的な３次元のフィールドとして、正方形の底面を有する直方体空間を想定し、無線ノードを配置した。直方体空間における高さを、直方体空間の底面の一辺のサイズの０．１倍〜０．５倍に変化させた。無線ノードの数を、１００個〜３００個に変化させた。無線ノードの通信半径を、直方体空間の底面の一辺のサイズの０．３倍に設定した。無線ノード及び仮想ノードを含む位置推定対象ノードの各々についての仮の自己位置の更新回数を８００回に設定した。
【０１４０】
そして、位置推定誤差を、各無線ノードの推定位置と、各無線ノードの真位置とのユークリッド距離の平均として算出した。つまり、位置推定誤差は、下記の式（８）により得られる。
【０１４１】
【数８】
2018197717.tif 000010
【０１４２】
式（８）において、Ｅａｖｅは、位置推定誤差である。Ｎは、無線ノードの数である。Ｗｉは、無線ノードの各々の真位置である。ｗｉは、無線ノードの各々の推定位置である。
【０１４３】
図１５は、シミュレーションにより得られた、位置推定誤差と無線ノードの数との関係を示すグラフである。図１５に示すように、ノード数が増加するにつれて、位置推定誤差Ｅａｖｅが低下する。そして、本実施の形態に係る位置推定方法による位置推定誤差は、全てのノード数において、従来の位置推定方法による位置推定誤差よりも小さい。
【０１４４】
本実施の形態に係る位置推定方法を用いた場合におけるノード数１５０の位置推定誤差Ｅａｖｅが、従来の位置推定方法を用いた場合におけるノード数３００の位置推定誤差Ｅａｖｅとほぼ同じと値となっている。このことから、無線ノードに加えて仮想ノードを使用して無線ノードの位置を推定することにより、無線通信空間１０に配置された無線ノードの倍の数の無線ノードを用いて位置推定を行った場合と同等の精度が得られることを確認できた。
【０１４５】
図１６は、シミュレーションにより得られた、位置推定誤差と無線通信空間１０の高さとの関係を示すグラフである。図１６に示すように、本実施の形態に係る位置推定方法による位置推定誤差は、高さを変化させた場合においても、従来の位置推定方法による位置推定誤差によりも低下していることが分かる。
【０１４６】
図１７は、シミュレーションにより得られたノード間ホップ数の分布を示すグラフである。図１７に示すように、本実施の形態に係る位置推定方法におけるホップ数は、従来の位置推定方法におけるホップ数よりも全ホップ数にわたって増加している。図１７に示すグラフは、従来の位置推定方法を用いる場合に比べて、本実施の形態に係る位置推定方法を用いた場合において、多様なマルチホップノードを無線ノードの位置推定に使用できることを示している。この結果、図１５及び図１６に示すように、本実施の形態に係る位置推定方法は、無線ノードの位置推定精度を改善することができたと考えられる。
【０１４７】
［変形例］
なお、上記実施の形態では、無線ノードＳ１〜Ｓ−ｋが施設の屋内に配置される場合を例に説明したが、これに限られない。無線ノードＳ１〜Ｓ−ｋが屋外に配置されていてもよい。
【０１４８】
また、上記実施の形態では、無線通信空間１０における床面１０Ａを面対称の対称面に設定する例を説明したが、これに限られない。対称面は、水平面に平行でなくてもよく、水平面に垂直な面であってもよい。対称面は、４つのアンカーノードのうち少なくとも１つを含む面であればよい。
【０１４９】
また、上記実施の形態では、アンカーノード以外の無線ノードが、無線通信空間１０における床面１０Ａに配置される例を説明した。しかし、アンカーノード以外の無線ノードが、床面１０Ａに配置されていればよい。
【０１５０】
また、上記実施の形態では、無線通信空間１０に対応する仮想通信空間２０に仮想ノードが配置される例を説明した。しかし、位置推定装置５は、複数の仮想通信空間を生成し、仮想通信空間の各々に仮想ノードを配置してもよい。
【０１５１】
例えば、位置推定装置５は、図９に示す仮想通信空間２０において、床面１０Ａと平行であり、かつ、仮想ノードＶ−６，Ｖ−８を含む面を対称面として、仮想通信空間２０と面対称の関係にある別の仮想通信空間を生成してもよい。この場合、位置推定装置５は、仮想通信空間２０と、別の仮想通信空間との各々に、仮想ノードを配置する。別の仮想通信空間に配置され仮想ノードは、仮想通信空間２０に配置される仮想ノードと面対称の関係にある。別の仮想通信空間に仮想ノードを配置することにより、位置推定に用いられるノードの数を、無線通信空間１０に配置された無線ノードの数の約３倍にすることができる。この結果、無線通信空間１０に配置された無線ノードの位置をさらに高精度に推定することができる。
【０１５２】
また、位置推定装置は、床面１０Ａに対して垂直であり、かつ、無線ノードＳ−１を含む面を対称面として、無線通信空間の面対称の関係にある別の仮想通信空間を生成してもよい。
【０１５３】
また、上記実施の形態において、無線ノード及びシンク４が近距離無線通信を行う例を説明したが、これに限られない。無線ノードは、２つ以上の通信規格に対応していてもよい。例えば、無線ノードは、ＢＬＥ又はＩＥＥＥ８０２．１５．４を用いて、他の無線ノードと広告パケットの送受信を行う。そして、無線ノードは、ＢＬＥや、ＩＥＥＥ８０２．１５．４などよりも無線通信距離の長い通信規格（例えば、無線ＬＡＮ（Local Area Network）や、携帯電話通信網など）に準拠した無線通信を用いて、隣接ノード情報を含む通知パケットＤＴＧをシンク４に送信してもよい。無線ノードが通知パケットＤＴＧを送信する際に、無線ＬＡＮが用いられる場合、シンク４は、アクセスポイントに相当し、携帯電話通信網が用いられる場合、シンク４は、基地局に相当する。ここに挙げた通信規格は一例であり、無線ノードが使用する無線通信の通信規格は特に限定されない。また、図１では、シンク４が１つである場合を示しているが、無線ネットワーク１００は、２つ以上のシンク４を備えていてもよい。
【０１５４】
また、上記実施の形態に係る位置推定装置５の各機能ブロック（各機能部）の処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記実施の形態に係る位置推定装置５において、各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置（ＣＰＵ）により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ＲＯＭなどの記憶装置に格納されており、ＲＯＭにおいて、あるいはＲＡＭに読み出されて実行される。例えば、位置推定装置５の構成を、図１９に示すような構成とすることにより、上記実施の形態に係る位置推定装置５の各機能ブロック（各機能部）の処理の一部または全部が実行されるものであってもよい。
【０１５５】
また、上記実施の形態の各処理をハードウェアにより実現してもよいし、ソフトウェア（ＯＳ（オペレーティングシステム）、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。）により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現してもよい。
【０１５６】
また、上記実施の形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
【０１５７】
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、大容量ＤＶＤ、次世代ＤＶＤ、半導体メモリを挙げることができる。
【０１５８】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【０１５９】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【符号の説明】
【０１６０】
Ｓ−１〜Ｓ−ｋ  無線ノード
Ｖ−１〜Ｖ−ｋ  仮想ノード
５  位置推定装置
５１  取得部
５２  対称面決定部
５３  仮想ノード情報生成部
５４  トポロジ生成部
５５  自己位置生成部
５６  仮想ノード位置生成部
５７  位置更新部
５８  変換部
５９  トポロジ矛盾判定部
【図１】
2018197717.tif 000011
【図２】
2018197717.tif 000012
【図３】
2018197717.tif 000013
【図４】
2018197717.tif 000014
【図５】
2018197717.tif 000015
【図６】
2018197717.tif 000016
【図７】
2018197717.tif 000017
【図８】
2018197717.tif 000018
【図９】
2018197717.tif 000019
【図１０】
2018197717.tif 000020
【図１１】
2018197717.tif 000021
【図１２】
2018197717.tif 000022
【図１３】
2018197717.tif 000023
【図１４】
2018197717.tif 000024
【図１５】
2018197717.tif 000025
【図１６】
2018197717.tif 000026
【図１７】
2018197717.tif 000027
【図１８】
2018197717.tif 000028