JP2020142367A - ロボット制御のために自動カメラキャリブレーションを実施する方法及びシステム - Google Patents

ロボット制御のために自動カメラキャリブレーションを実施する方法及びシステム Download PDF

Info

Publication number
JP2020142367A
JP2020142367A JP2020060752A JP2020060752A JP2020142367A JP 2020142367 A JP2020142367 A JP 2020142367A JP 2020060752 A JP2020060752 A JP 2020060752A JP 2020060752 A JP2020060752 A JP 2020060752A JP 2020142367 A JP2020142367 A JP 2020142367A
Authority
JP
Japan
Prior art keywords
camera
calibration
estimated value
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.)
Granted
Application number
JP2020060752A
Other languages
English (en)
Other versions
JP7414222B2 (ja
JP2020142367A5 (ja
Inventor
イスラム ラッセル
Islam Russell
イスラム ラッセル
イー ズタオ
Xutao Ye
イー ズタオ
ローゼン,ダイアンコフ
Diankov ROSEN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mujin Inc
Original Assignee
Mujin Inc
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
Application filed by Mujin Inc filed Critical Mujin Inc
Publication of JP2020142367A publication Critical patent/JP2020142367A/ja
Publication of JP2020142367A5 publication Critical patent/JP2020142367A5/ja
Application granted granted Critical
Publication of JP7414222B2 publication Critical patent/JP7414222B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37015Adaptive online camera, vision calibration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39008Fixed camera detects reference pattern held by end effector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39016Simultaneous calibration of manipulator and camera
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45083Manipulators, robot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • G06T2207/30208Marker matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mechanical Engineering (AREA)
  • Geometry (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)
  • Numerical Control (AREA)

Abstract

【課題】ロボット制御システム及び自動カメラキャリブレーション方法を提供する。【解決手段】ロボット制御システムは、カメラ視野内に収まる仮想立方体の全ての角位置を求め、仮想立方体の上に又は仮想立方体を通して分散される複数の位置を求めるように構成された制御回路を備える。制御回路は、複数の位置にキャリブレーションパターンを移動させるようにロボットアームを制御し、複数の位置に対応する複数のキャリブレーション画像を受け取り、複数のキャリブレーション画像に基づき固有カメラパラメーターのそれぞれの推定値を求め、カメラ座標系とワールド座標系との関係を記述する変換関数の推定値を求めるように更に構成される。制御回路は、変換関数の推定値に基づきロボットアームの配置を制御するように更に構成される。【選択図】図4

Description

本発明は、ロボット制御のために自動カメラキャリブレーションを実施する方法及びシ
ステムに関する。
自動化がより一般的になるに従い、倉庫保管及び製造環境等、より多くの環境において
ロボットが使用されている。例えば、ロボットは、倉庫において物品をパレットに積むか
若しくはパレットから降ろすために、又は、工場においてコンベヤベルトから物体を拾い
上げるために使用される場合がある。ロボットの移動は、一定である場合があり、又は、
倉庫若しくは工場においてカメラによって撮影される画像等の入力に基づく場合がある。
後者の状況では、カメラの特性を求めるために、かつ、カメラとロボットが位置する環境
との関係を求めるために、キャリブレーションが行われる場合がある。キャリブレーショ
ンは、カメラキャリブレーションと呼ばれる場合があり、カメラによって取り込まれた画
像に基づいてロボットを制御するために使用されるキャリブレーション情報を生成するこ
とができる。幾つかの実施態様では、カメラキャリブレーションは、人による手動操作を
必要とする場合があり、人は、ロボットの移動を手動で制御するか、又は、カメラを手動
で制御して、ロボットの画像を取り込むことができる。
本発明の実施形態の一態様は、ロボット制御のために自動カメラキャリブレーションを
実施することに関する。自動カメラキャリブレーションは、通信インターフェース及び制
御回路を備えるロボット制御システムによって実施することができる。通信インターフェ
ースは、ロボット及びカメラ視野を有するカメラと通信するように構成することができ、
ロボットは、ベースと、キャリブレーションパターンが配置されているロボットアームと
を有することができる。ロボット制御システムの制御回路は、a)カメラ視野内に収まる
仮想立方体の全ての角位置(コーナー・ロケーション)を求めることと、b)仮想立方体
の上に又は仮想立方体を通して分散される複数の位置を求めることと、c)通信インター
フェースを介してロボットに移動コマンドを出力することにより、仮想立方体の上に又は
仮想立方体を通して分散される複数の位置までキャリブレーションパターンを移動させる
ようにロボットアームを制御することと、d)通信インターフェースを介してカメラから
複数のキャリブレーション画像を受け取ることであって、複数のキャリブレーション画像
は、カメラによって取り込まれ、複数の位置におけるキャリブレーションパターンのそれ
ぞれの画像であることと、e)複数のキャリブレーション画像に基づき、固有カメラパラ
メーターのそれぞれの推定値を求めることと、f)固有カメラパラメーターのそれぞれの
推定値に基づき、カメラ座標系とワールド座標系との関係を記述する変換関数の推定値を
求めることであって、カメラ座標系は、カメラの位置及び向きに関して定義された座標系
であり、ワールド座標系は、ロボットのベースに対して固定である位置に関して定義され
た座標系であることとにより、カメラキャリブレーションを実施するように構成すること
ができる。制御回路は、カメラキャリブレーションが実施された後、通信インターフェー
スを介してカメラから後続する画像を受け取り、後続する画像に基づきかつ変換関数の推
定値に基づく後続する移動コマンドを、通信インターフェースを介してロボットに出力す
ることにより、ロボットアームの配置を制御するように、更に構成することができる。一
実施形態では、ロボット制御システムは、制御回路によって実行されると制御回路に対し
て上記ステップを実施させる命令を記憶する、非一時的コンピューター可読媒体を有する
ことができる。
実施形態の1つの態様はまた、ロボット制御のために自動カメラキャリブレーションを
実施することに関する。自動カメラキャリブレーションは、通信インターフェース及び制
御回路を備えるロボット制御システムによって実施することができる。通信インターフェ
ースは、ベースとキャリブレーションパターンが配置されているロボットアームとを有す
るロボット、及びカメラ視野を有するカメラと通信するように構成することができる。キ
ャリブレーションパターンは、パターン座標系においてそれぞれの定義されたパターン要
素位置を有する複数のパターン要素を含むことができ、パターン座標系は、キャリブレー
ションパターンの位置及び向きに関して定義された座標系である。制御回路は、a)通信
インターフェースを介してロボットに移動コマンドを出力することにより、カメラ視野内
の少なくとも1つの位置までキャリブレーションパターンを移動させるようにロボットア
ームを制御することと、b)通信インターフェースを介してカメラからキャリブレーショ
ン画像を受け取ることであって、キャリブレーション画像は、カメラによって取り込まれ
、少なくとも1つの位置におけるキャリブレーションパターンの画像であることと、c)
複数のパターン要素がキャリブレーション画像に現れるそれぞれの位置を示す複数の画像
パターン要素位置を求めることと、d)複数の画像パターン要素位置に基づき、かつ、定
義されたパターン要素位置に基づき、第1の固有カメラパラメーターの第1の推定値を求
めることと、e)第1の固有カメラパラメーターの第1推定値が求められた後、第1の固
有カメラパラメーターの第1の推定値に基づき、かつ、複数の画像パターン要素位置に基
づき、第2の固有カメラパラメーターの第1の推定値を求めることと、f)第2の固有カ
メラパラメーターの第1の推定値に基づき、かつ、複数の画像パターン要素位置及び定義
されたパターン要素位置に基づき、第1の固有カメラパラメーターの第2の推定値及び第
2の固有カメラパラメーターの第2の推定値を求めることと、g)第1の固有カメラパラ
メーターの第2の推定値及び第2の固有カメラパラメーターの第2の推定値に基づき、カ
メラ座標系とワールド座標系との関係を記述する変換関数の推定値を求めることであって
、カメラ座標系は、カメラの位置及び向きに関して定義された座標系であり、ワールド座
標系は、ロボットのベースに対して固定である位置に関して定義された座標系であること
とにより、カメラキャリブレーションを実施するように構成することができる。制御回路
は、カメラキャリブレーションが実施された後、カメラから後続する画像を受け取り、後
続する画像に基づきかつ変換関数の推定値に基づく後続する移動コマンドをロボットに出
力することにより、ロボットアームの配置を制御するように、更に構成することができる
本発明の上述の特徴、目的、及び利点、並びに他の特徴、目的、及び利点は、添付の図
面に示されるような本発明の実施形態の以下の説明から明らかであろう。本明細書に組み
込まれるとともに本明細書の一部をなす添付の図面は更に、本発明の原理を説明するとと
もに、当業者が本発明を実施及び使用することを可能にする役割を果たす。図面は一定縮
尺ではない。
本発明の実施形態による、カメラキャリブレーションが実施されるシステムのブロック図である。 本発明の実施形態による、カメラキャリブレーションが実施されるシステムのブロック図である。 本発明の実施形態による、カメラキャリブレーションを実施するように構成されたロボット制御システムのブロック図である。 本発明の実施形態による、ロボットがカメラキャリブレーションから得られるキャリブレーション情報に基づいて制御されていることを示すシステムの図である。 本発明の実施形態による、カメラキャリブレーションの固有キャリブレーションフェーズ及びハンド−アイキャリブレーションフェーズによって得られるキャリブレーション情報の一例を示す図である。 本発明の実施形態による、カメラキャリブレーションに関与するカメラのモデルを示す図である。 本発明の実施形態による、カメラキャリブレーションを実施することに関与する座標系を示す図である。 本発明の実施形態による、カメラキャリブレーションを実施することに関与する座標系を示す図である。 本発明の実施形態による、カメラの視野(カメラ視野とも呼ぶ)内のキャリブレーションパターンを配置すべき位置を求め、求められた位置においてキャリブレーションパターンのそれぞれの画像を取り込む方法を示すフロー図である。 本発明の実施形態による、ロボットアームがカメラの視野内の様々な位置にキャリブレーションパターンを配置するシステム例を示す図である。 本発明の実施形態による、ロボットアームがカメラの視野内の様々な位置にキャリブレーションパターンを配置するシステム例を示す図である。 本発明の実施形態による、キャリブレーションパターンが配置される様々な位置を囲む仮想立方体を示す図である。 本発明の実施形態による、キャリブレーションパターンが配置される様々な位置を囲む仮想立方体を示す図である。 本発明の実施形態による、キャリブレーションパターンが配置される様々な位置を囲む仮想立方体を示す図である。 本発明の実施形態による、キャリブレーションパターンが配置される様々な位置を囲む仮想立方体を示す図である。 本発明の実施形態による、カメラによって取り込まれたキャリブレーションパターンの画像であるキャリブレーション画像例を示す図である。 本発明の実施形態による、カメラによって取り込まれたキャリブレーションパターンの画像であるキャリブレーション画像例を示す図である。 本発明の実施形態による、カメラによって取り込まれたキャリブレーションパターンの画像であるキャリブレーション画像例を示す図である。 本発明の実施形態による、カメラによって取り込まれたキャリブレーションパターンの画像であるキャリブレーション画像例を示す図である。 本発明の実施形態による、カメラの視野内に収まる仮想立方体を示す図である。 本発明の実施形態による、キャリブレーションパターン例を示す図である。 本発明の実施形態による、画像がレンズ歪みの影響を示すキャリブレーションパターンの画像例を示す図である。 本発明の実施形態による、カメラキャリブレーションを実施する方法を示すフロー図である。 本発明の実施形態による、カメラキャリブレーションを実施する方法を示すフロー図である。 本発明の実施形態による、キャリブレーションパターンの画像における湾曲の量を求める態様を示す図である。 本発明の実施形態による、カメラキャリブレーションの固有キャリブレーションフェーズの例を示す図である。 本発明の実施形態による、カメラキャリブレーションの固有キャリブレーションフェーズの例を示す図である。 本発明の実施形態による、カメラキャリブレーションのハンド−アイキャリブレーションフェーズの一例を示す図である。
以下の詳細な説明は、本質的に単に例示のものであり、本発明又は本発明の用途及び使
用を限定することを意図するものではない。さらに、前出の技術分野、背景技術、発明の
概要又は以下の詳細な説明において提示されるいかなる明示された又は暗示された理論に
よっても限定する意図はない。
本明細書に記載する実施形態は、倉庫、製造工場において、又は他の何らかの環境にお
いて使用されるロボット等、ロボットを制御するために使用されるカメラのキャリブレー
ションを実施することに関する。キャリブレーションは、カメラキャリブレーションと呼
ばれる場合があり、例えば、ロボット制御システム(ロボットコントローラーとも呼ぶ)
が、カメラによって取り込まれる画像に基づいてロボットを制御するロボット制御システ
ムの能力を促進するキャリブレーション情報を生成するために実施することができる。例
えば、ロボットは、倉庫において包装品を拾い上げるために使用される場合があり、そこ
では、ロボットのアーム又は他の構成要素の配置は、カメラによって取り込まれる包装品
の画像に基づくことができる。その場合、キャリブレーション情報は、例えば、ロボット
のアームに対する包装品の位置及び向きを求めるために、包装品の画像とともに使用する
ことができる。より詳細に後述するように、カメラキャリブレーションは、カメラの固有
(intrinsic)カメラパラメーターのそれぞれの推定値を求めることと、カメラとその外
部環境との関係の推定値を求めることとを含むことができる。固有カメラパラメーターは
、カメラの固有パラメーターを指すことができ、カメラの内部(internal)パラメーター
とも呼ぶことができ、例えば、行列、ベクトル又はスカラー値である値を有することがで
きる。より詳細に後述するように、固有カメラパラメーターの例としては、射影行列及び
歪みパラメーターが挙げられ、固有カメラパラメーターの推定値は、推定された値と呼ぶ
こともできる。カメラとその外部環境との関係は、場合により、変換関数として表現する
ことができ、この変換関数の推定値は、推定された関数と呼ぶこともできる。場合により
、変換関数は、行列によって表される線形変換とすることができる。場合により、カメラ
キャリブレーションは、定義された位置に配置されるパターン要素を有することができる
キャリブレーションパターンを用いて実施することができる。カメラは、キャリブレーシ
ョンパターンのパターン要素の画像を取り込むことができ、カメラキャリブレーションは
、パターン要素の画像をパターン要素の定義された位置と比較することに基づいて実施す
ることができる。
本発明の実施形態の1つの態様は、第2の固有カメラパラメーター(例えば、歪みパラ
メーター)の推定値を求めるために使用されるものとは別個の段階において第1の固有カ
メラパラメーター(例えば、射影行列)の推定値を求めることにより、カメラキャリブレ
ーションの精度を向上させることに関する。より具体的には、第1の固有カメラパラメー
ターは、第1の段階において推定することができ、結果として得られる推定値は、第2の
段階に対する入力として使用することができ、第2の段階では、第2の固有カメラパラメ
ーターの推定値が求められる。この手法の下では、第1の固有カメラパラメーターの推定
値は、第2の段階の間では既知であるとみなすことができ、それにより、第2の段階は、
第2の固有カメラパラメーターの推定値を求めることに対して限定することができる。さ
らに、第1の固有カメラパラメーターの推定値は既知であるとみなされるため、第2の段
階は、カメラの全ての固有カメラパラメーターに対してそれぞれの推定値を求める必要は
ないが、第2の固有カメラパラメーターの推定値のみを求めることに焦点を当てることが
できる。その結果、第2の段階は、全ての固有カメラパラメーターに対するそれぞれの推
定値が、単一の段階において同時に推定され、その後、固有キャリブレーションの出力と
して使用される実施態様と比較して、キャリブレーションエラーに対してよりロバストで
ある、第2の固有カメラパラメーターのより正確な推定値をもたらすことができる。
例えば、単一の段階は、例えば、固有カメラパラメーターを含み、かつ、キャリブレー
ションパターンのパターン要素の画像とパターン要素の定義された位置との関係を記述す
る、一組の連立方程式を生成し解くことにより、カメラの全ての固有カメラパラメーター
に対するそれぞれの推定値を同時に求めることができる。場合により、連立方程式は、パ
ターン要素が現れる取り込まれた画像(キャリブレーション画像と呼ぶこともできる)に
おける位置とパターン要素の定義された位置との関係を記述することができる。しかしな
がら、カメラからの取り込まれたキャリブレーション画像は、画像ノイズを含む可能性が
あり、それにより、連立方程式の精度が低下する可能性がある。その結果、連立方程式か
ら導出される固有カメラパラメーターのそれぞれの推定値もまた、精度が低下する可能性
がある。さらに、連立方程式の各固有カメラパラメーターに対するそれぞれの推定値は、
連立方程式を満たすことができるように幾つかの精度を犠牲にする可能性がある。したが
って、この単一の段階は、固有カメラパラメーターのその推定値にキャリブレーションエ
ラーを引き起こす可能性があり、それは、カメラによって取り込まれる画像に基づいてロ
ボットのアームを正確に位置決めする能力に影響を与える可能性がある。
一実施形態では、キャリブレーションエラーは、カメラの全ての固有カメラパラメータ
ーに対してそれぞれの推定値を求めるために複数の段階を使用することによって低減させ
ることができる。上述したように、第1の段階を用いて、第1の固有カメラパラメーター
の第1の推定値を求めることができ、第2の段階を用いて、第2の固有カメラパラメータ
ーの第1の推定値を求めることができる。場合により、第1の段階はまた、第2の固有カ
メラパラメーターに対して別の推定値も生成することができるが、第2の段階は、第1の
段階からのこの推定値を無視することができ、代わりに、第2の固有カメラパラメーター
に対してそれ自体の推定値を生成することができる。場合により、第2の段階は、全ての
固有カメラパラメーターに対してそれぞれの推定値を求める汎用段階ではなく、第2の固
有カメラパラメーターのみに対する推定値を求めることに専用である専用段階とすること
ができる。その結果、第2の段階は、第2の固有カメラパラメーターに対してより正確な
推定値を生成することができる。
一実施形態では、複数の段階をパイプライン式に使用することができ、そこでは、上述
したように、第1の段階の結果が、第2の段階に対する入力として使用される。より具体
的には、第2の段階は、第1の段階からの第1の固有カメラパラメーターの推定値に基づ
いて第2の固有カメラパラメーターに対する推定値を生成することができる。場合により
、第2の段階からの第2の固有カメラパラメーターの推定値は、その後、第1の固有カメ
ラパラメーターの推定値を精密化するために使用することができ、それは、第3の段階と
して扱うことができる。場合により、第3の段階もまた、第2の固有カメラパラメーター
の推定値を精密化することができる。例えば、第2の段階からの第2の固有カメラパラメ
ーターの推定値は、第3の段階により、第2の固有カメラパラメーターに関する通知され
た初期推量として使用することができる。この初期推量は、高水準の精度を有することが
でき、したがって、第3の段階が、第1の固有カメラパラメーター及び第2の固有カメラ
パラメーターの推定値を更に改善するのに役立つことができる。
一実施形態では、固有カメラパラメーターのそれぞれの推定値は、それぞれのパターン
要素のシミュレートされた位置を求めるために使用することにより、推定値の精度を評価
する第4の段階において、更に精密化することができる。場合により、第4の段階は、第
3の段階に続くことができる。他の場合では、第4の段階は、第2の段階の直後に実施す
ることができ、上述した第3の段階はスキップすることができる。より詳細に後述するよ
うに、パターン要素に対するシミュレートされた位置は、固有カメラパラメーターの推定
値に基づきパターン要素が現れると予測される、キャリブレーション画像における予測さ
れた位置とすることができる。第4の段階は、それぞれのパターン要素のシミュレートさ
れた位置を、パターン要素が取り込まれたキャリブレーション画像に現れる実際の位置と
比較することができる。この段階により、シミュレートされた位置とパターン要素が現れ
る実際の位置との差を低減させるように、固有カメラパラメーターの推定値を調整するこ
とができる。
一実施形態では、シミュレートされた位置の確定は、カメラキャリブレーションの固有
キャリブレーションフェーズの一部として実施することができる。より詳細に後述するよ
うに、カメラキャリブレーションは、ハンド−アイキャリブレーションフェーズを更に含
むことができる。一実施形態では、ハンド−アイキャリブレーションフェーズはまた、様
々な関数の推定値がそれぞれのパターン要素のシミュレートされた位置に基づいて調整さ
れる段階も含むことができる。
本発明の実施形態の1つの態様は、キャリブレーションパターンに対して様々なポーズ
を計画することに関し、そこでは、キャリブレーションパターンは、こうしたポーズでカ
メラによって撮影される。ロボット制御システムが、ポーズを決定し、それらのポーズに
キャリブレーションパターンを移動させるようにロボットアームを制御することができる
。各ポーズは、カメラに対するキャリブレーションパターンの位置及び/又は向きを指す
ことができる。一実施形態では、ポーズ計画は、カメラの視野内における、ロボットがキ
ャリブレーションパターンを移動させる複数の位置を決定することを含むことができる。
場合により、複数の位置は、カメラの視野(カメラ視野とも呼ぶ)内に収まる(例えば
、完全に収まる)仮想立方体の上に又は仮想立方体を通して分散させることができる。仮
想立方体の使用により、カメラは、一組の多様な位置においてキャリブレーションパター
ンを取り込むことができ、それにより、カメラキャリブレーションがより多くの組の状況
を考慮するようにすることができ、したがって、カメラキャリブレーションをよりロバス
トにすることができる。例えば、多様な位置は、仮想立方体の角位置とともに、仮想立方
体の中心位置を含むことができる。角位置は、カメラの視野の周縁部により近い可能性が
ある。中心位置は、カメラの真正面である可能性があり、より具体的には、カメラの視野
の中心軸に沿って位置することができる。場合により、カメラは、カメラの視野の周縁部
の近くに位置する物体を撮影しているときに重要な量のレンズ歪みを導入する可能性があ
り、カメラの視野の中心軸の近くにある物体を撮影しているときはレンズ歪みをほとんど
又は全く導入しない可能性がある。キャリブレーションパターンを配置するための仮想立
方体の使用により、キャリブレーションパターンは、カメラの視野の周縁部の近くで撮影
され、かつカメラの視野の中心軸の近くで撮影されるようにすることができる。その結果
、カメラは、程度の異なるレンズ歪みを示す可能性がある、キャリブレーション画像の多
様な組を取り込むことができる。したがって、キャリブレーション画像の多様な組により
、カメラキャリブレーションは、カメラのレンズ歪みの特性をより適切に推定することが
できる。
一実施形態では、カメラキャリブレーションに使用される一組のキャリブレーション画
像にわたって、キャリブレーションパターンの向きもまた変更することができる。例えば
、ロボット制御システムは、複数の位置のうちの各位置に対して、ロボットアームがカメ
ラに対してキャリブレーションパターンを傾かせる角度を求めることができる。一実施形
態では、ロボットアームがキャリブレーションパターンを移動させる複数の位置は、仮想
立方体の上で又は仮想立方体を通して一様に分散させるか、又は、仮想立方体を通してラ
ンダムに分散させることができる。一実施形態では、仮想立方体は、ロボットアームを介
してキャリブレーションパターンが全ての角位置に達することができる立方体でなければ
ならない可能性がある。さらに、角位置は、ロボットアームが、キャリブレーションパタ
ーンを、幾つかの又は全ての角位置に対して、カメラに対する角度の定義された範囲内に
あるように傾かせることができるように、位置付けられなければならない可能性がある。
場合により、特定の仮想立方体が上記条件を満たさない場合、ロボット制御システムは、
より小さい仮想立方体を用いて上記条件を満たすように試行することができる。
図1Aは、自動カメラキャリブレーションを実施するロボット動作システム100のブ
ロック図を示す。ロボット動作システム100は、ロボット150と、ロボット制御シス
テム110(ロボットコントローラーとも呼ぶ)と、カメラ170とを備える。一実施形
態では、ロボット動作システム100は、倉庫、製造工場又は他の敷地内に位置すること
ができる。ロボット制御システム110は、カメラキャリブレーション(より詳細に後述
する)を実施して、後にロボット150を制御するために使用されるキャリブレーション
情報を求めるように構成することができる。場合により、ロボット制御システム110は
、カメラキャリブレーションを実施し、かつ、キャリブレーション情報に基づいてロボッ
ト150を制御するように構成される。場合により、ロボット制御システム110は、カ
メラキャリブレーションを実施することに専用とすることができ、別のロボット制御シス
テム(別のロボットコントローラーとも呼ぶ)にキャリブレーション情報を通信すること
ができ、別のロボット制御システムは、それにより、キャリブレーション情報に基づいて
ロボット150を制御する。ロボット150は、カメラ170によって取り込まれる画像
と、キャリブレーション情報とに基づいて、位置決めすることができる。
一実施形態において、ロボット制御システム110は、ロボット150及びカメラ17
0と有線又は無線通信を介して通信するように構成することができる。例えば、ロボット
制御システム110は、RS−232インターフェース、ユニバーサルシリアルバス(U
SB)インターフェース、Ethernetインターフェース、Bluetooth(登
録商標)インターフェース、IEEE802.11インターフェース又はそれらの任意の
組合せを介して、ロボット150及び/又はカメラ170と通信するように構成すること
ができる。一実施形態では、ロボット制御システム110は、ペリフェラルコンポーネン
トインターコネクト(PCI)バス等、ローカルコンピューターバスを介して、ロボット
150及び/又はカメラ170と通信するように構成することができる。
一実施形態では、ロボット制御システム110は、ロボット150とは別個とすること
ができ、上述した無線又は有線接続を介してロボット150と通信することができる。例
えば、ロボット制御システム110は、有線接続又は無線接続を介してロボット150及
びカメラ170と通信するように構成されているスタンドアローンコンピューターとする
ことができる。一実施形態では、ロボット制御システム110は、ロボット150の一体
構成要素とすることができ、上述したローカルコンピューターバスを介してロボット15
0の他の構成要素と通信することができる。場合により、ロボット制御システム110は
、ロボット150のみを制御する専用制御システム(専用コントローラーとも呼ぶ)とす
ることができる。他の場合では、ロボット制御システム110は、ロボット150を含む
複数のロボットを制御するように構成することができる。一実施形態では、ロボット制御
システム110、ロボット150及びカメラ170は、同じ敷地(例えば、倉庫)に位置
する。一実施形態では、ロボット制御システム110は、ロボット150及びカメラ17
0から遠隔とすることができ、ネットワーク接続(例えば、ローカルエリアネットワーク
(LAN)接続)を介してロボット150及びカメラ170と通信するように構成するこ
とができる。
一実施形態では、ロボット制御システム110は、ロボット150に配置されたキャリ
ブレーションパターン160の画像(キャリブレーション画像とも呼ぶ)を取得する(re
trieve)か又は他の方法で受け取るように構成することができる。場合により、ロボット
制御システム110は、こうした画像を取り込むようにカメラ170を制御するように構
成することができる。例えば、ロボット制御システム110は、カメラ170に対してカ
メラ170の視野(カメラ視野とも呼ぶ)内のシーンの画像を取り込ませるカメラコマン
ドを生成し、有線又は無線接続を介してカメラコマンドをカメラ170に通信するように
構成することができる。同じコマンドにより、カメラ170はまた、画像を(画像データ
として)ロボット制御システム110、又はより一般的には、ロボット制御システム11
0がアクセス可能な記憶装置に通信して戻すこともできる。代替的に、ロボット制御シス
テム110は、別のカメラコマンドを生成することができ、それにより、カメラ170は
、そのカメラコマンドを受け取ると、カメラ170が取り込んだ画像(複数の場合もある
)をロボット制御システム110に通信する。一実施形態では、カメラ170は、そのカ
メラ視野内のシーンの画像を、周期的に又は定義されたトリガー条件に応じて、ロボット
制御システム110からのカメラコマンドを必要とすることなく、自動的に取り込むこと
ができる。こうした実施形態では、カメラ170はまた、ロボット制御システム110に
、又はより一般的には、ロボット制御システム110がアクセス可能な記憶装置に、ロボ
ット制御システム110からのカメラコマンドなしに、画像を自動的に通信するように構
成することもできる。
一実施形態では、ロボット制御システム110は、ロボット制御システム110によっ
て生成されかつロボット150に有線又は無線接続を介して通信される移動コマンドを介
して、ロボット150の移動を制御するように構成することができる。移動コマンドによ
り、ロボットは、ロボットに配置されたキャリブレーションパターン160を移動させる
ことができる。キャリブレーションパターン160は、ロボット150に永久的に配置す
ることができ、又は、ロボット150に取り付けかつロボットから取り外すことができる
別個の構成要素とすることができる。
一実施形態では、ロボット150を制御するために使用される唯一の画像は、カメラ1
70によって取り込まれる画像である。別の実施形態では、ロボット150は、複数のカ
メラからの画像によって制御することができる。図1Bは、ロボット動作システム100
の一実施形態であるロボット動作システム100Aを示す。システム100Aは、カメラ
170及びカメラ180等の複数のカメラを備える。ロボット制御システム110は、カ
メラ170及びカメラ180の両方から画像を受け取り、2つのカメラ170、180か
らの画像に基づきロボット150の移動を制御するように構成することができる。場合に
より、2つのカメラ170、180の存在により、ロボット制御システム110に立体視
を与えることができる。ロボット制御システム110は、より詳細に後述するように、カ
メラ170及びカメラ180の両方に対してカメラキャリブレーションを実施するように
構成することができる。一実施形態では、ロボット制御システム110は、カメラキャリ
ブレーションを実施するために、両方のカメラ170、180を制御して、キャリブレー
ションパターン160のそれぞれの画像を取り込むことができる。一実施形態では、ロボ
ット動作システム100Aは、厳密に2つのカメラを有することができ、又は、3つ以上
のカメラを有することができる。
図1Cは、ロボット制御システム110のブロック図を示す。このブロック図に示すよ
うに、ロボット制御システム110は、制御回路111と、通信インターフェース113
と、非一時的コンピューター可読媒体115(例えば、メモリ)とを備えることができる
。一実施形態では、制御回路111は、1つ以上のプロセッサ、プログラマブルロジック
回路(PLC)若しくはプログラマブルロジックアレイ(PLA)、フィールドプログラ
マブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)又は他の任意の制
御回路を含むことができる。
一実施形態では、通信インターフェース113は、カメラ170及びロボット150と
通信するように構成されている1つ以上の構成要素を備えることができる。例えば、通信
インターフェース113は、有線又は無線プロトコルでの通信を実施するように構成され
た通信回路を備えることができる。一例として、通信回路としては、RS−232ポート
コントローラー、USBコントローラー、Ethernetコントローラー、Bluet
ooth(登録商標)コントローラー、PCIバスコントローラー、他の任意の通信回路
又はそれらの組合せを挙げることができる。
一実施形態では、非一時的コンピューター可読媒体115はコンピューターメモリを含
むことができる。コンピューターメモリは、例えば、ダイナミックランダムアクセスメモ
リ(DRAM)、ソリッドステート集積メモリ及び/又はハードディスクドライブ(HD
D)を含むことができる。場合により、カメラキャリブレーションは、非一時的コンピュ
ーター可読媒体115に記憶されたコンピューター実行可能命令(例えば、コンピュータ
ーコード)を通して実施することができる。こうした場合、制御回路111は、コンピュ
ーター実行可能命令を実施してカメラキャリブレーション(例えば、図4並びに図9A及
び図9Bに示すステップ)を実施するように構成された1つ以上のプロセッサを含むこと
ができる。
上述したように、カメラキャリブレーションは、カメラによって取り込まれる画像に基
づいてロボットの制御を容易にするために実施することができる。例えば、図2Aは、画
像を使用して、倉庫において物体292を拾い上げるようにロボット250を制御する、
ロボット動作システム200を示す。より具体的には、ロボット動作システム200は、
図1Aのシステム100の一実施形態とすることができ、カメラ270と、ロボット25
0と、図1Aのロボット制御システム110とを含む。カメラ270は、図1Aのカメラ
170の一実施形態とすることができ、ロボット250は、図1Aのロボット150の一
実施形態とすることができる。カメラ270は、倉庫内のコンベヤベルト293の上に配
置された物体292(例えば、出荷のための包装品)の画像を取り込むように構成するこ
とができ、ロボット制御システム110は、物体292を拾い上げるようにロボット25
0を制御するように構成することができる。
図2Aの実施形態では、ロボット250は、ベース252と、ベース252に対して移
動可能なロボットアームとを有することができる。より具体的には、ロボットアームは、
互いに対して回転可能である複数のリンク254A〜254Cと、リンク254Cに取り
付けられた把持部255とを備えることができ、ここでは、把持部は、物体を拾い上げる
ために使用することができる。一実施形態では、ロボット制御システム110は、リンク
254A〜254Cのうちの1つ以上を回転させる移動コマンドを通信するように構成す
ることができる。移動コマンドは、モーター移動コマンド等の低水準コマンド、又は高水
準コマンドとすることができる。ロボット制御システム110からの移動コマンドが高水
準コマンドである場合、ロボット150は、高水準コマンドを低水準コマンドに変換する
ように構成することができる。
一実施形態では、カメラキャリブレーションの目的のうちの1つは、カメラ270とロ
ボット250との関係、又はより具体的には、カメラ270と、ロボット250のベース
252に対して固定である基準点294との関係を求めることである。言い換えれば、キ
ャリブレーション情報は、カメラ270と基準点294との関係を記述する情報を含むこ
とができる。一実施形態では、この関係は、基準点294に対するカメラ270の位置と
ともに、ロボット250の基準向きに対するカメラ270の向きを指すことができる。一
実施形態では、基準向きは、より詳細に後述するように、ワールド座標系を定義するため
に使用することができ、上記関係は、カメラ−ワールド関係と呼ぶことができる。場合に
より、カメラ−ワールド関係は、カメラ270と物体292との関係(カメラ−物体関係
とも呼ぶ)と、物体292と基準点294との関係(物体−ワールド関係とも呼ぶ)とを
求めるために使用することができる。カメラ−物体関係及び物体−ワールド関係を使用し
て、物体292を拾い上げるようにロボット250を制御することができる。例えば、ロ
ボット制御システム110は、カメラ−物体関係、物体−ワールド関係、カメラ−ワール
ド関係又はそれらの組合せに基づいて、物体292に対する把持部255又はリンク25
4Cの位置及び向き(例えば、リンク−物体関係)を求めるように構成することができる
一実施形態では、カメラキャリブレーションは、固有キャリブレーションフェーズ及び
ハンド−アイキャリブレーションフェーズを含む。図2Bは、固有キャリブレーションフ
ェーズ及びハンド−アイキャリブレーションフェーズから求められる情報の一例を示し、
カメラキャリブレーションを実施するために使用されるキャリブレーションパターン26
0を更に示す。一実施形態では、キャリブレーションパターン260は、リンク254C
に直接かつ固定して取り付けることができ、それにより、キャリブレーションパターン2
60はリンク254Cに対して固定のままである。固有キャリブレーションフェーズは、
カメラ270の固有カメラパラメーターに対してそれぞれの推定値を自動的に求めること
を含むことができる。一実施形態では、カメラ270の固有カメラパラメーターは、値が
カメラ270の位置及び向きとは独立している任意のパラメーターとすることができる。
より詳細に後述するように、固有カメラパラメーターは、カメラ270の焦点距離、カメ
ラの画像センサーのサイズ、又はカメラ270によって導入されるレンズ歪みの影響等、
カメラ270の特性を特徴付けることができる。一実施形態では、ハンド−アイキャリブ
レーションフェーズは、カメラ−ワールド関係及びキャリブレーションパターン260と
リンク254Cとの関係(パターン−リンク関係とも呼ぶ)、又はより具体的には、キャ
リブレーションパターン260とリンク254C上の基準点296との関係を自動的に求
めることを含むことができる。一実施形態では、カメラ−ワールド関係及びパターン−リ
ンク関係は、カメラ270とパターン260との関係(カメラ−パターン関係とも呼ぶ)
と、リンク254Cと基準点294との関係(リンク−ワールド関係とも呼ぶ)とに基づ
いて求めることができる。場合により、カメラ−パターン関係は、固有キャリブレーショ
ンの結果に基づいて求めることができ、リンク−ワールド関係は、ロボット制御システム
110がロボット250に通信した移動コマンドに基づいて求めることができる。一実施
形態では、カメラキャリブレーションは、複数のカメラを備えるシステムに対するステレ
オキャリブレーションフェーズを含むことができる。ステレオキャリブレーションフェー
ズは、1つのカメラの別のカメラの位置及び向きに対する位置及び向き等、複数のカメラ
の間の関係を求めることを含むことができる。
一実施形態では、カメラの固有カメラパラメーターは、カメラの外部の物体がその画像
センサー上に画像としていかに投影されるかと、レンズが画像において物体の外観をいか
に歪めるかとを記述することができる。例えば、図3Aは、1つ以上のレンズ371と、
画像センサー373と、通信インターフェース375とを備える、図1Aのカメラ170
及び図2Aのカメラ270の一実施形態であるカメラ370のブロック図を示す。通信イ
ンターフェース375は、図1Aのロボット制御システム110と通信するように構成す
ることができ、ロボット制御システム110の図1Aの通信インターフェース113と同
様とすることができる。一実施形態では、1つ以上のレンズ371は、カメラ370の外
側から入ってくる光を画像センサー373上に集束させることができる。一実施形態では
、画像センサー373は、それぞれのピクセル強度値を介して画像を表すように構成され
たピクセルのアレイを含むことができる。画像センサー373は、電荷結合素子(CCD
)センサー、相補型金属酸化膜半導体(CMOS)センサー、量子イメージセンサー(Q
IS:quanta image sensor)又は他の任意の画像センサーを含むことができる。
上述したように、固有カメラパラメーターは、カメラ370の視野(そのカメラ視野と
も呼ぶ)内の物体が、画像センサー上に像としていかに投影されるか、又はより具体的に
は、物体が配置されている様々な位置が画像センサーのピクセルアレイ上にいかに投影さ
れるかを記述することができる。例えば、図3Bは、カメラ370Aの外部の位置
を示し、ここで、Tという上付き文字は転置を指し、Cameraという下付き文字は、
カメラ座標系において表現されているものとしてのX、Y及びZ座標を指す。より具体的
には、カメラ370Aは、カメラ370の一実施形態とすることができ、1つ以上のレン
ズ371A及び画像センサー373Aを備えることができる。カメラ370Aの位置及び
向きは、カメラ座標系を定義するために使用することができる。図3Bは、カメラ座標系
を直交座標軸
によって定義されるように示す。座標軸は、カメラ370Aの様々な構成要素の向きと位
置合わせすることができる。例えば、
座標軸は、1つ以上のレンズ371Aの光軸と等しくすることができる、カメラ370A
のカメラ視野の中心軸と等しくすることができる。場合により、
及び
座標軸は、画像センサー373Aの縁に対して平行とすることができる。さらに、カメラ
座標系の原点は、1つ以上のレンズ371Aのうちの1つのレンズの位置、カメラ370
Aの絞りの位置、又は別の位置(例えば、画像センサー373Aの上、正面又は後方の位
置)と等しくすることができる。
一実施形態では、位置
からの光は、カメラ内の座標
の上に投影することができ、ここで、fは、1つ以上のレンズ371Aの焦点距離である
。カメラ座標系におけるこの座標はまた、画像センサー座標系におけるピクセル座標
にも対応することができる。図3Bは、画像センサー373Aのそれぞれの縁と位置合わ
せすることができる座標軸
によって定義されるように画像センサー座標系を示す。画像センサー座標系は、画像セン
サー373Aの角に位置する原点を有することができる。
一実施形態では、固有カメラパラメーターは、スカラー値、ベクトル又は行列である値
を有することができる。一実施形態では、固有カメラパラメーターのうちの1つは、
位置
と位置
との幾何学的関係をモデル化する射影行列Kである。この固有カメラパラメーターの推定
値は推定された行列とすることができ、それは、行列の成分のそれぞれの推定された値を
含むことができる。場合により、より詳細に後述するように、射影行列Kは、

