(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-13
(45)【発行日】2023-10-23
(54)【発明の名称】移動体、無線通信システム、移動体の制御方法、および制御プログラム
(51)【国際特許分類】
G05D 1/00 20060101AFI20231016BHJP
【FI】
G05D1/00 Z
(21)【出願番号】P 2020005125
(22)【出願日】2020-01-16
【審査請求日】2022-08-10
(73)【特許権者】
【識別番号】399030060
【氏名又は名称】学校法人 関西大学
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】滝沢 泰久
(72)【発明者】
【氏名】新居 英志
【審査官】田中 友章
(56)【参考文献】
【文献】特開2018-198007(JP,A)
【文献】国際公開第2018/105599(WO,A1)
【文献】特開2005-349517(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00
(57)【特許請求の範囲】
【請求項1】
複数の対象のそれぞれが発する物理情報を検知して当該対象を探索する動作を、自機の通信範囲内に存在する他の移動体と共に実行する移動体であって、
自機による上記物理情報の検知結果に基づいて、自機の位置を上記対象との近さにより評価した第1評価値を算出する第1評価値算出部と、
上記他の移動体による上記物理情報の検知結果に基づいて、当該他の移動体の位置を上記対象との近さにより評価した第2評価値を算出する第2評価値算出部と、
上記第1評価値と上記第2評価値との比較結果に基づき、
上記複数の対象のうちの一つの探索を行うか、上記他の移動体に追従して探索を行うかを決定する移動方針決定部と、を備える移動体。
【請求項2】
上記第2評価値算出部は、上記他の移動体のうち上記対象に最も近い局所最良移動体と自機との間の領域に位置する上記他の移動体の数の多さに応じて当該局所最良移動体の位置の評価を劣化させて上記第2評価値を算出する、請求項1に記載の移動体。
【請求項3】
自機を
、上記他の移動体に追従しない変異移動体に遷移させるか否かを所定の周期で判定する変異制御部を備え、
上記移動方針決定部は、上記変異制御部が変異移動体に遷移させると判定した場合、当該判定から所定期間継続して
、上記複数の対象のうちの一つの探索を行うことを決定する、請求項1または2に記載の移動体。
【請求項4】
上記移動方針決定部の決定に基づいて上記移動体を移動させるための移動ベクトルを算出する移動制御部と、
上記移動体と上記他の移動体との接触を避けるために上記移動ベクトルに加算される、当該他の移動体から離れる方向のベクトルである反発ベクトルを算出する反発ベクトル算出部と、を備え、
上記反発ベクトル算出部は、上記所定期間の少なくとも前半には、上記反発ベクトルを他の期間よりも増大させる、請求項3に記載の移動体。
【請求項5】
上記変異制御部は、変異移動体に遷移している上記他の移動体の数が上限以下である場合に上記判定を行う、請求項3または4に記載の移動体。
【請求項6】
複数の対象のそれぞれが発する物理情報を検知して当該対象を探索する動作を、自機の通信範囲内に存在する他の移動体と共に実行する移動体であって、
自機による上記物理情報の検知結果と、上記他の移動体による上記物理情報の検知結果とに基づいて、
上記複数の対象のうちの一つの探索を行うか、上記他の移動体に追従して探索を行うかを周期的に決定する移動方針決定部と、
自機を
、上記他の移動体に追従しない変異移動体に遷移させるか否かを所定の周期で判定する変異制御部と、を備え、
上記移動方針決定部は、上記変異制御部が変異移動体に遷移させると判定した場合、当該判定から所定期間継続して
、上記複数の対象のうちの一つの探索を行うことを決定する、移動体。
【請求項7】
請求項1から6の何れか1項に記載の移動体を複数含み、当該複数の移動体により上記対象を探索する無線通信システム。
【請求項8】
複数の対象のそれぞれが発する物理情報を検知して当該対象を探索する動作を、自機の通信範囲内に存在する他の移動体と共に実行する移動体の制御方法であって、
当該移動体による上記物理情報の検知結果に基づいて、当該移動体の位置を上記対象との近さにより評価した第1評価値を算出する第1評価値算出ステップと、
上記他の移動体による上記物理情報の検知結果に基づいて、当該他の移動体の位置を上記対象との近さにより評価した第2評価値を算出する第2評価値算出ステップと、
上記第1評価値と上記第2評価値との比較結果に基づき、
上記複数の対象のうちの一つの探索を行うか、上記他の移動体に追従して探索を行うかを決定する移動方針決定ステップと、を含む、移動体の制御方法。
【請求項9】
複数の対象のそれぞれが発する物理情報を検知して当該対象を探索する動作を、自機の通信範囲内に存在する他の移動体と共に実行する移動体の制御方法であって、
上記移動体は、当該移動体による上記物理情報の検知結果と、上記他の移動体による上記物理情報の検知結果とに基づいて、
上記複数の対象のうちの一つの探索を行うか、上記他の移動体に追従して探索を行うかを決定する処理を周期的に行うものであり、
上記移動体の制御方法は、
上記移動体を
、上記他の移動体に追従しない変異移動体に遷移させるか否かを判定する変異制御ステップと、
上記変異制御ステップで遷移させると判定された場合、当該判定から所定期間継続して
、上記複数の対象のうちの一つの探索を行う変異探索ステップと、を含む、移動体の制御方法。
【請求項10】
請求項1に記載の移動体を動作させるための制御プログラムであって、上記第1評価値算出部、上記第2評価値算出部、および上記移動方針決定部としてコンピュータを機能させるための制御プログラム。
【請求項11】
請求項
6に記載の移動体を動作させるための制御プログラムであって、上記移動方針決定部および上記移動方針決定部としてコンピュータを機能させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信範囲内に存在する他の移動体と共に、所定の対象を自律的に探索する移動体等に関する。
【背景技術】
【0002】
自律移動する移動体を複数用いて所定の対象を探索する技術の研究・開発が従来から進められている。例えば、下記特許文献1には、複数の移動ロボットに、各ロボットのプロセッサモジュールまたはセンサ部からの情報と、無線通信部からのロボット相互の通信情報とに基づいて群行動を行わせて、災害現場での調査や人命探索等に役立てることが記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、探索対象の位置や数が不明である場合、移動体に複数の群を形成させて探索させた方が、1つの群で探索させるよりも、効率的に探索対象を検出することが可能である。しかしながら、上記特許文献1の群行動では、群を分けるという概念はなく、このため、探索の効率化に限界があるという問題があった。
【0005】
また、探索対象が複数存在していても、各移動体が各探索対象を識別できる場合には、探索対象毎に複数の群を形成させることは可能であるが、各探索対象を識別できない場合には、複数の群を形成させることはできなかった。
【0006】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、複数の探索対象を相互に識別できない場合であっても、それら複数の探索対象を複数の移動体で効率的に探索することができる移動体等を提供することにある。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本発明の一態様に係る移動体は、複数の対象のそれぞれが発する物理情報を検知して当該対象を探索する動作を、自機の通信範囲内に存在する他の移動体と共に実行する移動体であって、自機による上記物理情報の検知結果に基づいて、自機の位置を上記対象との近さにより評価した第1評価値を算出する第1評価値算出部と、上記他の移動体による上記物理情報の検知結果に基づいて、当該他の移動体の位置を上記対象との近さにより評価した第2評価値を算出する第2評価値算出部と、上記第1評価値と上記第2評価値との比較結果に基づき、自機による上記物理情報の検知結果に基づいて探索を行うか、上記他の移動体に追従して探索を行うかを決定する移動方針決定部と、を備える。
【0008】
上記の課題を解決するために、本発明の他の一態様に係る移動体は、複数の対象のそれぞれが発する物理情報を検知して当該対象を探索する動作を、自機の通信範囲内に存在する他の移動体と共に実行する移動体であって、自機による上記物理情報の検知結果と、上記他の移動体による上記物理情報の検知結果とに基づいて、自機による上記物理情報の検知結果に基づいて探索を行うか、上記他の移動体に追従して探索を行うかを周期的に決定する移動方針決定部と、自機を変異移動体に遷移させるか否かを所定の周期で判定する変異制御部と、を備え、上記移動方針決定部は、上記変異制御部が変異移動体に遷移させると判定した場合、当該判定から所定期間継続して自機による上記物理情報の検知結果に基づいて探索を行うことを決定する。
【0009】
上記の課題を解決するために、本発明の一態様に係る移動体の制御方法は、複数の対象のそれぞれが発する物理情報を検知して当該対象を探索する動作を、自機の通信範囲内に存在する他の移動体と共に実行する移動体の制御方法であって、当該移動体による上記物理情報の検知結果に基づいて、当該移動体の位置を上記対象との近さにより評価した第1評価値を算出する第1評価値算出ステップと、上記他の移動体による上記物理情報の検知結果に基づいて、当該他の移動体の位置を上記対象との近さにより評価した第2評価値を算出する第2評価値算出ステップと、上記第1評価値と上記第2評価値との比較結果に基づき、上記移動体による上記物理情報の検知結果に基づいて探索を行うか、上記他の移動体に追従して探索を行うかを決定する移動方針決定ステップと、を含む。
【0010】
上記の課題を解決するために、本発明の他の一態様に係る移動体の制御方法は、複数の対象のそれぞれが発する物理情報を検知して当該対象を探索する動作を、自機の通信範囲内に存在する他の移動体と共に実行する移動体の制御方法であって、上記移動体は、当該移動体による上記物理情報の検知結果と、上記他の移動体による上記物理情報の検知結果とに基づいて、上記移動体による上記物理情報の検知結果に基づいて探索を行うか、上記他の移動体に追従して探索を行うかを決定する処理を周期的に行うものであり、上記移動体の制御方法は、上記移動体を変異移動体に遷移させるか否かを判定する変異制御ステップと、上記変異制御ステップで遷移させると判定された場合、当該判定から所定期間継続して上記移動体による上記物理情報の検知結果に基づいて探索を行う変異探索ステップと、を含む。
【発明の効果】
【0011】
本発明の一態様によれば、複数の探索対象を相互に識別できない場合であっても、それら複数の探索対象を複数の移動体で効率的に探索することができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の一実施形態に係る移動体の要部構成の一例を示すブロック図である。
【
図2】複数の上記移動体を含む無線通信システムの概要を示す図である。
【
図5】移動体が探索中に繰り返し実行する処理の一例を示すフローチャートである。
【
図8】上記移動体が実行する処理のうち、突然変異に関する処理の一例を示すフローチャートである。
【
図10】移動体の数と突然変異体の上限数とを変えて測定した最終捕捉時間の測定結果を示す図である。
【
図11】探索対象とするフィールドの広さを変えて測定した最終捕捉時間の測定結果を示す図である。
【発明を実施するための形態】
【0013】
〔システム概要〕
本発明の一実施形態に係る無線通信システムの概要を
図2に基づいて説明する。
図2は、無線通信システム5の概要を示す図である。
図2に示す無線通信システム5には、自律移動する移動体1a~1fが含まれている。
図2には、これらの移動体1a~1fにより探索対象であるイベントEV1~EV3の探索を行う例を示している。なお、移動体1a~1fを区別する必要がないときには、単に移動体1と記載する。イベントEV1~EV3についても同様である。
【0014】
詳細は以下で説明するが、無線通信システム5では、各移動体1が相互に無線通信することにより、複数の移動体1の中から、群のリーダーとして振る舞う群リーダーが動的に決まるようになっている。そして、群リーダー以外の移動体1は、群リーダーに追従するフォロワーとして振る舞い、これにより移動体群が形成される。
【0015】
図2における時刻t1の状況では、移動体1aが群リーダーとなっており、移動体1b~1fがフォロワーとなっている。この状況においては、1つの移動体群SW1が形成されている。白抜き矢印で示すように移動体1aはイベントEV1に向かっているので、移動体群SW1は全体としてイベントEV1に向かうことになる。
【0016】
時刻t1より後の時刻t2になると、移動体1aは引き続き群リーダーとしてそのフォロワーである移動体1b~1dと共にイベントEV1に向かっている一方で、時刻t1ではフォロワーであった移動体1fが新たに群リーダーとなっている。また、時刻t1では移動体1aのフォロワーであった移動体1eが移動体1fのフォロワーになっており、これにより新たな移動体群SW2が形成されている。移動体群SW2は、移動体群SW1とは異なるイベントEV3の探索を行う。
【0017】
このように、無線通信システム5は、フォロワーが自発的に群リーダーに遷移して、1つの移動体群が動的に複数に分かれる群分離メカニズムを備えているので、複数のイベントEVの探索処理を並列化し、効率化することができる。この群分離メカニズムは、
図2の例のように、移動体群の近傍に相互に識別不能な複数のイベントEVが存在する場合の探索に適している。
【0018】
探索対象であるイベントEVは、移動体1が検出可能な物理情報を発しているものであればよく、特に限定されない。例えば、イベントEVは、ガスや放射線のように個々のイベントEVに特有の識別情報を持たない物理情報を発するものであってもよい。また、イベントEVから伝搬された物理情報の強度は距離に応じて減衰するものであってもよく、複数のイベントEVから発せられた物理情報が重なる範囲では、移動体1はそれらが積算された強度を取得するようになっていてもよい。
【0019】
また、移動体1は、検出したイベントEVに対して能動的処理を行ってもよい。例えば、イベントEVは、有事の際の構造物の破損箇所、要救助者、または資源等であってもよい。そして、これらの場合、移動体1は、上記能動的処理として、構造物の故障箇所の修理、要救助者の救助、または資源の回収等を行ってもよい。なお、以下では上記能動的処理を捕捉と呼ぶ。捕捉作業を並行して行うことができる移動体1を用いれば、捕捉作業も効率的に行うことができる。これらの例から分かるように、無線通信システム5によれば、人による作業が困難な環境においても探索対象の検出および捕捉を速やかに行うことが可能である。
【0020】
〔装置構成〕
移動体1の構成を
図1に基づいて説明する。
図1は、移動体1の要部構成の一例を示すブロック図である。図示のように、移動体1は、移動体1の各部を統括して制御する制御部10、移動体1が使用する各種データを記憶する記憶部20を備えている。また、移動体1は、移動体1が他の移動体1と通信するための通信部30、探索対象であるイベントが発する物理情報を検知する検知部40、および移動体1を駆動する駆動部50を備えている。
【0021】
検知部40としては、探索対象であるイベントが発する物理情報に応じたセンサ等を適用すればよい。例えば、イベントが電波を発するものであれば、電波強度を検出するセンサを検知部40として用いればよい。
【0022】
駆動部50は、移動体1を移動させることができるものであればよい。例えば、移動体1がドローンと呼ばれる無人航空機である場合、移動体1を空中で移動させる駆動部50を適用すればよい。なお、移動体1は、空中を移動するものに限られず、水中あるいは地上等の任意の場所を任意の方法で移動するものであってもよい。
【0023】
また、制御部10には、他機情報取得部101、PB評価値算出部(第1評価値算出部)102、移動方針決定部103、移動制御部104、反発ベクトル算出部105、および位置算出部106が含まれている。さらに、制御部10には、群れ度合い算出部107、LB評価値算出部(第2評価値算出部)108、接近度算出部109、自己評価値算出部110、変異制御部111、および自機情報通知部112が含まれている。
【0024】
他機情報取得部101は、無線通信システム5に含まれる他の移動体1が発信する情報を取得する。そして、他機情報取得部101は、取得した情報を他機情報202として記憶部20に記憶させる。他機情報202の詳細は
図3に基づいて後述する。
【0025】
PB評価値算出部102は、自機の検知部40による物理情報の検知結果に基づいて、自機の位置をイベントとの近さにより評価したPB評価値(Personal Best評価値/第1評価値)を算出する。そして、PB評価値算出部102は、算出したPB評価値を自機情報201として記憶部20に記憶させる。自機情報201の詳細は
図3に基づいて後述する。また、PB評価値の詳細およびその算出方法については後述する。
【0026】
移動方針決定部103は、移動体1の移動方針を決定する。移動方針には、自機の検知部40による物理情報の検知結果に基づいて探索を行う方針、すなわち群リーダーとして探索を行う方針と、他の移動体に追従して探索を行う方針、すなわちフォロワーとして探索を行う方針とが含まれる。移動方針の決定方法の詳細は後述する。
【0027】
移動制御部104は、移動方針決定部103の決定に基づいて移動ベクトルを算出し、算出した移動ベクトルに従って駆動部50を駆動することにより、移動体1を移動させる。また、移動制御部104は、反発ベクトル算出部105が算出する反発ベクトルを用いて移動ベクトルを算出してもよい。移動ベクトルの算出方法については後述する。
【0028】
反発ベクトル算出部105は、自機と他の移動体1との接触を避けるために上記移動ベクトルに加算される、当該他の移動体1から離れる方向のベクトルである反発ベクトルを算出する。反発ベクトルの算出方法については後述する。
【0029】
位置算出部106は、自機の位置を算出する。位置の算出には、例えばGPS(Ground Positioning System)等を利用してもよい。そして、位置算出部106は、算出した位置を示す位置情報を自機情報201として記憶部20に記憶させる。
【0030】
群れ度合い算出部107は、自機と他の移動体1との間の領域に位置するさらに他の移動体1の数の多さを示す指標として群れ度合いを算出する。群れ度合いの算出方法については後述する。
【0031】
LB評価値算出部108は、他の移動体1による物理情報の検知結果に基づいて、他の移動体1(より詳細には他の移動体1のうち探索対象であるイベントに最も近い局所最良移動体)の位置を、イベントとの近さにより評価したLB評価値(Local Best評価値/第2評価値)を算出する。LB評価値の詳細およびその算出方法については後述する。
【0032】
接近度算出部109は、自機と他の移動体1との接近度を算出する。接近度は、2つの移動体1の接近具合を表す指標である。例えば、2つの移動体1の距離やそれに対応する電波強度を接近度としてもよい。詳細は後述するが、接近度はLB評価値の算出に用いられる。
【0033】
自己評価値算出部110は、探索対象であるイベントに対する自機の現在位置の評価値である自己評価値を算出する。そして、自己評価値算出部110は、算出した自己評価値を自機情報201として記憶部20に記憶させる。自己評価値の詳細およびその算出方法については後述する。
【0034】
変異制御部111は、所定の周期で自機を変異移動体に遷移させるか否か(自機を突然変異させるか否か)を判定する。変異移動体は、群を構成するための振る舞い、すなわち移動方針決定部103の決定に基づく群リーダー/フォロワー間の遷移を行わない移動体1である。突然変異の詳細は後述する。
【0035】
自機情報通知部112は、自機の通信範囲内に存在する他の移動体1に対して、自機の情報を通知する。具体的には、自機情報通知部112は、記憶部20に記憶されている自機情報201を通信部30の通信範囲内の各移動体1にブロードキャスト送信する。
【0036】
以上のように、移動体1は、自機による物理情報の検知結果に基づいて自機の位置を評価したPB評価値を算出するPB評価値算出部102と、他の移動体1による物理情報の検知結果に基づいて当該他の移動体1の位置を評価したLB評価値を算出するLB評価値算出部108とを備える。
【0037】
そして、詳細は後述するが、移動方針決定部103は、PB評価値とLB評価値との比較結果に基づき、自機による物理情報の検知結果に基づいて探索を行うか、他の移動体1に追従して探索を行うかを決定する。
【0038】
これにより、複数の対象を相互に識別できない場合であっても、それらを効率的に探索することができる。例えば、上記移動体がある対象の近傍に位置しており、他の移動体は他の対象の近傍に位置している場合には、他の移動体には他の対象の探索を行わせる一方で、上記移動体には新たな群リーダーとしてある対象の探索を行わせることが可能になる。これは、当該場合には、上記移動体において第1評価値の方が第2評価値よりも良好な値となり得るためである。
【0039】
〔自機情報と他機情報〕
自機情報201と他機情報202は、例えば
図3に示すような情報であってもよい。
図3は、自機情報201と他機情報202の例を示す図である。自機情報201には、位置情報と、PB評価値と、自己評価値とが含まれている。上述のように、位置情報は位置算出部106が算出し、PB評価値はPB評価値算出部102が算出し、自己評価値は自己評価値算出部110が算出する。これらの情報の算出は所定時間毎に行われ、最新の情報が自機情報201として記憶される。そして、自機情報通知部112は、自機情報201をブロードキャスト送信する。
【0040】
他機情報202は、他の移動体1がブロードキャスト送信した自機情報を、他機情報取得部101が取得し、記憶部20に記憶させたものである。他機情報202には、自機情報201と同様に、位置情報と、PB評価値と、自己評価値とが含まれている。これらは何れも他の移動体1に関する情報である。
【0041】
このように、無線通信システム5に含まれる各移動体1は、自機情報201を周期的に更新し、ブロードキャストすると共に、他の移動体1がブロードキャストする自機情報201を取得して他機情報202として記憶する。これにより、各移動体1間で情報の共有が実現される。
【0042】
〔移動ベクトルの算出〕
移動制御部104は、例えば下記の数式(1)を用いて移動体1の移動ベクトルを算出してもよい。この場合、当該移動ベクトルに従って移動した後の移動体1の位置は下記の数式(2)で表される。
【0043】
【0044】
【0045】
数式(1)(2)において、tは時刻、wは移動体1の慣性重量、vi(t)は時刻tにおける移動体iの移動ベクトル、pbi(t)は時刻tにおける移動体iのパーソナルベストパラメータ(以下、PBパラメータと呼ぶ)、lbi(t)は時刻tにおける移動体iのローカルベストパラメータ(以下、LBパラメータと呼ぶ)、xi
Pbest(t)は時刻tにおける移動体iが検知したイベントの物理情報から推測されるイベントの位置(以下、PB位置と呼ぶ)、xi
Lbest(t)は時刻tにおける移動体iが近傍の移動体1の中で最もイベントに近いと評価した移動体1の位置(以下、LB位置と呼ぶ)である。
【0046】
上記数式(1)におけるLBパラメータの値を0とすれば、移動体iをPB位置に向かわせる移動ベクトルが算出される。この場合、移動体iは群リーダーとして振る舞う。一方、上記数式(1)におけるPBパラメータの値を0とすれば、移動体iをLB位置に向かわせる移動ベクトルが算出される。この場合、移動体iはフォロワーとして振る舞う。
【0047】
なお、移動体iは無線通信システム5に含まれる移動体1の1つであり、移動体iの近傍の移動体1とは、無線通信システム5に含まれる移動体1のうち、移動体iが通信可能な範囲に位置する移動体1を指す。以下、特に断らない限り、「近傍」は「無線通信可能な範囲」の意味で使用する。
【0048】
また、PB位置は、下記の数式(3)のように定式化してもよい。
【0049】
【0050】
上記数式(3)において、αはvi(t-1)がx軸(探索対象のフィールドに設定された水平方向の軸)となす角、βは[-θ,θ]の範囲で一様な乱数により決定される角度、Ei
Pbest(t)は時刻tにおける移動体iのPB評価値である。
【0051】
PB評価値は、PB評価値算出部102が算出する。PB評価値は、イベントから発せられた物理情報に基づいて算出すればよい。例えば、PB評価値は次のように定式化できる。
【0052】
【0053】
なお、Ei
dir(t)は、時刻tにおける移動体iが検知した物理情報の強度から算出される値であり、検知した物理情報の強度に対して単調減少する。移動体1が探索対象から近いほど、検知される物理情報の強度は強くなるから、Ei
dir(t)が小さいほど移動体1は探索対象から近い位置(良い位置)に存在することになる。つまり、PB評価値は、その値が小さいほど高評価である。これは、他の評価値(LB評価値および自己評価値)についても同様である。
【0054】
上記数式(3)によれば、PB評価値が良くなった場合(Ei
Pbest(t)<Ei
Pbest(t-1)のとき)には進行方向が概ね維持され、それ以外の場合(otherwise)には進行方向が概ね逆向きとなる。したがって、数式(3)で表されるPB位置を用いることにより、移動体1をPB評価値が良くなる方向に移動させる移動ベクトルを算出することができる。
【0055】
なお、群知能の一種であるParticle Swarm Optimization(PSO)では、LB位置ではなく、群全体において過去最良となる評価値を得た位置情報であるグローバルベスト位置を考慮して探索を行う。しかし、無線通信システム5では、移動体1間の情報共有に無線通信を用いるため、ある移動体1が直接通信できる移動体1の数は限定的となり、グローバルベスト位置を決定することは難しい。よって、上記のとおりLB位置を用いることが好ましい。また、通信量や通信遅延の観点からもLB位置を用いることが好ましい。
【0056】
〔移動方針の決定方法〕
上述のように、数式(1)におけるLBパラメータの値を0とすることにより、移動体iを群リーダーとすることができ、PBパラメータの値を0とすることにより、移動体iをフォロワーとすることができる。
【0057】
したがって、移動方針決定部103は、LBパラメータとPBパラメータの値を調整することにより、移動体1の移動方針を決定することができる。移動方針決定部103は、数式(1)におけるLBパラメータおよびPBパラメータの値を、例えば下記の数式(5)および(6)に基づいて決定してもよい。
【0058】
【0059】
【0060】
上記数式(5)は基本条件と追加条件の何れかが充足された場合にPBパラメータの値を1とし、それ以外の場合にPBパラメータの値を0とするというものである。また、上記数式(6)は、基本条件と追加条件の何れかが充足された場合にLBパラメータの値を0とし、それ以外の場合にLBパラメータの値を1とするというものである。つまり、これらの数式によれば、基本条件と追加条件の何れかが充足された移動体1は群リーダーとして振る舞い、何れも充足されない移動体1はフォロワーとして振る舞うことになる。
【0061】
したがって、移動方針決定部103は、上記基本条件が充足されている場合に、PBパラメータの値を1とし、LBパラメータの値を0とすることにより、群リーダーとして移動する移動方針に決定することができる。また、移動方針決定部103は、上記基本条件が充足されていない場合であっても、上記追加条件が充足されていれば、群リーダーとして移動する移動方針に決定することができる。そして、移動方針決定部103は、上記基本条件および上記追加条件の何れも充足されていない場合には、フォロワーとして移動する移動方針に決定することができる。
【0062】
上記基本条件は、移動体iの近傍に存在する移動体j(x∈neighbori(t))が算出したPB評価値の最小値よりも、移動体iが算出したPB評価値の方が小さいというものである。なお、上述のように、PB評価値の値が小さいほど、検出した物理情報の強度が大きく、その移動体1がイベントに近い可能性が高い。したがって、自機がイベントに最も近いと評価された場合に、上記基本条件が充足されるといえる。この条件は、複数の移動体1に移動体群を形成させるための基本的な条件である。
【0063】
一方、上記追加条件は、1つの移動体群を複数に分割可能とするために追加された条件であり、PB評価値がLB評価値よりも小さい、すなわち自機のPB位置がLB位置よりも良い位置である、というものである。この条件を追加することにより、無線通信システム5を構成する複数の移動体1のうち、基本条件を充足した移動体1が群リーダーとなると共に、基本条件を充足しないフォロワーの中に追加条件を充足した移動体1が存在すれば、その移動体1も群リーダーとなる。
【0064】
上記数式(6)におけるLB評価値は、例えば下記の数式(7)により算出してもよい。数式(7)は、移動体iの近傍に存在する移動体jが算出した自己評価値(Ej(t))の最小値を移動体iのLB評価値とする、というものである。LB評価値は、自機の近傍の移動体1が持つ自己評価値の中で最良の自己評価値である。
【0065】
【0066】
また、自己評価値とは、イベントに対する自機の現在位置の評価値である。自己評価値は、下記の数式(8)により算出してもよい。数式(8)は、移動体iの近傍に存在する移動体jが算出したPB評価値よりも移動体iが算出したPB評価値の方が小さければ、すなわち上述の基本条件を充足していれば、移動体iが算出したPB評価値の値を移動体iの自己評価値とする、というものである。つまり、数式(8)によれば、群リーダーである移動体1の自己評価値はその移動体1が算出したPB評価値の値となる。
【0067】
また、数式(8)は、上記基本条件が充足されていなければ(otherwise)、LB評価値とCi
Lbest(t)との和を移動体iの自己評価値とする、というものである。つまり、数式(8)によれば、フォロワーである移動体1の自己評価値はその移動体1が算出したLB評価値とCi
Lbest(t)との和となる。
【0068】
なお、Ci
Lbest(t)は、時刻tにおける移動体iがローカルベストとする移動体1、すなわち局所最良移動体までの接近度であり、接近度算出部109により算出される。
【0069】
【0070】
〔LB評価値の劣化〕
LB評価値算出部108は、他の移動体1のうち探索対象であるイベントに最も近い局所最良移動体と自機の間の領域に位置する他の移動体1の数の多さに応じて当該局所最良移動体の位置の評価を劣化させたLB評価値を算出してもよい。
【0071】
これにより、局所最良移動体と自機の間の領域に位置する他の移動体1の数が多い場合に、数式(5)における追加条件が充足しやすくなるので、自機が群リーダーになりやすくなる。例えば、自機と局所最良移動体との間の領域に多数の他の移動体1が位置しており、局所最良移動体に追従した探索の効果が低いと考えられる状況において、自機が群リーダーとなって他のイベントの探索を行うことも可能になる。
【0072】
具体的には、LB評価値算出部108は、例えば、上記数式(7)の代わりに下記数式(9)を用いてLB評価値を算出してもよい。
【0073】
【0074】
上記数式(9)におけるNi
jは群れ度合い集合であり、下記数式(10)で表される。また、上記数式(9)におけるc4は群れ度合い係数である。
【0075】
【0076】
ここで、群れ度合いについて
図4に基づいて説明する。
図4は、群れ度合いの計算方法を説明する図である。より具体的には、
図4には、移動体1iと移動体1jについて群れ度合いを計算する例を示している。なお、
図4には、二次元平面上で群れ度合いを計算する例を示しているが、三次元空間においても同様にして群れ度合いを計算することができる。
【0077】
群れ度合いの計算においては、移動体1iの位置xiから移動体1jの位置xjまでの距離を半径とする円形の領域Aiを設定する。この領域Aiに含まれる移動体1の数が、上記(10)における「x∈neighbori(t)」である。
【0078】
同様に、移動体1jの位置xjから移動体1iの位置xiまでの距離を半径とする円形の領域Ajを設定する。この領域Ajに含まれる移動体1の数が、上記数式(10)における「x∈neighborj(t)」である。
【0079】
そして、領域Aiに含まれ、かつ、領域Ajにも含まれる移動体1の数を算出する。この値が、上記数式(10)で算出される群れ度合い集合の値である。
図4の例では、領域Aiに含まれ、かつ、領域Ajにも含まれる移動体1の数は7であるから、群れ度合い集合の値は7となり、この値に群れ度合い係数を乗じれば群れ度合いが算出される。群れ度合い算出部107は、以上のようにして群れ度合いを算出する。そして、LB評価値算出部108は、算出された群れ度合いを用いてLB評価値を算出する。
【0080】
ここで、移動体群の分布範囲における周縁部付近のフォロワーは、移動体群を構成する移動体1の中でも、その移動体群が探索対象とするイベントとは異なる他のイベントに比較的近いと想定される。そして、このような位置のフォロワーでは、上記群れ度合いの値が大きくなる可能性が高い。
【0081】
よって、上記の構成によれば、このようなフォロワーを群リーダーに遷移させやすくして他のイベントを探索する移動体群が新たに形成されやすくすることができ、これにより効率的な探索を行うことが可能になる。
【0082】
また、追加条件を充足して群リーダーとなった移動体1が検知していた物理情報が、上記移動体群が探索対象とするイベントが発する物理情報であった場合には、当該群リーダーとこれに追従するフォロワーは、上記移動体群と同じ方向・場所へ向かうことになる。このため、このような場合、当該群リーダーとこれに追従するフォロワーは、数式(5)(6)に基づいて上記移動体群に合流することになる。したがって、追加条件を充足して群リーダーとなった移動体1が他のイベントに近いという想定が外れた場合であっても、群の振る舞いとして不利になる可能性は低い。
【0083】
〔衝突抑制〕
反発ベクトル算出部105は、例えば下記の数式(11)により反発ベクトルを算出してもよい。数式(11)は、時刻tにおける移動体iの反発ベクトルの算出式である。
【0084】
【0085】
なお、c3i(t)は時刻tにおける移動体iの反発係数、Vijは移動体jから移動体iへのベクトル、nは移動体iの近傍移動体群、dij(t)は時刻tにおける移動体iと移動体jの距離、kは反発ベクトルにおけるノルムパラメータである。
【0086】
上記の数式(11)で算出される反発ベクトルは、近傍の移動体1に対して反発する向きのベクトルであり、そのノルムは自機と近傍の移動体1との距離に応じて決定される。つまり、近傍の移動体1との距離が近い場合は大きく反発し、距離が遠い場合は小さく反発するようになっている。
【0087】
移動制御部104は、移動ベクトルの算出において、上述の数式(1)に上記反発ベクトルを追加した下記の数式(12)を用いればよい。これにより、移動方針決定部103の決定に従って算出された移動ベクトル(数式(12)の右辺第2項または第3項)と反発ベクトルとを用いて算出された移動ベクトルに従って移動体1を移動させることができる。そして、反発ベクトルが考慮されているため、移動体1同士の衝突の可能性を低減することができる。
【0088】
【0089】
〔探索フェーズと捕捉フェーズ〕
上述のように、移動体1は、イベントの探索を行う探索フェーズにてイベントを検出した場合、捕捉フェーズに移行して捕捉作業を行ってもよい。例えば、移動体1は、At秒前の座標と現在位置との距離が閾値Ad(m)を下回った場合に、自機がイベント付近に停滞していると判断し、捕捉フェーズへ移行して捕捉作業を行ってもよい。
【0090】
捕捉フェーズでは、イベント付近でより多くの移動体1によって捕捉作業を行うことが好ましい。そのため、反発係数を小さくし、移動体1間の反発を抑えて、多くの移動体1を捕捉作業可能な範囲に集合させることが好ましい。さらに、その範囲内での衝突を防ぐために、単位時間当たりの移動量も抑制することが好ましい。これらの処理により、イベントの付近により多くの移動体1が集合することを可能にすると共に、集合した移動体1同士の衝突も抑制することができる。
【0091】
反発係数の抑制を定式化すると下記の数式(13)のようになる。また、移動量の抑制を定式化すると下記の数式(14)のようになる。
【0092】
【0093】
【0094】
ここで、c3
Searchは探索フェーズにおける反発係数、c3
Captureは捕捉フェーズにおける反発係数、Atは捕捉フェーズ移行判定における時間閾値、Adは捕捉フェーズ移行判定における距離閾値である。また、MSearch
upperは探索フェーズにおける1秒間の最大移動量、MCapture
upperは捕捉フェーズにおける1秒間の最大移動量である。
【0095】
〔処理の流れ〕
移動体1が実行する処理の流れ(移動体1の制御方法)を
図5に基づいて説明する。
図5は、移動体1が探索中に繰り返し実行する処理の一例を示すフローチャートである。なお、この処理の前提として、記憶部20には自機情報201が記憶されていると共に、他機情報202が記憶されているものとする。
【0096】
S1(第1評価値算出ステップ)では、PB評価値算出部102が、PB評価値を算出する。上述のように、PB評価値は、自機による物理情報の検知結果に基づいて自機の位置を評価したものであり、検知部40が検知した物理情報の強度から、数式(7)を用いて算出することができる。
【0097】
S2(移動方針決定ステップ)では、移動方針決定部103が、群リーダーとなるための基本条件を満たしているか否かを判定する。ここでは、移動方針決定部103は、S1で算出されたPB評価値が、他機情報202として記憶されている他の移動体1のPB評価値のうち最良の値よりも高評価であれば基本条件を満たしている(S2でYES)と判定する。この場合、移動方針決定部103は、数式(1)におけるPBパラメータの値を1とし、LBパラメータの値を0とすることを決定し、その後、処理はS3に進む。PBパラメータの値を1とし、LBパラメータの値を0とすることにより、移動体1は群リーダーとして振る舞うことになる。
【0098】
一方、移動方針決定部103は、S1で算出されたPB評価値と同じかそれよりも高評価のPB評価値が他機情報202として記憶されていれば、基本条件を満たしていない(S2でNO)と判定し、処理はS7に進む。
【0099】
S3では、自己評価値算出部110が、S1で算出されたPB評価値を自己評価値とし、この自己評価値を自機情報201として記憶させる。この処理は数式(8)に基づいている。
【0100】
S4では、移動制御部104が、PB位置に向かう移動ベクトルを算出する。具体的には、移動制御部104は、数式(3)を用いてPB位置を算出し、算出したPB位置を、PBパラメータの値を1、LBパラメータの値を0とした数式(1)に代入して移動ベクトルを算出する。
【0101】
S5では、反発ベクトル算出部105が反発ベクトルを算出する。反発ベクトルの算出にあたり、まず、反発ベクトル算出部105は、数式(13)により反発係数を決定してもよい。そして、反発ベクトル算出部105は、決定した反発係数を用いて、数式(11)により反発ベクトルを算出してもよい。
【0102】
S6では、移動制御部104が、S4で算出した移動ベクトルと、S6で算出された反発ベクトルとに従って移動体1を移動させる。具体的には、移動制御部104は、数式(L)により算出した移動ベクトルに従って移動体1を移動させる。S6の終了により、
図5の処理は終了となる。
【0103】
S7では、群れ度合い算出部107が、移動体1とその近傍の各移動体1との間の群れ度合いをそれぞれ算出する。具体的には、群れ度合い算出部107は、数式(10)で群れ度合い集合を求め、これに群れ度合い係数を乗じることにより群れ度合いを算出する。
【0104】
S8(第2評価値算出ステップ)では、LB評価値算出部108が、LB評価値を算出する。上述のように、LB評価値は、他の移動体1による物理情報の検知結果に基づいて当該他の移動体1の位置を評価した評価値である。具体的には、S8において、LB評価値算出部108は、数式(9)に基づいて、他機情報202に含まれる自己評価値にS7で算出された群れ度合いを加算した値のうち、最も小さいものをLB評価値として算出する。
【0105】
S9(移動方針決定ステップ)では、移動方針決定部103が、群リーダーとなるための追加条件を満たしているか判定する。具体的には、移動方針決定部103は、S8で算出されたLB評価値と、S1で算出されたPB評価値とを比較し、PB評価値の方が高評価であれば追加条件を満たしている(S9でYES)と判定する。この場合、移動方針決定部103は、数式(1)におけるPBパラメータの値を1、LBパラメータの値を0と決定し、その後、処理はS3に進む。S3以降の処理は上述したとおりであり、移動体1は群リーダーとしてPB位置に向かって移動する。
【0106】
一方、LB評価値の方が高評価であれば、移動方針決定部103は追加条件を満たしていない(S9でNO)と判定する。この場合、移動方針決定部103は、数式(1)におけるPBパラメータの値を0、LBパラメータの値を1と決定し、その後、処理はS10に進む。PBパラメータの値を0、LBパラメータの値を1とすることにより、移動体1はフォロワーとして振る舞うことになる。したがって、S9では、自機の物理情報の検知結果に基づいて探索を行う(群リーダーとして振る舞う)か、他の移動体1に追従して探索を行う(フォロワーとして振る舞う)か、を決定しているともいえる。
【0107】
S10では、接近度算出部109が、自機がローカルベストとする移動体1すなわち局所最良移動体までの接近度を算出する。そして、S11では、自己評価値算出部110が、S8で算出されたLB評価値にS10で算出された接近度を加算することにより自己評価値を算出する。この処理は数式(8)に基づいている。
【0108】
S12では、移動制御部104が、LB位置に向かう移動ベクトルを算出する。具体的には、移動制御部104は、PBパラメータの値を0、LBパラメータの値を1とした数式(1)にLB位置を代入して移動ベクトルを算出する。この後処理はS5に進む。この場合、移動体1はフォロワーとしてLB位置に向かって移動する。
【0109】
〔突然変異による広域への群分離拡散〕
上述のように、LBパラメータの値を決定する数式(5)と、PBパラメータの値を決定する数式(6)に追加条件を含めることにより、1つの移動体群を複数に分離させて効率的な探索を行うことが可能になる。このような移動体群の分離方式は、例えば、移動体群が移動している方向に沿って、その移動体群の近傍に複数のイベントがある場合に有効である。
【0110】
以下では、移動体群が移動している方向とは異なる方向に他のイベントが存在している場合や、移動体群から離れた位置に他のイベントが存在している場合にも、それらのイベントを効率的に探索できるようにするためのメカニズムについて説明する。
【0111】
図6は、変異移動体の振る舞いを説明する図である。変異移動体とは、群を構成するための振る舞い、すなわち移動方針決定部103の決定に基づく群リーダー/フォロワーの遷移を行わない移動体1である。
【0112】
図6の例では、移動体1aと他の6機の移動体1で構成される移動体群により、イベントEV1とEV2の探索を行っている。移動体1aはフォロワーとしてEV2の探索を行っていたが、時刻t=0に変異移動体となっている。
【0113】
変異移動体となった移動体1aは、フォロワーとしての行動は行わず、
図6に破線矢印で示すように変異体群から離れる方向に移動し、時刻t=M
t/2には移動体群から離れた位置に達している。そして、変異移動体である移動体1aは、自機による物理情報の検知結果に基づいて利己的な探索を行い、
図6に実線矢印で示す経路で移動して、時刻t=M
tにはイベントEV1の近傍まで移動している。この後、移動体1aは、群リーダー/フォロワー間の遷移を行う通常の振る舞いに戻る。
【0114】
このように、変異移動体となった移動体1aは、一時的に群構成の振る舞いを無視し、かつ離反して空間的に拡散するので、移動体1aが当初属していた移動体群が探索していたイベントEV2とは異なるイベントEV1の探索機会が生じている。すなわち、変異移動体を生じさせることにより、広域における群分離の振る舞いを創発させることができる。
【0115】
上記のような振る舞いを創発させるため、変異制御部111は、所定の周期で自機を変異移動体に遷移させるか否かを判定する。変異制御部111は、この判定において、所定の確率(以下、突然変異確率:(Mp)と呼ぶ)で変異移動体に遷移させると判定してもよい。これにより、移動体1を確率的に突然変異させることができる。そして、移動方針決定部103は、変異制御部111が変異移動体に遷移させると判定した場合、当該判定から所定期間(以下、突然変異期間(Mt)と呼ぶ)継続して自機による物理情報の検知結果に基づいて探索を行うことを決定する。
【0116】
これにより、自機を移動体群から分離させて、その移動体群が探索中のイベントとは異なる他のイベントの探索を行い、無線通信システム5の全体として複数のイベントを効率的に探索することができる。
【0117】
また、反発ベクトル算出部105は、突然変異期間の少なくとも前半には、反発ベクトルを他の期間よりも増大させてもよい。これにより、変異移動体となった移動体1を、それまで属していた移動体群(以下、既存群と呼ぶ)から離れる方向に移動させて、他のイベントの探索機会を生じさせることができる。
【0118】
また、既存群から離れる方向に移動した後で算出されるPB評価値は、既存群が探索していたイベントとは別のイベントに対する評価値である可能性が高くなる。さらに、既存群から離れていることから、群れ度合いによりLB評価値は大きく劣化する可能性が高くなる。したがって、突然変異期間の終了後は、基本条件および追加条件を満たす可能性が高まり、群リーダーとして群を構成することが可能となる。
【0119】
なお、移動体1が、突然変異期間中に別のイベントの近傍に移動しなかった場合には、突然変異期間の終了後、その移動体1は、数式(5)に基づいてフォロワーとなり、既存群に再合流する可能性が高い。このため、突然変異は、イベントの探索・捕捉において不利な振る舞いにはならない。
【0120】
また、変異制御部111は、自機を突然変異させるか否かの判定を、変異移動体となっている他の移動体1の数が上限以下である場合に限って行うようにしてもよい。これにより、各移動体1の通信可能範囲内における変異移動体の数が上限以下に抑えられるので、変異移動体数が過剰に増えて、移動体群を構成する移動体1の数が大幅に減少することを防ぐことができる。
【0121】
図7は、変異移動体数の制約を説明する図である。
図7の例では、移動体1a~1eのうち、移動体1aと1bが変異移動体となっている。ここで、変異移動体数の上限が2であるとすると、既に変異移動体数が上限に達しているため、変異移動体ではない通常の移動体である移動体1c~1eは変異移動体にはならず、移動体群としてイベントEV3の探索を続ける。
【0122】
なお、変異移動体数が上限に達しているか否かを判定するためには、変異移動体数を各移動体1が認識できるようにしておく必要がある。例えば、各移動体1の自機情報通知部112が、自機が変異移動体であるか否かを示す情報を、位置情報、PB評価値、および自己評価値と共にブロードキャスト送信する構成としてもよい。
【0123】
変異移動体数を制約しつつ、突然変異期間に反発ベクトルを増大させる制御を数式で表すと下記の数式(15)のようになる。下記数式(15)において、c3
Mutantは変異移動体用の反発係数、Ni
mは、時刻tにおける移動体iの近傍の変異移動体数、Muは変異移動体数の上限である。
【0124】
【0125】
突然変異を発生させる場合、上述の数式(5)(6)は下記のように再定義される。つまり、変異移動体は、群リーダーと同様に、自機が検知した物理情報に基づき、PB位置に向かって探索を行う。
【0126】
【0127】
【0128】
〔処理の流れ(突然変異)〕
移動体1が突然変異する場合の処理の流れ(移動体1の制御方法)を
図8に基づいて説明する。
図8は、移動体1が実行する、突然変異に関する処理の一例を示すフローチャートである。なお、この処理の前提として、記憶部20には自機情報201が記憶されていると共に、他機情報202が記憶されているものとする。また、他機情報202には、移動体1が変異移動体であるか否かを示す情報が含まれているものとする。
【0129】
S21では、変異制御部111は、近傍の変異移動体の数が上限以下であるか否かを判定する。上記のとおり、他機情報202には、移動体1が変異移動体であるか否かを示す情報が含まれているから、変異制御部111は、他機情報202を参照することにより、S21の判定を行うことができる。
【0130】
変異制御部111は、S21で上限を超えていると判定した場合(S21でNO)、所定時間後に再度S21の判定を行う。一方、変異制御部111は、S21で上限以下と判定した場合(S21でYES)、S22の処理に進む。
【0131】
S22(変異制御ステップ)では、変異制御部111は、自機を突然変異させて変異移動体に遷移させるか否かを判定する。上述のように、変異制御部111は、この判定において、所定の突然変異確率Mpで突然変異させる(S22でYES)と判定してもよい。
【0132】
変異制御部111は、S22で突然変異させない(S22でNO)と判定した場合、S21の処理に戻る。これにより、突然変異させるか否かの判定が周期的に行われる。一方、変異制御部111は、S22で突然変異させると判定した場合、その旨を移動方針決定部103と反発ベクトル算出部105に通知し、処理はS23に進む。
【0133】
S23では、移動方針決定部103が移動方針を決定する。具体的には、移動方針決定部103は、上記数式(16)(17)に基づき、突然変異期間の間、PBパラメータの値を1とし、LBパラメータの値を0とすることを決定し、その旨を移動制御部104に通知する。
【0134】
S24では、反発ベクトル算出部105が、数式(15)に基づいて決定した変異移動体用の反発係数を用いて、数式(11)により反発ベクトルを算出する。
【0135】
S25(変異探索ステップ)では、移動制御部104が、S24で算出された反発ベクトルを用いて、数式(12)により移動ベクトルを算出する。そして、移動制御部104は、算出した移動ベクトルに従って駆動部50を駆動し、移動体1を移動させる。なお、上記S23でPBパラメータの値を1とし、LBパラメータの値を0とすることが決定されているため、S25では、自機の物理情報の検知結果に基づいた探索、すなわち群リーダーと同様の探索が行われる。
【0136】
S26では、反発ベクトル算出部105が、突然変異期間となった後、所定時間が経過したか否かを判定する。ここで反発ベクトル算出部105が、所定時間が経過したと判定した場合(S26でYES)にはS27の処理に進む。一方、反発ベクトル算出部105が、所定時間が経過していないと判定した場合(S26でNO)にはS24の処理に戻る。この場合、反発ベクトル算出部105は、引き続き変異移動体用の反発係数を用いて反発ベクトルを算出する。
【0137】
S27では、反発ベクトル算出部105は、変異移動体用の反発係数ではなく、数式(15)に基づいて決定した通常の反発係数を用いて、数式(11)により反発ベクトルを算出する。
【0138】
S28(変異探索ステップ)では、移動制御部104が、S27で算出された反発ベクトルを用いて、数式(12)により移動ベクトルを算出する。そして、移動制御部104は、算出した移動ベクトルに従って駆動部50を駆動し、移動体1を移動させる。なお、上記S23でPBパラメータの値を1とし、LBパラメータの値を0とすることが決定されているため、S28においても、S25と同様に、自機の物理情報の検知結果に基づいた探索、すなわち群リーダーと同様の探索が行われる。
【0139】
S29では、変異制御部111が、突然変異期間が終了したか否かを判定する。ここで、変異制御部111が、突然変異期間は終了していないと判定した場合(S29でNO)にはS27の処理に戻る。一方、変異制御部111が、突然変異期間は終了したと判定した場合(S29でYES)には、その旨を移動方針決定部103に通知し、S21の処理に戻る。また、この通知を受信した移動方針決定部103は、群リーダーとして振る舞うかフォロワーとして振る舞うかを周期的に決定する通常の動作に戻る。
【0140】
〔実施例〕
無線通信システム5のシミュレータを構築し、無線通信システム5の性能の確認を行った結果を
図9~
図11に基づいて説明する。
図9は、シミュレーションの条件を示す図である。また、
図10は、移動体1の数と突然変異体の上限数とを変えて測定した最終捕捉時間の測定結果を示す図であり、
図11は、探索対象とするフィールドの広さを変えて測定した最終捕捉時間の測定結果を示す図である。なお、最終捕捉時間とは、全てのイベントの捕捉が終了するまでの所要時間である。
【0141】
本シミュレーションでは、各移動体1は、1.0秒周期で自機情報201を送信し、イベントは識別子情報を持たない物理情報を常に発するものとした。また、各移動体1は、他の移動体1から受信した自機情報201を他機情報202として保存し、その情報に基づいて0.1秒ごとに3つの評価値(PB評価値、LB評価値、自己評価値)を算出し、移動ベクトルを決定するものとした。ただし、他の移動体1からの情報受信時の電波強度は対数値(dBm値)として扱った。上記実施形態と同様に、PB評価値は数式(4)、LB評価値は数式(9)で算出した。
【0142】
一方、自己評価値については、下記の数式(18)により算出した。数式(18)におけるRSSIi
Lbest(t)は、時刻tにおいて移動体iが保存している他機情報202のうち、局所最良移動体から発せられた情報の電波強度である。
【0143】
【0144】
また、本実施例では、移動体1間の距離がDcを下回った場合、それらの移動体1は衝突したとみなし、それらの移動体1による移動ベクトルの生成と自機情報の送信をそれ以後中止させた。また、衝突により停止した移動体1に衝突した移動体1も同様の扱いとした。
【0145】
このシミュレーションでは、各移動体1に上記実施形態で説明した探索フェーズと捕捉フェーズを繰り返させた。各イベントには、移動体1が捕捉を完了させるための指標である捕捉容量を設定し、捕捉容量がゼロになったイベントは捕捉が完了されたものとしてシミュレーションフィールドから消滅させた。
【0146】
また、各イベントには、
図9に示すように捕捉有効半径を設定した。そして、イベントから捕捉有効半径以下の領域に移動体1が存在する状態において、そのイベントの捕捉容量を、一機の移動体1につき単位時間当たり1減じる構成とした。つまり、捕捉作業は、各移動体1が独立して並行に行えるものとした。
【0147】
また、数式(4)におけるEi
dir(t)は下記の数式(19)で算出した。
【0148】
【0149】
数式(19)は、複数のイベントまでの距離の2乗の総乗に対して単調増加する。一方、一般的に物理情報の強度は距離のN乗(Nは2以上)に対して比例して単調減少する。したがって、数式(19)は、複数イベントからの物理情報の強度の総乗に対して単調減少し、かつ複数のイベントからの物理情報の取り得る強度の総和の最大値以下において、複数のイベントからの物理情報の強度の総和に対して単調減少する。すなわち、数式(4)で算出されるPB評価値は、数式(19)に従い、移動体1が検知する複数のイベントからの強度の積算強度に対して単調減少する値となる。数式(19)は、イベントに近付くほど物理情報の強度が強くなり、複数のイベントの近くでは物理情報が重なって、移動体1はそれらの物理情報の強度が積算された値を検出することを想定した式である。
【0150】
また、各移動体がPB位置を目指して移動する構成としてシミュレーションを行ってこれを比較例1とし、各移動体が群リーダーとフォロワーとで切り替わる構成としてシミュレーションを行ってこれを比較例2とした。比較例2と実施例との差異は、後者が追加条件に基づいて群リーダーに遷移させる処理と、突然変異を発生させる処理とを行うのに対し、前者はこれらの処理を行なわない点にある。
【0151】
図10において、横軸はイベントの数を表し、縦軸は最終捕捉時間を表す。各手法のいずれにおいても移動体が増えるに従って最終捕捉時間を短縮できており、イベント数が増えるに従って探索・捕捉の完了に時間を要している。本実施例では、比較例1、2に比べて最終捕捉時間を最も短縮しており、イベント数および移動体数が増えるに従って、比較例1、2との差は広がっていることがわかる。
【0152】
比較例2は、移動体群による探索・捕捉を行うが、複数のイベントに対して逐次的な探索・捕捉となるため、広い範囲に存在するイベントの探索・捕捉に対して時間を要していると考えられる。また、比較例1は、並列的な探索を行っているが、それぞれの移動体の最近傍のイベントが少数のイベントに集中することで各移動体の探索・捕捉が少数のイベントへと集中する。すなわち、狭い範囲に限られた複数イベントへの並列的な探索・捕捉となり、本実施例に比べ全てのイベントの探索・捕捉の完了に時間を要したと考えられる。
【0153】
本実施例によれば、狭域での群分離メカニズムによって群を分離することで狭域において複数群による並列的な探索・捕捉を行う。さらに、広域への群分離拡散メカニズムによって移動体が既存群から離脱し空間的に拡散した後、群リーダーへと遷移することで、広域における複数群による並列的な探索・捕捉を行う。本実施例では、このような2つの振る舞いによって、狭域と広域の何れにおいても複数の識別不可イベントをより早く探索・捕捉することができていると考えられる。
【0154】
また、
図11に示される結果から、フィールドが広くなるにしたがって最終捕捉時間が増加していることがわかる。また、本実施例と比較例1、2との最終捕捉時間の差は、フィールドが広くなるに従って大きくなっている。
【0155】
本実施例では、広域への群分離拡散メカニズムによって移動体が既存群から離脱し空間的に拡散した後に群リーダーへと遷移する。これにより、群リーダーと既存群との距離が十分に確保され、既存群から離れた異なるイベントへの並列的な探索・捕捉が可能となるため、最終捕捉時間が短縮されたと考えられる。
【0156】
〔ソフトウェアによる実現例〕
移動体1の制御ブロック(特に制御部10に含まれる各部)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
【0157】
後者の場合、移動体1は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0158】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、実施形態に開示された各技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0159】
〔変形例〕
移動体1は、突然変異による広域への群分離メカニズムと、追加条件による狭域での群分離メカニズムの少なくとも何れかを備えていれば、相互に識別できない複数の探索対象を効率的に探索することが可能になる。したがって、突然変異による広域への群分離メカニズムと、追加条件による狭域での群分離メカニズムの少なくとも何れかを備えた移動体1も本発明の範疇に含まれる。
【0160】
突然変異による広域への群分離メカニズムを備えた移動体1は、自機による物理情報の検知結果と、他の移動体1による物理情報の検知結果とに基づいて、自機による物理情報の検知結果に基づいて探索を行うか、他の移動体1に追従して探索を行うかを周期的に決定する移動方針決定部103と、自機を変異移動体に遷移させるか否かを所定の周期で判定する変異制御部111と、を備え、移動方針決定部103は、変異制御部111が遷移させると判定した場合、当該判定から所定期間継続して自機による物理情報の検知結果に基づいて探索を行う。よって、相互に識別できない複数の探索対象を効率的に探索することができる。
【符号の説明】
【0161】
1 移動体
102 PB評価値算出部(第1評価値算出部)
103 移動方針決定部
104 移動制御部
105 反発ベクトル算出部
108 LB評価値算出部(第2評価値算出部)
111 変異制御部
5 無線通信システム