KR101964332B1 - Method of hand-eye calibration, computer program for executing the method, and robot system. - Google Patents

Method of hand-eye calibration, computer program for executing the method, and robot system. Download PDF

Info

Publication number
KR101964332B1
KR101964332B1 KR1020170133480A KR20170133480A KR101964332B1 KR 101964332 B1 KR101964332 B1 KR 101964332B1 KR 1020170133480 A KR1020170133480 A KR 1020170133480A KR 20170133480 A KR20170133480 A KR 20170133480A KR 101964332 B1 KR101964332 B1 KR 101964332B1
Authority
KR
South Korea
Prior art keywords
point
vector
end portion
transformation matrix
pivot point
Prior art date
Application number
KR1020170133480A
Other languages
Korean (ko)
Inventor
이현기
이성풍
홍재성
Original Assignee
재단법인대구경북과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 재단법인대구경북과학기술원 filed Critical 재단법인대구경북과학기술원
Priority to KR1020170133480A priority Critical patent/KR101964332B1/en
Application granted granted Critical
Publication of KR101964332B1 publication Critical patent/KR101964332B1/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/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

According to an embodiment of the present invention, a hand-eye calibration method comprises the steps of: (A) acquiring a first image obtained by photographing a pattern when an end portion is in a first position and a second image obtained by photographing the pattern when the end portion is in a second position by using a vision unit provided in the end portion while pivoting the end portion of a robot arm about a pivot point in a fixed position; (B) acquiring vector A from a position of one point at the first position to a position of the one point at the second position by using a sensing result of a sensor which senses a marker attached to one point of the end portion, and acquiring vector B from a position of the vision unit at the first position to a position of the vision unit at the second position using the first image and the second image; and (C) calculating a transformation matrix X of the vision unit and the one point using a transformation matrix of the pivot point and the vision unit, a transformation matrix of the pivot point and one point, the vector A, and vector B. According to the present invention, the accuracy of the transformation matrix calculation can be greatly increased.

Description

핸드-아이 캘리브레이션 방법, 이를 실행하기 위한 컴퓨터 프로그램 및 로봇 시스템{Method of hand-eye calibration, computer program for executing the method, and robot system.}Technical Field [0001] The present invention relates to a hand-eye calibration method, a computer program for performing the same, and a robot system.

핸드-아이 캘리브레이션 방법, 이를 실행하기 위한 컴퓨터 프로그램 및 로봇 시스템에 관한 것이다.A hand-eye calibration method, a computer program for executing the method, and a robot system.

비전기반 지능형 산업용 로봇 분야에서는 일반적으로 로봇 팔의 엔드(end)에 카메라가 부착되어 사용되기 때문에 로봇 팔의 엔드와 카메라의 변환관계 추정(핸드/아이 보정, Hand/Eye Calibration)은 중요한 연구주제로 주목되어 왔다. 그러나 산출된 결과물의 정확도가 현저히 낮아, 이를 높이기 위한 다양한 방법이 적용이 되었고, 이때 복잡한 수식과 절차가 사용이 되었다.In the field of vision-based intelligent industrial robots, estimating the transformation relation between the robot arm's end and the camera (Hand / Eye Calibration, Hand / Eye Calibration) is an important research topic because the camera is usually attached to the end of the robot arm Attention has been paid. However, the accuracy of the result is very low, and various methods have been applied to improve it, and complicated formulas and procedures have been used.

본 발명은 전술 한 문제점을 해결하기 위한 것으로, 피봇팅 모션을 활용하여 계산 정확도를 높인 핸드-아이 캘리브레이션 방법, 이를 실행하기 위한 컴퓨터 프로그램 및 로봇 시스템을 제공하고자 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to provide a hand-eye calibration method using a pivoting motion to increase computational accuracy, a computer program for executing the method and a robot system.

본 발명의 일 실시예는, (A) 고정된 위치의 피봇점을 중심으로 로봇 팔의 엔드부를 피봇팅하면서, 상기 엔드부에 구비된 비전부를 이용하여 상기 엔드부가 제1 위치일 때 패턴을 촬영한 제1 영상 및 상기 엔드부가 제2 위치일 때 상기 패턴을 촬영한 제2 영상을 획득하는 단계; (B) 상기 엔드부의 일 지점에 부착된 마커를 센싱하는 센서의 센싱 결과를 이용하여 상기 제1 위치에서의 상기 일 지점의 위치로부터 상기 제2 위치에서의 상기 일 지점의 위치까지의 벡터 A를 획득하고, 상기 제1 영상 및 상기 제2 영상을 이용하여 상기 제1 위치에서의 상기 비전부의 위치로부터 상기 제2 위치에서의 상기 비전부의 위치까지의 벡터 B를 획득하는 단계; 및 (C) 상기 피봇점과 상기 비전부의 변환 행렬, 상기 피봇점과 상기 일 지점의 변환 행렬, 상기 벡터 A 및 상기 벡터 B를 이용하여, 상기 일 지점과 상기 비전부의 변환 행렬 X를 산출하는 단계;를 포함하는, 핸드-아이 캘리브레이션 방법을 제공한다.An embodiment of the present invention is a method of manufacturing a robot comprising the steps of: (A) pivoting an end portion of a robot arm around a pivot point at a fixed position, using a vision portion provided at the end portion, Obtaining a first image and a second image of the pattern when the end portion is in a second position; (B) calculating a vector A from a position of the one point at the first position to a position of the one point at the second position using a sensing result of a sensor that senses a marker attached to one end of the end portion Acquiring a vector B from the position of the vision unit at the first position to the position of the vision unit at the second position using the first image and the second image; And (C) calculating a transformation matrix X of the one point and the non-transition using the transformation matrix of the pivot point and the non-transition, the transformation matrix of the pivot point and the one point, the vector A, and the vector B ; And a hand-eye calibration method.

일 실시예에 따르면, 상기 (C) 단계는 상기 피봇점과 상기 비전부의 변환 행렬, 상기 피봇점과 상기 일 지점의 변환 행렬, 상기 벡터 A 및 상기 벡터 B 간의 방정식을 회전 성분과 이동 성분으로 분리하고, 상기 이동 성분을 이용하여 상기 변환 행렬 X를 산출할 수 있다.According to an embodiment, the step (C) may include dividing the equation between the pivot point and the transformation matrix of the non-transition, the transformation matrix of the pivot point and the one point, the vector A and the vector B into a rotation component and a movement component , And the transformation matrix X can be calculated using the moving component.

일 실시예에 따르면, 상기 (C) 단계는 다음의 수학식을 이용할 수 있다.According to an embodiment, the step (C) may use the following equation.

Figure 112017101112952-pat00001
Figure 112017101112952-pat00001

여기서, E는 피봇점과 상기 비전부의 변환 행렬, F는 피봇점과 상기 일 지점의 변환 행렬이다.Here, E is the pivot point and the transformation matrix of the vision unit, and F is the transformation matrix of the pivot point and the one point.

일 실시예에 따르면, 상기 (C) 단계는 수학식 According to one embodiment, the step (C)

Figure 112017101112952-pat00002
Figure 112017101112952-pat00002

의 이동 성분인 다음의 수학식을 이용할 수 있다.The following equation can be used.

Figure 112017101112952-pat00003
Figure 112017101112952-pat00003

Figure 112017101112952-pat00004
Figure 112017101112952-pat00004

여기서,

Figure 112017101112952-pat00005
,
Figure 112017101112952-pat00006
는 A와 B의 회전 행렬이고,
Figure 112017101112952-pat00007
,
Figure 112017101112952-pat00008
는 A와 B의 이동 벡터이고,
Figure 112017101112952-pat00009
,
Figure 112017101112952-pat00010
는 X의 회전 행렬과 이동 벡터이다.here,
Figure 112017101112952-pat00005
,
Figure 112017101112952-pat00006
Is the rotation matrix of A and B,
Figure 112017101112952-pat00007
,
Figure 112017101112952-pat00008
Is the motion vector of A and B,
Figure 112017101112952-pat00009
,
Figure 112017101112952-pat00010
Is the rotation matrix of X and the motion vector.

일 실시예에 따르면, 상기 (C) 단계는 수학식 According to one embodiment, the step (C)

Figure 112017101112952-pat00011
Figure 112017101112952-pat00011

의 이동 성분인 다음의 수학식을 이용할 수 있다.The following equation can be used.

Figure 112017101112952-pat00012
Figure 112017101112952-pat00012

Figure 112017101112952-pat00013
Figure 112017101112952-pat00013

Figure 112017101112952-pat00014
Figure 112017101112952-pat00014

여기서,

Figure 112017101112952-pat00015
,
Figure 112017101112952-pat00016
는 A와 B의 회전 행렬이고,
Figure 112017101112952-pat00017
,
Figure 112017101112952-pat00018
는 A와 B의 이동 벡터이고,
Figure 112017101112952-pat00019
,
Figure 112017101112952-pat00020
는 X의 회전 행렬과 이동 벡터이고,
Figure 112017101112952-pat00021
는 E의 이동 벡터이고,
Figure 112017101112952-pat00022
는 F의 이동 벡터이다.here,
Figure 112017101112952-pat00015
,
Figure 112017101112952-pat00016
Is the rotation matrix of A and B,
Figure 112017101112952-pat00017
,
Figure 112017101112952-pat00018
Is the motion vector of A and B,
Figure 112017101112952-pat00019
,
Figure 112017101112952-pat00020
Is the rotation matrix of X and the motion vector,
Figure 112017101112952-pat00021
Is the motion vector of E,
Figure 112017101112952-pat00022
Is the motion vector of F.

일 실시예에 따르면, 상기 (C) 단계는 최소제곱법(Least Square Algorithm)을 이용하여 상기 변환 행렬 X를 산출할 수 있다.According to an embodiment, the step (C) may calculate the transformation matrix X using Least Square Algorithm.

일 실시예에 따르면, 상기 일 지점은, 상기 엔드부에 구비된 작업부의 구동 기준이 되는 지점일 수 있다.According to an embodiment of the present invention, the one point may be a point at which the operation unit of the end unit is driven.

본 발명의 다른 실시예는, 고정된 위치의 피봇점을 중심으로 피봇팅되는 엔드부를 포함하는 로봇 장치; 및 상기 로봇 팔의 엔드부를 피봇팅하면서, 상기 엔드부에 구비된 비전부를 이용하여 상기 엔드부가 제1 위치일 때 패턴을 촬영한 제1 영상 및 상기 엔드부가 제2 위치일 때 상기 패턴을 촬영한 제2 영상을 획득하고, 상기 엔드부의 일 지점에 부착된 마커를 센싱하는 센서의 센싱 결과를 이용하여 상기 제1 위치에서의 상기 일 지점의 위치로부터 상기 제2 위치에서의 상기 일 지점의 위치까지의 벡터 A를 획득하고, 상기 제1 영상 및 상기 제2 영상을 이용하여 상기 제1 위치에서의 상기 비전부의 위치로부터 상기 제2 위치에서의 상기 비전부의 위치까지의 벡터 B를 획득하고, 상기 피봇점과 상기 비전부의 변환 행렬, 상기 피봇점과 상기 일 지점의 변환 행렬, 상기 벡터 A 및 상기 벡터 B를 이용하여, 상기 일 지점과 상기 비전부의 변환 행렬 X를 산출하는 제어부;를 포함하는 로봇 시스템을 제공한다.Another embodiment of the invention is a robot device comprising an end portion pivoted about a pivot point in a fixed position; And a second image obtained by photographing the pattern when the end portion is in the second position while pivoting the end portion of the robot arm, using a vision portion provided in the end portion, And acquiring a second image from the position of the one point at the first position to the position of the one point at the second position by using a sensing result of a sensor that senses a marker attached to one end of the end portion Obtains a vector B from the position of the vision part at the first position to the position of the vision part at the second position using the first image and the second image, Calculating a transformation matrix X of the one point and the non-transition portion using the transformation matrix of the non-transition portion, the transformation matrix of the pivot point and the one point, the vector A, and the vector B, It provides a robot system including a; unit.

본 발명의 또 다른 실시예는, 컴퓨터를 이용하여 전술한 어느 일 실시예의 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램을 제공한다.Yet another embodiment of the present invention provides a computer program stored on a medium for performing the method of any one of the embodiments described above using a computer.

본 발명의 일 실시예에 따른 핸드-아이 캘리브레이션 방법, 이를 실행하기 위한 컴퓨터 프로그램 및 로봇 시스템은, 피봇팅 모션을 적용하는 바 변환 행렬 계산의 정확성이 월등히 향상된다.The hand-eye calibration method according to an embodiment of the present invention, the computer program for performing the same, and the robot system significantly improve the accuracy of the bar transformation matrix calculation using the pivoting motion.

도 1은 본 발명의 일 실시예에 따른 로봇 시스템을 도시한 것이다.
도 2는 본 발명의 일 실시예를 설명하기 위해 로봇 장치(10)의 일부를 확대하여 표시한 도면이다.
도 3은 일 예에 따른 핸드-아이 캘리브레이션 과정을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 캘리브레이션 계산 과정의 일 예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 제어부의 핸드-아이 캘리브레이션 방법의 예를 도시한 흐름도이다.
1 shows a robot system according to an embodiment of the present invention.
2 is an enlarged view of a part of the robot apparatus 10 for explaining an embodiment of the present invention.
FIG. 3 is a view for explaining a hand-eye calibration process according to an example.
4 is a diagram for explaining an example of a calibration calculation process according to an embodiment.
5 is a flowchart illustrating an example of a hand-eye calibration method of a controller according to an embodiment of the present invention.

본 발명의 실시예들은 다양한 변환을 가할 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 실시예들의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 내용들을 참조하면 명확해질 것이다. 그러나 본 발명의 실시예들은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. Embodiments of the present invention are capable of various transformations, and specific embodiments are illustrated in the drawings and described in detail in the description. The effects and features of embodiments of the present invention and methods of achieving them will be apparent with reference to the following detailed description together with the drawings. However, the embodiments of the present invention are not limited to the embodiments described below, but may be implemented in various forms.

이하, 첨부된 도면을 참조하여 이하의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals refer to like or corresponding parts throughout the drawings, and a duplicate description thereof will be omitted.

이하의 실시예에서 "제1, 제2" 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 이하의 실시예에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 이하의 실시예에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 도면에서는 설명의 편의를 위하여 구성의 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 등은 설명의 편의를 위해 임의로 나타내었으므로, 이하의 실시예는 반드시 도시된 바에 한정되지 않는다.In the following embodiments, terms such as " first, second, "and the like are used for the purpose of distinguishing one element from another element, rather than limiting. In the following examples, the singular forms "a", "an" and "the" include plural referents unless the context clearly dictates otherwise. It will be further understood that the terms such as " comprises "or" having "in the following embodiments are intended to mean that a feature or element described in the specification is present and that the presence or absence of one or more other features or components It is not. In the drawings, the size of the configuration may be exaggerated or reduced for convenience of explanation. For example, the sizes and the like of the respective constituent elements shown in the drawings are arbitrarily shown for the sake of convenience of description, and the following embodiments are not necessarily drawn to scale.

도 1은 본 발명의 일 실시예에 따른 로봇 시스템을 도시한 것이다.1 shows a robot system according to an embodiment of the present invention.

로봇 시스템은, 캘리브레이션을 위한 촬영 대상이 되는 패턴(P), 로봇 장치(10) 및 로봇 장치(10)의 제어부(20)를 포함한다.The robot system includes a pattern P to be photographed for calibration, a robot apparatus 10, and a control unit 20 of the robot apparatus 10. [

로봇 장치(10)는 기준점이 되는 바디부(11)에 고정된 로봇 팔(12)을 포함하고, 로봇 팔(12)의 끝단에는 비전부(vision unit)(13)가 설치된다. 비전부(13)는 로봇 장치(10)의 눈(eye)의 역할을 하며, 카메라 모듈을 포함할 수 있다. 제어부(20)는 비전부(13)에서 촬영된 영상을 분석한 결과에 따라 로봇 장치(10)를 제어할 수 있다. The robot apparatus 10 includes a robot arm 12 fixed to a body part 11 serving as a reference point and a vision unit 13 is installed at an end of the robot arm 12. The vision unit 13 serves as an eye of the robot apparatus 10 and may include a camera module. The control unit 20 can control the robot apparatus 10 according to the result of analyzing the image photographed by the vision unit 13.

로봇 팔(12)의 끝단에는 비전부(13)뿐 아니라 작업부(14)가 더 설치될 수 있다. 작업부(14)는 집게, 탐침, 막대 등, 로봇 팔(12)을 이용하여 작업하고자 하는 목적에 따른 적절한 기구적인 구성을 포함할 수 있고, 제어부(20)에 의해 구동될 수 있다. 작업부(14)는 로봇 팔(12)의 손(hand)에 해당할 수 있다.At the end of the robot arm 12, not only the vision unit 13 but also the working unit 14 may be installed. The working unit 14 may include an appropriate mechanical structure for the purpose of working with the robotic arm 12 such as a forceps, a probe, a rod, etc., and may be driven by the control unit 20. The working unit 14 may correspond to a hand of the robot arm 12. [

일 실시예에 따르면, 비전부(13)의 내부 요인의 파라미터 값을 구하기 위한 카메라 캘리브레이션이 수행될 수 있다.According to one embodiment, a camera calibration may be performed to obtain the parameter value of the internal factor of the vision unit 13.

패턴(P)은 체크보드 이미지를 포함할 수 있다. 체크보드 이미지를 포함하는 패턴(P)을 이용하여 카메라 캘리브레이션을 수행하기 위해서 논문(Zhengyou Zhang, A Flexible New Technique for Camera Calibration, Technical Report MSR-TR-98-71, Microsoft Corporation)에 기재된 방법을 이용할 수 있다.The pattern P may include a check board image. A method described in Zhengyou Zhang (A Flexible New Technique for Camera Calibration, Technical Report MSR-TR-98-71, Microsoft Corporation) is used to perform camera calibration using a pattern (P) .

한편 제어부(20)는 비전부(13)에 의해 얻어지는 정보를 이용해 작업부(14)를 제어하여 작업을 수행하게 되는데, 비전부(13)와 작업부(14)의 실장 위치 및 방향이 다르기 때문에 비전부(13)의 기준 좌표와 작업부(14)의 기준 좌표가 다른 문제가 있다. 따라서 제어부(20)는 비전부(13)와 작업부(14)의 기준 좌표 간의 변환 행렬을 이용하여 좌표 변환 작업을 함으로써, 비전부(13)의 기준 좌표와 작업부(14)의 기준 좌표 간의 차이를 보상한다. 이와 같이 로봇 팔(12)의 눈이 되는 비전부(13)와 손이 되는 작업부(14)의 좌표 간 변환 행렬을 구하는 과정을 이하에서는 핸드-아이 캘리브레이션이라고 한다. Meanwhile, the control unit 20 controls the operation unit 14 using the information obtained by the non-conversion unit 13 to perform the operation. Since the mounting position and direction of the non-conversion unit 13 and the operation unit 14 are different There is a problem in that the reference coordinates of the vision unit 13 and the reference coordinates of the working unit 14 are different. The control unit 20 performs a coordinate transformation operation using the transformation matrix between the reference coordinates of the vision unit 13 and the work unit 14 so that the reference coordinates of the vision unit 13 and the reference coordinates of the work unit 14 Compensate for the difference. The process for obtaining the coordinate transformation matrix of the working unit 14, which is in touch with the vision unit 13, which is the eye of the robot arm 12, is hereinafter referred to as hand-eye calibration.

일 실시예에 따르면, 제어부(20)는 고정된 바디부(11)에 연결된 로봇 팔(12)을 움직이면서 서로 다른 위치에서 비전부(13)를 이용해 패턴(P)을 2회 이상 촬영하고, 촬영된 2 이상의 영상을 분석한 결과를 이용하여 비전부(13)와 작업부(14)의 변환 행렬을 구한다. 체크보드 이미지를 포함하는 패턴(P)을 2회 이상 촬영한 영상을 이용하여 패턴(P)으로부터 비전부(13)까지의 벡터를 획득하기 위하여 논문(Zhengyou Zhang, A Flexible New Technique for Camera Calibration, Technical Report MSR-TR-98-71, Microsoft Corporation)에 기재된 방법을 이용할 수 있다 According to one embodiment, the control unit 20 photographs the pattern P two or more times using the vision unit 13 at different positions while moving the robot arm 12 connected to the fixed body unit 11, The transformation matrixes of the vision unit 13 and the work unit 14 are obtained using the result of analyzing two or more images. In order to acquire the vector from the pattern P to the vision unit 13 using the image obtained by photographing the pattern P including the check board image two or more times, a paper (Zhengyou Zhang, A Flexible New Technique for Camera Calibration, Technical Report MSR-TR-98-71, Microsoft Corporation) can be used

도 2는 본 발명의 일 실시예를 설명하기 위해 로봇 장치(10)의 일부를 확대하여 표시한 도면이다.2 is an enlarged view of a part of the robot apparatus 10 for explaining an embodiment of the present invention.

도 2를 참조하면, 로봇 팔(12)에서 가장 말단에 위치하는 1 이상의 자유도를 갖는 관절(21)에 연결된 엔드부(22)에는 작업부(14)와 비전부(13)가 포함된다. 도 2를 참조하면, 작업부(14)의 기준점(H)에서의 좌표와 비전부(13)의 기준점(C)에서의 좌표가 도시되었다. 작업부(14)의 기준점(H)에서의 좌표와 비전부(13)의 기준점(C)의 좌표계는 변하지 않고 고정이 되어있으며, 일 예에 따르면 핸드-아이 캘리브레이션을 통해 기준점(H)의 좌표와 기준점(C)의 좌표 간의 변환행렬이 획득될 수 있다.Referring to FIG. 2, an end portion 22 connected to a joint 21 having one or more degrees of freedom located at the distal end of the robot arm 12 includes a working portion 14 and a vision portion 13. 2, the coordinates at the reference point H of the working portion 14 and the coordinates at the reference point C of the vision portion 13 are shown. The coordinate of the reference point H of the working unit 14 and the coordinate system of the reference point C of the vision unit 13 are fixed and unchanged. According to one example, the coordinates of the reference point H And the coordinates of the reference point (C) can be obtained.

한편 전술한 것과 같이 카메라 캘리브레이션 및/또는 핸드-아이 캘리브레이션을 수행하기 위해 엔드부(22)의 위치를 변경하면서 2회 이상 패턴(P)을 촬영하게 되는데, 일 실시예에 따르면, 피봇점(PP)과 피봇바(PB)를 이용하여 엔드부(22)의 움직임에 제약을 부여할 수 있다. 예컨대 로봇 장치(10)에는 피봇바(PB)가 더 구비될 수 있다. 피봇바(PB)의 일단은 고정된 위치의 피봇점(PP)에 연결되고, 타단은 엔드부(22)의 일 위치에 연결될 수 있다. 일 예에 따르면 캘리브레이션을 위한 엔드부(22)의 위치 변경 시 피봇점(PP)의 위치는 고정되고, 피봇바(PB)에 의해 피봇점(PP)과 엔드부(22)의 연결이 고정됨에 따라, 엔드부(22)는 피봇점(PP)을 기준으로 피봇팅 될 수 있다.On the other hand, the pattern P is photographed more than twice while changing the position of the end portion 22 in order to perform camera calibration and / or hand-eye calibration, as described above. According to one embodiment, And the pivot bar PB can be used to limit the movement of the end portion 22. For example, the robot apparatus 10 may further include a pivot bar PB. One end of the pivot bar PB may be connected to a pivot point PP at a fixed position and the other end may be connected to a position of the end portion 22. [ According to one example, the position of the pivot point PP is fixed at the time of changing the position of the end portion 22 for calibration, and the connection of the pivot point PP with the end portion 22 is fixed by the pivot bar PB Accordingly, the end portion 22 can be pivoted with respect to the pivot point PP.

피봇바(PB)에 의해 피봇점(PP)과 엔드부(22) 간의 위치 관계가 정의되므로, 피봇점(PP)의 좌표계로부터 엔드부(22) 내의 각 좌표들 간의 변환 행렬이 정의될 수 있다.Since the positional relationship between the pivot point PP and the end portion 22 is defined by the pivot bar PB, a transformation matrix between the respective coordinates in the end portion 22 from the coordinate system of the pivot point PP can be defined .

본 발명의 다른 실시예에 따르면, 관절(21)이 피봇점이 될 수도 있음은 물론이다. 관절(21)이 피봇점이 되는 경우 캘리브레이션을 위한 엔드부(22)의 위치 변경 시 관절(21)의 위치는 고정될 수 있고, 엔드부(22)의 위치만 변경될 수 있다. 이에 따라 관절(21)의 좌표와 엔드부(22) 내의 각 좌표들 간의 변환 행렬이 정의될 수 있다. 한편, 관절(21)과 작업부(14) 간의 변환 행렬은 사전에 로봇 장치(10) 또는 제어부(20)에서 접근 가능한 메모리에 저장되어 있을 수 있다.Of course, according to another embodiment of the invention, the joint 21 may be a pivot point. When the joint 21 becomes a pivot point, the position of the joint 21 can be fixed and only the position of the end portion 22 can be changed at the time of changing the position of the end portion 22 for calibration. The transformation matrix between the coordinates of the joint 21 and each coordinate in the end portion 22 can be defined. The transformation matrix between the joint 21 and the work unit 14 may be stored in advance in the memory accessible by the robot apparatus 10 or the control unit 20. [

도 3은 일 예에 따른 핸드-아이 캘리브레이션 과정을 설명하기 위한 도면이다.FIG. 3 is a view for explaining a hand-eye calibration process according to an example.

도 3을 참조하면, 피봇점(PP)의 위치를 고정한 상태로 피봇바(PB)를 이용하여 엔드부(22)의 위치를 피봇점(PP)을 중심으로 피봇팅하면서, 2 이상의 위치에서 비전부(13)를 이용하여 패턴(P)을 촬영할 수 있다. 예컨대 제1 위치(31)에서 제1 영상을 촬영하고, 제2 위치(32)에서 제2 영상을 촬영할 수 있다.3, while the position of the end portion 22 is pivoted about the pivot point PP using the pivot bar PB while the position of the pivot point PP is fixed, The pattern P can be photographed with the use of the unit 13. For example, the first image 31 may be photographed at the first position 31 and the second image 32 may be photographed at the second position 32.

도 4는 일 실시예에 따른 캘리브레이션 계산 과정의 일 예를 설명하기 위한 도면이다.4 is a diagram for explaining an example of a calibration calculation process according to an embodiment.

도 4를 참조하면, 엔드부(22)가 제1 위치(31)에 있을 때의 비전부(13)의 기준점의 위치(C1)와 작업부(14)의 기준점 위치(H1), 엔드부(22)가 제2 위치(32)에 있을 때의 비전부(13)의 기준점의 위치(C2)와 작업부(14)의 기준점 위치(H2)의 예가 도시되었다. 또한 고정된 피봇점의 위치(PP)가 도시되었고, 비전부(13)의 촬영 대상이 되는 패턴(P)이 도시되었다.4, the position C1 of the reference point of the ignition section 13 and the reference point position H1 of the working section 14 when the end section 22 is at the first position 31, An example of the position C2 of the reference point of the ignition section 13 and the reference point position H2 of the working section 14 when the first position 22 is in the second position 32 is shown. The position PP of the fixed pivot point is also shown, and the pattern P to be photographed by the vision unit 13 is shown.

도 4를 참조하면, 위치(C1)에서 패턴(P)을 촬영한 제1 영상과 위치(C2)에 패턴(P)을 촬영한 제2 영상으로부터, 패턴(P)의 일 위치(42)로부터 위치(C1)까지의 벡터 Bi와 패턴(P)의 기준이 되는 일 위치(42)로부터 위치(C2)까지의 벡터 Bj를 획득할 수 있다. 벡터 Bi, Bj를 획득하기 위해 논문(Zhengyou Zhang, A Flexible New Technique for Camera Calibration, Technical Report MSR-TR-98-71, Microsoft Corporation)에 개시된 방법이 사용될 수 있다. 하지만 정확도를 높이기 위해 피봇팅 방법이 적용이 되어 결과값을 계산한다. Bi와 Bj를 획득하는 방법은 이에 한정하지 않는다. 제어부(20)는, 벡터 Bi 및 Bj를 이용하여, 제1 위치(31)에서 제2 위치(32)로의 비전부(13)의 이동 벡터 B를 획득할 수 있다. 이동 벡터 B는 Bj-Bi일 수 있다. 4, from the first position of the pattern P at the position C1 and the second image of the pattern P2 at the position C2 from the first position 42 of the pattern P, The vector Bj from the one position 42 to the position C2 as the reference of the pattern Bi to the position Bi and the pattern P can be obtained. A method disclosed in Zhengyou Zhang, A Flexible New Technique for Camera Calibration, Technical Report MSR-TR-98-71, Microsoft Corporation can be used to obtain the vectors Bi and Bj. However, in order to increase the accuracy, the pivoting method is applied and the result is calculated. The method of obtaining Bi and Bj is not limited to this. The control unit 20 can obtain the motion vector B of the non-charged portion 13 from the first position 31 to the second position 32 using the vectors Bi and Bj. The motion vector B may be Bj-Bi.

도 4를 참조하면, 고정된 일 위치(41)로부터 작업부의 위치(H1)까지의 벡터 Ai와 작업부의 위치(H2)까지의 벡터 Aj를 획득할 수 있다. 일 예에 따르면, 위치(41)는 마커를 센싱하는 센서의 중심점의 위치일 수 있다. 위치(41)에 구비된 센서는 작업부(14)에 부착된 마커를 센싱하여 위치(H1, H2)를 계산할 수 있고, 제어부(20)는 위치(41)와 위치(H1, H2)로부터 벡터 Ai, Aj를 획득할 수 있다. 마커를 센싱하는 센서는 광학식 위치추적장치일 수 있다. Referring to Fig. 4, the vector Aj from the fixed position 41 to the position H1 of the working part and the position H2 of the working part can be obtained. According to one example, position 41 may be the position of the center point of the sensor sensing the marker. The sensor provided at the position 41 can calculate the positions H1 and H2 by sensing the marker attached to the working part 14 and the control part 20 calculates the position vector H1 from the position 41 and the positions H1 and H2, Ai, Aj can be obtained. The sensor sensing the marker may be an optical location tracking device.

다른 예에 따르면, 위치(41)는 바디부(11)의 고정된 위치일 수 있고, 제어부(20)가 바디부(11)와 작업부(14) 사이에 존재하는 모든 관절들의 상태값과 각 관절들 간의 연결에 관한 정보(예를 들어 관절 간 거리, 또는 관절 간 좌표 변환 행렬 등)을 이용하여 작업부(14)의 위치(H1, H2)를 계산할 수 있다. 상세히, 제어부(20)는, 엔드부(22)가 제1 위치(31)에 있을 때 바디부(11)와 작업부(14) 사이에 존재하는 모든 관절들의 상태 값을 이용하여, 작업부(14)의 위치(H1)를 계산할 수 있다. 제어부(20)는, 엔드부(22)가 제2 위치(32)에 있을 때 바디부(11)와 작업부(14) 사이에 존재하는 모든 관절들의 상태 값을 이용하여, 작업부(14)의 위치(H2)를 계산할 수 있다. Ai와 Aj를 획득하는 방법은 이에 한정하지 않는다. According to another example, the position 41 may be a fixed position of the body part 11, and the state value of all the joints existing between the body part 11 and the work part 14, The positions H1 and H2 of the working unit 14 can be calculated using information on the connection between the joints (for example, an inter-joint distance, or an inter-joint coordinate transformation matrix). More specifically, the control unit 20 controls the operation unit 14 using the state values of all the joints existing between the body unit 11 and the work unit 14 when the end unit 22 is at the first position 31 14 can be calculated. The control unit 20 controls the operation unit 14 using the state values of all the joints existing between the body unit 11 and the work unit 14 when the end unit 22 is in the second position 32. [ Can be calculated. The method of obtaining Ai and Aj is not limited to this.

제어부(20)는, 벡터 Ai 및 Aj를 이용하여, 제1 위치(31)에서 제2 위치(32)로의 작업부(14)의 이동 벡터 A를 획득할 수 있다. 이동 벡터 A는 Aj-Ai일 수 있다. The control unit 20 can obtain the motion vector A of the working unit 14 from the first position 31 to the second position 32 using the vectors Ai and Aj. The motion vector A may be Aj-Ai.

전술한 예에 따르면, 도 4에 도시된 벡터 A, B가 획득될 수 있다. 한편 도 4를 참조하면, 피봇점(PP)과 작업부(14)의 기준점(H) 간의 좌표 변환 행렬(F), 피봇점(PP)과 비전부(13)의 기준점(C)간 좌표 변환 행렬(E), 작업부(14)와 비전부(13) 간의 좌표 변환 행렬(X)이 도시되었다. 이하에서는 제어부(20)가 전술한 방법에 의해 획득된 벡터 A, B를 이용하여, 변환 행렬 X를 획득하는 방법을 설명한다.According to the above example, the vectors A and B shown in Fig. 4 can be obtained. 4, the coordinate transformation matrix F between the pivot point PP and the reference point H of the working unit 14, the coordinate transformation between the pivot point PP and the reference point C of the non- A matrix E, a coordinate transformation matrix X between the working unit 14 and the vision unit 13 is shown. Hereinafter, a method of obtaining the transformation matrix X by using the vectors A and B obtained by the above-described method will be described.

도 4를 참조하면, 다음과 같은 수학식들이 성립한다.Referring to FIG. 4, the following equations are established.

Figure 112017101112952-pat00023
Figure 112017101112952-pat00023

수학식 1의 회전(rotation) 성분과 이동(translation) 성분을 분리하여 나타내면 다음의 수학식 2, 3과 같다.The rotation component and the translation component of Equation 1 can be expressed by the following equations (2) and (3).

Figure 112017101112952-pat00024
Figure 112017101112952-pat00024

Figure 112017101112952-pat00025
Figure 112017101112952-pat00025

Figure 112017101112952-pat00026
Figure 112017101112952-pat00026

여기서,

Figure 112017101112952-pat00027
,
Figure 112017101112952-pat00028
는 A와 B의 회전 행렬이고,
Figure 112017101112952-pat00029
,
Figure 112017101112952-pat00030
는 A와 B의 이동 벡터이고,
Figure 112017101112952-pat00031
,
Figure 112017101112952-pat00032
는 X의 회전 행렬과 이동 벡터이다.here,
Figure 112017101112952-pat00027
,
Figure 112017101112952-pat00028
Is the rotation matrix of A and B,
Figure 112017101112952-pat00029
,
Figure 112017101112952-pat00030
Is the motion vector of A and B,
Figure 112017101112952-pat00031
,
Figure 112017101112952-pat00032
Is the rotation matrix of X and the motion vector.

Figure 112017101112952-pat00033
Figure 112017101112952-pat00033

수학식 4의 이동 성분을 다음의 수학식 5로 풀어서 나타낼 수 있다.The moving component of Equation (4) can be expressed by solving the following Equation (5).

Figure 112017101112952-pat00034
Figure 112017101112952-pat00034

Figure 112017101112952-pat00035
Figure 112017101112952-pat00035

Figure 112017101112952-pat00036
Figure 112017101112952-pat00036

수학식 6의 이동 성분을 다음의 수학식 7로 풀어서 나타낼 수 있다.The moving component of Equation (6) can be expressed by solving the following Equation (7).

Figure 112017101112952-pat00037
Figure 112017101112952-pat00037

Figure 112017101112952-pat00038
Figure 112017101112952-pat00038

Figure 112017101112952-pat00039
Figure 112017101112952-pat00039

여기서,

Figure 112017101112952-pat00040
는 E의 이동 벡터이고,
Figure 112017101112952-pat00041
는 F의 이동 벡터이다.here,
Figure 112017101112952-pat00040
Is the motion vector of E,
Figure 112017101112952-pat00041
Is the motion vector of F.

일 실시예에 따르면 제어부(20)는 최소제곱법(Least Square Algorithm)을 이용하여 수학식 1 내지 7으로부터

Figure 112017101112952-pat00042
,
Figure 112017101112952-pat00043
,
Figure 112017101112952-pat00044
,
Figure 112017101112952-pat00045
를 획득할 수 있다. According to an exemplary embodiment, the controller 20 may calculate the distance from Equation 1 to Equation 7 using Least Square Algorithm
Figure 112017101112952-pat00042
,
Figure 112017101112952-pat00043
,
Figure 112017101112952-pat00044
,
Figure 112017101112952-pat00045
Can be obtained.

일 예에 따르면 제어부(20)는, 수학식 2로부터

Figure 112017101112952-pat00046
를 계산하고, 계산된
Figure 112017101112952-pat00047
를 이용하여 수학식 3, 5, 7로부터
Figure 112017101112952-pat00048
,
Figure 112017101112952-pat00049
,
Figure 112017101112952-pat00050
를 계산할 수 있다. 다음으로, 계산된
Figure 112017101112952-pat00051
,
Figure 112017101112952-pat00052
,
Figure 112017101112952-pat00053
를 이용하여 수학식 2, 3, 7로부터
Figure 112017101112952-pat00054
를 다시 계산할 수 있다. 제어부(20)는 이와 같은
Figure 112017101112952-pat00055
의 계산과
Figure 112017101112952-pat00056
,
Figure 112017101112952-pat00057
,
Figure 112017101112952-pat00058
의 계산을, 계산된 값들이 임계 범위 내로 수렴할 때까지 반복할 수 있다.According to one example, the control unit 20 determines, from Equation (2)
Figure 112017101112952-pat00046
And calculates
Figure 112017101112952-pat00047
3, 5, and 7 using Equation
Figure 112017101112952-pat00048
,
Figure 112017101112952-pat00049
,
Figure 112017101112952-pat00050
Can be calculated. Next,
Figure 112017101112952-pat00051
,
Figure 112017101112952-pat00052
,
Figure 112017101112952-pat00053
(2), (3), (7) and
Figure 112017101112952-pat00054
Can be recalculated. The control unit 20 determines
Figure 112017101112952-pat00055
And
Figure 112017101112952-pat00056
,
Figure 112017101112952-pat00057
,
Figure 112017101112952-pat00058
Can be repeated until the calculated values converge within the critical range.

다음으로 제어부(20)는, 다음의 수학식 8에 따른 최적화 프로세스를 이용하여 최종적으로

Figure 112017101112952-pat00059
,
Figure 112017101112952-pat00060
,
Figure 112017101112952-pat00061
,
Figure 112017101112952-pat00062
를 계산할 수 있다.Next, the control unit 20 uses the optimization process according to the following equation (8)
Figure 112017101112952-pat00059
,
Figure 112017101112952-pat00060
,
Figure 112017101112952-pat00061
,
Figure 112017101112952-pat00062
Can be calculated.

Figure 112017101112952-pat00063
Figure 112017101112952-pat00063

한편, 도 4에 도시된 것과 같이 위치(H1, H2)는 별도의 센서로부터 센싱되거나, 관절들의 상태값과 각 관절들의 좌표 간의 변환 행렬으로부터 획득될 수 있는 값이므로, 센싱 대상이 되는 마커의 부착 위치나 계산에 이용되는 관절들의 상태값의 종류에 따라 본 발명의 실시예가 다르게 설계될 수 있다. 예를 들어, 별도의 센서로 마커를 센싱하여 마커의 위치(H1, H2)를 획득하는 경우, 관절(21)에 마커를 부착하게 되면, 도 4에 도시된 캘리브레이션 모델은 관절(21)의 기준 좌표로부터 비전부(13)의 기준 좌표로의 변환 행렬 X에 관한 모델이 될 수 있다. 이와 같이 마커의 부착 위치를 변경함에 따라 본 발명의 일 실시예에 따른 캘리브레이션 변환 행렬 X을 정의할 수 있다. 4, since the positions H1 and H2 are sensed by a separate sensor or can be obtained from the transformation matrix between the state values of the joints and the coordinates of the respective joints, the attachment of the marker to be sensed The embodiment of the present invention can be designed differently depending on the position and the kind of the state value of the joints used for the calculation. For example, when a marker is sensed with a separate sensor to acquire the positions H1 and H2 of the marker, if the marker is attached to the joint 21, the calibration model shown in FIG. Can be a model of the transformation matrix X from the coordinates to the reference coordinates of the vision unit 13. In this manner, the calibration conversion matrix X according to an embodiment of the present invention can be defined by changing the attachment position of the marker.

이와 같이, 피봇팅 조건을 부여하여 새롭게 변수를 생성하고 변수들 간의 관계를 정의함으로써 변환 행렬 X를 산출하는 경우, 변환 행렬 X의 정확도가 월등히 향상된다.In this manner, when the transformation matrix X is calculated by providing a pivoting condition to newly generate a variable and define a relationship between the variables, the accuracy of the transformation matrix X is greatly improved.

도 5는 본 발명의 일 실시예에 따른 제어부의 핸드-아이 캘리브레이션 방법의 예를 도시한 흐름도이다.5 is a flowchart illustrating an example of a hand-eye calibration method of a controller according to an embodiment of the present invention.

도 5는 도 1 내지 도 4를 참조하여 설명한 로봇 시스템에서 처리되는 시계열적 단계들을 포함하는 바, 도 1 내지 도 4를 참조하여 설명한 본 발명의 실시예들이 도 5에 도시된 흐름도에 적용될 수 있다. 따라서 이하에서 생략된 설명이라 하더라도 전술한 본 발명의 실시예들에 관한 내용이 동일하게 적용될 수 있다.5 includes time-series steps that are processed in the robotic system described with reference to Figs. 1 to 4, the embodiments of the invention described with reference to Figs. 1 to 4 can be applied to the flowchart shown in Fig. 5 . Therefore, the description of the embodiments of the present invention described above can be applied equally to the description not to be described below.

도 5를 참조하면, 단계 51에서 제어부(20)는 고정된 위치의 피봇점을 중심으로 로봇 팔의 엔드부를 피봇팅하면서, 엔드부에 구비된 비전부를 이용하여 엔드부가 제1 위치일 때 패턴을 촬영한 제1 영상 및 엔드부가 제2 위치일 때 상기 패턴을 촬영한 제2 영상을 획득한다.Referring to FIG. 5, in step 51, the controller 20 pivots the end portion of the robot arm around a pivot point at a fixed position, while using the non-transition portion provided at the end portion, And acquires a second image obtained by photographing the first image and the end portion when the end portion is at the second position.

단계 52에서 제어부(20)는 엔드부의 일 지점에 부착된 마커를 센싱하는 센서의 센싱 결과를 이용하여 제1 위치에서의 일 지점의 위치로부터 제2 위치에서의 일 지점의 위치까지의 벡터 A를 획득하고, 제1 영상 및 제2 영상을 이용하여 제1 위치에서의 비전부의 위치로부터 제2 위치에서의 비전부의 위치까지의 벡터 B를 획득한다.In step 52, the control unit 20 calculates the vector A from the position of one point at the first position to the position of one point at the second position using the sensing result of the sensor that senses the marker attached to one end of the end portion And obtains the vector B from the position of the non-current portion at the first position to the position of the non-current portion at the second position using the first image and the second image.

단계 53에서 제어부(20)는 피봇점과 비전부의 변환 행렬, 피봇점과 일 지점의 변환 행렬, 벡터 A 및 벡터 B를 이용하여, 일 지점과 상기 비전부의 변환 행렬 X를 산출한다.In step 53, the control unit 20 calculates the transformation matrix X of one point and the vision unit using the transformation matrix of the pivot point and the non-transition, the transformation matrix of the pivot point and the point, and the vector A and the vector B.

한편, 도 5에 도시된 본 발명의 일 실시예에 따른 캘리브레이션 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다. Meanwhile, the calibration method according to an embodiment of the present invention shown in FIG. 5 can be implemented as a program that can be executed by a computer and is implemented in a general-purpose digital computer that operates the program using a computer- . The computer-readable recording medium includes a storage medium such as a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical reading medium (e.g., CD ROM,

전술한 실시예들에 있어서, 제어부(20)는 로봇팔의 엔드부와 비전부 간의 변환행렬을 이용하여, 비전부에서 획득된 객체의 위치정보를 기반으로 로봇팔의 엔드부를 이용하여 액션을 취할 수 있다. 예를 들어, 비전부에서 획득된 객체의 위치정보를 변환행렬을 이용하여 로봇팔의 엔드부 좌표를 기준으로 하는 위치정보로 변환하고, 변환된 객체의 위치정보에 기초하여 엔드부가 액션을 취하도록 엔드부의 구동을 제어할 수 있다.In the embodiments described above, the control unit 20 uses the transformation matrix between the end portion and the non-transition portion of the robot arm to take an action using the end portion of the robot arm based on the position information of the object obtained at the non-transition portion . For example, the position information of the object obtained from the vision unit is converted into position information based on the end coordinates of the robot arm using the transformation matrix, and the end unit takes action based on the position information of the transformed object The driving of the end portion can be controlled.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있으며, 균등한 다른 실시 예가 가능함을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. It will be appreciated that other equivalent embodiments are possible. 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.

한편, 도5 내지 도 8에 도시된 본 발명의 일 실시예에 따른 군집 주행 제어 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.5 to 8, a method for controlling the running of a cluster according to an embodiment of the present invention may be a program that can be executed by a computer and is a general-purpose program for operating the program using a computer- And can be implemented in a digital computer. The computer-readable recording medium includes a storage medium such as a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical reading medium (e.g., CD ROM,

10: 로봇 장치
20: 제어부
P: 패턴
11: 바디부
12: 로봇 팔
13: 비전부
14: 작업부
22: 엔드부
X:핸드-아이 변환행렬
10: Robotic device
20:
P: pattern
11: Body part
12: Robot arm
13: Vision department
14:
22:
X: Hand-eye transformation matrix

Claims (9)

(A) 고정된 위치의 피봇점을 중심으로 로봇 팔의 엔드부를 피봇팅하면서, 상기 엔드부에 구비된 비전부를 이용하여 상기 엔드부가 제1 위치일 때 패턴을 촬영한 제1 영상 및 상기 엔드부가 제2 위치일 때 상기 패턴을 촬영한 제2 영상을 획득하는 단계;
(B) 상기 엔드부의 일 지점에 부착된 마커를 센싱하는 센서의 센싱 결과를 이용하여 상기 제1 위치에서의 상기 일 지점의 위치로부터 상기 제2 위치에서의 상기 일 지점의 위치까지의 벡터 A를 획득하고, 상기 제1 영상 및 상기 제2 영상을 이용하여 상기 제1 위치에서의 상기 비전부의 위치로부터 상기 제2 위치에서의 상기 비전부의 위치까지의 벡터 B를 획득하는 단계; 및
(C) 상기 피봇점과 상기 비전부의 변환 행렬, 상기 피봇점과 상기 일 지점의 변환 행렬, 상기 벡터 A 및 상기 벡터 B를 이용하여, 상기 일 지점과 상기 비전부의 변환 행렬 X를 산출하는 단계;를 포함하고,
상기 (C) 단계는 다음의 수학식을 이용하고,
Figure 112018115231983-pat00091

(E는 피봇점과 상기 비전부의 변환 행렬, F는 피봇점과 상기 일 지점의 변환 행렬)
또한, 상기 (C) 단계는 수학식
Figure 112018115231983-pat00092

의 이동 성분인 다음의 수학식을 이용하는, 핸드-아이 캘리브레이션 방법.
Figure 112018115231983-pat00093

Figure 112018115231983-pat00094

Figure 112018115231983-pat00095

여기서,
Figure 112018115231983-pat00096
,
Figure 112018115231983-pat00097
는 A와 B의 회전 행렬이고,
Figure 112018115231983-pat00098
,
Figure 112018115231983-pat00099
는 A와 B의 이동 벡터이고,
Figure 112018115231983-pat00100
,
Figure 112018115231983-pat00101
는 X의 회전 행렬과 이동 벡터이고,
Figure 112018115231983-pat00102
는 E의 이동 벡터이고,
Figure 112018115231983-pat00103
는 F의 이동 벡터이다.
(A) a first image obtained by pivoting an end portion of a robot arm about a pivot point of a fixed position while using a vision portion provided at the end portion to photograph a pattern when the end portion is at a first position, Obtaining a second image of the pattern when the second position is obtained;
(B) calculating a vector A from a position of the one point at the first position to a position of the one point at the second position using a sensing result of a sensor that senses a marker attached to one end of the end portion Acquiring a vector B from the position of the vision unit at the first position to the position of the vision unit at the second position using the first image and the second image; And
(C) calculating the transformation matrix X of the one point and the non-transition portion using the transformation matrix of the pivot point and the non-transition portion, the transformation matrix of the pivot point and the one point, the vector A, and the vector B; Lt; / RTI >
The step (C) uses the following equation,
Figure 112018115231983-pat00091

(E is the pivot point and the transformation matrix of the non-transition portion, F is the transformation matrix of the pivot point and the one point)
Further, the step (C)
Figure 112018115231983-pat00092

Using the following equation, which is the moving component of the hand-eye calibration equation.
Figure 112018115231983-pat00093

Figure 112018115231983-pat00094

Figure 112018115231983-pat00095

here,
Figure 112018115231983-pat00096
,
Figure 112018115231983-pat00097
Is the rotation matrix of A and B,
Figure 112018115231983-pat00098
,
Figure 112018115231983-pat00099
Is the motion vector of A and B,
Figure 112018115231983-pat00100
,
Figure 112018115231983-pat00101
Is the rotation matrix of X and the motion vector,
Figure 112018115231983-pat00102
Is the motion vector of E,
Figure 112018115231983-pat00103
Is the motion vector of F.
제1 항에 있어서,
상기 (C) 단계는 상기 피봇점과 상기 비전부의 변환 행렬, 상기 피봇점과 상기 일 지점의 변환 행렬, 상기 벡터 A 및 상기 벡터 B 간의 방정식을 회전 성분과 이동 성분으로 분리하고, 상기 이동 성분을 이용하여 상기 변환 행렬 X를 산출하는,
핸드-아이 캘리브레이션 방법.
The method according to claim 1,
(C) separating an equation between the pivot point and the vision unit, a transformation matrix of the pivot point and the one point, the equation between the vector A and the vector B into a rotation component and a movement component, To calculate the transformation matrix X,
Hand-eye calibration method.
삭제delete 제3 항에 있어서,
상기 (C) 단계는 수학식
Figure 112017101112952-pat00065

의 이동 성분인 다음의 수학식을 이용하는, 핸드-아이 캘리브레이션 방법.
Figure 112017101112952-pat00066

Figure 112017101112952-pat00067

여기서,
Figure 112017101112952-pat00068
,
Figure 112017101112952-pat00069
는 A와 B의 회전 행렬이고,
Figure 112017101112952-pat00070
,
Figure 112017101112952-pat00071
는 A와 B의 이동 벡터이고,
Figure 112017101112952-pat00072
,
Figure 112017101112952-pat00073
는 X의 회전 행렬과 이동 벡터이다.
The method of claim 3,
The step (C)
Figure 112017101112952-pat00065

Using the following equation, which is the moving component of the hand-eye calibration equation.
Figure 112017101112952-pat00066

Figure 112017101112952-pat00067

here,
Figure 112017101112952-pat00068
,
Figure 112017101112952-pat00069
Is the rotation matrix of A and B,
Figure 112017101112952-pat00070
,
Figure 112017101112952-pat00071
Is the motion vector of A and B,
Figure 112017101112952-pat00072
,
Figure 112017101112952-pat00073
Is the rotation matrix of X and the motion vector.
삭제delete 제1 항에 있어서,
상기 (C) 단계는 최소제곱법(Least Square Algorithm)을 이용하여 상기 변환 행렬 X를 산출하는,
핸드-아이 캘리브레이션 방법.
The method according to claim 1,
In the step (C), the transformation matrix X is calculated using Least Square Algorithm,
Hand-eye calibration method.
제1 항에 있어서,
상기 일 지점은, 상기 엔드부에 구비된 작업부의 구동 기준이 되는 지점인,
핸드-아이 캘리브레이션 방법.
The method according to claim 1,
Wherein the one point is a point at which the working unit of the end unit is driven,
Hand-eye calibration method.
고정된 위치의 피봇점을 중심으로 피봇팅되는 엔드부를 포함하는 로봇 장치; 및
로봇 팔의 엔드부를 피봇팅하면서, 상기 엔드부에 구비된 비전부를 이용하여 상기 엔드부가 제1 위치일 때 패턴을 촬영한 제1 영상 및 상기 엔드부가 제2 위치일 때 상기 패턴을 촬영한 제2 영상을 획득하고, 상기 엔드부의 일 지점에 부착된 마커를 센싱하는 센서의 센싱 결과를 이용하여 상기 제1 위치에서의 상기 일 지점의 위치로부터 상기 제2 위치에서의 상기 일 지점의 위치까지의 벡터 A를 획득하고, 상기 제1 영상 및 상기 제2 영상을 이용하여 상기 제1 위치에서의 상기 비전부의 위치로부터 상기 제2 위치에서의 상기 비전부의 위치까지의 벡터 B를 획득하고, 상기 피봇점과 상기 비전부의 변환 행렬, 상기 피봇점과 상기 일 지점의 변환 행렬, 상기 벡터 A 및 상기 벡터 B를 이용하여, 상기 일 지점과 상기 비전부의 변환 행렬 X를 산출하는 제어부;를 포함하고,
상기 제어부는 다음의 수학식을 이용하고,
Figure 112019502038855-pat00104

(E는 피봇점과 상기 비전부의 변환 행렬, F는 피봇점과 상기 일 지점의 변환 행렬)
또한, 제어부는 수학식
Figure 112019502038855-pat00105

의 이동 성분인 다음의 수학식을 이용하는, 로봇 시스템.
Figure 112019502038855-pat00106

Figure 112019502038855-pat00107

Figure 112019502038855-pat00108

여기서,
Figure 112019502038855-pat00109
,
Figure 112019502038855-pat00110
는 A와 B의 회전 행렬이고,
Figure 112019502038855-pat00111
,
Figure 112019502038855-pat00112
는 A와 B의 이동 벡터이고,
Figure 112019502038855-pat00113
,
Figure 112019502038855-pat00114
는 X의 회전 행렬과 이동 벡터이고,
Figure 112019502038855-pat00115
는 E의 이동 벡터이고,
Figure 112019502038855-pat00116
는 F의 이동 벡터이다.
A robot device including an end portion pivoted about a pivot point of a fixed position; And
A first image obtained by photographing a pattern when the end portion is in a first position and a second image obtained when the end portion is in a second position by using a vision portion provided in the end portion while pivoting the end portion of the robot arm; And a sensor for sensing a marker attached to one end of the end portion, wherein a vector from a position of the one point at the first position to a position of the one point at the second position is used, Obtaining a vector B from the position of the vision unit at the first position to the position of the vision unit at the second position using the first image and the second image, A control unit for calculating the conversion matrix X of the one point and the non-transfer unit using the conversion matrix of the non-transfer unit, the conversion matrix of the pivot point and the one point, the vector A and the vector B And also,
The control unit uses the following equation,
Figure 112019502038855-pat00104

(E is the pivot point and the transformation matrix of the non-transition portion, F is the transformation matrix of the pivot point and the one point)
In addition,
Figure 112019502038855-pat00105

Using the following equation, which is a moving component of the robot system.
Figure 112019502038855-pat00106

Figure 112019502038855-pat00107

Figure 112019502038855-pat00108

here,
Figure 112019502038855-pat00109
,
Figure 112019502038855-pat00110
Is the rotation matrix of A and B,
Figure 112019502038855-pat00111
,
Figure 112019502038855-pat00112
Is the motion vector of A and B,
Figure 112019502038855-pat00113
,
Figure 112019502038855-pat00114
Is the rotation matrix of X and the motion vector,
Figure 112019502038855-pat00115
Is the motion vector of E,
Figure 112019502038855-pat00116
Is the motion vector of F.
컴퓨터를 이용하여 제1 항, 제2 항, 제4 항, 제6 항 및 제7 항 중 어느 한 항의 방법을 실행하기 위하여 기록 매체에 저장된 컴퓨터 프로그램. A computer program stored on a recording medium for carrying out the method of any one of claims 1, 2, 4, 6 and 7 using a computer.
KR1020170133480A 2017-10-13 2017-10-13 Method of hand-eye calibration, computer program for executing the method, and robot system. KR101964332B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170133480A KR101964332B1 (en) 2017-10-13 2017-10-13 Method of hand-eye calibration, computer program for executing the method, and robot system.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170133480A KR101964332B1 (en) 2017-10-13 2017-10-13 Method of hand-eye calibration, computer program for executing the method, and robot system.

Publications (1)

Publication Number Publication Date
KR101964332B1 true KR101964332B1 (en) 2019-07-31

Family

ID=67474028

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170133480A KR101964332B1 (en) 2017-10-13 2017-10-13 Method of hand-eye calibration, computer program for executing the method, and robot system.

Country Status (1)

Country Link
KR (1) KR101964332B1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111152223A (en) * 2020-01-09 2020-05-15 埃夫特智能装备股份有限公司 Full-automatic robot hand-eye calibration method
CN111823230A (en) * 2020-06-19 2020-10-27 山东科技大学 Non-fixed hand-eye relationship calibration method based on Scara robot
WO2021096320A1 (en) * 2019-11-15 2021-05-20 주식회사 씨메스 Method and apparatus for calibrating position of robot using 3d scanner
KR20210064041A (en) * 2019-11-25 2021-06-02 재단법인대구경북과학기술원 Robot system and calibration method of the same
CN113021328A (en) * 2019-12-09 2021-06-25 广东博智林机器人有限公司 Hand-eye calibration method, device, equipment and medium
CN113232015A (en) * 2020-05-27 2021-08-10 杭州中为光电技术有限公司 Robot space positioning and grabbing control method based on template matching
CN113442169A (en) * 2021-06-16 2021-09-28 武汉联影智融医疗科技有限公司 Method and device for calibrating hands and eyes of robot, computer equipment and readable storage medium
CN114147727A (en) * 2022-02-07 2022-03-08 杭州灵西机器人智能科技有限公司 Method, device and system for correcting pose of robot
CN114227700A (en) * 2022-02-23 2022-03-25 杭州灵西机器人智能科技有限公司 Hand-eye calibration method and system for robot
WO2022160787A1 (en) * 2021-01-26 2022-08-04 深圳市优必选科技股份有限公司 Robot hand-eye calibration method and apparatus, readable storage medium, and robot
CN114905509A (en) * 2022-04-28 2022-08-16 伯朗特机器人股份有限公司 Hand-eye calibration method, robot system and storage medium
CN116852382A (en) * 2023-09-04 2023-10-10 青岛理工大学 System and method for quickly adjusting tail end gesture of shaft hole assembly robot
KR20240015415A (en) * 2022-07-27 2024-02-05 재단법인대구경북과학기술원 Method and apparatus for image guided surgery
US12145279B2 (en) 2019-11-15 2024-11-19 Cmes Inc. Method and apparatus for calibrating position of robot using 3D scanner

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016052695A (en) * 2014-09-03 2016-04-14 キヤノン株式会社 Robot device and control method of robot device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016052695A (en) * 2014-09-03 2016-04-14 キヤノン株式会社 Robot device and control method of robot device

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021096320A1 (en) * 2019-11-15 2021-05-20 주식회사 씨메스 Method and apparatus for calibrating position of robot using 3d scanner
US12145279B2 (en) 2019-11-15 2024-11-19 Cmes Inc. Method and apparatus for calibrating position of robot using 3D scanner
KR102400965B1 (en) * 2019-11-25 2022-05-25 재단법인대구경북과학기술원 Robot system and calibration method of the same
KR20210064041A (en) * 2019-11-25 2021-06-02 재단법인대구경북과학기술원 Robot system and calibration method of the same
CN113021328A (en) * 2019-12-09 2021-06-25 广东博智林机器人有限公司 Hand-eye calibration method, device, equipment and medium
CN111152223A (en) * 2020-01-09 2020-05-15 埃夫特智能装备股份有限公司 Full-automatic robot hand-eye calibration method
CN113232015A (en) * 2020-05-27 2021-08-10 杭州中为光电技术有限公司 Robot space positioning and grabbing control method based on template matching
CN111823230A (en) * 2020-06-19 2020-10-27 山东科技大学 Non-fixed hand-eye relationship calibration method based on Scara robot
CN111823230B (en) * 2020-06-19 2022-01-07 山东科技大学 Non-fixed hand-eye relationship calibration method based on Scara robot
WO2022160787A1 (en) * 2021-01-26 2022-08-04 深圳市优必选科技股份有限公司 Robot hand-eye calibration method and apparatus, readable storage medium, and robot
CN113442169A (en) * 2021-06-16 2021-09-28 武汉联影智融医疗科技有限公司 Method and device for calibrating hands and eyes of robot, computer equipment and readable storage medium
CN114147727B (en) * 2022-02-07 2022-05-20 杭州灵西机器人智能科技有限公司 Method, device and system for correcting pose of robot
CN114147727A (en) * 2022-02-07 2022-03-08 杭州灵西机器人智能科技有限公司 Method, device and system for correcting pose of robot
CN114227700B (en) * 2022-02-23 2022-05-20 杭州灵西机器人智能科技有限公司 Hand-eye calibration method and system for robot
CN114227700A (en) * 2022-02-23 2022-03-25 杭州灵西机器人智能科技有限公司 Hand-eye calibration method and system for robot
CN114905509A (en) * 2022-04-28 2022-08-16 伯朗特机器人股份有限公司 Hand-eye calibration method, robot system and storage medium
CN114905509B (en) * 2022-04-28 2023-09-26 伯朗特机器人股份有限公司 Hand-eye calibration method, robot system and storage medium
KR20240015415A (en) * 2022-07-27 2024-02-05 재단법인대구경북과학기술원 Method and apparatus for image guided surgery
KR102708210B1 (en) 2022-07-27 2024-09-19 재단법인대구경북과학기술원 Method and apparatus for image guided surgery
CN116852382A (en) * 2023-09-04 2023-10-10 青岛理工大学 System and method for quickly adjusting tail end gesture of shaft hole assembly robot

Similar Documents

Publication Publication Date Title
KR101964332B1 (en) Method of hand-eye calibration, computer program for executing the method, and robot system.
EP3753685B1 (en) Control system and control method
JP5949242B2 (en) Robot system, robot, robot control apparatus, robot control method, and robot control program
US9616569B2 (en) Method for calibrating an articulated end effector employing a remote digital camera
CN111604942B (en) Object detection device, control device, and object detection computer program
JP7111114B2 (en) Information processing device, information processing method, and information processing system
WO2022012337A1 (en) Moving arm system and control method
Richter et al. Augmented reality predictive displays to help mitigate the effects of delayed telesurgery
JP2019014030A (en) Control device for robot, robot, robot system, and calibration method for camera
US9905016B2 (en) Robot identification system
Seo et al. A comparative study of in-field motion capture approaches for body kinematics measurement in construction
CN113172659B (en) Flexible robot arm shape measuring method and system based on equivalent center point identification
CN116766194A (en) Binocular vision-based disc workpiece positioning and grabbing system and method
JP2015005093A (en) Pattern matching device and pattern matching method
KR20130075712A (en) A laser-vision sensor and calibration method thereof
CN113070877B (en) Variable attitude mapping method for seven-axis mechanical arm visual teaching
CN107993227B (en) Method and device for acquiring hand-eye matrix of 3D laparoscope
JP7376318B2 (en) annotation device
JP2014144516A (en) Robot control device, robot system, robot, control method and program
CN118139729A (en) Calibration method for automatically calibrating a camera of a medical robot and surgical assistance system
CN113876433A (en) Robot system and control method
JP2021174089A (en) Information processing device, information processing system, information processing method and program
CN111113394A (en) Manipulator positioning method
WO2024147195A1 (en) Operating device, information processing device, information processing system, information processing method, and information processing program
WO2022209578A1 (en) Robot control system and control device