(57)【要約】【課題】  本発明は、移動ロボットに関するものであり、より詳細には移動ロボットが清掃を実行する全体領域に対するコースマップを複数のサブ領域に分割して、サブ領域別に清掃を実行できる移動ロボットの経路計画方法および装置に関するものである。【解決手段】  本発明の実施形態による移動ロボットのための経路計画装置は、移動ロボットの経路情報を含むマップを生成するマップ生成部、および前記マップを複数のサブ領域に分割する仮想境界を抽出する仮想境界抽出部を含み、前記移動ロボットが前記複数のサブ領域を順に移動して清掃する。【選択図】      図１
2009165823.tif 000002
【特許請求の範囲】
【請求項１】
移動ロボットの経路情報を含むマップを生成するマップ生成部、および
前記マップを複数のサブ領域に分割する仮想境界を抽出する仮想境界抽出部を含み、
前記移動ロボットが前記複数のサブ領域を順に移動して清掃する、移動ロボットのための経路計画装置。
【請求項２】
前記経路情報は、特定のセルに対する清掃が完了したかを示す情報と、前記特定のセルを含む現在ラインおよび前記現在ラインの下位ラインに対する清掃が完了したかを示す情報を含む、請求項１に記載の移動ロボットのための経路計画装置。
【請求項３】
前記仮想境界は、障害物の間を横切るロードマップ（Ｒｏａｄ  ｍａｐ）を生成して、前記マップから配置空間（Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｓｐａｃｅ）を生成した後、前記ロードマップと前記配置空間を用いて抽出される、請求項１に記載の移動ロボットのための経路計画装置。
【請求項４】
前記仮想境界は、前記ロードマップと前記配置空間との交差点から前記ロードマップに垂直する方向に前記障害物まで延長して生成される、請求項３に記載の移動ロボットのための経路計画装置。
【請求項５】
前記ロードマップは、前記障害物から同じ距離にある中間点などを連結した一般化されたポロノイ図（Ｇｅｎｅｒａｌｉｚｅｄ  Ｖｏｒｏｎｏｉ  Ｄｉａｇｒａｍ）である、請求項４に記載の移動ロボットのための経路計画装置。
【請求項６】
前記配置空間は、前記マップに対して部屋の戸サイズの半分が侵食（Ｅｒｏｓｉｏｎ）によって生成され、前記配置空間の内部には複数の分離された領域が形成された、請求項４に記載の移動ロボットのための経路計画装置。
【請求項７】
前記仮想境界は、前記複数の分離された領域のうち少なくとも２つの分離された領域に隣接する交差点から抽出する、請求項６に記載の移動ロボットのための経路計画装置。
【請求項８】
前記複数のサブ領域のそれぞれのサブ領域に対して前記移動ロボットの移動時間が最も短い移動経路を設定する経路設定部をさらに含む、請求項１に記載の移動ロボットのための経路計画装置。
【請求項９】
前記移動経路は、前記それぞれのサブ領域に対して前記移動ロボットの出発地点および移動方向に応じて生成可能なすべての経路のうち前記移動ロボットの移動時間が最も短い経路である。請求項８に記載の移動ロボットのための経路計画装置。
【請求項１０】
前記移動ロボットは、清掃をする時には前記仮想境界を閉じて、前記複数のサブ領域間に移動する時には前記仮想境界を開く、請求項１に記載の移動ロボットのための経路計画装置。
【請求項１１】
移動ロボットの経路情報を含むマップを生成する段階と、
前記マップを複数のサブ領域に分割する仮想境界を抽出する段階、および
前記移動ロボットが前記複数のサブ領域を順に移動して清掃する段階と、を含む、移動ロボットのための経路計画方法。
【請求項１２】
前記経路情報は、特定のセルに対する清掃が完了したかを示す情報と、前記特定のセルを含む現在ラインおよび前記現在ラインの下位ラインに対する清掃が完了したかを示す情報を含む、請求項１１に記載の移動ロボットのための経路計画方法。
【請求項１３】
前記仮想境界を抽出する段階は、
前記マップから障害物の間を横切るロードマップを生成する段階と、
前記マップから配置空間を生成する段階、および
前記ロードマップと前記配置空間を用いて前記仮想境界を抽出する段階と、を含む、請求項１１に記載の移動ロボットのための経路計画方法。
【請求項１４】
前記ロードマップと前記配置空間を用いて仮想境界を抽出する段階は、
前記ロードマップと前記配置空間の交差点を抽出する段階、および
前記交差点から前記ロードマップに垂直する方向に前記障害物まで延長して前記仮想境界を生成する段階と、を含む、請求項１３に記載の移動ロボットのための経路計画方法。
【請求項１５】
前記ロードマップは、前記障害物から同じ距離にある中間点などを連結した一般化されたポロノイ図である、請求項１４に記載の移動ロボットのための経路計画方法。
【請求項１６】
前記配置空間は、前記マップに対して部屋の戸サイズの半分が侵食（Ｅｒｏｓｉｏｎ）によって生成され、前記配置空間の内部には複数の分離された領域が形成された、請求項１４に記載の移動ロボットのための経路計画方法。
【請求項１７】
前記仮想境界は、前記複数の分離された領域のうち少なくとも２つの分離された領域に隣接する交差点から抽出する、請求項１６に記載の移動ロボットのための経路計画方法。
【請求項１８】
前記複数のサブ領域のそれぞれのサブ領域に対して前記移動ロボットの移動時間が最も少ない移動経路を設定する段階をさらに含む、請求項１１に記載の移動ロボットのための経路計画方法。
【請求項１９】
前記移動経路は、前記それぞれのサブ領域に対して前記移動ロボットの出発地点および移動方向に応じて生成可能なすべての経路のうち前記移動ロボットの移動時間が最も少ない経路である、請求項１８に記載の移動ロボットのための経路計画方法。
【請求項２０】
前記移動ロボットは、清掃をする時には前記仮想境界を閉じて、前記複数のサブ領域間に移動する時には前記仮想境界を開く、請求項１１に記載の移動ロボットのための経路計画方法。
【請求項２１】
相手位置測定部と、
絶対位置測定部と、
障害物感知部と、
移動ロボットに対する経路情報を含むコースマップを生成するコースマップ生成部と、
前記コースマップを複数のサブ領域に分割して仮想境界を抽出する仮想境界抽出部と、
前記各サブ領域で最短時間内に移動可能な経路を設定する経路設定部、および
前記複数のサブ領域を一つずつ順次に清掃するように移動させる移動制御部と、を含む、移動ロボット。
【請求項２２】
前記経路情報は、特定のセルに対する清掃が完了したかを示す情報と、前記特定のセルを含む現在ラインおよび前記現在ラインの下位ラインに対する清掃が完了したかを示す情報を含む、請求項２１に記載の移動ロボット。
【請求項２３】
前記各仮想境界は、障害物の間を横切るロードマップを生成して、前記マップから配置空間を生成した後、前記ロードマップと前記配置空間を用いて抽出され、
前記各仮想境界は、前記ロードマップと前記配置空間の交差点から前記ロードマップに垂直する方向に前記障害物まで延長して生成される、請求項２１に記載の移動ロボット。
【請求項２４】
前記ロードマップは、前記障害物から同じ距離にある中間点などを連結した一般化されたポロノイ図である、請求項２３に記載の移動ロボット。
【請求項２５】
前記配置空間は、前記マップに対して部屋の戸サイズの半分が侵食（Ｅｒｏｓｉｏｎ）によって生成され、前記配置空間の内部には複数の分離された領域が形成された、請求項２３に記載の移動ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動ロボット（Ｍｏｂｉｌｅ  ｒｏｂｏｔ）に関するものであり、より詳細には移動ロボットが清掃を実行する全体領域に対するコースマップ（Ｃｏａｒｓｅ  ｍａｐ）を複数のサブ領域に分割してサブ領域別に清掃を実行できる移動ロボットの経路計画方法および装置に関するものである。
【背景技術】
【０００２】
一般的にロボットは産業用で開発されて工場自動化の一環として用いられ、または、人間が耐えられない極限の環境で人間の代わりに作業をすることに用いられてきた。この中で、家庭用ロボットは、産業用ロボットに限られていた既存の重工業中心のロボット工学分野を軽工業中心のロボット工学分野まで拡大させた主役として清掃用ロボットをその例にあげることができる。このような清掃用ロボットは、通常移動のための駆動手段と、清掃のための清掃手段、および自身の位置またはユーザリモコンの位置を測定するための位置測定手段などで構成される。
【０００３】
清掃用ロボットのような移動ロボットにおいて自らの正確な位置を把握することは最も基本的で重要な機能である。移動ロボットの絶対位置を計算する方法としては超音波センサを採用したビーコン（ｂｅａｃｏｎ）を家庭内に装着する方法や室内用ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）を用いる方法があって、相手位置を決定する方法ではエンコーダー（ｅｎｃｏｄｅｒ）から回転速度と直進速度を求めてこれを積分して位置を求める方法や、加速度センサから求めた加速度値を二回積分して位置を求める方法、またはジャイロセンサの出力値の回転速度を積分して方向を求める方法などが知られている。
【０００４】
しかし、移動ロボットが移動空間内で清掃などの特定の作業を行うためにはマップ（ｍａｐ）作成が必要とされ、このようなマップを作成するためにはＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ）以外にも、未知の地域を探険するための別途のアルゴリズムが追加に要求される。アルゴリズムとしては、簡単に壁に沿って動くウォールフォローイング（ｗａｌｌ−ｆｏｌｌｏｗｉｎｇ）を用いて移動空間の全体形状を知る方法や、さらに複雑には能動的ＳＬＡＭ（ａｃｔｉｖｅ  ＳＬＡＭ）などを用いて経路計画を実行する方法などがある。また、このような方法によってマップが生成された以後にも、移動ロボットがマップに含まれたすべての領域をもれなくカバーするための別途の経路計画（ｃｏｖｅｒａｇｅ  ｐａｔｈ  ｐｌａｎｎｉｎｇ）が追加的に必要とされる。
【０００５】
移動ロボットが広い領域をカバーするための方法として、全体領域を多数のセル（Ｃｅｌｌ）に分離して、各セルごとの清掃を完了した後、他のセルに移動するセル分割方式（Ｃｅｌｌ  Ｄｅｃｏｍｐｏｓｉｔｉｏｎ）が最も多く使われている。
【０００６】
移動ロボットはＩＲセンサや超音波センサ、レーザセンサなどを用いて環境に対する２次元的なマップ情報を作成する。このように作成されたマップをグリッドマップ（Ｇｒｉｄ  Ｍａｐ）といい、このグリッドマップはセンサデータから得られたものであるため、多くの不確実性および誤差がある。
【０００７】
セル区分方式のうち、約１〜２ｃｍサイズのセルを有する精密なグリッドマップ情報を用いて領域を区分して経路を計画するファインマップ（Ｆｉｎｅ  Ｍａｐ）の場合には隅々を清掃する経路計画を実行できるが、全領域に対するグリッドマップが未完成の状態では領域区分が難しくなり、経路計画が非効率的になる。そして、このように高い解像度のグリッドマップを用いると、要求されるメモリ量と計算量が多くなり、埋め込みシステム（Ｅｍｂｅｄｄｅｄ  Ｓｙｓｔｅｍ）ではリアルタイムで経路計画の実行ができない。
【０００８】
このような短所を克服するために同一なサイズの数十ｃｍ単位の正方形セルからなるコースマップを用いて短時間内に経路計画を実行する方式を使用することができる。この方式は、移動ロボットの吸入口のサイズである２０ｃｍ〜２５ｃｍ程度のコースマップを用いてロボットの移動経路を制御してリアルタイムでマップ作成を可能にした。しかし、この方式は全体領域の形状を考慮せず、あらかじめ定められている一方向だけに清掃を実行するため、清掃時間が長くかかり、且つ非効率的な清掃を実行するためユーザの要求を満足させることができなかった。
【特許文献１】特開第２００３−３４５４３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、前記した問題点を改善するために考案されたものであって、本発明が解決しようとする課題は、移動ロボットの経路を計画するにおいて清掃を実行する全体領域に対するコースマップを複数のサブ領域に分割してサブ領域別に効率的な清掃を実行できる移動ロボットの経路計画方法および装置を提供するものである。
【００１０】
本発明の技術的課題は、以上で言及したことに制限されず、言及されていないまた他の技術的課題は次の記載から当業者に明確に理解できるであろう。
【課題を解決するための手段】
【００１１】
前記技術的課題を達成するために本発明の一実施形態による移動ロボットのための経路計画装置は、移動ロボットの経路情報を含むマップを生成するマップ生成部、および前記マップを複数のサブ領域に分割する仮想境界を抽出する仮想境界抽出部を含み、前記移動ロボットが前記複数のサブ領域を順に移動して清掃する。
【００１２】
また、前記技術的課題を達成するために本発明の一実施形態による移動ロボットの経路計画方法は、移動ロボットの経路情報を含むマップを生成する段階と、前記マップを複数のサブ領域に分割する仮想境界を抽出する段階、および前記移動ロボットが前記複数のサブ領域を順に移動して清掃する段階と、を含む。
【発明の効果】
【００１３】
前述した通り、本発明の一実施形態による移動ロボットの場合、移動ロボットの経路を計画するにおいて清掃を実行する全体領域に対するコースマップを複数のサブ領域に分割して、サブ領域別に清掃を実行することによって清掃作業の効率性を高めることができる。また、サブ領域別に移動ロボットの最適移動経路を設定することによって清掃時間を減らすことができる。
【００１４】
一方、本発明は、移動ロボットのための経路を計画する方法に関するものであって、ここでは清掃用移動ロボットについて説明したが、これだけではなく、芝刈りロボット（Ｌａｗｎ  ｍｏｗｅｒ）、塗装ロボットなど一定の面積をロボットが移動しなければならないすべての応用分野に適用することができる。
【発明を実施するための最良の形態】
【００１５】
本発明の利点、特徴、及びそれらを達成する方法は、添付される図面と共に詳細に後述される実施形態を参照すると明確になるだろう。しかし、本発明は、以下で開示される実施形態に限定されるものではなく、互いに異なる多様な形態で具現されることが可能である。本実施形態は、単に本発明の開示が完全になるように、本発明が属する技術分野で通常の知識を有する者に対して発明の範疇を完全に知らせるために提供されるものであり、本発明は、請求項の範囲によってのみ定義される。なお、明細書全体にかけて、同一の参照符号は同一の構成要素を指すものとする。
【００１６】
以下、本発明の実施形態による移動ロボットの経路計画方法および装置を説明するためのブロック図または処理フローチャートに対する図を参照して説明する。この時、フローチャートの各ブロックとフロ−チャートの組合わせはコンピュータプログラムインストラクションにより実行可能なのが理解できるであろう。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータまたはその他のプログラマブルデータプロセッシング装備のプロセッサーに搭載されうるので、コンピュータまたはその他のプログラマブルデータプロセッシング装備のプロセッサーを通じて実行されるそのインストラクションがフローチャートのブロックで説明された機能を行う手段を生成するように機構を作れる。これらコンピュータプログラムインストラクションは特定方式で機能を具現するためにコンピュータまたはその他のプログラマブルデータプロセッシング装備を指向できるコンピュータ利用可能またはコンピュータ判読可能メモリに保存されることも可能なので、そのコンピュータ利用可能またはコンピュータ判読可能メモリに保存されたインストラクションはフローチャートのブロックで説明された機能を行うインストラクション手段を内包する製造品目を生産することも可能である。コンピュータプログラムインストラクションはコンピュータまたはその他のプログラマブルデータプロセッシング装備上に搭載することも可能なので、コンピュータまたはその他のプログラマブルデータプロセッシング装備上で一連の動作段階が実行されてコンピュータで実行されるプロセスを生成し、コンピュータまたはその他のプログラマブルデータプロセッシング装備を行うインストラクションはフローチャートのブロックで説明された機能を実行するための段階を提供することも可能である。
【００１７】
また、各ブロックは特定の論理的機能を行うための一つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を示すことができる。また、いくつの代替実行例では、ブロックで言及された機能が順序を外れて発生することも可能であるということに注目せねばならない。例えば、連続して図示されている２つのブロックは、実質的に同時に行われてもよく、またはそのブロックが時々該当する機能によって逆順に行われてもよい。
【００１８】
本実施形態で使用される「〜部」という用語は、ソフトウェア、ＦＰＧＡまたはＡＳＩＣのようなハードウェアの構成要素を意味し、「〜部」はある機能を果たす。しかし、「〜部」はソフトウェアまたはハードウェアに限定される意味ではない。「〜部」は、アドレッシングできる保存媒体にあるように構成されることもでき、一つまたはそれ以上のプロセッサーを再生させるように構成されることもできる。  したがって、実施形態での「〜部」は、ソフトウェアの構成要素、オブジェクト指向ソフトウェアの構成要素、クラスの構成要素およびタスク構成要素のような構成要素と、プロセス、関数、属性、プロシーザー、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、および変数を含む。構成要素と「〜部」のうちから提供される機能はさらに小さい数の構成要素およびモジュールに結合されたり追加的な構成要素とモジュールにさらに分離したりすることができる。
【００１９】
図１は、本発明の一実施形態による移動ロボットの構成を示すブロック図である。
【００２０】
本発明の一実施形態による移動ロボット１００は、相手位置測定部１１０、絶対位置測定部１２０、障害物感知部１３０、コースマップ生成部１４０、仮想境界抽出部１５０、経路設定部１６０および移動制御部１７０を含み構成され得る。
【００２１】
相手位置測定部１１０は、エンコーダー、ジャイロ、加速度センサなどの相手位置認識モジュールを用いて移動ロボット１００の位置を測定することができる。例えば、エンコーダーは移動制御部１７０に含まれる走行輪と連結されて、走行輪の回転速度を感知することができる。エンコーダーで感知した回転速度を積分することで、移動ロボット１００の位置（または動いた距離）および方向角（ｈｅａｄ  ａｎｇｌｅ）が分かる。一般的に、位置および方向角を包括して「姿勢（ｐｏｓｅ）」とも呼ぶ。一方、相手位置測定部１１０は絶対位置認識モジュールを用いて移動ロボット１００の位置を測定することもできる。
【００２２】
絶対位置測定部１２０は、絶対位置を計算するためのモジュールであって、カメラのような映像を用いる方式またはＲａｎｇｅ−Ｆｉｎｄｅｒのような距離情報を用いる方式などが使用され得る。絶対位置測定部の一例としてカメラを用いると、特徴点を抽出するに適した周辺映像を撮影することができる。特徴点は特定位置の固有の特徴が現れる点などを意味する。周辺映像は、天井、壁面、底などがあり得るが、映像変化の可能性が少なく特徴点を抽出するに適した照明を含む天井が周辺の映像としては最も適していると言える。この時、絶対位置測定部１２０は、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）、その他当業界に知らされた画像キャプチャ（Ｉｍａｇｅ  ｃａｐｔｕｒｅ）手段を含み得、得された映像のアナログ信号をデジタル信号に変換するＡＤＣ（Ａｎａｌｏｇ−ｔｏ−Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）をさらに含み得る。
【００２３】
一方、天井映像など周辺映像から得られた特徴点と移動ロボット１００の位置を対応させて特徴マップを生成することができる。したがって、撮影された映像から得られた特徴点と特徴マップを比較することによって移動ロボット１００の姿勢、すなわち位置および方向角を容易に把握することができる。
【００２４】
障害物感知部１３０は、移動ロボット１００の移動中に近接障害物を感知することができる。障害物感知部１３０は、例えば、ＩＲセンサ（Ｉｎｆｒａ−Ｒｅｄ  Ｓｅｎｓｏｒ）、超音波センサ、バンパーなどを含み得る。
【００２５】
コースマップ生成部１４０は、複数のセルからなるコースマップを生成することができる。コースマップに含まれた複数のセルを構成する各々のセルは障害物の有無情報および経路情報を含み得る。すなわち、コースマップ生成部１４０は、特徴マップを用いて移動ロボット１００の姿勢を測定して、姿勢に関する情報と障害物感知部１３０から提供される障害物センサ情報を用いて移動ロボット１００の位置別に障害物有無および経路情報を表示することによって経路マップ（Ｐａｔｈ  Ｍａｐ）を生成することができる。
【００２６】
経路情報とは、移動ロボット１００が今後何れの方向に移動して清掃作業およびマップ生成作業を行うのかを決定するための情報であって、この経路情報を用いて移動ロボット１００が一度通ってきた位置を再び通らないようにするのが重要である。好ましくは、経路情報は特定のセルに対する清掃が完了したかを示す情報と、特定のセルを含む現在ラインおよび現在ラインの下位ラインに対する清掃が完了したかを示す情報を含み得る。コースマップ生成部１４０は、コースマップの各セルに含まれた情報を用いて移動ロボット１００の通ってきた経路を把握することができ、全体移動空間を清掃するために移動する方向を把握することができる。
【００２７】
本発明の一実施形態によれば、コースマップ生成部１４０は数十  ｃｍ単位の複数のセルを含むコースマップに基づく経路マップを生成することができる。コースマップを形成する各々のセルのサイズは移動ロボット１００のサイズが概ね４０ｃｍである場合、移動ロボット１００の吸入口のサイズに対応して２０ｃｍ  〜  ２５ｃｍ程度が好ましい。このようにコースマップを形成する各々のセルのサイズを大きくできるため、計算量およびメモリ所要量が減少することができる。
【００２８】
図２から図４を参照して本発明の一実施形態によるコースマップ生成部がコースマップを生成する例を説明する。
【００２９】
図２は、本発明の一実施形態による移動ロボットのコースマップ生成部でコースマップを構成するセルに三つの属性を表示する例を示す図である。
【００３０】
図２に示す通り、コースマップは所定のサイズの複数のセルで構成されており、それぞれのセルは障害物の有無および経路情報を含み得る。例えば、コースマップを構成する各々のセルに、現在セルに障害物が存在するという第１表示（Ｂｌｏｃｋｅｄ）、現在セルに対する清掃が完了したかを示す第２表示（Ｃｌｅａｎｅｄ）および現在セルを含む現在ラインおよび現在ラインの下位ラインに対する清掃が完了したかを示す第３表示（Ｆｉｌｌｅｄ）のうち何れか一つの表示を含み得る。ここでは、Ｂｌｏｃｋｅｄセルは陰影で、ＣｌｅａｎｅｄセルはＣで、ＦｉｌｌｅｄセルはＦで各々表示する。
【００３１】
Ｃｌｅａｎｅｄ表示およびＦｉｌｌｅｄ表示は移動ロボット１００が後に何れかのセルに移動して清掃を実行しなければならないのかを示す情報、すなわち経路情報でありうる。Ｃｌｅａｎｅｄセルは、現在セルに対して清掃が完了したという意味であるため、後で現在セルを含むライン全体の清掃が完了する場合、ラインに含まれたセル全体がＦｉｌｌｅｄに転換されうる。
【００３２】
本発明の一実施形態によれば、コースマップは、複数のセルを含むラインの両端が障害物により妨げられる時までまだ通過していないセルに移動ロボット１００を移動させて、ラインの両端が障害物により妨げられると、次のラインに移動ロボット１００を移動させる動作を障害物が閉曲線を形成する時まで繰り返すことによって生成される。このような方式をウォーターフィリング（Ｗａｔｅｒ−ｆｉｌｌｉｎｇ）方式と称する。すなわち、清掃を実行しなければならない閉曲線内の空間が下段部から上段部まですべて満たされれば清掃が完了するのである。
【００３３】
図３および図４は、本発明の一実施形態による移動ロボットのコースマップ生成部がウォーターフィリング方式でコースマップを作成する例を示す図である。
【００３４】
移動ロボット１００は、先に、最初位置から左側に移動し、何れの表示がないセルに対して清掃を実行して該当セルをＣｌｅａｎｅｄセルに表示することができる。仮に、移動ロボット１００が左側に移動する途中に障害物に遭遇すれば障害物の位置に対応されるセルをＢｌｏｃｋｅｄセル（陰影セル）に表示し、再び右側に移動することができる。移動中にすでに清掃が完了したＣｌｅａｎｅｄセルに対しては清掃を実行する必要がない。同様に、移動ロボット１００が右側に移動する途中に障害物に遭遇すれば障害物の位置に対応されるセルをＢｌｏｃｋｅｄセルに表示することができる。仮に、左右が障害物により妨げられた一つのラインに対して清掃が完了すれば、移動ロボット１００は下の方ラインに移動することができる。移動ロボット１００はこのような過程を一つのラインずつ繰り返して実行することができる。
【００３５】
図３に示す通り、ライン２に含まれた６個のセルはその下および左右がＢｌｏｃｋｅｄセルによって囲まれているので、すべてＦｉｌｌｅｄセルに表示することができる。同様に、ライン３に含まれた４個のセルはその下がＦｉｌｌｅｄセルによって、且つ左右がＢｌｏｃｋｅｄセルによって囲まれているのでＦｉｌｌｅｄセルに表示することができる。
【００３６】
ライン２およびライン３に対してＦｉｌｌｅｄセルを表示した後、移動ロボット１００は再びライン４に復帰することができる。ところで、ライン４にある７個のＣｌｅａｎｅｄセルはまだＦｉｌｌｅｄセルに転換することができない。なぜなら、７個のセルのうち右側の２つのセルの下の方がまだ無表示セルであるからである。したがって、移動ロボット１００は無表示セルの位置に移動することができる。
【００３７】
図４に示す通り、移動ロボット１００がライン２およびライン３に残っている無表示セルをＦｉｌｌｅｄセルまたはＢｌｏｃｋｅｄセルにすべて処理した後、始めてライン４の７個のセルはＦｉｌｌｅｄセルに転換されることができる。そして、移動ロボット１００は引続き作業を実行するためにライン５に移動してＢｌｏｃｋｅｄセルが閉曲線を形成する時まで作業を繰り返して実行することができる。Ｂｌｏｃｋｅｄセルに囲まれた移動空間はすべてＦｉｌｌｅｄセルに満たされればすべての作業は終了する。
【００３８】
本発明の一実施形態によれば、コースマップ生成部１４０はコースマップに基づいて経路マップを作成して経路計画をするので少ない計算と簡単なアルゴリズムだけで全体清掃のための経路を速く生成することができる。
【００３９】
図５Ａは、移動ロボットが清掃する全体領域の例を示す図であり、図５Ｂは図５Ａの環境においてコースマップ生成部で生成したコースマップの例を示す図である。
【００４０】
図５Ａで清掃する全体領域は床２１１、４つの部屋（２１２から２１５）、台所２１６、２つのお手洗い（２１７，２１８）、３つのテラス（２１９，２２０，２２１）および押し入れ２２２で構成されている。床２１１、部屋（２１２から２１５）などの壁は実線で、家具などは点線で示した。図５Ｂではコースマップ生成部１４０で生成したコースマップ２００内部において壁、家具などの障害物によってＢｌｏｃｋｅｄセルに囲まれた領域のみを図示した。
【００４１】
再び図１を参照すると、移動ロボット１００の仮想境界抽出部１５０は、コースマップ２００を障害物に囲まれた複数のサブ領域に分割する仮想境界（Ｖｉｒｔｕａｌ  Ｄｏｏｒ）を抽出する役割を果たす。仮想境界は、移動ロボット１００が清掃を実行する全体領域を複数のサブ領域に区分する境界を意味する。さらに、複数のサブ領域は壁と部屋の戸に囲まれた部屋のような領域と家具または柱などに妨げられて形成された領域などの移動ロボット１００が清掃を実行する単位領域を意味する。したがって、仮想境界とは、部屋の戸のような実際に存在する境界はもちろん、家具または柱などの間に存在する仮想の区分境界を意味する。ここでは、壁、家具または柱などは障害物と通称する。
【００４２】
図６から図１０を参照して本発明の一実施形態による仮想境界抽出部１５０がコースマップ２００から仮想境界を抽出する一実施形態を説明する。
【００４３】
図６は、コースマップ生成部から生成したコースマップの例を示す図であり、図７は、仮想境界抽出部がコースマップからロードマップを生成する例を示す図である。
【００４４】
先ず、仮想境界抽出部１５０は、コースマップ２００から障害物の間を横切るロードマップ（Ｒｏａｄ  ｍａｐ）３１０を生成することができる。好ましくは、仮想境界抽出部１５０は、障害物から同じ距離にある中間点などを連結した一般化されたポロノイ図を生成することができる。図７に示す通り、一般化されたポロノイ図は障害物から最大距離を有するロードマップ３１０を生成して障害物の間を安全に走行できるようにすることができる。仮想境界抽出部１５０がポロノイ図を得るためのモポルロジ（ｍｏｒｐｈｏｌｏｇｙ）処理方法は公知されているため詳しい説明を省略する。
【００４５】
図８は、仮想境界抽出部がコースマップから配置空間を生成する例を示す図である。
【００４６】
仮想境界抽出部１５０は、ロードマップ３１０を生成してから、コースマップ２００から配置空間３２０を生成することができる。好ましくは、仮想境界抽出部１５０は、コースマップ２００に対して部屋の戸サイズの半分が侵食（Ｅｒｏｓｉｏｎ）によって配置空間３２０を生成することができる。このように生成された配置空間３２０の内部には複数の分離した領域が形成されうる。すなわち、コースマップ２００を対象に部屋の戸サイズの半分ぐらい侵食を実行すれば、部屋の戸のサイズ程度の通路は侵食によって妨げられ、妨げられた通路を基準に両側に各々２つの分離された領域が形成されうる。図８の場合には、すべて１１個の妨げられた通路を基準に１２個の分離された領域（点線で図示した）が形成されたことが分かる。
【００４７】
ここでは、仮想境界抽出部１５０がコースマップ２００からロードマップ３１０を生成した後に配置空間３２０を生成する順序を例にあげたが、配置空間３２０を生成してからロードマップ３１０を生成することもできる。
【００４８】
図９Ａから図９Ｃは、仮想境界抽出部がコースマップから生成したロードマップと配置空間の交差点から仮想境界を抽出する例を示す図である。
【００４９】
先ず、仮想境界抽出部１５０は、コースマップ２００から生成したロードマップ３１０と配置空間３２０の交差点を求めることができる。交差点は、配置空間３２０の妨げられた通路に形成され、図９Ａの場合には、合計１２個の交差点（３３１から３４２）が求めることができる。このように求めた交差点（３３１から３４２）は、仮想境界が存在する位置の候補地点になることができる。
【００５０】
そして、仮想境界抽出部１５０は、求めた交差点（３３１から３４２）のうち少なくとも２つの分離された領域と隣接する交差点（３３１から３４１）を抽出することができる。すなわち、仮想境界抽出部１５０は、求めた交差点（３３１から３４２）を中心にロードマップ３１０が２つの分離された領域を連結する交差点（３３１から３４１）のみを抽出することができる。したがって、図９Ａに示す通り、交差点３４２の場合は、ロードマップ３１０と配置空間３２０が交差する地点や交差点３４２を中心にロードマップ３１０は同じ領域である床２１１を連結するため除外することができる。
【００５１】
ロードマップ３１０が２つの分離した領域を連結する交差点（３３１から３４１）を抽出すれば、図９Ｂに示す通り、交差点３３１からロードマップ３１０に垂直する方向に両側の障害物まで延長することによって仮想境界３５１を生成することができる。
【００５２】
一方、仮想境界抽出部１５０は、仮想境界に区分されるサブ領域のうち面積が小さい領域は一つに併合（Ｍｅｒｇｅ）することができる。すなわち、図９Ｃに示す通り、部屋２１４は仮想境界３６０を中心に２つのサブ領域（２１４ａ、２１４ｂ）に分けることができるが、２つの領域（２１４ａ、２１４ｂ）それぞれの面積が相対的に小さいため一つのサブ領域２１４に併合することができる。
【００５３】
図１０は、仮想境界抽出部がコースマップから抽出した仮想境界の例を示す図である。
【００５４】
図１０に示す通り、仮想境界抽出部１５０は、全体の清掃領域で生成されたコースマップ２００から合計８個の仮想境界（３５１から３５８）を抽出することができる。この中で、仮想境界３５１から３５４は部屋２１２から２１５の部屋の戸と一致するものであって実際に存在する境界であることが分かる。また、仮想境界３５５から３５８は家具または柱などの間に存在する仮想の区分境界であることが分かる。したがって、コースマップ２００は合計９個のサブ領域（３６１から３６９）を含み得る。
【００５５】
本発明の一実施形態による移動ロボット１００の場合、移動ロボット１００の経路を計画するにおいて清掃を実行する全体領域に対するコースマップ２００を複数のサブ領域に分割して、サブ領域別に清掃を実行することによって清掃作業の効率性を高めることができる。
【００５６】
再び図１を参照すると、移動ロボット１００の経路設定部１６０は複数のサブ領域のそれぞれのサブ領域に対して移動ロボット１００の移動時間が最も短い移動経路（以下、最適移動経路という）を設定することができる。
【００５７】
経路設定部１６０は、それぞれのサブ領域に対して移動ロボット１００の出発地点および移動ロボット１００の移動方向に応じて生成可能なすべての経路のうち移動ロボット１００の移動時間が最も少ない経路を最適移動経路として決定することができる。すなわち、移動ロボット１００の移動方向、すなわち、水平（横）または垂直（縦）方向に対して移動ロボット１００の出発地点は４個（左側上段、左側下段、右側上段または右側下段）であり得、合計８個の経路のうちから最適移動経路を決定することができる。
【００５８】
この時、最適移動経路は移動ロボット１００が障害物に遭遇する地点の数が最小になる経路を意味する。これは障害物に遭遇する地点の数が少ないほど移動ロボット１００がラインを変えるための回転する回数が減って短い時間が必要とされるからである。但し、実際移動ロボットが移動中に障害物に遭遇する地点の数は、移動ロボット１００の出発地点、サブ領域の形状、移動ロボット１００の移動方向に応じて変わることもある。したがって、移動ロボット１００の出発地点、サブ領域の形状、移動ロボット１００の移動方向が決まっていない状況では移動ロボット１００が障害物に遭遇する地点の数を求める方法を単純化する必要がある。
【００５９】
その一実施形態として、経路設定部１６０は、それぞれのサブ領域内でセルからなるラインが障害物に遭遇する地点の数が最小になる経路を移動経路として設定することができる。また、一つのラインに対して両側に障害物が存在するため一つのラインが障害物に遭遇する地点の数は２つ（すなわち、ラインが障害物に遭遇する地点の数はラインの数の２倍）と見られる。したがって、サブ領域内で水平方向のラインの数と垂直方向のラインの数を比較して、ラインの数が少ない方向に沿って移動することを最適移動経路として設定することができる。
【００６０】
図１１Ａおよび図１１Ｂは経路設定部がコースマップを形成するサブ領域別に最適移動経路を設定する例を示す図である。
【００６１】
図１１Ａは、経路設定部１６０がコースマップ２００内で左側下段の部屋２１３の部屋の戸と壁に囲まれたサブ領域３６３に対して最適移動経路を設定する例を示す。図１１Ａに示す通り、サブ領域３６３内での水平方向のラインの数は１５個であり、垂直方向のラインの数は１２個である。したがって、垂直方向のラインに沿って移動することが最適移動経路であるといえる。
【００６２】
反面、図１１Ｂは、経路設定部１６０がコースマップ２００内で右側下段の部屋２１４の部屋の戸と壁に囲まれたサブ領域３６５に対して最適移動経路３７５を設定する例を示す。図１１Ｂに示す通り、サブ領域３６５内での水平方向のラインの数は１５個であり、垂直方向のラインの個数は１６個である。したがって、水平方向のラインに沿って移動することが最適移動経路３７５であるといえる。
【００６３】
ここでは、水平または垂直方向のラインが障害物に遭遇する地点の数を用いて移動ロボット１００の最適移動経路を計算したが、これに限定されず、当業者によって変更が可能である。
【００６４】
本発明の一実施形態による移動ロボット１００の場合、清掃を実行する各々のサブ領域別に移動ロボット１００の最適移動経路を設定することによって清掃時間を減らすことができ清掃作業の効率性を高めることができる。
【００６５】
再び図１を参照すると、移動制御部１７０は、移動ロボット１００の移動を制御してコースマップ生成部１４０が意図する位置に移動ロボット１００を移動させることができる。移動制御部１７０は、例えば、複数の走行輪と、走行輪を駆動するモータと、モータを制御するモータコントローラを含み構成され得る。移動ロボット１００の直線運動は複数の走行輪の回転速度を同一にさせてなり、曲線運動は複数の走行輪の回転速度を異ならせて成り立つ。一般的に走行輪各々はエンコーダーと連結される。
【００６６】
一方、移動ロボット１００はコースマップ生成部１４０で生成されたコースマップ２００と経路生成部１６０で生成された経路などを保存するメモリ（図示せず）を含み得る。メモリはＲＯＭ、  ＰＲＯＭ、  ＥＰＲＯＭ、  ＥＥＰＲＯＭ、フラッシュメモリのような不揮発性メモリ素子またはラム（ＲＡＭ）のような揮発性メモリ素子、ハードディスク、光ディスクのような保存媒体、またはその他当業界に知られている任意の他の形態で具現されることができる。
【００６７】
上記のように構成される本発明による移動ロボットの動作を説明すると次の通りである。
【００６８】
図１２は、本発明の一実施形態による移動ロボットのための経路を計画する方法を示す順序図である。
【００６９】
先ず、移動ロボット１００のコースマップ生成部１４０は、全体領域を走行しコースマップ２００を生成することができる（Ｓ４１０）。コースマップ２００を生成してから、仮想境界抽出部１５０はコースマップ２００から仮想境界を抽出することができる（Ｓ４２０）。
【００７０】
仮想境界を抽出するため、先ず、コースマップ２００からロードマップ３１０を生成して（Ｓ４２１）、配置空間３２０を生成することができる（Ｓ４２２）。仮想境界抽出部１５０がロードマップ３１０と配置空間３２０を生成する順序は変更することができる。そして、生成されたロードマップ３１０と配置空間３２０のすべての交差点を抽出して（Ｓ４２３）、抽出された交差点のうち少なくとも２つの分離された領域と隣接する交差点を抽出することができる（Ｓ４２４）。さらに、交差点からロードマップ３１０に垂直する仮想境界を生成することができる（Ｓ４２５）。一方、仮想境界に区分されるサブ領域のうち面積が小さい領域は一つに併合することができる。
【００７１】
仮想境界を抽出すれば、経路設定部１６０は各サブ領域別に最適の移動経路を設定することができる（Ｓ４３０）。
【００７２】
図１３は、本発明の一実施形態による移動ロボットがコースマップ内のサブ領域別に清掃を実行する方法を示す順序図である。
【００７３】
上記のように、仮想境界抽出部１５０がコースマップ２００から仮想境界を抽出して複数のサブ領域を生成して、境界設定部がそれぞれのサブ領域に対して最適移動経路を設定すると、移動制御部１７０は移動経路に応じて各サブ領域を移動して清掃を実行することができる（Ｓ４４０）。
【００７４】
サブ領域を清掃するために先ず、コースマップ２００上のすべての仮想境界を閉じて（Ｓ４４１）、最適移動方向にコースマップ２００を回転して（Ｓ４４２）、最適移動経路に沿って清掃を実行することができる（Ｓ４４３）。サブ領域内で清掃が完了したのかを判断して（Ｓ４４４）、清掃が完了した場合には、移動ロボット１００は次に清掃するサブ領域に移動することができる。
【００７５】
図１４は、本発明の一実施形態による移動ロボットがサブ領域の清掃をすることを示す図である。
【００７６】
図１４は、図１１Ａで図示されたコースマップ２００内で左側下段の部屋２１３のサブ領域３６３に対して清掃を実行することを示すものであって、仮想境界３５１，３５２，３５８これら全て閉じられた状態で経路設定部１６０から生成した移動経路３７３に沿って清掃を実行することを示す。清掃を実行するために最適の移動方向にコースマップ２００を回転したことが分かる。
【００７７】
再び図１３を参照すると、移動ロボット１００は、次のサブ領域に移動するためにコースマップ２００上のすべての仮想境界を開き（Ｓ４５１）、コースマップ２００に基づいてサブ領域間の最適移動経路を生成することができる（Ｓ４５２）。次のサブ領域での移動経路が存在するのかを判断して（Ｓ４５３）、移動経路が存在しない場合には、すべてのサブ領域の清掃が完了したことを意味するので、全体清掃を終了することができる。
【００７８】
仮に、Ｓ４５３の段階での判断結果、移動経路が存在する場合には、移動ロボット１００はサブ領域間の最適移動経路に沿って移動ができる（Ｓ４５４）。移動したサブ領域が清掃したサブ領域であるのかを判断して（Ｓ４５５）、すでに清掃したサブ領域である場合には、他のサブ領域に移動することができる（Ｓ４５４）。仮に、Ｓ４５５段階での判断結果、清掃したサブ領域ではない場合には、コースマップ２００上のすべての仮想境界を閉じて（Ｓ４４１）、サブ領域に対する清掃を実行することができる。
【００７９】
図１５は、本発明の一実施形態による移動ロボットがサブ領域の清掃を終えた後に次のサブ領域に移動することを示す図である。
【００８０】
図１５は、図１４のサブ領域３６３に対して清掃を終えた後、仮想境界をすべて開いた状態で次のサブ領域に移動するための経路を設定することを示す。清掃を終えたサブ領域３６３から次のサブ領域３６１，３６２，３６４に移動するための経路３８１，３８２，３８３を生成した後、移動経路３８１，３８２，３８３に沿って移動ができる。図１５に示す通り、移動したサブ領域がすでに清掃を終えたサブ領域３６１，３６２である場合には他のサブ領域に移動することができる。移動ロボット１００が清掃しないサブ領域３６４に移動をすれば、再びすべての仮想境界を閉じて清掃を実行することができる。
【００８１】
本発明が属する技術分野の通常の知識を有する者は、本発明が、その技術的思想や必須の特徴を変更しない範囲で他の具体的な形態で実施され得るということを理解できるものである。したがって、上記した実施形態はすべての面で例示的なものであり、限定的でないものと理解しなければならない。本発明の範囲は、前記詳細な説明よりは後述する特許請求の範囲によって示され、特許請求の範囲の意味、範囲およびその均等概念から導き出されるすべての変更または変形された形態が本発明の範囲に含まれると解釈されなければならない。
【図面の簡単な説明】
【００８２】
【図１】本発明の一実施形態による移動ロボットの構成を示すブロック図である。
【図２】本発明の一実施形態による移動ロボットのコースマップ生成部でコースマップを構成するセルに三つの属性を表示する例を示す図である。
【図３】本発明の一実施形態による移動ロボットのコースマップ生成部がウォーターフィリング方式でコースマップを作成する例を示す図である。
【図４】本発明の一実施形態による移動ロボットのコースマップ生成部がウォーターフィリング方式でコースマップを作成する例を示す図である。
【図５Ａ】移動ロボットが清掃する全体領域の例を示す図である。
【図５Ｂ】図５Ａの環境においてコースマップ生成部で生成したコースマップの例を示す図である。
【図６】コースマップ生成部で生成したコースマップの例を示す図である。
【図７】仮想境界抽出部がコースマップからロードマップを生成する例を示す図である。
【図８】仮想境界抽出部がコースマップから配置空間を生成する例を示す図である。
【図９Ａ】仮想境界抽出部がコースマップから生成したロードマップと配置空間の交差点から仮想境界を抽出する例を示す図である。
【図９Ｂ】仮想境界抽出部がコースマップから生成したロードマップと配置空間の交差点から仮想境界を抽出する例を示す図である。
【図９Ｃ】仮想境界抽出部がコースマップから生成したロードマップと配置空間の交差点から仮想境界を抽出する例を示す図である。
【図１０】仮想境界抽出部がコースマップから抽出した仮想境界の例を示す図である。
【図１１Ａ】経路設定部がコースマップを形成するサブ領域別に最適移動経路を設定する例を示す図である。
【図１１Ｂ】経路設定部がコースマップを形成するサブ領域別に最適移動経路を設定する例を示す図である。
【図１２】本発明の一実施形態による移動ロボットのための経路を計画する方法を示す順序図である。
【図１３】本発明の一実施形態による移動ロボットがコースマップ内のサブ領域別に清掃を実行する方法を示す順序図である。
【図１４】本発明の一実施形態による移動ロボットがサブ領域の清掃をすることを示す図である。
【図１５】本発明の一実施形態による移動ロボットがサブ領域の清掃を終えた後次のサブ領域に移動することを示す図である。
【符号の説明】
【００８３】
１００  移動ロボット
１１０  相手位置測定部
１２０  絶対位置測定部
１３０  障害物感知部
１４０  コースマップ生成部
１５０  仮想境界抽出部
１６０  経路設定部
２００  コースマップ
２１１  床
２１２、２１３、２１４、２１５  部屋
２１４ａ、２１４ｂ、３６１〜３６９  サブ領域
２１６  台所
２１７、２１８  お手洗い
２１９、２２０、２２１  テラス
２２２  押し入れ
３１０  ロードマップ
３２０  配置空間
３３１〜３４２  交差点
３５１〜３５８  仮想境界
３７３  移動経路
３７５  最適移動経路
【図１】
2009165823.tif 000003
【図２】
2009165823.tif 000004
【図３】
2009165823.tif 000005
【図４】
2009165823.tif 000006
【図５Ａ】
2009165823.tif 000007
【図５Ｂ】
2009165823.tif 000008
【図６】
2009165823.tif 000009
【図７】
2009165823.tif 000010
【図８】
2009165823.tif 000011
【図９Ａ】
2009165823.tif 000012
【図９Ｂ】
2009165823.tif 000013
【図９Ｃ】
2009165823.tif 000014
【図１０】
2009165823.tif 000015
【図１１Ａ】
2009165823.tif 000016
【図１１Ｂ】
2009165823.tif 000017
【図１２】
2009165823.tif 000018
【図１３】
2009165823.tif 000019
【図１４】
2009165823.tif 000020
【図１５】
2009165823.tif 000021