との歪みなし関係をモデル化することができ、別の固有カメラパラメーター又は一組の固
有カメラパラメーターは、レンズ歪みの影響を考慮することができる。一実施形態では、
及び
である。この例では、fは、焦点距離fと、
軸に沿った画像センサー373Aのピクセルサイズとに基づく第1のスケールファクター
とすることができる。同様に、fは、カメラ370Aの焦点距離fと、
軸に沿った画像センサー373Aのピクセルサイズとに基づく第2のスケールファクター
とすることができる。f及びfはともに、ピクセル/ミリメートルの単位を有するこ
とができる。値Cは、主点オフセットの第1の部分とすることができ、画像センサー座
標系の原点とカメラ座標系の原点との間の
軸に沿った距離に基づくことができる。値Cは、主点オフセットの第2の部分とするこ
とができ、画像センサー座標系の原点とカメラ座標系の原点との間の
軸に沿った距離に基づくことができる。上述したように、射影行列Kは、固有カメラパラ
メーターであり、f、f、C及びCの各々は行列の成分であり、成分の各々はス
カラー値を有する。一実施形態では、f、f、C、Cの各々及び焦点距離fもま
た、固有カメラパラメーターとみなすことができ、それらの固有カメラパラメーターの各
々の値はスカラー値である。
一実施形態では、固有カメラパラメーターは、1つ以上のレンズ371Aによってもた
らされるレンズ歪みの影響を特徴付けることができる1つ以上の歪みパラメーターを含む
。一実施形態では、固有カメラパラメーターは、歪み関数におけるパラメーターとするこ
とができる。例えば、1つ以上のレンズ371Aのレンズ歪みは、位置
が、
にあるかのように見えるようにする効果としてモデル化することができ、ここで、第1の
関数d(第1の歪み関数と呼ぶことができる)が、
をX、Y及びZの値に関連付けることができ、第2の関数d(第2の関数とも呼ぶ)が

