(57)【特許請求の範囲】
【請求項１】
通信対象自律型移動ロボットと通信しながら自律して移動する自律型移動ロボットであって、
前記自律型移動ロボットを駆動する駆動部と、
第１移動距離及び第１移動方向の組み、第１速度絶対値及び第１速度方向の組み、並びに、第１加速度絶対値及び第１加速度方向の組みのいずれかを示す第１制御量で前記自律型移動ロボットを移動させる第１制御コマンドを前記駆動部に出力する制御部と、
前記自律型移動ロボットとネットワークを構成する、前記自律型移動ロボットとは異なる第１の通信対象自律型移動ロボットから送信された、前記第１の通信対象自律型移動ロボットの第１位置、第１速度、及び第１加速度のいずれかを示す第１情報を受信する通信部と、
を備え、
前記制御部は、
前記第１情報が前記通信部によって受信されなくなったことを検知した場合、既に受信された前記第１情報に基づいて前記自律型移動ロボットを移動させる、第２移動距離及び第２移動方向の組み、第２速度絶対値及び第２速度方向の組み、並びに、第２加速度絶対値及び第２加速度方向の組みのいずれかを示す第２制御量を決定し、
前記第１制御量と前記第２制御量とに基づいて、第３移動距離及び第３移動方向の組み、第３速度絶対値及び第３速度方向の組み、並びに、第３加速度絶対値及び第３加速度方向の組みのいずれかを示す第３制御量を決定し、
前記第１制御量から前記第３制御量に切り替えて前記自律型移動ロボットを移動させる第２制御コマンドを生成して前記駆動部に出力する、
自律型移動ロボット。
【請求項２】
前記第１の通信対象自律型移動ロボットは、複数の第１の通信対象自律型移動ロボットを含み、
前記通信部は、前記複数の第１の通信対象自律型移動ロボットのそれぞれから前記第１情報を受信する、
請求項１記載の自律型移動ロボット。
【請求項３】
前記通信部は、更に、前記自律型移動ロボットと前記ネットワークを構成する、前記自律型移動ロボット及び前記第１の通信対象自律型移動ロボットとは異なる第２の通信対象自律型移動ロボットから送信された、前記第２の通信対象自律型移動ロボットの第２位置、第２速度、及び第２加速度のいずれかを示す第２情報を受信し、
前記制御部は、前記第１情報が前記通信部によって受信されなくなったことを検知した場合、前記第２情報に基づいて前記第２制御量を決定する、
請求項１記載の自律型移動ロボット。
【請求項４】
前記第２の通信対象自律型移動ロボットは、複数の第２の通信対象自律型移動ロボットを含み、
前記通信部は、前記複数の第２の通信対象自律型移動ロボットのそれぞれから前記第２情報を受信する、
請求項３記載の自律型移動ロボット。
【請求項５】
前記制御部は、
前記自律型移動ロボットの現在位置を示す第３情報を取得し、
前記第１情報と前記第３情報とに基づいて前記自律型移動ロボットと前記第１の通信対象自律型移動ロボットとの距離を算出し、
前記距離に基づいて前記第２制御量を決定する、
請求項１記載の自律型移動ロボット。
【請求項６】
前記制御部は、前記距離が短いほど、前記第２移動距離、前記第２速度絶対値、又は前記第２加速度絶対値を小さくする、
請求項５記載の自律型移動ロボット。
【請求項７】
前記制御部は、前記距離が長いほど、前記第２移動距離、前記第２速度絶対値、又は前記第２加速度絶対値を小さくする、
請求項５記載の自律型移動ロボット。
【請求項８】
前記制御部は、前記第１情報が前記通信部によって受信されなくなったことを検知した場合、前記第２制御コマンドを前記駆動部に出力してから所定時間経過後に、前記第３制御量から前記第１制御量に切り替えて前記自律型移動ロボットを移動させる第３制御コマンドを前記駆動部に出力する、
請求項１記載の自律型移動ロボット。
【請求項９】
前記第１情報は、前記第１位置を含み、
前記制御部は、前記第１情報が前記通信部によって受信されなくなったことを検知した場合、前記第１位置と、前記第２制御コマンドが前記駆動部に出力された後の前記自律型移動ロボットの位置を示す第３位置との距離が所定値以下であるか否かを判断し、前記距離が所定値以下であると判断した場合、前記第３制御量から前記第１制御量に切り替えて前記自律型移動ロボットを移動させる第３制御コマンドを前記駆動部に出力する、
請求項１記載の自律型移動ロボット。
【請求項１０】
前記自律型移動ロボットは、メモリをさらに備え、
前記通信部は、更に、前記自律型移動ロボットと前記ネットワークを構成する、前記自律型移動ロボット及び前記第１の通信対象自律型移動ロボットとは異なる第２の通信対象自律型移動ロボットから送信された、前記第２の通信対象自律型移動ロボットの第２位置、第２速度、及び第２加速度のいずれかを示す第２情報を受信し、
前記メモリは、前記第１情報及び前記第２情報を含む第４情報を格納し、
前記制御部は、前記第３制御コマンドを前記駆動部に出力した時、前記メモリに格納された前記第４情報から前記第１情報を削除することによって前記第４情報を更新する、
請求項９記載の自律型移動ロボット。
【請求項１１】
前記制御部は、前記第４情報を更新したとき、前記通信部に対して、前記第４情報を前記第２の通信対象自律型移動ロボットへ送信させる、
請求項１０記載の自律型移動ロボット。
【請求項１２】
前記制御部は、前記第１情報が前記通信部によって受信されなくなったことを検知した後、前記第１情報が再度前記通信部によって受信されるようになったことを検知した場合、前記第３制御量から前記第１制御量に切り替えて前記自律型移動ロボットを移動させる第３制御コマンドを前記駆動部に出力する、
請求項１記載の自律型移動ロボット。
【請求項１３】
前記第１の通信対象自律型移動ロボットは、複数の第１の通信対象自律型移動ロボットを含み、
前記通信部は、前記複数の第１の通信対象自律型移動ロボットのそれぞれから前記第１情報を再度受信する、
請求項１２記載の自律型移動ロボット。
【請求項１４】
前記自律型移動ロボットは、前記第１情報及び前記第２情報を含む第４情報を格納するメモリをさらに備え、
前記第２の通信対象自律型移動ロボットは、前記自律型移動ロボットを示す情報と第３の通信対象自律型移動ロボットを示す情報とを含む第５情報から前記第３の通信対象自律型移動ロボットを示す情報を削除することによって前記第５情報を更新したとき、前記第５情報を前記自律型移動ロボットに送信し、
前記通信部は、前記第２の通信対象自律型移動ロボットによって送信された前記第５情報を受信し、
前記制御部は、前記メモリに格納されている前記第４情報を前記第５情報に更新する、
請求項３記載の自律型移動ロボット。
【請求項１５】
前記第３の通信対象自律型移動ロボットは、前記第１の通信対象自律型移動ロボットである、
請求項１４記載の自律型移動ロボット。
【請求項１６】
前記通信部は、更に、前記自律型移動ロボットと前記ネットワークを構成する、前記自律型移動ロボット及び前記第１の通信対象自律型移動ロボットとは異なる第２の通信対象自律型移動ロボットから送信された、前記第２の通信対象自律型移動ロボットの第２位置、第２速度、及び第２加速度のいずれかを示す第２情報を受信し、
前記制御部は、
前記第２情報に基づいて、第４移動距離及び第４移動方向の組み、第４速度絶対値及び第４速度方向の組み、並びに、第４加速度絶対値及び第４加速度方向の組みのいずれかを示す第４制御量を決定し、
前記第４制御量に基づいて前記第１制御量を更新する、
請求項１記載の自律型移動ロボット。
【請求項１７】
前記第２情報は、前記第２位置を含み、
前記制御部は、前記自律型移動ロボットの現在位置と前記第２位置とから算出された距離に基づいて、前記第４制御量を決定する、
請求項１６記載の自律型移動ロボット。
【請求項１８】
前記制御部は、前記距離が短いほど、前記第４移動距離、前記第４速度絶対値、又は前記第４加速度絶対値を小さくする、
請求項１７記載の自律型移動ロボット。
【請求項１９】
前記制御部は、前記距離が短いほど、前記第４移動距離、前記第４速度絶対値、又は前記第４加速度絶対値を大きくする、
請求項１７記載の自律型移動ロボット。
【請求項２０】
前記自律型移動ロボットは、前記自律型移動ロボットの移動経路を記憶するメモリをさらに備え、
前記制御部は、第４移動距離及び第４移動方向の組み、第４速度絶対値及び第４速度方向の組み、並びに、第４加速度絶対値及び第４加速度方向の組みのいずれかを示す第４制御量に基づいて前記第１制御量を決定し、
前記第４移動距離、前記第４速度絶対値、又は前記第４加速度絶対値は、所定値であり、
前記第４移動方向、前記第４速度方向又は前記第４加速度方向は、前記移動経路によって特定される移動方向の逆方向である、
請求項１記載の自律型移動ロボット。
【請求項２１】
通信対象自律型移動ロボットと通信しながら自律して移動する自律型移動ロボットにおける移動制御方法であって、
第１移動距離及び第１移動方向の組み、第１速度絶対値及び第１速度方向の組み、並びに、第１加速度絶対値及び第１加速度方向の組みのいずれかを示す第１制御量で前記自律型移動ロボットを移動させる第１制御コマンドを出力し、
前記自律型移動ロボットとネットワークを構成する、前記自律型移動ロボットとは異なる第１の通信対象自律型移動ロボットから送信された、前記第１の通信対象自律型移動ロボットの第１位置、第１速度、及び第１加速度のいずれかを示す第１情報を受信し、
前記第１情報が前記通信部によって受信されなくなったことを検知した場合、既に受信された前記第１情報に基づいて前記自律型移動ロボットを移動させる、第２移動距離及び第２移動方向の組み、第２速度絶対値及び第２速度方向の組み、並びに、第２加速度絶対値及び第２加速度方向のいずれかを示す第２制御量を決定し、
前記第１制御量と前記第２制御量に基づいて、第３移動距離及び第３移動方向の組み、第３速度絶対値及び第３速度方向の組み、並びに、第３加速度絶対値及び第３加速度方向の組みのいずれかを示す第３制御量を決定し、
前記第１制御量から前記第３制御量に切り替えて前記自律型移動ロボットを移動させる第２制御コマンドを生成して出力する、
移動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、自律して移動する自律型移動ロボット及び当該自律型移動ロボットの移動を制御する移動制御方法に関するものである。
【背景技術】
【０００２】
アドホックネットワークを構成する複数の移動体間の一部又は全部の通信が切断された時の移動体の移動制御方法に関する従来技術としては、アドホックネットワークとの通信が切断された際に、アドホックネットワークとの通信が切断された移動体が、今まで移動していた方向と反対の方向、切断前に通信していた別の移動体の位置に向かう方向、移動体群全体の中心位置に向かう方向、又は切断前の自分以外のノードの位置の変化に基づいて通信復旧可能と推測した位置に向かう方向に移動する技術が開示されている（例えば、特許文献１参照）。
【０００３】
また、特許文献１には、アドホックネットワークとの通信が切断された際に、移動体群全体が、移動体群全体の位置の中心の方向に移動する技術が開示されている。
【０００４】
また、特許文献１には、アドホックネットワークとの通信が切断された際に、アドホックネットワークとの通信が切断された移動体の切断前の位置（切断位置）に移動可能な移動体が一つ選択され、選択された移動体が切断位置の方向に移動する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１６５９６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前記従来の構成では、通信の復旧のために移動する移動体と、通信の復旧のために移動しない移動体との連携がなされていないので、通信が復旧しないばかりか、通信の切断が更に増大する恐れがあるという課題を有している。
【０００７】
本開示は、前記従来の課題を解決するもので、自律型移動ロボットと通信対象自律型移動ロボットとが結果的に連携して移動し、通信対象自律型移動ロボットとの通信の復旧と自律型移動ロボットの本来の目的のための移動とを両立させることができる自律型移動ロボット及び移動制御方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
本開示の一態様に係る自律型移動ロボットは、通信対象自律型移動ロボットと通信しながら自律して移動する自律型移動ロボットであって、前記自律型移動ロボットを駆動する駆動部と、第１移動距離及び第１移動方向の組み、第１速度絶対値及び第１速度方向の組み、並びに、第１加速度絶対値及び第１加速度方向の組みのいずれかを示す第１制御量で前記自律型移動ロボットを移動させる第１制御コマンドを前記駆動部に出力する制御部と、前記自律型移動ロボットとネットワークを構成する、前記自律型移動ロボットとは異なる第１の通信対象自律型移動ロボットから送信された、前記第１の通信対象自律型移動ロボットの第１位置、第１速度、及び第１加速度のいずれかを示す第１情報を受信する通信部と、を備え、前記制御部は、前記第１情報が前記通信部によって受信されなくなったことを検知した場合、既に受信された前記第１情報に基づいて前記自律型移動ロボットを移動させる、第２移動距離及び第２移動方向の組み、第２速度絶対値及び第２速度方向の組み、並びに、第２加速度絶対値及び第２加速度方向の組みのいずれかを示す第２制御量を決定し、前記第１制御量と前記第２制御量とに基づいて、第３移動距離及び第３移動方向の組み、第３速度絶対値及び第３速度方向の組み、並びに、第３加速度絶対値及び第３加速度方向の組みのいずれかを示す第３制御量を決定し、前記第１制御量から前記第３制御量に切り替えて前記自律型移動ロボットを移動させる第２制御コマンドを生成して前記駆動部に出力する。
【発明の効果】
【０００９】
本開示によれば、自律型移動ロボットと通信対象自律型移動ロボットとが結果的に連携して移動し、通信対象自律型移動ロボットとの通信の復旧と自律型移動ロボットの本来の目的のための移動とを両立させることができる。
【図面の簡単な説明】
【００１０】
【図１】複数の移動体によって構成されるアドホックネットワークの全体像の一例を示す概念図である。
【図２】アドホックネットワークにおいて、１の移動体が故障した場合の、複数の移動体によって構成されるアドホックネットワーク群の全体像の一例を示す概念図である。
【図３】アドホックネットワークにおいて、第１の移動体及び第２の移動体の両者と、第３の移動体との直接通信が不可能になった場合の、複数の移動体によって構成されるアドホックネットワーク群の全体像の一例を示す概念図である。
【図４】アドホックネットワークにおいて、第１の移動体が第２の移動体から離れすぎて、第１の移動体と第２の移動体との直接通信が不可能になった場合の、複数の移動体によって構成されるアドホックネットワーク群の全体像の一例を示す概念図である。
【図５】アドホックネットワーク群において、特許文献１で開示されている第４の技術を適用した場合の、複数の移動体によって構成されるアドホックネットワーク群の全体像の一例を示す概念図である。
【図６】本開示の実施の形態１における、複数の移動体によって構成されるアドホックネットワークの全体像を示す概念図である。
【図７】本開示の実施の形態１における移動体の概観図である。
【図８】本開示の実施の形態１における移動体の機能構成を示すブロック図である。
【図９】本開示の実施の形態１における、移動体の記憶部に記憶される情報の一例を示す図である。
【図１０】本開示の実施の形態１における、移動体の記憶部に記憶する自移動体情報の一例を示す図である。
【図１１】本開示の実施の形態１における、移動体の記憶部に記憶する他移動体情報の一例を示す図である。
【図１２】本開示の実施の形態１における、移動体の移動制御の全体動作を示すフローチャートである。
【図１３】本開示の実施の形態１における、基本移動ベクトル群の一例を示す概念図である。
【図１４】本開示の実施の形態１における、１の移動体が故障した場合の、既知群に属する移動体と不明群に属する移動体とを示す概念図である。
【図１５】本開示の実施の形態１における、１の移動体が故障した場合の、既知群に属する移動体と不明群に属する移動体とを示す概念図である。
【図１６】本開示の実施の形態１において、１の移動体が故障した場合の、他の移動体のそれぞれにおける、目標位置の決定方法と、当該決定方法によって決定された目標位置との一例を示す図である。
【図１７】本開示の実施の形態１において、１の移動体が故障した場合の、他の移動体のそれぞれにおける、目標位置の決定方法と、当該決定方法によって決定された目標位置との一例を示す図である。
【図１８】本開示の実施の形態１において、１の移動体が故障した場合の、いて、１の移動体のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。
【図１９】本開示の実施の形態１において、１の移動体が故障した場合の、他の移動体のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。
【図２０】本開示の実施の形態１において、１の移動体が故障した場合の、他の移動体における、実移動ベクトルの決定方法の一例を示す概念図である。
【図２１】本開示の実施の形態１において、１の移動体が故障した場合の、他の移動体における、実移動ベクトルの一例を示す概念図である。
【図２２】本開示の実施の形態１における、図３に示す状況での、移動体の分断復旧ベクトルの一例を示す概念図である。
【図２３】本開示の実施の形態１における、図３に示す状況での、移動体の分断復旧ベクトルの一例を示す概念図である。
【図２４】本開示の実施の形態１における、図３に示す状況での、移動体の分断復旧ベクトルの一例を示す概念図である。
【図２５】本開示の実施の形態１における、図３に示す状況での、移動体の実移動ベクトルの一例を示す概念図である。
【図２６】本開示の実施の形態１において、図４に示す状況の場合に、移動体のそれぞれが、どのような分断復旧ベクトルを決定するかの一例を示す概念図である。
【図２７】本開示の実施の形態１において、図４に示す状況の場合に、移動体が、どのような分断復旧ベクトルを決定するかの一例を示す概念図である。
【図２８】本開示の実施の形態１における、図４に示す状況での、移動体の実移動ベクトルの一例を示す概念図である。
【図２９】本開示の実施の形態２における、移動体の移動制御の全体動作を示すフローチャートである。
【図３０】本開示の実施の形態２において、１の移動体が故障した場合の、他の移動体のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。
【図３１】本開示の実施の形態２において、１の移動体が故障した場合の、他の移動体のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。
【図３２】本開示の実施の形態２において、１の移動体が故障した場合の、他の移動体における、実移動ベクトルの決定方法の一例を示す概念図である。
【図３３】本開示の実施の形態２において、１の移動体が故障した場合の、他の移動体における、実移動ベクトルの一例を示す概念図である。
【図３４】本開示の実施の形態２における、図３に示す状況での、移動体の分断復旧ベクトルの一例を示す概念図である。
【図３５】本開示の実施の形態２における、図３に示す状況での、移動体の分断復旧ベクトルの一例を示す概念図である。
【図３６】本開示の実施の形態２における、図３に示す状況での、移動体の分断復旧ベクトルの一例を示す概念図である。
【図３７】本開示の実施の形態２における、図３に示す状況での、移動体の実移動ベクトルの一例を示す概念図である。
【図３８】本開示の実施の形態２において、図４に示す状況の場合に、複数の移動体のそれぞれが、どのような分断復旧ベクトルを決定するかの一例を示す概念図である。
【図３９】本開示の実施の形態２において、図４に示す状況の場合に、移動体が、どのような分断復旧ベクトルを決定するかの一例を示す概念図である。
【図４０】本開示の実施の形態２における、図４に示す状況での、複数の移動体の実移動ベクトルの一例を示す概念図である。
【図４１】本開示の実施の形態３における、移動体の記憶部に記憶される情報の一例を示す図である。
【図４２】本開示の実施の形態３における、移動体の記憶部に記憶する自移動体情報の一例を示す図である。
【図４３】本開示の実施の形態３における、移動体の記憶部に記憶する他移動体情報の一例を示す図である。
【図４４】本開示の実施の形態３における、移動体の移動制御の全体動作を示す第１のフローチャートである。
【図４５】本開示の実施の形態３における、移動体の移動制御の全体動作を示す第２のフローチャートである。
【図４６】本開示の実施の形態３において、１の移動体が故障した場合の、他の移動体における、反発ベクトル、接近ベクトル及び通信維持移動ベクトルの決定方法を説明するための概念図である。
【図４７】本開示の実施の形態３において、１の移動体が故障した場合の、他の移動体における、反発ベクトル、接近ベクトル及び通信維持移動ベクトルの決定方法を説明するための概念図である。
【図４８】本開示の実施の形態３において、１の移動体が故障した場合の、他の移動体における、反発ベクトル、接近ベクトル及び通信維持移動ベクトルの決定方法を説明するための概念図である。
【図４９】本開示の実施の形態３において、１の移動体が故障した場合の、他の移動体における、反発ベクトル、接近ベクトル及び通信維持移動ベクトルの決定方法を説明するための概念図である。
【図５０】本開示の実施の形態３において、１の移動体が故障した場合の、他の移動体における、反発ベクトル、接近ベクトル及び通信維持移動ベクトルの決定方法を説明するための概念図である。
【図５１】本開示の実施の形態３において、１の移動体が故障した場合の、他の移動体における、反発ベクトル、接近ベクトル及び通信維持移動ベクトルの決定方法を説明するための概念図である。
【図５２】本開示の実施の形態３における、第２基本移動ベクトル群の一例を示す概念図である。
【図５３】本開示の実施の形態３において、１の移動体が故障した場合の、複数の他の移動体のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。
【図５４】本開示の実施の形態３において、１の移動体が故障した場合の、複数の他の移動体のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。
【図５５】本開示の実施の形態３において、１の移動体が故障した場合の、他の移動体における、実移動ベクトルの決定方法の一例を示す概念図である。
【図５６】本開示の実施の形態３において、１の移動体が故障した場合の、複数の他の移動体における、実移動ベクトルの一例を示す概念図である。
【図５７】本開示の実施の形態３における、図３に示す状況での、複数の移動体の分断復旧ベクトルの一例を示す概念図である。
【図５８】本開示の実施の形態３における、図３に示す状況での、移動体の分断復旧ベクトルの一例を示す概念図である。
【図５９】本開示の実施の形態３における、図３に示す状況での、複数の移動体の分断復旧ベクトルの一例を示す概念図である。
【図６０】本開示の実施の形態３における、図３に示す状況での、複数の移動体の実移動ベクトルの一例を示す概念図である。
【図６１】本開示の実施の形態３において、図４に示す状況の場合に、複数の移動体のそれぞれが、どのような分断復旧ベクトルを決定するかの一例を示す概念図である。
【図６２】本開示の実施の形態３における、図４に示す状況での、移動体の分断復旧ベクトルの一例を示す概念図である。
【図６３】本開示の実施の形態３における、図４に示す状況での、複数の移動体の実移動ベクトルの一例を示す概念図である。
【図６４】本開示の実施の形態４における、移動体の記憶部に記憶される情報の一例を示す図である。
【図６５】本開示の実施の形態４における、移動体の記憶部に記憶する自移動体情報の一例を示す図である。
【図６６】本開示の実施の形態４における、移動体の移動制御の全体動作を示すフローチャートである。
【図６７】本開示の実施の形態４において、１の移動体が故障した場合の、他の移動体における、通信維持移動ベクトルの決定方法を説明するための概念図である。
【図６８】本開示の実施の形態４において、１の移動体が故障した場合の、他の移動体における、通信維持移動ベクトルの決定方法を説明するための概念図である。
【図６９】本開示の実施の形態４において、１の移動体が故障した場合の、他の移動体における、通信維持移動ベクトルの決定方法を説明するための概念図である。
【図７０】本開示の実施の形態４において、１の移動体が故障した場合の、他の移動体における、通信維持移動ベクトルの決定方法を説明するための概念図である。
【図７１】本開示の実施の形態４において、１の移動体が故障した場合の、他の移動体における、通信維持移動ベクトルの決定方法を説明するための概念図である。
【図７２】本開示の実施の形態４において、１の移動体が故障した場合の、他の移動体における、通信維持移動ベクトルの決定方法を説明するための概念図である。
【図７３】本開示の実施の形態４における、第２基本移動ベクトル群の一例を示す概念図である。
【図７４】本開示の実施の形態４において、１の移動体が故障した場合の、複数の他の移動体のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。
【図７５】本開示の実施の形態４において、１の移動体が故障した場合の、複数の他の移動体のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。
【図７６】本開示の実施の形態４において、１の移動体が故障した場合の、他の移動体における、実移動ベクトルの決定方法を説明するための概念図である。
【図７７】本開示の実施の形態４において、１の移動体が故障した場合の、複数の他の移動体における、実移動ベクトルの一例を示す概念図である。
【図７８】本開示の実施の形態４における、図３に示す状況での、複数の移動体の分断復旧ベクトルの一例を示す概念図である。
【図７９】本開示の実施の形態４における、図３に示す状況での、移動体の分断復旧ベクトルの一例を示す概念図である。
【図８０】本開示の実施の形態４における、図３に示す状況での、複数の移動体の分断復旧ベクトルの一例を示す概念図である。
【図８１】本開示の実施の形態４における、図３に示す状況での、複数の移動体２０１−２０７の実移動ベクトルの一例を示す概念図である。
【図８２】本開示の実施の形態４において、図４に示す状況の場合に、複数の移動体のそれぞれが、どのような分断復旧ベクトルを決定するかの一例を示す概念図である。
【図８３】本開示の実施の形態４における、図４に示す状況での、移動体の分断復旧ベクトルの一例を示す概念図である。
【図８４】本開示の実施の形態４における、図４に示す状況での、複数の移動体の実移動ベクトルの一例を示す概念図である。
【発明を実施するための形態】
【００１１】
（本開示の基礎となった知見）
通信機能を有する複数の移動体が、互いに自分以外の複数の移動体間の通信を中継することによって、直接的又は間接的に通信し合う、アドホックネットワークの技術が知られている（例えば、特許文献１参照）。
【００１２】
移動体が構成するアドホックネットワークでは、アドホックネットワークを構成する複数の移動体の一部が故障したり、他の移動体と離れ過ぎたりすることによって、アドホックネットワークを構成する複数の移動体の一部又は全部の移動体間の通信が切断され、アドホックネットワークが分断されてしまうことがある。
【００１３】
このような場合に、アドホックネットワークの分断を復旧させるための技術が、特許文献１などで開示されている。
【００１４】
例えば、特許文献１には、アドホックネットワークとの通信が切断された際に、アドホックネットワークとの通信が切断された移動体が、今まで移動していた方向と反対の方向、切断前に通信していた別の移動体の位置に向かう方向、移動体群全体の中心位置に向かう方向、又は切断前の自分以外のノードの位置の変化に基づいていて通信復旧可能と推測した位置に向かう方向に移動する第１の技術が開示されている。
【００１５】
しかしながら、特許文献１で開示されているこれらの第１の技術は、全て、アドホックネットワークとの通信が切断された移動体が一つだけである場合にのみ適用可能な技術であり、アドホックネットワークとの通信が切断された移動体が二つ以上である場合については、何の示唆もされておらず、そのままでは適用することができない。
【００１６】
例えば、図１のような状況を想定する。
【００１７】
図１は、複数の移動体によって構成されるアドホックネットワークの全体像の一例を示す概念図である。
【００１８】
図１において、アドホックネットワーク２は、通信機能を有する移動体２０１−２０７から構成されている。移動体を示す円の間に引かれている実線は、それらの移動体間で直接通信が可能であることを示している。以下、本明細書でアドホックネットワークを図示する際には、移動体を円で図示し、移動体間で直接通信が可能であることを、それらの円の間に引かれた実線で示すこととする。
【００１９】
移動体２０１と移動体２０２とは互いに直接通信可能であり、移動体２０２と移動体２０３とは互いに直接通信可能であり、移動体２０２と移動体２０４とは互いに直接通信可能であり、移動体２０３と移動体２０４とは互いに直接通信可能であり、移動体２０４と移動体２０５とは互いに直接通信可能であり、移動体２０５と移動体２０６とは互いに直接通信可能であり、移動体２０６と移動体２０７とは互いに直接通信可能である。
【００２０】
また、移動体２０１−２０７は、自分以外の複数の移動体間の通信を中継することができる。従って、例えば、移動体２０１と移動体２０７とは、移動体２０２、移動体２０４、移動体２０５及び移動体２０６という経路で通信を中継してもらうか、又は、移動体２０２、移動体２０３、移動体２０４、移動体２０５及び移動体２０６という経路で通信を中継してもらうことによって、間接的に通信を行うことができる。
【００２１】
図２は、アドホックネットワーク２において、図１の移動体２０５が故障した場合の、複数の移動体によって構成されるアドホックネットワーク群の全体像の一例を示す概念図である。図２において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【００２２】
アドホックネットワーク２において、移動体２０５が故障した場合、移動体２０５と移動体２０４との間の直接通信、及び、移動体２０５と移動体２０６との間の直接通信の両者が切断され、アドホックネットワーク２は、アドホックネットワーク群３に変化する。
【００２３】
アドホックネットワーク群３において、移動体２０１−２０４のそれぞれから見ると、移動体２０５−２０７のそれぞれとの（アドホックネットワークを介した）通信が切断され、移動体２０５−２０７のそれぞれから見ると、移動体２０１−２０４のそれぞれとの（アドホックネットワークを介した）通信が切断されたことになる。この場合、どの移動体から見ても、自身が属するアドホックネットワークとの通信が切断された移動体が二つ以上あるので、特許文献１で開示されている上記第１の技術を適用することはできない。
【００２４】
また、アドホックネットワーク２において、移動体２０１−２０４が図１の左側の方向へ、移動体２０６−２０７が図１の右側の方向へ、それぞれ移動し、移動体２０４と移動体２０６の両者が、共に、移動体２０５から離れすぎて、それぞれ移動体２０５との直接通信が不可能になった場合を想定する。
【００２５】
図３は、アドホックネットワーク２において、移動体２０１−２０４が図１の左側の方向へ、移動体２０６−２０７が図１の右側の方向へ、それぞれ移動し、移動体２０４と移動体２０６との両者が、共に、移動体２０５から離れすぎて、それぞれ移動体２０５との直接通信が不可能になった場合の、複数の移動体によって構成されるアドホックネットワーク群の全体像の一例を示す概念図である。図３において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【００２６】
アドホックネットワーク２において、移動体２０１−２０４が図１の左側の方向へ、移動体２０６−２０７が図１の右側の方向へ、それぞれ移動し、移動体２０４と移動体２０６との両者が、共に、移動体２０５から離れすぎて、それぞれ移動体２０５との直接通信が不可能になった場合、アドホックネットワーク２は、アドホックネットワーク群４に変化する。図３において、白色の矢印は、各移動体のおおよその移動方向を示している。以下、本明細書で移動体のおおよその移動方向を図示する際には、このような白色の矢印で示すこととする。
【００２７】
アドホックネットワーク群４において、移動体２０５はアドホックネットワークから切断されたことを検知可能であるが、特許文献１で開示されている上記第１の技術を適用して移動体２０５が移動したとしても、移動体２０１−２０４と移動体２０６−２０７とが互いに遠ざかるような方向に移動し続けている限り、最善でも移動体２０１−２０４と移動体２０６−２０７とのどちらか一方に属する移動体のみとの直接通信が復旧するのみで、他方に属する移動体との直接通信を復旧することはできない。
【００２８】
また、アドホックネットワーク２において、移動体２０１−２０６が図１の左下の方向へそれぞれ移動し、移動体２０６が移動体２０７から離れすぎて、移動体２０７との直接通信が不可能になった場合を想定する。
【００２９】
図４は、アドホックネットワーク２において、移動体２０１−２０６が図１の左下の方向へそれぞれ移動し、移動体２０６が移動体２０７から離れすぎて、移動体２０７との直接通信が不可能になった場合の、複数の移動体によって構成されるアドホックネットワーク群の全体像の一例を示す概念図である。図４において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【００３０】
アドホックネットワーク２において、移動体２０１−２０６が図１の左下の方向へそれぞれ移動し、移動体２０６が移動体２０７から離れすぎて、移動体２０７との直接通信が不可能になった場合、アドホックネットワーク２は、アドホックネットワーク群５に変化する。
【００３１】
アドホックネットワーク群５において、移動体２０７はアドホックネットワークから切断されたことを検知可能であるが、特許文献１で開示されている上記第１の技術を適用して移動体２０７が移動したとしても、移動体２０７が移動する方向に移動体２０１−２０６が存在するとは限らないので、移動体２０１−２０６との直接通信が復旧できる可能性は低い。また、移動体２０７が移動する方向に移動体２０１−２０６が存在したとしても、移動体２０１−２０６は移動体２０７から遠ざかるような方向に移動し続けているので、移動体２０７が移動体２０１−２０６に追いつくことができず、移動体２０１−２０６との直接通信が復旧できない可能性が高い。
【００３２】
以下、これらの課題を、図４を用いて説明する。
【００３３】
図１の状況から図４の状況になるまでの間に、移動体２０７が移動した経路を、移動体２０７の移動経路５０１として図４に示した。また、図１の状況から図４の状況になるまでの間に、移動体２０７と直前まで通信していた移動体２０６が移動した経路を、移動体２０６の実際の移動経路５０２として図４に示した。
【００３４】
まず、特許文献１で開示されている上記第１の技術のうち、アドホックネットワークとの通信が切断された移動体が、今まで移動していた方向と反対の方向に移動する、という技術を用いた場合について説明する。アドホックネットワークとの通信が切断された移動体２０７は、今まで図４の右側に向かって移動していたので、通信の復旧のために図４の左側に向かって移動を開始する。しかしながら、この方向には既に移動体２０１−２０６は存在せず、移動体２０１−２０６は図４の左下の方向に向かって移動を続けているので、移動体２０７は移動体２０１−２０６に近づくことはできず、直接通信を復旧させることはできない。また、仮に、移動体２０７が移動する方向に移動体２０１−２０６が存在したとしても、移動体２０１−２０６は移動体２０７から遠ざかるような方向に移動し続けているので、移動体２０７は移動体２０１−２０６に追いつくことができず、移動体２０１−２０６との直接通信は復旧できない。
【００３５】
次に、特許文献１で開示されている上記第１の技術のうち、アドホックネットワークとの通信が切断された移動体が、切断前に通信していた別の移動体の位置に向かう方向に移動する、という技術を用いた場合について説明する。アドホックネットワークとの通信が切断された移動体２０７は、切断前に移動体２０６と通信していたので、移動体２０６の位置に向かう方向に移動することになる。ここで、移動体２０６は、移動体２０６の実際の移動経路５０２を通って移動しており、移動体２０７と移動体２０６との間の直接通信が切断された時点では、図４の、通信切断直前の移動体２０６の位置５０３にあったとする。この場合、移動体２０７は、通信切断直前の移動体２０６の位置５０３に向かって移動を開始する。しかしながら、この方向には既に移動体２０１−２０６は存在せず、移動体２０１−２０６は図４の左下の方向に向かって移動を続けているので、移動体２０７は移動体２０１−２０６に近づくことはできず、直接通信を復旧させることはできない。また、仮に、移動体２０７が移動する方向に移動体２０１−２０６が存在したとしても、移動体２０１−２０６は移動体２０７から遠ざかるような方向に移動し続けているので、移動体２０７は移動体２０１−２０６に追いつくことができず、移動体２０１−２０６との直接通信は復旧できない。
【００３６】
次に、特許文献１で開示されている上記第１の技術のうち、アドホックネットワークとの通信が切断された移動体が、移動体群全体の中心位置の方向に移動する、という技術を用いた場合について説明する。ここで、移動体２０７と移動体２０６との間の直接通信が切断された時点では、移動体群全体の中心位置は、図４の、通信切断直前の移動体群全体の中心位置５０４であったとする。この場合、アドホックネットワークとの通信が切断された移動体２０７は、通信切断直前の移動体群全体の中心位置５０４に向かって移動を開始する。しかしながら、この方向には既に移動体２０１−２０６は存在せず、移動体２０１−２０６は図４の左下の方向に向かって移動を続けているので、移動体２０７は移動体２０１−２０６に近づくことはできず、直接通信を復旧させることはできない。また、仮に、移動体２０７が移動する方向に移動体２０１−２０６が存在したとしても、移動体２０１−２０６は移動体２０７から遠ざかるような方向に移動し続けているので、移動体２０７は移動体２０１−２０６に追いつくことができず、移動体２０１−２０６との直接通信は復旧できない。
【００３７】
次に、特許文献１で開示されている上記第１の技術のうち、アドホックネットワークとの通信が切断された移動体が、切断前の自分以外のノードの位置の変化に基づいて通信復旧可能と推測した位置に向かう方向に移動する、という技術を用いた場合について説明する。アドホックネットワークとの通信が切断された移動体２０７は、まず、切断前の自分以外のノードの位置の変化に基づいた予測位置を決定する。ここでは、移動体２０７は、直前まで通信していた移動体２０６の位置の変化に基づいて、移動体２０６の現在の位置を推測し、その位置を通信復旧可能と推測した位置として決定するとする。移動体２０７と移動体２０６との間の直接通信が切断された時点では、移動体２０６は、移動体２０６の実際の移動経路５０２を通って移動し、通信切断直前の移動体２０６の位置５０３に至っているので、移動体２０７は、移動体２０６の現在の位置を、その延長線上にある、図４の、通信切断直前の自分以外のノードの位置の変化に基づいた予測位置５０６と推測したとする。
【００３８】
この場合、移動体２０７は、通信切断直前の自分以外のノードの位置の変化に基づいて予測した予測位置５０６に向かって移動を開始する。しかしながら、この方向には既に移動体２０１−２０６は存在せず、移動体２０１−２０６は図４の左下の方向に向かって移動を続けているので、移動体２０７は移動体２０１−２０６に近づくことはできず、直接通信を復旧させることはできない。また、仮に、移動体２０７が移動する方向に移動体２０１−２０６が存在したとしても、移動体２０１−２０６は移動体２０７から遠ざかるような方向に移動し続けているので、移動体２０７は移動体２０１−２０６に追いつくことができず、移動体２０１−２０６との直接通信は復旧できない。
【００３９】
このため、特許文献１では、アドホックネットワークとの通信が切断された移動体が、今まで移動していた方向と反対の方向、切断前に通信していた別の移動体の位置に向かう方向、移動体群全体の中心位置に向かう方向、又は切断前の自分以外のノードの位置の変化に基づいて通信復旧可能と推測した位置に向かう方向に移動する際に、アドホックネットワークを構成する他の全ての移動体の移動を停止させる第２の技術が開示されている。
【００４０】
しかしながら、特許文献１で開示されているこれら第２の技術を適用した場合には、アドホックネットワークとの通信が切断された移動体は復旧のための移動を行い、アドホックネットワークを構成する他の全ての移動体は、アドホックネットワークとの通信が切断された移動体との通信が復旧するまでの間、移動を停止するため、通信が復旧するまでの間、全ての移動体が、本来の目的のための移動を行うことができなくなってしまう。
【００４１】
また、特許文献１には、アドホックネットワークとの通信が切断された際に、移動体群全体が、移動体群全体の中心位置に向かう方向に移動する第３の技術が開示されている。
【００４２】
しかしながら、特許文献１で開示されているこの第３の技術を適用した場合には、通信が復旧するまでの間、移動体群が展開していた領域がどんどん小さくなっていき、全ての移動体が、本来の目的のための移動を行うことができなくなってしまう。また、通信の復旧後も、通信が復旧した時点における位置から、本来の目的のための移動をやり直すことになってしまう。
【００４３】
また、特許文献１には、アドホックネットワークとの通信が切断された際に、アドホックネットワークとの通信が切断された移動体は停止し、アドホックネットワークとの通信が切断された移動体の切断前の位置（切断位置）に移動可能な移動体が一つ選択され、選択された移動体が切断位置の方向に移動する第４の技術が開示されている。
【００４４】
しかしながら、特許文献１で開示されているこの第４の技術を適用した場合には、選択された移動体が切断位置の方向に移動することにより、その移動体と、アドホックネットワークとの通信が切断された移動体以外の移動体との通信が切断されてしまい、二次的にアドホックネットワークの分断が拡大されていく恐れがある。
【００４５】
以下、これらの課題を、図５を用いて説明する。
【００４６】
図５は、アドホックネットワーク群において、特許文献１で開示されている第４の技術を適用した場合の、複数の移動体によって構成されるアドホックネットワーク群の全体像の一例を示す概念図である。図５において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【００４７】
図４に示すアドホックネットワーク群５において、特許文献１で開示されている第４の技術を適用した場合、アドホックネットワーク群５は、図５に示すアドホックネットワーク群２３に変化する。この変化について、以下に説明する。
【００４８】
アドホックネットワーク群２３において、特許文献１で開示されている第４の技術を適用した場合、まず、アドホックネットワークとの通信が切断された移動体２０７は停止する。ここで、切断位置２３０１に移動可能な移動体として、移動体２０７と直前まで通信していた移動体２０６が選択されたとする。移動体２０６は、切断位置２３０１の方向に移動することにより、通信の復旧を図る。しかしながら、移動体２０６が、切断位置２３０１の方向に移動することにより、移動体２０５と移動体２０６とが離れすぎてしまい、移動体２０５と移動体２０６との間の通信が切断されてしまい、二次的にアドホックネットワークの分断が拡大されてしまう。この場合、移動体２０６の移動によって、仮に、移動体２０６と移動体２０７との間の通信が復旧したとしても、移動体２０５と移動体２０６とは、互いに遠ざかるような方向に移動しているので、移動体２０５と移動体２０６との間の通信が復旧することはなく、アドホックネットワーク全体としての通信の復旧を図ることはできない。
【００４９】
このような課題を解決するために、本開示の一態様に係る自律型移動ロボットは、通信対象自律型移動ロボットと通信しながら自律して移動する自律型移動ロボットであって、前記自律型移動ロボットを駆動する駆動部と、第１移動距離及び第１移動方向の組み、第１速度絶対値及び第１速度方向の組み、並びに、第１加速度絶対値及び第１加速度方向の組みのいずれかを示す第１制御量で前記自律型移動ロボットを移動させる第１制御コマンドを前記駆動部に出力する制御部と、前記自律型移動ロボットとネットワークを構成する、前記自律型移動ロボットとは異なる第１の通信対象自律型移動ロボットから送信された、前記第１の通信対象自律型移動ロボットの第１位置、第１速度、及び第１加速度のいずれかを示す第１情報を受信する通信部と、を備え、前記制御部は、前記第１情報が前記通信部によって受信されなくなったことを検知した場合、既に受信された前記第１情報に基づいて前記自律型移動ロボットを移動させる、第２移動距離及び第２移動方向の組み、第２速度絶対値及び第２速度方向の組み、並びに、第２加速度絶対値及び第２加速度方向の組みのいずれかを示す第２制御量を決定し、前記第１制御量と前記第２制御量とに基づいて、第３移動距離及び第３移動方向の組み、第３速度絶対値及び第３速度方向の組み、並びに、第３加速度絶対値及び第３加速度方向の組みのいずれかを示す第３制御量を決定し、前記第１制御量から前記第３制御量に切り替えて前記自律型移動ロボットを移動させる第２制御コマンドを生成して前記駆動部に出力する。
【００５０】
この構成によれば、第１移動距離及び第１移動方向の組み、第１速度絶対値及び第１速度方向の組み、並びに、第１加速度絶対値及び第１加速度方向の組みのいずれかを示す第１制御量で自律型移動ロボットを移動させる第１制御コマンドが駆動部に出力される。自律型移動ロボットとネットワークを構成する、自律型移動ロボットとは異なる第１の通信対象自律型移動ロボットから送信された、第１の通信対象自律型移動ロボットの第１位置、第１速度、及び第１加速度のいずれかを示す第１情報が受信される。そして、第１情報が受信されなくなったことを検知した場合、既に受信された第１情報に基づいて自律型移動ロボットを移動させる、第２移動距離及び第２移動方向の組み、第２速度絶対値及び第２速度方向の組み、並びに、第２加速度絶対値及び第２加速度方向の組みのいずれかを示す第２制御量が決定される。第１制御量と第２制御量とに基づいて、第３移動距離及び第３移動方向の組み、第３速度絶対値及び第３速度方向の組み、並びに、第３加速度絶対値及び第３加速度方向の組みのいずれかを示す第３制御量が決定される。第１制御量から第３制御量に切り替えて自律型移動ロボットを移動させる第２制御コマンドが生成されて駆動部に出力される。
【００５１】
したがって、第１制御量が自律型移動ロボットの本来の目的のための移動を制御する制御量であり、第２制御量が第１の通信対象自律型移動ロボットとの通信の復旧のための移動を制御する制御量である場合、第３制御量は第１制御量と第２制御量とに基づいて決定されるので、第１制御量から第３制御量に切り替えて自律型移動ロボットを移動させることにより、自律型移動ロボットの本来の目的のための移動と第１の通信対象自律型移動ロボットとの通信の復旧のための移動とを両立させることができる。
【００５２】
更に、複数の自律型移動ロボットが存在するとともに、第３制御量を決定する際の第１制御量と第２制御量の比重が、個々の自律型移動ロボットごとに異なる場合、自律型移動ロボットの本来の目的のための移動の比重が大きい自律型移動ロボットと、第１の通信対象自律型移動ロボットとの通信の復旧のための移動の比重が大きい自律型移動ロボットとが存在することになり、複数の自律型移動ロボット全体の動きとしては、自律型移動ロボットの本来の目的のための移動を優先させる自律型移動ロボットと、第１の通信対象自律型移動ロボットとの通信の復旧のための移動を優先させる自律型移動ロボットとで役割分担することで、結果的に連携して移動し、自律型移動ロボットの本来の目的のための移動と第１の通信対象自律型移動ロボットとの通信の復旧のための移動とを両立させることができるので、自律型移動ロボットが一台である場合の効果に加えて、更に大きな効果を得ることができる。
【００５３】
また、上記の自律型移動ロボットにおいて、前記第１の通信対象自律型移動ロボットは、複数の第１の通信対象自律型移動ロボットを含み、前記通信部は、前記複数の第１の通信対象自律型移動ロボットのそれぞれから前記第１情報を受信してもよい。
【００５４】
この構成によれば、複数の第１の通信対象自律型移動ロボットのそれぞれから第１情報が受信されるので、自律型移動ロボットと複数の第１の通信対象自律型移動ロボットとを連携して移動させることができ、複数の第１の通信対象自律型移動ロボットとの通信の復旧と自律型移動ロボットの本来の目的のための移動とを両立させることができる。
【００５５】
また、上記の自律型移動ロボットにおいて、前記通信部は、更に、前記自律型移動ロボットと前記ネットワークを構成する、前記自律型移動ロボット及び前記第１の通信対象自律型移動ロボットとは異なる第２の通信対象自律型移動ロボットから送信された、前記第２の通信対象自律型移動ロボットの第２位置、第２速度、及び第２加速度のいずれかを示す第２情報を受信し、前記制御部は、前記第１情報が前記通信部によって受信されなくなったことを検知した場合、前記第２情報に基づいて前記第２制御量を決定してもよい。
【００５６】
この構成によれば、自律型移動ロボットとネットワークを構成する、自律型移動ロボット及び第１の通信対象自律型移動ロボットとは異なる第２の通信対象自律型移動ロボットから送信された、第２の通信対象自律型移動ロボットの第２位置、第２速度、及び第２加速度のいずれかを示す第２情報が受信される。第１情報が受信されなくなったことが検知された場合、第２情報に基づいて第２制御量が決定される。
【００５７】
したがって、第１の通信対象自律型移動ロボットからの第１情報が受信されなくなったことが検知された場合、第２の通信対象自律型移動ロボットからの第２情報に基づいて第２制御量が決定されるので、自律型移動ロボットと第２の通信対象自律型移動ロボットとを連携して移動させることができ、第１の通信対象自律型移動ロボットとの通信の復旧と自律型移動ロボット及び第２の通信対象自律型移動ロボットの本来の目的のための移動とを両立させることができる。
【００５８】
また、上記の自律型移動ロボットにおいて、前記第２の通信対象自律型移動ロボットは、複数の第２の通信対象自律型移動ロボットを含み、前記通信部は、前記複数の第２の通信対象自律型移動ロボットのそれぞれから前記第２情報を受信してもよい。
【００５９】
この構成によれば、複数の第２の通信対象自律型移動ロボットのそれぞれから第２情報が受信されるので、、自律型移動ロボットと複数の第２の通信対象自律型移動ロボットとを連携して移動させることができ、複数の第１の通信対象自律型移動ロボットとの通信の復旧と自律型移動ロボット及び複数の第２の通信対象自律型移動ロボットの本来の目的のための移動とを両立させることができる。
【００６０】
また、上記の自律型移動ロボットにおいて、前記制御部は、前記自律型移動ロボットの現在位置を示す第３情報を取得し、前記第１情報と前記第３情報とに基づいて前記自律型移動ロボットと前記第１の通信対象自律型移動ロボットとの距離を算出し、前記距離に基づいて前記第２制御量を決定してもよい。
【００６１】
この構成によれば、自律型移動ロボットの現在位置を示す第３情報が取得される。第１情報と第３情報とに基づいて自律型移動ロボットと第１の通信対象自律型移動ロボットとの距離が算出される。距離に基づいて第２制御量が決定される。
【００６２】
したがって、自律型移動ロボットと第１の通信対象自律型移動ロボットとの距離に基づいて第２制御量が決定されるので、より効率的に、通信の復旧と本来の目的とを両立させることができる。
【００６３】
特に、複数の自律型移動ロボットが存在する場合には、個々の自律型移動ロボットと第１の通信対象自律型移動ロボットとの距離に基づいて、それぞれの自律型移動ロボットにおける、自律型移動ロボットの本来の目的のための移動と第１の通信対象自律型移動ロボットとの通信の復旧のための移動の比重が決まるので、より効率的に、自律型移動ロボットの本来の目的のための移動を優先させる自律型移動ロボットと、第１の通信対象自律型移動ロボットとの通信の復旧のための移動を優先させる自律型移動ロボットとの役割分担が決まり、複数の自律型移動ロボット全体の動きとして、より効率的に、自律型移動ロボットの本来の目的のための移動と第１の通信対象自律型移動ロボットとの通信の復旧のための移動とを両立させることができる。
【００６４】
また、上記の自律型移動ロボットにおいて、前記制御部は、前記距離が短いほど、前記第２移動距離、前記第２速度絶対値、又は前記第２加速度絶対値を小さくしてもよい。
【００６５】
この構成によれば、自律型移動ロボットと第１の通信対象自律型移動ロボットとの距離が長いほど、第２移動距離、第２速度絶対値、又は第２加速度絶対値を大きくすることにより、第１の通信対象自律型移動ロボットとの通信の復旧を優先することになるので、より早く通信を復旧させることができる。
【００６６】
また、上記の自律型移動ロボットにおいて、前記制御部は、前記距離が長いほど、前記第２移動距離、前記第２速度絶対値、又は前記第２加速度絶対値を小さくしてもよい。
【００６７】
この構成によれば、自律型移動ロボットと第１の通信対象自律型移動ロボットとの距離が長いほど、第２移動距離、第２速度絶対値、又は第２加速度絶対値を小さくすることにより、第１の通信対象自律型移動ロボットとの通信が切断されなかった場合の移動を優先することになるので、より効率的に、通信の復旧と本来の目的とを両立させることができる。
【００６８】
特に、複数の自律型移動ロボットが存在する場合には、個々の自律型移動ロボットと第１の通信対象自律型移動ロボットとの距離が長いほど、それぞれの自律型移動ロボットにおける、自律型移動ロボットの本来の目的のための移動の比重が大きくなるので、より効率的に、自律型移動ロボットの本来の目的のための移動を優先させる自律型移動ロボットと、第１の通信対象自律型移動ロボットとの通信の復旧のための移動を優先させる自律型移動ロボットとの役割分担が決まるので、複数の自律型移動ロボット全体の動きとして、より効率的に、自律型移動ロボットの本来の目的のための移動と第１の通信対象自律型移動ロボットとの通信の復旧のための移動とを両立させることができる。
【００６９】
また、上記の自律型移動ロボットにおいて、前記制御部は、前記第１情報が前記通信部によって受信されなくなったことを検知した場合、前記第２制御コマンドを前記駆動部に出力してから所定時間経過後に、前記第３制御量から前記第１制御量に切り替えて前記自律型移動ロボットを移動させる第３制御コマンドを前記駆動部に出力してもよい。
【００７０】
この構成によれば、第１情報が受信されなくなったことが検知された場合、第２制御コマンドが駆動部に出力されてから所定時間経過後に、第３制御量から第１制御量に切り替えて自律型移動ロボットを移動させる第３制御コマンドが駆動部に出力される。
【００７１】
したがって、通信を復旧させるための移動を行った後、所定時間が経過しても通信が復旧しなかった場合、通信を復旧させるための移動を中止することができ、通信を復旧させるための移動が際限なく行われるのを防止することができる。
【００７２】
また、上記の自律型移動ロボットにおいて、前記第１情報は、前記第１位置を含み、前記制御部は、前記第１情報が前記通信部によって受信されなくなったことを検知した場合、前記第１位置と、前記第２制御コマンドが前記駆動部に出力された後の前記自律型移動ロボットの位置を示す第３位置との距離が所定値以下であるか否かを判断し、前記距離が所定値以下であると判断した場合、前記第３制御量から前記第１制御量に切り替えて前記自律型移動ロボットを移動させる第３制御コマンドを前記駆動部に出力してもよい。
【００７３】
この構成によれば、第１情報は、第１位置を含む。第１情報が受信されなくなったことが検知された場合、第１位置と、第２制御コマンドが駆動部に出力された後の自律型移動ロボットの位置を示す第３位置との距離が所定値以下であるか否かが判断される。距離が所定値以下であると判断された場合、第３制御量から第１制御量に切り替えて自律型移動ロボットを移動させる第３制御コマンドが駆動部に出力される。
【００７４】
したがって、通信を復旧させるための移動を行った後、自律型移動ロボットと通信対象自律型移動ロボットとの間の距離が所定値以下に近づいたとしても通信が復旧しなかった場合、通信を復旧させるための移動を中止することができ、通信を復旧させるための移動が際限なく行われるのを防止することができる。
【００７５】
また、上記の自律型移動ロボットにおいて、前記自律型移動ロボットは、メモリをさらに備え、前記通信部は、更に、前記自律型移動ロボットと前記ネットワークを構成する、前記自律型移動ロボット及び前記第１の通信対象自律型移動ロボットとは異なる第２の通信対象自律型移動ロボットから送信された、前記第２の通信対象自律型移動ロボットの第２位置、第２速度、及び第２加速度のいずれかを示す第２情報を受信し、前記メモリは、前記第１情報及び前記第２情報を含む第４情報を格納し、前記制御部は、前記第３制御コマンドを前記駆動部に出力した時、前記メモリに格納された前記第４情報から前記第１情報を削除することによって前記第４情報を更新してもよい。
【００７６】
この構成によれば、自律型移動ロボットとネットワークを構成する、自律型移動ロボット及び第１の通信対象自律型移動ロボットとは異なる第２の通信対象自律型移動ロボットから送信された、第２の通信対象自律型移動ロボットの第２位置、第２速度、及び第２加速度のいずれかを示す第２情報が受信される。自律型移動ロボットが備えるメモリは、第１情報及び第２情報を含む第４情報を格納する。第３制御コマンドが駆動部に出力された時、メモリに格納された第４情報から第１情報を削除することによって第４情報が更新される。
【００７７】
したがって、第３制御コマンドが駆動部に出力された時、メモリに格納された第４情報から第１情報を削除することによって第４情報が更新されるので、既に通信の復旧に失敗した第１の通信対象自律型移動ロボットとの通信を復旧させるための移動を再開して、通信復旧移動の中止と再開とを際限なく繰り返すのを防止することができる。
【００７８】
また、上記の自律型移動ロボットにおいて、前記制御部は、前記第４情報を更新したとき、前記通信部に対して、前記第４情報を前記第２の通信対象自律型移動ロボットへ送信させてもよい。
【００７９】
この構成によれば、第４情報を更新したとき、第４情報が第２の通信対象自律型移動ロボットへ送信されるので、第２の通信対象自律型移動ロボットにおいても、通信復旧移動の中止と再開とを際限なく繰り返すのを防止することができる。
【００８０】
また、上記の自律型移動ロボットにおいて、前記制御部は、前記第１情報が前記通信部によって受信されなくなったことを検知した後、前記第１情報が再度前記通信部によって受信されるようになったことを検知した場合、前記第３制御量から前記第１制御量に切り替えて前記自律型移動ロボットを移動させる第３制御コマンドを前記駆動部に出力してもよい。
【００８１】
この構成によれば、第１情報が受信されなくなったことが検知された後、第１情報が再度受信されるようになったことが検知された場合、第３制御量から第１制御量に切り替えて自律型移動ロボットを移動させる第３制御コマンドが駆動部に出力される。
【００８２】
したがって、通信を復旧させるための移動を行った後、通信が復旧した場合、通信を復旧させるための移動を中止することができ、通信を復旧させるための移動が際限なく行われるのを防止することができる。
【００８３】
また、上記の自律型移動ロボットにおいて、前記第１の通信対象自律型移動ロボットは、複数の第１の通信対象自律型移動ロボットを含み、前記通信部は、前記複数の第１の通信対象自律型移動ロボットのそれぞれから前記第１情報を再度受信してもよい。
【００８４】
この構成によれば、第１情報が受信されなくなったことが検知された後、複数の第１の通信対象自律型移動ロボットのそれぞれから第１情報が再度受信されるようになったことが検知された場合、第３制御量から第１制御量に切り替えて自律型移動ロボットを移動させる第３制御コマンドが駆動部に出力される。
【００８５】
したがって、通信を復旧させるための移動を行った後、複数の第１の通信対象自律型移動ロボットと通信が復旧した場合、通信を復旧させるための移動を中止することができ、通信を復旧させるための移動が際限なく行われるのを防止することができる。
【００８６】
また、上記の自律型移動ロボットにおいて、前記自律型移動ロボットは、前記第１情報及び前記第２情報を含む第４情報を格納するメモリをさらに備え、前記第２の通信対象自律型移動ロボットは、前記自律型移動ロボットを示す情報と第３の通信対象自律型移動ロボットを示す情報とを含む第５情報から前記第３の通信対象自律型移動ロボットを示す情報を削除することによって前記第５情報を更新したとき、前記第５情報を前記自律型移動ロボットに送信し、前記通信部は、前記第２の通信対象自律型移動ロボットによって送信された前記第５情報を受信し、前記制御部は、前記メモリに格納されている前記第４情報を前記第５情報に更新してもよい。
【００８７】
この構成によれば、自律型移動ロボットは、第１情報及び第２情報を含む第４情報を格納するメモリをさらに備える。第２の通信対象自律型移動ロボットは、自律型移動ロボットを示す情報と第３の通信対象自律型移動ロボットを示す情報とを含む第５情報から第３の通信対象自律型移動ロボットを示す情報を削除することによって第５情報を更新したとき、第５情報を自律型移動ロボットに送信する。自律型移動ロボットにおいて、第２の通信対象自律型移動ロボットによって送信された第５情報が受信される。メモリに格納されている第４情報が第５情報に更新される。
【００８８】
したがって、第２の通信対象自律型移動ロボットにおいて、自律型移動ロボットを示す情報と第３の通信対象自律型移動ロボットを示す情報とを含む第５情報から第３の通信対象自律型移動ロボットを示す情報が削除された場合、第５情報が自律型移動ロボットに送信され、自律型移動ロボットのメモリに格納されている第４情報が第５情報に更新されるので、第２の通信対象自律型移動ロボットにおける判断結果を、自律型移動ロボットに反映させることができる。
【００８９】
また、上記の自律型移動ロボットにおいて、前記第３の通信対象自律型移動ロボットは、前記第１の通信対象自律型移動ロボットであってもよい。
【００９０】
この構成によれば、第２の通信対象自律型移動ロボットにおいて、自律型移動ロボットを示す情報と第１の通信対象自律型移動ロボットを示す情報とを含む第５情報から第１の通信対象自律型移動ロボットを示す情報が削除された場合、第５情報が自律型移動ロボットに送信され、自律型移動ロボットのメモリに格納されている第４情報が第５情報に更新されるので、第２の通信対象自律型移動ロボットにおける判断結果を、自律型移動ロボットに反映させることができ、自律型移動ロボットが既に通信の復旧に失敗した第１の通信対象自律型移動ロボットとの通信を復旧させるための移動を行うことを防止することができる。
【００９１】
また、上記の自律型移動ロボットにおいて、前記通信部は、更に、前記自律型移動ロボットと前記ネットワークを構成する、前記自律型移動ロボット及び前記第１の通信対象自律型移動ロボットとは異なる第２の通信対象自律型移動ロボットから送信された、前記第２の通信対象自律型移動ロボットの第２位置、第２速度、及び第２加速度のいずれかを示す第２情報を受信し、前記制御部は、前記第２情報に基づいて、第４移動距離及び第４移動方向の組み、第４速度絶対値及び第４速度方向の組み、並びに、第４加速度絶対値及び第４加速度方向の組みのいずれかを示す第４制御量を決定し、前記第４制御量に基づいて前記第１制御量を更新してもよい。
【００９２】
この構成によれば、自律型移動ロボットとネットワークを構成する、自律型移動ロボット及び第１の通信対象自律型移動ロボットとは異なる第２の通信対象自律型移動ロボットから送信された、第２の通信対象自律型移動ロボットの第２位置、第２速度、及び第２加速度のいずれかを示す第２情報が受信される。第２情報に基づいて、第４移動距離及び第４移動方向の組み、第４速度絶対値及び第４速度方向の組み、並びに、第４加速度絶対値及び第４加速度方向の組みのいずれかを示す第４制御量が決定され、第４制御量に基づいて第１制御量が更新される。
【００９３】
したがって、第２の通信対象自律型移動ロボットの第２位置、第２速度、及び第２加速度のいずれかを示す第２情報に基づいて、第４移動距離及び第４移動方向の組み、第４速度絶対値及び第４速度方向の組み、並びに、第４加速度絶対値及び第４加速度方向の組みのいずれかを示す第４制御量が決定され、第４制御量に基づいて第１制御量を更新することができる。
【００９４】
また、上記の自律型移動ロボットにおいて、前記第２情報は、前記第２位置を含み、前記制御部は、前記自律型移動ロボットの現在位置と前記第２位置とから算出された距離に基づいて、前記第４制御量を決定してもよい。
【００９５】
この構成によれば、第２情報は、第２位置を含む。自律型移動ロボットの現在位置と第２位置とから算出された距離に基づいて、第４制御量が決定される。したがって、自律型移動ロボットと第２の通信対象自律型移動ロボットとの間の距離に基づいて、第４制御量を決定することができる。
【００９６】
また、上記の自律型移動ロボットにおいて、前記制御部は、前記距離が短いほど、前記第４移動距離、前記第４速度絶対値、又は前記第４加速度絶対値を小さくしてもよい。
【００９７】
この構成によれば、自律型移動ロボットと第２の通信対象自律型移動ロボットとの間の距離が短いほど、第４移動距離、第４速度絶対値、又は第４加速度絶対値を小さくすることにより、第２の通信対象自律型移動ロボットとの通信を適切に維持することができる。
【００９８】
また、上記の自律型移動ロボットにおいて、前記制御部は、前記距離が短いほど、前記第４移動距離、前記第４速度絶対値、又は前記第４加速度絶対値を大きくしてもよい。
【００９９】
この構成によれば、自律型移動ロボットと第２の通信対象自律型移動ロボットとの間の距離が短いほど、第４移動距離、第４速度絶対値、又は第４加速度絶対値を大きくすることにより、第２の通信対象自律型移動ロボットとの通信が切断されないように制御することができる。
【０１００】
また、上記の自律型移動ロボットにおいて、前記自律型移動ロボットは、前記自律型移動ロボットの移動経路を記憶するメモリをさらに備え、前記制御部は、第４移動距離及び第４移動方向の組み、第４速度絶対値及び第４速度方向の組み、並びに、第４加速度絶対値及び第４加速度方向の組みのいずれかを示す第４制御量に基づいて前記第１制御量を決定し、前記第４移動距離、前記第４速度絶対値、又は前記第４加速度絶対値は、所定値であり、前記第４移動方向、前記第４速度方向又は前記第４加速度方向は、前記移動経路によって特定される移動方向の逆方向であってもよい。
【０１０１】
この構成によれば、自律型移動ロボットは、自律型移動ロボットの移動経路を記憶するメモリをさらに備える。第４移動距離及び第４移動方向の組み、第４速度絶対値及び第４速度方向の組み、並びに、第４加速度絶対値及び第４加速度方向の組みのいずれかを示す第４制御量に基づいて第１制御量が決定される。第４移動距離、第４速度絶対値、又は第４加速度絶対値は、所定値である。第４移動方向、第４速度方向又は第４加速度方向は、移動経路によって特定される移動方向の逆方向である。
【０１０２】
したがって、移動経路によって特定される移動方向の逆方向に移動することにより、通信が途絶する前の位置に戻ることができ、通信を迅速に復旧することができる。
【０１０３】
本開示の他の態様に係る移動制御方法は、通信対象自律型移動ロボットと通信しながら自律して移動する自律型移動ロボットにおける移動制御方法であって、第１移動距離及び第１移動方向の組み、第１速度絶対値及び第１速度方向の組み、並びに、第１加速度絶対値及び第１加速度方向の組みのいずれかを示す第１制御量で前記自律型移動ロボットを移動させる第１制御コマンドを出力し、前記自律型移動ロボットとネットワークを構成する、前記自律型移動ロボットとは異なる第１の通信対象自律型移動ロボットから送信された、前記第１の通信対象自律型移動ロボットの第１位置、第１速度、及び第１加速度のいずれかを示す第１情報を受信し、前記第１情報が前記通信部によって受信されなくなったことを検知した場合、既に受信された前記第１情報に基づいて前記自律型移動ロボットを移動させる、第２移動距離及び第２移動方向の組み、第２速度絶対値及び第２速度方向の組み、並びに、第２加速度絶対値及び第２加速度方向のいずれかを示す第２制御量を決定し、前記第１制御量と前記第２制御量に基づいて、第３移動距離及び第３移動方向の組み、第３速度絶対値及び第３速度方向の組み、並びに、第３加速度絶対値及び第３加速度方向の組みのいずれかを示す第３制御量を決定し、前記第１制御量から前記第３制御量に切り替えて前記自律型移動ロボットを移動させる第２制御コマンドを生成して出力する。
【０１０４】
この構成によれば、第１移動距離及び第１移動方向の組み、第１速度絶対値及び第１速度方向の組み、並びに、第１加速度絶対値及び第１加速度方向の組みのいずれかを示す第１制御量で自律型移動ロボットを移動させる第１制御コマンドが駆動部に出力される。自律型移動ロボットとネットワークを構成する、自律型移動ロボットとは異なる第１の通信対象自律型移動ロボットから送信された、第１の通信対象自律型移動ロボットの第１位置、第１速度、及び第１加速度のいずれかを示す第１情報が受信される。そして、第１情報が受信されなくなったことを検知した場合、既に受信された第１情報に基づいて自律型移動ロボットを移動させる、第２移動距離及び第２移動方向の組み、第２速度絶対値及び第２速度方向の組み、並びに、第２加速度絶対値及び第２加速度方向の組みのいずれかを示す第２制御量が決定される。第１制御量と第２制御量とに基づいて、第３移動距離及び第３移動方向の組み、第３速度絶対値及び第３速度方向の組み、並びに、第３加速度絶対値及び第３加速度方向の組みのいずれかを示す第３制御量が決定される。第１制御量から第３制御量に切り替えて自律型移動ロボットを移動させる第２制御コマンドが生成されて駆動部に出力される。
【０１０５】
したがって、第１制御量が自律型移動ロボットの本来の目的のための移動を制御する制御量であり、第２制御量が第１の通信対象自律型移動ロボットとの通信の復旧のための移動を制御する制御量である場合、第３制御量は第１制御量と第２制御量とに基づいて決定されるので、第１制御量から第３制御量に切り替えて自律型移動ロボットを移動させることにより、自律型移動ロボットの本来の目的のための移動と第１の通信対象自律型移動ロボットとの通信の復旧のための移動とを両立させることができる。
【０１０６】
更に、複数の自律型移動ロボットが存在するとともに、第３制御量を決定する際の第１制御量と第２制御量の比重が、個々の自律型移動ロボットごとに異なる場合、自律型移動ロボットの本来の目的のための移動の比重が大きい自律型移動ロボットと、第１の通信対象自律型移動ロボットとの通信の復旧のための移動の比重が大きい自律型移動ロボットとが存在することになり、複数の自律型移動ロボット全体の動きとしては、自律型移動ロボットの本来の目的のための移動を優先させる自律型移動ロボットと、第１の通信対象自律型移動ロボットとの通信の復旧のための移動を優先させる自律型移動ロボットとで役割分担することで、結果的に連携して移動し、自律型移動ロボットの本来の目的のための移動と第１の通信対象自律型移動ロボットとの通信の復旧のための移動とを両立させることができるので、自律型移動ロボットが一台である場合の効果に加えて、更に大きな効果を得ることができる。
【０１０７】
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることも出来る。
【０１０８】
（実施の形態１）
図６は、本開示の実施の形態１における、複数の移動体によって構成されるアドホックネットワークの全体像を示す概念図である。
【０１０９】
図６において、アドホックネットワーク１は、通信機能を有する移動体１０１−１０７から構成されている。移動体を示す円の間に引かれている実線は、それらの移動体間で直接通信が可能であることを示している。以下、本明細書でアドホックネットワークを図示する際には、移動体を円で図示し、移動体間で直接通信が可能であることを、それらの円の間に引かれた実線で示すこととする。
【０１１０】
移動体１０１と移動体１０２とは互いに直接通信可能であり、移動体１０２と移動体１０３とは互いに直接通信可能であり、移動体１０２と移動体１０４とは互いに直接通信可能であり、移動体１０３と移動体１０４とは互いに直接通信可能であり、移動体１０４と移動体１０５とは互いに直接通信可能であり、移動体１０５と移動体１０６とは互いに直接通信可能であり、移動体１０６と移動体１０７とは互いに直接通信可能である。
【０１１１】
また、移動体１０１−１０７は、自分以外の複数の移動体間の通信を中継することができる。従って、例えば、移動体１０１と移動体１０７とは、移動体１０２、移動体１０４、移動体１０５及び移動体１０６という経路で通信を中継してもらうか、又は、移動体１０２、移動体１０３、移動体１０４、移動体１０５及び移動体１０６という経路で通信を中継してもらうことによって、間接的に通信を行うことができる。
【０１１２】
また、移動体１０１−１０７は、任意の方向に移動している。図６において、白色の矢印は、各移動体の移動方向を示している。以下、本明細書で移動体の移動方向を図示する際には、このような白色の矢印で示すこととする。
【０１１３】
なお、図６は、水平な二次元平面を、重力の向きと反対方向にある視点から眺めた図であり、図６の右側が東方向、左側が西方向、上側が北方向、下側が南方向である。以下、本明細書では、特に明記しない限り、アドホックネットワークを構成する移動体を図示した平面図は、水平な二次元平面を、重力の向きと反対方向にある視点から眺めた図であり、図面の右側が東方向、左側が西方向、上側が北方向、下側が南方向であるとする。また、図６では、簡単のため、移動体が二次元平面上を移動している例を示したが、本開示は、二次元平面上を移動する移動体の移動のみに制限されるものではなく、三次元空間内を移動する移動体の移動にも適用可能であることは、言うまでもない。
【０１１４】
通信機能を有する移動体の具体例としては、通信機能を有するドローン（無人飛行体）、通信機能を有する自律ロボット、人間が運転する通信機能を有する車両、通信機能を有する掃除ロボット、又は通信機を携帯した人間、など、多種多様な形態が存在する。
【０１１５】
以下、移動体１０１−１０７の機能構成と全体の動作について詳しく説明する。なお、移動体１０２−１０７の機能構成又は全体の動作のうち、移動体１０１と同様である部分については、移動体１０１についてのみ説明し、移動体１０２−１０７の説明は省略する。
【０１１６】
図７は、本開示の実施の形態１における移動体１０１の概観図であり、図８は、本開示の実施の形態１における移動体１０１の機能構成を示すブロック図である。図８において、図６と同じ構成要素については同じ符号を用い、説明を省略する。
【０１１７】
図７に示すように、移動体（自律型移動ロボット）１０１は、本体Ａ１と、移動体１０１の推進力を発生させる移動制御部６０５とを備える。移動制御部６０５は、本体Ａ１から四方へ延在する支持部Ａ２の先端に取り付けられる。本体Ａ１の上側には、位置検出部６０４が取り付けられている。また、本体Ａ１の内部には、通信部６０１、制御部６０２及び記憶部６０３を備えている。
【０１１８】
図８に示すように、移動体１０１は、通信部６０１、制御部６０２、記憶部６０３、位置検出部６０４及び移動制御部６０５を備える。
【０１１９】
通信部６０１は、Ｗｉ−Ｆｉなどの通信技術を用いて、他の移動体（通信対象自律型移動ロボット）と通信を行い、情報の送受信を行う。また、通信部６０１は、他の移動体間の通信の中継も行う。
【０１２０】
制御部６０２は、通信部６０１、記憶部６０３、位置検出部６０４及び移動制御部６０５を制御する。
【０１２１】
記憶部６０３は、自身に関する情報である自移動体情報と、他の移動体から送信された他の移動体に関する情報である他移動体情報とを記憶する。記憶部６０３に記憶される情報の詳細については、図９、図１０及び図１１を用いて後述する。
【０１２２】
位置検出部６０４は、自身の現在の位置情報を検出する。位置検出部６０４は、例えば、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）により自身の位置情報を測定する。
【０１２３】
移動制御部６０５は、制御部６０２からの指示を受け、自身の移動を制御する。具体的には、移動制御部６０５は、プロペラと、プロペラを回転させるモータとからなる。図７では、移動体１０１は４個の移動制御部６０５を備えているがこれに限定されない。例えば、移動体１０１は、５個以上の移動制御部６０５を備えてもよい。制御部６０２は、移動制御部６０５のプロペラの回転数を適宜制御することで、移動体１０１の移動方向又は飛行状態を制御する。移動制御部６０５は、移動体１０１を駆動する。
【０１２４】
制御部６０２は、第１移動距離及び第１移動方向の組み、第１速度絶対値及び第１速度方向の組み、並びに、第１加速度絶対値及び第１加速度方向の組みのいずれかを示す第１制御量（基本移動ベクトル群情報）で移動体１０１を移動させる第１制御コマンドを移動制御部６０５に出力する。
【０１２５】
通信部６０１は、移動体１０１とネットワークを構成する、移動体１０１とは異なる第１の通信対象移動体（例えば、移動体１０５）から送信された、移動体１０５の第１位置、第１速度、及び第１加速度のいずれかを示す第１情報を受信する。
【０１２６】
制御部６０２は、第１情報が通信部６０１によって受信されなくなったことを検知した場合、既に受信された第１情報に基づいて移動体１０１を移動させる、第２移動距離及び第２移動方向の組み、第２速度絶対値及び第２速度方向の組み、並びに、第２加速度絶対値及び第２加速度方向の組みのいずれかを示す第２制御量（分断復旧ベクトル情報）を決定する。制御部６０２は、第１制御量と第２制御量とに基づいて、第３移動距離及び第３移動方向の組み、第３速度絶対値及び第３速度方向の組み、並びに、第３加速度絶対値及び第３加速度方向の組みのいずれかを示す第３制御量（実移動ベクトル情報）を決定する。制御部６０２は、第１制御量から第３制御量に切り替えて移動体１０１を移動させる第２制御コマンドを生成して移動制御部６０５に出力する。
【０１２７】
なお、通信部６０１は、複数の移動体（例えば、移動体１０５，１０６，１０７）のそれぞれから第１情報を受信してもよい。
【０１２８】
また、通信部６０１は、更に、移動体１０１とネットワークを構成する、移動体１０１及び移動体１０５とは異なる第２の通信対象移動体（例えば、移動体１０２）から送信された、移動体１０２の第２位置、第２速度、及び第２加速度のいずれかを示す第２情報を受信する。制御部６０２は、第１情報が通信部６０１によって受信されなくなったことを検知した場合、第２情報に基づいて第２制御量を決定する。
【０１２９】
なお、通信部６０１は、複数の移動体（例えば、移動体１０２，１０３，１０４）のそれぞれから第２情報を受信してもよい。
【０１３０】
図９は、本開示の実施の形態１における、移動体１０１の記憶部６０３に記憶される情報の一例を示す図である。図９において、図６及び図８と同じ構成要素については同じ符号を用い、説明を省略する。
【０１３１】
記憶部６０３は、移動体１０１自身に関する情報である自移動体情報７０１と、他の移動体に関する情報である他移動体情報７０２とを記憶する。
【０１３２】
自移動体情報７０１は、自身をユニークに識別するための移動体識別情報と、位置検出部６０４によって検出した自身の位置情報と、自身及びアドホックネットワークを介した通信を行うことが可能な移動体の移動体識別情報から成る既知群情報と、アドホックネットワークを介した通信を行うことが不可能な移動体の移動体識別情報から成る不明群情報と、不明群が存在する場合の通信の復旧のための移動における目標位置の位置情報である目標位置情報と、不明群が存在しなかった場合の移動を制御する一つ以上の移動ベクトルを示す基本移動ベクトル群に関する情報である基本移動ベクトル群情報と、目標位置に向かうための移動ベクトルを示す分断復旧ベクトルに関する情報である分断復旧ベクトル情報と、実際の移動を規定する実移動ベクトルに関する情報である実移動ベクトル情報とから構成される。
【０１３３】
他移動体情報７０２は、他の移動体をユニークに識別するための移動体識別情報と、他の移動体の位置を示す位置情報とから構成される。
【０１３４】
図１０は、本開示の実施の形態１における、移動体１０１の記憶部６０３に記憶する自移動体情報７０１の一例を示す図である。図１０において、図６及び図９と同じ構成要素については同じ符号を用い、説明を省略する。
【０１３５】
移動体１０１は、例えば、図１０に示す形式で、自移動体情報７０１を記憶部６０３に記憶する。自移動体情報７０１は、自身をユニークに識別するための移動体識別情報と、位置検出部６０４によって検出した自身の位置情報と、自身及びアドホックネットワークを介した通信を行うことが可能な移動体の移動体識別情報から成る既知群情報と、アドホックネットワークを介した通信を行うことが不可能な移動体の移動体識別情報から成る不明群情報と、不明群が存在する場合の通信の復旧のための移動における目標位置の位置情報である目標位置情報と、不明群が存在しなかった場合の移動を制御する一つ以上の移動ベクトルを示す基本移動ベクトル群に関する情報である基本移動ベクトル群情報と、目標位置に向かうための移動ベクトルを示す分断復旧ベクトルに関する情報である分断復旧ベクトル情報と、実際の移動を規定する実移動ベクトルに関する情報である実移動ベクトル情報とを含む。
【０１３６】
ここで、移動ベクトルとは、移動体の移動を制御するためのベクトルで、典型的には、移動の変位、速度又は加速度を表す。
【０１３７】
図１０に示す自移動体情報７０１は、自身の移動体識別情報の値が「移動体１０１」であり、自身の位置情報の値が「北緯３４度４１分３７．０秒、東経１３５度３０分７．１秒、海抜２ｍ」であり、既知群情報の値が「移動体１０１、移動体１０２、移動体１０３、移動体１０４」であり、不明群情報の値が「移動体１０５、移動体１０６、移動体１０７」であり、目標位置情報の値が「北緯３４度４１分３７．６秒、東経１３５度３０分９．１秒、海抜２ｍ」であり、基本移動ベクトル群情報の主基本移動ベクトルの値が「（−５ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）」であり、基本移動ベクトル群情報の障害物回避基本移動ベクトルの値が「（０ｍ／ｓ，５ｍ／ｓ，０ｍ／ｓ）」であり、分断復旧ベクトル情報の値が「（１０ｍ／ｓ，２ｍ／ｓ，０ｍ／ｓ）」であり、実移動ベクトル情報の値が「（７．５ｍ／ｓ，６ｍ／ｓ，０ｍ／ｓ）」であることを示している。
【０１３８】
図１０では、位置情報は、緯度、経度及び海抜高度によって表現している。なお、もちろん、位置情報は、他の表現方法を用いても構わない。位置情報は、例えば、ｘ軸、ｙ軸、ｚ軸からなる直交座標系を用いて表現してもよく、特定の地点を起点として、東方向をｘ軸の正の向きとし、北方向をｙ軸の正の向きとし、重力の向きと反対方向をｚ軸の正の向きとしてもよい。以下、本明細書では、特に明記しない限り、位置情報については、緯度、経度及び海抜高度によって表現する形式を用いて説明する。
【０１３９】
なお、移動ベクトル（制御量）は、移動距離及び移動方向の組み、速度絶対値及び速度方向の組み、並びに、加速度絶対値及び加速度方向の組みのいずれかを示す。
【０１４０】
図１０では、移動ベクトルは、速度で表され、秒速（ｍ／ｓ）を単位として、ｘ軸、ｙ軸、ｚ軸からなる直交座標系を用いて表現しており、東方向をｘ軸の正の向きとし、北方向をｙ軸の正の向きとし、重力の向きと反対方向をｚ軸の正の向きとしている。なお、もちろん、移動ベクトルは変位又は加速度であってもよく、他の表現方法を用いてもよい。例えば、移動ベクトルは、単位時間あたりの緯度の差分、経度の差分及び海抜高度の差分によって表現されてもよい。以下、本明細書では、特に明記しない限り、移動ベクトルについては、速度とし、秒速（ｍ／ｓ）を単位として、ｘ軸、ｙ軸、ｚ軸からなる直交座標系を用いて表現し、東方向をｘ軸の正の向きとし、北方向をｙ軸の正の向きとし、重力の向きと反対方向をｚ軸の正の向きとして、説明する。
【０１４１】
図１０では、基本移動ベクトル群情報は、主基本移動ベクトル情報と、障害物回避基本移動ベクトル情報との組みで表現される。すなわち、基本移動ベクトル群は、主基本移動ベクトルと、障害物回避基本移動ベクトルとの組みであるとしている。ここで、主基本移動ベクトルとは、移動体が本来の目的を達成する為の移動を表現した移動ベクトルである。また、障害物回避基本移動ベクトルとは、移動体が近くに存在する障害物を回避する為の移動を表現した移動ベクトルである。なお、基本移動ベクトル群を構成する移動ベクトルの数と、それらの移動ベクトルが表現する移動内容には、もちろん、様々なバリエーションが考えられ、本開示の主旨とは無関係であることは言うまでもない。以下、本明細書では、特に明記しない限り、基本移動ベクトル群については、ここで説明した主基本移動ベクトルと障害物回避基本移動ベクトルとの組みを用いて説明する。
【０１４２】
図１１は、本開示の実施の形態１における、移動体１０１の記憶部６０３に記憶する他移動体情報７０２の一例を示す図である。図１１において、図６及び図９と同じ構成要素については同じ符号を用い、説明を省略する。
【０１４３】
移動体１０１は、例えば、図１１に示す形式で、他移動体情報７０２を記憶部６０３に記憶する。他移動体情報７０２は、他の移動体をユニークに識別するための移動体識別情報と、他の移動体から受信した他の移動体の位置情報とを含む。
【０１４４】
図１１に示す他移動体情報７０２は、移動体１０２の移動体識別情報の値が「移動体１０２」であり、移動体１０２の位置情報の値が「北緯３４度４１分３７．５秒、東経１３５度３０分７．６秒、海抜２ｍ」であることを示している。移動体１０３−１０７の移動体識別情報及び位置情報についても、同様である。
【０１４５】
制御部６０２は、基本移動ベクトル群で移動体１０１を移動させる制御コマンドを生成し、移動制御部６０５へ出力する。移動制御部６０５は、制御コマンドに従って実際に移動体１０１を移動させる。
【０１４６】
図１２は、本開示の実施の形態１における、移動体１０１の移動制御の全体動作を示すフローチャートである。
【０１４７】
まず、移動体１０１の制御部６０２は、アドホックネットワークを介して、移動体１０２−１０７と通信を試み、通信が行えたか否かに従って、アドホックネットワークを介した通信を行うことが可能な移動体のグループである既知群と、アドホックネットワークを介した通信を行うことが不可能な移動体のグループである不明群とを、それぞれ特定する（ステップＳ１００１）。そして、制御部６０２は、自移動体情報７０１のうち、既知群に属する全ての移動体の移動体識別情報から成る既知群情報と、不明群に属する全ての移動体の移動体識別情報から成る不明群情報とを更新する。
【０１４８】
次に、移動体１０１の制御部６０２は、既知群の位置情報を更新する（ステップＳ１００２）。このとき、位置検出部６０４は、自身の位置情報を検出し、自移動体情報７０１の位置情報を更新する。更に、通信部６０１は、既知群に属する全ての移動体に対して、アドホックネットワークを介して、移動体識別情報と位置情報とを送信するよう要求し、既知群に属する移動体から移動体識別情報と位置情報とを受信する。そして、制御部６０２は、他移動体情報７０２の位置情報を更新する。
【０１４９】
次に、移動体１０１の制御部６０２は、不明群が存在しなかった場合の移動を制御する一つ以上の移動ベクトルを示す基本移動ベクトル群を決定する（ステップＳ１００３）。そして、制御部６０２は、基本移動ベクトル群の情報である基本移動ベクトル群情報を作成し、自移動体情報７０１の基本移動ベクトル群情報を更新する。
【０１５０】
図１３は、本開示の実施の形態１における、基本移動ベクトル群の一例を示す概念図である。図１３において、図６と同じ構成要素については同じ符号を用い、説明を省略する。
【０１５１】
図１３に示した場面では、移動体１０１は、本来の目的を達成する為に、何の制約もなければ、西方向に５ｍ／ｓ、南方向に２ｍ／ｓで移動するのが最善であるとする。この場合、主基本移動ベクトル１１０１は、（−５ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）となる。
【０１５２】
ところが、移動体１０１の西方向には、障害物が存在している。このため、移動体１０１は、この障害物を迂回して移動する必要がある。このため、障害物を迂回するために、北に５ｍ／ｓの速度で移動する動作が必要であるとする。この場合、障害物回避基本移動ベクトル１１０２は、（０ｍ／ｓ，５ｍ／ｓ，０ｍ／ｓ）となる。
【０１５３】
次に、移動体１０１の制御部６０２は、不明群に属する移動体が存在するか否かを判断する（ステップＳ１００４）。
【０１５４】
ステップＳ１００４で不明群に属する移動体が存在しないと判断された場合（ステップＳ１００４でＮＯ）、移動体１０１の制御部６０２は、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、以下で説明するステップＳ１００８の処理に移行する。
【０１５５】
例えば、図１３に示す場面では、不明群は存在せず、移動体１０１−１０７が全て既知群に属しているので、移動体１０１の制御部６０２は、分断復旧ベクトルの大きさを０に決定し、以下で説明するステップＳ１００８の処理に移行する。
【０１５６】
一方、ステップＳ１００４で不明群に属する移動体が存在すると判断された場合（ステップＳ１００４でＹＥＳ）、制御部６０２は、ステップＳ１００５−ステップＳ１００７の処理を実行する。
【０１５７】
ステップＳ１００４で不明群に属する移動体が存在すると判断された場合、まず、移動体１０１の制御部６０２は、他移動体情報７０２から、不明群に属する全ての移動体の位置情報を取得する（ステップＳ１００５）。
【０１５８】
図１４は、本開示の実施の形態１における、１の移動体１０５が故障した場合の、既知群に属する移動体１０１−１０４と不明群に属する移動体１０５−１０７とを示す概念図である。図１４において、図６と同じ構成要素については同じ符号を用い、説明を省略する。
【０１５９】
図１４に示すように、移動体１０５の故障によって、移動体１０４と移動体１０５との間の直接通信が切断されるので、移動体１０１−１０４のそれぞれは、移動体１０５だけではなく、移動体１０６−１０７との間のアドホックネットワークを介した通信が切断される。従って、既知群１２０１に属する移動体は、移動体１０１−１０４であり、不明群１２０２に属する移動体は、移動体１０５−１０７である。
【０１６０】
図１５は、本開示の実施の形態１における、１の移動体１０５が故障した場合の、既知群に属する移動体１０６−１０７と不明群に属する移動体１０１−１０４とを示す概念図である。図１５において、図６と同じ構成要素については同じ符号を用い、説明を省略する。
【０１６１】
図１５に示すように、移動体１０５の故障によって、移動体１０６と移動体１０５との間の直接通信が切断されるので、移動体１０６−１０７のそれぞれは、移動体１０５だけではなく、移動体１０１−１０４との間のアドホックネットワークを介した通信が切断される。従って、既知群１３０１に属する移動体は、移動体１０６−１０７であり、不明群１３０２に属する移動体は、移動体１０１−１０５である。
【０１６２】
次に、移動体１０１の制御部６０２は、ステップＳ１００５で取得した不明群に属する移動体の位置情報に基づいて、一つ以上の目標位置を決定する（ステップＳ１００６）。
【０１６３】
目標位置は、例えば、不明群に属する全ての移動体の位置の中心位置、又は不明群に属する全ての移動体の位置のうち、自身に最も近い位置である。
【０１６４】
図１６は、本開示の実施の形態１において、１の移動体１０５が故障した場合の、他の移動体１０１−１０４のそれぞれにおける、目標位置の決定方法と、当該決定方法によって決定された目標位置との一例を示す図である。図１６において、図６及び図１４と同じ構成要素については同じ符号を用い、説明を省略する。なお、移動体１０５−１０７のそれぞれは、図１１の他移動体情報７０２に記載した位置に存在するとする。
【０１６５】
例えば、不明群に属する全ての移動体の位置の中心位置を目標位置として決定する場合には、移動体１０１−１０４のそれぞれの目標位置は、図１６の目標位置１４０１となり、目標位置１４０１の値は「北緯３４度４１分３７．６秒、東経１３５度３０分９．１秒、海抜２ｍ」となる。また、不明群に属する全ての移動体の位置のうち、自身に最も近い移動体の位置を目標位置として決定する場合には、移動体１０１−１０４のそれぞれの目標位置は、図１６の目標位置１４０２、すなわち、移動体１０５の位置となり、目標位置１４０２の値は「北緯３４度４１分３７．５秒、東経１３５度３０分８．６秒、海抜２ｍ」となる。
【０１６６】
図１７は、本開示の実施の形態１において、１の移動体１０５が故障した場合の、他の移動体１０６−１０７のそれぞれにおける、目標位置の決定方法と、当該決定方法によって決定された目標位置との一例を示す図である。図１７において、図６及び図１５と同じ構成要素については同じ符号を用い、説明を省略する。なお、移動体１０１−１０５のそれぞれは、図１１の他移動体情報７０２に記載した位置に存在するとする。
【０１６７】
例えば、不明群に属する全ての移動体の位置の中位置を目標位置として決定する場合には、移動体１０６−１０７のそれぞれの目標位置は、図１７の目標位置１５０１となり、目標位置１５０１の値は「北緯３４度４１分３７．４８秒、東経１３５度３０分７．８２秒、海抜２ｍ」となる。また、不明群に属する全ての移動体の位置のうち、自身に最も近い移動体の位置を目標位置として決定する場合には、目標位置は、図１７の目標位置１５０２、すなわち、移動体１０５の位置となり、目標位置１５０２の値は「北緯３４度４１分３７．５秒、東経１３５度３０分８．６秒、海抜２ｍ」となる。
【０１６８】
次に、移動体１０１の制御部６０２は、自移動体情報７０１の位置情報と、他移動体情報７０２の位置情報とから、アドホックネットワークを構成する全ての移動体を示す構成群に属するそれぞれの移動体の最新の位置を示す構成群位置情報を取得し、構成群位置情報に基づいて、目標位置に向かうための移動ベクトルを示す分断復旧ベクトルを決定する（ステップＳ１００７）。そして、制御部６０２は、分断復旧ベクトルの情報である分断復旧ベクトル情報を作成し、自移動体情報７０１の分断復旧ベクトル情報を更新する。
【０１６９】
例えば、自身との距離が一定の値以下の移動体が一つ以上存在する場合には、自身と一つ以上の移動体とのうち、いずれか一つの移動体のみの分断復旧ベクトルは、目標位置に向かう向きを持つとともに一定の大きさを有する分断復旧ベクトルに決定され、他の移動体の分断復旧ベクトルは、大きさが０である分断復旧ベクトルに決定される。
【０１７０】
ここで、分断復旧ベクトルの一例を説明する。以下の説明では、移動体１０１−１０７が、不明群に属する全ての移動体の位置の中心位置を目標位置として決定し、かつ、自身との距離が一定の値以下の移動体が一つ以上存在する場合には、自身と一つ以上の移動体とのうち、いずれか一つの移動体のみが目標位置に向かう向きを持つとともに一定の大きさを有する分断復旧ベクトルを決定し、他の移動体は大きさが０の分断復旧ベクトルを決定する。
【０１７１】
図１８は、本開示の実施の形態１において、１の移動体１０５が故障した場合の、他の移動体１０１−１０４のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。図１８において、図６、図１４及び図１６と同じ構成要素については同じ符号を用い、説明を省略する。
【０１７２】
移動体１０１の制御部６０２は、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。図１８では、移動体１０１−１０４のそれぞれとの距離が一定の値以下の地点を、点線で描いた判定円で囲んでいる。移動体１０１の判定円の範囲内には他の移動体が存在しないので、移動体１０１の制御部６０２は、自身の分断復旧ベクトルを、目標位置１４０１に向かう向きを持ち、一定の大きさの分断復旧ベクトル１６０１（１０ｍ／ｓ，２ｍ／ｓ，０ｍ／ｓ）に決定する。
【０１７３】
また、移動体１０２及び移動体１０３の制御部６０２も、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。移動体１０２の判定円の範囲内には移動体１０３が存在し、移動体１０３の判定円の範囲内には移動体１０２が存在するので、移動体１０２と移動体１０３とは互いに通信し、移動体１０３のみが目標位置１４０１に向かうと決定される。そして、移動体１０２の制御部６０２は、自身の分断復旧ベクトルを、大きさが０の分断復旧ベクトル１６０２に決定し、移動体１０３の制御部６０２は、自身の分断復旧ベクトルを、目標位置１４０１に向かう向きを持ち、一定の大きさの分断復旧ベクトル１６０３（１０．１ｍ／ｓ，１ｍ／ｓ，０ｍ／ｓ）に決定する。
【０１７４】
また、移動体１０４の制御部６０２も、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。移動体１０４の判定円の範囲内には他の移動体が存在しないので、移動体１０４の制御部６０２は、自身の分断復旧ベクトルを、目標位置１４０１に向かう向きを持ち、一定の大きさの分断復旧ベクトル１６０４（１０ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）に決定する。
【０１７５】
図１９は、本開示の実施の形態１において、１の移動体１０５が故障した場合の、他の移動体１０６−１０７のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。図１９において、図６、図１５及び図１７と同じ構成要素については同じ符号を用い、説明を省略する。
【０１７６】
移動体１０６の制御部６０２は、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。図１９では、移動体１０６−１０７のそれぞれとの距離が一定の値以下の地点を、点線で描いた判定円で囲んでいる。移動体１０６の判定円の範囲内には他の移動体が存在しないので、移動体１０６の制御部６０２は、自身の分断復旧ベクトルを、目標位置１５０１に向かう向きを持ち、一定の大きさの分断復旧ベクトル１７０６（−１０ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）に決定する。
【０１７７】
また、移動体１０７の制御部６０２も、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。移動体１０７の判定円の範囲内には他の移動体が存在しないので、移動体１０７の制御部６０２は、自身の分断復旧ベクトルを、目標位置１５０１に向かう向きを持ち、一定の大きさの分断復旧ベクトル１７０７（−１０．１ｍ／ｓ，１ｍ／ｓ，０ｍ／ｓ）に決定する。
【０１７８】
次に、移動体１０１の制御部６０２は、基本移動ベクトル群に属する全ての移動ベクトルと、分断復旧ベクトルに対してそれぞれ０以外の値を乗じた移動ベクトルとの和を計算し、計算結果の移動ベクトルを実移動ベクトルとして決定する（ステップＳ１００８）。そして、制御部６０２は、実移動ベクトルの情報である実移動ベクトル情報を作成し、自移動体情報７０１の実移動ベクトル情報を更新する。
【０１７９】
図２０は、本開示の実施の形態１において、１の移動体１０５が故障した場合の、他の移動体１０１における、実移動ベクトルの決定方法の一例を示す概念図である。図２０において、図６、図１３、図１４、図１６及び図１８と同じ構成要素については同じ符号を用い、説明を省略する。
【０１８０】
ここでは、制御部６０２は、障害物を回避するための移動の比重を大きくするため、基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルには０．５を乗じ、障害物回避基本移動ベクトルには１を乗じ、分断復旧ベクトルには１を乗じた上で、計算結果の各移動ベクトルの和を計算する。なお、基本移動ベクトル群に属するそれぞれの移動ベクトルに乗ずる値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０１８１】
図２０に示したように、これまで説明してきた通り、今回の例では、移動体１０１の主基本移動ベクトル１１０１は（−５ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）であり、障害物回避基本移動ベクトル１１０２は（０ｍ／ｓ，５ｍ／ｓ，０ｍ／ｓ）であり、分断復旧ベクトル１６０１は（１０ｍ／ｓ，２ｍ／ｓ，０ｍ／ｓ）であるから、計算結果の移動ベクトルは（７．５ｍ／ｓ，６ｍ／ｓ，０ｍ／ｓ）となる。移動体１０１の制御部６０２は、計算結果の移動ベクトル（７．５ｍ／ｓ，６ｍ／ｓ，０ｍ／ｓ）を実移動ベクトル１８０１として決定する。
【０１８２】
移動体１０１は、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合、主基本移動ベクトル１１０１（−５ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）に０．５を乗じたベクトルと、障害物回避基本移動ベクトル１１０２（０ｍ／ｓ，５ｍ／ｓ，０ｍ／ｓ）に１を乗じたベクトルと、ステップＳ１０１０で決定した大きさ０の分断復旧ベクトルに１を乗じたベクトルとを加算して求まる実移動ベクトル（−２．５ｍ／ｓ，４ｍ／ｓ，０ｍ／ｓ）に従って移動する。そのため、図１３に示したように、移動体１０１は、障害物を避けてほぼ北北西に向かって移動する予定であった。しかしながら、移動体１０５が故障して、不明群に属する移動体が出現したことによって、移動体１０１は、図２０に示したように、実移動ベクトル１８０１（７．５ｍ／ｓ，６ｍ／ｓ，０ｍ／ｓ）に従って、ほぼ北東に向かって移動し、通信の復旧を図ることになる。
【０１８３】
移動体１０２−１０４，１０６−１０７の実移動ベクトルも、移動体１０１の場合と同様にして決定される。
【０１８４】
図２１は、本開示の実施の形態１において、１の移動体１０５が故障した場合の、他の移動体１０１−１０４，１０６−１０７における、実移動ベクトルの一例を示す概念図である。図２１において、図６及び図２０と同じ構成要素については同じ符号を用い、説明を省略する。
【０１８５】
ここでは、移動体１０２−１０４の基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルの値を（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。また、移動体１０６−１０７の基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルの値を（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。
【０１８６】
また、ここでは、制御部６０２は、主基本移動ベクトルに０．５を乗じ、障害物回避基本移動ベクトルに１を乗じ、分断復旧ベクトルに１を乗じて求まる各移動ベクトルの和を、実移動ベクトルとして決定する。
【０１８７】
移動体１０３は、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合、実移動ベクトル（−５ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に従って移動するので、図１３に示したように、西に向かって移動する予定であった。しかしながら、移動体１０５が故障して、不明群に属する移動体が出現したことによって、移動体１０３は、図２１に示したように、実移動ベクトル２７０３（５．１ｍ／ｓ，１ｍ／ｓ，０ｍ／ｓ）に従って、ほぼ東北東に向かって移動し、通信の復旧を図ることになる。
【０１８８】
移動体１０４は、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合、実移動ベクトル（−５ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に従って移動するので、図１３に示したように、西に向かって移動する予定であった。しかしながら、移動体１０５が故障して、不明群に属する移動体が出現したことによって、移動体１０４は、図２１に示したように、実移動ベクトル２７０４（５ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）に従って、ほぼ東南東に向かって移動し、通信の復旧を図ることになる。
【０１８９】
一方で、移動体１０２は、分断復旧ベクトル１６０２の大きさが０であるので、移動体１０５が故障して、不明群に属する移動体が出現した後も、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図２１に示したように、実移動ベクトル２７０２（−５ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に従って、西に向かって移動し、本来の目的を遂行することができる。
【０１９０】
このように、移動体１０１、移動体１０３及び移動体１０４は主として通信復旧動作を行い、移動体１０２は不明群が存在しなかった場合の移動を行うことになり、構成群全体として通信の復旧と本来の目的とを両立させることができる。通信復旧動作を開始した時点における移動体１０２と移動体１０３との距離は、図１８に示す判定円の半径以下であるので、移動体１０２と移動体１０３との間の直接通信が直ちに切断されるリスクは小さい。
【０１９１】
移動体１０５が故障したことにより、移動体１０１−１０４とは通信ができなくなっている、移動体１０６−１０７についても、上記と同様である。
【０１９２】
移動体１０６は、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合、実移動ベクトル（５ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に従って移動するので、図１３に示したように、東に向かって移動する予定であった。しかしながら、移動体１０５が故障して、不明群に属する移動体が出現したことによって、移動体１０６は、図２１に示したように、実移動ベクトル２７０６（−５ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）に従って、ほぼ西南西に向かって移動し、通信の復旧を図ることになる。
【０１９３】
移動体１０７は、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合、実移動ベクトル（５ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に従って移動するので、図１３に示したように、東に向かって移動する予定であった。しかしながら、移動体１０５が故障して、不明群に属する移動体が出現したことによって、移動体１０７は、図２１に示したように、実移動ベクトル２７０７（−５．１ｍ／ｓ，１ｍ／ｓ，０ｍ／ｓ）に従って、ほぼ西北西に向かって移動し、通信の復旧を図ることになる。
【０１９４】
以上より、結果として、移動体１０１、移動体１０３、移動体１０４、移動体１０６及び移動体１０７が、互いに集まるような移動を行うことになるので、通信の復旧は更に効率的に進むことになる。
【０１９５】
次に、移動体１０１の制御部６０２は、自移動体情報７０１から実移動ベクトル情報を取得し、取得した実移動ベクトル１８０１に従って実際に移動させる（ステップＳ１００９）。制御部６０２は、実移動ベクトルで移動させる制御コマンドを生成し、移動制御部６０５へ出力する。移動制御部６０５は、制御コマンドに従って実際に移動体１０１を移動させる。
【０１９６】
以下、特許文献１で開示されている技術では解決できていなかった課題を、本開示の実施の形態１では解決できていることを、具体例を用いて、説明する。
【０１９７】
既に述べた通り、特許文献１で開示されている第１の技術は、図２の例のように、どの移動体から見ても、アドホックネットワークとの通信が切断された移動体が二つ以上である場合については、そのままでは適用することができなかった。
【０１９８】
これに対して、本開示の実施の形態１では、上述した通り、図２１の例のように、どの移動体から見ても、アドホックネットワークとの通信が切断された移動体が二つ以上である場合でも、通信の復旧を図ることができる。このような場合、すなわち、どの移動体から見ても、不明群に属する移動体が二つ以上である場合でも、構成群に属する移動体のうちの一部又は全部が互いに集まるような移動を行うことになるので、通信の復旧を図ることができる。図２１の例では、移動体１０１、移動体１０３、移動体１０４、移動体１０６及び移動体１０７が、互いに集まるような移動を行うことにより、通信の復旧を図ることができている。
【０１９９】
また、特許文献１で開示されている第２の技術では、通信が復旧するまでの間、全ての移動体が、本来の目的のための移動を行うことができなくなってしまう、という課題があった。これに対して、本開示の実施の形態１では、例えば図２１の例では、移動体１０２は主として本来の目的のための移動を行うことができ、この課題を解決できている。
【０２００】
また、特許文献１で開示されている第３の技術では、通信が復旧するまでの間、移動体群が展開していた領域が徐々に小さくなっていき、全ての移動体が、本来の目的のための移動を行うことができなくなるとともに、通信の復旧後も、通信が復旧した時点における位置から、本来の目的のための移動をやり直すことになってしまう、という課題があった。これに対して、本開示の実施の形態１では、例えば図２１の例では、移動体１０２は主として本来の目的のための移動を行うことができ、この課題を解決できている。
【０２０１】
また、特許文献１で開示されている第４の技術では、選択された移動体が切断位置に向かう方向に移動することにより、その移動体と、アドホックネットワークとの通信が切断された移動体以外の移動体との通信が切断されてしまい、二次的にアドホックネットワークの分断が拡大されていく恐れがある、という課題があった。これに対して、本開示の実施の形態１では、例えば図２１の例では、移動体１０１、移動体１０３、移動体１０４、移動体１０６及び移動体１０７が、互いに集まるような移動を行うことにより、通信の復旧を図り、かつ、これらの通信の復旧を図る移動体のうちの一つである移動体１０３と、主として本来の目的のための移動を行う移動体１０２との距離は、図１８に示す判定円の半径以下であるので、移動体１０２と移動体１０３との間の直接通信が直ちに切断されるリスクは小さく、この課題を解決できている。
【０２０２】
また、既に述べた通り、特許文献１で開示されている第１の技術では、図３の例のように、移動体の一部又は全部が互いに遠ざかるような方向に移動した場合には、最善でも一部の通信の復旧しか図ることができなかった。図３の例では、移動体２０１−２０４と移動体２０６−２０７とが互いに遠ざかるような方向に移動し続けている場合には、最善でも移動体２０１−２０４と移動体２０６−２０７とのどちらか一方に属する移動体のみとの直接通信が復旧するのみで、他方に属する移動体との直接通信を復旧することはできなかった。
【０２０３】
これに対して、本開示の実施の形態１では、図３の例のように、移動体の一部が互いに遠ざかるような方向に移動した場合でも、通信の復旧を図ることができる。このことを、以下に説明する。
【０２０４】
なお、ここでは、制御部６０２は、障害物を回避するための移動の比重を大きくするため、基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルには０．５を乗じ、障害物回避基本移動ベクトルには１を乗じ、分断復旧ベクトルには１を乗じた上で、計算結果の移動ベクトルの和を計算する。
【０２０５】
また、ここでは、移動体２０２−２０４の基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルの値を（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。また、移動体２０６−２０７の基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルの値を（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。
【０２０６】
また、ここでは、制御部６０２は、主基本移動ベクトルに０．５を乗じ、障害物回避基本移動ベクトルに１を乗じ、分断復旧ベクトルに１を乗じて求まる各移動ベクトルの和を、実移動ベクトルとして決定する。
【０２０７】
図２２は、本開示の実施の形態１における、図３に示す状況での、移動体２０１−２０４の分断復旧ベクトルの一例を示す概念図である。図２２において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０２０８】
図２２に示した通り、移動体２０１−２０４のそれぞれにおいては、既知群１９０１に属する移動体は、移動体２０１−２０４であり、不明群１９０２に属する移動体は、移動体２０５−２０７である。
【０２０９】
移動体２０１の制御部６０２は、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。図２２では、移動体２０１−２０４のそれぞれとの距離が一定の値以下の地点を、点線で描いた判定円で囲んでいる。移動体２０１の判定円の範囲内には他の移動体が存在しないので、移動体２０１の制御部６０２は、自身の分断復旧ベクトルを、不明群に属する全ての移動体の位置の中心にある目標位置１９１１に向かう向きを持ち、一定の大きさの分断復旧ベクトル１９２１に決定する。
【０２１０】
また、移動体２０２及び移動体２０３の制御部６０２も、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。移動体２０２の判定円の範囲内には移動体２０３が存在し、移動体２０３の判定円の範囲内には移動体２０２が存在するので、移動体２０２と移動体２０３とは互いに通信し、移動体２０３のみが目標位置１９１１に向かうと決定される。そして、移動体２０２の制御部６０２は、自身の分断復旧ベクトルを、大きさが０の分断復旧ベクトル１９２２に決定し、移動体２０３の制御部６０２は、自身の分断復旧ベクトルを、目標位置１９１１に向かう向きを持ち、一定の大きさの分断復旧ベクトル１９２３に決定する。
【０２１１】
また、移動体２０４の制御部６０２も、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。移動体２０４の判定円の範囲内には他の移動体が存在しないので、移動体２０４の制御部６０２は、自身の分断復旧ベクトルを、目標位置１９１１に向かう向きを持ち、一定の大きさの分断復旧ベクトル１９２４に決定する。
【０２１２】
図２３は、本開示の実施の形態１における、図３に示す状況での、移動体２０５の分断復旧ベクトルの一例を示す概念図である。図２３において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０２１３】
図２３に示した通り、移動体２０５においては、既知群２００１に属する移動体は、移動体２０５であり、不明群２００２に属する移動体は、移動体２０１−２０４、２０６−２０７である。
【０２１４】
移動体２０５は、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。図２３では、移動体２０５との距離が一定の値以下の地点を、点線で描いた判定円で囲んでいる。移動体２０５の判定円の範囲内には他の移動体が存在しないので、移動体２０５の制御部６０２は、自身の分断復旧ベクトルを、不明群に属する全ての移動体の位置の中心にある目標位置２０１１に向かう向きを持ち、一定の大きさの分断復旧ベクトル２０２５に決定する。
【０２１５】
図２４は、本開示の実施の形態１における、図３に示す状況での、移動体２０６−２０７の分断復旧ベクトルの一例を示す概念図である。図２４において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０２１６】
図２４に示した通り、移動体２０６−２０７のそれぞれにおいては、既知群２１０１に属する移動体は、移動体２０６−２０７であり、不明群２１０２に属する移動体は、移動体２０１−２０５である。
【０２１７】
移動体２０６の制御部６０２は、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。図２４では、移動体２０６−２０７のそれぞれとの距離が一定の値以下の地点を、点線で描いた判定円で囲んでいる。移動体２０６の判定円の範囲内には他の移動体が存在しないので、移動体２０６の制御部６０２は、自身の分断復旧ベクトルを、不明群に属する全ての移動体の位置の中心にある目標位置２１１１に向かう向きを持ち、一定の大きさの分断復旧ベクトル２１２６に決定する。
【０２１８】
また、移動体２０７の制御部６０２も、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。移動体２０７の判定円の範囲内には他の移動体が存在しないので、移動体２０７の制御部６０２は、自身の分断復旧ベクトルを、目標位置２１１１に向かう向きを持ち、一定の大きさの分断復旧ベクトル２１２７に決定する。
【０２１９】
図２５は、本開示の実施の形態１における、図３に示す状況での、移動体２０１−２０７の実移動ベクトルの一例を示す概念図である。図２５において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０２２０】
移動体２０１は、西に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図３に示したように、西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０１は、図２５に示したように、基本移動ベクトル群に加えて分断復旧ベクトル１９２１に基づいて計算して求めた実移動ベクトル２２０１に従って、ほぼ東北東に向かって移動し、通信の復旧を図ることになる。
【０２２１】
移動体２０３は、西に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図３に示したように、西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０３は、図２５に示したように、基本移動ベクトル群に加えて分断復旧ベクトル１９２３に基づいて計算して求めた実移動ベクトル２２０３に従って、ほぼ東北東に向かって移動し、通信の復旧を図ることになる。
【０２２２】
移動体２０４は、西に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図３に示したように、西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０４は、図２５に示したように、基本移動ベクトル群に加えて分断復旧ベクトル１９２４に基づいて計算して求めた実移動ベクトル２２０４に従って、ほぼ東南東に向かって移動し、通信の復旧を図ることになる。
【０２２３】
移動体２０５は、ほとんど移動しない基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図３に示したように、その場に停止する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０５は、図２５に示したように、基本移動ベクトル群に加えて分断復旧ベクトル２０２５に基づいて計算して求めた実移動ベクトル２２０５に従って、ほぼ西北西に向かって移動し、通信の復旧を図ることになる。
【０２２４】
移動体２０６は、東に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図３に示したように、東に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０６は、図２５に示したように、基本移動ベクトル群に加えて分断復旧ベクトル２１２６に基づいて計算して求めた実移動ベクトル２２０６に従って、ほぼ西南西に向かって移動し、通信の復旧を図ることになる。
【０２２５】
移動体２０７は、東に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図３に示したように、東に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０７は、図２５に示したように、基本移動ベクトル群に加えて分断復旧ベクトル２１２７に基づいて計算して求めた実移動ベクトル２２０７に従って、ほぼ西に向かって移動し、通信の復旧を図ることになる。
【０２２６】
一方で、移動体２０２は、西に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図３に示したように、西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０２は、分断復旧ベクトル１９２２の大きさが０であるので、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現した後も、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合と同じく、図２５に示したように、基本移動ベクトル群に加えて大きさが０の分断復旧ベクトル１９２２に基づいて計算して求めた実移動ベクトル２２０２に従って、ほぼ西に向かって移動し、本来の目的を遂行することができる。
【０２２７】
このように、移動体２０１，２０３−２０７は主として通信復旧動作を行い、移動体２０２は不明群が存在しなかった場合の移動を行うことになり、構成群全体として通信の復旧と本来の目的とを両立させることができる。通信復旧動作を開始した時点における移動体２０２と移動体２０３との距離は、図２２に示す判定円の半径以下であるので、移動体２０２と移動体２０３との間の直接通信が直ちに切断されるリスクは小さい。
【０２２８】
また、特許文献１で開示されている第２の技術では、通信が復旧するまでの間、全ての移動体が、本来の目的のための移動を行うことができなくなってしまう、という課題があった。これに対して、本開示の実施の形態１では、例えば図２５の例では、移動体２０２は主として本来の目的のための移動を行うことができており、この課題を解決できている。
【０２２９】
また、特許文献１で開示されている第３の技術では、通信が復旧するまでの間、移動体群が展開していた領域が徐々に小さくなっていき、全ての移動体が、本来の目的のための移動を行うことができなくなるとともに、通信の復旧後も、通信が復旧した時点における位置から、本来の目的のための移動をやり直すことになってしまう、という課題があった。これに対して、本開示の実施の形態１では、例えば図２５の例では、移動体２０２は主として本来の目的のための移動を行うことができ、この課題を解決できている。
【０２３０】
また、特許文献１で開示されている第４の技術では、選択された移動体が切断位置に向かう方向に移動することにより、その移動体と、アドホックネットワークとの通信が切断された移動体以外の移動体との通信が切断されてしまい、二次的にアドホックネットワークの分断が拡大されていく恐れがある、という課題があった。これに対して、本開示の実施の形態１では、例えば図２５の例では、移動体２０１，２０３−２０７が、互いに集まるような移動を行うことにより、通信の復旧を効率的に行い、かつ、これらの通信の復旧を図る移動体のうちの一つである移動体２０３と、主として本来の目的のための移動を行う移動体２０２との距離は図２２の判定円の半径以下であるので、移動体２０２と移動体２０３との間の直接通信が直ちに切断されるリスクは小さく、この課題を解決できている。
【０２３１】
また、既に述べた通り、特許文献１で開示されている第１の技術では、図４の例のように、アドホックネットワークとの通信が切断された移動体が通信の復旧のために移動した方向に他の移動体が存在しない場合、又は他の移動体がアドホックネットワークとの通信が切断された移動体から遠ざかるような方向に移動していた場合には、通信を復旧させることはできなかった。図４の例では、特許文献１で開示されている第１の技術のいずれを用いたとしても、アドホックネットワークとの通信が切断された移動体２０７が通信の復旧のために移動した方向に、既に移動体２０１−２０６は存在せず、移動体２０１−２０６は図４の左下の方向に向かって移動を続けているので、移動体２０７は移動体２０１−２０６に近づくことはできず、直接通信を復旧させることはできなかった。また、仮に、移動体２０７が移動する方向に移動体２０１−２０６が存在したとしても、移動体２０１−２０６は移動体２０７から遠ざかるような方向に移動し続けているので、移動体２０７は移動体２０１−２０６に追いつくことができず、移動体２０１−２０６との直接通信は復旧できなかった。
【０２３２】
これに対して、本開示の実施の形態１では、図４の例のように、アドホックネットワークとの通信が切断された移動体が通信の復旧のために移動した方向に他の移動体が存在しない場合、又は他の移動体がアドホックネットワークとの通信が切断された移動体から遠ざかるような方向に移動していた場合でも、通信の復旧を図ることができる。このことを、以下に説明する。
【０２３３】
図２６は、本開示の実施の形態１において、図４に示す状況の場合に、移動体２０１−２０６のそれぞれが、どのような分断復旧ベクトルを決定するかの一例を示す概念図である。図２６において、図１及び図４と同じ構成要素については同じ符号を用い、説明を省略する。
【０２３４】
図２６に示した通り、移動体２０１−２０６のそれぞれにおいては、既知群２４０１に属する移動体は、移動体２０１−２０６であり、不明群２４０２に属する移動体は、移動体２０７である。
【０２３５】
移動体２０１の制御部６０２は、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。図２６では、移動体２０１−２０６のそれぞれとの距離が一定の値以下の地点を、点線で描いた判定円で囲んでいる。移動体２０１の判定円の範囲内には他の移動体が存在しないので、移動体２０１の制御部６０２は、自身の分断復旧ベクトルを、不明群２４０２に属する全ての移動体の位置の中心にある目標位置２４１１に向かう向きを持ち、一定の大きさの分断復旧ベクトル２４２１に決定する。
【０２３６】
また、移動体２０２及び移動体２０３の制御部６０２も、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。移動体２０２の判定円の範囲内には移動体２０３が存在し、移動体２０３の判定円の範囲内には移動体２０２が存在するので、移動体２０２と移動体２０３とは互いに通信し、移動体２０３のみが目標位置２４１１に向かうと決定される。そして、移動体２０２の制御部６０２は、自身の分断復旧ベクトルを、大きさが０の分断復旧ベクトル２４２２に決定し、移動体２０３の制御部６０２は、自身の分断復旧ベクトルを、目標位置２４１１に向かう向きを持ち、一定の大きさの分断復旧ベクトル２４２３に決定する。
【０２３７】
また、移動体２０４の制御部６０２も、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。移動体２０４の判定円の範囲内には他の移動体が存在しないので、移動体２０４の制御部６０２は、自身の分断復旧ベクトルを、目標位置２４１１に向かう向きを持ち、一定の大きさの分断復旧ベクトル２４２４に決定する。
【０２３８】
また、移動体２０５の制御部６０２も、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。移動体２０５の判定円の範囲内には他の移動体が存在しないので、移動体２０５の制御部６０２は、自身の分断復旧ベクトルを、目標位置２４１１に向かう向きを持ち、一定の大きさの分断復旧ベクトル２４２５に決定する。
【０２３９】
また、移動体２０６の制御部６０２も、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。移動体２０６の判定円の範囲内には他の移動体が存在しないので、移動体２０６の制御部６０２は、自身の分断復旧ベクトルを、目標位置２４１１に向かう向きを持ち、一定の大きさの分断復旧ベクトル２４２６に決定する。
【０２４０】
図２７は、本開示の実施の形態１において、図４に示す状況の場合に、移動体が、どのような分断復旧ベクトルを決定するかの一例を示す概念図である。図２７において、図１及び図４と同じ構成要素については同じ符号を用い、説明を省略する。
【０２４１】
図２７に示した通り、移動体２０７においては、既知群２５０１に属する移動体は、移動体２０７であり、不明群２５０２に属する移動体は、移動体２０１−２０６である。
【０２４２】
移動体２０７の制御部６０２は、構成群位置情報から、自身との距離が一定の値以下の移動体が一つ以上存在するか否かを判断する。図２７では、移動体２０７との距離が一定の値以下の地点を、点線で描いた判定円で囲んでいる。移動体２０７の判定円の範囲内には他の移動体が存在しないので、移動体２０７の制御部６０２は、自身の分断復旧ベクトルを、不明群２５０２に属する全ての移動体の位置の中心にある目標位置２５１１に向かう向きを持ち、一定の大きさの分断復旧ベクトル２５２７に決定する。
【０２４３】
図２８は、本開示の実施の形態１における、図４に示す状況での、移動体２０１−２０７の実移動ベクトルの一例を示す概念図である。図２８において、図１及び図４と同じ構成要素については同じ符号を用い、説明を省略する。
【０２４４】
移動体２０１は、ほぼ南南西に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図４に示したように、ほぼ南南西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０１は、図２８に示したように、基本移動ベクトル群に加えて分断復旧ベクトル２４２１に基づいて計算して求めた実移動ベクトル２６０１に従って、ほぼ東に向かって移動し、通信の復旧を図ることになる。
【０２４５】
移動体２０３は、ほぼ南南西に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図４に示したように、ほぼ南南西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０３は、図２８に示したように、基本移動ベクトル群に加えて分断復旧ベクトル２４２３に基づいて計算して求めた実移動ベクトル２６０３に従って、ほぼ東に向かって移動し、通信の復旧を図ることになる。
【０２４６】
移動体２０４は、ほぼ南南西に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図４に示したように、ほぼ南南西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０４は、図２８に示したように、基本移動ベクトル群に加えて分断復旧ベクトル２４２４に基づいて計算して求めた実移動ベクトル２６０４に従って、ほぼ東に向かって移動し、通信の復旧を図ることになる。
【０２４７】
移動体２０５は、ほぼ南南西に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図４に示したように、ほぼ南南西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０５は、図２８に示したように、基本移動ベクトル群に加えて分断復旧ベクトル２４２５に基づいて計算して求めた実移動ベクトル２６０５に従って、ほぼ東北東に向かって移動し、通信の復旧を図ることになる。
【０２４８】
移動体２０６は、ほぼ南南西に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図４に示したように、ほぼ南南西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０６は、図２８に示したように、基本移動ベクトル群に加えて分断復旧ベクトル２４２６に基づいて計算して求めた実移動ベクトル２６０６に従って、ほぼ東北東に向かって移動し、通信の復旧を図ることになる。
【０２４９】
移動体２０７は、ほぼ東に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図４に示したように、ほぼ東に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０７は、図２８に示したように、基本移動ベクトル群に加えて分断復旧ベクトル２５２７に基づいて計算して求めた実移動ベクトル２６０７に従って、ほぼ南南西に向かって移動し、通信の復旧を図ることになる。
【０２５０】
一方で、移動体２０２は、ほぼ南南西に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図４に示したように、ほぼ南南西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０２は、分断復旧ベクトル２４２２の大きさが０なので、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現した後も、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合と同じく、図２８に示したように、基本移動ベクトル群に加えて大きさが０の分断復旧ベクトル２５２７に基づいて計算して求めた実移動ベクトル２６０２に従って、ほぼ南南西に向かって移動し、本来の目的を遂行することができる。
【０２５１】
このように、移動体２０１，２０３−２０７は主として通信復旧動作を行い、移動体２０２は不明群が存在しなかった場合の移動を行うことになり、構成群全体として通信の復旧と本来の目的とを両立させることができる。通信復旧動作を開始した時点における移動体２０２と移動体２０３との距離は、図２６に示す判定円の半径以下であるので、移動体２０２と移動体２０３との間の直接通信が直ちに切断されるリスクは小さい。
【０２５２】
また、特許文献１で開示されている第２の技術では、通信が復旧するまでの間、全ての移動体が、本来の目的のための移動を行うことができなくなってしまう、という課題があった。これに対して、本開示の実施の形態１では、例えば図２８の例では、移動体２０２は主として本来の目的のための移動を行うことができており、この課題を解決できている。
【０２５３】
また、特許文献１で開示されている第３の技術では、通信が復旧するまでの間、移動体群が展開していた領域が徐々に小さくなっていき、全ての移動体が、本来の目的のための移動を行うことができなくなるとともに、通信の復旧後も、通信が復旧した時点における位置から、本来の目的のための移動をやり直すことになってしまう、という課題があった。これに対して、本開示の実施の形態１では、例えば図２８の例では、移動体２０２は主として本来の目的のための移動を行うことができ、この課題を解決できている。
【０２５４】
また、特許文献１で開示されている第４の技術では、選択された移動体が切断位置に向かう方向に移動することにより、その移動体と、アドホックネットワークとの通信が切断された移動体以外の移動体との通信が切断されてしまい、二次的にアドホックネットワークの分断が拡大されていく恐れがある、という課題があった。これに対して、本開示の実施の形態１では、例えば図２８の例では、移動体２０１，２０３−２０７が、互いに集まるような移動を行うことにより、通信の復旧を効率的に行い、かつ、これらの通信の復旧を図る移動体のうちの一つである移動体２０３と、主として本来の目的のための移動を行う移動体２０２との距離は、図２６に示す判定円の半径以下であるので、移動体２０２と移動体２０３との間の直接通信が直ちに切断されるリスクは小さく、この課題を解決できている。
【０２５５】
本開示の実施の形態１のステップＳ１００６の処理では、不明群に属する移動体が存在する限り、ステップＳ１００７の処理で分断復旧ベクトルを決定する前に毎回目標位置を決定し直しているが、実施の形態１の第２の構成では、不明群に属する移動体が変更された場合にのみ目標位置を決定してもよい。
【０２５６】
実施の形態１の第２の構成の場合、不明群に属する移動体が変更された場合にのみ目標位置を決定するので、処理の効率化が図れる。
【０２５７】
本開示の実施の形態１のステップＳ１００４の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ１００５−ステップＳ１００７の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態１の第３の構成では、ステップＳ１００５の処理を初めて実行した時刻を記憶しておき、ステップＳ１００５の処理を初めて実行した時刻から０より大きい復旧期限が経過している場合には、不明群に属する移動体が存在したとしても、ステップＳ１００５−ステップＳ１００７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい。なお、復旧期限の値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０２５８】
すなわち、制御部６０２は、第１情報が通信部６０１によって受信されなくなったことを検知した場合、第２制御コマンドを移動制御部６０５に出力してから所定時間経過後に、第３制御量から第１制御量に切り替えて移動体１０１を移動させる第３制御コマンドを移動制御部６０５に出力してもよい。
【０２５９】
実施の形態１の第３の構成の場合、復旧期限が経過しても通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０２６０】
なお、実施の形態１の第３の構成において、一旦、復旧期限が経過した後でも、不明群に属する移動体が変更された場合、又は更に一定の時間が経過した場合など、適切なタイミングで、ステップＳ１００５の処理を初めて実行した時刻をリセットし、再び、ステップＳ１００５−ステップＳ１００７の処理を実行できるようにしてもよい（実施の形態１の第４の構成）。
【０２６１】
実施の形態１の第４の構成の場合、復旧期限が経過した後、一定の条件が成立した場合には、通信復旧動作をリトライすることができる。
【０２６２】
本開示の実施の形態１のステップＳ１００４の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ１００５−ステップＳ１００７の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態１の第５の構成では、目標位置までの距離が、移動中止判定距離以内の位置に到達した場合には、不明群に属する移動体が存在したとしても、ステップＳ１００５−ステップＳ１００７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい。なお、移動中止判定距離の値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０２６３】
すなわち、制御部６０２は、第１情報が通信部６０１によって受信されなくなったことを検知した場合、第１位置と、第２制御コマンドが移動制御部６０５に出力された後の移動体１０１の位置を示す第３位置との距離が所定値以下であるか否かを判断し、距離が所定値以下であると判断した場合、第３制御量から第１制御量に切り替えて移動体１０１を移動させる第３制御コマンドを移動制御部６０５に出力してもよい。
【０２６４】
実施の形態１の第５の構成の場合、目標位置までの距離が、移動中止判定距離以下になるまで近づいても、通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０２６５】
なお、実施の形態１の第５の構成において、一旦、目標位置までの距離が、移動中止判定距離以内の位置に到達した後は、不明群に属する移動体が変更されるまでは、ステップＳ１００５−ステップＳ１００７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい（実施の形態１の第６の構成）。
【０２６６】
実施の形態１の第６の構成の場合、一旦、目標位置までの距離が、移動中止判定距離以内の位置に到達した後に、再び、目標位置までの距離が、移動中止判定距離よりも遠い位置に離れた場合に、再度通信復旧動作を開始して、通信復旧動作と本来の目的のための移動とを交互に繰り返すような事態を回避することができる。
【０２６７】
本開示の実施の形態１のステップＳ１００４の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ１００５−ステップＳ１００７の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態１の第７の構成では、特定の位置から目標位置までの距離に移動中止判定係数を乗じた距離を示す第２移動中止判定距離を算出し、目標位置までの距離が、第２移動中止判定距離以内の位置に到達した場合には、不明群に属する移動体が存在したとしても、ステップＳ１００５−ステップＳ１００７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい。なお、第２移動中止判定係数の値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０２６８】
実施の形態１の第７の構成の場合、目標位置までの距離が、特定の位置から目標位置までの距離に第２移動中止判定係数を乗じた距離以下になるまで近づいても、通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０２６９】
なお、実施の形態１の第７の構成において、一旦、目標位置までの距離が、第２移動中止判定距離以内の位置に到達した後は、不明群に属する移動体が変更されるまでは、ステップＳ１００５−ステップＳ１００７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい（実施の形態１の第８の構成）。
【０２７０】
実施の形態１の第８の構成の場合、一旦、目標位置までの距離が、第２移動中止判定距離以内の位置に到達した後に、再び、目標位置までの距離が、第２移動中止判定距離よりも遠い位置に離れた場合に、再度通信復旧動作を開始して、通信復旧動作と本来の目的のための移動とを交互に繰り返すような事態を回避することができる。
【０２７１】
本開示の実施の形態１のステップＳ１００４の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ１００５−ステップＳ１００７の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態１の第９の構成では、目標位置に到達した場合には、不明群に属する移動体が存在したとしても、ステップＳ１００５−ステップＳ１００７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい。
【０２７２】
実施の形態１の第９の構成の場合、目標位置に到達しても、通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０２７３】
なお、実施の形態１の第９の構成において、一旦、目標位置に到達した後は、不明群に属する移動体が変更されるまでは、ステップＳ１００５−ステップＳ１００７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい（実施の形態１の第１０の構成）。
【０２７４】
実施の形態１の第１０の構成の場合、一旦、目標位置に到達した後に、再び、目標位置から離れた場合に、再度通信復旧動作を開始して、通信復旧動作と本来の目的のための移動とを交互に繰り返すような事態を回避することができる。
【０２７５】
本開示の実施の形態１の第３から第１０の構成において、ステップＳ１００４の処理を実行する際に、それぞれの構成の説明で明記した条件が成立し、通信復旧動作を中止するために、ステップＳ１００５−ステップＳ１００７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行した時点で既知群に属する移動体のグループを構成群として特定し直すことにより、アドホックネットワークを分割してもよい（実施の形態１の第１１の構成）。
【０２７６】
通信部６０１は、更に、移動体１０１とネットワークを構成する、移動体１０１及び移動体１０５とは異なる第２の通信対象移動体（例えば、移動体１０２）から送信された、移動体１０２の第２位置、第２速度、及び第２加速度のいずれかを示す第２情報を受信してもよい。記憶部６０３は、第１情報及び第２情報を含む第４情報（他移動体情報７０２）を格納してもよい。制御部６０２は、第３制御コマンドを移動制御部６０５に出力した時、記憶部６０３に格納された第４情報から第１情報を削除することによって第４情報を更新してもよい。
【０２７７】
実施の形態１の第１１の構成の場合、既知群に属する移動体のそれぞれは、既に通信の復旧に失敗した不明群に対する通信復旧動作を再開して通信復旧動作の中止と再開とを際限なく繰り返すことを回避することができる。
【０２７８】
本開示の実施の形態１の第３から第１０の構成において、ステップＳ１００４の処理を実行する際に、それぞれの構成の説明で明記した条件が成立し、通信復旧動作を中止するために、ステップＳ１００５−ステップＳ１００７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行した時点で、既知群に属する自分以外の全ての移動体に対して、アドホックネットワークを分割することを通知する分割通知を送信してもよい（実施の形態１の第１２の構成）。また、他の移動体から分割通知を受信した時には、ステップＳ１００４の処理を実行する際に、不明群に属する移動体が存在したとしても、ステップＳ１００５−ステップＳ１００７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい。これにより、通信復旧動作を中止し、その時点で既知群に属する移動体のグループを構成群として特定し直すことにより、アドホックネットワークを分割する。
【０２７９】
実施の形態１の第１２の構成の場合、既知群に属する移動体のそれぞれは、同一の構成群を特定することができ、更に、既に通信の復旧に失敗した不明群に対する通信復旧動作を再開して通信復旧動作の中止と再開とを際限なく繰り返すことを回避することができる。
【０２８０】
本開示の実施の形態１の第３から第１０の構成において、ステップＳ１００４の処理を実行する際に、それぞれの構成の説明で明記した条件が成立し、通信復旧動作を中止するために、ステップＳ１００５−ステップＳ１００７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行した時点で、既知群に属する自分以外の全ての移動体に対して、既知群に属する移動体のグループを特定する既知群情報を送信してもよい（実施の形態１の第１３の構成）。また、他の移動体から既知群情報を受信した時には、ステップＳ１００４の処理を実行する際に、不明群に属する移動体が存在したとしても、ステップＳ１００５−ステップＳ１００７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい。これにより、通信復旧動作を中止し、既知群情報で特定される移動体のグループを構成群として特定し直すことにより、アドホックネットワークを分割する。
【０２８１】
制御部６０２は、第４情報（他移動体情報７０２）を更新したとき、通信部６０１に対して、第４情報を第２の通信対象移動体（例えば、移動体１０２）へ送信させてもよい。
【０２８２】
記憶部６０３は、第１情報及び第２情報を含む第４情報を格納してもよい。第２の通信対象移動体（例えば、移動体１０２）は、移動体１０１を示す情報と第３の通信対象移動体（例えば、移動体１０５，１０６，１０７のいずれか）を示す情報とを含む第５情報（移動体１０２が記憶する他移動体情報）から第３の通信対象移動体を示す情報を削除することによって第５情報を更新したとき、第５情報を移動体１０１に送信してもよい。移動体１０１の通信部６０１は、第２の通信対象移動体によって送信された第５情報を受信してもよい。制御部６０２は、記憶部６０３に格納されている第４情報を第５情報に更新してもよい。
【０２８３】
実施の形態１の第１３の構成の場合、既知群に属する移動体のそれぞれは、通信によるタイムラグの影響を受けずに、確実に同一の構成群を特定することができ、更に、既に通信の復旧に失敗した不明群に対する通信復旧動作を再開して通信復旧動作の中止と再開とを際限なく繰り返すことを回避することができる。
【０２８４】
なお、ステップＳ１００９の処理で移動体１０１が実移動ベクトル１８０１に従って実際に移動した後、移動体１０５との通信が再開したとき、移動体１０１は、本来の移動に戻る。すなわち、制御部６０２は、基本移動ベクトル群で移動させる制御コマンドを生成し、移動制御部６０５へ出力する。移動制御部６０５は、制御コマンドに従って実際に移動体１０１を移動させる。
【０２８５】
すなわち、制御部６０２は、第１情報が通信部６０１によって受信されなくなったことを検知した後、第１情報が再度通信部６０１によって受信されるようになったことを検知した場合、第３制御量から第１制御量に切り替えて移動体１０１を移動させる第３制御コマンドを移動制御部６０５に出力してもよい。
【０２８６】
また、ステップＳ１００９の処理で移動体１０１が実移動ベクトル１８０１に従って実際に移動した後、移動体１０５，１０６，１０７との通信が全て再開したとき、移動体１０１は、本来の移動に戻る。すなわち、制御部６０２は、基本移動ベクトル群で移動させる制御コマンドを生成し、移動制御部６０５へ出力する。移動制御部６０５は、制御コマンドに従って実際に移動体１０１を移動させる。
【０２８７】
すなわち、通信部６０１は、複数の第１の通信対象移動体（例えば、移動体１０５，１０６，１０７）のそれぞれから第１情報を再度受信してもよい。制御部６０２は、複数の第１情報が通信部６０１によって受信されなくなったことを検知した後、複数の第１情報が再度通信部６０１によって受信されるようになったことを検知した場合、第３制御量から第１制御量に切り替えて移動体１０１を移動させる第３制御コマンドを移動制御部６０５に出力してもよい。
【０２８８】
（実施の形態２）
本開示の実施の形態２における、複数の移動体によって構成されるアドホックネットワークの全体像を表した概念図は、図６と同じであるので、説明を省略する。
【０２８９】
本開示の実施の形態２における、移動体１０１の機能構成を示したブロック図は、図８と同じであるので、説明を省略する。
【０２９０】
本開示の実施の形態２における、移動体１０１の記憶部６０３に記憶される情報を示した図は、図１０と同じであるので、説明を省略する。
【０２９１】
本開示の実施の形態２における、移動体１０１の記憶部６０３に記憶する自移動体情報７０１の一例を示す図は、図１０と同じであるので、説明を省略する。
【０２９２】
本開示の実施の形態２における、移動体１０１の記憶部６０３に記憶する他移動体情報７０２の一例を示す図は、図１１と同じであるので、説明を省略する。
【０２９３】
図２９は、本開示の実施の形態２における、移動体１０１の移動制御の全体動作を示すフローチャートである。図２９において、図１２と同じ処理については同じ符号を用い、説明を省略する。
【０２９４】
なお、本開示の実施の形態２では、ステップＳ１００４の処理で不明群に属する移動体が存在した場合には、ステップＳ１００５−ステップＳ２８０７の処理を実行する。
【０２９５】
移動体１０１の制御部６０２は、ステップＳ１００６の処理で目標位置を決定した後、目標位置から自身の位置までの距離を算出する（ステップＳ２８１１）。
【０２９６】
基本移動ベクトル群の一例の概念図は、図１３と同じであるので、説明を省略する。
【０２９７】
移動体１０５が故障した場合の、移動体１０１−１０４のそれぞれにおける既知群と不明群とを示す概念図は、図１４と同じであるので、説明を省略する。
【０２９８】
移動体１０５が故障した場合の、移動体１０６−１０７のそれぞれにおける既知群と不明群とを示す概念図は、図１５と同じであるので、説明を省略する。
【０２９９】
移動体１０５が故障した場合の、移動体１０１−１０４のそれぞれにおける、目標位置の決定方法と、それらの決定方法によって決定された目標位置の一例を示す図は、図１６と同じである。なお、移動体１０５−１０７のそれぞれは、図１１の他移動体情報７０２に記載した位置にあるとする。
【０３００】
移動体１０１−１０４のそれぞれにおいては、例えば、不明群に属する全ての移動体の位置の中心位置を目標位置として決定する場合には、目標位置は、図１６の目標位置１４０１となり、目標位置１４０１の値は「北緯３４度４１分３７．６秒、東経１３５度３０分９．１秒、海抜２ｍ」となる。この場合、移動体１０１−１０４のそれぞれにおける、目標位置１４０１から自身の位置までの距離は、それぞれ、５３．３ｍ、３７．６ｍ、３５．５ｍ及び２７．９ｍとなる。
【０３０１】
また、不明群に属する全ての移動体の位置のうち、自身に最も近い位置を目標位置として決定する場合には、目標位置は、図１６の目標位置１４０２、すなわち、移動体１０５の位置となり、目標位置１４０２の値は「北緯３４度４１分３７．５秒、東経１３５度３０分８．６秒、海抜２ｍ」となる。この場合、移動体１０１−１０４のそれぞれにおける、目標位置１４０２から自身の位置までの距離は、それぞれ、４０．６ｍ、２５．０ｍ、２２．７ｍ及び１９．９ｍとなる。ただし、ここでは、緯度１秒分の距離を３１ｍとし、経度１秒分の距離を２５ｍとして、簡易的に近似値を計算しているが、緯度及び経度の差分から距離を計算する計算方法については、本開示の主旨とは無関係であることは言うまでもない。以下、本明細書では、特に明記しない限り、ここで示した簡易的な計算によって、緯度及び経度の差分から距離を計算することとする。
【０３０２】
移動体１０５が故障した場合の、移動体１０６−１０７のそれぞれにおける、目標位置の決定方法と、それらの決定方法によって決定された目標位置の一例を示す図は、図１７と同じである。なお、移動体１０１−１０５のそれぞれは、図１１の他移動体情報７０２に記載した位置にあるとする。
【０３０３】
移動体１０６−１０７のそれぞれにおいては、例えば、不明群に属する全ての移動体の位置の中心位置を目標位置として決定する場合には、目標位置は、図１７の目標位置１５０１となり、目標位置１５０１の値は「北緯３４度４１分３７．４８秒、東経１３５度３０分７．８２秒、海抜２ｍ」となる。この場合、移動体１０６−１０７のそれぞれにおける、目標位置１５０１から自身の位置までの距離は、それぞれ、３３．５ｍ及び４４．５ｍとなる。
【０３０４】
また、不明群に属する全ての移動体の位置のうち、自身に最も近い位置を目標位置として決定する場合には、目標位置は、図１７の目標位置１５０２、すなわち、移動体１０５の位置となり、目標位置１５０２の値は「北緯３４度４１分３７．５秒、東経１３５度３０分８．６秒、海抜２ｍ」となる。この場合、移動体１０６−１０７のそれぞれにおける、目標位置１５０２から自身の位置までの距離は、それぞれ、１５．６ｍ及び２５．０ｍとなる。
【０３０５】
次に、移動体１０１の制御部６０２は、目標位置から自身の位置までの距離に応じて、目標位置に向かうための移動ベクトルを示す分断復旧ベクトルを決定する（ステップＳ２８０７）。そして、制御部６０２は、分断復旧ベクトルに関する情報である分断復旧ベクトル情報を作成し、自移動体情報７０１の分断復旧ベクトル情報を更新する。すなわち、制御部６０２は、移動体１０１の現在位置を示す第３情報を取得し、第１情報と第３情報とに基づいて移動体１０１と第１の通信対象移動体（例えば、移動体１０５）との距離を算出し、距離に基づいて第２制御量（分断復旧ベクトル）を決定する。
【０３０６】
分断復旧ベクトルの向きは、例えば、目標位置の方向とし、分断復旧ベクトルの大きさは、目標位置から自身の位置までの距離に反比例した値としてもよい。すなわち、制御部６０２は、距離が短いほど、第２移動距離、第２速度絶対値、又は第２加速度絶対値を小さくしてもよい。また、制御部６０２は、距離が長いほど、第２移動距離、第２速度絶対値、又は第２加速度絶対値を小さくしてもよい。
【０３０７】
ここで、移動体１０１−１０７が、不明群に属する全ての移動体の位置のうち、自身に最も近い位置を目標位置として決定し、かつ、向きが目標位置に向かう方向であり、大きさが目標位置から自身の位置までの距離の三乗に反比例した値である分断復旧ベクトルを決定する場合の、分断復旧ベクトルの一例を説明する。なお、ここでは、定数８０，０００を、目標位置から自身の位置までの距離の三乗で割った値を、それぞれの分断復旧ベクトルの大きさとする。
【０３０８】
図３０は、本開示の実施の形態２において、１の移動体１０５が故障した場合の、他の移動体１０１−１０４のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。図３０において、図６、図１４及び図１６と同じ構成要素については同じ符号を用い、説明を省略する。
【０３０９】
上述した通り、目標位置１４０２から移動体１０１−１０４のそれぞれの位置までの距離は、４０．６ｍ、２５．０ｍ、２２．７ｍ、及び１９．９ｍである。従って、移動体１０１−１０４の分断復旧ベクトルの大きさは、それぞれ、１．２ｍ／ｓ、５．１ｍ／ｓ、６．８ｍ／ｓ及び１０．２ｍ／ｓとなり、向きは目標位置１４０２に向かう方向であるので、移動体１０１の分断復旧ベクトル２９０１は（１．２ｍ／ｓ，０．２ｍ／ｓ，０ｍ／ｓ）となり、移動体１０２の分断復旧ベクトル２９０２は（５．１ｍ／ｓ，−０．６ｍ／ｓ，０ｍ／ｓ）となり、移動体１０３の分断復旧ベクトル２９０３は（６．８ｍ／ｓ，０．６ｍ／ｓ，０ｍ／ｓ）となり、移動体１０４の分断復旧ベクトル２９０４は（７．３ｍ／ｓ，−７．３ｍ／ｓ，０ｍ／ｓ）となる。
【０３１０】
図３１は、本開示の実施の形態２において、１の移動体１０５が故障した場合の、他の移動体１０６−１０７のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。図３１において、図６、図１５及び図１７と同じ構成要素については同じ符号を用い、説明を省略する。
【０３１１】
上述した通り、目標位置１５０２から移動体１０６−１０７のそれぞれの位置までの距離は１５．６ｍ及び２５．０ｍである。従って、移動体１０６−１０７の分断復旧ベクトルの大きさは、それぞれ、２１．１ｍ／ｓ及び５．１ｍ／ｓとなり、向きは目標位置１５０２に向かう方向であるので、移動体１０６の分断復旧ベクトル３００６は（−１６．９ｍ／ｓ，−１２．７ｍ／ｓ，０ｍ／ｓ）となり、移動体１０７の分断復旧ベクトル３００７は（−５．１ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）となる。
【０３１２】
次に、移動体１０１の制御部６０２は、基本移動ベクトル群に属する全ての移動ベクトルと、分断復旧ベクトルとに対して、それぞれ０以外の値を乗じた移動ベクトルの和を計算し、計算結果の移動ベクトルを実移動ベクトルとして決定する（ステップＳ１００８）。そして、制御部６０２は、実移動ベクトルに関する情報である実移動ベクトル情報を作成し、自移動体情報７０１の実移動ベクトル情報を更新する。
【０３１３】
図３２は、本開示の実施の形態２において、１の移動体１０５が故障した場合の、他の移動体１０１における、実移動ベクトルの決定方法の一例を示す概念図である。図３２において、図６、図１４、図１６及び図３０と同じ構成要素については同じ符号を用い、説明を省略する。
【０３１４】
ここでは、制御部６０２は、障害物を回避するための移動の比重を大きくするため、基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルには０．５を乗じ、障害物回避基本移動ベクトルには１を乗じ、分断復旧ベクトルには１を乗じた上で、計算結果の移動ベクトルの和を計算する。なお、基本移動ベクトル群に属するそれぞれの移動ベクトルに乗ずる値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０３１５】
図３２に示す例では、移動体１０１の主基本移動ベクトル１１０１は（−５ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）であり、障害物回避基本移動ベクトル１１０２は（０ｍ／ｓ，５ｍ／ｓ，０ｍ／ｓ）であり、分断復旧ベクトル１６０１は（１０ｍ／ｓ，２ｍ／ｓ，０ｍ／ｓ）であるから、計算結果の移動ベクトルは（−１．３ｍ／ｓ，４．２ｍ／ｓ，０ｍ／ｓ）となる。移動体１０１の制御部６０２は、計算結果の移動ベクトル（−１．３ｍ／ｓ，４．２ｍ／ｓ，０ｍ／ｓ）を実移動ベクトル３１０１として決定する。
【０３１６】
移動体１０１は、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合、主基本移動ベクトル１１０１（−５ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）に０．５を乗じたベクトルと、障害物回避基本移動ベクトル１１０２（０ｍ／ｓ，５ｍ／ｓ，０ｍ／ｓ）に１を乗じたベクトルと、ステップＳ１０１０で決定した大きさ０の分断復旧ベクトルに１を乗じたベクトルとを加算して求まる実移動ベクトル（−２．５ｍ／ｓ，４ｍ／ｓ，０ｍ／ｓ）に従って移動する。そのため、図１３に示したように、移動体１０１は、障害物を避けてほぼ北北西に向かって移動する予定であった。しかしながら、移動体１０５が故障して、不明群に属する移動体が出現したことによって、移動体１０１は、図３２に示したように、実移動ベクトル３１０１（−１．３ｍ／ｓ，４．２ｍ／ｓ，０ｍ／ｓ）に従って、ほぼ北北西に向かって移動することになる。目標位置１４０２から自身の位置までの距離が移動体１０２−１０４よりも遠いので、通信の復旧を図る移動の比重も若干はあるものの、ほぼ本来の目的を遂行することができる。
【０３１７】
移動体１０２−１０４，１０６−１０７の実移動ベクトルも、移動体１０１の実移動ベクトルと同様にして決定される。
【０３１８】
図３３は、本開示の実施の形態２において、１の移動体１０５が故障した場合の、他の移動体１０１−１０４，１０６−１０７における、実移動ベクトルの一例を示す概念図である。図３３において、図６及び図３２と同じ構成要素については同じ符号を用い、説明を省略する。
【０３１９】
ここでは、移動体１０２−１０４の基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルの値を（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。また、移動体１０６−１０７の基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルの値を（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。
【０３２０】
また、ここでは、制御部６０２は、主基本移動ベクトルに０．５を乗じ、障害物回避基本移動ベクトルに１を乗じ、分断復旧ベクトルに１を乗じて求まる各移動ベクトルの和を、実移動ベクトルとして決定する。
【０３２１】
移動体１０２は、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合、実移動ベクトル（−５ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に従って移動するので、図１３に示したように、西に向かって移動する予定であった。しかしながら、移動体１０５が故障して、不明群に属する移動体が出現したことによって、移動体１０２は、図３３に示したように、実移動ベクトル３２０２（０．１ｍ／ｓ，−０．６ｍ／ｓ，０ｍ／ｓ）に従って、ほぼ南南東に向かって移動することになる。
【０３２２】
移動体１０３は、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合、実移動ベクトル（−５ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に従って移動するので、図１３に示したように、西に向かって移動する予定であった。しかしながら、移動体１０５が故障して、不明群に属する移動体が出現したことによって、移動体１０３は、図３３に示したように、実移動ベクトル３２０３（１．８ｍ／ｓ，０．６ｍ／ｓ，０ｍ／ｓ）に従って、ほぼ東北東に向かって移動することになる。
【０３２３】
移動体１０４は、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合、実移動ベクトル（−５ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に従って移動するので、図１３に示したように、西に向かって移動する予定であった。しかしながら、移動体１０５が故障して、不明群に属する移動体が出現したことによって、移動体１０４は、図３３に示したように、実移動ベクトル３２０４（２．３ｍ／ｓ，−７．３ｍ／ｓ，０ｍ／ｓ）に従って、ほぼ南南東に向かって移動することになる。
【０３２４】
移動体１０２−１０３と比べて目標位置１４０２から自身の位置までの距離が近い移動体１０４は、通信の復旧が期待できる位置まで、移動体１０２−１０３と比べてより速く移動し、主として通信復旧動作を担うことになる。また、移動体１０４と比べて目標位置１４０２から自身の位置までの距離が遠い移動体１０２−１０３は、通信の復旧が期待できる位置へ向かって移動するが、移動体１０４と比べて低速度で移動するので、移動体１０４と離れすぎて直接通信が切断されることを防ぎつつ、本来の目的を遂行することができる。また、移動体１０２−１０３と比べて更に目標位置１４０２から自身の位置までの距離が遠い移動体１０１は、通信の復旧を図る移動の比重も若干はあるものの、ほぼ本来の目的を遂行することができる。
【０３２５】
移動体１０５が故障したことにより、移動体１０１−１０４とは通信ができなくなっている、移動体１０６−１０７についても、上記と同様である。
【０３２６】
移動体１０６は、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合、実移動ベクトル（５ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に従って移動するので、図１３に示したように、東に向かって移動する予定であった。しかしながら、移動体１０５が故障して、不明群に属する移動体が出現したことによって、移動体１０６は、図３３に示したように、実移動ベクトル３２０６（−１１．９ｍ／ｓ，−１２．７ｍ／ｓ，０ｍ／ｓ）に従って、ほぼ南西に向かって移動することになる。
【０３２７】
移動体１０７は、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合、実移動ベクトル（５ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に従って移動するので、図１３に示したように、東に向かって移動する予定であった。しかしながら、移動体１０５が故障して、不明群に属する移動体が出現したことによって、移動体１０７は、図３３に示したように、実移動ベクトル３２０７（−０．１ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に従って、ほぼ西に向かって移動することになる。
【０３２８】
移動体１０７と比べて目標位置１５０２から自身の位置までの距離が近い移動体１０６は、通信の復旧が期待できる位置まで、移動体１０７と比べてより速く移動し、主として通信復旧動作を担うことになる。また、移動体１０６と比べて目標位置１５０２から自身の位置までの距離が遠い移動体１０７は、通信の復旧が期待できる位置へ向かって移動するが、移動体１０６と比べて低速度で移動するので、移動体１０６と離れすぎて直接通信が切断されることを防ぎつつ、本来の目的を遂行することができる。
【０３２９】
以上より、結果として、移動体１０２−１０７が、互いに集まるような移動を行うことになるので、通信の復旧は更に効率的に進むことになる。
【０３３０】
次に、移動体１０１の制御部６０２は、自移動体情報７０１から実移動ベクトル情報を取得し、取得した実移動ベクトル１８０１に従って実際に移動を行う（ステップＳ１００９）。制御部６０２は、実移動ベクトル１８０１で移動させる制御コマンドを生成し、移動制御部６０５へ出力する。移動制御部６０５は、制御コマンドに従って実際に移動体１０１を移動させる。
【０３３１】
以下、特許文献１で開示されている技術では解決できていなかった課題を、本開示の実施の形態２では解決できていることを、具体例を用いて、説明する。
【０３３２】
既に述べた通り、特許文献１で開示されている第１の技術は、図２の例のように、どの移動体から見ても、アドホックネットワークとの通信が切断された移動体が二つ以上である場合については、そのままでは適用することができなかった。
【０３３３】
これに対して、本開示の実施の形態２では、上述した通り、図３３の例のように、どの移動体から見ても、アドホックネットワークとの通信が切断された移動体が二つ以上である場合でも、通信の復旧を図ることができる。このような場合、すなわち、どの移動体から見ても、不明群に属する移動体が二つ以上である場合でも、構成群に属する移動体のうちの一部又は全部が互いに集まるような移動を行うことになるので、通信の復旧を図ることができる。図３３の例では、移動体１０２−１０４，１０６−１０７が、互いに集まるような移動を行うことにより、通信の復旧を図ることができている。
【０３３４】
また、特許文献１で開示されている第２の技術では、通信が復旧するまでの間、全ての移動体が、本来の目的のための移動を行うことができなくなってしまう、という課題があった。これに対して、本開示の実施の形態２では、例えば図３３の例では、移動体１０１は主として本来の目的のための移動を行うことができ、この課題を解決できている。
【０３３５】
また、特許文献１で開示されている第３の技術では、通信が復旧するまでの間、移動体群が展開していた領域が徐々に小さくなっていき、全ての移動体が、本来の目的のための移動を行うことができなくなるとともに、通信の復旧後も、通信が復旧した時点における位置から、本来の目的のための移動をやり直すことになってしまう、という課題があった。これに対して、本開示の実施の形態２では、例えば図３３の例では、移動体１０１は主として本来の目的のための移動を行うことができ、この課題を解決できている。
【０３３６】
また、特許文献１で開示されている第４の技術では、選択された移動体が切断位置に向かう方向に移動することにより、その移動体と、アドホックネットワークとの通信が切断された移動体以外の移動体との通信が切断されてしまい、二次的にアドホックネットワークの分断が拡大されていく恐れがある、という課題があった。これに対して、本開示の実施の形態２では、例えば図３３の例では、移動体１０２−１０４，１０６−１０７が、互いに集まるような移動を行うことにより、通信の復旧を図り、目標位置１４０２から最も遠い移動体１０１は主として本来の目的のための移動を行うことができる。
【０３３７】
そして、移動体１０１−１０４の移動速度は、目標位置１４０２から自身の位置までの距離の三乗に反比例した値の分断復旧ベクトルに従って決定され、移動体１０１、移動体１０２、移動体１０３及び移動体１０４の順で、目標位置１４０２からの距離が遠いので、移動体１０１は主として本来の目的のための移動を行うことができ、移動体１０２は通信の復旧が期待できる位置へ向かって移動体１０３よりも低速度で移動し、移動体１０３は通信の復旧が期待できる位置へ向かって移動体１０４よりも低速度で移動し、移動体１０４は、通信の復旧が期待できる位置へ向かって移動体１０２−１０３よりも速く移動し、主として通信復旧動作を担う。
【０３３８】
このため、移動体１０１−１０４が互いに離れる相対速度は小さな値に抑えることができるので、移動体１０１と移動体１０２との間、移動体１０２と移動体１０３との間、移動体１０２と移動体１０４との間、移動体１０３と移動体１０４との間の、それぞれの直接通信が直ちに切断されるリスクは小さい。
【０３３９】
また、移動体１０６−１０７の移動速度は、目標位置１５０２から自身の位置までの距離の三乗に反比例した値の分断復旧ベクトルに従って決定され、移動体１０７及び移動体１０６の順で、目標位置１５０２からの距離が遠いので、移動体１０７は通信の復旧が期待できる位置へ向かって移動体１０６よりも低速度で移動し、移動体１０６は、通信の復旧が期待できる位置へ向かって移動体１０７よりも速く移動し、主として通信復旧動作を担う。
【０３４０】
このため、移動体１０６−１０７が互いに離れる相対速度は小さな値に抑えることができるので、移動体１０６と移動体１０７との間の直接通信が直ちに切断されるリスクは小さい。以上により、特許文献１で開示されている第４の技術の課題を解決できていることがわかる。
【０３４１】
また、既に述べた通り、特許文献１で開示されている第１の技術では、図３の例のように、移動体の一部又は全部が互いに遠ざかるような方向に移動した場合には、最善でも一部の通信の復旧しか図ることができなかった。図３の例では、移動体２０１−２０４と移動体２０６−２０７とが互いに遠ざかるような方向に移動し続けている場合には、最善でも移動体２０１−２０４と移動体２０６−２０７とのどちらか一方に属する移動体のみとの直接通信が復旧するのみで、他方に属する移動体との直接通信を復旧することはできなかった。
【０３４２】
これに対して、本開示の実施の形態２では、図３の例のように、移動体の一部が互いに遠ざかるような方向に移動した場合でも、通信の復旧を図ることができる。このことを、以下に説明する。
【０３４３】
なお、ここでは、移動体２０１−２０７は、不明群に属する全ての移動体の位置のうち、自身に最も近い位置を目標位置として決定し、かつ、向きが目標位置に向かう方向であり、大きさが目標位置から自身の位置までの距離の三乗に反比例した値である分断復旧ベクトルを決定する。
【０３４４】
また、ここでは、移動体２０１−２０７の制御部６０２は、障害物を回避するための移動の比重を大きくするため、基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルには０．５を乗じ、障害物回避基本移動ベクトルには１を乗じ、分断復旧ベクトルには１を乗じた上で、計算結果の移動ベクトルの和を計算する。
【０３４５】
また、ここでは、移動体２０２−２０４の基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルの値を（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。また、移動体２０６−２０７の基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルの値を（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。
【０３４６】
また、ここでは、移動体２０１−２０７の制御部６０２は、は、主基本移動ベクトルに０．５を乗じ、障害物回避基本移動ベクトルに１を乗じ、分断復旧ベクトルに１を乗じて求まる各移動ベクトルの和を、実移動ベクトルとして決定する。
【０３４７】
図３４は、本開示の実施の形態２における、図３に示す状況での、移動体２０１−２０４の分断復旧ベクトルの一例を示す概念図である。図３４において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０３４８】
図３４に示した通り、移動体２０１−２０４のそれぞれにおいては、既知群３３０１に属する移動体は、移動体２０１−２０４であり、不明群３３０２に属する移動体は、移動体２０５−２０７である。
【０３４９】
移動体２０１−２０４の制御部６０２は、向きが目標位置３３１１に向かう方向であり、大きさが目標位置３３１１から自身の位置までの距離の三乗に反比例した値である分断復旧ベクトル３３２１−３３２４を決定する。
【０３５０】
図３５は、本開示の実施の形態２における、図３に示す状況での、移動体２０５の分断復旧ベクトルの一例を示す概念図である。図３５において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０３５１】
図３５に示した通り、移動体２０５においては、既知群３４０１に属する移動体は、移動体２０５であり、不明群３４０２に属する移動体は、移動体２０１−２０４，２０６−２０７である。
【０３５２】
移動体２０５の制御部６０２は、向きが目標位置３４１１に向かう方向であり、大きさが目標位置３４１１から自身の位置までの距離の三乗に反比例した値である分断復旧ベクトル３４２５を決定する。
【０３５３】
図３６は、本開示の実施の形態２における、図３に示す状況での、移動体の分断復旧ベクトルの一例を示す概念図である。図３６において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０３５４】
図３６に示した通り、移動体２０６−２０７のそれぞれにおいては、既知群３５０１に属する移動体は、移動体２０６−２０７であり、不明群３５０２に属する移動体は、移動体２０１−２０５である。
【０３５５】
移動体２０６−２０７の制御部６０２は、向きが目標位置３５１１に向かう方向であり、大きさが目標位置３５１１から自身の位置までの距離の三乗に反比例した値である分断復旧ベクトル３５２６−３５２７を決定する。
【０３５６】
図３７は、本開示の実施の形態２における、図３に示す状況での、移動体２０１−２０７の実移動ベクトルの一例を示す概念図である。図３７において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０３５７】
移動体２０１は、西に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図３に示したように、西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０１は、図３７に示したように、基本移動ベクトル群に加えて分断復旧ベクトル３３２１に基づいて計算して求めた実移動ベクトル３６０１に従って、ほぼ西に向かって移動することになる。移動体２０１は、目標位置３３１１から自身の位置までの距離が移動体２０２−２０４よりも遠いので、通信の復旧を図る移動の比重も若干はあるものの、ほぼ本来の目的を遂行することができる。
【０３５８】
移動体２０２は、西に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図３に示したように、西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０２は、図３７に示したように、基本移動ベクトル群に加えて分断復旧ベクトル３３２２に基づいて計算して求めた実移動ベクトル３６０２に従って、ほぼ西に向かって移動することになる。移動体２０２は、目標位置３３１１から自身の位置までの距離が移動体２０１よりも近いので、通信の復旧を図る移動の比重が移動体２０１よりは大きいものの、本来の目的を遂行することができる。
【０３５９】
移動体２０３は、西に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図３に示したように、西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０３は、図３７に示したように、基本移動ベクトル群に加えて分断復旧ベクトル３３２３に基づいて計算して求めた実移動ベクトル３６０３に従って、ほぼ北東に向かって移動することになる。移動体２０３は、目標位置３３１１から自身の位置までの距離が移動体２０４よりも遠いので、通信の復旧を図る移動の比重が移動体２０４よりは小さいものの、通信の復旧を図ることになる。
【０３６０】
移動体２０４は、西に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図３に示したように、西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０４は、図３７に示したように、基本移動ベクトル群に加えて分断復旧ベクトル３３２４に基づいて計算して求めた実移動ベクトル３６０４に従って、ほぼ東南東に向かって移動し、主として通信の復旧を図ることになる。
【０３６１】
移動体２０５は、ほとんど移動しない基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図３に示したように、その場に停止する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０５は、図３７に示したように、基本移動ベクトル群に加えて分断復旧ベクトル３４２５に基づいて計算して求めた実移動ベクトル３６０５に従って、ほぼ東北東に向かって移動し、主として通信の復旧を図ることになる。
【０３６２】
移動体２０６は、東に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図３に示したように、東に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０６は、図３７に示したように、基本移動ベクトル群に加えて分断復旧ベクトル３５２６に基づいて計算して求めた実移動ベクトル３６０６に従って、ほぼ南西に向かって移動し、主として通信の復旧を図ることになる。
【０３６３】
移動体２０７は、東に向かって移動する基本移動ベクトル群を決定し、移動体２０５が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図３に示したように、東に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０５が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０７は、図３７に示したように、基本移動ベクトル群に加えて分断復旧ベクトル３５２７に基づいて計算して求めた実移動ベクトル３６０７に従って、ほぼ東に向かって移動することになる。移動体２０７は、目標位置３３１１から自身の位置までの距離が移動体２０６よりも遠いので、通信の復旧を図る移動の比重はあるものの、本来の目的を遂行することができる。
【０３６４】
このように、移動体２０３−２０６は主として通信復旧動作を行い、移動体２０１−２０２及び移動体２０７は、主として不明群が存在しなかった場合の移動を行うことになり、構成群全体として通信の復旧と本来の目的とを両立させることができる。移動体２０１−２０４の移動速度は、目標位置３３１１から自身の位置までの距離の三乗に反比例した値の分断復旧ベクトルに従って決定され、移動体２０１、移動体２０２、移動体２０３及び移動体２０４の順で、目標位置３３１１からの距離が遠い。そのため、移動体２０１は主として本来の目的のための移動を行うことができる。移動体２０２は通信の復旧を図る移動の比重が移動体２０１よりは大きいものの、本来の目的のための移動を行う。移動体２０３は通信の復旧が期待できる位置へ向かって移動体２０４よりも低速度で移動する。移動体２０４は、通信の復旧が期待できる位置へ向かって移動体２０３よりも速く移動し、主として通信復旧動作を担う。
【０３６５】
このため、移動体２０１−２０４が互いに離れる相対速度は小さな値に抑えることができるので、移動体２０１と移動体２０２との間、移動体２０２と移動体２０３との間、移動体２０２と移動体２０４との間、移動体２０３と移動体２０４との間の、それぞれの直接通信が直ちに切断されるリスクは小さい。
【０３６６】
また、移動体２０６−２０７の移動速度は、目標位置３５１１から自身の位置までの距離の三乗に反比例した値の分断復旧ベクトルに従って決定され、移動体２０７及び移動体２０６の順で、目標位置３５１１からの距離が遠い。そのため、移動体２０７は本来の目的のための移動を行うものの、通信の復旧を図る移動の比重もある。移動体２０６は、通信の復旧が期待できる位置へ向かって移動し、主として通信復旧動作を担う。
【０３６７】
このため、移動体２０６−２０７が互いに離れる相対速度は小さな値に抑えることができるので、移動体２０６と移動体２０７との間の直接通信が直ちに切断されるリスクは小さい。
【０３６８】
また、特許文献１で開示されている第２の技術では、通信が復旧するまでの間、全ての移動体が、本来の目的のための移動を行うことができなくなってしまう、という課題があった。これに対して、本開示の実施の形態２では、例えば図３７の例では、移動体２０１−２０２，２０７は、本来の目的のための移動を行うことができ、この課題を解決できている。
【０３６９】
また、特許文献１で開示されている第３の技術では、通信が復旧するまでの間、移動体群が展開していた領域が徐々に小さくなっていき、全ての移動体が、本来の目的のための移動を行うことができなくなるとともに、通信の復旧後も、通信が復旧した時点における位置から、本来の目的のための移動をやり直すことになってしまう、という課題があった。これに対して、本開示の実施の形態２では、例えば図３７の例では、移動体２０１−２０２，２０７は、本来の目的のための移動を行うことができ、この課題を解決できている。
【０３７０】
また、特許文献１で開示されている第４の技術では、選択された移動体が切断位置に向かう方向に移動することにより、その移動体と、アドホックネットワークとの通信が切断された移動体以外の移動体との通信が切断されてしまい、二次的にアドホックネットワークの分断が拡大されていく恐れがある、という課題があった。これに対して、本開示の実施の形態２では、例えば図３７の例では、移動体２０３−２０６が、互いに集まるような移動を行うことにより、通信の復旧を図り、目標位置３３１１から遠い移動体２０１−２０２，２０７は、本来の目的のための移動を行うことができる。
【０３７１】
そして、移動体２０１−２０４の移動速度は、目標位置３３１１から自身の位置までの距離の三乗に反比例した値の分断復旧ベクトルに従って決定され、移動体２０１、移動体２０２、移動体２０３及び移動体２０４の順で、目標位置３３１１からの距離が遠い。そのため、移動体２０１は主として本来の目的のための移動を行うことができる。移動体２０２は通信の復旧を図る移動の比重が移動体２０１よりは大きいものの、本来の目的のための移動を行う。移動体２０３は通信の復旧が期待できる位置へ向かって移動体２０４よりも低速度で移動する。移動体２０４は、通信の復旧が期待できる位置へ向かって移動体２０３よりも速く移動し、主として通信復旧動作を担う。
【０３７２】
このため、移動体２０１−２０４が互いに離れる相対速度は小さな値に抑えることができるので、移動体２０１と移動体２０２との間、移動体２０２と移動体２０３との間、移動体２０２と移動体２０４との間、移動体２０３と移動体２０４との間の、それぞれの直接通信が直ちに切断されるリスクは小さい。
【０３７３】
また、移動体２０６−２０７の移動速度は、目標位置３５１１から自身の位置までの距離の三乗に反比例した値の分断復旧ベクトルに従って決定され、移動体２０７及び移動体２０６の順で、目標位置３５１１からの距離が遠い。そのため、移動体２０７は本来の目的のための移動を行うものの、通信の復旧を図る移動の比重もある。移動体２０６は、通信の復旧が期待できる位置へ向かって移動し、主として通信復旧動作を担う。
【０３７４】
このため、移動体２０６−２０７が互いに離れる相対速度は小さな値に抑えることができるので、移動体２０６と移動体２０７との間の直接通信が直ちに切断されるリスクは小さい。以上により、特許文献１で開示されている第４の技術の課題を解決できていることがわかる。
【０３７５】
また、既に述べた通り、特許文献１で開示されている第１の技術では、図４の例のように、アドホックネットワークとの通信が切断された移動体が通信の復旧のために移動した方向に他の移動体が存在しない場合、又は他の移動体がアドホックネットワークとの通信が切断された移動体から遠ざかるような方向に移動していた場合には、通信を復旧させることはできなかった。図４の例では、特許文献１で開示されている第１の技術のいずれを用いたとしても、アドホックネットワークとの通信が切断された移動体２０７が通信の復旧のために移動した方向に、既に移動体２０１−２０６は存在せず、移動体２０１−２０６は図４の左下の方向に向かって移動を続けているので、移動体２０７は移動体２０１−２０６に近づくことはできず、直接通信を復旧させることはできなかった。また、仮に、移動体２０７が移動する方向に移動体２０１−２０６が存在したとしても、移動体２０１−２０６は移動体２０７から遠ざかるような方向に移動し続けているので、移動体２０７は移動体２０１−２０６に追いつくことができず、移動体２０１−２０６との直接通信は復旧できなかった。
【０３７６】
これに対して、本開示の実施の形態２では、図４の例のように、アドホックネットワークとの通信が切断された移動体が通信の復旧のために移動した方向に他の移動体が存在しない場合、又は他の移動体がアドホックネットワークとの通信が切断された移動体から遠ざかるような方向に移動していた場合でも、通信の復旧を図ることができる。このことを、以下に説明する。
【０３７７】
なお、移動体２０１−２０７の制御部６０２は、不明群に属する全ての移動体の位置のうち、自身に最も近い位置を目標位置として決定し、かつ、向きが目標位置に向かう方向であり、大きさが目標位置から自身の位置までの距離の三乗に反比例した値である分断復旧ベクトルを決定する。
【０３７８】
図３８は、本開示の実施の形態２において、図４に示す状況の場合に、複数の移動体２０１−２０６のそれぞれが、どのような分断復旧ベクトルを決定するかの一例を示す概念図である。図３８において、図１及び図４と同じ構成要素については同じ符号を用い、説明を省略する。
【０３７９】
図３８に示した通り、移動体２０１−２０６のそれぞれにおいては、既知群３７０１に属する移動体は、移動体２０１−２０６であり、不明群３７０２に属する移動体は、移動体２０７である。
【０３８０】
移動体２０１−２０６の制御部６０２は、向きが目標位置３７１１に向かう方向であり、大きさが目標位置３７１１から自身の位置までの距離の三乗に反比例した値である分断復旧ベクトル３７２１−３７２６を決定する。
【０３８１】
図３９は、本開示の実施の形態２において、図４に示す状況の場合に、移動体２０７が、どのような分断復旧ベクトルを決定するかの一例を示す概念図である。図３９において、図１及び図４と同じ構成要素については同じ符号を用い、説明を省略する。
【０３８２】
図３９に示した通り、移動体２０７においては、既知群３８０１に属する移動体は、移動体２０７であり、不明群３８０２に属する移動体は、移動体２０１−２０６である。
【０３８３】
移動体２０７の制御部６０２は、向きが目標位置３８１１に向かう方向であり、大きさが目標位置３８１１から自身の位置までの距離の三乗に反比例した値である分断復旧ベクトル３８２７を決定する。
【０３８４】
図４０は、本開示の実施の形態２における、図４に示す状況での、複数の移動体２０１−２０７の実移動ベクトルの一例を示す概念図である。図４０において、図１及び図４と同じ構成要素については同じ符号を用い、説明を省略する。
【０３８５】
移動体２０１は、ほぼ南南西に向かって移動する基本移動ベクトル群を決定し、移動体２０７が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図４に示したように、ほぼ南南西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０７が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０１は、図４０に示したように、基本移動ベクトル群に加えて分断復旧ベクトル３７２１に基づいて計算して求めた実移動ベクトル３９０１に従って、ほぼ南南西に向かって移動することになる。移動体２０１は、目標位置３７１１から自身の位置までの距離が移動体２０２−２０６よりも遠いので、通信の復旧を図る移動の比重も若干はあるものの、ほぼ本来の目的を遂行することができる。
【０３８６】
移動体２０２は、ほぼ南南西に向かって移動する基本移動ベクトル群を決定し、移動体２０７が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図４に示したように、ほぼ南南西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０７が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０２は、図４０に示したように、基本移動ベクトル群に加えて分断復旧ベクトル３７２２に基づいて計算して求めた実移動ベクトル３９０２に従って、ほぼ南南西に向かって移動することになる。移動体２０２は、目標位置３３１１から自身の位置までの距離が移動体２０１よりも近いので、通信の復旧を図る移動の比重が移動体２０１よりは大きいものの、本来の目的を遂行することができる。
【０３８７】
移動体２０３は、ほぼ南南西に向かって移動する基本移動ベクトル群を決定し、移動体２０７が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図４に示したように、ほぼ南南西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０７が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０３は、図４０に示したように、基本移動ベクトル群に加えて分断復旧ベクトル３７２３に基づいて計算して求めた実移動ベクトル３９０３に従って、ほぼ南南西に向かって移動することになる。移動体２０３は、目標位置３３１１から自身の位置までの距離が移動体２０２よりも近いので、通信の復旧を図る移動の比重が移動体２０２よりは大きいものの、本来の目的を遂行することができる。
【０３８８】
移動体２０４は、ほぼ南南西に向かって移動する基本移動ベクトル群を決定し、移動体２０７が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図４に示したように、ほぼ南南西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０７が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０４は、図４０に示したように、基本移動ベクトル群に加えて分断復旧ベクトル３７２４に基づいて計算して求めた実移動ベクトル３９０４に従って、ほぼ東南東に向かって移動することになる。移動体２０４は、目標位置３７１１から自身の位置までの距離が移動体２０５よりも遠いので、通信の復旧を図る移動の比重が移動体２０５よりは小さいものの、通信の復旧を図ることになる。
【０３８９】
移動体２０５は、ほぼ南南西に向かって移動する基本移動ベクトル群を決定し、移動体２０７が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図４に示したように、ほぼ南南西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０７が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０５は、図４０に示したように、基本移動ベクトル群に加えて分断復旧ベクトル３７２５に基づいて計算して求めた実移動ベクトル３９０５に従って、ほぼ北東に向かって移動することになる。移動体２０５は、目標位置３７１１から自身の位置までの距離が移動体２０６よりも遠いので、通信の復旧を図る移動の比重が移動体２０６よりは小さいものの、通信の復旧を図ることになる。
【０３９０】
移動体２０６は、ほぼ南南西に向かって移動する基本移動ベクトル群を決定し、移動体２０７が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図４に示したように、ほぼ南南西に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０７が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０６は、図４０に示したように、基本移動ベクトル群に加えて分断復旧ベクトル３７２６に基づいて計算して求めた実移動ベクトル３９０６に従って、ほぼ北東に向かって移動し、主として通信の復旧を図ることになる。
【０３９１】
移動体２０７は、ほぼ東に向かって移動する基本移動ベクトル群を決定し、移動体２０７が他の移動体と離れ過ぎず、不明群に属する移動体が存在しなかった場合、図４に示したように、ほぼ東に向かって移動する実移動ベクトルを決定する予定であった。しかしながら、移動体２０７が他の移動体と離れ過ぎて不明群に属する移動体が出現したことによって、移動体２０７は、図４０に示したように、基本移動ベクトル群に加えて分断復旧ベクトル３８２７に基づいて計算して求めた実移動ベクトル３９０７に従って、ほぼ南南西に向かって移動し、主として通信の復旧を図ることになる。
【０３９２】
このように、移動体２０４−２０７は主として通信復旧動作を行い、移動体２０１−２０３は主として不明群が存在しなかった場合の移動を行うことになり、構成群全体として通信の復旧と本来の目的とを両立させることができる。移動体２０１−２０６の移動速度は、目標位置３７１１から自身の位置までの距離の三乗に反比例した値の分断復旧ベクトルに従って決定され、移動体２０１、移動体２０２、移動体２０３、移動体２０４、移動体２０５及び移動体２０６の順で、目標位置３７１１からの距離が遠い。
【０３９３】
そのため、移動体２０１は主として本来の目的のための移動を行うことができる。移動体２０２は通信の復旧を図る移動の比重が移動体２０１よりは大きいものの、本来の目的のための移動を行う。移動体２０３は通信の復旧を図る移動の比重が移動体２０２よりは大きいものの、本来の目的のための移動を行う。移動体２０４は通信の復旧が期待できる位置へ向かって移動体２０５よりも低速度で移動する。移動体２０５は通信の復旧が期待できる位置へ向かって移動体２０６よりも低速度で移動する。移動体２０６は、通信の復旧が期待できる位置へ向かって移動体２０５よりも速く移動し、主として通信復旧動作を担う。
【０３９４】
このため、移動体２０１−２０６が互いに離れる相対速度は小さな値に抑えることができるので、移動体２０１と移動体２０２との間、移動体２０２と移動体２０３との間、移動体２０２と移動体２０４との間、移動体２０３と移動体２０４との間、移動体２０４と移動体２０５との間、移動体２０５と移動体２０６との間の、それぞれの直接通信が直ちに切断されるリスクは小さい。
【０３９５】
また、特許文献１で開示されている第２の技術では、通信が復旧するまでの間、全ての移動体が、本来の目的のための移動を行うことができなくなってしまう、という課題があった。これに対して、本開示の実施の形態２では、例えば図４０の例では、移動体２０１−２０３は主として本来の目的のための移動を行うことができ、この課題を解決できている。
【０３９６】
また、特許文献１で開示されている第３の技術では、通信が復旧するまでの間、移動体群が展開していた領域が徐々に小さくなっていき、全ての移動体が、本来の目的のための移動を行うことができなくなるとともに、通信の復旧後も、通信が復旧した時点における位置から、本来の目的のための移動をやり直すことになってしまう、という課題があった。これに対して、本開示の実施の形態２では、例えば図４０の例では、移動体２０１−２０３は主として本来の目的のための移動を行うことができ、この課題を解決できている。
【０３９７】
また、特許文献１で開示されている第４の技術では、選択された移動体が切断位置に向かう方向に移動することにより、その移動体と、アドホックネットワークとの通信が切断された移動体以外の移動体との通信が切断されてしまい、二次的にアドホックネットワークの分断が拡大されていく恐れがある、という課題があった。これに対して、本開示の実施の形態２では、例えば図４０の例では、移動体２０４−２０７が、互いに集まるような移動を行うことにより、通信の復旧を図り、目標位置３７１１から遠い移動体２０１−２０３は、本来の目的のための移動を行うことができる。そして、移動体２０１−２０６の移動速度は、目標位置３７１１から自身の位置までの距離の三乗に反比例した値の分断復旧ベクトルに従って決定され、移動体２０１、移動体２０２、移動体２０３、移動体２０４、移動体２０５及び移動体２０６の順で、目標位置３７１１からの距離が遠い。
【０３９８】
そのため、移動体２０１は主として本来の目的のための移動を行うことができる。移動体２０２は通信の復旧を図る移動の比重が移動体２０１よりは大きいものの、本来の目的のための移動を行う。移動体２０３は通信の復旧を図る移動の比重が移動体２０２よりは大きいものの、本来の目的のための移動を行う。移動体２０４は通信の復旧が期待できる位置へ向かって移動体２０５よりも低速度で移動する。移動体２０５は通信の復旧が期待できる位置へ向かって移動体２０６よりも低速度で移動する。移動体２０６は、通信の復旧が期待できる位置へ向かって移動体２０５よりも速く移動し、主として通信復旧動作を担う。
【０３９９】
このため、移動体２０１−２０６が互いに離れる相対速度は小さな値に抑えることができるので、移動体２０１と移動体２０２との間、移動体２０２と移動体２０３との間、移動体２０２と移動体２０４との間、移動体２０３と移動体２０４との間、移動体２０４と移動体２０５との間、移動体２０５と移動体２０６との間の、それぞれの直接通信が直ちに切断されるリスクは小さい。以上により、特許文献１で開示されている第４の技術の課題を解決できていることがわかる。
【０４００】
本開示の実施の形態２のステップＳ１００６の処理では、不明群に属する移動体が存在する限り、ステップＳ２８０７の処理で分断復旧ベクトルを決定する前に毎回目標位置を決定し直しているが、実施の形態２の第２の構成では、不明群に属する移動体が変更された場合にのみ目標位置を決定してもよい。
【０４０１】
実施の形態２の第２の構成の場合、不明群に属する移動体が変更された場合にのみ目標位置を決定するので、処理の効率化が図れる。
【０４０２】
本開示の実施の形態２のステップＳ１００４の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ１００５−ステップＳ２８０７の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態２の第３の構成では、ステップＳ１００５の処理を初めて実行した時刻を記憶しておき、ステップＳ１００５の処理を初めて実行した時刻から０より大きい復旧期限が経過している場合には、不明群に属する移動体が存在したとしても、ステップＳ１００５−ステップＳ２８０７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい。なお、復旧期限の値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０４０３】
実施の形態２の第３の構成の場合、復旧期限が経過しても通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０４０４】
なお、実施の形態２の第３の構成において、一旦、復旧期限が経過した後でも、不明群に属する移動体が変更された場合、又は更に一定の時間が経過した場合など、適切なタイミングで、ステップＳ１００５の処理を初めて実行した時刻をリセットし、再び、ステップＳ１００５−ステップＳ２８０７の処理を実行できるようにしてもよい（実施の形態２の第４の構成）。
【０４０５】
実施の形態２の第４の構成の場合、復旧期限が経過した後、一定の条件が成立した場合には、通信復旧動作をリトライすることができる。
【０４０６】
本開示の実施の形態２のステップＳ１００４の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ１００５−ステップＳ２８０７の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態２の第５の構成では、目標位置までの距離が、移動中止判定距離以内の位置に到達した場合には、不明群に属する移動体が存在したとしても、ステップＳ１００５−ステップＳ２８０７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい。なお、移動中止判定距離の値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０４０７】
実施の形態２の第５の構成の場合、目標位置までの距離が、移動中止判定距離以下になるまで近づいても、通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０４０８】
なお、実施の形態２の第５の構成において、一旦、目標位置までの距離が、移動中止判定距離以内の位置に到達した後は、不明群に属する移動体が変更されるまでは、ステップＳ１００５−ステップＳ２８０７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい（実施の形態２の第６の構成）。
【０４０９】
実施の形態２の第６の構成の場合、一旦、目標位置までの距離が、移動中止判定距離以内の位置に到達した後に、再び、目標位置までの距離が、移動中止判定距離よりも遠い位置に離れた場合に、再度通信復旧動作を開始して、通信復旧動作と本来の目的のための移動とを交互に繰り返すような事態を回避することができる。
【０４１０】
本開示の実施の形態２のステップＳ１００４の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ１００５−ステップＳ２８０７の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態２の第７の構成では、特定の位置から目標位置までの距離に移動中止判定係数を乗じた距離を示す第２移動中止判定距離を算出し、目標位置までの距離が、第２移動中止判定距離以内の位置に到達した場合には、不明群に属する移動体が存在したとしても、ステップＳ１００５−ステップＳ２８０７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい。なお、第２移動中止判定係数の値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０４１１】
実施の形態２の第７の構成の場合、目標位置までの距離が、特定の位置から目標位置までの距離に第２移動中止判定係数を乗じた距離以下になるまで近づいても、通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０４１２】
なお、実施の形態２の第７の構成において、一旦、目標位置までの距離が、第２移動中止判定距離以内の位置に到達した後は、不明群に属する移動体が変更されるまでは、ステップＳ１００５−ステップＳ２８０７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい（実施の形態２の第８の構成）。
【０４１３】
実施の形態２の第８の構成の場合、一旦、目標位置までの距離が、第２移動中止判定距離以内の位置に到達した後に、再び、目標位置までの距離が、第２移動中止判定距離よりも遠い位置に離れた場合に、再度通信復旧動作を開始して、通信復旧動作と本来の目的のための移動とを交互に繰り返すような事態を回避することができる。
【０４１４】
本開示の実施の形態２のステップＳ１００４の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ１００５−ステップＳ２８０７の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態２の第９の構成では、目標位置に到達した場合には、不明群に属する移動体が存在したとしても、ステップＳ１００５−ステップＳ２８０７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい。
【０４１５】
実施の形態２の第９の構成の場合、目標位置に到達しても、通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０４１６】
なお、実施の形態２の第９の構成において、一旦、目標位置に到達した後は、不明群に属する移動体が変更されるまでは、ステップＳ１００５−ステップＳ２８０７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい（実施の形態２の第１０の構成）。
【０４１７】
実施の形態２の第１０の構成の場合、一旦、目標位置に到達した後に、再び、目標位置から離れた場合に、再度通信復旧動作を開始して、通信復旧動作と本来の目的のための移動とを交互に繰り返すような事態を回避することができる。
【０４１８】
本開示の実施の形態２の第３から第１０の構成において、ステップＳ１００４の処理を実行する際に、それぞれの構成の説明で明記した条件が成立し、通信復旧動作を中止するために、ステップＳ１００５−ステップＳ２８０７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行した時点で既知群に属する移動体のグループを構成群として特定し直すことにより、アドホックネットワークを分割してもよい（実施の形態２の第１１の構成）。
【０４１９】
実施の形態２の第１１の構成の場合、既知群に属する移動体のそれぞれは、既に通信の復旧に失敗した不明群に対する通信復旧動作を再開して通信復旧動作の中止と再開とを際限なく繰り返すことを回避することができる。
【０４２０】
本開示の実施の形態２の第３から第１０の構成において、ステップＳ１００４の処理を実行する際に、それぞれの構成の説明で明記した条件が成立し、通信復旧動作を中止するために、ステップＳ１００５−ステップＳ２８０７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行した時点で、既知群に属する自分以外の全ての移動体に対して、アドホックネットワークを分割することを通知する分割通知を送信してもよい（実施の形態２の第１２の構成）。また、他の移動体から分割通知を受信した時には、ステップＳ１００４の処理を実行する際に、不明群に属する移動体が存在したとしても、ステップＳ１００５−ステップＳ２８０７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい。これにより、通信復旧動作を中止し、その時点で既知群に属する移動体のグループを構成群として特定し直すことにより、アドホックネットワークを分割する。
【０４２１】
実施の形態２の第１２の構成の場合、既知群に属する移動体のそれぞれは、同一の構成群を特定することができ、更に、既に通信の復旧に失敗した不明群に対する通信復旧動作を再開して通信復旧動作の中止と再開とを際限なく繰り返すことを回避することができる。
【０４２２】
本開示の実施の形態２の第３から第１０の構成において、ステップＳ１００４の処理を実行する際に、それぞれの構成の説明で明記した条件が成立し、通信復旧動作を中止するために、ステップＳ１００５−ステップＳ２８０７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行した時点で、既知群に属する自分以外の全ての移動体に対して、既知群に属する移動体のグループを特定する既知群情報を送信してもよい（実施の形態２の第１３の構成）。また、他の移動体から既知群情報を受信した時には、ステップＳ１００４の処理を実行する際に、不明群に属する移動体が存在したとしても、ステップＳ１００５−ステップＳ２８０７の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ１０１０）、ステップＳ１００８の処理に移行してもよい。これにより、通信復旧動作を中止し、既知群情報で特定される移動体のグループを構成群として特定し直すことにより、アドホックネットワークを分割する。
【０４２３】
実施の形態２の第１３の構成の場合、既知群に属する移動体のそれぞれは、通信によるタイムラグの影響を受けずに、確実に同一の構成群を特定することができ、更に、既に通信の復旧に失敗した不明群に対する通信復旧動作を再開して通信復旧動作の中止と再開とを際限なく繰り返すことを回避することができる。
【０４２４】
（実施の形態３）
本開示の実施の形態３における、複数の移動体によって構成されるアドホックネットワークの全体像を表した概念図は、図６と同じであるので、説明を省略する。
【０４２５】
本開示の実施の形態３における、移動体１０１の機能構成を示したブロック図は、図８と同じであるので、説明を省略する。ただし、記憶部６０３に記憶される情報の詳細については、図９、図１０及び図１１とは異なっているので、図４１、図４２及び図４３を用いて説明する。
【０４２６】
図４１は、本開示の実施の形態３における、移動体１０１の記憶部６０３に記憶される情報の一例を示す図である。図４１において、図６及び図８と同じ構成要素については同じ符号を用い、説明を省略する。
【０４２７】
記憶部６０３は、移動体１０１自身に関する情報である自移動体情報５８０１と、他の移動体に関する情報である他移動体情報５８０２とを記憶する。
【０４２８】
自移動体情報５８０１は、自身をユニークに識別するための移動体識別情報と、位置検出部６０４によって検出した自身の位置情報と、直接通信可能な他の移動体を示す直接通信群に属する移動体の移動体識別情報から成る直接通信群情報と、自身及びアドホックネットワークを介した通信を行うことが可能な移動体の移動体識別情報から成る既知群情報と、アドホックネットワークを介した通信を行うことが不可能な移動体の移動体識別情報から成る不明群情報と、不明群が存在する場合の通信の復旧のための移動における目標位置の位置情報である目標位置情報と、直接通信群の一部又は全部の移動体との直接通信を維持するための移動ベクトルを示す通信維持移動ベクトルに関する情報である通信維持移動ベクトル情報と、直接通信の維持を図らない場合の移動を制御する一つ以上の移動ベクトルを示す第２基本移動ベクトル群に関する情報である第２基本移動ベクトル群情報と、不明群が存在しなかった場合の移動を制御する一つ以上の移動ベクトルを示す基本移動ベクトル群に関する情報である基本移動ベクトル群情報と、目標位置に向かうための移動ベクトルを示す分断復旧ベクトルに関する情報である分断復旧ベクトル情報と、実際の移動を規定する実移動ベクトルに関する情報である実移動ベクトル情報とから構成される。
【０４２９】
他移動体情報５８０２は、他の移動体をユニークに識別するための移動体識別情報と、他の移動体の位置を示す位置情報と、直接通信群に属する一つ以上の移動体のそれぞれに対して決定される、当該移動体に向かって移動するような移動ベクトルを示す接近ベクトルに関する情報である接近ベクトル情報と、直接通信群に属する一つ以上の移動体のそれぞれに対して決定される、当該移動体から離れるように移動するような移動ベクトルを示す反発ベクトルに関する情報である反発ベクトル情報とから構成される。
【０４３０】
通信部６０１は、更に、移動体１０１とネットワークを構成する、移動体１０１及び第１の通信対象移動体（例えば、移動体１０５）とは異なる第２の通信対象移動体（例えば、移動体１０２）から送信された、移動体１０２の第２位置、第２速度、及び第２加速度のいずれかを示す第２情報を受信する。制御部６０２は、第２情報に基づいて、第４移動距離及び第４移動方向の組み、第４速度絶対値及び第４速度方向の組み、又は、第４加速度絶対値及び第４加速度方向の組みのいずれかを示す第４制御量（第２基本移動ベクトル群情報）を決定する。制御部６０２は、第４制御量に基づいて第１制御量（基本移動ベクトル群情報）を更新する。制御部６０２は、移動体１０１の現在位置と、第２の通信対象移動体（例えば、移動体１０２）の第２位置とから算出された距離に基づいて、第４制御量（第２基本移動ベクトル群情報）を決定する。
【０４３１】
図４２は、本開示の実施の形態３における、移動体１０１の記憶部６０３に記憶する自移動体情報５８０１の一例を示す図である。図４２において、図６及び図４１と同じ構成要素については同じ符号を用い、説明を省略する。また、図４２において、図１０の自移動体情報７０１に含まれる情報と同じ情報については説明を省略する。
【０４３２】
移動体１０１は、例えば、図４２に示す形式で、自移動体情報５８０１を記憶部６０３に記憶する。自移動体情報５８０１は、自身をユニークに識別するための移動体識別情報と、位置検出部６０４によって検出した自身の位置情報と、直接通信可能な他の移動体を示す直接通信群に属する移動体の移動体識別情報から成る直接通信群情報と、自身及びアドホックネットワークを介した通信を行うことが可能な移動体の移動体識別情報から成る既知群情報と、アドホックネットワークを介した通信を行うことが不可能な移動体の移動体識別情報から成る不明群情報と、不明群が存在する場合の通信の復旧のための移動における目標位置の位置情報である目標位置情報と、直接通信群の一部又は全部の移動体との直接通信を維持するための移動ベクトルを示す通信維持移動ベクトルに関する情報である通信維持移動ベクトル情報と、直接通信の維持を図らない場合の移動を制御する一つ以上の移動ベクトルを示す第２基本移動ベクトル群に関する情報である第２基本移動ベクトル群情報と、不明群が存在しなかった場合の移動を制御する一つ以上の移動ベクトルを示す基本移動ベクトル群に関する情報である基本移動ベクトル群情報と、目標位置に向かうための移動ベクトルを示す分断復旧ベクトルに関する情報である分断復旧ベクトル情報と、実際の移動を規定する実移動ベクトルに関する情報である実移動ベクトル情報とを含む。
【０４３３】
図４２で示す自移動体情報５８０１は、自身の移動体識別情報の値が「移動体１０１」であり、自身の位置情報の値が「北緯３４度４１分３７．０秒、東経１３５度３０分７．１秒、海抜２ｍ」であり、既知群情報の値が「移動体１０１、移動体１０２、移動体１０３、移動体１０４」であり、不明群情報の値が「移動体１０５、移動体１０６、移動体１０７」であり、目標位置情報の値が「北緯３４度４１分３７．６秒、東経１３５度３０分９．１秒、海抜２ｍ」であり、通信維持移動ベクトル情報の値が「（１ｍ／ｓ，１ｍ／ｓ，０ｍ／ｓ）」であり、第２基本移動ベクトル群情報の第２主基本移動ベクトルの値が「（−５ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）」であり、第２基本移動ベクトル群情報の第２障害物回避基本移動ベクトルの値が「（０ｍ／ｓ，５ｍ／ｓ，０ｍ／ｓ）」であり、基本移動ベクトル群情報の主基本移動ベクトルの値が「（−４．５ｍ／ｓ，−１．５ｍ／ｓ，０ｍ／ｓ）」であり、基本移動ベクトル群情報の障害物回避基本移動ベクトルの値が「（０．５ｍ／ｓ，５．５ｍ／ｓ，０ｍ／ｓ）」であり、分断復旧ベクトル情報の値が「（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）」であり、実移動ベクトル情報の値が「（−１．７５ｍ／ｓ，４．７５ｍ／ｓ，０ｍ／ｓ）」であることを示している。
【０４３４】
図４２では、第２基本移動ベクトル群情報は、第２主基本移動ベクトル情報と、第２障害物回避基本移動ベクトル情報との組みで表現される。すなわち、第２基本移動ベクトル群は、第２主基本移動ベクトルと、第２障害物回避基本移動ベクトルとの組みであるとしている。ここで、第２主基本移動ベクトルとは、直接通信の維持を図らない場合の、移動体が本来の目的を達成する為の移動を表現した移動ベクトルである。また、第２障害物回避基本移動ベクトルとは、直接通信の維持を図らない場合の、移動体が近くに存在する障害物を回避する為の移動を表現した移動ベクトルである。なお、第２基本移動ベクトル群を構成する移動ベクトルの数と、それらの移動ベクトルが表現する移動内容には、もちろん、様々なバリエーションが考えられ、本開示の主旨とは無関係であることは言うまでもない。以下、本明細書では、特に明記しない限り、第２基本移動ベクトル群については、ここで説明した第２主基本移動ベクトルと、第２障害物回避基本移動ベクトルとの組みを用いて説明する。
【０４３５】
図４３は、本開示の実施の形態３における、移動体１０１の記憶部６０３に記憶する他移動体情報５８０２の一例を示す図である。図４３において、図６及び図４１と同じ構成要素については同じ符号を用い、説明を省略する。また、図４３において、図１１の他移動体情報７０２に含まれる情報と同じ情報については説明を省略する。
【０４３６】
移動体１０１は、例えば、図４３に示す形式で、他移動体情報５８０２を記憶部６０３に記憶する。他移動体情報５８０２は、他の移動体をユニークに識別するための移動体識別情報と、他の移動体から受信した他の移動体の位置情報と、直接通信群に属する一つ以上の移動体のそれぞれに対して決定される、当該移動体に向かって移動するような移動ベクトルを示す接近ベクトルに関する情報である接近ベクトル情報と、直接通信群に属する一つ以上の移動体のそれぞれに対して決定される、当該移動体から離れるように移動するような移動ベクトルを示す反発ベクトルに関する情報である反発ベクトル情報とを含む。
【０４３７】
図４３で示す他移動体情報５８０２は、移動体１０２の移動体識別情報の値が「移動体１０２」であり、移動体１０２の位置情報の値が「北緯３４度４１分３７．５秒、東経１３５度３０分７．６秒、海抜２ｍ」であり、接近ベクトル情報の値が「接近ベクトルの数が１であり、接近ベクトルの値が（３ｍ／ｓ，３ｍ／ｓ，０ｍ／ｓ）」であり、反発ベクトル情報の値が「反発ベクトルの数が１であり、反発ベクトルの値は（−２ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）」であることを示している。移動体１０３−１０７の移動体識別情報、位置情報、接近ベクトル情報及び反発ベクトル情報についても、同様である。
【０４３８】
図４４は、本開示の実施の形態３における、移動体１０１の移動制御の全体動作を示す第１のフローチャートであり、図４５は、本開示の実施の形態３における、移動体１０１の移動制御の全体動作を示す第２のフローチャートである。
【０４３９】
なお、ステップＳ６１０１−ステップＳ６１０９の処理の実行においては、不明群に属する移動体が存在するか否かにかかわらず、実行する内容は同じであるので、以下、特に断らない限り、移動体１０５が故障した場合の例を用いて説明する。
【０４４０】
なお、基本移動ベクトル群の一例の概念図は、図１３と同じであるので、説明を省略する。
【０４４１】
また、移動体１０５が故障した場合の、移動体１０１−１０４のそれぞれにおける既知群及び不明群を示す概念図は、図１４と同じであるので、説明を省略する。
【０４４２】
また、移動体１０５が故障した場合の、移動体１０６−１０７のそれぞれにおける既知群及び不明群を示す概念図は、図１５と同じであるので、説明を省略する。
【０４４３】
まず、移動体１０１の制御部６０２は、移動体１０２−１０７と通信を試み、直接通信が行えた移動体を直接通信群として特定する（ステップＳ６１０１）。そして、制御部６０２は、自移動体情報５８０１のうち、直接通信群に属する全ての移動体の移動体識別情報から成る直接通信群情報を更新する。
【０４４４】
図６、図１３、図１４及び図１５に示されている通り、移動体１０５が故障していない場合でも、移動体１０５が故障した場合でも、移動体１０１は、移動体１０２とのみ直接通信が可能であるので、制御部６０２は、移動体１０２のみを直接通信群として特定し、自移動体情報５８０１の直接通信群情報を更新する。
【０４４５】
次に、移動体１０１の制御部６０２は、直接通信群に属する移動体のそれぞれの位置から自身の位置までの距離を算出する（ステップＳ６１０２）。
【０４４６】
なお、移動体１０５が故障した時点で、移動体１０５−１０７のそれぞれは、図４３の他移動体情報５８０２に記載した位置にあるとする。
【０４４７】
移動体１０１に対する直接通信群は移動体１０２のみであるので、移動体１０１の制御部６０２は、移動体１０２の位置から自身の位置までの距離を算出する。移動体１０１と移動体１０２との間の距離は、１９．９ｍである。
【０４４８】
次に、移動体１０１の制御部６０２は、直接通信群に属する移動体のそれぞれに対する反発ベクトルを決定する（ステップＳ６１０３）。
【０４４９】
ここでは、制御部６０２は、直接通信群に属する移動体のそれぞれに対して、当該移動体の位置から自身までの距離によらず、一定の大きさを持ち、当該移動体へ向かう向きと反対方向の向きを持つ移動ベクトルを、反発ベクトルとして決定する。反発ベクトルの大きさは２．８ｍ／ｓとする。
【０４５０】
図４６は、本開示の実施の形態３において、１の移動体１０５が故障した場合の、他の移動体１０１における、反発ベクトル、接近ベクトル及び通信維持移動ベクトルの決定方法を説明するための概念図である。図４６において、図６及び図１４と同じ構成要素については同じ符号を用い、説明を省略する。
【０４５１】
図４６に示したように、移動体１０１の直接通信群に属する移動体は、移動体１０２のみである。従って、移動体１０１の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体１０２へ向かう向きとは反対方向の向きを持つ移動ベクトルを、移動体１０２に対する反発ベクトル４２２１として決定する。この場合、反発ベクトル４２２１は、（−２ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）となる。
【０４５２】
移動体１０２−１０４，１０６−１０７の反発ベクトルも、移動体１０１の反発ベクトルと同様にして決定される。
【０４５３】
図４７は、本開示の実施の形態３において、１の移動体１０５が故障した場合の、他の移動体１０２における、反発ベクトル、接近ベクトル及び通信維持移動ベクトルの決定方法を説明するための概念図である。図４７において、図６及び図１４と同じ構成要素については同じ符号を用い、説明を省略する。
【０４５４】
図４７に示したように、移動体１０２の直接通信群に属する移動体は、移動体１０１、移動体１０３及び移動体１０４の３つである。従って、移動体１０２の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体１０１へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体１０１に対する反発ベクトル４３１２として決定する。移動体１０２の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体１０３へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体１０３に対する反発ベクトル４３３２として決定する。移動体１０２の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体１０４へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体１０４に対する反発ベクトル４３４２として決定する。
【０４５５】
図４８は、本開示の実施の形態３において、１の移動体１０５が故障した場合の、他の移動体１０３における、反発ベクトル、接近ベクトル及び通信維持移動ベクトルの決定方法を説明するための概念図である。図４８において、図６及び図１４と同じ構成要素については同じ符号を用い、説明を省略する。
【０４５６】
図４８に示したように、移動体１０３の直接通信群に属する移動体は、移動体１０２及び移動体１０４の２つである。従って、移動体１０３の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体１０２へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体１０２に対する反発ベクトル４４２３として決定する。移動体１０３の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体１０４へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体１０４に対する反発ベクトル４４４３として決定する。
【０４５７】
図４９は、本開示の実施の形態３において、１の移動体１０５が故障した場合の、他の移動体１０４における、反発ベクトル、接近ベクトル及び通信維持移動ベクトルの決定方法を説明するための概念図である。図４９において、図６及び図１４と同じ構成要素については同じ符号を用い、説明を省略する。
【０４５８】
図４９に示したように、移動体１０４の直接通信群に属する移動体は、移動体１０２及び移動体１０３の２つである。従って、移動体１０４の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体１０２へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体１０２に対する反発ベクトル４５２４として決定する。移動体１０４の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体１０３へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体１０３に対する反発ベクトル４５３４として決定する。
【０４５９】
図５０は、本開示の実施の形態３において、１の移動体１０５が故障した場合の、他の移動体１０６における、反発ベクトル、接近ベクトル及び通信維持移動ベクトルの決定方法を説明するための概念図である。図５０において、図６及び図１４と同じ構成要素については同じ符号を用い、説明を省略する。
【０４６０】
図５０に示したように、移動体１０６の直接通信群に属する移動体は、移動体１０７のみである。従って、移動体１０６の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体１０７へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体１０７に対する反発ベクトル４６７６として決定する。
【０４６１】
図５１は、本開示の実施の形態３において、１の移動体１０５が故障した場合の、他の移動体１０７における、反発ベクトル、接近ベクトル及び通信維持移動ベクトルの決定方法を説明するための概念図である。図５１において、図６及び図１４と同じ構成要素については同じ符号を用い、説明を省略する。
【０４６２】
図５１に示したように、移動体１０７の直接通信群に属する移動体は、移動体１０６のみである。従って、移動体１０７の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体１０６へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体１０６に対する反発ベクトル４７６７として決定する。
【０４６３】
次に、移動体１０１の制御部６０２は、直接通信群に属する移動体のそれぞれに対する接近ベクトルを決定する（ステップＳ６１０４）。
【０４６４】
ここでは、制御部６０２は、直接通信群に属する移動体のそれぞれに対して、当該移動体の位置から自身までの距離の二乗に比例した大きさを持ち、当該移動体へ向かう向きを持つ移動ベクトルを、接近ベクトルとして決定する。移動体１０２の位置から移動体１０１の位置までの距離１９．９ｍの二乗に比例した大きさは、４．２ｍ／ｓとする。つまり、制御部６０２は、移動体間の距離が大きいほど、大きさが大きい接近ベクトルを決定する。制御部６０２は、移動体１０１の現在位置と移動体１０２の位置とから算出された距離が短いほど、移動距離（第４移動距離）、速度絶対値（第４速度絶対値）、又は加速度絶対値（第４加速度絶対値）を小さくしてもよい。
【０４６５】
図４６に示したように、移動体１０１の直接通信群に属する移動体は、移動体１０２のみである。従って、移動体１０１の制御部６０２は、移動体１０２の位置から自身の位置までの距離１９．９ｍの二乗に比例した大きさ４．２ｍ／ｓを持ち、移動体１０２へ向かう向きを持つ移動ベクトルを、移動体１０２に対する接近ベクトル４２１２として決定する。この場合、接近ベクトル４２１２は、（３ｍ／ｓ，３ｍ／ｓ，０ｍ／ｓ）となる。
【０４６６】
移動体１０２−１０４，１０６−１０７の接近ベクトルも、移動体１０１の接近ベクトルと同様にして決定される。
【０４６７】
図４７に示したように、移動体１０２の直接通信群に属する移動体は、移動体１０１、移動体１０３及び移動体１０４の３つである。従って、移動体１０２の制御部６０２は、移動体１０１の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体１０１へ向かう向きを持つ移動ベクトルを、移動体１０１に対する接近ベクトル４３２１として決定する。移動体１０２の制御部６０２は、移動体１０３の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体１０３へ向かう向きを持つ移動ベクトルを、移動体１０３に対する接近ベクトル４３２３として決定する。移動体１０２の制御部６０２は、移動体１０４の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体１０４へ向かう向きを持つ移動ベクトルを、移動体１０４に対する接近ベクトル４３２４として決定する。
【０４６８】
図４８に示したように、移動体１０３の直接通信群に属する移動体は、移動体１０２及び移動体１０４の２つである。従って、移動体１０３の制御部６０２は、移動体１０２の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体１０２へ向かう向きを持つ移動ベクトルを、移動体１０２に対する接近ベクトル４４３２として決定する。移動体１０３の制御部６０２は、移動体１０４の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体１０４へ向かう向きを持つ移動ベクトルを、移動体１０４に対する接近ベクトル４４３４として決定する。
【０４６９】
図４９に示したように、移動体１０４の直接通信群に属する移動体は、移動体１０２及び移動体１０３の２つである。従って、移動体１０４の制御部６０２は、移動体１０２の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体１０２へ向かう向きを持つ移動ベクトルを、移動体１０２に対する接近ベクトル４５４２として決定する。移動体１０４の制御部６０２は、移動体１０３の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体１０３へ向かう向きを持つ移動ベクトルを、移動体１０３に対する接近ベクトル４５４３として決定する。
【０４７０】
図５０に示したように、移動体１０６の直接通信群に属する移動体は、移動体１０７のみである。従って、移動体１０６の制御部６０２は、移動体１０７の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体１０７へ向かう向きを持つ移動ベクトルを、移動体１０７に対する接近ベクトル４６６７として決定する。
【０４７１】
図５１に示したように、移動体１０７の直接通信群に属する移動体は、移動体１０６のみである。従って、移動体１０７の制御部６０２は、移動体１０６の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体１０６へ向かう向きを持つ移動ベクトルを、移動体１０６に対する接近ベクトル４７７６として決定する。
【０４７２】
なお、移動体の制御部６０２は、直接通信群に属する移動体のそれぞれに対して、当該移動体の位置から自身までの距離の二乗に反比例した大きさを持ち、当該移動体へ向かう向きを持つ移動ベクトルを、接近ベクトルとして決定してもよい。すなわち、制御部６０２は、移動体１０１の現在位置と移動体１０２の位置とから算出された距離が短いほど、移動距離（第４移動距離）、速度絶対値（第４速度絶対値）、又は加速度絶対値（第４加速度絶対値）を大きくしてもよい。
【０４７３】
次に、移動体１０１の制御部６０２は、反発ベクトルのそれぞれと、接近ベクトルのそれぞれとに対して０以外の値を乗じた移動ベクトルの和を計算し、計算結果の移動ベクトルを通信維持移動ベクトルとして決定する（ステップＳ６１０５）。そして、制御部６０２は、通信維持移動ベクトルに関する情報である通信維持移動ベクトル情報を作成し、自移動体情報５８０１の通信維持移動ベクトル情報を更新する。
【０４７４】
ここでは、制御部６０２は、反発ベクトルのそれぞれと、接近ベクトルのそれぞれとに対して、１を乗じた上で、全ての移動ベクトルの和を計算する。なお、反発ベクトルのそれぞれと、接近ベクトルのそれぞれとに乗ずる値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０４７５】
図４６に示したように、移動体１０１の直接通信群に属する移動体は、移動体１０２のみである。従って、移動体１０１の制御部６０２は、移動体１０２に対する反発ベクトル４２２１（−２ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、移動体１０２に対する接近ベクトル４２１２（３ｍ／ｓ，３ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルとの和（１ｍ／ｓ，１ｍ／ｓ，０ｍ／ｓ）を、通信維持移動ベクトル４２０１として決定する。
【０４７６】
移動体１０２−１０４，１０６−１０７の通信維持移動ベクトルも、移動体１０１の通信維持移動ベクトルと同様にして決定される。
【０４７７】
図４７に示したように、移動体１０２の直接通信群に属する移動体は、移動体１０１、移動体１０３及び移動体１０４の３つである。従って、移動体１０２の制御部６０２は、移動体１０１に対する反発ベクトル４３１２に１を乗じた移動ベクトルと、移動体１０３に対する反発ベクトル４３３２に１を乗じた移動ベクトルと、移動体１０４に対する反発ベクトル４３４２に１を乗じた移動ベクトルと、移動体１０１に対する接近ベクトル４３２１に１を乗じた移動ベクトルと、移動体１０３に対する接近ベクトル４３２３に１を乗じた移動ベクトルと、移動体１０４に対する接近ベクトル４３２４に１を乗じた移動ベクトルとの和を、通信維持移動ベクトル４３０２として決定する。
【０４７８】
図４８に示したように、移動体１０３の直接通信群に属する移動体は、移動体１０２及び移動体１０４の２つである。従って、移動体１０３の制御部６０２は、移動体１０２に対する反発ベクトル４４２３に１を乗じた移動ベクトルと、移動体１０４に対する反発ベクトル４４４３に１を乗じた移動ベクトルと、移動体１０２に対する接近ベクトル４４３２に１を乗じた移動ベクトルと、移動体１０４に対する接近ベクトル４４３４に１を乗じた移動ベクトルとの和を、通信維持移動ベクトル４４０３として決定する。
【０４７９】
図４９に示したように、移動体１０４の直接通信群に属する移動体は、移動体１０２及び移動体１０３の２つである。従って、移動体１０４の制御部６０２は、移動体１０２に対する反発ベクトル４５２４に１を乗じた移動ベクトルと、移動体１０３に対する反発ベクトル４５３４に１を乗じた移動ベクトルと、移動体１０２に対する接近ベクトル４５４２に１を乗じた移動ベクトルと、移動体１０３に対する接近ベクトル４５４３に１を乗じた移動ベクトルとの和を、通信維持移動ベクトル４５０４として決定する。
【０４８０】
図５０に示したように、移動体１０６の直接通信群に属する移動体は、移動体１０７のみである。従って、移動体１０６の制御部６０２は、移動体１０７に対する反発ベクトル４６７６に１を乗じた移動ベクトルと、移動体１０７に対する接近ベクトル４６６７に１を乗じた移動ベクトルとの和を、通信維持移動ベクトル４６０６として決定する。
【０４８１】
図５１に示したように、移動体１０７の直接通信群に属する移動体は、移動体１０６のみである。従って、移動体１０７の制御部６０２は、移動体１０６に対する反発ベクトル４７６７に１を乗じた移動ベクトルと、移動体１０６に対する接近ベクトル４７７６に１を乗じた移動ベクトルとの和を、通信維持移動ベクトル４７０７として決定する。
【０４８２】
次に、移動体１０１の制御部６０２は、直接通信の維持を図らない場合の移動を制御する一つ以上の移動ベクトルを示す第２基本移動ベクトル群を決定する（ステップＳ６１０６）。そして、制御部６０２は、第２基本移動ベクトル群に関する情報である第２基本移動ベクトル群情報を作成し、自移動体情報５８０１の第２基本移動ベクトル群情報を更新する。
【０４８３】
図５２は、本開示の実施の形態３における、第２基本移動ベクトル群の一例を示す概念図である。図５２において、図６、図１４、図１６及び図４６と同じ構成要素については同じ符号を用い、説明を省略する。
【０４８４】
図５２に示した場面では、移動体１０１は、直接通信の維持を図らない場合には、本来の目的を達成する為に、何の制約もなければ、西方向に５ｍ／ｓの移動成分と、南方向に２ｍ／ｓの移動成分とを含む移動ベクトルで移動するのが最善であるとする。この場合、第２主基本移動ベクトル４８１１は、（−５ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）となる。
【０４８５】
ところが、移動体１０１の西方向には、障害物が存在している。このため、移動体１０１は、この障害物を迂回して移動する必要がある。このため、直接通信の維持を図らない場合には、障害物を迂回するために、北に５ｍ／ｓの移動成分を含む移動ベクトルで移動する動作が必要であるとする。この場合、第２障害物回避基本移動ベクトル４８１２は、（０ｍ／ｓ，５ｍ／ｓ，０ｍ／ｓ）となる。
【０４８６】
次に、移動体１０１の制御部６０２は、アドホックネットワークを介して、移動体１０２−１０７と通信を試み、通信が行えたか否かに従って、アドホックネットワークを介した通信を行うことが可能な移動体のグループである既知群と、アドホックネットワークを介した通信を行うことが不可能な移動体のグループである不明群とを、それぞれ特定する（ステップＳ６１０７）。そして、制御部６０２は、自移動体情報５８０１のうち、既知群に属する全ての移動体の移動体識別情報から成る既知群情報と、不明群に属する全ての移動体の移動体識別情報から成る不明群情報とを更新する。
【０４８７】
次に、移動体１０１の制御部６０２は、既知群の位置情報を更新する（ステップＳ６１０８）。このとき、位置検出部６０４は、自身の位置情報を検出し、自移動体情報５８０１の位置情報を更新する。更に、通信部６０１は、既知群に属する全ての移動体に対して、アドホックネットワークを介して、移動体識別情報と位置情報とを送信するよう要求し、既知群に属する移動体から移動体識別情報と位置情報とを受信する。そして、制御部６０２は、他移動体情報５８０２の位置情報を更新する。
【０４８８】
次に、移動体１０１の制御部６０２は、第２基本移動ベクトル群に属するそれぞれの移動ベクトルと、通信維持移動ベクトルとに対して、それぞれ０以外の値を乗じた移動ベクトルの和を計算し、計算結果の移動ベクトル群を基本移動ベクトル群として決定する（ステップＳ６１０９）。そして、制御部６０２は、基本移動ベクトル群に関する情報である基本移動ベクトル群情報を作成し、自移動体情報５８０１の基本移動ベクトル情報を更新する。
【０４８９】
ここでは、制御部６０２は、第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の２つの移動ベクトルの和を主基本移動ベクトルとして決定する。また、制御部６０２は、第２障害物回避基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の２つの移動ベクトルの和を障害物回避基本移動ベクトルとして決定する。なお、第２基本移動ベクトル群に属するそれぞれの移動ベクトルに乗ずる値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０４９０】
図５２に示したように、これまで説明してきた通り、今回の例では、移動体１０１の第２主基本移動ベクトル４８１１は（−５ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）であり、通信維持移動ベクトル４２０１は（１ｍ／ｓ，１ｍ／ｓ，０ｍ／ｓ）であるから、計算結果の移動ベクトルは（−４．５ｍ／ｓ，−１．５ｍ／ｓ，０ｍ／ｓ）となる。そのため、移動体１０１の制御部６０２は、計算結果の移動ベクトル（−４．５ｍ／ｓ，−１．５ｍ／ｓ，０ｍ／ｓ）を、基本移動ベクトル群のうちの主基本移動ベクトル４８０１として決定する。また、今回の例では、移動体１０１の第２障害物回避基本移動ベクトル４８１２は（０ｍ／ｓ，５ｍ／ｓ，０ｍ／ｓ）であり、通信維持移動ベクトル４２０１は（１ｍ／ｓ，１ｍ／ｓ，０ｍ／ｓ）であるから、計算結果の移動ベクトルは（０．５ｍ／ｓ，５．５ｍ／ｓ，０ｍ／ｓ）となる。そのため、移動体１０１の制御部６０２は、計算結果の移動ベクトル（０．５ｍ／ｓ，５．５ｍ／ｓ，０ｍ／ｓ）を、基本移動ベクトル群のうちの障害物回避基本移動ベクトル４８０２として決定する。
【０４９１】
次に、移動体１０１の制御部６０２は、不明群に属する移動体が存在するか否かを判断する（ステップＳ６１１０）。
【０４９２】
ステップＳ６１１０で不明群に属する移動体が存在しないと判断された場合（ステップＳ６１１０でＮＯ）、移動体１０１の制御部６０２は、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、以下で説明するステップＳ６１１５の処理に移行する。
【０４９３】
例えば、図１３の場面では、不明群は存在せず、移動体１０１−１０７が全て既知群に属しているので、移動体１０１の制御部６０２は、分断復旧ベクトルの大きさを０に決定し、以下で説明するステップＳ６１１５の処理に移行する。
【０４９４】
一方、ステップＳ６１１０で不明群に属する移動体が存在すると判断された場合（ステップＳ６１１０でＹＥＳ）、制御部６０２は、ステップＳ６１１１−ステップＳ６１１４の処理を実行する。
【０４９５】
ステップＳ６１１０で不明群に属する移動体が存在すると判断された場合、まず、移動体１０１の制御部６０２は、他移動体情報５８０２から、不明群に属する全ての移動体の位置情報を取得する（ステップＳ６１１１）。
【０４９６】
本開示の実施の形態３における、１の移動体１０５が故障した場合の、既知群に属する移動体１０１−１０４と不明群に属する移動体１０５−１０７とを示す概念図は、図１４と同じであるので、説明を省略する。
【０４９７】
本開示の実施の形態３における、１の移動体１０５が故障した場合の、既知群に属する移動体１０６−１０７と不明群に属する移動体１０１−１０４とを示す概念図は、図１５と同じであるので、説明を省略する。
【０４９８】
次に、移動体１０１の制御部６０２は、ステップＳ６１１１で取得した不明群に属する移動体の位置情報に基づいて、一つ以上の目標位置を決定する（ステップＳ６１１２）。
【０４９９】
目標位置は、例えば、不明群に属する全ての移動体の位置の中心位置、又は不明群に属する全ての移動体の位置のうち、自身に最も近い位置である。
【０５００】
次に、移動体１０１の制御部６０２は、目標位置から自身の位置までの距離を算出する（ステップＳ６１１３）。
【０５０１】
本開示の実施の形態３において、１の移動体１０５が故障した場合の、他の移動体１０１−１０４のそれぞれにおける、目標位置の決定方法と、当該決定方法によって決定された目標位置との一例を示す図は、図１６と同じである。なお、移動体１０５−１０７のそれぞれは、図４３の他移動体情報５８０２に記載した位置にあるとする。
【０５０２】
例えば、不明群に属する全ての移動体の位置の中心位置を目標位置として決定する場合には、移動体１０１−１０４のそれぞれの目標位置は、図１６の目標位置１４０１となり、目標位置１４０１の値は「北緯３４度４１分３７．６秒、東経１３５度３０分９．１秒、海抜２ｍ」となる。この場合、目標位置１４０１から移動体１０１−１０４のそれぞれの位置までの距離は、５３．３ｍ、３７．６ｍ、３５．５ｍ及び２７．９ｍとなる。
【０５０３】
また、不明群に属する全ての移動体の位置のうち、自身に最も近い位置を目標位置として決定する場合には、移動体１０１−１０４のそれぞれの目標位置は、図１６の目標位置１４０２、すなわち、移動体１０５の位置となり、目標位置１４０２の値は「北緯３４度４１分３７．５秒、東経１３５度３０分８．６秒、海抜２ｍ」となる。この場合、目標位置１４０２から移動体１０１−１０４のそれぞれの位置までの距離は、４０．６ｍ、２５．０ｍ、２２．７ｍ及び１９．９ｍとなる。ただし、ここでは、緯度１秒分の距離を３１ｍとし、経度１秒分の距離を２５ｍとして、簡易的に近似値を計算しているが、緯度及び経度の差分から距離を計算する計算方法については、本開示の主旨とは無関係であることは言うまでもない。以下、本明細書では、特に明記しない限り、ここで示した簡易的な計算によって、緯度及び経度の差分から距離を計算することとする。
【０５０４】
本開示の実施の形態３において、１の移動体１０５が故障した場合の、他の移動体１０６−１０７のそれぞれにおける、目標位置の決定方法と、当該決定方法によって決定された目標位置との一例を示す図は、図１７と同じである。なお、移動体１０１−１０５のそれぞれは、図４３の他移動体情報５８０２に記載した位置にあるとする。
【０５０５】
例えば、不明群に属する全ての移動体の位置の中心位置を目標位置として決定する場合には、移動体１０６−１０７のそれぞれの目標位置は、図１７の目標位置１５０１となり、目標位置１５０１の値は「北緯３４度４１分３７．４８秒、東経１３５度３０分７．８２秒、海抜２ｍ」となる。この場合、目標位置１５０１から移動体１０６−１０７のそれぞれの位置までの距離は、３３．５ｍ及び４４．５ｍとなる。また、不明群に属する全ての移動体の位置のうち、自身に最も近い位置を目標位置として決定する場合には、移動体１０６−１０７のそれぞれの目標位置は、図１７の目標位置１５０２、すなわち、移動体１０５の位置となり、目標位置１５０２の値は「北緯３４度４１分３７．５秒、東経１３５度３０分８．６秒、海抜２ｍ」となる。この場合、目標位置１５０２から移動体１０６−１０７のそれぞれの位置までの距離は、１５．６ｍ及び２５．０ｍとなる。
【０５０６】
次に、移動体１０１の制御部６０２は、目標位置から自身の位置までの距離に応じて、目標位置に向かうための移動ベクトルを示す分断復旧ベクトルを決定する（ステップＳ６１１４）。そして、制御部６０２は、分断復旧ベクトルに関する情報である分断復旧ベクトル情報を作成し、自移動体情報５８０１の分断復旧ベクトル情報を更新する。
【０５０７】
ここで、分断復旧ベクトルの一例を説明する。移動体１０１−１０７の制御部６０２は、不明群に属する全ての移動体の位置のうち、自身に最も近い位置を目標位置として決定し、かつ、既知群に属する移動体の中で、自身が目標位置に最も近い場合には、向きが目標位置に向かう方向であり、大きさが６．４ｍ／ｓである分断復旧ベクトルを決定し、自身が目標位置に最も近くない場合には、大きさが０である分断復旧ベクトルを決定する。
【０５０８】
図５３は、本開示の実施の形態３において、１の移動体１０５が故障した場合の、複数の他の移動体１０１−１０４のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。図５３において、図６、図１４及び図１６と同じ構成要素については同じ符号を用い、説明を省略する。
【０５０９】
上述した通り、目標位置１４０２から移動体１０１−１０４のそれぞれの位置までの距離は、４０．６ｍ、２５．０ｍ、２２．７ｍ及び１９．９ｍである。従って、目標位置１４０２に最も近い移動体１０４の制御部６０２は、目標位置に向かう向きを持ち、大きさが６．４ｍ／ｓである分断復旧ベクトル（５ｍ／ｓ，−４ｍ／ｓ，０ｍ／ｓ）を、分断復旧ベクトル４００４として決定する。また、移動体１０１−１０３の制御部６０２は、大きさが０である分断復旧ベクトル４００１−４００３を決定する。
【０５１０】
図５４は、本開示の実施の形態３において、１の移動体１０５が故障した場合の、複数の他の移動体１０６−１０７のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。図５４において、図６、図１５及び図１７と同じ構成要素については同じ符号を用い、説明を省略する。
【０５１１】
上述した通り、目標位置１５０２から移動体１０６−１０７のそれぞれの位置までの距離は、１５．６ｍ及び２５．０ｍである。従って、目標位置１５０２に最も近い移動体１０６の制御部６０２は、向きが目標位置に向かう方向であり、大きさが６．４ｍ／ｓである分断復旧ベクトル（−５ｍ／ｓ，−４ｍ／ｓ，０ｍ／ｓ）を、分断復旧ベクトル４１０６として決定する。また、移動体１０７の制御部６０２は、大きさが０である分断復旧ベクトル４１０７を決定する。
【０５１２】
次に、移動体１０１の制御部６０２は、基本移動ベクトル群に属する全ての移動ベクトルと、分断復旧ベクトルとに対して、それぞれ０以外の値を乗じた移動ベクトルの和を計算し、計算結果の移動ベクトルを実移動ベクトルとして決定する（ステップＳ６１１５）。そして、制御部６０２は、実移動ベクトルに関する情報である実移動ベクトル情報を作成し、自移動体情報５８０１の実移動ベクトル情報を更新する。
【０５１３】
図５５は、本開示の実施の形態３において、１の移動体１０５が故障した場合の、他の移動体１０１における、実移動ベクトルの決定方法の一例を示す概念図である。図５５において、図６、図１４、図１６、図５２及び図５３と同じ構成要素については同じ符号を用い、説明を省略する。
【０５１４】
ここでは、制御部６０２は、障害物を回避するための移動の比重を大きくするため、基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルには０．５を乗じ、障害物回避基本移動ベクトルには１を乗じ、分断復旧ベクトルには１を乗じた上で、計算結果の移動ベクトルの和を計算する。なお、基本移動ベクトル群に属するそれぞれの移動ベクトルに乗ずる値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０５１５】
図５５に示す例では、移動体１０１の主基本移動ベクトル４８０１は（−４．５ｍ／ｓ，−１．５ｍ／ｓ，０ｍ／ｓ）であり、障害物回避基本移動ベクトル４８０２は（０．５ｍ／ｓ，５．５ｍ／ｓ，０ｍ／ｓ）であり、分断復旧ベクトル４００１は（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）であるから、計算結果の移動ベクトルは（−１．７５ｍ／ｓ，４．７５ｍ／ｓ，０ｍ／ｓ）となる。移動体１０１の制御部６０２は、計算結果の移動ベクトル（−１．７５ｍ／ｓ，４．７５ｍ／ｓ，０ｍ／ｓ）を実移動ベクトル４９０１として決定する。
【０５１６】
移動体１０５が故障した場合の分断復旧ベクトル４００１の大きさは０である。そのため、移動体１０１は、移動体１０５が故障して、不明群に属する移動体が出現しても、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図５５に示したように、実移動ベクトル４９０１（−１．７５ｍ／ｓ，４．７５ｍ／ｓ，０ｍ／ｓ）に従って、ほぼ北北西に向かって移動することになる。移動体１０１の直接通信群に属する移動体１０２と移動体１０１との間の距離が、移動体１０２と移動体１０４との間の距離よりも近いので、直接通信を維持するための移動の比重は移動体１０２よりも小さくなり、ほぼ本来の目的を遂行することができる。
【０５１７】
移動体１０２−１０４，１０６−１０７の基本移動ベクトル群及び実移動ベクトルも、移動体１０１の基本移動ベクトル群及び実移動ベクトルと同様にして決定される。
【０５１８】
図５６は、本開示の実施の形態３において、１の移動体１０５が故障した場合の、複数の他の移動体１０１−１０４，１０６−１０７における、実移動ベクトルの一例を示す概念図である。図５６において、図６及び図５５と同じ構成要素については同じ符号を用い、説明を省略する。
【０５１９】
ここでは、移動体１０２−１０４の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。また、移動体１０６−１０７の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。
【０５２０】
また、上述した通り、ここでは、制御部６０２は、第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の移動ベクトルの和を計算し、主基本移動ベクトルとして決定する。また、制御部６０２は、第２障害物回避基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の移動ベクトルの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０５２１】
また、ここでは、制御部６０２は、分断復旧ベクトルの大きさが０である場合には、主基本移動ベクトルに０．５を乗じ、障害物回避基本移動ベクトルに１を乗じ、分断復旧ベクトルに１を乗じて求まる各移動ベクトルの和を、実移動ベクトルとして決定する。また、制御部６０２は、分断復旧ベクトルの大きさが０でない場合には、主基本移動ベクトルに０．０５を乗じ、障害物回避基本移動ベクトルに０．１を乗じ、分断復旧ベクトルに１を乗じて求まる各移動ベクトルの和を、実移動ベクトルとして決定する。
【０５２２】
移動体１０２の主基本移動ベクトルは、第２主基本移動ベクトル（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図４７に示した通信維持移動ベクトル４３０２に０．５を乗じた移動ベクトルとの和となる。また、移動体１０２の障害物回避基本移動ベクトルは、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図４７に示した通信維持移動ベクトル４３０２に０．５を乗じた移動ベクトルとの和となる。そして、分断復旧ベクトル４００２の大きさが０であるので、図５６に示したように、移動体１０２の実移動ベクトル５００２は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０５２３】
移動体１０５が故障した場合の分断復旧ベクトル４００２の大きさは０である。そのため、移動体１０２は、移動体１０５が故障して、不明群に属する移動体が出現しても、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図５６に示したように、実移動ベクトル５００２に従って、ほぼ東北東に向かって移動することになる。移動体１０２の直接通信群に属する移動体１０４と移動体１０２との間の距離が、移動体１０１と移動体１０２との間の距離よりも近いので、直接通信を維持するための移動の比重は移動体１０１よりも移動体１０４の方が大きくなり、本来の目的の遂行よりも直接通信の維持のための移動の比重の方が大きくなっている。
【０５２４】
移動体１０３の主基本移動ベクトルは、第２主基本移動ベクトル（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図４８に示した通信維持移動ベクトル４４０３に０．５を乗じた移動ベクトルとの和となる。また、移動体１０３の障害物回避基本移動ベクトルは、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図４８に示した通信維持移動ベクトル４４０３に０．５を乗じた移動ベクトルとの和となる。そして、分断復旧ベクトル４００３の大きさが０であるので、図５６に示したように、移動体１０３の実移動ベクトル５００３は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０５２５】
移動体１０５が故障した場合の分断復旧ベクトル４００３の大きさは０である。そのため、移動体１０３は、移動体１０５が故障して、不明群に属する移動体が出現しても、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図５６に示したように、実移動ベクトル５００３に従って、ほぼ北東に向かって移動することになる。移動体１０３の直接通信群に属する移動体１０４と移動体１０３との間の距離が、移動体１０１と移動体１０２との間の距離よりも近いので、直接通信を維持するための移動の比重は移動体１０１よりも移動体１０４の方が大きくなり、本来の目的の遂行よりも直接通信の維持のための移動の比重の方が大きくなっている。
【０５２６】
移動体１０４の主基本移動ベクトルは、第２主基本移動ベクトル（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図４９に示した通信維持移動ベクトル４５０４に０．５を乗じた移動ベクトルとの和となる。また、移動体１０４の障害物回避基本移動ベクトルは、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図４９に示した通信維持移動ベクトル４５０４に０．５を乗じた移動ベクトルとの和となる。
【０５２７】
移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合、分断復旧ベクトルの大きさは０である。そのため、移動体１０４の実移動ベクトル５００４は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルとの和となり、移動体１０４はほぼ南西に向かって移動する予定であった。ところが、移動体１０５が故障して、不明群に属する移動体が出現したことによって、図５６に示したように、移動体１０４の実移動ベクトル５００４は、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトル４００４（５ｍ／ｓ，−４ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルとの和となり、移動体１０４はほぼ南東に向かって移動することになり、主として通信復旧動作を担うことになる。
【０５２８】
移動体１０６の主基本移動ベクトルは、第２主基本移動ベクトル（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図５０に示した通信維持移動ベクトル４６０６に０．５を乗じた移動ベクトルとの和となる。また、移動体１０６の障害物回避基本移動ベクトルは、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図５０に示した通信維持移動ベクトル４６０６に０．５を乗じた移動ベクトルとの和となる。
【０５２９】
移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合、分断復旧ベクトルの大きさは０である。そのため、移動体１０６の実移動ベクトル５００６は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルとの和となり、移動体１０６はほぼ東南東に向かって移動する予定であった。ところが、移動体１０５が故障して、不明群に属する移動体が出現したことによって、図５６に示したように、移動体１０６の実移動ベクトル５００６は、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトル４１０６（５ｍ／ｓ，−４ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルとの和となり、移動体１０６はほぼ南西に向かって移動することになり、主として通信復旧動作を担うことになる。
【０５３０】
移動体１０７の主基本移動ベクトルは、第２主基本移動ベクトル（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図５１に示した通信維持移動ベクトル４７０７に０．５を乗じた移動ベクトルとの和となる。また、移動体１０３の障害物回避基本移動ベクトルは、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図５１に示した通信維持移動ベクトル４７０７に０．５を乗じた移動ベクトルとの和となる。そして、分断復旧ベクトル４００７の大きさは０であるので、図５６に示したように、移動体１０７の実移動ベクトル５００７は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０５３１】
移動体１０５が故障した場合の分断復旧ベクトル４００７の大きさは０である。そのため、移動体１０７は、移動体１０５が故障して、不明群に属する移動体が出現しても、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図５６に示したように、実移動ベクトル５００７に従って、ほぼ北北西に向かって移動することになる。移動体１０７の直接通信群に属する移動体１０６と移動体１０７との間の距離が、移動体１０１と移動体１０２との間の距離よりも近いので、直接通信を維持するための移動の比重は移動体１０１よりも移動体１０６の方が大きくなり、本来の目的の遂行よりも直接通信の維持のための移動の比重の方が大きくなっている。
【０５３２】
以上より、結果として、移動体１０２−１０７が、互いに集まるような移動を行うことになるので、通信の復旧を図ることができる。また、移動体１０１は、ほぼ本来の目的を遂行することができ、かつ、移動体１０２との直接通信を維持することができる。このように、移動体１０２−１０７は主として通信復旧動作を行い、移動体１０１はほぼ本来の目的の遂行を行うことになり、構成群全体として通信の復旧と本来の目的とを両立させることができる。
【０５３３】
次に、移動体１０１の制御部６０２は、自移動体情報５８０１から実移動ベクトル情報を取得し、取得した実移動ベクトル５７０１に従って実際に移動体１０１を移動させる（ステップＳ６１１６）。
【０５３４】
以下、特許文献１で開示されている技術では解決できていなかった課題を、本開示の実施の形態３では解決できていることを、具体例を用いて、説明する。
【０５３５】
既に述べた通り、特許文献１で開示されている第１の技術は、図２の例のように、どの移動体から見ても、アドホックネットワークとの通信が切断された移動体が二つ以上である場合については、そのままでは適用することができなかった。
【０５３６】
これに対して、本開示の実施の形態３では、上述した通り、図５６の例のように、どの移動体から見ても、アドホックネットワークとの通信が切断された移動体が二つ以上である場合でも、通信の復旧を図ることができる。このような場合、すなわち、どの移動体から見ても、不明群に属する移動体が二つ以上である場合でも、構成群に属する移動体のうちの一部又は全部が互いに集まるような移動を行うことになるので、通信の復旧を図ることができる。図５６の例では、移動体１０２−１０４，１０６−１０７が、互いに集まるような移動を行うことにより、通信の復旧を図ることができている。
【０５３７】
また、特許文献１で開示されている第２の技術では、通信が復旧するまでの間、全ての移動体が、本来の目的のための移動を行うことができなくなってしまう、という課題があった。これに対して、本開示の実施の形態３では、例えば図５６の例では、移動体１０１は主として本来の目的のための移動を行うことができ、この課題を解決できている。
【０５３８】
また、特許文献１で開示されている第３の技術では、通信が復旧するまでの間、移動体群が展開していた領域が徐々に小さくなっていき、全ての移動体が、本来の目的のための移動を行うことができなくなるとともに、通信の復旧後も、通信が復旧した時点における位置から、本来の目的のための移動をやり直すことになってしまう、という課題があった。これに対して、本開示の実施の形態３では、例えば図５６の例では、移動体１０１は主として本来の目的のための移動を行うことができ、この課題を解決できている。
【０５３９】
また、特許文献１で開示されている第４の技術では、選択された移動体が切断位置に向かう方向に移動することにより、その移動体と、アドホックネットワークとの通信が切断された移動体以外の移動体との通信が切断されてしまい、二次的にアドホックネットワークの分断が拡大されていく恐れがある、という課題があった。これに対して、本開示の実施の形態３では、例えば図５６の例では、移動体１０２−１０４，１０６−１０７が、互いに集まるような移動を行うことにより、通信の復旧を図ることができ、かつ、移動体１０１−１０４，１０６−１０７の全ては、通信維持移動ベクトルの効果により、移動体間の直接通信を維持することができ、この課題を解決できている。
【０５４０】
また、既に述べた通り、特許文献１で開示されている第１の技術では、図３の例のように、移動体の一部又は全部が互いに遠ざかるような方向に移動した場合には、最善でも一部の通信の復旧しか図ることができなかった。図３の例では、移動体２０１−２０４と移動体２０６−２０７とが互いに遠ざかるような方向に移動し続けている場合には、最善でも移動体２０１−２０４と移動体２０６−２０７とのどちらか一方に属する移動体のみとの直接通信が復旧するのみで、他方に属する移動体との直接通信を復旧することはできなかった。
【０５４１】
これに対して、本開示の実施の形態３では、図３の例のように、移動体の一部が互いに遠ざかるような方向に移動した場合でも、通信の復旧を図ることができる。このことを、以下に説明する。
【０５４２】
なお、ここでは、移動体２０１−２０７は、不明群に属する全ての移動体の位置のうち、自身に最も近い位置を目標位置として決定し、かつ、既知群に属する移動体の中で、自身が目標位置に最も近い場合には、向きが目標位置に向かう方向であり、大きさが６．４ｍ／ｓである分断復旧ベクトルを決定する。また、移動体２０１−２０７は、不明群に属する全ての移動体の位置のうち、自身が目標位置に最も近くない場合には大きさが０である分断復旧ベクトルを決定する。
【０５４３】
また、ここでは、移動体２０１−２０７の制御部６０２は、直接通信群に属する移動体のそれぞれに対して、当該移動体の位置から自身までの距離によらず、一定の大きさを持ち、当該移動体へ向かう向きと反対方向の向きを持つ移動ベクトルを、反発ベクトルとして決定する。反発ベクトルの大きさは２．８ｍ／ｓとする。
【０５４４】
また、ここでは、移動体２０１−２０７の制御部６０２は、直接通信群に属する移動体のそれぞれに対して、当該移動体の位置から自身までの距離の二乗に比例した大きさを持ち、当該移動体へ向かう向きを持つ移動ベクトルを、接近ベクトルとして決定するものとする。つまり、移動体間の距離が大きいほど、大きさが大きい接近ベクトルを決定するものとする。
【０５４５】
また、ここでは、移動体２０１−２０７の制御部６０２は、反発ベクトルのそれぞれと、接近ベクトルのそれぞれとに対して、１を乗じた上で、移動ベクトルの和を計算し、計算結果の移動ベクトルを通信維持移動ベクトルとして決定する。
【０５４６】
また、ここでは、移動体２０１−２０７の制御部６０２は、第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の移動ベクトルの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０１−２０７の制御部６０２は、第２障害物回避基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の移動ベクトルの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０５４７】
また、ここでは、移動体２０１−２０７の制御部６０２は、障害物を回避するための移動の比重を大きくするため、基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルには０．５を乗じ、障害物回避基本移動ベクトルには１を乗じ、分断復旧ベクトルには１を乗じた上で、計算結果の移動ベクトルの和を計算する。
【０５４８】
また、ここでは、移動体２０１−２０４の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。また、移動体２０５の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。また、移動体２０６−２０７の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。
【０５４９】
また、ここでは、移動体２０１−２０７の制御部６０２は、分断復旧ベクトルの大きさが０である場合には、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和を、実移動ベクトルとして決定する。また、移動体２０１−２０７の制御部６０２は、分断復旧ベクトルの大きさが０でない場合には、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和を、実移動ベクトルとして決定する。
【０５５０】
図５７は、本開示の実施の形態３における、図３に示す状況での、複数の移動体２０１−２０４の分断復旧ベクトルの一例を示す概念図である。図５７において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０５５１】
図５７に示した通り、移動体２０１−２０４のそれぞれにおいては、既知群５１０１に属する移動体は、移動体２０１−２０４であり、不明群５１０２に属する移動体は、移動体２０５−２０７である。
【０５５２】
移動体２０１−２０４の制御部６０２は、不明群５１０２に属する全ての移動体の位置のうち、自身に最も近い移動体２０５の位置を目標位置５１１１として決定する。
【０５５３】
目標位置５１１１に最も近い移動体２０４の制御部６０２は、向きが目標位置に向かう方向であり、大きさが６．４ｍ／ｓである分断復旧ベクトル５１２４を決定する。また、移動体２０１−２０３の制御部６０２は、大きさが０である分断復旧ベクトル５１２１−５１２３を決定する。
【０５５４】
図５８は、本開示の実施の形態３における、図３に示す状況での、移動体２０５の分断復旧ベクトルの一例を示す概念図である。図５８において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０５５５】
図５８に示した通り、移動体２０５においては、既知群５２０１に属する移動体は、移動体２０５であり、不明群５２０２に属する移動体は、移動体２０１−２０４，２０６−２０７である。
【０５５６】
移動体２０５の制御部６０２は、不明群５２０２に属する全ての移動体の位置のうち、自身に最も近い移動体２０６の位置を目標位置５２１１として決定する。
【０５５７】
移動体２０５は、目標位置５２１１に最も近いので、移動体２０５の制御部６０２は、向きが目標位置に向かう方向であり、大きさが６．４ｍ／ｓである分断復旧ベクトル５２２５を決定する。
【０５５８】
図５９は、本開示の実施の形態３における、図３に示す状況での、複数の移動体２０６−２０７の分断復旧ベクトルの一例を示す概念図である。図５９において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０５５９】
図５９に示した通り、移動体２０６−２０７のそれぞれにおいては、既知群５３０１に属する移動体は、移動体２０６−２０７であり、不明群５３０２に属する移動体は、移動体２０１−２０５である。
【０５６０】
移動体２０６−２０７の制御部６０２は、不明群５３０２に属する全ての移動体の位置のうち、自身に最も近い移動体２０５の位置を目標位置５３１１として決定する。
【０５６１】
目標位置５３１１に最も近い移動体２０６の制御部６０２は、向きが目標位置に向かう方向であり、大きさが６．４ｍ／ｓである分断復旧ベクトル５３２６を決定する。また、移動体２０７の制御部６０２は、大きさが０である分断復旧ベクトル５３２７を決定する。
【０５６２】
図６０は、本開示の実施の形態３における、図３に示す状況での、複数の移動体２０１−２０７の実移動ベクトルの一例を示す概念図である。図６０において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０５６３】
移動体２０１の直接通信群に属する移動体は、移動体２０２のみである。従って、移動体２０１の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０２へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０２に対する反発ベクトルとして決定する。また、移動体２０１の制御部６０２は、移動体２０２の位置から自身の位置までの距離１９．９ｍの二乗に比例した大きさ４．２ｍ／ｓを持ち、移動体２０２へ向かう向きを持つ移動ベクトルを、移動体２０２に対する接近ベクトルとして決定する。そして、移動体２０１の制御部６０２は、移動体２０２に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０２に対する接近ベクトルに１を乗じた移動ベクトルとの和を、通信維持移動ベクトルとして決定する。
【０５６４】
次に、移動体２０１の制御部６０２は、第２主基本移動ベクトル（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０１の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０５６５】
そして、分断復旧ベクトル５１２１の大きさが０であるので、移動体２０１の実移動ベクトル５４０１は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０５６６】
移動体２０１は、移動体２０５が故障した場合の分断復旧ベクトル５１２１の大きさが０であるので、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図６０に示したように、実移動ベクトル５４０１に従って、ほぼ北西に向かって移動することになる。移動体２０１の直接通信群に属する移動体２０２と移動体２０１との間の距離が、移動体２０２と移動体２０４との間の距離よりも近いので、直接通信を維持するための移動の比重は移動体２０２よりも移動体２０１の方が小さくなり、ほぼ本来の目的を遂行することができる。
【０５６７】
移動体２０２の直接通信群に属する移動体は、移動体２０１、移動体２０３及び移動体２０４の３つである。従って、移動体２０２の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０１へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０１に対する反発ベクトルとして決定する。移動体２０２の制御部６０２は、移動体２０１の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０１へ向かう向きを持つ移動ベクトルを、移動体２０１に対する接近ベクトルとして決定する。移動体２０２の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０３へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０３に対する反発ベクトルとして決定する。移動体２０２の制御部６０２は、移動体２０３の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０３へ向かう向きを持つ移動ベクトルを、移動体２０３に対する接近ベクトルとして決定する。移動体２０２の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０４へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０４に対する反発ベクトルとして決定する。移動体２０２の制御部６０２は、移動体２０４の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０４へ向かう向きを持つ移動ベクトルを、移動体２０４に対する接近ベクトルとして決定する。
【０５６８】
そして、移動体２０２の制御部６０２は、移動体２０１に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０３に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０４に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０１に対する接近ベクトルに１を乗じた移動ベクトルと、移動体２０３に対する接近ベクトルに１を乗じた移動ベクトルと、移動体２０４に対する接近ベクトルに１を乗じた移動ベクトルとの和を、通信維持移動ベクトルとして決定する。
【０５６９】
次に、移動体２０２の制御部６０２は、第２主基本移動ベクトル（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０２の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０５７０】
そして、分断復旧ベクトル５１２２の大きさが０であるので、移動体２０２の実移動ベクトル５４０２は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０５７１】
移動体２０５が故障した場合の分断復旧ベクトル５１２２の大きさは０である。そのため、移動体２０２は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図６０に示したように、実移動ベクトル５４０２に従って、ほぼ東北東に向かって移動することになる。移動体２０２の直接通信群に属する移動体２０４と移動体２０２との間の距離が、移動体２０１と移動体２０２との間の距離よりも近いので、直接通信を維持するための移動の比重は移動体２０１よりも移動体２０２の方が大きくなり、本来の目的の遂行よりも直接通信の維持のための移動の比重の方が大きくなっている。
【０５７２】
移動体２０３の直接通信群に属する移動体は、移動体２０２及び移動体２０４の２つである。従って、移動体２０３の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０２へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０２に対する反発ベクトルとして決定する。移動体２０３の制御部６０２は、移動体２０２の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０２へ向かう向きを持つ移動ベクトルを、移動体２０２に対する接近ベクトルとして決定する。移動体２０３の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０４へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０４に対する反発ベクトルとして決定する。移動体２０３の制御部６０２は、移動体２０４の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０４へ向かう向きを持つ移動ベクトルを、移動体２０４に対する接近ベクトルとして決定する。
【０５７３】
そして、移動体２０３の制御部６０２は、移動体２０２に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０４に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０２に対する接近ベクトルに１を乗じた移動ベクトルと、移動体２０４に対する接近ベクトルに１を乗じた移動ベクトルとの和を、通信維持移動ベクトルとして決定する。
【０５７４】
次に、移動体２０３の制御部６０２は、第２主基本移動ベクトル（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０３の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０５７５】
そして、分断復旧ベクトル５１２３の大きさが０であるので、移動体２０３の実移動ベクトル５４０３は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０５７６】
移動体２０５が故障した場合の分断復旧ベクトル５１２３の大きさは０である。そのため、移動体２０３は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図６０に示したように、実移動ベクトル５４０３に従って、ほぼ北東に向かって移動することになる。移動体２０３の直接通信群に属する移動体２０４と移動体２０３との間の距離が、移動体２０１と移動体２０２との間の距離よりも近いので、直接通信を維持するための移動の比重は移動体２０１よりも移動体２０３の方が大きくなり、本来の目的の遂行よりも直接通信の維持のための移動の比重の方が大きくなっている。
【０５７７】
移動体２０４の直接通信群に属する移動体は、移動体２０２及び移動体２０３の２つである。従って、移動体２０４の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０２へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０２に対する反発ベクトルとして決定する。移動体２０４の制御部６０２は、移動体２０２の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０２へ向かう向きを持つ移動ベクトルを、移動体２０２に対する接近ベクトルとして決定する。移動体２０４の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０３へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０３に対する反発ベクトルとして決定する。移動体２０４の制御部６０２は、移動体２０３の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０３へ向かう向きを持つ移動ベクトルを、移動体２０３に対する接近ベクトルとして決定する。
【０５７８】
そして、移動体２０４の制御部６０２は、移動体２０２に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０３に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０２に対する接近ベクトルに１を乗じた移動ベクトルと、移動体２０３に対する接近ベクトルに１を乗じた移動ベクトルとの和を、通信維持移動ベクトルとして決定する。
【０５７９】
次に、移動体２０４の制御部６０２は、第２主基本移動ベクトル（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０４の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０５８０】
移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合、分断復旧ベクトルの大きさは０であるので、移動体２０４の実移動ベクトルは、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルとの和となり、移動体２０４はほぼ南西に向かって移動する予定であった。ところが、移動体２０５が故障して、不明群に属する移動体が出現したことによって、図６０に示したように、移動体２０４の実移動ベクトルは、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトル５１２４に１を乗じた移動ベクトルとの和となり、移動体２０４はほぼ東南東に向かって移動することになり、主として通信復旧動作を担うことになる。
【０５８１】
移動体２０５の直接通信群に属する移動体は、存在しない。従って、移動体２０５の制御部６０２は、大きさが０である反発ベクトルを決定し、大きさが０である接近ベクトルを決定する。そして、移動体２０５の制御部６０２は、大きさが０である反発ベクトルに１を乗じた移動ベクトルと、大きさが０である接近ベクトルに１を乗じた移動ベクトルとの和を計算し、大きさが０である通信維持移動ベクトルを決定する。
【０５８２】
次に、移動体２０５の制御部６０２は、第２主基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０５の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０５８３】
移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合、分断復旧ベクトルの大きさは０であるので、移動体２０５の実移動ベクトルは、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルとの和となり、移動体２０５はその場に停止する予定であった。ところが、移動体２０５が故障して、不明群に属する移動体が出現したことによって、図６０に示したように、移動体２０５の実移動ベクトルは、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトル５２２５に１を乗じた移動ベクトルとの和となり、移動体２０５はほぼ東北東に向かって移動することになり、主として通信復旧動作を担うことになる。
【０５８４】
移動体２０６の直接通信群に属する移動体は、移動体２０７のみである。従って、移動体２０６の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０７へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０７に対する反発ベクトルとして決定する。移動体２０６の制御部６０２は、移動体２０７の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０７へ向かう向きを持つ移動ベクトルを、移動体２０７に対する接近ベクトルとして決定する。そして、移動体２０６の制御部６０２は、移動体２０７に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０７に対する接近ベクトルに１を乗じた移動ベクトルとの和を、通信維持移動ベクトルとして決定する。
【０５８５】
次に、移動体２０６の制御部６０２は、第２主基本移動ベクトル（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０６の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０５８６】
移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合、分断復旧ベクトルの大きさは０であるので、移動体２０６の実移動ベクトルは、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルとの和となり、移動体２０６はほぼ南東に向かって移動する予定であった。ところが、移動体２０５が故障して、不明群に属する移動体が出現したことによって、図６０に示したように、移動体２０６の実移動ベクトルは、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトル５３２６に１を乗じた移動ベクトルとの和となり、移動体２０６はほぼ西南西に向かって移動することになり、主として通信復旧動作を担うことになる。
【０５８７】
移動体２０７の直接通信群に属する移動体は、移動体２０６のみである。従って、移動体２０７の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０６へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０６に対する反発ベクトルとして決定する。移動体２０７の制御部６０２は、移動体２０６の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０６へ向かう向きを持つ移動ベクトルを、移動体２０６に対する接近ベクトルとして決定する。そして、移動体２０７の制御部６０２は、移動体２０６に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０６に対する接近ベクトルに１を乗じた移動ベクトルとの和を、通信維持移動ベクトルとして決定する。
【０５８８】
次に、移動体２０７の制御部６０２は、第２主基本移動ベクトル（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０７の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０５８９】
そして、分断復旧ベクトル５１２７の大きさは０であるので、移動体２０７の実移動ベクトル５４０７は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０５９０】
移動体２０５が故障した場合の分断復旧ベクトル５１２７の大きさは０である。そのため、移動体２０７は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図６０に示したように、実移動ベクトル５４０７に従って、ほぼ北北西に向かって移動することになる。直接通信群に属する移動体２０６と移動体２０７との間の距離が、移動体２０１と移動体２０２との間の距離よりも近いので、直接通信を維持するための移動の比重は移動体２０１よりも移動体２０７の方が大きくなり、本来の目的の遂行よりも直接通信の維持のための移動の比重の方が大きくなっている。
【０５９１】
このように、移動体２０２−２０７が、互いに集まるような移動を行うことにより、通信の復旧を図ることができ、かつ、移動体２０１−２０７の全ては、通信維持移動ベクトルの効果により、移動体間の直接通信を維持することができ、図３の例のように、移動体の一部が互いに遠ざかるような方向に移動した場合でも、通信の復旧を図ることができている。
【０５９２】
また、特許文献１で開示されている第２の技術では、通信が復旧するまでの間、全ての移動体が、本来の目的のための移動を行うことができなくなってしまう、という課題があった。これに対して、本開示の実施の形態３では、例えば図６０の例では、移動体２０１は、本来の目的のための移動を行うことができ、この課題を解決できている。
【０５９３】
また、特許文献１で開示されている第３の技術では、通信が復旧するまでの間、移動体群が展開していた領域が徐々に小さくなっていき、全ての移動体が、本来の目的のための移動を行うことができなくなるとともに、通信の復旧後も、通信が復旧した時点における位置から、本来の目的のための移動をやり直すことになってしまう、という課題があった。これに対して、本開示の実施の形態３では、例えば図６０の例では、移動体２０１は、本来の目的のための移動を行うことができ、この課題を解決できている。
【０５９４】
また、特許文献１で開示されている第４の技術では、選択された移動体が切断位置に向かう方向に移動することにより、その移動体と、アドホックネットワークとの通信が切断された移動体以外の移動体との通信が切断されてしまい、二次的にアドホックネットワークの分断が拡大されていく恐れがある、という課題があった。これに対して、本開示の実施の形態３では、例えば図６０の例では、移動体２０２−２０７が、互いに集まるような移動を行うことにより、通信の復旧を図ることができ、かつ、移動体２０１−２０７の全ては、通信維持移動ベクトルの効果により、移動体間の直接通信を維持することができ、この課題を解決できている。
【０５９５】
また、既に述べた通り、特許文献１で開示されている第１の技術では、図４の例のように、アドホックネットワークとの通信が切断された移動体が通信の復旧のために移動した方向に他の移動体が存在しない場合、又は他の移動体がアドホックネットワークとの通信が切断された移動体から遠ざかるような方向に移動していた場合には、通信を復旧させることはできなかった。図４の例では、特許文献１で開示されている第１の技術のいずれを用いたとしても、アドホックネットワークとの通信が切断された移動体２０７が通信の復旧のために移動した方向に、既に移動体２０１−２０６は存在せず、移動体２０１−２０６は図４の左下の方向に向かって移動を続けているので、移動体２０７は移動体２０１−２０６に近づくことはできず、直接通信を復旧させることはできなかった。また、仮に、移動体２０７が移動する方向に移動体２０１−２０６が存在したとしても、移動体２０１−２０６は移動体２０７から遠ざかるような方向に移動し続けているので、移動体２０７は移動体２０１−２０６に追いつくことができず、移動体２０１−２０６との直接通信は復旧できなかった。
【０５９６】
これに対して、本開示の実施の形態３では、図４の例のように、アドホックネットワークとの通信が切断された移動体が通信の復旧のために移動した方向に他の移動体が存在しない場合、又は他の移動体がアドホックネットワークとの通信が切断された移動体から遠ざかるような方向に移動していた場合でも、通信の復旧を図ることができる。このことを、以下に説明する。
【０５９７】
なお、ここでは、移動体２０１−２０７の制御部６０２は、不明群に属する全ての移動体の位置のうち、自身に最も近い位置を目標位置として決定する。また、移動体２０１−２０７の制御部６０２は、既知群に属する移動体の中で、自身が目標位置に最も近い場合には、目標位置に向かう向きを持ち、大きさが６．４ｍ／ｓである分断復旧ベクトルを決定し、自身が目標位置に最も近くない場合には大きさが０である分断復旧ベクトルを決定する。
【０５９８】
また、ここでは、移動体２０１−２０７の制御部６０２は、直接通信群に属する移動体のそれぞれに対して、当該移動体の位置から自身までの距離によらず、一定の大きさを持ち、当該移動体へ向かう向きと反対方向の向きを持つ移動ベクトルを、反発ベクトルとして決定する。反発ベクトルの大きさは２．８ｍ／ｓとする。
【０５９９】
また、ここでは、移動体２０１−２０７の制御部６０２は、直接通信群に属する移動体のそれぞれに対して、当該移動体の位置から自身までの距離の二乗に比例した大きさを持ち、当該移動体へ向かう向きを持つ移動ベクトルを、接近ベクトルとして決定する。つまり、移動体２０１−２０７の制御部６０２は、移動体間の距離が大きいほど、大きさが大きい接近ベクトルを決定する。
【０６００】
また、ここでは、移動体２０１−２０７の制御部６０２は、反発ベクトルのそれぞれに１を乗じた移動ベクトルと、接近ベクトルのそれぞれに１を乗じた移動ベクトルとの和を計算し、計算結果の移動ベクトルを通信維持移動ベクトルとして決定する。
【０６０１】
また、ここでは、移動体２０１−２０７の制御部６０２は、第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の移動ベクトルの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０１−２０７の制御部６０２は、第２基本移動ベクトル群に属する移動ベクトルのうち、第２障害物回避基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の移動ベクトルの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０６０２】
また、ここでは、移動体２０１−２０７の制御部６０２は、障害物を回避するための移動の比重を大きくするため、基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルには０．５を乗じ、障害物回避基本移動ベクトルには１を乗じ、分断復旧ベクトルは１を乗じた上で、計算結果の移動ベクトルの和を計算する。
【０６０３】
また、ここでは、移動体２０１−２０６の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（−６ｍ／ｓ，−８ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。また、移動体２０５の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。また、移動体２０７の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。
【０６０４】
また、ここでは、移動体２０１−２０７の制御部６０２は、分断復旧ベクトルの大きさが０である場合には、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和を、実移動ベクトルとして決定する。移動体２０１−２０７の制御部６０２は、分断復旧ベクトルの大きさが０でない場合には、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和を、実移動ベクトルとして決定する。
【０６０５】
図６１は、本開示の実施の形態３において、図４に示す状況の場合に、複数の移動体２０１−２０６のそれぞれが、どのような分断復旧ベクトルを決定するかの一例を示す概念図である。図６１において、図１及び図４と同じ構成要素については同じ符号を用い、説明を省略する。
【０６０６】
図６１に示した通り、移動体２０１−２０６のそれぞれにおいては、既知群５５０１に属する移動体は、移動体２０１−２０６であり、不明群５５０２に属する移動体は、移動体２０７である。
【０６０７】
移動体２０１−２０６の制御部６０２は、不明群５５０２に属する全ての移動体の位置のうち、自身に最も近い移動体２０７の位置を目標位置５５１１として決定する。
【０６０８】
目標位置５５１１に最も近い移動体２０６の制御部６０２は、目標位置に向かう向きを持ち、大きさが６．４ｍ／ｓである分断復旧ベクトル５５２６を決定する。移動体２０１−２０５の制御部６０２は、大きさが０である分断復旧ベクトル５５２１−５５２５を決定する。
【０６０９】
図６２は、本開示の実施の形態３における、図４に示す状況での、移動体２０７の分断復旧ベクトルの一例を示す概念図である。図６２において、図１及び図４と同じ構成要素については同じ符号を用い、説明を省略する。
【０６１０】
図６２に示した通り、移動体２０７においては、既知群５６０１に属する移動体は、移動体２０７であり、不明群５６０２に属する移動体は、移動体２０１−２０６である。
【０６１１】
移動体２０７の制御部６０２は、不明群５６０２に属する全ての移動体の位置のうち、自身に最も近い移動体２０６の通信切断直前の位置５０３を、目標位置５６１１として決定する。
【０６１２】
移動体２０７は、目標位置５６１１に最も近いので、移動体２０７の制御部６０２は、目標位置に向かう向きを持ち、大きさが６．４ｍ／ｓである分断復旧ベクトル５６２７を決定する。
【０６１３】
図６３は、本開示の実施の形態３における、図４に示す状況での、複数の移動体２０１−２０７の実移動ベクトルの一例を示す概念図である。図６３において、図１及び図４と同じ構成要素については同じ符号を用い、説明を省略する。
【０６１４】
移動体２０１の直接通信群に属する移動体は、移動体２０２のみである。従って、移動体２０１の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０２へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０２に対する反発ベクトルとして決定する。移動体２０１の制御部６０２は、移動体２０２の位置から自身の位置までの距離１９．９ｍの二乗に比例した大きさ４．２ｍ／ｓを持ち、移動体２０２へ向かう向きを持つ移動ベクトルを、移動体２０２に対する接近ベクトルとして決定する。そして、移動体２０１の制御部６０２は、移動体２０２に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０２に対する接近ベクトルに１を乗じた移動ベクトルとの和を、通信維持移動ベクトルとして決定する。
【０６１５】
次に、移動体２０１の制御部６０２は、第２主基本移動ベクトル（−６ｍ／ｓ，−８ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０１の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０６１６】
そして、分断復旧ベクトル５５２１の大きさは０であるので、移動体２０１の実移動ベクトル５７０１は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０６１７】
移動体２０５が故障した場合の分断復旧ベクトル５５２１の大きさは０である。そのため、移動体２０１は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図６３に示したように、実移動ベクトル５７０１に従って、ほぼ北北西に向かってゆっくり移動することになる。移動体２０１の直接通信群に属する移動体２０２と移動体２０１との間の距離が、移動体２０２と移動体２０４との間の距離よりも近いので、直接通信を維持するための移動の比重は移動体２０２よりも移動体２０１の方が小さくなり、比重は小さいながらも本来の目的を遂行することができる。
【０６１８】
移動体２０２の直接通信群に属する移動体は、移動体２０１、移動体２０３及び移動体２０４の３つである。従って、移動体２０２の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０１へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０１に対する反発ベクトルとして決定する。移動体２０２の制御部６０２は、移動体２０１の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０１へ向かう向きを持つ移動ベクトルを、移動体２０１に対する接近ベクトルとして決定する。移動体２０２の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０３へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０３に対する反発ベクトルとして決定する。移動体２０２の制御部６０２は、移動体２０３の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０３へ向かう向きを持つ移動ベクトルを、移動体２０３に対する接近ベクトルとして決定する。移動体２０２の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０４へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０４に対する反発ベクトルとして決定する。移動体２０２の制御部６０２は、移動体２０４の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０４へ向かう向きを持つ移動ベクトルを、移動体２０４に対する接近ベクトルとして決定する。
【０６１９】
そして、移動体２０２の制御部６０２は、移動体２０１に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０３に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０４に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０１に対する接近ベクトルに１を乗じた移動ベクトルと、移動体２０３に対する接近ベクトルに１を乗じた移動ベクトルと、移動体２０４に対する接近ベクトルに１を乗じた移動ベクトルとの和を、通信維持移動ベクトルとして決定する。
【０６２０】
次に、移動体２０２の制御部６０２は、第２主基本移動ベクトル（−６ｍ／ｓ，−８ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０２の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０６２１】
そして、分断復旧ベクトル５５２２の大きさは０であるので、移動体２０２の実移動ベクトル５７０２は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０６２２】
移動体２０５が故障した場合の分断復旧ベクトル５５２２の大きさは０である。そのため、移動体２０２は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図６３に示したように、実移動ベクトル５７０２に従って、ほぼ東北東に向かって移動することになる。移動体２０２の直接通信群に属する移動体２０４と移動体２０２との間の距離が、移動体２０１と移動体２０２との間の距離よりも近いので、直接通信を維持するための移動の比重は移動体２０１よりも移動体２０２の方が大きくなり、本来の目的の遂行よりも直接通信の維持のための移動の比重の方が大きくなっている。
【０６２３】
移動体２０３の直接通信群に属する移動体は、移動体２０２及び移動体２０４の２つである。従って、移動体２０３の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０２へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０２に対する反発ベクトルとして決定する。移動体２０３の制御部６０２は、移動体２０２の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０２へ向かう向きを持つ移動ベクトルを、移動体２０２に対する接近ベクトルとして決定する。移動体２０３の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０４へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０４に対する反発ベクトルとして決定する。移動体２０３の制御部６０２は、移動体２０４の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０４へ向かう向きを持つ移動ベクトルを、移動体２０４に対する接近ベクトルとして決定する。
【０６２４】
そして、移動体２０３の制御部６０２は、移動体２０２に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０４に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０２に対する接近ベクトルに１を乗じた移動ベクトルと、移動体２０４に対する接近ベクトルに１を乗じた移動ベクトルとの和を、通信維持移動ベクトルとして決定する。
【０６２５】
次に、移動体２０３の制御部６０２は、第２主基本移動ベクトル（−６ｍ／ｓ，−８ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０３の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０６２６】
そして、分断復旧ベクトル５５２３の大きさは０であるので、移動体２０３の実移動ベクトル５７０３は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０６２７】
移動体２０５が故障した場合の分断復旧ベクトル５５２３の大きさは０である。そのため、移動体２０３は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図６３に示したように、実移動ベクトル５７０３に従って、ほぼ北東に向かって移動することになる。移動体２０３の直接通信群に属する移動体２０４と移動体２０３との間の距離が、移動体２０１と移動体２０２との間の距離よりも近いので、直接通信を維持するための移動の比重は移動体２０１よりも移動体２０３の方が大きくなり、本来の目的の遂行よりも直接通信の維持のための移動の比重の方が大きくなっている。
【０６２８】
移動体２０４の直接通信群に属する移動体は、移動体２０２及び移動体２０３の２つである。従って、移動体２０４の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０２へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０２に対する反発ベクトルとして決定する。移動体２０４の制御部６０２は、移動体２０２の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０２へ向かう向きを持つ移動ベクトルを、移動体２０２に対する接近ベクトルとして決定する。移動体２０４の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０３へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０３に対する反発ベクトルとして決定する。移動体２０４の制御部６０２は、移動体２０３の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０３へ向かう向きを持つ移動ベクトルを、移動体２０３に対する接近ベクトルとして決定する。
【０６２９】
そして、移動体２０４の制御部６０２は、移動体２０２に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０３に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０２に対する接近ベクトルに１を乗じた移動ベクトルと、移動体２０３に対する接近ベクトルに１を乗じた移動ベクトルとの和を、通信維持移動ベクトルとして決定する。
【０６３０】
次に、移動体２０４の制御部６０２は、第２主基本移動ベクトル（−６ｍ／ｓ，−８ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０４の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０６３１】
そして、分断復旧ベクトル５５２４の大きさは０であるので、移動体２０４の実移動ベクトル５７０４は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０６３２】
移動体２０５が故障した場合の分断復旧ベクトル５５２４の大きさは０である。そのため、移動体２０４は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図６３に示したように、実移動ベクトル５７０４に従って、ほぼ南南西に向かって移動することになる。直接通信群に属する移動体２０２−２０３に対する接近ベクトルの効果によって実移動ベクトル５７０４は南南西を向いており、この向きは第２主基本移動ベクトルの向きとほぼ一致しているので、移動体２０４はほぼ本来の目的を遂行することができる。
【０６３３】
移動体２０５の直接通信群に属する移動体は、移動体２０４のみである。従って、移動体２０５の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０７へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０４に対する反発ベクトルとして決定する。移動体２０５の制御部６０２は、移動体２０４の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０４へ向かう向きを持つ移動ベクトルを、移動体２０４に対する接近ベクトルとして決定する。そして、移動体２０５の制御部６０２は、移動体２０４に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０４に対する接近ベクトルに１を乗じた移動ベクトルとの和を、通信維持移動ベクトルとして決定する。
【０６３４】
次に、移動体２０５の制御部６０２は、第２主基本移動ベクトル（−６ｍ／ｓ，−８ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０５の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０６３５】
移動体２０５が故障した場合の分断復旧ベクトル５５２５の大きさは０である。そのため、移動体２０５は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図６３に示したように、実移動ベクトル５７０５に従って、ほぼ北北西に向かって移動することになる。移動体２０５の直接通信群に属する移動体２０４と移動体２０５との間の距離が、移動体２０１と移動体２０２との間の距離よりも近いので、直接通信を維持するための移動の比重は移動体２０１よりも移動体２０５の方が大きくなり、本来の目的の遂行よりも直接通信の維持のための移動の比重の方が大きくなっている。
【０６３６】
移動体２０６の直接通信群に属する移動体は、移動体２０５のみである。従って、移動体２０６の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０５へ向かう向きと反対方向の向きを持つ移動ベクトルを、移動体２０５に対する反発ベクトルとして決定する。移動体２０６の制御部６０２は、移動体２０５の位置から自身の位置までの距離の二乗に比例した大きさを持ち、移動体２０５へ向かう向きを持つ移動ベクトルを、移動体２０５に対する接近ベクトルとして決定する。そして、移動体２０６の制御部６０２は、移動体２０５に対する反発ベクトルに１を乗じた移動ベクトルと、移動体２０５に対する接近ベクトルに１を乗じた移動ベクトルとの和を、通信維持移動ベクトルとして決定する。
【０６３７】
次に、移動体２０６の制御部６０２は、第２主基本移動ベクトル（−６ｍ／ｓ，−８ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。移動体２０６の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０６３８】
移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合、分断復旧ベクトルの大きさは０であるので、移動体２０６の実移動ベクトルは、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルとの和となり、移動体２０６はほぼ南西に向かって移動する予定であった。ところが、移動体２０５が故障して、不明群に属する移動体が出現したことによって、図６３に示したように、移動体２０６の実移動ベクトルは、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトル５５２６に１を乗じた移動ベクトルとの和となり、移動体２０６はほぼ北東に向かって移動することになり、主として通信復旧動作を担うことになる。
【０６３９】
移動体２０７の直接通信群に属する移動体は、存在しない。従って、移動体２０７の制御部６０２は、大きさが０である反発ベクトルを決定し、大きさが０である接近ベクトルを決定する。そして、移動体２０７の制御部６０２は、大きさが０である反発ベクトルに１を乗じた移動ベクトルと、大きさが０である接近ベクトルに１を乗じた移動ベクトルとの和である、大きさが０である通信維持移動ベクトルを決定する。
【０６４０】
次に、移動体２０７の制御部６０２は、第２主基本移動ベクトル（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０７の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０６４１】
移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合、分断復旧ベクトルの大きさは０であるので、移動体２０６の実移動ベクトルは、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルとの和となり、移動体２０７はほぼ東に向かって移動する予定であった。ところが、移動体２０５が故障して、不明群に属する移動体が出現したことによって、図６３に示したように、移動体２０７の実移動ベクトル５７０７は、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトル５６２７に１を乗じた移動ベクトルとの和となり、移動体２０６はほぼ西北西に向かって移動することになり、主として通信復旧動作を担うことになる。
【０６４２】
このように、移動体２０２−２０３，２０５−２０７が、互いに集まるような移動を行うことにより、通信の復旧を図ることができ、かつ、移動体２０１−２０７の全ては、通信維持移動ベクトルの効果により、移動体間の直接通信を維持することができ、図４の例のように、アドホックネットワークとの通信が切断された移動体が通信の復旧のために移動した方向に他の移動体が存在しない場合、又は他の移動体がアドホックネットワークとの通信が切断された移動体から遠ざかるような方向に移動していた場合でも、通信の復旧を図ることができている。
【０６４３】
また、特許文献１で開示されている第２の技術では、通信が復旧するまでの間、全ての移動体が、本来の目的のための移動を行うことができなくなってしまう、という課題があった。これに対して、本開示の実施の形態３では、例えば図６３の例では、移動体２０１及び移動体２０４は、本来の目的のための移動を行うことができ、この課題を解決できている。
【０６４４】
また、特許文献１で開示されている第３の技術では、通信が復旧するまでの間、移動体群が展開していた領域が徐々に小さくなっていき、全ての移動体が、本来の目的のための移動を行うことができなくなるとともに、通信の復旧後も、通信が復旧した時点における位置から、本来の目的のための移動をやり直すことになってしまう、という課題があった。これに対して、本開示の実施の形態３では、例えば図６３の例では、移動体２０１及び移動体２０４は、本来の目的のための移動を行うことができ、この課題を解決できている。
【０６４５】
また、特許文献１で開示されている第４の技術では、選択された移動体が切断位置に向かう方向に移動することにより、その移動体と、アドホックネットワークとの通信が切断された移動体以外の移動体との通信が切断されてしまい、二次的にアドホックネットワークの分断が拡大されていく恐れがある、という課題があった。これに対して、本開示の実施の形態３では、例えば図６３の例では、移動体２０２−２０３，２０５−２０７が、互いに集まるような移動を行うことにより、通信の復旧を図ることができ、かつ、移動体２０１−２０７の全ては、通信維持移動ベクトルの効果により、移動体間の直接通信を維持することができ、この課題を解決できている。
【０６４６】
なお、移動体１０１の記憶部６０３は、移動体１０１の移動経路５０２を記憶してもよい。制御部６０２は、第４移動距離及び第４移動方向の組み、第４速度絶対値及び第４速度方向の組み、並びに、第４加速度絶対値及び第４加速度方向の組みのいずれかを示す第４制御量（通信維持移動ベクトル情報）に基づいて第１制御量（基本移動ベクトル群情報）を決定してもよい。第４移動距離、第４速度絶対値、又は第４加速度絶対値は、所定値であってもよい。第４移動方向、第４速度方向又は第４加速度方向は、移動経路５０２によって特定される移動方向の逆方向であってもよい。
【０６４７】
本開示の実施の形態３のステップＳ６１１２の処理では、不明群に属する移動体が存在する限り、ステップＳ６１１４の処理で分断復旧ベクトルを決定する前に毎回目標位置を決定し直しているが、実施の形態３の第２の構成では、不明群に属する移動体が変更された場合にのみ目標位置を決定してもよい。
【０６４８】
実施の形態３の第２の構成の場合、不明群に属する移動体が変更された場合にのみ目標位置を決定するので、処理の効率化が図れる。
【０６４９】
本開示の実施の形態３のステップＳ６１１０の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ６１１１−ステップＳ６１１４の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態３の第３の構成では、ステップＳ６１１１の処理を初めて実行した時刻を記憶しておき、ステップＳ６１１１の処理を初めて実行した時刻から０より大きい復旧期限が経過している場合には、不明群に属する移動体が存在したとしても、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい。なお、復旧期限の値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０６５０】
実施の形態３の第３の構成の場合、復旧期限が経過しても通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０６５１】
なお、実施の形態３の第３の構成において、一旦、復旧期限が経過した後でも、不明群に属する移動体が変更された場合、又は更に一定の時間が経過した場合など、適切なタイミングで、ステップＳ６１１１の処理を初めて実行した時刻をリセットし、再び、ステップＳ６１１１−ステップＳ６１１４の処理を実行できるようにしてもよい（実施の形態３の第４の構成）。
【０６５２】
実施の形態３の第４の構成の場合、復旧期限が経過した後、一定の条件が成立した場合には、通信復旧動作をリトライすることができる。
【０６５３】
本開示の実施の形態３のステップＳ６１１０の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ６１１１−ステップＳ６１１４の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態３の第５の構成では、目標位置までの距離が、移動中止判定距離以内の位置に到達した場合には、不明群に属する移動体が存在したとしても、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい。なお、移動中止判定距離の値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０６５４】
実施の形態３の第５の構成の場合、目標位置までの距離が、移動中止判定距離以下になるまで近づいても、通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０６５５】
なお、実施の形態３の第５の構成において、一旦、目標位置までの距離が、移動中止判定距離以内の位置に到達した後は、不明群に属する移動体が変更されるまでは、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい（実施の形態３の第６の構成）。
【０６５６】
実施の形態３の第６の構成の場合、一旦、目標位置までの距離が、移動中止判定距離以内の位置に到達した後に、再び、目標位置までの距離が、移動中止判定距離よりも遠い位置に離れた場合に、再度通信復旧動作を開始して、通信復旧動作と本来の目的のための移動とを交互に繰り返すような事態を回避することができる。
【０６５７】
本開示の実施の形態３のステップＳ６１１０の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ６１１１−ステップＳ６１１４の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態３の第７の構成では、特定の位置から目標位置までの距離に移動中止判定係数を乗じた距離を示す第２移動中止判定距離を算出し、目標位置までの距離が、第２移動中止判定距離以内の位置に到達した場合には、不明群に属する移動体が存在したとしても、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい。なお、第２移動中止判定係数の値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０６５８】
実施の形態３の第７の構成の場合、目標位置までの距離が、特定の位置から目標位置までの距離に第２移動中止判定係数を乗じた距離以下になるまで近づいても、通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０６５９】
なお、実施の形態３の第７の構成において、一旦、目標位置までの距離が、第２移動中止判定距離以内の位置に到達した後は、不明群に属する移動体が変更されるまでは、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい（実施の形態３の第８の構成）。
【０６６０】
実施の形態３の第８の構成の場合、一旦、目標位置までの距離が、第２移動中止判定距離以内の位置に到達した後に、再び、目標位置までの距離が、第２移動中止判定距離よりも遠い位置に離れた場合に、再度通信復旧動作を開始して、通信復旧動作と本来の目的のための移動とを交互に繰り返すような事態を回避することができる。
【０６６１】
本開示の実施の形態３のステップＳ６１１０の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ６１１１−ステップＳ６１１４の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態３の第９の構成では、目標位置に到達した場合には、不明群に属する移動体が存在したとしても、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい。
【０６６２】
実施の形態３の第９の構成の場合、目標位置に到達しても、通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０６６３】
なお、実施の形態３の第９の構成において、一旦、目標位置に到達した後は、不明群に属する移動体が変更されるまでは、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい（実施の形態３の第１０の構成）。
【０６６４】
実施の形態３の第１０の構成の場合、一旦、目標位置に到達した後に、再び、目標位置から離れた場合に、再度通信復旧動作を開始して、通信復旧動作と本来の目的のための移動とを交互に繰り返すような事態を回避することができる。
【０６６５】
本開示の実施の形態３の第３から第１０の構成において、ステップＳ６１１０の処理を実行する際に、それぞれの構成の説明で明記した条件が成立し、通信復旧動作を中止するために、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行した時点で既知群に属する移動体のグループを構成群として特定し直すことにより、アドホックネットワークを分割してもよい（実施の形態３の第１１の構成）。
【０６６６】
実施の形態３の第１１の構成の場合、既知群に属する移動体のそれぞれは、既に通信の復旧に失敗した不明群に対する通信復旧動作を再開して通信復旧動作の中止と再開とを際限なく繰り返すことを回避することができる。
【０６６７】
本開示の実施の形態３の第３から第１０の構成において、ステップＳ６１１０の処理を実行する際に、それぞれの構成の説明で明記した条件が成立し、通信復旧動作を中止するために、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行した時点で、既知群に属する自分以外の全ての移動体に対して、アドホックネットワークを分割することを通知する分割通知を送信してもよい（実施の形態３の第１２の構成）。また、他の移動体から分割通知を受信した時には、ステップＳ６１１０の処理を実行する際に、不明群に属する移動体が存在したとしても、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい。これにより、通信復旧動作を中止し、その時点で既知群に属する移動体のグループを構成群として特定し直すことにより、アドホックネットワークを分割する。
【０６６８】
実施の形態３の第１２の構成の場合、既知群に属する移動体のそれぞれは、同一の構成群を特定することができ、更に、既に通信の復旧に失敗した不明群に対する通信復旧動作を再開して通信復旧動作の中止と再開とを際限なく繰り返すことを回避することができる。
【０６６９】
本開示の実施の形態３の第３から第１０の構成において、ステップＳ６１１０の処理を実行する際に、それぞれの構成の説明で明記した条件が成立し、通信復旧動作を中止するために、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行した時点で、既知群に属する自分以外の全ての移動体に対して、既知群に属する移動体のグループを特定する既知群情報を送信してもよい（実施の形態３の第１３の構成）。また、他の移動体から既知群情報を受信した時には、ステップＳ６１１０の処理を実行する際に、不明群に属する移動体が存在したとしても、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい。これにより、通信復旧動作を中止し、既知群情報で特定される移動体のグループを構成群として特定し直すことにより、アドホックネットワークを分割する。
【０６７０】
実施の形態３の第１３の構成の場合、既知群に属する移動体のそれぞれは、通信によるタイムラグの影響を受けずに、確実に同一の構成群を特定することができ、更に、既に通信の復旧に失敗した不明群に対する通信復旧動作を再開して通信復旧動作の中止と再開とを際限なく繰り返すことを回避することができる。
【０６７１】
（実施の形態４）
本開示の実施の形態４における、複数の移動体によって構成されるアドホックネットワークの全体像を表した概念図は、図６と同じであるので、説明を省略する。
【０６７２】
本開示の実施の形態４における、移動体１０１の機能構成を示したブロック図は、図８と同じであるので、説明を省略する。ただし、移動体１０１の記憶部６０３に記憶される自移動体情報ついては、図９及び図１０とは異なっているので、図６４及び図６５を用いて説明する。なお、移動体１０１の記憶部６０３に記憶する他移動体情報７０２については、図１１と同じであるので、説明を省略する。
【０６７３】
図６４は、本開示の実施の形態４における、移動体１０１の記憶部６０３に記憶される情報の一例を示す図である。図６４において、図６、図８及び図９と同じ構成要素については同じ符号を用い、説明を省略する。
【０６７４】
記憶部６０３は、移動体１０１自身に関する情報である自移動体情報５８０１と、他の移動体に関する情報である他移動体情報７０２とを記憶する。
【０６７５】
自移動体情報５８０１は、自身をユニークに識別するための移動体識別情報と、位置検出部６０４によって検出した自身の位置情報と、直接通信可能な他の移動体を示す直接通信群に属する移動体の移動体識別情報から成る直接通信群情報と、自身及びアドホックネットワークを介した通信を行うことが可能な移動体の移動体識別情報から成る既知群情報と、アドホックネットワークを介した通信を行うことが不可能な移動体の移動体識別情報から成る不明群情報と、不明群が存在する場合の通信の復旧のための移動における目標位置の位置情報である目標位置情報と、直接通信群の一部又は全部の移動体との直接通信を維持するための移動ベクトルを示す通信維持移動ベクトルに関する情報である通信維持移動ベクトル情報と、直接通信の維持を図らない場合の移動を制御する一つ以上の移動ベクトルを示す第２基本移動ベクトル群に関する情報である第２基本移動ベクトル群情報と、不明群が存在しなかった場合の移動を制御する一つ以上の移動ベクトルを示す基本移動ベクトル群に関する情報である基本移動ベクトル群情報と、目標位置に向かうための移動ベクトルを示す分断復旧ベクトルに関する情報である分断復旧ベクトル情報と、実際の移動を規定する実移動ベクトルに関する情報である実移動ベクトル情報から構成される。
【０６７６】
図６５は、本開示の実施の形態４における、移動体１０１の記憶部６０３に記憶する自移動体情報５８０１の一例を示す図である。図６５において、図６及び図６４と同じ構成要素については同じ符号を用い、説明を省略する。また、図６５において、図１０の自移動体情報７０１に含まれる情報と同じ情報については説明を省略する。
【０６７７】
移動体１０１は、例えば、図６５に示す形式で、自移動体情報５８０１を記憶部６０３に記憶する。自移動体情報５８０１は、自身をユニークに識別するための移動体識別情報と、位置検出部６０４によって検出した自身の位置情報と、直接通信可能な他の移動体を示す直接通信群に属する移動体の移動体識別情報から成る直接通信群情報と、自身及びアドホックネットワークを介した通信を行うことが可能な移動体の移動体識別情報から成る既知群情報と、アドホックネットワークを介した通信を行うことが不可能な移動体の移動体識別情報から成る不明群情報と、不明群が存在する場合の通信の復旧のための移動における目標位置の位置情報である目標位置情報と、直接通信群の一部又は全部の移動体との直接通信を維持するための移動ベクトルを示す通信維持移動ベクトルに関する情報である通信維持移動ベクトル情報と、直接通信の維持を図らない場合の移動を制御する一つ以上の移動ベクトルを示す第２基本移動ベクトル群に関する情報である第２基本移動ベクトル群情報と、不明群が存在しなかった場合の移動を制御する一つ以上の移動ベクトルを示す基本移動ベクトル群に関する情報である基本移動ベクトル群情報と、目標位置に向かうための移動ベクトルを示す分断復旧ベクトルに関する情報である分断復旧ベクトル情報と、実際の移動を規定する実移動ベクトルに関する情報である実移動ベクトル情報とを含む。
【０６７８】
図６５で示す自移動体情報５８０１は、自身の移動体識別情報の値が「移動体１０１」であり、自身の位置情報の値が「北緯３４度４１分３７．０秒、東経１３５度３０分７．１秒、海抜２ｍ」であり、既知群情報の値が「移動体１０１、移動体１０２、移動体１０３、移動体１０４」であり、不明群情報の値が「移動体１０５、移動体１０６、移動体１０７」であり、目標位置情報の値が「北緯３４度４１分３７．６秒、東経１３５度３０分９．１秒、海抜２ｍ」であり、通信維持移動ベクトル情報の値が「（１ｍ／ｓ，１ｍ／ｓ，０ｍ／ｓ）」であり、第２基本移動ベクトル群情報の第２主基本移動ベクトルの値が「（−５ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）」であり、第２基本移動ベクトル群情報の第２障害物回避基本移動ベクトルの値が「（０ｍ／ｓ，５ｍ／ｓ，０ｍ／ｓ）」であり、基本移動ベクトル群情報の主基本移動ベクトルの値が「（−４．５ｍ／ｓ，−１．５ｍ／ｓ，０ｍ／ｓ）」であり、基本移動ベクトル群情報の障害物回避基本移動ベクトルの値が「（０．５ｍ／ｓ，５．５ｍ／ｓ，０ｍ／ｓ）」であり、分断復旧ベクトル情報の値が「（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）」であり、実移動ベクトル情報の値が「（−１．７５ｍ／ｓ，４．７５ｍ／ｓ，０ｍ／ｓ）」であることを示している。
【０６７９】
図６５では、第２基本移動ベクトル群情報は、第２主基本移動ベクトル情報と、第２障害物回避基本移動ベクトル情報との組みで表現される。すなわち、第２基本移動ベクトル群は、第２主基本移動ベクトルと、第２障害物回避基本移動ベクトルとの組みであるとしている。ここで、第２主基本移動ベクトルとは、直接通信の維持を図らない場合の、移動体が本来の目的を達成する為の移動を表現した移動ベクトルである。また、第２障害物回避基本移動ベクトルとは、直接通信の維持を図らない場合の、移動体が近くに存在する障害物を回避する為の移動を表現した移動ベクトルである。なお、第２基本移動ベクトル群を構成する移動ベクトルの数と、それらの移動ベクトルが表現する移動内容には、もちろん、様々なバリエーションが考えられ、本開示の主旨とは無関係であることは言うまでもない。以下、本明細書では、特に明記しない限り、第２基本移動ベクトル群については、ここで説明した第２主基本移動ベクトルと、第２障害物回避基本移動ベクトルとの組みを用いて説明する。
【０６８０】
図６６は、本開示の実施の形態４における、移動体１０１の移動制御の全体動作を示すフローチャートである。
【０６８１】
なお、ステップＳ６１０１−ステップＳ６１０９の処理の実行においては、不明群に属する移動体が存在するか否かにかかわらず、実行する内容は同じであるので、以下、特に断らない限り、移動体１０５が故障した場合の例を用いて説明する。
【０６８２】
なお、基本移動ベクトル群の一例の概念図は、図１３と同じであるので、説明を省略する。
【０６８３】
また、移動体１０５が故障した場合の、移動体１０１−１０４のそれぞれにおける既知群及び不明群を示す概念図は、図１４と同じであるので、説明を省略する。
【０６８４】
また、移動体１０５が故障した場合の、移動体１０６−１０７のそれぞれにおける既知群及び不明群を示す概念図は、図１５と同じであるので、説明を省略する。
【０６８５】
まず、移動体１０１の制御部６０２は、移動体１０２−１０７と通信を試み、直接通信が行えた移動体を直接通信群として特定する（ステップＳ６１０１）。そして、制御部６０２は、自移動体情報５８０１のうち、直接通信群に属する全ての移動体の移動体識別情報から成る直接通信群情報を更新する。
【０６８６】
図６、図１３、図１４及び図１５に示されている通り、移動体１０５が故障していない場合でも、移動体１０５が故障した場合でも、移動体１０１は、移動体１０２とのみ直接通信が可能であるので、制御部６０２は、移動体１０２のみを直接通信群として特定し、自移動体情報５８０１の直接通信群情報を更新する。
【０６８７】
次に、移動体１０１の制御部６０２は、直接通信群に属する移動体のそれぞれの位置から自身の位置までの距離を算出する（ステップＳ６１０２）。
【０６８８】
なお、移動体１０５が故障した時点で、移動体１０５−１０７のそれぞれは、図１１の他移動体情報７０２に記載した位置にあるとする。
【０６８９】
移動体１０１に対する直接通信群は移動体１０２のみであるので、移動体１０１の制御部６０２は、移動体１０２の位置から自身の位置までの距離を算出する。移動体１０１と移動体１０２との間の距離は、１９．９ｍである。
【０６９０】
次に、移動体１０１の制御部６０２は、直接通信群に属する移動体のそれぞれに対する通信維持移動ベクトルを決定する（ステップＳ６１０５）。
【０６９１】
ここでは、制御部６０２は、一定の大きさを持ち、直接通信群に属する全ての移動体の位置の中心位置へ向かう移動ベクトルを、通信維持移動ベクトルとして決定する。通信維持移動ベクトルの大きさは、２．８ｍ／ｓとする。
【０６９２】
図６７は、本開示の実施の形態４において、１の移動体１０５が故障した場合の、他の移動体１０１における、通信維持移動ベクトルの決定方法を説明するための概念図である。図６７において、図６及び図１４と同じ構成要素については同じ符号を用い、説明を省略する。
【０６９３】
図６７に示したように、移動体１０１の直接通信群に属する移動体は、移動体１０２のみである。従って、移動体１０１の制御部６０２は、大きさが２．８ｍ／ｓであり、直接通信群に属する全ての移動体の位置の中心位置４２１０へ向かう移動ベクトルを、通信維持移動ベクトル４２０１として決定する。なお、移動体１０２のみが直接通信群に属しているので、直接通信群に属する全ての移動体の位置の中心位置４２１０は、移動体１０２の位置となる。この場合、通信維持移動ベクトル４２０１は、（２ｍ／ｓ，２ｍ／ｓ，０ｍ／ｓ）となる。
【０６９４】
移動体１０２−１０４，１０６−１０７の通信維持移動ベクトルも、移動体１０１の通信維持移動ベクトルと同様にして決定される。
【０６９５】
図６８は、本開示の実施の形態４において、１の移動体１０５が故障した場合の、他の移動体１０２における、通信維持移動ベクトルの決定方法を説明するための概念図である。図６８において、図６及び図１４と同じ構成要素については同じ符号を用い、説明を省略する。
【０６９６】
図６８に示したように、移動体１０２の直接通信群に属する移動体は、移動体１０１、移動体１０３及び移動体１０４の３つである。従って、移動体１０２の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体１０１、移動体１０３及び移動体１０４の位置の中心位置４３１０へ向かう移動ベクトルを、通信維持移動ベクトル４３０２として決定する。
【０６９７】
図６９は、本開示の実施の形態４において、１の移動体１０５が故障した場合の、他の移動体１０３における、通信維持移動ベクトルの決定方法を説明するための概念図である。図６９において、図６及び図１４と同じ構成要素については同じ符号を用い、説明を省略する。
【０６９８】
図６９に示したように、移動体１０３の直接通信群に属する移動体は、移動体１０２及び移動体１０４の２つである。従って、移動体１０３の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体１０２及び移動体１０４の位置の中心位置４４１０へ向かう移動ベクトルを、通信維持移動ベクトル４４０３として決定する。
【０６９９】
図７０は、本開示の実施の形態４において、１の移動体１０５が故障した場合の、他の移動体１０４における、通信維持移動ベクトルの決定方法を説明するための概念図である。図７０において、図６及び図１４と同じ構成要素については同じ符号を用い、説明を省略する。
【０７００】
図７０に示したように、移動体１０４の直接通信群に属する移動体は、移動体１０２及び移動体１０３の２つである。従って、移動体１０４の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体１０２及び移動体１０３の位置の中心位置４５１０へ向かう移動ベクトルを、通信維持移動ベクトル４５０４として決定する。
【０７０１】
図７１は、本開示の実施の形態４において、１の移動体１０５が故障した場合の、他の移動体１０６における、通信維持移動ベクトルの決定方法を説明するための概念図である。図７１において、図６及び図１４と同じ構成要素については同じ符号を用い、説明を省略する。
【０７０２】
図７１に示したように、移動体１０６の直接通信群に属する移動体は、移動体１０７のみである。従って、移動体１０６の制御部６０２は、大きさが２．８ｍ／ｓであり、直接通信群に属する全ての移動体の位置の中心位置４６１０へ向かう移動ベクトルを、通信維持移動ベクトル４６０６として決定する。なお、移動体１０７のみが直接通信群に属しているので、直接通信群に属する全ての移動体の位置の中心位置４６１０は、移動体１０７の位置となる。
【０７０３】
図７２は、本開示の実施の形態４において、１の移動体１０５が故障した場合の、他の移動体１０７における、通信維持移動ベクトルの決定方法を説明するための概念図である。図７２において、図６及び図１４と同じ構成要素については同じ符号を用い、説明を省略する。
【０７０４】
図７２に示したように、移動体１０７の直接通信群に属する移動体は、移動体１０６のみである。従って、移動体１０７の制御部６０２は、大きさが２．８ｍ／ｓであり、直接通信群に属する全ての移動体の位置の中心位置４７１０へ向かう移動ベクトルを、通信維持移動ベクトル４７０７として決定する。なお、移動体１０６のみが直接通信群に属しているので、直接通信群に属する全ての移動体の位置の中心位置４７１０は、移動体１０６の位置となる。
【０７０５】
次に、移動体１０１の制御部６０２は、直接通信の維持を図らない場合の移動を制御する一つ以上の移動ベクトルを示す第２基本移動ベクトル群を決定する（ステップＳ６１０６）。そして、制御部６０２は、第２基本移動ベクトル群に関する情報である第２基本移動ベクトル群情報を作成し、自移動体情報５８０１の第２基本移動ベクトル群情報を更新する。
【０７０６】
図７３は、本開示の実施の形態４における、第２基本移動ベクトル群の一例を示す概念図である。図７３において、図６、図１４、図１６及び図６７と同じ構成要素については同じ符号を用い、説明を省略する。
【０７０７】
図７３に示した場面では、移動体１０１は、直接通信の維持を図らない場合には、本来の目的を達成する為に、何の制約もなければ、西方向に５ｍ／ｓの移動成分と、南方向に２ｍ／ｓの移動成分とを含む移動ベクトルで移動するのが最善であるとする。この場合、第２主基本移動ベクトル４８１１は、（−５ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）となる。
【０７０８】
ところが、移動体１０１の西方向には、障害物が存在している。このため、移動体１０１は、この障害物を迂回して移動する必要がある。このため、直接通信の維持を図らない場合には、障害物を迂回するために、北に５ｍ／ｓの移動成分を含む移動ベクトルで移動する動作が必要であるとする。この場合、第２障害物回避基本移動ベクトル４８１２は、（０ｍ／ｓ，５ｍ／ｓ，０ｍ／ｓ）となる。
【０７０９】
次に、移動体１０１の制御部６０２は、アドホックネットワークを介して、移動体１０２−１０７と通信を試み、通信が行えたか否かに従って、アドホックネットワークを介した通信を行うことが可能な移動体のグループである既知群と、アドホックネットワークを介した通信を行うことが不可能な移動体のグループである不明群とを、それぞれ特定する（ステップＳ６１０７）。そして、制御部６０２は、自移動体情報５８０１のうち、既知群に属する全ての移動体の移動体識別情報から成る既知群情報と、不明群に属する全ての移動体の移動体識別情報から成る不明群情報とを更新する。
【０７１０】
次に、移動体１０１の制御部６０２は、既知群の位置情報を更新する（ステップＳ６１０８）。このとき、位置検出部６０４は、自身の位置情報を検出し、自移動体情報５８０１の位置情報を更新する。更に、通信部６０１は、既知群に属する全ての移動体に対して、アドホックネットワークを介して、移動体識別情報と位置情報とを送信するよう要求し、既知群に属する移動体から移動体識別情報と位置情報とを受信する。そして、制御部６０２は、他移動体情報７０２の位置情報を更新する。
【０７１１】
次に、移動体１０１の制御部６０２は、第２基本移動ベクトル群に属するそれぞれの移動ベクトルと、通信維持移動ベクトルとに対して、それぞれ０以外の値を乗じた移動ベクトルの和を計算し、計算結果の移動ベクトル群を基本移動ベクトル群として決定する（ステップＳ６１０９）。そして、制御部６０２は、基本移動ベクトル群に関する情報である基本移動ベクトル群情報を作成し、自移動体情報５８０１の基本移動ベクトル情報を更新する。
【０７１２】
ここでは、制御部６０２は、第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の２つの移動ベクトルの和を主基本移動ベクトルとして決定する。また、制御部６０２は、第２障害物回避基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の２つの移動ベクトルの和を障害物回避基本移動ベクトルとして決定する。なお、第２基本移動ベクトル群に属するそれぞれの移動ベクトルに乗ずる値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０７１３】
図７３に示したように、これまで説明してきた通り、今回の例では、移動体１０１の第２主基本移動ベクトル４８１１は（−５ｍ／ｓ，−２ｍ／ｓ，０ｍ／ｓ）であり、通信維持移動ベクトル４２０１は（２ｍ／ｓ，２ｍ／ｓ，０ｍ／ｓ）であるから、計算結果の移動ベクトルは（−４ｍ／ｓ，−１ｍ／ｓ，０ｍ／ｓ）となる。そのため、移動体１０１の制御部６０２は、計算結果の移動ベクトル（−４ｍ／ｓ，−１ｍ／ｓ，０ｍ／ｓ）を、基本移動ベクトル群のうちの主基本移動ベクトル４８０１として決定する。また、今回の例では、移動体１０１の第２障害物回避基本移動ベクトル４８１２は（０ｍ／ｓ，５ｍ／ｓ，０ｍ／ｓ）であり、通信維持移動ベクトル４２０１は（２ｍ／ｓ，２ｍ／ｓ，０ｍ／ｓ）であるから、計算結果の移動ベクトルは（１ｍ／ｓ，６ｍ／ｓ，０ｍ／ｓ）となる。そのため、移動体１０１の制御部６０２は、計算結果の移動ベクトル（１ｍ／ｓ，６ｍ／ｓ，０ｍ／ｓ）を、基本移動ベクトル群のうちの障害物回避基本移動ベクトル４８０２として決定する。
【０７１４】
次に、移動体１０１の制御部６０２は、不明群に属する移動体が存在するか否かを判断する（ステップＳ６１１０）。
【０７１５】
ステップＳ６１１０で不明群に属する移動体が存在しないと判断された場合（ステップＳ６１１０でＮＯ）、移動体１０１の制御部６０２は、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、以下で説明するステップＳ６１１５の処理に移行する。
【０７１６】
例えば、図１３の場面では、不明群は存在せず、移動体１０１−１０７が全て既知群に属しているので、移動体１０１の制御部６０２は、分断復旧ベクトルの大きさを０とし、以下で説明するステップＳ６１１５の処理に移行する。
【０７１７】
一方、ステップＳ６１１０で不明群に属する移動体が存在すると判断された場合（ステップＳ６１１０でＹＥＳ）、制御部６０２は、ステップＳ６１１１−ステップＳ６１１４の処理を実行する。
【０７１８】
ステップＳ６１１０で不明群に属する移動体が存在すると判断された場合、まず、移動体１０１の制御部６０２は、他移動体情報７０２から、不明群に属する全ての移動体の位置情報を取得する（ステップＳ６１１１）。
【０７１９】
本開示の実施の形態４における、１の移動体１０５が故障した場合の、既知群に属する移動体１０１−１０４と不明群に属する移動体１０５−１０７とを示す概念図は、図１４と同じであるので、説明を省略する。
【０７２０】
本開示の実施の形態４における、１の移動体１０５が故障した場合の、既知群に属する移動体１０６−１０７と不明群に属する移動体１０１−１０４とを示す概念図は、図１５と同じであるので、説明を省略する。
【０７２１】
次に、移動体１０１の制御部６０２は、ステップＳ６１１１で取得した不明群に属する移動体の位置情報に基づいて、一つ以上の目標位置を決定する（ステップＳ６１１２）。
【０７２２】
目標位置は、例えば、不明群に属する全ての移動体の位置の中心位置、又は不明群に属する全ての移動体の位置のうち、自身に最も近い位置である。
【０７２３】
次に、移動体１０１の制御部６０２は、目標位置から自身の位置までの距離を算出する（ステップＳ６１１３）。
【０７２４】
本開示の実施の形態４において、１の移動体１０５が故障した場合の、他の移動体１０１−１０４のそれぞれにおける、目標位置の決定方法と、当該決定方法によって決定された目標位置との一例を示す図は、図１６と同じである。なお、移動体１０５−１０７のそれぞれは、図１１の他移動体情報７０２に記載した位置にあるとする。
【０７２５】
例えば、不明群に属する全ての移動体の位置の中心位置を目標位置として決定する場合には、移動体１０１−１０４のそれぞれの目標位置は、図１６の目標位置１４０１となり、目標位置１４０１の値は「北緯３４度４１分３７．６秒、東経１３５度３０分９．１秒、海抜２ｍ」となる。この場合、目標位置１４０１から移動体１０１−１０４のそれぞれの位置までの距離は、５３．３ｍ、３７．６ｍ、３５．５ｍ及び２７．９ｍとなる。
【０７２６】
また、不明群に属する全ての移動体の位置のうち、自身に最も近い位置を目標位置として決定する場合には、移動体１０１−１０４のそれぞれの目標位置は、図１６の目標位置１４０２、すなわち、移動体１０５の位置となり、目標位置１４０２の値は「北緯３４度４１分３７．５秒、東経１３５度３０分８．６秒、海抜２ｍ」となる。この場合、目標位置１４０２から移動体１０１−１０４のそれぞれの位置までの距離は、４０．６ｍ、２５．０ｍ、２２．７ｍ及び１９．９ｍとなる。ただし、ここでは、緯度１秒分の距離を３１ｍとし、経度１秒分の距離を２５ｍとして、簡易的に近似値を計算しているが、緯度及び経度の差分から距離を計算する計算方法については、本開示の主旨とは無関係であることは言うまでもない。以下、本明細書では、特に明記しない限り、ここで示した簡易的な計算によって、緯度及び経度の差分から距離を計算することとする。
【０７２７】
本開示の実施の形態４において、１の移動体１０５が故障した場合の、他の移動体１０６−１０７のそれぞれにおける、目標位置の決定方法と、当該決定方法によって決定された目標位置との一例を示す図は、図１７と同じである。なお、移動体１０１−１０５のそれぞれは、図１１の他移動体情報７０２に記載した位置にあるとする。
【０７２８】
例えば、不明群に属する全ての移動体の位置の中心位置を目標位置として決定する場合には、移動体１０６−１０７のそれぞれの目標位置は、図１７の目標位置１５０１となり、目標位置１５０１の値は「北緯３４度４１分３７．４８秒、東経１３５度３０分７．８２秒、海抜２ｍ」となる。この場合、目標位置１５０１から移動体１０６−１０７のそれぞれの位置までの距離は、３３．５ｍ及び４４．５ｍとなる。また、不明群に属する全ての移動体の位置のうち、自身に最も近い位置を目標位置として決定する場合には、移動体１０６−１０７のそれぞれの目標位置は、図１７の目標位置１５０２、すなわち、移動体１０５の位置となり、目標位置１５０２の値は「北緯３４度４１分３７．５秒、東経１３５度３０分８．６秒、海抜２ｍ」となる。この場合、目標位置１５０２から移動体１０６−１０７のそれぞれの位置までの距離は、１５．６ｍ及び２５．０ｍとなる。
【０７２９】
次に、移動体１０１の制御部６０２は、目標位置から自身の位置までの距離に応じて、目標位置に向かうための移動ベクトルを示す分断復旧ベクトルを決定する（ステップＳ６１１４）。そして、制御部６０２は、分断復旧ベクトルに関する情報である分断復旧ベクトル情報を作成し、自移動体情報５８０１の分断復旧ベクトル情報を更新する。
【０７３０】
ここで、分断復旧ベクトルの一例を説明する。移動体１０１−１０７の制御部６０２は、不明群に属する全ての移動体の位置のうち、自身に最も近い位置を目標位置として決定し、かつ、既知群に属する移動体の中で、自身が目標位置に最も近い場合には、向きが目標位置に向かう方向であり、大きさが６．４ｍ／ｓである分断復旧ベクトルを決定し、自身が目標位置に最も近くない場合には、大きさが０である分断復旧ベクトルを決定する。
【０７３１】
図７４は、本開示の実施の形態４において、１の移動体１０５が故障した場合の、複数の他の移動体１０１−１０４のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。図７４において、図６、図１４及び図１６と同じ構成要素については同じ符号を用い、説明を省略する。
【０７３２】
上述した通り、目標位置１４０２から移動体１０１−１０４のそれぞれの位置までの距離は、４０．６ｍ、２５．０ｍ、２２．７ｍ及び１９．９ｍである。従って、目標位置１４０２に最も近い移動体１０４の制御部６０２は、目標位置に向かう向きを持ち、大きさが６．４ｍ／ｓである分断復旧ベクトル（５ｍ／ｓ，−４ｍ／ｓ，０ｍ／ｓ）を、分断復旧ベクトル４００４として決定する。また、移動体１０１−１０３の制御部６０２は、大きさが０である分断復旧ベクトル４００１−４００３を決定する。
【０７３３】
図７５は、本開示の実施の形態４において、１の移動体１０５が故障した場合の、複数の他の移動体１０６−１０７のそれぞれにおける、分断復旧ベクトルの一例を示す概念図である。図７５において、図６、図１５及び図１７と同じ構成要素については同じ符号を用い、説明を省略する。
【０７３４】
上述した通り、目標位置１５０２から移動体１０１−１０４のそれぞれの位置までの距離は、１５．６ｍ及び２５．０ｍである。従って、目標位置１５０２に最も近い移動体１０６の制御部６０２は、向きが目標位置に向かう方向であり、大きさが６．４ｍ／ｓである分断復旧ベクトル（−５ｍ／ｓ，−４ｍ／ｓ，０ｍ／ｓ）を、分断復旧ベクトル４１０６として決定する。また、移動体１０７の制御部６０２は、大きさが０である分断復旧ベクトル４１０７を決定する。
【０７３５】
次に、移動体１０１の制御部６０２は、基本移動ベクトル群に属する全ての移動ベクトルと、分断復旧ベクトルとに対して、それぞれ０以外の値を乗じた移動ベクトルの和を計算し、計算結果の移動ベクトルを実移動ベクトルとして決定する（ステップＳ６１１５）。そして、制御部６０２は、実移動ベクトルに関する情報である実移動ベクトル情報を作成し、自移動体情報５８０１の実移動ベクトル情報を更新する。
【０７３６】
図７６は、本開示の実施の形態４において、１の移動体１０５が故障した場合の、他の移動体１０１における、実移動ベクトルの決定方法を説明するための概念図である。図７６において、図６、図１４、図１６、図７３及び図７４と同じ構成要素については同じ符号を用い、説明を省略する。
【０７３７】
ここでは、制御部６０２は、障害物を回避するための移動の比重を大きくするため、基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルには０．５を乗じ、障害物回避基本移動ベクトルには１を乗じ、分断復旧ベクトルには１を乗じた上で、計算結果の移動ベクトルの和を計算する。なお、基本移動ベクトル群に属するそれぞれの移動ベクトルに乗ずる値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０７３８】
図７６に示す例では、移動体１０１の主基本移動ベクトル４８０１は（−４ｍ／ｓ，−１ｍ／ｓ，０ｍ／ｓ）であり、障害物回避基本移動ベクトル４８０２は（１ｍ／ｓ，６ｍ／ｓ，０ｍ／ｓ）であり、分断復旧ベクトル４００１は（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）であるから、計算結果の移動ベクトルは（−３ｍ／ｓ，５ｍ／ｓ，０ｍ／ｓ）となる。移動体１０１の制御部６０２は、計算結果の移動ベクトル（−３ｍ／ｓ，５ｍ／ｓ，０ｍ／ｓ）を実移動ベクトル４９０１として決定する。
【０７３９】
移動体１０５が故障した場合の分断復旧ベクトル４００１の大きさは０である。そのため、移動体１０１は、移動体１０５が故障して、不明群に属する移動体が出現しても、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図７６に示したように、実移動ベクトル４９０１（−３ｍ／ｓ，５ｍ／ｓ，０ｍ／ｓ）に従って、ほぼ北北西に向かって移動することになる。そのため、障害物を適切に回避し、かつ、直接通信の維持と本来の目的の遂行とを、バランスよく実施することができる。
【０７４０】
移動体１０２−１０４，１０６−１０７の基本移動ベクトル群及び実移動ベクトルも、移動体１０１の基本移動ベクトル群及び実移動ベクトルと同様にして決定される。
【０７４１】
図７７は、本開示の実施の形態４において、１の移動体１０５が故障した場合の、複数の他の移動体１０１−１０４，１０６−１０７における、実移動ベクトルの一例を示す概念図である。図７７において、図６及び図７６と同じ構成要素については同じ符号を用い、説明を省略する。
【０７４２】
ここでは、移動体１０２−１０４の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。また、移動体１０６−１０７の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。
【０７４３】
また、上述した通り、ここでは、制御部６０２は、第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の移動ベクトルの和を計算し、主基本移動ベクトルとして決定する。また、制御部６０２は、第２障害物回避基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の移動ベクトルの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０７４４】
また、ここでは、制御部６０２は、分断復旧ベクトルの大きさが０である場合には、主基本移動ベクトルに０．５を乗じ、障害物回避基本移動ベクトルに１を乗じ、分断復旧ベクトルに１を乗じて求まる各移動ベクトルの和を、実移動ベクトルとして決定する。また、制御部６０２は、分断復旧ベクトルの大きさが０でない場合には、主基本移動ベクトルに０．０５を乗じ、障害物回避基本移動ベクトルに０．１を乗じ、分断復旧ベクトルに１を乗じて求まる各移動ベクトルの和を、実移動ベクトルとして決定する。
【０７４５】
移動体１０２の主基本移動ベクトルは、第２主基本移動ベクトル（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図６８に示した通信維持移動ベクトル４３０２に０．５を乗じた移動ベクトルとの和となる。また、移動体１０２の障害物回避基本移動ベクトルは、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図６８に示した通信維持移動ベクトル４３０２に０．５を乗じた移動ベクトルとの和となる。そして、分断復旧ベクトル４００２の大きさが０であるので、図７７に示したように、移動体１０２の実移動ベクトル５００２は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０７４６】
移動体１０５が故障した場合の分断復旧ベクトル４００２の大きさは０である。そのため、移動体１０２は、移動体１０５が故障して、不明群に属する移動体が出現しても、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図７７に示したように、実移動ベクトル５００２に従って、ほぼ西南西に向かって移動することになる。そのため、直接通信の維持と本来の目的の遂行とを、バランスよく実施することができる。
【０７４７】
移動体１０３の主基本移動ベクトルは、第２主基本移動ベクトル（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図６９に示した通信維持移動ベクトル４４０３に０．５を乗じた移動ベクトルとの和となる。また、移動体１０３の障害物回避基本移動ベクトルは、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図６９に示した通信維持移動ベクトル４４０３に０．５を乗じた移動ベクトルとの和となる。そして、分断復旧ベクトル４００３の大きさが０であるので、図７７に示したように、移動体１０３の実移動ベクトル５００３は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０７４８】
移動体１０５が故障した場合の分断復旧ベクトル４００３の大きさは０である。そのため、移動体１０３は、移動体１０５が故障して、不明群に属する移動体が出現しても、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図７７に示したように、実移動ベクトル５００３に従って、ほぼ西北西に向かって移動することになる。そのため、直接通信の維持と本来の目的の遂行とを、バランスよく実施することができる。
【０７４９】
移動体１０４の主基本移動ベクトルは、第２主基本移動ベクトル（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図７０に示した通信維持移動ベクトル４５０４に０．５を乗じた移動ベクトルとの和となる。また、移動体１０４の障害物回避基本移動ベクトルは、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図７０に示した通信維持移動ベクトル４５０４に０．５を乗じた移動ベクトルとの和となる。
【０７５０】
移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合、分断復旧ベクトルの大きさは０である。そのため、移動体１０４の実移動ベクトル５００４は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルとの和となり、移動体１０４はほぼ西南西に向かって移動する予定であった。ところが、移動体１０５が故障して、不明群に属する移動体が出現したことによって、図７７に示したように、移動体１０４の実移動ベクトル５００４は、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトル４００４（５ｍ／ｓ，−４ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルとの和となり、移動体１０４はほぼ東南東に向かって移動することになり、主として通信復旧動作を担うことになる。
【０７５１】
移動体１０６の主基本移動ベクトルは、第２主基本移動ベクトル（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図７１に示した通信維持移動ベクトル４６０６に０．５を乗じた移動ベクトルとの和となる。また、移動体１０６の障害物回避基本移動ベクトルは、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図７１に示した通信維持移動ベクトル４６０６に０．５を乗じた移動ベクトルとの和となる。
【０７５２】
移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合、分断復旧ベクトルの大きさは０である。そのため、移動体１０６の実移動ベクトル５００６は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルとの和となり、移動体１０６はほぼ東南東に向かって移動する予定であった。ところが、移動体１０５が故障して、不明群に属する移動体が出現したことによって、図７７に示したように、移動体１０６の実移動ベクトル５００６は、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトル４１０６（５ｍ／ｓ，−４ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルとの和となり、移動体１０６はほぼ西南西に向かって移動することになり、主として通信復旧動作を担うことになる。
【０７５３】
移動体１０７の主基本移動ベクトルは、第２主基本移動ベクトル（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図７２に示した通信維持移動ベクトル４７０７に０．５を乗じた移動ベクトルとの和となる。また、移動体１０３の障害物回避基本移動ベクトルは、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、図７２に示した通信維持移動ベクトル４７０７に０．５を乗じた移動ベクトルとの和となる。そして、分断復旧ベクトル４００７の大きさは０であるので、図７７に示したように、移動体１０７の実移動ベクトル５００７は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０７５４】
移動体１０５が故障した場合の分断復旧ベクトル４００７の大きさは０である。そのため、移動体１０７は、移動体１０５が故障して、不明群に属する移動体が出現しても、移動体１０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図７７に示したように、実移動ベクトル５００７に従って、ほぼ東北東に向かって移動することになる。そのため、直接通信の維持と本来の目的の遂行とを、バランスよく実施することができる。
【０７５５】
以上より、結果として、移動体１０１−１０４，１０６−１０７のそれぞれが、直接通信を維持できるような移動を行うと同時に、移動体１０４と移動体１０６とが互いに集まるような移動を行うことになるので、通信の復旧を図ることができる。また、移動体１０１−１０３及び移動体１０７は、直接通信の維持と本来の目的の遂行とをバランスよく実施し、移動体１０４及び移動体１０６は主として通信復旧動作を担うことになり、構成群全体として通信の復旧と本来の目的とを両立させることができる。
【０７５６】
次に、移動体１０１の制御部６０２は、自移動体情報５８０１から実移動ベクトル情報を取得し、取得した実移動ベクトル５７０１に従って実際に移動体１０１を移動させる（ステップＳ６１１６）。
【０７５７】
以下、特許文献１で開示されている技術では解決できていなかった課題を、本開示の実施の形態４では解決できていることを、具体例を用いて、説明する。
【０７５８】
既に述べた通り、特許文献１で開示されている第１の技術は、図２の例のように、どの移動体から見ても、アドホックネットワークとの通信が切断された移動体が二つ以上である場合については、そのままでは適用することができなかった。
【０７５９】
これに対して、本開示の実施の形態４では、上述した通り、図７７の例のように、どの移動体から見ても、アドホックネットワークとの通信が切断された移動体が二つ以上である場合でも、通信の復旧を図ることができる。このような場合、すなわち、どの移動体から見ても、不明群に属する移動体が二つ以上である場合でも、構成群に属する全ての移動体が直接通信を維持できるような移動を行うと同時に、構成群に属する移動体のうちの一部又は全部が互いに集まるような移動を行うことになるので、通信の復旧を図ることができる。図７７の例では、移動体１０１−１０４，１０６−１０７のそれぞれが、直接通信を維持できるような移動を行うと同時に、移動体１０４と移動体１０６が互いに集まるような移動を行うことにより、通信の復旧を図ることができている。
【０７６０】
また、特許文献１で開示されている第２の技術では、通信が復旧するまでの間、全ての移動体が、本来の目的のための移動を行うことができなくなってしまう、という課題があった。これに対して、本開示の実施の形態４では、例えば図７７の例では、移動体１０１−１０３及び移動体１０７は、直接通信の維持と本来の目的の遂行とをバランスよく実施でき、この課題を解決できている。
【０７６１】
また、特許文献１で開示されている第３の技術では、通信が復旧するまでの間、移動体群が展開していた領域が徐々に小さくなっていき、全ての移動体が、本来の目的のための移動を行うことができなくなるとともに、通信の復旧後も、通信が復旧した時点における位置から、本来の目的のための移動をやり直すことになってしまう、という課題があった。これに対して、本開示の実施の形態４では、例えば図７７の例では、移動体１０１−１０３及び移動体１０７は、直接通信の維持と本来の目的の遂行とをバランスよく実施でき、この課題を解決できている。
【０７６２】
また、特許文献１で開示されている第４の技術では、選択された移動体が切断位置に向かう方向に移動することにより、その移動体と、アドホックネットワークとの通信が切断された移動体以外の移動体との通信が切断されてしまい、二次的にアドホックネットワークの分断が拡大されていく恐れがある、という課題があった。これに対して、本開示の実施の形態４では、例えば図７７の例では、移動体１０４及び移動体１０６が互いに集まるような移動を行うことにより、通信の復旧を図ることができ、かつ、移動体１０１−１０４及び移動体１０６−１０７のそれぞれが、直接通信を維持できるような移動を行うことにより、移動体間の直接通信を維持することができ、この課題を解決できている。
【０７６３】
また、既に述べた通り、特許文献１で開示されている第１の技術では、図３の例のように、移動体の一部又は全部が互いに遠ざかるような方向に移動した場合には、最善でも一部の通信の復旧しか図ることができなかった。図３の例では、移動体２０１−２０４と移動体２０６−２０７とが互いに遠ざかるような方向に移動し続けている場合には、最善でも移動体２０１−２０４と移動体２０６−２０７とのどちらか一方に属する移動体のみとの直接通信が復旧するのみで、他方に属する移動体との直接通信を復旧することはできなかった。
【０７６４】
これに対して、本開示の実施の形態４では、図３の例のように、移動体の一部が互いに遠ざかるような方向に移動した場合でも、通信の復旧を図ることができる。このことを、以下に説明する。
【０７６５】
なお、ここでは、移動体２０１−２０７は、不明群に属する全ての移動体の位置のうち、自身に最も近い位置を目標位置として決定し、かつ、既知群に属する移動体の中で、自身が目標位置に最も近い場合には、向きが目標位置に向かう方向であり、大きさが６．４ｍ／ｓである分断復旧ベクトルを決定する。また、移動体２０１−２０７は、不明群に属する全ての移動体の位置のうち、自身が目標位置に最も近くない場合には大きさが０である分断復旧ベクトルを決定する。
【０７６６】
また、ここでは、移動体２０１−２０７の制御部６０２は、一定の大きさを持ち、直接通信群に属する全ての移動体の位置の中心位置へ向かう移動ベクトルを、通信維持移動ベクトルとして決定する。なお、通信維持移動ベクトルの大きさは２．８ｍ／ｓとする。
【０７６７】
また、ここでは、移動体２０１−２０７の制御部６０２は、第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の移動ベクトルの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０１−２０７の制御部６０２は、第２障害物回避基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の移動ベクトルの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０７６８】
また、ここでは、移動体２０１−２０７の制御部６０２は、障害物を回避するための移動の比重を大きくするため、基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルには０．５を乗じ、障害物回避基本移動ベクトルには１を乗じ、分断復旧ベクトルは１を乗じた上で、計算結果の移動ベクトルの和を計算する。
【０７６９】
また、ここでは、移動体２０１−２０４の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。また、移動体２０５の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。また、移動体２０６−２０７の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。
【０７７０】
また、ここでは、移動体２０１−２０７の制御部６０２は、分断復旧ベクトルの大きさが０である場合には、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和を、実移動ベクトルとして決定する。また、移動体２０１−２０７の制御部６０２は、分断復旧ベクトルの大きさが０でない場合には、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和を、実移動ベクトルとして決定する。
【０７７１】
図７８は、本開示の実施の形態４における、図３に示す状況での、複数の移動体２０１−２０４の分断復旧ベクトルの一例を示す概念図である。図７８において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０７７２】
図７８に示した通り、移動体２０１−２０４のそれぞれにおいては、既知群５１０１に属する移動体は、移動体２０１−２０４であり、不明群５１０２に属する移動体は、移動体２０５−２０７である。
【０７７３】
移動体２０１−２０４の制御部６０２は、不明群５１０２に属する全ての移動体の位置のうち、自身に最も近い移動体２０５の位置を目標位置５１１１として決定する。
【０７７４】
目標位置５１１１に最も近い移動体２０４の制御部６０２は、向きが目標位置に向かう方向であり、大きさが６．４ｍ／ｓである分断復旧ベクトル５１２４を決定する。また、移動体２０１−２０３の制御部６０２は、大きさが０である分断復旧ベクトル５１２１−５１２３を決定する。
【０７７５】
図７９は、本開示の実施の形態４における、図３に示す状況での、移動体２０５の分断復旧ベクトルの一例を示す概念図である。図７９において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０７７６】
図７９に示した通り、移動体２０５においては、既知群５２０１に属する移動体は、移動体２０５であり、不明群５２０２に属する移動体は、移動体２０１−２０４，２０６−２０７である。
【０７７７】
移動体２０５の制御部６０２は、不明群５２０２に属する全ての移動体の位置のうち、自身に最も近い移動体２０６の位置を目標位置５２１１として決定する。
【０７７８】
移動体２０５は、目標位置５２１１に最も近いので、移動体２０５の制御部６０２は、向きが目標位置に向かう方向であり、大きさが６．４ｍ／ｓである分断復旧ベクトル５２２５を決定する。
【０７７９】
図８０は、本開示の実施の形態４における、図３に示す状況での、複数の移動体２０６−２０７の分断復旧ベクトルの一例を示す概念図である。図８０において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０７８０】
図８０に示した通り、移動体２０６−２０７のそれぞれにおいては、既知群５３０１に属する移動体は、移動体２０６−２０７であり、不明群５３０２に属する移動体は、移動体２０１−２０５である。
【０７８１】
移動体２０６−２０７の制御部６０２は、不明群５３０２に属する全ての移動体の位置のうち、自身に最も近い移動体２０５の位置を目標位置５３１１として決定する。
【０７８２】
目標位置５３１１に最も近い移動体２０６の制御部６０２は、向きが目標位置に向かう方向であり、大きさが６．４ｍ／ｓである分断復旧ベクトル５３２６を決定する。また、移動体２０７の制御部６０２は、大きさが０である分断復旧ベクトル５３２７を決定する。
【０７８３】
図８１は、本開示の実施の形態４における、図３に示す状況での、複数の移動体２０１−２０７の実移動ベクトルの一例を示す概念図である。図８１において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０７８４】
移動体２０１の直接通信群に属する移動体は、移動体２０２のみである。従って、移動体２０１の制御部６０２は、大きさが２．８ｍ／ｓであり、直接通信群に属する全ての移動体の位置の中心位置（移動体２０２の位置）へ向かう移動ベクトルを、通信維持移動ベクトルとして決定する。
【０７８５】
次に、移動体２０１の制御部６０２は、第２主基本移動ベクトル（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０１の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０７８６】
そして、分断復旧ベクトル５１２１の大きさが０であるので、移動体２０１の実移動ベクトル５４０１は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０７８７】
移動体２０１は、移動体２０５が故障した場合の分断復旧ベクトル５１２１の大きさが０であるので、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図８１に示したように、実移動ベクトル５４０１に従って、ほぼ西北西に向かって移動することになる。そのため、直接通信の維持と本来の目的の遂行とを、バランスよく実施することができる。
【０７８８】
移動体２０２の直接通信群に属する移動体は、移動体２０１、移動体２０３及び移動体２０４の３つである。従って、移動体２０２の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０１、移動体２０３及び移動体２０４の位置の中心位置へ向かう移動ベクトルを、通信維持移動ベクトルとして決定する。
【０７８９】
次に、移動体２０２の制御部６０２は、第２主基本移動ベクトル（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０２の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０７９０】
そして、分断復旧ベクトル５１２２の大きさが０であるので、移動体２０２の実移動ベクトル５４０２は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０７９１】
移動体２０５が故障した場合の分断復旧ベクトル５１２２の大きさは０である。そのため、移動体２０２は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図８１に示したように、実移動ベクトル５４０２に従って、ほぼ西南西に向かって移動することになる。そのため、直接通信の維持と本来の目的の遂行とを、バランスよく実施することができる。
【０７９２】
移動体２０３の直接通信群に属する移動体は、移動体２０２及び移動体２０４の２つである。従って、移動体２０３の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０２及び移動体２０４の位置の中心位置へ向かう移動ベクトルを、通信維持移動ベクトルとして決定する。
【０７９３】
次に、移動体２０３の制御部６０２は、第２主基本移動ベクトル（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０３の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０７９４】
そして、分断復旧ベクトル５１２３の大きさが０であるので、移動体２０３の実移動ベクトル５４０３は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０７９５】
移動体２０５が故障した場合の分断復旧ベクトル５１２３の大きさは０である。そのため、移動体２０３は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図８１に示したように、実移動ベクトル５４０３に従って、ほぼ西北西に向かって移動することになる。そのため、直接通信の維持と本来の目的の遂行とを、バランスよく実施することができる。
【０７９６】
移動体２０４の直接通信群に属する移動体は、移動体２０２及び移動体２０３の２つである。従って、移動体２０４の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０２、移動体２０３の位置の中心位置へ向かう移動ベクトルを、通信維持移動ベクトルとして決定する。
【０７９７】
次に、移動体２０４の制御部６０２は、第２主基本移動ベクトル（−１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０４の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０７９８】
移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合、分断復旧ベクトルの大きさは０であるので、移動体２０４の実移動ベクトルは、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルとの和となり、移動体２０４はほぼ西南西に向かって移動する予定であった。ところが、移動体２０５が故障して、不明群に属する移動体が出現したことによって、図８１に示したように、移動体２０４の実移動ベクトル５４０４は、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトル５１２４に１を乗じた移動ベクトルとの和となり、移動体２０４はほぼ東南東に向かって移動することになり、主として通信復旧動作を担うことになる。
【０７９９】
移動体２０５の直接通信群に属する移動体は、存在しない。従って、移動体２０５の制御部６０２は、大きさが０である通信維持移動ベクトルを決定する。
【０８００】
次に、移動体２０５の制御部６０２は、第２主基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０５の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０８０１】
移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合、分断復旧ベクトルの大きさは０であるので、移動体２０５の実移動ベクトルは、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルとの和となり、移動体２０５はその場に停止する予定であった。ところが、移動体２０５が故障して、不明群に属する移動体が出現したことによって、図８１に示したように、移動体２０５の実移動ベクトル５４０５は、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトル５２２５に１を乗じた移動ベクトルとの和となり、移動体２０５はほぼ東北東に向かって移動することになり、主として通信復旧動作を担うことになる。
【０８０２】
移動体２０６の直接通信群に属する移動体は、移動体２０７のみである。従って、移動体２０６の制御部６０２は、大きさが２．８ｍ／ｓであり、直接通信群に属する全ての移動体の位置の中心位置（移動体２０７の位置）へ向かう移動ベクトルを、通信維持移動ベクトルとして決定する。
【０８０３】
次に、移動体２０６の制御部６０２は、第２主基本移動ベクトル（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０６の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０８０４】
移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合、分断復旧ベクトルの大きさは０であるので、移動体２０６の実移動ベクトルは、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルとの和となり、移動体２０６はほぼ東南東に向かって移動する予定であった。ところが、移動体２０５が故障して、不明群に属する移動体が出現したことによって、図８１に示したように、移動体２０６の実移動ベクトル５４０６は、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトル５３２６に１を乗じた移動ベクトルとの和となり、移動体２０６はほぼ西南西に向かって移動することになり、主として通信復旧動作を担うことになる。
【０８０５】
移動体２０７の直接通信群に属する移動体は、移動体２０６のみである。従って、移動体２０７の制御部６０２は、大きさが２．８ｍ／ｓであり、直接通信群に属する全ての移動体の位置の中心位置（移動体２０６の位置）へ向かう移動ベクトルを、通信維持移動ベクトルとして決定する。
【０８０６】
次に、移動体２０７の制御部６０２は、第２主基本移動ベクトル（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０７の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０８０７】
そして、分断復旧ベクトル５１２７の大きさは０であるので、移動体２０７の実移動ベクトル５４０７は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０８０８】
移動体２０５が故障した場合の分断復旧ベクトル５１２７の大きさは０である。そのため、移動体２０７は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図８１に示したように、実移動ベクトル５４０７に従って、ほぼ東北東に向かって移動することになる。そのため、直接通信の維持と本来の目的の遂行とを、バランスよく実施することができる。
【０８０９】
このように、移動体２０１−２０４，２０６−２０７のそれぞれが、直接通信を維持できるような移動を行うと同時に、移動体２０４−２０６が互いに集まるような移動を行うことになるので、図３の例のように、移動体の一部が互いに遠ざかるような方向に移動した場合でも、通信の復旧を図ることができている。
【０８１０】
また、特許文献１で開示されている第２の技術では、通信が復旧するまでの間、全ての移動体が、本来の目的のための移動を行うことができなくなってしまう、という課題があった。これに対して、本開示の実施の形態４では、例えば図８１の例では、移動体２０１−２０３及び移動体２０７は、直接通信の維持と本来の目的の遂行とをバランスよく実施でき、この課題を解決できている。
【０８１１】
また、特許文献１で開示されている第３の技術では、通信が復旧するまでの間、移動体群が展開していた領域が徐々に小さくなっていき、全ての移動体が、本来の目的のための移動を行うことができなくなるとともに、通信の復旧後も、通信が復旧した時点における位置から、本来の目的のための移動をやり直すことになってしまう、という課題があった。これに対して、本開示の実施の形態４では、例えば図８１の例では、移動体２０１−２０３及び移動体２０７は、直接通信の維持と本来の目的の遂行とをバランスよく実施でき、この課題を解決できている。
【０８１２】
また、特許文献１で開示されている第４の技術では、選択された移動体が切断位置に向かう方向に移動することにより、その移動体と、アドホックネットワークとの通信が切断された移動体以外の移動体との通信が切断されてしまい、二次的にアドホックネットワークの分断が拡大されていく恐れがある、という課題があった。これに対して、本開示の実施の形態４では、例えば図８１の例では、移動体２０４−２０６が互いに集まるような移動を行うことにより、通信の復旧を図ることができ、かつ、移動体２０１−２０４及び移動体２０６−２０７のそれぞれが、直接通信を維持できるような移動を行うことにより、移動体間の直接通信を維持することができ、この課題を解決できている。
【０８１３】
また、既に述べた通り、特許文献１で開示されている第１の技術では、図４の例のように、アドホックネットワークとの通信が切断された移動体が通信の復旧のために移動した方向に他の移動体が存在しない場合、又は他の移動体がアドホックネットワークとの通信が切断された移動体から遠ざかるような方向に移動していた場合には、通信を復旧させることはできなかった。図４の例では、特許文献１で開示されている第１の技術のいずれを用いたとしても、アドホックネットワークとの通信が切断された移動体２０７が通信の復旧のために移動した方向に、既に移動体２０１−２０６は存在せず、移動体２０１−２０６は図４の左下の方向に向かって移動を続けているので、移動体２０７は移動体２０１−２０６に近づくことはできず、直接通信を復旧させることはできなかった。また、仮に、移動体２０７が移動する方向に移動体２０１−２０６が存在したとしても、移動体２０１−２０６は移動体２０７から遠ざかるような方向に移動し続けているので、移動体２０７は移動体２０１−２０６に追いつくことができず、移動体２０１−２０６との直接通信は復旧できなかった。
【０８１４】
これに対して、本開示の実施の形態４では、図４の例のように、アドホックネットワークとの通信が切断された移動体が通信の復旧のために移動した方向に他の移動体が存在しない場合、又は他の移動体がアドホックネットワークとの通信が切断された移動体から遠ざかるような方向に移動していた場合でも、通信の復旧を図ることができる。このことを、以下に説明する。
【０８１５】
なお、ここでは、移動体２０１−２０７の制御部６０２は、不明群に属する全ての移動体の位置のうち、自身に最も近い位置を目標位置として決定する。また、移動体２０１−２０７の制御部６０２は、既知群に属する移動体の中で、自身が目標位置に最も近い場合には、目標位置に向かう向きを持ち、大きさが６．４ｍ／ｓである分断復旧ベクトルを決定し、自身が目標位置に最も近くない場合には大きさが０である分断復旧ベクトルを決定する。
【０８１６】
また、ここでは、移動体２０１−２０７の制御部６０２は、一定の大きさを持ち、直接通信群に属する全ての移動体の位置の中心位置へ向かう移動ベクトルを、通信維持移動ベクトルとして決定する。なお、通信維持移動ベクトルの大きさは２．８ｍ／ｓとする。
【０８１７】
また、ここでは、移動体２０１−２０７の制御部６０２は、第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の移動ベクトルの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０１−２０７の制御部６０２は、第２基本移動ベクトル群に属する移動ベクトルのうち、第２障害物回避基本移動ベクトルには１を乗じ、通信維持移動ベクトルには、１を第２基本移動ベクトル群に属する移動ベクトルの数で割った値、すなわち、０．５を乗じた上で、計算結果の移動ベクトルの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０８１８】
また、ここでは、移動体２０１−２０７の制御部６０２は、障害物を回避するための移動の比重を大きくするため、基本移動ベクトル群に属する移動ベクトルのうち、主基本移動ベクトルには０．５を乗じ、障害物回避基本移動ベクトルには１を乗じ、分断復旧ベクトルは１を乗じた上で、計算結果の移動ベクトルの和を計算する。
【０８１９】
また、ここでは、移動体２０１−２０６の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（−６ｍ／ｓ，−８ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。また、移動体２０５の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。また、移動体２０７の第２基本移動ベクトル群に属する移動ベクトルのうち、第２主基本移動ベクトルの値を（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とし、第２障害物回避基本移動ベクトルの値を（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）とする。
【０８２０】
また、ここでは、移動体２０１−２０７の制御部６０２は、分断復旧ベクトルの大きさが０である場合には、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和を、実移動ベクトルとして決定する。移動体２０１−２０７の制御部６０２は、分断復旧ベクトルの大きさが０でない場合には、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和を、実移動ベクトルとして決定する。
【０８２１】
図８２は、本開示の実施の形態４において、図４に示す状況の場合に、複数の移動体２０１−２０６のそれぞれが、どのような分断復旧ベクトルを決定するかの一例を示す概念図である。図８２において、図１及び図４と同じ構成要素については同じ符号を用い、説明を省略する。
【０８２２】
図８２に示した通り、移動体２０１−２０６のそれぞれにおいては、既知群５５０１に属する移動体は、移動体２０１−２０６であり、不明群５５０２に属する移動体は、移動体２０７である。
【０８２３】
移動体２０１−２０６の制御部６０２は、不明群５５０２に属する全ての移動体の位置のうち、自身に最も近い移動体２０７の位置を目標位置５５１１として決定する。
【０８２４】
目標位置５５１１に最も近い移動体２０６の制御部６０２は、目標位置に向かう向きを持ち、大きさが６．４ｍ／ｓである分断復旧ベクトル５５２６を決定する。移動体２０１−２０５の制御部６０２は、大きさが０である分断復旧ベクトル５５２１−５５２５を決定する。
【０８２５】
図８３は、本開示の実施の形態４における、図４に示す状況での、移動体２０７の分断復旧ベクトルの一例を示す概念図である。図８３において、図１及び図４と同じ構成要素については同じ符号を用い、説明を省略する。
【０８２６】
図８３に示した通り、移動体２０７においては、既知群５６０１に属する移動体は、移動体２０７であり、不明群５６０２に属する移動体は、移動体２０１−２０６である。
【０８２７】
移動体２０７の制御部６０２は、不明群５６０２に属する全ての移動体の位置のうち、自身に最も近い移動体２０６の通信切断直前の位置５０３を、目標位置５６１１として決定する。
【０８２８】
移動体２０７は、目標位置５６１１に最も近いので、移動体２０７の制御部６０２は、目標位置に向かう向きを持ち、大きさが６．４ｍ／ｓである分断復旧ベクトル５６２７を決定する。
【０８２９】
図８４は、本開示の実施の形態４における、図４に示す状況での、複数の移動体２０１−２０７の実移動ベクトルの一例を示す概念図である。図８４において、図１及び図４と同じ構成要素については同じ符号を用い、説明を省略する。
【０８３０】
移動体２０１の直接通信群に属する移動体は、移動体２０２のみである。従って、移動体２０１の制御部６０２は、大きさが２．８ｍ／ｓであり、直接通信群に属する全ての移動体の位置の中心位置（移動体２０２の位置）へ向かう移動ベクトルを、通信維持移動ベクトルとして決定する。
【０８３１】
次に、移動体２０１の制御部６０２は、第２主基本移動ベクトル（−６ｍ／ｓ，−８ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０１の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０８３２】
そして、分断復旧ベクトル５５２１の大きさは０であるので、移動体２０１の実移動ベクトル５７０１は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０８３３】
移動体２０５が故障した場合の分断復旧ベクトル５５２１の大きさは０である。そのため、移動体２０１は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図８１に示したように、実移動ベクトル５７０１に従って、ほぼ南西に向かって移動することになる。そのため、直接通信の維持と本来の目的の遂行とを、バランスよく実施することができる。
【０８３４】
移動体２０２の直接通信群に属する移動体は、移動体２０１、移動体２０３及び移動体２０４の３つである。従って、移動体２０２の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０１、移動体２０３及び移動体２０４の位置の中心位置へ向かう移動ベクトルを、通信維持移動ベクトルとして決定する。
【０８３５】
次に、移動体２０２の制御部６０２は、第２主基本移動ベクトル（−６ｍ／ｓ，−８ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０２の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０８３６】
そして、分断復旧ベクトル５５２２の大きさは０であるので、移動体２０２の実移動ベクトル５７０２は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０８３７】
移動体２０５が故障した場合の分断復旧ベクトル５５２２の大きさは０である。そのため、移動体２０２は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図８４に示したように、実移動ベクトル５７０２に従って、ほぼ南南西に向かって移動することになる。そのため、直接通信の維持と本来の目的の遂行とを、バランスよく実施することができる。
【０８３８】
移動体２０３の直接通信群に属する移動体は、移動体２０２及び移動体２０４の２つである。従って、移動体２０３の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０２及び移動体２０４の位置の中心位置へ向かう移動ベクトルを、通信維持移動ベクトルとして決定する。
【０８３９】
次に、移動体２０３の制御部６０２は、第２主基本移動ベクトル（−６ｍ／ｓ，−８ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０３の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０８４０】
そして、分断復旧ベクトル５５２３の大きさは０であるので、移動体２０３の実移動ベクトル５７０３は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０８４１】
移動体２０５が故障した場合の分断復旧ベクトル５５２３の大きさは０である。そのため、移動体２０３は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図８４に示したように、実移動ベクトル５７０３に従って、ほぼ南西に向かって移動することになる。そのため、直接通信の維持と本来の目的の遂行とを、バランスよく実施することができる。
【０８４２】
移動体２０４の直接通信群に属する移動体は、移動体２０２及び移動体２０３の２つである。従って、移動体２０４の制御部６０２は、大きさが２．８ｍ／ｓであり、移動体２０２及び移動体２０３の位置の中心位置へ向かう移動ベクトルを、通信維持移動ベクトルとして決定する。
【０８４３】
次に、移動体２０４の制御部６０２は、第２主基本移動ベクトル（−６ｍ／ｓ，−８ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０４の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０８４４】
そして、分断復旧ベクトル５５２４の大きさは０であるので、移動体２０４の実移動ベクトル５７０４は、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルと、分断復旧ベクトルに１を乗じた移動ベクトルとの和となる。
【０８４５】
移動体２０５が故障した場合の分断復旧ベクトル５５２４の大きさは０である。そのため、移動体２０４は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図８４に示したように、実移動ベクトル５７０４に従って、ほぼ南西に向かって移動することになる。そのため、直接通信の維持と本来の目的の遂行とを、バランスよく実施することができる。
【０８４６】
移動体２０５の直接通信群に属する移動体は、移動体２０４のみである。従って、移動体２０５の制御部６０２は、大きさが２．８ｍ／ｓであり、直接通信群に属する全ての移動体の位置の中心位置（移動体２０４の位置）へ向かう移動ベクトルを、通信維持移動ベクトルとして決定する。
【０８４７】
次に、移動体２０５の制御部６０２は、第２主基本移動ベクトル（−６ｍ／ｓ，−８ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０５の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０８４８】
移動体２０５が故障した場合の分断復旧ベクトル５５２５の大きさは０である。そのため、移動体２０５は、移動体２０５が故障して、不明群に属する移動体が出現しても、移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合と同じく、図８４に示したように、実移動ベクトル５７０５に従って、ほぼ西南西に向かって移動することになる。そのため、直接通信の維持と本来の目的の遂行とを、バランスよく実施することができる。
【０８４９】
移動体２０６の直接通信群に属する移動体は、移動体２０５のみである。従って、移動体２０６の制御部６０２は、大きさが２．８ｍ／ｓであり、直接通信群に属する全ての移動体の位置の中心位置（移動体２０５の位置）へ向かう移動ベクトルを、通信維持移動ベクトルとして決定する。
【０８５０】
次に、移動体２０６の制御部６０２は、第２主基本移動ベクトル（−６ｍ／ｓ，−８ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。移動体２０６の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０８５１】
移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合、分断復旧ベクトルの大きさは０であるので、移動体２０６の実移動ベクトルは、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルとの和となり、移動体２０６はほぼ西南西に向かって移動する予定であった。ところが、移動体２０５が故障して、不明群に属する移動体が出現したことによって、図８４に示したように、移動体２０６の実移動ベクトルは、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトル５５２６に１を乗じた移動ベクトルとの和となり、移動体２０６はほぼ北東に向かって移動することになり、主として通信復旧動作を担うことになる。
【０８５２】
移動体２０７の直接通信群に属する移動体は、存在しない。従って、移動体２０７の制御部６０２は、大きさが０である通信維持移動ベクトルを決定する。
【０８５３】
次に、移動体２０７の制御部６０２は、第２主基本移動ベクトル（１０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、主基本移動ベクトルとして決定する。また、移動体２０７の制御部６０２は、第２障害物回避基本移動ベクトル（０ｍ／ｓ，０ｍ／ｓ，０ｍ／ｓ）に１を乗じた移動ベクトルと、通信維持移動ベクトルに０．５を乗じた移動ベクトルとの和を計算し、障害物回避基本移動ベクトルとして決定する。
【０８５４】
移動体２０５が故障せず、不明群に属する移動体が存在しなかった場合、分断復旧ベクトルの大きさは０であるので、移動体２０６の実移動ベクトルは、主基本移動ベクトルに０．５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに１を乗じた移動ベクトルとの和となり、移動体２０７はほぼ東に向かって移動する予定であった。ところが、移動体２０５が故障して、不明群に属する移動体が出現したことによって、図８４に示したように、移動体２０７の実移動ベクトル５７０７は、主基本移動ベクトルに０．０５を乗じた移動ベクトルと、障害物回避基本移動ベクトルに０．１を乗じた移動ベクトルと、分断復旧ベクトル５６２７に１を乗じた移動ベクトルとの和となり、移動体２０６はほぼ西に向かって移動することになり、主として通信復旧動作を担うことになる。
【０８５５】
このように、移動体２０１−２０６が直接通信を維持できるような移動を行うと同時に、移動体２０６及び移動体２０７が互いに集まるような移動を行うことになるので、図４の例のように、アドホックネットワークとの通信が切断された移動体が通信の復旧のために移動した方向に他の移動体が存在しない場合、又は他の移動体がアドホックネットワークとの通信が切断された移動体から遠ざかるような方向に移動していた場合でも、通信の復旧を図ることができている。
【０８５６】
また、特許文献１で開示されている第２の技術では、通信が復旧するまでの間、全ての移動体が、本来の目的のための移動を行うことができなくなってしまう、という課題があった。これに対して、本開示の実施の形態４では、例えば図８４の例では、移動体２０１−２０５は、直接通信の維持と本来の目的の遂行とをバランスよく実施でき、この課題を解決できている。
【０８５７】
また、特許文献１で開示されている第３の技術では、通信が復旧するまでの間、移動体群が展開していた領域が徐々に小さくなっていき、全ての移動体が、本来の目的のための移動を行うことができなくなるとともに、通信の復旧後も、通信が復旧した時点における位置から、本来の目的のための移動をやり直すことになってしまう、という課題があった。これに対して、本開示の実施の形態４では、例えば図８４の例では、移動体２０１−２０５は、直接通信の維持と本来の目的の遂行とをバランスよく実施でき、この課題を解決できている。
【０８５８】
また、特許文献１で開示されている第４の技術では、選択された移動体が切断位置に向かう方向に移動することにより、その移動体と、アドホックネットワークとの通信が切断された移動体以外の移動体との通信が切断されてしまい、二次的にアドホックネットワークの分断が拡大されていく恐れがある、という課題があった。これに対して、本開示の実施の形態４では、例えば図８４の例では、移動体２０６及び移動体２０７が互いに集まるような移動を行うことにより、通信の復旧を図ることができ、かつ、移動体２０１−２０６が直接通信を維持できるような移動を行うことにより、移動体間の直接通信を維持することができ、この課題を解決できている。
【０８５９】
本開示の実施の形態４のステップＳ６１１２の処理では、不明群に属する移動体が存在する限り、ステップＳ６１１４の処理で分断復旧ベクトルを決定する前に毎回目標位置を決定し直しているが、実施の形態４の第２の構成では、不明群に属する移動体が変更された場合にのみ目標位置を決定してもよい。
【０８６０】
実施の形態４の第２の構成の場合、不明群に属する移動体が変更された場合にのみ目標位置を決定するので、処理の効率化が図れる。
【０８６１】
本開示の実施の形態４のステップＳ６１１０の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ６１１１−ステップＳ６１１４の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態４の第３の構成では、ステップＳ６１１１の処理を初めて実行した時刻を記憶しておき、ステップＳ６１１１の処理を初めて実行した時刻から０より大きい復旧期限が経過している場合には、不明群に属する移動体が存在したとしても、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい。なお、復旧期限の値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０８６２】
実施の形態４の第３の構成の場合、復旧期限が経過しても通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０８６３】
なお、実施の形態４の第３の構成において、一旦、復旧期限が経過した後でも、不明群に属する移動体が変更された場合、又は更に一定の時間が経過した場合など、適切なタイミングで、ステップＳ６１１１の処理を初めて実行した時刻をリセットし、再び、ステップＳ６１１１−ステップＳ６１１４の処理を実行できるようにしてもよい（実施の形態４の第４の構成）。
【０８６４】
実施の形態４の第４の構成の場合、復旧期限が経過した後、一定の条件が成立した場合には、通信復旧動作をリトライすることができる。
【０８６５】
本開示の実施の形態４のステップＳ６１１０の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ６１１１−ステップＳ６１１４の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態４の第５の構成では、目標位置までの距離が、移動中止判定距離以内の位置に到達した場合には、不明群に属する移動体が存在したとしても、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい。なお、移動中止判定距離の値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０８６６】
実施の形態４の第５の構成の場合、目標位置までの距離が、移動中止判定距離以下になるまで近づいても、通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０８６７】
なお、実施の形態４の第５の構成において、一旦、目標位置までの距離が、移動中止判定距離以内の位置に到達した後は、不明群に属する移動体が変更されるまでは、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい（実施の形態４の第６の構成）。
【０８６８】
実施の形態４の第６の構成の場合、一旦、目標位置までの距離が、移動中止判定距離以内の位置に到達した後に、再び、目標位置までの距離が、移動中止判定距離よりも遠い位置に離れた場合に、再度通信復旧動作を開始して、通信復旧動作と本来の目的のための移動とを交互に繰り返すような事態を回避することができる。
【０８６９】
本開示の実施の形態４のステップＳ６１１０の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ６１１１−ステップＳ６１１４の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態４の第７の構成では、特定の位置から目標位置までの距離に移動中止判定係数を乗じた距離を示す第２移動中止判定距離を算出し、目標位置までの距離が、第２移動中止判定距離以内の位置に到達した場合には、不明群に属する移動体が存在したとしても、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい。なお、第２移動中止判定係数の値は、定数でもよいし、実際の処理を行う際に動的に決定する値であってもよい。
【０８７０】
実施の形態４の第７の構成の場合、目標位置までの距離が、特定の位置から目標位置までの距離に移動中止判定係数を乗じた距離以下になるまで近づいても、通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０８７１】
なお、実施の形態４の第７の構成において、一旦、目標位置までの距離が、第２移動中止判定距離以内の位置に到達した後は、不明群に属する移動体が変更されるまでは、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい（実施の形態４の第８の構成）。
【０８７２】
実施の形態４の第８の構成の場合、一旦、目標位置までの距離が、第２移動中止判定距離以内の位置に到達した後に、再び、目標位置までの距離が、第２移動中止判定距離よりも遠い位置に離れた場合に、再度通信復旧動作を開始して、通信復旧動作と本来の目的のための移動とを交互に繰り返すような事態を回避することができる。
【０８７３】
本開示の実施の形態４のステップＳ６１１０の処理では、不明群に属する移動体が存在するか否かを判断し、不明群に属する移動体が存在する限り、ステップＳ６１１１−ステップＳ６１１４の処理を実行して、大きさが０でない分断復旧ベクトルを決定しているが、実施の形態４の第９の構成では、目標位置に到達した場合には、不明群に属する移動体が存在したとしても、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい。
【０８７４】
実施の形態４の第９の構成の場合、目標位置に到達しても、通信の復旧が完了しなかった場合には、復旧のための動作を中止するので、通信復旧動作を際限なく続けることを回避することができる。
【０８７５】
なお、実施の形態４の第９の構成において、一旦、目標位置に到達した後は、不明群に属する移動体が変更されるまでは、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい（実施の形態４の第１０の構成）。
【０８７６】
実施の形態４の第１０の構成の場合、一旦、目標位置に到達した後に、再び、目標位置から離れた場合に、再度通信復旧動作を開始して、通信復旧動作と本来の目的のための移動とを交互に繰り返すような事態を回避することができる。
【０８７７】
本開示の実施の形態４の第３から第１０の構成において、ステップＳ６１１０の処理を実行する際に、それぞれの構成の説明で明記した条件が成立し、通信復旧動作を中止するために、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行した時点で既知群に属する移動体のグループを構成群として特定し直すことにより、アドホックネットワークを分割してもよい（実施の形態４の第１１の構成）。
【０８７８】
実施の形態４の第１１の構成の場合、既知群に属する移動体のそれぞれは、既に通信の復旧に失敗した不明群に対する通信復旧動作を再開して通信復旧動作の中止と再開とを際限なく繰り返すことを回避することができる。
【０８７９】
本開示の実施の形態４の第３から第１０の構成において、ステップＳ６１１０の処理を実行する際に、それぞれの構成の説明で明記した条件が成立し、通信復旧動作を中止するために、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行した時点で、既知群に属する自分以外の全ての移動体に対して、アドホックネットワークを分割することを通知する分割通知を送信してもよい（実施の形態４の第１２の構成）。また、他の移動体から分割通知を受信した時には、ステップＳ６１１０の処理を実行する際に、不明群に属する移動体が存在したとしても、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい。これにより、通信復旧動作を中止し、その時点で既知群に属する移動体のグループを構成群として特定し直すことにより、アドホックネットワークを分割する。
【０８８０】
実施の形態４の第１２の構成の場合、既知群に属する移動体のそれぞれは、同一の構成群を特定することができ、更に、既に通信の復旧に失敗した不明群に対する通信復旧動作を再開して通信復旧動作の中止と再開とを際限なく繰り返すことを回避することができる。
【０８８１】
本開示の実施の形態４の第３から第１０の構成において、ステップＳ６１１０の処理を実行する際に、それぞれの構成の説明で明記した条件が成立し、通信復旧動作を中止するために、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行した時点で、既知群に属する自分以外の全ての移動体に対して、既知群に属する移動体のグループを特定する既知群情報を送信してもよい（実施の形態４の第１３の構成）。また、他の移動体から既知群情報を受信した時には、ステップＳ６１１０の処理を実行する際に、不明群に属する移動体が存在したとしても、ステップＳ６１１１−ステップＳ６１１４の処理を実行せずに、分断復旧ベクトルの大きさを０に決定し（ステップＳ６１１７）、ステップＳ６１１５の処理に移行してもよい。これにより、通信復旧動作を中止し、既知群情報で特定される移動体のグループを構成群として特定し直すことにより、アドホックネットワークを分割する。
【０８８２】
実施の形態４の第１３の構成の場合、既知群に属する移動体のそれぞれは、通信によるタイムラグの影響を受けずに、確実に同一の構成群を特定することができ、更に、既に通信の復旧に失敗した不明群に対する通信復旧動作を再開して通信復旧動作の中止と再開とを際限なく繰り返すことを回避することができる。
【０８８３】
本開示において、ユニット、装置、部材又は部の全部又は一部、又は図面に示されるブロック図の機能ブロックの全部又は一部は、半導体装置、半導体集積回路（ＩＣ）、又はＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）を含む一つ又は複数の電子回路によって実行されてもよい。ＬＳＩ又はＩＣは、一つのチップに集積されてもよいし、複数のチップを組み合わせて構成されてもよい。例えば、記憶素子以外の機能ブロックは、一つのチップに集積されてもよい。ここでは、ＬＳＩやＩＣと呼んでいるが、集積の度合いによって呼び方が変わり、システムＬＳＩ、ＶＬＳＩ（Ｖｅｒｙ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）、若しくはＵＬＳＩ（Ｕｌｔｒａ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）と呼ばれるものであってもよい。ＬＳＩの製造後にプログラムされる、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）、又はＬＳＩ内部の接合関係の再構成又はＬＳＩ内部の回路区画のセットアップができるＲｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅも同じ目的で使うことができる。
【０８８４】
さらに、ユニット、装置、部材又は部の全部又は一部の機能又は操作は、ソフトウエア処理によって実行することが可能である。この場合、ソフトウエアは一つ又は複数のＲＯＭ、光学ディスク、ハードディスクドライブなどの非一時的記録媒体に記録され、ソフトウエアが処理装置（Ｐｒｏｃｅｓｓｏｒ）によって実行されたときに、そのソフトウエアで特定された機能が処理装置（Ｐｒｏｃｅｓｓｏｒ）および周辺装置によって実行される。システム又は装置は、ソフトウエアが記録されている一つ又は複数の非一時的記録媒体、処理装置（Ｐｒｏｃｅｓｓｏｒ）、及び必要とされるハードウエアデバイス、例えばインターフェース、を備えていてもよい。
【産業上の利用可能性】
【０８８５】
本開示に係る自律型移動ロボット及び移動制御方法は、自律型移動ロボットと通信対象自律型移動ロボットとが結果的に連携して移動し、通信対象自律型移動ロボットとの通信の復旧と自律型移動ロボットの本来の目的のための移動とを両立させることができ、自律して移動する自律型移動ロボット及び自律型移動ロボットにおける移動制御方法として有用である。
【符号の説明】
【０８８６】
１，２    アドホックネットワーク
３，４，５，２３    アドホックネットワーク群
１０１〜１０７    移動体
２０１〜２０７    移動体
６０１    通信部
６０２    制御部
６０３    記憶部
６０４    位置検出部
６０５    移動制御部
７０１    自移動体情報
７０２    他移動体情報
【図１】
0006709700.tif 000002
【図２】
0006709700.tif 000003
【図３】
0006709700.tif 000004
【図４】
0006709700.tif 000005
【図５】
0006709700.tif 000006
【図６】
0006709700.tif 000007
【図７】
0006709700.tif 000008
【図８】
0006709700.tif 000009
【図９】
0006709700.tif 000010
【図１０】
0006709700.tif 000011
【図１１】
0006709700.tif 000012
【図１２】
0006709700.tif 000013
【図１３】
0006709700.tif 000014
【図１４】
0006709700.tif 000015
【図１５】
0006709700.tif 000016
【図１６】
0006709700.tif 000017
【図１７】
0006709700.tif 000018
【図１８】
0006709700.tif 000019
【図１９】
0006709700.tif 000020
【図２０】
0006709700.tif 000021
【図２１】
0006709700.tif 000022
【図２２】
0006709700.tif 000023
【図２３】
0006709700.tif 000024
【図２４】
0006709700.tif 000025
【図２５】
0006709700.tif 000026
【図２６】
0006709700.tif 000027
【図２７】
0006709700.tif 000028
【図２８】
0006709700.tif 000029
【図２９】
0006709700.tif 000030
【図３０】
0006709700.tif 000031
【図３１】
0006709700.tif 000032
【図３２】
0006709700.tif 000033
【図３３】
0006709700.tif 000034
【図３４】
0006709700.tif 000035
【図３５】
0006709700.tif 000036
【図３６】
0006709700.tif 000037
【図３７】
0006709700.tif 000038
【図３８】
0006709700.tif 000039
【図３９】
0006709700.tif 000040
【図４０】
0006709700.tif 000041
【図４１】
0006709700.tif 000042
【図４２】
0006709700.tif 000043
【図４３】
0006709700.tif 000044
【図４４】
0006709700.tif 000045
【図４５】
0006709700.tif 000046
【図４６】
0006709700.tif 000047
【図４７】
0006709700.tif 000048
【図４８】
0006709700.tif 000049
【図４９】
0006709700.tif 000050
【図５０】
0006709700.tif 000051
【図５１】
0006709700.tif 000052
【図５２】
0006709700.tif 000053
【図５３】
0006709700.tif 000054
【図５４】
0006709700.tif 000055
【図５５】
0006709700.tif 000056
【図５６】
0006709700.tif 000057
【図５７】
0006709700.tif 000058
【図５８】
0006709700.tif 000059
【図５９】
0006709700.tif 000060
【図６０】
0006709700.tif 000061
【図６１】
0006709700.tif 000062
【図６２】
0006709700.tif 000063
【図６３】
0006709700.tif 000064
【図６４】
0006709700.tif 000065
【図６５】
0006709700.tif 000066
【図６６】
0006709700.tif 000067
【図６７】
0006709700.tif 000068
【図６８】
0006709700.tif 000069
【図６９】
0006709700.tif 000070
【図７０】
0006709700.tif 000071
【図７１】
0006709700.tif 000072
【図７２】
0006709700.tif 000073
【図７３】
0006709700.tif 000074
【図７４】
0006709700.tif 000075
【図７５】
0006709700.tif 000076
【図７６】
0006709700.tif 000077
【図７７】
0006709700.tif 000078
【図７８】
0006709700.tif 000079
【図７９】
0006709700.tif 000080
【図８０】
0006709700.tif 000081
【図８１】
0006709700.tif 000082
【図８２】
0006709700.tif 000083
【図８３】
0006709700.tif 000084
【図８４】
0006709700.tif 000085