ロボット掃除機及びその制御方法
【課題】ロボット掃除機及びその制御方法を提供する。
【解決手段】ロボット掃除機の制御方法は、第1の掃除モードに従って、前記ロボット掃除機の位置を基準にして多数の掃除領域を定義すること;及び定義された前記掃除領域別に順次掃除を行うこと;を含む。本発明のロボット掃除機及びその制御方法によると、繰り返しモードが開始され、ロボット掃除機の位置を基準にして多数の掃除領域を定義し、掃除領域別に順次掃除を行うとき、基準壁面の検出可否によってロボット掃除機が属した掃除領域を再設定し、再設定された掃除領域内で走行経路に沿って移動しながら掃除を行うので、掃除が1回も行われていない領域や掃除の重複領域を減少させることができる。また、掃除が1回も行われていない領域や掃除の重複領域を減少させることによって、ロボット掃除機の掃除効率を向上させることができる。
【解決手段】ロボット掃除機の制御方法は、第1の掃除モードに従って、前記ロボット掃除機の位置を基準にして多数の掃除領域を定義すること;及び定義された前記掃除領域別に順次掃除を行うこと;を含む。本発明のロボット掃除機及びその制御方法によると、繰り返しモードが開始され、ロボット掃除機の位置を基準にして多数の掃除領域を定義し、掃除領域別に順次掃除を行うとき、基準壁面の検出可否によってロボット掃除機が属した掃除領域を再設定し、再設定された掃除領域内で走行経路に沿って移動しながら掃除を行うので、掃除が1回も行われていない領域や掃除の重複領域を減少させることができる。また、掃除が1回も行われていない領域や掃除の重複領域を減少させることによって、ロボット掃除機の掃除効率を向上させることができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット掃除機及びその制御方法に関し、効率的な掃除が可能なロボット掃除機及びその制御方法に関する。
【背景技術】
【0002】
ロボット掃除機は、住宅又は事務室などの一定の大きさの掃除区域を自ら走行しながら掃除する機器である。ロボット掃除機は、埃又は異物を吸い込む真空掃除機の構成の他に、ロボット掃除機を走行させる走行装置、障害物を感知する障害物感知センサー、電源を供給するバッテリー、及び装置全般を制御するマイクロプロセッサを含むことができる。
【0003】
上述したように構成されるロボット掃除機は、掃除区域内に設置された各種障害物との距離を判断し、判断された情報を用いて障害物と衝突しないように走行しながら掃除動作を行う。このようなロボット掃除機は、掃除領域全体にわたって掃除を行うために自ら掃除領域を認識し、掃除された領域と掃除されていない領域とを区別して隈なく掃除するように設計される。
【0004】
このようなロボット掃除機の掃除モードは、自動モード及び繰り返しモードを含むことができる。自動モードは、ロボット掃除機が全体の掃除領域内で予め定義された走行経路に沿って移動しながら掃除を行うモードである。繰り返しモードは、自動モードで行われた掃除動作を繰り返すモードである。
【0005】
ところが、このような繰り返しモードの場合、単純に自動モードで行われた掃除動作を繰り返すものであるので、予め定義された走行経路に沿って走行する間にロボット掃除機の位置情報が食い違う場合、既に掃除した領域を再び掃除するようになったり、まだ掃除していない領域を継続して掃除しなくなったりする現象が発生し得る。また、ロボット掃除機の動きを一定時間以上追跡しない場合、ロボット掃除機がどの領域を掃除し、どの領域を掃除しなかったのかを把握しにくい。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の一側面は、掃除効率を向上できるロボット掃除機及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を達成するために、本発明の一実施例に係るロボット掃除機の制御方法は、前記第1の掃除モードに従って、前記ロボット掃除機の位置を基準にして多数の掃除領域を定義すること;及び定義された前記掃除領域別に順次掃除を行うこと;を含むことができる。
【0008】
前記第1の掃除モードは、定義された多数の前記掃除領域のうち各掃除領域内の掃除を順次繰り返す繰り返しモードを含むことができる。
【0009】
定義された前記掃除領域別に順次掃除を行うことは、前記ロボット掃除機が属した掃除領域の外郭に沿って動く外郭走行を実施することによって基準壁面を検出すること;検出された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義すること;及び再定義された前記掃除領域を所定の走行経路に沿って走行しながら掃除を行うこと;を含むことができる。
【0010】
前記基準壁面を検出することは、前記外郭走行中に前記ロボット掃除機が障害物によって回転した回転角度が基準角度より小さく、前記ロボット掃除機が前記回転角度だけ回転した後で走行した距離が基準距離より大きい場合、前記障害物を前記基準壁面として検出することを含むことができる。
【0011】
検出された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義することは、前記外郭走行の結果として検出された複数の基準壁面のうち、長さが最も長い基準壁面を選択すること;及び選択された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義すること;を含むことができる。
【0012】
再定義された前記掃除領域は、前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた領域、又は前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた後、所定基準だけ拡大させた領域であり得る。
【0013】
定義された前記掃除領域別に順次掃除を行う段階後、全体の掃除領域に対する掃除の完了可否を判断すること;及び前記判断の結果、前記全体の掃除領域に対する掃除が完了した場合、定義された前記掃除領域で掃除を開始する方向を変え、定義された前記掃除領域別に順次掃除を行うことを繰り返すことをさらに含むことができる。
【0014】
上述した課題を達成するために、本発明の一実施例に係るロボット掃除機は、第1の掃除モードに従って、ロボット掃除機の位置を基準にして多数の掃除領域を定義し、定義された前記掃除領域別に順次掃除を行う制御部を含むことができる。
【0015】
前記第1の掃除モードは、定義された多数の前記掃除領域のうち各掃除領域内の掃除を順次繰り返す繰り返しモードを含むことができる。
【0016】
前記制御部は、前記ロボット掃除機が属した掃除領域の外郭に沿って動く外郭走行を実施することによって基準壁面を検出し、検出された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義した後、再定義された前記掃除領域を所定の走行経路に沿って走行しながら掃除を行うように制御することができる。
【0017】
前記制御部は、前記外郭走行中に前記ロボット掃除機が障害物によって回転した回転角度が基準角度より小さく、前記ロボット掃除機が前記回転角度だけ回転した後で走行した距離が基準距離より大きい場合、前記障害物を前記基準壁面として検出することができる。
【0018】
前記制御部は、前記外郭走行の結果、複数の基準壁面が検出された場合、長さが最も長い基準壁面を選択し、選択された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義することができる。
【0019】
再定義された前記掃除領域は、前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた領域、又は前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた後、所定基準だけ拡大させた領域であり得る。
【0020】
前記制御部は、前記ロボット掃除機がジグザグ走行経路に沿って前記多数の掃除領域を順次移動するように制御することができる。
【0021】
前記制御部は、定義された前記掃除領域別に順次掃除を行った後、全体の掃除領域に対する掃除の完了可否を判断し、前記判断の結果、前記全体の掃除領域に対する掃除が完了した場合、定義された前記掃除領域で掃除を開始する方向を変え、定義された前記掃除領域別に順次掃除を行うことを繰り返すことができる。
【発明の効果】
【0022】
本発明の一側面によるロボット掃除機及びその制御方法によると、繰り返しモードが開始され、ロボット掃除機の位置を基準にして多数の掃除領域を定義し、掃除領域別に順次掃除を行うとき、基準壁面の検出可否によってロボット掃除機が属した掃除領域を再設定し、再設定された掃除領域内で走行経路に沿って移動しながら掃除を行うので、掃除が1回も行われていない領域や掃除の重複領域を減少させることができる。
【0023】
また、掃除が1回も行われていない領域や掃除の重複領域を減少させることによって、ロボット掃除機の掃除効率を向上させることができる。
【図面の簡単な説明】
【0024】
【図1】本発明の一実施例に係るロボット掃除機の外観を示した斜視図である。
【図2】図1に示したロボット掃除機の底面図である。
【図3】図1に示したロボット掃除機の構成を示したブロック図である。
【図4】天井映像から特徴点を抽出する方法を説明するための図である。
【図5】図1のロボット掃除機で作成された特徴マップを例示した図である。
【図6】掃除領域に対する外郭走行を説明するための図である。
【図7】各掃除領域間の移動順序を例示した図である。
【図8】掃除領域で検出された基準壁面を基準にして掃除領域及び掃除方向を再設定する過程を説明するための図である。
【図9】掃除領域で検出された基準壁面を基準にして掃除領域及び掃除方向を再設定する過程を説明するための図である。
【図10】掃除領域内でのロボット掃除機の走行経路を例示した図である。
【図11】掃除領域内に障害物が存在する場合におけるロボット掃除機の障害物回避方法を説明するための図である。
【図12】本発明の一実施例によるロボット掃除機の動作過程を示したフローチャートである。
【図13】図12のS722段階をより詳細に示したフローチャートである。
【図14】図13のS810段階をより詳細に示したフローチャートである。
【図15】図13のS830段階をより詳細に示したフローチャートである。
【発明を実施するための形態】
【0025】
以下、添付の各図面を参照して本発明の実施例について説明する。図面において同一の図面符号は同一の構成要素を示す。
【0026】
図1は、本発明の一実施例に係るロボット掃除機の外観を示した斜視図で、図2は、図1に示したロボット掃除機の底面図である。
【0027】
ロボット掃除機1は、外観を形成する本体10と、本体10の下部に設置されてロボット掃除機1を移動させる駆動装置20と、ロボット掃除機1が走行する床の埃を掃いたり飛散させたりして掃除するブラシ装置30、40と、を含むことができる。
【0028】
本体10には、駆動装置20及びブラシ装置30、40と共に、障害物を感知できる接触センサー又は近接センサーを設置することができる。例えば、本体10の前方に設置されるバンパー11の内部に設置される光センサーは、前方の障害物を感知することができ、本体10の底に設置される赤外線センサー(又は超音波センサー)は、階段などの障害物を感知することができる。そして、本体10の上部には周辺環境を撮影できるビジョンセンサー13を設置することができる。
【0029】
本体10には、使用者にロボット掃除機1の状態又は動作に関する情報を知らせるディスプレイ12を設けることができる。
【0030】
駆動装置20は、本体10の中央部両側に設置されてロボット掃除機1の移動を調節する一対の駆動車輪21、22と、本体10の前方に回転可能に設置され、ロボット掃除機1が移動する床の状態によって回転する角度が変化するキャスター車輪23と、を含んで構成することができる。キャスター車輪23は、ロボット掃除機1の姿勢安定及び落下防止などに活用され、ローラーやキャスター形状の車輪で構成することができる。
【0031】
駆動車輪21、22は、前方又は後方に駆動されてロボット掃除機1を移動させる。また、駆動車輪21、22は、前方又は後方に駆動されてロボット掃除機1を前方又は後方に移動させることができる。一方、左側の駆動車輪22を後方に移動させる間、右側の駆動車輪21を前方に駆動させることによって、ロボット掃除機1を前方を基準にして左側方向に回転させることができ、これと反対に駆動させることによって、ロボット掃除機1を前方を基準にして右側方向に回転させることができる。
【0032】
ブラシ装置30、40は、埃の吸入効率を向上させるために本体10の底面に形成された吸入口14と隣接するように設けられ、床の埃を掃いたり飛散させたりするメインブラシ装置30と、本体10の前方両側面の下部に設置され、ロボット掃除機1が走行する床の埃を吸入口14側に掃くサイドブラシ装置40と、を含むことができる。
【0033】
メインブラシ装置30は、吸入口14に対応する長さで吸入口14に隣接するように水平方向に配置され、床に付着された埃を掃いたり飛散させたりするように床に対してローラー式で回転するドラム形状の回転ブラシ(以下、「メインブラシ」という)と、メインブラシ31を回転させるためのメインブラシモーター33と、を含むことができる。
【0034】
また、ロボット掃除機1は、埃などの異物を吸い込んで保管する集塵装置を含むことができる。
【0035】
図3は、図1に示したロボット掃除機の構成を示したブロック図である。
【0036】
図3に示したように、ロボット掃除機1は、入力部100、撮影部110、位置測定部120、特徴マップ生成部130、障害物感知部140、経路マップ生成部150、制御部160、保存部170及び掃除部180を含むことができる。
【0037】
入力部100は、使用者から掃除モードに対する命令を受けることができる。掃除モードは、自動モード及び繰り返しモードを含むことができる。
【0038】
自動モードは、全体の掃除領域に対する掃除経路を設定し、設定された掃除経路に沿って移動しながら掃除を行うことを意味する。ここで、「全体の掃除領域」という用語は、ロボット掃除機1が属した実際の空間を意味し、掃除が行われ得ない障害物を含む空間全体を意味する。自動モードに従って全体の掃除領域に対する掃除を行うとき、ロボット掃除機1は、走行方向を変えるために停止動作を伴うこともある。
【0039】
繰り返しモードは、全体の掃除領域のうちロボット掃除機1の位置を基準にして多数の掃除領域を定義し、定義された多数の掃除領域別に順次掃除を行うことを意味する。ここで、掃除領域は、ロボット掃除機1によって定義される仮想空間を意味することができる。掃除領域に対する情報は、予め指定してロボット掃除機1に保存することができる。例えば、掃除領域は、ロボットの中心を基準にして横dと縦dとの長さが同じ正四角形に設定することができる。しかし、これは一例に過ぎず、掃除領域の大きさを多様に変更可能であることは当然である。ロボット掃除機1は、現在の位置を基準にして多数の掃除領域を定義した後、所定の走行経路によって各掃除領域を移動しながら、各掃除領域に対して掃除を行うことができる。このとき、各掃除領域を掃除するための走行経路としてはジグザグ走行経路を例に挙げることができ、このような走行経路は予めロボット掃除機1に保存することができる。
【0040】
撮影部110は、特徴点を抽出するのに適した周辺映像を撮影することができる。周辺映像は天井、壁面、床を含むことができ、このうち、天井は、映像変化の可能性が少ないので周辺映像として最も適している。以下、周辺映像として天井を使用する場合を例に挙げて説明する。
【0041】
撮影部110は、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)又はその他の映像取得手段として具現することができる。撮影部110は、取得した映像のアナログ信号をデジタル信号に変換するADC(Analog―to―Digital Converter)として具現することができる。
【0042】
位置測定部120は、エンコーダー、ジャイロセンサー、加速度センサーなどの相対位置認識モジュールとして具現され、ロボット掃除機1の位置を測定することができる。エンコーダーは、駆動車輪21、22と連結されて回転速度を感知することができる。エンコーダーで感知された回転速度を積分すると、ロボット掃除機1の位置(又は移動距離)及び方向角を知ることができる。ジャイロセンサーは、回転慣性を用いてロボット掃除機1の方向角を測定することができる。加速度センサーは、ロボット掃除機1の運動加速度を二重積分し、ロボット掃除機1の位置を測定することができる。
【0043】
特徴マップ生成部130は、撮影部110から取得された天井映像から複数の特徴点を抽出し、特徴マップを生成することができる。特徴マップは、周辺環境のうち一定に測定される特徴点からなり得る。ここで、特徴点は、特定位置固有の特徴が示され得る点を意味する。特徴点の抽出については、図4を参照してより具体的に説明する。
【0044】
図4は、天井映像から特徴点を抽出する方法を説明するための図である。
【0045】
図4を参照すると、天井映像200は、シャンデリア210、蛍光灯220、コーナー部分230などのように、他の位置と区別させる細部映像を含むことができる。このような細部映像に各特徴点を表示した後、ロボット掃除機1が移動しながら撮影した映像から予め表示された各特徴点と同じ特徴点を発見すると、ロボット掃除機1のポーズ(位置及び方向角)を把握することができる。
【0046】
図5は、ロボット掃除機1で作成された特徴マップを例示した図である。
【0047】
特徴マップ300には多様な形態の特徴点が含まれ、地域的に隣接した各特徴点は互いに連結される。ロボット掃除機1が撮影した映像350内に予め定義された各特徴点の組み合わせを発見すると、ロボット掃除機1の位置及び方向角を知ることができる。一方、上述した特徴点を抽出するアルゴリズムとしては、SIFT(Scale Invariant Feature Transform)、記述子(Descriptor)、ハリスコーナー検出器(Harris Corner Detector)などを例に挙げることができる。特徴マップを作成するためには、映像撮影のみならず、RFID(Radio Frequency Identification)、構造光(structure light)を用いた距離計(Range Finder)などのSLAM技法を使用することもできる。ここで、SLAMは、ロボット掃除機1の位置認識とマップ生成とを同時に行うアルゴリズムである。
【0048】
再び図3を参照すると、特徴マップ生成部130は、天井映像から得た特徴点と位置測定部120によって測定される位置とを対応させることによって特徴マップを完成する。特徴マップが完成した後、撮影された映像から得た特徴点と特徴マップ間の比較を通してロボット掃除機1の位置及び方向角を把握することができる。
【0049】
保存部170は、特徴マップ生成部130で生成した特徴マップを保存することができる。その他にも、保存部170は、ロボット掃除機1の掃除モード、例えば、自動モードと繰り返しモードとに対する情報を保存することができ、各掃除モードに従ってロボット掃除機1の動作を制御するためのアルゴリズムやデータを保存することができる。また、保存部170は、掃除情報マップを保存することもできる。掃除情報マップは、掃除完了情報が記録されたマップであって、ロボット掃除機1が所定の走行経路に沿って移動しながら掃除をする間に生成することができる。
【0050】
このような保存部170は、ROM、RAM、PROM、EPROM、フラッシュメモリなどの非揮発性メモリ素子、又はRAMなどの揮発性メモリ素子、又はハードディスク、光ディスクなどの保存媒体として具現することができる。しかし、上述した例に限定されることはなく、保存部170が当業界に知られている任意の他の形態として具現可能であることは当然である。
【0051】
障害物感知部140は、ロボット掃除機1の移動と共にロボット掃除機1に近接する障害物を感知することができる。一例として、障害物感知部140は、超音波センサーを含むことができる。障害物感知部140が超音波センサーを含む場合、超音波センサーは、ロボット掃除機1が現在走行している方向に超音波を発信し、反射される超音波を受信して障害物を感知することができる。他の例として、障害物感知部140は、光センサーを含むことができる。このとき、光センサーは、例えば、赤外線発光素子及び赤外線受光素子を含むことができる。障害物感知部140が光センサーを含む場合、赤外線発光素子は赤外線を出射し、赤外線受光素子が反射された赤外線を受信して障害物を感知することができる。
【0052】
経路マップ生成部150は、ロボット掃除機1が壁(又は障害物)に沿って移動しながら確保した位置データを保存し、保存された位置データに基づいて掃除経路マップを生成することができる。ロボット掃除機1は、掃除経路マップを参照して、全体の掃除領域内で特定の走行経路に沿って動きながら掃除を行うことができる。
【0053】
制御部160は、使用者が入力部100を通して掃除モードを選択すると、選択された掃除モードに従ってロボット掃除機1を走行させながら掃除を行う。上述したように、掃除モードは自動モード及び繰り返しモードを含むことができる。
【0054】
使用者が自動モードを選択した場合、制御部160は、ロボット掃除機1が全体の掃除領域内で予め指定された走行経路に沿って移動しながら掃除できるようにロボット掃除機1の動作を制御する。予め指定された走行経路としては、ジグザグ走行経路を例に挙げることができる。ジグザグ走行経路は、公知の走行経路であるので、これについての詳細な説明は省略する。
【0055】
使用者が繰り返しモードを全て選択した場合、制御部160は、繰り返しモードに従う掃除が行われるようにロボット掃除機1の動作を制御する。繰り返しモードが開始されると、制御部160は、現在のロボット掃除機1の位置を基準にして多数の掃除領域を定義し、定義された多数の掃除領域のうちロボット掃除機1が属した掃除領域の外郭に沿って外郭走行を実施する。そして、外郭走行を実施した結果、基準壁面が検出された場合、制御部160は、検出された基準壁面に基づいて掃除領域及び掃除方向を再定義し、再定義された掃除領域内で予め指定された走行経路に沿って移動しながら掃除を行うことができる。
【0056】
図6は、ロボット掃除機1によって定義された掃除領域に対する外郭走行を説明するための図である。
【0057】
繰り返しモードが開始されると、制御部160は、現在のロボット掃除機1の位置を基準にして全体の掃除領域に対して多数の掃除領域を予め定義する。ここで、掃除領域は、ロボット掃除機1の中心を基準にして設定される仮想の空間をいう。掃除領域は、例えば、横と縦との長さdが同じ正四角形に定義することができる。掃除領域は、ロボット掃除機1の中心P0を基準にして形成されるので、掃除領域の中心はロボット掃除機1の中心P0と一致する。以下の説明では、繰り返しモードを行うとき、ロボット掃除機1によって定義される多数の掃除領域のうちロボット掃除機1が属している掃除領域を「第1の掃除領域」と称する。
【0058】
図6に示したように、第1の掃除領域R1が設定されると、制御部160は、ロボット掃除機1が第1の掃除領域R1の外郭に沿って走行するように制御する。以下の説明では、ロボット掃除機1が第1の掃除領域R1の外郭に沿って走行することを「外郭走行」と称する。例えば、制御部160は、ロボット掃除機1が初期位置「P0」から始めてP1、P2、P3、P4、P5、P1の順に外郭走行を行うように制御することができる。
【0059】
このような外郭走行が完了すると、制御部160は、ロボット掃除機1が第1の掃除領域R1内で移動しながら掃除を行うようにロボット掃除機1を制御することができる。
【0060】
第1の掃除領域R1に対する掃除が完了すると、制御部160は、ロボット掃除機1を次の位置の第2の掃除領域に移動させる。
【0061】
このように、ロボット掃除機1を第1の掃除領域R1から次の位置の第2の掃除領域R2に移動させるとき、制御部160は、図7に例示したように、ロボット掃除機1がジグザグパターンによって移動するように制御することができる。また、制御部160は、第2の掃除領域R2の外郭のうち第1の掃除領域R1に対する掃除が完了した地点(以下、「掃除完了地点」と称する)から最も近い地点にロボット掃除機1が移動するように制御することができる。具体的な説明のために、図7を参照すると、第1の掃除領域R1に対する掃除完了地点がP4である場合、第2の掃除領域R2の外郭のうち、第1の掃除領域に対する掃除完了地点である「P4」と最も近い地点はP1である。したがって、制御部160は、ロボット掃除機を第2の掃除領域R2のP1地点に移動させることができる。
【0062】
このように、ロボット掃除機1の位置を第2の掃除領域R2のP1地点に移動させた後、制御部160は、ロボット掃除機1がP1地点から矢印方向に第2の掃除領域R2の外郭に沿って外郭走行を行うように制御する。このとき、図7に示したように、第2の掃除領域R2の外郭と壁面とが一致する場合、ロボット掃除機1は、第2の掃除領域R2の外郭に沿って外郭走行を実施するようになる。
【0063】
しかし、図8に示したように、第2の掃除領域R2の外郭と壁面とが一致しない状況が発生し得る。この場合、ロボット掃除機1は、第2の掃除領域R2の外郭の代わりに壁面に沿って移動するようになる。すなわち、第2の掃除領域R2の外郭に沿って走行する途中で壁面に接触する場合、ロボット掃除機1は、第2の掃除領域R2の外郭の代わりに、壁面に沿って移動するようになる。このように、外郭走行中に障害物、例えば、壁面に接触すると、ロボット掃除機1は、第2の掃除領域R2の境界と壁面とがなす角度θだけ回転した後、壁面に沿って移動するようになる。制御部160は、壁面に沿って移動する間にロボット掃除機1が回転する場合、この回転角度、及び回転した後で走行した距離などに対するデータを保存部170に保存することができる。
【0064】
第2の掃除領域R2に対する外郭走行を完了した後、制御部160は、保存部170に保存されたデータを分析し、基準壁面を検出することができる。具体的に、壁面に沿って移動する間にロボット掃除機1が回転する場合、ロボット掃除機1の回転角度が基準角度より小さく、回転後に壁面に沿って移動した距離が基準距離より大きい場合、制御部160は、該当の壁面を「基準壁面」と認識することができる。このように基準角度と基準距離とを定める理由は、基準壁面として適切でない壁面を排除するためである。具体的に、壁面に沿って移動する間にロボット掃除機1が回転した角度が基準角度以上であるか、回転した後で移動した距離が基準距離以下であると、これは、ロボット掃除機1がデコボコした壁面に沿って移動したことを意味し得る。ところが、デコボコした壁面は基準壁面として適切でないので、このような場合を排除するためには基準角度と基準距離とを設定する必要がある。
【0065】
このように第2の掃除領域R2に対する外郭走行を行った結果、基準壁面が検出された場合、制御部160は、基準壁面に合わせて第2の掃除領域R2及び掃除方向を再定義することができる。具体的に、図8で点Aと点Bとを連結する線分を基準壁面とした場合、制御部160によって再定義された第2の掃除領域R2’は、最初の第2の掃除領域R2をロボット掃除機1が回転した角度θだけ回転させた領域であり得る。このように第2の掃除領域R2を再定義することによって、ロボット掃除機1の掃除方向も以前の第1の掃除領域R1での掃除方向と異なるようになる。
【0066】
第2の掃除領域を再定義すると、ロボット掃除機1が次に移動する掃除領域である第3の掃除領域も、再定義された第2の掃除領域R2’の掃除方向に沿うようになる。図8の場合、第3の掃除領域R3は、再定義された第2の掃除領域R2’と並んで位置することが分かる。
【0067】
一方、図8に示したように、第2の掃除領域を再定義すると、第2の掃除領域を再定義しない場合に比べて、斜線で表示された部分Xに対する掃除を行えるようになる。しかし、再定義された第2の掃除領域R2’は、最初に定義された第2の掃除領域R2に比べてθだけ回転したので、逆斜線で表示された部分Yに対しては掃除が行われなくなる。このように掃除が行われない領域が発生することを防止するために、制御部160は、最初に定義された第2の掃除領域R2をθだけ回転させた後、回転した領域の大きさを一定の水準に拡張した後、拡張された領域を第2の掃除領域と再定義することができる。例えば、図9に示したように、最初の第2の掃除領域R2をθだけ回転させた正四角形に外接する円を描き、この円に外接する正四角形のうち回転した正四角形と相似形の関係にある正四角形R2’を第2の掃除領域と再定義することができる。この場合、再定義された第2の掃除領域R2’は、逆斜線で表示された部分Yを含むようになる。
【0068】
上述した方法によって掃除領域が再定義されると、ロボット掃除機1は、再定義された掃除領域の境界に沿って仮想壁を設定し、仮想壁が設定された掃除領域の内部を予め指定された走行経路に沿って移動しながら掃除を行う。例えば、ロボット掃除機1は、ジグザグ走行経路に沿って移動しながら掃除領域に対する掃除を行うことができる。これについては、図10を参照してより具体的に説明する。
【0069】
図10は、掃除領域(又は再定義された掃除領域)内でのロボット掃除機1の走行経路を例示した図である。
【0070】
図10に示したように、予め定義された掃除領域R1は、走行軸及びジグザグ軸からなる平面上に存在すると見ることができる。このとき、走行軸は、ロボット掃除機1が走行する方向に対して水平な軸を意味する。走行軸における正の方向はロボット掃除機1の前進方向を意味し、負の方向はロボット掃除機1の後進方向を意味する。そして、ジグザグ軸は、走行軸と直交する軸、すなわち、ロボット掃除機1が走行軸で方向転換のために回転する軸を意味する。ジグザグ軸における正の方向はロボット掃除機1の左側方向を意味し、負の方向はロボット掃除機1の右側方向を意味する。
【0071】
掃除領域R1が定義された後、ロボット掃除機1は、走行軸に沿って前進しながら掃除を行う。走行軸に対する掃除が完了し、方向転換が必要な場合、ロボット掃除機1は、曲線走行で走行方向を180度切り替える。走行方向を切り替えた後、ジグザグ軸に対する掃除が完了し、方向転換が必要な場合、ロボット掃除機1は、曲線走行で走行方向を再び180度切り替える。その後、ロボット掃除機1は、走行軸に沿って移動しながら掃除を行う。このように曲線走行で走行方向を切り替えると、方向転換のための停止動作の回数を減少できるので、その分だけ掃除時間を短縮させることができる。具体的に、曲線走行でない場合、ロボット掃除機1は、「走行軸に沿って移動→停止→ジグザグ軸に走行方向転換→ジグザグ軸に沿って移動→停止→走行軸に走行方向転換→走行軸に沿って走行」という動作を行うようになる。その一方、曲線走行の場合、「走行軸に沿って移動→曲線走行で走行方向を180度切り替え」という動作のみを行えばよいので、曲線走行でない場合に比べて、その分だけ掃除時間を短縮させることができる。
【0072】
ところが、曲線走行で方向を切り替える途中で障害物を感知すると、ロボット掃除機1は、図11に示したように、障害物を壁面追従技法で推定して走行することができる。
【0073】
図12は、本発明の一実施例によるロボット掃除機の動作過程を示したフローチャートである。
【0074】
まず、ロボット掃除機1は、掃除モード中に繰り返しモードが選択されたかどうかを判断する(S700)。
【0075】
S700段階の判断の結果、選択された掃除モードが繰り返しモードでない場合、すなわち、自動モードが選択された場合(S700の「いいえ」)、ロボット掃除機1は、全体の掃除領域内で予め指定された走行経路に沿って移動しながら掃除を行うことができる(S710)。このとき、予め指定された走行経路としては、ジグザグ走行経路を例に挙げることができる。このように、ロボット掃除機1は、予め指定された走行経路に沿って走行しながら全体の掃除領域を掃除することもできるが、他のパターンの走行経路を生成し、生成された走行経路に沿って全体の掃除領域を掃除することもできる。
【0076】
その後、ロボット掃除機1は、全体の掃除領域に対する掃除が完了したかどうかを判断することができる(S712)。
【0077】
S712段階の判断の結果、全体の掃除領域に対する掃除が完了していない場合(S712の「いいえ」)、ロボット掃除機1は、全体の掃除領域に対する掃除を継続して行うことができる(S710)。
【0078】
S712段階の判断の結果、全体の掃除領域に対する掃除が完了した場合(S712の「はい」)、ロボット掃除機1は、自動モードによる掃除が完了したことを使用者に知らせることができる(S714)。このとき、掃除完了は、音又はテキストで表示して知らせることができる。
【0079】
以後、ロボット掃除機1は、充電器(図示せず)に復帰して充電を行うことができる。
【0080】
S700段階の判断の結果、繰り返しモードが選択された場合、ロボット掃除機1は、ロボット掃除機1の位置を基準にして多数の掃除領域を定義する(S720)。そして、定義された掃除領域別に掃除を行う(S722)。定義された掃除領域別に掃除を行うS722段階については、図13を参照して具体的に説明する。
【0081】
以後、ロボット掃除機1は、全体の掃除領域に対する掃除が完了したかどうかを判断することができる(S724)。
【0082】
S724段階の判断の結果、全体の掃除領域に対する掃除が完了していない場合、ロボット掃除機1は、予め定義された各掃除領域に対する掃除を継続して行うことができる(S722)。
【0083】
S724段階の判断の結果、全体の掃除領域に対する掃除が完了した場合、ロボット掃除機1は、以前に定義された各掃除領域を掃除する過程で生成した掃除情報マップをリセットする(726)。このとき、各掃除領域に対する掃除完了情報のみがリセットされ、以前に定義された各掃除領域に対する情報は維持され得る。
【0084】
掃除情報マップをリセットした後、ロボット掃除機1は、掃除を開始する方向を変え、掃除が完了した位置に該当する掃除領域から掃除を開始する。例えば、図10を参照して説明すると、S722段階でロボット掃除機1が属した掃除領域から掃除を開始するとき、X軸の正の方向から掃除を開始した場合、掃除が完了した位置に該当する掃除領域から掃除を開始するときは、Y軸の正の方向から掃除を開始することができる。このように、掃除領域別に行われる掃除過程を繰り返すとき、掃除方向を変えることによって掃除の重複領域を減少させ、掃除が1回も行われていない領域を減少させることができる。
【0085】
図13は、図12の掃除領域別に掃除を行うS722段階をより詳細に示したフローチャートである。
【0086】
まず、ロボット掃除機1は、ロボット掃除機1が属した掃除領域の外郭に沿って外郭走行を実施する(S810)。S810段階については、図14を参照してより詳細に説明する。
【0087】
そして、ロボット掃除機1は、外郭走行を実施した掃除領域の境界に沿って仮想壁を設定する(S820)。
【0088】
仮想壁が設定されると、ロボット掃除機1は、仮想壁が設定された掃除領域に対して掃除を行う(S830)。S830段階については、図15を参照してより詳細に説明する。
【0089】
以後、ロボット掃除機1は、該当の掃除領域に対する掃除が完了したかどうかを判断することができる(S840)。
【0090】
S840段階の判断の結果、該当の掃除領域に対する掃除が完了していない場合(S840の「いいえ」)、ロボット掃除機1は、該当の掃除領域に対する掃除を継続して行うことができる(S830)。
【0091】
S840段階の判断の結果、掃除領域に対する掃除が完了した場合(S840の「はい」)、ロボット掃除機1は、次に掃除する掃除領域が残っているかどうかを判断することができる(S850)。
【0092】
S850段階の判断の結果、次に掃除する領域が残っている場合(S850の「はい」)、ロボット掃除機1は、次に掃除する掃除領域を選択することができる(S860)。
【0093】
次に掃除する掃除領域を選択した後、ロボット掃除機1は、選択された掃除領域に移動可能であるかを判断することができる(S870)。すなわち、選択された掃除領域に移動する場合において、移動経路上に障害物が存在するか、又はロボット掃除機1の現在の位置が障害物で遮られて移動不可能な状態であるか、などを判別することができる。
【0094】
移動可否を判断した結果(S870)、選択された掃除領域に移動することが可能である場合(S870の「はい」)、ロボット掃除機1は、選択された掃除領域に移動する(S895)。このとき、選択された掃除領域に到達する前に障害物に接触する場合、ロボット掃除機1は、ロボット掃除機1の中心から目的地点までを一つの線分と見なし、障害物を回避しながら走行する。そして、ロボット掃除機1のヘディングアングルが目的地点に向かうようになると、再び走行をし、選択された掃除領域まで移動することができる。選択された掃除領域まで移動した後は、該当の掃除領域に対する外郭走行を実施する段階(S810)、及び外郭走行を実施した掃除領域の境界に沿って仮想壁を設定する段階(S820)などを繰り返すことができる。
【0095】
移動可否を判断した結果(S870)、選択された掃除領域に移動することが不可能である場合(S870の「いいえ」)、ロボット掃除機1は、脱出ルーチンを行うことができる(S880)。脱出ルーチンは、ロボット掃除機1の周辺が障害物で遮られているか、選択された掃除領域の周辺が障害物で遮られており、ロボット掃除機1が進入不可能な場合に実行することができる。
【0096】
このように脱出ルーチンを行った後、ロボット掃除機1は、脱出の成功可否を判断することができる(S890)。脱出の成功可否を判断した結果、脱出に成功した場合(S890の「はい」)、ロボット掃除機1は、選択された掃除領域まで移動する(S895)。選択された掃除領域まで移動した後は、該当の掃除領域に対する外郭走行を実施する段階(S810)、及び外郭走行を実施した掃除領域の境界に沿って仮想壁を設定する段階(S820)などを繰り返すことができる。
【0097】
脱出ルーチンを実行したにもかかわらず脱出に失敗した場合(S890の「いいえ」)、ロボット掃除機1は、これ以上掃除を行えないと判断し、掃除動作を終了することができる。
【0098】
図14は、図13の掃除領域の外郭に沿って外郭走行を実施する段階であるS810段階をより詳細に示したフローチャートである。
【0099】
ロボット掃除機1は、予め定義された掃除領域の境界に沿って外郭走行を開始する(S811)。例えば、図8に示したように、矢印方向に外郭走行を実施することができる。
【0100】
以後、ロボット掃除機1は、外郭走行を実施する途中で障害物に接触したかどうかを判断することができる(S812)。
【0101】
S812段階の判断の結果、障害物に接触していない場合(S812の「いいえ」)、ロボット掃除機1は、予め定義された掃除領域の外郭に沿って外郭走行を継続する(S816)。
【0102】
S812段階の判断の結果、障害物に接触した場合(S812の「はい」)、ロボット掃除機1は、障害物に沿って移動するようになる。このように、障害物に沿って移動する間にロボット掃除機1が回転する場合、ロボット掃除機1は、ロボット掃除機1の回転角度が基準角度より小さいかどうかを判断することができる(S813)。基準角度に対する情報は、予め保存部170に保存することができる。
【0103】
回転角度の大きさを判断した結果(S813)、ロボット掃除機1の回転角度が基準角度以上であると(S813の「いいえ」)、ロボット掃除機1は、接触した障害物に沿って外郭走行を継続する(S818)。
【0104】
回転角度の大きさを判断した結果(S813)、ロボット掃除機1の回転角度が基準角度より小さい場合(S813の「はい」)、回転後のロボット掃除機1の走行距離が基準距離より大きいかどうかを判断することができる(S814)。基準距離に対する情報は、予め保存部170に保存することができる。
【0105】
ロボット掃除機1の走行距離が基準距離以下であると、ロボット掃除機1は、接触した障害物に沿って外郭走行を継続する(S818)。
【0106】
ロボット掃除機1の走行距離が基準距離より大きいと(S814の「はい」)、ロボット掃除機1は、該当の障害物を基準壁面として認識することができる(S815)。例えば、図8において、ロボット掃除機1が点Aから点Bまで移動する間、ロボット掃除機1の回転角度が変わる場合、変化した回転角度が基準角度より小さく、点Aと点Bとの間の距離が基準距離より大きいと、ロボット掃除機1は点Aと点Bとを連結する線分ABを基準壁面として認識することができる。
【0107】
このように基準壁面が検出されると、ロボット掃除機1は、基準壁面に合わせてロボット掃除機1が属した掃除領域及び掃除方向を再定義することができる(S817)。例えば、図8において、線分ABに合わせて第2の掃除領域R2を再定義することができる。このとき、ロボット掃除機1は、図9に示したように、第2の掃除領域R2の大きさを一定水準に拡張した後、拡張された領域R2’を第2の掃除領域と再定義することができる。これは、第2の掃除領域R2の再定義によって特定部分が掃除領域から漏れることを防止するためである。
【0108】
一方、外郭走行を実施した結果、複数の基準壁面が検出された場合、ロボット掃除機1は、長さが最も長い基準壁面を選択することができる。そして、選択された基準壁面に合わせて掃除領域を再定義することができる。
【0109】
図15は、図13の仮想壁が設定された掃除領域の内部を掃除する段階であるS830段階をより詳細に示したフローチャートである。
【0110】
ロボット掃除機1は、走行軸に沿って走行しながら掃除を行う(S831)。
【0111】
そして、掃除を行う間に障害物が感知されたかどうかを判断する(S832)。
【0112】
走行軸に対する掃除を行う間に障害物が感知された場合(S832の「はい」)、ロボット掃除機1は、壁面追従技法を参照して走行経路を変更する(S839)。例えば、図11に示したように、壁面追従技法によって障害物を回避して走行することができる。
【0113】
走行軸に対する掃除を行う間に障害物が感知されていない場合、ロボット掃除機1は、走行軸方向に掃除する領域が存在するかどうかを判断することができる(S833)。
【0114】
S833段階の判断の結果、走行軸方向に掃除する領域が存在する場合(S833の「はい」)、ロボット掃除機1は現在の走行方向を維持する(S837)。
【0115】
S833段階の判断の結果、走行軸方向に掃除する領域が存在しない場合(S833の「いいえ」)、すなわち、走行軸方向の領域に対する掃除が完了した場合、ロボット掃除機1は、曲線走行をし、掃除する領域が存在する走行軸に走行方向を切り替えることができる(S834)。このとき、ロボット掃除機1は、曲線走行で走行方向を180度切り替えることができる。
【0116】
一つ以上の実施例において、本明細書に記載されたいずれかの装置、システム、要素又は解釈可能なユニットは、一つ以上のハードウェア装置又はハードウェア処理要素を含む。例えば、一つ以上の実施例において、記載されたいずれかの装置、システム、要素、レトリーバー、プレ又はポスト処理要素、トラッカー、検出器、エンコーダー、デコーダーなどは、一つ以上のメモリ及び/又は処理要素、及びいずれかのハードウェア入力/出力伝送装置をさらに含んだり、又は一つ以上の各処理要素又は装置の操作部/アスペクトを示す。さらに、装置という用語は、物理システムの各要素と同じ意味と見なすべきであるが、単一装置又はエンクロージャー、又は全ての実施例でそれぞれの単一エンクロージャーに具現された全ての記載された要素に限定されず、実施例に応じて、異なるハードウェア要素を通して異なるエンクロージャー及び/又は位置で共に又は独立して具現されるように公開される。
【0117】
上述した各実施例に加えて、各実施例は、プロセッサ又はコンピューターなどの少なくとも一つの処理装置を制御し、上述した実施例のいずれかを実行するために、コンピューターで読み取り可能な媒体などの持続性媒体内/上にコンピューターで読み取り可能なコード/命令を通して実行することができる。媒体は、コンピューターで読み取り可能なコードの格納及び/又は伝送を許容するいずれかの定義された測定可能な具体的な構造に対応することができる。
【0118】
媒体は、例えば、コンピューターで読み取り可能なコード、データファイル、データ構造などとの組み合わせをさらに含むことができる。コンピューターで読み取り可能な媒体の一つ以上の実施例は、ハードディスク、フレキシブルディスク及び磁気テープなどの磁気媒体;CD ROMディスク及びDVDなどの光媒体;光ディスクなどの磁気光学媒体;及び特別にROM(read―only memory)、RAM(random access memory)、フラッシュメモリなどのプログラム命令を格納・遂行するように構成されたハードウェア装置を含む。コンピューターで読み取り可能なコードは、例えば、コンパイラによって生成される機械コード、インタプリタを用いてコンピューターによって実行される高いレベルコードを含むファイルを全て含む。さらに、媒体は、いずれかの定義された測定可能な具体的な分散型ネットワークであって、コンピューターで読み取り可能なコードは、分散方式で格納及び実行される。さらに、一例として、処理要素は、プロセッサ又はコンピュータープロセッサを含むことができ、処理要素は、単一装置内に分散及び/又は包含される。
【0119】
さらに、コンピューターで読み取り可能な媒体は、各例として、プログラム命令を実行する(例えば、プロセッサのように処理する)ASIC(application specific integrated circuit)又はFPGA(Field Programmable Gate Array)の少なくとも一つに具現することができる。
【0120】
本発明の各側面は、異なる実施例を参照して特別に図示及び記載されたが、これら実施例は、説明的な要旨と見なすべきであって、これに限定することはない。各実施例内の特徴又は側面の記載は、一般的に残りの実施例の他の類似する特徴又は側面に使用可能であると見なすべきである。記載された技術が異なる順序で行われる場合及び/又は記載されたシステム、アーキテクチャ、装置又は回路内の構成要素が異なる方式で組み合わせられ/組み合わせられたり、他の構成要素又はそれらの等価物によって置換又は補充される場合、適切な結果が同様に達成される。
【0121】
したがって、いくつかの実施例が図示又は記載されたが、追加的な実施例が同様に使用可能であって、本発明の原理及び精神、請求項及びそれらの等価物で定義された範囲から逸脱しない限り、この技術で熟練した者によってこれら実施例内で変更が可能であることが分かる。
【符号の説明】
【0122】
1 ロボット掃除機
100 入力部
110 撮影部
120 位置測定部
130 特徴マップ生成部
140 障害物感知部
150 経路マップ生成部
160 制御部
170 保存部
R1 第1の掃除領域
R2 第2の掃除領域
R2’ 再定義された第2の掃除領域
X 斜線で表示された部分
Y 逆斜線で表示された部分
【技術分野】
【0001】
本発明は、ロボット掃除機及びその制御方法に関し、効率的な掃除が可能なロボット掃除機及びその制御方法に関する。
【背景技術】
【0002】
ロボット掃除機は、住宅又は事務室などの一定の大きさの掃除区域を自ら走行しながら掃除する機器である。ロボット掃除機は、埃又は異物を吸い込む真空掃除機の構成の他に、ロボット掃除機を走行させる走行装置、障害物を感知する障害物感知センサー、電源を供給するバッテリー、及び装置全般を制御するマイクロプロセッサを含むことができる。
【0003】
上述したように構成されるロボット掃除機は、掃除区域内に設置された各種障害物との距離を判断し、判断された情報を用いて障害物と衝突しないように走行しながら掃除動作を行う。このようなロボット掃除機は、掃除領域全体にわたって掃除を行うために自ら掃除領域を認識し、掃除された領域と掃除されていない領域とを区別して隈なく掃除するように設計される。
【0004】
このようなロボット掃除機の掃除モードは、自動モード及び繰り返しモードを含むことができる。自動モードは、ロボット掃除機が全体の掃除領域内で予め定義された走行経路に沿って移動しながら掃除を行うモードである。繰り返しモードは、自動モードで行われた掃除動作を繰り返すモードである。
【0005】
ところが、このような繰り返しモードの場合、単純に自動モードで行われた掃除動作を繰り返すものであるので、予め定義された走行経路に沿って走行する間にロボット掃除機の位置情報が食い違う場合、既に掃除した領域を再び掃除するようになったり、まだ掃除していない領域を継続して掃除しなくなったりする現象が発生し得る。また、ロボット掃除機の動きを一定時間以上追跡しない場合、ロボット掃除機がどの領域を掃除し、どの領域を掃除しなかったのかを把握しにくい。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の一側面は、掃除効率を向上できるロボット掃除機及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を達成するために、本発明の一実施例に係るロボット掃除機の制御方法は、前記第1の掃除モードに従って、前記ロボット掃除機の位置を基準にして多数の掃除領域を定義すること;及び定義された前記掃除領域別に順次掃除を行うこと;を含むことができる。
【0008】
前記第1の掃除モードは、定義された多数の前記掃除領域のうち各掃除領域内の掃除を順次繰り返す繰り返しモードを含むことができる。
【0009】
定義された前記掃除領域別に順次掃除を行うことは、前記ロボット掃除機が属した掃除領域の外郭に沿って動く外郭走行を実施することによって基準壁面を検出すること;検出された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義すること;及び再定義された前記掃除領域を所定の走行経路に沿って走行しながら掃除を行うこと;を含むことができる。
【0010】
前記基準壁面を検出することは、前記外郭走行中に前記ロボット掃除機が障害物によって回転した回転角度が基準角度より小さく、前記ロボット掃除機が前記回転角度だけ回転した後で走行した距離が基準距離より大きい場合、前記障害物を前記基準壁面として検出することを含むことができる。
【0011】
検出された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義することは、前記外郭走行の結果として検出された複数の基準壁面のうち、長さが最も長い基準壁面を選択すること;及び選択された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義すること;を含むことができる。
【0012】
再定義された前記掃除領域は、前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた領域、又は前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた後、所定基準だけ拡大させた領域であり得る。
【0013】
定義された前記掃除領域別に順次掃除を行う段階後、全体の掃除領域に対する掃除の完了可否を判断すること;及び前記判断の結果、前記全体の掃除領域に対する掃除が完了した場合、定義された前記掃除領域で掃除を開始する方向を変え、定義された前記掃除領域別に順次掃除を行うことを繰り返すことをさらに含むことができる。
【0014】
上述した課題を達成するために、本発明の一実施例に係るロボット掃除機は、第1の掃除モードに従って、ロボット掃除機の位置を基準にして多数の掃除領域を定義し、定義された前記掃除領域別に順次掃除を行う制御部を含むことができる。
【0015】
前記第1の掃除モードは、定義された多数の前記掃除領域のうち各掃除領域内の掃除を順次繰り返す繰り返しモードを含むことができる。
【0016】
前記制御部は、前記ロボット掃除機が属した掃除領域の外郭に沿って動く外郭走行を実施することによって基準壁面を検出し、検出された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義した後、再定義された前記掃除領域を所定の走行経路に沿って走行しながら掃除を行うように制御することができる。
【0017】
前記制御部は、前記外郭走行中に前記ロボット掃除機が障害物によって回転した回転角度が基準角度より小さく、前記ロボット掃除機が前記回転角度だけ回転した後で走行した距離が基準距離より大きい場合、前記障害物を前記基準壁面として検出することができる。
【0018】
前記制御部は、前記外郭走行の結果、複数の基準壁面が検出された場合、長さが最も長い基準壁面を選択し、選択された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義することができる。
【0019】
再定義された前記掃除領域は、前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた領域、又は前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた後、所定基準だけ拡大させた領域であり得る。
【0020】
前記制御部は、前記ロボット掃除機がジグザグ走行経路に沿って前記多数の掃除領域を順次移動するように制御することができる。
【0021】
前記制御部は、定義された前記掃除領域別に順次掃除を行った後、全体の掃除領域に対する掃除の完了可否を判断し、前記判断の結果、前記全体の掃除領域に対する掃除が完了した場合、定義された前記掃除領域で掃除を開始する方向を変え、定義された前記掃除領域別に順次掃除を行うことを繰り返すことができる。
【発明の効果】
【0022】
本発明の一側面によるロボット掃除機及びその制御方法によると、繰り返しモードが開始され、ロボット掃除機の位置を基準にして多数の掃除領域を定義し、掃除領域別に順次掃除を行うとき、基準壁面の検出可否によってロボット掃除機が属した掃除領域を再設定し、再設定された掃除領域内で走行経路に沿って移動しながら掃除を行うので、掃除が1回も行われていない領域や掃除の重複領域を減少させることができる。
【0023】
また、掃除が1回も行われていない領域や掃除の重複領域を減少させることによって、ロボット掃除機の掃除効率を向上させることができる。
【図面の簡単な説明】
【0024】
【図1】本発明の一実施例に係るロボット掃除機の外観を示した斜視図である。
【図2】図1に示したロボット掃除機の底面図である。
【図3】図1に示したロボット掃除機の構成を示したブロック図である。
【図4】天井映像から特徴点を抽出する方法を説明するための図である。
【図5】図1のロボット掃除機で作成された特徴マップを例示した図である。
【図6】掃除領域に対する外郭走行を説明するための図である。
【図7】各掃除領域間の移動順序を例示した図である。
【図8】掃除領域で検出された基準壁面を基準にして掃除領域及び掃除方向を再設定する過程を説明するための図である。
【図9】掃除領域で検出された基準壁面を基準にして掃除領域及び掃除方向を再設定する過程を説明するための図である。
【図10】掃除領域内でのロボット掃除機の走行経路を例示した図である。
【図11】掃除領域内に障害物が存在する場合におけるロボット掃除機の障害物回避方法を説明するための図である。
【図12】本発明の一実施例によるロボット掃除機の動作過程を示したフローチャートである。
【図13】図12のS722段階をより詳細に示したフローチャートである。
【図14】図13のS810段階をより詳細に示したフローチャートである。
【図15】図13のS830段階をより詳細に示したフローチャートである。
【発明を実施するための形態】
【0025】
以下、添付の各図面を参照して本発明の実施例について説明する。図面において同一の図面符号は同一の構成要素を示す。
【0026】
図1は、本発明の一実施例に係るロボット掃除機の外観を示した斜視図で、図2は、図1に示したロボット掃除機の底面図である。
【0027】
ロボット掃除機1は、外観を形成する本体10と、本体10の下部に設置されてロボット掃除機1を移動させる駆動装置20と、ロボット掃除機1が走行する床の埃を掃いたり飛散させたりして掃除するブラシ装置30、40と、を含むことができる。
【0028】
本体10には、駆動装置20及びブラシ装置30、40と共に、障害物を感知できる接触センサー又は近接センサーを設置することができる。例えば、本体10の前方に設置されるバンパー11の内部に設置される光センサーは、前方の障害物を感知することができ、本体10の底に設置される赤外線センサー(又は超音波センサー)は、階段などの障害物を感知することができる。そして、本体10の上部には周辺環境を撮影できるビジョンセンサー13を設置することができる。
【0029】
本体10には、使用者にロボット掃除機1の状態又は動作に関する情報を知らせるディスプレイ12を設けることができる。
【0030】
駆動装置20は、本体10の中央部両側に設置されてロボット掃除機1の移動を調節する一対の駆動車輪21、22と、本体10の前方に回転可能に設置され、ロボット掃除機1が移動する床の状態によって回転する角度が変化するキャスター車輪23と、を含んで構成することができる。キャスター車輪23は、ロボット掃除機1の姿勢安定及び落下防止などに活用され、ローラーやキャスター形状の車輪で構成することができる。
【0031】
駆動車輪21、22は、前方又は後方に駆動されてロボット掃除機1を移動させる。また、駆動車輪21、22は、前方又は後方に駆動されてロボット掃除機1を前方又は後方に移動させることができる。一方、左側の駆動車輪22を後方に移動させる間、右側の駆動車輪21を前方に駆動させることによって、ロボット掃除機1を前方を基準にして左側方向に回転させることができ、これと反対に駆動させることによって、ロボット掃除機1を前方を基準にして右側方向に回転させることができる。
【0032】
ブラシ装置30、40は、埃の吸入効率を向上させるために本体10の底面に形成された吸入口14と隣接するように設けられ、床の埃を掃いたり飛散させたりするメインブラシ装置30と、本体10の前方両側面の下部に設置され、ロボット掃除機1が走行する床の埃を吸入口14側に掃くサイドブラシ装置40と、を含むことができる。
【0033】
メインブラシ装置30は、吸入口14に対応する長さで吸入口14に隣接するように水平方向に配置され、床に付着された埃を掃いたり飛散させたりするように床に対してローラー式で回転するドラム形状の回転ブラシ(以下、「メインブラシ」という)と、メインブラシ31を回転させるためのメインブラシモーター33と、を含むことができる。
【0034】
また、ロボット掃除機1は、埃などの異物を吸い込んで保管する集塵装置を含むことができる。
【0035】
図3は、図1に示したロボット掃除機の構成を示したブロック図である。
【0036】
図3に示したように、ロボット掃除機1は、入力部100、撮影部110、位置測定部120、特徴マップ生成部130、障害物感知部140、経路マップ生成部150、制御部160、保存部170及び掃除部180を含むことができる。
【0037】
入力部100は、使用者から掃除モードに対する命令を受けることができる。掃除モードは、自動モード及び繰り返しモードを含むことができる。
【0038】
自動モードは、全体の掃除領域に対する掃除経路を設定し、設定された掃除経路に沿って移動しながら掃除を行うことを意味する。ここで、「全体の掃除領域」という用語は、ロボット掃除機1が属した実際の空間を意味し、掃除が行われ得ない障害物を含む空間全体を意味する。自動モードに従って全体の掃除領域に対する掃除を行うとき、ロボット掃除機1は、走行方向を変えるために停止動作を伴うこともある。
【0039】
繰り返しモードは、全体の掃除領域のうちロボット掃除機1の位置を基準にして多数の掃除領域を定義し、定義された多数の掃除領域別に順次掃除を行うことを意味する。ここで、掃除領域は、ロボット掃除機1によって定義される仮想空間を意味することができる。掃除領域に対する情報は、予め指定してロボット掃除機1に保存することができる。例えば、掃除領域は、ロボットの中心を基準にして横dと縦dとの長さが同じ正四角形に設定することができる。しかし、これは一例に過ぎず、掃除領域の大きさを多様に変更可能であることは当然である。ロボット掃除機1は、現在の位置を基準にして多数の掃除領域を定義した後、所定の走行経路によって各掃除領域を移動しながら、各掃除領域に対して掃除を行うことができる。このとき、各掃除領域を掃除するための走行経路としてはジグザグ走行経路を例に挙げることができ、このような走行経路は予めロボット掃除機1に保存することができる。
【0040】
撮影部110は、特徴点を抽出するのに適した周辺映像を撮影することができる。周辺映像は天井、壁面、床を含むことができ、このうち、天井は、映像変化の可能性が少ないので周辺映像として最も適している。以下、周辺映像として天井を使用する場合を例に挙げて説明する。
【0041】
撮影部110は、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)又はその他の映像取得手段として具現することができる。撮影部110は、取得した映像のアナログ信号をデジタル信号に変換するADC(Analog―to―Digital Converter)として具現することができる。
【0042】
位置測定部120は、エンコーダー、ジャイロセンサー、加速度センサーなどの相対位置認識モジュールとして具現され、ロボット掃除機1の位置を測定することができる。エンコーダーは、駆動車輪21、22と連結されて回転速度を感知することができる。エンコーダーで感知された回転速度を積分すると、ロボット掃除機1の位置(又は移動距離)及び方向角を知ることができる。ジャイロセンサーは、回転慣性を用いてロボット掃除機1の方向角を測定することができる。加速度センサーは、ロボット掃除機1の運動加速度を二重積分し、ロボット掃除機1の位置を測定することができる。
【0043】
特徴マップ生成部130は、撮影部110から取得された天井映像から複数の特徴点を抽出し、特徴マップを生成することができる。特徴マップは、周辺環境のうち一定に測定される特徴点からなり得る。ここで、特徴点は、特定位置固有の特徴が示され得る点を意味する。特徴点の抽出については、図4を参照してより具体的に説明する。
【0044】
図4は、天井映像から特徴点を抽出する方法を説明するための図である。
【0045】
図4を参照すると、天井映像200は、シャンデリア210、蛍光灯220、コーナー部分230などのように、他の位置と区別させる細部映像を含むことができる。このような細部映像に各特徴点を表示した後、ロボット掃除機1が移動しながら撮影した映像から予め表示された各特徴点と同じ特徴点を発見すると、ロボット掃除機1のポーズ(位置及び方向角)を把握することができる。
【0046】
図5は、ロボット掃除機1で作成された特徴マップを例示した図である。
【0047】
特徴マップ300には多様な形態の特徴点が含まれ、地域的に隣接した各特徴点は互いに連結される。ロボット掃除機1が撮影した映像350内に予め定義された各特徴点の組み合わせを発見すると、ロボット掃除機1の位置及び方向角を知ることができる。一方、上述した特徴点を抽出するアルゴリズムとしては、SIFT(Scale Invariant Feature Transform)、記述子(Descriptor)、ハリスコーナー検出器(Harris Corner Detector)などを例に挙げることができる。特徴マップを作成するためには、映像撮影のみならず、RFID(Radio Frequency Identification)、構造光(structure light)を用いた距離計(Range Finder)などのSLAM技法を使用することもできる。ここで、SLAMは、ロボット掃除機1の位置認識とマップ生成とを同時に行うアルゴリズムである。
【0048】
再び図3を参照すると、特徴マップ生成部130は、天井映像から得た特徴点と位置測定部120によって測定される位置とを対応させることによって特徴マップを完成する。特徴マップが完成した後、撮影された映像から得た特徴点と特徴マップ間の比較を通してロボット掃除機1の位置及び方向角を把握することができる。
【0049】
保存部170は、特徴マップ生成部130で生成した特徴マップを保存することができる。その他にも、保存部170は、ロボット掃除機1の掃除モード、例えば、自動モードと繰り返しモードとに対する情報を保存することができ、各掃除モードに従ってロボット掃除機1の動作を制御するためのアルゴリズムやデータを保存することができる。また、保存部170は、掃除情報マップを保存することもできる。掃除情報マップは、掃除完了情報が記録されたマップであって、ロボット掃除機1が所定の走行経路に沿って移動しながら掃除をする間に生成することができる。
【0050】
このような保存部170は、ROM、RAM、PROM、EPROM、フラッシュメモリなどの非揮発性メモリ素子、又はRAMなどの揮発性メモリ素子、又はハードディスク、光ディスクなどの保存媒体として具現することができる。しかし、上述した例に限定されることはなく、保存部170が当業界に知られている任意の他の形態として具現可能であることは当然である。
【0051】
障害物感知部140は、ロボット掃除機1の移動と共にロボット掃除機1に近接する障害物を感知することができる。一例として、障害物感知部140は、超音波センサーを含むことができる。障害物感知部140が超音波センサーを含む場合、超音波センサーは、ロボット掃除機1が現在走行している方向に超音波を発信し、反射される超音波を受信して障害物を感知することができる。他の例として、障害物感知部140は、光センサーを含むことができる。このとき、光センサーは、例えば、赤外線発光素子及び赤外線受光素子を含むことができる。障害物感知部140が光センサーを含む場合、赤外線発光素子は赤外線を出射し、赤外線受光素子が反射された赤外線を受信して障害物を感知することができる。
【0052】
経路マップ生成部150は、ロボット掃除機1が壁(又は障害物)に沿って移動しながら確保した位置データを保存し、保存された位置データに基づいて掃除経路マップを生成することができる。ロボット掃除機1は、掃除経路マップを参照して、全体の掃除領域内で特定の走行経路に沿って動きながら掃除を行うことができる。
【0053】
制御部160は、使用者が入力部100を通して掃除モードを選択すると、選択された掃除モードに従ってロボット掃除機1を走行させながら掃除を行う。上述したように、掃除モードは自動モード及び繰り返しモードを含むことができる。
【0054】
使用者が自動モードを選択した場合、制御部160は、ロボット掃除機1が全体の掃除領域内で予め指定された走行経路に沿って移動しながら掃除できるようにロボット掃除機1の動作を制御する。予め指定された走行経路としては、ジグザグ走行経路を例に挙げることができる。ジグザグ走行経路は、公知の走行経路であるので、これについての詳細な説明は省略する。
【0055】
使用者が繰り返しモードを全て選択した場合、制御部160は、繰り返しモードに従う掃除が行われるようにロボット掃除機1の動作を制御する。繰り返しモードが開始されると、制御部160は、現在のロボット掃除機1の位置を基準にして多数の掃除領域を定義し、定義された多数の掃除領域のうちロボット掃除機1が属した掃除領域の外郭に沿って外郭走行を実施する。そして、外郭走行を実施した結果、基準壁面が検出された場合、制御部160は、検出された基準壁面に基づいて掃除領域及び掃除方向を再定義し、再定義された掃除領域内で予め指定された走行経路に沿って移動しながら掃除を行うことができる。
【0056】
図6は、ロボット掃除機1によって定義された掃除領域に対する外郭走行を説明するための図である。
【0057】
繰り返しモードが開始されると、制御部160は、現在のロボット掃除機1の位置を基準にして全体の掃除領域に対して多数の掃除領域を予め定義する。ここで、掃除領域は、ロボット掃除機1の中心を基準にして設定される仮想の空間をいう。掃除領域は、例えば、横と縦との長さdが同じ正四角形に定義することができる。掃除領域は、ロボット掃除機1の中心P0を基準にして形成されるので、掃除領域の中心はロボット掃除機1の中心P0と一致する。以下の説明では、繰り返しモードを行うとき、ロボット掃除機1によって定義される多数の掃除領域のうちロボット掃除機1が属している掃除領域を「第1の掃除領域」と称する。
【0058】
図6に示したように、第1の掃除領域R1が設定されると、制御部160は、ロボット掃除機1が第1の掃除領域R1の外郭に沿って走行するように制御する。以下の説明では、ロボット掃除機1が第1の掃除領域R1の外郭に沿って走行することを「外郭走行」と称する。例えば、制御部160は、ロボット掃除機1が初期位置「P0」から始めてP1、P2、P3、P4、P5、P1の順に外郭走行を行うように制御することができる。
【0059】
このような外郭走行が完了すると、制御部160は、ロボット掃除機1が第1の掃除領域R1内で移動しながら掃除を行うようにロボット掃除機1を制御することができる。
【0060】
第1の掃除領域R1に対する掃除が完了すると、制御部160は、ロボット掃除機1を次の位置の第2の掃除領域に移動させる。
【0061】
このように、ロボット掃除機1を第1の掃除領域R1から次の位置の第2の掃除領域R2に移動させるとき、制御部160は、図7に例示したように、ロボット掃除機1がジグザグパターンによって移動するように制御することができる。また、制御部160は、第2の掃除領域R2の外郭のうち第1の掃除領域R1に対する掃除が完了した地点(以下、「掃除完了地点」と称する)から最も近い地点にロボット掃除機1が移動するように制御することができる。具体的な説明のために、図7を参照すると、第1の掃除領域R1に対する掃除完了地点がP4である場合、第2の掃除領域R2の外郭のうち、第1の掃除領域に対する掃除完了地点である「P4」と最も近い地点はP1である。したがって、制御部160は、ロボット掃除機を第2の掃除領域R2のP1地点に移動させることができる。
【0062】
このように、ロボット掃除機1の位置を第2の掃除領域R2のP1地点に移動させた後、制御部160は、ロボット掃除機1がP1地点から矢印方向に第2の掃除領域R2の外郭に沿って外郭走行を行うように制御する。このとき、図7に示したように、第2の掃除領域R2の外郭と壁面とが一致する場合、ロボット掃除機1は、第2の掃除領域R2の外郭に沿って外郭走行を実施するようになる。
【0063】
しかし、図8に示したように、第2の掃除領域R2の外郭と壁面とが一致しない状況が発生し得る。この場合、ロボット掃除機1は、第2の掃除領域R2の外郭の代わりに壁面に沿って移動するようになる。すなわち、第2の掃除領域R2の外郭に沿って走行する途中で壁面に接触する場合、ロボット掃除機1は、第2の掃除領域R2の外郭の代わりに、壁面に沿って移動するようになる。このように、外郭走行中に障害物、例えば、壁面に接触すると、ロボット掃除機1は、第2の掃除領域R2の境界と壁面とがなす角度θだけ回転した後、壁面に沿って移動するようになる。制御部160は、壁面に沿って移動する間にロボット掃除機1が回転する場合、この回転角度、及び回転した後で走行した距離などに対するデータを保存部170に保存することができる。
【0064】
第2の掃除領域R2に対する外郭走行を完了した後、制御部160は、保存部170に保存されたデータを分析し、基準壁面を検出することができる。具体的に、壁面に沿って移動する間にロボット掃除機1が回転する場合、ロボット掃除機1の回転角度が基準角度より小さく、回転後に壁面に沿って移動した距離が基準距離より大きい場合、制御部160は、該当の壁面を「基準壁面」と認識することができる。このように基準角度と基準距離とを定める理由は、基準壁面として適切でない壁面を排除するためである。具体的に、壁面に沿って移動する間にロボット掃除機1が回転した角度が基準角度以上であるか、回転した後で移動した距離が基準距離以下であると、これは、ロボット掃除機1がデコボコした壁面に沿って移動したことを意味し得る。ところが、デコボコした壁面は基準壁面として適切でないので、このような場合を排除するためには基準角度と基準距離とを設定する必要がある。
【0065】
このように第2の掃除領域R2に対する外郭走行を行った結果、基準壁面が検出された場合、制御部160は、基準壁面に合わせて第2の掃除領域R2及び掃除方向を再定義することができる。具体的に、図8で点Aと点Bとを連結する線分を基準壁面とした場合、制御部160によって再定義された第2の掃除領域R2’は、最初の第2の掃除領域R2をロボット掃除機1が回転した角度θだけ回転させた領域であり得る。このように第2の掃除領域R2を再定義することによって、ロボット掃除機1の掃除方向も以前の第1の掃除領域R1での掃除方向と異なるようになる。
【0066】
第2の掃除領域を再定義すると、ロボット掃除機1が次に移動する掃除領域である第3の掃除領域も、再定義された第2の掃除領域R2’の掃除方向に沿うようになる。図8の場合、第3の掃除領域R3は、再定義された第2の掃除領域R2’と並んで位置することが分かる。
【0067】
一方、図8に示したように、第2の掃除領域を再定義すると、第2の掃除領域を再定義しない場合に比べて、斜線で表示された部分Xに対する掃除を行えるようになる。しかし、再定義された第2の掃除領域R2’は、最初に定義された第2の掃除領域R2に比べてθだけ回転したので、逆斜線で表示された部分Yに対しては掃除が行われなくなる。このように掃除が行われない領域が発生することを防止するために、制御部160は、最初に定義された第2の掃除領域R2をθだけ回転させた後、回転した領域の大きさを一定の水準に拡張した後、拡張された領域を第2の掃除領域と再定義することができる。例えば、図9に示したように、最初の第2の掃除領域R2をθだけ回転させた正四角形に外接する円を描き、この円に外接する正四角形のうち回転した正四角形と相似形の関係にある正四角形R2’を第2の掃除領域と再定義することができる。この場合、再定義された第2の掃除領域R2’は、逆斜線で表示された部分Yを含むようになる。
【0068】
上述した方法によって掃除領域が再定義されると、ロボット掃除機1は、再定義された掃除領域の境界に沿って仮想壁を設定し、仮想壁が設定された掃除領域の内部を予め指定された走行経路に沿って移動しながら掃除を行う。例えば、ロボット掃除機1は、ジグザグ走行経路に沿って移動しながら掃除領域に対する掃除を行うことができる。これについては、図10を参照してより具体的に説明する。
【0069】
図10は、掃除領域(又は再定義された掃除領域)内でのロボット掃除機1の走行経路を例示した図である。
【0070】
図10に示したように、予め定義された掃除領域R1は、走行軸及びジグザグ軸からなる平面上に存在すると見ることができる。このとき、走行軸は、ロボット掃除機1が走行する方向に対して水平な軸を意味する。走行軸における正の方向はロボット掃除機1の前進方向を意味し、負の方向はロボット掃除機1の後進方向を意味する。そして、ジグザグ軸は、走行軸と直交する軸、すなわち、ロボット掃除機1が走行軸で方向転換のために回転する軸を意味する。ジグザグ軸における正の方向はロボット掃除機1の左側方向を意味し、負の方向はロボット掃除機1の右側方向を意味する。
【0071】
掃除領域R1が定義された後、ロボット掃除機1は、走行軸に沿って前進しながら掃除を行う。走行軸に対する掃除が完了し、方向転換が必要な場合、ロボット掃除機1は、曲線走行で走行方向を180度切り替える。走行方向を切り替えた後、ジグザグ軸に対する掃除が完了し、方向転換が必要な場合、ロボット掃除機1は、曲線走行で走行方向を再び180度切り替える。その後、ロボット掃除機1は、走行軸に沿って移動しながら掃除を行う。このように曲線走行で走行方向を切り替えると、方向転換のための停止動作の回数を減少できるので、その分だけ掃除時間を短縮させることができる。具体的に、曲線走行でない場合、ロボット掃除機1は、「走行軸に沿って移動→停止→ジグザグ軸に走行方向転換→ジグザグ軸に沿って移動→停止→走行軸に走行方向転換→走行軸に沿って走行」という動作を行うようになる。その一方、曲線走行の場合、「走行軸に沿って移動→曲線走行で走行方向を180度切り替え」という動作のみを行えばよいので、曲線走行でない場合に比べて、その分だけ掃除時間を短縮させることができる。
【0072】
ところが、曲線走行で方向を切り替える途中で障害物を感知すると、ロボット掃除機1は、図11に示したように、障害物を壁面追従技法で推定して走行することができる。
【0073】
図12は、本発明の一実施例によるロボット掃除機の動作過程を示したフローチャートである。
【0074】
まず、ロボット掃除機1は、掃除モード中に繰り返しモードが選択されたかどうかを判断する(S700)。
【0075】
S700段階の判断の結果、選択された掃除モードが繰り返しモードでない場合、すなわち、自動モードが選択された場合(S700の「いいえ」)、ロボット掃除機1は、全体の掃除領域内で予め指定された走行経路に沿って移動しながら掃除を行うことができる(S710)。このとき、予め指定された走行経路としては、ジグザグ走行経路を例に挙げることができる。このように、ロボット掃除機1は、予め指定された走行経路に沿って走行しながら全体の掃除領域を掃除することもできるが、他のパターンの走行経路を生成し、生成された走行経路に沿って全体の掃除領域を掃除することもできる。
【0076】
その後、ロボット掃除機1は、全体の掃除領域に対する掃除が完了したかどうかを判断することができる(S712)。
【0077】
S712段階の判断の結果、全体の掃除領域に対する掃除が完了していない場合(S712の「いいえ」)、ロボット掃除機1は、全体の掃除領域に対する掃除を継続して行うことができる(S710)。
【0078】
S712段階の判断の結果、全体の掃除領域に対する掃除が完了した場合(S712の「はい」)、ロボット掃除機1は、自動モードによる掃除が完了したことを使用者に知らせることができる(S714)。このとき、掃除完了は、音又はテキストで表示して知らせることができる。
【0079】
以後、ロボット掃除機1は、充電器(図示せず)に復帰して充電を行うことができる。
【0080】
S700段階の判断の結果、繰り返しモードが選択された場合、ロボット掃除機1は、ロボット掃除機1の位置を基準にして多数の掃除領域を定義する(S720)。そして、定義された掃除領域別に掃除を行う(S722)。定義された掃除領域別に掃除を行うS722段階については、図13を参照して具体的に説明する。
【0081】
以後、ロボット掃除機1は、全体の掃除領域に対する掃除が完了したかどうかを判断することができる(S724)。
【0082】
S724段階の判断の結果、全体の掃除領域に対する掃除が完了していない場合、ロボット掃除機1は、予め定義された各掃除領域に対する掃除を継続して行うことができる(S722)。
【0083】
S724段階の判断の結果、全体の掃除領域に対する掃除が完了した場合、ロボット掃除機1は、以前に定義された各掃除領域を掃除する過程で生成した掃除情報マップをリセットする(726)。このとき、各掃除領域に対する掃除完了情報のみがリセットされ、以前に定義された各掃除領域に対する情報は維持され得る。
【0084】
掃除情報マップをリセットした後、ロボット掃除機1は、掃除を開始する方向を変え、掃除が完了した位置に該当する掃除領域から掃除を開始する。例えば、図10を参照して説明すると、S722段階でロボット掃除機1が属した掃除領域から掃除を開始するとき、X軸の正の方向から掃除を開始した場合、掃除が完了した位置に該当する掃除領域から掃除を開始するときは、Y軸の正の方向から掃除を開始することができる。このように、掃除領域別に行われる掃除過程を繰り返すとき、掃除方向を変えることによって掃除の重複領域を減少させ、掃除が1回も行われていない領域を減少させることができる。
【0085】
図13は、図12の掃除領域別に掃除を行うS722段階をより詳細に示したフローチャートである。
【0086】
まず、ロボット掃除機1は、ロボット掃除機1が属した掃除領域の外郭に沿って外郭走行を実施する(S810)。S810段階については、図14を参照してより詳細に説明する。
【0087】
そして、ロボット掃除機1は、外郭走行を実施した掃除領域の境界に沿って仮想壁を設定する(S820)。
【0088】
仮想壁が設定されると、ロボット掃除機1は、仮想壁が設定された掃除領域に対して掃除を行う(S830)。S830段階については、図15を参照してより詳細に説明する。
【0089】
以後、ロボット掃除機1は、該当の掃除領域に対する掃除が完了したかどうかを判断することができる(S840)。
【0090】
S840段階の判断の結果、該当の掃除領域に対する掃除が完了していない場合(S840の「いいえ」)、ロボット掃除機1は、該当の掃除領域に対する掃除を継続して行うことができる(S830)。
【0091】
S840段階の判断の結果、掃除領域に対する掃除が完了した場合(S840の「はい」)、ロボット掃除機1は、次に掃除する掃除領域が残っているかどうかを判断することができる(S850)。
【0092】
S850段階の判断の結果、次に掃除する領域が残っている場合(S850の「はい」)、ロボット掃除機1は、次に掃除する掃除領域を選択することができる(S860)。
【0093】
次に掃除する掃除領域を選択した後、ロボット掃除機1は、選択された掃除領域に移動可能であるかを判断することができる(S870)。すなわち、選択された掃除領域に移動する場合において、移動経路上に障害物が存在するか、又はロボット掃除機1の現在の位置が障害物で遮られて移動不可能な状態であるか、などを判別することができる。
【0094】
移動可否を判断した結果(S870)、選択された掃除領域に移動することが可能である場合(S870の「はい」)、ロボット掃除機1は、選択された掃除領域に移動する(S895)。このとき、選択された掃除領域に到達する前に障害物に接触する場合、ロボット掃除機1は、ロボット掃除機1の中心から目的地点までを一つの線分と見なし、障害物を回避しながら走行する。そして、ロボット掃除機1のヘディングアングルが目的地点に向かうようになると、再び走行をし、選択された掃除領域まで移動することができる。選択された掃除領域まで移動した後は、該当の掃除領域に対する外郭走行を実施する段階(S810)、及び外郭走行を実施した掃除領域の境界に沿って仮想壁を設定する段階(S820)などを繰り返すことができる。
【0095】
移動可否を判断した結果(S870)、選択された掃除領域に移動することが不可能である場合(S870の「いいえ」)、ロボット掃除機1は、脱出ルーチンを行うことができる(S880)。脱出ルーチンは、ロボット掃除機1の周辺が障害物で遮られているか、選択された掃除領域の周辺が障害物で遮られており、ロボット掃除機1が進入不可能な場合に実行することができる。
【0096】
このように脱出ルーチンを行った後、ロボット掃除機1は、脱出の成功可否を判断することができる(S890)。脱出の成功可否を判断した結果、脱出に成功した場合(S890の「はい」)、ロボット掃除機1は、選択された掃除領域まで移動する(S895)。選択された掃除領域まで移動した後は、該当の掃除領域に対する外郭走行を実施する段階(S810)、及び外郭走行を実施した掃除領域の境界に沿って仮想壁を設定する段階(S820)などを繰り返すことができる。
【0097】
脱出ルーチンを実行したにもかかわらず脱出に失敗した場合(S890の「いいえ」)、ロボット掃除機1は、これ以上掃除を行えないと判断し、掃除動作を終了することができる。
【0098】
図14は、図13の掃除領域の外郭に沿って外郭走行を実施する段階であるS810段階をより詳細に示したフローチャートである。
【0099】
ロボット掃除機1は、予め定義された掃除領域の境界に沿って外郭走行を開始する(S811)。例えば、図8に示したように、矢印方向に外郭走行を実施することができる。
【0100】
以後、ロボット掃除機1は、外郭走行を実施する途中で障害物に接触したかどうかを判断することができる(S812)。
【0101】
S812段階の判断の結果、障害物に接触していない場合(S812の「いいえ」)、ロボット掃除機1は、予め定義された掃除領域の外郭に沿って外郭走行を継続する(S816)。
【0102】
S812段階の判断の結果、障害物に接触した場合(S812の「はい」)、ロボット掃除機1は、障害物に沿って移動するようになる。このように、障害物に沿って移動する間にロボット掃除機1が回転する場合、ロボット掃除機1は、ロボット掃除機1の回転角度が基準角度より小さいかどうかを判断することができる(S813)。基準角度に対する情報は、予め保存部170に保存することができる。
【0103】
回転角度の大きさを判断した結果(S813)、ロボット掃除機1の回転角度が基準角度以上であると(S813の「いいえ」)、ロボット掃除機1は、接触した障害物に沿って外郭走行を継続する(S818)。
【0104】
回転角度の大きさを判断した結果(S813)、ロボット掃除機1の回転角度が基準角度より小さい場合(S813の「はい」)、回転後のロボット掃除機1の走行距離が基準距離より大きいかどうかを判断することができる(S814)。基準距離に対する情報は、予め保存部170に保存することができる。
【0105】
ロボット掃除機1の走行距離が基準距離以下であると、ロボット掃除機1は、接触した障害物に沿って外郭走行を継続する(S818)。
【0106】
ロボット掃除機1の走行距離が基準距離より大きいと(S814の「はい」)、ロボット掃除機1は、該当の障害物を基準壁面として認識することができる(S815)。例えば、図8において、ロボット掃除機1が点Aから点Bまで移動する間、ロボット掃除機1の回転角度が変わる場合、変化した回転角度が基準角度より小さく、点Aと点Bとの間の距離が基準距離より大きいと、ロボット掃除機1は点Aと点Bとを連結する線分ABを基準壁面として認識することができる。
【0107】
このように基準壁面が検出されると、ロボット掃除機1は、基準壁面に合わせてロボット掃除機1が属した掃除領域及び掃除方向を再定義することができる(S817)。例えば、図8において、線分ABに合わせて第2の掃除領域R2を再定義することができる。このとき、ロボット掃除機1は、図9に示したように、第2の掃除領域R2の大きさを一定水準に拡張した後、拡張された領域R2’を第2の掃除領域と再定義することができる。これは、第2の掃除領域R2の再定義によって特定部分が掃除領域から漏れることを防止するためである。
【0108】
一方、外郭走行を実施した結果、複数の基準壁面が検出された場合、ロボット掃除機1は、長さが最も長い基準壁面を選択することができる。そして、選択された基準壁面に合わせて掃除領域を再定義することができる。
【0109】
図15は、図13の仮想壁が設定された掃除領域の内部を掃除する段階であるS830段階をより詳細に示したフローチャートである。
【0110】
ロボット掃除機1は、走行軸に沿って走行しながら掃除を行う(S831)。
【0111】
そして、掃除を行う間に障害物が感知されたかどうかを判断する(S832)。
【0112】
走行軸に対する掃除を行う間に障害物が感知された場合(S832の「はい」)、ロボット掃除機1は、壁面追従技法を参照して走行経路を変更する(S839)。例えば、図11に示したように、壁面追従技法によって障害物を回避して走行することができる。
【0113】
走行軸に対する掃除を行う間に障害物が感知されていない場合、ロボット掃除機1は、走行軸方向に掃除する領域が存在するかどうかを判断することができる(S833)。
【0114】
S833段階の判断の結果、走行軸方向に掃除する領域が存在する場合(S833の「はい」)、ロボット掃除機1は現在の走行方向を維持する(S837)。
【0115】
S833段階の判断の結果、走行軸方向に掃除する領域が存在しない場合(S833の「いいえ」)、すなわち、走行軸方向の領域に対する掃除が完了した場合、ロボット掃除機1は、曲線走行をし、掃除する領域が存在する走行軸に走行方向を切り替えることができる(S834)。このとき、ロボット掃除機1は、曲線走行で走行方向を180度切り替えることができる。
【0116】
一つ以上の実施例において、本明細書に記載されたいずれかの装置、システム、要素又は解釈可能なユニットは、一つ以上のハードウェア装置又はハードウェア処理要素を含む。例えば、一つ以上の実施例において、記載されたいずれかの装置、システム、要素、レトリーバー、プレ又はポスト処理要素、トラッカー、検出器、エンコーダー、デコーダーなどは、一つ以上のメモリ及び/又は処理要素、及びいずれかのハードウェア入力/出力伝送装置をさらに含んだり、又は一つ以上の各処理要素又は装置の操作部/アスペクトを示す。さらに、装置という用語は、物理システムの各要素と同じ意味と見なすべきであるが、単一装置又はエンクロージャー、又は全ての実施例でそれぞれの単一エンクロージャーに具現された全ての記載された要素に限定されず、実施例に応じて、異なるハードウェア要素を通して異なるエンクロージャー及び/又は位置で共に又は独立して具現されるように公開される。
【0117】
上述した各実施例に加えて、各実施例は、プロセッサ又はコンピューターなどの少なくとも一つの処理装置を制御し、上述した実施例のいずれかを実行するために、コンピューターで読み取り可能な媒体などの持続性媒体内/上にコンピューターで読み取り可能なコード/命令を通して実行することができる。媒体は、コンピューターで読み取り可能なコードの格納及び/又は伝送を許容するいずれかの定義された測定可能な具体的な構造に対応することができる。
【0118】
媒体は、例えば、コンピューターで読み取り可能なコード、データファイル、データ構造などとの組み合わせをさらに含むことができる。コンピューターで読み取り可能な媒体の一つ以上の実施例は、ハードディスク、フレキシブルディスク及び磁気テープなどの磁気媒体;CD ROMディスク及びDVDなどの光媒体;光ディスクなどの磁気光学媒体;及び特別にROM(read―only memory)、RAM(random access memory)、フラッシュメモリなどのプログラム命令を格納・遂行するように構成されたハードウェア装置を含む。コンピューターで読み取り可能なコードは、例えば、コンパイラによって生成される機械コード、インタプリタを用いてコンピューターによって実行される高いレベルコードを含むファイルを全て含む。さらに、媒体は、いずれかの定義された測定可能な具体的な分散型ネットワークであって、コンピューターで読み取り可能なコードは、分散方式で格納及び実行される。さらに、一例として、処理要素は、プロセッサ又はコンピュータープロセッサを含むことができ、処理要素は、単一装置内に分散及び/又は包含される。
【0119】
さらに、コンピューターで読み取り可能な媒体は、各例として、プログラム命令を実行する(例えば、プロセッサのように処理する)ASIC(application specific integrated circuit)又はFPGA(Field Programmable Gate Array)の少なくとも一つに具現することができる。
【0120】
本発明の各側面は、異なる実施例を参照して特別に図示及び記載されたが、これら実施例は、説明的な要旨と見なすべきであって、これに限定することはない。各実施例内の特徴又は側面の記載は、一般的に残りの実施例の他の類似する特徴又は側面に使用可能であると見なすべきである。記載された技術が異なる順序で行われる場合及び/又は記載されたシステム、アーキテクチャ、装置又は回路内の構成要素が異なる方式で組み合わせられ/組み合わせられたり、他の構成要素又はそれらの等価物によって置換又は補充される場合、適切な結果が同様に達成される。
【0121】
したがって、いくつかの実施例が図示又は記載されたが、追加的な実施例が同様に使用可能であって、本発明の原理及び精神、請求項及びそれらの等価物で定義された範囲から逸脱しない限り、この技術で熟練した者によってこれら実施例内で変更が可能であることが分かる。
【符号の説明】
【0122】
1 ロボット掃除機
100 入力部
110 撮影部
120 位置測定部
130 特徴マップ生成部
140 障害物感知部
150 経路マップ生成部
160 制御部
170 保存部
R1 第1の掃除領域
R2 第2の掃除領域
R2’ 再定義された第2の掃除領域
X 斜線で表示された部分
Y 逆斜線で表示された部分
【特許請求の範囲】
【請求項1】
第1の掃除モードに従って、ロボット掃除機の位置を基準にして多数の掃除領域を定義すること;及び
定義された前記掃除領域別に順次掃除を行うこと;を含む、ロボット掃除機の制御方法。
【請求項2】
前記第1の掃除モードは、定義された多数の前記掃除領域のうち各掃除領域内の掃除を順次繰り返す繰り返しモードを含む、請求項1に記載のロボット掃除機の制御方法。
【請求項3】
定義された前記掃除領域別に順次掃除を行うことは、
前記ロボット掃除機が属した掃除領域の外郭に沿って動く外郭走行を実施することによって基準壁面を検出すること;
検出された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義すること;及び
再定義された前記掃除領域を所定走行経路に沿って走行しながら掃除を行うこと;を含む、請求項1に記載のロボット掃除機の制御方法。
【請求項4】
前記基準壁面を検出することは、
前記外郭走行中に前記ロボット掃除機が障害物によって回転した回転角度が基準角度より小さく、前記ロボット掃除機が前記回転角度だけ回転した後で走行した距離が基準距離より大きい場合、前記障害物を前記基準壁面として検出することを含む、請求項3に記載のロボット掃除機の制御方法。
【請求項5】
検出された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義することは、
前記外郭走行の結果として検出された複数の基準壁面のうち、長さが最も長い基準壁面を選択すること;及び
選択された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義すること;を含む、請求項3に記載のロボット掃除機の制御方法。
【請求項6】
再定義された前記掃除領域は、
前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた領域、又は前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた後、所定基準だけ拡大させた領域である、請求項3に記載のロボット掃除機の制御方法。
【請求項7】
定義された前記掃除領域別に順次掃除を行う段階後、
全体の掃除領域に対する掃除の完了可否を判断すること;及び
前記判断の結果、前記全体の掃除領域に対する掃除が完了した場合、定義された前記掃除領域で掃除を開始する方向を変え、定義された前記掃除領域別に順次掃除を行うことを繰り返すこと;をさらに含む、請求項1に記載のロボット掃除機の制御方法。
【請求項8】
第1の掃除モードに従って、ロボット掃除機の位置を基準にして多数の掃除領域を定義し、定義された前記掃除領域別に順次掃除を行う制御部を含む、ロボット掃除機。
【請求項9】
前記第1の掃除モードは、定義された多数の前記掃除領域のうち各掃除領域内の掃除を順次繰り返す繰り返しモードを含む、請求項8に記載のロボット掃除機。
【請求項10】
前記制御部は、
前記ロボット掃除機が属した掃除領域の外郭に沿って動く外郭走行を実施することによって基準壁面を検出し、検出された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義した後、再定義された前記掃除領域を所定走行経路に沿って走行しながら掃除を行うように制御する、請求項8に記載のロボット掃除機。
【請求項11】
前記制御部は、
前記外郭走行中に前記ロボット掃除機が障害物によって回転した回転角度が基準角度より小さく、前記ロボット掃除機が前記回転角度だけ回転した後で走行した距離が基準距離より大きい場合、前記障害物を前記基準壁面として検出する、請求項10に記載のロボット掃除機。
【請求項12】
前記制御部は、
前記外郭走行の結果、複数の基準壁面が検出された場合、長さが最も長い基準壁面を選択し、選択された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義する、請求項10に記載のロボット掃除機。
【請求項13】
再定義された前記掃除領域は、
前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた領域、又は前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた後、所定基準だけ拡大させた領域である、請求項10に記載のロボット掃除機。
【請求項14】
前記制御部は、前記ロボット掃除機がジグザグ走行経路に沿って前記多数の掃除領域を順次移動するように制御する、請求項8に記載のロボット掃除機。
【請求項15】
前記制御部は、
定義された前記掃除領域別に順次掃除を行った後、
全体の掃除領域に対する掃除の完了可否を判断し、前記判断の結果、前記全体の掃除領域に対する掃除が完了した場合、定義された前記掃除領域で掃除を開始する方向を変え、定義された前記掃除領域別に順次掃除を行うことを繰り返す、請求項8に記載のロボット掃除機。
【請求項1】
第1の掃除モードに従って、ロボット掃除機の位置を基準にして多数の掃除領域を定義すること;及び
定義された前記掃除領域別に順次掃除を行うこと;を含む、ロボット掃除機の制御方法。
【請求項2】
前記第1の掃除モードは、定義された多数の前記掃除領域のうち各掃除領域内の掃除を順次繰り返す繰り返しモードを含む、請求項1に記載のロボット掃除機の制御方法。
【請求項3】
定義された前記掃除領域別に順次掃除を行うことは、
前記ロボット掃除機が属した掃除領域の外郭に沿って動く外郭走行を実施することによって基準壁面を検出すること;
検出された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義すること;及び
再定義された前記掃除領域を所定走行経路に沿って走行しながら掃除を行うこと;を含む、請求項1に記載のロボット掃除機の制御方法。
【請求項4】
前記基準壁面を検出することは、
前記外郭走行中に前記ロボット掃除機が障害物によって回転した回転角度が基準角度より小さく、前記ロボット掃除機が前記回転角度だけ回転した後で走行した距離が基準距離より大きい場合、前記障害物を前記基準壁面として検出することを含む、請求項3に記載のロボット掃除機の制御方法。
【請求項5】
検出された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義することは、
前記外郭走行の結果として検出された複数の基準壁面のうち、長さが最も長い基準壁面を選択すること;及び
選択された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義すること;を含む、請求項3に記載のロボット掃除機の制御方法。
【請求項6】
再定義された前記掃除領域は、
前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた領域、又は前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた後、所定基準だけ拡大させた領域である、請求項3に記載のロボット掃除機の制御方法。
【請求項7】
定義された前記掃除領域別に順次掃除を行う段階後、
全体の掃除領域に対する掃除の完了可否を判断すること;及び
前記判断の結果、前記全体の掃除領域に対する掃除が完了した場合、定義された前記掃除領域で掃除を開始する方向を変え、定義された前記掃除領域別に順次掃除を行うことを繰り返すこと;をさらに含む、請求項1に記載のロボット掃除機の制御方法。
【請求項8】
第1の掃除モードに従って、ロボット掃除機の位置を基準にして多数の掃除領域を定義し、定義された前記掃除領域別に順次掃除を行う制御部を含む、ロボット掃除機。
【請求項9】
前記第1の掃除モードは、定義された多数の前記掃除領域のうち各掃除領域内の掃除を順次繰り返す繰り返しモードを含む、請求項8に記載のロボット掃除機。
【請求項10】
前記制御部は、
前記ロボット掃除機が属した掃除領域の外郭に沿って動く外郭走行を実施することによって基準壁面を検出し、検出された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義した後、再定義された前記掃除領域を所定走行経路に沿って走行しながら掃除を行うように制御する、請求項8に記載のロボット掃除機。
【請求項11】
前記制御部は、
前記外郭走行中に前記ロボット掃除機が障害物によって回転した回転角度が基準角度より小さく、前記ロボット掃除機が前記回転角度だけ回転した後で走行した距離が基準距離より大きい場合、前記障害物を前記基準壁面として検出する、請求項10に記載のロボット掃除機。
【請求項12】
前記制御部は、
前記外郭走行の結果、複数の基準壁面が検出された場合、長さが最も長い基準壁面を選択し、選択された前記基準壁面に合わせて前記ロボット掃除機が属した掃除領域及び掃除方向を再定義する、請求項10に記載のロボット掃除機。
【請求項13】
再定義された前記掃除領域は、
前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた領域、又は前記ロボット掃除機が属した掃除領域を検出された前記基準壁面に合わせて回転させた後、所定基準だけ拡大させた領域である、請求項10に記載のロボット掃除機。
【請求項14】
前記制御部は、前記ロボット掃除機がジグザグ走行経路に沿って前記多数の掃除領域を順次移動するように制御する、請求項8に記載のロボット掃除機。
【請求項15】
前記制御部は、
定義された前記掃除領域別に順次掃除を行った後、
全体の掃除領域に対する掃除の完了可否を判断し、前記判断の結果、前記全体の掃除領域に対する掃除が完了した場合、定義された前記掃除領域で掃除を開始する方向を変え、定義された前記掃除領域別に順次掃除を行うことを繰り返す、請求項8に記載のロボット掃除機。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2013−103135(P2013−103135A)
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願番号】特願2012−249064(P2012−249064)
【出願日】平成24年11月13日(2012.11.13)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung−ro,Yeongtong−gu,Suwon−si,Gyeonggi−do,Republic of Korea
【Fターム(参考)】
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願日】平成24年11月13日(2012.11.13)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung−ro,Yeongtong−gu,Suwon−si,Gyeonggi−do,Republic of Korea
【Fターム(参考)】
[ Back to top ]