KR20200093464A - System and method for automatic hand-eye calibration of vision system for robot motion - Google Patents

System and method for automatic hand-eye calibration of vision system for robot motion Download PDF

Info

Publication number
KR20200093464A
KR20200093464A KR1020200009919A KR20200009919A KR20200093464A KR 20200093464 A KR20200093464 A KR 20200093464A KR 1020200009919 A KR1020200009919 A KR 1020200009919A KR 20200009919 A KR20200009919 A KR 20200009919A KR 20200093464 A KR20200093464 A KR 20200093464A
Authority
KR
South Korea
Prior art keywords
calibration
motion
robot
vision system
robot manipulator
Prior art date
Application number
KR1020200009919A
Other languages
Korean (ko)
Other versions
KR102458415B1 (en
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 KR20200093464A publication Critical patent/KR20200093464A/en
Priority to KR1020220078219A priority Critical patent/KR102532072B1/en
Application granted granted Critical
Publication of KR102458415B1 publication Critical patent/KR102458415B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/04Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
    • B25J9/046Revolute coordinate type
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)

Abstract

According to the present invention, provided are a system and a method, which automatically determine a motion parameter of a hand-eye calibration, and perform a calibration procedure while minimizing human intervention. According to the present invention, a hand-eye calibration operating parameter and a spatial position are automatically calculated during pre-calibration, such that a calibration pattern is continuously maintained within the entire field of view (FOV) of a vision system camera to provide a completely automatic hand-eye calibration process. The system and the method are advantageously operated in a robot-based hand-eye calibration environment, and can compensate for a cantilever effect between an object to be calibrated and an FOV. Also, the hand-eye calibration calculates conversion from a robot coordinate space into a camera coordinate space. Therefore, a robot is not required to be manually moved through a serial space position for setting a relation between the robot and a camera by generally obtaining an image by the camera and arranging a calibration feature on an object at each position.

Description

로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법{SYSTEM AND METHOD FOR AUTOMATIC HAND-EYE CALIBRATION OF VISION SYSTEM FOR ROBOT MOTION}System and method for automatic hand-eye calibration of a vision system for robot motion{SYSTEM AND METHOD FOR AUTOMATIC HAND-EYE CALIBRATION OF VISION SYSTEM FOR ROBOT MOTION}

본 출원은 머신 비전 시스템(machine vision system)에 관한 것으로, 보다 상세하게는 로봇 매니퓰레이터(robot manipulator)와 함께 이러한 시스템을 캘리브레이션 하기 위한 시스템 및 방법에 관한 것이다.The present application relates to a machine vision system, and more particularly, to a system and method for calibrating such a system together with a robot manipulator.

머신 비전 시스템(본 명세서에서 "비전 시스템(vision system)"으로도 지칭됨)에서, 하나 이상의 카메라는 이미지화 된 장면 내의 물체 또는 표면에 대한 비전 시스템 프로세스(vision system process)를 수행하는 데 사용된다. 이러한 프로세스는 하나 또는 그 이상의 자유도 및/또는 치수에 관하여 조작하고 이의를 제기하는데 사용되는 로봇 암의 모션 또는 모션 스테이지를 제어하는 것과 같은, 검사(inspection), 심볼 디코딩(decoding of symbology), 정렬(alignment) 및 다른 자동화된 작업을 포함한다. 보다 구체적으로, 비전 시스템은 이미지화 된 장면 내에서 조작되는 평평한 작업물을 검사하는데 사용될 수 있다. 장면은 일반적으로 연관된 비전 시스템 프로세스를 동작하여 결과 - 예를 들어 부품 정렬 - 를 생성하는 내부 또는 외부 비전 시스템 프로세서를 포함할 수 있는 하나 이상의 비전 시스템 카메라에 의해 이미지가 생성된다. 충분한 정확도와 신뢰성으로 비전 작업을 수행할 수 있도록 하나 이상의 카메라를 캘리브레이션 하는 것이 일반적으로 바람직하다. 카메라를 캘리브레이션 하기 위해 캘리브레이션 물체(object)를 사용할 수 있다.In a machine vision system (also referred to herein as a “vision system”), one or more cameras are used to perform a vision system process on an object or surface within an imaged scene. These processes include inspection, decoding of symbology, alignment, such as controlling the motion or motion stage of a robot arm used to manipulate and challenge one or more degrees of freedom and/or dimensions. (alignment) and other automated tasks. More specifically, the vision system can be used to inspect flat work pieces that are manipulated within the imaged scene. Scenes are generally imaged by one or more vision system cameras that may include internal or external vision system processors that operate the associated vision system process to produce results-for example, part alignment. It is generally desirable to calibrate one or more cameras to perform vision tasks with sufficient accuracy and reliability. You can use a calibration object to calibrate the camera.

캘리브레이션 물체(종종 평면, "플레이트" 형태로 구성)는 표면에 뚜렷한(종종 모자이크상(tessellated)의) 패턴이 있는 평평한 물체로 제공될 수 있다. 이 독특한 패턴은 일반적으로 조심스럽고 정밀하게 설계되어 사용자가 카메라로 획득한 플레이트 이미지에서 각 가시적 특징을 쉽게 식별할 수 있다. 일부 예시적인 패턴은 도트 그리드, 라인 그리드, 십자형, 또는 허니컴 패턴, 삼각형의 체크보드(checkerboard) 등을 포함하지만 이에 제한되지는 않는다. 전형적으로, 각각의 가시적 특징의 특성은 설계 내에 암시적으로 정의된 레퍼런스 위치 및/또는 좌표 시스템에 대한 위치 및/또는 배향과 같은 기판의 설계로부터 알려져 있다.The calibration object (often in the form of a flat, "plate") can be provided as a flat object with a distinct (often mosaic) pattern on the surface. This unique pattern is generally carefully and precisely designed so that the user can easily identify each visible feature in the plate image acquired by the camera. Some example patterns include, but are not limited to, dot grid, line grid, cross, or honeycomb patterns, triangular checkerboard, and the like. Typically, the properties of each visible feature are known from the design of the substrate, such as position and/or orientation relative to a reference position and/or coordinate system implicitly defined within the design.

캘리브레이션 물체(Calibration object)는 비전 시스템과 관련하여 원하는 캘리브레이션 파라미터를 얻기 위해 다양한 방식으로 사용된다. 비 제한적인 예로서, 캘리브레이션 물체는 로봇의 매니퓰레이터(또는 엔드 이펙터(end effector))에 대하여 장착될 수 있다. 로봇은 비전 시스템의 좌표 공간에 대한 로봇의 좌표 공간에 대한 원하는 캘리브레이션 파라미터를 생성하기 위해 캘리브레이션 물체를 복수의 개별 위치로 이동시킨다. 그러나, 매니퓰레이터의 모션은 때로는 부분적으로 소위 캔틸레버 효과로 인해 비전 시스템의 관측 시야 밖에서 캘리브레이션 물체의 전부 또는 일부를 위치할 수 있다. 이는 캘리브레이션 프로세스의 속도, 정확성 및/또는 견고성을 제한할 수 있다.Calibration objects are used in a variety of ways to obtain the desired calibration parameters with respect to the vision system. As a non-limiting example, the calibration object can be mounted relative to the manipulator (or end effector) of the robot. The robot moves the calibration object to a plurality of individual positions in order to generate a desired calibration parameter for the robot's coordinate space relative to the vision system's coordinate space. However, the motion of the manipulator can sometimes position all or part of the calibration object outside the field of view of the vision system due to the so-called cantilever effect. This can limit the speed, accuracy and/or robustness of the calibration process.

본 발명은 핸드-아이 캘리브레이션(hand-eye calibration)의 움직임 파라미터(motion parameter)를 자동으로 결정하고 최소한의 사람의 개입으로 캘리브레이션 절차(calibration procedure)를 수행하는 시스템 및 방법을 제공함으로써 종래 기술의 단점을 극복한다. 보다 구체적으로, 시스템 및 방법은 사전 캘리브레이션 동안 핸드-아이 캘리브레이션 모션 파라미터 및 공간 위치를 자동으로 계산하여, 캘리브레이션 패턴은 비전 시스템 카메라의 전체 관측 시야(field of view)(FOV) 내에서 지속적으로(항상) 유지/보유될 수 있고 완전 자동 핸드-아이 캘리브레이션 프로세스를 제공한다. 이 시스템 및 방법은 유리하게 로봇 기반 핸드-아이 캘리브레이션 환경에서 동작하고 캘리브레이션 타겟과 FOV 사이의 캔틸레버 효과를 보상할 수 있다. 핸드-아이 캘리브레이션은 로봇 좌표 공간(robot coordinate space)으로부터 카메라 좌표 공간(camera coordinate space)으로의 변형을 계산한다. 이것은 일반적으로 카메라가 공간 위치 세트를 통해 로봇을 수동으로 이동할(사용자에 의해) 필요가 없는데, 여기서 로봇과 카메라 사이의 관계(공간 변형)를 설정하기 위하여 카메라는 이미지를 획득하고 각 위치에서 물체에 대한 캘리브레이션 특징을 위치시킨다.The present invention provides disadvantages of the prior art by providing a system and method for automatically determining motion parameters of hand-eye calibration and performing a calibration procedure with minimal human intervention. Overcome it. More specifically, the system and method automatically calculate hand-eye calibration motion parameters and spatial position during pre-calibration, so that the calibration pattern is continuously (always) within the full field of view (FOV) of the vision system camera. ) Can be maintained/held and provides a fully automatic hand-eye calibration process. This system and method can advantageously operate in a robot-based hand-eye calibration environment and compensate for the cantilever effect between the calibration target and the FOV. Hand-eye calibration calculates the transformation from robot coordinate space to camera coordinate space. This generally does not require the camera to manually move (by the user) the robot through a set of spatial positions, where the camera acquires an image and establishes an object at each position to establish a relationship (spatial transformation) between the robot and the camera. Position the calibration features for the.

