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