"任意の大きさおよび形状を有する床面を清掃する移動型ロボット清掃機であって、円形のロボット本体と、前記ロボット本体を進行方向において前進させると共に、前記ロボット本体を回転させて前記進行方向を変更する駆動機構と、前記ロボット本体の進行方向前部に配置され、前記進行方向における移動中に前記ロボット本体が接触する障害物を検出する衝突センサと、前記進行方向に対し左右いずれか一方を前記ロボット本体の支配側とし、当該支配側に接近する障害物を検出する追従センサと、前記ロボット本体の下面に配置され、少なくとも前記支配側の埃を収集する清掃ヘッドと、前記衝突センサと前記追従センサからの出力信号に基づいて前記駆動機構を制御するコントローラと、を備え、前記コントローラは、前記駆動機構を制御して前記ロボット本体の移動モードを、少なくとも直線モードとバウンスモードとの間で切り換えることができ、前記直線モードにおいては、前記コントローラは前記衝突センサが障害物を検出するまで、前記ロボット本体を直線に沿って前進させ、前記バウンスモードにおいては、前記コントローラは、前記衝突センサが障害物を検出したとき、前記ロボット本体回転させて、前進方向が前記障害物から遠ざける方向となるよう向きを変え、その後、直線モードにて変更後の向きに前進させるよう制御することを特徴とする、移動型ロボット清掃機。床表面における垂直な落ち込みを検出するための絶壁センサと、前記駆動機構が備える車輪の低下を検出する脱輪センサと、をさらに備え、前記コントローラは、少なくとも前記絶壁センサまたは前記脱輪センサのいずれか一方の検出結果に応じて、前記駆動機構を制御することを特徴とする、請求項1に記載の移動型ロボット清掃機。前記衝突センサ、前記絶壁センサ、または前記脱輪センサにおいて、障害物、絶壁または脱輪が、それぞれ所定の時間以上継続して検出された場合に、前記移動型ロボット掃除機を停止すことを特徴とする、請求項2に記載の移動型ロボット清掃機。前記コントローラは、前記脱輪センサによって脱輪事象が検出されたときに増加し、時間とともに徐々に減少する脱輪レベルに基づいて、前記駆動機構を制御することを特徴とする、請求項2または3に記載の移動型ロボット清掃機。前記衝突センサは、前記支配側および非支配側にそれぞれ、障害物への衝突を検出する第一および第二の検出部を備え、前記コントローラは、前記衝突センサが障害物に衝突したとき、前記第一および第二の検出部による衝突の検出の時間差に基づいて、前記障害物の前記ロボット本体が衝突した面に対して前記ロボット本体の進行方向が成す角度を推定することを特徴とする、請求項1から4のいずれか一項に記載の移動型ロボット清掃機。前記コントローラは、前記バウンスモードへの移行時に前記ロボット本体を回転させる際、前記コントローラが前記第一および第二の検出部による衝突の検出の時間差に基づいて推定した前記障害物の前記ロボット本体が衝突した面に対して前記ロボット本体の進行方向が成す角度に基づき、前記ロボット本体の回転量が少なくなる方向に前記ロボットを回転させることを特徴とする請求項5に記載の移動型ロボット清掃機。前記コントローラは、前記ロボット本体をバウンスモードで駆動する際、前記障害物に衝突後に該衝突面から離れる方向に変更した前記ロボット本体の進行方向は、所定の方法で決定することを特徴とする、請求項1から6のいずれか一項に記載の移動型ロボット清掃機。前記所定の方法は、前記ロボット本体の回転角度を所定の角度範囲内でランダムな角度に設定することである、請求項7に記載の移動型ロボット清掃機。前記直線モードにより前記ロボット本体が前進し、前記障害物センサが障害物を検出したとき、前記コントローラが、前記バウンスモードに移行する前に、前記ロボット本体を壁面追従モードにより所定の時間または距離だけ、前記障害物に沿って移動させることを特徴とする請求項1から8のいずれか一項に記載の移動型ロボット清掃機。以上検討したように、市販されている従来例では、未知の形状の領域に対しては、効率的なカバレッジアルゴリズムが得られない。上述のように、従来技術は、マーカーやビーコンの複雑なシステムに依拠しているか、あるいは、ロボットの用途が、単純な矩形状の室内に限定されている。擬似決定論的制御アルゴリズムを用いる試みでは、体系上無視された空間領域が、残されてしまうことがある。本発明の一つの目的は、効率的なカバレッジの処理ため、移動ロボットを複数のモードで動作させることが可能なシステム及び方法を提供することである。また、本発明の目的は、少なくとも1個のセンサを具備して、スポット処理、障害物追従、及び反跳はね返り等のいくつかのモードで動作する移動ロボットを提供することである。本発明の更なる目的は、カバレッジを確実にするために、障害物追従モードと反跳モードとを交互に繰り返す移動ロボットを提供することである。本発明の一つの目的は、ロボットが所定の距離を移動した後に、スポット処理へと復帰させることである。本発明の一つの目的は、障害物間の平均距離を監視し、該平均距離を動作モードを入れ替えるための入力として用いることが可能な移動ロボットを提供することである。本発明の別の目的は、ロボットが障害物追従モードで移動する距離を、障害物追従の頻度及びロボットの動作有効幅の関数として最適化し、障害物追従モードにて動作する最小距離および最大距離を提供することである。本発明の一つの目的は、複数の行動を実行可能なオペレーションシステムプログラムを有する移動ロボットのための制御システムを採用し、アービタを用いて、ロボットにどの行動を取らせるかを選択させることである。本発明の別の目的は、様々な脱出プログラムや行動を組み込んで、ロボットがスタックしないようにすることである。最後に、本発明の一つの目的は、ここに開示された様々な目的及び利点を活かすように移動ロボットを制御する1つ又はそれ以上の方法を提供することである。上記目的のため、本発明において、任意の大きさおよび形状を有する床面を清掃する移動型ロボット清掃機であって、円形のロボット本体と、ロボット本体を進行方向において前進させると共に、ロボット本体を回転させて進行方向を変更する駆動機構と、ロボット本体の進行方向前部に配置され、進行方向における移動中にロボット本体が接触する障害物を検出する衝突センサと、進行方向に対し左右いずれか一方をロボット本体の支配側とし、当該支配側に接近する障害物を検出する追従センサと、ロボット本体の下面に配置され、少なくとも支配側の埃を収集する清掃ヘッドと、衝突センサと追従センサからの出力信号に基づいて駆動機構を制御するコントローラと、を備え、コントローラは、駆動機構を制御してロボット本体の移動モードを、少なくとも直線モードとバウンスモードとの間で切り換えることができ、直線モードにおいては、コントローラは衝突センサが障害物を検出するまで、ロボット本体を直線に沿って前進させ、バウンスモードにおいては、コントローラは、衝突センサが障害物を検出したとき、ロボット本体回転させて、前進方向が障害物から遠ざける方向となるよう向きを変え、その後、直線モードにて変更後の向きに前進させるよう制御することを特徴とする、移動型ロボット清掃機が提供される。本発明のこれらの特徴及びさらなる特徴は、添付の図面を参照して明らかとなるであろう。本発明では、移動ロボットが、未知の幾何学形状の部屋において有効な処理速度にて最大のカバレッジを提供するように、設計されている。また、パターン化された動作すなわち計画的動作が組み込まれているために、ロボットの知覚効率が向上している。さらに、好適な実施形態では、効率的に処理するためには、ロボットが未知の環境内で動作不能となることを防止できる制御システムが必要である。移動ロボットの物理的構成は、当該技術分野において既知であるので、ここでは、本発明の好適な、そして例示的な実施形態における構成要素について説明する。本発明の好適な一実施形態は、ある特徴を備えたほぼ円形状のロボット掃除機である。例えば図2に示すように、好適な実施形態の移動ロボット10は、シャーシ11を備え、このシャーシ11には、機械的及び電気的構成要素が支持されている。これらの構成要素として、種々のセンサが含まれており、その中には、ロボットの前側部分に配置された2つの衝突センサ12、13、ロボットのシエル以下、ケースと記す15に配置された4つの絶壁センサ14、及びロボットのケース15に搭載された壁面追従センサ16が含まれる。他の実施形態では、ロボットに1つだけのセンサが用いられてもよい。センサとしては、ソナー型、触覚型、電磁型、静電容量型等の様々な型のセンサが用いられてもよいことが、当業者には理解されるであろう。コスト上の制約により、本発明の好適な実施形態においては、衝突触覚センサ12、13と、絶壁センサ14及び壁面追従センサ16として反射型赤外線近接センサとが、用いられている。赤外線センサの詳細は、米国特許出願No09768773に記載されている。この米国特許出願No09768773の開示は、ここに参照することにより本明細書に一体に組み入れられるものとする。ロボットの好適な実施形態は、2つの車輪20、該車輪をそれぞれ独立して回転させるモータ21、安価なローエンドマイクロコントローラ22、及び充電可能なバッテリ23又は当該技術に既知の他の電源を備えている。これらの構成要素は当該技術で周知であるため、ここで詳細には説明しない。さらに、ロボット清掃機10は、1つ又はそれ以上の清掃ヘッド30を備えている。この清掃ヘッドは、真空掃除機、様々なブラシ、スポンジ、モップ、静電布、又は様々な清掃要素を組み合わせたものを含む。また、図2に示す実施形態には、サイドブラシ32も含まれている。上述のように、ロボット清掃機10の好適な実施形態は、外側ケース15を備えており、該外側ケース15において、そのロボット10における支配的な側、非支配的な側、及び前側部分が規定されている。ロボットの支配的な側とは、ロボットが物体又は障害物の近傍を清掃するとき、その物体又は障害物に対して近接又は当接した状態に保たれる側のことである。図2に示すように、好適な実施形態では、ロボット10の支配的な側は、主たる進行方向に対し右手側となっている。但し、他の実施形態では、支配的な側が左手側であってもよい。さらに別の実施形態では、ロボットは対称であってもよく、その場合、支配的な側は必要でない。しかしながら、好適な実施形態では、コストの理由から支配的な側が選択されている。主たる進行方向を図2において、矢印40で示す。好適な実施形態では、2つの衝突センサ12、13が、矢印40で示した前進方向を基準として、車輪20の前方に配置されている。一方の衝突センサ13は、ロボット10の支配的な側に配置されており、他方の衝突センサ12は、ロボット10の非支配的な側に配置されている。これら両衝突センサ12、13が同時に作動したとき、ロボット10は、障害物が前方にあることを認識する。他の実施形態では、より多数又はより少数の衝突センサが用いられてもよい。同様に、任意の数の衝突センサが、清掃機を任意の数の放射状部分に区分するのに用いられてもよい。好適な実施形態では、衝突センサ12、13は、ロボット10と障害物とが接触すると作動する赤外線遮断センサであるが、機械スイッチや、ロボットに接触した物体の静電容量あるいは、接触時にバンパ内で圧縮される2枚の金属板間の静電容量を検出する静電容量型センサを含む他の型のセンサが用いられてもよい。非接触センサは、ロボットが物体に対して近接したことを、その物体に物理的に接触することなく検出可能であるが、非接触センサが用いられても良い。非接触センサとしては、静電容量センサや赤外光のカーテン等がある。表面が接触又は近接したことだけでなく、接触したところのロボットに対する角度をも通知可能なセンサを備えていると、便利である。好適な実施形態では、ロボットは、左右の衝突スイッチ12、13が作動した場合に、両者の作動の時間差を算出することができる。そして、ロボットは、接触した角度を推定することができる。図4Aに示した好適な実施形態では、衝突センサは、ロボットの前側に、センサ42、43を有する単一の機械式バンパ44を備えている。センサ42、43は、バンパのほぼ両端にあり、該バンパの動作を検出する。バンパが圧縮されると、センサの事象同士の時間差が、ロボットが障害物に接触した角度を概算するのに用いられる。バンパが右側から圧縮された場合、バンパの追従及び衝突検出器の幾何学的形状により、右側の衝突センサが最初に衝突を検出し、引き続き、左側の衝突センサが衝突を検出する。このように、2つの衝突センサだけで、衝突角度を概算することができる。例えば、図4Aでは、衝突センサ42,43は、ロボットの前側部分を6つの領域I~VIに分割可能である。1つの衝突センサが作動すると、ロボットは、他のセンサが作動するまでの仮に作動するとして時間を算定する。例えば、右側の衝突センサ43が作動すると、ロボットは、左側の衝突センサ42が作動するまでの時間tを測定する。tがt1未満であれば、ロボットは、接触が領域IVで発生したものとみなす。tがt1以上かつt2未満であれば、ロボットは、接触が領域Vで発生したものとみなす。tがt2以上監視時間内に左側の衝突センサ42が全く作動しない場合を含むであれば、ロボットは、接触が領域VIで発生したものとみなす。衝突センサが同時に作動した場合には、ロボットは、接触がまっすぐ前で発生したものとみなす。この方法は、使用される時間測定及びバンパの幾何学的形状次第で、バンパを任意の多数の領域により高精度で分割するのに用いられてもよい。機能拡張として、上記の例のように2次元だけとする代わりに、3次元で衝突角度を算出するのに、3つのセンサを用いてもよい。また、好適な実施形態においては、ロボット10の支配的な側、壁面追従すなわち壁面検出センサ16が取り付けられている。好適な実施形態では、壁面追従センサは、壁面がしかるべき位置にある時、有限の大きさで壁面と交差するようにコリメートされた、発光器及び検出器の対からなる赤外線センサである。この焦点は、ロボットの前進動作方向において、駆動車輪よりも約3インチ前方に位置している。壁面検出の半径範囲は、約0.75インチである。また、好適な実施形態は、任意の個数の赤外線絶壁センサ14を備えており、これによって、清掃機が階段や他の垂直の落ち込みで転落しないようになっている。これら絶壁センサは、壁面追従センサと同様の構成であるが、壁ではなく床を観測する向きに配設されている。さらなる安全性及び検出手段として、ロボット10は、1つ又はそれ以上の車輪が床に支持されなくなったときにそれを検出可能な脱輪センサを備えている。従って、この脱輪センサは、絶壁だけでなく、電気スタンドの基部、床が高くなっているところ、コードの束等のように、ロボットがその上を走行し得る様々な障害物をも検出可能である。他の実施形態では、他の既知のセンサあるいはセンサの組み合わせが用いられてもよい。図3に、本発明の好適な実施形態のコントローラ及びロボットのハードウェアブロック図を示す。好適な実施形態では、WinbondW78XXXシリーズのプロセッサが用いられている。これは、36個の汎用I/Oポート、256バイトのRAM、及び16KのROMを有するMCS51ファミリーと互換性のあるマイクロコントローラである。クロックは40MHzになっており、それが分割されて、プロセッサ速度が3.3MHzとなる。このプロセッサは、2つのタイマを備えている。これらのタイマは、ウォッチドッグタイマとしても使用され、また、センサを処理して出力信号を発生する、割り込み処理を起動するのにも使用される。また、第1のタイマの最下位ビットは、行動に必要となる擬似乱数として用いられる。また、2つの駆動輪からのエンコーダ入力を取り込むのに用いる2つの外部割込みがある。また、プロセッサは、ロボット制御プログラムのテスト及びデバッグに用いるUARTを有する。マイクロプロセッサのI/Oポートは、ロボットのセンサ及びモータに接続されており、ロボットの内部状態及びその環境に接続するインタフェースとなっている。例えば、脱輪センサが入力ポートに接続され、ブラシモータPWM信号が出力ポートに発生する。マイクロプロセッサ上のROMは、カバレッジ及びロボットの制御プログラムを格納するのに用いられる。これには、行動後述、センサ処理アルゴリズム、及び信号発生が含まれている。RAMは、平均衝突距離、走行時間及び距離、並びに制御上の行動ID及びその現在のモータコマンド等のロボットの動的状態を格納するのに用いられる。ロボット清掃機の移動を理解するため、図4Bに、座標平面上のx軸及びy軸の中心を基準とするロボットの方位を示す。この座標システムは、ロボットにも採用されている。ロボット10の方向に関する動作は、ロボット10が移動する半径として理解することができる。敏速に回転して壁100から離反するためには、ロボット10は、正の小さい値r図4Bではr3を設定する。また、敏速に回転して壁へと向かうためには、ロボットは、負の小さな値r図4Bではr1を設定する。一方、わずかに回転するためには、ロボットは、比較的大きな絶対値rを設定する。左回転するにはすなわち壁から離反するには、正の値r、図4Bではr4で、右回転するにはすなわち壁に向かってゆくには、負の値r図4Bではr2を設定する。この座標を用いた体系は、後述の制御の例で用いられる。マイクロコントローラ22は、速度差を制御して回転半径を決定する。その速度差とは、各モータ21が個別に稼動するそれぞれの速度の差である。また、ある実施形態では、ロボットは、1つ又はそれ以上の利用者の入力手段が含まれる。例えば、図2に示すように、好適な実施形態には、3つの単純なボタン33が含まれている。これらのボタン33により、利用者はカバーされる表面の概略の広さを入力可能である。好適な実施形態では、これらのボタンには、S小、M中及びL大のラベルが付されており、それぞれ、11.1、20.8及び27.9平方メートルの部屋に対応している。上述のように、例示したロボットは、本発明を実施するのに好適な実施形態であり、当業者は、当該分野で既知の構成要素を選択して、特定の目的用にロボットを設計することができる。好適な設計例としては、以下の米国特許に記述されているものを含む。すなわち、米国特許第4306329号、第5109566号、第5293955号、第5369347号、第5440216号、第5534762号、第5613261号、第5634237号、第5781960号、第5787545号、第5815880号、第5839156号、第5926909号、第6038501号、第6076226号であり、これらは、ここに参照することにより、本明細書に一体に組み入れられるものとする。図5は、清掃機の様々な動作モードの簡略ブロック図である。好適な実施形態では、そして単なる例としてであるが、動作モードには、スポット清掃利用者又はロボットが清掃の特定の領域を指定する、縁端清掃、及び室内清掃がある。各動作モードは、後述するように、命令及び/又内部行動の複雑な組み合わせを含んでいる。但し、そのような複雑さは、利用者には通常わからないようになっている。一実施形態では、利用者は、例えばセレクタスイッチや押しボタンのような入力要素を用いて特定の動作モードを選択することができる。別の好適な実施形態では、以下に説明するように、ロボットは、複数の動作モード間を自律的に循環してゆく。本発明のカバレッジロボットは、領域を効率的にカバーするのに、これらの様々な動作モードを用いる。当業者はこれらの様々な動作モードを様々なアーキテクチャーで構成できるが、好適な実施形態では、行動制御に依拠している。ここで行動とは、単に、相互に並列して実行される制御システムの複数の層のことである。そして、マイクロコントローラ22は、優先度が付された裁定スキームを実行して、所与のシナリオに対する支配的な行動を解決する。行動制御の説明は、MobileRobotssupraに見られ、その本文は、ここに参照することにより本明細書に一体に組み入れられているものとする。すなわち、好適な実施形態では、ロボットのマイクロプロセッサ及び制御ソフトウェアは、多数の行動を同時に実行する。状況に応じて、ロボットの制御は、1つ又はそれ以上の様々な行動をもたらす。本発明の好適な動作を詳述する目的で、行動は、1カバー行動、2脱出行動、又は3利用者/安全行動として説明される。カバー行動は、主として、ロボットがカバー動作を効率的に実行できるように設計されている。脱出行動は、1つ又はそれ以上のセンサがロボットに自由な行動が許されていないことを示唆した場合に、優先的に実行される特別な行動である。本明細書の約束事として、以下に検討する行動は、全て大文字で記述される。1.カバレッジ行動図6乃至図14に、好適な各動作モード、すなわち、スポットカバレッジ、壁面追従又は障害物追従、及び室内カバレッジについての詳細を示す。動作モード:スポットカバレッジ例えばスポット清掃により、利用者は孤立した状態の汚れた領域を清掃可能である。利用者は、ロボット10を、清掃が必要な領域の中央近傍の床面上に配置し、スポット清掃動作モードを選択する。すると、ロボットは、例えば規定の半径内の近接領域にロボットの清掃ヘッド30やサイドブラシ32が接するように動作する。好適な実施形態では、スポット清掃を実現する方法は、図6Aに示すような外向きの螺旋運動すなわちSPIRAL行動を提供する制御アルゴリズムである。一般に、螺旋運動は、回転半径が時間の関数として増加させることにより実現させる。好適な実施形態では、支配的な側を、螺旋における外側、すなわち最前線側に維持するため、ロボット10の螺旋運動を反時計回りに開始する図6Aに移動線45で示す。図6Bに示す他の実施形態では、ロボット10の螺旋運動は、回転半径が減り続けるように、内方へと発生する。内向き螺旋を、図6Bに移動線45として示す。しかしながら、螺旋運動中に支配的な側を外側に保つことは、必須ではない。好適な実施形態で用いるスポット清掃方法外向きスパイラルを、図7で説明する。まず、螺旋運動が開始されステップ201、rの値がその最小の正の値に設定される可能な限り急な反時計方向の回転が生じると、螺旋行動は、θを螺旋行動開始時以降の角度変化を表すものとし、rの値をθの関数として再計算するステップ210。式r=aθaは定数を用いることにより、螺旋のきつさ、あるいは螺旋の所望の重複が制御可能である。なお、θは、2πに規格化されていない。aの値は、式a=d/2πで選択される。ここで、dは、螺旋の連続した2つの経路間の距離である。効率的な清掃のためには、dの値は、清掃機構30の幅未満とすべきである。好適な実施形態では、dの値は、清掃ヘッド30の幅の1/2乃至2/3に設定される。他の実施形態では、ロボットは、螺旋モードで移動した合計距離を記録している。それは、ある距離になると螺旋が崩れる、すなわち、表面に依存した車輪のすべり及び/又は螺旋概算アルゴリズムと計算精度の不正確さのため、時間が経過すると螺旋運動の中心点がずれる傾向にあるためである。ある実施形態では、ロボットは、6.3又は18.5メートルといった所定の距離最大螺旋距離を移動ステップ240した後に、螺旋モードから離脱する。好適な実施形態では、ロボットは、最初の螺旋を実行しているか又は後の螺旋を実行しているのかに依存する、複数の最大螺旋距離を用いる。衝突することなく最大螺旋距離に達した場合には、ロボットは、別の行動に制御を移し、例えば、主に直線に沿って移動を続ける。好適な実施形態では、直線STRAIGHTLINE行動は、優先度の低いデフォルトの行動である。この行動は、他の行動がアクティブでないときに、ロボットをほぼ直線に沿って、約0306msの予め設定された速度で進行させる。螺旋モードでは、障害物に遭遇した場合に様々な動作がなされる。例えば、ロボットは、a障害物を回避して反時計回りの螺旋運動を続けようとするか、b障害物を回避して反対方向に螺旋運動を続けようとする例えば、反時計回りから時計回りに変更するか、又はc動作モードを変更する。螺旋運動を逆回りで継続するのは、反射螺旋reflectivespiralとして知られており、図6Cに示されている。ここでは、ロボット10は、障害物101に接触したときに、動作経路45を反転させている。好適な実施形態では、ステップ220に詳述するように、衝突センサ12又は13が最初の障害物に遭遇したときに、ロボット10はスポット清掃モードから離脱するステップ230。好適な実施形態は、スポットカバーについて、螺旋運動により説明しているが、自身により境界を設定する任意の領域が使用可能である。このような領域には、制限するものではないが、正方形、六角形、楕円等の通常の多角形状が含まれる。動作モード:壁面/障害物追従壁面追従、すなわち清掃ロボットの場合には縁端清掃により、利用者は、部屋の縁端や室内の物体の縁端のみを清掃可能である。利用者は、清掃すべき縁端の近傍の床面上にロボット10を配置し、縁端清掃動作モードを選択する。すると、ロボット10は、縁端を辿りつつ、ロボットの清掃ヘッド30が当接した全ての領域を清掃する。図8に、部屋110の中でのロボット10の動作を示す。図8Aにおいて、ロボット10は、その支配的な側が壁面に隣接するように、壁面100に沿って配置される。すると、ロボットは、壁面に沿って、無制限に移動経路46を辿って走行する。同様に、図8Bでは、ロボット10は、障害物101に近接して配置される。すると、ロボットは、障害物101の縁辺に沿って、無制限に移動経路47を辿る。好適な実施形態における壁面追従モードでは、ロボットは、壁面追従センサ16を用いて、自身の位置を壁から所定の距離に位置させる。そして、ロボットは、壁の周囲に沿って移動する。図8A及び図8Bに示すように、好適な実施形態においては、ロボット10は、壁100と他の固体の障害物101とを区別できない。図9Aに、好適な実施形態において壁面追従に用いられている、1ビットのセンサでも、滑らかな壁面追従動作が得られる方法を示す。ここで、1ビットのセンサは、壁とセンサとの間の距離ではなく、特定の体積内において壁が存在するかしないかのみを検出する。衝突検出やソナーセンサ等の、壁や物体を検出する他の方法が用いられてもよい。壁面追従動作モード、すなわち好適な実施形態の壁面追従WALLFOLLOWING行動、が開始されるとステップ301、最初にロボットは、操舵のための初期値をr0に設定する。そして、壁面追従WALLFOLLOWING行動は、壁面追従センサ16における発光-検出emitdetectルーチンを開始するステップ310。センサ16の赤外線発光部分に対する反射があると、それは、センサ16から所定の距離内に物体が存在しているものと解釈される。そして、壁面追従WALLFOLLOWING行動は、反射物体が範囲内にあるから非反射物体が範囲外となるへの遷移があったかどうかを判別するステップ320。そのような遷移があったすなわち、今や壁は範囲外にある場合、rの値は最小値絶対値が最大の負の値に設定され、ロボットはわずかに右方へと向きを変えるステップ325。そして、ロボットは、発光-検出シーケンスを再開するステップ310。反射から非反射への遷移がなかった場合、壁面追従WALLFOLLOWING行動は、非反射から反射への遷移があったかどうかを判別するステップ330。そのような遷移があった場合には、rの値は、正の最大値に設定され、ロボットはわずかに左方へと向きを変えるステップ335。いずれのタイプの遷移事象も発生していなければ、壁面追従WALLFOLLOWING行動は、rの絶対値を低減した上でステップ340、発光-検出シーケンスステップ310を再開する。rの絶対値が減少することにより、ロボット10は、現在向いている方向がどちらであるにせよ、より鋭く回転するようになる。好適な実施形態では、rの絶対値の減少率は、移動距離に依存した一定の率となっている。壁面追従モードは、所定時間又はランダムな時間、所定距離又はランダムな距離、あるいは、ある追加条件が満たされるまで例えば衝突センサが作動すること等、継続し得る。ある実施形態では、ロボットは、壁面追従をいつまでも継続する。好適な実施形態では、図8C及び図8Dに示すように、最小移動距離及Minび最大移動距離Maxが定められ、ロボットは、最大移動距離に達する図8Dか、あるいは少なくとも最小移動距離を移動した後に障害物に突き当たる図8Cまで、壁面追従WALLFOLLOWING行動を続ける。このような壁面追従WALLFOLLOWING行動の実装により、ロボットは、他の動作モードに比べて、適切な時間、壁面追従行動をとることが保証され、これにより全領域について、カバレッジcoverageを、体系的に無視することなく分布させる。壁面追従を増やすことにより、ロボットはより広い空間を移動可能となるが、ある一部の空間の清掃に関しては効率が低下する。なお、障害物検出後に壁面追従WALLFOLLOWING行動から離脱する傾向にあると、知覚効率は向上する。図9Bは、どのような場合に壁面追従WALLFOLLOWING行動から離脱するかを決定する本実施形態を示すフローチャートである。ロボットは、まず壁面追従の最小距離dmin及び壁面追従の最大距離dmaxを、決定する。壁面又は障害物追従モードにあるとき、制御システムは、そのモードにてロボットが移動した距離dWFを監視している。もしもdWFがdmaxより大きくなった場合ステップ350、ロボットは、壁面追従モードから離脱するステップ380。一方、dWFがdmax未満ステップ350であるとともに、dWFがdmin未満ステップ360である場合には、ロボットは、壁面追従モードに留まるステップ385。もしもdWFがdminより大きくステップ360、かつ障害物に遭遇したステップ370場合には、ロボットは、壁面追従モードから離脱するステップ380。理論的には、ロボットが壁面追従WALLFOLLOWING行動において移動する最適距離は、室内の広さと構成、並びにロボットの大きさの関数である。好適な実施形態では、壁面追従WALLFOLLOWING行動に留まるための最小距離及び最大距離は、室内のおおよその広さ、ロボットの幅、及びランダム要素に基づいて設定される。ここで、平均移動距離の最小値は、2w/pである。但し、wはロボットの作動要素の幅であり、pは障害物との所与の相互作用にてロボットが壁面追従WALLFOLLOWING行動に入る確率である。好適な実施形態においては、例えば、wは約15cmから約25cmの間であり、pは0.095である障害物追従モードに入る前にロボットが6から15個の障害物に遭遇、すなわち平均で10.5個の障害物に遭遇の場合。次に、最小距離が約115cmから約350cmの間でランダムに設定され、そして、最大距離が約170cmから約520cmの間でランダムに設定される。ある実施形態では、最大距離と最小距離との比は、2:3になっている。知覚効率のために、障害物追従モードにおけるロボットの初期の動作における距離は、障害物追従モードにおけるその後の動作よりも長く設定されていてもよい。また、利用者はロボットを始動させるときに、最も長い壁に沿ってそのロボットを配置してもよい。そうすることにより、知覚されるカバレッジcoverageも実際のカバレッジcoverageも広くなる。また、壁面追従モードにてロボットが移動する距離は、室内の雑然度である、遭遇する物体の数及び頻度他のセンサにより検出に依存して、そのロボットにより設定されてもよい。遭遇する物体が多いほど、ロボットは、全ての床面領域に進出するように、より長距離に亘って壁面を追従することになる。反対に、遭遇する物体が少ないほど、ロボットは、中央の空間を通過するのを優先させて、空間の縁端を過度にカバーしないように、より短く壁面を追従することになる。また、壁面追従WALLFOLLOWING行動の制御下にある最初の期間内は、ロボットがより長い距離又はより短い距離だけ壁面を追従可能となるように、初期壁面追従距離が含まれていてもよい。好適な実施形態では、ロボットは、例えば270°を超えて回転して壁又は物体を特定できなくなった場合、あるいは、壁面追従モードに入ってから合計で360°回転した場合にも、壁面追従モードを離脱するようにしてもよい。ある実施形態では、壁面追従WALLFOLLOWING行動がアクティブで、衝突があったとき、整列ALIGN行動がアクティブとなる。整列ALIGN行動により、ロボットは、反時計回りに回転して壁面に揃えられる。多数の小回転のサイクルに入らないように、ロボットは常に最小角度だけ回転する。最小角度の回転の後、ロボットは、壁面センサを監視する。壁面センサが壁面を検出し、その後に非検出となったなら、ロボットは回転をやめる。これは、壁面追従範囲の端部において、ロボットが壁面追従WALLFOLLOWING行動を開始するために良好に揃えられているためである。壁面センサがオンになってからオフになるのを、最大角度に達する時間内に検知しなかった場合、ロボットは、とにかく停止する。このことにより、ロボットは、壁が壁面センサの測定範囲外となったときに、回転し続けるのを防ぐことができる。直近の衝突が、支配的な側のバンパ側60°以内であった場合、最小角度が14°、最大角度が19°に設定される。それ以外の場合、衝突が支配的な側又は非支配的な側の前側30°以内であれば、最小角度が20°に設定され、最大角度が44°に設定される。整列ALIGN行動は、回転が完了すると、制御を壁面追従WALLFOLLOWING行動に渡す。動作モード:室内カバレッジcoverageここで、第3の動作モードを、室内カバレッジあるいは室内清掃モードと呼ぶ。ここの動作モードにより、利用者は、壁、階段、障害物、又は他の遮蔽物により区画された領域を清掃することが可能となる。このオプションを実行するためには、利用者は、ロボットを床に置いて、室内清掃モードを選択する。すると、ロボットは、到達可能な全領域を清掃しながら室内をあちこち移動する。好適な実施形態では、室内清掃行動を実行する方法は、直線STRAIGHTLINE行動と組み合わされた反跳はね返りBOUNCE行動である。図10に示すように、ロボット10は、障害物101又は壁100に突き当たって衝突センサ12及び/又は13が作動するまで移動する。それから、ロボット10は、回転して、移動を続ける。動作経路の例を、図11に線48として示す。図10に、ランダムな反跳行動のアルゴリズムを示す。ロボット10は、衝突センサ12及び/又は13が作動するステップ410まで、前進動作を続けるステップ401。そして、ロボット10は、1つ又は複数の衝突センサのどれが作動したかを検出したかに基づいて、新たな方向についての許容範囲を算出するステップ420。そして、ロボットが遭遇した物体に対して90°乃至270°というような許容範囲内において、新たな進路を、ある種の乱数演算を行い、決定する。ロボットが突き当たった物体の角度は、上述のように、左右の衝突センサ間のタイミングを用いて決定される。そして、ロボットは、その新たな進路へと向きを変える。好適な実施形態においては、回転方向は、新たな進路へと向きを変えるのにどちらの方が動作が最小で済むかに応じて、時計回り又は反時計回りとなる。他の実施形態において、ロボットのカバレッジcoverage効率が増加するように、回転に、前進動作が伴う。ロボットによりなされる進路選択は、統計的に、許容範囲全体に均一に分散することができる。すなわち、許容範囲内のあらゆる進路に同等な機会があるようにすることができる。あるいは、我々は、ロボットを壁から垂直な方向に離れるように優先的に駆動するため、ガウス分布や、他の分布に基づいた統計手法を選択することができる。他の実施形態において、ロボットは、外部的なセンサの作動に基づくのではなく、ランダムにあるいは所定の時間毎に進路変更できる。あるいは、ロボットは、ロングレンジlongrangeセンサに基づいて小規模の角度補正を継続的に続けて、物体に接触するのを避けるようにしてもよい。こうすることにより、湾曲した経路を有する表面領域をカバーできる。好適な実施形態では、ロボットは、反跳相互動作がある回数に達するまで、室内清掃モードに留まる。この回数は通常6から13の間である。2.脱出行動EscapeBehaviors領域をカバーしようとする際に、ロボットが全領域を効率的にカバーすることを妨げる、ロボットが遭遇し得るいくつかの状況がある。一般的な水準classのセンサと、脱出行動と呼ばれる行動が、ロボットがこのような状況から出られるように、あるいは、極端な場合には、ロボットが脱出できないと決定されたならばロボットをオフにするように、設計されている。ロボットの様々な行動の中で、脱出行動を優先させるかどうかを決定するために、ロボットは、以下のことを決定する。1脱出行動が必要であるか、2そうであるならば、どのような脱出行動が認められるか。例として、以下の状況により、室内清掃ロボットに必要とされる脱出行動、及び走行するのに適切な行動の状況を説明する。i状況1.ロボットは、スタックする可能性のある状況を検出する。例えば、ロボットにとって傾斜路のように作用する、敷物の高くなった所やスタンドの基部の近くを検出する。ロボットは、その状況から抜け出すために、小規模なパニック進路変更行動をとる。ii状況2.ロボットが物理的にスタックする。例えば、ロボットがソファーの下や壁に食い込む、コードや敷物の房に絡まる、あるいは、電気コードの束の上にスタックして車輪が空転する。ロボットは、大規模なパニック進路変更行動をとり、適切なモータをオフにして障害物から脱出する。iii状況3.ロボットが小さな限定された領域に入る。例えば、その領域は、ロボットが、椅子の脚やドレッサーの下に空いた領域、あるいはスタンドが部屋の隅に近接して置かれてできた小領域である。ロボットは、バンパを用いて縁端を辿り、及び/又は、その領域から脱出するためにパニック進路変更を実行する。iv状況4.ロボットがスタックして自由が奪われる。例えば、ロボットは、上記の分類iiの1つの事例になっていて、そのあらゆるパニック行動によっても自由になれない状況である。この場合、ロボットは動作を停止し、信号を発して利用者に救援を求める。これにより、バッテリ寿命が保たれ、床や家具の損傷が防げる。各脱出状況の必要性を検出するために、様々なセンサが用いられる。例えば、i状況1.aブラシやサイドブラシの電流が閾値よりも上昇しているとき、関連するモータに印加される電圧は減少する。このことが起こっているときにはいつでも、失速率の変数が高くなっている。電流が閾値未満であるときには、失速率は減少している。失速レベルが低い方の閾値を越えており、その変化率傾斜が正であれば、ロボットは、小規模なパニック進路変更行動を実行する。レベルがゼロになってから再び閾値に達したときに、小規模なパニック進路変更行動のみを再度実行する。b同様に、脱輪レベル変数がある。この脱輪レベル変数は、脱輪事象が検出されたときに増加し、時間とともに徐々に減少してゆく。脱輪事象が検出されて脱輪レベルが閾値を超えていれば何回か脱輪が起こったばかりであることを意味する、ロボットは、脱輪レベルに基づいて小規模又は大規模なパニック進路変更行動を実行する。ii状況2.aブラシ失速率が高い方の閾値を超えていて、その変化率傾斜が正である場合、ロボットは、ブラシの回転を13秒間停止して、大規模なパニック進路変更行動を1、3、及び7秒間実行する。13秒が経過すると、ブラシは再び駆動される。b走行失速率が中間の閾値を超えていて、その変化率が正である場合、ロボットは、大規模なパニック進路変更行動を継続的に実行する。c走行失速率が高い方の閾値を超えた場合、ロボットは、全てのモータを15秒間停止する。15秒が経過すると、モータは再び駆動される。dロボットのバンパが5秒間継続して押さえられた場合側面食い込み状況の場合のように、ロボットは、大規模なパニック進路変更行動を実行する。ロボットは、バンパが開放されるまで、5秒毎にパニック進路変更行動を繰り返す。eロボットが20フィートに亘って何にも衝突しなければ、車輪が空転し、スタックしているものと推定される。スタック状態から抜け出すため、ロボットは、螺旋運動を実行する。螺旋運動終了後にも10フィートに亘って衝突がなければ、大規模なパニック進路変更行動を実行する。衝突するまで、これを10フィート毎に繰り返す。iii状況3.a衝突と衝突との間の平均距離が、低い方の閾値未満である場合、ロボットは、バンパを用いて縁端を辿って、移動が制限された領域からの離脱を試みる。b衝突と衝突との間の平均距離が、非常に低い閾値未満となった場合、ロボットは、大規模なパニック進路変更行動を実行して、移動が制限された領域から脱出する可能性が高くなるように向きを変える。iv状況4.aブラシが失速して、何度かオフになったばかりで、ブラシ失速率が高く、しかも変化率が正である場合、ロボットは停止する。b走行が失速して、モータが何度かオフになったばかりで、しかも走行失速率が高くて変化率が正である場合、ロボットは停止する。c車輪のいずれかが2秒を超えて継続的に脱輪した場合、ロボットは停止する。d脱輪事象が短時間で何度も発生した場合、ロボットは停止する。e絶壁センサのいずれかが10秒間継続して絶壁を検出した場合、ロボットは停止する。f衝突センサが、ある時間例えば10秒間押下され続けた場合、ロボットがどこかに食い込んでいることが多いので、ロボットは停止する。説明用の例として、図12A及び図12Bに、上記の状況1、状況2、及び状況4で述べたように、失速したブラシモータについて脱出行動が必要であることを識別する、好適な実施形態で用いられる、解析を示す。ブラシの電流がブラシモータの所与のリミット値を超えるステップ402度に、率レジスタが1づつインクリメントされるステップ404。一方、リミット値に達しなければ、率レジスタは1づつデクリメントされるステップ406。個々の変化率レジスタは、間近の期間、例えば120サイクル、での直近の値を格納する。失速率が600600は、1秒間の一定の失速に対応するを超えていてステップ414、変化率が正であるステップ416場合、脱出行動の実行が許容ステップ418であれば、ロボットは脱出行動を実行するステップ420。実行後、失速率が0に戻るまでステップ422脱出行動は禁止されステップ428、再び許容されステップ424、そして再度600に上昇する。これは、失速率が600を超えていると常に脱出行動が起動されてしまうということを、防止するためになされる。しかしながら、失速率が2400を超えステップ410、変化率が正であるとステップ412、ロボットは、図12Bに示すように、脱出行動の特殊な組を実行することになる。好適な実施形態では、ブラシモータが停止されステップ430、レベルが所定量50~90だけインクリメントされステップ430、失速時間が設定されステップ430、ブラシが停止されてから、パニック行動ステップ452は1秒ステップ445、4秒ステップ450、および7秒ステップ455経過時に実行される。そして、制御システムは、ブラシを13秒経過後に再起動するステップ440,442。レベルは、毎秒1ずつデクリメントされてゆくステップ444。レベルが最大の閾値に達するとステップ435、ロボットは全ての動作を停止するステップ437。また、ある種の失速が検出されると、ロボットは、モータの損傷を防ぐためにモータの電圧を制限する等の追加の動作を行う。ロボットの好適な実施形態は、4つの脱出行動を有する。すなわち、回転TURN、縁端EDGE、脱輪WHEELDROP及び低速度SLOWである。回転TURNロボットは、その場でランダムな方向へと回転する。なお、この回転は、高速通常の回転速度の約2倍で開始し、減速して、低速通常の回転速度の約1/2に達する。速度を変化させることにより、ロボットが様々な状況から脱出するのを助けられることがある。ロボットが回転すべき角度は、ランダムであってもよく、脱出の必要性の度合いの関数であってもよく、これらの双方であってもよい。好適な実施形態においては、パニック度の低い状況では、ロボットは45°~90°のどこかまで回転し、パニック度の高い状況では、ロボットは90°~270°のどこかまで回転する。縁端EDGEロボットは、a衝突せずに60°回転するか、b縁端EDGE行動が開始されてから回転し、累積角度が170°を超えまで、衝突センサを用いて縁端を辿って行く。縁端EDGE行動は、平均の衝突距離が短い但しパニック行動を起こす程には短くないときに有用になることがある。縁端EDGE行動により、ロボットは、該ロボットにとって物理的に可能な最も小さな開口をすり抜けることが可能となり、それで、ロボットは移動を制限された領域から脱出できる。脱輪WHEELDROPロボットは車輪を短時間逆方向に駆動してから、停止させる。車輪の逆方向の駆動は、車輪を反対側に少しだけ突き動かすことにより、本当は脱輪ではないのに誤って脱輪と判定される可能性を最小限とするのに役立つ。脱輪が2秒以内に解消すると、ロボットは通常の動作を継続する。低速度SLOW脱輪又は絶壁検出器がオフになると、ロボットは、0.5mの距離に亘って速度を0.235m/sすなわち通常速度の77まで落としてから、通常の速度に復帰する。カバーcoverage行動及び脱出行動に加えて、ロボットは、安全性や有用性に関する追加の動作を含んでいてもよい。例えば、所定時間を超えて絶壁が検出され続けた場合、ロボットは停止する。絶壁が最初に検出されたとき、絶壁回避反応行動が、直ちに、あらゆる他の行動に対して優先し、ロボットが絶壁を検出しなくなるまで、該ロボットを絶壁から離れるように回転させる。好適な実施形態では、絶壁検出事象によっては、動作モードは変わらない。他の実施形態では、ロボットは、壁面追従行動に類似したアルゴリズムを用いて、絶壁の追従が可能であってもよい。以上、3つの動作モードにおける個々の動作を説明した。次に、我々は、様々なモード間の切替の好適なモードについて説明する。最適なカバーcoverage及び清掃効率を達成するために、好適な実施形態では、様々なカバーcoverage動作に優先度を与える制御プログラムが用いられる。必要であれば、脱出行動に常に高い優先度が与えられる。例えば、ロボット10は、特定の時間又はランダムな時間、壁面追従モードを用い、その後、動作モードを室内清掃に切り替えてもよい。動作モードを切り替えることにより、本発明のロボット装置は、カバレッジ、清掃効率、及び知覚効率を向上させることができる。例として、図13A及び図13Bに、犬用の骨ドッグボーン形状の環境中の移動ロボット10を示す。この環境では、ほぼ同じ寸法の2つの部屋115,116が、狭い通路105でつながっている。この例は、先に検討したロボット拡散問題を示している。この配置は、典型的な室内環境を単純化したものである。ここで、ドッグボーンは、室内の障害物の配置により発生していてもよい。図13Aでは、ロボット10がランダムな反跳モードで動作する場合の、ロボット10の通り道が線54として描かれている。ロボット10は、限定された走行を行っている間には、部屋116から部屋115へと移動することができない。なぜなら、ロボットのランダムな行動が起こらず、そのロボットが通路105を通過するように導かれるということが起こらないためである。この方法では、カバレッジが最適なものよりもはるかに狭くなり、ロボット10が自身の経路に何度も交差することで、清掃速度が低下してしまう。図13Bに、ロボット10の好適な実施形態の動作を示す。ここで、ロボットは、反跳動作と壁面追従動作とを交互に繰り返す。ロボット10は、経路99を辿りながら、壁100に遭遇するたびに、ロボットの直径の2倍に等しい距離だけ壁面に追従している。経路99において、ロボットが壁面追従モードで動作している部分には、符号51が付されている。この方法により、カバレッジが非常に拡がり、それに伴って、清掃速度及び知覚効率も向上している。最後に、本発明の好適な実施形態を図14に詳細に示す。この図では、全ての動作モードが使用されている。好適な実施形態では、清掃機10は、螺旋モードで始動する移動線45。反射螺旋パターンが用いられる場合、清掃機は、所定の回数又はランダムな回数だけ反射事象が起こるまで、螺旋モードを継続する。通常の螺旋が用いられる場合図14に示すように、清掃機は、衝突センサの事象が起こるまで継続することになる。好適な実施形態では、きっかけとなる事象が起こると、直ちに、清掃機は壁面追従モードに入る。そして、好適な実施形態では、清掃機は、衝突センサ事象に基づき、あるいは壁面追従アルゴリズムの完了に基づいて、壁面追従モード移動線51とランダムな反跳モード動作線48との間を切り替える。ある実施形態では、清掃機は、螺旋モードには回帰しない。一方、他の実施形態では、清掃機は、所定の事象又はランダムな事象に基づいて、螺旋モードに入ることがある。好適な実施形態では、ロボットは、衝突と衝突との間の平均移動距離を記録し続けている。そして、ロボットは、以下の式:3/4×ABD1/4×最新の衝突間距離を用いて、平均衝突距離ABDを算出する。ABDが所定の閾値を超えた場合、ロボットは、再び螺旋行動に優先権を与える。さらに別の実施形態では、ロボットは、螺旋駆動に再び優先権が与えられる前に、最低限の回数の衝突事象をもってもよい。他の実施形態では、ロボットは、例えば20フィートの最大距離を移動した場合に、衝突事象がなくとも、螺旋行動に入ってもよい。また、ロボットは、全ての動作を停止する状況を有していてもよい。例えば、マニュアルで選択可能な所望の室内の大きさで、最小及び最大走行時間が設定され、最小合計距離が選択される。最小時間及び最小距離に達すると、ロボットは停止する。同様に、最大時間に達するとロボットは停止する。無論、動作モード間の選択のためのマニュアル制御が、用いられてもよい。例えば、動作モードや行動を変更したりこれらに影響を与えたりするために、リモートコントロールが用いられてもよい。同様に、ケースに取付けられたスイッチ自体が、動作モードの設定やモード間の切替に用いられてもよい。例えば、室内の雑然度を設定するスイッチが用いられてもよい。これにより、ロボットにおいて、限定された検出能力で、より適切なカバレッジアルゴリズムが可能となる。本発明そのものの一部が、清掃の他にも様々な目的のための自律型車両に用いられてもよいことが、当業者には理解されるであろう。本発明の範囲は、与えられた実施例によってではなく、特許請求の範囲に記載の請求項及びそれの法的に等価なものにより規定されるべきである。"