예시적인 실시예에서, 로봇 매니퓰레이터(robot manipulator)와 함께 동작하는 비전 시스템(vision system)의 핸드-아이 캘리브레이션을 수행하기 위한 시스템 및 방법이 제공되며, 캘리브레이션 물체와 비전 시스템 카메라의 관측 시야(field of view)(FOV) 사이에는 상대 운동이 존재한다. 사전 캘리브레이션 프로세스(pre-calibration process)는 FOV에서 3 포인트 캘리브레이션(three-point calibration)을 수행하고 로봇 매니퓰레이터의 좌표 공간으로부터 비전 시스템 카메라의 획득된 이미지의 좌표 공간으로의 러프 변형(rough transformation)을 계산한다. 러프 변형에 기초하여, 시스템 및 방법은 핸드-아이 캘리브레이션을 수행하기에 수용 가능한 복수의 각각의 위치에서 캘리브레이션 물체 상의 특징의 공간 포인트(spatial point)를 계산한다. 핸드-아이 캘리브레이션 모듈은 공간 포인트를 이용하여 핸드-아이 캘리브레이션을 수행한다. 예시적으로, 러프 변형은 관측 시야 내에서 캘리브레이션 물체의 특징을 유지하고 공간 포인트 사이의 최소 분리 거리를 제공하기 위하여 로봇 매니퓰레이터에 의한 반복적인 모션 세트와 공간 포인트 사이의 로봇 모션 단계 크기의 조정에 기초하여 계산된다. 공간 포인트는 선택적 사용자 입력에 따라 부분적으로 선택될 수 있다. 일반적으로, 로봇 매니퓰레이터는 캘리브레이션 물체와 FOV 사이의 캔틸레버 효과를 유도하고, 캔틸레버 효과를 보상하기 위해 사전 캘리브레이션 프로세스가 배치되는 것이 고려된다. 따라서, 사전 캘리브레이션 프로세스는 캘리브레이션 물체가 FOV에 유지되도록 공간 위치를 계산한다. 일 예에서, 비전 시스템 카메라는 로봇 매니퓰레이터와 관련하여 장착되고 로봇 매니퓰레이터와 함께 이동인다. 다른 예에서, 캘리브레이션 물체는 로봇 매니퓰레이터와 관련하여 장착되고 로봇 매니퓰레이터와 함께 이동한다. 예시적으로, 로봇 매니퓰레이터는 다축 로봇 및 모션 스테이지 중 하나를 포함한다. 핸드-아이 캘리브레이션은 그들 사이의 모션 단계 크기(motion step size)를 각각 정의하는 일련의 모션 단계(sequence of motion step)에서 수행될 수 있으며, 모션 단계 크기는(a) 비전 시스템 카메라의 획득된 이미지 픽셀의 크기 및(b) 현재 모션 단계까지 획득된 캘리브레이션 물체의 이미지 중 적어도 하나로부터 결정된 비전 시스템 카메라의 FOV의 크기 중 적어도 하나에 기초한다. 러프 변형(rough transformation)은 관측 시야 내에서 캘리브레이션 물체의 특징을 유지하고 공간 포인트 사이의 최소 분리 거리를 제공하기 위하여, (a) 3 단계 모션 프로세스(three-step motion process) 및 (b) 공간 포인트 사이에서 로봇 모션 단계 크기를 조정하여 로봇 매니퓰레이터에 의한 반복적인 모션 세트 중 적어도 하나에 기초하여 계산될 수 있다.In an exemplary embodiment, a system and method for performing hand-eye calibration of a vision system operating with a robot manipulator is provided, and a field of observation of a calibration object and a vision system camera There is a relative motion between the views (FOV). The pre-calibration process performs three-point calibration in the FOV and calculates rough transformation from the coordinate space of the robot manipulator to the coordinate space of the acquired image of the vision system camera. do. Based on rough deformation, the system and method calculates a spatial point of a feature on a calibration object at a plurality of respective positions acceptable for performing hand-eye calibration. The hand-eye calibration module performs hand-eye calibration using spatial points. Illustratively, the rough deformation is based on the repetitive motion set by the robot manipulator and the adjustment of the robot motion step size between the space points to maintain the characteristics of the calibration object within the field of view and provide a minimum separation distance between the space points Is calculated. The spatial point can be partially selected according to an optional user input. In general, it is contemplated that the robot manipulator induces a cantilever effect between the calibration object and the FOV, and a pre-calibration process is deployed to compensate for the cantilever effect. Therefore, the pre-calibration process calculates the spatial position so that the calibration object remains in the FOV. In one example, the vision system camera is mounted relative to the robot manipulator and moves with the robot manipulator. In another example, the calibration object is mounted relative to the robot manipulator and moves with the robot manipulator. Illustratively, the robot manipulator includes one of a multi-axis robot and a motion stage. Hand-eye calibration can be performed in a sequence of motion steps, each defining a motion step size between them, the motion step size being (a) the acquired image of the vision system camera Based on at least one of the size of the pixel and (b) the size of the FOV of the vision system camera determined from at least one of the image of the calibration object obtained up to the current motion stage. Rough transformation is to (a) three-step motion process and (b) spatial point to maintain the characteristics of the calibration object within the field of view and provide a minimum separation distance between spatial points. It can be calculated based on at least one of the repetitive motion set by the robot manipulator by adjusting the size of the robot motion step between them.

이하의 본 발명의 설명은 첨부 도면을 참조하며:
도 1은 예시적인 실시예에 따른 캘리브레이션 플레이트를 이미지화 하기 위한 엔드 이펙터에 비전 시스템 카메라가 장착된 로봇 매니퓰레이터 어셈블리의 도면이다;
도 2는 다른 예시적인 실시예에 따라 로봇 엔드 이펙터에 의해 조작된 캘리브레이션 플레이트를 이미지 하기 위해, 원격에 장착된 비전 시스템 카메라를 갖는 로봇 매니퓰레이터 어셈블리의 도면이다;
도 3은 비전 시스템 카메라 관측 시야(FOV)와 로봇 매니퓰레이터 사이의 상대 운동으로 인한 캘리브레이션 타겟에 대한 캔틸레버 효과를 도시한 상면도이며, 캔틸레버에 대한 보상을 위해 시스템 및 방법에 의해 수행된 조정을 포함한다;
도 4는 본 명세서에서 사전 캘리브레이션 프로세스에 따라 특징 위치 사이에서 변환 및 회전을 제공하는 일련의 이동 단계를 갖는 연관 캘리브레이션 특징(예를 들어, 교차 라인)을 갖는 예시적인 캘리브레이션 물체의 평면도이다;
도 5는 캘리브레이션 모션 단계 동안 캘리브레이션 물체를 관측 시야 내에서 연속적으로 유지하는 러프 공간 위치를 제공하기 위한 사전 캘리브레이션 절차를 포함하는, 캔틸레버 효과가 있는 상태에서 핸드-아이 캘리브레이션을 수행하기 위한 절차를 도시한 흐름도이다; 및
도 6은 도 5의 사전 캘리브레이션 프로세스에서 단계 크기의 조정을 수행하기 위한 보다 상세한 절차의 흐름도이다.
The following description of the invention refers to the accompanying drawings:
1 is a diagram of a robot manipulator assembly equipped with a vision system camera on an end effector for imaging a calibration plate according to an exemplary embodiment;
2 is a diagram of a robot manipulator assembly with a vision system camera mounted remotely to image a calibration plate manipulated by a robot end effector according to another exemplary embodiment;
FIG. 3 is a top view showing the cantilever effect on a calibration target due to relative motion between a vision system camera viewing field of view (FOV) and a robot manipulator, and includes adjustments made by the system and method to compensate for the cantilever. ;
4 is a top view of an example calibration object with associative calibration features (eg, crossing lines) with a series of moving steps that provide translation and rotation between feature locations according to the pre-calibration process herein;
FIG. 5 shows a procedure for performing hand-eye calibration in the presence of a cantilever effect, including a pre-calibration procedure to provide a rough spatial position that keeps the calibration object continuously within the viewing field during the calibration motion phase. It is a flow chart; And
6 is a flowchart of a more detailed procedure for performing step size adjustment in the pre-calibration process of FIG. 5.

I. 시스템 개요I. System Overview

A. 로봇 장착 카메라 및 고정 캘리브레이션 물체A. Robot equipped camera and fixed calibration object

[0016][0016]

도 1은 다축(예를 들어, 6 축) 로봇 암(robot arm)(110)이 비전 시스템 카메라 어셈블리(vision system camera assembly)(120)를 운반하도록 구성된 엔드 이펙터(end effector)(112)를 갖는 고정베이스(fixed base)(111) 상에 도시된 로봇 매니퓰레이터 배치(robotic manipulator arrangement)(100)를 도시한다. 카메라(camera)(120)는 작업 공간 주위에서 조작되어, 광학 축(optical axis)(OA) 및 관측 시야가 캘리브레이션 물체/플레이트(calibration object/plate)(130)와 정렬되도록 할 수 있다. 물체(object)(130)는 임의의 적절한 캘리브레이션 패턴 및 연관 기점(fiducial), 예를 들어 교차 라인(crossing line)(132)을 정의할 수 있다. 카메라는 복수의 축을 따라 전체 범위의 모션을 경험할 수 있는 방식으로 엔드 이펙터(112)에 장착될 수 있다. 엔드 이펙터(112)는 또한 관심 물체(예를 들어, 부품의 정렬 또는 픽앤 플레이스(pick-and-place))을 이동시키기 위한 매니퓰레이터(manipulator)(그리퍼(gripper), 흡입컵(suction cup) 등)를 포함할 수 있다. 이러한 방식으로, 비전 시스템 카메라 어셈블리(120)는 엔드 이펙터 매니퓰레이터와 함께 이동하고 엔드 이펙터가 작업 공간 주위를 이동할 때 그 모션이 안내(및 물체가 정렬될 수 있도록)되게 한다.1 shows a multi-axis (eg, 6-axis) robot arm 110 having an end effector 112 configured to carry a vision system camera assembly 120. The robotic manipulator arrangement 100 shown on a fixed base 111 is shown. The camera 120 can be manipulated around the work space, allowing the optical axis OA and viewing field to align with the calibration object/plate 130. Object 130 may define any suitable calibration pattern and associated fiducials, such as crossing lines 132. The camera can be mounted to the end effector 112 in such a way that it can experience a full range of motion along multiple axes. The end effector 112 is also a manipulator (gripper, suction cup, etc.) for moving the object of interest (eg, alignment of the parts or pick-and-place). It may include. In this way, the vision system camera assembly 120 moves with the end effector manipulator and allows its motion to guide (and allow objects to be aligned) as the end effector moves around the work space.

카메라 어셈블리(120)는 이미지 센서(S) 및 연관 고정 또는 가변 광학 장치(O)를 포함한다. 카메라 어셈블리(120)는 적절한 데이터 링크(유선 및/또는 무선)를 통해 비전 시스템 프로세스(프로세서)(process(or))(140)에 상호 연결된다. 프로세스(프로세서)(140)는 카메라 어셈블리 하우징(120)의 일부로서(전체 또는 일부) 및/또는 PC, 랩톱, 서버, 태블릿 또는 스마트 폰과 같은 별도의 컴퓨팅 장치(computing device)(150)를 포함하여 다양한 방식으로 예시될 수 있다. 이 컴퓨팅 장치(150)는 또한 본 명세서에 기술된 바와 같이 비전 시스템의 셋업 및/또는 캘리브레이션에서 사용자를 보조하는데 사용될 수 있다. 예로서, 컴퓨팅 장치(150)는 디스플레이 및/또는 터치 스크린(152), 키보드 기능(154) 및(예를 들어) 마우스(156)를 포함한다.The camera assembly 120 includes an image sensor S and an associated fixed or variable optical device O. The camera assembly 120 is interconnected to the vision system process (processor) 140 via appropriate data links (wired and/or wireless). The process (processor) 140 is part of the camera assembly housing 120 (all or part) and/or includes a separate computing device 150 such as a PC, laptop, server, tablet or smart phone. It can be illustrated in various ways. This computing device 150 can also be used to assist a user in the setup and/or calibration of a vision system as described herein. By way of example, computing device 150 includes display and/or touch screen 152, keyboard functionality 154, and (eg) mouse 156.

