JP6591507B2 - 同時運動学およびハンドアイ較正 - Google Patents

同時運動学およびハンドアイ較正 Download PDF

Info

Publication number
JP6591507B2
JP6591507B2 JP2017184395A JP2017184395A JP6591507B2 JP 6591507 B2 JP6591507 B2 JP 6591507B2 JP 2017184395 A JP2017184395 A JP 2017184395A JP 2017184395 A JP2017184395 A JP 2017184395A JP 6591507 B2 JP6591507 B2 JP 6591507B2
Authority
JP
Japan
Prior art keywords
calibration parameters
robot
values
machine vision
calibration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017184395A
Other languages
English (en)
Other versions
JP2018051758A (ja
Inventor
リウ リーフェン
リウ リーフェン
シー. マリオン シリル
シー. マリオン シリル
ガン ティアン
ガン ティアン
Original Assignee
コグネックス・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by コグネックス・コーポレイション filed Critical コグネックス・コーポレイション
Publication of JP2018051758A publication Critical patent/JP2018051758A/ja
Application granted granted Critical
Publication of JP6591507B2 publication Critical patent/JP6591507B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/401Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for measuring, e.g. calibration and initialisation, measuring workpiece for machining purposes
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/04Viewing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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
    • 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
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • 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
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • 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
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39045Camera on end effector detects reference pattern
    • 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/39057Hand eye calibration, eye, camera on hand, 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40607Fixed camera to observe workspace, object, workpiece, global

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Description

(技術分野)
本技術は、マシンビジョンシステムに関し、より具体的には、ロボット/運動ステージおよびハンドアイ較正パラメータの運動学的連鎖を同時に精緻化することによってマシンビジョンシステムを構成することに関する。
マシンビジョンシステムでは、1つまたはそれを上回るカメラが、撮像された場面内の物体または表面上で視覚システムプロセスを行うために使用されることができる。これらのプロセスは、検査、整合、および/または種々の他のタスクを含むことができる。1つまたはそれを上回るカメラによって捕捉された画像は、マシンビジョンシステムによって、特徴の実世界場所、姿勢等の撮像された場面内の特徴についての情報を判定するために処理されることができる。いくつかの用途では、マシンビジョンシステムは、ロボット、運動ステージ、または他のデバイスを含むことができ、その姿勢および移動は、マシンビジョンシステム(例えば、視覚誘導式ロボット(VGR)用途)によって制御される。例えば、マシンビジョンシステムは、1つまたはそれを上回るカメラによって捕捉された画像を分析し、ロボットまたは運動ステージの移動方法を判定し、撮像された場面内で移動させる、または物体と相互作用させることができる。いくつかの用途では、マシンビジョンシステムは、マシンビジョンシステムが、増加された正確度および信頼性を伴って、視覚タスクを行うことを可能にするように較正されることができる。
本明細書に説明される技術は、ロボット/運動ステージの運動学モデル化およびマシンビジョンシステムの較正を改良することによって、既存のマシンビジョンシステムの正確度および精度を改良することができる。
一側面では、マシンビジョンシステムが、存在する。マシンビジョンシステムは、ロボットを含む。マシンビジョンシステムは、カメラを含む。マシンビジョンシステムは、ロボットおよびカメラと通信する制御システムを含む。制御システムは、ロボットを複数の姿勢に移動させ、複数の姿勢の姿勢毎に、カメラを用いて、較正標的上の1つまたはそれを上回る特徴の画像を捕捉し、複数のロボット関節角度を捕捉するように構成される。制御システムは、複数のロボット較正パラメータのための複数の初期値を得るように構成される。制御システムは、複数のロボット較正パラメータのための複数の初期値と、複数の姿勢毎に捕捉された画像および複数のロボット関節角度とに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定するように構成される。制御システムは、複数のハンドアイ較正パラメータのうちの1つまたはそれを上回るものおよび複数のロボット較正パラメータのうちの1つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、複数のハンドアイ較正パラメータのための複数の最終値およびロボット較正パラメータのための複数の最終値を判定するように構成される。
いくつかの実施形態では、制御システムはさらに、視覚誘導式ロボット用途のために、複数のハンドアイ較正パラメータのための複数の最終値およびロボット較正パラメータのための複数の最終値を使用するように構成される。いくつかの実施形態では、制御システムはさらに、ロボット較正パラメータのための複数の最終値を使用して、ロボットを移動させるように構成される。
いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された画像内の特徴の観察される場所と特徴の予期される場所との間の差異を測定し、予期される場所は、複数のロボット較正パラメータのための第1の複数の値、複数のハンドアイ較正パラメータのための第2の複数の値、および姿勢のために捕捉された複数のロボット関節角度に基づいて判定される。いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、合成変換と恒等変換との間の差異を測定し、合成変換は、第1の座標空間から第2の座標空間への第1の変換および第2の座標空間から第1の座標空間への第2の変換の合成であって、第1の変換および第2の変換は、複数のロボット較正パラメータのための第1の複数の値、複数のハンドアイ較正パラメータのための第2の複数の値、姿勢のための較正標的の複数の観察される特徴、および姿勢のために捕捉された複数のロボット関節角度に基づいて判定される。いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された複数のロボット関節角度のロボット関節角度と姿勢のための推定される関節角度との間の差異を測定し、推定される関節角度は、複数のロボット較正パラメータのための第1の複数の値、複数のハンドアイ較正パラメータのための第2の複数の値、および姿勢のための較正標的の複数の観察される特徴に基づいて判定される。
いくつかの実施形態では、制御システムはさらに、非線形最小二乗法を使用してコスト関数を最小限にするように構成される。いくつかの実施形態では、制御システムは、複数のハンドアイ較正パラメータの全て未満および複数のロボット較正パラメータの全て未満を精緻化するように構成される。いくつかの実施形態では、複数のロボット較正パラメータは、ロボットのためのDenavit−Hartenbergパラメータを含む。
別の側面では、マシンビジョンシステム実装較正方法が、存在する。本方法は、制御システムによって、ロボットを複数の姿勢に移動させ、複数の姿勢の姿勢毎に、カメラによって、較正標的上の1つまたはそれを上回る特徴の画像を捕捉し、制御システムによって、複数のロボット関節角度を捕捉することを含む。本方法は、制御システムによって、複数のロボット較正パラメータのための複数の初期値を得ることを含む。本方法は、制御システムによって、複数のロボット較正パラメータのための複数の初期値と、複数の姿勢毎に捕捉された画像および複数のロボット関節角度とに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することを含む。本方法は、制御システムによって、複数のハンドアイ較正パラメータのうちの1つまたはそれを上回るものおよび複数のロボット較正パラメータのうちの1つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、複数のハンドアイ較正パラメータのための複数の最終値および複数のロボット較正パラメータのための複数の最終値を判定することを含む。
いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された画像内の特徴の観察される場所と特徴の予期される場所との間の差異を測定し、予期される場所は、複数のロボット較正パラメータのための第1の複数の値、複数のハンドアイ較正パラメータのための第2の複数の値、および姿勢のために捕捉された複数のロボット関節角度に基づいて判定される。いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、合成変換と恒等変換との間の差異を測定し、合成変換は、第1の座標空間から第2の座標空間への第1の変換および第2の座標空間から第1の座標空間への第2の変換の合成であって、第1の変換および第2の変換は、複数のロボット較正パラメータのための第1の複数の値、複数のハンドアイ較正パラメータのための第2の複数の値、姿勢のための較正標的の複数の観察される特徴、および姿勢のために捕捉された複数のロボット関節角度に基づいて判定される。いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された複数のロボット関節角度のロボット関節角度と姿勢のための推定される関節角度との間の差異を測定し、推定される関節角度は、複数のロボット較正パラメータのための第1の複数の値、複数のハンドアイ較正パラメータのための第2の複数の値、および姿勢のための較正標的の複数の観察される特徴に基づいて判定される。
いくつかの実施形態では、本方法は、非線形最小二乗法を使用してコスト関数を最小限にすることを含む。いくつかの実施形態では、本方法は、複数のハンドアイ較正パラメータの全て未満および複数のロボット較正パラメータの全て未満を精緻化することを含む。いくつかの実施形態では、複数のロボット較正パラメータは、ロボットのためのDenavit−Hartenbergパラメータを含む。
別の側面では、マシンビジョンシステムが、存在する。マシンビジョンシステムは、運動ステージを含む。マシンビジョンシステムは、カメラを含む。マシンビジョンシステムは、運動ステージおよびカメラと通信する制御システムを含む。制御システムは、運動ステージを複数の姿勢に移動させ、複数の姿勢の姿勢毎に、カメラを用いて、較正標的上の1つまたはそれを上回る特徴の画像を捕捉し、運動ステージの複数のアクチュエータのための複数のエンコーダカウントを捕捉するように構成される。制御システムは、複数の運動ステージ較正パラメータのための複数の初期値を得るように構成される。制御システムは、複数の運動ステージ較正パラメータのための複数の初期値と、複数の姿勢毎に捕捉された画像および複数のエンコーダカウントとに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定するように構成される。制御システムは、複数のハンドアイ較正パラメータのうちの1つまたはそれを上回るものおよび複数の運動ステージ較正パラメータのうちの1つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、複数のハンドアイ較正パラメータのための複数の最終値および運動ステージ較正パラメータのための複数の最終値を判定するように構成される。
いくつかの実施形態では、制御システムはさらに、視覚誘導式運動ステージ用途のために、複数のハンドアイ較正パラメータのための複数の最終値および運動ステージ較正パラメータのための複数の最終値を使用するように構成される。いくつかの実施形態では、制御システムはさらに、運動ステージ較正パラメータのための複数の最終値を使用して、運動ステージを移動させるように構成される。
いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された画像内の特徴の観察される場所と特徴の予期される場所との間の差異を測定し、予期される場所は、複数の運動ステージ較正パラメータのための第1の複数の値、複数のハンドアイ較正パラメータのための第2の複数の値、および姿勢のために捕捉された複数のエンコーダカウントに基づいて判定される。いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された複数のエンコーダカウントのエンコーダカウントと姿勢のために推定されるエンコーダカウントとの間の差異を測定し、推定されるエンコーダカウントは、複数の運動ステージ較正パラメータのための第1の複数の値、複数のハンドアイ較正パラメータのための第2の複数の値、および姿勢のための較正標的の複数の観察される特徴に基づいて判定される。
いくつかの実施形態では、制御システムはさらに、非線形最小二乗法を使用してコスト関数を最小限にするように構成される。いくつかの実施形態では、制御システムは、複数のハンドアイ較正パラメータの全て未満および複数の運動ステージ較正パラメータの全て未満を精緻化するように構成される。いくつかの実施形態では、複数の運動ステージ較正パラメータは、ローラ中心位置、ローラ半径、方向、ステップサイズ、ホームエンコーダカウント、およびアクチュエータのための受座の方向のうちの1つまたはそれを上回るものを含む。
別の側面では、マシンビジョンシステム実装較正方法が、存在する。本方法は、制御システムによって、運動ステージを複数の姿勢に移動させ、複数の姿勢の姿勢毎に、カメラによって、較正標的上の1つまたはそれを上回る特徴の画像を捕捉し、制御システムによって、運動ステージの複数のアクチュエータのための複数のエンコーダカウントを捕捉することを含む。本方法は、制御システムによって、複数の運動ステージ較正パラメータのための複数の初期値を得ることを含む。本方法は、制御システムによって、複数の運動ステージ較正パラメータのための複数の初期値と、複数の姿勢毎に捕捉された画像および複数のエンコーダカウントとに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することを含む。本方法は、制御システムによって、複数のハンドアイ較正パラメータのうちの1つまたはそれを上回るものおよび複数の運動ステージ較正パラメータのうちの1つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、複数のハンドアイ較正パラメータのための複数の最終値および運動ステージ較正パラメータのための複数の最終値を判定することを含む。
いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された画像内の特徴の観察される場所と特徴の予期される場所との間の差異を測定し、予期される場所は、複数の運動ステージ較正パラメータのための第1の複数の値、複数のハンドアイ較正パラメータのための第2の複数の値、および姿勢のために捕捉された複数のエンコーダカウントに基づいて判定される。いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された複数のエンコーダカウントのエンコーダカウントと姿勢のために推定されるエンコーダカウントとの間の差異を測定し、推定されるエンコーダカウントは、複数の運動ステージ較正パラメータのための第1の複数の値、複数のハンドアイ較正パラメータのための第2の複数の値、および姿勢のための較正標的の複数の観察される特徴に基づいて判定される。
いくつかの実施形態では、本方法は、非線形最小二乗法を使用してコスト関数を最小限にすることを含む。いくつかの実施形態では、本方法は、複数のハンドアイ較正パラメータの全て未満および複数の運動ステージ較正パラメータの全て未満を精緻化することを含む。いくつかの実施形態では、複数の運動ステージ較正パラメータは、ローラ中心位置、ローラ半径、方向、ステップサイズ、ホームエンコーダカウント、およびアクチュエータのための受座の方向のうちの1つまたはそれを上回るものを含む。
本技術の他の側面および利点は、本技術の原理を一例としてのみ例証する、付随の図面と関連して検討される、以下の発明を実施するための形態から明白となるであろう。
本発明は、例えば、以下を提供する。
(項目1)
マシンビジョンシステムであって、
ロボットと、
カメラと、
上記ロボットおよび上記カメラと通信する制御システムであって、
上記ロボットを複数の姿勢に移動させ、上記複数の姿勢の姿勢毎に、
上記カメラを用いて、較正標的上の1つまたはそれを上回る特徴の画像を捕捉し、
複数のロボット関節角度を捕捉する、ことと、
複数のロボット較正パラメータのための複数の初期値を得ることと、
上記複数のロボット較正パラメータのための複数の初期値と、上記複数の姿勢毎に捕捉された上記画像および上記複数のロボット関節角度とに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することと、
上記複数のハンドアイ較正パラメータのうちの1つまたはそれを上回るものおよび上記複数のロボット較正パラメータのうちの1つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、上記複数のハンドアイ較正パラメータのための複数の最終値および上記ロボット較正パラメータのための複数の最終値を判定することと
を行うように構成される、制御システムと
を備える、システム。
(項目2)
上記制御システムはさらに、
視覚誘導式ロボット用途のために、上記複数のハンドアイ較正パラメータのための複数の最終値および上記ロボット較正パラメータのための複数の最終値を使用するように構成される、上記項目に記載のマシンビジョンシステム。
(項目3)
上記制御システムはさらに、
上記ロボット較正パラメータのための複数の最終値を使用して、上記ロボットを移動させるように構成される、上記項目のいずれかに記載のマシンビジョンシステム。
(項目4)
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された画像内の特徴の観察される場所と上記特徴の予期される場所との間の差異を測定し、上記予期される場所は、上記複数のロボット較正パラメータのための第1の複数の値、上記複数のハンドアイ較正パラメータのための第2の複数の値、および上記姿勢のために捕捉された上記複数のロボット関節角度に基づいて判定される、上記項目のいずれかに記載のマシンビジョンシステム。
(項目5)
上記コスト関数は、上記複数の姿勢の姿勢毎に、合成変換と恒等変換との間の差異を測定し、上記合成変換は、第1の座標空間から第2の座標空間への第1の変換および上記第2の座標空間から上記第1の座標空間への第2の変換の合成であって、上記第1の変換および上記第2の変換は、上記複数のロボット較正パラメータのための第1の複数の値、上記複数のハンドアイ較正パラメータのための第2の複数の値、上記姿勢のための較正標的の複数の観察される特徴、および上記姿勢のために捕捉された上記複数のロボット関節角度に基づいて判定される、上記項目のいずれかに記載のマシンビジョンシステム。
(項目6)
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された上記複数のロボット関節角度のロボット関節角度と上記姿勢のための推定される関節角度との間の差異を測定し、上記推定される関節角度は、上記複数のロボット較正パラメータのための第1の複数の値、上記複数のハンドアイ較正パラメータのための第2の複数の値、および上記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、上記項目のいずれかに記載のマシンビジョンシステム。
(項目7)
上記制御システムはさらに、非線形最小二乗法を使用して上記コスト関数を最小限にするように構成される、上記項目のいずれかに記載のマシンビジョンシステム。
(項目8)
上記制御システムは、上記複数のハンドアイ較正パラメータの全て未満および上記複数のロボット較正パラメータの全て未満を精緻化するように構成される、上記項目のいずれかに記載のマシンビジョンシステム。
(項目9)
上記複数のロボット較正パラメータは、上記ロボットのためのDenavit−Hartenbergパラメータを含む、上記項目のいずれかに記載のマシンビジョンシステム。
(項目10)
マシンビジョンシステム実装較正方法であって、
制御システムによって、ロボットを複数の姿勢に移動させ、上記複数の姿勢の姿勢毎に、
カメラによって、較正標的上の1つまたはそれを上回る特徴の画像を捕捉し、
上記制御システムによって、複数のロボット関節角度を捕捉する、ことと、
上記制御システムによって、複数のロボット較正パラメータのための複数の初期値を得ることと、
上記制御システムによって、上記複数のロボット較正パラメータのための複数の初期値と、上記複数の姿勢毎に捕捉された上記画像および上記複数のロボット関節角度とに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することと、
上記制御システムによって、上記複数のハンドアイ較正パラメータのうちの1つまたはそれを上回るものおよび上記複数のロボット較正パラメータのうちの1つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、上記複数のハンドアイ較正パラメータのための複数の最終値および上記複数のロボット較正パラメータのための複数の最終値を判定することと
を含む、方法。
(項目11)
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された画像内の特徴の観察される場所と上記特徴の予期される場所との間の差異を測定し、上記予期される場所は、上記複数のロボット較正パラメータのための第1の複数の値、上記複数のハンドアイ較正パラメータのための第2の複数の値、および上記姿勢のために捕捉された上記複数のロボット関節角度に基づいて判定される、上記項目に記載の方法。
(項目12)
上記コスト関数は、上記複数の姿勢の姿勢毎に、合成変換と恒等変換との間の差異を測定し、上記合成変換は、第1の座標空間から第2の座標空間への第1の変換および上記第2の座標空間から上記第1の座標空間への第2の変換の合成であって、上記第1の変換および上記第2の変換は、上記複数のロボット較正パラメータのための第1の複数の値、上記複数のハンドアイ較正パラメータのための第2の複数の値、上記姿勢のための較正標的の複数の観察される特徴、および上記姿勢のために捕捉された上記複数のロボット関節角度に基づいて判定される、上記項目のいずれかに記載の方法。
(項目13)
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された上記複数のロボット関節角度のロボット関節角度と上記姿勢のための推定される関節角度との間の差異を測定し、上記推定される関節角度は、上記複数のロボット較正パラメータのための第1の複数の値、上記複数のハンドアイ較正パラメータのための第2の複数の値、および上記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、上記項目のいずれかに記載の方法。
(項目14)
非線形最小二乗法を使用して上記コスト関数を最小限にすることをさらに含む、上記項目のいずれかに記載の方法。
(項目15)
上記複数のハンドアイ較正パラメータの全て未満および上記複数のロボット較正パラメータの全て未満を精緻化することをさらに含む、上記項目のいずれかに記載の方法。
(項目16)
上記複数のロボット較正パラメータは、上記ロボットのためのDenavit−Hartenbergパラメータを含む、上記項目のいずれかに記載の方法。
(項目17)
マシンビジョンシステムであって、
運動ステージと、
カメラと、
上記運動ステージおよび上記カメラと通信する制御システムであって、
上記運動ステージを複数の姿勢に移動させ、上記複数の姿勢の姿勢毎に、
上記カメラを用いて、較正標的上の1つまたはそれを上回る特徴の画像を捕捉し、
上記運動ステージの複数のアクチュエータのための複数のエンコーダカウントを捕捉する、ことと、
複数の運動ステージ較正パラメータのための複数の初期値を得ることと、
上記複数の運動ステージ較正パラメータのための複数の初期値と、上記複数の姿勢毎に捕捉された上記画像および上記複数のエンコーダカウントとに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することと、
上記複数のハンドアイ較正パラメータのうちの1つまたはそれを上回るものおよび上記複数の運動ステージ較正パラメータのうちの1つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、上記複数のハンドアイ較正パラメータのための複数の最終値および上記運動ステージ較正パラメータのための複数の最終値を判定することと
を行うように構成される、制御システムと
を備える、マシンビジョンシステム。
(項目18)
上記制御システムはさらに、
視覚誘導式運動ステージ用途のために、上記複数のハンドアイ較正パラメータのための複数の最終値および上記運動ステージ較正パラメータのための複数の最終値を使用するように構成される、上記項目に記載のマシンビジョンシステム。
(項目19)
上記制御システムはさらに、
上記運動ステージ較正パラメータのための複数の最終値を使用して、上記運動ステージを移動させるように構成される、上記項目のいずれかに記載のマシンビジョンシステム。
(項目20)
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された画像内の特徴の観察される場所と上記特徴の予期される場所との間の差異を測定し、上記予期される場所は、上記複数の運動ステージ較正パラメータのための第1の複数の値、上記複数のハンドアイ較正パラメータのための第2の複数の値、および上記姿勢のために捕捉された上記複数のエンコーダカウントに基づいて判定される、上記項目のいずれかに記載のマシンビジョンシステム。
(項目21)
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された上記複数のエンコーダカウントのエンコーダカウントと上記姿勢のために推定されるエンコーダカウントとの間の差異を測定し、上記推定されるエンコーダカウントは、上記複数の運動ステージ較正パラメータのための第1の複数の値、上記複数のハンドアイ較正パラメータのための第2の複数の値、および上記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、上記項目のいずれかに記載のマシンビジョンシステム。
(項目22)
上記制御システムはさらに、非線形最小二乗法を使用して上記コスト関数を最小限にするように構成される、上記項目のいずれかに記載のマシンビジョンシステム。
(項目23)
上記制御システムは、上記複数のハンドアイ較正パラメータの全て未満および上記複数の運動ステージ較正パラメータの全て未満を精緻化するように構成される、上記項目のいずれかに記載のマシンビジョンシステム。
(項目24)
上記複数の運動ステージ較正パラメータは、ローラ中心位置、ローラ半径、方向、ステップサイズ、ホームエンコーダカウント、およびアクチュエータのための受座の方向のうちの1つまたはそれを上回るものを含む、上記項目のいずれかに記載のマシンビジョンシステム。
(項目25)
マシンビジョンシステム実装較正方法であって、
制御システムによって、運動ステージを複数の姿勢に移動させ、上記複数の姿勢の姿勢毎に、
カメラによって、較正標的上の1つまたはそれを上回る特徴の画像を捕捉し、
上記制御システムによって、上記運動ステージの複数のアクチュエータのための複数のエンコーダカウントを捕捉する、ことと、
上記制御システムによって、複数の運動ステージ較正パラメータのための複数の初期値を得ることと、
上記制御システムによって、上記複数の運動ステージ較正パラメータのための複数の初期値と、上記複数の姿勢毎に捕捉された上記画像および上記複数のエンコーダカウントとに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することと、
上記制御システムによって、上記複数のハンドアイ較正パラメータのうちの1つまたはそれを上回るものおよび上記複数の運動ステージ較正パラメータのうちの1つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、上記複数のハンドアイ較正パラメータのための複数の最終値および上記運動ステージ較正パラメータのための複数の最終値を判定することと
含む、方法。
(項目26)
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された画像内の特徴の観察される場所と上記特徴の予期される場所との間の差異を測定し、上記予期される場所は、上記複数の運動ステージ較正パラメータのための第1の複数の値、上記複数のハンドアイ較正パラメータのための第2の複数の値、および上記姿勢のために捕捉された上記複数のエンコーダカウントに基づいて判定される、上記項目に記載の方法。
(項目27)
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された上記複数のエンコーダカウントのエンコーダカウントと上記姿勢のために推定されるエンコーダカウントとの間の差異を測定し、上記推定されるエンコーダカウントは、上記複数の運動ステージ較正パラメータのための第1の複数の値、上記複数のハンドアイ較正パラメータのための第2の複数の値、および上記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、上記項目のいずれかに記載の方法。
(項目28)
非線形最小二乗法を使用して上記コスト関数を最小限にすることをさらに含む、上記項目のいずれかに記載の方法。
(項目29)
上記複数のハンドアイ較正パラメータの全て未満および上記複数の運動ステージ較正パラメータの全て未満を精緻化することをさらに含む、上記項目のいずれかに記載の方法。
(項目30)
上記複数の運動ステージ較正パラメータは、ローラ中心位置、ローラ半径、方向、ステップサイズ、ホームエンコーダカウント、およびアクチュエータのための受座の方向のうちの1つまたはそれを上回るものを含む、上記項目のいずれかに記載の方法。
(摘要)
説明されるのは、同時運動学およびハンドアイ較正のためのマシンビジョンシステムおよび方法である。マシンビジョンシステムは、ロボットまたは運動ステージと、制御システムと通信するカメラとを含む。制御システムは、ロボットまたは運動ステージをある姿勢に移動させ、姿勢毎に、較正標的特徴の画像と、ロボット関節角度または運動ステージエンコーダカウントとを捕捉するように構成される。制御システムは、ロボットまたは運動ステージ較正パラメータのための初期値を得て、ロボットまたは運動ステージ較正パラメータのための初期値、画像、および関節角度またはエンコーダカウントに基づいて、ハンドアイ較正パラメータのための初期値を判定するように構成される。制御システムは、ハンドアイ較正パラメータおよびロボットまたは運動ステージ較正パラメータを精緻化し、コスト関数を最小限にすることによって、ハンドアイ較正パラメータおよびロボットまたは運動ステージ較正パラメータのための最終値を判定するように構成される。
本技術の前述および他の目的、特徴、利点、ならびに本技術自体は、付随の図面と併せて熟読されるとき、以下の種々の実施形態の説明から、より完全に理解されるであろう。
図1は、例示的マシンビジョンシステムを図示する。 図2は、例示的マシンビジョンシステムを図示する。 図3は、本技術による、較正スキームを描写する。 図4は、本技術による、マシンビジョンシステムを較正する方法のフロー図を描写する。 図5は、本技術による、較正スキームを描写する。
VGR用途のためのマシンビジョンシステムを精密に較正することは、重要であり得る。そのようなマシンビジョンシステム(例えば、ロボット、運動ステージ、または他のデバイスを伴うマシンビジョンシステム)を較正する既存のアプローチは、多くの用途のために必須である正確度を有していない、マシンビジョンシステムをもたらし得る。例えば、多くの場合、ロボットまたは運動ステージ製造業者によって提供される運動学較正パラメータ値(例えば、ロボット較正パラメータ値または運動ステージ較正パラメータ値)に基づいて、マシンビジョンシステムを較正することは、マシンビジョンシステムの不適正な正確度につながり得る。本技術は、効率的較正技法を使用して、運動学較正パラメータおよびハンドアイ較正パラメータを精緻化することによって、VGR用途のためのマシンビジョンシステムの正確度および精度を改良することができる。本技術は、マシンビジョンシステムによって判定される測定に基づいて、単一精緻化計算において、ハンドアイ較正パラメータおよび運動学較正パラメータを含む、より正確な較正パラメータ値を判定するために使用されることができる。有益なこととして、本技術は、例えば、付加的較正標的、付加的カメラ、または外部測定機器を要求することなく、改良された較正を通して、マシンビジョンシステムの正確度を増加させることができる。
(I.マシンビジョンシステム)
図1は、例示的マシンビジョンシステム100を図示する。マシンビジョンシステム100は、例えば、VGR用途のために使用されることができる。マシンビジョンシステム100は、その上に搭載されるカメラ110を伴うロボット105と、制御システム115とを含む。図1は、可動カメラ構成を図示する(例えば、カメラ110は、ロボット105のアーム上に搭載される)。依然として、図1を参照すると、特徴123を有する、較正標的120が、示される。カメラ110は、2次元CCDカメラセンサ、2次元CMOSカメラセンサ、または画像を生成するための任意の他のタイプのカメラセンサを含む、エリアスキャンカメラであることができる。制御システム115は、任意の処理デバイス(例えば、内蔵マシンビジョンプロセッサ、コンピューティングデバイス等)であることができる。
制御システム115は、ロボット105およびカメラ110と通信する。制御システム115は、画像データをカメラ110から受信し、ロボット105の姿勢を制御することができる。いくつかの実施形態では、制御システム115は、独立型コンピューティングデバイスの一部であることができる。いくつかの実施形態では、制御システム115は、ロボット105の一部であることができる。いくつかの実施形態では、制御システム115は、カメラ110の一部であることができる。動作時、制御システム115は、例えば、カメラ110からの画像データの分析に基づいて、ロボット105の姿勢を操作することができる。便宜上、制御システム115は、単一コンポーネントとして図示される。いくつかの実施形態では、制御システムは、連動して作業する、運動コントローラ(例えば、ロボットコントローラ)と、マシンビジョンプロセッサとを含むことができる。いくつかの実施形態では、運動コントローラは、マシンビジョンシステムマスタであることができる。例えば、運動コントローラは、マシンビジョンプロセッサと通信し、そのアクションを指示することができる。運動コントローラは、ロボットの姿勢および移動を制御し、マシンビジョンプロセッサに、画像を取得させることができる。運動コントローラは、姿勢情報をマシンビジョンプロセッサに提供し、マシンビジョンプロセッサに、本明細書に説明される較正を行わせることができる。いくつかの実施形態では、マシンビジョンプロセッサは、マシンビジョンシステムマスタであることができる。例えば、マシンビジョンプロセッサは、運動コントローラと通信し、そのアクションを指示することができる。マシンビジョンプロセッサは、運動コントローラに、ロボットの姿勢および移動を制御させ、姿勢情報をマシンビジョンプロセッサに提供させることができる。マシンビジョンプロセッサは、画像を取得し、本明細書に説明される較正を行うことができる。いくつかの実施形態では、運動コントローラおよびマシンビジョンコントローラは、統合されることができる。例えば、制御システムの1つまたはそれを上回るプロセッサコアは、ロボット運動を制御することができ、制御システムの1つまたはそれを上回るプロセッサコアは、較正等のマシンビジョン処理を行うことができる。
本技術によると、マシンビジョンシステム100は、較正されることができる。以下により詳細に説明されるであろうように、システム100は、カメラ110の画像座標空間、ロボット105の座標空間、および較正標的120の座標空間間の座標の変換を可能にするように較正されることができる。較正を使用して、制御システム115は、ロボットハンド160を較正標的120の座標空間またはロボットベース座標空間内の精密な場所に指向することができる。制御システム115はさらに、較正およびロボット105の関節の角度についての情報を使用することによって、カメラ110からの画像データ内で観察される物体の場所を判定することができる。有益なこととして、較正は、マシンビジョンシステムが、ロボットハンド160の運動を制御し、それを使用して、実世界物体と相互作用する、および/またはそれを操作する(例えば、較正標的120の座標空間内で)ことを可能にする。
図2は、例示的マシンビジョンシステム200を図示する。マシンビジョンシステム200は、例えば、VGR用途のために使用されることができる。マシンビジョンシステム200は、運動ステージ205と、カメラ210と、制御システム215とを含む。図示されるように、カメラ210は、運動ステージ205の上方に搭載され、運動ステージ205の上部表面を撮像することができる。図示される実施形態では、カメラ210は、運動ステージ205のベース208に対して固定方法で搭載される(例えば、運動ステージ205の台209は、カメラ210に対して移動することができる)。カメラ210は、2次元CCDカメラセンサ、2次元CMOSカメラセンサ、または画像を生成するための任意の他のタイプのカメラセンサを含む、エリアスキャンカメラであることができる。制御システム215は、任意の処理デバイス(例えば、内蔵マシンビジョンプロセッサ、コンピューティングデバイス等)であることができる。依然として、図2を参照すると、特徴223を有する、較正標的220が、示される。
制御システム215は、運動ステージ205およびカメラ210と通信する。制御システムは、画像データをカメラ210から受信し、運動ステージ205の姿勢を制御することができる。いくつかの実施形態では、制御システム215は、独立型コンピューティングデバイスの一部であることができる。いくつかの実施形態では、制御システム215は、運動ステージ205の一部であることができる。いくつかの実施形態では、制御システム215は、カメラ210の一部であることができる。動作時、制御システム215は、例えば、カメラ210からの画像データの分析に基づいて、運動ステージ205の姿勢を変化させることができる。便宜上、制御システム215は、単一コンポーネントとして図示される。いくつかの実施形態では、制御システムは、連動して作業する、運動コントローラ(例えば、運動ステージコントローラ)と、マシンビジョンプロセッサとを含むことができる。いくつかの実施形態では、運動コントローラは、マシンビジョンシステムマスタであることができる。例えば、運動コントローラは、マシンビジョンプロセッサと通信し、そのアクションを指示することができる。運動コントローラは、運動ステージの姿勢および移動を制御し、マシンビジョンプロセッサに、画像を取得させることができる。運動コントローラは、姿勢情報をマシンビジョンプロセッサに提供し、マシンビジョンプロセッサに、本明細書に説明される較正を行わせることができる。いくつかの実施形態では、マシンビジョンプロセッサは、マシンビジョンシステムマスタであることができる。例えば、マシンビジョンプロセッサは、運動コントローラと通信し、そのアクションを指示することができる。マシンビジョンプロセッサは、運動コントローラに、運動ステージの姿勢および移動を制御させ、姿勢情報をマシンビジョンプロセッサに提供させることができる。マシンビジョンプロセッサは、画像を取得し、本明細書に説明される較正を行うことができる。いくつかの実施形態では、運動コントローラおよびマシンビジョンコントローラは、統合されることができる。例えば、制御システムの1つまたはそれを上回るプロセッサコアは、運動ステージ運動を制御することができ、制御システムの1つまたはそれを上回るプロセッサコアは、較正等のマシンビジョン処理を行うことができる。
本技術によると、マシンビジョンシステム200は、較正されることができる。以下により詳細に説明されるであろうように、システム200は、カメラ210の画像座標空間、運動ステージ205の座標空間、および較正標的220の座標空間間の座標の変換を可能にするように較正されることができる。較正を使用して、制御システム215は、運動ステージ205を較正標的220の座標空間または運動ステージ205の座標空間内の精密な姿勢に平行移動および/または回転させることができる。制御システム215はさらに、較正および運動ステージ105のアクチュエータについての情報を使用することによって、カメラ210からの画像データ内で観察される物体の場所を判定することができる。有益なこととして、較正は、マシンビジョンシステム200が、運動ステージ205の運動を制御し、それを使用して、実世界物体をその表面上で移動させることを可能にする(例えば、較正標的220の座標空間内で)。
図示される実施形態は、単に、例示的マシンビジョンシステム構成であることを理解されたい。いくつかの実施形態では、マシンビジョンシステムは、他の種類のロボット、他の種類の運動ステージ、または他のデバイスを含むことができ、その移動は、マシンビジョンシステムによって制御されることができる。いくつかの実施形態では、カメラは、ロボットまたは運動ステージまたはロボットまたは運動ステージから独立した固定具に搭載されることができる(例えば、定常カメラシナリオおよび/または可動カメラシナリオ)。いくつかの実施形態では、1つを上回るカメラが、使用されることができる。いくつかの実施形態では、ロボットまたは運動ステージは、複数の作業空間と相互作用することができる。
(II.較正)
本技術は、較正パラメータ値を精緻化するための効率的技法を提供することによって、マシンビジョンシステムの改良された正確度を促進することができる。概して、較正パラメータは、当技術分野において周知であるように、ハンドアイ較正パラメータを含むことができる。ロボットを伴うマシンビジョンシステムの場合、較正パラメータは、ロボット較正パラメータを含むことができる。運動ステージを伴うマシンビジョンシステムの場合、較正パラメータは、運動ステージ較正パラメータを含むことができる。ロボット較正パラメータおよび/または運動ステージ較正パラメータは、運動学較正パラメータと称されることができる。ロボットに関して、ロボット較正パラメータは、例えば、ロボットの連結部および関節を説明するために使用される、Denavit−Hartenbergパラメータ(D−Hパラメータ)を含むことができる。別の実施例として、UVW運動ステージは、例えば、X方向に移動する2つのアクチュエータと、Y方向に移動する1つのアクチュエータとを含むことができる、運動ステージである。UVW運動ステージに関して、運動ステージ較正パラメータは、アクチュエータ毎に、ローラの中心位置と、ローラの半径と、アクチュエータの方向と、アクチュエータのステップサイズと、アクチュエータのホームエンコーダカウントと、受座の方向を含むことができる。さらに別の実施例として、XYシータ運動ステージは、例えば、X軸に沿った線形平行移動のためのアクチュエータと、Y軸に沿った線形平行移動のためのアクチュエータと、回転を提供するシータアクチュエータとを含むことができる、運動ステージである。XYシータ運動ステージに関して、運動ステージ較正パラメータは、XおよびYアクチュエータ毎の方向ならびにステップサイズと、ローラの中心位置および半径と、アクチュエータの方向ならびにステップサイズと、シータアクチュエータのための受座の方向とを含むことができる。より一般的には、本技術は、幾何学的にモデル化され得る、運動デバイスの較正のために使用されることができる。例えば、本技術は、運動デバイスの較正のために使用されることができ、その幾何学形状は、較正パラメータ値を用いて表されることができる。
(A.ロボットを伴うマシンビジョンシステムのための較正)
本技術は、その仕様および他の条件からのロボットの相違によって生じる不正確性を最小限にすることによって、較正パラメータ値を精緻化することができる。本技術の例示的実施形態では、ロボット(例えば、ロボット105)は、複数の姿勢に移動され、姿勢毎に、マシンビジョンシステムは、較正標的(例えば、較正標的120)の画像(例えば、カメラ110を介して)と、その姿勢におけるロボットの関節角度とを捕捉する。初期較正パラメータ値が、判定されることができる。例えば、初期ロボット較正パラメータ値は、ロボットの仕様から得ることができる。初期ハンドアイ較正パラメータ値は、捕捉された画像および初期ロボット較正パラメータ値を使用して判定されることができる。初期ハンドアイ較正パラメータ値を判定するための較正機能性は、Cognex Corporation製Cognex Vision Library(R)等において市販されている。1つまたはそれを上回るロボット較正パラメータ値および1つまたはそれを上回るハンドアイ較正パラメータを含む、1つまたはそれを上回る初期較正パラメータ値が、次いで、最終較正パラメータ値を判定するために精緻化されることができる。例えば、非線形最適化方法を使用することによって、ロボット較正パラメータおよび関節角度を使用して判定され得る、ロボット運動と、マシンビジョンシステムによって観察される運動との間の全体的相違を最小限にする。最終較正パラメータ値は、次いで、マシンビジョンシステムによって使用され、ランタイムの間、ロボットを動作させることができる。例えば、最終ロボット較正パラメータ値は、ロボットをより正確に制御するために使用されることができる。最終ハンドアイ較正パラメータ値は、ランタイム時のマシンビジョンシステムの性能をさらに改良することができる。
図3は、本技術による、較正スキーム300を描写する。いくつかの実施形態では、較正スキームは、可動カメラ構成のために使用されることができる。例えば、較正スキーム300は、図1のマシンビジョンシステム100のために使用されることができる。図3では、卵形は、座標空間を表す。図3は、CalPlate3D座標空間305と、RobotBase3D座標空間310と、Joint1座標空間315と、Joint2座標空間320と、Joint3座標空間325と、Joint4座標空間330と、Joint5座標空間335と、Joint6座標空間340と、Hand3D座標空間345と、Camera3D座標空間352と、Raw2D座標空間355とを含む。卵形間の矢印は、図示される座標空間間の変換を表す。変換のために使用される、較正パラメータ値は、以下の例証的較正方法に関して説明されるように、判定および精緻化されることができる。
図示される実施例では、CalPlate3D座標空間305は、較正標的120の座標空間であることができ、較正標的120の上部表面によって定義されることができる。RobotBase3D座標空間310は、ロボット105のベース125の座標空間であることができる。いくつかの実施形態では、RobotBase3D座標空間310は、ロボット製造業者によって定義されることができる。Joint1座標空間315は、ロボット105の関節130の座標空間であることができる。Joint2座標空間320は、ロボット105の関節135の座標空間であることができる。Joint3座標空間325は、ロボット105の関節140の座標空間であることができる。Joint4座標空間330は、ロボット105の関節145の座標空間であることができる。Joint5座標空間335は、ロボット105の関節150の座標空間であることができる。Joint6座標空間340は、ロボット105の関節155の座標空間であることができる。Hand3D座標空間345は、ロボット105のハンド160の座標空間であることができる。いくつかの実施形態では、Hand3D座標空間345は、ロボット製造業者によって定義されることができる。いくつかの実施形態では、Hand3D座標空間345は、J6からのユーザ定義オフセットである。Camera3D座標空間352は、カメラ110の座標空間であることができる。Camera3D座標空間352の原点は、カメラ110のレンズの光学軸に沿って外向きのz軸との投影中心にあることができる。xおよびy軸は、それぞれ、カメラ110のカメラセンサの行および列と整合されることができる。Raw2D座標空間355は、カメラ110のカメラセンサの行および列によって定義された2Dピクセルベースの座標系であることができる。x軸は、画像行に沿って左から右に向くことができ、y軸は、カメラ110のカメラセンサの列に沿って下向きであることができる。「3D」を含有する名称を伴う座標空間は、3次元空間であって、「2D」を含有する名称を伴う座標空間は、2次元空間であることを理解されたい。
座標空間間の変換は、剛体変換(例えば、平行移動成分および回転成分を含む)および/またはロボット105のロボット較正パラメータに基づく変換であることができる。例えば、CalPlate3D座標空間305とRobotBase3D座標空間310との間、RobotBase3D座標空間310とJoint1座標空間315との間、Hand3D座標空間345とCamera3D座標空間352との間、およびCalPlate3D座標空間305とCamera3D座標空間352との間の変換は、3D剛体変換であることができる。Joint1座標空間315とJoint2座標空間320との間、Joint2座標空間320とJoint3座標空間325との間、Joint3座標空間325とJoint4座標空間330との間、Joint4座標空間330とJoint5座標空間335との間、およびJoint5座標空間335とJoint6座標空間340との間の変換は、ロボット105の関節および連結部ならびに対応する関節角度値を記述する、ロボット較正パラメータ値に基づくことができる。いくつかの実施形態では、変換は、Denavit−Hartenbergマトリクスを使用して判定されることができ、ロボットパラメータは、当技術分野において周知であるように、d、θ、a、およびアルファであることができる。Joint6座標空間340からHand3D座標空間345への変換は、ロボット105のJoint6の角度値に基づく可変回転変換を伴う、剛体変換であることができる。CalPlate3D座標空間305からCamera3D座標空間352への変換およびCamera3D座標空間352からRaw2D座標空間355への変換は、当技術分野において周知であるように、従来のカメラ較正に基づくことができる。本明細書で使用されるように、表記CoordinateSpace1fromCoordinateSpace2は、CoordinateSpace2からCoordinateSpace1への変換を示す。例えば、Joint1FromJoint2は、Joint2座標空間320からJoint1座標空間315への変換を示す。
本技術は、前述の変換を形成するために使用される較正パラメータ値を精緻化するために使用されることができる。
(1.較正データの捕捉)
図4は、本技術による、マシンビジョンシステムを較正する方法のフロー図400を描写する。描写される方法は、制御システム115によって行われることができる。ステップ405では、制御システム115は、ロボット105が複数の姿勢にあるときに、画像およびロボット関節角度を捕捉する。各姿勢において、制御システム115は、カメラ110に、特徴122のうちの1つまたはそれを上回るものを含有する、較正標的120の少なくとも一部の画像を捕捉させる。制御システム115はさらに、その姿勢におけるロボット105の各関節の角度を捕捉する。例えば、ロボット105は、各関節の角度を制御システム115に報告することができる。
(2.初期較正パラメータ値の判定)
ステップ410では、制御システム115は、初期較正パラメータ値を判定する。初期較正パラメータ値は、精緻化に先立って図3を参照して議論される変換を判定するために使用される値であることができる。以下により詳細に説明されるであろうように、これらの較正パラメータの値は、本技術に従って精緻化されることができる。図3の図示される実施例では、制御システム115は、ロボット105の仕様に基づいて、ロボット105のための初期ロボット較正パラメータ値を得ることができる。例えば、ロボット製造業者が、典型的には、これらの値を提供するであろう。これらの初期較正値および特定の姿勢におけるロボット105のための関節角度を使用して、制御システム115は、その姿勢におけるロボット105のための以下の変換を判定することができる:RobotBase3DFromJoint1、Joint1FromJoint2、Joint2FromJoint3、Joint3FromJoint4、Joint4FromJoint5、Joint5FromJoint6、およびJoint6FromHand3D。例えば、Joint1FromJoint2、Joint2FromJoint3、Joint3FromJoint4、Joint4FromJoint5、Joint5FromJoint6は、ロボット仕様およびその姿勢におけるロボット105の関節角度値によって提供されるD−H値に基づいて、Denavit−Hartenbergマトリクスを使用して判定されることができる。RobotBase3DFromJoint1は、ロボット仕様(例えば、ロボット105の寸法)に基づいて判定されることができる。Joint6FromHand3Dは、ロボット105のHand3D160のロボット仕様およびJoint6の関節角度値に基づいて判定されることができる。Joint6FromHand3Dは、J6 340(例えば、Joint 6座標系)におけるロボットハンド160の剛体変換を提供することができる。制御システム115は、これらの変換に基づいて、ロボット105の特定の姿勢のための合成変換RobotBase3DFromHand3Dを形成することができる。例えば、以下の方程式は、RobotBase3DFromHand3Dを提供する。
RobotBase3DFromHand3D=RobotBase3DFromJoint1Joint1FromJoint2Joint2FromJoint3Joint3FromJoint4Joint4FromJoint5Joint5FromJoint6Joint6FromHand3D
制御システム115は、ハンドアイ較正を行い、初期ハンドアイ較正パラメータ値を判定することができる。例えば、制御システムは、Cognex Vision Libraryを使用して、捕捉された画像および複数の姿勢のためのRobotBase3DFromHand3D変換とともに、Camera3DFromCalPlate3D変換に基づいて、初期ハンドアイ較正パラメータ値を判定することができる。ハンドアイ較正の結果、制御システム115は、Camera3DFromHand3DおよびRobotBase3DFromCalPlate3Dを判定することができる。Camera3DFromHand3DおよびRobotBase3DFromCalPlate3Dの判定とともに、以前に判定された変換の判定を用いて、図3の任意の座標空間内の座標が、図3の任意の他の座標空間内の座標に変換されることができる。
(3.較正パラメータの精緻化)
ステップ415では、制御システム115は、複数の較正パラメータを精緻化し、それらの較正パラメータのためのより正確な値を判定する。較正パラメータを精緻化するために、制御システム115は、コスト関数を最小限にする、較正パラメータ値を判定する。コスト関数を最小限にし、最終較正パラメータ値を判定するための技法は、非線形最小二乗法を含むことができる。当業者は、他の技法も使用されることができることを理解されるであろう。
本技術の実施形態は、種々のコスト関数を使用することができる。いくつかの実施形態では、コスト関数は、特徴(例えば、較正標的120上の特徴)の観察される場所と、議論される変換に基づくそれらの特徴の予期される場所との間の距離の和であることができる。一般に、これは、マシンビジョンシステムが、第1の座標空間内の特徴の場所を観察し(例えば、カメラ110を用いて観察する)、一連の変換を適用し、その特徴を複数の他の座標空間を通して第1の座標空間にマップし、較正パラメータに基づいて、その特徴の予期される場所を計算することを伴い得る。較正パラメータが完全に正確である場合、観察される場所および予期される場所は、同一となるであろう。実際は、典型的には、観察される場所と予期される場所との間にいくつかの差異が存在する。いくつかの実施形態では、コスト関数は、複数の特徴、複数の姿勢、および複数の画像のためのこれらの差異を測定する。例えば、制御システム115は、ロボット姿勢毎、Raw2D座標空間355内の複数の観察される較正標的特徴の場所(ObservedFeatureRaw2Dij)を判定することができる。制御システム115はまた、ロボット姿勢毎に、Raw2D座標空間355内の複数のマップされた較正標的特徴の場所を判定することができる。
MappedFeatureRaw2Dij=Raw2DFromCamera3DCalPlate3DFromCamera3DAtPoseEstimated−1*CalibrationTargetFeature
式中、
CalPlate3DFromCamera3DAtPoseEstimated=CalPlate3DFromRobotBase3DRobotBase3DFromHand3DAtPose Hand3DFromCamera3D
RobotBase3DFromHand3DAtPoseは、姿勢iにおける関節角度値および初期較正パラメータ値(または連続的に精緻化される較正パラメータ値)を使用して姿勢iにおいて推定されるロボット姿勢である。
制御システム115は、次いで、観察される特徴場所とマップされた特徴場所との間の距離を算出することができる。コスト関数は、以下のように定義されることができる。
いくつかの実施形態では、コスト関数は、変換を使用してマップ後、較正プレート特徴の場所の変化を測定する。例えば、制御システム115は、CalPlate3D座標空間305内の複数の特徴の場所を判定することができる。制御システム115はまた、以下である、変換CalPlate3DFromCalPlate3DAtPoseを通して複数の姿勢の各ロボット姿勢iにおける複数の特徴のための各特徴場所をマップすることができる。
CalPlate3DFromCalPlate3DAtPose=CalPlate3DFromRobotBase3DRobotBase3DFromHand3DAtPose Hand3DFromCamera3DCamera3DFromCalPlate3DAtPose
式中、RobotBase3DFromHand3DAtPoseは、姿勢iにおいて関節角度値および初期較正パラメータ値(または連続的に精緻化される較正パラメータ値)を使用して姿勢iにおける推定されるロボット姿勢である。
Camera3DFromCalPlate3DAtPoseは、Raw2Dにおいて観察される特徴およびカメラ較正情報を使用することによって得られる。
制御システム115は、次いで、特徴場所とマップされた特徴場所との間の距離を算出することができる。コスト関数は、以下のように定義されることができる。
いくつかの実施形態では、コスト関数は、特徴点をマップせずに定義されることができる。較正パラメータが完全に正確である場合、CalPlate3DFromCalPlate3DAtPoseは、恒等変換となるであろう。したがって、コスト関数は、CalPlate3DFromCalPlate3DAtPoseと恒等変換との間の差異を測定することができる。いくつかの実施形態では、コスト関数は、以下のように定義されることができる。
式中、
CalPlate3DfromCalPlate3DAtPose.translation.lengthは、変換CalPlate3DfromCalPlate3DAtPoseの平行移動成分の長さである。
CalPlate3DfromCalPlate3DAtPose.rotationAngleは、変換CalPlate3DfromCalPlate3DAtPoseの回転量である(例えば、回転は、回転軸の周囲の回転量として表されることができる)。
wは、平行移動および回転成分を平衡するための加重(例えば、スケール係数)である。
いくつかの実施形態では、Hand3D座標空間345の原点は、コスト関数の基礎として使用されることができる。変換Hand3DFromHand3DAtPoseは、以下のように定義されることができる。
Hand3DFromHand3DAtPose=Hand3DFromCamera3DCamera3DFromCalPlate3DAtPose CalPlate3DFromRobotBase3DRobotBase3DFromHand3DAtPose
式中、
Hand3DFromCamera3DCamera3DFromCalPlate3DAtPose CalPlate3DFromRobotBase3Dは、姿勢iにおいてカメラによって観察されるRobotBase3DFromHand3Dの逆数を表す(Camera3DFromCalPlate3DAtPoseは、Raw2D内の観察される特徴およびカメラ較正情報を使用することによって得られる)。
Hand3DFromHand3DAtPoseは、ロボット105のロボット較正パラメータに基づく姿勢とカメラ110からの画像に基づく推定される姿勢との間の差異を示す。較正パラメータが完全に正確である場合、Hand3DFromHand3DPoseは、恒等変換となるであろう。コスト関数は、以下のように定義されることができる。
いくつかの実施形態では、コスト関数は、ロボット105の関節のための報告される関節角度(例えば、ロボット105によって測定された)とロボット105の対応する関節の推定される関節角度との間の差異を測定することができる。コスト関数は、捕捉された画像および較正パラメータ値に基づいて、ロボット105の関節のための関節角度を推定することができる。変換RobotBase3DFromHand3D_estimatedは、以下のように定義されることができる。
RobotBase3DFromHand3D_estimated=RobotBase3DFromCalPlate3DCalPlate3DFromCamera3DAtPose Camera3DFromHand3D.
逆運動学方程式が、RobotBase3DFromHand3D_estimatedに対応する関節角度を算出するために使用されることができる。コスト関数は、以下のように定義されることができる。
または
有益なこととして、コスト関数は、平行移動および回転成分を平衡するために、wを含む必要はない。
(4.精緻化の拡張)
マシンビジョンシステム100のための図示される実施例では、精緻化され得る較正パラメータは、32のロボット較正パラメータ、すなわち、ロボット105の関節のための20のD−Hパラメータと、RobotBase3DFromJoint1のための6つのロボット較正パラメータと、Joint6FromHand3Dのための6つのロボット較正パラメータとを含む。較正パラメータはまた、Camera3DFromHand3Dのための6つのパラメータと、RobotBase3DFromCalPlate3Dのための6つのパラメータとを含み、較正パラメータの総数を44のパラメータにする。
較正パラメータには冗長性が存在し、較正パラメータの全てを精緻化することを不必要にし得る。いくつかの実施形態では、Joint6FromHand3Dは、Hand3DFromCamera3Dと組み合わせられ、精緻化される較正パラメータの数を減少させることができる。いくつかの実施形態では、RobotBase3DFromJoint1は、CalPlate3DFromRobotBase3Dと組み合わせられることができる。変換の組み合わせは、精緻化するための較正パラメータを32まで減少させることができる(例えば、CalPlate3DFromJoint1から6つ、Joint6FromCamera3Dから6つ、およびJoint1FromJoint2,...,Joint5FromJoint6から20)。いくつかの実施形態では、Joint1FromJoint2からのD−Hパラメータθオフセットおよびdオフセットは、CalPlate3DFromJoint1に組み合わせられ、精緻化するためのパラメータの数を30まで減少させることができる。いくつかの実施形態では、選択較正パラメータのみが、精緻化される。例えば、シータ角度(例えば、関節原点)のオフセットが、精緻化されることができる。有益なこととして、精緻化するための較正パラメータの数を減少させることによって、精緻化プロセスの速度および正確度が、改良されることができる。いくつかの実施形態では、精緻化は、較正パラメータの群で行われることができる。例えば、Camera3DFromHand3DおよびRobotBase3DFromCalPlate3Dのための較正パラメータ値は、20のロボット較正パラメータを精緻化する間、固定されることができる。次いで、20のロボット較正パラメータは、固定されることができ、Camera3DFromHand3DおよびRobotBase3DFromCalPlate3Dのための較正パラメータは、精緻化されることができる。
マシンビジョンシステム100は、本技術を実践するための例示的マシンビジョンシステムであることを理解されたい。他の構成も、検討される。いくつかの実施形態では、制御システムによって行われるように説明されるステップは、運動コントローラ、マシンビジョンプロセッサ、および/またはマシンビジョンプロセッサと協働する運動コントローラによって行われることができる。例えば、運動コントローラは、ロボットを一連の姿勢を通して指向し、マシンビジョンプロセッサに、各姿勢において較正標的の画像を取得させることができる。運動コントローラは、マシンビジョンプロセッサに、各姿勢におけるロボット関節角度についての情報を提供することができる。運動コントローラは、マシンビジョンプロセッサに、説明される較正および精緻化を行わせることができる。別の実施例として、マシンビジョンプロセッサは、運動コントローラに、ロボットを一連の姿勢を通して指向させ、マシンビジョンプロセッサに各姿勢におけるロボット関節角度についての情報を提供させることができる。マシンビジョンプロセッサは、各姿勢における較正標的の画像を取得することができる。マシンビジョンプロセッサは、説明される較正および精緻化を行うことができる。より一般的には、制御システムは、本明細書の技術を実装するために連動して作業する、運動コントローラ、マシンビジョンプロセッサ、または任意のそれらの組み合わせを備えることができる。
いくつかの実施形態では、1つを上回るカメラが、使用されることができる。そのようなマシンビジョンシステムでは、コスト関数は、カメラ毎のコスト関数の組み合わせであることができる。いくつかの実施形態では、仮想3Dカメラが、作成されることができる。仮想3Dカメラを使用することによって、単一カメラベースのコスト関数が、使用されることができる。有益なこととして、仮想3Dカメラを使用することによって、精緻化するための較正パラメータの数は、より少なくなることができ、カメラの空間関係は、精緻化の間、一定に保持されることができる。
いくつかの実施形態では、複数の作業空間が、使用されることができる(例えば、ロボットは、1つを上回る作業空間内で移動し、その中の物体と相互作用することができる)。カメラがロボットとともに移動する実装では、次いで、較正は、較正標的を各作業空間内に設置することと、較正データ(例えば、複数のロボット姿勢のための画像および関節角度)を作業空間毎に収集することとを含むことができる。各付加的作業空間は、精緻化するための6つの付加的較正パラメータをもたらすことができる。いくつかの実施形態では、コスト関数は、作業空間毎のコスト関数の組み合わせであることができる。いくつかの実施形態では、1つまたはそれを上回る定常カメラが、使用されることができる。1つまたはそれを上回るカメラが定常であって、較正標的がロボット上に搭載される場合、上記に定義されたコスト関数は、方程式におけるCamera3DとCalPlate3Dを交換することによって使用されることができる。いくつかの実施形態では、本技術は、ロボット運動が2次元においてのみ移動するマシンビジョンシステムのための較正パラメータを精緻化するために使用されることができる。コスト関数は、2D情報のみを使用するように変更されることができることを理解されたい。そのような場合、ロボット運動の限界に起因して、精緻化のためのロボット較正パラメータの数は、ロバストな精緻化のために減少されることができる。
(B.運動ステージを伴うマシンビジョンシステムのための較正)
本技術は、前述のものに類似するアプローチを使用することによって、運動ステージを含む、マシンビジョンシステムのための較正パラメータを精緻化することができることを理解されたい。本技術は、単一精緻化計算においてハンドアイ較正パラメータおよび運動ステージ較正パラメータを精緻化することができる。
図5は、本技術による、較正スキーム500を描写する。いくつかの実施形態では、較正スキームは、固定カメラ構成のために使用されることができる。例えば、較正スキーム500は、図2のマシンビジョンシステム200のために使用されることができる。図5では、卵形は、座標空間を表す。図5は、Home2D座標空間510と、Stage2D座標空間515と、CalPlate2D座標空間520と、Camera2D座標空間525と、Raw2D座標空間530とを含む。卵形間の矢印は、図示される座標空間間の変換を表す。変換のために使用される較正パラメータ値は、以下の例証的較正方法に関して説明されるように、判定および精緻化されることができる。
図示される実施例では、Home2D座標空間510は、他の座標空間およびその関係が説明される、座標空間であることができる。Home2D座標空間510は、正規直交であって、運動ステージ205のX軸と、運動ステージ205の回転中心とによって定義されることができる。例えば、Home2D座標空間510の原点は、運動ステージ205がホーム位置にあるとき、その回転中心にあることができる。Home2D座標空間510のx軸は、運動ステージ205のx軸と整合されることができる。Home2D座標空間510のy軸は、X軸から90度であって、運動ステージ205のy軸の一般的方向にあることができる。Stage2D座標空間515は、運動ステージ205の回転中心に取り付けられる、正規直交座標空間であって、運動ステージ205とともに移動することができる。CalPlate2D座標空間520は、較正標的220の座標空間であることができる。本空間は、運動ステージ205によって、Home2D座標空間510の座標内を動き回ることができる。CalPlate2D座標空間520は、正規直交座標系であることができるが、その長さ単位は、Home2D座標空間510と非一致スケール係数を有してもよい。CalPlate2D座標空間520およびHome2D座標空間510は、異なる掌性を有することができる。Camera2D座標空間525は、カメラ210のための物理的正規直交座標空間であることができる。Camera2D座標空間525の原点は、カメラ210の画像窓の中心に対応する、Home2D座標空間510内の位置にあることができる。そのx軸は、Camera2D座標空間525の原点におけるRaw2D座標空間530のx軸と平行である。y軸は、x軸から90度であって、Raw2D座標空間530のy軸の一般的方向にあることができる。Raw2D座標空間530は、カメラ210のピクセル空間座標系であることができる。
座標空間間の変換は、剛体変換(例えば、平行移動成分および回転成分を含む)および/または剛体+掌性変換(例えば、剛体変換+掌性成分を含む)および/または運動ステージ205の運動学較正パラメータに基づく変換であることができる。例えば、Camera2D座標空間525とHome2D座標空間510との間およびStage2D座標空間515とCalPlate2D座標空間520との間の変換は、2D剛体変換であることができる。CalPlate2D座標空間520とCamera2D座標空間525との間の変換は、2D剛体変換であることができる。Home2D座標空間510とStage2D座標空間515との間の変換は、例えば、アクチュエータのエンコーダカウントに基づくことができる。Camera2D座標空間525からRaw2D座標空間530への変換は、当技術分野において周知であるように、従来のカメラ較正に基づくことができる。
(1.較正データの捕捉)
再び、図4を参照して、描写される方法が、マシンビジョンシステム200の制御システム215によって行われることができる。ステップ405では、制御システムは、運動ステージ205が複数の姿勢にあるとき、画像およびアクチュエータエンコーダカウントを捕捉する。各姿勢において、制御システム215は、カメラに、1つまたはそれを上回る特徴を含有する較正標的220の少なくとも一部の画像を捕捉させる。制御システム215はさらに、各姿勢において、運動ステージ2015のアクチュエータ毎に、エンコーダカウントを捕捉する。
(2.初期較正パラメータ値の判定)
ステップ410では、制御システム215は、初期較正パラメータ値を判定する。初期較正パラメータ値は、精緻化に先立って図5を参照して議論される変換を判定するために使用される値であることができる。これらの較正パラメータの値は、本技術に従って精緻化されることができる。図4の図示される実施例では、制御システム215は、運動ステージ205の仕様に基づいて、運動ステージ205のための初期運動ステージ較正パラメータ値を得ることができる。例えば、運動ステージ製造業者が、典型的には、これらの値を提供するであろう。これらの初期較正値および特定の姿勢におけるエンコーダカウントを使用して、制御システム215は、変換Home2DFromStage2Dを判定することができる。
制御システム215は、ハンドアイ較正を行い、初期ハンドアイ較正パラメータ値を判定することができる。例えば、制御システム215は、Cognex Vision Libraryを使用して、複数の姿勢のための捕捉された画像およびHome2DFromStage2D変換に基づいて、初期ハンドアイ較正パラメータ値を判定することができる。ハンドアイ較正の結果、制御システム215は、Stage2DFromCalPlate2D、CalPlate2DFromCamera2D、およびCamera2DfromHome2Dを判定することができる。
(3.較正パラメータの精緻化)
ステップ415では、制御システム215は、複数の較正パラメータを精緻化し、それらの較正パラメータのためのより正確な値を判定する。較正パラメータを精緻化するために、制御システム215は、コスト関数を最小限にする、較正パラメータを判定する。一般に、コスト関数は、運動ステージ205運動(例えば、運動ステージから読み取られた実際のエンコーダカウントから判定される)と観察されるカメラまたは較正標的運動(例えば、カメラによって捕捉された画像に基づく)の比較に基づくことができる。本技術の実施形態は、種々のコスト関数を使用することができる。
いくつかの実施形態では、コスト関数は、観察されるエンコーダカウント(例えば、運動ステージから読み取られる)と初期較正パラメータ値(または連続的に精緻化される較正パラメータ値)を使用して計算される予期される/推定されるエンコーダカウントとの間の差異を測定することができる。例えば、運動ステージ姿勢i毎に、推定される運動ステージ姿勢i’(例えば、Home2D座標空間510内)が、算出されることができる。姿勢i’は、以下のように算出されることができる。
Posei’=Home2DFromCamera2DCamera2DFromCalPlate2DAtPose Plate2DFromStage2D
式中、Camera2DFromCalPlate2DAtPoseは、画像特徴およびカメラ較正情報から算出される。
姿勢iのための推定されるエンコーダカウントは、姿勢i’および初期較正パラメータ値(または連続的に精緻化される較正パラメータ値)に基づいて算出されることができる。
コスト関数は、アクチュエータ毎、姿勢毎、およびカメラ毎(複数のカメラマシンビジョンシステム内)のエンコーダカウント差異の二乗の和であることができる。コスト関数は、以下のように定義されることができる。
いくつかの実施形態では、コスト関数は、Raw2D内の特徴の観察される場所とRaw2D内の特徴の予期される(マップされる)場所との間の差異を測定することができる。変換MappedFeatureRaw2Dijは、以下のように定義されることができる。
MappedFeatureRaw2Dij=Raw2DFromCamera2DCalPlate2DFromCamera2DAtPoseEstimated−1*CalibrationTargetFeature
式中、CalPlate2DFromCamera2DAtPoseEstimated=CalPlate2DFromStage2DHome2DFromStage2DAtPose −1*Home2DFromCamera2D
Home2DFromStage2DAtPoseは、姿勢iにおいて運動ステージ205から読み取られたエンコーダカウントおよび初期較正パラメータ値(または連続的に精緻化される較正パラメータ値)に基づいて算出されることができる。制御システム115は、次いで、観察される特徴場所とマップされる特徴場所との間の距離を算出することができる。コスト関数は、以下のように定義されることができる。
いくつかの実施形態では、コスト関数は、CalPlate2D内の特徴の場所と較正標的220上の特徴のマップされる場所との間の差異を測定することができる。例えば、Home2DFromStage2DAtPoseは、姿勢iにおいて運動ステージ205から読み取られたエンコーダカウントおよび初期較正パラメータ値(または連続的に精緻化される較正パラメータ値)に基づいて算出されることができる。変換CalPlate2DFromCalPlate2DAtPoseは、以下のように算出されることができる。
CalPlate2DFromCalPlate2DAtPose=CalPlate2DFromStage2DHome2DFromStage2DAtPose −1*Home2DFromCamera2DCamera2DFromPlate2DAtPose
式中、Home2DFromStage2DAtPoseは、姿勢iにおいて運動ステージ205から読み取られたエンコーダカウントおよび初期較正パラメータ値(または連続的に精緻化される較正パラメータ値)に基づいて算出されることができる。
Camera2DFromCalPlate2DAtPoseは、Raw2D内の観察される特徴およびカメラ較正情報を使用することによって得られる。
変換CalPlate2DFromCalPlate2DAtPoseは、姿勢iに較正標的特徴をマップするために使用されることができる。コスト関数は、次いで、以下のように定義されることができる。
UVW運動ステージに関して、運動ステージ較正パラメータは、アクチュエータ毎に、アクチュエータのローラの中心位置と、ローラの半径と、アクチュエータの方向と、アクチュエータのステップサイズと、アクチュエータのホームエンコーダカウントと、アクチュエータの受座の方向を含むことができる。いくつかの実施形態では、UVW運動ステージの運動ステージ較正パラメータのサブセットは、精緻化されることができる。例えば、いくつかの実施形態では、ローラの半径は、精緻化されない。いくつかの実施形態では、ホームエンコーダカウントは、精緻化されない。前述のように、精緻化効率は、精緻化される較正パラメータの数を減少させることによって、増加されることができる。XYシータ運動ステージに関して、運動ステージ較正パラメータは、XおよびYアクチュエータ毎に、アクチュエータの方向と、アクチュエータのステップサイズとを含むことができる。シータアクチュエータに関して、運動ステージ較正パラメータは、アクチュエータのローラの中心位置と、ローラの半径と、アクチュエータの受座の方向とを含むことができる。いくつかの実施形態では、XYシータ運動ステージの運動ステージ較正パラメータのサブセットは、精緻化されることができる。例えば、いくつかの実施形態では、ローラの半径は、精緻化されない。
マシンビジョンシステム200は、本技術を実践するための例示的マシンビジョンシステムであることを理解されたい。他の構成も、検討される。いくつかの実施形態では、制御システムによって行われるように説明されるステップは、運動コントローラ、マシンビジョンプロセッサ、および/またはマシンビジョンプロセッサと協働する運動コントローラによって行われることができる。例えば、運動コントローラは、運動ステージを一連の姿勢を通して指向し、マシンビジョンプロセッサに、各姿勢において較正標的の画像を取得させることができる。運動コントローラは、マシンビジョンプロセッサに、各姿勢における運動ステージについての情報を提供することができる。運動コントローラは、マシンビジョンプロセッサに、説明される較正および精緻化を行わせることができる。別の実施例として、マシンビジョンプロセッサは、運動コントローラに、運動ステージを一連の姿勢を通して指向させ、マシンビジョンプロセッサに、各姿勢における運動ステージについての情報を提供させることができる。マシンビジョンプロセッサは、各姿勢において較正標的の画像を取得することができる。マシンビジョンプロセッサは、説明される較正および精緻化を行うことができる。より一般的には、制御システムは、本明細書の技術を実装するために連動して作業する、運動コントローラ、マシンビジョンプロセッサ、または任意のそれらの組み合わせを備えることができる。
いくつかの実施形態では、1つまたはそれを上回る定常カメラが、前述のように、使用されることができる。1つまたはそれを上回るカメラが、カメラが運動ステージに堅く取り付けられる、可動カメラであって、較正標的が定常である場合、上記に定義されたコスト関数は、方程式においてCamera2DとCalPlate2Dを交換することによって使用されることができる。
前述の技法は、デジタルおよび/またはアナログ電子的回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせにおいて実装することができる。実装は、データ処理装置、例えば、プログラマブルプロセッサ、コンピュータ、および/または複数のコンピュータによる実行のために、またはその動作を制御するために、機械可読記憶デバイス内に有形に具現化されたコンピュータプログラム製品、すなわち、コンピュータプログラムとしてあることができる。コンピュータプログラムは、ソースコード、コンパイルコード、解釈コード、および/または機械コードを含む、任意の形態のコンピュータまたはプログラミング言語で書くことができ、コンピュータプログラムは、独立型プログラムとして、またはサブルーチン、要素、またはコンピューティング環境内で使用するために好適な他のユニットとしてを含む、任意の形態で展開することができる。コンピュータプログラムは、1つまたはそれを上回る施設において、1つのコンピュータまたは複数のコンピュータ上で実行されるように展開することができる。
方法ステップは、入力データに作用し、および/または出力データを生成することによって、本技術の機能を果たすように、コンピュータプログラムを実行する、1つまたはそれを上回るプロセッサによって、行うことができる。方法ステップはまた、特殊目的論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)、FPAA(フィールドプログラマブルアナログアレイ)、CPLD(複合プログラマブル論理デバイス)、PSoC(プログラマブルシステム−オン−チップ)、ASIP(特定用途向け命令セットプロセッサ)、またはASIC(特定用途向け集積回路)、または同等物によって、行うことができ、かつ装置は、そのようなものとして、実装することができる。サブルーチンは、1つまたはそれを上回る関数を実装する、記憶されるコンピュータプログラムおよび/またはプロセッサおよび/または特殊回路の部分を指すことができる。
コンピュータプログラムの実行に好適なプロセッサは、一例として、汎用および特殊目的両方のマイクロプロセッサ、ならびに任意の種類のデジタルまたはアナログコンピュータの任意の1つまたはそれを上回るプロセッサを含む。概して、プロセッサは、読取専用メモリ、またはランダムアクセスメモリ、または両方から、命令およびデータを受信する。コンピュータの不可欠な要素は、命令を実行するためのプロセッサと、命令および/またはデータを記憶するための1つまたはそれを上回るメモリデバイスである。キャッシュ等のメモリデバイスを使用して、一時的に、データを記憶することができる。メモリデバイスはまた、長期データ記憶のために使用することができる。概して、コンピュータはまた、データを記憶するための1つまたはそれを上回る大容量記憶デバイス、例えば、磁気、磁気光ディスク、または光ディスクを含む、またはそこからデータを受信する、またはそこにデータを転送する、または両方を行うように、動作可能に連結される。コンピュータはまた、ネットワークから命令および/またはデータを受信する、および/またはネットワークに命令および/またはデータを転送するために、通信ネットワークに動作可能に連有することができる。コンピュータプログラム命令およびデータを具現化するために好適なコンピュータ可読記憶媒体は、一例として、半導体メモリデバイス、例えば、DRAM、SRAM、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたは可撤性ディスク、磁気光ディスク、ならびに光ディスク、例えば、CD、DVD、HD−DVD、およびブルーレイディスクを含む、揮発性ならびに不揮発性メモリの全形態を含む。プロセッサおよびメモリは、特殊目的論理回路によって、補完される、および/またはその中に組み込まれることができる。
前述の技法は、バックエンドコンポーネントを含む、分散型コンピューティングシステム内に実装することができる。バックエンドコンポーネントは、例えば、データサーバ、ミドルウェアコンポーネント、および/またはアプリケーションサーバであることができる。前述の技法は、フロントエンドコンポーネントを含む、分散型コンピューティングシステム内に実装することができる。フロントエンドコンポーネントは、例えば、グラフィカルユーザインターフェース、それを通して、ユーザが、例示的実装と相互作用することができる、ウェブブラウザ、および/または伝送デバイスのための他のグラフィカルユーザインターフェースを有する、クライアントコンピュータであることができる。前述の技法は、そのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組み合わせを含む、分散型コンピューティングシステム内で実装することができる。
コンピューティングシステムのコンポーネントは、デジタルまたはアナログデータ通信の任意の形態または媒体(例えば、通信ネットワーク)を含み得る、伝送媒体によって、相互接続することができる。伝送媒体は、1つまたはそれを上回るパケットベースのネットワークおよび/または1つまたはそれを上回る回路ベースのネットワークを任意の構成に含むことができる。パケットベースのネットワークは、例えば、インターネット、キャリアインターネットプロトコル(IP)ネットワーク(例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、キャンパスエリアネットワーク(CAN)、メトロポリタンエリアネットワーク(MAN)、ホームエリアネットワーク(HAN))、プライベートIPネットワーク、IP構内電話交換機(IPBX)、無線ネットワーク(例えば、無線アクセスネットワーク(RAN)、Bluetooth(登録商標)、Wi−Fi、WiMAX、汎用パケット無線サービス(GPRS)ネットワーク、HiperLAN)、および/または他のパケットベースのネットワークを含むことができる。回路ベースのネットワークは、例えば、公衆交換電話網(PSTN)、レガシー構内電話交換機(PBX)、無線ネットワーク(例えば、RAN、符号分割多重アクセス(CDMA)ネットワーク、時分割多重アクセス(TDMA)ネットワーク、モバイル通信(GSM(登録商標))ネットワーク用グローバルシステム)、および/または他の回路ベースのネットワークを含むことができる。
伝送媒体を経由した情報転送は、1つまたはそれを上回る通信プロトコルに基づくことができる。通信プロトコルは、例えば、Ethernet(登録商標)プロトコル、インターネットプロトコル(IP)、ピアツーピア(P2P)プロトコル、ハイパーテキスト転送プロトコル(HTTP)、セッション開始プロトコル(SIP)、モバイル通信用グローバルシステム(GSM(登録商標))プロトコル、汎用モバイル電気通信システム(UMTS)、3GPPロング・ターム・エボリューション(LTE)、および/または他の通信プロトコルを含むことができる。
comprise(〜を備える)、incude(〜を含む)、および/またはそれぞれの複数形は、非制限的であって、列挙される部品を含み、かつ列挙されない付加的部品も含むことができる。and/or(および/または)も、非制限的であって、列挙される部品のうちの1つまたはそれを上回るものおよび列挙される部品の組み合わせを含む。
当業者は、本技術が、その精神または不可欠な特色から逸脱することなく、他の具体的形態に具現化されてもよいことを認識するであろう。したがって、前述の実施形態は、本明細書に説明される技術の限定ではなく、あらゆる観点において、例証的であると見なされる。
本技術は、特定の実施形態の観点から説明された。本明細書に説明される代替は、例証のためだけの実施例であって、いかようにも代替を限定しない。本技術のステップは、異なる順序で行われ、依然として、望ましい結果を達成することができる。他の実施形態も、以下の請求項の範囲内である。

