説明

移動型ロボット清掃機

【課題】効率的なカバレッジの処理ため、複数のモードで動作させることが可能な移動型ロボット清掃機を提供することを目的とする。
【解決手段】 移動型ロボット清掃機であって、円形のロボット本体を前進/回転させる駆動機構と、ロボット本体に接する障害物を検出する衝突センサと、ロボット本体の支配側の障害物を検出する追従センサと、床面の埃を収集する清掃ヘッドと、衝突センサと追従センサからの出力に基づいて駆動機構を制御するコントローラとを備え、該コントローラは、直線モードとバウンスモードを切り替えることができ、直線モードでは、衝突センサが障害物を検出するまでロボット本体を直線に沿って前進させ、バウンスモードでは、衝突センサが障害物を検出した場合に回転させて障害物から遠ざけ、その後、直線モードにて変更後の向きに前進させるよう制御する構成とした。

【発明の詳細な説明】
【技術分野】
【0001】
〔仮出願の引用〕
本PCT出願は、2001年6月12日出願の米国仮出願番号第60/297,718号の優先権を主張する。
【0002】
本発明は、自律型の走行装置やロボットに関し、さらに詳しくは、自動(robotic)清掃機や自動(robotic)芝刈り機に必要とされる、あるいは自動(robotic)清掃機や自動(robotic)芝刈り機として用いられる、特定の領域をカバーする方法及び可動性の(mobile)ロボット装置に関する。
【背景技術】
【0003】
以下の説明のために、例として、ロボット清掃(例えば、ほこり払い、磨き掃除、掃き掃除、擦り落とし、乾式モップ、又は吸引清掃)に関するものとしての従来技術が直面する問題に注目したものを挙げる。しかしながら、特許請求の範囲に記載された発明は、特許請求の範囲そのものによってのみ限定されるものであり、屋内の家庭用清掃以外にも本発明の多数の用途が、当業者には理解されるであろう。
【0004】
ロボット技術者は、自律型清掃の効率的な方法の開発に、長らく取り組んできた。概説すると、清掃ロボットの性能は、3つの成果基準に集約される。すなわち、カバレッジ(coverage)、清掃速度、及び知覚効率である。カバレッジとは、一定の清掃時間内にロボットが巡回可能な空間の割合(%)のことであり、稼働時間を無限に取った場合、ロボット清掃機のカバレッジが100%になることが理想的である。残念ながら、従来技術の設計では、多くの場合、清掃機が仕事を完了するために費やすことのできる時間に拘わらず、カバーされない領域が残ってしまう。完全なカバレッジを達成できないのは、機械的な制限による場合がある。例えば、ロボットの大きさや形状のせいでロボットがある領域に到達できない、あるいは、ロボットが閉じ込められて(trapped)、脱出できるようにその制御を変更することができないといったことである。また、完全にカバレッジを達成できないのは、カバレッジ(coverage)アルゴリズムが不適当なものであるということもあり得る。カバレッジアルゴリズムとは、ロボットがその動作を制御するのに用いる命令の組のことである。本発明の目的に関しては、カバレッジは、有限の清掃時間内にロボットが巡回可能な領域の割合(%)として取り扱われる。機械的及び/又はアルゴリズム的制約により、使用可能な空間内のある領域が、体系上無視されることがある。このような体系的な無視は、従来技術における重大な制限となっている。
【0005】
清掃ロボットの性能の第2の基準は、単位時間あたりに清掃される領域の単位として与えられる清掃レート(rate)である。清掃レートとは、清掃済みの床が増加してゆくレートのことである。カバレッジ(coverage)レートとは、床がすでに清掃済みか汚い状態かにかかわらず、ロボットが床を処理(ここでは清掃)してゆくレートのことである。ロボットの速度がvであって、ロボットの清掃機構の幅(有効幅とも呼ばれる)がwであるとき、ロボットのカバレッジレートは、単にwvとなる。しかし、清掃レートは、かなり低くなることが多い。
【0006】
閉じた空間で完全にランダムに動くロボットにおいて、ロボットのカバレッジレートと比べて、清掃レートは時間の関数として減少してゆく。これは、ロボットが長時間稼動すると、それだけ、清掃済みの領域を巡回しがちとなるためである。カバレッジレートと清掃レートとが等しくなり、同じ地点の清掃を不必要に繰り返すのを最小化するのが、最良の設計である。すなわち、清掃レートのカバレッジレートに対する比が、効率の基準であり、最適な清掃レートとは、既に清掃済みの領域を累積して又は余分に通過する回数を最小化しながら、指定された領域の最も大きな割合を処理(ここでは清掃)することを意味する。
【0007】
清掃ロボットの性能の第3の測定基準は、ロボットの知覚効率である。この基準は、従来技術においては無視されていた。計画的動作及び一定のパターンの動作は、利用者が計画的動作を含んだロボットをより効率的であると感じるので、好ましいものである。
【0008】
カバレッジ、清掃レート、及び知覚効率は、ここで検討する性能の基準であるが、本発明の好適な実施形態では、さらに、様々な形状及び大きさの部屋(様々な未知の障害物を含む)での使用の容易さ並びにロボットの構成要素のコストが考慮されている。また、例えば衝突回避や、その他の障害に対する適切な反応等の、他の設計基準も設計に影響し得る。
【0009】
Jones, Flynn & Seiger, Mobile Robots: Inspiration to Implementation second edition, 1999, A K Peters, Ltd.などで詳述されているように、真空吸引及び清掃ロボットを製作するための多くの試みがなされている。これらのロボットは、いずれも同様の課題に直面している。すなわち、限定された所与のエネルギー容量で、指定された領域を如何に効率的にカバーするかという課題である。
【0010】
我々は、決定論的な清掃としての最大効率清掃に言及する。この最大効率清掃では、清掃レートがカバレッジレートに等しい。図1Aに示すように、決定論的な経路に追従するロボット1は、重複して清掃することなく、領域2を完全にカバーするように動く。決定論的な清掃では、ロボットが自身の現在位置及び過去の経路を認識していることが必要である。これは即ち、測位システムが必要ということである。このような測位システム(走査レーザー距離計(scanning laser ranger)、超音波変換器、搬送位相差GPS(carrier phase differential GPS)、又は他の方法を利用する、決定論的な清掃が可能とするほどに正確である測位システム)は、実現不能なほどに高価になり得るとともに、特定の部屋の幾何学的形状に個別に対応したユーザによる設定を伴う。また、全地球測位を利用する方法は、通例、測位システムのどの部分が故障しても機能しなくなる。
【0011】
極めて精巧な(そして高価な)センサ技術を用いて決定論的な清掃を実現しているものの一例として、Denning Mobile Robotics and Windsor Industries製のRoboScrub装置がある。これは、ソナー(水中音波探知装置)、赤外線検出器、衝突センサ、及び高精度レーザーナビゲーションを用いたものである。RoboScrubのナビゲーションシステムでは、室内の様々な位置に大きなバーコードのターゲットを取り付けることが必要となる。また、RoboScrubが同時に少なくとも4つのターゲットを視認可能でなければならないという要件は、実用上の重大な問題である。従って、RoboScrubは、開放した広い領域の清掃用に限定されている。
【0012】
他の例として、Kent Corporation製のロボットであるRoboKentも、RoboScrubと同様の全地球測位戦略に追従している。RoboKentは、RoboScrubの、より高価なレーザー測位システムを不要としているが、そうすることによって、RoboKentは、例えば長い廊下等の、単純な矩形状の領域にのみ制限される。このような、比較的制約された領域では、ソナー測距による位置補正で充分である。決定論的な清掃システムの他のものは、例えば、米国特許第4,119,900号(Kremnitz)、第4,700,427号(Knepper)、第5,353,224号(Lee et al.)、第5,537,017号(Feiten et al.)、第5,548,511号(Bancroft)、第5,650,702号(Azumi)に記述されている。
【0013】
決定論的清掃の制約及び困難のため、ある種のロボットは、擬似決定論的方式に依拠している。擬似決定論的清掃を提供する一方法として、推測航法(Dead reckoning)として知られる自律型ナビゲーション方法がある。推測航法は、(例えば光学式軸エンコーダを用いて)ロボットの各駆動輪の回転を正確に計測することからなる。そして、ロボットは、既知の出発地点及び方向が与えられた状態で、推定位置を算出することができる。この技術に伴う問題として、車輪のすべりがある。すべりが生じると、車輪のエンコーダは、その車輪が地面に対してロボットを駆動していなくとも、車輪の回転を記録してしまう。図1Bに示すように、ロボット1が室内を進むにつれて、駆動輪のすべり誤差が累積するので、この種のシステムは、実用上の時間が経過した場合に信頼できないものとなってしまう。(その経路は、図1Aに示した決定論的な処理と比べると、もはや、しっかりと配列された列でできているというわけではない。)推測航法に依拠した結果、対処不能に系統的に無視されることが起こる。すなわち、床のある領域が清掃されないということである。
【0014】
擬似決定論的システムの一例として、Probotics, Inc.のCyeロボットがある。Cyeは、推測航法のみに依存しているので、その推測航法システムの性能を最大化するために、大胆な基準を採用している。Cyeは、既知の場所において利用者が設けた物理的登録地点で開始しなければならない。なお、この地点において、ロボットは、その位置及び向きを決定する。そして、Cyeは、その地点から離れて移動しながら、位置を常時監視し続ける。Cyeが移動してゆくと、その位置及び方向における不確実性が増加してゆく。Cyeは、較正地点を発見不能な程にこの誤差が大きくなる前に、必ず較正地点に帰還することになっている。較正地点が移動したり、遮られたり、あるいは、車輪が過剰にすべったりした場合には、Cyeは道に迷ってしまう(迷ったことが分からないこともある)。このように、Cyeは、比較的狭くて良好な環境でのみ使用するのに適している。このアプローチの他の例が、米国特許第5,109,566号(Kobayashi et al.)及び第6,255,793号(Peless et al.)に開示されている。
【0015】
ロボット清掃の他のアプローチとして、完全にランダムな動作のものがある。図1Cに示すように、障害物のない通常の部屋において、清掃時間がかなり長時間であれば、ランダムな動作のアルゴリズムにより、満足なカバレッジが得られる。決定論的アルゴリズムのロボットと比較して、ランダムな清掃ロボットは、満足なカバレッジを処理するのに長時間を要する。ランダムに動作するロボットは、障害物のない部屋の98%を清掃するという高い信頼度を得るのに、同じ清掃機能を有して同じ速度で動く決定論的ロボットの約5倍走行しなければならない。
【0016】
図1Dに、ランダムなアルゴリズムの処理の限界を示す。部屋の中に障害物5があると、その部屋を複数の小室の集合体として分割する効果が生じる。このような部屋におけるランダムなアルゴリズムのロボットのカバレッジの経時変化は、限定された容量の小室内で放出された気体の経時的密度に類似している。最初のうちは、気体密度は、気体が放出された小室内で最も高く、比較的離れた小室では最も低くなっている。同様に、初期段階にてロボットは、動作を開始したところの小室を、離れた小室よりも徹底的に清掃することになる。充分な時間が経過すると、気体は平衡に達して、全ての小室において密度が等しくなる。同様に、時間が経過すれば、ロボットは、全ての領域を徹底的に清掃することになる。しかしながら、実際の電源供給の制約により、通常保証されるのは、ロボットが障害物が散らかった状態の全領域を清掃するには不充分な時間にすぎない。我々は、この現象をロボット拡散問題と呼ぶ。
【発明の概要】
【発明が解決しようとする課題】
【0017】
以上検討したように、市販されている従来例では、未知の形状の領域に対しては、効率的なカバレッジアルゴリズムが得られない。上述のように、従来技術は、マーカーやビーコンの複雑なシステムに依拠しているか、あるいは、ロボットの用途が、単純な矩形状の室内に限定されている。擬似決定論的制御アルゴリズムを用いる試みでは、体系上無視された空間領域が、残されてしまうことがある。
【0018】
本発明の一つの目的は、効率的なカバレッジの処理ため、移動ロボットを複数のモードで動作させることが可能なシステム及び方法を提供することである。
【0019】
また、本発明の目的は、少なくとも1個のセンサを具備して、スポット処理、障害物追従、及び反跳(はね返り)等のいくつかのモードで動作する移動ロボットを提供することである。
【0020】
本発明の更なる目的は、カバレッジを確実にするために、障害物追従モードと反跳モードとを交互に繰り返す移動ロボットを提供することである。
【0021】
本発明の一つの目的は、ロボットが所定の距離を移動した後に、スポット処理へと復帰させることである。
【0022】
本発明の一つの目的は、障害物間の平均距離を監視し、該平均距離を動作モードを入れ替えるための入力として用いることが可能な移動ロボットを提供することである。
【0023】
本発明の別の目的は、ロボットが障害物追従モードで移動する距離を、障害物追従の頻度及びロボットの動作有効幅の関数として最適化し、障害物追従モードにて動作する最小距離および最大距離を提供することである。
【0024】
本発明の一つの目的は、複数の行動を実行可能なオペレーション・システムプログラムを有する移動ロボットのための制御システムを採用し、アービタ(arbiter)を用いて、ロボットにどの行動を取らせるかを選択させることである。
【0025】
本発明の別の目的は、様々な脱出プログラムや行動を組み込んで、ロボットがスタックしないようにすることである。
【0026】
最後に、本発明の一つの目的は、ここに開示された様々な目的及び利点を活かすように移動ロボットを制御する1つ又はそれ以上の方法を提供することである。
【課題を解決するための手段】
【0027】
上記目的のため、本発明において、任意の大きさおよび形状を有する床面を清掃する移動型ロボット清掃機であって、円形のロボット本体と、ロボット本体を進行方向において前進させると共に、ロボット本体を回転させて進行方向を変更する駆動機構と、ロボット本体の進行方向前部に配置され、進行方向における移動中にロボット本体が接触する障害物を検出する衝突センサと、進行方向に対し左右いずれか一方をロボット本体の支配側とし、当該支配側に接近する障害物を検出する追従センサと、ロボット本体の下面に配置され、少なくとも支配側の埃を収集する清掃ヘッドと、衝突センサと追従センサからの出力信号に基づいて駆動機構を制御するコントローラと、を備え、コントローラは、駆動機構を制御してロボット本体の移動モードを、少なくとも直線モードとバウンスモードとの間で切り換えることができ、直線モードにおいては、コントローラは衝突センサが障害物を検出するまで、ロボット本体を直線に沿って前進させ、バウンスモードにおいては、コントローラは、衝突センサが障害物を検出したとき、ロボット本体回転させて、前進方向が障害物から遠ざける方向となるよう向きを変え、その後、直線モードにて変更後の向きに前進させるよう制御することを特徴とする、移動型ロボット清掃機が提供される。
【図面の簡単な説明】
【0028】
【図1A】従来例における様々なロボットの処理パターンを示す図である。
【図1B】従来例における様々なロボットの処理パターンを示す図である。
【図1C】従来例における様々なロボットの処理パターンを示す図である。
【図1D】従来例における様々なロボットの処理パターンを示す図である。
【図2】本発明の好適な実施形態で用いられる移動ロボットの基本的な構成要素の模式的な平面図である。
【図3】図2に示すロボットのハードウェアブロック図である。
【図4A】ロボットが障害物に遭遇した角度を決定する方法を示す図である。
【図4B】ロボット制御システムの好適な実施形態の方位を示す図である。
【図5】本発明のそのままの動作モードを示す模式図である。
【図6A】螺旋行動の好適な実施形態のカバレッジパターンを示す模式図である。
【図6B】螺旋行動の別の実施形態のカバレッジパターンを示す模式図である。
【図6C】螺旋行動のさらに別の実施形態のカバレッジパターンを示す模式図である。
【図7】本発明の好適な実施形態のスポットカバレッジアルゴリズムを示すフローチャートである。
【図8A】障害物追従モードにおける動作の好適な実施形態のカバレッジパターンを示す模式図である。
【図8B】障害物追従モードにおける動作の好適な実施形態のカバレッジパターンを示す模式図である。
【図8C】障害物追従モードにおける動作の好適な実施形態のカバレッジパターンを示す模式図である。
【図8D】障害物追従モードにおける動作の好適な実施形態のカバレッジパターンを示す模式図である。
【図9A】本発明の好適な実施形態の障害物追従アルゴリズムを示すフローチャートである。
【図9B】障害物追従モードから離脱する場合を決定する好適なアルゴリズムを示すフローチャートである。
【図10】反跳行動の好適な実施形態のカバレッジパターンを示す模式図である。
【図11】本発明の好適な実施形態の室内カバレッジアルゴリズムを示すフローチャートである。
【図12A】脱出行動の例を示すフローチャートである。
【図12B】脱出行動の例を示すフローチャートである。
【図13A】単一の動作モードのみの移動ロボットのカバレッジパターンを示す模式図である。
【図13B】障害物追従モード及び室内カバレッジモードを用いた本発明の好適な実施形態のカバレッジパターンを示す模式図である。
【図14】スポットカバレッジ、障害物追従、及び室内カバレッジモードを用いた本発明の好適な実施形態の処理パターンを示す模式図である。
【発明を実施するための形態】
【0029】
本発明のこれらの特徴及びさらなる特徴は、添付の図面を参照して明らかとなるであろう。
【0030】
本発明では、移動ロボットが、未知の幾何学形状の部屋において有効な処理速度にて最大のカバレッジを提供するように、設計されている。また、パターン化された動作すなわち計画的動作が組み込まれているために、ロボットの知覚効率が向上している。さらに、好適な実施形態では、効率的に処理するためには、ロボットが未知の環境内で動作不能となることを防止できる制御システムが必要である。
【0031】
移動ロボットの物理的構成は、当該技術分野において既知であるので、ここでは、本発明の好適な、そして例示的な実施形態における構成要素について説明する。本発明の好適な一実施形態は、ある特徴を備えたほぼ円形状のロボット掃除機である。例えば図2に示すように、好適な実施形態の移動ロボット10は、シャーシ11を備え、このシャーシ11には、機械的及び電気的構成要素が支持されている。これらの構成要素として、種々のセンサが含まれており、その中には、ロボットの前側部分に配置された2つの衝突センサ12、13、ロボットのシエル(以下、ケースと記す)15に配置された4つの絶壁センサ14、及びロボットのケース15に搭載された壁面追従センサ16が含まれる。他の実施形態では、ロボットに1つだけのセンサが用いられてもよい。センサとしては、ソナー型、触覚型、電磁型、静電容量型等の様々な型のセンサが用いられてもよいことが、当業者には理解されるであろう。コスト上の制約により、本発明の好適な実施形態においては、衝突(触覚)センサ12、13と、絶壁センサ14及び壁面追従センサ16として反射型赤外線近接センサとが、用いられている。赤外線センサの詳細は、米国特許出願No.(U.S.S.N.)09/768,773に記載されている。この米国特許出願No. 09/768,773の開示は、ここに参照することにより本明細書に一体に組み入れられるものとする。
【0032】
ロボットの好適な実施形態は、2つの車輪20、該車輪をそれぞれ独立して回転させるモータ21、安価なローエンド・マイクロコントローラ22、及び充電可能なバッテリ23又は当該技術に既知の他の電源を備えている。これらの構成要素は当該技術で周知であるため、ここで詳細には説明しない。さらに、ロボット清掃機10は、1つ又はそれ以上の清掃ヘッド30を備えている。この清掃ヘッドは、真空掃除機、様々なブラシ、スポンジ、モップ、静電布、又は様々な清掃要素を組み合わせたものを含む。また、図2に示す実施形態には、サイドブラシ(side brush)32も含まれている。
【0033】
上述のように、ロボット清掃機10の好適な実施形態は、外側ケース15を備えており、該外側ケース15において、そのロボット10における支配的な側、非支配的な側、及び前側部分が規定されている。ロボットの支配的な側とは、ロボットが物体(又は障害物)の近傍を清掃するとき、その物体(又は障害物)に対して近接又は当接した状態に保たれる側のことである。図2に示すように、好適な実施形態では、ロボット10の支配的な側は、主たる進行方向に対し右手側となっている。但し、他の実施形態では、支配的な側が左手側であってもよい。さらに別の実施形態では、ロボットは対称であってもよく、その場合、支配的な側は必要でない。しかしながら、好適な実施形態では、コストの理由から支配的な側が選択されている。主たる進行方向を図2において、矢印40で示す。
【0034】
好適な実施形態では、2つの衝突センサ12、13が、矢印40で示した前進方向を基準として、車輪20の前方に配置されている。一方の衝突センサ13は、ロボット10の支配的な側に配置されており、他方の衝突センサ12は、ロボット10の非支配的な側に配置されている。これら両衝突センサ12、13が同時に作動したとき、ロボット10は、障害物が前方にあることを認識する。他の実施形態では、より多数又はより少数の衝突センサが用いられてもよい。同様に、任意の数の衝突センサが、清掃機を任意の数の放射状部分に区分するのに用いられてもよい。好適な実施形態では、衝突センサ12、13は、ロボット10と障害物とが接触すると作動する赤外線遮断センサであるが、機械スイッチや、ロボットに接触した物体の静電容量あるいは、接触時にバンパ内で圧縮される2枚の金属板間の静電容量を検出する静電容量型センサを含む他の型のセンサが用いられてもよい。非接触センサは、ロボットが物体に対して近接したことを、その物体に物理的に接触することなく検出可能であるが、非接触センサが用いられても良い。非接触センサとしては、静電容量センサや赤外光のカーテン(curtain of IR light)等がある。
【0035】
表面が接触(又は近接)したことだけでなく、接触したところのロボットに対する角度をも通知可能なセンサを備えていると、便利である。好適な実施形態では、ロボットは、左右の衝突スイッチ12、13が作動した場合に、両者の作動の時間差を算出することができる。そして、ロボットは、接触した角度を推定することができる。図4Aに示した好適な実施形態では、衝突センサは、ロボットの前側に、センサ42、43を有する単一の機械式バンパ44を備えている。センサ42、43は、バンパのほぼ両端にあり、該バンパの動作を検出する。バンパが圧縮されると、センサの事象同士の時間差が、ロボットが障害物に接触した角度を概算するのに用いられる。バンパが右側から圧縮された場合、バンパの追従及び衝突検出器の幾何学的形状により、右側の衝突センサが最初に衝突を検出し、引き続き、左側の衝突センサが衝突を検出する。このように、2つの衝突センサだけで、衝突角度を概算することができる。
【0036】
例えば、図4Aでは、衝突センサ42,43は、ロボットの前側部分を6つの領域(I〜VI)に分割可能である。1つの衝突センサが作動すると、ロボットは、他のセンサが作動するまでの(仮に作動するとして)時間を算定する。例えば、右側の衝突センサ43が作動すると、ロボットは、左側の衝突センサ42が作動するまでの時間(t)を測定する。tがt未満であれば、ロボットは、接触が領域IVで発生したものとみなす。tがt以上かつt未満であれば、ロボットは、接触が領域Vで発生したものとみなす。tがt以上(監視時間内に左側の衝突センサ42が全く作動しない場合を含む)であれば、ロボットは、接触が領域VIで発生したものとみなす。衝突センサが同時に作動した場合には、ロボットは、接触がまっすぐ前で発生したものとみなす。この方法は、使用される時間測定及びバンパの幾何学的形状次第で、バンパを任意の多数の領域に(より高精度で)分割するのに用いられてもよい。機能拡張として、上記の例のように2次元だけとする代わりに、3次元で衝突角度を算出するのに、3つのセンサを用いてもよい。
【0037】
また、好適な実施形態においては、ロボット10の支配的な側、壁面追従すなわち壁面検出センサ16が取り付けられている。好適な実施形態では、壁面追従センサは、壁面がしかるべき位置にある時、有限の大きさで壁面と交差するようにコリメートされた、発光器及び検出器の対からなる赤外線センサである。この焦点は、ロボットの前進動作方向において、駆動車輪よりも約3インチ前方に位置している。壁面検出の半径範囲は、約0.75インチである。
【0038】
また、好適な実施形態は、任意の個数の赤外線絶壁センサ14を備えており、これによって、清掃機が階段や他の垂直の落ち込みで転落しないようになっている。これら絶壁センサは、壁面追従センサと同様の構成であるが、壁ではなく床を観測する向きに配設されている。さらなる安全性及び検出手段として、ロボット10は、1つ又はそれ以上の車輪が床に支持されなくなったときにそれを検出可能な脱輪センサを備えている。従って、この脱輪センサは、絶壁だけでなく、電気スタンドの基部、床が高くなっているところ、コードの束等のように、ロボットがその上を走行し得る様々な障害物をも検出可能である。
【0039】
他の実施形態では、他の既知のセンサあるいはセンサの組み合わせが用いられてもよい。
【0040】
図3に、本発明の好適な実施形態のコントローラ及びロボットのハードウェアブロック図を示す。好適な実施形態では、Winbond W78XXXシリーズのプロセッサが用いられている。これは、36個の汎用I/Oポート、256バイトのRAM、及び16KのROMを有するMCS-51ファミリーと互換性のあるマイクロコントローラである。クロックは40MHzになっており、それが分割されて、プロセッサ速度が3.3MHzとなる。このプロセッサは、2つのタイマを備えている。これらのタイマは、ウォッチドッグタイマとしても使用され、また、センサを処理して出力信号を発生する、割り込み処理を起動するのにも使用される。また、第1のタイマの最下位ビットは、行動に必要となる擬似乱数として用いられる。また、2つの駆動輪からのエンコーダ入力を取り込むのに用いる2つの外部割込みがある。また、プロセッサは、ロボット制御プログラムのテスト及びデバッグに用いるUARTを有する。
【0041】
マイクロプロセッサのI/Oポートは、ロボットのセンサ及びモータに接続されており、ロボットの内部状態及びその環境に接続するインタフェースとなっている。例えば、脱輪センサが入力ポートに接続され、ブラシモータPWM信号が出力ポートに発生する。マイクロプロセッサ上のROMは、カバレッジ及びロボットの制御プログラムを格納するのに用いられる。これには、行動(後述)、センサ処理アルゴリズム、及び信号発生が含まれている。RAMは、平均衝突距離、走行時間及び距離、並びに制御上の行動ID及びその現在のモータコマンド等のロボットの動的状態を格納するのに用いられる。
【0042】
ロボット清掃機の移動を理解するため、図4Bに、座標平面上のx軸及びy軸の中心を基準とするロボットの方位を示す。この座標システムは、ロボットにも採用されている。ロボット10の方向に関する動作は、ロボット10が移動する半径として理解することができる。敏速に回転して壁100から離反するためには、ロボット10は、正の小さい値r(図4Bではr)を設定する。また、敏速に回転して壁へと向かうためには、ロボットは、負の小さな値r(図4Bではr)を設定する。一方、わずかに回転するためには、ロボットは、比較的大きな絶対値rを設定する。左回転するには(すなわち壁から離反するには)、正の値r、(図4Bではr)で、右回転するには(すなわち壁に向かってゆくには)、負の値r(図4Bではr)を設定する。この座標を用いた体系(scheme)は、後述の制御の例で用いられる。マイクロコントローラ22は、速度差を制御して回転半径を決定する。その速度差とは、各モータ21が個別に稼動するそれぞれの速度の差である。
【0043】
また、ある実施形態では、ロボットは、1つ又はそれ以上の利用者の入力手段が含まれる。例えば、図2に示すように、好適な実施形態には、3つの単純なボタン33が含まれている。これらのボタン33により、利用者はカバーされる表面の概略の広さを入力可能である。好適な実施形態では、これらのボタンには、「S」(小)、「M」(中)及び「L」(大)のラベルが付されており、それぞれ、11.1、20.8及び27.9平方メートルの部屋に対応している。
【0044】
上述のように、例示したロボットは、本発明を実施するのに好適な実施形態であり、当業者は、当該分野で既知の構成要素を選択して、特定の目的用にロボットを設計することができる。好適な設計例としては、以下の米国特許に記述されているものを含む。すなわち、米国特許第4,306,329号 (Yokoi)、第5,109,566号(Kobayashi et al.)、第5,293,955号(Lee)、第5,369,347号(Yoo)、第5,440,216号(Kim)、第5,534,762号 (Kim)、第5,613,261号(Kawakami et al.)、第5,634,237号(Paranjpe)、第5,781,960号(Kilstrom et al.)、第5,787,545号(Colens)、第5,815,880号(Nakannishi)、第5,839,156号(Park et al.)、第5,926,909号(McGee)、第6,038,501号(Kawakami)、第6,076,226号(Reed)であり、これらは、ここに参照することにより、本明細書に一体に組み入れられるものとする。
【0045】
図5は、清掃機の様々な動作モードの簡略ブロック図である。好適な実施形態では、そして単なる例としてであるが、動作モードには、スポット清掃(利用者又はロボットが清掃の特定の領域を指定する)、縁端清掃、及び室内清掃がある。各動作モードは、後述するように、命令及び/又内部行動の複雑な組み合わせを含んでいる。但し、そのような複雑さは、利用者には通常わからないようになっている。一実施形態では、利用者は、例えばセレクタスイッチや押しボタンのような入力要素を用いて特定の動作モードを選択することができる。別の好適な実施形態では、以下に説明するように、ロボットは、複数の動作モード間を自律的に循環してゆく。
【0046】
本発明のカバレッジロボットは、領域を効率的にカバーするのに、これらの様々な動作モードを用いる。当業者はこれらの様々な動作モードを様々なアーキテクチャーで構成できるが、好適な実施形態では、行動制御に依拠している。ここで行動とは、単に、相互に並列して実行される制御システムの複数の層のことである。そして、マイクロコントローラ22は、優先度が付された裁定スキームを実行して、所与のシナリオに対する支配的な行動を解決する。行動制御の説明は、Mobile Robots, supraに見られ、その本文は、ここに参照することにより本明細書に一体に組み入れられているものとする。
【0047】
すなわち、好適な実施形態では、ロボットのマイクロプロセッサ及び制御ソフトウェアは、多数の行動を同時に実行する。状況に応じて、ロボットの制御は、1つ又はそれ以上の様々な行動をもたらす。本発明の好適な動作を詳述する目的で、行動は、(1)カバー行動、(2)脱出行動、又は(3)利用者/安全行動として説明される。カバー行動は、主として、ロボットがカバー動作を効率的に実行できるように設計されている。脱出行動は、1つ又はそれ以上のセンサがロボットに自由な行動が許されていないことを示唆した場合に、優先的に実行される特別な行動である。本明細書の約束事として、以下に検討する行動は、全て大文字で記述される。
【0048】
1.カバレッジ行動(Coverage Behaviors)
図6乃至図14に、好適な各動作モード、すなわち、スポットカバレッジ、壁面追従(又は障害物追従)、及び室内カバレッジについての詳細を示す。
【0049】
動作モード:スポットカバレッジ例えばスポット清掃により、利用者は孤立した状態の汚れた領域を清掃可能である。利用者は、ロボット10を、清掃が必要な領域の中央近傍の床面上に配置し、スポット清掃動作モードを選択する。すると、ロボットは、例えば規定の半径内の近接領域にロボットの清掃ヘッド30やサイドブラシ32が接するように動作する。
【0050】
好適な実施形態では、スポット清掃を実現する方法は、図6Aに示すような外向きの螺旋運動すなわちSPIRAL行動を提供する制御アルゴリズムである。一般に、螺旋運動は、回転半径が時間の関数として増加させることにより実現させる。好適な実施形態では、支配的な側を、螺旋における外側、すなわち最前線側に維持するため、ロボット10の螺旋運動を反時計回りに開始する(図6Aに移動線45で示す)。図6Bに示す他の実施形態では、ロボット10の螺旋運動は、回転半径が減り続けるように、内方へと発生する。内向き螺旋を、図6Bに移動線45として示す。しかしながら、螺旋運動中に支配的な側を外側に保つことは、必須ではない。
【0051】
好適な実施形態で用いるスポット清掃方法(外向きスパイラル)を、図7で説明する。まず、螺旋運動が開始され(ステップ201)、rの値がその最小の正の値に設定される(可能な限り急な反時計方向の回転が生じる)と、螺旋行動は、θを螺旋行動開始時以降の角度変化を表すものとし、rの値をθの関数として再計算する(ステップ210)。式r=aθ(aは定数)を用いることにより、螺旋のきつさ、あるいは螺旋の所望の重複が制御可能である。(なお、θは、2πに規格化されていない。)aの値は、式a=d/(2π)で選択される。ここで、dは、螺旋の連続した2つの経路間の距離である。効率的な清掃のためには、dの値は、清掃機構30の幅未満とすべきである。好適な実施形態では、dの値は、清掃ヘッド30の幅の1/2乃至2/3に設定される。
【0052】
他の実施形態では、ロボットは、螺旋モードで移動した合計距離を記録している。それは、ある距離になると螺旋が崩れる、すなわち、表面に依存した車輪のすべり及び/又は螺旋概算アルゴリズムと計算精度の不正確さのため、時間が経過すると螺旋運動の中心点がずれる傾向にあるためである。ある実施形態では、ロボットは、6.3又は18.5メートルといった所定の距離(「最大螺旋距離」)を移動(ステップ240)した後に、螺旋モードから離脱する。好適な実施形態では、ロボットは、最初の螺旋を実行しているか又は後の螺旋を実行しているのかに依存する、複数の最大螺旋距離を用いる。衝突することなく最大螺旋距離に達した場合には、ロボットは、別の行動に制御を移し、例えば、主に直線に沿って移動を続ける。(好適な実施形態では、直線(STRAIGHT LINE)行動は、優先度の低いデフォルトの行動である。この行動は、他の行動がアクティブでないときに、ロボットをほぼ直線に沿って、約0.306m/sの予め設定された速度で進行させる。
【0053】
螺旋モードでは、障害物に遭遇した場合に様々な動作がなされる。例えば、ロボットは、(a)障害物を回避して反時計回りの螺旋運動を続けようとするか、(b)障害物を回避して反対方向に螺旋運動を続けようとする(例えば、反時計回りから時計回りに変更する)か、又は(c)動作モードを変更する。螺旋運動を逆回りで継続するのは、反射螺旋(reflective spiral)として知られており、図6Cに示されている。ここでは、ロボット10は、障害物101に接触したときに、動作経路45を反転させている。好適な実施形態では、ステップ220に詳述するように、衝突センサ12又は13が最初の障害物に遭遇したときに、ロボット10はスポット清掃モードから離脱する(ステップ230)。
【0054】
好適な実施形態は、スポットカバーについて、螺旋運動により説明しているが、自身により境界を設定する任意の領域が使用可能である。このような領域には、制限するものではないが、正方形、六角形、楕円等の通常の多角形状が含まれる。
【0055】
動作モード:壁面/障害物追従
壁面追従、すなわち清掃ロボットの場合には縁端清掃により、利用者は、部屋の縁端や室内の物体の縁端のみを清掃可能である。利用者は、清掃すべき縁端の近傍の床面上にロボット10を配置し、縁端清掃動作モードを選択する。すると、ロボット10は、縁端を辿りつつ、ロボットの清掃ヘッド30が当接した全ての領域を清掃する。
【0056】
図8に、部屋110の中でのロボット10の動作を示す。図8Aにおいて、ロボット10は、その支配的な側が壁面に隣接するように、壁面100に沿って配置される。すると、ロボットは、壁面に沿って、無制限に移動経路46を辿って走行する。同様に、図8Bでは、ロボット10は、障害物101に近接して配置される。すると、ロボットは、障害物101の縁辺に沿って、無制限に移動経路47を辿る。
【0057】
好適な実施形態における壁面追従モードでは、ロボットは、壁面追従センサ16を用いて、自身の位置を壁から所定の距離に位置させる。そして、ロボットは、壁の周囲に沿って移動する。図8A及び図8Bに示すように、好適な実施形態においては、ロボット10は、壁100と他の固体の障害物101とを区別できない。
【0058】
図9Aに、好適な実施形態において壁面追従に用いられている、1ビットのセンサでも、滑らかな壁面追従動作が得られる方法を示す。(ここで、1ビットのセンサは、壁とセンサとの間の距離ではなく、特定の体積内において壁が存在するかしないかのみを検出する。)衝突検出やソナーセンサ等の、壁や物体を検出する他の方法が用いられてもよい。
【0059】
壁面追従動作モード、すなわち好適な実施形態の壁面追従(WALL FOLLOWING)行動、が開始されると(ステップ301)、最初にロボットは、操舵のための初期値をrに設定する。そして、壁面追従(WALL FOLLOWING)行動は、壁面追従センサ16における発光−検出(emit-detect)ルーチンを開始する(ステップ310)。センサ16の赤外線発光部分に対する反射があると、それは、センサ16から所定の距離内に物体が存在しているものと解釈される。そして、壁面追従(WALL FOLLOWING)行動は、反射(物体が範囲内にある)から非反射(物体が範囲外となる)への遷移があったかどうかを判別する(ステップ320)。そのような遷移があった(すなわち、今や壁は範囲外にある)場合、rの値は最小値(絶対値が最大の負の値)に設定され、ロボットはわずかに右方へと向きを変える(ステップ325)。そして、ロボットは、発光−検出シーケンスを再開する(ステップ310)。反射から非反射への遷移がなかった場合、壁面追従(WALL FOLLOWING)行動は、非反射から反射への遷移があったかどうかを判別する(ステップ330)。そのような遷移があった場合には、rの値は、正の最大値に設定され、ロボットはわずかに左方へと向きを変える(ステップ335)。
【0060】
いずれのタイプの遷移事象も発生していなければ、壁面追従(WALL FOLLOWING)行動は、rの絶対値を低減した上で(ステップ340)、発光−検出シーケンス(ステップ310)を再開する。rの絶対値が減少することにより、ロボット10は、現在向いている方向がどちらであるにせよ、より鋭く回転するようになる。好適な実施形態では、rの絶対値の減少率は、移動距離に依存した一定の率となっている。
【0061】
壁面追従モードは、所定時間又はランダムな時間、所定距離又はランダムな距離、あるいは、ある追加条件が満たされるまで(例えば衝突センサが作動すること等)、継続し得る。ある実施形態では、ロボットは、壁面追従をいつまでも継続する。好適な実施形態では、図8C及び図8Dに示すように、最小移動距離及(Min)び最大移動距離(Max)が定められ、ロボットは、最大移動距離に達する(図8D)か、あるいは少なくとも最小移動距離を移動した後に障害物に突き当たる(図8C)まで、壁面追従(WALL FOLLOWING)行動を続ける。このような壁面追従(WALL FOLLOWING)行動の実装により、ロボットは、他の動作モードに比べて、適切な時間、壁面追従行動をとることが保証され、これにより全領域について、カバレッジ(coverage)を、体系的に無視することなく分布させる。壁面追従を増やすことにより、ロボットはより広い空間を移動可能となるが、ある一部の空間の清掃に関しては効率が低下する。なお、障害物検出後に壁面追従(WALL FOLLOWING)行動から離脱する傾向にあると、知覚効率は向上する。
【0062】
図9Bは、どのような場合に壁面追従(WALL FOLLOWING)行動から離脱するかを決定する本実施形態を示すフローチャートである。ロボットは、まず壁面追従の最小距離(dmin)及び壁面追従の最大距離(dmax)を、決定する。壁面(又は障害物)追従モードにあるとき、制御システムは、そのモードにてロボットが移動した距離(dWF)を監視している。もしもdWFがdmaxより大きくなった場合(ステップ350)、ロボットは、壁面追従モードから離脱する(ステップ380)。一方、dWFがdmax未満(ステップ350)であるとともに、dWFがdmin未満(ステップ360)である場合には、ロボットは、壁面追従モードに留まる(ステップ385)。もしもdWFがdminより大きく(ステップ360)、かつ障害物に遭遇した(ステップ370)場合には、ロボットは、壁面追従モードから離脱する(ステップ380)。
【0063】
理論的には、ロボットが壁面追従(WALL FOLLOWING)行動において移動する最適距離は、室内の広さと構成、並びにロボットの大きさの関数である。好適な実施形態では、壁面追従(WALL FOLLOWING)行動に留まるための最小距離及び最大距離は、室内のおおよその広さ、ロボットの幅、及びランダム要素に基づいて設定される。ここで、平均移動距離の最小値は、2w/pである。但し、wはロボットの作動要素の幅であり、pは障害物との所与の相互作用にてロボットが壁面追従(WALL FOLLOWING)行動に入る確率である。好適な実施形態においては、例えば、wは約15cmから約25cmの間であり、pは0.095である(障害物追従モードに入る前にロボットが6から15個の障害物に遭遇、すなわち平均で10.5個の障害物に遭遇の場合)。次に、最小距離が約115cmから約350cmの間でランダムに設定され、そして、最大距離が約170cmから約520cmの間でランダムに設定される。ある実施形態では、最大距離と最小距離との比は、2:3になっている。知覚効率のために、障害物追従モードにおけるロボットの初期の動作における距離は、障害物追従モードにおけるその後の動作よりも長く設定されていてもよい。また、利用者はロボットを始動させるときに、最も長い壁に沿ってそのロボットを配置してもよい。そうすることにより、知覚されるカバレッジ(coverage)も実際のカバレッジ(coverage)も広くなる。
【0064】
また、壁面追従モードにてロボットが移動する距離は、室内の「雑然度」である、遭遇する物体の数及び頻度(他のセンサにより検出)に依存して、そのロボットにより設定されてもよい。遭遇する物体が多いほど、ロボットは、全ての床面領域に進出するように、より長距離に亘って壁面を追従することになる。反対に、遭遇する物体が少ないほど、ロボットは、中央の空間を通過するのを優先させて、空間の縁端を過度にカバーしないように、より短く壁面を追従することになる。また、壁面追従(WALL FOLLOWING)行動の制御下にある最初の期間内は、ロボットがより長い距離又はより短い距離だけ壁面を追従可能となるように、初期壁面追従距離が含まれていてもよい。
【0065】
好適な実施形態では、ロボットは、例えば270°を超えて回転して壁(又は物体)を特定できなくなった場合、あるいは、壁面追従モードに入ってから合計で360°回転した場合にも、壁面追従モードを離脱するようにしてもよい。
【0066】
ある実施形態では、壁面追従(WALL FOLLOWING)行動がアクティブで、衝突があったとき、整列(ALIGN)行動がアクティブとなる。整列(ALIGN)行動により、ロボットは、反時計回りに回転して壁面に揃えられる。多数の小回転のサイクルに入らないように、ロボットは常に最小角度だけ回転する。最小角度の回転の後、ロボットは、壁面センサを監視する。壁面センサが壁面を検出し、その後に非検出となったなら、ロボットは回転をやめる。これは、壁面追従範囲の端部において、ロボットが壁面追従(WALL FOLLOWING)行動を開始するために良好に揃えられているためである。壁面センサがオンになってからオフになるのを、最大角度に達する時間内に検知しなかった場合、ロボットは、とにかく停止する。このことにより、ロボットは、壁が壁面センサの測定範囲外となったときに、回転し続けるのを防ぐことができる。直近の衝突が、支配的な側のバンパ側60°以内であった場合、最小角度が14°、最大角度が19°に設定される。それ以外の場合、衝突が支配的な側又は非支配的な側の前側30°以内であれば、最小角度が20°に設定され、最大角度が44°に設定される。整列(ALIGN)行動は、回転が完了すると、制御を壁面追従(WALL FOLLOWING)行動に渡す。
【0067】
動作モード:室内カバレッジ(coverage)
ここで、第3の動作モードを、室内カバレッジあるいは室内清掃モードと呼ぶ。ここの動作モードにより、利用者は、壁、階段、障害物、又は他の遮蔽物により区画された領域を清掃することが可能となる。このオプションを実行するためには、利用者は、ロボットを床に置いて、室内清掃モードを選択する。すると、ロボットは、到達可能な全領域を清掃しながら室内をあちこち移動する。
【0068】
好適な実施形態では、室内清掃行動を実行する方法は、直線(STRAIGHT LINE)行動と組み合わされた反跳(はね返り)(BOUNCE)行動である。図10に示すように、ロボット10は、障害物101又は壁100に突き当たって衝突センサ12及び/又は13が作動するまで移動する。それから、ロボット10は、回転して、移動を続ける。動作経路の例を、図11に線48として示す。
【0069】
図10に、ランダムな反跳行動のアルゴリズムを示す。ロボット10は、衝突センサ12及び/又は13が作動する(ステップ410)まで、前進動作を続ける(ステップ401)。そして、ロボット10は、1つ又は複数の衝突センサのどれが作動したかを検出したかに基づいて、新たな方向についての許容範囲を算出する(ステップ420)。そして、ロボットが遭遇した物体に対して90°乃至270°というような許容範囲内において、新たな進路を、ある種の乱数演算を行い、決定する。ロボットが突き当たった物体の角度は、上述のように、左右の衝突センサ間のタイミングを用いて決定される。そして、ロボットは、その新たな進路へと向きを変える。好適な実施形態においては、回転方向は、新たな進路へと向きを変えるのにどちらの方が動作が最小で済むかに応じて、時計回り又は反時計回りとなる。他の実施形態において、ロボットのカバレッジ(coverage)効率が増加するように、回転に、前進動作が伴う。
【0070】
ロボットによりなされる進路選択は、統計的に、許容範囲全体に均一に分散することができる。すなわち、許容範囲内のあらゆる進路に同等な機会があるようにすることができる。あるいは、我々は、ロボットを壁から垂直な方向に離れるように優先的に駆動するため、ガウス分布や、他の分布に基づいた統計手法を選択することができる。
【0071】
他の実施形態において、ロボットは、外部的なセンサの作動に基づくのではなく、ランダムにあるいは所定の時間毎に進路変更できる。あるいは、ロボットは、ロングレンジ(long range)センサに基づいて小規模の角度補正を継続的に続けて、物体に接触するのを避けるようにしてもよい。こうすることにより、湾曲した経路を有する表面領域をカバーできる。
【0072】
好適な実施形態では、ロボットは、反跳相互動作がある回数に達するまで、室内清掃モードに留まる。この回数は通常6から13の間である。
【0073】
2.脱出行動(Escape Behaviors)
領域をカバーしようとする際に、ロボットが全領域を効率的にカバーすることを妨げる、ロボットが遭遇し得るいくつかの状況がある。一般的な水準(class)のセンサと、脱出行動と呼ばれる行動が、ロボットがこのような状況から出られるように、あるいは、極端な場合には、ロボットが脱出できないと決定されたならばロボットをオフにするように、設計されている。ロボットの様々な行動の中で、脱出行動を優先させるかどうかを決定するために、ロボットは、以下のことを決定する。(1)脱出行動が必要であるか、(2)そうであるならば、どのような脱出行動が認められるか。
【0074】
例として、以下の状況により、室内清掃ロボットに必要とされる脱出行動、及び走行するのに適切な行動の状況を説明する。
【0075】
(i)状況1.ロボットは、スタックする可能性のある状況を検出する。例えば、ロボットにとって傾斜路のように作用する、敷物の高くなった所やスタンドの基部の近くを検出する。ロボットは、その状況から抜け出すために、小規模な「パニック」進路変更行動をとる。
【0076】
(ii)状況2.ロボットが物理的にスタックする。例えば、ロボットがソファーの下や壁に食い込む、コードや敷物の房に絡まる、あるいは、電気コードの束の上にスタックして車輪が空転する。ロボットは、大規模なパニック進路変更行動をとり、適切なモータをオフにして障害物から脱出する。
【0077】
(iii)状況3.ロボットが小さな限定された領域に入る。例えば、その領域は、ロボットが、椅子の脚やドレッサーの下に空いた領域、あるいはスタンドが部屋の隅に近接して置かれてできた小領域である。ロボットは、バンパを用いて縁端を辿り、及び/又は、その領域から脱出するためにパニック進路変更を実行する。
【0078】
(iv)状況4.ロボットがスタックして自由が奪われる。例えば、ロボットは、上記の分類(ii)の1つの事例になっていて、そのあらゆるパニック行動によっても自由になれない状況である。この場合、ロボットは動作を停止し、信号を発して利用者に救援を求める。これにより、バッテリ寿命が保たれ、床や家具の損傷が防げる。
【0079】
各脱出状況の必要性を検出するために、様々なセンサが用いられる。例えば、
(i)状況1.(a)ブラシやサイドブラシの電流が閾値よりも上昇しているとき、関連するモータに印加される電圧は減少する。このことが起こっているときにはいつでも、失速率の変数が高くなっている。電流が閾値未満であるときには、失速率は減少している。失速レベルが低い方の閾値を越えており、その変化率(傾斜)が正であれば、ロボットは、小規模なパニック進路変更行動を実行する。レベルがゼロになってから再び閾値に達したときに、小規模なパニック進路変更行動のみを再度実行する。(b)同様に、脱輪レベル変数がある。この脱輪レベル変数は、脱輪事象が検出されたときに増加し、時間とともに徐々に減少してゆく。脱輪事象が検出されて脱輪レベルが閾値を超えていれば(何回か脱輪が起こったばかりであることを意味する)、ロボットは、脱輪レベルに基づいて小規模又は大規模なパニック進路変更行動を実行する。
【0080】
(ii)状況2.(a)ブラシ失速率が高い方の閾値を超えていて、その変化率(傾斜)が正である場合、ロボットは、ブラシの回転を13秒間停止して、大規模なパニック進路変更行動を1、3、及び7秒間実行する。13秒が経過すると、ブラシは再び駆動される。(b)走行失速率が中間の閾値を超えていて、その変化率が正である場合、ロボットは、大規模なパニック進路変更行動を継続的に実行する。(c)走行失速率が高い方の閾値を超えた場合、ロボットは、全てのモータを15秒間停止する。15秒が経過すると、モータは再び駆動される。(d)ロボットのバンパが5秒間継続して押さえられた場合(側面食い込み状況の場合のように)、ロボットは、大規模なパニック進路変更行動を実行する。ロボットは、バンパが開放されるまで、5秒毎にパニック進路変更行動を繰り返す。(e)ロボットが20フィートに亘って何にも衝突しなければ、車輪が空転し、スタックしているものと推定される。スタック状態から抜け出すため、ロボットは、螺旋運動を実行する。螺旋運動終了後にも10フィートに亘って衝突がなければ、大規模なパニック進路変更行動を実行する。衝突するまで、これを10フィート毎に繰り返す。
【0081】
(iii)状況3.(a)衝突と衝突との間の平均距離が、低い方の閾値未満である場合、ロボットは、バンパを用いて縁端を辿って、移動が制限された領域からの離脱を試みる。(b)衝突と衝突との間の平均距離が、非常に低い閾値未満となった場合、ロボットは、大規模なパニック進路変更行動を実行して、移動が制限された領域から脱出する可能性が高くなるように向きを変える。
【0082】
(iv)状況4.(a)ブラシが失速して、何度かオフになったばかりで、ブラシ失速率が高く、しかも変化率が正である場合、ロボットは停止する。(b)走行が失速して、モータが何度かオフになったばかりで、しかも走行失速率が高くて変化率が正である場合、ロボットは停止する。(c)車輪のいずれかが2秒を超えて継続的に脱輪した場合、ロボットは停止する。(d)脱輪事象が短時間で何度も発生した場合、ロボットは停止する。(e)絶壁センサのいずれかが10秒間継続して絶壁を検出した場合、ロボットは停止する。(f)衝突センサが、ある時間(例えば10秒間)押下され続けた場合、ロボットがどこかに食い込んでいることが多いので、ロボットは停止する。
【0083】
説明用の例として、図12A及び図12Bに、上記の状況1、状況2、及び状況4で述べたように、失速したブラシモータについて脱出行動が必要であることを識別する、好適な実施形態で用いられる、解析を示す。ブラシの電流がブラシモータの所与のリミット値を超える(ステップ402)度に、率レジスタが1づつインクリメントされる(ステップ404)。一方、リミット値に達しなければ、率レジスタは1づつデクリメントされる(ステップ406)。個々の変化率レジスタは、間近の期間、例えば120サイクル、での直近の値を格納する。失速率が600(600は、1秒間の一定の失速に対応する)を超えていて(ステップ414)、変化率が正である(ステップ416)場合、脱出行動の実行が許容(ステップ418)であれば、ロボットは脱出行動を実行する(ステップ420)。実行後、失速率が0に戻るまで(ステップ422)脱出行動は禁止され(ステップ428)、再び許容され(ステップ424)、そして再度600に上昇する。これは、失速率が600を超えていると常に脱出行動が起動されてしまうということを、防止するためになされる。
【0084】
しかしながら、失速率が2400を超え(ステップ410)、変化率が正であると(ステップ412)、ロボットは、図12Bに示すように、脱出行動の特殊な組を実行することになる。好適な実施形態では、ブラシモータが停止され(ステップ430)、「レベル」が所定量(50〜90)だけインクリメントされ(ステップ430)、失速時間が設定され(ステップ430)、ブラシが停止されてから、パニック行動(ステップ452)は1秒(ステップ445)、4秒(ステップ450)、および7秒(ステップ455)経過時に実行される。そして、制御システムは、ブラシを13秒経過後に再起動する(ステップ440,442)。レベルは、毎秒1ずつデクリメントされてゆく(ステップ444)。レベルが最大の閾値に達すると(ステップ435)、ロボットは全ての動作を停止する(ステップ437)。また、ある種の失速が検出されると、ロボットは、モータの損傷を防ぐためにモータの電圧を制限する等の追加の動作を行う。
【0085】
ロボットの好適な実施形態は、4つの脱出行動を有する。すなわち、回転(TURN)、縁端(EDGE)、脱輪(WHEEL DROP)及び低速度(SLOW)である。
【0086】
〔回転(TURN)〕ロボットは、その場でランダムな方向へと回転する。なお、この回転は、高速(通常の回転速度の約2倍)で開始し、減速して、低速(通常の回転速度の約1/2)に達する。速度を変化させることにより、ロボットが様々な状況から脱出するのを助けられることがある。ロボットが回転すべき角度は、ランダムであってもよく、脱出の必要性の度合いの関数であってもよく、これらの双方であってもよい。好適な実施形態においては、パニック度の低い状況では、ロボットは45°〜90°のどこかまで回転し、パニック度の高い状況では、ロボットは90°〜270°のどこかまで回転する。
【0087】
〔縁端(EDGE)〕ロボットは、(a)衝突せずに60°回転するか、(b)縁端(EDGE)行動が開始されてから回転し、累積角度が170°を超えまで、衝突センサを用いて縁端を辿って行く。縁端(EDGE)行動は、平均の衝突距離が短い(但しパニック行動を起こす程には短くない)ときに有用になることがある。縁端(EDGE)行動により、ロボットは、該ロボットにとって物理的に可能な最も小さな開口をすり抜けることが可能となり、それで、ロボットは移動を制限された領域から脱出できる。
【0088】
〔脱輪(WHEEL DROP)〕ロボットは車輪を短時間逆方向に駆動してから、停止させる。車輪の逆方向の駆動は、車輪を反対側に少しだけ突き動かすことにより、本当は脱輪ではないのに誤って脱輪と判定される可能性を最小限とするのに役立つ。脱輪が2秒以内に解消すると、ロボットは通常の動作を継続する。
【0089】
〔低速度(SLOW)〕脱輪又は絶壁検出器がオフになると、ロボットは、0.5mの距離に亘って速度を0.235m/s(すなわち通常速度の77%)まで落としてから、通常の速度に復帰する。
【0090】
カバー(coverage)行動及び脱出行動に加えて、ロボットは、安全性や有用性に関する追加の動作を含んでいてもよい。例えば、所定時間を超えて絶壁が検出され続けた場合、ロボットは停止する。絶壁が最初に検出されたとき、絶壁回避反応行動が、直ちに、あらゆる他の行動に対して優先し、ロボットが絶壁を検出しなくなるまで、該ロボットを絶壁から離れるように回転させる。好適な実施形態では、絶壁検出事象によっては、動作モードは変わらない。他の実施形態では、ロボットは、壁面追従行動に類似したアルゴリズムを用いて、絶壁の追従が可能であってもよい。
【0091】
以上、3つの動作モードにおける個々の動作を説明した。次に、我々は、様々なモード間の切替の好適なモードについて説明する。
【0092】
最適なカバー(coverage)及び清掃効率を達成するために、好適な実施形態では、様々なカバー(coverage)動作に優先度を与える制御プログラムが用いられる。(必要であれば、脱出行動に常に高い優先度が与えられる。)例えば、ロボット10は、特定の時間又はランダムな時間、壁面追従モードを用い、その後、動作モードを室内清掃に切り替えてもよい。動作モードを切り替えることにより、本発明のロボット装置は、カバレッジ、清掃効率、及び知覚効率を向上させることができる。
【0093】
例として、図13A及び図13Bに、「犬用の骨(ドッグボーン)」形状の環境中の移動ロボット10を示す。この環境では、ほぼ同じ寸法の2つの部屋115,116が、狭い通路105でつながっている。(この例は、先に検討したロボット拡散問題を示している。)この配置は、典型的な室内環境を単純化したものである。ここで、「ドッグボーン」は、室内の障害物の配置により発生していてもよい。図13Aでは、ロボット10がランダムな反跳モードで動作する場合の、ロボット10の通り道が線54として
描かれている。ロボット10は、限定された走行を行っている間には、部屋116から部屋115へと移動することができない。なぜなら、ロボットのランダムな行動が起こらず、そのロボットが通路105を通過するように導かれるということが起こらないためである。この方法では、カバレッジが最適なものよりもはるかに狭くなり、ロボット10が自身の経路に何度も交差することで、清掃速度が低下してしまう。
【0094】
図13Bに、ロボット10の好適な実施形態の動作を示す。ここで、ロボットは、反跳動作と壁面追従動作とを交互に繰り返す。ロボット10は、経路99を辿りながら、壁100に遭遇するたびに、ロボットの直径の2倍に等しい距離だけ壁面に追従している。経路99において、ロボットが壁面追従モードで動作している部分には、符号51が付されている。この方法により、カバレッジが非常に拡がり、それに伴って、清掃速度及び知覚効率も向上している。
【0095】
最後に、本発明の好適な実施形態を図14に詳細に示す。この図では、全ての動作モードが使用されている。好適な実施形態では、清掃機10は、螺旋モードで始動する(移動線45)。反射螺旋パターンが用いられる場合、清掃機は、所定の回数又はランダムな回数だけ反射事象が起こるまで、螺旋モードを継続する。通常の螺旋が用いられる場合(図14に示すように)、清掃機は、衝突センサの事象が起こるまで継続することになる。好適な実施形態では、きっかけとなる事象が起こると、直ちに、清掃機は壁面追従モードに入る。
【0096】
そして、好適な実施形態では、清掃機は、衝突センサ事象に基づき、あるいは壁面追従アルゴリズムの完了に基づいて、壁面追従モード(移動線51)とランダムな反跳モード(動作線48)との間を切り替える。ある実施形態では、清掃機は、螺旋モードには回帰しない。一方、他の実施形態では、清掃機は、所定の事象又はランダムな事象に基づいて、螺旋モードに入ることがある。
【0097】
好適な実施形態では、ロボットは、衝突と衝突との間の平均移動距離を記録し続けている。そして、ロボットは、以下の式:((3/4)×ABD)+((1/4)×(最新の衝突間距離))を用いて、平均衝突距離(ABD)を算出する。ABDが所定の閾値を超えた場合、ロボットは、再び螺旋行動に優先権を与える。さらに別の実施形態では、ロボットは、螺旋駆動に再び優先権が与えられる前に、最低限の回数の衝突事象をもってもよい。他の実施形態では、ロボットは、例えば20フィートの最大距離を移動した場合に、衝突事象がなくとも、螺旋行動に入ってもよい。
【0098】
また、ロボットは、全ての動作を停止する状況を有していてもよい。例えば、マニュアルで選択可能な所望の室内の大きさで、最小及び最大走行時間が設定され、最小合計距離が選択される。最小時間及び最小距離に達すると、ロボットは停止する。同様に、最大時間に達するとロボットは停止する。
【0099】
無論、動作モード間の選択のためのマニュアル制御が、用いられてもよい。例えば、動作モードや行動を変更したりこれらに影響を与えたりするために、リモートコントロールが用いられてもよい。同様に、ケースに取付けられたスイッチ自体が、動作モードの設定やモード間の切替に用いられてもよい。例えば、室内の雑然度を設定するスイッチが用いられてもよい。これにより、ロボットにおいて、限定された検出能力で、より適切なカバレッジアルゴリズムが可能となる。
【0100】
本発明そのものの一部が、清掃の他にも様々な目的のための自律型車両に用いられてもよいことが、当業者には理解されるであろう。本発明の範囲は、与えられた実施例によってではなく、特許請求の範囲に記載の請求項及びそれの法的に等価なものにより規定されるべきである。

【特許請求の範囲】
【請求項1】
任意の大きさおよび形状を有する床面を清掃する移動型ロボット清掃機であって、
円形のロボット本体と、
前記ロボット本体を進行方向において前進させると共に、前記ロボット本体を回転させて前記進行方向を変更する駆動機構と、
前記ロボット本体の進行方向前部に配置され、前記進行方向における移動中に前記ロボット本体が接触する障害物を検出する衝突センサと、
前記進行方向に対し左右いずれか一方を前記ロボット本体の支配側とし、当該支配側に接近する障害物を検出する追従センサと、
前記ロボット本体の下面に配置され、少なくとも前記支配側の埃を収集する清掃ヘッドと、
前記衝突センサと前記追従センサからの出力信号に基づいて前記駆動機構を制御するコントローラと、を備え、
前記コントローラは、前記駆動機構を制御して前記ロボット本体の移動モードを、少なくとも直線モードとバウンスモードとの間で切り換えることができ、
前記直線モードにおいては、前記コントローラは前記衝突センサが障害物を検出するまで、前記ロボット本体を直線に沿って前進させ、
前記バウンスモードにおいては、前記コントローラは、前記衝突センサが障害物を検出したとき、前記ロボット本体回転させて、前進方向が前記障害物から遠ざける方向となるよう向きを変え、その後、直線モードにて変更後の向きに前進させるよう制御することを特徴とする、移動型ロボット清掃機。
【請求項2】
床表面における垂直な落ち込みを検出するための絶壁センサと、
前記駆動機構が備える車輪の低下を検出する脱輪センサと、をさらに備え、
前記コントローラは、少なくとも前記絶壁センサまたは前記脱輪センサのいずれか一方の検出結果に応じて、前記駆動機構を制御することを特徴とする、請求項1に記載の移動型ロボット清掃機。
【請求項3】
前記衝突センサ、前記絶壁センサ、または前記脱輪センサにおいて、障害物、絶壁または脱輪が、それぞれ所定の時間以上継続して検出された場合に、前記移動型ロボット掃除機を停止すことを特徴とする、請求項2に記載の移動型ロボット清掃機。
【請求項4】
前記コントローラは、前記脱輪センサによって脱輪事象が検出されたときに増加し、時間とともに徐々に減少する脱輪レベルに基づいて、前記駆動機構を制御することを特徴とする、請求項2または3に記載の移動型ロボット清掃機。
【請求項5】
前記衝突センサは、前記支配側および非支配側にそれぞれ、障害物への衝突を検出する第一および第二の検出部を備え、前記コントローラは、前記衝突センサが障害物に衝突したとき、前記第一および第二の検出部による衝突の検出の時間差に基づいて、前記障害物の前記ロボット本体が衝突した面に対して前記ロボット本体の進行方向が成す角度を推定することを特徴とする、請求項1から4のいずれか一項に記載の移動型ロボット清掃機。
【請求項6】
前記コントローラは、前記バウンスモードへの移行時に前記ロボット本体を回転させる際、前記コントローラが前記第一および第二の検出部による衝突の検出の時間差に基づいて推定した前記障害物の前記ロボット本体が衝突した面に対して前記ロボット本体の進行方向が成す角度に基づき、前記ロボット本体の回転量が少なくなる方向に前記ロボットを回転させることを特徴とする請求項5に記載の移動型ロボット清掃機。
【請求項7】
前記コントローラは、前記ロボット本体をバウンスモードで駆動する際、前記障害物に衝突後に該衝突面から離れる方向に変更した前記ロボット本体の進行方向は、所定の方法で決定することを特徴とする、請求項1から6のいずれか一項に記載の移動型ロボット清掃機。
【請求項8】
前記所定の方法は、前記ロボット本体の回転角度を所定の角度範囲内でランダムな角度に設定することである、請求項7に記載の移動型ロボット清掃機。
【請求項9】
前記直線モードにより前記ロボット本体が前進し、前記障害物センサが障害物を検出したとき、前記コントローラが、前記バウンスモードに移行する前に、前記ロボット本体を壁面追従モードにより所定の時間または距離だけ、前記障害物に沿って移動させることを特徴とする請求項1から8のいずれか一項に記載の移動型ロボット清掃機。

【図1A】
image rotate

【図1B】
image rotate

【図1C】
image rotate

【図1D】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図6C】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図8C】
image rotate

【図8D】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12A】
image rotate

【図12B】
image rotate

【図13A】
image rotate

【図13B】
image rotate

【図14】
image rotate


【公開番号】特開2012−64240(P2012−64240A)
【公開日】平成24年3月29日(2012.3.29)
【国際特許分類】
【出願番号】特願2011−272048(P2011−272048)
【出願日】平成23年12月13日(2011.12.13)
【分割の表示】特願2008−246310(P2008−246310)の分割
【原出願日】平成14年6月12日(2002.6.12)
【出願人】(502432084)アイロボット コーポレイション (40)
【Fターム(参考)】