KR102093165B1 - 동시적인 운동성 및 핸드-아이 교정 - Google Patents

동시적인 운동성 및 핸드-아이 교정 Download PDF

Info

Publication number
KR102093165B1
KR102093165B1 KR1020170125399A KR20170125399A KR102093165B1 KR 102093165 B1 KR102093165 B1 KR 102093165B1 KR 1020170125399 A KR1020170125399 A KR 1020170125399A KR 20170125399 A KR20170125399 A KR 20170125399A KR 102093165 B1 KR102093165 B1 KR 102093165B1
Authority
KR
South Korea
Prior art keywords
calibration parameters
robot
pose
values
calibration
Prior art date
Application number
KR1020170125399A
Other languages
English (en)
Other versions
KR20180035172A (ko
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 KR20180035172A publication Critical patent/KR20180035172A/ko
Application granted granted Critical
Publication of KR102093165B1 publication Critical patent/KR102093165B1/ko

Links

Images

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)

Abstract

동시적인 운동성 핸드-아이 교정을 위한 머신 비전 시스템들 및 방법들이 설명된다. 머신 비전 시스템은 제어 시스템과 통신하는, 로봇 또는 모션 스테이지 및 카메라를 포함한다. 제어 시스템은, 로봇 또는 모션 스테이지를 포즈들로 움직이게 하고, 각각의 포즈에 대해, 교정 타켓 피쳐들의 이미지 및 로봇 조인트 각도들 또는 모션 스테이지 인코더 카운트들을 캡처하도록 구성된다. 제어 시스템은, 로봇 또는 모션 스테이지 교정 파라미터들에 대한 초기 값들을 획득하고, 그리고 로봇 또는 모션 스테이지 교정 파라미터들에 대한 초기 값들, 이미지, 및 조인트 각도들 또는 인코더 카운트들에 기초하여 핸드-아이 교정 파라미터들에 대한 초기 값들을 결정하도록 구성된다. 제어 시스템은, 비용 함수를 최소화하기 위해, 핸드-아이 교정 파라미터들 및 로봇 또는 모션 스테이지 교정 파라미터들을 정교화함으로써 핸드-아이 교정 파라미터들 및 로봇 또는 모션 스테이지 교정 파라미터들에 대한 최종 값들을 결정하도록 구성된다.

Description