をX、Y及びZの値に関連付けることができる。例えば、1つのモデルでは、
であり、式中、
である。この例では、k、k、k、p、pの各々は、スカラー値を有する歪み
パラメーターとすることができ、特定の歪みパラメーターの推定値は、推定されたスカラ
ー値とすることができる。さらに、推定値は、一組の歪みパラメーター(例えば、k
、k、p、p)に対して求めることができ、一組の歪みパラメーターの推定値
は、一組の歪みパラメーターに対する一組のそれぞれの推定されたスカラー値を指す。
上述したように、カメラキャリブレーションは、カメラとカメラの環境との関係、又は
、キャリブレーションパターンとパターンの環境との関係を求める、ハンド−アイキャリ
ブレーションフェーズを含むことができる。ハンド−アイキャリブレーションについては
、より詳細に後述する。一実施形態では、外部パラメーターは、図2Bに示すカメラ−ワ
ールド関係及びパターン−リンク関係を記述することができる。一実施形態では、カメラ
−ワールド関係は、カメラ座標系とワールド座標系との関係を記述する変換関数を介して
記述することができる。ワールド座標系は、図3Cに示され、座標軸
によって定義される。ワールド座標系の原点は、基準点394であり、基準点394は、
ロボット350のベース352に対して固定である任意の点とすることができる。一実施
形態では、軸
は、任意の向きを有することができる。一実施形態では、軸
は、ロボット350、又はロボット350が位置する環境(例えば、倉庫)の構造に対し
て、定義することができる。例えば、軸
は、倉庫の床に対して直交していなければならない場合がある。一実施形態では、上記変
換関数は、カメラ座標系からワールド座標系への線形変換を定義する行列
とすることができる。上記
という命名は、座標系「b」における座標から座標系「a」における座標への写像を定義
するb−a変換に対する変換行列を指す。1つの例では、
は、形式
を有する。
上記例では、Rbaは、座標系bと座標系aとの間の相対的な回転行列であり、tba
は、座標系bと座標系aとの間の相対的な並進ベクトルである。
一実施形態では、パターン−リンク関係は、パターン座標系とリンク座標系との関係を
記述する変換関数を介して記述することができ、その例を図3Cに示す。一実施形態では
、キャリブレーションパターン360は、カメラキャリブレーションを実施するために使
用することができ、ロボット350のリンク354に取り付けることができ、リンク35
4は、ロボット350のロボットアームの少なくとも一部を形成することができる。パタ
ーン座標系は、キャリブレーションパターン360に関して定義される座標系とすること
ができる。例えば、パターン座標系は、座標軸
によって定義することができ、キャリブレーションパターン360の中心に位置する原点
を有することができる。一実施形態では、キャリブレーションパターン360は、平坦な
矩形ボード又は平坦な矩形シート(例えば、ステッカー)から形成することができ、
は、平坦ボード又は平坦シートのそれぞれの縁に対して平行とすることができ、
は、平坦ボード又は平坦シートに対して直交している。図3Cはまた、座標軸
によって定義することができるリンク座標系も示す。一実施形態では、リンク座標系の原
点は、リンク354の点396である。リンク354は、キャリブレーションパターン3
60に固定して取り付けることができ、それにより、キャリブレーションパターン360
は、リンク354に対して固定である。一実施形態では、座標軸
の向きは、リンク354の向きと同じとすることができる。一実施形態では、パターン−
リンク関係に対する変換関数は、パターン座標系とリンク座標系との間の線形変換を定義
する行列
とすることができる。一実施形態では、
は、ハンド−アイキャリブレーションフェーズを実施する前には未知である可能性があり
、ハンド−アイキャリブレーションフェーズは、カメラ−ワールド関係(例えば、
)の推定値とともに、
の推定値を求めることを含むことができる。
より詳細に後述するように、ハンド−アイキャリブレーションフェーズの幾つかの実施
形態は、カメラ−パターン関係及びリンク−ワールド関係に基づいて、カメラ−ワールド
関係及びパターン−リンク関係を求めることができる。一実施形態では、カメラ−パター
ン関係は、カメラ座標系とパターン座標系との間の線形変換を定義する行列
によって定義することができる。一実施形態では、リンク−ワールド関係は、リンク座標
系とワールド座標系との間の線形変換を定義する行列
によって定義することができる。
或るロボットが2つ以上のカメラからの画像に基づいて制御される一実施形態では、カ
メラキャリブレーションは、第1のカメラ(例えば、図1Bにおけるカメラ1)のカメラ
座標系と第2のカメラ(例えば、図1Bにおけるカメラ2)のカメラ座標系との関係を記
述する変換関数を推定するか又は他の方法で求める、ステレオキャリブレーションフェー
ズを含むことができる。一実施形態では、こうした変換関数は、2つのカメラ座標系の間
の線形変換を定義する行列
とすることができる。
上述したように、カメラキャリブレーションは、キャリブレーションパターンがカメラ
によって撮影される位置及び/又は向きを求めることを含むことができ、結果として得ら
れる画像は、固有キャリブレーション、ハンド−アイキャリブレーション及び/又はステ
レオキャリブレーションを実施するために使用される。例えば、キャリブレーションパタ
ーンは、カメラのカメラ視野内に収まる仮想立方体の上に又は仮想立方体を通して分散さ
れる複数の位置まで移動させることができる。図4は、カメラキャリブレーションを実施
するためのキャリブレーションパターンの画像(キャリブレーション画像とも呼ぶ)を得
る方法400を示すフロー図を示す。一実施形態では、方法400は、図1Aのロボット
制御システム110の図1Aの制御回路111によって実施される。上述したように、ロ
ボット制御システム110は、ロボットアーム及びカメラと通信するように構成された通
信インターフェースを備えることができる。
図5Aに、方法400が実施される環境例を示し、図5Aは、カメラ470及びロボッ
ト450と通信する図1Aのロボット制御システム110を含むロボット動作システム5
00を示す。カメラ470は、図1A/図2A/図3Aのカメラ170/270/370
の一実施形態とすることができ、ロボットは、図1A/図2A/図3Aのロボット150
/250/350の一実施形態とすることができる。ロボット450は、ベース452と
ベース452に対して移動可能なロボットアームとを備えることができる。ロボットアー
ムは、リンク454A〜リンク454E等、1つ以上のリンクを備える。一実施形態では
、リンク454A〜454Eは、互いに回転可能に取り付けることができる。例えば、リ
ンク454Aは、ジョイント456Aを介してロボットベース452に回転可能に取り付
けることができる。残りのリンク454B〜454Eは、ジョイント456B〜456E
を介して互いに回転可能に取り付けることができる。一実施形態では、リンク(例えば、
454B〜454E)は、1つ以上の直動ジョイントのみを介して、又は直動ジョイント
を他のタイプのジョイント(例えば、1つ以上の円筒ジョイント)と組み合わせて、接続
することができる。1つ以上の直動ジョイントを含むこうした実施形態では、リンクは、
互いに直線的に取り付けられていると言うことができる。一実施形態では、ベース452
は、ロボット450を、例えば、取付フレーム又は取付面(例えば、倉庫の床)に取り付
けるために使用することができる。一実施形態では、ロボット450は、リンク454A
〜454Eを回転させることによりロボットアームを移動させるように構成されている複
数のモーターを備えることができる。例えば、モーターのうちの1つは、図5Aにおいて
点線矢印によって示すように、ジョイント456A及びベース402に対して第1のリン
ク454Aを回転させるように構成することができる。同様に、複数のモーターのうちの
他のモーターは、リンク454B〜454Eを回転させるように構成することができる。
複数のモーターは、ロボット制御システム110によって制御することができる。図5A
は、第5のリンク454Eに固定して配置されたキャリブレーションパターン460を更
に示し、それにより、リンク454A〜454Eの回転又はロボット450の他の移動に
より、リンク454Eに対してキャリブレーションパターン460の位置も向きも変化し
ない。一実施形態では、リンク454Eの上にキャリブレーションパターン460を塗装
することができる。一実施形態では、キャリブレーションパターン460は、リンク45
4Eに取り付けられているキャリブレーションボードの一部とすることができる。
図4に戻ると、方法400は、一実施形態において、ステップ401で開始することが
でき、そこでは、制御回路111は、カメラ視野内に収まる(例えば、完全に収まる)仮
想立方体の全ての角位置を求めることができ、カメラ視野はカメラの視野を指すことがで
きる。図5Bは、カメラ470の視野とすることができる、カメラ視野例510を示し、
カメラ視野510内に収まる仮想立方体550を更に示す。一実施形態では、カメラ視野
510は、カメラ470から外向きに広がる仮想ピラミッドを形成することができる。場
合により、カメラ視野510の幅は、カメラ470の1つ以上のレンズの焦点距離によっ
て決まる可能性がある。図5Cは、仮想立方体550の角位置の一例を示す。より具体的
には、仮想立方体550は、仮想立方体550の8つの角に対応する8つの角位置551
A〜551Hを有する。一実施形態では、仮想立方体の角位置を求めることは、角位置の
座標(例えば、
)を求めることを含むことができる。
一実施形態では、仮想立方体550は空間を画定することができ、その空間の上又は中
で、ロボット450のロボットアームがキャリブレーションパターン460を移動させる
。カメラ470は、仮想立方体550の上又は中の種々の位置に対応するキャリブレーシ
ョンパターン460の複数の画像(キャリブレーション画像とも呼ぶ)を取り込むことが
できる。キャリブレーションパターン460は、球体等の異なる形状によって画定される
空間を通して移動させることができるが、仮想立方体550によって画定される空間は、
カメラ470のカメラ視野510の周縁部に近い方の位置を含むことができる。例えば、
仮想立方体550の8つの角位置は、カメラ視野510の周縁部に近い可能性がある。カ
メラ470が、レンズ歪み又は他の形態のカメラ歪みを示す場合、キャリブレーション画
像に対するレンズ歪みの影響は、例えば、キャリブレーションパターン460がカメラ視
野510の中心の周囲に位置する場合と比較して、キャリブレーションパターン460が
カメラ視野510の周縁部の近くに位置する場合、より顕著である可能性がある。したが
って、仮想立方体550は、歪みの影響がより顕著であるキャリブレーション画像の取得
を容易にすることができ、それにより、カメラキャリブレーションは、カメラ470の歪
みパラメーターに対してより正確な推定値を生成することができる。
図4に戻ると、方法400はステップ403を更に含むことができ、そこでは、制御回
路111は、仮想立方体の上に又は仮想立方体を通して分散される複数の位置を求めるこ
とができ、キャリブレーションパターンは、複数の位置の各位置において少なくとも部分
的にカメラに可視である。
一実施形態では、複数の位置は、仮想立方体の上に又は仮想立方体を通して一様に分散
されている(均一に分散されているとも言う)。一実施形態では、複数の位置は、仮想立
方体の上に又は中に一様に分散されている厳密にn個の位置とすることができ、nは、
2以上であるか又は3以上である正の整数である。例えば、図5Cは、仮想立方体550
の上に又は仮想立方体を通して一様に分散されている厳密に27個の位置の一実施形態を
示す。一実施形態では、複数の一様に分散された位置は、複数の位置のうちの隣接する位
置の間に、仮想立方体の縁に沿って測定される、一様な間隔を有する。例えば、角位置5
51Aは、位置551I〜551Nに対する隣接する位置とすることができる。角位置5
51A及び隣接する位置551I〜551Nは、仮想立方体550の縁に沿って測定され
る、一様の間隔を有することができる。より具体的には、角位置551Aは、隣接する位
置551I〜551Nの各々まで、縁553A、553B又は553Cに沿って測定され
る、同じ距離を有することができる。この距離は、例えば、仮想立方体550の各辺の長
さの半分とすることができる。別の実施形態では、仮想立方体550は、n個のより小
さい、オーバーラップしない立方体(例えば、27個のより小さい立方体)に分割するこ
とができ、より小さい立方体は、仮想立方体550を一様に分割する。こうした実施態様
では、複数の一様に分散された位置のうちの各位置は、それぞれのより小さい立方体の中
心位置とすることができる。
一実施形態では、複数の位置は、仮想立方体550を通してランダムに分散される。場
合により、制御回路111は、仮想立方体550を複数のオーバーラップしない領域に分
割することにより、かつ、複数のオーバーラップしない領域のうちの各領域にあるように
複数の位置のうちのそれぞれの位置を割り当てることにより、複数の位置を求めるように
構成され、特定の領域におけるそれぞれの位置は、その領域におけるランダムな位置とす
ることができる。場合により、制御回路111は、再帰的に又は反復的に、半分の領域の
各々をより小さい半分の領域に分割し、異なる半分領域に位置を割り当てるように構成す
ることができ、それにより、複数の位置は、仮想立方体550の1つの領域の周囲に密集
しない。
例えば、制御回路は、一連の反復にわたり複数の位置を求めるように構成することがで
き、複数の位置のうちの第1の位置は、仮想立方体内の任意の位置として求められ、一連
の反復のうちの第1の反復の間に求められ、仮想立方体は、第1の反復を実施するために
使用される第1の領域を形成する。図5Dは、第1の反復において求められる第1の位置
555Aの一例を示す。この例では、残りの反復に対するそれぞれの位置は、残りの反復
の各々に対して以下を実施することにより求められる。すなわち、(a)先行する反復を
実施するために使用された領域を、オーバーラップしない第1の領域及び第2の領域に分
割し、第1の領域及び第2の領域の各々は、現反復を実施するために使用される領域であ
り、(b)第1の領域及び第2の領域のうちのいずれが先行する位置を含むかを判断し、
先行する位置は、先行する反復において求められた複数の位置のうちのそれぞれの位置で
あり、(c)現位置として、第1の領域及び第2の領域のうちの他方の内部の任意の位置
を求め、現位置は、現反復に対して求められる複数の位置のうちの位置である。例えば、
図5Dは、先行する反復(すなわち、第1の反復)で使用された領域を第1の半分領域5
53A及び第2の半分領域553Bに分割する第2の反復を示す。さらに、第1の反復に
対する位置は第1の半分領域553Aにあるため、第2の反復に対する位置は、他方の第
2の反復領域553Bにある。図5Eは、先行する反復で使用された領域553Aを第1
の反復領域553C及び第2の反復領域553Dに分割する第3の反復を示す。さらに、
先行する反復からの位置555Aが半分領域553Dにあったため、第3の反復に対する
位置555Cは、他方の半分領域553Cにある。図5Fは、先行する反復で使用された
領域553Bを半分領域553E及び553Fに分割する第4の反復を示す。先行する反
復からの位置は半分領域553Fにあったため、第4の反復に対する位置555Dは他方
の半分領域553Eにある。
図4に戻ると、方法400はステップ405を含み、そこでは、制御回路111は、ロ
ボットアームを制御して、ステップ403で求められた複数の位置までキャリブレーショ
ンパターンを移動させることができる。例えば、図5Bに関して、ロボット450は、ロ
ボットアームのリンク454A〜454Eのうちの1つ以上を移動させることにより、ロ
ボットアームを移動させることができる。制御回路111は、例えば、ロボットに対して
複数のリンク454A〜454Eを移動させる1つ以上の移動コマンドを生成し、通信イ
ンターフェース113を介して1つ以上の移動コマンドをロボット450に出力すること
ができる。より具体的には、制御回路111は、1つ以上の移動コマンドを通信インター
フェース113に出力することができ、通信インターフェース113は、ロボットアーム
(例えば、複数のリンク454A〜454E)に対して、1つ以上の移動コマンドに基づ
き、仮想立方体の上に又は仮想立方体を通して分散されている複数の位置までキャリブレ
ーションパターンを移動させるように、ロボット450に1つ以上の移動コマンドを通信
することができる。一実施形態では、1つ以上の移動コマンドは、リンク454A〜45
4Eが互いに対して回転する回転の量を制御する1つ以上のモーターコマンドを含むこと
ができる。一実施形態では、制御回路は、デカルト座標
として位置を求め、このデカルト座標に基づきモーターコマンドを決定するように構成す
ることができる。一実施形態では、制御回路111は、ロボットアームを(例えば、ロボ
ット450に通信される移動コマンドを介して)制御して、仮想立方体550の上に又は
仮想立方体550を通して分散されている複数の位置に対して、カメラ470に対する異
なるそれぞれの角度にキャリブレーションパターン460を傾けさせるように構成するこ
とができ、それにより、複数のそれぞれのキャリブレーション画像は、カメラ470に対
して異なるそれぞれの角度でキャリブレーションパターン460を取り込む。
一実施形態では、方法400はステップ407を含み、そこでは、制御回路111は、
通信インターフェース113を介してカメラ470から複数のキャリブレーション画像を
取得するか又は他の方法で受け取ることができ、複数のキャリブレーション画像は、カメ
ラによって取り込まれ、ステップ403及び405の複数の位置におけるキャリブレーシ
ョンパターン460のそれぞれの画像である。場合により、ステップ407は、制御回路
が、複数の位置に配置されているキャリブレーションパターンに対応する複数のそれぞれ
のキャリブレーション画像を取り込むようにカメラを制御することを含むことができる。
例えば、図6A〜図6Dは、カメラ470に対する異なる位置及び/又は異なるそれぞれ
の角度における図5Aのキャリブレーションパターン460の4つのそれぞれの画像の一
例を示す。場合により、複数のそれぞれのキャリブレーション画像の各キャリブレーショ
ン画像は、それぞれのピクセル強度値を有するピクセルのアレイを含むことができる。一
実施形態では、キャリブレーション画像のうちの1つ以上は、キャリブレーションパター
ンの実際には直線である要素において又は要素の間で湾曲して現れる可能性がある歪みを
示す場合がある。歪みについては、図8Bに関してより詳細に後述する。
一実施形態では、ステップ407は、制御回路が、カメラコマンドを生成し、そのカメ
ラコマンドを、通信インターフェース113を介してカメラに通信することにより、キャ
リブレーション画像を取得することを含むことができる。カメラコマンドは、カメラによ
って受け取られると、カメラに対し、カメラ視野からキャリブレーション画像若しくは他
の任意の画像を取り込ませ、及び/又は、カメラに対し、取り込んだ画像を通信インター
フェース113に戻すように通信させることができ、それにより、通信インターフェース
113は、取り込まれた画像を制御回路111に通信することができる。したがって、そ
の結果、制御回路111は、通信インターフェース113を介してカメラから、取り込ま
れたキャリブレーション画像を受け取ることができる。一実施形態では、制御回路111
は、カメラコマンドを生成することなく、カメラから、取り込まれた画像を受け取ること
ができる。例えば、カメラは、制御回路111からのカメラコマンドを必要とすることな
く、周期的に又は定義されたトリガー条件に応じて、そのカメラ視野からキャリブレーシ
ョン画像又は他の任意の画像を自動的に取り込むことができる。こうした実施形態では、
カメラはまた、制御回路111からのカメラコマンドなしに、自動的に、キャリブレーシ
ョン画像を通信インターフェース113に通信するように構成することもでき、そのため
、通信インターフェース113は、画像を制御回路111に通信することができる。
図4に戻ると、方法400はステップ409を含み、そこでは、制御回路111は、複
数のそれぞれのキャリブレーション画像に基づき、固有カメラパラメーターのそれぞれの
推定値を求めることができる。方法400はステップ411を更に含み、そこでは、制御
回路111は、固有カメラパラメーターのそれぞれの推定値に基づき、カメラ座標系とワ
ールド座標系との関係を記述する変換関数の推定値を求める。一実施形態では、ステップ
409及び411は、固有キャリブレーションフェーズ及びハンド−アイキャリブレーシ
ョンフェーズの一部とすることができ、それらについてはより詳細に後述する。一実施形
態では、方法400はステップ413を含むことができ、そこでは、制御回路は、カメラ
から後続する画像を受け取り、後続する画像に基づきかつ変換関数の推定値に基づく後続
する移動コマンドを(例えば、通信インターフェース113を介して)ロボットに出力す
ることにより、ロボットアームの配置を制御する。例えば、後続する画像は、カメラによ
って取り込まれた(例えば、自動的に又はカメラコマンドに応じて取り込まれた)包装品
又は他の物体の画像とすることができる。1つの例では、ステップ413は、変換関数及
び後続する画像を用いて物体−ワールド関係(例えば、行列
)を求めることを含むことができ、この関係を使用して、包装品に対するロボットアーム
又はロボットの他の構成要素の配置を制御する移動コマンドを生成することができる。
一実施形態では、(仮想立方体の上に又は仮想立方体を通して分散された位置までキャ
リブレーションパターンを移動させる)ステップ405において使用される仮想立方体は
、カメラ視野(例えば、510)内に収まる(例えば、完全に収まる)ことができる最大
仮想立方体とすることができる。一実施形態では、ステップ405において、仮想立方体
の全ての角位置までロボットアームがキャリブレーションパターンを移動させることがで
きる場合(例えば、そうした場合にのみ)、最大仮想立方体が使用される。そうでない場
合、ステップ405に対して、より小さい仮想立方体を使用することができる。例えば、
方法400の1つの実施形態では、ステップ401は、ステップ405の前に実施され、
制御回路111が、カメラのカメラ視野内に収まる第1の仮想立方体を求めることを含む
。図7は、第1の仮想立方体649の一例を示し、それは、場合により、カメラのカメラ
視野に収まることができる最大仮想立方体とすることができる。その場合、制御回路11
1は、(例えば、ロボット450の)ロボットアームが第1の仮想立方体の全ての角位置
までキャリブレーションパターンを移動させることができるか否かを判断することができ
る。ロボットアームがそのようにすることができる場合、ステップ403及び405にお
いて仮想立方体として、第1の仮想立方体を使用することができる。
場合により、制御回路111は、ロボットアームが、第1の仮想立方体649の1つ以
上の角位置までキャリブレーションパターンを移動させることができないと判断する場合
がある。例えば、制御回路111は、ロボットアームが、第1の仮想立方体649の6つ
の角位置までしかキャリブレーションパターンを移動させることができないと判断する場
合があり、第1の仮想立方体649の第7の角位置又は第8の角位置までキャリブレーシ
ョンパターンを移動させることができない場合がある。こうした判断は、キャリブレーシ
ョンパターンを第7の角位置及び第8の角位置の近くに配置することができない可能性を
反映する。こうした状況では、第1の仮想立方体649が、キャリブレーションパターン
がカメラによって撮影される位置を求めるために使用される場合、キャリブレーションパ
ターンを第7の角位置及び第8の角位置の近くに移動させることができないため、カメラ
は、第7の角位置及び第8の角位置の近くでキャリブレーションパターンのキャリブレー
ション画像を取り込むことができない可能性がある。この状況により、カメラキャリブレ
ーションに利用可能なキャリブレーション画像の多様性が低減する可能性があり、それに
より、カメラキャリブレーションの精度又はロバスト性が低下する可能性がある。したが
って、制御回路111は、ロボットアームが第1の仮想立方体649の少なくとも1つの
角位置までキャリブレーションパターンを移動させることができないという判断に応じて
、第1の仮想立方体649より小さい(例えば、20%小さい)第2の仮想立方体650
を求めることができる。ロボットアームが、第2の仮想立方体650の全ての角位置まで
キャリブレーションパターンを移動させることができる場合、第2の仮想立方体650は
、ステップ403及び405の仮想立方体として使用することができる。
一実施形態では、制御回路は、ロボットアームが特定の位置までキャリブレーションパ
ターンを移動させることができるか否かを、物理的な物体(例えば、電源ケーブル)がロ
ボットアームからその位置までの経路を妨げているか否かを検出することに基づき、判断
することができる。一実施形態では、ロボットアームが、単に到達することができない幾
つかの位置がある可能性があり、その理由は、そうした位置が、ロボットのベースから遠
すぎるため、又は、ロボットアームがその物理的構造によりその位置まで移動することが
妨げられるためである。例えば、ロボットアームは、ロボットアームを構成している1つ
以上のリンクのサイズ、1つ以上のリンクの向き、1つ以上のリンクを接続するジョイン
トにより何度の自由度が与えられるか、又は他の何らかの制約により、妨げられる可能性
がある。一実施形態では、制御回路は、ロボットアームを実際に移動させることなく、上
記判断を行うことができる。別の実施形態では、制御回路は、ロボットアームを介して特
定の位置までキャリブレーションアームを移動させるように実際に試み、こうした試みが
成功するか否かを判断することにより、上記判断を行うことができる。
一実施形態では、ステップ405に対して、各角位置において、ロボットアームがカメ
ラに対する角度の定義された範囲内にあるようにキャリブレーションパターンを傾けるこ
とができる場合、特定の仮想立方体が使用される。場合により、ステップ405に対して
、上に列挙した条件が満足される場合にのみ、特定の仮想立方体が使用される。例えば、
カメラキャリブレーションは、キャリブレーションパターンとカメラとの間の角度が0度
〜45度の範囲内にあるキャリブレーション画像のみを使用することができる。したがっ
て、一実施形態では、ステップ401は、制御回路111が、ロボットアームが第1の仮
想立方体649の全ての角位置までキャリブレーションパターンを移動させることができ
るか否かと、第1の仮想立方体649の全ての角位置のうちの各角位置において、カメラ
に対する角度の定義された範囲内にある角度までキャリブレーションパターンを傾けるこ
とができるか否かとを判断することを含むことができる。制御回路が、ロボットアームが
第1の仮想立方体649の1つ以上の角位置までキャリブレーションパターンを移動させ
ることができないか、又は、ロボットアームが、第1の仮想立方体649の少なくとも1
つの角位置において、カメラに対する角度の定義された範囲内にある角度までキャリブレ
ーションパターンを傾けることができないと判断した場合、制御回路111は、第2の仮
想立方体650の全ての角位置を求めることができる。上記条件が満足される場合、ステ
ップ405に対して、第2の仮想立方体650を使用することができる。
一実施形態では、制御回路111は、キャリブレーションパターンの画像に基づき、焦
点パラメーターの値と露出パラメーターの値とを求めるように構成することができる。場
合により、この確定は、ステップ401の前に実施することができる。例えば、制御回路
111は、ステップ401の前にキャリブレーションパターンの第1のキャリブレーショ
ン画像を取り込むようにカメラを制御し、キャリブレーションパターンの少なくとも1つ
のパターン要素(例えば、ドット)の強度のレベル及びコントラストのレベルを求めるよ
うに構成することができる。制御回路111は、第1のキャリブレーション画像における
パターン要素のうちの少なくとも1つの強度のレベル及びコントラストのレベルのうちの
少なくとも一方に基づき、カメラの露出パラメーター(例えば、絞り、シャッタースピー
ド又はISO)及び焦点パラメーターのそれぞれの値を求めるように構成することができ
る。その場合、これらのパラメーターのそれぞれの値は、カメラが、ステップ407にお
いてキャリブレーションパターンのキャリブレーション画像を取り込むために使用するこ
とができる。
上述したように、カメラキャリブレーションは、キャリブレーションパターン460の
画像等、キャリブレーション画像に基づくことができる。一実施形態では、キャリブレー
ションパターン460は、平坦なキャリブレーションボードに印刷することができる。キ
ャリブレーションボードは、カーボンファイバー等、温度によって誘発される反りに対し
て耐性がある材料から形成することができる。図8Aは、キャリブレーションパターン4
60の一例を示し、それは、矩形格子の仮想直線格子線(463〜463及び465
〜465)に沿って配置されている複数のパターン要素461〜46125を含む
ことができる。例えば、仮想格子線は、一様に間隔を空けて配置された直線463〜4
63の第1の組と、一様に間隔を空けて配置された直線465〜465の第2の組
とを含むことができ、仮想格子線463〜463の第1の組は、仮想格子線465
〜465の第2の組に対して直交している。一実施形態では、パターン要素461
46125の各々は円形ドットとすることができる。一実施形態では、パターン要素46
〜46125は、サイズが異なる場合がある。例えば、パターン要素461、46
13及び46114は、第1の直径を有し、残りの全てのパターン要素は、第1の直径
より小さい第2の直径を有する。一実施形態では、複数のパターン要素461〜461
25は、定義されたサイズ(複数の場合もある)とそれらの間の定義された間隔とを有す
る。例えば、第1の直径及び第2の直径は、キャリブレーションパターン460のメーカ
ー(例えば、キャリブレーションボード製造業者)によって定義された値とすることがで
き、カメラキャリブレーション中に既知の値とすることができる。さらに、複数のパター
ン要素461〜46125は、格子線465〜465に沿って定義された距離Δd
を有し、格子線463〜463に沿って定義された距離Δdを有することができ
、それらの定義された距離は、カメラキャリブレーション中に既知の値とすることができ
る。一実施形態では、ΔdはΔdに等しい。一実施形態では、パターン要素461
〜46125は、全て同じサイズ(例えば、同じ直径)を有することができ、キャリブレ
ーションパターン460は、キャリブレーションパターン460の向きを示す特徴(例え
ば、回転非対称形状)を更に含むことができる。
上述したように、パターン座標系は、キャリブレーションパターン460等のキャリブ
レーションパターンに対して定義することができる。一実施形態では、パターン要素46
13等、キャリブレーションパターン460の中心にある又は中心に近いパターン要素
が、キャリブレーション座標系の原点を定義することができる。この実施形態では、
軸は、仮想格子線463〜463に位置合せすることができ、
軸は、仮想格子線465〜465に位置合せすることができ、
軸は、キャリブレーションパターン460によって形成された平面に対して直交する。
パターン要素は、直線仮想線に沿って配置されているが、レンズ歪みの影響により、キ
ャリブレーション画像では湾曲経路に沿って配置されているように見える可能性がある。
例えば、図8Bは、キャリブレーション画像がレンズ歪みの影響を含む、キャリブレーシ
ョンパターン460に対するキャリブレーション画像の一例を示す。例えば、キャリブレ
ーションパターン460におけるパターン要素は、矩形格子の直線に沿って配置されてい
るが、レンズ歪みにより、パターン要素は、湾曲経路に沿って配置されているかのように
見える可能性がある。より詳細に後述するように、カメラキャリブレーションは、キャリ
ブレーション画像における湾曲の検出に基づき、1つの歪みパラメーター又は一組の歪み
パラメーターの推定値を求めることができる。
上述したように、カメラキャリブレーションの一態様は、後述する固有キャリブレーシ
ョンフェーズ(固有キャリブレーションの実施とも呼ぶ)を含むことができる。一実施形
態では、固有キャリブレーションは、歪みパラメーター及び射影行列等、図1A/図3B
/図5Aのカメラ170/370/470の固有カメラパラメーターに対してそれぞれの
推定値を求めることを含むことができる。
一実施形態では、射影行列は、値がスカラー値から形成された行列である、固有カメラ
パラメーターとすることができる。例えば、カメラ170/370/470の射影行列K
は、9個のスカラー値から構成された3×3行列として定義することができる。上述した
ように、射影行列の一例は以下の通りである。
一実施形態では、射影行列は、以下のように、カメラのカメラ視野内のパターン要素の
座標
を、パターン要素がキャリブレーション画像に現れるピクセル座標
に射影する線形変換又は他の写像を定義する。
上記関係は、レンズ歪みがないと想定することができる。上記例では、ベクトル[X/
Z Y/Z 1]は、カメラ座標系における同次3D座標であり、ベクトル[u v
1]は、画像センサー座標系における同次3D座標である。
一実施形態では、パターン要素のピクセル座標
は、キャリブレーション画像におけるパターン要素の中心の推定値を指すことができる。
例えば、パターン要素が、キャリブレーション画像において円形ドットとして現れる場合
、ピクセル座標は、円形ドットの中心とすることができる。状況により、パターン要素は
、キャリブレーションパターン上では実際には円形ドットであっても、キャリブレーショ
ン画像において楕円形として現れる場合がある。このように現れるのは、カメラとキャリ
ブレーションパターンとの間の角度に起因する可能性がある。これらの状況では、パター
ン要素のピクセル座標は、楕円形の幾何学的中心とはわずかに異なる可能性がある。
一実施形態では、f、f、C及びCの各々は、射影行列の成分とすることがで
き、値がスカラー値である固有カメラパラメーターでもあり得る。上述したように、パラ
メーターf及びfは、カメラの焦点距離とX又はY方向における画像センサーのピク
セルサイズとに基づくスケールファクターとすることができる。パラメーターC及びC
は、画像センサー座標系で表される画像中心のピクセル座標とすることができる。
一実施形態では、歪みパラメーターは、歪み関数のパラメーターとすることができる。
より具体的には、カメラのレンズ歪みは、カメラの視野内の
に実際に位置するパターン要素を、そのパターン要素が
に位置するかのように見えるようにする、1つ以上の関数d及びdとしてモデル化す
ることができる。このモデルでは、射影行列Kは、
ではなく
に適用される。この現象は、以下のように表すことができる。
上記例では、X/Z及びY/Zは、
及び
としてより単純に書かれる。非線形歪み関数dが、
及び
の関数として
を求めることができ、非線形歪み関数dが、
及び
の関数として
を求めることができる。場合により、固有カメラパラメーターは、歪み関数d又はd
におけるパラメーターとすることができ、その場合、固有カメラパラメーターは、歪みパ
ラメーターと呼ぶことができる。
一実施形態では、歪み関数は、多項式歪みモデルに基づくことができ、そこでは、
である。
上記例では、
である。さらに、この例における固有カメラパラメーターは、k、k、k、p
を含むことができ、それらの各々は、より具体的には、歪みパラメーターと呼ぶこと
ができる。場合により、歪みパラメーターのうちの幾つか又は全てが、スカラー値である
値を有することができる。
一実施形態において、歪み関数は、有理歪みモデルに基づくことができ、そこでは、
である。
上記例では、
であり、k、k、k、k、k、k、p及びpの各々は固有カメラパラメ
ーター、より具体的には歪みパラメーターである。
一実施形態では、歪み関数は、視野モデルに基づくことができ、そこでは、
である。
上記例では、ωは、固有カメラパラメーター、より具体的には、値がスカラー値である
歪みパラメーターである。
より詳細に後述するように、固有キャリブレーションフェーズの幾つかの事例は、歪み
パラメーターの推定値を求めることを含むことができ、その推定値は、逆歪み関数
及び
に適用される場合、レンズ歪みの影響を補償することができる値とすることができる。例
えば、逆歪み関数は、歪みパラメーターの推定値が適用されると、湾曲を示す画像(例え
ば、図8Bの画像)を、湾曲を低減させるか又はなくす「無歪み」画像に変換することが
できる。
図9A及び図9Bは、カメラキャリブレーションを実施する方法例900のフロー図を
示し、カメラキャリブレーションは、固有キャリブレーションフェーズを含むことができ
る。本方法は、異なる段階において異なる固有カメラパラメーターの推定された値を求め
ることができる。方法900は、例えば、図1Aのロボット制御システム110の図1A
の制御回路111によって実施することができる。上述したように、ロボット制御システ
ム110は、図5Aのロボット450等のロボット、及び、カメラ視野510を有する、
図5Aのカメラ470等のカメラと通信することができる。ロボット450は、図5Aの
キャリブレーションパターン460等のキャリブレーションパターンが配置されるロボッ
トアームを有することができる。キャリブレーションパターン460は、図3C及び図8
Aに示すもの等、パターン座標系にそれぞれの定義されたパターン要素位置(例えば、パ
ターン座標)を有する、図8Aの複数のパターン要素461〜46125を含む。パタ
ーン座標系は、キャリブレーションパターン460の位置及び向きに関して定義された座
標系とすることができる。例えば、図8Aに示すように、パターン座標系は、座標軸

