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