KR102458415B1 - 로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법 - Google Patents

로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법 Download PDF

Info

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

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

본 발명은 핸드-아이 캘리브레이션의 움직임 파라미터를 자동으로 결정하고 사람의 개입을 최소화하면서 캘리브레이션 절차를 수행하는 시스템 및 방법을 제공한다. 사전 캘리브레이션 중 핸드-아이 캘리브레이션 동작 파라미터 및 공간 위치를 자동으로 계산하여, 캘리브레이션 패턴은 비전 시스템 카메라의 전체 관측 시야(field of view) (FOV) 내에 지속적으로 유지되어 완전 자동 핸드-아이 캘리브레이션 프로세스를 제공할 수 있다. 이 시스템 및 방법은 유리하게 로봇 기반 핸드-아이 캘리브레이션 환경에서 동작하며 캘리브레이션 대상과 FOV 사이의 캔틸레버 효과를 보상할 수 있다. 핸드-아이 캘리브레이션은 로봇 좌표 공간에서 카메라 좌표 공간으로의 변환을 계산한다. 이것은 일반적으로 카메라가 이미지를 획득하고 각각의 위치에서 물체 상에 캘리브레이션 피처를 배치하여 로봇과 카메라 사이의 관계를 설정하는 일련의 공간 위치를 통해 로봇을 수동으로 이동시킬 필요를 피한다.

Description