及び
によって定義される。一実施形態では、パターン要素46113は、パターン座標系の原
点であり、その定義されたパターン要素位置は、パターン座標
である。この実施形態では、パターン要素46114の定義されたパターン要素位置は、
例えば、
であり、ここで、dは、既知である定義された値である。別の例として、パターン要素
461の定義されたパターン要素位置は、
である。
一実施形態では、方法900はステップ901で開始することができ、そこでは、制御
回路111は、ロボットアームを制御して、カメラ視野(例えば、図5Bの510)内の
少なくとも1つの位置までキャリブレーションパターン(例えば460)を移動させるこ
とができ、カメラ視野はカメラの視野(例えば、470)を指すことができる。場合によ
り、ステップ901は、制御回路111が、ロボット制御システム110の通信インター
フェース113に出力する移動コマンドを生成し、通信インターフェース113に移動コ
マンドを出力することを含むことができる。通信インターフェース113は、ロボットに
移動コマンドを通信することができ、移動コマンドにより、ロボットアームは、カメラ視
野における少なくとも1つの位置までキャリブレーションパターンを移動させることがで
きる。一実施形態では、ステップ901は、図4のステップ401〜405と同様に実施
することができる。
ステップ902において、制御回路111は、通信インターフェース113を介してカ
メラからキャリブレーション画像を取得するか又は他の方法で受け取り、キャリブレーシ
ョン画像は、カメラによって取り込まれ、少なくとも1つの位置におけるキャリブレーシ
ョンパターンの画像である。一実施形態では、ステップ902は、ステップ407と同様
に実施することができる。一実施形態では、ステップ902は、制御回路111が、カメ
ラコマンドを介して、図6A〜図6D又は図8Bにおけるキャリブレーション画像のうち
の1つ等、少なくとも1つの位置にあるキャリブレーションパターンに対応するキャリブ
レーション画像を取り込むように、カメラを制御することを含むことができる。
ステップ903において、制御回路111は、複数のパターン要素がキャリブレーショ
ン画像に現れるそれぞれの位置を示す複数の画像パターン要素位置(取り込まれたパター
ン要素位置とも呼ぶ)を求めることができる。例えば、パターン要素の各々は円形ドット
である場合があり、特定の円形ドットの取り込まれた要素位置は、円形ドットがキャリブ
レーション画像に現れるピクセル座標[u v]とすることができ、より具体的には、
円形ドットの中心の推定されたピクセル座標とすることができる。
ステップ905において、制御回路111は、複数の画像パターン要素位置(例えば、
一組の[u v]座標)に基づき、かつ定義されたパターン要素位置(例えば、一組の
座標)に基づき、カメラの第1の固有カメラパラメーターの第1の推定値を求めることが
できる。場合により、カメラは、レンズ及び画像センサーを備え、第1の固有カメラパラ
メーターは、画像センサーへの画像射影を記述する射影行列とすることができる。例えば
、第1の固有カメラパラメーターは射影行列Kとすることができる。場合により、第1の
固有カメラパラメーターは、パラメーターf、f、C及びCのうちの1つ等、射
影行列Kの成分とすることができる。
上述したように、射影行列Kは、様々なパターン要素の
のそれぞれの既知の座標に基づき、かつ、様々なパターン要素がキャリブレーションパタ
ーンのキャリブレーション画像に現れるそれぞれの既知の[u v]座標に基づき、推
定することができる。一実施形態では、[u v]は、
に関連することができる。この実施形態では、
は、図3B及び図3Cに示すもの等の、パターン座標系とカメラ座標系との関係を記述す
る線形変換とすることができる。例えば、それは、以下の関係を反映することができる。
場合により、
は、回転行列R及び並進ベクトルtを含むことができる。例えば、それは、以下の形式の
4×4行列として書くことができる。
一実施形態では、ステップ905は、複数のピクセル座標[u v]及びそれらの対
応する座標
に基づいて、K及び
を解くことを含むことができる。一実施形態では、パースペクティブ−nポイント(pers
pective-n-point)アルゴリズムを用いて、
の推定値を求めることができる。一実施形態では、このステップは、レンズ歪みも考慮す
ることができ、歪みパラメーターの推定値を求めることができる。しかしながら、この推
定された値は、ステップ905が実施された後に破棄することができ、又はより一般的に
は、方法900の他のステップでは使用されない。一実施形態では、ステップ905は、
開示内容が引用することにより全体として本明細書の一部をなす、Zhengyou Zhangによる
「A Flexible New Technique for Camera Calibration」(Technical Report MSR-TR-98-
71)において考察されている、カメラキャリブレーションアルゴリズム(Zhangのアルゴ
リズムとも呼ぶ)に基づいて実施することができる。より具体的には、Zhangのアルゴリ
ズムは、[u v]及び
座標を使用して、射影行列Kの推定値、
行列の推定値、及び1つの歪みパラメーター又は一組の歪みパラメーターの推定値を求め
ることができる。この例では、射影行列Kの推定値は、より詳細に後述するステップ90
7に対して使用することができ、
の推定された値及び/又は歪みパラメーター(複数の場合もある)の推定値は破棄される
場合があり、又は、代替的に、上記推定値のうちの1つ以上は、より詳細に後述するよう
に、ステップ907において、パラメーター値の初期推量として使用することもできる。
ステップ907において、制御回路は、第1の固有カメラパラメーターの第1の推定値
に基づき、かつ、複数の画像パターン要素位置(取り込まれたパターン要素位置とも呼ぶ
)に基づき、カメラの第2の固有カメラパラメーター(複数の場合もある)の第1の推定
値を求めることができる。場合により、第2の固有カメラパラメーターは、レンズによっ
てもたらされる歪みを記述する歪みパラメーターとすることができる。例えば、上述した
ように、第2の固有カメラパラメーターは、非線形歪み関数d及びdに対して使用さ
れる歪みパラメーターとすることができる。
一実施形態では、ステップ907において、制御回路は、(a)第2の固有カメラパラ
メーター(複数の場合もある)の初期推定値を求めることと、(b)第2の固有カメラパ
ラメーター(複数の場合もある)の初期推定値、射影行列の第1の推定値、及びキャリブ
レーション画像に基づき、レンズによってもたらされる歪みを補償するキャリブレーショ
ン画像の変更されたバージョンを生成することと、(c)キャリブレーション画像の変更
されたバージョンにおける湾曲の量を求めることと、(d)キャリブレーション画像の変
更されたバージョンにおける湾曲の量に基づき第2の固有カメラパラメーターの初期推定
値を調整して、湾曲の量を低減させる第2の固有カメラパラメーターの調整された推定値
を生成することであって、該調整された推定値は、第2の固有カメラパラメーターの第1
の推定値であることとによって、第2の固有カメラパラメーター(複数の場合もある)(
例えば、歪みパラメーター(複数の場合もある))の第1の推定値を求めることができる
。一実施形態では、第2の固有カメラパラメーターに対する初期推定値は、ゼロ値又は一
組のゼロ値を有することができる(例えば、上記歪み関数におけるk、k、k、p
及び/又はpはゼロに等しい)。一実施形態では、第2の固有カメラパラメーターに
対する初期推定値は、ステップ905の結果から得ることができる。例えば、ステップ9
05がZhangのアルゴリズムを使用する場合、このアルゴリズムは、第2の固有カメラパ
ラメーターに対する推定値を出力することができ、この出力された推定値は、第2の固有
カメラパラメーターの初期推定値としてステップ907に入力することができる。
一実施形態では、キャリブレーション画像の変更されたバージョンは、キャリブレーシ
ョン画像におけるレンズ歪みを補償しようと試みるバージョンとすることができる。例え
ば、変更されたバージョンは、キャリブレーション画像に逆歪み関数
及び
を適用することにより生成することができる。1つの例では、カメラによって取り込まれ
るキャリブレーション画像は、パターン要素がキャリブレーション画像に現れる位置を表
すピクセル座標[u,v]によって表すことができ、キャリブレーション画像の変更さ
れたバージョンは、同じパターン要素が、当該変更されたバージョンにおいて現れる位置
を表すピクセル座標
によって表すことができる。この例では、ピクセル座標
は、射影行列K及び逆歪み関数の推定値によって計算することができる。より具体的には
、上述したように、射影行列の推定値を用いて、逆射影行列を求めることができ、それを
用いて以下を求めることができる。
さらに上述したように、上記結果を逆歪みに適用して、以下を求めることができる。
上記例では、パターン要素に対する
及び
は、レンズ歪みが適用される場合にパターン要素がカメラの視野において現れる場所に関
連し、
及び
は、レンズ歪みに対する補償がある場合にパターン要素がカメラの視野において現れる場
所に関連する。射影行列を
及び
に適用して、関係
に基づき、ピクセル座標
を求めることができる。
上記例では、逆歪み関数は、1つ以上の歪みパラメーターを含むことができる。1つ以
上の歪みパラメーターに対する推定値は、レンズ歪みを最適に補償するように最適化する
ことができる。より具体的には、推定値は、1つ以上の歪みパラメーターに対してそれぞ
れ1つ以上の推定された値を含むことができ、キャリブレーション画像の変更されたバー
ジョンにおいて歪みの量を最小限にするか又は他の方法で低減させるように最適化するこ
とができる。例えば、制御回路111は、いずれの推定値がキャリブレーション画像の変
更されたバージョンにおいて湾曲の量を最小限にするかを評価するために、キャリブレー
ション画像の異なる変更されたバージョンを生成するように、1つ以上の歪みパラメータ
ーに対して異なる推定を試行することができ、湾曲の量は、湾曲スコアとして求めること
ができる。歪みパラメーターに対する最適な推定値は、歪みパラメーターの第1の推定値
として扱うことができる。上述したように、キャリブレーションパターンは、場合により
、直線格子線に沿って配置されるパターン要素を含むことができる。レンズ歪みにより、
パターン要素は、キャリブレーション画像において、湾曲経路に沿って配置されているか
のように見える可能性がある。歪みのないキャリブレーション画像の変更されたバージョ
ンは、いかなる湾曲も示さない可能性があり、それにより、パターン要素は、キャリブレ
ーション画像の変更されたバージョンにおいて、直線格子線に沿って配置されているかの
ように見える。
一実施形態では、直線当てはめ(line fitting)技法を用いて、キャリブレーション画
像の変更されたバージョンにおける湾曲の量を求めることができる。例えば、キャリブレ
ーションパターンにおける複数のパターン要素は、複数のドット(例えば、円形ドット)
である場合がある。こうした場合、制御回路は、ステップ907において、キャリブレー
ション画像の変更されたバージョンにおいて複数のドットを通して(例えば、ドットのそ
れぞれの中心を通して)複数の直線を当てはめ、複数の直線のうちの各直線と、直線が当
てはめられる複数のドットのうちのそれぞれのドット(例えば、ドットのそれぞれの中心
)との間の距離に基づき、湾曲の量を求めることにより、湾曲の量を求めることができる
。キャリブレーション画像の変更されたバージョンが歪んでいなかった場合、各直線は、
その直線が当てはめられるドットとゼロの距離、又はより具体的には、ドットのそれぞれ
の中心とゼロの距離を有する。例えば、直線は、ドットのそれぞれの中心を通る。しかし
ながら、図10Aは、或る程度のレンズ歪みを示すキャリブレーション画像を示す。その
結果、直線のうちの1つ以上は、その直線が当てはめられるドットの全てのそれぞれの中
心は通らない。図10Bは、図10Aのドットの一部に対する直線当てはめを示す。この
図では、4つのドットを通して当てはめられる直線は、4つのドットのうち3つのドット
のそれぞれの中心からずれている。湾曲の量は、当てはめられた直線から出ているそれぞ
れの矢印によって示すように、図10Bにおける各ドットの中心と当てはめられた直線と
の間のそれぞれの距離に基づいて計算することができる。一実施形態では、キャリブレー
ション画像の変更されたバージョンに対する湾曲の量は、例えば、直線当てはめに関与す
る個々の直線に対するそれぞれの湾曲スコアの合計とすることができる、総湾曲スコアに
よって表すことができる。一実施形態では、ステップ907は、キャリブレーション画像
の変更されたバージョンに対する総湾曲スコアを最小限にするように、複数の歪みパラメ
ーターのそれぞれの推定された値を最適化することを含むことができ、変更されたバージ
ョンは、推定された値に基づいて生成される。
図9Bに示すように、ステップ909において、制御回路111は、第2の固有カメラ
パラメーターの第1の推定値に基づき、第1の固有カメラパラメーターの第2の推定値と
第2の固有カメラパラメーターの第2の推定値とを求めることができる。一実施形態では
、ステップ909における判断はまた、複数の画像パターン要素位置と定義されたパター
ン要素位置とにも基づく。ステップ909において、第2の固有カメラパラメーターの第
1の推定値を用いて、第1の固有カメラパラメーターの第1の推定値を精密化することが
でき、精密化された推定値は、第1の固有カメラパラメーターの第2の推定値である。上
述したように、ステップ907において第2の固有カメラパラメーターは別個の段階で推
定されるため、第2の固有カメラパラメーターのこの推定値は、第1の固有カメラパラメ
ーターの第1の推定値及び第2の固有カメラパラメーターの第1の推定値が同じ段階で同
時に求められる状況と比較して、より正確である可能性がある。一実施形態では、その後
、第2の固有カメラパラメーターのこのより正確な推定値を用いて、第1の固有カメラパ
ラメーターのより適切な更新された推定値を生成することができ、更新された推定値は、
第1の固有カメラパラメーターの第2の推定値である。
一実施形態では、ステップ909において、Zhangのアルゴリズムを使用することがで
きる。より具体的には、Zhangのアルゴリズムは、入力として、第2の固有カメラパラメ
ーターに対する初期推量値を受け入れることができる。初期推量値は、Zhangのアルゴリ
ズムに対する任意選択的な入力とすることができる。場合により、この任意選択的な入力
は、ステップ905において使用されていない可能性がある。しかしながら、この任意選
択的な入力はステップ909において使用することができ、そこでは、第2の固有カメラ
パラメーターの第1の推定値は、Zhangのアルゴリズムに対する初期推量値として適用さ
れ、Zhangのアルゴリズムは、複数の画像パターン要素位置と定義されたパターン要素位
置とを更に使用して、第1の固有カメラパラメーターの第2の推定値を生成することがで
きる。一実施態様では、Zhangのアルゴリズムは、第2の固有カメラパラメーターの第2
の推定値を更に生成することができ、カメラ座標系とパターン座標との関係を記述する変
換関数(例えば、
)の推定値を更に出力することができる。
ステップ901〜909は、カメラキャリブレーションプロセスの固有キャリブレーシ
ョンフェーズの一部とすることができる。一実施形態では、固有キャリブレーションフェ
ーズは、制御回路が、第1の固有カメラパラメーターの第2の推定値と第2の固有カメラ
パラメーターの第2の推定値とを用いて、パターン要素のシミュレートされた位置を求め
、それらの推定値を調整して、パターン要素のシミュレートされた位置と実際の位置との
差を最小限にする第3の推定値を生成する段階を更に含むことができる。
より具体的には、制御回路は、(a)第1の変換関数の推定値、第2の固有カメラパラ
メーターの第2の推定値、及び第1の固有カメラパラメーターの第2の推定値に基づいて
、キャリブレーションパターンのシミュレートされた画像であるシミュレートキャリブレ
ーション画像を求めることと、(b)シミュレートキャリブレーション画像とカメラによ
って取り込まれたキャリブレーション画像との差を求めることと、(c)差に基づき、第
2の固有カメラパラメーターの第2の推定値と第1の固有カメラパラメーターの第2の推
定値とを調整して、差を低減させる、第2の固有カメラパラメーターの調整された推定値
及び第1の固有カメラパラメーターの調整された推定値を生成することであって、第2の
固有カメラパラメーターの調整された推定値は、第2の固有カメラパラメーターの第3の
推定値であり、第1の固有カメラパラメーターの調整された推定値は、第1の固有カメラ
パラメーターの第3の推定値であることと、によって、第2の固有カメラパラメーターの
第3の推定値と第1の固有カメラパラメーターの第3の推定値とを求めることができる。
一実施形態では、シミュレートキャリブレーション画像は、様々なパターン要素のシミ
ュレートされたピクセル座標[usimulatedsimulatedを含む
ことができる。パターン要素に対するシミュレートされたピクセル座標は、固有カメラパ
ラメーターの、例えば
のそれぞれの推定値に基づいてパターンが現れる場所を予測する、予測されたピクセル座
標とすることができる。例えば、シミュレートされたピクセル座標は、以下の関係に基づ
くことができる。
上記例では、Kは、第1の固有カメラパラメーターの第2の推定値とすることができ、
第1の固有カメラパラメーターの第3の推定値を見つけるように調整することができる。
歪み関数d及びdは、第2の固有カメラパラメーター(複数の場合もある)の第2の
推定値に基づくことができ、それは、第2の固有カメラパラメーターの第3の推定値を見
つけるように調整することができる。さらに、
は、ステップ909から得られる推定値とすることができ、[X’ Y’ Z’]pat
ternは、パターン座標系におけるパターン要素の既知の座標である。
上記例では、制御回路111は、それぞれのシミュレートされたピクセル座標と実際の
ピクセル座標との間の距離を計算することができ、シミュレートされたピクセル座標は、
[X’ Y’ Z’]patternにおけるパターン要素がシミュレートキャリブレー
ション画像に現れる場所を表し、実際のピクセル座標は、パターン要素が、カメラによっ
て取り込まれたキャリブレーション画像に実際に現れる場所を表す。制御回路111は、
第1の固有カメラパラメーター(射影行列K)の第2の推定値と、第2の固有カメラパラ
メーター(複数の場合もある)(例えば、歪みパラメーター(複数の場合もある))の推
定値と、
の推定値とを、距離が最小化する(例えば、ゼロに近づく)まで調整することにより、最
適化を実施することができる。これらのパラメーターに対する調整された推定値は、それ
らの第3の推定値になることができる。一実施形態では、第1の固有カメラパラメーター
の第3の推定値は、第1の固有カメラパラメーターの最終推定値とすることができ、第2
の固有カメラパラメーターの第3の推定値は、第2の固有カメラパラメーターの最終推定
値とすることができ、それにより、固有キャリブレーションフェーズの出力は、第1の固
有カメラパラメーター及び第2の固有カメラパラメーターの第3の推定値とすることがで
きる。
上述したように、カメラキャリブレーションは、固有キャリブレーションフェーズに加
えてステレオキャリブレーションフェーズを含むことができる。例えば、システム100
A等、2つ以上のカメラを含むシステムでは、ロボット制御システム110は、第1のカ
メラ及び第2のカメラと通信するように構成される。第1のカメラは、第1のカメラの位
置及び向きに関して定義される第1のカメラ座標系を有することができ、第2のカメラは
、第2のカメラの位置及び向きに関して定義される第2のカメラ座標系を有することがで
きる。この例では、ロボット制御システム110の制御回路111は、第1のカメラ座標
系と第2のカメラ座標系との関係を記述する関数(例えば、行列)を求めることにより、
ステレオキャリブレーションフェーズを実施するように構成することができる。
例えば、ロボット制御システム110は、複数のカメラと通信する場合、複数のカメラ
の各々に対する固有カメラパラメーターの値を推定し、複数のカメラの互いに対する位置
及び/又は互いに対するそれらの向きを推定するように構成することができる。一実施形
態では、2つのカメラ(例えば、図1Aの170及び180)の間の相対位置及び向きは
、2つのカメラの間の並進ベクトル及び回転行列として表すことができる。
上述したように、カメラキャリブレーションは、ハンド−アイキャリブレーションフェ
ーズを含むことができる。例えば、ステップ911において、制御回路111は、第1の
固有カメラパラメーターの第2の推定値と第2の固有カメラパラメーターの第2の推定値
とに基づき、カメラ座標系とワールド座標系との関係を記述する変換関数(例えば、
)の推定値を求めることができる。上述したように、カメラ座標系は、カメラの位置及び
向きに関して定義される座標系とすることができ、ワールド座標系は、ロボットのベース
に対して固定である位置に関して定義される座標系である。ステップ911は、固有カメ
ラパラメーターの第2の推定値に直接基づくことができ、又は、それらの固有カメラパラ
メーターの第2の推定値に間接的に基づくことができる。例えば、ステップ911は、第
1の固有カメラパラメーターの第3の推定値と第2の固有カメラパラメーターの第3の推
定値とに直接基づくことができ、それらは、さらに、第1の固有カメラパラメーターの第
2の推定値と第2の固有カメラパラメーターの第2の推定値とに基づく。こうした場合、
ステップ911は、固有カメラパラメーターの第2の推定値に間接的に基づく。
一実施形態では、
は、第1の変換関数の一例とすることができ、
は、第2の変換関数の一例とすることができる。場合により、第2の変換関数は、第1の
変換関数に基づいて求めることができる。
より具体的な例では、ハンド−アイキャリブレーションの目的は、(第3の変換関数の
一例とすることができる)
及び
に基づき、(第4の変換関数の一例とすることができる)
及び
を求めることとすることができる。
一実施形態では、ハンド−アイキャリブレーションは、以下の関係に基づくことができ
る。
上記例では、
及び
は、ハンド−アイキャリブレーションフェーズの開始時に既知であるか又は求めることが
できる。例えば、
は、ロボット制御システム110がロボット(例えば、図1Aの150)に通信した移動
コマンドに基づいて求めることができる。1つの例では、移動コマンドは、ロボットのロ
ボットアームを形成するリンクの回転をもたらすモーターコマンドとすることができ、
は、モーターコマンドによってもたらされる回転から求めることができる。一例では、
は、固有キャリブレーションフェーズから推定される射影行列Kに基づいて求めることが
できる。例えば、
は、以下の関係に基づく。
上記例では、
は、パターン要素のカメラの視野における座標とすることができ、パターン要素が現れる
キャリブレーション画像から、かつ、射影行列の推定値及び歪みパラメーターの推定値か
ら推定することができる。場合により、
は、パースペクティブ−nポイント(perspective-n-point)アルゴリズムを使用して推
定することができ、パースペクティブ−nポイントアルゴリズムは、射影行列の推定値と
カメラの歪みパラメーター(複数の場合もある)の推定値とを用いて、
を求めることができる。射影行列及び歪みパラメーター(複数の場合もある)のこうした
推定値は、固有キャリブレーションフェーズからのものとすることができ、又は、カメラ
の製造業者からの定義された値とすることができる。別の例では、
自体が、固有キャリブレーションフェーズの副産物とすることができる。例えば、固有キ
ャリブレーションフェーズがZhangのアルゴリズムを使用する場合、アルゴリズムは、
の推定値を出力することができ、この推定値は、ハンド−アイキャリブレーションフェー
ズのために保存することができる。
一実施形態では、方程式
は、未知の行列
及び
に対して非線形であり非凸である。非凸形式は、行列の値に対する異なる推量を通して反
復することの有効性を制限する可能性があり、その理由は、反復により、大域的に最適で
はなく局所的にのみ最適である解が導き出される可能性があるためである。したがって、
ハンド−アイキャリブレーションフェーズの実施態様は、上記方程式を凸形式に再公式化
することを含むことができる。一実施形態では、再公式化は、ベクトル化行列のクロネッ
カー積として上記方程式を書き換えることを含むことができる。
より具体的には、上記方程式は、以下のように書き換えることができる。
この方程式は、さらに、以下のように2つの方程式として書き換えることができる。
上記方程式では、様々な回転行列及び並進ベクトルに対する命名は、以下のように書か
れる。
上記方程式は、上記行列及びクロネッカー積のベクトル化バージョンを使用して以下の
方程式として書き換えることができる。
上記例では、Iは3×3単位行列である。上記方程式は、線形かつ凸であり、それに
より、R、t、R、tの最適な値、すなわち、
を解くのを容易にすることができる。より具体的には、上記方程式において、項
及び
は、
及び
に属する成分を含むため、既知とすることができる。したがって、上記方程式は、未知の
項である
を解くことができる。上述したように、方程式の線形及び凸の性質により、この未知の項
を解くことをより容易にすることができ、未知の項の解は、
及び
の成分であるR、t、R、tを再構築するために使用することができる。
一実施形態では、上記方程式に対する解により、完全回転行列ではないR及びR
導き出される可能性があり、その理由は、それらが各々、互いに直交ではない列ベクトル
を含む可能性があるためである。この実施形態では、制御回路111は、Rから、互い
に直交する列ベクトルを有する行列
を導出することができる。同様に、制御回路111は、Rから、互いに直交する列ベク
トルを有する回転行列
を導出することができる。一実施形態では、制御回路111は、直交プロクラステス問題
を解くことに基づき、この演算を実施することができ、それは、非直交行列R(フロベ
ニウスノルムに関する)に最も近い直交行列
を見つけることと、非直交行列Rに最も近い直交行列
を見つけることとを含む。場合により、これは、特異値分解を介して行うことができ、そ
れは、
がRに等しいような行列C及びDを見つけることと、Σが対角行列である場合、
がRに等しいような行列C及びDを見つけることとを含むことができる。この実施
形態では、
は、
として求めることができ、
は、
として求めることができる。
一実施形態では、制御回路111は、直交行列
及び
を使用して、並進ベクトルt及びtを更に更新することができる。更新された並進ベ
クトルは、
及び
と呼ぶことができる。幾つかの実施態様では、更新は、上記方程式R−R
=tを使用するが、Rの代わりに
を使用し、tの代わりに
を使用し、tの代わりに
を使用することにより、行うことができる。結果として得られる方程式は、
として表すことができ、それは、
と書き換えることができる。上記方程式は、
及び
に対して解くことができる。結果として得られる回転行列及び並進ベクトルは、
及び
の推定値を形成することができ、それらは、
として表すことができる。
一実施形態では、ハンド−アイキャリブレーションフェーズは、上記パラメーターを使
用してキャリブレーションパターンのシミュレートされた画像であるシミュレートキャリ
ブレーション画像を求めることと、シミュレートキャリブレーション画像と、キャリブレ
ーションパターンの実際の画像である実際のキャリブレーション画像との差を最小限にす
るように、上記パラメーターの値を調整することとを含むことができる。より具体的には
、制御回路111は、第4の変換関数(例えば、
)の推定値、第3の変換関数(例えば、
)の推定値、第2の変換関数(例えば、
)の推定値に基づき、かつ、第1の固有カメラパラメーター(例えば、射影行列K)の第
2の推定値に(直接又は間接的に)基づき、キャリブレーションパターンのシミュレート
キャリブレーション画像を求めることができる。シミュレートキャリブレーション画像は
、例えば、パターン要素がシミュレートキャリブレーション画像に現れる場所のピクセル
座標
、パターン要素に対するシミュレートされた座標は、パターン要素が上記変換関数のそれ
ぞれの推定値に基づくキャリブレーション画像に現れる場所を予測する、予測された座標
とすることができる。例えば、シミュレートされたピクセル座標は、以下の関係に基づい
て計算することができる。
一実施形態では、シミュレートキャリブレーション画像は、レンズ歪みの影響を考慮す
る必要はない。別の実施形態では、シミュレートキャリブレーション画像は、X/Z及び
Y/Zに歪み関数を適用することによる等、レンズ歪みの影響を考慮する。
一実施形態では、シミュレートキャリブレーション画像は、カメラによって取り込まれ
た実際のキャリブレーション画像の変更されたバージョンと比較することができる。変更
されたバージョンは、カメラのレンズによってもたらされる歪みを補償することができる
。より具体的には、実際のキャリブレーション画像は、パターン要素のピクセル座標[u
,v]によって表すことができ、レンズ歪みを示す可能性がある。キャリブレーション
画像の変更されたバージョンは、パターン要素のピクセル座標
によって表すことができ、レンズ歪みの影響を補償することができる。上述したように、
キャリブレーション画像の変更されたバージョンは、以下の関係に基づいて求めることが
できる。
一実施形態では、制御回路111は、シミュレートキャリブレーション画像におけるパ
ターン要素のシミュレートされたピクセル座標と、カメラによって取り込まれるキャリブ
レーション画像の変更されたバージョンにおける対応するパターン要素のピクセル座標と
の(例えば、
との)差を求めることができる。一実施形態では、差は、
として求められる距離として表すことができる。
一実施形態では、制御回路111は、少なくとも、第4の変換関数(例えば、
)の推定値と、第2の変換関数(例えば、
)の推定値とを調整して、シミュレートキャリブレーション画像とキャリブレーション画
像の変更されたバージョンとの差を低減させることができる。例えば、制御回路111は

及び
の成分のそれぞれの値を調整し、調整された行列に基づいて
を再計算し、再計算された
に基づいて距離を求めることができる。制御回路111は、上記距離を最小限にするよう
に調整を繰り返すことができる。一実施形態では、制御回路111は、シミュレートキャ
リブレーション画像における誤差を最小限にするように上記行列を調整することができ、
誤差は、(a)キャリブレーション画像の変更されたバージョンにおける全てのパターン
要素のそれぞれのピクセル座標と、(b)シミュレートキャリブレーション画像における
同じ対応するパターン要素のそれぞれのピクセルとの間のそれぞれの距離の和とすること
ができる。一実施形態では、調整は、ネルダー−ミード(Nelder-Mead)アルゴリズム、
ブロイデン−フレッチャー−ゴールドファーブ−シャンノ(BFGS:Broyden-Flecher-
Goldfarb-Shanno)アルゴリズム及び最急降下法アルゴリズム等、制約なし非線形最適化
問題を解く最適化アルゴリズムに基づくことができる。一実施形態では、上記最適化は、
、K及び/又は1つ以上の歪みパラメーターのそれぞれの値に対する調整も含むことがで
きる。一実施形態では、最適化の結果は、ハンド−アイキャリブレーションフェーズに対
する最終推定値(例えば、
及び/又は
の最終推定値)とすることができる。
図9Bに戻ると、方法900は、ステップ911の後に実施されるステップ913を含
むことができる。ステップ913では、制御回路111は、カメラから後続する画像を受
け取り、後続する画像に基づきかつ変換関数の推定値に基づく後続する移動コマンドを(
例えば、通信インターフェース113を介して)ロボットに出力することにより、ロボッ
トアームの配置を制御することができる。例えば、後続する画像は、コンベヤベルト上の
包装品又はカメラ視野内の別の物体の画像とすることができる。カメラは、自動的に、又
は、制御回路111によって生成され通信インターフェースを介してカメラに通信される
カメラコマンドに応じて、後続する画像を取り込むことができる。一実施形態では、制御
回路111は、変換関数(例えば、
)の推定値に基づき、後続する移動コマンドを生成することができる。例えば、
を使用して、撮影された物体(例えば、包装品)と、物体と相互作用するロボットとの関
係を、以下の関係に基づいて求めることができる。
上記方程式では、
は、カメラキャリブレーションから求められ、
は、場合により、マシンビジョンアルゴリズムから求めることができる。本明細書で考察
するカメラキャリブレーションは、
のより正確な推定値等、より正確なキャリブレーション情報を生成するため、このキャリ
ブレーション情報は、
のより正確な推定値をもたらすことができ、それにより、ロボットが、物体とのよりロバ
ストな相互作用を提供するように制御されるのを可能にすることができる。
図11Aは、カメラキャリブレーションの固有キャリブレーションフェーズの一実施形
態を示す別の図を提供する。場合により、図11Aの動作は、例えば、図1Aのロボット
制御システム110の図1Aの制御回路111によって実施することができる。一実施形
態では、固有キャリブレーションフェーズは、段階0を含み、そこでは、複数のキャリブ
レーション画像が受け取られ、当該キャリブレーション画像はキャリブレーションパター
ンの画像である。キャリブレーションパターンは、ロボットのロボットアームに固定して
取り付けることができ、パターンドットであるパターン要素を有することができる。パタ
ーンドットの各々は、定義されたパターン要素位置を有することができ、それは、この例
では、3Dパターン座標
とすることができる。複数のキャリブレーション画像のうちの各キャリブレーション画像
に対して、パターンドットの各々はまた、画像パターン要素位置(取り込まれたパターン
要素位置とも呼ぶ)を有することもでき、それは、この例では、2Dピクセル座標とする
ことができる。一実施形態では、固有キャリブレーションフェーズの段階0は、パターン
座標系におけるパターンドットのそれぞれの3Dパターン座標を求めることと、パターン
ドットが複数のキャリブレーション画像において現れる2Dピクセル座標を求めることと
を含む。
一実施形態では、固有キャリブレーションフェーズの段階1は、パターンドットの3D
パターン座標及び2Dピクセル座標を、射影行列K、変換関数
及び歪み関数の歪みパラメーターに対するそれぞれの値を推定するアルゴリズムに入力す
ることを含む。例えば、段階1は、Zhangのアルゴリズムを用いて、射影行列Kの第1の
推定値を生成することができる。この例では、Zhangのアルゴリズム又は他の何らかのア
ルゴリズムはまた、同じ段階において、
の推定値及び歪みパラメーターのそれぞれの値もまた求めることができるが、これらの推
定値は、次の段階に対して破棄するか又は他の方法で無視することができる。一実施形態
では、Zhangのアルゴリズムは、任意選択的な入力として、1つ以上のそれぞれの歪みパ
ラメーターに対する1つ以上の推量値を有することができる。しかしながら、図11Aの
例では、この任意選択的な入力は段階1では使用されない。
一実施形態では、固有キャリブレーションフェーズの段階2は、射影行列Kの第1の推
定値を線直線化(line straightening)アルゴリズムに入力することを含み、線直線化ア
ルゴリズムは、歪みパラメーターの第1の推定値、又は、一組の歪みパラメーターのそれ
ぞれの推定値の第1の組を生成することができる。一実施形態では、線直線化アルゴリズ
ムは、方法900のステップ907に関してかつ図10A及び図10Bに関して上述した
操作を含むことができる。
一実施形態では、固有キャリブレーションフェーズの段階3は、歪みパラメーターの第
1の推定値(又は、複数の歪みパラメーターのそれぞれの推定値の第1の組)を使用して
、射影行列Kの第2の推定値、歪みパラメーターの第2の推定値(又は、複数の歪みパラ
メーターのそれぞれの推定値の第2の組)及び
の推定値を生成することを含む。場合により、段階3において、Zhangのアルゴリズムが
再度使用される。しかしながら、この段階は、上述した任意選択的な入力として歪みパラ
メーターの第1の推定値(又は、複数の歪みパラメーターのそれぞれの推定値の第1の組
)を使用することができ、任意選択的な入力は、Zhangのアルゴリズムからのより正確な
出力をもたらす推量とすることができる。
一実施形態では、固有キャリブレーションフェーズの段階4は、射影行列の第3の推定
値と歪みパラメーターの第3の推定値(又は、複数の歪みパラメーターに対するそれぞれ
の推定値の第3の組)とを求めることを含む。図11Aに示すように、段階4は、オプテ
ィマイザーを用いて実施することができる。上述したように、オプティマイザーによって
実施される最適化は、
の推定値、Kの第2の推定値、及び歪みパラメーターの第2の推定値に基づき、キャリブ
レーションパターンのシミュレートキャリブレーション画像を求めることと、シミュレー
トキャリブレーション画像とキャリブレーションパターンの実際のキャリブレーション画
像との差を最小限にするように第2の推定値を調整することとを含むことができる。
図11Aの上記実施形態では、段階1における
の推定値及び/又は歪みパラメーターのそれぞれの値は、次の段階に対して破棄するか又
は他の方法で無視することができる。別の実施形態では、段階1に続く任意の段階に対し
て、上記推定値のうちの1つ以上を使用することができる。例えば、図11Bに示すよう
に、段階1における歪みパラメーター値の推定値は、固有キャリブレーションフェーズの
段階2における歪みパラメーター値の初期推量として使用することができる。さらに、図
11Bにおいて、
の推定値を用いて、図12のハンド−アイキャリブレーションフェーズの段階2において
ハンド−アイキャリブレーションを実施することができる。
図12は、カメラキャリブレーションのハンド−アイキャリブレーションフェーズの実
施形態例を示す図であり、これもまた、図1Aのロボット制御システム110によって実
施することができる。場合により、ハンド−アイキャリブレーションフェーズは、図11
Aの固有キャリブレーションフェーズの後に実施される。一実施形態では、ハンド−アイ
キャリブレーションフェーズの段階1は、
及び
の推定値を求めることを含む。場合により、
は、例えば、ロボットのロボットアームの複数のモーターに対するそれぞれの回転量を示
すセンサー値を含むことができる、モーター読取値に基づく。場合により、
は、画像処理アルゴリズムに基づき、射影行列Kの最終推定値と歪みパラメーターの最終
推定値(又は、複数の歪みパラメーターの推定値の最終の組)に基づくことができる。一
例では、
は、図11Bの固有キャリブレーションフェーズの段階1からのものとすることができる
一実施形態では、ハンド−アイキャリブレーションフェーズの段階2は、
及び
を求めることを含む。この判断は、例えば、方程式
を解くことを含むことができる。
一実施形態では、ハンド−アイキャリブレーションフェーズの段階3は、少なくとも
及び
の推定値を調整することを含む。この調整は、キャリブレーションパターンのシミュレー
トキャリブレーション画像とキャリブレーションパターンの実際のキャリブレーション画
像との差を最小限にすることに基づいて最適化を実施することができる、オプティマイザ
ーによって実施することができる。シミュレートキャリブレーション画像は、上述したよ
うに、
に基づくことができる。一実施形態では、
及び
の調整された推定値は、ハンド−アイキャリブレーションフェーズのその最終推定値とす
ることができる。
様々な実施形態の簡単な説明
本開示の実施形態A1は、通信インターフェース及び制御回路を備えるロボット制御シ
ステムに関する。通信インターフェースは、ロボット及びカメラ視野を有するカメラと通
信するように構成され、ロボットは、ベースと、キャリブレーションパターンが配置され
ているロボットアームとを有する。制御回路は、a)カメラ視野内に収まる仮想立方体の
全ての角位置を求めることと、b)仮想立方体の上に又は仮想立方体を通して分散される
複数の位置を求めることと、c)通信インターフェースを介してロボットに移動コマンド
を出力することにより、仮想立方体の上に又は仮想立方体を通して分散される複数の位置
までキャリブレーションパターンを移動させるようにロボットアームを制御することと、
d)通信インターフェースを介してカメラから複数のキャリブレーション画像を受け取る
ことであって、複数のキャリブレーション画像は、カメラによって取り込まれ、複数の位
置におけるキャリブレーションパターンのそれぞれの画像であることと、e)複数のキャ
リブレーション画像に基づき、固有カメラパラメーターのそれぞれの推定値を求めること
と、f)固有カメラパラメーターのそれぞれの推定値に基づき、カメラ座標系とワールド
座標系との関係を記述する変換関数の推定値を求めることであって、カメラ座標系は、カ
メラの位置及び向きに関して定義された座標系であり、ワールド座標系は、ロボットのベ
ースに対して固定である位置に関して定義された座標系であることとにより、カメラキャ
リブレーションを実施するように構成される。制御回路は、カメラキャリブレーションが
実施された後、通信インターフェースを介してカメラから後続する画像を受け取り、後続
する画像に基づきかつ変換関数の推定値に基づく後続する移動コマンドを、通信インター
フェースを介してロボットに出力することにより、ロボットアームの配置を制御するよう
に、更に構成される。
実施形態A2は、実施形態A1のロボット制御システムを含み、複数の位置は、仮想立
方体の上に又は仮想立方体を通して一様に分散されている。
実施形態A3は、実施形態A2のロボット制御システムを含み、複数の位置は、該複数
の位置のうちの隣接する位置の間に、仮想立方体の縁に沿って測定される一様の間隔を有
する。
実施形態A4は、実施形態A1〜A3のうちの任意の1つのロボット制御システムを含
み、制御回路は、ロボットアームが仮想立方体の全ての角位置までキャリブレーションパ
ターンを移動させることができるという判断に応じて、複数の位置までキャリブレーショ
ンパターンを移動させるようにロボットアームを制御するように構成されている。
実施形態A5は、実施形態A4のロボット制御システムを含み、制御回路は、(a)ロ
ボットアームが、仮想立方体の全ての角位置までキャリブレーションパターンを移動させ
ることができるという判断、及び(b)ロボットアームが、仮想立方体の全ての角位置の
うちの各角位置において、カメラに対する角度の定義された範囲内にある角度までキャリ
ブレーションパターンを傾けることができるという判断に応じてのみ、複数の位置までキ
ャリブレーションパターンを移動させるようにロボットアームを制御するように構成され
ている。
実施形態A6は、実施形態A5のロボット制御システムを含み、仮想立方体は、制御回
路によって求められる第2の仮想立方体である。この実施形態では、制御回路は、カメラ
視野内に収まる第1の仮想立方体を求めるように更に構成される。制御回路は、ロボット
アームが、第1の仮想立方体の1つ以上の角位置までキャリブレーションパターンを移動
させることができないと判断するか、又は、ロボットアームが、第1の仮想立方体の1つ
以上の角位置に対して、カメラに対する角度の定義された範囲内にある角度までキャリブ
レーションパターンを傾けることができないと判断するように更に構成される。制御回路
は、(a)ロボットアームが第1の仮想立方体の1つ以上の角位置までキャリブレーショ
ンパターンを移動させることができないという判断、又は(b)ロボットアームが、第1
の仮想立方体の1つ以上の角位置に対して、カメラに対する角度の定義された範囲内にあ
る角度までキャリブレーションパターンを傾けることができないという判断のうちの少な
くとも一方に応じて、第2の仮想立方体の全ての角位置を求めるように構成される。
実施形態A7は、実施形態A6のロボット制御システムを含み、第1の仮想立方体は、
カメラ視野内に収まることができる最大サイズの仮想立方体であり、第2の仮想立方体は
、第1の仮想立方体より小さい。
実施形態A8は、実施形態A1〜A7のうちの任意の1つのロボット制御システムを含
み、複数の位置は厳密にn個の位置を含み、nは2以上の整数である。
実施形態A9は、実施形態A1〜A8のうちの任意の1つのロボット制御システムを含
み、制御回路は、移動コマンドを介して、仮想立方体の上に又は仮想立方体を通して一様
に分散される複数の位置に対してカメラに対する異なるそれぞれの角度までキャリブレー
ションパターンを傾けるように、ロボットアームを制御するように構成され、それにより
、複数のそれぞれのキャリブレーション画像は、カメラに対する異なるそれぞれの角度に
おけるキャリブレーションパターンを取り込む。
実施形態A10は、実施形態A1〜A9のうちの任意の1つのロボット制御システムを
含み、キャリブレーションパターンは複数のパターン要素を含み、制御回路は、複数のキ
ャリブレーション画像が受け取られる前にカメラから第1のキャリブレーション画像を受
け取るように構成され、第1のキャリブレーション画像は、キャリブレーションパターン
の画像であり、複数のそれぞれのキャリブレーション画像が取り込まれる前にカメラによ
って取り込まれる。制御回路は、第1のキャリブレーション画像におけるパターン要素の
うちの少なくとも1つの強度のレベル及びコントラストのレベルを求め、第1のキャリブ
レーション画像におけるパターン要素のうちの少なくとも1つの強度のレベル及びコント
ラストのレベルのうちの少なくとも一方に基づき、カメラの露出パラメーター及び焦点パ
ラメーターのそれぞれの値を求めるように更に構成されている。複数のそれぞれのキャリ
ブレーション画像は、当該露出パラメーター及び焦点パラメーターのそれぞれの値を備え
たカメラによって取り込まれる。
実施形態A11は、実施形態A4〜A10のうちの任意の1つのロボット制御システム
を含み、制御回路は、仮想立方体を複数の非オーバーラップ領域に分割することにより、
かつ、複数の位置のそれぞれの位置を複数の非オーバーラップ領域の各領域となるように
割り当てることにより、複数の位置を求めるように構成されている。
実施形態A12は、実施形態A4〜A11のうちの任意の1つのロボット制御システム
を含み、制御回路は、一連の反復にわたり複数の位置を求めるように構成され、該複数の
位置のうちの第1の位置は、仮想立方体内の任意の位置として求められ、かつ、一連の反
復のうちの第1の反復の間に求められ、仮想立方体は、第1の反復を実施するために使用
される第1の領域を形成する。この実施形態では、残りの反復に対するそれぞれの位置は
、該残りの反復の各々に対し、(a)先行する反復を実施するために使用された領域を、
互いにオーバーラップしない第1の半分領域及び第2の半分領域に分割することであって
、該第1の半分領域及び該第2の半分領域の各々は、現反復を実施するために使用される
領域であることと、(b)第1の半分領域及び第2の半分領域のうちのいずれが先行する
位置を含むかを判断することであって、該先行する位置は、先行する反復において求めら
れた複数の位置のそれぞれの位置であることと、(c)現位置として、第1の半分領域及
び第2の半分領域のうちの他方における任意の位置を求めることであって、現位置は、現
反復に対して求められる複数の位置のうちの1つの位置であることとを実施することによ
り、求められる。
実施形態A13は、ロボット制御を実施する方法に関する。この実施形態では、方法は
、a)ロボット制御システムにより、カメラ視野を示す情報を求めることであって、ロボ
ット制御システムは、カメラと通信し、かつ、ベース、ロボットアーム及び該ロボットア
ームに配置されたキャリブレーションパターンを有するロボットと通信するように構成さ
れた通信インターフェースを備え、カメラ視野はカメラの視野であることと、b)ロボッ
ト制御システムにより、カメラ視野内に収まる仮想立方体の全ての角位置を求めることと
、c)ロボット制御システムにより、仮想立方体の上に又は仮想立方体を通して分散され
る複数の位置を求めることと、d)ロボット制御システムにより、通信インターフェース
に移動コマンドを出力することであって、該通信インターフェースは、ロボットに移動コ
マンドを通信して、ロボットアームに対し、仮想立方体の上に又は仮想立方体を通して分
散される複数の位置までキャリブレーションパターンを移動させるように構成されること
と、e)ロボット制御システムにより、通信インターフェースから複数のキャリブレーシ
ョン画像を受け取ることであって、該通信インターフェースは、カメラから複数のキャリ
ブレーション画像を受け取るように構成され、該複数のキャリブレーション画像は、カメ
ラにより取り込まれ、複数の位置におけるキャリブレーションパターンの複数のそれぞれ
の画像であることと、f)ロボット制御システムにより、複数のキャリブレーション画像
に基づき固有カメラパラメーターのそれぞれの推定値を求めることと、g)ロボット制御
システムにより、固有カメラパラメーターのそれぞれの推定値に基づき、カメラ座標系と
ワールド座標系との関係を記述する変換関数の推定値を求めることであって、カメラ座標
系は、通信インターフェースが通信するように構成されるカメラの位置及び向きに関して
定義された座標系であり、ワールド座標系は、通信インターフェースが通信するように構
成されるロボットのベースに対して固定である位置に関して定義される座標系であること
と、h)ロボット制御システムにより、通信インターフェースから後続する画像を受け取
ることであって、該通信インターフェースは、固有カメラパラメーターのそれぞれの推定
値と変換関数の推定値とを求めた後、カメラから後続する画像を受け取るように構成され
ることと、i)ロボット制御システムにより、後続する画像に基づき、かつ、変換関数の
推定値に基づき、後続する移動コマンドを生成することと、j)ロボット制御システムに
より、通信インターフェースに後続する移動コマンドを出力することであって、該通信イ
ンターフェースは、ロボットアームの配置を制御するようにロボットに後続する移動コマ
ンドを通信するように構成されることとを含む。
実施形態A14は、ロボット制御システムの制御回路によって実行されると、制御回路
に対して、a)カメラ視野を示す情報を求めることであって、ロボット制御システムは、
カメラと通信し、かつ、ベース、ロボットアーム及び該ロボットアームに配置されたキャ
リブレーションパターンを有するロボットと通信するように構成された通信インターフェ
ースを備え、カメラ視野はカメラの視野であることと、b)カメラ視野内に収まる仮想立
方体の全ての角位置を求めることと、c)仮想立方体の上に又は仮想立方体を通して分散
される複数の位置を求めることと、d)通信インターフェースに移動コマンドを出力する
ことであって、通信インターフェースは、ロボットに移動コマンドを通信して、ロボット
アームに対し、仮想立方体の上に又は仮想立方体を通して分散される複数の位置までキャ
リブレーションパターンを移動させるように構成されることと、e)通信インターフェー
スから複数のキャリブレーション画像を受け取ることであって、通信インターフェースは
、カメラから複数のキャリブレーション画像を受け取るように構成され、複数のキャリブ
レーション画像は、カメラにより取り込まれ、複数の位置におけるキャリブレーションパ
ターンの複数のそれぞれの画像であることと、f)複数のキャリブレーション画像に基づ
き固有カメラパラメーターのそれぞれの推定値を求めることと、g)固有カメラパラメー
ターのそれぞれの推定値に基づき、カメラ座標系とワールド座標系との関係を記述する変
換関数の推定値を求めることであって、カメラ座標系は、通信インターフェースが通信す
るように構成されるカメラの位置及び向きに関して定義された座標系であり、ワールド座
標系は、通信インターフェースが通信するように構成されるロボットのベースに対して固
定である位置に関して定義される座標系であることとにより、カメラキャリブレーション
を実施させる命令が記憶されている非一時的コンピューター可読媒体に関する。命令は、
制御回路によって実行されると、制御回路に対し更に、通信インターフェースから後続す
る画像を受け取らせ、通信インターフェースは、固有カメラパラメーターのそれぞれの推
定値と変換関数の推定値とを求めた後にカメラから後続する画像を受け取るように構成さ
れる。制御回路はまた、後続する画像に基づきかつ変換関数の推定値に基づく後続する移
動コマンドを、通信インターフェースを介してロボットに出力することにより、ロボット
アームの配置を制御するように構成される。
実施形態B1は、通信インターフェース及び制御回路を備えるロボット制御システムに
関する。通信インターフェースは、ベースとキャリブレーションパターンが配置されてい
るロボットアームとを有するロボット、及びカメラ視野を有するカメラと通信するように
構成される。キャリブレーションパターンは、パターン座標系においてそれぞれの定義さ
れたパターン要素位置を有する複数のパターン要素を含み、パターン座標系は、キャリブ
レーションパターンの位置及び向きに関して定義された座標系である。制御回路は、a)
通信インターフェースを介してロボットに移動コマンドを出力することにより、カメラ視
野内の少なくとも1つの位置までキャリブレーションパターンを移動させるようにロボッ
トアームを制御することと、b)通信インターフェースを介してカメラからキャリブレー
ション画像を受け取ることであって、キャリブレーション画像は、カメラによって取り込
まれ、少なくとも1つの位置におけるキャリブレーションパターンの画像であることと、
c)複数のパターン要素がキャリブレーション画像に現れるそれぞれの位置を示す複数の
画像パターン要素位置を求めることと、d)複数の画像パターン要素位置に基づき、かつ
、定義されたパターン要素位置に基づき、第1の固有カメラパラメーターの第1の推定値
を求めることと、e)第1の固有カメラパラメーターの第1の推定値が求められた後、第
1の固有カメラパラメーターの第1の推定値に基づき、かつ、複数の画像パターン要素位
置に基づき、第2の固有カメラパラメーターの第1の推定値を求めることと、f)第2の
固有カメラパラメーターの第1の推定値に基づき、かつ、複数の画像パターン要素位置及
び定義されたパターン要素位置に基づき、第1の固有カメラパラメーターの第2の推定値
及び第2の固有カメラパラメーターの第2の推定値を求めることと、g)第1の固有カメ
ラパラメーターの第2の推定値及び第2の固有カメラパラメーターの第2の推定値に基づ
き、カメラ座標系とワールド座標系との関係を記述する変換関数の推定値を求めることで
あって、カメラ座標系は、カメラの位置及び向きに関して定義された座標系であり、ワー
ルド座標系は、ロボットのベースに対して固定である位置に関して定義された座標系であ
ることとにより、カメラキャリブレーションを実施するように構成される。制御回路は、
カメラキャリブレーションが実施された後、カメラから後続する画像を受け取り、後続す
る画像に基づきかつ変換関数の推定値に基づく後続する移動コマンドをロボットに出力す
ることにより、ロボットアームの配置を制御するように更に構成される。
実施形態B2は、実施形態B1のロボット制御システムを含み、変換関数は第2の変換
関数であり、制御回路は、第1の固有カメラパラメーターの第2の推定値及び第2の固有
カメラパラメーターの第2の推定値に基づき、パターン座標系とカメラ座標系との関係を
記述する第1の変換関数の推定値を更に求めることにより、カメラキャリブレーションを
実施するように構成され、第2の変換関数は第1の変換関数に基づいて求められる。
実施形態B3は、実施形態B1又はB2のロボット制御システムを含み、カメラはレン
ズ及び画像センサーを備え、第1の固有カメラパラメーターは、画像センサー上の像射影
を記述する射影行列であり、第2の固有カメラパラメーターは、レンズによってもたらさ
れるレンズ歪みを記述する歪みパラメーターである。
実施形態B4は、実施形態B1〜B3のうちの任意の1つのロボット制御システムを含
む。この実施形態では、制御回路は、(a)第2の固有カメラパラメーターの初期推定値
を求めることと、(b)第2の固有カメラパラメーターの初期推定値、第1の固有カメラ
パラメーターの第1の推定値、及びキャリブレーション画像に基づき、レンズによっても
たらされる歪みを補償するキャリブレーション画像の変更されたバージョンを生成するこ
とと、(c)キャリブレーション画像の変更されたバージョンにおける湾曲の量を求める
ことと、(d)キャリブレーション画像の変更されたバージョンにおける湾曲の量に基づ
き第2の固有カメラパラメーターの初期推定値を調整して、湾曲の量を低減させる第2の
固有カメラパラメーターの調整された推定値を生成することであって、調整された推定値
は第2の固有カメラパラメーターの第1の推定値であることとにより、第2の固有カメラ
パラメーターの第1の推定値を求めるように構成されている。
実施形態B5は、実施形態B4のロボット制御システムを含み、キャリブレーションパ
ターンにおける複数のパターン要素は複数のドットであり、制御回路は、キャリブレーシ
ョン画像の変更されたバージョンにおける複数のドットを通して複数の直線を当てはめる
ことと、複数の直線のうちの各直線と該直線が当てはめられる複数のドットのそれぞれの
ドットとの間のそれぞれの距離に基づき、湾曲の量を求めることとにより、湾曲の量を求
めるように構成されている。
実施形態B6は、実施形態B2〜B5のうちの任意の1つのロボット制御システムを含
む。この実施形態では、制御回路は、(a)第1の変換関数の推定値、第2の固有カメラ
パラメーターの第2の推定値、及び第1の固有カメラパラメーターの第2の推定値に基づ
き、キャリブレーションパターンのシミュレートされた画像であるシミュレートキャリブ
レーション画像を求めることと、(b)シミュレートキャリブレーション画像とカメラに
よって取り込まれるキャリブレーション画像との差を求めることと、(c)差に基づき第
2の固有カメラパラメーターの第2の推定値及び第1の固有カメラパラメーターの第2の
推定値を調整して、差を低減させる、第2の固有カメラパラメーターの調整された推定値
及び第1の固有カメラパラメーターの調整された推定値を生成することであって、第2の
固有カメラパラメーターの調整された推定値は該第2の固有カメラパラメーターの第3の
推定値であり、第1の固有カメラパラメーターの調整された推定値は該第1の固有カメラ
パラメーターの第3の推定値であることとによって、第2の固有カメラパラメーターの第
3の推定値及び第1の固有カメラパラメーターの第3の推定値を求めるように更に構成さ
れる。さらに、この実施形態では、第1の変換関数の推定値は、第2の固有カメラパラメ
ーターの第3の推定値と第1の固有カメラパラメーターの第3の推定値とに基づいて求め
られる。
実施形態B7は、実施形態B2〜B6のうちの任意の1つのロボット制御システムを含
み、ロボットアームは、キャリブレーションパターンが配置されるリンクを備える。この
実施形態では、制御回路は、さらに、ワールド座標系とリンク座標系との関係を記述する
第3の変換関数の推定値を求めることであって、リンク座標系は、リンクにおける位置に
関して定義された座標系であることと、パターン座標系とリンク座標系との関係を記述す
る第4の変換関数の推定値を求めることであって、第2の変換関数の推定値と第4の変換
関数の推定値とは、ともに、第1の変換関数の推定値と第3の変換関数の推定値とに基づ
いて求められることとにより、カメラキャリブレーションを実施するように構成されてい
る。
実施形態B8は、実施形態B7のロボット制御システムを含み、制御回路は、さらに、
a)第4の変換関数の推定値、第3の変換関数の推定値、第2の変換関数の推定値、及び
第1の固有カメラパラメーターの第2の推定値に基づき、キャリブレーションパターンの
シミュレートされた画像であるシミュレートキャリブレーション画像を求めることと、b
)第2の固有カメラパラメーターの第2の推定値に基づき、カメラのレンズによってもた
らされる歪みを補償するように、該カメラによって取り込まれるキャリブレーション画像
の変更されたバージョンを求めることと、c)シミュレートキャリブレーション画像とキ
ャリブレーション画像の変更されたバージョンとの差を求めることと、d)シミュレート
キャリブレーション画像とキャリブレーション画像の変更されたバージョンとの差を低減
させるように、少なくとも第4の変換関数の推定値及び第2の変換関数の推定値を調整す
ることとにより、カメラキャリブレーションを実施するように構成されている。
実施形態B9は、実施形態B1〜B8のうちの任意の1つのロボット制御システムを含
み、通信インターフェースが通信するように構成されているカメラは第1のカメラであり
、カメラ座標系は第1のカメラ座標系であり、通信インターフェースは、第2のカメラと
通信するように構成される。この実施形態では、制御回路は、第1のカメラ座標系と第2
のカメラ座標系との関係を更に求めることによりカメラキャリブレーションを実施するよ
うに構成され、第2のカメラ座標系は、第2のカメラの位置及び向きに関して定義される
実施形態B10は、ロボット制御を実施する方法であって、a)ロボット制御システム
により、該ロボット制御システムの通信インターフェースに出力する移動コマンドを生成
することであって、該通信インターフェースは、ベースとキャリブレーションパターンが
配置されているロボットアームとを有するロボットと通信するように構成され、カメラ視
野を有するカメラと通信するように構成されることと、b)ロボット制御システムにより
、通信インターフェースに移動コマンドを出力することであって、該通信インターフェー
スは、ロボットに移動コマンドを通信して、ロボットアームがカメラ視野内の少なくとも
1つの位置までキャリブレーションパターンを移動させるように構成されることと、c)
ロボット制御システムにより、通信インターフェースからキャリブレーション画像を受け
取ることであって、該通信インターフェースは、カメラからキャリブレーション画像を受
け取るように構成され、該キャリブレーション画像は、カメラ視野内の少なくとも1つの
位置におけるキャリブレーションパターンの画像であり、該キャリブレーションパターン
は、パターン座標系におけるそれぞれの定義されたパターン要素位置を有する複数のパタ
ーン要素を含み、パターン座標系は、キャリブレーションパターンの位置及び向きに関し
て定義された座標系であることと、d)ロボット制御システムにより、キャリブレーショ
ン画像から複数の画像パターン要素位置を求めることであって、該複数の画像パターン要
素位置は、複数のパターン要素がキャリブレーション画像に現れるそれぞれの位置を示す
ことと、e)ロボット制御システムにより、複数の画像パターン要素位置に基づき、かつ
定義されたパターン要素位置に基づき、第1の固有カメラパラメーターの第1の推定値を
求めることと、f)ロボット制御システムにより、第1の固有カメラパラメーターの第1
の推定値が求められた後、第1の固有カメラパラメーターの第1の推定値に基づき、かつ
複数の画像パターン要素位置に基づき、第2の固有カメラパラメーターの第1の推定値を
求めることと、g)ロボット制御システムにより、第2の固有カメラパラメーターの第1
の推定値に基づき、かつ複数の画像パターン要素位置及び定義されたパターン要素位置に
基づき、第1の固有カメラパラメーターの第2の推定値と第2の固有カメラパラメーター
の第2の推定値とを求めることと、h)ロボット制御システムにより、第1の固有カメラ
パラメーターの第2の推定値と第2の固有カメラパラメーターの第2の推定値とに基づき
、カメラ座標系とワールド座標系との関係を記述する変換関数の推定値を求めることであ
って、カメラ座標系は、通信インターフェースが通信するように構成されるカメラの位置
及び向きに関して定義された座標系であり、ワールド座標系は、通信インターフェースが
通信するように構成されるロボットのベースに対して固定である位置に関して定義された
座標系であることと、i)ロボット制御システムにより、通信インターフェースから後続
する画像を受け取ることであって、該通信インターフェースは、変換関数の推定値が求め
られた後にカメラから後続する画像を受け取るように構成されることと、j)ロボット制
御システムにより、後続する画像に基づき、かつ変換関数の推定値に基づき、後続する移
動コマンドを生成することと、k)ロボット制御システムにより、通信インターフェース
に後続する移動コマンドを出力することであって、該通信インターフェースは、ロボット
アームの配置を制御するようにロボットに後続する移動コマンドを出力するように構成さ
れることとを含む、方法に関する。
実施形態B11は、ロボット制御システムの制御回路によって実行されると、制御回路
に対してa)ロボット制御システムの通信インターフェースに出力する移動コマンドを生
成することであって、通信インターフェースは、ベースとキャリブレーションパターンが
配置されているロボットアームとを有するロボットと通信し、かつカメラ視野を有するカ
メラと通信するように構成されることと、b)通信インターフェースに移動コマンドを出
力することであって、通信インターフェースは、ロボットに移動コマンドを通信して、ロ
ボットアームがカメラ視野内の少なくとも1つの位置までキャリブレーションパターンを
移動させるように構成されることと、c)通信インターフェースからキャリブレーション
画像を受け取ることであって、通信インターフェースは、カメラからキャリブレーション
画像を受け取るように構成され、キャリブレーション画像は、カメラ視野内の少なくとも
1つの位置におけるキャリブレーションパターンの画像であり、キャリブレーションパタ
ーンは、パターン座標系におけるそれぞれの定義されたパターン要素位置を有する複数の
パターン要素を含み、パターン座標系は、キャリブレーションパターンの位置及び向きに
関して定義された座標系であることと、d)キャリブレーション画像から複数の画像パタ
ーン要素位置を求めることであって、複数の画像パターン要素位置は、複数のパターン要
素が前記キャリブレーション画像に現れるそれぞれの位置を示すことと、e)複数の画像
パターン要素位置に基づき、かつ定義されたパターン要素位置に基づき、第1の固有カメ
ラパラメーターの第1の推定値を求めることと、f)第1の固有カメラパラメーターの第
1の推定値が求められた後、第1の固有カメラパラメーターの第1の推定値に基づき、か
つ複数の画像パターン要素位置に基づき、第2の固有カメラパラメーターの第1の推定値
を求めることと、g)第2の固有カメラパラメーターの第1の推定値に基づき、かつ複数
の画像パターン要素位置及び定義されたパターン要素位置に基づき、第1の固有カメラパ
ラメーターの第2の推定値と第2の固有カメラパラメーターの第2の推定値とを求めるこ
とと、h)第1の固有カメラパラメーターの第2の推定値と第2の固有カメラパラメータ
ーの第2の推定値とに基づき、カメラ座標系とワールド座標系との関係を記述する変換関
数の推定値を求めることであって、カメラ座標系は、通信インターフェースが通信するよ
うに構成されるカメラの位置及び向きに関して定義された座標系であり、ワールド座標系
は、通信インターフェースが通信するように構成されるロボットのベースに対して固定で
ある位置に関して定義された座標系であることとにより、カメラキャリブレーションを実
施させる命令が記憶されている非一時的コンピューター可読媒体に関する。命令は、制御
回路によって実行されると、制御回路に対し更に、通信インターフェースから後続する画
像を受け取らせ、通信インターフェースは、カメラキャリブレーションが実施された後、
カメラから後続する画像を受け取り、後続する画像に基づきかつ変換関数の推定値に基づ
く後続する移動コマンドを、通信インターフェースを介してロボットに出力することによ
り、ロボットアームの配置を制御するように構成される。
種々の実施形態を上述してきたが、これらの実施形態は、限定としてではなく本発明の
単なる説明及び例として提示されていることを理解すべきである。形式及び細部における
種々の変更は本発明の趣旨及び範囲から逸脱することなく本発明内で行うことができるこ
とは当業者には明らかであろう。したがって、本発明の範囲(breadth and scope)は、
上述の例示的な実施形態のいずれかによって限定されるべきではなく、添付の特許請求の
範囲及びそれらの均等物によってのみ規定されるべきである。本明細書において論考され
た各実施形態、及び本明細書において引用された各引用文献の各特徴は、他の任意の実施
形態の特徴と組み合わせて用いることができることも理解されるであろう。本明細書にお
いて論考された全ての特許及び刊行物は、引用することによりその全体が本明細書の一部
をなす。

