ロボット掃除機及びその制御方法
【課題】安価な距離感知センサを用いて全領域を複数のセクタに区分し、各セクタに関する地域地図を作成して掃除を行い、複数のセクタに関する地域地図の位置及び地域地図間の位相関係を利用して全領域に関する全域地図を作成し、これを利用して自己位置を認識することにより、全領域をもれなく掃除することができ、未掃除領域への移動を容易にすることができるロボット掃除機及びその制御方法を提供することを目的とする。
【解決手段】ロボット掃除機は、全領域を少なくとも1つのセクタに区分して掃除を行うロボット掃除機であって、前記セクタで周辺の物体を感知して感知データを出力する少なくとも1つの物体感知ユニット100と、前記感知データを用いて前記セクタに関してそれぞれ地域地図を作成し、前記セクタ間の位置関係に基づいて前記全領域に関する全域地図を作成する制御ユニット200とを含む。
【解決手段】ロボット掃除機は、全領域を少なくとも1つのセクタに区分して掃除を行うロボット掃除機であって、前記セクタで周辺の物体を感知して感知データを出力する少なくとも1つの物体感知ユニット100と、前記感知データを用いて前記セクタに関してそれぞれ地域地図を作成し、前記セクタ間の位置関係に基づいて前記全領域に関する全域地図を作成する制御ユニット200とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、安価な距離感知センサを用いて全域地図を作成し、自己位置を認識するロボット掃除機及びその制御方法に関する。
【背景技術】
【0002】
一般に、ロボットは、産業用に開発されて工場自動化の一部分を担当してきた。近年、ロボットを応用した分野がさらに拡大しており、医療用ロボット、宇宙航空ロボットなどが開発され、一般家庭で使用できる家庭用ロボットも製作されている。
【0003】
家庭用ロボットの代表的な例がロボット掃除機であって、所定の領域を自走しながら周辺の塵埃や異物を吸入して掃除する家電機器の一種である。一般に、このようなロボット掃除機は、充電可能なバッテリを備え、走行中に障害物を避けるための障害物センサを備えることにより、自走しながら掃除を行う。
【0004】
ロボット掃除機が自走しながら全領域を掃除するためには、掃除地図を作成し、作成された掃除地図内で掃除済み領域や掃除すべき領域などの掃除領域を判断しなければならない。ロボット掃除機の領域判断能力は、一般的にロボット掃除機の位置認識性能により決定される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、全領域を複数のセクタに区分し、安価なセンサにより物体を感知して地域地図を作成し、当該地域地図に基づいて掃除を行うロボット掃除機及びその制御方法を提供することを目的とする。
【0006】
本発明は、安価なセンサにより感知された感知データを用いて地域地図を作成し、移動方向を補正し、位置を認識するロボット掃除機及びその制御方法を提供することを他の目的とする。
【0007】
本発明は、複数のセクタに関する地域地図の位置及び地域地図間の関係を利用して全領域に関する全域地図を作成し、これを利用して位置を認識するロボット掃除機及びその制御方法を提供することをさらに他の目的とする。
【課題を解決するための手段】
【0008】
本発明の一実施形態によるロボット掃除機は、全領域を少なくとも1つのセクタに区分して掃除を行うロボット掃除機であって、前記セクタで周辺の物体を感知して感知データを出力する少なくとも1つの物体感知ユニットと、前記感知データを用いて前記セクタに関してそれぞれ地域地図を作成し、前記セクタ間の位置関係に基づいて前記全領域に関する全域地図を作成する制御ユニットとを含む。
【0009】
本発明の一実施形態によるロボット掃除機の制御方法は、全領域を複数のセクタに区分する段階と、前記セクタで周辺の物体を感知する段階と、前記感知の結果に基づいて前記セクタに関する地域地図を作成する段階と、前記地域地図の位置関係に基づいて前記全領域に関する全域地図を作成する段階とを含む。
【0010】
本発明の一実施形態による記憶媒体は、全領域を複数のセクタに区分する段階と、前記セクタで周辺の物体を感知する段階と、前記感知の結果に基づいて少なくとも1つの特徴線を抽出する段階と、前記特徴線を用いて前記セクタに関する地域地図を作成する段階と、前記地域地図の位置関係に基づいて前記全領域に関する全域地図を作成する段階とを行うアルゴリズムを含む。
【発明の効果】
【0011】
本発明の実施形態によれば、全領域を複数のセクタに区分し、安価なセンサにより物体を感知して各セクタに関する地域地図を作成することができる。本発明においては、前記地域地図に基づいて掃除を行うことにより、ロボット掃除機の製造コストを安価に維持しつつ、掃除の精度を高めることができる。
【0012】
本発明の実施形態によれば、安価なセンサにより感知された感知データを用いて地域地図を作成し、移動方向を補正し、位置を認識することができる。このようにすることにより、本発明においては、未掃除領域を減少させて掃除効率を向上させ、システムの安定性を高めることができる。
【0013】
本発明の実施形態によれば、複数のセクタに関する地域地図の位置及び地域地図間の関係を利用して全領域に関する全域地図を作成し、これを利用して位置を認識することができる。このようにすることにより、本発明においては、全領域をもれなく掃除することができ、未掃除領域への移動を容易にすることができ、従って、掃除効率を向上させ、ユーザの利便性及びシステムの安定性を高めることができる。
【図面の簡単な説明】
【0014】
【図1】本発明の一実施形態によるロボット掃除機の構成を概略的に示すブロック図である。
【図2】本発明の他の実施形態によるロボット掃除機の構成を概略的に示すブロック図である。
【図3】本発明の実施形態によるロボット掃除機の外観の一例を概略的に示す斜視図である。
【図4】図3に示すロボット掃除機の物体感知ユニットにより物体を感知する動作を説明するための図である。
【図5】本発明の一実施形態によるロボット掃除機の制御方法を概略的に示すフローチャートである。
【図6】本発明の他の実施形態によるロボット掃除機の制御方法を概略的に示すフローチャートである。
【図7】本発明のさらに他の実施形態によるロボット掃除機の制御方法を概略的に示すフローチャートである。
【図8】本発明のさらに他の実施形態によるロボット掃除機の制御方法を概略的に示すフローチャートである。
【図9】本発明の実施形態により全領域を少なくとも1つのセクタに区分して地域地図の作成を開始する動作を説明するための図である。
【図10】本発明の実施形態により特徴線を抽出する動作を説明するための図である。
【図11】本発明の実施形態により特徴線を抽出する動作を説明するための図である。
【図12】本発明の実施形態により特徴線を用いて地域地図を作成する動作を説明するための図である。
【図13】本発明の実施形態により地域地図を補正する動作を説明するための図である。
【図14】本発明の実施形態により地域地図を補正する動作を説明するための図である。
【図15】本発明の実施形態により地域地図を補正する動作を説明するための図である。
【図16】本発明の実施形態により地域地図を補正する動作を説明するための図である。
【図17】本発明の実施形態によりロボット掃除機の位置を認識して補正する動作を説明するための図である。
【図18】本発明の実施形態により全域地図を作成する動作を説明するための図である。
【図19】本発明の実施形態により全域地図を作成する動作を説明するための図である。
【図20】本発明の実施形態により全域地図を作成する動作を説明するための図である。
【発明を実施するための形態】
【0015】
以下、本発明の好ましい実施形態について添付図面を参照して詳細に説明する。
【0016】
本発明の一実施形態によるロボット掃除機は、全領域を少なくとも1つのセクタに区分して掃除を行うロボット掃除機である。図1に示すように、本発明の一実施形態によるロボット掃除機は、少なくとも1つの物体感知ユニット100と、制御ユニット200とを含む。少なくとも1つの物体感知ユニット100は、セクタで周辺の物体を感知して感知データを出力する。制御ユニット200は、感知データを用いてセクタに関してそれぞれ地域地図を作成し、セクタ間の位置関係に基づいて全領域に関する全域地図を作成する。
【0017】
制御ユニット200は、全領域を少なくとも1つのセクタに区分し、セクタに関する地域地図を作成する。制御ユニット200は、全領域を一定の大きさを有する少なくとも1つのセクタに区分し、地域地図の作成のための初期化作業を行う。次に、制御ユニット200は、ロボット掃除機をセクタの外郭に沿って移動させる。物体感知ユニット100は、ロボット掃除機が外郭に沿って移動する間物体を感知する。ここで、物体とは、壁面や障害物などである。物体感知ユニット100としては、カメラやレーザセンサなどの高価なセンサよりは、赤外線センサや超音波センサなどの安価なセンサを使用することが好ましい。制御ユニット200は、物体感知ユニット100が感知した感知データを用いて地域地図を完成する。また、制御ユニット200は、セクタ間の位相関係を利用して全域地図を作成する。つまり、制御ユニット200は、セクタの位置と、セクタ間の位置、すなわち位相関係を利用して位相地図を作成し、位相地図を利用して全域地図を作成する。
【0018】
図1に示すように、制御ユニット200は、感知データから少なくとも1つの特徴線を抽出する特徴線抽出モジュール210と、特徴線を用いて地域地図を作成する地域地図作成モジュール220とを含む。
【0019】
特徴線抽出モジュール210は、例えば図10及び図11に示すように、所定の周期や特定の時点で物体感知ユニット100が感知した感知データを累積する。次に、特徴線抽出モジュール210は、感知データが所定数以上蓄積されると、特徴線、すなわち線分状の特徴点を抽出する。このとき、特徴線抽出モジュール210は、中間時点でのロボット掃除機の位置を特徴線の中心位置に設定する。特徴線抽出モジュール210は、特徴線の中心位置を基準に座標変換などを行うことにより、感知データを所定の座標系に変換する。次に、特徴線抽出モジュール210は、距離を利用して特徴線をクラスタに分ける。次に、特徴線抽出モジュール210は、各クラスタに対して特徴線の長さ、分散、誤差などのパラメータを抽出し、信頼度を演算する。特徴線は、物体感知ユニット100が物体を感知する際に、物体の位置又はロボット掃除機の位置を利用して抽出することができる。
【0020】
地域地図作成モジュール220は、例えば図12に示すように、ロボット掃除機がセクタの外郭に沿って移動する際に特徴線抽出モジュール210が感知データから抽出した特徴線を比較する。次に、地域地図作成モジュール220は、比較の結果に基づいて特徴線を更新し、更新された特徴線を用いて地域地図を作成する。ここで、ロボット掃除機は、連続的にセクタの外郭を移動しながら物体を感知する。
【0021】
また、ロボット掃除機は、感知データから特徴線を抽出し、特徴線を比較して類似の特徴線を併合する。ロボット掃除機は、同一の特徴線を再び抽出するまでこれを繰り返す。地域地図作成モジュール220は、前述の過程により地域地図を作成する。
【0022】
地域地図作成モジュール220は、例えば図13〜図16に示すように、特徴線を用いてセクタの方向を補正し、補正されたセクタに基づいて地域地図を作成する。ここで、セクタの方向の補正は、一般的にセクタが形成される環境、すなわち全領域でセクタを構成する壁面が垂直であると仮定して行われる。
【0023】
図1に示すように、制御ユニット200は、感知データ及び特徴線を用いて位置を認識する位置認識モジュール230をさらに含む。
【0024】
位置認識モジュール230は、まず、物体感知ユニット100が感知した感知データから物体の位置又はロボット掃除機の位置を認識する。また、位置認識モジュール230は、感知データから抽出された特徴線に基づいて、物体の位置又はロボット掃除機の位置を検証する。このようにすることにより、位置認識モジュール230は、ロボット掃除機の位置を精密に認識する。ロボット掃除機は、セクタを構成する壁面が垂直であると仮定してセクタを補正する。また、ロボット掃除機は、補正したセクタに関する地域地図を利用してセクタを掃除する。ロボット掃除機の掃除中に、位置認識モジュール230は、図17に示すように、感知データと当該感知データから抽出された特徴線を用いて認識された位置を補正する。
【0025】
図1に示すように、制御ユニット200は、全域地図作成モジュール240をさらに含む。全域地図作成モジュール240は、セクタの各位置及びそれに応じたセクタ間の位置関係を示す位相地図を作成する。また、全域地図作成モジュール240は、位相地図に基づいて全域地図を作成する。ここで、全域地図作成モジュール240は、2つのセクタの特徴線を整合し、その整合の結果に基づいて2つのセクタが重複するか否かを判断する。また、全域地図作成モジュール240は、重複する2つのセクタ間の誤差を利用して位相地図を補正し、補正された位相地図を利用して全域地図を作成する。
【0026】
全域地図作成モジュール240は、現在のセクタとの重複が多いセクタを選択し、現在のセクタの特徴線と選択されたセクタの特徴線を比較することにより、特徴線間の位置誤差を演算する。全域地図作成モジュール240は、このような過程を繰り返してセクタが重複するか否かを判断する。このようにすることにより、全域地図作成モジュール240は、セクタ間の位相関係を利用して作成された位相地図上で閉ループが形成されているか否かを判断する。閉ループが形成された場合、全域地図作成モジュール240は、重複したセクタ間の位置誤差を低減して位相地図全体を補正する。これにより、全域地図作成モジュール240は、全領域に関する全域地図を作成する。
【0027】
本発明の他の実施形態によるロボット掃除機は、全領域を少なくとも1つのセクタに区分して掃除を行うロボット掃除機である。図2及び図3に示すように、本発明の他の実施形態によるロボット掃除機は、少なくとも1つの物体感知ユニット100と、電源ユニット400と、駆動ユニット500と、入力ユニット600と、制御ユニット200と、保存ユニット300と、出力ユニット700とを含む。少なくとも1つの物体感知ユニット100は、セクタで周辺の物体を感知して感知データを出力する。制御ユニット200は、感知データを用いてセクタに関してそれぞれ地域地図を作成し、セクタ間の位置関係に基づいて全領域に関する全域地図を作成する。
【0028】
電源ユニット400は、充電可能な電源供給手段(例えば、バッテリなど)を備えて、ロボット掃除機の走行及び掃除のための動作電源を供給し、電源供給手段の残量が不足すると充電台から充電電流の供給を受けて充電する。
【0029】
駆動ユニット500は、車輪510を駆動してロボット掃除機を走行させる。つまり、駆動ユニット500は、複数の主車輪と少なくとも1つの補助車輪とを含む複数の車輪510を回転させる所定のホイールモータを駆動することにより、ロボット掃除機を走行させる。ロボット掃除機は、車輪510に連結されてロボット掃除機の移動距離を感知する距離感知ユニット520をさらに含んでもよい。
【0030】
ユーザなどは、入力ユニット600により、ロボット掃除機に直接制御命令を入力することができる。また、ユーザなどは、入力ユニット600により、保存ユニット300に保存されている物体情報、領域、セクタに関する情報、地域地図、位相地図、全域地図に関する情報を出力させる命令を入力することができる。入力ユニット600は、少なくとも1つの入力ボタンを備えて、直接制御命令の入力を受ける。入力ボタンは、確認ボタン、設定ボタン、再設定ボタン、削除ボタン、掃除スタートボタン、掃除ストップボタンの少なくとも1つのボタンを含む。例えば、確認ボタンは、物体、障害物、ロボット掃除機の位置などの位置情報、掃除領域、複数のセクタ、地域地図、位相地図、全域地図を確認する命令を入力するのに使用される。設定ボタンは、設定する命令を入力するためのものである。
【0031】
保存ユニット300は、全領域に関する情報、セクタに関する情報、物体情報の少なくとも1つの情報を保存する。保存ユニット300は、現在の移動時、以前の移動時、又は掃除実行時に感知した感知データを保存する。保存ユニット300は、不揮発性メモリ(Non-Volatile Memory; NVM, NVRAM)であることが好ましい。ここで、不揮発性メモリは、電源が供給されなくても保存された情報を保持し続ける記憶装置である。不揮発性メモリは、ROM、フラッシュメモリ、磁気記憶装置(例えば、ハードディスク、ディスケットドライブ、磁気テープ)、光ディスクドライブ、磁気RAM、PRAMなどを含む。保存ユニット300は、抽出した特徴線、作成した地域地図、位相地図、全域地図などを保存する。また、保存ユニット300は、全領域、複数のセクタを保存する。さらに、保存ユニット300は、掃除領域内でのロボット掃除機の移動記録を保存することもできる。
【0032】
出力ユニット700は、保存ユニット300に保存されている情報を出力する。出力ユニット700は、物体情報、ロボット掃除機の位置、複数のセクタを含む掃除領域、地域地図、全域地図の少なくとも1つの情報を出力する。出力ユニット700は、ロボット掃除機を構成する各ユニットの現在の状態や現在の掃除状態などの状態情報をさらに表示することができる。出力ユニット700は、発光ダイオード(Light Emitting Diode; LED)、液晶表示装置(Liquid Crystal Display; LCD)、プラズマディスプレイ(Plasma Display Panel; PDP)、有機発光ダイオード(Organic Light Emitting Diode; OLED)のうち、いずれか1つの素子で形成してもよい。ここで、入力ユニット600と出力ユニット700は、入力と出力のどちらも可能なタッチスクリーンタイプにしてもよい。
【0033】
ロボット掃除機は、掃除ユニット(図示せず)をさらに含んでもよい。掃除ユニットは、空気を吸入する所定の吸入モータと、塵埃を凝集する手段とを備えて、周辺の塵埃や異物を吸入する。
【0034】
ロボット掃除機は、PSDセンサもしくは超音波センサを用いて、又はこれらを共に用いて、物体、障害物の位置を感知することにより相対的な位置を認識する。一般的に、PSDセンサと超音波センサの感知距離は約30cmである。図4に示す物体感知ユニット100は、PSD(Position Sensitive Detector)センサAと、超音波センサ発信部B、Cと、超音波センサ受信部D、Eとを含む。図4においては、物体感知ユニット100としてPSDセンサと超音波センサが配置されたロボット掃除機を示すが、他のタイプの距離センサ、例えば赤外線センサを使用してもよい。また、物体感知ユニット100においてセンサの数や位置などは適宜変更可能である。
【0035】
図5に示すように、本発明の一実施形態によるロボット掃除機の制御方法は、全領域を複数のセクタに区分するステップ(S100)と、セクタで周辺の物体を感知するステップ(S200)と、感知の結果に基づいてセクタに関する地域地図を作成するステップ(S400)と、地域地図の位置関係に基づいて全領域に関する全域地図を作成するステップ(S500)とを含む。
【0036】
ロボット掃除機の制御方法は、感知の結果に基づいて少なくとも1つの特徴線を抽出するステップ(S300)をさらに含む。この場合、地域地図を作成するステップ(S400)では、特徴線を用いて地域地図を作成する。
【0037】
ロボット掃除機は、位置誤差が継続して累積されないように、全領域を長方形の少なくとも1つの小領域、すなわちセクタに区分し(S100)、各セクタに対して順次掃除を行う。このとき、ロボット掃除機は、各セクタに関して作成する地域地図を初期化し、各セクタの外郭に沿って走行又は掃除しながら物体感知ユニットにより物体、障害物を感知する(S200)。ロボット掃除機は、その感知データから特徴線、すなわち線分状の特徴点を抽出する(S300)。ロボット掃除機は、特徴線に対してフィルタリングを行う。次に、ロボット掃除機は、例えばRBPF(Rao-Blackwellised Particle Filtering)、位置認識及びマッピングアルゴリズム、例えばSLAM(Simultaneous Localization And Mapping)を用いて、各セクタに関する地域地図を作成する(S400)。また、ロボット掃除機は、家庭環境で抽出可能な主要線分が互いに垂直であると仮定して、各セクタの方向(方位)を補正する。すなわち、図6に示すように、地域地図を作成するステップ(S400)は、特徴線を用いてセクタの方向を補正するステップ(S431のYES)と、補正されたセクタに基づいて地域地図を作成するステップ(S432)とを含む。図8に示すように、ロボット掃除機は、各セクタの掃除(S600)中に、周辺の物体を感知し(S610)、特徴線を抽出する(S620)。ロボット掃除機は、現在抽出した特徴線と以前に作成したセクタの環境に基づいた環境地図、すなわち地域地図を利用して位置を補正する(S700)。ロボット掃除機は、隣接する地域地図同士を位相地図(topological map)の形態で連結する。また、ロボット掃除機は、位相地図のノードを地域地図(セクタ)と定義し、エッジを2つの地域地図間の相対的位置関係(セクタ間の位置関係)と定義し、位相関係を利用して全域地図を作成する(S500)。ロボット掃除機は、以前に掃除したセクタ又は以前に作成した地域地図上のセクタに再び入った場合、閉ループが形成されているか否かを判断する。次に、ロボット掃除機は、判断の結果に応じて位相地図を補正し、これにより全域地図を作成する(S500)。
【0038】
図9を参照すると、ロボット掃除機は、全領域を所定の大きさ以下の領域、すなわちセクタに分けて各セクタを掃除する。各セクタの原点は、セクタ初期化時点のロボット掃除機の位置となり、地域座標系のx軸の方向は当該時点でのロボット掃除機の方向となる。ロボット掃除機は、任意の1つのセクタを掃除した後、壁面に接近して次のセクタのスタート位置に移動する。また、ロボット掃除機は、新たな領域が現れると新たなセクタを初期化する。このとき、ロボット掃除機は、位相地図を拡張するが、新たなセクタを位相地図のノードとして登録し、以前のセクタの原点と現在のセクタの原点との位置関係をエッジとして設定する。また、ロボット掃除機は、新たなセクタを生成する時点でのロボット掃除機の位置の共分散をエッジの共分散とする。図9において、直交する矢印は各地域地図の座標系、a1〜a4は地域地図の範囲、a5は新たに追加された地域地図の範囲をそれぞれ示す。
【0039】
図6に示すように、特徴線を抽出するステップ(S300)は、感知の結果に基づいた感知データを累積するステップ(S310)と、感知データから特徴線を抽出するステップ(S320)と、感知データを特徴線に対応するクラスタに分離するステップ(S330)と、クラスタから特徴線の長さ及び信頼度を演算するステップ(S340)とを含む。
【0040】
ロボット掃除機は、安価な物体感知ユニットを少数しか備えないため、一度に感知できる感知データに限界があるので、正確な特徴線を直ちに抽出することは難しい。従って、図10に示すように、ロボット掃除機は、複数の時点で感知した感知データを累積し、感知データが所定数以上蓄積されると(S310)、特徴線を抽出する(S320)。このとき、ロボット掃除機は、中間時点でのロボット掃除機の位置を特徴線の中心位置に設定し、全ての感知データを中心位置を基準に座標変換して、図11に示すように地域座標系上に示す。また、ロボット掃除機は、感知データを極座標系に変換して角度で整列し、距離を利用してクラスタに分ける(S330)。ここで、ロボット掃除機は、各クラスタに対してパラメータを抽出するが、パラメータは、特徴線の長さ、分散、誤差などである。ロボット掃除機は、これを用いて線分の信頼度を演算する(S340)。図10及び図11において、bはロボット掃除機の位置、cは感知された物体の位置、dは抽出された特徴線の中心位置、e1、e2は特徴線をそれぞれ示す。
【0041】
図6に示すように、地域地図を作成するステップ(S400)は、各セクタの外郭を移動しながら物体を感知した結果に基づく感知データから抽出した特徴線の有効性を判断するステップ(S411)と、判断の結果、有効であれば、感知データの重要度を更新するステップ(S412)とを含む。
【0042】
また、地域地図を作成するステップ(S400)は、感知データから新たに抽出した特徴線と既に抽出した特徴線との類似度を判断するステップ(S421)と、判断の結果、2つの特徴線が類似すれば、2つの特徴線を併合するステップ(S422)とをさらに含む。
【0043】
地域地図を作成するステップ(S400)において、セクタの方向を補正するステップ(S431のYES)は、特徴線同士が垂直であると仮定して補正量を演算し、その演算された補正量に基づいてセクタの方向を補正する。
【0044】
図12に示すように、ロボット掃除機は、まず、各セクタのスタート位置で全ての特徴点の位置を初期化し、セクタの外郭を走行又は掃除しながら特徴点の位置をサンプリングする。ここで、特徴点bの位置は、ロボット掃除機の位置でもよく、感知された物体の位置でもよい。
【0045】
以下、物体を感知する時点でのロボット掃除機の位置を特徴点の位置として説明する。ロボット掃除機は、ステップS300のように新たに抽出した特徴線をマッピングし、新たに抽出した特徴線が以前に抽出した特徴線に類似するか否かを判断し(S421)、類似すれば特徴線を併合する(S422)。また、ロボット掃除機は、新たに抽出した特徴線が以前に作成された地域地図上の特徴線中に存在するか否かを判断する。ロボット掃除機は、その確率を用いて特徴線内の特徴点の重要度を更新し、その更新された重要度に基づいて特徴点を再びサンプリングする(S411、S412)。ロボット掃除機は、初期に抽出した特徴線が再び抽出されるまで、動作を繰り返し行う。実際には、ロボット掃除機の移動に応じて特徴点は少しずつ異なる位置を有し、従って、抽出される特徴線が異なる。最も一貫性のある特徴線を構成する特徴点が最も高い重要度を有し、それら特徴点を用いて特徴線を抽出し、地域地図を作成する。また、ロボット掃除機は、自己位置を最も高い重要度を有する特徴点に補正する。図12において、bは特徴点の位置、fは移動経路、gは特徴点の位置によるガウス分布(gaussian distribution)、hは特徴線をそれぞれ示す。
【0046】
図8に示すように、ロボット掃除機の制御方法は、感知の結果と特徴線を用いて位置を補正するステップ(S700)をさらに含む。ここで、位置を補正するステップ(S700)では、各セクタの外郭を移動しながら物体を感知した結果に基づく感知データから抽出した特徴線の有効性を判断する。また、位置を補正するステップ(S700)では、判断の結果、有効であれば、感知データの重要度を更新し、更新された感知データを用いて位置を補正する。ロボット掃除機は、壁面が垂直であると仮定して地域地図を補正し、その後、セクタ内部の掃除を行うが、このとき、自己位置を随時補正する。ロボット掃除機は、特徴点の位置をサンプリングし、新たに抽出した特徴線が以前に作成された地域地図上の特徴線中に存在するか否かを判断する。ロボット掃除機は、その確率を用いて特徴線内の特徴点の重要度を更新し、その更新された重要度に基づいて特徴点を再びサンプリングする。最も一貫性のある特徴線を構成する特徴点が最も高い重要度を有し、それら特徴点を用いてロボット掃除機の位置を補正する。図17に示すように、補正を行わない場合は、ロボット掃除機の位置誤差が累積される。しかし、ロボット掃除機は、動作を行うことにより、位置を精密に認識することができる。図17において、hは特徴線、eはセンサにより感知された移動経路、fは動作により認識した移動経路、iは現在のセクタの範囲をそれぞれ示す。
【0047】
図13〜図16を参照すると、ロボット掃除機は、地域地図を作成した後、家庭環境での主要特徴線が互いに垂直であると仮定してセクタの補正量を計算し、それに応じてセクタの方向を補正する。ロボット掃除機は、所定以上の信頼度を有する特徴線を選択し、各特徴線を垂直又は水平にするための最小補正量を演算する。ロボット掃除機は、類似の補正量を有する特徴線をグループ化する。ロボット掃除機は、信頼度を利用して各グループの特徴線の補正量に所定の加重値を乗算し、これらを合算することにより、各グループの特徴線の補正量を決定する。次に、ロボット掃除機は、各グループに含まれる特徴線の数と、対比グループの補正量を利用して、各グループの補正が適切であるかの信頼度を計算する。ここで、ロボット掃除機は、信頼度が最も高いグループの補正量をセクタの補正量に設定する。ロボット掃除機は、所定以上の信頼度を有する場合、セクタの基準点の方向を補正し(図13及び図14を参照)、以前のセクタを共に補正する(図15及び図16を参照)。ここで、aはセクタ、xは座標系、eは特徴線をそれぞれ示す。
【0048】
図7に示すように、全域地図を作成するステップ(S500)は、地域地図の各位置及びそれに応じた地域地図間の位置関係を利用して位相地図を作成するステップ(S510)を含む。全域地図を作成するステップ(S500)では、位相地図を利用して全域地図を作成する。
【0049】
ここで、全域地図を作成するステップ(S500)は、2つのセクタの特徴線を整合するステップ(S520)と、整合の結果に基づいて2つのセクタが重複するか否かを判断するステップ(S530)と、重複する2つのセクタ間の誤差を利用して位相地図を補正するステップ(S540)とをさらに含む。全域地図を作成するステップ(S500)では、補正された位相地図を利用して全域地図を作成する。
【0050】
図18及び図19を参照すると、ロボット掃除機は、以前に掃除を行ったセクタのうち、現在のセクタとの重複が多いセクタを選択する。次に、ロボット掃除機は、現在のセクタの特徴線と選択されたセクタの特徴線を比較し、同一であると認識された特徴線を用いて位置誤差を演算する。セクタとセクタとの間には位置の不確実性が存在する。従って、ロボット掃除機が走行や掃除を継続して行うほど不確実性は大きくなるので、2つのセクタ間の重複を計算する際には、2つのセクタ間の不確実性を考慮してセクタを拡張した後に比較する。ロボット掃除機は、特徴線同士を比較する上でも、セクタ間の不確実性を考慮する。もし、現在のセクタの特徴線と選択されたセクタの特徴線が同一でないと判断されれば、ロボット掃除機は、その次に重複が多いセクタを選択し、現在のセクタの特徴線と次に選択されたセクタの特徴線を比較する。もし、現在のセクタの特徴線と選択されたセクタの特徴線が同一であると判断されれば、ロボット掃除機は、2つのセクタが重複すると認識し、特徴線を利用して現在のセクタの位置誤差を計算する。図18及び図19において、aはセクタの範囲、gはガウス分布、Pはロボット掃除機の位置、eは特徴線をそれぞれ示す。
【0051】
図20を参照すると、ロボット掃除機は、2つのセクタが重複すると認識された場合、すなわち閉ループが感知された場合、重複すると認識されたセクタ間の位置誤差を低減するために位相地図を補正する。ロボット掃除機は、補正が終了すると、補正された位相地図を利用して全域地図を作成する。ロボット掃除機は、位相地図の補正にMahalanobis距離最小化(Mahalanobis distance minimization)などのアルゴリズムを用いる。また、ロボット掃除機は、全域地図を作成する際に、同一であると認識された隣接する特徴線を併合することもできる。図20において、pは特徴点、すなわちロボット掃除機の位置、a5’は同一であると判断されたセクタをそれぞれ示す。
【0052】
以上のように、本発明の実施形態によるロボット掃除機及びその制御方法においては、全領域を複数のセクタに区分し、安価な物体感知ユニットにより感知した感知データを用いて、各セクタに関する地域地図を作成し、掃除を行う。また、本発明の実施形態によるロボット掃除機及びその制御方法においては、複数のセクタに関する地域地図の位置及び地域地図間の位相関係を利用して全領域に関する全域地図を作成し、これを利用して自己位置を認識することにより、全領域をもれなく掃除することができ、未掃除領域への移動を容易にすることができる。
【符号の説明】
【0053】
100 物体感知ユニット
200 制御ユニット
210 特徴線抽出モジュール
220 地域地図作成モジュール
230 位置認識モジュール
240 全域地図作成モジュール
【技術分野】
【0001】
本発明は、安価な距離感知センサを用いて全域地図を作成し、自己位置を認識するロボット掃除機及びその制御方法に関する。
【背景技術】
【0002】
一般に、ロボットは、産業用に開発されて工場自動化の一部分を担当してきた。近年、ロボットを応用した分野がさらに拡大しており、医療用ロボット、宇宙航空ロボットなどが開発され、一般家庭で使用できる家庭用ロボットも製作されている。
【0003】
家庭用ロボットの代表的な例がロボット掃除機であって、所定の領域を自走しながら周辺の塵埃や異物を吸入して掃除する家電機器の一種である。一般に、このようなロボット掃除機は、充電可能なバッテリを備え、走行中に障害物を避けるための障害物センサを備えることにより、自走しながら掃除を行う。
【0004】
ロボット掃除機が自走しながら全領域を掃除するためには、掃除地図を作成し、作成された掃除地図内で掃除済み領域や掃除すべき領域などの掃除領域を判断しなければならない。ロボット掃除機の領域判断能力は、一般的にロボット掃除機の位置認識性能により決定される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、全領域を複数のセクタに区分し、安価なセンサにより物体を感知して地域地図を作成し、当該地域地図に基づいて掃除を行うロボット掃除機及びその制御方法を提供することを目的とする。
【0006】
本発明は、安価なセンサにより感知された感知データを用いて地域地図を作成し、移動方向を補正し、位置を認識するロボット掃除機及びその制御方法を提供することを他の目的とする。
【0007】
本発明は、複数のセクタに関する地域地図の位置及び地域地図間の関係を利用して全領域に関する全域地図を作成し、これを利用して位置を認識するロボット掃除機及びその制御方法を提供することをさらに他の目的とする。
【課題を解決するための手段】
【0008】
本発明の一実施形態によるロボット掃除機は、全領域を少なくとも1つのセクタに区分して掃除を行うロボット掃除機であって、前記セクタで周辺の物体を感知して感知データを出力する少なくとも1つの物体感知ユニットと、前記感知データを用いて前記セクタに関してそれぞれ地域地図を作成し、前記セクタ間の位置関係に基づいて前記全領域に関する全域地図を作成する制御ユニットとを含む。
【0009】
本発明の一実施形態によるロボット掃除機の制御方法は、全領域を複数のセクタに区分する段階と、前記セクタで周辺の物体を感知する段階と、前記感知の結果に基づいて前記セクタに関する地域地図を作成する段階と、前記地域地図の位置関係に基づいて前記全領域に関する全域地図を作成する段階とを含む。
【0010】
本発明の一実施形態による記憶媒体は、全領域を複数のセクタに区分する段階と、前記セクタで周辺の物体を感知する段階と、前記感知の結果に基づいて少なくとも1つの特徴線を抽出する段階と、前記特徴線を用いて前記セクタに関する地域地図を作成する段階と、前記地域地図の位置関係に基づいて前記全領域に関する全域地図を作成する段階とを行うアルゴリズムを含む。
【発明の効果】
【0011】
本発明の実施形態によれば、全領域を複数のセクタに区分し、安価なセンサにより物体を感知して各セクタに関する地域地図を作成することができる。本発明においては、前記地域地図に基づいて掃除を行うことにより、ロボット掃除機の製造コストを安価に維持しつつ、掃除の精度を高めることができる。
【0012】
本発明の実施形態によれば、安価なセンサにより感知された感知データを用いて地域地図を作成し、移動方向を補正し、位置を認識することができる。このようにすることにより、本発明においては、未掃除領域を減少させて掃除効率を向上させ、システムの安定性を高めることができる。
【0013】
本発明の実施形態によれば、複数のセクタに関する地域地図の位置及び地域地図間の関係を利用して全領域に関する全域地図を作成し、これを利用して位置を認識することができる。このようにすることにより、本発明においては、全領域をもれなく掃除することができ、未掃除領域への移動を容易にすることができ、従って、掃除効率を向上させ、ユーザの利便性及びシステムの安定性を高めることができる。
【図面の簡単な説明】
【0014】
【図1】本発明の一実施形態によるロボット掃除機の構成を概略的に示すブロック図である。
【図2】本発明の他の実施形態によるロボット掃除機の構成を概略的に示すブロック図である。
【図3】本発明の実施形態によるロボット掃除機の外観の一例を概略的に示す斜視図である。
【図4】図3に示すロボット掃除機の物体感知ユニットにより物体を感知する動作を説明するための図である。
【図5】本発明の一実施形態によるロボット掃除機の制御方法を概略的に示すフローチャートである。
【図6】本発明の他の実施形態によるロボット掃除機の制御方法を概略的に示すフローチャートである。
【図7】本発明のさらに他の実施形態によるロボット掃除機の制御方法を概略的に示すフローチャートである。
【図8】本発明のさらに他の実施形態によるロボット掃除機の制御方法を概略的に示すフローチャートである。
【図9】本発明の実施形態により全領域を少なくとも1つのセクタに区分して地域地図の作成を開始する動作を説明するための図である。
【図10】本発明の実施形態により特徴線を抽出する動作を説明するための図である。
【図11】本発明の実施形態により特徴線を抽出する動作を説明するための図である。
【図12】本発明の実施形態により特徴線を用いて地域地図を作成する動作を説明するための図である。
【図13】本発明の実施形態により地域地図を補正する動作を説明するための図である。
【図14】本発明の実施形態により地域地図を補正する動作を説明するための図である。
【図15】本発明の実施形態により地域地図を補正する動作を説明するための図である。
【図16】本発明の実施形態により地域地図を補正する動作を説明するための図である。
【図17】本発明の実施形態によりロボット掃除機の位置を認識して補正する動作を説明するための図である。
【図18】本発明の実施形態により全域地図を作成する動作を説明するための図である。
【図19】本発明の実施形態により全域地図を作成する動作を説明するための図である。
【図20】本発明の実施形態により全域地図を作成する動作を説明するための図である。
【発明を実施するための形態】
【0015】
以下、本発明の好ましい実施形態について添付図面を参照して詳細に説明する。
【0016】
本発明の一実施形態によるロボット掃除機は、全領域を少なくとも1つのセクタに区分して掃除を行うロボット掃除機である。図1に示すように、本発明の一実施形態によるロボット掃除機は、少なくとも1つの物体感知ユニット100と、制御ユニット200とを含む。少なくとも1つの物体感知ユニット100は、セクタで周辺の物体を感知して感知データを出力する。制御ユニット200は、感知データを用いてセクタに関してそれぞれ地域地図を作成し、セクタ間の位置関係に基づいて全領域に関する全域地図を作成する。
【0017】
制御ユニット200は、全領域を少なくとも1つのセクタに区分し、セクタに関する地域地図を作成する。制御ユニット200は、全領域を一定の大きさを有する少なくとも1つのセクタに区分し、地域地図の作成のための初期化作業を行う。次に、制御ユニット200は、ロボット掃除機をセクタの外郭に沿って移動させる。物体感知ユニット100は、ロボット掃除機が外郭に沿って移動する間物体を感知する。ここで、物体とは、壁面や障害物などである。物体感知ユニット100としては、カメラやレーザセンサなどの高価なセンサよりは、赤外線センサや超音波センサなどの安価なセンサを使用することが好ましい。制御ユニット200は、物体感知ユニット100が感知した感知データを用いて地域地図を完成する。また、制御ユニット200は、セクタ間の位相関係を利用して全域地図を作成する。つまり、制御ユニット200は、セクタの位置と、セクタ間の位置、すなわち位相関係を利用して位相地図を作成し、位相地図を利用して全域地図を作成する。
【0018】
図1に示すように、制御ユニット200は、感知データから少なくとも1つの特徴線を抽出する特徴線抽出モジュール210と、特徴線を用いて地域地図を作成する地域地図作成モジュール220とを含む。
【0019】
特徴線抽出モジュール210は、例えば図10及び図11に示すように、所定の周期や特定の時点で物体感知ユニット100が感知した感知データを累積する。次に、特徴線抽出モジュール210は、感知データが所定数以上蓄積されると、特徴線、すなわち線分状の特徴点を抽出する。このとき、特徴線抽出モジュール210は、中間時点でのロボット掃除機の位置を特徴線の中心位置に設定する。特徴線抽出モジュール210は、特徴線の中心位置を基準に座標変換などを行うことにより、感知データを所定の座標系に変換する。次に、特徴線抽出モジュール210は、距離を利用して特徴線をクラスタに分ける。次に、特徴線抽出モジュール210は、各クラスタに対して特徴線の長さ、分散、誤差などのパラメータを抽出し、信頼度を演算する。特徴線は、物体感知ユニット100が物体を感知する際に、物体の位置又はロボット掃除機の位置を利用して抽出することができる。
【0020】
地域地図作成モジュール220は、例えば図12に示すように、ロボット掃除機がセクタの外郭に沿って移動する際に特徴線抽出モジュール210が感知データから抽出した特徴線を比較する。次に、地域地図作成モジュール220は、比較の結果に基づいて特徴線を更新し、更新された特徴線を用いて地域地図を作成する。ここで、ロボット掃除機は、連続的にセクタの外郭を移動しながら物体を感知する。
【0021】
また、ロボット掃除機は、感知データから特徴線を抽出し、特徴線を比較して類似の特徴線を併合する。ロボット掃除機は、同一の特徴線を再び抽出するまでこれを繰り返す。地域地図作成モジュール220は、前述の過程により地域地図を作成する。
【0022】
地域地図作成モジュール220は、例えば図13〜図16に示すように、特徴線を用いてセクタの方向を補正し、補正されたセクタに基づいて地域地図を作成する。ここで、セクタの方向の補正は、一般的にセクタが形成される環境、すなわち全領域でセクタを構成する壁面が垂直であると仮定して行われる。
【0023】
図1に示すように、制御ユニット200は、感知データ及び特徴線を用いて位置を認識する位置認識モジュール230をさらに含む。
【0024】
位置認識モジュール230は、まず、物体感知ユニット100が感知した感知データから物体の位置又はロボット掃除機の位置を認識する。また、位置認識モジュール230は、感知データから抽出された特徴線に基づいて、物体の位置又はロボット掃除機の位置を検証する。このようにすることにより、位置認識モジュール230は、ロボット掃除機の位置を精密に認識する。ロボット掃除機は、セクタを構成する壁面が垂直であると仮定してセクタを補正する。また、ロボット掃除機は、補正したセクタに関する地域地図を利用してセクタを掃除する。ロボット掃除機の掃除中に、位置認識モジュール230は、図17に示すように、感知データと当該感知データから抽出された特徴線を用いて認識された位置を補正する。
【0025】
図1に示すように、制御ユニット200は、全域地図作成モジュール240をさらに含む。全域地図作成モジュール240は、セクタの各位置及びそれに応じたセクタ間の位置関係を示す位相地図を作成する。また、全域地図作成モジュール240は、位相地図に基づいて全域地図を作成する。ここで、全域地図作成モジュール240は、2つのセクタの特徴線を整合し、その整合の結果に基づいて2つのセクタが重複するか否かを判断する。また、全域地図作成モジュール240は、重複する2つのセクタ間の誤差を利用して位相地図を補正し、補正された位相地図を利用して全域地図を作成する。
【0026】
全域地図作成モジュール240は、現在のセクタとの重複が多いセクタを選択し、現在のセクタの特徴線と選択されたセクタの特徴線を比較することにより、特徴線間の位置誤差を演算する。全域地図作成モジュール240は、このような過程を繰り返してセクタが重複するか否かを判断する。このようにすることにより、全域地図作成モジュール240は、セクタ間の位相関係を利用して作成された位相地図上で閉ループが形成されているか否かを判断する。閉ループが形成された場合、全域地図作成モジュール240は、重複したセクタ間の位置誤差を低減して位相地図全体を補正する。これにより、全域地図作成モジュール240は、全領域に関する全域地図を作成する。
【0027】
本発明の他の実施形態によるロボット掃除機は、全領域を少なくとも1つのセクタに区分して掃除を行うロボット掃除機である。図2及び図3に示すように、本発明の他の実施形態によるロボット掃除機は、少なくとも1つの物体感知ユニット100と、電源ユニット400と、駆動ユニット500と、入力ユニット600と、制御ユニット200と、保存ユニット300と、出力ユニット700とを含む。少なくとも1つの物体感知ユニット100は、セクタで周辺の物体を感知して感知データを出力する。制御ユニット200は、感知データを用いてセクタに関してそれぞれ地域地図を作成し、セクタ間の位置関係に基づいて全領域に関する全域地図を作成する。
【0028】
電源ユニット400は、充電可能な電源供給手段(例えば、バッテリなど)を備えて、ロボット掃除機の走行及び掃除のための動作電源を供給し、電源供給手段の残量が不足すると充電台から充電電流の供給を受けて充電する。
【0029】
駆動ユニット500は、車輪510を駆動してロボット掃除機を走行させる。つまり、駆動ユニット500は、複数の主車輪と少なくとも1つの補助車輪とを含む複数の車輪510を回転させる所定のホイールモータを駆動することにより、ロボット掃除機を走行させる。ロボット掃除機は、車輪510に連結されてロボット掃除機の移動距離を感知する距離感知ユニット520をさらに含んでもよい。
【0030】
ユーザなどは、入力ユニット600により、ロボット掃除機に直接制御命令を入力することができる。また、ユーザなどは、入力ユニット600により、保存ユニット300に保存されている物体情報、領域、セクタに関する情報、地域地図、位相地図、全域地図に関する情報を出力させる命令を入力することができる。入力ユニット600は、少なくとも1つの入力ボタンを備えて、直接制御命令の入力を受ける。入力ボタンは、確認ボタン、設定ボタン、再設定ボタン、削除ボタン、掃除スタートボタン、掃除ストップボタンの少なくとも1つのボタンを含む。例えば、確認ボタンは、物体、障害物、ロボット掃除機の位置などの位置情報、掃除領域、複数のセクタ、地域地図、位相地図、全域地図を確認する命令を入力するのに使用される。設定ボタンは、設定する命令を入力するためのものである。
【0031】
保存ユニット300は、全領域に関する情報、セクタに関する情報、物体情報の少なくとも1つの情報を保存する。保存ユニット300は、現在の移動時、以前の移動時、又は掃除実行時に感知した感知データを保存する。保存ユニット300は、不揮発性メモリ(Non-Volatile Memory; NVM, NVRAM)であることが好ましい。ここで、不揮発性メモリは、電源が供給されなくても保存された情報を保持し続ける記憶装置である。不揮発性メモリは、ROM、フラッシュメモリ、磁気記憶装置(例えば、ハードディスク、ディスケットドライブ、磁気テープ)、光ディスクドライブ、磁気RAM、PRAMなどを含む。保存ユニット300は、抽出した特徴線、作成した地域地図、位相地図、全域地図などを保存する。また、保存ユニット300は、全領域、複数のセクタを保存する。さらに、保存ユニット300は、掃除領域内でのロボット掃除機の移動記録を保存することもできる。
【0032】
出力ユニット700は、保存ユニット300に保存されている情報を出力する。出力ユニット700は、物体情報、ロボット掃除機の位置、複数のセクタを含む掃除領域、地域地図、全域地図の少なくとも1つの情報を出力する。出力ユニット700は、ロボット掃除機を構成する各ユニットの現在の状態や現在の掃除状態などの状態情報をさらに表示することができる。出力ユニット700は、発光ダイオード(Light Emitting Diode; LED)、液晶表示装置(Liquid Crystal Display; LCD)、プラズマディスプレイ(Plasma Display Panel; PDP)、有機発光ダイオード(Organic Light Emitting Diode; OLED)のうち、いずれか1つの素子で形成してもよい。ここで、入力ユニット600と出力ユニット700は、入力と出力のどちらも可能なタッチスクリーンタイプにしてもよい。
【0033】
ロボット掃除機は、掃除ユニット(図示せず)をさらに含んでもよい。掃除ユニットは、空気を吸入する所定の吸入モータと、塵埃を凝集する手段とを備えて、周辺の塵埃や異物を吸入する。
【0034】
ロボット掃除機は、PSDセンサもしくは超音波センサを用いて、又はこれらを共に用いて、物体、障害物の位置を感知することにより相対的な位置を認識する。一般的に、PSDセンサと超音波センサの感知距離は約30cmである。図4に示す物体感知ユニット100は、PSD(Position Sensitive Detector)センサAと、超音波センサ発信部B、Cと、超音波センサ受信部D、Eとを含む。図4においては、物体感知ユニット100としてPSDセンサと超音波センサが配置されたロボット掃除機を示すが、他のタイプの距離センサ、例えば赤外線センサを使用してもよい。また、物体感知ユニット100においてセンサの数や位置などは適宜変更可能である。
【0035】
図5に示すように、本発明の一実施形態によるロボット掃除機の制御方法は、全領域を複数のセクタに区分するステップ(S100)と、セクタで周辺の物体を感知するステップ(S200)と、感知の結果に基づいてセクタに関する地域地図を作成するステップ(S400)と、地域地図の位置関係に基づいて全領域に関する全域地図を作成するステップ(S500)とを含む。
【0036】
ロボット掃除機の制御方法は、感知の結果に基づいて少なくとも1つの特徴線を抽出するステップ(S300)をさらに含む。この場合、地域地図を作成するステップ(S400)では、特徴線を用いて地域地図を作成する。
【0037】
ロボット掃除機は、位置誤差が継続して累積されないように、全領域を長方形の少なくとも1つの小領域、すなわちセクタに区分し(S100)、各セクタに対して順次掃除を行う。このとき、ロボット掃除機は、各セクタに関して作成する地域地図を初期化し、各セクタの外郭に沿って走行又は掃除しながら物体感知ユニットにより物体、障害物を感知する(S200)。ロボット掃除機は、その感知データから特徴線、すなわち線分状の特徴点を抽出する(S300)。ロボット掃除機は、特徴線に対してフィルタリングを行う。次に、ロボット掃除機は、例えばRBPF(Rao-Blackwellised Particle Filtering)、位置認識及びマッピングアルゴリズム、例えばSLAM(Simultaneous Localization And Mapping)を用いて、各セクタに関する地域地図を作成する(S400)。また、ロボット掃除機は、家庭環境で抽出可能な主要線分が互いに垂直であると仮定して、各セクタの方向(方位)を補正する。すなわち、図6に示すように、地域地図を作成するステップ(S400)は、特徴線を用いてセクタの方向を補正するステップ(S431のYES)と、補正されたセクタに基づいて地域地図を作成するステップ(S432)とを含む。図8に示すように、ロボット掃除機は、各セクタの掃除(S600)中に、周辺の物体を感知し(S610)、特徴線を抽出する(S620)。ロボット掃除機は、現在抽出した特徴線と以前に作成したセクタの環境に基づいた環境地図、すなわち地域地図を利用して位置を補正する(S700)。ロボット掃除機は、隣接する地域地図同士を位相地図(topological map)の形態で連結する。また、ロボット掃除機は、位相地図のノードを地域地図(セクタ)と定義し、エッジを2つの地域地図間の相対的位置関係(セクタ間の位置関係)と定義し、位相関係を利用して全域地図を作成する(S500)。ロボット掃除機は、以前に掃除したセクタ又は以前に作成した地域地図上のセクタに再び入った場合、閉ループが形成されているか否かを判断する。次に、ロボット掃除機は、判断の結果に応じて位相地図を補正し、これにより全域地図を作成する(S500)。
【0038】
図9を参照すると、ロボット掃除機は、全領域を所定の大きさ以下の領域、すなわちセクタに分けて各セクタを掃除する。各セクタの原点は、セクタ初期化時点のロボット掃除機の位置となり、地域座標系のx軸の方向は当該時点でのロボット掃除機の方向となる。ロボット掃除機は、任意の1つのセクタを掃除した後、壁面に接近して次のセクタのスタート位置に移動する。また、ロボット掃除機は、新たな領域が現れると新たなセクタを初期化する。このとき、ロボット掃除機は、位相地図を拡張するが、新たなセクタを位相地図のノードとして登録し、以前のセクタの原点と現在のセクタの原点との位置関係をエッジとして設定する。また、ロボット掃除機は、新たなセクタを生成する時点でのロボット掃除機の位置の共分散をエッジの共分散とする。図9において、直交する矢印は各地域地図の座標系、a1〜a4は地域地図の範囲、a5は新たに追加された地域地図の範囲をそれぞれ示す。
【0039】
図6に示すように、特徴線を抽出するステップ(S300)は、感知の結果に基づいた感知データを累積するステップ(S310)と、感知データから特徴線を抽出するステップ(S320)と、感知データを特徴線に対応するクラスタに分離するステップ(S330)と、クラスタから特徴線の長さ及び信頼度を演算するステップ(S340)とを含む。
【0040】
ロボット掃除機は、安価な物体感知ユニットを少数しか備えないため、一度に感知できる感知データに限界があるので、正確な特徴線を直ちに抽出することは難しい。従って、図10に示すように、ロボット掃除機は、複数の時点で感知した感知データを累積し、感知データが所定数以上蓄積されると(S310)、特徴線を抽出する(S320)。このとき、ロボット掃除機は、中間時点でのロボット掃除機の位置を特徴線の中心位置に設定し、全ての感知データを中心位置を基準に座標変換して、図11に示すように地域座標系上に示す。また、ロボット掃除機は、感知データを極座標系に変換して角度で整列し、距離を利用してクラスタに分ける(S330)。ここで、ロボット掃除機は、各クラスタに対してパラメータを抽出するが、パラメータは、特徴線の長さ、分散、誤差などである。ロボット掃除機は、これを用いて線分の信頼度を演算する(S340)。図10及び図11において、bはロボット掃除機の位置、cは感知された物体の位置、dは抽出された特徴線の中心位置、e1、e2は特徴線をそれぞれ示す。
【0041】
図6に示すように、地域地図を作成するステップ(S400)は、各セクタの外郭を移動しながら物体を感知した結果に基づく感知データから抽出した特徴線の有効性を判断するステップ(S411)と、判断の結果、有効であれば、感知データの重要度を更新するステップ(S412)とを含む。
【0042】
また、地域地図を作成するステップ(S400)は、感知データから新たに抽出した特徴線と既に抽出した特徴線との類似度を判断するステップ(S421)と、判断の結果、2つの特徴線が類似すれば、2つの特徴線を併合するステップ(S422)とをさらに含む。
【0043】
地域地図を作成するステップ(S400)において、セクタの方向を補正するステップ(S431のYES)は、特徴線同士が垂直であると仮定して補正量を演算し、その演算された補正量に基づいてセクタの方向を補正する。
【0044】
図12に示すように、ロボット掃除機は、まず、各セクタのスタート位置で全ての特徴点の位置を初期化し、セクタの外郭を走行又は掃除しながら特徴点の位置をサンプリングする。ここで、特徴点bの位置は、ロボット掃除機の位置でもよく、感知された物体の位置でもよい。
【0045】
以下、物体を感知する時点でのロボット掃除機の位置を特徴点の位置として説明する。ロボット掃除機は、ステップS300のように新たに抽出した特徴線をマッピングし、新たに抽出した特徴線が以前に抽出した特徴線に類似するか否かを判断し(S421)、類似すれば特徴線を併合する(S422)。また、ロボット掃除機は、新たに抽出した特徴線が以前に作成された地域地図上の特徴線中に存在するか否かを判断する。ロボット掃除機は、その確率を用いて特徴線内の特徴点の重要度を更新し、その更新された重要度に基づいて特徴点を再びサンプリングする(S411、S412)。ロボット掃除機は、初期に抽出した特徴線が再び抽出されるまで、動作を繰り返し行う。実際には、ロボット掃除機の移動に応じて特徴点は少しずつ異なる位置を有し、従って、抽出される特徴線が異なる。最も一貫性のある特徴線を構成する特徴点が最も高い重要度を有し、それら特徴点を用いて特徴線を抽出し、地域地図を作成する。また、ロボット掃除機は、自己位置を最も高い重要度を有する特徴点に補正する。図12において、bは特徴点の位置、fは移動経路、gは特徴点の位置によるガウス分布(gaussian distribution)、hは特徴線をそれぞれ示す。
【0046】
図8に示すように、ロボット掃除機の制御方法は、感知の結果と特徴線を用いて位置を補正するステップ(S700)をさらに含む。ここで、位置を補正するステップ(S700)では、各セクタの外郭を移動しながら物体を感知した結果に基づく感知データから抽出した特徴線の有効性を判断する。また、位置を補正するステップ(S700)では、判断の結果、有効であれば、感知データの重要度を更新し、更新された感知データを用いて位置を補正する。ロボット掃除機は、壁面が垂直であると仮定して地域地図を補正し、その後、セクタ内部の掃除を行うが、このとき、自己位置を随時補正する。ロボット掃除機は、特徴点の位置をサンプリングし、新たに抽出した特徴線が以前に作成された地域地図上の特徴線中に存在するか否かを判断する。ロボット掃除機は、その確率を用いて特徴線内の特徴点の重要度を更新し、その更新された重要度に基づいて特徴点を再びサンプリングする。最も一貫性のある特徴線を構成する特徴点が最も高い重要度を有し、それら特徴点を用いてロボット掃除機の位置を補正する。図17に示すように、補正を行わない場合は、ロボット掃除機の位置誤差が累積される。しかし、ロボット掃除機は、動作を行うことにより、位置を精密に認識することができる。図17において、hは特徴線、eはセンサにより感知された移動経路、fは動作により認識した移動経路、iは現在のセクタの範囲をそれぞれ示す。
【0047】
図13〜図16を参照すると、ロボット掃除機は、地域地図を作成した後、家庭環境での主要特徴線が互いに垂直であると仮定してセクタの補正量を計算し、それに応じてセクタの方向を補正する。ロボット掃除機は、所定以上の信頼度を有する特徴線を選択し、各特徴線を垂直又は水平にするための最小補正量を演算する。ロボット掃除機は、類似の補正量を有する特徴線をグループ化する。ロボット掃除機は、信頼度を利用して各グループの特徴線の補正量に所定の加重値を乗算し、これらを合算することにより、各グループの特徴線の補正量を決定する。次に、ロボット掃除機は、各グループに含まれる特徴線の数と、対比グループの補正量を利用して、各グループの補正が適切であるかの信頼度を計算する。ここで、ロボット掃除機は、信頼度が最も高いグループの補正量をセクタの補正量に設定する。ロボット掃除機は、所定以上の信頼度を有する場合、セクタの基準点の方向を補正し(図13及び図14を参照)、以前のセクタを共に補正する(図15及び図16を参照)。ここで、aはセクタ、xは座標系、eは特徴線をそれぞれ示す。
【0048】
図7に示すように、全域地図を作成するステップ(S500)は、地域地図の各位置及びそれに応じた地域地図間の位置関係を利用して位相地図を作成するステップ(S510)を含む。全域地図を作成するステップ(S500)では、位相地図を利用して全域地図を作成する。
【0049】
ここで、全域地図を作成するステップ(S500)は、2つのセクタの特徴線を整合するステップ(S520)と、整合の結果に基づいて2つのセクタが重複するか否かを判断するステップ(S530)と、重複する2つのセクタ間の誤差を利用して位相地図を補正するステップ(S540)とをさらに含む。全域地図を作成するステップ(S500)では、補正された位相地図を利用して全域地図を作成する。
【0050】
図18及び図19を参照すると、ロボット掃除機は、以前に掃除を行ったセクタのうち、現在のセクタとの重複が多いセクタを選択する。次に、ロボット掃除機は、現在のセクタの特徴線と選択されたセクタの特徴線を比較し、同一であると認識された特徴線を用いて位置誤差を演算する。セクタとセクタとの間には位置の不確実性が存在する。従って、ロボット掃除機が走行や掃除を継続して行うほど不確実性は大きくなるので、2つのセクタ間の重複を計算する際には、2つのセクタ間の不確実性を考慮してセクタを拡張した後に比較する。ロボット掃除機は、特徴線同士を比較する上でも、セクタ間の不確実性を考慮する。もし、現在のセクタの特徴線と選択されたセクタの特徴線が同一でないと判断されれば、ロボット掃除機は、その次に重複が多いセクタを選択し、現在のセクタの特徴線と次に選択されたセクタの特徴線を比較する。もし、現在のセクタの特徴線と選択されたセクタの特徴線が同一であると判断されれば、ロボット掃除機は、2つのセクタが重複すると認識し、特徴線を利用して現在のセクタの位置誤差を計算する。図18及び図19において、aはセクタの範囲、gはガウス分布、Pはロボット掃除機の位置、eは特徴線をそれぞれ示す。
【0051】
図20を参照すると、ロボット掃除機は、2つのセクタが重複すると認識された場合、すなわち閉ループが感知された場合、重複すると認識されたセクタ間の位置誤差を低減するために位相地図を補正する。ロボット掃除機は、補正が終了すると、補正された位相地図を利用して全域地図を作成する。ロボット掃除機は、位相地図の補正にMahalanobis距離最小化(Mahalanobis distance minimization)などのアルゴリズムを用いる。また、ロボット掃除機は、全域地図を作成する際に、同一であると認識された隣接する特徴線を併合することもできる。図20において、pは特徴点、すなわちロボット掃除機の位置、a5’は同一であると判断されたセクタをそれぞれ示す。
【0052】
以上のように、本発明の実施形態によるロボット掃除機及びその制御方法においては、全領域を複数のセクタに区分し、安価な物体感知ユニットにより感知した感知データを用いて、各セクタに関する地域地図を作成し、掃除を行う。また、本発明の実施形態によるロボット掃除機及びその制御方法においては、複数のセクタに関する地域地図の位置及び地域地図間の位相関係を利用して全領域に関する全域地図を作成し、これを利用して自己位置を認識することにより、全領域をもれなく掃除することができ、未掃除領域への移動を容易にすることができる。
【符号の説明】
【0053】
100 物体感知ユニット
200 制御ユニット
210 特徴線抽出モジュール
220 地域地図作成モジュール
230 位置認識モジュール
240 全域地図作成モジュール
【特許請求の範囲】
【請求項1】
全領域を少なくとも1つのセクタに区分して掃除を行うロボット掃除機において、
前記セクタで周辺の物体を感知して感知データを出力する少なくとも1つの物体感知ユニットと、
前記感知データを用いて前記セクタに関してそれぞれ地域地図を作成し、前記セクタ間の位置関係に基づいて前記全領域に関する全域地図を作成する制御ユニットと
を含むことを特徴とするロボット掃除機。
【請求項2】
前記制御ユニットは、
前記感知データから少なくとも1つの特徴線を抽出する特徴線抽出モジュールと、
前記特徴線を用いて前記地域地図を作成する地域地図作成モジュールと
を含むことを特徴とする請求項1に記載のロボット掃除機。
【請求項3】
前記地域地図作成モジュールは、
前記特徴線を用いて前記セクタの方向を補正し、前記補正されたセクタに基づいて前記地域地図を作成することを特徴とする請求項2に記載のロボット掃除機。
【請求項4】
前記制御ユニットは、
前記感知データ及び前記特徴線を用いて位置を認識する位置認識モジュールをさらに含むことを特徴とする請求項2に記載のロボット掃除機。
【請求項5】
前記制御ユニットは、
前記セクタの各位置及びそれに応じた前記セクタ間の位置関係を示す位相地図を作成し、前記位相地図に基づいて前記全域地図を作成する全域地図作成モジュールをさらに含むことを特徴とする請求項2〜4のいずれか一項に記載のロボット掃除機。
【請求項6】
前記全域地図作成モジュールは、
2つのセクタの特徴線を整合し、前記整合の結果に基づいて2つのセクタが重複するか否かを判断することを特徴とする請求項5に記載のロボット掃除機。
【請求項7】
前記全域地図作成モジュールは、重複する2つのセクタ間の誤差を利用して前記位相地図を補正し、前記補正された位相地図を利用して前記全域地図を作成することを特徴とする請求項6に記載のロボット掃除機。
【請求項8】
全領域を複数のセクタに区分する段階と、
前記セクタで周辺の物体を感知する段階と、
前記感知の結果に基づいて前記セクタに関する地域地図を作成する段階と、
前記地域地図の位置関係に基づいて前記全領域に関する全域地図を作成する段階と
を含むことを特徴とするロボット掃除機の制御方法。
【請求項9】
前記感知の結果に基づいて少なくとも1つの特徴線を抽出する段階をさらに含み、
前記地域地図を作成する段階は、
前記特徴線を用いて前記地域地図を作成することを特徴とする請求項8に記載のロボット掃除機の制御方法。
【請求項10】
前記地域地図を作成する段階は、
前記特徴線を用いて前記セクタの方向を補正する過程と、
前記補正されたセクタに基づいて前記地域地図を作成する過程と
を含むことを特徴とする請求項9に記載のロボット掃除機の制御方法。
【請求項11】
前記特徴線を抽出する段階は、
前記感知の結果に基づいた感知データを累積する過程と、
前記感知データから前記特徴線を抽出する過程と、
前記感知データを前記特徴線に対応するクラスタに分離する過程と、
前記クラスタから前記特徴線の長さ及び信頼度を演算する過程と
を含むことを特徴とする請求項9に記載のロボット掃除機の制御方法。
【請求項12】
前記地域地図を作成する段階は、
各セクタの外郭を移動しながら物体を感知した結果に基づく感知データから抽出した特徴線の有効性を判断する過程と、
前記判断の結果、有効であれば、前記感知データの重要度を更新する過程と
を含むことを特徴とする請求項9に記載のロボット掃除機の制御方法。
【請求項13】
前記地域地図を作成する段階は、
前記感知データから新たに抽出した特徴線と既に抽出した特徴線との類似度を判断する過程と、
前記判断の結果、2つの特徴線が類似すれば、2つの特徴線を併合する過程と
をさらに含むことを特徴とする請求項12に記載のロボット掃除機の制御方法。
【請求項14】
前記セクタの方向を補正する過程は、
前記特徴線同士が垂直であると仮定して補正量を演算し、前記演算された補正量に基づいて前記セクタの方向を補正することを特徴とする請求項10に記載のロボット掃除機の制御方法。
【請求項15】
前記感知の結果と前記特徴線を用いて位置を補正する段階をさらに含むことを特徴とする請求項9に記載のロボット掃除機の制御方法。
【請求項16】
前記位置を補正する段階は、
各セクタの外郭を移動しながら物体を感知した結果に基づく感知データから抽出した特徴線の有効性を判断する過程と、
前記判断の結果、有効であれば、前記感知データの重要度を更新する過程と、
前記更新された感知データを用いて前記位置を補正する過程と
を含むことを特徴とする請求項15に記載のロボット掃除機の制御方法。
【請求項17】
前記全域地図を作成する段階は、
前記地域地図の各位置及びそれに応じた前記地域地図間の位置関係を利用して位相地図を作成する過程を含み、
前記位相地図を利用して前記全域地図を作成することを特徴とする請求項8〜16のいずれか一項に記載のロボット掃除機の制御方法。
【請求項18】
前記全域地図を作成する段階は、
2つのセクタの特徴線を整合する過程と、
前記整合の結果に基づいて2つのセクタが重複するか否かを判断する過程と、
重複する2つのセクタ間の誤差を利用して位相地図を補正する過程と
をさらに含み、
前記補正された位相地図を利用して前記全域地図を作成することを特徴とする請求項17に記載のロボット掃除機の制御方法。
【請求項1】
全領域を少なくとも1つのセクタに区分して掃除を行うロボット掃除機において、
前記セクタで周辺の物体を感知して感知データを出力する少なくとも1つの物体感知ユニットと、
前記感知データを用いて前記セクタに関してそれぞれ地域地図を作成し、前記セクタ間の位置関係に基づいて前記全領域に関する全域地図を作成する制御ユニットと
を含むことを特徴とするロボット掃除機。
【請求項2】
前記制御ユニットは、
前記感知データから少なくとも1つの特徴線を抽出する特徴線抽出モジュールと、
前記特徴線を用いて前記地域地図を作成する地域地図作成モジュールと
を含むことを特徴とする請求項1に記載のロボット掃除機。
【請求項3】
前記地域地図作成モジュールは、
前記特徴線を用いて前記セクタの方向を補正し、前記補正されたセクタに基づいて前記地域地図を作成することを特徴とする請求項2に記載のロボット掃除機。
【請求項4】
前記制御ユニットは、
前記感知データ及び前記特徴線を用いて位置を認識する位置認識モジュールをさらに含むことを特徴とする請求項2に記載のロボット掃除機。
【請求項5】
前記制御ユニットは、
前記セクタの各位置及びそれに応じた前記セクタ間の位置関係を示す位相地図を作成し、前記位相地図に基づいて前記全域地図を作成する全域地図作成モジュールをさらに含むことを特徴とする請求項2〜4のいずれか一項に記載のロボット掃除機。
【請求項6】
前記全域地図作成モジュールは、
2つのセクタの特徴線を整合し、前記整合の結果に基づいて2つのセクタが重複するか否かを判断することを特徴とする請求項5に記載のロボット掃除機。
【請求項7】
前記全域地図作成モジュールは、重複する2つのセクタ間の誤差を利用して前記位相地図を補正し、前記補正された位相地図を利用して前記全域地図を作成することを特徴とする請求項6に記載のロボット掃除機。
【請求項8】
全領域を複数のセクタに区分する段階と、
前記セクタで周辺の物体を感知する段階と、
前記感知の結果に基づいて前記セクタに関する地域地図を作成する段階と、
前記地域地図の位置関係に基づいて前記全領域に関する全域地図を作成する段階と
を含むことを特徴とするロボット掃除機の制御方法。
【請求項9】
前記感知の結果に基づいて少なくとも1つの特徴線を抽出する段階をさらに含み、
前記地域地図を作成する段階は、
前記特徴線を用いて前記地域地図を作成することを特徴とする請求項8に記載のロボット掃除機の制御方法。
【請求項10】
前記地域地図を作成する段階は、
前記特徴線を用いて前記セクタの方向を補正する過程と、
前記補正されたセクタに基づいて前記地域地図を作成する過程と
を含むことを特徴とする請求項9に記載のロボット掃除機の制御方法。
【請求項11】
前記特徴線を抽出する段階は、
前記感知の結果に基づいた感知データを累積する過程と、
前記感知データから前記特徴線を抽出する過程と、
前記感知データを前記特徴線に対応するクラスタに分離する過程と、
前記クラスタから前記特徴線の長さ及び信頼度を演算する過程と
を含むことを特徴とする請求項9に記載のロボット掃除機の制御方法。
【請求項12】
前記地域地図を作成する段階は、
各セクタの外郭を移動しながら物体を感知した結果に基づく感知データから抽出した特徴線の有効性を判断する過程と、
前記判断の結果、有効であれば、前記感知データの重要度を更新する過程と
を含むことを特徴とする請求項9に記載のロボット掃除機の制御方法。
【請求項13】
前記地域地図を作成する段階は、
前記感知データから新たに抽出した特徴線と既に抽出した特徴線との類似度を判断する過程と、
前記判断の結果、2つの特徴線が類似すれば、2つの特徴線を併合する過程と
をさらに含むことを特徴とする請求項12に記載のロボット掃除機の制御方法。
【請求項14】
前記セクタの方向を補正する過程は、
前記特徴線同士が垂直であると仮定して補正量を演算し、前記演算された補正量に基づいて前記セクタの方向を補正することを特徴とする請求項10に記載のロボット掃除機の制御方法。
【請求項15】
前記感知の結果と前記特徴線を用いて位置を補正する段階をさらに含むことを特徴とする請求項9に記載のロボット掃除機の制御方法。
【請求項16】
前記位置を補正する段階は、
各セクタの外郭を移動しながら物体を感知した結果に基づく感知データから抽出した特徴線の有効性を判断する過程と、
前記判断の結果、有効であれば、前記感知データの重要度を更新する過程と、
前記更新された感知データを用いて前記位置を補正する過程と
を含むことを特徴とする請求項15に記載のロボット掃除機の制御方法。
【請求項17】
前記全域地図を作成する段階は、
前記地域地図の各位置及びそれに応じた前記地域地図間の位置関係を利用して位相地図を作成する過程を含み、
前記位相地図を利用して前記全域地図を作成することを特徴とする請求項8〜16のいずれか一項に記載のロボット掃除機の制御方法。
【請求項18】
前記全域地図を作成する段階は、
2つのセクタの特徴線を整合する過程と、
前記整合の結果に基づいて2つのセクタが重複するか否かを判断する過程と、
重複する2つのセクタ間の誤差を利用して位相地図を補正する過程と
をさらに含み、
前記補正された位相地図を利用して前記全域地図を作成することを特徴とする請求項17に記載のロボット掃除機の制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2012−96028(P2012−96028A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2011−229841(P2011−229841)
【出願日】平成23年10月19日(2011.10.19)
【出願人】(502032105)エルジー エレクトロニクス インコーポレイティド (2,269)
【Fターム(参考)】
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願日】平成23年10月19日(2011.10.19)
【出願人】(502032105)エルジー エレクトロニクス インコーポレイティド (2,269)
【Fターム(参考)】
[ Back to top ]