(57)【要約】【課題】効率的な清掃のため、複数のモードで動作させることが可能な移動型ロボットを提供すること。【解決手段】床面上を移動するための移動手段と、障害物検出センサと、障害物検出センサおよび移動手段と動作可能に接続される制御システムと、を備える移動型清掃ロボットが提供される。制御システムは、ロボットを複数の動作モードで動作するよう構成され、複数の動作モードは、ロボットが障害物に追従して移動する障害物追従モードと、ロボットが障害物を検出すると、該障害物から離れる方向へ移動する反跳モードと、を含む。また、制御システムは、所定の数の衝突センサによる検出の後、動作モードを切り替えるよう構成される。【選択図】  図２
2014063528.tif 000002
【特許請求の範囲】
【請求項１】
移動型清掃ロボットであって、
床面上を移動するための移動手段と、
障害物検出センサと、
前記障害物検出センサおよび前記移動手段と動作可能に接続される制御システムと、
を備え、
前記制御システムは、前記移動型清掃ロボットを複数の動作モードで動作するよう構成され、
前記複数の動作モードは、
前記移動型清掃ロボットが障害物に追従して移動する障害物追従モードと、
前記移動型清掃ロボットが、障害物を検出すると、該障害物から離れる方向へ移動する反跳モードと、を含み、
前記制御システムは、所定の数の前記衝突センサによる検出の後、前記動作モードを切り替えるよう構成される、移動型清掃ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
〔仮出願の引用〕
本ＰＣＴ出願は、２００１年６月１２日出願の米国仮出願番号第６０／２９７，７１８号の優先権を主張する。
【０００２】
本発明は、自律型の走行装置やロボットに関し、さらに詳しくは、自動(robotic)清掃機や自動(robotic)芝刈り機に必要とされる、あるいは自動(robotic)清掃機や自動(robotic)芝刈り機として用いられる、特定の領域をカバーする方法及び可動性の(mobile)ロボット装置に関する。
【背景技術】
【０００３】
以下の説明のために、例として、ロボット清掃（例えば、ほこり払い、磨き掃除、掃き掃除、擦り落とし、乾式モップ、又は吸引清掃）に関するものとしての従来技術が直面する問題に注目したものを挙げる。しかしながら、特許請求の範囲に記載された発明は、特許請求の範囲そのものによってのみ限定されるものであり、屋内の家庭用清掃以外にも本発明の多数の用途が、当業者には理解されるであろう。
【０００４】
ロボット技術者は、自律型清掃の効率的な方法の開発に、長らく取り組んできた。概説すると、清掃ロボットの性能は、３つの成果基準に集約される。すなわち、カバレッジ（coverage）、清掃速度、及び知覚効率である。カバレッジとは、一定の清掃時間内にロボットが巡回可能な空間の割合（％）のことであり、稼働時間を無限に取った場合、ロボット清掃機のカバレッジが１００％になることが理想的である。残念ながら、従来技術の設計では、多くの場合、清掃機が仕事を完了するために費やすことのできる時間に拘わらず、カバーされない領域が残ってしまう。完全なカバレッジを達成できないのは、機械的な制限による場合がある。例えば、ロボットの大きさや形状のせいでロボットがある領域に到達できない、あるいは、ロボットが閉じ込められて(trapped)、脱出できるようにその制御を変更することができないといったことである。また、完全にカバレッジを達成できないのは、カバレッジ（coverage）アルゴリズムが不適当なものであるということもあり得る。カバレッジアルゴリズムとは、ロボットがその動作を制御するのに用いる命令の組のことである。本発明の目的に関しては、カバレッジは、有限の清掃時間内にロボットが巡回可能な領域の割合（％）として取り扱われる。機械的及び／又はアルゴリズム的制約により、使用可能な空間内のある領域が、体系上無視されることがある。このような体系的な無視は、従来技術における重大な制限となっている。
【０００５】
清掃ロボットの性能の第２の基準は、単位時間あたりに清掃される領域の単位として与えられる清掃レート（rate）である。清掃レートとは、清掃済みの床が増加してゆくレートのことである。カバレッジ（coverage）レートとは、床がすでに清掃済みか汚い状態かにかかわらず、ロボットが床を処理（ここでは清掃）してゆくレートのことである。ロボットの速度がｖであって、ロボットの清掃機構の幅（有効幅とも呼ばれる）がｗであるとき、ロボットのカバレッジレートは、単にｗｖとなる。しかし、清掃レートは、かなり低くなることが多い。
【０００６】
閉じた空間で完全にランダムに動くロボットにおいて、ロボットのカバレッジレートと比べて、清掃レートは時間の関数として減少してゆく。これは、ロボットが長時間稼動すると、それだけ、清掃済みの領域を巡回しがちとなるためである。カバレッジレートと清掃レートとが等しくなり、同じ地点の清掃を不必要に繰り返すのを最小化するのが、最良の設計である。すなわち、清掃レートのカバレッジレートに対する比が、効率の基準であり、最適な清掃レートとは、既に清掃済みの領域を累積して又は余分に通過する回数を最小化しながら、指定された領域の最も大きな割合を処理（ここでは清掃）することを意味する。
【０００７】
清掃ロボットの性能の第３の測定基準は、ロボットの知覚効率である。この基準は、従来技術においては無視されていた。計画的動作及び一定のパターンの動作は、利用者が計画的動作を含んだロボットをより効率的であると感じるので、好ましいものである。
【０００８】
カバレッジ、清掃レート、及び知覚効率は、ここで検討する性能の基準であるが、本発明の好適な実施形態では、さらに、様々な形状及び大きさの部屋（様々な未知の障害物を含む）での使用の容易さ並びにロボットの構成要素のコストが考慮されている。また、例えば衝突回避や、その他の障害に対する適切な反応等の、他の設計基準も設計に影響し得る。
【０００９】
Jones, Flynn & Seiger, Mobile Robots: Inspiration to Implementation second edition, 1999, A K Peters, Ltd.などで詳述されているように、真空吸引及び清掃ロボットを製作するための多くの試みがなされている。これらのロボットは、いずれも同様の課題に直面している。すなわち、限定された所与のエネルギー容量で、指定された領域を如何に効率的にカバーするかという課題である。
【００１０】
我々は、決定論的な清掃としての最大効率清掃に言及する。この最大効率清掃では、清掃レートがカバレッジレートに等しい。図１Ａに示すように、決定論的な経路に追従するロボット１は、重複して清掃することなく、領域２を完全にカバーするように動く。決定論的な清掃では、ロボットが自身の現在位置及び過去の経路を認識していることが必要である。これは即ち、測位システムが必要ということである。このような測位システム(走査レーザー距離計(scanning laser ranger)、超音波変換器、搬送位相差GPS(carrier phase differential GPS)、又は他の方法を利用する、決定論的な清掃が可能とするほどに正確である測位システム）は、実現不能なほどに高価になり得るとともに、特定の部屋の幾何学的形状に個別に対応したユーザによる設定を伴う。また、全地球測位を利用する方法は、通例、測位システムのどの部分が故障しても機能しなくなる。
【００１１】
極めて精巧な（そして高価な）センサ技術を用いて決定論的な清掃を実現しているものの一例として、Denning Mobile Robotics and Windsor Industries製のRoboScrub装置がある。これは、ソナー（水中音波探知装置）、赤外線検出器、衝突センサ、及び高精度レーザーナビゲーションを用いたものである。RoboScrubのナビゲーションシステムでは、室内の様々な位置に大きなバーコードのターゲットを取り付けることが必要となる。また、RoboScrubが同時に少なくとも４つのターゲットを視認可能でなければならないという要件は、実用上の重大な問題である。従って、RoboScrubは、開放した広い領域の清掃用に限定されている。
【００１２】
他の例として、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)に記述されている。
【００１３】
決定論的清掃の制約及び困難のため、ある種のロボットは、擬似決定論的方式に依拠している。擬似決定論的清掃を提供する一方法として、推測航法(Dead reckoning)として知られる自律型ナビゲーション方法がある。推測航法は、（例えば光学式軸エンコーダを用いて）ロボットの各駆動輪の回転を正確に計測することからなる。そして、ロボットは、既知の出発地点及び方向が与えられた状態で、推定位置を算出することができる。この技術に伴う問題として、車輪のすべりがある。すべりが生じると、車輪のエンコーダは、その車輪が地面に対してロボットを駆動していなくとも、車輪の回転を記録してしまう。図１Ｂに示すように、ロボット１が室内を進むにつれて、駆動輪のすべり誤差が累積するので、この種のシステムは、実用上の時間が経過した場合に信頼できないものとなってしまう。（その経路は、図１Ａに示した決定論的な処理と比べると、もはや、しっかりと配列された列でできているというわけではない。）推測航法に依拠した結果、対処不能に系統的に無視されることが起こる。すなわち、床のある領域が清掃されないということである。
【００１４】
擬似決定論的システムの一例として、Probotics, Inc.のCyeロボットがある。Cyeは、推測航法のみに依存しているので、その推測航法システムの性能を最大化するために、大胆な基準を採用している。Cyeは、既知の場所において利用者が設けた物理的登録地点で開始しなければならない。なお、この地点において、ロボットは、その位置及び向きを決定する。そして、Ｃｙｅは、その地点から離れて移動しながら、位置を常時監視し続ける。Cyeが移動してゆくと、その位置及び方向における不確実性が増加してゆく。Cyeは、較正地点を発見不能な程にこの誤差が大きくなる前に、必ず較正地点に帰還することになっている。較正地点が移動したり、遮られたり、あるいは、車輪が過剰にすべったりした場合には、Cyeは道に迷ってしまう（迷ったことが分からないこともある）。このように、Cyeは、比較的狭くて良好な環境でのみ使用するのに適している。このアプローチの他の例が、米国特許第5,109,566号(Kobayashi et al.)及び第6,255,793号(Peless et al.)に開示されている。
【００１５】
ロボット清掃の他のアプローチとして、完全にランダムな動作のものがある。図１Ｃに示すように、障害物のない通常の部屋において、清掃時間がかなり長時間であれば、ランダムな動作のアルゴリズムにより、満足なカバレッジが得られる。決定論的アルゴリズムのロボットと比較して、ランダムな清掃ロボットは、満足なカバレッジを処理するのに長時間を要する。ランダムに動作するロボットは、障害物のない部屋の９８％を清掃するという高い信頼度を得るのに、同じ清掃機能を有して同じ速度で動く決定論的ロボットの約５倍走行しなければならない。
【００１６】
図１Ｄに、ランダムなアルゴリズムの処理の限界を示す。部屋の中に障害物５があると、その部屋を複数の小室の集合体として分割する効果が生じる。このような部屋におけるランダムなアルゴリズムのロボットのカバレッジの経時変化は、限定された容量の小室内で放出された気体の経時的密度に類似している。最初のうちは、気体密度は、気体が放出された小室内で最も高く、比較的離れた小室では最も低くなっている。同様に、初期段階にてロボットは、動作を開始したところの小室を、離れた小室よりも徹底的に清掃することになる。充分な時間が経過すると、気体は平衡に達して、全ての小室において密度が等しくなる。同様に、時間が経過すれば、ロボットは、全ての領域を徹底的に清掃することになる。しかしながら、実際の電源供給の制約により、通常保証されるのは、ロボットが障害物が散らかった状態の全領域を清掃するには不充分な時間にすぎない。我々は、この現象をロボット拡散問題と呼ぶ。
【発明の概要】
【発明が解決しようとする課題】
【００１７】
以上検討したように、市販されている従来例では、未知の形状の領域に対しては、効率的なカバレッジアルゴリズムが得られない。上述のように、従来技術は、マーカーやビーコンの複雑なシステムに依拠しているか、あるいは、ロボットの用途が、単純な矩形状の室内に限定されている。擬似決定論的制御アルゴリズムを用いる試みでは、体系上無視された空間領域が、残されてしまうことがある。
【００１８】
本発明の一つの目的は、効率的なカバレッジの処理ため、移動ロボットを複数のモードで動作させることが可能なシステム及び方法を提供することである。
【００１９】
また、本発明の目的は、少なくとも１個のセンサを具備して、スポット処理、障害物追従、及び反跳（はね返り）等のいくつかのモードで動作する移動ロボットを提供することである。
【００２０】
本発明の更なる目的は、カバレッジを確実にするために、障害物追従モードと反跳モードとを交互に繰り返す移動ロボットを提供することである。
【００２１】
本発明の一つの目的は、ロボットが所定の距離を移動した後に、スポット処理へと復帰させることである。
【００２２】
本発明の一つの目的は、障害物間の平均距離を監視し、該平均距離を動作モードを入れ替えるための入力として用いることが可能な移動ロボットを提供することである。
【００２３】
本発明の別の目的は、ロボットが障害物追従モードで移動する距離を、障害物追従の頻度及びロボットの動作有効幅の関数として最適化し、障害物追従モードにて動作する最小距離および最大距離を提供することである。
【００２４】
本発明の一つの目的は、複数の行動を実行可能なオペレーション・システムプログラムを有する移動ロボットのための制御システムを採用し、アービタ(arbiter)を用いて、ロボットにどの行動を取らせるかを選択させることである。
【００２５】
本発明の別の目的は、様々な脱出プログラムや行動を組み込んで、ロボットがスタックしないようにすることである。
【００２６】
最後に、本発明の一つの目的は、ここに開示された様々な目的及び利点を活かすように移動ロボットを制御する１つ又はそれ以上の方法を提供することである。
【図面の簡単な説明】
【００２７】
【図１Ａ】従来例における様々なロボットの処理パターンを示す図である。
【図１Ｂ】従来例における様々なロボットの処理パターンを示す図である。
【図１Ｃ】従来例における様々なロボットの処理パターンを示す図である。
【図１Ｄ】従来例における様々なロボットの処理パターンを示す図である。
【図２】本発明の好適な実施形態で用いられる移動ロボットの基本的な構成要素の模式的な平面図である。
【図３】図２に示すロボットのハードウェアブロック図である。
【図４Ａ】ロボットが障害物に遭遇した角度を決定する方法を示す図である。
【図４Ｂ】ロボット制御システムの好適な実施形態の方位を示す図である。
【図５】本発明のそのままの動作モードを示す模式図である。
【図６Ａ】螺旋行動の好適な実施形態のカバレッジパターンを示す模式図である。
【図６Ｂ】螺旋行動の別の実施形態のカバレッジパターンを示す模式図である。
【図６Ｃ】螺旋行動のさらに別の実施形態のカバレッジパターンを示す模式図である。
【図７】本発明の好適な実施形態のスポットカバレッジアルゴリズムを示すフローチャートである。
【図８Ａ】障害物追従モードにおける動作の好適な実施形態のカバレッジパターンを示す模式図である。
【図８Ｂ】障害物追従モードにおける動作の好適な実施形態のカバレッジパターンを示す模式図である。
【図８Ｃ】障害物追従モードにおける動作の好適な実施形態のカバレッジパターンを示す模式図である。
【図８Ｄ】障害物追従モードにおける動作の好適な実施形態のカバレッジパターンを示す模式図である。
【図９Ａ】本発明の好適な実施形態の障害物追従アルゴリズムを示すフローチャートである。
【図９Ｂ】障害物追従モードから離脱する場合を決定する好適なアルゴリズムを示すフローチャートである。
【図１０】反跳行動の好適な実施形態のカバレッジパターンを示す模式図である。
【図１１】本発明の好適な実施形態の室内カバレッジアルゴリズムを示すフローチャートである。
【図１２Ａ】脱出行動の例を示すフローチャートである。
【図１２Ｂ】脱出行動の例を示すフローチャートである。
【図１３Ａ】単一の動作モードのみの移動ロボットのカバレッジパターンを示す模式図である。
【図１３Ｂ】障害物追従モード及び室内カバレッジモードを用いた本発明の好適な実施形態のカバレッジパターンを示す模式図である。
【図１４】スポットカバレッジ、障害物追従、及び室内カバレッジモードを用いた本発明の好適な実施形態の処理パターンを示す模式図である。
【発明を実施するための形態】
【００２８】
本発明のこれらの特徴及びさらなる特徴は、添付の図面を参照して明らかとなるであろう。
【００２９】
本発明では、移動ロボットが、未知の幾何学形状の部屋において有効な処理速度にて最大のカバレッジを提供するように、設計されている。また、パターン化された動作すなわち計画的動作が組み込まれているために、ロボットの知覚効率が向上している。さらに、好適な実施形態では、効率的に処理するためには、ロボットが未知の環境内で動作不能となることを防止できる制御システムが必要である。
【００３０】
移動ロボットの物理的構成は、当該技術分野において既知であるので、ここでは、本発明の好適な、そして例示的な実施形態における構成要素について説明する。本発明の好適な一実施形態は、ある特徴を備えたほぼ円形状のロボット掃除機である。例えば図２に示すように、好適な実施形態の移動ロボット１０は、シャーシ１１を備え、このシャーシ１１には、機械的及び電気的構成要素が支持されている。これらの構成要素として、種々のセンサが含まれており、その中には、ロボットの前側部分に配置された２つの衝突センサ１２、１３、ロボットのシエル（以下、ケースと記す）１５に配置された４つの絶壁センサ１４、及びロボットのケース１５に搭載された壁面追従センサ１６が含まれる。他の実施形態では、ロボットに１つだけのセンサが用いられてもよい。センサとしては、ソナー型、触覚型、電磁型、静電容量型等の様々な型のセンサが用いられてもよいことが、当業者には理解されるであろう。コスト上の制約により、本発明の好適な実施形態においては、衝突（触覚）センサ１２、１３と、絶壁センサ１４及び壁面追従センサ１６として反射型赤外線近接センサとが、用いられている。赤外線センサの詳細は、米国特許出願No. (U.S.S.N.)09/768,773に記載されている。この米国特許出願No. 09/768,773の開示は、ここに参照することにより本明細書に一体に組み入れられるものとする。
【００３１】
ロボットの好適な実施形態は、２つの車輪２０、該車輪をそれぞれ独立して回転させるモータ２１、安価なローエンド・マイクロコントローラ２２、及び充電可能なバッテリ２３又は当該技術に既知の他の電源を備えている。これらの構成要素は当該技術で周知であるため、ここで詳細には説明しない。さらに、ロボット清掃機１０は、１つ又はそれ以上の清掃ヘッド３０を備えている。この清掃ヘッドは、真空掃除機、様々なブラシ、スポンジ、モップ、静電布、又は様々な清掃要素を組み合わせたものを含む。また、図２に示す実施形態には、サイドブラシ(side brush)３２も含まれている。
【００３２】
上述のように、ロボット清掃機１０の好適な実施形態は、外側ケース１５を備えており、該外側ケース１５において、そのロボット１０における支配的な側、非支配的な側、及び前側部分が規定されている。ロボットの支配的な側とは、ロボットが物体（又は障害物）の近傍を清掃するとき、その物体（又は障害物）に対して近接又は当接した状態に保たれる側のことである。図２に示すように、好適な実施形態では、ロボット１０の支配的な側は、主たる進行方向に対し右手側となっている。但し、他の実施形態では、支配的な側が左手側であってもよい。さらに別の実施形態では、ロボットは対称であってもよく、その場合、支配的な側は必要でない。しかしながら、好適な実施形態では、コストの理由から支配的な側が選択されている。主たる進行方向を図２において、矢印４０で示す。
【００３３】
好適な実施形態では、２つの衝突センサ１２、１３が、矢印４０で示した前進方向を基準として、車輪２０の前方に配置されている。一方の衝突センサ１３は、ロボット１０の支配的な側に配置されており、他方の衝突センサ１２は、ロボット１０の非支配的な側に配置されている。これら両衝突センサ１２、１３が同時に作動したとき、ロボット１０は、障害物が前方にあることを認識する。他の実施形態では、より多数又はより少数の衝突センサが用いられてもよい。同様に、任意の数の衝突センサが、清掃機を任意の数の放射状部分に区分するのに用いられてもよい。好適な実施形態では、衝突センサ１２、１３は、ロボット１０と障害物とが接触すると作動する赤外線遮断センサであるが、機械スイッチや、ロボットに接触した物体の静電容量あるいは、接触時にバンパ内で圧縮される２枚の金属板間の静電容量を検出する静電容量型センサを含む他の型のセンサが用いられてもよい。非接触センサは、ロボットが物体に対して近接したことを、その物体に物理的に接触することなく検出可能であるが、非接触センサが用いられても良い。非接触センサとしては、静電容量センサや赤外光のカーテン(curtain of IR light)等がある。
【００３４】
表面が接触（又は近接）したことだけでなく、接触したところのロボットに対する角度をも通知可能なセンサを備えていると、便利である。好適な実施形態では、ロボットは、左右の衝突スイッチ１２、１３が作動した場合に、両者の作動の時間差を算出することができる。そして、ロボットは、接触した角度を推定することができる。図４Ａに示した好適な実施形態では、衝突センサは、ロボットの前側に、センサ４２、４３を有する単一の機械式バンパ４４を備えている。センサ４２、４３は、バンパのほぼ両端にあり、該バンパの動作を検出する。バンパが圧縮されると、センサの事象同士の時間差が、ロボットが障害物に接触した角度を概算するのに用いられる。バンパが右側から圧縮された場合、バンパの追従及び衝突検出器の幾何学的形状により、右側の衝突センサが最初に衝突を検出し、引き続き、左側の衝突センサが衝突を検出する。このように、２つの衝突センサだけで、衝突角度を概算することができる。
【００３５】
例えば、図４Ａでは、衝突センサ４２，４３は、ロボットの前側部分を６つの領域（Ｉ〜ＶＩ）に分割可能である。１つの衝突センサが作動すると、ロボットは、他のセンサが作動するまでの（仮に作動するとして）時間を算定する。例えば、右側の衝突センサ４３が作動すると、ロボットは、左側の衝突センサ４２が作動するまでの時間（ｔ）を測定する。ｔがｔ１未満であれば、ロボットは、接触が領域ＩＶで発生したものとみなす。ｔがｔ１以上かつｔ２未満であれば、ロボットは、接触が領域Ｖで発生したものとみなす。ｔがｔ２以上（監視時間内に左側の衝突センサ４２が全く作動しない場合を含む）であれば、ロボットは、接触が領域ＶＩで発生したものとみなす。衝突センサが同時に作動した場合には、ロボットは、接触がまっすぐ前で発生したものとみなす。この方法は、使用される時間測定及びバンパの幾何学的形状次第で、バンパを任意の多数の領域に（より高精度で）分割するのに用いられてもよい。機能拡張として、上記の例のように２次元だけとする代わりに、３次元で衝突角度を算出するのに、３つのセンサを用いてもよい。
【００３６】
また、好適な実施形態においては、ロボット１０の支配的な側、壁面追従すなわち壁面検出センサ１６が取り付けられている。好適な実施形態では、壁面追従センサは、壁面がしかるべき位置にある時、有限の大きさで壁面と交差するようにコリメートされた、発光器及び検出器の対からなる赤外線センサである。この焦点は、ロボットの前進動作方向において、駆動車輪よりも約３インチ前方に位置している。壁面検出の半径範囲は、約０．７５インチである。
【００３７】
また、好適な実施形態は、任意の個数の赤外線絶壁センサ１４を備えており、これによって、清掃機が階段や他の垂直の落ち込みで転落しないようになっている。これら絶壁センサは、壁面追従センサと同様の構成であるが、壁ではなく床を観測する向きに配設されている。さらなる安全性及び検出手段として、ロボット１０は、１つ又はそれ以上の車輪が床に支持されなくなったときにそれを検出可能な脱輪センサを備えている。従って、この脱輪センサは、絶壁だけでなく、電気スタンドの基部、床が高くなっているところ、コードの束等のように、ロボットがその上を走行し得る様々な障害物をも検出可能である。
【００３８】
他の実施形態では、他の既知のセンサあるいはセンサの組み合わせが用いられてもよい。
【００３９】
図３に、本発明の好適な実施形態のコントローラ及びロボットのハードウェアブロック図を示す。好適な実施形態では、Winbond W78XXXシリーズのプロセッサが用いられている。これは、３６個の汎用Ｉ／Ｏポート、２５６バイトのＲＡＭ、及び１６ＫのＲＯＭを有するMCS-51ファミリーと互換性のあるマイクロコントローラである。クロックは４０ＭＨｚになっており、それが分割されて、プロセッサ速度が３．３ＭＨｚとなる。このプロセッサは、２つのタイマを備えている。これらのタイマは、ウォッチドッグタイマとしても使用され、また、センサを処理して出力信号を発生する、割り込み処理を起動するのにも使用される。また、第１のタイマの最下位ビットは、行動に必要となる擬似乱数として用いられる。また、２つの駆動輪からのエンコーダ入力を取り込むのに用いる２つの外部割込みがある。また、プロセッサは、ロボット制御プログラムのテスト及びデバッグに用いるＵＡＲＴを有する。
【００４０】
マイクロプロセッサのＩ／Ｏポートは、ロボットのセンサ及びモータに接続されており、ロボットの内部状態及びその環境に接続するインタフェースとなっている。例えば、脱輪センサが入力ポートに接続され、ブラシモータＰＷＭ信号が出力ポートに発生する。マイクロプロセッサ上のＲＯＭは、カバレッジ及びロボットの制御プログラムを格納するのに用いられる。これには、行動（後述）、センサ処理アルゴリズム、及び信号発生が含まれている。ＲＡＭは、平均衝突距離、走行時間及び距離、並びに制御上の行動ＩＤ及びその現在のモータコマンド等のロボットの動的状態を格納するのに用いられる。
【００４１】
ロボット清掃機の移動を理解するため、図４Ｂに、座標平面上のｘ軸及びｙ軸の中心を基準とするロボットの方位を示す。この座標システムは、ロボットにも採用されている。ロボット１０の方向に関する動作は、ロボット１０が移動する半径として理解することができる。敏速に回転して壁１００から離反するためには、ロボット１０は、正の小さい値ｒ（図４Ｂではｒ３）を設定する。また、敏速に回転して壁へと向かうためには、ロボットは、負の小さな値ｒ（図４Ｂではｒ１）を設定する。一方、わずかに回転するためには、ロボットは、比較的大きな絶対値ｒを設定する。左回転するには（すなわち壁から離反するには）、正の値ｒ、（図４Ｂではｒ４）で、右回転するには（すなわち壁に向かってゆくには）、負の値ｒ（図４Ｂではｒ２）を設定する。この座標を用いた体系(scheme)は、後述の制御の例で用いられる。マイクロコントローラ２２は、速度差を制御して回転半径を決定する。その速度差とは、各モータ２１が個別に稼動するそれぞれの速度の差である。
【００４２】
また、ある実施形態では、ロボットは、１つ又はそれ以上の利用者の入力手段が含まれる。例えば、図２に示すように、好適な実施形態には、３つの単純なボタン３３が含まれている。これらのボタン３３により、利用者はカバーされる表面の概略の広さを入力可能である。好適な実施形態では、これらのボタンには、「Ｓ」（小）、「Ｍ」（中）及び「Ｌ」（大）のラベルが付されており、それぞれ、１１．１、２０．８及び２７．９平方メートルの部屋に対応している。
【００４３】
上述のように、例示したロボットは、本発明を実施するのに好適な実施形態であり、当業者は、当該分野で既知の構成要素を選択して、特定の目的用にロボットを設計することができる。好適な設計例としては、以下の米国特許に記述されているものを含む。すなわち、米国特許第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)であり、これらは、ここに参照することにより、本明細書に一体に組み入れられるものとする。
【００４４】
図５は、清掃機の様々な動作モードの簡略ブロック図である。好適な実施形態では、そして単なる例としてであるが、動作モードには、スポット清掃（利用者又はロボットが清掃の特定の領域を指定する）、縁端清掃、及び室内清掃がある。各動作モードは、後述するように、命令及び／又内部行動の複雑な組み合わせを含んでいる。但し、そのような複雑さは、利用者には通常わからないようになっている。一実施形態では、利用者は、例えばセレクタスイッチや押しボタンのような入力要素を用いて特定の動作モードを選択することができる。別の好適な実施形態では、以下に説明するように、ロボットは、複数の動作モード間を自律的に循環してゆく。
【００４５】
本発明のカバレッジロボットは、領域を効率的にカバーするのに、これらの様々な動作モードを用いる。当業者はこれらの様々な動作モードを様々なアーキテクチャーで構成できるが、好適な実施形態では、行動制御に依拠している。ここで行動とは、単に、相互に並列して実行される制御システムの複数の層のことである。そして、マイクロコントローラ２２は、優先度が付された裁定スキームを実行して、所与のシナリオに対する支配的な行動を解決する。行動制御の説明は、Mobile Robots, supraに見られ、その本文は、ここに参照することにより本明細書に一体に組み入れられているものとする。
【００４６】
すなわち、好適な実施形態では、ロボットのマイクロプロセッサ及び制御ソフトウェアは、多数の行動を同時に実行する。状況に応じて、ロボットの制御は、１つ又はそれ以上の様々な行動をもたらす。本発明の好適な動作を詳述する目的で、行動は、（１）カバー行動、（２）脱出行動、又は（３）利用者／安全行動として説明される。カバー行動は、主として、ロボットがカバー動作を効率的に実行できるように設計されている。脱出行動は、１つ又はそれ以上のセンサがロボットに自由な行動が許されていないことを示唆した場合に、優先的に実行される特別な行動である。本明細書の約束事として、以下に検討する行動は、全て大文字で記述される。
【００４７】
１．カバレッジ行動(Coverage Behaviors)
図６乃至図１４に、好適な各動作モード、すなわち、スポットカバレッジ、壁面追従（又は障害物追従）、及び室内カバレッジについての詳細を示す。
【００４８】
動作モード：スポットカバレッジ例えばスポット清掃により、利用者は孤立した状態の汚れた領域を清掃可能である。利用者は、ロボット１０を、清掃が必要な領域の中央近傍の床面上に配置し、スポット清掃動作モードを選択する。すると、ロボットは、例えば規定の半径内の近接領域にロボットの清掃ヘッド３０やサイドブラシ３２が接するように動作する。
【００４９】
好適な実施形態では、スポット清掃を実現する方法は、図６Ａに示すような外向きの螺旋運動すなわちＳＰＩＲＡＬ行動を提供する制御アルゴリズムである。一般に、螺旋運動は、回転半径が時間の関数として増加させることにより実現させる。好適な実施形態では、支配的な側を、螺旋における外側、すなわち最前線側に維持するため、ロボット１０の螺旋運動を反時計回りに開始する（図６Ａに移動線４５で示す）。図６Ｂに示す他の実施形態では、ロボット１０の螺旋運動は、回転半径が減り続けるように、内方へと発生する。内向き螺旋を、図６Ｂに移動線４５として示す。しかしながら、螺旋運動中に支配的な側を外側に保つことは、必須ではない。
【００５０】
好適な実施形態で用いるスポット清掃方法（外向きスパイラル）を、図７で説明する。まず、螺旋運動が開始され（ステップ２０１）、ｒの値がその最小の正の値に設定される（可能な限り急な反時計方向の回転が生じる）と、螺旋行動は、θを螺旋行動開始時以降の角度変化を表すものとし、ｒの値をθの関数として再計算する（ステップ２１０）。式ｒ＝ａθ（ａは定数）を用いることにより、螺旋のきつさ、あるいは螺旋の所望の重複が制御可能である。（なお、θは、２πに規格化されていない。）ａの値は、式ａ＝ｄ／（２π）で選択される。ここで、ｄは、螺旋の連続した２つの経路間の距離である。効率的な清掃のためには、ｄの値は、清掃機構３０の幅未満とすべきである。好適な実施形態では、ｄの値は、清掃ヘッド３０の幅の１／２乃至２／３に設定される。
【００５１】
他の実施形態では、ロボットは、螺旋モードで移動した合計距離を記録している。それは、ある距離になると螺旋が崩れる、すなわち、表面に依存した車輪のすべり及び／又は螺旋概算アルゴリズムと計算精度の不正確さのため、時間が経過すると螺旋運動の中心点がずれる傾向にあるためである。ある実施形態では、ロボットは、６．３又は１８．５メートルといった所定の距離（「最大螺旋距離」）を移動（ステップ２４０）した後に、螺旋モードから離脱する。好適な実施形態では、ロボットは、最初の螺旋を実行しているか又は後の螺旋を実行しているのかに依存する、複数の最大螺旋距離を用いる。衝突することなく最大螺旋距離に達した場合には、ロボットは、別の行動に制御を移し、例えば、主に直線に沿って移動を続ける。（好適な実施形態では、直線（STRAIGHT LINE）行動は、優先度の低いデフォルトの行動である。この行動は、他の行動がアクティブでないときに、ロボットをほぼ直線に沿って、約0.306m/sの予め設定された速度で進行させる。
【００５２】
螺旋モードでは、障害物に遭遇した場合に様々な動作がなされる。例えば、ロボットは、（ａ）障害物を回避して反時計回りの螺旋運動を続けようとするか、（ｂ）障害物を回避して反対方向に螺旋運動を続けようとする（例えば、反時計回りから時計回りに変更する）か、又は（ｃ）動作モードを変更する。螺旋運動を逆回りで継続するのは、反射螺旋（reflective spiral）として知られており、図６Ｃに示されている。ここでは、ロボット１０は、障害物１０１に接触したときに、動作経路４５を反転させている。好適な実施形態では、ステップ２２０に詳述するように、衝突センサ１２又は１３が最初の障害物に遭遇したときに、ロボット１０はスポット清掃モードから離脱する（ステップ２３０）。
【００５３】
好適な実施形態は、スポットカバーについて、螺旋運動により説明しているが、自身により境界を設定する任意の領域が使用可能である。このような領域には、制限するものではないが、正方形、六角形、楕円等の通常の多角形状が含まれる。
【００５４】
動作モード：壁面／障害物追従
壁面追従、すなわち清掃ロボットの場合には縁端清掃により、利用者は、部屋の縁端や室内の物体の縁端のみを清掃可能である。利用者は、清掃すべき縁端の近傍の床面上にロボット１０を配置し、縁端清掃動作モードを選択する。すると、ロボット１０は、縁端を辿りつつ、ロボットの清掃ヘッド３０が当接した全ての領域を清掃する。
【００５５】
図８に、部屋１１０の中でのロボット１０の動作を示す。図８Ａにおいて、ロボット１０は、その支配的な側が壁面に隣接するように、壁面１００に沿って配置される。すると、ロボットは、壁面に沿って、無制限に移動経路４６を辿って走行する。同様に、図８Ｂでは、ロボット１０は、障害物１０１に近接して配置される。すると、ロボットは、障害物１０１の縁辺に沿って、無制限に移動経路４７を辿る。
【００５６】
好適な実施形態における壁面追従モードでは、ロボットは、壁面追従センサ１６を用いて、自身の位置を壁から所定の距離に位置させる。そして、ロボットは、壁の周囲に沿って移動する。図８Ａ及び図８Ｂに示すように、好適な実施形態においては、ロボット１０は、壁１００と他の固体の障害物１０１とを区別できない。
【００５７】
図９Ａに、好適な実施形態において壁面追従に用いられている、１ビットのセンサでも、滑らかな壁面追従動作が得られる方法を示す。（ここで、１ビットのセンサは、壁とセンサとの間の距離ではなく、特定の体積内において壁が存在するかしないかのみを検出する。）衝突検出やソナーセンサ等の、壁や物体を検出する他の方法が用いられてもよい。
【００５８】
壁面追従動作モード、すなわち好適な実施形態の壁面追従（WALL FOLLOWING）行動、が開始されると（ステップ３０１）、最初にロボットは、操舵のための初期値をｒ０に設定する。そして、壁面追従（WALL FOLLOWING）行動は、壁面追従センサ１６における発光−検出（emit-detect）ルーチンを開始する（ステップ３１０）。センサ１６の赤外線発光部分に対する反射があると、それは、センサ１６から所定の距離内に物体が存在しているものと解釈される。そして、壁面追従（WALL FOLLOWING）行動は、反射（物体が範囲内にある）から非反射（物体が範囲外となる）への遷移があったかどうかを判別する（ステップ３２０）。そのような遷移があった（すなわち、今や壁は範囲外にある）場合、ｒの値は最小値（絶対値が最大の負の値）に設定され、ロボットはわずかに右方へと向きを変える（ステップ３２５）。そして、ロボットは、発光−検出シーケンスを再開する（ステップ３１０）。反射から非反射への遷移がなかった場合、壁面追従（WALL FOLLOWING）行動は、非反射から反射への遷移があったかどうかを判別する（ステップ３３０）。そのような遷移があった場合には、ｒの値は、正の最大値に設定され、ロボットはわずかに左方へと向きを変える（ステップ３３５）。
【００５９】
いずれのタイプの遷移事象も発生していなければ、壁面追従（WALL FOLLOWING）行動は、ｒの絶対値を低減した上で（ステップ３４０）、発光−検出シーケンス（ステップ３１０）を再開する。ｒの絶対値が減少することにより、ロボット１０は、現在向いている方向がどちらであるにせよ、より鋭く回転するようになる。好適な実施形態では、ｒの絶対値の減少率は、移動距離に依存した一定の率となっている。
【００６０】
壁面追従モードは、所定時間又はランダムな時間、所定距離又はランダムな距離、あるいは、ある追加条件が満たされるまで（例えば衝突センサが作動すること等）、継続し得る。ある実施形態では、ロボットは、壁面追従をいつまでも継続する。好適な実施形態では、図８Ｃ及び図８Ｄに示すように、最小移動距離及（Min）び最大移動距離（Max）が定められ、ロボットは、最大移動距離に達する（図８Ｄ）か、あるいは少なくとも最小移動距離を移動した後に障害物に突き当たる（図８Ｃ）まで、壁面追従（WALL FOLLOWING）行動を続ける。このような壁面追従（WALL FOLLOWING）行動の実装により、ロボットは、他の動作モードに比べて、適切な時間、壁面追従行動をとることが保証され、これにより全領域について、カバレッジ（coverage）を、体系的に無視することなく分布させる。壁面追従を増やすことにより、ロボットはより広い空間を移動可能となるが、ある一部の空間の清掃に関しては効率が低下する。なお、障害物検出後に壁面追従（WALL FOLLOWING）行動から離脱する傾向にあると、知覚効率は向上する。
【００６１】
図９Ｂは、どのような場合に壁面追従（WALL FOLLOWING）行動から離脱するかを決定する本実施形態を示すフローチャートである。ロボットは、まず壁面追従の最小距離（ｄｍｉｎ）及び壁面追従の最大距離（ｄｍａｘ）を、決定する。壁面（又は障害物）追従モードにあるとき、制御システムは、そのモードにてロボットが移動した距離（ｄＷＦ）を監視している。もしもｄＷＦがｄｍａｘより大きくなった場合（ステップ３５０）、ロボットは、壁面追従モードから離脱する（ステップ３８０）。一方、ｄＷＦがｄｍａｘ未満（ステップ３５０）であるとともに、ｄＷＦがｄｍｉｎ未満（ステップ３６０）である場合には、ロボットは、壁面追従モードに留まる（ステップ３８５）。もしもｄＷＦがｄｍｉｎより大きく（ステップ３６０）、かつ障害物に遭遇した（ステップ３７０）場合には、ロボットは、壁面追従モードから離脱する（ステップ３８０）。
【００６２】
理論的には、ロボットが壁面追従（WALL FOLLOWING）行動において移動する最適距離は、室内の広さと構成、並びにロボットの大きさの関数である。好適な実施形態では、壁面追従（WALL FOLLOWING）行動に留まるための最小距離及び最大距離は、室内のおおよその広さ、ロボットの幅、及びランダム要素に基づいて設定される。ここで、平均移動距離の最小値は、２ｗ／ｐである。但し、ｗはロボットの作動要素の幅であり、ｐは障害物との所与の相互作用にてロボットが壁面追従（WALL FOLLOWING）行動に入る確率である。好適な実施形態においては、例えば、ｗは約１５ｃｍから約２５ｃｍの間であり、ｐは０．０９５である（障害物追従モードに入る前にロボットが６から１５個の障害物に遭遇、すなわち平均で１０．５個の障害物に遭遇の場合）。次に、最小距離が約１１５ｃｍから約３５０ｃｍの間でランダムに設定され、そして、最大距離が約１７０ｃｍから約５２０ｃｍの間でランダムに設定される。ある実施形態では、最大距離と最小距離との比は、２：３になっている。知覚効率のために、障害物追従モードにおけるロボットの初期の動作における距離は、障害物追従モードにおけるその後の動作よりも長く設定されていてもよい。また、利用者はロボットを始動させるときに、最も長い壁に沿ってそのロボットを配置してもよい。そうすることにより、知覚されるカバレッジ（coverage）も実際のカバレッジ（coverage）も広くなる。
【００６３】
また、壁面追従モードにてロボットが移動する距離は、室内の「雑然度」である、遭遇する物体の数及び頻度（他のセンサにより検出）に依存して、そのロボットにより設定されてもよい。遭遇する物体が多いほど、ロボットは、全ての床面領域に進出するように、より長距離に亘って壁面を追従することになる。反対に、遭遇する物体が少ないほど、ロボットは、中央の空間を通過するのを優先させて、空間の縁端を過度にカバーしないように、より短く壁面を追従することになる。また、壁面追従（WALL FOLLOWING）行動の制御下にある最初の期間内は、ロボットがより長い距離又はより短い距離だけ壁面を追従可能となるように、初期壁面追従距離が含まれていてもよい。
【００６４】
好適な実施形態では、ロボットは、例えば２７０°を超えて回転して壁（又は物体）を特定できなくなった場合、あるいは、壁面追従モードに入ってから合計で３６０°回転した場合にも、壁面追従モードを離脱するようにしてもよい。
【００６５】
ある実施形態では、壁面追従（WALL FOLLOWING）行動がアクティブで、衝突があったとき、整列（ALIGN）行動がアクティブとなる。整列（ALIGN）行動により、ロボットは、反時計回りに回転して壁面に揃えられる。多数の小回転のサイクルに入らないように、ロボットは常に最小角度だけ回転する。最小角度の回転の後、ロボットは、壁面センサを監視する。壁面センサが壁面を検出し、その後に非検出となったなら、ロボットは回転をやめる。これは、壁面追従範囲の端部において、ロボットが壁面追従（WALL FOLLOWING）行動を開始するために良好に揃えられているためである。壁面センサがオンになってからオフになるのを、最大角度に達する時間内に検知しなかった場合、ロボットは、とにかく停止する。このことにより、ロボットは、壁が壁面センサの測定範囲外となったときに、回転し続けるのを防ぐことができる。直近の衝突が、支配的な側のバンパ側６０°以内であった場合、最小角度が１４°、最大角度が１９°に設定される。それ以外の場合、衝突が支配的な側又は非支配的な側の前側３０°以内であれば、最小角度が２０°に設定され、最大角度が４４°に設定される。整列（ALIGN）行動は、回転が完了すると、制御を壁面追従（WALL FOLLOWING）行動に渡す。
【００６６】
動作モード：室内カバレッジ（coverage）
ここで、第３の動作モードを、室内カバレッジあるいは室内清掃モードと呼ぶ。ここの動作モードにより、利用者は、壁、階段、障害物、又は他の遮蔽物により区画された領域を清掃することが可能となる。このオプションを実行するためには、利用者は、ロボットを床に置いて、室内清掃モードを選択する。すると、ロボットは、到達可能な全領域を清掃しながら室内をあちこち移動する。
【００６７】
好適な実施形態では、室内清掃行動を実行する方法は、直線（STRAIGHT LINE）行動と組み合わされた反跳（はね返り）（BOUNCE）行動である。図１０に示すように、ロボット１０は、障害物１０１又は壁１００に突き当たって衝突センサ１２及び／又は１３が作動するまで移動する。それから、ロボット１０は、回転して、移動を続ける。動作経路の例を、図１１に線４８として示す。
【００６８】
図１０に、ランダムな反跳行動のアルゴリズムを示す。ロボット１０は、衝突センサ１２及び／又は１３が作動する（ステップ４１０）まで、前進動作を続ける（ステップ４０１）。そして、ロボット１０は、１つ又は複数の衝突センサのどれが作動したかを検出したかに基づいて、新たな方向についての許容範囲を算出する（ステップ４２０）。そして、ロボットが遭遇した物体に対して９０°乃至２７０°というような許容範囲内において、新たな進路を、ある種の乱数演算を行い、決定する。ロボットが突き当たった物体の角度は、上述のように、左右の衝突センサ間のタイミングを用いて決定される。そして、ロボットは、その新たな進路へと向きを変える。好適な実施形態においては、回転方向は、新たな進路へと向きを変えるのにどちらの方が動作が最小で済むかに応じて、時計回り又は反時計回りとなる。他の実施形態において、ロボットのカバレッジ（coverage）効率が増加するように、回転に、前進動作が伴う。
【００６９】
ロボットによりなされる進路選択は、統計的に、許容範囲全体に均一に分散することができる。すなわち、許容範囲内のあらゆる進路に同等な機会があるようにすることができる。あるいは、我々は、ロボットを壁から垂直な方向に離れるように優先的に駆動するため、ガウス分布や、他の分布に基づいた統計手法を選択することができる。
【００７０】
他の実施形態において、ロボットは、外部的なセンサの作動に基づくのではなく、ランダムにあるいは所定の時間毎に進路変更できる。あるいは、ロボットは、ロングレンジ（long range）センサに基づいて小規模の角度補正を継続的に続けて、物体に接触するのを避けるようにしてもよい。こうすることにより、湾曲した経路を有する表面領域をカバーできる。
【００７１】
好適な実施形態では、ロボットは、反跳相互動作がある回数に達するまで、室内清掃モードに留まる。この回数は通常６から１３の間である。
【００７２】
２．脱出行動（Escape Behaviors）
領域をカバーしようとする際に、ロボットが全領域を効率的にカバーすることを妨げる、ロボットが遭遇し得るいくつかの状況がある。一般的な水準（class）のセンサと、脱出行動と呼ばれる行動が、ロボットがこのような状況から出られるように、あるいは、極端な場合には、ロボットが脱出できないと決定されたならばロボットをオフにするように、設計されている。ロボットの様々な行動の中で、脱出行動を優先させるかどうかを決定するために、ロボットは、以下のことを決定する。（１）脱出行動が必要であるか、（２）そうであるならば、どのような脱出行動が認められるか。
【００７３】
例として、以下の状況により、室内清掃ロボットに必要とされる脱出行動、及び走行するのに適切な行動の状況を説明する。
【００７４】
（ｉ）状況１．ロボットは、スタックする可能性のある状況を検出する。例えば、ロボットにとって傾斜路のように作用する、敷物の高くなった所やスタンドの基部の近くを検出する。ロボットは、その状況から抜け出すために、小規模な「パニック」進路変更行動をとる。
【００７５】
（ｉｉ）状況２．ロボットが物理的にスタックする。例えば、ロボットがソファーの下や壁に食い込む、コードや敷物の房に絡まる、あるいは、電気コードの束の上にスタックして車輪が空転する。ロボットは、大規模なパニック進路変更行動をとり、適切なモータをオフにして障害物から脱出する。
【００７６】
（ｉｉｉ）状況３．ロボットが小さな限定された領域に入る。例えば、その領域は、ロボットが、椅子の脚やドレッサーの下に空いた領域、あるいはスタンドが部屋の隅に近接して置かれてできた小領域である。ロボットは、バンパを用いて縁端を辿り、及び／又は、その領域から脱出するためにパニック進路変更を実行する。
【００７７】
（ｉｖ）状況４．ロボットがスタックして自由が奪われる。例えば、ロボットは、上記の分類（ｉｉ）の１つの事例になっていて、そのあらゆるパニック行動によっても自由になれない状況である。この場合、ロボットは動作を停止し、信号を発して利用者に救援を求める。これにより、バッテリ寿命が保たれ、床や家具の損傷が防げる。
【００７８】
各脱出状況の必要性を検出するために、様々なセンサが用いられる。例えば、
（ｉ）状況１．（ａ）ブラシやサイドブラシの電流が閾値よりも上昇しているとき、関連するモータに印加される電圧は減少する。このことが起こっているときにはいつでも、失速率の変数が高くなっている。電流が閾値未満であるときには、失速率は減少している。失速レベルが低い方の閾値を越えており、その変化率（傾斜）が正であれば、ロボットは、小規模なパニック進路変更行動を実行する。レベルがゼロになってから再び閾値に達したときに、小規模なパニック進路変更行動のみを再度実行する。（ｂ）同様に、脱輪レベル変数がある。この脱輪レベル変数は、脱輪事象が検出されたときに増加し、時間とともに徐々に減少してゆく。脱輪事象が検出されて脱輪レベルが閾値を超えていれば（何回か脱輪が起こったばかりであることを意味する）、ロボットは、脱輪レベルに基づいて小規模又は大規模なパニック進路変更行動を実行する。
【００７９】
（ｉｉ）状況２．（ａ）ブラシ失速率が高い方の閾値を超えていて、その変化率（傾斜）が正である場合、ロボットは、ブラシの回転を１３秒間停止して、大規模なパニック進路変更行動を１、３、及び７秒間実行する。１３秒が経過すると、ブラシは再び駆動される。（ｂ）走行失速率が中間の閾値を超えていて、その変化率が正である場合、ロボットは、大規模なパニック進路変更行動を継続的に実行する。（ｃ）走行失速率が高い方の閾値を超えた場合、ロボットは、全てのモータを１５秒間停止する。１５秒が経過すると、モータは再び駆動される。（ｄ）ロボットのバンパが５秒間継続して押さえられた場合（側面食い込み状況の場合のように）、ロボットは、大規模なパニック進路変更行動を実行する。ロボットは、バンパが開放されるまで、５秒毎にパニック進路変更行動を繰り返す。（ｅ）ロボットが２０フィートに亘って何にも衝突しなければ、車輪が空転し、スタックしているものと推定される。スタック状態から抜け出すため、ロボットは、螺旋運動を実行する。螺旋運動終了後にも１０フィートに亘って衝突がなければ、大規模なパニック進路変更行動を実行する。衝突するまで、これを１０フィート毎に繰り返す。
【００８０】
（ｉｉｉ）状況３．（ａ）衝突と衝突との間の平均距離が、低い方の閾値未満である場合、ロボットは、バンパを用いて縁端を辿って、移動が制限された領域からの離脱を試みる。（ｂ）衝突と衝突との間の平均距離が、非常に低い閾値未満となった場合、ロボットは、大規模なパニック進路変更行動を実行して、移動が制限された領域から脱出する可能性が高くなるように向きを変える。
【００８１】
（ｉｖ）状況４．（ａ）ブラシが失速して、何度かオフになったばかりで、ブラシ失速率が高く、しかも変化率が正である場合、ロボットは停止する。（ｂ）走行が失速して、モータが何度かオフになったばかりで、しかも走行失速率が高くて変化率が正である場合、ロボットは停止する。（ｃ）車輪のいずれかが２秒を超えて継続的に脱輪した場合、ロボットは停止する。（ｄ）脱輪事象が短時間で何度も発生した場合、ロボットは停止する。（ｅ）絶壁センサのいずれかが１０秒間継続して絶壁を検出した場合、ロボットは停止する。（ｆ）衝突センサが、ある時間（例えば１０秒間）押下され続けた場合、ロボットがどこかに食い込んでいることが多いので、ロボットは停止する。
【００８２】
説明用の例として、図１２Ａ及び図１２Ｂに、上記の状況１、状況２、及び状況４で述べたように、失速したブラシモータについて脱出行動が必要であることを識別する、好適な実施形態で用いられる、解析を示す。ブラシの電流がブラシモータの所与のリミット値を超える（ステップ４０２）度に、率レジスタが１づつインクリメントされる（ステップ４０４）。一方、リミット値に達しなければ、率レジスタは１づつデクリメントされる（ステップ４０６）。個々の変化率レジスタは、間近の期間、例えば１２０サイクル、での直近の値を格納する。失速率が６００（６００は、１秒間の一定の失速に対応する）を超えていて（ステップ４１４）、変化率が正である（ステップ４１６）場合、脱出行動の実行が許容（ステップ４１８）であれば、ロボットは脱出行動を実行する（ステップ４２０）。実行後、失速率が０に戻るまで（ステップ４２２）脱出行動は禁止され（ステップ４２８）、再び許容され（ステップ４２４）、そして再度６００に上昇する。これは、失速率が６００を超えていると常に脱出行動が起動されてしまうということを、防止するためになされる。
【００８３】
しかしながら、失速率が２４００を超え（ステップ４１０）、変化率が正であると（ステップ４１２）、ロボットは、図１２Ｂに示すように、脱出行動の特殊な組を実行することになる。好適な実施形態では、ブラシモータが停止され（ステップ４３０）、「レベル」が所定量（５０〜９０）だけインクリメントされ（ステップ４３０）、失速時間が設定され（ステップ４３０）、ブラシが停止されてから、パニック行動（ステップ４５２）は１秒（ステップ４４５）、４秒（ステップ４５０）、および７秒（ステップ４５５）経過時に実行される。そして、制御システムは、ブラシを１３秒経過後に再起動する（ステップ４４０，４４２）。レベルは、毎秒１ずつデクリメントされてゆく（ステップ４４４）。レベルが最大の閾値に達すると（ステップ４３５）、ロボットは全ての動作を停止する（ステップ４３７）。また、ある種の失速が検出されると、ロボットは、モータの損傷を防ぐためにモータの電圧を制限する等の追加の動作を行う。
【００８４】
ロボットの好適な実施形態は、４つの脱出行動を有する。すなわち、回転（TURN）、縁端（EDGE)、脱輪（WHEEL DROP）及び低速度（SLOW）である。
【００８５】
〔回転（TURN）〕ロボットは、その場でランダムな方向へと回転する。なお、この回転は、高速（通常の回転速度の約２倍）で開始し、減速して、低速（通常の回転速度の約１／２）に達する。速度を変化させることにより、ロボットが様々な状況から脱出するのを助けられることがある。ロボットが回転すべき角度は、ランダムであってもよく、脱出の必要性の度合いの関数であってもよく、これらの双方であってもよい。好適な実施形態においては、パニック度の低い状況では、ロボットは４５°〜９０°のどこかまで回転し、パニック度の高い状況では、ロボットは９０°〜２７０°のどこかまで回転する。
【００８６】
〔縁端（EDGE）〕ロボットは、（ａ）衝突せずに６０°回転するか、（ｂ）縁端（EDGE）行動が開始されてから回転し、累積角度が１７０°を超えまで、衝突センサを用いて縁端を辿って行く。縁端（EDGE）行動は、平均の衝突距離が短い（但しパニック行動を起こす程には短くない）ときに有用になることがある。縁端（EDGE）行動により、ロボットは、該ロボットにとって物理的に可能な最も小さな開口をすり抜けることが可能となり、それで、ロボットは移動を制限された領域から脱出できる。
【００８７】
〔脱輪（WHEEL DROP）〕ロボットは車輪を短時間逆方向に駆動してから、停止させる。車輪の逆方向の駆動は、車輪を反対側に少しだけ突き動かすことにより、本当は脱輪ではないのに誤って脱輪と判定される可能性を最小限とするのに役立つ。脱輪が２秒以内に解消すると、ロボットは通常の動作を継続する。
【００８８】
〔低速度（SLOW）〕脱輪又は絶壁検出器がオフになると、ロボットは、０．５ｍの距離に亘って速度を０．２３５ｍ／ｓ（すなわち通常速度の７７％）まで落としてから、通常の速度に復帰する。
【００８９】
カバー（coverage）行動及び脱出行動に加えて、ロボットは、安全性や有用性に関する追加の動作を含んでいてもよい。例えば、所定時間を超えて絶壁が検出され続けた場合、ロボットは停止する。絶壁が最初に検出されたとき、絶壁回避反応行動が、直ちに、あらゆる他の行動に対して優先し、ロボットが絶壁を検出しなくなるまで、該ロボットを絶壁から離れるように回転させる。好適な実施形態では、絶壁検出事象によっては、動作モードは変わらない。他の実施形態では、ロボットは、壁面追従行動に類似したアルゴリズムを用いて、絶壁の追従が可能であってもよい。
【００９０】
以上、３つの動作モードにおける個々の動作を説明した。次に、我々は、様々なモード間の切替の好適なモードについて説明する。
【００９１】
最適なカバー（coverage）及び清掃効率を達成するために、好適な実施形態では、様々なカバー（coverage）動作に優先度を与える制御プログラムが用いられる。（必要であれば、脱出行動に常に高い優先度が与えられる。）例えば、ロボット１０は、特定の時間又はランダムな時間、壁面追従モードを用い、その後、動作モードを室内清掃に切り替えてもよい。動作モードを切り替えることにより、本発明のロボット装置は、カバレッジ、清掃効率、及び知覚効率を向上させることができる。
【００９２】
例として、図１３Ａ及び図１３Ｂに、「犬用の骨（ドッグボーン）」形状の環境中の移動ロボット１０を示す。この環境では、ほぼ同じ寸法の２つの部屋１１５，１１６が、狭い通路１０５でつながっている。（この例は、先に検討したロボット拡散問題を示している。）この配置は、典型的な室内環境を単純化したものである。ここで、「ドッグボーン」は、室内の障害物の配置により発生していてもよい。図１３Ａでは、ロボット１０がランダムな反跳モードで動作する場合の、ロボット１０の通り道が線５４として描かれている。ロボット１０は、限定された走行を行っている間には、部屋１１６から部屋１１５へと移動することができない。なぜなら、ロボットのランダムな行動が起こらず、そのロボットが通路１０５を通過するように導かれるということが起こらないためである。この方法では、カバレッジが最適なものよりもはるかに狭くなり、ロボット１０が自身の経路に何度も交差することで、清掃速度が低下してしまう。
【００９３】
図１３Ｂに、ロボット１０の好適な実施形態の動作を示す。ここで、ロボットは、反跳動作と壁面追従動作とを交互に繰り返す。ロボット１０は、経路９９を辿りながら、壁１００に遭遇するたびに、ロボットの直径の２倍に等しい距離だけ壁面に追従している。経路９９において、ロボットが壁面追従モードで動作している部分には、符号５１が付されている。この方法により、カバレッジが非常に拡がり、それに伴って、清掃速度及び知覚効率も向上している。
【００９４】
最後に、本発明の好適な実施形態を図１４に詳細に示す。この図では、全ての動作モードが使用されている。好適な実施形態では、清掃機１０は、螺旋モードで始動する（移動線４５）。反射螺旋パターンが用いられる場合、清掃機は、所定の回数又はランダムな回数だけ反射事象が起こるまで、螺旋モードを継続する。通常の螺旋が用いられる場合（図１４に示すように）、清掃機は、衝突センサの事象が起こるまで継続することになる。好適な実施形態では、きっかけとなる事象が起こると、直ちに、清掃機は壁面追従モードに入る。
【００９５】
そして、好適な実施形態では、清掃機は、衝突センサ事象に基づき、あるいは壁面追従アルゴリズムの完了に基づいて、壁面追従モード（移動線５１）とランダムな反跳モード（動作線４８）との間を切り替える。ある実施形態では、清掃機は、螺旋モードには回帰しない。一方、他の実施形態では、清掃機は、所定の事象又はランダムな事象に基づいて、螺旋モードに入ることがある。
【００９６】
好適な実施形態では、ロボットは、衝突と衝突との間の平均移動距離を記録し続けている。そして、ロボットは、以下の式：（（３／４）×ＡＢＤ）＋（（１／４）×（最新の衝突間距離））を用いて、平均衝突距離（ＡＢＤ）を算出する。ＡＢＤが所定の閾値を超えた場合、ロボットは、再び螺旋行動に優先権を与える。さらに別の実施形態では、ロボットは、螺旋駆動に再び優先権が与えられる前に、最低限の回数の衝突事象をもってもよい。他の実施形態では、ロボットは、例えば２０フィートの最大距離を移動した場合に、衝突事象がなくとも、螺旋行動に入ってもよい。
【００９７】
また、ロボットは、全ての動作を停止する状況を有していてもよい。例えば、マニュアルで選択可能な所望の室内の大きさで、最小及び最大走行時間が設定され、最小合計距離が選択される。最小時間及び最小距離に達すると、ロボットは停止する。同様に、最大時間に達するとロボットは停止する。
【００９８】
無論、動作モード間の選択のためのマニュアル制御が、用いられてもよい。例えば、動作モードや行動を変更したりこれらに影響を与えたりするために、リモートコントロールが用いられてもよい。同様に、ケースに取付けられたスイッチ自体が、動作モードの設定やモード間の切替に用いられてもよい。例えば、室内の雑然度を設定するスイッチが用いられてもよい。これにより、ロボットにおいて、限定された検出能力で、より適切なカバレッジアルゴリズムが可能となる。
【００９９】
本発明そのものの一部が、清掃の他にも様々な目的のための自律型車両に用いられてもよいことが、当業者には理解されるであろう。本発明の範囲は、与えられた実施例によってではなく、特許請求の範囲に記載の請求項及びそれの法的に等価なものにより規定されるべきである。
【図１Ａ】
2014063528.tif 000003
【図１Ｂ】
2014063528.tif 000004
【図１Ｃ】
2014063528.tif 000005
【図１Ｄ】
2014063528.tif 000006
【図２】
2014063528.tif 000007
【図３】
2014063528.tif 000008
【図４Ａ】
2014063528.tif 000009
【図４Ｂ】
2014063528.tif 000010
【図５】
2014063528.tif 000011
【図６Ａ】
2014063528.tif 000012
【図６Ｂ】
2014063528.tif 000013
【図６Ｃ】
2014063528.tif 000014
【図７】
2014063528.tif 000015
【図８Ａ】
2014063528.tif 000016
【図８Ｂ】
2014063528.tif 000017
【図８Ｃ】
2014063528.tif 000018
【図８Ｄ】
2014063528.tif 000019
【図９Ａ】
2014063528.tif 000020
【図９Ｂ】
2014063528.tif 000021
【図１０】
2014063528.tif 000022
【図１１】
2014063528.tif 000023
【図１２Ａ】
2014063528.tif 000024
【図１２Ｂ】
2014063528.tif 000025
【図１３Ａ】
2014063528.tif 000026
【図１３Ｂ】
2014063528.tif 000027
【図１４】
2014063528.tif 000028
【手続補正書】
【提出日】平成26年1月23日(2014.1.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
移動型清掃ロボットであって、
床面上を移動するための駆動車輪を有する移動手段と、
前記床面上を清掃するためのブラシを有する清掃ヘッドと、
障害物との衝突を検知する衝突センサであって、機械的スイッチである衝突センサと、
を備え、
前記衝突センサが所定の時間にわたって押下され続けた場合に、前記移動型清掃ロボットを停止するよう構成される、移動型清掃ロボット。
【請求項２】
前記駆動車輪が脱輪したことを検出可能な脱輪センサをさらに備え、
前記脱輪センサによる脱輪の検知が所定の時間継続した場合に、前記移動型清掃ロボットを停止するよう構成される、請求項１に記載の移動型清掃ロボット。
【請求項３】
前記ブラシの失速率が所定の閾値を超えていて、かつ、変化率が正の値である場合、前記移動型清掃ロボットの進路変更を行い、
前記進路変更を複数回行なった後も、前記ブラシの失速率が所定の閾値を超えていて、かつ、変化率が正の値である場合に、前移動型清掃ロボットを停止するよう構成される、請求項１または２に記載の移動型清掃ロボット。
【請求項４】
前記脱輪センサによって、前記駆動輪が所定の時間の間に繰り返し脱輪したことが検出された場合に、前記移動型清掃ロボットを停止するよう構成される、請求項１から３のいずれか一項に記載の移動型清掃ロボット。
【請求項５】
前記衝突センサが前記所定の時間よりも短い時間にわたって押下され続けた場合に、前記移動型清掃ロボットを９０°以上回転させるよう構成される、請求項１から４のいずれか一項に記載の移動型清掃ロボット。
【請求項６】
前記障害物との複数の衝突間の平均距離が、所定の閾値未満である場合に、前記移動型清掃ロボットを前記障害物の縁端を辿って移動させるよう構成される、請求項１から５のいずれか一項に記載の移動型清掃ロボット。
【請求項７】
前記障害物との複数の衝突間の平均距離が、前記所定の閾値より小さい閾値未満である場合に、前記移動型清掃ロボットを９０°以上回転させるよう構成される、請求項１から６のいずれか一項に記載の移動型清掃ロボット。
【請求項８】
前記移動型清掃ロボットは、複数の動作モードで動作可能であり、
前記複数の動作モードは、螺旋運動を行うスポットカバレッジモードを含み、
前記移動型清掃ロボットは、該スポットカバレッジモード中に前記衝突センサが障害物との衝突を検知した場合、前記螺旋運動を逆回りで継続するよう構成される請求項１から７のいずれか一項に記載の移動型清掃ロボット。
【請求項９】
前記移動型清掃ロボットは、複数の動作モードで動作可能であり、
前記複数の動作モードは、螺旋運動を行うスポットカバレッジモードを含み、
前記移動型清掃ロボットは、該スポットカバレッジモード中に前記衝突センサが障害物との衝突を検知した場合、前記動作モードを変更するよう構成される請求項１から７のいずれか一項に記載の移動型清掃ロボット。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図１２Ａ
【補正方法】変更
【補正の内容】
【図１２Ａ】
2014063528.tif 000029
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図１２Ｂ
【補正方法】変更
【補正の内容】
【図１２Ｂ】
2014063528.tif 000030