(57)【特許請求の範囲】
【請求項１】
制御対象である制御対象機器に関する制御対象機器情報と、他の制御装置によって制御される非制御対象機器に関する非制御対象機器情報とに基づいて、当該制御対象機器が複数の領域セルに区分された探索エリアを探索するように当該制御対象機器を制御する制御装置であって、
前記制御対象機器の位置を少なくとも含む制御対象機器情報を取得する制御対象機器情報取得部と、
前記非制御対象機器の位置を少なくとも含む非制御対象機器情報を取得する非制御対象機器情報取得部と、
前記制御対象機器又は前記非制御対象機器が最後に領域セルに滞在した時刻からの経過時間を領域セル毎に示すＡＧＥマップ、前記制御対象機器情報取得部が取得した制御対象機器情報が示す前記制御対象機器の位置、及び、前記非制御対象機器情報取得部が取得した非制御対象機器情報が示す前記非制御対象機器の位置に基づいて、前記制御対象機器が領域セルを探索する優先度を領域セル毎に示す優先度マップを生成する優先度マップ生成部と、
前記優先度マップ生成部が生成した優先度マップに基づいて、前記制御対象機器を制御する制御実行部と、を備え、
前記優先度マップ生成部は、評価関数の出力値を前記優先度とし、
前記評価関数は、領域セル毎に、前記経過時間が大きくなるに従って前記出力値が大きくなり、前記制御対象機器の位置から領域セルの位置までの第１の距離が小さくなるに従って前記出力値が大きくなり、前記制御対象機器の位置から前記非制御対象機器の位置までの第２の距離に基づいて、前記第１の距離が前記出力値に与える影響が相対的に変化することを特徴とする、制御装置。
【請求項２】
前記評価関数は、前記第２の距離に基づいて、前記第１の距離が小さくなるに従って前記出力値が大きくなる度合いが調整され、前記第２の距離が小さくなるに従って、当該度合いが大きくなり、前記第２の距離が大きくなるに従って、当該度合いが小さくなることを特徴とする、請求項１に記載の制御装置。
【請求項３】
前記評価関数は、分子が前記経過時間であり、分母が、前記第１の距離を底とし、前記第２の距離に基づいた関数をべき指数としたべき乗であることを特徴とする、請求項２に記載の制御装置。
【請求項４】
前記優先度マップ生成部が生成した優先度マップに基づいて、前記制御対象機器に対する制御ベクトルを算出する制御ベクトル算出部をさらに備え、
前記制御実行部は、前記制御ベクトル算出部が生成した制御ベクトルに基づいて、前記制御対象機器を制御することを特徴とする、請求項１から請求項３の何れか１項に記載の制御装置。
【請求項５】
前記制御対象機器情報取得部が取得した制御対象機器情報に基づいて、前記ＡＧＥマップを生成するＡＧＥマップ生成部をさらに備えていることを特徴とする、請求項１から請求項４の何れか１項に記載の制御装置。
【請求項６】
請求項１から請求項５の何れか１項に記載の制御装置を備えていることを特徴とする、制御対象機器。
【請求項７】
制御対象である制御対象機器に関する制御対象機器情報と、他の制御装置によって制御される非制御対象機器に関する非制御対象機器情報とに基づいて、当該制御対象機器が複数の領域セルに区分された探索エリアを探索するように当該制御対象機器を制御する、制御対象機器の制御方法であって、
前記制御対象機器の位置を少なくとも含む制御対象機器情報を取得する制御対象機器情報取得ステップと、
前記非制御対象機器の位置を少なくとも含む非制御対象機器情報を取得する非制御対象機器情報取得ステップと、
前記制御対象機器又は前記非制御対象機器が最後に領域セルに滞在した時刻からの経過時間を領域セル毎に示すＡＧＥマップ、前記制御対象機器情報取得ステップで取得した制御対象機器情報が示す制御対象機器の位置、及び、前記非制御対象機器情報取得ステップで取得した非制御対象機器情報が示す非制御対象機器の位置に基づいて、前記制御対象機器が領域セルを探索する優先度を領域セル毎に示す優先度マップを生成する優先度マップ生成ステップと、
前記優先度マップ生成ステップで生成した優先度マップに基づいて、前記制御対象機器を制御する制御実行ステップと、を含み、
前記優先度マップ生成ステップは、評価関数の出力値を前記優先度とし、
前記評価関数は、領域セル毎に、前記経過時間が大きくなるに従って前記出力値が大きくなり、前記制御対象機器の位置から領域セルの位置までの第１の距離が小さくなるに従って前記出力値が大きくなり、前記制御対象機器の位置から前記非制御対象機器の位置までの第２の距離に基づいて、前記第１の距離が前記出力値に与える影響が相対的に変化することを特徴とする、制御対象機器の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象機器を制御する制御装置に関する。
【背景技術】
【０００２】
防衛、防災、セキュリティ又は清掃等の分野において、監視作業、観測作業、又は保守作業等は、高い危険度を有し且つ長時間の作業であることが一般的である。そのため、これらの分野における監視作業、観測作業、又は保守作業等に対して、無人機の活用が検討されている。通常、無人機のセンシング範囲には限界があるため、複数の無人機が協調動作により作業を効率的に実現するための開発が盛んに行われている。【０００３】
例えば、非特許文献１では、無人機群を構成する少なくとも１機の無人機を制御する、鳥の行動モデルを拡張した制御アルゴリズムを用いた制御装置が提案されている。当該制御装置は、探索エリアを微小領域セルに区切り、その領域セル毎に評価関数を計算して優先度を求めた後、制御対象機器が最も優先度の高い領域セルを探索するように当該制御対象機器を制御する。その評価関数の変数は、１）制御対象機器の位置ベクトル、２）制御対象機器から領域セルまでの位置ベクトル、及び３）制御対象機器等が最後にその領域セルに滞在した時刻からの経過時間の３つである。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】W. Yuan et al., “Semi-Flocking-Controlled Mobile Sensor Networks for Dynamic Area Coverage and Multiple Target Tracking,”  IEEE SENSORS JOURNAL, VOL.18, No.21, Nov 1, 2018.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の非特許文献１に記載の制御装置による制御では、制御対象機器と、他の制御装置によって制御されている非制御対象機器とが近づいた場合、これらの機器が同一の領域セルを同時に探索してしまうことがあり、探索任務が効率的に行えないという問題がある。【０００６】
この発明は、上記のような問題点を解決するためになされたものであり、制御対象機器と非制御対象機器とが同一の領域セルを同時に探索してしまうことを抑制する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る制御装置は、制御対象である制御対象機器に関する制御対象機器情報と、他の制御装置によって制御される非制御対象機器に関する非制御対象機器情報とに基づいて、当該制御対象機器が複数の領域セルに区分された探索エリアを探索するように当該制御対象機器を制御する制御装置であって、制御対象機器の位置を少なくとも含む制御対象機器情報を取得する制御対象機器情報取得部と、非制御対象機器の位置を少なくとも含む非制御対象機器情報を取得する非制御対象機器情報取得部と、制御対象機器又は非制御対象機器が最後に領域セルに滞在した時刻からの経過時間を領域セル毎に示すＡＧＥマップ、制御対象機器情報取得部が取得した制御対象機器情報が示す制御対象機器の位置、及び、非制御対象機器情報取得部が取得した非制御対象機器情報が示す非制御対象機器の位置に基づいて、制御対象機器が領域セルを探索する優先度を領域セル毎に示す優先度マップを生成する優先度マップ生成部と、優先度マップ生成部が生成した優先度マップに基づいて、前記制御対象機器を制御する制御実行部と、を備え、優先度マップ生成部は、評価関数の出力値を前記優先度とし、評価関数は、領域セル毎に、経過時間が大きくなるに従って出力値が大きくなり、制御対象機器の位置から領域セルの位置までの第１の距離が小さくなるに従って出力値が大きくなり、制御対象機器の位置から非制御対象機器の位置までの第２の距離に基づいて、第１の距離が出力値に与える影響が相対的に変化する。
【発明の効果】
【０００８】
この発明によれば、制御対象機器と非制御対象機器とが同一の領域セルを同時に探索してしまうことを抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る制御対象機器の構成を示すブロック図である。
【図２】実施の形態１に係る制御装置による制御対象機器の制御方法を示すフローチャートである。
【図３】実施の形態１に係る制御装置による制御対象機器の制御方法におけるステップＳＴ４の詳細を示すフローチャートである。
【図４】実施の形態１に係る制御装置による制御対象機器の制御方法におけるステップＳＴ８の詳細を示すフローチャートである。
【図５】実施の形態１に係る制御対象機器が探索する探索エリアのＡＧＥマップを示す図である。
【図６】実施の形態１に係る制御対象機器の通信部と非制御対象機器の通信部とが互いに無線通信を行っている様子を示す図である。
【図７】実施の形態１に係る制御対象機器が生成した優先度マップを示す図である。
【図８】実施の形態１に係る制御対象機器及び複数の非制御対象機器を含むシステムを示す図である。
【図９】実施の形態１に係る制御装置が評価関数を用いて優先度を算出する場合の具体例を説明するための図である。
【図１０】図１０Ａは、制御装置の機能を実現するハードウェア構成を示すブロック図である。図１０Ｂは、制御装置の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、この発明をより詳細に説明するため、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１は、実施の形態１に係る制御装置１を備えている制御対象機器１００の構成を示すブロック図である。図１が示すように、制御対象機器１００は、センサ２、通信部３、記憶部４、制御装置１、及び駆動部５を備えている。制御装置１は、制御対象機器情報取得部１１、非制御対象機器情報取得部１２、情報処理部１３、情報出力部１４、ＡＧＥマップ生成部１５、優先度マップ生成部１６、制御ベクトル算出部１７、及び制御実行部１８を備えている。
【００１１】
制御装置１は、制御対象である制御対象機器１００に関する制御対象機器情報と、他の制御装置によって制御される非制御対象機器に関する非制御対象機器情報とに基づいて、制御対象機器１００が探索エリアを探索するように制御する。
【００１２】
なお、実施の形態１では、制御対象機器１００が探索する対象である探索エリアは、複数の領域セルに区分される。また、当該複数の領域セルは、後述するＡＧＥマップにおいて、個々に、後述するＡＧＥ及び優先度がそれぞれ対応付けられる。また、実施の形態１では、各領域セルの位置ベクトルは、記憶部４に記憶されているものとする。
【００１３】
センサ２は、制御対象機器１００周囲の環境を検知することにより制御対象機器１００に関する制御対象機器情報を取得する。センサ２は、取得した制御対象機器情報を制御対象機器情報取得部１１に出力する。センサ２は、例えば、制御対象機器１００の位置を検出するＧＰＳ、又は制御対象機器１００の速度を検出する速度検出器等である。制御対象機器情報は、少なくとも、制御対象機器１００の位置を含む。
【００１４】
なお、本明細書において、簡略化のため、「制御対象機器１００の位置に関する位置情報」を単に制御対象機器１００の位置と呼称する。また、制御対象機器情報は、例えば、制御対象機器１００の速度等をさらに含む。
【００１５】
通信部３は、制御装置１以外の他の制御装置の通信部と無線通信を行い、情報の送受信を行う。ここにおける他の制御装置は、複数であり得る。より詳細には、通信部３は、他の制御装置が制御する非制御対象機器に関する非制御対象機器情報を他の制御装置の通信部から受信する。非制御対象機器情報は、少なくとも、非制御対象機器の位置を含む。
【００１６】
なお、通信部３は、現時点の非制御対象機器の位置のみならず、過去に非制御対象機器のセンサが取得した位置と、何ステップ前に当該センサが取得した位置であるかを示す情報とが組み合わさった情報を、他の制御装置の通信部から受信してもよい。
【００１７】
また、実施の形態１では、通信部３は、他の制御装置によって生成されたＡＧＥマップを、他の制御装置の通信部からさらに受信する。通信部３は、受信した非制御対象機器情報及び受信ＡＧＥマップを、非制御対象機器情報取得部１２に出力する。
【００１８】
なお、本明細書において、通信部３が受信するＡＧＥマップを、受信ＡＧＥマップと呼称する。受信ＡＧＥマップ及び後述する生成ＡＧＥマップにおける「ＡＧＥ」とは、制御対象機器１００又は非制御対象機器が最後に領域セルに滞在した時刻からの経過時間を意味する。受信ＡＧＥマップ及び後述する生成ＡＧＥマップにおける「ＡＧＥマップ」とは、ＡＧＥを、上述の領域セル毎に示す情報を意味する。
【００１９】
より詳細には、ＡＧＥは、ＡＧＥマップにおいて、各領域セルに設定された値であり、例えば、制御対象機器１００又は非制御対象機器のいずれかの機器に搭載されたセンサが最後に領域セルの位置を観測した時刻からの経過時間を示す値である。実施の形態１では、当該値は、１タイムステップを単位とする値である。１タイムステップとは、後述するＡＧＥマップ生成部１５がＡＧＥマップを更新する時間間隔の単位を意味する。１タイムステップは、例えば、予め設定された時間間隔である。
【００２０】
また、通信部３は、後述する制御対象機器情報取得部１１から制御対象機器情報を取得し、取得した制御対象機器情報を、他の制御装置の通信部に送信する。上述の通り、当該制御対象機器情報は、少なくとも、制御対象機器１００の位置を含む。
【００２１】
なお、通信部３は、現時点の制御対象機器１００の位置のみならず、過去にセンサ２が取得した位置を、何ステップ前にセンサ２が取得した位置であるかを示す情報と組み合わせて、バッファ等に蓄積し、適宜、他の制御装置の通信部に送信してもよい。また、実施の形態１では、通信部３は、後述するＡＧＥマップ生成部１５が生成したＡＧＥマップを、他の制御装置の通信部にさらに送信する。
【００２２】
制御対象機器情報取得部１１は、センサ２から、制御対象機器情報を取得する。制御対象機器情報取得部１１は、取得した制御対象機器情報を通信部３及び情報処理部１３に出力する。
【００２３】
非制御対象機器情報取得部１２は、通信部３から、非制御対象機器情報を取得する。非制御対象機器情報取得部１２は、取得した非制御対象機器情報を情報処理部１３に出力する。また、実施の形態１では、非制御対象機器情報取得部１２は、受信ＡＧＥマップを通信部３から取得する。非制御対象機器情報取得部１２は、取得した受信ＡＧＥマップをＡＧＥマップ生成部１５に出力する。
【００２４】
情報処理部１３は、制御対象機器情報取得部１１から取得した制御対象機器情報と、非制御対象機器情報取得部１２から取得した非制御対象機器情報とに対して、後述するＡＧＥマップ生成部１５、優先度マップ生成部１６及び制御ベクトル算出部１７がそれぞれ計算処理可能な形式とする処理を行う。
【００２５】
より詳細には、情報処理部１３は、制御対象機器情報が示す制御対象機器１００の位置に基づいて、制御対象機器１００の位置ベクトルを算出する。情報処理部１３は、制御対象機器１００の位置ベクトルを少なくとも含む処理済の制御対象機器情報をＡＧＥマップ生成部１５、優先度マップ生成部１６及び制御ベクトル算出部１７にそれぞれ出力する。
【００２６】
また、情報処理部１３は、非制御対象機器情報取得部１２から取得した非制御対象機器情報が示す非制御対象機器の位置に基づいて、非制御対象機器１０１の位置ベクトルを算出する。情報処理部１３は、非制御対象機器の位置ベクトルを含む処理済の非制御対象機器情報を優先度マップ生成部１６及び制御ベクトル算出部１７にそれぞれ出力する。
【００２７】
ＡＧＥマップ生成部１５は、制御対象機器情報取得部１１が取得した制御対象機器情報に基づいて、ＡＧＥマップを生成する。当該ＡＧＥマップは、上述の通り、制御対象機器１００又は非制御対象機器が最後に領域セルに滞在した時刻からの経過時間を領域セル毎に示す。ＡＧＥマップ生成部１５は、生成したＡＧＥマップを記憶部４に記憶させる。なお、本明細書において、ＡＧＥマップ生成部１５が生成したＡＧＥマップを、「生成ＡＧＥマップ」と呼称する。
【００２８】
ＡＧＥマップ生成部１５の構成についてより詳細には、実施の形態１では、ＡＧＥマップ生成部１５は、時間の経過を示す情報と、情報処理部１３から取得した制御対象機器１００の位置ベクトルと、非制御対象機器情報取得部１２から取得した受信ＡＧＥマップと、後述する情報出力部１４から取得した１タイムステップ前の生成ＡＧＥマップと、に基づいて、領域セル毎にＡＧＥを算出し、生成ＡＧＥマップを生成する。
【００２９】
また、実施の形態１では、通信部３が他の制御装置の通信部から受信ＡＧＥマップを受信し、ＡＧＥマップ生成部１５が受信ＡＧＥマップに基づいて生成ＡＧＥマップを生成する構成について説明するが、通信部３は、受信ＡＧＥマップを受信せずに、ＡＧＥマップ生成部１５は、受信ＡＧＥマップに基づかずに生成ＡＧＥマップを生成してもよい。つまり、制御装置１は、ＡＧＥマップを他の制御装置と共有せずに、単独で生成してもよい。
【００３０】
ＡＧＥマップ生成部１５の構成についてさらに詳細には、実施の形態１では、ＡＧＥマップ生成部１５は、制御対象機器情報が示す制御対象機器１００の位置に基づいて、制御対象機器１００が上述の複数の領域セルのうちの何れかに滞在したか否かを判定する。そして、ＡＧＥマップ生成部１５は、制御対象機器１００が複数の領域セルのうちの何れかに滞在したと判定した場合、生成ＡＧＥマップにおいて対応する領域セルのＡＧＥの値を下げることにより生成ＡＧＥマップを更新する。より詳細には、ＡＧＥマップ生成部１５は、制御対象機器１００が最後に該当の領域セルに滞在した時刻から現在時刻までの経過時間に対応するＡＧＥの値まで、生成ＡＧＥマップにおいて、当該該当の領域セルのＡＧＥの値を下げる。
【００３１】
また、実施の形態１では、ＡＧＥマップ生成部１５は、受信ＡＧＥマップにおいて、複数の領域セルのうちの何れかのＡＧＥが更新されているか否かを判定する。ＡＧＥマップ生成部１５は、複数の領域セルのうちの何れかのＡＧＥが更新されていると判定した場合、更新されているＡＧＥに基づいて、生成ＡＧＥマップにおいて対応する領域セルのＡＧＥの値を下げることにより生成ＡＧＥマップを更新する。
また、実施の形態１では、ＡＧＥマップ生成部１５は、生成した生成ＡＧＥマップにおいて、１タイムステップ毎に、全ての領域セルの各ＡＧＥの値に「１」を加算する。
【００３２】
情報出力部１４は、記憶部４に記憶された生成ＡＧＥマップを読み込み、読み込んだＡＧＥマップをＡＧＥマップ生成部１５に出力する。また、情報出力部１４は、読み込んだ生成ＡＧＥマップを、通信部３を介して他の制御装置の通信部に出力する。情報出力部１４が生成ＡＧＥマップを通信部３を介して他の制御装置の通信部に出力するタイミングは、適宜設定可能である。当該タイミングの例として、予め設定されたタイミング、又は他の制御装置から要求を受けたタイミング等が挙げられる。
【００３３】
優先度マップ生成部１６は、ＡＧＥマップ、制御対象機器情報取得部１１が取得した制御対象機器情報が示す制御対象機器１００の位置、及び、非制御対象機器情報取得部１２が取得した非制御対象機器情報が示す非制御対象機器の位置に基づいて、制御対象機器１００が領域セルを探索する優先度を領域セル毎に示す優先度マップを生成する。なお、実施の形態１では、当該優先度が高いほど、制御対象機器１００が対応する領域セルを探索するべき度合いが高いものとする。
【００３４】
より詳細には、実施の形態１では、優先度マップ生成部１６は、ＡＧＥマップ生成部１５が記憶部４に記憶させた生成ＡＧＥマップ、記憶部４に記憶されている各領域セルの位置ベクトル、並びに、情報処理部１３から取得した制御対象機器１００の位置ベクトル及び非制御対象機器１０１の位置ベクトルに基づいて、優先度マップを生成する。
【００３５】
さらに詳細には、優先度マップ生成部１６は、評価関数の出力値を優先度とする。当該評価関数は、領域セル毎に、ＡＧＥが大きくなるに従って出力値が大きくなり、制御対象機器１００の位置から領域セルの位置までの第１の距離が小さくなるに従って出力値が大きくなる。これを具体的に説明すると、当該評価関数は、制御対象機器１００又は非制御対象機器が対応する領域セルに最後に滞在した時刻からの経過時間が長くなるに従って出力値が大きくなり、制御対象機器１００が対応する領域セルに近づくに従って出力値が大きくなる。
【００３６】
また、当該評価関数は、制御対象機器１００の位置から非制御対象機器１０１の位置までの第２の距離に基づいて、第１の距離が出力値に与える影響が相対的に変化する。例えば、当該評価関数は、第２の距離が小さくなるに従って、第１の距離が出力値に与える影響が大きくなることにより、第１の距離が出力値に与える影響が相対的に大きくなる。または、例えば、当該評価関数は、第２の距離が小さくなるに従って、ＡＧＥが出力値に与える影響が小さくなることにより、第１の距離が出力値に与える影響が相対的に大きくなる。
【００３７】
さらに詳細には、当該評価関数は、第１の距離が小さくなるに従って出力値が大きくなる度合いが調整されている。なお、以下では、簡略化のため、「第１の距離が小さくなるに従って出力値が大きくなる度合い」を、単に「上記の度合い」と呼称する。
【００３８】
さらに詳細には、当該評価関数は、第２の距離が小さくなるに従って、上記の度合いが大きくなり、第２の距離が大きくなるに従って、上記の度合いが小さくなる。これを具体的に説明すると、当該評価関数は、制御対象機器１００が非制御対象機器に近づくに従って、制御対象機器１００が対応する領域セルに近づくことにより出力値が大きくなる度合いが大きくなり、制御対象機器１００が非制御対象機器から遠ざかるに従って、制御対象機器１００が対応する領域セルに近づくことにより評価関数の出力値が大きくなる度合いが小さくなる。
【００３９】
さらに詳細には、当該評価関数は、分子がＡＧＥであり、分母が、第１の距離を底とし、第２の距離に基づいた関数をべき指数としたべき乗である。
より具体的には、実施形態１では、優先度マップ生成部１６は、領域セル毎の優先度を算出する際に、予め定めておいた評価関数Jを用いる。
評価関数Jは、下記の式（１）で示される。
0006987319.tif 000002
【００４０】
上記の式（１）において、Aはある領域セルのＡＧＥを示し、Xはその領域セルの位置ベクトルを示し、xは制御対象機器１００の位置ベクトルを示し、xNは、通信可能な非制御対象機器のうち、制御対象機器１００と距離が最も近い最近傍の非制御対象機器の位置ベクトルを示し、|| ||は、ユークリッドノルムを示す。つまり、||X-x||は、制御対象機器１００の位置から領域セルの位置までの第１の距離を示し、||xN-x||は、制御対象機器１００の位置から非制御対象機器の位置までの第２の距離を示す。上記の式（１）において、g(||xN-x||)のg( )は、広義単調減少関数である。なお、X及びxはそれぞれ規格化されており、||X-x||は、以下の式（２）の条件を満たすものとする。
0 < ||X - x|| < 1 …式（２）
【００４１】
以上のような評価関数Jは、領域セル毎に、Aが大きくなるに従って出力値が大きくなり、第１の距離||X-x||が小さくなるに従って出力値が大きくなる。また、当該評価関数Jは、第２の距離||xN-x||に基づいて、第１の距離||X-x||が出力値に与える影響が相対的に変化する。
より詳細には、評価関数Jは、第１の距離||X-x||が小さくなるに従って出力値が大きくなる度合いが調整されている。さらに詳細には、評価関数Jは、第２の距離||xN-x||が小さくなるに従って、上記の度合いが大きくなり、第２の距離||xN-x||が大きくなるに従って、上記の度合いが小さくなる。
さらに詳細には、評価関数Jは、分子がＡＧＥであり、分母が、第１の距離||X-x||を底とし、第２の距離||xN-x||に基づいた関数g(||xN-x||)をべき指数としたべき乗である。
【００４２】
以上のような評価関数Jを具体的に説明すると、制御対象機器１００と最近傍の非制御対象機器１０１とが近づき、第２の距離||xN-x||が小さくなるに従って、g(||xN-x||)は、広義単調減少関数であることから大きくなる。これにより、評価関数Jは、上記の度合いが大きくなる。よって、制御対象機器１００と最近傍の非制御対象機器１０１とが近づくに従って、優先度マップが示す各領域セルは、制御対象機器１００に近ければ近いほど、優先度が高くなりやすくなる。つまり、制御対象機器１００は、自身により近い領域セルを優先して探索するようになる。
【００４３】
そして、非制御対象機器も、上記のような評価関数Jに基づいた制御と同様の制御を受けた場合、自身により近い領域セルを優先して探索するようになる。このように、制御対象機器１００と非制御対象機器とは、互いに近づいた場合、それぞれが、自身により近い領域セルを優先して探索するようになるため、同一の領域セルを探索してしまう可能性が低くなる。
【００４４】
一方で、制御対象機器１００と最近傍の非制御対象機器１０１とが遠ざかり、第２の距離||xN-x||が大きくなるに従って、g(||xN-x||)は、広義単調減少関数であることから小さくなる。これにより、評価関数Jは、上記の度合いが小さくなる。よって、制御対象機器１００と最近傍の非制御対象機器１０１とが遠ざかるに従って、各領域セルは、ＡＧＥが大きければ大きいほど、優先度が高くなりやすくなる。つまり、制御対象機器１００は、ＡＧＥがより大きい領域セルを優先して探索するようになる。
【００４５】
なお、通信部３が通信可能な非制御対象機器を検出できず、非制御対象機器の位置を示す非制御対象機器情報を受信できない場合には、優先度マップ生成部１６は、評価関数Jのg(||xN-x||)を、第１の距離||X-x||が評価関数Jの出力値に与える影響が相対的に小さくなるのに十分な小さい値に置き換えてもよい。当該値は、例えば、制御対象機器１００と最近傍の非制御対象機器であるドローンとの距離が通信可能距離の限界に一致するときのg(||xN-x||)の値をαとしたとき、α以下の値であり得る。
【００４６】
また、上記の評価関数Jに入力される第２の距離||xN−ｘ||のxNを最近傍の非制御対象機器の位置ベクトルとしたが、評価関数Jにその他の非制御対象機器の位置ベクトルを任意の個数だけ変数として加えてもよい。
【００４７】
制御ベクトル算出部１７は、優先度マップ生成部１６が生成した優先度マップに基づいて、制御対象機器１００に対する制御ベクトルを算出する。なお、制御ベクトルとは、後述する制御実行部１８による制御により駆動部５が制御対象機器１００を移動させる方向及び距離を示すベクトルを意味する。
【００４８】
まず、制御ベクトルを算出するために、制御ベクトル算出部１７は、優先度マップ生成部１６が生成した優先度マップを参照して、優先度マップに含まれる複数の領域セルのうち、優先度が最も大きい領域セルを検出する。また制御ベクトル算出部１７は、検出した領域セルを、制御対象機器１００が向かうべき目的の領域セルに設定する。
【００４９】
次に、制御ベクトル算出部１７は、導出した目的の領域セルの位置ベクトルと、情報処理部１３から取得した処理済の制御対象機器情報が示す制御対象機器１００の位置ベクトルとに基づいて、制御対象機器１００の位置から目的の領域セルの位置までの方向と距離を示す探索方向ベクトルを算出する。より詳細には、制御ベクトル算出部１７は、目的の領域セルの位置ベクトルから、制御対象機器１００の位置ベクトルを減算することにより制御対象機器１００の位置から目的の領域セルの位置までのベクトルを算出し、当該ベクトルの長さを１とすることにより探索方向ベクトルを算出する。
【００５０】
また、制御ベクトル算出部１７は、情報処理部１３から取得した処理済の制御対象機器情報が示す制御対象機器１００の位置ベクトルと処理済の非制御対象機器情報が示す非制御対象機器の位置ベクトルとに基づいて、制御対象機器１００と非制御対象機器との衝突を回避するための作用力を示す斥力ベクトルを算出する。
【００５１】
より詳細には、通信部３が通信可能な非制御対象機器を検出できる場合に、制御ベクトル算出部１７は、制御対象機器１００と当該通信可能な非制御対象機器との距離に応じた斥力を設定する。当該斥力は、例えば、当該距離をｘとしたフックの法則F=-kx（ｋは定数）のような関数の出力値として算出される。制御ベクトル算出部１７は、設定した斥力、並びに、情報処理部１３から取得した処理済の制御対象機器情報及び処理済の非制御対象機器情報に基づいた制御対象機器１００と非制御対象機器との位置関係とに基づいて、斥力ベクトルを算出する。
【００５２】
また、制御ベクトル算出部１７は、障害物に関する情報に基づいて、制御対象機器１００が障害物から離れるための作用力を示す障害物ベクトルを算出する。当該障害物は、例えば、探索エリア内に存在する壁、又は進入禁止領域である。障害物に関する情報は、障害物の位置と共に、ＡＧＥマップに予め登録されていてもよいし、記憶部４に予め記憶されていてもよい。
【００５３】
より詳細には、制御ベクトル算出部１７は、障害物の情報を参照し、制御対象機器１００が障害物が存在する位置に近づいたか否かを判定する。そして、制御ベクトル算出部１７は、制御対象機器１００が、障害物が存在する位置に近づいたと判定した場合に、上述した斥力ベクトルの算出方法と同様の方法に基づいて、制御対象機器１００が障害物から離れるための作用力を示す障害物ベクトルを算出する。
【００５４】
また、制御ベクトル算出部１７は、情報処理部１３から取得した処理済の制御対象機器情報が示す制御対象機器１００の位置ベクトル又は制御対象機器１００の速度ベクトルに基づいて、制御対象機器１００の速度が過大になるのを抑制するための作用力を示す速度調整ベクトルを算出する。
【００５５】
当該速度調整ベクトルが示す作用力は、例えば、当該速度をvとしたF=-kv（ｋは定数）のような関数の出力値として算出される。または、制御ベクトル算出部１７は、当該速度と当該作用力との対応を示す離散的なテーブルを参照して、当該作用力を算出してもよい。
【００５６】
制御ベクトル算出部１７は、上記の各ベクトル以外にも、制御対象機器１００が探索する探索方向を調整する調整ベクトルを算出してもよい。そして、制御ベクトル算出部１７は、算出した探索方向ベクトル、斥力ベクトル、障害物ベクトル及び速度調整ベクトルのそれぞれに重み付け係数を乗算し、乗算後の各ベクトルを加算することにより、制御ベクトルを算出する。当該重み付け係数は、探索方向ベクトル、斥力ベクトル、障害物ベクトル及び速度調整ベクトルの何れを重視するかによって予め設定される。制御ベクトル算出部１７は、算出した制御ベクトルを制御実行部１８に出力する。
【００５７】
制御実行部１８は、制御ベクトル算出部１７から取得した制御ベクトルに基づいて、制御対象機器１００を制御する。より詳細には、制御実行部１８は、制御ベクトルが示す方向に、制御ベクトルが示す距離の分、駆動部５が制御対象機器１００を移動させるように駆動部５を制御する。
【００５８】
次に、実施の形態１に係る制御装置１による制御対象機器１００の制御方法について図面を参照して説明する。図２は、実施の形態１に係る制御装置１による制御対象機器１００の制御方法を示すフローチャートである。図２が示す制御対象機器１００の制御方法が行われる前に、センサ２は、制御対象機器１００周囲の環境を検知することにより制御対象機器１００に関する制御対象機器情報を取得し、通信部３は、他の制御装置が制御する非制御対象機器に関する非制御対象機器情報と受信ＡＧＥマップとを他の制御装置の通信部から受信したものとする。なお、センサ２が取得する制御対象機器情報は、制御対象機器１００の位置と、制御対象機器１００周囲の画像とを含み、通信部３が受信する非制御対象機器情報は、非制御対象機器の位置を含むものとする。
【００５９】
まず、図２が示すように、制御対象機器情報取得部１１は、センサ２から、制御対象機器情報を取得する（ステップＳＴ１）。制御対象機器情報取得部１１は、取得した制御対象機器情報を通信部３及び情報処理部１３に出力する。
【００６０】
次に、非制御対象機器情報取得部１２は、通信部３から、非制御対象機器情報及び受信ＡＧＥマップを取得する（ステップＳＴ２）。非制御対象機器情報取得部１２は、取得した非制御対象機器情報を情報処理部１３に出力し、取得した受信ＡＧＥマップをＡＧＥマップ生成部１５に出力する。
【００６１】
次に、ステップＳＴ３において、情報処理部１３は、制御対象機器情報取得部１１から取得した制御対象機器情報が示す制御対象機器１００の位置に基づいて、制御対象機器１００の位置ベクトルを算出する。また、ステップＳＴ３において、情報処理部１３は、非制御対象機器情報取得部１２から取得した非制御対象機器情報が示す非制御対象機器の位置に基づいて、非制御対象機器の位置ベクトルを算出する。
【００６２】
情報処理部１３は、制御対象機器１００の位置ベクトルを含む処理済の制御対象機器情報をＡＧＥマップ生成部１５、優先度マップ生成部１６及び制御ベクトル算出部１７にそれぞれ出力し、非制御対象機器の位置ベクトルを含む処理済の非制御対象機器情報を優先度マップ生成部１６及び制御ベクトル算出部１７にそれぞれ出力する。また、次のステップＳＴ４の前に、情報出力部１４は、１タイムステップ前の生成ＡＧＥマップを記憶部４から読み込み、ＡＧＥマップ生成部１５に出力したものとする。
【００６３】
次に、ＡＧＥマップ生成部１５は、時間の経過情報と、情報処理部１３から取得した制御対象機器１００の位置ベクトルと、非制御対象機器情報取得部１２から取得した受信ＡＧＥマップと、情報出力部１４から取得した１タイムステップ前の生成ＡＧＥマップと、に基づいて、領域セル毎にＡＧＥを算出し、現在のタイムステップの生成ＡＧＥマップを生成する（ステップＳＴ４）。
【００６４】
次に、ＡＧＥマップ生成部１５は、生成した生成ＡＧＥマップを記憶部４に記憶させる（ステップＳＴ５）。
次に、情報出力部１４は、ＡＧＥマップ生成部１５が記憶部４に記憶させた生成ＡＧＥマップを、通信部３を介して他の制御装置の通信部に出力する（ステップＳＴ６）。
【００６５】
次に、優先度マップ生成部１６は、ＡＧＥマップ生成部１５が記憶部４に記憶させた生成ＡＧＥマップ、記憶部４が記憶している各領域セルの位置ベクトル、並びに、情報処理部１３から取得した制御対象機器１００の位置ベクトル及び非制御対象機器１０１の位置ベクトルに基づいて、優先度マップを生成する（ステップＳＴ７）。優先度マップ生成部１６は、生成した優先度マップを制御ベクトル算出部１７に出力する。
【００６６】
次に、制御ベクトル算出部１７は、情報処理部１３から取得した制御対象機器１００の位置ベクトルと、優先度マップ生成部１６が生成した優先度マップとに基づいて、上述の探索方向ベクトルを算出する（ステップＳＴ８）。
【００６７】
次に、制御ベクトル算出部１７は、情報処理部１３から取得した制御対象機器１００の位置ベクトルに基づいて、上述の斥力ベクトル、障害物ベクトル及び速度調整ベクトルをそれぞれ算出する（ステップＳＴ９）。
【００６８】
次に、制御ベクトル算出部１７は、算出した探索方向ベクトル、斥力ベクトル、障害物ベクトル及び速度調整ベクトルに基づいて、上述の制御ベクトルを算出する（ステップＳＴ１０）。制御ベクトル算出部１７は、算出した制御ベクトルを制御実行部１８に出力する。
【００６９】
次に、制御実行部１８は、制御ベクトル算出部１７から取得した制御ベクトルに基づいて、制御対象機器１００を制御する（ステップＳＴ１１）。次に、制御装置１は、ステップＳＴ１の処理に戻り、ステップＳＴ１以降の処理を繰り返し実行する。
【００７０】
次に、ＡＧＥマップ生成部１５による上述のステップＳＴ４の詳細な処理動作について図面を参照して説明する。図３は、実施の形態１に係る制御装置１による制御対象機器１００の制御方法におけるステップＳＴ４の詳細を示すフローチャートである。
【００７１】
図３が示すように、ＡＧＥマップ生成部１５は、前回のステップＳＴ４で生成し、前回のステップＳＴ５で記憶部４に記憶させた生成ＡＧＥマップを記憶部４から読み込み、読み込んだ生成ＡＧＥマップが生成又は更新されてから、予め設定された１タイムステップ経過したか否かを判定する（ステップＳＴ２１）。
【００７２】
ＡＧＥマップ生成部１５は、１タイムステップ経過したと判定した場合（ステップＳＴ２１のＹＥＳ）、当該生成ＡＧＥマップにおける全ての領域セルの各ＡＧＥの値に「１」を加算する（ステップＳＴ２２）。一方、ＡＧＥマップ生成部１５は、１タイムステップ経過していないと判定した場合（ステップＳＴ２１のＮＯ）、ステップＳＴ２３の処理に進む。
【００７３】
ステップＳＴ２１又はステップＳＴ２２の次のステップとして、ＡＧＥマップ生成部１５は、情報処理部１３から取得した制御対象機器１００の位置ベクトルに基づいて、制御対象機器１００が存在する位置を認識し、制御対象機器１００が上述の複数の領域セルのうちの何れかに滞在したか否か判定を行う（ステップＳＴ２３）。
【００７４】
ＡＧＥマップ生成部１５は、制御対象機器１００が上述の複数の領域セルのうちの何れかに滞在したと判定した場合（ステップＳＴ２３のＹＥＳ）、ステップＳＴ２２で各ＡＧＥの値に「１」を加算した生成ＡＧＥマップ、又はステップＳＴ２１で記憶部４から読み込んだ生成ＡＧＥマップにおいて、対応する領域セルのＡＧＥの値を下げる（ステップＳＴ２４）。一方、ＡＧＥマップ生成部１５は、制御対象機器１００が上述の複数の領域セルのうちの何れにも滞在していないと判定した場合（ステップＳＴ２３のＮＯ）、ステップＳＴ２５の処理に進む。
【００７５】
ステップＳＴ２３又はステップＳＴ２４の次のステップとして、ＡＧＥマップ生成部１５は、情報処理部１３から取得した受信ＡＧＥマップの情報を参照し、複数の領域セルのうちの何れかのＡＧＥが更新されているか否かを判定する（ステップＳＴ２５）。
【００７６】
ＡＧＥマップ生成部１５は、複数の領域セルのうちの何れかのＡＧＥが更新されていると判定した場合（ステップＳＴ２５のＹＥＳ）、ステップＳＴ２４でＡＧＥの値を下げた生成ＡＧＥマップ、ステップＳＴ２２で各ＡＧＥの値に「１」を加算した生成ＡＧＥマップ、又はステップＳＴ２１で記憶部４から読み込んだ生成ＡＧＥマップにおいて、対応する領域セルのＡＧＥの値を下げる（ステップＳＴ２６）。
一方、ＡＧＥマップ生成部１５は、複数の領域セルのうちの何れのＡＧＥも更新されていないと判定した場合（ステップＳＴ２５のＮＯ）、上述のステップＳＴ５の処理に進む。
【００７７】
ステップＳＴ２５又はステップＳＴ２６の次のステップとしての上述のステップＳＴ５において、ＡＧＥマップ生成部１５は、ステップＳＴ２６でＡＧＥの値を下げた生成ＡＧＥマップ、ステップＳＴ２４でＡＧＥの値を下げた生成ＡＧＥマップ、ステップＳＴ２２で各ＡＧＥの値に「１」を加算した生成ＡＧＥマップ、又はステップＳＴ２１で記憶部４から読み込んだ生成ＡＧＥマップを記憶部４に記憶させる。
【００７８】
次に、制御ベクトル算出部１７による上述のステップＳＴ８の詳細な処理動作について図面を参照して説明する。図４は、実施の形態１に係る制御装置１による制御対象機器１００の制御方法におけるステップＳＴ８の詳細を示すフローチャートである。
【００７９】
図４が示すように、まず、制御ベクトル算出部１７は、優先度マップ生成部１６から取得した優先度マップを参照して、優先度マップに含まれる複数の領域セルのうち、優先度が最も大きい領域セルを検出する（ステップＳＴ３１）。
【００８０】
次に、制御ベクトル算出部１７は、検出した領域セルを、制御対象機器１００が向かうべき目的の領域セルに設定する（ステップＳＴ３２）。
次に、制御ベクトル算出部１７は、導出した目的の領域セルの位置ベクトルから、情報処理部１３から取得した制御対象機器１００の位置ベクトルを減算することにより制御対象機器１００の位置から目的の領域セルの位置までのベクトルを算出する（ステップＳＴ３３）。
【００８１】
次に、制御ベクトル算出部１７は、算出したベクトルの長さを１とすることにより探索方向ベクトルを算出する（ステップＳＴ３４）。次に、制御ベクトル算出部１７は、上述のステップＳＴ９の処理に進む。
【００８２】
次に、実施の形態１に係る制御装置１による制御対象機器１００の制御方法の具体例について図面を参照して説明する。なお、当該具体例では、制御対象機器１００と複数の非制御対象機器１０１とが１つの探索エリアＡを協調して巡回する場合を例にして説明する。なお、複数の非制御対象機器１０１は、それぞれ、制御対象機器１００と同様の構成を有しているものとする。
【００８３】
図５は、探索エリアＡのＡＧＥマップを示す図である。図６は、図５が示す制御対象機器１００の通信部３と非制御対象機器１０１の通信部とが互いに無線通信を行っている様子を示す図である。図７は、図５が示す制御対象機器１００が生成した優先度マップを示す図である。図８は、探索エリアＡをそれぞれ探索する制御対象機器１００及び複数の非制御対象機器１０１を含むシステムを示す図である。なお、図８では、図５が示す制御対象機器１００と複数の非制御対象機器１０１との合計の数と異なり、制御対象機器１００と複数の非制御対象機器１０１との合計の数が６である。つまり、制御対象機器１００と複数の非制御対象機器１０１との合計の数は、特に限定はない。
【００８４】
図５が示すように、探索エリアＡは、グリッド状に複数の領域セルに区分されている。図５において、ドットは、制御対象機器１００の位置又は非制御対象機器１０１の位置を示し、ドット周囲の点線は、制御対象機器１００の通信部３又は非制御対象機器１０１の通信部が通信可能な範囲を示す。
【００８５】
また、図５において、各領域セルの色の濃淡は、制御対象機器１００のセンサ２又は非制御対象機器１０１のセンサが最後に領域セルの位置を観測した時刻からの経過時間であるＡＧＥを示す。当該色の濃淡は、色が濃ければ濃いほど、ＡＧＥが大きいことを示しており、色が薄ければ薄いほど、ＡＧＥが小さいことを示している。例えば、図５が示す領域セルＢと領域セルＣの色の濃淡を比較すると、領域セルＢの色が領域セルＣの色よりも濃い。これは、領域セルＢのほうが、領域セルＣよりも、制御対象機器１００のセンサ２又は非制御対象機器１０１のセンサによって領域セルの位置が観測されてからより長い時間が経過していることを示している。
【００８６】
図６が示すように、制御対象機器１００と非制御対象機器１０１とが互いに通信可能な範囲に入った場合、制御対象機器１００の通信部３は、受信ＡＧＥマップＤを、非制御対象機器１０１の制御装置の通信部から受信する。その際、制御対象機器１００の通信部３は、非制御対象機器１０１に関する非制御対象機器情報を非制御対象機器１０１の制御装置の通信部からさらに受信する。
【００８７】
また、制御対象機器１００の通信部３は、上述のＡＧＥマップ生成部１５が生成した生成ＡＧＥマップＥを、非制御対象機器１０１の制御装置の通信部に送信する。その際、制御対象機器１００の通信部３は、制御対象機器１００に関する制御対象機器情報を非制御対象機器１０１の制御装置の通信部にさらに送信する。また、一方で、制御対象機器１００のセンサ２は、制御対象機器１００周囲の環境を検知することにより制御対象機器１００に関する制御対象機器情報を取得する。
【００８８】
そして上述のステップＳＴ１において、制御対象機器情報取得部１１は、センサ２から、制御対象機器情報を取得する。次に、上述のステップＳＴ２において、非制御対象機器情報取得部１２は、通信部３から、受信ＡＧＥマップＤを取得する。次に、ステップＳＴ３において、情報処理部１３は、制御対象機器情報取得部１１から取得した制御対象機器情報が示す制御対象機器１００の位置に基づいて、制御対象機器１００の位置ベクトルを算出する。
【００８９】
次に、上述のステップＳＴ４において、ＡＧＥマップ生成部１５は、時間の経過情報と、情報処理部１３から取得した制御対象機器１００の位置ベクトルと、非制御対象機器情報取得部１２から取得した受信ＡＧＥマップＤと、情報出力部１４から取得した１タイムステップ前の生成ＡＧＥマップＥと、に基づいて、領域セル毎にＡＧＥを算出し、現在のタイムステップの生成ＡＧＥマップＦを生成する。
【００９０】
なお、当該具体例では、図６の生成ＡＧＥマップＦにおける各領域セルの色の濃淡が示すように、生成ＡＧＥマップＦの各領域セルは、生成ＡＧＥマップの対応する領域セル、及び受信ＡＧＥマップＤの対応する領域セルのうち、ＡＧＥがより小さい領域セルが選択されて更新されたものである。
【００９１】
次に、上述のステップＳＴ５において、ＡＧＥマップ生成部１５は、生成した生成ＡＧＥマップＦを記憶部４に記憶させる。次に、上述のステップＳＴ６において、情報出力部１４は、ＡＧＥマップ生成部１５が記憶部４に記憶させた生成ＡＧＥマップＦを、通信部３を介して非制御対象機器１０１の制御装置の通信部に出力する。
【００９２】
次に、上述のステップＳＴ６において、優先度マップ生成部１６は、ＡＧＥマップ生成部１５が記憶部４に記憶させた生成ＡＧＥマップＦ、記憶部４が記憶している各領域セルの位置ベクトル、並びに、情報処理部１３から取得した制御対象機器１００の位置ベクトル及び非制御対象機器１０１の位置ベクトルに基づいて、図７が示す優先度マップＧを生成する。なお、図７において、各領域セルの色の濃淡は、色が濃ければ濃いほど、優先度が高いことを示す。
【００９３】
次に、制御ベクトル算出部１７は、情報処理部１３から取得した制御対象機器１００の位置ベクトルと、優先度マップ生成部１６が生成した優先度マップＧとに基づいて、図７の矢印が示す探索方向ベクトルを算出する。より詳細には、図７が示すように、制御ベクトル算出部１７は、優先度マップＧに含まれる複数の領域セルのうち、優先度が最も大きい領域セルを、目的の領域セルＨに設定する。また、図７が示すように、制御ベクトル算出部１７が算出する探索方向ベクトルは、制御対象機器１００の位置から当該目的の領域セルＨの位置に向かう方向のベクトルである。
【００９４】
次に、制御ベクトル算出部１７は、上述のステップＳＴ９及びステップＳＴ１０を行うことにより、上述の制御ベクトルを算出する。次に、上述のステップＳＴ１１において、制御実行部１８は、制御ベクトル算出部１７から取得した制御ベクトルに基づいて、制御対象機器１００を制御する。これにより、制御対象機器１００は、目的の領域セルの位置に移動するように制御される。
【００９５】
なお、上記のような各ステップは、複数の非制御対象機器１０１の各制御装置においても行われる。上述のように、ステップＳＴ６で優先度マップ生成部１６は、非制御対象機器１０１の位置に基づいて優先度マップＧを生成する。非制御対象機器１０１の制御装置もまた、自身とは別の機器の位置に基づいて優先度マップを生成する。
【００９６】
よって、図８に示すようなシステムでは、制御対象機器１００の制御装置１及び複数の非制御対象機器１０１の各制御装置は、それぞれ、自身とは別の機器の位置に基づいて、優先度マップを生成し、当該優先度マップに基づいて、自身の機器を制御する。これにより、制御対象機器１００の制御装置１及び複数の非制御対象機器１０１の各制御装置は、それぞれ、自身とは別の機器の位置に基づいて、制御対象機器１００と非制御対象機器１０１とが同一の領域セルを同時に探索してしまうことを抑制することができ、探索任務を効率的に行うことができる。
【００９７】
次に、上述のステップＳＴ６において優先度マップ生成部１６が評価関数を用いて優先度を算出する場合の具体例を、図面を参照して説明する。図９は、優先度マップ生成部１６が評価関数を用いて優先度を算出する場合の具体例を説明するための図である。
【００９８】
上述の式（１）が示す評価関数Jの説明では、第２の距離||xN-x||が小さくなるに従って、第１の距離||X-x||が評価関数Jの出力値に与える影響が相対的に大きくなり、第２の距離||xN-x||が大きくなるに従って、ＡＧＥが評価関数Jの出力値に与える影響が相対的に大きくなる構成を説明した。以下では、当該構成を、図９を参照してより具体的に説明する。
【００９９】
図９の（１）では、非制御対象機器１０１が制御対象機器１００の通信部３の通信範囲外に存在する場合の例を示している。当該例では、ＡＧＥの値が１であり、制御対象機器１００の位置から領域セルの位置までの第１の距離||X-x||が０．１である。また、制御対象機器１００の位置から非制御対象機器１０１の位置までの第２の距離||xN-x||は、不明であるため、g(||xN-x||)が１に設定されている。
【０１００】
図９の（２）では、非制御対象機器１０１が制御対象機器１００の通信部３の通信範囲内且つ制御対象機器１００のセンサ２のセンシング範囲外に存在する場合の例を示している。当該例においても、ＡＧＥの値が１であり、制御対象機器１００の位置から領域セルの位置までの第１の距離||X-x||は０．１であるが、制御対象機器１００の位置から非制御対象機器１０１の位置までの第２の距離||xN-x||に基づいて、g(||xN-x||)が２に設定されている。
【０１０１】
図９の（３）では、非制御対象機器１０１が制御対象機器１００のセンサ２のセンシング範囲内に存在する場合の例を示している。当該例においても、ＡＧＥの値が１であり、制御対象機器１００の位置から領域セルの位置までの第１の距離||X-x||は０．１であるが、制御対象機器１００の位置から非制御対象機器１０１の位置までの第２の距離||xN-x||に基づいて、g(||xN-x||)が３に設定されている。
【０１０２】
つまり、これらの例では、ＡＧＥの値と第１の距離||X-x||とは、それぞれ共通であるが、第２の距離||xN-x||がそれぞれ異なる。上述の通り、g(||xN-x||)は広義単調減少関数であることから、図９の（１）の例における第２の距離は、図９の（２）の例における第２の距離よりも大きく、図９の（２）の例における第２の距離は、図９の（３）の例における第２の距離よりも大きい。
【０１０３】
以上のように評価関数Jの各パラメータを設定した場合、図９の（１）の例では、評価関数Jの出力値は、１０となり、図９の（２）の例では、評価関数Jの出力値は、１００となり、図９の（３）の例では、評価関数Jの出力値は、１０００となる。つまり、評価関数Jは、第２の距離||xN-x||が小さくなるに従って、出力値が高くなることがわかる。
【０１０４】
ここで、これらの例における第１の距離||X-x||が０．１から０．０１に変化した場合を想定すると、図９の（１）の例では、評価関数Jの出力値は、１から１００となり、その差は９９である。図９の（２）の例では、評価関数Jの出力値は、１００から１００００となり、その差は、９９００である。図９の（３）の例では、評価関数Jの出力値は、１０００から１００００００となる。その差は、９９９０００である。
【０１０５】
つまり、第２の距離||xN-x||が小さくなるに従って、第１の距離||X-x||が評価関数Jの出力値に与える影響が相対的に大きくなり、第１の距離が小さくなるに従って評価関数Jの出力値が大きくなる度合いが大きくなることがわかる。また、反対に言えば、第２の距離||xN-x||が大きくなるに従って、第１の距離||X-x||が評価関数Jの出力値に与える影響が相対的に小さくなり、第１の距離||X-x||が小さくなるに従って評価関数Jの出力値が大きくなる度合いが小さくなることがわかる。
【０１０６】
つまり、上述のステップＳＴ６において優先度マップ生成部１６が上記のような評価関数Jを用いて優先度を算出した場合、制御対象機器１００と非制御対象機器１０１とが近づくに従って、優先度マップが示す各領域セルは、制御対象機器１００に近ければ近いほど、優先度が高くなりやすくなる。つまり、制御対象機器１００は、自身により近い領域セルを優先して探索するようになる。
【０１０７】
そして、非制御対象機器１０１も、上記のような評価関数Jに基づいた制御と同様の制御を受けた場合、自身により近い領域セルを優先して探索するようになる。このように、制御対象機器１００と非制御対象機器とは、互いに近づいた場合、それぞれが、自身により近い領域セルを優先して探索するようになるため、同一の領域セルを探索してしまう可能性が低くなる。
【０１０８】
一方で、通信可能な非制御対象機器１０１が存在しない場合など、制御対象機器１００と最近傍の非制御対象機器１０１とが遠ざかるに従って、各領域セルは、ＡＧＥが大きければ大きいほど、優先度が高くなりやすくなる。つまり、制御対象機器１００は、ＡＧＥがより大きい領域セルを優先して探索するようになる。
【０１０９】
制御装置１における、制御対象機器情報取得部１１、非制御対象機器情報取得部１２、情報処理部１３、情報出力部１４、ＡＧＥマップ生成部１５、優先度マップ生成部１６、制御ベクトル算出部１７、及び制御実行部１８のそれぞれの機能は、処理回路により実現される。すなわち、制御装置１は、図２に示したステップＳＴ１からステップＳＴ１１までの処理と図３に示したステップＳＴ２１からステップＳＴ２６までの処理と図４に示したステップＳＴ３１からステップＳＴ３４までの処理とを実行するための処理回路を備える。この処理回路は、専用のハードウェアであってもよいが、メモリに記憶されたプログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であってもよい。
【０１１０】
図１０Ａは、制御装置１の機能を実現するハードウェア構成を示すブロック図である。図１０Ｂは、制御装置１の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。図１０Ａ及び図１０Ｂに示す検知装置１１１は、上述のセンサ２として機能する。図１０Ａ及び図１０Ｂに示す送受信装置１１２は、上述の通信部３として機能する。図１０Ａ及び図１０Ｂに示す記憶装置１１３は、上述の記憶部４として機能する。図１０Ａ及び図１０Ｂに示す駆動装置１１４は、上述の駆動部５として機能する。
【０１１１】
上記処理回路が図１０Ａに示す専用のハードウェアの処理回路１１０である場合、処理回路１１０は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）又はこれらを組み合わせたものが該当する。
【０１１２】
制御装置１における、制御対象機器情報取得部１１、非制御対象機器情報取得部１２、情報処理部１３、情報出力部１４、ＡＧＥマップ生成部１５、優先度マップ生成部１６、制御ベクトル算出部１７、及び制御実行部１８のそれぞれの機能を別々の処理回路で実現してもよいし、これらの機能をまとめて１つの処理回路で実現してもよい。
【０１１３】
上記処理回路が図１０Ｂに示すプロセッサ１１５である場合、制御装置１における、制御対象機器情報取得部１１、非制御対象機器情報取得部１２、情報処理部１３、情報出力部１４、ＡＧＥマップ生成部１５、優先度マップ生成部１６、制御ベクトル算出部１７、及び制御実行部１８のそれぞれの機能は、ソフトウェア、ファームウェア又はソフトウェアとファームウェアとの組み合わせによって実現される。
なお、ソフトウェア又はファームウェアは、プログラムとして記述されてメモリ１１６に記憶される。
【０１１４】
プロセッサ１１５は、メモリ１１６に記憶されたプログラムを読み出して実行することにより、制御装置１における、制御対象機器情報取得部１１、非制御対象機器情報取得部１２、情報処理部１３、情報出力部１４、ＡＧＥマップ生成部１５、優先度マップ生成部１６、制御ベクトル算出部１７、及び制御実行部１８のそれぞれの機能を実現する。すなわち、制御装置１は、プロセッサ１１５によって実行されるときに、図２に示したステップＳＴ１からステップＳＴ１１までの処理と図３に示したステップＳＴ２１からステップＳＴ２６までの処理と図４に示したステップＳＴ３１からステップＳＴ３４までの処理とが結果的に実行されるプログラムを記憶するためのメモリ１１６を備える。
【０１１５】
これらのプログラムは、制御装置１における、制御対象機器情報取得部１１、非制御対象機器情報取得部１２、情報処理部１３、情報出力部１４、ＡＧＥマップ生成部１５、優先度マップ生成部１６、制御ベクトル算出部１７、及び制御実行部１８の手順又は方法をコンピュータに実行させる。メモリ１１６は、コンピュータを、制御対象機器情報取得部１１、非制御対象機器情報取得部１２、情報処理部１３、情報出力部１４、ＡＧＥマップ生成部１５、優先度マップ生成部１６、制御ベクトル算出部１７、及び制御実行部１８として機能させるためのプログラムが記憶されたコンピュータ可読記憶媒体であってもよい。
【０１１６】
メモリ１１６には、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ−ＥＰＲＯＭ）などの不揮発性又は揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤなどが該当する。
【０１１７】
制御対象機器情報取得部１１、非制御対象機器情報取得部１２、情報処理部１３、情報出力部１４、ＡＧＥマップ生成部１５、優先度マップ生成部１６、制御ベクトル算出部１７、及び制御実行部１８のそれぞれの機能について一部を専用のハードウェアで実現し、一部をソフトウェア又はファームウェアで実現してもよい。
【０１１８】
例えば、制御対象機器情報取得部１１、非制御対象機器情報取得部１２、情報処理部１３、情報出力部１４、ＡＧＥマップ生成部１５は、専用のハードウェアとしての処理回路で機能を実現する。優先度マップ生成部１６、制御ベクトル算出部１７、及び制御実行部１８については、プロセッサ１１５がメモリ１１６に記憶されたプログラムを読み出して実行することにより機能を実現してもよい。
このように、処理回路は、ハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせにより上記機能のそれぞれを実現することができる。
【０１１９】
以上のように、実施の形態１に係る制御装置１は、制御対象である制御対象機器１００に関する制御対象機器情報と、他の制御装置によって制御される非制御対象機器に関する非制御対象機器情報とに基づいて、当該制御対象機器１００が複数の領域セルに区分された探索エリアを探索するように当該制御対象機器１００を制御する制御装置１であって、制御対象機器１００の位置を少なくとも含む制御対象機器情報を取得する制御対象機器情報取得部１１と、非制御対象機器１０１の位置を少なくとも含む非制御対象機器情報を取得する非制御対象機器情報取得部１２と、制御対象機器１００又は非制御対象機器１０１が最後に領域セルに滞在した時刻からの経過時間を領域セル毎に示すＡＧＥマップ、制御対象機器情報取得部１１が取得した制御対象機器情報が示す制御対象機器１００の位置、及び、非制御対象機器情報取得部１２が取得した非制御対象機器情報が示す非制御対象機器１０１の位置に基づいて、制御対象機器１００が領域セルを探索する優先度を領域セル毎に示す優先度マップを生成する優先度マップ生成部１６と、優先度マップ生成部１６が生成した優先度マップに基づいて、制御対象機器１００を制御する制御実行部１８と、を備えている。
【０１２０】
上記の構成によれば、非制御対象機器の位置に基づいて優先度マップを生成し、当該優先度マップに基づいて制御対象機器１００を制御する。これにより、適宜、非制御対象機器の位置に基づいて、非制御対象機器の制御装置が用いる優先度マップの優先度とは異なる優先度を有する優先度マップを生成することで、制御対象機器１００と非制御対象機器とが同一の領域セルを同時に探索してしまうことを抑制することができる。よって、探索任務を効率的に行うことができる。
【０１２１】
また、実施の形態１に係る制御装置１の優先度マップ生成部１６は、評価関数の出力値を優先度とし、評価関数は、領域セル毎に、経過時間が大きくなるに従って出力値が大きくなり、制御対象機器１００の位置から領域セルの位置までの第１の距離が小さくなるに従って出力値が大きくなり、制御対象機器１００の位置から非制御対象機器１０１の位置までの第２の距離に基づいて、第１の距離が出力値に与える影響が相対的に変化する。
【０１２２】
上記の構成によれば、評価関数は、制御対象機器１００又は非制御対象機器が対応する領域セルに最後に滞在した時刻からの経過時間が長くなるに従って出力値が大きくなり、制御対象機器１００が対応する領域セルに近づくに従って出力値が大きくなる。また、評価関数は、制御対象機器１００と非制御対象機器１０１とが近づくに従って、制御対象機器１００の位置から領域セルの位置までの第１の距離が出力値に与える影響が相対的に変化する。これにより、適宜、制御対象機器１００と非制御対象機器１０１とが近づく場合に、優先度が、非制御対象機器の制御装置が用いる優先度マップの優先度とは異なる優先度マップを生成することで、制御対象機器１００と非制御対象機器とが同一の領域セルを同時に探索してしまうことを抑制することができる。よって、探索任務を効率的に行うことができる。
【０１２３】
また、実施の形態１に係る制御装置１の優先度マップ生成部１６が用いる評価関数は、第２の距離に基づいて、第１の距離が小さくなるに従って出力値が大きくなる度合いが調整され、前記第２の距離が小さくなるに従って、当該度合いが大きくなり、前記第２の距離が大きくなるに従って、当該度合いが小さくなる。
【０１２４】
上記の構成によれば、制御対象機器１００が非制御対象機器に近づくに従って、制御対象機器１００が対応する領域セルに近づくことにより出力値が大きくなる度合いが大きくなる。これにより、制御対象機器１００と最近傍の非制御対象機器とが近づくに従って、優先度マップが示す各領域セルは、制御対象機器１００に近ければ近いほど、優先度が高くなりやすくなる。つまり、制御対象機器１００は、自身により近い領域セルを優先して探索するようになる。よって、制御対象機器１００と非制御対象機器とが同一の領域セルを同時に探索してしまうことを抑制することができ、探索任務を効率的に行うことができる。
【０１２５】
また、実施の形態１に係る制御装置１の優先度マップ生成部１６が用いる評価関数は、分子が経過時間であり、分母が、第１の距離を底とし、第２の距離に基づいた関数をべき指数としたべき乗である。
上記の構成によれば、上述の評価関数に関する各構成及び各効果を好適に実現することができる。
【０１２６】
また、実施の形態１に係る制御装置１は、優先度マップ生成部１６が生成した優先度マップに基づいて、制御対象機器１００に対する制御ベクトルを算出する制御ベクトル算出部１７をさらに備え、制御実行部１８は、制御ベクトル算出部１７が生成した制御ベクトルに基づいて、制御対象機器１００を制御する。
【０１２７】
上記の構成によれば、上述の各構成における優先度マップが反映された制御ベクトルに基づいて、制御対象機器１００を制御することができる。よって、制御対象機器１００と非制御対象機器とが同一の領域セルを同時に探索してしまうことを抑制することができ、探索任務を効率的に行うことができる。
【０１２８】
また、実施の形態１に係る制御装置１は、制御対象機器情報取得部１１が取得した制御対象機器情報に基 づいて、ＡＧＥマップを生成するＡＧＥマップ生成部１５をさらに備えている。
上記の構成によれば、生成したＡＧＥマップに基づいて、上述の各構成における優先度マップを生成することができる。よって、制御対象機器１００と非制御対象機器とが同一の領域セルを同時に探索してしまうことを抑制することができ、探索任務を効率的に行うことができる。
【０１２９】
また、実施の形態１に係る制御対象機器１００は、上記の各構成の何れか１つの制御装置１を備えている。
上記の構成によれば、上述の制御装置１の各構成が奏する効果を制御対象機器１００において実現することができる。
【０１３０】
また、実施の形態１に係る制御対象機器１００の制御方法は、制御対象である制御対象機器１００に関する制御対象機器情報と、他の制御装置によって制御される非制御対象機器に関する非制御対象機器情報とに基づいて、当該制御対象機器１００が複数の領域セルに区分された探索エリアを探索するように当該制御対象機器１００を制御する、制御対象機器１００の制御方法であって、制御対象機器１００の位置を少なくとも含む制御対象機器情報を取得する制御対象機器情報取得ステップと、非制御対象機器の位置を少なくとも含む非制御対象機器情報を取得する非制御対象機器情報取得ステップと、制御対象機器１００又は非制御対象機器が最後に領域セルに滞在した時刻からの経過時間を領域セル毎に示すＡＧＥマップ、制御対象機器情報取得ステップで取得した制御対象機器情報が示す制御対象機器１００の位置、及び、非制御対象機器情報取得ステップで取得した非制御対象機器情報が示す非制御対象機器の位置に基づいて、制御対象機器１００が領域セルを探索する優先度を領域セル毎に示す優先度マップを生成する優先度マップ生成ステップと、優先度マップ生成ステップで生成した優先度マップに基づいて、制御対象機器１００を制御する制御実行ステップと、を含む。
上記の構成によれば、上述の制御装置１の各構成が奏する効果と同様の効果を奏する。
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【産業上の利用可能性】
【０１３１】
この発明に係る制御装置は、制御対象機器と非制御対象機器とが同一の領域セルを同時に探索してしまうことを抑制することができるため、制御対象機器に利用可能であり、監視作業、観測作業又は保守作業等の無人の機器が活用される分野における、当該機器群を制御する制御システム等に適用するのが好ましい。
【符号の説明】
【０１３２】
１  制御装置、２  センサ、３  通信部、４  記憶部、５  駆動部、１１  制御対象機器情報取得部、１２  非制御対象機器情報取得部、１３  情報処理部、１４  情報出力部、１５  ＡＧＥマップ生成部、１６  優先度マップ生成部、１７  制御ベクトル算出部、１８  制御実行部、１００  制御対象機器、１０１  非制御対象機器、１１０  処理回路、１１１  検知装置、１１２  送受信装置、１１３  記憶装置、１１４  駆動装置、１１５  プロセッサ、１１６  メモリ。
【図１】
0006987319.tif 000003
【図２】
0006987319.tif 000004
【図３】
0006987319.tif 000005
【図４】
0006987319.tif 000006
【図５】
0006987319.tif 000007
【図６】
0006987319.tif 000008
【図７】
0006987319.tif 000009
【図８】
0006987319.tif 000010
【図９】
0006987319.tif 000011
【図１０】
0006987319.tif 000012