로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법{SYSTEM AND METHOD FOR AUTOMATIC HAND-EYE CALIBRATION OF VISION SYSTEM FOR ROBOT MOTION}
본 출원은 머신 비전 시스템(machine vision system)에 관한 것으로, 보다 상세하게는 로봇 매니퓰레이터(robot manipulator)와 함께 이러한 시스템을 캘리브레이션 하기 위한 시스템 및 방법에 관한 것이다.
머신 비전 시스템(본 명세서에서 "비전 시스템(vision system)"으로도 지칭됨)에서, 하나 이상의 카메라는 이미지화된 장면 내의 물체 또는 표면에 대한 비전 시스템 프로세스(vision system process)를 수행하는 데 사용된다. 이러한 프로세스는 하나 또는 그 이상의 자유도 및/또는 치수에 관하여 조작하고 이의를 제기하는데 사용되는 로봇 암의 모션 또는 모션 스테이지를 제어하는 것과 같은, 검사(inspection), 심볼 디코딩(decoding of symbology), 정렬(alignment) 및 다른 자동화된 작업을 포함한다. 보다 구체적으로, 비전 시스템은 이미지화된 장면 내에서 조작되는 평평한 작업물을 검사하는데 사용될 수 있다. 장면은 일반적으로 연관된 비전 시스템 프로세스를 동작하여 결과 - 예를 들어 부품 정렬 - 를 생성하는 내부 또는 외부 비전 시스템 프로세서를 포함할 수 있는 하나 이상의 비전 시스템 카메라에 의해 이미지가 생성된다. 충분한 정확도와 신뢰성으로 비전 작업을 수행할 수 있도록 하나 이상의 카메라를 캘리브레이션 하는 것이 일반적으로 바람직하다. 카메라를 캘리브레이션 하기 위해 캘리브레이션 물체(object)를 사용할 수 있다.
캘리브레이션 물체(종종 평면, "플레이트" 형태로 구성)는 표면에 뚜렷한(종종 모자이크상(tessellated)의) 패턴이 있는 평평한 물체로 제공될 수 있다. 이 독특한 패턴은 일반적으로 조심스럽고 정밀하게 설계되어 사용자가 카메라로 획득한 플레이트 이미지에서 각 가시적 특징을 쉽게 식별할 수 있다. 일부 예시적인 패턴은 도트 그리드, 라인 그리드, 십자형, 또는 허니컴 패턴, 삼각형의 체크보드(checkerboard) 등을 포함하지만 이에 제한되지는 않는다. 전형적으로, 각각의 가시적 특징의 특성은 설계 내에 암시적으로 정의된 레퍼런스 위치 및/또는 좌표 시스템에 대한 위치 및/또는 배향과 같은 기판의 설계로부터 알려져 있다.
캘리브레이션 물체(Calibration object)는 비전 시스템과 관련하여 원하는 캘리브레이션 파라미터를 얻기 위해 다양한 방식으로 사용된다. 비 제한적인 예로서, 캘리브레이션 물체는 로봇의 매니퓰레이터(또는 엔드 이펙터(end effector))에 대하여 장착될 수 있다. 로봇은 비전 시스템의 좌표 공간에 대한 로봇의 좌표 공간에 대하여 원하는 캘리브레이션 파라미터를 생성하기 위해 캘리브레이션 물체를 복수의 개별 위치로 이동시킨다. 그러나, 매니퓰레이터의 모션은 때로는 부분적으로 소위 캔틸레버 효과로 인해 비전 시스템의 관측 시야 밖에서 캘리브레이션 물체의 전부 또는 일부를 위치시킬 수 있다. 이는 캘리브레이션 프로세스의 속도, 정확성 및/또는 견고성을 제한할 수 있다.
본 발명은 핸드-아이 캘리브레이션(hand-eye calibration)의 모션 파라미터(motion parameter)를 자동으로 결정하고 최소한의 사람의 개입으로 캘리브레이션 절차(calibration procedure)를 수행하는 시스템 및 방법을 제공함으로써 종래 기술의 단점을 극복한다. 보다 구체적으로, 시스템 및 방법은 사전 캘리브레이션 동안 핸드-아이 캘리브레이션 모션 파라미터 및 공간 위치를 자동으로 계산하여, 캘리브레이션 패턴은 비전 시스템 카메라의 전체 관측 시야(field of view)(FOV) 내에서 지속적으로(항상) 유지/보유될 수 있고 완전 자동 핸드-아이 캘리브레이션 프로세스를 제공한다. 이 시스템 및 방법은 유리하게 로봇 기반 핸드-아이 캘리브레이션 환경에서 동작하고 캘리브레이션 타겟과 FOV 사이의 캔틸레버 효과를 보상할 수 있다. 핸드-아이 캘리브레이션은 로봇 좌표 공간(robot coordinate space)으로부터 카메라 좌표 공간(camera coordinate space)으로의 변형을 계산한다. 이것은 일반적으로 카메라가 공간 위치 세트를 통해 로봇을 수동으로 이동할(사용자에 의해) 필요가 없는데, 여기서 로봇과 카메라 사이의 관계(공간 변형)를 설정하기 위하여 카메라는 이미지를 획득하고 각 위치에서 물체에 대한 캘리브레이션 특징을 위치시킨다.
예시적인 실시예에서, 로봇 매니퓰레이터(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) 공간 포인트 사이에서 로봇 모션 단계 크기를 조정하여 로봇 매니퓰레이터에 의한 반복적인 모션 세트 중 적어도 하나에 기초하여 계산될 수 있다.
이하의 본 발명의 설명은 첨부 도면을 참조하며:
도 1은 예시적인 실시예에 따른 캘리브레이션 플레이트를 이미지화 하기 위한 엔드 이펙터에 비전 시스템 카메라가 장착된 로봇 매니퓰레이터 어셈블리의 도면이다;
도 2는 다른 예시적인 실시예에 따라 로봇 엔드 이펙터에 의해 조작된 캘리브레이션 플레이트를 이미지 하기 위해, 원격에 장착된 비전 시스템 카메라를 갖는 로봇 매니퓰레이터 어셈블리의 도면이다;
도 3은 비전 시스템 카메라 관측 시야(FOV)와 로봇 매니퓰레이터 사이의 상대 운동으로 인한 캘리브레이션 타겟에 대한 캔틸레버 효과를 도시한 상면도이며, 캔틸레버에 대한 보상을 위해 시스템 및 방법에 의해 수행된 조정을 포함한다;
도 4는 본 명세서에서 사전 캘리브레이션 프로세스에 따라 특징 위치 사이에서 변환 및 회전을 제공하는 일련의 이동 단계를 갖는 연관 캘리브레이션 특징(예를 들어, 교차 라인)을 갖는 예시적인 캘리브레이션 물체의 평면도이다;
도 5는 캘리브레이션 모션 단계 동안 캘리브레이션 물체를 관측 시야 내에서 연속적으로 유지하는 러프 공간 위치를 제공하기 위한 사전 캘리브레이션 절차를 포함하는, 캔틸레버 효과가 있는 상태에서 핸드-아이 캘리브레이션을 수행하기 위한 절차를 도시한 흐름도이다; 및
도 6은 도 5의 사전 캘리브레이션 프로세스에서 단계 크기의 조정을 수행하기 위한 보다 상세한 절차의 흐름도이다.
I. 시스템 개요
A. 로봇 장착 카메라 및 고정 캘리브레이션 물체
[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)는 엔드 이펙터 매니퓰레이터와 함께 이동하고 엔드 이펙터가 작업 공간 주위를 이동할 때 그 모션이 안내(및 물체가 정렬될 수 있도록)되게 한다.
카메라 어셈블리(120)는 이미지 센서(S) 및 연관 고정 또는 가변 광학 장치(O)를 포함한다. 카메라 어셈블리(120)는 적절한 데이터 링크(유선 및/또는 무선)를 통해 비전 시스템 프로세스(프로세서)(process(or))(140)에 상호 연결된다. 프로세스(프로세서)(140)는 카메라 어셈블리 하우징(120)의 일부(전체 또는 일부) 및/또는 PC, 랩톱, 서버, 태블릿 또는 스마트 폰과 같은 별도의 컴퓨팅 장치(computing device)(150)를 포함하여 다양한 방식으로 예시될 수 있다. 이 컴퓨팅 장치(150)는 또한 본 명세서에 기술된 바와 같이 비전 시스템의 셋업 및/또는 캘리브레이션에서 사용자를 보조하는데 사용될 수 있다. 예로서, 컴퓨팅 장치(150)는 디스플레이 및/또는 터치 스크린(152), 키보드 기능(154) 및(예를 들어) 마우스(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)는 보다 일반적으로(예를 들어) 핸드-아이 캘리브레이션 기술을 사용하여 획득된 캘리브레이션 파라미터를 사용하여 카메라 좌표 공간(172)을 로봇의 모션 좌표 공간(170)으로 변환한다. 로봇 좌표 공간(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)로 변환된다.
캘리브레이션 플레이트와 같은 강체에 대한 핸드-아이 캘리브레이션을 포함한 특정 캘리브레이션 원리를 이해하는 데 추가 배경 지식에 의하면, 모션은 한 쌍의 포즈에 의해 특징 지워질 수 있다: 모션 직전의 시작 포즈 및 모션 직후의 끝 포즈 - 여기서 "포즈(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)을 제공하기 위해 모션 좌표 시스템을 선택할 수 있지만, 모션 렌더링 장치의 고유 좌표 시스템을 전체 모션 좌표 시스템으로 선택하는 것이 종종 바람직하다.
따라서, 핸드-아이 캘리브레이션은 모션(캘리브레이션 플레이트의 이동 또는 카메라의 이동)을 렌더링하고, 이동 물체 상의 이러한 모션의 효과를 결정하기 위해 그 모션 전후의 이미지를 획득함으로써 시스템을 단일 모션 좌표 시스템에 캘리브레이션 한다. 추가 배경으로, 이는 모션 좌표 시스템에서 카메라의 외부 포즈를 결정하는 단계를 포함하지 않는(는 "에 자유로운(free of)") 일반적인 고유 및 외부 카메라 캘리브레이션과 다르다. 그러한 경우에, 카메라(들)는 전형적으로 모든 카메라의 관측 시야 내의 특정 위치에 있는 플레이트의 하나의 획득된 이미지를 사용하여 캘리브레이션 플레이트 자체의 좌표 시스템에 대해 모두 캘리브레이션된다. 머신 비전 캘리브레이션 소프트웨어(machine vision calibration software)는 각 카메라가 획득한 플레이트 이미지에서 각 카메라의 상대 위치를 추론한다. 이 캘리브레이션은 "카메라를 플레이트에 캘리브레이션(calibrate cameras to the plate)"하는 반면, 핸드-아이 캘리브레이션은 "모션 좌표 시스템에 카메라를 캘리브레이션(calibrate cameras to the motion coordinate system)" 한다고 한다.
따라서, 비전 시스템이 핸드-아이 캘리브레이션을 사용하는 경우, 소프트웨어는 이미지에서 관찰된 모션 효과를 명령된 모션(명령된 모션 데이터가 알려진)과 상관시켜 포즈를 해결한다. 캘리브레이션의 또 다른 결과는 카메라 이미지의 각 픽셀 위치와 모션 좌표 시스템의 물리적 위치 간의 매핑으로, 이미지 공간에서 위치를 찾은 후에, 모션 좌표 시스템에서의 위치가 변환될 수 있고 모션-렌더링 장치(motion-rendering device)가 그에 작용하도록 명령될 수 있다.
핸드-아이 캘리브레이션 절차 동안, 도 1의 배치(100)를 일반적으로 다시 참조하면, 사용자는 캘리브레이션 물체가 이동되는 공간 위치를 결정(및 입력)하는 것이 일반적이다. 이 방법은 시간이 많이 걸리며 전체 시스템과 연관 관측 시야를 이해해야 하므로 캘리브레이션 절차에 예기치 않은 오류가 발생할 수 있다. 예를 들어, 일부 시스템은 툴 팁(tool tip)를 로봇 엔드 이펙터(robot end effector)(112)에 장착하고, 사용자로 하여금 로봇을 이동시키고 엔드 이펙터(112)를 안내하여 캘리브레이션 물체(calibration object)(130)의 각인된 패턴과 실제로 접촉하도록 요구한다. 대안적으로, 일부 시스템은 각 모션 축(자유도)을 따라 모션 범위와 단계 크기를 설정해야 한다. 이는 캘리브레이션 물체의 패턴을 카메라의 관측 시야(FOV) 밖으로 이동시키거나 관측 시야의 아주 작은 부분만 커버할 수 있다. 이는 로봇 엔드 이펙터(112) 및/또는 물체(130)의 위치가 로봇과 물체가 서로에 대해 회전하는 것 같은 모션에 기초한 차등 비율(differential rate)로 비전 시스템 카메라(120)의 광축(OA)으로부터 오프셋(offset)이 되는 소위 "캔틸레버(cantilever)" 효과의 결과일 수 있다. 이 제한된 데이터 세트로 인해 캘리브레이션에 실패하거나 비전 시스템 응용 프로그램 요구 사항을 충족하지 않는 캘리브레이션이 발생할 수 있다. 신중한 수동 조작 및 테스트를 통해 만족스러운 핸드-아이 캘리브레이션을 얻을 수 있지만, 절차에서 사용자(인간) 개입을 줄이거나 제거하는 것이 바람직하다.
B. 원격 장착 카메라 및 로봇 장착 캘리브레이션 물체(Remote-mounted Camera and Robot-mounted Calibration Object)
도 2를 참조하면, 비전 안내 로봇 배치(vision-guided robot arrangement)(200)의 다른 실시예는 다축 로봇 암 어셈블리(multi-axis robot arm assembly)(210)를 포함할 수 있다. 이는 위에서 설명된 로봇 어셈블리(110)와 상이하거나 유사할 수 있다. 대안적으로, 모션 스테이지와 같은 다른 모션 장치가 본 명세서에 설명된 임의의 배치로 사용될 수 있다. 이 예시적인 배치에서 엔드 이펙터(212)는(예를 들어) 원격으로 고정되어 장착된 비전 시스템 카메라 어셈블리(220)의 관측 시야(FOV1)에 대하여 캘리브레이션 물체/플레이트(230)를 운반 및 이동시킨다. 카메라 어셈블리는 연관 광축(OA1)을 정의하는 센서(S1) 및 광학(O1)을 포함한다. 두 배치(both arrangement)(100 및 200)에서, 카메라는 일반적으로 캘리브레이션 물체에 의해 정의된 평면에 수직이다. 그러나, 캘리브레이션 물체는 높이를 포함하는 3D 특징을 정의할 수 있고, 카메라 어셈블리(120, 220)는 장면 및/또는 3D 센서와 관련하여 타임오브 플라이트(time-of-flight), 초음파 또는 LIDAR 센서와 같은 상이한 방향으로 다수의 개별 카메라를 포함할 수 있다. 위에서 설명한 것처럼, 카메라 어셈블리는 비전 시스템 프로세스(프로세서) 및 연관 컴퓨팅 장치와 상호 연결되고 모션 제어 데이터를 로봇(210)에 제공한다. 이러한 각 배치에서, 로봇은 다른 위치로 이동하여 캘리브레이션 물체 패턴의 이미지를 다른 포즈로 캡처한 다음(예를 들어) 핸드-아이 캘리브레이션 기술을 사용하여 캘리브레이션 파라미터를 계산하는 데 사용된다.
II. 캘리브레이션 절차
전술한 각각의 배치에서 비전 시스템 카메라 어셈블리의 관측 시야 내에서 캘리브레이션 물체의 특징을 유지하는 것은 어려울 수 있다. 따라서, 예시적인 시스템 및 방법은 로봇/모션 장치의 모션 파라미터를 자동으로 결정하고, 카메라의 관측 시야 내에서 공간 위치를 계산하고 캘리브레이션 물체의 특징 패턴을 유지하고, 그에 따라 카메라가 캘리브레이션 물체 특징의 일부를 배제하는 관측 시야를 정의할 수 있는 소위 캔틸레버 효과를 보상하는 핸드-아이 캘리브레이션 방법을 제공한다.
도 3을 참조하면, 도시된 장면(scene)(300)은 고정 또는 로봇 장착(이동) 카메라 어셈블리의 관측 시야(FOV2)와 관련하여 다양하게 위치된 캘리브레이션 물체(310, 310A)을 도시한다. 캔틸레버는 연관 연장부(extension)(316, 316A 및 316B)로 표현된다. 로봇이나 카메라가 이동할 때, 관측 시야(FOV2)의 오버 슈트(overshoot)를 유발하는 연장부(캔틸레버)에 의해 회전이 과장(exaggerate)된다. 따라서, 물체(310A)와 관련하여 도시된 바와 같이, 로봇 단계 모션(robot step motion)으로 인해, 일부 또는 모든 캘리브레이션 절차 동안, 특징부 중 일부 또는 전부가 관측 시야(OVF2)의 외부로 이동했다(화살표(318)). 따라서, 올바른 캘리브레이션이 손상되었거나 사용할 수 없다. 반대로, 본 명세서의 시스템 및 방법의 교시에 따르면, 물체를 관측 시야 내에서(또는 필요한 캘리브레이션 기능 - 적어도 하나는 십자 표시 312, 312A로 표시됨) 전체적으로 또는 실질적으로 관측 시야 내에서 유지하면 적절한 캘리브레이션이 이루어질 수 있다. 관측 시야(FOV2) 내에서, 카메라 및/또는 물체는 절차를 위한 필요한 캘리브레이션 측정을 달성하기 위해 획득된 프레임(frame)(예를 들어, x-y 변환 및 회전(화살표 320)) 사이에서 모션을 진행한다.
도 4를 참조하면, 카메라 관측 시야(OV3)가 다시 장면(4000)에 도시되어 있다. 캘리브레이션 특징(십자형 410, 410A 및 410B)은 서로 다른 축(예를 들어, XI 및 YI 및 회전 θZI)을 따라 변환시 표시되며 특징(410A 및 410B)은 각각 명확성을 위해 단일 항목으로 표시된다. 이들 특징(410, 410A 및 410B)은 시스템 및 방법에 따라 핸드-아이 캘리브레이션 결과를 계산하기 위해 캘리브레이션 위치와 함께 사용된다.
간단히 요약하면, 시스템 및 방법은 사전 캘리브레이션 프로세스가 관측 시야에서 3 포인트 캘리브레이션을 수행하고 로봇 좌표 공간으로부터 카메라 이미지 좌표 공간으로의 러프 변형(rough transformation)을 계산하도록 동작한다. 사전 캘리브레이션 프로세스는 자동으로 관측 시야에 적응하고 3 포인트 캘리브레이션에 사용될 공간 포인트를 검색한다. 사전 캘리브레이션 프로세스는 또한 로봇 좌표 공간으로부터 카메라 이미지 좌표 공간으로의 러프 변형 및 카메라의 관측 시야 크기에 기초하여 핸드-아이 캘리브레이션을 위한 공간 위치를 계산한다. 사전 캘리브레이션 프로세스는 로봇 캔틸레버를 보상하고 공간 위치를 계산하여 카메라의 관측 시야에서 캘리브레이션 타겟을 지속적으로 유지한다. 핸드-아이 캘리브레이션 프로세스는 사전 캘리브레이션 결과에서 일련의 위치로 이동하고 이미지를 획득하며 캘리브레이션 패턴을 위치시키고 로봇 좌표 시스템으로부터 카메라 좌표 시스템으로의 변형을 계산한다.
도 5의 절차(500)를 추가로 참조하면, 사전 캘리브레이션 프로세스는 로봇 또는 엔드 이펙터 장착 카메라를(상대적으로) 이동시키도록 캘리브레이션 패턴이 카메라 관측 시야의 중심 영역에 있도록 동작한다(단계 510). 그 후, 단계 520에서, 시스템은 3 포인트 캘리브레이션에 사용될 공간 포인트를 검색한다. 이 단계에서, 전체 관측 시야의 크기 및/또는 관측 시야 내의 특징의 간격에 기초하여 작은 미리 정의된 단계(모션 증가) 크기가 설정된다. 절차(procedure)(500)는(결정 단계 530을 통해) 캘리브레이션에서 공간 포인트의 유용성을 결정한다. 그 후 절차(500)는 비전 시스템으로부터의 피드백에 기초하여 단계(동작 증가) 크기(단계 540)를 자동으로 조정한다.
조정 단계(adjustment step)(540)는 도 6에 더 상세히 도시되어 있다. 현재 단계 크기(current step size)가 설정되고(단계 610), 모션의 상태가 결정된다(즉, 현재 단계 크기가 너무 크거나 너무 작은지). 너무 큰 단계 크기는 로봇에 의한 단계 모션이 캘리브레이션 물체의 일부 또는 모든 기능을 카메라의 관측 시야 밖으로 이동시킬 때 발생한다. 단계가 너무 작으면 정확한 캘리브레이션을 위해 동작이 기능을 해결하기에 충분하지 않은 경우 발생한다. 이는 각 단계에서 특징(들) 사이의 이미지 내에서 미리 결정된 최소 픽셀 거리를 달성하지 못한 것에 기초할 수 있다. 특징(들) 사이의 간격이 최대 픽셀 거리 및/또는 특징의 일부 또는 전부를 초과할 때(또는 캘리브레이션 물체의 한쪽 가장자리의 적어도 일부가 단계 사이에서 관측 시야를 벗어나는 경우) 너무 큰 단계가 발생한다. 비 제한적인 예로서, 너무 큰 단계에 대한 곱셈기(multiplier)는 ½(반감) 일 수 있고, 너무 작은 단계에 대한 곱셈기는 2(두배) 일 수 있다. 다른 곱셈기는 명백하게 고려되며 기본 이미지 특성에 기초하여 고정되거나 가변적일 수 있다 - 예를 들어, 단계가 너무 크거나 작으면 더 크거나 더 작은 곱셈기가 사용될 수 있다. 곱셈기가 생성되고(단계 620), 새로운 단계 크기를 계산하기 위해 적용된다(단계 630). 이 새로운 단계 크기는 매핑 된 좌표 공간에 따라 모션을 제어하기 위해 로봇으로 전송된다(단계 640). 조정 단계/프로세스 540은 모션 단계 사이에서 만족스러운(판독 가능한) 간격의 간격이 달성될 때까지 절차(500)에서 계속되고, 결정 단계 530은 단계 560으로 분기한다.
절차(500)의 단계 550에서, 적절한(조정된) 단계 크기에서 식별된 특징 포인트를 사용하여 3 포인트 캘리브레이션이 수행된다. 각 단계에서 식별된 특징에 기초하여, 로봇 좌표 공간으로부터 카메라 이미지 좌표 공간으로의 러프 변형이 계산된다. 그 후, 단계 560에서, 절차(500)는 그 러프 변형에 기초하여 캘리브레이션 위치를 계산한다. 위의 절차 단계에서 러프 변형을 사용하여 카메라 관측 시야 내의 모션 공간을 통해 변환/캘리브레이션의 세트 위치가 균일하게 샘플링 된다. 이러한 위치는 사용자 또는 다른 데이터 소스의 선택적 입력(예를 들어, 설정 및 캘리브레이션 프로세스를 수행하는 사용자 인터페이스 사용)으로 사용자 정의할 수 있다. 또한, 회전 위치 세트(set of rotation position)는 회전 중심이 캘리브레이션 타겟에서 멀어지고 큰 각도가 필요한 경우에도 캘리브레이션 패턴을 관측 시야에 유지하면서, 로봇의 캔틸레버를 보상하고 각도 범위를 특정하는 옵션을 사용하여 계산된다. 이는 회전과 함께 추가 변환을 적용하여 수행될 수 있다(예를 들어, 도 3의 화살표(320)).
단계 560에서 위치가 계산되면, 로봇은 이들 계산된 위치로 이동하고, 각각의 위치에서의 캘리브레이션 특징은 획득된 물체의 이미지에서 식별된다. 이러한 특징은 좋은 캘리브레이션 결과를 식별할 수 있도록 충분히 변환/회전되어야 한다(도 4의 도표에 예시되어 있음). 비전 시스템은 특징 위치를 사용하여 여기에 일반적으로 설명된 기술에 따라 핸드-아이 캘리브레이션을 수행한다(단계 570).
상술된 시스템 및 방법은 단일 비전 시스템 카메라와 관련하여 도시되어 있지만, 본 명세서의 원리는 스테레오 카메라(들)를 포함하는 복수의 카메라 및/또는 이산 이미지 센서(discrete image sensor)에 적용될 수 있다는 것이 명백히 고려된다.
III. 결론
캘리브레이션 물체에 상대적으로 이동하는 로봇을 사용하여 핸드-아이 캘리브레이션을 수행하기 위한 전술한 시스템 및 방법은 캔틸레버 로봇 암 회전이 있는 것처럼 로봇 모션 단계가 너무 크거나 너무 작은 상황에 대해 신뢰성 있고 계산적으로 효율적인 솔루션을 제공한다는 것이 명백하다. 특히, 시스템 및 방법은 자동으로 검색된 단계 크기, 3 포인트 캘리브레이션의 명시적 계산을 제공하며, 여기서 사전 캘리브레이션(pre-calibration)에서 물체 스케일 및/또는 모션 한계가 대략적으로 계산된다. 보다 구체적으로, 여기의 시스템 및 방법은 모션 파라미터를 자동으로 결정하고 공간 위치를 계산하며 카메라의 관측 시야 내에서 캘리브레이션 패턴을 지속적으로 유지한다. 보다 일반적으로, 관측 시야의 지오메트리 및 캘리브레이션 특징(들)의 상대적인 크기(예를 들어, 교차 라인)에 기초한 핸드-아이 캘리브레이션 동안, 시스템 및 방법은 로봇의 모션 범위를 결정하는 것이 바람직하다(다른 모션 장치). 따라서, 특징이 항상 관측 시야 내에(즉, 캘리브레이션 프로세스에 의해 수행되는 일련의 모션 단계 전체에 걸쳐) 항상/지속적으로 유지되도록 보장하도록, 캘리브레이션 특징이 클수록 모션 범위가 작아진다.
전술한 내용은 본 발명의 예시적인 실시예의 상세한 설명이다. 본 발명의 사상 및 범위를 벗어나지 않고 다양한 수정 및 추가가 이루어질 수 있다. 전술한 다양한 실시예 각각의 특징은 연관된 새로운 실시예에서 다수의 특징 조합을 제공하기 위해 적절하게 다른 설명된 실시예의 특징과 결합될 수 있다. 또한, 전술한 내용은 본 발명의 장치 및 방법의 다수의 개별 실시예를 설명하지만, 본 명세서에서 설명된 것은 본 발명의 원리의 적용을 설명하기위한 것일 뿐이다. 예를 들어, 3 포인트 핸드-아이 캘리브레이션 절차가 사용되지만, 캘리브레이션 결과를 달성하기 위해 3 포인트 이상(2 차원 또는 3 차원)이 사용될 수 있다. 또한, 본 명세서에서 사용된 바와 같이, "프로세스" 및/또는 "프로세서" 라는 용어는 다양한 전자 하드웨어 및/또는 소프트웨어 기반 기능 및 구성 요소(및 대안적으로 기능 "모듈" 또는 "요소"로 지칭될 수 있음)를 포함하도록 광범위하게 취해져야 한다. 또한, 도시된 프로세스 또는 프로세서는 다른 프로세스 및/또는 프로세서와 결합되거나 다양한 서브 프로세스 또는 프로세서로 분할될 수 있다. 이러한 서브 프로세스 및/또는 서브 프로세서는 본 명세서의 실시예에 따라 다양하게 조합될 수 있다. 마찬가지로, 본 명세서에서의 임의의 기능, 프로세스 및/또는 프로세서는 전자 하드웨어, 프로그램 명령의 비 일시적 컴퓨터 판독 가능 매체로 구성된 소프트웨어, 또는 하드웨어와 소프트웨어의 조합을 사용하여 구현될 수 있음이 명백히 고려된다. 또한, 본 명세서에서 사용되는 바와 같이, "수직", "수평", "위", "아래", "하단", "상부", "측면", "전방", "후방", "좌측", "우측"과 같은 다양한 방향 및 위치 용어는 상대적인 관습으로서 만 사용되며 중력의 작용 방향과 같은 고정된 좌표 공간에 대한 절대 방향/배열(directions/disposition)로는 사용되지 않는다. 또한, 주어진 측정, 값 또는 특성과 관련하여 "실질적으로" 또는 "약"이라는 용어가 사용되는 경우, 원하는 결과를 얻기 위해 정상 동작 범위 내에 있지만 수량이 시스템의 허용 공차(예를 들어, 1-5 %) 내에서 고유한 부정확성 및 오류로 인한 변동성을 포함하는 수량을 나타낸다. 따라서, 이 설명은 단지 예로서 취해지고 본 발명의 범주를 달리 제한하지 않는 것으로 의도된다.

Claims (21)

  1. 캘리브레이션 물체와 비전 시스템 카메라의 관측 시야(FOV) 사이의 상대 모션을 제공하는 로봇 매니퓰레이터와 함께 동작하는 비전 시스템의 핸드-아이 캘리브레이션을 수행하기 위한 시스템에 있어서,
    상기 관측 시야(FOV)에서 3 포인트 캘리브레이션을 수행하고 상기 로봇 매니퓰레이터의 좌표 공간으로부터 상기 비전 시스템 카메라의 획득된 이미지의 좌표 공간으로의 러프 변형을 계산하고, 및 상기 러프 변형에 기초하여, 핸드-아이 캘리브레이션을 수행하기에 적합한 복수의 각각의 위치에서 캘리브레이션 물체의 특징의 공간 포인트를 계산하는 사전 캘리브레이션 프로세스; 및
    상기 공간 포인트를 사용하여 핸드-아이 캘리브레이션을 수행하는 핸드-아이 캘리브레이션 모듈
    을 포함하고,
    상기 사전 캘리브레이션 프로세스는,
    상기 캘리브레이션 물체가 FOV에 유지되도록, 캔틸레버 효과를 보상하고 상기 공간 포인트를 계산하도록 구성되는
    시스템.
  2. 제1항에 있어서,
    상기 러프 변형은,
    상기 관측 시야 내에서 캘리브레이션 물체의 특징을 유지하고 상기 공간 포인트 사이의 최소 분리 거리를 제공하기 위하여,
    로봇 매니퓰레이터에 의한 반복적인 모션 세트와 공간 포인트 사이의 로봇 모션 단계 크기의 조정에 기초하여 계산되는
    시스템.
  3. 제2항에 있어서,
    상기 공간 포인트는,
    선택적 사용자 입력에 기초하여 부분적으로 선택되는
    시스템.
  4. 제2항에 있어서,
    상기 로봇 매니퓰레이터는,
    상기 캘리브레이션 물체와 FOV 사이의 상기 캔틸레버 효과를 유도하는
    시스템.
  5. 삭제
  6. 제4항에 있어서,
    상기 비전 시스템 카메라는 상기 로봇 매니퓰레이터와 관련하여 장착되고 로봇 매니퓰레이터와 함께 이동하는
    시스템.
  7. 제6항에 있어서,
    상기 로봇 매니퓰레이터는 다축 로봇 및 모션 스테이지 중 하나를 포함하는
    시스템.
  8. 제4항에 있어서,
    상기 캘리브레이션 물체는 로봇 매니퓰레이터와 관련하여 장착되고 로봇 매니퓰레이터와 함께 이동하는
    시스템.
  9. 제8항에 있어서,
    상기 로봇 매니퓰레이터는 다축 로봇 및 모션 스테이지 중 하나를 포함하는
    시스템.
  10. 제1항에 있어서,
    상기 핸드-아이 캘리브레이션은 그들 사이의 모션 단계 크기를 각각 정의하는 일련의 모션 단계에서 수행되고, 및
    상기 모션 단계 크기는 (a) 상기 비전 시스템 카메라의 획득된 이미지 픽셀의 크기 및 (b) 현재 모션 단계까지 획득된 캘리브레이션 물체의 적어도 하나의 이미지로부터 결정된 상기 비전 시스템 카메라의 FOV의 크기 중 적어도 하나에 기초하는
    시스템.
  11. 제10항에 있어서,
    상기 러프 변형은,
    상기 관측 시야 내에서 캘리브레이션 물체의 특징을 유지하고 상기 공간 포인트 사이의 최소 분리 거리를 제공하기 위하여,
    (a) 3 단계 모션 프로세스 및 (b) 상기 공간 포인트 사이의 로봇 모션 단계 크기를 조정하여 로봇 매니퓰레이터에 의한 반복적인 모션 세트 중 적어도 하나에 기초하여 계산되는
    시스템.
  12. 비전 시스템 카메라에 대한 로봇 매니퓰레이터의 핸드-아이 캘리브레이션 방법에 있어서,
    캘리브레이션 타겟과 상기 비전 시스템 카메라의 관측 시야(FOV) 사이의 상대 모션을 제공하는 단계,
    상기 로봇 매니퓰레이터의 좌표 공간과 상기 비전 시스템의 좌표 공간 사이에서 러프 변형을 생성하는 사전 캘리브레이션 프로세스를 수행하는 단계;
    상기 사전 캘리브레이션 프로세스의 결과로부터 복수의 위치로 이동시키고, 각각의 위치에서 이미지를 획득하는 단계;
    상기 이미지에서 캘리브레이션 물체의 특징들의 위치를 찾는(locate) 단계; 및
    상기 로봇의 좌표 공간으로부터 비전 시스템 카메라의 좌표 공간으로의 핸드-아이 캘리브레이션 변형을 계산하는 단계
    를 포함하고,
    상기 사전 캘리브레이션 프로세스는,
    상기 캘리브레이션 물체가 FOV에 유지되도록, 캔틸레버 효과를 보상하고 공간 포인트를 계산하도록 구성되는
    방법.
  13. 제12항에 있어서,
    상기 러프 변형은,
    상기 관측 시야 내에서 캘리브레이션 물체의 특징을 유지하고 상기 공간 포인트 사이의 최소 분리 거리를 제공하기 위하여,
    로봇 매니퓰레이터에 의한 반복적인 모션 세트와 공간 포인트 사이의 로봇 모션 단계 크기의 조정에 기초하여 계산되는
    방법.
  14. 제13항에 있어서,
    상기 공간 포인트를 선택하는 단계는,
    선택적인 사용자 입력에 기초하여 선택되는 단계
    를 더 포함하는 방법.
  15. 제13항에 있어서,
    상기 로봇 매니퓰레이터는,
    캘리브레이션 물체와 FOV 사이의 상기 캔틸레버 효과를 유도하는
    방법.
  16. 삭제
  17. 제14항에 있어서,
    (a) 상기 로봇 매니퓰레이터와 관련하여 상기 비전 시스템 카메라를 위치시키고 로봇 매니퓰레이터와 함께 이동시키는 단계, 및
    (b) 상기 캘리브레이션 물체를 상기 로봇 매니퓰레이터와 관련하여 위치시키고 상기 로봇 매니퓰레이터와 함께 이동시키는 단계
    를 더 포함하는 방법.
  18. 제12항에 있어서,
    상기 핸드-아이 캘리브레이션 변형을 계산하는 단계는,
    그들 사이에 모션 단계 크기를 각각 정의하는 일련의 모션 단계를 수행하는 단계
    를 포함하고, 및
    상기 모션 단계 크기는,
    (a) 상기 비전 시스템 카메라의 획득된 이미지 픽셀의 크기, 및
    (b) 현재 모션 단계까지 획득된 캘리브레이션 물체의 적어도 하나의 이미지로부터 결정된 상기 비전 시스템 카메라의 FOV의 크기
    중 적어도 하나에 기초하는
    방법.
  19. 제18항에 있어서,
    상기 관측 시야 내에서 캘리브레이션 물체의 특징을 유지하고 상기 공간 포인트 사이의 최소 분리 거리를 제공하기 위하여,
    (a) 3 단계 모션 프로세스 및 (b) 상기 공간 포인트 사이의 로봇 모션 단계 크기를 조정하여 로봇 매니퓰레이터에 의한 반복적인 모션 세트 중 적어도 하나에 기초하여
    상기 러프 변형을 생성하는 단계
    를 더 포함하는 방법.
  20. 캘리브레이션 물체와 비전 시스템 카메라의 관측 시야(FOV) 사이의 상대 모션을 제공하는 로봇 매니퓰레이터와 함께 동작하는 비전 시스템의 핸드-아이 캘리브레이션을 수행하기 위한 시스템에 있어서,
    상기 관측 시야(FOV)에서 3 포인트 캘리브레이션을 수행하고 상기 로봇 매니퓰레이터의 좌표 공간으로부터 상기 비전 시스템 카메라의 획득된 이미지의 좌표 공간으로의 러프 변형을 계산하고, 및 상기 러프 변형에 기초하여, 핸드-아이 캘리브레이션을 수행하기에 적합한 복수의 각각의 위치에서 캘리브레이션 물체의 특징의 공간 포인트를 계산하는 사전 캘리브레이션 프로세스; 및
    상기 공간 포인트를 사용하여 핸드-아이 캘리브레이션을 수행하는 핸드-아이 캘리브레이션 모듈
    을 포함하고,
    상기 사전 캘리브레이션 프로세스는,
    상기 핸드-아이 캘리브레이션 동안 상기 캘리브레이션 물체가 FOV에 유지되도록, 상기 캔틸레버 효과를 보상하고 상기 공간 위치를 계산하도록 구성되는
    시스템.
  21. 삭제
KR1020200009919A 2019-01-28 2020-01-28 로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법 KR102458415B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220078219A KR102532072B1 (ko) 2019-01-28 2022-06-27 로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/258,740 2019-01-28
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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220078219A Division KR102532072B1 (ko) 2019-01-28 2022-06-27 로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법

Publications (2)

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

Family

ID=71732031

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020200009919A KR102458415B1 (ko) 2019-01-28 2020-01-28 로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법
KR1020220078219A KR102532072B1 (ko) 2019-01-28 2022-06-27 로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법
KR1020230059692A KR20230070188A (ko) 2019-01-28 2023-05-09 로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020220078219A KR102532072B1 (ko) 2019-01-28 2022-06-27 로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법
KR1020230059692A KR20230070188A (ko) 2019-01-28 2023-05-09 로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법

Country Status (4)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102592603B1 (ko) 2023-02-22 2023-10-23 주식회사 시스템알앤디 비전 검사 장비의 모니터링 방법

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP7458741B2 (ja) * 2019-10-21 2024-04-01 キヤノン株式会社 ロボット制御装置及びその制御方法及びプログラム
CN112001967A (zh) * 2020-08-14 2020-11-27 苏州华兴源创科技股份有限公司 相机指导机械手搬运物体的方法和装置
CN112045682B (zh) * 2020-09-02 2022-01-25 亿嘉和科技股份有限公司 一种固态面阵激光安装的标定方法
CN112223285B (zh) * 2020-09-30 2022-02-01 南京航空航天大学 一种基于组合测量的机器人手眼标定方法
CN112621743B (zh) * 2020-11-19 2022-11-25 深圳众为兴技术股份有限公司 机器人及其相机固定于末端的手眼标定方法及存储介质
CN112847350B (zh) * 2020-12-30 2022-03-25 杭州思锐迪科技有限公司 手眼标定方法、系统、计算机设备和存储介质
CN113070876A (zh) * 2021-03-19 2021-07-06 深圳群宾精密工业有限公司 一种基于3d视觉的机械手点胶路径引导纠偏方法
CN113256708B (zh) * 2021-04-07 2022-09-20 深圳群宾精密工业有限公司 一种理论3d空间与实际机器人空间的标定方法
CN113211431B (zh) * 2021-04-16 2022-07-01 中铁第一勘察设计院集团有限公司 基于二维码修正机器人系统的位姿估计方法
CN113208731B (zh) * 2021-04-23 2023-02-10 上海大学 基于双目视觉系统的手术穿刺机器人手眼标定方法
CN113400298B (zh) * 2021-05-10 2022-04-08 埃夫特智能装备股份有限公司 一种无公共视野的多相机定位大工件及工业机器人位置补偿方法
CN113263501A (zh) * 2021-05-28 2021-08-17 湖南三一石油科技有限公司 一种二层台机械手控制方法、装置和存储介质
EP4116043A3 (en) * 2021-06-09 2023-02-15 Ebots, Inc. System and method for error correction and compensation for 3d eye-to-hand coordination
CN113172636B (zh) * 2021-06-29 2021-11-02 深圳市越疆科技有限公司 一种自动手眼标定方法、装置及存储介质
CN113744341A (zh) * 2021-07-21 2021-12-03 北京旷视科技有限公司 机器人系统的相机位姿标定方法、装置和电子设备
CN113733082A (zh) * 2021-08-16 2021-12-03 太仓攻壳科技有限公司 基于直线位移传感器的工业机器人运动学参数的标定方法
CN115892802A (zh) * 2021-08-26 2023-04-04 深圳市海柔创新科技有限公司 传感器装置的补偿参数生成方法及设备
CN113733088B (zh) * 2021-09-07 2024-05-14 河南大学 一种基于双目视觉的机械臂运动学自标定方法
CN114406985B (zh) * 2021-10-18 2024-04-12 苏州迪凯尔医疗科技有限公司 一种目标追踪的机械臂方法、系统、设备及存储介质
CN114770461B (zh) * 2022-04-14 2023-12-01 深圳技术大学 一种基于单目视觉的移动机器人及其自动抓取方法
CN114799803A (zh) * 2022-05-25 2022-07-29 天津大学 一种九轴串联式宏微结合装配机器人系统
JP2024033308A (ja) * 2022-08-30 2024-03-13 川崎重工業株式会社 ロボットシステム、および、ロボットシステムの制御方法
CN115284296A (zh) * 2022-08-31 2022-11-04 深圳前海瑞集科技有限公司 手眼标定方法、机器人及机器人作业方法
CN116038720B (zh) * 2023-04-03 2023-08-11 广东工业大学 一种基于点云配准的手眼标定方法、装置及设备

Family Cites Families (40)

* 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 (ja) * 1994-04-28 2004-01-06 出光石油化学株式会社 変性ポリオルガノシロキサン及びその製造方法
JPH08118272A (ja) 1994-10-20 1996-05-14 Toyota Motor Corp ロボットのキャリブレーション方法
JPH08210816A (ja) 1995-02-03 1996-08-20 Fanuc Ltd ロボット−視覚センサシステムにおいてセンサ座標系とロボット先端部の関係を定める座標系結合方法
JP3831834B2 (ja) * 1997-11-06 2006-10-11 株式会社カネカ 硬化剤、該硬化剤を用いた硬化性組成物及び発泡性樹脂組成物、及び該発泡性樹脂組成物を用いた発泡体とその製造方法
JP2005515910A (ja) 2002-01-31 2005-06-02 ブレインテック カナダ インコーポレイテッド シングルカメラ3dビジョンガイドロボティクスの方法および装置
CA2369845A1 (en) 2002-01-31 2003-07-31 Braintech, Inc. Method and apparatus for single camera 3d vision guided robotics
DE10242710A1 (de) 2002-09-13 2004-04-08 Daimlerchrysler Ag Verfahren zum Herstellen eines Verbindungsbereiches auf einem Werkstück
JP2005247195A (ja) 2004-03-05 2005-09-15 Toyota Auto Body Co Ltd 車両用シート
DE102004024378B4 (de) * 2004-05-17 2009-05-20 Kuka Roboter Gmbh Verfahren zur robotergestützten Vermessung von Objekten
JP2007292113A (ja) 2006-04-21 2007-11-08 Ntn Corp 回転センサ付軸受
JP5083194B2 (ja) 2008-12-18 2012-11-28 株式会社デンソーウェーブ ロボットのキャリブレーション方法及びロボットの制御装置
EP2255930A1 (de) 2009-05-27 2010-12-01 Leica Geosystems AG Verfahren und System zum hochpräzisen Positionieren mindestens eines Objekts in eine Endlage im Raum
JP4763074B2 (ja) 2009-08-03 2011-08-31 ファナック株式会社 ロボットのツール先端点の位置の計測装置および計測方法
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
CN103068921B (zh) 2010-08-26 2015-07-08 出光兴产株式会社 聚碳酸酯系树脂组合物
JP5371927B2 (ja) 2010-10-27 2013-12-18 三菱電機株式会社 座標系校正方法及びロボットシステム
CN102909728B (zh) * 2011-08-05 2015-11-25 鸿富锦精密工业(深圳)有限公司 机器人工具中心点的视觉校正方法
JP5561260B2 (ja) 2011-09-15 2014-07-30 株式会社安川電機 ロボットシステム及び撮像方法
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 (es) * 2013-05-17 2015-07-30 Loxin 2002, S.L. Cabezal y procedimiento de mecanizado automático con visión
JP6468741B2 (ja) 2013-07-22 2019-02-13 キヤノン株式会社 ロボットシステム及びロボットシステムの校正方法
US10112303B2 (en) 2013-10-25 2018-10-30 Aleksandar Vakanski Image-based trajectory robot programming planning approach
CN104827480A (zh) 2014-02-11 2015-08-12 泰科电子(上海)有限公司 机器人系统的自动标定方法
JP5850962B2 (ja) 2014-02-13 2016-02-03 ファナック株式会社 ビジュアルフィードバックを利用したロボットシステム
JP6164123B2 (ja) 2014-03-14 2017-07-19 信越化学工業株式会社 硬化性組成物、メソゲン基含有硬化物及びその製造方法
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 (ja) 2014-09-03 2018-10-31 キヤノン株式会社 ロボット装置、ロボット制御プログラム、記録媒体、およびロボット装置の制御方法
KR101841684B1 (ko) 2015-10-15 2018-03-26 주식회사 삼양사 투명성 및 난연성이 향상된 폴리실록산-폴리카보네이트 공중합체 및 그 제조방법
CN106767393B (zh) 2015-11-20 2020-01-03 沈阳新松机器人自动化股份有限公司 机器人的手眼标定装置与方法
KR102073254B1 (ko) 2016-01-07 2020-02-04 주식회사 엘지화학 난연성 폴리카보네이트계 수지 조성물 및 이의 성형품
KR102314092B1 (ko) 2016-01-21 2021-10-19 현대중공업지주 주식회사 로봇의 캘리브레이션 장치 및 그 방법
JP6524971B2 (ja) * 2016-06-14 2019-06-05 株式会社デンソー 荷重変動検出装置
US10076842B2 (en) 2016-09-28 2018-09-18 Cognex Corporation Simultaneous kinematic and hand-eye calibration
KR102576842B1 (ko) 2017-01-04 2023-09-12 삼성전자주식회사 핸드-아이 캘리브레이션을 수행하는 로봇 및 전자 장치
DE102017107593B4 (de) 2017-04-07 2023-04-27 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Bestimmen unbekannter Transformationen
KR102178647B1 (ko) 2017-12-26 2020-11-13 주식회사 엘지화학 폴리카보네이트계 수지 조성물 및 이의 성형품

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102592603B1 (ko) 2023-02-22 2023-10-23 주식회사 시스템알앤디 비전 검사 장비의 모니터링 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102458415B1 (ko) 로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법
KR102276259B1 (ko) 비전-기반 조작 시스템들의 교정 및 동작
JP6770605B2 (ja) 対象物の仮想組立により組立システムをトレーニングするためのビジョンシステム
TWI670153B (zh) 機器人及機器人系統
CN109118543B (zh) 沿至少三个不连续平面对机器视觉摄像机进行校准的系统和方法
US9457470B2 (en) Robot system and method for calibration
US9519736B2 (en) Data generation device for vision sensor and detection simulation system
KR20210022195A (ko) 비전 가이드 로봇 암 교정 방법
US10571254B2 (en) Three-dimensional shape data and texture information generating system, imaging control program, and three-dimensional shape data and texture information generating method
KR20140008262A (ko) 로봇 시스템, 로봇, 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램
TWI699264B (zh) 視覺導引機器手臂校正方法
WO2018145025A1 (en) Calibration article for a 3d vision robotic system
CN115446847A (zh) 用于提高机器人系统的3d眼手协调准确度的系统和方法
US11951637B2 (en) Calibration apparatus and calibration method for coordinate system of robotic arm
KR20130075712A (ko) 레이저비전 센서 및 그 보정방법
US20230123629A1 (en) 3d computer-vision system with variable spatial resolution
JP2019077026A (ja) 制御装置、ロボットシステム、制御装置の動作方法及びプログラム
KR100784734B1 (ko) 산업용 로봇 시스템의 타원 보간방법
WO2022244212A1 (ja) 視覚センサにて撮像された画像に基づいて3次元の位置を算出する撮像装置
US20230191612A1 (en) Coordinate system setting system and position/orientation measurement system
US20240066701A1 (en) Simulation device using three-dimensional position information obtained from output from vision sensor
JP2023069373A (ja) マーカ検出装置及びロボット教示システム
JP2020140646A (ja) 制御装置および位置合わせ装置

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