【実施例】
【0179】
以下に、本実施の形態の移動体分散制御システム50を適用したリスクポテンシャル28への移動制御において、ボロノイ領域を用いた実施例を説明する。
【0180】
(実施例1)
【0181】
図13は、実施例1に係る移動体の分散制御システムに適用される移動体10及び、移動体10が移動する領域12が示されている。
【0182】
各移動体10の制御装置14では、位置認識モジュール22からの位置情報に基づいて、
図13に示す領域12をボロノイ分割する。
【0183】
ボロノイ分割とは、各ポイント(ここでは、移動体10の位置)の勢力圏を分析するものであり、移動体10までの距離が最短となる点の集合を1つのポリゴンで表したとき、それぞれをボロノイ領域という。例えば、
図13において、二次元平面におけるボロノイ分割では、ボロノイ分割の境界線は、移動体10を結ぶ線分の垂直二等分線(
図13の鎖線26)となり、鎖線26で区画された各ボロノイ領域(1)〜(n)には、必ず1機の移動体10が存在する。なお、変数nはボロノイ分割数であり、
図13ではn=17である。
【0184】
実施例1では、領域12の範囲で、移動体10は相互に自由に移動しており、その都度、ボロノイ領域は変化することになる。
図13は、各移動体10が、点線の位置から実線の位置に移動したときのボロノイ領域となる。
【0185】
また、実施例1では、
図13に示す領域12において、
図14(A)に示すように、本実施の形態で特定された探索領域及び追従領域である監視対象(リスクポテンシャル)28を指定する。
【0186】
実施例1では、1単位のリスクポテンシャル28の面積は、1機の移動体10の監視モジュール18で監視し得る監視範囲の面積と同等としている。すなわち、矩形網状に図示されたリスクポテンシャル28の中心に1機の移動体10の中心が重なることで、リスクポテンシャル28の全てが監視範囲となる。
【0187】
なお、リスクポテンシャル28の面積と監視範囲の面積とは必ずしも1:1である必要はない。
【0188】
図14(A)の各移動体10の位置は、
図13の位置と同一であり、各移動体10は、相互に位置情報を送受信しながら、自機の移動体10のボロノイ領域内でリスクポテンシャル28に向けて移動することになる。
【0189】
図14(B)は、
図14(A)に対して各移動体10が移動した結果であり、ボロノイ領域を維持しながらリスクポテンシャル28に向けて移動する従来技術の制御である(制御則1)。
【0190】
ここで、制御則1では、全てのリスクポテンシャル28を、移動体10の監視範囲とすることができない状況が発生する。
【0191】
すなわち、指定されたリスクポテンシャル28の監視度合いは、被覆率で表現することができる。被覆率は、移動体10の監視領域の面積/リスクポテンシャル28の面積」である。なお、百分率で表現してもよい(「移動体10の監視領域の面積/リスクポテンシャル28の面積」×100%)。
【0192】
制御則1に基づく、
図14(B)では、被覆率が1未満(100%未満)のリスクポテンシャル28が存在していることがわかる。その一方で、リスクポテンシャル28が存在しないボロノイ領域では、移動体10が全く機能していない。
【0193】
すなわち、全ての移動体10の監視領域の面積が、指定されたリスクポテンシャル28の全面積よりも大きくても、制御則1に縛られた制御では、全てのリスクポテンシャル28を監視することができない。
【0194】
そこで、本実施の形態では、制御則1に加え、移動体10(の監視範囲)とリスクポテンシャル28との位置関係に基づいて、自機の移動体10のボロノイ領域を逸脱して、被覆率が不足(0<被覆率<1)しているリスクポテンシャル28に移動する制御(制御則2)を確立した。
【0195】
図15は、移動体10(の監視範囲)とリスクポテンシャル28との位置関係として考え得る状況を示している。
【0196】
図15(A)は、単一のボロノイ領域内で、1区画のリスクポテンシャル28に1機の移動体10が対応した状況であり、1機の移動体10の監視範囲の面積がリスクポテンシャル28の面積と一致することになり、被覆率は1となり、理想的な関係である。
【0197】
図15(B)は、移動体10が担当するボロノイ領域にリスクポテンシャル28が存在しない場合であり、最も効率の悪い関係である(状況1)。
【0198】
図15(C)は、2つのボロノイ領域に跨って指定された1区画のリスクポテンシャル28を、それぞれのボロノイ領域を担当する2機の移動体10で対応した場合であり、2機の移動体10の監視範囲の面積がリスクポテンシャル28の面積よりも広くなり、被覆率は1より大きく(2「=200%」)となり、移動体10の監視範囲が余剰となる関係である(状況2)。
【0199】
一方、
図15(D)は、単一のボロノイ領域内で、3区画のリスクポテンシャル28に1機の移動体10が対応した状況であり、被覆率が1未満(0.333・・・)であり、リスクポテンシャル28の監視として不十分な関係である。
【0200】
図15(A)の関係では、移動体10は現状況を維持することが好ましい。
【0201】
図15(B)の関係(状況1)では、1機の移動体10の監視範囲が無駄となっている状況であり、言い換えれば、
図15(B)の移動体10は、別のリスクポテンシャル28に割り当てることができる状況である。
【0202】
図15(C)の関係(状況2)では、2機の移動体10がそれぞれ1/2の監視範囲を無駄にしている状況であり、言い換えれば、ボロノイ領域の縛りがなければ、
図15(C)の2機の移動体10の内の1機の移動体10は、別のリスクポテンシャル28に割り当てることができる状況である。
【0203】
一方、
図15(D)の関係では、2区画のリスクポテンシャル28が監視できていない状況である。
【0204】
本実施の形態では、
図15(B)及び
図15(C)の状況(移動体の監視範囲が余剰となっている状況1及び状況2)と、
図15(D)の状況(移動体10の監視範囲が不足している状況)とを認識し、ボロノイ領域の維持(制御則1)の制御を逸脱して、移動体10を移動させることを容認した制御則2を設定した(
図15(E)参照)。
【0205】
また、本実施の形態では、リスクポテンシャル28に重要度の差がある場合、重要度に応じて移動体10の移動を制御するようにしている。
【0206】
図16は、重要度に基づく移動体10の移動制御について示している。
【0207】
重要度は、例えば、0を超える数値〜1以下の数値で表現され、1が最も重要度が高いものとし、
図16では、重要度1のリスクポテンシャル28Aと、重要度0.5のリスクポテンシャル28Bが存在することを想定している。
【0208】
例えば、
図16(A)に示される如く、第1の区画に重要度0.5のリスクポテンシャル28Bが存在し、移動体10がカバレッジ(監視)した場合、重要度からみると、移動体の監視面積は、50%の能力しか使っていないので、被覆率は、1/0.5=2となる。また、第2の区画に重要度1の2個のリスクポテンシャル28Aが存在し、一方のリスクポテンシャル28Aを、移動体10がカバレッジ(監視)した場合、重要度からみると移動体10の監視面積は、100%の能力を使っているので、被覆率は、1/(1+1)=0.5となる。
【0209】
ここで、重要度を加味した被覆率の総合的な評価として、評価指標で表現する。評価指標は、数値が高いほど被覆率が向上する。
【0210】
図16(A)における、2区画の評価指標は、0.5+1=1.5となる。
【0211】
一方、
図16(B)に示される如く、第1の区画に重要度0.5のリスクポテンシャル28Bと重要度1のリスクポテンシャル28Aが存在し、リスクポテンシャル28Aを移動体10がカバレッジ(監視)した場合、被覆率は、1/(0.5+1)=0.67となる。また、第2の区画に重要度1のリスクポテンシャル28Aが存在し、移動体10がカバレッジ(監視)した場合、被覆率は、1/1=1となる。
【0212】
図16(B)における、2区画の評価指標は、1+1=2となる。
【0213】
すなわち、重要度が高いリスクポテンシャル28を優先的にカバレッジした方が、全体の被覆率を向上することができる。
【0214】
制御則2による移動体10の移動制御では、以下の条件が設定され、移動体10間の調停によって移動する移動体10が選定される。
【0215】
(条件1) 各移動体10が、監視範囲が不足しているリスクポテンシャル28(「正」と定義)まで移動する移動軌跡上に、他機の移動体10が存在しないこと。
【0216】
(条件2) 条件1が成立した移動体10が、他機の移動体10に対して、移動を宣言する。
【0217】
移動の宣言とは、「正」と定義されたリスクポテンシャル28を、「負」に書き替える。また、移動軌跡上も「負」に書き替える。これにより、最先に移動を宣言した移動体10にのみ、移動が許可され、複数の移動体10が単一のリスクポテンシャル28に向かい、衝突等が発生することを回避することができる。
【0218】
図17は、上記制御則2の制御によって、
図14(B)の状態から移動体10が移動した結果であり、全てのリスクポテンシャル28に対して、1:1の関係で移動体10の移動範囲が対応されることがわかる。
【0219】
以下に、実施例1の作用を
図18のフローチャートに従い説明する。なお、このフローチャートでは、本実施の形態の予測制御で特定した探索領域及び追従領域が、リスクポテンシャル28として設定されていることを前提としている。
【0220】
図18は、本実施の形態に係るリスクポテンシャル監視制御ルーチンを示すフローチャートであり、主として、移動体10の移動制御に特化した流れを示している。
【0221】
ステップ100では、自機の移動体10の情報を収集する。すなわち、領域12(
図13参照)での自機の位置情報を認識すると共に、他機の移動体10へ位置情報を送信する。基地局へ自機の移動体10の情報を送信してもよい。
【0222】
次のステップ102では、他機の移動体10(領域12に存在する自機以外の移動体10)の情報を収集する。すなわち、他機の位置情報を認識し、ステップ104へ移行する。基地局から他機の移動体10の情報を収集してもよい。
【0223】
ステップ104では、制御則1による入力計算を実行する。すなわち、各移動体10のボロノイ領域を逐次設定すると共に、ボロノイ領域内にリスクポテンシャル28が存在する場合は、リスクポテンシャル28を被覆するように移動する制御を実行する。
【0224】
次のステップ106では、自機の移動体10の現状の状況を把握する。すなわち、自機の移動体のボロノイ領域内にリスクポテンシャル28が存在しない状況(状況1)、又は自機の移動体のボロノイ領域のリスクポテンシャル28が移動体の監視面積に比べて小さい(被覆率が1より大きい)状況(状況2)であるか、それ以外かを判断する
【0225】
ステップ106で肯定判定、すなわち、状況1又は状況2であると判断された場合は、ステップ108へ移行して、制御則2による入力計算を実行する。すなわち、自機の移動体10のボロノイ領域外で、被覆率が1を下回る(被覆率<1)リスクポテンシャル28に向けて移動をするか否かを調停し、調停により決定した移動体10が自機のボロノイ領域を逸脱して、当該リスクポテンシャル28へ移動する制御を実行し、ステップ110へ移行する。
【0226】
また、ステップ106で否定判定された場合は、ステップ110へ移行する。
【0227】
ステップ110では、全てのリスクポテンシャル28の被覆が達成したか否かが判断され、肯定判定された場合は、このルーチンは終了する。また、ステップ110で否定判定された場合は、ステップ100へ戻り、上記工程を繰り返す。
【0228】
なお、リスクポテンシャル28の総面積が、複数の移動体10が監視し得る総面積を上回っている場合は、移動体10が掛け持ちをして、時系列でリスクポテンシャル28の情報を得るようにしてもよい。
【0229】
実施例1によれば、複数の移動体10の領域12内での自由移動中の衝突回避を目的として、制御則1に基づきボロノイ領域を設定したことによる、リスクポテンシャル28の被覆率低下を是正するべく、制御則2として、被覆率の低いリスクポテンシャル28への移動を調停し(例えば、早い者勝ち)、ボロノイ領域を逸脱して移動させることで、リスクポテンシャル28の被覆率を向上することができる。
【0230】
(実施例1の作用効果)
【0231】
実施例1では、複数の移動体の集中管理せずに制御する技術として、ボロノイ領域を定義する分散管理技術を適用したものである。
【0232】
複数の移動体を、予め定めた領域内に設定されたリスクポテンシャル28に移動させ、当該リスクポテンシャル28を監視する場合、予め定めた領域をボロノイ領域に分割し、分割した各領域をそれぞれの移動体の担当領域として設定することで、移動体同士の衝突回避が可能となる。
【0233】
ボロノイ領域を定義した技術は、複数の移動体を想定した最適なロジックを提供することができる。また、各移動体に対してきめ細かい起動計画を施す必要がなく、各移動体が近傍とコミュニケーションをとりながら、自律分散的に意思決定することができる。
【0234】
しかしながら、従来のボロノイ領域を定義した自律分散制御では、それぞれの担当する領域に1機の移動体が対応し得るリスクポテンシャル28が存在すればよいが、定常的に、以下のような状況が発生することが予想される。
【0235】
(状況1) 担当領域にリスクポテンシャル28が存在せず、移動体としての監視機能を果たさない(所謂、遊んでいる移動体が存在する)。例えば、自機移動体の担当領域内の各リスクポテンシャル28の不確かさに応じた探索度及び各リスクポテンシャル28の重要度に応じた追従度が各々所定の水準となる場合である。
【0236】
(状況2) 2以上の担当領域に跨って、1機の移動体で監視可能なリスクポテンシャル28が存在する場合に、それぞれの担当領域の移動体が、余力をもって2以上の移動体が監視する。
【0237】
(状況3) 1つの担当領域内に、1機の移動体では監視が不十分となるリスクポテンシャルが存在する。
【0238】
実施例1では、自律分散制御の下、リスクポテンシャル28に対する移動体が監視し得る監視領域の比率である被覆率を向上することができる。
【0239】
(実施例2)
【0240】
本実施の形態において、
図18のフローチャートに基づくリスクポテンシャル監視制御を実行する場合、特に制御則2において、リスクポテンシャル28へ移動する移動体10同士の干渉(衝突)を回避するための調停が必要となる。
図19は、所謂早い者勝ちの法則により、目的のリスクポテンシャル28へ移動する移動体10を決定するようにした実施例2(実施例1をより詳細に記載した実施例2)としての、リスクポテンシャル監視制御ルーチンのフローチャートである。
【0241】
図19に示される如く、ステップ120では、
図13に示す領域12内で初期のボロノイ領域を設定し、次いでステップ122へ移行して移動体10をそれぞれのボロノイ領域内でランダムで移動させ、ステップ124へ移行する。
【0242】
ステップ124では、リスクポテンシャル28の指定があったか否かが判断され、否定判定された場合は、ステップ126へ移行して、自機位置情報を送信すると共に他機位置情報を受信し、次いでステップ128へ移行して移動体10の相対位置に基づき、ボロノイ領域を設定し、ステップ120へ戻る。
【0243】
また、ステップ124で肯定判定された場合は、ステップ130へ移行して、現時点でのボロノイ領域内でのリスクポテンシャル28の有無を検索し、次いで、ステップ132へ移行して、被覆率を演算して、ステップ134へ移行する。
【0244】
ステップ134では、演算された被覆率によって処理を分岐する。
【0245】
すなわち、ステップ134で、被覆率=1と判定された場合は、リスクポテンシャル28の面積と移動体10の監視範囲面積とが1:1であり、制御則1での制御でリスクポテンシャル28の監視が可能と判断し、ステップ136へ移行して、制御則1に基づきリスクポテンシャル28へ移動し、ステップ156へ移行する。この場合、移動体10は、自機のボロノイ領域(担当領域)内で、リスクポテンシャル28を全て被覆できる(
図15(A)の状態参照)。
【0246】
また、ステップ134で、被覆率<1と判定された場合は、ステップ138へ移行して、制御則1に基づき、移動体10を自機のボロノイ領域内のリスクポテンシャル28へ移動させ、次いでステップ140へ移行して、調停情報(リスクポテンシャル28を完全に被覆できていない旨を示す正のリスクポテンシャル)を送信し、ステップ156へ移行する。この場合、移動体10は、自機のボロノイ領域(担当領域)内で、少なくともリスクポテンシャル28の一部は被覆できる(
図15(D)の状態参照)。
【0247】
一方、ステップ134で、被覆率>1(リスクポテンシャル28が存在しない場合を含む)と判定された場合は、他機のボロノイ領域に存在するリスクポテンシャル28を被覆し得ると判断し(
図15(B)及び(C)の状態参照)、ステップ142へ移行して、調停情報(正のリスクポテンシャル)を受信したか否かを判断する。
【0248】
ステップ142で否定判定された場合は、ステップ120へ戻る。また、ステップ142で肯定判定された場合は、ステップ144へ移行して正のリスクポテンシャルへ移動するまでの障害の有無を判別し、次いでステップ146へ移行して、障害の有無を判断する。ステップ146で、「障害有り」と判断された場合は、ステップ120へ戻る。また、ステップ146で、「障害無し」と判断された場合は、ステップ148へ移行して、書替情報(リスクポテンシャル28が被覆されていることを示す負のリスクポテンシャル及び移動軌跡の負ポテンシャル)を受信したか否かを判断する。このステップ148で否定判定されると、ステップ150へ移行する。この時点で、リスクポテンシャル28へ移動する占有権を得たことになる(早い者勝ちの法則)。また、ステップ148で肯定判定された場合は、占有権がないと判断し、ステップ120へ戻る。
【0249】
ステップ150では、制御則2に基づき、リスクポテンシャルへ移動し、次いでステップ152へ移行して、自機位置情報を送信すると共に他機位置情報を受信し、次いでステップ154へ移行して、自機の移動体10が占有権を得たことを宣言するため、調停情報を書替える書替情報(正のリスクポテンシャル→負のリスクポテンシャル)、並びに移動軌跡の負ポテンシャル情報を送信し、ステップ156へ移行する。
【0250】
ステップ156では、移動体10の相対位置に基づき、ボロノイ領域を設定し、次いでステップ158へ移行して、リスクポテンシャル28の監視情報(例えば、撮像情報)を基地局へ送信し、ステップ160へ移行する。ステップ160では、リスクポテンシャル28が解消したか否かを判断し、否定判定された場合は、ステップ158へ戻る。また、ステップ160で肯定判定された場合は、ステップ120へ戻る。
【0251】
(実施例3)
【0252】
図20は、実施例3に係り、移動体10の分散制御システムを、家屋のセキュリティシステムの監視に用いた場合の例である。
【0253】
図20に示される如く、家屋30の周囲には、壁32が設けられており、壁32で囲まれた敷地内を、固定の監視カメラ34で監視している。敷地内には、3台の移動体10を適用しているが、移動体10は、敷地をボロノイ分割し、相互の衝突を回避しながら移動する。
【0254】
例えば、監視カメラ34で不審者36の存在を検知した場合、検知した領域を重点的に監視するために、リスクポテンシャル28を設定する。このとき、ボロノイ領域があった場合、1台の移動体10では、リスクポテンシャル28を十分被覆できないが、制御則2に基づき、3台の移動体10をリスクポテンシャル28へ移動させることができる。
【0255】
なお、敷地に死角が有る場合、当該死角を重点的に監視するようにしてもよい。また、実施例3の監視例では、家屋30の敷地内を監視するようにしたが、駐車場とされた敷地でもよい。駐車場の場合、駐車する車両の台数、位置によって固定の監視カメラの死角が変動するため、移動体10による監視は有効となる。
【0256】
(実施例4)
【0257】
図21は、実施例4に係り、移動体10の分散制御システムを、事故防止のための交差点のモニタリングに用いた場合の例である。
【0258】
図21(A)に示される如く、車両38が走行可能な優先道路40に対して、路地42が交差した交差点44において、優先道路40には監視カメラ46を設置して、車両38の接近を監視する。また、交差点44には、予め領域12を設定し、3台の移動体10を適用しているが、移動体10は、敷地をボロノイ分割し、相互の衝突を回避しながら移動する。
【0259】
例えば、
図21(B)に示される如く、監視カメラ46で車両38の接近を検知した場合、車両56の進行方向側の路地42(
図21(B)の上側の路地42)から自転車48等が飛び出すことを予測して、当該路地42を含む領域を重点的に監視するために、リスクポテンシャル28を設定する。このとき、ボロノイ領域があった場合、1台の移動体10では、リスクポテンシャル28を十分被覆できないが、制御則2に基づき、3台の移動体10をリスクポテンシャル28へ移動させることができる。
【0260】
移動体10で撮影した画像情報は、車両38へ送信されることで、運転者は事前に危険を察知することができる。
【0261】
なお、
図20では家屋30の敷地での監視、及び、
図21では交差点44での事前の危険察知をモニタリングする例を示した、その他の例として、例えば、山やビル等において、通常は広い範囲での監視を複数の移動体10で実行し、災害時に要救助者の位置を特定して、通常の範囲よりも狭い領域をリスクポテンシャルとして指定して、重点的に捜索するレスキュー活動にも適用可能である。
【0262】
(実施例5)
【0263】
ところで、
図17は、リスクポテンシャル28が移動体10の移動前(
図14(B)参照)に対して、位置が変化していない(移動していない)ことを前提としている。以下、移動していないリスクポテンシャル28を静的リスクポテンシャル28という。
【0264】
一方、リスクポテンシャル28は、移動する場合がある。例えば、人、バイク、車両等をリスクポテンシャル28とした場合、それぞれの移動速度で時々刻々と位置が変化することになる。このような、移動が可能なリスクポテンシャル28を、前記静的リスクポテンシャルに対して、「動的リスクポテンシャル28」と定義する。なお、本実施の形態では、静的リスクポテンシャル28、動的リスクポテンシャル28は、同じリスクポテンシャル28であるという観点から、符号は同一とし、必要に応じて、「静的」、「動的」を区別するようにした。
【0265】
動的リスクポテンシャル28は、以下の2種類に分類することができる。
【0266】
(分類1) 動的リスクポテンシャル28は、移動体10の移動速度よりも、最高移動速度が遅い。
【0267】
(分類2) 動的リスクポテンシャル28は、移動体10の移動速度よりも、最高移動速度が速い。
【0268】
分類1の場合は、動的リスクポテンシャル28が直線的に移動したとしても、移動体10は常に追従が可能である。
【0269】
一方、分類2の場合は、動的リスクポテンシャル28が直線的に移動したとき、移動体10は追従できない状況が発生し得る。
【0270】
そこで、実施例5では、前述した制御則1及び制御則2に加え、分類1の状況と分類2の状況とを区別して、分類1では制御則3の追従制御を実行し、分類2では制御則4の追従制御を実行する移動体10の移動制御を構築した。
【0271】
この制御則3又は制御則4は、前述した制御則1及び制御則2の何れの処理においても選択する必要がある。
【0272】
このため、本実施の形態では、リスクポテンシャル監視制御(
図18で詳細を説明)において、制御則1による移動制御のための入力計算、及び制御則2による移動制御のための入力計算の前提処理として、追従のための選択制御(
図22で詳細を説明)を実行している。
【0273】
制御則3又は制御則4の実行は、自機である移動体10の移動速度v1(最高速度)と、追従対象となる動的リスクポテンシャル28の移動速度v2(最高速度)とを比較した結果に基づいて、選択される(v1:v2)。
【0274】
移動体10の移動速度が、動的リスクポテンシャル28の移動速度と同じ又はリスクポテンシャル28の移動速度よりも速いと判定された場合(v1>v2)は、収集したリスクポテンシャル28の推測情報で計算した動的リスクポテンシャル28の位置を目標として追従制御を実行する(制御則3)。
【0275】
すなわち、動的リスクポテンシャル28が直線的に移動しても、移動体10は確実に追従移動が可能となる。
【0276】
一方、移動体10の移動速度が、動的リスクポテンシャル28の移動速度と等しい、又は、動的リスクポテンシャル28の移動速度よりも遅いと判定された場合(v1≦v2)は、収集したリスクポテンシャル28の推測情報で計算した動的リスクポテンシャル28の位置から、さらに、数段階先に移動するであろう(移動すると推測される)推測位置を目標とした追従制御する(制御則4)。
【0277】
すなわち、動的リスクポテンシャル28が直線的に移動した場合、移動体10は動的リスクポテンシャル28に対して、徐々に引き離されていくことになる。
【0278】
ここで、移動体10は追従移動制御にタイムラグがなければ、理論上、v1=v2で追従移動することが可能であるが、実装上は、v1=v2を制御則4の対象とした。
【0279】
このように、制御則4による追従制御では、移動体10の移動軌跡が、動的リスクポテンシャル28の移動軌跡上から逸脱することになるが、例えば、推測位置が重要な経由地点である場合は、その途中の移動軌跡を省略しても、当該推測位置での監視を優先する方が、監視の重要性を確保することができる。
【0280】
上記
図18のリスクポテンシャル監視制御ルーチンにおいて、ステップ104で実行する制御則1による入力計算、及び、ステップ108で実行する制御則2による入力計算の何れにおいても、移動体10とリスクポテンシャル28の移動速度の相関関係(分類1及び分類2)が関与することになる。
【0281】
そこで、
図18のステップ104及びステップ108の実行に際し、追従の制御則の形態(制御則3又は制御則4)を決定する処理(追従のための選択制御)が実行される。
【0282】
図22は、
図18のステップ104の制御則1による入力計算サブルーチン、及び、ステップ108の制御則1による入力計算サブルーチンの制御である追従形態選択制御ルーチンを示すフローチャートである。
【0283】
図22のステップ200では、自機の移動体10の情報を収集し、次いで、ステップ202で、他機の移動体10の情報を収集し、ステップ204へ移行する。
【0284】
ステップ204では、リスクポテンシャル28の推測情報を収集する。例えば、車両に搭載されたナビゲーションシステム等の情報を取得することで、将来の走行状況を把握することができる。
【0285】
次のステップ206では、
図18における移動制御の状態が、ボロノイ領域内かボロノイ領域外かを判断する。
【0286】
ステップ206でボロノイ領域内であると判定された場合は、
図22のサブルーチンは、
図18のステップ104の制御則1の下で実行された制御であると判断し、ステップ208へ移行して制御則1による入力計算を行い、ステップ212へ移行する。
【0287】
また、ステップ206でボロノイ領域外であると判定された場合は、
図22のサブルーチンが、
図18のステップ108の制御則2の下で実行された制御であると判断し、ステップ210へ移行して制御則2による入力計算を行い、ステップ212へ移行する。
【0288】
次のステップ212では、自機である移動体10の移動速度v1(最高速度)と、追従対象となるリスクポテンシャル28の移動速度v2(最高速度)とを比較して、何れかが速いかを判定する(v1:v2)。
【0289】
このステップ212において、移動体10の移動速度が、リスクポテンシャル28の移動速度と同じ又はリスクポテンシャル28の移動速度よりも速いと判定された場合(v1>v2)は、ステップ214へ移行して、ステップ204で収集したリスクポテンシャル28の推測情報で計算したリスクポテンシャル28の位置を目標とした追従制御(制御則3)に設定し、ステップ218へ移行する。
【0290】
また、ステップ212において、移動体10の移動速度が、リスクポテンシャル28の移動速度と等しい、又は、リスクポテンシャル28の移動速度よりも遅いと判定された場合(v1≦v2)は、ステップ216へ移行して、ステップ204で収集したリスクポテンシャル28の推測情報で計算したリスクポテンシャル28の位置から、さらに、数段階先に移動するであろう推測位置を目標とした追従制御(制御則4)に設定しステップ218へ移行する。
【0291】
この場合、移動体10とリスクポテンシャル28を結ぶ線上で離れる方向に移動する場合は追いつかない場合があるが、リスクポテンシャル28が車両であり、移動中に蛇行、右左折、Uターン、停止等が介在される場合は、移動体10は推測位置までショートカット(例えば、先回り)することが可能である。
【0292】
ステップ218では、それぞれで設定された制御入力を実行し、
図22のサブルーチンは終了する(ステップ106又はステップ110へ戻る)。
【0293】
なお、上記ステップ212では、移動体10の移動速度v1(最高速度)が、リスクポテンシャル28の移動速度v2(最高速度)よりも僅かに速ければ、制御則3となるようにした。これは、理論的には問題ないが、実装上において、「移動体10が追従する」という観点から、v1>v2であり、かつ一定以上の速度差Δv(=v1−v2)があることが好ましい。
【0294】
図23に基づき、実施例5の詳細を説明する。
【0295】
図23(A)は、実施例5で説明した制御則3に基づく、移動体10とリスクポテンシャル28の移動を、時系列で示したものである。
【0296】
時間ステップ1において、ボロノイ領域境界線である鎖線26で区画されたそれぞれの領域A1、A2内で、移動体10はリスクポテンシャル28をカバーしている。
【0297】
時間ステップ2〜時間ステップ4において、リスクポテンシャル28が移動したとしても、移動体10の移動速度の方が、リスクポテンシャル28の移動速度よりも速いため、移動体10は、常にリスクポテンシャル28に追従し、カバーすることができる。
【0298】
図23(B)は、実施例5で説明した制御則4に基づく、移動体10とリスクポテンシャル28の移動を、時系列で示したものである。
【0299】
時間ステップ1において、ボロノイ領域境界線である鎖線26で区画されたそれぞれの領域A1、A2内で、移動体10はリスクポテンシャル28をカバーしている。
【0300】
ここで、時間ステップ2において、リスクポテンシャル28が移動体10よりも速く移動すると、移動体10はリスクポテンシャル28に追従しようと移動を開始する。このとき、移動体10は、時間ステップ3及び時間ステップ4を推測して、移動体10は時間ステップ3のリスクポテンシャル28の位置を考慮しつつ、時間ステップ4の位置へショートカットする。これにより、リスクポテンシャル28の位置を見失うことがない。
【0301】
図24は、実施例5に係る制御則4による追従制御の効果を、比較例と比較することで検証した図である。
図24では、ボロノイ領域境界線である鎖線26で区画されたそれぞれの領域A1、A2内でリスクポテンシャル28が第1の位置Aから第2の位置Bへ直線的に移動し、その後、90°方向を変えて第3の位置Cへ移動しているものとする。
【0302】
図24(B)に示す比較例では、移動体10の移動速度がリスクポテンシャル28よりも移動速度よりも遅いため、リスクポテンシャル28が第1の位置Aから移動を開始して第2の位置Bに到達したときと同一時刻に、移動体10は、リスクポテンシャル28の第1の位置Aと第2の位置Bとの間の直線上を移動中となる。
【0303】
その後、リスクポテンシャル28が第3の位置Cに移動するため、移動体10は、リスクポテンシャル28の第1の位置Aと第2の位置Bとの間から、リスクポテンシャル28に向けて移動するが、その途中で、リスクポテンシャル28は第3の位置Cに到達し、追いつかない。最悪は、移動体10はリスクポテンシャルを見失う場合がある。
【0304】
一方、
図24(A)に示す実施例2では、リスクポテンシャル28が第1の位置Aから第2の位置Bへ移動する時点で、第3の位置Cを推測する。このため、移動体10は、第2の位置Bを認識しつつ、円弧状に第3の位置Cへ移動する。
【0305】
このショートカットにより、リスクポテンシャル28が第3の位置に到達する時点で、移動体10も第3の位置Cに到達することができる。なお、時間的に先回りするようにしてもよい。
【0306】
なお、
図24(A)で示した移動体10の円弧状の軌跡は、第2の位置Bを重視する度合いに基づいて円弧の曲率半径等を設定すればよい。第2の位置Bが重要であればあるほど、移動体10は第2の位置Bの近傍を通過することになる。この場合、第3の位置Cへの到達が若干遅れる場合もある。
【0307】
以上説明した如く、実施例5では、移動体10の移動速度と、リスクポテンシャル28の移動速度との関係(分類1又は分類2)で、追従制御の形態(制御則3又は制御則4)を選択し、リスクポテンシャル28の移動軌跡と同一の移動では追いつかない移動体10に対して、リスクポテンシャル28の移動の数ステップ分先を推測して、所謂ショートカット(先回りを含む)するようにしたため、結果的に、リスクポテンシャル28を見失うことがない。また、先回りの軌跡を、リスクポテンシャル28の移動軌跡上の重要度を考慮することで、リスクポテンシャル28の途中の状態も確実に監視することができる。
【0308】
なお、上記全ての実施の形態における領域12(外部環境領域、担当領域)は、陸海空を問わず設定可能である。
【0309】
センシングを目的別で言えば、監視、調査、レスキュー、モニタリング、及び予報等が挙げられる。より具体的には、比較的狭い領域の場合、駐車場での車両や歩行者の監視、交差点での車両の往来のモニタリング、家屋等の不審者監視等がある。また、比較的広い領域の場合、発掘調査、災害現場での遭難者の捜索(レスキュー)、山林の状況管理、天候調査による予報等がある。
【0310】
また、移動体10(アクチュエータ)として、空撮可能なドローンを挙げたが、例えば、車両、ボート等の他の移動体を自律分散制御するようにしてもよい。