(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022184714
(43)【公開日】2022-12-13
(54)【発明の名称】未知の複雑な環境中のエリアカバレッジを評価及び最適化しながらメッシュ接続性を維持するための群れ制御アルゴリズム
(51)【国際特許分類】
G05D 1/00 20060101AFI20221206BHJP
【FI】
G05D1/00 B
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022035587
(22)【出願日】2022-03-08
(31)【優先権主張番号】17/335,348
(32)【優先日】2021-06-01
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【弁理士】
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】マリウス ジュート
(72)【発明者】
【氏名】アンソニー ポルテッリ
(72)【発明者】
【氏名】アドナン アイジャズ
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA01
5H301BB14
5H301CC03
5H301CC06
5H301CC10
5H301DD06
5H301DD17
5H301GG07
5H301LL02
5H301LL03
5H301LL06
5H301LL11
5H301LL16
(57)【要約】 (修正有)
【課題】非集中型マルチエージェントシステム中の更新エージェントの位置を制御するための方法を提供する。
【解決手段】更新エージェントの通信範囲内の第1の近隣エージェントを識別することと、第1の近隣エージェントまでの第1の距離と、第1の近隣エージェントへの第1の方向とを推定することと、第1の近隣エージェントへの第1の方向に基づいて移動方向を決定することと、活性化関数、第1の近隣エージェントまでの第1の距離、及び所望の基準距離に基づいて移動の大きさを決定することとを備える。活性化関数は、第1の近隣エージェントまでの第1の距離と所望の基準距離との間の差がより大きいほど、移動の大きさがより大きくなるように構成される。方法は、移動方向及び移動の大きさに基づいて更新エージェントを移動させることを更に備える。
【選択図】
図9
【特許請求の範囲】
【請求項1】
非集中型マルチエージェントシステム中の更新エージェントの位置を制御するための方法であって、
前記更新エージェントの通信範囲内の第1の近隣エージェントを識別することと、
前記第1の近隣エージェントまでの第1の距離と、前記第1の近隣エージェントへの第1の方向とを推定することと、
前記第1の近隣エージェントへの前記第1の方向に基づいて移動方向を決定することと、
活性化関数、前記第1の近隣エージェントまでの前記第1の距離、及び所望の基準距離に基づいて移動の大きさを決定することと、ここにおいて、
前記活性化関数は、前記第1の近隣エージェントまでの前記第1の距離と前記所望の基準距離との間の差がより大きいほど、前記移動の大きさがより大きくなるように構成され、
前記移動方向及び前記移動の大きさに基づいて前記更新エージェントを移動させることと、
を備える、方法。
【請求項2】
前記活性化関数は、前記第1の近隣エージェントまでの前記第1の距離と前記所望の基準距離との間の差が閾値未満であるとき、0の移動の大きさを発生させるように構成される、請求項1に記載の方法。
【請求項3】
前記更新エージェントの前記通信範囲内の第2の近隣エージェントを識別することと、
前記第2の近隣エージェントまでの第2の距離と、前記第2の近隣エージェントへの第2の方向とを推定することと、
前記第1の近隣エージェント及び前記第2の近隣エージェントが前記更新エージェントの前記所望の基準距離内に位置するかどうかを決定することと、
前記第1の近隣エージェントが前記更新エージェントの前記所望の基準距離内に位置し、前記第2の近隣エージェントが前記更新エージェントの前記所望の基準距離内に位置しないと決定することに応答して、
前記第1の近隣エージェントへの前記第1の方向のみに基づいて前記移動方向を決定することと、
前記活性化関数に、前記所望の基準距離に、及び前記第1の近隣エージェントまでの前記第1の距離のみに基づいて前記移動の大きさを決定することと、
を更に備える、請求項1に記載の方法。
【請求項4】
前記第1の近隣エージェント及び前記第2の近隣エージェントが前記更新エージェントの前記所望の基準距離内に位置するか、又は、
前記第1の近隣エージェント及び前記第2の近隣エージェントが前記更新エージェントの前記所望の基準距離内に位置しないか、
のうちのいずれかであると決定することに応答して、前記方法は、
前記第1の近隣エージェントへの方向ベクトルと第2の近隣エージェントへの方向ベクトルとの和に従って前記移動方向を決定することと、
前記第1の近隣エージェントまでの前記第1の距離、前記活性化関数、及び前記所望の基準距離に基づいて第1の移動の大きさを決定することと、
前記第2の近隣エージェントまでの前記第2の距離、前記活性化関数、及び前記所望の基準距離に基づいて第2の移動の大きさを決定することと、
前記第1の移動の大きさと前記第2の移動の大きさとの平均に基づいて前記移動の大きさを決定することと、
を更に備える、請求項3に記載の方法。
【請求項5】
前記更新エージェントと前記第1の近隣エージェントとの間の通信に基づいて前記更新エージェントの通信範囲を決定することと、
所望の基準距離を前記通信範囲未満に設定することと、
を更に備える、請求項1に記載の方法。
【請求項6】
前記第1の近隣エージェント及び前記更新エージェントは、ロボットである、請求項1に記載の方法。
【請求項7】
エリア内に展開された非集中型マルチエージェントシステムを操作する方法であって、
請求項1に記載の方法による前記非集中型マルチエージェントシステム中の更新エージェントの位置を更新することと、
前記非集中型マルチエージェントシステム中の各エージェントについてのローカルエリアカバレッジを決定することと、
前記非集中型マルチエージェントシステム中の各エージェントによって実行された前記ローカルエリアカバレッジに基づいて、完全なエリアカバレッジが前記非集中型マルチエージェントシステムによって達成されたかどうかを決定することと、
完全なエリアカバレッジが前記非集中型マルチエージェントシステムによって達成されていないと決定することに応答して、
前記非集中型マルチエージェントシステムの一部となるように前記エリア内に更なるエージェントを展開することと、
を備える、方法。
【請求項8】
完全なエリアカバレッジが達成されたかどうかを決定することは、
前記非集中型マルチエージェントシステムにクエリをブロードキャストすることと、
前記非集中型マルチエージェントシステム中の各エージェントによって、各エージェントが十分なエリアを局所的に知覚しているかどうかのインジケーションを送信することと、
前記非集中型マルチエージェントシステム中の各エージェントが十分なエリアを局所的に知覚しているというインジケーションを受信することに応答して、完全なエリアカバレッジが達成されたと決定することと、
を備え、エージェントは、前記エージェントによって知覚されているエリアを囲んでいるセンサカバレッジ中に死角が存在しない場合、十分なエリアを局所的に知覚している、請求項7に記載の方法。
【請求項9】
前記非集中型マルチエージェントシステム中の各エージェントについての前記ローカルエリアカバレッジを決定することは、
前記更新エージェントによって、前記更新エージェントが少なくとも所定の数の近隣エージェントを識別したかどうかを決定すること、及び/又は、
前記更新エージェントによって、前記更新エージェントが少なくとも1つの障害物の所定の距離内にあるかどうかを決定すること、
を更に備える、請求項8に記載の方法。
【請求項10】
前記非集中型マルチエージェントシステム中の各エージェントについての前記ローカルエリアカバレッジを決定することは、
前記更新エージェントを囲んでいるエリアを第1のセクタ及び第2のセクタに分割することと、ここにおいて、前記第1のセクタは、第1の角距離に関連付けられ、前記第2のセクタは、第2の角距離に関連付けられる、
前記第1のセクタが、
第2の近隣エージェント、又は、
前記第1の角距離にわたる第1の障害物、
を備え、前記第2のセクタが、
第3の近隣エージェント、又は、
前記第2の角距離にわたる第2の障害物、
を備えると決定することに応答して、前記更新エージェントが十分なエリアを局所的に知覚していると決定することと、
を更に備える、請求項9に記載の方法。
【請求項11】
非集中型マルチエージェントシステム中の更新エージェントの位置を制御するための装置であって、前記装置は、
前記更新エージェントの通信範囲内の第1の近隣エージェントを識別することと、
前記第1の近隣エージェントまでの第1の距離と、前記第1の近隣エージェントへの第1の方向とを推定することと、
前記第1の近隣エージェントへの前記第1の方向に基づいて移動方向を決定することと、
活性化関数、前記第1の近隣エージェントまでの前記第1の距離、及び所望の基準距離に基づいて移動の大きさを決定することと、ここにおいて、
前記活性化関数は、前記第1の近隣エージェントまでの前記第1の距離と前記所望の基準距離との間の差がより大きいほど、前記移動の大きさがより大きくなるように構成され、
前記移動方向及び前記移動の大きさに基づいて前記更新エージェントを移動させることと、
を行うように構成される、装置。
【請求項12】
前記活性化関数は、前記第1の近隣エージェントまでの前記第1の距離と前記所望の基準距離との間の差が閾値未満であるとき、0の移動の大きさを発生させるように構成される、請求項11に記載の装置。
【請求項13】
前記更新エージェントの前記通信範囲内の第2の近隣エージェントを識別することと、
前記第2の近隣エージェントまでの第2の距離と、前記第2の近隣エージェントへの第2の方向とを推定することと、
前記第1の近隣エージェント及び前記第2の近隣エージェントが前記更新エージェントの前記所望の基準距離内に位置するかどうかを決定することと、
前記第1の近隣エージェントが前記更新エージェントの前記所望の基準距離内に位置し、前記第2の近隣エージェントが前記更新エージェントの前記所望の基準距離内に位置しないと決定することに応答して、
前記第1の近隣エージェントへの前記第1の方向のみに基づいて前記移動方向を決定することと、
前記活性化関数に、前記所望の基準距離に、及び前記第1の近隣エージェントまでの前記第1の距離のみに基づいて前記移動の大きさを決定することと、
を行うように更に構成される、請求項11に記載の装置。
【請求項14】
前記第1の近隣エージェント及び前記第2の近隣エージェントが前記更新エージェントの前記所望の基準距離内に位置するか、又は、
前記第1の近隣エージェント及び前記第2の近隣エージェントが前記更新エージェントの前記所望の基準距離内に位置しないか、
のうちのいずれかであると決定することに応答して、
前記第1の近隣エージェントへの方向ベクトルと第2の近隣エージェントへの方向ベクトルとの和に従って前記移動方向を決定することと、
前記第1の近隣エージェントまでの前記第1の距離、前記活性化関数、及び前記所望の基準距離に基づいて第1の移動の大きさを決定することと、
前記第2の近隣エージェントまでの前記第2の距離、前記活性化関数、及び前記所望の基準距離に基づいて第2の移動の大きさを決定することと、
前記第1の移動の大きさと前記第2の移動の大きさとの平均に基づいて前記移動の大きさを決定することと、
を行うように構成される、請求項13に記載の装置。
【請求項15】
前記更新エージェントと前記第1の近隣エージェントとの間の通信に基づいて前記更新エージェントの通信範囲を決定することと、
前記所望の基準距離を前記通信範囲未満に設定することと、
を行うように更に構成される、請求項11に記載の装置。
【請求項16】
前記第1の近隣エージェント及び前記更新エージェントは、ロボットである、請求項11に記載の装置。
【請求項17】
エリア内に展開された非集中型マルチエージェントシステムを備えるシステムであって、前記システムは、
請求項1に記載の方法による前記非集中型マルチエージェントシステム中の更新エージェントの位置を更新することと、
前記非集中型マルチエージェントシステム中の各エージェントについてのローカルエリアカバレッジを決定することと、
前記非集中型マルチエージェントシステム中の各エージェントによって実行された前記ローカルエリアカバレッジに基づいて、完全なエリアカバレッジが前記非集中型マルチエージェントシステムによって達成されたかどうかを決定することと、
完全なエリアカバレッジが前記非集中型マルチエージェントシステムによって達成されていないと決定することに応答して、
前記非集中型マルチエージェントシステムの一部となるように前記エリア内に更なるエージェントを展開することと、
を行うように構成される、システム。
【請求項18】
前記システムは、完全なエリアカバレッジが達成されたかどうかを決定すると、
前記非集中型マルチエージェントシステムにクエリをブロードキャストすることと、
前記非集中型マルチエージェントシステム中の各エージェントによって、各エージェントが十分なエリアを局所的に知覚しているかどうかのインジケーションを送信することと、
前記非集中型マルチエージェントシステム中の各エージェントが十分なエリアを局所的に知覚しているというインジケーションを受信することに応答して、完全なエリアカバレッジが達成されたと決定することと、
を行うように更に構成され、エージェントは、前記エージェントによって知覚されているエリアを囲んでいるセンサカバレッジ中に死角が存在しない場合、十分なエリアを局所的に知覚している、請求項17に記載のシステム。
【請求項19】
前記システムは、前記非集中型マルチエージェントシステム中の各エージェントについての前記ローカルエリアカバレッジを決定すると、
前記更新エージェントによって、前記更新エージェントが少なくとも所定の数の近隣エージェントを識別したかどうかを決定すること、及び/又は、
前記更新エージェントによって、前記更新エージェントが少なくとも1つの障害物の所定の距離内にあるかどうかを決定すること、
を行うように更に構成される、請求項18に記載のシステム。
【請求項20】
前記システムは、前記非集中型マルチエージェントシステム中の各エージェントについての前記ローカルエリアカバレッジを決定すると、
前記更新エージェントを囲んでいるエリアを第1のセクタ及び第2のセクタに分割することと、ここにおいて、前記第1のセクタは、第1の角距離に関連付けられ、前記第2のセクタは、第2の角距離に関連付けられ、
前記第1のセクタが、
第2の近隣エージェント、又は、
前記第1の角距離にわたる第1の障害物、
を備え、前記第2のセクタが、
第3の近隣エージェント、又は、
前記第2の角距離にわたる第2の障害物、
を備えると決定することに応答して、前記更新エージェントが十分なエリアを局所的に知覚していると決定することと、
を行うように更に構成される、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、非集中型マルチエージェントシステム(decentralised multi-agent system)中の更新エージェント(updating agent)の位置を制御するための方法及び装置に関する。
【背景技術】
【0002】
スワームロボティクス(Swarm robotics)は、近年関心が高まっている主題である。スワームロボティクスは、一般に、所望の集団行動(collective behaviour)を得ることを目的とした複数の個々のエージェントの連係動作(co-ordinated operation)を伴う。スワームロボティクスでは、個々のエージェントは、ロボットである。ロボットの群れ(Swarms)は、典型的には、単一のより高度なロボットによって達成されるには大きすぎるか又は複雑すぎるタスクのために使用される。ロボットの群れは、群れが一般にそれらの環境中の変化に対してスケーラブル、ロバスト、及び適合可能であるという事実により、用途の数が増大しつつある。特に、スワームロボティクスは、物流、小売、医療、建設、農業、及び鉱業から、災害支援及び監視にわたる様々な産業における使用事例を見出してきた。
【0003】
一般に、マルチロボットシステムを制御するための2つの手法、即ち集中型制御及び非集中型制御が存在する。集中型制御では、エージェントからのデータは、中央計算ユニットにおいて収集される。この中央計算ユニットは、様々なエージェントによって実行されるべき命令(例えば移動命令)を生成することを担う。対照的に、非集中型制御は、個々のエージェントがそれらの近隣物と局所的に対話し、命令を生成し、決定を行うことを伴う。非集中型制御を使用すると、単一障害点(single point of failure)が回避されることができる。これは、ロバストネス及びスケーラビリティを増大させる。スワームロボティクスでは、比較的単純なエージェントが、それらの近隣エージェント(neighbouring agents)と通信し、それらの環境を局所的に感知する。その情報、及びロボットに対して実施された制御方式に基づいて、全ての群れエージェントの実行されたアクションが、単一のエージェントの能力を超える集団行動をもたらすことができる。
【0004】
非集中型制御は、実施がより困難であり得るが、環境中の変化に対してスケーラブル、ロバスト、及び適合可能であるという利点を有する。更に、非集中型制御アルゴリズムは、大抵、限定された搭載能力を有する低コストロボットに対して実施されることができる。その結果として、非集中型制御が時として好まれる。しかしながら、群れの非集中型制御を実施するとき、ローカル管理規則(local control rules)(即ち各エージェントにおいて実行される規則)を実施する各エージェントの連係が所望の創発的群れ行動(emergent swarm behaviour)(例えば自己組織化するロボットの群れ)をもたらすように、これらの規則が適切に設計され、検証されることが重要である。
【0005】
多くの群れの用途では、展開されたエージェントの領域中の通信ネットワークを維持することは、全体的なタスクパフォーマンスを増大させることができることから望ましくあり得る。しかしながら、いくつかの場合、通信ネットワークをサポートするのに利用可能な既存のワイヤレス通信インフラストラクチャが存在しない。これは、例えば、エージェント(例えばロボット)の群れが災害救援任務に展開されるときに起こる可能性がある。この場合、既存のワイヤレス通信インフラストラクチャは、利用不可能であり得る。
【0006】
結果として、展開されたエージェント自体の間で通信ネットワークを形成及び維持する必要がある。展開されたエージェント間で通信ネットワークを維持することは、全体的なタスクパフォーマンスを増大させるのを支援することができ、群れの一部ではない他のシステムが群れエージェントによって維持されたメッシュ通信ネットワークを通して互いと通信することも可能にすることができる。通信ネットワークの冗長性及び向上された信頼性のために、エージェントが最適な位置にそれら自体を動的に配置して、様々な群れエージェント間の接続性を保証することが望ましい。
【0007】
メッシュネットワークは、信頼性の高い通信ネットワークを提供するのに特に適したタイプのネットワークトポロジである。その結果として、従って、様々な群れエージェントを互いに接続するメッシュネットワークを得るエージェントによって実施されるべきローカル規則のセットを作成することが望ましい。そのようなメッシュネットワークは、システムが環境中の変化に対してスケーラブル且つ適合的であることを保証するために、環境、ネットワークトポロジ、又は最適なエージェントのロケーションの予備知識なしに達成されるべきである。
【0008】
エージェントの群れの別の目的は、最適なエリアカバレッジが存在することを保証することである。これは、エージェントの群れが、リアルタイムでエリア全体を(例えばその搭載センサを使用して)観察又は情報を得る(interrogate)ことが可能であるようにエリアをカバーすることを可能にする。例えば、ロボットエージェントは、物体を位置特定するための手段を含むことができる。最適なエリアカバレッジを達成することは、質問(例えばエリア中に物体が存在するか)がエージェントの群れにサブミットされると、群れ全体は、(動的に変化する)環境全体がリアルタイムで共に全てのエージェントによって知覚されることができるので、正確な/誠実な/完全な回答(correct/truthful/complete answer)を提供することが可能であることを意味する。この文脈におけるリアルタイムは、ユーザが群れに質問(例えば、物体xyが環境中に存在するか?又はいくつの物体タイプzが存在するか?)をサブミットするのと、ユーザが群れシステムから返された回答を受けるのとの間に著しい又は目立った時間遅延が存在しないように十分に速いことを意味する。
【0009】
しかしながら、最適なエリアカバレッジを達成するために使用される手法(例えば、大きいエリアわたってエージェントを分散させる)は、大抵、エージェント間の通信ネットワークを維持するための要件と対立し、それは、エージェント間の間隔を制限する。スワームロボティクスに対する以前の手法は、接続性が群れエージェント間で維持されることを保証しながら、改善されたエリアカバレッジのためのエリアを探索する能力を組み合わせる手法を見出すのに苦労してきた。これを踏まえると、未知の動的に変化する環境中のエリアカバレッジを最適化しながら、メッシュネットワーク接続性を維持するエージェント(例えばロボット)の群れを制御するための新しい手法が必要である。
【0010】
実施形態の構成は、例としてのみ成され且つ図と併せて読まれる、以下の発明を実施するための形態からより十分に理解及び認識されるであろう。
【図面の簡単な説明】
【0011】
【
図1】メッシュネットワークを形成した展開された群れロボットシステムの例を示す。
【
図2】展開されたロボットの群れの2つの事例を示す。
【
図3】例による、エリアカバレッジ最適化移動方式(Area Coverage Optimising Movement Scheme)の使用を伴う方法を示す。
【
図4】例による、各エージェントが十分なエリアを局所的に知覚しているかどうかを決定するために使用される第1の基準を示す。
【
図5A】センサ知覚範囲が通信範囲未満である第1の配置における更新エージェントのローカルエリアカバレッジを示す。
【
図5B】センサ知覚範囲が通信範囲よりも大きい第2の配置における更新エージェントのローカルエリアカバレッジを示す。
【
図6A】固定方向フラグメント化(fixed directional fragmentation)を使用するローカルエリア評価の例を示す。
【
図6B】動的方向フラグメント化(dynamic directional fragmentation)を使用するローカルエリア評価の例を示す。
【
図7】例による、各エージェントが十分なエリアを局所的に知覚しているかどうかを決定するために使用される第2の基準を示す。
【
図8A】第1の基準、第2の基準、及び方向フラグメント化を使用するローカルエリア評価の第1の例を示す。
【
図8B】第1の基準、第2の基準、及び方向フラグメント化を使用するローカルエリア評価の第2の例を示す。
【
図9】例による、エリアカバレッジ最適化移動方式(ACOMS)を示す。
【
図10】例による、更新エージェントの通信範囲及び所望の基準距離と重ね合わせられた群れの例示を示す。
【
図11】例による、移動の大きさ(movement magnitude)を決定するための活性化関数を示す。
【発明を実施するための形態】
【0012】
第1の態様によると、非集中型マルチエージェントシステム中の更新エージェントの位置を制御するための方法が提供される。方法は、更新エージェントの通信範囲内の第1の近隣エージェントを識別することと、第1の近隣エージェントまでの第1の距離と、第1の近隣エージェントへの第1の方向とを推定することと、第1の近隣エージェントへの第1の方向に基づいて移動方向を決定することと、活性化関数、第1の近隣エージェントまでの第1の距離、及び所望の基準距離に基づいて移動の大きさを決定することとを備える。活性化関数は、第1の近隣エージェントまでの第1の距離と所望の基準距離との間の差がより大きいほど、移動の大きさがより大きくなるように構成される。方法は、移動方向及び移動の大きさに基づいて更新エージェントを移動させることを更に備える。
【0013】
実施形態では、方法は、近隣エージェントとデータを通信することを更に備える。
【0014】
実施形態では、方法は、近隣エージェントとデータをワイヤレスに通信することを更に備える。
【0015】
実施形態では、エージェントは、ロボットである。
【0016】
実施形態では、移動の大きさは、近隣エージェントまでの第1の距離が所望の基準距離未満であるとき、及び近隣エージェントまでの第1の基準距離が所望の基準距離よりも大きいときの両方でより大きくなる。
【0017】
実施形態では、非集中型マルチエージェントシステムは、エージェントの群れである。
【0018】
実施形態では、所望の基準距離は、所定である。
【0019】
実施形態では、方法は、更新エージェントの通信範囲に基づいて所望の基準距離を計算することを更に備える。
【0020】
実施形態では、活性化関数は、第1の近隣エージェントまでの第1の距離と所望の基準距離との間の差が閾値未満であるとき、0の移動の大きさを発生させるように構成される。
【0021】
実施形態では、活性化関数は、三次関数に基づく。
【0022】
実施形態では、活性化関数は、
図11に示されているものである。
【0023】
実施形態では、方法は、更新エージェントの通信範囲内の第2の近隣エージェントを識別することと、第2の近隣エージェントまでの第2の距離と、第2の近隣エージェントへの第2の方向とを推定することと、第1の近隣エージェント及び第2の近隣エージェントが更新エージェントの所望の基準距離内に位置するかどうかを決定することと、第1の近隣エージェントが更新エージェントの所望の基準距離内に位置し、第2の近隣エージェントが更新エージェントの所望の基準距離内に位置しないと決定することに応答して、第1の近隣エージェントへの第1の方向のみに基づいて移動方向を決定することと、活性化関数に、所望の基準距離に、及び第1の近隣エージェントまでの第1の距離のみに基づいて移動の大きさを決定することとを更に備える。
【0024】
実施形態では、移動方向は、第1の近隣エージェントへの第1の方向に等しく、移動の大きさは、更新エージェントが第1の近隣エージェントへの第1の方向とは反対の方向に移動するように負である。
【0025】
実施形態では、方法は、第1の近隣エージェント及び第2の近隣エージェントが更新エージェントの所望の基準距離内に位置するか、又は、第1の近隣エージェント及び第2の近隣エージェントが更新エージェントの所望の基準距離内に位置しないか、のうちのいずれかであると決定することに応答して、第1の近隣エージェントへの方向ベクトルと第2の近隣エージェントへの方向ベクトルとの和に従って移動方向を決定することと、第1の近隣エージェントまでの第1の距離、活性化関数、及び所望の基準距離に基づいて第1の移動の大きさを決定することと、第2の近隣エージェントまでの第2の距離、活性化関数、及び所望の基準距離に基づいて第2の移動の大きさを決定することと、第1の移動の大きさと第2の移動の大きさとの平均に基づいて移動の大きさを決定することとを更に備える。
【0026】
実施形態では、方法は、更新エージェントと第1の近隣エージェントとの間の通信に基づいて更新エージェントの通信範囲を決定することと、所望の基準距離を通信範囲未満に設定することとを更に備える。
【0027】
実施形態では、方法は、更新エージェントのセンサのセンサ知覚範囲を決定することと、所望の基準距離をセンサ知覚範囲未満に設定することとを更に備える。
【0028】
実施形態では、所望の基準距離は、通信範囲の一部分(proportion)である。
【0029】
実施形態では、通信範囲は、所望の基準距離の半分である。
【0030】
実施形態では、通信範囲を決定することは、通信の信号対雑音比(SNR:Signal-to-Noise Ratio)、到達時間差(TDoA:Time Difference of Arrival)、到達角度(AoA:Angle of Arrival)、送信レート、及びラウンドトリップタイムのうちの少なくとも1つを計算することと、計算された値に基づいて通信範囲を計算することとを更に備える。
【0031】
第2の態様によると、エリア内に展開された非集中型マルチエージェントシステムを操作する方法が提供され、方法は、請求項1に記載の方法による非集中型マルチエージェントシステム中の更新エージェントの位置を更新することと、非集中型マルチエージェントシステム中の各エージェントについてのローカルエリアカバレッジを決定することと、非集中型マルチエージェントシステム中の各エージェントによって実行されたローカルエリアカバレッジに基づいて、完全なエリアカバレッジが非集中型マルチエージェントシステムによって達成されたかどうかを決定することと、完全なエリアカバレッジが非集中型マルチエージェントシステムによって達成されていないと決定することに応答して、非集中型マルチエージェントシステムの一部となるようにエリア内に更なるエージェントを展開することとを備える。
【0032】
実施形態では、方法は、非集中型マルチエージェントシステム間でメッシュネットワークを維持することを更に備える。
【0033】
実施形態では、方法は、非集中型マルチエージェントシステム中のエージェント間でワイヤレスに通信することを更に備える。
【0034】
実施形態では、完全なエリアカバレッジが非集中型マルチエージェントシステムによって達成されていると決定することに応答して、方法は、非集中型マルチエージェントシステムによって実施されるべき未解決要求(outstanding request)が存在するかどうかを決定することと、未解決要求が存在すると決定することに応答して、非集中型マルチエージェントシステムによって維持されたメッシュネットワークを使用して非集中型マルチエージェントシステム中のエージェントの各々間で要求を通信することと、非集中型マルチエージェントシステム中の各エージェントによって、未解決要求を実行することとを更に備える。
【0035】
実施形態では、方法は、未解決要求が存在すると決定することに応答して、各エージェントによって、要求への応答を送信することと、非集中型マルチエージェントシステムによって、非集中型マルチエージェントシステムによって維持されたメッシュネットワークを使用して、要求への応答を中継することと、未解決要求を発行したエージェントによって、各エージェントからの応答を照合することとを更に備える。
【0036】
実施形態では、完全なエリアカバレッジが達成されたかどうかを決定することは、非集中型マルチエージェントシステムにクエリをブロードキャストすることと、非集中型マルチエージェントシステム中の各エージェントによって、各エージェントが十分なエリアを局所的に知覚しているかどうかのインジケーションを送信することと、非集中型マルチエージェントシステム中の各エージェントが十分なエリアを局所的に知覚しているというインジケーションを受信することに応答して、完全なエリアカバレッジが達成されたと決定することとを備え、エージェントは、エージェントによって知覚されているエリアを囲んでいるセンサカバレッジ中に死角(blind spots)が存在しない場合、十分なエリアを局所的に知覚している。
【0037】
実施形態では、エージェントは、エージェントがそれ自体を全体的な完全なエリアカバレッジ(死角はあり得ない)に局所的に寄与することが可能であると評価し、このことから、リアルタイムの動的に変化する環境中の誠実な知覚に寄与する場合、十分なエリアを局所的に知覚している。
【0038】
実施形態では、非集中型マルチエージェントシステム中の各エージェントについてのローカルエリアカバレッジを決定することは、更新エージェントによって、更新エージェントが少なくとも所定の数の近隣エージェントを識別したかどうかを決定すること、及び/又は、更新エージェントによって、更新エージェントが少なくとも1つの障害物の所定の距離内にあるかどうかを決定することを更に備える。
【0039】
実施形態では、非集中型マルチエージェントシステム中の各エージェントについてのローカルエリアカバレッジを決定することは、更新エージェントによって、更新エージェントが少なくとも所定の数の近隣エージェントを識別したかどうかを決定すること、又は、更新エージェントによって、更新エージェントが少なくとも1つの障害物の所定の距離内にあるかどうかを決定することを更に備える。
【0040】
実施形態では、非集中型マルチエージェントシステム中の各エージェントについてのローカルエリアカバレッジを決定することは、更新エージェントによって、更新エージェントが少なくとも所定の数の近隣エージェントを識別したかどうかを決定すること、及び、更新エージェントによって、更新エージェントが少なくとも1つの障害物の所定の距離内にあるかどうかを決定することを更に備える。
【0041】
実施形態では、非集中型マルチエージェントシステム中の各エージェントについてのローカルエリアカバレッジを決定することは、更新エージェントを囲んでいるエリアを第1のセクタ及び第2のセクタに分割することと、ここにおいて、第1のセクタは、第1の角距離に関連付けられ、第2のセクタは、第2の角距離に関連付けられる、第1のセクタが、第2の近隣エージェント、又は、第1の角距離にわたる第1の障害物を備え、第2のセクタが、第3の近隣エージェント、又は、第2の角距離にわたる第2の障害物を備えると決定することに応答して、更新エージェントが十分なエリアを局所的に知覚していると決定することとを更に備える。オプションとして、第1の角距離にわたることは、第1の角距離全体にわたることを意味する。
【0042】
実施形態では、第1の角距離は、第2の角距離に等しい。
【0043】
実施形態では、非集中型マルチエージェントシステム中の各エージェントについてのローカルエリアカバレッジを決定することは、第1のセクタ及び第2のセクタの配置が存在すると決定することに応答して、更新エージェントが十分なエリアを局所的に知覚していると決定することを更に備え、それにおいて、第1のセクタは、第2の近隣エージェント、又は、第1の角距離全体にわたる第1の障害物を備え、第2のセクタは、第3の近隣エージェント、又は、第2の角距離全体にわたる第2の障害物を備える。
【0044】
実施形態では、方法は、センサの周りで第1のセクタ及び第2のセクタを回転させることを更に備える。
【0045】
第3の態様によると、非集中型マルチエージェントシステム中の更新エージェントの位置を制御するための装置が提供される。装置は、更新エージェントの通信範囲内の第1の近隣エージェントを識別することと、第1の近隣エージェントまでの第1の距離と、第1の近隣エージェントへの第1の方向とを推定することと、第1の近隣エージェントへの第1の方向に基づいて移動方向を決定することと、活性化関数、第1の近隣エージェントまでの第1の距離、及び所望の基準距離に基づいて移動の大きさを決定することと、ここにおいて、活性化関数は、第1の近隣エージェントまでの第1の距離と所望の基準距離との間の差がより大きいほど、移動の大きさがより大きくなるように構成される、移動方向及び移動の大きさに基づいて更新エージェントを移動させることとを行うように構成される。
【0046】
実施形態では、活性化関数は、第1の近隣エージェントまでの第1の距離と所望の基準距離との間の差が閾値未満であるとき、0の移動の大きさを発生させるように構成される。
【0047】
実施形態では、装置は、更新エージェントの通信範囲内の第2の近隣エージェントを識別することと、第2の近隣エージェントまでの第2の距離と、第2の近隣エージェントへの第2の方向とを推定することと、第1の近隣エージェント及び第2の近隣エージェントが更新エージェントの所望の基準距離内に位置するかどうかを決定することと、第1の近隣エージェントが更新エージェントの所望の基準距離内に位置し、第2の近隣エージェントが更新エージェントの所望の基準距離内に位置しないと決定することに応答して、第1の近隣エージェントへの第1の方向のみに基づいて移動方向を決定することと、活性化関数に、所望の基準距離に、及び第1の近隣エージェントまでの第1の距離のみに基づいて移動の大きさを決定することとを行うように更に構成される。
【0048】
実施形態では、装置は、第1の近隣エージェント及び第2の近隣エージェントが更新エージェントの所望の基準距離内に位置するか、又は、第1の近隣エージェント及び第2の近隣エージェントが更新エージェントの所望の基準距離内に位置しないか、のうちのいずれかであると決定することに応答して、第1の近隣エージェントへの方向ベクトルと第2の近隣エージェントへの方向ベクトルとの和に従って移動方向を決定することと、第1の近隣エージェントまでの第1の距離、活性化関数、及び所望の基準距離に基づいて第1の移動の大きさを決定することと、第2の近隣エージェントまでの第2の距離、活性化関数、及び所望の基準距離に基づいて第2の移動の大きさを決定することと、第1の移動の大きさと第2の移動の大きさとの平均に基づいて移動の大きさを決定することとを行うように構成される。
【0049】
実施形態では、装置は、更新エージェントと第1の近隣エージェントとの間の通信に基づいて更新エージェントの通信範囲を決定することと、所望の基準距離を通信範囲未満に設定することとを行うように更に構成される。
【0050】
第4の態様によると、非集中型マルチエージェントシステム中で動作するためのエージェントが提供され、エージェントは、更新エージェントの位置を制御するための装置を備える。
【0051】
第5の態様によると、エリア内に展開された非集中型マルチエージェントシステムを備えるシステムが提供され、システムは、請求項1に記載の方法による非集中型マルチエージェントシステム中の更新エージェントの位置を更新することと、非集中型マルチエージェントシステム中の各エージェントについてのローカルエリアカバレッジを決定することと、非集中型マルチエージェントシステム中の各エージェントによって実行されたローカルエリアカバレッジに基づいて、完全なエリアカバレッジが非集中型マルチエージェントシステムによって達成されたかどうかを決定することと、完全なエリアカバレッジが非集中型マルチエージェントシステムによって達成されていないと決定することに応答して、非集中型マルチエージェントシステムの一部となるようにエリア内に更なるエージェントを展開することとを行うように構成される。
【0052】
実施形態では、システムは、完全なエリアカバレッジが達成されたかどうかを決定すると、非集中型マルチエージェントシステムにクエリをブロードキャストすることと、非集中型マルチエージェントシステム中の各エージェントによって、各エージェントが十分なエリアを局所的に知覚しているかどうかのインジケーションを送信することと、非集中型マルチエージェントシステム中の各エージェントが十分なエリアを局所的に知覚しているというインジケーションを受信することに応答して、完全なエリアカバレッジが達成されたと決定することとを行うように更に構成され、エージェントは、エージェントによって知覚されているエリアを囲んでいるセンサカバレッジ中に死角が存在しない場合、十分なエリアを局所的に知覚している。
【0053】
実施形態では、システムは、非集中型マルチエージェントシステム中の各エージェントについてのローカルエリアカバレッジを決定すると、更新エージェントによって、更新エージェントが少なくとも所定の数の近隣エージェントを識別したかどうかを決定すること、及び/又は、更新エージェントによって、更新エージェントが少なくとも1つの障害物の所定の距離内にあるかどうかを決定することを行うように更に構成される。
【0054】
実施形態では、システムは、非集中型マルチエージェントシステム中の各エージェントについてのローカルエリアカバレッジを決定すると、更新エージェントを囲んでいるエリアを第1のセクタ及び第2のセクタに分割することと、ここにおいて、第1のセクタは、第1の角距離に関連付けられ、第2のセクタは、第2の角距離に関連付けられる、第1のセクタが、第2の近隣エージェント、又は、第1の角距離にわたる第1の障害物を備え、第2のセクタが、第3の近隣エージェント、又は、第2の角距離にわたる第2の障害物を備えると決定することに応答して、更新エージェントが十分なエリアを局所的に知覚していると決定することとを行うように更に構成される。
【0055】
実施形態では、第1の角距離は、第2の角距離に等しい。
【0056】
第6の態様によると、プロセッサによる実行に適したコンピュータプログラム命令を備える非一時的コンピュータ可読媒体が提供され、命令は、プロセッサによって実行されると、更新エージェントの通信範囲内の第1の近隣エージェントを識別することと、第1の近隣エージェントまでの第1の距離と、第1の近隣エージェントへの第1の方向とを推定することと、第1の近隣エージェントへの第1の方向に基づいて移動方向を決定することと、活性化関数、第1の近隣エージェントまでの第1の距離、及び所望の基準距離に基づいて移動の大きさを決定することと、ここにおいて、活性化関数は、第1の近隣エージェントまでの第1の距離と所望の基準距離との間の差がより大きいほど、移動の大きさがより大きくなるように構成される、移動方向及び移動の大きさに基づいて更新エージェントを移動させることとを行うように構成される。
【0057】
第7の態様によると、エリア内に展開された非集中型マルチエージェントシステムを操作する方法が提供され、方法は、非集中型マルチエージェントシステム中の各エージェントについてのローカルエリアカバレッジを決定することと、非集中型マルチエージェントシステム中の各エージェントによって実行されたローカルエリアカバレッジに基づいて、完全なエリアカバレッジが非集中型マルチエージェントシステムによって達成されたかどうかを決定することと、完全なエリアカバレッジが非集中型マルチエージェントシステムによって達成されていないと決定することに応答して、非集中型マルチエージェントシステムの一部となるようにエリア内に更なるエージェントを展開することとを備える。
【0058】
実施形態では、方法は、非集中型マルチエージェントシステム間でメッシュネットワークを維持することを更に備える。
【0059】
実施形態では、方法は、非集中型マルチエージェントシステム中のエージェント間でワイヤレスに通信することを更に備える。
【0060】
実施形態では、完全なエリアカバレッジが達成されたかどうかを決定することは、非集中型マルチエージェントシステムにクエリをブロードキャストすることと、非集中型マルチエージェントシステム中の各エージェントによって、各エージェントが十分なエリアを局所的に知覚しているかどうかのインジケーションを送信することと、非集中型マルチエージェントシステム中の各エージェントが十分なエリアを局所的に知覚しているというインジケーションを受信することに応答して、完全なエリアカバレッジが達成されたと決定することとを備える。
【0061】
実施形態では、非集中型マルチエージェントシステム中の各エージェントについてのローカルエリアカバレッジを決定することは、更新エージェントによって、更新エージェントが少なくとも所定の数の近隣エージェントを識別したかどうかを決定すること、及び/又は、更新エージェントによって、更新エージェントが少なくとも1つの障害物の所定の距離内にあるかどうかを決定することを更に備える。
【0062】
実施形態では、非集中型マルチエージェントシステム中の各エージェントについてのローカルエリアカバレッジを決定することは、更新エージェントを囲んでいるエリアを第1のセクタ及び第2のセクタに分割することと、ここにおいて、第1のセクタは、第1の角距離に関連付けられ、第2のセクタは、第2の角距離に関連付けられる、第1のセクタが、第1の近隣エージェント、又は、第1の角距離にわたる第1の障害物を備え、第2のセクタが、第2の近隣エージェント、又は、第2の角距離にわたる第2の障害物を備えると決定することに応答して、更新エージェントが十分なエリアを局所的に知覚していると決定することとを更に備える。オプションとして、第1の角距離にわたることは、第1の角距離全体にわたることを意味する。
【0063】
実施形態では、第1の角距離は、第2の角距離に等しい。
【0064】
実施形態では、非集中型マルチエージェントシステム中の各エージェントについてのローカルエリアカバレッジを決定することは、第1のセクタ及び第2のセクタの配置が存在すると決定することに応答して、更新エージェントが十分なエリアを局所的に知覚していると決定することを更に備え、それにおいて、第1のセクタは、第1の近隣エージェント、又は、第1の角距離全体にわたる第1の障害物を備え、第2のセクタは、第2の近隣エージェント、又は、第2の角距離全体にわたる第2の障害物を備える。
【0065】
実施形態では、方法は、センサの周りで第1のセクタ及び第2のセクタを回転させることを更に備える。
【0066】
以下の説明では、構成及び例が、エージェントの群れ、特にロボットの群れに関して議論される。しかしながら、本明細書で説明される技法は、群れに限定されないことが理解されるであろう。代わりに、技法は、あらゆる非集中型マルチエージェントシステム、特に、あらゆる非集中型マルチロボットシステムにおいて使用されることができる。
【0067】
図1は、メッシュネットワークを形成した展開された群れロボットシステムの例を示す。特に、
図1は、そのエリアカバレッジを最適化しながらメッシュ接続性を維持している配置を示す。本明細書で使用される場合、エリアカバレッジという用語は、エージェント(例えばロボット)の群れが、環境全体を知覚し、ユーザ又は別のシステム(例えばロボット)が群れロボットによって維持されたメッシュ通信ネットワークに(カバーされた環境内のどこからでも)アクセスして使用することを可能にする能力に関する。
【0068】
図1は、境界102内のロボット101の群れを示す。境界102は、物理的境界(例えば壁)又は(例えばロケーション座標によって強制される)仮想的境界であり得る。ワイヤレス無線信号及び光信号もまた、仮想的境界を強制するために使用されることができる。この場合、群れエージェントは、グローバル座標系を認識するか又はグローバル座標系内をナビゲートすることを必要とされない。境界102内では、複数の障害物103が存在する。各ロボット101は、メッシュ通信ネットワークを形成するために、群れ中の少なくとも1つの他のロボットに通信可能に結合される。
【0069】
当該技術分野において知られているように、メッシュネットワークは、各ノード(例えばエージェント)が少なくとも1つの(しかし大抵は多くの)他のノードに接続するネットワークトポロジである。メッシュネットワークでは、任意の2つのノード間の通信は、中継されるネットワーク接続及び任意の介在ノードである。メッシュネットワークの性質に起因して、大抵、2つのノード間の通信をルーティングするために使用されることができる1つよりも多くの経路が存在する。
【0070】
図1に示されたロボットの群れは、ロボットが境界102内の完全なエリアを観察及び/又はそれと対話することが可能であるため、最適なエリアカバレッジを達成している。更に、群れは、
図1の配置における様々なロボット間の接続性を維持しており、それによって、ロボットエージェントによって作成された通信ネットワークが維持されることを保証する。結果として、システム全体は、エージェントが動作し、リアルタイムで要求/質問への応答を生成する環境に関する、システム全体に出されたこれらの要求/質問を処理することが可能である。
【0071】
例えば、
図1では、各ロボット101は、関心のある物体(object of interest)を識別するための手段(例えば無線識別手段、視覚識別手段、等)を備える。この例では、各ロボットがグローバル座標系内のその絶対位置を認識している(それによってグローバル座標系中の関心のある物体の位置が推定されることを可能にする)と想定される。第1のユーザ104は、関心のある物体105の位置を位置特定することを求める要求を群れロボットシステムに送信する。要求は、群れ中のロボットによって形成されたメッシュネットワークにわたって送信される。群れ中の各ロボットは、要求を受信及び処理する。第1のロボット106は、その識別手段を使用して関心のある物体105を位置特定し、関心のある物体の位置を示す応答を第1のユーザ104に送信する。境界102内の全体的なエリアカバレッジを維持することによって、群れは、完全なエリアがロボットによって情報を得られることができることを保証することが可能である。更に、接続性が群れ中のロボット間で維持されることを保証することは、第1のユーザ104と第1のロボット106との間の通信の交換を容易にする。これは、既存のワイヤレス通信インフラストラクチャが利用不可能である
図1の例において、及びワイヤレスアクセスポイントが存在しないことがある他の環境(例えば最小インフラストラクチャシステム)において特に重要である。
【0072】
障害物103は、別のタイプのロボット、又は環境内で操作し、動き回っている人間であり得る。環境が動的に修正される場合(例えば、障害物103が移動されるか若しくは障害物103自体が移動する場合)、又は(例えば境界102によって取り囲まれたエリアを増大させることによって)環境が動的に変化する場合、集団としての群れは、全体的なエリアカバレッジを維持するために適合しなければならない。分散型制御システム(distributed control system)では、これは、各個々のエージェントが全体的なエリアカバレッジを維持する所望の集団行動を達成するためにローカル規則を実施しなければならないことを意味する。
【0073】
図2は、展開されたロボットの群れの2つの事例を示す。特に、
図2は、ロボット(群れ)エージェントが、メッシュ通信ネットワークの完全性が維持されるようにロボット(群れ)エージェント間の通信を依然として維持しながら、全体的なエリアカバレッジを維持するために(即ち、境界によって取り囲まれたエリア全体が観察されることができるように)それら自体を配置している第1の配置201を示す。
【0074】
第2の配置では、モニタリングされている環境のサイズは、拡張されたエリアを含むように変更される。群れ内のエージェントの配置が適合されない場合、エリアカバレッジは、拡張されたエリアの内容がロボット(群れ)エージェントによって観察又は情報を得られることができないので、準最適となるであろう。同様に、エージェントの数が適合されない場合、以前にはエージェントの過密度が存在しなかった(即ち、全体的なエリアカバレッジを達成するのに必要な数よりも多くのエージェントが環境中に展開されていなかった)と想定すると、エリアカバレッジは、拡張されたエリアを知覚するのに十分なエージェントが存在しないであろうことから、準最適となるであろう。
【0075】
拡張されたエリアを観察する1つの方法は、エージェント間の距離を増大させることであり、それによって、より大きいエリアにわたってエージェントを拡散させるであろう。しかしながら、群れのロボット間の距離を増大させすぎることは、ロボットがもはや互いの通信範囲中になくなるリスクがあり、それによって、メッシュネットワークの完全性及び接続性を脅かす。
【0076】
以下で議論される実施形態から明らかになるように、この問題を解決するために、追加のエージェント(例えばロボット)が、ロボットステーション203から展開されて、環境全体をカバー及び知覚する。又は、言い換えれば、エリアカバレッジは、システムがエリア全体を知覚することが可能になるまで、システムに追加のエージェントを追加することによって最適化される。十分なエージェントが展開されているかどうかの決定は、群れ自体によって行われる。このようにして、エリアカバレッジは、未知のサイズのエリア全体をカバー及び知覚するために必要とされるいくつかの最終数のエージェントで達成される。エリアカバレッジは、経時的に最適化される。更に、以下でより詳細に議論される設計された移動方式(即ち各エージェントに関するローカル規則)は、新しいエージェントが最適なエリアカバレッジを達成するために展開される前、間、及び後にエージェント間の接続性を維持する群れの創発的行動をもたらす。
【0077】
発生する行動(arising behaviour)は、従って、接続されたままであり、且つ追加のエージェントが展開されるにつれて成長するエージェントの良く分散されたクラスタである。メッシュネットワークの接続性を維持しながらエリアカバレッジを最適化するための本明細書で開示される方法は、「エリアカバレッジ最適化移動方式(ACOMS)」と呼ばれる。
【0078】
図3は、例による、エリアカバレッジ最適化移動方式の使用を伴う方法を示す。方法は、ステップ301において開始し、ステップ302に進む。ステップ302では、各エージェント(例えばロボットの群れ中のロボット)は、実施形態によるエリアカバレッジ最適化移動方式を実行し、それらのローカルエリアカバレッジを評価する。
【0079】
以下でより詳細に議論されるように、エリアカバレッジ最適化移動方式を実行すると、各エージェントは、個々に、近隣エージェント(例えばロボット)までの距離を決定し、メッシュネットワーク(即ち近隣エージェントへの通信リンク)を維持するが、エリアカバレッジ(即ち関心のあるエリアをモニタリングするための群れの能力)の最適化もするエージェントによって移動命令が実行されると決定する。移動命令は、その後、各エージェントによって実行される。
【0080】
エリアカバレッジ最適化移動方式を実行した後に、各エージェントは、その後、それらのローカルエリアカバレッジを評価する。ローカルエリアカバレッジ評価中に、各エージェントは、エージェントが十分なエリアを局所的に知覚しているかどうかを決定する。「十分なエリアを局所的に知覚している」という用語は、以下のように使用される。エージェントが知覚する(例えばそのセンサで情報を得る)ことができるエリアは、一般に、障害物が存在しない限り変化しない。エージェントが十分なエリアを局所的に知覚しているかどうかを決定することは、エージェントによって知覚されているエリアを囲んでいる任意の「死角」が存在するかどうかをチェックすることと同等である。この文脈では、「死角」は、(例えば、特に、展開されたエージェントのうちの任意のもののセンサを使用して)展開されたエージェントのうちの任意のものによって情報を得られることができないエリアである。
【0081】
図4は、例による、各エージェントが十分なエリアを局所的に知覚しているかどうかを決定するために使用される第1の基準を示す。エージェントが十分なエリアを知覚しているかどうかを決定するために各エージェントによって使用される第1の基準は、エージェントが最小数の近隣ノードによって囲まれているかどうかである。
【0082】
第1の基準を使用するとき、エージェントは、更新エージェントの通信範囲内の少なくとも所定の数のエージェントを識別したかどうかを評価する。エージェントが十分なエリアを知覚していると決定するのに必要とされるエージェントの所定の数は、1以上の任意の数であり得る。近隣エージェントに関する情報(即ち、どのエージェントが更新エージェントの通信範囲内にあるか)が、更新エージェントが近隣エージェントを識別するための通信を送信するときに得られる。この通信は、通信を受信する全てのそれらのエージェントに応答するように促す。応答から、更新エージェントは、近隣エージェントの数を決定し、この数を、更新エージェントが十分なエリアを知覚していると結論付けるのに必要とされるエージェントの所定の数と比較することが可能である。
【0083】
代替として又は加えて、エージェントは、前記エージェントによって備えられた(光センサなどの)センサを使用して近隣エージェントを識別し得る。
【0084】
疑義を回避するために、更新エージェントが少なくとも所定の数の近隣エージェントに関連付けられているかどうかを決定することは、更新エージェントが所定の数の近隣エージェントの閾値距離内にあるかどうかを決定することと同等であり、その閾値は、通信範囲であることに留意されたい。他の例では、十分なローカルエリアカバレッジが存在するかどうかを決定するための閾値距離は、通信範囲とは異なり得る。例えば、距離は、通信範囲の一部分、例えば通信範囲の半分であり得る。距離は所定、例えば0.6メートルであり得る。又は、距離は、展開されたエージェント上のセンサ機器の範囲などの別の要因に依存し得る。
【0085】
更新エージェントが十分なエリアを局所的に知覚しているのに必要とされる近隣エージェントの所定の数は、近隣エージェントの各々のセンサ知覚範囲に依存する可能性がある。オプションとして、更新エージェントが十分なエリアを局所的に知覚しているのに必要とされる近隣エージェントの所定の数は、更新エージェントの通信範囲に対する近隣エージェントのセンサ知覚範囲に依存する可能性がある。
【0086】
図5Aは、センサ知覚範囲が通信範囲未満である第1の配置における更新エージェントのローカルエリアカバレッジを示す。
図5Aは、通信範囲502及び所望の基準距離503を有する更新エージェント501を示す(以下で更に議論される)。更新エージェント501によって知覚されることができる第1のローカルエリア504もまた、
図5Aに示される。更新エージェント501によって知覚されることができる第1のローカルエリア504のサイズは、更新エージェント501におけるセンサの知覚範囲に基づく。
図5Aはまた、第1の近隣エージェント505、第2の近隣エージェント507、及び第3の近隣エージェント509を示し、それらの各々は、それらが更新エージェント501の通信範囲502内にあることから、更新エージェント501に通信可能に接続される。
【0087】
第1の近隣エージェント505は、第1の近隣エージェント505のセンサによって知覚されることができる第2のローカルエリア506に関連付けられる。第2の近隣エージェント507は、第2の近隣エージェント507のセンサによって知覚されることができる第3のローカルエリア508に関連付けられる。第3の近隣エージェント509は、第3の近隣エージェント509のセンサによって知覚されることができる第4のローカルエリア510に関連付けられる。
【0088】
図5Aでは、各近隣ノードのセンサ知覚範囲は、更新ノードの通信範囲未満である。
図5Aは、3つの近隣ノードのみでは、更新エージェント501によって知覚されている第1のローカルエリア504の周りに「死角」が存在することを示す。具体的には、3つの近隣エージェントのみでは、更新エージェント501の通信範囲502内に2つの死角が存在する。その結果として、
図5Aに示されたセンサ知覚範囲及び通信範囲では、3つの近隣エージェントの存在は、更新エージェント501が「十分なエリアを局所的に知覚している」のには十分でない。結果として、
図5Aの例において更新エージェントが十分なエリアを局所的に知覚しているのに必要とされる近隣エージェントの所定の数は、3よりも大きくなるように設定されるべきである(例えば4以上)。
図5Aはまた、近隣エージェントの分散がローカルエリアカバレッジにどのように影響を与える可能性があるのかを実証する。以下により詳細に議論されるように、ローカルエリアカバレッジを決定するときに近隣エージェントの数及び更新エージェントの周りのそれらの分散の両方を考慮に入れる様々な構成が本明細書で開示される。
【0089】
図5Bは、センサ知覚範囲が通信範囲よりも大きい第2の配置における更新エージェントのローカルエリアカバレッジを示す。
図5Bは、同じ特徴を示すために
図5Aと同じ参照番号を使用する。
図5Bでは、各エージェントは、
図5Aにおけるよりも大きいセンサ知覚範囲を有する。その結果として、同じ位置から、各エージェントは、そのセンサで大きいエリアを知覚することが可能である。結果として、
図5Bでは、更新エージェント501のセンサによって知覚されている第1のローカルエリア504を囲んでいる「死角」が存在しない。その結果として、
図5Bに示されたセンサ知覚範囲の構成では、3つの近隣エージェントの存在は、更新エージェント501が十分なエリアを局所的に知覚しているのに十分である。
【0090】
図5A及び
図5Bは、エージェントが十分なエリアを局所的に知覚しているのに必要とされる近隣エージェントの閾値数が群れ中のエージェントのセンサ知覚範囲にどのように依存するかを実証する。オプションとして、近隣エージェントの閾値数は、群れ中のエージェントのセンサ知覚範囲に基づいて決定される。一例では、近隣エージェントの閾値数は幾何学的に検証され、実際の完全なエリアカバレッジを保証する値が選ばれる。
【0091】
別の例では、エージェントは、それらが他の位置付けられたエージェントによって十分に囲まれているかどうかを評価するための更なる基準を利用し得る。例えば、エージェントは、近隣エージェントに対する角度に基づいて十分に囲まれていると決定し得る。
【0092】
図6Aは、固定方向フラグメント化を使用するローカルエリア評価の例を示す。
図6Aは、第1の近隣エージェント602、第2の近隣エージェント603、第3の近隣エージェント604、及び第4の近隣エージェント605に通信可能に結合された更新エージェント601を示す。
図6Aはまた、更新エージェント601の所望の基準距離606(その目的は以下でより詳細に議論される)と、更新エージェント601のセンサによって知覚されることができる第1のローカルエリア607とを示す。
【0093】
1つの配置では、更新エージェント601が十分なエリアを局所的に知覚しているかどうかを決定することは、更新エージェント601を囲んでいる第1のローカルエリア607を等分に再分割又はフラグメント化することと、再分割部分(subdivisions)の各々中に少なくとも1つの近隣エージェントが存在するかどうかを決定することとを更に備える。
図6Aでは、更新エージェント601を囲んでいるエリアは、4つの固定された再分割部分(セクタとも呼ばれる)にフラグメント化される。4つの再分割部分は、等しいサイズであり、四分円とも呼ばれる。再分割部分は、再分割部分の配置(即ち、四分円の角分布又は再分割部分間の境界の位置)が使用時に移動しないという意味で固定されている。この手法は、(例えば、正確な相対方向及び距離を測定するための360度LIDAR又はワイヤレス無線技術を伴わない)単純なセンサを有する低コストロボットを使用するときに有利である。
【0094】
この例では、更新エージェントが十分なエリアを局所的に知覚しているかどうかを決定することは、近隣エージェントの各々への方向を決定することと、各再分割部分中に少なくとも1つの近隣エージェントが存在するかどうかを決定することとを備える。事実上、更新エージェントが十分なエリアを局所的に知覚しているかどうかを決定することは、所定の数の近隣エージェントが更新エージェントの周りに分散されているかどうかを決定することを備える。
図6Aでは、第1の再分割部分は、第1の近隣エージェント602と第2の近隣エージェント603との2つの近隣エージェントを備える。第2の再分割部分は、第3の近隣エージェント604を備える。第3の再分割部分は、第4の近隣エージェント605を備える。しかしながら、第4の再分割部分中には近隣エージェントが位置していない。
【0095】
その結果として、更新エージェントが十分なエリアを局所的に知覚しているかどうかを考慮するとき、更新エージェント601は、第4の再分割部分中に近隣エージェントが存在しないので、各再分割部分中に少なくとも1つの近隣エージェントが存在しないと決定する。結果として、更新エージェント601は十分なエリアを局所的に知覚していないと決定される。
【0096】
図6Bは、動的方向フラグメント化を使用するローカルエリア評価の例を示す。
図6Bは、同じ特徴を示すために
図6Aと同じ参照番号を使用する。
図6Bの例では、等しいサイズの4つの再分割部分が存在し、更新エージェントが十分なエリアを局所的に知覚しているかどうかを決定することは、各近隣エージェントへの方向を決定することと、各再分割部分中に少なくとも1つの近隣エージェントが存在する区分化(segmentation)の配置が存在するかどうかを決定することとを備える。これは、再分割部分の向き(即ちそれらの相対角位置(relative angular positions))が変化しない
図6Aにおける固定された手法とは異なる。
【0097】
例えば、
図6Bでは、再分割部分は、
図6Aにおける固定された配置から時計回りに回転される。この回転された配置では、各区分中に少なくとも1つの近隣エージェントが存在する。その結果として、更新エージェント601は、十分なエリアを局所的に知覚していると決定する。オプションとして、区分の向きは、主成分分析、トライアルアンドエラー、又は他の技法を使用して決定される。
【0098】
上記の例では4つの区分が使用されたが、2よりも大きい任意の数の区分が使用されることができることが強調される。オプションとして、区分の数は所定である。一例では、区分(再分割部分とも呼ばれる)の数は幾何学的に検証され、実際の完全なエリアカバレッジを保証する値が選ばれる。
【0099】
エージェントが十分なエリアを知覚しているかどうかを決定するために各エージェントによって使用される第2の基準は、エージェントが群れによってモニタリングされている環境の障害物又は境界に十分近いかどうかである。エージェントは、エージェントが十分なエリアを局所的に知覚しているかどうかを決定するために、第1の基準及び/又は第2の基準(即ち第1の基準、又は第2の基準、又は第1の基準と第2の基準)を使用し得る。
【0100】
図7は、例による、各エージェントが十分なエリアを局所的に知覚しているかどうかを決定するために使用される第2の基準を示す。エージェントが十分なエリアを知覚しているかどうかを決定するために各エージェントによって使用される第2の基準は、エージェントが群れによってモニタリングされている環境の障害物又は境界に十分近いかどうかである。
【0101】
第2の基準が使用されるとき、更新エージェントは、エージェントが群れによってモニタリングされている環境の障害物又は境界に十分近いかどうかに基づいて、十分なエリアを局所的に知覚しているかどうかを決定する。この場合、エージェントは、知覚することができるエリア中に障害物が存在するかどうかを識別するために、感知手段(例えば視覚センサ又は無線センサ)を使用する。オプションとして、エージェントは、壁又は障害物がエージェントの所定の距離内にあるかどうかを決定する。所定の距離は、エージェントの通信範囲未満であり得る。これは、近隣エージェント702に関連付けられた更新エージェント701と、更新エージェント701の所定の距離704内にある障害物/壁703とを示す
図7の第2の基準において見ることができる。更新エージェント701は、例えば、他のエージェントにそれら自体を識別することを促すエージェント通信に応答していない静的物体を検出することによって、その搭載感知手段を使用して、所定の距離内に障害物/壁703が存在すると識別する。
【0102】
一例では、更新エージェント701の搭載感知手段は、(例えば、360度LIDAR(光検出及び測距)を使用して)物体の存在を識別する。近隣エージェント702までの相対距離及び角度は、ロボットの搭載ワイヤレス無線技術を使用して、近隣エージェント702との通信交換に基づいて(例えば、受信信号強度インジケータ(RSSI)測定及び到達角度(AoA)分析に基づいて)、更新エージェント701によって推定される。更新エージェント701は、その後、近隣エージェントを位置特定するための手段を使用して識別されなかった任意の検出された物体が存在するかどうか(即ち、検出された物体のうちの任意のものがワイヤレス通信信号に応答していないかどうか)を決定する。検出された物体もまた近隣エージェントを位置特定するための手段を使用して識別されていない場合、物体は壁又は障害物であると決定される。
【0103】
別の例では、壁及び/又は障害物は、それ自体を壁/障害物として識別する無線機器を装備される。この場合、エージェント701は、搭載ワイヤレス無線技術を使用して所定の距離内に障害物/壁が存在すると決定する。
【0104】
エージェントが、エージェント内に備えられた感知手段を使用して、情報を得ることができるエリアの少なくとも一部分中に壁又は障害物が存在すると識別する場合、エージェントは、十分なエリアを局所的に知覚していると決定される。
【0105】
エージェントは、エージェントが十分なエリアを局所的に知覚しているかどうかを決定するために、第1の基準及び/又は第2の基準(即ち第1の基準、又は第2の基準、又は第1の基準と第2の基準)を使用し得る。
【0106】
更なる実施形態では、エージェントは、障害物/壁703を含むエージェントの観察エリアの角範囲を決定し、角範囲の残りが任意の死角に近接しているかどうかを評価するための第1の基準を使用し(即ち、所定の数の近隣物が存在するかどうかを決定する)、それによって、エージェントが十分なエリアを局所的に知覚していないであろうことを意味する。
【0107】
別の例では、方向フラグメント化と第1の基準及び第2の基準の両方とは、更新エージェントが十分なエリアを局所的に知覚しているかどうかを決定するために使用される。
【0108】
図8Aは、第1の基準、第2の基準、及び方向フラグメント化を使用するローカルエリア評価の第1の例を示す。
図8Aは、同じ特徴を示すために
図6Bと同じ参照番号を使用する。
図8Aに示す構成はまた、更新エージェント601のセンサの範囲内に壁801を含む。第1の基準及び第2の基準の両方を使用するとき(本明細書ではハイブリッド手法と呼ばれる)、更新エージェント601は、各再分割部分中に、1)少なくとも1つの近隣エージェントが存在するかどうか、又は2)角範囲を完全に占める(又は満たす)壁/障害物が存在するかどうかを決定する。例えば、
図8Aでは、更新エージェント601は、壁801が第4の再分割部分の角範囲を完全に満たしているわけではないと決定する。その結果として、更新エージェント601は十分なエリアを局所的に知覚していないと決定される。
【0109】
図8Bは、第1の基準、第2の基準、及び方向フラグメント化を使用するローカルエリア評価の第2の例を示す。
図8Bでは、壁801は、第4の再分割部分の角範囲全体に存在する。その結果として、第4の再分割部分は、角範囲を完全に占める(又は満たす)壁/障害物が存在するという基準を満たす。更に、第1、第2、及び第3の再分割部分の各々は、それらが各々少なくとも1つの近隣エージェントを包含するので、ハイブリッド手法において使用される基準を満たす。その結果として、更新エージェント601は、十分なエリアを局所的に知覚していると決定する。
【0110】
ハイブリッド手法(即ち第1及び第2の基準を使用する)が
図6Bの動的フラグメント化に関連して議論されているが、(
図6Aにおいて説明された)固定フラグメント化もまた使用されることができることが認識されるであろう。
【0111】
図3に戻ると、ローカルエリアカバレッジが各エージェントによって評価されると、方法は、ステップ303に進み、ここで、完全なエリアカバレッジが達成されているかどうか、又は完全なエリアカバレッジが既に達成されている場合には、エリアカバレッジ最適化移動方式を実行している間に実行された移動後も完全なエリアカバレッジが維持されているかどうかが決定される。
【0112】
(例えばユーザによって)群れシステムにサブミットされた要求又は質問が正確に回答されることができることを保証するために、グローバルエリアカバレッジが評価されることは重要である。即ち、完全なエリアカバレッジが達成されたときにのみ、展開されたエージェントによって提供された応答が、考慮されているエリアを表すと結論付けられ得る。例えば、完全なエリアカバレッジがないと、関心のある物体が、ただ群れ中のエージェントの感知範囲内にないだけで物体は存在しているのに、エリア中に存在しないとエージェントによって決定され得る。
【0113】
各エージェントがそれらのローカルエリアカバレッジを評価した後に、エージェントは、(オプションとして、各エージェントが十分なエリアを局所的に知覚しているかどうかをクエリする要求メッセージを受信することに応答して)それらが十分なエリアを局所的に知覚しているかどうかをアドバタイズする通信を送信する。この通信は、エージェントによって維持されたメッシュネットワークを介して中継される。
【0114】
例では、クエリは、エージェントの群れにサブミットされる。クエリを包含するメッセージは、エージェントの全てにブロードキャストされ、各エージェントは、クエリのソースに中継し戻される一意の回答メッセージを送信する。クエリのソースは、エージェントの群れ中のエージェントであり得る。クエリのソースはまた、エージェントの通信範囲中のデバイスであり得る。この場合、デバイスは、エージェント間に形成されたメッシュネットワークにより、群れ中の各エージェントと通信することが可能である。回答メッセージを収集することによって、エージェント、又はエージェントの通信範囲中のデバイスは、それらが十分なエリアを局所的に知覚していないと少なくとも1つのエージェントが報告するかどうかに基づいて、完全なエリアカバレッジが存在するかどうかを決定することができる。代替として、群れ中のエージェントの各々にブロードキャストされるクエリは、エージェントが十分なエリアを局所的に知覚していないかどうかであり得る。
【0115】
例では、エージェントの群れ中のエージェントがロボットである場合、コントローラデバイスが、展開ステーションからロボットの群れによって現在占められている関心のあるエリアへのロボットの展開を制御するために使用される。コントローラデバイスは、ロボットの群れ中の少なくとも1つのロボットに通信可能に結合される。ロボットがメッシュネットワークを維持することにより、コントローラデバイスは、展開されたロボットの各々から通信を受信することが可能である。ロボットのローカルエリアカバレッジをアドバタイズする通信の各々は、メッシュネットワークを介してコントローラに通信される。これらの通信に基づいて、コントローラデバイスは、完全なエリアカバレッジが達成されたかどうかを決定する。一例では、コントローラデバイスは、十分なエリアを局所的に知覚しているエージェントの数(例えば、100個の展開されたエージェントのうちの80個)をユーザに瞬時に提示し、ユーザは、更なるエージェントを展開するためにコントローラデバイスと対話する。
【0116】
異なる例では、コントローラデバイスは、展開ステーションから追加のロボットを展開することを必要とされない。例えば、ロボットは、箱から出した形(out-of-the-box manner)で展開されることができ、ロボットを開梱し、任意の他の作動中のロボットの通信範囲内に置き、オンにすると、ロボットが動き出す(off it goes)ことは、群れシステムの一部であることを意味する。
【0117】
完全なエリアカバレッジが達成/維持されていないとステップ303において決定される場合、より多くのエージェントがステップ304において展開され、方法は、ステップ302に進み、ここで、各エージェントは、エリアカバレッジ最適化移動方式(ACOMS)を再び実行する。
【0118】
実施形態では、新しいエージェントが群れに、そして既存の通信ネットワークの通信範囲内にある観察境界内の任意のロケーションに順次展開される。別の例では、複数のエージェントが、同時にエージェントの群れに展開される。新しいエージェントを展開した後に、メッシュネットワーク中の各エージェントの位置は、以下でより詳細に議論されるように、エリアカバレッジ最適化移動方式(ACOMS)を再実行するときに各エージェントによって個々に調整される。
【0119】
完全なエリアカバレッジが達成/維持されているとステップ303において決定される場合、方法は、ステップ305に進む。ステップ305~307は、ロボットの群れの使用事例に関し、エリアカバレッジ最適化移動方式(ACOMS)が使用されることができる実例的な使用事例を提示するために議論される。しかしながら、これらのステップは、例としてのみ議論され、オプションである。
【0120】
ステップ305では、反応的(reactive)群れシステムにサブミットされることができる任意の保留中のユーザ要求が存在するかどうかが決定される。保留中の要求は、例えば、関心のある物体が群れによってモニタリングされている境界内に位置するかどうかを決定することを求める要求であり得る。
【0121】
保留中のユーザ要求が存在しないとステップ305において決定される場合、方法は、ステップ302に進み、ここで、エージェントは、エリアカバレッジ最適化移動方式(ACOMS)を再び実行する。
【0122】
ステップ305において保留中のユーザ要求が存在すると決定される場合、方法は、ステップ306に進み、ここで、メッシュネットワーク中のエージェントにサブミットされた要求又は質問は、維持されたメッシュ通信ネットワークを通して全ての群れエージェントにブロードキャストされる。ステップ307では、各エージェントは、要求しているエージェントに反応し、それに対してその回答を返す。ステップ308では、要求しているエージェントは、ステップ307において応答を受信することに応答してその質問への回答を形成する。
【0123】
図3の方法がエージェントの群れによって実施されるとき、群れは、要求/質問を受信するエージェントが維持されたメッシュ通信ネットワークを使用して他のエージェントの全てに要求/質問をブロードキャストするので、ユーザ要求/質問に反応的になる。ブロードキャストされた要求を受信することに応答して、全てのエージェントは、そのローカル環境を知覚し、要求を実行するか又は質問に回答する。個々の応答は、次いで、要求しているノードに通信し戻され、要求しているノードが、群れが動作する環境をリアルタイムで全体的に評価することを可能にする。
【0124】
別の例では、(ステップ302における)エリアカバレッジ最適化移動方式(ACOMS)は、
図3に示された他のステップ(特にステップ303及び304)とは独立して各エージェントにおいて連続して実行される。
【0125】
以下でより詳細に議論されるように、エリアカバレッジ最適化移動方式(ACOMS)は、メッシュ接続性を維持しながらエリアカバレッジを評価及び最適化する。これは、群れシステムがリアルタイムで環境全体を知覚することを可能にする。これは、絶えず/動的に変化している(例えば、人間又は他の存在がレイアウト、障害物、物体、等を修正及び変更する)環境中で特に有用である。この場合、記憶又は構築された環境のマップ又は物体のデータベースは、例えば、エリアカバレッジを最適化するにはほとんど価値がなく、従って、サブミットされた質問に応答して誠実な回答が得られることを保証する。
【0126】
図9は、例による、エリアカバレッジ最適化移動方式(ACOMS)を示す。
図9に示されたエリアカバレッジ最適化移動方式(ACOMS)は、エージェントの群れ中のエージェントにおいて実施され、環境の予備知識及び環境内の最適なエージェント位置の予備知識を想定しない。エリアカバレッジ最適化移動方式(ACOMS)を実施するために、エージェントは、移動式(mobile)(即ち、位置に固定されるのとは対照的に移動が可能)でなければならない。エリアカバレッジ最適化移動方式(ACOMS)は、エージェントの群れ中の各移動式エージェントにおいて独立して実行される。その結果として、
図9は、各エージェントによって実行されるローカル命令の一部を形成する。これらのアクションを実行する各エージェントの集団効果は、エージェント(例えばロボット)間の通信ネットワークを維持しながら完全なエリアカバレッジを達成するロボットの群れである。
【0127】
方法は、ステップ901において開始し、ステップ902に進む。ステップ902では、別名更新エージェントとしても知られる、エリアカバレッジ最適化移動方式(ACOMS)を実施するエージェントは、全ての近隣エージェントを識別し、それらに接続する2つのエージェントは、それらが互いの通信範囲内にある場合に「近隣」であると考えられる。即ち、2つのエージェントは、互いと情報をワイヤレスに通信(即ち送信及び受信)をすることが可能である。オプションとして、
図9の方法がいくつかの反復の間に実行される場合、更新エージェントは、切断及び再接続することなく、1回よりも多くの反復の間に近隣エージェントに接続されたままである。
【0128】
各エージェントの通信範囲は、それに限定されないが、エージェントの近くに障害物が存在することを含むいくつかの理由により変化し得る。
【0129】
好ましくは、近隣エージェントが識別され、近隣情報が、ワイヤレス通信リンクを通して他のエージェントに直接メッセージングすることによって得られる。
【0130】
実施形態では、メッシュネットワーク中の各エージェントは、一意の識別子を有し、更新エージェントは、ステップ902では、各近隣エージェントの一意の識別子を記憶する。オプションとして、一意の識別子は、媒体アクセス制御(MAC)識別子である。
【0131】
ステップ903では、更新エージェントは、近隣ノードの各々までの距離及び方向を推定する。実施形態では、各エージェントは、測定手段を備え、近隣エージェントまでの相対距離及び方向を推定するために測定手段を使用する。オプションとして、各エージェントは、(例えば、ワイヤレス通信用の)無線機を装備され、測定手段は、近隣エージェントとの直接通信中に受信される信号の到達角度測定に基づいて近隣エージェントへの方向を推定する。別の例では、測定手段は、近隣エージェントまでの距離及び方向を推定するためのセンサ、例えば視覚センサを備える。更なる実施形態では、センサ(例えば視覚センサ)及び無線送信/受信手段の両方が、近隣エージェントまでの相対距離及び方向を決定するために使用される。
【0132】
上記で議論されたように、通信範囲は、問題の(in question)エージェントによって生成されたワイヤレス通信が受信されることができる距離であり、問題のエージェントが他のエージェントから通信を受信することができる距離である。通信範囲は、エージェント毎に異なり得、エージェントが位置する環境に依存する。2つのエージェントが近隣物として互いを識別しているので、それらは、互いと通信することが可能であり、従って、それらは、定義上、互いの通信範囲内にある。
【0133】
例では、通信範囲は、予め定義される(例えば3メートルに設定される)。しかしながら、この手法は、(例えば通信経路中の障害物に起因して)通信リンクが実際には信頼できないことがあるので、準最適である。
【0134】
その結果として、代替の例では、更新エージェントはまた、更新エージェントの通信範囲を決定するために、その近隣物の各々へのリンク品質を推定する。これを行うために、更新エージェントは、エージェントとその近隣物との間の直接通信交換に基づいて、様々なリンクパラメータを測定する。これらのリンクパラメータは、それらに限定されないが、受信される信号の信号対雑音比(SNR)、到達時間差(TDoA)、到達角度(AoA)、送信レート、及びラウンドトリップタイムを含む。
【0135】
別の例では、更新エージェントが1つよりも多くの近隣エージェントを有するとき、更新エージェントは、近隣エージェントの各々から受信される信号の信号対雑音比(SNR)を測定する。通信範囲は、(最大)通信範囲を決定するために信号対雑音比(SNR)と、更新エージェントと近隣エージェントとの間の距離とを使用する数式を使用して推定される。更新エージェントは、(近隣エージェントの各々との通信から生成された)測定されたSNR値の各々についての通信範囲を推定する。通信範囲は、次いで、測定されたSNR値の各々に基づいて決定された通信範囲の平均に従って計算される。
【0136】
更新エージェントと近隣エージェントとの間の通信リンクの品質は、経時的に変化する可能性がある。例えば、環境の1つの特定の部分中で、通信距離を低減する著しい無線信号反射又は吸収が存在し得る。その結果として、平均通信範囲が各反復中に再計算され、所望の基準距離がそれに応じて更新される。
【0137】
一例では、各エージェントは、これらのリンクパラメータを通信及び測定するためのタイマ及びワイヤレス通信手段を備える。
【0138】
ステップ903では、エージェントはまた、近隣物までのその所望の基準距離を推定する。実施形態では、所望の基準距離は、エージェントの通信範囲の一部分である。その一部分は、所望の基準距離がエージェントの通信範囲未満であるように、1倍未満である。オプションとして、所望の基準距離は、決定された通信範囲の半分(即ち0.5倍)である。別の例では、所望の基準距離は、エージェントローカル環境(即ちセンサ知覚範囲)を知覚するために使用されるセンサ(複数可)の範囲によって限定される。これは、エージェント(即ち更新エージェント及び近隣エージェント)がローカルエリア評価中に任意の「死角」を防止又は避けるために十分に近いままであることを保証する。
【0139】
通信範囲が決定されると、所望の基準距離が計算され、方法は、ステップ904に進む。ステップ904では、更新エージェントは、所望の基準距離よりも近い任意の近隣エージェントが存在するかどうかを決定する。ステップ904における決定の言い回し(phrasing)は、群れ行動の優先事項を実証する(即ち、ステップ904において提示された質問は、最優先事項として方式が回避する行動/状況を示す)。
【0140】
最初に、更新エージェントは、所望の基準距離よりも近い任意の近隣エージェントが存在するかどうかを決定する。所望の基準距離よりも近い近隣エージェントが存在する場合、方式は、他のエージェントを回避し、これらの近隣ノードまでの距離を増大させることに集中する。所望の基準距離よりも近い少なくとも1つの近隣エージェントが存在するとステップ904において識別される場合、方法は、近すぎるエージェントから離れるように移動することが方式の最優先事項なので、ステップ906に進む。結果として、ステップ906では、更新エージェントは、所望の基準距離よりも近いそれらの近隣エージェントのみを考慮して(即ち、任意の移動決定において所望の基準距離から更に離れている近隣ノードを無視して)移動方向及び大きさを計算する。ステップ906では、更新エージェントは、移動方向及び大きさを決定し、移動を実行し、それによって、選択された近隣エージェントから離れるように移動する。
【0141】
近隣エージェントの全てが所望の基準距離よりも近くないとステップ904において決定される場合、方法は、ステップ905に進む。ステップ905では、更新エージェントは、移動方向及び移動の大きさを決定する。更新エージェントは、その後、移動を実行し、この場合、近隣エージェントに向かってより近づくように移動し、それによって、所望の基準距離により近づくように距離を低減し、そのため、メッシュ接続性が維持される。
【0142】
所望の基準距離よりも近い任意の(即ち少なくとも1つの)近隣エージェントが存在するかどうかを決定することによって、更新エージェントのローカルアクションが、他のエージェントとの衝突を回避するために優先的に行われる。
【0143】
上記で議論されたように、更新エージェントの移動方向及び移動の大きさは、ステップ904における決定に応じてステップ906及び905において決定される。移動方向及び大きさを決定することは、所望の基準距離よりも近い近隣エージェントが0である例の文脈において以下で議論される。しかしながら、所望の基準距離よりも近い少なくとも1つの近隣エージェントが存在するときに同じ手法が取られることが認識されるであろう。
【0144】
図10は、例による、更新エージェントの通信範囲及び所望の基準距離と重ね合わせられた群れの例示を示す。
図10は、更新エージェント1001を示し、更新エージェント1001は、実施形態によるエリアカバレッジ最適化移動方式(ACOMS)を実行している。更新エージェント1001は、第1の近隣エージェント1002及び第2の近隣エージェント1003に関連付けられる。第1の近隣エージェント1002及び第2の近隣エージェント1003の両方は、更新エージェント1001の通信範囲1004内にある。上記で議論されたように、エリアカバレッジ最適化移動方式(ACOMS)の一部として、更新エージェント1001は、その通信範囲1004を決定し、その所望の基準距離1005を計算し、所望の基準距離1005は、オプションとして、通信範囲1004の一部分である
図10に示された例では、所望の基準距離1005は、通信範囲1004の半分(即ち0.5倍)である。
【0145】
図10に示された例では、近隣エージェントのうちのどちらも(即ち、第1の近隣エージェント1002又は第2の近隣エージェント1003のうちのどちらも)更新エージェント1001の所望の基準距離1005内にないとステップ904において決定される。その結果として、
図9に示された方法は、ステップ905に進み、移動方向及び大きさを決定して、近隣エージェントにより近づくように更新エージェント1001を移動させ、それによってメッシュ接続性が維持されることを保証する。
【0146】
ステップ905は、2つの部分を備える。第1に、更新エージェント1001は、新しい移動方向及び大きさを計算し、第2に、更新エージェント1001は、決定された移動を実行する。
【0147】
更新エージェントは、考慮されている各近隣エージェントの方向に基づいて移動の方向を決定する。上記で議論されたように、移動方向分析中に考慮されている近隣エージェントの数が近隣ノードの総数未満(即ちその部分集合(sub-set))である事例が存在し得る。例えば、これは、所望の基準距離よりも近い少なくとも1つの近隣エージェントが存在するときに生じる可能性がある。方式の優先事項が衝突を回避することなので、どの移動方向決定も、所望の基準距離よりも近い少なくとも1つの近隣エージェントへの方向のみに基づくであろう(即ち、更新エージェントから所望の基準距離よりも遠く離れて位置する近隣エージェントを含まない)。この場合、考慮されている近隣エージェントは、所望の基準距離よりも近いそれらの近隣エージェントのみを含む。
【0148】
図10の例では、所望の基準距離よりも近い近隣エージェントが存在しない。その結果として、全ての近隣エージェントが、移動方向決定中に考慮されている。実施形態では、更新エージェントについての移動の方向を決定することは、考慮されている各近隣ノードへの方向ベクトルの和の方向を決定することを備える。
【0149】
更新エージェント1001から第1の近隣エージェント1002及び第2の近隣エージェント1003(それらの両方は、移動方向決定のために考慮されている)への方向は、
図10において2次元を備えるベクトルとして表される。更新エージェント1001についての移動の方向は、考慮されている各近隣エージェント、即ち第1の近隣エージェント1002及び第2の近隣エージェント1003についての方向ベクトルの和である。
図10の例では、更新エージェントについての移動の方向は、第1の近隣エージェント1002への方向ベクトルと第2の近隣エージェント1003への方向ベクトルとの和の方向に従って計算される。オプションとして、結果として生じるベクトルは、正規化されたベクトル和が1の絶対値を有するように正規化される。
【0150】
移動方向を決定した後に、更新エージェント1001は、移動の大きさを決定する。移動の大きさは、活性化関数に従って計算される。
【0151】
図11は、例による、移動の大きさを決定するための活性化関数を示す。活性化関数は、更新エージェント1001についての移動の大きさを決定するために、近隣エージェントまでの距離と所望の基準距離とを使用する。1つよりも多くの近隣エージェントが考慮されているとき、移動の大きさ(即ち活性化関数の出力)は、更新エージェント/近隣エージェント対毎に別個に計算され、これらの移動の大きさの各々の平均が、更新エージェントによって使用される移動の大きさを決定するために取られる。
【0152】
図11において見ることができるように、近隣エージェントの距離が近隣エージェントまでの所望の基準距離未満である場合、更新エージェント1001は、近隣エージェントから離れるように移動し、それによって所望の基準距離により近づくように距離を増大させ、衝突を防止する。更新エージェントが近隣エージェントにより近づくほど、更新エージェントは、近隣ノードからより速く離れるように移動する。これは、近隣エージェントに対するより低い距離値に関連付けられた、
図11におけるより高い移動の大きさにおいて見ることができる。
【0153】
他方では、近隣エージェントまでの更新エージェントの距離が所望の基準距離よりも大きい場合、更新エージェントは、近隣エージェントに向かって移動し、それによって所望の基準距離により近づくように距離を低減する。近隣エージェントの距離が通信範囲にほぼ等しい場合、更新エージェントは、エージェントに向かって急速に移動し、それによって距離を最小化する。これは、この距離においてメッシュ接続性が失われ得る可能性が高いためであり、その結果として、迅速なアクションが取られなければならない。これは、近隣エージェントまでの距離が増大するにつれてより高い値の移動の大きさを示す
図11において見ることができる。
図11から、負の移動の大きさが正の移動の大きさとは反対の方向への移動をもたらすこともまた認識されるであろう。
【0154】
図11に見ることができるように、活性化関数のプロファイルはまた、近隣エージェントまでの距離と所望の基準距離との間に小さい差しか存在しない状況を説明する(accounts for)。この場合、決定された移動の大きさは小さく、更新エージェントは、ほとんど又は全く移動を行わない。これは、定常状態が達成されると、全体的な移動雑音及びシステムのエネルギー消費を低減する。
【0155】
上記から明らかとなるように、
図11に示された非線形活性化関数は、異なる距離が異なって処理されることを可能にする。例えば、メッシュネットワークの接続性を維持するために距離が低減されることが重要なので、大きい距離は高い移動の大きさをもたらす。更に、小さい距離は、移動を低減し、エージェントのエネルギーを節約するために、ほとんど又は全く移動しないことをもたらす。
【0156】
図11では、移動の大きさは、+100~-100の範囲を有する。例では、移動の大きさは、エージェントの速度に対応する。この場合、エージェントは、次のサンプル時間(即ち、次回
図9の方法が実行される)まで、決定された速度で移動する。代替として、移動の大きさは、エージェントの加速度又はエージェントによって移動されるべき距離に対応する。
【0157】
特定の活性化関数が
図11に示されているが、まさにこの関数は例に過ぎず、同じ効果を達成する(例えば、移動の大きさを決定するときに大きい距離と小さい距離との間を区別する)他の関数が使用されることができることが認識されるであろう。更に、
図11における尺度(例えば移動の大きさ及び距離)は例に過ぎず、当業者によって認識されるように、他の尺度構成が使用されることができる。
【0158】
移動の大きさ及び方向を決定した後に、更新エージェント1001は、決定された移動を実行する。
【0159】
上記から明らかになるように、エリアカバレッジ最適化移動方式(ACOMS)は、方法が衝突を回避し、カバレッジを最適化し、メッシュネットワークの接続性を維持するための積極的な(proactive)アクション(例えば移動)を伴うので、移動式(即ち移動が可能)であるエージェントに対してのみ実施される。しかしながら、これは、エージェントのうちのいくつかが固定された(即ち、本明細書で議論されたように、移動し且つエリアカバレッジ最適化移動方式(ACOMS)を実施することが可能でない)環境中で方式が展開されることを妨げない。例えば、展開は、トラフィック(例えば通信メッセージ)が転送される必要がある固定されたノードを含むことができる。この場合、残りの移動式エージェントは、任意の取り囲まれた環境又は仮想バリアを有する環境中の全体的なエリアカバレッジを最適化及び評価しながら全体的な接続性に寄与することを目的として、ルーティングプロトコルに関わらず動的に移動する。
【0160】
図12は、例による、ロボット1200を示す。上記で議論されたように、ロボットは、あるタイプのエージェントである。ロボット1200は、ホロノミック駆動装置(holonomic drive)などの駆動手段1201を備える。駆動手段1201は、例えば、ロボット1200が環境中を動き回るときにロボット1200の移動を制御する。
【0161】
ロボット1200は、信号を送信及び受信するためにアンテナ1203に通信可能に結合されたワイヤレス入力/出力ポート1202を更に備える。入力/出力ポート1202は、無線信号、好ましくは短距離無線通信信号を送信及び受信するように構成される。ロボット1200は、環境中の別のロボットから信号を受信し得る。ロボット1200は、環境中の別のロボットに信号を送信し得るか、又は環境中の全てのロボットに信号を全体的にブロードキャストし得る。
【0162】
各ロボット1200は、不揮発性メモリ1205に結合されたマイクロプロセッサ1204を更に備える。マイクロプロセッサ1204は、不揮発性メモリ1205中に記憶された命令を実行するように構成される。これらの命令の実行は、ロボット1200に、それに限定されないが、本明細書で議論されたエリアカバレッジ最適化移動方式(ACOMS)を含む、本明細書で説明された方法ステップのうちのいくつかを実行させる。例えば、命令の実行は、駆動手段1201と連動して制御モジュール1206に環境中のロボット1200を移動させ得る。
【0163】
オプションとして、マイクロプロセッサ1204は、群れ中の他のエージェントから受信された質問に回答し、受信された要求に応答するように構成される。
【0164】
図12では、1つのアンテナのみが入力/出力ポート1202に接続されているが、入力/出力ポート1202は、1つよりも多くのアンテナに通信可能に結合され得ることが強調される。
【0165】
ロボット1200は、無線又は視覚センサなどの測定手段を更に備え得、近隣エージェントまでの相対距離及び方向を推定するために測定手段を使用する。ロボット1200はまた、使用事例に応じて、ユーザ要求に回答するために必要とする任意の他のセンサを備え得る。例えば、ロボット1200は、温度モニタリングのために使用され得る。この場合、各ロボット1200は、加えて、温度センサを装備されるであろう。
【0166】
上記で説明された方法は、市販の(off-the-shelf)ハードウェア及び無線機を使用して実施されることができるという利点を有する。結果として、単純なエージェントが、本明細書で開示された方法を使用して完全な分散型メッシュネットワーキング接続性を得ることができる。これは、高度なグローバルローカリゼーション又は通信インフラストラクチャを必要とすることなく達成される。
【0167】
上記で説明された技法は、エリアカバレッジを拡大、最適化、及び評価しながら、群れエージェントが接続性を維持することを可能にする。上記で議論された技法は、以下の特性を有する:
・非集中型:エージェントによって行われた決定は、純粋にそれらのローカル環境及びそれらの近い近隣物に基づく。移動式エージェントは、それらの近隣に関する状態情報を得るためにメッセージ交換を活用し、システムの全体的なパフォーマンスを増大させるアクションが取られる。
・スケーラブル:前の特質(previous property)の結果として、提案される解決策は、いくつかの群れエージェントにおいてスケーラブルである。エリアカバレッジ最適化移動方式(ACOMS)が近隣エージェントまでの相対距離及び方向しか必要としないので、それは接続されたエージェントの数(即ち群れ中のエージェントの数)に依存しない。結果として、本明細書で説明される方式は、展開サイズを増大させるために特にスケーラブルである。
・適合的:エリアカバレッジ最適化移動方式(ACOMS)は、近い近隣物及びリンク情報に基づいてローカル接続性品質がモニタリングされることを保証する。これは、次いで、予め定義された優先事項方式に従って更新された移動において考慮される。更に、移動式ロボットは、それらの環境を知覚し、反応的な様式で障害物を回避する。その結果として、提案される(優先事項ベースの)移動制御方式であるエリアカバレッジ最適化移動方式(ACOMS)は、未知の複雑な環境、トポロジ変化、及びネットワーク特性の進化に適合的である。
・フォールトトレラント及びレジリエンス:エージェントが故障した(fails)場合、群れの残りは動作してシステムの全体的な成功に寄与し続ける。
・全体的な群れは、提案されたアルゴリズムを通して接続性を維持し且つカバレッジを最適化する際に、自己組織化、自己最適化、及び自己回復能力を示す。
・群れシステムの急速且つ箱から出した形の展開。
【0168】
本明細書で議論された方法は、0個の既存のインフラストラクチャを有する屋内及び屋外環境の両方において凝集的(cohesive)メッシュ通信ネットワーク(即ちエージェントの単一の接続されたクラスタ)を構築するために使用されることができる。そのような群れシステムは、反応的な様式でユーザ要求に基づいてその未知の複雑な環境をモニタリング、観察、検査、及び操作することができる。エージェントは、エリアカバレッジを最適化しながらメッシュ接続性を維持するために、それら自体を自動的に再位置付けする。更に、群れシステムは、いくつかの展開されたエージェントが最適化されることができるように、その全体的なエリアカバレッジを評価することができる。未知の複雑な環境中でメッシュ接続性を維持しながらエリアカバレッジを最適化及び評価するスワームロボティクスシステムは、物流、小売、医療、建設、農業、及び鉱業から、災害支援及び監視にわたる様々な産業において使用されることができる。また、既存の通信ネットワークインフラストラクチャを既に有し得る環境では、動的に構築され維持されたメッシュネットワークが、全ての関連するエリアをカバーするより高い信頼性と、冗長性とを提供するであろう。そのような適合的なスワームロボティクスシステムは、何らかの動的に変化する環境中で通信ネットワークを維持することができ、その環境中で動作し得る他のシステムにネットワーク接続性を提供することもできる。
【0169】
群れによって観察されているこのエリア(サイズ及び形状)は、最初は未知であり得る。しかしながら、上記で議論されたエリアカバレッジ最適化移動方式(ACOMS)に起因して、エージェントのクラスタは、凝集的なままである(全てのエージェントが1つの統合されたクラスタ中で接続されたままであることを意味する)。
【0170】
結論として、そのような維持されたアドホックネットワーク、ワイヤレスセンサネットワーク、ローカルエリアネットワーク、及びメッシュネットワークは、共同体及び近隣ネットワーキング(community and neighbourhood networking)、輸送システムから、発展途上国のためのネットワーキング、孤立したロケーションの接続、自発的ネットワーキング(spontaneous networking)、並びに災害復旧にまでわたる広範囲の目的のために使用されることができる。
【0171】
要約すると、上記で議論されたエリアカバレッジ最適化移動方式(ACOMS)は、個々のエージェントが接続性を維持し且つエリアカバレッジを最適化及び評価する所望の全体的な行動を達成するために取らなければならないアクションを発生させる。行動は、ボトムアップで設計され、これは、エージェント間対話が設計されることを意味し、それは、次に、群れの創発的行動を発生させる。
【0172】
根本的にロバストな制御方式を実施することは、システムが、利用可能な計算能力が制限された状態で、オンザフライ(on the fly)(即ちオンライン)且つリアルタイムでその予め設計された制御フレームワークのパラメータを微調整及び最適化することを可能にする。
【0173】
例では、現在の通信範囲、理想的な基準距離などのパラメータ、及び/又は活性化関数のパラメータが、オンザフライでエージェントによって更新/学習/最適化されるのに対して、近い近隣エージェントの最小数、距離閾値など、エリアカバレッジを評価するための結果の重要なパラメータ(outcome critical parameters)、及び障害物/壁が検出されたかどうかを決定するための他のパラメータは、ユーザによってのみ変更される。
【0174】
上記で議論されたエリアカバレッジ最適化移動方式(ACOMS)は、最小インフラストラクチャ環境中で使用されることができる。最小インフラストラクチャ環境は、ワイヤレスアクセスポイントを含む0又は最小のインフラストラクチャを有する環境を含む。上記で議論されたエリアカバレッジ最適化移動方式(ACOMS)は、ワイヤレスアクセスポイントのようなインフラストラクチャを必要としないので、これらの環境中で操作されることができる。更に、上記で説明された方法は、集中型計算ユニットがセットアップされることを必要としない。
【0175】
ある特定の構成が説明されたが、これらの構成は、例としてのみ提示されており、保護の範囲を限定することを意図されない。本明細書で説明された発明の概念は、様々な他の形態で実装され得る。加えて、本明細書で説明された特定の実装に対する様々な省略、置換、及び変更は、以下の特許請求の範囲において定義された保護の範囲から逸脱することなく行われ得る。
【外国語明細書】