일반적으로, 프로세스(프로세서)(140)는 카메라 어셈블리 센서(S)로부터 이미지 데이터(image data)(141)를 수신하고 포커스 정보, 트리거 등과 같은 카메라 제어 데이터(camera control data)(142)를 전송한다. 이 이미지 데이터는 비전 시스템 툴(vision system tool)(144)에 의해 프로세스 되는데, 이는 종래 또는 맞춤형 에지 파인더(edge finder), 캘리퍼(caliper), 콘트라스트 툴(contrast tool), 블롭 분석기(blob analyzer) 등을 포함할 수 있다. 이러한 도구 및 프로세스는 매사츄세츄(MA) 넷틱(Natick)의 코넥스사(Cognex Corporation)와 같은 공급 업체에서 상업적으로 구할 수 있다. 프로세스(프로세서)(140)는 또한 핸드-아이 및 아래에 설명된 다른 캘리브레이션 기술에 기초하여 비전 시스템을 캘리브레이션 하는 캘리브레이션 프로세스(프로세서)/모듈(calibration process(or)/module)(144)(전체 셋업 배치(setup arrangement)의 일부일 수 있음)을 포함한다. 비전 시스템 프로세스(프로세스)(140)는 또한 로봇 제어(robot control)(148)를 위한 인터페이스를 포함한다. 이 프로세스(프로세스)/모듈(148)은 로봇(110)에 대하여 모션 제어 데이터(motion control data) 및/또는 피드백(feedback)(예를 들어, 인코더 펄스(encoder pulse))(149)을 전송/수신한다. 프로세스(프로세서)(140)는 보다 일반적으로(예를 들어) 핸드-아이 캘리브레이션 기술을 사용하여 획득된 캘리브레이션 파라미터를 사용하여 카메라 좌표 공간(170)을 로봇의 모션 좌표 공간(172)으로 변환한다. 로봇 좌표 공간(robot coordinate space)(170)은 직교 축(orthogonal axe) XR, YR 및 ZR 및 상대 회전 θXR, θYR 및 θZR에 의해 정의될 수 있고, 및 이미지/카메라 좌표 공간(image/camera coordinate space)(172)은 직교 축 XI, YI 및 ZI 및 상대 회전 θXI, θYI 및 θZI에 의해 정의될 수 있음에 유의한다. 좌표 공간(coordinate space)(170, 172)을 매핑하기 위해 이 시스템 및 방법에 따라 적절한 변형이 생성된다. 이러한 방식으로, 측정된 캘리브레이션 파라미터에 기초하여, 비전 시스템에 의해 추적된 이동(movement)은 로봇 내에서 모션 파라미터(motion parameter)로 변환된다.Generally, the process (processor) 140 receives image data 141 from the camera assembly sensor S and transmits camera control data 142 such as focus information, triggers, and the like. . This image data is processed by a vision system tool 144, which is a conventional or custom edge finder, caliper, contrast tool, blob analyzer, etc. It may include. Such tools and processes are commercially available from vendors such as Cognex Corporation of Netik, Massachusetts (MA). Process (processor) 140 also includes a calibration process (processor)/module (calibration process (or)/module) 144 (full setup) to calibrate the vision system based on the hand-eye and other calibration techniques described below. It may be part of a setup arrangement). Vision system process (process) 140 also includes an interface for robot control 148. This process (process)/module 148 transmits motion control data and/or feedback (e.g., encoder pulses) 149 to the robot 110/ To receive. The process (processor) 140 converts the camera coordinate space 170 to the robot's motion coordinate space 172 using calibration parameters obtained using a more general (e.g.) hand-eye calibration technique. The robot coordinate space 170 may be defined by orthogonal axes X R , Y R and Z R and relative rotation θ XR , θ YR and θ ZR , and image/camera coordinate space Note that (image/camera coordinate space) 172 can be defined by orthogonal axes X I , Y I and Z I and relative rotations θ XI , θ YI and θ ZI . Appropriate transformations are generated in accordance with this system and method to map coordinate spaces 170, 172. In this way, based on the measured calibration parameters, the movement tracked by the vision system is converted into motion parameters within the robot.

캘리브레이션 플레이트와 같은 강체에 대한 핸드-아이 캘리브레이션을 포함한 특정 캘리브레이션 원리를 이해하는 데 추가 배경 지식에 의하면, 모션은 한 쌍의 포즈에 의해 특징 지워질 수 있다: 모션 직전의 시작 포즈 및 모션 직후의 끝 포즈 - 여기서 "포즈(pose)"는 시간내에 하나의 특정 순간에 놓인 어떤 좌표 시스템에서, 특정 신체 상태를 설명하기 위한 수치 값의 세트로 정의되는 - 신체의 가상 특징이다. 예를 들어, 2 차원(2D)에서 강체는 3 개의 숫자, 즉 X의 변환(translation), Y의 변환 및 회전 (θ)를 특징으로 할 수 있다. 3 차원(3D)에서, Z(높이) 변환은 각각의 X, Y 및 Z 축에 대한 추가 회전(예를 들어, θx, θy 및 θz)과 함께 추가된다(예를 들어, 도 1의 좌표축(170, 172) 참조). 캘리브레이션 플레이트의 맥락에서 포즈는 카메라와 캘리브레이션 플레이트(calibration plate) 사이에 상대적인 모션이 있을 때 캘리브레이션 플레이트가 카메라에 표시되는 방법을 설명한다. 일반적으로, 소위 "핸드-아이 캘리브레이션"이라는 표준에서, 캘리브레이션 물체/플레이트는 카메라에 여러 가지 다른 포즈로 제시되며, 각 카메라는 이러한 포즈에서 캘리브레이션 플레이트의 이미지를 획득한다. 머신 비전 핸드-아이 캘리브레이션을 위해, 캘리브레이션 플레이트는 전형적으로 카메라가 플레이트의 각각의 이미지를 획득하는 복수의 미리 정해진 포즈로 이동된다. 이러한 핸드-아이 캘리브레이션의 목표는 "모션 좌표 시스템"에서 카메라와 캘리브레이션 플레이트의 강체 포즈(rigid body pose)를 결정하는 것이다. 모션 좌표 시스템은 다양한 방식으로 정의될 수 있다. 포즈의 숫자(캘리브레이션 물체/플레이트 및/또는 카메라가 공간에 있는 위치를 지정하는)는 적절한 좌표 시스템으로 해석해야 한다. 단일 통합 좌표 시스템(single unified coordinate system)를 선택하면, 포즈와 모션은 해당 글로벌 좌표 시스템에서 설명/해석된다. 이 선택된 좌표 시스템을 종종 "모션 좌표 시스템(motion coordinate system)"이라고 한다. 일반적으로 "모션"은 로봇 팔과 같은 물리적 모션 또는 갠트리와 같은 모션 스테이지를 렌더링 할 수 있는 물리적 장치에 의해 제공된다. 물체/플레이트는 하나 이상의 고정 카메라(들)에 대해 이동할 수 있거나 카메라(들)는 정지된 물체/플레이트에 대해 이동할 수 있음에 유의한다. 이러한 모션-렌더링 장치(motion-rendering device)의 제어기(controller)는 임의의 원하는 모션을 렌더링하도록 장치에 명령하기 위해 수치 값(즉, 포즈)을 사용하고, 이들 값은 해당 장치에 대한 고유 좌표 시스템(native coordinate system)로 해석된다. 모션 렌더링 시스템(motion coordinate system) 및 카메라에 대한 공통의 글로벌 좌표 시스템(global coordinate system)을 제공하기 위해 모션 좌표 시스템을 선택할 수 있지만, 모션 렌더링 장치의 고유 좌표 시스템을 전체 모션 좌표 시스템으로 선택하는 것이 종종 바람직하다.With additional background knowledge to understand certain calibration principles, including hand-eye calibration for rigid bodies such as calibration plates, motion can be characterized by a pair of poses: the start pose just before the motion and the end pose just after the motion "Pose" here is a virtual feature of the body, defined as a set of numerical values to describe a particular body condition, in a coordinate system placed at one particular moment in time. For example, a rigid body in two dimensions (2D) can be characterized by three numbers, namely the transformation of X, the transformation of Y and rotation (θ). In 3D (3D), a Z (height) transform is added with additional rotations (e.g., θ x , θ y and θ z ) for each X, Y and Z axis (e.g., FIG. 1) Coordinate axes (170, 172). The pose in the context of the calibration plate describes how the calibration plate is displayed on the camera when there is relative motion between the camera and the calibration plate. Generally, in the so-called "hand-eye calibration" standard, the calibration object/plate is presented to the camera in several different poses, each camera acquiring an image of the calibration plate in this pose. For machine vision hand-eye calibration, the calibration plate is typically moved in a plurality of predefined poses where the camera acquires each image of the plate. The goal of this hand-eye calibration is to determine the rigid body pose of the camera and calibration plate in the "motion coordinate system". The motion coordinate system can be defined in various ways. The number of poses (calibration objects/plates and/or specifying where the camera is in space) should be interpreted with an appropriate coordinate system. When a single unified coordinate system is selected, poses and motions are explained/interpreted in the corresponding global coordinate system. This selected coordinate system is often referred to as a "motion coordinate system." Generally, "motion" is provided by a physical device capable of rendering a physical motion such as a robotic arm or a motion stage such as a gantry. Note that the object/plate can move relative to one or more fixed camera(s) or the camera(s) can move relative to the stationary object/plate. The controllers of these motion-rendering devices use numerical values (i.e. poses) to instruct the device to render any desired motion, and these values are a unique coordinate system for that device. (native coordinate system). You can choose a motion coordinate system to provide a common global coordinate system for motion rendering systems and cameras, but selecting a motion rendering device's native coordinate system as the entire motion coordinate system Often preferred.

따라서, 핸드-아이 캘리브레이션은 모션의 렌더링(캘리브레이션 플레이트 이동 또는 카메라 이동) 하고, 및 이동 물체 상의 이러한 모션의 효과를 결정하기 위해 그 모션 전후의 이미지를 획득함으로써 시스템을 단일 모션 좌표 시스템에 캘리브레이션 한다. 추가 배경으로, 이는 모션 좌표 시스템에서 카메라의 외부 포즈를 결정하는 단계를 포함하지 않는(는 "에 자유로운(free of)") 일반적인 고유 및 외부 카메라 캘리브레이션과 다르다. 그러한 경우에, 카메라(들)는 전형적으로 모든 카메라의 관측 시야 내의 특정 위치에 있는 플레이트의 하나의 획득된 이미지를 사용하여 캘리브레이션 플레이트 자체의 좌표 시스템에 대해 모두 캘리브레이션된다. 머신 비전 캘리브레이션 소프트웨어(machine vision calibration software)는 각 카메라가 획득한 플레이트 이미지에서 각 카메라의 상대 위치를 추론한다. 이 캘리브레이션은 "카메라를 플레이트에 캘리브레이션(calibrate cameras to the plate)"하는 반면, 핸드-아이 캘리브레이션은 "모션 좌표 시스템에 카메라를 캘리브레이션(calibrate cameras to the motion coordinate system)" 한다고 한다.Accordingly, hand-eye calibration renders the system (calibration plate movement or camera movement) and calibrates the system to a single motion coordinate system by acquiring images before and after the motion to determine the effect of this motion on the moving object. As an additional background, this differs from the general intrinsic and external camera calibration, which does not involve the step of determining the camera's external pose in the motion coordinate system (which is "free of"). In such cases, the camera(s) are all calibrated against the calibration system of the calibration plate itself, typically using one acquired image of the plate at a specific location within the viewing field of all cameras. Machine vision calibration software infers the relative position of each camera in the plate image acquired by each camera. This calibration is called "calibrate cameras to the plate," while hand-eye calibration is said to "calibrate cameras to the motion coordinate system."

