(57)【要約】【課題】例えば、壁と床との交差部に隣接する表面は、ロボットにとっては横断することが難しい。【解決手段】例示的なロボットは、表面に対して移動可能な本体と、本体に対して移動可能なように本体に搭載されるバンパと、バンパと表面との間の接触によって生じる、本体に対するバンパの移動に応答して信号を生成するセンサと、値に基づいて本体に表面を追跡させるように本体の移動を制御するコントローラと、を備える。バンパは、本体に対する非押圧位置と、本体に対する押圧位置との間で移動可能である。信号は、本体に対するバンパの移動に対してリニアに変化する。値は、信号に基づき且つバンパが非押圧位置と押圧位置との間の押圧範囲を有する、部分的押圧位置にあることを示す。【選択図】図１Ａ
2020140728.tif 000002
【特許請求の範囲】
【請求項１】
ロボットであって、
障害物の表面に対して移動可能な当該ロボットに、移動可能に搭載されたバンパと、
前記バンパの位置を所定の範囲内に維持しながら、前記表面の第１の部分に沿って当該ロボットを前進させること、
所定の範囲外の前記バンパの位置に応答して、前記表面の第１の部分に対して当該ロボットの前方駆動方向を方向変更すること、
前記バンパの位置を前記所定の範囲内に維持しながら、前記表面の第１の部分に対して傾いた前記表面の第２の部分に沿って当該ロボットを前進させること、
を含んでなる動作を実施させるインストラクションを実行するように構成されているコントローラと、
を含んでなることを特徴とする、ロボット。
【請求項２】
前記表面の第１の部分に沿って当該ロボットを前進させることが、当該ロボットの前方駆動方向と前記表面の第１の部分との間で第１の非ゼロ角度を維持しながら、前記表面の第１の部分に沿って当該ロボットを前進させることを含むことを特徴とする、請求項１に記載のロボット。
【請求項３】
前記表面の第２の部分に沿って当該ロボットを前進させることが、当該ロボットの前方駆動方向と前記表面の第２の部分との間で第２の非ゼロ角度を維持しながら、前記表面の第２の部分に沿って当該ロボットを前進させることを含むことを特徴とする、請求項２に記載のロボット。
【請求項４】
前記第１の非ゼロ角度と前記第２の非ゼロ角度との間が、３度〜２０度であることを特徴とする、請求項３に記載のロボット。
【請求項５】
前記表面の第１の部分に対して当該ロボットの前方駆動方向を方向変更することが、前記表面の第２の部分に向けて当該ロボットを回転させることを含むことを特徴とする、請求項１に記載のロボット。
【請求項６】
前記表面の第２の部分に向けて当該ロボットを回転させることが、前記表面の第１の部分に向けて当該ロボットを回転させることを含むことを特徴とする、請求項５に記載のロボット。
【請求項７】
前記表面の第２の部分に向けて当該ロボットを回転させることが、前記表面の第１の部分から離れるように当該ロボットを回転させることを含むことを特徴とする、請求項５に記載のロボット。
【請求項８】
前記表面の第１の部分に対して当該ロボットの前方駆動方向を方向変更することが、前記表面の第２の部分に向けて当該ロボットを回転させる前に、前記表面の第２の部分から離れるように当該ロボットを後方に移動させることを含むことを特徴とする、請求項７に記載のロボット。
【請求項９】
前記表面の第２の部分に向けて当該ロボットを回転させることが、前記表面の第１の部分および第２の部分の間のインターフェースと当該ロボットとの間の接触を維持しながら、前記表面の第２の部分に向けて当該ロボットを回転させることを含むことを特徴とする、請求項５に記載のロボット。
【請求項１０】
当該ロボットに対する前記バンパの動きに応答してデータを生成するように構成されたセンサシステムをさらに含み、前記データの第１の部分は、前記バンパの位置が前記バンパの完全な押圧位置と前記所定の範囲の間にあることを示し、前記データの第２の部分は、前記バンパの位置が前記所定の範囲内にあることを示し、前記データの第３の部分は、前記バンパの位置が前記バンパの完全な非押圧位置と前記所定の範囲の間にあることを示していることを特徴とする、請求項１に記載のロボット。
【請求項１１】
前記動作は、前記バンパが前記バンパと前記表面との接触がない別の所定の範囲内にあることに応答して、当該ロボットに対する前記バンパのニュートラル位置をキャリブレートすることを含むことを特徴とする、請求項１に記載のロボット。
【請求項１２】
前記表面の第１の部分に対して当該ロボットの前方駆動方向を方向変更することが、前記バンパの位置が前記バンパの完全な押圧位置と前記所定の範囲の間にあることに応答して、前記表面の第１の部分から離れるように当該ロボットを後方に移動させることを含むことを特徴とする、請求項１に記載のロボット。
【請求項１３】
前記表面の第１の部分に対して当該ロボットの前方駆動方向を方向変更することが、前記バンパの位置が前記バンパの完全な非押圧位置と前記所定の範囲の間にあることに応答して、前記表面の第１の部分に向けて当該ロボットを回転させることを含むことを特徴とする、請求項１に記載のロボット。
【請求項１４】
ロボットを制御する方法であって、
前記ロボットのバンパの位置を所定の範囲内に維持しながら、障害物の表面の第１の部分に沿って前記ロボットを前進させるステップと、
所定の範囲外の前記バンパの位置に応答して、前記表面の第１の部分に対して前記ロボットの前方駆動方向を方向変更するステップと、
前記バンパの位置を前記所定の範囲内に維持しながら、前記表面の第１の部分に対して傾いた前記表面の第２の部分に沿って前記ロボットを前進させるステップと、
を含んでなることを特徴とする、方法。
【請求項１５】
前記表面の第１の部分に沿って前記ロボットを前進させるステップが、前記ロボットの前方駆動方向と前記表面の第１の部分との間で第１の非ゼロ角度を維持しながら、前記表面の第１の部分に沿って前記ロボットを前進させるステップを含むことを特徴とする、請求項１４に記載の方法。
【請求項１６】
前記表面の第２の部分に沿って前記ロボットを前進させるステップが、前記ロボットの前方駆動方向と前記表面の第２の部分との間で第２の非ゼロ角度を維持しながら、前記表面の第２の部分に沿って前記ロボットを前進させるステップを含むことを特徴とする、請求項１５に記載の方法。
【請求項１７】
前記第１の非ゼロ角度と前記第２の非ゼロ角度との間が、３度〜２０度であることを特徴とする、請求項１６に記載の方法。
【請求項１８】
前記表面の第１の部分に対して前記ロボットの前方駆動方向を方向変更するステップが、前記表面の第２の部分に向けて前記ロボットを回転させるステップを含むことを特徴とする、請求項１４に記載の方法。
【請求項１９】
前記表面の第２の部分に向けて前記ロボットを回転させるステップが、前記表面の第１の部分に向けて前記ロボットを回転させるステップを含むことを特徴とする、請求項１８に記載の方法。
【請求項２０】
前記表面の第２の部分に向けて前記ロボットを回転させるステップが、前記表面の第１の部分から離れるように前記ロボットを回転させるステップを含むことを特徴とする、請求項１８に記載の方法。
【請求項２１】
前記表面の第１の部分に対して前記ロボットの前方駆動方向を方向変更するステップが、前記表面の第２の部分に向けて前記ロボットを回転させる前に、前記表面の第２の部分から離れるように前記ロボットを後方に移動させるステップを含むことを特徴とする、請求項２０に記載の方法。
【請求項２２】
前記表面の第２の部分に向けて前記ロボットを回転させるステップが、前記表面の第１の部分および第２の部分の間のインターフェースと前記ロボットとの間の接触を維持しながら、前記表面の第２の部分に向けて前記ロボットを回転させるステップを含むことを特徴とする、請求項１８に記載の方法。
【請求項２３】
前記バンパが前記バンパと前記表面との接触がない別の所定の範囲内にあることに応答して、前記バンパのニュートラル位置をキャリブレートするステップをさらに含むことを特徴とする、請求項１４に記載の方法。
【請求項２４】
前記表面の第１の部分に対して前記ロボットの前方駆動方向を方向変更するステップが、前記バンパの位置が前記バンパの完全な押圧位置と前記所定の範囲の間にあることに応答して、前記表面の第１の部分から離れるように前記ロボットを後方に移動させるステップを含むことを特徴とする、請求項１４に記載の方法。
【請求項２５】
前記表面の第１の部分に対して前記ロボットの前方駆動方向を方向変更するステップが、前記バンパの位置が前記バンパの完全な非押圧位置と前記所定の範囲の間にあることに応答して、前記表面の第１の部分に向けて前記ロボットを回転させるステップを含むことを特徴とする、請求項１４に記載の方法。
【請求項２６】
前記バンパの位置を前記所定の範囲内に維持するステップが、前記バンパの右側部分または前記バンパの左側部分を前記所定の範囲内に維持するステップを含むことを特徴とする、請求項１４に記載の方法。
【請求項２７】
前記バンパの位置を前記所定の範囲内に維持することが、前記バンパの右側部分または前記バンパの左側部分を前記所定の範囲内に維持することを含むことを特徴とする、請求項１に記載のロボット。
【請求項２８】
ロボットであって、
当該ロボットを床面に沿って動かすように構成された駆動システムと、
当該ロボットに搭載され、完全な非押圧位置と完全な押圧位置との間で移動可能なバンパと、
前記バンパの位置を示す複数の信号を生成するように構成されたセンサであって、
前記複数の信号が、
前記バンパが前記完全な非押圧位置にあることを示す第１の信号と、
前記バンパが、前記完全な非押圧位置と前記完全な押圧位置との間で部分的押圧位置にあることを示す第２の信号と、
前記バンパが前記完全な押圧位置にあることを示す第３の信号と、
を含む、センサと、
前記複数の信号に基づいて前記床面に沿った当該ロボットのナビゲーションを制御する前記駆動システムを操作するように構成されたコントローラと、
を含んでなることを特徴とする、ロボット。
【請求項２９】
前記センサが、ホール効果センサ、容量性センサおよび誘導センサの少なくとも１つを含むことを特徴とする、請求項２８に記載のロボット。
【請求項３０】
前記複数の信号の値が、前記完全な非押圧位置と前記完全な押圧位置とによって画定された位置の所定の範囲内における前記バンパの位置に対して線形に変化していることを特徴とする、請求項２８に記載のロボット。
【請求項３１】
前記センサが当該ロボットの右側部分に配置された第１のセンサで、前記複数の信号が複数の第１の信号で、前記バンパの位置が前記バンパの右側部分の位置であり、
当該ロボットは、当該ロボットの左側部分に配置された第２のセンサをさらに含み、前記第２のセンサが、前記バンパの左側部分の位置を示す複数の第２の信号を生成するように構成され、
床面に沿った当該ロボットのナビゲーションを制御する駆動システムを操作するコントローラの構成は、複数の前記第１の信号および複数の前記第２の信号に基づいて、床面に沿った当該ロボットのナビゲーションを制御する駆動システムを操作する構成を含むことを特徴とする、請求項２８に記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、移動中に壁などの障害物を追跡するようにロボットの移動を制御することに関連する。
【背景技術】
【０００２】
移動ロボットは、清掃や吸引等の様々な動作を実行する為に表面を横断するように使用することができる。壁、固定物等の障害物は、いくつかの移動ロボットにとって、いくつかのエリアに到達することを難しくするであろう。例えば、壁と床との交差部に隣接する表面は、ロボットにとっては横断することが難しいであろう。
【発明の概要】
【０００３】
例示的なロボットは、ロボットが壁追従挙動を実行するときに、壁面との接触を維持することができる。ロボットのバンパに関連付けられたセンサは、ロボットが壁面を追跡する間にロボットの清掃パッドと壁面との間の継続的な接触を可能にする。センサは、ロボットが壁面を追従し続ける為にロボット自身の方向を調整することができるように、バンパがいつ壁面との接触を失ったかを検出することもできる。
【０００４】
例示的なロボットは、表面に対して移動可能な本体と、本体に対して移動可能なように本体に搭載されるバンパと、バンパと表面との間の接触によって生じる、本体に対するバンパの移動に応答して信号を生成するセンサと、値に基づいて本体に表面を追跡させるように本体の移動を制御するコントローラと、を備える。バンパは、本体に対する非押圧位置と、本体に対する押圧位置との間で移動可能である。信号は、本体に対するバンパの移動に対してリニアに変化する。値は、信号に基づき且つバンパが非押圧位置と押圧位置との間の押圧範囲を有する部分的押圧位置にあることを示す。例示的なロボットは、単独で又は組合せで、以下の特徴の１以上を備えていても良い。
【０００５】
表面は壁面を備え得る。本体の移動を制御する為のコントローラの構成は、ロボットに、壁面との接触を約３度〜約２０度の間の角度で維持させる構成を備え得る。ロボットは、本体の底部に取り付けられた清掃パッドと、ロボットから液体を分配するように構成された塗布器とを備え得る。清掃パッドは、バンパを越えて伸び得る。
【０００６】
本体に表面を追跡させるように本体の移動を制御するコントローラの構成は、ロボットに壁追従挙動を実行させる構成を備え、該壁追従挙動において、コントローラは、バンパが部分的押圧位置にあるように、本体を、ある角度で壁面に接触させるように本体の移動を制御し、及び、バンパの押圧を部分的押圧位置に維持するように、ロボットの回転及び並進速度を調整する。本体に表面を追跡させるように本体の移動を制御するコントローラの構成は、ロボットに、清掃パッドと壁面との接触を壁追従挙動で維持させる構成を備え得る。
【０００７】
センサは第１のセンサであり、信号は第１の信号であっても良い。ロボットは、バンパの移動に応答する第２の信号を生成する第２のセンサを備えていても良い。第２の信号は、バンパの移動に対してリニアに変化し得る。コントローラは、第１信号に基づく第１の値と第２の信号に基づく第２の値に基づいて値を計算するようにプログラムされ得る。
【０００８】
ロボットは、左側部、右側部、前部及び後部を有し得る。第１のセンサは右側部に隣接し、第２のセンサは左側部に隣接し得る。バンパは、ロボットの前部に沿って配置され且つ左側部及び右側部に部分的に沿って伸び得る。ロボットは、バンパの移動に応答する第３の信号を生成する第３のセンサを備え得る。第３の信号は、バンパの移動に対してリニアに変化し得る。第３のセンサは、左側部と右側部に間にあり、前部に隣接し得る。
【０００９】
センサは、バンパに搭載された柱と、柱に搭載された磁石と、本体内において磁石の上部に搭載されたホール効果センサであり得、又はそれらを備え得る。センサは、容量性センサであり得、又はそれを備え得る。容量性センサは、一組の容量性プレートを備え得る。一組の容量性プレートの少なくとも１つは、バンパの移動に応じて、一組の容量性プレートの他方に対して移動可能であり得る。コントローラは、少なくとも１つの容量性プレートの移動に応じて生成される信号の時定数を決定するようにプログラムされ得る。センサは、誘導性センサであり得、又はそれを備え得る。誘導性センサは、バンパの移動に基づいて巻線内で移動できるコア部材を備え得る。コントローラは、コア部材の移動に応じた信号から時定数を決定するようにプログラムされ得る。
【００１０】
表面は部屋の壁を備え得る。また、コントローラは、値を押圧範囲内で維持することによって、壁との接触を維持する為に、壁面を追跡するように本体の移動を制御するようにプログラムされ得る。コントローラは、バンパが押圧位置の所定の範囲内にあることに応答して、本体に対するバンパの位置を動的にキャリブレートするようにプログラムされ得る。コントローラは、押圧範囲の外側にあり、バンパが押圧範囲に関連付けられた押圧量よりもさらに押圧されていることを示す値に応答して、本体を表面から後退させる為に、本体の移動を制御するようにプログラムされ得る。コントローラは、押圧範囲の外側にあり、バンパが押圧範囲に関連付けられた押圧量より弱く押圧されていることを示す値に応答して、本体を表面に向かって方向転換させる為に、本体の移動を制御するようにプログラムされ得る。
【００１１】
本体は車輪を備え得る。また、ロボットは、車輪と関連付けられた検出器を備え得る。検出器は、車輪の速度を検出する為のものであり得る。コントローラは、車輪の速度が予めプログラムされた速度より低いこと、及び、値が押圧範囲の外側にあることに少なくとも部分的に基づいて、本体に表面から後退させ、表面から方向転換し、次に表面に再度密着させる為に、本体の移動を制御するようにプログラムされ得る。コントローラは、本体に、ある角度で表面を追跡させるようにプログラムされ得る。コントローラは、値に基づいて、角度を調整するようにプログラムされ得る。
【００１２】
例示的なロボットは、表面に対して移動可能な本体と、本体に対して移動可能なように本体に搭載されたバンパと、バンパと表面との、時間間隔にわたる接触によって生じる本体に対するバンパの移動に応じた信号を生成するリニアセンサと、リニアセンサによって生成される信号に基づいて１以上の制御信号を生成するコントローラとを備え得る。信号は、バンパの移動にしたがってリニアに変化し得る。１以上の制御信号は、少なくとも時間間隔の間、表面に追従するように本体の移動を制御するためのものであり得る。例示的なロボットは、単独で又は組合せで、以下の特徴の１以上を備えていても良い。
【００１３】
表面は壁面を備え得る。本体の移動を制御する為のコントローラの構成は、ロボットに、壁面との接触を約３度〜約２０度の間の角度で維持させる構成を備え得る。ロボットは、本体の底部に取り付けられた清掃パッドと、ロボットから液体を分配するように構成された塗布器とを備え得る。清掃パッドは、バンパを越えて伸び得る。
【００１４】
本体に表面を追跡させるように本体の移動を制御するコントローラの構成は、ロボットに壁追従挙動を実行させる構成を備え、該壁追従挙動において、コントローラは、バンパが部分的押圧位置にあるように、本体を、ある角度で壁面に接触させるように本体の移動を制御し、及び、バンパの押圧を部分的押圧位置に維持するように、ロボットの回転及び並進速度を調整する。本体に表面を追跡させるように本体の移動を制御するコントローラの構成は、ロボットに、清掃パッドと壁面との接触を壁追従挙動で維持させる構成を備え得る。
【００１５】
リニアセンサは、第１のリニアセンサと第２のリニアセンサとを備え得る。第１のリニアセンサは、本体の第１の側に隣接して配置され、第２のリニアセンサは、本体の第２の側に隣接して配置され得る。リニアセンサは、第１のリニアセンサと第２のリニアセンサトの間に配置された第３のリニアセンサを備え得る。
【００１６】
各リニアセンサは、バンパに搭載された柱と、柱に搭載された磁石と、本体内において磁石の上部に搭載されたホール効果センサとを備え得る。各リニアセンサは、容量性センサであり得、又はそれを備え得る。容量性センサは、一組の容量性プレートを備え得る。一組の容量性プレートの少なくとも１つは、バンパの移動に応じて、一組の容量性プレートの他方に対して移動可能であり得る。コントローラは、少なくとも1つの容量性プレートの移動に応じて生成される信号の時定数を決定するようにプログラムされ得る。各リニアセンサは、誘導性センサを備え得る。誘導性センサは、バンパの移動に基づいて巻線内で移動できるコア部材を備え得る。コントローラは、コア部材の移動に応じた信号から時定数を決定するようにプログラムされ得る。
【００１７】
ロボットを制御する例示的な方法は、ロボットと表面との間の力の大きさにしたがってリニアに変化する少なくとも1つの信号に基づいて、ロボットと表面との間の接触の程度が閾値を超えたと判定することと、閾値を超えたロボットと表面間の接触の程度を少なくとも維持し、表面を追跡するようにロボットを制御することと、を含む。例示的な方法は、単独で又は組合せで、以下の特徴の１以上を備えていても良い。
【００１８】
閾値は下側閾値であり得る。方法は、少なくとも１つの信号に基づいて、ロボットと表面との間の力の大きさが、下側閾値よりも大きい上側閾値を超えたと判定することと、ロボットと表面の間の力の大きさが上側閾値を超えたことに応じて、ロボットに表面から後退させることと、を含み得る。
【００１９】
ロボットは車輪を備え得る。方法は、車輪の速度を検出することと、車輪の速度に少なくとも部分的には基づいて、ロボットに、表面から後退させ、表面から方向転換し、次に、表面と再度密着させるようにロボットを制御することと、を含み得る。
【００２０】
判定することは、ロボットと壁面との間の力の大きさにしたがってリニアに変化する２以上の信号に基づき得る。方法は、更に、少なくとも部分的には２以上の信号に基づいて、ロボットが表面と密着する角度を制御することを含み得る。
【００２１】
本明細書に記載される例示的なロボット及び方法の有利な点は、以下の内容を非限定的に含んでいても良い。一つの例において、ロボットは、裂け目、コーナー、及びその他の到達することが困難でごみを蓄積するであろう領域を清掃することができる。一つの例において、ロボットは、部屋の壁及び障害物によって形成される幾何学的形状を有する部屋を清掃することができる。一つの例において、ロボットは、部屋の領域を清掃することをミスさせ得る形状を有する。このような例においては、ロボットは、他の動作及び清掃パターンが清掃動作中に清掃することをミスするであろう領域に到達する為に、壁追従を実施することができる。
【００２２】
本明細書で説明する、発明の概要に記載されている特徴を含む二つ以上の特徴を組み合わせることで、本明細書に具体的に記載されていない実施形態を形成することができる。
【００２３】
本明細書で説明するロボット及び技術又はその一部は、一つ以上の非一時的機械可読記憶媒体に保存された指示を含み、且つ本明細書で説明する動作を制御する（例えば、調整する）ために一つ以上の処理装置で実行可能である、コンピュータプログラム製品による制御が可能である。本明細書で説明するロボット又はその一部は、様々な動作を実装するための一つ以上の処理装置及び実行可能な指示を保存するためのメモリを含むことができる装置又は電子システムの一部又は全てとして実施することができる。
【００２４】
一つ以上の実施の詳細が、添付図面及び以下の説明に記載されている。その他の特徴及び長所は、明細書、図面、及び特許請求の範囲から明確になるであろう。
【図面の簡単な説明】
【００２５】
【図１Ａ】図１Ａは、移動ロボットの斜視図である。
【図１Ｂ】図１Ｂは、図１Ａの移動ロボットの側面図である。
【図１Ｃ】図１Ｃは、図１Ａの移動ロボットの上面図である。
【図１Ｄ】図１Ｄは、図１Ａの移動ロボットと共に使用される清掃パッドの上面図である。
【図１Ｅ】図１Ｅは、清掃パッド取付機構の上面図である。
【図１Ｆ】図１Ｆは、図１Ａの移動ロボットの分解斜視図である。
【図１Ｇ】図１Ｇは、図１Ａの移動ロボットから取り外された上部の斜視図である。
【図１Ｈ】図１Ｈは、図１Ａの移動ロボットから取り外された上部の斜視図である。
【図２Ａ】図２Ａは、壁面と接触する移動ロボットのバンパの上面図である。
【図２Ｂ】図２Ｂは、壁面と接触する移動ロボットのバンパの上面図である。
【図２Ｃ】図２Ｃは、壁面と接触する移動ロボットのバンパの上面図である。
【図３Ａ】図３Ａは、床面を擦る移動ロボットを示す、移動ロボットの上面図である。
【図３Ｂ】図３Ｂは、部屋を清掃する為にコーンロー型パターンを実行する移動ロボットの上面図である。
【図３Ｃ】図３Ｃは、図３Ｂの部屋の周囲を清掃する移動ロボットの上面図である。
【図３Ｄ】図３Ｄは、障害物のある部屋を清掃する例示的な移動ロボットの上面図である。
【図３Ｅ】図３Ｅは、障害物のある部屋を清掃する例示的な移動ロボットの上面図である。
【図３Ｆ】図３Ｆは、障害物のある部屋を清掃する例示的な移動ロボットの上面図である。
【図３Ｇ】図３Ｇは、障害物のある部屋を清掃する例示的な移動ロボットの上面図である。
【図３Ｈ】図３Ｈは、障害物のある部屋を清掃する例示的な移動ロボットの上面図である。
【図４】図４は、図１Ａの例示的なロボットのコントローラの機構の模式図である。
【図５Ａ】図５Ａは、内側コーナーを清掃する移動ロボットを図示する。
【図５Ｂ】図５Ｂは、内側コーナーを清掃する移動ロボットを図示する。
【図５Ｃ】図５Ｃは、内側コーナーを清掃する移動ロボットを図示する。
【図５Ｄ】図５Ｄは、内側コーナーを清掃する移動ロボットを図示する。
【図５Ｅ】図５Ｅは、内側コーナーを清掃する移動ロボットを図示する。
【図５Ｆ】図５Ｆは、内側コーナーを清掃する移動ロボットを図示する。
【図６Ａ】図６Ａは、周囲の外側コーナーを清掃する移動ロボットを図示する。
【図６Ｂ】図６Ｂは、周囲の外側コーナーを清掃する移動ロボットを図示する。
【図６Ｃ】図６Ｃは、周囲の外側コーナーを清掃する移動ロボットを図示する。
【図６Ｄ】図６Ｄは、周囲の外側コーナーを清掃する移動ロボットを図示する。
【図６Ｅ】図６Ｅは、周囲の外側コーナーを清掃する移動ロボットを図示する。
【図７Ａ】図７Ａは、壁面を清掃する移動ロボットの例を表す。
【図７Ｂ】図７Ｂは、壁面を清掃する移動ロボットの例を表す。
【図７Ｃ】図７Ｃは、壁面を清掃する移動ロボットの例を表す。
【図７Ｄ】図７Ｄは、壁面を清掃する移動ロボットの例を表す。
【図８】図８は、ロボットによって実施される、壁面を追従する為の処理を示すフローチャートである。異なる図面中の類似の参照符号は類似の要素を表す。
【発明を実施するための形態】
【００２６】
本明細書に記載されるのは、床、カーペット、芝生又は他の材料等の表面を横断するように構成された例示的なロボットである。例示的なロボットは、吸引、湿式又は乾式清掃、湿潤（damp）清掃、研磨等を非限定的に含む、表面に対する様々な動作を実行するように構成されていても良い。
【００２７】
表面上の空いているエリアは、パターンで又はランダムに横断することができる。（例えば、鉛直面を有する）壁又は他の障害物は、ロボットが表面上を横断するやり方に影響を与えるであろう。例えば、壁に隣接する表面は、パターンの又はランダムな横断を用いて到達することが難しい。したがって、本明細書に記載される例示的なロボットは、ロボットが壁又は他の障害物に隣接する表面を横断することを可能にする壁追従（追跡とも記す）技術を採用する。本明細書に記載される追跡テクニックの一例は、ロボットと壁との間の力を感知すること、及び、感知された力に応答して、壁に追従するようにロボットの移動を制御することを含む。いくつかの実施において、ロボットの移動は、ロボットと壁との間の力の大きさを測定することに基づいて、測定された力が目標範囲内に留まるように制御される。例えば、ロボットは、バンパと壁との間の摩擦によって、バンパが部分的に押圧されるように、ある角度（例えば、５度〜１０度）で壁と接触することができる。他の実施も本明細書に記載される。
【００２８】
本明細書に記載される例示的な追跡技術は、走行中に壁や他の障害物と遭遇する、あらゆる適切なタイプのロボット又は他の装置によって使用することができる。このような追跡技術を使用するロボットの例は、部屋を移動することによって部屋の床面を清掃することができる移動ロボットである。図１Ａを参照すると、いくつかの実施において、移動ロボット１００は、側壁面２０を有する部屋の表面１０を移動し清掃する。いくつかの実施において、ロボットは、５ポンド未満（２．２６ｋｇ未満）の重さであり、重心ＣＧを有する。いくつかの実施において、移動ロボットは、自律型である。ロボット１００は、例えばｘ、ｙ、θ成分を有する駆動コマンドに基づいて、床面１０上でロボット１００を移動させることができる車輪（図１Ａにおいては視認できない）によって支持される本体１０２を備える。図示されるように、ロボット本体１０２は、四角い形状を有し、Ｘ軸及びＹ軸を定義する。Ｘ軸は、ロボット１００の右方向Ｒ、及びロボット１００の左方向Ｌを定義する。Ｙ軸は、ロボット１００の後方向Ａ、及びロボット１００の前方向Ｆを定義する。他の実施において、本体１０２は、円形、長円形、涙のしずく形、四角形、正方形又は長方形の前方部と円形の後方部の組合せ、又はこれらのあらゆる形状の縦方向に非対称的な組合せなどの他の形状を有することができる。本体１０２は、底部（不図示）及び上部１０８を備える。
【００２９】
ロボット本体１０２の底部に沿って、ロボット１００の後方の２つの角部の一つ又は両方に配置された１以上のクリフ（cliff）センサ（不図示）、及び、ロボット１００の前方の２つの角部の一つ又は両方に配置された１以上のクリフセンサ（不図示）は、床面１０上の出っ張り又は急峻な高さの変化を検出し、ロボットがこのような床の縁端から落下することを防止する。クリフセンサは、機械式の落下センサ、又は、床面１０に向かって下方に向けられた、ＩＲ（赤外線）ペア、デュアルエミッタ、シングルレシーバ又はデュアルレシーバ、シングルエミッタＩＲ光近接センサ等の光近接センサであっても良い。
【００３０】
本体１０２は、縦（Ａ、Ｆ）方向又は横（Ｌ、Ｒ）方向での衝突を検出する為の移動式バンパ１１０を装備する。バンパ１１０は、ロボット本体１０２の前側１０２Ｆに搭載され、ロボット本体１０２の右側１０２Ｒ及び左側１０２Ｌを覆っている。バンパ１１０は、ロボット本体１０２を補完する形状を有し、ロボット本体１０２の前方まで伸びている。バンパ１１０は、前側１０２Ｆの総寸法がロボット本体１０２の後側１０２Ａよりも広くなるように伸びる低部１１１を備える。ロボット本体１０２は、バンパ１１０がロボット本体１０２に対して並進し及び回転することができるように、バンパ１１０を支持する。その結果、バンパ１１０の右側部１１０Ｒ及び左側部１１０Ｌは、異なる方向に移動することができる。本明細書中に更に詳細に記載されるように、左バンパセンサアサンブリ１１２Ｌ及び右バンパセンサアセンブリ１１２Ｒは、左バンパセンサアセンブリ１１２Ｌがバンパ１１０の左側部１１０Ｌの動きを検出し、右バンパセンサアセンブリ１１２Ｒがバンパ１１０の右側部１１０Ｒの動きを検出するように、ロボット１００内に位置付けられる。右バンパセンサアセンブリ１１２Ｒは、ロボット本体１０２の右側１０２Ｒに隣接して配置されている。左バンパセンサアセンブリ１１２Ｌは、ロボット本体１０２の左側１０２Ｌに隣接して配置されている。概して、バンパセンサアセンブリ１１２Ｌ、１１２Ｒは、バンパ１１０への力に対してリニアである信号を提供するリニアセンサアセンブリである。いくつかの実施において、本明細書で記載されるように、追加のセンサアセンブリが、例えば、左右のセンサアセンブリの間など、ロボット内に含められても良い。
【００３１】
いくつかの例において、アナログ信号を提供するリニアセンサを用いることは、様々な有利さを提供する。例えば、リニアセンサは、バンパ押圧の程度にしたがって変化する信号を提供する。バンパが、非押圧位置と完全押圧位置との間の中間程度まで押圧された場合、センサからの電圧又は電流の値は、バンパが完全に押圧されたときの値の半分であっても良い。
【００３２】
図１Ｂを参照すると、ロボット本体１０２の底部は、取り付けられた清掃パッド１２０を備える。ロボット本体１０２の底部は、ロボット１００が床面１０上を移動するときにロボット本体１０２の後方部１０６を回転可能に支持する車輪１２１を備える。各車輪１２１は、各車輪１２１に伝達される電流を判定する電流センサ１２３と共に使用可能である。各車輪１２１は、各車輪１２１の位置を判定するエンコーダと関連付けられ、また、エンコーダと共に使用可能である。エンコーダは、車輪１２１の回転位置を検出する光エンコーダであっても良い。回転位置に基づいて、ロボット１００のコントローラは、車輪１２１の加速度及び／又は速度を判定することができる。清掃パッド１２０は、ロボット１００が床面１０を移動するときに、ロボット本体１０２の前方部１０４を支持する。電流センサ１２３及びエンコーダは、一緒に、ロボット１００の車輪１２１がいつロボット１００の前方方向Ｆへの移動なしに駆動されているかを感知することができる。
【００３３】
ロボット本体１０２内の貯蔵器１２２は、清掃液１２４（例えば、清掃溶液、水、及び／又は洗剤）を保持する。いくつかの例では、貯蔵器１２２は、１７０ｍＬ〜２３０ｍＬ又は約２００ｍＬの容量を有する。ロボット１００は、ロボット本体１０２内でチューブによって貯蔵器１２２に接続された液体塗布器１２６を備える。いくつかの例において、液体塗布器１２６は、スプレー又は噴霧機構である。
【００３４】
ロボット１００の上部１０８は、ユーザがロボット１００を持ち運ぶためのハンドル１３５を備えていても良い。折り畳まれているとき、ハンドル１３５は、ロボット１００の上部１０８の凹部にフィットする。上部１０８は、パッド開放機構を作動させる、ハンドル１３５の直下に配置されたトグルボタン１３６を備えていても良い。ユーザは、ロボット１００をオンし、ロボット１００に清掃動作を開始するよう命令する為の清掃ボタン１４０を押下することもできる。清掃ボタン１４０は、ロボット１００をオフすること及び／又は仮想バリヤ位置を設けること等、他のロボット動作にも用いることができる。
【００３５】
図１Ｃを参照すると、いくつかの場合には、清掃パッド１２０は、ロボット１００がパッド１２０の外側の縁端を到達困難な表面まで又はそのような表面に沿って位置させる様に、或いは、壁−床間の境界３０等の裂け目に位置させる様に、バンパ１１０の幅を超えて伸び得る。いくつかの例において、清掃パッド１２０は、ロボット１００の本体１０２を、０．１ｍｍ〜１０ｍｍ（例えば、０．５ｍｍ〜２ｍｍ、１ｍｍ〜３ｍｍ、１ｍｍ〜５ｍｍ、２ｍｍ〜５ｍｍ、３ｍｍ〜６ｍｍ、５ｍｍ〜１０ｍｍ、約１ｍｍ、約５ｍｍ、約１０ｍｍ）だけ超えて伸びることができる。このような実施においては、清掃パッド１２０の端部は、壁面２０に接触し、本明細書に記載されるように、清掃パッド１２０上の摩擦力によりバンパ１１０を移動させることができる。一つの実施において、清掃パッド１２０は、端部まで伸び、ロボットのパッドホルダ（不図示）を大きく超えて伸びることはない。この場合、バンパ１１０は、壁面２０に接触し、バンパと壁面２０間の摩擦により移動する。
【００３６】
ロボット１００は、パッド１２０の端部を壁面又は他の鉛直に伸びる表面に対して押し付けることができる。清掃パッド１２０の位置は、更に、ロボット１００が壁追従動作で、ある期間移動している間、清掃パッド１２０の延長した縁端によって、清掃パッド１２０が表面又は他の鉛直に伸びる表面を清掃することを可能にする。清掃パッド１２０の延長は、ロボット本体１０２の到達範囲を超えた隙間又は裂け目内でロボット１００が清掃を行うことを可能にする。本明細書に記載されるように、ロボット１００が、部屋の側面（例えば、壁面２０）に沿って壁追従パターン又は挙動を開始するときに、清掃パッド１２０は、ごみが壁−床間の境界３０に沿って清掃パッド１２０によって拾い上げられるように、壁面２０に対して押され得る
【００３７】
図１Ｄを参照すると、一例として、清掃パッド１２０は、吸収層１５２、外部ラップ層１５４、及びカード裏打ち１５６を備える。パッド１２０は、吸収層１５２がパッド１２０の両端部で露出され、パッド１２０の全長で液体吸収及び清掃で利用できるように、むき出しにカットされた端部１５８を有する。吸収された清掃液は、清掃液が清掃パッド１２０からしたたることがないように、吸収層１５２によってしっかりと保持される。いくつかの場合には、清掃パッド１２０は、使い捨てである。他の場合には、清掃パッド１２０は、耐久性のあるプラスチック裏打ちを有する、再利用可能な（例えば、洗濯機で洗うことができる）マイクロファイバ布地パッドである。
【００３８】
図１Ｅを参照すると、清掃パッド１２０は、パッドホルダ１６０によってロボット１００の底部に固定されても良い。パッドホルダ１６０は、カード裏打ち１５６をつかむことによって、清掃パッド１２０を規定の位置にしっかりと保持する。清掃パッド１２０は、パッドホルダ１６０に２つの同じ方向（１８０度互いに反対の方向）のいずれかから取り付けることができる。パッドホルダ１６０は、トグルボタン１３６（図１に示される）を用いてパッド解放機構１６２が作動されたときに、清掃パッド１２０を解放することができる。
【００３９】
図１Ｆ〜図１Ｈを参照すると、柱１６４が、バンパ１１０のバンパシャーシ１７１をロボット本体１０２に取り付ける為にロボット本体１０２を横断している。バンパシャーシ１７１は、（例えば、ファスナを用いて）バンパ１１０に固定されている。図１Ｇを参照すると、柱１６４は、ロボット本体１０２によって規定される開口１６６に挿入されている。柱１６４は、その長さ方向に沿って変化する断面径サイズを有していても良く、また、ロボット本体１０２によって規定される開口１６６にフィットようにサイズが合わされていても良い。柱１６４は、柔軟性のある材料（例えば、エラストマー又は他の弾力性のある材料）で作れられていても良い。柱１６４の材料は、バンパ１１０、したがってバンパシャーシが、バンパ１１０と環境内の障害物、又は、鉛直に向けられ又は伸びる表面との接触により、ロボット本体１０２に対して移動することを可能にする。
【００４０】
図１Ｈを参照すると、ロボット１００は、ロボット本体１０２に対するバンパ１１０の動きを検出する為の左センサアセンブリ１１２Ｌ及び右センサアセンブリ１１２Ｒを備える。いくつかの実施において、中央センサアセンブリ（本明細書に記載される）等の、追加のセンサアセンブリが備えられていても良い。いくつかの実施において、左及び右センサアセンブリ１１２Ｌ、１１２Ｒは、リニアセンサを備える。いくつかの実施において、リニアセンサは、印加された力に対し少なくとも限定された範囲にわたりリニアな応答を有する。いくつかの実施において、応答は、印加された力の全範囲でリニアであっても良く、他方、他の実施においては、応答は、印加された力に対する限定された範囲のみでリニアであっても良い。他の実施においては、非線形センサが用いられても良く、非線形センサからの信号は、例えば、信号の大きさに対する印加された力の推定値を演算する為にロボットのコントローラによって再マッピングすることができる。例示的なリニアセンサは、ホール効果センサ、容量性センサ、又は誘導性センサを含む。好適なタイプのリニアセンサが用いられても良い。以下の例は、磁界に応答してその出力電圧が変化するトランスデューサであり得るホール効果センサの使用を取り扱う。ホール効果センサは、磁界に応じて直接的にアナログ電圧信号を応答するアナログトランスデューサとして動作することができる。既知の磁界を用いて、ホールプレートからの距離が決定され、磁石に対する相対的な位置は、測定された電圧に基づいて推定することができる。
【００４１】
図１Ｆを参照すると、バンパシャーシ１７１は、左側磁石１７０Ｌが搭載され収容される左台座又は柱１６８Ｌを備える。左側磁石１７０Ｌは、上述の左バンパセンサアセンブリ１１２Ｌの一部を構成する。バンパシャーシ１７１は、また、右バンパセンサアセンブリ１１２Ｒの為の右側柱１６８Ｒ及び右側磁石１７０Ｒを備える。磁石１７０Ｌは、磁石１７０Ｌがロボット１００のロボット本体１０２に対して移動することを可能にするバンパシャーシ１７１の柱１６８Ｌに連結されていても良い。
【００４２】
図１Ｈを参照すると、本例において、プラットフォーム１７２がロボット本体１０２に固定される。バンパ１１０がロボット本体１０２に対して移動するときに、バンパ１１０に固定されたバンパシャーシ１７１もまた、プラットフォーム１７２に対して移動する。バンパシャーシ１７１は、（例えば、環境内の障害物との接触による力に応答した）バンパ１１０の動的な応答を減衰させる為、バンパの運動エネルギーを分散させる為、及び機械的なショックを吸収する為に、弾性の有る柱１６４に取り付けることができる。
【００４３】
いくつかの実施において、プラットフォーム１７２は、左ホール効果センサ１７６Ｌ及び模擬ホール効果センサ１７６Ｒを有する回路基板１７４を備える。いくつかの実施において、バンパセンサアセンブリ１１２Ｌ、１１２Ｒは、ロボット本体１０２に取り付けられた第１の構成部品（センサ１７６Ｌ，１７６Ｒ）、及び、バンパシャーシ１７１を経由してバンパ１１０に取り付けられた第２の構成部品（磁石１７０、１７０Ｒ）を備える。図１Ｃに戻って、左バンパセンサアセンブリ１１２Ｌは、ロボット本体１０２に連結された左側センサ１７６Ｌと、バンパシャーシ１７１を介してバンパ１１０の左側部１１０Ｌに連結された左側磁石１７０Ｌとを備える。右バンパセンサアセンブリ１１２Ｒは、ロボット本体１０２に連結された右側センサ１７６Ｒと、バンパシャーシ１７１を介してバンパ１１０の右側部１１０Ｒに連結された右側磁石１７０Ｒとを備える。左側センサ１７６Ｌは、（図１Ａに示すように）ロボット本体１０２の左側１０２Ｌ上に又はその近くで且つ左側磁石１７０Ｌの上部に位置付けられる。右側センサ１７６Ｒは、ロボット本体１０２の右側１０２Ｒ上に又はその近くで且つ右側磁石１７０Ｒの上部に位置付けられる。ホール効果センサ１７６Ｌ、１７６Ｒは、例えば、磁石１７０Ｌ、１７０Ｒによって生成された磁界のような、近くの磁界に応答して電圧を生成する。
【００４４】
左右のバンパセンサアセンブリ１１２Ｌ、１１２Ｒの構成は、左右のセンサ１７６Ｌ、１７６Ｒがセンサ１７６Ｌ、１７６Ｒに対する磁石１７０Ｒ、１７０Ｌの動きを検出することを可能にする。磁石１７０Ｒ、１７０Ｌは、磁石１７０Ｒ、１７０Ｌがセンサ１７６Ｒ、１７６Ｌから離れ又はそれらに近付くときに、センサ１７６Ｒ、１７６Ｌの位置で変化する磁界を生成する。左右のセンサ１７６Ｌ、１７６Ｒは、左右のセンサ１７６Ｌ、１７６Ｒそれぞれに対する左右の磁石１７０Ｌ、１７０Ｒの動きに応答して電圧を次々に発生する。電圧は、磁界の変化に対してリニアに変化する。したがって、センサ１７６Ｌ、１７６Ｒは、バンパ１１０が押し込まれる程度に基づいて変化するアナログ応答信号を提供する。磁石１７０Ｌ、１７０Ｒが、それぞれのセンサ１７６Ｌ、１７６Ｒから遠くに移動すると、センサ１７６Ｌ、１７６Ｒの位置での磁界の強さは弱まり、よって、センサ１７６Ｌ、１７６Ｒは、より低い電圧を生成する。それとは対照的に、磁石１７０Ｌ、１７０Ｒがそれぞれのセンサ１７６Ｌ、１７６Ｒに近付いていくと、センサ１７６Ｌ、１７６Ｒの位置での磁界の強さは増加し、よってセンサ１７６Ｌ、１７６Ｒは、より大きな電圧を生成する。センサ１７６Ｌ、１７６Ｒは、ロボット本体１０２に連結され、磁石１７０Ｌ、１７０Ｒは、バンパ１１０に連結されているので、センサ１７６Ｌ、１７６Ｒによって生成されるアナログ電圧は、バンパ１１０の部屋内での障害物、例えば壁、との接触による、ロボット本体１０２に対するバンパ１１０の動きに対応している。例えば、壁とバンパ１１０との間の摩擦力は、バンパ１１０を、非押圧位置と部分的押圧位置との間で移動させ、ホール効果センサに、壁とバンパとの間の摩擦によりバンパが経験する押圧の大きさにしたがってリニアに変化する電圧を登録させる。更に詳細には、センサ１７６Ｌ、１７６Ｒからの信号（例えば、センサ１７６Ｌ、１７６Ｒの電圧）は、ロボット本体１０２に対するバンパ１１０の動きにしたがってリニアに変化する。
【００４５】
センサ１７６Ｌ、１７６Ｒは、ホール効果センサであるとして記載されてきたけれども、いくつかの実施において、センサは、バンパセンサアセンブリが容量センサによって感知されたキャパシタンスの変化に基づいて動作する容量性センサであっても良い。例えば、容量性プレートで磁石１７０Ｌ、１７０Ｒを置き換えることができ、対応の容量性プレートのペアは、ホール効果センサ１７６Ｌ、１７６Ｒを置き換えることができる。左右のプレートのペアのキャパシタンスは、例えば、ＲＣ（抵抗−容量）時定数を測定することによって、電気的結合を動的に測定する様々な技術を個別に用いて測定することができる。左右のペアのキャパシタンスは、容量性プレートからの容量性センサの距離にリニアに依存して変化し得る。他の実施において、センサ１７６Ｌ、１７６Ｒは、誘導性センサである。この場合には、回路基板上の容量性プレートは、インダクタとして機能するらせんのＰＣＢ（プリント回路基板）トレースで置き換えることができる。バンパシャーシ１７１は、（磁石１７０Ｌ、１７０Ｒの代わりに）らせんトラースを通過するコア材を備えることができる。バンパ１１０が押圧されると、らせんトレースを横断するコア材の量は変化し、インダクタンスの変化を生じさせる。これらのトレースのインダクタンスは、例えば、発振回路を用いて、ＬＲ（誘導性−抵抗性）又はＬＲＣ(誘導性−抵抗性−容量性)時定数を動的に測定することで、誘導性結合を測定することによって測定することができる。
【００４６】
左右のセンサアセンブリ１１２Ｌ、１１２Ｒが記載されてきたけれども、いくつかの実施において、ロボットは、追加として及び／又は代替として、ロボットの左側部とロボットの右側部の間に配置される前部センサアセンブリを備えていても良い。前部センサアセンブリは、ロボットの前方部に隣接して配置されていても良く、また、例えば、右方向Ｒ及び左方向Ｌにおけるバンパの動きに応じた信号を生成することができる。前部センサアセンブリは、バンパへの横方向の力を検出することができる。
【００４７】
磁石１７０Ｒ、１７０Ｌはバンパ１１０に固定されると記載され、センサ１７６Ｌ、１７６Ｒはロボット本体１０２に固定されるときさいされてきたけれども、いくつかの実施において、センサはバンパに固定され、磁石はロボット本体に接続されても良い。このような実施においては、センサ及び磁石は、磁界をセンサの位置で変化させるように、互いに移動することができる。
【００４８】
図２Ａ、２Ｂ及び２Ｃに示されるように、バンパ１１０のニュートラル位置１１０Ｎが破線で示されている。ニュートラル位置１１０Ｎは、ロボット本体１０２に対してバンパ１１０を移動させる（押し込まれる）ように力がバンパ１１０に加わる前のバンパ１１０の位置に対応する。本明細書にさらに詳細に記載されるように、ニュートラル位置１１０Ｎは、一つの清掃動作から別の清掃動作へと変化することができる。清掃動作中に、ロボット１００は、ニュートラル位置１１０Ｎがバンパ１１０の非押圧状態として解釈されるように、ニュートラル位置１１０Ｎをキャリブレートすることができる。バンパ１１０の押圧は、互換的に、バンパ１１０の後方への平行移動と記すこともできる。バンパ１１０を表す図２Ａ、２Ｂ及び２Ｃにおける実線は、力がバンパ１１０をロボット本体１０２に対して移動させた後のバンパ１１０の位置に対応する。
【００４９】
バンパ１１０は、バンパ１１０上の力の方向及び位置（例えば、バンパ１１０と接触する障害物の相対的な方向及び相対的な位置）に依存して移動し得る。図２Ａを参照すると、左側部１１０Ｒ及び右側部１１０Ｌが後方向Ａに移動すると、バンパ１１０は、ロボット本体１０３に対して後方向Ａに平行移動する。ロボット１００が前方向Ｆに移動する際のバンパ１１０の前方部１１０Ｆと壁面２０などの障害物との接触は、バンパ１１０の後方向Ａへの平行移動を生じさせる。図２Ｂを参照すると、ロボット１００がロボット本体１０２の左側で障害物に遭遇すると、バンパ１１０は、右側部１１０Ｒよりも左側部１１０Ｌでより大きく押し込まれる。左側部１１０Ｌは、右側部１１０Ｒが左側部１１０Ｌよりも小さく押し込まれるように右側部１１０Ｒが前方向Ｆ又は後方向Ａに移動する間、後方向Ａに移動する。バンパ１１０は、例えば、清掃パッドの前方部がロボット本体１０２と一直線に合わされるように、後方向Ａに平行移動し、ロボット本体１０２に対して反時計回りに回転する。ロボット１００が前方向Ｆに移動するときのバンパ１１０の左側部１１０Ｌと壁面２０との接触は、例えば、左側部１１０Ｌと壁面２０との摩擦の為に、バンパ１１０の時計回りの回転及び後方への平行移動を生じさせる。図２Ｃを参照すると、ロボット１００がロボット本体１０２の右側で障害物に遭遇すると、バンパ１１０は、左側部１１０Ｌよりも右側部１１０Ｒでより大きく押し込まれる。左側部１１０Ｌが右側部１１０Ｒよりもより小さく押し込まれるように、左側部１１０Ｌが前方向Ａ又は後方向Ｆに移動する間に、右側部１１０Ｒは後方向Ａに移動する。バンパ１１０は、例えば、清掃パッドの前方部がロボット本体１０２に対して角度をつけられるように、ロボット本体１０２に対して後方に平行移動し時計回りに回転する。ロボット１００が前方向Ｆに移動する際のバンパ１１０の右側部１１０Ｒと壁面２０との間の接触は、例えば右側部１１０Ｒと壁面２０との摩擦の為に、バンパ１１０の時計回りの回転及び後方への平行移動を生じさせる。図１Ｈを参照すると、左右のバンパセンサアセンブリ１１２Ｌ、１１２Ｒは、図１Ａ〜図１Ｃを参照して上述したように、左側部１１０Ｌ及び右側部１１０Ｒの動きを検出することができる。言い換えると、左右のバンパセンサアセンブリ１１２Ｌ、１１２Ｒは、バンパ１１０の左側部１１０Ｌ及び右側部１１０Ｒの押圧を検出するように構成されている。
【００５０】
バンパ１１０は鉛直面（例えば、壁）等の障害物と接触すると記載されてきたけれども、移動する為の環境内において、いくつかの実施では、バンパ１１０は、清掃パッドと環境内での表面との接触により移動しても良い。
【００５１】
本明細書に記載される例示的なロボットは、パターンに従うことによって又は表面をランダムに横断することによって、表面を横断することができる。ロボットの例示的な移動挙動は、壁追従パターン及びエリアカバレッジパターンを含む。例えば、壁追従パターンは、直線動作パターンであっても良く、エリアカバレッジパターンは、つる状（vine）パターン、コーンロー型（cornrow）パターン、又はこれらのパターンの組み合わせであっても良い。他のパターンもまた可能である。
【００５２】
概して、直線動作パターンにおいて、ロボット１００は、壁などの鉛直な縁端によって規定される障害を追従する直線経路内を移動することができる。概して、直線動作パターンは、壁追従挙動に対応する。鳥の足跡パターンの連続的且つ繰返しの使用は、つる状パターン又はつる状伸びパターンとも称される。つる状パターンにおいて、ロボット１００は、ロボット１００が、概ね前方への軌跡に沿って漸次前進する間にロボット１００が前後に移動する鳥の足跡パターンの繰返しを実行する。鳥の足跡パターンの各繰返しは、ロボット１００を概ね前方の軌跡に沿って前進させ、鳥の足跡パターンの繰返しの実行は、ロボット１００が概ね前方の軌跡に沿って床面上で横断することを可能にする。コーンロー型パターンにおいて、ロボット１００は、床面を横断する概ね平行な一連の列を形成する為に、ロボット１００が部屋の各横断間でパターンの縦の移動に対して垂直にわずかに移動するように、部屋内を前後に移動する。ロボット１００は、ロボット１００が部屋を横断するときにつる状及びコーンロー型のパターンを使用し、ロボット１００が部屋の周縁又は部屋内の物の縁端を移動するときに直線動作パターンを使用する移動動作を実行することができる。
【００５３】
図３Ａを参照すると、一つの例において、ロボット１００は、清掃液１２４が塗布される床面１０上の足跡エリアＡＦを通して、上述の鳥の足跡パターンで移動する。描写された鳥の足跡パターンは、ロボット１００を、（ｉ）中心軌跡３００に沿って前方向Ｆ及び逆方向Ａに、（ｉｉ）左軌道３１０に沿って前方向Ｆ及び逆方向Ａに、及び（ｉｉｉ）右軌道３０５に沿って前方向Ｆ及び後方向Ｆに移動させることを含む。左軌道３１０及び右軌道３０５は、中央軌道３００上のスタート地点から外側に弧状に延びる、弓形の軌道である。左軌道３１０及び右軌道３０５は弓形の軌道であると説明し図示したが、別の実施例においては、左軌道及び右軌道は、中央軌道から外側に延びる直線軌道であり得る。
【００５４】
図３Ａに示す例においては、ロボット１００は、位置Ａから中央軌道３００に沿って前方向Ｆに移動する。ロボット１００は、次いで、液体塗布によって覆われるべき距離以上の距離を、中央軌道に沿って後方向Ａに移動する。例えば、ロボット１００は、中央軌道３００に沿って少なくとも一ロボット長さＬＲだけ後退して位置Ｃまで移動する。位置Ｃは、位置Ａと同位置であってもよい。ロボット１００は、ロボット１００の足跡領域ＡＦと実質同一かそれ以下の領域に清掃液１２４を塗布する。ロボット１００が壁２０まで戻る際に、清掃パッド１２０は清掃液１２４上を通過し床面１０を清掃する。位置Ｂから、ロボット１００は後退し、それぞれ位置Ｅ又は位置Ｃに移動する前に、左軌道３１０又は右軌道３０５に沿ってそれぞれ位置Ｆ又は位置Ｄに向かう。いくつかの場合においては、位置Ｃ、Ｅは、位置Ｂに相当し得る。ロボット１００は、次いで移動を継続し、残りの軌道を完了させることができる。中央軌道３００、左軌道３１０、及び右軌道３０５に沿って前後に移動する度に、清掃パッド１２０は塗布された清掃液１２４上を通過し、埃、デブリ、及び他の粒子状物質を床面１０からこすりとり、床面１０から汚れた液体を吸い取る。清掃液１２４の溶剤的性質と組み合わされた清掃パッド１２０のこすり動作により、乾燥したシミや汚れが分解されほぐされる。ロボット１００によって塗布された清掃液１２４は、清掃パッド１２０がほぐされたデブリを吸収し床面１０から取り除くよう、ほぐされたデブリを浮き上がらせる。
【００５５】
図３Ｂを参照すると、ロボット１００は、部屋の床面１０をカバーする為に上述のつる状パターン及びコーンロー型パターンの組合せを実行し、経路３２５に追従して部屋３２０を走行する。コーンロー型パターンの各列は、隣接する列から距離Ｄだけ間隔を置かれる。この例において、ロボット１００は、清掃液１２４の使用が必要な清掃モードで動作しており、ロボット１００は、経路３２５上でロボットの前方に清掃液１２４を噴出する。ロボット１００は、各コーンロー型パターンの長さに沿って鳥の足跡パターンの繰返しを含むつる状パターンを実行することにより、経路３２５に沿って前進する。本明細書に記載されるように、各鳥の足跡パターンでは、ロボット１００は、最後には、その最初の位置に対して概ね前方向である位置にある。
【００５６】
経路３２５は、ロボット１００が部屋の領域３２６を清掃することを可能にするが、経路３２５のつる状及びコーンロー型パターンは、部屋の領域３２７を清掃し損ねることを生じさせ得る。例えば、狭い廊下である領域３２７は、幅Ｗを有する。いくつかの場合には、領域３２７の幅Ｗは、コーンロー型パターンの列間の距離Ｄの２倍未満である。その結果、ロボット１００がコーンロー型パターンを実行するとき、ロボット１００は、領域３２７に入ることなく、壁２０に接触し、したがって、コーンロー型パターンを単に用いることでは領域３２７を清掃することはできないであろう。本明細書に記載されるように、いくつかの実施において、ロボット１００は、壁追従ルーチンに基づいて部屋３２０の残り部分から領域３２７を分ける、約２つのロボット幅より小さい幅を有する出入口３２８又は他の狭い領域を検出することができる。
【００５７】
壁追従挙動は、ロボット１００が、壁／床境界を清掃すること（例えば、図１の壁−床境界３０）、部屋のコーナーを清掃すること、及び領域３２７などの壁面２０に隣接する未清掃の領域を清掃することを可能にする。図３Ｃを参照すると、コーンロー型及びつる状パターンを用いて実行されたエリア清掃に続いて、ロボット１００は、部屋の周囲を清掃する為に壁追従を実行することができる。ロボット１００は、ロボット１００に加わる比較的均一な力で及び僅かな角度で壁面２０と密着し続けることによって直進パターンを実施して、経路３５０に追従する。ロボット１００は、清掃液１２４を用いる清掃モードで動作しているので、ロボット１００は、経路３５０に沿ってロボット１００の前方に清掃液１２４を塗布する。いくつかの例において、僅かな角度で壁面に接触することは（例えば、ロボットの縁端及び壁は互いに平行ではない）、壁まで部屋全体が清掃パッドで清掃されるように、壁面に対して清掃パッドの一部を押し付けるという有利さを提供することができる。いくつかの例において、僅かな角度で壁面に接触することは、ロボットの前方向への動きを妨げるようにロボットと壁面間での接触及び摩擦を生じさせることなく、ロボットが（例えば、壁まで伸びるパッドによって）壁に対して位置付けられるとロボットが判定することを可能にするという有利さを提供することができる。
【００５８】
本明細書に記載されるように、壁追従テクニックは、ロボット１００が、図３Ｂの経路御３２５に沿ったコーンロー型及びつる状挙動でミスされたエリアを清掃することを可能にすることができる。いくつかの場合には、コーンロー型及びつる状挙動を単に実行することは、例えば、障害物、部屋の幾何学的な特徴、及びロボット１００の幾何学的な特徴により、ロボットが部屋のある領域を無視することを生じさせ得る。ロボット１００が壁面２０を追従するとき、ロボット１００は、部屋３２０の領域３２７に入ることができ、ロボット１００のコントローラは、以前に実行されたコーンロー型及びつる状パターンの間にロボットが領域３２７を清掃しなかったと判定することができる。いくつかの場合には、領域３２７を発見すると、ロボット１００は、領域３２７内で、続くコーンロー型及びつる状パターンを実行しても良い。他の場合には、ロボット１００は、壁追従を実行し、コントローラは、領域３２７の壁２０についての壁追従は、領域３２７の床面を清掃するのに十分であると判定することができる。
【００５９】
図３Ｄを参照すると、他の例において、ロボット１００は、障害物３７５を有する部屋３２７を走行する。ロボット１００は、部屋３２７の領域３８２を清掃する為に経路３８０を追従することにより、部屋３２７を通して、コーンロー型パターンといった、エリア清掃パターンを実行する。しかしながら、障害物３７５（例えば、トイレ）との接触の為に、経路３８０の列３８０ａ、３８０ｂは他の列よりも短く、よって、ロボット１００は、領域３８４を清掃しない。したがって、ロボットがアクセスすることのできる、障害物の向こう側の又は障害物で覆い隠された領域（例えば、領域３８４）は、エリア清掃挙動中は、横断されないままである。
【００６０】
ロボット１００がコーンロー型及びつる状経路３８０を完了した後、図３Ｅを参照すると、ロボット１００は、例えば、部屋３７２の壁２０に近づき、経路３９０を追従することによって、領域３８４の周囲に沿って壁追従を実行する。ロボット１００は、部屋３７２の壁２０に沿って清掃を行う為にロボットが壁２０と密着するときに、平均バンパ度合を特定の範囲内に維持することによって、壁２０との接触を維持する。経路３９０は、ロボット１００が、コーンロー型及びつる状パターンではロボット１００が到達できなかった、障害物３７５の後側を清掃することを可能にする。
【００６１】
いくつかの場合には、領域３８４は、領域３８４内での続くコーンロー型及びつる状パターンの実行を保証するのに十分に大きくても良い。ロボット１００が壁２０に沿って清掃を行うとき、ロボット１００は、壁２０によって定義される境界がロボット１００がコーンロー型パターンを実行するときにコントローラによって決定される境界にマッチしなくてもよいと認識することができる。ロボット１００は、次に、障害物３７５を見つけるように進行し、障害物パターン３９１を追従することによって障害物３７５の周りを清掃する。ロボット１００は、ロボットが障害物３７５と床面１０との間の境界を清掃することができるように、障害物３７５によって定義される側面に沿って壁追従挙動を実施する。
【００６２】
コーンロー型及びつる状パターンを用いるとき、ロボットは、ロボットの幅よりもほんの僅か大きい廊下（例えば、１〜１．２倍大きい、１．２〜１．４倍大きい、１．４〜１．６倍大きい、１．６〜１．８倍大きい、１．８〜２．０倍大きい）に入り損ね得る。ここで図３Ｆ〜図３Ｈを参照すると、別の例では、ロボット１００は、出入口３９５で分離された第１の部屋３９３と第２の部屋３９４とを有する環境３９２を清掃する。第２の部屋３９４は、ロボット１００がコーンロー型及びつる状パターンを実行することを保証するのに十分に大きい。図３Ｆに示されるように、ロボット１００は、第１の部屋３９３を清掃する為に、例えば、コーンロー型及びつる状パターンのエリアカバレッジパターン３９６を実行する。エリアカバレッジパターン３９６を用いて、ロボット１００は、出入口３９５及び第２の部屋３９４を清掃し損ねる。なぜならば、ロボット１００がエリアカバレッジパターンの列３９６ａを実行するときに、ロボット１００は環境３９２の壁面２０に接触し、第２の部屋３９４に出入口３９５を通って入ることができないからである。コーンロー型パターンの各列は隣接の列から、約ロボット１００の幅である距離ＤＲだけ、間隔をあけられている。出入口３９５は、幅ＷＤである。いくつかの場合には、幅ＷＤは、距離ＤＲの２倍未満である。図３Ｇに示されるように、ロボット１００は、第１の部屋３９３内でエリアカバレッジパターン３９６を完了すると、壁追従パターン３９７を実行する。ロボット１００は、壁追従パターン３９７に続いて、出入口３９５を通して進行することができ、第２の部屋３９４へのアクセスを得ることができる。ここで図３Ｈを参照すると、第２の部屋３９４は、ロボット１００が第２の部屋３９４を清掃する為にエリアカバレッジパターンを実行することができるだけ十分に大きい。ロボット１００は、図３Ｇに示されるように壁追従パターン３９７を用いて第２の部屋３９４へのアクセスを得ると、第２の部屋３９４を清掃する為にエリアカバレッジパターン３９８を実行する。
【００６３】
図４を参照すると、ロボット１００の制御システム４００の例は、駆動装置４１０、清掃システム４２０、バンパセンサシステム４３５を有するセンサシステム４３０、挙動システム４４０、ナビゲーションシステム４５０及びメモリ４６０を動作させる制御回路４０５（以下、コントローラとも記す）を備える。
【００６４】
駆動装置４１０は、ｘ、ｙ、θ成分を有する駆動コマンドに基づいて床面上でロボットを動かす為の車輪（例えば、図１Ｂに示される車輪１２１）を備えることができる。駆動装置４１０の車輪は、床面上でロボット本体を支持する。コントローラ４０５は、更に、床面上でロボット１００を操縦するように構成されたナビゲーションシステム４５０を動作させることもできる。ナビゲーションシステム４５０は、メモリ４６０に格納された移動パターン又は挙動を選択することができる挙動システム４４０にその移動コマンドの基礎をおいている。ナビゲーションシステム４５０は、また、駆動コマンドを決定し駆動装置４１０に発行する為に、衝突センサ、加速度計、及びロボットの他のセンサを用いるセンサシステム４３０と通信する。
【００６５】
センサシステム４３０は、追加として、３軸加速度計、３軸ジャイロスコープ、及び車輪（例えば、図１Ｂに示された車輪１２１）用のロータリエンコーダを備え得る。コントローラ４０５は、ｘ、ｙ方向におけるドリフトを推定する為に３軸加速度計からの、感知された線形加速度を利用することもでき、ロボット１００の進路又は方向におけるドリフトを推定する為に３軸ジャイロスコープを利用することもできる。したがって、コントローラ４０５は、ロボット１００の概略の姿勢（例えば、位置及び方向）の推定値を生成する為に、ロータリセンサ、加速度計、及びジャイロスコープによって収集されるデータを組み合わせることができる。いくつかの実施において、ロボット１００は、ロボット１００がコーンロー型パターンを実施するときにロボット１００が概ね平行な列に留まるように、エンコーダ、加速度計、及びジャイロスコープを用いることができる。ジャイロスコープ及びエンコーダは、環境内でロボット１００の位置を判定するようデッドレコニングアルゴリズムを実行する為に、コントローラ４０５によって追加として、一緒に、使用され得る。センサシステム４３０は、また、車輪１２１（図１Ｂ参照）の為の電流センサ１２３を備える。コントローラ４０５は、各車輪１２１に伝達されている電流の量を判定し車輪１２１の速度を判定する為に電流センサ１２３からの検出された電流を用いることができる。
【００６６】
コントローラ４０５は、例えば、所定の期間、所定の周波数のスプレーコマンドを始動させる為に、清掃システム４２０を動作させる。スプレーコマンドは、メモリ４６０に保存されたスプレーセケジュールにしたがって発行され得る。コントローラ４０５は、床面を擦るために清掃パッド１２０を振動させるように、清掃システム４２０を動作させることができる。
【００６７】
センサシステム４３０のバンパセンサアセンブリ４３５は、バンパ１１０の環境内の障害物との接触を検出するバンパセンサアセンブル１１２Ｌ、１１２Ｒを備える。コントローラ４０５は、バンパセンサアセンブリ１１２Ｌ、１１２Ｒによって生成された電圧を解釈することによって、バンパセンサシステム４３５を実現することができる。
【００６８】
再び図２Ａ〜図２Ｃを参照すると、ロボット１００は、バンパセンサシステム４３５からの信号を用いて、バンパ１１０左側部１１０Ｌが押圧された度合い（以下、左側バンパ度合と記す）、及びバンパ１１０の右側部１１０Ｒが押圧された度合い（以下、右側バンパ度合と記す）を判定することができる。他の場合には、バンパセンサシステム４３５は、左側部１１０Ｌ及び右側部１１０Ｒの両方が、図２Ａに示されるようにロボット１００の前方向Ｆにおける障害物との接触を示し得る押圧状態であることを感知することができる。左側バンパ度合及び右側バンパ度合は、バンパ１１０の押圧状態とバンパ１１０の非押圧状態の間の押圧量であっても良い。
【００６９】
図１Ｈを再び参照すると、センサ１７６Ｌ、１７６Ｒに対する磁石１７０Ｌ、１７０Ｒの位置は、バンパ１１０が押圧されるときに、磁石１７０Ｌ、１７０Ｒがセンサ１７６Ｌ、１７６Ｒに対して移動するように、セットすることができる。その結果、センサ１７６Ｌ、１７６Ｒによって生成される電圧は、バンパ１１０が押圧されるにしたがって変化する。特に、センサ１７６Ｌ、１７６Ｒによって生成される電圧は、磁石１７０Ｌ、１７０Ｒが、センサ１７６Ｌ、１７６Ｒを収容するバンパシャーシ１７１を備えるバンパ１１０の押圧の為にセンサ１７６Ｌ、１７６Ｒに近付くにしたがって増加する。このように、左側及び右側バンパ度合は、生成された電圧にリニアに比例する。ロボット１００のコントローラ４０５は、左側バンパ度合及び右側バンパ度合を割合として正規化しても良く、左側バンパ度合及び右側バンパ度合の平均バンパ度合を求めても良い。各清掃動作について、コントローラ４０５は、０％がバンパの非押圧状態に対応し、１００％が押圧状態に対応するように、左側バンパ度合及び右側バンパ度合をキャリブレートすることもできる。負の割合は、バンパ１１０の延長を示していても良い。本明細書に記載されるように、制御システム４００は、ロボット１００が壁又は他の障害物（浴室固定物など）を追跡し、床面と壁面の境界によって規定される到達困難なコーナーや裂け目を清掃することを可能にする壁追従挙動を実施する為に、バンパセンサアセンブリ４３５及び検出された左及び右側バンパ度合を利用することができる。例えば、壁に追従しているとき、ロボット１００のバンパ１１０は、バンパ１１０と壁との摩擦の為に部分的に押圧されるであろう。ロボット１００は、ほぼ一定の押圧を維持する為のロボットの回転及び並進速度を連続的に調整する為に、バンパ押圧の度合い及び左及び右側バンパ押圧間の相違を維持することによって、壁との接触を維持することができる。
【００７０】
他の場合には、ロボット１００は、左側バンパ度合と右側バンパ度合との相違を演算することができる、正の相違は、左側バンパ度合が右側バンパ度合よりも大きいことを示し、負の相違は、右側バンパ度合が左側バンパ度合よりも大きいことを示す。ロボット１００が、バンパ１００の左側部１１０Ｌが壁面２０ａと隣接するように壁追従を実行しているとき、ロボット１００は、相違が、例えば、０％〜１０％、５％〜１５％、４％〜２０％といった範囲内にあるように維持することができる。ロボット１００が、バンパ１００の右側部１１０Ｒが壁面２０ａと隣接するように壁追従を実行しているとき、ロボット１００のコントローラ４０５は、駆動装置４１０に駆動コメンドを送信することにより、相違が、例えば、−５％〜−１５％、−１０％〜０％、−２０％〜−４％といった範囲内にあるように維持することができる。コントローラ４０５は、左側バンパ度合及び右側バンパ度合の平均値を交互に決定することができる。
【００７１】
メモリ４６０には、本明細書に記載される、正規化された平均バンパ度合に関連する閾値及び制限値を読み込むことができる。メモリ４６０には、また、ロボット１０の製造中に実行された静的キャリブレーション結果を読み込むこともできる。静的キャリブレーションは、ロボットが記述された動的キャリブレーションが有効と考える範囲を定義することもできる。いくつかの例において、ロボットが繰返し使用されるときに、バンパを保持する柱の位置は少しの量だけ変化するであろう。このような変化を相殺するために、キャリブレーション処理が、バンパの非押圧位置及び関連のセンサ読取り値が変化したか否かを判定する為に用いられ得る。このキャリブレーションは、各清掃ミッションの前にロボットを起動させると実行され得る、及び／又は、清掃中に５〜１０秒おきに動的に実行され得る。
【００７２】
図１Ａ、図３Ｃ及び図４を再び参照すると、ロボット１００は、ロボット１００が壁面２０と密接に境界を接する床面１０を清掃することを可能にする特定の処理を実施することができる。コントローラ４０５は、ロボット本体１０２に平均バンパ度合の値に基づいて壁面２０を追跡させる為に、ロボット本体１０２を制御することができる。この値は、バンパセンサシステム４３５（例えば、バンパセンサアセンブリ１１２Ｌ、１１２Ｒ）によって生成される信号に基づき、また、この値は、押圧状態と非押圧状態との間の押圧範囲又は間隔内にあるようにバンパが部分的に押圧されていることを示すことができる。コントローラ４０５は、次に、（例えば、正規化されたバンパ度合に基づいて）バンパが押圧範囲又は間隔内にあるか否かを判定することができる。例えば、コントローラ４０５は、バンパが壁追従の為の閾値押圧レベル、例えば、２％〜２．５％、２．５％〜３％、３％〜３．５％、３．５％〜４％、４％〜４．５％、４．５％〜５％、５％〜５．５％、５．５％〜６％、６％〜６．５％、６．５％〜７％、７％〜７．５％に達したと判定しても良い。それから、バンパが押圧状態と非押圧状態の間の所定の範囲内（例えば、２％〜５％、２．５％〜７．５％、５％〜１０％、５％〜１５％、７．５％〜１２．５％、１０％〜１５％、５％〜２０％、１０％〜２０％）で押圧されている限り、壁追従処理が実行され続行されても良い。つまり、壁追従処理は、バンパとロボット間の力の大きさが特定の範囲内にあり続ける限り継続する。ロボット１００は、ほぼ一定のバンパの押圧を維持するようにロボット１００の回転及び並進速度を継続的に維持することによって、力の大きさを特定の範囲内に維持することができる。押圧量が上側閾値（例えば、２０％）を超えた場合、壁追従処理は終了しても良く、また、他の処理が、本明細書に記載されるように、壁追従を継続する為にパターン横断を再度設定し又は壁又は他の障害物と再度密着するように、ロボットの制御を引き継いでも良い。
【００７３】
予め規定された範囲又は間隔内で、ロボット１００のコントローラ４０５は、平均バンパ度合を維持することができ、また、いくつかの場合には、ほぼ一定の押圧を維持するように回転及び並進速度を調整することによって、左側及び右側バンパ度合間の相違を維持することができる。壁追従の間、ロボット１００は、回転することなく公称並進速度（例えば、５０ｍｍ／ｓ〜１５０ｍｍ／ｓ、１５０ｍｍ／ｓ〜２５０ｍｍ／ｓ、２５０ｍｍ／ｓ〜３５０ｍｍ／ｓ）で進行することができる。平均バンパ度合がメモリ４６０に格納された目標平均バンパ度合からそれたとき、コントローラ４０５は、ロボット１００の速度をその偏差に比例する量だけ減少させる為に、駆動装置４１０に駆動コマンドを渡すことができる。バンパ度合相違がメモリ４６０に格納された目標相違からそれたとき、コントローラ４０５は、ロボット１００の回転速度をその偏差に比例する量だけ増加させる為に駆動装置４１０に駆動コマンドを渡すことができる。いくつかの実施において、回転及び並進速度は、平均バンパ度合及びバンパ度合相違の変化率にそれぞれ比例する量だけ調整することができる。
【００７４】
いくつかの場合には、非押圧位置は、ロボット本体１０２のバンパ１１０を搭載する弾性のある柱１６４の位置変化により、一つの清掃動作から別の清掃動作へと変化するであろう。清掃動作の間、コントローラ４０５は、バンパ１１０のロボット本体１０２に対する位置の変化を相殺する為に非押圧位置を動的にキャリブレートすることができる。コントローラ４０５は、（バンパが壁面に接触していないときに）清掃動作の開始時点で、弾性のある柱１６４に対するバンパの初期位置をキャリブレートすることができる。例えば、バンパがニュートラル位置にある状態でのバンパセンサアセンブリ１１２Ｌ、１１２Ｒの電圧信号が非押圧位置に対応するように設定することができる。言い換えると、それらの電圧は、正規化された平均バンパ度合０％を示すことができる。上述のように、メモリ４６０は、正規化平均バンパ度合０％を概ね示すことができる有効電圧範囲（よって、有効キャリブレーション範囲）を含む。
【００７５】
図５Ａ〜図５Ｆは、ロボット１００が部屋の壁２０に沿って清掃するように実施される挙動の例を示している。この例において、壁面２０は、壁面２０ａと壁面２０ｂの交点である内側コーナー５００を含む。
【００７６】
図５Ａを参照すると、ロボット１００は、壁追従挙動を実行しながら内側コーナー５００に近付く。壁追従挙動の間、ロボット１００は、清掃パッドが壁面２０と床面１０との境界（例えば、図１における壁−床境界３０）を清掃することができるように、清掃パッドを壁面２０に対して配置する。ロボット１００は、ロボット１００のバンパ１１０で壁面２０ａに接触することにより壁面２０とのこのような接近を達成することができる。接触は、壁２０とバンパ１１０との間で十分な接触力を維持し、少なくともその力が維持される間は壁追従を継続するように、わずかな角度（例えば、約１度〜約１０度、約３度〜約１５度、約３度〜約２０度、約５度〜約２０度、約３度〜約１０度、約１０度〜約２０度）でなされる。本例において、ロボット１００は、清掃パッドが壁−床境界（例えば、図１における壁−床境界３０）を追従できるように、バンパ１１０の右側部１１０Ｒを用いて壁面２０ａと接触する。壁追従の為に十分な接触は、バンパと壁間の力の大きさが、バンパ１１０が部分的に押圧された所望の押圧範囲にあるとき検出される。
【００７７】
壁追従の間、ロボット１００は、平均バンパ度合が、例えば、０％〜５％、２．５％〜７．５％、５％〜１０％、５％〜１５％、５％〜２０％、７．５％〜１０％、７．５％〜１２．５％、１０％〜１５％、１０％〜２０％であり得る所定の間隔内にあるように、バンパ１１０を部分的押圧状態に維持する為に、ロボット１００自体を壁に対して位置付けることができる。いくつかの例において、この間隔の上側では、ロボット１００は、バンパ１１０を強すぎる力で壁面２０ａに押し付けるであろうし、また、ロボット１００の前方への動きを妨げ及び／又は障害物を示し得る。この間隔の下側では、ロボット１００は、清掃パッド１２０が床面１０と壁面２０ａとで規定される裂け目又はコーナーに達することを可能にするように、バンパ１１０を壁面２０ａに対して十分に強い力では押し付けないであろう。コントローラ４０５が上記の間隔を超える力を検出すると、コントローラ４０５は、ロボットを壁から離す動作を起動し、（更なる壁追従の為に）壁と再び密着するか又は壁から離れる。コントローラ４０５が上記の間隔より低い力を検出すると、コントローラは、壁との更なる接触の状態でロボットを移動させ、又はコーンロー型及びつる状パターンなどのカバレッジパターンを開始するように動作を起動しても良い。
【００７８】
図５Ｂを参照すると、この例において、ロボット１００は、バンパ１１０の前方部１１０Ｆで壁面２０ｂに接触するまで壁面２０ａに追従する。前方部１１０Ｆで壁面２０ｂに接触すると、平均バンパ度合は、壁追従の為の上側閾値バンパ度合を超えて増加し、ロボット１００がバンパ１１０の前方部１１０Ｆで表面（例えば壁面２０ｂ）を押していることを表す。正規化された平均バンパ度合の上側閾値は、例えば、７％〜８％、７．５％〜８％、８％〜９％、９％〜１０％、１０％〜１１％、１１％〜１２％、１２％〜１３％、１３％〜１４％、１４％〜１５％、１５％〜１６％、１６％〜１７％、１７％〜１８％、１８％〜１９％、１９％〜２０％である。いくつかの場合には、電流センサ１２３及び／又はエンコーダからの信号に基づいて、コントローラ４０５は、ロボット１００の車輪が所定の速度よりも遅い速度で移動していると判定し、ロボット１００はもはや壁面２０ａに沿っては進行していないと示すことができる。ロボット１００のバンパ１１０上の力は、車輪へ伝達される電流と比較した車輪の速度に基づいて推定することができる。車輪の速度を車輪に伝達される電流で割った値は、車輪への力に比例するので、コントローラ４０５は、各車輪への力を演算することができる。コントローラ４０５は、車輪と共に動作するエンコーダからの信号に基づいて車輪の速度を判定し、車輪の電流センサ１２３からの信号に基づいて車輪の電流を判定することができる。コントローラ４０５は、次に、各車輪への力を推定し、推定された力間の差を演算し、そして、その差に基づいてロボットの質量中心周りのトルクを演算することができる。コントローラ４０５は、トルクに基づいてバンパ１１０の力を演算することができる。いくつかの実施において、メモリ４６０は、バンパ１１０が鉛直に向けられた表面に接触する間コントローラ４０５が維持することができる目標力範囲（例えば、０．１Ｎ〜０．２Ｎ、０．１Ｎ〜０．３Ｎ、０．１Ｎ〜０．５Ｎ、０．５Ｎ〜１Ｎ）を含むことができる。
【００７９】
図５Ｃ、図５Ｄ、図５Ｅでは、ロボット１００は、（コーナーの他方の壁の）壁面２０ｂに沿って壁面追従挙動を再度実行しようとしている。図５Ｃを参照すると、平均バンパ度合が閾値バンパ度合を超えると、ロボット１００は、前方移動を停止することによって応答し、バンパ１１０がもはや押圧状態とならないようにする為ロボット１００が壁面２０ｂから後退するよう、ロボット１００の駆動を逆転させる。ロボット１００は、平均バンパ度合が、例えば、７．５％〜７％、７％〜６％、６％〜５％、５％〜４％、４％〜３％、３％〜２％、２％〜１％、１％〜０％、０％未満であり得る、バンパ度合の下側閾値未満へ減少するまで後退を継続することができる。平均バンパ度合が下側閾値未満に減少すると、ロボット１００は、バンパ１１０が壁面２０ｂから所定の後退距離ＢＤとなるよう、後退を続けることができる。距離ＢＤは、ロボット１００が方向転換するのに十分なスペースを持ち、壁面２０ｂに沿って壁面追従を開始するように選択され得る。いくつかの場合には、距離ＢＤは、例えば、５ｍｍ〜１０ｍｍ、１０ｍｍ〜１５ｍｍ、１５ｍｍ〜２０ｍｍ、２０ｍｍ〜２５ｍｍ、２５ｍｍ〜３０ｍｍ、３０ｍｍ〜３５ｍｍ、約１０ｍｍ、約２０ｍｍ、約３０ｍｍであり得る。コントローラ４０５は、センサシステム４３０の加速度計及び／又は車輪エンコーダによって出力される信号を用いることによって、バンパ１１０の壁面２０ｂからの距離を推定することができ、また、推定された距離を距離ＢＤと比較することができる。
【００８０】
図５Ｄを参照すると、本例において、ロボット１００は、その前方駆動方向Ｆを壁面２０ｂと実質的に平行な方向に（例えば、９０度のコーナーの場合には、以前の進行方向に垂直に）向けることができるように、壁面２０ａから離れて向きを変える。図５Ｅを参照すると、ロボット１００は、次に、壁面２０ｂへの壁追従挙動を再度行う。この時点で、ロボット１００は、平均バンパ度合が本明細書に記載される所定の間隔内になるまで、バンパ１１０の右側部１１０Ｒを壁面２０ｂに合わせ続けることができる。ここで図５Ｆを参照すると、ロボット１００が壁追従挙動を行うと、ロボット１００は、平均バンパ度合が所定の間隔内のままであるように壁に対する力を維持することによって、壁面２０ｂに沿って壁面追従挙動の実行を継続する。ロボット１００は、バンパ１１０の右側部１１０Ｒの壁面２０ｂとの接触を維持することによって、バンパ度合を増加させることができる。
【００８１】
図６Ａ〜図６Ｅは、壁面２０ｃと壁面２０ｄとの交差によって規定される外側コーナー６００を含む壁２０を清掃する為に実施される挙動の例を示している。
【００８２】
図６Ａを参照すると、ロボット１００は、壁追従挙動を実行しながら外側コーナー６００に近付く。壁追従挙動の間、ロボット１００は、清掃パッドが床面１０と壁２０間の境界（例えば、図１の壁−床境界３０）を清掃することができるように、清掃パッドを壁面２０ｃに密接して配置する。ロボット１００は、壁面２０とのこのような接近を、ロボット１００のバンパ１１０で、接線方向に又は壁面２０とバンパ１１０間のわずかな角度（例えば、約１度〜１０度、約３度〜１５度、約３度〜２０度、約５度〜約２０度、約３度〜約１０度、約１０度〜約２０度）で壁面２０ｃと接触することにより達成することができる。例えば、ロボット１００は、清掃パッドが壁−床境界を清掃することができるように、バンパ１１０の右側部１１０Ｒで壁面２０ｃと接触する。壁追従の間、ロボット１００は、平均バンパ度合が、本明細書に記載される所定の間隔内にあるように、バンパ１１０の押圧を維持することができる。この間隔より上側では、ロボット１００は、バンパ１１０を壁面２０ｃに対して強すぎる力で押すであろう。このことは、ロボット１００の前方への移動を妨げ得る。この間隔よりも下側では、ロボット１００は、床面１０と壁面２０ｃによって規定される裂け目又はコーナーに清掃パッド１２０を届かせるようには、十分に強くバンパ１１０を壁面２０ｄに押さないであろう。いくつかの実施において、より小さな力の閾値は、ノイズの相対的な影響を増加させ、ロボット１００がコーナーに密着して追従し損ねる可能性が増すであろう。
【００８３】
図６Ｂを参照すると、例示的な実施において、ロボット１００は、平均バンパ度合がもはや所定の間隔内でなくなることを検出するまで、壁面２０ｃに追従する。特に、ロボット１００は、バンパ１１０が壁面２０ｃとの接触を失い、平均バンパ度合がバンパ度合の下方閾値未満であること（例えば、バンパ１１０はもはや部分的に押圧されていないこと）を検出することができる。バンパ１１０の右側部１１０Ｒが壁面２０ｃとの接触を失うと、本例において、もはや壁面２０ｃと右側部１１０Ｒとの間の摩擦がバンパ１１０を押圧することはないので、平均バンパ度合はバンパ度合の下方閾値未満に低下する。平均バンパ度合のこの低下は、ロボット１００がもはや壁追従を行ってはいないことを示す。バンパ度合の下方閾値は、例えば、７．５％〜７％、７％〜６％、６％〜５％、５％〜４％、４％〜３％、３％〜２％、２％〜１％、１％〜０％、０％未満であり得る。バンパ１１０が接触を失ったと検出すると、ロボット１００は、前方への移動を停止することができる。
【００８４】
図６Ｃ及び図６Ｄにおいて、ロボット１００は、壁面２０ｄに沿っての壁追従挙動を再度行おうとする。図６Ｃ及び図６Ｄを参照すると、平均バンパ度合がバンパ度合閾値未満となったとき、ロボット１００は、元々追従していた壁２０ｃの方向に向かって方向転換し、バンパ１１０の右側部１１０Ｒが壁面２０ｄと密着するまでロボット１００をゆっくりと前進させることによって応答する。いくつかの実施において、平均バンパ度合がバンパ度合の下方閾値未満になったと判定すると、ロボット１００のコントローラ４０５は、ロボット１００を後方向Ａに移動させるようにロボット１００の車輪が方向を逆転するように、駆動コマンドを駆動装置４１０に発行することができる。コントローラ４０５が、例えば、車輪のエンコーダからの信号に基づいて、ロボット１００が後方向Ａに所定の距離移動したと判定した後、コントローラは、前方駆動方向Ｆが実質的に壁面２０ｄと平行となるようにロボット１００の車輪にロボット１００を方向転換させる駆動コマンドを駆動装置４１０に発行する。いくつかの場合には、駆動コマンドは、前方駆動方向Ｆが壁面２０ｄに対してわずかな角度（例えば、約１度〜約１０度、約３度〜約１５度、約３度〜約２０度、約５度〜約２０度、約３度〜約１０度、約１０度〜約２０度）を形成するように、車輪にロボット１００を方向転換させる。
【００８５】
ロボット１００が、壁面２０への壁追従挙動を再度行った後、ここで図６Ｅを参照すると、ロボット１００は、平均バンパ度合を所定の間隔内に維持することによって、壁面２０ｄに沿っての壁追従の実行を継続する。
【００８６】
図３Ｂを再び参照すると、いくつかの実施において、ロボット１００は、出入口３２８の側面にある地点３２５ａ、３２５ｂで壁面２０と密着することによって、出入口３２８を検出することができる。地点３２５ａ、３２５ｂにおいて、ロボット１００は、バンパの前部のおよそ半分のみが壁面２０と接触するように壁面２０と接触する。いくつかの場合には、バンパの前部の約２５％〜７５％、４０％〜６０％、４５％〜５５％が、壁面２０と接触する。地点３２５ａにおいて、ロボット１００のコントローラ４０５は、左バンパセンサアセンブリ１１２Ｌによって検出されたバンパ度合及び右バンパセンサアセンブリ１１２Ｒによって検出されたバンパ度合に基づいて、バンパ１１０の右側部１１０Ｒが壁面２０と密着しており、バンパ１１０の左側部１１０Ｌが壁面２０と密着していないと判定することができる。コントローラ４０５は、壁面２０が右側部１１０Ｒが壁面２０と接触する場所から左側部１１０Ｌが位置する場所までは壁面２０は続いていないと判定することができる。地点３２５ｂにおいて、ロボット１００のコントローラ４０５は、バンパ１１０の左側部１１０Ｌが壁面２０と密着しており、バンパ１１０の右側部１１０Ｒが壁面２０と密着していないと判定することができる。コントローラ４０５は、壁面２０が左側部１１０Ｌが壁面２０と接触する場所から右側部１１０Ｒが位置する場所までは壁面２０は続いていないと判定することができる。地点３２５ａ、３２５ｂでのバンパ１１０との接触に基づいて、コントローラ４０５は、地点３２５ａと地点３２５ｂとの間に、出入口３２８のような開口が存在すると判定することができる。コントローラ４０５は、地点３２５ａと地点３２５ｂとの間の距離（約２Ｄ）を演算することができ、また、出入口３２８が、２Ｄよりも小さい幅Ｗを有すると判定することができる。
【００８７】
図５Ａ、図５Ｆ，図６Ａ及び図６Ｅに示されるように、ロボット１００は、バンパ１１０の右側部１１０Ｒと壁面２０ａ及び２０ｂとの接触を維持することによって、壁面２０ａ及び２０ｂに追従する。いくつかの実施において、ロボット１００は、追加として及び／又は代替として、バンパ１１０の左部分１１０Ｌと壁面との接触を維持することによって、壁面又は鉛直に向けられた表面に追従することができる。接触は、いくつかの実施においてロボットが所定の間隔内に維持しようとするバンパ１１０の押圧を生じさせる摩擦を生成する。いくつかの実施において、清掃パッド１２０は、バンパ１１０を越えて伸びていても良く、清掃パッド１２０及びバンパ１１０は、清掃パッド１２０に作用する力がバンパ１１０に移るように構成され得る。例えば、図１Ｇを参照すると、弾性のある柱１６４は、清掃パッド１２０を機械的にバンパ１１０に接続する。その結果、清掃パッド上の摩擦力は、バンパを押しこむことができ、よって、平均バンパ度合を増加させる。
【００８８】
図７Ａ〜図７Ｄを参照すると、ロボット１００は、前方駆動方向Ｆと壁面２０ａ、２０ｂ、２０ｃ、２０ｄがわずかな角度θ（例えば、約１度〜約１０度、約３度〜約１５度、約３度〜約２０度、約５度〜約２０度、約３度〜約１０度、約１０度〜約２０度）をなすように壁面を追従することによって、バンパ１１０と壁面２０ａ、２０ｂ、２０ｃ、２０ｄ間の接触を維持しつつ、清掃パッド１２０と壁面２０ａ、２０ｂ間の接触を維持する。所定の間隔は、図５Ａ、図５Ｆ、図６Ａ及び図６Ｅを参照して記載した間隔と類似の間隔内である（例えば、０％〜５％、２．５％〜７．５％、５％〜１０％、５％〜１５％、５％〜２０％、７．５％〜１０％、７．５％〜１２．５％、１０％〜１５％、１０％〜２０％）。いくつかの場合には、所定の間隔は、清掃パッド１２０と壁面間での摩擦の量が十分であるように、図５Ａ、図５Ｆ、図６Ａ及び図６Ｅを参照して記載した場合において使用される所定の間隔よりも大きくても良い。例えば、間隔は、０％〜１％、１％〜２％、２％〜３％、３％〜４％、４％〜５％、約１％、約２％、約３％だけ、大きくても良い。清掃パッド１２０を十分に押圧する為に、ロボット１００は、ロボット１００の前方駆動方向Ｆが壁面２０ａ、２０ｂ、２０ｃ及び２０ｄとわずかな角度θをなすように自身を方向付けることができる。角度θは、前方駆動方向Ｆの一部が、清掃パッド１２０を壁面２０ａ、２０ｂ、２０ｃ及び２０ｄに向けて押し、それによって、清掃パッド１２０上でのより大きな押圧力、及び、バンパ１１０上でのより大きな摩擦力を生成させる。
【００８９】
図８を参照すると、フローチャート８００は、壁追従挙動を実施する方法の例を図示している。
【００９０】
動作８０５において、ロボットのコントローラは、壁面に追従する為の制御信号をロボットに出力する。コントローラは、ロボットがコーンロー型及びつる状挙動を完了したことを検出した後に、制御信号を出力しても良い。ロボットは、第１の表面部分及び第２の表面部分を有する壁面に追従しても良い。第１及び第２の表面部分は、図５Ａ〜図５Ｆ及び図６Ａ〜図６Ｅを参照して記載したようなコーナーを規定しても良い。いくつかの実施において、コントローラは、ロボット本体に対するバンパの位置を動的にキャリブレーションするようにプログラムされる。キャリブレーションは、ロボットがロボットのバンパを押圧するようにする鉛直に向けられた表面又は障害物と接触していると予測されないときに、壁追従に先行して生じる。測定された位置が予め規定された範囲内にない場合、ロボットのコントローラは、ロボットのバンパが障害物に接触しないことを確実にする為に、解放されたエリアにロボットを移動させる駆動コマンドを発行することができる。コントローラは、バンパにかかる意図しない力を避けるために、ロボットの動きを止める為の駆動コマンドを発行することもできる。予め規定された範囲は、上述のように、製造中に実行される静的なキャリブレーションである。動的なキャリブレーションは、壁面に追従する為にコントローラが制御信号を出力する前に発生し得る。
【００９１】
動作８１０において、コントローラは、ロボット上のリニアセンサから信号を受信する。ロボットは、ロボットのバンパが第１の壁面と接触しているように、壁追従を実施する。センサは、例えば、本明細書に記載されるバンパセンサアセンブリ１１２Ｒ、１１２Ｌであり得る。信号は、電圧、電流、周波数、又は他の電気的信号であり得る。センサは、ロボットの本体に対するバンパの動きに応答して可変信号を生成する。信号は、バンパと壁面間の接触に応答して変化し、信号は、本体に対するバンパの動きに対してリニアに変化し得る。コントローラは、ロボット上の２以上のセンサから２以上の信号を受信することができる。第１のセンサは、バンパの動きに応答して第１の信号を生成し、第２のセンサは、バンパの動きに応答して第２の信号を生成することができる。第１及び第２の信号は、バンパの動きに対してリニアに変化し得る。いくつかの例において、バンパ位置は、２つのリニアセンサ値の平均に基づいて決定される。
【００９２】
動作８１５において、コントローラは、ロッボットのバンパの押圧を示す値Ｘを判定する。値Ｘは、例えば、バンパ度合であり得る。コントローラは、判定された値Ｘに基づいてロボットの本体の移動を制御することができる。コントローラは、値Ｘに基づいて、本体に壁面を追跡又は追従させることができる。ロボットがバンパの動きを検出する１以上のセンサを有する場合には、コントローラは、各センサからの個々の値に基づいて値Ｘを計算することができる。値Ｘはリニアセンサからの信号に基づき得る。コントローラは、値Ｘに基づいて、バンパが非押圧位置と部分的押圧位置との間の押込み範囲内であるか否かを判定することができる。コントローラがロボットと壁面間の力の大きさにしたがってリニアに変化する１以上の信号に基づいて値Ｘを判定する場合、値Ｘは、追加として又は代替として、ロボットが表面と密着する角度を示す。この角度は、値Ｘを示す２以上のセンサ信号に基づき得る。コントローラは、値Ｘに基づいて、ロボットが壁と密着する角度を制御することができる。いくつかの実施において、コントローラは、ロボットが表面と密着する際の力の大きさを制御することができる。
【００９３】
値Ｘが押圧範囲の下限値ＬＬより大きく上限値ＵＬより小さい場合、動作８２０において、コントローラは、ロボットに前方駆動方向を続行するようにさせる駆動信号を発行することによって、壁面を追従する為の制御信号を出力する。制御信号は、動作８０５にて出力される制御信号と同じであっても良い。いくつかの場合には、制御信号は、値Ｘを最適値の範囲内に維持する為にロボットの駆動を調整しても良い。いくつかの場合には、値Ｘはセンサからの信号に基づくことができ、バンパが非押圧位置と押圧位置との間の押圧範囲内にあることを示すことができる。値Ｘが平均規格化バンパ度合である場合、押圧範囲の下限値ＬＬは、例えば、７．５％〜７％、７％〜６％、６％〜５％、５％〜４％、４％〜３％、３％〜２％、２％〜１％、１％〜０％、０％未満である。押込み範囲の上限値は、例えば、７％〜８％、７．５％〜８％、８％〜９％、９％〜１０％、１０％〜１１％、１１％〜１２％、１２％〜１３％、１３％〜１４％、１４％〜１５％、１５％〜１６％、１６％〜１７％、１７％〜１８％、１８％〜１９％、１９％〜２０％である。最適値は、下限値ＬＬと上限値ＵＬとの平均値であっても良い。いくつかの実施において、下限値ＬＬは、約０％〜７．５％又はそれ未満、上限値ＵＬは、約７．５％〜１５％又はそれより大、であり得る。平均バンパ度合をこの所定の間隔又は押圧範囲内に維持することは、第１の壁面によって規定されるコーナーや裂け目を清掃することを容易化しつつ、ロボットの移動性を維持するのに有益であり得る。制御信号は、値Ｘを所定の範囲又は押圧範囲内に維持することによって、ロボットを、ロボットが動作８０５において追従した壁面に追従させることができる。コントローラは、値Ｘを押圧範囲内に維持し、ロボット本体の動きを、壁面を追跡するよう制御するようプログラムされ得る。
【００９４】
値Ｘが押圧範囲の下限値ＬＬ未満又は上限値ＵＬを超える場合、動作８２５において、コントローラは、壁面に再度密着する為の制御信号を出力する。コントローラは、押圧範囲の外側にある値に応答して、ロボット本体を壁面から後退させるように、ロボット本体の動きを制御するようにプログラムされ得る。いくつかの実施において、コントローラは、車輪の速度を検出するセンサからの信号を受信することができる。このセンサは、例えば、車輪と共に動作するエンコーダ又は電流センサである。例えば、車輪の速度又はバンパセンサに基づいて、コントローラは、ロボットに、壁面から後退させ、壁面から方向転換し、次に、壁面と再度密着するように制御することができる。値Ｘが上限値ＵＬを超える場合には、コントローラは、図５Ｂ〜図５Ｅを参照して上述した再密着挙動を実施することができる。例えば、コントローラは、ロボットに、前方への移動を一時的に停止し、次に、壁面から後退させる制御信号を伝達することができる。制御信号は、また、ロボットに、壁面から方向転換し、次に壁面と再度密着させる。値Ｘがバンパと壁面間の接触が失われたことを示し得る下限値ＬＬ未満である場合、コントローラは、図６Ｂ〜図６Ｄを参照して上述した再結合挙動を実施することができる。コントローラは、ロボットに、前方への移動を一時的に停止させ、また、いくつかの実施においては、ロボットに壁面へ後退させる制御信号を伝達することができる。制御信号は、ロボットに壁面に向かって方向転換し、壁面と再度密着させることができる。
【００９５】
磁石１７０Ｌ、１７０Ｒ及びセンサ１７６Ｌ、１７６Ｒは、バンパ１１０の押圧がセンサ１７６Ｌ、１７６Ｒによって生成される電圧の上昇をもたらすと記載されてきたけれども、他の実施において、磁石及びセンサは、バンパが押圧されるにしたがって磁石がより遠くなるように位置付けられても良い。このような実施においては、センサは、バンパが押圧されると、より低い電圧を発生する。
【００９６】
上述の移動挙動は、湿式清掃を行うロボット１００に関して説明されてきたけれども、いくつかの場合には、ロボット１００は乾式清掃を実行しても良く、清掃動作において、上述の移動挙動のうちの全てを組み込んでいなくても良い−又は追加の挙動を組み込んでいても良い−。例えば、ロボット１００は、つる状パターン無しのコーンロー型パターンを実行しても良い。
【００９７】
いくつかの例において、ロボットは、非一時的メモリ４６０又はロボットが有線又は無線のメディアによって清掃走行中にアクセスできる外部記憶メディアに格納されたマップ上にそれらの位置を格納することによって、ロボットが以前横断した表面の位置を知る。いくつかの実施において、ロボットは、空間についてのこのようなマップを作るための、上方を向いたカメラ及び／又は１以上の測距レーザを備える。いくつかの例において、コントローラ４０５は、壁、家具、床の変化、及び他の障害物のマップを用い、清掃液の塗布の前に、ロボットが障害物及び／又は床の変化から十分に離れる位置に位置付け姿勢をとらせる。
【００９８】
バンパは、ロボットへの力の大きさを検出すると記載されてきたけれども、いくつかの実施において、ロボット上に配置された力センサ、圧力センサ、又は他のいくつかのセンサが力を感知する為に用いられても良い。本明細書に記載された例示的な壁追従技術は、少なくとも部分的には、１以上のデータ処理装置（例えば、プログラマブルプロセッサ、コンピュータ、複数のコンピュータ、及び／又はプログラマブルロジック部品）による実行の為の又はその動作を制御する為の１以上の非一時的な機械読取り可能な媒体といった、１以上の情報キャリア内に確実に組み込まれた１以上のコンピュータプログラム等の、１以上のコンピュータプログラムプロダクトを用いて制御され或いは実施される。
【００９９】
上述のいくつかの例において、壁追従挙動は、エリア清掃挙動の完了に続く部屋又は他の空間の周囲を清掃する為に用いられるけれども、他の例において、壁追従挙動は、散らかった環境、又は、境界で限られたエリアからロボットが逃れることを可能にする為に用いることができる。例えば、ロボットが入口／出口の為の狭い開口を有するスペースに入る場合、ロボットは、スペース内で動かなくなるかもしれなく、また、通常のカバレッジパターンはロボットを逃れさせるようには入口／出口と一直線にならないかもしれない。このような状況では、ロボットは散らかった環境にいることを判定することができ、そのエリアから逃れるために壁追従挙動を実行することができる。壁に追従することは、ロボットが位置特定するのが困難かもそれない狭い出口を識別することを可能にする。一つの特定の例において、ロボットは、ランダム横断清掃パターンを実行することができ、ロボットが同じエリアを繰返し横断したこと（例えば、小さなスペース又は散らかったエリアに閉じ込められたこと）を識別すると、ロボットは、そのエリアから出る又は逃れる為に、壁追従挙動を実行することができる。
【０１００】
コンピュータプログラムは、コンパイル或いは解釈された言語を含む、あらゆる形式のコンピュータプログラミング言語で書くことができ、スタンドアロンプログラム、又はモジュール、コンポーネント、サブルーチン、又はコンピューティング環境での使用に好適な他のユニットを含む、あらゆる形式で配置することができる。
【０１０１】
本明細書に記載される壁追従技術の一部又はその全てを実施することに関する動作は、本明細書に記載される機能を実施する為の１以上のコンピュータプログラムを実行する１以上のプログラマブルプロセッサによって実行され得る。本明細書に記載される壁追従技術の一部又は全てが、例えば、ＦＰＧＡ（Field  Programmable  Gate  Array）及び／又はＡＳＩＣ（Application-specific  Integration  Circuit）といった特定用途の論理回路を用いて実施することができる。
【０１０２】
コンピュータプログラムの実行に好適なプロセッサは、例証として、汎用又は特定目的両方のマイクロプロセッサ、及びあらゆるタイプのデジタルコンピュータのあらゆる１以上のプロセッサを含む。一般には、プロセッサは、読み込み専用記憶エリア又はランダムアクセス記憶エリア又はその両方から命令及びデータを受信する。コンピュータの素子は、命令を実行する１以上のプロセッサ、又は命令及びデータを記憶する為の１以上の記憶エリアを含む。一般には、コンピュータは、データを受信し、又は送信し又はその両方の為に操作可能に取り付けられた、例えば、磁気ディスク、光磁気ディスク、又は光ディスク等のデータを記憶する為の大容量のＰＣＢといった、１以上の機械読取り可能な記憶メディアをも備えるであろう。コンピュータプログラム命令及びデータを具体化するのに好適な機械読取り可能な記憶メディアは、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュ記憶エリアデバイス等の半導体記憶エリアデバイス、内蔵ハードディスク又はリムーバルディスク等の磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭを含む、あらゆる形式の不揮発性記憶エリアを含む。
【０１０３】
本明細書中に記載された異なる実施の要素が、詳細には上述されていない他の実施形態を構成する為に組み合わされても良い。要素は、それらの動作に不利に影響することなく、本明細書に記載された構造の外部に置かれても良い。さらに、様々な分かれた要素が、本明細書に記載される機能を実行する為に１以上の独立の要素に組み込まれても良い。
【０１０４】
［第１項］
表面に対して移動可能な本体と、
前記本体に対して移動可能なように前記本体に搭載され、前記本体に対する非押圧位置と前記本体に対する押圧位置との間で移動可能なバンパと、
前記バンパと前記表面との間の接触によって生じる前記本体に対する前記バンパの移動に応答して、前記本体に対する前記バンパの移動に対してリニアに変化する信号を生成するセンサと、
前記信号に基づき且つ前記バンパが前記非押圧位置と前記押圧位置との間の押圧範囲を有する部分的押圧位置にあることを示す値に基づいて、前記本体に前記表面を追跡させるように前記本体の移動を制御するコントローラと、
を備えるロボット。
［第２項］
前記本体の底部に取り付けられた清掃パッドと、
前記ロボットから液体を分配するように構成された塗布器と、を備え、
前記表面は壁面を備え、
前記本体に前記表面を追跡させるように前記本体の移動を制御するコントローラの構成は、前記ロボットに壁追従挙動を実行させる構成を備え、
該壁追従挙動において、前記コントローラは、
前記バンパが前記部分的押圧位置にあるように、前記本体を、ある角度で前記壁面に接触させるように前記本体の移動を制御すること、及び
前記バンパの押圧を前記部分的押圧位置に維持するように前記ロボットの回転及び並進速度を調整すること、
を含む動作を実行する、第１項に記載のロボット。
［第３項］
前記表面は壁面を備え、
前記本体の移動を制御する為の前記コントローラの構成は、前記ロボットに、前記壁面との接触を約３度〜約２０度の間の角度で維持させる構成を備える、第１項に記載のロボット。
［第４項］
前記本体の底部に取り付けられ、前記バンパを越えて伸びる清掃パッドと、
前記本体から液体を分配するように構成された塗布器と、を備え、
前記表面は壁面を備え、
前記本体に前記表面を追跡させるように前記本体の移動を制御するコントローラの構成は、前記ロボットに、前記清掃パッドと前記壁面との接触を壁追従挙動で維持させる構成を備える、第１項に記載のロボット。
［第５項］
前記センサは第１のセンサであり、前記信号は第１の信号であり、
前記ロボットは、更に、前記バンパの移動に応答する第２の信号であって前記バンパの移動に対してリニアに変化する第２の信号を生成する第２のセンサを備え、
前記コントローラは、前記第１信号に基づく第１の値と前記第２の信号に基づく第２の値に基づいて前記値を計算するようにプログラムされている、第１項に記載のロボット。
［第６項］
前記ロボットは、左側部、右側部、前部及び後部を有し、
前記第１のセンサは前記右側部に隣接し、前記第２のセンサは前記左側部に隣接し、
前記バンパは、前記ロボットの前記前部に沿って配置され且つ前記左側部及び前記右側部に部分的に沿って伸びる、第５項に記載のロボット。
［第７項］
前記バンパの移動に応答する第３の信号であって、前記バンパの移動に対してリニアに変化する第３の信号を生成する第３のセンサを更に備え、
前記第３のセンサは、前記左側部と前記右側部に間にあり、前記前部に隣接する、第６項に記載のロボット。
［第８項］
前記センサは、
前記バンパに搭載された柱と、
前記柱に搭載された磁石と、
前記本体内において前記磁石の上部に搭載されたホール効果センサと、
を備える、第１項に記載のロボット。
［第９項］
前記センサは、一組の容量性プレートを備える容量性センサを備え、
前記一組の容量性プレートの少なくとも１つは、前記バンパの移動に応じて、前記一組の容量性プレートの他方に対して移動可能であり、
前記コントローラは、前記少なくとも１つの容量性プレートの移動に応じて生成される信号の時定数を決定するようにプログラムされている、第１項に記載のロボット。
［第１０項］
前記センサは、誘導性センサを備え、
前記誘導性センサは、前記バンパの移動に基づいて巻線内で移動できるコア部材を備え、
前記コントローラは、前記コア部材の移動に応じた信号から時定数を決定するようにプログラムされている、第１項に記載のロボット。
［第１１項］
前記表面は部屋の壁を備え、
前記コントローラは、前記値を前記押圧範囲内で維持することによって、前記壁との接触を維持する為に、前記壁面を追跡するように前記本体の移動を制御するようにプログラムされている、第１項に記載のロボット。
［第１２項］
前記コントローラは、前記バンパが前記押圧位置の所定の範囲内にあることに応答して、前記本体に対する前記バンパの位置を動的にキャリブレートするようにプログラムされている、第１項に記載のロボット。
［第１３項］
前記コントローラは、更に、前記押圧範囲の外側にあり、前記バンパが前記押圧範囲に関連付けられた押圧量よりもさらに押圧されていることを示す前記値に応答して、前記本体を前記表面から後退させる為に、前記本体の移動を制御するようにプログラムされている、第１項に記載のロボット。
［第１４項］
前記コントローラは、更に、前記押圧範囲の外側にあり、前記バンパが前記押圧範囲に関連付けられた押圧量より弱く押圧されていることを示す前記値に応答して、前記本体を前記表面に向かって方向転換させる為に、前記本体の移動を制御するようにプログラムされている、第１項に記載のロボット。
［第１５項］
前記本体は車輪を備え、
前記ロボットは、更に、前記車輪と関連付けられ、前記車輪の速度を検出する為の検出器を備え、
前記コントローラは、前記車輪の速度が予めプログラムされた速度より低いこと、及び、前記値が前記押圧範囲の外側にあることに少なくとも部分的に基づいて、前記本体に前記表面から後退させ、前記表面から方向転換し、次に前記表面に再度密着させる為に、前記本体の移動を制御するようにプログラムされている、第１項に記載のロボット。
［第１６項］
前記本体の底部に取り付けられた清掃パッドを更に備え、
前記清掃パッドは、前記バンパを越えて伸びる、第１項に記載のロボット。
［第１７項］
前記コントローラは、前記本体に、ある角度で前記表面を追跡させ、
前記コントローラは、前記値に基づいて前記角度を調整するようにプログラムされている、第１項に記載のロボット。
［第１８項］
表面に対して移動可能な本体と、
前記本体に対して移動可能なように前記本体に搭載されたバンパと、
前記バンパと前記表面との、時間間隔にわたる接触によって生じる前記本体に対する前記バンパの移動に応じた信号であって、前記バンパの移動にしたがってリニアに変化する信号を生成するリニアセンサと、
前記リニアセンサによって生成される信号に基づいて１以上の制御信号を生成するコントローラと、を備え、
前記１以上の制御信号は、少なくとも前記時間間隔の間、前記表面に追従するように前記本体の移動を制御する、ロボット。
［第１９項］
前記本体の底部に取り付けられた清掃パッドと、
前記本体から液体を分配するように構成された塗布器と、を備え、
前記表面は壁面を備え、
前記本体に前記表面を追跡させるように前記本体の移動を制御するコントローラの構成は、前記ロボットに壁追従挙動を実行させる構成を備え、
該壁追従挙動において、前記コントローラは、
前記バンパが部分的押圧位置にあるように、前記本体を、ある角度で前記壁面に接触させるように前記本体の移動を制御すること、及び
前記バンパの押圧を前記部分的押圧位置に維持するように前記ロボットの回転及び並進速度を調整すること、
を含む動作を実行する、第１８項に記載のロボット。
［第２０項］
前記表面は壁面を備え、
前記本体の移動を制御する為の前記コントローラの構成は、前記ロボットに、前記壁面との接触を約３度〜約２０度の間の角度で維持させる構成を備える、第１８項に記載のロボット。
［第２１項］
前記本体の底部に取り付けられ、前記バンパを越えて伸びる清掃パッドと、
前記本体から液体を分配するように構成された塗布器と、を備え、
前記表面は壁面を備え、
前記本体に前記表面を追跡させるように前記本体の移動を制御するコントローラの構成は、前記ロボットに、前記清掃パッドと前記壁面との接触を壁追従挙動で維持させる構成を備える、第１８項に記載のロボット。
［第２２項］
前記リニアセンサは、第１のリニアセンサと第２のリニアセンサとを備え、
前記第１のリニアセンサは、前記本体の第１の側に隣接して配置され、前記第２のリニアセンサは、前記本体の第２の側に隣接して配置される、第１８項に記載のロボット。
［第２３項］
前記リニアセンサは、前記第１のリニアセンサと前記第２のリニアセンサとの間に配置された第３のリニアセンサを備える、第１９項に記載のロボット。
［第２４項］
前記各リニアセンサは、
前記バンパに搭載された柱と、
前記柱に搭載された磁石と、
前記本体内において前記磁石の上部に搭載されたホール効果センサと、
を備える、第１８項に記載のロボット。
［第２５項］
前記各リニアセンサは、一組の容量性プレートを備える容量性センサを備え、
前記一組の容量性プレートの少なくとも１つは、前記バンパの移動に応じて、前記一組の容量性プレートの他方に対して移動可能であり、
前記コントローラは、前記少なくとも1つの容量性プレートの移動に応じて生成される信号の時定数を決定するようにプログラムされている、第１８項に記載のロボット。
［第２６項］
前記各リニアセンサは、誘導性センサを備え、
前記誘導性センサは、前記バンパの移動に基づいて巻線内で移動できるコア部材を備え、
前記コントローラは、前記コア部材の移動に応じた信号から時定数を決定するようにプログラムされている、第１８項に記載のロボット。
［第２７項］
ロボットを制御する方法であって、
前記ロボットと表面との間の力の大きさにしたがってリニアに変化する少なくとも１つの信号に基づいて、前記ロボットと前記表面との間の接触の程度が閾値を超えたと判定することと、
前記閾値を超えた前記ロボットと前記表面間の接触の程度を少なくとも維持し、前記表面を追跡するように前記ロボットを制御することと、
を含む方法。
［第２８項］
前記閾値は下側閾値であり、
前記方法は、更に、
前記少なくとも１つの信号に基づいて、前記ロボットと前記表面との間の力の大きさが、前記下側閾値よりも大きい上側閾値を超えたと判定することと、
前記ロボットと前記表面の間の力の大きさが前記上側閾値を超えたことに応じて、前記ロボットに前記表面から後退させることと、
を含む、第２７項に記載の方法。
［第２９項］
前記ロボットは車輪を備え、
前記方法は、更に、
前記車輪の速度を検出することと、
前記車輪の速度に少なくとも部分的には基づいて、前記ロボットに、前記表面から後退させ、前記表面から方向転換し、次に、前記表面と再度密着させるように前記ロボットを制御することと、
を含む、第２７項に記載の方法。
［第３０項］
前記判定することは、前記ロボットと前記壁面との間の力の大きさにしたがってリニアに変化する２以上の信号に基づいており、
前記方法は、更に、少なくとも部分的には前記２以上の信号に基づいて、前記ロボットが前記表面と密着する角度を制御すること、を含む、第２７項に記載の方法。
【図１Ａ】
2020140728.tif 000003
【図１Ｂ】
2020140728.tif 000004
【図１Ｃ】
2020140728.tif 000005
【図１Ｄ】
2020140728.tif 000006
【図１Ｅ】
2020140728.tif 000007
【図１Ｆ】
2020140728.tif 000008
【図１Ｇ】
2020140728.tif 000009
【図１Ｈ】
2020140728.tif 000010
【図２Ａ】
2020140728.tif 000011
【図２Ｂ】
2020140728.tif 000012
【図２Ｃ】
2020140728.tif 000013
【図３Ａ】
2020140728.tif 000014
【図３Ｂ】
2020140728.tif 000015
【図３Ｃ】
2020140728.tif 000016
【図３Ｄ】
2020140728.tif 000017
【図３Ｅ】
2020140728.tif 000018
【図３Ｆ】
2020140728.tif 000019
【図３Ｇ】
2020140728.tif 000020
【図３Ｈ】
2020140728.tif 000021
【図４】
2020140728.tif 000022
【図５Ａ】
2020140728.tif 000023
【図５Ｂ】
2020140728.tif 000024
【図５Ｃ】
2020140728.tif 000025
【図５Ｄ】
2020140728.tif 000026
【図５Ｅ】
2020140728.tif 000027
【図５Ｆ】
2020140728.tif 000028
【図６Ａ】
2020140728.tif 000029
【図６Ｂ】
2020140728.tif 000030
【図６Ｃ】
2020140728.tif 000031
【図６Ｄ】
2020140728.tif 000032
【図６Ｅ】
2020140728.tif 000033
【図７Ａ】
2020140728.tif 000034
【図７Ｂ】
2020140728.tif 000035
【図７Ｃ】
2020140728.tif 000036
【図７Ｄ】
2020140728.tif 000037
【図８】
2020140728.tif 000038
【外国語明細書】
2020140728000001.pdf