Claims (30)

  1. マシンビジョンシステムであって、
    ロボットと、
    カメラと、
    前記ロボットおよび前記カメラと通信する制御システムであって、前記制御システムは、
    前記ロボットを複数の姿勢に移動させ、前記複数の姿勢の姿勢毎に、
    前記カメラを用いて、較正標的上の1つ以上の特徴の画像を捕捉することおよび、
    複数のロボット関節角度を捕捉することを実行することと、
    複数のロボット較正パラメータのための複数の初期値を得ることと、
    前記複数のロボット較正パラメータのための複数の初期値と、前記複数の姿勢の姿勢毎に捕捉された前記画像および前記複数のロボット関節角度とに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することであって、前記判定することは、各々が前記ロボットの特徴に関連付けられた複数の座標空間間の前記複数のロボット較正パラメータのための複数の初期値の変換を判定することを含む、ことと、
    前記複数の座標空間間の前記複数のロボット較正パラメータのための複数の初期値の前記変換のうちの少なくとも1つを使用して、前記複数のハンドアイ較正パラメータのうちの1つ以上および前記複数のロボット較正パラメータのうちの1つ以上を精緻化し、コスト関数を最小限にすることによって、前記複数のハンドアイ較正パラメータのための複数の最終値および前記ロボット較正パラメータのための複数の最終値を判定することと
    を行うように構成される、制御システムと
    を備える、マシンビジョンシステム。
  2. 前記制御システムはさらに、
    視覚誘導式ロボット用途のために、前記複数のハンドアイ較正パラメータのための複数の最終値および前記ロボット較正パラメータのための複数の最終値を使用するように構成される、請求項1に記載のマシンビジョンシステム。
  3. 前記制御システムはさらに、
    前記ロボット較正パラメータのための複数の最終値を使用して、前記ロボットを移動させるように構成される、請求項1に記載のマシンビジョンシステム。
  4. 前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された画像内の特徴の観察される場所と前記特徴の予期される場所との間の差異を測定し、前記予期される場所は、前記複数のロボット較正パラメータのための第1の複数の値、前記複数のハンドアイ較正パラメータのための第2の複数の値、および前記姿勢のために捕捉された前記複数のロボット関節角度に基づいて判定される、請求項1に記載のマシンビジョンシステム。
  5. 前記コスト関数は、前記複数の姿勢の姿勢毎に、合成変換と恒等変換との間の差異を測定し、前記合成変換は、第1の座標空間から第2の座標空間への第1の変換および前記第2の座標空間から前記第1の座標空間への第2の変換の合成であ、前記第1の変換および前記第2の変換は、前記複数のロボット較正パラメータのための第1の複数の値、前記複数のハンドアイ較正パラメータのための第2の複数の値、前記姿勢のための較正標的の複数の観察される特徴、および前記姿勢のために捕捉された前記複数のロボット関節角度に基づいて判定される、請求項1に記載のマシンビジョンシステム。
  6. 前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された前記複数のロボット関節角度のロボット関節角度と前記姿勢のための推定される関節角度との間の差異を測定し、前記推定される関節角度は、前記複数のロボット較正パラメータのための第1の複数の値、前記複数のハンドアイ較正パラメータのための第2の複数の値、および前記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、請求項1に記載のマシンビジョンシステム。
  7. 前記制御システムはさらに、非線形最小二乗法を使用して前記コスト関数を最小限にするように構成される、請求項1に記載のマシンビジョンシステム。
  8. 前記制御システムは、前記複数のハンドアイ較正パラメータの全て未満および前記複数のロボット較正パラメータの全て未満を精緻化するように構成される、請求項1に記載のマシンビジョンシステム。
  9. 前記複数のロボット較正パラメータは、前記ロボットのためのDenavit−Hartenbergパラメータを含む、請求項1に記載のマシンビジョンシステム。
  10. マシンビジョンシステム実装較正方法であって、
    制御システムによって、ロボットを複数の姿勢に移動させ、前記複数の姿勢の姿勢毎に、
    カメラによって、較正標的上の1つ以上の特徴の画像を捕捉することおよび、
    前記制御システムによって、複数のロボット関節角度を捕捉することを実行することと、
    前記制御システムによって、複数のロボット較正パラメータのための複数の初期値を得ることと、
    前記制御システムによって、前記複数のロボット較正パラメータのための複数の初期値と、前記複数の姿勢の姿勢毎に捕捉された前記画像および前記複数のロボット関節角度とに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することであって、前記判定することは、各々が前記ロボットの特徴に関連付けられた複数の座標空間間の前記複数のロボット較正パラメータのための複数の初期値の変換を判定することを含む、ことと、
    前記制御システムによって、前記複数の座標空間間の前記複数のロボット較正パラメータのための複数の初期値の前記変換のうちの少なくとも1つを使用して、前記複数のハンドアイ較正パラメータのうちの1つ以上および前記複数のロボット較正パラメータのうちの1つ以上を精緻化し、コスト関数を最小限にすることによって、前記複数のハンドアイ較正パラメータのための複数の最終値および前記複数のロボット較正パラメータのための複数の最終値を判定することと
    を含む、方法。
  11. 前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された画像内の特徴の観察される場所と前記特徴の予期される場所との間の差異を測定し、前記予期される場所は、前記複数のロボット較正パラメータのための第1の複数の値、前記複数のハンドアイ較正パラメータのための第2の複数の値、および前記姿勢のために捕捉された前記複数のロボット関節角度に基づいて判定される、請求項10に記載の方法。
  12. 前記コスト関数は、前記複数の姿勢の姿勢毎に、合成変換と恒等変換との間の差異を測定し、前記合成変換は、第1の座標空間から第2の座標空間への第1の変換および前記第2の座標空間から前記第1の座標空間への第2の変換の合成であ、前記第1の変換および前記第2の変換は、前記複数のロボット較正パラメータのための第1の複数の値、前記複数のハンドアイ較正パラメータのための第2の複数の値、前記姿勢のための較正標的の複数の観察される特徴、および前記姿勢のために捕捉された前記複数のロボット関節角度に基づいて判定される、請求項10に記載の方法。
  13. 前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された前記複数のロボット関節角度のロボット関節角度と前記姿勢のための推定される関節角度との間の差異を測定し、前記推定される関節角度は、前記複数のロボット較正パラメータのための第1の複数の値、前記複数のハンドアイ較正パラメータのための第2の複数の値、および前記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、請求項10に記載の方法。
  14. 非線形最小二乗法を使用して前記コスト関数を最小限にすることをさらに含む、請求項10に記載の方法。
  15. 前記複数のハンドアイ較正パラメータの全て未満および前記複数のロボット較正パラメータの全て未満を精緻化することをさらに含む、請求項10に記載の方法。
  16. 前記複数のロボット較正パラメータは、前記ロボットのためのDenavit−Hartenbergパラメータを含む、請求項10に記載の方法。
  17. マシンビジョンシステムであって、
    運動ステージと、
    カメラと、
    前記運動ステージおよび前記カメラと通信する制御システムであって、前記制御システムは、
    前記運動ステージを複数の姿勢に移動させ、前記複数の姿勢の姿勢毎に、
    前記カメラを用いて、較正標的上の1つ以上の特徴の画像を捕捉すること、および
    前記運動ステージの複数のアクチュエータのための複数のエンコーダカウントを捕捉することを実行することと、
    複数の運動ステージ較正パラメータのための複数の初期値を得ることと、
    前記複数の運動ステージ較正パラメータのための複数の初期値と、前記複数の姿勢の姿勢毎に捕捉された前記画像および前記複数のエンコーダカウントとに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することであって、前記判定することは、各々が前記運動ステージの特徴に関連付けられた複数の座標空間間の前記複数の運動ステージ較正パラメータのための複数の初期値の変換を判定することを含む、ことと、
    前記複数の座標空間間の前記複数の運動ステージ較正パラメータのための複数の初期値の前記変換のうちの少なくとも1つを使用して、前記複数のハンドアイ較正パラメータのうちの1つ以上および前記複数の運動ステージ較正パラメータのうちの1つ以上を精緻化し、コスト関数を最小限にすることによって、前記複数のハンドアイ較正パラメータのための複数の最終値および前記運動ステージ較正パラメータのための複数の最終値を判定することと
    を行うように構成される、制御システムと
    を備える、マシンビジョンシステム。
  18. 前記制御システムはさらに、
    視覚誘導式運動ステージ用途のために、前記複数のハンドアイ較正パラメータのための複数の最終値および前記運動ステージ較正パラメータのための複数の最終値を使用するように構成される、請求項17に記載のマシンビジョンシステム。
  19. 前記制御システムはさらに、
    前記運動ステージ較正パラメータのための複数の最終値を使用して、前記運動ステージを移動させるように構成される、請求項17に記載のマシンビジョンシステム。
  20. 前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された画像内の特徴の観察される場所と前記特徴の予期される場所との間の差異を測定し、前記予期される場所は、前記複数の運動ステージ較正パラメータのための第1の複数の値、前記複数のハンドアイ較正パラメータのための第2の複数の値、および前記姿勢のために捕捉された前記複数のエンコーダカウントに基づいて判定される、請求項17に記載のマシンビジョンシステム。
  21. 前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された前記複数のエンコーダカウントのエンコーダカウントと前記姿勢のため推定されるエンコーダカウントとの間の差異を測定し、前記推定されるエンコーダカウントは、前記複数の運動ステージ較正パラメータのための第1の複数の値、前記複数のハンドアイ較正パラメータのための第2の複数の値、および前記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、請求項17に記載のマシンビジョンシステム。
  22. 前記制御システムはさらに、非線形最小二乗法を使用して前記コスト関数を最小限にするように構成される、請求項17に記載のマシンビジョンシステム。
  23. 前記制御システムは、前記複数のハンドアイ較正パラメータの全て未満および前記複数の運動ステージ較正パラメータの全て未満を精緻化するように構成される、請求項17に記載のマシンビジョンシステム。
  24. 前記複数の運動ステージ較正パラメータは、ローラ中心位置、ローラ半径、方向、ステップサイズ、ホームエンコーダカウント、およびアクチュエータのための受座の方向のうちの1つ以上を含む、請求項17に記載のマシンビジョンシステム。
  25. マシンビジョンシステム実装較正方法であって、
    制御システムによって、運動ステージを複数の姿勢に移動させ、前記複数の姿勢の姿勢毎に、
    カメラによって、較正標的上の1つ以上の特徴の画像を捕捉すること、および
    前記制御システムによって、前記運動ステージの複数のアクチュエータのための複数のエンコーダカウントを捕捉することを実行することと、
    前記制御システムによって、複数の運動ステージ較正パラメータのための複数の初期値を得ることと、
    前記制御システムによって、前記複数の運動ステージ較正パラメータのための複数の初期値と、前記複数の姿勢の姿勢毎に捕捉された前記画像および前記複数のエンコーダカウントとに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することであって、前記判定することは、各々が前記運動ステージの特徴に関連付けられた複数の座標空間間の前記複数の運動ステージ較正パラメータのための複数の初期値の変換を判定することを含む、ことと、
    前記制御システムによって、前記複数の座標空間間の前記複数の運動ステージ較正パラメータのための複数の初期値の前記変換のうちの少なくとも1つを使用して、前記複数のハンドアイ較正パラメータのうちの1つ以上および前記複数の運動ステージ較正パラメータのうちの1つ以上を精緻化し、コスト関数を最小限にすることによって、前記複数のハンドアイ較正パラメータのための複数の最終値および前記運動ステージ較正パラメータのための複数の最終値を判定することと
    含む、方法。
  26. 前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された画像内の特徴の観察される場所と前記特徴の予期される場所との間の差異を測定し、前記予期される場所は、前記複数の運動ステージ較正パラメータのための第1の複数の値、前記複数のハンドアイ較正パラメータのための第2の複数の値、および前記姿勢のために捕捉された前記複数のエンコーダカウントに基づいて判定される、請求項25に記載の方法。
  27. 前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された前記複数のエンコーダカウントのエンコーダカウントと前記姿勢のため推定されるエンコーダカウントとの間の差異を測定し、前記推定されるエンコーダカウントは、前記複数の運動ステージ較正パラメータのための第1の複数の値、前記複数のハンドアイ較正パラメータのための第2の複数の値、および前記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、請求項25に記載の方法。
  28. 非線形最小二乗法を使用して前記コスト関数を最小限にすることをさらに含む、請求項25に記載の方法。
  29. 前記複数のハンドアイ較正パラメータの全て未満および前記複数の運動ステージ較正パラメータの全て未満を精緻化することをさらに含む、請求項25に記載の方法。
  30. 前記複数の運動ステージ較正パラメータは、ローラ中心位置、ローラ半径、方向、ステップサイズ、ホームエンコーダカウント、およびアクチュエータのための受座の方向のうちの1つ以上を含む、請求項25に記載の方法。