동시적인 운동성 및 핸드-아이 교정{SIMULTANEOUS KINEMATIC AND HAND-EYE CALIBRATION}
[0001] 본 기술은 일반적으로 머신 비전 시스템들에 관한 것으로, 보다 상세하게는, 로봇들/모션 스테이지들 및 핸드-아이(hand-eye) 교정 파라미터들의 연쇄를 동시적으로 미세조정(refine)함으로써 머신 비전 시스템들을 교정하는 것에 관한 것이다.
[0002] 머신 비전 시스템들에서, 이미징된 장면 내의 표면 또는 오브젝트에 대해 비전 시스템 프로세스들을 수행하기 위해 하나 이상의 카메라들이 사용될 수 있다. 이들 프로세스들은 검사, 정렬, 및/또는 다양한 다른 작업들을 포함할 수 있다. 하나 이상의 카메라들에 의해 캡처된 이미지들은, 이미징된 장면 내의 피쳐(feature)들에 관한 정보, 이를테면 피쳐들의 실세계 위치들, 포즈들 등을 결정하기 위해 머신 비전 시스템에 의해 프로세싱될 수 있다. 일부 애플리케이션들에서, 머신 비전 시스템은 로봇, 모션 스테이지, 또는 포즈 및 이동이 머신 비전 시스템(예컨대, VGR(Vision Guided Robot) 애플리케이션들)에 의해 제어되는 다른 디바이스를 포함할 수 있다. 예컨대, 머신 비전 시스템은, 이미징된 장면 내의 오브젝트들을 이동시키거나 그들과 상호작용하기 위해서 로봇 또는 모션 스테이지를 어떻게 이동시켜야 하는지를 결정하기 위해, 하나 이상의 카메라들에 의해 캡처된 이미지들을 분석할 수 있다. 일부 애플리케이션들에서, 머신 비전 시스템은, 머신 비전 시스템이 증가된 정확도 및 신뢰성으로 비전 작업들을 수행하는 것을 허용하도록 교정될 수 있다.
[0003] 본원에서 설명된 기술은 로봇/모션 스테이지의 운동학 모델링 및 머신 비전 시스템의 교정을 개선함으로써 기존 머신 비전 시스템들의 정확도 및 정밀도를 개선할 수 있다.
[0004] 일 양상에서, 머신 비전 시스템이 존재한다. 머신 비전 시스템은 로봇을 포함한다. 머신 비전 시스템은 카메라를 포함한다. 머신 비전 시스템은 로봇 및 카메라와 통신하는 제어 시스템을 포함한다. 제어 시스템은, 로봇을 복수의 포즈들로 이동시키고, 그리고 복수의 포즈들의 각각의 포즈에 대해, 교정 타겟에 대한 하나 이상의 피쳐들의 이미지를 카메라를 이용하여 캡처하고 그리고 복수의 로봇 관절(joint) 각도들을 캡처하도록 구성된다. 제어 시스템은 복수의 로봇 교정 파라미터들에 대한 복수의 초기 값들을 획득하도록 구성된다. 제어 시스템은 복수의 로봇 교정 파라미터들에 대한 복수의 초기 값들 및 복수의 포즈들 각각에 대해 캡처된 이미지 및 복수의 로봇 관절 각도들에 기반하여, 복수의 핸드-아이(hand-eye) 교정 파라미터들에 대한 복수의 초기 값들을 결정하도록 구성된다. 제어 시스템은 비용 함수를 최소화하도록 복수의 핸드-아이 교정 파라미터들 중 하나 이상 및 복수의 로봇 교정 파라미터들 중 하나 이상을 미세조정함으로써 복수의 핸드-아이 교정 파라미터들에 대한 복수의 최종 값들 및 로봇 교정 파라미터들에 대한 복수의 최종 값들을 결정하도록 구성된다.
[0005] 일부 실시예들에서, 제어 시스템은 비전 가이드 로봇 애플리케이션에 대해서 복수의 핸드-아이 교정 파라미터들에 대한 복수의 최종 값들 및 로봇 교정 파라미터들에 대한 복수의 최종 값들을 사용하도록 추가로 구성된다. 일부 실시예들에서, 제어 시스템은 로봇 교정 파라미터들에 대한 복수의 최종 값들을 사용하여 로봇을 이동시키도록 추가로 구성된다.
[0006] 일부 실시예들에서, 비용 함수는, 복수의 포즈들의 각각의 포즈에 대해서, 포즈에 대해 캡처된 이미지 내에서 피쳐의 관측된 위치와 피쳐의 예상되는 위치 간의 차이를 측정하고, 예상되는 위치는 복수의 로봇 교정 파라미터들에 대한 제1 복수의 값들, 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 포즈에 대해 캡처된 복수의 로봇 관절 각도들에 기반하여 결정된다. 일부 실시예들에서, 비용 함수는, 복수의 포즈들의 각각의 포즈에 대해서, 합성 변환과 항등 변환 간의 차이를 측정하고, 합성 변환은 제1 좌표 공간으로부터 제2 좌표 공간으로의 제1 변환과 제2 좌표 공간으로부터 제1 좌표 공간으로의 제2 변환의 합성이고, 제1 변환 및 제2 변환은 복수의 로봇 교정 파라미터들에 대한 제1 복수의 값들, 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 포즈에 대한 교정 타겟의 복수의 관측된 피쳐들, 및 포즈에 대해 캡처된 복수의 로봇 관절 각도들에 기반하여 결정된다. 일부 실시예들에서, 비용 함수는, 복수의 포즈들의 각각의 포즈에 대해서, 포즈에 대해 캡처된 복수의 로봇 관절 각도들 중 로봇 관절 각도와 포즈에 대한 추정된 관절 각도 간의 차이를 측정하고, 추정된 관절 각도는 복수의 로봇 교정 파라미터들에 대한 제1 복수의 값들, 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 포즈에 대한 교정 타겟의 복수의 관측된 피쳐들에 기반하여 결정된다.
[0007] 일부 실시예들에서, 제어 시스템은 비-선형 최소 제곱들을 사용하여 비용 함수를 최소화하도록 추가로 구성된다. 일부 실시예들에서, 제어 시스템은 복수의 핸드-아이 교정 파라미터들의 전부는 아닌 적어도 하나 및 복수의 로봇 교정 파라미터들의 전부는 아닌 적어도 하나를 미세조정하도록 구성된다. 일부 실시예들에서, 복수의 로봇 교정 파라미터들은 로봇에 대한 Denavit-Hartenberg 파라미터들을 포함한다.
[0008] 다른 양상에서, 머신 비전 시스템-구현 교정 방법이 있다. 방법은 제어 시스템에 의해서 로봇을 복수의 포즈들로 이동시키고, 그리고 복수의 포즈들의 각각의 포즈에 대해, 카메라에 의해서 교정 타겟에 대한 하나 이상의 피쳐들의 이미지를 캡처하고 그리고 제어 시스템에 의해서 복수의 로봇 관절 각도들을 캡처하는 단계를 포함한다. 방법은 제어 시스템에 의해서 복수의 로봇 교정 파라미터들에 대한 복수의 초기 값들을 획득하는 단계를 포함한다. 방법은 복수의 로봇 교정 파라미터들에 대한 복수의 초기 값들 및 복수의 포즈들 각각에 대해 캡처된 이미지 및 복수의 로봇 관절 각도들에 기반하여, 제어 시스템에 의해서 복수의 핸드-아이 교정 파라미터들에 대한 복수의 초기 값들을 결정하는 단계를 포함한다. 방법은 비용 함수를 최소화하도록 복수의 핸드-아이 교정 파라미터들 중 하나 이상 및 복수의 로봇 교정 파라미터들 중 하나 이상을 미세조정함으로써 제어 시스템에 의해서 복수의 핸드-아이 교정 파라미터들에 대한 복수의 최종 값들 및 복수의 로봇 교정 파라미터들에 대한 복수의 최종 값들을 결정하는 단계를 포함한다.
[0009] 일부 실시예들에서, 비용 함수는, 복수의 포즈들의 각각의 포즈에 대해서, 포즈에 대해 캡처된 이미지 내에서 피쳐의 관측된 위치와 피쳐의 예상되는 위치 간의 차이를 측정하고, 예상되는 위치는 복수의 로봇 교정 파라미터들에 대한 제1 복수의 값들, 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 포즈에 대해 캡처된 복수의 로봇 관절 각도들에 기반하여 결정된다. 일부 실시예들에서, 비용 함수는, 복수의 포즈들의 각각의 포즈에 대해서, 합성 변환과 항등 변환 간의 차이를 측정하고, 합성 변환은 제1 좌표 공간으로부터 제2 좌표 공간으로의 제1 변환과 제2 좌표 공간으로부터 제1 좌표 공간으로의 제2 변환의 합성이고, 제1 변환 및 제2 변환은 복수의 로봇 교정 파라미터들에 대한 제1 복수의 값들, 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 포즈에 대한 교정 타겟의 복수의 관측된 피쳐들, 및 포즈에 대해 캡처된 복수의 로봇 관절 각도들에 기반하여 결정된다. 일부 실시예들에서, 비용 함수는, 복수의 포즈들의 각각의 포즈에 대해서, 포즈에 대해 캡처된 복수의 로봇 관절 각도들 중 로봇 관절 각도와 포즈에 대한 추정된 관절 각도 간의 차이를 측정하고, 추정된 관절 각도는 복수의 로봇 교정 파라미터들에 대한 제1 복수의 값들, 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 포즈에 대한 교정 타겟의 복수의 관측된 피쳐들에 기반하여 결정된다.
[0010] 일부 실시예들에서, 방법은 비-선형 최소 제곱들을 사용하여 비용 함수를 최소화하는 단계를 포함한다. 일부 실시예들에서, 방법은 복수의 핸드-아이 교정 파라미터들의 전부는 아닌 적어도 하나 및 복수의 로봇 교정 파라미터들의 전부는 아닌 적어도 하나를 미세조정하는 단계를 포함한다. 일부 실시예들에서, 복수의 로봇 교정 파라미터들은 로봇에 대한 Denavit-Hartenberg 파라미터들을 포함한다.
[0011] 또 다른 양상에서, 머신 비전 시스템이 있다. 머신 비전 시스템은 모션 스테이지를 포함한다. 머신 비전 시스템은 카메라를 포함한다. 머신 비전 시스템은 모션 스테이지 및 카메라와 통신하는 제어 시스템을 포함한다. 제어 시스템은 모션 스테이지를 복수의 포즈들로 이동시키고, 그리고 복수의 포즈들의 각각의 포즈에 대해, 교정 타겟에 대한 하나 이상의 피쳐들의 이미지를 카메라를 이용하여 캡처하고 그리고 모션 스테이지의 복수의 실행기들에 대한 복수의 인코더 카운트들을 캡처하도록 구성된다. 제어 시스템은 복수의 모션 스테이지 교정 파라미터들에 대한 복수의 초기 값들을 획득하도록 구성된다. 제어 시스템은 복수의 모션 스테이지 교정 파라미터들에 대한 복수의 초기 값들 및 복수의 포즈들 각각에 대해 캡처된 이미지 및 복수의 인코더 카운트들에 기반하여, 복수의 핸드-아이 교정 파라미터들에 대한 복수의 초기 값들을 결정하도록 구성된다. 제어 시스템은 비용 함수를 최소화하도록 복수의 핸드-아이 교정 파라미터들 중 하나 이상 및 복수의 모션 스테이지 교정 파라미터들 중 하나 이상을 미세조정함으로써 복수의 핸드-아이 교정 파라미터들에 대한 복수의 최종 값들 및 모션 스테이지 교정 파라미터들에 대한 복수의 최종 값들을 결정하도록 구성된다.
[0012] 일부 실시예들에서, 제어 시스템은 비전 가이드 모션 스테이지 애플리케이션에 대해서 복수의 핸드-아이 교정 파라미터들에 대한 복수의 최종 값들 및 모션 스테이지 교정 파라미터들에 대한 복수의 최종 값들을 사용하도록 추가로 구성된다. 일부 실시예들에서, 제어 시스템은 모션 스테이지 교정 파라미터들에 대한 복수의 최종 값들을 사용하여 모션 스테이지를 이동시키도록 추가로 구성된다.
[0013] 일부 실시예들에서, 비용 함수는, 복수의 포즈들의 각각의 포즈에 대해서, 포즈에 대해 캡처된 이미지 내에서 피쳐의 관측된 위치와 피쳐의 예상되는 위치 간의 차이를 측정하고, 예상되는 위치는 복수의 모션 스테이지 교정 파라미터들에 대한 제1 복수의 값들, 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 포즈에 대해 캡처된 복수의 인코더 카운트들에 기반하여 결정된다. 일부 실시예들에서, 비용 함수는, 복수의 포즈들의 각각의 포즈에 대해서, 포즈에 대해 캡처된 복수의 인코더 카운트들 중 인코더 카운트와 포즈에 대한 추정된 인코더 카운트 간의 차이를 측정하고, 추정된 인코더 카운트는 복수의 모션 스테이지 교정 파라미터들에 대한 제1 복수의 값들, 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 포즈에 대한 교정 타겟의 복수의 관측된 피쳐들에 기반하여 결정된다.
[0014] 일부 실시예들에서, 제어 시스템은 비-선형 최소 제곱들을 사용하여 비용 함수를 최소화하도록 추가로 구성된다. 일부 실시예들에서, 제어 시스템은 복수의 핸드-아이 교정 파라미터들의 전부는 아닌 적어도 하나 및 복수의 모션 스테이지 교정 파라미터들의 전부는 아닌 적어도 하나를 미세조정하도록 구성된다. 일부 실시예들에서, 복수의 모션 스테이지 교정 파라미터들은 롤러 중심 포지션, 롤러 반경, 방향, 단계 사이즈, 홈 인코더 카운트, 및 실행기에 대한 스트라이커 플레이트의 방향 중 하나 이상을 포함한다.
[0015] 다른 양상에서, 머신 비전 시스템-구현 교정 방법이 존재한다. 방법은 제어 시스템에 의해서 모션 스테이지를 복수의 포즈들로 이동시키고, 그리고 복수의 포즈들의 각각의 포즈에 대해, 카메라에 의해서 교정 타겟에 대한 하나 이상의 피쳐들의 이미지를 캡처하고; 그리고 제어 시스템에 의해서 모션 스테이지의 복수의 실행기들에 대한 복수의 인코더 카운트들을 캡처하는 단계를 포함한다. 방법은 제어 시스템에 의해서 복수의 모션 스테이지 교정 파라미터들에 대한 복수의 초기 값들을 획득하는 단계를 포함한다. 방법은 복수의 모션 스테이지 교정 파라미터들에 대한 복수의 초기 값들 및 복수의 포즈들 각각에 대해 캡처된 이미지 및 복수의 인코더 카운트들에 기반하여, 제어 시스템에 의해서 복수의 핸드-아이 교정 파라미터들에 대한 복수의 초기 값들을 결정하는 단계를 포함한다. 방법은 비용 함수를 최소화하도록 복수의 핸드-아이 교정 파라미터들 중 하나 이상 및 복수의 모션 스테이지 교정 파라미터들 중 하나 이상을 미세조정함으로써 제어 시스템에 의해서 복수의 핸드-아이 교정 파라미터들에 대한 복수의 최종 값들 및 모션 스테이지 교정 파라미터들에 대한 복수의 최종 값들을 결정하는 단계를 포함한다.
[0016] 일부 실시예들에서, 비용 함수는, 복수의 포즈들의 각각의 포즈에 대해서, 포즈에 대해 캡처된 이미지 내에서 피쳐의 관측된 위치와 피쳐의 예상되는 위치 간의 차이를 측정하고, 예상되는 위치는 복수의 모션 스테이지 교정 파라미터들에 대한 제1 복수의 값들, 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 포즈에 대해 캡처된 복수의 인코더 카운트들에 기반하여 결정된다. 일부 실시예들에서, 비용 함수는, 복수의 포즈들의 각각의 포즈에 대해서, 포즈에 대해 캡처된 복수의 인코더 카운트들 중 인코더 카운트와 포즈에 대한 추정된 인코더 카운트 간의 차이를 측정하고, 추정된 인코더 카운트는 복수의 모션 스테이지 교정 파라미터들에 대한 제1 복수의 값들, 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 포즈에 대한 교정 타겟의 복수의 관측된 피쳐들에 기반하여 결정된다.
[0017] 일부 실시예들에서, 방법은 비-선형 최소 제곱들을 사용하여 비용 함수를 최소화하는 단계를 포함한다. 일부 실시예들에서, 방법은 복수의 핸드-아이 교정 파라미터들의 전부는 아닌 적어도 하나 및 복수의 모션 스테이지 교정 파라미터들의 전부는 아닌 적어도 하나를 미세조정하는 단계를 포함한다. 일부 실시예들에서, 복수의 모션 스테이지 교정 파라미터들은 롤러 중심 포지션, 롤러 반경, 방향, 단계 사이즈, 홈 인코더 카운트, 및 실행기에 대한 스트라이커 플레이트의 방향 중 하나 이상을 포함한다.
[0018] 본 기술의 다른 양상들 및 장점들은 단지 예로써 본 기술의 원리들을 예시하는 첨부 도면들과 함께 취하여 다음의 상세한 설명으로부터 자명하게 될 것이다.
[0019] 본 기술의 전술한 및 다른 목적들, 특징들, 및 장점들 뿐만 아니라 본 기술 그 자체는, 첨부 도면들과 함께 읽는 경우에, 다양한 실시예들의 다음의 설명으로부터 더 완전히 이해될 것이다.
도 1은 예시적인 머신 비전 시스템을 예시한다.
도 2는 예시적인 머신 비전 시스템을 예시한다.
도 3은 본 기술에 따른 교정 방식을 도시한다.
도 4는 본 기술에 따른 머신 비전 시스템을 교정하는 방법의 흐름도를 도시한다.
도 5는 본 기술에 따른 교정 방식을 도시한다.
[0020] VGR 애플리케이션들에 대한 머신 비전 시스템들을 정확히 교정하는 것은 중요할 수 있다. 그러한 머신 비전 시스템들(예컨대, 로봇, 모션 스테이지, 또는 다른 디바이스를 갖는 머신 비전 시스템들)을 교정하기 위한 기존 접근법들은 다수의 애플리케이션들에 대해 필요한 정확도를 갖지 않는 머신 비전 시스템들을 초래할 수 있다. 예컨대, 다수의 경우들에서, 로봇 또는 모션 스테이지 제조자들에 의해 제공되는 운동학적 교정 파라미터 값들(예컨대, 로봇 교정 파라미터 값들 또는 모션 스테이지 교정 파라미터 값들)에 기반하여 머신 비전 시스템을 교정하는 것은 머신 비전 시스템의 부적절한 정확도로 이어질 수 있다. 본 기술은 운동학적 교정 파라미터들 및 핸드-아이 교정 파라미터들을 미세조정하기 위해 효율적인 교정 기법들을 사용함으로써 VGR 애플리케이션들에 대한 머신 비전 시스템들의 정확도 및 정밀도를 개선할 수 있다. 본 기술은 머신 비전 시스템에 의해 결정되는 측정들에 기반하여 단일 미세조정 계산에서 핸드-아이 교정 파라미터들 및 운동학적 교정 파라미터들을 포함하는 더 정확한 교정 파라미터 값들을 결정하기 위해 사용될 수 있다. 유리하게, 본 기술은, 예컨대, 부가적인 교정 타겟들, 부가적인 카메라들, 또는 외부 측정 장비를 요구하지 않는 개선된 교정을 통해 머신 비전 시스템들의 정확도를 증가시킬 수 있다.
Ⅰ. 머신 비전 시스템들
[0021] 도 1은 예시적인 머신 비전 시스템(100)을 예시한다. 머신 비전 시스템(100)은 예컨대 VGR 애플리케이션들에 사용될 수 있다. 머신 비전 시스템(100)은 카메라(110)가 위에 장착된 로봇(105), 및 제어 시스템(115)을 포함한다. 도 1은 이동 카메라 구성(예컨대, 카메라(110)가 로봇(105)의 팔 상에 장착됨)을 예시한다. 여전히 도 1을 참조하면, 피쳐들(123)을 가지는 교정 타켓(120)이 도시된다. 카메라(110)는 2-차원 CCD 카메라 센서, 2-차원 CMOS 카메라 센서 또는 이미지들을 생성하기 위한 임의의 다른 타입의 카메라 센서를 포함하는 영역-스캔 카메라일 수 있다. 제어 시스템(115)은 임의의 프로세싱 디바이스(예컨대, 내장된 머신 비전 프로세서, 컴퓨팅 디바이스 등)일 수 있다.
[0022] 제어 시스템(115)은 로봇(105) 및 카메라(110)와 통신한다. 제어 시스템(115)은 카메라(110)로부터 이미지 데이터를 수신하고 로봇(105)의 포즈를 제어할 수 있다. 일부 실시예들에서, 제어 시스템(115)은 독립형 컴퓨팅 디바이스의 부분일 수 있다. 일부 실시예들에서, 제어 시스템(115)은 로봇(105)의 부분일 수 있다. 일부 실시예들에서, 제어 시스템(115)은 카메라(110)의 부분일 수 있다. 동작 시, 제어 시스템(115)은 예컨대, 카메라(110)로부터의 이미지 데이터의 분석에 기반하여 로봇(105)의 포즈를 조종할 수 있다. 간략성을 위해, 제어 시스템(115)은 단일 컴포넌트로서 예시된다. 일부 실시예들에서, 제어 시스템은 협력하여 작동하는 모션 제어기(예컨대, 로봇 제어기) 및 머신 비전 프로세서를 포함할 수 있다. 일부 실시예들에서, 모션 제어기는 머신 비전 시스템 마스터일 수 있다. 예컨대, 모션 제어기는 머신 비전 프로세서와 통신하고 머신 비전 프로세서의 액션들을 지시할 수 있다. 모션 제어기는 로봇의 포즈와 이동을 제어하고 머신 비전 프로세서로 하여금 이미지들을 획득하게 할 수 있다. 모션 제어기는 포즈 정보를 머신 비전 프로세서에 제공하고 머신 비전 프로세서로 하여금 본원에 설명된 교정을 수행하게 할 수 있다. 일부 실시예들에서, 머신 비전 프로세서는 머신 비전 시스템 마스터일 수 있다. 예컨대, 머신 비전 프로세서는 모션 제어기와 통신하고 모션 제어기의 액션들을 지시할 수 있다. 머신 비전 프로세서는 모션 제어기로 하여금 로봇의 포즈와 이동을 제어하게 하고, 그리고 포즈 정보를 머신 비전 프로세서에 제공할 수 있다. 머신 비전 프로세서는 이미지들을 획득하고 본원에 설명된 교정을 수행할 수 있다. 일부 실시예들에서, 모션 제어기 및 머신 비전 제어기는 통합될 수 있다. 예컨대, 제어 시스템의 하나 이상의 프로세서 코어들은 로봇 모션을 제어할 수 있고 제어 시스템의 하나 이상의 프로세서 코어들은 머신 비전 프로세싱, 이를테면 교정을 수행할 수 있다.
[0023] 기술에 따라, 머신 비전 시스템(100)은 교정될 수 있다. 아래에 더 상세히 설명될 바와 같이, 시스템(100)은 카메라(110)의 이미지 좌표 공간, 로봇(105)의 좌표 공간들, 및 교정 타겟(120)의 좌표 공간 간의 좌표들의 변환을 허가하도록 교정될 수 있다. 교정을 사용하여, 제어 시스템(115)은 교정 타겟(120)의 좌표 공간 또는 로봇 베이스 좌표 공간의 정확한 위치들에 로봇 핸드(160)를 지향시킬 수 있다. 제어 시스템(115)은 로봇(105) 관절들의 각도들에 관한 교정 및 정보를 사용함으로써 카메라(110)로부터의 이미지 데이터에서 관측된 오브젝트들의 위치를 추가로 결정할 수 있다. 유리하게, 교정은 머신 비전 시스템이 로봇 핸드(160)의 모션을 제어하고 (예컨대, 교정 타겟(120)의 좌표 공간에서) 이를 실세계 오브젝트들과 상호작용하고 및/또는 조종하는데 사용하도록 허용한다.
[0024] 도 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)이 도시된다.
[0025] 제어 시스템(215)은 모션 스테이지(205) 및 카메라(210)와 통신한다. 제어 시스템은 카메라(210)로부터 이미지 데이터를 수신하고 모션 스테이지(205)의 포즈를 제어할 수 있다. 일부 실시예들에서, 제어 시스템(215)은 독립형 컴퓨팅 디바이스의 부분일 수 있다. 일부 실시예들에서, 제어 시스템(215)은 모션 스테이지(205)의 부분일 수 있다. 일부 실시예들에서, 제어 시스템(215)은 카메라(210)의 부분일 수 있다. 동작 시, 제어 시스템(215)은 예컨대, 카메라(210)로부터의 이미지 데이터의 분석에 기반하여 모션 스테이지(205)의 포즈를 변화시킬 수 있다. 간략성을 위해, 제어 시스템(215)은 단일 컴포넌트로서 예시된다. 일부 실시예들에서, 제어 시스템은 협력하여 작동하는 모션 제어기(예컨대, 모션 스테이지 제어기) 및 머신 비전 프로세서를 포함할 수 있다. 일부 실시예들에서, 모션 제어기는 머신 비전 시스템 마스터일 수 있다. 예컨대, 모션 제어기는 머신 비전 프로세서와 통신하고 머신 비전 프로세서의 액션들을 지시할 수 있다. 모션 제어기는 모션 스테이지의 포즈와 이동을 제어하고 머신 비전 프로세서로 하여금 이미지들을 획득하게 할 수 있다. 모션 제어기는 포즈 정보를 머신 비전 프로세서에 제공하고 머신 비전 프로세서로 하여금 본원에 설명된 교정을 수행하게 할 수 있다. 일부 실시예들에서, 머신 비전 프로세서는 머신 비전 시스템 마스터일 수 있다. 예컨대, 머신 비전 프로세서는 모션 제어기와 통신하고 모션 제어기의 액션들을 지시할 수 있다. 머신 비전 프로세서는 모션 제어기로 하여금 모션 스테이지의 포즈와 이동을 제어하게 하고, 그리고 포즈 정보를 머신 비전 프로세서에 제공할 수 있다. 머신 비전 프로세서는 이미지들을 획득하고 본원에 설명된 교정을 수행할 수 있다. 일부 실시예들에서, 모션 제어기 및 머신 비전 제어기는 통합될 수 있다. 예컨대, 제어 시스템의 하나 이상의 프로세서 코어들은 모션 스테이지 모션을 제어할 수 있고 제어 시스템의 하나 이상의 프로세서 코어들은 머신 비전 프로세싱, 이를테면 교정을 수행할 수 있다.
[0026] 이 기술에 따라, 머신 비전 시스템(200)이 교정될 수 있다. 아래에서 더 상세히 설명되는 바와 같이, 시스템(200)은 카메라(210)의 이미지 좌표 공간, 모션 스테이지(205)의 좌표 공간 및 교정 타겟(220)의 좌표 공간 간의 좌표들의 변환을 허가하도록 교정될 수 있다. 교정을 사용하여, 제어 시스템(215)은 모션 스테이지(205)를 교정 타겟(220)의 좌표 공간에서의 또는 모션 스테이지(205)의 좌표 공간에서의 정확한 포즈들로 병진운동 및/또는 회전시킬 수 있다. 제어 시스템(215)은 추가로, 모션 스테이지(105)의 실행기들에 관한 정보 및 교정을 사용함으로써 카메라(210)로부터의 이미지 데이터에서 관측된 오브젝트의 위치를 결정할 수 있다. 유리하게는, 교정은 머신 비전 시스템(200)이 모션 스테이지(205)의 모션을 제어하고 이를 사용하여 그 표면 상에서(예컨대, 교정 타겟(220)의 좌표 공간에서) 실세계 오브젝트들을 이동시킬 수 있게 한다.
[0027] 예시된 실시예들은 단지 예시적인 머신 비전 시스템 구성들일 뿐이라는 것이 인지되어야 한다. 일부 실시예들에서, 머신 비전 시스템은 다른 종류들의 로봇들, 다른 종류들의 모션 스테이지들, 또는 머신 비전 시스템에 의해 그 이동이 제어될 수 있는 다른 디바이스들을 포함할 수 있다. 일부 실시예들에서, 카메라는 로봇 또는 모션 스테이지, 또는 로봇 또는 모션 스테이지와 독립적 인 고정물(예컨대, 정지 카메라 시나리오들 및/또는 이동 카메라 시나리오들)에 장착될 수 있다. 일부 실시예들에서, 하나보다 많은 카메라들이 사용될 수 있다. 일부 실시예들에서, 로봇 또는 모션 스테이지는 다수의 작업 공간들과 상호 작용할 수 있다.
II. 교정
[0028] 이 기술은 교정 파라미터 값들을 미세조정하기 위한 효과적인 기법을 제공함으로써 머신 비전 시스템들의 개선된 정확도를 가능하게 할 수 있다. 일반적으로, 교정 파라미터들은 해당 분야에 잘 알려진 바와 같이, 핸드-아이 교정 파라미터들을 포함할 수 있다. 로봇들을 구비한 머신 비전 시스템들의 경우, 교정 파라미터들은 로봇 교정 파라미터들을 포함할 수 있다. 모션 스테이지들을 구비한 머신 비전 시스템들의 경우, 교정 파라미터들은 모션 스테이지 교정 파라미터들을 포함할 수 있다. 로봇 교정 파라미터들 및/또는 모션 스테이지 교정 파라미터들은 운동학적 교정 파라미터들로 지칭될 수 있다. 로봇들의 경우, 로봇 교정 파라미터들은 예컨대, 로봇들의 링크들 및 관절들을 기술하기 위해 사용되는 Denavit-Hartenberg 파라미터들(D-H 파라미터들)을 포함할 수 있다. 다른 예로서, UVW 모션 스테이지들은 예컨대, X 방향으로 이동하는 2개의 실행기들 및 Y 방향으로 이동하는 하나의 실행기를 포함할 수 있는 모션 스테이지들이다. UVW 모션 스테이지들의 경우, 모션 스테이지 교정 파라미터들은 각각의 실행기에 대해, 롤러의 중심 포지션, 롤러의 반경, 실행기의 방향, 실행기의 단계 사이즈, 실행기의 홈 인코더 카운트 및 스트라이커 플레이트의 방향을 포함할 수 있다. 또 다른 예로서, XY 세타 모션 스테이지들은 예컨대, X 축을 따라 선형 병진운동을 위한 실행기, Y 축을 따라 선형 병진운동을 위한 실행기, 및 회전을 제공하는 세타 실행기를 포함할 수 있는 모션 스테이지들이다. XY 세타 모션 스테이지들의 경우, 모션 스테이지 교정 파라미터들은 X 및 Y 실행기들 각각에 대한 방향 및 단계 사이즈, 그리고 롤러의 중심 포지션 및 반경, 실행기의 방향 및 단계 사이즈, 세타 실행기의 스트라이커 플레이트의 방향을 포함할 수 있다. 보다 일반적으로, 이 기술은 기하학적으로 모델링될 수 있는 모션 디바이스들의 교정에 사용될 수 있다. 예컨대, 이 기술은 기하학적 구조가 교정 파라미터 값들로 표현될 수 있는 모션 디바이스들의 교정에 사용될 수 있다.
A. 로봇들을 갖는 머신 비전 시스템들에 대한 교정
[0029] 이 기술은 로봇들의 규격들 및 다른 조건들로부터의 로봇들의 변화에 의해 야기된 부정확도들을 최소화함으로써 교정 파라미터 값들을 미세조정할 수 있다. 이 기술의 예시적인 실시예에서, 로봇(예컨대, 로봇(105))은 복수의 포즈들로 이동되고, 각각의 포즈에 대해 머신 비전 시스템은 해당 포즈에서 교정 타겟(예컨대, 교정 타겟(120))의 이미지를(예컨대, 카메라(110)를 통해) 그리고 로봇의 관절 각도들을 캡처한다. 초기 교정 파라미터 값들이 결정될 수 있다. 예컨대, 초기 로봇 교정 파라미터 값들은 로봇의 규격으로부터 얻어질 수 있다. 초기 핸드-아이 교정 파라미터 값들은 캡처된 이미지들 및 초기 로봇 교정 파라미터 값들을 사용하여 결정될 수 있다. 초기 핸드-아이 교정 파라미터 값들을 결정하기 위한 교정 기능성은 이를테면, Cognex Corporation에 의해 생산된 Cognex Vision Library®에서 상업적으로 입수가능하다. 하나 이상의 로봇 교정 파라미터 값들 및 하나 이상의 핸드-아이 교정 파라미터들을 포함하는 하나 이상의 초기 교정 파라미터 값들은 이어서, 최종 교정 파라미터 값들을 결정하도록 미세조정될 수 있다. 예컨대, 비선형 최적화 방법을 사용함으로써, 로봇 교정 파라미터들과 관절 각도들을 사용하여 결정될 수 있는 로봇 모션과 머신 비전 시스템에 의해 관측된 모션 간의 전체 차이를 최소화한다. 그런 다음, 최종 교정 파라미터 값들이 머신 비전 시스템에 의해 실행 시간 동안 로봇을 작동시키는 데 사용될 수 있다. 예컨대, 로봇을 보다 정확하게 제어하기 위해 최종 로봇 교정 파라미터 값들이 사용될 수 있다. 최종 핸드-아이 교정 파라미터 값들은 실행 시간에 머신 비전 시스템의 성능을 더 개선할 수 있다.
[0030] 도 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)을 포함한다. 오벌들간의 화살표들은 예시된 좌표 공간들간의 변환들을 나타낸다. 변환들을 위해 사용되는 교정 파라미터 값들은, 아래에서 예시적인 교정 방법들에 대해 설명된 바와 같이 결정 및 미세조정될 수 있다.
[0031] 예시된 예에서, 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-차원 공간들임이 인지되어야 한다.
[0032] 좌표 공간들간의 변환들은 강체 변환들(예컨대, 병진운동 컴포넌트 및 회전 컴포넌트를 포함함) 및/또는 로봇(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 및 alpha이다. Joint6 좌표 공간(340)으로부터 Hand3D 좌표 공간(345)으로의 변환은 로봇(105)의 Joint6의 각도 값에 기반한 가변적인 회전 변환을 따른 강체 변환일 수 있다. CalPlate3D 좌표 공간(305)으로부터 Camera3D 좌표 공간(352)으로의 변환 및 Camera3D 좌표 공간(352)으로부터 Raw2D 좌표 공간(355)으로의 변환은 해당 분야에 잘 알려진 바와 같이 종래의 카메라 교정에 기반할 수 있다. 본원에서 사용되는 바와 같이, 표기 CoordinateSpace1fromCoordinateSpace2CoordinateSpace2로부터 CoordinateSpace1로의 변환을 표시한다. 예컨대, Joint1FromJoint2는 Joint2 좌표 공간(320)으로부터 Joint1 좌표 공간(315)으로의 변환을 표기한다.
[0033] 본 기술은 위에서 설명된 변환들을 형성하기 위해 사용되는 교정 파라미터 값들을 미세조정하기 위해 사용될 수 있다.
1. 교정 데이터 캡처
[0034] 도 4는 본 기술에 따른 머신 비전 시스템을 교정하는 방법의 흐름도(400)를 도시한다. 도시된 방법은 제어 시스템(115)에 의해 수행될 수 있다. 단계(405)에서, 제어 시스템(115)은, 로봇(105)이 복수의 포즈들에 있는 경우 이미지들 및 로봇 관절 각도들을 캡처한다. 각각의 포즈에서, 제어 시스템(115)은 카메라(110)로 하여금, 피쳐들(122) 중 하나 이상을 포함하는 교정 타겟(120)의 적어도 일부의 이미지를 캡처하게 한다. 제어 시스템(115)은 포즈에서 로봇(105)의 각각의 관절의 각도를 추가로 캡처한다. 예컨대, 로봇(105)은 각각의 관절의 각도를 제어 시스템(115)에 보고할 수 있다.
2. 초기 교정 파라미터 값들의 결정
[0035] 단계(410)에서, 제어 시스템(115)은 초기 교정 파라미터 값들을 결정한다. 초기 교정 파라미터 값들은 미세조정 이전에 도 3을 참조하여 논의된 변환들을 결정하는데 사용되는 값들일 수 있다. 아래에 더 상세히 설명될 바와 같이, 이러한 교정 파라미터들의 값들은 현재 기술에 따라 미세조정될 수 있다. 도 3의 예시된 예에서, 제어 시스템(115)은 로봇(105)의 규격에 기반하여 로봇(105)에 대한 초기 로봇 교정 파라미터 값들을 획득할 수 있다. 예컨대, 로봇 제조자는 통상적으로 이러한 값들을 제공할 것이다. 이러한 초기 교정 값들 및 특정 포즈의 로봇(105)에 대한 관절 각도들을 사용하여, 제어 시스템(115)은 그 포즈의 로봇(105)에 대한 다음의 변환:
Figure 112019087490765-pat00001
,
Figure 112019087490765-pat00002
,
Figure 112019087490765-pat00003
,
Figure 112019087490765-pat00004
,
Figure 112019087490765-pat00005
,
Figure 112019087490765-pat00006
, 및
Figure 112019087490765-pat00007
결정할 수 있다. 예컨대,
Figure 112019087490765-pat00008
,
Figure 112019087490765-pat00009
,
Figure 112019087490765-pat00010
,
Figure 112019087490765-pat00011
,
Figure 112019087490765-pat00012
은 로봇 규격에 의해 제공된 D-H 값들 및 그 포즈의 로봇(105)의 관절 각도 값들에 기반한 Denavit-Hartenberg 행렬을 사용하여 결정될 수 있다.
Figure 112019087490765-pat00013
은 로봇 규격(예컨대, 로봇(105)의 디멘션들)에 기반하여 결정될 수 있다.
Figure 112019087490765-pat00014
는 로봇(105)의
Figure 112019087490765-pat00015
(160)의 로봇 규격 및
Figure 112019087490765-pat00016
의 관절 각도 값에 기반하여 결정될 수 있다.
Figure 112019087490765-pat00017
는 J6(340)(예컨대, 관절 6 좌표계)의 로봇 핸드(160)의 강체 변환을 제공할 수 있다. 제어 시스템(115)은 이러한 변환들에 기반하여 로봇(105)의 특정 포즈에 대한 합성 변환
Figure 112019087490765-pat00018
를 형성할 수 있다. 예컨대, 아래의 수학식은
Figure 112019087490765-pat00019
를 제공한다.
Figure 112017118083441-pat00020
[0036] 제어 시스템(115)은 초기 핸드-아이 교정 파라미터 값들을 결정하기 위해 핸드-아이 교정을 수행할 수 있다. 예컨대, 제어 시스템은 캡처된 이미지들 및
Figure 112017118083441-pat00021
변환과 함께, 복수의 포즈들에 대한
Figure 112017118083441-pat00022
변환에 기반하여 초기 핸드-아이 교정 파라미터 값들을 결정하기 위해 코그넥스 비전 라이브러리(Cognex Vision Library)를 사용할 수 있다. 핸드-아이 교정의 결과로서, 제어 시스템(115)은
Figure 112017118083441-pat00023
Figure 112017118083441-pat00024
를 결정할 수 있다. 사전에 결정된 변환들과 함께,
Figure 112017118083441-pat00025
Figure 112017118083441-pat00026
의 결정을 통해, 도 3의 임의의 좌표 공간의 좌표들은 도 3의 임의의 다른 좌표 공간의 좌표들로 변환될 수 있다.
3. 교정 파라미터들의 미세조정
[0037] 단계(415)에서, 제어 시스템(115)은 이러한 교정 파라미터들에 대한 더 정확한 값들을 결정하기 위해 복수의 교정 파라미터들을 미세조정한다. 교정 파라미터들을 미세조정하기 위해, 제어 시스템(115)은 비용 함수를 최소화하는 교정 파라미터 값들을 결정한다. 비용 함수를 최소화하고 최종 교정 파라미터 값들을 결정하기 위한 기법들은 비-선형 최소 제곱들을 포함할 수 있다. 당업자는 다른 기법들이 사용될 수 있다는 것을 인지할 것이다.
[0038] 기술의 실시예들은 다양한 비용 함수들을 사용할 수 있다. 일부 실시예들에서, 비용 함수는 피쳐들(예컨대, 교정 타겟(120)에 대한 피쳐들)의 관측된 위치들과 논의된 변환들에 기반한 이러한 피쳐들의 예상되는 위치들 간의 거리들의 합일 수 있다. 일반적으로, 이는, 머신 비전 시스템이 제1 좌표 공간에서 피쳐의 위치를 관측하는 것(예컨대, 카메라(110)를 통해 관측하는 것) 및 교정 파라미터들에 기반하여 피쳐들의 예상되는 위치를 계산하기 위해 그 피쳐를 복수의 다른 좌표 공간들을 통해 제1 좌표 공간으로 맵핑하기 위한 일련의 변환들을 적용하는 것을 수반할 수 있다. 교정 파라미터들이 완전히 정확하면, 관측된 위치 및 예상되는 위치가 동일할 것이다. 실제로, 통상적으로 관측된 위치와 예상되는 위치 간에 약간의 차이들이 존재한다. 일부 실시예들에서, 비용 함수는 다수의 피쳐들, 다수의 포즈들 및 다수의 이미지들에 대한 이러한 차이들을 측정한다. 예컨대, 제어 시스템(115)은 각각의 로봇 포즈(
Figure 112017118083441-pat00027
)에 대해 Raw2D 좌표 공간(355)에서 복수의 관측된 교정 타겟 피쳐들의 위치를 결정할 수 있다. 제어 시스템(115)은 또한 각각의 로봇 포즈에 대해 Raw2D 좌표 공간(355)에서 복수의 맵핑된 교정 타겟 피쳐들의 위치를 결정할 수 있다.
Figure 112017118083441-pat00028
여기서,
Figure 112017118083441-pat00029
Figure 112019087490765-pat00030
는 포즈(i)의 관절 각도 값들 및 초기 교정 파라미터 값들(또는 연속하여 미세조정된 교정 파라미터 값들)을 사용하여 포즈(i)에서 추정된 로봇 포즈이다.
이어서, 제어 시스템(115)은 관측된 피쳐 위치와 맵핑된 피쳐 위치 간의 거리를 컴퓨팅할 수 있다. 비용 함수는 다음과 같이 정의될 수 있다.
Figure 112017118083441-pat00031
일부 실시예들에서, 비용 함수는, 변환들을 사용한 맵핑 후에 교정 플레이트 피쳐들의 위치의 변화들을 측정한다. 예컨대, 제어 시스템(115)은
Figure 112017118083441-pat00032
좌표 공간(305)에서 복수의 피쳐들의 위치를 결정할 수 있다. 제어 시스템(115)은 또한 변환
Figure 112017118083441-pat00033
를 통해 복수의 포즈들의 각각의 로봇 포즈(i)의 복수의 피쳐들에 대한 각각의 피쳐 위치를 맵핑할 수 있고, 여기서,
Figure 112017118083441-pat00034
여기서
Figure 112019087490765-pat00035
는 포즈(i)의 관절 각도 값들 및 초기 교정 파라미터 값들(또는 연속하여 미세조정된 교정 파라미터 값들)을 사용하여 포즈(i)에서 추정된 로봇 포즈이다.
Figure 112017118083441-pat00036
는 Raw2D에서 관측된 피쳐들 및 카메라 교정 정보를 사용함으로써 획득된다.
이어서, 제어 시스템(115)은 피쳐 위치와 맵핑된 피쳐 위치 간의 거리를 컴퓨팅할 수 있다. 비용 함수는 다음과 같이 정의될 수 있다.
Figure 112017118083441-pat00037
[0039] 일부 실시예들에서, 비용 함수는 피쳐 포인트들을 맵핑하지 않고 정의 될 수 있다. 교정그런 다음 파라미터들이 완전히 정확하면,
Figure 112017118083441-pat00038
는 항등 변환일 것이다. 따라서, 비용 함수는
Figure 112017118083441-pat00039
와 항등 변환 간의 차이를 측정할 수 있다. 일부 실시예들에서, 비용 함수는 다음과 같이 정의될 수 있다.
Figure 112017118083441-pat00040
여기서,
Figure 112017118083441-pat00041
는 변환
Figure 112017118083441-pat00042
의 병진운동 컴포넌트의 길이이고;
Figure 112017118083441-pat00043
는 변환
Figure 112017118083441-pat00044
의 회전량이고(예컨대, 회전은 회전 축을 중심으로 한 회전량으로서 표현될 수 있음); 그리고
w는 병진운동 및 회전 컴포넌트들을 밸런싱하기 위한 가중치(예컨대, 스케일 팩터)이다.
[0040] 일부 실시예들에서, Hand3D 좌표 공간(345)의 원점은 비용 함수에 대한 기반으로서 사용될 수 있다. 변환
Figure 112017118083441-pat00045
는 다음과 같이 정의될 수 있다:
Figure 112017118083441-pat00046
여기서,
Figure 112017118083441-pat00047
는 포즈 i에서 카메라에 의해 관측되는
Figure 112017118083441-pat00048
의 역이다(
Figure 112017118083441-pat00049
는 Raw2D에서 관측된 피쳐들 및 카메라 교정 정보를 이용함으로써 획득됨).
Figure 112017118083441-pat00050
는 로봇(105)의 로봇 교정 파라미터들에 기반한 포즈와 카메라(110)로부터의 이미지들에 기반한 추정된 포즈 간의 차이를 표시한다. 교정 파라미터들은 완전히 정확한 경우,
Figure 112017118083441-pat00051
는 항등 변환일 것이다. 비용 함수는 다음과 같이 정의될 수 있다:
Figure 112017118083441-pat00052
[0041] 일부 실시예에서, 비용 함수는 (예컨대, 로봇(105)에 의해 측정된 바와 같이) 로봇(105)의 관절들에 대해 리포트된 관절 각도들과 로봇(105)의 대응하는 관절들의 추정된 관절 각도 간의 차를 측정할 수 있다. 비용 함수는 캡처된 이미지들 및 교정 파라미터 값들에 기반하여 로봇(105)의 관절들에 대한 관절 각도들을 추정할 수 있다.
변환
Figure 112017118083441-pat00053
는 다음과 같이 정의될 수 있다:
Figure 112017118083441-pat00054
[0042] 역 운동학적 수학식들은
Figure 112019087490765-pat00055
에 대응하는 관절 각도들을 컴퓨팅하는데 사용될 수 있다. 비용 함수는 다음과 같이 정의될 수 있다:
Figure 112017118083441-pat00056
또는
Figure 112017118083441-pat00057
유리하게, 비용 함수는 병진운동 및 회전 컴포넌트들을 밸런싱하기 위한 w를 포함할 필요가 없다.
4. 향상된 미세조정
[0043] 머신 비전 시스템(100)에 대해 예시된 예에서, 미세조정될 수 있는 교정 파라미터들은 32개의 로봇 교정 파라미터들 : 로봇(105)의 관절들에 대한 20개의 D-H 파라미터들,
Figure 112019087490765-pat00058
에 대한 6개의 로봇 교정 파라미터들, 및
Figure 112019087490765-pat00059
에 대한 6개의 로봇 교정 파라미터들을 포함한다. 교정 파라미터들은 또한
Figure 112019087490765-pat00060
에 대한 6개의 파라미터들과
Figure 112019087490765-pat00061
에 대한 6개의 파라미터들을 포함하여, 교정 파라미터들의 총 수는 44개의 파라미터들이 된다.
[0044] 교정 파라미터들에 리던던시가 존재할 수 있어서, 교정 파라미터들 모두를 미세조정할 필요가 없다. 일부 실시예들에서,
Figure 112019087490765-pat00062
는 미세조정되는 교정 파라미터들의 수를 감소시키기 위해
Figure 112019087490765-pat00063
와 조합될 수 있다. 일부 실시예들에서,
Figure 112019087490765-pat00064
Figure 112019087490765-pat00065
와 조합될 수 있다. 변환들을 조합하는 것은 미세조정을 위한 교정 파라미터들을 32개(예컨대,
Figure 112019087490765-pat00066
에서 6개,
Figure 112019087490765-pat00067
에서 6개,
Figure 112019087490765-pat00068
,...,
Figure 112019087490765-pat00069
에서 20개)까지 감소시킬 수 있다. 일부 실시예들에서,
Figure 112019087490765-pat00070
로부터의 D-H 파라미터 θ 오프셋 및 d 오프셋은
Figure 112019087490765-pat00071
에 조합될 수 있어, 미세조정을 위한 파라미터들의 수를 30개로 감소시킨다. 일부 실시예들에서, 선택 교정 파라미터들만이 미세조정된다. 예컨대, 세타 각도(예컨대, 관절 원점들)의 오프셋들이 미세조정될 수 있다. 유리하게도, 미세조정을 위한 교정 파라미터들의 수를 감소시킴으로써, 미세조정 프로세스의 스피드 및 정확도가 개선될 수 있다. 일부 실시예들에서, 미세조정은 교정 파라미터들의 그룹들에서 수행될 수 있다. 예컨대,
Figure 112019087490765-pat00072
Figure 112019087490765-pat00073
에 대한 교정 파라미터 값들은, 20개의 로봇 교정 파라미터들을 미세조정하는 동안 고정될 수 있다. 그런 다음, 20개의 로봇 교정 파라미터들이 고정될 수 있고
Figure 112019087490765-pat00074
Figure 112019087490765-pat00075
에 대한 교정 파라미터들이 미세조정될 수 있다.
[0045] 머신 비전 시스템(100)은 본 기술을 실시하기 위한 예시적인 머신 비전 시스템이라는 것을 인식해야 한다. 다른 구성들이 고려된다. 일부 실시예들에서, 제어 시스템에 의해 수행되는 것으로 설명된 단계들은 머신 비전 프로세서와 협력하여 모션 제어기, 머신 비전 프로세서, 및/또는 모션 제어기에 의해 수행될 수 있다. 예컨대, 모션 제어기는 일련의 포즈들을 통해 로봇에 지시하고 머신 비전 프로세서로 하여금 각각의 포즈에서 교정 타겟의 이미지들을 획득하게 할 수 있다. 모션 제어기는 각각의 포즈에서 로봇 관절 각도들에 대한 정보를 머신 비전 프로세서에 제공할 수 있다. 모션 제어기는 머신 비전 프로세서로 하여금 설명된 교정 및 미세조정을 수행하게 할 수 있다. 다른 예로서, 머신 비전 프로세서는 모션 제어기로 하여금 일련의 포즈들을 통해 로봇에 지시하게 하고 각각에 포즈에서 로봇 관절 각도들에 대한 정보를 머신 비전 프로세서 제공하게 할 수 있다. 머신 비전 프로세서는 각각의 포즈에서 교정 타겟의 이미지들을 획득할 수 있다. 머신 비전 프로세서는 설명된 교정 및 미세조정을 수행할 수 있다. 보다 일반적으로, 제어 시스템은 본원의 기술을 구현하기 위해 협력하여 작동하는 모션 제어기, 머신 비전 프로세서, 또는 이들의 임의의 조합을 포함할 수 있다.
[0046] 일부 실시예들에서, 하나보다 많은 카메라가 사용될 수 있다. 그러한 머신 비전 시스템들에서, 비용 함수는 각각의 카메라에 대한 비용 함수들의 조합일 수 있다. 일부 실시예들에서, 가상 3D 카메라가 생성될 수 있다. 가상 3D 카메라를 사용함으로써, 단일 카메라-기반 비용 함수가 사용될 수 있다. 유리하게, 가상 3D 카메라를 사용함으로써, 미세조정을 위한 교정 파라미터들의 수는 더 작을 수 있고, 카메라들의 공간 관계는 미세조정 동안 일정하게 유지될 수 있다.
[0047] 일부 실시예들에서, 다수의 작업 공간들이 사용될 수 있다(예컨대, 로봇은 하나보다 많은 작업 공간의 오브젝트들 내에서 이동하고 그들과 상호작용할 수 있음). 카메라가 로봇을 이용하여 이동하는 구현들에서, 이어서, 교정은 교정 타겟을 각각의 작업 공간에 배치하는 것 및 각각의 작업 공간에 대한 교정 데이터(예컨대, 복수의 로봇 포즈들에 대한 이미지들 및 관절 각도들)를 수집하는 것을 포함할 수 있다. 각각의 부가적인 작업 공간은 미세조정하기 위한 6개의 부가적인 교정 파라미터들을 초래할 수 있다. 일부 실시예들에서, 비용 함수는 각각의 작업 공간에 대한 비용 함수들의 조합일 수 있다. 일부 실시예들에서, 하나 이상의 정지 카메라들이 사용될 수 있다. 하나 이상의 카메라들이 정지형이고 교정 타겟이 로봇 상에 장착되면, 위에서 정의된 비용 함수들은 수학식들에서 Camera3D와 CalPlate3D를 교환함으로써 사용될 수 있다. 일부 실시예들에서, 로봇 모션이 2-차원으로만 이동하는 머신 비전 시스템에 대한 교정 파라미터들을 미세조정하기 위한 기술이 사용될 수 있다. 비용 함수들이 2D 정보만을 사용하도록 변화될 수 있다는 것이 인지되어야 한다. 그러한 경우들에서, 로봇 모션들의 제한으로 인해, 미세조정을 위한 로봇 교정 파라미터들의 수는 견고한 미세조정을 위해 감소될 수 있다.
B. 모션 스테이지들을 이용한 머신 비전 시스템들에 대한 교정
[0048] 기술이 위에서 설명된 접근법들과 유사한 접근법들을 사용함으로써 모션 스테이지들을 포함하는 머신 비전 시스템들에 대한 교정 파라미터들을 미세조정할 수 있다는 것이 인지되어야 한다. 기술은, 단일 미세조정 계산에서 핸드-아이 교정 파라미터들 및 모션 스테이지 교정 파라미터들을 미세조정할 수 있다.
[0049] 도 5는 기술에 따른 교정 방식(500)을 도시한다. 일부 실시예들에서, 교정 방식은 고정 카메라 구성들에 대해 사용될 수 있다. 예컨대, 교정 방식(500)은 도 2의 머신 비전 시스템(200)에 대해 사용될 수 있다. 도 5에서, 타원형들은 좌표 공간들을 나타낸다. 도 5는, Home2D 좌표 공간(510), Stage2D 좌표 공간(515), CalPlate2D 좌표 공간(520), Camera2D 좌표 공간(525), 및 Raw2D 좌표 공간(530)을 포함한다. 타원형들 간의 화살표들은 예시된 좌표 공간들 간의 변환을 나타낸다. 변환들을 위해 사용되는 교정 파라미터 값들은, 아래의 예시적인 교정 방법들에 대해 설명되는 바와 같이 결정 및 미세조정될 수 있다.
[0050] 예시된 예에서, Home2D 좌표 공간(510)은, 다른 좌표 공간들 및 그들의 관계들이 설명되는 좌표 공간일 수 있다. Home2D 좌표 공간(510)은 정규직교하며, 모션 스테이지(205)의 X 축 및 모션 스테이지(205)의 회전 중심에 의해 정의된다. 예컨대, 모션 스테이지(205)가 홈 포지션에 있는 경우, Home2D 좌표 공간(510)의 원점은 그의 회전 중심에 있을 수 있다. 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)의 픽셀 공간 좌표계일 수 있다.
[0051] 좌표 공간들 간의 변환은 강체 변환들(예컨대, 병진운동 컴포넌트 및 회전 컴포넌트를 포함함) 및/또는 엄격한 플러스 손잡이 변환들(예컨대, 강체 변환 플러스 손잡이 컴포넌트를 포함함) 및/또는 모션 스테이지(205)의 운동학적 교정 파라미터들에 기반한 변환들일 수 있다. 예컨대, Camera2D 좌표 공간(525)과 Home2D 좌표 공간(510) 간의 그리고 Stage2D 좌표 공간(515)과 CalPlate2D 좌표 공간(520) 간의 변환들은 강체 변환들일 수 있다. CalPlate2D 좌표 공간(520)과 Camera2D 좌표 공간(525) 간의 변환들은 2D 강체 변환일 수 있다. Home2D 좌표 공간(510)과 Stage2D 좌표 공간(515) 간의 변환들은, 예컨대, 실행기들의 인코더 카운트들에 기반할 수 있다. Camera2D 좌표 공간(525)으로부터 Raw2D 좌표 공간(530)으로의 변환은 해당 분야에 잘 알려진 바와 같이, 종래의 카메라 교정에 기반할 수 있다.
1. 교정 데이터 캡처
[0052] 도 4를 다시 참조하면, 묘사된 방법은 머신 비전 시스템(200)의 제어 시스템(215)에 의해 수행될 수 있다. 단계(405)에서, 제어 시스템은, 모션 스테이지(205)가 복수의 포즈들에 있을 때, 이미지들 및 실행기 인코더 카운트들을 캡처한다. 각각의 포즈에서, 제어 시스템(215)은 카메라로 하여금, 하나 이상의 피쳐들을 포함하는 교정 타겟(220)의 적어도 일부의 이미지를 캡처하게 한다. 제어 시스템(215)은 각각의 포즈에서 모션 스테이지(2015)의 각각의 실행기에 대한 인코더 카운트를 추가로 캡처한다.
2. 초기 교정 파라미터 값들의 결정
[0053] 단계(410)에서, 제어 시스템(215)은 초기 교정 파라미터 값들을 결정한다. 초기 교정 파라미터 값들은, 미세조정 이전에 도 5를 참조하여 논의되는 변환들을 결정하기 위해 사용되는 값들일 수 있다. 이들 교정 파라미터들의 값들은 현재 기술에 따라 미세조정될 수 있다. 도 4의 예시된 예에서, 제어 시스템(215)은, 모션 스테이지(205)의 규격에 기반하여, 모션 스테이지(205)에 대한 초기 모션 스테이지 교정 파라미터 값들을 획득할 수 있다. 예컨대, 모션 스테이지 제조자가 통상적으로 이들 값들을 제공할 것이다. 이들 초기 교정 값들, 그리고 특정 포즈에서의 인코더 카운트들을 사용하여, 제어 시스템(215)은 변환
Figure 112019087490765-pat00076
를 결정할 수 있다.
[0054] 제어 시스템(215)은 초기 핸드-아이 교정 파라미터 값들을 결정하기 위해 핸드-아이 교정을 수행할 수 있다. 예컨대, 제어 시스템(215)은, 복수의 포즈들에 대한 캡처된 이미지들 및
Figure 112017118083441-pat00077
변환에 기반하여, 초기 핸드-아이 교정 파라미터 값들을 결정하기 위해, Cognex 비전 라이브러리를 사용할 수 있다. 핸드-아이 교정의 결과로서, 제어 시스템(215)은
Figure 112017118083441-pat00078
,
Figure 112017118083441-pat00079
, 및
Figure 112017118083441-pat00080
를 결정할 수 있다.
3. 교정 파라미터들의 미세조정
[0055] 단계(415)에서, 제어 시스템(215)은 그러한 교정 파라미터들에 대한 더 정확한 값들을 결정하기 위해 복수의 교정 파라미터들을 미세조정한다. 교정 파라미터들을 미세조정하기 위해, 제어 시스템(215)은 비용 함수를 최소화하는 교정 파라미터들을 결정한다. 일반적으로, 비용 함수들은, 모션 스테이지(205) 모션들(예컨대, 모션 스테이지로부터 판독되는 실제 인코더 카운트들로부터 결정됨)과 관측되는 카메라 또는 교정 타겟 모션들(예컨대, 카메라에 의해 캡처되는 이미지들에 기반함)을 비교하는 것에 기반할 수 있다. 기술의 실시예들은 다양한 비용 함수들을 사용할 수 있다.
[0056] 일부 실시예들에서, 비용 함수는, 관측되는 인코더 카운트(예컨대, 모션 스테이지로부터 판독됨)와, 초기 교정 파라미터 값들(또는 연속적으로 미세조정되는 교정 파라미터 값들)을 사용하여 계산되는 예상/추정된 인코더 카운트 간의 차이들을 측정할 수 있다. 예컨대, 각각의 모션 스테이지 포즈들(
Figure 112019087490765-pat00081
)에 대해, (예컨대,
Figure 112019087490765-pat00082
좌표 공간(510)에서의) 추정된 모션 스테이지 포즈(
Figure 112019087490765-pat00083
)가 컴퓨팅될 수 있다. 포즈(
Figure 112019087490765-pat00084
)는 다음과 같이 컴퓨팅될 수 있다:
Figure 112017118083441-pat00085
여기서, 이미지 피쳐들 및 카메라 교정 정보로부터
Figure 112017118083441-pat00086
가 컴퓨팅된다.
[0057] 포즈(
Figure 112019087490765-pat00087
)에 대한 추정된 인코더 카운트들은, 포즈(
Figure 112019087490765-pat00088
) 및 초기 교정 파라미터 값들(또는 연속적으로 미세조정되는 교정 파라미터 값들)에 기반하여, 컴퓨팅될 수 있다.
[0058] 비용 함수는, (다수의 카메라 머신 비전 시스템들에서) 모든 각각의 실행기에 대한, 모든 각각의 포즈에 대한, 그리고 모든 각각의 카메라에 대한 인코더 카운트 차이들의 제곱들의 합일 수 있다. 비용 함수는 다음과 같이 정의될 수 있다:
Figure 112017118083441-pat00089
[0059] 일부 실시예들에서, 비용 함수는,
Figure 112017118083441-pat00090
에서 피쳐들의 관측되는 위치와
Figure 112017118083441-pat00091
에서 피쳐들의 예상되는(맵핑되는) 위치 간의 차이들을 측정할 수 있다. 변환
Figure 112017118083441-pat00092
는 다음과 같이 정의될 수 있다:
Figure 112017118083441-pat00093
여기서,
Figure 112017118083441-pat00094
Figure 112019087490765-pat00095
는, 포즈(
Figure 112019087490765-pat00096
)에서 모션 스테이지(205)로부터 판독되는 인코더 카운트들, 및 초기 교정 파라미터 값들(또는 연속적으로 미세조정되는 교정 파라미터 값들)에 기반하여 컴퓨팅될 수 있다. 이어서, 제어 시스템(115)은 관측되는 피쳐 위치와 맵핑되는 피쳐 위치 간의 거리를 컴퓨팅할 수 있다. 비용 함수는 다음과 같이 정의될 수 있다:
Figure 112017118083441-pat00097
[0060] 일부 실시예들에서, 비용 함수는
Figure 112019087490765-pat00098
에서의 피쳐들의 위치와 교정 타겟(220) 상의 피쳐들의 맵핑된 위치 간의 차이들을 측정할 수 있다. 예컨대,
Figure 112019087490765-pat00099
는 포즈 i에서 모션 스테이지(205)로부터 판독된 인코더 카운트들 및 초기 교정 파라미터 값들(또는 연속적으로 미세조정된 교정 파라미터 값들)에 기반하여 컴퓨팅될 수 있다. 변환
Figure 112019087490765-pat00100
는 다음과 같이 컴퓨팅될 수 있다:
Figure 112017118083441-pat00101
여기서,
Figure 112019087490765-pat00102
는 포즈 i에서 모션 스테이지(205)로부터 판독된 인코더 카운트들 및 초기 교정 파라미터 값들(또는 연속적으로 미세조정된 교정 파라미터 값들)에 기반하여 컴퓨팅될 수 있다.
Figure 112017118083441-pat00103
Figure 112017118083441-pat00104
및 카메라 교정 정보에서 관측된 피쳐들을 사용함으로써 획득된다.
[0061] 변환
Figure 112017118083441-pat00105
는 포즈 i에서 교정 타겟 피쳐들을 맵핑하기 위해 사용될 수 있다. 그런 다음, 비용 함수는 다음과 같이 정의된다:
Figure 112017118083441-pat00106
[0062] UVW 모션 스테이지들에 대해, 모션 스테이지 교정 파라미터들은, 각각의 실행기에 대해, 실행기의 롤러의 중심 포지션, 롤러의 반경, 실행기의 방향, 실행기의 단계 사이즈, 실행기의 홈 인코더 카운트, 및 실행기의 스트라이커 플레이트의 방향을 포함할 수 있다. 일부 실시예들에서, UVW 모션 스테이지의 모션 스테이지 교정 파라미터들의 서브세트가 미세조정될 수 있다. 예컨대, 일부 실시예들에서, 롤러의 반경은 미세조정되지 않는다. 일부 실시예들에서, 홈 인코더 카운트가 미세조정되지 않는다. 위에서 주목된 바와 같이, 미세조정 효율성은 미세조정되는 교정 파라미터들의 수를 감소시킴으로써 증가될 수 있다. XY 세타 모션 스테이지들에 대해, 모션 스테이지 교정 파라미터들은, X 및 Y 실행기들 각각에 대해, 실행기의 방향 및 실행기의 단계 사이즈를 포함할 수 있다. 세타 실행기에 대해, 모션 스테이지 교정 파라미터들은 실행기의 롤러의 중심 포지션, 롤러의 반경, 및 실행기의 스트라이커 플레이트의 방향을 포함할 수 있다. 일부 실시예들에서, XY 세타 모션 스테이지의 모션 스테이지 교정 파라미터들의 서브세트가 미세조정될 수 있다. 예컨대, 일부 실시예들에서, 롤러의 반경은 미세조정되지 않는다.
[0063] 머신 비전 시스템(200)이 기술을 실시하기 위한 예시적인 머신 비전 시스템이라는 것이 인지되어야 한다. 다른 구성들이 고려된다. 일부 실시예들에서, 제어 시스템에 의해 수행되는 것으로 설명된 단계들은, 모션 제어기, 머신 비전 프로세서, 및/또는 머신 비전 프로세서와 협력하는 모션 제어기에 의해 수행될 수 있다. 예컨대, 모션 제어기는 일련의 포즈들을 통해 모션 스테이지를 지시하고, 머신 비전 프로세서로 하여금 각각의 포즈에서 교정 타겟의 이미지들을 포착하게 할 수 있다. 모션 제어기는 각각의 포즈에서 모션 스테이지에 대한 정보를 머신 비전 프로세서에 제공할 수 있다. 모션 제어기는, 머신 비전 프로세서로 하여금, 설명된 교정 및 미세조정을 수행하게 할 수 있다. 다른 예로서, 머신 비전 프로세서는, 모션 제어기로 하여금, 일련의 포즈들을 통해 모션 스테이지를 지시하게 하고, 각각의 포즈에서 모션 스테이지에 대한 정보를 머신 비전 프로세서에 제공할 수 있다. 머신 비전 프로세서는 각각의 포즈에서 교정 타겟의 이미지들을 포착할 수 있다. 머신 비전 프로세서는 설명된 교정 및 미세조정을 수행할 수 있다. 더 일반적으로, 제어 시스템은 모션 제어기, 머신 비전 프로세서, 또는 본원에서의 기술을 구현하기 위해 협력하여 작업하는 이들의 임의의 조합을 포함할 수 있다.
[0064] 일부 실시예들에서, 하나 이상의 정지 카메라들은 위에서 설명된 바와 같이 사용될 수 있다. 하나 이상의 카메라들이 움직이는 카메라들이면, 즉, 카메라들이 모션 스테이지에 견고하게 부착되고, 교정 타겟이 정지 상태이면, 위에서 정의된 비용 함수들은 수학식들에서
Figure 112019087490765-pat00107
Figure 112019087490765-pat00108
를 교환함으로써 사용될 수 있다.
[0065] 위에서 설명된 기법들은 디지털 및/또는 아날로그 전자 회로로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 이들의 조합들로 구현될 수 있다. 구현은, 컴퓨터 프로그램 제품, 즉, 데이터 프로세싱 장치, 예컨대, 프로그램가능 프로세서, 컴퓨터 및/또는 다수의 컴퓨터들에 의한 실행을 위해, 또는 이들의 동작을 제어하기 위해, 머신-판독가능 저장 디바이스로 유형적으로 구현되는 컴퓨터 프로그램으로서 이루어질 수 있다. 컴퓨터 프로그램은 소스 코드, 컴파일링된 코드, 인터프리팅된 코드 및/또는 머신 코드를 포함하는 임의의 형태의 컴퓨터 또는 프로그래밍 언어로 기록될 수 있고, 컴퓨터 프로그램은 독립형 프로그램, 또는 서브루틴, 엘리먼트 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛을 포함하는 임의의 형태를 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나 이상의 사이트들에서 하나의 컴퓨터 상에서 또는 다수의 컴퓨터들 상에서 실행되도록 전개될 수 있다.
[0066] 방법 단계들은, 입력 데이터 상에서 동작하고 그리고/또는 출력 데이터를 생성함으로써 기술의 기능들을 수행하기 위해 컴퓨터 프로그램을 실행하는 하나 이상의 프로세서들에 의해 수행될 수 있다. 방법 단계들은 또한, 특수 목적 로직 회로, 예컨대, FPGA(field programmable gate array), FPAA(field-programmable analog array), CPLD(complex programmable logic device), PSoC(Programmable System-on-Chip), ASIP(application-specific instruction-set processor), 또는 ASIC(application-specific integrated circuit) 등에 의해 수행될 수 있고, 그리고 장치는 이들로서 구현될 수 있다. 서브루틴들은, 저장된 컴퓨터 프로그램 및/또는 프로세서, 및/또는 하나 이상의 기능들을 구현하는 특수 회로의 일부분들을 지칭할 수 있다.
[0067] 컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 모두, 및 임의의 종류의 디지털 또는 아날로그 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독-전용 메모리(read-only memory) 또는 랜덤 액세스 메모리(random access memory) 또는 둘 모두로부터 명령들 및 데이터를 수신한다. 컴퓨터의 필수 엘리먼트들은, 명령들을 실행하기 위한 프로세서 및 명령들 및/또는 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 메모리 디바이스들, 이를테면, 캐시는 데이터를 일시적으로 저장하는데 사용될 수 있다. 메모리 디바이스들은 또한 장기(long-term) 데이터 저장소에 사용될 수 있다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들, 예컨대, 자기, 광자기 디스크들, 또는 광학 디스크들을 포함하거나 또는 이들로부터 데이터를 수신하거나 또는 이들에 데이터를 전달하거나, 이 둘 모두를 위해 동작가능하게 커플링된다. 컴퓨터는 또한, 네트워크로부터 명령들 및/또는 데이터를 수신하고 그리고/또는 명령들 및/또는 데이터를 네트워크에 전달하기 위해서 통신 네트워크에 동작가능하게 커플링될 수 있다. 컴퓨터 프로그램 명령들 및 데이터를 구현하기에 적절한 컴퓨터-판독가능 저장 매체들은, 예로서, 반도체 메모리 디바이스들, 예컨대, DRAM, SRAM, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 예컨대, 내부 하드 디스크들 또는 제거가능 디스크들; 광자기 디스크들; 및 광학 디스크들, 예컨대, CD, DVD, HD-DVD, 및 블루-레이 디스크들을 포함하는 휘발성 및 비-휘발성 메모리의 모든 형태들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보충될 수 있고 그리고/또는 이에 통합될 수 있다.
[0068] 위에서 설명된 기법들은 백-엔드 컴포넌트를 포함하는 분산된 컴퓨팅 시스템에서 구현될 수 있다. 백-엔드 컴포넌트는, 예컨대, 데이터 서버, 미들웨어 컴포넌트, 및/또는 애플리케이션 서버일 수 있다. 위에서 설명된 기법들은 프런트-엔드 컴포넌트를 포함하는 분산된 컴퓨팅 시스템에서 구현될 수 있다. 프런트-엔드 컴포넌트는, 예컨대, 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터, 사용자가 예시적인 구현과 상호작용할 수 있게 하는 웹 브라우저, 및/또는 송신 디바이스에 대한 그래픽 사용자 인터페이스들일 수 있다. 위에서 설명된 기법들은, 이러한 백-엔드, 미들웨어, 또는 프런트-엔드 컴포넌트들의 임의의 조합을 포함하는 분산된 컴퓨팅 시스템으로 구현될 수 있다.
[0069] 컴퓨팅 시스템의 컴포넌트들은, 디지털 또는 아날로그 데이터 통신의 임의의 형태 또는 매체(예컨대, 통신 네트워크)를 포함할 수 있는 송신 매체에 의해 상호연결될 수 있다. 송신 매체는 하나 이상의 패킷-기반 네트워크들 및/또는 하나 이상의 회로-기반 네트워크들을 임의의 구성에 포함시킬 수 있다. 패킷-기반 네트워크들은, 예컨대, 인터넷, 캐리어 IP(internet protocol) 네트워크(예컨대, LAN(local area network), WAN(wide area network), CAN(campus area network), MAN(metropolitan area network), HAN(home area network)), 사설 IP 네트워크, IPBX(IP private branch exchange), 무선 네트워크(예컨대, RAN(radio access network), 블루투스, Wi-Fi, WiMAX, GPRS(general packet radio service) 네트워크, HiperLAN), 및/또는 다른 패킷-기반 네트워크들을 포함할 수 있다. 회로-기반 네트워크들은, 예컨대, PSTN(public switched telephone network), PBX(legacy private branch exchange), 무선 네트워크(예컨대, RAN, CDMA(code-division multiple access) 네트워크, TDMA(time division multiple access) 네트워크, GSM(global system for mobile communications) 네트워크), 및/또는 다른 회로-기반 네트워크들을 포함할 수 있다.
[0070] 송신 매체를 통한 정보 전달은, 하나 이상의 통신 프로토콜들에 기반할 수 있다. 통신 프로토콜들은, 예컨대, 이더넷 프로토콜, IP(Internet Protocol), P2P(Peer-to-Peer) 프로토콜, HTTP(Hypertext Transfer Protocol), SIP(Session Initiation Protocol), GSM(Global System for Mobile Communications) 프로토콜, UMTS(Universal Mobile Telecommunications System), 3GPP LTE(Long Term Evolution) 및/또는 다른 통신 프로토콜들을 포함할 수 있다.
[0071] 포함하다(comprise), 구비하다(include), 및/또는 각각의 복수의 형태들은 제한적이지 않으며, 리스트된 부분들을 포함하고, 리스트되지 않은 부가적인 부분들도 포함할 수 있다. 및/또는(and/or)은 제한적이지 않으며, 리스트된 부분들 중 하나 이상 및 리스트된 부분들의 조합들을 포함한다.
[0072] 당업자는, 기술이 그 사상 또는 필수 특성들로부터 벗어나지 않고 다른 특정 형태들로 구현될 수 있다는 것을 인식할 것이다. 따라서, 전술한 실시예들은 모든 점에서 본원에서 설명된 기술의 제한적인 것이 아닌 예시적인 것으로서 간주된다.
[0073] 기술은 특정 실시예들의 측면에서 설명되었다. 본원에서 설명된 대안책들은 단지 예시를 위한 예들이며 임의의 방식으로 대안책들을 제한하는 것은 아니다. 기술의 단계들은, 상이한 순서로 수행될 수 있고 바람직한 결과들을 여전히 달성할 수 있다. 다른 실시예들은 이하의 청구항들의 범위 내에 있다.