따라서, 비전 시스템이 핸드-아이 캘리브레이션을 사용하는 경우, 소프트웨어는 이미지에서 관찰된 모션 효과를 명령된 모션(명령된 모션 데이터가 알려진)과 상관시켜 포즈를 해결한다. 캘리브레이션의 또 다른 결과는 카메라 이미지의 각 픽셀 위치와 모션 좌표 시스템의 물리적 위치 간의 매핑으로, 이미지 공간에서 위치를 찾은 후에, 모션 좌표 시스템에서의 위치가 변환될 수 있고 모션-렌더링 장치(motion-rendering device)가 그에 작용하도록 명령될 수 있다.Thus, when the vision system uses hand-eye calibration, the software resolves the pose by correlating the motion effect observed in the image with the commanded motion (known as the commanded motion data). Another result of calibration is the mapping between each pixel position in the camera image and the physical position in the motion coordinate system, after locating it in the image space, the position in the motion coordinate system can be transformed and motion-rendering device) can be instructed to act on it.

핸드-아이 캘리브레이션 절차 동안, 도 1의 배치(100)를 일반적으로 다시 참조하면, 사용자는 캘리브레이션 물체가 이동되는 공간 위치를 결정(및 입력)하는 것이 일반적이다. 이 방법은 시간이 많이 걸리며 전체 시스템과 연관 관측 시야를 이해해야 하므로 캘리브레이션 절차에 예기치 않은 오류가 발생할 수 있다. 예를 들어, 일부 시스템은 툴 팁(tool tip)를 로봇 엔드 이펙터(robot end effector)(112)에 장착하고, 사용자로 하여금 로봇을 이동시키고 엔드 이펙터(112)를 안내하여 캘리브레이션 물체(calibration object)(130)의 각인된 패턴과 실제로 접촉하도록 요구한다. 대안적으로, 일부 시스템은 각 모션 축(자유도)을 따라 모션 범위와 단계 크기를 설정해야 한다. 이는 캘리브레이션 물체의 패턴을 카메라의 관측 시야(FOV) 밖으로 이동시키거나 관측 시야의 아주 작은 부분만 커버할 수 있다. 이는 로봇 엔드 이펙터(112) 및/또는 물체(130)의 위치가 로봇과 물체가 서로에 대해 회전하는 것 같은 모션에 기초한 차등 비율로 비전 시스템 카메라(120)의 광축(OA)으로부터 오프셋이 되는 소위 "캔틸레버(cantilever)" 효과의 결과일 수 있다. 이 제한된 데이터 세트로 인해 캘리브레이션에 실패하거나 비전 시스템 응용 프로그램 요구 사항을 충족하지 않는 캘리브레이션이 발생할 수 있다. 신중한 수동 조작 및 테스트를 통해 만족스러운 핸드-아이 캘리브레이션을 얻을 수 있지만, 절차에서 사용자(인간) 개입을 줄이거나 제거하는 것이 바람직하다.During the hand-eye calibration procedure, referring generally back to the arrangement 100 of FIG. 1, the user is typically determined (and input) the spatial location in which the calibration object is to be moved. This method is time consuming and requires understanding the entire system and the associated field of view, which can lead to unexpected errors in the calibration procedure. For example, some systems mount a tool tip to a robot end effector 112, and a user moves the robot and guides the end effector 112 to calibrate the object. It is required to actually contact the imprinted pattern of 130. Alternatively, some systems require setting the motion range and step size along each motion axis (degree of freedom). It can move the pattern of the calibration object out of the camera's field of view (FOV) or cover only a small portion of the field of view. This is the so-called offset of the robot end effector 112 and/or object 130 from the optical axis OA of the vision system camera 120 at a differential rate based on motion, such as the robot and object rotating relative to each other. It may be the result of the "cantilever" effect. This limited data set can cause calibration to fail or cause calibration that does not meet the vision system application requirements. Satisfactory hand-eye calibration can be obtained through careful manual manipulation and testing, but it is desirable to reduce or eliminate user (human) intervention in the procedure.

B. 원격 장착 카메라 및 로봇 장착 캘리브레이션 물체(Remote-mounted Camera and Robot-mounted Calibration Object)B. Remote-mounted Camera and Robot-mounted Calibration Object

도 2를 참조하면, 비전 안내 로봇 배치(vision-guided robot arrangement)(200)의 다른 실시예는 다축 로봇 암 어셈블리(multi-axis robot arm assembly)(210)를 포함할 수 있다. 이는 위에서 설명된 로봇 어셈블리(110)와 상이하거나 유사할 수 있다. 대안적으로, 모션 스테이지와 같은 다른 모션 장치가 본 명세서에 설명된 임의의 배치로 사용될 수 있다. 이 예시적인 배치에서 엔드 이펙터(212)는(예를 들어) 원격으로 고정되어 장착된 비전 시스템 카메라 어셈블리(220)의 관측 시야(OVF1)에 대하여 캘리브레이션 물체/플레이트(230)를 운반 및 이동시킨다. 카메라 어셈블리는 연관 광축(OA1)을 정의하는 센서(S1) 및 광학(O1)을 포함한다. 두 배치(both arrangement)(100 및 200)에서, 카메라는 일반적으로 캘리브레이션 물체에 의해 정의된 평면에 수직이다. 그러나, 캘리브레이션 물체는 높이를 포함하는 3D 특징을 정의할 수 있고, 카메라 어셈블리(120, 220)는 장면 및/또는 3D 센서와 관련하여 타임오브 플라이트(time-of-flight), 초음파 또는 LIDAR 센서와 같은 상이한 방향으로 다수의 개별 카메라를 포함할 수 있다. 위에서 설명한 것처럼, 카메라 어셈블리는 비전 시스템 프로세스(프로세서) 및 연관 컴퓨팅 장치와 상호 연결되고 모션 제어 데이터를 로봇(210)에 제공한다. 이러한 각 배치에서, 로봇은 다른 위치로 이동하여 캘리브레이션 물체 패턴의 이미지를 다른 포즈로 캡처한 다음(예를 들어) 핸드-아이 캘리브레이션 기술을 사용하여 캘리브레이션 파라미터를 계산하는 데 사용된다.Referring to FIG. 2, another embodiment of a vision-guided robot arrangement 200 may include a multi-axis robot arm assembly 210. This may be different or similar to the robot assembly 110 described above. Alternatively, other motion devices, such as motion stages, can be used in any arrangement described herein. In this exemplary arrangement, the end effector 212 (e.g.) carries and moves the calibration object/plate 230 relative to the viewing field of view OVF1 of the remotely mounted and mounted vision system camera assembly 220. The camera assembly includes a sensor S1 and optics O1 defining an associated optical axis OA1. In both arrangements 100 and 200, the camera is generally perpendicular to the plane defined by the calibration object. However, the calibration object can define 3D features, including height, and the camera assemblies 120 and 220 can be used with time-of-flight, ultrasonic or LIDAR sensors in relation to scenes and/or 3D sensors. Multiple individual cameras can be included in the same different direction. As described above, the camera assembly is interconnected with the vision system process (processor) and associated computing device and provides motion control data to the robot 210. In each of these arrangements, the robot is used to move to a different location to capture an image of the calibration object pattern in different poses (e.g.) and then use hand-eye calibration techniques to calculate calibration parameters.

II. 캘리브레이션 절차II. Calibration procedure

전술한 각각의 배치에서 비전 시스템 카메라 어셈블리의 관측 시야 내에서 캘리브레이션 물체의 특징을 유지하는 것은 어려울 수 있다. 따라서, 예시적인 시스템 및 방법은 로봇/모션 장치의 모션 파라미터를 자동으로 결정하고, 카메라의 관측 시야 내에서 공간 위치를 계산하고 캘리브레이션 물체의 특징 패턴을 유지하고, 그에 따라 카메라가 캘리브레이션 물체 특징의 일부를 배제하는 관측 시야를 정의할 수 있는 소위 캔틸레버 효과를 보상하는 핸드-아이 캘리브레이션 방법을 제공한다.In each arrangement described above it can be difficult to maintain the characteristics of the calibration object within the field of view of the vision system camera assembly. Thus, the exemplary systems and methods automatically determine the motion parameters of the robot/motion device, calculate the spatial position within the camera's field of view and maintain the feature pattern of the calibration object, so that the camera is part of the calibration object feature. It provides a hand-eye calibration method that compensates for a so-called cantilever effect that can define an observation field of view.

도 3을 참조하면, 도시된 장면(scene)(300)은 고정 또는 로봇 장착(이동) 카메라 어셈블리의 관측 시야(FOV2)와 관련하여 다양하게 위치된 캘리브레이션 물체(310, 310A)을 도시한다. 캔틸레버는 연관 연장부(extension)(316, 316A 및 316B)로 표현된다. 로봇이나 카메라가 이동할 때, 관측 시야(FOV2)의 오버 슈트(overshoot)를 유발하는 연장부(캔틸레버)에 의해 회전이 과장된다. 따라서, 물체(310A)와 관련하여 도시된 바와 같이, 로봇 단계 모션(robot step motion)으로 인해 일부 또는 모든 캘리브레이션 절차 동안 특징부 중 일부 또는 전부가 관측 시야(OVF2) 외부로 이동했다(화살표(318)). 따라서, 올바른 캘리브레이션이 손상되었거나 사용할 수 없다. 반대로, 본 명세서의 시스템 및 방법의 교시에 따르면, 물체를 관측 시야 내에서(또는 필요한 캘리브레이션 기능 - 적어도 하나는 십자 표시 312, 312A로 표시됨) 전체적으로 또는 실질적으로 관측 시야 내에서 유지하면 적절한 캘리브레이션이 이루어질 수 있다. 관측 시야(FOV2) 내에서, 카메라 및/또는 물체는 절차를 위한 필요한 캘리브레이션 측정을 달성하기 위해 획득된 프레임(frame)(예를 들어, x-y 변환 및 회전(화살표 320)) 사이에서 모션을 진행한다.Referring to FIG. 3, the illustrated scene 300 shows variously positioned calibration objects 310 and 310A with respect to the field of view (FOV2) of a fixed or robot mounted (moving) camera assembly. Cantilevers are represented by associated extensions 316, 316A and 316B. When the robot or camera moves, the rotation is exaggerated by an extension (cantilever) that causes overshoot of the field of view (FOV2). Thus, as shown with respect to object 310A, some or all of the features moved out of the viewing field of view OVF2 during some or all calibration procedures due to robot step motion (arrow 318 )). Therefore, the correct calibration is damaged or cannot be used. Conversely, according to the teachings of the systems and methods herein, proper calibration can be achieved if the object is maintained entirely or substantially within the field of view (or the required calibration function-at least one is indicated by the crosses 312, 312A). Can. Within the field of view (FOV2), the camera and/or object proceeds motion between the frames obtained (eg, xy transform and rotation (arrow 320)) to achieve the necessary calibration measurements for the procedure. .

