(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.
【００１８】
第１の制御は、バネのように、機器双方の探索方向ベクトルに斥力を加える制御である。図５は、実施の形態１に係る制御装置の斥力のベクトルを加える制御例を示す図である。機器１０Ａの制御装置は、例えば図４で示した同一の領域セル２ｅを探索の目標とする探索方向ベクトル６ａに図５で示す斥力のベクトル７ａを加算する。同様に、機器１０Ｂの制御装置は、探索方向ベクトル６ｂに図５で示す斥力のベクトル７ｂを加算する。これにより、同一方向に向かう２つの探索方向ベクトル６ａ，６ｂが、それぞれ異なる方向に向かうベクトルとなる。
【００１９】
第２の制御は、ＡＧＥの値のみではなく、機器の現在位置から探索の目標とする領域セルまでの距離を考慮した制御である。各制御装置が参照するＡＧＥマップのＡＧＥの値が同一であっても、各機器の現在位置から領域セルまでの距離が、機器毎に異なることから探索の目標とする領域セルに差が生じることを利用した制御である。
【００２０】
図６は、実施の形態１に係る制御装置の機器の現在位置から探索の目標とする領域セルまでの距離を考慮する制御例を示す図である。
機器１０Ａの制御装置および機器１０Ｂの制御装置が参照するＡＧＥマップのＡＧＥの値は同一であり、領域セル２ｅが第１の探索目標、領域セル２ｆが第２の探索目標となる。制御装置は、機器１０Ａまたは機器１０Ｂの現在位置から領域セル２ｅおよび領域セル２ｆまでの距離を考慮する。その結果、機器１０Ｂの制御装置は、現在位置からの距離が機器１０Ａよりも短い領域セル２ｆを探索の目標とする探索方向ベクトル６ｃを算出する。また、機器１０Ａの制御装置は、領域セル２ｅを探索の目標とする探索方向ベクトル６ａを算出する。
【００２１】
なお、上述した第１の制御および第２の制御は、機器の通信可能範囲等の条件によっては、上述した効果が発揮されにくい場合もある。例えば、ＡＧＥマップの領域セルの大きさに対して、機器の通信可能範囲が狭い場合には、機器同士が一定距離離間すると、互いに認識できない。この場合、各機器の制御装置は、同一の領域セルを探索の目標としてしまう。
図７Ａおよび図７Ｂは、実施の形態１に係る制御装置の通信可能範囲の影響を示す説明図である。
図７Ａは、機器１０Ａおよび機器１０Ｂの通信可能範囲４が狭く、機器１０Ａと機器１０Ｂとが互いを認識することができない場合を示している。この場合、機器１０Ａの制御装置および機器１０Ｂの制御装置は、同一の領域セル２ｅを探索の目標として探索方向ベクトル６ａおよび探索方向ベクトル６ｂを算出してしまう。
【００２２】
また、例えば、ＡＧＥマップの領域セルの大きさに対して、各機器の通信可能範囲が狭い場合、機器同士が通信可能になるときには機器同士が近い地点に位置する。この場合、各機器の制御装置は、機器から領域セルまでの距離を考慮したとしても、同一の領域セルを探索の目標としてしまう。
図７Ｂは、機器１０Ａおよび機器１０Ｂが通信可能な状態であるが、互いに近い地点に位置している。この場合、機器１０Ａの制御装置および機器１０Ｂの制御装置は、機器１０Ａ，１０Ｂの現在位置から領域セルまでの距離を考慮したとしても、同一の領域セル２ｆを探索の目標として探索方向ベクトル６ｄおよび探索方向ベクトル６ｃを算出してしまう。
【００２３】
以下で説明する実施の形態１に係る制御装置を備えた制御システムは、上述した機器の通信可能範囲の影響も考慮した制御を行う。
図８は、実施の形態１に係る制御装置１００を備えた制御システムの構成を示す図である。
制御システムは、複数の機器と、当該機器を制御する複数の制御装置で構成される。図８で示した例では、探索エリア１内に、後述する制御装置１００，１００Ａ，１００Ｂ，１００Ｃ，１００Ｄ，１００Ｅに制御される機器１０，１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅが存在する。機器１０，１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅは、制御装置１００，１００Ａ，１００Ｂ，１００Ｃ，１００Ｄ，１００Ｅの制御に基づいて、探索エリア１内を協調して巡回する。図８では、探索エリア１内に、６台の機器１０，１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅが位置する場合を例に示したが、制御対象機器１０の数は６台に限定されるものではない。
【００２４】
図９は、実施の形態１に係る制御装置１００の構成を示すブロック図である。
制御装置１００は、通信部１０１、センサ情報取得部１０２、情報処理部１０３、マップ処理部１０４、マップ蓄積部１０５、情報出力部１０６、制御決定部１０７および制御実行部１０８を備える。制御装置１００は、図８で示した機器１０を制御する装置である。以下では、機器１０を制御対象機器１０と記載する。また、以下では、その他の制御装置１００Ａ，１００Ｂ，１００Ｃ，１００Ｄ，１００Ｅを総称して、他の制御装置１００Ｎと記載する。また、以下では、機器１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅを、総称して他の機器１０Ｎと記載する。
図９に示すように、制御装置１００は、他の制御装置１００Ｎおよび制御対象機器１０に搭載されたセンサ２０と接続される。
【００２５】
通信部１０１は、他の制御装置１００Ｎと無線通信を行い、情報の送受信を行う。センサ情報取得部１０２は、制御対象機器１０に搭載されたセンサ２０のセンサ情報を取得する。ここで、センサ情報は、制御対象機器１０の位置を示す位置情報等である。情報処理部１０３は、通信部１０１を介して他の機器１０Ｎの情報を取得する。情報処理部１０３は、センサ情報取得部１０２が取得したセンサ情報から制御対象機器１０の位置情報を取得し、他の機器１０Ｎの情報と合わせて、マップ処理部１０４が計算処理可能な形式とする処理を行う。
【００２６】
他の機器１０Ｎの情報は、通信部１０１が通信した他の制御装置１００Ｎが保有するＡＧＥマップの情報、取得可能な全ての他の機器１０Ｎの位置情報、および取得可能な全ての他の機器１０Ｎの進む方向を示す探索方向ベクトルである。取得可能な全ての他の機器１０Ｎの位置情報、および取得可能な全ての他の機器１０Ｎの進む方向を示す探索方向ベクトルは、現時点の情報に限らない。他の制御装置１００Ｎは、取得した位置情報および探索方向ベクトルを、何ステップ前の情報であるかを示す情報と組み合わせて、バッファ等に蓄積し、適宜、制御装置１００に送信する。制御装置１００は、他の機器１０Ｎの位置情報および探索方向ベクトルを、何ステップ前の情報であるかを示す情報と組み合わせて他の制御装置１００Ｎから取得することにより、他の機器１０Ｎがいつ、どの地点に位置し、どの方向を探索する可能性があるかを示す情報を取得する。取得した情報は、他の制御装置１００Ｎと共有される。
【００２７】
マップ処理部１０４は、情報処理部１０３から入力された他の機器１０Ｎの情報、および制御対象機器１０の位置情報に基づいて、制御対象機器１０が存在する探索エリアの各領域セルのＡＧＥの値を算出し、ＡＧＥマップを作成する。マップ処理部１０４は、作成したＡＧＥマップを用いて、時間の経過情報、制御対象機器１０がある領域セルを探索したことを示す情報（以下、探索情報という）、および他の制御装置１００Ｎとの情報交換により取得した他の機器１０ＮのＡＧＥマップの更新情報に基づいて、第１のＡＧＥマップを作成する。
【００２８】
また、マップ処理部１０４は、作成したＡＧＥマップを用いて、時間の経過情報、制御対象機器１０のある領域セルへの探索情報、および他の制御装置１００Ｎとの情報交換により取得した他の機器１０ＮのＡＧＥマップの更新情報に加えて、他の機器１０Ｎのある領域セルへの探索の可能性を示す情報に基づいて、第２のＡＧＥマップを作成する。なお、第１のＡＧＥマップおよび第２のＡＧＥマップの詳細は、後述する。マップ処理部１０４は、作成した第１のＡＧＥマップおよび第２のＡＧＥマップをマップ蓄積部１０５に蓄積させる。マップ蓄積部１０５は、マップ処理部１０４が作成した第１のＡＧＥマップおよび第２のＡＧＥマップを蓄積する。
【００２９】
情報出力部１０６は、マップ蓄積部１０５に蓄積された第１のＡＧＥマップを、通信部１０１を介して他の制御装置１００Ｎに対して出力する制御を行う。情報出力部１０６が第１のＡＧＥマップを出力するタイミングは、予め設定されたタイミング、または他の制御装置１００Ｎから要求が入力されたタイミング等、適宜設定可能である。
【００３０】
制御決定部１０７は、ある時間における制御対象機器１０の制御ベクトルを決定する。まず、制御決定部１０７は、マップ蓄積部１０５に蓄積された第２のＡＧＥマップを参照し、制御対象機器１０が向かうべき方向を示す探索方向ベクトルを算出する。制御決定部１０７は、探索方向ベクトルの算出において、ＡＧＥマップ全体を参照してもよく、ＡＧＥマップのある範囲のみを参照してもよい。制御決定部１０７は、探索方向ベクトルの算出において、ＡＧＥの値が最も大きい領域セルを、制御対象機器１０が向かうべき領域セルと定める。または、制御決定部１０７は、ＡＧＥの値および制御対象機器１０の現在位置と領域セルまでの距離等を含む関数を用いて各領域セルの評価を行い、制御対象機器１０が向かうべき領域セルを定めてよい。制御決定部１０７は、制御対象機器１０の現在位置から、定めた領域セルへの探索方向ベクトルを算出する。
【００３１】
次に、制御決定部１０７は、第２のＡＧＥマップを参照し、制御対象機器１０と他の機器１０Ｎとを離すための作用力を示す斥力ベクトルを算出する。制御決定部１０７は、制御対象機器１０が通信可能な範囲内に他の機器１０Ｎが存在する場合に、制御対象機器１０と他の機器１０Ｎとの距離に応じた斥力を定める。斥力は、バネにおけるＦ＝−ｋｘ（ｋは定数）のような関数でよく、また離散的なテーブルで示した斥力であってもよい。制御決定部１０７は、定めた斥力と、制御対象機器１０と他の機器１０Ｎとの位置関係に基づいて、斥力ベクトルを算出する。
【００３２】
次に、制御決定部１０７は、制御対象機器１０が障害物から離れるための作用力を示す障害物ベクトルを算出する。障害物は、例えば、探索エリア内に存在する壁、進入禁止領域等である。障害物の情報は、第２のＡＧＥマップに予め登録しておいてもよいし、記憶領域（図示しない）に予め記憶させておいてもよい。制御決定部１０７は、障害物の情報を参照し、制御対象機器１０が、障害物が存在する位置に近づいた場合に、上述した斥力ベクトルと同様の考え方に基づいて制御対象機器１０が障害物から離れるための障害物ベクトルを算出する。
【００３３】
制御決定部１０７は、上記以外にも探索方向を調整するベクトル（以下、調整ベクトルという）を算出してもよい。制御決定部１０７は、探索方向ベクトル、斥力ベクトルおよび障害物ベクトル、それぞれに重み付け係数を乗算した後、足し合わせ、制御ベクトルを算出する。重み付け係数は、探索方向ベクトル、斥力ベクトルおよび障害物ベクトルに関して、いずれを重視するかによって予め設定される。制御決定部１０７は、算出した制御ベクトルを制御実行部１０８に出力する。制御実行部１０８は、制御決定部１０７から入力された制御ベクトルに基づいて、制御対象機器１０の制御を実行する。
【００３４】
次に、制御装置１００のハードウェア構成例を説明する。
図１０Ａおよび図１０Ｂは、実施の形態１に係る制御装置１００のハードウェア構成例を示す図である。
制御装置１００における通信部１０１は、他の制御装置１００Ｎとの間で通信を行う送受信装置１００ａである。制御装置１００におけるセンサ情報取得部１０２、情報処理部１０３、マップ処理部１０４、情報出力部１０６、制御決定部１０７および制御実行部１０８の各機能は、処理回路により実現される。即ち、制御装置１００は、上記各機能を実現するための処理回路を備える。当該処理回路は、図１０Ａに示すように専用のハードウェアである処理回路１００ｂであってもよいし、図１０Ｂに示すようにメモリ１００ｄに格納されているプログラムを実行するプロセッサ１００ｃであってもよい。
【００３５】
図１０Ａに示すように、センサ情報取得部１０２、情報処理部１０３、マップ処理部１０４、情報出力部１０６、制御決定部１０７および制御実行部１０８が専用のハードウェアである場合、処理回路１００ｂは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-programmable Gate Array）、またはこれらを組み合わせたものが該当する。センサ情報取得部１０２、情報処理部１０３、マップ処理部１０４、情報出力部１０６、制御決定部１０７および制御実行部１０８の各部の機能それぞれを処理回路で実現してもよいし、各部の機能をまとめて１つの処理回路で実現してもよい。
【００３６】
図１０Ｂに示すように、センサ情報取得部１０２、情報処理部１０３、マップ処理部１０４、情報出力部１０６、制御決定部１０７および制御実行部１０８がプロセッサ１００ｃである場合、各部の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ１００ｄに格納される。プロセッサ１００ｃは、メモリ１００ｄに記憶されたプログラムを読み出して実行することにより、センサ情報取得部１０２、情報処理部１０３、マップ処理部１０４、情報出力部１０６、制御決定部１０７および制御実行部１０８の各機能を実現する。即ち、センサ情報取得部１０２、情報処理部１０３、マップ処理部１０４、情報出力部１０６、制御決定部１０７および制御実行部１０８は、プロセッサ１００ｃにより実行されるときに、後述する図１３および図１４に示す各ステップが結果的に実行されることになるプログラムを格納するためのメモリ１００ｄを備える。また、これらのプログラムは、センサ情報取得部１０２、情報処理部１０３、マップ処理部１０４、情報出力部１０６、制御決定部１０７および制御実行部１０８の手順または方法をコンピュータに実行させるものであるともいえる。
【００３７】
ここで、プロセッサ１００ｃとは、例えば、ＣＰＵ（Central Processing Unit）、処理装置、演算装置、プロセッサ、マイクロプロセッサ、マイクロコンピュータ、またはＤＳＰ（Digital Signal Processor）などのことである。
メモリ１００ｄは、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable ROM）、ＥＥＰＲＯＭ（Electrically EPROM）等の不揮発性または揮発性の半導体メモリであってもよいし、ハードディスク、フレキシブルディスク等の磁気ディスクであってもよいし、ミニディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）等の光ディスクであってもよい。
【００３８】
なお、センサ情報取得部１０２、情報処理部１０３、マップ処理部１０４、情報出力部１０６、制御決定部１０７および制御実行部１０８の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。このように、制御装置１００における処理回路１００ｂは、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
【００３９】
次に、マップ処理部１０４の詳細について説明する。
上述したように、マップ処理部１０４は、第１のＡＧＥマップおよび第２のＡＧＥマップを作成する。まず、第１のＡＧＥマップの作成処理について説明する。マップ処理部１０４は、作成したＡＧＥマップにおいて１タイムステップ毎に全ての領域セルのＡＧＥの値に「１」加算する。１タイムステップは、予め時間が設定されているものとする。また、マップ処理部１０４は、制御対象機器１０によるある領域セルへの探索情報、または他の制御装置１００Ｎとの情報交換により取得した他の機器１０ＮのＡＧＥマップの更新情報を取得した場合にのみＡＧＥの値を下げる。作成された第１のＡＧＥマップは、他の制御装置１００Ｎと交換される情報である。マップ処理部１０４は、作成した第１のＡＧＥマップをマップ蓄積部１０５に蓄積する。
【００４０】
次に、第２のＡＧＥマップの作成処理について説明する。マップ処理部１０４は、作成したＡＧＥマップにおいて、１タイムステップ毎に全ての領域セルのＡＧＥの値に「１」加算する。マップ処理部１０４は、制御対象機器１０によるある領域セルへの探索情報、または他の制御装置１００Ｎとの情報交換により取得した他の機器１０ＮのＡＧＥマップの更新情報を取得した場合にのみＡＧＥの値を下げる。さらに、マップ処理部１０４は、他の制御装置１００Ｎとの情報交換により、他の機器１０Ｎが今後探索すると予測される領域セルについても、ＡＧＥの値を下げる。
【００４１】
他の機器１０Ｎが今後探索すると予測される領域セルのＡＧＥの値を下げる処理について、制御装置１００が、他の機器１０Ｎの行動を推測してＡＧＥの値を下げると、制御対象機器１０および全ての他の機器１０Ｎが当該領域セルへの探索を譲り合う可能性が生じる。そこで、マップ処理部１０４は、制御対象機器１０および全ての他の機器１０Ｎに対して優先順位を付ける。マップ処理部１０４は、優先順位の高い制御対象機器１０または他の機器１０Ｎを目標とする領域セルを探索させる制御を行う。これにより、制御対象機器１０および全ての他の機器１０Ｎが互いに譲り合うのを抑制することができる。
【００４２】
優先順位は、制御対象機器１０および全ての他の機器１０Ｎに付されたＩＤの順序に従って付してもよい。また、制御システムが、制御対象機器１０および全ての他の機器１０Ｎ毎に性能差があるようなシステムであれば、当該性能差によって、優先順位を決定してもよい。優先順位は、制御システムを構成する制御装置１００および他の制御装置１００Ｎの全てが把握していることが望ましい。しかし、制御装置１００および他の制御装置１００Ｎの全てが優先順位を把握していない場合であっても、通信によって予め優先順位を付ける仕組みに制御装置１００および他の制御装置１００Ｎの全てを従わせる構成とすればよい。
【００４３】
マップ処理部１０４は、情報処理部１０３から入力された他の機器１０Ｎの情報に基づいて、どの他の機器１０Ｎがどの方向を探索する可能性があるかを把握する。マップ処理部１０４は、どの他の機器１０Ｎがどの方向を探索する可能性があるかを示す情報のうち、制御対象機器１０よりも優先度が高い他の機器１０Ｎの情報を、第２のＡＧＥマップに反映させる。なお、マップ処理部１０４は、制御対象機器１０よりも優先度が高い他の機器１０Ｎの情報のうち、予め設定されたステップ数よりも前の情報は破棄する。これにより、マップ処理部１０４は、制御対象機器１０よりも優先度が高い他の機器１０Ｎの情報であっても、古い情報を用いてしまい、第２のＡＧＥマップが現状と乖離するのを抑制することができる。
マップ処理部１０４は、作成した第２のＡＧＥマップをマップ蓄積部１０５に蓄積する。
【００４４】
図１１は、実施の形態１に係る制御装置１００のマップ処理部１０４の処理例を示す図である。
図１１Ａは制御対象機器１０よりも優先度が高い他の機器１０ＮのＡＧＥマップを示し、図１１Ｂは、制御対象機器１０のＡＧＥマップを示す。マップ処理部１０４は、制御対象機器１０よりも優先度が高い他の機器１０Ｎが、矢印Ｘ方向を探索する可能性があることを示す情報（図１１Ａ参照）に基づいて、制御対象機器１０を矢印Ｘ方向へ探索させるのを避け、矢印Ｙ方向へ探索させるためのＡＧＥマップを作成する（図１１Ｂ参照）。
【００４５】
マップ処理部１０４は、ＡＧＥマップ上に他の機器１０Ｎが探索する可能性がある領域上に、ＡＧＥ調整領域Ｐを設定する。マップ処理部１０４は、ＡＧＥ調整領域Ｐが設定された領域セルのＡＧＥの値を下げる処理を行う。ＡＧＥの値が下げられた領域セルは、制御対象機器１０が探索の目標とする領域セルではなくなる。これにより、制御対象機器１０は他の領域セル２ｇを探索の目標とする矢印Ｙ方向に向かうことになり、複数の機器が同一の領域セルを探索の目標とするのを抑制する。
【００４６】
図１２は、実施の形態１に係る制御装置１００のマップ処理部１０４がＡＧＥ調整領域を付与する処理を示す図である。
マップ処理部１０４は、制御対象機器１０よりも優先度が高い他の機器１０Ｎの情報として、例えば「Ｔタイムステップ前に、位置ＰａでＰｂ方向に向かった」という情報を処理するものとする。この場合、マップ処理部１０４は、図１２に示すように、第２のＡＧＥマップにＡＧＥ調整領域Ｐを設定する。ＡＧＥ調整領域Ｐは、座標位置Ｐａを中心としてＰｂ方向に中心角Ｔ［ｄｅｇ］の広がりを有する扇形状である。ＡＧＥ調整領域Ｐの扇形状は、タイムステップに応じて半径を変更してもよい。なお、ＡＧＥ調整領域Ｐの形状は、扇形状に限定されるものではない。ＡＧＥ調整領域Ｐの形状は、制御対象機器１０および他の機器１０Ｎの特性を考慮した形状であってもよい。また、ＡＧＥ調整領域Ｐは、他の機器１０Ｎの情報から算出される、他の機器１０Ｎの存在確率を表す分布としてもよい。
【００４７】
マップ処理部１０４は、設定したＡＧＥ調整領域Ｐ内に位置する領域セルのＡＧＥの値を下げる。マップ処理部１０４は、設定したＡＧＥ調整領域Ｐの中に、領域セルの中心点が存在する場合に、例えば、当該領域セルのＡＧＥの値を「０」とする、またはＡＧＥの値を半減させる。マップ処理部１０４は、探索エリアおよび探索対象の特性に応じて、ＡＧＥの値を下げる処理を適用可能である。
【００４８】
次に、制御装置１００の動作について説明する。
図１３は、実施の形態１に係る制御装置１００の動作を示すフローチャートである。
センサ情報取得部１０２は、制御対象機器１０のセンサ情報を取得する（ステップＳＴ１）。センサ情報取得部１０２は、取得したセンサ情報を情報処理部１０３に出力する。情報処理部１０３は、通信部１０１を介して取得した他の機器１０Ｎの情報を取得する（ステップＳＴ２）。情報処理部１０３は、センサ情報から制御対象機器１０の位置情報を取得し、他の機器１０Ｎの情報と合わせて、マップ処理部１０４が計算処理可能な形式とする処理を行う（ステップＳＴ３）。情報処理部１０３は、処理した情報をマップ処理部１０４に出力する。
【００４９】
マップ処理部１０４は、情報処理部１０３から入力された他の機器１０Ｎの情報、および制御対象機器１０の位置情報に基づいて、制御対象機器１０が存在する探索エリアのＡＧＥマップを作成する（ステップＳＴ４）。マップ処理部１０４は、ステップＳＴ４で作成したＡＧＥマップを用いて、時間の経過情報、制御対象機器１０のある領域セルへの探索情報、および他の制御装置１００Ｎとの情報交換により取得した他の機器１０ＮのＡＧＥマップの更新情報に基づいて、第１のＡＧＥマップを作成する（ステップＳＴ５）。
【００５０】
マップ処理部１０４は、ＡＧＥマップを用いて、時間の経過情報、制御対象機器１０のある領域セルへの探索情報、および他の制御装置１００Ｎとの情報交換により取得した他の機器１０ＮのＡＧＥマップの更新情報に加えて、他の機器１０Ｎが探索する可能性を示す情報に基づいて、第２のＡＧＥマップを作成する（ステップＳＴ６）。マップ処理部１０４は、作成した第１のＡＧＥマップおよび第２のＡＧＥマップをマップ蓄積部１０５に蓄積させる（ステップＳＴ７）。情報出力部１０６は、マップ蓄積部１０５に蓄積された第１のＡＧＥマップを、通信部１０１を介して他の制御装置１００Ｎに出力する（ステップＳＴ８）。
【００５１】
制御決定部１０７は、マップ蓄積部１０５に蓄積された第２のＡＧＥマップを参照し、制御対象機器１０が向かうべき方向を示す探索方向ベクトルを算出する（ステップＳＴ９）。制御決定部１０７は、その他の調整ベクトルとして、例えば斥力ベクトルおよび障害物ベクトルを算出する（ステップＳＴ１０）。制御決定部１０７は、ステップＳＴ９で算出した探索方向ベクトル、およびステップＳＴ１０で算出したその他の調整ベクトルを用いて、制御ベクトルを算出する（ステップＳＴ１１）。制御決定部１０７は、算出した制御ベクトルを制御実行部１０８に出力する。制御実行部１０８は、制御決定部１０７から入力された制御ベクトルに基づいて、制御対象機器１０の制御を実行する（ステップＳＴ１２）。その後、フローチャートは、ステップＳＴ１の処理に戻り、上述した処理を繰り返す。
【００５２】
次に、図１３のフローチャートで示した、ステップＳＴ５からステップＳＴ７の詳細な処理動作について説明する。
図１４は、実施の形態１に係る制御装置１００のマップ処理部１０４の動作を示すフローチャートである。
マップ処理部１０４は、ステップＳＴ４で作成したＡＧＥマップを参照し、前回ＡＧＥマップを作成または更新してから、予め設定された１タイムステップ経過したか否か判定を行う（ステップＳＴ２１）。１タイムステップ経過した場合（ステップＳＴ２１；ＹＥＳ）、マップ処理部１０４は、ステップＳＴ４で作成したＡＧＥマップの全ての領域セルのＡＧＥの値に「１」加算する（ステップＳＴ２２）。一方、１タイムステップ経過していない場合（ステップＳＴ２１；ＮＯ）、マップ処理部１０４はステップＳＴ２３の処理に進む。
【００５３】
マップ処理部１０４は、制御対象機器１０の位置情報に基づいて制御対象機器１０が存在する位置を把握し、ある領域セルを探索したか否か判定を行う（ステップＳＴ２３）。制御対象機器１０がある領域セルを探索した場合（ステップＳＴ２３；ＹＥＳ）、ステップＳＴ２２でＡＧＥの値を加算したＡＧＥマップ、またはステップＳＴ４で作成したＡＧＥマップにおいて、探索した領域セルのＡＧＥの値を下げる（ステップＳＴ２４）。一方、制御対象機器１０がある領域セルを探索していない場合（ステップＳＴ２３；ＮＯ）、マップ処理部１０４はステップＳＴ２５の処理に進む。
【００５４】
マップ処理部１０４は、情報処理部１０３から入力された他の機器１０ＮのＡＧＥマップの情報を参照し、ＡＧＥの値の更新情報を取得したか否か判定を行う（ステップＳＴ２５）。ＡＧＥの値の更新情報を取得した場合（ステップＳＴ２５；ＹＥＳ）、ステップＳＴ２２でＡＧＥの値を加算したＡＧＥマップ、ステップＳＴ２４でＡＧＥの値を下げたＡＧＥマップ、またはステップＳＴ４で作成したＡＧＥマップにおいて、更新情報に示された領域セルのＡＧＥの値を下げる（ステップＳＴ２６）。一方、ＡＧＥの値の更新情報を取得していない場合（ステップＳＴ２５；ＮＯ）、ステップＳＴ２７およびステップＳＴ２８の処理に進む。マップ処理部１０４は、ＳＴ２１からステップＳＴ２６の処理を行ったＡＧＥマップを第１のＡＧＥマップとしてマップ蓄積部１０５に蓄積する（ステップＳＴ２７）。
【００５５】
マップ処理部１０４は、ＳＴ２１からステップＳＴ２６の処理を行ったＡＧＥマップに、さらに以下の処理を行う。マップ処理部１０４は、情報処理部１０３から入力された他の機器１０ＮのＡＧＥマップの情報を参照し、優先度が高い他の機器１０Ｎがどの方向を探索する可能性があるかを示す情報が存在するか否か判定を行う（ステップＳＴ２８）。ステップＳＴ２８において、優先度が高いとは、制御対象機器１０に予め設定された優先度よりも、他の機器１０Ｎの優先度が高いことを示す。情報が存在する場合（ステップＳＴ２８；ＹＥＳ）、マップ処理部１０４は、優先度が高い他の機器１０Ｎのどの方向を探索する可能性があるかを示す情報に基づいて、ＡＧＥ調整領域を設定する（ステップＳＴ２９）。マップ処理部１０４は、ステップＳＴ２９で設定したＡＧＥ調整領域内に領域セルの中心が位置している領域セルのＡＧＥの値を下げる（ステップＳＴ３０）。
【００５６】
マップ処理部１０４は、ＳＴ２８からステップＳＴ３０の処理を行ったＡＧＥマップを第２のＡＧＥマップとしてマップ蓄積部１０５に蓄積する（ステップＳＴ３１）。ステップＳＴ３１の処理が終了した場合、および情報が存在しない場合（ステップＳＴ２８；ＮＯ）、フローチャートは図１２のフローチャートのステップＳＴ８の処理に進む。
【００５７】
以上のように、この実施の形態１によれば、他の機器１０Ｎの情報、および制御対象機器１０の位置情報を取得する情報処理部１０３と、取得された他の機器１０Ｎの情報および制御対象機器１０の位置情報に基づいて、制御対象機器１０が存在する探索エリアについて、ある領域セルに対して制御対象機器１０または他の機器１０Ｎが探索してからの経過時間を示すＡＧＥマップを作成するマップ処理部１０４と、作成されたＡＧＥマップに基づいて、制御対象機器１０の制御ベクトルを算出する制御決定部１０７と、算出した制御ベクトルに基づいて制御対象機器１０の制御を実行する制御実行部１０８とを備えるように構成した。
これにより、１つの探索エリア内を複数の機器で協調的に探索する場合であって、必ずしも複数の機器全てが通信可能範囲内に入っていない場合であっても、最適となる機器の制御を実現することができる。
【００５８】
また、この実施の形態１によれば、情報処理部１０３が、他の機器１０Ｎの情報として、他の機器１０Ｎの制御装置１００Ｎが保有するＡＧＥマップの情報、他の機器１０Ｎの位置情報および他の機器１０Ｎの進む方向を示す情報を取得するように構成した。
これにより、他の機器がいつ、どの位置に存在し、どの方向に進む可能性があるかを共有することができる。
【００５９】
また、この実施の形態１によれば、マップ処理部１０４が、ＡＧＥマップとして、時間の経過情報、制御対象機器のある領域セルへの探索情報、および他の機器のＡＧＥマップの更新情報に基づいて、第１のＡＧＥマップを作成し、時間の経過情報、制御対象機器のある領域セルへの探索情報、および他の機器のＡＧＥマップの更新情報に加えて、他の機器のある領域セルへの探索の可能性を示す情報に基づいて、第２のＡＧＥマップを作成するように構成した。
これにより、各制御装置が管理する通常のＡＧＥマップと、他の機器が進む可能性がある方向を示したＡＧＥマップの２種類のＡＧＥマップを保有することができる。
【００６０】
また、この実施の形態１によれば、マップ処理部１０４が、制御対象機器および他の機器の優先度を参照し、制御対象機器よりも高い優先度を有する他の機器のある領域セルへの探索の可能性を示す情報を用いて第２のＡＧＥマップを作成するように構成した。
また、マップ処理部１０４が、制御対象機器１０よりも高い優先度を有する他の機器１０Ｎのある領域セルへの探索の可能性を示す情報に基づいて、第２のＡＧＥマップ上にＡＧＥ調整領域Ｐを設定し、設定したＡＧＥ調整領域Ｐ内に位置する領域セルのＡＧＥの値を下げる処理を行うように構成した。
これにより、制御対象機器および他の機器全てがある領域セルへの探索を譲り合うのを抑制することができる。
【００６１】
また、この実施の形態１によれば、マップ処理部１０４が、制御対象機器１０よりも高い優先度を有する他の機器１０Ｎのある領域セルへの探索の可能性を示す情報のうち、予め設定されたステップ数よりも前の情報を破棄するように構成した。
これにより、第２のＡＧＥマップが現状と乖離するのを抑制することができる。
【００６２】
また、この実施の形態１によれば、制御決定部１０７が、第２のＡＧＥマップに基づいて算出される、制御対象機器１０が向かうべき方向を示す探索方向ベクトルと、探索方向ベクトルを調整する調整ベクトルとを用いて、探索方向ベクトルおよび調整ベクトルに重み付けを行い、制御ベクトルを算出するように構成した。
これにより、制御対象機器と他の機器が同一の領域セルを探索する、または制御対象機器が障害物等に衝突するのを抑制することができる制御ベクトルを算出することができる。
【００６３】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００６４】
この発明に係る技術は、監視作業、観測作業または保守作業等の無人の機器が活用される分野における、当該機器群を制御する制御システム等に適用するのが好ましい。
【符号の説明】
【００６５】
１  探索エリア、２，２ａ，２ｂ，２ｃ，２ｄ，２ｅ，２ｆ，２ｇ  領域セル、３，３ａ，３ｂ  位置情報、４，４ａ，４ｂ  通信可能範囲、５ａ，５ｂ，５ｃ，５ｄ  ＡＧＥマップ、６ａ，６ｂ，６ｃ，６ｄ  探索方向ベクトル、７ａ，７ｂ  斥力のベクトル、１０  制御対象機器、１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅ，１０Ｎ  機器、２０  センサ、１００，１００Ａ，１００Ｂ，１００Ｃ，１００Ｄ，１００Ｅ，１００Ｎ  制御装置、１０１  通信部、１０２  センサ情報取得部、１０３  情報処理部、１０４  マップ処理部、１０５  マップ蓄積部、１０６  情報出力部、１０７  制御決定部、１０８  制御実行部。
【要約】
他の機器（１０Ｎ）の情報、および制御対象機器（１０）の位置情報を取得する情報処理部（１０３）と、取得された他の機器の情報および制御対象機器の位置情報に基づいて、制御対象機器が存在する探索エリアについて、ある領域セルに対して制御対象機器または他の機器が探索してからの経過時間を示すＡＧＥマップを作成するマップ処理部（１０４）と、作成されたＡＧＥマップに基づいて、制御対象機器の制御ベクトルを算出する制御決定部（１０７）と、算出した制御ベクトルに基づいて制御対象機器の制御を実行する制御実行部（１０８）とを備える。【図１】
0006678831.tif 000002
【図２】
0006678831.tif 000003
【図３】
0006678831.tif 000004
【図４】
0006678831.tif 000005
【図５】
0006678831.tif 000006
【図６】
0006678831.tif 000007
【図７】
0006678831.tif 000008
【図８】
0006678831.tif 000009
【図９】
0006678831.tif 000010
【図１０】
0006678831.tif 000011
【図１１】
0006678831.tif 000012
【図１２】
0006678831.tif 000013
【図１３】
0006678831.tif 000014
【図１４】
0006678831.tif 000015