(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-10
(45)【発行日】2022-05-18
(54)【発明の名称】移動可能なロボットおよびロボットを制御する方法
(51)【国際特許分類】
G05D 1/02 20200101AFI20220511BHJP
B25J 5/00 20060101ALI20220511BHJP
【FI】
G05D1/02 H
B25J5/00 A
【外国語出願】
(21)【出願番号】P 2020092309
(22)【出願日】2020-05-27
(62)【分割の表示】P 2015240833の分割
【原出願日】2015-12-10
【審査請求日】2020-06-04
(32)【優先日】2015-04-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】313013863
【氏名又は名称】アイロボット・コーポレーション
(74)【代理人】
【識別番号】100188558
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100154922
【氏名又は名称】崔 允辰
(72)【発明者】
【氏名】ウォルフ ブライアン
(72)【発明者】
【氏名】ルゥ ピーン-ホーン
【審査官】松本 泰典
(56)【参考文献】
【文献】特表2010-526594(JP,A)
【文献】特開2011-200724(JP,A)
【文献】Shuichi Ishida and Hiroyuki Miyamoto,"Collision-Detecting Device for Omnidirectional Electric Wheelchair",ISRN Robotics,Hindawi Publishing Corporation,2013年,Volume 2013, Article ID 672826,p.1-8,http://dx.doi.org/10.5402/2013/672826
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
B25J 5/00
(57)【特許請求の範囲】
【請求項1】
障害物の表面に対して移動可能なロボットであって、
当該ロボット
に移動可能に搭載されたバンパと、
前記バンパの位置を
前記バンパの部分的押圧位置である所定の範囲内に維持しながら、前記表面の第1の部分に沿って当該ロボットを前進させる
動作と、
所定の範囲外の前記バンパの位置に応答して、前記表面の第1の部分に対して当該ロボットの前方駆動方向を方向変更する
動作と、
前記バンパの位置を前記所定の範囲内に維持しながら、前記表面の第1の部分に対して傾いた前記表面の第2の部分に沿って当該ロボットを前進させる
動作と、
を含んでなる動作を
当該ロボットに実施させ
るように構成され
たコントローラと、
を含んでなることを特徴とする、ロボット。
【請求項2】
前記表面の第1の部分に沿って当該ロボットを前進させる
動作が、当該ロボットの前方駆動方向と前記表面の第1の部分との間で第1の非ゼロ角度を維持しながら、前記表面の第1の部分に沿って当該ロボットを前進させることを含むことを特徴とする、請求項1に記載のロボット。
【請求項3】
前記表面の第2の部分に沿って当該ロボットを前進させる
動作が、当該ロボットの前方駆動方向と前記表面の第2の部分との間で第2の非ゼロ角度を維持しながら、前記表面の第2の部分に沿って当該ロボットを前進させることを含むことを特徴とする、請求項2に記載のロボット。
【請求項4】
前記第1の非ゼロ角度
および前記第2の非ゼロ角
度が、3度~20度
の間であることを特徴とする、請求項3に記載のロボット。
【請求項5】
前記表面の第1の部分に対して当該ロボットの前方駆動方向を方向変更する
動作が、前記表面の第2の部分に向けて当該ロボットを回転させることを含むことを特徴とする、請求項1に記載のロボット。
【請求項6】
前記表面の第2の部分に向けて当該ロボットを回転させる
動作が、前記表面の第1の部分に向けて当該ロボットを回転させることを含むことを特徴とする、請求項5に記載のロボット。
【請求項7】
前記表面の第2の部分に向けて当該ロボットを回転させる
動作が、前記表面の第1の部分から離れるように当該ロボットを回転させることを含むことを特徴とする、請求項5に記載のロボット。
【請求項8】
前記表面の第1の部分に対して当該ロボットの前方駆動方向を方向変更する
動作が、前記表面の第2の部分に向けて当該ロボットを回転させる前に、前記表面の第2の部分から離れるように当該ロボットを後方に移動させることを含むことを特徴とする、請求項7に記載のロボット。
【請求項9】
前記表面の第2の部分に向けて当該ロボットを回転させる
動作が、前記表面の第1の部分および第2の部分の間のインターフェースと当該ロボットとの間の接触を維持しながら、前記表面の第2の部分に向けて当該ロボットを回転させることを含むことを特徴とする、請求項5に記載のロボット。
【請求項10】
当該ロボットに対する前記バンパの動きに応答してデータを生成するように構成されたセンサシステムをさらに含み、前記データの第1の部分は、
前記バンパが前記バンパの完全な押圧位置と前記所定の範囲との間にある時に、前記バン
パが前記バンパの完全な押圧位置と前記所定の範囲
との間にあることを示し、前記データの第2の部分は、
前記バンパが前記所定の範囲内にある時に前記バン
パが前記所定の範囲内にあることを示し、前記データの第3の部分は、
前記バンパが前記バンパの完全な非押圧位置と前記所定の範囲との間にある時に、前記バン
パが前記バンパの完全な非押圧位置と前記所定の範囲
との間にあることを示していることを特徴とする、請求項1に記載のロボット。
【請求項11】
前記バンパが前記バンパと前記表面との接触がない別
の範囲内にあることに応答して、当該ロボットに対する前記バンパのニュートラル位置をキャリブレートする
動作を
さらに含むことを特徴とする、請求項1に記載のロボット。
【請求項12】
前記表面の第1の部分に対して当該ロボットの前方駆動方向を方向変更する
動作が、前記バンパの位置が前記バンパの完全な押圧位置と前記所定の範囲
との間にあることに応答して、前記表面の第1の部分から離れるように当該ロボットを後方に移動させ
て回転させることを含むことを特徴とする、請求項1に記載のロボット。
【請求項13】
前記表面の第1の部分に対して当該ロボットの前方駆動方向を方向変更することが、前記バンパの位置が前記バンパの完全な非押圧位置と前記所定の範囲
との間にあることに応答して、前記表面の第1の部分に向けて当該ロボットを回転させることを含むことを特徴とする、請求項1に記載のロボット。
【請求項14】
ロボットを制御する方法であって、
前記ロボットのバンパの位置を
前記バンパの部分的押圧位置である所定の範囲内に維持しながら、障害物の表面の第1の部分に沿って前記ロボットを前進させるステップと、
所定の範囲外の前記バンパの位置に応答して、前記表面の第1の部分に対して前記ロボットの前方駆動方向を方向変更するステップと、
前記バンパの位置を前記所定の範囲内に維持しながら、前記表面の第1の部分に対して傾いた前記表面の第2の部分に沿って前記ロボットを前進させるステップと、
を含んでなることを特徴とする、方法。
【請求項15】
前記表面の第1の部分に沿って前記ロボットを前進させるステップが、前記ロボットの前方駆動方向と前記表面の第1の部分との間で第1の非ゼロ角度を維持しながら、前記表面の第1の部分に沿って前記ロボットを前進させるステップを含むことを特徴とする、請求項14に記載の方法。
【請求項16】
前記表面の第2の部分に沿って前記ロボットを前進させるステップが、前記ロボットの前方駆動方向と前記表面の第2の部分との間で第2の非ゼロ角度を維持しながら、前記表面の第2の部分に沿って前記ロボットを前進させるステップを含むことを特徴とする、請求項15に記載の方法。
【請求項17】
前記第1の非ゼロ角度
および前記第2の非ゼロ角
度が、3度~20度
の間であることを特徴とする、請求項16に記載の方法。
【請求項18】
前記表面の第1の部分に対して前記ロボットの前方駆動方向を方向変更するステップが、前記表面の第2の部分に向けて前記ロボットを回転させるステップを含むことを特徴とする、請求項14に記載の方法。
【請求項19】
前記表面の第2の部分に向けて前記ロボットを回転させるステップが、前記表面の第1の部分に向けて前記ロボットを回転させるステップを含むことを特徴とする、請求項18に記載の方法。
【請求項20】
前記表面の第2の部分に向けて前記ロボットを回転させるステップが、前記表面の第1の部分から離れるように前記ロボットを回転させるステップを含むことを特徴とする、請求項18に記載の方法。
【請求項21】
前記表面の第1の部分に対して前記ロボットの前方駆動方向を方向変更するステップが、前記表面の第2の部分に向けて前記ロボットを回転させる前に、前記表面の第2の部分から離れるように前記ロボットを後方に移動させるステップを含むことを特徴とする、請求項20に記載の方法。
【請求項22】
前記表面の第2の部分に向けて前記ロボットを回転させるステップが、前記表面の第1の部分および第2の部分の間のインターフェースと前記ロボットとの間の接触を維持しながら、前記表面の第2の部分に向けて前記ロボットを回転させるステップを含むことを特徴とする、請求項18に記載の方法。
【請求項23】
前記バンパが前記バンパと前記表面との接触がない
別の範囲内にあることに応答して、前記バンパのニュートラル位置をキャリブレートするステップをさらに含むことを特徴とする、請求項14に記載の方法。
【請求項24】
前記表面の第1の部分に対して前記ロボットの前方駆動方向を方向変更するステップが、前記バンパの位置が前記バンパの完全な押圧位置と前記所定の範囲
との間にあることに応答して、前記表面の第1の部分から離れるように前記ロボットを後方に移動させ
て回転させるステップを含むことを特徴とする、請求項14に記載の方法。
【請求項25】
前記表面の第1の部分に対して前記ロボットの前方駆動方向を方向変更するステップが、前記バンパの位置が前記バンパの完全な非押圧位置と前記所定の範囲
との間にあることに応答して、前記表面の第1の部分に向けて前記ロボットを回転させるステップを含むことを特徴とする、請求項14に記載の方法。
【請求項26】
前記バンパの位置を前記所定の範囲内に維持するステップが、前記バンパの右側部分または前記バンパの左側部分を前記所定の範囲内に維持するステップを含むことを特徴とする、請求項14に記載の方法。
【請求項27】
前記バンパの位置を前記所定の範囲内に維持する
動作が、前記バンパの右側部分または前記バンパの左側部分を前記所定の範囲内に維持することを含むことを特徴とする、請求項1に記載のロボット。
【請求項28】
ロボットであって、
当該ロボットを床面に沿って動かすように構成された駆動システムと、
当該ロボットに搭載され、完全な非押圧位置と完全な押圧位置との間で移動可能なバンパと、
前記バンパ
が前記完全な非押圧位置にある時に、バンパが完全な非押圧位置にあることを示す第1の信号を生成するように構成されたセンサであって、
該センサは、
前記バンパが、前記完全な非押圧位置と前記完全な押圧位置との間で部分的押圧位置にあることを示す第2の信号
であって、前記バンパの第1の側部の押圧量が前記バンパの第2の側部の押圧量とは異なることさらに示す、第2の信号を生成するように構成され、
前記バンパが前記完全な押圧位置にある
時に、バンパが完全な押圧位置にあることを示す第3の信号
を生成するように構成されている、センサと、
前記
第1の信号
、第2の信号、および第3の信号に基づいて前記床面に沿った当該ロボットのナビゲーションを制御する前記駆動システムを操作するように構成されたコントローラと、
を含んでなることを特徴とする、ロボット。
【請求項29】
前記センサが、ホール効果センサ、容量性センサおよび誘導センサの少なくとも1つを含むことを特徴とする、請求項28に記載のロボット。
【請求項30】
前記
センサによって生成された信号の値が、前記完全な非押圧位置と前記完全な押圧位置とによって画定された位
置範囲内における前記バンパの位置に対して線形に変化
するように、前記センサが構成されていることを特徴とする、請求項28に記載のロボット。
【請求項31】
前記センサが
、当該ロボットの
第1の側部に配置された第1のセンサで
あって、前記バンパの右側部分の位置を示す複数の第1の信号
を生成するように構成され、
当該ロボットは、当該ロボットの
第2の側部に配置された第2のセンサをさらに含み、前記第2のセンサが、前記バンパの
第1の側部の位置を示す複数の第2の信号を生成するように構成され、
床面に沿った当該ロボットのナビゲーションを制御する駆動システムを操作するコントローラの構成は、複数の前記第1の信号および複数の前記第2の信号に基づいて、床面に沿った当該ロボットのナビゲーションを制御する駆動システムを操作する構成を含むことを特徴とする、請求項28に記載のロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、移動中に壁などの障害物を追跡するようにロボットの移動を制御することに関連する。
【背景技術】
【0002】
移動ロボットは、清掃や吸引等の様々な動作を実行する為に表面を横断するように使用することができる。壁、固定物等の障害物は、いくつかの移動ロボットにとって、いくつかのエリアに到達することを難しくするであろう。例えば、壁と床との交差部に隣接する表面は、ロボットにとっては横断することが難しいであろう。
【発明の概要】
【0003】
例示的なロボットは、ロボットが壁追従挙動を実行するときに、壁面との接触を維持することができる。ロボットのバンパに関連付けられたセンサは、ロボットが壁面を追跡する間にロボットの清掃パッドと壁面との間の継続的な接触を可能にする。センサは、ロボットが壁面を追従し続ける為にロボット自身の方向を調整することができるように、バンパがいつ壁面との接触を失ったかを検出することもできる。
【0004】
例示的なロボットは、表面に対して移動可能な本体と、本体に対して移動可能なように本体に搭載されるバンパと、バンパと表面との間の接触によって生じる、本体に対するバンパの移動に応答して信号を生成するセンサと、値に基づいて本体に表面を追跡させるように本体の移動を制御するコントローラと、を備える。バンパは、本体に対する非押圧位置と、本体に対する押圧位置との間で移動可能である。信号は、本体に対するバンパの移動に対してリニアに変化する。値は、信号に基づき且つバンパが非押圧位置と押圧位置との間の押圧範囲を有する部分的押圧位置にあることを示す。例示的なロボットは、単独で又は組合せで、以下の特徴の1以上を備えていても良い。
【0005】
表面は壁面を備え得る。本体の移動を制御する為のコントローラの構成は、ロボットに、壁面との接触を約3度~約20度の間の角度で維持させる構成を備え得る。ロボットは、本体の底部に取り付けられた清掃パッドと、ロボットから液体を分配するように構成された塗布器とを備え得る。清掃パッドは、バンパを越えて伸び得る。
【0006】
本体に表面を追跡させるように本体の移動を制御するコントローラの構成は、ロボットに壁追従挙動を実行させる構成を備え、該壁追従挙動において、コントローラは、バンパが部分的押圧位置にあるように、本体を、ある角度で壁面に接触させるように本体の移動を制御し、及び、バンパの押圧を部分的押圧位置に維持するように、ロボットの回転及び並進速度を調整する。本体に表面を追跡させるように本体の移動を制御するコントローラの構成は、ロボットに、清掃パッドと壁面との接触を壁追従挙動で維持させる構成を備え得る。
【0007】
センサは第1のセンサであり、信号は第1の信号であっても良い。ロボットは、バンパの移動に応答する第2の信号を生成する第2のセンサを備えていても良い。第2の信号は、バンパの移動に対してリニアに変化し得る。コントローラは、第1信号に基づく第1の値と第2の信号に基づく第2の値に基づいて値を計算するようにプログラムされ得る。
【0008】
ロボットは、左側部、右側部、前部及び後部を有し得る。第1のセンサは右側部に隣接し、第2のセンサは左側部に隣接し得る。バンパは、ロボットの前部に沿って配置され且つ左側部及び右側部に部分的に沿って伸び得る。ロボットは、バンパの移動に応答する第3の信号を生成する第3のセンサを備え得る。第3の信号は、バンパの移動に対してリニアに変化し得る。第3のセンサは、左側部と右側部に間にあり、前部に隣接し得る。
【0009】
センサは、バンパに搭載された柱と、柱に搭載された磁石と、本体内において磁石の上部に搭載されたホール効果センサであり得、又はそれらを備え得る。センサは、容量性センサであり得、又はそれを備え得る。容量性センサは、一組の容量性プレートを備え得る。一組の容量性プレートの少なくとも1つは、バンパの移動に応じて、一組の容量性プレートの他方に対して移動可能であり得る。コントローラは、少なくとも1つの容量性プレートの移動に応じて生成される信号の時定数を決定するようにプログラムされ得る。センサは、誘導性センサであり得、又はそれを備え得る。誘導性センサは、バンパの移動に基づいて巻線内で移動できるコア部材を備え得る。コントローラは、コア部材の移動に応じた信号から時定数を決定するようにプログラムされ得る。
【0010】
表面は部屋の壁を備え得る。また、コントローラは、値を押圧範囲内で維持することによって、壁との接触を維持する為に、壁面を追跡するように本体の移動を制御するようにプログラムされ得る。コントローラは、バンパが押圧位置の所定の範囲内にあることに応答して、本体に対するバンパの位置を動的にキャリブレートするようにプログラムされ得る。コントローラは、押圧範囲の外側にあり、バンパが押圧範囲に関連付けられた押圧量よりもさらに押圧されていることを示す値に応答して、本体を表面から後退させる為に、本体の移動を制御するようにプログラムされ得る。コントローラは、押圧範囲の外側にあり、バンパが押圧範囲に関連付けられた押圧量より弱く押圧されていることを示す値に応答して、本体を表面に向かって方向転換させる為に、本体の移動を制御するようにプログラムされ得る。
【0011】
本体は車輪を備え得る。また、ロボットは、車輪と関連付けられた検出器を備え得る。検出器は、車輪の速度を検出する為のものであり得る。コントローラは、車輪の速度が予めプログラムされた速度より低いこと、及び、値が押圧範囲の外側にあることに少なくとも部分的に基づいて、本体に表面から後退させ、表面から方向転換し、次に表面に再度密着させる為に、本体の移動を制御するようにプログラムされ得る。コントローラは、本体に、ある角度で表面を追跡させるようにプログラムされ得る。コントローラは、値に基づいて、角度を調整するようにプログラムされ得る。
【0012】
例示的なロボットは、表面に対して移動可能な本体と、本体に対して移動可能なように本体に搭載されたバンパと、バンパと表面との、時間間隔にわたる接触によって生じる本体に対するバンパの移動に応じた信号を生成するリニアセンサと、リニアセンサによって生成される信号に基づいて1以上の制御信号を生成するコントローラとを備え得る。信号は、バンパの移動にしたがってリニアに変化し得る。1以上の制御信号は、少なくとも時間間隔の間、表面に追従するように本体の移動を制御するためのものであり得る。例示的なロボットは、単独で又は組合せで、以下の特徴の1以上を備えていても良い。
【0013】
表面は壁面を備え得る。本体の移動を制御する為のコントローラの構成は、ロボットに、壁面との接触を約3度~約20度の間の角度で維持させる構成を備え得る。ロボットは、本体の底部に取り付けられた清掃パッドと、ロボットから液体を分配するように構成された塗布器とを備え得る。清掃パッドは、バンパを越えて伸び得る。
【0014】
本体に表面を追跡させるように本体の移動を制御するコントローラの構成は、ロボットに壁追従挙動を実行させる構成を備え、該壁追従挙動において、コントローラは、バンパが部分的押圧位置にあるように、本体を、ある角度で壁面に接触させるように本体の移動を制御し、及び、バンパの押圧を部分的押圧位置に維持するように、ロボットの回転及び並進速度を調整する。本体に表面を追跡させるように本体の移動を制御するコントローラの構成は、ロボットに、清掃パッドと壁面との接触を壁追従挙動で維持させる構成を備え得る。
【0015】
リニアセンサは、第1のリニアセンサと第2のリニアセンサとを備え得る。第1のリニアセンサは、本体の第1の側に隣接して配置され、第2のリニアセンサは、本体の第2の側に隣接して配置され得る。リニアセンサは、第1のリニアセンサと第2のリニアセンサトの間に配置された第3のリニアセンサを備え得る。
【0016】
各リニアセンサは、バンパに搭載された柱と、柱に搭載された磁石と、本体内において磁石の上部に搭載されたホール効果センサとを備え得る。各リニアセンサは、容量性センサであり得、又はそれを備え得る。容量性センサは、一組の容量性プレートを備え得る。一組の容量性プレートの少なくとも1つは、バンパの移動に応じて、一組の容量性プレートの他方に対して移動可能であり得る。コントローラは、少なくとも1つの容量性プレートの移動に応じて生成される信号の時定数を決定するようにプログラムされ得る。各リニアセンサは、誘導性センサを備え得る。誘導性センサは、バンパの移動に基づいて巻線内で移動できるコア部材を備え得る。コントローラは、コア部材の移動に応じた信号から時定数を決定するようにプログラムされ得る。
【0017】
ロボットを制御する例示的な方法は、ロボットと表面との間の力の大きさにしたがってリニアに変化する少なくとも1つの信号に基づいて、ロボットと表面との間の接触の程度が閾値を超えたと判定することと、閾値を超えたロボットと表面間の接触の程度を少なくとも維持し、表面を追跡するようにロボットを制御することと、を含む。例示的な方法は、単独で又は組合せで、以下の特徴の1以上を備えていても良い。
【0018】
閾値は下側閾値であり得る。方法は、少なくとも1つの信号に基づいて、ロボットと表面との間の力の大きさが、下側閾値よりも大きい上側閾値を超えたと判定することと、ロボットと表面の間の力の大きさが上側閾値を超えたことに応じて、ロボットに表面から後退させることと、を含み得る。
【0019】
ロボットは車輪を備え得る。方法は、車輪の速度を検出することと、車輪の速度に少なくとも部分的には基づいて、ロボットに、表面から後退させ、表面から方向転換し、次に、表面と再度密着させるようにロボットを制御することと、を含み得る。
【0020】
判定することは、ロボットと壁面との間の力の大きさにしたがってリニアに変化する2以上の信号に基づき得る。方法は、更に、少なくとも部分的には2以上の信号に基づいて、ロボットが表面と密着する角度を制御することを含み得る。
【0021】
本明細書に記載される例示的なロボット及び方法の有利な点は、以下の内容を非限定的に含んでいても良い。一つの例において、ロボットは、裂け目、コーナー、及びその他の到達することが困難でごみを蓄積するであろう領域を清掃することができる。一つの例において、ロボットは、部屋の壁及び障害物によって形成される幾何学的形状を有する部屋を清掃することができる。一つの例において、ロボットは、部屋の領域を清掃することをミスさせ得る形状を有する。このような例においては、ロボットは、他の動作及び清掃パターンが清掃動作中に清掃することをミスするであろう領域に到達する為に、壁追従を実施することができる。
【0022】
本明細書で説明する、発明の概要に記載されている特徴を含む二つ以上の特徴を組み合わせることで、本明細書に具体的に記載されていない実施形態を形成することができる。
【0023】
本明細書で説明するロボット及び技術又はその一部は、一つ以上の非一時的機械可読記憶媒体に保存された指示を含み、且つ本明細書で説明する動作を制御する(例えば、調整する)ために一つ以上の処理装置で実行可能である、コンピュータプログラム製品による制御が可能である。本明細書で説明するロボット又はその一部は、様々な動作を実装するための一つ以上の処理装置及び実行可能な指示を保存するためのメモリを含むことができる装置又は電子システムの一部又は全てとして実施することができる。
【0024】
一つ以上の実施の詳細が、添付図面及び以下の説明に記載されている。その他の特徴及び長所は、明細書、図面、及び特許請求の範囲から明確になるであろう。
【図面の簡単な説明】
【0025】
【
図2A】
図2Aは、壁面と接触する移動ロボットのバンパの上面図である。
【
図2B】
図2Bは、壁面と接触する移動ロボットのバンパの上面図である。
【
図2C】
図2Cは、壁面と接触する移動ロボットのバンパの上面図である。
【
図3A】
図3Aは、床面を擦る移動ロボットを示す、移動ロボットの上面図である。
【
図3B】
図3Bは、部屋を清掃する為にコーンロー型パターンを実行する移動ロボットの上面図である。
【
図3D】
図3Dは、障害物のある部屋を清掃する例示的な移動ロボットの上面図である。
【
図3E】
図3Eは、障害物のある部屋を清掃する例示的な移動ロボットの上面図である。
【
図3F】
図3Fは、障害物のある部屋を清掃する例示的な移動ロボットの上面図である。
【
図3G】
図3Gは、障害物のある部屋を清掃する例示的な移動ロボットの上面図である。
【
図3H】
図3Hは、障害物のある部屋を清掃する例示的な移動ロボットの上面図である。
【
図4】
図4は、
図1Aの例示的なロボットのコントローラの機構の模式図である。
【
図5A】
図5Aは、内側コーナーを清掃する移動ロボットを図示する。
【
図5B】
図5Bは、内側コーナーを清掃する移動ロボットを図示する。
【
図5C】
図5Cは、内側コーナーを清掃する移動ロボットを図示する。
【
図5D】
図5Dは、内側コーナーを清掃する移動ロボットを図示する。
【
図5E】
図5Eは、内側コーナーを清掃する移動ロボットを図示する。
【
図5F】
図5Fは、内側コーナーを清掃する移動ロボットを図示する。
【
図6A】
図6Aは、周囲の外側コーナーを清掃する移動ロボットを図示する。
【
図6B】
図6Bは、周囲の外側コーナーを清掃する移動ロボットを図示する。
【
図6C】
図6Cは、周囲の外側コーナーを清掃する移動ロボットを図示する。
【
図6D】
図6Dは、周囲の外側コーナーを清掃する移動ロボットを図示する。
【
図6E】
図6Eは、周囲の外側コーナーを清掃する移動ロボットを図示する。
【
図8】
図8は、ロボットによって実施される、壁面を追従する為の処理を示すフローチャートである。異なる図面中の類似の参照符号は類似の要素を表す。
【発明を実施するための形態】
【0026】
本明細書に記載されるのは、床、カーペット、芝生又は他の材料等の表面を横断するように構成された例示的なロボットである。例示的なロボットは、吸引、湿式又は乾式清掃、湿潤(damp)清掃、研磨等を非限定的に含む、表面に対する様々な動作を実行するように構成されていても良い。
【0027】
表面上の空いているエリアは、パターンで又はランダムに横断することができる。(例えば、鉛直面を有する)壁又は他の障害物は、ロボットが表面上を横断するやり方に影響を与えるであろう。例えば、壁に隣接する表面は、パターンの又はランダムな横断を用いて到達することが難しい。したがって、本明細書に記載される例示的なロボットは、ロボットが壁又は他の障害物に隣接する表面を横断することを可能にする壁追従(追跡とも記す)技術を採用する。本明細書に記載される追跡テクニックの一例は、ロボットと壁との間の力を感知すること、及び、感知された力に応答して、壁に追従するようにロボットの移動を制御することを含む。いくつかの実施において、ロボットの移動は、ロボットと壁との間の力の大きさを測定することに基づいて、測定された力が目標範囲内に留まるように制御される。例えば、ロボットは、バンパと壁との間の摩擦によって、バンパが部分的に押圧されるように、ある角度(例えば、5度~10度)で壁と接触することができる。他の実施も本明細書に記載される。
【0028】
本明細書に記載される例示的な追跡技術は、走行中に壁や他の障害物と遭遇する、あらゆる適切なタイプのロボット又は他の装置によって使用することができる。このような追跡技術を使用するロボットの例は、部屋を移動することによって部屋の床面を清掃することができる移動ロボットである。
図1Aを参照すると、いくつかの実施において、移動ロボット100は、側壁面20を有する部屋の表面10を移動し清掃する。いくつかの実施において、ロボットは、5ポンド未満(2.26kg未満)の重さであり、重心CGを有する。いくつかの実施において、移動ロボットは、自律型である。ロボット100は、例えばx、y、θ成分を有する駆動コマンドに基づいて、床面10上でロボット100を移動させることができる車輪(
図1Aにおいては視認できない)によって支持される本体102を備える。図示されるように、ロボット本体102は、四角い形状を有し、X軸及びY軸を定義する。X軸は、ロボット100の右方向R、及びロボット100の左方向Lを定義する。Y軸は、ロボット100の後方向A、及びロボット100の前方向Fを定義する。他の実施において、本体102は、円形、長円形、涙のしずく形、四角形、正方形又は長方形の前方部と円形の後方部の組合せ、又はこれらのあらゆる形状の縦方向に非対称的な組合せなどの他の形状を有することができる。本体102は、底部(不図示)及び上部108を備える。
【0029】
ロボット本体102の底部に沿って、ロボット100の後方の2つの角部の一つ又は両方に配置された1以上のクリフ(cliff)センサ(不図示)、及び、ロボット100の前方の2つの角部の一つ又は両方に配置された1以上のクリフセンサ(不図示)は、床面10上の出っ張り又は急峻な高さの変化を検出し、ロボットがこのような床の縁端から落下することを防止する。クリフセンサは、機械式の落下センサ、又は、床面10に向かって下方に向けられた、IR(赤外線)ペア、デュアルエミッタ、シングルレシーバ又はデュアルレシーバ、シングルエミッタIR光近接センサ等の光近接センサであっても良い。
【0030】
本体102は、縦(A、F)方向又は横(L、R)方向での衝突を検出する為の移動式バンパ110を装備する。バンパ110は、ロボット本体102の前側102Fに搭載され、ロボット本体102の右側102R及び左側102Lを覆っている。バンパ110は、ロボット本体102を補完する形状を有し、ロボット本体102の前方まで伸びている。バンパ110は、前側102Fの総寸法がロボット本体102の後側102Aよりも広くなるように伸びる低部111を備える。ロボット本体102は、バンパ110がロボット本体102に対して並進し及び回転することができるように、バンパ110を支持する。その結果、バンパ110の右側部110R及び左側部110Lは、異なる方向に移動することができる。本明細書中に更に詳細に記載されるように、左バンパセンサアサンブリ112L及び右バンパセンサアセンブリ112Rは、左バンパセンサアセンブリ112Lがバンパ110の左側部110Lの動きを検出し、右バンパセンサアセンブリ112Rがバンパ110の右側部110Rの動きを検出するように、ロボット100内に位置付けられる。右バンパセンサアセンブリ112Rは、ロボット本体102の右側102Rに隣接して配置されている。左バンパセンサアセンブリ112Lは、ロボット本体102の左側102Lに隣接して配置されている。概して、バンパセンサアセンブリ112L、112Rは、バンパ110への力に対してリニアである信号を提供するリニアセンサアセンブリである。いくつかの実施において、本明細書で記載されるように、追加のセンサアセンブリが、例えば、左右のセンサアセンブリの間など、ロボット内に含められても良い。
【0031】
いくつかの例において、アナログ信号を提供するリニアセンサを用いることは、様々な有利さを提供する。例えば、リニアセンサは、バンパ押圧の程度にしたがって変化する信号を提供する。バンパが、非押圧位置と完全押圧位置との間の中間程度まで押圧された場合、センサからの電圧又は電流の値は、バンパが完全に押圧されたときの値の半分であっても良い。
【0032】
図1Bを参照すると、ロボット本体102の底部は、取り付けられた清掃パッド120を備える。ロボット本体102の底部は、ロボット100が床面10上を移動するときにロボット本体102の後方部106を回転可能に支持する車輪121を備える。各車輪121は、各車輪121に伝達される電流を判定する電流センサ123と共に使用可能である。各車輪121は、各車輪121の位置を判定するエンコーダと関連付けられ、また、エンコーダと共に使用可能である。エンコーダは、車輪121の回転位置を検出する光エンコーダであっても良い。回転位置に基づいて、ロボット100のコントローラは、車輪121の加速度及び/又は速度を判定することができる。清掃パッド120は、ロボット100が床面10を移動するときに、ロボット本体102の前方部104を支持する。電流センサ123及びエンコーダは、一緒に、ロボット100の車輪121がいつロボット100の前方方向Fへの移動なしに駆動されているかを感知することができる。
【0033】
ロボット本体102内の貯蔵器122は、清掃液124(例えば、清掃溶液、水、及び/又は洗剤)を保持する。いくつかの例では、貯蔵器122は、170mL~230mL又は約200mLの容量を有する。ロボット100は、ロボット本体102内でチューブによって貯蔵器122に接続された液体塗布器126を備える。いくつかの例において、液体塗布器126は、スプレー又は噴霧機構である。
【0034】
ロボット100の上部108は、ユーザがロボット100を持ち運ぶためのハンドル135を備えていても良い。折り畳まれているとき、ハンドル135は、ロボット100の上部108の凹部にフィットする。上部108は、パッド開放機構を作動させる、ハンドル135の直下に配置されたトグルボタン136を備えていても良い。ユーザは、ロボット100をオンし、ロボット100に清掃動作を開始するよう命令する為の清掃ボタン140を押下することもできる。清掃ボタン140は、ロボット100をオフすること及び/又は仮想バリヤ位置を設けること等、他のロボット動作にも用いることができる。
【0035】
図1Cを参照すると、いくつかの場合には、清掃パッド120は、ロボット100がパッド120の外側の縁端を到達困難な表面まで又はそのような表面に沿って位置させる様に、或いは、壁-床間の境界30等の裂け目に位置させる様に、バンパ110の幅を超えて伸び得る。いくつかの例において、清掃パッド120は、ロボット100の本体102を、0.1mm~10mm(例えば、0.5mm~2mm、1mm~3mm、1mm~5mm、2mm~5mm、3mm~6mm、5mm~10mm、約1mm、約5mm、約10mm)だけ超えて伸びることができる。このような実施においては、清掃パッド120の端部は、壁面20に接触し、本明細書に記載されるように、清掃パッド120上の摩擦力によりバンパ110を移動させることができる。一つの実施において、清掃パッド120は、端部まで伸び、ロボットのパッドホルダ(不図示)を大きく超えて伸びることはない。この場合、バンパ110は、壁面20に接触し、バンパと壁面20間の摩擦により移動する。
【0036】
ロボット100は、パッド120の端部を壁面又は他の鉛直に伸びる表面に対して押し付けることができる。清掃パッド120の位置は、更に、ロボット100が壁追従動作で、ある期間移動している間、清掃パッド120の延長した縁端によって、清掃パッド120が表面又は他の鉛直に伸びる表面を清掃することを可能にする。清掃パッド120の延長は、ロボット本体102の到達範囲を超えた隙間又は裂け目内でロボット100が清掃を行うことを可能にする。本明細書に記載されるように、ロボット100が、部屋の側面(例えば、壁面20)に沿って壁追従パターン又は挙動を開始するときに、清掃パッド120は、ごみが壁-床間の境界30に沿って清掃パッド120によって拾い上げられるように、壁面20に対して押され得る
【0037】
図1Dを参照すると、一例として、清掃パッド120は、吸収層152、外部ラップ層154、及びカード裏打ち156を備える。パッド120は、吸収層152がパッド120の両端部で露出され、パッド120の全長で液体吸収及び清掃で利用できるように、むき出しにカットされた端部158を有する。吸収された清掃液は、清掃液が清掃パッド120からしたたることがないように、吸収層152によってしっかりと保持される。いくつかの場合には、清掃パッド120は、使い捨てである。他の場合には、清掃パッド120は、耐久性のあるプラスチック裏打ちを有する、再利用可能な(例えば、洗濯機で洗うことができる)マイクロファイバ布地パッドである。
【0038】
図1Eを参照すると、清掃パッド120は、パッドホルダ160によってロボット100の底部に固定されても良い。パッドホルダ160は、カード裏打ち156をつかむことによって、清掃パッド120を規定の位置にしっかりと保持する。清掃パッド120は、パッドホルダ160に2つの同じ方向(180度互いに反対の方向)のいずれかから取り付けることができる。パッドホルダ160は、トグルボタン136(
図1に示される)を用いてパッド解放機構162が作動されたときに、清掃パッド120を解放することができる。
【0039】
図1F~
図1Hを参照すると、柱164が、バンパ110のバンパシャーシ171をロボット本体102に取り付ける為にロボット本体102を横断している。バンパシャーシ171は、(例えば、ファスナを用いて)バンパ110に固定されている。
図1Gを参照すると、柱164は、ロボット本体102によって規定される開口166に挿入されている。柱164は、その長さ方向に沿って変化する断面径サイズを有していても良く、また、ロボット本体102によって規定される開口166にフィットようにサイズが合わされていても良い。柱164は、柔軟性のある材料(例えば、エラストマー又は他の弾力性のある材料)で作れられていても良い。柱164の材料は、バンパ110、したがってバンパシャーシが、バンパ110と環境内の障害物、又は、鉛直に向けられ又は伸びる表面との接触により、ロボット本体102に対して移動することを可能にする。
【0040】
図1Hを参照すると、ロボット100は、ロボット本体102に対するバンパ110の動きを検出する為の左センサアセンブリ112L及び右センサアセンブリ112Rを備える。いくつかの実施において、中央センサアセンブリ(本明細書に記載される)等の、追加のセンサアセンブリが備えられていても良い。いくつかの実施において、左及び右センサアセンブリ112L、112Rは、リニアセンサを備える。いくつかの実施において、リニアセンサは、印加された力に対し少なくとも限定された範囲にわたりリニアな応答を有する。いくつかの実施において、応答は、印加された力の全範囲でリニアであっても良く、他方、他の実施においては、応答は、印加された力に対する限定された範囲のみでリニアであっても良い。他の実施においては、非線形センサが用いられても良く、非線形センサからの信号は、例えば、信号の大きさに対する印加された力の推定値を演算する為にロボットのコントローラによって再マッピングすることができる。例示的なリニアセンサは、ホール効果センサ、容量性センサ、又は誘導性センサを含む。好適なタイプのリニアセンサが用いられても良い。以下の例は、磁界に応答してその出力電圧が変化するトランスデューサであり得るホール効果センサの使用を取り扱う。ホール効果センサは、磁界に応じて直接的にアナログ電圧信号を応答するアナログトランスデューサとして動作することができる。既知の磁界を用いて、ホールプレートからの距離が決定され、磁石に対する相対的な位置は、測定された電圧に基づいて推定することができる。
【0041】
図1Fを参照すると、バンパシャーシ171は、左側磁石170Lが搭載され収容される左台座又は柱168Lを備える。左側磁石170Lは、上述の左バンパセンサアセンブリ112Lの一部を構成する。バンパシャーシ171は、また、右バンパセンサアセンブリ112Rの為の右側柱168R及び右側磁石170Rを備える。磁石170Lは、磁石170Lがロボット100のロボット本体102に対して移動することを可能にするバンパシャーシ171の柱168Lに連結されていても良い。
【0042】
図1Hを参照すると、本例において、プラットフォーム172がロボット本体102に固定される。バンパ110がロボット本体102に対して移動するときに、バンパ110に固定されたバンパシャーシ171もまた、プラットフォーム172に対して移動する。バンパシャーシ171は、(例えば、環境内の障害物との接触による力に応答した)バンパ110の動的な応答を減衰させる為、バンパの運動エネルギーを分散させる為、及び機械的なショックを吸収する為に、弾性の有る柱164に取り付けることができる。
【0043】
いくつかの実施において、プラットフォーム172は、左ホール効果センサ176L及び模擬ホール効果センサ176Rを有する回路基板174を備える。いくつかの実施において、バンパセンサアセンブリ112L、112Rは、ロボット本体102に取り付けられた第1の構成部品(センサ176L,176R)、及び、バンパシャーシ171を経由してバンパ110に取り付けられた第2の構成部品(磁石170、170R)を備える。
図1Cに戻って、左バンパセンサアセンブリ112Lは、ロボット本体102に連結された左側センサ176Lと、バンパシャーシ171を介してバンパ110の左側部110Lに連結された左側磁石170Lとを備える。右バンパセンサアセンブリ112Rは、ロボット本体102に連結された右側センサ176Rと、バンパシャーシ171を介してバンパ110の右側部110Rに連結された右側磁石170Rとを備える。左側センサ176Lは、(
図1Aに示すように)ロボット本体102の左側102L上に又はその近くで且つ左側磁石170Lの上部に位置付けられる。右側センサ176Rは、ロボット本体102の右側102R上に又はその近くで且つ右側磁石170Rの上部に位置付けられる。ホール効果センサ176L、176Rは、例えば、磁石170L、170Rによって生成された磁界のような、近くの磁界に応答して電圧を生成する。
【0044】
左右のバンパセンサアセンブリ112L、112Rの構成は、左右のセンサ176L、176Rがセンサ176L、176Rに対する磁石170R、170Lの動きを検出することを可能にする。磁石170R、170Lは、磁石170R、170Lがセンサ176R、176Lから離れ又はそれらに近付くときに、センサ176R、176Lの位置で変化する磁界を生成する。左右のセンサ176L、176Rは、左右のセンサ176L、176Rそれぞれに対する左右の磁石170L、170Rの動きに応答して電圧を次々に発生する。電圧は、磁界の変化に対してリニアに変化する。したがって、センサ176L、176Rは、バンパ110が押し込まれる程度に基づいて変化するアナログ応答信号を提供する。磁石170L、170Rが、それぞれのセンサ176L、176Rから遠くに移動すると、センサ176L、176Rの位置での磁界の強さは弱まり、よって、センサ176L、176Rは、より低い電圧を生成する。それとは対照的に、磁石170L、170Rがそれぞれのセンサ176L、176Rに近付いていくと、センサ176L、176Rの位置での磁界の強さは増加し、よってセンサ176L、176Rは、より大きな電圧を生成する。センサ176L、176Rは、ロボット本体102に連結され、磁石170L、170Rは、バンパ110に連結されているので、センサ176L、176Rによって生成されるアナログ電圧は、バンパ110の部屋内での障害物、例えば壁、との接触による、ロボット本体102に対するバンパ110の動きに対応している。例えば、壁とバンパ110との間の摩擦力は、バンパ110を、非押圧位置と部分的押圧位置との間で移動させ、ホール効果センサに、壁とバンパとの間の摩擦によりバンパが経験する押圧の大きさにしたがってリニアに変化する電圧を登録させる。更に詳細には、センサ176L、176Rからの信号(例えば、センサ176L、176Rの電圧)は、ロボット本体102に対するバンパ110の動きにしたがってリニアに変化する。
【0045】
センサ176L、176Rは、ホール効果センサであるとして記載されてきたけれども、いくつかの実施において、センサは、バンパセンサアセンブリが容量センサによって感知されたキャパシタンスの変化に基づいて動作する容量性センサであっても良い。例えば、容量性プレートで磁石170L、170Rを置き換えることができ、対応の容量性プレートのペアは、ホール効果センサ176L、176Rを置き換えることができる。左右のプレートのペアのキャパシタンスは、例えば、RC(抵抗-容量)時定数を測定することによって、電気的結合を動的に測定する様々な技術を個別に用いて測定することができる。左右のペアのキャパシタンスは、容量性プレートからの容量性センサの距離にリニアに依存して変化し得る。他の実施において、センサ176L、176Rは、誘導性センサである。この場合には、回路基板上の容量性プレートは、インダクタとして機能するらせんのPCB(プリント回路基板)トレースで置き換えることができる。バンパシャーシ171は、(磁石170L、170Rの代わりに)らせんトラースを通過するコア材を備えることができる。バンパ110が押圧されると、らせんトレースを横断するコア材の量は変化し、インダクタンスの変化を生じさせる。これらのトレースのインダクタンスは、例えば、発振回路を用いて、LR(誘導性-抵抗性)又はLRC(誘導性-抵抗性-容量性)時定数を動的に測定することで、誘導性結合を測定することによって測定することができる。
【0046】
左右のセンサアセンブリ112L、112Rが記載されてきたけれども、いくつかの実施において、ロボットは、追加として及び/又は代替として、ロボットの左側部とロボットの右側部の間に配置される前部センサアセンブリを備えていても良い。前部センサアセンブリは、ロボットの前方部に隣接して配置されていても良く、また、例えば、右方向R及び左方向Lにおけるバンパの動きに応じた信号を生成することができる。前部センサアセンブリは、バンパへの横方向の力を検出することができる。
【0047】
磁石170R、170Lはバンパ110に固定されると記載され、センサ176L、176Rはロボット本体102に固定されるときさいされてきたけれども、いくつかの実施において、センサはバンパに固定され、磁石はロボット本体に接続されても良い。このような実施においては、センサ及び磁石は、磁界をセンサの位置で変化させるように、互いに移動することができる。
【0048】
図2A、2B及び2Cに示されるように、バンパ110のニュートラル位置110Nが破線で示されている。ニュートラル位置110Nは、ロボット本体102に対してバンパ110を移動させる(押し込まれる)ように力がバンパ110に加わる前のバンパ110の位置に対応する。本明細書にさらに詳細に記載されるように、ニュートラル位置110Nは、一つの清掃動作から別の清掃動作へと変化することができる。清掃動作中に、ロボット100は、ニュートラル位置110Nがバンパ110の非押圧状態として解釈されるように、ニュートラル位置110Nをキャリブレートすることができる。バンパ110の押圧は、互換的に、バンパ110の後方への平行移動と記すこともできる。バンパ110を表す
図2A、2B及び2Cにおける実線は、力がバンパ110をロボット本体102に対して移動させた後のバンパ110の位置に対応する。
【0049】
バンパ110は、バンパ110上の力の方向及び位置(例えば、バンパ110と接触する障害物の相対的な方向及び相対的な位置)に依存して移動し得る。
図2Aを参照すると、左側部110R及び右側部110Lが後方向Aに移動すると、バンパ110は、ロボット本体103に対して後方向Aに平行移動する。ロボット100が前方向Fに移動する際のバンパ110の前方部110Fと壁面20などの障害物との接触は、バンパ110の後方向Aへの平行移動を生じさせる。
図2Bを参照すると、ロボット100がロボット本体102の左側で障害物に遭遇すると、バンパ110は、右側部110Rよりも左側部110Lでより大きく押し込まれる。左側部110Lは、右側部110Rが左側部110Lよりも小さく押し込まれるように右側部110Rが前方向F又は後方向Aに移動する間、後方向Aに移動する。バンパ110は、例えば、清掃パッドの前方部がロボット本体102と一直線に合わされるように、後方向Aに平行移動し、ロボット本体102に対して反時計回りに回転する。ロボット100が前方向Fに移動するときのバンパ110の左側部110Lと壁面20との接触は、例えば、左側部110Lと壁面20との摩擦の為に、バンパ110の時計回りの回転及び後方への平行移動を生じさせる。
図2Cを参照すると、ロボット100がロボット本体102の右側で障害物に遭遇すると、バンパ110は、左側部110Lよりも右側部110Rでより大きく押し込まれる。左側部110Lが右側部110Rよりもより小さく押し込まれるように、左側部110Lが前方向A又は後方向Fに移動する間に、右側部110Rは後方向Aに移動する。バンパ110は、例えば、清掃パッドの前方部がロボット本体102に対して角度をつけられるように、ロボット本体102に対して後方に平行移動し時計回りに回転する。ロボット100が前方向Fに移動する際のバンパ110の右側部110Rと壁面20との間の接触は、例えば右側部110Rと壁面20との摩擦の為に、バンパ110の時計回りの回転及び後方への平行移動を生じさせる。
図1Hを参照すると、左右のバンパセンサアセンブリ112L、112Rは、
図1A~
図1Cを参照して上述したように、左側部110L及び右側部110Rの動きを検出することができる。言い換えると、左右のバンパセンサアセンブリ112L、112Rは、バンパ110の左側部110L及び右側部110Rの押圧を検出するように構成されている。
【0050】
バンパ110は鉛直面(例えば、壁)等の障害物と接触すると記載されてきたけれども、移動する為の環境内において、いくつかの実施では、バンパ110は、清掃パッドと環境内での表面との接触により移動しても良い。
【0051】
本明細書に記載される例示的なロボットは、パターンに従うことによって又は表面をランダムに横断することによって、表面を横断することができる。ロボットの例示的な移動挙動は、壁追従パターン及びエリアカバレッジパターンを含む。例えば、壁追従パターンは、直線動作パターンであっても良く、エリアカバレッジパターンは、つる状(vine)パターン、コーンロー型(cornrow)パターン、又はこれらのパターンの組み合わせであっても良い。他のパターンもまた可能である。
【0052】
概して、直線動作パターンにおいて、ロボット100は、壁などの鉛直な縁端によって規定される障害を追従する直線経路内を移動することができる。概して、直線動作パターンは、壁追従挙動に対応する。鳥の足跡パターンの連続的且つ繰返しの使用は、つる状パターン又はつる状伸びパターンとも称される。つる状パターンにおいて、ロボット100は、ロボット100が、概ね前方への軌跡に沿って漸次前進する間にロボット100が前後に移動する鳥の足跡パターンの繰返しを実行する。鳥の足跡パターンの各繰返しは、ロボット100を概ね前方の軌跡に沿って前進させ、鳥の足跡パターンの繰返しの実行は、ロボット100が概ね前方の軌跡に沿って床面上で横断することを可能にする。コーンロー型パターンにおいて、ロボット100は、床面を横断する概ね平行な一連の列を形成する為に、ロボット100が部屋の各横断間でパターンの縦の移動に対して垂直にわずかに移動するように、部屋内を前後に移動する。ロボット100は、ロボット100が部屋を横断するときにつる状及びコーンロー型のパターンを使用し、ロボット100が部屋の周縁又は部屋内の物の縁端を移動するときに直線動作パターンを使用する移動動作を実行することができる。
【0053】
図3Aを参照すると、一つの例において、ロボット100は、清掃液124が塗布される床面10上の足跡エリアAFを通して、上述の鳥の足跡パターンで移動する。描写された鳥の足跡パターンは、ロボット100を、(i)中心軌跡300に沿って前方向F及び逆方向Aに、(ii)左軌道310に沿って前方向F及び逆方向Aに、及び(iii)右軌道305に沿って前方向F及び後方向Fに移動させることを含む。左軌道310及び右軌道305は、中央軌道300上のスタート地点から外側に弧状に延びる、弓形の軌道である。左軌道310及び右軌道305は弓形の軌道であると説明し図示したが、別の実施例においては、左軌道及び右軌道は、中央軌道から外側に延びる直線軌道であり得る。
【0054】
図3Aに示す例においては、ロボット100は、位置Aから中央軌道300に沿って前方向Fに移動する。ロボット100は、次いで、液体塗布によって覆われるべき距離以上の距離を、中央軌道に沿って後方向Aに移動する。例えば、ロボット100は、中央軌道300に沿って少なくとも一ロボット長さL
Rだけ後退して位置Cまで移動する。位置Cは、位置Aと同位置であってもよい。ロボット100は、ロボット100の足跡領域AFと実質同一かそれ以下の領域に清掃液124を塗布する。ロボット100が壁20まで戻る際に、清掃パッド120は清掃液124上を通過し床面10を清掃する。位置Bから、ロボット100は後退し、それぞれ位置E又は位置Cに移動する前に、左軌道310又は右軌道305に沿ってそれぞれ位置F又は位置Dに向かう。いくつかの場合においては、位置C、Eは、位置Bに相当し得る。ロボット100は、次いで移動を継続し、残りの軌道を完了させることができる。中央軌道300、左軌道310、及び右軌道305に沿って前後に移動する度に、清掃パッド120は塗布された清掃液124上を通過し、埃、デブリ、及び他の粒子状物質を床面10からこすりとり、床面10から汚れた液体を吸い取る。清掃液124の溶剤的性質と組み合わされた清掃パッド120のこすり動作により、乾燥したシミや汚れが分解されほぐされる。ロボット100によって塗布された清掃液124は、清掃パッド120がほぐされたデブリを吸収し床面10から取り除くよう、ほぐされたデブリを浮き上がらせる。
【0055】
図3Bを参照すると、ロボット100は、部屋の床面10をカバーする為に上述のつる状パターン及びコーンロー型パターンの組合せを実行し、経路325に追従して部屋320を走行する。コーンロー型パターンの各列は、隣接する列から距離Dだけ間隔を置かれる。この例において、ロボット100は、清掃液124の使用が必要な清掃モードで動作しており、ロボット100は、経路325上でロボットの前方に清掃液124を噴出する。ロボット100は、各コーンロー型パターンの長さに沿って鳥の足跡パターンの繰返しを含むつる状パターンを実行することにより、経路325に沿って前進する。本明細書に記載されるように、各鳥の足跡パターンでは、ロボット100は、最後には、その最初の位置に対して概ね前方向である位置にある。
【0056】
経路325は、ロボット100が部屋の領域326を清掃することを可能にするが、経路325のつる状及びコーンロー型パターンは、部屋の領域327を清掃し損ねることを生じさせ得る。例えば、狭い廊下である領域327は、幅Wを有する。いくつかの場合には、領域327の幅Wは、コーンロー型パターンの列間の距離Dの2倍未満である。その結果、ロボット100がコーンロー型パターンを実行するとき、ロボット100は、領域327に入ることなく、壁20に接触し、したがって、コーンロー型パターンを単に用いることでは領域327を清掃することはできないであろう。本明細書に記載されるように、いくつかの実施において、ロボット100は、壁追従ルーチンに基づいて部屋320の残り部分から領域327を分ける、約2つのロボット幅より小さい幅を有する出入口328又は他の狭い領域を検出することができる。
【0057】
壁追従挙動は、ロボット100が、壁/床境界を清掃すること(例えば、
図1の壁-床境界30)、部屋のコーナーを清掃すること、及び領域327などの壁面20に隣接する未清掃の領域を清掃することを可能にする。
図3Cを参照すると、コーンロー型及びつる状パターンを用いて実行されたエリア清掃に続いて、ロボット100は、部屋の周囲を清掃する為に壁追従を実行することができる。ロボット100は、ロボット100に加わる比較的均一な力で及び僅かな角度で壁面20と密着し続けることによって直進パターンを実施して、経路350に追従する。ロボット100は、清掃液124を用いる清掃モードで動作しているので、ロボット100は、経路350に沿ってロボット100の前方に清掃液124を塗布する。いくつかの例において、僅かな角度で壁面に接触することは(例えば、ロボットの縁端及び壁は互いに平行ではない)、壁まで部屋全体が清掃パッドで清掃されるように、壁面に対して清掃パッドの一部を押し付けるという有利さを提供することができる。いくつかの例において、僅かな角度で壁面に接触することは、ロボットの前方向への動きを妨げるようにロボットと壁面間での接触及び摩擦を生じさせることなく、ロボットが(例えば、壁まで伸びるパッドによって)壁に対して位置付けられるとロボットが判定することを可能にするという有利さを提供することができる。
【0058】
本明細書に記載されるように、壁追従テクニックは、ロボット100が、
図3Bの経路御325に沿ったコーンロー型及びつる状挙動でミスされたエリアを清掃することを可能にすることができる。いくつかの場合には、コーンロー型及びつる状挙動を単に実行することは、例えば、障害物、部屋の幾何学的な特徴、及びロボット100の幾何学的な特徴により、ロボットが部屋のある領域を無視することを生じさせ得る。ロボット100が壁面20を追従するとき、ロボット100は、部屋320の領域327に入ることができ、ロボット100のコントローラは、以前に実行されたコーンロー型及びつる状パターンの間にロボットが領域327を清掃しなかったと判定することができる。いくつかの場合には、領域327を発見すると、ロボット100は、領域327内で、続くコーンロー型及びつる状パターンを実行しても良い。他の場合には、ロボット100は、壁追従を実行し、コントローラは、領域327の壁20についての壁追従は、領域327の床面を清掃するのに十分であると判定することができる。
【0059】
図3Dを参照すると、他の例において、ロボット100は、障害物375を有する部屋327を走行する。ロボット100は、部屋327の領域382を清掃する為に経路380を追従することにより、部屋327を通して、コーンロー型パターンといった、エリア清掃パターンを実行する。しかしながら、障害物375(例えば、トイレ)との接触の為に、経路380の列380a、380bは他の列よりも短く、よって、ロボット100は、領域384を清掃しない。したがって、ロボットがアクセスすることのできる、障害物の向こう側の又は障害物で覆い隠された領域(例えば、領域384)は、エリア清掃挙動中は、横断されないままである。
【0060】
ロボット100がコーンロー型及びつる状経路380を完了した後、
図3Eを参照すると、ロボット100は、例えば、部屋372の壁20に近づき、経路390を追従することによって、領域384の周囲に沿って壁追従を実行する。ロボット100は、部屋372の壁20に沿って清掃を行う為にロボットが壁20と密着するときに、平均バンパ度合を特定の範囲内に維持することによって、壁20との接触を維持する。経路390は、ロボット100が、コーンロー型及びつる状パターンではロボット100が到達できなかった、障害物375の後側を清掃することを可能にする。
【0061】
いくつかの場合には、領域384は、領域384内での続くコーンロー型及びつる状パターンの実行を保証するのに十分に大きくても良い。ロボット100が壁20に沿って清掃を行うとき、ロボット100は、壁20によって定義される境界がロボット100がコーンロー型パターンを実行するときにコントローラによって決定される境界にマッチしなくてもよいと認識することができる。ロボット100は、次に、障害物375を見つけるように進行し、障害物パターン391を追従することによって障害物375の周りを清掃する。ロボット100は、ロボットが障害物375と床面10との間の境界を清掃することができるように、障害物375によって定義される側面に沿って壁追従挙動を実施する。
【0062】
コーンロー型及びつる状パターンを用いるとき、ロボットは、ロボットの幅よりもほんの僅か大きい廊下(例えば、1~1.2倍大きい、1.2~1.4倍大きい、1.4~1.6倍大きい、1.6~1.8倍大きい、1.8~2.0倍大きい)に入り損ね得る。ここで
図3F~
図3Hを参照すると、別の例では、ロボット100は、出入口395で分離された第1の部屋393と第2の部屋394とを有する環境392を清掃する。第2の部屋394は、ロボット100がコーンロー型及びつる状パターンを実行することを保証するのに十分に大きい。
図3Fに示されるように、ロボット100は、第1の部屋393を清掃する為に、例えば、コーンロー型及びつる状パターンのエリアカバレッジパターン396を実行する。エリアカバレッジパターン396を用いて、ロボット100は、出入口395及び第2の部屋394を清掃し損ねる。なぜならば、ロボット100がエリアカバレッジパターンの列396aを実行するときに、ロボット100は環境392の壁面20に接触し、第2の部屋394に出入口395を通って入ることができないからである。コーンロー型パターンの各列は隣接の列から、約ロボット100の幅である距離D
Rだけ、間隔をあけられている。出入口395は、幅W
Dである。いくつかの場合には、幅W
Dは、距離D
Rの2倍未満である。
図3Gに示されるように、ロボット100は、第1の部屋393内でエリアカバレッジパターン396を完了すると、壁追従パターン397を実行する。ロボット100は、壁追従パターン397に続いて、出入口395を通して進行することができ、第2の部屋394へのアクセスを得ることができる。ここで
図3Hを参照すると、第2の部屋394は、ロボット100が第2の部屋394を清掃する為にエリアカバレッジパターンを実行することができるだけ十分に大きい。ロボット100は、
図3Gに示されるように壁追従パターン397を用いて第2の部屋394へのアクセスを得ると、第2の部屋394を清掃する為にエリアカバレッジパターン398を実行する。
【0063】
図4を参照すると、ロボット100の制御システム400の例は、駆動装置410、清掃システム420、バンパセンサシステム435を有するセンサシステム430、挙動システム440、ナビゲーションシステム450及びメモリ460を動作させる制御回路405(以下、コントローラとも記す)を備える。
【0064】
駆動装置410は、x、y、θ成分を有する駆動コマンドに基づいて床面上でロボットを動かす為の車輪(例えば、
図1Bに示される車輪121)を備えることができる。駆動装置410の車輪は、床面上でロボット本体を支持する。コントローラ405は、更に、床面上でロボット100を操縦するように構成されたナビゲーションシステム450を動作させることもできる。ナビゲーションシステム450は、メモリ460に格納された移動パターン又は挙動を選択することができる挙動システム440にその移動コマンドの基礎をおいている。ナビゲーションシステム450は、また、駆動コマンドを決定し駆動装置410に発行する為に、衝突センサ、加速度計、及びロボットの他のセンサを用いるセンサシステム430と通信する。
【0065】
センサシステム430は、追加として、3軸加速度計、3軸ジャイロスコープ、及び車輪(例えば、
図1Bに示された車輪121)用のロータリエンコーダを備え得る。コントローラ405は、x、y方向におけるドリフトを推定する為に3軸加速度計からの、感知された線形加速度を利用することもでき、ロボット100の進路又は方向におけるドリフトを推定する為に3軸ジャイロスコープを利用することもできる。したがって、コントローラ405は、ロボット100の概略の姿勢(例えば、位置及び方向)の推定値を生成する為に、ロータリセンサ、加速度計、及びジャイロスコープによって収集されるデータを組み合わせることができる。いくつかの実施において、ロボット100は、ロボット100がコーンロー型パターンを実施するときにロボット100が概ね平行な列に留まるように、エンコーダ、加速度計、及びジャイロスコープを用いることができる。ジャイロスコープ及びエンコーダは、環境内でロボット100の位置を判定するようデッドレコニングアルゴリズムを実行する為に、コントローラ405によって追加として、一緒に、使用され得る。センサシステム430は、また、車輪121(
図1B参照)の為の電流センサ123を備える。コントローラ405は、各車輪121に伝達されている電流の量を判定し車輪121の速度を判定する為に電流センサ123からの検出された電流を用いることができる。
【0066】
コントローラ405は、例えば、所定の期間、所定の周波数のスプレーコマンドを始動させる為に、清掃システム420を動作させる。スプレーコマンドは、メモリ460に保存されたスプレーセケジュールにしたがって発行され得る。コントローラ405は、床面を擦るために清掃パッド120を振動させるように、清掃システム420を動作させることができる。
【0067】
センサシステム430のバンパセンサアセンブリ435は、バンパ110の環境内の障害物との接触を検出するバンパセンサアセンブル112L、112Rを備える。コントローラ405は、バンパセンサアセンブリ112L、112Rによって生成された電圧を解釈することによって、バンパセンサシステム435を実現することができる。
【0068】
再び
図2A~
図2Cを参照すると、ロボット100は、バンパセンサシステム435からの信号を用いて、バンパ110左側部110Lが押圧された度合い(以下、左側バンパ度合と記す)、及びバンパ110の右側部110Rが押圧された度合い(以下、右側バンパ度合と記す)を判定することができる。他の場合には、バンパセンサシステム435は、左側部110L及び右側部110Rの両方が、
図2Aに示されるようにロボット100の前方向Fにおける障害物との接触を示し得る押圧状態であることを感知することができる。左側バンパ度合及び右側バンパ度合は、バンパ110の押圧状態とバンパ110の非押圧状態の間の押圧量であっても良い。
【0069】
図1Hを再び参照すると、センサ176L、176Rに対する磁石170L、170Rの位置は、バンパ110が押圧されるときに、磁石170L、170Rがセンサ176L、176Rに対して移動するように、セットすることができる。その結果、センサ176L、176Rによって生成される電圧は、バンパ110が押圧されるにしたがって変化する。特に、センサ176L、176Rによって生成される電圧は、磁石170L、170Rが、センサ176L、176Rを収容するバンパシャーシ171を備えるバンパ110の押圧の為にセンサ176L、176Rに近付くにしたがって増加する。このように、左側及び右側バンパ度合は、生成された電圧にリニアに比例する。ロボット100のコントローラ405は、左側バンパ度合及び右側バンパ度合を割合として正規化しても良く、左側バンパ度合及び右側バンパ度合の平均バンパ度合を求めても良い。各清掃動作について、コントローラ405は、0%がバンパの非押圧状態に対応し、100%が押圧状態に対応するように、左側バンパ度合及び右側バンパ度合をキャリブレートすることもできる。負の割合は、バンパ110の延長を示していても良い。本明細書に記載されるように、制御システム400は、ロボット100が壁又は他の障害物(浴室固定物など)を追跡し、床面と壁面の境界によって規定される到達困難なコーナーや裂け目を清掃することを可能にする壁追従挙動を実施する為に、バンパセンサアセンブリ435及び検出された左及び右側バンパ度合を利用することができる。例えば、壁に追従しているとき、ロボット100のバンパ110は、バンパ110と壁との摩擦の為に部分的に押圧されるであろう。ロボット100は、ほぼ一定の押圧を維持する為のロボットの回転及び並進速度を連続的に調整する為に、バンパ押圧の度合い及び左及び右側バンパ押圧間の相違を維持することによって、壁との接触を維持することができる。
【0070】
他の場合には、ロボット100は、左側バンパ度合と右側バンパ度合との相違を演算することができる、正の相違は、左側バンパ度合が右側バンパ度合よりも大きいことを示し、負の相違は、右側バンパ度合が左側バンパ度合よりも大きいことを示す。ロボット100が、バンパ100の左側部110Lが壁面20aと隣接するように壁追従を実行しているとき、ロボット100は、相違が、例えば、0%~10%、5%~15%、4%~20%といった範囲内にあるように維持することができる。ロボット100が、バンパ100の右側部110Rが壁面20aと隣接するように壁追従を実行しているとき、ロボット100のコントローラ405は、駆動装置410に駆動コメンドを送信することにより、相違が、例えば、-5%~-15%、-10%~0%、-20%~-4%といった範囲内にあるように維持することができる。コントローラ405は、左側バンパ度合及び右側バンパ度合の平均値を交互に決定することができる。
【0071】
メモリ460には、本明細書に記載される、正規化された平均バンパ度合に関連する閾値及び制限値を読み込むことができる。メモリ460には、また、ロボット10の製造中に実行された静的キャリブレーション結果を読み込むこともできる。静的キャリブレーションは、ロボットが記述された動的キャリブレーションが有効と考える範囲を定義することもできる。いくつかの例において、ロボットが繰返し使用されるときに、バンパを保持する柱の位置は少しの量だけ変化するであろう。このような変化を相殺するために、キャリブレーション処理が、バンパの非押圧位置及び関連のセンサ読取り値が変化したか否かを判定する為に用いられ得る。このキャリブレーションは、各清掃ミッションの前にロボットを起動させると実行され得る、及び/又は、清掃中に5~10秒おきに動的に実行され得る。
【0072】
図1A、
図3C及び
図4を再び参照すると、ロボット100は、ロボット100が壁面20と密接に境界を接する床面10を清掃することを可能にする特定の処理を実施することができる。コントローラ405は、ロボット本体102に平均バンパ度合の値に基づいて壁面20を追跡させる為に、ロボット本体102を制御することができる。この値は、バンパセンサシステム435(例えば、バンパセンサアセンブリ112L、112R)によって生成される信号に基づき、また、この値は、押圧状態と非押圧状態との間の押圧範囲又は間隔内にあるようにバンパが部分的に押圧されていることを示すことができる。コントローラ405は、次に、(例えば、正規化されたバンパ度合に基づいて)バンパが押圧範囲又は間隔内にあるか否かを判定することができる。例えば、コントローラ405は、バンパが壁追従の為の閾値押圧レベル、例えば、2%~2.5%、2.5%~3%、3%~3.5%、3.5%~4%、4%~4.5%、4.5%~5%、5%~5.5%、5.5%~6%、6%~6.5%、6.5%~7%、7%~7.5%に達したと判定しても良い。それから、バンパが押圧状態と非押圧状態の間の所定の範囲内(例えば、2%~5%、2.5%~7.5%、5%~10%、5%~15%、7.5%~12.5%、10%~15%、5%~20%、10%~20%)で押圧されている限り、壁追従処理が実行され続行されても良い。つまり、壁追従処理は、バンパとロボット間の力の大きさが特定の範囲内にあり続ける限り継続する。ロボット100は、ほぼ一定のバンパの押圧を維持するようにロボット100の回転及び並進速度を継続的に維持することによって、力の大きさを特定の範囲内に維持することができる。押圧量が上側閾値(例えば、20%)を超えた場合、壁追従処理は終了しても良く、また、他の処理が、本明細書に記載されるように、壁追従を継続する為にパターン横断を再度設定し又は壁又は他の障害物と再度密着するように、ロボットの制御を引き継いでも良い。
【0073】
予め規定された範囲又は間隔内で、ロボット100のコントローラ405は、平均バンパ度合を維持することができ、また、いくつかの場合には、ほぼ一定の押圧を維持するように回転及び並進速度を調整することによって、左側及び右側バンパ度合間の相違を維持することができる。壁追従の間、ロボット100は、回転することなく公称並進速度(例えば、50mm/s~150mm/s、150mm/s~250mm/s、250mm/s~350mm/s)で進行することができる。平均バンパ度合がメモリ460に格納された目標平均バンパ度合からそれたとき、コントローラ405は、ロボット100の速度をその偏差に比例する量だけ減少させる為に、駆動装置410に駆動コマンドを渡すことができる。バンパ度合相違がメモリ460に格納された目標相違からそれたとき、コントローラ405は、ロボット100の回転速度をその偏差に比例する量だけ増加させる為に駆動装置410に駆動コマンドを渡すことができる。いくつかの実施において、回転及び並進速度は、平均バンパ度合及びバンパ度合相違の変化率にそれぞれ比例する量だけ調整することができる。
【0074】
いくつかの場合には、非押圧位置は、ロボット本体102のバンパ110を搭載する弾性のある柱164の位置変化により、一つの清掃動作から別の清掃動作へと変化するであろう。清掃動作の間、コントローラ405は、バンパ110のロボット本体102に対する位置の変化を相殺する為に非押圧位置を動的にキャリブレートすることができる。コントローラ405は、(バンパが壁面に接触していないときに)清掃動作の開始時点で、弾性のある柱164に対するバンパの初期位置をキャリブレートすることができる。例えば、バンパがニュートラル位置にある状態でのバンパセンサアセンブリ112L、112Rの電圧信号が非押圧位置に対応するように設定することができる。言い換えると、それらの電圧は、正規化された平均バンパ度合0%を示すことができる。上述のように、メモリ460は、正規化平均バンパ度合0%を概ね示すことができる有効電圧範囲(よって、有効キャリブレーション範囲)を含む。
【0075】
図5A~
図5Fは、ロボット100が部屋の壁20に沿って清掃するように実施される挙動の例を示している。この例において、壁面20は、壁面20aと壁面20bの交点である内側コーナー500を含む。
【0076】
図5Aを参照すると、ロボット100は、壁追従挙動を実行しながら内側コーナー500に近付く。壁追従挙動の間、ロボット100は、清掃パッドが壁面20と床面10との境界(例えば、
図1における壁-床境界30)を清掃することができるように、清掃パッドを壁面20に対して配置する。ロボット100は、ロボット100のバンパ110で壁面20aに接触することにより壁面20とのこのような接近を達成することができる。接触は、壁20とバンパ110との間で十分な接触力を維持し、少なくともその力が維持される間は壁追従を継続するように、わずかな角度(例えば、約1度~約10度、約3度~約15度、約3度~約20度、約5度~約20度、約3度~約10度、約10度~約20度)でなされる。本例において、ロボット100は、清掃パッドが壁-床境界(例えば、
図1における壁-床境界30)を追従できるように、バンパ110の右側部110Rを用いて壁面20aと接触する。壁追従の為に十分な接触は、バンパと壁間の力の大きさが、バンパ110が部分的に押圧された所望の押圧範囲にあるとき検出される。
【0077】
壁追従の間、ロボット100は、平均バンパ度合が、例えば、0%~5%、2.5%~7.5%、5%~10%、5%~15%、5%~20%、7.5%~10%、7.5%~12.5%、10%~15%、10%~20%であり得る所定の間隔内にあるように、バンパ110を部分的押圧状態に維持する為に、ロボット100自体を壁に対して位置付けることができる。いくつかの例において、この間隔の上側では、ロボット100は、バンパ110を強すぎる力で壁面20aに押し付けるであろうし、また、ロボット100の前方への動きを妨げ及び/又は障害物を示し得る。この間隔の下側では、ロボット100は、清掃パッド120が床面10と壁面20aとで規定される裂け目又はコーナーに達することを可能にするように、バンパ110を壁面20aに対して十分に強い力では押し付けないであろう。コントローラ405が上記の間隔を超える力を検出すると、コントローラ405は、ロボットを壁から離す動作を起動し、(更なる壁追従の為に)壁と再び密着するか又は壁から離れる。コントローラ405が上記の間隔より低い力を検出すると、コントローラは、壁との更なる接触の状態でロボットを移動させ、又はコーンロー型及びつる状パターンなどのカバレッジパターンを開始するように動作を起動しても良い。
【0078】
図5Bを参照すると、この例において、ロボット100は、バンパ110の前方部110Fで壁面20bに接触するまで壁面20aに追従する。前方部110Fで壁面20bに接触すると、平均バンパ度合は、壁追従の為の上側閾値バンパ度合を超えて増加し、ロボット100がバンパ110の前方部110Fで表面(例えば壁面20b)を押していることを表す。正規化された平均バンパ度合の上側閾値は、例えば、7%~8%、7.5%~8%、8%~9%、9%~10%、10%~11%、11%~12%、12%~13%、13%~14%、14%~15%、15%~16%、16%~17%、17%~18%、18%~19%、19%~20%である。いくつかの場合には、電流センサ123及び/又はエンコーダからの信号に基づいて、コントローラ405は、ロボット100の車輪が所定の速度よりも遅い速度で移動していると判定し、ロボット100はもはや壁面20aに沿っては進行していないと示すことができる。ロボット100のバンパ110上の力は、車輪へ伝達される電流と比較した車輪の速度に基づいて推定することができる。車輪の速度を車輪に伝達される電流で割った値は、車輪への力に比例するので、コントローラ405は、各車輪への力を演算することができる。コントローラ405は、車輪と共に動作するエンコーダからの信号に基づいて車輪の速度を判定し、車輪の電流センサ123からの信号に基づいて車輪の電流を判定することができる。コントローラ405は、次に、各車輪への力を推定し、推定された力間の差を演算し、そして、その差に基づいてロボットの質量中心周りのトルクを演算することができる。コントローラ405は、トルクに基づいてバンパ110の力を演算することができる。いくつかの実施において、メモリ460は、バンパ110が鉛直に向けられた表面に接触する間コントローラ405が維持することができる目標力範囲(例えば、0.1N~0.2N、0.1N~0.3N、0.1N~0.5N、0.5N~1N)を含むことができる。
【0079】
図5C、
図5D、
図5Eでは、ロボット100は、(コーナーの他方の壁の)壁面20bに沿って壁面追従挙動を再度実行しようとしている。
図5Cを参照すると、平均バンパ度合が閾値バンパ度合を超えると、ロボット100は、前方移動を停止することによって応答し、バンパ110がもはや押圧状態とならないようにする為ロボット100が壁面20bから後退するよう、ロボット100の駆動を逆転させる。ロボット100は、平均バンパ度合が、例えば、7.5%~7%、7%~6%、6%~5%、5%~4%、4%~3%、3%~2%、2%~1%、1%~0%、0%未満であり得る、バンパ度合の下側閾値未満へ減少するまで後退を継続することができる。平均バンパ度合が下側閾値未満に減少すると、ロボット100は、バンパ110が壁面20bから所定の後退距離BDとなるよう、後退を続けることができる。距離BDは、ロボット100が方向転換するのに十分なスペースを持ち、壁面20bに沿って壁面追従を開始するように選択され得る。いくつかの場合には、距離BDは、例えば、5mm~10mm、10mm~15mm、15mm~20mm、20mm~25mm、25mm~30mm、30mm~35mm、約10mm、約20mm、約30mmであり得る。コントローラ405は、センサシステム430の加速度計及び/又は車輪エンコーダによって出力される信号を用いることによって、バンパ110の壁面20bからの距離を推定することができ、また、推定された距離を距離BDと比較することができる。
【0080】
図5Dを参照すると、本例において、ロボット100は、その前方駆動方向Fを壁面20bと実質的に平行な方向に(例えば、90度のコーナーの場合には、以前の進行方向に垂直に)向けることができるように、壁面20aから離れて向きを変える。
図5Eを参照すると、ロボット100は、次に、壁面20bへの壁追従挙動を再度行う。この時点で、ロボット100は、平均バンパ度合が本明細書に記載される所定の間隔内になるまで、バンパ110の右側部110Rを壁面20bに合わせ続けることができる。ここで
図5Fを参照すると、ロボット100が壁追従挙動を行うと、ロボット100は、平均バンパ度合が所定の間隔内のままであるように壁に対する力を維持することによって、壁面20bに沿って壁面追従挙動の実行を継続する。ロボット100は、バンパ110の右側部110Rの壁面20bとの接触を維持することによって、バンパ度合を増加させることができる。
【0081】
図6A~
図6Eは、壁面20cと壁面20dとの交差によって規定される外側コーナー600を含む壁20を清掃する為に実施される挙動の例を示している。
【0082】
図6Aを参照すると、ロボット100は、壁追従挙動を実行しながら外側コーナー600に近付く。壁追従挙動の間、ロボット100は、清掃パッドが床面10と壁20間の境界(例えば、
図1の壁-床境界30)を清掃することができるように、清掃パッドを壁面20cに密接して配置する。ロボット100は、壁面20とのこのような接近を、ロボット100のバンパ110で、接線方向に又は壁面20とバンパ110間のわずかな角度(例えば、約1度~10度、約3度~15度、約3度~20度、約5度~約20度、約3度~約10度、約10度~約20度)で壁面20cと接触することにより達成することができる。例えば、ロボット100は、清掃パッドが壁-床境界を清掃することができるように、バンパ110の右側部110Rで壁面20cと接触する。壁追従の間、ロボット100は、平均バンパ度合が、本明細書に記載される所定の間隔内にあるように、バンパ110の押圧を維持することができる。この間隔より上側では、ロボット100は、バンパ110を壁面20cに対して強すぎる力で押すであろう。このことは、ロボット100の前方への移動を妨げ得る。この間隔よりも下側では、ロボット100は、床面10と壁面20cによって規定される裂け目又はコーナーに清掃パッド120を届かせるようには、十分に強くバンパ110を壁面20dに押さないであろう。いくつかの実施において、より小さな力の閾値は、ノイズの相対的な影響を増加させ、ロボット100がコーナーに密着して追従し損ねる可能性が増すであろう。
【0083】
図6Bを参照すると、例示的な実施において、ロボット100は、平均バンパ度合がもはや所定の間隔内でなくなることを検出するまで、壁面20cに追従する。特に、ロボット100は、バンパ110が壁面20cとの接触を失い、平均バンパ度合がバンパ度合の下方閾値未満であること(例えば、バンパ110はもはや部分的に押圧されていないこと)を検出することができる。バンパ110の右側部110Rが壁面20cとの接触を失うと、本例において、もはや壁面20cと右側部110Rとの間の摩擦がバンパ110を押圧することはないので、平均バンパ度合はバンパ度合の下方閾値未満に低下する。平均バンパ度合のこの低下は、ロボット100がもはや壁追従を行ってはいないことを示す。バンパ度合の下方閾値は、例えば、7.5%~7%、7%~6%、6%~5%、5%~4%、4%~3%、3%~2%、2%~1%、1%~0%、0%未満であり得る。バンパ110が接触を失ったと検出すると、ロボット100は、前方への移動を停止することができる。
【0084】
図6C及び
図6Dにおいて、ロボット100は、壁面20dに沿っての壁追従挙動を再度行おうとする。
図6C及び
図6Dを参照すると、平均バンパ度合がバンパ度合閾値未満となったとき、ロボット100は、元々追従していた壁20cの方向に向かって方向転換し、バンパ110の右側部110Rが壁面20dと密着するまでロボット100をゆっくりと前進させることによって応答する。いくつかの実施において、平均バンパ度合がバンパ度合の下方閾値未満になったと判定すると、ロボット100のコントローラ405は、ロボット100を後方向Aに移動させるようにロボット100の車輪が方向を逆転するように、駆動コマンドを駆動装置410に発行することができる。コントローラ405が、例えば、車輪のエンコーダからの信号に基づいて、ロボット100が後方向Aに所定の距離移動したと判定した後、コントローラは、前方駆動方向Fが実質的に壁面20dと平行となるようにロボット100の車輪にロボット100を方向転換させる駆動コマンドを駆動装置410に発行する。いくつかの場合には、駆動コマンドは、前方駆動方向Fが壁面20dに対してわずかな角度(例えば、約1度~約10度、約3度~約15度、約3度~約20度、約5度~約20度、約3度~約10度、約10度~約20度)を形成するように、車輪にロボット100を方向転換させる。
【0085】
ロボット100が、壁面20への壁追従挙動を再度行った後、ここで
図6Eを参照すると、ロボット100は、平均バンパ度合を所定の間隔内に維持することによって、壁面20dに沿っての壁追従の実行を継続する。
【0086】
図3Bを再び参照すると、いくつかの実施において、ロボット100は、出入口328の側面にある地点325a、325bで壁面20と密着することによって、出入口328を検出することができる。地点325a、325bにおいて、ロボット100は、バンパの前部のおよそ半分のみが壁面20と接触するように壁面20と接触する。いくつかの場合には、バンパの前部の約25%~75%、40%~60%、45%~55%が、壁面20と接触する。地点325aにおいて、ロボット100のコントローラ405は、左バンパセンサアセンブリ112Lによって検出されたバンパ度合及び右バンパセンサアセンブリ112Rによって検出されたバンパ度合に基づいて、バンパ110の右側部110Rが壁面20と密着しており、バンパ110の左側部110Lが壁面20と密着していないと判定することができる。コントローラ405は、壁面20が右側部110Rが壁面20と接触する場所から左側部110Lが位置する場所までは壁面20は続いていないと判定することができる。地点325bにおいて、ロボット100のコントローラ405は、バンパ110の左側部110Lが壁面20と密着しており、バンパ110の右側部110Rが壁面20と密着していないと判定することができる。コントローラ405は、壁面20が左側部110Lが壁面20と接触する場所から右側部110Rが位置する場所までは壁面20は続いていないと判定することができる。地点325a、325bでのバンパ110との接触に基づいて、コントローラ405は、地点325aと地点325bとの間に、出入口328のような開口が存在すると判定することができる。コントローラ405は、地点325aと地点325bとの間の距離(約2D)を演算することができ、また、出入口328が、2Dよりも小さい幅Wを有すると判定することができる。
【0087】
図5A、
図5F,
図6A及び
図6Eに示されるように、ロボット100は、バンパ110の右側部110Rと壁面20a及び20bとの接触を維持することによって、壁面20a及び20bに追従する。いくつかの実施において、ロボット100は、追加として及び/又は代替として、バンパ110の左部分110Lと壁面との接触を維持することによって、壁面又は鉛直に向けられた表面に追従することができる。接触は、いくつかの実施においてロボットが所定の間隔内に維持しようとするバンパ110の押圧を生じさせる摩擦を生成する。いくつかの実施において、清掃パッド120は、バンパ110を越えて伸びていても良く、清掃パッド120及びバンパ110は、清掃パッド120に作用する力がバンパ110に移るように構成され得る。例えば、
図1Gを参照すると、弾性のある柱164は、清掃パッド120を機械的にバンパ110に接続する。その結果、清掃パッド上の摩擦力は、バンパを押しこむことができ、よって、平均バンパ度合を増加させる。
【0088】
図7A~
図7Dを参照すると、ロボット100は、前方駆動方向Fと壁面20a、20b、20c、20dがわずかな角度θ(例えば、約1度~約10度、約3度~約15度、約3度~約20度、約5度~約20度、約3度~約10度、約10度~約20度)をなすように壁面を追従することによって、バンパ110と壁面20a、20b、20c、20d間の接触を維持しつつ、清掃パッド120と壁面20a、20b間の接触を維持する。所定の間隔は、
図5A、
図5F、
図6A及び
図6Eを参照して記載した間隔と類似の間隔内である(例えば、0%~5%、2.5%~7.5%、5%~10%、5%~15%、5%~20%、7.5%~10%、7.5%~12.5%、10%~15%、10%~20%)。いくつかの場合には、所定の間隔は、清掃パッド120と壁面間での摩擦の量が十分であるように、
図5A、
図5F、
図6A及び
図6Eを参照して記載した場合において使用される所定の間隔よりも大きくても良い。例えば、間隔は、0%~1%、1%~2%、2%~3%、3%~4%、4%~5%、約1%、約2%、約3%だけ、大きくても良い。清掃パッド120を十分に押圧する為に、ロボット100は、ロボット100の前方駆動方向Fが壁面20a、20b、20c及び20dとわずかな角度θをなすように自身を方向付けることができる。角度θは、前方駆動方向Fの一部が、清掃パッド120を壁面20a、20b、20c及び20dに向けて押し、それによって、清掃パッド120上でのより大きな押圧力、及び、バンパ110上でのより大きな摩擦力を生成させる。
【0089】
図8を参照すると、フローチャート800は、壁追従挙動を実施する方法の例を図示している。
【0090】
動作805において、ロボットのコントローラは、壁面に追従する為の制御信号をロボットに出力する。コントローラは、ロボットがコーンロー型及びつる状挙動を完了したことを検出した後に、制御信号を出力しても良い。ロボットは、第1の表面部分及び第2の表面部分を有する壁面に追従しても良い。第1及び第2の表面部分は、
図5A~
図5F及び
図6A~
図6Eを参照して記載したようなコーナーを規定しても良い。いくつかの実施において、コントローラは、ロボット本体に対するバンパの位置を動的にキャリブレーションするようにプログラムされる。キャリブレーションは、ロボットがロボットのバンパを押圧するようにする鉛直に向けられた表面又は障害物と接触していると予測されないときに、壁追従に先行して生じる。測定された位置が予め規定された範囲内にない場合、ロボットのコントローラは、ロボットのバンパが障害物に接触しないことを確実にする為に、解放されたエリアにロボットを移動させる駆動コマンドを発行することができる。コントローラは、バンパにかかる意図しない力を避けるために、ロボットの動きを止める為の駆動コマンドを発行することもできる。予め規定された範囲は、上述のように、製造中に実行される静的なキャリブレーションである。動的なキャリブレーションは、壁面に追従する為にコントローラが制御信号を出力する前に発生し得る。
【0091】
動作810において、コントローラは、ロボット上のリニアセンサから信号を受信する。ロボットは、ロボットのバンパが第1の壁面と接触しているように、壁追従を実施する。センサは、例えば、本明細書に記載されるバンパセンサアセンブリ112R、112Lであり得る。信号は、電圧、電流、周波数、又は他の電気的信号であり得る。センサは、ロボットの本体に対するバンパの動きに応答して可変信号を生成する。信号は、バンパと壁面間の接触に応答して変化し、信号は、本体に対するバンパの動きに対してリニアに変化し得る。コントローラは、ロボット上の2以上のセンサから2以上の信号を受信することができる。第1のセンサは、バンパの動きに応答して第1の信号を生成し、第2のセンサは、バンパの動きに応答して第2の信号を生成することができる。第1及び第2の信号は、バンパの動きに対してリニアに変化し得る。いくつかの例において、バンパ位置は、2つのリニアセンサ値の平均に基づいて決定される。
【0092】
動作815において、コントローラは、ロッボットのバンパの押圧を示す値Xを判定する。値Xは、例えば、バンパ度合であり得る。コントローラは、判定された値Xに基づいてロボットの本体の移動を制御することができる。コントローラは、値Xに基づいて、本体に壁面を追跡又は追従させることができる。ロボットがバンパの動きを検出する1以上のセンサを有する場合には、コントローラは、各センサからの個々の値に基づいて値Xを計算することができる。値Xはリニアセンサからの信号に基づき得る。コントローラは、値Xに基づいて、バンパが非押圧位置と部分的押圧位置との間の押込み範囲内であるか否かを判定することができる。コントローラがロボットと壁面間の力の大きさにしたがってリニアに変化する1以上の信号に基づいて値Xを判定する場合、値Xは、追加として又は代替として、ロボットが表面と密着する角度を示す。この角度は、値Xを示す2以上のセンサ信号に基づき得る。コントローラは、値Xに基づいて、ロボットが壁と密着する角度を制御することができる。いくつかの実施において、コントローラは、ロボットが表面と密着する際の力の大きさを制御することができる。
【0093】
値Xが押圧範囲の下限値LLより大きく上限値ULより小さい場合、動作820において、コントローラは、ロボットに前方駆動方向を続行するようにさせる駆動信号を発行することによって、壁面を追従する為の制御信号を出力する。制御信号は、動作805にて出力される制御信号と同じであっても良い。いくつかの場合には、制御信号は、値Xを最適値の範囲内に維持する為にロボットの駆動を調整しても良い。いくつかの場合には、値Xはセンサからの信号に基づくことができ、バンパが非押圧位置と押圧位置との間の押圧範囲内にあることを示すことができる。値Xが平均規格化バンパ度合である場合、押圧範囲の下限値LLは、例えば、7.5%~7%、7%~6%、6%~5%、5%~4%、4%~3%、3%~2%、2%~1%、1%~0%、0%未満である。押込み範囲の上限値は、例えば、7%~8%、7.5%~8%、8%~9%、9%~10%、10%~11%、11%~12%、12%~13%、13%~14%、14%~15%、15%~16%、16%~17%、17%~18%、18%~19%、19%~20%である。最適値は、下限値LLと上限値ULとの平均値であっても良い。いくつかの実施において、下限値LLは、約0%~7.5%又はそれ未満、上限値ULは、約7.5%~15%又はそれより大、であり得る。平均バンパ度合をこの所定の間隔又は押圧範囲内に維持することは、第1の壁面によって規定されるコーナーや裂け目を清掃することを容易化しつつ、ロボットの移動性を維持するのに有益であり得る。制御信号は、値Xを所定の範囲又は押圧範囲内に維持することによって、ロボットを、ロボットが動作805において追従した壁面に追従させることができる。コントローラは、値Xを押圧範囲内に維持し、ロボット本体の動きを、壁面を追跡するよう制御するようプログラムされ得る。
【0094】
値Xが押圧範囲の下限値LL未満又は上限値ULを超える場合、動作825において、コントローラは、壁面に再度密着する為の制御信号を出力する。コントローラは、押圧範囲の外側にある値に応答して、ロボット本体を壁面から後退させるように、ロボット本体の動きを制御するようにプログラムされ得る。いくつかの実施において、コントローラは、車輪の速度を検出するセンサからの信号を受信することができる。このセンサは、例えば、車輪と共に動作するエンコーダ又は電流センサである。例えば、車輪の速度又はバンパセンサに基づいて、コントローラは、ロボットに、壁面から後退させ、壁面から方向転換し、次に、壁面と再度密着するように制御することができる。値Xが上限値ULを超える場合には、コントローラは、
図5B~
図5Eを参照して上述した再密着挙動を実施することができる。例えば、コントローラは、ロボットに、前方への移動を一時的に停止し、次に、壁面から後退させる制御信号を伝達することができる。制御信号は、また、ロボットに、壁面から方向転換し、次に壁面と再度密着させる。値Xがバンパと壁面間の接触が失われたことを示し得る下限値LL未満である場合、コントローラは、
図6B~
図6Dを参照して上述した再結合挙動を実施することができる。コントローラは、ロボットに、前方への移動を一時的に停止させ、また、いくつかの実施においては、ロボットに壁面へ後退させる制御信号を伝達することができる。制御信号は、ロボットに壁面に向かって方向転換し、壁面と再度密着させることができる。
【0095】
磁石170L、170R及びセンサ176L、176Rは、バンパ110の押圧がセンサ176L、176Rによって生成される電圧の上昇をもたらすと記載されてきたけれども、他の実施において、磁石及びセンサは、バンパが押圧されるにしたがって磁石がより遠くなるように位置付けられても良い。このような実施においては、センサは、バンパが押圧されると、より低い電圧を発生する。
【0096】
上述の移動挙動は、湿式清掃を行うロボット100に関して説明されてきたけれども、いくつかの場合には、ロボット100は乾式清掃を実行しても良く、清掃動作において、上述の移動挙動のうちの全てを組み込んでいなくても良い-又は追加の挙動を組み込んでいても良い-。例えば、ロボット100は、つる状パターン無しのコーンロー型パターンを実行しても良い。
【0097】
いくつかの例において、ロボットは、非一時的メモリ460又はロボットが有線又は無線のメディアによって清掃走行中にアクセスできる外部記憶メディアに格納されたマップ上にそれらの位置を格納することによって、ロボットが以前横断した表面の位置を知る。いくつかの実施において、ロボットは、空間についてのこのようなマップを作るための、上方を向いたカメラ及び/又は1以上の測距レーザを備える。いくつかの例において、コントローラ405は、壁、家具、床の変化、及び他の障害物のマップを用い、清掃液の塗布の前に、ロボットが障害物及び/又は床の変化から十分に離れる位置に位置付け姿勢をとらせる。
【0098】
バンパは、ロボットへの力の大きさを検出すると記載されてきたけれども、いくつかの実施において、ロボット上に配置された力センサ、圧力センサ、又は他のいくつかのセンサが力を感知する為に用いられても良い。本明細書に記載された例示的な壁追従技術は、少なくとも部分的には、1以上のデータ処理装置(例えば、プログラマブルプロセッサ、コンピュータ、複数のコンピュータ、及び/又はプログラマブルロジック部品)による実行の為の又はその動作を制御する為の1以上の非一時的な機械読取り可能な媒体といった、1以上の情報キャリア内に確実に組み込まれた1以上のコンピュータプログラム等の、1以上のコンピュータプログラムプロダクトを用いて制御され或いは実施される。
【0099】
上述のいくつかの例において、壁追従挙動は、エリア清掃挙動の完了に続く部屋又は他の空間の周囲を清掃する為に用いられるけれども、他の例において、壁追従挙動は、散らかった環境、又は、境界で限られたエリアからロボットが逃れることを可能にする為に用いることができる。例えば、ロボットが入口/出口の為の狭い開口を有するスペースに入る場合、ロボットは、スペース内で動かなくなるかもしれなく、また、通常のカバレッジパターンはロボットを逃れさせるようには入口/出口と一直線にならないかもしれない。このような状況では、ロボットは散らかった環境にいることを判定することができ、そのエリアから逃れるために壁追従挙動を実行することができる。壁に追従することは、ロボットが位置特定するのが困難かもそれない狭い出口を識別することを可能にする。一つの特定の例において、ロボットは、ランダム横断清掃パターンを実行することができ、ロボットが同じエリアを繰返し横断したこと(例えば、小さなスペース又は散らかったエリアに閉じ込められたこと)を識別すると、ロボットは、そのエリアから出る又は逃れる為に、壁追従挙動を実行することができる。
【0100】
コンピュータプログラムは、コンパイル或いは解釈された言語を含む、あらゆる形式のコンピュータプログラミング言語で書くことができ、スタンドアロンプログラム、又はモジュール、コンポーネント、サブルーチン、又はコンピューティング環境での使用に好適な他のユニットを含む、あらゆる形式で配置することができる。
【0101】
本明細書に記載される壁追従技術の一部又はその全てを実施することに関する動作は、本明細書に記載される機能を実施する為の1以上のコンピュータプログラムを実行する1以上のプログラマブルプロセッサによって実行され得る。本明細書に記載される壁追従技術の一部又は全てが、例えば、FPGA(Field Programmable Gate Array)及び/又はASIC(Application-specific Integration Circuit)といった特定用途の論理回路を用いて実施することができる。
【0102】
コンピュータプログラムの実行に好適なプロセッサは、例証として、汎用又は特定目的両方のマイクロプロセッサ、及びあらゆるタイプのデジタルコンピュータのあらゆる1以上のプロセッサを含む。一般には、プロセッサは、読み込み専用記憶エリア又はランダムアクセス記憶エリア又はその両方から命令及びデータを受信する。コンピュータの素子は、命令を実行する1以上のプロセッサ、又は命令及びデータを記憶する為の1以上の記憶エリアを含む。一般には、コンピュータは、データを受信し、又は送信し又はその両方の為に操作可能に取り付けられた、例えば、磁気ディスク、光磁気ディスク、又は光ディスク等のデータを記憶する為の大容量のPCBといった、1以上の機械読取り可能な記憶メディアをも備えるであろう。コンピュータプログラム命令及びデータを具体化するのに好適な機械読取り可能な記憶メディアは、例えば、EPROM、EEPROM、フラッシュ記憶エリアデバイス等の半導体記憶エリアデバイス、内蔵ハードディスク又はリムーバルディスク等の磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROMを含む、あらゆる形式の不揮発性記憶エリアを含む。
【0103】
本明細書中に記載された異なる実施の要素が、詳細には上述されていない他の実施形態を構成する為に組み合わされても良い。要素は、それらの動作に不利に影響することなく、本明細書に記載された構造の外部に置かれても良い。さらに、様々な分かれた要素が、本明細書に記載される機能を実行する為に1以上の独立の要素に組み込まれても良い。
【0104】
[第1項]
表面に対して移動可能な本体と、
前記本体に対して移動可能なように前記本体に搭載され、前記本体に対する非押圧位置と前記本体に対する押圧位置との間で移動可能なバンパと、
前記バンパと前記表面との間の接触によって生じる前記本体に対する前記バンパの移動に応答して、前記本体に対する前記バンパの移動に対してリニアに変化する信号を生成するセンサと、
前記信号に基づき且つ前記バンパが前記非押圧位置と前記押圧位置との間の押圧範囲を有する部分的押圧位置にあることを示す値に基づいて、前記本体に前記表面を追跡させるように前記本体の移動を制御するコントローラと、
を備えるロボット。
[第2項]
前記本体の底部に取り付けられた清掃パッドと、
前記ロボットから液体を分配するように構成された塗布器と、を備え、
前記表面は壁面を備え、
前記本体に前記表面を追跡させるように前記本体の移動を制御するコントローラの構成は、前記ロボットに壁追従挙動を実行させる構成を備え、
該壁追従挙動において、前記コントローラは、
前記バンパが前記部分的押圧位置にあるように、前記本体を、ある角度で前記壁面に接触させるように前記本体の移動を制御すること、及び
前記バンパの押圧を前記部分的押圧位置に維持するように前記ロボットの回転及び並進速度を調整すること、
を含む動作を実行する、第1項に記載のロボット。
[第3項]
前記表面は壁面を備え、
前記本体の移動を制御する為の前記コントローラの構成は、前記ロボットに、前記壁面との接触を約3度~約20度の間の角度で維持させる構成を備える、第1項に記載のロボット。
[第4項]
前記本体の底部に取り付けられ、前記バンパを越えて伸びる清掃パッドと、
前記本体から液体を分配するように構成された塗布器と、を備え、
前記表面は壁面を備え、
前記本体に前記表面を追跡させるように前記本体の移動を制御するコントローラの構成は、前記ロボットに、前記清掃パッドと前記壁面との接触を壁追従挙動で維持させる構成を備える、第1項に記載のロボット。
[第5項]
前記センサは第1のセンサであり、前記信号は第1の信号であり、
前記ロボットは、更に、前記バンパの移動に応答する第2の信号であって前記バンパの移動に対してリニアに変化する第2の信号を生成する第2のセンサを備え、
前記コントローラは、前記第1信号に基づく第1の値と前記第2の信号に基づく第2の値に基づいて前記値を計算するようにプログラムされている、第1項に記載のロボット。
[第6項]
前記ロボットは、左側部、右側部、前部及び後部を有し、
前記第1のセンサは前記右側部に隣接し、前記第2のセンサは前記左側部に隣接し、
前記バンパは、前記ロボットの前記前部に沿って配置され且つ前記左側部及び前記右側部に部分的に沿って伸びる、第5項に記載のロボット。
[第7項]
前記バンパの移動に応答する第3の信号であって、前記バンパの移動に対してリニアに変化する第3の信号を生成する第3のセンサを更に備え、
前記第3のセンサは、前記左側部と前記右側部に間にあり、前記前部に隣接する、第6項に記載のロボット。
[第8項]
前記センサは、
前記バンパに搭載された柱と、
前記柱に搭載された磁石と、
前記本体内において前記磁石の上部に搭載されたホール効果センサと、
を備える、第1項に記載のロボット。
[第9項]
前記センサは、一組の容量性プレートを備える容量性センサを備え、
前記一組の容量性プレートの少なくとも1つは、前記バンパの移動に応じて、前記一組の容量性プレートの他方に対して移動可能であり、
前記コントローラは、前記少なくとも1つの容量性プレートの移動に応じて生成される信号の時定数を決定するようにプログラムされている、第1項に記載のロボット。
[第10項]
前記センサは、誘導性センサを備え、
前記誘導性センサは、前記バンパの移動に基づいて巻線内で移動できるコア部材を備え、
前記コントローラは、前記コア部材の移動に応じた信号から時定数を決定するようにプログラムされている、第1項に記載のロボット。
[第11項]
前記表面は部屋の壁を備え、
前記コントローラは、前記値を前記押圧範囲内で維持することによって、前記壁との接触を維持する為に、前記壁面を追跡するように前記本体の移動を制御するようにプログラムされている、第1項に記載のロボット。
[第12項]
前記コントローラは、前記バンパが前記押圧位置の所定の範囲内にあることに応答して、前記本体に対する前記バンパの位置を動的にキャリブレートするようにプログラムされている、第1項に記載のロボット。
[第13項]
前記コントローラは、更に、前記押圧範囲の外側にあり、前記バンパが前記押圧範囲に関連付けられた押圧量よりもさらに押圧されていることを示す前記値に応答して、前記本体を前記表面から後退させる為に、前記本体の移動を制御するようにプログラムされている、第1項に記載のロボット。
[第14項]
前記コントローラは、更に、前記押圧範囲の外側にあり、前記バンパが前記押圧範囲に関連付けられた押圧量より弱く押圧されていることを示す前記値に応答して、前記本体を前記表面に向かって方向転換させる為に、前記本体の移動を制御するようにプログラムされている、第1項に記載のロボット。
[第15項]
前記本体は車輪を備え、
前記ロボットは、更に、前記車輪と関連付けられ、前記車輪の速度を検出する為の検出器を備え、
前記コントローラは、前記車輪の速度が予めプログラムされた速度より低いこと、及び、前記値が前記押圧範囲の外側にあることに少なくとも部分的に基づいて、前記本体に前記表面から後退させ、前記表面から方向転換し、次に前記表面に再度密着させる為に、前記本体の移動を制御するようにプログラムされている、第1項に記載のロボット。
[第16項]
前記本体の底部に取り付けられた清掃パッドを更に備え、
前記清掃パッドは、前記バンパを越えて伸びる、第1項に記載のロボット。
[第17項]
前記コントローラは、前記本体に、ある角度で前記表面を追跡させ、
前記コントローラは、前記値に基づいて前記角度を調整するようにプログラムされている、第1項に記載のロボット。
[第18項]
表面に対して移動可能な本体と、
前記本体に対して移動可能なように前記本体に搭載されたバンパと、
前記バンパと前記表面との、時間間隔にわたる接触によって生じる前記本体に対する前記バンパの移動に応じた信号であって、前記バンパの移動にしたがってリニアに変化する信号を生成するリニアセンサと、
前記リニアセンサによって生成される信号に基づいて1以上の制御信号を生成するコントローラと、を備え、
前記1以上の制御信号は、少なくとも前記時間間隔の間、前記表面に追従するように前記本体の移動を制御する、ロボット。
[第19項]
前記本体の底部に取り付けられた清掃パッドと、
前記本体から液体を分配するように構成された塗布器と、を備え、
前記表面は壁面を備え、
前記本体に前記表面を追跡させるように前記本体の移動を制御するコントローラの構成は、前記ロボットに壁追従挙動を実行させる構成を備え、
該壁追従挙動において、前記コントローラは、
前記バンパが部分的押圧位置にあるように、前記本体を、ある角度で前記壁面に接触させるように前記本体の移動を制御すること、及び
前記バンパの押圧を前記部分的押圧位置に維持するように前記ロボットの回転及び並進速度を調整すること、
を含む動作を実行する、第18項に記載のロボット。
[第20項]
前記表面は壁面を備え、
前記本体の移動を制御する為の前記コントローラの構成は、前記ロボットに、前記壁面との接触を約3度~約20度の間の角度で維持させる構成を備える、第18項に記載のロボット。
[第21項]
前記本体の底部に取り付けられ、前記バンパを越えて伸びる清掃パッドと、
前記本体から液体を分配するように構成された塗布器と、を備え、
前記表面は壁面を備え、
前記本体に前記表面を追跡させるように前記本体の移動を制御するコントローラの構成は、前記ロボットに、前記清掃パッドと前記壁面との接触を壁追従挙動で維持させる構成を備える、第18項に記載のロボット。
[第22項]
前記リニアセンサは、第1のリニアセンサと第2のリニアセンサとを備え、
前記第1のリニアセンサは、前記本体の第1の側に隣接して配置され、前記第2のリニアセンサは、前記本体の第2の側に隣接して配置される、第18項に記載のロボット。
[第23項]
前記リニアセンサは、前記第1のリニアセンサと前記第2のリニアセンサとの間に配置された第3のリニアセンサを備える、第19項に記載のロボット。
[第24項]
前記各リニアセンサは、
前記バンパに搭載された柱と、
前記柱に搭載された磁石と、
前記本体内において前記磁石の上部に搭載されたホール効果センサと、
を備える、第18項に記載のロボット。
[第25項]
前記各リニアセンサは、一組の容量性プレートを備える容量性センサを備え、
前記一組の容量性プレートの少なくとも1つは、前記バンパの移動に応じて、前記一組の容量性プレートの他方に対して移動可能であり、
前記コントローラは、前記少なくとも1つの容量性プレートの移動に応じて生成される信号の時定数を決定するようにプログラムされている、第18項に記載のロボット。
[第26項]
前記各リニアセンサは、誘導性センサを備え、
前記誘導性センサは、前記バンパの移動に基づいて巻線内で移動できるコア部材を備え、
前記コントローラは、前記コア部材の移動に応じた信号から時定数を決定するようにプログラムされている、第18項に記載のロボット。
[第27項]
ロボットを制御する方法であって、
前記ロボットと表面との間の力の大きさにしたがってリニアに変化する少なくとも1つの信号に基づいて、前記ロボットと前記表面との間の接触の程度が閾値を超えたと判定することと、
前記閾値を超えた前記ロボットと前記表面間の接触の程度を少なくとも維持し、前記表面を追跡するように前記ロボットを制御することと、
を含む方法。
[第28項]
前記閾値は下側閾値であり、
前記方法は、更に、
前記少なくとも1つの信号に基づいて、前記ロボットと前記表面との間の力の大きさが、前記下側閾値よりも大きい上側閾値を超えたと判定することと、
前記ロボットと前記表面の間の力の大きさが前記上側閾値を超えたことに応じて、前記ロボットに前記表面から後退させることと、
を含む、第27項に記載の方法。
[第29項]
前記ロボットは車輪を備え、
前記方法は、更に、
前記車輪の速度を検出することと、
前記車輪の速度に少なくとも部分的には基づいて、前記ロボットに、前記表面から後退させ、前記表面から方向転換し、次に、前記表面と再度密着させるように前記ロボットを制御することと、
を含む、第27項に記載の方法。
[第30項]
前記判定することは、前記ロボットと前記壁面との間の力の大きさにしたがってリニアに変化する2以上の信号に基づいており、
前記方法は、更に、少なくとも部分的には前記2以上の信号に基づいて、前記ロボットが前記表面と密着する角度を制御すること、を含む、第27項に記載の方法。