(57)【要約】【課題】複数の自律移動体が重複して通過する箇所又は複数の自律移動体が通過しない箇所を削減することができ、効率的にタスクを実行することができる自律移動体、移動制御方法及び移動制御プログラムを提供する。【解決手段】自律的に移動しながら所定のタスクを実行する掃除ロボット１は、掃除ロボット１を移動させる駆動部１３と、掃除ロボット１の前方に存在する他の掃除ロボットが障害物に沿って移動しているか否かを示す移動状態と、掃除ロボット１に対して他の掃除ロボットが存在する方向と、掃除ロボット１と他の掃除ロボットとの間の距離とを検知する撮像部１０４と、移動状態が障害物に沿って移動していることを示す移動状態である場合に、他の掃除ロボットの障害物とは反対側の斜め後方の位置を維持しながら他の掃除ロボットに追従して移動するように駆動部１３を制御する追従走行制御部１１３とを備える。【選択図】図２
2018106217.tif 000002
【特許請求の範囲】
【請求項１】
自律的に移動しながら所定のタスクを実行する自律移動体であって、
前記自律移動体を移動させる駆動部と、
前記自律移動体の前方に存在する他の自律移動体が障害物に沿って移動しているか否かを示す移動状態と、前記自律移動体に対して前記他の自律移動体が存在する方向と、前記自律移動体と前記他の自律移動体との間の距離とを検知する移動体検知部と、
前記移動状態が前記障害物に沿って移動していることを示す移動状態である場合に、前記他の自律移動体の前記障害物とは反対側の斜め後方の位置を維持しながら前記他の自律移動体に追従して移動するように前記駆動部を制御する移動制御部と、
を備える自律移動体。
【請求項２】
前記移動制御部は、前記自律移動体が前記他の自律移動体に追従して移動している際に、前記他の自律移動体の前記移動状態が前記障害物に沿って移動することを示す移動状態でなくなった場合に、所定の時間直進するように前記駆動部を制御する、
請求項１記載の自律移動体。
【請求項３】
前記自律移動体の正面側に存在する前記障害物を検知する正面障害物検知部と、
前記自律移動体の側面側に存在する前記障害物を検知する側面障害物検知部と、
をさらに備え、
前記自律移動体は、前記他の自律移動体として前記障害物に沿って移動し、
前記移動制御部は、前記自律移動体が前記他の自律移動体として前記障害物に沿って移動している際に、前記正面障害物検知部によって前記正面側に前記障害物が検知された場合に、前記側面障害物検知部によって前記側面側に前記障害物が検知されるまで回転した後、所定時間停止するように前記駆動部を制御する、
請求項２記載の自律移動体。
【請求項４】
前記自律移動体の側面側に存在する前記障害物を検知する側面障害物検知部をさらに備え、
前記移動制御部は、前記移動状態が前記障害物に沿って移動していることを示す移動状態であり、かつ前記他の自律移動体の反対側の前記側面側に前記障害物が検知された場合に、前記他の自律移動体に追従して移動しないように前記駆動部を制御する、
請求項１記載の自律移動体。
【請求項５】
前記他の自律移動体は、前記他の自律移動体が前記障害物に沿って移動している場合に、前記他の自律移動体が前記障害物に沿って移動していることを示す第１の信号を前記他の自律移動体の後方部分から送信し、
前記移動体検知部は、前記他の自律移動体によって送信された前記第１の信号を受信することで前記移動状態を検知する、
請求項１記載の自律移動体。
【請求項６】
前記自律移動体の後方部分に配置され、前記他の自律移動体によって送信された前記第１の信号を受信した場合に、前記自律移動体が前記他の自律移動体に追従して移動していることを示す第２の信号を送信する送信部をさらに備える、
請求項５記載の自律移動体。
【請求項７】
床面を掃除する掃除部をさらに備える、
請求項１〜６のいずれか１項に記載の自律移動体。
【請求項８】
自律的に移動しながら所定のタスクを実行する自律移動体における移動制御方法であって、
前記自律移動体の前方に存在する他の自律移動体が障害物に沿って移動しているか否かを示す移動状態と、前記自律移動体に対して前記他の自律移動体が存在する方向と、前記自律移動体と前記他の自律移動体との間の距離とを検知し、
前記移動状態が前記障害物に沿って移動していることを示す移動状態である場合に、前記他の自律移動体の前記障害物とは反対側の斜め後方の位置を維持しながら前記他の自律移動体に追従して移動するように、前記自律移動体を移動させる駆動部を制御する、
移動制御方法。
【請求項９】
自律的に移動しながら所定のタスクを実行する自律移動体の移動を制御する移動制御プログラムであって、
前記自律移動体が備えるコンピュータを、
前記自律移動体の前方に存在する他の自律移動体が障害物に沿って移動しているか否かを示す移動状態と、前記自律移動体に対して前記他の自律移動体が存在する方向と、前記自律移動体と前記他の自律移動体との間の距離とを検知する移動体検知部と、
前記移動状態が前記障害物に沿って移動していることを示す移動状態である場合に、前記他の自律移動体の前記障害物とは反対側の斜め後方の位置を維持しながら前記他の自律移動体に追従して移動するように、前記自律移動体を移動させる駆動部を制御する移動制御部として機能させる、
移動制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、自律的に移動しながら所定のタスクを実行する自律移動体、当該自律移動体の移動を制御する移動制御方法及び移動制御プログラムに関するものである。
【背景技術】
【０００２】
従来、自律的に移動しながら部屋を清掃する掃除ロボットに関する技術が提案されている（例えば、特許文献１及び特許文献２参照）。
【０００３】
特許文献１では、掃除ロボットが複数のモードを適宜切り替えながら動作する技術について開示されている。また、特許文献２では、掃除ロボットがユーザの方向を検出し、検出した方向に移動する技術について開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１４−５２２２３１号公報
【特許文献２】特開２０１３−２４８０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術では、複数の自律ロボットによってタスクを実行する効率を向上させるため、さらなる技術改良が必要とされていた。
【課題を解決するための手段】
【０００６】
本開示の一態様に係る自律移動体は、自律的に移動しながら所定のタスクを実行する自律移動体であって、前記自律移動体を移動させる駆動部と、前記自律移動体の前方に存在する他の自律移動体が障害物に沿って移動しているか否かを示す移動状態と、前記自律移動体に対して前記他の自律移動体が存在する方向と、前記自律移動体と前記他の自律移動体との間の距離とを検知する移動体検知部と、前記移動状態が前記障害物に沿って移動していることを示す移動状態である場合に、前記他の自律移動体の前記障害物とは反対側の斜め後方の位置を維持しながら前記他の自律移動体に追従して移動するように前記駆動部を制御する移動制御部と、を備える。
【発明の効果】
【０００７】
本開示によれば、複数の自律移動体が重複して通過する箇所又は複数の自律移動体が通過しない箇所を削減することができ、効率的にタスクを実行することができる。
【図面の簡単な説明】
【０００８】
【図１】本実施の形態１に係る掃除ロボットの一例を示す全体図である。
【図２】本実施の形態１に係る掃除ロボットの機能構成の一例を示すブロック図である。
【図３】本実施の形態１において、掃除ロボットがランダム走行モードで走行する例について説明するための図である。
【図４】本実施の形態１において、掃除ロボットが壁沿い走行モードで走行する例について説明するための図である。
【図５】本実施の形態１において、ランダム走行モードから追従走行モードに移行する動作を説明するための図である。
【図６】本実施の形態１において、掃除ロボットが追従走行モードで走行する例について説明するための図である。
【図７】本実施の形態１において、第１の掃除ロボットが第２の掃除ロボットに追従する方法について説明するための模式図である。
【図８】本実施の形態１における掃除ロボットの基本移動動作の一例を示すフローチャートである。
【図９】本実施の形態１における掃除ロボットのランダム走行処理の一例を示すフローチャートである。
【図１０】本実施の形態１における掃除ロボットの壁沿い走行処理の一例を示すフローチャートである。
【図１１】本実施の形態１における掃除ロボットの追従走行処理の一例を示すフローチャートである。
【図１２】本実施の形態２に係る掃除ロボットの機能構成の一例を示すブロック図である。
【図１３】本実施の形態２において、第１の掃除ロボットが追従している第２の掃除ロボットの正面が壁に接近している例について説明するための図である。
【図１４】本実施の形態２において、第１の掃除ロボットが追従している第２の掃除ロボットの正面が壁に接近してから所定の時間が経過した後、第１の掃除ロボットの走行モードと第２の掃除ロボットの走行モードとが入れ替わる動作について説明するための図である。
【図１５】本実施の形態２における掃除ロボットの壁沿い走行処理の一例を示すフローチャートである。
【図１６】本実施の形態２における掃除ロボットの追従走行処理の一例を示すフローチャートである。
【図１７】本実施の形態３に係る掃除ロボットの機能構成の一例を示すブロック図である。
【図１８】本実施の形態３において、第３の掃除ロボットが第１の掃除ロボットへの追従を開始した例について説明するための図である。
【図１９】本実施の形態３において、追従を開始した第３の掃除ロボットが壁に接近した例について説明するための図である。
【図２０】本実施の形態３における掃除ロボットの追従走行処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
（本開示の基礎となった知見）
上記の特許文献１では、掃除ロボットが複数のモードを適宜切り替えながら動作する技術について開示されている。より具体的には、特許文献１に開示される技術では、複数のモードは、掃除ロボットが１箇所を中心的に清掃するスポット処理モードと、掃除ロボットが壁などの障害物の近傍を移動する障害物追従モードと、掃除ロボットが障害物に遭遇した後に障害物から実質的に離反する方向へ移動する反跳モードとを含んでいる。
【００１０】
特許文献１に開示される技術は、掃除ロボット単体での動作についての構成であるが、１台の掃除ロボットだけでは清掃しきれない広い場所を清掃する場合、又は１台の掃除ロボットで清掃するよりも短時間に清掃する場合などには、同じ場所に複数台の掃除ロボットを稼働させることもある。複数台の特許文献１に開示の掃除ロボットを同じ場所で稼動させた場合、それぞれの掃除ロボットは独立して動作するので、複数の掃除ロボットが同じ箇所を何度も清掃したり、どの掃除ロボットも清掃しない箇所があったりするなど効率的に清掃することができないという課題がある。
【００１１】
以上から、複数の掃除ロボットが連携して、重複して清掃される箇所又は清掃されない箇所が少なくなるように動作する方法が求められる。
【００１２】
また、特許文献２では、掃除ロボットがユーザに追従して移動する技術について開示されている。掃除ロボットがユーザを追従することにより、掃除ロボットをユーザの場所まで移動させることが可能であるが、複数の掃除ロボット同士の連携により効率的にタスクを実行することについては何の考慮もされていない。
【００１３】
そこで、本開示は、複数の自律移動体同士が連携して移動しながらタスクを実行することにより、複数の自律移動体が重複して通過する箇所又は複数の自律移動体が通過しない箇所を削減することができ、効率的にタスクを実行することができる自律移動体、移動制御方法及び移動制御プログラムを提供することを目的とする。
【００１４】
以上の課題を解決するために、本開示の一態様に係る自律移動体は、自律的に移動しながら所定のタスクを実行する自律移動体であって、前記自律移動体を移動させる駆動部と、前記自律移動体の前方に存在する他の自律移動体が障害物に沿って移動しているか否かを示す移動状態と、前記自律移動体に対して前記他の自律移動体が存在する方向と、前記自律移動体と前記他の自律移動体との間の距離とを検知する移動体検知部と、前記移動状態が前記障害物に沿って移動していることを示す移動状態である場合に、前記他の自律移動体の前記障害物とは反対側の斜め後方の位置を維持しながら前記他の自律移動体に追従して移動するように前記駆動部を制御する移動制御部と、を備える。
【００１５】
この構成によれば、自律移動体の前方に存在する他の自律移動体が障害物に沿って移動しているか否かを示す移動状態と、自律移動体に対して他の自律移動体が存在する方向と、自律移動体と他の自律移動体との間の距離とが検知される。移動状態が障害物に沿って移動していることを示す移動状態である場合に、他の自律移動体の障害物とは反対側の斜め後方の位置を維持しながら他の自律移動体に追従して移動するように、自律移動体を移動させる駆動部が制御される。
【００１６】
したがって、自律移動体は、障害物に沿って移動している他の自律移動体の障害物とは反対側の斜め後方の位置を維持しながら他の自律移動体に追従して移動するので、複数の自律移動体が重複して通過する箇所又は複数の自律移動体が通過しない箇所を削減することができ、効率的にタスクを実行することができる。
【００１７】
また、上記の自律移動体において、前記移動制御部は、前記自律移動体が前記他の自律移動体に追従して移動している際に、前記他の自律移動体の前記移動状態が前記障害物に沿って移動することを示す移動状態でなくなった場合に、所定の時間直進するように前記駆動部を制御してもよい。
【００１８】
この構成によれば、自律移動体が他の自律移動体に追従して移動している際に、他の自律移動体の移動状態が障害物に沿って移動することを示す移動状態でなくなった場合に、所定の時間直進するように駆動部が制御される。
【００１９】
したがって、障害物に沿って移動している他の自律移動体に追従していた自律移動体は、他の自律移動体が障害物に沿って移動するのを止めた場合に、他の自律移動体を追い越して直進した後、障害物に沿って移動を開始し、他の自律移動体は自律移動体に追従して移動することになるので、複数の自律移動体をより効率的に移動させることができる。
【００２０】
また、上記の自律移動体において、前記自律移動体の正面側に存在する前記障害物を検知する正面障害物検知部と、前記自律移動体の側面側に存在する前記障害物を検知する側面障害物検知部と、をさらに備え、前記自律移動体は、前記他の自律移動体として前記障害物に沿って移動し、前記移動制御部は、前記自律移動体が前記他の自律移動体として前記障害物に沿って移動している際に、前記正面障害物検知部によって前記正面側に前記障害物が検知された場合に、前記側面障害物検知部によって前記側面側に前記障害物が検知されるまで回転した後、所定時間停止するように前記駆動部を制御してもよい。
【００２１】
この構成によれば、自律移動体の正面側に存在する障害物が検知され、自律移動体の側面側に存在する障害物が検知される。自律移動体は、他の自律移動体として障害物に沿って移動する。自律移動体が他の自律移動体として障害物に沿って移動している際に、正面側に障害物が検知された場合に、側面側に障害物が検知されるまで回転した後、所定時間停止するように駆動部が制御される。
【００２２】
したがって、自律移動体が障害物に沿って移動するのを止めた場合に、自律移動体に追従していた他の自律移動体は、自律移動体を追い越した後、障害物に沿って移動を開始し、自律移動体は他の自律移動体に追従して移動することになるので、複数の自律移動体をより効率的に移動させることができる。
【００２３】
また、上記の自律移動体において、前記自律移動体の側面側に存在する前記障害物を検知する側面障害物検知部をさらに備え、前記移動制御部は、前記移動状態が前記障害物に沿って移動していることを示す移動状態であり、かつ前記他の自律移動体の反対側の前記側面側に前記障害物が検知された場合に、前記他の自律移動体に追従して移動しないように前記駆動部を制御してもよい。
【００２４】
この構成によれば、自律移動体の側面側に存在する障害物が検知される。移動状態が障害物に沿って移動していることを示す移動状態であり、かつ他の自律移動体の反対側の側面側に障害物が検知された場合に、他の自律移動体に追従して移動しないように駆動部が制御される。
【００２５】
したがって、他の自律移動体の反対側の側面側に障害物が検知された場合には、他の自律移動体に追従して移動しないので、複数の自律移動体が幅方向全体に並んで移動するのを防止することができ、邪魔にならないように複数の自律移動体を移動させることができる。
【００２６】
また、上記の自律移動体において、前記自律移動体の後方部分に配置され、前記自律移動体が前記障害物に沿って移動している場合に、前記自律移動体が前記障害物に沿って移動していることを示す第１の信号を送信する送信部をさらに備え、前記移動体検知部は、前記他の自律移動体によって送信された前記他の自律移動体が前記障害物に沿って移動していることを示す第２の信号を受信することで前記移動状態を検知してもよい。
【００２７】
この構成によれば、自律移動体が障害物に沿って移動している場合に、自律移動体が障害物に沿って移動していることを示す第１の信号が自律移動体の後方部分から送信される。他の自律移動体によって送信された他の自律移動体が障害物に沿って移動していることを示す第２の信号が受信されることで移動状態が検知される。
【００２８】
したがって、自律移動体の前方を移動している他の自律移動体の移動状態を容易に検知することができる。
【００２９】
また、上記の自律移動体において、前記送信部は、前記他の自律移動体によって送信された前記第２の信号を受信した場合、前記第１の信号を送信してもよい。
【００３０】
この構成によれば、他の自律移動体によって送信された第２の信号が受信された場合、第１の信号が送信されるので、自律移動体に対してさらに別の自律移動体を追従させることができ、他の自律移動体の斜め後方に複数の自律移動体が並んで移動することが可能となり、より効率的にタスクを実行することができる。
【００３１】
また、上記の自律移動体において、床面を掃除する掃除部をさらに備えてもよい。この構成によれば、床面を掃除することができる。
【００３２】
本開示の他の態様に係る移動制御方法は、自律的に移動しながら所定のタスクを実行する自律移動体における移動制御方法であって、前記自律移動体の前方に存在する他の自律移動体が障害物に沿って移動しているか否かを示す移動状態と、前記自律移動体に対して前記他の自律移動体が存在する方向と、前記自律移動体と前記他の自律移動体との間の距離とを検知し、前記移動状態が前記障害物に沿って移動していることを示す移動状態である場合に、前記他の自律移動体の前記障害物とは反対側の斜め後方の位置を維持しながら前記他の自律移動体に追従して移動するように、前記自律移動体を移動させる駆動部を制御する。
【００３３】
この構成によれば、自律移動体の前方に存在する他の自律移動体が障害物に沿って移動しているか否かを示す移動状態と、自律移動体に対して他の自律移動体が存在する方向と、自律移動体と他の自律移動体との間の距離とが検知される。移動状態が障害物に沿って移動していることを示す移動状態である場合に、他の自律移動体の障害物とは反対側の斜め後方の位置を維持しながら他の自律移動体に追従して移動するように、自律移動体を移動させる駆動部が制御される。
【００３４】
したがって、自律移動体は、障害物に沿って移動している他の自律移動体の障害物とは反対側の斜め後方の位置を維持しながら他の自律移動体に追従して移動するので、複数の自律移動体が重複して通過する箇所又は複数の自律移動体が通過しない箇所を削減することができ、効率的にタスクを実行することができる。
【００３５】
本開示の他の態様に係る移動制御プログラムは、自律的に移動しながら所定のタスクを実行する自律移動体の移動を制御する移動制御プログラムであって、前記自律移動体が備えるコンピュータを、前記自律移動体の前方に存在する他の自律移動体が障害物に沿って移動しているか否かを示す移動状態と、前記自律移動体に対して前記他の自律移動体が存在する方向と、前記自律移動体と前記他の自律移動体との間の距離とを検知する移動体検知部と、前記移動状態が前記障害物に沿って移動していることを示す移動状態である場合に、前記他の自律移動体の前記障害物とは反対側の斜め後方の位置を維持しながら前記他の自律移動体に追従して移動するように、前記自律移動体を移動させる駆動部を制御する移動制御部として機能させる。
【００３６】
この構成によれば、自律移動体の前方に存在する他の自律移動体が障害物に沿って移動しているか否かを示す移動状態と、自律移動体に対して他の自律移動体が存在する方向と、自律移動体と他の自律移動体との間の距離とが検知される。移動状態が障害物に沿って移動していることを示す移動状態である場合に、他の自律移動体の障害物とは反対側の斜め後方の位置を維持しながら他の自律移動体に追従して移動するように、記自律移動体を移動させる駆動部が制御される。
【００３７】
したがって、自律移動体は、障害物に沿って移動している他の自律移動体の障害物とは反対側の斜め後方の位置を維持しながら他の自律移動体に追従して移動するので、複数の自律移動体が重複して通過する箇所又は複数の自律移動体が通過しない箇所を削減することができ、効率的にタスクを実行することができる。
【００３８】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なＣＤ−ＲＯＭ等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００３９】
以下、本実施の形態について、図面を参照しながら説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００４０】
（実施の形態１）
本実施の形態１では、自律的に移動しながら吸引清掃を行う掃除ロボットを自律移動体の一例として説明する。
【００４１】
図１は、本実施の形態１に係る掃除ロボットの一例を示す全体図である。
【００４２】
掃除ロボット１は、自律的に移動しながら所定のタスクを実行する。掃除ロボット１が実行する所定のタスクは、床面の掃除である。掃除ロボット１は、図１に示すように、掃除部１２、駆動部１３、正面距離センサ１０１、左側面距離センサ１０２、右側面距離センサ１０３、撮像部１０４及び発光部１０５を少なくとも備える。掃除ロボット１は、図１の構成要素以外に、ごみ吸引部、ごみ蓄積部及びバッテリなどをも備えるが、ここで説明する移動制御に関連しないため説明を省略する。
【００４３】
掃除部１２は、床面を掃除する。掃除部１２は、掃除ロボット１の底部に開いた開口部を含み、ごみ吸引部による吸引及び／又はブラシによる掃き出しにより、ごみを掃除ロボット１内部に吸引する。吸引したごみは、ごみ蓄積部に蓄積される。
【００４４】
駆動部１３は、掃除ロボット１を移動させる。駆動部１３は、掃除ロボット１を移動させるための駆動輪及び駆動輪を駆動するモータを含む。駆動輪は掃除ロボット１の底部に設置されている。
【００４５】
正面距離センサ１０１は、例えば、超音波センサであり、掃除ロボット１の正面と、壁又は家具などの障害物との間の距離を検知する。正面距離センサ１０１は、掃除ロボット１の前部に設置されている。正面距離センサ１０１は、掃除ロボット１の正面側に存在する障害物を検知する。
【００４６】
左側面距離センサ１０２は、例えば、超音波センサであり、掃除ロボット１の左側面と、壁又は家具などの障害物との間の距離を検知する。左側面距離センサ１０２は、掃除ロボット１の左側面に設置されている。左側面距離センサ１０２は、掃除ロボット１の左側面側に存在する障害物を検知する。
【００４７】
右側面距離センサ１０３は、例えば、超音波センサであり、掃除ロボット１の右側面と、壁又は家具などの障害物との間の距離を検知する。右側面距離センサ１０３は、掃除ロボット１の右側面に設置されている。右側面距離センサ１０３は、掃除ロボット１の右側面側に存在する障害物を検知する。
【００４８】
撮像部１０４は、他の掃除ロボットからの発光信号を受信するために、掃除ロボット１の周囲を撮像する。撮像部１０４は、掃除ロボット１の前部に設置されており、広い角度で他の掃除ロボットを認識するために、広い視野角を有する。
【００４９】
撮像部１０４は、撮像した画像に基づいて、掃除ロボット１の前方に存在する他の掃除ロボットが障害物に沿って移動しているか否かを示す移動状態と、掃除ロボット１に対して他の掃除ロボットが存在する方向と、掃除ロボット１と他の掃除ロボットとの間の距離とを検知する。
【００５０】
発光部１０５は、掃除ロボット１が他の掃除ロボットなどに自機の走行状態を知らせるための光信号を発光する。発光部１０５は、掃除ロボット１の後部に設置されており、光信号を広い角度で他の掃除ロボットに認識させるために、指向性が低い光又は指向性を有しない光を出射する。
【００５１】
図２は、本実施の形態１に係る掃除ロボットの機能構成の一例を示すブロック図である。
【００５２】
掃除ロボット１は、図２に示すように、制御部１１、掃除部１２、駆動部１３、正面距離センサ１０１、左側面距離センサ１０２、右側面距離センサ１０３、撮像部１０４及び発光部１０５を少なくとも備える。
【００５３】
掃除部１２、駆動部１３、正面距離センサ１０１、左側面距離センサ１０２、右側面距離センサ１０３、撮像部１０４及び発光部１０５は、図１の全体図で説明したので説明を省略する。
【００５４】
制御部１１は、例えば、ＣＰＵ（中央演算処理装置）であり、掃除ロボット１の移動を制御する。制御部１１は、管理部１１１、走行制御部１１２、追従走行制御部１１３及び発光制御部１１４を備える。
【００５５】
管理部１１１は、正面距離センサ１０１、左側面距離センサ１０２、右側面距離センサ１０３及び撮像部１０４から得られるセンシングデータに基づいて、掃除ロボット１の走行モードを管理する。なお、走行モードは、ランダムに走行するランダム走行モードと、壁に沿って走行する壁沿い走行モードと、壁に沿って走行している他の掃除ロボットの斜め後方を追従して走行する追従走行モードとを含む。なお、掃除ロボット１は、壁沿い走行モードでは、壁だけに沿って走行するのではなく、家具及び家電機器などの障害物に沿って走行する。また、走行モードは、上記の３種類の走行モードに限定されず、他の走行モードを含んでもよい。
【００５６】
走行制御部１１２は、正面距離センサ１０１、左側面距離センサ１０２、右側面距離センサ１０３及び撮像部１０４から得られるセンシングデータに基づいて、ランダム走行モード及び壁沿い走行モードのいずれかで走行するように駆動部１３を制御する。
【００５７】
追従走行制御部１１３は、正面距離センサ１０１、左側面距離センサ１０２、右側面距離センサ１０３、撮像部１０４から得られるセンシングデータに基づいて、前方近傍の他の移動ロボットを追従する追従走行モードで走行するように駆動部１３を制御する。
【００５８】
追従走行制御部１１３は、移動状態が障害物に沿って移動していることを示す移動状態である場合に、他の掃除ロボットの障害物とは反対側の斜め後方の位置を維持しながら他の掃除ロボットに追従して移動するように駆動部１３を制御する。
【００５９】
発光制御部１１４は、自機の走行状態に応じた発光信号を送信するように、発光部１０５による発光を制御する。発光部１０５は、掃除ロボット１の後方部分に配置され、掃除ロボットが障害物に沿って移動している場合に、掃除ロボットが障害物に沿って移動していることを示す信号を送信する。撮像部１０４は、他の掃除ロボットによって送信された他の掃除ロボットが障害物に沿って移動していることを示す信号を受信することで移動状態を検知する。発光部１０５は、他の掃除ロボットによって送信された他の掃除ロボットが障害物に沿って移動していることを示す信号を受信した場合、掃除ロボットが障害物に沿って移動していることを示す信号を送信する。
【００６０】
なお、本実施の形態１において、駆動部１３が駆動部の一例に相当し、撮像部１０４が移動体検知部の一例に相当し、走行制御部１１２及び追従走行制御部１１３が移動制御部の一例に相当し、正面距離センサ１０１が正面障害物検知部の一例に相当し、左側面距離センサ１０２及び右側面距離センサ１０３が側面障害物検知部の一例に相当し、発光部１０５が送信部の一例に相当し、掃除部１２が掃除部の一例に相当する。
【００６１】
ここで、掃除ロボット１がランダム走行モードで走行する例について図３を用いて説明する。
【００６２】
図３は、本実施の形態１において、掃除ロボットがランダム走行モードで走行する例について説明するための図である。
【００６３】
図３において、壁２は、掃除ロボット１が清掃タスクを実行する２次元領域を示す部屋の壁である。掃除ロボット１は、床の吸引清掃を行いながら、ランダムに決定した所定の時間直進する（第１の動作）。所定の時間が経過すると、掃除ロボット１は、停止し、ランダムに決定した角度だけその場で回転する（第２の動作）。次に、掃除ロボット１は、ランダムに決定した所定の時間直進する（第３の動作）。掃除ロボット１は、第１の動作〜第３の動作を繰り返すことにより、領域内をランダムに隈なく清掃吸引する。
【００６４】
続いて、掃除ロボット１が壁沿い走行モードで走行する例について図４を用いて説明する。
【００６５】
図４は、本実施の形態１において、掃除ロボットが壁沿い走行モードで走行する例について説明するための図である。
【００６６】
図４において、走行中に掃除ロボット１が、壁に所定の距離より接近した場合に、壁沿い走行モードに移行する。掃除ロボット１は、床の吸引清掃を行いながら、ランダムに決定した所定の時間直進する（第１の動作）。次に、掃除ロボット１は、壁に所定の距離より近づいた場合、停止し、掃除ロボット１の側面と壁２の壁面とが平行になる角度までその場で回転する（第２の動作）。次に、掃除ロボット１は、掃除ロボット１の側面と壁２の壁面とが平行である状態を保ちながら直進する（第３の動作）。次に、掃除ロボット１は、正面が壁に所定の距離より近づいた場合には、直角にその場で回転する（第４の動作）。次に、掃除ロボット１は、壁沿い走行モードに移行してから、ランダムに決定した所定の時間が経過すると、停止し、ランダムに決定した角度だけその場で回転し、ランダム走行モードに移行する（第５の動作）。掃除ロボット１は、第１の動作〜第５の動作を繰り返すことにより、壁２に沿って走行することが可能となり、領域内の壁際を効率的に吸引清掃する。
【００６７】
続いて、掃除ロボット１が追従走行モードで走行する例について図５及び図６を用いて説明する。
【００６８】
図５は、本実施の形態１において、ランダム走行モードから追従走行モードに移行する動作を説明するための図であり、図６は、本実施の形態１において、掃除ロボットが追従走行モードで走行する例について説明するための図である。なお、以下の説明では、ランダム走行モードから追従走行モードに移行する掃除ロボットを、第１の掃除ロボット１ａとし、壁沿い走行モードで走行する掃除ロボットを、第２の掃除ロボット１ｂとして説明する。第１の掃除ロボット１ａ及び第２の掃除ロボット１ｂの構成は、掃除ロボット１の構成と同じである。
【００６９】
図５において、壁沿い走行モードで走行している第２の掃除ロボット１ｂは、壁２に沿って移動していることを示す壁沿い信号１０５１を発信する。ランダム走行モードで走行している第１の掃除ロボット１ａは、第２の掃除ロボット１ｂから発信された壁沿い信号１０５１を受光した場合、ランダム走行モードから追従走行モードに移行し、追従走行モードで走行を開始する。追従走行モードでは、第１の掃除ロボット１ａは、第２の掃除ロボット１ｂの壁２とは反対側の斜め後方の位置を維持しながら第２の掃除ロボット１ｂに追従して移動する。
【００７０】
図６において、追従走行モードで走行している第１の掃除ロボット１ａは、壁沿い走行モードで走行している第２の掃除ロボット１ｂによって発信される壁沿い信号１０５１を目印として受信しながら、第２の掃除ロボット１ｂの壁２とは反対側の斜め後方の位置を走行し続ける。このとき、第１の掃除ロボット１ａは、自身も壁沿い信号１０５１を発信する。これにより、さらに別の掃除ロボットが第１の掃除ロボット１ａに対して追従走行モードで走行することが可能となり、第２の掃除ロボット１ｂの斜め後方に複数の掃除ロボットが並んで走行することが可能となる。
【００７１】
図７は、本実施の形態１において、第１の掃除ロボットが第２の掃除ロボットに追従する方法について説明するための模式図である。
【００７２】
図７において、壁沿い走行モードで走行している第２の掃除ロボット１ｂの発光部１０５は、所定の間隔で高さ方向に並べて配置された第１の発光素子１０５ａ及び第２の発光素子１０５ｂを含む。第１の発光素子１０５ａ及び第２の発光素子１０５ｂは、後方に向けて壁沿い走行モードで走行中であることを示す壁沿い信号１０５１をそれぞれ発光している。
【００７３】
追従走行モードに移行する又は追従走行モードで走行している第１の掃除ロボット１ａの撮像部１０４は、第２の掃除ロボット１ｂの壁沿い信号１０５１を受光する。撮像部１０４は、撮像素子１０４１を備える。撮像部１０４は、撮像素子１０４１に結像した、第２の掃除ロボット１ｂの２つの壁沿い信号１０５１の像の間隔ｄ１により、第１の掃除ロボット１ａから第２の掃除ロボット１ｂまでの距離を測定する。すなわち、撮像部１０４は、２つの像の間隔ｄ１と、第１の掃除ロボット１ａから第２の掃除ロボット１ｂまでの距離とを関連付けたテーブル又は関数を用いて、間隔ｄ１から距離を算出する。
【００７４】
また、撮像部１０４は、撮像素子１０４１の中心と２つの壁沿い信号１０５１の像（２つの像を結ぶ直線の中点）との横方向のずれ量ｄ２により、第１の掃除ロボット１ａと第２の掃除ロボット１ｂとを結ぶ直線と、第２の掃除ロボット１ｂの進行方向に沿った直線との間の角度を測定する。すなわち、撮像部１０４は、撮像素子１０４１の中心と２つの像とのずれ量ｄ２と、第１の掃除ロボット１ａと第２の掃除ロボット１ｂとを結ぶ直線と第２の掃除ロボット１ｂの進行方向に沿った直線との間の角度とを関連付けたテーブル又は関数を用いて、ずれ量ｄ２から角度を算出する。第１の掃除ロボット１ａは、算出した角度により、第１の掃除ロボット１ａに対して第２の掃除ロボット１ｂが存在する方向を特定することができる。第１の掃除ロボット１ａから第２の掃除ロボット１ｂまでの距離と角度とが算出されることにより、第１の掃除ロボット１ａは、第２の掃除ロボット１ｂの壁２とは反対側の斜め後方を追従走行することができる。例えば、追従走行制御部１１３は、間隔ｄ１及びずれ量ｄ２がそれぞれ所定の長さとなるように維持しながら走行することにより、第２の掃除ロボット１ｂの斜め後方を追従走行させる。
【００７５】
なお、本実施の形態１では、２つの発光素子と撮像素子とを用いた追従方法について説明したが、第１の掃除ロボット１ａが、左右方向に所定の間隔を有する２つの受光部を備え、２つの受光部のステレオ視により距離と角度とを測定してもよく、他の追従方法を用いてもよい。
【００７６】
以上のように構成された実施の形態１の掃除ロボット１の基本移動動作、ランダム走行モードの動作、壁沿い走行モードの動作及び追従走行モードの動作について図８〜図１１を用いて説明する。
【００７７】
図８は、本実施の形態１における掃除ロボットの基本移動動作の一例を示すフローチャートである。
【００７８】
まず、ステップＳ１において、管理部１１１は、走行モードをランダム走行モードに設定する。
【００７９】
次に、ステップＳ２において、管理部１１１は、所定のタスク時間が経過することによりタスクが終了したか否かを判断する。なお、掃除ロボット１が実行するタスクは、床面の清掃である。また、タスク終了の判断は、所定のタスク時間が経過したか否かによる判断ではなく、掃除ロボット１が備えるバッテリの残量が所定値以下であるか否かによって判断してもよい。ここで、タスクが終了したと判断された場合（ステップＳ２でＹＥＳ）、基本移動動作を終了する。
【００８０】
一方、タスクが終了していないと判断された場合（ステップＳ２でＮＯ）、ステップＳ３において、管理部１１１は、現在の走行モードがランダム走行モードであるか否かを判断する。ここで、現在の走行モードがランダム走行モードであると判断された場合（ステップＳ３でＹＥＳ）、ステップＳ４において、走行制御部１１２は、ランダム走行モードで掃除ロボット１を走行させるランダム走行処理を行う。なお、ランダム走行処理については、図９を用いて後述する。ランダム走行処理が行われた後、ステップＳ２の処理へ戻る。
【００８１】
一方、現在の走行モードがランダム走行モードではないと判断された場合（ステップＳ３でＮＯ）、ステップＳ５において、管理部１１１は、現在の走行モードが壁沿い走行モードであるか否かを判断する。ここで、現在の走行モードが壁沿い走行モードであると判断された場合（ステップＳ５でＹＥＳ）、ステップＳ６において、走行制御部１１２は、壁沿い走行モードで掃除ロボット１を走行させる壁沿い走行処理を行う。なお、壁沿い走行処理については、図１０を用いて後述する。壁沿い走行処理が行われた後、ステップＳ２の処理へ戻る。
【００８２】
一方、現在の走行モードが壁沿い走行モードではないと判断された場合（ステップＳ５でＮＯ）、ステップＳ７において、追従走行制御部１１３は、追従走行モードで掃除ロボット１を走行させる追従走行処理を行う。なお、追従走行処理については、図１１を用いて後述する。追従走行処理が行われた後、ステップＳ２の処理へ戻る。
【００８３】
図９は、本実施の形態１における掃除ロボットのランダム走行処理の一例を示すフローチャートである。
【００８４】
まず、ステップＳ１１において、走行制御部１１２は、正面距離センサ１０１、左側面距離センサ１０２及び右側面距離センサ１０３のセンサデータから、掃除ロボット１が障害物（例えば、壁）に所定の距離より接近したか否かを判断する。ここで、掃除ロボット１が障害物に所定の距離より接近したと判断された場合（ステップＳ１１でＹＥＳ）、ステップＳ１２において、走行制御部１１２は、走行モードを壁沿い走行モードに変更する。
【００８５】
一方、掃除ロボット１が障害物に所定の距離より接近していないと判断された場合（ステップＳ１１でＮＯ）、ステップＳ１３において、走行制御部１１２は、他の掃除ロボットからの壁沿い信号を受信したか否かを判断する。ここで、壁沿い信号を受信したと判断された場合（ステップＳ１３でＹＥＳ）、ステップＳ１４において、走行制御部１１２は、走行モードを追従走行モードに変更する。
【００８６】
一方、壁沿い信号を受信していないと判断された場合（ステップＳ１３でＮＯ）、ステップＳ１５において、走行制御部１１２は、掃除ロボット１が直進走行を開始してから、ランダムに決定した所定の直進時間が経過したか否かを判断する。ここで、所定の直進時間が経過したと判断された場合（ステップＳ１５でＹＥＳ）、走行制御部１１２は、掃除ロボット１を停止させるとともに、ランダムに決定した角度だけ回転させる制御信号を駆動部１３に出力する。駆動部１３は、制御信号を受信すると、ランダムに決定された角度だけ掃除ロボット１を回転させる。
【００８７】
一方、所定の直進時間が経過していないと判断された場合（ステップＳ１５でＮＯ）、ステップＳ１７において、走行制御部１１２は、掃除ロボット１を直進走行させる制御信号を駆動部１３に出力する。駆動部１３は、制御信号を受信すると、掃除ロボット１を直進走行させる。
【００８８】
このように、ランダム走行モードでは、ランダムに決定された直進時間が経過するまで直進し、その後、ランダムに決定された角度だけ回転する動作が繰り返される。
【００８９】
図１０は、本実施の形態１における掃除ロボットの壁沿い走行処理の一例を示すフローチャートである。
【００９０】
まず、ステップＳ２１において、走行制御部１１２は、正面距離センサ１０１のセンサデータから、掃除ロボット１の正面が壁に所定の距離より接近したか否かを判断する。ここで、掃除ロボット１の正面が壁に所定の距離より接近したと判断された場合（ステップＳ２１でＹＥＳ）、ステップＳ２２において、走行制御部１１２は、掃除ロボット１を停止させるとともに、右側面距離センサ１０３のセンサデータから、掃除ロボット１の右側面と壁との間の距離が所定の距離に接近するまで（掃除ロボット１の右側面が壁に沿うまで）掃除ロボット１を左方向に回転させる制御信号を駆動部１３に出力する。駆動部１３は、制御信号を受信すると、掃除ロボット１の右側面が壁に沿うまで掃除ロボット１を左方向に回転させる。
【００９１】
一方、掃除ロボット１の正面が壁に所定の距離より接近していないと判断された場合（ステップＳ２１でＮＯ）、ステップＳ２３において、走行制御部１１２は、掃除ロボット１が壁沿い走行を開始してから、ランダムに決定した所定の壁沿い時間が経過したか否かを判断する。ここで、所定の壁沿い時間が経過したと判断された場合（ステップＳ２３でＹＥＳ）、ステップＳ２４において、走行制御部１１２は、走行モードをランダム走行モードに変更する。
【００９２】
一方、所定の壁沿い時間が経過していないと判断された場合（ステップＳ２３でＮＯ）、ステップＳ２５において、発光制御部１１４は、壁沿い信号を発光させる制御信号を発光部１０５に出力する。発光部１０５は、制御信号を受信すると、壁沿い信号を発光する。
【００９３】
次に、ステップＳ２６において、走行制御部１１２は、右側面距離センサ１０３のセンサデータから、掃除ロボット１の右側面と壁との間の距離が所定の距離を保つように掃除ロボット１を直進走行させる（壁沿い走行させる）制御信号を駆動部１３に出力する。駆動部１３は、制御信号を受信すると、壁に沿って掃除ロボット１を直進走行させる。
【００９４】
このように、壁沿い走行モードでは、ランダムに決定された壁沿い時間が経過するまで壁に沿って走行し、その後、ランダム走行モードに変更される動作が繰り返される。また、壁に沿って走行している間は、壁沿い信号が発光される。これにより、壁沿い信号を受信した他の掃除ロボットに対して追従させることができる。
【００９５】
なお、本実施の形態では、掃除ロボット１の正面が壁に所定の距離より接近した場合、掃除ロボット１を左方向に回転させ、掃除ロボット１の右側面と壁との間の距離が所定の距離を保つように掃除ロボット１を直進走行させているが、本開示は特にこれに限定されず、掃除ロボット１の正面が壁に所定の距離より接近した場合、掃除ロボット１を右方向に回転させ、掃除ロボット１の左側面と壁との間の距離が所定の距離を保つように掃除ロボット１を直進走行させてもよい。
【００９６】
図１１は、本実施の形態１における掃除ロボットの追従走行処理の一例を示すフローチャートである。
【００９７】
まず、ステップＳ３１において、追従走行制御部１１３は、他の掃除ロボットからの壁沿い信号を受信したか否かを判断する。ここで、壁沿い信号を受信していないと判断された場合（ステップＳ３１でＮＯ）、ステップＳ３２において、追従走行制御部１１３は、走行モードをランダム走行モードに変更する。
【００９８】
一方、壁沿い信号を受信したと判断された場合（ステップＳ３１でＹＥＳ）、ステップＳ３３において、発光制御部１１４は、壁沿い信号を発光させる制御信号を発光部１０５に出力する。発光部１０５は、制御信号を受信すると、壁沿い信号を発光する。
【００９９】
次に、ステップＳ３４において、追従走行制御部１１３は、先行する他の掃除ロボットの斜め後方を所定の距離を保って追従するように掃除ロボット１を走行させる制御信号を駆動部１３に出力する。駆動部１３は、制御信号を受信すると、他の掃除ロボットの斜め後方を所定の距離を保って追従するように掃除ロボット１を走行させる。
【０１００】
このように、追従走行モードでは、壁に沿って走行する他の移動ロボットの斜め後方を追従して走行することにより、複数の掃除ロボットが重複して通過する箇所及び複数の掃除ロボットが通過しない箇所を減らすことができ、効率的にタスクを実行することができる。
【０１０１】
（実施の形態２）
実施の形態１では、第１の掃除ロボットが、障害物に沿って走行する第２の掃除ロボットの斜め後方を追従する例を説明しているが、実施の形態２では、障害物に沿って走行する第２の掃除ロボットが壁などの障害物に接近した場合の第１の掃除ロボット及び第２の掃除ロボットの動作について説明する。
【０１０２】
図１２は、本実施の形態２に係る掃除ロボットの機能構成の一例を示すブロック図である。なお、実施の形態２において、実施の形態１における掃除ロボット１と同じ構成については、同じ符号を付し、説明を省略する。
【０１０３】
図１２に示す掃除ロボット２１は、制御部２１１、掃除部１２、駆動部１３、正面距離センサ１０１、左側面距離センサ１０２、右側面距離センサ１０３、撮像部１０４及び発光部１０５を少なくとも備える。
【０１０４】
制御部２１１は、例えば、ＣＰＵであり、掃除ロボット２１の移動を制御する。制御部２１１は、管理部１１１、走行制御部１１２１、追従走行制御部１１３１及び発光制御部１１４を備える。
【０１０５】
走行制御部１１２１は、掃除ロボット２１が他の自掃除ロボットとして障害物に沿って移動している際に、正面距離センサ１０１によって正面側に障害物が検知された場合に、右側面距離センサ１０３によって側面側に障害物が検知されるまで回転した後、所定時間停止するように駆動部１３を制御する。
【０１０６】
追従走行制御部１１３１は、掃除ロボット２１が他の自掃除ロボットに追従して移動している際に、他の掃除ロボットの移動状態が障害物に沿って移動することを示す移動状態でなくなった場合に、所定の時間直進するように駆動部１３を制御する。
【０１０７】
続いて、追従走行モードで走行する第１の掃除ロボットが、壁沿い走行モードで走行する第２の掃除ロボットを追従しており、第２の掃除ロボットの正面が壁に接近した場合の第１の掃除ロボット及び第２の掃除ロボットの動作について図１３及び図１４を用いて説明する。
【０１０８】
図１３は、本実施の形態２において、第１の掃除ロボットが追従している第２の掃除ロボットの正面が壁に接近している例について説明するための図であり、図１４は、本実施の形態２において、第１の掃除ロボットが追従している第２の掃除ロボットの正面が壁に接近してから所定の時間が経過した後、第１の掃除ロボットの走行モードと第２の掃除ロボットの走行モードとが入れ替わる動作について説明するための図である。
【０１０９】
図１３において、第２の掃除ロボット２１ｂは、正面が壁２に所定の距離より接近した場合、走行を停止するとともに、壁沿い信号の発光を停止する。そして、第２の掃除ロボット２１ｂは、右側面が壁２に沿うように左方向に回転し、所定の時間停止する。第２の掃除ロボット２１ｂの壁沿い信号の発光が停止された場合、第１の掃除ロボット２１ａは、追従走行を停止する。このとき、実施の形態１では、第１の掃除ロボット２１ａは、走行モードをランダム走行モードに変更しているが、実施の形態２では、第１の掃除ロボット２１ａは、所定の時間直進走行を行う。
【０１１０】
続いて、図１４において、第１の掃除ロボット２１ａは、壁２に接近することで壁沿い走行モードに移行する。このとき、第１の掃除ロボット２１ａは、壁沿い信号を発光する。第２の掃除ロボット２１ｂは、第１の掃除ロボット２１ａの壁沿い信号を受信することにより、第１の掃除ロボット２１ａに追従する追従走行モードに移行する。
【０１１１】
このように、追従走行モードで走行していた第１の掃除ロボット２１ａは、壁沿い走行モードで走行することになり、壁沿い走行モードで走行していた第２の掃除ロボット２１ｂは、追従走行モードで走行することになり、第１の掃除ロボット２１ａと第２の掃除ロボット２１ｂとの互いの走行モードが入れ替わる。
【０１１２】
以上のように構成された実施の形態２の掃除ロボット２１の壁沿い走行モードの動作及び追従走行モードの動作について図１５及び図１６を用いて説明する。なお、実施の形態２の掃除ロボット２１の基本移動動作及びランダム走行モードの動作については、実施の形態１と同じである。
【０１１３】
図１５は、本実施の形態２における掃除ロボットの壁沿い走行処理の一例を示すフローチャートである。
【０１１４】
ステップＳ４１の処理は、図１０のステップＳ２１の処理と同じであるので、説明を省略する。
【０１１５】
掃除ロボット２１の正面が壁に所定の距離より接近したと判断された場合（ステップＳ４１でＹＥＳ）、ステップＳ４２において、発光制御部１１４は、壁沿い信号の発光を停止させる制御信号を発光部１０５に出力する。発光部１０５は、制御信号を受信すると、壁沿い信号の発光を停止する。
【０１１６】
ステップＳ４３の処理は、図１０のステップＳ２２の処理と同じであるので、説明を省略する。
【０１１７】
次に、ステップＳ４４において、走行制御部１１２１は、掃除ロボット２１を所定の時間停止させる制御信号を駆動部１３に出力する。駆動部１３は、制御信号を受信すると、掃除ロボット１を所定の時間停止させる。なお、所定の時間は、自機に追従する他の掃除ロボットが存在する場合に、他の掃除ロボットが自機よりも先行するのに十分な時間が設定される。
【０１１８】
一方、掃除ロボット２１の正面が壁に所定の距離より接近していないと判断された場合（ステップＳ４１でＮＯ）、ステップＳ４５において、走行制御部１１２１は、他の掃除ロボットからの壁沿い信号を受信したか否かを判断する。ここで、壁沿い信号を受信したと判断された場合（ステップＳ４５でＹＥＳ）、ステップＳ４６において、走行制御部１１２１は、走行モードを追従走行モードに変更する。
【０１１９】
一方、壁沿い信号を受信していないと判断された場合（ステップＳ４５でＮＯ）、ステップＳ４７において、走行制御部１１２１は、掃除ロボット２１が壁沿い走行を開始してから、ランダムに決定した所定の壁沿い時間が経過したか否かを判断する。
【０１２０】
なお、ステップＳ４７〜ステップＳ５０の処理は、図１０のステップＳ２３〜ステップＳ２６の処理と同じであるので、説明を省略する。
【０１２１】
図１６は、本実施の形態２における掃除ロボットの追従走行処理の一例を示すフローチャートである。
【０１２２】
ステップＳ５１の処理は、図１１のステップＳ３１の処理と同じであるので、説明を省略する。
【０１２３】
壁沿い信号を受信していないと判断された場合（ステップＳ５１でＮＯ）、ステップＳ５２において、追従走行制御部１１３１は、掃除ロボット２１を所定の時間直進させる制御信号を駆動部１３に出力する。駆動部１３は、制御信号を受信すると、掃除ロボット１を所定の時間直進走行させる。なお、所定の時間は、自機が追従する他の掃除ロボットを先行するのに十分な時間が設定される。
【０１２４】
なお、ステップＳ５３〜ステップＳ５５の処理は、図１１のステップＳ３２〜ステップＳ３４の処理と同じであるので、説明を省略する。
【０１２５】
このように、本実施の形態２では、壁沿い走行モードで走行する第２の掃除ロボットの正面が壁に接近した場合、第２の掃除ロボットは、壁沿い信号の発光を停止し、側面が壁に沿うように回転し、所定の時間停止する。また、第２の掃除ロボットの斜め後方を追従していた第１の掃除ロボットは、第２の掃除ロボットからの壁沿い信号が受信されなくなると、所定の時間直進し、壁に接近すると、壁沿い走行モードに移行する。そして、第１の掃除ロボットが壁沿い走行モードで走行を開始すると、第１の掃除ロボットからの壁沿い信号を受信した第２の掃除ロボットは、追従走行モードに移行し、第１の掃除ロボットの斜め後方を追従する。
【０１２６】
したがって、壁沿い走行モードで走行する第２の掃除ロボットの側面と正面とに壁が存在する場合、すなわち、壁沿い走行モードで走行する第２の掃除ロボットが部屋の隅に到達した場合に、追従走行モードで走行する第１の掃除ロボットが第２の掃除ロボットを追従し続けるのを防止することができ、第１の掃除ロボットの走行モードと第２の掃除ロボットの走行モードとを入れ替えることによって、より効率的にタスクを実行することができる。
【０１２７】
（実施の形態３）
実施の形態１では、第１の掃除ロボットが、障害物に沿って走行する第２の掃除ロボットの斜め後方を追従する例を説明しているが、実施の形態３では、追従する第１の掃除ロボットの第２の掃除ロボットとは反対側の側面に壁などの障害物が接近した場合の第１の掃除ロボットの動作について説明する。
【０１２８】
図１７は、本実施の形態３に係る掃除ロボットの機能構成の一例を示すブロック図である。なお、実施の形態３において、実施の形態１における掃除ロボット１と同じ構成については、同じ符号を付し、説明を省略する。
【０１２９】
図１７に示す掃除ロボット３１は、制御部３１１、掃除部１２、駆動部１３、正面距離センサ１０１、左側面距離センサ１０２、右側面距離センサ１０３、撮像部１０４及び発光部１０５を少なくとも備える。
【０１３０】
制御部３１１は、例えば、ＣＰＵであり、掃除ロボット３１の移動を制御する。制御部３１１は、管理部１１１、走行制御部１１２、追従走行制御部１１３２及び発光制御部１１４を備える。
【０１３１】
追従走行制御部１１３２は、移動状態が障害物に沿って移動していることを示す移動状態であり、かつ他の掃除ロボットの反対側の側面側に障害物が検知された場合に、他の掃除ロボットに追従して移動しないように駆動部１３を制御する。
【０１３２】
続いて、追従走行モードで走行する第１の掃除ロボットが、壁沿い走行モードで走行する第２の掃除ロボットを追従しており、さらに第３の掃除ロボットが第１の掃除ロボットに追従を開始する場合の第３の掃除ロボットの動作について図１８及び図１９を用いて説明する。
【０１３３】
図１８は、本実施の形態３において、第３の掃除ロボットが第１の掃除ロボットへの追従を開始した例について説明するための図であり、図１９は、本実施の形態３において、追従を開始した第３の掃除ロボットが壁に接近した例について説明するための図である。
【０１３４】
図１８において、第１の掃除ロボット３１ａは、第１の壁２ａに沿って走行する第２の掃除ロボット３１ｂの斜め後方を追従している。ここで、第３の掃除ロボット３１ｃは、第１の掃除ロボット３１ａの壁沿い信号１０５１を受信し、走行モードを追従走行モードに移行し、第１の掃除ロボット３１ａの斜め後方への追従を開始する。
【０１３５】
続いて、図１９において、第３の掃除ロボット３１ｃは、先行する第１の掃除ロボット３１ａの斜め後方への追従を開始したが、第１の壁２ａに対向する位置に存在する第２の壁２ｂの接近を検知したため、追従走行モードからランダム走行モードに移行する。このように、本実施の形態３では、第１の壁２ａと第２の壁２ｂとの間の通路の幅が、３台以上の掃除ロボットが幅方向に並ぶことができない距離である場合に、３台以上の掃除ロボットが追従するのを防止する。
【０１３６】
以上のように構成された実施の形態３の掃除ロボット３１の追従走行モードの動作について図２０を用いて説明する。なお、実施の形態３の掃除ロボット３１の基本移動動作、ランダム走行モードの動作及び壁沿い走行モードの動作については、実施の形態１と同じである。
【０１３７】
図２０は、本実施の形態３における掃除ロボットの追従走行処理の一例を示すフローチャートである。
【０１３８】
ステップＳ６１及びステップＳ６２の処理は、図１１のステップＳ３１及びステップＳ３２の処理と同じであるので、説明を省略する。
【０１３９】
壁沿い信号を受信したと判断された場合（ステップＳ６１でＹＥＳ）、ステップＳ６３において、追従走行制御部１１３２は、左側面距離センサ１０２のセンサデータから、掃除ロボット３１の側面（左側面）が壁に所定の距離より接近したか否かを判断する。ここで、掃除ロボット３１の側面（左側面）が壁に所定の距離より接近したと判断された場合（ステップＳ６３でＹＥＳ）、ステップＳ６２の処理に移行する。一方、掃除ロボット３１の側面（左側面）が壁に所定の距離より接近していないと判断された場合（ステップＳ６３でＮＯ）、ステップＳ６４の処理に移行する。
【０１４０】
なお、ステップＳ６４及びステップＳ６５の処理は、図１１のステップＳ３３及びステップＳ３４の処理と同じであるので、説明を省略する。
【０１４１】
以上の本実施の形態３の動作により、狭い通路などにおいて、複数の掃除ロボット３１が通路の幅方向に並んで人の通行の妨げになることを防ぐことができる。
【０１４２】
なお、本実施の形態３では、先行する他の掃除ロボットは、右側面が壁に沿うように走行しているので、追従する掃除ロボットの追従走行制御部１１３２は、掃除ロボットの左側面が壁に所定の距離より接近したか否かを判断しているが、本開示は特にこれに限定されない。例えば、先行する他の掃除ロボットが、左側面が壁に沿うように走行している場合、追従する掃除ロボットの追従走行制御部１１３２は、掃除ロボットの右側面が壁に所定の距離より接近したか否かを判断してもよい。
【０１４３】
なお、本実施の形態１，２では、２台の掃除ロボットが自律移動しているが、本開示は特にこれに限定されず、３台以上の掃除ロボットが自律移動してもよい。また、本実施の形態３では、３台の掃除ロボットが自律移動しているが、本開示は特にこれに限定されず、４台以上の掃除ロボットが自律移動してもよい。
【０１４４】
また、本実施の形態１〜３では、所定の領域内を自律移動しながら掃除する掃除ロボットを自律移動体の一例として説明しているが、本開示は特にこれに限定されず、自律移動体は、所定の領域内を自律移動しながら草を刈る草刈りロボット、所定の領域内を自律移動しながら塗装する塗装ロボット、又は、橋梁、トンネル、ダム及びビル等の構造物の表面を点検する点検ロボットであってもよい。また、自律移動体は、自律的に飛行しながら所定のタスクを実行する無人飛行体であってもよい。
【０１４５】
本開示において、ユニット、装置、部材又は部の全部又は一部、又は図に示されるブロック図の機能ブロックの全部又は一部は、半導体装置、半導体集積回路（ＩＣ）、又はＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）を含む一つ又は複数の電子回路によって実行されてもよい。ＬＳＩ又はＩＣは、一つのチップに集積されてもよいし、複数のチップを組み合わせて構成されてもよい。例えば、記憶素子以外の機能ブロックは、一つのチップに集積されてもよい。ここでは、ＬＳＩやＩＣと呼んでいるが、集積の度合いによって呼び方が変わり、システムＬＳＩ、ＶＬＳＩ（Ｖｅｒｙ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）、若しくはＵＬＳＩ（Ｕｌｔｒａ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）と呼ばれるものであってもよい。ＬＳＩの製造後にプログラムされる、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）、又はＬＳＩ内部の接合関係の再構成又はＬＳＩ内部の回路区画のセットアップができるＲｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅも同じ目的で使うことができる。
【０１４６】
さらに、ユニット、装置、部材又は部の全部又は一部の機能又は操作は、ソフトウエア処理によって実行することが可能である。この場合、ソフトウエアは一つ又は複数のＲＯＭ、光学ディスク、ハードディスクドライブなどの非一時的記録媒体に記録され、ソフトウエアが処理装置（Ｐｒｏｃｅｓｓｏｒ）によって実行されたときに、そのソフトウエアで特定された機能が処理装置（Ｐｒｏｃｅｓｓｏｒ）および周辺装置によって実行される。システム又は装置は、ソフトウエアが記録されている一つ又は複数の非一時的記録媒体、処理装置（Ｐｒｏｃｅｓｓｏｒ）、及び必要とされるハードウエアデバイス、例えばインターフェース、を備えていてもよい。
【産業上の利用可能性】
【０１４７】
本開示に係る自律移動体、移動制御方法及び移動制御プログラムは、複数の自律移動体が重複して通過する箇所又は複数の自律移動体が通過しない箇所を削減することができ、効率的にタスクを実行することができ、自律的に移動しながら所定のタスクを実行する自律移動体、移動制御方法及び移動制御プログラムとして有用である。
【符号の説明】
【０１４８】
１，２１，３１    掃除ロボット
１ａ，２１ａ，３１ａ    第１の掃除ロボット
１ｂ，２１ｂ，３１ｂ    第２の掃除ロボット
２    壁
２ａ    第１の壁
２ｂ    第２の壁
１１，２１１，３１１    制御部
１２    掃除部
１３    駆動部
３１ｃ    第３の掃除ロボット
１０１    正面距離センサ
１０２    左側面距離センサ
１０３    右側面距離センサ
１０４    撮像部
１０５    発光部
１０５ａ    第１の発光素子
１０５ｂ    第２の発光素子
１１１    管理部
１１２，１１２１    走行制御部
１１３，１１３１，１１３２    追従走行制御部
１１４    発光制御部
１０４１    撮像素子
１０５１    壁沿い信号
【図１】
2018106217.tif 000003
【図２】
2018106217.tif 000004
【図３】
2018106217.tif 000005
【図４】
2018106217.tif 000006
【図５】
2018106217.tif 000007
【図６】
2018106217.tif 000008
【図７】
2018106217.tif 000009
【図８】
2018106217.tif 000010
【図９】
2018106217.tif 000011
【図１０】
2018106217.tif 000012
【図１１】
2018106217.tif 000013
【図１２】
2018106217.tif 000014
【図１３】
2018106217.tif 000015
【図１４】
2018106217.tif 000016
【図１５】
2018106217.tif 000017
【図１６】
2018106217.tif 000018
【図１７】
2018106217.tif 000019
【図１８】
2018106217.tif 000020
【図１９】
2018106217.tif 000021
【図２０】
2018106217.tif 000022