KR20190027584A - Method and apparatus for calibration of a robot hand and a camera - Google Patents

Method and apparatus for calibration of a robot hand and a camera Download PDF

Info

Publication number
KR20190027584A
KR20190027584A KR1020170114545A KR20170114545A KR20190027584A KR 20190027584 A KR20190027584 A KR 20190027584A KR 1020170114545 A KR1020170114545 A KR 1020170114545A KR 20170114545 A KR20170114545 A KR 20170114545A KR 20190027584 A KR20190027584 A KR 20190027584A
Authority
KR
South Korea
Prior art keywords
camera
robot hand
coordinate system
posture
motion vector
Prior art date
Application number
KR1020170114545A
Other languages
Korean (ko)
Other versions
KR101988937B1 (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 KR1020170114545A priority Critical patent/KR101988937B1/en
Publication of KR20190027584A publication Critical patent/KR20190027584A/en
Application granted granted Critical
Publication of KR101988937B1 publication Critical patent/KR101988937B1/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/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control

Abstract

The present invention relates to a method and an apparatus for calibration of a camera and a robot hand and, more specifically, relates to a method for performing calibration between a camera and a robot hand in an apparatus having the robot hand and the camera attached to the hand, which comprises the following steps of: converting a pose of the robot hand in accordance with inputted pose information; and calculating a rotation matrix (R) between the camera and the robot hand when the pose information has only a movement value, and calculating a moving vector (t) between the camera and the robot hand when the pose information has only a rotation value.

Description

카메라와 로봇 핸드의 캘리브레이션 방법 및 장치{METHOD AND APPARATUS FOR CALIBRATION OF A ROBOT HAND AND A CAMERA}Technical Field [0001] The present invention relates to a method and an apparatus for calibrating a camera and a robot hand,

본 발명은 카메라와 로봇 핸드의 캘리브레이션 방법 및 장치에 관한 것으로, 더욱 상세하게는 회전 자세와 이동 자세를 이용하여 로봇 핸드와 로봇 핸드 상에 부착된 카메라 간의 캘리브레이션을 수행하는 카메라와 로봇 핸드의 캘리브레이션 방법 및 장치에 관한 것이다.The present invention relates to a method and an apparatus for calibrating a camera and a robot hand, and more particularly to a method of calibrating a robot hand and a robot hand using a rotation posture and a movement posture, And apparatus.

일반적으로, 전기적 또는 자기적인 작용을 이용하여 인간의 동작과 닮은 운동을 행하는 기계장치를 로봇이라고 한다. 초기의 로봇은 생산 현장에서의 작업 자동화ㆍ무인화 등을 목적으로 한 매니퓰레이터(manipulator)나 반송 로봇 등의 산업용 로봇으로 인간을 대신하여 위험한 작업이나 단순한 반복 작업, 큰 힘을 필요로 하는 작업을 수행하였으나, 최근에는 인간과 유사한 관절체계를 가지고 인간의 작업 및 생활공간에서 인간과 공존하며 다양한 서비스를 제공하는 인간형 로봇(humanoid robot)의 연구 개발이 활발하게 진행되고 있다.Generally, a mechanical device that performs an action similar to a human motion by using an electric or magnetic action is called a robot. Early robots were industrial robots, such as manipulators and conveyor robots, aimed at automating and unmanning operations on the production floor. They performed dangerous work, simple repetitive work, and tasks requiring great power on behalf of human beings Recently, research and development of a humanoid robot, which has a joint system similar to a human and provides various services coexisting with humans in a human work and living space, is actively under way.

이러한 인간형 로봇은 전기적ㆍ기계적 메카니즘에 의해서 팔이나 손의 동작에 가깝게 운동할 수 있도록 만들어진 매니퓰레이터를 이용하여 작업을 수행한다. 현재 사용되고 있는 대부분의 매니퓰레이터는 여러 개의 링크(link)들이 서로 연결되어 구성된다. 각 링크들의 연결 부위를 관절(joint)이라 하는데 매니퓰레이터는 이러한 링크와 관절들 사이의 기하학적인 관계에 따라 운동 특성이 결정된다. 이 기하학적인 관계를 수학적으로 표현한 것이 기구학(Kinematics)이며 대부분의 매니퓰레이터는 이러한 기구학적 특성(kinematics characteristic)을 가지고 작업을 수행하기 위한 방향(목표 위치)으로 로봇 핸드(예컨대, 엔드 이펙터)를 이동시킨다.Such a humanoid robot performs work using a manipulator designed to move close to the motion of an arm or a hand by an electrical and mechanical mechanism. Most manipulators currently in use are configured with multiple links linked together. The joint of each link is referred to as a joint, and the manipulator determines the motion characteristic according to the geometric relationship between the link and the joints. The mathematical representation of this geometric relationship is kinematics, and most manipulators move the robot hand (eg, the end effector) in a direction (target position) for performing a task with this kinematics characteristic .

한편, 카메라를 부착한 로봇시스템의 보정은 크게 로봇 베이스와 로봇 핸드의 보정, 카메라의 보정, 로봇 베이스 또는 로봇 핸드와 카메라의 보정(hand/eye calibration)으로 분류된다.On the other hand, the correction of the robot system with the camera is largely classified into the correction of the robot base and the robot hand, the correction of the camera, and the correction of the robot base or the hand / eye calibration of the robot hand and the camera.

산업 현장에서 사용 중인 로봇과 카메라의 보정방법은 일반적으로 티치팬던트(teach pendant)라고 불리는 별도의 조작기를 이용한다. 티치팬던트라고 불리는 별도의 조작기를 이용하여 알고 있는 대상의 위치에 로봇의 핸드를 교시하여 여러번의 반복과정을 통해서 카메라와 로봇의 핸드사이에 변환관계를 추정할 수 있다.The calibration method of the robot and the camera used in the industrial field generally uses a separate manipulator called a teach pendant. Using a separate manipulator called a teach pendant, the robot's hand is taught to a known position of the object, and the conversion relation between the camera and the robot's hand can be estimated through a plurality of iterative processes.

티치팬던트를 이용하는 경우에는 작업자에게 교시 메뉴 및 프로그래밍 언어에 대한 이해와 공간적인 감각, 로봇 시스템 및 기구학적 해석 능력등이 요구되어 작업자가 운용하기 위해서는 많은 시간이 소요되고 조작이 번거로운 문제가 발생한다.In the case of using Teach Pendant, it is required for the operator to understand the teaching menu and programming language, sense of space, robotic system and kinematic analysis ability, and it takes much time and troublesome operation for the operator to operate.

또한 로봇의 핸드를 직접 교시하는 경우, 작업자는 로봇의 바로 옆이나 로봇의 인근에서 로봇의 핸드를 직접 교시하여야 하므로 로봇의 오작동에 따라 작업자의 안정상 문제가 발생할 수 있으며, 인간의 판단을 통한 교시 방법이므로 정밀도가 떨어질 수 있다.In addition, when the robot's hand is directly instructed, the operator must directly instruct the robot's hand on the side of the robot or in the vicinity of the robot, so that the operator's safety problem may occur according to the malfunction of the robot. The accuracy can be lowered.

그 외에도 카메라 자체의 캘리브레이션도 별도로 수행되어야 하는 과정이 존재하여 작업자가 카메라에 관한 사전지식 없이 카메라 내/외부 파라미터를 구하기에 어려움을 가지고 있어 상당한 불편함과 시간 소요가 있었으며, 관련 분야에서 카메라의 사용시 렌즈의 왜곡을 무시하는 경향이 일반적으로 제시되고 있어 이를 개선하는 방법이 요구된다.In addition, the calibration of the camera itself has to be performed separately, which makes it difficult for the operator to obtain the parameters of the camera inside / outside the camera without prior knowledge of the camera, which is inconvenient and time consuming. A tendency to ignore the distortion of the lens is generally suggested, and a way to improve it is required.

이와 관련 선행기술로는 대한민국공개특허 제10-2014-0054927호(발명의 명칭: 로봇의 자동 캘리브레이션 방법)가 있다.Korean Prior Art 10-2014-0054927 (entitled "Automatic Calibration Method of Robot") is a prior art related to this.

본 발명은 로봇 핸드의 이동자세와 회전자세를 이용하여 로봇 핸드에 부착된 카메라 자체의 캘리브레이션은 물론, 카메라와 로봇 핸드 사이의 캘리브레이션을 수행할 수 있는 카메라와 로봇 핸드와의 캘리브레이션 방법 및 장치를 제공하는데 목적이 있다. The present invention provides a method and an apparatus for calibrating a camera and a robot hand capable of performing calibration between a camera and a robot hand as well as a calibration of a camera itself attached to the robot hand using a moving posture and a rotation posture of the robot hand .

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problem (s), and another problem (s) not mentioned can be clearly understood by those skilled in the art from the following description.

본 발명의 일 실시예에 따른 카메라와 로봇 핸드의 캘리브레이션 방법은 로봇 핸드 및 상기 핸드 상에 부착된 카메라를 포함하는 장치가 상기 카메라와 로봇 핸드 간의 캘리브레이션을 수행하는 방법에 있어서, 입력된 자세정보에 따라 상기 로봇 핸드의 자세(pose)를 변환시키는 단계, 상기 자세정보가 이동 값만을 포함하는 경우, 상기 카메라와 로봇 핸드 간의 회전행렬(R)을 산출하고, 상기 자세정보가 회전 값만을 포함하는 경우 상기 카메라와 로봇 핸드 간의 이동벡터(t)를 산출하는 단계를 포함한다. A method of calibrating a camera and a robot hand according to an embodiment of the present invention is a method of calibrating a camera hand and a robot hand in an apparatus including a robot hand and a camera attached to the hand, Calculating a rotation matrix R between the camera and the robot hand when the attitude information includes only the movement value, and if the attitude information includes only the rotation value, And calculating a motion vector (t) between the camera and the robot hand.

바람직하게는, 자세 변환 후의 카메라 좌표계로부터 자세 변환 전의 로봇 핸드 좌표계까지의 자세 변환 관계를 이용하여 카메라와 로봇 핸드 간의 자세 변환 관계 산출을 위한 관계식을 도출하는 단계를 더 포함할 수 있다. Preferably, the method further includes a step of deriving a relational expression for calculating a posture conversion relation between the camera and the robot hand using the posture conversion relationship from the camera coordinate system after posture transformation to the robot hand coordinate system before posture transformation.

바람직하게는, 상기 자세 변환 관계는 회전행렬과 이동벡터를 포함할 수 있다. Preferably, the posture conversion relationship may include a rotation matrix and a motion vector.

바람직하게는, 상기 관계식은 아래 기재된 수학식일 수 있다. Preferably, the relational expression may be a mathematical expression described below.

[수학식][Mathematical Expression]

Figure pat00001
Figure pat00001

여기서, Rc는 카메라의 회전행렬, tc는 카메라의 이동벡터, RE는 로봇 핸드의 회전행렬, tE는 로봇 핸드의 이동벡터, R은 카메라와 로봇 핸드 사이의 회전행렬, t는 카메라와 로봇 핸드 사이의 이동벡터일 수 있다. Where Rc is the rotation matrix of the camera, tc is the motion vector of the camera, R E is the rotation matrix of the robot hand, t E is the motion vector of the robot hand, R is the rotation matrix between the camera and the robot hand, Hand motion vector.

바람직하게는, 상기 자세정보가 이동 값만을 포함하는 경우, 상기 카메라와 로봇 핸드 간의 회전 행렬(R)을 산출하는 단계는, 상기 카메라를 통해 사전에 좌표계가 설정된 보정블록을 촬영하고, 상기 촬영된 보정블록의 좌표계를 기준으로 제1 카메라 자세에서의 제1 카메라 좌표계와 제2 카메라 자세에서의 제2 카메라 좌표계를 각각 산출하는 단계, 상기 제1 카메라 좌표계와 제2 카메라 좌표계를 이용하여 카메라의 자세 변환 관계를 산출하고, 상기 자세 정보를 이용하여 상기 로봇 핸드의 자세 변환 관계를 산출하는 단계, 상기 카메라의 자세 변환 관계 및 로봇 핸드의 자세 변환 관계를 이용하여 상기 카메라와 로봇 핸드 사이의 회전행렬을 산출하는 단계를 포함할 수 있다. Preferably, when the attitude information includes only the movement value, the step of calculating the rotation matrix R between the camera and the robot hand may include photographing the correction block in which the coordinate system is set in advance via the camera, Calculating a first camera coordinate system in a first camera posture and a second camera coordinate system in a second camera posture on the basis of a coordinate system of a correction block, calculating a posture of the camera using the first camera coordinate system and the second camera coordinate system, Calculating a conversion relationship between the camera and the robot hand, calculating a posture conversion relation of the robot hand using the posture information, and calculating a rotation matrix between the camera and the robot hand using the posture conversion relation of the camera and the posture conversion relation of the robot hand And a step of calculating the number of steps.

바람직하게는, 상기 카메라의 회전행렬과 상기 로봇 핸드의 회전행렬은 I행렬이고, 상기 카메라와 로봇 핸드 사이의 회전행렬은 아래 기재된 수학식에 의사 역행렬(Pseudo Inverse)을 적용하여 산출할 수 있다. Preferably, the rotation matrix of the camera and the rotation matrix of the robot hand are I matrices, and the rotation matrix between the camera and the robot hand can be calculated by applying a pseudo inverse to the mathematical expression described below.

[수학식][Mathematical Expression]

Figure pat00002
Figure pat00002

여기서, tc는 카메라의 이동벡터, tE는 로봇 핸드의 이동벡터, R은 카메라와 로봇 핸드 사이의 회전행렬일 수 있다. Here, tc is the motion vector of the camera, t E is the motion vector of the robot hand, and R is the rotation matrix between the camera and the robot hand.

바람직하게는, 상기 자세정보가 회전 값만을 포함하는 경우 상기 카메라와 로봇 핸드 간의 이동벡터(t)를 산출하는 단계는, 상기 카메라를 통해 사전에 좌표계가 설정된 보정블록을 촬영하고, 상기 촬영된 보정블록의 좌표계를 기준으로 제1 카메라 자세에서의 제1 카메라 좌표계와 제2 카메라 자세에서의 제2 카메라 좌표계를 각각 산출하는 단계, 상기 제1 카메라 좌표계와 제2 카메라 좌표계를 이용하여 카메라의 자세 변환 관계를 산출하고, 상기 자세 정보를 이용하여 상기 로봇 핸드의 자세 변환 관계를 산출하는 단계, 상기 카메라의 자세 변환 관계 및 로봇 핸드의 자세 변환 관계를 이용하여 상기 카메라와 로봇 핸드 사이의 이동벡터를 산출하는 단계를 포함할 수 있다. Preferably, when the attitude information includes only the rotation value, calculating the motion vector t between the camera and the robot hand may include photographing a correction block in which a coordinate system is set in advance via the camera, Calculating a first camera coordinate system in a first camera posture and a second camera coordinate system in a second camera posture on the basis of a coordinate system of a block using a first camera coordinate system and a second camera coordinate system, Calculating a motion vector between the camera and the robot hand using the posture conversion relationship of the camera and the posture conversion relationship of the robot hand; .

바람직하게는, 상기 로봇 핸드의 이동벡터(tE)는 '0'이고, 상기 카메라와 로봇 핸드 사이의 이동벡터(t)는 아래 기재된 수학식에 의사 역행렬(Pseudo Inverse)을 적용하여 산출할 수 있다. Preferably, the motion vector t e of the robot hand is '0', and the motion vector t between the camera and the robot hand can be calculated by applying a pseudo inverse to the following equation have.

[수학식][Mathematical Expression]

Figure pat00003
Figure pat00003

여기서, Rc는 카메라의 회전행렬, tc는 카메라의 이동벡터, t는 카메라와 로봇 핸드 사이의 이동벡터일 수 있다. Here, Rc may be a rotation matrix of the camera, tc may be a motion vector of the camera, and t may be a motion vector between the camera and the robot hand.

바람직하게는, 상기 산출된 카메라와 로봇 핸드 사이의 자세 변환 관계를 이용하여 상기 카메라와 로봇 핸드 사이의 캘리브레이션을 수행하는 단계를 더 포할 수 있다. Preferably, the step of performing the calibration between the camera and the robot hand using the posture conversion relationship between the calculated camera and the robot hand may be further included.

본 발명의 다른 실시예에 따른 로봇 핸드 및 상기 로봇 핸드 상에 부착된 카메라의 캘리브레이션을 수행하는 장치에 있어서, 로봇 핸드의 자세정보를 입력받는 사용자 인터페이스부, 상기 자세정보에 따라 상기 로봇 핸드의 자세(pose)를 변환시키는 자세 제어부, 상기 로봇 핸드가 회전하지 않고 이동만 하는 경우 상기 카메라와 로봇 핸드 간의 회전 행렬(R)을 산출하고, 상기 로봇 핸드가 회전만 하는 경우 상기 카메라와 로봇 핸드 간의 이동벡터(t)를 산출하는 캘리브레이션 제어부를 포함할 수 있다. There is provided an apparatus for calibrating a robot hand and a camera attached to the robot hand according to another embodiment of the present invention, the apparatus comprising: a user interface unit for receiving attitude information of the robot hand; (R) between the camera and the robot hand when the robot hand does not rotate, and calculates a rotation matrix (R) between the camera and the robot hand when the robot hand only rotates, And a calibration control unit for calculating the vector t.

바람직하게는, 상기 캘리브레이션 제어부는 상기 로봇 핸드가 회전하지 않고 이동만 하는 경우, 상기 카메라를 통해 사전에 좌표계가 설정된 보정블록을 촬영하고, 상기 촬영된 보정블록의 좌표계를 기준으로 제1 카메라 자세에서의 제1 카메라 좌표계와 제2 카메라 자세에서의 제2 카메라 좌표계를 각각 산출하며, 상기 제1 카메라 좌표계와 제2 카메라 좌표계를 이용하여 카메라의 자세 변환 관계를 산출하고, 상기 자세 정보를 이용하여 상기 로봇 핸드의 자세 변환 관계를 산출하며, 상기 카메라의 자세 변환 관계 및 로봇 핸드의 자세 변환 관계를 이용하여 상기 카메라와 로봇 핸드 사이의 회전행렬을 산출하되, 상기 카메라와 로봇 핸드 사이의 회전행렬은 아래 기재된 수학식에 의사 역행렬(Pseudo Inverse)을 적용하여 산출할 수 있다. Preferably, the calibration control unit photographs a correction block in which a coordinate system has been set in advance through the camera when the robot hand moves only without rotating the camera, Calculating a first camera coordinate system of the first camera coordinate system and a second camera coordinate system of the second camera coordinate system, calculating a posture change relation of the camera using the first camera coordinate system and the second camera coordinate system, Calculating a rotation matrix between the camera and the robot hand using the posture conversion relation of the camera and the posture conversion relationship of the robot hand, wherein the rotation matrix between the camera and the robot hand is Can be calculated by applying a pseudo inverse to the described mathematical expression.

[수학식][Mathematical Expression]

Figure pat00004
Figure pat00004

여기서, tc는 카메라의 이동벡터, tE는 로봇 핸드의 이동벡터, R은 카메라와 로봇 핸드 사이의 회전행렬일 수 있다. Here, tc is the motion vector of the camera, t E is the motion vector of the robot hand, and R is the rotation matrix between the camera and the robot hand.

바람직하게는, 상기 캘리브레이션 제어부는 상기 로봇 핸드가 회전만 하는 경우, 상기 카메라를 통해 사전에 좌표계가 설정된 보정블록을 촬영하고, 상기 촬영된 보정블록의 좌표계를 기준으로 제1 카메라 자세에서의 제1 카메라 좌표계와 제2 카메라 자세에서의 제2 카메라 좌표계를 각각 산출하며, 상기 제1 카메라 좌표계와 제2 카메라 좌표계를 이용하여 카메라의 자세 변환 관계를 산출하고, 상기 자세 정보를 이용하여 상기 로봇 핸드의 자세 변환 관계를 산출하며, 상기 카메라의 자세 변환 관계 및 로봇 핸드의 자세 변환 관계를 이용하여 상기 카메라와 로봇 핸드 사이의 이동벡터(t)를 산출하되, 상기 카메라와 로봇 핸드 사이의 이동벡터(t)는 아래 기재된 수학식에 의사 역행렬(Pseudo Inverse)을 적용하여 산출할 수 있다. Preferably, the calibration control unit photographs a correction block in which a coordinate system has been set in advance through the camera when the robot hand only rotates, and the first control unit Calculating a posture change relation of the camera using the first camera coordinate system and the second camera coordinate system, calculating a posture change relation of the camera using the first camera coordinate system and the second camera coordinate system, (T) between the camera and the robot hand using the posture conversion relationship of the camera and the posture conversion relationship of the robot hand, and calculates a motion vector (t) between the camera and the robot hand ) Can be calculated by applying a pseudo inverse to the equation described below.

[수학식][Mathematical Expression]

Figure pat00005
Figure pat00005

여기서, Rc는 카메라의 회전행렬, tc는 카메라의 이동벡터, t는 카메라와 로봇 핸드 사이의 이동벡터일 수 있다. Here, Rc may be a rotation matrix of the camera, tc may be a motion vector of the camera, and t may be a motion vector between the camera and the robot hand.

바람직하게는, 상기 장치에 상기 로봇 핸드 상에 부착된 첫번째 카메라 외에 두번째 카메라가 구비된 스테레오(Stereo) 기반의 3D 카메라가 구비된 경우, 상기 캘리브레이션 제어부는 상기 보정블록의 좌표계를 기준으로 상기 첫번째 카메라의 좌표계와 상기 두번째 카메라의 좌표계를 각각 산출하고, 상기 산출된 첫번째 카메라의 좌표계와 상기 두번째 카메라의 좌표계를 이용하여 첫번째 카메라와 두번째 카메라 간의 자세 변환 관계를 산출하며, 상기 산출된 두 카메라 간의 자세 변환 관계를 이용하여 3D카메라의 캘리브레이션을 수행할 수 있다. Preferably, when the apparatus is provided with a stereo-based 3D camera equipped with a second camera in addition to the first camera attached on the robot hand, the calibration control unit may control the first camera Calculates a posture change relation between the first camera and the second camera using the coordinate system of the first camera and the coordinate system of the second camera, and calculates a posture change relation between the calculated two cameras using the coordinate system of the first camera and the coordinate system of the second camera, The relationship can be used to perform calibration of the 3D camera.

바람직하게는, 상기 로봇 핸드 상에 부착된 카메라가 프로젝터(Projector)가 구비된 구조광(Structured Light) 기반의 3D 카메라인 경우, 상기 캘리브레이션 제어부는 상기 보정블록의 좌표계를 기준으로 상기 카메라의 좌표계와 상기 프로젝터의 좌표계를 각각 산출하고, 상기 산출된 카메라의 좌표계와 상기 프로젝터의 좌표계를 이용하여 카메라와 프로젝터 간의 자세 변환 관계를 산출하며, 상기 산출된 카메라와 프로젝터 간의 자세 변환 관계를 이용하여 3D 카메라의 캘리브레이션을 수행할 수 있다. Preferably, when the camera attached to the robot hand is a structured light-based 3D camera equipped with a projector, the calibration control unit controls the coordinate system of the camera based on the coordinate system of the correction block, Calculating a posture change relationship between the camera and the projector using the calculated coordinate system of the camera and the coordinate system of the projector, and calculating a posture change relationship between the calculated camera and the projector, Calibration can be performed.

본 발명에 따르면, 로봇 핸드의 이동자세와 회전자세를 이용하여 로봇 핸드에 부착된 카메라 자체의 캘리브레이션은 물론, 카메라와 로봇 핸드 사이의 캘리브레이션을 수행할 수 있다. According to the present invention, the calibration between the camera and the robot hand can be performed as well as the calibration of the camera itself attached to the robot hand by using the movement posture and the rotation posture of the robot hand.

또한, 본 발명에 따르면, 3차원 카메라와 로봇 핸드 사이의 보다 정확한 위치 관계를 획득할 수 있고, 3차원 카메라 자체의 캘리브레이션 단계가 간소화되므로 자동화 시스템의 로봇 매니퓰레이터 생산 및 설치가 보다 쉽고 정확해지며, 이로 인해 공장 자동화 시스템이 보다 활성화되는 효과가 있다. Further, according to the present invention, it is possible to acquire a more accurate positional relationship between the three-dimensional camera and the robot hand, and the calibration step of the three-dimensional camera itself is simplified, so that the production and installation of the robot manipulator of the automation system becomes easier and more accurate, This makes the factory automation system more active.

한편, 본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 효과들이 포함될 수 있다. The effects of the present invention are not limited to the above-mentioned effects, and various effects can be included within the scope of what is well known to a person skilled in the art from the following description.

도 1은 본 발명의 일 실시예에 따른 카메라와 매니퓰레이터 엔드 이펙터의 캘리브레이션을 수행하는 로봇을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 카메라와 엔드 이펙터의 캘리브레이션을 위한 제어장치의 구성을 나타낸 블록도이다.
도 3 내지 도 7은 본 발명의 일 실시예에 따른 카메라와 엔드 이펙터 사이의 자세 변환 관계를 산출하기 위한 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 카메라와 엔드 이펙터의 캘리브레이션을 위한 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 카메라와 엔드 이펙터 간의 회전행렬을 산출하는 방법을 나타낸 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 카메라와 엔드 이펙터 간의 이동벡터를 산출하는 방법을 나타낸 흐름도이다.
FIG. 1 is a view for explaining a robot that performs calibration of a camera and a manipulator end effector according to an embodiment of the present invention.
2 is a block diagram showing the configuration of a control device for calibration of a camera and an end effecter according to an embodiment of the present invention.
3 to 7 are diagrams for explaining a method for calculating a posture change relation between a camera and an end effector according to an embodiment of the present invention.
FIG. 8 illustrates a method for calibrating a camera and an end effector according to an embodiment of the present invention. Referring to FIG.
9 is a flowchart illustrating a method of calculating a rotation matrix between a camera and an end effector according to an embodiment of the present invention.
10 is a flowchart illustrating a method of calculating a motion vector between a camera and an end effector according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

