JP7281707B2 - 移動ロボット、及び、制御方法 - Google Patents

移動ロボット、及び、制御方法 Download PDF

Info

Publication number
JP7281707B2
JP7281707B2 JP2019098869A JP2019098869A JP7281707B2 JP 7281707 B2 JP7281707 B2 JP 7281707B2 JP 2019098869 A JP2019098869 A JP 2019098869A JP 2019098869 A JP2019098869 A JP 2019098869A JP 7281707 B2 JP7281707 B2 JP 7281707B2
Authority
JP
Japan
Prior art keywords
route
mobile robot
path
cleaner
partial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019098869A
Other languages
English (en)
Other versions
JP2020013551A (ja
Inventor
ファビオ ダーラリベラ
優子 津坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JP2020013551A publication Critical patent/JP2020013551A/ja
Application granted granted Critical
Publication of JP7281707B2 publication Critical patent/JP7281707B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0248Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Electromagnetism (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Electric Vacuum Cleaner (AREA)

Description

本発明は、移動ロボット、及び、制御方法に関する。
従来、清掃面を自律的に走行し、清掃面上に存在するごみを吸引する自律走行型掃除機が開示されている(特許文献1参照)。
国際公開第2016/002186号
しかしながら、従来の自律走行型掃除機のような移動ロボット(mobile robot)は、移動経路の設定について改善の余地がある。
そこで、本発明は、より適切な移動経路を移動し得る移動ロボットを提供する。
本発明の一態様に係る移動ロボットは、環境中を移動する移動ロボットであって、測距センサと、物の位置情報を含む前記環境を上から見た地図と、前記移動ロボットが前記環境中を移動する第一経路とを取得する取得部と、前記第一経路の一部である部分経路を特定する特定部と、前記特定部が特定した前記部分経路を、前記部分経路とは異なる形状を有する経路に変換することで、第二経路を生成する変換部と、前記第二経路に沿って前記移動ロボットを移動させる駆動部とを備え、前記特定部は、前記地図において、前記第一経路の前記一部の始点及び終点の両方から前記測距センサによる測距が可能な領域を設定し、設定した前記領域内に存在する前記物として、前記始点から前記終点へ向かう線分と平行である、当該領域を横断する1以上の直線だけが示されているときに、前記一部を前記部分経路として特定する。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
本発明の移動ロボットは、より適切な移動経路を移動し得る。
図1は、実施の形態1における掃除機の外観を模式的に示す上面図である。 図2は、実施の形態1における掃除機の外観を模式的に示す側面図である。 図3は、実施の形態1における掃除機の周囲の物との位置関係を示す第一の説明図である。 図4は、実施の形態1における掃除機の周囲の物との位置関係を示す第二の説明図である。 図5は、実施の形態1における掃除機の内部構造を模式的に示す上面図である。 図6は、実施の形態1における掃除機の制御回路の機能を詳細に示すブロック図である。 図7は、実施の形態1における測距センサによる測距が可能な領域の一例を示す説明図である。 図8は、実施の形態1における測距センサによる距離の計測結果の一例を示す説明図である。 図9は、実施の形態1における掃除機が実行する一連の処理を示すフロー図である。 図10は、実施の形態1における地図と経路との一例を示す説明図である。 図11は、実施の形態1における特定部による、変換対象の部分経路を特定する処理を示すフロー図である。 図12は、実施の形態1におけるセグメントの説明図である。 図13は、実施の形態1における変換対象の部分経路の特定の説明図である。 図14は、実施の形態1における特定部による、変換対象のセグメントを決定する処理を示すフロー図である。 図15は、実施の形態1におけるセグメントの始点と終点との両方から測距可能な領域の説明図である。 図16は、実施の形態1における測距可能領域に設定される仮想直線、及び、空セルと占有セルとの第一の説明図である。 図17は、実施の形態1における測距可能領域に設定される仮想直線、及び、空セルと占有セルとの第二の説明図である。 図18は、実施の形態1における変換部による、変換対象の部分経路を変換する処理を示すフロー図である。 図19は、実施の形態1における変換部による経路の変換の説明図である。 図20は、実施の形態1における、変換後の経路の説明図である。 図21は、実施の形態1における、掃除機の移動経路の説明図である。 図22は、実施の形態2における掃除機の制御回路の機能を詳細に示すブロック図である。 図23は、実施の形態2における掃除機による、経路等の取得及び変換、走行に関する一連の処理を示すフロー図である。 図24は、実施の形態2における掃除機の移動経路の第一例を示す説明図である。 図25は、実施の形態2における掃除機の移動経路の第二例を示す説明図である。
本発明の一態様に係る移動ロボットは、環境中を移動する移動ロボットであって、測距センサと、物の位置情報を含む前記環境を上から見た地図と、前記移動ロボットが前記環境中を移動する第一経路とを取得する取得部と、前記第一経路の一部である部分経路を特定する特定部と、前記特定部が特定した前記部分経路を、前記部分経路とは異なる形状を有する経路に変換することで、第二経路を生成する変換部と、前記第二経路に沿って前記移動ロボットを移動させる駆動部とを備え、前記特定部は、前記地図において、前記第一経路の前記一部の始点及び終点の両方から前記測距センサによる測距が可能な領域を設定し、設定した前記領域内に存在する前記物として、前記始点から前記終点へ向かう線分と平行である、当該領域を横断する1以上の直線だけが示されているときに、前記一部を前記部分経路として特定する。
これによれば、移動ロボットは、仮に第一経路に沿って移動するとすれば周囲の物との距離が変化しないことから自己位置推定が適切になされない場合に、移動経路を第一経路と異なる経路に変更する。これにより、移動の際に周囲の物との距離が変化するようになり、自己位置推定が適切になされる。よって、移動ロボットは、より適切な移動経路を移動し得る。
また、前記第二経路は、前記部分経路の始点及び終点を結び、かつ、前記直線と平行な直線部分を含まない経路であってもよい。
これによれば、移動ロボットは、移動経路を第一経路から、移動の際に周囲の物との距離が変化するように構成された第二経路に変更する。地図上において物を示す直線と平行に移動ロボットが移動すると、移動の際に周囲の物との距離の変化がなくなるので、移動ロボットによる自己位置推定が適切になされない。そこで、上記のように壁と平行に移動する経路が第二経路に含まれないようにすることで、自己位置推定が適切になされるようにする。
また、前記第二経路は、前記部分経路の始点及び終点をジグザグ状に結ぶ経路であってもよい。
これによれば、移動ロボットは、移動経路を第一経路から、移動の際に周囲の物との距離が変化するようにジグザグ状に構成された第二経路に変更する。これにより、移動ロボットは、自己位置推定がなされ得る第二経路を容易に生成し、より適切な移動経路を移動し得る。
また、前記特定部は、前記変換部による変換の対象となる前記部分経路を特定する際には、前記第一経路を構成する部分経路ごとに、当該部分経路についての前記領域上に、当該部分経路の始点及び終点を結ぶ直線に平行な複数の仮想直線を所定の間隔で設定し、前記複数の仮想直線それぞれについて、当該仮想直線上のすべての点に物が存在することが前記地図に示されている、又は、当該仮想直線上のすべての点に物が存在しないことが前記地図に示されている場合に、当該部分経路を、前記変換部による変換の対象となる前記部分経路として特定してもよい。
これによれば、移動ロボットは、容易に周囲の物の位置に基づいて、経路の変更が必要であるか否かを判定する。そして、適切な自己位置推定により、より適切な移動経路を移動し得る。
また、前記取得部は、さらに、前記地図に基づいて生成された第三経路を取得し、前記駆動部は、さらに、前記第三経路に沿って前記移動ロボットを移動させ、前記第三経路は、(a)前記第三経路の始点から、前記地図において前記移動ロボットが移動し得る移動可能領域のうちの周縁部を前記移動ロボットがジグザグ状に移動する第四経路と、(b)前記第四経路の終点から、前記移動可能領域のうち前記周縁部を除く部分を前記移動ロボットがジグザグ状に移動する第五経路と、(c)前記第五経路の終点から、前記移動ロボットがジグザグ状に移動して前記第三経路の終点に至る第六経路とを含んでもよい。
これによれば、移動ロボットは、第二経路とは独立に生成された第三経路に沿って移動する。移動ロボットにより生成される第二経路は、移動ロボットが移動し得る領域の形状によっては、移動ロボットが移動する際に多大な時間を要する、又は、経路の重なりが大きいなどの問題を有する可能性がある。このような場合に、移動ロボットは、第二経路とは独立に生成された第三経路に沿って移動することで、上記問題を回避できる可能性がある。
また、前記移動ロボットは、さらに、前記移動ロボットが前記第二経路に沿って走行する場合の方向転換の回数と、前記第三経路に沿って走行する場合の方向転換の回数とを比較することで、前記第二経路と第三経路のうち、方向転換の回数が少ない方の経路を選択する選択部を備え、前記駆動部は、前記選択部が選択した前記経路に沿って前記移動ロボットを移動させてもよい。
これによれば、移動ロボットは、第二経路と第三経路とを比較して、移動の際に要する時間が少ない方を選択することができる。これにより、移動ロボットは、移動に要する時間を削減するとともに、適切な自己位置推定により、より適切な移動経路を移動し得る。
本発明の一態様に係る移動ロボットは、環境中を移動する移動ロボットであって、測距センサと、前記移動ロボットを移動させる駆動部とを備え、前記駆動部は、平面部と端縁部とを有する壁の近傍で、前記平面部に平行な移動経路に沿って前記移動ロボットを移動させる場合に、(a)前記測距センサによる測距が可能な領域内に前記平面部と前記端縁部とが属しているときには、前記平面部と平行に前記移動ロボットを移動させ、(b)前記測距センサによる測距が可能な領域内に、前記平面部と前記端縁部とのうち前記平面部だけが属しているときには、前記移動経路から変換されたジグザグ状の移動経路に沿って前記移動ロボットを移動させる。
これによれば、上記移動ロボットと同様の効果を奏する。
本発明の一態様に係る移動ロボットの制御方法は、環境中を移動する、測距センサを備える移動ロボットの制御方法であって、物の位置情報を含む前記環境を上から見た地図と、前記移動ロボットが前記環境中を移動する第一経路とを取得し、前記第一経路の一部である部分経路を特定し、特定した前記部分経路を、前記部分経路とは異なる形状を有する経路に変換することで、第二経路を生成し、前記第二経路に沿って前記移動ロボットを移動させ、特定の際には、前記地図において、前記第一経路の前記一部の始点及び終点の両方から前記測距センサによる測距が可能な領域を設定し、設定した前記領域内に存在する前記物として、前記始点から前記終点へ向かう線分と平行である、当該領域を横断する1以上の直線だけが示されているときに、前記一部を前記部分経路として特定する。
これにより、上記移動ロボットと同様の効果を奏する。
本発明の一態様に係る移動ロボットの制御方法は、環境中を移動する、測距センサを備える移動ロボットの制御方法であって、平面部と端縁部とを有する壁の近傍で、前記平面部に平行な移動経路に沿って前記移動ロボットを移動させる場合に、(a)前記測距センサによる測距が可能な領域内に前記平面部と前記端縁部とが属しているときには、前記平面部と平行に前記移動ロボットを移動させ、(b)前記測距センサによる測距が可能な領域内に、前記平面部と前記端縁部とのうち前記平面部だけが属しているときには、前記移動経路から変換されたジグザグ状の移動経路に沿って前記移動ロボットを移動させる。
これにより、上記移動ロボットと同様の効果を奏する。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
本実施の形態において、より適切な移動経路を移動し得る移動ロボットとしての掃除機1について説明する。なお、移動ロボットは、掃除機1の他にも、各種センシングのための移動ロボット、物品を搬送する搬送ロボット、人とのコミュニケーションをするコミュニケーションロボットなどにも適用され得る。なお、移動経路を単に経路ともいう。
図1及び図2は、それぞれ本実施の形態における掃除機1の外観を模式的に示す上面図及び側面図である。これらの図を参照しながら、掃除機1の動作を説明する。なお、下記説明において、各図面中に示されるXYZ座標軸を用いた説明を行うこともある。またZ軸プラス方向を上方向ともいう。
掃除機1は、環境中において清掃面9上を自律走行し、清掃面9を清掃する。掃除機1は、自律的に自装置の移動経路を決定し、決定した移動経路に沿って移動しながら清掃面9上に存在するごみ等を吸引する。環境の一例は、住宅、オフィスビル、商業ビルを含む屋内空間である。掃除機1は、移動経路の決定には、SLAM技術(Simultaneous Localization and Mapping)による自己位置推定と地図の作成を利用することができる。例えば、掃除機1は、壁4のような周囲の物との距離を光Lによって計測し、保有している地図と比較することで、地図上における自装置の位置を推定し、また、地図の新たな部分を作成する。そして、推定した自装置の位置に基づいて、保有している移動経路に沿って移動する制御をする。掃除機1は、原則として矢印Aに示される方向に移動する。なお、「移動」の語は、「進行」又は「走行」とも表現され得る。また、矢印Aに示される方向は、移動方向、進行方向又は走行方向とも表現され得る。
ここで、掃除機1が移動しても周囲にある物との距離によっては、自己位置推定が適切になされないという問題がある。この問題が生ずる場合と、生じない場合とを例を挙げて説明する。
図3は、本実施の形態における掃除機1と周囲の物との位置関係を示す説明図である。図3において、掃除機1の周囲が上面視によって示されている。また、掃除機1の移動方向が矢印Aにより示され、掃除機1による光Lを用いた周囲の物との距離の測定が可能な領域が領域3として示されている。図3では、掃除機1の周囲の物は壁4A、4B、・・・、4Eである。なお、掃除機1の周囲の物として、掃除機1の周囲の障害物を含んでもよい。
図3の(a)~(e)はいずれも、掃除機1による自己位置推定が適切になされる例を示している。
例えば、図3の(a)において、掃除機1が矢印Aの方向に移動すると、掃除機1から壁4Aまでの距離が減少するとともに、掃除機1から壁4Bまでの距離が増大する。図3の(b)において、掃除機1が矢印Aの方向に移動すると、掃除機1から壁4A又は4Bまでの距離は変わらず、掃除機1から壁4Cまでの距離が増大する。図3の(c)において、掃除機1が矢印Aの方向に移動すると、壁4Aの延長線上の壁のない空間4Dがあるので、空間4Dの位置からの光Lの反射がなくなり、距離データが得られなくなる。図3の(d)及び(e)において、掃除機1が矢印Aの方向に移動すると、壁4Aのうち掃除機1から遠ざかる方向に凹んだ部分の壁4Eが相対的に後方へ移動する。
このように、掃除機1が移動した場合に、掃除機1との周囲の物との位置関係が変化するので、掃除機1による自己位置推定が適切になされ得る。
図4は、それぞれ、本実施の形態における掃除機1の周囲の物との位置関係を示す第二の説明図である。図4において、図3と同様に、掃除機1の周囲が上面視によって示され、矢印A及び領域3などが示されている。図4の(a)~(c)はいずれも、掃除機1による自己位置推定に問題が生ずる例を示している。
例えば、図4の(a)及び(b)において、掃除機1が矢印Aの方向に移動した場合、掃除機1から壁4A又は壁4Bまでの距離が変化しない。また、掃除機1の周囲には、壁4A及び4Bの他には物が存在していない。図4の(c)において、掃除機1が矢印Aの方向に移動した場合、掃除機1から壁4Bまでの距離が変化しない。また、掃除機1の周囲には、壁4Bの他には物が存在していない。
このように、掃除機1が移動しても、掃除機1から壁4A等までの距離が変化せず、言い換えれば、掃除機1から見た壁4A等の位置の変化がないので、掃除機1による、光を用いて行う自己位置推定が適切になされない。
本実施の形態の掃除機1は、上記のような移動経路が予定されている場合に、自己位置推定が適切になされるように移動経路を適切に変化させる。これにより、掃除機1は、自己位置推定を適切に行い、その結果、適切な移動経路を移動することができるようになる。
以降において、掃除機1の詳細な構成及び処理について説明する。
図5は、本実施の形態における掃除機1の内部構造を模式的に示す上面図である。
図5に示されるように、掃除機1は、筐体11と、測距センサ12と、車輪15a及び15bと、モータ16a及び16bと、吸引部17と、ごみ箱18と、制御回路19と、電源20とを備える。
筐体11は、掃除機1の筐体であり、掃除機1の外郭を規定する。筐体11は、上面視において略三角形の形状を有するが、どのような形状を採用してもよく、例えば、円形、四角形又は五角形等の形状を有してもよい。また、筐体11の寸法は、例えば、X軸方向及びY軸方向それぞれにおいて30cm程度、Z軸方向において10cm程度であるが、これに限定されない。
測距センサ12は、掃除機1の周囲に存在する物と測距センサ12との離間距離を計測する。測距センサ12は、例えば光によって周囲の物体との距離を計測するレーザーレンジファインダ又はLiDAR(Light Detection and Ranging)装置により実現され得る。
測距センサ12は、筐体11の上面から露出して配置される。測距センサ12は、XY平面に平行な方向に光線を出射する発光部、及び、発光部が光線を出射した方向からの光線を受ける受光部を有する。発光部及び受光部は、Z軸方向に平行な軸回りに旋回しながら光線の出射及び、光線の受光をすることで、掃除機1の周囲に存在する物までの距離を測定する。旋回の速度は、例えば1秒間に5回転する速度である。また、測距センサ12による光の出射は、例えば、1回転の期間で60回行われる。測距センサ12は、所定の測定距離を有する。例えば、所定の測定距離の最大値を第一の距離とする。第一の距離は、レーザーレンジファインダ又はLiDARの性能に依存する。第一の距離の一例は、数m以上、数百m以下である。
車輪15a及び15bは、掃除機1を移動させる車輪である。車輪15a及び15bは、回転軸が筐体11に固定されており、車輪15a及び15bの回転により筐体11が移動する。車輪15a及び15bの回転は、それぞれモータ16a及び16bにより独立に制御される。車輪15a及び15bの材質は、ゴム又はナイロンなどである。
モータ16a及び16bは、それぞれ独立に、車輪15a及び15bの回転を制御する。モータ16aは、制御回路19による制御の下で、車輪15aを回転又は停止させる。モータ16bは、制御回路19による制御の下で、車輪15bを回転又は停止させる。また、モータ16a及び16bの回転速度に差をつけることで掃除機1の向きを変える、つまり方向転換をすることもできる。掃除機1は、方向転換の際には、掃除機1の位置を維持するとする。方向転換の際に掃除機1の位置が変化する、つまり、掃除機1が移動しながら方向転換をすると、掃除機1による自己位置推定が困難になるからである。なお、モータ16a及び16bを単にモータ16ともいう。
吸引部17は、清掃面9上に存在するごみを吸引する。吸引部17は、筐体11の底面に配置される吸引口(不図示)を通じて、ごみを空気とともに吸い込む。また、吸い込んだごみをごみ箱18に排出する。吸引部17の幅、つまり、X軸方向の長さは、例えば15cm程度であるが、これに限定されない。吸引部17の吸引動作は、制御回路19により制御される。
ごみ箱18は、吸引部17が空気とともに吸引したごみを、フィルタによって分離して格納する格納スペースである。
制御回路19は、掃除機1の各種機能を制御する。具体的には、制御回路19は、掃除機1の移動経路の決定を行い、決定した移動経路に沿って掃除機1が移動するようにモータ16a及び16bを制御する。制御回路19は、プロセッサがプログラムを実行することで実現され得る。
制御回路19は、清掃処理の際には、測距センサ12によって掃除機1の周囲の物体との距離を取得し、SLAM技術に基づいて掃除機1の移動経路を決定してモータ16a及び16bを制御することで、掃除機1を走行させる。
電源20は、掃除機1の各構成要素に電力を供給する電源装置である。電源20は、例えば、二次電池、より具体的にはリチウムイオン電池である。
なお、掃除機1は、上記のほかにも、電源20に電力を供給するために充電器に接続されるための端子、清掃面9上のごみをかき集めるためのブラシなどを備えてもよい。
次に、制御回路19についてさらに詳細に説明する。
図6は、本実施の形態における掃除機1の制御回路19の機能を詳細に示すブロック図である。
図6に示されるように、制御回路19は、取得部21と、特定部22と、変換部23と、モータ制御部24とを備える。
取得部21は、掃除機1の移動経路に関する情報を取得する。具体的には、取得部21は、物の位置情報を含む環境を上から見た地図と、掃除機1が環境中を移動する第一経路とを取得する。取得部21が取得する地図は、掃除機1の周囲に存在する物の位置を示す情報であり、例えば、上面視による掃除機1が移動し得る領域をグリッドによってセルに分割し、各セルに物が存在しているか否かを示す情報である。取得部21が取得する経路は、掃除機1の移動経路として予定されている経路であり、第一経路ともいう。なお、地図情報を単に地図ともいい、経路情報を単に経路ともいう。
特定部22は、第一経路のうち変換部23による変換の対象となる一部である部分経路を特定する。具体的には、特定部22は、地図において、第一経路の一部の始点及び終点の両方から測距センサ12による測距が可能な領域を設定し、設定した領域内に存在する物として、始点から前記終点へ向かう線分と平行である、当該領域を横断する1以上の直線だけが示されているときに、上記一部を部分経路として特定する。
変換部23は、第一経路の一部を変換する。具体的には、変換部23は、特定部22が特定した部分経路を、この部分経路とは異なる形状の経路に変換する。ここで、変換部23による変換後の経路を第二経路ともいう。変換部23は、特定部22が特定した部分経路に変換を施すことで新たな第二経路を生成するともいえる。
変換部23が変換によって生成する経路は、上記部分経路と少なくとも一部が異なる形状の経路であり、詳細には、上記部分経路の始点及び終点を結び、かつ、上記直線と平行な直線部分を含まない経路である。変換部23が変換によって生成する経路の一例は、上記部分経路の始点及び終点をジグザグ状に結ぶ経路である。ここで、ジグザグ状の経路とは、直線が複数回折れ曲がった形状の経路であり、言い換えれば、端部同士が接続された複数の直線で構成される経路である。言い換えると、ジグザグ状の経路とは、異なる向きを有する複数の直線が結合された線とも表記される。Z字形又は稲妻形ともいえる。以降では、変換部23が、上記部分経路をジグザグ状の経路に変換する場合を一例として説明する。
モータ制御部24は、制御回路19による制御に基づいてモータ16の駆動を制御する制御装置である。具体的には、モータ制御部24は、変換部23が変換により生成した第二経路に沿って掃除機1を移動させるようにモータ16を駆動する。なお、モータ制御部24は、駆動部に相当する。
次に、測距センサ12による測距について説明する。図7は、本実施の形態における測距センサ12による測距が可能な領域の一例を示す説明図である。図8は、本実施の形態における測距センサ12による距離の計測結果の一例を示す説明図である。
図7に示されるように、測距センサ12は、回転しながら順次に、掃除機1の周囲に光を出射する。ここでは、測距センサ12は、最初に、矢印Aで示される移動方向と平行な方向に、つまり光路31に沿って光を出射し、その後に、紙面上の左回りに順次に光路32、33及び34に沿って光を出射する。図7において、領域3は、測距センサ12による測距が可能な領域である。なお、光を出射する方向は右回りでもよい。
図8に示されるデータ列40は、図7の光路31等から受光した光によって計測された距離データである。データ列40に含まれるデータ41、42、43及び44は、それぞれ、光路31、32、33及び34に光を出射したことによって計測された距離データである。
図7において測距センサ12が光路31及び32に沿って出射した光は、領域3内に壁4などの物がないので、領域3内で反射されない。そのため、測距センサ12は、光路31及び32に沿って出射された光の反射光を受光することがない。このように、測距センサ12は、光路31及び32によって有意な距離データを得ることができないので、データ41及び42は、有意な距離データがないことを示す「nan」となっている。
また、測距センサ12が光路33及び34に沿って出力した光は、領域3内の壁4で反射され、測距センサ12によってその反射光が受光される。測距センサ12は、出射した光とは反対方向に光路33及び34に沿って移動する反射光を受光することで、その光路上の物までの距離データとして、「17.01」及び「12.36」を得る。
以上のように構成された掃除機1による処理について、地図及び移動経路などの具体例を示しながら以降で説明する。
図9は、本実施の形態における掃除機1が実行する一連の処理を示すフロー図である。図10は、地図と経路との一例を示す説明図である。
ステップS101において、取得部21は、地図と経路(第一経路に相当)とを取得する。取得部21が取得する地図50と経路52との一例が図10に示されている。図10には、経路52の始点54及び終点56も示されている。
取得部21は、予め掃除機1の記憶装置に格納された地図又は経路を読み出すことで取得してもよい。また、取得部21は、地図に関して、測距センサ12による測距の結果に基づいて、測距センサ12による測距が可能な領域内の地図を作成することで取得してもよい。取得部21は、地図上において現時点の掃除機1の位置から、現時点の移動方向に向かって所定距離だけ経路を延ばすことによって、現時点の掃除機1の移動方向にそのまま移動することを示す経路を作成することで上記経路を取得してもよい。
ステップS102において、特定部22は、ステップS101で取得した第一経路のうち、変換部23による変換の対象となる部分経路を特定する。ステップS102の処理の詳細については、後で詳しく説明する。
ステップS103において、変換部23は、ステップS102で特定された変換対象の部分経路をジグザグ状の経路に変換することで、第二経路を生成する。ステップS103の処理の詳細については、後で詳しく説明する。
ステップS104において、モータ制御部24は、ステップS103で変換部23により変換された第二経路に沿ってモータ16を駆動させることで、掃除機1を第二経路に沿って移動させる。
次に、上記ステップS102の部分経路を特定する処理の詳細について説明する。
図11は、本実施の形態における特定部22による、変換対象の部分経路を特定する処理を示すフロー図である。図12は、本実施の形態におけるセグメントの説明図である。図13は、本実施の形態における変換対象の部分経路の特定の説明図である。
図11を参照しながら、図9に示されるステップS102の処理を詳細に説明する。
ステップS201において、特定部22は、ステップS101で取得した第一経路を、長さLの複数のセグメントに近似する。ここで、複数のセグメントのそれぞれは、長さLの直線である。Lは、例えば、掃除機1の移動速度が0.5m/秒であり、測距センサ12のサンプリング間隔が0.2秒である場合、0.5×0.2=0.1m以下となるように定められ得る。
特定部22が設定する複数のセグメントとの一例を図12に示している。特定部22は、図12に実線で示される経路52Aが与えられた場合、経路52Aに対して、破線で示されるセグメントs1、s2及びs3等の10個のセグメントを設定する。
また、特定部22は、図10に示される経路52が与えられた場合には、図13の(a)に示される9個のセグメントs1~s9を設定する。
ステップS202において、特定部22は、後述するステップS203を繰り返し実行するループAの開始処理を行う。ループAでは、ステップS201で得られた複数のセグメントのうちの一のセグメントに着目して処理を実行し、最終的に上記複数のセグメントそれぞれについて処理を実行する。
ステップS203において、特定部22は、着目しているセグメントを変換対象のセグメントとするか否かを決定する。例えば、特定部22は、変換対象のセグメントとして、セグメントs3、s4及びs7を特定する。決定の方法の詳細については後で詳しく説明する。
ステップS204において、特定部22は、ループAの終了処理を行う。具体的には、特定部22は、ステップS203の処理が、ステップS201で得られた複数のセグメントのすべてについて行われたか否かを判定し、行われていない場合には、まだ行われていないチャネルについてステップS203の処理を行うよう制御する。
ステップS205において、特定部22は、ステップS202からS204までの処理の結果に基づいて、変換対象の部分経路を特定する。このとき、特定部22は、原則として1つの変換対象のセグメントを1つの変換対象の部分経路として特定する。ただし、変換対象のセグメントが連続している場合には、連続している複数の変換対象のセグメントを、1つの変換対象の部分経路として特定する。例えば、ステップS203で変換対象として特定された連続したセグメントs3及びs4は、1つの部分経路P1として特定される。また、ステップS203で変換対象として特定されたセグメントs7は、1つの部分経路P2として特定される(図13の(b)参照)。
ステップS206において、特定部22は、ステップS205で特定した、変換対象の部分経路を出力する。例えば、図10に示される経路52が与えられた場合には、変換対象の部分経路として部分経路P1及びP2が出力される(図13の(b)参照)。
図14は、本実施の形態における特定部22による、変換対象のセグメントを決定する処理を示すフロー図である。図15は、本実施の形態におけるセグメントの始点と終点との両方から測距可能な領域の説明図である。図16は、本実施の形態における領域に設定される仮想直線、及び、空セルと占有セルとの説明図である。
図14を参照しながら、図7に示されるステップS203の処理を詳細に説明する。図14に示される処理は、ステップS202で着目した一のセグメントについて行われる一連の処理である。
ステップS301において、特定部22は、地図上において、着目している一のセグメントの始点と終点との両方から測距センサ12によって測距可能な領域Vを設定する。設定される領域Vの具体例を図15を参照しながら説明する。
図15の(a)において、セグメントs1についての領域Vが示されている。特定部22は、セグメントs1の始点61から測距センサ12によって測距が可能な領域63と、セグメントs1の終点62から測距センサ12によって測距が可能な領域64との共通領域を領域Vと設定する。
また、図15の(b)において、セグメントs3についての領域Vが示されている。特定部22は、セグメントs3の始点71から測距センサ12によって測距が可能な領域73と、セグメントs1の終点72から測距センサ12によって測距が可能な領域74との共通領域を、領域Vと設定する。
ステップS302において、特定部22は、領域V内に配置される複数のセルと、着目している一のセグメントと平行な複数の仮想直線とを設定する。複数のセルは、例えば、一辺が、測距センサ12の解像度と同じ程度の長さ(例えば5cm程度)を有する正方形又は長方形である。また、複数の仮想直線は、一定の間隔で離間して設定される。仮想直線の間隔は、測距センサ12の解像度と同じ程度の長さである。設定される複数のセルと仮想直線との具体例を図16を参照しながら説明する。図16の(a)及び(b)では、それぞれ、地図上における領域Vを示したものであり、物が存在するセルが斜線で示され、物が存在しないセルが空白で示されている。
図16の(a)において、セグメントs1についての複数のセル80と、複数の仮想直線83(具体的には、仮想直線g1~g15)とが示されている。セル80には、空(から)セル81と占有セル82とがある。空セル81とは、当該セルの内部に物が存在していないセルであり、占有セル82とは、当該セルの内部に物が存在しているセルである。セル80の一辺の長さ、及び、複数の仮想直線83の間隔は、すべてdとしている。同様に、図16の(b)において、セグメントs3についての複数のセル80と、複数の仮想直線83とが示されている。
ステップS303において、特定部22は、領域V内で、空セル81と占有セル82との両方を貫く仮想直線83の本数を計数する。例えば図16の(a)において、複数の仮想直線83のうちの仮想直線g4は、領域V内においてすべて空セル81を貫いている、言い換えれば、空セル81だけを貫き、占有セル82を貫いていないので、上記本数に計数されない。このような仮想直線には、図16の(a)において「n」の文字が付されている。一方、複数の仮想直線83のうちの仮想直線g5は、領域V内において空セル81と占有セル82とを貫いているので、上記本数に計数される。このような仮想直線には、図16の(a)において「y」の文字が付されている。以上より、図16の(a)における、空セル81と占有セル82との両方を貫く仮想直線83の本数は、「y」が付された仮想直線83の本数である7である。
同様にして、図16の(b)に、セグメントs3についての複数のセル80と、複数の仮想直線83(具体的には、仮想直線g1~g15)とが示されている。図16の(b)では、領域V内に存在する物(つまり占有セル82)として、セグメントs3と平行である、領域Vを横断する1以上の直線だけが示されている。このとき、仮想直線83は、空セル81だけを貫くものと、占有セル82だけを貫くものとになり、言い換えれば、空セル81と占有セル82との両方を貫く仮想直線83は存在しない。なお、「横断する」とは、図16の(b)に示されるように、領域V内の端から端までに亘って占有セル82が配置されることをいう。
以上より、図16の(b)における、空セル81と占有セル82との両方を貫く仮想直線83の本数は、「y」が付された仮想直線83の本数である0である。
ステップS304において、特定部22は、ステップS303で計数した仮想直線の本数が、所定の閾値より大きいか否かを判定する。閾値は0以上の数値であり、閾値を大きくするほど測定におけるロバスト性を向上させる効果がある。ここでは、閾値が0である場合を例として説明する。仮想直線の本数が所定の閾値より大きいと特定部22が判定した場合(ステップS304でYes)には、ステップS305に進み、そうでない場合(ステップS304でNo)は、ステップS306に進む。具体的には、セグメントs1については、図16の(a)のように、ステップS303で計数した仮想直線の数である7が閾値0より大きいのでステップS304に進む。セグメントs3については、図16の(b)のように、ステップS303で計数した仮想直線の数である0が閾値0より大きくないのでステップS305に進む。
ステップS305において、特定部22は、着目している一のセグメントを、変換対象でないセグメントと決定する。
ステップS306において、特定部22は、着目している一のセグメントを、変換対象であるセグメントと決定する。
図14に示される一連の処理によって、特定部22は、地図上における部分経路の始点及び終点の両方から測距センサ12による測距が可能な領域V内に存在する物として、当該領域を横断する1以上の直線だけが示されており、かつ、当該部分経路の始点から終点へ向かう線分が上記1以上の直線それぞれと平行である、部分経路を特定することができる。
なお、セグメントが壁に平行でないときの領域Vと仮想直線との設定の一例を図17に示す。図17に示される領域Vは、図16の(b)に示される領域Vと同じである。図17に示されるセグメントs3Aは、図16の(b)に示されるセグメントs3と角度が異なる。この場合、図17に示されるように、グリッドと非平行に複数の仮想直線83が設定される。特定部22は、領域V内で、空セル81と占有セル82との両方を貫く仮想直線83の本数として12と計数する(ステップS303)。12は閾値0より大きいので、特定部22は、セグメントs3Aを変換対象でないセグメントと特定する(ステップS305)。
図18は、本実施の形態における変換部23による、変換対象の部分経路を変換する処理を示すフロー図である。図19は、本実施の形態における変換部23による経路の変換の説明図である。
ステップS401において、変換部23は、変換対象の部分経路の周囲に長方形を設定する。この長方形は、(a)部分経路に平行な2本の直線と、(b)部分経路の始点を含む、部分経路に垂直な直線と、(c)部分経路の終点を含む、部分経路に垂直な直線とによって形成される長方形である。なお、上記の長方形のうちの部分経路に平行な2本の直線は、当該長方形に含まれる空白部分が最大となるように設定されてもよい。図19に示される長方形ABCDは、壁4A及び4Bを含まないという条件を満たしながら、空白部分を最大とするように設定されたものである。変換部23は、例えば、図19に示されるように、変換対象の部分経路として、始点Eと終点Fとを有する部分経路EFを得た場合、部分経路EFの周囲に長方形ABCDを設定する。ここで、辺AB及び辺CDは、部分経路EFに平行である。また、始点Eが辺AD上にあり、終点Fが辺BC上にある。
ステップS402において、変換部23は、部分経路EFを変換することでできるジグザグ状の経路のパラメータを決定する。図19を参照しながら具体的に説明する。
図19に示されるように、ジグザグ状の経路は、初期経路、中期経路及び終期経路からなる。中期経路は、変換対象の部分経路EFに垂直な方向と角度αをなす方向に掃除機1がジグザグに移動する経路である。初期経路は、変換対象の部分経路EFの始点から、中期経路の始点に至る直線経路である。終期経路は、中期経路の終点から、変換対象の部分経路EFの終点に至る直線経路である。なお、角度αは、筐体11の寸法及び吸引部17の幅などに依存して、0度から90度までの間で定められる角度であり、例えば、45度である。
変換部23は、図19における変数s、m、rを以下のように決定する。変数sは、掃除機1がジグザグ状の経路を構成する一の直線に沿って移動するときの移動量のうちの部分経路EFに平行な成分であり、以下のように表される。
s=||BC||×tanα (式1)
また、mは、ジグザグ状の経路を構成する直線の本数であり、以下のように表される。なお、図19は、mが4である場合を示したものに相当する。
m=floor(||AB||/s) (式2)
また、rは、初期経路及び終期経路それぞれに沿って移動するときの移動量のうちの部分経路EFに平行な成分であり、以下のように表される。
r=(||AB||-m×s)/2 (式3)
ステップS403において、変換部23は、ステップS402で算出したs、m及びrに基づいて、ジグザグ状の経路における頂点G及びHi(ただしiは、1以上m以下の整数値)の座標を決定する。頂点Gは、辺CD上で||DG||=rを満たす点であり、中期経路の始点である。また、頂点Hiは、iが奇数であるときには辺AB上で||HiA||=r+i×sを満たす点であり、iが偶数であるときには辺CD上で||HiD||=r+i×sを満たす点である。
ステップS404において、変換部23は、ステップS403で決定したジグザグ状の経路を生成する。具体的には、変換部23は、ステップS403で決定した頂点G及びHiを用いて、線分GH1、線分H1H2、線分H2H3、・・・、線分HmFを、第二経路として生成する。
以上の一連の流れにより、図10に示された経路52から生成される第二経路を説明する。
図20は、本実施の形態における、変換後の経路の説明図である。
図20に示される経路58は、図10に示される経路52から、変換対象の部分経路がジグザグ形状の経路59に変換されたものである。掃除機1は、経路58を移動することで、自己位置推定ができない状態を回避しながら移動することができる。
なお、掃除機1の移動経路は、図21を参照して以下のようにも説明され得る。図21は、本実施の形態における、掃除機1の移動経路の説明図である。図21に示されるように、壁4に端縁部4Fを定義する。端縁部4Fは、壁4のうち平面でない部分であり、上面視において直線でない部分である。より具体的には、平面の端部から所定距離(例えば5cm程度)以内の部分である。また、壁4のうち、端縁部4Fを除く部分を平面部という。言い換えると、図21の示す環境を上から見た地図は、掃除機1が移動し得る領域と、その領域を囲う壁に相当する線とを含む。線における角を有する位置は平面の端部に対応する。また、地図上に障害物が存在する場合、障害物が有する角も平面の端部に対応する。
この場合、モータ制御部24は、平面部と端縁部4Fとを有する壁4の近傍で、平面部に平行な移動経路に沿って掃除機1を移動させる場合に、(a)測距センサ12による測距が可能な領域内に平面部と端縁部4Fとが属しているときには、平面部と平行に掃除機1を移動させ、(b)測距センサ12による測距が可能な領域内に、平面部と端縁部4Fとのうち平面部だけが属しているときには、上記移動経路から変換されたジグザグ状の移動経路に沿って掃除機1を移動させる。具体的には、図21における位置54Aに掃除機1が位置しているときには、掃除機1は、測距センサ12で測距可能な領域3A内に平面部と端縁部4Fが属しているので、平面部に沿って移動する。一方、位置54Bに掃除機1が位置しているときには、掃除機1は、測距センサ12で測距可能な領域3B内に、平面部と端縁部4Fとのうち平面部だけが属しているので、ジグザグ状の経路に沿って移動する。
以上のように、本実施の形態の掃除機である移動ロボットは、仮に第一経路に沿って移動するとすれば周囲の物との距離が変化しないことから自己位置推定が適切になされない場合に、移動経路を第一経路と異なる経路に変更する。これにより、移動の際に周囲の物との距離が変化するようになり、自己位置推定が適切になされる。よって、移動ロボットは、より適切な移動経路を移動し得る。
また、移動ロボットは、移動経路を第一経路から、移動の際に周囲の物との距離が変化するように構成された第二経路に変更する。地図上において物を示す直線と平行に移動ロボットが移動すると、移動の際に周囲の物との距離の変化がなくなるので、移動ロボットによる自己位置推定が適切になされない。そこで、上記のように壁と平行に移動する経路が第二経路に含まれないようにすることで、自己位置推定が適切になされるようにする。
また、移動ロボットは、移動経路を第一経路から、移動の際に周囲の物との距離が変化するようにジグザグ状に構成された第二経路に変更する。これにより、移動ロボットは、自己位置推定がなされ得る第二経路を容易に生成し、より適切な移動経路を移動し得る。
また、移動ロボットは、容易に周囲の物の位置に基づいて、経路の変更が必要であるか否かを判定する。そして、適切な自己位置推定により、より適切な移動経路を移動し得る。
なお、移動ロボットは、自己位置推定がなされ得る第2経路を含む移動経路に沿って移動する際、第2経路に含まれるジグザグ形状通りに、移動ロボットが移動できない可能性がある。具体的には、ジグザグ形状は、異なる向きを有する線に含まれる第1の線と第2の線とが結合されることで結合された点は所定以上の角度を有する。言い換えると、異なる向きを有する線に含まれる第1の線と第2の線と結合されるとは、第1の線と第2の線と接続された線が直線ではないことを意味する。図5に示す掃除機1の一例の車輪15a及び車輪15bが所定以上の角度通りに移動できず、掃除機1は移動経路上の線が結合される点において、異なる向きを有する線を円弧で接続するように移動する可能性がある。つまり、掃除機1が移動経路に沿って移動している場合、掃除機1の筐体11の任意の点の移動軌跡は、計画されている移動経路とは完全に一致しない可能性がある。掃除機1の実際の移動軌跡は、移動経路がジグザグ形状に含まれる線の結合点が円弧で補われた経路に置き換えられ得る。
なお、掃除機の車輪15a又は車輪15bの移動軌跡でも同様である。ジグザグ形状に含まれる線の結合点が円弧で補われた程度は、掃除機1の方向を転換する性能に依存する。また、車輪15a及び車輪15bの向きを制御する新たなモーターを有し、予定されている移動経路に応じて車輪15a及び車輪15bの向きを変更できる場合には、掃除機1の実際の移動軌跡は移動経路と同じにすることも可能である。
(実施の形態2)
本実施の形態において、より適切な移動経路を移動し得る移動ロボットとしての掃除機1Aについて説明する。本実施の形態の掃除機は、実施の形態1の掃除機1と同じように第二経路を生成し、さらに、第二経路とは異なる第三経路を生成する。そして、第二経路又は第三経路から一の経路を選択し、選択した経路に沿って移動する。
本実施の形態の掃除機1Aは、実施の形態1の掃除機1と制御回路19の構成が異なる。以降において、実施の形態1の制御回路19に相当する制御回路19Aの構成について詳しく説明する。
図22は、本実施の形態における掃除機1Aの制御回路19Aの機能を詳細に示すブロック図である。
図22に示されるように、制御回路19Aは、取得部21Aと、特定部22と、変換部23と、モータ制御部24と、選択部25とを備える。ここで、特定部22と、変換部23と、モータ制御部24とについては、実施の形態1におけるものと同じであるので詳細な説明を省略する。
取得部21Aは、実施の形態1の取得部21と同様に、掃除機1Aの周囲に存在する物の位置を示す地図と、掃除機1Aが移動する第一経路とを取得する。さらに、取得部21Aは、掃除機1Aが移動する第三経路を取得する。第三経路は、変換部23による第二経路の生成とは独立に、地図に基づいて生成された経路であり、掃除機1Aによる自己位置推定が可能である経路である。なお、第三経路は、掃除機1Aによって生成されたものであってもよいし、他の装置によって生成されたものであってもよい。
ここで、第三経路は、具体的には、(a)第三経路の始点から、地図において掃除機1Aが移動し得る移動可能領域のうちの周縁部をジグザグ状に移動する第四経路と、(b)第四経路の終点から、上記移動可能領域のうち周縁部を除く部分をジグザグ状に移動する第五経路と、(c)第五経路の終点から、ジグザグ状に移動して第三経路の終点に至る第六経路とを含む。
選択部25は、第二経路と第三経路とから一の経路を選択する。選択部25は、変換部23から第二経路を取得し、取得部21Aから第三経路を取得する。そして、掃除機1Aが第二経路に沿って移動する場合の方向転換の回数と、掃除機1Aが第三経路に沿って移動する場合の方向転換の回数とを比較して、方向転換の回数が少ない方の経路を選択する。方向転換の際には、掃除機1Aの位置が維持されるので、方向転換の回数が少ない方が、掃除機1Aが経路に沿って移動するのに要する時間が短くなるからである。
モータ制御部24は、第二経路及び第三経路のうち、選択部25が選択した経路に沿って掃除機1Aを移動させるようにモータ16を駆動する。
次に掃除機1Aの処理について説明する。
図23は、本実施の形態における掃除機1Aによる、経路等の取得及び変換、走行に関する一連の処理を示すフロー図である。図24は、本実施の形態における掃除機1Aの移動経路の第一例を示す説明図である。図25は、本実施の形態における掃除機1Aの移動経路の第二例を示す説明図である。
ステップS501において、取得部21Aは、地図と第一経路とを取得する。ステップS501の処理は、実施の形態1のステップS101(図9参照)と同じである。ステップS501で取得される地図と第一経路との一例が図24の(a)に示されている。図24の(a)において、地図90上に経路91及び壁94が示されている。また、図24の(a)には、経路91の始点92及び終点93も示されている。経路91は、掃除機1Aの移動可能領域をくまなく掃除するための経路の一例である。
ステップS502において、特定部22及び変換部23は、地図と第一経路とに基づいて第二経路を生成する。ステップS502の処理は、実施の形態1のステップS102及びS103(図9参照)と同じである。ステップS502で生成される第二経路の一例が図24の(b)に示されている。図24の(b)において、図24の(a)の経路91に基づいて生成された第二経路である経路96が示されている。経路96は、掃除機1Aの移動可能領域をくまなく掃除するための経路であって、掃除機1Aによる自己位置推定が適切になされる経路の一例である。
ステップS503において、取得部21Aは、第三経路を取得する。ステップS503で取得される第三経路の一例が図25に示されている。具体的には、図25の(a)、(b)及び(c)は、それぞれ、第三経路に含まれる、第四経路である経路102、第五経路である経路104、及び、第六経路である経路106を示している。経路102の終点103は、経路104の始点でもあり、経路104の終点105は、経路106の始点でもある。なお、図25に示されるジグザグ状の経路を規定するパラメータa、b及びcについては、例えば、以下の(式4)の関係を満たすように決定する。
Figure 0007281707000001
また、パラメータdとeについては、dを小さくするほど、掃除機1Aによって踏みつけられるカーペットの領域を小さくすることができる。また、dを大きくするほど方向転換の回数を少なくすることができ、掃除機1Aの移動速度を上昇させることができる。
また、以下の(式5)の関係を満たすようにすると、移動の見積もりの誤差を少なくすることができる効果がある。
Figure 0007281707000002
また、e/dの値を大きくするほど、方向転換の回数を少なくすることができ、掃除機1Aの移動速度を上昇させることができる。例えば、d=b、e=3/2×cとすることができる。
また、図25の(d)が、第三経路の全体を示している。図25の(a)では、周縁部98も示されている。第三経路は、掃除機1Aの移動可能領域をくまなく掃除するための経路であって、上記の経路91とは独立に生成された経路の一例である。
ステップS504において、選択部25は、掃除機1Aが第二経路に沿って移動する場合の方向転換の回数が、掃除機1Aが第三経路に沿って移動する場合の方向転換の回数より少ないか否かを大小比較により判定する。掃除機1Aが第二経路に沿って移動する場合の方向転換の回数の方が少ない場合(ステップS504でYes)には、ステップS505に進み、そうでない場合(ステップS504でNo)には、ステップS506に進む。
ステップS505において、選択部25は、掃除機1Aの移動経路として第二経路を選択する。
ステップS506において、選択部25は、掃除機1Aの移動経路として第三経路を選択する。
ステップS507において、モータ制御部24は、第二経路及び第三経路のうち、選択部25がステップS505又はS506で選択した経路に沿って掃除機1Aを移動させるようにモータ16を駆動する。
例えば、図24の(b)に示される第二経路である経路96の方向転換の回数は124であり、図25の(d)に示される第三経路である経路の方向転換の回数は125である。よって、選択部25は第二経路を選択し(ステップS504でYes、ステップS505)、掃除機1Aは第二経路に沿って移動することになる。
以上のように、本実施の形態の掃除機である移動ロボットは、第二経路とは独立に生成された第三経路に沿って移動する。移動ロボットにより生成される第二経路は、移動ロボットが移動し得る領域の形状によっては、移動ロボットが移動する際に多大な時間を要する、又は、経路の重なりが大きいなどの問題を有する可能性がある。このような場合に、移動ロボットは、第二経路とは独立に生成された第三経路に沿って移動することで、上記問題を回避できる可能性がある。
また、移動ロボットは、第二経路と第三経路とを比較して、移動の際に要する時間が少ない方を選択することができる。これにより、移動ロボットは、移動に要する時間を削減するとともに、適切な自己位置推定により、より適切な移動経路を移動し得る。
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の掃除機などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、環境中を移動する、測距センサを備える移動ロボットの制御方法であって、物の位置情報を含む前記環境を上から見た地図と、前記移動ロボットが前記環境中を移動する第一経路とを取得し、前記第一経路の一部である部分経路を特定し、特定した前記部分経路を、前記部分経路とは異なる形状を有する経路に変換することで、第二経路を生成し、前記第二経路に沿って前記移動ロボットを移動させ、特定の際には、前記地図において、前記第一経路の前記一部の始点及び終点の両方から前記測距センサによる測距が可能な領域を設定し、設定した前記領域内に存在する前記物として、前記始点から前記終点へ向かう線分と平行である、当該領域を横断する1以上の直線だけが示されているときに、前記一部を前記部分経路として特定する制御方法を実行させる。
また、このプログラムは、コンピュータに、環境中を移動する、測距センサを備える移動ロボットの制御方法であって、平面部と端縁部とを有する壁の近傍で、前記平面部に平行な移動経路に沿って前記移動ロボットを移動させる場合に、(a)前記測距センサによる測距が可能な領域内に前記平面部と前記端縁部とが属しているときには、前記平面部と平行に前記移動ロボットを移動させ、(b)前記測距センサによる測距が可能な領域内に、前記平面部と前記端縁部とのうち前記平面部だけが属しているときには、前記移動経路から変換されたジグザグ状の移動経路に沿って前記移動ロボットを移動させる制御方法を実行させる。
以上、一つまたは複数の態様に係る掃除機などについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
本発明は、より適切な移動経路を移動し得る移動ロボットに利用可能である。
1、1A 掃除機
3、3A、3B、63、64、73、74、V 領域
4、4A、4B、4C、4E、94 壁
4D 空間
4F 端縁部
9 清掃面
11 筐体
12 測距センサ
15a、15b 車輪
16、16a、16b モータ
17 吸引部
18 ごみ箱
19、19A 制御回路
20 電源
21、21A 取得部
22 特定部
23 変換部
24 モータ制御部
25 選択部
31、32、33、34 光路
40 データ列
41、42、43、44 データ
50、90 地図
52、52A、58、59、91、96、102、104、106 経路
54、61、71、92 始点
54A、54B 位置
56、62、72、93、103、105 終点
80 セル
81 空セル
82 占有セル
83 仮想直線
98 周縁部
A 矢印
L 光
P1、P2 部分経路
s1~s10 セグメント

Claims (9)

  1. 環境中を移動する移動ロボットであって、
    測距センサと、
    物の位置情報を含む前記環境を上から見た地図と、前記移動ロボットが前記環境中を移動する第一経路とを取得する取得部と、
    前記第一経路の一部である部分経路を特定する特定部と、
    前記特定部が特定した前記部分経路を、前記部分経路とは異なる形状を有する経路に変換することで、第二経路を生成する変換部と、
    前記測距センサによって測定された、前記移動ロボットと前記移動ロボットの周囲の物との距離を用いた前記移動ロボットの位置の推定を用いて、前記第二経路に沿って前記移動ロボットを移動させる駆動部とを備え、
    前記特定部は、
    前記地図において、前記第一経路の前記一部の始点及び終点の両方から前記測距センサによる測距が可能な領域を設定し、
    設定した前記領域内に存在する前記物として、前記始点から前記終点へ向かう線分と平行である、当該領域を横断する1以上の直線だけが示されているときに、前記一部を前記部分経路として特定する
    移動ロボット。
  2. 前記第二経路は、前記部分経路の始点及び終点を結び、かつ、前記直線と平行な直線部分を含まない経路である
    請求項1に記載の移動ロボット。
  3. 前記第二経路は、前記部分経路の始点及び終点をジグザグ状に結ぶ経路である
    請求項2に記載の移動ロボット。
  4. 前記特定部は、前記変換部による変換の対象となる前記部分経路を特定する際には、
    前記第一経路を構成する部分経路ごとに、当該部分経路についての前記領域上に、当該部分経路の始点及び終点を結ぶ直線に平行な複数の仮想直線を所定の間隔で設定し、
    前記複数の仮想直線それぞれについて、当該仮想直線上のすべての点に物が存在することが前記地図に示されている、又は、当該仮想直線上のすべての点に物が存在しないことが前記地図に示されている場合に、当該部分経路を、前記変換部による変換の対象となる前記部分経路として特定する
    請求項1~3のいずれか1項に記載の移動ロボット。
  5. 前記取得部は、さらに、前記地図に基づいて生成された第三経路を取得し、
    前記駆動部は、さらに、前記第三経路に沿って前記移動ロボットを移動させ、
    前記第三経路は、(a)前記第三経路の始点から、前記地図において前記移動ロボットが移動し得る移動可能領域のうちの周縁部を前記移動ロボットがジグザグ状に移動する第四経路と、(b)前記第四経路の終点から、前記移動可能領域のうち前記周縁部を除く部分を前記移動ロボットがジグザグ状に移動する第五経路と、(c)前記第五経路の終点から、前記移動ロボットがジグザグ状に移動して前記第三経路の終点に至る第六経路とを含む、
    請求項1~4のいずれか1項に記載の移動ロボット。
  6. 前記移動ロボットは、さらに、
    前記移動ロボットが前記第二経路に沿って走行する場合の方向転換の回数と、前記第三経路に沿って走行する場合の方向転換の回数とを比較することで、前記第二経路と第三経路のうち、方向転換の回数が少ない方の経路を選択する選択部を備え、
    前記駆動部は、前記選択部が選択した前記経路に沿って前記移動ロボットを移動させる
    請求項5に記載の移動ロボット。
  7. 環境中を移動する移動ロボットであって、
    測距センサと、
    前記測距センサによって測定された、前記移動ロボットと前記移動ロボットの周囲の物との距離を用いた前記移動ロボットの位置の推定を用いて、前記移動ロボットを移動させる駆動部とを備え、
    前記駆動部は、平面部と端縁部とを有する壁の近傍で、前記平面部に平行な移動経路に沿って前記移動ロボットを移動させる場合に、
    (a)前記測距センサによる測距が可能な領域内に前記平面部と前記端縁部とが属しているときには、前記平面部と平行に前記移動ロボットを移動させ、
    (b)前記測距センサによる測距が可能な領域内に、前記平面部と前記端縁部とのうち前記平面部だけが属しているときには、前記移動経路から変換されたジグザグ状の移動経路に沿って前記移動ロボットを移動させる
    移動ロボット。
  8. 環境中を移動する、測距センサを備える移動ロボットの制御方法であって、
    物の位置情報を含む前記環境を上から見た地図と、前記移動ロボットが前記環境中を移動する第一経路とを取得し、
    前記第一経路の一部である部分経路を特定し、
    特定した前記部分経路を、前記部分経路とは異なる形状を有する経路に変換することで、第二経路を生成し、
    前記測距センサによって測定された、前記移動ロボットと前記移動ロボットの周囲の物との距離を用いた前記移動ロボットの位置の推定を用いて、前記第二経路に沿って前記移動ロボットを移動させ、
    特定の際には、
    前記地図において、前記第一経路の前記一部の始点及び終点の両方から前記測距センサによる測距が可能な領域を設定し、
    設定した前記領域内に存在する前記物として、前記始点から前記終点へ向かう線分と平行である、当該領域を横断する1以上の直線だけが示されているときに、前記一部を前記部分経路として特定する
    制御方法。
  9. 環境中を移動する、測距センサを備える移動ロボットの制御方法であって、
    前記測距センサによって測定された、前記移動ロボットと前記移動ロボットの周囲の物との距離を用いた前記移動ロボットの位置の推定を用いて、前記移動ロボットを移動させ、
    平面部と端縁部とを有する壁の近傍で、前記平面部に平行な移動経路に沿って前記移動ロボットを移動させる場合に、
    (a)前記測距センサによる測距が可能な領域内に前記平面部と前記端縁部とが属しているときには、前記平面部と平行に前記移動ロボットを移動させ、
    (b)前記測距センサによる測距が可能な領域内に、前記平面部と前記端縁部とのうち前記平面部だけが属しているときには、前記移動経路から変換されたジグザグ状の移動経路に沿って前記移動ロボットを移動させる
    制御方法。
JP2019098869A 2018-07-06 2019-05-27 移動ロボット、及び、制御方法 Active JP7281707B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018129383 2018-07-06
JP2018129383 2018-07-06

Publications (2)

Publication Number Publication Date
JP2020013551A JP2020013551A (ja) 2020-01-23
JP7281707B2 true JP7281707B2 (ja) 2023-05-26

Family

ID=69101230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019098869A Active JP7281707B2 (ja) 2018-07-06 2019-05-27 移動ロボット、及び、制御方法

Country Status (3)

Country Link
US (1) US11007645B2 (ja)
JP (1) JP7281707B2 (ja)
CN (1) CN110750092A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102615032B1 (ko) * 2018-10-15 2023-12-20 삼성전자주식회사 사용자 단말기, 이를 포함하는 청소 로봇 및 그 제어 방법
JP7047830B2 (ja) * 2019-12-05 2022-04-05 オムロン株式会社 自律走行システム、自律走行方法、及び自律走行プログラム
US20230004155A1 (en) * 2020-02-27 2023-01-05 Panasonic Intellectual Property Management Co., Ltd. Information presentation method, information presentation device, and recording medium
CN113282078B (zh) * 2021-04-12 2022-11-11 西南大学 移动机器人直接导航移动到指目标点的方法、系统及应用

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017211825A (ja) 2016-05-25 2017-11-30 村田機械株式会社 自己位置推定装置、及び、自己位置推定方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB735987A (en) * 1952-10-08 1955-08-31 Smyth Mfg Co Improvements in feeding mechanism for book creasing and pressing machine
JP2004049778A (ja) * 2002-07-24 2004-02-19 Matsushita Electric Ind Co Ltd 自走式掃除機およびそのプログラム
JP3773902B2 (ja) * 2003-01-08 2006-05-10 パイオニア株式会社 ナビゲーション装置、ナビゲーション用地図データの取得方法、並びに、ナビゲーション用地図データの取得プログラムおよびそれを記録した記録媒体
JP4464893B2 (ja) * 2004-09-13 2010-05-19 パナソニック株式会社 移動ロボット
JP4462156B2 (ja) * 2005-03-15 2010-05-12 パナソニック電工株式会社 自律移動装置
JP4512672B2 (ja) * 2008-08-08 2010-07-28 パナソニック株式会社 掃除機の制御装置及び制御方法、掃除機、掃除機の制御プログラム、及び、集積電子回路
JP5452442B2 (ja) * 2010-10-25 2014-03-26 株式会社日立製作所 ロボットシステム及び地図更新方法
KR101566207B1 (ko) * 2011-06-28 2015-11-13 삼성전자 주식회사 로봇 청소기 및 그 제어방법
KR102158695B1 (ko) * 2014-02-12 2020-10-23 엘지전자 주식회사 로봇 청소기 및 이의 제어방법
WO2016002186A1 (ja) 2014-06-30 2016-01-07 パナソニックIpマネジメント株式会社 自律走行型掃除機
KR102306709B1 (ko) * 2014-08-19 2021-09-29 삼성전자주식회사 청소 로봇, 청소 로봇의 제어 장치, 제어 시스템, 및 제어 방법
JP6849330B2 (ja) * 2015-08-28 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 地図生成方法、自己位置推定方法、ロボットシステム、およびロボット
KR102521493B1 (ko) * 2015-10-27 2023-04-14 삼성전자주식회사 청소 로봇 및 그 제어방법
CN106814732A (zh) * 2015-11-27 2017-06-09 科沃斯机器人股份有限公司 自移动机器人及其行走模式转换方法和行走方法
CN105990876B (zh) * 2015-12-21 2019-03-01 小米科技有限责任公司 充电桩及其识别方法、装置和自动清洁设备
JP6831210B2 (ja) * 2016-11-02 2021-02-17 東芝ライフスタイル株式会社 電気掃除機
CN106679669B (zh) * 2016-12-30 2019-08-06 深圳优地科技有限公司 一种移动机器人路径规划方法和系统
CN106863305B (zh) * 2017-03-29 2019-12-17 赵博皓 一种扫地机器人房间地图创建方法及装置
US10394246B2 (en) * 2017-03-31 2019-08-27 Neato Robotics, Inc. Robot with automatic styles
US11194994B2 (en) * 2017-12-20 2021-12-07 X Development Llc Semantic zone separation for map generation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017211825A (ja) 2016-05-25 2017-11-30 村田機械株式会社 自己位置推定装置、及び、自己位置推定方法

Also Published As

Publication number Publication date
US11007645B2 (en) 2021-05-18
US20200009733A1 (en) 2020-01-09
CN110750092A (zh) 2020-02-04
JP2020013551A (ja) 2020-01-23

Similar Documents

Publication Publication Date Title
JP7281707B2 (ja) 移動ロボット、及び、制御方法
CN110974091B (zh) 清洁机器人及其控制方法、存储介质
JP7262076B2 (ja) 移動ロボット、及び、制御方法
CN109946715B (zh) 探测方法、装置、移动机器人及存储介质
US9939529B2 (en) Robot positioning system
EP3391797B1 (en) Automatic cleaning device and cleaning method
KR101372482B1 (ko) 이동 로봇의 경로 계획 방법 및 장치
JP4264009B2 (ja) 自走式掃除機
WO2009107430A1 (ja) 自律移動ロボット、自己位置推定方法、環境地図の生成方法、環境地図の生成装置、及び環境地図のデータ構造
KR101372062B1 (ko) 이동로봇 및 이동로봇의 온라인 전역경로 커버 제어방법
EP2870513B1 (en) Autonomous mobile robot and method for operating the same
JP2007213236A (ja) 自律走行ロボットの経路計画方法及び自律走行ロボット
US9599987B2 (en) Autonomous mobile robot and method for operating the same
KR20110092158A (ko) 로봇 청소기 및 이의 제어 방법
JP2019171001A (ja) 自律移動掃除機、掃除方法、及びプログラム
JP5212939B2 (ja) 自律移動装置
KR102521940B1 (ko) 로봇 청소기 및 그 로봇 청소기의 제어 방법
US20220022715A1 (en) Autonomously traveling mobile robot and traveling control method therefor
JP6871602B2 (ja) 自律走行型掃除機
JP7345132B2 (ja) 自律走行型掃除機、自律走行型掃除機の制御方法、及び、プログラム
CN115316887B (zh) 机器人控制方法、机器人及计算机可读存储介质
US20200209884A1 (en) Mobile body system and control method
CN116465404A (zh) 基于预设探测距离范围内的最优碰撞点搜索方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230426

R151 Written notification of patent or utility model registration

Ref document number: 7281707

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151