도 4를 참조하면, 카메라 관측 시야(OV3)가 다시 장면(4000)에 도시되어 있다. 캘리브레이션 특징(십자형 410, 410A 및 410B)은 서로 다른 축(예를 들어, XI 및 YI 및 회전 θZI)을 따라 변환시 표시되며 특징(410A 및 410B)은 각각 명확성을 위해 단일 항목으로 표시된다. 이들 특징(410, 410A 및 410B)은 시스템 및 방법에 따라 핸드-아이 캘리브레이션 결과를 계산하기 위해 캘리브레이션 위치와 함께 사용된다.Referring to FIG. 4, the camera observation field of view OV3 is again depicted in the scene 4000. Calibration features (crosses 410, 410A and 410B) are displayed upon conversion along different axes (eg, X I and Y I and rotation θ ZI ), and features 410A and 410B are each represented as a single item for clarity . These features 410, 410A and 410B are used in conjunction with the calibration location to calculate hand-eye calibration results depending on the system and method.

간단히 요약하면, 시스템 및 방법은 사전 캘리브레이션 프로세스가 관측 시야에서 3 포인트 캘리브레이션을 수행하고 로봇 좌표 공간으로부터 카메라 이미지 좌표 공간으로의 러프 변형(rough transformation)을 계산하도록 동작한다. 사전 캘리브레이션 프로세스는 자동으로 관측 시야에 적응하고 3 포인트 캘리브레이션에 사용될 공간 포인트를 검색한다. 사전 캘리브레이션 프로세스는 또한 로봇 좌표 공간으로부터 카메라 이미지 좌표 공간으로의 러프 변형 및 카메라의 관측 시야 크기에 기초하여 핸드-아이 캘리브레이션을 위한 공간 위치를 계산한다. 사전 캘리브레이션 프로세스는 로봇 캔틸레버를 보상하고 공간 위치를 계산하여 카메라의 관측 시야에서 캘리브레이션 타겟을 지속적으로 유지한다. 핸드-아이 캘리브레이션 프로세스는 사전 캘리브레이션 결과에서 일련의 위치로 이동하고 이미지를 획득하며 캘리브레이션 패턴을 위치시키고 로봇 좌표 시스템으로부터 카메라 좌표 시스템으로의 변형을 계산한다.Briefly summarized, the system and method operate such that the pre-calibration process performs three-point calibration in the field of view and calculates rough transformation from robot coordinate space to camera image coordinate space. The pre-calibration process automatically adapts to the field of view and searches for spatial points to be used for three-point calibration. The pre-calibration process also calculates the spatial position for hand-eye calibration based on the rough deformation from the robot coordinate space to the camera image coordinate space and the size of the field of view of the camera. The pre-calibration process compensates the robot cantilever and calculates the spatial position to maintain the calibration target continuously in the field of view of the camera. The hand-eye calibration process moves from a pre-calibration result to a series of positions, acquires an image, positions a calibration pattern, and calculates a transformation from the robot coordinate system to the camera coordinate system.

도 5의 절차(500)를 추가로 참조하면, 사전 캘리브레이션 프로세스는 로봇 또는 엔드 이펙터 장착 카메라를(상대적으로) 이동시키도록 캘리브레이션 패턴이 카메라 관측 시야의 중심 영역에 있도록 동작한다(단계 510). 그 후, 단계 520에서, 시스템은 3 포인트 캘리브레이션에 사용될 공간 포인트를 검색한다. 이 단계에서, 전체 관측 시야의 크기 및/또는 관측 시야 내의 특징의 간격에 기초하여 작은 미리 정의된 단계(모션 증가) 크기가 설정된다. 절차(procedure)(500)는(결정 단계 530을 통해) 캘리브레이션에서 공간 포인트의 유용성을 결정한다. 그 후 절차(500)는 비전 시스템으로부터의 피드백에 기초하여 단계(동작 증가) 크기(단계 540)를 자동으로 조정한다.Referring further to the procedure 500 of FIG. 5, the pre-calibration process operates such that the calibration pattern is in the center region of the camera viewing field to move (relatively) the robot or end-effector equipped camera (step 510). Then, at step 520, the system searches for spatial points to be used for the three point calibration. In this step, a small predefined step (motion increase) size is set based on the size of the entire viewing field and/or the spacing of features within the viewing field. The procedure 500 (via decision step 530) determines the usefulness of the spatial point in the calibration. The procedure 500 then automatically adjusts the step (increase motion) size (step 540) based on feedback from the vision system.

조정 단계(adjustment step)(540)는 도 6에 더 상세히 도시되어 있다. 현재 단계 크기(current step size)가 설정되고(단계 610), 모션의 상태가 결정된다(즉, 현재 단계 크기가 너무 크거나 너무 작은지). 너무 큰 단계 크기는 로봇에 의한 단계 모션이 캘리브레이션 물체의 일부 또는 모든 기능을 카메라의 관측 시야 밖으로 이동시킬 때 발생한다. 단계가 너무 작으면 정확한 캘리브레이션을 위해 동작이 기능을 해결하기에 충분하지 않은 경우 발생한다. 이는 각 단계에서 특징(들) 사이의 이미지 내에서 미리 결정된 최소 픽셀 거리를 달성하지 못한 것에 기초할 수 있다. 특징(들) 사이의 간격이 최대 픽셀 거리 및/또는 특징의 일부 또는 전부를 초과할 때(또는 캘리브레이션 물체의 한쪽 가장자리의 적어도 일부가 단계 사이에서 관측 시야를 벗어나는 경우) 너무 큰 단계가 발생한다. 비 제한적인 예로서, 너무 큰 단계에 대한 곱셈기(multiplier)는 ½(반감) 일 수 있고, 너무 작은 단계에 대한 곱셈기는 2(두배) 일 수 있다. 다른 곱셈기는 명백하게 고려되며 기본 이미지 특성에 기초하여 고정되거나 가변적일 수 있다 - 예를 들어, 단계가 너무 크거나 작으면 더 크거나 더 작은 곱셈기가 사용될 수 있다. 곱셈기가 생성되고(단계 620), 새로운 단계 크기를 계산하기 위해 적용된다(단계 630). 이 새로운 단계 크기는 매핑 된 좌표 공간에 따라 모션을 제어하기 위해 로봇으로 전송된다(단계 640). 조정 단계/프로세스 540은 모션 단계 사이에서 만족스러운(판독 가능한) 간격의 간격이 달성될 때까지 절차(500)에서 계속되고, 결정 단계 530은 단계 560으로 분기한다.The adjustment step 540 is shown in more detail in FIG. 6. The current step size is set (step 610), and the state of the motion is determined (i.e., the current step size is too large or too small). A step size that is too large occurs when the step motion by the robot moves some or all functions of the calibration object outside the field of view of the camera. If the step is too small, it will occur if the action is not sufficient to solve the function for accurate calibration. This may be based on failing to achieve a predetermined minimum pixel distance within the image between feature(s) at each step. A step that is too large occurs when the distance between the feature(s) exceeds the maximum pixel distance and/or some or all of the feature (or if at least a portion of one edge of the calibration object deviates from the field of view between steps). As a non-limiting example, a multiplier for a step that is too large may be ½ (half), and a multiplier for a step that is too small may be 2 (double). Other multipliers are explicitly considered and can be fixed or variable based on the underlying image characteristics-for example, if the step is too large or too small, a larger or smaller multiplier can be used. A multiplier is created (step 620) and applied to calculate the new step size (step 630). This new step size is sent to the robot to control the motion according to the mapped coordinate space (step 640). The coordination step/process 540 continues in procedure 500 until a satisfactory (readable) interval between motion steps is achieved, and decision step 530 branches to step 560.

절차(500)의 단계 550에서, 적절한(조정된) 단계 크기에서 식별된 특징 포인트를 사용하여 3 포인트 캘리브레이션이 수행된다. 각 단계에서 식별된 특징에 기초하여, 로봇 좌표 공간으로부터 카메라 이미지 좌표 공간으로의 러프 변형이 계산된다. 그 후, 단계 560에서, 절차(500)는 그 러프 변형에 기초하여 캘리브레이션 위치를 계산한다. 위의 절차 단계에서 러프 변형을 사용하여 카메라 관측 시야 내의 모션 공간을 통해 변환/캘리브레이션의 세트 위치가 균일하게 샘플링 된다. 이러한 위치는 사용자 또는 다른 데이터 소스의 선택적 입력(예를 들어, 설정 및 캘리브레이션 프로세스를 수행하는 사용자 인터페이스 사용)으로 사용자 정의할 수 있다. 또한, 회전 위치 세트(set of rotation position)는 회전 중심이 캘리브레이션 타겟에서 멀어지고 큰 각도가 필요한 경우에도 캘리브레이션 패턴을 관측 시야에 유지하면서, 로봇의 캔틸레버를 보상하고 각도 범위를 특정하는 옵션을 사용하여 계산된다. 이는 회전과 함께 추가 변환을 적용하여 수행될 수 있다(예를 들어, 도 3의 화살표(320)).At step 550 of procedure 500, a three point calibration is performed using the feature points identified at the appropriate (adjusted) step size. Based on the features identified at each step, a rough deformation from the robot coordinate space to the camera image coordinate space is calculated. Then, in step 560, the procedure 500 calculates the calibration location based on the rough deformation. In the above procedure step, the set position of the transform/calibration is uniformly sampled through the motion space within the camera observation field using the rough deformation. These locations can be customized by the user or by optional input from another data source (eg, using a user interface to perform the setup and calibration process). In addition, the set of rotation positions uses the option to compensate the robot's cantilever and specify the angular range, while maintaining the calibration pattern in the field of view even when the center of rotation is away from the calibration target and a large angle is required. Is calculated. This can be done by applying additional transformations with rotation (eg, arrow 320 in FIG. 3).

단계 560에서 위치가 계산되면, 로봇은 이들 계산된 위치로 이동하고, 각각의 위치에서의 캘리브레이션 특징은 획득된 물체의 이미지에서 식별된다. 이러한 특징은 좋은 캘리브레이션 결과를 식별할 수 있도록 충분히 변환/회전되어야 한다(도 4의 도표에 예시되어 있음). 비전 시스템은 특징 위치를 사용하여 여기에 일반적으로 설명된 기술에 따라 핸드-아이 캘리브레이션을 수행한다(단계 570).When the positions are calculated in step 560, the robot moves to these calculated positions, and the calibration characteristic at each position is identified in the image of the obtained object. This feature should be sufficiently transformed/rotated to identify good calibration results (illustrated in the diagram of Figure 4). The vision system performs hand-eye calibration in accordance with the techniques generally described herein using feature locations (step 570).

상술된 시스템 및 방법은 단일 비전 시스템 카메라와 관련하여 도시되어 있지만, 본 명세서의 원리는 스테레오 카메라(들)를 포함하는 복수의 카메라 및/또는 이산 이미지 센서(discrete image sensor)에 적용될 수 있다는 것이 명백히 고려된다.Although the systems and methods described above are shown with respect to a single vision system camera, it is apparent that the principles herein can be applied to multiple cameras and/or discrete image sensors, including stereo camera(s). Is considered.

III. 결론III. conclusion

캘리브레이션 물체에 상대적으로 이동하는 로봇을 사용하여 핸드-아이 캘리브레이션을 수행하기 위한 전술한 시스템 및 방법은 캔틸레버 로봇 암 회전이 있는 것처럼 로봇 모션 단계가 너무 크거나 너무 작은 상황에 대해 신뢰성 있고 계산적으로 효율적인 솔루션을 제공한다는 것이 명백하다. 특히, 시스템 및 방법은 자동으로 검색된 단계 크기, 3 포인트 캘리브레이션의 명시적 계산을 제공하며, 여기서 사전 캘리브레이션(pre-calibration)에서 물체 스케일 및/또는 모션 한계가 대략적으로 계산된다. 보다 구체적으로, 여기의 시스템 및 방법은 모션 파라미터를 자동으로 결정하고 공간 위치를 계산하며 카메라의 관측 시야 내에서 캘리브레이션 패턴을 지속적으로 유지한다. 보다 일반적으로, 관측 시야의 지오메트리 및 캘리브레이션 특징(들)의 상대적인 크기(예를 들어, 교차 라인)에 기초한 핸드-아이 캘리브레이션 동안, 시스템 및 방법은 로봇의 모션 범위를 결정하는 것이 바람직하다(다른 모션 장치). 따라서, 특징이 항상 관측 시야 내에(즉, 캘리브레이션 프로세스에 의해 수행되는 일련의 모션 단계 전체에 걸쳐) 항상/지속적으로 유지되도록 보장하도록, 캘리브레이션 특징이 클수록 모션 범위가 작아진다.The aforementioned system and method for performing hand-eye calibration using a robot moving relative to a calibration object is a reliable and computationally efficient solution for situations where the robot motion stage is too large or too small, such as with a cantilever robot arm rotation. It is clear that it provides. In particular, the system and method provide an explicit calculation of the automatically retrieved step size, three point calibration, where the object scale and/or motion limits in pre-calibration are roughly calculated. More specifically, the systems and methods herein automatically determine motion parameters, calculate spatial location, and continuously maintain calibration patterns within the camera's field of view. More generally, during hand-eye calibration based on the geometry of the viewing field and the relative size of the calibration feature(s) (e.g., crossing lines), it is desirable for the system and method to determine the robot's motion range (different motion) Device). Thus, the larger the calibration feature, the smaller the range of motion, to ensure that the feature is always/continually maintained within the field of view (i.e., throughout the series of motion steps performed by the calibration process).

전술한 내용은 본 발명의 예시적인 실시예의 상세한 설명이다. 본 발명의 사상 및 범위를 벗어나지 않고 다양한 수정 및 추가가 이루어질 수 있다. 전술한 다양한 실시예 각각의 특징은 연관된 새로운 실시예에서 다수의 특징 조합을 제공하기 위해 적절하게 다른 설명된 실시예의 특징과 결합될 수 있다. 또한, 전술한 내용은 본 발명의 장치 및 방법의 다수의 개별 실시예를 설명하지만, 본 명세서에서 설명된 것은 본 발명의 원리의 적용을 설명하기위한 것일 뿐이다. 예를 들어, 3 포인트 핸드-아이 캘리브레이션 절차가 사용되지만, 캘리브레이션 결과를 달성하기 위해 3 포인트 이상(2 차원 또는 3 차원)이 사용될 수 있다. 또한, 본 명세서에서 사용된 바와 같이, "프로세스" 및/또는 "프로세서" 라는 용어는 다양한 전자 하드웨어 및/또는 소프트웨어 기반 기능 및 구성 요소(및 대안적으로 기능 "모듈" 또는 "요소"로 지칭될 수 있음)를 포함하도록 광범위하게 취해져야 한다. 또한, 도시된 프로세스 또는 프로세서는 다른 프로세스 및/또는 프로세서와 결합되거나 다양한 서브 프로세스 또는 프로세서로 분할될 수 있다. 이러한 서브 프로세스 및/또는 서브 프로세서는 본 명세서의 실시예에 따라 다양하게 조합될 수 있다. 마찬가지로, 본 명세서에서의 임의의 기능, 프로세스 및/또는 프로세서는 전자 하드웨어, 프로그램 명령의 비 일시적 컴퓨터 판독 가능 매체로 구성된 소프트웨어, 또는 하드웨어와 소프트웨어의 조합을 사용하여 구현될 수 있음이 명백히 고려된다. 또한, 본 명세서에서 사용되는 바와 같이, "수직", "수평", "위", "아래", "하단", "상부", "측면", "전방", "후방", "좌측", "우측"과 같은 다양한 방향 및 위치 용어는 상대적인 관습으로서 만 사용되며 중력의 작용 방향과 같은 고정된 좌표 공간에 대한 절대 방향/배열(directions/disposition)로는 사용되지 않는다. 또한, 주어진 측정, 값 또는 특성과 관련하여 "실질적으로" 또는 "약"이라는 용어가 사용되는 경우, 원하는 결과를 얻기 위해 정상 동작 범위 내에 있지만 수량이 시스템의 허용 공차(예를 들어, 1-5 %) 내에서 고유한 부정확성 및 오류로 인한 변동성을 포함하는 수량을 나타낸다. 따라서, 이 설명은 단지 예로서 취해지고 본 발명의 범주를 달리 제한하지 않는 것으로 의도된다.The foregoing is a detailed description of exemplary embodiments of the invention. Various modifications and additions can be made without departing from the spirit and scope of the invention. The features of each of the various embodiments described above may be combined with features of other described embodiments as appropriate to provide multiple feature combinations in the associated new embodiment. In addition, the foregoing describes a number of individual embodiments of the apparatus and method of the present invention, but what has been described herein is only intended to illustrate the application of the principles of the present invention. For example, a three point hand-eye calibration procedure is used, but three or more points (two-dimensional or three-dimensional) can be used to achieve the calibration results. Also, as used herein, the terms “process” and/or “processor” may be referred to as various electronic hardware and/or software based functions and components (and alternatively functional “modules” or “elements”) Can be used). Further, the illustrated process or processor may be combined with other processes and/or processors or divided into various sub-processes or processors. These sub-processes and/or sub-processors may be variously combined according to embodiments of the present specification. Likewise, it is expressly contemplated that any function, process, and/or processor herein may be implemented using electronic hardware, software consisting of a non-transitory computer readable medium of program instructions, or a combination of hardware and software. In addition, as used herein, "vertical", "horizontal", "top", "bottom", "bottom", "top", "side", "front", "rear", "left", Various direction and position terms such as "right" are used only as relative customs and not as absolute directions/disposition to a fixed coordinate space, such as the direction of action of gravity. In addition, when the terms "substantially" or "about" are used in connection with a given measurement, value or characteristic, within the normal operating range to achieve the desired result, the quantity is within the tolerances of the system (eg 1-5 %) represents the quantity including inherent inaccuracies and volatility due to errors. Accordingly, this description is taken by way of example only and is not intended to otherwise limit the scope of the invention.

Claims (19)

