(57)【特許請求の範囲】
【請求項１】
それぞれ割り当てられた担当領域に対するタスクを実行する自律移動型の複数のロボットで構成されるロボットシステムにおける移動制御方法であって、
前記複数のロボットのうちの第１ロボットが、前記第１ロボットに割り当てられた第１担当領域に対するタスクを完了した場合、前記複数のロボットのうち前記第１ロボットと通信可能である前記第１ロボット以外の複数のロボットであるロボット群の中から支援対象のロボットを選択する選択処理ステップと、
前記第１ロボットが、前記選択処理ステップで選択した支援対象のロボットである第２ロボットに割り当てられた第２担当領域に移動を開始する第１移動ステップと、
前記第１ロボットが、前記第２担当領域への移動中に、前記複数のロボットのうち第３ロボットと新たに通信可能になった場合、支援対象のロボットを前記第３ロボットに変更するか否かを判定する変更判定ステップと、
前記第１ロボットが、前記変更判定ステップで支援対象のロボットを前記第３ロボットに変更すると判定する場合、前記第３ロボットに割り当てられた第３担当領域に向けて移動を開始する第２移動ステップとを含む、
移動制御方法。
【請求項２】
前記変更判定ステップでは、
前記第１ロボットが、前記第３ロボットの現在位置を示す位置情報および前記第３ロボットのタスクの進捗状況を示すタスク情報を含む第３ロボット情報を取得する取得ステップと、
前記第１ロボットが、前記取得ステップで取得した第３ロボット情報を用いて、支援対象のロボットを前記第２ロボットから前記第３ロボットに変更するか否かを判定する判定ステップと、を含む、
請求項１に記載の移動制御方法。
【請求項３】
前記判定ステップでは、前記第１ロボットは、
前記第２ロボットが前記第２担当領域に対するタスクを完了する時刻より前記第３ロボットが前記第３担当領域に対するタスクを完了する時刻の方が遅く、かつ、前記第１ロボットの現在位置から前記第３ロボットの現在位置まで移動した時点において前記第３ロボットの残りタスクが存在する場合に、支援対象のロボットを前記第２ロボットから前記第３ロボットに変更すると判定する、
請求項２に記載の移動制御方法。
【請求項４】
前記移動制御方法は、
前記第１移動ステップでは、さらに、前記第１ロボットが前記第２担当領域に移動を開始する際に、前記第２担当領域のタスクを完了するための支援に向かう旨を示す情報を前記第１ロボットが前記第２ロボットに通知する通知ステップを含み、
前記第２移動ステップでは、さらに、前記第１ロボットが前記第３担当領域に移動を開始する際に、前記第３担当領域のタスクを完了するための支援を行う旨を示す情報を前記第３ロボットに通知すると共に、前記第２ロボットの支援に向かわない旨を示す情報を前記第２ロボットに通知する、
請求項１〜３のいずれか１項に記載の移動制御方法。
【請求項５】
前記選択処理ステップは、
前記第１ロボットが、前記ロボット群のそれぞれから、現在位置を示す位置情報およびタスクの進捗状況を示すタスク情報を含むロボット情報を受信する受信ステップと、
前記第１ロボットが、当該第１ロボットの現在位置と前記受信ステップで受信した複数のロボット情報とを用いて、前記第１ロボットが前記ロボット群の各ロボットの現在位置まで移動した時点での前記各ロボットの残りタスクを取得する残タスク取得ステップと、
前記第１ロボットが、前記残タスク取得ステップで取得した残りタスクに基づいて、前記ロボット群の中から前記第２ロボットを支援対象のロボットとして選択する選択ステップと、を含む、
請求項１〜４のいずれか１項に記載の移動制御方法。
【請求項６】
前記第１ロボットは、前記第１担当領域に対するタスクを実行中に前記受信ステップで受信した前記ロボット群それぞれのロボット情報を記憶するためのメモリを有し、
前記ロボット群それぞれのロボット情報は、さらに、前記第１ロボットが前記受信ステップで受信した時刻を示す時間情報を含み、
前記選択処理ステップでは、さらに、
前記第１ロボットが、前記メモリに記憶されている前記ロボット情報の少なくとも一を、前記第１担当領域に対するタスクを完了した時点を基準とした所定期間外に受信していた場合、前記第１ロボットが前記第１担当領域内を移動する領域内移動ステップを含み、
前記受信ステップでは、さらに、前記領域内移動ステップで前記第１ロボットが移動中に前記少なくとも一に対応するロボットと通信可能となったときに、前記第１ロボットは前記ロボット情報の少なくとも一を受信し、
前記残タスク取得ステップでは、前記少なくとも一に対応するロボットを含む前記ロボット群の前記各ロボットの残りタスクを取得する、
請求項５に記載の移動制御方法。
【請求項７】
前記メモリには、さらに、前記第１ロボットが前記第１担当領域に対するタスクを実行中に前記受信ステップで受信した前記ロボット群それぞれのロボット情報を受信した際の前記第１ロボットの位置を示す受信位置情報が記憶されており、
前記領域内移動ステップでは、
前記第１ロボットは、前記ロボット情報の少なくとも一の受信位置情報の示す位置に向けて、前記第１担当領域内を移動する、
請求項６に記載の移動制御方法。
【請求項８】
前記第１ロボットは、前記第１担当領域に対するタスクを実行中に前記受信ステップで受信した前記ロボット群それぞれのロボット情報を記憶するためのメモリを有し、
前記ロボット群それぞれのロボット情報は、さらに、前記第１ロボットが前記受信ステップで受信した時刻を示す時間情報を含み、
前記選択処理ステップでは、
前記複数のロボットのうち前記第１ロボットと現在通信可能および過去通信可能であった前記第１ロボット以外の複数のロボットであるロボット群の中から支援対象のロボットを選択し、
前記残タスク取得ステップでは、さらに、前記メモリに記憶されている前記第１ロボットと過去通信可能であった前記複数のロボットのうちの少なくとも一のロボット情報および時間情報と、前記第１ロボットの現在位置とを用いて、前記第１ロボットが前記少なくとも一それぞれまで移動した時点での前記少なくとも一それぞれの残りタスクを推定することで、前記少なくとも一を含む前記ロボット群の前記各ロボットの残りタスクを取得する、
請求項５に記載の移動制御方法。
【請求項９】
前記選択処理ステップでは、さらに、
前記第１担当領域に対するタスクを完了した場合、かつ、前記第１担当領域の中に存在する前記第１ロボットが前記ロボット群の中から支援対象ロボットを選択できないとき、前記第１ロボットが前記第１担当領域の外に移動する領域外移動ステップを含み、
前記受信ステップでは、さらに、前記領域外移動ステップで前記第１ロボットが移動中に前記複数のロボットのうち前記ロボット群以外のロボットと通信可能となったときに、前記第１ロボットは前記ロボット群以外のロボットから現在位置を示す位置情報およびタスクの進捗状況を示すタスク情報を含むロボット情報を受信し、
前記残タスク取得ステップでは、さらに、前記第１ロボットが、前記第１ロボットの現在位置と前記受信ステップで受信した前記ロボット群以外のロボットのロボット情報とを用いて、前記第１ロボットが前記ロボット群以外のロボットの現在位置まで移動した時点での残りタスクを取得し、
前記選択ステップでは、さらに、前記第１ロボットが、前記残タスク取得ステップで取得した残りタスクに基づいて、前記ロボット群以外のロボットを支援対象のロボットとして選択する、
請求項５に記載の移動制御方法。
【請求項１０】
前記残タスク取得ステップでは、
前記第１ロボットは、前記第１ロボットの現在位置と前記受信ステップで受信した前記ロボット群のそれぞれの位置情報とを用いて、前記第１ロボットが前記ロボット群の各ロボットの現在位置までの各移動時間を算出し、算出した前記各移動時間と前記受信ステップで受信した前記ロボット群のそれぞれのタスク情報とを用いて、前記各ロボットの残りタスク量を推定することにより、前記各ロボットの残りタスクを取得する、
請求項５〜９のいずれか１項に記載の移動制御方法。
【請求項１１】
前記選択ステップでは、
前記第１ロボットは、前記ロボット群のうち、前記残タスク取得ステップで取得した残りタスクの量が最も大きい前記第２ロボットを、支援対象のロボットとして選択する、
請求項１０に記載の移動制御方法。
【請求項１２】
それぞれ割り当てられた担当領域に対するタスクを実行する自律移動型の複数のロボットで構成されるロボットシステムにおける第１ロボットの移動制御装置であって、
前記第１ロボットに割り当てられた第１担当領域に対するタスクを完了した場合、前記複数のロボットのうち、前記第１ロボットと通信可能である前記第１ロボット以外の複数のロボットであるロボット群の中から支援対象のロボットを選択する選択処理部と、
前記第１ロボットに、前記選択処理部により選択した支援対象のロボットである第２ロボットに割り当てられた第２担当領域に移動を開始させる移動制御部と、
前記第２担当領域への移動中に、前記複数のロボットのうち第３ロボットと新たに通信可能になった場合、支援対象のロボットを前記第３ロボットに変更するか否かを判定する変更判定部とを備え、
前記移動制御部は、さらに、前記変更判定部において支援対象のロボットを前記第３ロボットに変更すると判定された場合、前記第１ロボットに、前記第３ロボットに割り当てられた第３担当領域に移動を開始させる、
移動制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動制御方法および移動制御装置に関し、特に、自律的に移動しながらタスクを実行する複数の自律移動型のロボットで構成されるロボットシステムにおける移動制御方法および移動制御装置に関する。
【背景技術】
【０００２】
他の自律移動型のロボット（以下自律ロボットと記載）と協調しながら、それぞれに割り当てられたタスクを実行する自律ロボットに関する技術が提案されている（例えば、特許文献１、特許文献２参照）。
【０００３】
特許文献１では、サーバが、複数の掃除ロボットのそれぞれに対して、担当領域を割り当てて、複数の掃除ロボットに掃除を行わせる技術について開示されている。特許文献２では、サーバと複数の自律ロボットから構成されるシステムにおいて、サーバから命令を受けた複数の自律ロボットが、その後、お互いの情報をやり取りして、協調しながらタスクを実行する技術について開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−０５４３３５号公報
【特許文献２】特許第４７１３８４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術では、各自律ロボットが移動することにより通信可能な他の自律ロボットが動的に変化する場合については考慮されていない。
【０００６】
本発明では、上述の事情を鑑みてなされたもので、通信可能な他の自律ロボットが動的に変化する場合でも自律ロボットがより多くの他の自律ロボットと協調してタスクを実行することができる移動制御方法および移動制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記従来の課題を解決するために、本発明の自律ロボットの移動制御方法は、それぞれ割り当てられた担当領域に対するタスクを実行する自律移動型の複数のロボットで構成されるロボットシステムにおける移動制御方法であって、前記複数のロボットのうちの第１ロボットが、前記第１ロボットに割り当てられた第１担当領域に対するタスクを完了した場合、前記複数のロボットのうち前記第１ロボットと通信可能である前記第１ロボット以外の複数のロボットであるロボット群の中から支援対象のロボットを選択する選択処理ステップと、前記第１ロボットが、前記選択処理ステップで選択した支援対象のロボットである第２ロボットに割り当てられた第２担当領域に移動を開始する第１移動ステップと、前記第１ロボットが、前記第２担当領域への移動中に、前記複数のロボットのうち第３ロボットと新たに通信可能になった場合、支援対象のロボットを前記第３ロボットに変更するか否かを判定する変更判定ステップと、前記第１ロボットが、前記変更判定ステップで支援対象のロボットを前記第３ロボットに変更すると判定する場合、前記第３ロボットに割り当てられた第３担当領域に向けて移動を開始する第２移動ステップとを含む。
【０００８】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたは記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００９】
本発明によれば、通信可能な他の自律ロボットが動的に変化する場合でも自律ロボットがより多くの他の自律ロボットと協調してタスクを実行することができる移動制御方法および移動制御装置を実現することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１におけるロボットシステムの全体像を概念的に示す図
【図２】実施の形態１における自律ロボットの機能構成の一例を示すブロック図
【図３】図２に示す制御部の詳細構成の一例を示すブロック図
【図４】実施の形態１における自律ロボットの記憶部に記憶される情報を概念的に示す図
【図５】図４に示す他ロボット情報の一例を示す図
【図６】実施の形態１における自律ロボットの動作を説明するためのフローチャート
【図７】実施の形態１における自律ロボットの選択処理の詳細の一例を説明するためのフローチャート
【図８】実施の形態１における自律ロボットが支援対象の自律ロボットに移動中に新たに自律ロボットを検出した状況を概念的に示す図
【図９】実施の形態１における自律ロボットの変更処理の詳細の一例を説明するためのフローチャート
【図１０】実施の形態１における自律ロボット１１Ｂの機能構成の一例を示すブロック図
【図１１】図１０に示す制御部の詳細構成の一例を示すブロック図
【図１２】実施の形態２における自律ロボットの記憶部に記憶される情報を概念的に示す図
【図１３】図１２に示す他ロボット情報の一例を示す図
【図１４Ａ】実施の形態２におけるロボットシステムを構成する自律ロボットの状況を概念的に示す図
【図１４Ｂ】実施の形態２におけるロボットシステムを構成する自律ロボットの状況を概念的に示す図
【図１５】実施の形態２における自律ロボットの選択処理の詳細の一例を説明するためのフローチャート
【図１６】実施の形態３における自律ロボットの機能構成の一例を示すブロック図
【図１７】図１６に示す制御部の詳細構成の一例を示すブロック図
【図１８】実施の形態３における自律ロボットの記憶部に記憶される情報を概念的に示す図
【図１９】図１８に示す他ロボット情報の一例を示す図
【図２０Ａ】実施の形態３におけるロボットシステムを構成する自律ロボットの状況を概念的に示す図
【図２０Ｂ】実施の形態３におけるロボットシステムを構成する自律ロボットの状況を概念的に示す図
【図２１】実施の形態３における自律ロボットの選択処理の詳細の一例を説明するためのフローチャート
【図２２】実施の形態４における自律ロボットの機能構成の一例を示すブロック図
【図２３】図２２に示す制御部の詳細構成の一例を示すブロック図
【図２４Ａ】実施の形態４におけるロボットシステムを構成する自律ロボットの状況を概念的に示す図
【図２４Ｂ】実施の形態４におけるロボットシステムを構成する自律ロボットの状況を概念的に示す図
【図２５】実施の形態４の変形例１における自律ロボットの担当領域外に移動する際の移動方向の一例を示す図
【発明を実施するための形態】
【００１１】
（発明の基礎となった知見）
特許文献１では、サーバが、複数の掃除ロボットを制御して、複数の掃除ロボットを協調させながら、掃除を行わせる技術について開示されている。より具体的には、特許文献１に開示される技術では、サーバが、複数の掃除ロボットのそれぞれに対して、担当領域を割り当てて、複数の掃除ロボットに掃除を行わせる。各掃除ロボットは、サーバから割り当てられた担当領域について掃除を行いながら、掃除の進捗状況をサーバに通知する。サーバは、各掃除ロボットからの通知を受けて、各掃除ロボットのタスクの進捗状況を把握する。サーバは、一の掃除ロボットから、掃除が完了した旨の通知を受信した場合、当該一の掃除ロボットに対して、まだ掃除が完了していない他のロボットの担当領域のうちの未掃除領域を割り当てる再割り当てを行う。
【００１２】
しかしながら、特許文献１に開示される技術は、サーバを用いて掃除ロボットを協調させる構成である。そのため、複数の掃除ロボットを協調させるためのサーバを構築する必要があり、サーバ構築のためのコストがかかる。さらに、サーバが故障等で動作不能になってしまう場合には、掃除ロボットに対して再割り当て等を行うことができず、複数の掃除ロボットを適切に協調させることができないという課題がある。また、サーバと掃除ロボットとの通信が途絶えてしまう場合には、サーバは通信が途絶えた掃除ロボットのタスクの進捗状況を把握することができなくなる。そのため、サーバは、複数の掃除ロボットを適切に協調させることができなくなる。
【００１３】
以上から、サーバなどの中央装置を用いた中央制御を用いないで複数の掃除ロボットすなわち自律ロボットを協調させる方法が求められる。すなわち、各自律ロボットが、自身の周りの自律ロボットとお互いに情報をやりとりしながら、自身の周りの自律ロボットと協調することにより、複数の自律ロボットで構成されるシステム全体を協調させる方法が求められる。
【００１４】
そして、このような構成を実現できると、システム全体を把握する中央装置を用いないでよいので、中央装置を構築する必要がなく、中央装置の構築のためのコストが抑制できる。さらに、たとえ、１台の自律ロボットが故障等で動作不能になったとしても、他の自律ロボット間の協調には何ら影響は起こらないため、システム全体で協調動作が機能しなくなるといったことはない。もちろん、故障した自律ロボットと協調動作をしていた場合、協調動作を行った自律ロボットなどに影響は出る。しかし、その影響はシステム全体からみて局所的なものであり、システム全体に影響するものではない。
【００１５】
特許文献２には、中央装置を構築する必要のないシステム構成が開示されている。特許文献２には、サーバなどを用いた中央制御による協調ではなく、各自律ロボットが、自身の周りの自律ロボットとお互いに情報をやりとりしながら、自身の周りの自律ロボットと協調することにより、システム全体を協調させる方法が開示されている。特許文献２には、サーバと複数の自律ロボットから構成されるシステムが開示されているが、複数の自律ロボットは、サーバから命令を受け取るだけであり、サーバからの命令を受けた後は、複数の自律ロボットがお互いの情報をやり取りして、協調しながらタスクを実行する。特許文献２における複数の自律ロボットは、他の自律ロボットと協調してタスクの実行を行う場合、通信範囲にいる他の自律ロボットと通信を行い、お互いに、自身の位置情報やタスクの進捗情報などを交換し、それらの情報に基づいて、お互いに協調してタスクの実行を行っている。
【００１６】
ところで、掃除ロボットなどの自律ロボットが移動すると当該自律ロボットの通信範囲は変化する。そのため、当該自律ロボットの移動により当該自律ロボットと通信可能な他の自律ロボットが変化する場合がある。この場合、当該自律ロボットが移動することにより、当該自律ロボットが取得できる他の自律ロボットの情報は変化する。
【００１７】
例えば、自律ロボットの移動により、ある自律ロボットＡとは、移動前は通信可能であったが、移動後は通信不可となってしまう場合がある。この場合、当該自律ロボットは、自律ロボットＡの情報が取得できない。また、例えば、当該自律ロボットの移動により別の自律ロボットＢとは、移動前は通信不可であったが、移動後は通信可能となる場合もある。この場合、当該自律ロボットは、自律ロボットＢの情報が新たに取得できるようになる。
【００１８】
各自律ロボットが、お互いの情報をやりとりしながら、周りの自律ロボットと協調する方法の場合、各自律ロボットは、周りの自律ロボットの情報のみを用いて、協調を行う。つまり、各自律ロボットは、システムを構成する全ての自律ロボットの情報を用いることはできず、周りの自律ロボットの情報のみを用いて協調を行う。そのため、各自律ロボットは、システム全体からみて必ずしも最適な協調を行うことはできない。より最適な協調を行うためには、各自律ロボットが、より多くの自律ロボットの情報を用いて協調を行うようにすることが望まれる。特に、掃除ロボットのように自律ロボットが移動する場合においては、自律ロボットの移動に伴い、当該自律ロボットが取得できる他の自律ロボットの情報が動的に変化するため、そのことを考慮に入れながら、より多くの他の自律ロボットの情報を用いて、より最適な協調を行うようにすることが望まれる。
【００１９】
しかしながら、上記の特許文献２では、自律ロボットの移動に伴い、当該自律ロボットが取得できる他の自律ロボットの情報が動的に変化することについては、何の示唆もされていない。上記の特許文献２では、全ての自律ロボットが互いに通信可能であることが前提となっており、自律ロボットの移動により、当該自律ロボットの通信範囲が変化し、当該自律ロボットが取得できる他の自律ロボットの情報が変化することについては、何の考慮もされていないと思料される。
【００２０】
そこで、以下では、通信可能な他の自律ロボットが動的に変化する場合でも自律ロボットがより多くの他の自律ロボットと協調してタスクを実行することができる移動制御方法および移動制御装置を提案する。
【００２１】
本発明の一形態に係る移動制御方法は、それぞれ割り当てられた担当領域に対するタスクを実行する自律移動型の複数のロボットで構成されるロボットシステムにおける移動制御方法であって、前記複数のロボットのうちの第１ロボットが、前記第１ロボットに割り当てられた第１担当領域に対するタスクを完了した場合、前記複数のロボットのうち前記第１ロボットと通信可能である前記第１ロボット以外の複数のロボットであるロボット群の中から支援対象のロボットを選択する選択処理ステップと、前記第１ロボットが、前記選択処理ステップで選択した支援対象のロボットである第２ロボットに割り当てられた第２担当領域に移動を開始する第１移動ステップと、前記第１ロボットが、前記第２担当領域への移動中に、前記複数のロボットのうち第３ロボットと新たに通信可能になった場合、支援対象のロボットを前記第３ロボットに変更するか否かを判定する変更判定ステップと、前記第１ロボットが、前記変更判定ステップで支援対象のロボットを前記第３ロボットに変更すると判定する場合、前記第３ロボットに割り当てられた第３担当領域に向けて移動を開始する第２移動ステップとを含む。
【００２２】
これにより、割り当てられた担当領域に対するタスクを完了した第１ロボットは、支援対象すなわちタスク支援の対象である第２ロボットに向かう移動時に新たに通信可能となった第３ロボットからの情報に基づき、支援対象の変更処理を行うことができるので、より適切なロボットを支援対象に選択することができる。つまり、通信可能な他の自律ロボットが動的に変化する場合でも自律ロボットはより多くの他の自律ロボットと協調してタスクを実行することができる。このようにして、より効率的に他の自律ロボットと連携してタスクを実行することができる移動制御方法を実現できる。
【００２３】
ここで、前記変更判定ステップでは、前記第１ロボットが、前記第３ロボットの現在位置を示す位置情報および前記第３ロボットのタスクの進捗状況を示すタスク情報を含む第３ロボット情報を取得する取得ステップと、前記第１ロボットが、前記取得ステップで取得した第３ロボット情報を用いて、支援対象のロボットを前記第２ロボットから前記第３ロボットに変更するか否かを判定する判定ステップと、を含むとしてもよい。
【００２４】
また、前記判定ステップでは、前記第１ロボットは、前記第２ロボットが前記第２担当領域に対するタスクを完了する時刻より前記第３ロボットが前記第３担当領域に対するタスクを完了する時刻の方が遅く、かつ、前記第１ロボットの現在位置から前記第３ロボットの現在位置まで移動した時点において前記第３ロボットの残りタスクが存在する場合に、支援対象のロボットを前記第２ロボットから前記第３ロボットに変更すると判定するとしてもよい。
【００２５】
また、前記移動制御方法は、前記第１移動ステップでは、さらに、前記第１ロボットが前記第２担当領域に移動を開始する際に、前記第２担当領域のタスクを完了するための支援に向かう旨を示す情報を前記第１ロボットが前記第２ロボットに通知する通知ステップを含み、前記第２移動ステップでは、さらに、前記第１ロボットが前記第３担当領域に移動を開始する際に、前記第３担当領域のタスクを完了するための支援を行う旨を示す情報を前記第３ロボットに通知すると共に、前記第２ロボットの支援に向かわない旨を示す情報を前記第２ロボットに通知するとしてもよい。
【００２６】
これにより、第１ロボットは、第１ロボットと通信可能な第２ロボットに対して、タスク支援に行かなくなった旨を通知することができる。
【００２７】
それにより、第２ロボットは、自身のタスクを完了し支援対象のロボットの選択処理を行う際には、第１ロボットが支援に来なくなったことを考慮に入れることが可能となる。
【００２８】
また、前記変更判定ステップでは、さらに、前記第１ロボットが、前記第３担当領域を含む前記第１担当領域以外の第Ｎ担当領域（Ｎは３以上の自然数）への移動中に、前記複数のロボットのうち第Ｍロボット（Ｍは３以上の自然数）と新たに通信可能になった場合に、支援対象のロボットを前記第Ｍロボットに変更するか否かを判定し、前記第２移動ステップでは、前記第１ロボットは、前記変更判定ステップで前記第１ロボットが支援対象のロボットを前記第Ｍロボットに変更すると判定した場合に、前記第Ｍロボットに割り当てられた第Ｍ担当領域に向けて移動を開始するとしてもよい。
【００２９】
ここで、前記第１ロボットは、支援対象のロボットを変更可能な回数である回数制限を示す回数情報を記憶するメモリを有し、前記変更判定ステップでは、前記第１ロボットは、支援対象のロボットの変更回数が前記メモリに記憶された前記回数情報に示される前記回数制限を越えた場合には、支援対象のロボットを前記第Ｍロボットに変更しないと判定するとしてもよい。
【００３０】
これにより、第１ロボットが、支援対象のロボットの変更を何度も行うことによって、支援対象のロボットの担当領域に到達するまでの時間が増加し、支援対象のロボットの支援を行う時間が減少してしまうことを抑制することが可能となる。
【００３１】
また、前記選択処理ステップは、前記第１ロボットが、前記ロボット群のそれぞれから、現在位置を示す位置情報およびタスクの進捗状況を示すタスク情報を含むロボット情報を受信する受信ステップと、前記第１ロボットが、当該第１ロボットの現在位置と前記受信ステップで受信した複数のロボット情報とを用いて、前記第１ロボットが前記ロボット群の各ロボットの現在位置まで移動した時点での前記各ロボットの残りタスクを取得する残タスク取得ステップと、前記第１ロボットが、前記残タスク取得ステップで取得した残りタスクに基づいて、前記ロボット群の中から前記第２ロボットを支援対象のロボットとして選択する選択ステップと、を含むとしてもよい。
【００３２】
これにより、第１ロボットは、ロボット群のそれぞれの残りタスクを取得ができるので、取得した残りタスクに基づいて、支援対象のロボットを選択することができる。それにより、第１ロボットは、支援対象のロボットへの移動中に当該支援対象のロボットのタスクが完了してしまい、移動が無駄になってしまうことを防止することが可能である。
【００３３】
また、前記第１ロボットは、前記第１担当領域に対するタスクを実行中に前記受信ステップで受信した前記ロボット群それぞれのロボット情報を記憶するためのメモリを有し、前記ロボット群それぞれのロボット情報は、さらに、前記第１ロボットが前記受信ステップで受信した時刻を示す時間情報を含み、前記選択処理ステップでは、さらに、前記第１ロボットが、前記メモリに記憶されている前記ロボット情報の少なくとも一を、前記第１担当領域に対するタスクを完了した時点を基準とした所定期間外に受信していた場合、前記第１ロボットが前記第１担当領域内を移動する領域内移動ステップを含み、前記受信ステップでは、さらに、前記領域内移動ステップで前記第１ロボットが移動中に前記少なくとも一に対応するロボットと通信可能となったときに、前記第１ロボットは前記ロボット情報の少なくとも一を受信し、前記残タスク取得ステップでは、前記少なくとも一に対応するロボットを含む前記ロボット群の前記各ロボットの残りタスクを取得するとしてもよい。
【００３４】
これにより、第１ロボットは、自ロボットの担当領域のタスクを完了する直前もしくは直後に受信するロボット情報を用いて支援対象のロボットを選択することができるので、適切に支援対象のロボットを選択することが可能となる。
【００３５】
また、前記メモリには、さらに、前記第１ロボットが前記第１担当領域に対するタスクを実行中に前記受信ステップで受信した前記ロボット群それぞれのロボット情報を受信した際の前記第１ロボットの位置を示す受信位置情報が記憶されており、前記領域内移動ステップでは、前記第１ロボットは、前記ロボット情報の少なくとも一の受信位置情報の示す位置に向けて、前記第１担当領域内を移動するとしてもよい。
【００３６】
これにより、第１ロボットが、自ロボットの担当領域内を移動することでさらなるロボット情報を取得することができるので、適切に支援対象のロボットを選択することが可能となる。
【００３７】
より具体的には、第１ロボットは、担当領域内を移動して新しくロボット情報を取得する際、以前、対応するロボット情報を受信した位置に向かって移動する。これにより、第１ロボットは、より早く当該ロボット情報のロボットと通信することができるので、より早く支援対象のロボットを選択することが可能となる。
【００３８】
また、前記第１ロボットは、前記第１担当領域に対するタスクを実行中に前記受信ステップで受信した前記ロボット群それぞれのロボット情報を記憶するためのメモリを有し、前記ロボット群それぞれのロボット情報は、さらに、前記第１ロボットが前記受信ステップで受信した時刻を示す時間情報を含み、前記選択処理ステップでは、前記複数のロボットのうち前記第１ロボットと現在通信可能および過去通信可能であった前記第１ロボット以外の複数のロボットであるロボット群の中から支援対象のロボットを選択し、前記残タスク取得ステップでは、さらに、前記メモリに記憶されている前記第１ロボットと過去通信可能であった前記複数のロボットのうちの少なくとも一のロボット情報および時間情報と、前記第１ロボットの現在位置とを用いて、前記第１ロボットが前記少なくとも一それぞれまで移動した時点での前記少なくとも一それぞれの残りタスクを推定することで、前記少なくとも一を含む前記ロボット群の前記各ロボットの残りタスクを取得するとしてもよい。
【００３９】
これにより、第１ロボットは、ロボット群それぞれの残りタスクを正確に推定することができ、適切に支援対象のロボットを選択することが可能となる。
【００４０】
また、前記選択処理ステップでは、さらに、前記第１担当領域に対するタスクを完了した場合、かつ、前記第１担当領域の中に存在する前記第１ロボットが前記ロボット群の中から支援対象ロボットを選択できないとき、前記第１ロボットが前記第１担当領域の外に移動する領域外移動ステップを含み、前記受信ステップでは、さらに、前記領域外移動ステップで前記第１ロボットが移動中に前記複数のロボットのうち前記ロボット群以外のロボットと通信可能となったときに、前記第１ロボットは前記ロボット群以外のロボットから現在位置を示す位置情報およびタスクの進捗状況を示すタスク情報を含むロボット情報を受信し、前記残タスク取得ステップでは、さらに、前記第１ロボットが、前記第１ロボットの現在位置と前記受信ステップで受信した前記ロボット群以外のロボットのロボット情報とを用いて、前記第１ロボットが前記ロボット群以外のロボットの現在位置まで移動した時点での残りタスクを取得し、前記選択ステップでは、さらに、前記第１ロボットが、前記残タスク取得ステップで取得した残りタスクに基づいて、前記ロボット群以外のロボットを支援対象のロボットとして選択するとしてもよい。
【００４１】
これにより、第１ロボットは、担当領域外に移動することにより、これまで通信範囲外であった新しい領域を通信範囲とすることができ、これまで通信できなかった新しい他のロボットと通信することができるようになる。それにより、第１ロボットは、新しい他のロボットからロボット情報を取得できるので、支援対象のロボットを選択することが可能となる。
【００４２】
また、前記残タスク取得ステップでは、前記第１ロボットは、前記第１ロボットの現在位置と前記受信ステップで受信した前記ロボット群のそれぞれの位置情報とを用いて、前記第１ロボットが前記ロボット群の各ロボットの現在位置までの各移動時間を算出し、算出した前記各移動時間と前記受信ステップで受信した前記ロボット群のそれぞれのタスク情報とを用いて、前記各ロボットの残りタスク量を推定することにより、前記各ロボットの残りタスクを取得するとしてもよい。
【００４３】
また、前記選択ステップでは、前記第１ロボットは、前記ロボット群のうち、前記残タスク取得ステップで取得した残りタスクの量が最も大きい前記第２ロボットを、支援対象のロボットとして選択するとしてもよい。
【００４４】
これにより、選択基準として、推定した残りタスク量が最も大きい第２ロボットを、支援対象のロボットとして選択することができるので、最も支援が必要とされるロボットを支援することが可能となる。
【００４５】
また、本発明の一態様に係る移動制御装置は、それぞれ割り当てられた担当領域に対するタスクを実行する自律移動型の複数のロボットで構成されるロボットシステムにおける第１ロボットの移動制御装置であって、前記第１ロボットに割り当てられた第１担当領域に対するタスクを完了した場合、前記複数のロボットのうち、前記第１ロボットと通信可能である前記第１ロボット以外の複数のロボットであるロボット群の中から支援対象のロボットを選択する選択処理部と、前記第１ロボットに、前記選択処理により選択した支援対象のロボットである第２ロボットに割り当てられた第２担当領域に移動を開始させる移動制御部と、前記第２担当領域への移動中に、前記複数のロボットのうち第３ロボットと新たに通信可能になった場合、支援対象のロボットを前記第３ロボットに変更するか否かを判定する変更判定部とを備え、前記移動制御部は、さらに、前記変更判定部において支援対象のロボットを前記第３ロボットに変更すると判定された場合、前記第１ロボットに、前記第３ロボットに割り当てられた第３担当領域に移動を開始させる。
【００４６】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なＣＤ−ＲＯＭ等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００４７】
以下、本発明の一態様に係る移動制御方法等について、図面を参照しながら説明する。
【００４８】
なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００４９】
以下、複数の自律ロボットそれぞれには、事前にタスクの担当領域が割り当てられているとして説明する。
【００５０】
（実施の形態１）
本実施の形態では、複数の自律ロボットがそれぞれの担当領域を自律的に移動してタスクを実行する状況において、割り当てられた担当領域に対するタスクを完了した自律ロボットが他の自律ロボットと協調してタスクを実行するために行われる移動制御方法等について説明する。
【００５１】
なお、自律ロボットが他の自律ロボットと協調してタスクを実行するとは、自律ロボットが、自身に割り当てられた担当領域のタスクを完了後に、未だタスクが完了していない他の自律ロボットのタスクの支援を行うことを意味する。また、タスクの支援とは、当該自律ロボットが当該他の自律ロボットのタスクの一部を実行することを意味する。このタスクの一部は当該他の自律ロボットから当該自律ロボットに割り当てられる。
【００５２】
自律ロボットは、例えば掃除ロボットや探索ロボット、点検ロボットなどである。自律ロボットが行うタスクとは、例えば自律ロボットが掃除ロボットの場合、ゴミや埃の吸引処理であり、自律ロボットが探索ロボットの場合、例えば地雷などの対象物を探索するためのセンシングであり、自律ロボットが点検ロボットの場合、例えば橋や建物などの点検対象の異常確認するためのセンシングである。
【００５３】
［ロボットシステムの全体像］
図１は、実施の形態１におけるロボットシステムの全体像を概念的に示す図である。
【００５４】
図１に示すロボットシステム１は、それぞれ割り当てられた担当領域に対するタスクを実行する自律移動型の複数のロボットで構成される。本実施の形態ではロボットシステム１は自律ロボット１１−１９で構成されている。
【００５５】
自律ロボット１１−１９のそれぞれには、事前にタスクの担当領域２１−２９が割り当てられている。自律ロボット１１−１９のそれぞれは、事前に割り当てられた担当領域２１−２９を自律的に移動してタスクを実行する。
【００５６】
また、自律ロボット１１−１９のそれぞれは、通信機能を有している。本実施の形態では、自律ロボット１１−１９のそれぞれが通信可能な領域は限られている。通信可能な領域内にいる自律ロボット同士はお互いに情報をやり取りすることができる。例えば図１には、自律ロボット１１の通信可能な領域として通信範囲３１１が示されており、自律ロボット１１は、通信範囲３１１内にいる他の自律ロボット１２、１３、１４と通信可能であることが示されている。
【００５７】
以上のように構成されたロボットシステム１では、各自律ロボットは、事前に割り当てられた担当領域のタスクを行うと共に通信範囲内にいる近隣の他の自律ロボットと通信して互いに情報のやり取りを行う。
【００５８】
なお、自律ロボットの担当領域を割り当てる方法としては、例えば、ユーザが、自律ロボットがタスクを開始する前に当該自律ロボットに対して担当領域を割り当てるとしてもよい。また、未だ担当領域の割り当てられていない自律ロボットが、既に担当領域が割り当てられている他の自律ロボットに要求して、当該他の自律ロボットの担当領域の一部を割り当ててもらうとしてもよい。また、自律ロボットが、タスクを開始する前に環境認識を行って、当該自律ロボット自身で担当領域を設定するとしてもよい。当該自律ロボットがタスク実行前に担当領域を有する状態になれば、割り当て方法は上記の方法に限定されない。
【００５９】
［自律ロボットの機能構成］
自律ロボット１１−１９は同種または図２に示す機能構成を少なくとも備える。以下では、代表して自律ロボット１１の機能構成について説明する。
【００６０】
図２は、実施の形態１における自律ロボット１１の機能構成の一例を示すブロック図である。
【００６１】
自律ロボット１１は、図２に示すように、通信部１１１、制御部１１２、タスク実行部１１３、駆動部１１４、記憶部１１５、時間計測部１１６および位置測定部１１７を少なくとも備える。
【００６２】
通信部１１１は、ＷｉＦｉなどの近距離の無線通信技術を用いて、他の自律ロボットと通信を行うためのインタフェースである。通信部１１１は、例えば自身（自律ロボット１１）に関する固有情報や自身（自律ロボット１１）のタスクに関するタスク情報、自身の位置情報を他の自律ロボットに送信する。また、通信部１１１は、他の自律ロボットから送信された情報を受信する。なお、通信部１１１は、自律ロボット１１のバッテリや電池などで駆動し、上述したように通信可能な領域は限られている。
【００６３】
タスク実行部１１３は、制御部１１２から指示を受けると、タスク実行を行う。ここで、タスク実行部１１３は、例えば自律ロボット１１が掃除ロボットである場合、ゴミの吸引を行うためのゴミ吸引装置である。また、タスク実行部１１３は、自律ロボット１１が例えば地雷探索ロボットである場合、地中にある地雷をセンシングするための地雷センシング装置であり、自律ロボット１１が例えば点検ロボットである場合、点検対象の建物に事前に付与されたセンサーの情報を順次取得するためのセンサー情報収集装置である。
【００６４】
駆動部１１４は、モータ及び車輪から構成され、制御部１１２から指示を受けると、モータを駆動させ車輪を回転させることにより、自律ロボット１１の移動を行う。
【００６５】
記憶部１１５は、自身に関する固有情報と自身のタスクに関するタスク情報とから成る自ロボット情報、および、他の自律ロボットから送信された情報に基づく他ロボット情報を記憶する。例えば、記憶部１１５は、支援対象のロボットを変更可能な回数である回数制限を示す回数情報を記憶している。記憶部１１５は、他にも情報を記憶しているが詳細については、後述するのでここでの説明を省略する。
【００６６】
時間計測部１１６は、時刻情報が必要なときに、制御部１１２の指示を受けて、時刻の計測を行う。時間計測部１１６は、例えば、自身のタスクの実行開始時に、タスク開始時刻を計測したり、自身のタスクの実行完了時にタスク完了時刻を計測したりする。
【００６７】
位置測定部１１７は、自身の位置情報の取得を行う。例えば、位置測定部１１７は、ＧＰＳにより位置情報を測定する。
【００６８】
制御部１１２は、上述した通信部１１１、タスク実行部１１３、駆動部１１４、記憶部１１５、時間計測部１１６および位置測定部１１７の制御を行う。
【００６９】
［制御部１１２］
ここで、制御部１１２の詳細構成の一例について説明する。
【００７０】
図３は、図２に示す制御部の詳細構成の一例を示すブロック図である。
【００７１】
制御部１１２は、図３に示すように、選択処理部１１２１、移動制御部１１２２、変更判定部１１２３および通知制御部１１２４を備える。
【００７２】
選択処理部１１２１は、自律ロボット１１（第１ロボット）に割り当てられた担当領域２１（第１担当領域）に対するタスクを完了した場合、複数の自律ロボットのうち、自律ロボット１１（第１ロボット）と通信可能である自律ロボット１１（第１ロボット）以外の複数の自律ロボットであるロボット群の中から支援対象のロボットを選択する処理を行う。
【００７３】
例えば、選択処理部１１２１は、まず、ロボット群のそれぞれから、現在位置を示す位置情報およびタスクの進捗状況を示すタスク情報を含むロボット情報を通信部１１１に受信させる。次いで、選択処理部１１２１は、位置測定部１１７が測定した自律ロボット１１（第１ロボット）の現在位置と通信部１１１が取得した複数のロボット情報とを用いて、自律ロボット１１（第１ロボット）がロボット群の各ロボットの現在位置まで移動した時点での各ロボットの残りタスクを取得する。そして、選択処理部１１２１は、取得した残りタスクに基づいて、ロボット群の中から支援対象のロボット（第２ロボット）を選択する。ここで、例えば選択処理部１１２１は、ロボット群のうち、取得した残りタスクの量が最も大きいロボットを、支援対象のロボットとして選択するとしてもよい。
【００７４】
変更判定部１１２３は、自律ロボット１１（第１ロボット）が、支援対象のロボット（第２ロボット）に割り当てられた第２担当領域への移動中に、複数の自律ロボットのうち第３ロボットと新たに通信可能になった場合、支援対象のロボットを第２ロボットから第３ロボットに変更するか否かを判定する処理を行う。例えば、変更判定部１１２３は、第３ロボットの現在位置を示す位置情報および第３ロボットのタスクの進捗状況を示すタスク情報を含む第３ロボット情報を通信部１１１に取得させ、取得させた第３ロボット情報を用いて、支援対象のロボットを第２ロボットから第３ロボットに変更するか否かを判定する。
【００７５】
変更判定部１１２３は、さらに、自律ロボット１１（第１ロボット）が、第３担当領域を含む担当領域２１（第１担当領域）以外の第Ｎ担当領域（Ｎは３以上の自然数）への移動中に、複数の自律ロボットのうち第Ｍロボット（Ｍは３以上の自然数）と新たに通信可能になった場合に、支援対象のロボットを第Ｍロボットに変更するか否かを判定する。なお、変更判定部１１２３は、支援対象のロボットの変更回数が記憶部１１５に記憶されている回数情報に示される回数制限を越えた場合には、支援対象のロボットを第Ｍロボットに変更しないと判定する。
【００７６】
移動制御部１１２２は、自律ロボット１１（第１ロボット）を、選択処理部１１２１により選択された支援対象のロボット（第２ロボット）に割り当てられた第２担当領域に移動を開始させる制御を行う。また、移動制御部１１２２は、変更判定部１１２３により支援対象のロボットを第２ロボットから第３ロボットに変更すると判定された場合、第１ロボット（自律ロボット１１）を、第３ロボットに割り当てられた第３担当領域に移動を開始させる制御を行う。また、移動制御部１１２２は、変更判定部１１２３が支援対象のロボットを第Ｍロボットに変更すると判定した場合に、第Ｍロボットに割り当てられた第Ｍ担当領域に移動を開始させる制御を行う。
【００７７】
通知制御部１１２４は、移動制御部１１２２により第１ロボット（自律ロボット１１）が第２担当領域に移動を開始する際に、第２担当領域のタスクを完了するための支援に向かう旨を示す情報を第２ロボットに通知する制御を行う。また、通知制御部１１２４は、変更判定部１１２３が支援対象のロボットを第３ロボットに変更すると判定した場合には、移動制御部１１２２により第１ロボット（自律ロボット１１）を第３担当領域に移動を開始させる際に、第３担当領域のタスクを完了するための支援を行う旨を示す情報を第３ロボットに通知すると共に、第２ロボットの支援に向かわない旨を示す情報を第２ロボットに通知する制御を行う。
【００７８】
［記憶部１１５］
次に、自律ロボット１１の記憶部１１５に記憶される情報について、図面を用いて詳細に説明する。
【００７９】
図４は、実施の形態１に係る自律ロボット１１の記憶部１１５に記憶される情報を概念的に示す図である。
【００８０】
記憶部１１５は、自ロボット情報１１５１と、他ロボット情報１１５２と、選択基準１１５３とを備える。
【００８１】
（自ロボット情報の詳細）
自ロボット情報１１５１は、自律ロボット１１自身に関する情報であり、ロボット固有情報およびタスク情報から構成される。
【００８２】
ロボット固有情報は、自律ロボット１１をユニークに識別するためのロボット識別情報と自律ロボット１１のスペックを表すスペック情報とで構成される。ここで、自律ロボット１１のスペックを表す情報とは、例えば、自律ロボット１１が移動する際の移動速度、単位時間当たりのタスク処理量を表すタスク処理能力などの情報である。
【００８３】
タスク情報は、自律ロボット１１に割り当てられている担当領域２１のタスクに関する情報である。このタスク情報は、領域情報、経路情報、タスク開始時刻、タスク終了予定時刻、タスク済領域情報、未タスク領域情報、および、単位時間あたりのタスク実行量で構成される。
【００８４】
領域情報は、自律ロボット１１に割り当てられているタスクの担当領域２１のマップや面積などを示す情報である。ここで、例えば、領域情報は、ユーザから事前に設定されるとしてもよい。また、例えば、領域情報は、自律ロボット１１が既に担当領域を割り当てられている他の自律ロボットに要求して、当該他の自律ロボットの担当領域の一部を割り当ててもらうことにより設定されるとしてもよい。また、例えば、領域情報は、自律ロボット１１が、タスクを開始する前に環境情報を取得して、自ら設定するとしてもよい。
【００８５】
経路情報は、担当領域２１を自律ロボット１１がどのような経路で移動するかを示す情報である。より具体的には、経路情報は、領域情報に示される担当領域２１等に対して、自律ロボット１１がどのような経路で移動するかを示した情報である。ここで、経路情報は、例えば、ユーザから事前に設定されるとしてもよい。また、経路情報は、例えば、自律ロボット１１が、既に担当領域を割り当てられている他の自律ロボットに要求して、当該他の自律ロボットの担当領域の一部を割り当ててもらう際に、取得するとしてもよい。また、経路情報は、例えば、自律ロボット１１自らが生成したものであってもよい。
【００８６】
タスク済領域情報は、これまでに完了した担当領域２１のマップや面積などを示す情報である。より具体的には、タスク済領域情報は、自律ロボット１１に割り当てられている担当領域２１のうち、自律ロボット１１が、既に実行したタスクの領域に関する情報を示す。ここで、タスク済領域情報は、次のように生成される。すなわち、制御部１１２は、自律ロボット１１のタスク実行中に、位置測定部１１７に指示し、自律ロボット１１の位置情報を定期的にトラッキングさせ、自律ロボット１１の移動軌跡を取得させる。そして、制御部１１２は、取得した移動軌跡を自律ロボット１１が実行したタスクの領域とみなすことによりタスク済領域情報を生成する。
【００８７】
未タスク領域情報は、まだ完了していない担当領域２１のマップや面積などを示す情報である。より具体的には、未タスク領域情報は、自律ロボット１１に割り当てられている担当領域２１のうち、自律ロボット１１が、未だ実行していないタスクの領域に関する情報を示す。ここで、未タスク領域情報は、例えば、自律ロボット１１に割り当てられている担当領域２１から、タスク済領域情報に示されるタスク済領域を差分することにより生成される。
【００８８】
タスク開始時刻は、自律ロボット１１がタスクを開始した時刻を示す情報である。タスク開始時刻は、自律ロボット１１がタスクの実行を開始する直前に、制御部１１２により指示された時間計測部１１６により取得される。
【００８９】
タスク終了予定時刻は、自律ロボット１１がタスクを完了する予定を示す情報である。より具体的には、タスク終了予定時刻とは、自律ロボット１１が、自身に割り当てられタスクを完了する予定の時刻を示す情報である。タスク終了予定時刻は、自律ロボットのタスクの進捗により、動的に変化する。
【００９０】
例えば、自律ロボット１１がタスクを開始した時点のタスク終了予定時刻は、制御部１１２により、次のように算出される。まず、制御部１１２は、記憶部１１５に記憶している自ロボット情報１１５１の領域情報に含まれる担当領域２１の面積およびスペック情報に基づき、タスク実行に要する所要時間を算出する。また、制御部１１２は、時間計測部１１６に指示しタスク開始時刻を取得させる。そして、制御部１１２は、取得させたタスク開始時刻と算出したタスク実行に要する所要時間とを用いて、タスク開始から所要時間経過した時刻を、タスク終了予定時刻として算出する。
【００９１】
また、例えば、自律ロボット１１がタスク実行中であるときの任意の時点でのタスク終了予定時刻は、次のように算出される。まず、制御部１１２は、時間計測部１１６に指示し時刻情報を取得させ、記憶部１１５に記憶している自ロボット情報１１５１のタスク開始時刻を用いてこれまでのタスク所要時間を算出する。制御部１１２は、記憶部１１５に記憶している自ロボット情報１１５１のタスク済領域情報に含まれるタスク済領域の面積と算出したタスク所要時間とにより、これまでのタスク実行における単位時間当たりのタスク処理量を算出する。次に、制御部１１２は、記憶部１１５に記憶している自ロボット情報１１５１の未タスク領域情報に含まれる未タスク領域情報の面積と、算出した単位時間当たりのタスク処理量とにより、これから未タスク領域のタスクを実行するのにかかるタスク所要時間を算出する。そして、制御部１１２は、取得させた時刻情報と、算出した未タスク領域に対するタスク所要時間とを用いて、取得した時刻情報から当該タスク所要時間経過した時刻を、タスク終了予定時刻として算出する。
【００９２】
単位時間あたりのタスク実行量は、自律ロボット１１が単位時間当たりに実行するタスク量の平均を表す単位時間当たりのタスク処理量などを示す情報である。単位時間あたりのタスク処理量とは、自律ロボット１１が担当領域２１のタスクを実行する際の単位時間あたりの平均タスク処理量のことである。
【００９３】
ここで、例えば、実際にタスクを実行する際の単位時間当たりのタスク処理量は、次のように算出される。まず、制御部１１２は、自律ロボット１１がタスクを実行している任意の時点において、時間計測部１１６に指示し時刻情報を取得させる。制御部１１２は、取得させた時刻情報と、記憶部１１５に記憶されている自ロボット情報１１５１のタスク開始時刻とにより、これまでのタスク所要時間を算出する。そして、制御部１１２は、記憶部１１５に記憶している自ロボット情報１１５１のタスク済領域情報に含まれるタスク済領域の面積を算出したタスク所要時間で割ることにより実際の単位時間あたりのタスク実行量を算出する。
【００９４】
なお、単位時間あたりのタスク実行量は、上述したスペック情報とは異なる。スペック情報に含まれる単位時間あたりのタスク処理量は、事前に設定された情報であり、自律ロボット１１が、何も障害物が置かれていない領域に対してタスクを行う際の単位時間当たりのタスク処理量を示す。一方、実際の単位時間あたりのタスク処理量は、自律ロボット１１が実際に担当領域２１のタスクを実行した際の単位時間当たりのタスク処理量のことを示す。自律ロボット１１が実際にタスク実行を行う担当領域２１には、物が置かれており、自律ロボット１１が迂回してタスクを実行する必要があるのでスペック情報に含まれる単位時間あたりのタスク処理量では実行できないことが想定される。また、自律ロボットには個体差があり、たとえ担当領域２１に物が置かれていない場合でも、スペック情報に含まれる単位時間あたりのタスク処理量では実行できないことも想定される。そのため、実際にタスクを実行する際の単位時間当たりのタスク処理量は、スペック情報の単位時間当たりのタスク処理量と異なる値となる。
【００９５】
（他ロボット情報の詳細）
他ロボット情報１１５２は、他の自律ロボットに関する情報を含み、自律ロボット１１が他の自律ロボットから受信した情報に基づいて、記憶部１１５に記憶される情報を含む。
【００９６】
他ロボット情報１１５２は、例えば図４に示すように、他の自律ロボット毎に、当該他の自律ロボットについてのロボット固有情報、位置情報、タスク終了予定時刻、未タスク領域情報、および単位時間当たりのタスク実行量を含む。本実施の形態では、他ロボット情報１１５２は、自律ロボット１２、１３、１４のそれぞれについてのロボット固有情報、位置情報、タスク終了予定時刻、未タスク領域情報、および単位時間当たりのタスク実行量を含んでいる。
【００９７】
なお、他ロボット情報１１５２が含む情報としては、上記の例に限らない。自律ロボット１１が他の自律ロボットと協調するために必要な情報として、自律ロボット１１と他の自律ロボットとの距離情報、および、他の自律ロボットのタスクの進捗に関する情報を含んでいればよい。例えば、他ロボット情報１１５２は、他の自律ロボット毎に、ロボット固有情報、位置情報、タスク終了予定時刻を含むとしてもよい。また、位置情報に代えて、自律ロボット１１と他の自律ロボットまでの距離を示す距離情報を含むとしてもよい。距離情報は、自律ロボット１１の位置情報と他の自律ロボットの位置情報とを用いて算出できるからである。
【００９８】
また、他ロボット情報１１５２を構成する情報として単位時間当たりのタスク実行量を含めない場合でも、タスク開始時間とある時点までのタスクの所要時間とタスク済領域情報を含んでいればよい。他の自律ロボットの単位時間当たりのタスク実行量が必要になった場合は、これらの情報を用いて、単位時間当たりのタスク実行量を算出することができる。
【００９９】
（選択基準の詳細）
選択基準１１５３は、記憶部１１５に記憶されており、他ロボット情報１１５２に複数の他の自律ロボットの情報が含まれる場合に、支援対象の候補としてどの他の自律ロボットを選択するかを示す情報（選択基準）を示す。例えば、選択基準１１５３は、自律ロボット１１（第１ロボット）が、通信可能である複数の他の自律ロボットであるロボット群のうち、制御部１１２で取得した残りタスクの量が最も大きい他の自律ロボット（第２ロボット）を、支援対象のロボットとして選択する旨を示すとしてもよい。また、選択基準１１５３は、支援対象のロボットを変更可能な回数である回数制限を示す回数情報を含むとしてもよい。
【０１００】
本実施の形態では、選択基準１１５３は、タスク終了予定時刻が最も遅い時刻の自律ロボットを支援対象の候補に選択する旨（選択基準）を示しているとして説明を行う。この選択基準により、自身のタスクを完了した自律ロボット１１が、記憶部１１５に記憶する複数の他の自律ロボットの情報のうち、タスク終了予定時刻が最も遅い時刻の他の自律ロボットを支援することができる。それにより、ロボットシステム１全体のタスク終了予定時刻を早めることができる。
【０１０１】
なお、選択基準１１５３は、ロボットシステム１に要求される内容によって異なってくるため、動的に設定できるとしてもよい。それによって、ロボットシステム１に求められる要求に応じて選択基準１１５３に含まれる情報を変更することが可能となるので、自律ロボット１１が他の自律ロボットとより協調してタスクを実行することが可能になる。
【０１０２】
また、選択基準１１５３は、上記の例の場合に限定されない。
【０１０３】
例えば、選択基準１１５３は、自律ロボットが割り当てられているタスクに優先度が付与されている場合、優先度の高いタスクを有する他の自律ロボットを優先して支援対象の候補として選択する旨を示していてもよい。これにより、自律ロボット１１は、優先度が高いタスクを有する他の自律ロボットを優先的に支援することができるので、優先度が高いタスクを早く完了させることが可能となる。
【０１０４】
また、例えば、選択基準１１５３は、自律ロボット１１との間の距離が最も小さい他の自律ロボットを支援対象の候補として選択する旨を示していてもよい。これにより、自律ロボット１１は、支援に向かうのに要する移動時間を最小にすることができるので、自律ロボット１１のタスク実行稼働率を高めることが可能となる。
【０１０５】
また、例えば、選択基準１１５３は、自律ロボット１１が支援をすることで、最も早くタスクが完了する他の自律ロボットを選択する旨を示していてもよい。これにより、自律ロボット１１は、記憶部１１５の他ロボット情報に含まれる他の自律ロボットのうち、自律ロボット１１が支援した場合に最も早くタスクが完了する他の自律ロボットを選択するので、より早い時間にタスクを完了する他の自律ロボットを増やすことが可能となる。つまり、この選択基準によれば、支援に行くことが可能な自律ロボットをより早く増やすことが可能となる。
【０１０６】
図５は、図４に示す他ロボット情報１１５２の一例を示す図である。
【０１０７】
図５は、図１に示す状況において、自律ロボット１１が通信範囲３１１にいる他の自律ロボット１２、１３、１４と通信して、それぞれから受信した情報に基づき、記憶部１１５に記憶された他ロボット情報１１５２の一例が示されている。なお、図１には、上述したように自律ロボット１１が自身に割り当てられたタスクを完了した時の状況が一例として示されている。ここで、自律ロボット１１が自身に割り当てられたタスクを完了した時の時刻を１３：３０：００とし、このときの自律ロボット１１の位置情報を原点すなわち（０，０）としている。
【０１０８】
［自律ロボットの動作］
次に、以上のように構成された自律ロボット１１の動作の概要について説明する。
【０１０９】
図６は、実施の形態１に係る自律ロボット１１の動作を説明するためのフローチャートである。
【０１１０】
まず、自律ロボット１１は、自身に割り当てられたタスクが完了した場合（Ｓ１）、支援対象ロボットの選択処理を行う（Ｓ２）。より具体的には、複数の自律ロボットうちの第１ロボットである自律ロボット１１は、自律ロボット１１（第１ロボット）に割り当てられた担当領域２１（第１担当領域）に対するタスクを完了した場合、複数の自律ロボットのうち、自律ロボット１１（第１ロボット）と通信可能である当該第１ロボット以外の複数の自律ロボットであるロボット群の中から支援対象のロボットを選択する選択処理を行う。
【０１１１】
次に、自律ロボット１１は、選択した支援対象ロボットの担当領域に移動を開始する（Ｓ３）。より具体的には、自律ロボット１１（第１ロボット）は、Ｓ２の選択処理により選択した支援対象のロボットである第２ロボットに割り当てられた第２担当領域に移動を開始する。
【０１１２】
次に、自律ロボット１１は、支援対象ロボットを変更するか否かを判定する（Ｓ４）。より具体的には、自律ロボット１１（第１ロボット）は、第２担当領域への移動中に、複数の自律ロボットのうち第３ロボットと新たに通信可能になった場合、支援対象のロボットを第３ロボットに変更するか否かを判定する。
【０１１３】
Ｓ４おいて、自律ロボット１１は、支援対象ロボットを変更すると判定した場合（Ｓ４でＹｅｓ）、支援対象ロボットを変更し（Ｓ５）、変更した支援対象ロボットの担当領域に移動を開始する（Ｓ６）。より具体的には、自律ロボット１１（第１ロボット）は、支援対象のロボットを第２ロボットから第３ロボットに変更すると判定した場合、第３ロボットに割り当てられた第３担当領域に移動を開始する。そして、自律ロボット１１は、Ｓ４の処理を再度行う。
【０１１４】
一方、Ｓ４おいて、自律ロボット１１は、支援対象ロボットを変更しないと判定した場合（Ｓ４でＮｏ）、そのまま支援対象ロボットの担当領域（第２担当領域）に移動し、当該担当領域に到着すると（Ｓ７）、本処理を終了する。そして、自律ロボット１１は、到着した支援ロボットの当該担当領域に対するタスクを支援する。
【０１１５】
（選択処理の詳細）
次に、Ｓ２の選択処理の詳細について図を用いて説明する。
【０１１６】
図７は、実施の形態１における自律ロボット１１の選択処理の詳細の一例を説明するためのフローチャートである。図７には、自律ロボット１１が支援対象の自律ロボットを選択するＳ２の選択処理の一例が示されている。
【０１１７】
以下では、自律ロボット１１が、自身に割り当てられたタスクを完了した時に他ロボット情報１１５２に基づいて、自律ロボット１１の協調する相手、すなわち、自律ロボット１１の支援対象となる他の自律ロボットを選択する選択処理の一具体例について説明する。
【０１１８】
ここで、図１に示す状況で自律ロボット１１がタスクを完了しており、自律ロボット１１が自身に割り当てられたタスクの完了時の時刻は１３：３０：００、自律ロボット１１の位置情報（０，０）とする。また、記憶部１１５には、図４に示す他ロボット情報が記憶されているとし、自律ロボット１１のスペック情報に自律ロボット１１の移動速度１０ｍ／ｍｉｎが含まれているとする。自律ロボット１１は、自身に割り当てられた担当領域２１のタスクを完了した時に、支援対象のロボットを選択する選択処理を開始する。
【０１１９】
まず、自律ロボット１１は、通信可能な他の自律ロボットから他ロボットの情報を取得する（Ｓ２０１）。本実施の形態では、自律ロボット１１は、図１に示すように自身の通信範囲３１１に存在する他の自律ロボット１２、１３、１４それぞれと通信を行い、他の自律ロボット１２、１３、１４それぞれから、ロボット固有情報やスペック情報を含むロボット固有情報と、タスク関する情報であるタスク情報と、自律ロボットの位置情報を受信する。自律ロボット１１は、他の自律ロボットから受信した情報に基づき、例えば図４に示すようにロボット固有情報、位置情報、タスク終了予定時刻、未タスク領域情報、および単位時間当たりのタスク実行量を含む他ロボット情報１１５２を記憶部１１５に記憶する。
【０１２０】
なお、本実施の形態では、自律ロボット１１は、他の自律ロボットから他の自律ロボット自身の情報を取得するとしているが、それに限らない。自律ロボット１１は、他の自律ロボットが保有する別の自律ロボットの情報も併せて取得するとしてもよい。この場合、自律ロボット１１は、より多くの他の自律ロボットの情報を取得することができるので、支援対象の自律ロボットをより適切に選択することが可能となる。
【０１２１】
次に、自律ロボット１１は、記憶部１１５に他の自律ロボットの情報が存在するかどうかを判定する（Ｓ２０２）。なお、この処理は、自律ロボット１１が、他の自律ロボットからの情報を取得できた否かを判定している。
【０１２２】
Ｓ２０２において、記憶部１１５に他の自律ロボットの情報が存在しない場合（Ｓ２０２でＮｏ）、支援対象となる他の自律ロボットはないと判定し（Ｓ２０３）、処理を終了する。ここで、記憶部１１５に他の自律ロボットの情報が存在しない場合とは、Ｓ２０１の処理で、自律ロボット１１が、他の自律ロボットからの情報を取得できず、他の自律ロボットの情報を保有していない場合に該当する。
【０１２３】
一方、Ｓ２０２において、記憶部１１５に他の自律ロボットの情報が存在する場合（Ｓ２０２でＹｅｓ）、Ｓ２０４の処理に進む。本実施の形態では、Ｓ２０１において、自律ロボット１１が他の自律ロボットからの情報を取得し、記憶部１１５に他の自律ロボットの情報を記憶している場合、支援対象の候補となる自律ロボットがあると判定する。
【０１２４】
そして、自律ロボット１１は、Ｓ２０１〜Ｓ２１３において、支援対象の候補となる他の自律ロボットを選び、支援対象として適切かどうかを判定するための処理を開始する。本実施の形態では、自律ロボット１１は、図４に示すとおり、他の自律ロボット１２、１３、１４の情報を有するので、この中から支援対象の候補となる自律ロボットを選び、その支援対象の候補となる自律ロボットが支援対象として適切かどうかを判断するための処理を開始する。
【０１２５】
まず、Ｓ２０４において、自律ロボット１１は、位置測定部１１７を用いて自律ロボット１１の現在の位置情報を取得する。本実施の形態では、自律ロボット１１は、タスクを完了した時点の位置情報は（０、０）であるので、位置測定部１１７を用いて自律ロボット１１の位置情報（０、０）を取得する。
【０１２６】
次に、Ｓ２０５において、自律ロボット１１は、記憶部１１５から、選択基準１１５３に適合したタスク終了予定時刻が最も遅いロボットを抽出する。本実施の形態では、まず、自律ロボット１１は、支援対象の候補となる他の自律ロボットの情報を記憶部１１５の他ロボット情報１１５２から取得する。次いで、自律ロボット１１は、記憶部１１５の他ロボット情報１１５２に複数の他の自律ロボットの情報を含んでいるので、選択基準１１５３に従って、支援対象の候補となる他の自律ロボットを抽出する。ここで、選択基準１１５３は、上述したように、タスク終了予定時刻が最も遅い時刻の他の自律ロボットを支援対象の候補に選択する旨を示している。そのため、自律ロボット１１は、この選択基準１１５３に従って、図４に示す記憶部１１５の他ロボット情報１１５２から、タスク終了予定時刻が最も遅い他の自律ロボットである自律ロボット１４の情報を抽出する。
【０１２７】
次に、Ｓ２０６において、自律ロボット１１は、抽出した他の自律ロボットの位置情報を取得する。本実施の形態では、自律ロボット１１は、Ｓ２０５において抽出した自律ロボット１４の他ロボット情報から、図５に示すような自律ロボット１４の位置情報（３０、４０）を取得する。
【０１２８】
次に、Ｓ２０７において、自律ロボット１１は、自身と抽出した他の自律ロボットとの距離を算出し、移動時間を算出する。本実施の形態では、自律ロボット１１は、Ｓ２０４で取得した自律ロボット１１の位置情報（０、０）とＳ２０６で抽出した自律ロボット１４の位置情報（３０、４０）とにより、三平方の定理を用いて移動距離５０ｍを算出する。そして、自律ロボット１１は、算出した移動距離５０ｍを自律ロボット１１のスペック情報に含まれる移動速度１０ｍ／ｍｉｎで割ることにより、移動時間５ｍｉｎを算出する。
【０１２９】
次に、Ｓ２０８において、自律ロボット１１は、移動後における抽出した他の自律ロボットの残タスクを取得する。本実施の形態では、まず、自律ロボット１１は、Ｓ２０５で抽出した自律ロボット１４もしくは自律ロボット１４の担当領域に移動するのに要した移動時間に自律ロボット１４が実行する移動時間タスク量を算出する。ここで、自律ロボット１１は、図５より、自律ロボット１４の単位時間当たりのタスク量は、１／ｍｉｎであり、Ｓ２０７で算出した移動時間は５ｍｉｎであるので、それらの値を乗算して、移動時間タスク量５を算出する。次いで、自律ロボット１１は、移動時間後の自律ロボット１４の残タスク量を算出する。ここで、自律ロボット１１が移動する前の自律ロボット１４の残タスク量、すなわち、未タスク領域は、図５より、３６である。また、自律ロボット１４の移動時間タスク量は５である。したがって、自律ロボット１１は、自律ロボット１１の移動完了時の自律ロボット１４の残タスク量を、自律ロボット１１の移動前の自律ロボット１４の残タスク量３６から、自律ロボット１１が移動中に自律ロボット１４が実行するタスク量である移動時間タスク量５を引くことで３１と算出することができる。
【０１３０】
次に、Ｓ２０９において、自律ロボット１１は、残タスクが存在するか否かを判定する。本実施の形態では、自律ロボット１１は、移動後の自律ロボット１４の残タスクが、０より大きいかどうかを判定する。この判定処理は、自律ロボット１１が自律ロボット１４に支援に向かう移動中に自律ロボット１４のタスクが完了しているかどうかを判定するものである。
【０１３１】
Ｓ２０９において、自律ロボット１１は、残タスク量が０以下すなわち存在しない場合（Ｓ２０９でＮｏ）、記憶部１１５の他ロボット情報１１５２に、別の他の自律ロボットの情報が存在するかどうかを判定する（Ｓ２１０）。ここで、残タスク量が０以下の場合とは、自律ロボット１１が支援に向かう移動中に支援対象の自律ロボットのタスクが完了する場合に該当するため、自律ロボット１１は、当該支援対象の自立ロボットの支援は不要と判定する。なお、Ｓ２１０において、記憶部１１５の他ロボット情報１１５２に別の他の自律ロボットの情報が存在しない場合（Ｓ２１０でＹｅｓ）、自律ロボット１１は、支援対象となる他の自律ロボットはないと判定し（Ｓ２１２）、処理を終了する。一方、Ｓ２１０において、記憶部１１５の他ロボット情報１１５２に別の他の自律ロボットの情報が存在する場合（Ｓ２１０でＮｏ）、別の他の自律ロボットの情報のうち、タスク終了予定時刻が最も遅い他の自律ロボットを抽出して（Ｓ２１１）、Ｓ２０６の処理に進む。
【０１３２】
一方、Ｓ２０９において、残タスク量が０より大きい場合（Ｓ２０９でＹｅｓ）、自律ロボット１１は、抽出した他の自律ロボットを支援対象として決定する（Ｓ２１３）。本実施の形態では、自律ロボット１１は、自律ロボット１４の残タスク量が３６であり０より大きいので、自律ロボット１４等に到着した時（移動完了後）に、自律ロボット１４に未タスク領域が存在すると判定する。このようにして、自律ロボット１１は、自律ロボット１４が支援対象の他の自律ロボットとして適切であると判定することができる。
【０１３３】
次に、自律ロボット１１は、支援対象として選択した他の自律ロボットにその旨を通知する（Ｓ２１４）。
【０１３４】
本実施の形態では、自律ロボット１１は、支援対象の自律ロボット１４を選択すると、自律ロボット１４と協調して、自律ロボット１４のタスクを実行するために、自律ロボット１４に向かって移動を開始する。その際、自律ロボット１１は、自律ロボット１４に対して、支援に行く旨の情報を通知する。
【０１３５】
これにより、自律ロボット１４は、自律ロボット１１が支援に来てくれることが認識でき、現在のタスク終了予定時間より早くタスクを完了できることを認識できる。また、自律ロボット１４は、別の自律ロボットからタスクに関する情報を要求されたときに、その別の自律ロボットに対して、自律ロボット１１が支援に来るので予定より早くタスクを完了する旨を含む情報を提供することができる。それによって、別の自律ロボットは、自律ロボット１４から受信した情報を考慮に入れて支援対象の自律ロボットを選択することができる。すなわち、別の自律ロボットは自律ロボット１４から受信した情報に基づいてより適切に支援対象の自律ロボットを選択することができるので、ロボットシステム１全体として、自律ロボットの協調をより適切に機能させることができる。
【０１３６】
また、自律ロボット１１が自律ロボット１４に対して、支援に行く旨の情報を通知する場合、自律ロボット１４は、さらに、自律ロボット１１が自律ロボット１４に向かう途中において、自律ロボット１１に対して、支援してもらう担当領域を決定して通知するとしてもよい。これにより、自律ロボット１１は、自律ロボット１４の現在の位置に向かうことなく、自律ロボット１１が担当する自律ロボット１４の担当領域に直接向かうことが可能になる。また、自律ロボット１１、自身が担当する自律ロボット１４の担当領域をどのような経路で廻るかを事前に生成することが可能になる。
【０１３７】
なお、Ｓ２１４は、自律ロボット１１の移動の際に行われるとしたがそれに限らない。自律ロボットが他の自律ロボットを支援対象として決定した際に行うとしてもよい。また、自律ロボット１１は、Ｓ２１３を行わないとしてもよい。
【０１３８】
また、Ｓ２１３で自律ロボット１１が通知する情報には、自律ロボット１１が支援した場合のタスク終了予定時刻を含むとしてもよい。自律ロボット１１が支援した場合のタスク終了予定時刻は、例えば、Ｓ２０８で算出した残タスク量を自律ロボット１１および自律ロボット１４の２台で実施したときの所要時間と、自律ロボット１１の自律ロボット１４等に到着する予定時刻とを用いて、当該予定時刻から所要時間経過した時刻を算出することで算出することができる。
【０１３９】
また、自律ロボット１１が、タスク終了予定時刻を算出する場合に限らず、自律ロボット１４がタスク終了予定時刻を算出するとしてもよい。
【０１４０】
また、自律ロボット１１は、支援対象の自律ロボット１４に向かう移動中にある他の自律ロボットの担当領域のタスクを実行するとしてもよい。例えば、自律ロボット１１が支援対象の自律ロボット１４に向かって移動する移動経路に、別の自律ロボットの未タスク領域がある場合、自律ロボット１１は当該未タスク領域のタスクを実行しながら移動するとしてもよい。これにより、別の自律ロボットは、自身（別の自律ロボット）の未タスク領域のタスクが実行されるので、自身（別の自律ロボット）のタスク量が減り、より早くタスクを完了することができる。
【０１４１】
以上の選択処理により、自律ロボット１１は、自身に割り当てられた担当領域２１のタスクを完了した後に、他の自律ロボット１２、１３、１４と通信して得た情報に基づいて、自律ロボット１２、１３、１４のいずれかを支援対象の自律ロボットとして選択することができる。これにより、自律ロボット１１は、選択処理により選択した支援対象の自律ロボットのタスクの一部を支援することが可能となる。
【０１４２】
（変更処理の詳細）
次に、図６のＳ４に示される変更処理の詳細について図を用いて説明する。
【０１４３】
図８は、実施の形態１に係る自律ロボット１１が支援対象の自律ロボットに向かう移動中に新たに他の自律ロボットを検出した状況を概念的に示す図である。図８には、一例として自律ロボット１１が、自律ロボット１４に向かう移動中に新たに自律ロボット１６を検出した状況が示されている。
【０１４４】
自律ロボット１１は、上述したように、自身に割り当てられた担当領域２１のタスクを完了した後、通信範囲３１２にいる自律ロボット１２、１３、１４のそれぞれから受信した情報に基づき、支援対象となる自律ロボットを選択する選択処理を行う。そして、自律ロボット１１は、選択処理により選択した他の自律ロボットを支援するために移動を開始する。自律ロボット１１は、この移動に伴って、自律ロボット１１の通信範囲も移動するため、これまで通信可能であった他の自律ロボットと通信ができなくなったり、新たな他の自律ロボットと通信ができるようになったりする。
【０１４５】
以下では、図８に示すように、自律ロボット１１は、当該移動に伴い、新しく通信可能になった自律ロボット１６から取得した情報も考慮に入れて、支援対象の自律ロボットを変更するか否かを判定する変更処理を行う。以下それについて説明する。
【０１４６】
図９は、実施の形態１における自律ロボット１１の変更処理の詳細の一例を説明するためのフローチャートである。図９には、自律ロボット１１が支援対象の自律ロボットに向かう移動中に新たに他の自律ロボットを検出し、Ｓ４の変更処理を行う場合の一例が示されている。
【０１４７】
まず、自律ロボット１１は、検出した新たな自律ロボットから他ロボット情報を取得する（Ｓ４０１）。本実施の形態では、自律ロボット１１は、自律ロボット１４に支援に向かう移動中に新たに自律ロボット１６を検出する。すると、自律ロボット１１は、自律ロボット１６と通信して、他ロボット情報すなわち自律ロボット１６のロボット識別情報やスペック情報を含むロボット固有情報と、タスク関する情報であるタスク情報と、自律ロボット１６の位置情報とを受信する。
【０１４８】
次に、自律ロボット１１は、新たな自律ロボットのタスク終了予定時刻（時刻１）と支援対象の自律ロボットのタスク終了予定時刻（時刻２）との比較を行う（Ｓ４０２）。本実施の形態では、自律ロボット１１は、取得した自律ロボット１６のタスク終了予定時刻と記憶部１１５にある他ロボット情報１１５２に記憶している支援対象の自律ロボット１４のタスク終了予定時刻との比較を行う。
【０１４９】
なお、自律ロボット１１は、支援対象の自律ロボット１４への移動中に、自律ロボット１４のタスク進捗状況が変化している可能性もある。そのため、自律ロボット１１は、自律ロボット１４と通信が可能である場合、自律ロボット１４と通信して最新の他ロボット情報を取得するとしてもよい。これにより、自律ロボット１１は、より適切に支援対象の変更処理を行うことが可能になる。
【０１５０】
また、実施の形態１では、選択基準１１５３には、タスク終了予定時刻が最も遅い時刻の自律ロボットを支援対象に選択する旨が示されているので、タスク終了予定時刻というパラメータの比較を行う。なお、選択基準１１５３に示される選択基準の内容が異なれば、Ｓ４０２において用いられるパラメータは異なる。例えば、選択基準１１５３に、優先度の高いタスクを行っている自律ロボットを支援対象として選択する旨が示されている場合、タスクの優先度をパラメータとして用いればよい。また、例えば、選択基準１１５３に、自律ロボット間の距離が最も近い自律ロボットを支援対象として選択する旨が示されている場合、自律ロボット間の距離をパラメータとして用いればよい。
【０１５１】
Ｓ４０２において、時刻１が時刻２より時間的に前の場合、自律ロボット１１は、支援対象の変更は不要と判定し（Ｓ４０３）、処理を終了する。本実施の形態では、自律ロボット１１は、新たに検出した自律ロボット１６のタスク終了予定時刻（時刻１）が、自律ロボット１４のタスク終了予定時刻（時刻２）より時間的に前であれば、自律ロボット１４の方が支援対象として適切であり、支援対象の変更は不要と判定して、処理を終了する。そして、自律ロボット１１は、予定どおり、支援対象の自律ロボット１４に向かう移動を再開するまたは続ける。
【０１５２】
一方、Ｓ４０２において、時刻１が時刻２より時間的に後の場合、自律ロボット１１は、Ｓ４０４の処理に進む。
【０１５３】
本実施の形態では、自律ロボット１１は、新たに検出した自律ロボット１６のタスク終了予定時刻（時刻１）が、支援対象の自律ロボット１４のタスク終了予定時刻（時刻２）より時間的に後であれば、自律ロボット１６の方が、支援対象として適切である可能性があると判定する。そして、自律ロボット１１は、後述するＳ４０４〜Ｓ４０９において、支援対象として自律ロボット１６の方が適切かどうかを判定するための処理（検証処理）を行う。この検証処理では、自律ロボット１１が自律ロボット１６に移動するとした場合に、自律ロボット１６もしくは自律ロボット１６の担当領域２６に到着した時点で自律ロボット１６のタスクが完了しているか否かを判定する。そして、当該到着した時点で自律ロボット１６のタスクが完了している場合は、自律ロボット１６への支援は不要と判定する。一方、当該到着した時点で自律ロボット１６のタスクが完了しない場合は、自律ロボット１６は支援対象として適切であると判定する。以下具体的に説明する。
【０１５４】
まず、Ｓ４０４において、自律ロボット１１は、位置測定部１１７を用いて自律ロボット１１の現在の位置情報を取得する。
【０１５５】
次に、Ｓ４０５において、自律ロボット１１は、自身と新たな自律ロボットとの距離を算出し、移動時間を算出する。本実施の形態では、自律ロボット１１は、Ｓ４０１で取得した自律ロボット１６の位置情報と、Ｓ４０４で取得した自律ロボット１１の位置情報とにより、自律ロボット１１および自律ロボット１６の間の移動距離を算出する。そして、自律ロボット１１は、算出した移動距離を自身のスペック情報に含まれる移動速度で割ることで、自律ロボット１１が自律ロボット１６へ移動した場合の移動時間を算出する。この処理は、Ｓ２０７で説明したのと同様であるため詳細な説明は省略する。
【０１５６】
次に、Ｓ４０６において、自律ロボット１１は、移動時間後における新たな自律ロボットの残タスクを取得する。本実施の形態では、まず、自律ロボット１１は、Ｓ４０５で算出した移動時間中に自律ロボット１６が実行する移動時間タスク量を算出する。次いで、自律ロボット１１は、移動時間後の自律ロボット１６の残タスク量を算出する。これらの処理は、Ｓ２０８で説明したのと同様であるため詳細な説明は省略する。
【０１５７】
次に、Ｓ４０７において、自律ロボット１１は、新たな自律ロボットの残タスクが存在するか否かを判定する。本実施の形態では、自律ロボット１１は、移動時間後の自律ロボット１６の残タスク量が、０より大きいかどうかを判定する。
【０１５８】
Ｓ４０７において、自律ロボット１１は、新たな自律ロボットの残タスク量が０以下であった場合（Ｓ４０７でＮｏ）、支援対象の変更は不要と判定する（Ｓ４０８）。本実施の形態では、自律ロボット１１は、残タスク量が０以下であった場合、自律ロボット１１が自律ロボット１６に向かう移動中に、自律ロボット１６のタスクが完了すると判定できるので、自律ロボット１６への支援は不要と判定する。そして、支援対象の自律ロボットの変更は行わず、予定どおり、自律ロボット１４に向かって移動を再開するまたは続ける。
【０１５９】
一方、Ｓ４０７において、残タスク量が０より大きい場合（Ｓ４０７でＹｅｓ）、自律ロボット１１は、支援対象を新たな自律ロボットに変更する（Ｓ４０９）。本実施の形態では、自律ロボット１１は、自律ロボット１６の残タスク量が０より大きい場合、自律ロボット１６に等に到着した時（移動完了後）にも、自律ロボット１６に未タスク領域が存在すると判定する。このようにして、自律ロボット１１は、支援対象として自律ロボット１６の方が適切であると判定する。そして、自律ロボット１１は、支援対象を自律ロボット１４から自律ロボット１６に変更する。
【０１６０】
次に、自律ロボット１１は、変更前の支援対象の自律ロボットと変更後の支援対象の自律ロボットにその旨を通知する（Ｓ４１０）。
【０１６１】
本実施の形態では、Ｓ４０９において、自律ロボット１１は、支援対象の自律ロボットを自律ロボット１６に変更すると、変更した支援対象の自律ロボット１６に向かって移動を開始する。その際、自律ロボット１１は、支援対象となった自律ロボット１６に対して、支援に行く旨の情報を通知し、自律ロボット１４に対して、支援に行かない旨の情報を通知する。
【０１６２】
なお、Ｓ４１０は、自律ロボット１１の移動の際に行われるとしたがそれに限らない。自律ロボットが支援対象を変更した際に行うとしてもよい。また、自律ロボット１１は、Ｓ４１０を行わないとしてもよい。
【０１６３】
以上の変更処理より、自律ロボット１１は、選択処理で選択した支援対象に向かう移動中に新たに通信可能となった自律ロボットがある場合、当該自律ロボットからの情報に基づき、支援対象の変更処理を行うことができる。これにより、自律ロボット１１は、ロボットシステム１においてより適切な自律ロボットを支援対象に選択することが可能となるので、より効率的に他の自律ロボットと連携してタスクを実行することが可能となる。
【０１６４】
［効果等］
以上、本実施の形態によれば、割り当てられた担当領域に対するタスクを完了した第１ロボットは、支援対象である第２ロボットに向かう移動時に新たに通信可能となった第３ロボットからの情報に基づき、支援対象の変更処理を行うことができるので、より適切なロボットを支援対象に選択することができる。これにより、通信可能な他の自律ロボットが動的に変化する場合でも自律ロボットがより多くの他の自律ロボットと協調してタスクを実行することができる移動制御方法および移動制御装置を実現することができる。
【０１６５】
このように、本実施の形態の移動制御方法等によれば、自律ロボットが自身のタスク完了後に通信範囲に存在する他の自律ロボットの情報に基づき支援対象の自律ロボットを選択し、選択した支援対象の自律ロボットに向けて移動する際に、新しく通信可能となった自律ロボットからの情報に基づいて、支援対象の見直しを行い、より適切な支援対象の自律ロボットを選択することができる。それにより、ロボットシステムにおいてより効率的に他の自律ロボットと連携してタスクを実行させることができる。
【０１６６】
また、本実施の形態によれば、自律ロボット１１は、選択処理後（Ｓ２１４）において、選択した支援対象の自律ロボットにその旨を通知する。これにより、支援対象の自律ロボットは、自律ロボット１１から支援に来てくれる旨の通知を受け、自律ロボット１１の支援によりタスクが早く完了する旨を周囲の自律ロボットに対して発信することができる。そのため、支援対象の自律ロボットの周囲の自律ロボットはそれぞれ、支援対象の自律ロボットが発信した情報を考慮に入れて、支援対象の自律ロボットを選択できるので、ロボットシステム１においてより効率的に自律ロボット同士が連携してタスクを実行することができる。
【０１６７】
また、本実施の形態によれば、自律ロボット１１は、変更処理後（Ｓ４０９）において、変更前の支援対象の自律ロボットと変更後の支援対象の自律ロボットにその旨を通知する。これにより、変更前の支援対象の自律ロボットは、周囲の自律ロボットに正確な情報を発信できるので、周囲の自律ロボットはそれぞれ、正確な情報に基づいて、支援対象の自律ロボットを選択できる。
【０１６８】
仮に、自律ロボット１１が、変更前の支援対象の自律ロボットに支援対象が変更になった旨の通知をしない場合、変更前の支援対象の自律ロボットは、自律ロボット１１が支援に来なくなったことを知らない状態となる。そのため、変更前の支援対象の自律ロボットは、周囲の自律ロボットに対して、自律ロボット１１が支援に来なくなった旨を示す情報を発信できないので、周囲の自律ロボットは、自律ロボット１４に自律ロボット１１が支援に来るものだと間違った認識をした状態で支援対象の自律ロボットの選択を行うことになる。この場合、変更前の支援対象の自律ロボットは、自律ロボット１１だけでなく、周囲の自律ロボットからも支援が来ない状態になってしまい、変更前の支援対象の自律ロボットのタスク完了が遅れてしまう可能性がある。
【０１６９】
また、本実施の形態によれば、自律ロボット１１の変更処理の回数を制限することができるので、自律ロボット１１が、支援対象の自律ロボットの変更を何度も行うことにより、支援対象の自律ロボット等に到着するまでに多くの時間を要し、実際にタスクの支援を行う時間が少なくなってしまうことを抑制することができる。
【０１７０】
（実施の形態２）
実施の形態１では、選択処理の際に通信可能な複数の他の自律ロボット中から支援対象の自律ロボットを選択する場合について説明したがそれに限らない。実施の形態２では、自律ロボット１１Ｂが自身のタスクの実行中および実行後に、通信可能であった他の自律ロボットの中から支援対象の自律ロボットを選択する場合についての一例について説明する。
【０１７１】
［自律ロボットの機能構成］
以下では、実施の形態１と同様に代表して自律ロボット１１Ｂの機能構成について説明する。
【０１７２】
図１０は、実施の形態１における自律ロボット１１Ｂの機能構成の一例を示すブロック図である。図２と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１７３】
図１０に示す自律ロボット１１Ｂは、図２に示す自律ロボット１１に対して、制御部１１２Ｂと記憶部１１５Ｂの構成が異なる。
【０１７４】
［制御部１１２Ｂ］
図１１は、図１０に示す制御部の詳細構成の一例を示すブロック図である。図３と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１７５】
制御部１１２Ｂは、図１１に示すように、選択処理部１１２１Ｂ、移動制御部１１２２Ｂ、変更判定部１１２３および通知制御部１１２４を備える。制御部１１２Ｂは、図３に示す制御部１１２に対して選択処理部１１２１Ｂおよび移動制御部１１２２Ｂの構成が異なる。
【０１７６】
選択処理部１１２１Ｂは、選択処理部１１２１の機能を備える。選択処理部１１２１Ｂは、さらに、記憶部１１５Ｂに記憶されている複数の他の自律ロボットに関する情報のうちの少なくとも一を、担当領域２１（第１担当領域）に対するタスクを完了した時点を基準とした所定期間外に受信していた場合、移動制御部１１２２Ｂに指示して自律ロボット１１Ｂ（第１ロボット）に担当領域２１内（第１担当領域内）を移動させる。
【０１７７】
また、選択処理部１１２１Ｂは、自律ロボット１１Ｂ（第１ロボット）が担当領域２１内（第１担当領域内）を移動中に当該少なくとも一に対応する他の自律ロボットと通信可能となったときに、当該他の自律ロボットの他ロボット情報を受信し、当該他の自律ロボットを含むロボット群の各ロボットの残りタスクを取得する。
【０１７８】
移動制御部１１２２Ｂは、移動制御部１１２２の機能を備える。移動制御部１１２２Ｂは、さらに、選択処理部１１２１Ｂの指示に従って、自律ロボット１１Ｂ（第１ロボット）に担当領域２１内（第１担当領域内）を移動させる。本実施の形態では、移動制御部１１２２Ｂは、当該他の自律ロボットの他ロボット情報を受信したときの自律ロボット１１Ｂ（第１ロボット）の受信位置情報が示す位置に向けて、自律ロボット１１Ｂ（第１ロボット）に担当領域２１内（第１担当領域内）を移動させる。
【０１７９】
［記憶部１１５Ｂ］
次に、自律ロボット１１Ｂの記憶部１１５Ｂに記憶される情報について、図１２を用いて説明する。
【０１８０】
図１２は、実施の形態２における自律ロボットの記憶部に記憶される情報を概念的に示す図である。図４と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１８１】
記憶部１１５Ｂは、実施の形態１と同様に、自ロボット情報１１５１、選択基準１１５３、および、他の自律ロボットから送信された情報に基づく他ロボット情報１１５２Ｂを記憶する。
【０１８２】
記憶部１１５Ｂは、図４に示す記憶部１１５に対して、他ロボット情報１１５２Ｂの含む情報が異なる。また、記憶部１１５Ｂは、自律ロボット１１Ｂ（第１ロボット）が担当領域２１（第１担当領域）に対するタスクを実行中に受信した他の自律ロボットそれぞれの他ロボット情報を記憶する点で、図４に示す記憶部１１５と異なる。つまり、本実施の形態では、自律ロボット１１Ｂは、自身の担当領域２１のタスクを実行中に、通信範囲内の他の自律ロボットと定期的に通信しており、取得した他の自律ロボットの他ロボット情報を記憶する。
【０１８３】
（他ロボット情報の詳細）
他ロボット情報１１５２Ｂには、図１２に示すように、図４に示す他ロボット情報１１５２が含む情報に加え、自ロボット受信位置と、通信状況とを示す情報が含まれている。
自ロボット受信位置は、自律ロボット１１Ｂ（第１ロボット）が担当領域２１（第１担当領域）に対するタスクを実行中に他の自律ロボットそれぞれの他ロボット情報を受信した際の位置（受信位置）を示す情報である。本実施の形態では、自ロボット受信位置は、自律ロボット１１Ｂが、他の自律ロボットから情報を受信したときに位置測定部１１７より取得した自身の位置情報であり、他ロボット情報に含まれている。このようにして、自ロボット受信位置とそれに対応する他ロボット情報とが紐付けられている。通信状況は、他の自律ロボットそれぞれの現在の通信状況を示す情報である。
【０１８４】
なお、他ロボット情報１１５２Ｂには、単位時間あたりのタスク実行量が含まれていないが、含むとしてもよい。また、他ロボット情報１１５２Ｂには、さらに、自律ロボット１１Ｂ（第１ロボット）が他の自律ロボットそれぞれの他ロボット情報を受信した時刻を示す時間情報を含むとしてもよい。
【０１８５】
図１３は、図１２に示す他ロボット情報１１５２Ｂの一例を示す図である。図５と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１８６】
図１３には、記憶部１１５Ｂに、他ロボット情報１１５２Ｂとして、自律ロボット１２Ｂ、１３Ｂ、１４Ｂの情報が記憶されていることが示されている。また、図１３には、現在、自律ロボット１１Ｂは、自律ロボット１３Ｂ、１４Ｂとは通信可能であるが自律ロボット１２Ｂとは通信不可であることが示されている。なお、自律ロボット１２Ｂの他ロボット情報は、自律ロボット１１Ｂが、以前、自律ロボット１２Ｂと通信可能だったときに受信したものである。
【０１８７】
以上のように構成される自律ロボット１１Ｂは、自身のタスクが完了すると、現在通信可能な他の自律ロボットの他ロボット情報と、タスク実行中に記憶しておいた他の自律ロボットの情報のうち、現在通信不可の他の自律ロボットと再度通信することで取得した他ロボット情報とに基づいて、支援対象となる他の自律ロボットの選択を行う。
【０１８８】
［自律ロボットの動作］
次に、以上のように構成された自律ロボット１１Ｂの動作の概要について説明する。
【０１８９】
図１４Ａおよび図１４Ｂは、実施の形態２におけるロボットシステムを構成する自律ロボットの状況を概念的に示す図である。図１４Ａは、自律ロボット１１Ｂ〜１４Ｂが自身に割り当てられた担当領域２１〜２４のタスクを実行している状況の一例を示している。図１４Ｂは、自律ロボット１１Ｂがタスク完了した時の状況の一例を示している。図１と同じ構成要素については同じ符号を用い、説明を省略する。なお、図１４Ａの通信範囲３１３Ｂおよび図１４Ｂの通信範囲３１４Ｂは、自律ロボット１１Ｂが通信可能な通信範囲を示している。
【０１９０】
図１４Ａに示すようにタスク実行中の自律ロボット１１Ｂは、通信範囲３１３Ｂ内にいる自律ロボット１２Ｂ、１３Ｂと通信が可能である。しかし、図１４Ｂに示すようにタスク完了時の自律ロボット１１Ｂは、通信範囲３１４Ｂ内にいる自律ロボット１３Ｂ、１４Ｂと通信が可能であるものの、図１４Ａにおいて通信可能であった自律ロボット１２Ｂと通信が不可となっている。
【０１９１】
自律ロボット１１Ｂは、現在通信可能な自律ロボット１３Ｂおよび１４Ｂの他ロボット情報だけを用いて支援対象となる他の自律ロボットを選択してもよいが、より適切に支援対象となる他の自律ロボットを選択するためにきる限り多くの他の自律ロボットの他ロボット情報を用いる方がよい。そのため、本実施の形態では、Ｓ２に示す選択処理において、自律ロボット１１Ｂは、現在通信不可の他の自律ロボットについても、再度、通信を試みて、他ロボット情報を取得して支援対象の他の自律ロボットを選択する。
【０１９２】
（選択処理の詳細）
次に、本実施の形態における選択処理の詳細について図１５を用いて説明する。
【０１９３】
図１５は、実施の形態２における自律ロボットの選択処理の詳細の一例を説明するためのフローチャートである。図１５には、自律ロボット１１Ｂがタスクを完了した時に支援対象の他の自律ロボットを選択する選択処理の一例が示されている。
【０１９４】
まず、自律ロボット１１Ｂは、自身に割り当てられたタスクを完了すると、現在、通信可能な他の自律ロボットそれぞれと通信を行い、それぞれの他ロボット情報を取得する（Ｓ２０１１）。
【０１９５】
本実施の形態では、自律ロボット１１Ｂは、自律ロボット１３Ｂおよび１４Ｂのそれぞれと通信を行い、他ロボット情報１１５２Ｂを取得し、記憶部１１５Ｂに記憶する。取得する他ロボット情報１１５２Ｂは、例えば、自律ロボット１３Ｂおよび１４Ｂのロボット識別情報やスペック情報を含むロボット固有情報、タスク関する情報であるタスク情報、自ロボット受信位置などである。なお、自律ロボット１１Ｂが、通信可能な他の自律ロボットと通信をした際、既に当該他の自律ロボットの他ロボット情報を記憶していた場合には、記憶している他ロボット情報を更新する。
【０１９６】
次に、自律ロボット１１Ｂは、記憶部１１５Ｂを確認して、現在通信不可である他の自律ロボットの他ロボット情報が存在するかどうかを判定する（Ｓ２０１２）。
【０１９７】
Ｓ２０１２において、現在通信不可である他の自律ロボットの他ロボット情報が存在しない場合は（Ｓ２０１２でＮｏ）、現在通信可能な他の自律ロボットの他ロボット情報に基づいて、支援対象となる自律ロボットを選択する（Ｓ２０１９）。なお、Ｓ２０１９では、図７で説明したＳ２０２〜Ｓ２１４と同様の処理を行う。Ｓ２０２〜Ｓ２１４については上述したのでここでの説明は省略する。
【０１９８】
一方、Ｓ２０１２において、現在通信不可である他の自律ロボットの他ロボット情報が存在する場合は（Ｓ２０１２でＹｅｓ）、現在通信不可である他の自律ロボットと最後に通信した自ロボット受信位置を取得する（Ｓ２０１３）。本実施の形態では、自律ロボット１１Ｂは、現在通信不可である他の自律ロボットと再度通信を試みるために、現在通信不可である他の自律ロボットの他ロボット情報に含まれる（紐付けられた）自ロボット受信位置を抽出する。図１３および図１４Ｂに示す例では、自律ロボット１１Ｂは、現在通信不可である自律ロボット１２の他ロボット情報の自ロボット受信位置を抽出する。
【０１９９】
次に、自律ロボット１１Ｂは、Ｓ２０１３で取得した自ロボット受信位置に向かって移動を開始する（Ｓ２０１４）。本実施の形態では、自律ロボット１１Ｂは、Ｓ２０１３で抽出した、現在通信不可である自律ロボット１２Ｂと以前に通信した位置である自ロボット受信位置に向かって、移動を開始する。
【０２００】
次に、自律ロボット１１Ｂは、移動しながら、現在通信不可である他の自律ロボットを検出したかを判定する（Ｓ２０１５）。本実施の形態では、自律ロボット１１Ｂは、移動を開始してから目的地であるＳ２０１３で取得した自ロボット受信位置に到達するまで、定期的に、現在通信不可である自律ロボット１２Ｂを検出したかを判定する。
【０２０１】
Ｓ２０１５において、自律ロボット１１Ｂが、現在通信不可である他の自律ロボットを検出した場合（Ｓ２０１５でＹｅｓ）、検出した他の自律ロボットから他ロボット情報を取得する（Ｓ２０１６）。本実施の形態では、自律ロボット１１Ｂは、自律ロボット１２Ｂを検出すると、検出した自律ロボット１２Ｂと通信して、自律ロボット１２Ｂの他ロボット情報を取得する。
【０２０２】
そして、自律ロボット１１Ｂは、現在通信可能な他の自律ロボットの他ロボット情報より支援対象となる自律ロボットを選択する（Ｓ２０１７）。本実施の形態では、自律ロボット１１Ｂは、Ｓ２０１６で取得した他ロボット情報と、Ｓ２０１１で取得し、かつ、現在通信可能な自律ロボット１２Ｂの他ロボット情報とに基づき、支援対象となる自律ロボットを選択する。なお、Ｓ２０１７では、図７で説明したＳ２０２〜Ｓ２１４と同様の処理を行う。Ｓ２０２〜Ｓ２１４については上述したのでここでの説明は省略する。
【０２０３】
一方、Ｓ２０１５およびＳ２０１８において、自律ロボット１１Ｂが、現在通信不可である他の自律ロボットを検出できないままで自ロボット受信位置が示す位置（目的地）に到着した場合（Ｓ２０１８でＹｅｓ）、現在通信不可である他のロボットとの通信を断念し、Ｓ２０１１で取得し、かつ、現在通信可能な他の自律ロボットの他ロボット情報に基づいて、支援対象となる自律ロボットの選択する（Ｓ２０１９）。
【０２０４】
以上のようにして、自律ロボット１１Ｂは、自身のタスクを完了した後に、現在通信可能な他の自律ロボットの他ロボット情報と、タスク実行中に記憶していた他ロボット情報のうち、現在通信不可の他の自律ロボットと再度通信して取得した他ロボット情報とに基づいて、支援対象となる自律ロボットの選択処理を行う。
【０２０５】
なお、Ｓ２０１１において、自律ロボット１１Ｂは、通信可能な他の自律ロボットと通信をした際、既に当該他の自律ロボットの他ロボット情報を記憶していた場合には、記憶している他ロボット情報を更新すると説明したがそれに限らない。自律ロボット１１Ｂは、取得した他ロボット情報を記憶している他ロボット情報に順次蓄積していくとしてもよい。この場合は、他の自律ロボットと通信可であった位置情報（自ロボット受信位置）を順次蓄積することができる。これにより、自律ロボット１１Ｂは、現在通信不可の他の自律ロボットと最後に通信できた位置情報（自ロボット受信位置）で、通信を試みたが通信が成功しなかった場合には、さらに、最後から次に通信できた位置情報（自ロボット受信位置）で、再度、現在通信不可の他の自律ロボットと通信を試みることが可能となる。
【０２０６】
また、Ｓ２０１３において、現在通信不可である他の自律ロボットが複数存在する場合、自律ロボット１１Ｂは、それぞれの他ロボット情報に紐付けられた自ロボット位置情報を抽出して、全てを効率よく移動できるように経路生成をするとしてもよい。これにより、自律ロボット１１Ｂは、移動時間を短縮することができるので、現在通信不可である自律ロボットとの通信の再開をより早くすることができる。
【０２０７】
また、Ｓ２０１３において、自律ロボット１１Ｂは、現在通信不可である他の自律ロボットが多数存在する場合、そのうちの一部の他の自律ロボットを選択して移動するとしてもよい。現在通信不可である他の自律ロボットが多数存在する場合、全ての自律ロボットと通信をするために移動するのは多くの移動時間がかかり、他の自律ロボットを支援するという本来の目的とは別のことに時間をかけてしまうことになるからである。この場合、自律ロボット１１Ｂは、例えば、自身の現在の位置から所定距離内にある自ロボット受信位置の他の自律ロボットだけを選択するとしてもよい。また、自律ロボット１１Ｂは、自身の現在の位置から所定期間内に移動可能な自ロボット受信位置の他の自律ロボットだけを選択するとしてもよい。また、自律ロボット１１Ｂの総移動距離、もしくは、総移動時間が所定の範囲内になるものを選択するとしてもよいし、自律ロボット１１Ｂとの通信が途絶えた時間が所定期間内になるものを選択するとしてもよい。
【０２０８】
このような構成をとることで、自律ロボット１１Ｂが現在通信不可である他ロボットと再度通信して他の自律ロボットから情報を取得するために費やす時間を必要以上にかけなくてすむようになり、本来の目的である自律ロボットの支援に対して多くの時間をかけることが可能となる。
【０２０９】
また、Ｓ２０１４〜Ｓ２０１５の間の移動中において、自律ロボット１１Ｂが、目的の他の自律ロボットとは異なる新しい自律ロボットを検出する場合も考えられる。この場合には、自律ロボット１１Ｂは、検出した新しい自律ロボットから他ロボット情報を取得して、記憶部１１５Ｂに記憶して、Ｓ２０１７またはＳ２０１９において支援対象の自律ロボットを選択処理するとしてもよい。これにより、支援対象の自律ロボットを、より多くの他ロボット情報を用いて選択することができる。
【０２１０】
［効果等］
以上、本実施の形態によれば、現在通信可能な他の自律ロボットの他ロボット情報だけでなく、タスク実行中に記憶しておいた他の自律ロボットの他ロボット情報のうち、現在通信不可の他の自律ロボットについても、再度、通信を試みて、他ロボット情報を取得し、支援対象となる自律ロボットの選択処理を行うことができる。
【０２１１】
これにより、通信可能な他の自律ロボットが動的に変化する場合でも自律ロボットがより多くの他の自律ロボットと協調してタスクを実行することができる移動制御方法および移動制御装置を実現することができる。
【０２１２】
具体的には、本実施の形態では、自律ロボット１１Ｂが、現在通信不可の他の自律ロボットの情報を再度取得するため、現在通信不可の他の自律ロボットと、再度、通信可能となるように移動する。すなわち、自律ロボット１１Ｂは、自身のタスクの実行中に、他の自律ロボットから他ロボット情報を受信すると、自身の位置情報を取得し、受信した他ロボット情報と取得した自身の位置情報（自ロボット受信位置）とを紐付けて記憶する。これにより、自律ロボットは、他の自律ロボットと通信可能であったときの位置情報（自ロボット受信位置）を残しておくことができる。自律ロボット１１Ｂは、現在通信不可である他の自律ロボットと再度通信を行いたい場合は、現在通信不可である他の自律ロボットと以前通信可能であったときの位置情報（自ロボット受信位置）を抽出して、そこに向かって移動することにより、再度、通信不可だった他の自律ロボットと通信を試みることができる。
【０２１３】
なお、他の自律ロボットも移動しているため、自律ロボット１１Ｂは、抽出した位置情報（自ロボット受信位置）に移動したとしても、通信できない場合も考えられる。つまり、現在通信不可の他の自律ロボットとの通信が途切れてから多くの時間が経過している場合、現在通信不可の他の自律ロボットが大きく移動している可能性がある。そのため、自律ロボット１１Ｂは、抽出した位置情報（自ロボット受信位置）に移動しても、当該他の自律ロボットと通信できない可能性は高い。
【０２１４】
しかしながら、現在通信不可の他の自律ロボットとの通信が途切れてからあまり時間が経過していない場合だと、当該他の自律ロボットはあまり移動していないと考えられるので、自律ロボット１１Ｂは、抽出した位置情報（自ロボット受信位置）に移動すると通信できる可能性は高い。
【０２１５】
したがって、本実施の形態の移動制御方法等は、自律ロボット１１Ｂと現在通信不可の他の自律ロボットとの通信が途切れてからあまり時間が経過していない場合に、特に効果を発揮すると考えられる。
【０２１６】
（変形例１）
本実施の形態では、自律ロボット１１Ｂが、他の自律ロボットに対して、他の自律ロボットの他ロボット情報を要求するとして説明したが、必ずしもその構成に限定するものではない。
【０２１７】
例えば、他の自律ロボットそれぞれが、定期的に自身の他ロボット情報を発信するとし、自律ロボット１１Ｂの通信範囲にいる他の自律ロボットそれぞれから他ロボット情報を受信するとしてもよい。
【０２１８】
（変形例２）
本実施の形態では、自律ロボット１１Ｂは、自身のタスク実行中に、通信範囲内の他の自律ロボットと定期的に通信し、他ロボット情報を受信するとして説明したがそれに限らない。
【０２１９】
例えば、自律ロボット１１Ｂが、新しく他の自律ロボットを検出したときにのみ、検出した他の自律ロボットと通信して、その他ロボット情報を取得するとしてもよい。自律ロボット１１Ｂが、自身の担当領域２１のタスク実行中に通信範囲にいる他の自律ロボットから他ロボット情報を取得できればどのような構成でもよい。
【０２２０】
（変形例３）
本実施の形態では、自律ロボット１１Ｂは、タスク完了時に他の自律ロボットから他ロボット情報を取得したとき、そのときの自ロボットの位置を含めるとしたが、含めなくてもよい。
【０２２１】
自律ロボット１１Ｂは、他ロボット情報と自ロボットの位置情報の紐付けは、タスク実行中に他の自律ロボットから情報を受信したときには必ず行う必要がある。一方で、タスク完了時に他の自律ロボットから取得した他ロボット情報に自ロボットの位置（自ロボット受信位置）を紐付ける必要はないからである。
【０２２２】
（変形例４）
本実施の形態では、自律ロボット１１Ｂは、自身のタスクの実行中に、他の自律ロボットから他ロボット情報を受信すると、自身の位置情報を取得し、受信した他の自律ロボットの情報と取得した自身の位置情報とを紐付けて記憶するとして説明したがそれに限らない。
【０２２３】
自律ロボット１１Ｂが、他の自律ロボットと通信可能であった時点の位置情報を保持し、参照できれば構成は問わない。
【０２２４】
（変形例５）
本実施の形態では、自律ロボット１１Ｂは、自身の担当領域２１のタスクを実行中に、通信範囲にいる他の自律ロボットと定期的に通信し、当該他の自律ロボットの情報を取得して記憶するとして説明したがそれに限らない。
【０２２５】
例えば、自律ロボット１１Ｂは、タスク完了後に支援対象の他の自律ロボットを選択する際に、自身のタスク完了の直前に自身の通信範囲にいる他の自律ロボットから受信した他ロボット情報を保有している場合がある。この場合、自律ロボット１１Ｂは、タスク完了後に当該他の自律ロボットから新しく他ロボット情報を取得しないとしてもよい。そして、自律ロボット１１Ｂは、タスク完了の直前に受信した他ロボット情報を最新の情報とみなして、その他ロボット情報に基づいて、支援対象の自律ロボットの選択処理を行うとしてもよい。
【０２２６】
これにより、自律ロボット１１Ｂは、タスク完了の直前と直後の２回、当該他の自律ロボットから他ロボット情報を取得することを抑止することが可能である。タスク完了の直前と直後という短期間であるため、タスク完了の直前に当該他の自律ロボットから受信した情報とタスク完了の直後に当該他の自律ロボットから受信した他ロボット情報とが大きく異なる可能性は低いと考えられる。したがって、このようにしても、自律ロボット１１Ｂは適切に支援対象の自律ロボットを選択することが可能と考えられる。
【０２２７】
（変形例６）
本実施の形態では、自律ロボット１１Ｂは、記憶部１１５Ｂに、現在通信不可である他の自律ロボットの他ロボット情報が存在すれば、その他ロボット情報に紐付けられた自ロボット受信位置に移動するとしてとして説明したがそれに限らない。
【０２２８】
自律ロボット１１Ｂは、現在通信不可である他の自律ロボットの他ロボット情報が存在する場合、自身の現在地と現在通信不可である他の自律ロボットの他ロボット情報に含まれる自ロボット受信位置と間の距離が所定距離内であれば移動を行うという判定処理を行うとしてもよい。他ロボット情報に紐付けられた自ロボット受信位置が自身の現在位置から遠くにある場合、移動に多くの時間がかかり、移動している間に通信を試みようとする当該他の自律ロボットが大きく移動してしまい当該自ロボット受信位置に移動しても通信できなくなる可能性が高いからである。
【０２２９】
このように、本変形例によれば、自律ロボット１１Ｂは、現在通信不可である他の自律ロボットとの通信の可能性が高い場合にのみ移動することができるので、移動しても当該他の自律ロボットと通信できる可能性が低い場合の無駄な移動を抑制することができる。
【０２３０】
（変形例７）
なお、本実施の形態において、自律ロボット１１Ｂは、現在通信不可である自律ロボット１２と最後に通信した位置（自ロボット受信位置）に向かう途中で、現在通信可能であった他の自律ロボット１３、１４と通信不可になる場合も考えられる。
【０２３１】
この場合、自律ロボット１１Ｂは、支援対象の自律ロボットを選択する際に利用する現在通信可能である自律ロボット１３、１４の他ロボット情報が減ってしまうことになる。つまり、自律ロボット１１Ｂは、現在通信不可である自律ロボット１２と通信ができたとしても、移動中に通信不可となってしまった自律ロボット１３、１４の他ロボット情報を利用することができなくなるので、より適切に支援対象の自律ロボットを選択することができないことも考えられる。
【０２３２】
そこで、自律ロボット１１Ｂは、タスクを完了した時点で、現在通信可能な他の自律ロボット１３、１４の他ロボット情報だけを用いて、支援対象の自律ロボットを一旦仮決めするとしてもよい。そして、自律ロボット１１Ｂは、現在通信不可である自律ロボット１２と通信するために移動を開始し、自律ロボット１２と通信が可能になったときに、通信可能になった自律ロボット１２から他ロボット情報を取得するとしてもよい。
【０２３３】
この場合、自律ロボット１１Ｂは、自律ロボット１２から他ロボット情報を取得した時点で、実施の形態１で説明した変更処理を行えばよい。
【０２３４】
この構成により、自律ロボット１１Ｂは、タスク終了した時点に通信可能であった自律ロボット１３、１４の他ロボット情報と、通信不可であった自律ロボット１２と再度通信して得られた他ロボット情報とに基づいて、支援対象の自律ロボットを選択することが可能となる。
【０２３５】
（実施の形態３）
本実施の形態では、自律ロボット１１Ｃが自身のタスクの実行中および完了時に、通信可能であった他の自律ロボットの中から支援対象の自律ロボットを選択する場合について、実施の形態２とは別の一例について説明する。
【０２３６】
実施の形態２では、自律ロボット１１Ｂは、自身の担当領域のタスクの完了時に現在通信可能な他の自律ロボットの他ロボット情報と、現在通信不可である他の自律ロボットに対して再度通信を試みて取得した他ロボット情報とに基づき、支援対象のロボットを選択する場合の例について説明した。
【０２３７】
本実施の形態では、自律ロボット１１Ｃが、自身の担当領域のタスクの完了時に現在通信可能な他の自律ロボットのタスク情報と、現在通信不可である他の自律ロボットの現在のタスク進捗情報を推定した推定タスク進捗情報とに基づいて、支援対象のロボットを選択する場合の例について説明する。
【０２３８】
［自律ロボットの機能構成］
以下では、実施の形態１および２と同様に代表して自律ロボット１１Ｃの機能構成について説明する。
【０２３９】
図１６は、実施の形態３における自律ロボットの機能構成の一例を示すブロック図である。図２、図１０と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０２４０】
図１６に示す自律ロボット１１Ｃは、図２に示す自律ロボット１１に対して、制御部１１２Ｃおよび記憶部１１５Ｃの構成が異なる。
【０２４１】
［制御部１１２Ｃ］
図１７は、図１６に示す制御部の詳細構成の一例を示すブロック図である。図３と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０２４２】
制御部１１２Ｃは、図１７に示すように、選択処理部１１２１Ｃ、移動制御部１１２２、変更判定部１１２３および通知制御部１１２４を備える。制御部１１２Ｃは、図３に示す制御部１１２に対して選択処理部１１２１Ｃの構成が異なる。
【０２４３】
選択処理部１１２１Ｃは、選択処理部１１２１の機能を備える。選択処理部１１２１Ｃは、さらに、自律ロボット１１Ｃ（第１ロボット）と現在通信可能および過去通信可能であった自律ロボット１１Ｃ（第１ロボット）以外の複数のロボットであるロボット群の中から支援対象のロボットを選択する。
【０２４４】
本実施の形態では、選択処理部１１２１Ｃは、自律ロボット１１Ｃ（第１ロボット）と過去通信可能であった複数の他の自律ロボットのうちの少なくとも一の他ロボット情報と、自律ロボット１１Ｃ（第１ロボット）の現在位置とを用いて、自律ロボット１１Ｃ（第１ロボット）が当該少なくとも一の他の自律ロボットそれぞれまで移動した時点での残りタスクを推定する。このようにして、選択処理部１１２１Ｃは、当該少なくとも一の自律ロボットを含むロボット群の各ロボットの残りタスクを取得する。ここで、上記の他ロボット情報は記憶部１１５Ｃに記憶されている。
【０２４５】
なお、現在通信不可の他の自律ロボットの情報の現在のタスクや残りタスクを推定するためには、現在通信不可の他の自律ロボットから最後に受信した他ロボット情報と、最後にその情報を受信した受信時刻とがあればよい。これらの情報があれば、現在通信不可の他の自律ロボットから最後に受信した他ロボット情報を用いて、最後に他ロボット情報を受信した受信時刻から現在時刻までの時間経過における現在通信不可の他の自律ロボットが実行するタスク量を推定することができるからである。このようにして、自律ロボット１１Ｃは、現在通信不可の他の自律ロボットの現在のタスク進捗を推定することができる。
【０２４６】
［記憶部１１５Ｃ］
次に、自律ロボット１１Ｃの記憶部１１５Ｃに記憶される情報について、図１８を用いて説明する。
【０２４７】
図１８は、実施の形態３における自律ロボットの記憶部に記憶される情報を概念的に示す図である。図４と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０２４８】
記憶部１１５Ｃは、実施の形態１と同様に、自ロボット情報１１５１、選択基準１１５３、および、他の自律ロボットから送信された情報に基づく他ロボット情報１１５２Ｃを記憶する。
【０２４９】
記憶部１１５Ｃは、図４に示す記憶部１１５に対して、他ロボット情報１１５２Ｃの含む情報が異なり、自律ロボット１１Ｃ（第１ロボット）が担当領域２１（第１担当領域）に対するタスクを実行中に受信した他の自律ロボットそれぞれの他ロボット情報を記憶する点で異なる。本実施の形態では、自律ロボット１１Ｃは、自身の担当領域２１のタスクを実行中に、通信範囲内の他の自律ロボットと定期的に通信しており、取得した他の自律ロボットの他ロボット情報を記憶する。
【０２５０】
（他ロボット情報の詳細）
他ロボット情報１１５２Ｃには、図１８に示すように、図４に示す他ロボット情報１１５２が含む情報に加え、受信時刻と、通信状況とを示す情報が含まれている。通信状況は、他の自律ロボットそれぞれの現在の通信状況を示す情報である。受信時刻は、自律ロボット１１Ｂが、他の自律ロボットから他ロボット情報を受信した時刻を示す情報であり、時間計測部１１６より取得する。受信時刻は、他ロボット情報に含まれるなど、他ロボット情報に紐付けて記憶される。
【０２５１】
図１９は、図１８に示す他ロボット情報の一例を示す図である。図５と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０２５２】
図１９には、記憶部１１５Ｃに、他ロボット情報１１５２Ｃとして、自律ロボット１２Ｃ、１３Ｃ、１４Ｃの情報が記憶されていることが示されている。また、図１９には、現在、自律ロボット１１Ｃは自律ロボット１３Ｃ、１４Ｃとは通信可能であるが自律ロボット１２Ｃとは通信不可であることが示されている。ここで、図１９に示す自律ロボット１２Ｃの他ロボット情報は、自律ロボット１１Ｃが、以前、自律ロボット１２Ｃと通信可能だったときに受信したものである。
【０２５３】
以上のように構成される自律ロボット１１Ｃは、現在通信可能な自律ロボットの他ロボット情報だけでなく、タスク実行中に記憶しておいた他の自律ロボットの他ロボット情報のうち、現在通信不可の他の自律ロボットの他ロボット情報に基づき推定した現在のタスク進捗を考慮して、支援対象となる他の自律ロボットの選択を行う。
【０２５４】
［自律ロボットの動作］
次に、以上のように構成された自律ロボット１１Ｃの動作の概要について説明する。
【０２５５】
図２０Ａおよび図２０Ｂは、実施の形態３におけるロボットシステムを構成する自律ロボットの状況を概念的に示す図である。図２０Ａは、自律ロボット１１Ｃ〜１４Ｃが、自身の担当領域のタスクを実行している状況の一例を示している。図２０Ｂは、自律ロボット１１Ｃがタスク完了した時の状況の一例を示している。図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０２５６】
図２０Ａの通信範囲３１３Ｃおよび図２０Ｂの通信範囲３１４Ｃは、自律ロボット１１Ｃが通信可能な通信範囲を示している。図２０Ａに示すようにタスク実行中の自律ロボット１１Ｃは、通信範囲３１３Ｃ内にいる他の自律ロボット１２Ｃ、１３Ｃと通信が可能である。しかし、図２０Ｂに示すようにタスク完了時の自律ロボット１１Ｃは、通信範囲３１４Ｃ内にいる自律ロボット１３Ｃ、１４Ｃと通信が可能であるものの、図２０Ａにおいて通信可能であった自律ロボット１２Ｃと通信が不可となっている。
【０２５７】
そのため、図２０Ｂに示す自律ロボット１１Ｃは、自身に割り当てられた担当領域２１のタスクが完了すると、現在通信可能な自律ロボット１３Ｃ、１４Ｃの他ロボット情報と、タスク実行中に記憶していた他の自律ロボットの情報のうち、現在通信不可の他の自律ロボットである自律ロボット１２Ｃの他ロボット情報に基づき、支援対象となる自律ロボットの選択を行う。
【０２５８】
（選択処理の詳細）
次に、本実施の形態における選択処理の詳細について図２１を用いて説明する。
【０２５９】
図２１は、実施の形態３における自律ロボットの選択処理の詳細の一例を説明するためのフローチャートである。図２１には、自律ロボット１１Ｃがタスクを完了した時に支援対象の他の自律ロボットを選択する選択処理の一例が示されている。
【０２６０】
まず、自律ロボット１１Ｃは、自身に割り当てられたタスクを完了すると、現在、通信可能な他の自律ロボットそれぞれと通信を行い、それぞれの他ロボット情報を取得する（Ｓ２０２１）。
【０２６１】
本実施の形態では、自律ロボット１１Ｃは、自律ロボット１３Ｃ、１４Ｃと通信を行い、他ロボット情報１１５２Ｃを取得し、記憶部１１５Ｃに記憶する。自律ロボット１１Ｃが取得する他ロボット情報１１５２Ｃは、例えば、自律ロボット１３Ｃおよび１４Ｃの識別情報やスペック情報を含むロボット固有情報と、タスク関する情報であるタスク情報、受信時刻などである。なお、自律ロボット１１Ｃは、タスク完了時において他ロボット情報１１５２Ｃとして受信時刻を取得しなくてもよい。他の自律ロボットから受信したロボット固有情報やタスク情報と受信時刻との紐付けは、タスク実行中にされていれば足りるので、タスク完了時の受信時刻は必ずしも必要はないからである。
【０２６２】
次に、自律ロボット１１Ｃは、記憶部１１５Ｃを確認して、記憶部１１５Ｃに現在通信不可である他の自律ロボットの他ロボット情報が存在するかどうかを判定する（Ｓ２０２２）。
【０２６３】
Ｓ２０２２において、記憶部１１５Ｃに現在通信不可である他の自律ロボットの他ロボット情報が存在しない場合は（Ｓ２０２２でＮｏ）、現在通信可能な他の自律ロボットの他ロボット情報に基づいて、支援対象のロボットを選択する（Ｓ２０２３）。なお、Ｓ２０２２では、図７で説明したＳ２０２〜Ｓ２１４と同様の処理を行う。Ｓ２０２〜Ｓ２１４については上述したのでここでの説明は省略する。
【０２６４】
一方、Ｓ２０２２において、記憶部１１５Ｃに現在通信不可である他の自律ロボットの他ロボット情報が存在する場合は（Ｓ２０２２でＹｅｓ）、現在通信不可である他の自律ロボットと最後に通信した受信時刻を取得する（Ｓ２０２４）。本実施の形態では、自律ロボット１１Ｃは、記憶部１１５Ｃから、現在通信不可である自律ロボット１２Ｃの他ロボット情報に含まれる受信時刻を抽出する。
【０２６５】
次に、自律ロボット１１Ｃは、現在の時刻を取得する（Ｓ２０２５）。本実施の形態では、自律ロボット１１Ｃは、時間計測部１１６から、現在の時刻情報を取得する。
【０２６６】
次に、自律ロボット１１Ｃは、Ｓ２０２６〜Ｓ２０２７において現在通信不可である他の自律ロボットの現在のタスク進捗情報を推定する処理を行う。
【０２６７】
Ｓ２０２６において、現在通信不可である他の自律ロボットの最後の受信時刻から現在の時刻までのタスク処理量を推定する（Ｓ２０２６）。本実施の形態では、まず、自律ロボット１１Ｃは、Ｓ２０２４で抽出した受信時刻と、Ｓ２０２５で取得した現在の時刻情報とを用いて、当該受信時刻から現在の時刻までの時間を算出する。次いで、自律ロボット１１Ｃは、記憶部１１５Ｃの他ロボット情報１１５２Ｃから、現在通信不可である自律ロボット１２Ｃの単位時間当たりのタスク処理量の情報を抽出する。そして、自律ロボット１１Ｃは、抽出した単位時間当たりのタスク処理量と算出した当該時間とを乗算することにより、現在通信不可である自律ロボット１２Ｃの当該時間におけるタスク処理量を推定する。
【０２６８】
続いて、Ｓ２０２７において、自律ロボット１１Ｃは、現在通信不可である他の自律ロボットの現在の残タスク量を推定する。なお、現在通信不可である他の自律ロボットの他ロボット情報が複数存在する場合は、他の自律ロボットそれぞれに対して現在の残タスク量を推定する。本実施の形態では、まず、自律ロボット１１Ｃは、現在通信不可である自律ロボット１２Ｃの他ロボット情報から未タスク領域情報を抽出する。次いで、自律ロボット１１Ｃは、抽出した未タスク領域情報と、Ｓ２０２６で推定した当該時間におけるタスク処理量とを用いて、現在の残タスク量を推定する。
【０２６９】
次に、自律ロボット１１Ｃは、現在通信不可である他の自律ロボットに、残タスクが存在するかどうかを判定する（Ｓ２０２８）。本実施の形態では、自律ロボット１１Ｃは、Ｓ２０２７で推定した、現在通信不可である自律ロボット１２Ｃの現在の残タスク量から、当該自律ロボット１２Ｃに、残タスクが存在するかどうかを判定する。
【０２７０】
Ｓ２０２８において、残タスクが存在しない場合（Ｓ２０２８でＮｏ）、Ｓ２０２１で取得し、かつ、現在通信可能な他の自律ロボットの他ロボット情報に基づいて、支援対象となる自律ロボットの選択する（Ｓ２０２９）。本実施の形態では、自律ロボット１１Ｃは、Ｓ２０２７で推定した現在の残タスク量が、０より小さい場合、現在通信不可である自律ロボット１２Ｃは、担当領域のタスクを完了しているとみなし、Ｓ２０２９に進む。なお、Ｓ２０２９では、図７で説明したＳ２０２〜Ｓ２１４と同様の処理を行う。Ｓ２０２〜Ｓ２１４については上述したのでここでの説明は省略する。
【０２７１】
一方、Ｓ２０２８において、残タスクが存在する場合（Ｓ２０２８でＹｅｓ）、現在通信可能な他の自律ロボットのタスク情報と、現在通信不可である他の自律ロボットの推定したタスク情報とにより、支援対象の自律ロボットを選択する（Ｓ２０３０）。本実施の形態では、自律ロボット１１Ｃは、Ｓ２０２７で推定した現在の残タスク量が、０より大きい場合、現在通信不可である自律ロボット１２Ｃに、未タスク領域が残っているとみなし、現在通信可能な自律ロボット１３Ｃ、１４の未タスク領域情報などのタスクに関する情報と、現在通信不可である自律ロボット１２Ｃの推定した現在の残タスク量とを用いて、支援対象の自律ロボットを選択する。なお、Ｓ２０３０では、図７で説明したＳ２０２〜Ｓ２１４と同様の処理を行う。Ｓ２０２〜Ｓ２１４については上述したのでここでの説明は省略する。
【０２７２】
以上のようにして、自律ロボット１１Ｃは、自身の担当領域のタスクを完了した後に、現在通信可能な他の自律ロボットの他ロボット情報と、現在通信不可の他の自律ロボットの推定タスク進捗情報とに基づいて、支援対象となる自律ロボットの選択を行う。この推定タスク進捗情報は、上述したように、自律ロボット１１Ｃのタスク実行中に記憶していた現在通信不可の他の自律ロボットの他ロボット情報に用いて推定した現在通信不可の当該他の自律ロボットの現在のタスクの進捗情報である。
【０２７３】
［効果等］
以上、本実施の形態によれば、通信不可時の他の自律ロボットのタスク進捗を推定するために、自律ロボット１１Ｃは、自身のタスク実行中に他の自律ロボットから情報を受信したとき、その時刻情報を含む他ロボット情報を記憶する。具体的には、自律ロボット１１Ｃは、自身のタスク実行中に、他の自律ロボットから他ロボット情報を受信すると、時間計測部１１６で取得した時刻を示す受信時刻を含めた他ロボット情報を記憶する。
【０２７４】
これにより、自律ロボット１１Ｃは、現在通信可能な他の自律ロボットの他ロボット情報だけでなく、タスク実行中に記憶しておいた現在通信不可の他の自律ロボットの他ロボット情報を用いて推定した当該他の自律ロボットの推定タスク進捗情報も考慮して、支援対象となる自律ロボットの選択を行うことができる。
【０２７５】
それにより、自律ロボット１１Ｃは、より多くの他ロボット情報を用いて支援対象となる自律ロボットを選択することもができるので、より適切な支援対象となる自律ロボットを選択できる。
【０２７６】
（変形例１）
本実施の形態では、自律ロボット１１Ｃは、通信不可である他の自律ロボットのタスク進捗情報を推定するとして説明したがそれに限らない。例えば、自律ロボット１１Ｃは、通信不可である他の自律ロボットの位置情報について推定するとしてもよい。位置情報を推定する方法は、例えば、自律ロボット１１Ｃが、他の自律ロボットから他ロボット情報を取得する際に、当該他の自律ロボットの担当領域のタスク実行に関する経路情報も取得して記憶すればよい。これにより、自律ロボット１１Ｃは、自身のタスク完了時に、取得した経路情報に基づいて、通信不可である当該他の自律ロボットの位置を推定することができる。例えば、自律ロボット１１Ｃは、通信不可である当該他の自律ロボットのスペック情報に示される移動速度に基づき、当該他の自律ロボットから最後に情報を取得した受信時刻から現在までの距離を算出することができる。そして、自律ロボット１１Ｃは、当該他の自律ロボットから最後に情報をしたときの当該他の自律ロボット位置情報から、経路情報に基づき、算出した距離だけ移動させた位置を当該他の自律ロボットの現在位置と推定することができる。
【０２７７】
このように、本変形例によれば、自律ロボット１１Ｃは、通信不可である他の自律ロボットのタスク進捗情報と位置情報とを推定することができるので、より適切に支援対象となる自律ロボットを選択することができる。
【０２７８】
（変形例２）
本実施の形態では、自律ロボット１１Ｃは、現在通信不可の他の自律ロボットの現在のタスク進捗を推定するとして説明した。しかし、この推定したタスク進捗の正確性は、現在通信不可の自律ロボットとの最後の受信時刻から現在時刻までの時間により変化する。
【０２７９】
つまり、自律ロボット１１Ｃが現在通信不可の当該他の自律ロボットとの最後の受信時刻から現在時間までの時間が小さければ、推定したタスク進捗は、実際のタスク進捗と大きく差が出ることはなく正確であると考えられる。一方で、自律ロボット１１Ｃが現在通信不可の当該他の自律ロボットとの最後の受信時刻から現在時間までの時間が大きければ、推定したタスク進捗は、実際のタスク進捗と大きな差が出る可能性があり正確性は低いと考えられる。そのため、自律ロボット１１Ｃは、当該時間が大きいときに推定したタスク進捗を用いて、支援対象の自律ロボットの選択処理を行うと、支援対象としては不適切である自律ロボットを選択してしまう場合も考えられる。
【０２８０】
そこで、自律ロボット１１Ｃは、当該時間が小さく、推定するタスク進捗の正確性が高いと推定できるときに、現在通信不可の他の自律ロボットのタスク進捗を推定するとしてもよい。具体的には、自律ロボット１１Ｃは、当該時間が所定期間内となる場合についてのみ、現在通信不可の他の自律ロボットの現在のタスク進捗を推定するとしてもよい。
【０２８１】
これにより、自律ロボット１１Ｃは、推定するタスク進捗が正確である可能性が高い場合のみ利用することができるので、自律ロボット１１Ｃの選択する支援対象の自律ロボットが、実際には、支援対象としては不適切であるといった状況になることを抑制することが可能となる。
【０２８２】
（変形例３）
なお、上記変形例２の場合に限らず、自律ロボット１１Ｃは、通信不可の他の自律ロボットと最後に受信した受信時刻から現在時刻までの時間について、時間が小さい順に優先度を付与し、優先度の高い時間の受信時刻を有する他の自律ロボットから順に、支援対象の自律ロボットとして選択してもよい。
【０２８３】
変形例２では、推定するタスク進捗が正確である可能性が高い場合のみ利用する。一方、本変形例では、推定するタスク進捗の情報が正確である可能性が高くない場合でも優先度の高い順であれば用いることができる。
【０２８４】
つまり、自律ロボット１１Ｃは、変形例２の方法では支援対象となる他の自律ロボットを選択できなかった場合、アイドル状態になってしまうおそれがある。一方、本変形例の方法では、自律ロボット１１Ｃは、推定するタスク進捗が正確である可能性が高くない場合でも用いることができるので、アイドル状態となる可能性をより低くすることができる。
【０２８５】
（変形例４）
また、本実施の形態では、自律ロボット１１Ｃは、自身の担当領域のタスクを完了した後に、現在通信可能な他の自律ロボットの他ロボット情報と、現在通信不可の他の自律ロボットの推定タスク進捗情報とに基づいて、支援対象となる自律ロボットの選択を行うとして説明したがそれに限らない。実施の形態２で説明した方法と組み合わせて用いてもよい。この場合、自律ロボット１１Ｃは、自身のタスク実行中に、他の自律ロボットから受信した他ロボット情報に、さらに自身の位置情報を含めて記憶すればよい。
【０２８６】
なお、自律ロボット１１Ｃと現在通信不可である他の自律ロボットの他ロボット情報を再度取得する処理と現在のタスクの進捗を推定する処理をどのような状況により使い分けるかについては、システム仕様により様々な方法が考えられる。
【０２８７】
例えば、自律ロボット１１Ｃは、自身のタスク完了時から現在通信不可である自律ロボットとの最後の受信時刻までの時間が所定期間内であるかを判定してもよい。所定期間内であれば、現在通信不可である自律ロボットと最後に通信可能であった位置（場所）まで移動して、当該現在通信不可である自律ロボットとの通信を行い、所定期間外であれば、当該現在通信不可である自律ロボットの現在のタスク状況を推定するとしてもよい。
【０２８８】
なぜなら、自律ロボット１１Ｃと現在通信不可の他の自律ロボットとの通信が不可になってからの時間経過が大きい場合、その時間経過の間に当該現在通信不可の他の自律ロボットが大きく移動していることが考えられるからである。つまり、当該時間経過が大きい場合、たとえ、自律ロボット１１Ｃが、当該他のロボットとの通信を試みて移動しても、通信できない可能性が高いと考えられるからである。
【０２８９】
このようにして、自律ロボット１１Ｃは、当該時間経過が大きい場合の移動を抑制することができるだけでなく、移動しない代わりに推定した当該現在通信不可の他の自律ロボットの現在のタスク進捗を支援対象となる自律ロボットの選択処理に利用することができる。
【０２９０】
なお、本変形例では、当該時間が所定期間内か否かを判定しているが、それに限らない。自律ロボット１１Ｃは、自身のタスク完了時の位置から現在通信不可である他の自律ロボットと最後に通信可能であった位置までの距離が所定距離内か否かを判定するとしてもよい。この場合も同様の効果が得られる。
【０２９１】
また、本変形例において、自律ロボット１１Ｃは、自身のタスク完了時、現在通信不可である他の自律ロボットの現在のタスク進捗の推定を行い、推定したタスク進捗に基づきタスクが未だ残っていると推定された他の自律ロボットに対してのみ、移動を行うとしてもよい。タスクが完了した他の自律ロボットは、タスク完了時に、他の自律ロボットに支援のため移動していると考えられるからである。
【０２９２】
これにより、自律ロボット１１Ｃは、既にタスクが完了したと推定される他の自律ロボットに対する移動を抑制することが可能である。
【０２９３】
また、本変形例において、自律ロボット１１Ｃは、自身のタスク完了時、現在通信可である全ての他の自律ロボットとの通信を維持できる範囲で、現在通信不可である他の自律ロボットとの通信のために移動を行うとしてもよい。この場合、自律ロボット１１Ｃは、現在通信可である全ての当該他の自律ロボットとの通信が維持できなくなったとき、現在通信不可である当該他の自律ロボットへの移動を中断して、現在のタスクの推定を行うとしてもよい。
【０２９４】
これにより、自律ロボット１１Ｃは、現在通信可である全ての他の自律ロボットの他ロボット情報については、確実に利用できるので、現在通信可である自律ロボットの情報が減ってしまうということを防止することができる。
【０２９５】
（実施の形態４）
実施の形態４では、自律ロボット１１Ｄが自身のタスクの完了時に通信可能な他の自律ロボットの中から、支援対象となる自律ロボットを選択することができなかった場合の例について説明する。以下では、自律ロボット１１Ｄが、タスクの完了後、自律的に移動して、新たに他の自律ロボットの他ロボット情報を取得し、支援対象となる自律ロボットを選択する場合の例について説明する。
【０２９６】
［自律ロボットの機能構成］
以下では、実施の形態１〜３と同様に代表して自律ロボット１１Ｄの機能構成について説明する。
【０２９７】
図２２は、実施の形態４における自律ロボットの機能構成の一例を示すブロック図である。図２と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０２９８】
図２２に示す自律ロボット１１Ｄは、図２に示す自律ロボット１１に対して、制御部１１２Ｄの構成が異なる。
【０２９９】
［制御部１１２Ｄ］
図２３は、図２２に示す制御部の詳細構成の一例を示すブロック図である。図３と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０３００】
制御部１１２Ｄは、図２３に示すように、選択処理部１１２１Ｄ、移動制御部１１２２Ｄ、変更判定部１１２３および通知制御部１１２４を備える。制御部１１２Ｄは、図３に示す制御部１１２に対して選択処理部１１２１Ｄと移動制御部１１２２Ｄとの構成が異なる。
【０３０１】
選択処理部１１２１Ｄは、選択処理部１１２１の機能を備える。選択処理部１１２１Ｄは、取得した他の自律ロボットの残りタスクが存在しない場合やタスク完了時に通信可能な他の自律ロボットがいない場合など、担当領域２１（第１担当領域）に対するタスクを完了した場合、かつ、担当領域２１（第１担当領域）の中に存在する自律ロボット１１Ｄ（第１ロボット）がロボット群の中から支援対象ロボットを選択できないとき、移動制御部１１２２Ｄに指示して自律ロボット１１Ｄ（第１ロボット）を担当領域２１の外（第１担当領域の外）に移動させる。
【０３０２】
また、選択処理部１１２１Ｄは、自律ロボット１１Ｄ（第１ロボット）が移動中にロボットシステムを構成する複数の他の自律ロボットのうちタスク完了時に通信可能であったロボット群以外の他の自律ロボットと通信可能となったときに、当該ロボット群以外の他の自律ロボットから現在位置を示す位置情報およびタスクの進捗状況を示すタスク情報を含む他ロボット情報を受信する。
【０３０３】
また、選択処理部１１２１Ｄは、自律ロボット１１Ｄ（第１ロボット）が、自律ロボット１１Ｄ（第１ロボット）の現在位置とで受信した当該ロボット群以外の他の自律ロボットの他ロボット情報とを用いて、自律ロボット１１Ｄ（第１ロボット）が当該ロボット群以外の他の自律ロボットの現在位置まで移動した時点での残りタスクを取得する。また、選択処理部１１２１Ｄは、取得した残りタスクに基づいて、当該ロボット群以外のロボットを支援対象のロボットとして選択する。
【０３０４】
移動制御部１１２２Ｄは、移動制御部１１２２の機能を備える。移動制御部１１２２Ｄは、さらに、選択処理部１１２１Ｄの指示に従って、自律ロボット１１Ｄ（第１ロボット）に担当領域２１（第１担当領域）の外に移動させる。
【０３０５】
［自律ロボットの動作］
次に、以上のように構成された自律ロボット１１Ｄの動作の概要について説明する。
【０３０６】
図２４Ａおよび図２４Ｂは、実施の形態４におけるロボットシステムを構成する自律ロボットの状況を概念的に示す図である。図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０３０７】
図２４Ａには、自律ロボット１１Ｄが自身の担当領域２１のタスクを完了した時の状況の一例が示されている。通信範囲３１５は、自律ロボット１１Ｄが通信可能な通信範囲を示しており、図２４Ａに示す自律ロボット１１Ｄは、通信範囲３１５内の自律ロボット１２Ｄ、１３Ｄ、１４Ｄと通信が可能である。図２４Ｂには、自律ロボット１１Ｄが自身の担当領域２１の外に移動して、新しく他の自律ロボットを検出した状況の一例が概念的に示されている。図２４Ｂに示す自律ロボット１１Ｄは、通信範囲３１６内の自律ロボット１２Ｄ、１３Ｄ、１４Ｄ、１６Ｄと通信が可能である。
【０３０８】
本実施の形態では、図２４Ａに示す自律ロボット１１Ｄは、通信範囲３１５内にいる自律ロボット１２、１３、１４と通信を行い受信したロボット固有情報や、タスク情報、位置情報などを含む他ロボット情報を用いて、支援対象となる自律ロボットを選択する選択処理を行う。この選択処理は、実施の形態１で説明した通りであるので、ここでの説明は省略する。
【０３０９】
そして、図２４Ａに示す自律ロボット１１Ｄは、選択処理を行った結果、自律ロボット１２、１３、１４のいずれも支援不要であり、支援対象となる自律ロボットを選択することができないとする。
【０３１０】
しかしながら、これは、図２４Ａに示す自律ロボット１１Ｄが自身のタスクを完了した時点の位置において、通信領域内に存在する他の自律ロボットの他ロボット情報を用いて、支援対象となる自律ロボットの選択処理を行った結果に過ぎない。つまり、自律ロボット１１Ｄは、当該位置と異なる位置に移動し、選択処理を行うことで、支援対象として適切な自律ロボットを選択できる可能性もある。
【０３１１】
そのため、図２４Ａに示す自律ロボット１１Ｄは、他の自律ロボットの情報を求めて、自身の担当領域２１の外に移動する。そして、図２４Ｂに示す自律ロボット１１Ｄは、他の自律ロボット１６を検出し、他の自律ロボット１６の他ロボット情報を取得すると、再度、選択処理を行う。この選択処理は、実施の形態１で説明した通りであるので、ここでの説明は省略する。
【０３１２】
このように、自律ロボット１１Ｄは、タスク完了時の位置における通信領域内に存在する他の自律ロボットの他ロボット情報だけでなく、当該位置と異なる場所で新たに取得した他の自律ロボットの他ロボット情報を用いて、支援対象の自律ロボットを選択することができる。
【０３１３】
なお、支援対象となる自律ロボットが選択することができない場合は、上記の例の場合に限らない。すなわち、１）他の自律ロボットのいずれとも通信ができなかったために他の自律ロボットの情報が全く取得できず選択処理自体ができなかった場合、２）他の自律ロボットの他ロボット情報は取得でき、選択処理を行ったが、取得できた他ロボット情報の他の自律ロボットのタスクは既に完了しており、支援不要である場合、３）他の自律ロボットの他ロボット情報は取得でき選択処理を行ったが、自律ロボット１１Ｄが支援対象の候補となる他の自律ロボットに向かって移動する途中で、当該他の自律ロボットのタスクが完了すると判断した場合なども考えられる。
【０３１４】
［効果等］
以上、本実施の形態によれば、通信可能な他の自律ロボットが動的に変化する場合でも自律ロボットがより多くの他の自律ロボットと協調してタスクを実行することができる移動制御方法および移動制御装置を実現できる。
【０３１５】
より具体的には、自律ロボット１１Ｄは、タスク完了後に支援対象となる自律ロボットの選択処理を行ったが、支援対象となる自律ロボットを選択できない場合がある。この場合、自律ロボット１１Ｄは、自律的に移動して、新たに他の自律ロボットの他ロボット情報を取得し、選択処理を再度行う。これにより、自律ロボット１１Ｄは、選択処理で支援対象となる自律ロボットを選択できない場合を抑制し、アイドル状態となるのを抑制することができる。
【０３１６】
なお、実施の形態２および３と同様に、自律ロボット１１Ｄは、自身のタスク実行中に通信可能だった他の自律ロボットの他ロボット情報を記憶しているとしてもよい。この場合、自律ロボット１１Ｄは、自身の担当領域２１内において、通信可能な他の自律ロボットの情報は、既に有していることになるので、他の自律ロボット以外の新たな他の自律ロボットの他ロボット情報を取得するために、自身の担当領域２１の外部に移動すればよい。
【０３１７】
これにより、自律ロボット１１Ｄは、新たな他の自律ロボットと通信して他ロボット情報を取得することができる可能性がより高まる。そして、自律ロボット１１Ｄは、新たに取得した他ロボット情報に基づいて、支援対象の自律ロボットを選択することが可能となる。
【０３１８】
また、自律ロボット１１Ｄは、担当領域２１から最短移動距離で担当領域外に出られる方向に移動するとしてもよい。これにより、自律ロボット１１Ｄは、より早く担当領域２１外に出られるので、より早く担当領域２１外で新たな他の自律ロボットの他ロボット情報を取得でき再度の選定処理を行うことができる。なお、自律ロボット１１Ｄが担当領域２１の外へ移動する際の移動方向の例はこの場合に限らない。その他の例を変形例として説明する。
【０３１９】
（変形例１）
自律ロボット１１Ｄは、他ロボット情報に含まれる位置情報を用いて、当該他ロボットの密度が少ない方向に移動するとしてもよい。
【０３２０】
図２４Ａに示す自律ロボット１２Ｄ〜１４Ｄは、支援対象選定の際に、支援不要と判断されているので、当該自律ロボット１２Ｄ〜１４Ｄが存在する方向に向かって移動したとしても新たな他の自律ロボットに出会う可能性は低いと思われる。そのため、担当領域２１外で、かつ、他の自律ロボットが存在しないと判断した担当領域のある方向に向かって移動する。この一例について図２５を用いて説明する。
【０３２１】
図２５は、実施の形態４の変形例１における自律ロボットの担当領域外に移動する際の移動方向の一例を示す図である。
【０３２２】
自律ロボット１１Ｄは、例えば、さらに方位センサーを備え、図２５に示すように4つの象限を設定するとする。そして、自律ロボット１１Ｄは、各象限ごとに他の自律ロボット（自律ロボット１２Ｄ〜１４Ｄ）がそれぞれどこに含まれるかを判定し、他の自律ロボットの数が最も少ない象限に向かって移動する。
【０３２３】
これにより、自律ロボット１１Ｄより早く担当領域２１外で新たな他の自律ロボットの他ロボット情報を取得でき再度の選定処理を行うことができる。
【０３２４】
なお、移動方向は本変形例で示される場合に限らない。上述した場合と組み合わせるとしてもよい。すなわち、他の自律ロボットの数が最も少ない象限の方向のうち、担当領域２１から最短移動距離で担当領域外に出られる最短移動距離となる方向を移動方向としてもよい。
【０３２５】
（変形例２）
自律ロボット１１Ｄは、他の自律ロボットからそれぞれの担当領域を示す情報を取得している場合は、当該他の自律ロボットの担当領域以外の領域に向かって移動するとしてもよい。なぜなら、選定処理の際に支援不要とされた他の自律ロボットの担当領域に向かって移動したとしても新たな他の自律ロボットに出会う可能性は低いと考えられるからである。
【０３２６】
そのため、自律ロボット１１Ｄの担当領域２１外で、かつ、他の自律ロボットの担当領域以外の領域に向かって移動すればよい。
【０３２７】
これにより、自律ロボット１１Ｄは、より早く担当領域２１外で新たな他の自律ロボットの他ロボット情報を取得でき再度の選定処理を行うことができる。
【０３２８】
なお、移動方向は本変形例で示される場合に限らない。上述した場合と組み合わせるとしてもよい。すなわち、他の自律ロボットの担当領域以外の領域のうち、担当領域２１から最短移動距離で担当領域外に出られる最短移動距離となる方向を移動方向としてもよい。
【０３２９】
（変形例３）
自律ロボット１１Ｄは、自身の担当領域２１外へ移動後、再度の選択処理で支援対象が選択できなかった場合には、さらに、支援不要として選択されなかった他の自律ロボットの密度が少ない方向に移動するとしてもよい。
【０３３０】
これにより、自律ロボット１１Ｄは、より早く担当領域２１外で新たな他の自律ロボットの他ロボット情報を取得でき再度の選定処理を行うことができる。
【０３３１】
なお、自律ロボット１１Ｄは、自身の担当領域２１外に出た後は、支援対象として選択されなかった他の自律ロボットの担当領域を通らず（当該担当領域以外の領域を）移動するとしてもよい。
【０３３２】
また、自身の担当領域２１外に出た後の移動の仕方は、この場合に限らず、経路を決めて移動してもよいし、ランダムに移動してもよい。すなわち、どのようなものであってもよい。
【０３３３】
（変形例４）
なお、自律ロボット１１Ｄ〜１９Ｄが掃除ロボットである場合、タスクである掃除が完了後、自分の担当領域に戻る必要がある。時間経過により、ゴミや埃が積もり、再度、掃除を行う必要が発生するからである。
【０３３４】
この場合、例えば自律ロボット１１Ｄは、自身の担当領域２１外に支援対象となる他の自律ロボットを探索しに移動する際は、担当領域から遠くに離れすぎないように移動に制約を設けるとしてもよい。制約としては、１）担当領域外に出て移動開始してからの移動距離又は移動時間、２）担当領域境界線(任意の点でもよい)からの距離、３）バッテリ状態が所定の閾値、３）新規に検出する他の自律ロボット数などが考えられる。
【０３３５】
これにより、自律ロボット１１Ｄは、支援対象とする他の自律ロボットを探索する場合でも、自身の担当領域２１から、遠くに離れすぎることがないようにすることが可能となる。
【０３３６】
以上、本発明の一つまたは複数の態様に係る移動制御方法および移動制御装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つまたは複数の態様の範囲内に含まれてもよい。
【０３３７】
例えば、実施の形態４の変形例４で説明した制約を、実施の形態１〜３に適用してもよい。
【０３３８】
また、上記の実施の形態では、自律ロボット１１〜１１Ｄを例に挙げて動作等を説明したが、それに限らない。他の自律ロボットも同様の最小構成を備え、同様の動作を行うことができる。
【０３３９】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【０３４０】
例えば実施の形態１〜４に係る自律ロボットの機能の一部又は全ては典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０３４１】
また、実施の形態１〜に係る自律ロボットの機能の一部又は全てを、ＣＰＵ等のプロセッサがプログラムを実行することにより実現してもよい。
【０３４２】
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。
【０３４３】
また、上記図６、図７、図９、図１５及び図２１に示す、各ステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、同様の効果が得られる範囲で上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時（並列）に実行されてもよい。
【産業上の利用可能性】
【０３４４】
本発明は、自律移動型のロボットの移動制御方法および移動制御装置に利用でき、特に無線通信機能を有し、自律的に移動しながら自身に割り当てられた領域に対するタスクを行うことが可能な自律ロボットおよび当該自律ロボットを含むロボットシステムにおける移動制御方法および移動制御装置に利用することができる。
【符号の説明】
【０３４５】
１  ロボットシステム
１１、１１Ｂ、１１Ｃ、１１Ｄ、１２、１２Ｂ、１２Ｃ、１２Ｄ、１３、１３Ｂ、１３Ｃ、１３Ｄ、１４、１４Ｂ、１４Ｃ、１４Ｄ、１５、１６、１７、１８、１９  自律ロボット
２１、２２、２３、２４、２５、２６、２７、２８、２９  担当領域
１１１  通信部
１１２、１１２Ｂ、１１２Ｃ、１１２Ｄ  制御部
１１３  タスク実行部
１１４  駆動部
１１５、１１５Ｂ、１１５Ｃ  記憶部
１１６  時間計測部
１１７  位置測定部
３１１、３１２、３１３Ｂ、３１３Ｃ、３１４Ｂ、３１４Ｃ、３１５、３１６  通信範囲
１１２１、１１２１Ｂ、１１２１Ｃ、１１２１Ｄ  選択処理部
１１２２、１１２２Ｂ、１１２２Ｄ  移動制御部
１１２３  変更判定部
１１２４  通知制御部
１１５１  自ロボット情報
１１５２、１１５２Ｂ、１１５２Ｃ  他ロボット情報
１１５３  選択基準
【図１】
0006532279.tif 000002
【図２】
0006532279.tif 000003
【図３】
0006532279.tif 000004
【図４】
0006532279.tif 000005
【図５】
0006532279.tif 000006
【図６】
0006532279.tif 000007
【図７】
0006532279.tif 000008
【図８】
0006532279.tif 000009
【図９】
0006532279.tif 000010
【図１０】
0006532279.tif 000011
【図１１】
0006532279.tif 000012
【図１２】
0006532279.tif 000013
【図１３】
0006532279.tif 000014
【図１４Ａ】
0006532279.tif 000015
【図１４Ｂ】
0006532279.tif 000016
【図１５】
0006532279.tif 000017
【図１６】
0006532279.tif 000018
【図１７】
0006532279.tif 000019
【図１８】
0006532279.tif 000020
【図１９】
0006532279.tif 000021
【図２０Ａ】
0006532279.tif 000022
【図２０Ｂ】
0006532279.tif 000023
【図２１】
0006532279.tif 000024
【図２２】
0006532279.tif 000025
【図２３】
0006532279.tif 000026
【図２４Ａ】
0006532279.tif 000027
【図２４Ｂ】
0006532279.tif 000028
【図２５】
0006532279.tif 000029