JP2017184395A 2016-09-28 2017-09-26 同時運動学およびハンドアイ較正 Active JP6591507B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/278,156 2016-09-28
US15/278,156 US10076842B2 (en) 2016-09-28 2016-09-28 Simultaneous kinematic and hand-eye calibration

Publications (2)

Publication Number Publication Date
JP2018051758A JP2018051758A (ja) 2018-04-05
JP6591507B2 true JP6591507B2 (ja) 2019-10-16

Family

ID=61564377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017184395A Active JP6591507B2 (ja) 2016-09-28 2017-09-26 同時運動学およびハンドアイ較正

Country Status (5)

Country Link
US (3) US10076842B2 (ja)
JP (1) JP6591507B2 (ja)
KR (1) KR102093165B1 (ja)
CN (1) CN107871328B (ja)
DE (1) DE102017217142B4 (ja)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10076842B2 (en) * 2016-09-28 2018-09-18 Cognex Corporation Simultaneous kinematic and hand-eye calibration
CN110463182B (zh) 2017-03-31 2021-07-13 松下知识产权经营株式会社 摄像系统以及校正方法
EP3606038B1 (en) * 2017-03-31 2021-12-08 Panasonic Intellectual Property Management Co., Ltd. Imaging system and correction method
US20190328465A1 (en) * 2018-04-30 2019-10-31 Aih Llc System and method for real image view and tracking guided positioning for a mobile radiology or medical device
CN108772839B (zh) * 2018-06-25 2021-07-20 中国人民解放军第二军医大学 主从操作与人机一体化系统
CN109079778A (zh) * 2018-08-07 2018-12-25 珠海格力电器股份有限公司 机器人调零系统及方法
CN109249392B (zh) * 2018-08-31 2021-03-23 先临三维科技股份有限公司 工件抓取系统的校准方法、标定件、装置、设备和介质
WO2020047713A1 (en) * 2018-09-03 2020-03-12 Abb Schweiz Ag Method and apparatus for managing robot system
WO2020055903A1 (en) * 2018-09-10 2020-03-19 Fanuc America Corporation Robot calibration for ar and digital twin
TWI696529B (zh) * 2018-11-30 2020-06-21 財團法人金屬工業研究發展中心 自動定位方法以及自動控制裝置
JP7305951B2 (ja) * 2018-12-14 2023-07-11 ニデック株式会社 キャリブレーション装置及びキャリブレーション方法
CN109807937B (zh) * 2018-12-28 2020-10-27 北京信息科技大学 一种基于自然场景的机器人手眼标定方法
US11911914B2 (en) 2019-01-28 2024-02-27 Cognex Corporation System and method for automatic hand-eye calibration of vision system for robot motion
CN111496773B (zh) * 2019-01-30 2023-05-02 北京京东乾石科技有限公司 一种调整机器人机械参数的方法和装置
US11254019B2 (en) * 2019-03-05 2022-02-22 The Boeing Company Automatic calibration for a robot optical sensor
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
US10906184B2 (en) 2019-03-29 2021-02-02 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
CN110238849B (zh) * 2019-06-13 2021-11-12 深圳市汇川技术股份有限公司 机器人手眼标定方法及装置
WO2021012124A1 (zh) * 2019-07-19 2021-01-28 西门子(中国)有限公司 机器人手眼标定方法、装置、计算设备、介质以及产品
CN110480658B (zh) * 2019-08-15 2022-10-25 同济大学 一种融合视觉自标定的六轴机器人控制系统
KR102217282B1 (ko) * 2019-08-22 2021-02-18 (주)인스케이프 Tof 기능을 포함하는 카메라 모듈의 검사 장치
CN110842914B (zh) * 2019-10-15 2022-09-23 上海交通大学 基于差分进化算法的手眼标定参数辨识方法、系统及介质
CN110695770A (zh) * 2019-10-21 2020-01-17 上海维宏电子科技股份有限公司 视觉定位校准的方法及相应的数控加工的方法
KR102220173B1 (ko) * 2019-11-01 2021-02-25 주식회사 뉴로메카 로봇 비전 시스템을 위한 자동 캘리브레이션 방법 및 장치
US20220402141A1 (en) * 2019-11-15 2022-12-22 Cmes Inc. Method and apparatus for calibrating position of robot using 3d scanner
KR102424378B1 (ko) * 2019-11-15 2022-07-22 주식회사 씨메스 3차원 스캐너를 이용한 로봇의 위치 보정 방법 및 장치
CN110930442B (zh) * 2019-11-26 2020-07-31 广东技术师范大学 基于标定块的机器人手眼标定中关键点位置确定方法与装置
CN110842901B (zh) * 2019-11-26 2021-01-15 广东技术师范大学 基于一种新型三维标定块的机器人手眼标定方法与装置
US11919170B2 (en) * 2019-12-13 2024-03-05 Edda Technology, Inc. Fast method for robot path planning with obstacle avoidance
CN113043268A (zh) * 2019-12-27 2021-06-29 沈阳新松机器人自动化股份有限公司 机器人手眼标定方法、装置、终端、系统及存储介质
CN111113490B (zh) * 2019-12-31 2021-11-23 深圳市远弗科技有限公司 一种视觉机器人大规模客制化的自动化校准系统及方法
CN111152223A (zh) * 2020-01-09 2020-05-15 埃夫特智能装备股份有限公司 一种全自动机器人手眼标定方法
CN111482964A (zh) * 2020-04-17 2020-08-04 上海智殷自动化科技有限公司 一种新的机器人手眼标定方法
CN111667539B (zh) * 2020-06-08 2023-08-29 武汉唯理科技有限公司 一种相机标定及平面测量方法
CN111823230B (zh) * 2020-06-19 2022-01-07 山东科技大学 一种基于Scara机器人的非固定式手眼关系标定方法
CN111872922B (zh) * 2020-07-29 2021-09-03 贵州电网有限责任公司 基于3d视觉传感器的三自由度并联机器人手眼标定方法
US20220134566A1 (en) * 2020-11-04 2022-05-05 X Development Llc Optimizing calibration with constraints between different coordinate frames
CN114589682B (zh) * 2020-12-04 2023-08-18 长春理工大学 一种机器人手眼自动标定的迭代方法
CN112692840A (zh) * 2020-12-10 2021-04-23 安徽巨一科技股份有限公司 一种基于机器视觉配合机械手定位引导和标定方法
CN114643577B (zh) * 2020-12-18 2023-07-14 沈阳新松机器人自动化股份有限公司 一种通用型机器人视觉自动标定装置和方法
CN112743546B (zh) * 2020-12-29 2022-03-29 华南理工大学 机器人手眼标定位姿选择方法、装置、机器人系统及介质
KR20220099440A (ko) 2021-01-06 2022-07-13 이지윤 동작 인식 카메라를 이용한 운동 교정 소프트웨어
CN112792814B (zh) * 2021-01-21 2022-06-10 珞石(北京)科技有限公司 基于视觉标志的机械臂零点标定方法
US20220264072A1 (en) * 2021-02-12 2022-08-18 Sony Group Corporation Auto-calibrating n-configuration volumetric camera capture array
US11508089B2 (en) * 2021-03-05 2022-11-22 Black Sesame Technologies Inc. LiDAR assisted wheel encoder to camera calibration
CN113119083B (zh) * 2021-03-19 2022-05-06 深圳市优必选科技股份有限公司 一种机器人标定方法、装置、机器人及存储介质
CN113070879B (zh) * 2021-03-29 2022-03-29 北京锐智金联科技有限公司 可移动设备
CN113172636B (zh) * 2021-06-29 2021-11-02 深圳市越疆科技有限公司 一种自动手眼标定方法、装置及存储介质
CN113313772B (zh) * 2021-07-28 2021-10-15 浙江华睿科技股份有限公司 一种标定方法、装置、电子设备及存储介质
CN113681559B (zh) * 2021-08-24 2023-01-03 宁波光雷睿融智能系统有限公司 一种基于标准圆柱的线激光扫描机器人手眼标定方法
CN113733088B (zh) * 2021-09-07 2024-05-14 河南大学 一种基于双目视觉的机械臂运动学自标定方法
CN113787522B (zh) * 2021-10-12 2022-08-26 华侨大学 消除机械臂累积误差的手眼标定方法
CN114029946A (zh) * 2021-10-14 2022-02-11 五邑大学 一种基于3d光栅引导机器人定位抓取的方法、装置及设备
CN114516048B (zh) * 2022-02-21 2024-01-09 乐聚(深圳)机器人技术有限公司 机器人的零点调试方法、装置、控制器及存储介质
CN114619489A (zh) * 2022-04-01 2022-06-14 西南交通大学 一种基于图像处理的机械臂搬运物体坐标识别与修正系统及方法
CN114589698B (zh) * 2022-04-07 2023-06-06 北京信息科技大学 基于多目标视觉测量和机器学习的机械臂无模型实时标定方法及装置
CN114700989B (zh) * 2022-04-24 2024-08-27 安吉八塔机器人有限公司 一种平面相机自动调平装置及其控制方法
CN115008452B (zh) * 2022-05-12 2023-01-31 兰州大学 一种机械臂控制方法及其系统、电子设备、存储介质
US20240042598A1 (en) * 2022-08-05 2024-02-08 Mingfeng ZHANG Method for Simultaneous Robot Kinematic and Hand-Eye Calibration
US20240144558A1 (en) * 2022-10-27 2024-05-02 Capital One Services, Llc Generating video streams to depict bot performance during an automation run
CN116079697B (zh) * 2022-12-23 2024-05-28 北京纳通医用机器人科技有限公司 一种基于图像的单目视觉伺服方法、装置、设备及介质
CN115861445B (zh) * 2022-12-23 2023-07-04 广东工业大学 一种基于标定板三维点云的手眼标定方法
CN116038720B (zh) * 2023-04-03 2023-08-11 广东工业大学 一种基于点云配准的手眼标定方法、装置及设备
CN118655825A (zh) * 2024-08-21 2024-09-17 四川汇达未来科技有限公司 基于图像数据处理的运动控制视觉校准系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999012082A1 (en) * 1997-09-04 1999-03-11 Dynalog, Inc. Method for calibration of a robot inspection system
US5978080A (en) * 1997-09-25 1999-11-02 Cognex Corporation Machine vision methods using feedback to determine an orientation, pixel width and pixel height of a field of view
KR100468857B1 (ko) * 2002-11-21 2005-01-29 삼성전자주식회사 2차원 형상에 대한 투사 불변형 표현자를 이용한핸드/아이 캘리브레이션 방법
JP3946716B2 (ja) 2004-07-28 2007-07-18 ファナック株式会社 ロボットシステムにおける3次元視覚センサの再校正方法及び装置
CN100524108C (zh) * 2007-11-19 2009-08-05 北京理工大学 一种基于小波神经网络的视觉反馈控制方法
US9393694B2 (en) 2010-05-14 2016-07-19 Cognex Corporation System and method for robust calibration between a machine vision system and a robot
CN102294695A (zh) * 2010-06-25 2011-12-28 鸿富锦精密工业(深圳)有限公司 机器人标定方法及标定系统
JP5371927B2 (ja) * 2010-10-27 2013-12-18 三菱電機株式会社 座標系校正方法及びロボットシステム
RU2455676C2 (ru) * 2011-07-04 2012-07-10 Общество с ограниченной ответственностью "ТРИДИВИ" Способ управления устройством с помощью жестов и 3d-сенсор для его осуществления
JP5991121B2 (ja) 2012-09-28 2016-09-14 株式会社デンソーウェーブ キャリブレーション装置、および撮像装置のキャリブレーション方法
JP6108860B2 (ja) * 2013-02-14 2017-04-05 キヤノン株式会社 ロボットシステム及びロボットシステムの制御方法
US10032273B2 (en) * 2013-03-15 2018-07-24 Cognex Corporation Machine vision system calibration using inaccurate calibration targets
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 キヤノン株式会社 ロボットシステム及びロボットシステムの校正方法
JP6429473B2 (ja) * 2014-03-20 2018-11-28 キヤノン株式会社 ロボットシステム、ロボットシステムの校正方法、プログラム、およびコンピュータ読み取り可能な記録媒体
US9193073B1 (en) 2014-10-15 2015-11-24 Quanta Storage Inc. Robot calibration apparatus for calibrating a robot arm
CN105157725B (zh) * 2015-07-29 2018-06-29 华南理工大学 一种二维激光视觉传感器和机器人的手眼标定方法
US10076842B2 (en) * 2016-09-28 2018-09-18 Cognex Corporation Simultaneous kinematic and hand-eye calibration

