(57)【要約】【課題】より適切な移動経路を移動し得る移動ロボットを提供する。【解決手段】掃除機１は、測距センサ１２と、物の位置情報を含む前記環境の地図と、掃除機１が前記環境中を移動する第一経路とを取得する取得部２１と、地図上の物の位置を示す点のうち、掃除機１から上記点に向かう方向から見た場合、物と測距センサ１２との離間距離が、掃除機１が第一経路に沿って移動するときに変化する点である特徴点を特定する第一特定部２２と、特徴点から第一経路に向かって延び、かつ所定の測距範囲の最大値の長さを有する仮想線分が、第一経路と交差しない場合に、仮想線分上の点のうち第一経路に最も近い点である仮想点を特定する第二特定部２３と、第一経路を、仮想点を経由する第二経路に変換する変換部２４と、第二経路に沿って掃除機１を移動させるモータ制御部２５とを備える。【選択図】図６Ａ
2020009414.tif 000002
【特許請求の範囲】
【請求項１】
環境中を移動する移動ロボットであって、
所定の測距範囲を有する測距センサと、
物の位置情報を含む前記環境の地図と、前記移動ロボットが前記環境中を移動する第一経路とを取得する取得部と、
前記地図上の前記物の位置を示す点のうち、前記移動ロボットから前記点に向かう方向から見た場合、前記物と前記測距センサとの離間距離が、前記移動ロボットが前記第一経路に沿って移動するときに変化する点である特徴点を特定する第一特定部と、
前記特徴点から前記第一経路に向かって延び、かつ前記所定の測距範囲の最大値の長さを有する仮想線分が、前記第一経路と交差しない場合に、前記仮想線分上の点のうち前記第一経路に最も近い点である仮想点を特定する第二特定部と、
前記第一経路を、前記仮想点を経由する第二経路に変換する変換部と、
前記第二経路に沿って前記移動ロボットを移動させる駆動部とを備える
移動ロボット。
【請求項２】
前記特徴点は、前記地図上で前記物により規定される、前記移動ロボットが移動し得る領域の輪郭線上の頂点である
請求項１に記載の移動ロボット。
【請求項３】
前記仮想線分は、前記頂点において前記輪郭線がなす角を二等分する二等分線上に設定される
請求項２に記載の移動ロボット。
【請求項４】
前記特徴点は、前記地図上で前記物により規定される、前記移動ロボットが移動し得る領域の輪郭線に含まれる曲線部分の点のうち、前記第一経路に最も近い点である
請求項１に記載の移動ロボット。
【請求項５】
前記仮想線分は、前記曲線上の点のうち、前記第一経路に最も近い前記点を通り、前記第一経路に垂直に交わる直線上に設定される
請求項４に記載の移動ロボット。
【請求項６】
前記変換部は、前記第一経路において前記仮想点に最も近い点と前記仮想点とを結ぶ線分上を往復する経路を前記第一経路に追加することで、前記第一経路を前記第二経路に変換する
請求項１〜５のいずれか１項に記載の移動ロボット。
【請求項７】
前記第二特定部は、前記仮想線分上の点のうち、当該点と前記第一経路との距離が、前記測距センサによって測距可能な距離であって、かつ、最も短い点を、前記仮想点として特定する
請求項１〜６のいずれか１項に記載の移動ロボット。
【請求項８】
前記第二特定部は、２つの前記仮想点である第一点及び第二点を特定し、
前記変換部は、前記第一経路において前記第一点に最も近い点である第三点から、前記第一経路において前記第二点に最も近い点である第四点までの距離が、前記第二点から前記第四点までの距離以下であり、かつ、前記第一経路において前記第三点と前記第四点とがこの順序で前記移動ロボットに通過される場合には、前記第一経路の、前記第二点を経由する前記第二経路への変換を禁止する
請求項１〜７のいずれか１項に記載の移動ロボット。
【請求項９】
環境中を移動する移動ロボットであって、所定の測距範囲を有する測距センサを備える移動ロボットの制御方法であって、
物の位置情報を含む前記環境の地図と、前記移動ロボットが前記環境中を移動する第一経路とを取得し、
前記地図上の前記物の位置を示す点のうち、前記移動ロボットから前記点に向かう方向から見た場合、前記物と前記測距センサとの離間距離が、前記移動ロボットが前記第一経路に沿って移動するときに変化する点である特徴点を特定し、
前記特徴点から前記第一経路に向かって延び、かつ前記所定の測距範囲の最大値の長さを有する仮想線分が、前記第一経路と交差しない場合に、前記仮想線分上の点のうち前記第一経路に最も近い点である仮想点を特定し、
前記第一経路を、前記仮想点を経由する第二経路に変換し、
前記第二経路に沿って前記移動ロボットを移動させる
制御方法。
【請求項１０】
環境中を移動する移動ロボットであって、
所定の測距範囲を有する測距センサと、
物の位置情報を含む前記環境の地図と、前記移動ロボットが前記環境中を移動する第一経路とを取得する取得部とを備え、
前記環境は少なくとも第１の領域及び第２の領域を含み、
前記環境は複数の角と前記環境を囲う複数の壁面とで構成され、
前記複数の角のうちの第１の角は、前記第１の領域及び前記第２の領域と接しており、
前記移動ロボットは、第１の移動、又は第２の移動の少なくとも１つを満たすように移動し、
前記第１の移動は、前記第１の領域から前記第２の領域に侵入した後に、前記測距範囲に、前記第２の領域を構成する前記複数の壁面のうちの１つの壁面が位置するように移動し、前記第２の領域から前記第１の領域に移動することであり、
前記第２の移動は、前記第２の領域から前記第１の領域に侵入した後に、前記測距範囲に、前記第１の領域を構成する前記複数の壁面のうちの１つの壁面が位置するように移動し、前記第２の領域から前記第１の領域に移動することである、
移動ロボット。
【請求項１１】
前記移動ロボットが、前記第１の領域を構成する前記複数の壁面のうちの１つの壁面に沿って移動することで、前記第２の領域に侵入するとき、前記第１の移動を満たすように移動し、
前記移動ロボットが、前記第２の領域を構成する前記複数の壁面のうちの１つの壁面に沿って移動することで、前記第１の領域に侵入するとき、前記第２の移動を満たさないように、前記第２の領域内を移動する、
請求項１０に記載の移動ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動ロボット、及び、制御方法に関する。
【背景技術】
【０００２】
従来、清掃面を自律的に走行し、清掃面上に存在するごみを吸引する自律走行型掃除機が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１６／００２１８６号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の自律走行型掃除機のような移動ロボット（ｍｏｂｉｌｅ  ｒｏｂｏｔ）は、移動経路の設定について改善の余地がある。
【０００５】
そこで、本発明は、より適切な移動経路を移動し得る移動ロボットを提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る移動ロボットは、環境中を移動する移動ロボットであって、所定の測距範囲を有する測距センサと、物の位置情報を含む前記環境の地図と、前記移動ロボットが前記環境中を移動する第一経路とを取得する取得部と、前記地図上の前記物の位置を示す点のうち、前記移動ロボットから前記点に向かう方向から見た場合、前記物と前記測距センサとの離間距離が、前記移動ロボットが前記第一経路に沿って移動するときに変化する点である特徴点を特定する第一特定部と、前記特徴点から前記第一経路に向かって延び、かつ前記所定の測距範囲の最大値の長さを有する仮想線分が、前記第一経路と交差しない場合に、前記仮想線分上の点のうち前記第一経路に最も近い点である仮想点を特定する第二特定部と、前記第一経路を、前記仮想点を経由する第二経路に変換する変換部と、前記第二経路に沿って前記移動ロボットを移動させる駆動部とを備える。
【０００７】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００８】
本発明の移動ロボットは、より適切な移動経路を移動し得る。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態における掃除機の外観を模式的に示す上面図である。
【図２】図２は、実施の形態における掃除機の外観を模式的に示す側面図である。
【図３】図３は、実施の形態における掃除機の周囲の物との位置関係を示す第一の説明図である。
【図４】図４は、実施の形態における掃除機の周囲の物との位置関係を示す第二の説明図である。
【図５】図５は、実施の形態における掃除機の内部構造を模式的に示す上面図である。
【図６Ａ】図６Ａは、実施の形態における掃除機の制御回路の機能を詳細に示すブロック図である。
【図６Ｂ】図６Ｂは、実施の形態における物と測距センサとの離間距離の第一の説明図である。
【図６Ｃ】図６Ｃは、実施の形態における物と測距センサとの離間距離の第二の説明図である。
【図７】図７は、実施の形態における測距センサによる測距が可能な領域の一例を示す説明図である。
【図８】図８は、実施の形態における測距センサによる距離の計測結果の一例を示す説明図である。
【図９】図９は、実施の形態における掃除機が実行する一連の処理を示すフロー図である。
【図１０】図１０は、実施の形態における地図と経路との一例を示す第一の説明図である。
【図１１】図１１は、実施の形態における地図と経路との一例を示す第二の説明図である。
【図１２Ａ】図１２Ａは、掃除機が移動経路に沿って移動するときの測距の第一の説明図である。
【図１２Ｂ】図１２Ｂは、掃除機が移動経路に沿って移動するときの測距の第二の説明図である。
【図１３】図１３は、実施の形態における地図と経路との一例を示す第三の説明図である。
【図１４】図１４は、実施の形態における第二特定部による仮想点を特定する処理を示すフロー図である。
【図１５】図１５は、実施の形態における第二特定部による仮想点の重複を解消する処理を示すフロー図である。
【図１６】図１６は、実施の形態における特徴点及び仮想点の特定の第一の説明図である。
【図１７】図１７は、実施の形態における特徴点及び仮想点の特定の第二の説明図である。
【図１８】図１８は、実施の形態における変換部による変換後の経路の第一例を示す説明図である。
【図１９Ａ】図１９Ａは、実施の形態における変換部による変換後の経路の第二例を示す第一の説明図である。
【図１９Ｂ】図１９Ｂは、実施の形態における変換部による変換後の経路の第二例を示す第二の説明図である。
【図２０Ａ】図２０Ａは、実施の形態における掃除機が変換後の経路に沿って移動するときの測距の第一の説明図である。
【図２０Ｂ】図２０Ｂは、実施の形態における掃除機が変換後の経路に沿って移動するときの測距の第二の説明図である。
【図２１】図２１は、実施の形態における地図と経路とを示す第四の説明図である。
【図２２Ａ】図２２Ａは、実施の形態における掃除機が変換後の経路に沿って移動するときの測距の第三の説明図である。
【図２２Ｂ】図２２Ｂは、実施の形態における掃除機が変換後の経路に沿って移動するときの測距の第四の説明図である。
【図２３】図２３は、実施の形態の変形例における変換部による移動経路の変換を示す説明図である。
【図２４Ａ】図２４Ａは、実施の形態の変形例における掃除機が変換後の経路に沿って移動するときの測距の第一の説明図である。
【図２４Ｂ】図２４Ｂは、実施の形態の変形例における掃除機が変換後の経路に沿って移動するときの測距の第二の説明図である。
【図２５】図２５は、実施の形態の変形例における掃除機の変換後の経路の説明図である。
【発明を実施するための形態】
【００１０】
本発明の一態様に係る移動ロボットは、環境中を移動する移動ロボットであって、所定の測距範囲を有する測距センサと、物の位置情報を含む前記環境の地図と、前記移動ロボットが前記環境中を移動する第一経路とを取得する取得部と、前記地図上の前記物の位置を示す点のうち、前記移動ロボットから前記点に向かう方向から見た場合、前記物と前記測距センサとの離間距離が、前記移動ロボットが前記第一経路に沿って移動するときに変化する点である特徴点を特定する第一特定部と、前記特徴点から前記第一経路に向かって延び、かつ前記所定の測距範囲の最大値の長さを有する仮想線分が、前記第一経路と交差しない場合に、前記仮想線分上の点のうち前記第一経路に最も近い点である仮想点を特定する第二特定部と、前記第一経路を、前記仮想点を経由する第二経路に変換する変換部と、前記第二経路に沿って前記移動ロボットを移動させる駆動部とを備える。
【００１１】
これによれば、移動ロボットは、仮に第一経路に沿って移動するとすれば自己位置推定が適切になされない場合に、測距センサによって特徴点を検出できる位置を経由する経路に変更する。これにより、移動ロボットは、移動中に特徴点を検出することにより、自己位置推定を適切に行い得る。よって、移動ロボットは、より適切な移動経路を移動し得る。
【００１２】
また、前記特徴点は、前記地図上で前記物により規定される、前記移動ロボットが移動し得る領域の輪郭線上の頂点であってもよい。
【００１３】
これによれば、移動ロボットは、移動ロボットが移動し得る領域の輪郭線上の頂点を特徴点として検出する。よって、移動ロボットは、上記輪郭線上の頂点を特徴点として用いることによって、より容易に自己位置推定を行うことができる。
【００１４】
また、前記仮想線分は、前記頂点において前記輪郭線がなす角を二等分する二等分線上に設定されてもよい。
【００１５】
これによれば、移動ロボットは、頂点を構成する２本の輪郭線から等距離の位置に設定される仮想線分上に仮想点を設定する。よって、特徴点を一端とする仮想線分が、２本の輪郭線それぞれからなるべく離れた位置に設定され、その結果、仮想点が、２本の輪郭線それぞれからなるべく離れた位置に設定される。よって、移動ロボットは、第一経路から第二経路への変換の際に追加する経路の長さをより短くしながら、より適切な移動経路を移動し得る。
【００１６】
また、前記特徴点は、前記地図上で前記物により規定される、前記移動ロボットが移動し得る領域の輪郭線に含まれる曲線部分の点のうち、前記第一経路に最も近い点であってもよい。
【００１７】
これによれば、移動ロボットは、移動ロボットが移動し得る領域の輪郭線に含まれる曲線部分の点のうちの第一経路に最も近い点を特徴点として検出する。よって、移動ロボットは、上記点を特徴点として用いることによって、より容易に自己位置推定を行うことができる。
【００１８】
また、前記仮想線分は、前記曲線上の点のうち、前記第一経路に最も近い前記点を通り、前記第一経路に垂直に交わる直線上に設定されてもよい。
【００１９】
これによれば、移動ロボットは、輪郭線から等距離の位置に設定される仮想線分上に仮想点を設定する。よって、特徴点を一端とする仮想線分が、輪郭線からなるべく離れた位置に設定され、その結果、仮想点が輪郭線からなるべく離れた位置に設定される。よって、移動ロボットは、第一経路から第二経路への変換の際に追加する経路の長さをより短くしながら、より適切な移動経路を移動し得る。
【００２０】
また、前記変換部は、前記第一経路において前記仮想点に最も近い点と前記仮想点とを結ぶ線分上を往復する経路を前記第一経路に追加することで、前記第一経路を前記第二経路に変換してもよい。
【００２１】
これによれば、移動ロボットは、第一経路から第二経路への変換の際に追加する経路の長さを最短にしながら、より適切な移動経路を移動し得る。
【００２２】
また、前記第二特定部は、前記仮想線分上の点のうち、当該点と前記第一経路との距離が、前記測距センサによって測距可能な距離であって、かつ、最も短い点を、前記仮想点として特定してもよい。
【００２３】
これによれば、移動ロボットは、第一経路上の位置から測距センサによって測距可能な範囲内に仮想点を設定する。よって、第一経路から第二経路への変換の際に追加する経路の長さが、測距センサによる測距が可能な距離を基準として長くなりすぎることを回避できる。
【００２４】
また、前記第二特定部は、２つの前記仮想点である第一点及び第二点を特定し、前記変換部は、前記第一経路において前記第一点に最も近い点である第三点から、前記第一経路において前記第二点に最も近い点である第四点までの距離が、前記第二点から前記第四点までの距離以下であり、かつ、前記第一経路において前記第三点と前記第四点とがこの順序で前記移動ロボットに通過される場合には、前記第一経路の、前記第二点を経由する前記第二経路への変換を禁止してもよい。
【００２５】
これによれば、移動ロボットは、仮想点を経由するように第一経路を第二経路に変換することが想定されるときに、上記仮想点から第一経路に戻るのに必要な距離が比較的長い場合に、上記変換をしないようにすることができる。移動ロボットが第二経路に沿って移動する方が、移動ロボットが推定する自己位置と現実における位置との差異が大きくなることが想定されるからである。よって、移動ロボットは、自己位置推定の誤差が増大することを回避することによって、より適切な移動経路を移動し得る。
【００２６】
本発明の一態様に係る移動ロボットの制御方法は、環境中を移動する移動ロボットであって、所定の測距範囲を有する測距センサを備える移動ロボットの制御方法であって、物の位置情報を含む前記環境の地図と、前記移動ロボットが前記環境中を移動する第一経路とを取得し、前記地図上の前記物の位置を示す点のうち、前記移動ロボットから前記点に向かう方向から見た場合、前記物と前記測距センサとの離間距離が、前記移動ロボットが前記第一経路に沿って移動するときに変化する点である特徴点を特定し、前記特徴点から前記第一経路に向かって延び、かつ前記所定の測距範囲の最大値の長さを有する仮想線分が、前記第一経路と交差しない場合に、前記仮想線分上の点のうち前記第一経路に最も近い点である仮想点を特定し、前記第一経路を、前記仮想点を経由する第二経路に変換し、前記第二経路に沿って前記移動ロボットを移動させる。
【００２７】
これによれば、上記移動ロボットと同様の効果を奏する。
【００２８】
本発明の一態様に係る移動ロボットは、環境中を移動する移動ロボットであって、所定の測距範囲を有する測距センサと、物の位置情報を含む前記環境の地図と、前記移動ロボットが前記環境中を移動する第一経路とを取得する取得部とを備え、前記環境は少なくとも第１の領域及び第２の領域を含み、前記環境は複数の角と前記環境を囲う複数の壁面とで構成され、前記複数の角のうちの第１の角は、前記第１の領域及び前記第２の領域と接しており、前記移動ロボットは、第１の移動、又は第２の移動の少なくとも１つを満たすように移動し、前記第１の移動は、前記第１の領域から前記第２の領域に侵入した後に、前記測距範囲に、前記第２の領域を構成する前記複数の壁面のうちの１つの壁面が位置するように移動し、前記第２の領域から前記第１の領域に移動することであり、前記第２の移動は、前記第２の領域から前記第１の領域に侵入した後に、前記測距範囲に、前記第１の領域を構成する前記複数の壁面のうちの１つの壁面が位置するように移動し、前記第２の領域から前記第１の領域に移動することである。
【００２９】
このようにすることで、移動ロボットは、第１の領域内の移動が終わった後に、第２の領域内を移動する。そして、移動ロボットは、環境に含まれる領域を順番に移動した後に、第１の領域に設置された充電器に戻ることができる。このようにして移動ロボットは、より適切な移動経路を移動し得る。
【００３０】
また、前記移動ロボットが、前記第１の領域を構成する前記複数の壁面のうちの１つの壁面に沿って移動することで、前記第２の領域に侵入するとき、前記第１の移動を満たすように移動し、前記移動ロボットが、前記第２の領域を構成する前記複数の壁面のうちの１つの壁面に沿って移動することで、前記第１の領域に侵入するとき、前記第２の移動を満たさないように、前記第２の領域内を移動てもよい。
【００３１】
このようにすることで、移動ロボットは、より容易に、より適切な移動経路を移動し得る。
【００３２】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００３３】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００３４】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００３５】
（実施の形態）
本実施の形態における移動ロボットの例である掃除機１について説明する。なお、移動ロボットは、掃除機１の他にも、各種センシングのための移動ロボット、物品を搬送する搬送ロボット、人とのコミュニケーションをするコミュニケーションロボットなどにも適用され得る。
【００３６】
図１及び図２は、それぞれ本実施の形態における掃除機１の外観を模式的に示す上面図及び側面図である。これらの図を参照しながら、掃除機１の動作を説明する。なお、下記説明において、各図面中に示されるＸＹＺ座標軸を用いた説明を行うこともある。またＺ軸プラス方向を上方向ともいう。
【００３７】
掃除機１は、環境中において清掃面９上を自律走行し、清掃面９を清掃する。掃除機１は、自律的に自装置の移動経路を決定し、決定した移動経路に沿って移動しながら清掃面９上に存在するごみ等を吸引する。なお、移動経路を単に経路ともいう。環境の一例は、住宅、オフィスビル、商業ビルを含む屋内空間である。掃除機１は、移動経路の決定には、ＳＬＡＭ技術（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）による自己位置推定と地図の作成を利用することができる。例えば、掃除機１は、壁２を含む周囲の物との距離を光Ｌによって計測し、保有している地図と比較することで、地図上における自装置の位置を推定し、また、地図の新たな部分を作成する。そして、推定した自装置の位置に基づいて、保有している移動経路に沿って移動する制御をする。掃除機１は、原則として矢印Ａに示される方向に移動する。なお、「移動」の語は、「進行」又は「走行」とも表現され得る。また、矢印Ａに示される方向は、移動方向、進行方向又は走行方向とも表現され得る。
【００３８】
図３は、本実施の形態における掃除機１の周囲の物との位置関係を示す第一の説明図である。図３に示される地図６は、環境を上面から見た時の２次元地図に相当する。地図６において、掃除機１が移動し得る領域の輪郭である壁２により空間が規定される。図３に示す地図６では、掃除機１の周囲の物は壁２である。地図６は、掃除機１の周囲の物として、掃除機１の周囲の障害物の位置を含んでも良い。また、地図６には、掃除機１の経路３が示されている。また、地図６には、現時点の掃除機１の存在位置、及び、掃除機１が光Ｌにより測距可能である半径Ｒの領域４が示されている。掃除機１は、光Ｌにより、光Ｌの光路上における掃除機１に最も近い物５までの距離を計測し得る。
【００３９】
ここで、掃除機１と、掃除機１の周囲にある物との位置関係によっては、自己位置推定が適切になされないという問題がある。この問題が生ずる場合と、生じない場合とを例を挙げて説明する。
【００４０】
図４は、本実施の形態における掃除機１の周囲の物との位置関係を示す第二の説明図である。
【００４１】
図４の（ａ）及び（ｂ）は、掃除機１による自己位置推定が適切になされる例を示している。
【００４２】
例えば、図４の（ａ）において、掃除機１は、２つの平面が接続された壁２を測距できる位置に位置している。掃除機１は、光ＬＡ、ＬＢ及びＬＣ等によって、それぞれ、壁２の一部である物５Ａ、５Ｂ及び５Ｃ等までの距離を計測する。計測された距離は、現時点の掃除機１の位置に特有の距離である。言い換えれば、現時点の掃除機１の位置と異なる位置では、偶然の一致の場合を除いて、この計測された距離とは異なる距離が計測される。よって、この計測された距離と、掃除機１が保有している地図上での掃除機１から物までの距離とを照合することで、掃除機１は自己位置を推定することができる。図４の（ｂ）では、掃除機１は、曲面である壁２を測距できる位置に位置しており、上記と同様の説明が成立する。
【００４３】
図４の（ｃ）及び（ｄ）は、掃除機１による自己位置推定に問題が生ずる例を示している。
【００４４】
例えば、図４の（ｃ）において、掃除機１は、平行な２つの平面である壁２を測距できる位置に位置している。掃除機１は、光ＬＡ、ＬＢ及びＬＣ等によって、それぞれ物５Ａ、５Ｂ及び５Ｃ等までの距離を計測する。計測された距離は、壁２に平行な直線７上であれば、どの位置であっても同じである。よって、掃除機１は、このように計測された距離を用いても、直線７上のどの位置に自装置が位置しているかを特定することができない。このように、掃除機１は、光を用いた方法によって現時点の自己位置を推定することができない。
【００４５】
また、図４の（ｄ）において、掃除機１の測距可能な領域内に壁２が存在しない。よって、掃除機１は、光ＬＡなどの反射光を一切受光することがないので、自己位置を推定することができない。
【００４６】
このように、掃除機１と、その周囲にある物との位置関係から、掃除機１の位置を一意に特定できない場合、掃除機１による自己位置推定が適切になされない。そして自己位置推定がなされない期間が比較的長期間になると、掃除機１が推定する自己位置と現実における位置との差異が大きくなり、掃除機１の移動経路が適切でなくなる。
【００４７】
本実施の形態の掃除機１は、掃除機１と壁２との位置関係から、掃除機１の位置を一意に特定できない位置に移動することが予定されている場合に、自己位置推定が適切になされるように移動経路を適切に変化させる。これにより、掃除機１は、自己位置推定を適切に行い、その結果、適切な移動経路を移動することができるようになる。
【００４８】
以降において、掃除機１の詳細な構成及び処理について説明する。
【００４９】
図５は、本実施の形態における掃除機１の内部構造を模式的に示す上面図である。
【００５０】
図５に示されるように、掃除機１は、筐体１１と、測距センサ１２と、車輪１５ａ及び１５ｂと、モータ１６ａ及び１６ｂと、吸引部１７と、ごみ箱１８と、制御回路１９と、電源２０とを備える。
【００５１】
筐体１１は、掃除機１の筐体であり、掃除機１の外郭を規定する。筐体１１は、上面視において略三角形の形状を有するが、どのような形状を採用してもよく、例えば、円形、四角形又は五角形等の形状を有してもよい。また、筐体１１の寸法は、例えば、Ｘ軸方向及びＹ軸方向それぞれにおいて３０ｃｍ程度、Ｚ軸方向において１０ｃｍ程度であるが、これに限定されない。
【００５２】
測距センサ１２は、掃除機１の周囲に存在する物と測距センサ１２との離間距離を計測する。測距センサ１２は、例えば光によって周囲の物体との距離を計測するレーザーレンジファインダ又はＬｉＤＡＲ（Ｌｉｇｈｔ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｒａｎｇｉｎｇ）装置により実現され得る。
【００５３】
測距センサ１２は、筐体１１の上面から露出して配置される。測距センサ１２は、ＸＹ平面に平行な方向に光線を出射する発光部、及び、発光部が光線を出射した方向からの光線を受ける受光部を有する。発光部及び受光部は、Ｚ軸方向に平行な軸回りに旋回しながら光線の出射及び、光線の受光をすることで、掃除機１の周囲に存在する物までの距離を測定する。旋回の速度は、例えば１秒間に５回転する速度である。また、測距センサ１２による光の出射は、例えば、１回転の期間で２０回行われる。測距センサ１２は、所定の測定距離を有する。例えば、所定の測定距離の最大値を第一の距離とする。第一の距離は、レーザーレンジファインダ又はＬｉＤＡＲの性能に依存する。第一の距離の一例は、数ｍ以上、数百ｍ以下である。
【００５４】
車輪１５ａ及び１５ｂは、掃除機１を移動させる車輪である。車輪１５ａ及び１５ｂは、回転軸が筐体１１に固定されており、車輪１５ａ及び１５ｂの回転により筐体１１が移動する。車輪１５ａ及び１５ｂの回転は、それぞれモータ１６ａ及び１６ｂにより独立に制御される。車輪１５ａ及び１５ｂの材質は、ゴム又はナイロンなどである。
【００５５】
モータ１６ａ及び１６ｂは、それぞれ独立に、車輪１５ａ及び１５ｂの回転を制御する。モータ１６ａは、制御回路１９による制御の下で、車輪１５ａを回転又は停止させる。モータ１６ｂは、制御回路１９による制御の下で、車輪１５ｂを回転又は停止させる。また、モータ１６ａ及び１６ｂの回転速度に差をつけることで掃除機１の向きを変える、つまり方向転換をすることもできる。
【００５６】
吸引部１７は、清掃面９上に存在するごみを吸引する。吸引部１７は、筐体１１の底面に配置される吸引口（不図示）を通じて、ごみを空気とともに吸い込む。また、吸い込んだごみをごみ箱１８に排出する。吸引部１７の幅、つまり、Ｘ軸方向の長さは、例えば１５ｃｍ程度であるが、これに限定されない。吸引部１７の吸引動作は、制御回路１９により制御される。
【００５７】
ごみ箱１８は、吸引部１７が空気とともに吸引したごみを、フィルタによって分離して格納する格納スペースである。
【００５８】
制御回路１９は、掃除機１の各種機能を制御する。具体的には、制御回路１９は、掃除機１の移動経路の決定を行い、決定した移動経路に沿って掃除機１が移動するようにモータ１６ａ及び１６ｂを制御する。制御回路１９は、プロセッサがプログラムを実行することで実現され得る。
【００５９】
制御回路１９は、清掃処理の際には、測距センサ１２によって掃除機１の周囲の物体との距離を取得し、ＳＬＡＭ技術に基づいて掃除機１の移動経路を決定してモータ１６ａ及び１６ｂを制御することで、掃除機１を走行させる。
【００６０】
電源２０は、掃除機１の各構成要素に電力を供給する電源装置である。電源２０は、例えば、二次電池、より具体的にはリチウムイオン電池である。
【００６１】
なお、掃除機１は、上記のほかにも、電源２０に電力を供給するために充電器に接続されるための端子、清掃面９上のごみをかき集めるためのブラシなどを備えてもよい。
【００６２】
次に、制御回路１９についてさらに詳細に説明する。
【００６３】
図６Ａは、本実施の形態における掃除機１の制御回路１９の機能を詳細に示すブロック図である。
【００６４】
図６Ａに示されるように、制御回路１９は、取得部２１と、第一特定部２２と、第二特定部２３と、変換部２４と、モータ制御部２５とを備える。
【００６５】
取得部２１は、掃除機１の移動経路に関する情報を取得する。具体的には、取得部２１は、物の位置情報を含む環境の地図と、掃除機１が環境中を移動する第一経路とを取得する。取得部２１が取得する地図は、掃除機１の周囲に存在する物の位置を示す情報であり、例えば、上面視による掃除機１が移動し得る領域をグリッドによってセルに分割し、各セルに物が存在しているか否かを示す情報である。取得部２１が取得する経路は、掃除機１の移動経路として予定されている経路であり、第一経路ともいう。なお、地図情報を単に地図ともいい、経路情報を単に経路ともいう。
【００６６】
第一特定部２２は、地図上の物の位置を示す点のうち、掃除機１から当該点に向かう方向から見た場合、物と測距センサ１２との離間距離が、掃除機１が第一経路に沿って移動するときに変化する点である特徴点を特定する。例えば、図４の（ａ）及び（ｂ）において、掃除機１が壁２と非平行に移動する場合、物５Ａ、５Ｂ及び５Ｃ等を示す点が特徴点として特定され得る。また、図４の（ｃ）において、掃除機１が壁２と平行に移動する場合、つまり直線７上を移動する場合には、壁２におけるどの点も特徴点と特定され得ない。
【００６７】
第二特定部２３は、特徴点から第一経路に向かって延び、かつ所定の測距範囲の最大値の長さを有する仮想線分が、第一経路と交差しない場合に、仮想線分上の点のうち、第一経路に最も近い点である仮想点を特定する。ここで、第二特定部２３は、仮想点を特定する際に、仮想線分上の点のうち、当該点と第一経路との距離が、測距センサ１２によって測距可能な距離Ｒ以下の所定距離Ｓであって、かつ、最も短い点を仮想点として特定してもよい。上記所定距離Ｓは、例えば、０．５×Ｒから０．６×Ｒまでの範囲で定められ、より特定的には、例えばＳ＝０．５４×Ｒに定められる。また、Ｓを小さくするほど、自己位置推定に利用できる特徴点を多くすることにより自己位置推定の精度を向上できる利点がある。一方、Ｓを大きくするほど、経路の変換によって追加する経路の長さを短くすることができる利点がある。
【００６８】
変換部２４は、第一経路を、仮想点を経由する経路に変換する。例えば、変換部２４は、第一経路において仮想点に最も近い点と仮想点とを結ぶ線分上を往復する経路を第一経路に追加することで、第一経路を変換する。ここで、変換部２４による変換後の経路を第二経路ともいう。変換部２４は、第一経路に変換を施すことで、仮想点を経由する新たな第二経路を生成するともいえる。
【００６９】
モータ制御部２５は、制御回路１９による制御に基づいてモータ１６の駆動を制御する制御装置である。具体的には、モータ制御部２５は、変換部２４が変換により生成した第二経路に沿って掃除機１を移動させるようにモータ１６を駆動する。なお、モータ制御部２５は、駆動部に相当する。
【００７０】
ここで、特徴点と仮想線分とは、例えば、以下のように設定される。特徴点の一例は、掃除機１が移動し得る領域の輪郭線上の頂点である。この場合、仮想線分は、上記頂点において輪郭線がなす角を二等分する二等分線上に設定される。
【００７１】
また、特徴点の他の一例は、掃除機１が移動し得る領域の輪郭線に含まれる曲線部分の点のうち、第一経路に最も近い点である。この場合、仮想線分は、曲線上の点のうち、第一経路に最も近い点を通り、第一経路に垂直に交わる直線上に設定される。特徴点と仮想線分との設定については、後で具体例を挙げて詳細に説明する。
【００７２】
次に、測距センサ１２と物との離間距離について説明する。図６Ｂ及び図６Ｃは、本実施の形態における物と測距センサ１２との離間距離の説明図である。
【００７３】
図６Ｂは、図４の（ｂ）において掃除機１が壁２と非平行に移動する場合における、掃除機１から物５Ａを示す点に向かう方向から見たときの物５Ａと測距センサ１２との離間距離を示している。掃除機１から物５Ａを示す点に向かう方向は、図６Ｂにおいて矢印ｄ１として示されている。掃除機１から物５Ａを示す点までの距離は矢印ｄ１の長さで示される。
【００７４】
ここで、掃除機１が矢印Ａの方向に移動すると仮定すると、測距センサ１２は、上記方向において、壁２における物５ＡＡで示される点を検出するようになる。そして、移動後には、上記方向における掃除機１から物を示す点までの距離が、矢印ｄ２の長さで示される距離になることで、矢印ｄ１の長さで示される距離から変化する。
【００７５】
この場合、第一特定部２２は、上記移動によって、上記方向から見た場合における物と測距センサ１２との離間距離が変化すると判断して、物５Ａを示す点を特徴点として特定する。
【００７６】
図６Ｃは、図４の（ｃ）において掃除機１が壁２と平行に移動する場合における、掃除機１から物５Ａを示す点に向かう方向から見たときの物５Ａと測距センサ１２との離間距離を示している。掃除機１から物５Ａを示す点に向かう方向は、図６Ｃにおいて矢印ｄ１として示されている。掃除機１から物５Ａを示す点までの距離は矢印ｄ１の長さで示される。
【００７７】
ここで、掃除機１が矢印Ａの方向に移動すると仮定すると、測距センサ１２は、上記方向において、壁２における物５ＡＡで示される点を検出するようになる。そして、移動後には、上記方向における掃除機１から物を示す点までの距離が、矢印ｄ２の長さで示される距離になるが、これは矢印ｄ１の長さで示される距離と等しい。
【００７８】
この場合、第一特定部２２は、上記移動によって、上記方向から見た場合における物と測距センサ１２との離間距離が変化しないと判断して、物５Ａを示す点を特徴点として特定することがない。
【００７９】
次に、測距センサ１２による測距について説明する。図７は、本実施の形態における測距センサ１２による測距が可能な領域の一例を示す説明図である。図８は、本実施の形態における測距センサ１２による距離の計測結果の一例を示す説明図である。
【００８０】
図７に示されるように、測距センサ１２は、回転しながら順次に、掃除機１の周囲に光を出射する。例えば、測距センサ１２は、最初に、矢印Ａで示される移動方向と平行な方向に、つまり光路３１に沿って光を出射し、その後に、紙面上の左回りに順次に光路３２、３３及び３４に沿って光を出射する。図７において、領域４は、測距センサ１２による測距が可能な領域である。なお、光を出射する方向は右回りでもよい。
【００８１】
図８に示されるデータ列４０は、図６Ａの光路３１等から受光した光によって計測された距離データである。データ列４０に含まれるデータ４１、４２、４３及び４４は、それぞれ、光路３１、３２、３３及び３４に光を出射したことによって計測された距離データである。
【００８２】
図７において測距センサ１２が光路３１及び３２に沿って出射した光は、領域４内に壁２などの物がないので、領域４内で反射されない。そのため、測距センサ１２は、光路３１及び３２に沿って出射された光の反射光を受光することがない。このように、測距センサ１２は、光路３１及び３２によって有意な距離データを得ることができないので、データ４１及び４２は、有意な距離データがないことを示す「ｎａｎ」となっている。
【００８３】
また、測距センサ１２が光路３３及び３４に沿って出力した光は、領域４内の壁２で反射され、測距センサ１２によってその反射光が受光される。測距センサ１２は、出射した光とは反対方向に光路３３及び３４に沿って移動する反射光を受光することで、その光路上の物までの距離データとして、「１７．０１」及び「１２．３６」を得る。
【００８４】
以上のように構成された掃除機１による処理について、地図及び移動経路などの具体例を示しながら以降で説明する。
【００８５】
図９は、本実施の形態における掃除機１が実行する一連の処理を示すフロー図である。
【００８６】
ステップＳ１０１において、取得部２１は、地図と経路（第一経路に相当）とを取得する。取得部２１は、予め掃除機１の記憶装置に格納された地図又は経路を読み出すことで取得してもよい。また、取得部２１は、地図に関して、測距センサ１２による測距の結果に基づいて、測距センサ１２による測距が可能な領域内の地図を作成することで取得してもよい。取得部２１は、地図上において現時点の掃除機１の位置から、現時点の移動方向に向かって所定距離だけ経路を延ばすことによって、現時点の掃除機１の移動方向にそのまま移動することを示す経路を作成することで上記経路を取得してもよい。
【００８７】
ステップＳ１０２において、第一特定部２２は、特徴点を特定する。具体的には、第一特定部２２は、地図上において、掃除機１が移動し得る領域の輪郭線上の頂点を特徴点として特定する。また、第一特定部２２は、地図上において、掃除機１が移動し得る領域の輪郭線に含まれる曲線部分の点のうち、第一経路に最も近い点を特徴点として特定する。
【００８８】
ステップＳ１０３において、第二特定部２３は、ステップＳ１０２で第一特定部２２が特定した特徴点から設定される仮想線分が第一経路と交差するか否かを判定し、交差しない場合に、上記仮想線分上の点のうち第一経路に最も近い点である仮想点を特定する。ステップＳ１０３の処理の詳細については、後で詳しく説明する。
【００８９】
ステップＳ１０４において、変換部２４は、ステップＳ１０１で取得した第一経路を、ステップＳ１０３で特定した仮想点を経由する第二経路に変換する。ステップＳ１０４の処理の詳細については、後で詳しく説明する。
【００９０】
ステップＳ１０５において、モータ制御部２５は、ステップＳ１０４で変換部２４により変換された第二経路に沿ってモータ１６を駆動させることで、掃除機１を第二経路に沿って移動させる。
【００９１】
以降において、地図と経路との具体例を用いて掃除機１が実行する各処理について詳細に説明する。
【００９２】
図１０及び図１１は、本実施の形態における地図５０と経路５２との一例を示す説明図である。地図５０と経路５２とは、ステップＳ１０１において取得部２１により取得されるものである。
【００９３】
図１０に示されるように、掃除機１は、地図５０上において、始点５４から終点５６に至る経路５２に沿って移動することが想定される。例えば、経路５２は、図１１に示されるような通路６１及び通路６２をくまなく掃除機１が掃除する場合に想定される経路の一部である。ここで、掃除機１は、最初に通路６１内を壁２Ａと平行に往復する経路６３に沿って移動し、その後、通路６２内を壁２と平行に往復する経路６４に沿って移動する。掃除機１は、通路６２内を移動する際には、通路６１内には侵入しない。一度掃除した場所を再び掃除することになれば、所要時間が多くなり効率の低下を招くからである。図９の経路５２は、経路６４の一部を抜き出したものに相当する。
【００９４】
図１２Ａ及び図１２Ｂは、掃除機１が移動経路に沿って移動するときの測距の説明図である。図１２Ａ及び図１２Ｂには、掃除機１が始点５４に位置している状態（図１２Ａの（ａ））から、経路５２に沿って移動して（図１２Ａの（ｂ）及び（ｃ）、図１２Ｂの（ｄ））、最後に終点５６に位置している状態（図１２Ｂの（ｅ））に至るまでに、測距センサ１２によって測距できる物を黒丸で示している。
【００９５】
ここで、図１２Ａ及び図１２Ｂに示される移動の最中に測距センサ１２によって測距できる物は、互いに平行な壁２上の点だけであり、壁２上の点以外のもの、例えば壁２Ａを測距することができない。よって、掃除機１は、経路５２に沿って移動する場合には、自己位置推定を適切に行うことができない。
【００９６】
以降では、説明の便宜上、取得部２１が、ステップＳ１０１で図１３に示される地図５０と経路５２とを取得した場合を例として説明する。地図５０において、ステップＳ１０２で第一特定部２２により特定される点を点Ｃｉ（ただし１≦ｉ≦１０）として示している。
【００９７】
図１４は、本実施の形態における第二特定部２３による、仮想点を特定する処理を示すフロー図である。図１５は、本実施の形態における第二特定部２３による、仮想点の重複を解消する処理を示すフロー図である。図１６及び図１７は、本実施の形態における特徴点及び仮想点の特定の説明図である。
【００９８】
図１４に示される一連の処理は、図９のステップＳ１０３で行われる処理の詳細を示すものである。
【００９９】
ステップＳ２０１において、第二特定部２３は、後述するステップＳ２０２からステップＳ２０６までの処理を繰り返し実行するループＡの開始処理を行う。ループＡでは、ステップＳ１０２で特定された複数の特徴点Ｃｉのうちの一の特徴点に着目して処理を実行し、最終的にすべての特徴点Ｃｉについて処理を実行する。なお、着目している特徴点を特徴点Ｃと表記する。
【０１００】
ステップＳ２０２において、第二特定部２３は、仮想線分を設定する。仮想線分は、特徴点Ｃから第一経路に向けて、測距センサ１２による測距が可能な長さを有する線分として設定される。第二特定部２３は、着目している特徴点Ｃが、掃除機１が移動し得る領域の輪郭線上の頂点である場合には、その頂点において輪郭線がなす角を二等分する二等分線上に上記仮想線分を設定する。また、第二特定部２３は、着目している特徴点Ｃが掃除機１が移動し得る領域の輪郭線に含まれる曲線部分の点である場合には、当該曲線上の点のうち、第一経路に最も近い点を通り、第一経路に垂直に交わる直線上に上記仮想線分を設定する。
【０１０１】
ステップＳ２０３において、第二特定部２３は、ステップＳ２０２で設定した仮想線分が第一経路と交差するか否かを判定する。仮想線分が第一経路と交差する場合（ステップＳ２０３でＹｅｓ）にはステップＳ２２１に進み、そうでない場合（ステップＳ２０３でＮｏ）にはステップＳ２０４に進む。
【０１０２】
ステップＳ２０４において、第二特定部２３は、仮想線分上の点のうち、当該点と第一経路との距離が所定距離Ｓ以下である点が存在するか否かを判定する。上記点が存在する場合（ステップＳ２０４でＹｅｓ）にはステップＳ２０５に進み、存在しない場合（ステップＳ２０４でＮｏ）にはステップＳ２０７に進む。
【０１０３】
ステップＳ２０５において、第二特定部２３は、仮想線分上の点のうち、当該点と第一経路との距離が所定距離Ｓ以下であって、かつ、最も短い点を仮想点Ｑとして特定する。特定される仮想点Ｑは、当該仮想点Ｑの近傍で掃除機１による自己位置推定がなされ得る点である。なお、仮想点Ｑを、現時点で特徴点Ｃとして着目している特徴点Ｃｉの添字ｉを付して、仮想点Ｑｉと表記することもある。
【０１０４】
ステップＳ２０６において、第二特定部２３は、第一経路上で仮想点Ｑに最も近い点を点Ｐと設定する。言い換えると、第一経路が複数の点が接続された線で構成されている場合、点Ｐは、第一経路に含まれる複数の点のうち仮想点Ｑに最も近い点である。設定される点Ｐは、第一経路から仮想点Ｑに向かう場合の経路の分岐点となり得る。なお、点Ｐを、現時点で特徴点Ｃとして着目している特徴点Ｃｉの添字ｉを付して、点Ｐｉと表記することもある。
【０１０５】
ステップＳ２２１において、第二特定部２３は、ステップＳ２０２で設定した仮想線分と第一経路とが交差する点を点Ｐと設定する。設定される点Ｐは、当該点Ｐの近傍で掃除機１による自己位置推定がなされ得る点である。
【０１０６】
ステップＳ２０７において、第二特定部２３は、ループＡの終了処理を行う。具体的には、第二特定部２３は、ステップＳ２０２からステップＳ２０６までの処理が、ステップＳ１０２で特定された複数の特徴点Ｃｉのすべてについて行われたか否かを判定し、行われていない場合には、まだ行われていない特徴点についてステップＳ２０２からの処理を行うよう制御する。図１３に示される地図５０に対して、ステップＳ２０７を終了した時点で特定されている仮想点Ｑ１、Ｑ５及びＱ１０と、点Ｐ１〜Ｐ１０とが図１６に示されている。
【０１０７】
ステップＳ２０８において、第二特定部２３は、ステップＳ２０６及びステップＳ２２１で特定した複数の点Ｐについて、重複しているものがある場合には、重複を解消する処理をする。この処理の詳細については、あとで説明する。
【０１０８】
ステップＳ２０９において、第二特定部２３は、掃除機１が第一経路に沿って移動するときに、Ｐｋ０、Ｐｋ１、・・・、Ｐｋｍをこの順に通過するように、ｋ０、ｋ１、・・・、ｋｍを決定する。ここで、Ｐｋ０は、始点５４とする。図１６に示される地図５０に対して、ステップＳ２０９を終了した時点で特定されている仮想点Ｑｋ４、Ｑｋ５及びＱｋ９と、点Ｐｋ０１〜Ｐｋ９とが図１７に示されている。
【０１０９】
ステップＳ２１０において、第二特定部２３は、ＰｋｊとＱｋｊとの組について、以下の（式１）に示される条件が成立するものを特定する。
【０１１０】
||Ｑｋｊ−Ｐｋｊ||＜||Ｐｋｊ−Ｐｋ（ｊ−１）||      （式１）
【０１１１】
具体的には、ｊ＝４及び９とする場合には（式１）が成立する一方、ｊ＝５とする場合には（式１）が成立しない。よって、第二特定部２３は、Ｐｋ４とＱｋ４との組、及び、Ｐｋ９とＱｋ９との組を、変換後の経路が通過すべき点として特定する。仮にステップＳ２０５で特定したすべての仮想点Ｑｋｊを通過するように経路を変換するとすれば、仮想点Ｑｋｊから第一経路に戻るときに生ずる自己位置の誤差が大きくなり、仮想点Ｑｋｊを経由しないほうが自己位置の誤差が小さい場合があり得る。そこで、第二特定部２３は、仮に仮想点Ｑｋｊを通過するように経路を変更した場合における仮想点Ｑｋｊから分岐点である点Ｐｋｊまでの経路の長さ（つまり（式１）の左辺）と、点Ｐｋｊに位置する前に自己位置推定がなされた位置、又は、自己位置推定のために経路を分岐した位置である点Ｐｋ（ｊ−１）から点Ｐｋｊまでの経路の長さ（つまり（式１）の右辺）とを比較する。そして、（式１）の左辺の値が右辺の値より小さい場合に、当該仮想点Ｑｋｊを通過する経路に変換し、（式１）の左辺の値が右辺の値以上である場合には、上記の変換を禁止するようにしたものである。
【０１１２】
上記ステップＳ２１０の処理により、変換部２４は、経路５２において仮想点Ｑｋ４（第一点に相当）に最も近い点Ｐｋ４（第三点に相当）から、経路５２において仮想点Ｑｋ５（第二点に相当）に最も近い点Ｐｋ５（第四点に相当）までの距離が、仮想点Ｑｋ５から点Ｐｋ５までの距離以下であるので、経路５２を、仮想点Ｑｋ５を経由する経路へ変換することを禁止する。このようにして図１８に示される経路が生成される。
【０１１３】
ステップＳ２１０を終えたら図１４に示される一連の処理を終了する。
【０１１４】
次に、上記ステップＳ２０８の処理について図１５を参照しながら詳細に説明する。
【０１１５】
ステップＳ３０１において、第二特定部２３は、点Ｐｉ（ただし１≦ｉ≦ｍ）について、Ｐａ＝Ｐｂとなるａ及びｂの組が存在するか否かを判定する。存在する場合（ステップＳ３０１でＹｅｓ）には、ステップＳ３０２に進み、存在しない場合（ステップＳ３０１でＮｏ）には、図１５に示される一連の処理を終了する。
【０１１６】
ステップＳ３０２において、第二特定部２３は、以下の（式２）のようにＤｉを算出する。
【０１１７】
Ｄｉ＝||Ｑｉ−Ｐｉ||      （Ｑｉが存在する場合）
Ｄｉ＝０                  （Ｑｉが存在しない場合）      （式２） 
【０１１８】
ステップＳ３０３において、第二特定部２３は、ＤａがＤｂより大きいか否かを判定する。ＤａがＤｂより大きい場合（ステップＳ３０３でＹｅｓ）にはステップＳ３０４に進み、そうでない場合（ステップＳ３０３でＮｏ）には、ステップＳ３０５に進む。
【０１１９】
ステップＳ３０４において、第二特定部２３は、Ｐａ及びＱａを削除する。
【０１２０】
ステップＳ３０５において、第二特定部２３は、Ｐｂ及びＱｂを削除する。
【０１２１】
ステップＳ３０４又はＳ３０５を終えたら、図１５に示される一連の処理を終了する。
【０１２２】
上記一連の処理により、Ｐ７＝Ｐ８（つまりａ＝７、ｂ＝８）であり、Ｄ７＝Ｄ８＝０であるので、ステップＳ３０５でＰ８とＱ８とが削除される（図１６参照）。
【０１２３】
以上の一連の処理により、仮想点Ｑｉが特定され、さらに、その仮想点Ｑｉへ至る経路へ分岐するための分岐点Ｐｉが特定される。このように特定された仮想点Ｑｉ及び分岐点Ｐｉを用いて、ステップＳ１０４では、分岐点Ｐｉと仮想点Ｑｉとを往復する経路を第一経路に追加することで、第一経路を第二経路に変換する。
【０１２４】
図１８において、ステップＳ２１０を終了した時点で特定されている仮想点Ｑと点Ｐとが具体的に示されている。また、図１８には、ステップＳ２１０で特定された仮想点Ｑと点Ｐとを用いて変換部２４によって変換された経路が示されている。ここで、変換後の経路には、Ｐｋ４とＱｋ４とを往復する経路、及び、Ｐｋ９とＱｋ９とを往復する経路が追加されており、また、Ｐｋ１０とＱｋ１０とを往復する経路は追加されていない。
【０１２５】
図１９Ａ及び図１９Ｂは、本実施の形態における変換後の経路の第二例を示す説明図である。
【０１２６】
図１９Ａに示される経路５９は、図１０に示される経路５２を変換した経路の一例である。
【０１２７】
具体的には、経路５９は、経路５２に対して経路５８を追加することによって得られたものである。より具体的には、経路５２に対して第一特定部２２が特徴点Ｃを特定し、第二特定部２３が仮想線分Ｖ及び仮想点Ｑを特定し、変換部２４が、経路５２上の点Ｐから仮想点Ｑを往復する経路５８を経路５２に追加することで、経路５９が得られる。
【０１２８】
図２０Ａ及び図２０Ｂは、本実施の形態における掃除機１が変換後の経路５９に沿って移動するときに測距できる物を示す説明図である。図２０Ａ及び図２０Ｂには、掃除機１が始点５４に位置している状態（図２０Ａの（ａ））から、経路５２に沿って移動し（図２０Ａの（ｂ））、さらに経路５８を往復し（図２０Ａの（ｃ））、その後、経路５２に沿って移動して（図２０Ｂの（ｄ）〜（ｅ））、最後に終点５６に位置している状態（図２０Ｂの（ｆ））に至るまでに、測距センサ１２によって測距できる物を黒丸で示している。
【０１２９】
この移動の最中に測距センサ１２によって測距できる物は、通路６２の互いに平行な壁２上の点だけでなく、通路６１の壁２Ａも含まれている。具体的には、図２０Ｂの（ｃ）において、測距センサ１２が壁２上の点と、壁２Ａ上の点との両方を検出することができる。よって、掃除機１は、経路５９に沿って移動する場合に自己位置推定を適切に行うことができる。
【０１３０】
本実施の形態における掃除機１による経路の変換を他の経路への適用例を以下で説明する。
【０１３１】
図２１は、本実施の形態における地図と経路とを示す第四の説明図である。図２１には、掃除機１が移動経路に沿って移動するときに測距できる物も示されている。具体的には、図２１には、掃除機１が始点７４に位置している状態（図２１の（ａ））から、経路７２に沿って移動して（図２１の（ｂ）及び（ｃ））、最後に終点７６に位置している状態（図２１の（ｄ））に至るまでに、測距センサ１２によって測距できる物を黒丸で示している。
【０１３２】
ここで、この移動の最中に測距センサ１２によって測距できる物は、通路６５の壁２上の点だけである。よって、掃除機１は、第一経路に沿って移動する場合には、自己位置推定を適切に行うことができない。
【０１３３】
図２２Ａ及び図２２Ｂは、本実施の形態における変換後の移動経路の第二例を示す説明図である。図２２Ａ及び図２２Ｂには、掃除機１が変換後の移動経路に沿って移動するときに測距できる物も示されている。図２２Ａ及び図２２Ｂには、掃除機１が始点７４に位置している状態（図２２Ａの（ａ））から、経路７２に沿って移動し（図２２Ａの（ｂ））、さらに経路７８を往復し（図２２Ａの（ｃ））、その後、経路７２に沿って移動して（図２２Ｂの（ｄ）及び（ｅ））、最後に終点７６に位置している状態（図２２Ｂの（ｆ））に至るまでに、測距センサ１２によって測距できる物を黒丸で示している。
【０１３４】
この移動の最中に測距センサ１２によって測距できる物は、通路６５の壁２上の点だけでなく、通路６６の壁２Ａも含まれている。具体的には、図２２Ａの（ｃ）において、測距センサ１２によって壁２上の点と、壁２Ａ上の点との両方を検出することができる。よって、掃除機１は、経路７９に沿って移動する場合に自己位置推定を適切に行うことができる。
【０１３５】
なお、本実施の形態の移動ロボットは、以下のようにも表現され得る。
【０１３６】
すなわち、本実施の形態の移動ロボットは、所定の測距範囲を有する測距センサ１２と、物の位置情報を含む環境の地図と、移動ロボットが環境中を移動する第一経路とを取得する取得部２１とを備える。
【０１３７】
上記環境は少なくとも第１の領域及び第２の領域を含み、環境は複数の角と環境を囲う複数の壁面とで構成されている。また、複数の角のうちの第１の角は、第１の領域及び第２の領域と接している。例えば、住宅環境の場合、環境は、リビングルーム、キッチン、玄関、寝室、及びこれらを接続する廊下を含む領域を有する。商業ビル又はオフィスビルの環境の場合、環境は、テナント区画、オフィス区画、廊下、エレベータホールを含む領域を有する。図１９Ａ及びＢに示す各領域は、長方形で規定されている。移動ロボットは、第１の移動、又は第２の移動の少なくとも１つを満たすように移動する。ここで、第１の移動は、第１の領域から第２の領域に侵入した後に、上記測距範囲に、第２の領域を構成する複数の壁面のうちの１つの壁面が位置するように移動し、第２の領域から第１の領域に移動することである。また、第２の移動は、第２の領域から第１の領域に侵入した後に、上記測距範囲に、第１の領域を構成する複数の壁面のうちの１つの壁面が位置するように移動し、第２の領域から第１の領域に移動することである。
【０１３８】
図１９Ｂに、掃除機１が、通路６１の領域内及び通路６２の領域内をくまなく移動する場合の経路の一例を示す。ここで、図１９Ｂに示す環境は、通路６１に相当する第１の領域と、通路６２に相当する第２の領域とを有するとも表現される。また、図１９Ｂに示す環境は、点１００、１０１、１０２、１０３、１０４、１０５、１０６、１０７に相当する複数の角を有する。言い換えると、通路６１は、図１９Ｂに示す点１００、１０１、１０２、１０３と、壁２Ｂ、２Ｃ、２Ｄにより囲まれた領域である。通路６２は、図１９Ｂに示す点１００、１０３、１０４、１０５、１０６、１０７と、壁２Ａ、２Ｅ、２Ｆ、２Ｇ、２Ｈにより囲まれた領域である。通路６１及び通路６２の境界は、点１００、１０３と、点１００及び点１０３とを結ぶ直線とで規定されている。この直線を境界線とも表記する。複数の点のうち、点１００、１０３は、通路６１及び通路６２の両方に接している。
【０１３９】
図１９Ｂにおいて、図１１と同様に、掃除機１は、通路６１内を壁２Ａと平行に往復する経路６３に沿って移動し、その後、通路６２内を壁２と平行に往復する経路６４に沿って移動する。
【０１４０】
図１９Ｂに示す例では、移動ロボットは、第１の領域である通路６１内の移動が終わった後に、第２の領域である通路６２内を移動する。移動ロボットは、通路６２を構成する壁２Ｂ又は２Ｄが測距センサ１２の測定距離範囲に位置するように、通路６２内を移動する。このとき、掃除機１が通路６２の移動中に、通路６１に進入する所定の経路５９を有することにより、掃除機１は、点１００に接する壁２Ａ及びその周囲領域を検出することができる。これにより、掃除機１に通路６２が位置する場合、測距センサ１２の死角になる領域を検出することができる。また、移動ロボットは、第２の領域の移動が終わった後に、第１の領域内を移動した場合、掃除機１が通路６１の移動中に、通路６２に進入する所定の経路を有しても良い。そして、移動ロボットは、環境に含まれる領域を順番に移動した後に、第１の領域に設置された充電器に戻ることができる。このようにして移動ロボットは、より適切な移動経路を移動し得る。
【０１４１】
さらに、移動ロボットは、以下のような特徴を備えてもよい。
【０１４２】
すなわち、移動ロボットが、第１の領域を構成する複数の壁面のうちの１つの壁面に沿って移動することで、第２の領域に侵入するとき、第１の移動を満たすように移動してもよい。また、移動ロボットが、第２の領域を構成する複数の壁面のうちの１つの壁面に沿って移動することで、第１の領域に侵入するとき、第２の移動を満たさないように、第２の領域内を移動してもよい。
【０１４３】
図１９Ｂの例において、移動ロボットは、壁２Ｂ又は２Ｄが測距センサ１２の測定距離範囲に位置するように通路６２内を移動している場合、移動ロボットは、経路６４の一部を壁２Ｂ又は２Ｄと平行に延長した直線の一部である経路５８を有する。経路５８は通路６１内の経路である。より具体的には、経路６４が上述の境界線に交わる点又は境界線から所定の距離内に到達した点から、壁２Ｂ又は２Ｄと平行に延長した直線が経路５８に相当する。つまり、移動ロボットは、通路６２を移動中に、第１の移動に相当する通路６１内を移動する経路を有する。また、図１９Ｂの例において、移動ロボットが、壁２Ａ、２Ｅ、又は２Ｇが測距センサ１２の測定距離範囲内に位置するように通路６１内を移動している場合、移動ロボットは、通路６２を移動する経路を有していない。つまり、移動ロボットは、通路６１の移動中に、第２の移動に相当する通路６２内を移動する経路を有さない。
【０１４４】
（実施の形態の変形例）
本変形例では、変換部２４による経路の変換の他の一例を示す。
【０１４５】
図２３は、本変形例における変換部２４による移動経路の変換を示す説明図である。
【０１４６】
図２３の（ａ）は、変換前の経路である経路５２を示している。経路５２は、始点５４から点８１及び点８２を経由して終点５６に至る経路である。
【０１４７】
図２３の（ｂ）は、本変形例の変換部２４による移動経路の変換を示している。経路５２に対して、実施の形態における場合と同様の方法によって、第一特定部２２が特徴点Ｃを特定し、第二特定部２３が仮想線分Ｖを設定する。
【０１４８】
次に、本変形例における変換部２４は、始点５４と点８１とを結ぶ直線を点８１の先に延長し、この延長線と仮想線分Ｖとが交差する点８３を設定する。次に、変換部２４は、終点５６と点８２とを結ぶ直線を点８２の先に延長し、この延長線に向けて点８３から垂線をおろし、垂線と延長線との交点として点８４を設定する。そして、変換部２４は、経路５２のうちの点８１から点８２までの部分を削除し、点８１、点８３、点８４及び点８２をこの順に通過する経路５８Ａを経路５２に追加することで、経路を変換する（図２３の（ｃ））。
【０１４９】
なお、変換部２４が終点５６と点８２とを結ぶ直線の延長線に向けて点８３から下す線は、垂線でなくてもよく、任意の角度で延長線で交差すればよい。また、直線でなく曲線でもよい。
【０１５０】
図２４Ａ及び図２４Ｂは、本変形例における変換後の移動経路の第三例を示す説明図である。図２５は、実施の形態の変形例における掃除機の変換後の経路の説明図である。
【０１５１】
図２４Ａ及び図２４Ｂは、本変形例における掃除機１が変換後の移動経路に沿って移動するときに測距できる物を示す説明図である。図２４Ａ及び図２４Ｂには、掃除機１が始点５４に位置している状態（図２４Ａの（ａ））から、経路５９Ａに沿って移動して、点８３（図２４Ａの（ｂ））、点８４（図２４Ｂの（ｃ））、終点５６に位置している状態（図２４Ｂの（ｄ））に至るまでに、測距センサ１２によって測距できる物を黒丸で示している。
【０１５２】
図２５には、経路５９Ａを含む、通路６１及び通路６２をくまなく掃除機１が掃除する場合に想定される経路も示されている。
【０１５３】
この移動の最中に測距センサ１２によって測距できる物は、通路６２の互いに平行な壁２上の点だけでなく、通路６１の壁２Ａも含まれている。具体的には、図２４Ｂの（ｃ）において、測距センサ１２によって壁２上の点と、壁２Ａ上の点との両方を検出することができる。よって、掃除機１は、経路５９Ａに沿って移動する場合に自己位置推定を適切に行うことができる。
【０１５４】
以上のように、本実施の形態の掃除機である移動ロボットは、仮に第一経路に沿って移動するとすれば自己位置推定が適切になされない場合に、測距センサによって特徴点を検出できる位置を経由する経路に変更する。これにより、移動ロボットは、移動中に特徴点を検出することにより、自己位置推定を適切に行い得る。よって、移動ロボットは、より適切な移動経路を移動し得る。
【０１５５】
また、移動ロボットが移動し得る領域の輪郭線上の頂点を特徴点として検出する。よって、移動ロボットは、上記輪郭線上の頂点を特徴点として用いることによって、より容易に自己位置推定を行うことができる。
【０１５６】
また、頂点を構成する２本の輪郭線から等距離の位置に設定される仮想線分上に仮想点を設定する。よって、特徴点を一端とする仮想線分が、２本の輪郭線それぞれからなるべく離れた位置に設定され、その結果、仮想点が、２本の輪郭線それぞれからなるべく離れた位置に設定される。よって、移動ロボットは、第一経路から第二経路への変換の際に追加する経路の長さをより短くしながら、より適切な移動経路を移動し得る。
【０１５７】
また、移動ロボットは、移動ロボットが移動し得る領域の輪郭線に含まれる曲線部分の点のうちの第一経路に最も近い点を特徴点として検出する。よって、移動ロボットは、上記点を特徴点として用いることによって、より容易に自己位置推定を行うことができる。
【０１５８】
また、輪郭線から等距離の位置に設定される仮想線分上に仮想点を設定する。よって、特徴点を一端とする仮想線分が、輪郭線からなるべく離れた位置に設定され、その結果、仮想点が輪郭線からなるべく離れた位置に設定される。よって、移動ロボットは、第一経路から第二経路への変換の際に追加する経路の長さをより短くしながら、より適切な移動経路を移動し得る。
【０１５９】
また、移動ロボットは、第一経路から第二経路への変換の際に追加する経路の長さを最短にしながら、より適切な移動経路を移動し得る。
【０１６０】
また、移動ロボットは、第一経路上の位置から測距センサによって測距可能な範囲内に仮想点を設定する。よって、第一経路から第二経路への変換の際に追加する経路の長さが、測距センサによる測距が可能な距離を基準として長くなりすぎることを回避できる。
【０１６１】
また、移動ロボットは、仮想点を経由するように第一経路を第二経路に変換することが想定されるときに、上記仮想点から第一経路に戻るのに必要な距離が比較的長い場合に、上記変換をしないようにすることができる。移動ロボットが第二経路に沿って移動する方が、移動ロボットが推定する自己位置と現実における位置との差異が大きくなることが想定されるからである。よって、移動ロボットは、自己位置推定の誤差が増大することを回避することによって、より適切な移動経路を移動し得る。
【０１６２】
また、移動ロボットは、第１の領域内の移動が終わった後に、第２の領域内を移動する。そして、移動ロボットは、環境に含まれる領域を順番に移動した後に、第１の領域に設置された充電器に戻ることができる。このようにして移動ロボットは、より適切な移動経路を移動し得る。
【０１６３】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の掃除機などを実現するソフトウェアは、次のようなプログラムである。
【０１６４】
すなわち、このプログラムは、コンピュータに、環境中を移動する移動ロボットであって、所定の測距範囲を有する測距センサを備える移動ロボットの制御方法であって、物の位置情報を含む前記環境の地図と、前記移動ロボットが前記環境中を移動する第一経路とを取得し、前記地図上の前記物の位置を示す点のうち、前記移動ロボットから前記点に向かう方向から見た場合、前記物と前記測距センサとの離間距離が、前記移動ロボットが前記第一経路に沿って移動するときに変化する点である特徴点を特定し、前記特徴点から前記第一経路に向かって延び、かつ前記所定の測距範囲の最大値の長さを有する仮想線分が、前記第一経路と交差しない場合に、前記仮想線分上の点のうち前記第一経路に最も近い点である仮想点を特定し、前記第一経路を、前記仮想点を経由する第二経路に変換し、前記第二経路に沿って前記移動ロボットを移動させる。
【０１６５】
以上、一つまたは複数の態様に係る掃除機などについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【０１６６】
本発明は、より適切な移動経路を移動し得る移動ロボットに利用可能である。
【符号の説明】
【０１６７】
１    掃除機
２、２Ａ、２Ｂ、２Ｃ、２Ｄ、２Ｅ、２Ｆ、２Ｇ、２Ｈ    壁
３、５２、５８、５８Ａ、５９、５９Ａ、６３、６４、７２、７８、７９    経路
４    領域
５、５Ａ、５Ｂ、５Ｃ    物
６、５０    地図
７    直線
９    清掃面
１１    筐体
１２    測距センサ
１５ａ、１５ｂ    車輪
１６、１６ａ、１６ｂ    モータ
１７    吸引部
１８    ごみ箱
１９    制御回路
２０    電源
２１    取得部
２２    第一特定部
２３    第二特定部
２４    変換部
２５    モータ制御部
３１、３２、３３、３４    光路
４０    データ列
４１、４２、４３、４４    データ
５４、７４    始点
５６、７６    終点
６１、６２、６５、６６    通路
８１、８２、８３、８４、１００、１０１、１０２、１０３、１０４、１０５、１０６、１０７、Ｐ、Ｐ１〜Ｐ１０、Ｐｋ０〜Ｐｋ９  点
Ａ    矢印
Ｃ、Ｃ１〜Ｃ１０  特徴点
Ｌ、ＬＡ、ＬＢ、ＬＣ    光
Ｑ、Ｑ１、Ｑ５、Ｑ１０、Ｑｋ４、Ｑｋ５、Ｑｋ９  仮想点
Ｖ    仮想線分
【図１】
2020009414.tif 000003
【図２】
2020009414.tif 000004
【図３】
2020009414.tif 000005
【図４】
2020009414.tif 000006
【図５】
2020009414.tif 000007
【図６Ａ】
2020009414.tif 000008
【図６Ｂ】
2020009414.tif 000009
【図６Ｃ】
2020009414.tif 000010
【図７】
2020009414.tif 000011
【図８】
2020009414.tif 000012
【図９】
2020009414.tif 000013
【図１０】
2020009414.tif 000014
【図１１】
2020009414.tif 000015
【図１２Ａ】
2020009414.tif 000016
【図１２Ｂ】
2020009414.tif 000017
【図１３】
2020009414.tif 000018
【図１４】
2020009414.tif 000019
【図１５】
2020009414.tif 000020
【図１６】
2020009414.tif 000021
【図１７】
2020009414.tif 000022
【図１８】
2020009414.tif 000023
【図１９Ａ】
2020009414.tif 000024
【図１９Ｂ】
2020009414.tif 000025
【図２０Ａ】
2020009414.tif 000026
【図２０Ｂ】
2020009414.tif 000027
【図２１】
2020009414.tif 000028
【図２２Ａ】
2020009414.tif 000029
【図２２Ｂ】
2020009414.tif 000030
【図２３】
2020009414.tif 000031
【図２４Ａ】
2020009414.tif 000032
【図２４Ｂ】
2020009414.tif 000033
【図２５】
2020009414.tif 000034