(57)【特許請求の範囲】
【請求項１】
動作環境の中を航行するように構成された移動ロボット（１００）であって、
本体（１０８）を備え、前記本体（１０８）は、
移動の方向に前記移動ロボット（１００）を並進運動させるように構成された駆動装置と、
少なくとも１つのプロセッサ（１０１０）と、
ナビゲーション・アプリケーションを含むメモリ（１０２５）と、
前記本体（１０８）の下側の凹形構造（２１０）内に位置づけられ、光学式走行距離データを出力するように構成された光学式走行距離センサ・システム（２０５）であって、前記本体（１０８）の下方の追跡表面の画像を捕捉するように構成され、且つ、前記移動ロボット（１００）の底部表面から−５から１５ｍｍの間の距離を含む距離において物体に合焦する被写界深度を有するテレセントリック・レンズ（４４２）を含む、床面から４０から６０ｍｍの間の高さに位置づけられた光学式走行距離カメラ（４４０）を備える、光学式走行距離センサ・システム（２０５）と、
を含む、
移動ロボット（１００）。
【請求項２】
ジャイロスコープ測定データを出力するように構成されたジャイロスコープ（９２２）をさらに含む、請求項１に記載の移動ロボット（１００）。
【請求項３】
前記ナビゲーション・アプリケーションは、前記プロセッサ（１０１０）に、
前記駆動装置の機構を作動して前記光学式走行距離センサ・システム（２０５）から光学式走行距離データを、前記ジャイロスコープ（９２２）からジャイロスコープ測定データを捕捉し、
前記捕捉された光学式走行距離データを使用して移動した距離を推定し、
前記ジャイロスコープ測定データを使用して移動した方向を推定し、
前記推定された移動した距離及び移動した方向を使用して姿勢の推定を更新する
ように指示する、請求項２に記載の移動ロボット（１００）。
【請求項４】
前記駆動装置の機構は複数の車輪（２２０）を備え、前記移動ロボット（１００）は、前記複数の車輪（２２０）の各々の回転に基づいてホイール走行距離データを出力するホイール走行距離センサ・システムをさらに備え、
前記ナビゲーション・アプリケーションは、前記プロセッサ（１０１０）に、前記ホイール走行距離センサ・システムから捕捉されたホイール走行距離データを使用して移動した距離を推定するように指示する、請求項３に記載の移動ロボット（１００）。
【請求項５】
前記ナビゲーション・アプリケーションは、前記プロセッサ（１０１０）に、前記姿勢の推定を、前記移動ロボット（１００）の頂部表面の下に設置されたカメラ（１２０）によって検出された、撮像された特徴を使用して計算されたＶＳＬＡＭの姿勢の決定に対して比較するように指示する、請求項３に記載の移動ロボット（１００）。
【請求項６】
前記ナビゲーション・アプリケーションは、前記プロセッサ（１０１０）に、前記ＶＳＬＡＭの姿勢の決定が、前記移動ロボット（１００）が進行方向からズレていることを示す場合、前記姿勢の推定を再設定するように指示する、請求項５に記載の移動ロボット（１００）。
【請求項７】
前記追跡表面を照光するために、前記テレセントリック・レンズ（４４２）の周りに配置され、複数のＬＥＤ（５１０）を備える複数の照明要素をさらに備える、請求項１に記
載の移動ロボット（１００）。
【請求項８】
前記複数のＬＥＤ（５１０）の各々は、前記光学式走行距離カメラ（４４０）の光学軸に対して鋭角をなすように位置づけられている、請求項７に記載の移動ロボット（１００）。
【請求項９】
前記複数のＬＥＤ（５１０）は、前記光学式走行距離カメラ（４４０）の周りの異なる位置に位置づけられた少なくとも４つのＬＥＤを備える、請求項７に記載の移動ロボット（１００）。
【請求項１０】
ＬＥＤ（５１０）の対は、前記光学式走行距離カメラ（４４０）に対して反対側に位置づけられている、請求項９に記載の移動ロボット（１００）。
【請求項１１】
前記ＬＥＤ（５１０）は、前記光学式走行距離カメラ（４４０）の光学軸からずらされた螺旋パターンに位置づけられている、請求項９に記載の移動ロボット（１００）。
【請求項１２】
前記光学式走行距離センサ・システム（２０５）は、光学式走行距離データの信頼性を示す品質尺度も出力し、
前記ナビゲーション・アプリケーションは、品質尺度が閾値を満たす場合に、前記プロセッサ（１０１０）に、前記捕捉された光学式走行距離データを使用して移動した距離を推定するように指示する、
請求項４に記載の移動ロボット（１００）。
【請求項１３】
前記品質尺度は、画像内で検出される有効な特徴の数に基づく、請求項１２に記載の移動ロボット（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、移動ロボットによって使用されるための、走行距離データ（odometry data）を捕捉するための光学式の走行距離センサ（odometry sensor）システムを提供するためのシステム及び方法が説明される。
【背景技術】
【０００２】
多くのロボットはコンピュータによって制御される電気機械式の機械である。移動ロボットはその環境内を動き回る能力を有し、１つの物理的な位置に固定されない。現在一般的に使用される移動ロボットの１つの例として、自動搬送車（ＡＧＶ：automated guided vehicle又はautomatic guided vehicle）がある。ＡＧＶは、通常、フロア内のマーカー又はワイヤをたどるか又はナビゲーションのためにビジョン・システム又はレーザを使用する移動ロボットと考えられる。移動ロボットは、産業、軍事及び警備の環境で見ることができる。移動ロボットはまた、娯楽のため、又は、真空掃除又は在宅支援などの特定のタスクを行うための、消費者製品としても見られる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
完全な自律を達成するために、移動ロボットは、使用者の介入なしにその環境を探索する能力を保有することを必要とする。移動ロボットは、環境内を航行するのに、種々の異なるセンサから収集される情報に依存する。多くの移動ロボットは、移動ロボットの移動した距離に関する情報を含むことができる走行距離データを得るのに、ホイール・オドメータに依存する。ホイール・オドメータは、一般に、移動した距離を決定するためにホイールの蓄積された回転を測定する。このような、走行距離測定の機械的直接接触による方法は、移動ロボット（ホイール、踏み面など）と表面との間でスリップのない直接的な機械的接触が高い信頼性で維持されるような用途では、高い信頼性を有する。しかし、同様の種類の表面の中でもとりわけ、深いカーペット、滑りやすい表面、泥状又は砂状の環境を含む、移動ロボットが頻繁に遭遇する可能性がある特定の種類の表面では、このようなスリップのない接触を維持することが困難となる。
【課題を解決するための手段】
【０００４】
本発明は、動作環境の中を航行するように構成された移動ロボットであって、本体を含み、本体は、移動の方向にロボットを並進運動させるように構成された駆動装置と、少なくとも１つのプロセッサと、ナビゲーション・アプリケーションを含むメモリと、本体の下側の凹形構造内に位置づけられ、光学式走行距離データを出力するように構成された光学式走行距離センサ・システムであって、本体の下方の追跡表面の画像を捕捉するように構成され、且つ、凹形構造内の第１距離から移動ロボット本体の下側の下方の第２の距離まで追跡表面を合焦して捕捉する視距離の範囲を提供する被写界深度を有するテレセントリック・レンズを含む光学式走行距離カメラ（odometry camera）を含む、光学式走行距離センサ・システムと、ジャイロスコープ測定データを出力するように構成されたジャイロスコープとを含む、移動ロボットを提供する。
【０００５】
複数の実施例において、ナビゲーション・アプリケーションは、プロセッサに、駆動装置の機構を作動して光学式走行距離センサ・システムから光学式走行距離データを、ジャイロスコープ・センサ・システムからジャイロスコープ測定データを捕捉し、捕捉された光学式走行距離データを使用して移動した距離を推定し、ジャイロスコープ測定データを使用して移動した方向を推定し、推定された移動した距離及び移動した方向を使用して姿勢の推定（pose estimate）を更新するように指示する。
【０００６】
複数の実施例において、ナビゲーション・アプリケーションは、プロセッサに、捕捉されたホイール走行距離データを使用して移動した距離を推定するように指示する。
【０００７】
多くの実施例において、ナビゲーション・アプリケーションは、プロセッサに、姿勢の推定を、移動ロボットの頂部表面の下に設置されたカメラによって検出された、撮像された特徴を使用して計算されたＶＳＬＡＭの姿勢の決定（pose determination）に対して比較するように指示する。
【０００８】
特定の実施例において、ナビゲーション・アプリケーションは、プロセッサに、ＶＬＳＡＭの姿勢の決定が、移動ロボットが進行方向からズレていることを示す場合、姿勢の推定を再設定するように指示する。
【０００９】
複数の実施例において、テレセントリック・レンズは、ロボット本体の底部表面から−５から２０ｍｍの間の距離を含む距離において物体に合焦する被写界深度を有する。
【００１０】
多くの実施例において、移動ロボットは、追跡表面を照光するために、テレセントリック・レンズの周りに配置され、複数のＬＥＤを含む複数の照明要素を含む。
【００１１】
特定の実施例において、複数のＬＥＤの各々は、カメラの光学軸に対して鋭角をなすように位置づけられている。
【００１２】
いくつかの実施例において、複数のＬＥＤは、カメラの周りの異なる位置に位置づけられた少なくとも４つのＬＥＤを含む。
【００１３】
いくつかの実施例において、ＬＥＤの対は、カメラに対して反対側に位置づけられている。
【００１４】
いくつかの実施例において、ＬＥＤは、カメラの光学軸からずらされた螺旋パターンに位置づけられている。
【００１５】
複数の実施例において、駆動装置の機構は複数の車輪を含み、移動ロボットは、複数の車輪の各々の回転に基づいてホイール走行距離データを出力するホイール走行距離センサ・システムをさらに含む。
【００１６】
いくつかの実施例において、光学式走行距離センサ・システムは、光学式走行距離データの信頼性を示す品質尺度も出力し、ナビゲーション・アプリケーションは、品質尺度が閾値を満たす場合に、プロセッサに、捕捉された光学式走行距離データを使用して移動した距離を推定するように指示する。
【００１７】
特定の実施例において、品質尺度は、画像内で検出される有効な特徴の数に基づく。
【００１８】
本発明のいくつかの実施例は、動作環境の中を航行するように構成される移動ロボットであって、本体を含み、本体は、移動の方向にロボットを並進運動させるように構成された駆動装置と、少なくとも１つのプロセッサと、ナビゲーション・アプリケーションを含むメモリと、本体の下側の凹形構造内に位置づけられ、光学式走行距離データを出力するように構成された光学式走行距離センサ・システムであって、フロア表面から４０から６０ｍｍの間の高さに位置づけられた光学式走行距離カメラであって、本体の下方の追跡表面の画像を捕捉するように構成され、且つ、ロボット本体の底部表面から−５から２０ｍｍの間の距離を含む距離において物体に合焦している被写界深度を有するテレセントリック・レンズを有する光学式走行距離カメラを備える、光学式の走行距離センサ・システムと、ジャイロスコープ測定データを出力するように構成されたジャイロスコープとを含む、移動ロボットを提供する。
【００１９】
いくつかの実施例においては、凹形構造は、１０ｍｍから４０ｍｍの間の直径を有する開口部を有する。
【００２０】
複数の実施例においては、本体は、フロア表面から最大で１１０ｍｍである頂部表面を有する。
【００２１】
多くの実施例においては、光学式走行距離カメラの被写界深度は、光学式走行距離カメラの焦点距離に比例する。
【００２２】
特定の実施例においては、光学式走行距離カメラの焦点距離は１５〜２５ｍｍの間である。
【００２３】
いくつかの実施例においては、移動ロボットは、追跡表面を照光するために、テレセントリック・レンズの周りに配置された４つのＬＥＤをさらに含む。
【００２４】
特定の実施例においては、各ＬＥＤは、垂直から１０から２０度の間の角度である。
【００２５】
本発明の複数の実施例は、環境内での移動ロボットの位置を決定するための方法であって、ホイール走行距離センサ・システム、光学式走行距離センサ・システム、及び、慣性測定ユニット（ＩＭＵ：inertial measurement unit）・センサ・システムからセンサ・データを受信することと、ホイール走行距離センサ・システムからのデータをＩＭＵセンサ・システムからのデータと比較することと、光学式走行距離センサ・システムからのデータをＩＭＵセンサ・システムからのデータと比較することと、比較に基づいて信頼性の高い、データの組を特定することと、このデータの組に基づいて移動ロボットの位置を決定することとを含む方法を提供する。
【００２６】
いくつかの実施例においては、ホイール走行距離センサ・システムからのデータをＩＭＵセンサ・システムと比較することは、ホイール走行距離センサ・システムから受信されたデータがＩＭＵセンサ・システムから受信されたデータと矛盾するか否かを決定することを含む。
【００２７】
特定の実施例においては、この方法は、ホイール走行距離センサ・システムから受信されたデータがＩＭＵセンサ・システムから受信されたデータと矛盾する場合に、ホイール走行距離センサ・システムからのデータを信頼できないものとして特定することをさらに含む。
【００２８】
いくつかの実施例においては、この方法は、ＩＭＵセンサ・システムからのデータがズレ（drift）を示しているか否かを決定することと、データがズレを示している場合に、ホイール走行距離システムからのデータを信頼できないものとして特定することとをさらに含む。
【００２９】
特定の実施例においては、この方法は、ＩＭＵセンサ・システムからのデータがズレを示しているか否かを決定することと、データがズレを示していない場合に、ホイール走行距離センサ・システム及び光学式センサ・システムの両方からのデータに基づいて移動ロボットの位置を決定することとをさらに含む。
【００３０】
特定の実施例においては、光学式走行距離センサ・システムからのデータをＩＭＵセンサ・システムと比較することは、光学式走行距離センサ・システムによって提供されるデータのＳＱＵＡＬ値が閾値を超えるか否か決定することを含む。
【００３１】
いくつかの実施例においては、移動ロボットの位置を決定することは、ＶＳＬＡＭセンサを使用することを含む。
【図面の簡単な説明】
【００３２】
【図１】光学式走行距離カメラを組み込む移動ロボットの正面斜視図である。
【図２Ａ】光学式走行距離カメラを組み込む移動ロボットの底面図である。
【図２Ｂ】複数の光学式走行距離カメラを組み込む移動ロボットの底面図である。
【図３】光学式走行距離カメラを含む凹形構造を組み込む移動ロボットの本体の部分の図である。
【図４】光学式走行距離カメラを含む凹形構造の断面図である。
【図５】光学式走行距離カメラに対するＬＥＤの配置の概念図である。
【図６】光学式走行距離カメラの被写界深度を示す、光学式走行距離カメラを含む凹形構造の断面図である。
【図７】移動ロボットが傾斜しているときの、特定の高さの平坦表面に対しての光学式走行距離カメラの被写界深度を示す、光学式走行距離カメラを含む凹形構造の断面図である。
【図８】カーペットを敷いた表面に対しての光学式走行距離カメラの被写界深度を示す、光学式走行距離カメラを含む凹形構造の断面図であり、ここでは、カーペットの立ち毛が凹形構造の中に侵入している。
【図９】ロボットの制御装置により行動制御アプリケーション（behavioral control application）を実行することを概念的に示す図。
【図１０】ロボットの制御装置を概念的に示す図。
【図１１】異なる種類の走行距離センサによって捕捉される走行距離データを使用するためのプロセスを示すフロー・チャートである。
【図１２】異なる種類の走行距離センサによって捕捉される走行距離データを使用するためのプロセスを示すフロー・チャートである。
【図１３Ａ】テレセントリック・レンズの周りのＬＥＤ構成の実装形態を示す概略図である。
【図１３Ｂ】テレセントリック・レンズの周りのＬＥＤ構成の実装形態を示す概略図である。
【図１３Ｃ】テレセントリック・レンズの周りのＬＥＤ構成の実装形態を示す概略図である。
【図１３Ｄ】テレセントリック・レンズの周りのＬＥＤ構成の実装形態を示す概略図である。
【発明を実施するための形態】
【００３３】
次に図面を参照すると、移動ロボット１００の凹形構造２１０内に含まれる光学式走行距離センサ・システム２０５を使用して走行距離データを獲得するためのシステム及び方法が示されている。移動ロボット１００は、デッド・レコニングを実施するために、光学式走行距離センサ・システム２０５を利用することができる。デッド・レコニングは、前に決定された位置、及び、移動ロボット１００の移動に関する情報に基づき、移動ロボットの現在の位置を計算することを伴うプロセスである。移動ロボット１００は、移動した距離、移動方向、速度及び／又は加速度を含む（これらに限定されない）、デッド・レコニングのために使用される異なる種類の情報を含み得る、走行距離データを獲得するために光学式走行距離センサ・システム２０５を使用することができる。光学式走行距離センサ・システム２０５は、その上を移動ロボット１００が横断する表面の画像を捕捉する、１つ又は複数の光学式走行距離カメラ４４０（すなわち、マウス・カメラ）を、任意選択で有することができる。本発明の別の任意選択の態様では、光学式走行距離センサ・システム２０５は、光学式走行距離カメラ４４０に見える追跡表面を照らす、１つ又は複数の照光源を有する。本発明の別の任意選択の態様では、光学式走行距離カメラ４４０は、毎秒１０００フレームを超えるフレーム率で動作することができ、追跡表面の小さいパッチの画像を捕捉する。光学式走行距離センサ・システム２０５は、継続して、光学式走行距離カメラ４４０によって捕捉される各画像をその前の画像と比較し、観測されるオプティカル・フローに基づいて移動ロボット１００の相対運動を推定する。
【００３４】
表面の画像を捕捉するために、１つ又は複数の光学式走行距離カメラ４４０が、移動ロボット本体１０８の下側に位置し、移動ロボット１００の下方のフロア表面の方向に向けられてよい。光学式のコンピュータ・マウスで使用される光学式走行距離システムなどの、一般的な用途で使用される光学式走行距離センサは、通常、光学式走行距離カメラ４４０が追跡表面から一定の距離のところに位置することを想定し、浅い被写界深度を有する光学式走行距離カメラ４４０を利用する。多くの用途で、移動ロボット１００は、多種多様な表面の上を航行するように構成され、追跡表面が光学式走行距離カメラ４４０から一定の距離に留まるという仮定は有効ではない。移動ロボット１００が異なる種類の表面の間の移行部分を航行するとき、移動ロボット本体１０８が傾斜し、それにより光学式走行距離カメラ４４０と追跡表面との間の距離が増大する可能性がある。移動ロボット１００が平坦ではない表面の上を航行する場合にも、同じことが当てはまる。移動ロボット１００がプラッシュ・カーペットの立ち毛（これに限定しない）などの圧縮可能な表面を横切って航行するとき、移動ロボット１００の車輪が圧縮可能な表面に沈み込み、光学式走行距離カメラ４４０と追跡表面との間の距離を減少させる可能性がある。さらに、移動ロボット１００の下側とカーペットの立ち毛などの圧縮可能な表面との間の距離は、平坦なフロアと比較してカーペット繊維が概してカメラにより接近して、継続的に変化する可能性がある。したがって、移動ロボット１００の本体１０８は、任意選択で、光学式走行距離カメラ４４０及び付随の照光源を含む移動ロボット本体１０８の下側に凹形構造を有することができる。光学式走行距離カメラ４４０を奥まった場所に置くことにより、より広範囲の被写界深度を有する光学式走行距離カメラ４４０を使用することが可能となり、それにより、光学式の走行距離カメラが、特定の用途での移動ロボット１００の動作中に追跡表面に遭遇しやすいような距離範囲を包含する、光学式走行距離カメラ４４０からの距離の比較的広い範囲において、追跡表面の焦点の合った画像を捕捉することが可能となる。カメラ構成の被写界深度は、その間において、依然として焦点が合っている又は許容可能な範囲で焦点が合っていない状態で画像を捕捉することができる距離範囲を定める。この許容可能な範囲の外にある対象は、走行距離データを計算するのに使用するのには有用ではない可能性がある。とりわけ、光学式走行距離センサ・システム２０５は、画像が許容可能な焦点範囲を超えているときは、画像間での追跡可能特徴の変位を検出することができない可能性がある。任意選択の一構成では、光学式走行距離カメラ４４０の被写界深度は、光学式走行距離カメラ４４０を含む凹形構造内において追跡表面の少なくとも一部分が延在するような距離を含む距離範囲に及ぶ。
【００３５】
いくつかの用途で、移動ロボット１００は、フロア表面から４インチ（あるいは、約１１０ｍｍ）以下である頂部表面１０６を有し、且つ、フロア表面の上方１／２インチ（あるいは、約１０ｍｍ）以下に乗っている底部表面１０７を有するハウスクリーニング・ロボット１００として構成される。ロボット１００の底部表面１０７もしくは下側は、移動ロボットがその上に載置されているフロア表面に比較的接近して位置する。この構成では、移動ロボット１００は、カメラから約２０ミリメートルから４０ミリメートルの範囲の被写界深度を有するテレセントリック・レンズ４４２を有する奥まった場所にある光学式走行距離カメラ４４０を使用して構成され得る。この距離範囲により、堅木の床と同様の高さ（例えば、カメラの下方約２０〜３０ｍｍ）の表面及びカーペットの高さ（例えば、カメラの下方約５〜２０ｍｍ）の表面について焦点の合った画像を捕捉することが可能になる。光学式走行距離カメラ４４０の被写界深度はまた、フロア表面が平坦ではないこと、及び／又は、異なる高さの表面の間の移行部分を移動ロボット１００が横断することを原因とする、光学式走行距離カメラ４４０と、フロア表面又は追跡表面との間の距離の増大を受け入れることができる。
【００３６】
移動ロボット１００の特定の任意選択の構成では、光学式走行距離カメラ４４０は追跡表面の画像を捕捉するためにテレセントリック・レンズ４４２を使用する。テレセントリック・レンズは、通常、距離に関係なく対象の一定の倍率を提供することを特徴とする。テレセントリック・レンズを使用することで、光学式走行距離カメラ４４０からの追跡表面の距離に関係なく、光学式走行距離センサ・システム２０５が追跡表面上の特徴のオプティカル・フローを正確に決定することが可能となる。広い被写界深度を有するテレセントリック・レンズ４４２を提供することにより、移動ロボット１００は、追跡表面までの距離を決定しなくとも、移動ロボット１００から多様な深さのところにある追跡表面からオプティカル・フローを正確に決定することができるようになる。
【００３７】
多くの用途で、移動ロボット１００は、走行距離データを捕捉するのに光学式走行距離センサ・システム２０５に主に依存しているが、移動ロボットは、ノイズ、及び／又は追跡表面上の追跡可能な特徴の欠如を含む（これらに限定されない）理由によって、取得した光学式走行距離データの精度が特定の閾値レベル未満である場合には、他の種類の走行距離センサによって捕捉される走行距離データを使用し得る。走行距離データが最低レベルの信頼性未満であると（例えば、最小のＳＱＵＡＬ値及び／又は矛盾するＩＭＵ値に基づいて）移動ロボット１００が決定した場合に、ホイール走行距離センサ・システムなどの高頻度でサンプリングを行う別のセンサによって捕捉される走行距離データに依存するように、移動ロボットは、任意選択で構成され得る。ホイール走行距離センサ・システムは、移動ロボット１００の車輪の回転を分析することにより走行距離データを捕捉することができる。別の任意選択の構成では、移動ロボット１００は、光学式走行距離システム及び／又はホイール走行距離センサ・システムによって提供される走行距離データを、走行距離データの精度を再確認するために、慣性測定ユニット（ＩＭＵ）によって捕捉される加速度計及びジャイロのデータと比較し、例えば、マウス・センサが移動を視認しない場合にロボット１００が移動していないことをＩＭＵが感知していることを確認することができる。異なる種類のセンサ・デバイスによって捕捉される走行距離データを比較することにより、移動ロボット１００は、異なるデイバスからのデータの類似性に基づき、光学式走行距離データの精度に関しての信頼水準を上げる（又は、下げる）ことができる。実装形態では、移動ロボット１００は、局所的な位置を決定するために高頻度のセンサ読取値をとり（例えば、ホイール走行距離及びＩＭＵ、並びに／或いは、光学式走行距離及びＩＭＵ）、動かない目印の特定の領域に向けられる、ＦＯＶを有するイメージング・センサによって捕捉される、よりゆっくりサンプリングされるＶＳＬＡＭローカライゼーション・データを使用して環境内でのロボットの姿勢（pose）の全体的な決定を行う。
【００３８】
高頻度の走行距離データを全体的なセンサ読取値で補足することにより、ロボット１００は、全体座標系及び／又は環境の永続的なマップの中での正確な姿勢を決定し、姿勢の決定において矛盾が存在する場合には高頻度の局所的な位置データを無視し、調整し、及び／又は、再設定する。特定のセンサは、他の環境においてより低い精度で機能する一方で、特定の環境内で、より良い精度で機能することができる。例えば、光学式走行距離センサ・システム２０５は、木目などの多くの追跡可能な特徴を含むフロア表面上を移動するときに正確なデータを提供するが、追跡可能な特徴をほとんど有さない滑らかなセラミック・タイル・フロア上を移動するときは精度を失う可能性がある。同様に、ホイール走行距離計は、その上では駆動輪２２０が良好なトラクションを有する、硬い床張り材などの床張り材表面上では正確な読取値を提供することができ、車輪が、ロボット１００が摩擦抵抗力を受ける場合に大きくスリップしたり、及び／又は、カーペットのけばにより車輪が直線的な進行方向からずらされる場合にカーペットによるドリフト（carpet drift）を受ける可能性があることから、深いカーペットを敷いたフロア上を移動するときは低い精度の読取値を提供し得る。
【００３９】
多数の実装形態において、ロボット１００は、３軸加速度計を３軸ジャイロメータ（以下、「ジャイロ」と称す）と組み合わせる６軸ＩＭＵなどのＩＭＵを有する。高い頻度でサンプリングされるホイール走行距離及びマウス走行距離（mouse odometry）データをＩＭＵデータと比較することにより、ロボット１００は、ホイール走行距離計及びマウス・センサが移動を適切に報告しているか否かを決定する。例えば、移動を正確に検出するために光学式センサが追跡し使用する特徴があまりにも少ない滑らかな表面上をロボット１００が移動しているときは、移動ロボット１００は、その環境内でのロボット１００の位置を特定するために、光学式センサのデータを無視し、他のセンサ読取値のうちの１つ又は複数の読取値を自動的に選択するであろう。
光学式走行距離センサ・システムを備える移動ロボット
【００４０】
上述したように、移動ロボット１００は、環境内を通る移動ロボットのナビゲーションで使用され得る走行距離データを収集するのに使用される光学式走行距離カメラ４４０を含む光学式走行距離センサ・システム２０５を組み込む。移動ロボット１００が図１〜２に示されている。特に、図１は移動ロボット１００の正面斜視図を示し、図２は、光学式走行距離センサ・システム２０５を含む凹形構造２１０が見える、移動ロボット１００の底面図を示している。
【００４１】
図１に示される移動ロボット１００の構成では、移動ロボット１００は、フロア表面を横断してロボット１００を操作することができる駆動装置（本体１０８の下方に位置し、したがってこの図では見ることができない）によって支持される本体１０８を有する。複数の実施例では、移動ロボット１００は、駆動コマンドに基づいてその駆動装置を作動させるように構成される。いくつかの実施例では、駆動コマンドは、ｘ、ｙ及びθの成分を有することができ、制御装置回路によってコマンドが発せられ得る。移動ロボットの本体１０８は、本体１０８の前側半分に相当する前方部分１０５と、本体１０８の後方半分に相当する後方部分１１０とを有することができる。示されている構成では、駆動装置システムは、制御装置回路に走行距離を提供することができる右側及び左側の被駆動車輪モジュール２２０を含む。示されている実施例では、車輪モジュール２２０は、本体１０８によって画定される横軸に沿って実質的に反対側にあり、それぞれの車輪を駆動するそれぞれの駆動モータを含む。駆動モータは、駆動モータが任意選択でそれぞれの車輪のほぼ上に位置づけられて、本体１０８に（例えば、固定具、又は、工具なしの接続を介して）着脱自在に接続され得る。車輪モジュール２２０は、シャーシに着脱自在に取り付けられ、ばねにより清掃表面に係合され得る。移動ロボットは、ここでは円形の本体１０８の前方部分である、移動ロボット本体１０８の一部分を支持するように配置されるキャスタ・ホイール（図示せず）を含むことができる。四角い正面の又は墓石形状のロボット本体１０８などの、片持ち式の清掃ヘッドを有する他の実装形態では、キャスタ・ホイールは、ロボット本体１０８の後方部分に配置される。移動ロボット本体１０８は、移動ロボットの任意の電気部品に電力供給するための電源（例えば、バッテリ）を支持する。上記では図１を参照して具体的な駆動機構を説明したが、移動ロボットは、特定の用途の要求に適する多様な任意選択の駆動機構のうちのいずれかを利用することができる。
【００４２】
多くの実施例で、本体１０８の前方部分１０５は、移動ロボットの駆動経路内にある障害物を含む（これに限定されない）事象を（例えば、１つ又は複数のセンサを介して）検出するのに利用され得るバンパ１１５を担持する。移動ロボットの行動プログラム（behavioral programming）に応じて、制御回路は、バンパによって検出される事象（例えば、障害物、崖、壁）に、その事象に応じてロボット１００を操縦する（例えば、障害物から離す）よう車輪モジュール２２０を制御することによって、反応することができる。
【００４３】
示されているように、ユーザ・インターフェース１３０が本体１０８の頂部分上に配置され、１つ又は複数のユーザ・コマンドを受信し、並びに／或いは移動ロボット１００の状態を表示するのに使用され得る。ユーザ・インターフェース１３０は、ユーザ・インターフェースによって受信される１つ又は複数のコマンドによって、移動ロボット１００による清掃ルーチンの実行を開始することができるよう、移動ロボット１００によって担持されるロボットの制御回路と通信状態にある。
【００４４】
移動ロボット１００は、移動ロボット１００のトップ・カバー内に埋め込まれた機械視覚システム１２０を含むこともできる。機械視覚システム１２０は、周囲の環境の画像を捕捉する１つ又は複数のカメラ（例えば、標準的なカメラ、容積型点群画像化カメラ（volumetric point cloud imaging camera）、三次元（３Ｄ）画像化カメラ、深度マップ・センサ（depth map sensor）付きカメラ、可視光カメラ、及び／又は、赤外線カメラ）を含みうる。いくつかの実施例では、カメラ１２０は、ロボット１００の頂部表面と鋭角をなすような光学軸を有するように位置づけられ、カメラ１２０は、移動ロボット１００の移動方向に方向付けられた視界を有する。これらの実施例では、主に、通常の屋内環境において移動ロボットを囲む壁及び天井の画像を捕捉するように、カメラのレンズは上側方向に角度をつけられる。例えば、フロア表面から４インチ以下である頂部表面を有するロボット１００の実装形態では、垂直方向において約５０度の円錐台に及ぶ視界を有し且つ水平方向から上方に約３０度の角度をつけられた光学軸を有する、ロボット１００の頂部表面の下に設置されるカメラは、概して３〜１４フィートの高さにある環境内の特徴を検出することになる。例えば、このようなカメラの設定を有するこのような寸法のロボットは、３フィートの距離で約６インチから４．５フィートの高さ、５フィートの距離で約９インチから７．５フィートの高さ、１０フィートの距離で約１．２フィートから１４フィートの高さにある対象を視認することになる。ドア枠、額縁、及び、他の動かない家具や対象の周りで撮像される特徴などの、特徴が変化しない領域にカメラ１２０の焦点を合わせることにより、ロボット１００は信頼できる目印を繰り返し特定することができ、それにより環境内で位置の特定及びマッピングを正確に行うことができる。
【００４５】
機械視覚システム１２０によって捕捉される画像は、移動ロボットの動作環境に基づいて行われるアクションに関する知的決定を行うために、ＶＳＬＡＭプロセスによって使用され得る。機械視覚システム１２０は移動ロボットの頂部に埋め込まれるものとして本明細書では説明されるが、カメラ１２０は、加えて又は別法として、移動ロボットのフロント・バンパ、底面、及び／又は、周囲側部に沿った位置を含む、移動ロボット上の種々の異なる位置のうちのいずれかに配置されてもよい。
【００４６】
機械視覚システム１２０に加えて、移動ロボット１００は、任選選択で、信頼できる堅牢な自律移動を達成するために、種々のセンサ・システムを含むことができる。追加のセンサ・システムは、その環境内で行われるアクションに関しての知的決定を移動ロボット１００が行うことができるのに十分に移動ロボットの環境を知覚するように互いに協働して使用され得る。上述したように、移動ロボットに含まれるセンサ・システムのうちの１つは、走行距離データを捕捉する光学式走行距離センサ・システム２０５である。いくつかの実施例では、光学式走行距離センサは、その上を移動ロボットが移動する追跡表面の画像を捕捉するために、移動ロボット本体１０８の下に配置される１つ又は複数の光学式走行距離カメラ４４０を含む。各光学式走行距離センサ・システム２０５は、移動ロボットの下の追跡表面の方に直接に向けられるように配置されたカメラを含む。
【００４７】
示されている構成では、光学式走行距離カメラ４４０は、追跡表面から約４０〜６０ｍｍ（例えば、４５ｍｍ、５０ｍｍ、６０ｍｍ）の高さの、凹形構造２１０内に配置されている。光学式走行距離カメラ４４０は、概ね−５から＋１５ｍｍの焦点距離、もしくは全体で約２０ｍｍの焦点距離に及ぶカメラからの距離の範囲で画像を捕捉するように構成されるテレセントリック・レンズを含む。光学式走行距離カメラ４４０の被写界深度は焦点距離に比例する。カメラによって捕捉された、追跡表面の焦点の合った、または許容できる程度でぼやけた画像を使用して、光学式走行距離センサ・システム２０５は、画像を捕捉した時間に基づいて画像のオプティカル・フローを分析することにより、移動ロボット１００が移動した距離を算出することができる。走行距離データは、ＶＳＬＡＭプロセスを含む（これに限定されない）種々のナビゲーション・プロセスのうちのいずれでも使用され得る。
【００４８】
移動ロボット１００はまた、環境内での移動ロボットの移動に関する情報を提供することができるその他のセンサの中でもとりわけ、ホイール走行距離センサ、ジャイロスコープ、加速度計、全地球測位システム（ＧＰＳ：global positioning system）、コンパスを含む、種々の他の種類のセンサを使用して移動情報を捕捉することができる。異なる移動センサによって提供される移動情報は、新たな種類の情報（例えば、移動ロボットの移動方向、向き、加速度、ＧＰＳ座標など）、及び／又は、異なる機構を通して捕捉される同じ種類の情報（例えば、ホイール式及び光学式の走行距離計が、両方とも、移動した距離に関する情報を提供することができる）を含むことができる。
【００４９】
さらに、種々のセンサ・システムが、ロボット本体１０８によって支持される、障害物検出・障害物回避（ＯＤＯＡ：obstacle detection obstacle avoidance）センサ、通信センサ、ナビゲーション・センサ、距離測定センサ、近接センサ、接触センサ、ソナー、レーダー、ＬＩＤＡＲ（遠くにあるターゲットの距離及び／又は他の情報を見出すために散乱光の特性を測定する光学的リモート・センシングを伴い得る光検知測距（Light Detection And Ranging））、及び／又は、ＬＡＤＡＲ（Laser Detection And Ranging（レーザ検知測距））を含むが、これらに限定されない、１つ又は複数の種類のセンサをさらに含み得る。移動ロボットのいくつかの任意選択の構成では、センサ・システムは、測距ソナー・センサ（ranging sonar sensor）、近接崖検出器（proximity cliff detector）、接触センサ、レーザ・スキャナ、及び／又は、イメージング・ソナーを含む。
【００５０】
ロボットのプラットフォーム上にセンサを配置することにはいくつかの課題がある。１つ目は、センサは、通常、移動ロボットの周りの対象領域を最大源にカバーするように配置されることである。２つ目は、センサは、通常、ロボット自体によりセンサが塞がれることを絶対的に最小とするように配置されることであり、本質的には、センサはロボット自体により隠れることになるように配置されるべきではない。したがって、センサは、通常のロボットの動作に干渉しない（例えば、障害物にひっかからない）ように設置されるべきである。特に光学式走行距離センサ・システムの配置に関連して、移動ロボット１００は、光学式走行距離センサ・システム２０５が、移動ロボット本体１０８の下側内に形成される凹形構造２１０内に位置するように構成され得る。凹形構造を使用することにより、光学式走行距離カメラ４４０は、（１）移動ロボットの下の表面の画像を捕捉すること、（２）カメラを損傷させる可能性がある物体との接触を回避すること、及び、（３）種々の異なる距離で焦点の合った画像を捕捉することができる光学式のシステムを有すること、が可能である。
【００５１】
本発明の実施例による移動ロボット１００の下側に関する１つ又は複数の光学式走行距離センサ・システムの配置が図２Ａ〜２Ｂに示される。図２Ａは、円形の移動ロボット本体１０８の下側の右前方領域内に配置される光学式走行距離センサ・システム２０５を含む凹形構造２１０を示す。図２Ａは、右側及び左側の車輪モジュール２２０と、サイド・ブラシ２３０と、清掃組立体２４０とを含む、移動ロボット１００に任意選択で含まれ得る種々の他の構成要素も示す。
【００５２】
図２Ｂは、移動ロボット１００の下側の反対側に位置する２つの光学式走行距離センサ・システム２０５、２５０を示す。２つ以上の光学式走行距離センサ・システムを備える移動ロボット１００を構成することにより、走行距離データの精度を向上させることができる。２つの光学式走行距離センサ・システム２０５、２５０を使用することにより、各々の個別の光学式走行距離センサ・システムによって生成されている走行距離データを照合することが可能となる。さらに、光学式走行距離センサ・システム２０５、２５０のうちの一方が適切に機能しない場合、移動ロボット１００は、走行距離データを収集するのにもう一方の光学式走行距離センサ２０５、２５０システムに依存することができる。
【００５３】
図３は、光学式走行距離センサ・システムを含む凹形構造２１０をより詳細に示す。示されるように、光学式走行距離カメラ４４０は、移動ロボット本体の下側の円形の凹形構造２１０内に配置される。凹形構造２１０は、異物又はデブリ（ＦＯＤ：foreign objects or debris）を取り除くために人間の指を中にはめ込むのに十分な大きさの直径２１１を有することができる。いくつかの実装形態では、凹形構造２１０の直径は０．５から１．５インチの間（例えば、０．５から１インチ、０．７５から１．５インチ、０．５から０．７５インチ、０．７５から１インチ）である。光学式走行距離カメラ４４０の光学軸は、移動ロボット１００が表面に沿って移動する間、カメラが追跡表面の画像を捕捉することができるよう、外側に向けられる。
光学式走行距離センサ・システムの構造
【００５４】
上述したように、光学式走行距離センサ・システムは、表面の画像を捕捉して、走行距離データを算出するのにその画像を使用する光学式走行距離カメラ４４０を含むことができる。光学式走行距離カメラ４４０は毎秒１０００フレームを超えるフレーム率で動作し、追跡表面の小さいパッチの画像を捕捉する。実装形態では、図１３Ｄに示されるように、画像パッチ１３３０は約１ｍｍ×１ｍｍ（例えば、０．５ｍｍ×０．５ｍｍ、０．５ｍｍ×０．７５ｍｍ、０．５ｍｍ×１ｍｍ、０．７５ｍｍ×１ｍｍ、１．５ｍｍ×１．５ｍｍ）である。光学式走行距離センサ・システム２０５は、移動ロボットの相対運動を推定するために、オプティカル・フローを使用して、継続して、光学式走行距離カメラ４４０によって捕捉される各画像内の追跡可能な特徴の変位をその前の画像と比較する。光学式走行距離カメラ４４０が、オプティカル・フローの決定において使用するための焦点の合った画像を捕捉するために、追跡表面は、カメラからの、光学式走行距離カメラ４４０の光学軸の被写界深度内にある許容可能な焦点範囲内に留まる距離に位置しなければならない。例えば、許容可能な焦点範囲は、凹形構造２１０の中まで延在するカーペット並びにスレートなどの山及び谷を有するタイルを含むようなものである。実装形態では、画像パッチ１３３０は２２ピクセル×２２ピクセルであり、光学式走行距離カメラ４４０の許容可能な被写界深度は、１つのピクセルが隣接するピクセルににじむまで画像パッチ１３３０をぼけさせることによって決定される。許容可能なぼけの大きさは、例えば、画像パッチ１３３０内のピクセル間でにじませることなく、又は画像パッチ１３３０内で最大２つの隣接するピクセルをにじませて、ピクセルをぼけさせるような被写界深度であり得る。
【００５５】
任意選択の一構成では、光学式走行距離カメラ４４０は、光学式走行距離カメラ４４０から種々の距離のところに位置する追跡表面の、焦点の合った及び／又は許容される程度でぼける画像を捕捉することができるような比較的広い被写界深度を有するように構成される。別の任意選択の構成では、移動ロボットは、広い被写界深度を有する光学式走行距離カメラ４４０の使用を考慮に入れるために移動ロボット本体１０８の下にある凹形構造を使用することができる。奥まった場所にある光学式走行距離システムを収容するのに使用され得る凹形構造２１０の実例が図４に示されている。
【００５６】
図４は、光学式走行距離カメラ４４０が移動ロボット本体１０８内の凹形構造２１０内に設置される、移動ロボット１００の任意選択の構成の断面図を概念的に示している。示されるように、光学式走行距離カメラ４４０は移動ロボット本体１０８の下の凹形構造内に含まれる。凹形構造２１０は開口部４１０を有する。光学式走行距離カメラ４４０のセンサ４３０、及び、オプティクス４４０は、凹形構造内の開口部４１０を通して画像を捕捉するために凹形構造２１０内に位置する。凹形構造２１０は、任意選択で、カメラ４４０のオプティクスと開口部４１０との間に空洞を形成するように構成され得る。後でさらに論じるように、カーペットなど（これに限定されない）の特定の表面が空洞内に侵入する可能性がある。後で論じるように、移動ロボット１００は、凹形構造２１０の内部の距離と、凹形構造２１０の開口部４１０を越える距離とを含む距離範囲にわたって広がる被写界深度を有する光学式走行距離カメラ４４０とともに、任意選択で構成され得る。凹形構造２１０のすべての表面は、カメラ４４０がそれらの表面上に収集されるいかなる埃もセンサ４３０に映るように、焦点から外される。任意選択の一構成では、凹形構造２１０は、異物又はデブリ（ＦＯＤ）を取り除くために人間の指を中にはめ込むのに十分な大きさの直径２１１を有する。いくつかの実装形態では、凹形構造２１０の直径２１１は０．５から１．５インチ、あるいは、約１０ｍｍから４０ｍｍの間（例えば、０．５から１インチ、０．７５から１．５インチ、０．５から０．７５インチ、０．７５から１インチ）である。
【００５７】
移動ロボット１００の多くの実施例は、移動ロボット１００が環境内を通って移動する間において、物体が、カメラ４４０のレンズ・カバー４４１を含め、カメラを損傷させる可能性を排除するために、追跡表面のかなり上方に光学式走行距離カメラ４４０を配置するように凹形構造を使用する。容易に認識され得るように、追跡表面及び／又は追跡表面上に位置する物体との接触を回避しやすいような高さに光学式走行距離カメラ４４０を位置させることにより、光学式走行距離カメラ４４０への損傷の可能性を大幅に低減することができる。
【００５８】
さらに、実装形態では、凹形構造２１０の開口部４１０は、ロボット１００の底部表面に位置合わせされ、ロボット１００の下方のフロア表面から約１０ｍｍのところにある。凹形構造２１０は、約１５〜２５ｍｍ（例えば、１７ｍｍ、１８ｍｍ、１９ｍｍ、２０ｍｍ）の焦点距離と、ピンホール・アパーチャと、４０〜６０ｍｍ（例えば、４５ｍｍ、５０ｍｍ、５５ｍｍ）の被写界深度とを有する光学式走行距離カメラ４４０を収容する。したがって、実装形態では、光学式走行距離カメラ４４０は、例えば−５ｍｍから１５ｍｍ、合計で２０ｍｍの範囲の、許容可能な焦点範囲の範囲内にある、移動ロボットの下方の種々の距離に位置する表面から走行距離データを収集するように構成される。実例では、光学式走行距離カメラ４４０は、−５ｍｍから１５ｍｍの焦点範囲のために必要な被写界深度を得るために、凹部構造内の、ロボットの底部から約４０〜６０ｍｍ（例えば、４５ｍｍ、５０ｍ、５５ｍｍ）の距離に位置づけられる。とりわけ、このようなカメラ構成は、硬いフロア表面（例えば、堅木の床）、及び、カメラからの距離が約２０〜２５ｍｍだけ変化する可能性が高い、より接近するフロア表面（例えば、プラッシュ・カーペット）の、焦点の合った画像を捕捉する被写界深度を提供する。
【００５９】
いくつかの実装形態では、光学式走行距離カメラ４４０は、カメラ４４０の視界内でのそれらの深さに関係なく、光学式走行距離センサ・システム２０５が対象の正確なサイズを決定できるようにするテレセントリック・レンズ４４２を使用する。テレセントリック・レンズは、その距離とは関係なく対象の一定の倍率を有する。一定の倍率を有する光学式走行距離カメラ４４０を利用することにより、光学式走行距離センサ・システム２０５は、オプティカル・フローの大きさを調整するために、追跡表面までの距離を決定するのを必要とすることなく、オプティカル・フローから移動の大きさを決定することができる。
【００６０】
光学式走行距離センサ・システムは、光学式走行距離カメラ４４０によって撮像されている追跡表面を照光するためにＬＥＤ又はレーザを使用することができる。凹形構造内に光学式走行距離カメラ４４０を配置することにより、多くの実施例が、追跡表面を一様に照光するようなＬＥＤのデザインを定めることもできる。追跡表面を照光するのに利用され得る種々の任意選択のＬＥＤ構成を以下で論じる。
複数のＬＥＤを組み込む光学式走行距離センサ・システム
【００６１】
多くの光学式走行距離センサ・システムが、追跡表面を照光するのに単一のＬＥＤを使用する。しかし、ＬＥＤを１つのみ使用することにより表面の照光はしばしば一様ではなくなり、照光されている表面の形状に基づいて陰を含みやすくなる。例えば、カーペットが１つのＬＥＤによって照光されているとき、照光されているカーペットの特定の撚糸に対するＬＥＤの位置に基づいて、陰が見える可能性がある。より一様に照光される画像は、より正確な走行距離データを提供することができる。
【００６２】
図４及び５を参照すると、追跡表面を一様に照光するために、実装形態では、光学式走行距離センサ・システム２０５は、カメラ・レンズ４４２の周りに位置する少なくとも２つのＬＥＤによって囲まれる光学式走行距離カメラ４４０を含む。カメラ・レンズ４４２を囲むように位置する４つのＬＥＤを備える光学式走行距離カメラ４４０の実例が図５に示されている。特に、図５は、システムの光学式走行距離カメラ・レンズ４４２の周りに位置する４つのＬＥＤ５１０を含む光学式走行距離カメラ４４０を示す。４つのＬＥＤ５１０を使用することにより、捕捉される画像内で可視となる可能性がある陰を低減するより一様な光の量で、表面５２０の画像が捕捉され得る。加えて、４つの小さいＬＥＤ５１０の発光の一部又はすべてを重ね合わせることにより、図４及び５の構成は、フロアを撮像するための十分な組み合わせの照光を提供する。さらに、ここでは、オプティカル・フローを決定するのに使用されるための捕捉される画像内で、表面のテクスチャ及び追跡可能な特徴のより多くが可視となり得る。多くの実施例において、各ＬＥＤ５１０は、追跡表面の照光の一様性を向上させるように角度をつけられる。いくつかの実施例では、各ＬＥＤ５１０は、カメラを保持する凹形構造４１０に基づいて表面を最適に照光（例えば、フロア表面５２０上の追跡可能な特徴を、陰を発生させずに照光）するために、垂直から約１０〜２０度（例えば、１２度、１５度、１７度）で角度をつけられる。いくつかの実装形態では、組み合わされた照光のために、ＬＥＤの発光円錐（emission cone）５１１は表面上で重なり合い、また、他の実装形態では、発光円錐が収束しない。
【００６３】
図１３Ａ〜１３Ｂが示すように、一実例では、４つのＬＥＤ１３１０、１３１５、１３２０、１３２５が、視界の中間距離ｄ２においてそれらの発光が光学式走行距離カメラ４４０のテレセントリック・レンズの光学軸１３０５上に収束するように、角度をつけられる。この中間距離ｄ２では、４つのＬＥＤ１３１０、１３１５、１３２０、１３２５のすべてからの照光が円形で重なり合い、照光される円の外側縁部のところで明度が低下することから使用可能な画像パッチ１３３０が収束する円内の領域に限定され、それにより、照光される領域の一部分だけが追跡のために有用となる可能性がある。図１３Ｃ及び１３Ｄの実装形態では、４つのＬＥＤ１３１０、１３１５、１３２０、１３２５はそれぞれ、それらの発光がテレセントリック光学系走行距離カメラ・レンズ４４２の光学軸１３０５からずれるように、方向を定められている。したがって、４つのＬＥＤ１３１０、１３１５、１３２０、１３２５からの発光は単一の円に収束しない。代わりに、図１３Ｄに示されるように、発光の各々は重複パッチ１３３５ａ〜１３３５ｄで他の２つの発光と重なり合い、４つのＬＥＤ１３１０、１３１５、１３２０、１３２５によって照光される追跡可能な領域が、完全に収束する実装形態の場合よりもより大きくなる。この螺旋照光パターンは明度の低下する領域をほとんどなくし、画像パッチ内で追跡可能な特徴を検出するための照光カバー領域（illuminated coverage area）を大きくする。より厳密には、図１３Ｃ〜Ｄの螺旋照光パターンは、カメラをあふれさせ（flood）て撮像されるエリアの残りの部分を洗い流してしまう（wash out）ような輝点の一切ない、カメラ４００の下方の表面の均等な照光を提供する。したがって、図１３Ｃ〜Ｄの螺旋パターンは、１箇所に重なり合う４つの光の照射のすべてよりも少ない照光を提供する。いかなる一つの領域においても高々２つのＬＥＤからの２つの光の照射のみが重なり合うことにより、カメラ４４０の下方の表面上への照光は、画像に大きく影響し、強い輝点の周りの、さもなければ知覚可能な細部を洗い流してしまうような閾値レベルの明度未満の光の強さで維持される。
多様な表面で使用されるための光学式走行距離センサ・システム
【００６４】
ある距離範囲にわたって焦点の合った画像を捕捉することができる光学式走行距離カメラ４４０は、移動ロボットが、移動ロボットの下側の下方の異なる距離にあり得る異なる種類の表面を横断して移動する場合に、特に有用となり得る。図６〜８は、移動ロボット１００がフロア表面の上方の約１０ｍｍのところを乗って進むハウスクリーニング・ロボットとして構成される場合に特に出くわしやすいような一定の範囲の実世界の状況における正確な光学式走行距離データを、広い被写界深度を有する光学式走行距離カメラ４４０により捕捉することができる手法を概念的に示す。
【００６５】
図６は、光線６２０を使用する図４に示される光学式走行距離カメラ４４０の被写界深度６０１を概念的に示している。被写界深度６０１は、テレセントリック・レンズ４４２を有する光学式走行距離カメラ４４０の前方の凹形構造２１０によって形成される空洞内の第１の距離６３０から、凹形構造２１０の開口部４１０を超える第２の距離６４０まで広がる。したがって、この範囲内に位置する表面は概して、光学式走行距離カメラ４４０により焦点の合った状態で捕捉され、よって光学式走行距離データを確認するのに使用され得る。光学式走行距離システムから異なる距離に位置する異なる種類の表面の例が図７及び図８に概念的に示される。
【００６６】
図７は、堅木の床又はタイル・フロアなどの硬い表面を横断して移動する移動ロボット１００を概念的に示す。さらに、移動ロボット１００は、フロアに対して傾斜している。移動ロボット１００は、物体の上を移動する、フロアが平坦ではない、及び／又は異なる高さのフロア表面の間の移行部分を横断する、を含む（これらに限定されない）多様な理由のうちのいずれかによって、傾斜する可能性がある。移動ロボット１００が傾斜することで移動ロボットと追跡表面との間の距離が増大しても、光学式走行距離カメラ４４０の被写界深度６０１は、光学式走行距離センサ・システムを含む凹形構造２１０内の開口部４１０を通して可視である追跡表面の部分の焦点の合った画像及び／又は許容される程度で焦点から外れる画像を捕捉し続けるのに十分な大きさである。
【００６７】
図８は、カーペットを敷いた表面の上を移動する移動ロボット１００を概念的に示す。カーペットの高さが移動ロボットの下側とホイールの底部との間の距離を超える場合に起こるように、カーペット繊維８１０が開口部４１０を通って凹形構造２１０の中まで侵入している。光学式走行距離カメラ４４０と追跡表面との間の距離が減少する場合でも、光学式走行距離カメラ４４０の被写界深度６０１は、カーペットの焦点の合った及び許容される程度でぼやけた画像の捕捉を可能とするのに十分な大きさである。したがって、この特定の光学式走行距離カメラ４４０の構成を使用することにより、光学式走行距離センサ・システム２０５は、移動ロボットの下の異なる距離に位置する可能性がある多様な異なる種類の表面について走行距離データを捕捉することができる。本発明の種々の実施例によるロボット制御装置によって構成される移動ロボットの概念的動作を以下でさらに論じる。
移動ロボットの行動制御システム
【００６８】
移動ロボット１００は、任意選択で、周囲環境及び／又は移動ロボット１００の状態に基づいて移動ロボットの行動を決定する行動制御アプリケーションを使用して構成され得る。任意選択の一構成では、移動ロボットは、特定のセンサ入力によって起動される１つ又は複数の行動と、どの行動を起動すべきかを決定するアービトレータ（arbitrator）とを含むことができる。別の任意選択の構成では、センサ入力は移動ロボット１００を囲む環境の画像を含んでよく、行動が、１つ又は複数の捕捉された画像から確認される環境の特徴に反応して起動され得る。
【００６９】
行動制御アプリケーションによりＶＳＬＡＭプロセス（これに限定されない）に基づいた環境内の航行が可能になる移動ロボット１００の任意選択の構成が図９に概念的に示されている。移動ロボット１００の行動制御アプリケーション９１０は、ホイール走行距離センサ９２０、光学式走行距離センサ・システム９２１、ジャイロスコープ９２２及び機械視覚システム９２３を含む、１つ又は複数のセンサから、その周囲環境に関する情報をから受信することができる。図示されてはいないが、１つ又は複数の他のセンサ（例えば、突起、近接、壁、停滞（stasis）、及び／又は、崖のセンサ）が移動ロボット１００によって担持されてもよい。ホイール走行距離センサ９２０は、移動ロボット１００の車輪の回転に基づいて走行距離データを捕捉する。この走行距離データの精度は、移動ロボット１００がその上を横断する表面の特定の種類に基づいて変化する可能性がある。例えば、深いカーペットを敷いた表面では車輪がスリップし、走行距離データの精度が低下し得る。
【００７０】
上で詳細に論じたように、光学式走行距離センサ・システム９２１は、移動ロボット１００が環境の表面を横断するときにカメラ４４０によって捕捉される画像を使用して走行距離データを集める。光学式走行距離カメラ４４０によって捕捉される走行距離データは、移動ロボット１００による移動した並進運動の距離及び方向に関する情報を含み得る。しかし、いくつかの構成では、この走行距離データは、移動ロボット１００の移動の方向に関する情報を含まなくてもよい。移動方向の情報は、この情報を提供することができるその他の様々なセンサの中のうち、ジャイロスコープ、コンパス、加速度計を含むいくつかの異なる種類のセンサから集められ得る。
【００７１】
ジャイロスコープ・センサ９２２は、環境内を通って移動するときの移動ロボット１００の方向データを捕捉する。種々のセンサ９２０〜９２３から捕捉されるデータは、移動ロボット１００の移動及び姿勢に関する種々の情報を確認するために組み合わされ得る。
【００７２】
移動ロボットの行動制御アプリケーション９１０は、センサ９２０〜９２３から受信される情報に反応してロボットのリソース９２５（例えば、車輪モジュール２２０）の利用を制御し、移動ロボット１００に、周囲環境に基づき得る行動を作動させることができる。プログラムされた行動９３０は、移動ロボット１００の多様な行動を作動するのに使用され得る種々のモジュールを含むことができる。とりわけ、プログラムされた行動９３０は、ＶＳＬＡＭモジュール９４０及び対応するＶＳＬＡＭデータベース９４４、ナビゲーション・モジュール９４２、並びに、多数の追加の行動モジュール９４３を含むことができる。移動ロボットの行動制御アプリケーション９１０は、プログラムされた行動システム９３０及びコントロール・アービトレータ（control arbitrator）９５０を実装するためにプロセッサを構成する、非一時的な機械可読命令を含むメモリと通信状態にある１つ又は複数のプロセッサを使用して実装され得る。
【００７３】
示されている構成では、ＶＳＬＡＭモジュール９４０は、移動ロボット１００が動作している環境のマッピングと、マッピングに関する移動ロボットの位置の特定を管理する。ＶＳＬＡＭモジュール９４０は、環境のマッピングに関するデータをＶＳＬＡＭデータベース９４４内に記憶することができる。これらのデータは、環境のマップ、及び、例えば、物体を含む領域、横断可能なフロアを含む他の領域、既に横断した領域、まだ横断していない領域、特定の領域を表す情報の日付及び時間、並びに／或いは、特定の用途の要求に適し得る追加の情報を含む、マップの異なる領域の特徴を含むことができる。多くの例において、ＶＳＬＡＭデータベースは、階段、壁及び／又はドアの位置を含む、環境の境界に関する情報も含む。容易に認識され得るように、本発明の実施例によれば、特定の用途の要求に合わせて、移動ロボット１００の動作環境をマッピングするために、多くの他の種類のデータがＶＳＬＡＭモジュール９４０によって記憶されて利用され得る。
【００７４】
いくつかの実施例では、環境の特徴に基づいて移動ロボット１００が環境の中を通して航行するように、ナビゲーション・モジュール９４２が作動する。ナビゲーション・モジュール９４２は、移動ロボット１００に、方向を変え、特定の速度で駆動し、特定の形（例えば、フロアを磨くように小刻みに動く、側壁を清掃するように壁に押しつける、など）で駆動し、ベースの充填基地（home charging station）まで航行し、及び、種々の他の行動を行うように指示し得る。
【００７５】
他の行動９４３も、移動ロボットの行動を制御するために定められ得る。さらに、行動９４０〜９４３をさらに強力にするために、複数の行動の出力を別の行動モジュールの入力に一緒につなぎ合わせて、複雑な組み合わせの機能を提供することが可能である。行動９４０〜９４３は、移動ロボットの全体の認識範囲の管理可能な部分を実装するよう意図され、容易に認識され得るように、移動ロボットは、特定の用途の要求に適する多様な行動のいずれも組み込むことができる。
【００７６】
図９を再び参照すると、コントロール・アービトレータ９５０は、任意の他の行動を知る必要なく、プログラムされた行動９３０のモジュール９４０〜９４３が、それぞれ、移動ロボット１００を制御するのを可能にするのを促進する。言い換えると、コントロール・アービトレータ９５０は、移動ロボット１００のプログラムされた行動９３０とリソース９２５との間に単純な優先順位をつけられた制御機構を提供する。コントロール・アービトレータ９５０は、プログラムされた行動９３０の行動９４０〜９４３にアクセスし、ランタイムにおいて行動９４０〜９４３の間でのロボットのリソース９２５へのアクセスを制御することができる。コントロール・アービトレータ９５０は、そのモジュールの要求（例えば、モジュールの間の優先度ヒエラルキー）に応じてどのモジュール９４０〜９４３がロボットのリソース９２５を制御するかを決定する。行動９４０〜９４３は動的に開始及び停止することができ、互いに完全に独立して動作することができる。プログラムされた行動９３０はまた、互いを補助するように一緒に組み合わされ得る複雑な行動を可能にする。
【００７７】
ロボットのリソース９２５は、１つ又は複数のハードウェア制御装置を備える機能モジュール（例えば、アクチュエータ、駆動装置システム、及び、それらのグループ）のネットワークであってよい。コントロール・アービトレータ９５０のコマンドは、通常、所与の動作を実行するためのリソースに特有のものである。ロボットの制御装置回路によって構成されるときの、移動ロボットの概念的動作を以下で論じる。
ロボットの制御装置回路
【００７８】
ロボットの制御装置回路によって構成されるときの、移動ロボット１００の行動は、通常、移動ロボットの周囲の動作環境の特徴、及び／又は移動ロボット１００の状態に基づいて、多数の行動から選択される。多くの実施例では、環境の特徴が、機械視覚センサ・システムによって捕捉される画像から確認され得、環境内を通る移動が、光学式走行距離カメラ４４０によって捕捉される画像を使用して追跡され得る。捕捉される画像は、移動ロボット１００を取り囲む環境をマッピングし、その環境内での移動ロボット１００の位置を特定するために、１つ又は複数のＶＳＬＡＭプロセスによって使用され得る。
【００７９】
機械視覚システム及び光学式走行距離センサ・システムを使用してＶＳＬＡＭを実施するのに使用され得る移動ロボットの制御装置回路が図１０に示されている。ロボットの制御装置回路１００５は、メモリ１０２５及び入力／出力インターフェース１０２０と通信しているプロセッサ１０１０を含む。プロセッサ１０１０は、シングル・マイクロプロセッサ、マルチプル・マイクロプロセッサ、複数コア・プロセッサ、マイクロコントローラ、並びに／或いは、ソフトウェア及び／又はファームウェアによって構成され得る任意の他の汎用計算システムであってよい。メモリ１０２５は、視覚測定アプリケーション１０３０、ＶＳＬＡＭアプリケーション１０３５、目印のマップ１０４０、行動制御アプリケーション１０４５、及び、目印データベース１０５０を収容できる。
【００８０】
視覚測定アプリケーション１０３０は、入力画像の組の内の特徴を特定し、入力画像内で特定された特徴の収集物の、目印データベース１０５０からの特定された目印に関連付けられる特徴の収集物との類似性に基づいて、目印データベース１０５０から目印を特定する。視覚測定アプリケーションは、一連の捕捉された画像内の特徴の組を特定し、特徴の３Ｄ構造を決定するためにこの特徴の組の視差情報（disparity information）を分析し、この３Ｄの特徴を新しい目印として目印データベース１０５０内に記憶することにより、新しい目印を作ることもできる。
【００８１】
ＶＳＬＡＭアプリケーション１０３５は、前の位置の推定と、走行距離データと、視覚測定アプリケーションから受信される少なくとも１つの視覚測定とに基づいて、目印のマップ内での移動ロボット１００の位置を推定する。上述したように、画像がＶＳＬＡＭアプリケーション１０３５によって利用され得る。特定の実施例では、特徴が新たに得られた画像から抽出され、その特徴が前に検出された特徴と比較され、目印データベース１０５０内に保存される。ＶＳＬＡＭアプリケーション１０３５は、移動ロボット１００の推定された位置と、走行距離データと、少なくとも１つの視覚測定とに基づいて、目印のマップを更新する。
【００８２】
目印のマップ１０４０は、移動ロボット１００を取り囲む環境のマップ、及び、環境内の移動ロボット１００の位置に対する目印の位置を含むことができる。目印のマップ１０４０は、目印データベース内で目印を表すデータへの参照（これに限定されない）を含む、マップ内での各目印を表す種々の情報を含むことができる。
【００８３】
行動制御アプリケーション１０３０は、移動ロボット１００の周囲環境及び状態に基づいて、移動ロボット１００の異なる行動の作動を制御する。いくつかの実施例では、画像が捕捉されてＶＳＬＡＭアプリケーション１０３５によって分析されるのにあわせて、行動制御アプリケーション１０４５が、移動ロボット１００を取り囲む環境の把握に基づいて移動ロボット１００が如何に振る舞うべきかを決定する。行動制御アプリケーション１０４５は、移動ロボット１００の環境及び／又は状態の特定の特徴に基づいて多数の異なる行動から選択することができる。行動には、限定しないが、ロボットによって作動され得る多くの基本的な行動のうち、壁追従行動（wall following behavior）、障害物回避行動、逃避行動が含まれる。
【００８４】
いくつかの実施例では、入力／出力インターフェースは、プロセッサ及び／又はメモリと通信する能力を、センサ（これに限定されない）などのデバイスに提供する。他の実施例では、入力／出力インターフェースは、有線及び／又は無線のデータ接続を介して遠隔の計算デバイスと通信する能力を移動ロボットに提供する。種々のロボットの制御装置構成が図１０を参照して上で説明されてきたが、移動ロボット１００は、ロボットの行動制御装置のアプリケーションをディスク又は何らかの他の形態の記憶装置上に位置させ、ランタイム時にメモリにロードするように、並びに／或いは、多様なソフトウェア、ハードウェア及び／又はファームウェアを使用してロボット行動制御装置アプリケーションを実装するように構成されるロボットの制御装置を含む、特定の用途の要求に適するものとして種々のロボットの制御装置のうちのいずれを使用しても構成され得る。
走行距離データの誤差低減
【００８５】
光学式走行距離センサ・システム２０５によって提供される走行距離データの信頼性は、横断している表面の種類、表面の照光、表面を横断する移動ロボットの速度、及び／又は、光学式走行距離カメラ４４０のフレーム率を含む（これに限定されない）、種々の要因に基づいて変わり得る。移動ロボット１００は、１つ又は複数のホイール走行距離センサを含む（これに限定されない）、１つ又は複数の異なる種類のセンサを使用して追加の走行距離データを得ることができる。任意選択の一構成では、移動ロボット１００は、光学式走行距離データの信頼性を確認し、及び／又は他のプロセスにより高い信頼性の走行距離データを提供するために、光学式走行距離センサ・システム２０５によって捕捉される走行距離データを、ホイール走行距離センサによって捕捉される走行距離データに対して比較することができる。
【００８６】
特定の実施例では、移動ロボットは、走行距離データを捕捉するのに光学式走行距離センサ・システム２０５に主に依存することがある。しかしながら、光学式走行距離センサ・システム２０５が満足できるレベルの信頼性を有する走行距離データを捕捉することができない場合、移動ロボット１００は走行距離データを集めるためにホイール走行距離センサ・システムも使用することができる。例えば、移動ロボット１００が、高い信頼性のＳＱＵＡＬ値を達成するにはあまりにも少ない追跡可能な特徴しか有さないようなセラミック・タイル・フロアを横断して移動する場合、光学式走行距離データは、例えばホイール走行距離センサを含む他の種類のセンサによって捕捉されたデータと同じようには正確ではないかもしれない。異なる種類のセンサによって捕捉される情報を使用して走行距離データを得るために移動ロボット１００により任意選択で利用され得るプロセスが図１１及び１２に示されている。
【００８７】
図１１の実装形態では、プロセス１１００は、１つ又は複数の異なるセンサからセンサ・データを受信する（１１０２）。これらのセンサは、光学式走行距離センサ・システム、及び／又は、ホイール走行距離センサ、機械視覚センサを（限定はしないが）含み得る。移動ロボット１００は、光学式走行距離センサ・システム２０５によって捕捉される光学式走行距離データが品質閾値を満たすか否かを決定する（１１０４）。いくつかの実施例では、光学式走行距離センサ・システム２０５は、走行距離データとともに、データの信頼性の推定を与える測定指標を提供する。この測定指標は、移動ロボットがその上を横断している表面の品質、例えば、センサが追跡する特徴を有しているか否かに基づき得る。
【００８８】
光学式走行距離データが品質閾値を満たす場合、移動ロボット１００は、移動した距離を推定するのに光学式走行距離データを使用することができる（１１０６）。光学式走行距離データが品質閾値を満たさない場合、移動ロボット１００は、移動した距離を推定するのに光学式走行距離データ及び１つ又は複数の追加のセンサからのデータを使用することができる（１１０８）。追加のセンサは、移動ロボット１００の車輪の回転に基づいて走行距離データを環境にわたって捕捉するホイール走行距離センサであってよい。一構成では、ホイール走行距離データは光学式走行距離データを検証するのに使用され、ホイール走行距離データによって確認されれば、光学式走行距離データが利用される。ホイール走行距離データが光学式走行距離データを認めない場合、特定の用途の要求に応じて、プロセスはすべての走行距離データを放棄、及び／又はホイール走行距離データに依存してよい。
【００８９】
示されているプロセスでは、移動ロボット１００は、環境内の移動ロボット１００の移動の方向を推定するのにジャイロスコープ及び／又は追加のセンサを使用し（１１１０）、移動の並進運動及び方向の推定される大きさに基づいて移動ロボットの姿勢を更新する（１１１２）。
【００９０】
動作環境内でのロボット１００の位置を決定するために２つ以上のセンサ読取値を融合するためのプロセス１２００を示す図１２の実装形態では、移動ロボット１００は、ホイール走行距離及びＩＭＵ、並びに／或いは、光学式走行距離及びＩＭＵから高頻度のセンサ読取値を受信する（Ｓ１２０５）。実装形態においては、ロボット１００は、３軸加速度計を３軸ジャイロメータ（以下、「ジャイロ」と称す）と組み合わせた６軸ＩＭＵなどのＩＭＵを備える。高い頻度でサンプリングされるホイール走行距離及びマウス走行距離データをＩＭＵデータと比較することにより（Ｓ１２１０、Ｓ１２１５）、ロボット１００は、ホイール走行距離計及びマウス・センサが移動を正確に報告し、動作環境内でのロボットのロケーションを決定することにおいて考慮され得るか否か、を決定する。例えば、移動を正確に検出するには光学式センサが追跡する特徴があまりにも少ない滑らかな表面上をロボット１００が移動している場合、センサは低いＳＱＵＡＬ値を生成することになる。プロセス１２００は、ＳＱＵＡＬ値が閾値未満であるか否かを決定し（Ｓ１２２０）、そうである場合、ロボット１００は光学式センサのデータを無視し（Ｓ１２２５）、その環境内でのロボット１００の位置を特定するために他のセンサ読取値のうちの１つ又は複数を自動的に選択することになる。実装形態においては、ＳＱＵＡＬ値が低い場合、ロボット１００は、ＦＯＤが光学式走行距離カメラ４００のレンズを妨害している可能性があるこの音響及び視覚信号を使用者に対して発し、凹部２１０を掃除するよう使用者に促す。
【００９１】
同様に、ＩＭＵセンサ・データ及びホイール走行距離データの両方が移動を示すのに失敗した場合、又は、センサが矛盾し、ホイール走行距離計が移動を示している一方でＩＭＵデータはロボット１００が移動していないことを示している場合（例えば、車輪が摩擦の小さい表面上でスリップしている場合、又は、ロボットが乗り上げている（beached or high centered）場合）、ロボット１００は、位置の特定の決定を行う際にホイール走行距離データを無視する（Ｓ１２３０）。ＩＭＵ及びホイール走行距離計の両方がロボット１００が移動していることを示している場合、ロボット１００は、ＩＭＵが初期のロボットの進行方向からのズレ（drift）を示しているか否かを検査する（Ｓ１２３５）。
【００９２】
ＩＭＵがズレを示している場合、ホイール走行距離データは、移動した距離に基づいて位置を計算するのには信頼できないものとなろう。ロボット１００はホイール走行距離データ及び光学式センサのデータを無視し（Ｓ１２４０）、よりゆっくりサンプリングされるＶＳＬＡＭデータを使用して環境内でのロボットの姿勢の全体における決定によって、位置の特定を調整する。多くの実装形態では、ロボット１００は、ＶＳＬＡＭのための画像を収集するように構成され、フロア表面から３〜８フィートの高さの範囲内にある静止した目印の特定の領域に向けられた視界を有するカメラ１２０であるイメージング・センサを有する。高頻度の走行距離データを全体的なセンサ読取値で補足することにより、ロボット１００は、全体座標系及び／又は環境の永続的なマップの中での正確な姿勢を決定し（Ｓ１２４５）、一旦、姿勢が決定されると、位置の特定において矛盾が存在する場合には高頻度の局所的な位置データを無視し、調整し、及び／又は、再設定する（Ｓ１２５０）。次いで、プロセス１２００は、ロボットのミッション（例えば、清掃走行（cleaning run））が完了しているか否かを検査し（Ｓ１２２５）、ホイール走行距離センサのデータ、光学式走行距離データ及びＩＭＵデータの監視に戻る。
【００９３】
ホイール走行距離計が移動を正確に示し、光学式センサがフロア表面上の十分な数の追跡する特徴を追跡しつつ移動を示していると決定された後にＩＭＵがズレのないことを示しているならば（Ｓ１２３５）、ロボット１００上で実行されているプロセス１２００は、ホイール走行距離データ及び光学式センサのデータの両方を使用して、ロボット１００の位置を特定しているであろう（Ｓ１２６０）。いくつかの実装形態では、プロセス１２００は、ＩＭＵからの入力にもかかわらずロボットが著しくはズレていないことを保証するための断続的な全体における位置特定の検査を含む。全体における位置特定の検査は、最初に、閾値継続時間が経過したか否かを決定する（Ｓ１２６５）。もしそうでなければ、プロセスはロボットのミッション（例えば、清掃走行）が完了しているか否かを検査し（Ｓ１２５５）、ホイール走行距離センサのデータ、光学式走行距離データ及びＩＭＵデータの監視に戻る。閾値継続時間が経過している場合、上述したように、プロセス１２００はＶＳＬＡＭセンサを使用してロボット１００の姿勢を決定する（Ｓ１２７０）。プロセスが、走行距離に基づく位置の特定とＶＳＬＡＭの姿勢とが合っていると決定すれば、プロセス１２００はロボットのミッション（例えば、清掃走行）が完了しているか否かを検査し（Ｓ１２５５）、ホイール走行距離センサのデータ、光学式走行距離データ及びＩＭＵデータの監視に戻る。プロセス１２００が、走行距離に基づく位置の特定とＶＳＬＡＭの姿勢とが合っていないと決定すれば、ロボット１００は高頻度の局所的な位置データを無視し、調整し、及び／又は、再設定する（Ｓ１２５０）。
【００９４】
上記は本発明の多くの具体的な任意選択の態様の説明を含んでいるが、これらは本発明の範囲を限定するものとしてではなく、むしろ、それらの多様な構成の例として解釈されるべきである。したがって、本発明の範囲は示される例によって決定されるべきではなく、添付の特許請求の範囲及びその均等物によって決定されるべきである。
【図１】
0006772129.tif 000002
【図２Ａ】
0006772129.tif 000003
【図２Ｂ】
0006772129.tif 000004
【図３】
0006772129.tif 000005
【図４】
0006772129.tif 000006
【図５】
0006772129.tif 000007
【図６】
0006772129.tif 000008
【図７】
0006772129.tif 000009
【図８】
0006772129.tif 000010
【図９】
0006772129.tif 000011
【図１０】
0006772129.tif 000012
【図１１】
0006772129.tif 000013
【図１２】
0006772129.tif 000014
【図１３Ａ】
0006772129.tif 000015
【図１３Ｂ】
0006772129.tif 000016
【図１３Ｃ】
0006772129.tif 000017
【図１３Ｄ】
0006772129.tif 000018