(57)【要約】【課題】同時位置測定マッピング（simultaneous location and mapping）で使用されるための視覚測定を得るために使用される画像を捕捉するためのシステム及び方法を提供することを目的とする。【解決手段】本発明は、動作環境内をナビゲートするように構成される移動ロボットであって、カメラ・ベースのナビゲーション・システムを使用して環境を通って移動ロボットをナビゲートすることを移動ロボットの駆動装置に指示する制御装置回路と、カメラの視野及びカメラの光軸を画定する光学系を有するカメラであって、カメラが、凹形構造内に位置付けられ、カメラの光軸が、頂部表面と一致する水平面から上方に鋭角に位置合わせされ、且つ、ロボットの本体の前方駆動方向に向けられるように、傾斜され、カメラが移動ロボットの動作環境の画像を捕捉するように構成されるカメラと、を含む移動ロボットを提供する。【選択図】図１Ａ
2020173847.tif 000002
【特許請求の範囲】
【請求項１】
動作環境内をナビゲートするように構成される移動ロボット（１０）であって、
頂部表面（１０８）を有する本体（１００）と、
前記本体（１００）に設置される駆動装置（１１１）と、
前記本体（１００）の幾何学的中心の近くで前記頂部表面（１０８）の前記平面の下方にある凹形構造（１３０）と、
前記駆動装置（１１１）に通信状態にある制御装置回路（６０５）であって、カメラ・ベースのナビゲーション・システム（１２０）を使用して環境を通って前記移動ロボット（１０）をナビゲートすることを前記駆動装置（１１１）に指示する、制御装置回路（６０５）と、
カメラの視野及びカメラの光軸を画定する光学系を含むカメラ（１２５）であって、
当該カメラ（１２５）が、前記凹形構造（１３０）内に位置付けられ、前記カメラの光軸が、前記頂部表面（１０８）と一致する水平面から上方に３０〜４０度の鋭角に位置合わせされ、且つ、前記ロボットの本体（１００）の前方駆動方向に向けられるように、傾斜させられ、
当該カメラ（１２５）の前記視野が前記垂直方向において４５度〜６５度の円錐台に及び、
当該カメラ（１２５）が当該移動ロボット（１０）の前記動作環境の画像を捕捉するように構成される、
カメラと、
を備える移動ロボット（１０）。
【請求項２】
前記カメラ（１２５）が、前記カメラの前記光軸に対して鋭角に位置合わせされるレンズ・カバー（１３５）によって保護される、請求項１に記載の移動ロボット（１０）。
【請求項３】
前記レンズ・カバー（１３５）が前記凹部構造（１３０）の開口部に対して後退して設置され、前記頂部表面（１０８）によって画定される平面と前記カメラ（１２５）の前記光軸との間に形成される角度よりも直角に近い、前記カメラ（１２５）の前記光軸に対する鋭角である、請求項２に記載の移動ロボット（１０）。
【請求項４】
前記鋭角が１５から７０度の間である、請求項２に記載の移動ロボット（１０）。
【請求項５】
前記凹部構造（１３０）内の前記開口部によって画定される平面と前記カメラ（１２５）の前記光軸との間に形成される前記角度が１０から６０度の間の範囲である、請求項３に記載の移動ロボット（１０）。
【請求項６】
前記カメラ（１２５）の視野が、フロア表面から３フィートから８フィートの範囲であって、３フィートから１０フィートの距離のところに位置付けられた静止した特徴に向けられている、請求項１に記載の移動ロボット（１０）。
【請求項７】
前記カメラの画像が１インチ当たり約６〜１２ピクセルを含み、前記画像の前記頂部の特徴が、連続する画像の間で、前記移動ロボットが移動する前記速度より速く上方に移動し、前記画像の前記底部の特徴が、連続する画像の間で、前記移動ロボットが移動する前記速度より遅く下方に移動し、前記制御装置が、連続する画像の間の視差を特定するときに、前記移動ロボットの前記速度及び前記画像内の特徴の位置を決定するように構成される、請求項６に記載の移動ロボット（１０）。
【請求項８】
前記移動ロボット（１０）が秒速２２０ｍｍから秒速４５０ｍｍの速度で移動し、前記水平線に対して４５度未満である特徴が秒速約３０６ｍｍ未満で跡を残し、４５度を超える特徴が毎秒３０６ｍｍを超えて跡を残す、請求項７に記載の移動ロボット（１０）。
【請求項９】
前記本体（１０）が、
前記制御装置回路（６０５）と通信状態にあるメモリ（６２５）と、
前記駆動装置（１１１）と通信状態にある走行距離測定センサ・システムと
をさらに含み、
前記メモリが、視覚測定アプリケーション（６３０）と、同時位置測定マッピング（ＳＬＡＭ）のアプリケーション（６３５）と、目印データベース（６５０）と、目印のマップ（６４０）とをさらに含み、
前記制御装置回路（６０５）が、
前記駆動装置（１１１）を作動させて前記走行距離測定センサ・システムを使用して走行距離測定データを捕捉することと、
少なくとも、前記捕捉された走行距離測定情報及び前記捕捉された画像を前記視覚測定アプリケーション（６３０）に提供することにより視覚測定を獲得することと、
少なくとも、前記走行距離測定情報、及び、前記視覚測定結果を入力として前記ＳＬＡＭアプリケーション（６３５）に提供することにより、目印の更新されたマップ内での更新されたロボットの姿勢を決定することと、
前記目印の更新されたマップ内の前記更新されたロボットの姿勢を含む入力に基づいてロボットの行動を決定することと、
をプロセッサ（６１０）に指示する、
請求項１に記載の移動ロボット（１０）。
【請求項１０】
前記目印データベース（６５０）が、
複数の目印の記述と、
前記複数の目印の各々の目印画像、及び、関連する目印の姿勢であって前記目印画像を捕捉する関連する目印の姿勢と、
所与の目印に関連付けられる複数の特徴の記述であって、当該所与の目印に関連付けられる当該複数の特徴の各々のための３Ｄ位置を含む、前記複数の目印からの記述と
を含む、
請求項９に記載の移動ロボット（１０）。
【請求項１１】
前記視覚測定アプリケーション（６３０）が、
入力画像内で特徴を特定することと、
前記目印データベース（６５０）から目印を特定することであって、前記目印データベース（６５０）内の当該特定される目印の目印画像に関連付けられる匹敵する特徴に対しての前記入力画像内で特定される前記特徴の前記類似性に基づいて、前記入力画像内で、前記目印データベース（６５０）から当該目印を特定することと、
前記入力画像内の前記特定される特徴との類似性が最も高くなるように、前記特定される目印に関連付けられる前記匹敵する特徴の前記３Ｄ構造の剛体変換であって、相対的な姿勢の推定と、前記移動ロボット（１０）の前記移動方向の上方で前記カメラ（１２５）の前記光軸を位置合わせする前記鋭角とに基づいて決定される剛体変換を決定することにより、最も可能性の高い相対的な姿勢を推定することと、
を前記プロセッサ（６１０）に指示する、請求項１０に記載の移動ロボット（１０）。
【請求項１２】
前記入力画像内で目印を特定することが、前記入力画像からの修正されていない画像パッチを、前記目印データベース（６５０）内の目印画像と比較することを含む、請求項１１に記載の移動ロボット（１０）。
【請求項１３】
前記ＳＬＡＭアプリケーション（６３５）が、
前の位置の推定と、走行距離測定データと、少なくとも１つの視覚測定とに基づいて、前記目印のマップ（６４０）内の前記移動ロボット（１０）の前記位置を推定することと、
前記移動ロボット（１０）の前記推定された位置と、前記走行距離測定データと、前記少なくとも１つの視覚測定とに基づいて、前記目印のマップ（６４０）を更新することと、
を前記プロセッサ（６１０）に指示する、請求項１１に記載の移動ロボット（１０）。
【請求項１４】
前記視覚測定アプリケーション（６３０）が、
新しい目印を生成することであって、
一続きの画像の複数の画像内で特徴を検出することと、
前記一続きの画像からの複数の画像内の目印を形成する特徴の組を特定することと、
前記複数の画像の各々が捕捉されるときに、前記複数の画像の各々において前記目印を形成する前記特定された特徴の組を使用して、目印を形成する前記特徴の組の３Ｄ構造と、相対的なロボットの姿勢とを推定することと、
前記目印データベース（６５０）に新しい目印を記録することであって、前記新しい目印を記録することが、前記新しい目印の画像と、少なくとも前記新しい目印を形成する前記特徴の組と、前記新しい目印を形成する前記特徴の組の前記３Ｄ構造とを記憶することを含む、前記目印データベース（６５０）に新しい目印を記録することと、
によって新しい目印を生成することと、
新しい目印の前記生成を前記ＳＬＡＭアプリケーション（６３５）に通知することと、
を前記プロセッサ（６１０）にさらに指示する、請求項９に記載の移動ロボット（１０）。
【請求項１５】
前記ＳＬＡＭアプリケーション（６３５）が、
前記目印データベース（６５０）に記憶される前記新しい目印の前記画像が捕捉されるときの前記移動ロボット（１０）の前記姿勢として目印の姿勢を決定することと、
前記新しい目印のための前記目印の姿勢を前記目印データベース（６５０）に記録することと、
をプロセッサ（６１０）に指示する、請求項１４に記載の移動ロボット（１０）。
【請求項１６】
動作環境内をナビゲートするように構成された移動ロボット（１０）であって、
本体（１００）であって、
移動方向に前記ロボット（１０）を平行移動させるように構成される駆動装置（１１１）と、
前記移動ロボット（１０）の前記動作環境の画像を捕捉するカメラ（１２５）を備える機械視覚システム（１２５）と、
プロセッサ（６１０）と、
同時位置測定マッピング（ＳＬＡＭ）のアプリケーション（６３５）と、行動制御アプリケーション（６３０）とを含むメモリ（６２５）と
を含み、
前記行動制御アプリケーション（６３０）が、
前記機械視覚システム（１２５）を使用して画像を捕捉することと、
前記捕捉された画像に基づいて前記カメラ（１２５）の前記視野の一部分を妨害する遮蔽物の前記存在を検出することと、
前記カメラ（１２５）の前記視野の前記一部分を妨害する遮蔽物が検出される場合に通知を生成することと、
を前記プロセッサ（６１０）に指示し、
前記行動制御アプリケーション（６３０）が、前記ＳＬＡＭアプリケーション（６３５）によって使用される画像の遮蔽される及び妨害されない部分を表す遮蔽物検出データを保持することを前記プロセッサ（６１０）にさらに指示する、
本体（１００）
を備える移動ロボット（１０）。
【請求項１７】
前記遮蔽物検出データが、前記カメラ（１２５）の前記視野の一部分に対応する画像の部分を表す、請求項１６に記載の移動ロボット（１０）。
【請求項１８】
前記遮蔽物検出データが、前記カメラ（１２５）の視野の異なる部分を特定するヒストグラムを有し、特徴を生成するか又は特定するために前記ＳＬＡＭアプリケーション（６３５）により前記視野の各部分を使用される対応する頻度を提供する、請求項１６に記載の移動ロボット（１０）。
【請求項１９】
遮蔽物の前記存在を検出することが、閾値の数の画像について、前記ＳＬＡＭアプリケーション（６３５）によって利用されない前記カメラ（１２５）の視野の一部分を前記捕捉された画像内で特定することをさらに含む、請求項１６に記載の移動ロボット（１０）。
【請求項２０】
前記閾値の数の画像を検出することが、毎秒２２０ｍｍから毎秒４５０ｍｍの間の速度で移動する移動ロボット（１０）について、ロボットの移動の３００ｍｍ当たりで、少なくとも、１から１０個の画像の間である、請求項１９に記載の移動ロボット（１０）。
【請求項２１】
前記行動制御アプリケーション（６３０）が、前記通知を生成する前に、前記カメラ（１２５）の視野の特定の割合が遮蔽されていることを特定することを、プロセッサ（６１０）にさらに指示する、請求項１６に記載の移動ロボット（１０）。
【請求項２２】
前記カメラ（１２５）の視野の前記遮蔽される割合が３０から７５パーセントの間である、請求項２１に記載の移動ロボット（１０）。
【請求項２３】
前記通知が、表示されるメッセージ、テキスト・メッセージ、ボイスメール、又は、電子メール・メッセージのうちの１つである、請求項１６に記載の移動ロボット（１０）。
【請求項２４】
前記通知が、前記移動ロボット（１０）によって提供される、警報、音、又は、インジケータ・ライトのうちの１つである、請求項１６に記載の移動ロボット（１０）。
【請求項２５】
前記行動制御アプリケーション（６３０）が、前記遮蔽物の前記通知をサーバに送信することを、プロセッサ（６１０）にさらに指示する、請求項１６に記載の移動ロボット（１０）。
【請求項２６】
前記遮蔽物が、捕捉された画像の組の第１の部分内で検出される、請求項１６に記載の移動ロボット（１０）。
【請求項２７】
前記遮蔽物が、前記視野の前記妨害される部分に対応する前記捕捉された画像の組の前記第１の部分をぼけさせる半透明の遮蔽物である、請求項２６に記載の移動ロボット（１０）。
【請求項２８】
前記遮蔽物が、前記視野の前記妨害される部分に対応する前記捕捉された画像の組の前記第１の部分を完全に遮蔽する不透明の遮蔽物である、請求項２６に記載の移動ロボット（１０）。
【請求項２９】
前記カメラ（１２５）が、前記移動ロボット（１０）の前記頂部表面（１０８）の下の凹形構造（１３０）内に位置付けられ、前記カメラ（１２５）の光軸が、前記頂部表面（１０８）と一致する水平面から上方に３０〜４０度に位置合わせされ、且つ、前記ロボットの本体（１００）の前方駆動方向に向けられるように、傾斜させられ、前記カメラ（１２５）の前記視野が前記垂直方向において４５〜６５度の円錐台に及ぶ、請求項１６に記載の移動ロボット（１０）。
【請求項３０】
前記カメラ（１２５）が、前記カメラ（１２５）の前記光軸に対して鋭角に位置合わせされたレンズ・カバー（１３５）によって保護される、請求項２９に記載の移動ロボット（１０）。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、同時位置測定マッピング（simultaneous location and mapping）で使用されるための視覚測定を得るために使用される画像を捕捉するためのシステム及び方法が説明される。
【背景技術】
【０００２】
多くのロボットはコンピュータによって制御される電気機械式の機械である。移動ロボットはその環境内を動き回る能力を有し、１つの物理的な位置に固定されない。現在一般的に使用される移動ロボットの１つの例として、無人搬送車（automated guided vehicle又はautomatic guided vehicle、ＡＧＶ）がある。ＡＧＶは、通常、フロア内のマーカ又はワイヤをたどるか又はナビゲーションのためにビジョン・システム又はレーザを使用する移動ロボットと考えられる。移動ロボットは、産業環境、軍事環境及び警備環境で見つけることができる。移動ロボットはまた、娯楽のための、又は、真空掃除及び在宅支援などの特定のタスクを行うための、消費者製品としても登場する。
【０００３】
完全な自律を達成するために、移動ロボットは、通常、使用者の介入なしにその環境を探索し、環境の高い信頼性のマップを構築し、マップ内でそれ自身の位置を特定する能力を保有することを必要とする。移動ロボット工学でのこのような問題に対処するために、同時位置測定マッピング（Simultaneous Localization and Mapping、ＳＬＡＭ）の分野ではかなりの研究が行われてきた。より優れたナビゲーション・アルゴリズム及びより正確なセンサの開発により、より優れたロボットの構築に向けて大きく前進することが可能となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２０１２／０３１７７４４号明細書
【特許文献２】米国特許出願公開第２０１２／０１２１１６１号明細書
【特許文献３】米国特許出願公開第２０１１／０１６７５７４号明細書
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明は、動作環境内をナビゲートするように構成される移動ロボットであって、頂部表面を有する本体と、本体に設置される駆動装置と、本体の幾何学的中心の近くで頂部表面の平面の下方にある凹形構造と、駆動装置と通信状態にある制御装置回路であって、カメラ・ベースのナビゲーション・システムを使用して環境を通って移動ロボットをナビゲートすることを駆動装置に指示する、制御装置回路と、カメラの視野及びカメラの光軸を画定する光学系を含むカメラであって、カメラが、凹形構造内に位置付けられ、カメラの光軸が、頂部表面と一致する水平面から上方に３０〜４０度の鋭角に位置合わせされ、且つ、ロボットの本体の前方駆動方向に向けられるように、傾斜させられ、カメラの視野が垂直方向において４５度〜６５度の円錐台に及び、カメラが移動ロボットの動作環境の画像を捕捉するように構成される、カメラと、を含む移動ロボットを提供する。
【０００６】
複数の実施例では、カメラが、カメラの光軸に対して鋭角に位置合わせされるレンズ・カバーによって保護される。
【０００７】
特定の実施例では、レンズ・カバーが凹形構造の開口部に対して後退して設置され、頂部表面によって画定される平面とカメラの光軸との間に形成される角度よりも直角に近い、カメラの光軸に対する鋭角である。
【０００８】
複数の実施例では、鋭角が１５度から７０度の間である。
【０００９】
いくつかの実施例では、凹形構造内の開口部によって画定される平面とカメラの光軸との間に形成される角度が１０から６０度の間の範囲である。
【００１０】
いくつかの実施例では、カメラの視野が、フロア表面から３フィートから８フィートの範囲であって、３フィートから１０フィートの距離のところに位置付けられた静止した特徴に向けられている。
【００１１】
いくつかの実施例では、カメラの画像が１インチ当たり約６〜１２ピクセルを含み、画像の頂部の特徴が、連続する画像の間で、移動ロボットが移動する速度より速く上方に移動し、画像の底部の特徴が、連続する画像の間で、移動ロボットが移動する速度より遅く下方に移動し、制御装置が、連続する画像の間の視差を特定するときに、移動ロボットの速度及び画像内の特徴の位置を決定するように構成される。
【００１２】
特定の実施例では、移動ロボットが秒速２２０ｍｍから秒速４５０ｍｍの速度で移動し、水平線に対して４５度未満である特徴が秒速約３０６ｍｍ未満で跡を残し、４５度を超える特徴が毎秒３０６ｍｍを超えて跡を残す。
【００１３】
いくつかの実施例では、光学系が１．８から２．０の間のｆ値を画定する。
【００１４】
複数の実施例では、光学系が少なくとも４０ｃｍである焦点距離を画定する。
【００１５】
いくつかの実施例では、本体が、制御装置回路と通信状態にあるメモリと、駆動装置と通信状態にある走行距離測定センサ・システム（odometry sensor system）とをさらに含み、メモリが、視覚測定アプリケーションと、同時位置測定マッピング（ＳＬＡＭ）のアプリケーションと、目印データベースと、目印のマップとをさらに含み、制御装置回路が、駆動装置を作動させて走行距離測定センサ・システムを使用して走行距離測定データを捕捉することと、少なくとも、捕捉された走行距離測定情報及び捕捉された画像を視覚測定アプリケーションに提供することにより視覚測定を獲得することと、少なくとも、走行距離測定情報、及び、視覚測定結果を入力としてＳＬＡＭアプリケーションに提供することにより、目印の更新されたマップ内での更新されたロボットの姿勢を決定することと、目印の更新されたマップ内の更新されたロボットの姿勢を含む入力に基づいてロボットの行動（behavior）を決定することと、をプロセッサに指示する。
【００１６】
いくつかの実施例では、目印データベースが、複数の目印の記述（description）と、複数の目印の各々の目印画像、及び、関連する目印の姿勢であって目印画像を捕捉する関連する目印の姿勢と、所与の目印に関連付けられる複数の特徴の記述であって、所与の目印に関連付けられる複数の特徴の各々のための３Ｄ位置を含む、複数の目印からの記述と、を含む。
【００１７】
特定の実施例では、視覚測定アプリケーションが、入力画像内で特徴を特定することと、目印データベースから目印を特定することであって、目印データベース内の特定される目印の目印画像に関連付けられる匹敵する特徴に対しての入力画像内で特定される特徴の類似性に基づいて、入力画像内で、目印データベースから目印を特定することと、入力画像内の特定される特徴との類似性が最も高くなるように、特定される目印に関連付けられる匹敵する特徴の３Ｄ構造の剛体変換であって、相対的な姿勢の推定と、移動ロボットの移動方向の上方でカメラの光軸を位置合わせする鋭角とに基づいて決定される剛体変換を決定することにより、最も可能性の高い相対姿勢を推定することと、をプロセッサに指示する。
【００１８】
いくつかの実施例では、入力画像内で目印を特定することが、入力画像からの修正されていない画像パッチを、目印データベース内の目印画像と比較することを含む。
【００１９】
複数の実施例では、ＳＬＡＭアプリケーションが、前の位置の推定と、走行距離測定データと、少なくとも１つの視覚測定とに基づいて、目印のマップ内の移動ロボットの位置を推定することと、移動ロボットの推定された位置と、走行距離測定データと、少なくとも１つの視覚測定とに基づいて、目印のマップを更新することと、をプロセッサに指示する。
【００２０】
いくつかの実施例では、制御装置回路が、前の入力フレーム内で特定された目印に向かって移動ロボットを平行移動させるように駆動装置を作動させることを、プロセッサにさらに指示し、視覚測定アプリケーションが、前の入力画像内で特徴が特定された位置の上方の位置で、前の入力画像内で特定された目印の特徴を捜索することを、プロセッサにさらに指示する。
【００２１】
いくつかの実施例では、視覚測定アプリケーションが、新しい目印を生成することであって、一続きの画像の複数の画像内で特徴を検出することと、一続きの画像からの複数の画像内の目印を形成する特徴の組を特定することと、複数の画像の各々が捕捉されるときに、複数の画像の各々において目印を形成する特定された特徴の組を使用して、目印を形成する特徴の組の３Ｄ構造と、相対的なロボットの姿勢とを推定することと、目印データベースに新しい目印を記録することであって、新しい目印を記録することが、新しい目印の画像と、少なくとも新しい目印を形成する特徴の組と、新しい目印を形成する特徴の組の３Ｄ構造とを記憶することを含む、目印データベースに新しい目印を記録することと、によって新しい目印を生成することと、新しい目印の生成をＳＬＡＭアプリケーションに通知することと、をプロセッサにさらに指示する。
【００２２】
複数の実施例では、ＳＬＡＭアプリケーションが、目印データベースに記憶される新しい目印の画像が捕捉されるときの移動ロボットの姿勢として目印の姿勢を決定することと、新しい目印のための目印の姿勢を目印データベースに記録することと、をプロセッサに指示する。
【００２３】
いくつかの実施例では、視覚測定アプリケーションが、複数の画像の各々が捕捉されるときに、目印を形成する特徴の組の３Ｄ構造の、複数の画像の各々が捕捉されるときの推定される相対的なロボットの姿勢のための複数の画像の各々への再投影誤差を最小にすることにより、目印を形成する特徴の組の３Ｄ構造と、相対的なロボットの姿勢とを推定することを、プロセッサにさらに指示する。
【００２４】
いくつかの実施例では、視覚測定アプリケーションが、一続きの画像の複数の画像からの修正されていない画像パッチを比較することにより、一続きの画像からの複数の画像内で少なくとも１つの目印を特定することを、プロセッサにさらに指示する。
【００２５】
いくつかの実施例では、少なくとも１つのプロセッサが、視覚測定アプリケーション、行動制御装置アプリケーション及びＳＬＡＭアプリケーションによって指示されるシングル・プロセッサである。
【００２６】
多数の実施例では、少なくとも１つのプロセッサが少なくとも２つのプロセッサを含み、ここで、行動制御装置アプリケーションが、少なくとも２つのプロセッサのうちの第１に指示し、視覚測定アプリケーション及びＳＬＡＭアプリケーションが少なくとも２つのプロセッサのうちのもう１つに指示する。
【００２７】
いくつかの実施例では、機械視覚センサ・システムが、ロボットの頂部表面の下にあり、頂部表面の水平面に対して上方に角度をつけられる焦点軸を有する複数のカメラをさらに有し、ここで、少なくとも１つのカメラが、前方駆動方向と反対の逆駆動方向を向く。
【００２８】
いくつかの実施例では、機械視覚センサ・システムが、カメラの視野及びカメラの光軸を画定する光学系を含む第２のカメラを有し、第２のカメラが、第２のカメラの光学系の光軸が移動方向の上方のある角度に位置合わせされるように、位置付けられる。
【００２９】
複数の実施例では、機械視覚システムが、重なり合う視野を有するステレオ対のカメラを含む。
【００３０】
複数の実施例では、カメラが、凹形構造内の、フロア表面から最大で６インチの距離に位置付けられる。
【００３１】
いくつかの実施例では、カメラの視野が、平坦な壁上の、フロア表面から３フィートから８フィートの範囲内に位置する静止した特徴に向けられる。
【００３２】
複数の実施例では、カメラ画像が、１インチ当たり約６〜１２ピクセルを含む。
【００３３】
特定の実施例では、カメラが、ＩＲフィルタを有さない、３２０×４２０ＶＧＡの３メガピクセル・カメラである。
【００３４】
本発明のいくつかの実施例は、動作環境内をナビゲートするように構成される移動ロボットであって、底部表面から６インチ以下の高さに位置する頂部表面を含む本体であって、頂部表面の下に凹形構造を有し、少なくとも１つのプロセッサと、捕捉される画像に基づいて環境をナビゲートすることをプロセッサに指示する行動制御装置アプリケーションを含むメモリと、移動ロボットの動作環境の画像を捕捉するように構成されるカメラを含む機械視覚センサ・システムであって、カメラが、カメラの視野及びカメラの光軸を画定する光学系を有し、凹形構造内に配置され、移動ロボットの移動の前方駆動方向の上方の１０から６０度の間の鋭角に光軸を位置合わせされるように傾斜している、機械視覚センサ・システムと、を含む、本体を含む移動ロボットを提供する。
【００３５】
いくつかの実施例では、本体がカメラを保護するレンズ・カバーをさらに含み、レンズ・カバーが、カメラの光軸に関して、凹形構造内の開口部によって画定される平面とカメラの光軸との間に形成される角度よりも直角に近い鋭角で、凹形構造の開口部に対して後退している。
【００３６】
いくつかの実施例では、カメラが、ＩＲフィルタを有さない、３２０×４２０ＶＧＡの３メガピクセル・カメラである。
【図面の簡単な説明】
【００３７】
【図１Ａ】移動ロボットの正面斜視図である。
【図１Ｂ】移動ロボットの底部を示す図である。
【図１Ｃ】ロボットの制御装置回路のブロック図である。
【図２Ａ】凹形構造内に傾斜したカメラを含む移動ロボットを示す上面斜視図である。
【図２Ｂ】移動ロボットの傾斜したカメラの断面図である。
【図３Ａ】移動ロボットからレンズへの機械的応力の伝達を原因としてカメラのレンズに起こり得るレンズの変形を防止するレンズ・ホルダを示す図である。
【図３Ｂ】移動ロボットからレンズへの機械的応力の伝達を原因としてカメラのレンズに起こり得るレンズの変形を防止するレンズ・ホルダを示す図である。
【図３Ｃ】移動ロボットからレンズへの機械的応力の伝達を原因としてカメラのレンズに起こり得るレンズの変形を防止するレンズ・ホルダを示す図である。
【図４】移動ロボットの本体の頂部内の別個の凹部内に収容され、レンズ・カバーを使用して保護される、前方及び後方を向く傾斜したカメラを備えるように構成される移動ロボットを示す図である。
【図５】図４に示された方法で構成される移動ロボットの前方及び後方を向く傾斜したカメラの断面図である。
【図６】改良されたナビゲーション・システムを使用するＶＳＬＡＭのために使用され得る移動ロボットの制御装置回路を示す図である。
【図７】ＶＳＬＡＭプロセス（これに限定されない）に基づいて環境内でのナビゲーションを可能にするように構成される移動ロボットの行動制御アプリケーションを概念的に示す図である。
【図８】環境内をナビゲートするのに移動ロボットにより任意選択で使用され得るプロセスを示すフロー・チャートである。
【図９】ナビゲーションでの使用のための新しい目印を特定するために移動ロボットにより任意選択で利用され得るプロセスを示すフロー・チャートである。
【図１０】前に作られた目印を使用して相対的な姿勢（pose）を決定するのに移動ロボットにより任意選択で利用され得るプロセスを示すフロー・チャートである。
【図１１Ａ】光軸が移動ロボットの移動の前方方向にそろうように構成されるカメラを有する移動ロボットによって捕捉される視野の例を示す図である。
【図１１Ｂ】光軸が移動ロボットの移動の前方方向にそろうように構成されるカメラを有する移動ロボットによって捕捉される視野の例を示す図である。
【図１１Ｃ】光軸が移動ロボットの移動の前方方向にそろうように構成されるカメラを有する移動ロボットによって捕捉される視野の例を示す図である。
【図１２Ａ】その光軸が移動ロボットの移動方向の上方に鋭角をなすように傾斜するカメラによって捕捉される景色の視野の例を示す図である。
【図１２Ｂ】その光軸が移動ロボットの移動方向の上方に鋭角をなすように傾斜するカメラによって捕捉される景色の視野の例を示す図である。
【図１２Ｃ】その光軸が移動ロボットの移動方向の上方に鋭角をなすように傾斜するカメラによって捕捉される景色の視野の例を示す図である。
【図１３Ａ】特徴までの距離を決定するために利用され得る視差を示す図である。
【図１３Ｂ】視差を決定するための特徴の上方への移動の例を示す図である。
【図１４Ａ】仮想の屋内環境内でシミュレートされる移動ロボットの前方を向くカメラの視点をシミュレートすることにより生成される画像を示す図である。
【図１４Ｂ】シミュレートされる移動ロボットの前方移動の方向の上方３０度の角度にカメラの光軸があるようにカメラが傾斜していることを除いて、図１４Ａに示される画像を生成するために使用されるシミュレーションで使用されるカメラと同じ視野を有するカメラの視点をシミュレートすることにより生成される画像を示す図である。
【図１５】上述のシミュレーションの各々における、フロア平面内でのその相対的な姿勢を移動ロボットが決定することができるときの、その精度の比較を示すチャートである。
【図１６Ａ】広角レンズを使用して構成される移動ロボットのカメラのサンプリング格子を示す図である。
【図１６Ｂ】狭い視野を有する傾斜したカメラを使用して景色をサンプリングすることを示す図である。
【図１７Ａ】特定の種類の遮蔽物、及び、遮蔽されたカメラによって捕捉される結果の画像の例を示す図である。
【図１７Ｂ】半透明の遮蔽物が結果として画像のぼやけた部分となっている、カメラによって捕捉された画像の例を示す図である。
【図１８Ａ】不透明の遮蔽物の例を示す図である。
【図１８Ｂ】不透明の遮蔽物の結果として景色の一部分が完全に遮蔽されている、カメラによって捕捉された画像の例を示す図である。
【図１９】移動ロボットによって任意選択で実施され得る遮蔽物検出プロセスを示すフロー・チャートである。
【図２０】移動ロボットと、外部サーバと、ユーザ・デバイスとの間の通信を示す通信図（communication diagram）を示す図である。
【図２１】ユーザ・デバイスに遮蔽物を通知するためのシステムを示す図である。
【図２２】フロア表面から４インチ以下の頂部表面と、移動ロボットの頂部表面の下に設置され、垂直方向において約５０〜６０度の視野角度δを有する円錐台に及ぶ視野と、水平方向から上方に約３０度の鋭角φに光軸１５５とを有するカメラとを有するロボットを示す図である。
【発明を実施するための形態】
【００３８】
次に、図面、特に、図１Ａ〜１Ｃ、４及び５を参照すると、１つ又は複数の傾斜したカメラ１２５を含む移動ロボット１０の機械視覚システムを使用して視覚的な同時位置測定マッピング（Visual Simultaneous Localization and Mapping、ＶＳＬＡＭ）を実施するためのシステム及び方法が示されている。実装形態では、１つ又は複数の傾斜したカメラ１２５は、ロボットの頂部表面１０８に対して固定された角度で、移動ロボット１０の本体１００の中央部分内の奥まった場所にあり、この１つ又は複数の傾斜したカメラ１２５の各々は、カメラの光軸１５５に対して鋭角で位置合わせされたレンズ・カバー１３５によって保護される。カメラ１２５が移動ロボット１０の本体１００の一部分の奥まった場所にある場合、レンズ・カバー１３５も凹部１３０の開口部に対して奥まった場所にあってよい。実装形態では、ナビゲーション・システム１２０は、フロア表面からロボットの頂部表面１０８までが４インチ以下である家庭用清掃ロボットである移動ロボット１０の一部である。この場合、家庭用清掃ロボット１０は狭いスペース（例えば、椅子の下、及び、台所家具（kitchen cabinetry）の表面フレーム（face frame）の下）の中までナビゲートすることができる。複数の実装形態では、移動ロボット１０は１３．９インチの直径及び８．４ポンドの重さを有し、毎秒２２０ｍｍから毎秒４５０ｍｍの速度で移動する。本発明のさらに別の任意選択の態様では、１つ又は複数の傾斜するカメラ１２５は、家の壁に掛かった額縁及び変位することのない他の特徴などの、確実に静止した、特徴を多く有する対象の画像を家庭用清掃ロボット１０が捕捉できるように、傾斜している。後でさらに考察するように、移動ロボット１０は、視覚に基づくセンサ並びに視覚に基づく同時位置測定マッピング、つまりＶＳＬＡＭを用いて環境のマップを構築しナビゲートするために、フロアの上方の特定の範囲の高さに位置する確実に静止した対象の特徴を使用することができる。
【００３９】
ＳＬＡＭの視覚センサとの組み合わせはしばしばＶＳＬＡＭ７４０と称される。ＶＳＬＡＭ７４０のプロセスは、通常、視覚及び走行距離測定に基づいており、特徴の多い環境内での高い信頼性のナビゲーションを可能にする。このような視覚的技法は、継続的に更新される自己生成マップ（self-generated map）を使用して環境内を自律的にナビゲートするために、移動ロボット１０などのビークルによって使用され得る。１つ又は複数のカメラ１２５を有する機械視覚システムを含めた様々な機械視覚システムが、ＶＳＬＡＭ７４０での使用のために、提案されている。
【００４０】
本発明の実施例によるシステム及び方法は、移動ロボット１０の頂部表面１０８の下に設置され、移動ロボット１０の頂部表面１０８の上方に鋭角をなすように位置合わせされた光軸１５５を有するカメラ１２５を使用してＶＳＬＡＭ７４０を実施する。多くのＶＳＬＡＭ７４０のプロセスは、特徴までの距離を推定するために及び／又は位置を三角測量するために、一連の画像内の捕捉された特徴の視差（disparity）を分析する。一般に、異なる好都合な位置から捕捉された一連の画像の間での、特徴の組に対して観測された視差の量が、これらの特徴がその環境内でマッピングされるときの精度を決定する。観測される視差が大きいと、距離測定がより正確になる。
【００４１】
移動ロボット１０が、前方移動の方向に平行となるように位置合わせされたレンズ１４０の光軸１５５を有する前方視カメラ１２５を採用している場合、移動ロボット１０の真正面に位置する特徴の組において、特徴に向かってロボットが移動するにつれて観測され得る視差は、一般に、最小の量しかない。後でさらに考察するように、前方視カメラの視野の中央に見える特徴は、特徴に向かって移動ロボット１０が移動する場合には、その大きさが大きくなりやすく、特徴の連続する画像の間では、視差はほとんど認識され得ない。したがって、前方視カメラの視野の中央にある特徴の３Ｄ構造は、その特徴に向かって移動ロボット１０が移動しているときに捕捉される一連の画像から確認することは難しいかもしれない。この問題は、ロボットの形状の要因により地面に近いカメラの配置が強いられる（例えば、地面の上方４インチ以下）、家庭用清掃ロボットなどの小さい移動ロボットの場合に特に深刻となる。前方視カメラの位置測定の精度は、前方視カメラの視野を拡大することにより改善され得る。しかし、視野を拡大することにより、所与の画像センサ分解能においては、捕捉される画像データの角度分解能が低下する。さらに、カメラの視野の周囲部分つまりカメラの軸外の視野に関する視差を観測するのを可能にするために視野を拡大すると、通常は広角レンズの歪みが大きくなり、カメラによって捕捉される画像の角度分解能が低くなる。
【００４２】
移動の前方方向の上方に一定の角度でカメラを傾斜させることにより、対象に向かってカメラが移動するときにカメラの視野にわたって観測される視差を拡大することができる。とりわけ、移動の前方方向の上方に一定の角度でカメラを傾斜させることにより、視野の中央で観測される視差が拡大し、カメラの視野のこの部分が最も高い角度分解能を有するようになる。光軸１５５が、移動の前方方向にそろえられた水平軸に対して鋭角を形成するように傾斜されたカメラの視野の中央で観測可能である特徴は、特徴に向かって移動するときに捕捉される一連の画像内で上方に移動することになる。したがって、頻繁に住宅の壁に掛かけられ、任意の大きさ、及び、種々の照明条件において容易に認識可能である特徴を有する額縁やテレビなど（しかし、これらに限定されない）の対象が、家庭用清掃ロボットなどの居住環境内で動作する移動ロボットに良好なナビゲーションの目印（navigation landmark）を提供する。
【００４３】
また、カメラ１２５を上方に傾斜させることにより、移動ロボット１０は、壁に掛かっている対象の下側の３Ｄ構造をより正確に決定するのを可能にすることができる。さらに、カメラ１２５を傾斜させることにより、ドア・フレーム、額縁、並びに、他の静止した家具及び対象の周りで撮像される特徴などの特徴が変化しない、一般的な屋内環境内の領域上に移動ロボット１０が焦点を合わせることが可能となり、移動ロボット１００が信頼できる目印を繰り返し特定することができ、それにより、環境内で正確な位置の特定及びマッピングを行うことが可能となる。加えて、実装形態では、移動ロボット１０上のカメラ１２５は、毎秒３フレームの画像処理速度を有し、３０ミリ秒未満の速度で画像を転送する、３２０×２４０ＱＶＧＡ、０．０７６８ｍＰのカメラ（又は、６４０×４８０ＶＧＳ、０．３ＭＰのカメラ）である。実装形態では、カメラ１２５は、低照光環境で特徴を良好に検出するためのＩＲフィルタを有さない。実装形態では、移動ロボット１０は、検出可能な特徴の数が、目印を検出するための特徴の最小数の閾値を下回る場合、新しい目印を作ることになろう。実施例では、目印の閾値数は、秒速約１ｆｔ、または秒速約３０６ｍｍの速度において、移動１フィート当たり１〜１０個の目印の率、好適には、ロボットの移動１フィート当たり３個の目印の率で、検出される特定可能な特徴の一群である。実装形態では、環境が過度に暗く、照光が特徴を検出するのには不十分である場合、移動ロボット１０は、位置を特定するためにフロアに向けられた光学式のデッド・レコニング・センサ（optical dead reckoning sensor、例えば、ＬＥＤ又はレーザ照光式のマウス・センサ）などの別のセンサに依存することになろう。
【００４４】
カメラ１２５の視野の中央に見える特徴に対して行われる視差測定は、角度分解能を向上させるために視野を犠牲にすることにより、より正確に実施され得る。複数の実施例では、例えば７８度の水平な視野を有する視野レンズ１４０を採用する傾斜したカメラ１２５を利用することにより、特定のセンサ分解能を使用して達成される角度分解能が、広角レンズを使用する前方視カメラと比較して向上する。狭い視野のレンズ１４０と広角レンズとの間の一般的な差異は、広角レンズでは歪みが導入される一方で、透視投影が、一般に、狭い視野のレンズの真の結像特性（true imaging characteristics）の良好な近似となることである。したがって、レンズの角度分解能及び変調伝達関数（modulation transfer function、ＭＴＦ）は、広角レンズの視野にわたって起こる角度分解能及びＭＴＦの変化と比較して、狭い視野のレンズの視野にわたっては、より一様となる傾向がある。広角レンズによって導入される歪みは計算コストの高い歪み補正演算を使用して補正され得、視差は、カメラによって捕捉された画像の修正の後、決定され得る。狭い視野のカメラ１２５が利用される場合、修正されていない画像がその後の画像処理プロセスで利用され得る。したがって、適切なＶＳＬＡＭプロセスと組み合わせて狭い視野のレンズを使用することは、追加的な計算コストの高い修正ステップを実施するのを回避してより高い精度で特徴及び／又は目印（つまり、特徴のグループ）を見つけることができるという点で、広い視野のレンズを使用するより従来的なＶＳＬＡＭプロセスに対して有利となり得る。環境を捕捉するために狭い視野のレンズを使用する実装形態の例を、図１６Ａを参照して以下で詳細に説明する。
【００４５】
多くのＶＳＬＡＭプロセスは、位置の特定を実施するのに、観測される特徴の間に広範な基準を有することに依存する。後でさらに考察するように、代替的手法は、独特の３Ｄ構造を有する関連する特徴を目印として特定することを伴う。移動ロボット１０の相対的な姿勢は、目印を形成する特徴の３Ｄ構造と、移動ロボット１０によって捕捉される画像内での特徴の外観とに基づいて、容易に決定され得る。したがって、相対的な姿勢の推定の精度は、移動ロボット１０のカメラ１２５によって捕捉される画像内で観測される特徴の間の距離を測定することが可能である角度精度に大きく依存する。したがって、狭い視野のレンズを有する傾斜したカメラ１２５を備えるように移動ロボット１０を構成することにより、前方を向くカメラ又はより広い視野と同等の分解能とを有するカメラを装備する同等のシステムと比較して、性能を向上させることができる。傾斜したカメラ１２５を使用する実装形態を、図１Ａ及び２Ａ〜２Ｂを参照して以下で詳細に説明する。
【００４６】
多くの実施例では、移動ロボット１０のカメラ１２５の視野、及び、カメラの光軸１５５と移動の前方方向との間に形成される特定の角度は、カメラ１２５のフレーム率、移動ロボット１０の速度、及び、移動ロボット１０内で画像処理を実施するために利用されるプロセッサの処理能力を含めた（しかし、これらに限定されない）、特定の用途の要求に基づいて決定される。容易に認識され得るように、移動ロボット１０の速度が上がると、捕捉されるフレームの間での観測される視差が大きくなる。視差はフレームのＦＯＶを重ね合わせることによって観測され、移動ロボット１０は、秒速２２０ｍｍと秒速４５０ｍｍとの間の速度で移動し、好適には秒速３０６ｍｍの速度で移動する。カメラ１２５の傾斜を増すことにより視差をさらに大きくすることができる。視差を観測する能力は、移動ロボット１０が実時間で画像データのフレームを捕捉して処理することができる速度に依存する。低いフレーム率は大きい視野によって補償され得る。しかし、上述したように、視野を拡大すると、捕捉された画像を修正するための計算コストが生じる可能性がある。したがって、移動ロボット１０の多くの任意選択の構成では、カメラ１２５の傾斜と視野とは、特定の移動ロボット及びその動作環境の要求を満たすように選択される。
【００４７】
ナビゲーション・システム１２０の有効な視野は、移動ロボット１０の周りの異なる位置に位置づけられた別のカメラ１２５、４１０を追加することにより、角度分解能を低下させることなく拡大され得る。本発明の任意選択の一態様では、各カメラ１２５、４１０は、個別の保護レンズ・カバー１３５を伴って、移動ロボット１０の本体１００内の個別の凹部１３０内に収容される。特定の実施例は、前方を向いた傾斜したカメラ１２５、及び、１つ又は複数の後方を向いた傾斜したカメラ４１０の両方を有することができる。以下で、図４及び５を参照して、複数のカメラを使用する実装形態を詳細に説明する。複数のカメラ１２５、４１０を使用することにより、移動ロボット１０が、ＶＳＬＡＭで使用するためのより多くの特徴及び／又は目印を、これらの特徴を検出するときの角度精度を維持しつつ、観測できるようになる。ロボット１０の周りの１つ又は複数の方向で目印を容易に特定することにより、移動ロボット１０が移動させられたり、迷子になったりする誘拐イベント（kidnapping event）に続いて、清掃ミッションを再開したり、環境のマップの構築を継続するために、迅速に再び位置を特定することが補助される。さらに、後方を向いた傾斜したカメラ４１０は、移動の方向に関係なく、同じ目印をＶＳＬＡＭプロセスが使用できるようにし得る。これは、「コーンロー」パターンで環境内をナビゲートする移動ロボット１０で有用となり得る。この状況では、移動ロボット１０が方向転換するごとに、後方を向いたカメラ４１０によって捕捉される画像データを使用して戻り経路上をナビゲートするために、前方を向いたカメラ１２５に見えた特徴及び／又は目印を使用することができる。さらに、狭い視野のレンズの増加した空間的分解能（センサ分解能が同等であると仮定する）を所与として、後方を向いた傾斜カメラ４１０は、例えば移動ロボット１０が３６０度全方向カメラを使用する場合よりも高い角度精度で目印を検出することができる。
【００４８】
動作中、移動ロボット１０上に設置される１つ又は複数のカメラ１２５が種々の理由のうちのいずれかの理由により妨害される可能性がある。例えば、経時的に及び移動ロボット１０を使用することで、ダスト及びデブリがカメラ・レンズ１４０又はレンズ・カバー１３５上に蓄積する可能性があり、それにより、捕捉される画像の一部を遮蔽する可能性がある。移動ロボット１０は、何らかの種類の妨害物がカメラ・レンズ１４０の１つ又は複数の部分を遮蔽するときを検出することができる。遮蔽物が検出されると、移動ロボット１０は、遮蔽物を取り除くために、例えば、カメラ・レンズ１４０を保護するレンズ・カバー１３５を清掃することを使用者に通知する通知を提供することができる。カメラ１２５の視野の一部分を妨害する遮蔽物の存在を検出することを目的として、いくつかの実施例は、ＶＳＬＡＭプロセスのために有用な情報を提供する画像の特定の部分を分析し、この分析に基づき、視野の特定の他の部分が遮蔽されている可能性があることを決定することができる。特に、いくつかの実施例は、視野の異なる部分のヒストグラムと、それぞれの部分がＶＳＬＡＭを使用して環境内での移動ロボット１０のナビゲーション中に新しい目印を生成する及び／又は既存の目印を認識するために使用されている画像データを捕捉する頻度と、を保持することができる。低い頻度で使用される領域は遮蔽物として印をつけられ得、それに応じて通知が生成され得る。
【００４９】
以下の考察の大部分は特定のＶＳＬＡＭプロセスとの組み合わせで使用されるカメラ構成を説明するが、本明細書で説明される技法は、多種多様なマッピング・ナビゲーション機構のいずれかを使用して構成される移動ロボット１０によって利用され得る。したがって、環境内をナビゲートするために使用されるための１つ又は複数の傾斜したカメラ１２５を組み込む移動ロボット１０の種々の任意選択の構成を以下でさらに考察する。
【００５０】
改良されたビジョン・センサ構成を備える移動ロボット
移動ロボット１０は、移動ロボット１０のナビゲーション及び移動ロボット１０を取り囲む環境のマッピングにおいてＶＳＬＡＭプロセスによって使用される画像データを捕捉することができるカメラ１２５を有するナビゲーション・システム１２０を組み込んでいる。移動ロボット１０のナビゲーション・システム１２０で使用される傾斜したカメラ１２５を図１Ａ〜２Ｂに示す。特に、図１は移動ロボット１０の正面斜視図を示し、図２は、傾斜したカメラ１２５を含む移動ロボット１０の本体１００の実質的に中央に配置される凹部１３０を示す。容易に認識され得るように、カメラ１２５は、レンズ・カバー１３５の１つの縁部がレンズ・カバー１３５の第２の縁部よりも凹部１３０の開口部により接近しているように構成されるレンズ・カバー１３５によって保護されている。このようにして、レンズ・カバー１３５は、カメラ１２５の光軸１５５と、移動ロボット１０の本体１００内の凹形構造１３０における開口部によって画定される平面とカメラ１２５の光軸１５５との間に形成される角度φよりも直角に近い鋭角αをなす。いくつかの実施例では、鋭角αは１５から７０度の間の範囲であってよく、鋭角φは１０から６０度の間の範囲であってよい。このようにレンズ・カバー１３５に角度をつけることは本発明の任意選択の態様であり、レンズ・カバー１３５は、傾斜したカメラ１２５を含む移動ロボットの本体１００の凹部１３０内の開口部の平面内、または、移動ロボットの本体１００の凹部１３０内の開口部の平面に平行に、奥まった場所に置かれてよい。移動ロボット１０の本体１００内の凹部１３０内の傾斜したカメラ１２５の構成を以下でさらに考察する。
【００５１】
ロボット１０の底部を示す図１Ｂ、並びに、ロボット１０の制御装置回路６０５及び制御装置回路６０５と共に動作可能であるロボット１０のシステムのブロック図を描く図１Ｃに示されるように、移動ロボット１０は、フロア表面を横断させるようにロボット１０を操作することができる右側の駆動ホイール・モジュール１１１ａ及び左側の駆動ホイール・モジュール１１１ｂを有する、本体１００の下方に位置する駆動装置１１１によって支持される本体１００を有する。実装形態では、この駆動装置は、その全体が参照により本明細書に組み込まれる特許文献１で説明されるロボットの駆動装置である。多くの実装形態で、移動ロボット１０は、一般的な屋内環境内の狭いスペースを通って移動ロボット１０がナビゲートできるように、フロア表面から４インチ以下の高さである。
【００５２】
移動ロボット１０は、駆動コマンドに基づいてその駆動装置１１１を作動させるように構成され得る。いくつかの実施例では、駆動コマンドは、ｘ成分、ｙ成分及びθ成分を有することができ、制御装置回路６０５によってコマンドが発せられ得る。移動ロボットの本体１００は、成形された本体の前側半分に相当する前方部分１０５と、成形された本体の後方半分に相当する後方部分１１０とを有することができる。駆動装置は、制御装置回路６０５に走行距離測定を提供することができる右側及び左側の被駆動ホイール・モジュール１１１ａ、１１１ｂを有する。ホイール・モジュール１１１ａ、１１１ｂは本体１００によって画定される横軸Ｘに実質的に沿うように配置され、それぞれのホイール１１３ａ、１１３ｂを駆動するそれぞれの駆動モータ１１２ａ、１１２ｂを有する。駆動モータ１１２ａ、１１２ｂは本体１００に着脱自在に接続され得（例えば、固定具を介するか、又は、工具なしの接続を介する）、ここでは駆動モータ１１２ａ、１１２ｂは任意選択でそれぞれのホイール１１３ａ、１１３ｂの実質的に上に配置される。ホイール・モジュール１１１ａ、１１１ｂがシャーシに着脱自在に取り付けられ得、ばねにより清掃表面に係合され得る。移動ロボット１０は、ここでは円形本体１００の前方部分である移動ロボットの本体１００の一部分を支持するように配置されるキャスタ・ホイール１１６を有することができる。スクウェア・フロント又は墓石形状のロボットの本体１００などの、片持ち式の清掃ヘッドを有する他の実装形態では、キャスタ・ホイールがロボットの本体１００の後方部分に配置される。移動ロボットの本体１００は、移動ロボット１０の任意の電気部品に電力供給するための電源（例えば、バッテリ１１７）を支持する。
【００５３】
図１Ａ及び１Ｂを再び参照すると、移動ロボット１０は、本体１００によって画定される互いに対して垂直である３つの軸：横軸Ｘ、前後軸Ｙ、及び垂直方向の中心軸Ｚ、を基準としての移動の種々の組み合わせを介して、清掃表面上を移動することができる。前後軸Ｙに沿う移動の前方方向をＦで示し（以下では「前方（forward）」と称される場合もある）、前後軸Ｙに沿う後方駆動方向をＡで示す（以下では「後方（rearward）」と称される場合もある）。横軸Ｘは、ホイール・モジュールの中心点によって画定される軸に実質的に沿うように、ロボットの右側Ｒ及び左側Ｌの間を延在する。
【００５４】
多くの実施例では、本体１００の前方部分１０５はバンパ１１５を担持し、このバンパ１１５は、移動ロボット１０の駆動経路内にある障害物を含めた（しかし、これに限定されない）事象を検出する（例えば、バンパ・センサ・システム５５０の１つ又は複数のセンサを介する）ために利用され得る。移動ロボット１０の行動プログラム（behavioral programming）にしたがって、事象（例えば、障害物、崖、壁）に応じてロボット１０を操作する（例えば、検出された障害物から離れるように後退する）ようにホイール・モジュール１１１ａ、１１１ｂを制御することによって、バンパ１１５、崖センサ１１９ａ〜１１９ｆ及び１つ又は複数の近接センサ１２０ａ〜１２０ｎによって検出される事象に応答することができる。
【００５５】
示されるように、ユーザ・インターフェース１２６が本体１００の頂部分上に配置され、１つ又は複数のユーザ・コマンドを受信するために並びに／或いは移動ロボット１０の状態を表示するために使用され得る。ユーザ・インターフェース１２６は、ロボット１０によって担持される制御装置回路６０５に通じており、ユーザ・インターフェース１２６によって受信される１つ又は複数のコマンドが、ロボット１０による清掃ルーチンの実行を開始することができる。
【００５６】
移動ロボット１０は、ロボット１０の本体１００内の、トップ・カバー１０８の下方に埋め込まれる、カメラ１２５のナビゲーション・システム１２０をさらに有することができる。ナビゲーション・システム１２０は、周囲環境の画像を捕捉する１つ又は複数のカメラ１２５（例えば、標準的なカメラ、体積点群撮像カメラ（volumetric point cloud imaging camera）、三次元（３Ｄ）画像化カメラ、深度マップ・センサ（depth map sensor）を備えるカメラ、可視光カメラ、及び／又は、赤外線カメラ）を有することができる。任意選択の一構成では、カメラ１２５は、移動ロボット１０の移動軸（例えば、Ｆ又はＡ）に対して鋭角をなすように位置決めされる環境の画像を捕捉する。例えば、図２２に示されるように、フロア表面から４インチ以下である頂部表面１０８を有するロボット１０の実装形態では、垂直方向において約５０度〜６０度の円錐台に広がる視野と、水平方向から上方に約３０度の角度をつけられる光軸１５５とを有する、ロボット１０の頂部表面１０８の下に設置されるカメラ１２５が、一般に３〜１４フィートの高さのところにある環境内の特徴的形状を検出することになる。例えば、このようなカメラの設定を有するこのような寸法の移動ロボット１０は、３フィートの距離のところで約６インチから４．５フィートの高さの対象、５フィートの距離のところで約９インチから７．５フィートの高さの対象、１０フィートの距離のところで約１．２フィートから１４フィートの高さの対象を視認することになる。ドア・フレーム、額縁、及び、他の動かない家具並びに対象の周りで撮像される特徴的形状などの特徴的形状が変化しないところの領域にカメラ１２５の視野の歪みのない中央部分の焦点を合わせることにより、ロボット１０は高い信頼性の目印を繰り返し特定し、それにより環境内での位置の特定及びマッピングを正確に行う。
【００５７】
これらの実施例では、カメラ１２５のレンズ１４０（図２Ａ及び２Ｂ）は上方向に角度をつけられ、それにより、主に、通常の屋内環境において、移動ロボット１０を囲む、壁、壁・天井の接合部分、及び、天井の一部分のような特徴的形状を多く有する変化しない領域に対して焦点の合った高い信頼性の歪みのない部分を有する画像を捕捉するようになる。上述したように、居住用住宅環境を含めた（しかし、これに限定されない）多くの環境が、ナビゲーションを実施するのに有用である特徴的形状及び／又は目印を提供する、壁に掛かっており且つ寄り集まった多様な動かない対象を有する。ドア及び窓の枠、絵画、並びに、大きい家具などの、約２〜１５フィート（例えば、３〜１０フィート、３〜９フィート、３〜８フィート）の領域で通常得られる対象はほとんど変位せず、したがって撮像される特徴的形状の高い信頼性の幾何学的形状を提供し、それにより、より正確に且つより高い信頼性で特定される目印が作成されることになる。狭い視野のこのような領域内で高い信頼性の特徴的形状を統合することにより、目印の決定が改善され、ひいては位置の特定の決定が改善される。変位しないアイテムから撮像される多様な目立つ特徴的形状を統合することにより、移動ロボット１０は高い信頼性の目印のマップを構築する。
【００５８】
カメラ１２５は、移動ロボット１０の本体１００によりカメラ１２５の視野の下側周囲部分が遮蔽されることがないように、任意選択で傾斜させられ得る。あるいは、実装形態では、移動ロボット１０の本体１００は、傾斜したカメラ１２５の視野の下側部分を部分的に遮蔽し、制御装置回路６０５が、特徴的形状を撮像するときに視野のこの部分を放棄する。上述したように、カメラ１２５を傾斜させることにより、環境内を通って移動ロボット１０が移動するときにカメラ１２５の視野に跨って観測される視差を拡大することができる。ある実装形態では、移動ロボット１０は、透視投影を、狭い視野のレンズの真の結像特性に対しての良好な近似とすることができるように、十分に狭い視野を有する光学系を備える傾斜したカメラ１２５を採用する。その後の画像処理は画像を修正することなく実施され得、カメラ１２５は、歪みも導入することになる広角レンズよりも高い角度分解能で特徴的形状を観測することができる。
【００５９】
カメラ１２５によって捕捉される画像は、動作環境内を動き回らせるように移動ロボット１０を操作するために行われるアクションに関する知的決定を行うのを目的として、ＶＳＬＡＭプロセスで使用され得る。図１Ａ〜１Ｃ及び２Ａ〜２Ｂでは、ナビゲーション・システム１２０のカメラ１２５は、移動ロボット１０の頂部表面１０８の下の中央に位置する凹部１３０内に含まれるものとして示されているが、移動ロボット１０のナビゲーション・システム１２０の一部を形成するカメラ１２５は、付加的に又は選択的に、フロント・バンパの上又は中、及び、移動ロボットの側部に沿う位置を含めた、移動ロボット１０上の１つ又は複数の位置及び向きのうちの任意の位置及び向きに配置されてよい。
【００６０】
移動ロボット１０は、ナビゲーション・システム１２０のカメラ１２５に加えて、高い信頼性で確実に自律的に移動するのを達成するための多様な種類のセンサ・システム５００を有することができる。追加のセンサ・システム５００は、環境内で行われるアクションに関しての知的決定をロボットにより行うのを可能にするのに十分な程度で移動ロボット１０の環境を知覚するように互いに協働して使用され得る。多様なセンサ・システムには、限定はしないが、障害物検出・障害物回避（obstacle detection obstacle avoidance、ＯＤＯＡ）センサ、通信センサ、ナビゲーション・センサ、距離測定センサ、近接センサ、接触センサ（例えば、バンパ・センサ）、ソナー、レーダー、ＬＩＤＡＲ（遠くにあるターゲットの距離を測定するために及び／又は他の情報を見出すために散乱光の特性を測定する光学的リモート・センシングを伴ってよい光検知測距（Light Detection And Ranging））、及び／又は、ＬＡＤＡＲ（Laser Detection and Ranging（レーザ検知測距））を含む、移動ロボット１００によって支持される１つ又は複数の種類のセンサが含まれてよい。いくつかの実装形態では、センサ・システムが、測距ソナー・センサ（ranging sonar sensor）、近接崖検出器（proximity cliff detector）１１９ａ〜１１９ｆ、近接センサ１２０ａ〜１２０ｎ（例えば、ロボット１０の側壁の外を見る近接センサのアレイとしての、限定されない数である「ｎ」）、バンパ・センサ・システム５５０内にある接触センサ、レーザ・スキャナ、及び／又は、イメージング・ソナーを有する。
【００６１】
ロボットのプラットフォーム上にセンサを配置することにはいくつかの課題がある。１つ目は、センサが、通常は、移動ロボット１０の周りの対象領域を最大源にカバーするように配置されることである。２つ目は、センサが、通常は、ロボット自体によりセンサが塞がれることを絶対最小とするように配置されることであり、本質的には、センサはロボット自体により隠れることになるように配置されるべきではない。３つ目は、センサの配置及び設置が、プラットフォームの工業デザインの残りの部分に対して侵入的であるべきではないことである。美的観点では、目立たないように設置されるセンサを備えるロボットがそうでない場合よりも魅力的であると考えることができる。有用性に関しては、センサは、通常のロボットの動作に干渉しない（例えば、障害物にひっかからない）ように設置されるべきである。
【００６２】
移動ロボット１０のナビゲーション・システム１２０の実装形態で採用され得る追加のオプションを以下で考察する。
【００６３】
機械視覚システム
環境を通ってナビゲートするために、移動ロボット１０が、その周囲環境の特徴を確認することを目的として多様な異なる種類のセンサから集められる情報を使用することができる。上述したように、移動ロボット１０は、周囲環境の画像を捕捉する１つ又は複数のカメラ１２５を有するナビゲーション・システム１２０を使用する。環境内での移動ロボット１０の位置の特定及びマッピングで使用されるために、画像がＶＳＬＡＭプロセスに提供され得る。図２Ａは図１Ａに示される移動ロボット１０の傾斜したカメラ１２５の上面斜視図を示し、図２Ｂは断面図を示す。特に、図２Ａ（及び、対応する図２Ｂ）は、移動ロボット１０の本体１００内の凹形構造１３０内に収容されてレンズ・カバー１３５によって覆われる傾斜したカメラ１２５を示す。図２Ｂ及び２２に示されるように、カメラ１２５は、移動ロボット１０の移動方向を画定する水平軸に対して鋭角φをなす光軸１５５を備えるカメラ・レンズ１４０を有する。このようにして、レンズ１４０は、通常の屋内環境内において、壁、壁・天井の交差部分、及び、低い程度で天井を捕捉するような方向に主に向けられる。例えば、図２２に示されるように、フロア表面２２０５から４インチ以下である頂部表面１０８を有するロボット１０の実装形態では、垂直方向において約５０度〜６０度の視野角度δを有する円錐台に及ぶ視野と、水平方向から上方に約３０度の鋭角φのところにある光軸１５５とを有する、移動ロボット１０の頂部表面１０８の下に設置されるカメラ１２５が、概して３〜１４フィートの高さのところにある環境内の特徴的形状２２１５を検出することになる。例えば、このようなカメラの設定を有するこのような寸法の移動ロボット１０は、３フィートの距離Ｄｗのところで約６インチから４．５フィートの高さにある対象、５フィートの距離Ｄｗのところで約９インチから７．５フィートの高さにある対象、及び、１０フィートの距離Ｄｗのところで約１．２フィートから１４フィートの高さにある対象を視認することになる。ドア・フレーム、額縁２２１５、及び、他の動かない家具、並びに、容易に撮像されるような特徴的形状の幾何形状を有する対象のところで撮像される特徴的形状などの特徴的形状が変化しないところの、多くの特徴的形状を有する領域に、傾斜したカメラ１２５の歪みのない視野の焦点を合わせることにより、ロボット１０は高い信頼性の目印を繰り返し特定し、それにより環境内での位置の特定及びマッピングを正確に且つ効率的に行う。これは特に、ロボット１０のミッションを中断させるような誘拐イベントの後で再び位置を特定する場合に有用である。ある位置から別の位置まで移動するか或いは暗い部屋に入るか又は家具の領域の下に入るロボット１０は、これらの高さのところにある特徴的形状の特有な組を迅速に特定し、その位置を容易に且つ厳密に知る。変化しない天井、或いは、タイルを用いる落天井又は一様な間隔の照明フィーチャを備える天井などの反復的な特徴的形状を備える天井に向けられるカメラではその位置を容易には知ることにならず、部屋の角部などの、位置を特定すべき特有な特徴的形状を探し出すことを必要とする。したがって、本発明の移動ロボット１０は効率的であり、マップ上で目印が認識可能であるような領域まで無造作に移動することを必要とすることなく、有用な位置でその清掃ルーチンを正確に再開する。
【００６４】
図２２の実装形態では、カメラ１２５の視野は、３５度の上側の角度β及び９５度の下側の角度ψにおいて家庭用の壁などの垂直方向平坦表面に当たり、光軸１５５が６０度の下側の角度τで垂直方向平坦表面に交差する。より小さい視野を有するカメラ１２５では、壁の特徴的形状は接近するにつれて、ずっと早くから有用なものとなる。例えば、実装形態では、ロボット１０は、すぐ上で説明したように壁２２１０に向けられ、真っ直ぐ前方を見ているカメラの分解能の３倍に相当する５０度の視野（例えば、壁からの距離Ｄｗが８フィートで、真正面にある特徴的形状については１インチ当たり約１２ピクセルであり、８フィートの高さの特徴的形状については１インチ当たり約６ピクセルである）を有する傾斜したカメラ１２５を有する。最も高い分解能を有する特徴的形状は壁上の最も低いところの特徴的形状であることから、カメラ１２５はこれらの特徴的形状を逃さないように方向付けられる。図２２のカメラ１２５の構成はより追跡しやすいオプティカル・フローを作るが、視野の少なくとも半分を４５度を超えて有することにより高いピクセル数を維持している。カメラ１２５の視野の中にあるロボット１０から４５度のところにある特徴的形状は、移動ロボット１０と同じ速度でカメラ１２５の視野のちょうど中央を素早く上方に移動することになる。実施例では、移動ロボット１０が秒速２２０ｍｍから秒速４５０ｍｍの間の速度で移動し、好適には、秒速約３０６ｍｍつまり秒速１ｆｔの速度で移動する。移動ロボット１０が壁２２１０に向かって前進するとき、すべての対象が視野内で大きくなる。４５度未満の特徴的形状は、４５度のところにある特徴的形状と比較して、よりゆっくり跡を残し、上方及び横方向に加速していき、４５度を超える特徴的形状は、４５度のところにある特徴的形状と比較して、より速く跡を残し、より迅速に上方に加速していく。実装形態では、４５度未満の特徴的形状は秒速約１ｆｔ未満で跡を残し、４５度を超える特徴的形状は１ｆｔを超えて跡を残すことになる。実装形態では、第１の輪郭線ピクセルの組は、移動ロボット１０の自己運動（ego-motion）より速いと思われる速度で垂直方向に跡を残し、第２の輪郭線ピクセルの組は、ロボットの自己運動と等しいと思われるか又はそれよりも低いと思われる速度で垂直方向に跡を残す。実装形態では、カメラ１２５はフロアから６インチ未満のところに配置され、５０度の視野が、水平方向の上方に−１０度から９０度の間で限定される５０度の範囲に及ぶように方向付けられ（例えば、３０度〜８０度で延在する）、カメラ１２５は、移動ロボット１０が壁２２１０から３〜１０フィートの間の距離Ｄｗにある場合において移動ロボット１０の前方の３から８フィートの間の高さのところにある壁の視認部分に限定されるように方向付けられる。
【００６５】
図２Ａ及び２Ｂの実装形態を再び参照すると、レンズ・カバー１３５がやはり凹形構造１３０内へと押し下げられており、移動ロボット１０の頂部表面１０８の下に配置される。加えて、レンズ・カバー１３５はカメラの光軸１５５に対して鋭角αをなすように位置合わせされ、これは、凹形構造１３０の開口部を形成する平面とカメラ１２５の光軸１５５との間の鋭角φより大きい。実施例では、鋭角αは１５度から７０度の間の範囲であり、鋭角φは１０度から６０度の間の範囲である。光軸１５５に対してレンズ・カバー１２５に角度をつけることにより、カメラ１２５により特徴的形状を効果的に撮像するのを妨げる可能性がある光の反射及び／又は屈折などの望ましくない撮像の問題が生じることが防止される。
【００６６】
上述したように、移動ロボット１０は、透視投影を、狭い視野のレンズの真の結像特性に対しての良好な近似とすることができた方法で画像を提供する狭い視野のレンズ１４０を任意選択で有することができる。狭い視野のレンズ１４０が移動ロボット１０によって利用される場合、移動ロボット１０からレンズ１４０への機械的応力の伝達がレンズを歪ませる可能性があり、画像処理パイプラインの一部として複雑な歪み補正プロセスを導入することにより狭い視野のレンズ１４０を利用することの利点のうちのいくつかを減殺し得る。レンズ・ホルダのデザインは、移動ロボット１０からレンズ１４０への機械的応力の伝達を防止すること及びレンズ１４０を歪ませるのを回避することにおいて重要な役割を果たす可能性がある。移動ロボット１０のカメラ１２５内で任意選択で利用され得るレンズ・ホルダの実装形態を以下でさらに考察する。
【００６７】
レンズ・ホルダ
図３Ａ〜３Ｃは、移動ロボット１０からレンズ１４０への機械的応力の伝達を原因としてカメラのレンズ１４０において起こり得るレンズの変形を防止するレンズ・ホルダ３１０の実装形態を描いている。図３Ａは、カメラのレンズ１４０を保持するためのレンズ・ホルダ３１０を示す。レンズ・ホルダ３１０はスパイダー・リブ３３０の組によって支持されるねじボス３２０の組に接続される。図３Ｂは、レンズ・ホルダ３１０の側面図を示す。特に、この図は、ねじボス３２０の底部がレンズ・ホルダの本体３１０の上方の一定の距離のところに配置されていることを示す。示されているレンズ・ホルダ３１０では、ねじボス３２０はレンズ・ホルダの本体３１０の上方の０．５ｍｍのところに配置されている。レンズ・ホルダの本体３１０の上方にねじボス３２０を配置するときの具体的な距離は、通常、所与の用途の要求に依存する。図３Ｃは、変形のほぼすべてがスパイダー・リブ３３０のところで起こり（例えば、暗い色の領域に示される応力）、レンズ・ホルダの本体３１０内では変形がほぼ起こっていないことを示している。スパイダー・リブ３３０なしでねじボス３２０に直接にレンズ・ホルダの本体３１０を接続する設計では、しばしば、レンズ・ホルダの本体３１０の全体にわたって非常に大きい変形が生じ、それにより、本体３１０内で保持されるレンズ１４０が変形することになる。スパイダー・リブ３３０を使用することにより、レンズ・ホルダ３１０は、レンズ・ホルダの本体３１０の構造を維持しながら、レンズ・ホルダ３１０をスパイダー・レッグ３３０上にねじ留めすることにより作用する力の方向を変えることができる。図３Ａ〜３Ｃを参照してスパイダー・リブを備える一定の範囲のレンズ・ホルダのデザインを上で説明したが、レンズ・ホルダの本体に沿った異なる位置にねじボスに対して異なる高さで配置される３つ以上のスパイダー・リブを含めた、多様なスパイダー・リブの設計構成の任意のものが構築され得る。
【００６８】
図１Ａ〜２Ｂでは、移動ロボットの本体１００のトップ・カバー内に埋め込まれる単一のカメラ１２５を備える移動ロボット１０が示されているが、移動ロボット１０は、移動ロボットの本体１００に沿う多様な位置に１つ又は複数の鋭角の視角で配置される１つ又は複数のカメラ１２５を含めた（しかし、これに限定されない）、多様な光学式のカメラ構成のうちの任意のものを有することができる。
【００６９】
前方及び後方のカメラを備える移動ロボット
移動ロボット１０は、移動ロボットの本体１００の周りに分布される複数のカメラを任意選択で有することができる。特に有利な構成は、前方を向く傾斜したカメラ１２５及び後方を向く傾斜したカメラ４１０を使用することを伴う。前方を向く傾斜したカメラ１２５及び後方を向く傾斜したカメラ４１０は、任意選択で、移動ロボット１０の本体１００の頂部１０８内の個別の凹部１３０ａ、１３０ｂ内に含まれ得、また、図１Ａ及び２Ａ〜２Ｂを参照して、レンズ・カバー１３５の後方に単一の凹部１３０及び傾斜したカメラ１２５を設置することに関して上で説明した形と同様の形で構成されるレンズ・カバー１３５ａ、１３５ｂを使用して保護され得る。移動ロボット１０の本体１００の頂部１０８内の個別の凹部１３０ａ、１３０ｂ内に含まれる前方を向く傾斜したカメラ１２５及び後方を向く傾斜したカメラ４１０を備えるように、且つレンズ・カバー１３５ａ、１３５ｂを使用して保護されるように構成される移動ロボット１０が図４に示されている。特に、図４は、移動ロボット１０の前方の環境を捕捉するような方向に向けられる前方を向く傾斜したカメラ１２５と、移動ロボット１０の後方の環境を捕捉するような方向に向けられる後方を向く傾斜したカメラ４１０とを備えるように構成される移動ロボット１０を示す。図２２に関連させて上で説明した実施例とほぼ同じように、カメラ１２５、４１０は、３〜８フィートの高さの範囲のところに位置する動かない特徴的形状に約５０度（例えば、４５度、５５度）の高い円錐台の視野の焦点を合わせるように、約３０度（例えば、２５度、３５度）の角度をつけられている。実施例では、カメラは、３〜８フィートの高さの範囲のところに位置する動かない特徴的形状に約６０度（例えば、５５度、６５度）の高い円錐台の視野の焦点を合わせている。前方及び後方のカメラ１２５、４１０は移動ロボットの本体１００内の個別の凹形構造１３０ａ、１３０ｂ内に埋め込まれ、各々が、それぞれのレンズ・カバー１３５ａ、１３５ｂによって覆われている。各レンズ・カバー１３５ａ、１３５ｂは、傾斜したカメラ１２５、４１０を含むその対応する凹形構造１３０ａ、１３０ｂの開口部から奥まった場所にあり、凹形構造１３０ａ、１３０ｂの開口部の平面（例えば、頂部表面１０８）に対して鋭角αをなすように位置合わせされている。
【００７０】
図４に示される形で構成される移動ロボット１０の前方及び後方を向く傾斜したカメラ１２５、４１０の断面図が図５に概念的に示されている。傾斜したカメラ１２５、４１０は、各々のカメラ１２５、４１０のそれぞれの光軸１５５ａ、１５５ｂが、移動ロボット１０の前方及び後方の移動方向において頂部表面１０８の上方に鋭角φをなすように位置合わせされるように、配置される。このような角度でカメラ１２５、４１０を設定することにより、前方を向くカメラ１２５が、主として、一般的な屋内環境内で、移動ロボット１０の真正面にある、壁や天井、テレビ棚、カウチ、及び、調理台などの大抵は動かない家具の天板の方に向けられ、後方を向くカメラ４１０が、主として、前方方向に移動しているときの移動ロボット１０の後方にある、壁や、テレビ棚、カウチ、及び、調理台などの大抵は動かない家具のシーリング・トップの方に向けられる。前方及び後方を向く傾斜したカメラ１２５、４１０を使用することにより、移動ロボット１０は、高い密集度の信頼できる静止して変化しない特徴的形状を観測することが可能となり、それにより、これらの特徴的形状を検出するときの角度精度を維持しながら、ＶＳＬＡＭで使用されるための繰り返し認識可能である特異的に特定可能な目印を周囲環境内に構築することが可能となる。さらに、これらの目印が前方のカメラ１２５の視野内にない場合に、傾斜した後方のカメラ４１０により、傾斜した前方のカメラ１２５により以前に使用された同じ目印をＶＳＬＡＭプロセスが使用するのを可能となる。これは、例えば、移動ロボット１０がその環境内を「コーンロー」パターンでナビゲートするように構成される場合や、移動ロボットが新しい位置まで強制的に移動させられるか又は照明の変化を原因として姿勢を見失うような誘拐イベントの後で位置の特定を再開する場合に、特に有用である。このような状況では、戻り経路上をナビゲートするときには、移動ロボット１０が方向転換するごとに、前方のカメラ１２５を使用して観測された同じ目印が後方を向くカメラ４１０によって捕捉される。さらに、センサ分解能が同じであると仮定して、後方を向くカメラ４１０は、移動ロボット１０が例えば３６０度全方向カメラを使用していた場合と比較して、より高い角度精度で目印を検出することができる。これは、周囲環境内で特徴的形状を捕捉するときに狭いレンズを用いて達成され得る空間的分解能の向上がその理由である。
【００７１】
いくつかの実施例では、両方のカメラ１２５、４１０が周囲環境の画像を捕捉することができ、これらの画像をＶＳＬＡＭプロセスに提供することができる。特定の実施例では、カメラ１２５又は４１０のうちの一方のみがＶＳＬＡＭプロセスに入力画像を提供する。例えば、移動ロボット１０は、目印に向かって前方方向に移動するときに目印に関連する特徴的形状の組を検出して追跡するように、前方を向くカメラ１２５を使用することができ、また、方向を切り替えて、目印から離れるように移動するときに同じ特徴的形状の組を検出して追跡するように、後方を向くカメラ４１０を使用することができる。
【００７２】
移動ロボット１０は、傾斜した前方及び後方のカメラ１２５、４１０の両方を使用して周囲環境の画像を同時に捕捉することができ、それにより、単一のカメラ１２５を使用可能とするロボット１０よりも短い時間で周囲環境のより大きい部分を捕捉することができる。移動ロボット１０は任意選択で、角度分解能を低下させて周囲環境をより大きく捕捉するように、広角レンズ、全方向レンズ、パノラマ・レンズ又は魚眼レンズを利用することができる。しかし、入力画像を提供するために、例えばパノラマ式カメラと比較して各々が狭い視野を有する２つのカメラ１２５、４１０を使用することにより、ＶＳＬＡＭプロセスは、パノラマ・レンズ又は同様の広い視野のレンズを使用する場合に得られる数と同様の数の特徴的形状を検出することができるが、狭い視野のレンズでは、各特徴的形状がより高い角度分解能で捕捉される（センサ分解能が同等であると仮定する）。特に、狭い視野は垂直方向において約５０度〜６０度の円錐台に拡がり、概ね３〜１４フィートの高さのところにある環境内の特徴的形状を検出することができる。後で考察するように、機械視覚センサ・システム１２０によって捕捉される画像内で可視である特徴的形状の位置のより高い精度での測定をＶＳＬＡＭプロセスに提供することで、ＶＳＬＡＭプロセスは精度よく環境をマッピングして移動ロボット１０の位置の位置を特定することが可能となる。
【００７３】
図４及び５に関して、前方及び後方を向く傾斜したカメラ１２５、４１０を含む移動ロボット１０の種々の任意選択の構成を上で説明したが、移動ロボット１０は任意選択で、移動方向に位置合わせされる前方カメラ（図示せず）と組み合わされる傾斜した前方のカメラ１２５、異なる角度で傾斜する複数の前方を向くカメラ、ステレオ対のカメラ、隣接するか又は部分的に重なり合う視野を有する２つ以上の傾斜したカメラ、並びに／或いは、例えばロボット１０のスロープ状の頂部表面１０８に対応するように異なる角度で角度をつけられる前方のカメラ１２５及び後方のカメラ１４０を含めた、多様なカメラ構成のうちの任意のものを使用して構成されてもよい。移動ロボット１０のナビゲーション・システム１２０内の１つ又は複数の傾斜したカメラ１２５によって捕捉される画像データを使用してＶＳＬＡＭを実施するプロセスは、通常、制御装置回路６０５によって実施され、移動ロボット１０によってサポートされる他の行動を実施するのにも関与してよい。本発明の種々の実施例によるロボットの制御装置６０５及びロボットの制御装置によって実施されるＶＳＬＡＭプロセスを以下でさらに考察する。
【００７４】
ロボットの制御装置
移動ロボット１０の行動は、通常、移動ロボット１０の周囲の動作環境の特徴に基づいて及び／又は移動ロボット１０の状態に基づいて多数の行動から選択される。多くの実施例では、環境の特徴は、ナビゲーション・システム１２０によって捕捉される画像から確認され得る。捕捉される画像は、移動ロボット１０の周りの環境をマッピングするための及び環境内での移動ロボット１０の位置を特定するための１つ又は複数のＶＳＬＡＭプロセスによって使用され得る。
【００７５】
改良されたナビゲーション・システム１２０を使用してＶＳＬＡＭで使用され得る移動ロボットの制御装置回路６０５（以下、「制御装置回路６０５」）が図６に示されている。ロボットの制御装置回路６０５は、メモリ６２５と、ネットワーク・インターフェース６６０と、入力／出力インターフェース６２０と通信しているプロセッサ６１０を有する。プロセッサ６１０は、シングル・マイクロプロセッサ、マルチプル・マイクロプロセッサ、メニーコア・プロセッサ、マイクロコントローラ、並びに／或いは、ソフトウェア及び／又はファームウェアによって構成され得る任意の他の汎用計算システムであってよい。メモリ６２５は、視覚測定アプリケーション６３０、ＳＬＡＭアプリケーション６３５、目印の１つ又は複数のマップ６４０、行動制御アプリケーション６４５、及び、目印データベース６５０を含む。メモリ６２５は、特定の用途の要求に適する、多様な、ソフトウェア・アプリケーション、データ構造、ファイル、及び／又は、データベースのうちのいずれかを任意選択で含むことができる。
【００７６】
目印データベース６５０は、視覚測定を実施するのに移動ロボット１０により利用することができる多数の以前に観測された目印に関連する情報を含み、この視覚測定から相対姿勢が決定され得る。目印は特定の３Ｄ構造を有する特徴的形状の集まりとみなされてよい。２Ｄの特徴的形状、３Ｄの特徴的形状、スケール不変特徴変換（Scale-invariant Feature Transform、ＳＩＦＴ）記述子を使用して特定される特徴的形状、高速頑健特徴量（Speeded Up Robust Features、ＳＵＲＦ）記述子を使用して特定される特徴的形状、及び／又は、二値頑健独立基本特徴（Binary Robust Independent Elementary Features、ＢＲＩＥＦ）記述子を使用して特定される特徴的形状、を含めた（しかし、これらに限定されない）、多様な特徴的形状のうちの任意のものが、目印を特定するために利用され得る。移動ロボット１０が家庭用清掃ロボットとして構成される場合、目印は、額縁の角部の３Ｄ構造に基づいて特定される特徴的形状の組、又は、ドア・フレームの３Ｄ構造に基づいて特定される特徴的形状の組であってよい（しかし、これらに限定されない）。このような特徴的形状は部屋内の動かない幾何学的形状に基づくものであり、これらの特徴的形状は照明及び規模がいくらか変化しても、頻繁に変位する環境の下側領域内に位置する対象（例えば、椅子、ゴミ箱、ペットなど）よりは概して容易に認識及び特定される。実装形態では、移動ロボット１０上のカメラ１２５は、低照光環境で特徴的形状を良好に検出するためのＩＲフィルタを有さない、３２０×２４０ＱＶＧＡ、０．０７６８ＭＰのカメラ（又は、６４０×４８０ＶＧＰの０．３ＭＰのカメラ）である。実装形態では、特にロボット１０が走行間でデータを記憶することなく新しいミッションを開始したり、又は以前に探索されていない領域に入ったりするときは、移動ロボット１０は新しい目印を作ることになる。実装形態では、照明の変化により以前は視認されていた特徴的形状が認識不可能となり、検出可能な特徴的形状の数が目印を検出するための特徴的形状の最少の数の閾値未満まで減少する場合も、移動ロボット１０が新しい目印を作る。実施例では、目印の閾値の数は、秒速約１ｆｔつまり秒速約３０６ｍｍの速度において、移動の１フィート当たりで１〜１０個の目印の率で、また好適には、ロボットの移動の１フィート当たりで３個の目印の率で、検出されるような特定可能な特徴的形状の一群である。このようにして、ロボット１０は、その照明度で認識可能である特徴的形状についての有用なローカライゼーション・マップ（localization map）を構築し、実装形態で、ロボットは、多様な光度、例えば、季節的な照明の変化に関連する時刻やカレンダの日付を含むデータに関連付けられるそれにおいて視認される目印を有する１つ又は複数の永続的なマップを記憶する。さらに他の実装形態では、環境が暗すぎて、特徴的形状を検出するのに照光が不十分である場合、移動ロボット１０は、位置を特定するためにフロアに向けられるホイール走行距離測定−光学式デッド・レコニング・ドリフト検出センサ（wheel odometry and optical dead reckoning drift detection sensor）１１４（図１Ｂ）（例えば、ＬＥＤ照光式又はレーザ照光式のマウス・センサ）などの、別のセンサ又は組み合わせのセン���に依存することになる。一実装形態では、目印データベース６５０は、目印の姿勢と称され得る特定の姿勢から捕捉される目印画像を有する。視覚測定は、目印の姿勢を基準として姿勢を決定することを伴う。視覚測定を容易にするために、目印データベース６５０は、各目印に関連する特徴的形状の組と、この特徴的形状の組の３Ｄ構造とを記憶する。
【００７７】
視覚測定アプリケーション６３０は入力画像の一部を目印画像に結び付け、入力画像内で特定される目印からの特徴的形状の空間関係と、目印データベース６５０から検索される目印からの特定される特徴的形状の３Ｄ構造とに基づいて、相対姿勢を決定する。入力画像内で特定される目印からの特徴的形状と、特定される特徴的形状の３Ｄ構造とに基づいて相対姿勢を決定することには多様な選択肢が存在し、これには、３Ｄ構造の剛体変換に基づいて相対姿勢を決定することが含まれ（しかし、これに限定されない）、これは、入力画像内で観測されるものに最も類似する特徴的形状の空間関係を作り出し、それにより再投影誤差を最小にする。あるいは又は加えて、剛体変換により、特徴的形状の観測される空間関係と、視覚測定システム内の誤差原因の統計的特性とを考慮して、最も可能性の高い相対姿勢の推定を得る。相対姿勢を決定するために利用される特定のプロセスに関係なく、目印を形成する特徴的形状の３Ｄ構造及び／又は入力画像内で特定される特徴的形状間の空間関係をより正確に測定することにより、相対姿勢の推定の精度が向上する。視覚測定で使用されるための新しい目印を作るためのプロセス及び目印を使用して相対姿勢を決定するためのプロセスを以下でさらに考察する。
【００７８】
再び図６を参照すると、ＳＬＡＭアプリケーション６３５は、前の位置の推定と、走行距離測定データと、視覚測定アプリケーションから受信される少なくとも１つの視覚測定とに基づいて、目印のマップ内で移動ロボット１０の位置を推定する。上述したように、ＳＬＡＭアプリケーション６３５によって利用される視覚測定は、任意選択で、目印データベース６５０内で特定される目印に関連付けられる目印の姿勢を基準として決定される相対姿勢の推定であってよい。実施例では、ＳＬＡＭアプリケーション６３５は、目印のマップに対するロボット１０の位置の推定を更新するために、相対姿勢、並びに、走行距離測定データ及び／又はマウス・センサ・ドリフト・データを使用する。移動ロボット１０は、その関連する開示の全体が参照により本明細書に組み込まれる、２０１３年５月１７日に公開された「Systems and Methods for VSLAM Optimization」と題する特許文献２、及び、２０１１年７月１４日に公開された「Methods and Systems for Complete Coverage of a Surface By An Autonomous Robot」と題する特許文献３で説明されるプロセスを含む（しかし、これに限定されない）多様なＳＬＡＭのうちの任意のものを利用して位置の推定を更新する。次いで、ＳＬＡＭアプリケーション６３５は、移動ロボット１０の新たに推定された位置に基づいて目印のマップ６４０を更新することができる。
【００７９】
目印のマップ６４０は、移動ロボット１０を囲む環境のマップ、及び、環境内での移動ロボットの位置に対する目印の位置を含む。目印のマップ６４０は、マップ内での各目印を表す種々の情報を含むことができ、これには、目印データベース内で目印を表すデータの参照が含まれる（しかし、これに限定されない）。
【００８０】
行動制御アプリケーション６３０は、周囲環境及び移動ロボット１０の状態に基づいて、移動ロボット１０の異なる行動の作動を制御する。いくつかの実施例では、画像が捕捉されてＳＬＡＭアプリケーション６３５によって分析されるとき、行動制御アプリケーション６４５が、移動ロボット１０の周囲の環境の把握に基づいて移動ロボット１０を如何に振る舞わせるべきかを決定する。行動制御アプリケーション６４５は、環境の特定の特徴及び／又は移動ロボット１０の状態に基づいて、多数の異なる行動から選択することができる。行動には、限定しないが、ロボット１０によって作動し得る多くの基本的な行動の中でもとりわけ、壁追従行動（wall following behavior）、障害物回避行動、逃避行動が含まれ得る。
【００８１】
複数の実施例では、入力／出力インターフェース６２０が、プロセッサ及び／又はメモリと通信する能力をセンサ（しかし、これに限定されない）などのデバイスに提供する。いくつかの実施例では、ネットワーク・インターフェース６６０が、有線データ通信及び／又は無線データ通信を介して、コンピュータ及びスマートフォン・デバイスなどの遠隔計算デバイスと通信する能力を移動ロボット１０に提供する。種々のロボットの制御装置６０５のアーキテクチャが図６に示されているが、ロボット行動制御装置アプリケーション６４５を不揮発性ソリッド・ステート・メモリ又は何らかの他の形態の記憶装置上に位置させ、ランタイム時においてメモリにロードさせ、並びに／或いは、多様なソフトウェア、ハードウェア及び／又はファームウェアを使用してロボット行動制御装置アプリケーションを実装するアーキテクチャを含めた、多様なアーキテクチャのうちの任意のアーキテクチャを、ロボットの制御装置回路６０５の実装形態において利用することができる。上述したロボットの制御装置回路６０５と同様のロボットの制御装置によって構成される場合の、移動ロボット１０の概念的動作を以下でさらに考察する。
【００８２】
移動ロボットの行動制御システム
移動ロボット１０は、周囲環境及び／又は移動ロボットの状態に基づいて移動ロボットの行動を決定するために使用される行動制御アプリケーション７１０を有することができる。移動ロボット１０は、特定のセンサ入力によって起動される１つ又は複数の行動と、行動を起動すべきかどうかを決定するアービトレータ（arbitrator）とを有することができる。入力は移動ロボット１０を囲む環境の画像を含んでよく、行動は、１つ又は複数の捕捉された画像から確認される環境の特徴に応答して起動され得る。
【００８３】
ＶＳＬＡＭプロセス（しかし、これに限定されない）に基づいて環境内でナビゲートするのを可能にするように構成される移動ロボットの行動制御アプリケーション７１０が図７に概念的に示されている。移動ロボットの行動制御アプリケーション７１０は、移動ロボット１０によって担持される１つ又は複数のセンサ７２０（例えば、機械視覚システム、突起センサ、近接センサ、壁センサ、静止状態センサ（stasis sensor）、及び／又は、崖センサ）から、その周囲環境に関する情報を受信することができる。移動ロボットの行動制御アプリケーション７１０は、センサ７６０から受信される情報に応答してロボットのリソース７２５（例えば、ホイール・モジュール）の利用を制御することができ、それにより移動ロボット１０に、周囲環境に基づき得る行動を作動させる。例えば、移動ロボット１０が環境を清掃するために使用される場合、移動ロボットの行動制御アプリケーション７１０は、ナビゲーション・システム１２０から画像を受信し、画像内で検出される障害物及び散乱物を回避しながら環境内を通ってナビゲートさせるように移動ロボット１０に指示することができる。移動ロボットの行動制御アプリケーション７１０は、プログラムされた行動７３０及びコントロール・アービトレータ（control arbitrator）７５０を実装するようにプロセッサを構成する非一時的な機械可読命令を含むメモリと通信している１つ又は複数のプロセッサを使用して実装され得る。
【００８４】
プログラムされた行動７３０は、移動ロボット１０の多様な行動を作動させるために使用され得る種々のモジュールを有することができる。特に、プログラムされた行動７３０は、ＶＳＬＡＭモジュール７４０及び対応するＶＳＬＡＭデータベース７４４、ナビゲーション・モジュール７４２、並びに、多数の追加の行動モジュール７４３を有することができる。
【００８５】
ＶＳＬＡＭモジュール７４０は、その中で移動ロボット１０が動作しているところの環境のマッピングを管理し、さらには、マッピングに関しての移動ロボットの位置の特定を管理する。ＶＳＬＡＭモジュール７４０は、環境のマッピングに関するデータをＶＳＬＡＭデータベース７４４内に記憶することができる。これらのデータは、環境のマップ、及び、マップの異なる領域の特徴を含むことができ、これには例えば、障害物を含む領域、横断可能なフロアを含む他の領域、横断した領域、まだ横断していない領域への境界、特定の領域を表す情報の日付及び時間、並びに／或いは、特定の用途の要求に適し得る追加の情報が含まれる。多くの例において、ＶＳＬＡＭデータベース７４４は環境の境界に関する情報をさらに有し、これには、階段、壁及び／又はドアの位置が含まれる。容易に認識され得るように、移動ロボット１０の動作環境をマッピングするために、任意選択で、多くの他の種類のデータがＶＳＬＡＭモジュール７４０によって記憶されて利用され得る。ＶＳＬＡＭモジュール７４０が視覚測定を実施し、ＳＬＡＭモジュールへの入力として相対姿勢を提供するためにその視覚測定を使用する場合、ＶＳＬＡＭデータベース７４４は、上述した目印データベース６５０と同様の目印データベースを有することができる。
【００８６】
ナビゲーション・モジュール７４２は、環境の特徴に基づいて移動ロボット１０を環境の中を通してナビゲートさせるような方法を作動させる。例えば、実装形態では、ナビゲーション・モジュール７４２は、方向を変えるように、毎秒約３０６ｍｍの速度で駆動し障害物に近づくときには速度を下げるように、特定の方法（例えば、フロアを磨くように小刻みに動く、側壁を清掃するように壁に押圧される、など）で駆動するように、又は、家庭用充填スタンドまでナビゲートするように、移動ロボット１０に指示することができる。
【００８７】
他の行動７４３は、移動ロボット１０の行動を制御するようにも定められ得る。さらに、行動７４０〜７４３をさらに効果的にするために、複数の行動の出力の間で調整を行って及び／又は複数の行動の出力を一体につなぎ合わせて、複雑な組み合わせの機能を提供するための別の行動モジュールの入力とすることが可能である。行動７４０〜７４３は、移動ロボット１０の全体の認識範囲の管理可能な部分を実施することを意図される。
【００８８】
再び図７を参照すると、コントロール・アービトレータ７５０は、プログラムされた行動７３０のモジュール７４０〜７４３が、任意の他の行動を知る必要なく、各々、移動ロボット１０を制御できるようにするのを促進する。言い換えると、コントロール・アービトレータ７５０は、プログラムされた行動７３０とロボットのリソース７２５との間に単純な優先的制御機構を提供する。コントロール・アービトレータ７５０はプログラムされた行動７３０の行動７４０〜７４３にアクセスすることができ、ランタイムにおいて行動７４０〜７４３の間でのロボットのリソース７６０へのアクセスを制御することができる。コントロール・アービトレータ７５０は、どのモジュール７４０〜７４３がそのモジュールによって要求されるようにロボットのリソース７６０を制御するか（例えば、モジュールの間の優先度ヒエラルキー）を決定する。行動７４０〜７４３は動的に開始及び停止することができ、互いに完全に独立して作動することができる。プログラムされた行動７３０はまた、互いを補助するように一体に組み合わされ得る複雑な行動を可能にする。
【００８９】
ロボットのリソース７６０は、１つ又は複数のハードウェア制御装置を備える機能モジュール（例えば、アクチュエータ、駆動装置、及び、それらのグループ）のネットワークであってよい。コントロール・アービトレータ７５０のコマンドは、通常、所与のアクションを実行するためのリソースに特有のものである。移動ロボット１０が構成されるときに有することになる特定のリソースは、通常、移動ロボット１０を適合させる特定の用途の要求に応じて決定される。
【００９０】
図６〜７に関連させて特定のロボットの制御装置及び行動制御アプリケーションを上で説明したが、移動ロボット１０内では、行動ベースの制御パラダイムに依存しない制御装置を含めた、多様なロボットの制御装置のうちの任意のものが任意選択で利用され得る。再び図１〜４を参照すると、移動ロボット１０は、１つ又は複数の傾斜したカメラ１２５を有することができるナビゲーション・システム１２０を有する。傾斜したカメラ１２５によって捕捉される入力画像を使用して、そのプログラムされた行動を推進するために、移動ロボット１０がＶＳＬＡＭプロセスを任意選択で実施することができるやり方を以下でさらに考察する。
【００９１】
ＶＳＬＡＭの概要
移動ロボット１０は、環境を通ってナビゲートするために、種々のオンボード・センサからの情報を継続的に検出して処理することができる。環境内をナビゲートするために移動ロボット１０により任意選択で使用され得るプロセス８００が図８に示されている。プロセスがロボットの行動を決定する（８０５）。ロボットの行動は、種々の検討事項の中でもとりわけ、移動ロボット１０を囲む環境の特定の特徴、移動ロボット１０の最新の状態、移動ロボットによって実行されている特定の動作、及び、移動ロボット１０によって使用される電源の状態、を含めた種々の要因に基づいて、ロボットの制御装置回路６０５によって決定され得る。移動ロボット１０は、行動がロボット１０の姿勢の変更を伴うかどうかを決定する（８１０）。移動ロボット１０が姿勢の変更は必要ではないと決定すると、プロセスは行動を完了し、新しい行動を決定する（８０５）。さもなければ、プロセスは移動ロボット１０の駆動装置１１１を作動させる（８１５）。いくつかの実施例では、駆動装置１１１は、表面を横断させるようにロボットを移動させるために２つ以上のホイール１１３ａ、１１３ｂを使用する。他の実施例では、駆動装置１１１は、表面に沿うパッド又はキャタピラの回転に基づいて表面を横断させるように移動ロボット１０を移動させる１つ又は複数の回転するパッド又は戦車のようなキャタピラを使用することができる。
【００９２】
移動ロボット１０が移動するとき、画像及び走行距離測定データが捕捉される（８２０）。本発明の任意選択の一態様では、移動ロボット１０は、前の画像を捕捉した後、画像間の２０ｃｍ（しかし、これに限定されない）など、ある閾値距離を移動した後で各々の新しい画像を捕捉する。画像の捕捉の間のこの特定の距離は、通常、移動ロボット１０の速度、カメラ１２５の視野、及び、特定の移動ロボット１０の構成の実時間処理能力を含めた（しかし、これに限定されない）要因によって決定される。複数の実施例では、走行距離測定データは１つ又は複数の異なる種類のオドメータによって提供され、これには、ホイールの回転に基づいて走行距離測定データを捕捉するホイール・オドメータ、又は、任意の進行方向のドリフトを補正することを含めて、連続する画像の間で観測されるオプティカル・フローに基づいて追跡表面の画像を捕捉して移動した距離を決定することにより走行距離測定データを得るオプティカル・フロー走行距離測定システムが含まれる。特定の用途の要求に適する限り、他の実施例が追加の走行距離測定センサ又はこれらのセンサの組み合わせを使用することもできる。
【００９３】
走行距離測定データと、傾斜したカメラ１２５によって捕捉される捕捉画像とに基づいて、移動ロボット１０により視覚測定結果が生成され得る（８２５）。いくつかの実施例では、プロセス８００は、目印データベース内に記憶される目印画像の組に新しい画像を合わせ、そのように合わせるごとに、３Ｄ構造と、新しい視野と目印画像との間の特徴的形状の相関関係とを考慮して、目印の目印姿勢に対して決定される相対姿勢を推定する。
【００９４】
次いで、視覚測定データ及び走行距離測定データを使用して、ＳＬＡＭプロセスが実施され得る（８３０）。移動ロボット１０は、任選選択で、目印のマップを維持することができ、また、このマップ内での移動ロボット１０の位置を推定するためにＳＬＡＭプロセスを実施することができる。ＳＬＡＭプロセスは、目印のマップを更新することもできる。
【００９５】
プロセスが完了しているかどうかに関する決定が移動ロボット１０によって行われ（８３５）、そうである場合にはプロセスが完了する。さもなければ、プロセスが新しい行動を決定する（８０５）。
【００９６】
図８を参照して上で説明したプロセスと同様のナビゲーション・プロセスの性能は、図２Ａ、２Ｂ及び２２を参照して上で説明したように、移動ロボット１０の前方移動方向に対してその光軸１５５により鋭角を形成するように傾斜させられたカメラ１２５を利用することにより、大幅に向上させることができる。同様に、カメラの角度分可能を向上させることにより（狭い視野のカメラを利用する、及び／又は、カメラ・センサの分解能を向上させる）、ナビゲーション・プロセスの有効性を上げることができる。目印を生成するときの３Ｄ構造の測定、及び、ナビゲーション中に捕捉される入力画像内で特定される特徴的形状の空間関係の測定に関して、観測される視差及び／又は空間分解能に対する移動ロボット１０のナビゲーション・プロセスの感度を以下でさらに考察する。
【００９７】
目印の生成及び目印に基づくナビゲーション
移動ロボット１０は、ナビゲーションを実施するために、視覚的に認識可能である特定の３Ｄ構造を有する特徴的形状の集まりである目印を利用することができる。移動ロボット１０は、環境の画像を捕捉して画像間での共通の特徴的形状を観測及び統合することにより、目印を作る。画像を重ね合わせ、各々の特徴的形状の間の視差を測定し、画像の捕捉の間での姿勢の変化を推定することにより、既知の速度で移動する移動ロボット１０は各々の特徴的形状までの距離を測定することができる。次いで、これらの距離は、目印を定義する特徴的形状の組の３Ｄ構造を決定するために利用され得る。上で考察したように、目印を形成するいくつかの又はすべての特徴的形状が引き続いて観測され、特徴的形状の３Ｄ構造の情報が、移動ロボット１０の相対姿勢を推定するために利用され得る。実装形態では、移動ロボット１０は、位置の特定を行うために、移動した距離にわたって２つ以上の画像を取ることができる。
【００９８】
ナビゲーションで使用されるための新しい目印を特定するために移動ロボット１０により任意選択で利用され得るプロセスが図９に示されている。プロセス９００は、入力画像のシークエンスを得ること（９０２）を含む。この画像のシークエンスはたった２つの画像しか含まなくてもよい。２つ以上の入力画像内の特徴的形状の間の相関関係が確立され得る（９０４）。２Ｄの特徴的形状、３Ｄの特徴的形状、スケール不変特徴変換（Scale-invariant Feature Transform、ＳＩＦＴ）記述子を使用して特定される特徴的形状、高速頑健特徴量（Speeded Up Robust Features、ＳＵＲＦ）記述子を使用して特定される特徴的形状、及び／又は、二値頑健独立基本特徴（Binary Robust Independent Elementary Features、ＢＲＩＥＦ）記述子を使用して特定される特徴的形状、を含めた（しかし、これらに限定されない）、多様な特徴的形状のうちの任意のものが利用され得る。一実装形態では、ロボット１０はＦＡＳＴ  ＳＬＡＭ及びＢｒｉｅｆ記述子を使用する。特徴的形状の記述子のみを使用することにより、又は、走行距離測定データによって行われる移動の推定を利用することにより、推定相関関係が得られ得る。相関関係を確立するプロセス（９０４）は、２つ以上の入力画像の間で一致するものとして不正確に特定される特徴的形状を排除するために、幾何学的制約を適用することを任意選択で伴ってよい。
【００９９】
次いで、各々の入力画像内で観測される特徴的形状の位置と、特定される特徴的形状の３Ｄ構造のための特定の推定を考慮する場合に予測される位置との間の再投影誤差を最小にすることにより、特定される特徴的形状の３Ｄ構造が決定され得る（９０６）。入力画像が捕捉されたときの移動ロボット１０の相対姿勢が不確実であることから、移動ロボット１０は、特定される特徴的形状の３Ｄ構造を決定すること（９０６）と、入力画像の捕捉中の移動ロボットの相対的な移動を推定することとを同時に行うために、バンドル調整を含めた（しかし、これに限定されない）技法を使用することができる。移動ロボット１０は、３焦点テンソル法（trifocal tensor method）を含めた（しかし、これに限定されない）、移動から構造を決定するための多様なプロセスのうちの任意のものを任意選択で使用することができる。
【０１００】
新たに特定された目印に関する情報が目印データベースに追加され得る（９０８）。移動ロボット１０は、入力画像のうちの１つ又は複数の入力画像又は入力画像の一部、及び、特定の入力画像の捕捉の元となった姿勢の推定を、目印画像及び対応する目印の姿勢として、目印データベース内の目印に任意選択で関連付けることができる。さらに、移動ロボット１０は、任意選択で、目印に関連付けられた特徴的形状及び／又は特徴的形状の記述子と、特徴的形状の３Ｄ構造の記述と、を記憶することができる。容易に認識され得るように、データベースの特定の構造は、通常、特定の用途の要求に基づいて決定され、観測される特徴的形状に基づいて効率的な近似最近傍探索を実施するためにｋｄツリーの集まりを使用することを含むことができる（しかし、これに限定されない）。次いで、移動ロボット１０によって目印データベースに追加される情報が、その後のナビゲーション中に移動ロボット１０により相対姿勢を決定するために利用され得る。
【０１０１】
前に作られた目印を使用して相対姿勢を決定するのに移動ロボット１０により任意選択で利用され得るプロセスが図１０に示されている。プロセス１０００は、１つ又は複数の入力画像を得ることを含む（１００２）。移動ロボット１０は、入力画像内の特徴的形状を、目印データベース内の種々の目印に関連付けられた特徴的形状と比較することができる（１００４）。入力画像内で特徴的形状を特定するために使用されるプロセスは、通常、新しい目印を作るときに特徴的形状を特定するために利用されるものと同じプロセスである。
【０１０２】
入力画像内の特徴的形状と目印データベース内の１つ又は複数の目印の特徴的形状との間に十分な類似性が存在する場合、移動ロボット１０は、目印データベースからの既知の目印が入力画像内で可視であることを決定することができる（１００６）。次いで、移動ロボット１０は、その目印が可視となっている入力画像内で観測される特徴的形状の空間関係に最も厳密に適合する目印の特徴的形状の３Ｄ構造の再投影に基づいて、目印データベース内の目印に関連付けられる目印の姿勢に対するロボットの姿勢を推定することができる（１００８）。相対姿勢は、任意選択で、目印データベース内の目印に関連付けられる目印の姿勢に対する、平行移動の記述及び／又は移動ロボット１０の回転であってよい。相対姿勢を示すための具体的な手法は、主に、特定の用途の要求によって決定される。最も可能性の高い相対姿勢の推定を決定するプロセスは移動ロボット１０の構成に応じて変化してよい。移動ロボット１０の任意選択の一構成では、入力画像内で可視される目印の特徴的形状の再投影誤差を最小にするために、コスト測定基準が利用される。移動ロボット１０の別の任意選択の構成では、推定プロセスが、目印を形成する特徴的形状の３Ｄ構造及び／又は目印の姿勢の位置を推定するプロセスのうちの１つ又は複数に関連する可能性のある誤差原因を考察する。移動ロボット１０の特定の一構成では、相対姿勢の最初の推定が、目印を形成する特徴的形状の３Ｄ構造の再投影を使用して形成され、最尤推定法が実施され、特徴的形状の３Ｄ構造及び相対姿勢が変化可能となることが考えられる。移動ロボット１０の別の構成では、走行距離測定データ、目印を作るために使用される画像内の特徴的形状の位置、目印の３Ｄ構造、及び／又は、入力画像内で可視である目印に関連付けられる特徴的形状の空間関係、のうちの１つ又は複数に基づいて相対姿勢を決定するために、多様な技法のうちの任意のものが利用され得る。
【０１０３】
移動ロボット１０が入力画像内で既知の目印の存在を検出しない場合、移動ロボットは、任意選択で、新しい目印を作ること（１０１０）を試みることができ、又は、単純に別の入力画像を入手してもよい。
【０１０４】
移動ロボット１０が、ＳＬＡＭプロセスに、特定された目印の識別及び推定された相対姿勢を提供し、ＳＬＡＭプロセスが全体の姿勢の推定を決定することができ、及び／又は、移動ロボットによって維持される目印の全体のマップを更新することができる。上述したように、移動ロボット１０は、任意選択で、入力として既知の目印を基準として決定される相対姿勢の推定に依存する多様なＳＬＡＭプロセスのうちの任意のものを使用して構成され得る。実装形態では、ロボット１０はＦＡＳＴ  ＳＬＡＭ及びＢＲＩＥＦ記述子を使用する。
【０１０５】
新しい目印を作るための及び前に作られた目印に基づいてナビゲートするためのプロセスは、特徴的形状の組の３Ｄ構造の再投影を使用して確立され得る空間関係に依存する。図１１〜１６Ｂを参照して後でさらに考察するように、移動ロボット１０の前方移動方向に対してのカメラの光軸１５５の位置合わせ（alignment）は、移動ロボットのナビゲート可能である精度において重要な役割を果たし得る。移動ロボット１０の前方移動方向に対して真正面となるようにカメラ１２５を位置合わせすることにより、再投影プロセスの精度に悪影響を与える可能性がある。カメラがその光軸１５５に沿って目印に向かって移動するとき、まったくといってよいくらい視差が観測されず、再投影プロセスがスケールの変化のみに依存する。移動ロボット１０の前方移動方向の上方に、その光軸１５５により一定の角度を形成するように傾斜する少なくとも１つのカメラ１２５を備えるように移動ロボット１０を構成することにより、観測される視差を拡大することができ、再投影を利用して行われる測定の精度を向上させることができる。
【０１０６】
光軸１５５を移動ロボットの前方移動方向に位置合わせするように構成されるカメラ１２５を有する移動ロボット１０によって捕捉される視野の例が図１１Ａ〜１１Ｃに示されている。移動ロボット１０が屋内環境で図１１Ａに示されている。移動ロボット１０は、角部１１０６で交差する２つの壁１１０２、１１０４の一部分及び環境の地面表面１１０８の種々の部分を捕捉する視野を有する、前向きのカメラ１２５を備えるように構成されている。移動ロボット１０は、カメラの光軸１５５に沿って角部１１０６に向かって移動するものとして示されている。捕捉されるにつれて連続的に小さくなっていく景色の一部分１１１２、１１１４及び１１１６が、図１１Ａ、１１Ｂ及び１１Ｃに示されている。移動ロボット１０が角部１１０６に近づくと、図１１Ａ、１１Ｂ及び１１Ｃで示される３つの視野１１１２、１１１４、１１１６の各々において可視であり続ける特徴的形状がより大きく見える。しかしながら、連続する視野１１１２、１１１４及び１１１６の間でカメラ１２５の視野の中央では視差はほとんど観測されない。カメラ１２５がカメラ１２５の光軸１５５に沿った移動方向に特徴的形状に向かって真正面に移動するとき、特徴的形状の視野の間での視差の不足が図１３Ａに概念的に示される。カメラ１２５が特徴的形状に接近するように移動するとき、３つの連続する視野１３００、１３０２、１３０４の各々での特徴的形状のサイズが大きくなる。しかし、特徴的形状はカメラ１２５の視野の中央に留まる。したがって、特徴的形状までの距離を任意の精度で決定することは困難である。さらに、通常はナビゲーションを行うのに非常に特徴的な補助である角部などの特徴的形状が異なるスケールで非常に類似して見られ得る。再び図１１Ａ〜１１Ｃを参照すると、角部１１０６は視野１１１２、１１１４及び１１１６の各々で非常に類似して見られる。
【０１０７】
図２Ａ、２Ｂ及び２２に関連させて上述したように、移動ロボット１０の移動方向の上方にその光軸１５５により鋭角を形成するようにカメラ１２５を傾斜させることにより、カメラの視野にわたって観測される視差が拡大する。移動ロボット１０が家庭用清掃ロボットとして構成される場合、移動ロボット１０は概して平坦なフロアを横断して移動するように制限される。フロアに傾斜があったとしても、移動ロボット１０はカメラ１２５の光軸１５５に沿う方向には移動しない。したがって、移動ロボット１０が平行移動することにより、景色の異なる視野の間で視差が観測可能となる。
【０１０８】
移動ロボット１０の移動方向の上方にその光軸１５５により鋭角を形成するように傾斜するカメラ１２５によって捕捉される景色の視野の例が図１２Ａ〜１２Ｃに示されている。移動ロボット１０は、角部１２０６のところで交差する２つの壁１２０２、１２０４を含む図１１Ａ〜１１Ｃに示される景色と同様の景色の視野を捕捉する。移動ロボット１０は角部１２０６に向かってフロア１２０８に沿って移動方向１２１０に移動する。移動ロボット１０は、図１１Ａ〜１１Ｃに関して上で説明したように前向きのカメラを備えるように構成されたように、傾斜したカメラ１２５を備えるように構成された移動ロボットは、連続的に小さくなっていく景色の一部分の視野１２１２、１２１４、１２１６を捕捉する。しかし、カメラ１２５の傾斜により、各々の連続する視野のカメラの視野は壁１２０２、１２０４の下方に移行する結果となる。したがって、３つの視野の各々で可視である特徴的形状が連続する視野１２１２、１２１４、１２１６の間で上方に移動して見える。特徴的形状が上方に移動することが図１３Ｂに概念的に示されている。移動ロボット１０が特徴的形状に向かう方向にフロアに沿って移動すると、特徴的形状のサイズが増大し、特徴的形状が３つの連続する視野１３１０、１３１２、１３１４の各々で漸進的に上方に移動する。
【０１０９】
観測可能な視差を説明するために、３つの連続する視野１３１０、１３１２、１３１４を重ね合わせる。特徴的形状がカメラ１２５の視野の正確な中心線上にない場合、特徴的形状は、カメラの視野の中心線から離れるように上方に移動する。容易に認識され得るように、有意な視差の存在は、図１３Ａに示される連続する視野１３００、１３０２、１３０４内で観測される特徴的形状により可能となるよりも非常に高い精度で特徴的形状までの距離を決定するために利用され得る。特徴的形状の一群にわたって考えると、視差が拡大することにより、目印を形成する特徴的形状の組の３Ｄ構造に関するより多くの情報が提供されることになる。例えば、特徴的形状の組が、壁上の単なる円ではなく、ドア・フレームなどの３Ｄ構造を伴う環境内の対象に相当する場合、移動ロボット１０がドア・フレームに接近するように移動するとき、より高い精度でドア・フレームの３Ｄ構造を確認することができる。上述したように、目印の３Ｄ構造を決定するときの精度は、その後のナビゲーション中に目印を使用して行われる相対姿勢の推定の精度に大きく影響する。また、カメラ１２５が傾斜することで、移動ロボット１０は対象の下側のより大きい部分を視認することが可能となる。ハウスクリーニングに関連する物体（housecleaning object）として構成される、移動ロボット１０がナビゲーションのために依存する多くの対象は、額縁、フラット・スクリーン・テレビ及びスピーカ・システムなどの（しかし、これらに限定されない）、壁に掛かっているか又は壁に設置される比較的平坦な対象である。カメラ１２５を傾斜させることにより、そのような対象の下側を撮像するために充てられる、カメラの視野の部分が拡大する。したがって、対象の下側の３Ｄ構造がより正確に決定され得るようになり、それにより、目印の３Ｄ構造に基づくその後のナビゲーションがより正確になる。
【０１１０】
目印の３Ｄ構造を決定するとき及び相対姿勢を推定するときに観察可能な視差を拡大することの影響が、図１４Ａ、１４Ｂ及び１５を参照して以下で説明される一連のシミュレーションによって示される。シミュレーションは、部屋の角部に向かって移動する移動ロボット１０が前向きのカメラを使用してその相対姿勢を決定することができる精度を、移動ロボット１０の移動方向の上方にカメラ１２５の光軸により鋭角を形成するように傾斜するカメラを使用して達成される精度と比較して、シミュレートすることを伴った。
【０１１１】
図１４Ａは、仮想の屋内環境内でシミュレートされる移動ロボットの前方を向くカメラの視野ポイントをシミュレートすることにより生成される画像１４００である。仮想の屋内環境は、角部を形成する２つの壁上にチーター１４０２のイメージ及びシマウマ１４０４のイメージがあり、仮想の部屋の天井に日の出１４０６のイメージがある形で、その壁及び天井にテクスチャを有する部屋である。このシミュレーションでは、仮想の部屋は、２単位の高さの壁を有する４単位×４単位の部屋としての大きさである。シミュレートされる移動ロボットのカメラはフロアの上方の１単位のところにあり、前向きのカメラが角部に向けられている。このシミュレーションでは、移動ロボットは、角部に向かって０．５単位だけ前方に移動した後で得られる画像内で特定される特徴的形状を比較することに基づいて、相対姿勢の変化を決定する。上述したプロセスと同様のプロセスを使用して、シミュレートされる移動ロボットによって特定される特徴的形状が複数の十字記号１４０８として示されている。図１４Ｂは、シミュレートされる移動ロボットの前方移動方向の上方の３０度の角度にカメラの光軸があるようにカメラが傾斜していることを除いて、図１４Ａに示される画像１４００を生成するために使用されるシミュレーションで使用されるカメラと同じ視野を有するカメラの視野ポイントをシミュレートすることにより生成される画像１４５０である。シミュレートされる移動ロボットによって特定され、位置の特定を実施するために使用される特徴的形状が複数の十字記号１４５２として示されている。
【０１１２】
図１５は、上述のシミュレーションの各々における、フロア平面内でのその相対姿勢を移動ロボットが決定するときに可能となる精度の比較を示すチャートである。チャート１５００は、前方を向くカメラを備えるシミュレートされる移動ロボットを使用して決定される相対姿勢の不確実さ１５０２と、移動ロボットの移動方向の上方の３０度の角度にカメラの光軸があるように傾斜したカメラを備えるシミュレートされる移動ロボットを使用して決定される相対姿勢の不確実さ１５０４とを示す。上述したように、このシミュレーションでは、シミュレートされる移動ロボットを仮想の部屋の角部に向かって０．５単位だけ移動させられた。不確実さは、前方移動方向に対して定義される、シミュレートされる移動ロボットの真の位置の左側又は右側の誤差として、或いは、シミュレートされる移動ロボットの真の位置の前方又は後方の誤差として表される。右側−左側の不確実さは移動方向に対して垂直である寸法の不確実さとみなされてよく、前方−後方の不確実さは移動方向に平行な寸法の不確実さとみなされてよい。図１５を参照することにより認識され得るように、移動ロボットの移動方向の上方の３０度の角度のところにカメラの光軸を置くように傾斜するカメラを使用することにより、前方を向くカメラに対しての、両方の寸法における不確実さを低減することができる。移動方向に対して垂直である寸法の不確実さの低減はわずかであるが、移動方向に沿う寸法の不確実さは有意に低減される。
【０１１３】
上述のシミュレーションは、前方を向くカメラと、移動ロボットの移動方向の上方の３０度の角度のところにその光軸があるように傾斜するカメラとを比較するが、移動ロボットの移動方向の上方の他の鋭角のところにカメラの光軸を位置合わせするように傾斜するカメラを使用する場合でも同様に位置の不確実さの低減を達成することができる。さらに、目印を作るための及び目印に基づいて相対姿勢を決定するためのプロセスを使用してカメラによって捕捉される連続する画像内で観測される視差を拡大するという、傾斜したカメラ１２５を使用することの利点を、図９及び１０を参照して上で説明したが、多様な任意選択のＶＳＬＡＭナビゲーション・プロセスのうちの任意のものを使用して構成される移動ロボット１０を使用して景色の画像を捕捉するために、１つ又は複数の傾斜したカメラ１２５を利用する場合でも、同様の利点が得られ得る。
【０１１４】
広角レンズを採用するカメラは、通常、ＶＳＬＡＭ及びＣＶ−ＳＬＡＭを実施するように構成される移動ロボットで利用される。傾斜したカメラ１２５を使用することの大きな利点は、カメラの視野の中央で観測される特徴的形状が、正確な深さの推定結果を得るために利用され得ることである。後でさらに考察するように、移動ロボット１０が目印の３Ｄ構造を決定することができるときの精度は、同じ分解能を有するより広い視野のレンズを備えるセンサを採用するカメラと比較してより高い角度分解能を有する狭い視野のレンズ１４０を備える傾斜したカメラ１２５を利用することにより、さらに向上され得る。
【０１１５】
角度分解能の向上によるナビゲーションの精度の向上
狭い視野及び高い角度分解能を有する傾斜したカメラ１２５を備えるように移動ロボット１０を構成することにより、移動ロボット１０が目印の３Ｄ構造を決定することができるときの精度と、目印の３Ｄ構造の再投影に基づいて決定される相対姿勢の推定の精度とを向上させることができる。さらに、狭い視野のレンズを使用することにより、カメラ１２５によって獲得された画像を修正することの計算コスト（computational expense）（例えば、時間、処理能力など）なしに、移動ロボット１０が画像処理を実施することが可能となる。容易に認識され得るように、処理負荷を低減することにより、移動ロボット１０がより高いフレーム率でより多くの画像の処理することを可能とすることができ（それにより移動ロボットがより速く移動することが可能となる）、消費電力を低減することを可能とすることができ（それにより、バッテリの寿命が延びる）、及び／又は、追加の処理能力を用いて移動ロボット１０が他の機能を実行することを可能とすることができる。
【０１１６】
図１６Ａ及び１６Ｂは、比較的広い視野を有する前向きのカメラを使用して構成される移動ロボットの場合と比較して、移動ロボット１０が狭い視野を有する傾斜したカメラ１２５を使用して構成される場合の、目印を見つけることができるときの精度の向上を示す。図１６Ａは、広角レンズを使用して構成される移動ロボット１０のカメラ１２５のサンプリング格子１６００を示す。サンプリング格子１６００が、真っ直ぐ前方を向くカメラ１２５内の各ピクセルによってサンプリングされる景色の部分を概念的に示す。実際の用途では、移動ロボット１０は、通常、より高い分解能のカメラを備えるように構成される。しかし、角度分解能の影響及びその後の画像処理の歪みを説明するために、非常に低い分解能のサンプリング格子を利用する。サンプリング格子１６００は、カウチ１６２０、コーヒー・テーブル１６２５、テレビ１６３０、額入りの絵画１６３５及び窓１６４０を有する一般的なリビング・ルームである景色をサンプリングする。移動ロボット１０がカメラ１２５の光軸１５５に沿う方向に移動する場合、カメラの視野の中央部分では視差がほとんど観測されず、カメラ１２５の視野の周囲部分のところの特徴的形状から最も高い信頼性の３Ｄ構成の深度推定が得られる。広角レンズによって導入される歪みがサンプリング格子１６００内の曲線として概念的に示されている。歪みにより、カメラの視野の中央のところでのカメラの角度分解能と比較して、カメラの視野の周囲部分のところでのカメラ１２５の角度分解能が低くなる。低い角度分解能が、サンプリング格子１６００内の頂点の間のより大きい距離間隔として描かれている。したがって、カメラ１２５の視野の周囲部分で観測される特徴的形状は、比較的低い精度で観測される。ナビゲーションで使用され得る特徴的形状はカウチの前方角部である。目印を示すことができるピクセルの一群を示すために、シェーディング１６１０が使用されている。図１６Ｂ（後で考察する）と比較することにより分かるように、分解能が比較的低いということは、ピクセルの異なる組を使用して特徴的形状を観測する前に、サンプリング格子１６００の有意な移動及び回転が生じ得ることを意味する。したがって、移動ロボット１０の位置の特定の精度が相対的に大幅に低くなる。
【０１１７】
対照的に、図１６Ｂに示される移動ロボット１０は、狭い視野を有する傾斜したカメラ１２５を使用して景色をサンプリングする。カメラ１２５が傾斜していることにより、移動ロボット１０は、カメラの視野に全体にわたって特徴的形状の３Ｄ構造を正確に決定することができる。カメラ１２５の視野を狭くすることにより、図１６Ａに示されるカメラの角度分解能と比較して、カメラの角度分解能が大幅に向上する。図１６Ｂに示される移動ロボット１０のサンプリング格子１６５０は、より高い角度分解能で、つまり、より高いサンプリング密度で、景色をサンプリングする。したがって、特定の特徴的形状の位置を決定することができるときの精度が大幅に向上する。また、狭い視野のレンズ１４０は歪みをほとんど導入しない。したがって、角度分解能が狭い視野にわたって大幅に低下することがなく、移動ロボット１０は、最初に修正を実施することなく画像データを処理することができる。狭い視野のレンズを使用して高い精度で視差を測定する能力により、目印を形成する特徴的形状の３Ｄ構造と、動かない目印を基準として既知の速度で移動する移動ロボット１０までのそれらの構造的要素の距離とをより正確に推定することが可能となる。加えて、画像内の特定される特徴的形状の間の距離をより高い精度で測定する能力により、新しい視野ポイントへの３Ｄ構造の再投影誤差を最小にすることに基づく相対姿勢のより正確な推定が可能となる。したがって、傾斜したカメラ１２５と狭い視野のレンズ１４０とのこのような組み合わせにより、ＶＳＬＡＭプロセスに基づいてナビゲーション中により高い精度で位置の特定を行うことができる。ナビゲーションで使用され得る特徴的形状は額縁１６３５の右上の角部である。目印を示すことができるピクセルの一群を示すためにシェーディング１６６０が使用されている。図１６Ａ（上で考察した）と比較することにより分かるように、分解能が比較的高いということは、サンプリング格子のわずかな移動及び／又は回転の結果として、ピクセルの異なる組によりこの特徴的形状が観測されることになる、ことを意味する。したがって、移動ロボット１０の位置の特定の精度が相対的に大幅に高くなる。
【０１１８】
広角レンズを備える前向きのカメラと比較して、狭い視野を有する傾斜したカメラ１２５を利用することの利点を概念的に説明することを目的として異なる視野が図１６Ａ及び１６Ｂに示されているが、移動ロボット１０は多様な視野のうちの任意の視野を有する傾斜したカメラ１２５を使用するように構成されてよい。狭い視野のレンズは、通常、透視投影が一般にレンズの真の結像特性に対しての良好な近似となるようなレンズのことであるとみなされ、対して広角レンズは歪みを導入する。任意選択の一構成では、傾斜したカメラ１２５は、６５度〜７５度の範囲から選択される水平方向の視野と、４５度〜６５度の範囲から選択される垂直方向の視野とを有するレンズを有するように、狭い視野のレンズを用いて構成される。実装形態では、傾斜したカメラ１２５のレンズは、７２度の水平方向の視野と、５０度の垂直方向の視野とを有する。別の任意選択の構成では、傾斜したカメラ１２５は、水平方向において７０度又は８０度であるか或いはそれらの間であり、垂直方向において５０度又は６０度であるか或いはそれらの間である、視野を有する、狭い視野のレンズを備えるように構成される。容易に認識され得るように、移動ロボット１０のカメラ１２５で利用される、この特定のレンズ１４０及び／又はレンズ１４０のこの特定の視野は、所与の用途の要求に大きく依存する。
【０１１９】
移動ロボット１０によって利用されるカメラ１２５のこのような大きさの視野は、カメラ１２５の視野の一部又はすべてが遮蔽されているかどうか又は深刻にぼけているかどうかには大きくは関係しないものとすることができる。したがって、移動ロボット１０は、任意選択で、連続する画像の比較から遮蔽物を無視するよう試みるために、遮蔽物を検出し、移動ロボット１０を検査することが必要であることを使用者に通知するように、構成され得る。移動ロボット１０により任意選択で採用され得る遮蔽物検出プロセスを以下でさらに考察する。
【０１２０】
遮蔽物検出
移動ロボット１０のナビゲーション・システム１２０内の１つ又は複数のカメラ１２５、１４０は、移動ロボット１０を囲む環境内の要素に対して継続的に露出されていることから機能性の低下を受ける可能性がある。特に、屋内環境では、移動ロボット１０が環境を清掃するときに、ダスト、デブリ、指紋、髪の毛、食品粒子、及び、多様な他の対象が、カメラのレンズ・カバー１３５上に集まってそこに留まる可能性がある。これらの遮蔽物は、ＶＳＬＡＭプロセスで使用されるためのカメラ１２５によって捕捉される画像の品質を低下させる可能性があり、さらにはそれにより、屋内環境を通る移動ロボット１０のナビゲーションの精度を低下させる可能性がある。十分なレベルのナビゲーション性能を維持するために、移動ロボット１０は、少なくとも１つのカメラ１２５の視野の一部又は全体から移動ロボット１０が有用な情報を受信していないことが決定された場合に、使用者に通知を行うことができる。
【０１２１】
移動ロボット１０のカメラ１２５のうちの１つのカメラの視野の一部が遮蔽されている可能性がある場合の状況は、その中で移動ロボット１０を動作させることができる環境に応じて異なる。視野の一部が遮蔽される場合、カメラ１２５は、ＶＳＬＡＭプロセスを含めた（しかし、これに限定されない）ナビゲーション・プロセスによって使用され得るような有用な画像データを一切提供しない可能性がある。特定の種類の遮蔽物の例、及び、遮蔽されたカメラ１２５によって捕捉される得られた画像の例が、図１７Ａ〜１８Ｂに概念的に示されている。半透明の遮蔽物１７０６が図１７Ａに示されている。カメラ１２５は移動ロボット１０の本体１００内の奥まって示されており、凹部の開口部１７０４内に位置するレンズ・カバー１３５を有するものとして示されている。半透明の遮蔽物１７０６（指の汚れ又は水滴など）がレンズ・カバー１３５上に存在する。半透明の遮蔽物１７０６により画像１７１２の一部がぼやけている、カメラ１２５によって捕捉される画像１７１０が、図１７Ｂに概念的に示されている。容易に認識され得るように、このぼけにより、半透明の遮蔽物により歪んだカメラの視野の部分内においての、そうでない場合には特定されているような特徴的形状に関する特徴的形状の相関関係が不足しやすくなる。したがって、視覚測定プロセスなど（しかし、これに限定されない）のナビゲーション・プロセスがカメラの視野の影響を受けている部分で目印を特定することができないということによって、遮蔽物１７０６の存在が、時がたつにつれて明らかとなる。
【０１２２】
不透明の遮蔽物１８０６が図１８Ａに示されている。同様に、カメラ１２５が移動ロボット１０の本体１００内の奥まって示されており、凹部１３０の開口部１８０４内に位置するレンズ・カバー１３５を有するものとして示されている。不透明の遮蔽物１８０６（ダスト粒子、液滴、紙片など）がレンズ・カバー１３５上に存在する。不透明の遮蔽物１８０６により景色１８１２の一部が完全に遮蔽されているような、カメラ１２５によって捕捉される画像１８１０が、図１８Ｂに概念的に示されている。不透明な遮蔽物１８０６によって影響を受ける景色の部分で移動ロボット１０が特徴的形状を検出することができる範囲においては、移動ロボット１０は、景色の連続する視野内でそれらの特徴的形状に関連する視差を一切観察することができない。不透明な遮蔽物１８０６は、通常、連続する画像内の同じ寸法を有する同じ位置に誤った目印として現れる。このように視差が不足することにより、目印を生成することにおいて遮蔽物１８０６に関連するすべての特徴的形状を使用することが妨げられる。その理由は、移動ロボット１０が目印のための３Ｄ構造を一切決定することができないからである。したがって、視覚測定プロセスなど（しかし、これに限定されない）のナビゲーション・プロセスがカメラ１２５の視野の影響を受けている部分内で目印を特定することができないということによって、不透明の遮蔽物１８０６の存在が、時がたつにつれて明らかとなる。移動ロボット１０は、任意選択で、移動ロボット１０の回転及び／又は平行移動に関係なく同じ位置に現れる特徴的形状を検出することにより、不透明な遮蔽物１８０６をより迅速に検出することができる。
【０１２３】
移動ロボット１０により任意選択で実施され得る遮蔽物検出プロセスが図１９に示されている。プロセス１９００は、ナビゲーションで使用されるための入力画像を捕捉すること（１９０５）を含む。上述したように、移動ロボット１０は、移動ロボット１０の本体１００のトップ・カバー内の凹部１３０内に位置するカメラ１２５を使用するように任意選択で構成され得、及び／又は、カメラ１２５は、移動ロボット１０の前方移動方向の上方にカメラの光軸１５５により鋭角を形成するように、傾斜してよい。
【０１２４】
移動ロボット１０は、ＶＳＬＡＭプロセスを含めた（しかし、これに限定されない）ナビゲーション・プロセス中に特徴的形状を特定して利用することができる、カメラ１２５の視野の多様な部分を決定し（１９１０）、それに応じて遮蔽物検出データを更新する（１９１５）。移動ロボット１０がナビゲーション・プロセスによりＶＳＬＡＭプロセスを実施するように構成される場合、画像の特定部分は、視覚測定を実施して環境をマッピングするために使用されるための目印を生成するためにＶＳＬＡＭプロセスにより利用することができる特徴的形状を含むことができる。移動ロボット１０は、目印を生成及び／又は検出するために使用される画像の部分を表す遮蔽物検出データを収集することができ、画像のこれらの部分はカメラの視野の多様な部分に対応していてよい。本発明の任意選択の一態様では、移動ロボット１０は、特徴的形状を特定するために使用される視野の種々の部分のヒストグラムを保持することができる。遮蔽物が存在する場合、目印を生成及び／又は検出するためにＶＳＬＡＭにより視野のこれらの部分が利用されていないということを、ヒストグラムが反映することになる。
【０１２５】
移動ロボット１０は、特定の閾値の数の入力画像が捕捉されたかどうかを決定することができる（１９２０）。多くの実施例では、入力画像の閾値の数は多様であってよく、一般に、入力画像の数が増加すると、遮蔽物検出の精度が向上する。閾値の数の画像が捕捉されていない場合、プロセスは追加の画像を捕捉することを継続する（１９０５）。実施例では、画像の閾値の数は、秒速約１ｆｔつまり秒速約３０６ｍｍの速度において、移動の１フィート当たりで１〜１０個の画像であり、好適には、ロボットの移動の１フィート当たりで３個の画像である。閾値の数の画像が捕捉されている場合、プロセスは、ナビゲーション・プロセスによって使用されていない画像データを捕捉しているカメラ１２５の視野の１つ又は複数の部分を遮蔽物検出データが特定しているかどうかを決定する（１９２５）。ナビゲーション・プロセスによって使用されていない画像データを捕捉している視野の１つ又は複数の部分を遮蔽物検出データが特定していない場合、移動ロボット１０は、カメラ１２５の視野が遮蔽されていないものと仮定し、遮蔽物検出プロセスが完了する。
【０１２６】
一実装形態では、ナビゲーション・プロセスによって使用されていない画像データを捕捉している視野の１つ又は複数の部分を遮蔽物検出データが特定している場合、移動ロボット１０は、移動ロボット１０に関連する一人又は複数人の使用者にカメラ遮蔽通知を提供し（１９３０）、その結果、使用者はカメラ１２５の視野から遮蔽物を取り除くことができる。プロセスの任意選択の一態様では、通知は、移動ロボット１０と通信することができるサーバ上に位置するユーザ・アカウント情報を使用する、使用者に送達される電子メッセージの形態である。例えば、使用者は、ｅメール、テキスト・メッセージ又は他の伝達手段を通して、通知を受けることができる。別の任意選択の態様では、使用者は、点滅光、音、又は、他の適切な警告機構などの、移動ロボット１０上の何らかの形態のインジケータを通して、通知を受けることができる。また、移動ロボット１０は、任意選択で、ワイパ・ブレード、ファン、エア・ナイフ、及び／又は、検出された遮蔽物を排除することを試みるために移動ロボットにより使用され得る別の適切な清掃機構を備えるように構成されてもよい。
【０１２７】
本発明の任意選択の態様による、移動ロボット１０と、外部サーバと、ユーザ・デバイスとの間の通信を示す通信図が図２０に示されている。特に、図２０は、遮蔽物の通知を外部サーバ２０２０に送信する移動ロボット１０を示す。移動ロボット１０は、カメラ画像の遮蔽されていない部分がロボット１０の位置を特定するためにもはや有用ではないように移動ロボット１０上のカメラの視野の一部分を遮蔽している遮蔽物の存在を検出した後、通知を送信することができる。本発明の任意選択の態様では、移動ロボット１０は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）などの近距離通信プロトコルを使用してユーザ・デバイスに直接に通知を送信することができる。移動ロボット１０から通知を受信した後、外部サーバ２０２０は、通知を受信するように登録されている１つ又は複数のユーザ・デバイスにメッセージを送信する。本発明の任意選択の態様では、外部サーバは、ＳＭＳテキスト・メッセージ、自動ボイスメール、及び／又は、電子メール・メッセージのうちのいずれも送信することができる。本発明の別の任意選択の態様では、移動ロボット１０は、遮蔽物の継続的な存在を検出しながら定期的に通知を送信することができる。例えば、移動ロボット１０は、遮蔽物を検出しながら、一日に１回の、一週間に１回の、又は、他の時間ベースの通知のリマインダ（notification reminder）を送信することができる。他の任意選択の態様では、移動ロボット１０は、環境の清掃を開始するごとに通知を送信することができる。
【０１２８】
本発明の実施例による、ユーザ・デバイスに遮蔽物を通知するためのシステムが図２１に示されている。システム２１００は、１つ又は複数の移動ロボットからメッセージを受信し処理するサーバ２１０４を有する。特に、サーバが移動ロボット１０からメッセージを受信するとき、サーバは１つ又は複数のユーザ・デバイス２１０５〜２１０７にメッセージを提供することができる。
【０１２９】
複数の実施例では、多様なユーザ・デバイスが、インターネットなどのネットワーク２１０８を介してメッセージを受信するために、ＨＴＴＰ、ＳＭＳテキスト、又は、別の適切なプロトコルを使用することができる。示される実施例では、ユーザ・デバイスには、パーソナル・コンピュータ２１０５〜２１０６及び携帯電話２１０７が含まれる。他の実施例では、ユーザ・デバイスには、ＨＴＴＰを介してサーバに接続されてメッセージを受信することができるような、ＤＶＤプレイヤー、Ｂｌｕ−ｒａｙ（登録商標）プレイヤー、テレビ、セット・トップ・ボックス、テレビゲーム機、タブレット、及び、他のデバイスなどの家電デバイスが含まれてよい。
【０１３０】
上記は本発明の多くの具体的な任意選択の態様の説明を含むが、これらは本発明の範囲を限定するものとして解釈されるべきはなく、むしろ、それらの多様な構成の例として解釈されるべきである。したがって、本発明の範囲は示される例によって決定されるべきではなく、添付の特許請求の範囲及びその均等物によって決定されるべきである。
【図１Ａ】
2020173847.tif 000003
【図１Ｂ】
2020173847.tif 000004
【図１Ｃ】
2020173847.tif 000005
【図２Ａ】
2020173847.tif 000006
【図２Ｂ】
2020173847.tif 000007
【図３Ａ】
2020173847.tif 000008
【図３Ｂ】
2020173847.tif 000009
【図３Ｃ】
2020173847.tif 000010
【図４】
2020173847.tif 000011
【図５】
2020173847.tif 000012
【図６】
2020173847.tif 000013
【図７】
2020173847.tif 000014
【図８】
2020173847.tif 000015
【図９】
2020173847.tif 000016
【図１０】
2020173847.tif 000017
【図１１Ａ】
2020173847.tif 000018
【図１１Ｂ】
2020173847.tif 000019
【図１１Ｃ】
2020173847.tif 000020
【図１２Ａ】
2020173847.tif 000021
【図１２Ｂ】
2020173847.tif 000022
【図１２Ｃ】
2020173847.tif 000023
【図１３Ａ】
2020173847.tif 000024
【図１３Ｂ】
2020173847.tif 000025
【図１４Ａ】
2020173847.tif 000026
【図１４Ｂ】
2020173847.tif 000027
【図１５】
2020173847.tif 000028
【図１６Ａ】
2020173847.tif 000029
【図１６Ｂ】
2020173847.tif 000030
【図１７Ａ】
2020173847.tif 000031
【図１７Ｂ】
2020173847.tif 000032
【図１８Ａ】
2020173847.tif 000033
【図１８Ｂ】
2020173847.tif 000034
【図１９】
2020173847.tif 000035
【図２０】
2020173847.tif 000036
【図２１】
2020173847.tif 000037
【図２２】
2020173847.tif 000038
【手続補正書】
【提出日】令和2年7月13日(2020.7.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
移動ロボットであって、
頂部表面を有する本体と、
前記本体の前記頂部表面の前記頂部表面に沿った水平面の下方にある凹形構造と、
前記本体を支持する駆動装置と、
前記駆動装置に通信状態にある制御装置回路であって、動作環境の中で前記移動ロボットをナビゲートすることを前記駆動装置に指示するように構成された制御装置回路と、
前記移動ロボットの前記動作環境の画像を捕捉するように構成されたカメラであって、前記カメラは、カメラの視野及びカメラの光軸を画定する光学系を含み、前記カメラが、前記凹形構造内に位置付けられ、且つ、前記カメラの光軸が前記水平面に対して非ゼロの角度を成して前記移動ロボットの前方駆動方向に向けられるように、傾斜しているカメラと、
を備える移動ロボット。
【請求項２】
前記駆動装置は、
横軸の両側の端部におけるホイール・モジュールと、
キャスタ・ホイールと、
清掃ヘッドアセンブリと、
を備え、前記横軸は、前記清掃ヘッドアセンブリと前記キャスタ・ホイールとの間にある、請求項１に記載の移動ロボット。
【請求項３】
前記清掃ヘッドアセンブリは、片持ち式である、請求項２に記載の移動ロボット。
【請求項４】
前記本体が、墓石形状である、請求項２に記載の移動ロボット。
【請求項５】
１つ又は複数の崖センサ、１つ又は複数の近接センサ、及び、前記本体の外周に隣接するサイドブラシとを更に備える、請求項１に記載の移動ロボット。
【請求項６】
前記本体の外周に隣接するバンパと、
前記本体の前記頂部表面上のユーザ・インターフェースであって、前記バンパと前記カメラとの間にあるユーザ・インターフェースと
を更に備える、請求項１に記載の移動ロボット。
【請求項７】
前記カメラの視野の下側周囲部分が前記本体によって遮蔽されていない、請求項１に記載の移動ロボット。
【請求項８】
前記カメラの視野の下側周囲部分が前記本体によって部分的に遮蔽され、前記制御装置回路が、前記カメラによって観測された特徴的形状を撮像しているときに前記カメラの視野の前記下側周囲部分を放棄するように構成されている、請求項１に記載の移動ロボット。
【請求項９】
検出された画像の頂部で観測された特徴的形状は、連続する画像の間で、前記前方駆動方向における前記カメラの自己運動よりも速い速度で上向きに移動し、検出された画像の底部における特徴的形状は、連続する画像の間で、前記前方駆動方向における前記カメラの自己運動と等しい速度、又はそれよりも遅い速度で下向きに移動する、請求項１に記載の移動ロボット。
【請求項１０】
前記水平面の上での前記カメラの光軸の成す角度は１０度から６０度の間である、請求項１に記載の移動ロボット。
【請求項１１】
前記水平面の上での前記カメラの光軸の成す角度は３０度〜４０度の鋭角を含む、請求項１０に記載の移動ロボット。
【請求項１２】
前記カメラの視野は垂直方向に４５度〜６５度に及び、水平方向に６５度〜７５度に及ぶ、請求項１１に記載の移動ロボット。
【請求項１３】
前記制御装置回路は、前記カメラによって検出された静止した特徴的形状を含む目印を特定することをプロセッサに指示するように構成されており、前記カメラの角度及び位置は、前記頂部表面の３フィートから８フィート上方の範囲内で、且つ、前記カメラの光軸に沿って３フィートから１０フィート離れたところで、前記静止した特徴的形状を検出するように構成されている、請求項１に記載の移動ロボット。
【請求項１４】
前記制御装置回路は、前記動作環境のマップを構築することをプロセッサに指示し、且つ、前記カメラによって捕捉された前記動作環境の前記画像に基づいて視覚的な同時位置測定マッピング（ＶＳＬＡＭ）を用いて前記動作環境の中で前記移動ロボットをナビゲートすることを前記駆動装置に指示するように構成されている、請求項１に記載の移動ロボット。
【請求項１５】
移動ロボットであって、
本体と、
キャスタ・ホイールと、
前記本体を支持する駆動装置であって、横軸の両側の端部に左右のホイール・モジュールを備える駆動装置と、
清掃ヘッドアセンブリであって、前記清掃ヘッドアセンブリと前記キャスタ・ホイールとの間に前記横軸がある、清掃ヘッドアセンブリと、
前記駆動装置に通信状態にある制御装置回路であって、動作環境の中で前記移動ロボットをナビゲートすることを前記駆動装置に指示するように構成された制御装置回路と、
前記移動ロボットの前方駆動方向における前記移動ロボットの前記動作環境の画像を捕捉するように構成されたカメラであって、前記カメラは、カメラの視野及びカメラの光軸を画定する光学系を含み、前記カメラの光軸は、前記移動ロボットが前記カメラの光軸に沿って移動しないように方向付けられている、カメラと、
を備える移動ロボット。
【請求項１６】
前記本体が、墓石形状であり、前記カメラの光軸は、前記本体の頂部表面と一致する水平面の上で１０度から６０度の間の角度を成す、請求項１５に記載の移動ロボット。
【請求項１７】
前記本体が、前記水平面の下方にある凹形構造を有し、前記カメラが、凹形構造内に位置付けられ、且つ、前記カメラの光軸が前記水平面の上で鋭角を成すように、傾斜している、請求項１６に記載の移動ロボット。
【請求項１８】
前記清掃ヘッドアセンブリは、片持ち式である、請求項１５に記載の移動ロボット。
【請求項１９】
前記本体の外周に隣接するバンパと、
前記本体の前記頂部表面上のユーザ・インターフェースであって、前記バンパと前記カメラとの間にあるユーザ・インターフェースと
を更に備える、請求項１５に記載の移動ロボット。
【請求項２０】
１つ又は複数の崖センサ、１つ又は複数の近接センサ、及び、前記本体の外周に隣接するサイドブラシとを更に備える、請求項１５に記載の移動ロボット。
【請求項２１】
移動ロボットであって、
前記移動ロボットの頂部表面に沿った水平面の下方にある凹形構造と、
駆動装置と、
前記駆動装置に通信状態にある制御装置回路であって、動作環境の中で前記移動ロボットをナビゲートすることを前記駆動装置に指示するように構成された制御装置回路と、
前記移動ロボットの前記動作環境の画像を捕捉するように構成されたカメラであって、前記カメラは、カメラの視野及びカメラの光軸を画定する光学系を含み、前記カメラが、前記凹形構造内に位置付けられ、且つ、前記カメラの光軸が前記水平面に対して角度を成して前記移動ロボットの前方駆動方向に向けられるように、傾斜しているカメラと、
キャスタ・ホイールと、
清掃ヘッドアセンブリであって、片持ち式である清掃ヘッドアセンブリと、
を備える移動ロボット。
【請求項２２】
前記移動ロボットが、墓石形状を有するロボット真空機を含む、請求項２１に記載の移動ロボット。
【請求項２３】
前記駆動装置は、横軸の両側の端部におけるホイール・モジュールを備え、前記横軸は、前記清掃ヘッドアセンブリと前記キャスタ・ホイールとの間にあり、前記移動ロボットの外周に隣接するブラシとを更に備える、請求項２２に記載の移動ロボット。
【請求項２４】
前記移動ロボットの外周に隣接するバンパであって、前記バンパの反対側に前記キャスタ・ホイールが配置される、バンパと、
前記移動ロボットの前記頂部表面上のユーザ・インターフェースであって、前記バンパと前記カメラとの間にあるユーザ・インターフェースと
を更に備える、請求項２３に記載の移動ロボット。
【請求項２５】
前記移動ロボットが、ロボット真空掃除機を備え、前記ロボット真空掃除機が、バンパと、前記本体の外周に隣接するブラシと、清掃ヘッドアッセンブリとを更に備える、請求項１に記載の移動ロボット。
【請求項２６】
前記移動ロボットが、ロボット真空掃除機を備え、前記ロボット真空掃除機が、バンパと、前記本体の外周に隣接するブラシとを更に備える、請求項１５に記載の移動ロボット。
【外国語明細書】
2020173847000001.pdf