Claims (40)

  1. ロボットと通信し、かつカメラ視野を有するカメラと通信するように構成された通信イ
    ンターフェースであって、前記ロボットは、ベースと、キャリブレーションパターンが配
    置されているロボットアームとを有する、通信インターフェースと、
    制御回路であって、
    前記カメラ視野内に収まる仮想立方体の全ての角位置を求めることと、
    前記仮想立方体の上に又は該仮想立方体を通して分散される複数の位置を求めること
    と、
    前記通信インターフェースを介して前記ロボットに移動コマンドを出力することによ
    り、前記仮想立方体の上に又は該仮想立方体を通して分散される前記複数の位置まで前記
    キャリブレーションパターンを移動させるように前記ロボットアームを制御することと、
    前記通信インターフェースを介して前記カメラから複数のキャリブレーション画像を
    受け取ることであって、該複数のキャリブレーション画像は、前記カメラによって取り込
    まれ、前記複数の位置における前記キャリブレーションパターンのそれぞれの画像である
    ことと、
    前記複数のキャリブレーション画像に基づき、固有カメラパラメーターのそれぞれの
    推定値を求めることと、
    前記固有カメラパラメーターの前記それぞれの推定値に基づき、カメラ座標系とワー
    ルド座標系との関係を記述する変換関数の推定値を求めることであって、前記カメラ座標
    系は、前記カメラの位置及び向きに関して定義された座標系であり、前記ワールド座標系
    は、前記ロボットの前記ベースに対して固定である位置に関して定義された座標系である
    ことと、
    により、カメラキャリブレーションを実施するように構成された制御回路と、
    を備え、
    前記制御回路は、前記カメラキャリブレーションが実施された後、前記通信インターフ
    ェースを介して前記カメラから後続する画像を受け取り、前記後続する画像に基づきかつ
    前記変換関数の前記推定値に基づく後続する移動コマンドを、前記通信インターフェース
    を介して前記ロボットに出力することにより、前記ロボットアームの配置を制御するよう
    に更に構成されている、ロボット制御システム。
  2. 前記複数の位置は、前記仮想立方体の上に又は該仮想立方体を通して一様に分散されて
    いる、請求項1に記載のロボット制御システム。
  3. 前記複数の位置は、該複数の位置のうちの隣接する位置の間に、前記仮想立方体の縁に
    沿って測定される一様の間隔を有する、請求項2に記載のロボット制御システム。
  4. 前記制御回路は、前記ロボットアームが前記仮想立方体の全ての角位置まで前記キャリ
    ブレーションパターンを移動させることができるという判断に応じて、前記複数の位置ま
    で前記キャリブレーションパターンを移動させるように前記ロボットアームを制御するよ
    うに構成されている、請求項1に記載のロボット制御システム。
  5. 前記制御回路は、(a)前記ロボットアームが、前記仮想立方体の全ての角位置まで前
    記キャリブレーションパターンを移動させることができるという判断、及び(b)前記ロ
    ボットアームが、前記仮想立方体の全ての角位置のうちの各角位置において、前記カメラ
    に対する角度の定義された範囲内にある角度まで前記キャリブレーションパターンを傾け
    ることができるという判断に応じてのみ、前記複数の位置まで前記キャリブレーションパ
    ターンを移動させるように前記ロボットアームを制御するように構成されている、請求項
    4に記載のロボット制御システム。
  6. 前記仮想立方体が、前記制御回路によって求められる第2の仮想立方体であり、前記制
    御回路は、
    前記カメラ視野内に収まる第1の仮想立方体を求め、
    前記ロボットアームが、前記第1の仮想立方体の1つ以上の角位置まで前記キャリブレ
    ーションパターンを移動させることができないと判断するか、又は、前記ロボットアーム
    が、前記第1の仮想立方体の1つ以上の角位置に対して、前記カメラに対する角度の定義
    された範囲内にある角度まで前記キャリブレーションパターンを傾けることができないと
    判断する、
    ように更に構成され、
    前記制御回路は、(a)前記ロボットアームが前記第1の仮想立方体の1つ以上の角位
    置まで前記キャリブレーションパターンを移動させることができないという判断、又は(
    b)前記ロボットアームが、前記第1の仮想立方体の1つ以上の角位置に対して、前記カ
    メラに対する角度の定義された範囲内にある角度まで前記キャリブレーションパターンを
    傾けることができないという判断のうちの少なくとも一方に応じて、前記第2の仮想立方
    体の全ての角位置を求めるように構成されている、請求項5に記載のロボット制御システ
    ム。
  7. 前記第1の仮想立方体は、前記カメラ視野内に収まることができる最大サイズの仮想立
    方体であり、前記第2の仮想立方体は、前記第1の仮想立方体より小さい、請求項6に記
    載のロボット制御システム。
  8. 前記複数の位置は厳密にn個の位置を含み、nは2以上の整数である、請求項1に記
    載のロボット制御システム。
  9. 前記制御回路は、前記移動コマンドを介して、前記仮想立方体の上に又は該仮想立方体
    を通して一様に分散される前記複数の位置に対して前記カメラに対する異なるそれぞれの
    角度まで前記キャリブレーションパターンを傾けるように、前記ロボットアームを制御す
    るように構成され、それにより、前記複数のそれぞれのキャリブレーション画像は、前記
    カメラに対する異なるそれぞれの角度における前記キャリブレーションパターンを取り込
    む、請求項1に記載のロボット制御システム。
  10. 前記キャリブレーションパターンは複数のパターン要素を含み、前記制御回路は、
    前記複数のキャリブレーション画像が受け取られる前に前記カメラから第1のキャリブ
    レーション画像を受け取り、該第1のキャリブレーション画像は、前記キャリブレーショ
    ンパターンの画像であり、前記複数のそれぞれのキャリブレーション画像が取り込まれる
    前に前記カメラによって取り込まれ、
    前記第1のキャリブレーション画像における前記パターン要素のうちの少なくとも1つ
    の強度のレベル及びコントラストのレベルを求め、
    前記第1のキャリブレーション画像における前記パターン要素のうちの少なくとも1つ
    の前記強度のレベル及び前記コントラストのレベルのうちの少なくとも一方に基づき、前
    記カメラの露出パラメーター及び焦点パラメーターのそれぞれの値を求める、
    ように構成され、
    前記複数のそれぞれのキャリブレーション画像は、前記露出パラメーター及び前記焦点
    パラメーターの前記それぞれの値を備えた前記カメラによって取り込まれる、請求項1に
    記載のロボット制御システム。
  11. 前記制御回路は、前記仮想立方体を複数の非オーバーラップ領域に分割することにより
    、かつ、前記複数の位置のそれぞれの位置を前記複数の非オーバーラップ領域の各領域と
    なるように割り当てることにより、前記複数の位置を求めるように構成されている、請求
    項1に記載のロボット制御システム。
  12. 前記制御回路は、一連の反復にわたり前記複数の位置を求めるように構成され、該複数
    の位置のうちの第1の位置は、前記仮想立方体内の任意の位置として求められ、かつ、前
    記一連の反復のうちの第1の反復の間に求められ、前記仮想立方体は、前記第1の反復を
    実施するために使用される第1の領域を形成し、
    残りの反復に対するそれぞれの位置は、該残りの反復の各々に対し、(a)先行する反
    復を実施するために使用された領域を、互いにオーバーラップしない第1の半分領域及び
    第2の半分領域に分割することであって、該第1の半分領域及び該第2の半分領域の各々
    は、現反復を実施するために使用される領域であることと、(b)前記第1の半分領域及
    び前記第2の半分領域のうちのいずれが先行する位置を含むかを判断することであって、
    該先行する位置は、前記先行する反復において求められた前記複数の位置のそれぞれの位
    置であることと、(c)現位置として、前記第1の半分領域及び前記第2の半分領域のう
    ちの他方における任意の位置を求めることであって、前記現位置は、前記現反復に対して
    求められる前記複数の位置のうちの1つの位置であることとを実施することにより、求め
    られる、請求項1に記載のロボット制御システム。
  13. ロボット制御を実施する方法であって、
    ロボット制御システムにより、カメラ視野を示す情報を求めることであって、前記ロボ
    ット制御システムは、カメラと通信し、かつ、ベース、ロボットアーム及び該ロボットア
    ームに配置されたキャリブレーションパターンを有するロボットと通信するように構成さ
    れた通信インターフェースを備え、前記カメラ視野は前記カメラの視野であることと、
    前記ロボット制御システムにより、前記カメラ視野内に収まる仮想立方体の全ての角位
    置を求めることと、
    前記ロボット制御システムにより、前記仮想立方体の上に又は該仮想立方体を通して分
    散される複数の位置を求めることと、
    前記ロボット制御システムにより、前記通信インターフェースに移動コマンドを出力す
    ることであって、該通信インターフェースは、前記ロボットに前記移動コマンドを通信し
    て、前記ロボットアームに対し、前記仮想立方体の上に又は該仮想立方体を通して分散さ
    れる前記複数の位置まで前記キャリブレーションパターンを移動させるように構成される
    ことと、
    前記ロボット制御システムにより、前記通信インターフェースから複数のキャリブレー
    ション画像を受け取ることであって、該通信インターフェースは、前記カメラから前記複
    数のキャリブレーション画像を受け取るように構成され、該複数のキャリブレーション画
    像は、前記カメラにより取り込まれ、前記複数の位置における前記キャリブレーションパ
    ターンの複数のそれぞれの画像であることと、
    前記ロボット制御システムにより、前記複数のキャリブレーション画像に基づき固有カ
    メラパラメーターのそれぞれの推定値を求めることと、
    前記ロボット制御システムにより、前記固有カメラパラメーターの前記それぞれの推定
    値に基づき、カメラ座標系とワールド座標系との関係を記述する変換関数の推定値を求め
    ることであって、前記カメラ座標系は、前記通信インターフェースが通信するように構成
    される前記カメラの位置及び向きに関して定義された座標系であり、前記ワールド座標系
    は、前記通信インターフェースが通信するように構成される前記ロボットの前記ベースに
    対して固定である位置に関して定義される座標系であることと、
    前記ロボット制御システムにより、前記通信インターフェースから後続する画像を受け
    取ることであって、該通信インターフェースは、前記固有カメラパラメーターの前記それ
    ぞれの推定値と前記変換関数の前記推定値とを求めた後、前記カメラから前記後続する画
    像を受け取るように構成されることと、
    前記ロボット制御システムにより、前記後続する画像に基づき、かつ、前記変換関数の
    前記推定値に基づき、後続する移動コマンドを生成することと、
    前記ロボット制御システムにより、前記通信インターフェースに前記後続する移動コマ
    ンドを出力することであって、該通信インターフェースは、前記ロボットアームの配置を
    制御するように前記ロボットに前記後続する移動コマンドを通信するように構成されるこ
    とと、
    を含む、方法。
  14. 前記複数の位置は、前記仮想立方体の上に又は該仮想立方体を通して一様に分散される
    、請求項13に記載の方法。
  15. 前記複数の位置は厳密にn個の位置を含み、nは2以上の整数である、請求項14に
    記載の方法。
  16. ロボット制御システムの制御回路によって実行されると、該制御回路に対して、
    カメラ視野を示す情報を求めることであって、前記ロボット制御システムは、カメラと
    通信し、かつ、ベース、ロボットアーム及び該ロボットアームに配置されたキャリブレー
    ションパターンを有するロボットと通信するように構成された通信インターフェースを備
    え、前記カメラ視野は前記カメラの視野であることと、
    前記カメラ視野内に収まる仮想立方体の全ての角位置を求めることと、
    前記仮想立方体の上に又は該仮想立方体を通して分散される複数の位置を求めることと

    前記通信インターフェースに移動コマンドを出力することであって、該通信インターフ
    ェースは、前記ロボットに前記移動コマンドを通信して、前記ロボットアームに対し、前
    記仮想立方体の上に又は該仮想立方体を通して分散される前記複数の位置まで前記キャリ
    ブレーションパターンを移動させるように構成されることと、
    前記通信インターフェースから複数のキャリブレーション画像を受け取ることであって
    、該通信インターフェースは、前記カメラから前記複数のキャリブレーション画像を受け
    取るように構成され、該複数のキャリブレーション画像は、前記カメラにより取り込まれ
    、前記複数の位置における前記キャリブレーションパターンの複数のそれぞれの画像であ
    ることと、
    前記複数のキャリブレーション画像に基づき固有カメラパラメーターのそれぞれの推定
    値を求めることと、
    前記固有カメラパラメーターの前記それぞれの推定値に基づき、カメラ座標系とワール
    ド座標系との関係を記述する変換関数の推定値を求めることであって、前記カメラ座標系
    は、前記通信インターフェースが通信するように構成される前記カメラの位置及び向きに
    関して定義された座標系であり、前記ワールド座標系は、前記通信インターフェースが通
    信するように構成される前記ロボットの前記ベースに対して固定である位置に関して定義
    される座標系であることと、
    により、カメラキャリブレーションを実施させ、
    前記通信インターフェースから後続する画像を受け取らせ、該通信インターフェースは
    、前記固有カメラパラメーターの前記それぞれの推定値と前記変換関数の前記推定値とを
    求めた後に前記カメラから前記後続する画像を受け取るように構成され、
    前記後続する画像に基づきかつ前記変換関数の前記推定値に基づく後続する移動コマン
    ドを、前記通信インターフェースを介して前記ロボットに出力することにより、前記ロボ
    ットアームの配置を制御させる、
    命令が記憶されている非一時的コンピューター可読媒体。
  17. 前記命令は、前記制御回路により実行されると、さらに、前記制御回路に対し、前記ロ
    ボットアームが前記仮想立方体の全ての角位置まで前記キャリブレーションパターンを移
    動させることができるか否かを判断させ、前記複数の位置まで前記キャリブレーションパ
    ターンを移動させる前記移動コマンドは、前記ロボットアームが前記仮想立方体の全ての
    角位置まで前記キャリブレーションパターンを移動させることができるという判断に応じ
    て出力される、請求項16に記載の非一時的コンピューター可読媒体。
  18. 前記命令は、前記制御回路により実行されると、さらに、前記制御回路に対し、前記ロ
    ボットアームが、前記仮想立方体の全ての角位置のうちの各角位置において、前記カメラ
    に対する角度の定義された範囲内にある角度まで前記キャリブレーションパターンを傾け
    ることができるか否かを判断させ、前記複数の位置まで前記キャリブレーションパターン
    を移動させる前記移動コマンドは、(a)前記ロボットアームが、前記仮想立方体の全て
    の角位置まで前記キャリブレーションパターンを移動させることができるという判断、及
    び(b)前記ロボットアームが、前記仮想立方体の全ての角位置のうちの各角位置におい
    て、前記カメラに対する角度の定義された範囲内にある角度まで前記キャリブレーション
    パターンを傾けることができるという判断に応じて出力される、請求項17に記載の非一
    時的コンピューター可読媒体。
  19. 前記仮想立方体は前記制御回路によって求められる第2の仮想立方体であり、前記命令
    は、前記制御回路により実行されると、さらに、前記制御回路に対し、
    前記カメラ視野内に収まる第1の仮想立方体を求めさせ、
    前記ロボットアームが、前記第1の仮想立方体の1つ以上の角位置まで前記キャリブレ
    ーションパターンを移動させることができないと判断させるか、又は、前記ロボットアー
    ムが、前記第1の仮想立方体の1つ以上の角位置に対して、前記カメラに対する角度の定
    義された範囲内にある角度まで前記キャリブレーションパターンを傾けることができない
    と判断させ、
    前記第2の仮想立方体の全ての角位置を求めることは、(a)前記ロボットアームが前
    記第1の仮想立方体の1つ以上の角位置まで前記キャリブレーションパターンを移動させ
    ることができないという判断、又は(b)前記ロボットアームが、前記第1の仮想立方体
    の1つ以上の角位置に対して、前記カメラに対する角度の定義された範囲内にある角度ま
    で前記キャリブレーションパターンを傾けることができないという判断のうちの少なくと
    も一方にのみ応じる、請求項18に記載の非一時的コンピューター可読媒体。
  20. 前記第1の仮想立方体は、前記カメラ視野内に収まることができる最大サイズの仮想立
    方体であり、前記第2の仮想立方体は、前記第1の仮想立方体より小さい、請求項19に
    記載の非一時的コンピューター可読媒体。
  21. ベースとキャリブレーションパターンが配置されているロボットアームとを有するロ
    ボット、及び、
    カメラ視野を有するカメラ、
    と通信するように構成された通信インターフェースであって、
    前記キャリブレーションパターンは、パターン座標系においてそれぞれの定義されたパ
    ターン要素位置を有する複数のパターン要素を含み、前記パターン座標系は、前記キャリ
    ブレーションパターンの位置及び向きに関して定義された座標系である、通信インターフ
    ェースと、
    制御回路であって、
    前記通信インターフェースを介して前記ロボットに移動コマンドを出力することによ
    り、前記カメラ視野内の少なくとも1つの位置まで前記キャリブレーションパターンを移
    動させるように前記ロボットアームを制御することと、
    前記通信インターフェースを介して前記カメラからキャリブレーション画像を受け取
    ることであって、該キャリブレーション画像は、前記カメラによって取り込まれ、前記少
    なくとも1つの位置における前記キャリブレーションパターンの画像であることと、
    前記複数のパターン要素が前記キャリブレーション画像に現れるそれぞれの位置を示
    す複数の画像パターン要素位置を求めることと、
    前記複数の画像パターン要素位置に基づき、かつ、定義されたパターン要素位置に基づ
    き、第1の固有カメラパラメーターの第1の推定値を求めることと、
    前記第1の固有カメラパラメーターの前記第1の推定値が求められた後、該第1の固
    有カメラパラメーターの該第1の推定値に基づき、かつ、前記複数の画像パターン要素位
    置に基づき、第2の固有カメラパラメーターの第1の推定値を求めることと、
    前記第2の固有カメラパラメーターの前記第1の推定値に基づき、かつ、前記複数の
    画像パターン要素位置及び前記定義されたパターン要素位置に基づき、前記第1の固有カ
    メラパラメーターの第2の推定値及び前記第2の固有カメラパラメーターの第2の推定値
    を求めることと、
    前記第1の固有カメラパラメーターの前記第2の推定値及び前記第2の固有カメラパ
    ラメーターの前記第2の推定値に基づき、カメラ座標系とワールド座標系との関係を記述
    する変換関数の推定値を求めることであって、前記カメラ座標系は、前記カメラの位置及
    び向きに関して定義された座標系であり、前記ワールド座標系は、前記ロボットの前記ベ
    ースに対して固定である位置に関して定義された座標系であることと、
    により、カメラキャリブレーションを実施するように構成された制御回路と、
    を備え、
    前記制御回路は、前記カメラキャリブレーションが実施された後、前記カメラから後続
    する画像を受け取り、該後続する画像に基づきかつ前記変換関数の推定値に基づく後続す
    る移動コマンドを前記ロボットに出力することにより、前記ロボットアームの配置を制御
    するように更に構成されている、ロボット制御システム。
  22. 前記変換関数は第2の変換関数であり、前記制御回路は、前記第1の固有カメラパラメ
    ーターの前記第2の推定値及び前記第2の固有カメラパラメーターの前記第2の推定値に
    基づき、前記パターン座標系と前記カメラ座標系との関係を記述する第1の変換関数の推
    定値を更に求めることにより、前記カメラキャリブレーションを実施するように構成され
    、前記第2の変換関数は前記第1の変換関数に基づいて求められる、請求項21に記載の
    ロボット制御システム。
  23. 前記第1の固有カメラパラメーターは、前記通信インターフェースが通信するように構
    成されている前記カメラの画像センサー上の像射影を記述する射影行列であり、前記第2
    の固有カメラパラメーターは、前記通信インターフェースが通信するように構成されてい
    る前記カメラのレンズによってもたらされるレンズ歪みを記述する歪みパラメーターであ
    る、請求項21に記載のロボット制御システム。
  24. 前記制御回路は、(a)前記第2の固有カメラパラメーターの初期推定値を求めること
    と、(b)前記第2の固有カメラパラメーターの前記初期推定値、前記第1の固有カメラ
    パラメーターの前記第1の推定値、及び前記キャリブレーション画像に基づき、前記レン
    ズによってもたらされるレンズ歪みを補償する前記キャリブレーション画像の変更された
    バージョンを生成することと、(c)前記キャリブレーション画像の前記変更されたバー
    ジョンにおける湾曲の量を求めることと、(d)前記キャリブレーション画像の前記変更
    されたバージョンにおける前記湾曲の量に基づき前記第2の固有カメラパラメーターの前
    記初期推定値を調整して、前記湾曲の量を低減させる前記第2の固有カメラパラメーター
    の調整された推定値を生成することであって、前記調整された推定値は前記第2の固有カ
    メラパラメーターの前記第1の推定値であることとにより、前記第2の固有カメラパラメ
    ーターの前記第1の推定値を求めるように構成されている、請求項23に記載のロボット
    制御システム。
  25. 前記キャリブレーションパターンにおける前記複数のパターン要素は複数のドットであ
    り、
    前記制御回路は、前記キャリブレーション画像の前記変更されたバージョンにおける前
    記複数のドットを通して複数の直線を当てはめることと、前記複数の直線のうちの各直線
    と該直線が当てはめられる前記複数のドットのそれぞれのドットとの間のそれぞれの距離
    に基づき、前記湾曲の量を求めることとにより、前記湾曲の量を求めるように構成されて
    いる、請求項24に記載のロボット制御システム。
  26. 前記制御回路は、(a)前記第1の変換関数の前記推定値、前記第2の固有カメラパラ
    メーターの前記第2の推定値、及び前記第1の固有カメラパラメーターの前記第2の推定
    値に基づき、前記キャリブレーションパターンのシミュレートされた画像であるシミュレ
    ートキャリブレーション画像を求めることと、(b)前記シミュレートキャリブレーショ
    ン画像と前記カメラによって取り込まれる前記キャリブレーション画像との差を求めるこ
    とと、(c)前記差に基づき前記第2の固有カメラパラメーターの前記第2の推定値及び
    前記第1の固有カメラパラメーターの前記第2の推定値を調整して、前記差を低減させる
    、前記第2の固有カメラパラメーターの調整された推定値及び前記第1の固有カメラパラ
    メーターの調整された推定値を生成することであって、前記第2の固有カメラパラメータ
    ーの前記調整された推定値は該第2の固有カメラパラメーターの第3の推定値であり、前
    記第1の固有カメラパラメーターの前記調整された推定値は該第1の固有カメラパラメー
    ターの第3の推定値であることとによって、前記第2の固有カメラパラメーターの第3の
    推定値及び前記第1の固有カメラパラメーターの第3の推定値を求めるように更に構成さ
    れ、
    前記第1の変換関数の前記推定値は、前記第2の固有カメラパラメーターの前記第3の
    推定値と前記第1の固有カメラパラメーターの前記第3の推定値とに基づいて求められる
    、請求項22に記載のロボット制御システム。
  27. 前記制御回路は、さらに、
    前記ワールド座標系とリンク座標系との関係を記述する第3の変換関数の推定値を求め
    ることであって、前記リンク座標系は、前記キャリブレーションパターンが配置されてい
    る前記ロボットアームのリンクにおける位置に関して定義された座標系であることと、
    前記パターン座標系と前記リンク座標系との関係を記述する第4の変換関数の推定値を
    求めることであって、前記第2の変換関数の前記推定値と前記第4の変換関数の前記推定
    値とは、ともに、前記第1の変換関数の推定値と前記第3の変換関数の推定値とに基づい
    て求められることと、
    により、前記カメラキャリブレーションを実施するように構成されている、請求項22に
    記載のロボット制御システム。
  28. 前記制御回路は、さらに、
    前記第4の変換関数の前記推定値、前記第3の変換関数の前記推定値、前記第2の変換
    関数の前記推定値、及び前記第1の固有カメラパラメーターの前記第2の推定値に基づき
    、前記キャリブレーションパターンのシミュレートされた画像であるシミュレートキャリ
    ブレーション画像を求めることと、
    前記第2の固有カメラパラメーターの前記第2の推定値に基づき、前記カメラのレンズ
    によってもたらされるレンズ歪みを補償するように該カメラによって取り込まれる前記キ
    ャリブレーション画像の変更されたバージョンを求めることと、
    前記シミュレートキャリブレーション画像と前記キャリブレーション画像の前記変更さ
    れたバージョンとの差を求めることと、
    前記シミュレートキャリブレーション画像と前記キャリブレーション画像の前記変更さ
    れたバージョンとの前記差を低減させるように、少なくとも前記第4の変換関数の前記推
    定値及び前記第2の変換関数の前記推定値を調整することと、
    により、前記カメラキャリブレーションを実施するように構成されている、請求項27に
    記載のロボット制御システム。
  29. 前記通信インターフェースが通信するように構成されている前記カメラは第1のカメラ
    であり、前記カメラ座標系は第1のカメラ座標系であり、
    前記通信インターフェースは、第2のカメラと通信するように構成され、
    前記制御回路は、前記第1のカメラ座標系と第2のカメラ座標系との関係を更に求める
    ことにより前記カメラキャリブレーションを実施するように構成され、前記第2のカメラ
    座標系は、前記第2のカメラの位置及び向きに関して定義される、請求項27に記載のロ
    ボット制御システム。
  30. ロボット制御を実施する方法であって、
    ロボット制御システムにより、該ロボット制御システムの通信インターフェースに出力
    する移動コマンドを生成することであって、該通信インターフェースは、ベースとキャリ
    ブレーションパターンが配置されているロボットアームとを有するロボットと通信するよ
    うに構成され、カメラ視野を有するカメラと通信するように構成されることと、
    前記ロボット制御システムにより、前記通信インターフェースに前記移動コマンドを出
    力することであって、該通信インターフェースは、前記ロボットに前記移動コマンドを通
    信して、前記ロボットアームが前記カメラ視野内の少なくとも1つの位置まで前記キャリ
    ブレーションパターンを移動させるように構成されることと、
    前記ロボット制御システムにより、前記通信インターフェースからキャリブレーション
    画像を受け取ることであって、該通信インターフェースは、前記カメラから前記キャリブ
    レーション画像を受け取るように構成され、該キャリブレーション画像は、前記カメラ視
    野内の前記少なくとも1つの位置における前記キャリブレーションパターンの画像であり
    、該キャリブレーションパターンは、パターン座標系におけるそれぞれの定義されたパタ
    ーン要素位置を有する複数のパターン要素を含み、前記パターン座標系は、前記キャリブ
    レーションパターンの位置及び向きに関して定義された座標系であることと、
    前記ロボット制御システムにより、前記キャリブレーション画像から複数の画像パター
    ン要素位置を求めることであって、該複数の画像パターン要素位置は、前記複数のパター
    ン要素が前記キャリブレーション画像に現れるそれぞれの位置を示すことと、
    前記ロボット制御システムにより、前記複数の画像パターン要素位置に基づき、かつ前
    記定義されたパターン要素位置に基づき、第1の固有カメラパラメーターの第1の推定値
    を求めることと、
    前記ロボット制御システムにより、前記第1の固有カメラパラメーターの前記第1の推
    定値が求められた後、前記第1の固有カメラパラメーターの前記第1の推定値に基づき、
    かつ前記複数の画像パターン要素位置に基づき、第2の固有カメラパラメーターの第1の
    推定値を求めることと、
    前記ロボット制御システムにより、前記第2の固有カメラパラメーターの前記第1の推
    定値に基づき、かつ前記複数の画像パターン要素位置及び前記定義されたパターン要素位
    置に基づき、前記第1の固有カメラパラメーターの第2の推定値と前記第2の固有カメラ
    パラメーターの第2の推定値とを求めることと、
    前記ロボット制御システムにより、前記第1の固有カメラパラメーターの前記第2の推
    定値と前記第2の固有カメラパラメーターの前記第2の推定値とに基づき、カメラ座標系
    とワールド座標系との関係を記述する変換関数の推定値を求めることであって、前記カメ
    ラ座標系は、前記通信インターフェースが通信するように構成される前記カメラの位置及
    び向きに関して定義された座標系であり、前記ワールド座標系は、前記通信インターフェ
    ースが通信するように構成される前記ロボットの前記ベースに対して固定である位置に関
    して定義された座標系であることと、
    前記ロボット制御システムにより、前記通信インターフェースから後続する画像を受け
    取ることであって、該通信インターフェースは、前記変換関数の前記推定値が求められた
    後に前記カメラから前記後続する画像を受け取るように構成されることと、
    前記ロボット制御システムにより、前記後続する画像に基づき、かつ前記変換関数の前
    記推定値に基づき、後続する移動コマンドを生成することと、
    前記ロボット制御システムにより、前記通信インターフェースに前記後続する移動コマ
    ンドを出力することであって、該通信インターフェースは、前記ロボットアームの配置を
    制御するように前記ロボットに前記後続する移動コマンドを出力するように構成されるこ
    とと、
    を含む、方法。
  31. 前記変換関数は第2の変換関数であり、前記方法は、前記第1の固有カメラパラメータ
    ーの前記第2の推定値と前記第2の固有カメラパラメーターの前記第2の推定値とに基づ
    き、前記パターン座標系と前記カメラ座標系との関係を記述する第1の変換関数の推定値
    を求めることを更に含み、前記第2の変換関数は、前記第1の変換関数に基づいて求めら
    れる、請求項30に記載の方法。
  32. 前記第2の固有カメラパラメーターの前記第1の推定値を求めることは、(a)前記第
    2の固有カメラパラメーターの初期推定値を求めることと、(b)前記第2の固有カメラ
    パラメーターの前記初期推定値、前記第1の固有カメラパラメーターの前記第1の推定値
    、及び前記キャリブレーション画像に基づき、レンズによってもたらされるレンズ歪みを
    補償する前記キャリブレーション画像の変更されたバージョンを生成することと、(c)
    前記キャリブレーション画像の前記変更されたバージョンにおける湾曲の量を求めること
    と、(d)前記キャリブレーション画像の前記変更されたバージョンにおける前記湾曲の
    量に基づき前記第2の固有カメラパラメーターの前記初期推定値を調整して、前記湾曲の
    量を低減させる前記第2の固有カメラパラメーターの調整された推定値を生成することで
    あって、該調整された推定値は、前記第2の固有カメラパラメーターの前記第1の推定値
    であることとを含む、請求項30に記載の方法。
  33. (a)前記第1の変換関数の前記推定値、前記第2の固有カメラパラメーターの前記第
    2の推定値、及び前記第1の固有カメラパラメーターの前記第2の推定値に基づき、前記
    キャリブレーションパターンのシミュレートされた画像であるシミュレートキャリブレー
    ション画像を求めることと、(b)前記シミュレートキャリブレーション画像と前記キャ
    リブレーション画像との差を求めることと、(c)前記差に基づき前記第2の固有カメラ
    パラメーターの前記第2の推定値と前記第1の固有カメラパラメーターの前記第2の推定
    値とを調整して、前記差を低減させる、前記第2の固有カメラパラメーターの調整された
    推定値及び前記第1の固有カメラパラメーターの調整された推定値を生成することであっ
    て、前記第2の固有カメラパラメーターの前記調整された推定値は、該第2の固有カメラ
    パラメーターの第3の推定値であり、前記第1の固有カメラパラメーターの前記調整され
    た推定値は、該第1の固有カメラパラメーターの第3の推定値であることとによって、前
    記第2の固有カメラパラメーターの第3の推定値と前記第1の固有カメラパラメーターの
    第3の推定値とを求めることを更に含み、
    前記第1の変換関数の前記推定値は、前記第2の固有カメラパラメーターの前記第3の
    推定値と前記第1の固有カメラパラメーターの前記第3の推定値とに基づいて求められる
    、請求項31に記載の方法。
  34. 前記ワールド座標系とリンク座標系との関係を記述する第3の変換関数の推定値を求め
    ることであって、前記リンク座標系は、前記ロボットアームのリンクにおける位置に関し
    て定義された座標系であり、前記キャリブレーションパターンは前記リンクに配置される
    ことと、
    前記パターン座標系と前記リンク座標系との関係を記述する第4の変換関数の推定値を
    求めることであって、前記第2の変換関数の前記推定値と前記第4の変換関数の前記推定
    値とは、ともに、前記第1の変換関数の前記推定値と前記第3の変換関数の前記推定値と
    に基づいて求められることと、
    を更に含む、請求項31に記載の方法。
  35. 前記第4の変換関数の前記推定値、前記第3の変換関数の前記推定値、前記第2の変換
    関数の前記推定値、及び前記第1の固有カメラパラメーターの前記第2の推定値に基づき
    、前記キャリブレーションパターンのシミュレートされた画像であるシミュレートキャリ
    ブレーション画像を求めることと、
    前記第2の固有カメラパラメーターの前記第2の推定値に基づき、レンズ歪みを補償す
    るように前記キャリブレーション画像の変更されたバージョンを求めることと、
    前記シミュレートキャリブレーション画像と前記キャリブレーション画像の前記変更さ
    れたバージョンとの差を求めることと、
    前記シミュレートキャリブレーション画像と前記キャリブレーション画像の前記変更さ
    れたバージョンとの前記差を低減させるように、少なくとも前記第4の変換関数の前記推
    定値及び前記第2の変換関数の前記推定値を調整することと、
    を更に含む、請求項34に記載の方法。
  36. ロボット制御システムの制御回路によって実行されると、該制御回路に対して、
    前記ロボット制御システムの通信インターフェースに出力する移動コマンドを生成する
    ことであって、該通信インターフェースは、ベースとキャリブレーションパターンが配置
    されているロボットアームとを有するロボットと通信するように構成され、カメラ視野を
    有するカメラと通信するように構成されることと、
    前記通信インターフェースに前記移動コマンドを出力することであって、該通信インタ
    ーフェースは、前記ロボットに前記移動コマンドを通信して、前記ロボットアームが前記
    カメラ視野内の少なくとも1つの位置まで前記キャリブレーションパターンを移動させる
    ように構成されることと、
    前記通信インターフェースからキャリブレーション画像を受け取ることであって、該通
    信インターフェースは、前記カメラから前記キャリブレーション画像を受け取るように構
    成され、該キャリブレーション画像は、前記カメラ視野内の前記少なくとも1つの位置に
    おける前記キャリブレーションパターンの画像であり、該キャリブレーションパターンは
    、パターン座標系におけるそれぞれの定義されたパターン要素位置を有する複数のパター
    ン要素を含み、前記パターン座標系は、前記キャリブレーションパターンの位置及び向き
    に関して定義された座標系であることと、
    前記キャリブレーション画像から複数の画像パターン要素位置を求めることであって、
    該複数の画像パターン要素位置は、前記複数のパターン要素が前記キャリブレーション画
    像に現れるそれぞれの位置を示すことと、
    前記複数の画像パターン要素位置に基づき、かつ前記定義されたパターン要素位置に基
    づき、第1の固有カメラパラメーターの第1の推定値を求めることと、
    前記第1の固有カメラパラメーターの前記第1の推定値が求められた後、前記第1の固
    有カメラパラメーターの前記第1の推定値に基づき、かつ前記複数の画像パターン要素位
    置に基づき、第2の固有カメラパラメーターの第1の推定値を求めることと、
    前記第2の固有カメラパラメーターの前記第1の推定値に基づき、かつ前記複数の画像
    パターン要素位置及び前記定義されたパターン要素位置に基づき、前記第1の固有カメラ
    パラメーターの第2の推定値と前記第2の固有カメラパラメーターの第2の推定値とを求
    めることと、
    前記第1の固有カメラパラメーターの前記第2の推定値と前記第2の固有カメラパラメ
    ーターの前記第2の推定値とに基づき、カメラ座標系とワールド座標系との関係を記述す
    る変換関数の推定値を求めることであって、前記カメラ座標系は、前記通信インターフェ
    ースが通信するように構成される前記カメラの位置及び向きに関して定義された座標系で
    あり、前記ワールド座標系は、前記通信インターフェースが通信するように構成される前
    記ロボットの前記ベースに対して固定である位置に関して定義された座標系であることと

    により、カメラキャリブレーションを実施させる命令が記憶されており、
    前記命令は、前記制御回路によって実行されると、前記制御回路に対し更に、前記カメ
    ラキャリブレーションが実施された後、前記通信インターフェースから後続する画像を受
    け取らせ、該通信インターフェースは、前記カメラから前記後続する画像を受け取るよう
    に構成され、前記命令は、前記制御回路によって実行されると、前記制御回路に対しさら
    に、前記後続する画像に基づきかつ前記変換関数の前記推定値に基づく後続する移動コマ
    ンドを前記ロボットに出力することにより、前記通信インターフェースが通信するように
    構成される前記ロボットの前記ロボットアームの配置を制御させる、非一時的コンピュー
    ター可読媒体。
  37. 前記変換関数は第2の変換関数であり、前記命令は、前記制御回路によって実行される
    と、前記制御回路に対しさらに、前記第1の固有カメラパラメーターの前記第2の推定値
    と前記第2の固有カメラパラメーターの前記第2の推定値とに基づき、前記パターン座標
    系と前記カメラ座標系との関係を記述する第1の変換関数の推定値を求めさせ、前記第2
    の変換関数は、前記第1の変換関数に基づいて求められる、請求項36に記載の非一時的
    コンピューター可読媒体。
  38. 前記命令は、前記制御回路によって実行されると、前記制御回路に対しさらに、(a)
    前記第1の変換関数の前記推定値、前記第2の固有カメラパラメーターの前記第2の推定
    値、及び前記第1の固有カメラパラメーターの前記第2の推定値に基づき、前記キャリブ
    レーションパターンのシミュレートされた画像であるシミュレートキャリブレーション画
    像を求めることと、(b)前記シミュレートキャリブレーション画像と前記キャリブレー
    ション画像との差を求めることと、(c)前記差に基づき前記第2の固有カメラパラメー
    ターの前記第2の推定値と前記第1の固有カメラパラメーターの前記第2の推定値とを調
    整して、前記差を低減させる、前記第2の固有カメラパラメーターの調整された推定値及
    び前記第1の固有カメラパラメーターの調整された推定値を生成することであって、前記
    第2の固有カメラパラメーターの前記調整された推定値は、該第2の固有カメラパラメー
    ターの第3の推定値であり、前記第1の固有カメラパラメーターの前記調整された推定値
    は、該第1の固有カメラパラメーターの第3の推定値であることとによって、前記第2の
    固有カメラパラメーターの第3の推定値と前記第1の固有カメラパラメーターの第3の推
    定値とを求めさせ、
    前記第1の変換関数の前記推定値は、前記第2の固有カメラパラメーターの前記第3の
    推定値と前記第1の固有カメラパラメーターの前記第3の推定値とに基づいて求められる
    、請求項37に記載の非一時的コンピューター可読媒体。
  39. 前記命令は、前記制御回路によって実行されると、前記制御回路に対しさらに、
    前記ワールド座標系とリンク座標系との関係を記述する第3の変換関数の推定値を求め
    させ、前記リンク座標系は、前記ロボットアームのリンクにおける位置に関して定義され
    た座標系であり、前記キャリブレーションパターンは前記リンクに配置され、
    前記パターン座標系と前記リンク座標系との関係を記述する第4の変換関数の推定値を
    求めさせ、前記第2の変換関数の前記推定値と前記第4の変換関数の前記推定値とは、と
    もに、前記第1の変換関数の推定値と前記第3の変換関数の推定値とに基づいて求められ
    る、
    請求項37に記載の非一時的コンピューター可読媒体。
  40. 前記命令は、前記制御回路によって実行されると、前記制御回路に対しさらに、
    前記第4の変換関数の前記推定値、前記第3の変換関数の前記推定値、前記第2の変換
    関数の前記推定値、及び前記第1の固有カメラパラメーターの前記第2の推定値に基づき
    、前記キャリブレーションパターンのシミュレートされた画像であるシミュレートキャリ
    ブレーション画像を求めさせ、
    前記第2の固有カメラパラメーターの前記第2の推定値に基づき、レンズ歪みを補償す
    るように前記キャリブレーション画像の変更されたバージョンを求めさせ、
    前記シミュレートキャリブレーション画像と前記キャリブレーション画像の前記変更さ
    れたバージョンとの差を求めさせ、
    前記シミュレートキャリブレーション画像と前記キャリブレーション画像の前記変更さ
    れたバージョンとの前記差を低減させるように、少なくとも前記第4の変換関数の前記推
    定値及び前記第2の変換関数の前記推定値を調整させる、
    請求項39に記載の非一時的コンピューター可読媒体。
