(本開示の基礎となった知見)
特許文献1では、サーバが、複数の自走式掃除機を制御して、複数の自走式掃除機を協調させながら、掃除を行わせる技術について開示されている。より具体的には、特許文献1に開示される技術では、サーバが、複数の自走式掃除機のそれぞれに対して、掃除領域を割り当てて、複数の自走式掃除機に掃除を行わせる。各自走式掃除機は、サーバから割り当てられた掃除領域を掃除しながら、掃除の進捗状況をサーバに通知する。サーバは、各自走式掃除機からの通知を受信し、各自走式掃除機のタスクの進捗状況を把握する。サーバは、一の自走式掃除機から、掃除が完了した旨の通知を受信した場合、当該一の自走式掃除機に対して、掃除が完了していない他の自走式掃除機の掃除領域のうちの未掃除領域を割り当てる再割り当てを行う。
しかしながら、特許文献1に開示される技術は、サーバを用いて自走式掃除機を協調させる構成である。そのため、複数の自走式掃除機を協調させるためのサーバを構築する必要があり、サーバ構築のためのコストがかかる。さらに、サーバが故障等で動作不能になってしまった場合には、自走式掃除機に対して掃除領域を割り当てることができず、複数の自走式掃除機を適切に協調させることができないという課題がある。また、サーバと自走式掃除機との通信が途絶えてしまった場合には、サーバは、通信が途絶えた自走式掃除機のタスクの進捗状況を把握することができなくなり、複数の自走式掃除機を適切に協調させることができなくなる。
以上から、サーバなどの中央装置による中央制御を行わないで複数の自走式掃除機すなわち自律移動ロボットを協調させる方法が求められる。すなわち、各自律移動ロボットが、自身の周りの自律移動ロボットとお互いに情報をやりとりしながら、自身の周りの自律移動ロボットと協調することにより、複数の自律移動ロボットで構成されるシステム全体を協調させる方法が求められる。
このような構成を実現できると、システム全体を把握する中央装置を用いないため、中央装置を構築する必要がなく、中央装置を構築するためのコストが抑制できる。さらに、たとえ、1台の自律移動ロボットが故障等で動作不能になったとしても、システム全体で協調動作が機能しなくなることはない。
特許文献2には、中央装置を構築する必要のないシステム構成が開示されている。特許文献2には、サーバなどの中央制御による協調ではなく、各自律移動ロボットが、自身の周りの自律移動ロボットとお互いに情報をやりとりしながら、自身の周りの自律移動ロボットと協調することにより、システム全体を協調させる方法が開示されている。特許文献2には、サーバと複数の自律移動ロボットとから構成されるシステムが開示されているが、複数の自律移動ロボットは、サーバから命令を受信するだけであり、サーバからの命令を受信した後は、複数の自律移動ロボットが互いに情報を送受信して、協調しながらタスクを実行する。特許文献2における複数の自律移動ロボットは、他の自律移動ロボットと協調してタスクを実行する場合、通信範囲にいる他の自律移動ロボットと通信を行い、お互いに、自身の位置情報又はタスクの進捗情報などを交換し、それらの情報に基づいて、お互いに協調してタスクを実行している。
ところで、自走式掃除機などの自律移動ロボットが移動すると当該自律移動ロボットの通信範囲は変化する。そのため、自律移動ロボットの移動により自律移動ロボットと通信可能な他の自律移動ロボットが変化する場合がある。この場合、自律移動ロボットが移動することにより、自律移動ロボットが取得できる他の自律移動ロボットの情報は変化する。
例えば、自律移動ロボットAが移動することにより、当該自律移動ロボットAは、移動前は通信可能であった他の自律移動ロボットBと通信ができなくなってしまう場合がある。この場合、自律移動ロボットAは自律移動ロボットBからの情報を取得できない。また、例えば、自律移動ロボットAが移動することにより、当該自律移動ロボットAは、移動前は通信不可能であった他の自律移動ロボットCと通信可能となる場合もある。この場合、当該自律移動ロボットAは、自律移動ロボットCからの情報を新たに取得できるようになる。
各自律移動ロボットが、お互いの情報をやりとりしながら、周りの自律移動ロボットと協調する方法の場合、各自律移動ロボットは、周りの自律移動ロボットの情報のみを用いて、協調を行う。つまり、各自律移動ロボットは、システムを構成する全ての自律移動ロボットの情報を用いることはできず、自身の周りの自律移動ロボットの情報のみを用いて協調を行う。そのため、各自律移動ロボットは、システム全体からみて必ずしも最適な協調を行うことはできない。より最適な協調を行うためには、各自律移動ロボットが、より多くの自律移動ロボットの情報を用いて協調を行うようにすることが望まれる。特に、自走式掃除機のように自律移動ロボットが移動する場合、自律移動ロボットの移動に伴い、当該自律移動ロボットが取得できる他の自律移動ロボットの情報が動的に変化する。そのため、取得できる他の自律移動ロボットの情報が動的に変化することを考慮しながら、より多くの他の自律移動ロボットの情報を用いて、より最適な協調を行うことが望まれる。
しかしながら、上記の特許文献2では、自律移動ロボットの移動に伴い、当該自律移動ロボットが取得できる他の自律移動ロボットの情報が動的に変化することについては、何の示唆もされていない。上記の特許文献2では、全ての自律移動ロボットが互いに通信可能であることが前提となっており、自律移動ロボットの移動により、当該自律移動ロボットの通信範囲が変化し、当該自律移動ロボットが取得できる他の自律移動ロボットのタスクに関する情報が変化することについては、何の考慮もされていない。
このような課題を解決するために、本開示の一態様に係る移動制御方法は、所定のタスクを実行する複数の自律移動ロボットを備える自律移動制御システムにおける移動制御方法であって、前記複数の自律移動ロボットは、第1の自律移動ロボットと、前記第1の自律移動ロボットと通信する第2の自律移動ロボットとを含み、前記第1の自律移動ロボットが、前記第1の自律移動ロボットの現在位置が前記タスクを実行するのに適した位置である度合いを示す第1の確信度を算出する確信度算出ステップと、前記第1の自律移動ロボットが、前記第2の自律移動ロボットの現在位置が前記タスクを実行するのに適した位置である度合いを示す第2の確信度を前記第2の自律移動ロボットから受信する受信ステップと、前記第1の自律移動ロボットが、前記第1の自律移動ロボットの前記第1の確信度と、前記第2の自律移動ロボットの前記第2の確信度と、前記第2の自律移動ロボットの現在位置とに基づいて、前記第1の自律移動ロボットの移動すべき移動ベクトルを算出するベクトル算出ステップと、前記第1の自律移動ロボットが、前記移動ベクトルに基づいて前記第1の自律移動ロボットの移動を制御する移動制御ステップと、を含む。
この構成によれば、複数の自律移動ロボットは、第1の自律移動ロボットと、第1の自律移動ロボットと通信する第2の自律移動ロボットとを含む。第1の自律移動ロボットによって、第1の自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第1の確信度が算出される。第1の自律移動ロボットによって、第2の自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第2の確信度が第2の自律移動ロボットから受信される。第1の自律移動ロボットによって、第1の自律移動ロボットの第1の確信度と、第2の自律移動ロボットの第2の確信度と、第2の自律移動ロボットの現在位置とに基づいて、第1の自律移動ロボットの移動すべき移動ベクトルが算出される。第1の自律移動ロボットによって、移動ベクトルに基づいて第1の自律移動ロボットの移動が制御される。
したがって、第1の自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第1の確信度と、第2の自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第2の確信度と、第2の自律移動ロボットの現在位置とに基づいて、第1の自律移動ロボットの移動すべき移動ベクトルが算出されるので、複数の自律移動ロボットのそれぞれはタスクを実行するのにより適した位置へ移動することになり、複数の自律移動ロボットのそれぞれがより効率的にタスクを実行することができる。
また、上記の移動制御方法において、前記ベクトル算出ステップは、前記第1の自律移動ロボットが、前記第1の自律移動ロボットの現在位置から前記第2の自律移動ロボットの現在位置へ向かう方向を算出する方向算出ステップと、前記第1の自律移動ロボットが、前記第1の自律移動ロボットと前記第2の自律移動ロボットとの間の距離を算出する距離算出ステップと、前記第1の自律移動ロボットが、前記第1の自律移動ロボットの前記第1の確信度と、前記第2の自律移動ロボットの前記第2の確信度と、前記第2の自律移動ロボットの前記方向と、前記第2の自律移動ロボットの前記距離とに基づいて、前記第1の自律移動ロボットの前記移動ベクトルを算出する移動ベクトル算出ステップと、を含んでもよい。
この構成によれば、第1の自律移動ロボットによって、第1の自律移動ロボットの現在位置から第2の自律移動ロボットの現在位置へ向かう方向が算出される。第1の自律移動ロボットによって、第1の自律移動ロボットと第2の自律移動ロボットとの間の距離が算出される。第1の自律移動ロボットによって、第1の自律移動ロボットの第1の確信度と、第2の自律移動ロボットの第2の確信度と、第2の自律移動ロボットの方向と、第2の自律移動ロボットの距離とに基づいて、第1の自律移動ロボットの移動ベクトルが算出される。
したがって、第1の自律移動ロボットの第1の確信度と、第2の自律移動ロボットの第2の確信度と、第1の自律移動ロボットの現在位置から第2の自律移動ロボットの現在位置へ向かう方向と、第1の自律移動ロボットと第2の自律移動ロボットとの間の距離とに基づいて、第1の自律移動ロボットの移動ベクトルを算出することができる。
また、上記の移動制御方法において、前記受信ステップにおいて、前記第1の自律移動ロボットが、前記第2の自律移動ロボットから発光された、前記第2の確信度を含む光信号を光センサにより受光し、前記方向算出ステップにおいて、前記第1の自律移動ロボットが、前記光センサにより受光した前記光信号が発光された方向に基づいて、前記第1の自律移動ロボットの現在位置から前記第2の自律移動ロボットの現在位置へ向かう方向を算出し、前記距離算出ステップにおいて、前記第1の自律移動ロボットが、前記光センサにより受光した前記光信号の信号強度に基づいて、前記第1の自律移動ロボットと前記第2の自律移動ロボットとの間の距離を算出してもよい。
この構成によれば、第2の自律移動ロボットから発光された、第2の確信度を含む光信号が光センサにより受光される。光センサにより受光された光信号が発光された方向に基づいて、第1の自律移動ロボットの現在位置から第2の自律移動ロボットの現在位置へ向かう方向が算出される。光センサにより受光された光信号の信号強度に基づいて、第1の自律移動ロボットと第2の自律移動ロボットとの間の距離が算出される。
したがって、光信号が発光された方向に基づいて、第1の自律移動ロボットの現在位置から第2の自律移動ロボットの現在位置へ向かう方向を容易に算出することができ、受光された光信号の信号強度に基づいて、第1の自律移動ロボットと第2の自律移動ロボットとの間の距離を容易に算出することができる。
また、上記の移動制御方法において、前記受信ステップにおいて、前記第1の自律移動ロボットが、前記第2の確信度と共に、前記第2の自律移動ロボットの現在位置を示す位置情報を前記第2の自律移動ロボットから受信し、前記ベクトル算出ステップにおいて、前記第1の自律移動ロボットが、前記第1の自律移動ロボットの前記第1の確信度と、前記第2の自律移動ロボットの前記第2の確信度と、前記第2の自律移動ロボットの前記位置情報で示される前記現在位置とに基づいて、前記第1の自律移動ロボットの前記移動ベクトルを算出してもよい。
この構成によれば、第2の確信度と共に、第2の自律移動ロボットの現在位置を示す位置情報が第2の自律移動ロボットから受信される。第1の自律移動ロボットの第1の確信度と、第2の自律移動ロボットの第2の確信度と、第2の自律移動ロボットの位置情報で示される現在位置とに基づいて、第1の自律移動ロボットの移動ベクトルが算出される。
したがって、第1の自律移動ロボットの第1の確信度と、第2の自律移動ロボットの第2の確信度と、第2の自律移動ロボットから受信された位置情報で示される現在位置とに基づいて、第1の自律移動ロボットの移動ベクトルを算出することができる。
また、上記の移動制御方法において、前記第1の自律移動ロボットが、算出した前記第1の確信度を、前記第2の自律移動ロボットに送信する送信ステップをさらに含んでもよい。
この構成によれば、第1の自律移動ロボットによって、算出された第1の確信度が、第2の自律移動ロボットに送信されるので、第2の自律移動ロボットにおいても、第1の自律移動ロボットと同様に、第2の自律移動ロボットの移動ベクトルを算出することができ、第1の自律移動ロボットと協調してタスクを実行することができる。
また、上記の移動制御方法において、前記第1の自律移動ロボットが、前記第1の自律移動ロボットの現在位置におけるごみの量を検出する検出ステップをさらに含み、前記確信度算出ステップにおいて、前記第1の自律移動ロボットが、前記第1の自律移動ロボットの現在位置での前記ごみの量に基づいて前記第1の自律移動ロボットの前記第1の確信度を算出し、前記第2の確信度は、前記第2の自律移動ロボットの現在位置での前記ごみの量に基づいて算出され、前記第1の確信度の値及び前記第2の確信度の値は、前記ごみの量が多いほど大きくなってもよい。
この構成によれば、第1の自律移動ロボットによって、第1の自律移動ロボットの現在位置におけるごみの量が検出される。第1の自律移動ロボットの現在位置でのごみの量に基づいて第1の自律移動ロボットの第1の確信度が算出される。第2の確信度は、第2の自律移動ロボットの現在位置でのごみの量に基づいて算出される。第1の確信度の値及び第2の確信度の値は、ごみの量が多いほど大きくなる。
したがって、第1の確信度の値及び第2の確信度の値は、ごみの量が多いほど大きくなるので、第1の自律移動ロボットで検出されるごみの量が多くなると、第1の自律移動ロボットは現在位置にいるように制御され、掃除するというタスクを確実に実行することができる。また、第1の自律移動ロボットで検出されるごみの量が多くなると、第2の自律移動ロボットが第1の自律移動ロボットに近づくように制御されるので、第1の自律移動ロボットと第2の自律移動ロボットとが、掃除するというタスクを効率的に実行することができる。
また、上記の移動制御方法において、前記第1の自律移動ロボットが、前記第1の自律移動ロボットの現在位置に人がいる尤度を検出する検出ステップをさらに含み、前記確信度算出ステップにおいて、前記第1の自律移動ロボットが、前記尤度に基づいて前記第1の自律移動ロボットの前記第1の確信度を算出し、前記第2の確信度は、前記第2の自律移動ロボットの現在位置に人がいる尤度に基づいて算出され、前記第1の確信度の値及び前記第2の確信度の値は、前記尤度が大きいほど大きくなってもよい。
この構成によれば、第1の自律移動ロボットによって、第1の自律移動ロボットの現在位置に人がいる尤度が検出される。尤度に基づいて第1の自律移動ロボットの第1の確信度が算出される。第2の確信度は、第2の自律移動ロボットの現在位置に人がいる尤度に基づいて算出される。第1の確信度の値及び第2の確信度の値は、尤度が大きいほど大きくなる。
したがって、第1の確信度の値は、第1の自律移動ロボットの現在位置に人がいる尤度が大きいほど大きくなり、第2の確信度の値は、第2の自律移動ロボットの現在位置に人がいる尤度が大きいほど大きくなるので、第1の自律移動ロボットの現在位置に人がいる尤度が大きくなると、第1の自律移動ロボットは現在位置にいるように制御され、人を探索するというタスクを確実に実行することができる。また、第1の自律移動ロボットで検出される現在位置に人がいる尤度が大きくなると、第2の自律移動ロボットが第1の自律移動ロボットに近づくように制御されるので、第1の自律移動ロボットと第2の自律移動ロボットとが、人を探索するというタスクを効率的に実行することができる。
また、上記の移動制御方法において、前記複数の自律移動ロボットは、前記第1の自律移動ロボットと通信する第3の自律移動ロボットをさらに含み、前記受信ステップにおいて、前記第1の自律移動ロボットが、前記第3の自律移動ロボットの現在位置が前記タスクを実行するのに適した位置である度合いを示す第3の確信度を前記第3の自律移動ロボットから受信し、前記ベクトル算出ステップにおいて、前記第1の自律移動ロボットが、前記第1の自律移動ロボットの前記第1の確信度と、前記第2の自律移動ロボットの前記第2の確信度と、前記第2の自律移動ロボットの現在位置とに基づいて、前記第1の自律移動ロボットの移動すべき第1の個別ベクトルを算出し、前記第1の自律移動ロボットの前記第1の確信度と、前記第3の自律移動ロボットの前記第3の確信度と、前記第3の自律移動ロボットの現在位置とに基づいて、前記第1の自律移動ロボットの移動すべき第2の個別ベクトルを算出し、前記第1の個別ベクトルと前記第2の個別ベクトルとの和を前記移動ベクトルとして算出し、前記第1の個別ベクトルの大きさは、前記第2の自律移動ロボットの前記第2の確信度が大きいほど大きくなり、且つ、前記第1の自律移動ロボットと前記第2の自律移動ロボットとの間の距離が大きいほど小さくなり、前記第2の個別ベクトルの大きさは、前記第3の自律移動ロボットの前記第3の確信度が大きいほど大きくなり、且つ、前記第1の自律移動ロボットと前記第3の自律移動ロボットとの間の距離が大きいほど小さくなり、前記第1の個別ベクトルの方向は、前記第1の自律移動ロボットの現在位置から前記第2の自律移動ロボットへ向かう方向であり、前記第2の個別ベクトルの方向は、前記第1の自律移動ロボットの現在位置から前記第3の自律移動ロボットへ向かう方向であってもよい。
この構成によれば、複数の自律移動ロボットは、第1の自律移動ロボットと通信する第3の自律移動ロボットをさらに含む。第3の自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第3の確信度が第3の自律移動ロボットから受信される。第1の自律移動ロボットの第1の確信度と、第2の自律移動ロボットの第2の確信度と、第2の自律移動ロボットの現在位置とに基づいて、第1の自律移動ロボットの移動すべき第1の個別ベクトルが算出される。第1の自律移動ロボットの第1の確信度と、第3の自律移動ロボットの第3の確信度と、第3の自律移動ロボットの現在位置とに基づいて、第1の自律移動ロボットの移動すべき第2の個別ベクトルが算出される。第1の個別ベクトルと第2の個別ベクトルとの和が移動ベクトルとして算出される。第1の個別ベクトルの大きさは、第2の自律移動ロボットの第2の確信度が大きいほど大きくなり、且つ、第1の自律移動ロボットと第2の自律移動ロボットとの間の距離が大きいほど小さくなる。第2の個別ベクトルの大きさは、第3の自律移動ロボットの第3の確信度が大きいほど大きくなり、且つ、第1の自律移動ロボットと第3の自律移動ロボットとの間の距離が大きいほど小さくなる。第1の個別ベクトルの方向は、第1の自律移動ロボットの現在位置から第2の自律移動ロボットへ向かう方向である。第2の個別ベクトルの方向は、第1の自律移動ロボットの現在位置から第3の自律移動ロボットへ向かう方向である。
したがって、確信度が大きい自律移動ロボットの位置へ周囲の複数の自律移動ロボットが近づくので、複数の自律移動ロボットが協調して効率的にタスクを実行することができる。
本開示の他の態様に係る自律移動制御システムは、所定のタスクを実行する複数の自律移動ロボットを備える自律移動制御システムであって、第1の自律移動ロボットと、前記第1の自律移動ロボットと通信する第2の自律移動ロボットとを備え、前記第2の自律移動ロボットは、前記第2の自律移動ロボットの現在位置が前記タスクを実行するのに適した位置である度合いを示す確信度を算出する確信度算出部と、前記第2の自律移動ロボットの前記確信度を、前記第1の自律移動ロボットに送信する送信部と、を備え、前記第1の自律移動ロボットは、前記第1の自律移動ロボットの現在位置が前記タスクを実行するのに適した位置である度合いを示す第1の確信度を算出する確信度算出部と、前記第2の自律移動ロボットによって送信された前記確信度を第2の確信度として受信する受信部と、前記第1の自律移動ロボットの前記第1の確信度と、前記第2の自律移動ロボットの前記第2の確信度と、前記第2の自律移動ロボットの現在位置とに基づいて、前記第1の自律移動ロボットの移動すべき移動ベクトルを算出するベクトル算出部と、前記移動ベクトルに基づいて前記第1の自律移動ロボットの移動を制御する移動制御部と、を備える。
この構成によれば、第2の自律移動ロボットの確信度算出部によって、第2の自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す確信度が算出される。第2の自律移動ロボットの送信部によって、第2の自律移動ロボットの確信度が、第1の自律移動ロボットに送信される。第1の自律移動ロボットの確信度算出部によって、第1の自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第1の確信度が算出される。第1の自律移動ロボットの受信部によって、第2の自律移動ロボットによって送信された確信度が第2の確信度として受信される。第1の自律移動ロボットのベクトル算出部によって、第1の自律移動ロボットの第1の確信度と、第2の自律移動ロボットの第2の確信度と、第2の自律移動ロボットの現在位置とに基づいて、第1の自律移動ロボットの移動すべき移動ベクトルが算出される。第1の自律移動ロボットの移動制御部によって、移動ベクトルに基づいて第1の自律移動ロボットの移動が制御される。
したがって、第1の自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第1の確信度と、第2の自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第2の確信度と、第2の自律移動ロボットの現在位置とに基づいて、第1の自律移動ロボットの移動すべき移動ベクトルが算出されるので、複数の自律移動ロボットのそれぞれはタスクを実行するのにより適した位置へ移動することになり、複数の自律移動ロボットのそれぞれがより効率的にタスクを実行することができる。
本開示の他の態様に係る自律移動ロボットは、通信対象である通信対象自律移動ロボットと通信する、所定のタスクを実行する自律移動ロボットであって、前記自律移動ロボットの現在位置が前記タスクを実行するのに適した位置である度合いを示す第1の確信度を算出する確信度算出部と、前記通信対象自律移動ロボットの現在位置が前記タスクを実行するのに適した位置である度合いを示す第2の確信度を前記通信対象自律移動ロボットから受信する受信部と、前記自律移動ロボットの前記第1の確信度と、前記通信対象自律移動ロボットの前記第2の確信度と、前記通信対象自律移動ロボットの現在位置とに基づいて、前記自律移動ロボットの移動すべき移動ベクトルを算出する算出部と、前記移動ベクトルに基づいて前記自律移動ロボットの移動を制御する移動制御部と、を備える。
この構成によれば、確信度算出部によって、自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第1の確信度が算出される。受信部によって、通信対象自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第2の確信度が通信対象自律移動ロボットから受信される。算出部によって、自律移動ロボットの第1の確信度と、通信対象自律移動ロボットの第2の確信度と、通信対象自律移動ロボットの現在位置とに基づいて、自律移動ロボットの移動すべき移動ベクトルが算出される。移動制御部によって、移動ベクトルに基づいて自律移動ロボットの移動が制御される。
したがって、第1の自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第1の確信度と、第2の自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第2の確信度と、第2の自律移動ロボットの現在位置とに基づいて、第1の自律移動ロボットの移動すべき移動ベクトルが算出されるので、複数の自律移動ロボットのそれぞれはタスクを実行するのにより適した位置へ移動することになり、複数の自律移動ロボットのそれぞれがより効率的にタスクを実行することができる。
本開示の他の態様に係る自律移動制御プログラムは、通信対象である通信対象自律移動ロボットと通信する、所定のタスクを実行する自律移動ロボットの自律移動制御プログラムであって、前記自律移動ロボットが備えるコンピュータを、前記自律移動ロボットの現在位置が前記タスクを実行するのに適した位置である度合いを示す第1の確信度を算出する確信度算出部と、前記通信対象自律移動ロボットの現在位置が前記タスクを実行するのに適した位置である度合いを示す第2の確信度を前記通信対象自律移動ロボットから受信する受信部と、前記自律移動ロボットの前記第1の確信度と、前記通信対象自律移動ロボットの前記第2の確信度と、前記通信対象自律移動ロボットの現在位置とに基づいて、前記自律移動ロボットの移動すべき移動ベクトルを算出する算出部と、前記移動ベクトルに基づいて前記自律移動ロボットの移動を制御する移動制御部として機能させる。
この構成によれば、確信度算出部によって、自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第1の確信度が算出される。受信部によって、通信対象自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第2の確信度が通信対象自律移動ロボットから受信される。算出部によって、自律移動ロボットの第1の確信度と、通信対象自律移動ロボットの第2の確信度と、通信対象自律移動ロボットの現在位置とに基づいて、自律移動ロボットの移動すべき移動ベクトルが算出される。移動制御部によって、移動ベクトルに基づいて自律移動ロボットの移動が制御される。
したがって、第1の自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第1の確信度と、第2の自律移動ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す第2の確信度と、第2の自律移動ロボットの現在位置とに基づいて、第1の自律移動ロボットの移動すべき移動ベクトルが算出されるので、複数の自律移動ロボットのそれぞれはタスクを実行するのにより適した位置へ移動することになり、複数の自律移動ロボットのそれぞれがより効率的にタスクを実行することができる。
なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD−ROM等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。
以下、本開示の一態様に係る移動制御方法等について、図面を参照しながら説明する。
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素又は構成要素の配置位置などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
[自律移動ロボットの全体図]
本実施の形態1においては、移動しながら吸引清掃を行う掃除ロボットを自律移動ロボットの一例として説明する。複数の自律移動ロボットを備えた自律移動制御システムが実行するタスクは、所定の領域に対する吸引清掃である。
図1は、本開示の実施の形態1における掃除ロボットの構成の一例を示す全体図である。
掃除ロボット1は、図1に示すように、ごみ吸い込み口12、駆動輪13、受発光部14、ごみセンサ101、接近センサ102及び接触センサ103を少なくとも備える。なお、掃除ロボット1は、これらの構成要素以外に、ごみ吸引部、ごみ蓄積部及びバッテリなども備えるが、ここで説明する自律移動制御には関連しないため省略する。
ごみ吸い込み口12は、掃除ロボット1の底部に形成された開口部である。ごみ吸引部による吸引又はブラシによる掃き出しにより、ごみ吸い込み口12からごみが掃除ロボット1内部に吸引される。
駆動輪13は、掃除ロボット1を移動させるための駆動輪である。駆動輪13は、掃除ロボット1の底部に設置されている。
受発光部14は、赤外光を発光するとともに、赤外光を受光することにより、他の掃除ロボットと赤外光通信を行う。受発光部14は、掃除ロボット1の上面に設置され、掃除ロボット1の全周囲に対して赤外光を発光するとともに、掃除ロボット1の全周囲からの赤外光を受光する。
ごみセンサ101は、例えば、光センサであり、掃除ロボット1が吸引するごみの量を検知する。ごみセンサ101は、掃除ロボット1の現在位置におけるごみの量を検出する。ごみセンサ101は、ごみ吸い込み口12とごみ蓄積部との間の掃除ロボット1の内部に設置されている。例えば、ごみセンサ101は、ごみ吸い込み口12を通過したゴミの数をカウントする。
接近センサ102は、例えば、超音波センサであり、掃除ロボット1が壁又は家具などの障害物に接近したことを検知する。接近センサ102は、駆動輪13による移動の進行方向を基準とした、掃除ロボット1の前部に設置されている。
接触センサ103は、例えば、電気スイッチであり、掃除ロボット1が壁又は家具などの障害物に接触したことを検知する。接触センサ103は、駆動輪13による移動の進行方向を基準とした、掃除ロボット1の最前部に設置されている。
[自律移動ロボットの機能構成]
図2は、本開示の実施の形態1における掃除ロボット1の構成の一例を示すブロック図である。
掃除ロボット1は、図2に示すように、ごみセンサ101、接近センサ102、接触センサ103、駆動部104、受光部105、発光部106及び制御部11を備える。
ごみセンサ101、接近センサ102及び接触センサ103については、図1の全体図で説明したので説明を省略する。
駆動部104は、掃除ロボット1を移動させるためのモータ又は駆動輪13などにより構成され、制御部11からの指示に基づいて掃除ロボット1を移動させる。
受光部105は、受発光部14内にあり、他の掃除ロボットからの赤外光信号を受信する。発光部106は、受発光部14内にあり、他の掃除ロボットに赤外光信号を発信する。
制御部11は、掃除ロボット1の移動を制御し、複数の構成要素からなる。例えば、プロセッサと、プログラムを記憶したメモリとを備えた情報処理装置が、制御部11として動作する。
制御部11は、確信度算出部111、方向算出部112、距離算出部113、移動ベクトル算出部114及び移動制御部115を備える。
確信度算出部111は、掃除ロボット1の現在位置がタスクを実行するのに適した位置である度合いを示す確信度を算出する。確信度算出部111は、ごみセンサ101により検知されたごみの量に基づいて、掃除ロボット1の現在位置がごみの吸引清掃に適した位置である度合いを示す確信度を算出する。確信度の値は、現在位置がタスクを実行するのに適した位置であるほど増加する。掃除ロボット1の確信度の値及び他の掃除ロボットの確信度の値は、ごみの量が多いほど大きくなる。なお、確信度の算出方法については後述する。
発光部106は、確信度算出部111によって算出された確信度を、他の掃除ロボットに送信する。すなわち、発光部106が発光する赤外光信号には、確信度算出部111によって算出された確信度が含まれる。
また、受光部105は、他の掃除ロボットの現在位置がタスクを実行するのに適した位置である度合いを示す確信度を他の掃除ロボットから受信する。すなわち、受光部105が受光する赤外光信号には、他の掃除ロボットによって送信された確信度が含まれる。受光部105は、他の掃除ロボットから発光された、確信度を含む赤外光信号を光センサにより受光する。
方向算出部112は、掃除ロボット1の現在位置から他の掃除ロボットの現在位置へ向かう方向を算出する。方向算出部112は、受光部105により受光した他の掃除ロボットからの赤外光信号が発光された方向に基づいて、掃除ロボット1の現在位置から他の掃除ロボットの現在位置へ向かう方向を算出する。
距離算出部113は、掃除ロボット1と他の掃除ロボットとの間の距離を算出する。距離算出部113は、受光部105により受光した他の掃除ロボットからの赤外光信号の信号強度に基づいて、掃除ロボット1と他の掃除ロボットとの間の距離を算出する。
移動ベクトル算出部114は、掃除ロボット1の確信度と、他の掃除ロボットの確信度と、他の掃除ロボットの現在位置とに基づいて、掃除ロボット1の移動すべき移動ベクトルを算出する。移動ベクトル算出部114は、確信度算出部111によって算出された確信度と、受光部105によって受信した他の掃除ロボットの確信度と、他の掃除ロボットの方向と、他の掃除ロボットの距離とに基づいて、掃除ロボット1を移動させる方向と速度とからなる移動ベクトルを算出する。
移動制御部115は、移動ベクトル算出部114によって算出された移動ベクトルに基づいて、駆動部104を制御する。移動制御部115は、移動ベクトルに基づいて掃除ロボット1の移動を制御する。
図3は、掃除ロボット1が複数の他の掃除ロボットと通信しながら移動してタスクを実行する様子を示す模式図である。図3において、部屋15は、掃除ロボット1がタスクを実行する領域である。部屋15内の複数の掃除ロボットは、部屋15の床面に存在するごみを吸引することにより、互いに協調して部屋15の床面を掃除する。破線16は、掃除ロボット1が他の掃除ロボットと通信していることを示している。
掃除ロボット1は、複数の他の掃除ロボットが発信した赤外光信号を受信する。また、掃除ロボット1は、不特定な対象である複数の他の掃除ロボットに向けて赤外光信号を発信する。図3においては、掃除ロボット1は複数の他の掃除ロボット全てと通信している様子を示しているが、掃除ロボット間に障害物がある場合、又は掃除ロボット間の距離が大きい場合などは、必ずしも全ての掃除ロボットと通信を行えるとは限らず、通信可能な他の掃除ロボットが最も少ない場合には、他の掃除ロボットと全く通信が行えない場合もある。
なお、図3においては、掃除ロボット1と他の掃除ロボットとの間の通信のみを図示しているが、他の掃除ロボット同士も同様に通信を行っている。
以上のように構成された実施の形態1の掃除ロボット1の動作を図4のフローチャートにしたがって説明する。
図4は、本実施の形態1における掃除ロボットの動作を説明するためのフローチャートである。
まず、ステップS101において、ごみセンサ101は、掃除ロボット1が現在位置で吸引した単位時間当たりのごみの量dを検出する。
次に、ステップS102において、確信度算出部111は、ごみセンサ101によって検出されたごみの量dから、現在位置がタスクを実行するのに適した位置であるかを示す確信度cを下記の式(1)を用いて算出する。
c=max(1,k×d)・・・(1)
上記の式(1)において、kは係数である。なお、ごみの量dに応じて増加する関数であれば、式(1)に限定するものではない。
次に、ステップS103において、発光部106は、確信度算出部111によって算出された確信度cを他の掃除ロボットへ送信する。発光部106は、赤外光を用いて確信度を送信し、全方向に発光することで不特定多数の他の掃除ロボットに、確信度を含む赤外光信号をブロードキャストする。なお、赤外光信号は、確信度に加えて掃除ロボットを識別するための識別情報を含んでもよい。
次に、ステップS104において、受光部105は、赤外光信号を受光することにより、他の掃除ロボットから確信度を受信する。複数の他の掃除ロボットから赤外光信号を受信できる場合は、受光部105は、複数の赤外光信号を受信する。この場合、受光部105は、送信元である複数の他の掃除ロボットを特定しないが、複数の赤外光信号を区別する。ここでは、i番目に受信した赤外光信号をs(i)とし、赤外光信号s(i)により受信した他の掃除ロボットの確信度をc(i)とする。なお、赤外光信号を受信可能な範囲内に他の掃除ロボットが存在しない場合又は他の掃除ロボットとの間に障害物がある場合など、受光部105は、赤外光信号を受光できなくてもよい。
次に、ステップS105において、方向算出部112は、赤外光信号s(i)が発信された方向を示す単位ベクトルA(i)を算出する。方向の算出は、例えば、受光部105が、指向性を有する複数の光センサで構成されることにより、複数の光センサ間の赤外光信号の信号強度の偏りに基づいて、発信された方向を算出する。
次に、ステップS106において、距離算出部113は、掃除ロボット1と、赤外光信号s(i)を発信した他の掃除ロボットとの間の距離r(i)を算出する。距離算出部113は、例えば、受光部105で受光する赤外光信号の信号強度により距離を算出する。すなわち、距離算出部113は、赤外光信号の信号強度と距離とを対応付けたテーブル又は関数を予め記憶しており、テーブル又は関数を用いて赤外光信号の信号強度に対応付けられている距離を算出する。
次に、ステップS107において、移動ベクトル算出部114は、確信度算出部111によって算出された確信度cと、赤外光信号s(i)から得られた確信度c(i)と、方向の単位ベクトルA(i)と、距離r(i)とから、掃除ロボット1を移動させる移動ベクトルR(i)を下記の式(2)を用いて算出する。
次に、ステップS108において、移動制御部115は、移動ベクトル算出部114によって算出された移動ベクトルの向き及び大きさに応じて、掃除ロボット1の移動する向き及び速度を制御し、掃除ロボット1を移動させる。
すなわち、掃除ロボット1は、赤外光信号s(i)に含まれる確信度c(i)が大きければ大きいほど、赤外光信号s(i)の方向に引っ張られる。また、掃除ロボット1は、掃除ロボット1と赤外光信号s(i)を発信した他の掃除ロボットとの間の距離r(i)が近ければ近いほど、赤外光信号s(i)の方向に引っ張られる。更に、掃除ロボット1は、自身の確信度cが大きければ大きいほど、引っ張られる度合いは小さくなるように移動制御される。
ここで、掃除ロボット1が、複数の他の掃除ロボットと協調して移動する動作について図3を用いて説明する。
図3に示すように、掃除ロボット1(第1の自律移動ロボット)の受光部105は、掃除ロボット121(第2の自律移動ロボット)の現在位置がタスクを実行するのに適した位置である度合いを示す確信度を掃除ロボット121から受信するとともに、掃除ロボット122(第3の自律移動ロボット)の現在位置が前記タスクを実行するのに適した位置である度合いを示す確信度を掃除ロボット122から受信する。
移動ベクトル算出部114は、掃除ロボット1の確信度と、掃除ロボット121の確信度と、掃除ロボット121の現在位置とに基づいて、掃除ロボット1の移動すべき第1の個別ベクトルを算出する。また、移動ベクトル算出部114は、掃除ロボット1の確信度と、掃除ロボット122の確信度と、掃除ロボット122の現在位置とに基づいて、掃除ロボット1の移動すべき第2の個別ベクトルを算出する。そして、移動ベクトル算出部114は、第1の個別ベクトルと第2の個別ベクトルとの和を移動ベクトルとして算出する。
ここで、第1の個別ベクトルの大きさは、掃除ロボット121の確信度が大きいほど大きくなり、且つ、掃除ロボット1と掃除ロボット121との間の距離が大きいほど小さくなる。また、第2の個別ベクトルの大きさは、掃除ロボット122の確信度が大きいほど大きくなり、且つ、掃除ロボット1と掃除ロボット122との間の距離が大きいほど小さくなる。第1の個別ベクトルの方向は、掃除ロボット1の現在位置から掃除ロボット121へ向かう方向であり、第2の個別ベクトルの方向は、掃除ロボット1の現在位置から掃除ロボット122へ向かう方向である。
次に、ステップS109において、接近センサ102は、掃除ロボット1が壁又は家具などの障害物に接近したことを超音波センサなどにより検知し、接触センサ103は、接近センサ102が障害物への接近を検知できずに、掃除ロボット1が壁又は家具などの障害物に接触したことを電気スイッチなどにより検知する。
次に、ステップS110において、移動制御部115は、接近センサ102による障害物への接近、又は接触センサによる障害物への接触が検知されたか否かを判断する。ここで、接近又は接触が検知されたと判断された場合(ステップS110でYES)、ステップS111において、移動制御部115は、障害物への衝突を回避する方向に掃除ロボット1の向きを変化させ、掃除ロボット1を移動させる。その後、ステップS101の処理に戻る。
一方、接近又は接触が検知されなかったと判断された場合(ステップS110でNO)、ステップS112において、移動制御部115は、掃除ロボット1が動作を開始してから所定の時間が経過したか否かを判断する。ここで、所定の時間が経過したと判断された場合(ステップS112でYES)、移動制御部115は、動作を終了する。このとき、移動制御部115は、例えば掃除ロボット1が動作を開始した位置(充電位置)に戻るように掃除ロボット1を移動させてもよい。一方、所定の時間が経過していないと判断された場合(ステップS112でNO)、ステップS101の処理に戻る。
以上の動作により、複数の自律移動ロボットで協調して所定のタスクを実行する自律移動制御システムにおいて、他の自律移動ロボットの位置とタスクに関する情報とを用いて、システム全体でより効率的にタスクを実行することができる。特に、現在位置がタスクを実行するのに適した位置である度合いを示す確信度を、複数の自律移動ロボット間で送受信することで、各自律移動ロボットが、タスクを実行するのにより適した位置の方向へ移動し、所定のタスクを実行することができる。これにより、システム全体でより効率的にタスクを実行することができる。
なお、本実施の形態1では、自律移動制御システムは、複数の掃除ロボットを備えているが、本開示は特にこれに限定されず、自律移動制御システムは、複数の掃除ロボットと、複数の掃除ロボットの少なくとも1つと通信可能に接続されたサーバとを備えてもよい。
この場合、掃除ロボットは、ごみセンサ101、接近センサ102、接触センサ103、駆動部104、受光部105、発光部106及び制御部11に加えて、通信部を備える。制御部11は、確信度算出部111、方向算出部112、距離算出部113及び移動制御部115を備える。サーバは、通信部及び制御部を備える。サーバの制御部は、移動ベクトル算出部114を備える。掃除ロボットの通信部は、他の掃除ロボットの確信度と、他の掃除ロボットの方向と、他の掃除ロボットの距離とをサーバに送信する。また、掃除ロボットの通信部は、算出された移動ベクトルをサーバから受信する。サーバの通信部は、他の掃除ロボットの確信度と、他の掃除ロボットの方向と、他の掃除ロボットの距離とを掃除ロボットから受信する。また、サーバの通信部は、算出された移動ベクトルを掃除ロボットに送信する。
(実施の形態2)
[自律移動ロボットの全体図]
実施の形態1では、掃除ロボットを自律移動ロボットの一例として説明した。本実施の形態2においては、地震又は水害などの被災地において、被災者を探索する無人飛行体を自律移動ロボットの一例として説明する。複数の自律移動ロボットを備えた自律移動制御システムが実行するタスクは、所定の領域に対する被災者の探索である。
図5は、本開示の実施の形態2における無人飛行体の構成の一例を示す全体図である。
無人飛行体2は、図5に示すように、4つのロータ22、人感センサ201及び位置センサ202を少なくとも備える。なお、無人飛行体2は、これらの構成要素以外に、バッテリなども備えるが、ここで説明する自律移動制御に関連しないため省略する。
ロータ22は、無人飛行体2を飛行させるための揚力、推力又はトルクを得るための回転翼である。なお、本実施の形態2では、無人飛行体2は、4つのロータ22を備えているが、本開示は特にこれに限定されず、ロータ22の数はいくつであってもよい。
人感センサ201は、無人飛行体2の略直下の地上にいる被災者(人物)を検出する。人感センサ201は、無人飛行体2の下部に地面に向けて設置されている。人感センサ201は、無人飛行体2の現在位置に人がいる尤度を検出する。ここでは、人感センサ201は、人物の体温を検知することにより、人物を検出する赤外線温度センサを用いる。なお、人感センサ201は、建物の中や瓦礫の下にいる人をも検出できるようにミリ波センサを用いてもよい。
位置センサ202は、無人飛行体2の現在位置を検出する。ここでは、位置センサ202は、例えばGPS(Global Positioning System)センサを用いる。
[自律移動ロボットの機能構成]
図6は、本開示の実施の形態2における無人飛行体2の構成の一例を示すブロック図である。
無人飛行体2は、図6に示すように、人感センサ201、位置センサ202、駆動部203、受信部204、送信部205、記憶部206及び制御部21を備える。
人感センサ201及び位置センサ202については、図5の全体図で説明したので説明を省略する。
駆動部203は、無人飛行体2を飛行させるためのモータ又はロータ22などにより構成され、制御部21からの指示に基づいて無人飛行体2を移動させる。
受信部204は、他の無人飛行体からの無線信号を受信する。送信部205は、他の無人飛行体に無線信号を送信する。
記憶部206は、位置センサ202によって検出された無人飛行体2の現在位置を示す位置情報と、無線信号から得られた他の無人飛行体の現在位置を示す位置情報とを、探索済みの位置として記憶する。
制御部21は、無人飛行体2の移動を制御し、複数の構成要素からなる。例えば、プロセッサと、プログラムを記憶したメモリとを備えた情報処理装置が、制御部21として動作する。
制御部21は、確信度算出部211、移動ベクトル算出部212及び移動制御部213を備える。
確信度算出部211は、無人飛行体2の現在位置がタスクを実行するのに適した位置である度合いを示す確信度を算出する。確信度算出部211は、人感センサ201により検出された無人飛行体2の現在位置に人がいる尤度に基づいて、無人飛行体2の現在位置が人を探索するのに適した位置である度合いを示す確信度を算出する。確信度の値は、無人飛行体2の現在位置が、タスクを実行するのに適した位置であるほど増加する。確信度の値は、無人飛行体2の現在位置に人がいる尤度が大きいほど大きくなる。なお、確信度の算出方法については後述する。
送信部205は、確信度算出部211によって算出された確信度を、他の無人飛行体に送信する。すなわち、送信部205が送信する無線信号には、確信度算出部211によって算出された確信度が含まれる。なお、送信部205は、確信度と共に、無人飛行体2の現在位置を示す位置情報を他の無人飛行体へ送信する。
また、受信部204は、他の無人飛行体の現在位置がタスクを実行するのに適した位置である度合いを示す確信度を他の無人飛行体から受信する。すなわち、受信部204が受信する無線信号には、他の無人飛行体によって送信された確信度が含まれる。なお、受信部204は、確信度と共に、他の無人飛行体の現在位置を示す位置情報を他の無人飛行体から受信する。
移動ベクトル算出部114は、無人飛行体2の確信度と、他の無人飛行体の確信度と、他の無人飛行体の現在位置とに基づいて、無人飛行体2の移動すべき移動ベクトルを算出する。移動ベクトル算出部212は、確信度算出部211によって算出された確信度と、受信部204によって受信された他の無人飛行体からの確信度と、他の無人飛行体の位置情報で示される現在位置とに基づいて、無人飛行体2を移動させる方向と速度とからなる移動ベクトルを算出する。
移動制御部213は、移動ベクトル算出部212によって算出された移動ベクトルに基づいて、駆動部203を制御する。移動制御部213は、移動ベクトルに基づいて無人飛行体2の移動を制御する。
図7は、無人飛行体2が複数の他の無人飛行体と通信しながら移動してタスクを実行する様子を示す模式図である。複数の無人飛行体は、地上に存在する人を検知することにより、互いに協調して地上に存在する人を探索する。図7において、破線23は、無人飛行体2が他の無人飛行体と通信していることを示している。
無人飛行体2は、複数の他の無人飛行体が送信した無線信号を受信する。また、無人飛行体2は、不特定な対象である複数の他の無人飛行体に無線信号を送信する。図7においては、無人飛行体2は複数の他の無人飛行体全てと通信している様子を示しているが、無人飛行体間に障害物がある場合、無人飛行体間の距離が大きい場合、又は無線通信の通信状況が悪い場合などは、必ずしも全ての無人飛行体と通信を行えるとは限らず、通信可能な他の無人飛行体が最も少ない場合には、他の無人飛行体と全く通信が行えない場合もある。
なお、図7においては、無人飛行体2と他の無人飛行体との間の通信のみを図示しているが、他の無人飛行体同士も同様に通信を行っている。
以上のように構成された実施の形態2の無人飛行体2の動作を図8及び図9のフローチャートにしたがって説明する。
図8は、本実施の形態2における無人飛行体の動作を説明するための第1のフローチャートであり、図9は、本実施の形態2における無人飛行体の動作を説明するための第2のフローチャートである。
まず、ステップS201において、人感センサ201は、無人飛行体2の略直下の地上にいる被災者(人物)を検出し、現在位置に被災者がいる尤もらしさである尤度dを検出する。ここで、尤度dは、0≦d≦1である。人感センサ201が赤外線温度センサである場合、人感センサ201は、無人飛行体2の略直下の地上の温度を測定し、測定した温度が人体の平均的な体温(例えば、36.5度)であれば、尤度dを1とし、測定した温度が、人体の平均的な体温から離れるにしたがって、尤度dを0に近づける。
次に、ステップS202において、位置センサ202は、GPSを用いて無人飛行体2の現在位置を検出し、現在位置を示す位置情報Pを出力する。
次に、ステップS202において、確信度算出部211は、位置センサ202によって検出された現在位置が既に探索済みであるか否かを判断する。すなわち、確信度算出部211は、位置センサ202によって検出された現在位置が、記憶部206に記憶されている探索済みの位置と一致するか否かを判断する。このように、現在位置が既に探索済みであるか否かを判断することにより、同じ場所が何度も探索されるのを防止することができ、効率よくタスクを実行することができる。
ここで、現在位置が既に探索済みであると判断された場合(ステップS203でYES)、ステップS212の処理へ移行する。
一方、現在位置が探索済みではないと判断された場合(ステップS203でNO)、ステップS204において、確信度算出部211は、人感センサ201によって検出された被災者のいる尤度dから、現在位置がタスクを実行するのに適した位置であるかを示す確信度cを下記の式(3)を用いて算出する。
c=max(1,k×d)・・・(3)
上記の式(3)において、kは係数である。なお、尤度dに応じて増加する関数であれば、式(3)に限定するものではない。
次に、ステップS205において、送信部205は、位置センサ202によって検出された無人飛行体2の現在位置を示す位置情報Pと、確信度算出部211によって算出された確信度cとを他の無人飛行体へ送信する。送信部205は、無線を用いて位置情報及び確信度を送信し、不特定多数の他の無人飛行体に、位置情報及び確信度を含む無線信号をブロードキャストする。なお、無線信号は、位置情報及び確信度に加えて無人飛行体を識別するための識別情報を含んでもよい。
次に、ステップS206において、受信部204は、無線通信により、他の無人飛行体から位置情報及び確信度を受信する。複数の他の無人飛行体から無線信号を受信できる場合は、受信部204は、複数の無線信号を受信する。この場合、受信部204は、送信元である複数の他の無人飛行体を特定しないが、複数の無線信号を区別する。ここでは、i番目に受信した無線信号をs(i)とし、無線信号s(i)により受信した他の無人飛行体の確信度をc(i)とし、他の無人飛行体の位置情報をP(i)とする。なお、無線信号を受信可能な範囲内に他の無人飛行体が存在しない場合、他の無人飛行体との間に障害物がある場合、又は無線通信の通信状況が悪い場合など、受信部204は、無線信号を受信できなくてもよい。
次に、ステップS207において、移動ベクトル算出部212は、確信度算出部211によって算出された確信度cと、無線信号s(i)から得られた確信度c(i)と、無線信号s(i)から得られた位置情報P(i)とから、無人飛行体2を移動させる移動ベクトルR(i)を下記の式(4)を用いて算出する。
次に、ステップS208において、移動制御部213は、移動ベクトル算出部212によって算出された移動ベクトルの向き及び大きさに応じて、無人飛行体2の移動する向き及び速度を制御し、無人飛行体2を移動させる。
すなわち、無人飛行体2は、無線信号s(i)に含まれる確信度c(i)が大きければ大きいほど、無線信号s(i)を送信した他の無人飛行体の方向に引っ張られる。また、無人飛行体2は、無人飛行体2と無線信号s(i)を送信した他の無人飛行体との間の距離|P(i)−P|が近ければ近いほど、無線信号s(i)を送信した他の無人飛行体の方向に引っ張られる。更に、無人飛行体2は、自身の確信度cが大きければ大きいほど、引っ張られる度合いは小さくなるように移動制御される。
ここで、無人飛行体2が、複数の他の無人飛行体と協調して移動する動作について図7を用いて説明する。
図7に示すように、無人飛行体2(第1の自律移動ロボット)の受信部204は、無人飛行体221(第2の自律移動ロボット)の現在位置がタスクを実行するのに適した位置である度合いを示す確信度を無人飛行体221から受信するとともに、無人飛行体222(第3の自律移動ロボット)の現在位置が前記タスクを実行するのに適した位置である度合いを示す確信度を無人飛行体222から受信する。
移動ベクトル算出部212は、無人飛行体2の確信度と、無人飛行体221の確信度と、無人飛行体221の現在位置とに基づいて、無人飛行体2の移動すべき第1の個別ベクトルを算出する。また、移動ベクトル算出部212は、無人飛行体2の確信度と、無人飛行体222の確信度と、無人飛行体222の現在位置とに基づいて、無人飛行体2の移動すべき第2の個別ベクトルを算出する。そして、移動ベクトル算出部212は、第1の個別ベクトルと第2の個別ベクトルとの和を移動ベクトルとして算出する。
第1の個別ベクトルの大きさは、無人飛行体221の確信度が大きいほど大きくなり、且つ、無人飛行体2と無人飛行体221との間の距離が大きいほど小さくなる。また、第2の個別ベクトルの大きさは、無人飛行体222の確信度が大きいほど大きくなり、且つ、無人飛行体2と無人飛行体222との間の距離が大きいほど小さくなる。第1の個別ベクトルの方向は、無人飛行体2の現在位置から無人飛行体221へ向かう方向であり、第2の個別ベクトルの方向は、無人飛行体2の現在位置から無人飛行体222へ向かう方向である。
次に、ステップS209において、移動制御部213は、位置センサ202によって検出された無人飛行体2の現在位置を示す位置情報と、無線信号から得られた他の無人飛行体の現在位置を示す位置情報とを記憶部206に記憶する。これらの位置情報は、探索済みの位置として記憶部206に記憶される。
なお、本実施の形態2では、現在位置を示す位置情報を記憶しているが、本開示は特にこれに限定されない。移動制御部213は、位置センサ202によって検出された無人飛行体2の現在位置を含む所定の領域を示す領域情報と、無線信号から得られた他の無人飛行体の現在位置を含む所定の領域を示す領域情報とを記憶部206に記憶してもよい。
また、移動制御部213は、位置センサ202によって検出された無人飛行体2の現在位置と、無線信号から得られた他の無人飛行体の現在位置とを地図で表した地図情報を記憶部206に記憶してもよい。
さらに、移動制御部213は、確信度算出部211によって算出された確信度が所定値以上である無人飛行体2の現在位置を示す位置情報と、無線信号から得られた確信度が所定値以上である他の無人飛行体の現在位置を示す位置情報とを記憶部206に記憶してもよい。
次に、ステップS210において、移動制御部213は、無人飛行体2と他の無人飛行体との間の距離|P(i)−P|が所定の距離より短いか否かを判断する。ここで、無人飛行体2と他の無人飛行体との間の距離|P(i)−P|が所定の距離より短いと判断された場合(ステップS210でYES)、ステップS211において、移動制御部213は、他の無人飛行体を回避する方向に無人飛行体2の向きを変化させ、無人飛行体2を移動させる。その後、ステップS201の処理に戻る。
一方、無人飛行体2と他の無人飛行体との間の距離|P(i)−P|が所定の距離以上であると判断された場合(ステップS210でNO)、ステップS212において、移動制御部213は、無人飛行体2が動作を開始してから所定の時間が経過したか否かを判断する。ここで、所定の時間が経過したと判断された場合(ステップS212でYES)、移動制御部115は、動作を終了する。このとき、移動制御部213は、例えば無人飛行体2が動作を開始した位置(充電位置)に戻るように無人飛行体2を移動させてもよい。一方、所定の時間が経過していないと判断された場合(ステップS212でNO)、ステップS201の処理に戻る。
なお、本実施の形態2では、移動制御部213は、無人飛行体2が動作を開始してから所定の時間が経過したか否かを判断しているが、本開示は特にこれに限定されず、移動制御部213は、予め決められた所定の領域内の探索が完了したか否かを判断してもよい。
以上の動作により、複数の自律移動ロボットで協調して所定のタスクを実行する自律移動制御システムにおいて、他の自律移動ロボットの位置とタスクに関する情報とを用いて、システム全体でより効率的にタスクを実行することができる。特に、現在位置がタスクを実行するのに適した位置である度合いを示す確信度を、複数の自律移動ロボット間で送受信することで、各自律移動ロボットが、タスクを実行するのにより適した位置の方向へ移動し、所定のタスクを実行することができる。これにより、システム全体でより効率的にタスクを実行することができる。
なお、本実施の形態2では、自律移動制御システムは、複数の無人飛行体を備えているが、本開示は特にこれに限定されず、自律移動制御システムは、複数の無人飛行体と、複数の無人飛行体の少なくとも1つと通信可能に接続されたサーバとを備えてもよい。
この場合、無人飛行体は、人感センサ201、位置センサ202、駆動部203、受信部204、送信部205、記憶部206及び制御部21を備える。無人飛行体の制御部11は、確信度算出部211及び移動制御部213を備える。サーバは、通信部及び制御部を備える。サーバの制御部は、移動ベクトル算出部212を備える。無人飛行体の送信部205は、他の無人飛行体の確信度と、他の無人飛行体の位置情報とをサーバに送信する。さらに、無人飛行体の受信部204は、算出された移動ベクトルをサーバから受信する。サーバの通信部は、他の無人飛行体の確信度と、他の無人飛行体の位置情報とを無人飛行体から受信する。また、サーバの通信部は、算出された移動ベクトルを無人飛行体に送信する。
また、無人飛行体の送信部205は、位置センサ202によって検出された自身の現在位置を示す位置情報をサーバに送信してもよい。この場合、サーバは、複数の無人飛行体の位置情報を記憶し、複数の無人飛行体の移動経路を特定し、各無人飛行体が既に探索した位置を探索しないように各無人飛行体の移動を制御してもよい。
本開示において、ユニット、装置、部材又は部の全部又は一部、又は図2,6に示されるブロック図の機能ブロックの全部又は一部は、半導体装置、半導体集積回路(IC)、又はLSI(Large Scale Integration)を含む一つ又は複数の電子回路によって実行されてもよい。LSI又はICは、一つのチップに集積されてもよいし、複数のチップを組み合わせて構成されてもよい。例えば、記憶素子以外の機能ブロックは、一つのチップに集積されてもよい。ここでは、LSIやICと呼んでいるが、集積の度合いによって呼び方が変わり、システムLSI、VLSI(Very Large Scale Integration)、若しくはULSI(Ultra Large Scale Integration)と呼ばれるものであってもよい。LSIの製造後にプログラムされる、Field Programmable Gate Array(FPGA)、又はLSI内部の接合関係の再構成又はLSI内部の回路区画のセットアップができるReconfigurable Logic Deviceも同じ目的で使うことができる。
さらに、ユニット、装置、部材又は部の全部又は一部の機能又は操作は、ソフトウエア処理によって実行することが可能である。この場合、ソフトウエアは一つ又は複数のROM、光学ディスク、ハードディスクドライブなどの非一時的記録媒体に記録され、ソフトウエアが処理装置(Processor)によって実行されたときに、そのソフトウエアで特定された機能が処理装置(Processor)および周辺装置によって実行される。システム又は装置は、ソフトウエアが記録されている一つ又は複数の非一時的記録媒体、処理装置(Processor)、及び必要とされるハードウエアデバイス、例えばインターフェース、を備えていてもよい。