Also Published As

Publication number Publication date
KR20180035172A (ko) 2018-04-05
CN107871328A (zh) 2018-04-03
CN107871328B (zh) 2021-08-24
US20190015991A1 (en) 2019-01-17
JP2018051758A (ja) 2018-04-05
KR102093165B1 (ko) 2020-03-25
DE102017217142A1 (de) 2018-03-29
US20180089831A1 (en) 2018-03-29
US20190308326A1 (en) 2019-10-10
US10864639B2 (en) 2020-12-15
US10076842B2 (en) 2018-09-18
DE102017217142B4 (de) 2019-10-02

Similar Documents

Publication Publication Date Title
JP6591507B2 (ja) 同時運動学およびハンドアイ較正
US11077557B2 (en) System and method for robust calibration between a machine vision system and a robot
CN109153125B (zh) 用于定向工业机器人的方法和工业机器人
JP6180086B2 (ja) 情報処理装置及び情報処理方法
CN104889973B (zh) 机械手、机械手系统、控制装置以及控制方法
JP2018169403A (ja) 案内された組立環境におけるマシンビジョン座標空間を結合するためのシステム及び方法
JP2015199155A (ja) 情報処理装置および情報処理方法、プログラム
JP2013036988A (ja) 情報処理装置及び情報処理方法
JP2014014912A (ja) ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
JP2017170571A (ja) ロボット、ロボット制御装置、及びロボットシステム
JP6626338B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2015212644A (ja) 情報処理装置およびその方法、計測装置、並びに、作業装置
JP7427370B2 (ja) 撮像装置、画像処理装置、画像処理方法、撮像装置の校正方法、ロボット装置、ロボット装置を用いた物品の製造方法、制御プログラムおよび記録媒体
Dehghani et al. Vision-based calibration of a Hexa parallel robot
Khan et al. On the calibration of active binocular and RGBD vision systems for dual-arm robots
CN106959704B (zh) 三维形貌测量仪的控制方法及其系统
JP7249221B2 (ja) センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法
CN117576227B (zh) 一种手眼标定方法、设备及存储介质
Liu et al. Real time pose estimation based on extended Kalman filter for binocular camera
JP6766229B2 (ja) 位置姿勢計測装置及び方法
Chen et al. Missile loader manipulator positioning technology based on visual guidance
Liu et al. Development and experiment of CSM-based industrial robot servoing control system
Kucarov et al. Calibration of Robotic Arm for Workstation Installation in Changing Environment-Comparison of Manual, Mechanic, and Automatic Calibration
Dogaru et al. An overview on accuracy and calibration methods for manipulators
CN116079726A (zh) 机器人标定方法、装置和数据采集装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180919

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181220

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190318

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190918

R150 Certificate of patent or registration of utility model

Ref document number: 6591507

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250