Claims (30)

  1. 머신 비전 시스템(machine vision system)으로서,
    로봇;
    카메라; 및
    상기 로봇 및 상기 카메라와 통신하는 제어 시스템을 포함하고,
    상기 제어 시스템은:
    상기 로봇을 복수의 포즈들로 이동시키고, 그리고 상기 복수의 포즈들의 각각의 포즈에 대해, 교정 타겟에 대한 하나 이상의 피쳐(feature)들의 이미지를 상기 카메라를 이용하여 캡처하고 그리고 복수의 로봇 관절(joint) 각도들을 캡처하고;
    복수의 로봇 교정 파라미터들에 대한 복수의 초기 값들을 획득하고;
    상기 복수의 로봇 교정 파라미터들에 대한 상기 복수의 초기 값들 및 상기 복수의 포즈들 각각에 대해 캡처된 상기 이미지 및 상기 복수의 로봇 관절 각도들에 기반하여, 복수의 핸드-아이(hand-eye) 교정 파라미터들에 대한 복수의 초기 값들을 결정하며 ― 상기 결정하는 것은 복수의 좌표 공간들 사이에서의 상기 복수의 로봇 교정 파라미터들에 대한 복수의 초기 값들의 변환들을 결정하는 것을 포함하고, 각각의 좌표 공간은 로봇의 각각의 특징과 연관됨 ―; 그리고
    상기 복수의 좌표 공간들 사이에서의 상기 복수의 로봇 교정 파라미터들에 대한 복수의 초기 값들의 변환들 중 적어도 하나를 이용하여, 비용 함수를 최소화하도록 상기 복수의 핸드-아이 교정 파라미터들 중 하나 이상 및 상기 복수의 로봇 교정 파라미터들 중 하나 이상을 미세조정(refine)함으로써 상기 복수의 핸드-아이 교정 파라미터들에 대한 복수의 최종 값들 및 상기 로봇 교정 파라미터들에 대한 복수의 최종 값들을 결정하도록 구성되는, 머신 비전 시스템.
  2. 제1항에 있어서,
    상기 제어 시스템은 비전 가이드 로봇 애플리케이션에 대해서 상기 복수의 핸드-아이 교정 파라미터들에 대한 상기 복수의 최종 값들 및 상기 로봇 교정 파라미터들에 대한 상기 복수의 최종 값들을 사용하도록 추가로 구성되는, 머신 비전 시스템.
  3. 제1항에 있어서,
    상기 제어 시스템은 상기 로봇 교정 파라미터들에 대한 상기 복수의 최종 값들을 사용하여 상기 로봇을 이동시키도록 추가로 구성되는, 머신 비전 시스템.
  4. 제1항에 있어서,
    상기 비용 함수는, 상기 복수의 포즈들의 각각의 포즈에 대해서, 상기 포즈에 대해 캡처된 상기 이미지 내에서 피쳐의 관측된 위치와 상기 피쳐의 예상되는 위치 간의 차이를 측정하고, 상기 예상되는 위치는 상기 복수의 로봇 교정 파라미터들에 대한 제1 복수의 값들, 상기 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 상기 포즈에 대해 캡처된 상기 복수의 로봇 관절 각도들에 기반하여 결정되는, 머신 비전 시스템.
  5. 제1항에 있어서,
    상기 비용 함수는, 상기 복수의 포즈들의 각각의 포즈에 대해서, 합성 변환과 항등 변환 간의 차이를 측정하고, 상기 합성 변환은 제1 좌표 공간으로부터 제2 좌표 공간으로의 제1 변환과 상기 제2 좌표 공간으로부터 상기 제1 좌표 공간으로의 제2 변환의 합성이고, 상기 제1 변환 및 상기 제2 변환은 상기 복수의 로봇 교정 파라미터들에 대한 제1 복수의 값들, 상기 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 상기 포즈에 대한 교정 타겟의 복수의 관측된 피쳐들, 및 상기 포즈에 대해 캡처된 상기 복수의 로봇 관절 각도들에 기반하여 결정되는, 머신 비전 시스템.
  6. 제1항에 있어서,
    상기 비용 함수는, 상기 복수의 포즈들의 각각의 포즈에 대해서, 상기 포즈에 대해 캡처된 상기 복수의 로봇 관절 각도들 중 로봇 관절 각도와 상기 포즈에 대한 추정된 관절 각도 간의 차이를 측정하고, 상기 추정된 관절 각도는 상기 복수의 로봇 교정 파라미터들에 대한 제1 복수의 값들, 상기 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 상기 포즈에 대한 교정 타겟의 복수의 관측된 피쳐들에 기반하여 결정되는, 머신 비전 시스템.
  7. 제1항에 있어서,
    상기 제어 시스템은 비-선형 최소 제곱들을 사용하여 상기 비용 함수를 최소화하도록 추가로 구성되는, 머신 비전 시스템.
  8. 제1항에 있어서,
    상기 제어 시스템은 상기 복수의 핸드-아이 교정 파라미터들의 전부가 아닌 적어도 하나를, 그리고 상기 복수의 로봇 교정 파라미터들의 전부가 아닌 적어도 하나를 미세조정하도록 구성되는, 머신 비전 시스템.
  9. 제1항에 있어서,
    상기 복수의 로봇 교정 파라미터들은 상기 로봇에 대한 Denavit-Hartenberg 파라미터들을 포함하는, 머신 비전 시스템.
  10. 머신 비전 시스템-구현 교정 방법으로서,
    제어 시스템에 의해서 로봇을 복수의 포즈들로 이동시키고, 그리고 상기 복수의 포즈들의 각각의 포즈에 대해, 카메라에 의해서 교정 타겟에 대한 하나 이상의 피쳐들의 이미지를 캡처하고 그리고 상기 제어 시스템에 의해서 복수의 로봇 관절 각도들을 캡처하는 단계;
    상기 제어 시스템에 의해서 복수의 로봇 교정 파라미터들에 대한 복수의 초기 값들을 획득하는 단계;
    상기 복수의 로봇 교정 파라미터들에 대한 상기 복수의 초기 값들 및 상기 복수의 포즈들 각각에 대해 캡처된 상기 이미지 및 상기 복수의 로봇 관절 각도들에 기반하여, 상기 제어 시스템에 의해서 복수의 핸드-아이 교정 파라미터들에 대한 복수의 초기 값들을 결정하는 단계 ― 상기 결정하는 단계는 복수의 좌표 공간들 사이에서의 상기 복수의 로봇 교정 파라미터들에 대한 복수의 초기 값들의 변환들을 결정하는 단계를 포함하고, 각각의 좌표 공간은 로봇의 각각의 특징과 연관됨 ―; 및
    상기 복수의 좌표 공간들 사이에서의 상기 복수의 로봇 교정 파라미터들에 대한 복수의 초기 값들의 변환들 중 적어도 하나를 이용하여, 비용 함수를 최소화하도록 상기 복수의 핸드-아이 교정 파라미터들 중 하나 이상 및 상기 복수의 로봇 교정 파라미터들 중 하나 이상을 미세조정(refine)함으로써 상기 제어 시스템에 의해서 상기 복수의 핸드-아이 교정 파라미터들에 대한 복수의 최종 값들 및 상기 복수의 로봇 교정 파라미터들에 대한 복수의 최종 값들을 결정하는 단계를 포함하는, 머신 비전 시스템-구현 교정 방법.
  11. 제10항에 있어서,
    상기 비용 함수는, 상기 복수의 포즈들의 각각의 포즈에 대해서, 상기 포즈에 대해 캡처된 상기 이미지 내에서 피쳐의 관측된 위치와 상기 피쳐의 예상되는 위치 간의 차이를 측정하고, 상기 예상되는 위치는 상기 복수의 로봇 교정 파라미터들에 대한 제1 복수의 값들, 상기 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 상기 포즈에 대해 캡처된 상기 복수의 로봇 관절 각도들에 기반하여 결정되는, 머신 비전 시스템-구현 교정 방법.
  12. 제10항에 있어서,
    상기 비용 함수는, 상기 복수의 포즈들의 각각의 포즈에 대해서, 합성 변환과 항등 변환 간의 차이를 측정하고, 상기 합성 변환은 제1 좌표 공간으로부터 제2 좌표 공간으로의 제1 변환과 상기 제2 좌표 공간으로부터 상기 제1 좌표 공간으로의 제2 변환의 합성이고, 상기 제1 변환 및 상기 제2 변환은 상기 복수의 로봇 교정 파라미터들에 대한 제1 복수의 값들, 상기 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 상기 포즈에 대한 교정 타겟의 복수의 관측된 피쳐들, 및 상기 포즈에 대해 캡처된 상기 복수의 로봇 관절 각도들에 기반하여 결정되는, 머신 비전 시스템-구현 교정 방법.
  13. 제10항에 있어서,
    상기 비용 함수는, 상기 복수의 포즈들의 각각의 포즈에 대해서, 상기 포즈에 대해 캡처된 상기 복수의 로봇 관절 각도들 중 로봇 관절 각도와 상기 포즈에 대한 추정된 관절 각도 간의 차이를 측정하고, 상기 추정된 관절 각도는 상기 복수의 로봇 교정 파라미터들에 대한 제1 복수의 값들, 상기 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 상기 포즈에 대한 교정 타겟의 복수의 관측된 피쳐들에 기반하여 결정되는, 머신 비전 시스템-구현 교정 방법.
  14. 제10항에 있어서,
    비-선형 최소 제곱들을 사용하여 상기 비용 함수를 최소화하는 단계를 더 포함하는, 머신 비전 시스템-구현 교정 방법.
  15. 제10항에 있어서,
    상기 복수의 핸드-아이 교정 파라미터들의 전부가 아닌 적어도 하나를, 그리고 상기 복수의 로봇 교정 파라미터들의 전부가 아닌 적어도 하나를 미세조정하는 단계를 더 포함하는, 머신 비전 시스템-구현 교정 방법.
  16. 제10항에 있어서,
    상기 복수의 로봇 교정 파라미터들은 상기 로봇에 대한 Denavit-Hartenberg 파라미터들을 포함하는, 머신 비전 시스템-구현 교정 방법.
  17. 머신 비전 시스템으로서,
    모션(motion) 스테이지;
    카메라; 및
    상기 모션 스테이지 및 상기 카메라와 통신하는 제어 시스템을 포함하고,
    상기 제어 시스템은:
    상기 모션 스테이지를 복수의 포즈들로 이동시키고, 그리고 상기 복수의 포즈들의 각각의 포즈에 대해, 교정 타겟에 대한 하나 이상의 피쳐들의 이미지를 상기 카메라를 이용하여 캡처하고 그리고 상기 모션 스테이지의 복수의 실행기들에 대한 복수의 인코더 카운트들을 캡처하고;
    복수의 모션 스테이지 교정 파라미터들에 대한 복수의 초기 값들을 획득하고;
    상기 복수의 모션 스테이지 교정 파라미터들에 대한 상기 복수의 초기 값들 및 상기 복수의 포즈들 각각에 대해 캡처된 상기 이미지 및 상기 복수의 인코더 카운트들에 기반하여, 복수의 핸드-아이 교정 파라미터들에 대한 복수의 초기 값들을 결정하며 ― 상기 결정하는 것은 복수의 좌표 공간들 사이에서의 상기 복수의 모션 스테이지 교정 파라미터들에 대한 복수의 초기 값들의 변환들을 결정하는 것을 포함하고, 각각의 좌표 공간은 모션 스테이지의 각각의 특징과 연관됨 ―; 그리고
    상기 복수의 좌표 공간들 사이에서의 상기 복수의 모션 스테이지 교정 파라미터들에 대한 복수의 초기 값들의 변환들 중 적어도 하나를 이용하여, 비용 함수를 최소화도록 상기 복수의 핸드-아이 교정 파라미터들 중 하나 이상 및 상기 복수의 모션 스테이지 교정 파라미터들 중 하나 이상을 미세조정(refine)함으로써 상기 복수의 핸드-아이 교정 파라미터들에 대한 복수의 최종 값들 및 상기 모션 스테이지 교정 파라미터들에 대한 복수의 최종 값들을 결정하도록 구성되는, 머신 비전 시스템.
  18. 제17항에 있어서,
    상기 제어 시스템은 비전 가이드 모션 스테이지 애플리케이션에 대해서 상기 복수의 핸드-아이 교정 파라미터들에 대한 상기 복수의 최종 값들 및 상기 모션 스테이지 교정 파라미터들에 대한 상기 복수의 최종 값들을 사용하도록 추가로 구성되는, 머신 비전 시스템.
  19. 제17항에 있어서,
    상기 제어 시스템은 상기 모션 스테이지 교정 파라미터들에 대한 상기 복수의 최종 값들을 사용하여 상기 모션 스테이지를 이동시키도록 추가로 구성되는, 머신 비전 시스템.
  20. 제17항에 있어서,
    상기 비용 함수는, 상기 복수의 포즈들의 각각의 포즈에 대해서, 상기 포즈에 대해 캡처된 상기 이미지 내에서 피쳐의 관측된 위치와 상기 피쳐의 예상되는 위치 간의 차이를 측정하고, 상기 예상되는 위치는 상기 복수의 모션 스테이지 교정 파라미터들에 대한 제1 복수의 값들, 상기 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 상기 포즈에 대해 캡처된 상기 복수의 인코더 카운트들에 기반하여 결정되는, 머신 비전 시스템.
  21. 제17항에 있어서,
    상기 비용 함수는, 상기 복수의 포즈들의 각각의 포즈에 대해서, 상기 포즈에 대해 캡처된 상기 복수의 인코더 카운트들 중 인코더 카운트와 상기 포즈에 대한 추정된 인코더 카운트 간의 차이를 측정하고, 상기 추정된 인코더 카운트는 상기 복수의 모션 스테이지 교정 파라미터들에 대한 제1 복수의 값들, 상기 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 상기 포즈에 대한 교정 타겟의 복수의 관측된 피쳐들에 기반하여 결정되는, 머신 비전 시스템.
  22. 제17항에 있어서,
    상기 제어 시스템은 비-선형 최소 제곱들을 사용하여 상기 비용 함수를 최소화하도록 추가로 구성되는, 머신 비전 시스템.
  23. 제17항에 있어서,
    상기 제어 시스템은 상기 복수의 핸드-아이 교정 파라미터들의 전부가 아닌 적어도 하나를, 그리고 상기 복수의 모션 스테이지 교정 파라미터들의 전부가 아닌 적어도 하나를 미세조정하도록 구성되는, 머신 비전 시스템.
  24. 제17항에 있어서,
    상기 복수의 모션 스테이지 교정 파라미터들은 롤러(roller) 중심 포지션, 롤러 반경, 방향, 단계 사이즈, 홈 인코더 카운트, 및 실행기에 대한 스트라이커 플레이트(striker plate)의 방향 중 하나 이상을 포함하는, 머신 비전 시스템.
  25. 머신 비전 시스템-구현 교정 방법으로서,
    제어 시스템에 의해서 모션 스테이지를 복수의 포즈들로 이동시키고, 그리고 상기 복수의 포즈들의 각각의 포즈에 대해, 카메라에 의해서 교정 타겟에 대한 하나 이상의 피쳐들의 이미지를 캡처하고 그리고 상기 제어 시스템에 의해서 상기 모션 스테이지의 복수의 실행기들에 대한 복수의 인코더 카운트들을 캡처하는 단계;
    상기 제어 시스템에 의해서 복수의 모션 스테이지 교정 파라미터들에 대한 복수의 초기 값들을 획득하는 단계;
    상기 복수의 모션 스테이지 교정 파라미터들에 대한 상기 복수의 초기 값들 및 상기 복수의 포즈들 각각에 대해 캡처된 상기 이미지 및 상기 복수의 인코더 카운트들에 기반하여, 상기 제어 시스템에 의해서 복수의 핸드-아이 교정 파라미터들에 대한 복수의 초기 값들을 결정하는 단계 ― 상기 결정하는 단계는 복수의 좌표 공간들 사이에서의 상기 복수의 모션 스테이지 교정 파라미터들에 대한 복수의 초기 값들의 변환들을 결정하는 단계를 포함하고, 각각의 좌표 공간은 모션 스테이지의 각각의 특징과 연관됨 ―; 및
    상기 복수의 좌표 공간들 사이에서의 상기 복수의 모션 스테이지 교정 파라미터들에 대한 복수의 초기 값들의 변환들 중 적어도 하나를 이용하여, 비용 함수를 최소화하도록 상기 복수의 핸드-아이 교정 파라미터들 중 하나 이상 및 상기 복수의 모션 스테이지 교정 파라미터들 중 하나 이상을 미세조정(refine)함으로써 상기 제어 시스템에 의해서 상기 복수의 핸드-아이 교정 파라미터들에 대한 복수의 최종 값들 및 상기 모션 스테이지 교정 파라미터들에 대한 복수의 최종 값들을 결정하는 단계를 포함하는, 머신 비전 시스템-구현 교정 방법.
  26. 제25항에 있어서,
    상기 비용 함수는, 상기 복수의 포즈들의 각각의 포즈에 대해서, 상기 포즈에 대해 캡처된 상기 이미지 내에서 피쳐의 관측된 위치와 상기 피쳐의 예상되는 위치 간의 차이를 측정하고, 상기 예상되는 위치는 상기 복수의 모션 스테이지 교정 파라미터들에 대한 제1 복수의 값들, 상기 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 상기 포즈에 대해 캡처된 상기 복수의 인코더 카운트들에 기반하여 결정되는, 머신 비전 시스템-구현 교정 방법.
  27. 제25항에 있어서,
    상기 비용 함수는, 상기 복수의 포즈들의 각각의 포즈에 대해서, 상기 포즈에 대해 캡처된 상기 복수의 인코더 카운트들 중 인코더 카운트와 상기 포즈에 대한 추정된 인코더 카운트 간의 차이를 측정하고, 상기 추정된 인코더 카운트는 상기 복수의 모션 스테이지 교정 파라미터들에 대한 제1 복수의 값들, 상기 복수의 핸드-아이 교정 파라미터들에 대한 제2 복수의 값들, 및 상기 포즈에 대한 교정 타겟의 복수의 관측된 피쳐들에 기반하여 결정되는, 머신 비전 시스템-구현 교정 방법.
  28. 제25항에 있어서,
    비-선형 최소 제곱들을 사용하여 상기 비용 함수를 최소화하는 단계를 더 포함하는, 머신 비전 시스템-구현 교정 방법.
  29. 제25항에 있어서,
    상기 복수의 핸드-아이 교정 파라미터들의 전부가 아닌 적어도 하나를, 그리고 상기 복수의 모션 스테이지 교정 파라미터들의 전부가 아닌 적어도 하나를 미세조정하는 단계를 더 포함하는, 머신 비전 시스템-구현 교정 방법.
  30. 제25항에 있어서,
    상기 복수의 모션 스테이지 교정 파라미터들은 롤러 중심 포지션, 롤러 반경, 방향, 단계 사이즈, 홈 인코더 카운트 및 실행기에 대한 스트라이커 플레이트의 방향 중 하나 이상을 포함하는, 머신 비전 시스템-구현 교정 방법.