캘리브레이션 물체와 비전 시스템 카메라의 관측 시야(FOV) 사이의 상대 모션을 제공하는 로봇 매니퓰레이터와 함께 동작하는 비전 시스템의 핸드-아이 캘리브레이션을 수행하기 위한 시스템에 있어서,
상기 FOV에서 3 포인트 캘리브레이션을 수행하고 상기 로봇 매니퓰레이터의 좌표 공간으로부터 상기 비전 시스템 카메라의 획득된 이미지의 좌표 공간으로의 러프 변형을 계산하고, 및 상기 러프 변형에 기초하여, 핸드-아이 캘리브레이션을 수행하기에 적합한 복수의 각각의 위치에서 캘리브레이션 물체의 특징의 공간 포인트를 계산하는 사전 캘리브레이션 프로세스; 및
상기 공간 포인트를 사용하여 핸드-아이 캘리브레이션을 수행하는 핸드-아이 캘리브레이션 모듈
을 포함하는
장치.
A system for performing hand-eye calibration of a vision system operating in conjunction with a robot manipulator that provides relative motion between a calibration object and the field of view (FOV) of the vision system camera,
Perform a three point calibration in the FOV and calculate a rough deformation from the coordinate space of the robot manipulator to the coordinate space of the acquired image of the vision system camera, and based on the rough deformation, perform hand-eye calibration A pre-calibration process for calculating spatial points of features of the calibration object at a plurality of respective positions suitable for; And
Hand-eye calibration module for performing hand-eye calibration using the spatial point
Containing
Device.
제1항에 있어서,
상기 러프 변형은,
상기 관측 시야 내에서 캘리브레이션 물체의 특징을 유지하고 상기 공간 포인트 사이의 최소 분리 거리를 제공하기 위하여,
로봇 매니퓰레이터에 의한 반복적인 모션 세트와 공간 포인트 사이의 로봇 모션 단계 크기의 조정에 기초하여 계산되는
장치.
According to claim 1,
The rough deformation,
To maintain the characteristics of a calibration object within the viewing field and provide a minimum separation distance between the spatial points,
Calculated based on the repetitive motion set by the robot manipulator and the adjustment of the robot motion step size between spatial points.
Device.
제2항에 있어서,
상기 공간 포인트는,
선택적 사용자 입력에 기초하여 부분적으로 선택되는
장치.
According to claim 2,
The space point,
Partially selected based on optional user input
Device.
제2항에 있어서,
상기 로봇 매니퓰레이터는,
상기 캘리브레이션 물체와 FOV 사이의 캔틸레버 효과를 유도하는
장치.
According to claim 2,
The robot manipulator,
Inducing a cantilever effect between the calibration object and the FOV
Device.
제4항에 있어서,
사전 캘리브레이션 프로세스는,
상기 캔틸레버 효과를 보상하고 상기 캘리브레이션 물체가 FOV에 유지되도록 공간 위치를 계산하도록 배치되는
장치.
According to claim 4,
The pre-calibration process,
Arranged to calculate the spatial position to compensate for the cantilever effect and to keep the calibration object in FOV
Device.
제4항에 있어서,
상기 비전 시스템 카메라는 상기 로봇 매니퓰레이터와 관련하여 장착되고 로봇 매니퓰레이터와 함께 이동하는
장치.
According to claim 4,
The vision system camera is mounted in relation to the robot manipulator and moves with the robot manipulator.
Device.
제6항에 있어서,
상기 로봇 매니퓰레이터는 다축 로봇 및 모션 스테이지 중 하나를 포함하는
장치.
The method of claim 6,
The robot manipulator comprises one of a multi-axis robot and a motion stage
Device.
제4항에 있어서,
상기 캘리브레이션 물체는 로봇 매니퓰레이터와 관련하여 장착되고 로봇 매니퓰레이터와 함께 이동하는
방법.
According to claim 4,
The calibration object is mounted in relation to the robot manipulator and moves with the robot manipulator.
Way.
제8항에 있어서,
상기 로봇 매니퓰레이터는 다축 로봇 및 모션 스테이지 중 하나를 포함하는
장치.
The method of claim 8,
The robot manipulator comprises one of a multi-axis robot and a motion stage
Device.
제1항에 있어서,
상기 핸드-아이 캘리브레이션은 그들 사이의 모션 단계 크기를 각각 정의하는 일련의 모션 단계에서 수행되고, 및
상기 모션 단계 크기는 (a) 상기 비전 시스템 카메라의 획득된 이미지 픽셀의 크기 및 (b) 현재 모션 단계까지 획득된 캘리브레이션 물체의 적어도 하나의 이미지로부터 결정된 상기 비전 시스템 카메라의 FOV의 크기 중 적어도 하나에 기초하는
장치.
According to claim 1,
The hand-eye calibration is performed in a series of motion steps, each defining a motion step size between them, and
The motion step size is at least one of (a) the size of the acquired image pixel of the vision system camera and (b) the size of the FOV of the vision system camera determined from at least one image of the calibration object acquired up to the current motion step. Based
Device.
제10항에 있어서,
상기 러프 변형은,
상기 관측 시야 내에서 캘리브레이션 물체의 특징을 유지하고 상기 공간 포인트 사이의 최소 분리 거리를 제공하기 위하여,
(a) 3 단계 모션 프로세스 및 (b) 상기 공간 포인트 사이의 로봇 모션 단계 크기를 조정하여 로봇 매니퓰레이터에 의한 반복적인 모션 세트 중 적어도 하나에 기초하여 계산되는
장치.
The method of claim 10,
The rough deformation,
To maintain the characteristics of a calibration object within the viewing field and provide a minimum separation distance between the spatial points,
(a) a three-step motion process and (b) a robot motion step size between the spatial points is adjusted to be calculated based on at least one of the repetitive motion sets by the robot manipulator.
Device.
비전 시스템 카메라에 대한 로봇 매니퓰레이터의 핸드-아이 캘리브레이션 방법에 있어서,
캘리브레이션 타겟과 상기 비전 시스템 카메라의 관측 시야(FOV) 사이의 상대 모션을 제공하는 단계, 및 상기 로봇 매니퓰레이터의 좌표 공간과 상기 비전 시스템의 좌표 공간 사이에서 러프 변형을 생성하는 사전 캘리브레이션 프로세스를 수행하는 단계;
상기 사전 캘리브레이션 프로세스의 결과로부터 복수의 위치로 이동시키는 단계 및 각각의 위치에서 이미지를 획득하는 단계;
상기 이미지에서 캘리브레이션 물체의 특징을 위치시키는 단계; 및
상기 로봇의 좌표 공간으로부터 비전 시스템 카메라의 좌표 공간으로의 핸드-아이 캘리브레이션 변형을 계산하는 단계
를 포함하는
방법.
A method of hand-eye calibration of a robot manipulator for a vision system camera,
Providing a relative motion between a calibration target and the field of view (FOV) of the vision system camera, and performing a pre-calibration process that creates a rough deformation between the coordinate space of the robot manipulator and the coordinate space of the vision system. ;
Moving from a result of the pre-calibration process to a plurality of locations and acquiring an image at each location;
Positioning a characteristic of a calibration object in the image; And
Calculating a hand-eye calibration transformation from the robot's coordinate space to the vision system camera's coordinate space.
Containing
Way.
제12항에 있어서,
상기 러프 변형은,
상기 관측 시야 내에서 캘리브레이션 물체의 특징을 유지하고 상기 공간 포인트 사이의 최소 분리 거리를 제공하기 위하여,
로봇 매니퓰레이터에 의한 반복적인 모션 세트와 공간 포인트 사이의 로봇 모션 단계 크기의 조정에 기초하여 계산되는
방법.
The method of claim 12,
The rough deformation,
To maintain the characteristics of a calibration object within the viewing field and provide a minimum separation distance between the spatial points,
Calculated based on the repetitive motion set by the robot manipulator and the adjustment of the robot motion step size between spatial points.
Way.
제13항에 있어서,
상기 공간 포인트를 선택하는 단계는
선택적인 사용자 입력에 기초하여 선택되는 단계
를 더 포함하는
방법.
The method of claim 13,
The step of selecting the spatial point
Steps selected based on optional user input
Containing more
Way.
제13항에 있어서,
상기 로봇 매니퓰레이터는 캘리브레이션 물체와 FOV 사이의 캔틸레버 효과를 유도하는
방법.
The method of claim 13,
The robot manipulator induces a cantilever effect between the calibration object and the FOV
Way.
제15항에 있어서,
상기 사전 캘리브레이션 프로세스는 캔틸레버 효과를 보상하고, 상기 캘리브레이션 물체가 FOV에 유지되도록 공간 위치를 계산하도록 배치되는
방법.
The method of claim 15,
The pre-calibration process is arranged to compensate for the cantilever effect and to calculate the spatial position so that the calibration object remains in the FOV.
Way.
제14항에 있어서,
(a) 상기 로봇 매니퓰레이터와 관련하여 상기 비전 시스템 카메라를 위치시키고 로봇 매니퓰레이터와 함께 이동시키는 단계, (b) 상기 캘리브레이션 물체를 상기 로봇 매니퓰레이터와 관련하여 위치시키고 상기 로봇 매니퓰레이터와 함께 이동시키는 단계를 더 포함한다
방법.
The method of claim 14,
(a) positioning the vision system camera relative to the robot manipulator and moving it with the robot manipulator, and (b) positioning the calibration object relative to the robot manipulator and moving together with the robot manipulator. do
Way.
제12항에 있어서,
상기 핸드-아이 캘리브레이션 변형을 계산하는 단계는 그들 사이에 모션 단계 크기를 각각 정의하는 일련의 모션 단계를 수행하는 단계를 포함하고, 및
상기 모션 단계 크기는 (a) 상기 비전 시스템 카메라의 획득된 이미지 픽셀의 크기 및 (b) 현재 모션 단계까지 획득된 캘리브레이션 물체의 적어도 하나의 이미지로부터 결정된 상기 비전 시스템 카메라의 FOV의 크기 중 적어도 하나에 기초하는
방법.
The method of claim 12,
The step of calculating the hand-eye calibration deformation includes performing a series of motion steps each defining a motion step size therebetween, and
The motion step size is at least one of (a) the size of the acquired image pixel of the vision system camera and (b) the size of the FOV of the vision system camera determined from at least one image of the calibration object acquired up to the current motion step. Based
Way.
제18항에 있어서,
상기 관측 시야 내에서 캘리브레이션 물체의 특징을 유지하고 상기 공간 포인트 사이의 최소 분리 거리를 제공하기 위하여,
(a) 3 단계 모션 프로세스 및 (b) 상기 공간 포인트 사이의 로봇 모션 단계 크기를 조정하여 로봇 매니퓰레이터에 의한 반복적인 모션 세트 중 적어도 하나에 기초하는
상기 러프 변형을 생성하는 단계
를 더 포함하는
방법.

The method of claim 18,
To maintain the characteristics of a calibration object within the viewing field and provide a minimum separation distance between the spatial points,
based on at least one of a set of repetitive motions by a robot manipulator by (a) three step motion process and (b) resizing the robot motion step between the spatial points.
Generating the rough deformation
Containing more
Way.

KR1020200009919A 2019-01-28 2020-01-28 System and method for automatic hand-eye calibration of vision system for robot motion KR102458415B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220078219A KR102532072B1 (en) 2019-01-28 2022-06-27 System and method for automatic hand-eye calibration of vision system for robot motion

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/258,740 US11911914B2 (en) 2019-01-28 2019-01-28 System and method for automatic hand-eye calibration of vision system for robot motion
US16/258,740 2019-01-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220078219A Division KR102532072B1 (en) 2019-01-28 2022-06-27 System and method for automatic hand-eye calibration of vision system for robot motion

Publications (2)

Publication Number Publication Date
KR20200093464A true KR20200093464A (en) 2020-08-05
KR102458415B1 KR102458415B1 (en) 2022-10-25

Family

ID=71732031

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020200009919A KR102458415B1 (en) 2019-01-28 2020-01-28 System and method for automatic hand-eye calibration of vision system for robot motion
KR1020220078219A KR102532072B1 (en) 2019-01-28 2022-06-27 System and method for automatic hand-eye calibration of vision system for robot motion
KR1020230059692A KR20230070188A (en) 2019-01-28 2023-05-09 System and method for automatic hand-eye calibration of vision system for robot motion

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020220078219A KR102532072B1 (en) 2019-01-28 2022-06-27 System and method for automatic hand-eye calibration of vision system for robot motion
KR1020230059692A KR20230070188A (en) 2019-01-28 2023-05-09 System and method for automatic hand-eye calibration of vision system for robot motion

Country Status (4)