JP2020060752A 2019-03-07 2020-03-30 ロボット制御のために自動カメラキャリブレーションを実施する方法及びシステム Active JP7414222B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US16/295,940 2019-03-07
US16/295,940 US10369698B1 (en) 2019-03-07 2019-03-07 Method and system for performing automatic camera calibration for robot control
US16/362,471 2019-03-22
US16/362,471 US10373336B1 (en) 2019-03-07 2019-03-22 Method and system for performing automatic camera calibration for robot control
JP2020001312A JP6688523B1 (ja) 2019-03-07 2020-01-08 ロボット制御のために自動カメラキャリブレーションを実施する方法及びシステム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020001312A Division JP6688523B1 (ja) 2019-03-07 2020-01-08 ロボット制御のために自動カメラキャリブレーションを実施する方法及びシステム

Publications (3)

Publication Number Publication Date
JP2020142367A true JP2020142367A (ja) 2020-09-10
JP2020142367A5 JP2020142367A5 (ja) 2022-07-01
JP7414222B2 JP7414222B2 (ja) 2024-01-16

Family

ID=67477579

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2019106616A Active JP6675722B1 (ja) 2019-03-07 2019-06-07 ロボット制御のために自動カメラキャリブレーションを実施する方法及びシステム
JP2020001312A Active JP6688523B1 (ja) 2019-03-07 2020-01-08 ロボット制御のために自動カメラキャリブレーションを実施する方法及びシステム
JP2020060752A Active JP7414222B2 (ja) 2019-03-07 2020-03-30 ロボット制御のために自動カメラキャリブレーションを実施する方法及びシステム

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2019106616A Active JP6675722B1 (ja) 2019-03-07 2019-06-07 ロボット制御のために自動カメラキャリブレーションを実施する方法及びシステム
JP2020001312A Active JP6688523B1 (ja) 2019-03-07 2020-01-08 ロボット制御のために自動カメラキャリブレーションを実施する方法及びシステム

