(57)【要約】局所通信を使用してエージェントの動きを制御するための方法が提供される。一般的には、各エージェントは、各エージェントに対して（２００）、局所エージェントを選択し（２０２）、前記エージェントに対する距離と角度を測定し（２０４）、距離維持計算を行い（２１８）、各局所エージェントに関する前記距離維持計算を繰り返す（２１８）ことにより、他の局所隣接エージェントからの最適距離を維持する。前記距離維持計算（２１８）においては、引力／斥力マップが、１つのエージェントが他のエージェントに引き付けられるか、または排斥されるかどうかを判定するために使用される。運動ベクトルは前記引力または斥力に対するエージェントの応答を確定するのに使用される。時間の経過につれて、それぞれが他のエージェントから最適に距離をとる中立構成に落ち着く。基準エージェントとリーダーエージェントは他のエージェントの動きを指示するように指定することができ、また、エージェントは望ましくない領域から他のエージェントを排斥するように、ブロッキングビーコンとして指定することができる。
2004505338.tif 000002
【特許請求の範囲】
【請求項１】
複数のエージェントの動きを制御するための方法であって、前記複数のエージェントの１つ１つがそれぞれ、それから一定距離に局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを有しており、また、前記複数のエージェントの１つ１つはそれぞれ、移動性を提供するための手段と、前記少なくとも１つの他の局所的に間隔を置いて配置されているエージェントに対する距離と方向を検出するための手段と、移動性を提供するための前記手段と結合されているプロセッサと、前記エージェントの動きを制御し、前記エージェントと前記少なくとも１つの他の局所的に間隔を置いて配置されているエージェントとの間の前記距離と方向をプロセスする目的で距離と方向を検出するための前記手段と、から成っていて：
ａ．それに対して局所的に間隔を置いて配置されている各他のエージェントからの各エージェントの前記距離と方向を測定するステップと；
ｂ．前記エージェントと、各他の局所的に間隔を置いて配置されているエージェントとの間の前記距離と方向をプロセスするステップと；
ｃ．各他の局所的に間隔を置いて配置されているエージェントからある一定の所定距離を維持するために、前記エージェントと各他の局所的に間隔を置いて配置されているエージェントとの間の前記距離と方向に基づいて距離を維持する運動挙動を用いるステップ。
とを含む前記方法。
【請求項２】
請求項１に記載の複数のエージェントの動きを制御するための方法であって、さらに：
ｉ．前記複数のエージェントの少なくとも１つをブロッキングビーコンとして行動するように指定するステップと；
ｉｉ．ブロッキングビーコンとして行動するように指定された前記エージェントの動きを妨げるステップと；
ｉｉｉ．ブロッキングビーコンとして行動するように指定された前記エージェントに対して局所的に間隔を置いて配置されているエージェントを、前記エージェントから動いて遠ざかるように促し、それによって、ブロッキングビーコンとして指定されている前記エージェントが、その近傍から他のエージェントを排斥するように行動するステップ。
とを含む請求項１に記載されている前記方法。
【請求項３】
請求項１に記載の複数のエージェントの動きを制御するための方法であって、前記エージェントと各他の局所的に間隔を置いて配置されているエージェントとの間の距離をプロセスするステップが、
ｉ．引力領域と斥力領域を含む、各エージェントに対する引力／斥力マップを提供するステップと；
ｉｉ．各他の局所的に間隔を置いて配置されているエージェントに対して、前記他の局所的に間隔を置いて配置されているエージェントが、前記エージェントに対する前記引力領域または前記斥力領域にあるかどうかを前記引力／斥力マップに基づき確定するステップと；
ｉｉｉ．前記エージェントの前記引力領域における各他の局所的に間隔を置いて配置されているエージェントに対して、前記局所的に間隔を置いて配置されているエージェントに向かって前記エージェントの引力を表わすベクトルを生成するステップと；
ｉｖ．前記エージェントの前記斥力領域中に各他の局所的に間隔を置いて位置されているエージェントに対して、前記局所的に間隔を置いて配置されているエージェントから前記エージェントの前記斥力を表わすベクトルを生成するステップと；
ｖ．運動ベクトルを生成するために、前記局所的に間隔を置いて配置されているエージェントの全てに対して展開される前記ベクトルの全てを使用するステップと；そして
ｖｉ．前記運動ベクトルに従って前記エージェントを動かすステップであって、それによって、前記エージェントから各他の局所的に間隔を置いて配置されているエージェントまでの所定の距離を維持するために、距離維持運動挙動を使用するステップを実施するために、前記エージェントに対して向かう先と速度を提供するのに、前記運動ベクトルを使用する前記動かすステップ、
とを含む請求項１に記載されている前記方法。
【請求項４】
請求項３に記載の複数のエージェントの動きを制御するための方法であって、前記エージェントと各他の局所的に間隔を置いて配置されているエージェントとの間の前記距離をプロセスする前記ステップが：
ｉ．各エージェントに対して前記引力／斥力マップに中立領域をさらに提供するステップと；そして
ｉｉ．各局所的に間隔を置いて配置されているエージェントに対して、前記エージェントが局所的に間隔を置いて配置されているエージェントの前記中立領域にある場合は、前記局所的に間隔を置いて配置されているエージェントに向かって中立を表わしているベクトルを生成するステップ。
とをさらに含む請求項３に記載されている前記方法。
【請求項５】
請求項４に記載の複数のエージェントの動きを制御するための方法であって、引力／斥力マップを提供する前記ステップがさらに、エージェントの周囲の一般的には同心円状前記引力領域と、前記中立領域と、前記斥力領域を構成する前記サブステップから成り、前記斥力領域は、前記エージェントにもっとも近くに存在し、前記引力領域は、前記エージェントからもっとも遠ざかって存在し、また、前記中立領域は、前記斥力領域と前記引力領域との間に存在し、それによって前記引力領域と斥力領域は、１つのエージェントに向かってまたは前記エージェントから動くように仕向けて、また、前記中立領域は、エージェントに向かって、または前記エージェントから動かないように仕向けて、こうして、前記複数のエージェントの前記それぞれが、それから局所的に間隔を置いて配置されている各他のエージェントからの所定の距離を維持するように行動することを含む請求項４に記載されている前記方法。
【請求項６】
請求項５に記載の複数のエージェントの動きを制御するための方法であって、引力／斥力マップを提供する前記ステップはさらに、引力強度を備えた前記引力領域と、斥力強度を備えた前記斥力領域とを構成する前記サブステップから成り、また、前記引力強度と前記斥力強度は、前記エージェントからの前記距離の関数であることを特徴とし、また、前記引力強度が、前記局所的に間隔を置いて配置されているエージェントに対する前記エージェントの引力をあらわす前記ベクトルを生成する際に使用されることを含み、また、前記斥力領域が前記局所的に間隔を置いて配置されているエージェントから前記エージェントの斥力を表わしている前記ベクトルを生成する際に使用されることを含む請求項５に記載されている前記方法。
【請求項７】
請求項３に記載の複数のエージェントの動きを制御するための方法であって、前記エージェントは１つの領域の中に分配され、また、距離維持運動挙動を使用する前記ステップがさらに：
ａ．１つのリーダーとして前記複数のエージェントの１つを指定するステップ；そして
ｂ．前記リーダーが前記局所的に間隔を置いて配置されているエージェントから動いてさらに離れ、一方、前記局所的に間隔を置いて配置されているエージェントが、前記リーダーに向かうように促されており、それによって、前記リーダーは、前記他のエージェントから動いて遠ざかっていき、また、前記他のエージェントは前記リーダーを追随するように、前記引力／斥力マップを調節するステップ。
とを含む請求項３に記載されている前記方法。
【請求項８】
請求項７に記載の複数のエージェントの動きを制御するための方法であって、提供されているエージェントの数が互いからの前記所定距離を維持しながら前記領域を満たすには不十分であるときに、前記リーダー指定ステップのトリガーが引かれることを含む請求項７に記載されている前記方法。
【請求項９】
請求項７に記載の複数のエージェントの動きを制御するための方法であって、前記リーダーを指定するステップがユーザーコマンドにより明示的にトリガーを引かれることを含む請求項７に記載されている前記方法。
【請求項１０】
請求項７に記載の複数のエージェントの動きを制御するための方法であって、（ａ）ユーザーコマンドにより前記リーダーを明示的に選択するステップと、（ｂ）無作為選択プロセスによりリーダーを選択するステップと、（ｃ）反復無作為選択プロセスによりリーダーを選択するステップと、（ｄ）バイアス無作為選択により前記リーダーを選択するステップとで構成されたグループから選択されるステップにより、前記リーダーとして機能させる前記特定のエージェントが決定されることを含む請求項７に記載されている前記方法。
【請求項１１】
請求項１０に記載の複数のエージェントの動きを制御するための方法であって、前記指定ステップは、新しいリーダーを指定するトリガーとなる出来事に際して周期的に反復されることを含む請求項１０に記載されている前記方法。
【請求項１２】
請求項１１に記載の複数のエージェントの動きを制御するための方法であって、前記リーダー指定ステップにはさらに、トリガーとなる出来事の発生まで、前記リーダー指定ステップの前記反復を防ぐために抑制信号を前記リーダーから送信する前記サブステップが含まれることを含む請求項１１に記載されている前記方法。
【請求項１３】
請求項１２に記載の複数のエージェントの動きを制御するための方法であって、前記リーダーからの前記ほぼ同じ距離を信号が示しており、また、前記抑制の前記送信の停止時に、前記無作為選択プロセスは再開するように仕向けられるが、前記リーダーからはもっとも離れているエージェントに優先してバイアスをかけられるように前記リーダーから送信された前記抑制信号が中継されていくことを特徴とする請求項１２に記載されている前記方法。
【請求項１４】
請求項１２に記載の複数のエージェントの動きを制御するための方法であって、前記リーダーからの前記ほぼ同じ距離を信号が示しており、また、十分な距離では前記指定ステップの前記反復を防ぐには非効果的であるように、前記リーダーから送信された前記抑制信号が中継されていくことを含む請求項１２に記載されている前記方法。
【請求項１５】
請求項３に記載の複数のエージェントの動きを制御するための方法であって、さらに、前記それぞれの基準エージェントから距離推定を提供するようなやり方で前記複数のエージェントにより中継されるユニークな基準信号を送信する各基準エージェントによって、基準エージェントとして少なくとも１つのエージェントを指定する前記ステップを含む請求項３に記載されている前記方法。
【請求項１６】
請求項１５に記載の複数のエージェントの動きを制御するための方法であって、前記基準エージェント指定ステップでは、２つのエージェントが基準エージェントとして指定され、それぞれのエージェントが前記それぞれの基準エージェントから距離推定を提供するようなやり方で前記複数のエージェントにより中継されるユニークな基準信号を送信することを含み、少なくとも前記他のエージェントの一部が前記２つの基準信号の前記距離推定値の間で等値を維持するように動くことにより前記少なくとも１つの基準信号に応答することを含む請求項１５に記載されている前記方法。
【請求項１７】
複数のエージェントから成る複数の制御運動エージェントであって、それぞれの前記エージェントがそれから一定の距離で局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを有し、前記複数のエージェントの１つ１つそれぞれが移動性を提供するための手段を含む複数のエージェントと、前記少なくとも１つのほかの局所的に間隔を置いて配置されるエージェントに対する距離と方向を検出するための手段と、移動性を提供するための前記手段に結合されるプロセッサと、前記エージェントの前記運動を制御し、また、前記エージェントと前記少なくとも１つのほかの局所的に間隔を置いて配置されているエージェントとの間の前記距離と方向をプロセスするために、距離と方向を検出するための前記手段と、を含む複数の制御運動エージェントであって、各エージェントはそれに対して局所的に間隔を置いて配置されている各他のエージェントの前記距離と方向を測定し、また、前記エージェントと前記各他の局所的に間隔を置いて配置されているエージェントとの間の前記距離と方向をプロセスし、各他の局所的に間隔を置いて配置されているエージェントからの一定の所定距離を維持するように操作されることを含む前記複数の制御運動エージェント。
【請求項１８】
請求項１７に記載の複数のエージェントから成る複数の制御運動エージェントであって、前記複数のエージェントは、ブロッキングビーコンとして行動するように前記複数のエージェントの１つを指定し、ブロッキングビーコンとして行動するように指定された前記エージェントの動きを防ぎ、また、ブロッキングビーコンとして行動するように指定された前記エージェントに対して局所的に間隔を置いて配置されているエージェントをそれから動いて離れるよう促すようにさらに操作され、それによって、ブロッキングビーコンとして指定された前記エージェントがその近傍から他のエージェントを排斥するように行動することを含む請求項１７に記載されている前記複数の制御運動エージェント。
【請求項１９】
請求項１７に記載の複数のエージェントから成る複数の制御運動エージェントであって、前記エージェントと各他の局所的に間隔を置いて配置されているエージェントとの間の前記距離の前記測定に関しては、各エージェントにはさらに引力領域と斥力領域とを含む各エージェントに関する引力／斥力マップを含む；そこでは、各他の局所的に間隔を置いて配置されているエージェントに関して、各他の局所的に間隔を置いて配置されているエージェントに対して前記エージェントが前記引力領域または前記斥力領域にあるのかどうかを前記引力／斥力マップに基づいて測定するために各エージェントが操作される；各他の局所的に間隔を置いて配置されているエージェントに関して、前記エージェントが局所的に間隔を置いて配置されているエージェントの前記引力領域にある場合、前記エージェントは、前記局所的に間隔を置いて配置されているエージェントに向かう前記エージェントの引力を表わすベクトルを生成するために操作される；各他の局所的に間隔を置いて配置されているエージェントに関して、前記エージェントが局所的に間隔を置いて配置されているエージェントの前記斥力領域にある場合、前記エージェントは、前記局所的に間隔を置いて配置されているエージェントに向かう前記エージェントの斥力をあらわすベクトルを生成するために操作される；但し、運動ベクトルを生成するために前記局所的に間隔を置いて配置されているエージェントの全てに対して展開される前記ベクトルの全てを使用するように、前記エージェントが操作されることを特徴とし；また前記運動ベクトルは前記エージェントから各他の局所的に間隔を置いて配置されているエージェントまでの一定の所定距離を維持するために、距離維持運動挙動を使用する前記ステップを行うために、前記エージェントに関する向かい先と速度を提供するのに使用され、それによって、距離維持運動挙動を提供することを特徴とする請求項１７に記載されている前記複数の制御運動エージェント。
【請求項２０】
請求項１９に記載の複数のエージェントから成る複数の制御運動エージェントであって、前記エージェントが局所的に間隔を置いて配置されているエージェントの前記中立領域にある場合、各局所的に間隔を置いて配置されているエージェントが前記局所的に間隔を置いて配置されているエージェントに向かって中立を表わすベクトルを生成するという結果を生じる中立領域が各エージェントに関する前記引力／斥力マップには含まれることを特徴とする請求項１９に記載されている前記複数の制御運動エージェント。
【請求項２１】
請求項２０に記載の複数のエージェントから成る複数の制御運動エージェントであって、前記引力／斥力領域マップの前記引力領域と、前記中立領域と、前記斥力領域は、前記エージェントにもっとも近くに存在する前記斥力領域と、前記エージェントからもっとも離れて存在する前記引力領域と、前記斥力領域と前記引力領域との間に存在する前記中立領域とにより、１つのエージェントの周囲の一般的には同心円状のリングとして形成され、それによって、前記引力領域と斥力領域は、１つのエージェントに向かうまたは前記エージェントからの動きを引き起こし、また、前記中立領域は１つのエージェントに向かう、または前記エージェントからの動きを引き起こさず、そのようにして、前記複数のエージェントの前記それぞれ１つ１つは、それから局所的に間隔を置いて配置されている各他のエージェントから一定の所定距離を維持することを含む請求項２０に記載されている前記複数の制御運動エージェント。
【請求項２２】
請求項２１に記載の複数のエージェントから成る複数の制御運動エージェントであって、前記引力／斥力マップでは、前記引力領域は、引力強度により構成され、また、前記斥力領域は斥力強度により構成されることを特徴とし、また、前記引力強度と前記斥力強度は前記エージェントからの前記距離の関数であることを特徴とし、また、前記引力強度は、前記局所的に間隔を置いて配置されているエージェントに対する前記エージェントの引力を表わす前記ベクトルを生成するのに使用されることを特徴とし、また、前記斥力強度は前記局所的に間隔を置いて配置されているエージェントに対する前記エージェントの斥力を表わす前記ベクトルを生成するのに使用されることを特徴とする請求項２１に記載されている前記複数の制御運動エージェント。
【請求項２３】
請求項１９に記載の複数のエージェントから成る複数の制御運動エージェントであって、前記複数のエージェントの１つがリーダーとして指定されることを特徴とし、また、前記リーダーが、前記リーダーに向かうよう促されている前記局所的に間隔を置いて配置されているエージェントにより、前記リーダーが前記局所的に間隔を置いて配置されているエージェントから動いて遠ざかっていくように、前記リーダーの前記引力／斥力マップが調節され、それによって、前記リーダーが、前記他のエージェントから動いて離れていき、また、前記他のエージェントが前記リーダーを追随することを特徴とする請求項１９に記載されている前記複数の制御運動エージェント。
【請求項２４】
請求項２３に記載の複数のエージェントから成る複数の制御運動エージェントであって、提供されているエージェントの数が、互いからの前記所定距離を維持しながら、前記領域を満たすのには不十分であるときに、前記リーダーの前記指定がトリガーを引かれることを特徴とする請求項２３に記載されている前記複数の制御運動エージェント。
【請求項２５】
請求項２３に記載の複数のエージェントから成る複数の制御運動エージェントであって、前記リーダーの前記指定がユーザーコマンドにより明示的にトリガーを引かれることを特徴とする請求項２３に記載されている前記複数の制御運動エージェント。
【請求項２６】
請求項２３に記載の複数のエージェントから成る複数の制御運動エージェントであって、前記リーダーは、（ａ）ユーザーコマンドにより明示的に、（ｂ）無作為選択プロセスにより、（ｃ）反復無作為選択プロセスにより、（ｄ）バイアス無作為選択による方法から構成されるグループから選択されるやり方で指定されることを含む請求項２３に記載されている前記複数の制御運動エージェント。
【請求項２７】
請求項２６に記載の複数のエージェントから成る複数の制御運動エージェントであって、前記リーダーは新しいリーダーを指定するようトリガーとなる出来事の際に、周期的に再指定されることを含む請求項２６に記載されている前記複数の制御運動エージェント。
【請求項２８】
請求項２７に記載の複数のエージェントから成る複数の制御運動エージェントであって、前記リーダーは、トリガーとなる出来事の発生まで、前記リーダーの前記再指定を防ぐために抑制信号を送信することを含む請求項２７に記載されている前記複数の制御運動エージェント。
【請求項２９】
請求項２８に記載の複数のエージェントから成る複数の制御運動エージェントであって、前記リーダーからの前記ほぼ同じ距離をそれが示し、また、前記抑制信号の前記送信の停止時に、前記無作為選択プロセスが、再開するように仕向けるが、前記リーダーからもっとも離れているエージェントを優先してバイアスがかけられるように、前記リーダーから送信された前記抑制信号が前記リーダーから中継されていくことを含む請求項２８に記載されている前記複数の制御運動エージェント。
【請求項３０】
請求項２８に記載の複数のエージェントから成る複数の制御運動エージェントであって、それが前記リーダーからの前記ほぼ同じ距離を示し、また、十分な距離で前記リーダーの前記再指定を防ぐのには効果的ではないように、前記リーダーから送信された前記抑制信号は、前記リーダーから中継されていくことを含む請求項２８に記載されている前記複数の制御運動エージェント。
【請求項３１】
請求項１９に記載の複数のエージェントから成る複数の制御運動エージェントであって、少なくとも１つのエージェントは、前記それぞれの基準エージェントからの距離推定を提供するといったやり方で前記複数のエージェントにより中継されるユニークな基準信号を送信する各基準エージェントによって基準エージェントとして指定されることを特徴とし、また、少なくとも前記他のエージェントの一部は前記基準信号の前記距離推定値の関数として測定されるやり方で動くことにより前記少なくとも１つの基準信号に応答することを含む請求項１９に記載されている前記複数の制御運動エージェント。
【請求項３２】
請求項３１に記載の複数のエージェントから成る複数の制御運動エージェントであって、２つのエージェントが基準エージェントとして指定され、各エージェンは、前記それぞれの基準エージェントからの距離推定値を提供するといったようなやり方で前記複数のエージェントにより中継されるユニークな基準信号を送信することを特徴とし、また、少なくとも前記他のエージェントの一部が前記２つの基準信号の前記距離推定値の間の等値を維持するように、動くことにより前記少なくとも１つの基準信号に応答することを含む請求項３１に記載されている前記複数の制御運動エージェント。
【請求項３３】
前記制御運動エージェントから一定距離で局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを含む複数のエージェントで使用される制御運動エージェントであって、前記制御運動エージェントは、移動性を提供するための手段と、前記少なくとも１つの他の局所的に間隔を置いて配置されるエージェントに対する距離と方向を検出するための手段と、移動性を提供するための前記手段に結合されるプロセッサと、前記エージェントの前記運動を制御し、また、前記エージェントと前記少なくとも１つの他の局所的に間隔を置いて配置されているエージェントとの間の前記距離と方向をプロセスするために、距離と方向を検出するための前記手段と、から成る複数の制御運動エージェントであって、前記エージェントはそれに対して局所的に間隔を置いて配置されている各他のエージェントの前記距離と方向を測定し、また、前記エージェントと前記各他の局所的に間隔を置いて配置されているエージェントとの間の前記距離と方向をプロセスし、また、各他の局所的に間隔を置いて配置されているエージェントからの一定の所定距離を維持するように操作されることを含む前記制御運動エージェント。
【請求項３４】
請求項３３に記載の前記制御運動エージェントから一定距離で局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを含む複数のエージェントにおいて使用される制御運動エージェントであって、前記エージェントはブロッキングビーコンとして指定されうるものであることを特徴とし、前記エージェントは運動を停止し、また、それから動いて遠ざかっていくように局所的に間隔を置いて配置されているエージェントを促し、それによってブロッキングビーコンとして指定されている前記エージェントがその近傍から他のエージェントを排斥するように行動することを含む請求項３３に記載されている前記制御運動エージェント。
【請求項３５】
請求項３３に記載の前記制御運動エージェントから一定距離で局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを含む複数のエージェントにおいて使用される制御運動エージェントであって、前記エージェントと各他の局所的に間隔を置いて配置されているエージェントとの間の前記距離の前記確定に関しては、前記エージェントにはさらに引力領域と斥力領域とを含む各エージェントに関する引力／斥力マップを含む；そこでは、各他の局所的に間隔を置いて配置されているエージェントに関して、各他の局所的に間隔を置いて配置されているエージェントに対して前記エージェントが前記引力領域または前記斥力領域にあるのかどうかを前記引力／斥力マップに基づいて測定するために前記エージェントが操作される；各他の局所的に間隔を置いて配置されているエージェントに関して、前記エージェントが局所的に間隔を置いて配置されているエージェントの前記引力領域にある場合、前記エージェントは、前記局所的に間隔を置いて配置されているエージェントに向かう前記エージェントの引力をあらわすベクトルを生成するために操作される；各他の局所的に間隔を置いて配置されているエージェントに関して、前記エージェントが局所的に間隔を置いて配置されているエージェントの前記斥力領域にある場合、前記エージェントは、前記局所的に間隔を置いて配置されているエージェントに向かう前記エージェントの斥力をあらわすベクトルを生成するために操作される；但し、運動ベクトルを生成するために前記局所的に間隔を置いて配置されているエージェントの全てに対して展開される前記ベクトルの全てを使用するように、前記エージェントが操作される；また、前記運動ベクトルは前記エージェントから各他の局所的に間隔を置いては位置されているエージェントまでの一定の所定距離を維持するために、距離維持運動挙動を使用する前記ステップを行うために、前記エージェントに関する向かい先と速度を提供するのに使用され、それによって距離維持運動挙動を提供することを含む請求項３３に記載されている前記制御運動エージェント。
【請求項３６】
請求項３５に記載の前記制御運動エージェントから一定距離で局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを含む複数のエージェントにおいて使用される制御運動エージェントであって、前記エージェントに関する前記引力／斥力マップには、前記エージェントが局所的に間隔を置いて配置されているエージェントの前記中立領域にある場合、各局所的に間隔を置いて配置されているエージェントに向かって中立を表わすベクトルを生成するという結果を生じる中立領域が含まれることを特徴とする請求項３５に記載されている前記制御運動エージェント。
【請求項３７】
請求項３６に記載の前記制御運動エージェントから一定距離で局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを含む複数のエージェントにおいて使用される制御運動エージェントであって、前記引力／斥力領域マップの前記引力領域と、前記中立領域と、前記斥力領域は、１つのエージェントの周囲の一般的には同心円状のリングとして前記エージェントにもっとも近くに存在する前記斥力領域と、前記エージェントからもっとも離れて存在する前記引力領域と、前記斥力領域と前記引力領域との間に存在する前記中立領域により形成され、それによって、前記引力領域と斥力領域は、１つのエージェントに向かうまたは前記エージェントからの動きを引き起こし、また、前記中立領域は１つのエージェントに向かう、または前記エージェントからの動きを引き起こさず、そのようにして、前記複数のエージェントの前記それぞれ１つ１つは、それから局所的に間隔を置いて配置されている各他のエージェントから一定の所定距離を維持することを含む請求項３６に記載されている前記制御運動エージェント。
【請求項３８】
請求項３７に記載の前記制御運動エージェントから一定距離で局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを含む複数のエージェントにおいて使用される制御運動エージェントであって、前記引力／斥力マップでは、前記引力領域は引力強度により構成され、また、前記斥力領域は斥力強度により構成されることを特徴とし、また、前記引力強度と前記斥力強度は前記エージェントからの前記距離の関数であることを特徴とし、また、前記引力強度は前記局所的に間隔を置いて配置されているエージェントに対する前記エージェントの引力を表わす前記ベクトルを生成するのに使用されることを特徴とし、また、前記斥力強度は前記局所的に間隔を置いて配置されているエージェントに対する前記エージェントの斥力を表わす前記ベクトルを生成するのに使用されることを含む請求項３７に記載されている前記制御運動エージェント。
【請求項３９】
請求項３５に記載の前記制御運動エージェントから一定距離で局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを含む複数のエージェントにおいて使用される制御運動エージェントであって、前記エージェントが１つの領域に分配されることを特徴とし、また、前記エージェントがリーダーとして指定されうるものであることを特徴とし、また、前記リーダーに向かうよう促された前記局所的に間隔を置いて配置されているエージェントとともに前記局所的に間隔を置いて配置されているエージェントから動いてさらに遠ざかっていくように、前記リーダーの前記引力／斥力マップが調節され、それによって前記リーダーが、前記他のエージェントから動いて離れていき、また、前記他のエージェントが前記リーダーを追随することを含む請求項３５に記載されている前記制御運動エージェント。
【請求項４０】
請求項３９に記載の前記制御運動エージェントから一定距離で局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを含む複数のエージェントにおいて使用される制御運動エージェントであって、提供されたエージェントの数が、互いからの前記所定距離を維持しながら、前記領域を満たすのには不十分であるときに、前記リーダーの前記指定がトリガーを引かれることを含む請求項３９に記載されている前記制御運動エージェント。
【請求項４１】
請求項３９に記載の前記制御運動エージェントから一定距離で局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを含む複数のエージェントにおいて使用される制御運動エージェントであって、前記リーダーの前記指定がユーザーコマンドにより明示的にトリガーを引かれることを含む請求項３９に記載されている前記制御運動エージェント。
【請求項４２】
請求項３９に記載の前記制御運動エージェントから一定距離で局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを含む複数のエージェントにおいて使用される制御運動エージェントであって、前記リーダーは、（ａ）ユーザーコマンドにより明示的に、（ｂ）無作為選択プロセスにより、（ｃ）反復無作為選択プロセスにより、（ｄ）バイアス無作為選択による方法から構成されたグループから選択されるやり方で指定されることを含む請求項３９に記載されている前記制御運動エージェント。
【請求項４３】
請求項４２に記載の前記制御運動エージェントから一定距離で局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを含む複数のエージェントにおいて使用される制御運動エージェントであって、前記リーダーは新しいリーダーを指定するようトリガーとなる出来事の際に、周期的に再指定されることを含む請求項４２に記載されている前記制御運動エージェント。
【請求項４４】
請求項４３に記載の前記制御運動エージェントから一定距離で局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを含む複数のエージェントにおいて使用される制御運動エージェントであって、前記リーダーは、トリガーとなる出来事の発生まで、前記リーダーの前記再指定を防ぐために抑制信号を送信することを含む請求項４３に記載されている前記制御運動エージェント。
【請求項４５】
請求項４４に記載の前記制御運動エージェントから一定距離で局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを含む複数のエージェントにおいて使用される制御運動エージェントであって、前記リーダーからの前記ほぼ同じ距離を前記信号が示し、また、前記抑制信号の前記送信の停止時に、前記無作為選択プロセスが再開するように仕向けられるが、前記リーダーからもっとも離れているエージェントに優先してバイアスがかけられるように前記リーダーから送信された前記抑制信号が前記リーダーから中継されていくことを含む請求項４４に記載されている前記制御運動エージェント。
【請求項４６】
請求項４４に記載の前記制御運動エージェントから一定距離で局所的に間隔を置いて配置されている少なくとも１つの他のエージェントを含む複数のエージェントにおいて使用される制御運動エージェントであって、信号が前記リーダーからの前記ほぼ同じ距離を示し、また、十分な距離で前記リーダーの前記再指定を防ぐのには効果的ではないように、前記リーダーから送信された前記抑制信号が前記リーダーから中継されていくことを含む請求項４４に記載されている前記制御運動エージェント。
【請求項４７】
請求項１９に記載の複数のエージェントから成る複数の制御運動エージェントであって、少なくとも１つのエージェントは、前記それぞれの基準エージェントからの距離推定を提供するといったやり方で前記複数のエージェントにより中継されるユニークな基準信号を送信する各基準エージェントによって基準エージェントとして指定されることを特徴とし、少なくとも前記他のエージェントの一部は、前記基準信号の前記距離推定値の関数として測定されるやり方で動くことにより前記少なくとも１つの基準信号に応答することを含む請求項１９に記載されている前記制御運動エージェント。
【請求項４８】
請求項１９に記載の複数のエージェントから成る複数の制御運動エージェントであって、２つのエージェントが基準エージェントとして指定され、各エージェントは、前記それぞれの基準エージェントからの距離推定値を提供するといったようなやり方で前記複数のエージェントにより中継されるユニークな基準信号を送信することを特徴とし、少なくとも前記他のエージェントの一部が、前記２つの基準信号の前記距離推定値の間の等値を維持するように、動くことにより前記少なくとも１つの基準信号に応答することを含む請求項３１に記載されている前記制御運動エージェント。
【発明の詳細な説明】
【０００１】
【連邦に帰属するべき権利についての記載】
本発明は、ＤＡＲＰＡ　ＩＴＯ契約第Ｎ６６００１−９９−Ｃ−８５１４号、「フェモロン・ロボティックス（Ｐｈｅｒｏｍｏｎｅ　Ｒｏｂｏｔｉｃｓ）」においての米国政府との契約によって執り行った研究に関係し、米国政府は本発明にある一定の権利を有する。
【優先権主張】
本出願は、「大規模ロボット群に対する緊急運動制御（Ｅｍｅｒｇｅｎｔ　Ｍｏｖｅｍｅｎｔ　Ｃｏｎｔｒｏｌ　ｆｏｒ　Ｌａｒｇｅ　Ｇｒｏｕｐ　ｏｆ　Ｒｏｂｏｔｓ）」と題されて２０００年７月１０日に米国において仮出願された第６０／２１７，２３２号、および「分布埋込み式プロセシング素子による地面推論（Ｔｅｒｒａｉｎ　Ｒｅａｓｏｎｉｎｇ　ｗｉｔｈ　Ｄｉｓｔｒｉｂｕｔｅｄ　Ｅｍｂｅｄｄｅｄ　Ｐｒｏｃｅｓｓｉｎｇ　Ｅｌｅｍｅｎｔｓ）」と題されて２０００年７月１０日に米国において仮出願された第６０／２１７，２２６号に対する優先権の恩恵を主張する。
【０００２】
【発明の属する技術分野】
本発明は、大規模なエージェント群に対する動きを制御するという分野に関する。さらに詳細には、この開示は局所低帯域通信を使用して複数のエージェントの動きを制御するための方法を提示する。
【０００３】
【従来の技術及び発明が解決しようとする課題】
エージェントを制御することに対するアプローチとしては、過去数十年にわたり個々のエージェントと中央データベースに対して焦点が当っていた。その結果、エージェントとセンサの伝統的な制御としては、単一の移動エージェントまたは少数のエージェントを構成して、前記エージェントまたは諸エージェントのパス計画と制御を容易にするために事前構築されたデジタルマップを用いる形態が採られて来た。幾何学的コンピューター計算のためにデジタルマップを事前構築するには、大規模な土地／環境中央データベースの開発が必要であった。このような中央データベースでの代表的なコンピューター計算には、目的地までの最短パスや目的地までのルートの決定が含まれる。これらアプローチの諸方法に該当する情報は、米国特許第４，１１９，９００号、第４，８８２，６９４号、第５，１６５，０６４号および第５，１７０，３５１号に見出すことができる。
【０００４】
しかし、これら引用例のそれぞれが開示しているエージェント制御システムは以下の１つまたはそれ以上の欠点に悩まされている。すなわち、１）エージェントが固定された表面領域内で方向付けられている、２）システムが距離維持という幅の狭いアプリケーションしか許容していない、３）システムにはマスターステーションとエージェントを位置決めする手段が必要である、４）システムには移動エージェントを位置決めするカメラが必要である、５）移動エージェントに対しては超音波トランスデューサの配列を用いることが必要である、６）各エージェントは１つの大きなマスター・ステーション・データベースにより個別に制御され、モニターされる、７）各エージェントは作動スペースの１つのセクターをモニターする。したがって、こうした限界を克服するための方法および装置が提供されることが望ましい。
【０００５】
本発明は複数のエージェントの動きを制御するための方法と装置を提供する。特に、本発明は引力と斥力の範囲を設定してエージェント間の所定の距離を維持するために、明示的（信号の中に埋め込まれている情報など）あるいは暗黙的（送信出力のようなその信号の固有特性など）かのいずれかの信号の一定の範疇にある通信メカニズムを使用することによりその制御メカニズムを提供する。
【０００６】
【課題を解決するための手段】
本発明は、複数のエージェントの動きを制御するための方法を提供し、そこでは、前記複数のエージェントの中の１つ１つそれぞれがそこから局所的にある距離を置いて配置されている少なくとも１つの他のエージェントを有する。前記複数のエージェントのそれぞれは、移動性を提供する手段と、前記少なくとも１つの他の局所的に間隔を置いて配置されているエージェントに対する距離と方向を検出するための手段と、移動性を提供するための前記手段および距離と方向を検出するための前記手段とに結合されていて、前記エージェントの動きを制御し、前記エージェントと前記少なくとも１つの他の局所的な間隔を置いて配置されているエージェントとの間の前記距離と方向をプロセスするためのプロセッサ、を包含する。
【０００７】
１つの実施態様では、各エージェントと局所的に間隔を置いて配置されている各他のエージェントとの間の距離と方向を特定するステップと、前記エージェントと局所的に間隔を置いて配置されている各他のエージェントとの間の距離と方向をプロセスするステップと、各他の局所的に間隔を置いて配置されたエージェントからの所定距離を維持するために、前記エージェントと各他の局所的に間隔を置いて配置されているエージェントとの間の前記距離と方向に基づく距離維持運動挙動を使用するステップを包含する方法である。
【０００８】
上記に加えて前記方法はさらに、前記複数のエージェントの１つをブロッキング・ビーコンとして行動するように指定するステップと、ブロッキングビーコンとして行動するように指定された前記エージェントの動きを予防するステップと、ブロッキングビーコンとして行動するように指定された前記エージェントに対して局所的に間隔を置いて配置されているエージェントをそれから遠ざかるように促すステップを包含することが出来、それによって、ブロッキングビーコンとして指定された前記エージェントが他のエージェントをその近傍から排斥する。
【０００９】
前記エンジェントと他の局所的に間隔を置いて配置されている各々のエージェントとの間の前記距離をプロセスするステップは、引力領域と斥力領域を含む各エージェントに対する引力／斥力マップを提供することにより行うことが可能である；すなわち、他の局所的に間隔を置いて配置されている各々のエージェントに対して、前記エージェントが前記他の局所的に間隔を置いて配置されているエージェントを基準にして前記引力領域にあるかまたは前記斥力領域にあるかを、前記引力／斥力マップに基づいて確定し；他の局所的に間隔を置いて配置されている各々のエージェントに対して、前記エージェントが局所的に間隔を置いて配置されているエージェントの前記引力領域にある場合には、前記局所的に間隔を置いて配置されているエージェントに向う前記エージェントの引力を表現するベクトルを生成し；他の局所的に間隔を置いて配置されている各々のエージェントに対して、前記エージェントが前記斥力領域にある場合には、前記局所的に間隔を置いて配置されているエージェントからの前記エージェントの前記斥力を表現するベクトルを生成し；前記局所的に間隔を置いて配置されているエージェントの全てに対して展開されたベクトルの全てを使用することにより運動ベクトルを生成し、ここで、前記エージェントから他の局所的に間隔を置いて位置されている各々のエージェントまでの所定距離を維持するように、距離維持運動挙動を使用するステップを実行するために、前記エージェントに対して向かう方向と速度を提供し、かくして距離維持運動挙動が提供される。
【００１０】
さらに、前記エージェントと他の局所的に間隔を置いて配置されている各々のエージェントとの間の前記距離をプロセスするステップにはさらに、各エージェントに関する前記引力／斥力マップに中立領域を提供するステップを含むことが出来る；また他の局所的に間隔を置いて配置されている各々のエージェントに対して、前記エージェントが局所的に間隔を置いて配置されているエージェントの中立領域にある場合は、前記局所的に間隔を置いて配置されているエージェントに向かって中立を表現するベクトルが生成される。
【００１１】
さらなるステップでは、前記引力、斥力および中立領域は、前記エージェントに対してもっとも近くに存在する前記斥力領域と、前記エージェントからもっとも遠くに存在する前記引力領域と、前記斥力領域と前記引力領域との間に存在する前記中立領域とにより、ある１つのエージェントの周囲にある同心円状のリングとして一般的には構成されうるものである。
【００１２】
これは、前記複数のエージェントの１つ１つそれぞれを、それから局所的に間隔を置いて配置されている他のエージェントの各々から一定の所定距離を維持するように仕向けるのを手助けする。諸領域は特定の方向では減少する関数として定義されうる。例えば、前記引力領域では、距離を増加させるとそれにつれて引力がより強くなるように前記引力は調整されうるものであり、他方、前記斥力領域では、距離を増加すると、それにつれて斥力がより弱くなるように、前記斥力は調整されうる。
【００１３】
前記諸エージェントの中で、１つはリーダーとして指定されうるものであり、また前記リーダーに対する前記引力／斥力マップは調節されて、前記リーダーは前記局所的に間隔を置いて配置されているエージェントから遠ざかり、一方前記局所的に間隔を置いて配置されているエージェントはリーダーの方へ迫る。これによりリーダーは他のエージェントから遠ざかり、他のエージェントはリーダーに追随することになる。
【００１４】
前記リーダーの指定は、さまざまな出来事により誘発され、例えば、供給されているエージェントの数が相互間の所定距離を維持しながら当該領域を満たすには不十分であるときなどである。前記リーダーの指定はまたユーザーコマンドにより明示的に引き越すことが出来る。
【００１５】
前記リーダーの指定は、リーダーを選択するという実際のプロセスをスタートさせるものとして定義される。リーダーの実際の選択は多くのやり方で実施することが可能であり、いくつかの例には（ａ）ユーザーコマンドにより明示的にリーダーを選択すること、（ｂ）無作為の選択プロセスによりリーダーを選択すること、（ｃ）反復無作為選択プロセスによりリーダーを選択すること、そして、（ｄ）バイアスされた無作為選択プロセスによりリーダーを選択すること、が含まれる。リーダーを選択するというプロセスは、トリガーとなる出来事の発生の度に周期的に反復されて良い。
【００１６】
さらに、一旦リーダーが選択されるとリーダーは抑制信号を送信してトリガーとなる出来事の発生まで前記リーダー指定ステップの反復を防ぐことが望ましい。前記抑制信号は、前記リーダーからのおよその距離を示したものとなろうし、また前記抑制信号の送信が停止すると無作為選択プロセスが再開されることになるが、前記リーダーからもっとも遠距離にあるエージェントが有利に扱われてバイアスがかかる。さらにリーダーからの抑制信号は中継送信される可能性も有り、リーダーからのおよその距離を示し、また十分な距離でも前期リーダー指定ステップの反復を防ぐのには効果的ではないということも有り得る。
【００１７】
もう１つの実施様態では、少なくとも１つのエージェントが基準エージェントとして指定でき、ユニークな基準信号が発信され複数のエージェントに中継されてそれぞれの基準エージェントからの距離推定がされるのであって、ここでは他のエージェントの少なくとも一部分が基準シグナルの距離推定関数として確立されたやり方で動くことにより、少なくとも１つの基準信号に応答する。この様にしてエージェントは基準エージェントによって制御され、特定のパスに追随し、または特定のパターンで整列させることが出来る。
【００１８】
例えば、２つの基準エージェントが使用される場合、もう一方のエージェントは前記基準エージェントから等距離はなれたラインに整列するように仕向けることが可能である。３つのエージェントが基準として使用される場合は、他のエージェントは三角測量タイプの方法を使用して制御可能であろう。
【００１９】
前記方法の諸ステップを実施するために必要な機能は全て、ソフトウェアまたはハードウェアの形態で前記エージェントの回路の中に組み入れることが可能である。個々のエージェントまたはエージェント群は前記方法を完成させるための必要なハードウエアを組み込むことにより製造可能となろう。
【００２０】
本発明は、大規模エージェント群に対する動きを制御するという分野に関する。以下の説明は、通常の技術を有する同業者であれば、本発明を作り、使用し、またそれを特定のアプリケーションのコンテクストに組み込むことを可能にするよう呈示される。
【００２１】
異なるアプリケーションにおける多様な使用法と同様にさまざまな変更も熟練した同業者には直ちに明快であり、また本明細書に定義されている一般的な原則は、実施態様の広範な範囲に対して適用しうるものである。したがって、本発明は呈示されている前記実施態様に対して限定されることが意図されているわけではなく、本明細書で開示されている原則と新規な特徴と合致しているもっとも広範な範囲に対して認容されるべきものである。
【００２２】
基準となる作業フレームを提供するために、最初に説明と請求項において使用される用語の解説が読者向けの中心となる情報源として提供される。次にその具体的な詳細を展開するのに先立って、概念的な理解を付与するために、簡単な紹介が本発明の説明的な記述の形態で提供される。
【００２３】
【用語解説】
本発明の具体的な詳細を説明する前に、本明細書ならびに請求項において使用されているさまざまな用語の集中一覧個所を提供することは有益である。
【００２４】
エージェント−本明細書の中で説明されているように、エージェントという用語は、そのもっとも一般的な意味においては、プロセッサと、距離と方向を検出するための手段と、メモリーとを含むユニットを意味している。エージェントにはまた、運動のための１つまたはそれ以上の手段と、１つまたはそれ以上のセンサを含むことが出来る。さらにもっと分かリ易い用語で言えば、エージェントは、例えば、赤外線送信／受信機と一組のホイールを備えたロボットでありうるものであり、そこでは、前記赤外線送信／受信機は前記ロボットと他のロボットとの間の距離と方向を計測するのに使用される。さらに複雑な状況では、同じロボットにはまた、無線通信を送信し、また受信するためのアンテナと、環境のさまざまな状況（温度、視認性、他など）を感知するためのセンサ群と、飛行用の翼やプロペラなどの代替的な運動手段とが含まれうる。
【００２５】
引力／斥力マップ−引力／斥力マップとは一般的には、１つのエージェントからの距離と方向の組み合わせにより表示される点の領域を定義するものである。各点はその点におけるエージェントに関する異なる動作を定義しうる。動作は、別のエージェントに対する引力または別のエージェントからの斥力を含むがそれに限定されることはない。
【００２６】
好ましい実施態様では、引力／斥力マップには、同心円状のリングとして形成される３つの明確な領域が含まれる。内側リングは、斥力領域に入る他のエージェントからのエージェントを排斥するように、斥力領域として作動し、外側リングは、引力領域の中にある他のエージェントにエージェントを引き付けるように、引力領域として作動し、また、中立リングは、中立領域として行動する。
【００２７】
このようにして構成されているので、エージェントが感知する引力および斥力を最小にする距離にエージェントは落ち着く。いずれの局所エージェントも前記中立リングに位置付けされるように前記エージェントは動こうとする。このバージョンでは、前記引力／斥力マップは、エージェントが取り囲んでいる前記エージェントからの距離の関数として引力と斥力を供給するように調整されうる（例えば、エージェントから遠くなるほど引力がさらに強くなり、エージェントに近づくにつれて斥力がさらに強くなる）。
【００２８】
前記引力／斥力マップは全体的な距離維持挙動の中で用いられ、エージェントが他のエージェントから適当な間隔を維持することを確実なものとするようにエージェントの運動を生成する。前記引力／斥力マップは、エージェント分散の異なるレベルを提供するために、ユーザーによるか、または、別のトリガーとなる出来事によるかのいずれかで、実時間においてさまざまに変化させうることに注目する必要がある。前記引力／斥力マップは、前記エージェントに搭載されている異なる諸システムに対して合わせることが可能である。
【００２９】
局所−本発明に使用される距離維持挙動は、エージェント間の方向と距離を確定するための手段を利用する。前記エージェントの間隔は所定の間隔を維持するが望ましいので、他のエージェントの前記引力と斥力は一般的には局所領域上で作用する。特に、他のエージェントの前記引力／斥力領域（またはマップ）内にあるエージェントは、局所的であると考えられ、また、隣接していると呼ばれている。
【００３０】
複数のエージェントは、ある領域を満たすように拡がっているので、エージェント間の引力と斥力により結果的に生じる運動ベクトルにより、前記エージェントは、運動するように仕向けられる。１つの任意のエージェントに対する局所（隣接）エージェントの数は、１つの任意の領域の中に存在するエージェントの数により変化させることが可能である（例えば、エージェントが占拠している前記領域が、境界の存在は抜きにした場合にエージェントが占拠すると考えられる前記領域よりも小さければ、前記エージェントの前記間隔は圧縮されうる）。送信出力を節約するためには、局所エージェント間にのみ通信を使用することが望ましい。
【００３１】
低帯域通信−本発明はエージェント間を所定距離に維持するための簡易通信メカニズムを提供するよう設計される。本明細書で用いられているように、低帯域という用語は、低ビットレート通信の使用法と同義である。本発明では、エージェントは最低でも低帯域通信を有する必要があるが、低帯域が必要とされてはいない。
【００３２】
距離と方向を検出するための手段−エージェントがそれぞれ他のエージェントから所定の距離を置いて存在するようにエージェントの運動を機能させるために、エージェントは、他のエージェントに対する距離と方向を確定するためのメカニズムを有していなければならない。距離と方向を検出するための手段には多くの形態を取ることが出来、その実施例には赤外線、ソーナー、レーダーまたはレーザーを利用した範囲および方向ファインダーが含まれる。距離と方向を検出するための前記手段はまた、エージェントにシグナルを送信させることにより所定量の出力が供給され、他のエージェントを受信機として使用し、信号を分析して信号強度を確定し、その信号強度を距離の測定として使用する。
【００３３】
しかし、他のエージェントに対する距離と方向を確定するという後者の方法は、他の環境条件が前記信号の送信に影響を及ぼす可能性があり、結果として、エージェント間の間隔が望ましくないものになるという欠点を有する。
【００３４】
移動性を提供するための手段−引力と斥力に反応して動くためには、その動きを機能させるための何かがエージェントには必要となる。エージェントが使用される環境に適したもので公知の制御可能な運動メカニズムであれば良い。
【００３５】
例えば地上では、エージェントは典型的には、脚またはホイールを有するであろうし、一方、空中では、エージェントはプロペラおよび翼を有することであろう。他方、液体環境では、前記エージェントにはプロペラとフィンが装備され、そこでは、空中では、前記エージェントはジェットまたはロケットが装備されることであろう。移動性を提供するための手段はプロセッサに結合されかつそれによって制御される。
【００３６】
センサ−他のエージェントからの距離と方向を検出するための前記手段に加えて、エージェントはエージェントの状態に関してとともに、その環境に関しての情報を収集するためのプロセッサに結合されるセンサを備えても良い。本発明のエージェントに使用されうるセンサの実施例には、煙探知器、音声検出器、熱／赤外線検出器、化学品感知装置、および天候センサが含まれるが、これらに限定されることはない。これらセンサは、他のエージェントの動きを指示するためにリーダーエージェントを決定するためのメカニズムに使用されるなどのような挙動−トリガーとなる出来事を提供する用途に使用しても良い。
【００３７】
【序言】
本発明は、局所低帯域信号のみを使用して複数のエージェントの動きを制御するために有用である。本発明の目的には以下に述べるシステムを提供することが含まれる：１）複数エージェントの、またはエージェントの通信、調整、制御のための簡易な操作、２）複数エージェントまたはエージェント内の最小の搭載型演算処理装置と小容量メモリないしはゼロメモリ容量、３）局所通信のみに基づく大規模エージェント群の調整、４）単一エージェントまたはエージェントを運行させ通報させるのではなく、複数のエージェントまたはエージェント群を１つの領域に存在させること、５）方向の情報とともに距離の情報が中継されて、ある機能への最短パスが確定できること、および６）もし一部のエージェントが故障しまたは破損した場合に他のエージェントがギャップを埋め作用範囲を維持するよう冗長もしくは欠陥許容をもつこと。
【００３８】
本発明は、複数のエージェントを提供するものであり、各エージェントは他の局所エージェントに対する距離と角度を測定するための手段を有する。好ましくは、信号がこの目的のために使用され、また、引力／斥力マップが距離維持挙動において使用され、それによって、他のエージェントに向かってまたは他のエージェントから離れて動くように、前記エージェントは前記引力／斥力マップに応答して行動し、各エージェントから所定の距離にある引力と斥力間の１つの領域の中に落ち着く。前記引力／斥力マップを変化させることにより、異なるエージェント挙動を生成することが可能である。
【００３９】
例えば、１つのエージェントが他のエージェントにより常に排斥されるように設定することが可能である。前記エージェントが排斥されると、前記他のエージェントからの距離は大きくなり、前記他のエージェントの前記引力挙動は、それらエージェントが追随を試みるように仕向ける。基本的にはこのようにして群のリーダーが生成される。群リーダーはいくつかの手段により明示的にまたは暗黙的に決定することが可能である。
【００４０】
例えば、前記群が１つの障害物に遭遇し所定の方向にもはや移動することができない場合、前記障害物から前記群を引き寄せて遠ざけるため、前記物体から遠く離れたリーダーを指名することが望ましい。
【００４１】
エージェントはまた、前記引力／斥力マップと組み合わされて使用されるどのような信号からでもはっきりと識別出来る制御信号を送信するように、特別に指定することも可能である。前記制御エージェントの距離と方向は、前記制御信号をプロセスすることにより確定することが可能である。
【００４２】
同時に、エージェント間隔は、前記引力／斥力マップにより維持される。操作の環境およびその所望される制御のタイプにおける次元の数により、異なる数の指定されたエージェントが前記他のエージェントを制御するのには必要となる。そのアプローチの方法は三角測量法の技術と同様である。
【００４３】
【発明の実施の形態】
図１に説明的に図示されているように、本発明により使用されるエージェント１００は典型的には、通信能力１０２と、特定の環境の必要性により（例えば、水などの液体媒体の中で使用するエージェントには移動のためにプロペラやフィンを使用するであろう）、一組のトラック１０４、一組のホイール１０６、または翼、プロペラ（図示せず）などの移動手段とを有する小さなロボットの形態をとる。
【００４４】
前記移動手段は移動手段を制御するプロセッサと接続される。一方前記プロセッサはメモリーと接続され、特定用途のプロセッサの形態を取っても良いし、またはエージェントのさまざまな機能を制御するためのソフトウェアが使える一般用途のプロセッサでも良い。前記エージェントは、いずれかの他の局所エージェントからの距離と方向を測定するための手段を備えても良い。前記手段は、同業者にあって公知のどのような有用な形態を取っても良い。
【００４５】
例えば、ソーナーまたはレーザー・レンジ・ファインディングにおけるように、信号を発信して働きかけた後に、前記信号が他の物体から返ってくるときに感知する、などである。代替的には、熱などの物体からの放射を検出するといったどのような受動的手段でも使用可能である。１つの実施態様では、各エージェントは赤外線送信機により周期的な全方向信号を送信することが可能であり、もう一方のエージェントは信号強度の喪失により距離を推定する赤外線受信機を用いて前記信号を感知する。
【００４６】
以下に、前記エージェントにより実施されるさまざまな活動が説明される。前記活動は典型的には、エージェントの中のメモリーとプロセッサと組み合わされたソフトウェアの使用により実施される。任意的には、ソフトウェアではなくて、ハードウェアの中にエンコードされても良い。図示されているように、エージェント１００には、金属検出器１０８、赤外線送信／受信機またはレンジファイダー１１０、ビデオカメラ１１２、ガスクロマトグラフィ１１４などのさまざまなセンサが含まれる。
【００４７】
これらまたはその他のセンサは、例えば、ブロッキングビーコンを指定する際に使用する有用なデータを提供するために、エージェントの中に組み込まれ、プロセッサと接続することが可能である。
【００４８】
本発明の前記エージェントとともに使用されるさまざまな挙動における諸ステップを図示しているフロー図が図２に呈示されている。本発明の前記方法の１つの実施態様において前記ステップを図示するフロー図は図２ａに図示されている。前記方法は複数のエージェントに対して継続的に実行される（また、特定の実施態様によっては、前記エージェントには他のエージェントと同様にして物体を検出する能力が含まれても良い）。
【００４９】
検出することができる各エージェントまたは障害物２００に対して、エージェント（または物体）が選択される２０２。前記エージェント（または物体）に対する距離と角度が、距離と方向測定ステップにおいて測定される２０４。次に、距離は、距離と方向プロセシングステップにおける前記エージェントが引力領域、斥力領域、または中立領域にあるかどうかを測定するためにプロセスされる２０６。前記実施態様により、引力領域と斥力領域は異なる形態をとり、また、中立領域は存在する場合または存在しない場合があることに注目すべきである。
【００５０】
前記引力／斥力領域は、一般的には引力／斥力マップとして定義され、複数の点を有する任意の形状をとり得て、各点が１つの距離と角度に対応する。しかし、前記引力／斥力マップの好ましい形態は、一連の３つの同心円状のリングであり、前記エージェントにもっとも近いものが斥力領域を表わし、もっとも遠いものが引力領域を表わし、また、中間のものは中立領域を表わす。前記エージェントが斥力領域、中立領域または引力領域にあるどうかにより、次のステップでは、斥力ベクトルが生成され２０８、中立ベクトル２１０が生成され、または引力ベクトルが生成されうる２１２。
【００５１】
引力／斥力マップは、前記引力または斥力ベクトルを生成する際に使用される場合は、前記引力／斥力マップのいくつかの領域に対して他の領域に対してよりもより大きな引力または斥力の値を作り出すということで定義することが出来る。例えば、引力と斥力の値は、前記エージェントからの距離の関数として決定されうるものであり、引力はエージェントからの距離が大きくなればそれについて増加し、斥力はエージェントからの距離が減少すればそれにつれて増加する。
【００５２】
次に、全ての局所エージェントの距離と角度が測定されたかどうかが検証される２１４。もし未測定なら前記プロセスがそれ自信で繰り返される。全ての局所エージェントの距離と角度がひとたび測定されると、全ての引力ベクトルと斥力ベクトルが活用されて運動ベクトル２１６が生成される。他の既知の方法も使用可能ではあるが、引力および斥力から運動ベクトルを生成する最も簡便な方法は、単純な累積作業の結果から得られるベクトルを提供することである。
【００５３】
次に、前記エージェントは前記ベクトルに応じて動く。前記運動ベクトルを継続的に再生成することにより、前記エージェントは、他のエージェントからの所定の距離を維持する。前記エージェントに前記引力／斥力マップを調節するための手段を提供して、複数のエージェントによってカバーされている領域を拡大または縮小出来るように仕向けることが出来ることに注目されたい。
【００５４】
前記引力／斥力マップの構成により、エージェントは引力と斥力との間で行ったり来たり往復することが可能である。前記方法は、図２ｂに図示されているやり方でこのいらだたしさを減らすように増強することが可能である。図２ｂに図示されているように、距離維持運動挙動２１８は、図２ａからのステップ２０８と、２１０と、２１２と、２１４と、２１６とを表わしている。
【００５５】
しかし、前記距離維持運動挙動２１８に伴って、前記エージェントは、他のエージェント２２０により局所的にそれらエージェントが取り囲まれているかどうかを判定するようにチェックする。エージェントが取り囲まれている場合は、前記運動ベクトルは、前記エージェントが中立的に挙動するように、ゼロにリセットされるか２２２、または十分に減少される。前記エージェントが取り囲まれていない場合には、前記運動ベクトルがエージェント運動のために利用される。それにより結果としての運動ベクトルが展開される２２４。本方法により、いくつかの局所エージェントの引力／斥力マップの間で釣り合いを取るためのエージェント競合により生じるジッタを減少させることができる。
【００５６】
距離維持挙動メカニズム
エージェントの距離維持挙動は、ある時点で１つのエージェントからの方向と距離の確定を可能にするセンサシステムの使用により容易なものとすることが可能である。例えば、距離測定センサ（赤外線など）の円形配列は各エージェント上に用いることが可能であり、かくして、各センサは感知されるべきある時間に１つのエージェントのみを許す、角度限定的な受信フィールドを有する。
【００５７】
エージェントはまた、他のエージェントにより受信される信号を送信することが可能である。エージェント間の距離はしたがって、前記送信の前記信号の強度から推定することが可能であり、そこでは、前記信号の強度は距離により縮小する。強度は起点となる源からの距離に対して逆２乗比で変化するため、前記強度の値は距離を確定するのに使用することができる。したがって距離維持挙動の制御距離は、局所エージェント間の相互作用における信号強度から推定することが可能であり、そでは信号強度が距離により縮小する。
【００５８】
ブロッキングビーコンと気体膨脹
ある種の状況下では、エージェントが特定領域に入ることを防ぐために、ブロッキングメカニズムを提供することが望ましい場合がある。この概念は、船舶に危険を知らせるために、ブイを使用するという例になぞらえることが可能である。ブロッキングビーコンとしてエージェントを使用するという一般的なステップは、図３に図示されている。図示されている実施態様では、最初に、前記複数のエージェントのユーザーは、通信の何らかの手段３００によりブロッキングビーコンとして役に立つように、１つまたはそれ以上のエージェントを指定する。
【００５９】
前記指定はレーザーポインティング、無線通信、赤外線通信、またはいずれかのその他の入手可能な通信メカニズムといった手段により発生させることが可能である。ユーザーがトリガーとなる出来事として図示されているが、エージェントブロッキングはまたさまざまな出来事に応答して発生させることが可能であることを特に記しておく。例えば、あるエージェントに、環境についての情報を確定するためのセンサが備えられていて環境内に分散している場合、危険をその他のエージェントに自動的に警告することは可能である。
【００６０】
もっと詳細な実施例としては、あるエージェントは、他のエージェントが同じ運命に陥ることを防ぐために、損傷を受けたときに、ブロッキングビーコンとして行動するように指定することが可能である。
【００６１】
指定された後、前記エージェントは計算するための運動を停止し、静止したままになる３０２。前記エージェントはその後に、明示的ブロッキング信号３０４を送信することが可能であり、他のエージェントをその位置から離れるように促すことが可能である。もし前記エージェントが明示的なブロッキング信号を送信するように装備されてはいない場合は、他のエージェントは、それら斥力領域のために、前記エージェント位置から離れてそのまま静止していることになる３０６。
【００６２】
本発明の使用によりいくつかの一般的な運動タイプが可能である。もっとも簡易な場合では、エージェント群は単にある領域を満たすまで拡大するが、各エージェントは、１つまたはそれ以上の隣接エージェントに対して等距離にある。この運動パターンは、前記エージェントが他の各エージェントから所定の距離を維持するように設計されていることを除いては、一定の容量を満たす気体の膨張に類似している。
【００６３】
このように、気体の場合とは異なり、前記エージェントは膨張を停止する。ブロッキングエージェントの使用によって、１つの動きを止めながら、他の各々から所定の距離でそれらを維持することを通して、前記他のエージェントを押さえ付けるように作用することにより、この気体タイプの膨張挙動を形成することができる。場合によっては、ブロッキングエージェントとしての他のエージェントとの関連付けを絶ち切って（斥力という点で）、前記全体的な群の運動を停止するということではなく、バリアーとして単にそれを役立たせることの方が望ましい場合がある。
【００６４】
誘導拡大
エージェント運動のもう１つの一般的なタイプが誘導拡大であり、その場合には、１つまたはそれ以上のエージェントがリーダーとして指定されうる。典型的には、他のエージェントからのリーダーの斥力を強化し、または、その斥力マップの領域を増加することにより、前記リーダーの引力／斥力マップは変更される。結果として、前記リーダーは他のエージェントから遠ざかる傾向があり、前記他のエージェントは、その引力のため、前記リーダーを追随する。
【００６５】
リーダーを生成するためには２つの明確なステップがある。最初のステップは、リーダー選択プロセスのトリガーとなる出来事であり、また、第２のステップは、リーダーとして働くような特定のエージェントを選択するというプロセスである。それぞれに対して非常に数多くの方法を使用することができる。
【００６６】
例えば、前記リーダー選択のプロセスは、遠隔制御または他の入力装置を介して、ユーザーコマンドにより明示的にトリガーとすることが可能である。前記リーダー選択プロセスはまた、ある種の出来事の発生に際して、暗黙的にトリガーとなる可能性もある。前記リーダー選択プロセスを始めるトリガーとなるプロセスは、ある特定の実施態様の必要性に対して調整されうる。有用な暗黙的トリガーとなる出来事の例としては、現在のリーダーがもはや動くことができない場所にいる場合、現在のリーダーが損傷を受けている場合、または、もう１つ別のエージェント（付加的なセンサが装備されている）が現在のリーダーよりも前記エージェントの方がリーダーとしてより望ましいとする環境の特徴を検出している場合、が含められる（煙探知エージェント群の例で、非リーダーエージェントが煙を検出した場合は、前記煙検出エージェントをリーダーとすることが望ましい場合がある）。
【００６７】
リーダーの実際の選択は、新しいリーダーの選択を引き起こすトリガーとなる出来事からは区別される。エージェントは、ユーザーにより明示的に選択されうる。代替的には、リーダーは、各エージェントが乱数を生成し、他のエージェントと前記乱数を通信しあうといった、くじを引くことに類似しているプロセスにより無作為に選択されても良い。もっとも高い乱数（またはもっとも低い）を有する前記エージェントが新しいリーダーとなる。エージェントの数と有用な数値の正確さの程度により、可能性のあるリーダーのフィールドを狭めるための無作為選択プロセスを複数回実行することが必要となる場合がある。
【００６８】
現在のリーダーから物理的に離れているエージェントの一部分から新しいリーダーが選択されることが多くの場合、望ましいこととなる。したがって、前記無作為選択プロセスは、前記リーダーに近いエージェントに対して重み付けが行われる場合がある。エージェント間の通信は、直ぐ隣接しているものの間では局所的に起こり、通信はさらに遠くに離れているエージェントに対して中継されるため、１つの特定のエージェントと前記リーダーとの間の通信ホップ回数を測定することが可能である。ホップ数は、現在のリーダーから離れているエージェントを優先して前記プロセスにバイアスをかけるために前記無作為選択プロセスの中に要因として含める。他の要因も前記無作為選択プロセスにバイアスをかけるために使用されうる。
【００６９】
例えば、エージェントが他のセンサを有する場合は、前記他のセンサからの情報は、前記無作為選択プロセスを拡大するのに使用することが可能である。例えば、前記煙検出のケースに話を戻すと、前記無作為選択プロセスは、火のそばにある可能性がより濃厚なこれらのエージェントを優先させるために、エージェントにより検出された煙の量により重み付けを行うことができる。場合によって、例えば他のセンサからのフィードバックが非常に強い場合などには、前記センサ読取り値の強度に基づいてリーダーを単純に確定することを優先して、前記無作為選択プロセスは除外されても良い。
【００７０】
ある実施態様では、特に環境の物理的属性を検出するセンサによって継続した競合プロセスを使用することが可能であり、そこではエージェントは周期的にそのセンサの状況を通信する。多くのケースでは、特にいくつかのエージェントが追求されている項目に近いときには、リーダーシップはエージェントからエージェントへと行ったり来たりすることが可能である。
【００７１】
したがって、こうしたケースでは現在のリーダーが抑制信号を送信してリーダーシップの変更を防ぎ、また、局在化しているリーダーシップの頻繁な変更を最小限度にすることが望ましいこととなりうる。一方、前記無作為選択プロセスにはまた、現在のリーダーを優先するためのメカニズムが含められる。例えば、前記無作為選択プロセスが１と１０との間の数を生成する場合には、優先という尺度を提供するために現在のリーダーには無作為選択ラウンドのたびごとに何点かのボーナスポイントを持てるようにしておく。
【００７２】
現在のリーダーが止ってしまって動かなくなってしまい前記選択プロセスのトリガーとなる場合には、前記現在のリーダーからさらに遠くにあるエージェントを優先するために同じテクニックを使ってホップカウントを組み込むことが出来るであろう。
【００７３】
もし抑制信号が使用される場合は、それを数々の方法で実施することが可能である。例えば、リーダーには、一度に全てのエージェントに到達させることができる出力送信機が備え付けられ、したがってその送信機を使用して、メッセージを周期的に送信することができる。一方、前記メッセージは１つのエージェントから次のエージェントへと渡すことができる。
【００７４】
これは、文献の中で通常入手可能である、確立されている経路指定の諸方法を使用して、前記メッセージを局所的に隣接しているものから局所的に隣接しているものへと渡していくことにより実施することができる。エージェントがそのメモリーを消去するその速度を超える速度で前記メッセージが周期的にリーダーにより再送信される場合は、前記抑制信号はその所望される効果を達成することができる。前記リーダーが前記抑制信号の送信を停止した場合は、もっとも近くで隣接しているものが最初にそのメモリーから前記メッセージをフラッシュすることになり、その後、隣接しているものによってフラッシュされる。これは、前記リーダーにもっとも近いエージェントが最初に抑制終了するいうことが起こり易いことを意味する。
【００７５】
ある種のケースでは複数リーダーの共存を許容することが望ましい場合があることは留意すべき点である。これは、エージェントがある物体を捜索しているなどの状況にある場合であろう。明確な位置にある２つ以上のエージェントが、前記物体の手掛かりを検出する場合、複数のリーダーを指定することが望ましい場合がある。前記リーダーはその場合、もっとも良好なものが決定されるまで、短い競合期間を有することができるであろう（おそらく搭載センサからの信号の継続した強度により）。
【００７６】
その時点で、より好ましくないリーダーは、その役割を放棄し、また、普通のエージェントの役割を引き受ける。前記競合期間が完了するまで、前記競合リーダーは、他のエージェントがリーダーになるのを防ぐために、非リーダーエージェントに対して抑制信号を放射することが出来る。
【００７７】
図４は、気体膨脹型挙動からリーダー誘導挙動への遷移を図示する簡単なフロー図を呈示している。当初、距離維持挙動はエージェント間の距離を制御し、また、ボックス４００により図示されているように、気体膨脹型運動に対して備えるのに使用される。次に、ボックス４０２により図示されているように、リーダー指定プロセスのトリガーが引かれる。前記リーダー指定プロセスは明示的にまたは暗黙的にトリガーとなることが可能である。
【００７８】
前記リーダー指定プロセスの開始後に、ボックス４０４により図示されているように、１つのリーダーが選択される。前記リーダーが選択された後、典型的には、前記リーダーは、前記エージェント群を動かすことを開始し、他方、エージェント間の間隔は、ボックス４０６により図示されているように、前記距離維持挙動を使用することにより維持される。ボックス４０６はボックス４００と同じ操作を基本的には表わしていることを特に記しておく。
【００７９】
基準エージェント制御運動
リーダー制御運動に加えて、他のエージェントの動きを制御するために、１つまたはそれ以上のエージェントが、基準エージェントとして指定されうる。簡単なフロー図が図５に図示されていて、他のエージェントを誘導するために、基準エージェントを利用する際の前記一般的な諸ステップを示している。最初、ボックス５００により図示されているように、その動きを制御するために、距離維持挙動を前記エージェントが利用すると考えられる。ボックス５００の機能性はボックス４００の機能性および図４のボックス４０６の機能性と同一であることは留意すべき点である。次に、少なくとも１つ、また図示されているように２つのエージェントがボックス５０２に示されているように、基準エージェントとして指定される。
【００８０】
好ましくは、各基準エージェントは、ボックス５０４により図示されているように、他の基準エージェントとは異なった信号を発信し、エージェントは距離維持挙動に対して使用されたものとは異なる信号を発信する。指定された基準エージェントの数は、他のエージェント全体に有用な制御の程度に直接強い影響を与える。
【００８１】
例えば、１つの基準エージェントの場合、エージェントの円を生成することが可能である。２つの基準エージェントの場合は、前記２つの基準エージェントから等距離にあるエージェントのラインを作り出すことが可能であり、または、前記基準エージェント間に公知の距離が与えられた場合は、２次元平面におけるエージェントの動きを制御することが可能である。３つの基準エージェントが供給される場合、同じことが達成されうる。４つの基準エージェントの場合、３次元空間における動きが制御されうる。一旦前記基準エージェントが指定され、送信すると、他のエージェントは、ボックス５０６により図示されているように、前記基準エージェントに関する動きと軌道を計算することができる。特定の実施態様によっては、基準エージェントにより送信された基準信号は、より強力な送信機によって、または前記基準エージェントから局所的に隣接しているものへと前記信号を送信しさらにまた、前記局所的に隣接しているものからそれらが局所的に隣接しているものへと前記信号を再送信することにより、前記基準信号は前記エージェント群全体に送信されうる（例えば、前記複数のエージェント全体にわたって前記信号をポップさせる）。
【００８２】
前記信号を前記複数のエージェントにわたってホップさせることにより基本的には信号の波面が生成され、それによって制御されたエージェントのほぼ同じ距離と方向が、前記基準エージェントから確定することができる。前記ホッピング技術に関しては、一般的には、前記制御されたエージェントが前記基準エージェントに近ければ近いほど、その位置の誤差は大きくなる可能性があることは留意すべき点である。
【００８３】
複数のエージェントの行動が説明されてきたところで、他のエージェントに関連してエージェントの状況を図解して説明しているいくつかの図が示され、本発明の作動がさらに明らかに説明される。
【００８４】
運用説明図
引力領域６００と、斥力領域６０２と、中立領域６０４とを含む簡単な引力／斥力マップを図示している説明図が図６に図示されている。先に述べられているように、前記引力／斥力マップの数多くの他の形態が定義されうる。前記エージェント６０６は、前記引力／斥力マップの中心に存在する。前記引力／斥力マップの実際の生成は多くの異なる方法で用意することが可能である。
【００８５】
前記引力／斥力マップを生成することには、限定されている範囲全域にわたって信号を送信するための送信機を有するエージェントを利用することが含まれて良い。隣接するエージェントは信号を検出し、受信した信号を送信する前記エージェントに対する距離と方向を測定することができる。
【００８６】
前記信号は多くの形態をとり、指向性赤外線信号、レーザー信号、無線信号を含むがこれらに限定される訳ではない。一方、別のエージェントから受信された信号を利用するのではなく、各エージェントはレンジ・ファインディング・システムを装備出来て、特に限定はしない実施例として赤外線レンジファイディングシステム、音声レンジ検出システム、低出力レーダーシステムとを含む。前記引力／斥力マップは、他のエージェントに対する所定の距離をエージェントに維持させるために用いられるエージェントの前記引力／斥力に対する基礎情報を提供する。
【００８７】
エージェント６０６が別のエージェントの引力領域に入るときに、その別のエージェントはエージェント６０６に向かって動くように促される。同様に、前記エージェント６０６が別のエージェントの斥力領域に入るときに、その別のエージェントは、エージェント６０６から動いて遠ざかっていくことが促される。前記エージェント６０６が、別のエージェントの中立領域に入るときに、その別のエージェントはその場に基本的には残る。
【００８８】
前記エージェントの動きの基本は一般的には、前記引力と斥力を表わしている運動ベクトルの形成と、前記運動ベクトルがプロセッサによって前記エージェントを動かす手段に応用されることに存在する。
【００８９】
７００、７０２、７０４、７０６と標識されている４つのエージェントは図７に図示されており、それぞれには引力領域、斥力領域、中立領域を備えた円形引力／斥力マップが含まれている。参考のために、各引力／斥力マップの中立領域の前記外側リングは、点線基準線７０８により図示される。
【００９０】
図７では、前記エージェントは安定した状態にあり、それぞれが他のエージェントの少なくとも１つの中立領域内に存在しているが、それ以外のエージェントではその引力／斥力領域の外側に存在している。パターンの説明図は前記引力／斥力マップの重複描写により、非常に複雑になるであろうが、図７に図示されている実施例は、エージェントのどのような数にも拡大されうる。
【００９１】
引き続き図７を参照して、前記エージェントのうちの１つの中立領域を斥力領域として再指定すると、前記エージェントを他のエージェントから強制的に遠ざけることになろうが、前記エージェントは他のエージェントの引力領域にそれでも残ることになろう。このようにして他のエージェントがリーダーになり、その特性はすでに以前に検討されたものである。
【００９２】
リーダーに関してのエージェント群の挙動と、新しいリーダーの指定が図８に図示されている。図８ａに図示されているように、リーダー８００は、エージェント群８０２から遠ざかる。引力／斥力マップに参照して使用される前記エージェントの距離維持運動挙動は、図８ｂに図示されるように、前記エージェントを外に広げる結果となる。前記リーダー８００に存在している他のエージェント８０２からの増大された斥力のために、前記リーダー８００は前記他のエージェント８０２から遠ざかり、また、前記他のエージェント８０２は前記リーダー８００に追随する。
【００９３】
新しいリーダー８０４の指定のトリガーとなる出来事を説明するために、図８ｃは、壁によりブロックされるという点にまで拡がったエージェント８０２を示す。前記リーダーの動きをブロックすることにより、前記リーダー８００は新しいリーダー８０４の指定のトリガーとなるよう仕向けられる。この場合には、前記新しいリーダー８０４は、前記現在のリーダー８００に近づいたいずれのエージェントが前記他のエージェント８０２から動いて遠ざかっていく能力を有するのかを判定することにより選択された。
【００９４】
図８ｄに図示されている前記新しいリーダー８０４は、別の通路を通って右に動いていくことができる。これは、それによって新しいリーダーが選択されうる方法について説明している。どのエージェントが新しいリーダーに選択されるかを決定するためには直接関係するどのような選択基準でも使用することが出来るが、そのプロセスは無作為か、基準がしっかり固まっているか、またはセットになったエージェントを使用する人によって明示的に選択されることが出来る。
【００９５】
先に述べているように、前記エージェントは、有用な情報を提供する複数の他のセンサを装備しうるものであり、また、前記エージェント上にある前記センサにより提供される前記情報は、新しいリーダーの決定を手助けするのに使用することが可能である。図８では、開放通路を感知するどんなエージェントでもリーダーとなろうと試み、しかするのちに、単一のリーダーがエージェントのこのサブセットから選択されることが説明されている。
【００９６】
前記エージェントの運動制御はまた、図９に図示されているように、基準エージェントを選択するによっても起こり得る。図示されているように、エージェント９００と９０２は、基準エージェントとして選択することができる。前記基準エージェントは、前記距離維持運動挙動における通信に使用されるタイプから区別される信号を送信し、好ましくは各基準エージェント９００と９０２に対して異なる。
【００９７】
多くの可能な方向のうちの２つ９０４と９０６が設けられる。前記基準エージェントによる前記信号９００と９０２は、前記方向に沿って前記他のエージェント９０８（複数）を整列させるのに使用される。このやり方でエージェントの運動を制御する前記能力は幾何学的配置の問題であることを特に記しておく。前記基準エージェント間の距離とともに、前記基準エージェントからの前記初期信号の相対強度が、前記他のエージェントが想定する整列の角度を決定する。
【００９８】
３つのエージェントは、三角測量法などの方法において同様に使用されうる。さらに、４つのエージェントは、３次元領域におけるパスを定義するのに使用することができる。一般的には、本方法の目的は、前記基準エージェントからメッセージ波面を伝搬することである。複数の波面は、位相調整アレーアンテナにビームステアリングに類似のやり方で行動し、また、この場合、前記エージェントは、各メッセージがその源から移動した距離の比較に基づいてそのステアリングベクトルを計算する。前記基準エージェントから送信された前記信号を変化させることにより、前記複数のエージェントの異なる形態が達成されうる。
【００９９】
本発明の組込みに関連する全ての論理は典型的には、前記エージェントのメモリーに保存されているソフトウェアの形態で具体化され、また、前記プロセッサにより運用される。しかし、本発明の前記論理はソフトウェアを使用するというよりもハードウェアにも固定されうる。前記ソフトウェアのさらに完全な説明と、その好適な実施態様を提供するために、コンパクトディスクが、本明細書には、添付書類として提供されてきており、また、本明細書に述べられている機能のいくつかを実施するソフトウェアが含まれている。
【図面の簡単な説明】
本発明のこうした特徴ならびに他の特徴、態様、及び長所は、以下の説明、付随の請求項、ならびに添付されている図面とに注目すればより良く理解されることであろう、ここで：
【図１】図１は、本発明に関連して使用される典型的なエージェントの１つの実施例を図解したものである；
【図２】図２は、距離維持挙動を実行するための運動ベクトルを生成する一般的な方法のステップを図示するフロー図である；
【図３】図３は、ブロッキングエージェントの近傍で他のエージェントの動きをブロックするために前記ブロッキングエージェントを指定する方法のステップを図示するフロー図である；
【図４】図４は、エージェント調整に関する２つの異なるやり方の間の処理ステップを図示するフロー図である；
【図５】図５は、基準エージェントとして２つのエージェントを使用して、エージェントを制御する方法のステップを図示するフロー図である；
【図６】図６は、エージェント引力および斥力の基礎になる距離によって３種類の距離ゾーンを有する引力／斥力マップを備えたエージェントを図示する説明図である；
【図７】図７は、引力／斥力マップを備えた４つのエージェントを図示する説明図であって、各引力／斥力マップのそれぞれの中立領域内にエージェントが据えられていて、かつ均等に分散されている；
【図８】図８は、いかにしてリーダーがエージェント群の拡大の単一点としてデッドエンドに衝突するまで行動するのか、またその後にいかにして別のリーダーが拡大の前記単一点を引き継ぐのかを示す説明図である；さらに
【図９】図９は、２つのエージェントのそれぞれが、前進軸を作り出すためにいかにして異なる信号を発するのかを図示する説明図である。
【符号の説明】
図１
１００：エージェント、１０２：通信能力、１０４：１組のトラック
１０６：１組のホィール、１０８：金属探知機、１１０：赤外線送信／受信機またはレンジファインダ、１１２：ビデオカメラ、１１４：ガスクロマトグラフィ
図６
６００：引力領域、６０２：斥力領域、６０４：中立領域、６０６：エージェント
図７
７００、７０２，７０４，７０６：エージェント、７０８：点線基準線
図８
８００：リーダー、８０２：リーダー群、８０４：新しいリーダー
図９
９００、９０２：基準リーダー、９０４，９０６：可能な方向、９０８：エージェント（複数）
【図２】
2004505338.tif 000003
【図３】
2004505338.tif 000004
【図４】
2004505338.tif 000005
【図５】
2004505338.tif 000006
【国際公開パンフレット】
2004505338.tif 000007
2004505338.tif 000008
2004505338.tif 000009
2004505338.tif 000010
2004505338.tif 000011
2004505338.tif 000012
2004505338.tif 000013
2004505338.tif 000014
2004505338.tif 000015
2004505338.tif 000016
2004505338.tif 000017
2004505338.tif 000018
2004505338.tif 000019
2004505338.tif 000020
2004505338.tif 000021
2004505338.tif 000022
2004505338.tif 000023
2004505338.tif 000024
2004505338.tif 000025
2004505338.tif 000026
2004505338.tif 000027
2004505338.tif 000028
2004505338.tif 000029
2004505338.tif 000030
2004505338.tif 000031
2004505338.tif 000032
2004505338.tif 000033
2004505338.tif 000034
2004505338.tif 000035
2004505338.tif 000036
2004505338.tif 000037
2004505338.tif 000038
2004505338.tif 000039
2004505338.tif 000040
2004505338.tif 000041
2004505338.tif 000042
2004505338.tif 000043
2004505338.tif 000044
2004505338.tif 000045
2004505338.tif 000046
2004505338.tif 000047
2004505338.tif 000048
【国際公開パンフレット（コレクトバージョン）】
2004505338.tif 000049
2004505338.tif 000050
【国際調査報告】
2004505338.tif 000051
2004505338.tif 000052
2004505338.tif 000053