JP6732746B2 - 機械視覚システムを使用した、同時位置測定マッピングを実施するためのシステム - Google Patents

機械視覚システムを使用した、同時位置測定マッピングを実施するためのシステム Download PDF

Info

Publication number
JP6732746B2
JP6732746B2 JP2017525541A JP2017525541A JP6732746B2 JP 6732746 B2 JP6732746 B2 JP 6732746B2 JP 2017525541 A JP2017525541 A JP 2017525541A JP 2017525541 A JP2017525541 A JP 2017525541A JP 6732746 B2 JP6732746 B2 JP 6732746B2
Authority
JP
Japan
Prior art keywords
mobile robot
camera
landmark
robot
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017525541A
Other languages
English (en)
Other versions
JP2017538208A (ja
Inventor
ミューニック、マリオ
ロマノフ、ニコライ
ゴール、ディーライ
フォン、フィリップ
メルツァー、ジェイソン
リウス、マルク バルナダ
リウス、マルク バルナダ
Original Assignee
アイロボット・コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/856,526 external-priority patent/US9519289B2/en
Priority claimed from US14/856,497 external-priority patent/US9751210B2/en
Application filed by アイロボット・コーポレーション filed Critical アイロボット・コーポレーション
Publication of JP2017538208A publication Critical patent/JP2017538208A/ja
Priority to JP2020117779A priority Critical patent/JP6946524B2/ja
Application granted granted Critical
Publication of JP6732746B2 publication Critical patent/JP6732746B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0253Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0272Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • G01S17/8943D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本明細書では、同時位置測定マッピング(simultaneous location and mapping)で使用されるための視覚測定を得るために使用される画像を捕捉するためのシステム及び方法が説明される。
多くのロボットはコンピュータによって制御される電気機械式の機械である。移動ロボットはその環境内を動き回る能力を有し、1つの物理的な位置に固定されない。現在一般的に使用される移動ロボットの1つの例として、無人搬送車(automated guided vehicle又はautomatic guided vehicle、AGV)がある。AGVは、通常、フロア内のマーカ又はワイヤをたどるか又はナビゲーションのためにビジョン・システム又はレーザを使用する移動ロボットと考えられる。移動ロボットは、産業環境、軍事環境及び警備環境で見つけることができる。移動ロボットはまた、娯楽のための、又は、真空掃除及び在宅支援などの特定のタスクを行うための、消費者製品としても登場する。
完全な自律を達成するために、移動ロボットは、通常、使用者の介入なしにその環境を探索し、環境の高い信頼性のマップを構築し、マップ内でそれ自身の位置を特定する能力を保有することを必要とする。移動ロボット工学でのこのような問題に対処するために、同時位置測定マッピング(Simultaneous Localization and Mapping、SLAM)の分野ではかなりの研究が行われてきた。より優れたナビゲーション・アルゴリズム及びより正確なセンサの開発により、より優れたロボットの構築に向けて大きく前進することが可能となっている。
米国特許出願公開第2012/0317744号明細書 米国特許出願公開第2012/0121161号明細書 米国特許出願公開第2011/0167574号明細書
本発明は、動作環境内をナビゲートするように構成される移動ロボットであって、頂部表面を有する本体と、本体に設置される駆動装置と、本体の幾何学的中心の近くで頂部表面の平面の下方にある凹形構造と、駆動装置と通信状態にある制御装置回路であって、カメラ・ベースのナビゲーション・システムを使用して環境を通って移動ロボットをナビゲートすることを駆動装置に指示する、制御装置回路と、カメラの視野及びカメラの光軸を画定する光学系を含むカメラであって、カメラが、凹形構造内に位置付けられ、カメラの光軸が、頂部表面と一致する水平面から上方に30〜40度の鋭角に位置合わせされ、且つ、ロボットの本体の前方駆動方向に向けられるように、傾斜させられ、カメラの視野が垂直方向において45度〜65度の円錐台に及び、カメラが移動ロボットの動作環境の画像を捕捉するように構成される、カメラと、を含む移動ロボットを提供する。
複数の実施例では、カメラが、カメラの光軸に対して鋭角に位置合わせされるレンズ・カバーによって保護される。
特定の実施例では、レンズ・カバーが凹形構造の開口部に対して後退して設置され、頂部表面によって画定される平面とカメラの光軸との間に形成される角度よりも直角に近い、カメラの光軸に対する鋭角である。
複数の実施例では、鋭角が15度から70度の間である。
いくつかの実施例では、凹形構造内の開口部によって画定される平面とカメラの光軸との間に形成される角度が10から60度の間の範囲である。
いくつかの実施例では、カメラの視野が、フロア表面から3フィートから8フィートの範囲であって、3フィートから10フィートの距離のところに位置付けられた静止した特徴に向けられている。
いくつかの実施例では、カメラの画像が1インチ当たり約6〜12ピクセルを含み、画像の頂部の特徴が、連続する画像の間で、移動ロボットが移動する速度より速く上方に移動し、画像の底部の特徴が、連続する画像の間で、移動ロボットが移動する速度より遅く下方に移動し、制御装置が、連続する画像の間の視差を特定するときに、移動ロボットの速度及び画像内の特徴の位置を決定するように構成される。
特定の実施例では、移動ロボットが秒速220mmから秒速450mmの速度で移動し、水平線に対して45度未満である特徴が秒速約306mm未満で跡を残し、45度を超える特徴が毎秒306mmを超えて跡を残す。
いくつかの実施例では、光学系が1.8から2.0の間のf値を画定する。
複数の実施例では、光学系が少なくとも40cmである焦点距離を画定する。
いくつかの実施例では、本体が、制御装置回路と通信状態にあるメモリと、駆動装置と通信状態にある走行距離測定センサ・システム(odometry sensor system)とをさらに含み、メモリが、視覚測定アプリケーションと、同時位置測定マッピング(SLAM)のアプリケーションと、目印データベースと、目印のマップとをさらに含み、制御装置回路が、駆動装置を作動させて走行距離測定センサ・システムを使用して走行距離測定データを捕捉することと、少なくとも、捕捉された走行距離測定情報及び捕捉された画像を視覚測定アプリケーションに提供することにより視覚測定を獲得することと、少なくとも、走行距離測定情報、及び、視覚測定結果を入力としてSLAMアプリケーションに提供することにより、目印の更新されたマップ内での更新されたロボットの姿勢を決定することと、目印の更新されたマップ内の更新されたロボットの姿勢を含む入力に基づいてロボットの行動(behavior)を決定することと、をプロセッサに指示する。
いくつかの実施例では、目印データベースが、複数の目印の記述(description)と、複数の目印の各々の目印画像、及び、関連する目印の姿勢であって目印画像を捕捉する関連する目印の姿勢と、所与の目印に関連付けられる複数の特徴の記述であって、所与の目印に関連付けられる複数の特徴の各々のための3D位置を含む、複数の目印からの記述と、を含む。
特定の実施例では、視覚測定アプリケーションが、入力画像内で特徴を特定することと、目印データベースから目印を特定することであって、目印データベース内の特定される目印の目印画像に関連付けられる匹敵する特徴に対しての入力画像内で特定される特徴の類似性に基づいて、入力画像内で、目印データベースから目印を特定することと、入力画像内の特定される特徴との類似性が最も高くなるように、特定される目印に関連付けられる匹敵する特徴の3D構造の剛体変換であって、相対的な姿勢の推定と、移動ロボットの移動方向の上方でカメラの光軸を位置合わせする鋭角とに基づいて決定される剛体変換を決定することにより、最も可能性の高い相対姿勢を推定することと、をプロセッサに指示する。
いくつかの実施例では、入力画像内で目印を特定することが、入力画像からの修正されていない画像パッチを、目印データベース内の目印画像と比較することを含む。
複数の実施例では、SLAMアプリケーションが、前の位置の推定と、走行距離測定データと、少なくとも1つの視覚測定とに基づいて、目印のマップ内の移動ロボットの位置を推定することと、移動ロボットの推定された位置と、走行距離測定データと、少なくとも1つの視覚測定とに基づいて、目印のマップを更新することと、をプロセッサに指示する。
いくつかの実施例では、制御装置回路が、前の入力フレーム内で特定された目印に向かって移動ロボットを平行移動させるように駆動装置を作動させることを、プロセッサにさらに指示し、視覚測定アプリケーションが、前の入力画像内で特徴が特定された位置の上方の位置で、前の入力画像内で特定された目印の特徴を捜索することを、プロセッサにさらに指示する。
いくつかの実施例では、視覚測定アプリケーションが、新しい目印を生成することであって、一続きの画像の複数の画像内で特徴を検出することと、一続きの画像からの複数の画像内の目印を形成する特徴の組を特定することと、複数の画像の各々が捕捉されるときに、複数の画像の各々において目印を形成する特定された特徴の組を使用して、目印を形成する特徴の組の3D構造と、相対的なロボットの姿勢とを推定することと、目印データベースに新しい目印を記録することであって、新しい目印を記録することが、新しい目印の画像と、少なくとも新しい目印を形成する特徴の組と、新しい目印を形成する特徴の組の3D構造とを記憶することを含む、目印データベースに新しい目印を記録することと、によって新しい目印を生成することと、新しい目印の生成をSLAMアプリケーションに通知することと、をプロセッサにさらに指示する。
複数の実施例では、SLAMアプリケーションが、目印データベースに記憶される新しい目印の画像が捕捉されるときの移動ロボットの姿勢として目印の姿勢を決定することと、新しい目印のための目印の姿勢を目印データベースに記録することと、をプロセッサに指示する。
いくつかの実施例では、視覚測定アプリケーションが、複数の画像の各々が捕捉されるときに、目印を形成する特徴の組の3D構造の、複数の画像の各々が捕捉されるときの推定される相対的なロボットの姿勢のための複数の画像の各々への再投影誤差を最小にすることにより、目印を形成する特徴の組の3D構造と、相対的なロボットの姿勢とを推定することを、プロセッサにさらに指示する。
いくつかの実施例では、視覚測定アプリケーションが、一続きの画像の複数の画像からの修正されていない画像パッチを比較することにより、一続きの画像からの複数の画像内で少なくとも1つの目印を特定することを、プロセッサにさらに指示する。
いくつかの実施例では、少なくとも1つのプロセッサが、視覚測定アプリケーション、行動制御装置アプリケーション及びSLAMアプリケーションによって指示されるシングル・プロセッサである。
多数の実施例では、少なくとも1つのプロセッサが少なくとも2つのプロセッサを含み、ここで、行動制御装置アプリケーションが、少なくとも2つのプロセッサのうちの第1に指示し、視覚測定アプリケーション及びSLAMアプリケーションが少なくとも2つのプロセッサのうちのもう1つに指示する。
いくつかの実施例では、機械視覚センサ・システムが、ロボットの頂部表面の下にあり、頂部表面の水平面に対して上方に角度をつけられる焦点軸を有する複数のカメラをさらに有し、ここで、少なくとも1つのカメラが、前方駆動方向と反対の逆駆動方向を向く。
いくつかの実施例では、機械視覚センサ・システムが、カメラの視野及びカメラの光軸を画定する光学系を含む第2のカメラを有し、第2のカメラが、第2のカメラの光学系の光軸が移動方向の上方のある角度に位置合わせされるように、位置付けられる。
複数の実施例では、機械視覚システムが、重なり合う視野を有するステレオ対のカメラを含む。
複数の実施例では、カメラが、凹形構造内の、フロア表面から最大で6インチの距離に位置付けられる。
いくつかの実施例では、カメラの視野が、平坦な壁上の、フロア表面から3フィートから8フィートの範囲内に位置する静止した特徴に向けられる。
複数の実施例では、カメラ画像が、1インチ当たり約6〜12ピクセルを含む。
特定の実施例では、カメラが、IRフィルタを有さない、320×420VGAの3メガピクセル・カメラである。
本発明のいくつかの実施例は、動作環境内をナビゲートするように構成される移動ロボットであって、底部表面から6インチ以下の高さに位置する頂部表面を含む本体であって、頂部表面の下に凹形構造を有し、少なくとも1つのプロセッサと、捕捉される画像に基づいて環境をナビゲートすることをプロセッサに指示する行動制御装置アプリケーションを含むメモリと、移動ロボットの動作環境の画像を捕捉するように構成されるカメラを含む機械視覚センサ・システムであって、カメラが、カメラの視野及びカメラの光軸を画定する光学系を有し、凹形構造内に配置され、移動ロボットの移動の前方駆動方向の上方の10から60度の間の鋭角に光軸を位置合わせされるように傾斜している、機械視覚センサ・システムと、を含む、本体を含む移動ロボットを提供する。
いくつかの実施例では、本体がカメラを保護するレンズ・カバーをさらに含み、レンズ・カバーが、カメラの光軸に関して、凹形構造内の開口部によって画定される平面とカメラの光軸との間に形成される角度よりも直角に近い鋭角で、凹形構造の開口部に対して後退している。
いくつかの実施例では、カメラが、IRフィルタを有さない、320×420VGAの3メガピクセル・カメラである。
移動ロボットの正面斜視図である。 移動ロボットの底部を示す図である。 ロボットの制御装置回路のブロック図である。 凹形構造内に傾斜したカメラを含む移動ロボットを示す上面斜視図である。 移動ロボットの傾斜したカメラの断面図である。 移動ロボットからレンズへの機械的応力の伝達を原因としてカメラのレンズに起こり得るレンズの変形を防止するレンズ・ホルダを示す図である。 移動ロボットからレンズへの機械的応力の伝達を原因としてカメラのレンズに起こり得るレンズの変形を防止するレンズ・ホルダを示す図である。 移動ロボットからレンズへの機械的応力の伝達を原因としてカメラのレンズに起こり得るレンズの変形を防止するレンズ・ホルダを示す図である。 移動ロボットの本体の頂部内の別個の凹部内に収容され、レンズ・カバーを使用して保護される、前方及び後方を向く傾斜したカメラを備えるように構成される移動ロボットを示す図である。 図4に示された方法で構成される移動ロボットの前方及び後方を向く傾斜したカメラの断面図である。 改良されたナビゲーション・システムを使用するVSLAMのために使用され得る移動ロボットの制御装置回路を示す図である。 VSLAMプロセス(これに限定されない)に基づいて環境内でのナビゲーションを可能にするように構成される移動ロボットの行動制御アプリケーションを概念的に示す図である。 環境内をナビゲートするのに移動ロボットにより任意選択で使用され得るプロセスを示すフロー・チャートである。 ナビゲーションでの使用のための新しい目印を特定するために移動ロボットにより任意選択で利用され得るプロセスを示すフロー・チャートである。 前に作られた目印を使用して相対的な姿勢(pose)を決定するのに移動ロボットにより任意選択で利用され得るプロセスを示すフロー・チャートである。 光軸が移動ロボットの移動の前方方向にそろうように構成されるカメラを有する移動ロボットによって捕捉される視野の例を示す図である。 光軸が移動ロボットの移動の前方方向にそろうように構成されるカメラを有する移動ロボットによって捕捉される視野の例を示す図である。 光軸が移動ロボットの移動の前方方向にそろうように構成されるカメラを有する移動ロボットによって捕捉される視野の例を示す図である。 その光軸が移動ロボットの移動方向の上方に鋭角をなすように傾斜するカメラによって捕捉される景色の視野の例を示す図である。 その光軸が移動ロボットの移動方向の上方に鋭角をなすように傾斜するカメラによって捕捉される景色の視野の例を示す図である。 その光軸が移動ロボットの移動方向の上方に鋭角をなすように傾斜するカメラによって捕捉される景色の視野の例を示す図である。 特徴までの距離を決定するために利用され得る視差を示す図である。 視差を決定するための特徴の上方への移動の例を示す図である。 仮想の屋内環境内でシミュレートされる移動ロボットの前方を向くカメラの視点をシミュレートすることにより生成される画像を示す図である。 シミュレートされる移動ロボットの前方移動の方向の上方30度の角度にカメラの光軸があるようにカメラが傾斜していることを除いて、図14Aに示される画像を生成するために使用されるシミュレーションで使用されるカメラと同じ視野を有するカメラの視点をシミュレートすることにより生成される画像を示す図である。 上述のシミュレーションの各々における、フロア平面内でのその相対的な姿勢を移動ロボットが決定することができるときの、その精度の比較を示すチャートである。 広角レンズを使用して構成される移動ロボットのカメラのサンプリング格子を示す図である。 狭い視野を有する傾斜したカメラを使用して景色をサンプリングすることを示す図である。 特定の種類の遮蔽物、及び、遮蔽されたカメラによって捕捉される結果の画像の例を示す図である。 半透明の遮蔽物が結果として画像のぼやけた部分となっている、カメラによって捕捉された画像の例を示す図である。 不透明の遮蔽物の例を示す図である。 不透明の遮蔽物の結果として景色の一部分が完全に遮蔽されている、カメラによって捕捉された画像の例を示す図である。 移動ロボットによって任意選択で実施され得る遮蔽物検出プロセスを示すフロー・チャートである。 移動ロボットと、外部サーバと、ユーザ・デバイスとの間の通信を示す通信図(communication diagram)を示す図である。 ユーザ・デバイスに遮蔽物を通知するためのシステムを示す図である。 フロア表面から4インチ以下の頂部表面と、移動ロボットの頂部表面の下に設置され、垂直方向において約50〜60度の視野角度δを有する円錐台に及ぶ視野と、水平方向から上方に約30度の鋭角φに光軸155とを有するカメラとを有するロボットを示す図である。
次に、図面、特に、図1A〜1C、4及び5を参照すると、1つ又は複数の傾斜したカメラ125を含む移動ロボット10の機械視覚システムを使用して視覚的な同時位置測定マッピング(Visual Simultaneous Localization and Mapping、VSLAM)を実施するためのシステム及び方法が示されている。実装形態では、1つ又は複数の傾斜したカメラ125は、ロボットの頂部表面108に対して固定された角度で、移動ロボット10の本体100の中央部分内の奥まった場所にあり、この1つ又は複数の傾斜したカメラ125の各々は、カメラの光軸155に対して鋭角で位置合わせされたレンズ・カバー135によって保護される。カメラ125が移動ロボット10の本体100の一部分の奥まった場所にある場合、レンズ・カバー135も凹部130の開口部に対して奥まった場所にあってよい。実装形態では、ナビゲーション・システム120は、フロア表面からロボットの頂部表面108までが4インチ以下である家庭用清掃ロボットである移動ロボット10の一部である。この場合、家庭用清掃ロボット10は狭いスペース(例えば、椅子の下、及び、台所家具(kitchen cabinetry)の表面フレーム(face frame)の下)の中までナビゲートすることができる。複数の実装形態では、移動ロボット10は13.9インチの直径及び8.4ポンドの重さを有し、毎秒220mmから毎秒450mmの速度で移動する。本発明のさらに別の任意選択の態様では、1つ又は複数の傾斜するカメラ125は、家の壁に掛かった額縁及び変位することのない他の特徴などの、確実に静止した、特徴を多く有する対象の画像を家庭用清掃ロボット10が捕捉できるように、傾斜している。後でさらに考察するように、移動ロボット10は、視覚に基づくセンサ並びに視覚に基づく同時位置測定マッピング、つまりVSLAMを用いて環境のマップを構築しナビゲートするために、フロアの上方の特定の範囲の高さに位置する確実に静止した対象の特徴を使用することができる。
SLAMの視覚センサとの組み合わせはしばしばVSLAM740と称される。VSLAM740のプロセスは、通常、視覚及び走行距離測定に基づいており、特徴の多い環境内での高い信頼性のナビゲーションを可能にする。このような視覚的技法は、継続的に更新される自己生成マップ(self-generated map)を使用して環境内を自律的にナビゲートするために、移動ロボット10などのビークルによって使用され得る。1つ又は複数のカメラ125を有する機械視覚システムを含めた様々な機械視覚システムが、VSLAM740での使用のために、提案されている。
本発明の実施例によるシステム及び方法は、移動ロボット10の頂部表面108の下に設置され、移動ロボット10の頂部表面108の上方に鋭角をなすように位置合わせされた光軸155を有するカメラ125を使用してVSLAM740を実施する。多くのVSLAM740のプロセスは、特徴までの距離を推定するために及び/又は位置を三角測量するために、一連の画像内の捕捉された特徴の視差(disparity)を分析する。一般に、異なる好都合な位置から捕捉された一連の画像の間での、特徴の組に対して観測された視差の量が、これらの特徴がその環境内でマッピングされるときの精度を決定する。観測される視差が大きいと、距離測定がより正確になる。
移動ロボット10が、前方移動の方向に平行となるように位置合わせされたレンズ140の光軸155を有する前方視カメラ125を採用している場合、移動ロボット10の真正面に位置する特徴の組において、特徴に向かってロボットが移動するにつれて観測され得る視差は、一般に、最小の量しかない。後でさらに考察するように、前方視カメラの視野の中央に見える特徴は、特徴に向かって移動ロボット10が移動する場合には、その大きさが大きくなりやすく、特徴の連続する画像の間では、視差はほとんど認識され得ない。したがって、前方視カメラの視野の中央にある特徴の3D構造は、その特徴に向かって移動ロボット10が移動しているときに捕捉される一連の画像から確認することは難しいかもしれない。この問題は、ロボットの形状の要因により地面に近いカメラの配置が強いられる(例えば、地面の上方4インチ以下)、家庭用清掃ロボットなどの小さい移動ロボットの場合に特に深刻となる。前方視カメラの位置測定の精度は、前方視カメラの視野を拡大することにより改善され得る。しかし、視野を拡大することにより、所与の画像センサ分解能においては、捕捉される画像データの角度分解能が低下する。さらに、カメラの視野の周囲部分つまりカメラの軸外の視野に関する視差を観測するのを可能にするために視野を拡大すると、通常は広角レンズの歪みが大きくなり、カメラによって捕捉される画像の角度分解能が低くなる。
移動の前方方向の上方に一定の角度でカメラを傾斜させることにより、対象に向かってカメラが移動するときにカメラの視野にわたって観測される視差を拡大することができる。とりわけ、移動の前方方向の上方に一定の角度でカメラを傾斜させることにより、視野の中央で観測される視差が拡大し、カメラの視野のこの部分が最も高い角度分解能を有するようになる。光軸155が、移動の前方方向にそろえられた水平軸に対して鋭角を形成するように傾斜されたカメラの視野の中央で観測可能である特徴は、特徴に向かって移動するときに捕捉される一連の画像内で上方に移動することになる。したがって、頻繁に住宅の壁に掛かけられ、任意の大きさ、及び、種々の照明条件において容易に認識可能である特徴を有する額縁やテレビなど(しかし、これらに限定されない)の対象が、家庭用清掃ロボットなどの居住環境内で動作する移動ロボットに良好なナビゲーションの目印(navigation landmark)を提供する。
また、カメラ125を上方に傾斜させることにより、移動ロボット10は、壁に掛かっている対象の下側の3D構造をより正確に決定するのを可能にすることができる。さらに、カメラ125を傾斜させることにより、ドア・フレーム、額縁、並びに、他の静止した家具及び対象の周りで撮像される特徴などの特徴が変化しない、一般的な屋内環境内の領域上に移動ロボット10が焦点を合わせることが可能となり、移動ロボット100が信頼できる目印を繰り返し特定することができ、それにより、環境内で正確な位置の特定及びマッピングを行うことが可能となる。加えて、実装形態では、移動ロボット10上のカメラ125は、毎秒3フレームの画像処理速度を有し、30ミリ秒未満の速度で画像を転送する、320×240QVGA、0.0768mPのカメラ(又は、640×480VGS、0.3MPのカメラ)である。実装形態では、カメラ125は、低照光環境で特徴を良好に検出するためのIRフィルタを有さない。実装形態では、移動ロボット10は、検出可能な特徴の数が、目印を検出するための特徴の最小数の閾値を下回る場合、新しい目印を作ることになろう。実施例では、目印の閾値数は、秒速約1ft、または秒速約306mmの速度において、移動1フィート当たり1〜10個の目印の率、好適には、ロボットの移動1フィート当たり3個の目印の率で、検出される特定可能な特徴の一群である。実装形態では、環境が過度に暗く、照光が特徴を検出するのには不十分である場合、移動ロボット10は、位置を特定するためにフロアに向けられた光学式のデッド・レコニング・センサ(optical dead reckoning sensor、例えば、LED又はレーザ照光式のマウス・センサ)などの別のセンサに依存することになろう。
カメラ125の視野の中央に見える特徴に対して行われる視差測定は、角度分解能を向上させるために視野を犠牲にすることにより、より正確に実施され得る。複数の実施例では、例えば78度の水平な視野を有する視野レンズ140を採用する傾斜したカメラ125を利用することにより、特定のセンサ分解能を使用して達成される角度分解能が、広角レンズを使用する前方視カメラと比較して向上する。狭い視野のレンズ140と広角レンズとの間の一般的な差異は、広角レンズでは歪みが導入される一方で、透視投影が、一般に、狭い視野のレンズの真の結像特性(true imaging characteristics)の良好な近似となることである。したがって、レンズの角度分解能及び変調伝達関数(modulation transfer function、MTF)は、広角レンズの視野にわたって起こる角度分解能及びMTFの変化と比較して、狭い視野のレンズの視野にわたっては、より一様となる傾向がある。広角レンズによって導入される歪みは計算コストの高い歪み補正演算を使用して補正され得、視差は、カメラによって捕捉された画像の修正の後、決定され得る。狭い視野のカメラ125が利用される場合、修正されていない画像がその後の画像処理プロセスで利用され得る。したがって、適切なVSLAMプロセスと組み合わせて狭い視野のレンズを使用することは、追加的な計算コストの高い修正ステップを実施するのを回避してより高い精度で特徴及び/又は目印(つまり、特徴のグループ)を見つけることができるという点で、広い視野のレンズを使用するより従来的なVSLAMプロセスに対して有利となり得る。環境を捕捉するために狭い視野のレンズを使用する実装形態の例を、図16Aを参照して以下で詳細に説明する。
多くのVSLAMプロセスは、位置の特定を実施するのに、観測される特徴の間に広範な基準を有することに依存する。後でさらに考察するように、代替的手法は、独特の3D構造を有する関連する特徴を目印として特定することを伴う。移動ロボット10の相対的な姿勢は、目印を形成する特徴の3D構造と、移動ロボット10によって捕捉される画像内での特徴の外観とに基づいて、容易に決定され得る。したがって、相対的な姿勢の推定の精度は、移動ロボット10のカメラ125によって捕捉される画像内で観測される特徴の間の距離を測定することが可能である角度精度に大きく依存する。したがって、狭い視野のレンズを有する傾斜したカメラ125を備えるように移動ロボット10を構成することにより、前方を向くカメラ又はより広い視野と同等の分解能とを有するカメラを装備する同等のシステムと比較して、性能を向上させることができる。傾斜したカメラ125を使用する実装形態を、図1A及び2A〜2Bを参照して以下で詳細に説明する。
多くの実施例では、移動ロボット10のカメラ125の視野、及び、カメラの光軸155と移動の前方方向との間に形成される特定の角度は、カメラ125のフレーム率、移動ロボット10の速度、及び、移動ロボット10内で画像処理を実施するために利用されるプロセッサの処理能力を含めた(しかし、これらに限定されない)、特定の用途の要求に基づいて決定される。容易に認識され得るように、移動ロボット10の速度が上がると、捕捉されるフレームの間での観測される視差が大きくなる。視差はフレームのFOVを重ね合わせることによって観測され、移動ロボット10は、秒速220mmと秒速450mmとの間の速度で移動し、好適には秒速306mmの速度で移動する。カメラ125の傾斜を増すことにより視差をさらに大きくすることができる。視差を観測する能力は、移動ロボット10が実時間で画像データのフレームを捕捉して処理することができる速度に依存する。低いフレーム率は大きい視野によって補償され得る。しかし、上述したように、視野を拡大すると、捕捉された画像を修正するための計算コストが生じる可能性がある。したがって、移動ロボット10の多くの任意選択の構成では、カメラ125の傾斜と視野とは、特定の移動ロボット及びその動作環境の要求を満たすように選択される。
ナビゲーション・システム120の有効な視野は、移動ロボット10の周りの異なる位置に位置づけられた別のカメラ125、410を追加することにより、角度分解能を低下させることなく拡大され得る。本発明の任意選択の一態様では、各カメラ125、410は、個別の保護レンズ・カバー135を伴って、移動ロボット10の本体100内の個別の凹部130内に収容される。特定の実施例は、前方を向いた傾斜したカメラ125、及び、1つ又は複数の後方を向いた傾斜したカメラ410の両方を有することができる。以下で、図4及び5を参照して、複数のカメラを使用する実装形態を詳細に説明する。複数のカメラ125、410を使用することにより、移動ロボット10が、VSLAMで使用するためのより多くの特徴及び/又は目印を、これらの特徴を検出するときの角度精度を維持しつつ、観測できるようになる。ロボット10の周りの1つ又は複数の方向で目印を容易に特定することにより、移動ロボット10が移動させられたり、迷子になったりする誘拐イベント(kidnapping event)に続いて、清掃ミッションを再開したり、環境のマップの構築を継続するために、迅速に再び位置を特定することが補助される。さらに、後方を向いた傾斜したカメラ410は、移動の方向に関係なく、同じ目印をVSLAMプロセスが使用できるようにし得る。これは、「コーンロー」パターンで環境内をナビゲートする移動ロボット10で有用となり得る。この状況では、移動ロボット10が方向転換するごとに、後方を向いたカメラ410によって捕捉される画像データを使用して戻り経路上をナビゲートするために、前方を向いたカメラ125に見えた特徴及び/又は目印を使用することができる。さらに、狭い視野のレンズの増加した空間的分解能(センサ分解能が同等であると仮定する)を所与として、後方を向いた傾斜カメラ410は、例えば移動ロボット10が360度全方向カメラを使用する場合よりも高い角度精度で目印を検出することができる。
動作中、移動ロボット10上に設置される1つ又は複数のカメラ125が種々の理由のうちのいずれかの理由により妨害される可能性がある。例えば、経時的に及び移動ロボット10を使用することで、ダスト及びデブリがカメラ・レンズ140又はレンズ・カバー135上に蓄積する可能性があり、それにより、捕捉される画像の一部を遮蔽する可能性がある。移動ロボット10は、何らかの種類の妨害物がカメラ・レンズ140の1つ又は複数の部分を遮蔽するときを検出することができる。遮蔽物が検出されると、移動ロボット10は、遮蔽物を取り除くために、例えば、カメラ・レンズ140を保護するレンズ・カバー135を清掃することを使用者に通知する通知を提供することができる。カメラ125の視野の一部分を妨害する遮蔽物の存在を検出することを目的として、いくつかの実施例は、VSLAMプロセスのために有用な情報を提供する画像の特定の部分を分析し、この分析に基づき、視野の特定の他の部分が遮蔽されている可能性があることを決定することができる。特に、いくつかの実施例は、視野の異なる部分のヒストグラムと、それぞれの部分がVSLAMを使用して環境内での移動ロボット10のナビゲーション中に新しい目印を生成する及び/又は既存の目印を認識するために使用されている画像データを捕捉する頻度と、を保持することができる。低い頻度で使用される領域は遮蔽物として印をつけられ得、それに応じて通知が生成され得る。
以下の考察の大部分は特定のVSLAMプロセスとの組み合わせで使用されるカメラ構成を説明するが、本明細書で説明される技法は、多種多様なマッピング・ナビゲーション機構のいずれかを使用して構成される移動ロボット10によって利用され得る。したがって、環境内をナビゲートするために使用されるための1つ又は複数の傾斜したカメラ125を組み込む移動ロボット10の種々の任意選択の構成を以下でさらに考察する。
改良されたビジョン・センサ構成を備える移動ロボット
移動ロボット10は、移動ロボット10のナビゲーション及び移動ロボット10を取り囲む環境のマッピングにおいてVSLAMプロセスによって使用される画像データを捕捉することができるカメラ125を有するナビゲーション・システム120を組み込んでいる。移動ロボット10のナビゲーション・システム120で使用される傾斜したカメラ125を図1A〜2Bに示す。特に、図1は移動ロボット10の正面斜視図を示し、図2は、傾斜したカメラ125を含む移動ロボット10の本体100の実質的に中央に配置される凹部130を示す。容易に認識され得るように、カメラ125は、レンズ・カバー135の1つの縁部がレンズ・カバー135の第2の縁部よりも凹部130の開口部により接近しているように構成されるレンズ・カバー135によって保護されている。このようにして、レンズ・カバー135は、カメラ125の光軸155と、移動ロボット10の本体100内の凹形構造130における開口部によって画定される平面とカメラ125の光軸155との間に形成される角度φよりも直角に近い鋭角αをなす。いくつかの実施例では、鋭角αは15から70度の間の範囲であってよく、鋭角φは10から60度の間の範囲であってよい。このようにレンズ・カバー135に角度をつけることは本発明の任意選択の態様であり、レンズ・カバー135は、傾斜したカメラ125を含む移動ロボットの本体100の凹部130内の開口部の平面内、または、移動ロボットの本体100の凹部130内の開口部の平面に平行に、奥まった場所に置かれてよい。移動ロボット10の本体100内の凹部130内の傾斜したカメラ125の構成を以下でさらに考察する。
ロボット10の底部を示す図1B、並びに、ロボット10の制御装置回路605及び制御装置回路605と共に動作可能であるロボット10のシステムのブロック図を描く図1Cに示されるように、移動ロボット10は、フロア表面を横断させるようにロボット10を操作することができる右側の駆動ホイール・モジュール111a及び左側の駆動ホイール・モジュール111bを有する、本体100の下方に位置する駆動装置111によって支持される本体100を有する。実装形態では、この駆動装置は、その全体が参照により本明細書に組み込まれる特許文献1で説明されるロボットの駆動装置である。多くの実装形態で、移動ロボット10は、一般的な屋内環境内の狭いスペースを通って移動ロボット10がナビゲートできるように、フロア表面から4インチ以下の高さである。
移動ロボット10は、駆動コマンドに基づいてその駆動装置111を作動させるように構成され得る。いくつかの実施例では、駆動コマンドは、x成分、y成分及びθ成分を有することができ、制御装置回路605によってコマンドが発せられ得る。移動ロボットの本体100は、成形された本体の前側半分に相当する前方部分105と、成形された本体の後方半分に相当する後方部分110とを有することができる。駆動装置は、制御装置回路605に走行距離測定を提供することができる右側及び左側の被駆動ホイール・モジュール111a、111bを有する。ホイール・モジュール111a、111bは本体100によって画定される横軸Xに実質的に沿うように配置され、それぞれのホイール113a、113bを駆動するそれぞれの駆動モータ112a、112bを有する。駆動モータ112a、112bは本体100に着脱自在に接続され得(例えば、固定具を介するか、又は、工具なしの接続を介する)、ここでは駆動モータ112a、112bは任意選択でそれぞれのホイール113a、113bの実質的に上に配置される。ホイール・モジュール111a、111bがシャーシに着脱自在に取り付けられ得、ばねにより清掃表面に係合され得る。移動ロボット10は、ここでは円形本体100の前方部分である移動ロボットの本体100の一部分を支持するように配置されるキャスタ・ホイール116を有することができる。スクウェア・フロント又は墓石形状のロボットの本体100などの、片持ち式の清掃ヘッドを有する他の実装形態では、キャスタ・ホイールがロボットの本体100の後方部分に配置される。移動ロボットの本体100は、移動ロボット10の任意の電気部品に電力供給するための電源(例えば、バッテリ117)を支持する。
図1A及び1Bを再び参照すると、移動ロボット10は、本体100によって画定される互いに対して垂直である3つの軸:横軸X、前後軸Y、及び垂直方向の中心軸Z、を基準としての移動の種々の組み合わせを介して、清掃表面上を移動することができる。前後軸Yに沿う移動の前方方向をFで示し(以下では「前方(forward)」と称される場合もある)、前後軸Yに沿う後方駆動方向をAで示す(以下では「後方(rearward)」と称される場合もある)。横軸Xは、ホイール・モジュールの中心点によって画定される軸に実質的に沿うように、ロボットの右側R及び左側Lの間を延在する。
多くの実施例では、本体100の前方部分105はバンパ115を担持し、このバンパ115は、移動ロボット10の駆動経路内にある障害物を含めた(しかし、これに限定されない)事象を検出する(例えば、バンパ・センサ・システム550の1つ又は複数のセンサを介する)ために利用され得る。移動ロボット10の行動プログラム(behavioral programming)にしたがって、事象(例えば、障害物、崖、壁)に応じてロボット10を操作する(例えば、検出された障害物から離れるように後退する)ようにホイール・モジュール111a、111bを制御することによって、バンパ115、崖センサ119a〜119f及び1つ又は複数の近接センサ120a〜120nによって検出される事象に応答することができる。
示されるように、ユーザ・インターフェース126が本体100の頂部分上に配置され、1つ又は複数のユーザ・コマンドを受信するために並びに/或いは移動ロボット10の状態を表示するために使用され得る。ユーザ・インターフェース126は、ロボット10によって担持される制御装置回路605に通じており、ユーザ・インターフェース126によって受信される1つ又は複数のコマンドが、ロボット10による清掃ルーチンの実行を開始することができる。
移動ロボット10は、ロボット10の本体100内の、トップ・カバー108の下方に埋め込まれる、カメラ125のナビゲーション・システム120をさらに有することができる。ナビゲーション・システム120は、周囲環境の画像を捕捉する1つ又は複数のカメラ125(例えば、標準的なカメラ、体積点群撮像カメラ(volumetric point cloud imaging camera)、三次元(3D)画像化カメラ、深度マップ・センサ(depth map sensor)を備えるカメラ、可視光カメラ、及び/又は、赤外線カメラ)を有することができる。任意選択の一構成では、カメラ125は、移動ロボット10の移動軸(例えば、F又はA)に対して鋭角をなすように位置決めされる環境の画像を捕捉する。例えば、図22に示されるように、フロア表面から4インチ以下である頂部表面108を有するロボット10の実装形態では、垂直方向において約50度〜60度の円錐台に広がる視野と、水平方向から上方に約30度の角度をつけられる光軸155とを有する、ロボット10の頂部表面108の下に設置されるカメラ125が、一般に3〜14フィートの高さのところにある環境内の特徴的形状を検出することになる。例えば、このようなカメラの設定を有するこのような寸法の移動ロボット10は、3フィートの距離のところで約6インチから4.5フィートの高さの対象、5フィートの距離のところで約9インチから7.5フィートの高さの対象、10フィートの距離のところで約1.2フィートから14フィートの高さの対象を視認することになる。ドア・フレーム、額縁、及び、他の動かない家具並びに対象の周りで撮像される特徴的形状などの特徴的形状が変化しないところの領域にカメラ125の視野の歪みのない中央部分の焦点を合わせることにより、ロボット10は高い信頼性の目印を繰り返し特定し、それにより環境内での位置の特定及びマッピングを正確に行う。
これらの実施例では、カメラ125のレンズ140(図2A及び2B)は上方向に角度をつけられ、それにより、主に、通常の屋内環境において、移動ロボット10を囲む、壁、壁・天井の接合部分、及び、天井の一部分のような特徴的形状を多く有する変化しない領域に対して焦点の合った高い信頼性の歪みのない部分を有する画像を捕捉するようになる。上述したように、居住用住宅環境を含めた(しかし、これに限定されない)多くの環境が、ナビゲーションを実施するのに有用である特徴的形状及び/又は目印を提供する、壁に掛かっており且つ寄り集まった多様な動かない対象を有する。ドア及び窓の枠、絵画、並びに、大きい家具などの、約2〜15フィート(例えば、3〜10フィート、3〜9フィート、3〜8フィート)の領域で通常得られる対象はほとんど変位せず、したがって撮像される特徴的形状の高い信頼性の幾何学的形状を提供し、それにより、より正確に且つより高い信頼性で特定される目印が作成されることになる。狭い視野のこのような領域内で高い信頼性の特徴的形状を統合することにより、目印の決定が改善され、ひいては位置の特定の決定が改善される。変位しないアイテムから撮像される多様な目立つ特徴的形状を統合することにより、移動ロボット10は高い信頼性の目印のマップを構築する。
カメラ125は、移動ロボット10の本体100によりカメラ125の視野の下側周囲部分が遮蔽されることがないように、任意選択で傾斜させられ得る。あるいは、実装形態では、移動ロボット10の本体100は、傾斜したカメラ125の視野の下側部分を部分的に遮蔽し、制御装置回路605が、特徴的形状を撮像するときに視野のこの部分を放棄する。上述したように、カメラ125を傾斜させることにより、環境内を通って移動ロボット10が移動するときにカメラ125の視野に跨って観測される視差を拡大することができる。ある実装形態では、移動ロボット10は、透視投影を、狭い視野のレンズの真の結像特性に対しての良好な近似とすることができるように、十分に狭い視野を有する光学系を備える傾斜したカメラ125を採用する。その後の画像処理は画像を修正することなく実施され得、カメラ125は、歪みも導入することになる広角レンズよりも高い角度分解能で特徴的形状を観測することができる。
カメラ125によって捕捉される画像は、動作環境内を動き回らせるように移動ロボット10を操作するために行われるアクションに関する知的決定を行うのを目的として、VSLAMプロセスで使用され得る。図1A〜1C及び2A〜2Bでは、ナビゲーション・システム120のカメラ125は、移動ロボット10の頂部表面108の下の中央に位置する凹部130内に含まれるものとして示されているが、移動ロボット10のナビゲーション・システム120の一部を形成するカメラ125は、付加的に又は選択的に、フロント・バンパの上又は中、及び、移動ロボットの側部に沿う位置を含めた、移動ロボット10上の1つ又は複数の位置及び向きのうちの任意の位置及び向きに配置されてよい。
移動ロボット10は、ナビゲーション・システム120のカメラ125に加えて、高い信頼性で確実に自律的に移動するのを達成するための多様な種類のセンサ・システム500を有することができる。追加のセンサ・システム500は、環境内で行われるアクションに関しての知的決定をロボットにより行うのを可能にするのに十分な程度で移動ロボット10の環境を知覚するように互いに協働して使用され得る。多様なセンサ・システムには、限定はしないが、障害物検出・障害物回避(obstacle detection obstacle avoidance、ODOA)センサ、通信センサ、ナビゲーション・センサ、距離測定センサ、近接センサ、接触センサ(例えば、バンパ・センサ)、ソナー、レーダー、LIDAR(遠くにあるターゲットの距離を測定するために及び/又は他の情報を見出すために散乱光の特性を測定する光学的リモート・センシングを伴ってよい光検知測距(Light Detection And Ranging))、及び/又は、LADAR(Laser Detection and Ranging(レーザ検知測距))を含む、移動ロボット100によって支持される1つ又は複数の種類のセンサが含まれてよい。いくつかの実装形態では、センサ・システムが、測距ソナー・センサ(ranging sonar sensor)、近接崖検出器(proximity cliff detector)119a〜119f、近接センサ120a〜120n(例えば、ロボット10の側壁の外を見る近接センサのアレイとしての、限定されない数である「n」)、バンパ・センサ・システム550内にある接触センサ、レーザ・スキャナ、及び/又は、イメージング・ソナーを有する。
ロボットのプラットフォーム上にセンサを配置することにはいくつかの課題がある。1つ目は、センサが、通常は、移動ロボット10の周りの対象領域を最大源にカバーするように配置されることである。2つ目は、センサが、通常は、ロボット自体によりセンサが塞がれることを絶対最小とするように配置されることであり、本質的には、センサはロボット自体により隠れることになるように配置されるべきではない。3つ目は、センサの配置及び設置が、プラットフォームの工業デザインの残りの部分に対して侵入的であるべきではないことである。美的観点では、目立たないように設置されるセンサを備えるロボットがそうでない場合よりも魅力的であると考えることができる。有用性に関しては、センサは、通常のロボットの動作に干渉しない(例えば、障害物にひっかからない)ように設置されるべきである。
移動ロボット10のナビゲーション・システム120の実装形態で採用され得る追加のオプションを以下で考察する。
機械視覚システム
環境を通ってナビゲートするために、移動ロボット10が、その周囲環境の特徴を確認することを目的として多様な異なる種類のセンサから集められる情報を使用することができる。上述したように、移動ロボット10は、周囲環境の画像を捕捉する1つ又は複数のカメラ125を有するナビゲーション・システム120を使用する。環境内での移動ロボット10の位置の特定及びマッピングで使用されるために、画像がVSLAMプロセスに提供され得る。図2Aは図1Aに示される移動ロボット10の傾斜したカメラ125の上面斜視図を示し、図2Bは断面図を示す。特に、図2A(及び、対応する図2B)は、移動ロボット10の本体100内の凹形構造130内に収容されてレンズ・カバー135によって覆われる傾斜したカメラ125を示す。図2B及び22に示されるように、カメラ125は、移動ロボット10の移動方向を画定する水平軸に対して鋭角φをなす光軸155を備えるカメラ・レンズ140を有する。このようにして、レンズ140は、通常の屋内環境内において、壁、壁・天井の交差部分、及び、低い程度で天井を捕捉するような方向に主に向けられる。例えば、図22に示されるように、フロア表面2205から4インチ以下である頂部表面108を有するロボット10の実装形態では、垂直方向において約50度〜60度の視野角度δを有する円錐台に及ぶ視野と、水平方向から上方に約30度の鋭角φのところにある光軸155とを有する、移動ロボット10の頂部表面108の下に設置されるカメラ125が、概して3〜14フィートの高さのところにある環境内の特徴的形状2215を検出することになる。例えば、このようなカメラの設定を有するこのような寸法の移動ロボット10は、3フィートの距離Dwのところで約6インチから4.5フィートの高さにある対象、5フィートの距離Dwのところで約9インチから7.5フィートの高さにある対象、及び、10フィートの距離Dwのところで約1.2フィートから14フィートの高さにある対象を視認することになる。ドア・フレーム、額縁2215、及び、他の動かない家具、並びに、容易に撮像されるような特徴的形状の幾何形状を有する対象のところで撮像される特徴的形状などの特徴的形状が変化しないところの、多くの特徴的形状を有する領域に、傾斜したカメラ125の歪みのない視野の焦点を合わせることにより、ロボット10は高い信頼性の目印を繰り返し特定し、それにより環境内での位置の特定及びマッピングを正確に且つ効率的に行う。これは特に、ロボット10のミッションを中断させるような誘拐イベントの後で再び位置を特定する場合に有用である。ある位置から別の位置まで移動するか或いは暗い部屋に入るか又は家具の領域の下に入るロボット10は、これらの高さのところにある特徴的形状の特有な組を迅速に特定し、その位置を容易に且つ厳密に知る。変化しない天井、或いは、タイルを用いる落天井又は一様な間隔の照明フィーチャを備える天井などの反復的な特徴的形状を備える天井に向けられるカメラではその位置を容易には知ることにならず、部屋の角部などの、位置を特定すべき特有な特徴的形状を探し出すことを必要とする。したがって、本発明の移動ロボット10は効率的であり、マップ上で目印が認識可能であるような領域まで無造作に移動することを必要とすることなく、有用な位置でその清掃ルーチンを正確に再開する。
図22の実装形態では、カメラ125の視野は、35度の上側の角度β及び95度の下側の角度ψにおいて家庭用の壁などの垂直方向平坦表面に当たり、光軸155が60度の下側の角度τで垂直方向平坦表面に交差する。より小さい視野を有するカメラ125では、壁の特徴的形状は接近するにつれて、ずっと早くから有用なものとなる。例えば、実装形態では、ロボット10は、すぐ上で説明したように壁2210に向けられ、真っ直ぐ前方を見ているカメラの分解能の3倍に相当する50度の視野(例えば、壁からの距離Dwが8フィートで、真正面にある特徴的形状については1インチ当たり約12ピクセルであり、8フィートの高さの特徴的形状については1インチ当たり約6ピクセルである)を有する傾斜したカメラ125を有する。最も高い分解能を有する特徴的形状は壁上の最も低いところの特徴的形状であることから、カメラ125はこれらの特徴的形状を逃さないように方向付けられる。図22のカメラ125の構成はより追跡しやすいオプティカル・フローを作るが、視野の少なくとも半分を45度を超えて有することにより高いピクセル数を維持している。カメラ125の視野の中にあるロボット10から45度のところにある特徴的形状は、移動ロボット10と同じ速度でカメラ125の視野のちょうど中央を素早く上方に移動することになる。実施例では、移動ロボット10が秒速220mmから秒速450mmの間の速度で移動し、好適には、秒速約306mmつまり秒速1ftの速度で移動する。移動ロボット10が壁2210に向かって前進するとき、すべての対象が視野内で大きくなる。45度未満の特徴的形状は、45度のところにある特徴的形状と比較して、よりゆっくり跡を残し、上方及び横方向に加速していき、45度を超える特徴的形状は、45度のところにある特徴的形状と比較して、より速く跡を残し、より迅速に上方に加速していく。実装形態では、45度未満の特徴的形状は秒速約1ft未満で跡を残し、45度を超える特徴的形状は1ftを超えて跡を残すことになる。実装形態では、第1の輪郭線ピクセルの組は、移動ロボット10の自己運動(ego-motion)より速いと思われる速度で垂直方向に跡を残し、第2の輪郭線ピクセルの組は、ロボットの自己運動と等しいと思われるか又はそれよりも低いと思われる速度で垂直方向に跡を残す。実装形態では、カメラ125はフロアから6インチ未満のところに配置され、50度の視野が、水平方向の上方に−10度から90度の間で限定される50度の範囲に及ぶように方向付けられ(例えば、30度〜80度で延在する)、カメラ125は、移動ロボット10が壁2210から3〜10フィートの間の距離Dwにある場合において移動ロボット10の前方の3から8フィートの間の高さのところにある壁の視認部分に限定されるように方向付けられる。
図2A及び2Bの実装形態を再び参照すると、レンズ・カバー135がやはり凹形構造130内へと押し下げられており、移動ロボット10の頂部表面108の下に配置される。加えて、レンズ・カバー135はカメラの光軸155に対して鋭角αをなすように位置合わせされ、これは、凹形構造130の開口部を形成する平面とカメラ125の光軸155との間の鋭角φより大きい。実施例では、鋭角αは15度から70度の間の範囲であり、鋭角φは10度から60度の間の範囲である。光軸155に対してレンズ・カバー125に角度をつけることにより、カメラ125により特徴的形状を効果的に撮像するのを妨げる可能性がある光の反射及び/又は屈折などの望ましくない撮像の問題が生じることが防止される。
上述したように、移動ロボット10は、透視投影を、狭い視野のレンズの真の結像特性に対しての良好な近似とすることができた方法で画像を提供する狭い視野のレンズ140を任意選択で有することができる。狭い視野のレンズ140が移動ロボット10によって利用される場合、移動ロボット10からレンズ140への機械的応力の伝達がレンズを歪ませる可能性があり、画像処理パイプラインの一部として複雑な歪み補正プロセスを導入することにより狭い視野のレンズ140を利用することの利点のうちのいくつかを減殺し得る。レンズ・ホルダのデザインは、移動ロボット10からレンズ140への機械的応力の伝達を防止すること及びレンズ140を歪ませるのを回避することにおいて重要な役割を果たす可能性がある。移動ロボット10のカメラ125内で任意選択で利用され得るレンズ・ホルダの実装形態を以下でさらに考察する。
レンズ・ホルダ
図3A〜3Cは、移動ロボット10からレンズ140への機械的応力の伝達を原因としてカメラのレンズ140において起こり得るレンズの変形を防止するレンズ・ホルダ310の実装形態を描いている。図3Aは、カメラのレンズ140を保持するためのレンズ・ホルダ310を示す。レンズ・ホルダ310はスパイダー・リブ330の組によって支持されるねじボス320の組に接続される。図3Bは、レンズ・ホルダ310の側面図を示す。特に、この図は、ねじボス320の底部がレンズ・ホルダの本体310の上方の一定の距離のところに配置されていることを示す。示されているレンズ・ホルダ310では、ねじボス320はレンズ・ホルダの本体310の上方の0.5mmのところに配置されている。レンズ・ホルダの本体310の上方にねじボス320を配置するときの具体的な距離は、通常、所与の用途の要求に依存する。図3Cは、変形のほぼすべてがスパイダー・リブ330のところで起こり(例えば、暗い色の領域に示される応力)、レンズ・ホルダの本体310内では変形がほぼ起こっていないことを示している。スパイダー・リブ330なしでねじボス320に直接にレンズ・ホルダの本体310を接続する設計では、しばしば、レンズ・ホルダの本体310の全体にわたって非常に大きい変形が生じ、それにより、本体310内で保持されるレンズ140が変形することになる。スパイダー・リブ330を使用することにより、レンズ・ホルダ310は、レンズ・ホルダの本体310の構造を維持しながら、レンズ・ホルダ310をスパイダー・レッグ330上にねじ留めすることにより作用する力の方向を変えることができる。図3A〜3Cを参照してスパイダー・リブを備える一定の範囲のレンズ・ホルダのデザインを上で説明したが、レンズ・ホルダの本体に沿った異なる位置にねじボスに対して異なる高さで配置される3つ以上のスパイダー・リブを含めた、多様なスパイダー・リブの設計構成の任意のものが構築され得る。
図1A〜2Bでは、移動ロボットの本体100のトップ・カバー内に埋め込まれる単一のカメラ125を備える移動ロボット10が示されているが、移動ロボット10は、移動ロボットの本体100に沿う多様な位置に1つ又は複数の鋭角の視角で配置される1つ又は複数のカメラ125を含めた(しかし、これに限定されない)、多様な光学式のカメラ構成のうちの任意のものを有することができる。
前方及び後方のカメラを備える移動ロボット
移動ロボット10は、移動ロボットの本体100の周りに分布される複数のカメラを任意選択で有することができる。特に有利な構成は、前方を向く傾斜したカメラ125及び後方を向く傾斜したカメラ410を使用することを伴う。前方を向く傾斜したカメラ125及び後方を向く傾斜したカメラ410は、任意選択で、移動ロボット10の本体100の頂部108内の個別の凹部130a、130b内に含まれ得、また、図1A及び2A〜2Bを参照して、レンズ・カバー135の後方に単一の凹部130及び傾斜したカメラ125を設置することに関して上で説明した形と同様の形で構成されるレンズ・カバー135a、135bを使用して保護され得る。移動ロボット10の本体100の頂部108内の個別の凹部130a、130b内に含まれる前方を向く傾斜したカメラ125及び後方を向く傾斜したカメラ410を備えるように、且つレンズ・カバー135a、135bを使用して保護されるように構成される移動ロボット10が図4に示されている。特に、図4は、移動ロボット10の前方の環境を捕捉するような方向に向けられる前方を向く傾斜したカメラ125と、移動ロボット10の後方の環境を捕捉するような方向に向けられる後方を向く傾斜したカメラ410とを備えるように構成される移動ロボット10を示す。図22に関連させて上で説明した実施例とほぼ同じように、カメラ125、410は、3〜8フィートの高さの範囲のところに位置する動かない特徴的形状に約50度(例えば、45度、55度)の高い円錐台の視野の焦点を合わせるように、約30度(例えば、25度、35度)の角度をつけられている。実施例では、カメラは、3〜8フィートの高さの範囲のところに位置する動かない特徴的形状に約60度(例えば、55度、65度)の高い円錐台の視野の焦点を合わせている。前方及び後方のカメラ125、410は移動ロボットの本体100内の個別の凹形構造130a、130b内に埋め込まれ、各々が、それぞれのレンズ・カバー135a、135bによって覆われている。各レンズ・カバー135a、135bは、傾斜したカメラ125、410を含むその対応する凹形構造130a、130bの開口部から奥まった場所にあり、凹形構造130a、130bの開口部の平面(例えば、頂部表面108)に対して鋭角αをなすように位置合わせされている。
図4に示される形で構成される移動ロボット10の前方及び後方を向く傾斜したカメラ125、410の断面図が図5に概念的に示されている。傾斜したカメラ125、410は、各々のカメラ125、410のそれぞれの光軸155a、155bが、移動ロボット10の前方及び後方の移動方向において頂部表面108の上方に鋭角φをなすように位置合わせされるように、配置される。このような角度でカメラ125、410を設定することにより、前方を向くカメラ125が、主として、一般的な屋内環境内で、移動ロボット10の真正面にある、壁や天井、テレビ棚、カウチ、及び、調理台などの大抵は動かない家具の天板の方に向けられ、後方を向くカメラ410が、主として、前方方向に移動しているときの移動ロボット10の後方にある、壁や、テレビ棚、カウチ、及び、調理台などの大抵は動かない家具のシーリング・トップの方に向けられる。前方及び後方を向く傾斜したカメラ125、410を使用することにより、移動ロボット10は、高い密集度の信頼できる静止して変化しない特徴的形状を観測することが可能となり、それにより、これらの特徴的形状を検出するときの角度精度を維持しながら、VSLAMで使用されるための繰り返し認識可能である特異的に特定可能な目印を周囲環境内に構築することが可能となる。さらに、これらの目印が前方のカメラ125の視野内にない場合に、傾斜した後方のカメラ410により、傾斜した前方のカメラ125により以前に使用された同じ目印をVSLAMプロセスが使用するのを可能となる。これは、例えば、移動ロボット10がその環境内を「コーンロー」パターンでナビゲートするように構成される場合や、移動ロボットが新しい位置まで強制的に移動させられるか又は照明の変化を原因として姿勢を見失うような誘拐イベントの後で位置の特定を再開する場合に、特に有用である。このような状況では、戻り経路上をナビゲートするときには、移動ロボット10が方向転換するごとに、前方のカメラ125を使用して観測された同じ目印が後方を向くカメラ410によって捕捉される。さらに、センサ分解能が同じであると仮定して、後方を向くカメラ410は、移動ロボット10が例えば360度全方向カメラを使用していた場合と比較して、より高い角度精度で目印を検出することができる。これは、周囲環境内で特徴的形状を捕捉するときに狭いレンズを用いて達成され得る空間的分解能の向上がその理由である。
いくつかの実施例では、両方のカメラ125、410が周囲環境の画像を捕捉することができ、これらの画像をVSLAMプロセスに提供することができる。特定の実施例では、カメラ125又は410のうちの一方のみがVSLAMプロセスに入力画像を提供する。例えば、移動ロボット10は、目印に向かって前方方向に移動するときに目印に関連する特徴的形状の組を検出して追跡するように、前方を向くカメラ125を使用することができ、また、方向を切り替えて、目印から離れるように移動するときに同じ特徴的形状の組を検出して追跡するように、後方を向くカメラ410を使用することができる。
移動ロボット10は、傾斜した前方及び後方のカメラ125、410の両方を使用して周囲環境の画像を同時に捕捉することができ、それにより、単一のカメラ125を使用可能とするロボット10よりも短い時間で周囲環境のより大きい部分を捕捉することができる。移動ロボット10は任意選択で、角度分解能を低下させて周囲環境をより大きく捕捉するように、広角レンズ、全方向レンズ、パノラマ・レンズ又は魚眼レンズを利用することができる。しかし、入力画像を提供するために、例えばパノラマ式カメラと比較して各々が狭い視野を有する2つのカメラ125、410を使用することにより、VSLAMプロセスは、パノラマ・レンズ又は同様の広い視野のレンズを使用する場合に得られる数と同様の数の特徴的形状を検出することができるが、狭い視野のレンズでは、各特徴的形状がより高い角度分解能で捕捉される(センサ分解能が同等であると仮定する)。特に、狭い視野は垂直方向において約50度〜60度の円錐台に拡がり、概ね3〜14フィートの高さのところにある環境内の特徴的形状を検出することができる。後で考察するように、機械視覚センサ・システム120によって捕捉される画像内で可視である特徴的形状の位置のより高い精度での測定をVSLAMプロセスに提供することで、VSLAMプロセスは精度よく環境をマッピングして移動ロボット10の位置の位置を特定することが可能となる。
図4及び5に関して、前方及び後方を向く傾斜したカメラ125、410を含む移動ロボット10の種々の任意選択の構成を上で説明したが、移動ロボット10は任意選択で、移動方向に位置合わせされる前方カメラ(図示せず)と組み合わされる傾斜した前方のカメラ125、異なる角度で傾斜する複数の前方を向くカメラ、ステレオ対のカメラ、隣接するか又は部分的に重なり合う視野を有する2つ以上の傾斜したカメラ、並びに/或いは、例えばロボット10のスロープ状の頂部表面108に対応するように異なる角度で角度をつけられる前方のカメラ125及び後方のカメラ140を含めた、多様なカメラ構成のうちの任意のものを使用して構成されてもよい。移動ロボット10のナビゲーション・システム120内の1つ又は複数の傾斜したカメラ125によって捕捉される画像データを使用してVSLAMを実施するプロセスは、通常、制御装置回路605によって実施され、移動ロボット10によってサポートされる他の行動を実施するのにも関与してよい。本発明の種々の実施例によるロボットの制御装置605及びロボットの制御装置によって実施されるVSLAMプロセスを以下でさらに考察する。
ロボットの制御装置
移動ロボット10の行動は、通常、移動ロボット10の周囲の動作環境の特徴に基づいて及び/又は移動ロボット10の状態に基づいて多数の行動から選択される。多くの実施例では、環境の特徴は、ナビゲーション・システム120によって捕捉される画像から確認され得る。捕捉される画像は、移動ロボット10の周りの環境をマッピングするための及び環境内での移動ロボット10の位置を特定するための1つ又は複数のVSLAMプロセスによって使用され得る。
改良されたナビゲーション・システム120を使用してVSLAMで使用され得る移動ロボットの制御装置回路605(以下、「制御装置回路605」)が図6に示されている。ロボットの制御装置回路605は、メモリ625と、ネットワーク・インターフェース660と、入力/出力インターフェース620と通信しているプロセッサ610を有する。プロセッサ610は、シングル・マイクロプロセッサ、マルチプル・マイクロプロセッサ、メニーコア・プロセッサ、マイクロコントローラ、並びに/或いは、ソフトウェア及び/又はファームウェアによって構成され得る任意の他の汎用計算システムであってよい。メモリ625は、視覚測定アプリケーション630、SLAMアプリケーション635、目印の1つ又は複数のマップ640、行動制御アプリケーション645、及び、目印データベース650を含む。メモリ625は、特定の用途の要求に適する、多様な、ソフトウェア・アプリケーション、データ構造、ファイル、及び/又は、データベースのうちのいずれかを任意選択で含むことができる。
目印データベース650は、視覚測定を実施するのに移動ロボット10により利用することができる多数の以前に観測された目印に関連する情報を含み、この視覚測定から相対姿勢が決定され得る。目印は特定の3D構造を有する特徴的形状の集まりとみなされてよい。2Dの特徴的形状、3Dの特徴的形状、スケール不変特徴変換(Scale-invariant Feature Transform、SIFT)記述子を使用して特定される特徴的形状、高速頑健特徴量(Speeded Up Robust Features、SURF)記述子を使用して特定される特徴的形状、及び/又は、二値頑健独立基本特徴(Binary Robust Independent Elementary Features、BRIEF)記述子を使用して特定される特徴的形状、を含めた(しかし、これらに限定されない)、多様な特徴的形状のうちの任意のものが、目印を特定するために利用され得る。移動ロボット10が家庭用清掃ロボットとして構成される場合、目印は、額縁の角部の3D構造に基づいて特定される特徴的形状の組、又は、ドア・フレームの3D構造に基づいて特定される特徴的形状の組であってよい(しかし、これらに限定されない)。このような特徴的形状は部屋内の動かない幾何学的形状に基づくものであり、これらの特徴的形状は照明及び規模がいくらか変化しても、頻繁に変位する環境の下側領域内に位置する対象(例えば、椅子、ゴミ箱、ペットなど)よりは概して容易に認識及び特定される。実装形態では、移動ロボット10上のカメラ125は、低照光環境で特徴的形状を良好に検出するためのIRフィルタを有さない、320×240QVGA、0.0768MPのカメラ(又は、640×480VGPの0.3MPのカメラ)である。実装形態では、特にロボット10が走行間でデータを記憶することなく新しいミッションを開始したり、又は以前に探索されていない領域に入ったりするときは、移動ロボット10は新しい目印を作ることになる。実装形態では、照明の変化により以前は視認されていた特徴的形状が認識不可能となり、検出可能な特徴的形状の数が目印を検出するための特徴的形状の最少の数の閾値未満まで減少する場合も、移動ロボット10が新しい目印を作る。実施例では、目印の閾値の数は、秒速約1ftつまり秒速約306mmの速度において、移動の1フィート当たりで1〜10個の目印の率で、また好適には、ロボットの移動の1フィート当たりで3個の目印の率で、検出されるような特定可能な特徴的形状の一群である。このようにして、ロボット10は、その照明度で認識可能である特徴的形状についての有用なローカライゼーション・マップ(localization map)を構築し、実装形態で、ロボットは、多様な光度、例えば、季節的な照明の変化に関連する時刻やカレンダの日付を含むデータに関連付けられるそれにおいて視認される目印を有する1つ又は複数の永続的なマップを記憶する。さらに他の実装形態では、環境が暗すぎて、特徴的形状を検出するのに照光が不十分である場合、移動ロボット10は、位置を特定するためにフロアに向けられるホイール走行距離測定−光学式デッド・レコニング・ドリフト検出センサ(wheel odometry and optical dead reckoning drift detection sensor)114(図1B)(例えば、LED照光式又はレーザ照光式のマウス・センサ)などの、別のセンサ又は組み合わせのセンサに依存することになる。一実装形態では、目印データベース650は、目印の姿勢と称され得る特定の姿勢から捕捉される目印画像を有する。視覚測定は、目印の姿勢を基準として姿勢を決定することを伴う。視覚測定を容易にするために、目印データベース650は、各目印に関連する特徴的形状の組と、この特徴的形状の組の3D構造とを記憶する。
視覚測定アプリケーション630は入力画像の一部を目印画像に結び付け、入力画像内で特定される目印からの特徴的形状の空間関係と、目印データベース650から検索される目印からの特定される特徴的形状の3D構造とに基づいて、相対姿勢を決定する。入力画像内で特定される目印からの特徴的形状と、特定される特徴的形状の3D構造とに基づいて相対姿勢を決定することには多様な選択肢が存在し、これには、3D構造の剛体変換に基づいて相対姿勢を決定することが含まれ(しかし、これに限定されない)、これは、入力画像内で観測されるものに最も類似する特徴的形状の空間関係を作り出し、それにより再投影誤差を最小にする。あるいは又は加えて、剛体変換により、特徴的形状の観測される空間関係と、視覚測定システム内の誤差原因の統計的特性とを考慮して、最も可能性の高い相対姿勢の推定を得る。相対姿勢を決定するために利用される特定のプロセスに関係なく、目印を形成する特徴的形状の3D構造及び/又は入力画像内で特定される特徴的形状間の空間関係をより正確に測定することにより、相対姿勢の推定の精度が向上する。視覚測定で使用されるための新しい目印を作るためのプロセス及び目印を使用して相対姿勢を決定するためのプロセスを以下でさらに考察する。
再び図6を参照すると、SLAMアプリケーション635は、前の位置の推定と、走行距離測定データと、視覚測定アプリケーションから受信される少なくとも1つの視覚測定とに基づいて、目印のマップ内で移動ロボット10の位置を推定する。上述したように、SLAMアプリケーション635によって利用される視覚測定は、任意選択で、目印データベース650内で特定される目印に関連付けられる目印の姿勢を基準として決定される相対姿勢の推定であってよい。実施例では、SLAMアプリケーション635は、目印のマップに対するロボット10の位置の推定を更新するために、相対姿勢、並びに、走行距離測定データ及び/又はマウス・センサ・ドリフト・データを使用する。移動ロボット10は、その関連する開示の全体が参照により本明細書に組み込まれる、2013年5月17日に公開された「Systems and Methods for VSLAM Optimization」と題する特許文献2、及び、2011年7月14日に公開された「Methods and Systems for Complete Coverage of a Surface By An Autonomous Robot」と題する特許文献3で説明されるプロセスを含む(しかし、これに限定されない)多様なSLAMのうちの任意のものを利用して位置の推定を更新する。次いで、SLAMアプリケーション635は、移動ロボット10の新たに推定された位置に基づいて目印のマップ640を更新することができる。
目印のマップ640は、移動ロボット10を囲む環境のマップ、及び、環境内での移動ロボットの位置に対する目印の位置を含む。目印のマップ640は、マップ内での各目印を表す種々の情報を含むことができ、これには、目印データベース内で目印を表すデータの参照が含まれる(しかし、これに限定されない)。
行動制御アプリケーション630は、周囲環境及び移動ロボット10の状態に基づいて、移動ロボット10の異なる行動の作動を制御する。いくつかの実施例では、画像が捕捉されてSLAMアプリケーション635によって分析されるとき、行動制御アプリケーション645が、移動ロボット10の周囲の環境の把握に基づいて移動ロボット10を如何に振る舞わせるべきかを決定する。行動制御アプリケーション645は、環境の特定の特徴及び/又は移動ロボット10の状態に基づいて、多数の異なる行動から選択することができる。行動には、限定しないが、ロボット10によって作動し得る多くの基本的な行動の中でもとりわけ、壁追従行動(wall following behavior)、障害物回避行動、逃避行動が含まれ得る。
複数の実施例では、入力/出力インターフェース620が、プロセッサ及び/又はメモリと通信する能力をセンサ(しかし、これに限定されない)などのデバイスに提供する。いくつかの実施例では、ネットワーク・インターフェース660が、有線データ通信及び/又は無線データ通信を介して、コンピュータ及びスマートフォン・デバイスなどの遠隔計算デバイスと通信する能力を移動ロボット10に提供する。種々のロボットの制御装置605のアーキテクチャが図6に示されているが、ロボット行動制御装置アプリケーション645を不揮発性ソリッド・ステート・メモリ又は何らかの他の形態の記憶装置上に位置させ、ランタイム時においてメモリにロードさせ、並びに/或いは、多様なソフトウェア、ハードウェア及び/又はファームウェアを使用してロボット行動制御装置アプリケーションを実装するアーキテクチャを含めた、多様なアーキテクチャのうちの任意のアーキテクチャを、ロボットの制御装置回路605の実装形態において利用することができる。上述したロボットの制御装置回路605と同様のロボットの制御装置によって構成される場合の、移動ロボット10の概念的動作を以下でさらに考察する。
移動ロボットの行動制御システム
移動ロボット10は、周囲環境及び/又は移動ロボットの状態に基づいて移動ロボットの行動を決定するために使用される行動制御アプリケーション710を有することができる。移動ロボット10は、特定のセンサ入力によって起動される1つ又は複数の行動と、行動を起動すべきかどうかを決定するアービトレータ(arbitrator)とを有することができる。入力は移動ロボット10を囲む環境の画像を含んでよく、行動は、1つ又は複数の捕捉された画像から確認される環境の特徴に応答して起動され得る。
VSLAMプロセス(しかし、これに限定されない)に基づいて環境内でナビゲートするのを可能にするように構成される移動ロボットの行動制御アプリケーション710が図7に概念的に示されている。移動ロボットの行動制御アプリケーション710は、移動ロボット10によって担持される1つ又は複数のセンサ720(例えば、機械視覚システム、突起センサ、近接センサ、壁センサ、静止状態センサ(stasis sensor)、及び/又は、崖センサ)から、その周囲環境に関する情報を受信することができる。移動ロボットの行動制御アプリケーション710は、センサ760から受信される情報に応答してロボットのリソース725(例えば、ホイール・モジュール)の利用を制御することができ、それにより移動ロボット10に、周囲環境に基づき得る行動を作動させる。例えば、移動ロボット10が環境を清掃するために使用される場合、移動ロボットの行動制御アプリケーション710は、ナビゲーション・システム120から画像を受信し、画像内で検出される障害物及び散乱物を回避しながら環境内を通ってナビゲートさせるように移動ロボット10に指示することができる。移動ロボットの行動制御アプリケーション710は、プログラムされた行動730及びコントロール・アービトレータ(control arbitrator)750を実装するようにプロセッサを構成する非一時的な機械可読命令を含むメモリと通信している1つ又は複数のプロセッサを使用して実装され得る。
プログラムされた行動730は、移動ロボット10の多様な行動を作動させるために使用され得る種々のモジュールを有することができる。特に、プログラムされた行動730は、VSLAMモジュール740及び対応するVSLAMデータベース744、ナビゲーション・モジュール742、並びに、多数の追加の行動モジュール743を有することができる。
VSLAMモジュール740は、その中で移動ロボット10が動作しているところの環境のマッピングを管理し、さらには、マッピングに関しての移動ロボットの位置の特定を管理する。VSLAMモジュール740は、環境のマッピングに関するデータをVSLAMデータベース744内に記憶することができる。これらのデータは、環境のマップ、及び、マップの異なる領域の特徴を含むことができ、これには例えば、障害物を含む領域、横断可能なフロアを含む他の領域、横断した領域、まだ横断していない領域への境界、特定の領域を表す情報の日付及び時間、並びに/或いは、特定の用途の要求に適し得る追加の情報が含まれる。多くの例において、VSLAMデータベース744は環境の境界に関する情報をさらに有し、これには、階段、壁及び/又はドアの位置が含まれる。容易に認識され得るように、移動ロボット10の動作環境をマッピングするために、任意選択で、多くの他の種類のデータがVSLAMモジュール740によって記憶されて利用され得る。VSLAMモジュール740が視覚測定を実施し、SLAMモジュールへの入力として相対姿勢を提供するためにその視覚測定を使用する場合、VSLAMデータベース744は、上述した目印データベース650と同様の目印データベースを有することができる。
ナビゲーション・モジュール742は、環境の特徴に基づいて移動ロボット10を環境の中を通してナビゲートさせるような方法を作動させる。例えば、実装形態では、ナビゲーション・モジュール742は、方向を変えるように、毎秒約306mmの速度で駆動し障害物に近づくときには速度を下げるように、特定の方法(例えば、フロアを磨くように小刻みに動く、側壁を清掃するように壁に押圧される、など)で駆動するように、又は、家庭用充填スタンドまでナビゲートするように、移動ロボット10に指示することができる。
他の行動743は、移動ロボット10の行動を制御するようにも定められ得る。さらに、行動740〜743をさらに効果的にするために、複数の行動の出力の間で調整を行って及び/又は複数の行動の出力を一体につなぎ合わせて、複雑な組み合わせの機能を提供するための別の行動モジュールの入力とすることが可能である。行動740〜743は、移動ロボット10の全体の認識範囲の管理可能な部分を実施することを意図される。
再び図7を参照すると、コントロール・アービトレータ750は、プログラムされた行動730のモジュール740〜743が、任意の他の行動を知る必要なく、各々、移動ロボット10を制御できるようにするのを促進する。言い換えると、コントロール・アービトレータ750は、プログラムされた行動730とロボットのリソース725との間に単純な優先的制御機構を提供する。コントロール・アービトレータ750はプログラムされた行動730の行動740〜743にアクセスすることができ、ランタイムにおいて行動740〜743の間でのロボットのリソース760へのアクセスを制御することができる。コントロール・アービトレータ750は、どのモジュール740〜743がそのモジュールによって要求されるようにロボットのリソース760を制御するか(例えば、モジュールの間の優先度ヒエラルキー)を決定する。行動740〜743は動的に開始及び停止することができ、互いに完全に独立して作動することができる。プログラムされた行動730はまた、互いを補助するように一体に組み合わされ得る複雑な行動を可能にする。
ロボットのリソース760は、1つ又は複数のハードウェア制御装置を備える機能モジュール(例えば、アクチュエータ、駆動装置、及び、それらのグループ)のネットワークであってよい。コントロール・アービトレータ750のコマンドは、通常、所与のアクションを実行するためのリソースに特有のものである。移動ロボット10が構成されるときに有することになる特定のリソースは、通常、移動ロボット10を適合させる特定の用途の要求に応じて決定される。
図6〜7に関連させて特定のロボットの制御装置及び行動制御アプリケーションを上で説明したが、移動ロボット10内では、行動ベースの制御パラダイムに依存しない制御装置を含めた、多様なロボットの制御装置のうちの任意のものが任意選択で利用され得る。再び図1〜4を参照すると、移動ロボット10は、1つ又は複数の傾斜したカメラ125を有することができるナビゲーション・システム120を有する。傾斜したカメラ125によって捕捉される入力画像を使用して、そのプログラムされた行動を推進するために、移動ロボット10がVSLAMプロセスを任意選択で実施することができるやり方を以下でさらに考察する。
VSLAMの概要
移動ロボット10は、環境を通ってナビゲートするために、種々のオンボード・センサからの情報を継続的に検出して処理することができる。環境内をナビゲートするために移動ロボット10により任意選択で使用され得るプロセス800が図8に示されている。プロセスがロボットの行動を決定する(805)。ロボットの行動は、種々の検討事項の中でもとりわけ、移動ロボット10を囲む環境の特定の特徴、移動ロボット10の最新の状態、移動ロボットによって実行されている特定の動作、及び、移動ロボット10によって使用される電源の状態、を含めた種々の要因に基づいて、ロボットの制御装置回路605によって決定され得る。移動ロボット10は、行動がロボット10の姿勢の変更を伴うかどうかを決定する(810)。移動ロボット10が姿勢の変更は必要ではないと決定すると、プロセスは行動を完了し、新しい行動を決定する(805)。さもなければ、プロセスは移動ロボット10の駆動装置111を作動させる(815)。いくつかの実施例では、駆動装置111は、表面を横断させるようにロボットを移動させるために2つ以上のホイール113a、113bを使用する。他の実施例では、駆動装置111は、表面に沿うパッド又はキャタピラの回転に基づいて表面を横断させるように移動ロボット10を移動させる1つ又は複数の回転するパッド又は戦車のようなキャタピラを使用することができる。
移動ロボット10が移動するとき、画像及び走行距離測定データが捕捉される(820)。本発明の任意選択の一態様では、移動ロボット10は、前の画像を捕捉した後、画像間の20cm(しかし、これに限定されない)など、ある閾値距離を移動した後で各々の新しい画像を捕捉する。画像の捕捉の間のこの特定の距離は、通常、移動ロボット10の速度、カメラ125の視野、及び、特定の移動ロボット10の構成の実時間処理能力を含めた(しかし、これに限定されない)要因によって決定される。複数の実施例では、走行距離測定データは1つ又は複数の異なる種類のオドメータによって提供され、これには、ホイールの回転に基づいて走行距離測定データを捕捉するホイール・オドメータ、又は、任意の進行方向のドリフトを補正することを含めて、連続する画像の間で観測されるオプティカル・フローに基づいて追跡表面の画像を捕捉して移動した距離を決定することにより走行距離測定データを得るオプティカル・フロー走行距離測定システムが含まれる。特定の用途の要求に適する限り、他の実施例が追加の走行距離測定センサ又はこれらのセンサの組み合わせを使用することもできる。
走行距離測定データと、傾斜したカメラ125によって捕捉される捕捉画像とに基づいて、移動ロボット10により視覚測定結果が生成され得る(825)。いくつかの実施例では、プロセス800は、目印データベース内に記憶される目印画像の組に新しい画像を合わせ、そのように合わせるごとに、3D構造と、新しい視野と目印画像との間の特徴的形状の相関関係とを考慮して、目印の目印姿勢に対して決定される相対姿勢を推定する。
次いで、視覚測定データ及び走行距離測定データを使用して、SLAMプロセスが実施され得る(830)。移動ロボット10は、任選選択で、目印のマップを維持することができ、また、このマップ内での移動ロボット10の位置を推定するためにSLAMプロセスを実施することができる。SLAMプロセスは、目印のマップを更新することもできる。
プロセスが完了しているかどうかに関する決定が移動ロボット10によって行われ(835)、そうである場合にはプロセスが完了する。さもなければ、プロセスが新しい行動を決定する(805)。
図8を参照して上で説明したプロセスと同様のナビゲーション・プロセスの性能は、図2A、2B及び22を参照して上で説明したように、移動ロボット10の前方移動方向に対してその光軸155により鋭角を形成するように傾斜させられたカメラ125を利用することにより、大幅に向上させることができる。同様に、カメラの角度分可能を向上させることにより(狭い視野のカメラを利用する、及び/又は、カメラ・センサの分解能を向上させる)、ナビゲーション・プロセスの有効性を上げることができる。目印を生成するときの3D構造の測定、及び、ナビゲーション中に捕捉される入力画像内で特定される特徴的形状の空間関係の測定に関して、観測される視差及び/又は空間分解能に対する移動ロボット10のナビゲーション・プロセスの感度を以下でさらに考察する。
目印の生成及び目印に基づくナビゲーション
移動ロボット10は、ナビゲーションを実施するために、視覚的に認識可能である特定の3D構造を有する特徴的形状の集まりである目印を利用することができる。移動ロボット10は、環境の画像を捕捉して画像間での共通の特徴的形状を観測及び統合することにより、目印を作る。画像を重ね合わせ、各々の特徴的形状の間の視差を測定し、画像の捕捉の間での姿勢の変化を推定することにより、既知の速度で移動する移動ロボット10は各々の特徴的形状までの距離を測定することができる。次いで、これらの距離は、目印を定義する特徴的形状の組の3D構造を決定するために利用され得る。上で考察したように、目印を形成するいくつかの又はすべての特徴的形状が引き続いて観測され、特徴的形状の3D構造の情報が、移動ロボット10の相対姿勢を推定するために利用され得る。実装形態では、移動ロボット10は、位置の特定を行うために、移動した距離にわたって2つ以上の画像を取ることができる。
ナビゲーションで使用されるための新しい目印を特定するために移動ロボット10により任意選択で利用され得るプロセスが図9に示されている。プロセス900は、入力画像のシークエンスを得ること(902)を含む。この画像のシークエンスはたった2つの画像しか含まなくてもよい。2つ以上の入力画像内の特徴的形状の間の相関関係が確立され得る(904)。2Dの特徴的形状、3Dの特徴的形状、スケール不変特徴変換(Scale-invariant Feature Transform、SIFT)記述子を使用して特定される特徴的形状、高速頑健特徴量(Speeded Up Robust Features、SURF)記述子を使用して特定される特徴的形状、及び/又は、二値頑健独立基本特徴(Binary Robust Independent Elementary Features、BRIEF)記述子を使用して特定される特徴的形状、を含めた(しかし、これらに限定されない)、多様な特徴的形状のうちの任意のものが利用され得る。一実装形態では、ロボット10はFAST SLAM及びBrief記述子を使用する。特徴的形状の記述子のみを使用することにより、又は、走行距離測定データによって行われる移動の推定を利用することにより、推定相関関係が得られ得る。相関関係を確立するプロセス(904)は、2つ以上の入力画像の間で一致するものとして不正確に特定される特徴的形状を排除するために、幾何学的制約を適用することを任意選択で伴ってよい。
次いで、各々の入力画像内で観測される特徴的形状の位置と、特定される特徴的形状の3D構造のための特定の推定を考慮する場合に予測される位置との間の再投影誤差を最小にすることにより、特定される特徴的形状の3D構造が決定され得る(906)。入力画像が捕捉されたときの移動ロボット10の相対姿勢が不確実であることから、移動ロボット10は、特定される特徴的形状の3D構造を決定すること(906)と、入力画像の捕捉中の移動ロボットの相対的な移動を推定することとを同時に行うために、バンドル調整を含めた(しかし、これに限定されない)技法を使用することができる。移動ロボット10は、3焦点テンソル法(trifocal tensor method)を含めた(しかし、これに限定されない)、移動から構造を決定するための多様なプロセスのうちの任意のものを任意選択で使用することができる。
新たに特定された目印に関する情報が目印データベースに追加され得る(908)。移動ロボット10は、入力画像のうちの1つ又は複数の入力画像又は入力画像の一部、及び、特定の入力画像の捕捉の元となった姿勢の推定を、目印画像及び対応する目印の姿勢として、目印データベース内の目印に任意選択で関連付けることができる。さらに、移動ロボット10は、任意選択で、目印に関連付けられた特徴的形状及び/又は特徴的形状の記述子と、特徴的形状の3D構造の記述と、を記憶することができる。容易に認識され得るように、データベースの特定の構造は、通常、特定の用途の要求に基づいて決定され、観測される特徴的形状に基づいて効率的な近似最近傍探索を実施するためにkdツリーの集まりを使用することを含むことができる(しかし、これに限定されない)。次いで、移動ロボット10によって目印データベースに追加される情報が、その後のナビゲーション中に移動ロボット10により相対姿勢を決定するために利用され得る。
前に作られた目印を使用して相対姿勢を決定するのに移動ロボット10により任意選択で利用され得るプロセスが図10に示されている。プロセス1000は、1つ又は複数の入力画像を得ることを含む(1002)。移動ロボット10は、入力画像内の特徴的形状を、目印データベース内の種々の目印に関連付けられた特徴的形状と比較することができる(1004)。入力画像内で特徴的形状を特定するために使用されるプロセスは、通常、新しい目印を作るときに特徴的形状を特定するために利用されるものと同じプロセスである。
入力画像内の特徴的形状と目印データベース内の1つ又は複数の目印の特徴的形状との間に十分な類似性が存在する場合、移動ロボット10は、目印データベースからの既知の目印が入力画像内で可視であることを決定することができる(1006)。次いで、移動ロボット10は、その目印が可視となっている入力画像内で観測される特徴的形状の空間関係に最も厳密に適合する目印の特徴的形状の3D構造の再投影に基づいて、目印データベース内の目印に関連付けられる目印の姿勢に対するロボットの姿勢を推定することができる(1008)。相対姿勢は、任意選択で、目印データベース内の目印に関連付けられる目印の姿勢に対する、平行移動の記述及び/又は移動ロボット10の回転であってよい。相対姿勢を示すための具体的な手法は、主に、特定の用途の要求によって決定される。最も可能性の高い相対姿勢の推定を決定するプロセスは移動ロボット10の構成に応じて変化してよい。移動ロボット10の任意選択の一構成では、入力画像内で可視される目印の特徴的形状の再投影誤差を最小にするために、コスト測定基準が利用される。移動ロボット10の別の任意選択の構成では、推定プロセスが、目印を形成する特徴的形状の3D構造及び/又は目印の姿勢の位置を推定するプロセスのうちの1つ又は複数に関連する可能性のある誤差原因を考察する。移動ロボット10の特定の一構成では、相対姿勢の最初の推定が、目印を形成する特徴的形状の3D構造の再投影を使用して形成され、最尤推定法が実施され、特徴的形状の3D構造及び相対姿勢が変化可能となることが考えられる。移動ロボット10の別の構成では、走行距離測定データ、目印を作るために使用される画像内の特徴的形状の位置、目印の3D構造、及び/又は、入力画像内で可視である目印に関連付けられる特徴的形状の空間関係、のうちの1つ又は複数に基づいて相対姿勢を決定するために、多様な技法のうちの任意のものが利用され得る。
移動ロボット10が入力画像内で既知の目印の存在を検出しない場合、移動ロボットは、任意選択で、新しい目印を作ること(1010)を試みることができ、又は、単純に別の入力画像を入手してもよい。
移動ロボット10が、SLAMプロセスに、特定された目印の識別及び推定された相対姿勢を提供し、SLAMプロセスが全体の姿勢の推定を決定することができ、及び/又は、移動ロボットによって維持される目印の全体のマップを更新することができる。上述したように、移動ロボット10は、任意選択で、入力として既知の目印を基準として決定される相対姿勢の推定に依存する多様なSLAMプロセスのうちの任意のものを使用して構成され得る。実装形態では、ロボット10はFAST SLAM及びBRIEF記述子を使用する。
新しい目印を作るための及び前に作られた目印に基づいてナビゲートするためのプロセスは、特徴的形状の組の3D構造の再投影を使用して確立され得る空間関係に依存する。図11〜16Bを参照して後でさらに考察するように、移動ロボット10の前方移動方向に対してのカメラの光軸155の位置合わせ(alignment)は、移動ロボットのナビゲート可能である精度において重要な役割を果たし得る。移動ロボット10の前方移動方向に対して真正面となるようにカメラ125を位置合わせすることにより、再投影プロセスの精度に悪影響を与える可能性がある。カメラがその光軸155に沿って目印に向かって移動するとき、まったくといってよいくらい視差が観測されず、再投影プロセスがスケールの変化のみに依存する。移動ロボット10の前方移動方向の上方に、その光軸155により一定の角度を形成するように傾斜する少なくとも1つのカメラ125を備えるように移動ロボット10を構成することにより、観測される視差を拡大することができ、再投影を利用して行われる測定の精度を向上させることができる。
光軸155を移動ロボットの前方移動方向に位置合わせするように構成されるカメラ125を有する移動ロボット10によって捕捉される視野の例が図11A〜11Cに示されている。移動ロボット10が屋内環境で図11Aに示されている。移動ロボット10は、角部1106で交差する2つの壁1102、1104の一部分及び環境の地面表面1108の種々の部分を捕捉する視野を有する、前向きのカメラ125を備えるように構成されている。移動ロボット10は、カメラの光軸155に沿って角部1106に向かって移動するものとして示されている。捕捉されるにつれて連続的に小さくなっていく景色の一部分1112、1114及び1116が、図11A、11B及び11Cに示されている。移動ロボット10が角部1106に近づくと、図11A、11B及び11Cで示される3つの視野1112、1114、1116の各々において可視であり続ける特徴的形状がより大きく見える。しかしながら、連続する視野1112、1114及び1116の間でカメラ125の視野の中央では視差はほとんど観測されない。カメラ125がカメラ125の光軸155に沿った移動方向に特徴的形状に向かって真正面に移動するとき、特徴的形状の視野の間での視差の不足が図13Aに概念的に示される。カメラ125が特徴的形状に接近するように移動するとき、3つの連続する視野1300、1302、1304の各々での特徴的形状のサイズが大きくなる。しかし、特徴的形状はカメラ125の視野の中央に留まる。したがって、特徴的形状までの距離を任意の精度で決定することは困難である。さらに、通常はナビゲーションを行うのに非常に特徴的な補助である角部などの特徴的形状が異なるスケールで非常に類似して見られ得る。再び図11A〜11Cを参照すると、角部1106は視野1112、1114及び1116の各々で非常に類似して見られる。
図2A、2B及び22に関連させて上述したように、移動ロボット10の移動方向の上方にその光軸155により鋭角を形成するようにカメラ125を傾斜させることにより、カメラの視野にわたって観測される視差が拡大する。移動ロボット10が家庭用清掃ロボットとして構成される場合、移動ロボット10は概して平坦なフロアを横断して移動するように制限される。フロアに傾斜があったとしても、移動ロボット10はカメラ125の光軸155に沿う方向には移動しない。したがって、移動ロボット10が平行移動することにより、景色の異なる視野の間で視差が観測可能となる。
移動ロボット10の移動方向の上方にその光軸155により鋭角を形成するように傾斜するカメラ125によって捕捉される景色の視野の例が図12A〜12Cに示されている。移動ロボット10は、角部1206のところで交差する2つの壁1202、1204を含む図11A〜11Cに示される景色と同様の景色の視野を捕捉する。移動ロボット10は角部1206に向かってフロア1208に沿って移動方向1210に移動する。移動ロボット10は、図11A〜11Cに関して上で説明したように前向きのカメラを備えるように構成されたように、傾斜したカメラ125を備えるように構成された移動ロボットは、連続的に小さくなっていく景色の一部分の視野1212、1214、1216を捕捉する。しかし、カメラ125の傾斜により、各々の連続する視野のカメラの視野は壁1202、1204の下方に移行する結果となる。したがって、3つの視野の各々で可視である特徴的形状が連続する視野1212、1214、1216の間で上方に移動して見える。特徴的形状が上方に移動することが図13Bに概念的に示されている。移動ロボット10が特徴的形状に向かう方向にフロアに沿って移動すると、特徴的形状のサイズが増大し、特徴的形状が3つの連続する視野1310、1312、1314の各々で漸進的に上方に移動する。
観測可能な視差を説明するために、3つの連続する視野1310、1312、1314を重ね合わせる。特徴的形状がカメラ125の視野の正確な中心線上にない場合、特徴的形状は、カメラの視野の中心線から離れるように上方に移動する。容易に認識され得るように、有意な視差の存在は、図13Aに示される連続する視野1300、1302、1304内で観測される特徴的形状により可能となるよりも非常に高い精度で特徴的形状までの距離を決定するために利用され得る。特徴的形状の一群にわたって考えると、視差が拡大することにより、目印を形成する特徴的形状の組の3D構造に関するより多くの情報が提供されることになる。例えば、特徴的形状の組が、壁上の単なる円ではなく、ドア・フレームなどの3D構造を伴う環境内の対象に相当する場合、移動ロボット10がドア・フレームに接近するように移動するとき、より高い精度でドア・フレームの3D構造を確認することができる。上述したように、目印の3D構造を決定するときの精度は、その後のナビゲーション中に目印を使用して行われる相対姿勢の推定の精度に大きく影響する。また、カメラ125が傾斜することで、移動ロボット10は対象の下側のより大きい部分を視認することが可能となる。ハウスクリーニングに関連する物体(housecleaning object)として構成される、移動ロボット10がナビゲーションのために依存する多くの対象は、額縁、フラット・スクリーン・テレビ及びスピーカ・システムなどの(しかし、これらに限定されない)、壁に掛かっているか又は壁に設置される比較的平坦な対象である。カメラ125を傾斜させることにより、そのような対象の下側を撮像するために充てられる、カメラの視野の部分が拡大する。したがって、対象の下側の3D構造がより正確に決定され得るようになり、それにより、目印の3D構造に基づくその後のナビゲーションがより正確になる。
目印の3D構造を決定するとき及び相対姿勢を推定するときに観察可能な視差を拡大することの影響が、図14A、14B及び15を参照して以下で説明される一連のシミュレーションによって示される。シミュレーションは、部屋の角部に向かって移動する移動ロボット10が前向きのカメラを使用してその相対姿勢を決定することができる精度を、移動ロボット10の移動方向の上方にカメラ125の光軸により鋭角を形成するように傾斜するカメラを使用して達成される精度と比較して、シミュレートすることを伴った。
図14Aは、仮想の屋内環境内でシミュレートされる移動ロボットの前方を向くカメラの視野ポイントをシミュレートすることにより生成される画像1400である。仮想の屋内環境は、角部を形成する2つの壁上にチーター1402のイメージ及びシマウマ1404のイメージがあり、仮想の部屋の天井に日の出1406のイメージがある形で、その壁及び天井にテクスチャを有する部屋である。このシミュレーションでは、仮想の部屋は、2単位の高さの壁を有する4単位×4単位の部屋としての大きさである。シミュレートされる移動ロボットのカメラはフロアの上方の1単位のところにあり、前向きのカメラが角部に向けられている。このシミュレーションでは、移動ロボットは、角部に向かって0.5単位だけ前方に移動した後で得られる画像内で特定される特徴的形状を比較することに基づいて、相対姿勢の変化を決定する。上述したプロセスと同様のプロセスを使用して、シミュレートされる移動ロボットによって特定される特徴的形状が複数の十字記号1408として示されている。図14Bは、シミュレートされる移動ロボットの前方移動方向の上方の30度の角度にカメラの光軸があるようにカメラが傾斜していることを除いて、図14Aに示される画像1400を生成するために使用されるシミュレーションで使用されるカメラと同じ視野を有するカメラの視野ポイントをシミュレートすることにより生成される画像1450である。シミュレートされる移動ロボットによって特定され、位置の特定を実施するために使用される特徴的形状が複数の十字記号1452として示されている。
図15は、上述のシミュレーションの各々における、フロア平面内でのその相対姿勢を移動ロボットが決定するときに可能となる精度の比較を示すチャートである。チャート1500は、前方を向くカメラを備えるシミュレートされる移動ロボットを使用して決定される相対姿勢の不確実さ1502と、移動ロボットの移動方向の上方の30度の角度にカメラの光軸があるように傾斜したカメラを備えるシミュレートされる移動ロボットを使用して決定される相対姿勢の不確実さ1504とを示す。上述したように、このシミュレーションでは、シミュレートされる移動ロボットを仮想の部屋の角部に向かって0.5単位だけ移動させられた。不確実さは、前方移動方向に対して定義される、シミュレートされる移動ロボットの真の位置の左側又は右側の誤差として、或いは、シミュレートされる移動ロボットの真の位置の前方又は後方の誤差として表される。右側−左側の不確実さは移動方向に対して垂直である寸法の不確実さとみなされてよく、前方−後方の不確実さは移動方向に平行な寸法の不確実さとみなされてよい。図15を参照することにより認識され得るように、移動ロボットの移動方向の上方の30度の角度のところにカメラの光軸を置くように傾斜するカメラを使用することにより、前方を向くカメラに対しての、両方の寸法における不確実さを低減することができる。移動方向に対して垂直である寸法の不確実さの低減はわずかであるが、移動方向に沿う寸法の不確実さは有意に低減される。
上述のシミュレーションは、前方を向くカメラと、移動ロボットの移動方向の上方の30度の角度のところにその光軸があるように傾斜するカメラとを比較するが、移動ロボットの移動方向の上方の他の鋭角のところにカメラの光軸を位置合わせするように傾斜するカメラを使用する場合でも同様に位置の不確実さの低減を達成することができる。さらに、目印を作るための及び目印に基づいて相対姿勢を決定するためのプロセスを使用してカメラによって捕捉される連続する画像内で観測される視差を拡大するという、傾斜したカメラ125を使用することの利点を、図9及び10を参照して上で説明したが、多様な任意選択のVSLAMナビゲーション・プロセスのうちの任意のものを使用して構成される移動ロボット10を使用して景色の画像を捕捉するために、1つ又は複数の傾斜したカメラ125を利用する場合でも、同様の利点が得られ得る。
広角レンズを採用するカメラは、通常、VSLAM及びCV−SLAMを実施するように構成される移動ロボットで利用される。傾斜したカメラ125を使用することの大きな利点は、カメラの視野の中央で観測される特徴的形状が、正確な深さの推定結果を得るために利用され得ることである。後でさらに考察するように、移動ロボット10が目印の3D構造を決定することができるときの精度は、同じ分解能を有するより広い視野のレンズを備えるセンサを採用するカメラと比較してより高い角度分解能を有する狭い視野のレンズ140を備える傾斜したカメラ125を利用することにより、さらに向上され得る。
角度分解能の向上によるナビゲーションの精度の向上
狭い視野及び高い角度分解能を有する傾斜したカメラ125を備えるように移動ロボット10を構成することにより、移動ロボット10が目印の3D構造を決定することができるときの精度と、目印の3D構造の再投影に基づいて決定される相対姿勢の推定の精度とを向上させることができる。さらに、狭い視野のレンズを使用することにより、カメラ125によって獲得された画像を修正することの計算コスト(computational expense)(例えば、時間、処理能力など)なしに、移動ロボット10が画像処理を実施することが可能となる。容易に認識され得るように、処理負荷を低減することにより、移動ロボット10がより高いフレーム率でより多くの画像の処理することを可能とすることができ(それにより移動ロボットがより速く移動することが可能となる)、消費電力を低減することを可能とすることができ(それにより、バッテリの寿命が延びる)、及び/又は、追加の処理能力を用いて移動ロボット10が他の機能を実行することを可能とすることができる。
図16A及び16Bは、比較的広い視野を有する前向きのカメラを使用して構成される移動ロボットの場合と比較して、移動ロボット10が狭い視野を有する傾斜したカメラ125を使用して構成される場合の、目印を見つけることができるときの精度の向上を示す。図16Aは、広角レンズを使用して構成される移動ロボット10のカメラ125のサンプリング格子1600を示す。サンプリング格子1600が、真っ直ぐ前方を向くカメラ125内の各ピクセルによってサンプリングされる景色の部分を概念的に示す。実際の用途では、移動ロボット10は、通常、より高い分解能のカメラを備えるように構成される。しかし、角度分解能の影響及びその後の画像処理の歪みを説明するために、非常に低い分解能のサンプリング格子を利用する。サンプリング格子1600は、カウチ1620、コーヒー・テーブル1625、テレビ1630、額入りの絵画1635及び窓1640を有する一般的なリビング・ルームである景色をサンプリングする。移動ロボット10がカメラ125の光軸155に沿う方向に移動する場合、カメラの視野の中央部分では視差がほとんど観測されず、カメラ125の視野の周囲部分のところの特徴的形状から最も高い信頼性の3D構成の深度推定が得られる。広角レンズによって導入される歪みがサンプリング格子1600内の曲線として概念的に示されている。歪みにより、カメラの視野の中央のところでのカメラの角度分解能と比較して、カメラの視野の周囲部分のところでのカメラ125の角度分解能が低くなる。低い角度分解能が、サンプリング格子1600内の頂点の間のより大きい距離間隔として描かれている。したがって、カメラ125の視野の周囲部分で観測される特徴的形状は、比較的低い精度で観測される。ナビゲーションで使用され得る特徴的形状はカウチの前方角部である。目印を示すことができるピクセルの一群を示すために、シェーディング1610が使用されている。図16B(後で考察する)と比較することにより分かるように、分解能が比較的低いということは、ピクセルの異なる組を使用して特徴的形状を観測する前に、サンプリング格子1600の有意な移動及び回転が生じ得ることを意味する。したがって、移動ロボット10の位置の特定の精度が相対的に大幅に低くなる。
対照的に、図16Bに示される移動ロボット10は、狭い視野を有する傾斜したカメラ125を使用して景色をサンプリングする。カメラ125が傾斜していることにより、移動ロボット10は、カメラの視野に全体にわたって特徴的形状の3D構造を正確に決定することができる。カメラ125の視野を狭くすることにより、図16Aに示されるカメラの角度分解能と比較して、カメラの角度分解能が大幅に向上する。図16Bに示される移動ロボット10のサンプリング格子1650は、より高い角度分解能で、つまり、より高いサンプリング密度で、景色をサンプリングする。したがって、特定の特徴的形状の位置を決定することができるときの精度が大幅に向上する。また、狭い視野のレンズ140は歪みをほとんど導入しない。したがって、角度分解能が狭い視野にわたって大幅に低下することがなく、移動ロボット10は、最初に修正を実施することなく画像データを処理することができる。狭い視野のレンズを使用して高い精度で視差を測定する能力により、目印を形成する特徴的形状の3D構造と、動かない目印を基準として既知の速度で移動する移動ロボット10までのそれらの構造的要素の距離とをより正確に推定することが可能となる。加えて、画像内の特定される特徴的形状の間の距離をより高い精度で測定する能力により、新しい視野ポイントへの3D構造の再投影誤差を最小にすることに基づく相対姿勢のより正確な推定が可能となる。したがって、傾斜したカメラ125と狭い視野のレンズ140とのこのような組み合わせにより、VSLAMプロセスに基づいてナビゲーション中により高い精度で位置の特定を行うことができる。ナビゲーションで使用され得る特徴的形状は額縁1635の右上の角部である。目印を示すことができるピクセルの一群を示すためにシェーディング1660が使用されている。図16A(上で考察した)と比較することにより分かるように、分解能が比較的高いということは、サンプリング格子のわずかな移動及び/又は回転の結果として、ピクセルの異なる組によりこの特徴的形状が観測されることになる、ことを意味する。したがって、移動ロボット10の位置の特定の精度が相対的に大幅に高くなる。
広角レンズを備える前向きのカメラと比較して、狭い視野を有する傾斜したカメラ125を利用することの利点を概念的に説明することを目的として異なる視野が図16A及び16Bに示されているが、移動ロボット10は多様な視野のうちの任意の視野を有する傾斜したカメラ125を使用するように構成されてよい。狭い視野のレンズは、通常、透視投影が一般にレンズの真の結像特性に対しての良好な近似となるようなレンズのことであるとみなされ、対して広角レンズは歪みを導入する。任意選択の一構成では、傾斜したカメラ125は、65度〜75度の範囲から選択される水平方向の視野と、45度〜65度の範囲から選択される垂直方向の視野とを有するレンズを有するように、狭い視野のレンズを用いて構成される。実装形態では、傾斜したカメラ125のレンズは、72度の水平方向の視野と、50度の垂直方向の視野とを有する。別の任意選択の構成では、傾斜したカメラ125は、水平方向において70度又は80度であるか或いはそれらの間であり、垂直方向において50度又は60度であるか或いはそれらの間である、視野を有する、狭い視野のレンズを備えるように構成される。容易に認識され得るように、移動ロボット10のカメラ125で利用される、この特定のレンズ140及び/又はレンズ140のこの特定の視野は、所与の用途の要求に大きく依存する。
移動ロボット10によって利用されるカメラ125のこのような大きさの視野は、カメラ125の視野の一部又はすべてが遮蔽されているかどうか又は深刻にぼけているかどうかには大きくは関係しないものとすることができる。したがって、移動ロボット10は、任意選択で、連続する画像の比較から遮蔽物を無視するよう試みるために、遮蔽物を検出し、移動ロボット10を検査することが必要であることを使用者に通知するように、構成され得る。移動ロボット10により任意選択で採用され得る遮蔽物検出プロセスを以下でさらに考察する。
遮蔽物検出
移動ロボット10のナビゲーション・システム120内の1つ又は複数のカメラ125、140は、移動ロボット10を囲む環境内の要素に対して継続的に露出されていることから機能性の低下を受ける可能性がある。特に、屋内環境では、移動ロボット10が環境を清掃するときに、ダスト、デブリ、指紋、髪の毛、食品粒子、及び、多様な他の対象が、カメラのレンズ・カバー135上に集まってそこに留まる可能性がある。これらの遮蔽物は、VSLAMプロセスで使用されるためのカメラ125によって捕捉される画像の品質を低下させる可能性があり、さらにはそれにより、屋内環境を通る移動ロボット10のナビゲーションの精度を低下させる可能性がある。十分なレベルのナビゲーション性能を維持するために、移動ロボット10は、少なくとも1つのカメラ125の視野の一部又は全体から移動ロボット10が有用な情報を受信していないことが決定された場合に、使用者に通知を行うことができる。
移動ロボット10のカメラ125のうちの1つのカメラの視野の一部が遮蔽されている可能性がある場合の状況は、その中で移動ロボット10を動作させることができる環境に応じて異なる。視野の一部が遮蔽される場合、カメラ125は、VSLAMプロセスを含めた(しかし、これに限定されない)ナビゲーション・プロセスによって使用され得るような有用な画像データを一切提供しない可能性がある。特定の種類の遮蔽物の例、及び、遮蔽されたカメラ125によって捕捉される得られた画像の例が、図17A〜18Bに概念的に示されている。半透明の遮蔽物1706が図17Aに示されている。カメラ125は移動ロボット10の本体100内の奥まって示されており、凹部の開口部1704内に位置するレンズ・カバー135を有するものとして示されている。半透明の遮蔽物1706(指の汚れ又は水滴など)がレンズ・カバー135上に存在する。半透明の遮蔽物1706により画像1712の一部がぼやけている、カメラ125によって捕捉される画像1710が、図17Bに概念的に示されている。容易に認識され得るように、このぼけにより、半透明の遮蔽物により歪んだカメラの視野の部分内においての、そうでない場合には特定されているような特徴的形状に関する特徴的形状の相関関係が不足しやすくなる。したがって、視覚測定プロセスなど(しかし、これに限定されない)のナビゲーション・プロセスがカメラの視野の影響を受けている部分で目印を特定することができないということによって、遮蔽物1706の存在が、時がたつにつれて明らかとなる。
不透明の遮蔽物1806が図18Aに示されている。同様に、カメラ125が移動ロボット10の本体100内の奥まって示されており、凹部130の開口部1804内に位置するレンズ・カバー135を有するものとして示されている。不透明の遮蔽物1806(ダスト粒子、液滴、紙片など)がレンズ・カバー135上に存在する。不透明の遮蔽物1806により景色1812の一部が完全に遮蔽されているような、カメラ125によって捕捉される画像1810が、図18Bに概念的に示されている。不透明な遮蔽物1806によって影響を受ける景色の部分で移動ロボット10が特徴的形状を検出することができる範囲においては、移動ロボット10は、景色の連続する視野内でそれらの特徴的形状に関連する視差を一切観察することができない。不透明な遮蔽物1806は、通常、連続する画像内の同じ寸法を有する同じ位置に誤った目印として現れる。このように視差が不足することにより、目印を生成することにおいて遮蔽物1806に関連するすべての特徴的形状を使用することが妨げられる。その理由は、移動ロボット10が目印のための3D構造を一切決定することができないからである。したがって、視覚測定プロセスなど(しかし、これに限定されない)のナビゲーション・プロセスがカメラ125の視野の影響を受けている部分内で目印を特定することができないということによって、不透明の遮蔽物1806の存在が、時がたつにつれて明らかとなる。移動ロボット10は、任意選択で、移動ロボット10の回転及び/又は平行移動に関係なく同じ位置に現れる特徴的形状を検出することにより、不透明な遮蔽物1806をより迅速に検出することができる。
移動ロボット10により任意選択で実施され得る遮蔽物検出プロセスが図19に示されている。プロセス1900は、ナビゲーションで使用されるための入力画像を捕捉すること(1905)を含む。上述したように、移動ロボット10は、移動ロボット10の本体100のトップ・カバー内の凹部130内に位置するカメラ125を使用するように任意選択で構成され得、及び/又は、カメラ125は、移動ロボット10の前方移動方向の上方にカメラの光軸155により鋭角を形成するように、傾斜してよい。
移動ロボット10は、VSLAMプロセスを含めた(しかし、これに限定されない)ナビゲーション・プロセス中に特徴的形状を特定して利用することができる、カメラ125の視野の多様な部分を決定し(1910)、それに応じて遮蔽物検出データを更新する(1915)。移動ロボット10がナビゲーション・プロセスによりVSLAMプロセスを実施するように構成される場合、画像の特定部分は、視覚測定を実施して環境をマッピングするために使用されるための目印を生成するためにVSLAMプロセスにより利用することができる特徴的形状を含むことができる。移動ロボット10は、目印を生成及び/又は検出するために使用される画像の部分を表す遮蔽物検出データを収集することができ、画像のこれらの部分はカメラの視野の多様な部分に対応していてよい。本発明の任意選択の一態様では、移動ロボット10は、特徴的形状を特定するために使用される視野の種々の部分のヒストグラムを保持することができる。遮蔽物が存在する場合、目印を生成及び/又は検出するためにVSLAMにより視野のこれらの部分が利用されていないということを、ヒストグラムが反映することになる。
移動ロボット10は、特定の閾値の数の入力画像が捕捉されたかどうかを決定することができる(1920)。多くの実施例では、入力画像の閾値の数は多様であってよく、一般に、入力画像の数が増加すると、遮蔽物検出の精度が向上する。閾値の数の画像が捕捉されていない場合、プロセスは追加の画像を捕捉することを継続する(1905)。実施例では、画像の閾値の数は、秒速約1ftつまり秒速約306mmの速度において、移動の1フィート当たりで1〜10個の画像であり、好適には、ロボットの移動の1フィート当たりで3個の画像である。閾値の数の画像が捕捉されている場合、プロセスは、ナビゲーション・プロセスによって使用されていない画像データを捕捉しているカメラ125の視野の1つ又は複数の部分を遮蔽物検出データが特定しているかどうかを決定する(1925)。ナビゲーション・プロセスによって使用されていない画像データを捕捉している視野の1つ又は複数の部分を遮蔽物検出データが特定していない場合、移動ロボット10は、カメラ125の視野が遮蔽されていないものと仮定し、遮蔽物検出プロセスが完了する。
一実装形態では、ナビゲーション・プロセスによって使用されていない画像データを捕捉している視野の1つ又は複数の部分を遮蔽物検出データが特定している場合、移動ロボット10は、移動ロボット10に関連する一人又は複数人の使用者にカメラ遮蔽通知を提供し(1930)、その結果、使用者はカメラ125の視野から遮蔽物を取り除くことができる。プロセスの任意選択の一態様では、通知は、移動ロボット10と通信することができるサーバ上に位置するユーザ・アカウント情報を使用する、使用者に送達される電子メッセージの形態である。例えば、使用者は、eメール、テキスト・メッセージ又は他の伝達手段を通して、通知を受けることができる。別の任意選択の態様では、使用者は、点滅光、音、又は、他の適切な警告機構などの、移動ロボット10上の何らかの形態のインジケータを通して、通知を受けることができる。また、移動ロボット10は、任意選択で、ワイパ・ブレード、ファン、エア・ナイフ、及び/又は、検出された遮蔽物を排除することを試みるために移動ロボットにより使用され得る別の適切な清掃機構を備えるように構成されてもよい。
本発明の任意選択の態様による、移動ロボット10と、外部サーバと、ユーザ・デバイスとの間の通信を示す通信図が図20に示されている。特に、図20は、遮蔽物の通知を外部サーバ2020に送信する移動ロボット10を示す。移動ロボット10は、カメラ画像の遮蔽されていない部分がロボット10の位置を特定するためにもはや有用ではないように移動ロボット10上のカメラの視野の一部分を遮蔽している遮蔽物の存在を検出した後、通知を送信することができる。本発明の任意選択の態様では、移動ロボット10は、例えばBluetooth(登録商標)などの近距離通信プロトコルを使用してユーザ・デバイスに直接に通知を送信することができる。移動ロボット10から通知を受信した後、外部サーバ2020は、通知を受信するように登録されている1つ又は複数のユーザ・デバイスにメッセージを送信する。本発明の任意選択の態様では、外部サーバは、SMSテキスト・メッセージ、自動ボイスメール、及び/又は、電子メール・メッセージのうちのいずれも送信することができる。本発明の別の任意選択の態様では、移動ロボット10は、遮蔽物の継続的な存在を検出しながら定期的に通知を送信することができる。例えば、移動ロボット10は、遮蔽物を検出しながら、一日に1回の、一週間に1回の、又は、他の時間ベースの通知のリマインダ(notification reminder)を送信することができる。他の任意選択の態様では、移動ロボット10は、環境の清掃を開始するごとに通知を送信することができる。
本発明の実施例による、ユーザ・デバイスに遮蔽物を通知するためのシステムが図21に示されている。システム2100は、1つ又は複数の移動ロボットからメッセージを受信し処理するサーバ2104を有する。特に、サーバが移動ロボット10からメッセージを受信するとき、サーバは1つ又は複数のユーザ・デバイス2105〜2107にメッセージを提供することができる。
複数の実施例では、多様なユーザ・デバイスが、インターネットなどのネットワーク2108を介してメッセージを受信するために、HTTP、SMSテキスト、又は、別の適切なプロトコルを使用することができる。示される実施例では、ユーザ・デバイスには、パーソナル・コンピュータ2105〜2106及び携帯電話2107が含まれる。他の実施例では、ユーザ・デバイスには、HTTPを介してサーバに接続されてメッセージを受信することができるような、DVDプレイヤー、Blu−ray(登録商標)プレイヤー、テレビ、セット・トップ・ボックス、テレビゲーム機、タブレット、及び、他のデバイスなどの家電デバイスが含まれてよい。
上記は本発明の多くの具体的な任意選択の態様の説明を含むが、これらは本発明の範囲を限定するものとして解釈されるべきはなく、むしろ、それらの多様な構成の例として解釈されるべきである。したがって、本発明の範囲は示される例によって決定されるべきではなく、添付の特許請求の範囲及びその均等物によって決定されるべきである。

Claims (15)

  1. 動作環境内をナビゲートするように構成される移動ロボット(10)であって、
    水平面を含む頂部表面(108)を有する本体(100)と、
    前記本体(100)に設置される駆動装置(111)と、
    前記本体(100)の上方から見て略中央において前記頂部表面(108)の平面の下方にある凹形構造(130)と、
    前記駆動装置(111)に通信状態にある制御装置回路(605)であって、カメラ・ベースのナビゲーション・システム(120)を使用して環境を通って前記移動ロボット(10)をナビゲートすることを前記駆動装置(111)に指示する、制御装置回路(605)と、
    カメラの視野及びカメラの光軸を画定する光学系を含むカメラ(125)であって、
    当該カメラ(125)が、前記凹形構造(130)の内側に位置付けられ、前記カメラの光軸が、前記頂部表面(108)の前記水平面から上方に30〜40度の鋭角に位置合わせされ、且つ、前記ロボットの本体(100)の前方駆動方向に向けられるように、傾斜させられ、
    当該カメラ(125)の前記視野が垂直方向において45度〜65度の円錐台に及び、
    当該カメラ(125)が当該移動ロボット(10)の前記動作環境の画像を捕捉するように構成される、
    カメラと、
    を備える移動ロボット(10)。
  2. 前記カメラ(125)が、前記カメラの前記光軸に対して鋭角に位置合わせされるレンズ・カバー(135)によって保護される、請求項1に記載の移動ロボット(10)。
  3. 前記レンズ・カバー(135)が前記凹構造(130)内の前記頂部表面(108)より内側の位置において、前記カメラ(125)の前記光軸に対して鋭角に設置され、前記鋭角は、前記頂部表面(108)によって画定される平面と前記カメラ(125)の前記光軸との間に形成される角度よりも直角に近い、請求項2に記載の移動ロボット(10)。
  4. 前記鋭角が15から70度の間である、請求項2に記載の移動ロボット(10)。
  5. 前記頂部表面(108)によって画定される平面と前記カメラ(125)の前記光軸との間に形成される前記角度が10から60度の間の範囲である、請求項3に記載の移動ロボット(10)。
  6. 前記カメラ(125)の視野が、フロア表面から3フィートから8フィートの範囲であって、3フィートから10フィートの距離のところに位置付けられた静止した特徴に向けられている、請求項1に記載の移動ロボット(10)。
  7. 前記カメラの画像が1インチ当たり約6〜12ピクセルを含み、前記画像の頂部の特徴が、連続する画像の間で、前記移動ロボットが移動する速度より速く上方に移動し、前記画像の底部の特徴が、連続する画像の間で、前記移動ロボットが移動する速度より遅く下方に移動し、前記制御装置回路(605)が、連続する画像の間の視差を特定するときに、前記移動ロボットの速度及び前記画像内の特徴の位置を決定するように構成される、請求項6に記載の移動ロボット(10)。
  8. 前記移動ロボット(10)が秒速220mmから秒速450mmの速度で移動し、水平線に対して45度未満の箇所における特徴的形状が秒速約306mm未満で跡を残し、45度を超える箇所における特徴的形状が毎秒306mmを超えて跡を残す、請求項7に記載の移動ロボット(10)。
  9. 前記本体(100)が、
    前記制御装置回路(605)と通信状態にあるメモリ(625)と、
    前記駆動装置(111)と通信状態にある走行距離測定センサ・システムと
    をさらに含み、
    前記メモリが、視覚測定アプリケーション(630)と、同時位置測定マッピング(SLAM)のアプリケーション(635)と、目印データベース(650)と、目印のマップ(640)とをさらに含み、
    前記制御装置回路(605)が、
    前記駆動装置(111)を作動させて前記走行距離測定センサ・システムを使用して走行距離測定データを捕捉することと、
    少なくとも、前記捕捉された走行距離測定情報及び前記捕捉された画像を前記視覚測定アプリケーション(630)に提供することにより視覚測定を獲得することと、
    少なくとも、前記走行距離測定情報、及び、前記視覚測定結果を入力として前記SLAMアプリケーション(635)に提供することにより、目印の更新されたマップ内での更新されたロボットの姿勢を決定することと、
    前記目印の更新されたマップ内の前記更新されたロボットの姿勢を含む入力に基づいてロボットの行動を決定することと、
    をプロセッサ(610)に指示する、
    請求項1に記載の移動ロボット(10)。
  10. 前記目印データベース(650)が、
    複数の目印の記述と、
    前記複数の目印の各々の目印画像、及び、関連する目印の姿勢であって前記目印画像を捕捉する関連する目印の姿勢と、
    所与の目印に関連付けられる複数の特徴の記述であって、当該所与の目印に関連付けられる当該複数の特徴の各々のための3D位置を含む、前記複数の目印からの記述と
    を含む、
    請求項9に記載の移動ロボット(10)。
  11. 前記視覚測定アプリケーション(630)が、
    入力画像内で特徴を特定することと、
    前記目印データベース(650)から目印を特定することであって、前記目印データベース(650)内の当該特定される目印の目印画像に関連付けられる匹敵する特徴に対しての前記入力画像内で特定される前記特徴の類似性に基づいて、前記入力画像内で、前記目印データベース(650)から当該目印を特定することと、
    前記入力画像内の前記特定される特徴との類似性が最も高くなるように、前記特定される目印に関連付けられる前記匹敵する特徴の3D構造の剛体変換であって、相対的な姿勢の推定と、前記移動ロボット(10)の移動方向の上方で前記カメラ(125)の前記光軸を位置合わせする前記鋭角とに基づいて決定される剛体変換を決定することにより、最も可能性の高い相対的な姿勢を推定することと、
    を前記プロセッサ(610)に指示する、請求項10に記載の移動ロボット(10)。
  12. 前記入力画像内で目印を特定することが、修正されていない前記入力画像の一部を、前記目印データベース(650)内の目印画像と比較することを含む、請求項11に記載の移動ロボット(10)。
  13. 前記SLAMアプリケーション(635)が、
    前の位置の推定と、走行距離測定データと、少なくとも1つの視覚測定とに基づいて、前記目印のマップ(640)内の前記移動ロボット(10)の前記位置を推定することと、
    前記移動ロボット(10)の前記推定された位置と、前記走行距離測定データと、前記少なくとも1つの視覚測定とに基づいて、前記目印のマップ(640)を更新することと、
    を前記プロセッサ(610)に指示する、請求項11に記載の移動ロボット(10)。
  14. 前記視覚測定アプリケーション(630)が、
    新しい目印を生成することであって、
    一続きの画像の複数の画像内で特徴を検出することと、
    前記一続きの画像からの複数の画像内の目印を形成する特徴の組を特定することと、
    前記複数の画像の各々が捕捉されるときに、前記複数の画像の各々において前記目印を形成する前記特定された特徴の組を使用して、目印を形成する前記特徴の組の3D構造と、相対的なロボットの姿勢とを推定することと、
    前記目印データベース(650)に新しい目印を記録することであって、前記新しい目印を記録することが、前記新しい目印の画像と、少なくとも前記新しい目印を形成する前記特徴の組と、前記新しい目印を形成する前記特徴の組の前記3D構造とを記憶することを含む、前記目印データベース(650)に新しい目印を記録することと、
    によって新しい目印を生成することと、
    新しい目印の前記生成を前記SLAMアプリケーション(635)に通知することと、
    を前記プロセッサ(610)にさらに指示する、請求項9に記載の移動ロボット(10)。
  15. 前記SLAMアプリケーション(635)が、
    前記目印データベース(650)に記憶される前記新しい目印の前記画像が捕捉されるときの前記移動ロボット(10)の前記姿勢として目印の姿勢を決定することと、
    前記新しい目印のための前記目印の姿勢を前記目印データベース(650)に記録することと、
    をプロセッサ(610)に指示する、請求項14に記載の移動ロボット(10)。
JP2017525541A 2014-11-26 2015-11-17 機械視覚システムを使用した、同時位置測定マッピングを実施するためのシステム Active JP6732746B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020117779A JP6946524B2 (ja) 2014-11-26 2020-07-08 機械視覚システムを使用した、同時位置測定マッピングを実施するためのシステム

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201462085031P 2014-11-26 2014-11-26
US201462085025P 2014-11-26 2014-11-26
US62/085,025 2014-11-26
US62/085,031 2014-11-26
US201562116307P 2015-02-13 2015-02-13
US62/116,307 2015-02-13
US14/856,526 US9519289B2 (en) 2014-11-26 2015-09-16 Systems and methods for performing simultaneous localization and mapping using machine vision systems
US14/856,497 US9751210B2 (en) 2014-11-26 2015-09-16 Systems and methods for performing occlusion detection
US14/856,497 2015-09-16
US14/856,526 2015-09-16
PCT/US2015/061153 WO2016085717A1 (en) 2014-11-26 2015-11-17 Systems and methods for performing simultaneous localization and mapping using machine vision systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020117779A Division JP6946524B2 (ja) 2014-11-26 2020-07-08 機械視覚システムを使用した、同時位置測定マッピングを実施するためのシステム

Publications (2)

Publication Number Publication Date
JP2017538208A JP2017538208A (ja) 2017-12-21
JP6732746B2 true JP6732746B2 (ja) 2020-07-29

Family

ID=56074897

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017525541A Active JP6732746B2 (ja) 2014-11-26 2015-11-17 機械視覚システムを使用した、同時位置測定マッピングを実施するためのシステム
JP2020117779A Active JP6946524B2 (ja) 2014-11-26 2020-07-08 機械視覚システムを使用した、同時位置測定マッピングを実施するためのシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020117779A Active JP6946524B2 (ja) 2014-11-26 2020-07-08 機械視覚システムを使用した、同時位置測定マッピングを実施するためのシステム

Country Status (4)

Country Link
EP (1) EP3224649B1 (ja)
JP (2) JP6732746B2 (ja)
CN (2) CN106537186B (ja)
WO (1) WO2016085717A1 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9519289B2 (en) 2014-11-26 2016-12-13 Irobot Corporation Systems and methods for performing simultaneous localization and mapping using machine vision systems
US10043076B1 (en) 2016-08-29 2018-08-07 PerceptIn, Inc. Visual-inertial positional awareness for autonomous and non-autonomous tracking
US10410328B1 (en) 2016-08-29 2019-09-10 Perceptin Shenzhen Limited Visual-inertial positional awareness for autonomous and non-autonomous device
US10571925B1 (en) 2016-08-29 2020-02-25 Trifo, Inc. Autonomous platform guidance systems with auxiliary sensors and task planning
US10402663B1 (en) 2016-08-29 2019-09-03 Trifo, Inc. Visual-inertial positional awareness for autonomous and non-autonomous mapping
US11314262B2 (en) 2016-08-29 2022-04-26 Trifo, Inc. Autonomous platform guidance systems with task planning and obstacle avoidance
US10162362B2 (en) 2016-08-29 2018-12-25 PerceptIn, Inc. Fault tolerance to provide robust tracking for autonomous positional awareness
US10395117B1 (en) 2016-08-29 2019-08-27 Trifo, Inc. Visual-inertial positional awareness for autonomous and non-autonomous tracking
US10453213B2 (en) 2016-08-29 2019-10-22 Trifo, Inc. Mapping optimization in autonomous and non-autonomous platforms
US10571926B1 (en) 2016-08-29 2020-02-25 Trifo, Inc. Autonomous platform guidance systems with auxiliary sensors and obstacle avoidance
DE102016217637A1 (de) 2016-09-15 2018-03-15 Volkswagen Aktiengesellschaft Odometrie-Verfahren zum Ermitteln einer Position eines Kraftfahrzeugs, Steuervorrichtung und Kraftfahrzeug
JP7046506B2 (ja) * 2017-06-12 2022-04-04 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US10444761B2 (en) 2017-06-14 2019-10-15 Trifo, Inc. Monocular modes for autonomous platform guidance systems with auxiliary sensors
US10496104B1 (en) 2017-07-05 2019-12-03 Perceptin Shenzhen Limited Positional awareness with quadocular sensor in autonomous platforms
CN111801717A (zh) * 2017-07-28 2020-10-20 高通股份有限公司 机器人式运载工具的自动探索控制
US20200218279A1 (en) * 2017-08-30 2020-07-09 Qualcomm Incorporated Robust Navigation of a Robotic Vehicle
CN107745381B (zh) * 2017-09-29 2018-10-12 南京昱晟机器人科技有限公司 一种机器人及其识别路障的方法
CN114777685A (zh) * 2017-10-06 2022-07-22 先进扫描仪公司 生成一个或多个亮度边缘以形成物体的三维模型
WO2019086465A1 (en) 2017-11-02 2019-05-09 Starship Technologies Oü Visual localization and mapping in low light conditions
CN108021884B (zh) * 2017-12-04 2020-04-21 深圳市无限动力发展有限公司 基于视觉重定位的扫地机断电续扫方法、装置及扫地机
WO2019109228A1 (zh) * 2017-12-04 2019-06-13 深圳市沃特沃德股份有限公司 基于视觉重定位的扫地机断电续扫方法、装置及扫地机
CN109101012A (zh) * 2017-12-12 2018-12-28 上海魔龙机器人科技有限公司 一种基于slam算法的机器人导航系统及导航方法
JP7014586B2 (ja) * 2017-12-13 2022-02-01 東芝ライフスタイル株式会社 自律走行体
WO2019035856A1 (en) 2017-12-15 2019-02-21 Tankbots, Inc. METHODS OF DRIVING TASKS IN A RESERVOIR CONTAINING HAZARDOUS SUBSTANCES
US10638906B2 (en) * 2017-12-15 2020-05-05 Neato Robotics, Inc. Conversion of cleaning robot camera images to floorplan for user interaction
CN108107892B (zh) * 2017-12-22 2020-12-25 重庆秉为科技有限公司 一种智能清扫仪器控制方法
CN109955246B (zh) * 2017-12-26 2020-11-24 深圳市优必选科技有限公司 悬崖检测方法、装置、终端设备及计算机可读存储介质
WO2019165998A1 (zh) * 2018-02-28 2019-09-06 苏州宝时得电动工具有限公司 自移动设备
CN108544494B (zh) * 2018-05-31 2023-10-24 珠海一微半导体股份有限公司 一种基于惯性和视觉特征的定位装置、方法及机器人
CN108481327B (zh) * 2018-05-31 2023-11-07 珠海一微半导体股份有限公司 一种增强视觉的定位装置、定位方法及机器人
GB2574418B (en) * 2018-06-05 2022-08-31 Dyson Technology Ltd A mobile robot and method of controlling a mobile robot illumination system
CN110570511B (zh) * 2018-06-06 2023-04-28 阿里巴巴集团控股有限公司 点云数据的处理方法、装置、系统和存储介质
JP7396691B2 (ja) 2018-07-13 2023-12-12 ラブラドール システムズ インコーポレイテッド 様々な環境照明条件において動作可能なモバイル機器のためのビジュアルナビゲーション
WO2020014832A1 (zh) * 2018-07-16 2020-01-23 深圳前海达闼云端智能科技有限公司 一种地图加载的方法、装置、电子设备和可读存储介质
JP7327596B2 (ja) * 2018-08-10 2023-08-16 カシオ計算機株式会社 自律移動装置、自律移動装置のレンズの汚れ検出方法及びプログラム
JP7354528B2 (ja) * 2018-08-10 2023-10-03 カシオ計算機株式会社 自律移動装置、自律移動装置のレンズの汚れ検出方法及びプログラム
CN109717796A (zh) * 2018-11-21 2019-05-07 北京石头世纪科技股份有限公司 智能清洁设备
US11774983B1 (en) 2019-01-02 2023-10-03 Trifo, Inc. Autonomous platform guidance systems with unknown environment mapping
WO2020171811A1 (en) 2019-02-20 2020-08-27 Tankbots, Inc. Methods for performing tasks inherently safely in a tank containing hazardous substances
CN114174011B (zh) * 2019-07-31 2024-04-19 Lg电子株式会社 移动机器人
CN111571561B (zh) * 2019-08-07 2021-08-31 上海肇观电子科技有限公司 移动机器人
JP7497436B2 (ja) 2019-12-27 2024-06-10 ウェイモ エルエルシー 遮蔽物検出のためのシステムおよび方法
CN112101378B (zh) * 2020-08-20 2024-08-02 上海姜歌机器人有限公司 机器人重定位方法、装置及设备
US20230095410A1 (en) * 2021-09-24 2023-03-30 Zoox, Inc. System for detecting objects in an environment
CN116079704B (zh) * 2022-10-08 2024-04-30 西北工业大学 一种基于鱼眼机器视觉的集群机器人局部定位及通信方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5040116A (en) * 1988-09-06 1991-08-13 Transitions Research Corporation Visual navigation and obstacle avoidance structured light system
EP1018467B1 (en) * 1996-07-25 2003-10-22 Honda Giken Kogyo Kabushiki Kaisha Gait generating device for leg type moving robot
US6374155B1 (en) * 1999-11-24 2002-04-16 Personal Robotics, Inc. Autonomous multi-platform robot system
AU2002306803A1 (en) * 2001-03-21 2002-10-08 Macdermid Colorspan, Inc. Co-operating mechanical subassemblies for a scanning carriage, digital wide-format color inkjet print engine
US7145478B2 (en) * 2002-12-17 2006-12-05 Evolution Robotics, Inc. Systems and methods for controlling a density of visual landmarks in a visual simultaneous localization and mapping system
US7333113B2 (en) * 2003-03-13 2008-02-19 Sony Corporation Mobile motion capture cameras
US9229540B2 (en) * 2004-01-30 2016-01-05 Electronic Scripting Products, Inc. Deriving input from six degrees of freedom interfaces
JP2005211363A (ja) * 2004-01-30 2005-08-11 Funai Electric Co Ltd 自走式掃除機
JP2006099327A (ja) * 2004-09-29 2006-04-13 Funai Electric Co Ltd 自走式掃除機および発光装置
US20060209015A1 (en) * 2005-03-18 2006-09-21 Feldmeier David C Optical navigation system
AU2006284577B2 (en) * 2005-09-02 2012-09-13 Neato Robotics, Inc. Multi-function robotic device
CN101680756B (zh) * 2008-02-12 2012-09-05 松下电器产业株式会社 复眼摄像装置、测距装置、视差算出方法以及测距方法
KR101543490B1 (ko) * 2008-04-24 2015-08-10 아이로보트 코퍼레이션 로봇 가능화 모바일 제품을 위한 위치 측정 시스템, 위치 결정 시스템 및 운전 시스템의 적용
JP5412890B2 (ja) * 2009-03-10 2014-02-12 株式会社安川電機 移動体及び移動体の制御方法並びに移動体システム
CN101539422B (zh) * 2009-04-22 2011-04-13 北京航空航天大学 一种单目视觉实时测距方法
EP2430392B1 (en) * 2009-05-15 2015-07-22 Michigan Aerospace Corporation Range imaging lidar
US8744665B2 (en) * 2009-07-28 2014-06-03 Yujin Robot Co., Ltd. Control method for localization and navigation of mobile robot and mobile robot using the same
KR101151707B1 (ko) * 2009-12-30 2012-06-15 한국기술교육대학교 산학협력단 Cts를 이용한 물체감지 및 이동로봇 시스템
WO2011161846A1 (ja) * 2010-06-23 2011-12-29 パナソニック株式会社 ドーム型カメラ
DE102012201870A1 (de) * 2012-02-08 2013-08-08 RobArt GmbH Verfahren zum automatischen Auslösen einer Selbstlokalisierung
US8958911B2 (en) * 2012-02-29 2015-02-17 Irobot Corporation Mobile robot
JP2013192678A (ja) * 2012-03-19 2013-09-30 Sharp Corp ロボット装置、情報提供装置、情報提供システム及びプログラム
JP6132659B2 (ja) * 2013-02-27 2017-05-24 シャープ株式会社 周囲環境認識装置、それを用いた自律移動システムおよび周囲環境認識方法
GB2513193B (en) * 2013-04-19 2015-06-03 Dyson Technology Ltd Air moving appliance with on-board diagnostics
CN103901895B (zh) * 2014-04-18 2014-10-29 江苏久祥汽车电器集团有限公司 一种基于无极FastSLAM算法和匹配优化目标定位方法及机器人
CN104062973B (zh) * 2014-06-23 2016-08-24 西北工业大学 一种基于图像标志物识别的移动机器人slam方法

Also Published As

Publication number Publication date
CN113916230A (zh) 2022-01-11
EP3224649A1 (en) 2017-10-04
CN106537186B (zh) 2021-10-08
EP3224649B1 (en) 2023-04-05
CN106537186A (zh) 2017-03-22
JP2020173847A (ja) 2020-10-22
EP3224649A4 (en) 2018-10-31
JP6946524B2 (ja) 2021-10-06
JP2017538208A (ja) 2017-12-21
WO2016085717A1 (en) 2016-06-02

Similar Documents

Publication Publication Date Title
JP6946524B2 (ja) 機械視覚システムを使用した、同時位置測定マッピングを実施するためのシステム
US10611023B2 (en) Systems and methods for performing occlusion detection
US10705535B2 (en) Systems and methods for performing simultaneous localization and mapping using machine vision systems
EP4191358B1 (en) System for spot cleaning by a mobile robot
CN110915208B (zh) 使用深度传感器的虚拟现实环境边界
US11189078B2 (en) Automated understanding of three dimensional (3D) scenes for augmented reality applications
US10102429B2 (en) Systems and methods for capturing images and annotating the captured images with information
EP3527935B1 (en) Context-based depth sensor control
EP2888603B1 (en) Robot positioning system
EP2571660B1 (en) Mobile human interface robot
CN110801180B (zh) 清洁机器人的运行方法及装置
CN112739244A (zh) 移动机器人清洁系统
GB2527207A (en) Mobile human interface robot
AU2011352997A1 (en) Mobile human interface robot
WO2011146259A2 (en) Mobile human interface robot
CN112204345A (zh) 移动设备的室内定位方法、移动设备及控制系统
AU2015202200A1 (en) Mobile human interface robot
KR20240057297A (ko) 신경망 모델을 학습시키는 방법 및 전자 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181019

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191226

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20200207

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200708

R150 Certificate of patent or registration of utility model

Ref document number: 6732746

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250