Country Status (5)

Country Link
US (5) US10369698B1 (ja)
JP (3) JP6675722B1 (ja)
CN (3) CN110103219B (ja)
DE (1) DE102020105655B4 (ja)
WO (1) WO2020180342A1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6795471B2 (ja) * 2017-08-25 2020-12-02 ファナック株式会社 ロボットシステム
DE102018205399B4 (de) * 2018-04-10 2021-03-18 Continental Automotive Gmbh Korrekturverfahren und Vorrichtung zur Korrektur von Bilddaten
US10369698B1 (en) * 2019-03-07 2019-08-06 Mujin, Inc. Method and system for performing automatic camera calibration for robot control
US10399227B1 (en) 2019-03-29 2019-09-03 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
CN112677146A (zh) 2019-10-18 2021-04-20 牧今科技 验证和更新机器人控制用校准信息的方法和控制系统
US10906184B2 (en) * 2019-03-29 2021-02-02 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
CN111890371B (zh) * 2019-03-29 2021-05-04 牧今科技 验证和更新机器人控制用校准信息的方法和控制系统
US10565737B1 (en) 2019-07-09 2020-02-18 Mujin, Inc. Method and system for performing automatic camera calibration for a scanning system
WO2021012122A1 (zh) * 2019-07-19 2021-01-28 西门子(中国)有限公司 机器人手眼标定方法、装置、计算设备、介质以及产品
CN110517208B (zh) * 2019-08-19 2023-06-16 广东弓叶科技有限公司 坐标系关联方法及系统
CN111191083B (zh) * 2019-09-23 2021-01-01 牧今科技 用于对象标识的方法和计算系统
US10614340B1 (en) 2019-09-23 2020-04-07 Mujin, Inc. Method and computing system for object identification
US11370121B2 (en) * 2019-10-29 2022-06-28 Mujin, Inc. Method and system for determining poses for camera calibration
CN110640745B (zh) * 2019-11-01 2021-06-22 苏州大学 基于视觉的机器人自动标定方法、设备和存储介质
CN110834333B (zh) * 2019-11-14 2021-11-02 中科新松有限公司 一种机器人手眼标定方法及存储介质
EP3834997A1 (en) * 2019-12-11 2021-06-16 Carl Zeiss Industrielle Messtechnik GmbH Method and device for calibrating a machine vision device for position determination
CN111055289B (zh) * 2020-01-21 2021-09-28 达闼科技(北京)有限公司 机器人的手眼标定方法、装置、机器人及存储介质
EP4100874A1 (en) 2020-02-06 2022-12-14 Berkshire Grey Operating Company, Inc. Systems and methods for camera calibration with a fiducial of unknown position on an articulated arm of a programmable motion device
CN111582196B (zh) * 2020-02-13 2021-05-04 牧今科技 用于确定相机视场内的遮挡的方法和系统
US11006039B1 (en) 2020-02-13 2021-05-11 Mujin, Inc. Method and system for determining occlusion within a camera field of view
US11130237B1 (en) 2020-03-05 2021-09-28 Mujin, Inc. Method and computing system for performing container detection and object detection
CN111515950B (zh) * 2020-04-28 2022-04-08 腾讯科技(深圳)有限公司 机器人坐标系变换关系确定方法、装置、设备和存储介质
DE102020206593A1 (de) * 2020-05-27 2021-12-02 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zur Kalibrierung mindestens eines Sensors
KR20210155695A (ko) 2020-06-16 2021-12-23 삼성전자주식회사 화질 튜닝을 수행하는 이미지 처리 시스템 및 화질 튜닝 방법
US20210390671A1 (en) * 2020-06-16 2021-12-16 Samsung Electronics Co., Ltd. Image processing system for performing image quality tuning and method of performing image quality tuning
EP3968283A1 (en) * 2020-09-14 2022-03-16 Eppendorf AG Method for calibrating an optical recording device
JP7468288B2 (ja) * 2020-10-16 2024-04-16 オムロン株式会社 キャリブレーション装置およびキャリブレーションの自動設定方法
US11911915B2 (en) * 2021-06-09 2024-02-27 Intrinsic Innovation Llc Determining robotic calibration processes
US11941840B2 (en) 2021-09-21 2024-03-26 The Boeing Company Method and apparatus for hand-off and tracking for pose estimation of a fiducial marker
US20230086050A1 (en) * 2021-09-21 2023-03-23 The Boeing Company Method and apparatus for modeling dynamic intrinsic parameters of a camera
CN114378825B (zh) * 2022-01-21 2023-05-12 四川长虹智能制造技术有限公司 一种多相机视觉定位方法、系统及电子设备
US20230278221A1 (en) * 2022-02-15 2023-09-07 Symbotic Canada, Ulc Apparatus and method for automatic pallet builder calibration
TWI793044B (zh) * 2022-07-07 2023-02-11 和碩聯合科技股份有限公司 機器手臂的手眼校正方法和手眼校正裝置
CN116038701B (zh) * 2022-12-30 2023-12-05 北京中科原动力科技有限公司 一种四轴机械臂的手眼标定方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005201824A (ja) * 2004-01-16 2005-07-28 Fanuc Ltd 計測装置
JP2015530276A (ja) * 2012-10-05 2015-10-15 ベックマン コールター, インコーポレイテッド カメラベースの自動アライメントのシステム及び方法
JP2019014031A (ja) * 2017-07-11 2019-01-31 セイコーエプソン株式会社 ロボットの制御装置、ロボット、ロボットシステム、並びに、ロボット用カメラの校正方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2690603B2 (ja) * 1990-05-30 1997-12-10 ファナック株式会社 視覚センサのキャリブレーション方法
DE10164944B4 (de) * 2001-10-15 2013-03-28 Hermann, Dr.-Ing. Tropf Vorrichtung und Verfahren zur Korrektur der Bewegung von Greif- und Bearbeitungswerkzeugen
JP4250620B2 (ja) * 2005-07-29 2009-04-08 キヤノン株式会社 情報処理方法および装置
JP4267005B2 (ja) * 2006-07-03 2009-05-27 ファナック株式会社 計測装置及びキャリブレーション方法
EP2075096A1 (de) * 2007-12-27 2009-07-01 Leica Geosystems AG Verfahren und System zum hochpräzisen Positionieren mindestens eines Objekts in eine Endlage im Raum
JP5365218B2 (ja) * 2009-01-28 2013-12-11 富士電機株式会社 ロボットビジョンシステムおよび自動キャリブレーション方法
US9393694B2 (en) * 2010-05-14 2016-07-19 Cognex Corporation System and method for robust calibration between a machine vision system and a robot
CN103503025B (zh) 2011-02-25 2016-09-07 弗劳恩霍夫应用研究促进协会 基于对对象的模型进行变换来确定模型参数
GB201107385D0 (en) * 2011-05-04 2011-06-15 Materialise Nv Medical imaging calibration device
US9457470B2 (en) * 2013-04-05 2016-10-04 Abb Technology Ltd Robot system and method for calibration
JP6468741B2 (ja) * 2013-07-22 2019-02-13 キヤノン株式会社 ロボットシステム及びロボットシステムの校正方法
JP6163942B2 (ja) * 2013-07-29 2017-07-19 富士通株式会社 情報処理装置、制御方法、及びプログラム
JP2015174191A (ja) * 2014-03-17 2015-10-05 株式会社安川電機 ロボットシステム、ロボットシステムのキャリブレーション方法およびロボットシステムの位置補正方法
JP6429473B2 (ja) * 2014-03-20 2018-11-28 キヤノン株式会社 ロボットシステム、ロボットシステムの校正方法、プログラム、およびコンピュータ読み取り可能な記録媒体
US9211643B1 (en) * 2014-06-25 2015-12-15 Microsoft Technology Licensing, Llc Automatic in-situ registration and calibration of robotic arm/sensor/workspace system
JP6565175B2 (ja) * 2014-11-21 2019-08-28 セイコーエプソン株式会社 ロボットおよびロボットシステム
JP6486679B2 (ja) * 2014-12-25 2019-03-20 株式会社キーエンス 画像処理装置、画像処理システム、画像処理方法及びコンピュータプログラム
WO2017139330A1 (en) 2016-02-08 2017-08-17 Berkshire Grey Inc. Systems and methods for providing processing of a variety of objects employing motion planning
JP2017147585A (ja) * 2016-02-17 2017-08-24 セイコーエプソン株式会社 データ転送システム、データ転送装置、受信装置、及びデータ転送方法
EP3513382B1 (en) * 2016-09-14 2020-09-02 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung E.V. Pattern detection
US10076842B2 (en) * 2016-09-28 2018-09-18 Cognex Corporation Simultaneous kinematic and hand-eye calibration
CN108214486A (zh) * 2016-12-22 2018-06-29 精工爱普生株式会社 控制装置、机器人及机器人系统
KR102576842B1 (ko) * 2017-01-04 2023-09-12 삼성전자주식회사 핸드-아이 캘리브레이션을 수행하는 로봇 및 전자 장치
JP6396516B2 (ja) * 2017-01-12 2018-09-26 ファナック株式会社 視覚センサのキャリブレーション装置、方法及びプログラム
CN108447095A (zh) * 2018-01-31 2018-08-24 潍坊歌尔电子有限公司 一种鱼眼相机标定方法和装置
CN108717715B (zh) * 2018-06-11 2022-05-31 华南理工大学 一种用于弧焊机器人的线结构光视觉系统自动标定方法
US10369698B1 (en) * 2019-03-07 2019-08-06 Mujin, Inc. Method and system for performing automatic camera calibration for robot control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005201824A (ja) * 2004-01-16 2005-07-28 Fanuc Ltd 計測装置
JP2015530276A (ja) * 2012-10-05 2015-10-15 ベックマン コールター, インコーポレイテッド カメラベースの自動アライメントのシステム及び方法
JP2019014031A (ja) * 2017-07-11 2019-01-31 セイコーエプソン株式会社 ロボットの制御装置、ロボット、ロボットシステム、並びに、ロボット用カメラの校正方法

Also Published As

Publication number Publication date
CN111015665A (zh) 2020-04-17
US20220172399A1 (en) 2022-06-02
US10369698B1 (en) 2019-08-06
US10628966B1 (en) 2020-04-21
JP6675722B1 (ja) 2020-04-01
CN111015665B (zh) 2020-12-04
US10636172B1 (en) 2020-04-28
CN115070755A (zh) 2022-09-20
US10373336B1 (en) 2019-08-06
CN110103219B (zh) 2022-06-14
JP7414222B2 (ja) 2024-01-16
JP2020142361A (ja) 2020-09-10
WO2020180342A1 (en) 2020-09-10
DE102020105655A1 (de) 2020-09-10
JP2020144829A (ja) 2020-09-10
CN110103219A (zh) 2019-08-09
JP6688523B1 (ja) 2020-04-28
DE102020105655B4 (de) 2021-04-22

Similar Documents

Publication Publication Date Title
JP6675722B1 (ja) ロボット制御のために自動カメラキャリブレーションを実施する方法及びシステム
EP3705239A1 (en) Calibration system and method for robotic cells
CA2977077C (en) Robotic arm camera system and method
JP6126437B2 (ja) 画像処理装置および画像処理方法
US11508088B2 (en) Method and system for performing automatic camera calibration
KR102276259B1 (ko) 비전-기반 조작 시스템들의 교정 및 동작
JP6067175B2 (ja) 位置測定装置及び位置測定方法
JP2014178265A (ja) 校正装置、方法及びプログラム
US11443418B2 (en) Machine vision system with a computer generated virtual reference object
US10628968B1 (en) Systems and methods of calibrating a depth-IR image offset
JP2023548983A (ja) ロボットセルの改良された自動較正のための方法及びシステム
JP2017120672A (ja) 画像処理装置および画像処理方法
JP6800506B1 (ja) 自動カメラキャリブレーションを実施する方法及びシステム
JP7378934B2 (ja) 情報処理装置、情報処理方法及びシステム
Rousseau et al. Machine vision system for the automatic identification of robot kinematic parameters
US20220402141A1 (en) Method and apparatus for calibrating position of robot using 3d scanner
JP2021160037A (ja) 較正システム、情報処理システム、ロボット制御システム、較正方法、情報処理方法、ロボット制御方法、較正プログラム、情報処理プログラム、較正装置、情報処理装置、及びロボット制御装置
JP2020196081A (ja) ビジュアルサーボシステム
JP2017110975A (ja) 計測装置、システム、計測方法、決定方法及びプログラム
CN115546396A (zh) 一种三维重建方法、设备及介质
JP2020139936A (ja) 算出方法、物品の製造方法、プログラム、情報処理装置、システム
JP2022152845A (ja) ロボット制御用のキャリブレーション装置
CN117132665A (zh) 激光传感器的标定方法、装置、标定设备及计算机介质
JP2024052374A (ja) 画像処理装置、画像処理方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200423

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230817

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: 20231024

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20231121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231219

R150 Certificate of patent or registration of utility model

Ref document number: 7414222

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150