KR1020170125399A 2016-09-28 2017-09-27 동시적인 운동성 및 핸드-아이 교정 KR102093165B1 (ko)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
KR20180035172A KR20180035172A (ko) 2018-04-05
KR102093165B1 true KR102093165B1 (ko) 2020-03-25

Family

ID=61564377

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170125399A KR102093165B1 (ko) 2016-09-28 2017-09-27 동시적인 운동성 및 핸드-아이 교정

Country Status (5)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111872922A (zh) * 2020-07-29 2020-11-03 江南大学 一种基于3d视觉传感器的三自由度并联机器人手眼标定方法
KR20220099440A (ko) 2021-01-06 2022-07-13 이지윤 동작 인식 카메라를 이용한 운동 교정 소프트웨어

Families Citing this family (59)

* 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
EP3606038B1 (en) * 2017-03-31 2021-12-08 Panasonic Intellectual Property Management Co., Ltd. Imaging system and correction method
JP7122694B2 (ja) 2017-03-31 2022-08-22 パナソニックIpマネジメント株式会社 撮像システムおよび校正方法
WO2019213103A1 (en) * 2018-04-30 2019-11-07 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 先临三维科技股份有限公司 工件抓取系统的校准方法、标定件、装置、设备和介质
CN111971529A (zh) * 2018-09-03 2020-11-20 Abb瑞士股份有限公司 用于管理机器人系统的方法和装置
DE112019004517T5 (de) * 2018-09-10 2021-06-02 Fanuc America Corporation Roboterkalibrierung für ar (augmented reality) und digitaler zwilling
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 深圳市汇川技术股份有限公司 机器人手眼标定方法及装置
CN113825980B (zh) * 2019-07-19 2024-04-09 西门子(中国)有限公司 机器人手眼标定方法、装置、计算设备以及介质
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차원 스캐너를 이용한 로봇의 위치 보정 방법 및 장치
CN110842901B (zh) * 2019-11-26 2021-01-15 广东技术师范大学 基于一种新型三维标定块的机器人手眼标定方法与装置
CN110930442B (zh) * 2019-11-26 2020-07-31 广东技术师范大学 基于标定块的机器人手眼标定中关键点位置确定方法与装置
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机器人的非固定式手眼关系标定方法
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 华南理工大学 机器人手眼标定位姿选择方法、装置、机器人系统及介质
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 宁波光雷睿融智能系统有限公司 一种基于标准圆柱的线激光扫描机器人手眼标定方法
CN113733088A (zh) * 2021-09-07 2021-12-03 河南大学 一种基于双目视觉的机械臂运动学自标定方法
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 北京信息科技大学 基于多目标视觉测量和机器学习的机械臂无模型实时标定方法及装置
CN114700989A (zh) * 2022-04-24 2022-07-05 安吉八塔机器人有限公司 一种平面相机自动调平装置及其控制方法
CN115008452B (zh) * 2022-05-12 2023-01-31 兰州大学 一种机械臂控制方法及其系统、电子设备、存储介质
CN116079697A (zh) * 2022-12-23 2023-05-09 北京纳通医用机器人科技有限公司 一种基于图像的单目视觉伺服方法、装置、设备及介质
CN116038720B (zh) * 2023-04-03 2023-08-11 广东工业大学 一种基于点云配准的手眼标定方法、装置及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012091280A (ja) * 2010-10-27 2012-05-17 Mitsubishi Electric Corp 座標系校正方法及びロボットシステム
JP2015182144A (ja) * 2014-03-20 2015-10-22 キヤノン株式会社 ロボットシステムおよびロボットシステムの校正方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1040393A4 (en) * 1997-09-04 2004-03-10 Dynalog Inc METHOD FOR CALIBRATING A ROBOTIZED CONTROL 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 鸿富锦精密工业(深圳)有限公司 机器人标定方法及标定系统
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
WO2014161603A1 (en) * 2013-04-05 2014-10-09 Abb Technology Ltd A robot system and method for calibration
JP6468741B2 (ja) * 2013-07-22 2019-02-13 キヤノン株式会社 ロボットシステム及びロボットシステムの校正方法
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012091280A (ja) * 2010-10-27 2012-05-17 Mitsubishi Electric Corp 座標系校正方法及びロボットシステム
JP2015182144A (ja) * 2014-03-20 2015-10-22 キヤノン株式会社 ロボットシステムおよびロボットシステムの校正方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111872922A (zh) * 2020-07-29 2020-11-03 江南大学 一种基于3d视觉传感器的三自由度并联机器人手眼标定方法
CN111872922B (zh) * 2020-07-29 2021-09-03 贵州电网有限责任公司 基于3d视觉传感器的三自由度并联机器人手眼标定方法
KR20220099440A (ko) 2021-01-06 2022-07-13 이지윤 동작 인식 카메라를 이용한 운동 교정 소프트웨어

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102093165B1 (ko) 동시적인 운동성 및 핸드-아이 교정
US11077557B2 (en) System and method for robust calibration between a machine vision system and a robot
JP5949242B2 (ja) ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
CN112223302B (zh) 基于多传感器的带电作业机器人的快速标定方法及装置
US20200298411A1 (en) Method for the orientation of an industrial robot, and industrial robot
JP2018169403A (ja) 案内された組立環境におけるマシンビジョン座標空間を結合するためのシステム及び方法
JP6855492B2 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
CN103020952A (zh) 信息处理设备和信息处理方法
EP3988254A1 (en) Robot hand-eye calibration method and apparatus, computing device, medium and product
CN111612794A (zh) 基于多2d视觉的零部件高精度三维位姿估计方法及系统
JP2016078195A (ja) ロボットシステム、ロボット、制御装置及びロボットの制御方法
JP6855491B2 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
JP7427370B2 (ja) 撮像装置、画像処理装置、画像処理方法、撮像装置の校正方法、ロボット装置、ロボット装置を用いた物品の製造方法、制御プログラムおよび記録媒体
KR101735325B1 (ko) 점군 정합 장치
CN108345463B (zh) 基于机器人的三维测量方法、装置、机器人和存储介质
KR101972432B1 (ko) 레이저비전 센서 및 그 보정방법
KR102451791B1 (ko) 영상 내 물체의 위치 추정 시스템 및 방법
CN115972192A (zh) 具有可变空间分辨率的3d计算机视觉系统
EP3738725B1 (en) Measurement system, measurement device, measurement method, and measurement program
CN115870967A (zh) 机器人标定方法、装置、控制器、系统和存储介质
CN116194252A (zh) 机器人系统
JP6766229B2 (ja) 位置姿勢計測装置及び方法
CN116079726A (zh) 机器人标定方法、装置和数据采集装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant