KR102585332B1 - 로봇 핸드와 로봇 핸드와 분리된 카메라 간의 캘리브레이션을 수행하는 방법 및 디바이스 - Google Patents

로봇 핸드와 로봇 핸드와 분리된 카메라 간의 캘리브레이션을 수행하는 방법 및 디바이스 Download PDF

Info

Publication number
KR102585332B1
KR102585332B1 KR1020220168943A KR20220168943A KR102585332B1 KR 102585332 B1 KR102585332 B1 KR 102585332B1 KR 1020220168943 A KR1020220168943 A KR 1020220168943A KR 20220168943 A KR20220168943 A KR 20220168943A KR 102585332 B1 KR102585332 B1 KR 102585332B1
Authority
KR
South Korea
Prior art keywords
coordinate system
robot hand
transformation relationship
level
sampling number
Prior art date
Application number
KR1020220168943A
Other languages
English (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 성형원
Priority to KR1020220168943A priority Critical patent/KR102585332B1/ko
Application granted granted Critical
Publication of KR102585332B1 publication Critical patent/KR102585332B1/ko

Links

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/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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

Abstract

일 실시 예에 따라, 로봇 핸드와 로봇 핸드와 분리된 카메라간의 캘리브레이션을 수행하는 방법에 있어서, 상기 로봇 핸드가 회전 운동 없이 병진 운동만 하는 경우에 따른 카메라 좌표계의 병진 변환 관계 및 로봇 핸드 좌표계의 병진 변환 관계를 사용하여 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 사이의 회전 변환 관계를 산출하는 단계; 상기 로봇 핸드가 회전 운동 하는 경우에 따른 카메라 좌표계의 회전 변환 관계, 상기 로봇 핸드가 회전 운동 하는 경우에 따른 로봇 핸드 좌표계의 회전 변환 관계 및 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 사이의 회전 변환 관계를 이용하여 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 사이의 병진 변환 관계를 산출하는 단계; 상기 산출된 로봇 핸드 좌표계와 카메라 좌표계 사이의 회전 변환 관계 및 상기 로봇 핸드 좌표계와 카메라 좌표계 사이의 병진 변환 관계를 사용하여 상기 로봇 핸드 좌표계와 카메라 좌표계의 변환 관계를 산출하는 단계; 상기 변환 관계에 기초하여 상기 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 간의 오차 레벨을 결정하는 단계; 상기 오차 레벨에 기초하여 상기 회전 변환 관계에 대한 제 1 샘플링 횟수 또는 상기 오차 레벨에 기초하여 상기 병진 변환 관계에 대한 제 2 샘플링 횟수를 갱신하는 단계; 상기 갱신된 제 1 샘플링 횟수에 따른 회전 변환 관계 또는 상기 갱신된 제 2 샘플링 횟수에 따른 병진 변환 관계를 사용하여 상기 변환 관계를 갱신하는 단계; 및 상기 갱신된 변환 관계를 이용하여 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 간의 캘리브레이션을 수행하는 단계;를 포함하는 방법 및 디바이스를 개시한다.

Description

로봇 핸드와 로봇 핸드와 분리된 카메라 간의 캘리브레이션을 수행하는 방법 및 디바이스{Device and method executing calibration between robot hand and camera separated from robot hand}
본 개시의 기술분야는 캘리브레이션과 관련된 것으로, 로봇 핸드의 좌표계와 로봇 핸드와 분리된 카메라의 좌표계 간의 오차 레벨을 기초하여 변화 관계를 갱신함으로서 캘리브레이션을 용이하게 하는 기술 분야와 관련된다.
종래에는 로봇 핸드와 카메라 간의 캘리브레이션(Calibration)을 수행할 경우, 복잡한 절차로 인해 그에 따른 소요 시간이 길고, 작업자의 관련 지식 없이 로봇 핸드와 카메라의 좌표계를 일치시키는 캘리브레이션을 하기엔 어려움이 많았다.
따라서, 작업자 중심이 아닌 프로그래밍 된 수행을 통하여 정밀한 캘리브레이션이 가능하며, 작업자의 잠재 위험성으로부터 보호하는 로봇 핸드와 로봇 핸드와 분리된 카메라간의 효율적인 오차 레벨에 따른 캘리브레이션 기술이 필요하다.
한국등록특허 10-2019-0070385 A (2019.06.21) 정보가 없는 객체를 파지하는 로봇 핸드 및 그 제어방법
본 개시에서는 캘리브레이션을 수행하는 방법에 있어서, 로봇 핸드와 로봇 핸드와 분리된 카메라의 변환 관계에 기초하여 로봇 핸드 좌표계와 카메라 좌표계 간의 오차 레벨을 통해 정밀한 캘리브레이션을 제공할 수 있는 디바이스 및 방법을 개시한다.
본 개시에서 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제 1측면에 따른 로봇 핸드와 로봇 핸드와 분리된 카메라간의 캘리브레이션을 수행하는 방법은 상기 로봇 핸드가 회전 운동 없이 병진 운동만 하는 경우에 따른 카메라 좌표계의 병진 변환 관계 및 로봇 핸드 좌표계의 병진 변환 관계를 사용하여 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 사이의 회전 변환 관계를 산출하는 단계; 상기 로봇 핸드가 회전 운동 하는 경우에 따른 카메라 좌표계의 회전 변환 관계, 상기 로봇 핸드가 회전 운동 하는 경우에 따른 로봇 핸드 좌표계의 회전 변환 관계 및 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 사이의 회전 변환 관계를 이용하여 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 사이의 병진 변환 관계를 산출하는 단계; 상기 산출된 로봇 핸드 좌표계와 카메라 좌표계 사이의 회전 변환 관계 및 상기 로봇 핸드 좌표계와 카메라 좌표계 사이의 병진 변환 관계를 사용하여 상기 로봇 핸드 좌표계와 카메라 좌표계의 변환 관계를 산출하는 단계; 상기 변환 관계에 기초하여 상기 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 간의 오차 레벨을 결정하는 단계; 상기 오차 레벨에 기초하여 상기 회전 변환 관계에 대한 제 1 샘플링 횟수 또는 상기 오차 레벨에 기초하여 상기 병진 변환 관계에 대한 제 2 샘플링 횟수를 갱신하는 단계; 상기 갱신된 제 1 샘플링 횟수에 따른 회전 변환 관계 또는 상기 갱신된 제 2 샘플링 횟수에 따른 병진 변환 관계를 사용하여 상기 변환 관계를 갱신하는 단계; 및 상기 갱신된 변환 관계를 이용하여 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 간의 캘리브레이션을 수행하는 단계;를 포함할 수 있다.
또한, 상기 제 1 샘플링 횟수 또는 상기 제 2 샘플링 횟수를 갱신하는 단계는 상기 오차 레벨이 제 1 레벨 이상인 경우 상기 제 1 샘플링 횟수 및 상기 제 2 샘플링 횟수를 모두 증가시키고, 상기 오차 레벨이 제 2 레벨 이상, 상기 제 1 레벨 미만인 경우 상기 제 1 샘플링 횟수를 증가시키고, 상기 오차 레벨이 제 3 레벨 이상, 상기 제 2 레벨 미만인 경우 상기 제 2 샘플링 횟수를 증가시키고, 상기 제 1 레벨은 상기 제 2 레벨보다 높고, 상기 제 2 레벨은 상기 제 3 레벨보다 높을 수 있다.
또한, 상기 제 1 샘플링 횟수 또는 상기 제 2 샘플링 횟수를 갱신하는 단계는 상기 오차 레벨이 제 5 레벨 이상, 제 4 레벨 미만인 경우 상기 제 2 샘플링 횟수를 감소시키고, 상기 제 4 레벨은 상기 제 3 레벨보다 낮을 수 있다.
또한, 상기 제 1 샘플링 횟수 또는 상기 제 2 샘플링 횟수를 갱신하는 단계는, 상기 오차 레벨이 제 6 레벨 이상, 제 5 레벨 미만인 경우 상기 제 1 샘플링 횟수를 감소시키고, 상기 제 5 레벨은 상기 제 4 레벨보다 낮을 수 있다.
또한, 상기 제 1 샘플링 횟수 또는 상기 제 2 샘플링 횟수를 갱신하는 단계는 상기 오차 레벨이 상기 제 6 레벨 미만인 경우 상기 제 1 샘플링 횟수 및 상기 제 2 샘플링 횟수를 감소시키고, 상기 제 6 레벨은 상기 제 5 레벨보다 낮을 수 있다.
본 개시의 제 2측면에 따른 로봇 핸드와 로봇 핸드와 분리된 카메라간의 캘리브레이션을 수행하는 디바이스는 로봇 핸드; 상기 로봇 핸드와 분리된 카메라; 및 상기 로봇 핸드가 회전 운동 없이 병진 운동만 하는 경우에 따른 카메라 좌표계의 병진 변환 관계 및 로봇 핸드 좌표계의 병진 변환 관계를 사용하여 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 사이의 회전 변환 관계를 산출하고, 상기 로봇 핸드가 회전 운동 하는 경우에 따른 카메라 좌표계의 회전 변환 관계, 상기 로봇 핸드가 회전 운동 하는 경우에 따른 로봇 핸드 좌표계의 회전 변환 관계 및 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 사이의 회전 변환 관계를 이용하여 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 사이의 병진 변환 관계를 산출하고, 상기 산출된 로봇 핸드 좌표계와 카메라 좌표계 사이의 회전 변환 관계 및 상기 로봇 핸드 좌표계와 카메라 좌표계 사이의 병진 변환 관계를 사용하여 상기 로봇 핸드 좌표계와 카메라 좌표계의 변환 관계를 산출하고, 상기 변환 관계에 기초하여 상기 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 간의 오차 레벨을 결정하고, 상기 오차 레벨에 기초하여 상기 회전 변환 관계에 대한 제 1 샘플링 횟수 또는 상기 오차 레벨에 기초하여 상기 병진 변환 관계에 대한 제 2 샘플링 횟수를 갱신하고, 상기 갱신된 제 1 샘플링 횟수에 따른 회전 변환 관계 또는 상기 갱신된 제 2 샘플링 횟수에 따른 병진 변환 관계를 사용하여 상기 변환 관계를 갱신하고, 상기 갱신된 변환 관계를 이용하여 상기 로봇 핸드와 상기 카메라 간의 캘리브레이션을 수행하는 프로세서;를 포함할 수 있다.
또한, 본 개시의 제 3 측면은, 제 1 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
본 개시의 일 실시 예에 따르면, 로봇 핸드와 로봇 핸드에 분리된 카메라의 캘리브레이션을 수행하는 방법에 있어서, 로봇 핸드 좌표계와 카메라 좌표계 간의 오차 레벨에 기초하여 변환 관계를 갱신함으로서 정밀한 캘리브레이션을 수행할 수 있다.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 글로벌 좌표계, 카메라 좌표계(120) 및 이미지 좌표계(110)의 관계를 나타낸 도면이다.
도 2는 본 발명의 일 실시 예에 따른 로봇 핸드와 로봇 암(arm)과 분리된 카메라간의 캘리브레이션을 수행하는 로봇의 도면이다.
도 3 은 본 발명의 일 실시 예에 따른 로봇 핸드 좌표계와 카메라 좌표계 간의 오차 레벨을 결정하는 단계를 포함한 전체적인 프로세스를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 로봇이 분리된 카메라의 내/외부 인자들을 생성하는 과정을 나타낸 도면이다.
도 5는 본 발명의 일 실시 예에 따른 로봇이 카메라 좌표계와 로봇 핸드 좌표계의 캘리브레이션을 수행하는 단계를 도시한 도면이다
본 개시에서 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나, 본 개시는 이하에서 개시되는 실시 예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 개시가 완전 하도록 하고, 해당 기술 분야에 속하는 통상의 기술자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 개시의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 해당 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다.
공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작 시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
도 1은 글로벌 좌표계, 카메라 좌표계(120) 및 이미지 좌표계(110)의 관계를 나타낸 도면이다. 도 1에 나타난 것처럼 카메라 영상은 글로벌 좌표계(Global Coordinate)에 위치하는 3차원 공간상의 점(121)들을 카메라 좌표계의 3차원 공간상 영역(Camera Coordinate, 120)의 카메라 좌표 로 인식하고 이미지 좌표계(Image Coordinate, 110)의 2차원 이미지 평면(Image Plane)의 지점(111)에 투사함으로써 얻어진다. 핀홀(Pinhole) 카메라 모델에서 이러한 변환 관계는 아래의 수학식 1과 같이 표현할 수 있다
[수학식1]
수학식 1은 사영행렬 내의 R, t의 값과 K행렬 내의 5개의 인자로 구성된다. 여기서 X는 글로벌 좌표계 상의 3차원 좌표이고, [R|t]는 글로벌 좌표계를 분리된 카메라에 대응되는 좌표계로 변환시키기 위한 회전 및 이동 변환 행렬이며, K는 분리된 카메라의 내부 인자 행렬이다.
K행렬은 내부인자(Intrinsic Parameters)로 영상 중심의 위치, CCD/CMOS센서면과 영상면 사이의 스케일 표현값, 분리된 카메라의 초점거리와 주점 등을 가지고 있으며, R, t 값은 물체축과 분리된 카메라 축과의 변환 관계를 나타내는 값으로 R은 회전 변환 변위이며, t는 병진 변환 변위값으로 분리된 카메라의 외부인자(Extrinsic Parameter)이다.
외부인자는 카메라 좌표계와 글로벌 좌표계 사이의 변환 관계를 설명하는 파라미터로, 두 좌표계 사이의 회전(Rotation) 및 병진(Translation) 변환으로 표현된다.
분리된 카메라 캘리브레이션(Camera Calibration)은 5개의 내부인자(초점거리(Focal Length)로 값, 주점(Principal Point)으로 값 및 비대칭 계수)와 6개의 외부인자를 분리된 카메라 보정박스 또는 보정도구를 사용하여 계산하는 것이다. 이러한 분리된 카메라 변수들은 3차원 계측을 위한 기하학적 관계를 계산하는데 필요하며, 캘리브레이션 인수들의 오차는 3차원 계측지수의 정밀도에 큰 영향을 미치게 된다.
도 2는 본 발명의 일 실시 예에 따른 로봇 핸드와 로봇 핸드와 분리된 카메라간의 캘리브레이션을 수행하는 로봇의 도면이다. 본 발명의 일 실시 예에 따른 로봇은 지지대(210), 지지대(210)에서 상측으로 돌출된 제1 로봇 팔(Robot Arm, 211), 지지대(210)와 제1 로봇 팔(211)을 연결하는 제1 연결부(215), 제1 로봇 팔(211)에 제2 연결부(221)을 통하여 연결된 제2 로봇 팔(222), 제2 로봇팔의 말단에 연결된 로봇 핸드(223), 제2 로봇 팔(222)로부터 분리된 카메라부 (220, 281) 및 제어부를 포함한다. 본 발명의 일 실시 예에 따른 로봇은 지지대 (210), 제1 연결부(215), 제2 연결부(221)가 제어부의 제어에 따라 회전운동을 하여 3차원 적인 운동을 할 수 있다. 또한, 제2 로봇팔(222)은 회전부(224)를 포함하여 로봇 핸드(223) 는 회전할 수 있게 한다.
분리된 카메라부(220, 281)는 분리된 카메라를 포함하여 로봇의 작동을 위하여 필요한 영상을 취득한다. 분리된 카메라부가 취득하는 글로벌 좌표계의 물체는 2차원 평면일 수 있고, 3차원 입체 물체일 수도 있다. 다른 실시 예에서, 분리된 카메라부(220, 281)는 로봇 핸드(223)에 부착되어 있을 수 있다. 다른 실시 예에서, 회전부(224)는 제2 로봇팔(222)과 로봇 핸드(223)의 결합부에 생성되고, 카메라부는 로봇 핸드(223)에 부착되어 제2 로봇팔(221)의 회전 없이 로봇 핸드(223)와 분리된 카메라부(220, 281)만 회전할 수도 있다. 제어부는 취득된 영상을 사용하여 지지대(210), 제1 연결부(215), 제2 연결부(221)를 제어함으로써 로봇 핸드(223)을 원하는 위치에 이동시키고, 로봇 핸드(223)를 작동시킴으로써 로봇의 작동을 제어한다.
분리된 카메라부(220, 281)의 카메라의 내부인자를 설명한다. CCD/CMOS센서 위의 좌표는 mm로 표시되고 이 좌표는 모니터의 픽셀좌표로 변환되므로 센서면상의 x또는 y축에 대한 픽셀거리(mm)당 모니터의 화소(Pixels)가 몇 개가 대응하는가를 나타낼 필요가 있다. 이 값을 라 하고, 값의 단위를 pixels/mm로 정하면, 센서면의 좌표를 모니터 픽셀좌표로 변환하기 위해 K행렬을 아래의 수학식 2와 같이 변환할 수 있다.
[수학식2]
즉, 영상면(CCD/CMOS 센서면)의 x좌표에다 를, y좌표에다 를 곱해서 단위를 픽셀좌표로 바꾸도록 원래 K행렬에다 변환행렬을 곱하였다. 로 두고 라 두면 수학식 2는 수학식 3과 같이 표현될 수 있다
[수학식3]
만일 영상면의 두 축이 수직하지 않을 경우에는 K행렬은 축의 왜곡에 의한 픽셀좌표 변화를 표현해야 하므로 추가 파라미터를 가지게 되고 행렬식은 아래의 수학식 4와 같이 나타나며, 아래의 수학식 4는 분리된 카메라 보정시 사용하는 내부 행렬의 일반 형태이다.
[수학식4]
다음으로, 여러 장의 캘리브레이션 평면보정자 영상을 이용한 분리된 카메라 캘리브레이션 방법을 설명한다. 도 4는 본 발명의 일 실시 예에 따른 로봇이 카메라의 내/외부 인자들을 생성하는 과정을 나타낸 도면이다. 도 2를 참조하면, 본 발명의 일 실시 예에 따른 로봇은 분리된 카메라의 내/외부 인자들을 생성하기 위해 먼저, 분리된 카메라에서 다수의 타겟 영상을 생성한다(S110). 다음으로, 다수의 타겟 영상에서 H행렬을 산출한다(S120). 수학식 1 및 수학식 4를 사용하여, 사영방정식을 아래의 수학식 5와 같이 쓸 수 있다.
[수학식5]
수학식 5에서, S는 스케일팩터이다. 평면 보정 패턴을 사용하므로 글로벌 축의 좌표 원점을 이 평면 위에 놓는다면 타겟 좌표는 Z축의 값을 0으로 놓을 수 있으므로 수학식 5는 아래의 수학식 6으로 표현될 수 있다.
[수학식6]
여기서, 이라 놓는다면, 상기 수학식 6은 아래의 수학식 7로 표현될 수 있다
[수학식7]
수학식 7에서, 는 임의의 상수이고 0을 제외할 수 있다. 타겟 상의 글로벌 좌표를 영상면의 픽셀 좌표로 변환시키는 3x3크기의 H 행렬을 평면변환행렬 또는 'Homography' 행렬이라 부른다. 즉, H 행렬은 서로 다른 두 평면 사이의 좌표변환을 규정한다. H 행렬을 이용하면 분리된 카메라의 내부인자에 대한 제한조건(Constraint)을 얻는 것이 가능하다. H행렬은 아래의 수학식 8로 표현할 수 있다.
[수학식8]
수학식 8을 다시 정리하면, 아래의 수학식 9로 표현할 수 있다.
[수학식9]
수학식 9 를 r1과 r2에 대해 정리하면,
[수학식10]
수학식 10과 같이 표현된다. r1과 r2는 회전행렬의 회전축 방향벡터다. 따라서 r1과 r2가 서로 직교한다는 성질을 이용하면 아래의 수학식 11을 도출할 수 있다.
[수학식11]
따라서 K행렬에 대한 제한 조건식을 유도하기 위해 수학식 11에 수학식 9를 대입하면 아래의 제한조건들을 얻을 수 있다.
[수학식12]
즉, 1개의 호모그래피(Homography) 평면변환에서 내부행렬 K에 대한 2개의 제한조건이 발생한다. K 내에는 5개의 미지수가 있다. 따라서 3개의 평면변환 행렬 H가 있다면 6개의 식이 나오므로 5개의 값들을 모두 결정할 수 있다.
수학식 12에서 상삼각행렬(upper-triangular matrix) K의 곱을 이용하여
[수학식13]
수학식 13과 같이 놓으면 B행렬은 대칭행렬이고 내부에 6개의 서로 다른 값(B11, B12, B22, B13, B23, B33)만 가진다. 따라서 두 제한 조건(수학식 12)의 첫 번째 식은 아래의 수학식 14와 같이 표현될 수 있다.
[수학식14]
수학식 14에서, 이다. 수학식 12의 두 번째 제한조건식도 유사한 방법으로 b벡터식에 대해 표현할 수 있다. 따라서 두 제한조건식을 같이 쓰면 수학식 15와 같이 표현된다.
[수학식15]
타겟 영상이 3개 있다면 3개의 수학식 15를 누적하여 쓸 수 있으므로, 수학식 16과 같이 표현할 수 있다.
[수학식16]
다음으로, 산출된 V행렬값을 사용하여 b벡터의 값을 계산한다(S130). b벡터를 결정함으로써 B행렬을 결정할 수 있다. 그리고 B행렬을 결정하여 행렬 분해를 사용하여 K 행렬을 결정한다(B140). 수학식 16을 만족하는 b벡터를 구하면 B행렬의 6개의 인자를 결정할 수 있다. 영상의 수가 n개라면 V행렬의 크기는 2n*6이므로 이라면 b벡터를 유일하게 결정하는 것이 가능하다. 물론 b벡터의 크기는 수학식 16에서처럼 스케일에 대해 임의일 수 있으므로 정규화 될 필요가 있다. 수학식 16를 만족하는 b는 선형대수학의 특이값분해(SVD, singular value decomposition)를 사용하면 행렬의 가장 작은 고유값(Eigenvalue)에 대응되는 고유벡터(Eigen-Vector)라는 것이 알려져 있다. B행렬이 결정된다면 행렬(Cholesky)분해를 통해 K행렬을 결정하는 것이 가능하다.
[표1]
마지막으로 B행렬 및 K행렬을 사용하여 분리된 카메라의 내/외부 인자들을 생성한다(S150). 계산된 값을 표1의 수식에 사용하여 내부인자 및 외부인자를 계산할 수 있다.
내부인자는 분리된 카메라에서 여러 장의 영상에 대해서도 하나만 계산되지만 외부인자는 분리된 카메라가 보정자를 찍은 위치가 모두 다르므로 보정에 사용된 영상의 개수만큼 R, t의 값이 계산된다.
R행렬은 로 주어지고 회전행렬은 정규직교 행렬의 성질인 의 조건이 만족되어야 한다. 그러나 여기서 구한 R행렬은 정규직교행렬 조건에 만족되지 않을 수 있으므로 이러한 조건을 강제하여야 한다. 한 가지 방법으로 R행렬에 대해 특이값분해를 수행한다. 특이값분해를 통해 회전행렬은 의 3개의 행렬곱으로 분해된다.
여기서 U, V행렬은 정규직교행렬(Orthonormal Matrix)이고 D는 대각행렬이다. R은 자신이 정규직교 행렬이므로 D행렬이 I행렬(Unitary Matrix)이 된다면 가 되어 회전행렬의 성질을 만족하게 된다. 따라서 먼저 R 행렬로부터 SVD를 통해 U,V행렬을 구하고 이 두 행렬을 곱해 새로운 R행렬을 구하면 된다.
즉, 본 발명의 일 실시 예에 따라 카메라의 내/외부 인자를 생성하는 과정은 분리된 카메라에서 타겟 영상을 여러 개 찍으면 각각의 영상에서 수학식 15가 하나씩 발생하므로 수학식 16처럼 수학식 15를 여러 개 누적시켜 b벡터, 즉 B행렬의 값을 계산할 수 있다. 이 행렬로부터 위의 표를 이용하여 분리된 카메라의 내/외부 인자들을 얻는 것이 가능하다.
도 2는 본 발명의 일 실시 예에 따른 로봇의 좌표계와 그 대응관계를 나타내는 도면이다. 도 5는 본 발명의 일 실시 예에 따른 로봇이 카메라 좌표계와 로봇 핸드 좌표계의 캘리브레이션을 수행하는 단계를 도시한 도면이다. 먼저 도 2에 도시된 분리된 카메라와 로봇 핸드의 좌표계 및 대응관계를 설명한다. 카메라의 내/외부 인자들을 얻기 위한 캘리브레이션은 로봇 핸드 좌표계와 카메라 좌표계의 캘리브레이션을 수행하면서 수행될 수도 있다. 다음으로, 제어부는 로봇 핸드 좌표계와 카메라 좌표계와 사이의 회전 변환 관계를 산출한다(S220). 도 2를 참조하면, 아래의 수학식 17과 같이 분리된 카메라의 초기 좌표계(232)와 이동한 j에서의 좌표계(231)의 변환 관계(252)는 초기 카메라 좌표계에서 초기 로봇 핸드 좌표계(233)로의 변환 관계(253), 로봇 핸드의 초기 좌표계(233)에서j에서의 좌표계(230)로의 변환 관계(254) 및 j에서의 로봇 핸드 좌표계(230)에서 j에서의 카메라의 좌표계(231)로의 변환 관계(251)를 연산하여 변환 관계에 대한 방정식을 정리할 수 있다.
다른 실시 예에서, 획득된 변환 관계에 대응되는 다른 예로 디바이스(200)가 오차 레벨에 따른 갱신된 변환 관계를 이용하여 로봇 핸드 좌표계와 카메라 좌표계 간의 캘리브레이션을 수행하는 단계가 상술된다.
캘리브레이션에 대한 수학식 17에서 는 분리된 카메라(220, 281)와 로봇 핸드 좌표계의 변환 관계로 해석될 수 있고, 는 로봇 핸드(그리퍼)의 초기 좌표계와 이동한 j에서의 좌표계의 변환 관계로 나타낼 수 있다. 또한 는 획득된 영상으로 추출된 분리된 카메라의 초기 좌표계와 이동한 j에서의 좌표계의 변환 관계를 나타낼 수 있다.
[수학식17]
캘리브레이션에 대응되는 수학식17과 같이 분리된 카메라(220, 281)의 초기 위치에 대한 좌표계와 이동한 j(또는 i)에서의 좌표계의 변환 관계에 대한 예시이다. 이는 즉, 분리된 카메라와 로봇 핸드의 좌표변환 관계를 통해 변환방정식에 대해 수학식으로 나타낼 수 있고 이는 에 대한 각 요소에 대해 수학식18로 해석될 수 있다.
[수학식18]
[수학식19]
회전이 없는 로봇 핸드의 이동은 가 되므로 수학식 19와 같이 정리 할 수 있다. 는 얻을 수 있는 정보이므로, 수학식 20을 수행되어 로봇 핸드와 카메라 사이의 회전 변환 관계 를 획득될 수 있다.
본 발명의 다른 실시 예에서, 로봇 핸드와 분리된 카메라 사이의 회전 변환 관계 를 얻기 위해 로봇 핸드의 X축, Y축 및 Z축으로의 각각의 이동을 포함하는 다수의 영상으로부터 수학식 20을 사용하여 를 결정될 수 있다.
또한, 로봇 핸드의 움직임과 분리된 카메라로 부터의 촬상을 j번 반복하여 나타낸 는 분리된 카메라(220, 281)에서 촬상되어 저장된 타겟을 통해 특징점에 의해 확인된 좌표계의 위치 정보이며, 는 로봇 핸드가 회전없이 수평 이동한 로봇의 움직임에 대한 위치 좌표일 수 있다. 선형대수학의 특이값분해 (SVD, singular value decomposition)를 통해, 로봇 핸드에 대한 회전변환 관계를 나타내는 값을 추출할 수 있다. 로봇 핸드에 대한 위치 변환 관계를 나타내는 는 로봇 핸드가 수평이동 없이 회전을 수행된 뒤 분리된 카메라(220, 281)로 영상으로 촬상되는 단계를 i번 반복하는 동작을 통해 확인될 수 있다.
[수학식20]
로봇 핸드가 이동 없이 회전만 하는 경우에서 i번의 회전을 한다면, i개의 영상이 생성되므로, 수학식 21의 식을 다음의 수학식 22와 같이 사용될 수 있다. 또한, 동일한 방법으로 j개 이상의 영상이 참조될 수 있다. 동일한 방법으로 회전 변환 관계 를 산출할 때에도 i개 이상의 영상이 참조될 수 있다
[수학식21]
수학식21 과 유사하게, 선형대수학의 특이값분해(SVD, singular value decomposition)가 수행되어, 로봇 핸드에 대한 회전변환 관계를 나타내는 값을 추출하여 획득할 수 있다. 획득된 로봇 핸드에 대한 회전변환 관계 와 주어진 , 를 이용하여 를 추출되어 획득될 수 있다.
마지막으로, 산출된 회전 변환 관계와 병진 변환 관계에 기초하여 카메라 좌표계와 로봇 핸드 좌표계의 변환 관계를 결정된다(S240). 수학식 22를 기초하여 카메라 좌표계와 로봇 핸드 좌표계의 변환 관계가 결정될 수 있다.
[수학식22]
따라서 로봇 핸드의 좌표계와 카메라 좌표계의 변환 관계를 로봇 핸드 좌표계와 카메라 좌표계와 사이의 회전 변환 관계 및 로봇 핸드 좌표계와 카메라 좌표계 사이의 병진 변환 관계 를 각각 획득함으로써 를 도출하여 로봇 핸드와 로봇 암에 분리된 카메라간의 캘리브레이션을 수행 할 수 있다. 즉, 로봇 핸드의 좌표계의 변환 관계에 대한 요소 를 각각 획득됨으로써 를 도출하여 캘리브레이션이 수행될 수 있다.
[수학식23]
[수학식24]
하지만, 캘리브레이션이 수행되는 과정에서 발생하는 오차값을 포함할 수 있는 가능성을 배제하지 못하는 경우가 있을 수 있다. 이는 로봇 핸드 좌표계와 카메라 좌표계 사이의 회전 변환 관계 및 병진 변화 관계에 대응되는 기설정 샘플링 횟수 미만이 경우라고 해석될 수 있다. 따라서, 디바이스(200)는 오차 레벨을 결정하기 위해 수학식 23 및 수학식 24에 대응되는 SEM 값을 도출하여 오차 레벨을 결정할 수 있다. 즉, 디바이스(200)는 오차 레벨에 기초하여 샘플링 횟수를 결정하고 제어함으로서 더욱 정밀하고 갱신된 캘리브레이션을 수행할 수 있다.
일 실시 예에 따른 디바이스(200)는 로봇 핸드 좌표계와 카메라 좌표계의 변환 관계에 기초하여 상호간의 오차 레벨을 결정할 수 있다. 따라서, 오차 레벨을 획득함에 있어서 디바이스(200)는 오차 레벨에 기초하여 회전 변환 관계에 대한 제1 샘플링 횟수 및 병진 변환 관계에 대한 제2 샘플링 횟수를 갱신할 수 있다.
샘플링 횟수에 대해 자세하게 상술하면, 로봇 핸드의 수평 이동에 대응되는 분리된 카메라(220, 281)로부터 촬상 및 저장이 수행되어 영상을 획득하고 이를 j번 반복할 수 있으며 이를 제1 샘플링 횟수로 정의될 수 있다. 그 다음은, 로봇 핸드의 회전 이동에 대응되는 분리된 카메라(220, 281)로부터 촬상 및 저장이 수행되어 영상을 획득하고 이를 i번 반복할 수 있으며 이를 제2 샘플링 횟수로 정의될 수 있다.
도3을 참조하면, 디바이스(220)은 SEM 기준치 비교를 수행함으로서 이는 수학식24 와 수학식24에 대응되는 오차 레벨을 결정할 수 있다. 도출된 오차 에서 각각의 x,y,z,t, 성분에 대해, 표본 평균 가 산출 가능하다. 따라서, 확인된 에 대해, 디바이스(200)는 표준 오차(Standard Error of Mean)인 SEM을 획득할 수 있다. 이를테면, n은 i,j 영상의 총합으로 해석될 수 있고, 에 대해, 디바이스(200)는 표본 평균 k를 이용하여 SEM을 수학식 24로 결정할 수 있다. 만약, 도출된 SEM값이 기설정 SEM 기준치 초과인 경우, 디바이스(200)는 분리된 카메로(220,281)로부터 획득된 영상 및 로봇 위치 정보를 삭제하고 각각의 회전 변환 관계와 병진 변환 관계에 대한 샘플링 횟수를 증가 시킬 수 있다.
일 실시 예에 따른 디바이스(200)는 제 1 샘플링 횟수 또는 제 2 샘플링 횟수를 갱신하는 요소인 오차 레벨은 제 1 레벨 이상인 경우 제 1 샘플링 횟수 및 제 2 샘플링 횟수를 모두 증가시킬 수 있고, 오차 레벨이 제 2 레벨 이상 제 1 레벨 미만인 경우, 제 1 샘플링 횟수를 증가시킬수 있고, 오차 레벨이 제 3 레벨 이상, 제 2 레벨 미만인 경우 제 2 샘플링 횟수를 증가시킬수 있다.
예를 들어, 오차 레벨을 통해 샘플링 횟수를 늘림으로서 정확한 결과값을 획득하기 위해 로봇 핸드의 수평 이동 및 회전 이동에 따른 촬상 및 저장의 수행은 비효율적일 수 있다. 따라서, SEM 값에 대응되는 기설정 오차 레벨 제1레벨, 제2레벨 그리고 제3레벨을 기준으로 디바이스(200)는 나열된 오차 레벨 구간에 따라 제1 샘플링 횟수만을 증가시키거나 제2 샘플링 횟수만을 증가시킴으로서 비효율적인 로봇 핸드의 수평 이동 및 회전 이동의 수행을 방지하는 효과가 있다. 요약하면, 기설정 오차 레벨 제 1 레벨은 제 2 레벨보다 높고, 제 2 레벨은 제 3 레벨보다 높을 수 있고 사용자 계정에 입력에 기초하여 각 레벨에 대응되는 SEM 값은 갱신될 수 있다.
예를 들어, 결정된 오차 레벨이 제 1 레벨 이상인 경우 디바이스(200)는 제 1 샘플링 횟수 및 제 2 샘플링 횟수를 모두 증가시킬 수 있다. 즉, 이 경우는 제1레벨 기설정 SEM 기준치를 가장 많이 벗어난 경우로, 디바이스(200)는 정밀한 캘리브레이션을 수행하기 위해 회전 변환 관계에 대한 제1 샘플링과 병진 변환 관계에 대한 제2 샘플링 횟수를 모두 증가시켜 갱신된 변환 행렬 값을 획득한다. 이로서, 제1 및 제2 샘플링 횟수를 모두 늘려 각각 i번,j번 반복 동작함으로서 획득되는 변환 행렬 값은 더욱 정교해질 수 있고 디바이스(200)는 기설정 SEM 기준치 이하 값이 나올 때 캘리브레이션을 수행할 수 있다.
예를 들어, 오차 레벨이 제 2 레벨 이상 제 1 레벨 미만인 경우, 제 1 샘플링 횟수를 증가시킬 수 있다. 이는 다른 의미로 기설정 SEM 값으로부터 근소한 차이로 초과되었다는 의미로 해석될 수 있다. 따라서, 병진 변환 관계에 대한 제2 샘플링 횟수보다는 로봇 암의 회전에 대한 회전 변환 관계에서 오차 레벨의 변동이 더 심할 확률이 높기 때문에, 이 예시의 경우 디바이스(200)는 제1 샘플링 횟수 만을 증가 시킬 수 있다. 결과적으로, 디바이스(200)는 제2 샘플링 횟수를 늘리지 않음으로서 불필요한 영상 및 로봇 위치 정보를 삭제하거나 초기화 하는 것을 사전에 제어할 수 있고 i번 반복 동작하여 갱신된 SEM값을 획득함으로서 효율적인 캘리브레이션 수행이 가능하다.
예를 들어, 오차 레벨이 제 3 레벨 이상, 제 2 레벨 미만인 경우 제 2 샘플링 횟수를 증가시킬 수 있다. 이전 예시와 유사한 경우지만, 이번엔 결정된 SEM값이 기설정 SEM 기준치와 비슷한 값이었다고 해석될 수 있다. 이는 즉, 가장 오차 레벨이 적을 확률이 높은 병진 변환 관계에 대한 제2 샘플링 횟수를 증가 시킴으로서 j번 반복 동작하여 갱신된 SEM 값을 획득함으로서 이에 따라 결정되는 SEM값은 기설정 SEM 기준치 이하로 갱신될 확률이 높다.
일 실시 예에 따른 디바이스(200)는 제 1 샘플링 횟수 또는 제 2 샘플링 횟수를 갱신할 수 있다.
상술 되었던 오차 레벨에 대응되는 제1, 제2, 제3레벨은 도출된 SEM값이 기설정 SEM 기준치 초과인 경우로 해석될 수 있다. 따라서 이전 예시에서는, 오차 레벨 구간에 따른 제1 및 제2 샘플링 횟수를 증가시킴으로써 도출되는 SEM값을 기설정 SEM 기준치를 초과하지 않게 캘리브레이션을 수행 할 수 있는 효과가 있었다. 그러나 이번 예시에서 상술되는 설명은 그와 반대로 제1및 제2 샘플링 횟수를 감소시키는 경우로 해석될 수 있다. 즉, 도출되는 SEM 값은 기설정 SEM 기준치 이하인 경우일 수 있고, 디바이스(200)는 기존에 i, j번 반복 동작보다 변환 관계에 대한 제 1 샘플링 횟수 또는 병진 변환 관계에 대한 제 2 샘플링 횟수를 감소함으로서 정밀하고 신속한 로봇 핸드 좌표계와 카메라 좌표계 간의 캘리브레이션 수행이 가능하다.
자세한 예로, 도출된 SEM값이 기설정 SEM 기준치 이하인 경우의 오차 레벨이 제5레벨 이상 제4레벨 미만인 경우 디바이스(200)는 병진 변환 관계에 대한 제 2 샘플링 횟수를 감소 시킬수 있다. 또한, 도출된 SEM값이 기설정 SEM 기준치 이하인 경우의 오차 레벨이 제 6레벨 이상 제5레벨 미만인 경우 디바이스(200)는 병진 변환 관계에 대한 제 1 샘플링 횟수를 감소 시킬수 있다.
다른 예로, 도출된 SEM값이 기설정 SEM 기준치 이하인 경우의 오차 레벨이 제6레벨 미만인 경우 디바이스(200)는 병진 변환 관계에 대한 제1 및 제2 샘플링 횟수를 모두 감소 시킬수 있다. 이 경우는 오차 레벨에 대응되는 SEM값이 오차가 가장 적는 결과값에 가깝다고 해석될 수 있다. 따라서, 이에 수행되는 로봇 핸드 좌표계와 카메라 좌표계 간의 캘리브레이션은 상술된 예시중 가장 신속하고 정밀하게 갱신될 수 있다.
일 실시 예에 따른 디바이스(200)는 갱신된 제 1 샘플링 횟수에 따른 회전 변환 관계 또는 갱신된 제 2 샘플링 횟수에 따른 병진 변환 관계를 사용하여 변환 관계를 갱신할 수 있다. 또한 디바이스(200)는 갱신된 변환 관계를 이용하여 로봇 핸드 좌표계와 카메라 좌표계 간의 캘리브레이션을 수행할 수 있다.
예를 들어, 디바이스(200)는 오차 레벨에 기초하여 제1 및 제2 샘플링 횟수를 증가 또는 감소 시킴으로서 기존의 i, j번 반복 동작하여 갱신된 디폴트 샘플링 횟수보다는 상대적으로 효율적인 캘리브레이션을 수행할 수 있다.
본 발명의 다른 실시 예에 따른 로봇 핸드와 로봇 암에 분리된 카메라간의 캘리브레이션은 로봇 핸드와 로봇 암을 통해 로봇 핸드에 분리되어 로봇 핸드와 함께 이동하고 회전하는 1대 이상의 카메라를 분리하여 다음의 동작들을 수행한다. 첫 번째로는 기준이 될 방위를 정한 뒤, 해당위치에서 알고 있는 특징점에 대한 영상을 획득한다. 두 번째로는 기준이 되는 위치에서 회전을 포함하지 않은 순수병진 운동을 한 로봇 핸드의 위치에서 찍은 영상을 획득한다. 세 번째로는 처음 정한 기준위치에서 이동 없이 로봇 핸드를 임의의 축에 대해 1회 이상 회전하거나, 로봇 핸드를 임의의 축으로 병진운동과 회전운동을 1회 이상 수행하여 영상을 획득한다. 따라서 초기위치의 영상1개 이상, 순수한 병진운동한 영상 1개 이상, 임의의 축으로 회전 혹은 병진과 회전을 모두 수행하여 임의의 영상1개 이상 획득하여 영상을 통하여 오차 레벨을 획득하여 제1 샘플링 횟수 또는 제2샘플링 횟수를 갱신한다. 전술 설명한 방법을 통하여 로봇 핸드와 로봇 핸드에 분리된 카메라의 캘리브레이션이 가능하다. 더불어, 카메라 자체의 캘리브레이션은 핸드/아이 자가보정의 수행 과정에서 획득하는 영상을 이용하여 전술한 카메라 캘리브래이션 방법을 사용하여 보정할 수 있다. 전술한 실시 예들의 조합은 전술한 실시예에 한정되는 것이 아니며, 구현 및/또는 필요에 따라 전술한 실시예들 뿐만 아니라 다양한 형태의 조합이 제공될 수 있다. 전술한 실시 예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다. 전술한 실시 예들은 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
본 개시의 다양한 실시예들은 기기(machine)(예를 들어, 디스플레이 장치 또는 컴퓨터)에 의해 읽을 수 있는 저장 매체(storage medium)(예를 들어, 메모리)에 저장된 하나 이상의 인스트럭션들을 포함하는 소프트웨어로서 구현될 수 있다. 예를 들면, 기기의 프로세서(예를 들어, 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 인스트럭션들 중 적어도 하나의 인스트럭션을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 인스트럭션에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 인스트럭션들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 개시에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 실시 예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 방법들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (7)

  1. 로봇 핸드와 로봇 핸드와 분리된 카메라간의 캘리브레이션을 수행하는 방법에 있어서,
    상기 로봇 핸드가 회전 운동 없이 병진 운동만 하는 경우에 따른 카메라 좌표계의 병진 변환 관계 및 로봇 핸드 좌표계의 병진 변환 관계를 사용하여 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 사이의 회전 변환 관계를 산출하는 단계;
    상기 로봇 핸드가 회전 운동 하는 경우에 따른 카메라 좌표계의 회전 변환 관계, 상기 로봇 핸드가 회전 운동 하는 경우에 따른 로봇 핸드 좌표계의 회전 변환 관계 및 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 사이의 회전 변환 관계를 이용하여 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 사이의 병진 변환 관계를 산출하는 단계;
    상기 산출된 로봇 핸드 좌표계와 카메라 좌표계 사이의 회전 변환 관계 및 상기 로봇 핸드 좌표계와 카메라 좌표계 사이의 병진 변환 관계를 사용하여 상기 로봇 핸드 좌표계와 카메라 좌표계의 변환 관계를 산출하는 단계;
    상기 변환 관계에 기초하여 상기 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 간의 오차 레벨을 결정하는 단계;
    상기 오차 레벨에 기초하여 상기 회전 변환 관계에 대한 제 1 샘플링 횟수 또는 상기 오차 레벨에 기초하여 상기 병진 변환 관계에 대한 제 2 샘플링 횟수를 갱신하는 단계;
    상기 갱신된 제 1 샘플링 횟수에 따른 회전 변환 관계 또는 상기 갱신된 제 2 샘플링 횟수에 따른 병진 변환 관계를 사용하여 상기 변환 관계를 갱신하는 단계; 및
    상기 갱신된 변환 관계를 이용하여 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 간의 캘리브레이션을 수행하는 단계;를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 제 1 샘플링 횟수 또는 상기 제 2 샘플링 횟수를 갱신하는 단계는
    상기 오차 레벨이 제 1 레벨 이상인 경우 상기 제 1 샘플링 횟수 및 상기 제 2 샘플링 횟수를 모두 증가시키고,
    상기 오차 레벨이 제 2 레벨 이상, 상기 제 1 레벨 미만인 경우 상기 제 1 샘플링 횟수를 증가시키고,
    상기 오차 레벨이 제 3 레벨 이상, 상기 제 2 레벨 미만인 경우 상기 제 2 샘플링 횟수를 증가시키고,
    상기 제 1 레벨은 상기 제 2 레벨보다 높고, 상기 제 2 레벨은 상기 제 3 레벨보다 높은, 방법.
  3. 제 2 항에 있어서,
    상기 제 1 샘플링 횟수 또는 상기 제 2 샘플링 횟수를 갱신하는 단계는
    상기 오차 레벨이 제 5 레벨 이상, 제 4 레벨 미만인 경우 상기 제 2 샘플링 횟수를 감소시키고,
    상기 제 4 레벨은 상기 제 3 레벨보다 낮은, 방법.
  4. 제 3 항에 있어서,
    상기 제 1 샘플링 횟수 또는 상기 제 2 샘플링 횟수를 갱신하는 단계는
    상기 오차 레벨이 제 6 레벨 이상, 제 5 레벨 미만인 경우 상기 제 1 샘플링 횟수를 감소시키고,
    상기 제 5 레벨은 상기 제 4 레벨보다 낮은, 방법.
  5. 제 4 항에 있어서,
    상기 제 1 샘플링 횟수 또는 상기 제 2 샘플링 횟수를 갱신하는 단계는
    상기 오차 레벨이 상기 제 6 레벨 미만인 경우 상기 제 1 샘플링 횟수 및 상기 제 2 샘플링 횟수를 감소시키고,
    상기 제 6 레벨은 상기 제 5 레벨보다 낮은, 방법.
  6. 로봇 핸드와 로봇 핸드와 분리된 카메라간의 캘리브레이션을 수행하는 디바이스에 있어서,
    로봇 핸드;
    상기 로봇 핸드와 분리된 카메라; 및
    상기 로봇 핸드가 회전 운동 없이 병진 운동만 하는 경우에 따른 카메라 좌표계의 병진 변환 관계 및 로봇 핸드 좌표계의 병진 변환 관계를 사용하여 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 사이의 회전 변환 관계를 산출하고,
    상기 로봇 핸드가 회전 운동 하는 경우에 따른 카메라 좌표계의 회전 변환 관계, 상기 로봇 핸드가 회전 운동 하는 경우에 따른 로봇 핸드 좌표계의 회전 변환 관계 및 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 사이의 회전 변환 관계를 이용하여 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 사이의 병진 변환 관계를 산출하고,
    상기 산출된 로봇 핸드 좌표계와 카메라 좌표계 사이의 회전 변환 관계 및 상기 로봇 핸드 좌표계와 카메라 좌표계 사이의 병진 변환 관계를 사용하여 상기 로봇 핸드 좌표계와 카메라 좌표계의 변환 관계를 산출하고,
    상기 변환 관계에 기초하여 상기 상기 로봇 핸드 좌표계와 상기 카메라 좌표계 간의 오차 레벨을 결정하고,
    상기 오차 레벨에 기초하여 상기 회전 변환 관계에 대한 제 1 샘플링 횟수 또는 상기 오차 레벨에 기초하여 상기 병진 변환 관계에 대한 제 2 샘플링 횟수를 갱신하고,
    상기 갱신된 제 1 샘플링 횟수에 따른 회전 변환 관계 또는 상기 갱신된 제 2 샘플링 횟수에 따른 병진 변환 관계를 사용하여 상기 변환 관계를 갱신하고,
    상기 갱신된 변환 관계를 이용하여 상기 로봇 핸드와 상기 카메라 간의 캘리브레이션을 수행하는 프로세서;를 포함하는, 디바이스.
  7. 제 1 항 내지 제 5 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.

KR1020220168943A 2022-12-06 2022-12-06 로봇 핸드와 로봇 핸드와 분리된 카메라 간의 캘리브레이션을 수행하는 방법 및 디바이스 KR102585332B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220168943A KR102585332B1 (ko) 2022-12-06 2022-12-06 로봇 핸드와 로봇 핸드와 분리된 카메라 간의 캘리브레이션을 수행하는 방법 및 디바이스

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220168943A KR102585332B1 (ko) 2022-12-06 2022-12-06 로봇 핸드와 로봇 핸드와 분리된 카메라 간의 캘리브레이션을 수행하는 방법 및 디바이스

Publications (1)

Publication Number Publication Date
KR102585332B1 true KR102585332B1 (ko) 2023-10-05

Family

ID=88293468

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220168943A KR102585332B1 (ko) 2022-12-06 2022-12-06 로봇 핸드와 로봇 핸드와 분리된 카메라 간의 캘리브레이션을 수행하는 방법 및 디바이스

Country Status (1)

Country Link
KR (1) KR102585332B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040102911A1 (en) * 2002-11-21 2004-05-27 Samsung Electronics Co., Ltd. Hand/eye calibration method using projective invariant shape descriptor of 2-dimensional image
KR20140123660A (ko) * 2013-04-12 2014-10-23 성균관대학교산학협력단 로봇 핸드와 로봇 핸드에 부착된 카메라의 캘리브레이션 방법 및 장치
KR101988937B1 (ko) * 2017-09-07 2019-06-13 주식회사 인지 카메라와 로봇 핸드의 캘리브레이션 방법 및 장치
KR20190070385A (ko) 2017-12-12 2019-06-21 한국로봇융합연구원 정보가 없는 객체를 파지하는 로봇 핸드 및 그 제어방법
CN110288660A (zh) * 2016-11-02 2019-09-27 北京信息科技大学 一种基于凸松弛全局优化算法的机器人手眼标定方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040102911A1 (en) * 2002-11-21 2004-05-27 Samsung Electronics Co., Ltd. Hand/eye calibration method using projective invariant shape descriptor of 2-dimensional image
KR20140123660A (ko) * 2013-04-12 2014-10-23 성균관대학교산학협력단 로봇 핸드와 로봇 핸드에 부착된 카메라의 캘리브레이션 방법 및 장치
CN110288660A (zh) * 2016-11-02 2019-09-27 北京信息科技大学 一种基于凸松弛全局优化算法的机器人手眼标定方法
KR101988937B1 (ko) * 2017-09-07 2019-06-13 주식회사 인지 카메라와 로봇 핸드의 캘리브레이션 방법 및 장치
KR20190070385A (ko) 2017-12-12 2019-06-21 한국로봇융합연구원 정보가 없는 객체를 파지하는 로봇 핸드 및 그 제어방법

Similar Documents

Publication Publication Date Title
JP6573354B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US10290118B2 (en) System and method for tying together machine vision coordinate spaces in a guided assembly environment
US20200096317A1 (en) Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium
JP6011548B2 (ja) カメラ校正装置、カメラ校正方法およびカメラ校正用プログラム
US9639942B2 (en) Information processing apparatus, information processing method, and storage medium
JP6271953B2 (ja) 画像処理装置、画像処理方法
KR101465652B1 (ko) 로봇 핸드와 로봇 핸드에 부착된 카메라의 캘리브레이션 방법 및 장치
JP6092530B2 (ja) 画像処理装置、画像処理方法
JP2008070267A (ja) 位置姿勢計測方法及び装置
US7711507B2 (en) Method and device for determining the relative position of a first object with respect to a second object, corresponding computer program and a computer-readable storage medium
WO2016042779A1 (ja) 三角測量装置、三角測量方法およびそのプログラムを記録した記録媒体
JP4960941B2 (ja) 放送用バーチャルスタジオのズームレンズ搭載カメラのカメラキャリブレーション装置、その方法およびそのプログラム
WO2023134237A1 (zh) 用于机器人的坐标系标定方法、装置、系统以及介质
US20190392607A1 (en) Image processing apparatus, system, image processing method, article manufacturing method, and non-transitory computer-readable storage medium
JPWO2018043524A1 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
JP2019098409A (ja) ロボットシステムおよびキャリブレーション方法
JP2018179577A (ja) 位置計測装置
JP2012071394A (ja) シミュレーションシステムおよびそのためのシミュレーションプログラム
KR102585332B1 (ko) 로봇 핸드와 로봇 핸드와 분리된 카메라 간의 캘리브레이션을 수행하는 방법 및 디바이스
KR101972432B1 (ko) 레이저비전 센서 및 그 보정방법
CN115272410A (zh) 一种无标定视觉的动态目标追踪方法、装置、设备及介质
JP2007034964A (ja) カメラ視点運動並びに3次元情報の復元及びレンズ歪パラメータの推定方法、装置、カメラ視点運動並びに3次元情報の復元及びレンズ歪パラメータの推定プログラム
CN112785685A (zh) 一种装配引导方法及系统
JP2014175782A (ja) カメラパラメータ推定装置及びカメラパラメータ推定方法並びにカメラパラメータ推定プログラム
JP2020196081A (ja) ビジュアルサーボシステム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant