(57)【要約】【課題】自律移動可能な移動体が継続してモニタリングすることが可能な技術を提供することを課題とする。【解決手段】無線ノードＭ−ｉにおいて、最良位置取得部１０９は、近傍ノードにおいて過去に取得された評価値の中から局所最良評価値を特定し、特定した局所最良評価値を有する局所最良ノードが局所最良評価値を取得した時の位置を局所最良位置として取得する。位置計算部１１０は、無線ノードＭ−ｉの位置と、局所最良位置とを用いて、無線ノードＭ−ｉの新たな位置を計算する。衝突抑制部１１１は、近傍ノードＭ−ｊを中心とした衝突予想領域を設定し、新たな位置が衝突予想領域内に存在せず、かつ、新たな位置から局所最良ノードの位置まで距離が無線ノードＭ−ｉの位置から局所最良ノードの位置までの距離よりも増加しないように、新たな位置を修正する。【選択図】図３
2018198007.tif 000002
【特許請求の範囲】
【請求項１】
第１無線ノードと第２無線ノードとを含むｋ（ｋは２以上の整数）個の自律移動可能な無線ノードを備える無線通信システムであって、
前記第１無線ノードは、
前記第１無線ノードの位置と前記第１無線ノードから目的ノードまでの距離の指標である第１評価値を含む第１通知パケットをブロードキャストする送信部と、
前記第２無線ノードの位置と前記第２無線ノードから目的ノードまでの距離の指標である第２評価値とを含む第２通知パケットを前記第２無線ノードから受信する受信部と、
前記第２無線ノードを含む少なくとも１つの無線ノードにおいて過去に取得された評価値の中から最小の評価値を局所最良評価値として取得し、前記局所最良評価値と、前記第１無線ノードの位置と、前記少なくとも１つの無線ノードにおいて前記局所最良評価値を有する局所最良ノードの位置とを用いて、前記第１評価値を計算する評価値計算部と、
前記局所最良ノードが前記局所最良評価値を取得した時の位置を、局所最良位置として取得する最良位置取得部と、
前記第１無線ノードの位置と前記最良位置取得部により取得された前記局所最良位置とを用いて、前記第１無線ノードの新たな位置を計算する位置計算部と、
前記第２無線ノードの位置を中心として所定の半径を有する衝突予想領域を設定し、前記新たな位置が前記衝突予想領域内に存在せず、かつ、前記新たな位置から前記局所最良ノードの位置まで距離が前記無線ノードの位置から前記局所最良ノードの位置までの距離よりも増加しないように、前記新たな位置を修正する衝突抑制部と、
前記衝突抑制部により修正された新たな位置に前記第１無線ノードを移動させる駆動部と、を備える無線通信システム。
【請求項２】
請求項１に記載の無線通信システムにおいて、
前記第１無線ノードの位置から前記新たな位置に向かうベクトルが、前記第２無線ノードの位置を始点とし、前記衝突予想領域の外周と前記第１無線ノードを通過する前記衝突予想領域の接線との接点を終点とする２つのベクトルのいずれか一方と交差する場合、前記衝突抑制部は、前記新たな位置を修正する、無線通信システム。
【請求項３】
請求項２に記載の無線通信システムにおいて、
前記衝突抑制部は、前記新たな位置が前記接点となるように前記新たな位置を修正する、無線通信システム。
【請求項４】
請求項１ないし請求項３のいずれかに記載の無線通信ステムであって、
前記新たな位置が前記衝突予想領域内に位置し、かつ、前記第２無線ノードの位置を始点とし、前記衝突予想領域の外周と前記第１無線ノードを通過する前記衝突予想領域の接線との接点を終点とする２つのベクトルの両者と交差しない場合、前記衝突抑制部は、前記新たな位置を修正する、無線通信システム。
【請求項５】
請求項４に記載の無線通信システムであって、
前記接線は、第１接線と第２接線とを含み、
前記衝突抑制部は、前記衝突予想領域の外周において前記第１接線と交わる第１交点と、前記衝突予想領域の外周において前記第２接線と交わる第２交点とを結ぶ前記衝突予想領域の外周上の曲線であって、前記第２無線ノードの位置から見て前記第１無線ノード側に位置する曲線上の点を、前記新たな位置に設定する、無線通信システム。
【請求項６】
第１無線ノードと第２無線ノードとを含むｋ（ｋは２以上の整数）個の自律移動可能な無線ノードを備える無線通信システムであって、
前記第１無線ノードは、
前記第１無線ノードの位置と前記第１無線ノードから目的ノードまでの距離の指標である第１評価値を含む第１通知パケットをブロードキャストする送信部と、
前記第２無線ノードの位置と前記第２無線ノードから目的ノードまでの距離の指標である第２評価値とを含む第２通知パケットを前記第２無線ノードから受信する受信部と、
前記第１無線ノードと前記第２無線ノードとの間の空間に位置する無線ノードの数に基づいて、前記第２無線ノードの群れ度合いを計算する群れ度合い取得部と、
前記第２無線ノードを含む少なくとも１つの無線ノードにおける過去の評価値を取得し、前記少なくとも１つの無線ノードの群れ度合いを用いて前記少なくとも１つの無線ノードにおける過去の評価値を修正し、修正された過去の評価値の中から、最小の評価値を局所最良評価値として取得し、前記局所最良評価値と、前記第１無線ノードの位置と、前記少なくとも１つの無線ノードにおいて局所最良評価値を有する局所最良ノードの位置とを用いて、第１評価値を計算する評価値計算部と、
前記局所最良無線ノードが前記局所最良評価値を取得した時の位置を、局所最良位置として取得する最良位置取得部と、
前記第１無線ノードの位置と前記最良位置取得部により取得された前記局所最良位置とを用いて、前記第１無線ノードの新たな位置を計算する位置計算部と、
前記位置計算部により計算された新たな位置に前記第１無線ノードを移動させる駆動部と、を備える無線通信システム。
【請求項７】
第１無線ノードと第２無線ノードとを含むｋ（ｋは２以上の整数）個の自律移動可能な無線ノードを備える無線通信システムであって、
前記第１無線ノードは、
前記第１無線ノードの位置と、前記第１無線ノードから目的ノードまでの距離の指標である第１評価値を含む第１通知パケットをブロードキャストする送信部と、
前記第２無線ノードの位置と、前記第２無線ノードから目的ノードまでの距離の指標である第２評価値とを含む第２通知パケットを前記第２無線ノードから受信する受信部と、
前記第２無線ノードを含む少なくとも１つの無線ノードにおいて過去に取得された評価値の中から最小の評価値を局所最良評価値として取得し、前記第１無線ノードの位置と、前記少なくとも１つの無線ノードにおいて局所最良評価値を有する局所最良ノードの位置とを用いて、第１評価値を計算する評価値計算部と、
前記過去に計算された第１評価値において最小の評価値である自己最小評価値を所定の忘却度を用いて修正し、前記局所最良評価値と、前記所定の忘却度を用いて修正された自己最小評価値とを含む評価値の中で最小の評価値を自己最良評価値として取得し、前記自己最良評価値が取得された無線ノードの位置を自己最良位置として取得する最良位置取得部と、
前記第１無線ノードの位置と、前記自己最良位置と、前記局所最良ノードの位置とを用いて、前記第１無線ノードの新たな位置を計算する位置計算部と、
前記位置計算部により計算された新たな位置に前記第１無線ノードを移動させる駆動部と、を備える無線通信システム。
【請求項８】
第１無線ノードと第２無線ノードとを含むｋ（ｋは２以上の整数）個の自律移動可能な無線ノードを備える無線通信システムにおいて、前記第１無線ノードに実行させるための位置計算プログラムであって、
前記第１無線ノードの位置と前記第１無線ノードから目的ノードまでの距離の指標である第１評価値を含む第１通知パケットをブロードキャストするステップと、
前記第２無線ノードの位置と前記第２無線ノードから目的ノードまでの距離の指標である第２評価値とを含む第２通知パケットを前記第２無線ノードから受信するステップと、
前記第２無線ノードを含む少なくとも１つの無線ノードにおいて過去に取得された評価値の中から最小の評価値を局所最良評価値として取得し、前記局所最良評価値と、前記第１無線ノードの位置と、前記少なくとも１つの無線ノードにおいて前記局所最良評価値を有する局所最良ノードの位置とを用いて、前記第１評価値を計算するステップと、
前記少なくとも１つの無線ノードにおいて前記局所最良ノードが前記局所最良評価値を取得した時の位置を、局所最良位置として取得するステップと、
前記第１無線ノードの位置と、前記局所最良位置とを用いて、前記第１無線ノードの新たな位置を計算するステップと、
前記第２無線ノードの位置を中心として所定の半径を有する衝突予想領域を設定し、前記新たな位置が前記衝突予想領域内に存在せず、かつ、前記新たな位置から前記局所最良ノードの位置まで距離が前記無線ノードの位置から前記局所最良ノードの位置までの距離よりも増加しないように、前記新たな位置を修正するステップと、を備える無線通信システム。
【請求項９】
第１無線ノードと第２無線ノードとを含むｋ（ｋは２以上の整数）個の自律移動可能な無線ノードを備える無線通信システムにおいて、前記第１無線ノードに実行させるための位置計算プログラムであって、
前記第１無線ノードの位置と前記第１無線ノードから目的ノードまでの距離の指標である第１評価値を含む第１通知パケットをブロードキャストするステップと、
前記第２無線ノードの位置と前記第２無線ノードから目的ノードまでの距離の指標である第２評価値とを含む第２通知パケットを前記第２無線ノードから受信するステップと、
前記第１無線ノードと前記第２無線ノードとの間の空間に位置する無線ノードの数に基づいて、前記第２無線ノードの群れ度合いを計算するステップと、
前記第２無線ノードを含む少なくとも１つの無線ノードにおける過去の評価値を取得し、前記少なくとも１つの無線ノードの群れ度合いを用いて前記少なくとも１つの無線ノードにおける過去の評価値を修正し、修正された過去の評価値の中から、最小の評価値を局所最良評価値として取得し、前記局所最良評価値と、前記第１無線ノードの位置と、前記少なくとも１つの無線ノードにおいて局所最良評価値を有する無線ノードの位置とを用いて、第１評価値を計算するステップと、
前記少なくとも１つの無線ノードにおいて前記局所最良評価値を有する無線ノードが前記局所最良評価値を取得した時の位置を、局所最良位置として取得するステップと、
前記第１無線ノードの位置と、前記局所最良位置とを用いて、前記第１無線ノードの新たな位置を計算するステップと、を備える無線通信システム。
【請求項１０】
第１無線ノードと第２無線ノードとを含むｋ（ｋは２以上の整数）個の自律移動可能な無線ノードを備える無線通信システムにおいて、前記第１無線ノードに実行させるための位置計算プログラムであって、
前記第１無線ノードの位置と前記第１無線ノードから目的ノードまでの距離の指標である第１評価値を含む第１通知パケットをブロードキャストするステップと、
前記第２無線ノードの位置と前記第２無線ノードから目的ノードまでの距離の指標である第２評価値とを含む第２通知パケットを前記第２無線ノードから受信するステップと、
前記第２無線ノードを含む少なくとも１つの無線ノードにおいて過去に取得された評価値の中から最小の評価値を局所最良評価値として取得し、前記第１無線ノードの位置と、前記少なくとも１つの無線ノードにおいて局所最良評価値を有する局所最良ノードの位置とを用いて、第１評価値を計算するステップと、
前記過去に計算された第１評価値において最小の評価値である自己最小評価値を所定の忘却度を用いて修正し、前記局所最良評価値と、前記所定の忘却度を用いて修正された自己最小評価値とを含む評価値の中で最小の評価値を自己最良評価値として取得し、前記自己最良評価値が取得された無線ノードの位置を自己最良位置として取得するステップと、
前記第１無線ノードの位置と、前記自己最良位置と、前記局所最良ノードの位置とを用いて、前記第１無線ノードの新たな位置を計算するステップと、を備える無線通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信システムに関し、さらに詳しくは、自律移動可能な無線ノードを含む無線通信システムに関する。
【背景技術】
【０００２】
近年、防災を目的とした環境モニタリングや、社会インフラの維持管理を目的した構造物ヘルスモニタリングにおいて、無線センサネットワークの利用検討が進められている。これらのモニタリングでは、モニタリング対象となる空間における定点にセンサを配置した定点センシングによる無線センサネットワークが用いられる。
【０００３】
定点センシングの利点として、例えば、以下の３点が挙げられる。すなわち、定点センシングは、定点に設置されたセンサによりリアルタイムにセンシングデータを取得できる。定転センシングは、センシングデータを継続的に取得することにより経時的な変化を把握することができる。また、定点センシングは、広範な範囲にセンサを設置することによりセンシングデータを空間的に解析することができる。
【０００４】
しかし、定点センシングでは、センサが固定されるために、柔軟性が低い、空間的な制約がある等の欠点がある。
【０００５】
災害発生時の被災状況調査では、災害発生状況を事前に予測してセンサの位置を決定することが困難である。定点センシングは、災害発生時に、被災状況に応じた柔軟なセンシングを行うことができない。また、空間的な制約として、例えば、構造物ヘルスモニタリングにおける以下の例が挙げられる。すなわち、センサを構造物に設置することが構造上困難である場合、センサの取付作業に危険が伴うため構造物における所望の位置にセンサを取り付けることができない場合、構造物において定点センシングを行うことができない。
【０００６】
定点センシングに不向きな環境において、単独移動体によるモニタリングが検討されている。単独移動体とは、例えば、各種センサを搭載した自立探索型ロボットである。しかし、モニタリング対象となる広い空間を単独移動体が探索する場合には、膨大な時間が必要となるという問題がある。また、単独移動体の性能によっては探索範囲が限定されるという問題がある。
【０００７】
そこで、各々がセンサを搭載した複数の移動体を使用し、これらの複数の移動体によりセンシングを行うことが考えられる。この場合、複数の移動体の各々を操縦者が操縦することは効率的でない。各々が自律移動可能な複数の移動体が集団で移動することにより、効率的なセンシングが可能となると考えられる。
【０００８】
非特許文献１には、自律移動可能な複数の無線モバイルノードにおいて群知能を適用することにより、複数の無線モバイルノードの知的集団を構成して、モニタリング空間の探索を行うことが開示されている。
【０００９】
非特許文献２には、群知能の一種である多目的粒子群最適化（ＭＯＰＳＯ：Multi-Objective Particle Swarm Optimization）が開示されている。多目的粒子群最適化は、連続空間に広がる多目的解を、自律した粒子が協調して探索を行う多点探索アルゴリズムである。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】Beekma, M., Sword, G., and Simpson, S.J.: Swarm Intelligence in Cellular Robotic Systems, Natural Computing Series, pp.3--41(2008).
【非特許文献２】Moore, J., ChaＰｃan, R.，Application Of Particle Swarm To Multiobjective Optimization(1999).
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかし、多目的粒子群最適化を用いて、各々が自律自立可能な複数の移動体が集団を構成しながら、モニタリング対象である目的地を探索するようにした場合、以下の問題が発生する。すなわち、多目的粒子群最適化を用いた場合、移動体同士が衝突する可能性がある。移動体が衝突により破壊された場合、移動体はモニタリングを継続することができない。
【００１２】
また、多目的粒子群最適化は、１つの解を得た場合に探索を終了する。クラスタを構成する移動体は、複数の目的地のうち一の目的地に到達した後に、他の目的地に向かって移動しない。つまり、移動体は、モニタリング対象である一の目的地に到達した後に、モニタリングを継続することができない。
【００１３】
本発明の目的は、自律移動可能な移動体が継続してモニタリングすることが可能な技術を提供することである。
【課題を解決するための手段】
【００１４】
上記課題を解決するため、請求項１記載の発明は、第１無線ノードと第２無線ノードとを含むｋ（ｋは２以上の整数）個の自律移動可能な無線ノードを備える無線通信システムであって、前記第１無線ノードは、前記第１無線ノードの位置と前記第１無線ノードから目的ノードまでの距離の指標である第１評価値を含む第１通知パケットをブロードキャストする送信部と、前記第２無線ノードの位置と前記第２無線ノードから目的ノードまでの距離の指標である第２評価値とを含む第２通知パケットを前記第２無線ノードから受信する受信部と、前記第２無線ノードを含む少なくとも１つの無線ノードにおいて過去に取得された評価値の中から最小の評価値を局所最良評価値として取得し、前記局所最良評価値と、前記第１無線ノードの位置と、前記少なくとも１つの無線ノードにおいて前記局所最良評価値を有する局所最良ノードの位置とを用いて、前記第１評価値を計算する評価値計算部と、前記局所最良ノードが前記局所最良評価値を取得した時の位置を、局所最良位置として取得する最良位置取得部と、前記第１無線ノードの位置と前記最良位置取得部により取得された前記局所最良位置とを用いて、前記第１無線ノードの新たな位置を計算する位置計算部と、前記第２無線ノードの位置を中心として所定の半径を有する衝突予想領域を設定し、前記新たな位置が前記衝突予想領域内に存在せず、かつ、前記新たな位置から前記局所最良ノードの位置まで距離が前記無線ノードの位置から前記局所最良ノードの位置までの距離よりも増加しないように、前記新たな位置を修正する衝突抑制部と、前記衝突抑制部により修正された新たな位置に前記第１無線ノードを移動させる駆動部と、を備える。
【００１５】
請求項２記載の発明は、請求項１に記載の無線通信システムであって、前記第１無線ノードの位置から前記新たな位置に向かうベクトルが、前記第２無線ノードの位置を始点とし、前記衝突予想領域の外周と前記第１無線ノードを通過する前記衝突予想領域の接線との接点を終点とする２つのベクトルのいずれか一方と交差する場合、前記衝突抑制部は、前記新たな位置を修正する。
【００１６】
請求項３記載の発明は、請求項２に記載の無線通信システムであって、前記衝突抑制部は、前記新たな位置が前記接点となるように前記新たな位置を修正する。
【００１７】
請求項４記載の発明は、請求項１ないし請求項３のいずれかに記載の無線通信ステムであって、前記新たな位置が前記衝突予想領域内に位置し、かつ、前記第２無線ノードの位置を始点とし、前記衝突予想領域の外周と前記第１無線ノードを通過する前記衝突予想領域の接線との接点を終点とする２つのベクトルの両者と交差しない場合、前記衝突抑制部は、前記新たな位置を修正する。
【００１８】
請求項５記載の発明は、請求項４に記載の無線通信システムであって、前記接線は、第１接線と第２接線とを含み、前記衝突抑制部は、前記衝突予想領域の外周において前記第１接線と交わる第１交点と、前記衝突予想領域の外周において前記第２接線と交わる第２交点とを結ぶ前記衝突予想領域の外周上の曲線であって、前記第２無線ノードの位置から見て前記第１無線ノード側に位置する曲線上の点を、前記新たな位置に設定する。
【００１９】
請求項６記載の発明は、第１無線ノードと第２無線ノードとを含むｋ（ｋは２以上の整数）個の自律移動可能な無線ノードを備える無線通信システムであって、前記第１無線ノードは、前記第１無線ノードの位置と前記第１無線ノードから目的ノードまでの距離の指標である第１評価値を含む第１通知パケットをブロードキャストする送信部と、前記第２無線ノードの位置と前記第２無線ノードから目的ノードまでの距離の指標である第２評価値とを含む第２通知パケットを前記第２無線ノードから受信する受信部と、前記第１無線ノードと前記第２無線ノードとの間の空間に位置する無線ノードの数に基づいて、前記第２無線ノードの群れ度合いを計算する群れ度合い取得部と、前記第２無線ノードを含む少なくとも１つの無線ノードにおける過去の評価値を取得し、前記少なくとも１つの無線ノードの群れ度合いを用いて前記少なくとも１つの無線ノードにおける過去の評価値を修正し、修正された過去の評価値の中から、最小の評価値を局所最良評価値として取得し、前記局所最良評価値と、前記第１無線ノードの位置と、前記少なくとも１つの無線ノードにおいて局所最良評価値を有する局所最良ノードの位置とを用いて、第１評価値を計算する評価値計算部と、前記局所最良無線ノードが前記局所最良評価値を取得した時の位置を、局所最良位置として取得する最良位置取得部と、前記第１無線ノードの位置と前記最良位置取得部により取得された前記局所最良位置とを用いて、前記第１無線ノードの新たな位置を計算する位置計算部と、前記位置計算部により計算された新たな位置に前記第１無線ノードを移動させる駆動部と、を備える。
【００２０】
請求項７記載の発明は、第１無線ノードと第２無線ノードとを含むｋ（ｋは２以上の整数）個の自律移動可能な無線ノードを備える無線通信システムであって、前記第１無線ノードは、前記第１無線ノードの位置と、前記第１無線ノードから目的ノードまでの距離の指標である第１評価値を含む第１通知パケットをブロードキャストする送信部と、前記第２無線ノードの位置と、前記第２無線ノードから目的ノードまでの距離の指標である第２評価値とを含む第２通知パケットを前記第２無線ノードから受信する受信部と、前記第２無線ノードを含む少なくとも１つの無線ノードにおいて過去に取得された評価値の中から最小の評価値を局所最良評価値として取得し、前記第１無線ノードの位置と、前記少なくとも１つの無線ノードにおいて局所最良評価値を有する局所最良ノードの位置とを用いて、第１評価値を計算する評価値計算部と、前記過去に計算された第１評価値において最小の評価値である自己最小評価値を所定の忘却度を用いて修正し、前記局所最良評価値と、前記所定の忘却度を用いて修正された自己最小評価値とを含む評価値の中で最小の評価値を自己最良評価値として取得し、前記自己最良評価値が取得された無線ノードの位置を自己最良位置として取得する最良位置取得部と、前記第１無線ノードの位置と、前記自己最良位置と、前記局所最良ノードの位置とを用いて、前記第１無線ノードの新たな位置を計算する位置計算部と、前記位置計算部により計算された新たな位置に前記第１無線ノードを移動させる駆動部と、を備える。
【００２１】
請求項８記載の発明は、第１無線ノードと第２無線ノードとを含むｋ（ｋは２以上の整数）個の自律移動可能な無線ノードを備える無線通信システムにおいて、前記第１無線ノードに実行させるための位置計算プログラムであって、前記第１無線ノードの位置と前記第１無線ノードから目的ノードまでの距離の指標である第１評価値を含む第１通知パケットをブロードキャストするステップと、前記第２無線ノードの位置と前記第２無線ノードから目的ノードまでの距離の指標である第２評価値とを含む第２通知パケットを前記第２無線ノードから受信するステップと、前記第２無線ノードを含む少なくとも１つの無線ノードにおいて過去に取得された評価値の中から最小の評価値を局所最良評価値として取得し、前記局所最良評価値と、前記第１無線ノードの位置と、前記少なくとも１つの無線ノードにおいて前記局所最良評価値を有する局所最良ノードの位置とを用いて、前記第１評価値を計算するステップと、前記少なくとも１つの無線ノードにおいて前記局所最良ノードが前記局所最良評価値を取得した時の位置を、局所最良位置として取得するステップと、前記第１無線ノードの位置と、前記局所最良位置とを用いて、前記第１無線ノードの新たな位置を計算するステップと、前記第２無線ノードの位置を中心として所定の半径を有する衝突予想領域を設定し、前記新たな位置が前記衝突予想領域内に存在せず、かつ、前記新たな位置から前記局所最良ノードの位置まで距離が前記無線ノードの位置から前記局所最良ノードの位置までの距離よりも増加しないように、前記新たな位置を修正するステップと、を備える。
【００２２】
請求項９記載の発明は、第１無線ノードと第２無線ノードとを含むｋ（ｋは２以上の整数）個の自律移動可能な無線ノードを備える無線通信システムにおいて、前記第１無線ノードに実行させるための位置計算プログラムであって、前記第１無線ノードの位置と前記第１無線ノードから目的ノードまでの距離の指標である第１評価値を含む第１通知パケットをブロードキャストするステップと、前記第２無線ノードの位置と前記第２無線ノードから目的ノードまでの距離の指標である第２評価値とを含む第２通知パケットを前記第２無線ノードから受信するステップと、前記第１無線ノードと前記第２無線ノードとの間の空間に位置する無線ノードの数に基づいて、前記第２無線ノードの群れ度合いを計算するステップと、前記第２無線ノードを含む少なくとも１つの無線ノードにおける過去の評価値を取得し、前記少なくとも１つの無線ノードの群れ度合いを用いて前記少なくとも１つの無線ノードにおける過去の評価値を修正し、修正された過去の評価値の中から、最小の評価値を局所最良評価値として取得し、前記局所最良評価値と、前記第１無線ノードの位置と、前記少なくとも１つの無線ノードにおいて局所最良評価値を有する無線ノードの位置とを用いて、第１評価値を計算するステップと、前記少なくとも１つの無線ノードにおいて前記局所最良評価値を有する無線ノードが前記局所最良評価値を取得した時の位置を、局所最良位置として取得するステップと、前記第１無線ノードの位置と、前記局所最良位置とを用いて、前記第１無線ノードの新たな位置を計算するステップと、を備える。
【００２３】
請求項１０記載の発明は、第１無線ノードと第２無線ノードとを含むｋ（ｋは２以上の整数）個の自律移動可能な無線ノードを備える無線通信システムにおいて、前記第１無線ノードに実行させるための位置計算プログラムであって、前記第１無線ノードの位置と前記第１無線ノードから目的ノードまでの距離の指標である第１評価値を含む第１通知パケットをブロードキャストするステップと、前記第２無線ノードの位置と前記第２無線ノードから目的ノードまでの距離の指標である第２評価値とを含む第２通知パケットを前記第２無線ノードから受信するステップと、前記第２無線ノードを含む少なくとも１つの無線ノードにおいて過去に取得された評価値の中から最小の評価値を局所最良評価値として取得し、前記第１無線ノードの位置と、前記少なくとも１つの無線ノードにおいて局所最良評価値を有する局所最良ノードの位置とを用いて、第１評価値を計算するステップと、前記過去に計算された第１評価値において最小の評価値である自己最小評価値を所定の忘却度を用いて修正し、前記局所最良評価値と、前記所定の忘却度を用いて修正された自己最小評価値とを含む評価値の中で最小の評価値を自己最良評価値として取得し、前記自己最良評価値が取得された無線ノードの位置を自己最良位置として取得するステップと、前記第１無線ノードの位置と、前記自己最良位置と、前記局所最良ノードの位置とを用いて、前記第１無線ノードの新たな位置を計算するステップと、を備える。
【発明の効果】
【００２４】
本発明によれば、自律移動可能な移動体が継続してモニタリングすることが可能な技術を提供することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態に係るモニタリングシステムの構成を示す図である。
【図２】図１に示す目的ノードの構成を示す機能ブロック図である。
【図３】図１に示す無線ノードの構成を示す機能ブロック図である。
【図４】図１に示す無線ノードの動作を示すフローチャートである。
【図５】図１に示す無線ノードにより送信される通信パケットを示す図である。
【図６】図１に示す無線ノードの近傍に位置する無線ノードを説明する図である。
【図７】図２に示す群れ度合い計算処理で実行
【図８】図４に示す評価値計算処理のフローチャートである。
【図９】図１に示す無線ノードと、当該無線ノードの近傍ノードとの位置関係の一例を示す図である。
【図１０】図１に示す無線ノードの位置の修正方法の一例を示す図である。
【図１１】図１に示す無線ノードの位置の修正方法の他の例を示す図である。
【図１２】図１に示す無線ノードの位置の修正方法の他の例を示す図である。
【図１３】図１に示す無線ノードが一の目的ノードに到達した後に他の目的ノードへ移動する動作を説明する図である。
【図１４】図４に示す位置計算方法のシミュレーション結果を示すグラフである。
【図１５】図４に示す位置計算方法のシミュレーション結果を示すグラフである。
【図１６】図１に示す無線ノードの他の構成例を示す機能ブロック図である。
【発明を実施するための形態】
【００２６】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００２７】
［１．モニタリングシステム１００の構成］
［１．１全体構成］
図１は、本発明の実施の形態に係るモニタリングシステム１００の構成図である。図１に示すように、モニタリングシステム１００は、無線ノードＭ−１〜Ｍ−ｋと、目的ノードＤ−１〜Ｄ−ｍとを備える。ここで、ｋ及びｍの各々は、２以上の自然数である。図１に示す例では、８個の無線ノードＭ−１〜Ｍ−８と、４個の目的ノードＤ−１〜Ｄ−４を示している。
【００２８】
無線ノードＭ−１〜Ｍ−ｋは、モニタリング空間１０内を移動して、目的ノードＤ−１〜Ｄ−４のいずれかに向かう。無線ノードＭ−１〜Ｍ−ｋの各々は、目的ノードＤ−１〜Ｄ−ｋのうち一の目的ノードに向かう場合、他の無線ノードと集団（クラスタ）を構成しながら当該一の目的ノードに移動することがある。
【００２９】
例えば、無線ノードＭ−１〜Ｍ−３が、１つの集団を構成しながら目的ノードＤ−１に向かい、その他の無線ノードが、別の集団を構成しながら目的ノードＤ−２に向かう場合が考えられる。ただし、本実施の形態では、無線ノード及び目的ノードの位置関係によっては、一の無線ノードが単独で目的ノードに向かって移動することがあり得る。
【００３０】
無線ノードＭ−１〜Ｍ−ｋは、後述する通知パケットＰｃを互いにやり取りする。通知パケットＰｃの送受信には、近距離無線通信が用いられる。無線ノードＭ−１〜Ｍ−ｋは、例えば、ＢＬＥ（Bluetooth Low Energy）や、ＩＥＥＥ８０２．１５．４などの通信規格に準拠した無線通信を行う。
【００３１】
目的ノードＤ−１〜Ｄ−４の各々は、モニタリング空間１０に配置され、モニタリング対象となる物体の近傍に配置される。目的ノードＤ−１〜Ｄ−ｍは、近距離無線通信よりも通信距離の長い通信規格を用いて、自己の位置及び自己の識別データを含む広告パケットＰａｄをブロードキャストする。
【００３２】
無線ノードＭ−１〜Ｍ−ｋは、定期的に通知パケットＰｃを生成し、その生成した通知パケットＰｃをブロードキャストする。例えば、無線ノードＭ−１の通知パケットＰｃは、無線ノードＭ−１の識別データと、無線ノードＭ−１の位置データと、無線ノードＭ−１により計算された評価値とを含む。無線ノードＭ−１の評価値は、無線ノードＭ−１から目的ノードＤ−１〜Ｄ−ｍのうちいずれか１つのノードまでの距離の指標である。
【００３３】
図１では、無線ノードＭ−２，Ｍ−４〜Ｍ−７が無線ノードＭ−１によりブロードキャストされた通知パケットＰｃを受信する様子を示している。無線ノードＭ−ｉは、他の無線ノードとの位置関係によっては、他の無線ノードからブロードキャストされる通知パケットＰｃを受信できない場合がある。ｉは、１以上ｋ以下の整数である。
【００３４】
また、図１では、無線ノードＭ−２，Ｍ−３，Ｍ−７が、目的ノードＤ−１によりブロードキャストされた広告パケットＰａｄを受信する様子を示している。無線ノードＭ−ｉは、目的ノードＤ−１〜Ｄ−ｍとの位置関係によっては、一部の目的ノードの広告パケットＰａｄを受信できない場合がある。しかし、本実施の形態では、無線ノードＭ−１〜Ｍ−ｋが、全ての目的ノードから広告パケットＰａｄを受信できると仮定して説明する。
【００３５】
無線ノードＭ−１〜Ｍ−ｋは、自律移動可能な移動体であり、例えば、ドローンと呼ばれる無人航空機である。無線ノードＭ−１〜Ｍ−ｋは、互いに異なるモニタリング装置を備えている。モニタリング装置は、例えば、カメラや、様々な種類のセンサである。無線ノードＭ−１〜Ｍ−ｋは、目的ノードＤ−１〜Ｄ−ｍへ自律的に移動して、目的ノードＤ−１〜Ｄ−ｍ近傍に配置されたモニタリング対象についてのデータを取得する。
【００３６】
複数の無線ノードが１つの集団を構成しながら移動する場合、無線ノード同士が衝突する虞がある。そこで、無線ノードＭ−１〜Ｍ−ｋは、他の無線ノードから送信される通知パケットＰｃに含まれるデータを利用して、無線ノード同士の衝突を抑制する制御を行う。無線ノード同士の衝突を抑制する制御の詳細については、後述する。
【００３７】
また、多目的粒子群最適化では、自律移動可能な粒子は、複数の目的地が設定されている場合であっても、複数の目的地のうち一の目的地に到達した場合に目的地の探索を終了する。しかし、無線ノードＭ−１〜Ｍ−ｋは、後述するように、目的ノードＤ−１〜Ｄ−ｍのうち一の目的ノードに到達した場合であっても、一の目的ノードから他の目的ノードへ向かって移動を開始する。無線ノードが一の目的ノードに到達した後の無線ノードの動作については、後述する。
【００３８】
［１．２．目的ノードＤ−１の構成］
図２は、図１に示す目的ノードＤ−１の構成を示す機能ブロック図である。図２に示すように、目的ノードＤ−１は、アンテナ２１と、位置取得部２２と、広告パケット生成部２３と、送信部２４とを含む。
【００３９】
位置取得部２２は、目的ノードＤ−１が配置された位置を検出し、その検出された位置を記録した位置データを生成する。位置取得部２２は、その生成した位置データを広告パケット生成部２３に出力する。位置取得部２２は、例えば、ＧＰＳ（Global Positioning System）装置である。
【００４０】
広告パケット生成部２３は、目的ノードＤ−１の識別データを予め保持している。広告パケット生成部２３は、目的ノードＤ−１の識別データと、位置取得部２２から出力された位置データとを含む広告パケットＰａｄを生成する。広告パケット生成部２３は、その生成した広告パケットＰａｄを送信部２４に出力する。
【００４１】
送信部２４は、目的ノードＤ−１の識別データ及び位置データを含む広告パケットＰａｄを広告パケット生成部２３から受けた場合、その生成した広告パケットＰａｄをアンテナ２１を介してブロードキャストする。広告パケットＰａｄは、定期的にブロードキャストされる。
【００４２】
なお、図１に示す目的ノードＤ−２〜Ｄ−４の構成は、図２に示す目的ノードＤ−１の構成と同じである。
【００４３】
［１．３．無線ノードＭ−ｉの構成］
図３は、図１に示す無線ノードＭ−ｉの構成を示す機能ブロック図である。上述のように、ｉは、１以上ｋ以下の整数である。
【００４４】
図３に示すように、無線ノードＭ−ｉは、自己の位置ｘｉ（ｔ）を更新して新たな位置ｘｉ（ｔ＋１）を生成し、生成された新たな位置ｘｉ（ｔ＋１）に移動する。ここで、ｔは、無線ノードＭ−ｉの位置更新を繰り返した回数である。無線ノードＭ−ｉは、自己の位置ｘｉ（ｔ）の更新を繰り返すことにより、目的ノードＤ−１〜Ｄ−ｍのいずれかに向かって移動する。
【００４５】
無線ノードＭ−ｉは、アンテナ１０１と、送受信部１０２と、広告パケット取得部１０３と、通知パケット生成部１０４と、通知パケット取得部１０５と、群れ度合い取得部１０６と、評価値計算部１０７と、忘却度設定部１０８と、最良位置取得部１０９と、位置計算部１１０と、衝突抑制部１１１と、駆動部１１２とを備える。
【００４６】
（送受信部１０２）
送受信部１０２は、アンテナ１０１を介して、目的ノードから広告パケットＰａｄを受信した場合、その受信した広告パケットＰａｄを広告パケット取得部１０３に出力する。
【００４７】
送受信部１０２は、無線ノードＭ−ｉの通知パケットＰｃを通知パケット生成部１０４から受けた場合、アンテナ１０１を介して、その受けた無線ノードＭ−ｉの通知パケットＰｃをブロードキャストする。
【００４８】
送受信部１０２は、他の無線ノードから通知パケットＰｃを受信した場合、その受信した通知パケットＰｃを通知パケット取得部１０５に出力する。
【００４９】
上述のように、無線ノードＭ−１〜Ｍ−ｋは、近距離無線通信を用いて通知パケットＰｃをブロードキャストするため、無線ノードＭ−ｉは、他の全ての無線ノードから通知パケットＰｃを受信できるとは限らない。無線ノードＭ−ｉは、通知パケットＰｃを受信した場合、通知パケットＰｃの送信元である他の無線ノードを、自己（無線ノードＭ−ｉ）の近傍に位置する近傍ノードであると判断する。
【００５０】
以下、無線ノードＭ−ｉの近傍に位置する近傍ノードを、「近傍ノードＭ−ｊ」と記載する。ここで、ｊは、１以上ｋ以下であり、かつ、ｉと異なる整数である。
【００５１】
（広告パケット取得部１０３）
広告パケット取得部１０３は、広告パケットＰａｄを送受信部１０２から受け、その受けた広告パケットＰａｄから目的ノードの位置データを取得する。広告パケット取得部１０３は、その取得した目的ノードの位置データを評価値計算部１０７に出力する。
【００５２】
（通知パケット生成部１０４）
通知パケット生成部１０４は、評価値Ｅｉ（ｔ＋１）を評価値計算部１０７から受け、無線ノードＭ−ｉの位置ｘｉ（ｔ＋１）を位置計算部１１０から受ける。通知パケット生成部１０４は、無線ノードＭ−ｉの識別データを予め保持している。通知パケット生成部１０４は、無線ノードＭ−ｉの識別データと、評価値Ｅｉ（ｔ＋１）と、位置ｘｉ（ｔ＋１）とを含む通知パケットＰｃを生成する。通知パケット生成部１０４は、その生成した通知パケットＰｃを送受信部１０２に出力する。
【００５３】
（通知パケット取得部１０５）
通知パケット取得部１０５は、近傍ノードＭ−ｊの通知パケットＰｃを送受信部１０２から受ける。通知パケット取得部１０５は、その受けた他の近傍ノードＭ−ｊの通知パケットＰｃから、近傍ノードＭ−ｊの評価値Ｅｊ（ｔ）及び位置ｘｊ（ｔ）を取得する。
【００５４】
通知パケット取得部１０５は、その取得した位置ｘｊ（ｔ）を群れ度合い取得部１０６に出力し、その取得した評価値Ｅｊ（ｔ）を評価値計算部１０７に出力する。通知パケット取得部１０５は、その取得した評価値Ｅｊ（ｔ）及び位置ｘｊ（ｔ）を最良位置取得部１０９に出力する。
【００５５】
（群れ度合い取得部１０６）
群れ度合い取得部１０６は、近傍ノードＭ−ｊの位置ｘｊ（ｔ）を通知パケット取得部１０５から受け、無線ノードＭ−ｉの位置ｘｉ（ｔ）を位置計算部１１０から受ける。群れ度合い取得部１０６は、無線ノードＭ−ｉの位置ｘｉ（ｔ）及び近傍ノードＭ−ｊの位置ｘｊ（ｔ）に基づいて、群れ度合いｓｉｊ（ｔ）を取得する。群れ度合いｓｉｊ（ｔ）は、無線ノードＭ−ｉと近傍ノードＭ−ｊとの間に存在する無線ノードの数を示す。
【００５６】
（忘却度設定部１０８）
忘却度設定部１０８は、忘却度Ｄを設定する。忘却度Ｄは、直前に取得された自己最良評価値に乗算されるパラメータであり、直前に取得された自己最良評価値を新たな自己最良評価値に更新する際に用いられる。詳細に付いては後述するが、無線ノードＭ−ｉは、新たな自己最良評価値を取得する際に忘却度Ｄを用いることにより、一の目的ノードに到達した後に他の目的ノードに到達することを可能とする。
【００５７】
（評価値計算部１０７）
評価値計算部１０７は、近傍ノードＭ−ｊの評価値Ｅｊ（ｔ）を通知パケット取得部１０５から受け、群れ度合いｓｉｊ（ｔ）を群れ度合い取得部１０６から受ける。評価値計算部１０７は、自己最良位置ｘｉ＿Ｌｂｅｓｔ（ｔ）を最良位置取得部１０９から受ける。評価値計算部１０７は、近傍ノードの評価値Ｅｊ（ｔ）と、近傍ノードの位置ｘｊ（ｔ）と、群れ度合いｓｉｊ（ｔ）と、自己の位置ｘｉ（ｔ）を用いて、無線ノードＭ−ｉの評価値Ｅｉ（ｔ＋１）を計算する。評価値計算部１０７は、計算により得られた評価値Ｅｉ（ｔ＋１）を最良位置取得部１０９に出力する。
【００５８】
（最良位置取得部１０９）
最良位置取得部１０９は、近傍ノードＭ−ｊの評価値Ｅｊ（ｔ）及び位置ｘｊ（ｔ）を通知パケット取得部１０５から受ける。最良位置取得部１０９は、無線ノードＭ−ｉの評価値Ｅｉ（ｔ）を評価値計算部１０７から受け、無線ノードＭ−ｉの位置ｘｉ（ｔ）を位置計算部１１０から受ける。最良位置取得部１０９は、忘却度Ｄを忘却度設定部１０８から受ける。
【００５９】
最良位置取得部１０９は、忘却度Ｄと、過去に計算した自己の評価値Ｅ１（１）〜Ｅ１（ｔ）と、過去に受けた近傍ノードＭ−ｊの評価値Ｅｊ（１）〜Ｅｊ（ｔ）とを用いて、自己最良評価値を特定する。最良位置取得部１０９は、その特定した自己最良評価値に対応する無線ノードの位置を、自己最良位置ｘｉ＿Ｐｂｅｓｔ（ｔ）として評価値計算部１０７及び位置計算部１１０に出力する。
【００６０】
最良位置取得部１０９は、過去に受けた近傍ノードＭ−ｊの評価値Ｅｊ（１）〜Ｅｊ（ｔ）における最小の評価値を、局所最良評価値として特定する。最良位置取得部１０９は、近傍ノードのうち、局所最良評価値を有する局所最良ノードの位置を、局所最良位置ｘＬｂｅｓｔ（ｔ）として位置計算部１１０に出力する。
【００６１】
（位置計算部１１０）
位置計算部１１０は、自己最良位置ｘｉ＿Ｐｂｅｓｔ（ｔ）及び局所最良位置ｘＬｂｅｓｔ（ｔ）を最良位置取得部１０９から受ける。位置計算部１１０は、無線ノードＭ−ｉの位置ｘｉ（ｔ）を自己最良位置ｘｉ＿Ｐｂｅｓｔ（ｔ）及び局所最良位置ｘＬｂｅｓｔ（ｔ）を用いて更新して、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）を計算する。位置計算部１１０は、その新たな位置ｘｉ（ｔ＋１）を駆動部１１２に出力する。
【００６２】
（駆動部１１２）
駆動部１１２は、無線ノードＭ−ｉの位置ｘｉ（ｔ＋１）を位置計算部１１０から受ける。駆動部１１２は、無線ノードＭ−ｉがその受けた位置ｘｉ（ｔ＋１）に移動するように、無線ノードＭ−ｉを制御する。
【００６３】
［２．無線ノードの動作］
図４は、図１に示す無線ノードの動作を示すフローチャートである。図４を参照しながら、無線ノードＭ−ｉの動作を説明する。
【００６４】
［２．１．初期化］
無線ノードＭ−ｉは、最初に、初期化処理を実行する（ステップＳ１０１）。具体的には、無線ノードＭ−ｉにおいて、位置計算部１１０は、予め設定されていた無線ノードＭ−ｉの位置を、１回目の無線ノードＭ−ｉの位置Ｍｉ（１）に設定する。
【００６５】
また、評価値計算部１０７は、目的ノードＤ−ｉ〜Ｄ−ｍから広告パケットＰａｄを受信することができた場合、１回目の無線ノードＭ−ｉの評価値Ｅｉ（１）を計算する。例えば、評価値計算部１０７は、目的ノードＤ−１から広告パケットＰａｄを受信した場合、目的ノードＤ−１の位置と、１回目の無線ノードＭ−ｉの位置Ｍｉ（１）の位置から、目的ノードＤ−１から無線ノードＭ−ｉまでの距離を計算する。評価値計算部１０７は、計算した距離を、１回目の無線ノードＭ−ｉの評価値Ｅｉ（１）に設定する。
【００６６】
評価値計算部１０７は、複数の目的ノードから広告パケットを受信した場合、この複数の目的ノードの各々に対する評価値を計算し、その計算した評価値の中から最小の評価値を、評価値Ｅｉ（１）に設定する。
【００６７】
評価値計算部１０７は、全ての目的ノードから広告パケットを受信することができない場合、目的ノードの位置を用いて評価値Ｅｉ（１）を計算することができない。この場合、評価値Ｅｉ（１）は、予め設定されている評価値の最大値に設定される。評価値Ｅｉ（１）を、目的ノードから最大限に離れていることを示す値に設定するためである。
【００６８】
［２．２．通信パケットＰｃの送信］
無線ノードＭ−ｉにおいて、通知パケット生成部１０４は、通知パケットＰｃを生成して、モニタリング空間１０にブロードキャストする（ステップＳ１０２）。
【００６９】
図５は、ステップＳ１０１の実行直後に生成される通知パケットＰｃを示す図である。図５に示すように、無線ノードＭ−ｉ通知パケットＰｃは、無線ノードＭ−ｉの識別データと、無線ノードＭ−ｉの位置ｘｉ（ｔ）と、無線ノードＭ−ｉの評価値Ｅｉ（ｔ）とを含む。無線ノードＭ−ｉの通知パケットＰｃには、無線ノードＭ−ｉの識別データとして、「Ａｄｄｒｅｓｓ  Ｍ−ｉ」が記録される。
【００７０】
ステップＳ１０１において、位置計算部１１０は、１回目の無線ノードＭ−ｉの位置ｘｉ（１）を取得し、評価値計算部１０７は、１回目の無線ノードＭ−ｉの評価値Ｅｉ（１）を計算している。このため、図５に示す通知パケットＰｃには、１回目の無線ノードＭ−ｉの位置ｘｉ（１）と、１回目の無線ノードＭ−ｉの評価値Ｅｉ（１）が記録される。
【００７１】
［２．３．他の無線ノードの位置及び評価値の取得］
無線ノードＭ−ｉにおいて、通知パケット取得部１０５は、送受信部１０２により受信された近傍ノードＭ−ｊの通知パケットＰｃから、近傍ノードＭ−ｊの位置ｘｊ（ｔ）及び評価値Ｅｊ（ｔ）を取得する（ステップＳ１０３）。無線ノードＭ−１〜Ｍ−ｋは、近距離無線通信を利用して無線ノード同士で通信する。このため、無線ノードＭ−ｉは、無線ノードＭ−ｉ以外の全ての無線ノードから、位置及び評価値を取得するとは限らない。
【００７２】
図６は、無線ノードＭ−５の通信範囲を示す図である。図６を参照して、破線で描かれた円形領域は、無線ノードＭ−５が他の無線ノードと無線通信をすることができる通信可能範囲を示す。図６において、無線ノードＭ−５は、通信可能範囲内に位置している無線ノードＭ−１〜Ｍ−４，Ｍ−６から通知パケットＰｃを受信し、無線ノードＭ−１〜Ｍ−４，Ｍ−６の位置及び評価値を取得することができる。この場合、無線ノードＭ−５の近傍ノードは、無線ノードＭ−１〜Ｍ−４，Ｍ−６である。また、無線ノードＭ−１〜Ｍ−６が１つの集団としてある目的ノードに向かっているとみなすことができる。
【００７３】
一方、図６において、無線ノードＭ−５は、通信可能範囲の外に位置している無線ノードＭ−７〜Ｍ−１０から通知パケットＰｃを受信することができない。このため、無線ノードＭ−５は、無線ノードＭ−７〜Ｍ−１０の評価値を用いて自己の評価値を計算しない。無線ノードＭ−５は、無線ノードＭ−７〜Ｍ−１０の位置を用いて自己の新たな位置ｘｉ（ｔ）を計算しない。
【００７４】
［２．４．群れ度合いの計算］
無線ノードＭ−ｉにおいて、群れ度合い取得部１０６は、自己の位置と、ステップＳ１０３において通知パケット取得部１０５により取得された近傍ノードの位置とに基づいて、群れ度合いを計算する（ステップＳ１０４）。群れ度合いは、無線ノードＭ−ｉと、近傍ノードＭ−ｊとの間の空間に位置する無線ノードの数に相当する。つまり、群れ度合いは、無線ノードＭ−ｉと、近傍ノードＭ−ｊとの間の空間において、無線ノードがどのくらい密集しているかを示す指標である。無線ノードＭ−ｉに関して、複数の近傍ノードが存在する場合、群れ度合いは、近傍ノードごとに計算される。
【００７５】
図７は、群れ度合いの計算方法を説明する図である。無線ノードＭ−１〜Ｍ−ｋは、実際には、３次元空間に配置されているが、説明の便宜上、無線ノードＭ−ｉ及び近傍ノードＭ−ｊを図７において２次元平面上に配置する。図７を参照して、無線ノードＭ−ｉの位置ｘｉ（ｔ）を中心とした円Ｃ−ｉと、近傍ノードＭ−ｊの位置ｘｊ（ｔ）を中心とした円Ｃ−ｊとを想定する。円Ｃ−ｉ，Ｃ−ｊの半径は、無線ノードＭ−ｉから無線ノードＭ−ｋまでの距離ｄである。
【００７６】
群れ度合い取得部１０６は、円Ｃ−ｉ内に位置し、かつ、円Ｃ−ｊ内に位置する無線ノードの数をカウントする。無線ノードＭ−ｉ及び近傍ノードＭ−ｊは、カウントの対象から除かれる。群れ度合い取得部１０６は、円Ｃ−ｉ内に存在し、かつ、円Ｃ−ｊ内に位置する無線ノードの数に基づいて、群れ度合いｓｉｊ（ｔ）を取得する。
【００７７】
つまり、無線ノードＭ−ｉを基準とした、近傍ノードＭ−ｊの群れ度合いは、下記の式（１）により計算される。
【００７８】
【数１】
2018198007.tif 000003
【００７９】
式（１）において、ｎｉｊ（ｔ）は、円Ｃ−ｉ内に位置し、かつ、円Ｃ−ｊ内に位置する無線ノードの数である。Ｓは、正規化パラメータである。群れ度合いｓｉｊ（ｔ）の計算に、正規化パラメータＳを使用しなくてもよい。
【００８０】
群れ度合いｓｉｊ（ｔ）が大きいほど、無線ノードが、無線ノードＭ−ｉと近傍ノードＭ−ｋとの間の空間に多く集まっていることを示す。群れ度合いｓｉｊ（ｔ）は、後述するように、無線ノードＭ−ｉの評価値Ｅｉ（ｔ）の計算に用いられる。
【００８１】
［２．５．評価値の計算］
無線ノードＭ−ｉにおいて、評価値計算部１０７は、無線ノードＭ−ｉの近傍ノードの評価値と、ステップＳ１０４で計算された群れ度合いとを用いて、自己の評価値Ｅｉ（ｔ）を計算する（ステップＳ１０５）。
【００８２】
図８は、図４に示す評価値計計算（ステップＳ１０５）のフローチャートである。図８を参照しながら、無線ノードＭ−ｉの評価値Ｅｉ（ｔ）の計算方法を説明する。
【００８３】
評価値計算部１０７は、ステップＳ１０３で取得された各近傍ノードの評価値を修正する（ステップＳ５０１）。近傍ノードの評価値は、下記式（２）により修正される。
【００８４】
【数２】
2018198007.tif 000004
【００８５】
式（２）において、ｅｉｊ（ｔ）は、無線ノードＭ−ｉによって修正された近傍ノードＭ−ｊの評価値である。Ｅｊ（ｔ）は、近傍ノードＭ−ｊの評価値である。ｓｉｊ（ｔ）は、無線ノードＭ−ｉと近傍ノードＭ−ｊとの間における群れ度合いである。
【００８６】
評価値計算部１０７は、ステップＳ５０１で計算された各近傍ノードの修正評価値の中から局所最良評価値を特定する（ステップＳ５０２）。具体的には、評価値計算部１０７は、下記の式（３）に従って、各近傍ノードの修正評価値の中から局所最良評価値を特定する。
【００８７】
【数３】
2018198007.tif 000005
【００８８】
式（３）において、ｅｉ＿ＬＢｅｓｔ（ｔ）は、無線ノードＭ−ｉにおける局所最良評価値である。
【００８９】
評価値計算部１０７は、ステップＳ５０２で特定された局所最良評価値と、自己（無線ノードＭ−ｉ）の位置とに基づいて、自己の評価値を計算する（ステップＳ５０３）。自己の評価値は、下記式（４）により得られる。
【００９０】
【数４】
2018198007.tif 000006
【００９１】
式（４）において、Ｅｉ（ｔ＋１）は、ステップＳ５０３で得られる無線ノードＭ−ｉの新たな評価値である。ｘｉ＿ＬＢｅｓｔ（ｔ）は、後述するステップＳ５０６で得られる局所最良評価値に対応する近傍ノードである局所最良ノードの位置である。なお、ｔ＝１の場合、ｘｉ＿ＬＢｅｓｔ（ｔ）は、初期化（ステップＳ１０１）で得られる無線ノードＭ−１の位置ｘｉ（ｔ）である。
【００９２】
以下、評価値計算部１０７が無線ノードＭ−ｉの評価値Ｅｉ（ｔ）を近傍ノードの最小評価値に基づいて決定する理由を説明する。
【００９３】
無線ノードＭ−ｉは、近傍ノードの中で最小の評価値を有するノードに近づくことにより、目標ノードに近づくことができると想定して、自己の位置ｘｉ（ｔ）を更新する。このため、後述するステップＳ１１０において、無線ノードＭ−ｉは、自己の位置ｘｉ（ｔ）を更新する際に、局所最良位置ｘｉ＿ＬＢｅｓｔ（ｔ）を使用する。最良位置取得部１０９が局所最良位置ｘｉ＿ＬＢｅｓｔ（ｔ）を取得できるようにするために、評価値計算部１０７は、自己の評価値Ｅｉ（ｔ）を近傍ノードの最小評価値に基づいて決定する。
【００９４】
（群れ度合いの使用による効果）
評価値計算部１０７は、ステップＳ５０１において、群れ度合いＳｉｊ（ｔ）を用いて、近傍ノードＭ−ｊの評価値Ｅｊ（ｔ）を修正する。上述のように、無線ノードＭ−ｉは、近傍ノードの中で最小の評価値を有するノードに近づくことにより、目標ノードに近づくことができると想定して、自己の位置ｘｉ（ｔ）を更新する。
【００９５】
しかし、無線ノードＭ−ｉと、最小の評価値を有する近傍ノードとの間の空間に、多くの無線ノードが存在する場合がある。この場合、無線ノードＭ−ｉが最小の評価値を有する近傍ノードに近づくことにより、無線ノードＭ−ｉが他の無線ノードと衝突する可能性が高くなる。評価値計算部１０７は、このような衝突を回避するために、式（２）に示すように、無線ノードＭ−ｉと近傍ノードＭ−ｊとの間の空間における無線ノードの数に応じて、近傍ノードＭ−ｊの評価値Ｅｊ（ｔ）を修正する。修正により、近傍ノードＭ−ｊの修正評価値は、群れ度合いＳｉｊ（ｔ）に比例して増加する。
【００９６】
この結果、近傍ノードＭ−ｊが最小の評価値を有しているにも関わらず無線ノードＭ−ｉと近傍ノードＭ−ｊとの間の空間において無線ノードが密集している場合、無線ノードＭ−ｉの評価値が、近傍ノードＭ−ｊの評価値に基づいて決定されることが抑制される。群れ度合いＳｉｊ（ｔ）を用いて、近傍ノードＭ−ｊの評価値Ｅｊ（ｔ）を修正することにより、無線ノードＭ−ｉが、他の無線ノードが密集している空間に向かって移動することが抑制されるため、無線ノードＭ−ｉが他の無線ノードと衝突することを防ぐことができる。
【００９７】
［２．６．局所最良位置の決定］
無線ノードＭ−ｉにおいて、最良位置取得部１０９は、目的ノードに向かって移動を開始してから目的ノードに到着するまでの間に取得した近傍ノードの評価値の中で、最小の評価値を有する近傍ノードである局所最良ノードの位置を、局所最良位置ｘｉ＿Ｌｂｅｓｔ（ｔ）として決定する（ステップＳ１０６）。局所最良位置ｘｉ＿Ｌｂｅｓｔ（ｔ）は、無線ノードＭ−ｉの通信可能範囲（図６参照）において最も目的ノードに近いと想定される無線ノードの位置に相当する。
【００９８】
なお、最良位置取得部１０９は、局所最良位置ｘｉ＿Ｌｂｅｓｔ（ｔ）を決定するにあたって、近傍ノードの評価値に代えて、式（１）で得られる群れ度合いｓｉｊ（ｔ）を近傍ノードＭ−ｊの評価値Ｅｊ（ｔ）に乗じた値を使用してもよい。後述するように、無線ノードＭ−ｉの位置ｘｉ（ｔ）を更新する際に、群最良位置ｘｉ＿Ｌｂｅｓｔ（ｔ）が用いられる。群れ度合いを考慮した近傍ノードの評価値を用いて群最良位置ｘｉ＿Ｌｂｅｓｔ（ｔ）を決定することにより、無線ノードＭ−ｉが、他の無線ノードに向かって移動することを抑制することができる。この結果、無線ノードＭ−ｉが他の無線ノードと衝突することを防ぐことができる。
【００９９】
［２．７．自己最良位置の決定］
無線ノードＭ−ｉにおいて、最良位置取得部１０９は、自己最良評価値に対応する自己の位置を、自己最良位置として決定する（ステップＳ１０７）。具体的には、最良位置取得部１０９は、下記の式（５）を用いて、自己最良評価値を決定する。
【０１００】
【数５】
2018198007.tif 000007
【０１０１】
式（５）において、ｅｉ＿ＰＢｅｓｔ（ｔ）は、自己最良評価値である。Ｄは、忘却度であり、１以上の数値である。自己最良評価値ｅｉ＿ＰＢｅｓｔ（ｔ）は、局所最良評価値ｅｉ＿ＬＢｅｓｔ（ｔ）と、直前に計算された自己最良評価値ｅｉ＿ＰＢｅｓｔ（ｔ−１）に忘却度Ｄを乗じた値とのうち、小さい方の評価値である。
【０１０２】
最良位置取得部１０９は、式（５）により得られる自己最良評価値ｅｉ＿ＰＢｅｓｔ（ｔ）に基づいて、自己最良位置ｘｉ＿Ｐｂｅｓｔ（ｔ）を取得する。式（５）において、局所最良評価値ｅｉ＿ＬＢｅｓｔ（ｔ）が自己最良評価値ｅｉ＿ＰＢｅｓｔ（ｔ）として決定された場合、無線ノードＭ−ｉの自己最良位置ｘｉ＿Ｐｂｅｓｔ（ｔ）は、近傍ノードのうち、局所最良評価値ｅｉ＿ＬＢｅｓｔ（ｔ）を有する局所最良ノードの位置に決定される。忘却度Ｄを用いることにより得られる効果については、後述する。
【０１０３】
［２．８．自己位置の更新］
無線ノードＭ−ｉにおいて、位置計算部１１０は、無線ノードＭ−ｉの位置ｘｉ（ｔ）を更新して、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）を生成する（ステップＳ１０８）。新たな位置のｘｉ（ｔ＋１）の計算には、ステップＳ１０６で決定された自己最良位置ｘｉ＿Ｐｂｅｓｔ（ｔ）と、ステップＳ１０７で決定された群最良位置ｘｉ＿Ｌｂｅｓｔ（ｔ）と、自己の位置ｘｉ（ｔ）とが用いられる。
【０１０４】
ステップＳ１０８において、位置計算部１１０は、最初に、下記の式（６）を用いて、無線ノードＭ−ｉの速度ｖｉ（ｔ＋１）を計算する。
【０１０５】
【数６】
2018198007.tif 000008
【０１０６】
式（６）において、ｖｉ（ｔ＋１）は、無線ノードＭ−ｉの速度を示し、無線ノードＭ−ｉの移動ベクトルに相当する。ｗは、無線ノードＭ−ｉの慣性質量である。ｃ１は、認知的パラメータと呼ばれる。ｃ２は、社会的パラメータと呼ばれる。ｒ１及びｒ２は、０以上１以下の乱数である。
【０１０７】
式（６）の右辺第２項は、自己（無線ノードＭ−ｉ）が目的ノードに最も近づいた時の位置に向かって移動する成分（パーソナルベスト成分）である。認知的パラメータｃ１は、パーソナルベスト成分の重み付け定数である。パーソナルベスト成分は、無線ノードＭ−ｉが、自己における位置の履歴に基づいて目的ノードに向かって移動する成分である。
【０１０８】
式（６）の右辺第３項は、無線ノードＭ−ｉの通信可能範囲内に位置する無線ノードの群に含まれるいずれかのノードが目的ノードに最も近づいた時の位置に向かって移動する成分（ローカルベスト成分）を示す。社会的パラメータｃ２は、ローカルベスト成分の重み付け定数である。ローカルベスト成分は、無線ノードＭ−ｉが無線ノードＭ−ｉの通信可能範囲内に位置する無線ノードの動きに合わせつつ、目的ノードに向かって移動することを示している。
【０１０９】
式（６）において、社会的パラメータｃ２が認知的パラメータｃ１よりも大きくなるように設定される。無線ノードＭ−ｉが、自己の無線通信範囲内に位置する他の無線ノードと構成する集団とともに移動することを優先させるためである。
【０１１０】
ステップＳ１０８において、位置計算部１１０は、式（６）を用いて無線ノードＭ−ｉの速度ｖｉ（ｔ＋１）を計算した後に、下記式（７）を用いて無線ノードＭ−ｉの位置ｘｉ（ｔ）を更新することにより、新たな位置ｘｉ（ｔ＋１）を計算する。
【０１１１】
【数７】
2018198007.tif 000009
【０１１２】
ステップＳ１０８において、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）の計算に用いられる式（６）及び式（７）は、従来の多目的粒子群最適化において粒子の位置更新に用いられる式と同じである。
【０１１３】
［２．９．衝突抑制制御］
衝突抑制部１１１は、ステップＳ１０８で生成された無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）を修正することにより、衝突抑制制御を実行する（ステップＳ１０９）。
【０１１４】
無線ノードＭ−ｉは、ステップＳ１０８で生成された新たな位置ｘｉ（ｔ＋１）に移動することにより、目的ノードに近づく。無線ノードＭ−ｉと近傍ノードとの位置関係によっては、無線ノードＭ−ｉが、新たな位置ｘｉ（ｔ＋１）に移動する時に近傍ノードと衝突する虞がある。衝突抑制部１１１は、無線ノードＭ−ｉと近傍ノードとの位置関係を考慮して、ステップＳ１０８で生成された無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）を修正する。
【０１１５】
（衝突抑制制御の考え方）
図９は、無線ノードＭ−ｉと、近傍ノードＭ−ｊとの位置関係の一例を示す図である。無線ノードＭ−１〜Ｍ−ｋは、実際には、３次元空間に配置されているが、説明の便宜上、図９において無線ノードＭ−ｉ及び近傍ノードＭ−ｊを２次元平面上に配置する。
【０１１６】
図９において、無線ノードＭ−ｉの現在位置をｘｉ（ｔ）で示す。ステップＳ１０８で生成された無線ノードＭ−ｉの新たな位置をｘｉ（ｔ＋１）で示す。近傍ノードＭ−ｊの現在位置を、ｘｊ（ｔ）で示す。
【０１１７】
ステップＳ１０９の衝突抑制制御において、近傍ノードＭ−ｊの現在位置ｘｊ（ｔ）を中心とした半径Ｌの球である衝突予想領域ＲＬを想定する。衝突予想領域ＲＬは、近傍ノードＭ−ｊが現在位置ｘｊ（ｔ）から移動する可能性ある範囲を示している。半径Ｌは、近傍ノードＭ−ｊが次の位置更新の際に移動可能な最大距離であり、例えば、近傍ノードＭ−ｊの大きさ、近傍ノードＭ−ｊの仕様上の最大速度に基づいて決定される。
【０１１８】
衝突予想領域ＲＬの外周と、無線ノードＭ−ｉの現在位置ｘｉ（ｔ）を通過する衝突予想領域ＲＬの接線とが接する点を、接点ｐ１，ｐ２とする。無線ノードＭ−ｉの現在位置ｘｉ（ｔ）から接点ｐ１に向かうベクトルをベクトルＴ１とする。無線ノードＭ−ｉの現在位置ｘｉ（ｔ）から接点ｐ２に向かうベクトルをベクトルＴ２とする。近傍ノードＭ−ｊの現在位置ｘｊ（ｔ）から接点ｐ１に向かうベクトルをベクトルＰ１とする。近傍ノードＭ−ｊの現在位置ｘｊ（ｔ）から接点ｐ２に向かうベクトルをベクトルＰ２とする。
【０１１９】
衝突抑制部１１１は、以下の条件（Ａ）及び条件（Ｂ）のいずれか一方が満たされる場合、無線ノードＭ−ｉが近傍ノードＭ−ｊに衝突する虞が非常に高いと判断し、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）を修正する。
【０１２０】
条件（Ａ）：無線ノードＭ−ｉの現在位置ｘｉ（ｔ）から無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）に向かうベクトルが、ベクトルＰ１又はベクトルＰ２と交差する場合。
条件（Ｂ）：無線ノードＭ−ｉの現在位置ｘｉ（ｔ）から無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）に向かうベクトルが、ベクトルＰ１及びベクトルＰ２の両者と交差せず、かつ、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）が、衝突予想領域ＲＬ内に存在する場合。
【０１２１】
条件（Ａ）及び条件（Ｂ）の両者が満たされない場合、衝突抑制部１１１は、ステップＳ１０９で生成された無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）を修正しない。
【０１２２】
（条件（Ａ）に該当する場合）
図９において、無線ノードＭ−ｉの現在位置ｘｉ（ｔ）から無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）に向かうベクトルが、ベクトルＮ１，Ｎ２，Ｎ３である場合、条件（Ａ）に該当する。
【０１２３】
近傍ノードＭ−ｊが、ベクトルＰ１，Ｐ２を基準にして無線ノードＭ−ｉの位置する方向と反対方向に移動する場合、近傍ノードＭ−ｊの移動後の位置は、ベクトルＰ１と、ベクトルＰ２と、衝突予想領域ＲＬの円弧ＲＡ１により囲まれる領域の中である。円弧ＲＡ１は、衝突予想領域ＲＬの外周を接点ｐ１，ｐ２により分割することにより形成される２つの円弧のうち、近傍ノードＭ−ｊの現在位置ｘｊ（ｔ）を基準にして、無線ノードＭ−ｉの現在位置ｘｉ（ｔ）の反対側に位置している。この場合、無線ノードＭ−ｉが、現在位置ｘｉ（ｔ）からベクトルＮ１，Ｎ２，Ｎ３が指し示す位置に移動することにより、近傍ノードＭ−ｊに衝突する可能性が高くなる。
【０１２４】
図１０及び図１１は、条件（Ａ）に該当する場合における、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）の修正位置を示す図である。
【０１２５】
図１０において、ベクトルＮ２は、無線ノードＭ−ｉの現在位置ｘｉ（ｔ）から無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）に向かうベクトルであり、ベクトルＰ１と交差する。条件（Ａ）に該当するため、衝突抑制部１１１は、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）が修正される。
【０１２６】
具体的には、図１０に示すように、ベクトルＮ２がベクトルＰ１と交差する場合、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）は、接点ｐ１に修正される。つまり、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）は、下記式（８）に従って修正される。
【０１２７】
【数８】
2018198007.tif 000010
【０１２８】
式（８）において、Ｔ１は、無線ノードＭ−ｉの現在位置ｘｉ（ｔ）から接点ｐ１に向かうベクトルをベクトルである。ｐ１は、図１０に示す接点ｐ１の位置である。また、式（８）における演算子ｃｒｏｓｓは、下記式（９）に示す演算を表す。
【０１２９】
【数９】
2018198007.tif 000011
【０１３０】
ベクトルＮ２がベクトルＰ１と交差する場合、衝突抑制部１１１は、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）が接点ｐ２よりも接点ｐ１に近いため、新たな位置ｘｉ（ｔ＋１）を接点ｐ１の位置に修正する。この結果、ベクトルＶｘｉの終端位置（ｘｉ（ｔ＋１））を衝突予想領域ＲＬの外周よりも内側に位置しないため、無線ノードＭ−ｉが近傍ノードＭ−ｊに衝突することを回避することができる。また、衝突抑制部１１１は、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ）を式（８）に従って修正することにより、無線ノードＭ−ｉが局所最良ノードから遠ざかる方向に移動させることなく、無線ノードＭ−ｉと近傍ノードＭ−ｊとの衝突を回避することができる。
【０１３１】
一方、ベクトルＮ３が、図１１に示すようにベクトルＰ２と交差する場合、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）は、接点ｐ２に修正される。つまり、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）は、下記式（１０）に従って修正される。
【０１３２】
【数１０】
2018198007.tif 000012
【０１３３】
式（１０）において、Ｔ２は、無線ノードＭ−ｉの現在位置ｘｉ（ｔ）から接点ｐ１に向かうベクトルである。ｐ２は、図１１に示す接点ｐ２の位置である。
【０１３４】
ベクトルＮ２がベクトルＰ２と交差する場合、衝突抑制部１１１は、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）が接点ｐ１よりも接点ｐ２に近いため、新たな位置ｘｉ（ｔ＋１）を接点ｐ２の位置に修正する。この結果、ベクトルＮ２の終端位置（ｘｉ（ｔ＋１））が衝突予想領域ＲＬの外周よりも内側に位置しないため、無線ノードＭ−ｉが近傍ノードＭ−ｊに衝突することを回避することができる。また、衝突抑制部１１１は、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）を式（１０）に従って修正することにより、無線ノードＭ−ｉを局所最良ノードから遠ざかる方向に移動させることなく、無線ノードＭ−ｉと近傍ノードＭ−ｊとの衝突を回避することができる。
【０１３５】
（条件（Ｂ）に該当する場合）
図９において、無線ノードＭ−ｉの現在位置ｘｉ（ｔ）から無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）に向かうベクトルが、ベクトルＮ４，Ｎ５である場合、条件（Ｂ）に該当する。
【０１３６】
近傍ノードＭ−ｊが、自己の現在位置ｘｊ（ｔ）を基準にして、無線ノードＭ−ｉの現在位置ｘｉ（ｔ）に近づくように移動する場合、近傍ノードＭ−ｊは、自己の現在位置ｘｊ（ｔ）から、ベクトルＰ１、ベクトルＰ２と、衝突予想領域ＲＬの円弧ＲＡ２により囲まれる領域の中に移動する。円弧ＲＡ２は、衝突予想領域ＲＬの外周を接点ｐ１，ｐ２により分割することにより形成される２つの円弧のうち、近傍ノードＭ−ｊの現在位置ｘｊ（ｔ）を基準にして、無線ノードＭ−ｉの現在位置ｘｉ（ｔ）側に位置する円弧である。この場合、無線ノードＭ−ｉは、現在位置ｘｉ（ｔ）からベクトルＮ４，Ｎ５が指し示す位置に移動することにより、近傍ノードＭ−ｊに衝突する可能性が高くなる。
【０１３７】
図１２は、条件（Ｂ）に該当する場合における、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）の修正位置を示す図である。条件（Ｂ）に該当する場合、衝突抑制部１１１は、図１２に示すように、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）を、衝突予想領域ＲＬの外周の円弧ＲＡ２上の位置に修正する。
【０１３８】
具体的には、近傍ノードＭ−ｊの現在位置ｘｊ（ｔ）から、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）に向かうベクトルをベクトルＫとした場合、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）は、衝突予想領域ＲＬの外周の円弧ＲＡ２とベクトルＫを仮想的に延長した直線ＬＫとの交点ｐ３に修正される。
【０１３９】
つまり、条件（Ｂ）に該当する場合、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）は、下記の式（１１）に従って修正される。
【０１４０】
【数１１】
2018198007.tif 000013
【０１４１】
式（１１）において、Ｖｋは、無線ノードＭ−ｉの現在位置ｘｉ（ｔ）から無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）に向かうベクトルＶｋ（図１３参照）である。Ｌは、衝突予想領域ＲＬの半径である。
【０１４２】
条件（Ｂ）に該当する場合、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）を近傍ノードＭ−ｊの移動可能範囲内に入らない円弧ＲＡ２上の交点ｐ３の位置に修正することにより、無線ノードＭ−ｉが近傍ノードＭ−ｊと衝突することを回避することができる。また、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）を衝突予想領域の中に入らない円弧ＲＡ２上の交点ｐ３の位置に修正することにより、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）の変位量を小さくすることができる。
【０１４３】
つまり、衝突抑制部１１１は、無線ノードＭ−ｉの新たな位置ｘｉ（ｔ）を式（１１）に従って修正することにより、無線ノードＭ−ｉが局所最良ノードから遠ざかる方向に移動させることなく、無線ノードＭ−ｉと近傍ノードＭ−ｊとの衝突を回避することができる。
【０１４４】
なお、上記では、衝突抑制部１１１が、条件（Ａ）が満たされる場合、式（８）又は式（１０）に従って無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）を修正し、条件（Ｂ）が満たされる場合、式（１１）に従って新たな位置ｘｉ（ｔ＋１）を修正する例を説明したが、これに限られない。
【０１４５】
衝突抑制部１１１は、条件（Ａ）又は条件（Ｂ）が満たされる場合、下記の第１修正条件及び第２修正条件を満たすように無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）を修正すればよい。すなわち、第１の修正条件は、修正された無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）が衝突予想領域ＲＬ内に存在しないことである。第２修正条件は、修正された無線ノードＭ−ｉの新たな位置ｘｉ（ｔ＋１）から局所最良ノードの現在位置までの距離が、無線ノードＭ−ｉの現在位置ｘｉ（ｔ）から局所最良ノードの現在位置までの距離よりも増加しないことである。
【０１４６】
これにより、無線ノードＭ−ｉが局所最良ノードに向かって移動する場合において、無線ノードＭ−ｉを局所最良ノードから離れる方向に移動させることなく、無線ノードＭ−ｉと近傍ノードとの衝突を回避することができる。
【０１４７】
［２．１０．終了判断］
無線ノードＭ−ｉは、自己の位置ｘｉ（ｔ）の更新回数が予め設定された終了判断値を超えた場合、終了条件を満たしたと判断する（ステップＳ１１０においてＹｅｓ）。この場合、無線ノードＭ−ｉは、目的ノードを探索するための位置計算を終了する。無線ノードＭ−ｉは、位置計算を終了した後に、初期位置に戻る。
【０１４８】
無線ノードＭ−ｉは、自己の位置ｘｉ（ｔ）の更新回数が予め設定された終了判断値を超えていない場合、終了条件を満たしていないと判断する（ステップＳ１１０においてＮｏ）。この場合、無線ノードＭ−ｉは、自己の位置ｘｉ（ｔ）を更新するために、ステップＳ１０２に戻る。
【０１４９】
なお、無線ノードＭ−ｉは、全ての目的ノードに到達した場合に終了条件を満たしたと判断してもよい。あるいは、無線ノードＭ−ｉは、自己の位置ｘｉ（ｔ）の更新を開始してから所定時間が経過した場合に、終了条件を満たしたと判断してもよい。
【０１５０】
［２．１１．忘却度Ｄによる効果］
以下、忘却度Ｄを用いることにより、無線ノードＭ−１が、一の目的ノードに到達した後に他の目的ノードへの移動を開始できる理由を説明する。説明を簡単にするために、無線ノードＭ−１〜Ｍ−２及び目的ノードＤ−１〜Ｄ−２以外のノードを考慮せず、群れ度合いを考慮しない。
【０１５１】
図１３は、無線ノードＭ−１〜Ｍ−２及び目的ノードＤ−１〜Ｄ−２の配置の一例を示す図である。
【０１５２】
図１３を参照して、無線ノードＭ−１，Ｍ−２は、それぞれ以下の条件を満たしている。無線ノードＭ−１は、目的ノードＤ−２よりも目的ノードＤ−１の近くに位置しており、目的ノードＤ−１に到達している。無線ノードＭ−２は、無線ノードＭ−１の近傍ノードであり、目的ノードＤ−１よりも目的ノードＤ−２に近くに位置している。また、無線ノードＭ−１から目的ノードＤ−１までの距離ＬＭ１は、無線ノードＭ−２から目的ノードＤ−２までの距離ＬＭ２よりも短い。
【０１５３】
上記の条件が満たされている場合、無線ノードＭ−１〜Ｍ−２の評価値の中で、最小の評価値は、無線ノードＭ−１の評価値Ｅ１（ｔ）である。無線ノードの評価値は、当該無線ノードから目的ノードまでの距離の指標であるためである。
【０１５４】
従って、図１３に示す無線ノードＭ−１における自己最良評価値は、式（５）における忘却度Ｄを考慮しない場合、評価値Ｅ１（ｔ）である。
【０１５５】
しかし、式（５）を用いて、無線ノードＭ−１の自己最良評価値ｅｉ＿ＰＢｅｓｔ（ｔ）を取得する場合、忘却度Ｄが、無線ノードＭ−１の評価値Ｅ１（ｔ）に乗算される。忘却度Ｄが乗算された評価値Ｅ１（ｔ）が無線ノードＭ−１の自己最良評価値として取得される状態が継続した場合、忘却度Ｄが評価値Ｅ１（ｔ）に対して累積的に乗算される。忘却度Ｄは、１以上の数値であり、忘却度Ｄが乗算された評価値Ｅ１（ｔ）は、評価値Ｅ１（ｔ）よりも大きい。
【０１５６】
一方で、無線ノードＭ−１の近傍ノードである無線ノードＭ−２の評価値Ｅ２（ｔ）には、忘却度Ｄが乗算されない。忘却度Ｄが評価値Ｅ１（ｔ）に対して累積的に乗算されることにより、無線ノードＭ−１から目的ノードＤ−１までの距離ＬＭ１が、無線ノードＭ−２から目的ノードＤ−２までの距離ＬＭ１よりも短いにも関わらず、無線ノードＭ−２の評価値Ｅ２（ｔ）が、忘却度Ｄが累積的に乗算された無線ノードＭ−１の評価値Ｅ１（ｔ）よりも小さくなる。この結果、評価値Ｅ２（ｔ）が、無線ノードＭ−１の自己最良評価値ｅｉ＿ＰＢｅｓｔ（ｔ）に決定される。
【０１５７】
無線ノードＭ−２の評価値Ｅ２（ｔ）が、無線ノードＭ−１の自己最良評価値ｅｉ＿ＰＢｅｓｔ（ｔ）に決定された場合、無線ノードＭ−１の自己最良位置は、無線ノードＭ−２の評価値Ｅ２（ｔ）に対応する無線ノードＭ−２の位置ｘ２（ｔ）に設定される。
【０１５８】
無線ノードＭ−１の速度ｖｉ（ｔ）を更新する式（６）において、右辺第２項のｘｉ＿ＰＢｅｓｔ（ｔ）が、無線ノードＭ−２の位置ｘ２（ｔ）に設定される。右辺第３稿のｘｉ＿ＬＢｅｓｔ（ｔ）は、無線ノードＭ−１の近傍ノードの中で、最小評価値を有する近傍ノードの位置であるため、無線ノードＭ−２の位置ｘ２（ｔ）に設定される。従って、式（６）により計算される無線ノードＭ−１の速度ベクトルｖｉ（ｔ＋１）は、無線ノードＭ−２に向かうように設定され、無線ノードＭ−１は、到達した目的ノードＤ−１から、目的ノードＤ−２に向かって移動を開始する。
【０１５９】
このように、忘却度Ｄを用いて、無線ノードＭ−ｉの自己最良評価値ｅｉ＿ＰＢｅｓｔ（ｔ）を決定することにより、無線ノードＭ−ｉは、一の目的ノードに到達した後に、他の目的ノードに向かって移動することが可能となる。
【０１６０】
また、図１３において、無線ノードＭ−３が無線ノードＭ−１の近傍ノードであり、無線ノードＭ−１とともに目的ノードＤ−１に到達した場合を想定する。この場合、無線ノードＭ−３の評価値Ｅ３（ｔ）が、無線ノードＭ−１の自己最良評価値として連続して設定されることが考えられる。この場合であっても、無線ノードＭ−３の評価値Ｅ３（ｔ）に忘却度Ｄが累積的に乗算されるため、無線ノードＭ−２の評価値Ｅ２（ｔ）が、無線ノードＭ−１の自己最良評価値に最終的に設定される。
【０１６１】
従って、無線ノードＭ−３が無線ノードＭ−１とともに目的ノードＤ−１に到達した場合であっても、無線ノードＭ−１は、目的ノードＤ−１から目的ノードＤ−３に向かって移動することが可能である。
【０１６２】
［３．シミュレーション評価］
本実施の形態で説明した位置計算方法を用いて、２次元空間に配置された無線ノードの動きをシミュレーションし、そのシミュレーション結果を評価した。
【０１６３】
シミュレーション条件は、以下の通りである。仮想的な２次元のフィールドとして、正方形の空間を想定した。１００個の無線ノードを正方形内の空間における一の頂点の近傍にランダムに配置し、１００個の目的ノードを正方形内の空間に配置した。無線ノードの位置計算の繰り返し回数ｔを５００に設定した。無線ノードの慣性重量を０．８に設定した。認知的パラメータｃ１を０．００５に設定した。社会的パラメータｃ２を０．０２５に設定した。無線ノードが他の無線ノードと通信可能な距離を０．３に設定した。無線ノードの移動量の上限を０．８に設定した。無線ノードが目的ノードを中心として半径０．０５の円の中に入った場合、無線ノードが目的ノードに到達したと判定した。
【０１６４】
比較のために、従来のＭＯＰＳＯに基づく位置計算方法と、ランダムウォークに基づく位置計算方法を用いて、２次元空間に配置された無線ノードの動きをシミュレーションした。そして、これら２つのシミュレーション結果を比較した。
【０１６５】
図１４は、シミュレーションにより得られた、無線ノード数と累積到達数との関係を示す図である。図１３に示すように、本実施の形態に係る位置計算方法は、無線ノードの数を３０個以上とすることにより、無線ノードを全ての目的ノードに到達させることが可能である。つまり、本実施の形態に係る位置計算方法は、無線ノードの位置計算を行う際に、忘却度Ｄを考慮した自己最良位置を用いることにより、無線ノードが一の目的ノードに到達した後も他の無線ノードに向かって移動できることを確認ができた。つまり、本実施の形態に係る位置計算方法は、忘却度Ｄを用いることにより、無線ノードを継続的に移動させることが可能であることを確認できた。
【０１６６】
一方で、従来のＭＯＰＳＯに基づく位置計算方法は、無線ノードの数の増加に伴って累積補足数が増加する傾向にあるが、１００個の無線ノードを用いても、全ての目的ノードに無線ノードを到達させることができなかった。従来のＭＯＰＳＯを用いた位置計算方法では、無線ノードは、１つの目的ノードに到達した後に他の目的ノードに移動しないために、無線ノードが全ての目的ノードに到達することができないと考えられる。
【０１６７】
図１５は、シミュレーションにより得られた、無線ノードの数と、無線ノード同士の衝突回数との関係を示す図である。図１５に示すように、本実施の形態に係る位置計算方法及び従来のＭＯＰＳＯに基づく位置計算方法は、無線ノードの数が増加するにつれて、累積衝突回数が増加する。しかし、本実施の形態に係る位置計算方法は、従来のＭＯＰＳＯに基づく位置計算方法に比べて、無線ノードの衝突回数を５分の１以下に削減することができている。
【０１６８】
つまり、本実施の形態に係る位置計算方法は、群れ度合いを考慮して評価値を決定し、衝突抑制制御を用いて無線ノードの位置を修正することにより、無線ノード同士の衝突を回避し、無線ノードを継続的に移動させることが可能であることを確認できた。
【０１６９】
以上説明したように、無線ノードＭ−ｉは、自己の位置ｘｉ（ｔ）を更新して新たな位置ｘｉ（ｔ＋１）を生成した場合、自己の位置ｘｉ（ｔ）と、自己の新たな位置ｘｉ（ｔ＋１）と、近傍ノードＭ−ｊの位置ｘｊ（ｔ＋１）とに基づいて、自己の新たな位置ｘｉ（ｔ＋１）が近傍ノードＭ−ｊの位置ｘｊ（ｔ＋１）を中心とした衝突予想領域の範囲内に張らないように自己の新たな位置ｘｉ（ｔ＋１）を修正する。これにより、無線ノード同士の衝突を回避することができるため、無線ノードＭ−１〜Ｍ−ｋを用いたモニタリングを継続的に行うことができる。
【０１７０】
また、無線ノードＭ−ｉは、無線ノードＭ−ｉと近傍ノードＭ−ｊとの間の空間に位置する無線ノードの数に基づいて、近傍ノードＭ−ｊについての群れ度合いＳｉｊ（ｔ）を計算し、計算した群れ度合いＳｉｊ（ｔ）を用いて近傍ノードＭ−ｊの評価値Ｅｊ（ｔ）を修正する。これにより、無線ノードＭ−ｉが、他の無線ノードが密集している空間に向かって移動することを抑制することができる。この結果、無線ノード同士の衝突を回避することができるため、無線ノードＭ−１〜Ｍ−ｋを用いたモニタリングを継続的に行うことができる。
【０１７１】
また、無線ノードＭ−ｉは、忘却度Ｄを自己最良評価値ｅｉ＿ＰＢｅｓｔに累積的に乗算することにより、自己の位置ｘｉ（ｔ）が自己最良評価値ｅｉ＿ＰＢｅｓｔとして連続して決定されることを抑制する。これにより、無線ノードＭ−ｉが、一の目的ノードに到達した後に、この一の目的モードの近傍に留まり続けることが抑制される。無線ノードＭ−ｉが、複数の目的ノードに到達することが可能となるため、モニタリングを継続することが可能となる。
【０１７２】
［変形例］
上記実施の形態では、無線ノードＭ−ｉが、忘却度Ｄと、群れ度合いＳｉｊ（ｔ）とを用いて自己の新たな位置ｘｉ（ｔ＋１）を計算し、計算した自己の新たな位置ｘｉ（ｔ＋１）を衝突抑制制御により修正する例を説明した。しかし、無線ノードＭ−ｉは、忘却度Ｄを用いた自己の新たな位置ｘｉ（ｔ＋１）を計算、群れ度合いＳｉｊ（ｔ）を用いた自己の新たな位置ｘｉ（ｔ＋１）の計算、計算した自己の新たな位置ｘｉ（ｔ＋１）の衝突抑制制御による修正のうちいずれか１つを実行すればよい。
【０１７３】
また、上記実施の形態に係る無線ノードＭ−ｉの各機能ブロック（各機能部）の処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記実施の形態に係る無線ノードＭ−ｉにおいて、各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置（ＣＰＵ）により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ＲＯＭなどの記憶装置に格納されており、ＲＯＭにおいて、あるいはＲＡＭに読み出されて実行される。例えば、無線ノードＭ−ｉの構成を、図１９に示すような構成とすることにより、上記実施の形態に係る無線ノードＭ−ｉの各機能ブロック（各機能部）の処理の一部または全部が実行されるものであってもよい。
【０１７４】
また、上記実施の形態の各処理をハードウェアにより実現してもよいし、ソフトウェア（ＯＳ（オペレーティングシステム）、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。）により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現してもよい。
【０１７５】
また、上記実施の形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
【０１７６】
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、大容量ＤＶＤ、次世代ＤＶＤ、半導体メモリを挙げることができる。
【０１７７】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【０１７８】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【符号の説明】
【０１７９】
Ｍ−１〜Ｍ−ｋ，Ｍ−ｉ  無線ノード
Ｄ−１〜Ｄ−ｍ  目的ノード
１０２  送受信部
１０３  広告パケット生成部
１０４  通知パケット生成部
１０５  通知パケット取得部
１０６  群れ度合い取得部
１０７  評価値計算部
１０８  忘却度設定部
１０９  最良位置取得部
１１０  位置計算部
１１１  衝突抑制部
１１２  駆動部
【図１】
2018198007.tif 000014
【図２】
2018198007.tif 000015
【図３】
2018198007.tif 000016
【図４】
2018198007.tif 000017
【図５】
2018198007.tif 000018
【図６】
2018198007.tif 000019
【図７】
2018198007.tif 000020
【図８】
2018198007.tif 000021
【図９】
2018198007.tif 000022
【図１０】
2018198007.tif 000023
【図１１】
2018198007.tif 000024
【図１２】
2018198007.tif 000025
【図１３】
2018198007.tif 000026
【図１４】
2018198007.tif 000027
【図１５】
2018198007.tif 000028
【図１６】
2018198007.tif 000029