한편, 로봇 핸드는 엔드 이펙터, 그리퍼 등을 포함하는 용어로, 이하에서는 설명의 편의를 위해 엔드 이펙터로 한정하여 설명하기로 한다. On the other hand, the robot hand is a term including an end effector, a gripper, and the like, and will be described below as an end effector only for convenience of explanation.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 카메라와 매니퓰레이터 엔드 이펙터 간의 캘리브레이션을 수행하는 로봇을 설명하기 위한 도면이다. 1 is a view for explaining a robot performing calibration between a camera and a manipulator end effector according to an embodiment of the present invention.

도 1을 참조하면, 카메라와 매니퓰레이터 간의 캘리브레이션을 수행하는 로봇(100)은 제1 매니퓰레이터(111), 제1 매니퓰레이터(111)을 연결하는 제1 연결부(110), 제1 매니퓰레이터(111)에 제2 연결부(121)을 통하여 연결된 제2 매니퓰레이터(122), 제2 매니퓰레이터(122)의 말단에 연결된 엔드 이펙터(123), 제2 매니퓰레이터(122)의 일측 상단에 결합된 카메라(120) 및 제어장치(미도시)를 포함한다. 로봇(100)은 제1 연결부(110), 제2 연결부(121)가 제어장치의 제어에 따라 회전운동을 하여 3차원 적인 운동을 할 수 있다. 또한, 제2 매니퓰레이터(122)는 회전부(124)를 포함하여 엔드 이펙터(123) 및 카메라(120)가 일체로 회전할 수 있게 한다.1, a robot 100 for performing calibration between a camera and a manipulator includes a first manipulator 111, a first connection unit 110 for connecting the first manipulator 111, An end effector 123 connected to the end of the second manipulator 122, a camera 120 coupled to an upper end of one side of the second manipulator 122, (Not shown). The robot 100 can perform three-dimensional motion by rotating the first connection part 110 and the second connection part 121 under the control of the controller. In addition, the second manipulator 122 includes the rotation unit 124 to allow the end effector 123 and the camera 120 to rotate integrally.

앤드 이펙터(123)는 로봇이 작업을 할 때 작업 대상에 직접 작용하는 기능을 가진 부분(예 : 그리퍼, 용접 토치, 스프레이건, 너트 러너 등)을 말하는 것으로, 로봇 핸드에 해당될 수 있다.The end effector 123 refers to a part having a function of directly acting on a work object (e.g., a gripper, a welding torch, a spray gun, a nut runner, etc.) when the robot is working, and may correspond to a robot hand.

카메라(120)는 로봇의 작동을 위하여 필요한 영상을 취득한다. 카메라(120)가 취득하는 월드 좌표계의 물체는 2차원 평면일 수 있고, 3차원 입체 물체일 수도 있다. 다른 실시 예에서, 카메라(120)는 엔드 이펙터(123)에 부착되어 있을 수 있다. 다른 실시 예에서, 회전부(124)는 제2 매니퓰레이터(122)와 엔드 이펙터(123)의 결합부에 생성되고, 카메라는 엔드 이펙터(123)에 부착되어 제2 매니퓰레이터(121)의 회전 없이 엔드 이펙터(123)와 카메라(120)만 회전할 수도 있다.The camera 120 acquires an image necessary for operation of the robot. The object in the world coordinate system acquired by the camera 120 may be a two-dimensional plane or a three-dimensional solid object. In another embodiment, the camera 120 may be attached to the end effector 123. In another embodiment, the rotating portion 124 is created at the coupling portion of the second manipulator 122 and the end effector 123, and the camera is attached to the end effector 123 to rotate the end effector 123 without rotation of the second manipulator 121, Only the camera 123 and the camera 120 may rotate.

본 실시예에 따른 카메라(120)는 예컨대, 3차원 카메라일 수 있다. The camera 120 according to the present embodiment may be, for example, a three-dimensional camera.

제어장치(미도시)는 카메라(120)를 통해 취득된 영상을 사용하여 제1 연결부(120), 제2 연결부(121)를 제어함으로써 엔드 이펙터(123)를 원하는 위치에 이동시키고, 엔드 이펙터(123)를 작동시킴으로써 로봇의 작동을 제어한다. The control device (not shown) moves the end effector 123 to a desired position by controlling the first connection part 120 and the second connection part 121 using the image acquired through the camera 120, 123 to operate the robot.

또한, 제어장치는 엔드 이펙터(123)와 카메라(120)의 자세가 변환되면, 기 설정된 보정블록을 기준으로 각 자세에서의 카메라 좌표계를 각각 산출한다. 그런 후, 제어장치는 카메라 좌표계와 엔드 이펙터 좌표계를 이용하여 카메라(120)의 자세 변환 관계 및 엔드 이펙터(123)의 자세 변환 관계를 산출하며, 산출된 카메라(120)의 자세 변환 관계 및 엔드 이펙터(123)의 자세 변환 관계를 이용하여 카메라(120)와 엔드 이펙터(123) 사이의 자세 변환 관계를 산출한다. 이러한 제어장치는 로봇의 내부 또는 외부에 존재할 수 있다. Further, when the posture of the end effector 123 and the camera 120 is changed, the controller calculates the camera coordinate system in each posture based on the predetermined correction block. Then, the controller calculates the posture conversion relationship of the camera 120 and the posture conversion relation of the end effector 123 using the camera coordinate system and the end effector coordinate system, and calculates the posture conversion relationship of the calculated camera 120 and the end effector The posture conversion relationship between the camera 120 and the end effector 123 is calculated using the posture conversion relationship of the camera 123 and the end effector 123. [ Such a control device may exist inside or outside the robot.

제어장치에 대한 상세한 설명은 도 2를 참조하기로 한다. A detailed description of the control device will be given with reference to FIG.

한편, 매니퓰레이터(111, 122), 엔드 이펙터(123), 카메라(120)는 제어장치와 I/O 버스, USB, RS 232c 등과 같은 유선 통신 수단 또는, IR 적외선 통신, 블루투스(Bluetooth), 지그비(ZigBee), RFID(Radio Frequency Identification) 등의 무선 통신 수단에 의해 연결되어 유선 통신 또는 무선 통신으로 정보를 송수신할 수 있도록 되어 있다.The manipulators 111 and 122, the end effector 123 and the camera 120 may be connected to a control device and a wired communication means such as an I / O bus, a USB or an RS 232c or an IR infrared communication, a Bluetooth, a Zigbee ZigBee), and Radio Frequency Identification (RFID), so that information can be transmitted and received through wired communication or wireless communication.

보정블록(200)은 카메라(220)의 촬영 대상이 되고, 보정블록(200)의 위치정보(보정블록 좌표계)는 미리 설정되며, 로봇(100)의 캘리브레이션 작업을 수행함에 있어 보정블록(200)의 위치정보(보정블록 좌표계)는 카메라 좌표계 산출 시 기준으로 이용된다. 이처럼 보정블록(200)은 카메라 좌표계 산출 시 기준으로 이용되는 것으로, 예컨대, 보정블록(200)은 외면이 복수개의 평면을 갖는 블록, 3차원의 입체 물체 등 기준 좌표계를 제공할 수 있는 다양한 형태로 형성될 수 있다.The correction block 200 serves as an object to be imaged by the camera 220. The position information of the correction block 200 is set in advance and the correction block 200 is used to perform the calibration operation of the robot 100. [ (Correction block coordinate system) is used as a reference in calculating the camera coordinate system. As described above, the correction block 200 is used as a reference in calculating the camera coordinate system. For example, the correction block 200 may have various forms such as a block having an outer surface having a plurality of planes, a three-dimensional solid object, .

이하에서는 설명의 편의를 위해 보정블록(200)이 복수 개의 평면을 갖도록 형성된 경우에 대해 설명하기로 한다. Hereinafter, the case where the correction block 200 is formed to have a plurality of planes will be described for convenience of explanation.

보정블록(200)은 복수 개의 평면을 갖도록 형성되며, 즉, 각 하나의 면과 면이 접하는 부분에 일정 각도가 형성될 수 있고, 하나의 면에는 특정 패턴이 인쇄된다. 이때, 패턴에는 복수개의 평면 중 각 면을 다르게 인식하여 식별할 수 있도록 표식부가 표시되고, 패턴은 예컨대, 체스 보드 패턴 등의 형태일 수 있다. 이러한 표식부는 각각의 평면을 구분하여 식별하기 위한 것으로, 임의로 설정한 표식일 수 있으며, 숫자, 바코드 및 포인트 중 어느 하나가 선택되어 표시되는 것이 바람직하다.The correction block 200 is formed to have a plurality of planes, that is, a certain angle can be formed at a portion where the one face and the face are in contact with each other, and a specific pattern is printed on one face. At this time, the pattern is displayed in such a manner that each of the plurality of planes can be recognized and recognized differently, and the pattern may be in the form of, for example, a chessboard pattern or the like. These markers are used to discriminate the respective planes from each other and may be arbitrarily set marks, and it is preferable that any one of numbers, bar codes and points is selected and displayed.

즉, 보정블록(200)은 복수개의 다중평면에 있어 각 하나의 평면에는 특정 패턴이 인쇄되고, 이와 더불어 패턴 내에 임의로 설정한 표식부가 포함되도록 형성되게 되는 것이다. 즉, 어느 한 방향에서 보정블록을 촬영했을 때 2개 이상의 면이 확인되어 촬영가능하도록 다중평면을 갖도록 형성된다.In other words, the correction block 200 is formed such that a specific pattern is printed on each of multiple planes in a plurality of multiple planes, and a marking portion arbitrarily set in the pattern is included. That is, when the correction block is photographed in any one direction, two or more planes are formed so as to have multiple planes so that they can be identified and photographed.

한편, 보정블록(120)의 각 면에 표시된 패턴 및 표식부의 정보를 토대로 사전에 보정블록(200)의 각면에 대한 3차원 위치 좌표값(좌표계)을 설정하는 것이 선행된다.On the other hand, it is preceded to set the three-dimensional position coordinate value (coordinate system) for each face of the correction block 200 in advance based on the information of the pattern and the mark portion displayed on each face of the correction block 120.

따라서, 로봇(100)의 캘리브레이션 작업을 수행함에 있어 보정블록(200)의 위치좌표, 즉, 보정블록(200)의 각 면의 위치에 대한 3차원 좌표값(위치 및 코너점)은 사전에 설정될 수 있고, 이러한 보정블록(200)의 위치 정보는 캘리브레이션 작업 시 카메라(120)의 위치정보 계산 시 좌표계 기준으로 이용된다. Therefore, in performing the calibration operation of the robot 100, the position coordinates of the correction block 200, that is, the three-dimensional coordinate values (positions and corner points) with respect to the positions of the respective faces of the correction block 200, And the position information of the correction block 200 is used as a coordinate system in the calculation of the position information of the camera 120 during the calibration operation.

한편, 본 발명의 일 실시 예에서 카메라의 캘리브레이션 및 카메라와 엔드 이펙터간의 캘리브레이션을 수행하기 위해 보정블록으로 2차원 평면인 체스보드 판을 사용하였으나, 본 발명의 다른 실시 예에서는 3차원의 입체 물체를 사용하여 캘리브레이션을 수행할 수 있다. 더불어, 카메라 자체의 캘리브레이션은 핸드/아이 자가보정의 수행 과정에서 획득하는 영상을 이용하여 카메라 캘리브레이션을 수행할 수 있다. Meanwhile, in an embodiment of the present invention, a chessboard board is used as a correction block for calibrating a camera and calibration between a camera and an end effector. In another embodiment of the present invention, a three- Can be used to perform calibration. In addition, the calibration of the camera itself can perform the camera calibration using the image acquired during the hand / iso self correction.

도 2는 본 발명의 실시예에 따른 카메라와 엔드 이펙터의 캘리브레이션을 위한 제어장치의 구성을 나타낸 블록도, 도 3 내지 도 7은 본 발명의 실시예에 따른 카메라와 엔드 이펙터 사이의 자세 변환 관계를 산출하기 위한 방법을 설명하기 위한 도면이다. FIG. 2 is a block diagram showing a configuration of a control device for calibrating a camera and an end effecter according to an embodiment of the present invention, and FIGS. 3 to 7 are diagrams showing a posture change relationship between a camera and an end effector according to an embodiment of the present invention And Fig.

도 2를 참조하면, 카메라와 엔드 이펙터의 캘리브레이션을 위한 제어장치(150)는 사용자 인터페이스부(152), 자세 제어부(154), 캘리브레이션 제어부(156)를 포함한다. Referring to FIG. 2, a control device 150 for calibrating a camera and an end effector includes a user interface unit 152, a posture control unit 154, and a calibration control unit 156.

사용자 인터페이스부(152)는 매니퓰레이터 및 앤드 이펙터 조작을 위한 자세정보를 포함하는 작업명령을 입력받아 자세 제어부(154)에 제공한다. 이때, 사용자 인터페이스부(152)는 매니퓰레이터 특히, 엔드 이펙터에서 수행하기 위한 작업 명령을 사용자가 스위치 조작이나 음성 등을 통해 입력받는다. 또한, 사용자 인터페이스부(152)는 작업명령을 유선 또는 무선 통신을 통해 수신받을 수 있다. The user interface unit 152 receives a work instruction including attitude information for manipulating the manipulator and the end effector, and provides the work instruction to the posture control unit 154. At this time, the user interface unit 152 receives a work command to be performed by the manipulator, particularly, the end effector, through a switch operation, a voice, or the like. In addition, the user interface unit 152 can receive a work command through wired or wireless communication.

자세 제어부(154)는 사용자 인터페이스부(152)로부터 전달받은 작업 명령에 따라 로봇 구동부를 제어하여 매니퓰레이터를 구동시킴으로서 매니퓰레이터의 선단에 마련된 엔드 이펙터의 자세를 제어한다. 이때, 엔드 이펙터는 작업 명령에 따라 회전 또는 병진 운동할 수 있다.The posture control unit 154 controls the robot driving unit according to the work command received from the user interface unit 152 to control the posture of the end effector provided at the tip of the manipulator by driving the manipulator. At this time, the end effector can rotate or translate according to the work command.

캘리브레이션 제어부(156)는 기준 자세와 다수의 이동 자세만을 이용하여 3차원 카메라와 로봇 매니퓰레이터 사이의 회전 관계를 획득하고, 기준 자세와 다수의 회전 자세만을 이용하여 3차원 카메라와 로봇 매니퓰레이터 사이의 이동 관계를 획득한다. The calibration control unit 156 acquires the rotation relationship between the three-dimensional camera and the robot manipulator using only the reference posture and the plurality of movement postures, and calculates the movement relationship between the three-dimensional camera and the robot manipulator .

즉, 캘리브레이션 제어부(156)는 자세정보를 포함하는 작업명령이 입력되어, 매니퓰레이터의 앤드 이펙터 및 앤드 이펙터 상에 설치된 카메라의 자세(pose)가 변환되면, 자세정보에 기초하여 앤드 이펙터의 자세변환관계와 카메라의 자세 변환 관계를 각각 산출한다. 그런 후, 캘리브레이션 제어부(156)는 앤드 이펙터의 자세 변환 관계 및 카메라의 자세 변환 관계를 이용하여 카메라와 앤드 이펙터 간의 자세 변환 관계를 산출한다. 즉, 캘리브레이션 제어부(156)는 도 3에 도시된 카메라 좌표계(

Figure pat00006
)로부터 엔드 이펙터 좌표계(
Figure pat00007
) 간의 자세 변환 관계(
Figure pat00008
)를 산출할 수 있다. That is, when the work instruction including the attitude information is inputted and the pose of the camera installed on the end effector and the end effector of the manipulator is changed, the calibration control unit 156 sets the attitude change relation of the end effector And the posture conversion relation of the camera are respectively calculated. Then, the calibration control unit 156 calculates the posture conversion relationship between the camera and the end effector using the posture conversion relationship of the end effector and the posture conversion relation of the camera. That is, the calibration control unit 156 controls the camera coordinate system
Figure pat00006
) To the end effector coordinate system (
Figure pat00007
) Of the posture change relation (
Figure pat00008
) Can be calculated.

이하, 캘리브레이션 제어부(156)가 카메라와 엔드 이펙터 사이의 자세 변환 관계를 산출하는 방법에 대해 상세히 설명하기로 한다. Hereinafter, a method of calculating the posture conversion relationship between the camera and the end effector will be described in detail.

앤드 이펙터의 자세가 도 4에 도시된 바와 같이 제1 엔드이펙터 자세(

Figure pat00009
)에서 제2 엔드 이펙터 자세(
Figure pat00010
)로 변환되면, 매니큘레이터 상에 설치된 카메라의 자세 또한 제1 카메라 자세(
Figure pat00011
)에서 제2 카메라 자세(
Figure pat00012
)로 변하게 된다. And the posture of the end effector is determined as the first end effector posture (
Figure pat00009
) To the second end effector posture (
Figure pat00010
), The posture of the camera provided on the manipulator is also changed to the first camera posture (
Figure pat00011
) To the second camera posture (
Figure pat00012
).

그러면, 캘리브레이션 제어부(156)는 기설정된 보정블록 좌표계(Oobject)를 기준으로 제1 카메라 자세에서의 제1 카메라 좌표계(

Figure pat00013
), 제2 카메라 자세에서의 제2 카메라 좌표계(
Figure pat00014
)를 각각 산출할 수 있다. 즉, 캘리브레이션 제어부(156)는 카메라를 통해 촬영된 보정블록의 영상을 인식하여 보정블록에 표시된 패턴 및 표식부를 확인하고, 기설정된 보정블록 좌표계(위치정보)를 기준으로 제1 카메라 좌표계(
Figure pat00015
)와 제2 카메라 좌표계(
Figure pat00016
)를 산출할 수 있다.Then, the calibration control unit 156 controls the first camera coordinate system (first camera coordinate system) in the first camera posture based on the predetermined correction block coordinate system (O object )
Figure pat00013
), A second camera coordinate system (
Figure pat00014
Respectively. That is, the calibration control unit 156 recognizes the image of the correction block photographed by the camera and confirms the pattern and the marking portion displayed in the correction block, and detects the pattern and marking unit displayed on the first camera coordinate system
Figure pat00015
) And the second camera coordinate system
Figure pat00016
) Can be calculated.

보정블록 좌표계로부터 카메라 좌표계를 산출하는 방법에 대해 도 5를 참조하여 설명하기로 한다. 도 5를 참조하면, 보정블록 위의 한 점 P의 좌표(X, Y, Z)와 이 점이 카메라 이미지 센서에 투사(projection)된 한 점 p의 좌표 u, v,를 이용하여 프로젝션 행렬(P)을 구할 수 있다. 여기서, 프로젝션 행렬은 2D화면에 투영되는 3D 공간을 나타내는 매트릭스일 수 있다. A method of calculating the camera coordinate system from the correction block coordinate system will be described with reference to FIG. 5, the coordinates (X, Y, Z) of a point P on the correction block and the coordinates u, v of a point p projected on the camera image sensor are used to calculate a projection matrix P ) Can be obtained. Here, the projection matrix may be a matrix representing 3D space projected on the 2D screen.

도 5의 관계를 수학식으로 표현하면, 아래 기재된 수학식 1과 같을 수 있다. The relationship of FIG. 5 can be expressed by the following equation (1).

Figure pat00017
Figure pat00017

여기서, λ는 스케일팩터일 수 있다. Here, [lambda] may be a scale factor.

수학식 1을 정리하면, 수학식 2와 같다. Equation (1) is summarized as Equation (2).

Figure pat00018
Figure pat00018

수학식 2에서 λ식을 다른 식에 대입하면, 수학식 3과 같이 정리된다.If the lambda expression is substituted into another expression in the expression (2), the expression (3) is summarized.

Figure pat00019
Figure pat00019

수학식 3을 프로젝션 행렬(P)을 구하기 위해 정리하면, 수학식 4와 같다.Equation (3) can be summarized to obtain a projection matrix (P) as shown in Equation (4).

Figure pat00020
Figure pat00020

수학식 4를 이용하면, 프로젝션 행렬(P)을 구할 수 있다. Using the expression (4), the projection matrix P can be obtained.

한편, 프로젝션 행렬(P)를 분해하면, 아래 기재된 수학식 5와 같이 내부 인자에 의한 내부 인자 행렬과 외부 인자에 의한 외부 인자 행렬을 얻을 수 있다. On the other hand, if the projection matrix P is decomposed, an internal factor matrix based on internal factors and an external factor matrix based on external factors can be obtained as shown in Equation 5 below.

Figure pat00021
Figure pat00021

내부인자(intrinsic parameters)는 영상중심의 위치, CCD/CMOS센서면과 영상면 사이의 스케일 표현값, 카메라의 초점거리와 주점 등을 가지고 있으며, 외부인자는 카메라 좌표계와 월드 좌표계 사이의 변환 관계를 설명하는 파라미터로, 두 좌표계 사이의 회전(rotation) 및 병진(translation) 변환으로 표현된다. 여기서, 외부인자는 R과 t 값으로 표현되고, R, t 값은 물체축과 카메라 축과의 변환관계를 나타내는 값으로 R은 회전 변환 변위이며, t는 병진 변환 변위값일 수 있다. The intrinsic parameters include the position of the center of the image, the scale representation value between the CCD / CMOS sensor surface and the image plane, the focal length of the camera and the principal point, and the outsider describes the conversion relationship between the camera coordinate system and the world coordinate system. And is expressed as rotation and translation between two coordinate systems. Here, the outlier is represented by R and t values, and the values of R and t are values indicating the conversion relation between the object axis and the camera axis, R is the rotation conversion displacement, and t is the translation displacement displacement value.

한편, 카메라 캘리브레이션(Camera calibration)은 5개의 내부인자(초점거리(focal length)로 fx, fy값, 주점(principal point)으로 cx, cy값 및 비대칭 계수)와 6개의 외부인자를 카메라 보정블록(카메라 보정도구)을 사용하여 계산하는 것이다. 이러한 카메라변수들은 3차원 계측을 위한 기하학적 관계를 계산하는데 필요하며, 캘리브레이션 인수들의 오차는 3차원 계측지수의 정밀도에 큰 영향을 미치게 된다.On the other hand, the camera calibration uses five internal factors (fx, fy, fx, cx, and asymmetry coefficient as principal points) and six external factors in the camera correction block Camera calibration tool). These camera parameters are needed to calculate the geometric relationships for 3D measurements, and the error of the calibration factors will have a significant impact on the accuracy of the 3D measurement indices.

외부인자가 두 좌표계 사이의 회전(rotation) 및 병진(translation) 변환을 표현하는 것이므로, 캘리브레이션 제어부(156)는 월드 좌표계를 카메라 좌표계로 변환시키기 위한 회전행렬(R)과 이동벡터(t)를 구할 수 있다. The calibration control unit 156 can obtain the rotation matrix R and the movement vector t for converting the world coordinate system into the camera coordinate system since the outsider expresses the rotation and the translation between the two coordinate systems. have.

상술한 바와 같이, 캘리브레이션 제어부는 프로젝션 행렬(P)로부터 제1 카메라 좌표계 및 제2 카메라 좌표계를 산출할 수 있다. As described above, the calibration control unit can calculate the first camera coordinate system and the second camera coordinate system from the projection matrix P, respectively.

캘리브레이션 제어부(156)는 제1 카메라 좌표계와 제2 카메라 좌표계가 산출되면, 제1 카메라 좌표계와 제2 카메라 좌표계를 이용하여 제1 카메라 자세에서 제2 카메라 자세까지의 자세 변환 관계를 산출할 수 있다.When the first camera coordinate system and the second camera coordinate system are calculated, the calibration control unit 156 can calculate the posture change relationship from the first camera posture to the second camera posture using the first camera coordinate system and the second camera coordinate system .

다시 도 4를 참조하면, 캘리브레이션 제어부(156)는 점선으로 표시된 바와 같이 제1 카메라 자세에서 보정블록까지의 카메라 좌표계(

Figure pat00022
)와 보정블록으로부터 제2 카메라 자세까지의 카메라 좌표계(
Figure pat00023
)를 연산하여 제1 카메라 좌표계에서 제2 카메라 좌표계의 자세변환관계(
Figure pat00024
)를 산출할 수 있다. 즉, 카메라의 자세변환관계(
Figure pat00025
)는 아래 기재된 수학식 6을 이용하여 산출할 수 있다.
Referring again to FIG. 4, the calibration control unit 156 calculates the camera coordinate system
Figure pat00022
And the camera coordinate system from the correction block to the second camera posture
Figure pat00023
) Of the second camera coordinate system in the first camera coordinate system
Figure pat00024
) Can be calculated. In other words,
Figure pat00025
) Can be calculated using Equation (6) described below.

Figure pat00026
Figure pat00026

엔드 이펙터의 자세 변환 관계(

Figure pat00027
)는 사용자가 입력한 자세정보에 따라 엔드 이펙터가 제1 엔드 이펙터 자세에서 제2 엔드 이펙터 자세로 이동시켜 얻어낸 변환 관계로, 사용자가 엔드 이펙터를 병진 및 회전 운동시킨 것이므로 알고 있는 관계이다.Post-conversion relation of end effector (
Figure pat00027
Is a relationship that the user knows and knows that the end effector has been translated and rotated by the conversion relationship obtained by moving the end effector from the first end effector attitude to the second end effector attitude according to the attitude information input by the user.

상술한 바와 같이 카메라의 자세변환관계와 엔드 이펙터의 자세변환관계가 산출되면, 카메라는 카메라의 자세변환관계와 엔드 이펙터의 자세변환관계를 이용하여 카메라와 엔드 이펙터간의 자세변환관계를 산출할 수 있다. When the posture conversion relationship between the camera and the end effector is calculated as described above, the camera can calculate the posture conversion relationship between the camera and the end effector using the posture conversion relationship between the camera and the end effector .

캘리브레이션 제어부(156)가 카메라와 엔드 이펙터 간의 자세 변환 관계를 산출하는 방법을 설명하기 위해 도 6을 참조하기로 한다. 도 6을 참조하면, 제1 카메라 좌표계에서 제1 엔드 이펙터 좌표계의 자세 변환 관계(

Figure pat00028
)와 제2 카메라 좌표계에서 제2 엔드 이펙터 좌표계의 자세변환관계(
Figure pat00029
)는 카메라와 엔드 이펙터 간의 자세 변환 관계(
Figure pat00030
)로 동일함을 알 수 있다. 따라서, 캘리브레이션 제어부(156)는 카메라와 엔드 이펙터 간의 자세 변환 관계를 산출하기 위해, 카메라의 자세 변환 관계와 엔드 이펙터의 자세 변환 관계를 이용할 수 있다.Reference is made to Fig. 6 for explaining a method in which the calibration control unit 156 calculates the posture conversion relationship between the camera and the end effector. Referring to FIG. 6, in the first camera coordinate system, the posture conversion relationship (
Figure pat00028
) And the second posture conversion relationship of the second end-effector coordinate system in the second camera coordinate system
Figure pat00029
) Is the posture conversion relationship between the camera and the end effector
Figure pat00030
). ≪ / RTI > Therefore, in order to calculate the posture change relation between the camera and the end effector, the calibration control unit 156 can use the posture change relation of the camera and the posture change relation of the end effector.