Country Link
US (1) US11911914B2 (en)
JP (2) JP6966582B2 (en)
KR (3) KR102458415B1 (en)
CN (2) CN111482959B (en)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7458741B2 (en) * 2019-10-21 2024-04-01 キヤノン株式会社 Robot control device and its control method and program
US11529742B2 (en) * 2019-10-21 2022-12-20 Silicon Laboratories Inc. Control of low-cost robotics and method therefor
US11878432B2 (en) 2019-10-21 2024-01-23 Silicon Laboratories Inc. Low-cost robotics for placement of integrated circuit and method therefor
CN112001967A (en) * 2020-08-14 2020-11-27 苏州华兴源创科技股份有限公司 Method and device for guiding manipulator to carry object by camera
CN112045682B (en) * 2020-09-02 2022-01-25 亿嘉和科技股份有限公司 Calibration method for solid-state area array laser installation
CN112223285B (en) * 2020-09-30 2022-02-01 南京航空航天大学 Robot hand-eye calibration method based on combined measurement
CN112621743B (en) * 2020-11-19 2022-11-25 深圳众为兴技术股份有限公司 Robot, hand-eye calibration method for fixing camera at tail end of robot and storage medium
CN112847350B (en) * 2020-12-30 2022-03-25 杭州思锐迪科技有限公司 Hand-eye calibration method, system, computer equipment and storage medium
CN113070876A (en) * 2021-03-19 2021-07-06 深圳群宾精密工业有限公司 Manipulator dispensing path guiding and deviation rectifying method based on 3D vision
CN113256708B (en) * 2021-04-07 2022-09-20 深圳群宾精密工业有限公司 Calibration method for theoretical 3D space and actual robot space
CN113211431B (en) * 2021-04-16 2022-07-01 中铁第一勘察设计院集团有限公司 Pose estimation method based on two-dimensional code correction robot system
CN113208731B (en) * 2021-04-23 2023-02-10 上海大学 Binocular vision system-based hand and eye calibration method for surgical puncture robot
CN113400298B (en) * 2021-05-10 2022-04-08 埃夫特智能装备股份有限公司 Public-view-free multi-camera positioning large workpiece and industrial robot position compensation method
CN113263501A (en) * 2021-05-28 2021-08-17 湖南三一石油科技有限公司 Method and device for controlling racking platform manipulator and storage medium
EP4101604A1 (en) * 2021-06-09 2022-12-14 Ebots, Inc. System and method for improving accuracy of 3d eye-to-hand coordination of a robotic system
CN113172636B (en) * 2021-06-29 2021-11-02 深圳市越疆科技有限公司 Automatic hand-eye calibration method and device and storage medium
CN113744341A (en) * 2021-07-21 2021-12-03 北京旷视科技有限公司 Camera pose calibration method and device for robot system and electronic equipment
CN113733082A (en) * 2021-08-16 2021-12-03 太仓攻壳科技有限公司 Industrial robot kinematics parameter calibration method based on linear displacement sensor
CN115892802A (en) * 2021-08-26 2023-04-04 深圳市海柔创新科技有限公司 Compensation parameter generation method and device for sensor device
CN113733088B (en) * 2021-09-07 2024-05-14 河南大学 Mechanical arm kinematics self-calibration method based on binocular vision
CN114406985B (en) * 2021-10-18 2024-04-12 苏州迪凯尔医疗科技有限公司 Mechanical arm method, system, equipment and storage medium for target tracking
CN114770461B (en) * 2022-04-14 2023-12-01 深圳技术大学 Mobile robot based on monocular vision and automatic grabbing method thereof
CN114700989A (en) * 2022-04-24 2022-07-05 安吉八塔机器人有限公司 Automatic leveling device for plane camera and control method thereof
CN114799803A (en) * 2022-05-25 2022-07-29 天津大学 Nine-shaft series connection type macro-micro combination assembling robot system
JP2024033308A (en) * 2022-08-30 2024-03-13 川崎重工業株式会社 Robot system, and control method of robot system
CN115284296A (en) * 2022-08-31 2022-11-04 深圳前海瑞集科技有限公司 Hand-eye calibration method, robot and robot operation method
KR102592603B1 (en) 2023-02-22 2023-10-23 주식회사 시스템알앤디 Monitoring method for vision inspection apparatus
CN116038720B (en) * 2023-04-03 2023-08-11 广东工业大学 Hand-eye calibration method, device and equipment based on point cloud registration

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043024B2 (en) * 2011-08-05 2015-05-26 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. Vision correction method for tool center point of a robot manipulator
KR20170087996A (en) * 2016-01-21 2017-08-01 현대로보틱스주식회사 Calibration apparatus and the method for robot
KR20180080630A (en) * 2017-01-04 2018-07-12 삼성전자주식회사 Robot and electronic device for performing hand-eye calibration

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5083073A (en) 1990-09-20 1992-01-21 Mazada Motor Manufacturing U.S.A. Corp. Method and apparatus for calibrating a vision guided robot
EP0522751B1 (en) * 1991-07-01 1998-04-01 General Electric Company Polycarbonate-polysiloxane block copolymers
JP3483007B2 (en) * 1994-04-28 2004-01-06 出光石油化学株式会社 Modified polyorganosiloxane and method for producing the same
JPH08118272A (en) 1994-10-20 1996-05-14 Toyota Motor Corp Calibration of robot
JPH08210816A (en) 1995-02-03 1996-08-20 Fanuc Ltd Coordinate system connection method for determining relationship between sensor coordinate system and robot tip part in robot-visual sensor system
JP3831834B2 (en) * 1997-11-06 2006-10-11 株式会社カネカ Curing agent, curable composition and foamable resin composition using the curing agent, foam using the foamable resin composition, and method for producing the same
CA2369845A1 (en) 2002-01-31 2003-07-31 Braintech, Inc. Method and apparatus for single camera 3d vision guided robotics
EP1472052A2 (en) 2002-01-31 2004-11-03 Braintech Canada, Inc. Method and apparatus for single camera 3d vision guided robotics
DE10242710A1 (en) 2002-09-13 2004-04-08 Daimlerchrysler Ag Method for producing a connection area on a workpiece
JP2005247195A (en) 2004-03-05 2005-09-15 Toyota Auto Body Co Ltd Vehicle seat
DE102004024378B4 (en) * 2004-05-17 2009-05-20 Kuka Roboter Gmbh Method for robot-assisted measurement of objects
JP2007292113A (en) 2006-04-21 2007-11-08 Ntn Corp Bearing with rotation sensor
JP5083194B2 (en) 2008-12-18 2012-11-28 株式会社デンソーウェーブ Robot calibration method and robot control apparatus
EP2255930A1 (en) 2009-05-27 2010-12-01 Leica Geosystems AG Method and system for extremely precise positioning of at least one object in the end position in space
JP4763074B2 (en) 2009-08-03 2011-08-31 ファナック株式会社 Measuring device and measuring method of position of tool tip of robot
US11699247B2 (en) 2009-12-24 2023-07-11 Cognex Corporation System and method for runtime determination of camera miscalibration
US9393694B2 (en) 2010-05-14 2016-07-19 Cognex Corporation System and method for robust calibration between a machine vision system and a robot
KR101816500B1 (en) 2010-08-26 2018-01-09 이데미쓰 고산 가부시키가이샤 Polycarbonate resin composition
JP5371927B2 (en) 2010-10-27 2013-12-18 三菱電機株式会社 Coordinate system calibration method and robot system
JP5561260B2 (en) 2011-09-15 2014-07-30 株式会社安川電機 Robot system and imaging method
EP2722136A1 (en) 2012-10-19 2014-04-23 inos Automationssoftware GmbH Method for in-line calibration of an industrial robot, calibration system for performing such a method and industrial robot comprising such a calibration system
US10953609B1 (en) * 2013-03-22 2021-03-23 Markforged, Inc. Scanning print bed and part height in 3D printing
ES2522921B2 (en) * 2013-05-17 2015-07-30 Loxin 2002, S.L. Head and automatic machining procedure with vision
JP6468741B2 (en) 2013-07-22 2019-02-13 キヤノン株式会社 Robot system and robot system calibration method
WO2015058297A1 (en) 2013-10-25 2015-04-30 Vakanski Aleksandar Image-based trajectory robot programming planning approach
CN104827480A (en) 2014-02-11 2015-08-12 泰科电子(上海)有限公司 Automatic calibration method of robot system
JP5850962B2 (en) 2014-02-13 2016-02-03 ファナック株式会社 Robot system using visual feedback
JP6164123B2 (en) 2014-03-14 2017-07-19 信越化学工業株式会社 Curable composition, mesogenic group-containing cured product and method for producing the same
US9549781B2 (en) 2014-05-30 2017-01-24 The Johns Hopkins University Multi-force sensing surgical instrument and method of use for robotic surgical systems
JP6415190B2 (en) 2014-09-03 2018-10-31 キヤノン株式会社 ROBOT DEVICE, ROBOT CONTROL PROGRAM, RECORDING MEDIUM, AND ROBOT DEVICE CONTROL METHOD
KR101841684B1 (en) 2015-10-15 2018-03-26 주식회사 삼양사 Polysiloxane-polycarbonate copolymer having improved transparency and flame retardancy and method for preparing the same
CN106767393B (en) 2015-11-20 2020-01-03 沈阳新松机器人自动化股份有限公司 Hand-eye calibration device and method for robot
KR102073254B1 (en) 2016-01-07 2020-02-04 주식회사 엘지화학 Polycarbonate based resin composition with flame resistance and molded articles thereof
JP6524971B2 (en) * 2016-06-14 2019-06-05 株式会社デンソー Load fluctuation detection device
US10076842B2 (en) 2016-09-28 2018-09-18 Cognex Corporation Simultaneous kinematic and hand-eye calibration
DE102017107593B4 (en) 2017-04-07 2023-04-27 Deutsches Zentrum für Luft- und Raumfahrt e.V. Method for determining unknown transformations
KR102178647B1 (en) 2017-12-26 2020-11-13 주식회사 엘지화학 Polycarbonate based resin composition and molded articles thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043024B2 (en) * 2011-08-05 2015-05-26 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. Vision correction method for tool center point of a robot manipulator
KR20170087996A (en) * 2016-01-21 2017-08-01 현대로보틱스주식회사 Calibration apparatus and the method for robot
KR20180080630A (en) * 2017-01-04 2018-07-12 삼성전자주식회사 Robot and electronic device for performing hand-eye calibration

Also Published As

Publication number Publication date
KR20230070188A (en) 2023-05-22
US11911914B2 (en) 2024-02-27
JP6966582B2 (en) 2021-11-17
KR20220098699A (en) 2022-07-12
CN117047757A (en) 2023-11-14
JP2020116734A (en) 2020-08-06
KR102532072B1 (en) 2023-05-11
CN111482959B (en) 2023-08-22
KR102458415B1 (en) 2022-10-25
US20200238525A1 (en) 2020-07-30
JP2022028672A (en) 2022-02-16
CN111482959A (en) 2020-08-04

Similar Documents

Publication Publication Date Title
KR102458415B1 (en) System and method for automatic hand-eye calibration of vision system for robot motion
KR102280663B1 (en) Calibration method for robot using vision technology
JP6770605B2 (en) Vision system for training the assembly system by virtual assembly of the object
KR102276259B1 (en) Calibration and operation of vision-based manipulation systems
US9519736B2 (en) Data generation device for vision sensor and detection simulation system
CN111801198A (en) Hand-eye calibration method, system and computer storage medium
KR20140106421A (en) System and method for calibration of machine vision cameras along at least three discrete planes
TWI699264B (en) Correction method of vision guided robotic arm
EP4101604A1 (en) System and method for improving accuracy of 3d eye-to-hand coordination of a robotic system
JP2019077026A (en) Control device, robot system, and control device operating method and program
US20220395981A1 (en) System and method for improving accuracy of 3d eye-to-hand coordination of a robotic system
JP2021024053A (en) Correction method of visual guidance robot arm
US20230130816A1 (en) Calibration system, calibration method, and calibration apparatus
US20230123629A1 (en) 3d computer-vision system with variable spatial resolution
WO2022244212A1 (en) Imaging device for calculating three-dimensional position on the basis of image captured by visual sensor
WO2022163580A1 (en) Processing method and processing device for generating cross-sectional image from three-dimensional position information acquired by visual sensor
KR100784734B1 (en) Error compensation method for the elliptical trajectory of industrial robot
WO2022249410A1 (en) Imaging device for calculating three-dimensional position on the basis of image captured by visual sensor
US20240066701A1 (en) Simulation device using three-dimensional position information obtained from output from vision sensor

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant