(57)【要約】【課題】移動体がより適切な移動経路を移動し得る移動体システムを提供する。【解決手段】  移動体システム１は、３つの移動体１０Ａ、１０Ｂ及び１０Ｃが第一エリアから第二エリアに移動する際には、（ａ）移動体１０Ｃは、移動体１０Ａまでの距離と、移動体１０Ｂまでの距離とを用いて、境界エリアに移動して一時的に停止し、（ｂ）移動体１０Ｃが境界エリアに移動した後、移動体１０Ａは、移動体１０Ｂまでの距離と、移動体１０Ｃまでの距離とを用いて、境界エリアに移動して一時的に停止し、（ｃ）移動体１０Ｃが境界エリアに移動した後、移動体１０Ｂは、移動体１０Ａまでの距離と、移動体１０Ｃまでの距離とを用いて、境界エリアに移動して一時的に停止する。【選択図】図５
2020109618.tif 000002
【特許請求の範囲】
【請求項１】
空間を移動する少なくとも３つの移動体を備える移動体システムであって、
前記少なくとも３つの移動体のそれぞれは、
第一エリアと、第二エリアと、前記第一エリアと前記第二エリアとが重複する境界エリアとを含む前記空間の地図情報を記憶している記憶部と、
測距センサと、
当該移動体を移動させる移動部と、
前記測距センサが取得した距離情報に基づいて推定される当該移動体の位置と、前記記憶部が記憶している前記地図情報とを用いて、前記移動部による当該移動体の移動を制御する制御部とを備え、
前記少なくとも３つの移動体は、第一移動体、第二移動体、及び第三移動体を含み、
（ｉ）前記少なくとも３つの移動体が前記第一エリア内で移動する際には、
前記第一移動体及び前記第二移動体は、前記第一エリア内の任意の位置から前記測距センサによる測距が可能である第一距離以内である位置に一時的に停止し、
前記第三移動体は、前記第三移動体が有する前記測距センサによって計測された前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離とに基づいて推定される前記第三移動体の位置を用いて移動し、
（ｉｉ）前記少なくとも３つの移動体が前記第一エリアから前記第二エリアに移動する際には、
（ａ）前記第三移動体は、前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、
（ｂ）前記第三移動体が前記境界エリアに移動した後、前記第一移動体は、前記第一移動体から前記第二移動体までの距離と、前記第一移動体から前記第三移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、
（ｃ）前記第三移動体が前記境界エリアに移動した後、前記第二移動体は、前記第二移動体から前記第一移動体までの距離と、前記第二移動体から前記第三移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止する
移動体システム。
【請求項２】
（ｉｉｉ）前記少なくとも３つの移動体が前記第一エリアから前記第二エリアに移動した後、前記第二エリアを移動する際には、
前記第一移動体及び第二移動体それぞれは、前記第二エリア内の任意の位置から前記第一距離以内である位置に移動して一時的に停止し、
前記第三移動体は、前記第三移動体が有する前記測距センサによって計測された前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離とに基づいて推定される前記第三移動体の位置を用いて移動する
請求項１に記載の移動体システム。
【請求項３】
（ｉｉｉ）前記少なくとも３つの移動体が前記第一エリアから前記第二エリアに移動した後、前記第二エリアを移動する際には、
前記第二移動体及び第三移動体それぞれは、前記第二エリア内の任意の位置から前記第一距離以内である位置に移動して一時的に停止し、
前記第一移動体は、前記第一移動体が有する前記測距センサによって計測された前記第一移動体から前記第二移動体までの距離と、前記第一移動体から前記第三移動体までの距離とに基づいて推定される前記第一移動体の位置を用いて移動する
請求項１に記載の移動体システム。
【請求項４】
前記空間は、前記第一エリア及び前記第二エリアを含む複数のエリアを有し、
前記複数のエリアのそれぞれは、平行四辺形の形状を有し、
前記平行四辺形の４つの頂点のうち、対向する２つの頂点は、当該エリア内の任意の位置から前記第一距離以内である２点それぞれを中心とした円である２つの円の２つの交点であり、
前記平行四辺形は、上記２つの円の重複領域に内接している
請求項１〜３のいずれか１項に記載の移動体システム。
【請求項５】
前記空間は、前記第一エリア及び前記第二エリアを含む複数のエリアを有し、
前記複数のエリアのそれぞれにおいて、
前記当該エリア内の任意の位置から前記第一距離以内である２点は、当該エリアの端縁である辺上にある
請求項１〜４のいずれか１項に記載の移動体システム。
【請求項６】
前記第二エリアは、固定面の上に配置されたカーペットが含まれる領域であり、前記第一エリアは、前記カーペットが位置していない前記固定面であり、
前記第二移動体及び前記第三移動体は、前記カーペットを前記固定面に押さえつける位置にしている
請求項２に記載の移動体システム。
【請求項７】
前記第一移動体は、前記第二移動体と前記第三移動体との間を結ぶ直線上を通過するように、前記第二エリアを移動する、
請求項６に記載の移動体システム。
【請求項８】
空間を移動する少なくとも４つの移動体を備える移動体システムであって、
前記少なくとも４つの移動体のそれぞれは、
第一エリアと、第二エリアと、前記第一エリアと前記第二エリアとが重複する境界エリアとを含む前記空間の地図情報を記憶している記憶部と、
測距センサと、
当該移動体を移動させる移動部と、
前記測距センサが取得した距離情報に基づいて推定される当該移動体の位置と、前記記憶部が記憶している前記地図情報とを用いて、前記移動部による当該移動体の移動を制御する制御部とを備え、
前記少なくとも４つの移動体は、第一移動体、第二移動体、第三移動体及び第四移動体を含み、
（ｉ）前記少なくとも４つの移動体が前記第一エリア内で移動する際には、
前記第一移動体、前記第二移動体及び前記第三移動体は、前記第一エリア内の任意の位置から前記測距センサによる測距が可能である第一距離以内である位置に一時的に停止し、
前記第四移動体は、前記第四移動体が有する前記測距センサによって計測された前記第四移動体から前記第一移動体までの距離と、前記第四移動体から前記第二移動体までの距離と、前記第四移動体から前記第三移動体までの距離と、に基づいて推定される前記第四移動体の位置を用いて移動し、
（ｉｉ）前記少なくとも４つの移動体が前記第一エリアから前記第二エリアに移動する際には、
（ａ）前記第四移動体は、前記第四移動体から前記第一移動体までの距離と、前記第四移動体から前記第二移動体までの距離と前記第四移動体から前記第三移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、
（ｂ）前記第四移動体が前記境界エリアに移動した後、前記第一移動体は、前記第一移動体から前記第二移動体までの距離と、前記第一移動体から前記第三移動体までの距離と前記第一移動体から前記第四移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、
（ｃ）前記第四移動体が前記境界エリアに移動した後、前記第二移動体は、前記第二移動体から前記第一移動体までの距離と、前記第二移動体から前記第三移動体までの距離と、前記第二移動体から前記第四移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、
（ｄ）前記第四移動体が前記境界エリアに移動した後、前記第三移動体は、前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離と、前記第三移動体から前記第四移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止する
移動体システム。
【請求項９】
空間を移動する少なくとも３つの移動体を備える移動体システムの制御方法であって、
前記少なくとも３つの移動体のそれぞれは、
第一エリアと、第二エリアと、前記第一エリアと前記第二エリアとが重複する境界エリアとを含む前記空間の地図情報を記憶している記憶部と、
測距センサと、
当該移動体を移動させる移動部と、
前記測距センサが取得した距離情報に基づいて推定される当該移動体の位置と、前記記憶部が記憶している前記地図情報とを用いて、前記移動部による当該移動体の移動を制御する制御部とを備え、
前記少なくとも３つの移動体は、第一移動体、第二移動体、及び第三移動体を含み、
（ｉ）前記少なくとも３つの移動体が前記第一エリア内で移動する際には、
前記第一移動体及び前記第二移動体は、前記第一エリア内の任意の位置から前記測距センサによる測距が可能である第一距離以内である位置に一時的に停止し、
前記第三移動体は、前記第三移動体が有する前記測距センサによって計測された前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離とに基づいて推定される前記第三移動体の位置を用いて移動し、
（ｉｉ）前記少なくとも３つの移動体が前記第一エリアから前記第二エリアに移動する際には、
（ａ）前記第三移動体は、前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、
（ｂ）前記第三移動体が前記境界エリアに移動した後、前記第一移動体は、前記第一移動体から前記第二移動体までの距離と、前記第一移動体から前記第三移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、
（ｃ）前記第三移動体が前記境界エリアに移動した後、前記第二移動体は、前記第二移動体から前記第一移動体までの距離と、前記第二移動体から前記第三移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止する
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体システム、および、制御方法に関する。
【背景技術】
【０００２】
従来、清掃面を自律的に走行し、清掃面上に存在するごみを吸引する自律走行型掃除機が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１６／００２１８６号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の自律走行型掃除機のような移動ロボット（ｍｏｂｉｌｅ  ｒｏｂｏｔ）は、移動経路の設定について改善の余地がある。
【０００５】
そこで、本発明は、移動体がより適切な移動経路を移動し得る移動体システムを提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る移動体システムは、空間を移動する少なくとも３つの移動体を備える移動体システムであって、前記少なくとも３つの移動体のそれぞれは、第一エリアと、第二エリアと、前記第一エリアと前記第二エリアとが重複する境界エリアとを含む前記空間の地図情報を記憶している記憶部と、測距センサと、当該移動体を移動させる移動部と、前記測距センサが取得した距離情報に基づいて推定される当該移動体の位置と、前記記憶部が記憶している前記地図情報とを用いて、前記移動部による当該移動体の移動を制御する制御部とを備え、前記少なくとも３つの移動体は、第一移動体、第二移動体、及び第三移動体を含み、（ｉ）前記少なくとも３つの移動体が前記第一エリア内で移動する際には、前記第一移動体及び前記第二移動体は、前記第一エリア内の任意の位置から前記測距センサによる測距が可能である第一距離以内である位置に一時的に停止し、前記第三移動体は、前記第三移動体が有する前記測距センサによって計測された前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離とに基づいて推定される前記第三移動体の位置を用いて移動し、（ｉｉ）前記少なくとも３つの移動体が前記第一エリアから前記第二エリアに移動する際には、（ａ）前記第三移動体は、前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、（ｂ）前記第三移動体が前記境界エリアに移動した後、前記第一移動体は、前記第一移動体から前記第二移動体までの距離と、前記第一移動体から前記第三移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、（ｃ）前記第三移動体が前記境界エリアに移動した後、前記第二移動体は、前記第二移動体から前記第一移動体までの距離と、前記第二移動体から前記第三移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止する。
【０００７】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００８】
本発明の移動体システムにより、移動体がより適切な移動経路を移動することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態における移動体の外観を模式的に示す上面図である。
【図２】図２は、実施の形態における移動体の外観を模式的に示す側面図である。
【図３】図３は、実施の形態における移動体の内部構造を模式的に示す上面図である。
【図４】図４は、実施の形態における移動体の制御回路の機能構成を詳細に示すブロック図である。
【図５】図５は、実施の形態における移動体システムが移動し得る領域の一例と、その領域内に位置する移動体とを模式的に示す説明図である。
【図６】図６は、実施の形態における移動体システムが複数のエリアを巡回する際の処理を示すフロー図である。
【図７】図７は、実施の形態における移動体システムにより設定されるエリアの第一例を示す説明図である。
【図８】図８は、図７に示されるエリアの面積を示す説明図である。
【図９】図９は、実施の形態における移動体システムにより設定されるエリアの第二例を示す説明図である。
【図１０】図１０は、図９に示されるエリアの面積を示す説明図である。
【図１１】図１１は、実施の形態における移動体システムが設定する複数のエリアを示す説明図である。
【図１２】図１２は、実施の形態における移動体システムが複数のエリアに対応するグラフを作成する処理を示すフロー図である。
【図１３】図１３は、実施の形態における移動体システムが複数のエリアをノードに対応付けたグラフを示す説明図である。
【図１４】図１４は、実施の形態におけるグラフの修正の方法を示す第一の説明図である。
【図１５】図１５は、実施の形態におけるグラフの修正の方法を示す第二の説明図である。
【図１６】図１６は、実施の形態における移動体システムが複数のエリアを移動する移動経路の一例を示す説明図である。
【図１７】図１７は、実施の形態における移動体システムが第一エリアから第二エリアに移動する際の移動体の動作を示すフロー図である。
【図１８】図１８は、実施の形態における移動体システムが第一エリアから第二エリアに移動する際の移動体の位置を示す第一の説明図である。
【図１９】図１９は、実施の形態における移動体システムが第一エリアから第二エリアに移動する際の移動体の位置を示す第二の説明図である。
【図２０】図２０は、実施の形態における移動体システムが第一エリアから第二エリアに移動する際の移動体の位置を示す第三の説明図である。
【図２１】図２１は、実施の形態における移動体システムが第一エリアから第二エリアに移動する際の移動体の位置を示す第四の説明図である。
【図２２】図２２は、実施の形態における移動体システムが第一エリアから第二エリアに移動する際の移動体の位置を示す第五の説明図である。
【図２３】図２３は、実施の形態における移動体システムが第一エリアから第二エリアに移動する際の移動体の位置を示す第六の説明図である。
【図２４】図２４は、実施の形態における移動体システムが第一エリアから第二エリアに移動する際の移動体の位置を示す第七の説明図である。
【図２５】図２５は、実施の形態における移動体が実行する処理を示すフロー図である。
【図２６】図２６は、実施の形態における移動体が実行する、基準移動体の処理を示すフロー図である。
【図２７】図２７は、実施の形態における移動体が実行する、可動移動体の処理を示すフロー図である。
【図２８】図２８は、実施の形態における移動体が、２台の基準移動体の位置と、２台の基準移動体までの距離とを用いて自機の位置を推定する処理を示すフロー図である。
【図２９】図２９は、実施の形態における移動体が、２台の基準移動体の位置と、２台の基準移動体までの距離とを用いて自機の位置を推定するときの位置関係を示す説明図である。
【図３０】図３０は、実施の形態における基準移動体のタスクの一例を示す説明図である。
【図３１】図３１は、実施の形態における移動体の軌跡に基づいて視認され得るエリアの境界を示す説明図である。
【図３２】図３２は、実施の形態の変形例における移動体の一例を示す説明図である。
【発明を実施するための形態】
【００１０】
本発明の一態様に係る移動体システムは、空間を移動する少なくとも３つの移動体を備える移動体システムであって、前記少なくとも３つの移動体のそれぞれは、第一エリアと、第二エリアと、前記第一エリアと前記第二エリアとが重複する境界エリアとを含む前記空間の地図情報を記憶している記憶部と、測距センサと、当該移動体を移動させる移動部と、前記測距センサが取得した距離情報に基づいて推定される当該移動体の位置と、前記記憶部が記憶している前記地図情報とを用いて、前記移動部による当該移動体の移動を制御する制御部とを備え、前記少なくとも３つの移動体は、第一移動体、第二移動体、及び第三移動体を含み、（ｉ）前記少なくとも３つの移動体が前記第一エリア内で移動する際には、前記第一移動体及び前記第二移動体は、前記第一エリア内の任意の位置から前記測距センサによる測距が可能である第一距離以内である位置に一時的に停止し、前記第三移動体は、前記第三移動体が有する前記測距センサによって計測された前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離とに基づいて推定される前記第三移動体の位置を用いて移動し、（ｉｉ）前記少なくとも３つの移動体が前記第一エリアから前記第二エリアに移動する際には、（ａ）前記第三移動体は、前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、（ｂ）前記第三移動体が前記境界エリアに移動した後、前記第一移動体は、前記第一移動体から前記第二移動体までの距離と、前記第一移動体から前記第三移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、（ｃ）前記第三移動体が前記境界エリアに移動した後、前記第二移動体は、前記第二移動体から前記第一移動体までの距離と、前記第二移動体から前記第三移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止する。
【００１１】
例えば、（ｉｉｉ）前記少なくとも３つの移動体が前記第一エリアから前記第二エリアに移動した後、前記第二エリアを移動する際には、前記第一移動体及び第二移動体それぞれは、前記第二エリア内の任意の位置から前記第一距離以内である位置に移動して一時的に停止し、前記第三移動体は、前記第三移動体が有する前記測距センサによって計測された前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離とに基づいて推定される前記第三移動体の位置を用いて移動してもよい。
【００１２】
例えば、（ｉｉｉ）前記少なくとも３つの移動体が前記第一エリアから前記第二エリアに移動した後、前記第二エリアを移動する際には、前記第二移動体及び第三移動体それぞれは、前記第二エリア内の任意の位置から前記第一距離以内である位置に移動して一時的に停止し、前記第一移動体は、前記第一移動体が有する前記測距センサによって計測された前記第一移動体から前記第二移動体までの距離と、前記第一移動体から前記第三移動体までの距離とに基づいて推定される前記第一移動体の位置を用いて移動してもよい。
【００１３】
例えば、前記空間は、前記第一エリア及び前記第二エリアを含む複数のエリアを有し、前記複数のエリアのそれぞれは、平行四辺形の形状を有し、前記平行四辺形の４つの頂点のうち、対向する２つの頂点は、当該エリア内の任意の位置から前記第一距離以内である２点それぞれを中心とした円である２つの円の２つの交点であり、前記平行四辺形は、上記２つの円の重複領域に内接していてもよい。
【００１４】
例えば、前記複数のエリアのそれぞれにおいて、前記当該エリア内の任意の位置から前記第一距離以内である２点は、当該エリアの端縁である辺上にあってもよい。
【００１５】
例えば、前記第二エリアは、固定面の上に配置されたカーペットが含まれる領域であり、前記第一エリアは、前記カーペットが位置していない前記固定面であり、前記第二移動体及び前記第三移動体は、前記カーペットを前記固定面に押さえつける位置にしていてもよい。
【００１６】
例えば、前記第一移動体は、前記第二移動体と前記第三移動体との間を結ぶ直線上を通過するように、前記第二エリアを移動してもよい。
【００１７】
また、本発明の一態様に係る移動体システムは、空間を移動する少なくとも４つの移動体を備える移動体システムであって、前記少なくとも４つの移動体のそれぞれは、第一エリアと、第二エリアと、前記第一エリアと前記第二エリアとが重複する境界エリアとを含む前記空間の地図情報を記憶している記憶部と、測距センサと、当該移動体を移動させる移動部と、前記測距センサが取得した距離情報に基づいて推定される当該移動体の位置と、前記記憶部が記憶している前記地図情報とを用いて、前記移動部による当該移動体の移動を制御する制御部とを備え、前記少なくとも４つの移動体は、第一移動体、第二移動体、第三移動体及び第四移動体を含み、（ｉ）前記少なくとも４つの移動体が前記第一エリア内で移動する際には、前記第一移動体、前記第二移動体及び前記第三移動体は、前記第一エリア内の任意の位置から前記測距センサによる測距が可能である第一距離以内である位置に一時的に停止し、前記第四移動体は、前記第四移動体が有する前記測距センサによって計測された前記第四移動体から前記第一移動体までの距離と、前記第四移動体から前記第二移動体までの距離と、前記第四移動体から前記第三移動体までの距離と、に基づいて推定される前記第四移動体の位置を用いて移動し、（ｉｉ）前記少なくとも４つの移動体が前記第一エリアから前記第二エリアに移動する際には、（ａ）前記第四移動体は、前記第四移動体から前記第一移動体までの距離と、前記第四移動体から前記第二移動体までの距離と前記第四移動体から前記第三移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、（ｂ）前記第四移動体が前記境界エリアに移動した後、前記第一移動体は、前記第一移動体から前記第二移動体までの距離と、前記第一移動体から前記第三移動体までの距離と前記第一移動体から前記第四移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、（ｃ）前記第四移動体が前記境界エリアに移動した後、前記第二移動体は、前記第二移動体から前記第一移動体までの距離と、前記第二移動体から前記第三移動体までの距離と、前記第二移動体から前記第四移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、（ｄ）前記第四移動体が前記境界エリアに移動した後、前記第三移動体は、前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離と、前記第三移動体から前記第四移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止する。
【００１８】
また、本発明の一態様に係る移動体システムの制御方法は、空間を移動する少なくとも３つの移動体を備える移動体システムの制御方法であって、前記少なくとも３つの移動体のそれぞれは、第一エリアと、第二エリアと、前記第一エリアと前記第二エリアとが重複する境界エリアとを含む前記空間の地図情報を記憶している記憶部と、測距センサと、当該移動体を移動させる移動部と、前記測距センサが取得した距離情報に基づいて推定される当該移動体の位置と、前記記憶部が記憶している前記地図情報とを用いて、前記移動部による当該移動体の移動を制御する制御部とを備え、前記少なくとも３つの移動体は、第一移動体、第二移動体、及び第三移動体を含み、（ｉ）前記少なくとも３つの移動体が前記第一エリア内で移動する際には、前記第一移動体及び前記第二移動体は、前記第一エリア内の任意の位置から前記測距センサによる測距が可能である第一距離以内である位置に一時的に停止し、前記第三移動体は、前記第三移動体が有する前記測距センサによって計測された前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離とに基づいて推定される前記第三移動体の位置を用いて移動し、（ｉｉ）前記少なくとも３つの移動体が前記第一エリアから前記第二エリアに移動する際には、（ａ）前記第三移動体は、前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、（ｂ）前記第三移動体が前記境界エリアに移動した後、前記第一移動体は、前記第一移動体から前記第二移動体までの距離と、前記第一移動体から前記第三移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、（ｃ）前記第三移動体が前記境界エリアに移動した後、前記第二移動体は、前記第二移動体から前記第一移動体までの距離と、前記第二移動体から前記第三移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止する。
【００１９】
また、本発明の一態様に係る移動体システムは、面に沿って移動可能である少なくとも３つの移動体を備える移動体システムであって、前記少なくとも３つの移動体のそれぞれは、前記面上の第一エリアと、前記第一エリアと少なくとも一部が重複する第二エリアとの位置を示す地図情報を記憶している記憶部と、測距センサと、当該移動体を移動させる移動部と、前記測距センサが取得した距離情報に基づいて推定される当該移動体の位置と、前記記憶部が記憶している前記地図情報とを用いて、前記移動部による当該移動体の移動を制御する制御部とを備え、前記少なくとも３つの移動体は、前記第一エリア内に位置しており、前記少なくとも３つの移動体のうちの２つの移動体のそれぞれは、前記制御部により、前記第一エリア内の任意の位置から前記測距センサによる測距が可能である第一距離以内である位置に一時的に停止している基準移動体として機能し、前記少なくとも３つの移動体のうちの前記２つの移動体を除く移動体は、前記制御部により、当該移動体が有する前記測距センサによって計測された当該移動体から前記基準移動体それぞれまでの距離に基づいて推定される当該移動体の位置を用いて前記第一エリア内で移動する可動移動体として機能し、前記少なくとも３つの移動体が第一エリアから前記第二エリアに移動する際には、（ａ）前記可動移動体は、前記制御部により、２つの前記基準移動体までの距離の計測を用いて前記第一エリアと前記第二エリアとの境界エリアに移動して一時的に停止し、（ｂ）前記基準移動体は、前記制御部により、順次に、一時的に停止している前記可動移動体又は前記基準移動体の２つを用いて前記境界エリアに移動して一時的に停止し、（ｃ）前記少なくとも３つの移動体のうちの２つの移動体それぞれは、前記制御部により、前記第二エリア内の任意の位置から前記第一距離以内である位置に移動して一時的に停止することで、新たな基準移動体として機能し、（ｄ）前記少なくとも３つの移動体のうちの前記新たな基準移動体を除く移動体は、前記制御部により、当該移動体が有する前記測距センサによって計測された当該移動体から前記新たな基準移動体それぞれまでの距離に基づいて推定される当該移動体の位置を用いて前記第二エリア内で移動する、新たな可動移動体として機能する。
【００２０】
上記態様によれば、移動体システムは、面に沿って移動する場合に、可動移動体の周囲に壁などの物がない等の理由で自己位置推定ができない場合に、基準移動体を利用して自己位置推定をする。そして、移動体システムが第一エリアから第二エリアに移動するときには、３つの移動体が境界エリアに一旦移動し、その後に第二エリアに移動するようにすることで、可動移動体による自己位置推定ができなくなることを回避することができる。これにより、可動移動体が継続的に自己位置推定をしながら第一エリアから第二エリアに移動することができ、これを繰り返すことで複数のエリアを巡回することができる。このようにして、移動体がより適切な移動経路を移動することができる。ここで、基準移動体は第一移動体及び第二移動体に相当し、可動移動体は第三移動体に相当する。
【００２１】
例えば、前記新たな可動移動体は、前記可動移動体とは異なってもよい。
【００２２】
上記態様によれば、移動体システムにおいて可動移動体として機能する移動体が交代することができる。これにより、複数の移動体に亘る電力消費の均一化の効果があり、ひいては、移動体システム全体として長時間駆動できる効果がある。
【００２３】
例えば、前記複数のエリアのそれぞれは、平行四辺形の形状を有し、前記平行四辺形の４つの頂点のうち、対向する２つの頂点は、当該エリア内の任意の位置から前記第一距離以内である２点それぞれを中心とした円である２つの円の２つの交点であり、前記平行四辺形は、上記２つの円の重複領域に内接していてもよい。
【００２４】
上記態様によれば、平行四辺形の形状を有するエリアを用いて、移動体が移動し得る領域に、より容易に、複数のエリアを設定することができる。
【００２５】
例えば、前記複数のエリアのそれぞれにおいて、前記当該エリア内の任意の位置から前記第一距離以内である２点は、当該エリアの端縁である辺上にあってもよい。
【００２６】
上記態様によれば、移動体システムにおいて可動移動体が移動するときに、基準移動体が存在していることによって、可動移動体の移動を制限したり、移動の邪魔になってしまうことが回避され得る。
【００２７】
例えば、前記複数のエリアのそれぞれにおいて、前記当該エリア内の任意の位置から前記第一距離以内である２点は、当該エリアの端縁である辺上にあってもよい。
【００２８】
上記態様によれば、移動体システムは、可動移動体の移動によりカーペットがずれる等して可動移動体のタスクの実行の障害が生ずることを回避し得る。
【００２９】
また、本発明の一態様に係る移動体システムは、空間内を移動可能である少なくとも４つの移動体を備える移動体システムであって、前記少なくとも４つの移動体のそれぞれは、前記空間内の第一エリアと、前記第一エリアと少なくとも一部が重複する第二エリアとの位置を示す地図情報を記憶している記憶部と、測距センサと、当該移動体を移動させる移動部と、前記測距センサが取得した距離情報に基づいて推定される当該移動体の位置と、前記記憶部が記憶している前記地図情報とを用いて、前記移動部による当該移動体の移動を制御する制御部とを備え、前記少なくとも４つの移動体は、前記第一エリア内に位置しており、前記少なくとも４つの移動体のうちの３つの移動体のそれぞれは、前記制御部により、前記第一エリア内の任意の位置から前記測距センサによる測距が可能である第一距離以内である位置に一時的に停止している基準移動体として機能し、前記少なくとも４つの移動体のうちの前記３つの移動体を除く移動体は、前記制御部により、当該移動体が有する前記測距センサによって計測された当該移動体から前記基準移動体それぞれまでの距離に基づいて推定される当該移動体の位置を用いて前記第一エリア内で移動する可動移動体として機能し、前記少なくとも４つの移動体が第一エリアから前記第二エリアに移動する際には、（ａ）前記可動移動体は、前記制御部により、３つの前記基準移動体までの距離の計測を用いて前記第一エリアと前記第二エリアとの境界エリアに移動して一時的に停止し、（ｂ）前記基準移動体は、前記制御部により、順次に、一時的に停止している前記可動移動体又は前記基準移動体の３つを用いて前記境界エリアに移動して一時的に停止し、（ｃ）前記少なくとも４つの移動体のうちの３つの移動体それぞれは、前記制御部により、前記第二エリア内の任意の位置から前記第一距離以内である位置に移動して一時的に停止することで、新たな基準移動体として機能し、（ｄ）前記少なくとも４つの移動体のうちの前記新たな基準移動体を除く移動体は、前記制御部により、当該移動体が有する前記測距センサによって計測された当該移動体から前記新たな基準移動体それぞれまでの距離に基づいて推定される当該移動体の位置を用いて前記第二エリア内で移動する、新たな可動移動体として機能する。
【００３０】
上記態様によれば、移動体システムは、空間内を移動する場合に、可動移動体の周囲に壁などの物がない等の理由で自己位置推定ができない場合に、基準移動体を利用して自己位置推定をする。そして、移動体システムが第一エリアから第二エリアに移動するときには、４つの移動体が一旦境界エリアに移動し、その後に第二エリアに移動するようにすることで、可動移動体による自己位置推定ができなくなることを回避することができる。そして、可動移動体が継続的に自己位置推定をしながら第一エリアから第二エリアに移動することができ、これを繰り返すことで複数のエリアを巡回することができる。このようにして、移動体がより適切な移動経路を移動することができる。
【００３１】
また、本発明の一態様に係る制御方法は、面に沿って移動可能である少なくとも３つの移動体を備える移動体システムの制御方法であって、前記少なくとも３つの移動体のそれぞれは、前記面上の第一エリアと、前記第一エリアと少なくとも一部が重複する第二エリアとの位置を示す地図情報を記憶している記憶部と、測距センサと、当該移動体を移動させる移動部と、前記測距センサが取得した距離情報に基づいて推定される当該移動体の位置と、前記記憶部が記憶している前記地図情報とを用いて、前記移動部による当該移動体の移動を制御する制御部とを備え、前記少なくとも３つの移動体は、前記第一エリア内に位置しており、前記少なくとも３つの移動体のうちの２つの移動体のそれぞれは、前記制御部により、前記第一エリア内の任意の位置から前記測距センサによる測距が可能である第一距離以内である位置に一時的に停止している基準移動体として機能し、前記少なくとも３つの移動体のうちの前記２つの移動体を除く移動体は、前記制御部により、当該移動体が有する前記測距センサによって計測された当該移動体から前記基準移動体それぞれまでの距離に基づいて推定される当該移動体の位置を用いて前記第一エリア内で移動する可動移動体として機能し、前記少なくとも３つの移動体が第一エリアから前記第二エリアに移動する際には、（ａ）前記可動移動体は、前記制御部により、２つの前記基準移動体までの距離の計測を用いて前記第一エリアと前記第二エリアとの境界エリアに移動して一時的に停止し、（ｂ）前記基準移動体は、前記制御部により、順次に、一時的に停止している前記可動移動体又は前記基準移動体の２つを用いて前記境界エリアに移動して一時的に停止し、（ｃ）前記少なくとも３つの移動体のうちの２つの移動体それぞれは、前記制御部により、前記第二エリア内の任意の位置から前記第一距離以内である位置に移動して一時的に停止することで、新たな基準移動体として機能し、（ｄ）前記少なくとも３つの移動体のうちの前記新たな基準移動体を除く移動体は、前記制御部により、当該移動体が有する前記測距センサによって計測された当該移動体から前記新たな基準移動体それぞれまでの距離に基づいて推定される当該移動体の位置を用いて前記第二エリア内で移動する、新たな可動移動体として機能する。
【００３２】
上記態様によれば、上記移動体システムと同様の効果を奏する。
【００３３】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００３４】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００３５】
（実施の形態）
本実施の形態において、移動体がより適切な移動経路を移動することができる移動体システム１について説明する。移動体システム１は、所定のタスクを行う少なくとも３つの移動体１０を備える。移動体１０の一例は、面に沿って移動可能である掃除機であり、この場合、タスクは掃除である。
【００３６】
なお、移動体１０及びそのタスクは、掃除をする掃除機の他にも、各種センシングをする移動ロボット、物品を搬送する搬送ロボット、人とのコミュニケーションをするコミュニケーションロボットなどを含む。
【００３７】
図１及び図２は、それぞれ本実施の形態における移動体１０としての掃除機の外観を模式的に示す上面図及び側面図である。これらの図を参照しながら、移動体１０の動作を説明する。なお、下記説明において、各図面中に示されるＸＹＺ座標軸を用いた説明を行うこともある。またＺ軸プラス方向を上方向ともいう。
【００３８】
移動体１０は、環境中において面９上を自律走行し、面９の掃除をする。移動体１０は、自律的に自機の移動経路を決定し、決定した移動経路に沿って移動しながら面９上に存在するごみ等を吸引する。環境の一例は、住宅、オフィスビル、商業ビルを含む屋内空間である。タスクが実行される環境を総称して空間と表記しても良い。移動体１０は、移動経路の決定に、ＳＬＡＭ技術（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）による自己位置推定と地図作成とを利用することができる。
【００３９】
例えば、移動体１０は、壁４のような周囲の物との距離を光Ｌによって計測し、保有している地図と比較することで、地図上における自機の位置を推定し、また、地図の新たな部分を作成する。そして、推定した自機の位置に基づいて、保有している移動経路に沿って移動する制御をする。移動体１０は、原則として矢印Ａに示される方向に移動する。なお、「移動」の語は、「進行」又は「走行」とも表現され得る。また、矢印Ａに示される方向は、移動方向、進行方向又は走行方向とも表現され得る。
【００４０】
しかしながら、移動体１０による自己位置推定が適切になされない場合がある。例えば、移動体１０の周囲に図１に示される壁４のような周囲の物がない場合、または、周囲に何らかの物があってもその物が適切に光Ｌを反射しない場合には、図１に光Ｌとして示される光路の反射光が得られず、その結果、移動体１０による自己位置推定が適切になされない。
【００４１】
本実施の形態の移動体システム１は、上記のように自己位置推定が適切になされない場合であっても、複数の移動体による光の送受信を利用して自己位置推定を適切に行い得る。
【００４２】
以降において、移動体１０の詳細な構成及び処理について説明する。
【００４３】
図３は、本実施の形態における移動体１０としての掃除機の内部構造を模式的に示す上面図である。
【００４４】
図３に示されるように、移動体１０は、筐体１１と、測距センサ１２と、車輪１５ａ及び１５ｂと、モータ１６ａ及び１６ｂと、吸引部１７と、ごみ箱１８と、制御回路１９と、電源２０とを備える。
【００４５】
筐体１１は、移動体１０の筐体であり、移動体１０の外郭を規定する。筐体１１は、上面視において略三角形の形状を有するが、どのような形状を採用してもよく、例えば、円形、四角形又は五角形等の形状を有してもよい。また、筐体１１の寸法は、例えば、Ｘ軸方向及びＹ軸方向それぞれにおいて３０ｃｍ程度、Ｚ軸方向において１０ｃｍ程度であるが、これに限定されない。
【００４６】
測距センサ１２は、移動体１０の周囲に存在する物体と測距センサ１２との離間距離を計測する。測距センサ１２は、例えば光によって周囲の物体との距離を計測するレーザーレンジファインダ又はＬｉＤＡＲ（Ｌｉｇｈｔ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｒａｎｇｉｎｇ）装置により実現され得る。なお、以降では、測距センサ１２がレーザーレンジファインダ又はＬｉＤＡＲで実現される場合を例として説明するが、これに限られず、超音波センサ、赤外線センサ又は電波センサであってもよい。
【００４７】
測距センサ１２は、筐体１１の上面又は側面から露出して配置される。測距センサ１２は、発光部と受光部とを有する。発光部は、ＸＹ平面に平行な方向に光線を出射し、受光部は、発光部から出射された光線を受ける受光部を有する。発光部及び受光部は、Ｚ軸方向に平行な軸回りに旋回しながら光線の出射及び、光線の受光をすることで、移動体１０の周囲に存在する物までの距離を測定する。旋回の速度は、例えば１秒間に５回転する速度である。また、測距センサ１２による光の出射は、例えば、１回転の期間で３６０回行われる。測距センサ１２は、所定の測定距離を有する。例えば、所定の測定距離の最大値を第一距離という。第一距離は、レーザーレンジファインダ又はＬｉＤＡＲの性能に依存する。第一距離の一例は、数ｍ以上、数百ｍ以下である。
【００４８】
車輪１５ａ及び１５ｂは、移動体１０を移動させる車輪である。車輪１５ａ及び１５ｂは、回転軸が筐体１１に固定されており、車輪１５ａ及び１５ｂの回転により筐体１１が移動する。車輪１５ａ及び１５ｂの回転は、それぞれモータ１６ａ及び１６ｂにより独立に制御される。車輪１５ａ及び１５ｂの材質は、ゴム又はナイロンなどである。なお、車輪１５ａ及び１５ｂを単に車輪１５ともいう。
【００４９】
モータ１６ａ及び１６ｂは、それぞれ独立に、車輪１５ａ及び１５ｂの回転を制御する。モータ１６ａは、制御回路１９による制御の下で、車輪１５ａを回転又は停止させる。モータ１６ｂは、制御回路１９による制御の下で、車輪１５ｂを回転又は停止させる。また、モータ１６ａ及び１６ｂの回転速度に差をつけることで移動体１０の向きを変える、つまり方向転換をすることもできる。なお、モータ１６ａ及び１６ｂを単にモータ１６ともいう。
【００５０】
吸引部１７は、面９上に存在するごみを吸引する。吸引部１７は、筐体１１の底面に配置される吸引口（不図示）を通じて、ごみを空気とともに吸い込む。また、吸い込んだごみをごみ箱１８に排出する。吸引部１７の幅、つまり、Ｘ軸方向の長さは、例えば１５ｃｍ程度であるが、これに限定されない。吸引部１７の吸引動作は、制御回路１９により制御される。
【００５１】
ごみ箱１８は、吸引部１７が空気とともに吸引したごみを、フィルタによって分離して格納する格納スペースである。
【００５２】
制御回路１９は、移動体１０の各種機能を制御する。具体的には、制御回路１９は、移動体１０の移動経路の決定を行い、決定した移動経路に沿って移動体１０が移動するようにモータ１６ａ及び１６ｂを制御する。制御回路１９は、プロセッサ及びメモリを有し、プロセッサがメモリを用いてプログラムを実行することでその機能を実現し得る。
【００５３】
制御回路１９は、掃除のタスクを実行する際には、測距センサ１２によって移動体１０の周囲の物体との距離を取得し、ＳＬＡＭ技術に基づいて移動体１０の移動経路を決定する。そして、モータ１６ａ及び１６ｂを制御することで、決定した移動経路に沿って移動体１０を移動させながら、吸引部１７によるごみの吸引を行う。
【００５４】
電源２０は、移動体１０の各構成要素に電力を供給する電源装置である。電源２０は、例えば、二次電池、より具体的にはリチウムイオン電池である。
【００５５】
次に、制御回路１９の機能及び処理についてさらに詳細に説明する。
【００５６】
図４は、本実施の形態における移動体１０の制御回路１９の機能を詳細に示すブロック図である。
【００５７】
図４に示されるように、制御回路１９は、記憶部２１と、制御部２２とを備える。また、移動体１０を移動させる機構である移動部２３が図４に示されている。移動部２３は、少なくとも車輪１５及びモータ１６に相当する。
【００５８】
記憶部２１は、移動体１０が移動し得る空間を示す地図情報を記憶している。移動体１０が面９上の掃除をする掃除機である場合、移動し得る空間は面９上の空間であり、移動体１０の位置は２次元の座標系（Ｘ，Ｙ）で示され得る。なお、地図情報を単に地図ともいう。また、地図情報には、上記空間に設定される複数のエリア（後述）の位置を示す情報が含まれている。
【００５９】
制御部２２は、移動部２３による移動体１０の移動を制御する。具体的には、制御部２２は、測距センサ１２が取得した距離情報に基づいて推定される移動体１０の位置と、記憶部２１が記憶している地図情報とを用いて、移動部２３による移動体１０の移動を制御する。制御部２２は、移動部２３による移動体１０の移動を制御することで、移動体１０を基準移動体として機能させたり、可動移動体として機能させたりする。ここで、基準移動体とは、所定の位置に一時的に停止して可動移動体による自己位置推定に用いられ得る移動体である。また、可動移動体とは、自機から基準移動体までの距離を測定することで自己位置推定をしながら移動し、所定のタスクを実行する移動体である。
【００６０】
また、制御部２２は、移動体１０によるタスクの実行の制御を行う。移動体１０が掃除機である場合には、制御部２２は、タスクとして、所定の領域をくまなく移動しながら吸引部１７を動作させてごみを吸引する動作を制御する。
【００６１】
また、制御部２２は、面９上の移動体１０が移動し得る領域の地図に基づいて複数のエリアを設定する処理を行う。複数のエリアを設定する処理については後で説明する。
【００６２】
移動体システム１は、複数のエリアを順に移動しながらタスクを実行する。複数のエリアのうち、互いに隣接する第一エリアから第二エリアに移動体システム１が移動する際の移動体の動作は以下のとおりである。
【００６３】
当初、移動体システム１に含まれる少なくとも３つの移動体は、第一エリア内に位置している。このとき、少なくとも３つの移動体のうちの２つの移動体のそれぞれは、制御部２２により、第一エリア内の任意の位置から測距センサ１２による測距が可能である第一距離以内である位置に一時的に停止している基準移動体として機能している。また、少なくとも３つの移動体のうちの上記２つの移動体を除く移動体は、制御部２２により、当該移動体が有する測距センサ１２によって計測された当該移動体から基準移動体それぞれまでの距離に基づいて推定される当該移動体の位置を用いて第一エリア内で移動する可動移動体として機能している。
【００６４】
そして、少なくとも３つの移動体が第一エリアから第二エリアに移動する際には、以下のように動作する。
【００６５】
（ａ）可動移動体は、制御部２２により、２つの基準移動体までの距離の計測を用いて第一エリアと第二エリアとの境界エリアに移動して一時的に停止する。
【００６６】
（ｂ）基準移動体は、制御部２２により、順次に、一時的に停止している可動移動体又は基準移動体の２つを用いて境界エリアに移動して一時的に停止する。
【００６７】
（ｃ）少なくとも３つの移動体のうちの２つの移動体それぞれは、制御部２２により、第二エリア内の任意の位置から第一距離以内である位置に移動して一時的に停止することで、新たな基準移動体として機能する。
【００６８】
（ｄ）少なくとも３つの移動体のうちの新たな基準移動体を除く移動体は、制御部２２により、当該移動体が有する測距センサ１２によって計測された当該移動体から新たな基準移動体それぞれまでの距離に基づいて推定される当該移動体の位置を用いて第二エリア内で移動する、新たな可動移動体として機能する。
【００６９】
なお、基準移動体の機能と可動移動体の機能とは、動的に変更され得る。そのため、上記新たな可動移動体は、上記可動移動体とは異なる移動体となるように、移動体の機能が変更されてもよい。このようにすると、移動体ごとの電力消費が均一化され、移動体システム１全体として長時間駆動できる利点がある。なお、基準移動体は第一移動体及び第二移動体と表記され、可動移動体は第三移動体とも表記される。
【００７０】
以降において、上記動作について、具体例に沿って詳しく説明する。
【００７１】
図５は、本実施の形態における移動体システム１が移動し得る領域（移動可能領域ともいう）の一例である領域４０と、その領域４０内に位置する移動体とを模式的に示す説明図である。
【００７２】
図５に示されるように領域４０の外形は、上面視において矩形形状を有している。また、領域４０に周囲を包囲された領域４２は、移動体システム１が移動し得ない領域を示している。例えば、領域４０は、比較的大きなホール又は倉庫などの空間に相当し、上記空間内において移動体１０が侵入できないように壁で囲まれた部屋などが領域４２に相当する。
【００７３】
領域４０において、移動体システム１に含まれる移動体１０Ａ、１０Ｂ及び１０Ｃ（移動体１０Ａ等ともいう）が移動しながらタスクを実行している。移動体１０Ａ等のそれぞれは、図１〜図４で説明した移動体１０である。
【００７４】
図６は、本実施の形態における移動体システム１が複数のエリアを巡回する際の処理を示すフロー図である。
【００７５】
（ステップＳ１００）
移動体システム１は、地図を取得する。具体的には、移動体システム１の移動体１０Ａ等それぞれの制御部２２が、記憶部２１に記憶されている地図を読み出すことで取得する。なお、制御部２２は、移動体１０Ａ等の外部の機器から通信によって地図を取得してもよい。
【００７６】
（ステップＳ１０１）
移動体システム１は、ステップＳ１００で取得した地図に基づいて、移動体１０Ａ等の移動可能領域に複数のエリアを設定する。設定される複数のエリアは、隣接するエリアと一部が重複するように設定される。このように重複している領域を境界エリアと称する。なお、移動体システム１は、移動可能領域を分割することによって複数のエリアを設定してもよい。このとき、分割線は、当該分割線を辺とする２つのエリアの両方に属していることとする。よって、分割線は、上記２つのエリアの境界エリアに相当する。
【００７７】
（ステップＳ１０２）
移動体システム１は、ステップＳ１０１で設定された複数のエリアに基づいて、各エリアをノードとしたグラフを作成する。このグラフに含まれる複数のノードは、複数のエリアに１対１に対応している。
【００７８】
（ステップＳ１０３）
移動体システム１は、ステップＳ１０２で作成したグラフにおいて、すべてのノードを巡回する移動経路を特定する。
【００７９】
（ステップＳ１０４）
移動体システム１は、ステップＳ１０３で特定した移動経路に従ってエリアを巡回しながらタスクを実行する。
【００８０】
このようにして移動体システム１は、移動可能領域に設定された複数のエリアを巡回しながらタスクを実行する。以降において、移動体１０Ａ等の移動可能領域に設定される複数のエリアの例を２つ説明する。
【００８１】
図７は、本実施の形態における移動体システム１により設定されるエリアの第一例であるエリア５０を示す説明図である。図８は、図７に示されるエリア５０の面積を示す説明図である。
【００８２】
エリア５０は、平行四辺形の形状を有している。この平行四辺形の４つの頂点のうち、対向する２つの頂点は、当該エリア内の任意の位置から測距センサ１２による測距が可能である距離以内である２点それぞれを中心とした円である２つの円の２つの交点である。また、この平行四辺形は、上記２つの円の重複領域に内接している。
【００８３】
図７には、平行四辺形であるエリア５０とともに、エリア５０内の任意の位置から測距センサ１２による測距が可能である位置が点Ｐ及びＱとして示されている。また、点Ｃは、エリア５０の中心である。
【００８４】
このとき、図７に示されるγ、ｈ、ｗ及びαは、それぞれ、以下の（式１）〜（式４）により表される。ここで、測距センサ１２による測距が可能である距離をｒとし、ｄ＝||Ｐ−Ｃ||＝||Ｑ−Ｃ||、（ただしｄ＜ｒ／２）としている。
【００８５】
【数１】
2020109618.tif 000003
【数２】
2020109618.tif 000004
【数３】
2020109618.tif 000005
【数４】
2020109618.tif 000006
【００８６】
また、エリア５０の面積は、以下の（式５）により表される。
【００８７】
【数５】
2020109618.tif 000007
【００８８】
図８に示されるように、エリア５０の面積は、ｄ／ｒが大きいほど小さい。また、（式５）により、ｄが小さいほど、エリア５０の面積が大きい。
【００８９】
エリア５０の面積が大きいほど、エリアの数がより少ない。そのため、移動体システム１がエリアごとにタスクを実行する場合には、各エリアの面積を大きくすることによって、タスクの実行に係る処理を少なくすることができ、処理負荷の軽減、及び、消費電力の低減の利点がある。よって、２台の移動体の間の距離として許容される距離、つまり、移動体同士が安全にすれちがいできる距離の最小値をｄに設定することで、処理負荷の軽減、及び、消費電力の低減の効果を大きくすることができる。
【００９０】
図９は、本実施の形態における移動体システム１により設定されるエリアの第二例であるエリア５２を示す説明図である。図１０は、図９に示されるエリア５２の面積を示す説明図である。
【００９１】
エリア５２は、矩形の形状を有している。そして、当該エリア内の任意の位置から測距センサ１２による測距が可能である距離以内である２点が矩形の端縁である辺上に設定されている。
【００９２】
図９には、矩形であるエリア５２とともに、エリア５２内の任意の位置から測距センサ１２による測距が可能である位置が、点Ｐ及びＱとして示されている。また、点Ｃは、右側の辺の中点である。
【００９３】
このとき、図９に示されるｗ及びｈは、それぞれ、以下の（式６）及び（式７）により表される。
【００９４】
【数６】
2020109618.tif 000008
【数７】
2020109618.tif 000009
【００９５】
エリア５２の面積は、エリア５０と同様に、ｄ／ｒが大きいほど小さい（図１０参照）。よって、２台の移動体の間の距離として許容される距離の最小値をｄに設定することで、処理負荷の軽減、及び、消費電力の低減の効果を大きくすることができる。
【００９６】
図１１は、本実施の形態における移動体システム１が設定する複数のエリアを示す説明図である。図１１には、複数のエリアとして、４８個のエリアＡ１、Ａ２、・・・、Ａ４８が示されている。エリアＡ１等は、これらのエリアＡ１等により移動可能領域である領域４０が覆われるように配置されている。
【００９７】
図１１に示されるエリアＡ１等のそれぞれは、図７に示される平行四辺形の形状を有するエリア５０である。つまり、移動体システム１が、図５に示される移動可能領域を覆うように複数のエリア５０を設定する（図６のステップＳ１０１）ことによって、図１１のようにエリアＡ１等が設定される。
【００９８】
なお、互いに隣接する２つエリアは、例えばエリアＡ１とエリアＡ２とのように直線で接する位置に配置される場合もあれば、エリアＡ２４とエリアＡ２５とのように幅を有する長尺形状の境界エリアを有する位置に配置される場合もある。また、例えばエリアＡ２５及びＡ２６のように当該エリアの一部に、移動体１０Ａ等が移動できない領域４２を含むこともある。また、例えば、エリアＡ１及びＡ２のように当該エリアの一部に、移動可能領域の外側の領域を含むこともある。
【００９９】
なお、エリアＡ１等は、それぞれ形状又は大きさが異なるものであってもよい。
【０１００】
次に、設定されたエリアを移動体システム１が巡回するための移動経路を決定する処理を説明する。一般に、複数のエリアを巡回する移動経路は、各エリアをノードとして有するグラフにおいて巡回セールスマン問題の解を求めることで導かれる。巡回セールスマン問題の解は、周知の方法によって得られ得る。
【０１０１】
ただし、一般の巡回セールスマン問題の解法では、１つのエリアに一度だけ訪問することを条件として解が求められる。本実施の形態のように移動体が複数のエリアを巡回する移動経路を求める場合、１つのエリアに２度以上訪問することが許容される。そこで、各エリアをノードとして有するグラフに基づいて、各ノードが接続された完全グラフを用いて上記移動経路を求める方法を説明する。
【０１０２】
図１２は、本実施の形態における移動体システム１がエリアに基づいてグラフを作成する処理を示すフロー図である。図１３は、本実施の形態における移動体システム１が複数のエリアをノードに対応付けたグラフを示す説明図である。図１４及び図１５は、本実施の形態におけるグラフの修正の方法を示す説明図である。図１６は、本実施の形態における移動体システム１が複数のエリアを移動する移動経路の一例を示す説明図である。
【０１０３】
図１２に示される処理は、図６のステップＳ１０２及びＳ１０３に含まれる処理である。
【０１０４】
ステップＳ１０２１において、移動体システム１は、グラフＧを取得する。図１３に示されるように、グラフＧは、図１１に示されるエリアＡ１等をノードとするグラフである。また、互いに隣接する２つのエリアに対応する２つのノードが、グラフＧにおいてエッジで結ばれている。
【０１０５】
ステップＳ１０２２において、移動体システム１は、グラフＧと同じノードを有する完全グラフＨを作成する。完全グラフＨの任意の２つのノードを結ぶエッジのコストは、グラフＧにおける上記２つのノード同士を結ぶ経路の最小コストに設定される。完全グラフＨの生成方法を図１４及び図１５を参照しながら説明する。
【０１０６】
図１４に示されるグラフＧＡは、５つのノードを有するグラフである。また、ノードを結ぶエッジのコストが、各エッジの近傍に示されている。グラフＧＡに基づいて生成される完全グラフＨＡを図１５に示す。
【０１０７】
図１５に示される完全グラフＨＡは、グラフＧＡと同じ５つのノードを有するグラフである。また、完全グラフＨＡの任意の２つのノードを結ぶエッジのコストは、グラフＧにおける上記２つのノード同士を結ぶ経路の最小コストに設定されている。例えば、ノードＮ１からＮ５に至る経路のコストは、グラフＧＡにおけるノードＮ１とＮ４とを結ぶエッジのコストである３と、ノードＮ４とＮ５とを結ぶエッジのコストである１との和である４に設定されている。
【０１０８】
移動体システム１は、上記のようにグラフＧＡから完全グラフＨＡを得るために施した操作と同じ操作をグラフＧに施すことによって、完全グラフＨを得る。
【０１０９】
ステップＳ１０３１において、移動体システム１は、ステップＳ１０２２で作成した完全グラフＨに対して、巡回セールスマン問題（ＴＳＰ：Ｔｒａｖｅｌｉｎｇ  Ｓａｌｅｓｍａｎ  Ｐｒｏｂｌｅｍ）の解を導出する。巡回セールスマン問題の解法は、既存のものを採用することができる。例えば、移動体１０が掃除機であり、掃除のタスクを実行する場合には、エリアＡｉからエリアＡｊに移動するコストは、エリアＡｉからエリアＡｋに移動した後にエリアＡｋからエリアＡｊに移動するコストより小さいか等しい。このような場合には、周知のクリストフィードのアルゴリズム（Ｃｈｒｉｓｔｏｆｉｄｅｓ  ａｌｇｏｒｉｔｈｍ）を採用し得る。
【０１１０】
ステップＳ１０３２において、ステップＳ１０３１で導出された解における完全グラフＨのエッジを、対応するグラフＧの経路に置き換える。これにより、図１６に示される移動体システム１の移動経路を示すグラフＧ１が得られる。
【０１１１】
図１７は、本実施の形態における移動体システム１が第一エリアから第二エリアに移動する際の移動体の動作を示すフロー図である。図１８〜図２４は、本実施の形態における移動体システム１が第一エリアから第二エリアに移動する際の移動体の位置を示す第一〜第七の説明図である。なお、図１８等において、エリアＡｉが第一エリアに相当し、エリアＡｊが第二エリアに相当し、エリアＡｉとエリアＡｊとの重複部分が境界エリアに相当する。
【０１１２】
図１７は、図６のステップＳ１０４の詳細な処理を示すフロー図である。
【０１１３】
移動体システム１（つまり移動体１０Ａ、１０Ｂ及び１０Ｃ）は、当初、第一エリアであるエリアＡｉに位置しているとする。また、移動体１０Ａは点Ｐ１の位置で一時的に停止しており、移動体１０Ｂは点Ｑ１の位置で一時的に停止している。移動体１０Ｃは、移動体１０Ａ及び１０Ｂとの距離を計測することで自機の位置を推定しながらエリアＡｉの中で移動し、タスクを実行している（図１８参照）。移動体１０Ｃが、移動体１０Ａ及び１０Ｂとの距離を計測することで自機の位置を推定する方法については後で説明する。
【０１１４】
（ステップＳ１０４１）
点Ｒに位置している移動体１０Ｃが点Ｗに移動する。具体的には、移動体１０Ｃは、一時的に停止している移動体１０Ａ及び１０Ｂとの距離を計測することで自機の位置を推定しながら点Ｗに移動し、点Ｗで一時的に停止する（図１９参照）。
【０１１５】
（ステップＳ１０４２）
点Ｐ１に位置している移動体１０Ａが点Ｕに移動する。具体的には、移動体１０Ａは、一時的に停止している移動体１０Ｂ及び１０Ｃとの距離を計測することで自機の位置を推定しながら点Ｕに移動し、点Ｕで一時的に停止する（図２０参照）。
【０１１６】
（ステップＳ１０４３）
点Ｑ１に位置している移動体１０Ｂが点Ｖに移動する。具体的には、移動体１０Ｂは、一時的に停止している移動体１０Ａ及び１０Ｃとの距離を計測することで自機の位置を推定しながら点Ｖに移動し、点Ｖで一時的に停止する（図２１参照）。
【０１１７】
（ステップＳ１０４４）
点Ｕに位置している移動体１０Ａが点Ｐ２に移動する。具体的には、移動体１０Ａは、一時的に停止している移動体１０Ｂ及び１０Ｃとの距離を計測することで自機の位置を推定しながら点Ｐ２に移動し、点Ｐ２で一時的に停止する（図２２参照）。
【０１１８】
（ステップＳ１０４５）
点Ｖに位置している移動体１０Ｂが点Ｑ２に移動する。具体的には、移動体１０Ｂは、一時的に停止している移動体１０Ａ及び１０Ｃとの距離を計測することで自機の位置を推定しながら点Ｑ２に移動し、点Ｑ２で一時的に停止する（図２３参照）。
【０１１９】
上記ステップＳ１０４５を終えると、移動体システム１（つまり移動体１０Ａ、１０Ｂ及び１０Ｃ）がすべて第二エリアであるエリアＡｊに位置している状態になっている。そして、移動体１０Ａが点Ｐ２の位置で一時的に停止しており、移動体１０Ｂが点Ｑ２の位置で一時的に停止している。移動体１０Ｃは、移動体１０Ａ及び１０Ｂとの距離を計測することで自機の位置を推定しながらエリアＡｊの中で移動し、タスクを実行している（図２４参照）。
【０１２０】
図２５は、本実施の形態における移動体１０が実行する処理を示すフロー図である。
【０１２１】
（ステップＳ２０１）
移動体１０は、タスクを開始する。
【０１２２】
（ステップＳ２０２）
移動体１０は、タスクが終了したか否かを判定する。例えば、タスクが領域４０の掃除である場合には、移動体システム１によって領域４０内のすべての位置を、ごみを吸引しながら移動した場合に、タスクが終了したと判定する。タスクが終了したと判定した場合（ステップＳ２０２でＹｅｓ）には、図２５に示される一連の処理を終了し、そうでない場合（ステップＳ２０２でＮｏ）には、ステップＳ２０２に進む。
【０１２３】
（ステップＳ２０３）
移動体１０の制御部２２は、自機が基準移動体であるか否かを判定する。自機が基準移動体であると判定した場合（ステップＳ２０３でＹｅｓ）には、ステップＳ２０４に進み、そうでない場合（ステップＳ２０３でＮｏ）には、ステップＳ２０５に進む。
【０１２４】
（ステップＳ２０４）
移動体１０は、基準移動体の処理を実行する。基準移動体の処理の詳細は後で説明する。
【０１２５】
（ステップＳ２０５）
移動体１０は、可動基準移動体の処理を実行する。可動移動体の処理の詳細は後で説明する。
【０１２６】
ステップＳ２０４又はＳ２０５を終えたら、移動体１０は、ステップＳ２０２の処理を再び実行する。
【０１２７】
図２６は、本実施の形態における移動体１０が実行する、基準移動体の処理を示すフロー図である。図２６に含まれる一連の処理は、図２５のステップＳ２０４の処理を詳細に示すものである。
【０１２８】
（ステップＳ２０４１）
移動体１０は、測距センサ１２の受光部によって自機宛ての信号を受信したか否かを判定する。この信号は、例えば、他機の測距センサ１２が送信する光信号であり、少なくとも送信元である移動体に固有のＩＤと、宛先である移動体（つまり当該光信号を受信する移動体）に固有のＩＤとを含む。自機宛ての信号を受信したと判定した場合（ステップＳ２０４１でＹｅｓ）にはステップＳ２０４２に進み、そうでない場合（ステップＳ２０４１でＮｏ）には、図２６に示される一連の処理を終了する。
【０１２９】
（ステップＳ２０４２）
移動体１０は、所定時間待機する。所定時間は、例えば、１０ｍｓｅｃ〜１００ｍｓｅｃ程度である。
【０１３０】
（ステップＳ２０４３）
移動体１０は、ステップＳ２０４１で受信した信号の応答として、応答信号を送信する。送信する応答信号は、少なくとも送信元である移動体１０の固有のＩＤと、宛先である移動体（つまり当該応答信号を受信する移動体）に固有のＩＤとを含む。
【０１３１】
図２６に示される一連の処理により、基準移動体は、可動移動体からの信号に対する応答信号を送信し、可動移動体による自己位置推定に寄与する。
【０１３２】
図２７は、本実施の形態における移動体１０が実行する、可動移動体の処理を示すフロー図である。
【０１３３】
（ステップＳ２０５１）
移動体１０は、他機の位置を取得する必要があるか否かを判定する。移動体１０は、例えば、自機が可動移動体であるときには、他機の位置を取得する必要があると判定する。移動体１０は、他機の位置を取得する必要があると判定した場合（ステップＳ２０５１でＹｅｓ）には、ステップＳ２０５２に進み、そうでない場合（ステップＳ２０５１でＮｏ）には、図２７に示される一連の処理を終了する。
【０１３４】
（ステップＳ２０５２）
移動体１０は、他機が信号を送信しているか否かを判定する。他機が信号を送信していると判定した場合（ステップＳ２０５２でＹｅｓ）には、その信号の送信終了まで待機（ステップＳ２０６１）した後に、再びステップＳ２０５２を実行する。一方、他機が信号を送信していないと判定した場合（ステップＳ２０５２でＮｏ）には、ステップＳ２０５３に進む。
【０１３５】
（ステップＳ２０５３）
移動体１０は、信号を送信する。送信する信号は、送信元である移動体１０のＩＤを少なくとも含む。
【０１３６】
（ステップＳ２０５４）
移動体１０は、タイマを開始させる。
【０１３７】
（ステップＳ２０５５）
移動体１０は、測距センサ１２の受光部が、何らかの信号を受信したか否かを判定する。何らかの信号を受信していないと判定した場合には、移動体１０は、さらに、応答信号を受信するためのタイムアウト時間が経過したか否かを判定する。そして、何らかの信号を受信した場合、又は、タイムアウト時間が経過した場合には、ステップＳ２０５６に進み、そうでない場合には、ステップＳ２０５５を再び実行する。つまり、移動体は、測距センサ１２の受光部が何らかの信号を受信するまでステップＳ２０５５で待機する。なお、タイムアウト時間は、予め定められた時間であり、例えば、基準移動体の待機時間の２倍などとすることができる。
【０１３８】
（ステップＳ２０５６）
移動体１０は、ステップＳ２０５５で受信した信号が、ステップＳ２０５３で送信した信号に対する基準移動体による応答として正常な応答信号であるか否かを判定する。正常な応答信号であると判定した場合（ステップＳ２０５６でＹｅｓ）には、ステップＳ２０５７に進み、そうでない場合（ステップＳ２０５６でＮｏ）には、ランダム時間だけ待機（ステップＳ２０６５）した後に、ステップＳ２５０３に進む。
【０１３９】
（ステップＳ２０５７）
移動体１０は、タイマを停止させ、ステップＳ２０５４でタイマを開始させてから、本ステップでタイマを停止させるまでの時間を計測する。
【０１４０】
（ステップＳ２０５８）
移動体１０は、ステップＳ２０５７で計測した時間に基づいて、基準移動体までの距離を算出し、自機の位置を特定する。具体的には、ステップＳ２０５７で計測した時間には、測距センサ１２の発光部が光を出射してから基準移動体に到達するまでの時間と、基準移動体の待機時間（図２６のステップＳ２０４２参照）と、基準移動体が応答信号を含む光を出射してから測距センサ１２の受光部に受光されるまでの時間とが含まれている。そこで、ステップＳ２０５７で計測した時間から基準移動体の待機時間を差し引いた上で２で割ることで、移動体１０から基準移動体までの片道を光が進行するのに要した時間が得られ、これを用いて上記片道の距離が得られる。基準移動体までの距離の算出と自機の位置の特定との処理については後で詳しく説明する。
【０１４１】
（ステップＳ２０５９）
移動体１０は、ステップＳ２０５８で算出した自機の位置を用いて、移動しながらタスクを実行する。
【０１４２】
図２７に示される一連の処理により、可動移動体は、自機から基準移動体までの距離の計測を用いて自機の位置を特定しながら移動し、タスクを実行する。
【０１４３】
図２８は、本実施の形態における移動体１０Ａ（自機ともいう）が、２台の基準移動体である移動体１０Ｂ及び１０Ｃ（他機ともいう）の位置と、２台の基準移動体である移動体１０Ｂ及び１０Ｃまでの距離とを用いて、自機の位置を推定する処理を示すフロー図である。図２９は、本実施の形態における移動体１０Ａが、２台の基準移動体の位置と、２台の基準移動体までの距離とを用いて自機の位置を推定するときの位置関係を示す説明図である。
【０１４４】
ここで、移動体１０Ａは、図２９の点Ｒに位置しているが、自機の現在の位置が不明である状態であるとする。移動体１０Ｂ及び１０Ｃは、基準移動体として機能しており、それぞれ、点Ｐ及び点Ｑに一時的に停止している。
【０１４５】
この状態で移動体１０Ａは、２台の基準移動体である移動体１０Ｂ及び１０Ｃの位置と、測距センサ１２により取得できる２台の基準移動体である移動体１０Ｂ及び１０Ｃまでの距離とを用いて、以下の一連の処理により自機の位置を特定する。
【０１４６】
ステップＳ３００において、移動体１０Ａは、２台の基準移動体である移動体１０Ｂ及び１０Ｃの位置であるＰ（Ｐｘ，Ｐｙ）及びＱ（Ｑｘ，Ｑｙ）を取得する。なお、上記の移動体１０Ｂ及び１０Ｃの位置であるＰ（Ｐｘ，Ｐｙ）及びＱ（Ｑｘ，Ｑｙ）は、例えば、移動体１０Ａ等同士の情報通信によって取得され得る。
【０１４７】
ステップＳ３０１において、移動体１０Ａは、測距センサ１２による測距に基づいて、自機から、２台の基準移動体である移動体１０Ｂ及び１０Ｃそれぞれまでの距離ｐ及びｑを測定する。ここで、ＤｘとＤｙは、式Ｄｘ＝Ｑｘ−Ｐｘ、Ｄｙ＝Ｑｙ−Ｐｙにより定義される。移動体１０Ａが距離ｐ及びｑを測定する処理については後で説明する。
【０１４８】
ステップＳ３０２において、移動体は、自機の位置の２つの候補であるＲ（Ｒｘ，Ｒｙ）及びＲ’（Ｒ’ｘ，Ｒ’ｙ）を以下の（式８）、（式９）、（式１０）及び（式１１）を用いて算出する。
【０１４９】
【数８】
2020109618.tif 000010
【数９】
2020109618.tif 000011
【数１０】
2020109618.tif 000012
【数１１】
2020109618.tif 000013
【０１５０】
ステップＳ３０３において、移動体１０Ａは、自機の位置の２つの候補であるＲ（Ｒｘ，Ｒｙ）及びＲ’（Ｒ’ｘ，Ｒ’ｙ）のいずれかに、自機の位置を特定する。自機の位置の特定方法は、さまざまな方法があり得る。例えば、移動体１０Ａは、前回の位置を記憶している場合には、直線ＰＱに対して前回と同じ側の位置になるように特定することができる。前回の距離測定から比較的短い時間の間に直線ＰＱを挟んで反対側の位置に移動する可能性が低いと考えられるからである。
【０１５１】
以上のようにして、移動体１０Ａは、２台の基準移動体である移動体１０Ａ及び１０Ｂの位置と、測距センサ１２により取得できる２台の基準移動体である移動体１０Ａ及び１０Ｂまでの距離とを用いて、自機の位置を特定する。
【０１５２】
なお、タスクを実行するのは可動移動体だけでなく、基準移動体もタスクを実行し得る。図３０は、本実施の形態における基準移動体のタスクの一例を示す説明図である。
【０１５３】
移動体が掃除機であり、掃除機によって掃除される面が、コンクリートなどの固定面の上に配置されたカーペットの面である場合、移動体が車輪によってカーペットの面の上を掃除しながら走行するとカーペットが固定面に対してずれることがある。固定面にはカーペットを含む。つまり、カーペットの上のカーペットであっても良い。
【０１５４】
そこで、図３０の（ａ）〜（ｄ）に示されるように、可動移動体である移動体１０Ａが移動しながら掃除しているときに、基準移動体である移動体１０Ｂ及び１０Ｃは、カーペットの面を固定面に押さえつけるというタスクを実行する。このようにすると、移動体１０Ａがカーペットの面の上を掃除しながら走行するときにカーペットが固定面に対してずれることが抑制される効果がある。例えば、移動体１０Ａは、移動体１０Ｂ及び移動体１０Ｃを結ぶ直線上を通過する移動経路で移動する。移動体１０Ａは、カーペット上を往復運動する場合には、移動体１０Ａは、移動体１０Ｂ及び移動体１０Ｃを結ぶ直線上を通過する回数が多くなるように移動経路を設定することが望ましい。図３０の一例では、移動体１０Ａが固定面からカーペット及びカーペットから固定面に移動する際に通過するカーペットの辺に対して、移動体１０Ｂ及び移動体１０Ｃは異なる辺でカーペットを固定するように位置する。例えば、移動体１０Ｂ及び１０Ｃは、平面視した場合に、少なくとも一部がカーペットの上に位置していれば良い。また、移動体１０Ｂ及び１０Ｃは、カーペットの４辺のいずれかの辺から所定の距離以内に位置することが望ましい。なお、カーペットの輪郭は４辺で規定されていなくても良く、カーペットの輪郭は４辺より多い数の辺で規定されている場合でも同様である。
【０１５５】
所定の距離の一例は、１０ｃｍ〜３０ｃｍ、又は移動体の幅方向の大きさ以内である。また、移動体１０Ｂ及び１０Ｃは、カーペットの異なる辺を固定するように位置することが望ましい。例えば、図３０において、移動体１０Ｂ及び１０Ｃは、カーペットの異なる辺に位置している。
【０１５６】
なお、エリアの境界は、実際に面上に描かれるものではないので、一般にはエリアの境界は視認されることがない。しかしながら、移動体が掃除機であり、移動体がエリアごとに順次に、当該エリアをくまなく掃除する場合には、移動体の軌跡を観察することでエリアの境界が視認され得る。
【０１５７】
図３１は、本実施の形態における移動体の軌跡に基づいて視認され得るエリアの境界を示す説明図である。図３１には、移動体１０ＡがエリアＡｉをくまなく掃除するために移動した軌跡６０が示されている。例えば移動している移動体１０Ａを動画で撮影することで軌跡６０が得られれば、観測者が軌跡６０を包囲する図形６２を描くことによりエリアＡｉの近似的な形状を得ることができる。
【０１５８】
なお、本実施の形態では、移動体１０ＡなどがＬｉｄａｒを備えることを前提としたが、移動体１０Ａなどは、かならずしもＬｉｄａｒを備えていなくてもよい。
【０１５９】
（実施の形態の変形例１）
図３２は、実施の形態の変形例における移動体の一例を示す説明図である。
【０１６０】
図３２に示される移動体１０Ｄは、空間を移動可能である無人飛行体、いわゆるドローンである。
【０１６１】
移動体１０Ｄは、移動部２３として、例えば、モータ及びプロペラ等を備え、モータを回転動作させることで、移動体１０Ｄが飛行動作を行う。なお、モータの代わりに、エンジンを採用することも可能である。
【０１６２】
移動体が３次元的に移動することができる場合、上記実施の形態におけるエリアは、３次元を有する空間である。また、地図情報は、３次元を有する地図情報である。
【０１６３】
そして、移動体が、自機の位置を推定するためには、少なくとも３つの基準移動体の位置、及び、３つの基準移動体と自機との距離が必要である。そのため本変形例における移動体システムは、３つの基準移動体を含む、少なくとも４つの移動体を備える。移動体システムの動作及び処理は、上記実施の形態におけるものと同様である。また、３つの基準移動体の位置、及び、３つの基準移動体と自機との距離から、自機の位置を推定する方法、つまり上記実施の形態における（式８）から（式１１）に対応する、３つの基準位置を用いた方法は、公知の方法を採用し得るので詳細な説明は省略する。
【０１６４】
すなわち、本変形に係る移動体システムは、空間内を移動可能である少なくとも４つの移動体を備える。移動体システムに含まれる少なくとも４つの移動体は、第一エリア内に位置している。このとき、少なくとも４つの移動体のうちの３つの移動体のそれぞれは、制御部２２により、第一エリア内の任意の位置から測距センサ１２による測距が可能である第一距離以内である位置に一時的に停止している基準移動体として機能している。また、少なくとも４つの移動体のうちの上記３つの移動体を除く移動体は、制御部２２により、当該移動体が有する測距センサ１２によって計測された当該移動体から基準移動体それぞれまでの距離に基づいて推定される当該移動体の位置を用いて第一エリア内で移動する可動移動体として機能している。
【０１６５】
そして、少なくとも４つの移動体が第一エリアから第二エリアに移動する際には、以下のように動作する。
【０１６６】
（ａ）可動移動体は、制御部２２により、３つの基準移動体までの距離の計測を用いて第一エリアと第二エリアとの境界エリアに移動して一時的に停止する。
【０１６７】
（ｂ）基準移動体は、制御部２２により、順次に、一時的に停止している可動移動体又は基準移動体の３つを用いて境界エリアに移動して一時的に停止する。
【０１６８】
（ｃ）少なくとも４つの移動体のうちの３つの移動体それぞれは、制御部２２により、第二エリア内の任意の位置から第一距離以内である位置に移動して一時的に停止することで、新たな基準移動体として機能する。
【０１６９】
（ｄ）少なくとも４つの移動体のうちの新たな基準移動体を除く移動体は、制御部２２により、当該移動体が有する測距センサ１２によって計測された当該移動体から新たな基準移動体それぞれまでの距離に基づいて推定される当該移動体の位置を用いて第二エリア内で移動する、新たな可動移動体として機能する。
【０１７０】
なお、基準移動体は第一移動体、第二移動体及び第三移動体と表記され、可動移動体は第四移動体とも表記される。
【０１７１】
これにより、空間内において移動体から測距可能な距離に壁などの物がない場合でも、移動体は、自己位置を推定により取得しながらタスクを実行することができる。
【０１７２】
（実施の形態の変形例２）
上記実施の形態では、制御回路１９が制御部２２を備える構成を説明したが（図４参照）、制御部２２は、移動体１０の外部に存在してもよい。その場合、制御回路１９は、通信部を備え、その通信部が制御部２２と通信によって制御信号の送受信を行い、上記実施の形態の制御部２２と同じように移動体１０の移動を制御する。なお、制御部２２は、移動体１０とネットワークを介して通信できる位置であれば、その位置は限定されず、ネットワーク上のサーバ、言い換えればいわゆるクラウドサーバ上に存在していてもよい。
【０１７３】
以上のように上記実施の形態及び上記変形例に係る移動体システムによれば、移動体システムは、面に沿って移動する場合に、可動移動体の周囲に壁などの物がない等の理由で自己位置推定ができない場合に、基準移動体を利用して自己位置推定をする。そして、移動体システムが第一エリアから第二エリアに移動するときには、３つの移動体が境界エリアに一旦移動し、その後に第二エリアに移動するようにすることで、可動移動体による自己位置推定ができなくなることを回避することができる。これにより、可動移動体が継続的に自己位置推定をしながら第一エリアから第二エリアに移動することができ、これを繰り返すことで複数のエリアを巡回することができる。このようにして、移動体がより適切な移動経路を移動することができる。
【０１７４】
また、移動体システムにおいて可動移動体として機能する移動体が交代することができる。これにより、複数の移動体に亘る電力消費の均一化の効果があり、ひいては、移動体システム全体として長時間駆動できる効果がある。
【０１７５】
また、平行四辺形の形状を有するエリアを用いて、移動体が移動し得る領域に、より容易に、複数のエリアを設定することができる。
【０１７６】
また、移動体システムにおいて可動移動体が移動するときに、基準移動体が存在していることによって、可動移動体の移動を制限したり、移動の邪魔になってしまったりすることが回避され得る。
【０１７７】
また、移動体システムは、可動移動体の移動によりカーペットがずれる等して可動移動体のタスクの実行の障害が生ずることを回避し得る。
【０１７８】
また、移動体システムは、空間内を移動する場合に、可動移動体の周囲に壁などの物がない等の理由で自己位置推定ができない場合に、基準移動体を利用して自己位置推定をする。そして、移動体システムが第一エリアから第二エリアに移動するときには、４つの移動体が一旦境界エリアに移動し、その後に第二エリアに移動するようにすることで、可動移動体による自己位置推定ができなくなることを回避することができる。そして、可動移動体が継続的に自己位置推定をしながら第一エリアから第二エリアに移動することができ、これを繰り返すことで複数のエリアを巡回することができる。このようにして、移動体がより適切な移動経路を移動することができる。
【０１７９】
なお、上記実施の形態及び変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態及び変形例の移動体システムなどを実現するソフトウェアは、次のようなプログラムである。
【０１８０】
すなわち、このプログラムは、コンピュータに、空間を移動する少なくとも３つの移動体を備える移動体システムの制御方法であって、前記少なくとも３つの移動体のそれぞれは、第一エリアと、第二エリアと、前記第一エリアと前記第二エリアとが重複する境界エリアとを含む前記空間の地図情報を記憶している記憶部と、測距センサと、当該移動体を移動させる移動部と、前記測距センサが取得した距離情報に基づいて推定される当該移動体の位置と、前記記憶部が記憶している前記地図情報とを用いて、前記移動部による当該移動体の移動を制御する制御部とを備え、前記少なくとも３つの移動体は、第一移動体、第二移動体、及び第三移動体を含み、（ｉ）前記少なくとも３つの移動体が前記第一エリア内で移動する際には、前記第一移動体及び前記第二移動体は、前記第一エリア内の任意の位置から前記測距センサによる測距が可能である第一距離以内である位置に一時的に停止し、前記第三移動体は、前記第三移動体が有する前記測距センサによって計測された前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離とに基づいて推定される前記第三移動体の位置を用いて移動し、（ｉｉ）前記少なくとも３つの移動体が前記第一エリアから前記第二エリアに移動する際には、（ａ）前記第三移動体は、前記第三移動体から前記第一移動体までの距離と、前記第三移動体から前記第二移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、（ｂ）前記第三移動体が前記境界エリアに移動した後、前記第一移動体は、前記第一移動体から前記第二移動体までの距離と、前記第一移動体から前記第三移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止し、（ｃ）前記第三移動体が前記境界エリアに移動した後、前記第二移動体は、前記第二移動体から前記第一移動体までの距離と、前記第二移動体から前記第三移動体までの距離とを用いて、前記境界エリアに移動して一時的に停止する制御方法を実行させる。
【０１８１】
以上、一つまたは複数の態様に係る移動体システムなどについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【０１８２】
本発明は、移動体がより適切な移動経路を移動する移動体システムに利用可能である。具体的には、掃除機、移動ロボット、搬送ロボット、コミュニケーションロボット、無人飛行体（ドローン）などに適用可能である。
【符号の説明】
【０１８３】
１    移動体システム
９    面
１０、１０Ａ、１０Ｂ、１０Ｃ、１０Ｄ    移動体
１１    筐体
１２    測距センサ
１５、１５ａ、１５ｂ    車輪
１６、１６ａ、１６ｂ    モータ
１７    吸引部
１８    ごみ箱
１９    制御回路
２０    電源
２１    記憶部
２２    制御部
２３    移動部
４０、４２    領域
５０、５２、Ａ１、Ａ２、・・・、Ａ４８、Ａｉ、Ａｊ    エリア
６０    軌跡
６２    図形
Ｇ、Ｇ１、ＧＡ、Ｈ、ＨＡ    グラフ
【図１】
2020109618.tif 000014
【図２】
2020109618.tif 000015
【図３】
2020109618.tif 000016
【図４】
2020109618.tif 000017
【図５】
2020109618.tif 000018
【図６】
2020109618.tif 000019
【図７】
2020109618.tif 000020
【図８】
2020109618.tif 000021
【図９】
2020109618.tif 000022
【図１０】
2020109618.tif 000023
【図１１】
2020109618.tif 000024
【図１２】
2020109618.tif 000025
【図１３】
2020109618.tif 000026
【図１４】
2020109618.tif 000027
【図１５】
2020109618.tif 000028
【図１６】
2020109618.tif 000029
【図１７】
2020109618.tif 000030
【図１８】
2020109618.tif 000031
【図１９】
2020109618.tif 000032
【図２０】
2020109618.tif 000033
【図２１】
2020109618.tif 000034
【図２２】
2020109618.tif 000035
【図２３】
2020109618.tif 000036
【図２４】
2020109618.tif 000037
【図２５】
2020109618.tif 000038
【図２６】
2020109618.tif 000039
【図２７】
2020109618.tif 000040
【図２８】
2020109618.tif 000041
【図２９】
2020109618.tif 000042
【図３０】
2020109618.tif 000043
【図３１】
2020109618.tif 000044
【図３２】
2020109618.tif 000045