한편, 자세 변환 후의 제2 카메라 자세(

Figure pat00031
)에서부터 자세 변환 전의 제1 엔드 이펙터 자세(
Figure pat00032
)까지의 자세 변환 관계(
Figure pat00033
)는 도 7에 도시된 점선 화살표와 같이 벡터 합에 의해 산출할 수 있다. 따라서, 제2 카메라 자세(
Figure pat00034
)에서부터 제1 엔드 이펙터 자세(
Figure pat00035
)까지의 자세 변환 관계(
Figure pat00036
)는 아래 기재된 수학식 7이 성립한다.On the other hand, the second camera posture
Figure pat00031
) To the first end effector posture before the posture change (
Figure pat00032
) Of the posture change relation (
Figure pat00033
Can be calculated by the vector sum as shown by the dotted arrow in Fig. Therefore, the second camera posture (
Figure pat00034
) To the first end effector posture (
Figure pat00035
) Of the posture change relation (
Figure pat00036
(7) < / RTI >

Figure pat00037
Figure pat00037

즉, 자세 변환 후의 제2 카메라 자세(

Figure pat00038
)에서부터 자세 변환 전의 제1 엔드 이펙터 자세(
Figure pat00039
)까지의 자세 변환 관계(
Figure pat00040
)는 제2 카메라 좌표계에서 제1 카메라 좌표계까지의 자세 변환 관계(
Figure pat00041
), 카메라와 엔드 이펙터 간의 자세변환관계(
Figure pat00042
)를 이용하여 산출할 수 있다. 또한, 자세 변환 후의 제2 카메라 자세(
Figure pat00043
)에서부터 자세 변환 전의 제1 엔드 이펙터 자세(
Figure pat00044
)까지의 자세 변환 관계(
Figure pat00045
)는 제2 엔드 이펙터 좌표계에서 제1 엔드 이펙터 좌표계까지의 자세 변환 관계(
Figure pat00046
), 카메라와 엔드 이펙터 간의 자세변환관계(
Figure pat00047
)를 이용하여 산출할 수 있다.That is, the second camera posture after posture conversion
Figure pat00038
) To the first end effector posture before the posture change (
Figure pat00039
) Of the posture change relation (
Figure pat00040
) Represents the posture change relationship from the second camera coordinate system to the first camera coordinate system
Figure pat00041
), Posture conversion relation between camera and end effector (
Figure pat00042
). ≪ / RTI > Further, the second camera posture after posture conversion
Figure pat00043
) To the first end effector posture before the posture change (
Figure pat00044
) Of the posture change relation (
Figure pat00045
) Is a posture change relationship from the second end effector coordinate system to the first end effector coordinate system
Figure pat00046
), Posture conversion relation between camera and end effector (
Figure pat00047
). ≪ / RTI >

한편, 자세 변환 관계를 나타내는 행렬 T는 회전행렬(

Figure pat00048
)과 이동벡터(
Figure pat00049
)를 이용하여 아래 기재된 수학식 8과 같이 나타낼 수 있다.On the other hand, the matrix T indicating the posture change relation is a rotation matrix (
Figure pat00048
) And the motion vector (
Figure pat00049
) As shown in Equation (8) below.

Figure pat00050
Figure pat00050

수학식 7의 자세 변환 관계를 나타내는 행렬(T)로 정리하면, 아래 기재된 수학식 9와 같다.(T) representing the posture change relation of the expression (7) are as shown in the following expression (9).

여기서, Rc는 카메라 회전행렬, tc는 카메라 이동 벡터, RE는 엔드 이펙터 회전행렬, tE는 엔드 이펙터 이동 벡터, R은 카메라-엔드 이펙터간의 회전행렬, t는 카메라-엔드 이펙터간의 이동벡터를 의미할 수 있다. 카메라 회전행렬(Rc)은 제1 카메라 좌표계와 제2 카메라 좌표계 간의 회전 변환 관계를 나타내는 행렬이고, 카메라 이동벡터(tc)는 제1 카메라 좌표계와 제2 카메라 좌표계 간의 병진 변환 관계를 나타는 벡터일 수 있다. 엔드 이펙터 회전행렬(RE)은 제1 엔드 이펙터 좌표계와 제2 엔드 이펙터 좌표계 간의 회전 변환 관계를 나타내는 행렬이고, 엔드 이펙터 이동벡터(tE )는 제1 엔드 이펙터 좌표계와 제2 엔드 이펙터 좌표계 간의 병진 변환 관계를 나타내는 벡터를 의미할 수 있다. 카메라와 엔드 이펙터간 회전행렬(R)은 카메라 좌표계와 엔드 이펙터 좌표계 사이의 회전 변환 관계를 나타내는 행렬이고, 카메라와 엔드 이펙터 간 이동벡터(t)는 카메라 좌표계와 엔드 이펙터 좌표계 사이의 병진 변환 관계를 나타내는 벡터를 의미할 수 있다. Where Rc is the camera rotation matrix, tc is the camera motion vector, R E is the end effector rotation matrix, t E is the end effector motion vector, R is the rotation matrix between the camera-end effector, It can mean. The camera rotation matrix Rc is a matrix representing a rotation transformation relation between the first camera coordinate system and the second camera coordinate system. The camera movement vector tc is a vector representing a translation transformation relation between the first camera coordinate system and the second camera coordinate system. . Between the end effector rotation matrix (R E) has a first end effector coordinate system and the second is a matrix indicating the rotational transformation relation between the end effector coordinate system, the end effector motion vector (t E) includes a first end effector coordinate system to the second end-effector coordinate system May refer to a vector representing a translational transformation relationship. The rotation matrix (R) between the camera and the end effector is a matrix representing the rotational transformation relationship between the camera coordinate system and the end effector coordinate system. The motion vector (t) between the camera and the end effector is a translation transformation relationship between the camera coordinate system and the end effector coordinate system May denote a vector representing < RTI ID = 0.0 >

수학식 9를 정리하면, 아래 기재된 수학식 10과 같다. The expression (9) can be summarized as the following expression (10).

Figure pat00052
Figure pat00052

여기서, Rc는 카메라의 회전행렬, tc는 카메라의 이동벡터, tE는 엔드 이펙터의 이동벡터, R은 카메라와 엔드 이펙터 간의 회전행렬, t는 카메라와 엔드 이펙터간의 이동벡터를 의미한다. Here, Rc denotes a rotation matrix of the camera, tc denotes a motion vector of the camera, t E denotes a motion vector of the end effector, R denotes a rotation matrix between the camera and the end effector, and t denotes a motion vector between the camera and the end effector.

수학식 10에서 카메라 회전행렬(Rc), 카메라 이동벡터(tc), 엔드 이펙터 회전행렬(RE), 엔드 이펙터 이동벡터(tE)는 알고 있으므로, 카메라와 앤드 이펙터 사이의 자세 변환 관계를 산출하기 위해서는 카메라와 엔드 이펙터 간의 회전행렬(R)과 카메라와 엔드 이펙터 간의 이동벡터(t)를 산출해야 한다. 여기서, 카메라 회전행렬(Rc), 카메라 이동벡터(tc)는 카메라의 자세 변환 관계에서 알 수 있고, 엔드 이펙터 회전행렬(RE), 엔드 이펙터 이동벡터(tE)는 엔드 이펙터의 자세 변환 관계에서 알 수 있다. Since the camera rotation matrix Rc, the camera motion vector tc, the end effector rotation matrix R E and the end effector motion vector t E are known in Equation 10, the posture change relation between the camera and the end effector is calculated In order to do so, the rotation matrix R between the camera and the end effector and the motion vector t between the camera and the end effector must be calculated. Here, the camera rotation matrix Rc and the camera motion vector tc can be known from the posture conversion relationship of the camera, and the end effector rotation matrix R E and the end effector motion vector t E can be obtained by the posture conversion relationship .

카메라와 엔드 이펙터 간의 회전 행렬(R)은 엔드 이펙터가 회전하지 않고 이동만하는 경우에 산출할 수 있고, 카메라와 엔드 이펙터 간의 이동벡터(t)는 엔드 이펙터가 회전만 하는 경우에 산출할 수 있다.The rotation matrix R between the camera and the end effector can be calculated when the end effector only moves without rotating and the motion vector t between the camera and the end effector can be calculated when the end effector rotates only .

먼저, 카메라와 엔드 이펙터 간의 회전 행렬(R)을 산출하는 방법에 대해 설명하기로 한다. First, a method of calculating the rotation matrix R between the camera and the end effector will be described.

엔드 이펙터의 자세 변환에 있어서 회전이 없는 이동 값만을 포함하는 자세정보가 입력되면, 엔드 이펙터와 카메라는 이동 값만큼 이동하게 된다. 이때, 엔드 이펙터와 카메라는 회전하지 않으므로, 앤드 이펙터의 회전행렬과 카메라의 회전행렬은 아래 수학식 11과 같이 치환될 수 있다. When the posture information including only the movement value without rotation is input in the posture conversion of the end effector, the end effector and the camera are moved by the movement value. At this time, since the end effector and the camera do not rotate, the rotation matrix of the end effector and the rotation matrix of the camera can be substituted as shown in Equation (11).

Figure pat00053
Figure pat00053

수학식 11을 수학식 10에 적용하면, 수학식 10은 아래 기재된 수학식 12와 같이 간소화될 수 있다. Applying Equation (11) to Equation (10), Equation (10) can be simplified as Equation (12) below.

Figure pat00054
Figure pat00054

회전행렬(R)은 3x3의 행렬이므로, 수학식 12에 의사 역행렬(Pseudo Inverse)을 적용하여 아래의 수학식 13으로 변환할 수 있다.Since the rotation matrix R is a 3x3 matrix, the pseudo inverse can be applied to Equation (12) to convert to Equation (13).

Figure pat00055
Figure pat00055

수학식 13에서 xE, yE, zE를 포함하는 엔드 이펙터 이동벡터(tE), xc, yc, zc를 포함하는 카메라 이동벡터(tc)는 알고 있으므로, 회전행렬(R)의 각각의 Element(

Figure pat00056
)들을 산출할 수 있다. Since the camera motion vector t c including the end effector motion vectors t E , x c , y c , and z c including x E , y E , and z E in Equation 13 is known, ) Of each Element (
Figure pat00056
). ≪ / RTI >

다음으로 카메라와 엔드 이펙터 간의 이동벡터(t)를 산출하는 방법에 대해 설명하기로 한다. Next, a method of calculating the motion vector t between the camera and the end effector will be described.

엔드 이펙터의 자세 변환에 있어서 회전 값만을 포함하는 자세정보가 입력되면, 엔드 이펙터와 카메라는 회전 값만큼 회전하게 된다. 이때, 엔드 이펙터는 이동하지 않고 회전만 하게 되고, 카메라는 회전과 이동을 하게 된다. 엔드 이펙터는 이동하지 않으므로, 엔드 이펙터의 이동벡터(tE)는 '0'(

Figure pat00057
)일 수 있다. When the posture information including only the rotation value is input in the posture conversion of the end effector, the end effector and the camera rotate by the rotation value. At this time, the end effector rotates without moving, and the camera rotates and moves. Since the end effector does not move, the motion vector t E of the end effector is '0' (
Figure pat00057
).

따라서, 수학식 10은 아래 기재된 수학식 14와 같이 간소화될 수 있다. Thus, Equation (10) can be simplified as Equation (14) described below.

Figure pat00058
Figure pat00058

수학식 14를 행렬로 표현하면, 아래 기재된 수학식 15와 같다. Equation (14) can be expressed by a matrix as shown in Equation (15).

Figure pat00059
Figure pat00059

수학식 15에 Pseudo Inverse를 적용하면, 카메라와 엔드 이펙터 간의 이동벡터(t)를 산출할 수 있다. Applying Pseudo Inverse to (15), the motion vector t between the camera and the end effector can be calculated.

캘리브레이션 제어부(156)는 카메라와 엔드 이펙터 간의 회전행렬과 이동벡터를 이용하여 카메라 자체의 캘리브레이션은 물론, 카메라와 엔드 이펙터 간의 캘리브레이션을 자동으로 수행할 수 있다. The calibration control unit 156 can automatically perform calibration between the camera and the end effector as well as the camera itself using the rotation matrix and the motion vector between the camera and the end effector.

