自律型カバレッジロボットを床面上で操縦する方法であって、清掃モードで床面上の前記ロボットの動作を制御することと、障害物を示すセンサ信号を受信することと、検出した障害物から遠ざかる方向へ前記ロボットを回転させることと、前記ロボットの前記検出した障害物から遠ざかる方向への回転の少なくとも一部の期間における受信センサ信号の変化を判別することと、前記受信センサ信号において判別された変化に少なくとも部分的に基づいて、前記検出した障害物を識別することとを含む方法。前記障害物を示すセンサ信号を受信することは、前記受信センサ信号の強度増加を判別することを含む、請求項1に記載の方法。前記受信センサ信号の強度増加を判別することは、前記受信センサ信号をローパスフィルタリングすること、および該ローパスフィルタリングしたセンサ信号を瞬間的なセンサ信号と比較することを含む、請求項2に記載の方法。前記受信センサ信号の変化を判別することは、前記受信センサ信号の強度ピークを判別することを含む、請求項1から3のいずれか一項に記載の方法。前記受信センサ信号の強度ピークを判別することは、前記受信センサ信号をローパスフィルタリングすること、および該ローパスフィルタリングしたセンサ信号を瞬間的なセンサ信号と比較することを含む、請求項4に記載の方法。前記受信センサ信号において判別された変化に少なくとも部分的に基づいて前記検出した障害物を識別することは、前記障害物を示すセンサ信号に関連付けたロボットの第一方位を保存すること、および前記受信センサ信号から判別した強度ピークに関連付けたロボットの第二方位を保存することを含む、請求項4または請求項5に記載の方法。前記検出した障害物を識別することは、前記保存したロボットの第一方位および第二方位の差に少なくとも部分的に基づいて、前記検出した障害物の角度幅を判別すること、ならびに前記検出した障害物の判別した角度幅を閾値と比較することを含む、請求項6に記載の方法。前記閾値は、前記受信センサ信号の強度および/または前記障害物の角度幅に少なくとも部分的に基づいて設定される、請求項7に記載の方法。前記ロボットには、前後軸が規定されており、前記障害物を示すセンサ信号は、第一センサまたは第二センサのいずれか一つのセンサから受信され、前記第一センサおよび第二センサは、それぞれ前記前後軸に対して右側および左側に配置されている、請求項7または8に記載の方法。前記判別した前記障害物の角度幅が前記閾値より小さい場合に、前記前後軸が前記検出した障害物に対して実質的に平行になるよう、前記ロボットを回転させることをさらに含む、請求項9に記載の方法。前記前後軸が前記検出した障害物に対して実質的に平行になるよう前記ロボットを回転させることは、前記受信センサ信号に対応するセンサが前記検出した障害物に最も接近するよう前記ロボットを配置することを含む、請求項10に記載の方法。前記障害物の角度幅が前記閾値よりも小さいと判断した場合に、前記ロボットを前記検出した障害物の方向に旋回させることをさらに含む、請求項7から11のいずれか一項に記載の方法。前記ロボットが実質的に円筒形状であり、前記ロボットを前記検出した障害物の方向に旋回させることは、前記ロボットの半径より若干大きい半径で前記ロボットを旋回させることを含む、請求項12に記載の方法。前記ロボットの半径とほぼ等しい半径から前記ロボットの半径の約1.8倍の半径まで、前記ロボットを旋回させる、請求項12に記載の方法。前記判別した障害物の角度幅に少なくとも部分的に基づいた旋回半径で前記ロボットを旋回させる、請求項12から14のいずれか一項に記載の方法。前記ロボットを前記検出した障害物の方向に旋回させることは、前記ロボットの第一方位に達するまで前記ロボットを旋回させ、前記ロボットの第一方位に到達後、前記ロボットを前記ロボットの第一方位に該当する実質的に直線の起動に沿って移動させることを含む、請求項12から15のいずれか一項に記載の方法。前記検出した障害物の角度幅が前記閾値以上であると判断した場合に、前記ロボットの旋回半径を変化させることで実質的に一定の距離を保ちながら、前記障害物を追従するよう前記ロボットを操作することをさらに含む、請求項7から17のいずれか一項に記載の方法。前記ロボットの旋回半径を変化させることは、前記障害物から遠ざける第一方向に前記ロボットを旋回させること、および前記センサ信号が検出されなくなったと判断した場合に、前記障害物に向かう第二方向に前記ロボットを旋回させることを含む、請求項17に記載の方法。前記保存したロボットの第一方位および第二方位のうち少なくとも一つは、前記ロボットに保持されたジャイロスコープにより判断される、請求項7から18のいずれか一項に記載の方法。前記保存したロボットの第一方位および第二方位のうち少なくとも一つは、前記ロボットの少なくとも一部を清掃面上に支持する車輪の車輪エンコーダにより判断される、請求項7から19のいずれか一項に記載の方法。前記障害物を示すセンサ信号を受信した場合に、該受信センサ信号と反対方向に、実質的に直線に沿って前記ロボットを移動させることをさらに含む、請求項1から20のいずれか一項に記載の方法。前記ロボットは、実質的に前記直線に沿って約15mmから約50mmの距離を移動する、請求項21に記載の方法。前記受信した障害物を示すセンサ信号に少なくとも部分的に基づいて、前記清掃モードにおける前記カバレッジロボットの床面上での速度を落とすことをさらに含む、請求項1から22のいずれか一項に記載の方法。自律型カバレッジロボットを床面上で操縦する方法であって、前記自律型カバレッジロボットの方位を保存することと、前記保存した方位に沿って、前記自律型カバレッジロボットの最小回転半径に接する障害物まで、前記自律型カバレッジロボットを移動させることと、前記自律型カバレッジロボットに搭載されているセンサをスキャンすることと、スキャンされたセンサ信号を受信することと、受信した前記スキャンしたセンサ信号に少なくとも部分的に基づいて障害物を分類することと、前記障害物が柱であるという分類に少なくとも部分的に基づいて、該分類した障害物の周りの少なくとも一部を前記自律型カバレッジロボットに旋回させることと、前記保存した方位と、前記分類した障害物を旋回中の前記自律型カバレッジロボットの方位とを比較することと、前記保存した方位と前記旋回中の自律型カバレッジロボットの方位との比較に少なくとも部分的に基づいて、前記保存した方位に戻すことと、を含む方法。前記保存した方位に戻すことは、前記旋回中の自律型カバレッジロボットの方位が前記保存した方位と一致する場合に、前記自律型カバレッジロボットの旋回を中断させることを含む、請求項24に記載の方法。前記保存した方位に戻すことは、前記自律型カバレッジロボットを前記保存した方位に向かって回転させることを含む、請求項24または25に記載の方法。前記自律型カバレッジロボットを前記保存した方位に向かって回転させることは、前記自律型カバレッジロボットの旋回方向と反対の方向に前記自律型カバレッジロボットを回転させることを含む、請求項26に記載の方法。前記自律型カバレッジロボットを旋回させることは、前記自律型カバレッジロボットの最小回転半径より大きい半径で前記自律型カバレッジロボットを旋回させることを含む、請求項24から27のいずれか一項に記載の方法。前記受信したスキャンされたセンサ信号に少なくとも部分的に基づいて前記障害物を分類することは、前記スキャンされたセンサ信号を経験に基づいたモデルと比較することを含む、請求項24から28のいずれか一項に記載の方法。前記自律型カバレッジロボットに搭載されているセンサをスキャンすることは、前記センサを動かすために、前記自律型カバレッジロボットを回転させることを含む、請求項24から29のいずれか一項に記載の方法。前記自律型カバレッジロボットに搭載されているセンサをスキャンすることは、前記センサを前記自律型カバレッジロボットに対して動かすことを含む、請求項24から30のいずれか一項に記載の方法。前記センサは、カメラ、レーザー、赤外線センサ、近接センサ、および音響センサのうち一つ以上を含む、請求項24から31のいずれか一項に記載の方法。自律型カバレッジロボットであって、前部および後部を有し、該前部および後部の間に延びる前後軸が規定されるシャーシと、前記ロボットを清掃面上で移動させるために前記シャーシに連結された駆動アセンブリと、前記ロボットが移動する床面上にあるデブリを取り除くよう構成された清掃ヘッドと、前記ロボットが前記清掃面上を移動する際に障害物を示す信号を発生するよう構成された第一センサと、前記ロボットの前記清掃面上での移動を制御するために前記駆動アセンブリと通信する制御装置であって、請求項1から32のいずれか一項に記載の方法を実行するよう構成された制御装置と、を備える自律型カバレッジロボット。実行された場合に、請求項1から32のいずれか一項に記載の方法の処理をコンピュータに実行させる指令を含む、コンピュータプログラムが符号化されている記憶媒体。自律型カバレッジロボットは、動作中に多くの障害物に遭遇する。ロボットは、動作を続行するために、絶えず障害物を回避および/または迂回する必要がある。一つの形態において、自律型カバレッジロボットを床面で操縦する方法は、清掃モードでの床面の行き来を制御することと、障害物を示すセンサ信号を受信することと、検出した障害物からロボットを遠ざける回転することと、検出した障害物からロボットを遠ざける回転中の少なくともある期間における受信センサ信号の変化を判別することと、受信した信号から判別された変化に少なくとも部分的に基づいて障害物を識別することと、を含む。この形態における実施形態には、以下の一つもしくは複数の特徴が含まれ得る。いくつかの実施形態では、障害物を示すセンサ信号を受信することは、受信センサ信号の強度増加を判別することを含む。例えば、受信センサ信号の強度増加を判別することは、受信センサ信号をローパスフィルタリングし、ローパスフィルタリングした信号を瞬間センサ信号と比較することを含み得る。いくつかの実施形態では、受信センサ信号の変化を判別することは、受信センサ信号の強度ピークを判別することを含む。例えば、受信センサ信号の強度ピークを判別することは、受信センサ信号をローパスフィルタリングし、ローパスフィルタリングした信号を瞬間センサ信号と比較することを含み得る。ある実施形態においては、受信センサ信号から判別した変化に少なくとも部分的に基づいて障害物を識別することは、障害物を示すセンサ信号に関連付けてロボットの第一方位を保存し、受信センサ信号のピークに関連付けてロボットの第二方位を保存することを含む。ロボットの第一方位および第二方位のうち少なくとも一つは、ロボットおよび/またはロボットの少なくとも一部を床面上に支持している車輪の車輪エンコーダに搭載されているジャイロスコープにより判別され得る。追加的または代替的に、検出した障害物を識別することは、ロボットの第一方位と第二方位との差に少なくとも部分的に基づいて障害物の角度幅を判別し、判別された障害物の角度幅を閾値と比較することを含む。閾値は、受信センサ信号の強度および/または障害物の角度幅に少なくとも部分的に基づいて設定しても良い。いくつかの実施形態では、ロボットの前後軸が規定されており、障害物を示すセンサ信号は前後軸に対して右側と左側に配置された第一センサと第二センサから受信される。ある実施形態においては、自律型カバレッジロボットの誘導方法は、検出した障害物の角度幅が閾値よりも小さい場合に前後軸を障害物に対して実質平行になるようロボットを操縦することを含む。例えば、センサ信号を受信したセンサが、検出した障害物に最も近くなるようロボットを配置しても良い。ある実施形態においては、障害物の角度幅が閾値よりも小さいと判断すると、障害物に向かって旋回するようロボットに指示する。ロボットは実質円筒形でも良く、ロボットに障害物を旋回させる指示は、ロボットの半径よりも若干大きい半径でロボットを旋回させることを含み得る。例えば、ロボットの半径と同等の径からロボットの半径の1.8倍の径の間で旋回するようロボットに指示しても良い。追加的または代替的に、測定された障害物の角度幅に少なくとも部分的に基づく半径で旋回するようロボットに指示しても良い。ある実施形態においては、ロボットに障害物を旋回させる指示は、ロボットの方位が第一方位に到達するまで旋回するよう指示し、第一方位に到達すると、第一方位に該当する実質的に直線の軌道に沿って進むよう指示することを含む。いくつかの実施形態では、障害物の角度幅が閾値以上であると判断すると、旋回半径を変化させながら障害物との距離をほぼ一定に保ち、障害物に沿って進むようロボットを操縦する。旋回半径を変化させることは、初めに障害物を避ける第一方向にロボットを旋回させ、センサ信号が検出されなくなったと判断すると、第二方向である障害物方向にロボットを旋回させることを含み得る。ある形態では、障害物を示すセンサ信号を受信すると、ロボットは受信センサ信号と逆方向に実質的に直線に沿って進む。例えば、ロボットは実質的に直線に沿って約15mmから約50mmの距離を進む。いくつかの実施形態では、清掃モード時のカバレッジロボットの床面移動速度が減速される例えば、受信した障害物を示すセンサ信号に少なくとも部分的に基づいて減速する。別の形態において、移動型ロボットは、シャーシと、シャーシに連結され、ロボットが清掃面を移動するよう構成された駆動アセンブリと、ロボットが移動している床面からデブリを取り除くよう構成された清掃ヘッドと、第一近接センサと、清掃面上のロボットの動作を制御するために駆動アセンブリと通信する制御装置とを備える。シャーシは前部と後部を有し、それらの間に伸びる前後軸を定義する。第一近接センサは、ロボットが清掃面を行き来する際に側面にある物体を示す信号を発生するよう構成されている。制御装置は、第一近接センサからの信号を受信し、検出した障害物を避ける方向にロボットを旋回させ、測定されたセンサ信号の変化に少なくとも部分的に基づいて障害物を識別するよう構成されている。この形態における実施形態には、以下の一つもしくは複数の特徴が含まれ得る。いくつかの実施形態では、第二近接センサはロボットが清掃面を行き来する際に側面にある物体を示す信号を発生するよう構成されており、第一および第二近接センサは、ロボットが清掃面を行き来する際の前後軸に対して互いに反対側に設置されている。ある実施形態においては、移動型ロボットはシャーシ前部にバンパを備え、その内部に第一および第二近接センサが配置されている。例えば、バンパは最右端および最左端を有し、第一近接センサはバンパの最右端に配置され、第二近接センサはバンパの最左端に配置される。追加的または代替的に、第3近接センサはバンパの第一および第二近接センサの間に配置される。バンパは、障害物に接触した際にシャーシに対して可動な構造であり得る。いくつかの実施形態では、第一および第二近接センサはそれぞれ清掃面に対してほぼ平行に向けられている。追加的または代替的に、第一および第二近接センサは互いに約180°の方向を向いている。ある実施形態においては、第一近接センサは、ロボットが清掃面を行き来する際に清掃面に対してほぼ平行に向けられた少なくとも一対の赤外線発信機と受信機を有する。更に別の形態において、床面上で自律型カバレッジロボットを操縦する方法は、第一動作モードで床面を行き来するようロボットに指示し、第一動作モード中のロボットの行動を、第一動作モード時に観察されたロボットの動きに少なくとも部分的に基づいて監視し、ロボットが立ち往生していないかを判断し、立ち往生していると判断すると第二動作モードを開始することを含む。この形態における実施形態には、以下の一つもしくは複数の特徴が含まれ得る。いくつかの実施形態では、第一動作モードは、衝突モード、障害物追従モード、およびスポットカバレッジモードのうち一つ以上の動作モードを含み得る。第一動作モードにおいてロボットを床面で行き来させる指示は、ロボットが有するモータに起動命令を送信することを含み、モータはロボットが床面を行き来できるよう車輪に動力を伝達可能な構成となっている。ある実施形態においては、第二動作モードは、衝突追従モード、壁面追従モード、および退避モードのうち一つ以上の動作モードを選択可能である。いくつかの実施形態では、床面上のロボットの動作を監視することは、所定の時間内におけるロボットの複数の位置を測定することを含む。例えば、所定の時間内におけるロボットの複数の位置を測定することは、ロボットに搭載されたジャイロスコープからの信号の受信、および/または車輪の動きを監視するよう構成された車輪エンコーダからの信号の受信を含む。ある実施形態においては、ロボットが立ち往生していると判断することは、ロボットの方位が約360度以上変化したが、ロボットの直線移動距離が6m未満であると判断することを含む。更に別の形態では、清掃面のローカルエリアマップを生成する方法は、自律型カバレッジロボットの清掃モードでの床面上の動作を制御し、第一障害物を示すセンサ信号を受信し、第一障害物を示すセンサ信号を受信すると第一障害物を避ける方向にロボットを動かし、第二障害物を示すセンサ信号を受信し、第二障害物を示すセンサ信号を受信すると第二障害物に対する第一障害物の相対位置を測定することを含む。自律型カバレッジロボットの動作制御は、測定された第二障害物に対する第一障害物の相対位置に少なくとも部分的に基づいている。この形態における実施形態には、以下の一つもしくは複数の特徴が含まれ得る。いくつかの実施形態では、自律型カバレッジロボットの動作を制御することは、第一障害物と第二障害物の相対位置が閾値より小さい場合に、自律型カバレッジロボットを第一障害物と第二障害物を避ける方向に動かすことを含む。例えば、閾値は自律型カバレッジロボットの清掃面に対して平行な方向の最大寸法例えば、実質円筒形で、清掃面を行き来する状態を上部から見るとほぼ円形であるロボットの直径とほぼ等しい距離としても良い。ある実施形態においては、ロボットの方位は第一障害物を示すセンサ信号を受信すると決定される。いくつかの実施形態では、自律型カバレッジロボットの動作を制御することは、ロボットが第一障害物および/または第二障害物に対して動く際に、ロボットの動きを、障害物を検出した方向へ向けることを含む。ある実施形態においては、第二障害物に対する第一障害物の相対位置を判断することは、第一障害物から第二障害物への推測航法を含む。推測航法は、ロボットに設置されたジャイロスコープからの方位情報に少なくとも部分的に基づいても良い。追加的または代替的に、推測航法は、自律型カバレッジロボットが床面上を行き来する際の自律型カバレッジロボットの車輪の回転数測定に少なくとも部分的に基づいても良い。例えば、車輪の回転数測定は車輪エンコーダからの信号を受信することを含み得る。いくつかの実施形態では、自律型カバレッジロボットの動作を制御することは、第一および第二障害物を回避するよう自律型カバレッジロボットを動かすことを含む。例えば、第一および第二障害物を回避するよう自律型カバレッジロボットを動かすことは、自律型カバレッジロボットを第一および第二障害物を避ける方向に動かすことを含み得る。ある実施形態においては、第二障害物に対する第一障害物の相対方向が保存される例えば、メモリーに保存される。更に別の形態では、自律型カバレッジロボットを床面上で操縦する方法は、自律型カバレッジロボットの方位を保存し、自律型カバレッジロボットの最小回転半径に接する障害物まで自律型カバレッジロボットを保存した方位に沿って移動させ、自律型カバレッジロボットに搭載されているセンサをスキャンし、スキャンしたセンサ信号を受信し、受信センサ信号に少なくとも部分的に基づいて障害物を分類し、障害物の柱という分類に少なくとも部分的に基づいて障害物の周りの少なくとも一部を旋回させ、保存した方位と分類された障害物を旋回中の自律型カバレッジロボットの方位とを比較し、保存した方位と旋回中の自律型カバレッジロボットの方位との比較結果に少なくとも部分的に基づいて保存した方位に戻すことを含む。いくつかの実施形態では、保存した方位に戻すことは、旋回中の自律型カバレッジロボットの方位が保存した方位と一致した場合に旋回を中断させることを含む。ある実施形態においては、保存した方位に戻すことは、自律型カバレッジロボットを回転させて保存した方位に向かせることを含む。いくつかの例では、自律型カバレッジロボットを回転させて保存した方位に向かせることは、自律型カバレッジロボットを旋回方向と逆方向に回転させることを含み得る。例えば、自律型カバレッジロボットは、保存した方位と自律型カバレッジロボットの方位の差がある一定の値例えば45度になるまで分類された障害物を旋回することができ、自律型カバレッジロボットを回転させて保存した方位に向かせることは、自律型カバレッジロボットの方位が保存した方位と一致するまで自律型カバレッジロボットを旋回方向と逆方向に回転させることを含み得る。いくつかの実施形態では、自律型カバレッジロボットを旋回させることは、自律型カバレッジロボットの最小回転半径より大きい径で旋回させることを含む。ある実施形態においては、スキャンしたセンサ信号に少なくとも部分的に基づいて障害物を分類することは、スキャンしたセンサ信号を経験的モデルと比較することを含む。いくつかの実施形態では、自律型カバレッジロボットに搭載されたセンサをスキャンすることは、センサを動かすために自律型カバレッジロボットを回転させることを含む。追加的または代替的に、自律型カバレッジロボットに搭載されたセンサをスキャンすることは、自律型カバレッジロボットに対してセンサを動かすことを含み得る。ある実施形態においては、センサは、カメラ、レーザー、および近接センサのうち一つ以上を備える。図1-3は、例示的な自律型カバレッジロボット100の上方斜視図、下方斜視図、および分解図を示す。ロボット100は、シャーシ102、駆動システム104、主清掃ヘッド106b、および制御装置108を備える。いくつかの実施形態では、ロボット100は縁部清掃ヘッド106aを有する。使用中は、清掃面上例えば床を移動して清掃面からごみデブリを除去するよう、制御装置108が駆動システム104、主清掃ヘッド106b、および縁部清掃ヘッド106aに指示を送る。図1において、シャーシ102は前部103および後部105を備えており、それらの間に前後軸101を定義する。ロボットが清掃面上に置かれている状態では、前後軸101は清掃面に対してほぼ平行である。前後軸101はシャーシ102を右部107と左部111に分割する。図1-3において、駆動システム104はシャーシ102に搭載され、ロボット100を動かすように構成された差動式駆動装置ロボットの中心直径に近接するかまたは中心直径上にあり、別個に速度制御可能な左輪および右輪である。縁部清掃ヘッド106aは、ロボット100の下方およびその直近の汚れおよびデブリを除去するために、さらに具体的にはロボットが前方に向かって清掃する際に汚れおよびゴミを主清掃ヘッド106bの清掃経路の中へ掃き込むために、シャーシ102の側縁を越えて延びるように取り付けられる。幾つかの実施形態では、主清掃ヘッド106bまたは縁部清掃ヘッド106aは、表面処理例えば、水および/または洗剤を施すために使用可能である。制御装置108図5Aにも図示されるはシャーシ102によって保持され、以下に説明するように自律的様態で障害物の周囲を操縦し、床を清掃および/または処理するため、センサの読取り値または指示に基づいてロボット100の構成要素に指令を供給する、行動に基づくロボット工学behaviorbasedroboticsによって制御される。バッテリ109がロボット100およびそのサブシステム用の電源となり得る。下カバー110は、ロボット100の内側部分を保護しかつ汚れおよびゴミの侵入を防ぐ。駆動システム104は、左駆動輪アセンブリ112および右駆動輪アセンブリ114を含む。駆動輪アセンブリ112および114はそれぞれ車輪113と、車輪113を駆動するよう車輪113に連結されたモータ115を備える。駆動輪アセンブリ112および114はシャーシ102に連結され、シャーシの少なくとも一部を清掃面上に支持している。ある実施形態においては、主清掃アセンブリ106bおよび/または縁部清掃ヘッド106aがシャーシ102の少なくとも一部を清掃面上に支持している。追加的または代替的に、ロボット100はロボット100の少なくとも一部を清掃面上に支持する脚輪アセンブリ116を含み得る。制御装置108は、ロボット100を動かすために駆動輪アセンブリ112および114を前方または後方に駆動するよう駆動システムに指令を出すことができる。例えば、駆動アセンブリ112および114の両方に前方向に駆動するようコントローラ108から指令を出すと、結果としてロボット100の前進動作につながる。別の例では、左駆動輪114を前方向に駆動させ、右駆動輪112を後方向に駆動させる左回転の指令が出されると、結果として上方から眺めたときにロボット100は時計回りに回転する。更に別の例では、類似の右回転の指令が出されると、結果として上方から眺めたときにロボット100は反時計回りに回転する。以下に詳細に説明するように、制御装置108は、前進、後退、右および/または左という指令を組合せ、ロボット100が清掃面上を行き来する際に直面する一つ以上の障害物をロボット100が迂回するよう駆動アセンブリに指令を出すことができる。図4A-Bに示すように、バンパ130を自律型カバレッジロボット100に使用し得る。近接センサ134A-Dはバンパ130に内装されており、ロボットの側面例えば、清掃面上をロボットが前進している際のロボットの前方に存在する潜在的な障害物を検出するために、清掃面に対してほぼ平行に向けられている。例えば、近接センサ134A-Dは、ロボット100の側面例えば前方から約1~10インチの距離にある潜在的な障害物を検出するよう向けられている。いくつかの実施形態では、近接センサ134A-Dはそれぞれ、距離が約1~10インチ好ましくは1~4インチですなわち、互いに角度をつけて配置された発信機と受信機の重なる空間からの反射を受信機が受信した場合に作動する赤外線発信機および受信機のペアを備える。このような赤外線発信機および受信機のペアを備える近接センサは、米国特許7441298号、COVERAGEROBOTMOBILITYで開示されており、参照によりそれらの全ての内容が本明細書に組み込まれるものとする。少なくとも2つの近接センサ例えば、近接センサ134Aおよび134Dはバンパ130の端部135a、b例えば、バンパの最右端および最左端に、近接センサ134Aおよび134Dが互いに180度の方向を向くように配置されている。このセンサの方向付けにおいて、近接センサ134Aおよび134Dは、ロボット100が前後軸101に沿って移動する際にロボット100の幅に及ぶ。このような近接センサ134Aおよび134Dの配置は、例えばロボット100が前進する際にその軌道上にある障害物を検出しない可能性を減らすことにより、ロボット100の死角を減らすことができる。図5に示すように、衝突センサ132および床近接センサ140をロボット100に保持するために取付留め具142を使用し得る。衝突センサ132は、ロボット100と、ロボット100の前進軌道上にある物体との衝突を検出し得る。床近接センサ140はシャーシ102に保持され、ロボット100が階段のようなクリフに接近した際に検出するために使用され得る。床近接センサ140は、クリフが検出されたか否かを示す信号を制御装置108に送信する。制御装置108は、床近接センサ140からの信号を基に、クリフを避けるために速度を変化させたりするよう駆動システム104に指令を出す。バンパ130は、障害物に衝突した際にバンパ130が短い距離だけシャーシ102方向に移動するよう、シャーシ102の前部103に可動に支持され得る。バンパの動きは一つ以上の衝突センサ132とバンパを接触させ、衝突した物体を示す信号が生成される。図6Aに示すように、ロボット100の電子機器には、バンパマイクロコントローラ137と通信する制御装置108を備える。バンパマイクロコントローラ137は制御装置108と共に、全方向受信機、指向性受信機、壁近接センサ134A-D、および衝突スイッチ132を制御する。制御装置108は、他の全てのセンサ、例えばクリフセンサや駆動アセンブリ112、114のモータ電流センサの信号を管理している。ロボット100の方向および速度は、近接センサ134が潜在的な障害物を検出した際にロボット100を減速させるために、米国特許6809490号および6781338号で概要が開示されている参照によりそれらの全ての内容が本明細書に組み込まれるものとする、行動に基づくロボット工学に基づいてアービタ選択された動作制御行動を用いて制御装置108により制御され得る。制御装置108が指令を出す動作制御行動は、衝突センサ132がロボット100と障害物との衝突を検出した際にロボット100の速度を変化させることもできる。例えば、図6Bにおいて、制御装置108の動作制御900は、カバレッジモード時にロボット100に清掃面上を行き来させる指示902を含む。例えば、制御装置はロボット100に対し、スポットカバレッジ、ランダム、およびストレートのうち一つ以上のカバレッジモードで清掃面を行き来させる指令を出すことができる902。これらのカバレッジモードは、米国特許6809490号METHODANDSYSTEMFORMULTIMODECOVERAGEFORANAUTONOMOUSROBOTで説明されており、参照によりそれらの全ての内容が本明細書に組み込まれるものとする。制御装置108は、近接センサ134A-Dのうち一つ以上から、および衝突センサ132のうち一つ以上からの信号を受信することにより近傍の障害物を検出する904。制御装置108は、障害物を示す信号を発生するセンサ134A-Dおよび132に少なくとも部分的に依存して、検出された904障害物に対するロボット100のおおよその方向を判別する。例えば、前後軸101に対して右側に配置されているセンサ134Dから受信した信号はロボット100の右側の障害物を示す。制御装置108はロボット100が障害物と接触しているかどうかを判別する905。判別905は、制御装置が近接センサ134A-Dおよび/または衝突センサ132から信号を受信しているかどうかに少なくとも部分的に基づいて行われ得る。例えば、制御装置108が近接センサ134A-Dの一つから信号を受信しているが衝突センサ132からは信号を受信していない場合、制御装置108は、ロボット100は障害物に接近しているが接触はしていないと判断する905。もうひとつの例として、制御装置108が衝突センサ132から信号を受信している場合例えば、衝突センサ132からの信号単体もしくは近接センサ134A-Dからの信号も同時に受信している場合、制御装置108は、ロボット100が障害物に接近しかつ接触していると判断する905。制御装置108は、障害物に接近しているがまだ接触していないと判断すると例えば近接センサ134A-D経由で、ジェントルタッチgentletouchルーチン901一つの行動、行動の一部、または二つ以上の行動を合わせた行動であり得るを実行する。制御装置108は、ロボット100が全速清掃速度で検出した障害物に突進しないようロボット100を減速させる906。いくつかの実施形態では、制御装置108は駆動アセンブリ112および114に供給する電力を減らすことによりロボット100を減速させる906。例えば、制御装置108はロボットの速度を約300mm/秒の全速清掃速度から約100mm/秒の減速清掃速度まで減速させる906。このような清掃速度の減速により、全体的な騒音、潜在的損傷、および/または障害物への潜在的損傷を軽減できる。制御装置108が衝突センサ132経由で全速清掃速度での障害物との接触を検出すると905、もしくは制御装置108が衝突センサ132経由で減速清掃速度での障害物との接触を検出すると905、制御装置108は一つ以上のアービタ選択された動作制御行動を実行する918。アービタ選択された動作制御行動918は米国特許6809490号METHODANDSYSTEMFORMULTIMODECOVERAGEFORANAUTONOMOUSROBOTおよび米国特許7441298号COVEERAGEROBOTMOBILITYで開示されており、参照によりそれらの全ての内容が本明細書に組み込まれるものとする。追加的または代替的に、アービタ選択された動作制御行動918は以下に示すクラッタ操縦を含む。クラッタ操縦は、環境の様々な状況に反応してロボット100を環境内例えば複数の障害物が配置された環境で効率的に操縦するための一つ以上の行動を含む。例えば、クラッタ操縦はサイクル間の変化や単一のn周期のカバレッジsinglenpasscoverageの変化を平均的に低減できる。追加的または代替的に、クラッタ操縦は、クラッタ操縦でない場合にロボット100が散乱エリアを移動する際に発生し得る強い衝撃の衝突を低減できる。図6Cに示すように、一つの例では、クラッタ操縦950はロボット100の所定の方位および速度での移動952、散乱エリアの検出954、ロボット100を散乱エリアで移動させる操縦956、および所定の方位および速度の回復958を含む。所定の方位および速度の回復958は、例えばある時間例えば決められた時間の間、障害物が検出されなかった場合954に所定の方位および速度に戻ることを含む。ロボット100の所定の方位および速度での移動952は、清掃モードの一部もしくはアービタ選択された動作制御行動の一部として実行され得る。ロボット100の方位は、所定の方位設定と一つ以上の車輪エンコーダ121a、121b、121cおよび/またはジャイロスコープ119により測定された実際の方位を比較し、比較結果に基づいて一つ以上の駆動アセンブリ112および114の動きを調整することにより制御可能である。ロボット100の速度は、所定の速度設定と、例えば一つ以上の車輪エンコーダ121a、121b、121cにより測定された実際の速度を比較することにより制御可能である。散乱エリアの検出954は、例えば障害物との衝突の検出図6B参照といった一つ以上の要因から生じる信号を受信することを含む。いくつかの実施形態では、散乱エリアの検出に障害物の光学検出例えば、図4Bの近接センサ134A-Dによる検出が含まれる。散乱エリア内でのロボット100の操縦956は、ロボット100の速度設定の低減を含み得る例えば、約300mm/秒から約100mm/秒への低減。追加的または代替的に、散乱エリア内でのロボット100の操縦956は、ロボット100の方位を所定の方位にバイアスしながら検出した障害物の周りを移動させることを含み得る。ある実施形態においては、ロボット100は起動から一定時間経過した後例えば、起動の約10秒から約1分後にのみ散乱エリア内を移動する956。追加的または代替的に、ロボット100は、例えば清掃サイクルの終盤で散乱エリアへの移動956を試みないよう、起動後、一定時間が経過する前にのみ、散乱エリアへ移動する。いくつかの実施形態では、ロボット100はバッテリの充電状況109図3参照が閾値を超えている場合は散乱エリアへの移動を試みない。ロボット100の操縦956は、場合によっては、障害物の検出に応じて例えば障害物との接触に応じて障害物の周りを移動させる指示を含む。例えば、ロボット100はほぼ半円状軌道もしくは変化する螺旋の連続軌道例えば、徐々に半径が減少する円弧で物体の周りを移動する。別の例では、ロボット100は物体から離れた後、物体に対してほぼ接線方向に移動し得る。追加的または代替的に、以下に詳細に示すように、操縦956は、制御装置108により一つ以上のセンサから得られる信号例えば、一つ以上の近接センサ134A-Dからの信号に少なくとも部分的に基づいて障害物を分類し、分類結果に少なくとも部分的に基づいてロボット100を操縦することを含み得る。図6A、6B、6Cおよび7に示すように、制御装置108が、ロボット100に清掃モードで床面を行き来させ902、障害物との接触を検出し908、検出された障害物との接触に少なくとも部分的に基づいて障害物分類1000を含み得るアービタ選択される動作制御行動を開始する918ために、アービタ選択される動作制御行動918は、障害物分類1000を例えば、クラッタ操縦950の一部として含み得る。障害物との接触は衝突センサ132により検出される908。以下に示すように、障害物分類1000は近接センサ134Aおよび/または134Dからの信号に少なくとも部分的に基づく。障害物分類1000は、障害物の接近を示すセンサ信号の受信1001、近接障害物を示すセンサ信号に対するセンサの回転1002例えば、ロボットを回転させることによる回転および/またはセンサ自体の回転、ロボット100の回転中の少なくとも一部でのセンサ信号の変化の判別1004、および検出された信号の変化に少なくとも部分的に基づいた検出した障害物の識別1006を含む。以下に示すように、障害物分類1000は、例えば検出した障害物が柱なのか壁もしくは壁に似た構造なのかを識別できる。いくつかの実施形態では、このような識別は、例えば散乱エリアで方位設定を実質的に維持できるよう一つ以上の迂回行動でロボット100を移動させることの潜在的な効率性を制御装置108が判断することを可能にすることで、ロボット100の散乱エリアでの効率的な移動を容易にする。障害物を示す信号の受信1001は、一つ以上の近接センサ134A-D図4B参照からの信号の受信を含む。しかし、いくつかの実施形態では、ロボット100は近接センサ134A-Dからの信号を受信する1001前に接触908信号障害物を示すから遠ざけられる。ロボット100を接触908から遠ざけることで、近接センサ134A-Dからの信号の強度を改善することができる。例えば、接触908信号を受信すると、ロボット100はまず検出した障害物から15mmから50mm例えば38mm遠ざけられる。場合によっては、ロボット100はロボット100の前後方向寸法の半分未満の距離だけ逆方向に動く。このようなロボット100の逆方向への移動距離とロボット100の前後方向寸法の比は、ロボット100が逆方向に移動する際に障害物および/またはクリフに遭遇する可能性を低減させる。ある実施形態においては、一つ以上の近接センサ134A-Dからの信号が閾値以上になるまで接触908信号から遠ざける方向にロボット100が移動する。追加的または代替的に、ロボット100は、通常一つ以上の近接センサ134A-Dからの信号の強度がほぼ最高値になるまで、接触908信号から遠ざかる方向例えば、前進方向の修正を加えた後退方向に移動する。センサの回転1002は、一つ以上の近接センサ134A-Dから受信した1001センサ信号から遠ざける方向にロボット100を回転させることを含み得る。従って、回転方向は時計回りも反時計回りもあり得る。例えば、受信した1001信号がロボット100の左側例えば、130で示されている前後軸の左側に配置された近接センサ134Aに対応する信号の場合、回転1002は時計回りとなる。同様に、ロボット100の右側例えば、図1、2に示す前後軸101の右側に配置された近接センサ134Dに対応する信号を受信した1001場合は反時計回りに回転する。いくつかの実施形態では、時計回りまたは反時計回りの回転1002は、上記の方法でその場でロボット100を回転させるよう図2-3の駆動システム104に指示することで達成される。ある実施形態においては、回転1002は、例えば脱出行動、障害物回避行動、および/または清掃行動といった他の行動の一部である。少なくともロボット100の回転の一部での受信1001センサ信号の変化の判別1004は、近接センサ134A-Dのうち一つから受信される信号の強度増加の判別を含む。追加的または代替的に、少なくともロボット100の回転の一部での受信1001センサ信号の変化の判別1004は、受信センサ信号の強度ピークを判別することを含み得る。いくつかの実施形態では、受信1001センサ信号の変化の判別1004は、実質瞬間的な受信1001センサ信号と加工された例えばローパスフィルタリングした受信1001センサ信号との値の比較を含む。このような瞬間的な信号と加工された信号との比較により、ノイズが多いまたは変化しやすいセンサ信号による積極的判断ミス例えばピーク値の増加の可能性を低減できる。検出した障害物の識別1006は、受信1001センサ信号の変化の判別1004に少なくとも部分的に基づいて障害物を分類することを含む。いくつかの実施形態では、受信1001センサ信号の変化の判別1004は、ロボット100が向いている方向に対する障害物の角度幅を示し得る。例えば、受信センサ信号の変化の判別1004結果が閾値以下例えばの角度幅を示した場合。追加的または代替的に、以下に詳細に説明するある実施形態においては、識別1006は受信1001センサ信号の強度増加および判別されたピークに少なくとも部分的に基づいて行われる。図8は、柱として識別された障害物の周りをロボット100に移動させるために障害物分類1000が柱旋回1250ルーチンと組み合わされた、アービタ選択された動作制御行動918を示す。通常、図8に示すように、方位Hが保存され1402、ロボット100は保存した方位Hに沿って障害物まで移動し、センサ例えば一つ以上の近接センサ134A-Dがスキャンされる1406。以下に詳細に説明するように、障害物が柱であるかどうかが判断される1410。障害物が柱ではないと判断された1410場合、ロボット100は壁に沿って移動する1414か、一つ以上のアービタ選択された動作制御行動に従って移動する。障害物が柱であると判断した1410場合、ロボットは柱旋回1250ルーチンに従って移動する。柱旋回1250ルーチンを以下で詳細に説明する。しかし通常は、柱旋回1250ルーチンでは、保存されている1402方位と実際のロボット100の方位との差が閾値例えば0および/または0でない値と等しいと判断する1410まで柱を旋回し1408、判断1410が閾値条件を満たした場合に保存されている1402方位を回復する1412。図9A-9Hは、柱であると識別された障害物をロボット100に旋回させるための障害物分類1000と柱旋回1250ルーチンの組合せにおける、ロボット100の動作シーケンスを示している。これらの図に示されている動作シーケンスは、一番左の近接センサ134Aを用いた柱の識別および反時計回りの柱の旋回を示している。ただし、当然のことながら、柱の識別および柱の旋回は一番右の近接センサ134Dを用いて反対方向の回転で行うことも可能である。図9Aに示すように、ロボット100は柱133に接近するまで保存した方位Hに沿って移動する。例えば、ロボット100は一つ以上の衝突センサ132が柱133を検出するまで保存した方位Hに沿って移動できる。追加的または代替的に、ロボット100は一つ以上の近接センサ134A-Dが柱133を検出するまで保存した方位Hに沿って移動できる。図9Bに示すように、いくつかの実施形態では、ロボット100は柱133の接近を検出すると後退例えば保存した方位Hと正反対の方向して柱133から離れる。ロボット100が柱133から離れる動作は、近接センサ134Aおよび134Dが柱133から十分離れ、最適な信号強度を得ることを可能にする。追加的または代替的に、このようなロボット100が柱133から離れる動作は、ロボット100が柱133を旋回中に柱133に擦ったり妨げられたりする可能性を低減することを可能にする。図9Cに示すように、ロボット100は実質ロボット100の一端に配置された近接センサの方向に回転する。例えば、ロボット100は近接センサ134Aまたは近接センサ134Dロボット100の左側および右側にそれぞれ実質反対側に配置されているの方向に回転させることができる。図9Cに示す例では、ロボット100は柱133が検出された位置に一番近い近接センサ近接センサ134Aの方向に時計回りで回転している。このような、障害物に一番近い近接センサ134Aまたは近接センサ134Dの方向へのロボット100の回転は、例えば、障害物分類1000中の回転量を減らすことにより柱133を識別する時間を短縮することを可能にする。図9Cおよび9Dに示すように、ロボット100は近接センサ134Aが柱133を通過するために時計回りに回転する。障害物分類1000ルーチンに関して以下に詳細に説明されているように、図9Cおよび9Dに示す動作の間にロボット100が受信する信号は、ロボット100が柱133の角度幅を判断することを可能にする。角度幅が閾値よりも小さい場合、障害物は柱として識別される。当然のことながら、障害物の柱としての識別は、必ずしも障害物が実際に柱である必要はない。むしろ、障害物の柱としての識別は、ここでは同等の幅を有する柱と同様に迂回できる物体の命名方法として用いられている。図9Eに示すように、図9Cおよび9Dに示す動作を追うことにより、ロボット100の方位と柱133の第一衝突ポイントでの接線方向とが平行になるようにロボット100は反時計回りに回転する。この柱133に対する直角方向への調整は、近接センサ134Aの既知の位置と柱133の角度方向に基づいて達成される。例えば、図9Dに示す時計回りの回転の終了時には、柱133に対する近接センサ134Aの角度位置は判明しており、またロボット100の形状に対する近接センサ134Aの角度のオフセットも既知である。従って、ロボット100の直角方向への調整は、方位が柱133との第一衝突ポイントの接線方向と平行になるようにロボット100をその場で回転させることで達成される。例えば、ロボット100がその場で時計回りに回転し、図9Dに示すように近接センサ134Aが障害物分類1000終了時にピーク信号を検出することで柱133の角度位置を一度判断すると、図9Eに示すようにロボット100の方位と柱133の第一衝突ポイントの接線方向とが平行になるようにその場で約20度回転させることでロボット100の方向調整が達成される。図9Fに示すように、ロボット100が柱133に対して直角に調整されたことにより、ロボット100は柱133を旋回できる。例えば、ロボット100は反時計回りにロボット100の半径に等しいかもしくは大きい半径で柱133を旋回することができる。これは、柱133付近を清掃するために柱133の周囲の少なくとも一部をロボット100が旋回することを容易にする。図9Gに示すように、図9Fで開始された旋回はロボット100の瞬間的方位が保存した方位Hと一致するまで続き、その後柱133に対して実質接線方向である保存した方位Hに沿って移動する。このような柱133周りでの動作は、可能な限り長い清掃軌道でロボット100を移動させることを容易にする例えば、一定時間内に網羅できる清掃面積を最大化するため。追加的または代替的に、図9Hに示すように、図9Fで開始された旋回はロボット100の瞬間的な方位と保存した方位Hの差が閾値と一致するまで続けることができる。例えば、ロボット100はロボット100の瞬間的な方位と保存した方位Hの差の絶対値が45度になるまで柱133を旋回させる。この閾値条件が満たされたら、ロボット100は保存した方位Hに戻るようにその場で時計回りすなわち、旋回と反対方向に回転する。このロボット100の時計回りの回転は、ロボット100の瞬間的な方位が保存した方位Hと一致するまで続けられる。その後は、ロボット100は保存した方位Hに沿って動作を続けられる。従って、これらの実施形態では、ロボット100の正味動作は、保存した方位Hを超える位置まで柱133の周りを旋回し、ロボット100の瞬間的な方位が保存した方位Hと一致するまでその場で回転させることである。図10A-10Bは、白色の椅子の足と白色の壁とを見分けるために利用する障害物分類1000の例を示している。この例では、障害物分類1000は駆動半径が2000mm未満例えば、1300mm未満の場合に初期化され、保存した第一方位設定A0および第二方位設定A1の初期化を含む。ロボット100の障害物から遠ざける回転1002は、ロボットが時計回りに回転しているかの判断1110を含む。ロボット100が時計回りに回転していると判断した1110場合、図4Bに示す最左端の近接センサ134Aからの信号が処理される。ロボット100が反時計回りに回転していると判断した場合は、図4Bに示す最右端の近接センサ134Dからの信号が処理される。受信センサ信号の変化の判別1004は、最左端の近接センサ134Aまたは最右端の近接センサ134Dから実質瞬間的センサ信号を受信すること1112を含む。瞬間的なセンサ信号は、ローパスフィルタリングした1114信号と比較できるようにするためにローパスフィルタリングする。以下に詳細に説明するように、近接する障害物の角度幅の推測は、受信した1112信号とローパスフィルタリングした1114信号との比較に少なくとも部分的に基づいて行われる。保存した第一方位設定A0が初期値であると判断される1116と、制御装置108は、近接センサ134Aまたは134Dからのセンサ信号が上昇端1150a、bにあるかを監視する1122。上昇端例えば図10Bにおける上昇端1150a、bの監視1122は、受信した1112信号とローパスフィルタリングした1114信号の差を閾値例えば0でない値と比較することを含む。差が閾値よりも大きい場合、第一方位設定A0は回転しているロボット100の現在の方位に設定される1124。現在の方位は、例えばジャイロスコープ119および/または一つ以上の車輪エンコーダ121a、b、c図3参照から判断される。保存した第一方位設定A0が初期値と異なる値であると判断される1116と、制御装置108は、近接センサ134Aまたは134Dからのセンサ信号が屈曲点例えば、図10Bの屈曲点1152a、bにあるかどうかを監視する1118。屈曲点1152a、bの監視は、受信した1112信号とローパスフィルタリングした1114信号との差を閾値と比較することを含む。差が閾値よりも小さい場合、第二方位設定A1を回転しているロボット100の現在の方位に設定する1120。いくつかの実施形態では、上昇端の監視1122に用いる閾値は屈曲点の監視1118に用いる閾値と等しい。これらの閾値は、上昇端および/または屈曲点の積極的誤判断の可能性を低減するために0より大きい値に設定しても良い。いくつかの実施形態では、一方または両方の閾値が、既知の角度幅を有する物体に向けられた近接センサ134Aまたは134Dから得られる瞬間的なセンサ信号およびローパスフィルタリングした1114センサ信号を受信する1112処理を含む、キャリブレーション処理の一部として設定されている。検出した障害物の識別1006は、検出した障害物の角度幅の算出1126、検出した障害物の算出された1126角度幅と閾値との比較1128、および検出した障害物の算出された1126角度幅が閾値より小さい場合に障害物を柱あるいは、より一般的には、柱の角度幅の特徴を有する物体であると判断する1130ことを含む。検出した障害物の算出された1126角度幅が閾値以上の場合、障害物は壁または類似の幅が広い物体であると判断される1132。検出された障害物の角度幅の算出1126は、保存した第一および第二方位設定A0、A1の差の絶対値に少なくとも部分的に依存している。保存した第一および第二方位設定A0、A1の差の絶対値は、障害物の角度幅の半分である。当然のことながら、この角度幅の半分の値は、障害物の全角度幅の代表値として用いることができる。従って、特に指定がない限り、角度幅という表現は障害物の全角度幅および角度幅の半分の値の両方に用いる。算出した1126角度幅との比較1128に用いられる閾値は、受信1001センサ信号の強度に少なくとも部分的に基づいて設定し得る。例えば、受信1001センサ信号が弱い場合、ロボット100が弱い信号を基にした柱ナビゲーションやその他の迂回行動を実行する可能性を低減するために閾値を高く設定しても良い。いくつかの実施形態では、比較1128に用いられる閾値は、算出された障害物の角度幅に少なくとも部分的に依存し得る。図10Bは、受信1001センサ信号を白色椅子の足1151および白色壁1153の角度の関数として示している。白色椅子の足1151に対応する受信1001信号においては、上昇端1150aは約15度にあり、屈曲点1152aは約20度にあるため、算出される1126角度幅は5度となる。白色壁1153に対応する受信1001信号においては、上昇端1150bは約13度にあり、屈曲点1152bは約50度にあるため、算出される1126角度幅は37度となる。従って、この例では、柱例えば椅子の足と壁を判別するためには、角度幅との比較1128に用いる閾値は5度から37度の間で設定し得る。いくつかの実施形態では、障害物が壁であると判断した1132場合、ロボット100の回転半径を変化させることで壁からほぼ一定の距離を保ちながら壁に沿ってロボット100を移動させる、壁追従行動を用いることができる。例えば、このような回転半径の変化は、初めにロボット100を検出した障害物から遠ざける第一方位に障害物が検出されなくなるまで回転させ、次に検出された障害物に向かう第二方位にロボット100を回転させることを含み得る。この壁追従行動は、米国特許7388343号METHODANDSYSTEMFORMULTIMODECOVERAGEFORANAUTONOMOUSROBOTで開示されており、参照によりそれらの全ての内容が本明細書に組み込まれるものとする。ある実施形態においては、障害物が壁であると判断した1132場合、清掃面の清掃を継続するためにロボット100を壁から遠ざけるバウンス行動を用いることができる。このバウンス行動は、米国特許7388343号METHODANDSYSTEMFORMULTIMODECOVERAGEFORANAUTONOMOUSROBOTで開示されており、参照によりそれらの全ての内容が本明細書に組み込まれるものとする。この形態のセンササブシステム50の動作や、静止した物体や障害物との接触や接近を検出する際に有用なセンサの代替形態に関する詳細は、2002年1月24日に出願された同時係属中の米国特許出願10/056804METHODANDSYSTEMFORMULTIMODECOVERAGEFORANAUTONOMOUSROBOTに記載されている。障害物が柱であると判断した1130場合、ロボットは一回もしくは複数回の柱ナビゲーション行動を実行することにより柱の周りの移動を試みることができる。以下に詳細に説明するように、これらの柱ナビゲーション行動は、判別した障害物の周りを移動する柱旋回行動と障害物間の狭い隙間を移動するための柱回避行動を含む。図11はロボット100に搭載された可動センサを用いた障害物分類1000の一例を示している。この例では、駆動半径が約2000mm未満例えば約1300mm未満になると障害物分類1000が開始され、保存した第一方位設定A0および第二方位設定A1を0に初期化することを含む。障害物から遠ざける方向へのセンサの回転1002は、ロボット100に可動に保持されているセンサ例えば、音響センサおよび/またはカメラ、スキャナ、赤外線、レーザーといった視覚センサを動かすこと1110′を含む。例えば、一つ以上の近接センサ134Aは、視野例えば、ロボット100の前方の視野を広げるためにロボット100に対して可動な視覚センサであっても良い。いくつかの実施形態では、視覚センサの動き1110′は、ロボット100の前方の保存した方位Hを180度見渡すことを含む。このような視覚センサの回転は、ロボット100が静止している状態で実行することが可能であり、障害物分類1000に要する時間を短縮することができる。センサ信号の変化の判別1004は、視覚センサからの信号例えば映像信号の受信1113およびそれらの信号から特徴を抽出すること1115を含む。例えば、視覚センサがカメラであるある実施形態においては、ハフHough変換やその他の分類機を使用することで、カメラにより取得される信号映像から特徴を抽出すること1115ができる。いくつかの実施形態では、視覚センサから受信した1113信号から抽出された1115特徴は、障害物のエッジおよび障害物の幅方向のほぼ中心に該当する屈曲点の閾値判別を含む。閾値に該当する視覚センサの角度はA0に設定される1117。同様に、屈曲点に該当する視覚センサの角度はA1に設定される1119。この実施形態において、受信センサ信号の変化に少なくとも部分的に基づいて検出した障害物の識別1006は、図10A-10Bに関連して上述した方法で達成される。図12-14において、柱ナビゲーション1200は、ロボット100の柱旋回1250および柱旋回1250によりロボット100が障害物の周りを移動したかを評価すること1252を含む。柱旋回1250に失敗した場合、柱旋回1250を再試行するか判断する1254。ロボットが狭い隙間と予想される近くにあると判断されると、柱回避1300で狭い隙間の通過を試みる。ロボット100が狭い隙間を通過できたか判断するために柱回避1300が成功したか評価される1258。柱回避1300に失敗した場合、柱回避1300を再試行するか判断する1260。いくつかの実施形態では、再試行の判断1254および1260は、試行回数が一定の回数を超えているかどうかに基づく。ある実施形態においては、再試行の判断1254および1260は、角度幅が大きい障害物に対してより多く柱旋回1250および/または柱回避1300を実行させるために、柱の角度幅に比例した閾値を試行回数が超えているかに基づいている。追加的または代替的に、再試行の判断1254および1260は、ロボット100が清掃モードの実行を継続している時間に応じて減少する閾値を試行回数が超えているかに基づいている。図9A-9Hに関して上述したように、柱旋回1250はロボット100が方位設定を回復できるように、柱として識別された障害物の周りをロボット100に移動させることができ、いくつかの例では、障害物との第一衝突時のロボット100の速度設定を回復することができる。柱旋回1250は、柱との第一衝突点における柱の接線方向に対してロボットの進行方法が平行になるよう調整するための回転1262と、調整するための回転1262に対して反対方向へ旋回させること1264と、ロボット100の方位が閾値と等しいかを判断すること1266を含む。ロボット100の方位が閾値と異なると判断され1266、柱を旋回する試行回数が最大回数より少ないか等しいと判断される1268と、旋回半径は徐々に増加する。ロボット100の方位が閾値と異なると判断され1266、柱旋回の試行回数が最大回数より多いと判断される1268と、ロボット100は大きい半径で旋回させられる。柱133との第一衝突点における接線方向に対してロボットの進行方法が平行になるよう調整するための回転1262は、図9A-9Bに関して上述したロボット100の回転を含む。調整するための回転1262に対して反対方向へ旋回させること1264は、検出した障害物に向かってロボットを回転させることを含む。例えば、ロボット100の近接センサ134A図4Bが障害物を検出した場合、旋回1264はロボット100を上方から見て反時計回りのロボット100の回転を含む。ロボット100がほぼ円筒形である例では、旋回1264はロボット100の半径と等しいか若干大きい例えば1.8倍半径でロボットを旋回させることを含み得る。追加的または代替的に、旋回1264は判別された障害物の角度幅に少なくとも部分的に依存した半径でロボット100を旋回させることを含み得る。例えば、判別された障害物の角度幅に比例した半径でロボット100を旋回させることができる。いくつかの実施形態では、ロボット100の方位が閾値と等しいかを判断すること1266は、ロボット100の方位が保存した方位と等しいかを判別することを含み得る。これらの実施形態では、図9F-9Gに示すように、ロボット100の瞬間的な方位が保存した方位Hと等しくなるまで柱133の周りを旋回し、ロボット100の旋回が中断され、衝突前の初期の方位と平行な保存した方位Hにそってロボット100が移動する。このようなロボット100の柱133に対する迂回動作により、ロボット100による柱133付近の清掃を可能にしながらロボット100が柱133を通過するのに要する時間を低減することができる。ある実施形態においては、ロボット100の方位が閾値と等しいかの判断1266は、保存した方位Hと旋回中のロボット100の瞬間的方位の差が閾値例えば±45度と等しいかを判断することを含み得る。これらの実施形態では、図9F-9Hに示すように、ロボット100の瞬間的方位が保存した方位Hに対して閾値時計回りと反時計回りの両方に対応可能な絶対値分だけ異なる時点までロボット100に柱133を旋回させ、ロボット100の旋回を中断し、ロボット100の瞬間的な方位が保存した方位Hと一致するまで旋回方向と反対方向図9Hにロボット100を回転させる。ロボット100はその後保存した方位Hに沿って移動を続ける。このようなロボット100の柱133に対する迂回動作は、例えば柱133の周囲のより広い範囲をロボット100に移動させることで、柱133付近のロボット100のカバレッジを向上させる。ロボット100が柱の旋回を試みる際にどの衝突センサ132が反応したか例えば、どの衝突センサ132が、ロボットが初期の方位を回復するのを妨げた衝突に対応するか判別しながら1272、徐々に旋回半径を増加させていく1270。例えば、図13に示す実施形態では、判別1272は旋回側の衝突センサ132、非旋回側の衝突センサ132、および中央衝突センサ132の間でなされる。判別された衝突センサ132がロボット100の旋回側例えば、反時計回りに旋回中のロボット100の左側、もしくは時計回りに旋回中のロボット100の右側の場合、旋回半径を増加させる1274。例えば、一回の試行につき10mmから100mm旋回半径を増加させても良い。追加的または代替的に、角度幅が大きい柱に対する旋回半径の増加1274が、角度幅が小さい柱の場合よりも大きくなるよう、検出された柱の角度幅に比例した増加幅で試行ごとに旋回半径を増加させても良い。判別された衝突センサ132がロボット100の非旋回側例えば、反時計回りに旋回中のロボット100の右側、もしくは時計回りに旋回中のロボット100の左側の場合、柱回避トリガがセットされる1276。ロボット100が柱旋回1250による柱の周りの移動を失敗した場合、以下に説明するように、この柱回避トリガがロボット100に柱回避1300を実行させる。判別された衝突センサ132がロボット100の中央に位置する場合、ロボット100が大きい半径で旋回する前にもう一回柱の旋回を試みるよう、試行回数は最大試行回数に設定される1278。ロボット100を大きい半径で旋回させること1280で、柱の旋回試行の失敗によりロボット100が消費する時間とエネルギーを削減することができる。例えば、ロボット100を大きい半径で旋回させること1280により、不規則な形状の柱を通過することを容易にする。いくつかの実施形態では、ロボット100は半径約100mmから約500mm例えば約150mmから約350mmの円弧軌道を旋回する1280。ある実施形態においては、ロボット100は大きい半径で移動する前に方向転換する例えば、約100度から約180度。ロボット100が大きい半径で移動中に衝突を検出すると柱旋回1250は終了し、いくつかの実施形態では、その他のアービタ選択された動作制御行動が開始される。これはロボット100が障害物の周りを移動する際の効率を向上させる。ロボット100がある一定時間以上例えば1秒から5秒大きい半径での旋回1280を続けると、柱旋回1250が終了する。大きい半径の円弧での移動がタイムアウトする頃には、ロボット100は障害物の反対側に移動している可能性が高く、および/または他のアービタ選択された行動が、ロボット100を初期の方位設定まで移動させるためにより有効であり得る。図14において、柱回避1300行動は、ロボット100に二つの障害物の隙間を通過させるために、方向を交互に変化し、徐々に小さくなる旋回の連続でロボット100を操縦することを含む。このような操縦は、ロボット100が隙間を通過して初期の方向設定例えば、障害物に接触する前の方向設定を回復することを可能にする。障害物間の隙間は、清掃面に対して平行方向におけるロボット100の最大寸法とほぼ等しくても良い。柱回避1300行動は、変数の初期化1302と、隙間を通過する試行回数が最大試行回数に達したかの判断1303と、最大試行回数に達した場合または最大時間が経過した場合にロボット100を大きい半径で旋回させること1304と、最大試行回数に達していない場合にロボット100に隙間を迂回させること1306を含む。初期化1302は、障害物を柱旋回1250中に非旋回側での衝突により柱回避トリガが設定された1276か図13参照を判断することを含む。このような非旋回側での衝突とそれによる柱回避トリガは、ロボット100が近接した複数の障害物に遭遇していることを示している。柱回避トリガが設定されない場合、柱回避1300行動を終了することができる。追加的または代替的に、迂回変数の初期化1302は、柱回避の試行回数、迂回動作のための旋回半径R、およびロボット100の初期方位のうち一つ以上の変数の設定を含む。いくつかの例では、ロボット100が清掃モードを継続してきた時間が長くなるほど、柱回避の最大試行回数は減少する。最大試行回数に達した場合における大きい半径でのロボット100の旋回1304は、柱旋回1250図10に関連して上記で説明した旋回1280に類似している。迂回1306は、衝突の検出と、右および/または中央の衝突検出1308時のロボット100の旋回半径Rでの反時計回りの旋回1310と、左の衝突検出1308時のロボット100の旋回半径Rでの反時計回りの旋回1312と、旋回半径Rの減少1314と、直進移動1316を含む。このような衝突の検出1308に応じた旋回半径Rの段階的減少1314は、最大試行回数に達したと判断する1303か、ロボット100が自由に前進可能1318になり方位Hに戻る円弧1320により方位Hに達するまで移動するか、衝突を検出するまで続けられる。最大試行回数を超えたと判断する1303と、ロボット100は方位Hと反対のランダム方位に回転し、所定の時間または距離、もしくは衝突が検出されるまで円弧軌道を前進する。いくつかの実施形態では、旋回半径Rの減少1314は、一定の角度で半径Rを減少させることを含み得る。ある実施形態においては、旋回半径Rの減少1314は、繰り返す毎に小さくなる減少量で旋回半径Rを減少させることを含み得る。図15において、被拘束ロボット仮想センサ1350はロボット100が狭いエリアで立ち往生していないかを検出できる。例えば、被拘束ロボット仮想センサ1350は、ロボット100が脱出困難なエリアに誘導されたか例えば、ロボット100が実質そのエリアに立ち往生しているかを検出することができる。以下に詳細に説明するように、被拘束ロボット仮想センサ1350は、ロボット100を可変行動モードに切り替えることで立ち往生状態から脱出させることができる。このように、いくつかの例では、被拘束ロボット仮想センサ1350は、例えばロボット100が立ち往生した状態のままでいる可能性を低減することで、ロボットの清掃面におけるカバレッジ効率を向上させることができる。被拘束ロボット仮想センサ1350は、ロボット100を第一行動モードで移動するよう指示し1352、ロボット100の第一行動モードでの動作を監視し、ロボット100が立ち往生しているかを判断し1356、ロボット100が立ち往生していると判断する1356と第二行動モードを開始する1358ことを含む。いくつかの実施形態では、被拘束ロボット仮想センサ1350はロボット100が散乱エリアにいると判断する例えば、図4A-Bおよび図5における近接センサ134A-Dおよび/または衝突センサ132から一つ以上の信号を受信すると起動する。ロボット100を第一行動モードで移動させる指示1352は、ロボットに柱旋回1250および/または柱回避1300行動図13-14参照で移動させる指示を含む。追加的または代替的に、ロボット100を第一行動モードで移動させる指示1352は、ロボット100を一連の行動モードで移動するよう指示することを含み得る。追加的または代替的に、第一行動モードおよび一連の行動モードは、バウンスモード、障害物追従モード、およびスポットカバレッジモードのうち一つ以上の行動を含み得る。第一行動モードでのロボット100の動作の監視1354は、ロボット100の方位およびロボット100が移動した直線距離の測定を含む。この監視1354は、一つの行動モードおよび/または一連の行動モードを実行している間実行することができる。いくつかの実施形態では、測定されたロボット100の方位は、ジャイロスコープ119および/または一つ以上の車輪エンコーダ121a、b、cによる測定を含む。ロボット100が立ち往生しているという判断1356は、ロボット100の動作の監視1354に360度以上の方向転換および閾値未満の直線移動距離例えば、約6m未満、約4m未満、約2m未満が含まれると判断することを含む。この方向転換および直線移動距離は、ロボット100が狭いエリアに立ち往生していることを示す。例えば、ロボット100の直線移動距離は一つ以上の車輪エンコーダ121a、b、cにより測定することができる。ロボット100が立ち往生していると判断する1356と、第二行動モードが開始される1358。例えば、第二行動モードは脱出モードを含み得る。追加的または代替的に、第二行動モードの開始1358は、アラーム例えば、可聴アラームや視覚アラームおよび/またはロボット100の電源を切ることを含み得る。いくつかの実施形態では、ロボット100が立ち往生しているという判断は、接触した障害物間の距離の判断に少なくとも部分的に依存してローカルエリアマップを生成することを含む。例えば、ローカルエリアマップは、第一障害物との最初の接触時のロボット100の方位を保存し、第二障害物との最初の接触で、推測航法により第一障害物と第二障害物の間の距離を判断する。推測航法に用いられる速度や距離の情報には、一つ以上の車輪エンコーダ121a、b、cからの走行距離計測情報および/または駆動アセンブリ112、114からのモータ出力情報を含み得る。幾つかの実施形態が説明されたが、様々な変更形態が以下の特許請求の趣旨および範囲から逸脱することなく実施され得ることが理解される。したがって、他の実施形態は以下の特許請求の範囲内にある。