한편, 본 발명의 일 실시예에서 로봇에 부착된 하나의 카메라를 이용하여 캘리브레이션을 수행하는 경우에 대해 설명하였으나, 본 발명의 다른 실시예에서 Stereo 또는 Structured Light 기반의 3D 카메라를 3D 카메라 자체의 캘리브레이션을 수행할 수도 있다. 즉, Stereo 또는 Structured Light 기반의 3D 카메라를 이용하는 경우, 보정블록을 기준으로 제1 카메라 좌표계(또는 제2 카메라 좌표계)를 산출하는 방법과 동일한 방법으로 두번째 카메라 또는 프로젝터의 좌표계를 각각 산출할 수 있고, 이를 이용하여 첫번째 카메라와 두번째 카메라간의 자세변환관계(

Figure pat00060
) 또는 카메라와 프로젝터 간의 자세 변환 관계(
Figure pat00061
)를 함께 산출할 있으며, 이를 통해 카메라 자체의 캘리브레이션을 수행할 수 있다.Meanwhile, in the embodiment of the present invention, the calibration is performed using one camera attached to the robot. However, in another embodiment of the present invention, the 3D camera based on the Stereo or Structured Light is calibrated by the calibration of the 3D camera itself . ≪ / RTI > That is, when using a stereoscopic or structured light based 3D camera, the coordinate system of the second camera or the projector can be calculated in the same manner as the first camera coordinate system (or the second camera coordinate system) based on the correction block , And the posture conversion relation between the first camera and the second camera
Figure pat00060
) Or the posture conversion relationship between the camera and the projector
Figure pat00061
), Which allows the camera itself to be calibrated.

예를 들면, 로봇 핸드 상에 부착된 첫번째 카메라 외에 두번째 카메라가 구비된 Stereo 카메라를 이용하는 경우, 캘리브레이션 제어부(156)은 보정블록을 기준으로 첫번째 카메라의 좌표계(

Figure pat00062
)와 두번째 카메라의 좌표계(
Figure pat00063
)를 각각 산출할 수 있다. 첫번째 카메라의 좌표계(
Figure pat00064
)와 두번째 카메라의 좌표계(
Figure pat00065
)를가 산출되면, 캘리브레이션 제어부(156)은 첫번째 카메라의 좌표계(
Figure pat00066
)와 두번째 카메라의 좌표계(
Figure pat00067
)를 이용하여 첫번째 카메라와 두번째 카메라 간의 자세 변환 관계(
Figure pat00068
)를 산출할 수 있고, 이를 이용하여 카메라 자체의 캘리브레이션을 수행할 수 있다. For example, when a stereo camera equipped with a second camera other than the first camera attached on the robot hand is used, the calibration control unit 156 controls the first camera's coordinate system
Figure pat00062
) And the coordinate system of the second camera (
Figure pat00063
Respectively. The coordinate system of the first camera (
Figure pat00064
) And the coordinate system of the second camera (
Figure pat00065
) Is calculated, the calibration control unit 156 calculates the coordinate system of the first camera
Figure pat00066
) And the coordinate system of the second camera (
Figure pat00067
), The posture conversion relation between the first camera and the second camera
Figure pat00068
), And can calibrate the camera itself by using it.

또한, 로봇 핸드 상에 부착된 카메라와 프로젝터가 구비된 Structured Light 기반의 3D 카메라를 이용하는 경우, 캘리브레이션 제어부(156)는 보정블록을 기준으로 카메라의 좌표계와 프로젝터 좌표계(

Figure pat00069
)를 각각 산출할 수 있다. 카메라의 좌표계와 프로젝터 좌표계(
Figure pat00070
)가 산출되면, 캘리브레이션 제어부(156)은 카메라의 좌표계와 제 프로젝터 좌표계(
Figure pat00071
)를 이용하여 카메라와 프로젝터 간의 자세 변환 관계(
Figure pat00072
)를 산출할 수 있고, 이를 이용하여 카메라 자체의 캘리브레이션을 수행할 수 있다. In addition, when a 3D camera based on a Structured Light equipped with a camera and a projector attached to the robot hand is used, the calibration control unit 156 controls the camera coordinate system and the projector coordinate system
Figure pat00069
Respectively. The camera coordinate system and the projector coordinate system (
Figure pat00070
), The calibration control unit 156 controls the camera coordinate system and the projector coordinate system
Figure pat00071
), The posture change relation between the camera and the projector
Figure pat00072
), And can calibrate the camera itself by using it.

도 8은 본 발명의 일 실시예에 따른 카메라 로봇 매니퓰레이터의 캘리브레이션을 위한 방법을 설명하기 위한 도면이다. 8 is a view for explaining a method for calibrating a camera robot manipulator according to an embodiment of the present invention.

도 8을 참조하면, 앤드 이펙터의 자세정보가 입력되면(S810), 자세 정보에 따라 엔드 이펙터 및 카메라의 자세(pose)가 변환된다(S820). 즉, 자세 정보에 따라 엔드 이펙터가 제1 엔드 이펙터 자세에서 제2 엔드 이펙터 자세로 변환되면, 엔드 이펙터 위에 설치된 카메라도 제1 카메라 자세에서 제2 카메라 자세로 변환된다. 여기서, 제1 엔드 이펙터 자세 및 제1 카메라 자세는 자세 변환 전을 의미하고, 제2 엔드 이펙터 자세 및 제2 카메라 자세는 자세 변환 후를 의미할 수 있다. Referring to FIG. 8, when the posture information of the end effector is inputted (S810), the posture of the end effector and the camera are converted according to the posture information (S820). That is, when the end effector is converted from the first end effector attitude to the second end effector attitude according to the attitude information, the camera installed on the end effector is also changed from the first camera attitude to the second camera attitude. Here, the first end effector attitude and the first camera attitude mean before the attitude change, and the second end effector attitude and the second camera attitude may mean after the attitude change.

단계 S820이 수행되면, 제어장치는 제어정보가 이동 값만을 포함하는 경우, 카메라와 엔드 이펙터 간의 회전 행렬(R)을 산출하고(S830), 제어정보가 회전 값만을 포함하는 경우 카메라와 엔드 이펙터 간의 이동벡터(t)를 산출한다(S840).If step S820 is performed, the controller calculates a rotation matrix R between the camera and the end effector (S830). If the control information includes only the rotation value, the controller calculates the rotation matrix R between the camera and the end effector The motion vector t is calculated (S840).

카메라와 엔드 이펙터 간의 회전행렬을 산출하는 방법에 대해 도 9를 참조하고, 카메라와 엔드 이펙터 간의 이동벡터를 산출하는 방법에 대해 도 10을 참조하기로 한다. Referring to FIG. 9, a method of calculating a rotation matrix between a camera and an end effector will be described with reference to FIG. 10 for a method of calculating a motion vector between a camera and an end effector.

단계 S840이 수행되면, 제어장치는 회전행렬과 이동벡터로 이루어진 카메라와 엔드 이펙터 간의 자세 변환 관계를 산출한다(S850). When step S840 is performed, the controller calculates a posture change relationship between the camera and the end effector, which is composed of the rotation matrix and the motion vector (S850).

제어장치는 카메라와 엔드 이펙터 간의 회전행렬과 이동벡터를 산출함으로써, 엔드 이펙터와 카메라 간의 캘리브레이션을 수행할 수 있다.The control device can perform calibration between the end effector and the camera by calculating the rotation matrix and the motion vector between the camera and the end effector.

도 9는 본 발명의 일 실시예에 따른 카메라와 엔드 이펙터 간의 회전행렬을 산출하는 방법을 나타낸 흐름도이다. 9 is a flowchart illustrating a method of calculating a rotation matrix between a camera and an end effector according to an embodiment of the present invention.

도 9를 참조하면, 제어장치는 이동 값만을 포함하는 자세정보가 입력되면(S910), 기 설정된 보정블록을 기준으로 제1 카메라 자세에서의 제1 카메라 좌표계(

Figure pat00073
), 제2 카메라 자세에서의 제2 카메라 좌표계(
Figure pat00074
)를 산출한다(S920).9, when the posture information including only the movement value is inputted (S910), the controller calculates the first camera coordinate system
Figure pat00073
), A second camera coordinate system (
Figure pat00074
(S920).

단계 S920이 수행되면, 제어장치는 제1 카메라 좌표계와 제2 카메라 좌표계를 이용하여 카메라의 자세 변환 관계를 산출한다(S930). When step S920 is performed, the control device calculates the posture change relation of the camera using the first camera coordinate system and the second camera coordinate system (S930).

엔드 이펙터의 자세변환관계는 작업자가 로봇의 엔드 이펙터를 제1 엔드 이펙터 자세에서 제2 엔드 이펙터 자세로 변환하도록 입력하였으므로, 미리 알고 있는 관계이다. The posture conversion relationship of the end effector is previously known because the operator inputs the end effector of the robot to convert from the first end effector attitude to the second end effector attitude.

자세정보가 이동 값만을 포함하면, 엔드 이펙터와 카메라는 회전하지 않으므로, 엔드 이펙터와 카메라의 회전행렬은 I일 수 있다. 따라서, 카메라의 자세 변환 관계는 카메라의 이동벡터만을 포함하고, 엔드 이펙터의 자세 변환 관계는 엔드 이펙터의 이동벡터만을 포함할 수 있다. If the posture information includes only the movement value, the end effector and the camera do not rotate, so that the rotation matrix of the end effector and the camera may be I. Therefore, the posture conversion relation of the camera includes only the motion vector of the camera, and the posture conversion relation of the end effector may include only the motion vector of the end effector.

단계 S930이 수행되면, 제어장치는 카메라의 자세 변환 관계 및 앤드 이펙터의 자세 변환 관계를 이용하여 카메라와 앤드 이펙터 사이의 회전행렬을 산출한다(S940). 즉, 카메라의 자세 변환 관계는 카메라의 이동벡터만을 포함하고, 엔드 이펙터의 자세 변환 관계는 엔드 이펙터의 이동벡터만을 포함하므로, 제어장치는 전술한 수학식 12를 이용하여 카메라와 엔드 이펙터 사이의 회전행렬을 산출할 수 있다. When step S930 is performed, the control device calculates a rotation matrix between the camera and the end effector using the posture change relation of the camera and the posture change relation of the end effector (S940). That is, since the posture change relation of the camera includes only the motion vector of the camera, and the posture change relation of the end effector includes only the motion vector of the end effector, the controller uses the above- The matrix can be calculated.

도 10은 본 발명의 일 실시예에 따른 카메라와 엔드 이펙터 간의 이동벡터를 산출하는 방법을 나타낸 흐름도이다. 10 is a flowchart illustrating a method of calculating a motion vector between a camera and an end effector according to an embodiment of the present invention.

도 10을 참조하면, 제어장치는 회전 값만을 포함하는 자세정보가 입력되면(S1010), 기 설정된 보정블록을 기준으로 제1 카메라 자세에서의 제1 카메라 좌표계(

Figure pat00075
), 제2 카메라 자세에서의 제2 카메라 좌표계를 산출한다(S1020).Referring to FIG. 10, when the posture information including only the rotation value is inputted (S1010), the controller calculates a first camera coordinate system
Figure pat00075
, The second camera coordinate system in the second camera posture is calculated (S1020).

단계 S1020이 수행되면, 제어장치는 제1 카메라 좌표계와 제2 카메라 좌표계를 이용하여 카메라의 자세 변환 관계를 산출한다(S1030). When step S1020 is performed, the controller calculates the posture change relation of the camera using the first camera coordinate system and the second camera coordinate system (S1030).

엔드 이펙터의 자세변환관계는 작업자가 로봇의 엔드 이펙터를 제1 엔드 이펙터 자세에서 제2 엔드 이펙터 자세로 변환하도록 입력하였으므로, 미리 알고 있는 관계이다. The posture conversion relationship of the end effector is previously known because the operator inputs the end effector of the robot to convert from the first end effector attitude to the second end effector attitude.

자세정보가 회전 값만을 포함하는 경우, 엔드 이펙터는 이동하지 않으므로, 엔드 이펙터의 이동벡터는 '0'일 수 있다. 따라서, 따라서, 카메라의 자세 변환 관계는 카메라의 회전행렬과 이동벡터를 포함하고, 엔드 이펙터의 자세 변환 관계는 엔드 이펙터의 회전행렬만을 포함할 수 있다. When the attitude information includes only the rotation value, the end effector does not move, so that the motion vector of the end effector may be '0'. Accordingly, the posture conversion relationship of the camera includes the rotation matrix and the motion vector of the camera, and the posture conversion relation of the end effector may include only the rotation matrix of the end effector.

단계 S1030이 수행되면, 제어장치는 카메라의 자세 변환 관계 및 앤드 이펙터의 자세 변환 관계를 이용하여 카메라와 앤드 이펙터 사이의 이동벡터를 산출한다(S1040). 즉, 카메라의 자세 변환 관계는 카메라의 회전행렬과 이동벡터를 포함하고, 엔드 이펙터의 자세 변환 관계는 엔드 이펙터의 회전행렬만을 포함하므로, 제어장치는 전술한 수학식 14를 이용하여 카메라와 엔드 이펙터 사이의 회전행렬을 산출할 수 있다. When step S1030 is performed, the controller calculates a motion vector between the camera and the end effector using the posture conversion relationship of the camera and the posture conversion relation of the end effector (S1040). That is, the posture conversion relation of the camera includes the rotation matrix and the motion vector of the camera, and the posture conversion relation of the end effector includes only the rotation matrix of the end effector. Therefore, Can be calculated.

본 발명의 다른 실시 예에 따른 엔드 이펙터와 카메라간의 캘리브레이션은 엔드 이펙터와 엔드 이펙터에 부착되어 엔드 이펙터와 함께 이동하고 회전하는 1대 이상의 카메라를 부착하여 다음의 동작들을 수행한다. 첫 번째로는 기준이 될 방위를 정한 뒤, 해당 위치에서 알고 있는 특징점에 대한 영상을 획득한다. 두 번째로는 기준이 되는 위치에서 회전을 포함하지 않은 순수 병진 운동을 한 엔드 이펙터의 위치에서 찍은 영상을 획득한다. 세 번째로는 처음 정한 기준위치에서 이동 없이 엔드 이펙터를 임의의 축에 대해 2회 회전하거나, 엔드 이펙터를 임의의 축으로 병진운동과 회전운동을 2회 수행하여 영상을 획득한다. 따라서 초기위치의 영상1개, 순수한 병진운동한 영상 3개, 임의의 축으로 회전 혹은 병진과 회전을 모두 수행하여 임의의 영상2개를 획득하여 총 6장의 영상을 통하여 정보를 얻고 전술 설명한 방법을 통하여 엔드 이펙터와 엔드 이펙터에 부착된 카메라의 캘리브레이션이 가능하다.The calibration between the end effector and the camera according to another embodiment of the present invention is carried out by attaching one or more cameras attached to the end effector and the end effector and moving and rotating together with the end effector to perform the following operations. First, we define the azimuth to be the reference, and acquire images of feature points known at that location. Secondly, we acquire an image taken at the position of the end effector with pure translational motion that does not include rotation at the reference position. Third, the end effector is rotated twice about an arbitrary axis without moving at the first reference position, or the end effector is subjected to translational motion and rotational motion twice on an arbitrary axis to obtain an image. Therefore, one image at the initial position, three images with purely translational motion, and two arbitrary images are acquired by performing rotation or translation and rotation on arbitrary axes to obtain information through a total of 6 images, It is possible to calibrate the camera attached to the end effector and end effector.

또한, 본 발명의 일 실시 예에서 카메라의 캘리브레이션 및 카메라와 엔드 이펙터간의 캘리브레이션을 수행하기 위해 보정블록으로 2차원 평면인 체스보드 판을 사용하였으나, 본 발명의 다른 실시 예에서는 3차원의 입체 물체를 사용하여 캘리브레이션을 수행할 수 있다. 더불어, 카메라 자체의 캘리브레이션은 핸드/아이 자가보정의 수행 과정에서 획득하는 영상을 이용하여 전술한 카메라 캘리브레이션 방법을 사용하여 보정할 수 있다.Also, in an embodiment of the present invention, a chessboard board is used as a correction block for calibrating a camera and calibration between a camera and an end effector, but in another embodiment of the present invention, a three- Can be used to perform calibration. In addition, the calibration of the camera itself can be corrected using the above-described camera calibration method using the image acquired during the hand / iso self correction.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.The above-described embodiments of the present invention can be embodied in a general-purpose digital computer that can be embodied as a program that can be executed by a computer and operates the program using a computer-readable recording medium.

상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.The computer readable recording medium includes a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical reading medium (e.g., CD ROM, DVD, etc.).

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

100 : 로봇
111, 122 : 매니퓰레이터
113: 제1 연결부
121 : 제2 연결부
123 : 엔드 이펙터
124 : 회전부
150 : 제어장치
152 : 사용자 인터페이스부
154 : 자세 제어부
156 : 캘리브레이션 제어부
200 : 보정블록
100: Robot
111, 122: Manipulators
113: first connection portion
121: second connection portion
123: End effector
124:
150: Control device
152: User interface section
154:
156: Calibration control unit
200: correction block

Claims (14)

로봇 핸드 및 상기 로봇 핸드 상에 부착된 카메라를 포함하는 장치가 상기 카메라와 로봇 핸드 간의 캘리브레이션(calibration)을 수행하는 방법에 있어서,
입력된 자세정보에 따라 상기 로봇 핸드의 자세(pose)를 변환시키는 단계; 및
상기 자세정보가 이동 값만을 포함하는 경우, 상기 카메라와 로봇 핸드 간의 회전행렬(R)을 산출하고, 상기 자세정보가 회전 값만을 포함하는 경우 상기 카메라와 로봇 핸드 간의 이동벡터(t)를 산출하는 단계
를 포함하는 카메라와 로봇 핸드의 캘리브레이션 방법.
A method for performing a calibration between a camera hand and a robot hand, the apparatus including a robot hand and a camera attached to the robot hand,
Transforming a pose of the robot hand according to input attitude information; And
(R) between the camera and the robot hand when the attitude information includes only the movement value, and calculates a motion vector (t) between the camera and the robot hand when the attitude information includes only the rotation value step
And a method of calibrating a robot hand.
제1항에 있어서,
자세 변환 후의 카메라 좌표계로부터 자세 변환 전의 로봇 핸드 좌표계까지의 자세 변환 관계를 이용하여 카메라와 로봇 핸드 간의 자세 변환 관계 산출을 위한 관계식을 도출하는 단계를 더 포함하는 카메라와 로봇 핸드의 캘리브레이션 방법.
The method according to claim 1,
And deriving a relational expression for calculating a posture conversion relationship between the camera and the robot hand using the posture conversion relationship from the camera coordinate system after posture conversion to the robot hand coordinate system before posture conversion.
제2항에 있어서,
상기 자세 변환 관계는 회전행렬과 이동벡터를 포함하는 것을 특징으로 하는 카메라와 로봇 핸드의 캘리브레이션 방법.
3. The method of claim 2,
Wherein the posture conversion relation includes a rotation matrix and a motion vector.
제3항에 있어서,
상기 관계식은 아래 기재된 수학식인 것을 특징으로 하는 카메라와 로봇 핸드의 캘리브레이션 방법
[수학식]
Figure pat00076

여기서, Rc는 카메라의 회전행렬, tc는 카메라의 이동벡터, RE는 로봇 핸드의 회전행렬, tE는 로봇 핸드의 이동벡터, R은 카메라와 로봇 핸드 사이의 회전행렬, t는 카메라와 로봇 핸드 사이의 이동벡터임.
The method of claim 3,
Wherein the relational expression is a mathematical expression described below, and a calibration method of a camera and a robot hand
[Mathematical Expression]
Figure pat00076

Where Rc is the rotation matrix of the camera, tc is the motion vector of the camera, R E is the rotation matrix of the robot hand, t E is the motion vector of the robot hand, R is the rotation matrix between the camera and the robot hand, Hand movement vector.
제4항에 있어서,
상기 자세정보가 이동 값만을 포함하는 경우, 상기 카메라와 로봇 핸드 간의 회전 행렬(R)을 산출하는 단계는
상기 카메라를 통해 사전에 좌표계가 설정된 보정블록을 촬영하고, 상기 촬영된 보정블록의 좌표계를 기준으로 제1 카메라 자세에서의 제1 카메라 좌표계와 제2 카메라 자세에서의 제2 카메라 좌표계를 각각 산출하는 단계;
상기 제1 카메라 좌표계와 제2 카메라 좌표계를 이용하여 카메라의 자세 변환 관계를 산출하고, 상기 자세 정보를 이용하여 상기 로봇 핸드의 자세 변환 관계를 산출하는 단계; 및
상기 카메라의 자세 변환 관계 및 로봇 핸드의 자세 변환 관계를 이용하여 상기 카메라와 로봇 핸드 사이의 회전행렬을 산출하는 단계를 포함하는 것을 특징으로 하는 카메라와 로봇 핸드의 캘리브레이션 방법.
5. The method of claim 4,
If the attitude information includes only the movement value, the step of calculating the rotation matrix R between the camera and the robot hand
A correction block in which a coordinate system is preset is photographed through the camera and a first camera coordinate system in a first camera posture and a second camera coordinate system in a second camera posture are calculated based on a coordinate system of the photographed correction block step;
Calculating a posture change relation of a camera using the first camera coordinate system and a second camera coordinate system, and calculating a posture change relation of the robot hand using the posture information; And
And calculating a rotation matrix between the camera and the robot hand using the posture conversion relation of the camera and the posture conversion relation of the robot hand.
제5에 있어서,
상기 카메라의 회전행렬과 상기 로봇 핸드의 회전행렬은 I행렬이고,
상기 카메라와 로봇 핸드 사이의 회전행렬은 아래 기재된 수학식에 의사 역행렬(Pseudo Inverse)을 적용하여 산출하는 것을 특징으로 하는 카메라와 로봇 핸드의 캘리브레이션 방법
[수학식]
Figure pat00077

여기서,tc는 카메라의 이동벡터, tE는 로봇 핸드의 이동벡터, R은 카메라와 로봇 핸드 사이의 회전행렬임.
In the fifth aspect,
Wherein the rotation matrix of the camera and the rotation matrix of the robot hand are I matrices,
Wherein the rotation matrix between the camera and the robot hand is calculated by applying a pseudo inverse to the equation described below.
[Mathematical Expression]
Figure pat00077

Here, tc is the motion vector of the camera, t E is the motion vector of the robot hand, and R is the rotation matrix between the camera and the robot hand.
제4항에 있어서,
상기 자세정보가 회전 값만을 포함하는 경우 상기 카메라와 로봇 핸드 간의 이동벡터(t)를 산출하는 단계는
상기 카메라를 통해 사전에 좌표계가 설정된 보정블록을 촬영하고, 상기 촬영된 보정블록의 좌표계를 기준으로 제1 카메라 자세에서의 제1 카메라 좌표계와 제2 카메라 자세에서의 제2 카메라 좌표계를 각각 산출하는 단계;
상기 제1 카메라 좌표계와 제2 카메라 좌표계를 이용하여 카메라의 자세 변환 관계를 산출하고, 상기 자세 정보를 이용하여 상기 로봇 핸드의 자세 변환 관계를 산출하는 단계; 및
상기 카메라의 자세 변환 관계 및 로봇 핸드의 자세 변환 관계를 이용하여 상기 카메라와 로봇 핸드 사이의 이동벡터를 산출하는 단계를 포함하는 것을 특징으로 하는 카메라와 로봇 핸드의 캘리브레이션 방법.
5. The method of claim 4,
The step of calculating the motion vector (t) between the camera and the robot hand when the attitude information includes only the rotation value
A correction block in which a coordinate system is preset is photographed through the camera and a first camera coordinate system in a first camera posture and a second camera coordinate system in a second camera posture are calculated based on a coordinate system of the photographed correction block step;
Calculating a posture change relation of a camera using the first camera coordinate system and a second camera coordinate system, and calculating a posture change relation of the robot hand using the posture information; And
And calculating a motion vector between the camera and the robot hand using the posture conversion relation of the camera and the posture conversion relation of the robot hand.
제7에 있어서,
상기 로봇 핸드의 이동벡터(tE)는 '0'이고,
상기 카메라와 로봇 핸드 사이의 이동벡터(t)는 아래 기재된 수학식에 의사 역행렬(Pseudo Inverse)을 적용하여 산출하는 것을 특징으로 하는 카메라와 로봇 핸드의 캘리브레이션 방법
[수학식]
Figure pat00078

여기서, Rc는 카메라의 회전행렬, tc는 카메라의 이동벡터, t는 카메라와 로봇 핸드 사이의 이동벡터임.
In the seventh aspect,
The motion vector t E of the robot hand is '0'
Wherein the motion vector t between the camera and the robot hand is calculated by applying a pseudo inverse to the following equation:
[Mathematical Expression]
Figure pat00078

Here, Rc is the rotation matrix of the camera, tc is the motion vector of the camera, and t is the motion vector between the camera and the robot hand.
제1항에 있어서,
상기 산출된 카메라와 로봇 핸드 사이의 자세 변환 관계를 이용하여 상기 카메라와 로봇 핸드 사이의 캘리브레이션을 수행하는 단계를 더 포함하는 카메라와 로봇 핸드의 캘리브레이션 방법.

The method according to claim 1,
And performing a calibration between the camera and the robot hand using the calculated posture conversion relationship between the camera and the robot hand.

로봇 핸드 및 상기 로봇 핸드 상에 부착된 카메라의 캘리브레이션을 수행하는 장치에 있어서,
로봇 핸드의 자세정보를 입력받는 사용자 인터페이스부; 및
상기 자세정보에 따라 상기 로봇 핸드의 자세(pose)를 변환시키는 자세 제어부; 및
상기 로봇 핸드가 회전하지 않고 이동만 하는 경우 상기 카메라와 로봇 핸드 간의 회전 행렬(R)을 산출하고, 상기 로봇 핸드가 회전만 하는 경우 상기 카메라와 로봇 핸드 간의 이동벡터(t)를 산출하는 캘리브레이션 제어부
를 포함하는 카메라와 로봇 핸드의 캘리브레이션 장치.
1. An apparatus for performing a calibration of a robot hand and a camera attached to the robot hand,
A user interface unit for receiving attitude information of the robot hand; And
A posture controller for converting a pose of the robot hand according to the posture information; And
(T) between the camera and the robot hand when the robot hand only rotates and calculates a rotation matrix (R) between the camera and the robot hand when the robot hand does not rotate,
And a calibration device for the robot hand.
제10항에 있어서,
상기 캘리브레이션 제어부는
상기 로봇 핸드가 회전하지 않고 이동만 하는 경우, 상기 카메라를 통해 사전에 좌표계가 설정된 보정블록을 촬영하고, 상기 촬영된 보정블록의 좌표계를 기준으로 제1 카메라 자세에서의 제1 카메라 좌표계와 제2 카메라 자세에서의 제2 카메라 좌표계를 각각 산출하며, 상기 제1 카메라 좌표계와 제2 카메라 좌표계를 이용하여 카메라의 자세 변환 관계를 산출하고, 상기 자세 정보를 이용하여 상기 로봇 핸드의 자세 변환 관계를 산출하며, 상기 카메라의 자세 변환 관계 및 로봇 핸드의 자세 변환 관계를 이용하여 상기 카메라와 로봇 핸드 사이의 회전행렬을 산출하되,
상기 카메라와 로봇 핸드 사이의 회전행렬은 아래 기재된 수학식에 의사 역행렬(Pseudo Inverse)을 적용하여 산출하는 것을 특징으로 하는 카메라와 로봇 핸드의 캘리브레이션 장치
[수학식]
Figure pat00079

여기서,tc는 카메라의 이동벡터, tE는 로봇 핸드의 이동벡터, R은 카메라와 로봇 핸드 사이의 회전행렬임.
11. The method of claim 10,
The calibration control unit
Wherein when the robot hand does not rotate but moves only, a correction block in which a coordinate system is set in advance is photographed through the camera, and a first camera coordinate system in a first camera posture and a second camera coordinate system in a second camera posture Calculating a posture change relation of the camera using the first camera coordinate system and the second camera coordinate system, calculating a posture change relation of the robot hand using the posture information, calculating a second camera coordinate system in the camera posture, And calculating a rotation matrix between the camera and the robot hand using the posture conversion relation of the camera and the posture conversion relation of the robot hand,
Wherein the rotation matrix between the camera and the robot hand is calculated by applying a pseudo inverse to the equation described below.
[Mathematical Expression]
Figure pat00079

Here, tc is the motion vector of the camera, t E is the motion vector of the robot hand, and R is the rotation matrix between the camera and the robot hand.
제10항에 있어서,
상기 캘리브레이션 제어부는
상기 로봇 핸드가 회전만 하는 경우, 상기 카메라를 통해 사전에 좌표계가 설정된 보정블록을 촬영하고, 상기 촬영된 보정블록의 좌표계를 기준으로 제1 카메라 자세에서의 제1 카메라 좌표계와 제2 카메라 자세에서의 제2 카메라 좌표계를 각각 산출하며, 상기 제1 카메라 좌표계와 제2 카메라 좌표계를 이용하여 카메라의 자세 변환 관계를 산출하고, 상기 자세 정보를 이용하여 상기 로봇 핸드의 자세 변환 관계를 산출하며, 상기 카메라의 자세 변환 관계 및 로봇 핸드의 자세 변환 관계를 이용하여 상기 카메라와 로봇 핸드 사이의 이동벡터(t)를 산출하되,
상기 카메라와 로봇 핸드 사이의 이동벡터(t)는 아래 기재된 수학식에 의사 역행렬(Pseudo Inverse)을 적용하여 산출하는 것을 특징으로 하는 카메라와 로봇 핸드의 캘리브레이션 장치
[수학식]
Figure pat00080

여기서, Rc는 카메라의 회전행렬, tc는 카메라의 이동벡터, t는 카메라와 로봇 핸드 사이의 이동벡터임.
11. The method of claim 10,
The calibration control unit
Wherein when the robot hand only rotates, a correction block having a coordinate system set in advance is photographed through the camera, and a first camera coordinate system in a first camera position and a second camera position in a second camera position Calculates a posture change relation of the camera using the first camera coordinate system and the second camera coordinate system, calculates a posture change relation of the robot hand using the posture information, Calculating a motion vector (t) between the camera and the robot hand using the posture conversion relationship of the camera and the posture conversion relation of the robot hand,
Wherein the motion vector t between the camera and the robot hand is calculated by applying a pseudo inverse to the following equation:
[Mathematical Expression]
Figure pat00080

Here, Rc is the rotation matrix of the camera, tc is the motion vector of the camera, and t is the motion vector between the camera and the robot hand.
제11항 또는 제12항에 있어서,
상기 장치에 상기 로봇 핸드 상에 부착된 첫번째 카메라 외에 두번째 카메라가 구비된 스테레오(Stereo) 기반의 3D 카메라가 구비된 경우,
상기 캘리브레이션 제어부는
상기 보정블록의 좌표계를 기준으로 상기 첫번째 카메라의 좌표계와 상기 두번째 카메라의 좌표계를 각각 산출하고, 상기 산출된 첫번째 카메라의 좌표계와 상기 두번째 카메라의 좌표계를 이용하여 첫번째 카메라와 두번째 카메라 간의 자세 변환 관계를 산출하며, 상기 산출된 두 카메라 간의 자세 변환 관계를 이용하여 3D카메라의 캘리브레이션을 수행하는 것을 특징으로 하는 카메라와 로봇 핸드의 캘리브레이션 장치.
13. The method according to claim 11 or 12,
If the apparatus is provided with a stereo-based 3D camera equipped with a second camera in addition to the first camera attached on the robot hand,
The calibration control unit
Calculating a coordinate system of the first camera and a coordinate system of the second camera on the basis of the coordinate system of the correction block and calculating a posture conversion relationship between the first camera and the second camera using the calculated coordinate system of the first camera and the coordinate system of the second camera And the calibration of the 3D camera is performed using the calculated posture conversion relationship between the two cameras.
제11항 또는 제12항에 있어서,
상기 로봇 핸드 상에 부착된 카메라가 프로젝터(Projector)가 구비된 구조광(Structured Light) 기반의 3D 카메라인 경우,
상기 캘리브레이션 제어부는
상기 보정블록의 좌표계를 기준으로 상기 카메라의 좌표계와 상기 프로젝터의 좌표계를 각각 산출하고, 상기 산출된 카메라의 좌표계와 상기 프로젝터의 좌표계를 이용하여 카메라와 프로젝터 간의 자세 변환 관계를 산출하며, 상기 산출된 카메라와 프로젝터 간의 자세 변환 관계를 이용하여 3D 카메라의 캘리브레이션을 수행하는 것을 특징으로 하는 카메라와 로봇 핸드의 캘리브레이션 장치.
13. The method according to claim 11 or 12,
If the camera attached to the robot hand is a structured light based 3D camera equipped with a projector,
The calibration control unit
Calculates a coordinate system of the camera and a coordinate system of the projector on the basis of the coordinate system of the correction block, calculates a posture change relationship between the camera and the projector using the calculated coordinate system of the camera and the coordinate system of the projector, And the calibration of the 3D camera is performed using the posture conversion relation between the camera and the projector.
KR1020170114545A 2017-09-07 2017-09-07 Method and apparatus for calibration of a robot hand and a camera KR101988937B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170114545A KR101988937B1 (en) 2017-09-07 2017-09-07 Method and apparatus for calibration of a robot hand and a camera

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170114545A KR101988937B1 (en) 2017-09-07 2017-09-07 Method and apparatus for calibration of a robot hand and a camera

Publications (2)

Publication Number Publication Date
KR20190027584A true KR20190027584A (en) 2019-03-15
KR101988937B1 KR101988937B1 (en) 2019-06-13

Family

ID=65762721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170114545A KR101988937B1 (en) 2017-09-07 2017-09-07 Method and apparatus for calibration of a robot hand and a camera

Country Status (1)

Country Link
KR (1) KR101988937B1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109859280A (en) * 2019-03-31 2019-06-07 深圳市普渡科技有限公司 Camera calibration system and method
KR20200057503A (en) * 2018-11-16 2020-05-26 삼성전자주식회사 Robot calibration system and calibration method thereof
KR102111655B1 (en) * 2019-11-01 2020-06-04 주식회사 뉴로메카 Automatic calibration method and apparatus for robot vision system
CN112285625A (en) * 2020-09-21 2021-01-29 广东电网有限责任公司广州供电局 Universal automatic electric power instrument verification system and method
KR102220173B1 (en) * 2019-11-01 2021-02-25 주식회사 뉴로메카 Automatic calibration method and apparatus for robot vision system
WO2021096320A1 (en) * 2019-11-15 2021-05-20 주식회사 씨메스 Method and apparatus for calibrating position of robot using 3d scanner
KR20210059664A (en) * 2019-11-15 2021-05-25 주식회사 씨메스 Method and Apparatus for Position Calibation for Robot Using 3D Scanner
CN113744341A (en) * 2021-07-21 2021-12-03 北京旷视科技有限公司 Camera pose calibration method and device for robot system and electronic equipment
KR102528594B1 (en) * 2022-09-20 2023-05-08 주식회사 랑데뷰 Automatic Collecting Method for Machine Learning Labeling Data of Objects Detecting
WO2023086559A3 (en) * 2021-11-15 2023-06-22 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for controlling a robot

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102459373B1 (en) 2020-11-25 2022-10-31 아이둡 주식회사 Hand eye calibration system and method
KR102585332B1 (en) * 2022-12-06 2023-10-05 성형원 Device and method executing calibration between robot hand and camera separated from robot hand

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140123660A (en) * 2013-04-12 2014-10-23 성균관대학교산학협력단 Apparatus and method for calibration of a robot hand and a camera attached to robot hand

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140123660A (en) * 2013-04-12 2014-10-23 성균관대학교산학협력단 Apparatus and method for calibration of a robot hand and a camera attached to robot hand

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200057503A (en) * 2018-11-16 2020-05-26 삼성전자주식회사 Robot calibration system and calibration method thereof
CN109859280A (en) * 2019-03-31 2019-06-07 深圳市普渡科技有限公司 Camera calibration system and method
KR102111655B1 (en) * 2019-11-01 2020-06-04 주식회사 뉴로메카 Automatic calibration method and apparatus for robot vision system
KR102220173B1 (en) * 2019-11-01 2021-02-25 주식회사 뉴로메카 Automatic calibration method and apparatus for robot vision system
WO2021086108A1 (en) * 2019-11-01 2021-05-06 주식회사 뉴로메카 Automatic calibration method and device for robot vision system
US11642789B2 (en) 2019-11-01 2023-05-09 Neuromeka Automatic calibration method and device for robot vision system
WO2021096320A1 (en) * 2019-11-15 2021-05-20 주식회사 씨메스 Method and apparatus for calibrating position of robot using 3d scanner
KR20210059664A (en) * 2019-11-15 2021-05-25 주식회사 씨메스 Method and Apparatus for Position Calibation for Robot Using 3D Scanner
CN112285625A (en) * 2020-09-21 2021-01-29 广东电网有限责任公司广州供电局 Universal automatic electric power instrument verification system and method
CN113744341A (en) * 2021-07-21 2021-12-03 北京旷视科技有限公司 Camera pose calibration method and device for robot system and electronic equipment
WO2023086559A3 (en) * 2021-11-15 2023-06-22 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for controlling a robot
KR102528594B1 (en) * 2022-09-20 2023-05-08 주식회사 랑데뷰 Automatic Collecting Method for Machine Learning Labeling Data of Objects Detecting

Also Published As

Publication number Publication date
KR101988937B1 (en) 2019-06-13

Similar Documents

Publication Publication Date Title
KR101988937B1 (en) Method and apparatus for calibration of a robot hand and a camera
JP6429473B2 (en) Robot system, robot system calibration method, program, and computer-readable recording medium
US20200298411A1 (en) Method for the orientation of an industrial robot, and industrial robot
JP4844453B2 (en) Robot teaching apparatus and teaching method
JP5850962B2 (en) Robot system using visual feedback
JP6468741B2 (en) Robot system and robot system calibration method
JP5233601B2 (en) Robot system, robot control apparatus, and robot control method
JP5852364B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP4167954B2 (en) Robot and robot moving method
US20160184996A1 (en) Robot, robot system, control apparatus, and control method
US20160279800A1 (en) Robot, robot control device, and robotic system
US9884425B2 (en) Robot, robot control device, and robotic system
US11040451B2 (en) Teaching device and teaching method
JP6855492B2 (en) Robot system, robot system control device, and robot system control method
JP2019014030A (en) Control device for robot, robot, robot system, and calibration method for camera
JP6885856B2 (en) Robot system and calibration method
JPWO2019146201A1 (en) Information processing equipment, information processing methods and information processing systems
CN110856932A (en) Interference avoidance device and robot system
CN113878588B (en) Robot compliant assembly method based on tactile feedback and oriented to buckle type connection
JP6322949B2 (en) Robot control apparatus, robot system, robot, robot control method, and robot control program
CN117881507A (en) Instruction value generation device, method, and program
KR20070122271A (en) System for controlling position of robot and method for controlling thereof
TWI807990B (en) Robot teaching system
WO2023013740A1 (en) Robot control device, robot control system, and robot control method
WO2020192882A1 (en) Method and control arrangement for determining a relation between a robot coordinate system and a movable apparatus coordinate system

Legal Events

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