KR20230116502A - Device and method for robot calibration - Google Patents
Device and method for robot calibration Download PDFInfo
- Publication number
- KR20230116502A KR20230116502A KR1020220013517A KR20220013517A KR20230116502A KR 20230116502 A KR20230116502 A KR 20230116502A KR 1020220013517 A KR1020220013517 A KR 1020220013517A KR 20220013517 A KR20220013517 A KR 20220013517A KR 20230116502 A KR20230116502 A KR 20230116502A
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- coordinate system
- posture
- transformation matrix
- tool
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J15/00—Gripping heads and other end effectors
- B25J15/0019—End effectors other than grippers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
일 실시예에 따른 로봇 캘리브레이션 방법은 제1 로봇의 자세를 고정시킨 상태에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 제1 로봇의 위치 및 제2 로봇의 자세를 반복하여 변경시킴으로써 획득한 데이터를 기초로 제1 로봇 도구 좌표계와 제2 로봇 기본 좌표계 사이의 회전 변환 행렬을 산출하는 단계; 제1 로봇의 자세를 변경시킨 상태에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 제1 로봇의 위치 및 제2 로봇의 자세를 반복하여 변경시킴으로써 획득한 데이터를 기초로 제1 로봇 도구 좌표계를 기준으로 제2 로봇 기본 좌표계의 위치 데이터를 산출하는 단계; 및 회전 변환 행렬 및 위치 데이터에 기초하여 제1 로봇의 도구 좌표계와 제2 로봇의 기본 좌표계 사이의 변환 행렬을 결정하는 단계를 포함할 수 있다.The robot calibration method according to an embodiment is obtained by repeatedly changing the position of the first robot and the posture of the second robot so that the center of the robot tool is repeatedly located at a predetermined point in a state in which the posture of the first robot is fixed. Calculating a rotation transformation matrix between the first robot tool coordinate system and the second robot basic coordinate system based on the data; In a state where the posture of the first robot is changed, the first robot tool based on data obtained by repeatedly changing the position of the first robot and the posture of the second robot so that the center of the robot tool is repeatedly located at a predetermined point. Calculating positional data of a second robot basic coordinate system based on the coordinate system; and determining a transformation matrix between the tool coordinate system of the first robot and the basic coordinate system of the second robot based on the rotation transformation matrix and the position data.
Description
본 발명의 다양한 실시예들은 로봇 캘리브레이션 방법 및 장치에 관한 것이다. Various embodiments of the present invention relate to a robot calibration method and apparatus.
최근 산업 현장에서 생산성 향상, 인력 감소, 품질 향상 등을 위해 로봇을 산업 현장에서 많이 사용하고 있고, 그 확산 속도는 점점 빨라지고 있다. 특히 산업 현장에서 공정이 복잡해지고 다양해짐에 따라 자유도가 높은 도구(tool)를 필요로 할 수 있다. 따라서, 로봇(또는 장비)을 로봇의 도구 대신에 부착하여 사용할 수도 있다. 하지만 로봇의 자유도가 높아짐에 따라 로봇 사용 시 누적되는 오차가 많아질 수 있다. 누적되는 오차가 높아질수록 높은 로봇의 정밀도를 확보하기 어려울 수 있다. 로봇의 정밀도에는 반복 정밀도 및/또는 절대 정밀도가 있을 수 있다. 로봇 또는 도구를 만들거나 부착하는 과정에서 생기는 가공 오차 또는 조립 오차는 로봇의 절대 정밀도를 낮출 수 있다. 이를 해결하기 위해서는 로봇의 캘리브레이션(calibration) 과정이 필요할 수 있다. 로봇을 생산할 때 뿐만 아니라 지속적으로 높은 절대 정밀도를 유지하기 위해서는 생산 라인에서도 수행할 수 있는 캘리브레이션 기술이 필요할 수 있다. In recent years, robots have been widely used in industrial sites to improve productivity, reduce manpower, and improve quality, and the rate of their spread is accelerating. In particular, as the process becomes more complex and diverse in the industrial field, a tool with a high degree of freedom may be required. Therefore, the robot (or equipment) may be attached and used instead of a tool of the robot. However, as the degree of freedom of the robot increases, accumulated errors may increase when using the robot. As the accumulated error increases, it may be difficult to secure high robot precision. A robot's precision may include repeatability and/or absolute precision. Machining errors or assembly errors occurring in the process of making or attaching robots or tools can lower the absolute precision of robots. To solve this problem, a robot calibration process may be required. Calibration technology that can be performed not only when producing robots but also on the production line may be required to maintain consistently high absolute precision.
로봇의 끝단에 자유도가 높은 장치(예를 들어, 툴, 로봇, 장비 등)를 부착한 경우, 일반적으로 좌표계가 일치한다고 가정하지만 자유도가 높은 장치의 부착 과정에서 오차가 생길 수 있다. When a device with a high degree of freedom (for example, a tool, robot, equipment, etc.) is attached to the end of the robot, it is generally assumed that the coordinate system is consistent, but an error may occur during the attachment process of the device with a high degree of freedom.
다양한 실시예들에 따르면, 로봇 끝단에 자유도가 높은 장치를 부착하는 경우, 로봇 캘리브레이션을 통해 발생하는 오차를 보정할 수 있다.According to various embodiments, when a device having a high degree of freedom is attached to a robot end, an error occurring through robot calibration may be corrected.
다양한 실시예들에 따르면, 제1 로봇의 도구 좌표계와 제2 로봇의 기본 좌표계 사이를 캘리브레이션 함으로써, 발생하는 오차를 보정할 수 있다.According to various embodiments, errors occurring may be corrected by calibrating between the tool coordinate system of the first robot and the basic coordinate system of the second robot.
일 실시예에 따르면, 로봇 캘리브레이션 방법은 제1 로봇의 자세를 고정시킨 상태에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 제1 로봇의 위치 및 제2 로봇의 자세를 반복하여 변경시킴으로써 획득한 데이터를 기초로 제1 로봇 도구 좌표계와 제2 로봇 기본 좌표계 사이의 회전 변환 행렬을 산출하는 단계; 제1 로봇의 자세를 변경시킨 상태에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 제1 로봇의 위치 및 제2 로봇의 자세를 반복하여 변경시킴으로써 획득한 데이터를 기초로 제1 로봇 도구 좌표계를 기준으로 제2 로봇 기본 좌표계의 위치 데이터를 산출하는 단계; 및 회전 변환 행렬 및 상기 위치 데이터에 기초하여 제1 로봇의 도구 좌표계와 제2 로봇의 기본 좌표계 사이의 변환 행렬을 결정하는 단계를 포함할 수 있다.According to an embodiment, the robot calibration method is to repeatedly change the position of the first robot and the posture of the second robot so that the center of the robot tool is repeatedly located at a predetermined point in a state in which the posture of the first robot is fixed. Calculating a rotation transformation matrix between the first robot tool coordinate system and the second robot basic coordinate system based on the acquired data; In a state where the posture of the first robot is changed, the first robot tool based on data obtained by repeatedly changing the position of the first robot and the posture of the second robot so that the center of the robot tool is repeatedly located at a predetermined point. Calculating positional data of a second robot basic coordinate system based on the coordinate system; and determining a transformation matrix between the tool coordinate system of the first robot and the basic coordinate system of the second robot based on the rotation transformation matrix and the position data.
다른 일 실시예에 따르면, 로봇 캘리브레이션을 수행하기 위한 제어 장치는 제1 로봇의 자세를 고정시킨 상태에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 제1 로봇의 위치 및 제2 로봇의 자세를 반복하여 변경시킴으로써 획득한 데이터를 기초로 제1 로봇 도구 좌표계와 제2 로봇 기본 좌표계 사이의 회전 변환 행렬을 산출하고, 제1 로봇의 자세를 변경시킨 상태에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 제1 로봇의 위치 및 제2 로봇의 자세를 반복하여 변경시킴으로써 획득한 데이터를 기초로 제1 로봇 도구 좌표계를 기준으로 제2 로봇 기본 좌표계의 위치 데이터를 산출하고, 그리고 회전 변환 행렬 및 위치 데이터에 기초하여 제1 로봇의 도구 좌표계와 제2 로봇의 기본 좌표계 사이의 변환 행렬을 결정할 수 있다.According to another embodiment, the control device for performing the robot calibration is in a state where the posture of the first robot is fixed, the position of the first robot and the position of the second robot so that the center of the robot tool is repeatedly located at a predetermined point Based on the data obtained by repeatedly changing the posture, a rotation transformation matrix between the first robot tool coordinate system and the second robot basic coordinate system is calculated, and the robot repeatedly moves to a predetermined point while the posture of the first robot is changed. Based on the data obtained by repeatedly changing the position of the first robot and the posture of the second robot so that the center of the tool is located, position data of the second robot basic coordinate system is calculated based on the first robot tool coordinate system, and rotation is performed. A transformation matrix between the tool coordinate system of the first robot and the basic coordinate system of the second robot may be determined based on the transformation matrix and the position data.
일 실시예에 따르면, 로봇 캘리브레이션 방법은 로봇 끝단에 자유도가 높은 장치(예를 들어, 도구, 로봇, 장비 등) 부착 시 발생하는 오차를 보정함으로써 생산 라인에서도 로봇의 절대 위치 정밀도(absolute pose accuracy)를 유지할 수 있다.According to an embodiment, the robot calibration method corrects an error that occurs when a device with a high degree of freedom (eg, a tool, robot, equipment, etc.) is attached to the end of the robot, thereby improving absolute pose accuracy of the robot even on a production line. can keep
일 실시예에 따르면, 로봇 캘리브레이션 방법은 로봇 끝단 좌표계와 로봇의 끝단에 부착된 장치의 기본 좌표계 간의 캘리브레이션을 수행할 수 있다.According to one embodiment, the robot calibration method may perform calibration between the robot end coordinate system and the basic coordinate system of a device attached to the robot end.
일 실시예에 따르면, 로봇 캘리브레이션 방법은 로봇의 끝단에 부착된 장치의 자유도를 이용하여 좌표계 간의 상대 회전 행렬을 먼저 계산하므로 로봇의 끝단에 부착된 장치의 자세가 변화하더라도 캘리브레이션을 수행할 수 있다.According to an embodiment, the robot calibration method first calculates a relative rotation matrix between coordinate systems using the degree of freedom of a device attached to the end of the robot, so that calibration can be performed even if the posture of the device attached to the end of the robot changes.
일 실시예에 따르면, 로봇 캘리브레이션 방법은 기계 가공 시 가공 위치 보정을 해주는 보조용 기구인 지그(Jig)만을 사용하여, 캘리브레이션을 수행할 수 있다.According to an embodiment, the robot calibration method may perform calibration using only a jig, which is an auxiliary tool for correcting a machining position during machining.
도 1은 일 실시예들에 따른 로봇 캘리브레이션 방법을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 로봇 도구의 중심 및 사전 결정된 지점을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 로봇 캘리브레이션 과정을 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 좌표계 간의 변환 관계를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 변환 행렬 간의 관계식을 설명하기 위한 도면이다.1 is a diagram for explaining a robot calibration method according to an exemplary embodiment.
2 is a diagram for explaining a center and a predetermined point of a robot tool according to an embodiment.
3 is a flowchart for explaining a robot calibration process according to an embodiment.
4 is a diagram for explaining a transformation relationship between coordinate systems according to an exemplary embodiment.
5 is a diagram for explaining a relational expression between transformation matrices according to an exemplary embodiment.
본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실제로 구현된 형태는 다양한 다른 모습을 가질 수 있으며 본 명세서에 설명된 실시예로만 한정되지 않는다. Specific structural or functional descriptions disclosed in this specification are merely exemplified for the purpose of describing embodiments according to technical concepts, and actual implemented forms may have various other appearances and are limited only to the embodiments described in this specification. It doesn't work.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but these terms should only be understood for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may also be termed a first element.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~간의"와 "바로~간의" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is 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, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle. Expressions describing the relationship between components, such as "between" and "directly between" or "adjacent to" and "directly adjacent to", etc., should be interpreted similarly.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to indicate that there is an embodied feature, number, step, operation, component, part, or combination thereof, but one or more other features or numbers However, it should be understood that it does not preclude the presence or addition of steps, operations, components, parts, 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. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in this specification, it should not be interpreted in an ideal or excessively formal meaning. don't
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Like reference numerals in each figure indicate like elements.
도 1은 일 실시예들에 따른 로봇 캘리브레이션 방법을 설명하기 위한 도면이다.1 is a diagram for explaining a robot calibration method according to an exemplary embodiment.
도 1에서는 제1 로봇(110), 제1 좌표계(111), 제2 좌표계(113), 제2 로봇(130), 제3 좌표계(131), 제4 좌표계(133), 제2 로봇의 도구(150), 사전 결정된 지점(170) 및 제어 장치(190)가 도시되어 있다.In Figure 1, the first robot 110, the
일 실시예에 따른 로봇 캘리브레이션은 반복 가능성이 높지만 정확하지 않은 로봇의 정확도를 개선하는데 사용될 수 있는 프로세스를 포함할 수 있다.Robot calibration according to one embodiment may include a highly repeatable but inaccurate process that may be used to improve the accuracy of a robot.
일 실시예에 따른 제어 장치(190)는 로봇을 제어하기 위한 장치를 포함할 수 있다. 일 실시예에 따른 제어 장치(190)는 복수의 로봇들을 제어할 수 있다. 일 실시예에 따른 제어 장치(190)는 제1 로봇(110) 및/또는 제2 로봇(130)을 제어할 수 있다.The
일 실시예에 따른 로봇(예를 들어, 로봇암)은 적어도 하나의 로봇을 포함할 수 있다. 일 실시예에 따른 로봇은 2개의 로봇을 포함할 수 있다. 일 실시예에 따른 로봇은 제1 로봇(110) 및 제2 로봇(130)을 포함할 수 있다. 일 실시예에 따른 제1 로봇(110)과 제2 로봇(130) 서로 연결된 로봇일 수 있다. 일 실시예에 따른 제1 로봇(110)은 로봇의 지지대에 부착된 로봇을 포함할 수 있다. 일 실시예에 따른 제2 로봇(130)은 제1 로봇(110)의 도구 부분에 부착된 로봇을 포함할 수 있다. A robot (eg, a robot arm) according to an embodiment may include at least one robot. A robot according to an embodiment may include two robots. A robot according to an embodiment may include a first robot 110 and a
다른 일 실시예에 따른 로봇은 3개 이상의 로봇을 포함할 수도 있다. 일 실시예에 따른 제1 로봇(110)은 로봇의 지지대에 부착된 로봇을 포함할 수 있다. 일 실시예에 따른 제2 로봇(130)은 제1 로봇(110)의 도구 부분에 부착된 로봇을 포함할 수 있다. 그리고 제2 로봇(130)의 도구 부분에는 다른 로봇이 부착될 수도 있다. 다른 일 실시예에 따른 로봇의 지지대에 부착된 로봇의 도구에 제1 로봇(110)이 부착될 수 있다. 일 실시예에 따른 제2 로봇(130)은 제1 로봇(110)의 도구 부분에 부착된 로봇을 포함할 수 있다. 일 실시예에 따른 제2 로봇(130)의 도구 부분에는 다른 로봇이 부착될 수도 있다.A robot according to another embodiment may include three or more robots. The first robot 110 according to an embodiment may include a robot attached to a support of the robot. The
일 실시예에 따른 제1 좌표계(111)는 제1 로봇(110)의 기본 좌표계를 포함할 수 있다. 일 실시예에 따른 기본 좌표계는 로봇의 몸통이 기준인 좌표계를 포함할 수 있다. 일 실시예에 따른 기준점 (0, 0, 0)의 위치는 로봇의 하단 베이스에 위치할 수 있다. 일 실시예에 따른 기준점은 하나의 축과 베이스가 만나는 점을 포함할 수 있다. 일 실시예에 따른 기본 좌표계는 기준점을 기준으로 로봇의 일 방향이 +X 방향인 경우, +Y 방향은 + X방향의 반시계 방향으로 90도 회전한 방향이 +Y방향이 될 수 있다. +Z방향은 기준점의 수직 위쪽 방향이 될 수 있다. 전술한 기본 좌표계는 예시일 뿐 본 개시는 이에 제한되지 않는다.The
일 실시예에 따른 제2 좌표계(113)는 제1 로봇(110)의 도구 좌표계를 포함할 수 있다. 일 실시예에 따른 도구 좌표계는 좌표 기준점이 도구의 중심(예를 들어, TCP(tool center point))이 되는 좌표계를 포함할 수 있다. 일 실시예에 따른 로봇의 도구에는 다른 장치(예를 들어, 로봇, 또는 도구)가 장착될 수 있다.The second coordinate
일 실시예에 따른 제3 좌표계(131)는 제2 로봇(130)의 기본 좌표계를 포함할 수 있다. 일 실시예에 따른 제3 좌표계(131)의 기준점은 제2 로봇(130)의 하단 베이스에 위치할 수 있다. 일 실시예에 따른 제2 좌표계(113)와 제3 좌표계(131)의 기준점은 같을 수도 있고 다를 수도 있다.The third coordinate
일 실시예에 따른 제4 좌표계(133)는 제2 로봇(130)의 도구 좌표계를 포함할 수 있다. 일 실시예에 따른 제4 좌표계(133)의 기준점은 제2 로봇(130) 도구의 중심점이 될 수 있다. The fourth coordinate
일 실시예에 따른 제어 장치(190)는 로봇 캘리브레이션을 수행할 수 있다. 일 실시예에 따른 제어 장치(190)는 제2 좌표계(113)와 제3 좌표계(131) 사이의 변환 행렬을 결정하기 위하여 이하의 동작들을 수행할 수 있다. 일 실시예에 따른 제어 장치(190)는 제2 좌표계(113)와 제3 좌표계(131) 사이의 변환 행렬을 결정함으로써, 정확한 제2 로봇 도구의 위치를 파악할 수 있으며, 로봇의 정밀도가 상승될 수 있다. 따라서, 제2 좌표계(113)와 제3 좌표계(131)가 일치하지 않더라도, 제어 장치(190)는 변환 행렬을 이용하여 로봇 캘리브레이션을 수행할 수 있다.The
일 실시예에 따른 제어 장치(190)는 제1 로봇(110)의 자세를 고정시킨 상태에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 제1 로봇(110)의 위치(position) 및 제2 로봇(130)의 자세(orientation)를 반복하여 변경할 수 있다. 일 실시예에 따른 사전 결정된 지점은 로봇 캘리브레이션을 수행하기 위하여 임의로 지정된 지점을 포함할 수 있다. 예를 들어, 사전 결정된 지점은 지그를 포함할 수 있다. 일 실시예에 따른 로봇은 로봇의 자세를 변경하면서 사전 결정된 지점에 반복하여 로봇 도구의 중심이 위치하도록 동작할 수 있다. 로봇이 반복하여 사전 결정된 지점에 로봇 도구의 중심이 위치하도록 동작함으로써, 제어 장치(190)는 변환 행렬을 결정하기 위하여 필요한 데이터들을 수집할 수 있다. The
일 실시예에 따른 로봇은 6자유도를 가질 수도 있다. 일 실시예에 따른 로봇의 6 자유도는 로봇의 위치 및 로봇의 자세를 추종할 수 있는 로봇을 설계하기 위한 자유도를 포함할 수 있다. 일 실시예에 따른 로봇의 6 자유도는 3차원 공간에 있는 임의 물체의 위치 및 자세를 결정하기 위한 자유도를 포함할 수 있다. 예를 들어, 로봇의 6자유도는 로봇의 위치에 대응하는 3개의 변수 및 로봇의 자세에 대응하는 3개 변수를 포함할 수 있다. A robot according to an embodiment may have 6 degrees of freedom. Six degrees of freedom of the robot according to an embodiment may include degrees of freedom for designing a robot capable of following the position and posture of the robot. Six degrees of freedom of the robot according to an embodiment may include degrees of freedom for determining the position and posture of an arbitrary object in a 3D space. For example, the 6 degrees of freedom of the robot may include three variables corresponding to the position of the robot and three variables corresponding to the posture of the robot.
일 실시예에 따른 자세는 X축, Y축 및/또는 Z축 방향의 회전 조합에 의해 결정될 수 있다. 일 실시예에 따른 자세는 각각 X축, Y축 및/또는 Z축에 대한 회전각을 포함할 수 있다. 일 실시예에 따른 자세는 롤(roll), 피치(pitch) 및/또는 요(yaw)를 포함할 수 있다. 예를 들어, 롤은 Y축 방향의 회전을 의미할 수 있다. 또 다른 예를 들어, 피치는 X축 방향의 회전을 의미할 수 있다. 또 다른 예를 들어, 요는 Z축 방향의 회전을 의미할 수 있다.The posture according to an embodiment may be determined by a combination of rotations in the X-axis, Y-axis, and/or Z-axis directions. A posture according to an embodiment may include a rotation angle with respect to the X-axis, Y-axis, and/or Z-axis, respectively. A posture according to an embodiment may include roll, pitch, and/or yaw. For example, roll may refer to rotation in the Y-axis direction. As another example, the pitch may mean rotation in the X-axis direction. As another example, yaw may mean rotation in the Z-axis direction.
일 실시예에 따른 위치는 일 로봇 좌표계를 기준으로 한 다른 로봇의 상대 위치를 포함할 수 있다. 예를 들어, 위치는 제1 좌표계(111)를 기준으로 제1 로봇(110)의 도구 위치를 포함할 수 있다. 또 다른 예를 들어, 위치는 제1 좌표계(111)를 기준으로 제1 로봇(110)의 도구 좌표계인 제2 좌표계(113) 기준점의 위치를 포함할 수 있다.A position according to an embodiment may include a relative position of another robot based on a coordinate system of one robot. For example, the position may include a tool position of the first robot 110 based on the first coordinate
일 실시예에 따른 변환 행렬은 두 좌표계 사이의 변환 관계 정보를 포함하는 행렬을 의미할 수 있다. 일 실시예에 따른 변환 행렬은 일 좌표계를 기준으로 다른 좌표계의 상대 자세 및/또는 상대 위치를 나타내기 위하여 사용되는 행렬을 포함할 수 있다. 예를 들어, 변환 행렬은 로 표현된 수 있으며, 4x4 행렬일 수 있다. 예를 들어, 변환 행렬은 Homogeneous Transformation Matrix를 포함할 수 있다. 일 실시예에 따른 변환 행렬을 회전 변환 행렬 및 전위(translation) 중 적어도 하나를 포함할 수 있다. 일 실시예에 따른 회전 변환 행렬은 일 좌표계를 기준으로 다른 좌표계의 상대 자세(또는 상대 방향)을 나타내기 위하여 사용되는 행렬을 포함할 수 있다. 예를 들어, 회전 변환 행렬은 로 표현될 수 있으며, 3x3 행렬일 수 있다. 일 실시예에 따른 전위는 일 좌표계를 기준으로 다른 좌표계의 상대 위치를 나타내기 위하여 사용되는 행렬을 포함할 수 있다. 예를 들어, 전위는 로 표현될 수 있으며, 3x1 행렬일 수 있다. 따라서 변환 행렬 는 로 표현될 수 있다.A transformation matrix according to an embodiment may refer to a matrix including transformation relation information between two coordinate systems. A transformation matrix according to an embodiment may include a matrix used to indicate a relative posture and/or a relative position of another coordinate system with respect to one coordinate system. For example, the transformation matrix is It can be expressed as , and it can be a 4x4 matrix. For example, the transformation matrix may include a homogeneous transformation matrix. A transformation matrix according to an embodiment may include at least one of a rotation transformation matrix and a translation. A rotation transformation matrix according to an embodiment may include a matrix used to indicate a relative posture (or relative direction) of another coordinate system with respect to one coordinate system. For example, the rotation transformation matrix is It can be expressed as , and it can be a 3x3 matrix. A potential according to an embodiment may include a matrix used to represent a relative position of another coordinate system based on one coordinate system. For example, potential It can be expressed as , and it can be a 3x1 matrix. Hence the transformation matrix Is can be expressed as
일 실시예에 따른 제어 장치(190)는 제1 로봇의 자세를 고정시킨 상태에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 제1 로봇의 위치 및 제2 로봇의 자세를 반복하여 변경시킴으로써 데이터를 획득할 수 있다. 일 실시예에 따른 제어 장치(190)는 로봇 도구의 중심이 사전 결정된 지점에 반복해서 위치하도록 제2 좌표계(113)의 위치 및 제2 로봇(130)의 자세를 반복하여 변경시킴으로써, 복수의 위치 데이터들 및/또는 복수의 회전 변환 행렬들을 획득할 수 있다. The
일 실시예에 따른 제어 장치(190)는 제1 로봇(110)의 위치 및 제2 로봇(130)의 자세를 반복하여 변경시킴으로써 제1 로봇(110) 도구의 복수의 위치들에 각각 대응하는 위치 데이터를 획득할 수 있다. 일 실시예에 따른 복수의 위치 데이터들은 제1 로봇(110)의 자세를 고정시킨 상태에서 획득한 제1 좌표계(111)를 기준으로 제2 좌표계(113)의 복수의 제1 위치 데이터들 및 제3 좌표계(131)를 기준으로 제2 로봇의 도구(150) 좌표계인 제4 좌표계(133)의 복수의 제3 위치 데이터들을 포함할 수 있다. 예를 들어, 제1 위치 데이터는 로 표현될 수 있다. 에서 A는 제1 로봇을 의미하고, TA는 제1 로봇의 도구를 의미할 수 있다. 또 다른 예를 들어, 제3 위치 데이터는 로 표현될 수 있다. 에서 B는 제2 로봇을 의미하고, TB는 제2 로봇의 도구를 의미할 수 있다. 일 실시예에 따른 제1 위치 데이터는 제1 좌표계(111)를 기준으로 한 제2 좌표계(113)의 상대 위치 데이터를 포함할 수 있다. 일 실시예에 따른 제3 위치 데이터는 제3 좌표계(131)를 기준으로 한 제4 좌표계(133)의 상대 위치 데이터를 포함할 수 있다.The
일 실시예에 따른 회전 변환 행렬은 제3 좌표계(131)와 제4 좌표계(133) 사이의 제3 회전 변환 행렬(예를 들어, 제3 회전 변환 행렬은 로 표현될 수도 있다.)을 포함할 수 있다. 일 실시예에 따른 복수의 회전 변환 행렬들은 제1 좌표계(111)와 제4 좌표계(133) 사이의 제4 회전 변환 행렬(예를 들어, 제4 회전 변환 행렬은 로 표현될 수도 있다.)을 포함할 수도 있다. 일 실시예에 따른 제3 회전 변환 행렬 및/또는 제4 회전 변환 행렬은 제2 회전 변환 행렬을 산출하는 과정에서 사용되지 않을 수도 있거나 사용될 수도 있다.The rotation transformation matrix according to an embodiment is a third rotation transformation matrix between the third coordinate
일 실시예에 따른 제1 로봇의 자세를 고정시킨 상태는 제1 로봇의 기본 좌표계(base coordinate system)인 제1 좌표계(111)를 기준으로 제1 로봇의 도구 좌표계(tool coordinate system)인 제2 좌표계(113)의 자세를 고정시킨 상태를 포함할 수 있다. 일 실시예에 따른 제1 좌표계(111)를 기준으로 제2 좌표계(113)의 자세를 고정시킴으로써, 제1 좌표계(111)와 제2 좌표계(113) 사이의 회전 변환 행렬은 고정될 수 있다. 일 실시예에 따른 제1 좌표계(111)와 제2 좌표계(113) 사이의 회전 변환 행렬은 제1 회전 변환 행렬을 포함할 수 있다. 예를 들어, 제1 회전 변환 행렬은 로 표현될 수 있다. The state in which the posture of the first robot is fixed according to an embodiment is based on the first coordinate
일 실시예에 따른 제어 장치(190)는 제1 회전 변환 행렬, 복수의 위치 데이터들 및 복수의 회전 변환 행렬들 중 적어도 하나에 기초하여 제2 좌표계(113)와 제2 로봇의 기본 좌표계인 제3 좌표계(131) 사이의 제2 회전 변환 행렬을 산출할 수 있다. 예를 들어, 제2 회전 변환 행렬은 로 표현될 수 있다. 일 실시예에 따른 제2 회전 변환 행렬은 수학식1에 의하여 산출될 수 있다.The
수학식 1은 수학식2로부터 유도될 수 있다. 이하에서는 수학식2에 기초하여 수학식 1을 유도하는 과정이 구체적으로 서술된다.
수학식 2는 제1 좌표계(111) 제2 좌표계(113) 사이의 변환 행렬인 , 제2 좌표계(113)와 제3 좌표계(131) 사이의 변환 행렬인 , 제3 좌표계(131)와 제4 좌표계(133) 사이의 변환 행렬인 및 제1 좌표계(111)와 제4 좌표계(133) 사이의 변환 행렬인 의 관계식을 포함할 수 있다.Equation 2 is a transformation matrix between the first coordinate
수학식 2를 행렬식으로 표현하면 수학식 3이 될 수 있다.If Equation 2 is expressed as a determinant, Equation 3 may be obtained.
수학식 3을 전개하여 정리하면 수학식 4가 도출될 수 있다.Equation 4 can be derived by expanding and rearranging Equation 3.
일 실시예에 따른 제4 위치 데이터()는 로봇이 동작하더라도 고정된 값일 수 있다. 그 이유는 사전 결정된 지점(예를 들어, 지그)의 위치가 변경되지 않으므로 고정된 값일 수 있다. 일 실시예에 따른 로봇 도구의 중심은 사전 결정된 지점에 일치될 수 있다. 따라서, 제1 좌표계(111)를 기준으로 한 로봇 도구의 중심이 제4 위치 데이터()가 될 수 있고, 제4 위치 데이터()는 고정된 값일 수 있다.Fourth location data according to an embodiment ( ) may be a fixed value even if the robot operates. The reason may be a fixed value because the location of a predetermined point (eg, a jig) does not change. The center of the robot tool according to one embodiment may coincide with a predetermined point. Therefore, the center of the robot tool based on the first coordinate
일 실시예에 따른 제1 회전 변환 행렬()은 제1 좌표계(111)를 기준으로 제2 좌표계(113)의 자세가 고정된 상태이므로 로봇이 동작하더라도 고정된 값일 수 있다. A first rotation transformation matrix according to an embodiment ( ) may be a fixed value even if the robot operates because the posture of the second coordinate
일 실시예에 따른 제어 장치(190)는 로봇 도구의 중심이 사전 결정된 지점에 반복해서 위치하도록 제2 좌표계(113)의 위치 및 제2 로봇(130)의 자세를 반복하여 변경시키므로, 각각의 위치 및 자세에 대응하여 복수의 제3 위치 데이터()들 및/또는 복수의 제1 위치 데이터()들을 획득할 수 있다. 일 실시예에 따른 제어 장치(190)는 복수의 제3 위치 데이터()들 및/또는 복수의 제1 위치 데이터()들을 수학식4에 대입할 수 있고, 대입된 수식들의 집합을 수학식 5로 표현할 수 있다.Since the
수학식 5를 i번째 식에서 j번째 식을 빼는 방식으로 정리하면 수학식 6이 도출될 수 있다.Equation 6 can be derived by rearranging Equation 5 by subtracting the j-th equation from the i-th equation.
수학식 6에서 를 , 를 라고 표현하면, 수학식 7이 도출될 수 있다.in Equation 6 cast , cast Expressed as , Equation 7 can be derived.
수학식 7에서 로 표현하는 경우, 수학식 4()가 도출될 수 있다.in Equation 7 When expressed as Equation 4 ( ) can be derived.
일 실시예에 따른 제어 장치(190)는 수학식 4를 이용하여 제2 회전 변환 행렬()을 산출할 수 있다.The
일 실시예에 따른 제어 장치(190)는 제1 로봇(110)의 자세를 변경시킨 상태에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 제1 로봇(110)의 위치 및 제2 로봇(130)의 자세를 반복하여 변경시킬 수 있다. 일 실시예에 따른 제1 로봇(110)의 고정된 자세를 제1 자세로 정의하는 경우, 제어 장치(190)는 제1 자세와 다른 제2 자세로 제1 로봇(110)의 자세를 변경시킬 수 있다. 일 실시예에 따른 제어 장치(190)는 제2 자세에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 제1 로봇(110)의 위치 및 제2 로봇(130)의 자세를 반복하여 변경시킬 수 있다.The
일 실시예에 따른 제어 장치(190)는 제1 로봇(110)의 자세를 변경시킨 상태에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 제1 로봇(110)의 위치 및 제2 로봇(130)의 자세를 반복하여 변경시킴으로써 데이터를 획득할 수 있다. 일 실시예에 따른 해당하는 데이터는 복수의 위치 데이터들 및 복수의 회전 변환 행렬들 중 적어도 하나를 포함할 수 있다. 일 실시예에 따른 해당하는 데이터는 제1 로봇(110)의 제2 자세에서 획득한 데이터이므로, 제1 로봇(110)의 제1 자세에서 획득한 복수의 위치 데이터들 및/또는 복수의 회전 변환 행렬들과 다를 수도 있다.The
일 실시예에 따른 복수의 위치 데이터들은 제1 로봇(110)의 자세를 변경시킨 상태(예를 들어, 제1 로봇(110)의 제2 자세)에서 획득한 제1 좌표계(111)를 기준으로 제2 좌표계(113)의 복수의 제1 위치 데이터()들 및 제3 좌표계(131)를 기준으로 제4 좌표계(133)의 복수의 제3 위치 데이터()들을 포함할 수 있다. 일 실시예에 따른 제1 로봇(110)의 제1 자세에서 획득한 복수의 제1 위치 데이터()들 및 복수의 제3 위치 데이터()들은 제2 로봇(130)의 제2 자세에서 획득한 복수의 제1 위치 데이터()들 및 복수의 제3 위치 데이터()들과 다를 수도 있다. 일 실시예에 따른 제2 좌표계(113)의 위치 및 제2 로봇(130)의 자세가 반복하여 변경되므로, 제3 위치 데이터들은 으로 표현될 수 있다. 또한 제1 위치 데이터들은 으로 표현될 수 있다. A plurality of location data according to an embodiment is based on the first coordinate
일 실시예에 따른 복수의 회전 변환 행렬들은 제1 좌표계(111)와 제2 좌표계(113) 사이의 복수의 제1 회전 변환 행렬()들을 포함할 수 있다. 일 실시예에 따른 제1 회전 변환 행렬()은 제1 로봇의 자세가 달라짐에 따라 변경될 수 있다. 따라서 제1 로봇(110)의 자세가 N번 변경되는 경우, 이 존재할 수 있다.A plurality of rotation transformation matrices according to an embodiment are a plurality of first rotation transformation matrices between the first coordinate
일 실시예에 따른 제어 장치(190)는 제2 회전 변환 행렬(), 복수의 위치 데이터들 및 복수의 회전 변환 행렬들에 기초하여 제2 좌표계(113)를 기준으로 제3 좌표계(131)의 제2 위치 데이터()를 산출할 수 있다.The
일 실시예에 따른 제2 회전 변환 행렬()은 제1 로봇(110)의 자세를 고정시킨 상태에서 획득한 데이터를 기초로 산출된 행렬을 포함할 수 있다.A second rotation transformation matrix according to an embodiment ( ) may include a matrix calculated based on data acquired while the posture of the first robot 110 is fixed.
일 실시예에 따른 제어 장치(190)는 수학식 4를 이용하여 제2 위치 데이터()를 산출할 수 있다. 일 실시예에 따른 제2 회전 변환 행렬()은 제1 로봇(110)의 자세를 고정시킨 상태에서 수학식 4를 이용하여 산출된 행렬일 수 있다. The
일 실시예에 따른 제1 로봇(110)의 자세를 변경시킨 상태에서, 제어 장치(190)는 제2 좌표계(113)의 위치 및 제2 로봇(130)의 자세를 반복하여 변경시킴으로써 획득한 데이터(예를 들어, 제1 위치 데이터들(), 제3 위치 데이터들(), 제1 회전 변환 행렬들())을 수학식 4에 대입시킴으로써 수학식 8이 도출될 수 있다.Data obtained by repeatedly changing the position of the second coordinate
수학식 8에 나열된 i번째 식에서 j번째 식을 빼면, 수학식 9가 도출될 수 있다.Equation 9 can be derived by subtracting the j-th equation from the i-th equation listed in Equation 8.
수학식 9에서 를 , 를 , 를 라고 하면, 수학식 10으로 수학식 9가 정리될 수 있다.in Equation 9 cast , cast , cast If so, Equation 9 can be arranged as Equation 10.
수학식 10에서 , , 라고 하면, 수학식 10이 수학식 11로 정리될 수 있다.in Equation 10 , , If so, Equation 10 can be summarized as Equation 11.
일 실시예에 따른 제어 장치(190)는 수학식 11을 이용하여 제2 위치 데이터()를 산출할 수 있다.The
일 실시예에 따른 제어 장치(190)는 회전 변환 행렬 및 위치 데이터에 기초하여 제1 로봇(110)의 도구 좌표계를 제2 로봇의 기본 좌표계로 변환할 수 있다. 일 실시예에 따른 제어 장치(190)는 제2 회전 변환 행렬() 및 제2 위치 데이터()에 기초하여 제1 로봇의 도구 좌표계를 제2 로봇의 기본 좌표계로 변환할 수 있다. 일 실시예에 따른 제어 장치(190)는 제2 회전 변환 행렬() 및 제2 위치 데이터()에 기초하여 제2 좌표계(113)와 제3 좌표계(131) 사이의 관계를 나타내는 변환 행렬을 결정할 수 있다. 일 실시예에 따른 제어 장치(190)는 제2 회전 변환 행렬() 및 제2 위치 데이터()에 기초하여 제2 좌표계(113)와 제3 좌표계(131) 사이의 변환 행렬()을 결정할 수 있다. 따라서 제어 장치(190)는 변환 행렬()을 이용함으로써, 제2 좌표계(113)를 제3 좌표계(131)로 캘리브레이션 할 수 있다.The
일 실시예에 따른 로봇 캘리브레이션 방법 통해 로봇의 절대 정밀도를 확보할 수 있다. 일 실시예에 따른 로봇 캘리브레이션 방법으로 인하여 로봇이 연쇄 구조로 연결되어 있는 경우에도, 작업 현장에서 로봇 부착 시 생길 수 있는 오차를 보정할 수 있다. 따라서, 제어 장치(190)는 로봇의 절대 정밀도를 확보할 수 있다. 일 실시예에 따른 로봇 캘리브레이션 방법은 간단한 장비만을 이용하여 로봇 캘리브레이션을 수행할 수 있으므로, 로봇 생산 시 측정 장비 비용이 감소될 수 있다. 나아가 적은 비용으로 복수의 로봇들의 캘리브레이션을 동시에 수행할 수 있게 되어 로봇 설치 시간 감소 효과를 기대할 수 있다.Absolute precision of the robot may be secured through the robot calibration method according to an embodiment. Even when robots are connected in a chain structure due to the robot calibration method according to an embodiment, it is possible to correct an error that may occur when the robot is attached at a work site. Therefore, the
도 2는 일 실시예에 따른 로봇 도구의 중심 및 사전 결정된 지점을 설명하기 위한 도면이다. 2 is a diagram for explaining a center and a predetermined point of a robot tool according to an embodiment.
도 2에서는 로봇 도구의 중심이 사전 결정된 지점에 위치하도록 하는 로봇의 다양한 동작들(210, 230, 250, 270), 로봇 도구의 중심(231) 및 사전 결정된 지점(233)이 도시되어 있다.In FIG. 2 , various motions 210, 230, 250, and 270 of the robot to position the center of the robot tool at a predetermined point, the
일 실시예에 따른 제어 장치(190)는 사전 결정된 지점(233)에 반복해서 로봇 도구의 중심(231)이 위치하도록 로봇의 동작을 변경시킬 수 있다. 일 실시예에 따른 제어 장치(190)는 사전 결정된 지점(233)에 반복해서 로봇 도구의 중심(231)이 위치하도록 제1 로봇의 위치 및 제2 로봇의 자세를 반복하여 변경시킬 수 있다. 일 실시예에 따른 제어 장치(190)는 로봇 도구의 중심(231)이 사전 결정된 지점(233)에 위치하도록 하는 로봇의 다양한 동작들(210, 230, 250, 270)로부터 획득한 데이터에 기초하여 제2 좌표계(113)와 제3 좌표계(131) 사이의 회전 변환 행렬 및/또는 위치 데이터를 산출할 수 있다. The
도 3은 일 실시예에 따른 로봇 캘리브레이션 과정을 설명하기 위한 흐름도이다. 3 is a flowchart for explaining a robot calibration process according to an embodiment.
일 실시예에 따른 제1 로봇(110) 및/또는 제2 로봇(130)이 설치(310)될 수 있다. 제1 로봇(110) 및/또는 제2 로봇(130)은 사람 또는 다른 기계 장치에 의하여 설치될 수도 있다. The first robot 110 and/or the
일 실시예에 따른 제어 장치(190)는 로봇 도구의 중심을 사전 결정된 지점에 일치시키고 제1 로봇의 자세를 고정(320)시킬 수 있다. 다른 일 실시예에 따른 로봇 도구의 중심은 사람에 의하여 사전 결정된 지점에 일치될 수 있다. The
일 실시예에 따른 제어 장치(190)는 제1 로봇(110)의 위치 및 제2 로봇(130)의 자세를 N회 반복(330)하여 변경시킬 수 있다. 일 실시예에 따른 제어 장치(190)는 제2 좌표계(113)의 위치 및 제2 로봇(130)의 자세를 반복하여 변경시킬 수 있다. 일 실시예에 따른 제2 로봇(130)의 자세는 제3 좌표계(131)와 제4 좌표계(133) 사이의 회전각을 포함할 수 있다.The
일 실시예에 따른 제어 장치(190)는 제1 로봇(110)의 위치 및 제2 로봇(130)의 자세를 N회 반복하여 변경함으로써, 복수의 위치 데이터들 및/또는 복수의 회전 변환 행렬들을 획득할 수 있다. 일 실시예에 따른 제어 장치(190)는 복수의 위치 데이터들 및/또는 복수의 회전 변환 행렬들에 기초하여 제2 회전 변환 행렬을 산출(340)할 수 있다.The
일 실시예에 따른 제어 장치(190)는 로봇 도구의 중심을 사전 결정된 지점에 일치시키고 제1 로봇(110)의 자세를 변경(350)시킬 수 있다. 일 실시예에 따른 로봇 도구의 중심은 사람에 의하여 사전 결정된 지점에 일치될 수도 있다. The
일 실시예에 따른 변경된 제1 로봇(110)의 자세에서, 제어 장치(190)는 제1 로봇(110)의 위치 및 제2 로봇(130)의 자세를 N회 반복(360)하여 변경함으로써, 복수의 위치 데이터들 및/또는 복수의 회전 변환 행렬들을 획득할 수 있다. 일 실시예에 따른 제어 장치(190)는 복수의 위치 데이터들 및/또는 복수의 회전 변환 행렬들에 기초하여 제2 위치 데이터를 산출(370)할 수 있다.In the changed posture of the first robot 110 according to an embodiment, the
일 실시예에 따른 제어 장치(190)는 제2 회전 변환 행렬 및 제2 위치 데이터에 기초하여 제2 좌표계(113)와 제3 좌표계(131) 사이의 변환 행렬을 결정할 수 있다. 일 실시예에 따른 제어 장치(190)는 해당하는 변환 행렬을 이용하여, 제2 좌표계(113)를 제3 좌표계(131)로 캘리브레이션 할 수 있다.The
도 4는 일 실시예에 따른 좌표계 간의 변환 관계를 설명하기 위한 도면이다. 4 is a diagram for explaining a transformation relationship between coordinate systems according to an exemplary embodiment.
도 4에서는 제1 좌표계(111), 제2 좌표계(113), 제3 좌표계(131), 제4 좌표계(133), 제1 변환 행렬(410), 제2 변환 행렬(430), 제3 변환 행렬(450) 및 제4 변환 행렬(470)이 도시되어 있다.4, the first coordinate
일 실시예에 따른 제1 변환 행렬(410)은 제1 좌표계(111)와 제2 좌표계(113) 사이의 변환 관계 정보를 포함할 수 있다. 일 실시예에 따른 제1 변환 행렬(410)은 제1 좌표계(111)와 제2 좌표계(113) 사이의 변환 행렬을 포함할 수 있다. 예를 들어, 제1 변환 행렬은 로 표현될 수 있다.The
일 실시예에 따른 제2 변환 행렬(430)은 제2 좌표계(113)와 제3 좌표계(131) 사이의 변환 관계 정보를 포함할 수 있다. 일 실시예에 따른 제2 변환 행렬(430)은 제2 좌표계(113)와 제3 좌표계(131) 사이의 변환 행렬을 포함할 수 있다. 예를 들어, 제2 변환 행렬은 로 표현될 수 있다.The
일 실시예에 따른 제3 변환 행렬(450)은 제3 좌표계(131)와 제4 좌표계(133) 사이의 변환 관계 정보를 포함할 수 있다. 일 실시예에 따른 제3 변환 행렬(450)은 제3 좌표계(131)와 제4 좌표계(133) 사이의 변환 행렬을 포함할 수 있다. 예를 들어, 제3 변환 행렬은 로 표현될 수 있다.The
일 실시예에 따른 제4 변환 행렬(470)은 제1 좌표계(111)와 제4 좌표계(133) 사이의 변환 관계 정보를 포함할 수 있다. 일 실시예에 따른 제4 변환 행렬(470)은 제1 좌표계(111)와 제4 좌표계(133) 사이의 변환 행렬을 포함할 수 있다. 예를 들어, 제4 변환 행렬은 로 표현될 수 있다.The
일 실시예에 따른 로봇 캘리브레이션 방법은 제1 로봇의 자세를 고정시킨 상태에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 제1 로봇의 위치 및 제2 로봇의 자세를 반복하여 변경시킴으로써 획득한 데이터를 기초로 제1 로봇 도구 좌표계와 제2 로봇 기본 좌표계 사이의 회전 변환 행렬을 산출하는 단계; 제1 로봇의 자세를 변경시킨 상태에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 제1 로봇의 위치 및 제2 로봇의 자세를 반복하여 변경시킴으로써 획득한 데이터를 기초로 제1 로봇 도구 좌표계를 기준으로 제2 로봇 기본 좌표계의 위치 데이터를 산출하는 단계; 및 회전 변환 행렬 및 위치 데이터에 기초하여 제1 로봇의 도구 좌표계와 제2 로봇의 기본 좌표계 사이의 변환 행렬을 결정하는 단계를 포함할 수 있다.The robot calibration method according to an embodiment is obtained by repeatedly changing the position of the first robot and the posture of the second robot so that the center of the robot tool is repeatedly located at a predetermined point in a state in which the posture of the first robot is fixed. Calculating a rotation transformation matrix between the first robot tool coordinate system and the second robot basic coordinate system based on the data; In a state where the posture of the first robot is changed, the first robot tool based on data obtained by repeatedly changing the position of the first robot and the posture of the second robot so that the center of the robot tool is repeatedly located at a predetermined point. Calculating positional data of a second robot basic coordinate system based on the coordinate system; and determining a transformation matrix between the tool coordinate system of the first robot and the basic coordinate system of the second robot based on the rotation transformation matrix and the position data.
일 실시예에 따른 제1 로봇의 자세를 고정시킨 상태는 제1 로봇의 기본 좌표계인 제1 좌표계를 기준으로 제1 로봇의 도구 좌표계인 제2 좌표계의 자세를 고정시킨 상태를 포함할 수 있다.According to an embodiment, the state in which the posture of the first robot is fixed may include a state in which the posture of the second coordinate system, which is the tool coordinate system of the first robot, is fixed based on the first coordinate system, which is the basic coordinate system of the first robot.
일 실시예에 따른 회전 변환 행렬을 산출하는 단계는 로봇 도구의 중심이 사전 결정된 지점에 반복해서 위치하도록 제2 좌표계의 위치 및 제2 로봇의 자세를 반복하여 변경시킴으로써, 복수의 위치 데이터들 및 복수의 회전 변환 행렬들 중 적어도 하나를 획득하는 단계; 및 제1 회전 변환 행렬, 복수의 위치 데이터들 및 복수의 회전 변환 행렬들 중 적어도 하나에 기초하여 제2 좌표계와 제2 로봇의 기본 좌표계인 제3 좌표계 사이의 제2 회전 변환 행렬을 산출하는 단계를 포함할 수 있다.Calculating a rotation transformation matrix according to an embodiment may include a plurality of positional data and a plurality of positional data and a plurality of positions by repeatedly changing the position of the second coordinate system and the posture of the second robot so that the center of the robot tool is repeatedly located at a predetermined point. Obtaining at least one of the rotation transformation matrices of ; and calculating a second rotation transformation matrix between the second coordinate system and the third coordinate system, which is the basic coordinate system of the second robot, based on at least one of the first rotation transformation matrix, a plurality of position data, and a plurality of rotation transformation matrices. can include
일 실시예에 따른 복수의 위치 데이터들은 제1 로봇의 자세를 고정시킨 상태에서 획득한 제1 좌표계를 기준으로 제2 좌표계의 복수의 제1 위치 데이터들 및 제3 좌표계를 기준으로 제2 로봇 도구 좌표계인 제4 좌표계의 복수의 제3 위치 데이터들을 포함할 수 있다.A plurality of position data according to an embodiment is a plurality of first position data of a second coordinate system based on the first coordinate system obtained in a state in which the posture of the first robot is fixed, and a second robot tool based on the third coordinate system. It may include a plurality of third position data of a fourth coordinate system, which is a coordinate system.
일 실시예에 따른 제1 회전 변환 행렬은, 제1 좌표계와 제2 좌표계 사이의 회전 변환 행렬을 포함할 수 있다.The first rotation transformation matrix according to an embodiment may include a rotation transformation matrix between the first coordinate system and the second coordinate system.
일 실시예에 따른 제1 로봇의 자세를 변경시킨 상태는 제1 좌표계를 기준으로 제2 좌표계의 자세를 변경시킨 상태를 포함할 수 있다.According to an embodiment, the state in which the posture of the first robot is changed may include a state in which the posture of the second coordinate system is changed based on the first coordinate system.
일 실시예에 따른 위치 데이터를 산출하는 단계는 로봇 도구의 중심이 사전 결정된 지점에 반복해서 위치하도록 제2 좌표계의 위치 및 제2 로봇의 자세를 반복하여 변경시킴으로써, 복수의 위치 데이터들 및 복수의 회전 변환 행렬들 중 적어도 하나를 획득하는 단계; 및 제2 회전 변환 행렬, 복수의 위치 데이터들 및 복수의 회전 변환 행렬들에 기초하여 제2 좌표계를 기준으로 제3 좌표계의 제2 위치 데이터를 산출하는 단계를 포함할 수 있다.Calculating position data according to an embodiment may include repeatedly changing the position of the second coordinate system and the posture of the second robot so that the center of the robot tool is repeatedly located at a predetermined point, thereby generating a plurality of position data and a plurality of positions. obtaining at least one of the rotation transformation matrices; and calculating second position data of a third coordinate system based on the second coordinate system based on the second rotation transformation matrix, the plurality of position data, and the plurality of rotation transformation matrices.
일 실시예에 따른 복수의 위치 데이터들은 제1 로봇의 자세를 변경시킨 상태에서 획득한 제1 좌표계를 기준으로 제2 좌표계의 복수의 제1 위치 데이터들 및 제3 좌표계를 기준으로 제4 좌표계의 복수의 제3 위치 데이터들을 포함할 수 있다.The plurality of position data according to an embodiment is a plurality of first position data of a second coordinate system based on the first coordinate system obtained in a state in which the posture of the first robot is changed, and a fourth coordinate system based on the third coordinate system. It may include a plurality of third location data.
일 실시예에 따른 복수의 회전 변환 행렬들은 제1 좌표계와 제2 좌표계 사이의 복수의 제1 회전 변환 행렬들을 포함할 수 있다.The plurality of rotation transformation matrices according to an embodiment may include a plurality of first rotation transformation matrices between the first coordinate system and the second coordinate system.
일 실시예에 따른 캘리브레이션 하는 단계는 제2 회전 변환 행렬 및 제2 위치 데이터에 기초하여 제1 로봇의 도구 좌표계를 제2 로봇의 기본 좌표계로 캘리브레이션 하는 단계를 포함할 수 있다.The calibrating step according to an embodiment may include calibrating the tool coordinate system of the first robot to the basic coordinate system of the second robot based on the second rotation transformation matrix and the second position data.
도 5는 일 실시예에 따른 변환 행렬 간의 관계식을 설명하기 위한 도면이다.5 is a diagram for explaining a relational expression between transformation matrices according to an exemplary embodiment.
도 5에서는 변환 행렬 간의 관계식, 변환 행렬 간의 관계식을 행렬식으로 표현한 식, 제1 회전 변환 행렬(510), 제1 위치 데이터(520), 제2 회전 변환 행렬(530), 제2 위치 데이터(540), 제3 회전 변환 행렬(550), 제3 위치 데이터(560), 제4 회전 변환 행렬(570) 및 제4 위치 데이터(580)가 도시되어 있다.In FIG. 5 , a relational expression between transformation matrices, an expression expressing a relational expression between transformation matrices as a matrix formula, a first
일 실시예에 따른 변환 행렬 간의 관계식은 도 1에서의 수학식 2에 대응할 수 있다.A relational expression between transformation matrices according to an embodiment may correspond to Equation 2 in FIG. 1 .
일 실시예에 따른 변환 행렬 간의 관계식을 행렬식으로 표현한 식은 도 1에서의 수학식 3에 대응할 수 있다.An equation expressing a relational equation between transformation matrices according to an embodiment as a matrix equation may correspond to Equation 3 in FIG. 1 .
일 실시예에 따른 제1 변환 행렬(410)은 제1 회전 변환 행렬()(510) 및 제1 위치 데이터()(520)를 포함할 수 있다. 일 실시예에 따른 제1 변환 행렬은 으로 표현될 수 있다.The
일 실시예에 따른 제2 변환 행렬(430)은 제2 회전 변환 행렬()(530) 및 제2 위치 데이터()(540)를 포함할 수 있다. 일 실시예에 따른 제2 변환 행렬은 으로 표현될 수 있다.The
일 실시예에 따른 제3 변환 행렬(450)은 제3 회전 변환 행렬()(550) 및 제1 위치 데이터()(560)를 포함할 수 있다. 일 실시예에 따른 제3 변환 행렬은 으로 표현될 수 있다.The
일 실시예에 따른 제4 변환 행렬(470)은 제4 회전 변환 행렬()(570) 및 제4 위치 데이터()(580)를 포함할 수 있다. 일 실시예에 따른 제4 변환 행렬은 으로 표현될 수 있다.The
Claims (11)
상기 제1 로봇의 자세를 변경시킨 상태에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 상기 제1 로봇의 위치 및 상기 제2 로봇의 자세를 반복하여 변경시킴으로써 획득한 데이터를 기초로 제1 로봇 도구 좌표계를 기준으로 제2 로봇 기본 좌표계의 위치 데이터를 산출하는 단계; 및
상기 회전 변환 행렬 및 상기 위치 데이터에 기초하여 상기 제1 로봇의 도구 좌표계와 상기 제2 로봇의 기본 좌표계 사이의 변환 행렬을 결정하는 단계;
를 포함하는,
로봇 캘리브레이션 방법.
While the orientation of the first robot is fixed, the position of the first robot and the posture of the second robot are repeatedly changed so that the tool center point of the robot is repeatedly located at a predetermined point. Calculating a rotation transformation matrix between the first robot tool coordinate system and the second robot basic coordinate system based on data obtained by doing so;
In a state where the posture of the first robot is changed, the position of the first robot and the posture of the second robot are repeatedly changed so that the center of the robot tool is repeatedly located at a predetermined point. Calculating position data of a second robot basic coordinate system based on a first robot tool coordinate system; and
determining a transformation matrix between a tool coordinate system of the first robot and a basic coordinate system of the second robot based on the rotation transformation matrix and the position data;
including,
Robot calibration method.
상기 제1 로봇의 자세를 고정시킨 상태는
상기 제1 로봇의 기본 좌표계(base coordinate system)인 제1 좌표계를 기준으로 상기 제1 로봇의 도구 좌표계(tool coordinate system)인 제2 좌표계의 자세를 고정시킨 상태를 포함하는,
로봇 캘리브레이션 방법.
According to claim 1,
The state in which the posture of the first robot is fixed is
Including a state in which the posture of the second coordinate system, which is the tool coordinate system of the first robot, is fixed based on the first coordinate system, which is the base coordinate system of the first robot,
Robot calibration method.
상기 회전 변환 행렬을 산출하는 단계는
상기 로봇 도구의 중심이 사전 결정된 지점에 반복해서 위치하도록 제2 좌표계의 위치 및 상기 제2 로봇의 자세를 반복하여 변경시킴으로써, 복수의 위치 데이터들 및 복수의 회전 변환 행렬들 중 적어도 하나를 획득하는 단계; 및
제1 회전 변환 행렬, 상기 복수의 위치 데이터들 및 상기 복수의 회전 변환 행렬들 중 적어도 하나에 기초하여 상기 제2 좌표계와 상기 제2 로봇의 기본 좌표계인 제3 좌표계 사이의 제2 회전 변환 행렬을 산출하는 단계
를 포함하는,
로봇 캘리브레이션 방법.
According to claim 1,
Calculating the rotation transformation matrix
Obtaining at least one of a plurality of position data and a plurality of rotation transformation matrices by repeatedly changing the position of the second coordinate system and the posture of the second robot so that the center of the robot tool is repeatedly located at a predetermined point step; and
A second rotation transformation matrix between the second coordinate system and the third coordinate system that is the basic coordinate system of the second robot based on at least one of the first rotation transformation matrix, the plurality of position data, and the plurality of rotation transformation matrices steps to calculate
including,
Robot calibration method.
상기 복수의 위치 데이터들은
상기 제1 로봇의 자세를 고정시킨 상태에서 획득한 제1 좌표계를 기준으로 상기 제2 좌표계의 복수의 제1 위치 데이터들 및 상기 제3 좌표계를 기준으로 제2 로봇 도구 좌표계인 제4 좌표계의 복수의 제3 위치 데이터들을 포함하는,
로봇 캘리브레이션 방법.
According to claim 3,
The plurality of location data is
A plurality of first position data of the second coordinate system based on the first coordinate system obtained in a state in which the posture of the first robot is fixed, and a plurality of fourth coordinate systems that are the second robot tool coordinate system based on the third coordinate system Including the third location data of,
Robot calibration method.
상기 제1 회전 변환 행렬은,
제1 좌표계와 상기 제2 좌표계 사이의 회전 변환 행렬을 포함하는,
로봇 캘리브레이션 방법.
According to claim 3,
The first rotation transformation matrix,
Including a rotation transformation matrix between the first coordinate system and the second coordinate system,
Robot calibration method.
상기 제1 로봇의 자세를 변경시킨 상태는
제1 좌표계를 기준으로 제2 좌표계의 자세를 변경시킨 상태를 포함하는,
로봇 캘리브레이션 방법.
According to claim 1,
The state in which the posture of the first robot is changed is
Including a state in which the posture of the second coordinate system is changed based on the first coordinate system,
Robot calibration method.
상기 위치 데이터를 산출하는 단계는
상기 로봇 도구의 중심이 상기 사전 결정된 지점에 반복해서 위치하도록 제2 좌표계의 위치 및 상기 제2 로봇의 자세를 반복하여 변경시킴으로써, 복수의 위치 데이터들 및 복수의 회전 변환 행렬들 중 적어도 하나를 획득하는 단계; 및
제2 회전 변환 행렬, 상기 복수의 위치 데이터들 및 상기 복수의 회전 변환 행렬들에 기초하여 상기 제2 좌표계를 기준으로 제3 좌표계의 제2 위치 데이터를 산출하는 단계;
를 포함하는,
로봇 캘리브레이션 방법.
According to claim 1,
The step of calculating the location data is
At least one of a plurality of position data and a plurality of rotation transformation matrices is obtained by repeatedly changing the position of the second coordinate system and the posture of the second robot so that the center of the robot tool is repeatedly located at the predetermined point. doing; and
Calculating second position data of a third coordinate system based on the second coordinate system based on a second rotation transformation matrix, the plurality of position data, and the plurality of rotation transformation matrices;
including,
Robot calibration method.
상기 복수의 위치 데이터들은
상기 제1 로봇의 자세를 변경시킨 상태에서 획득한 제1 좌표계를 기준으로 상기 제2 좌표계의 복수의 제1 위치 데이터들 및 제3 좌표계를 기준으로 제4 좌표계의 복수의 제3 위치 데이터들을 포함하는,
로봇 캘리브레이션 방법.
According to claim 7,
The plurality of location data is
Includes a plurality of first position data of the second coordinate system based on the first coordinate system obtained in a state in which the posture of the first robot is changed, and a plurality of third position data of a fourth coordinate system based on the third coordinate system doing,
Robot calibration method.
상기 복수의 회전 변환 행렬들은
제1 좌표계와 상기 제2 좌표계 사이의 복수의 제1 회전 변환 행렬들을 포함하는,
로봇 캘리브레이션 방법.
According to claim 7,
The plurality of rotation transformation matrices are
Including a plurality of first rotation transformation matrices between the first coordinate system and the second coordinate system,
Robot calibration method.
상기 변환 행렬을 결정하는 단계는
제2 회전 변환 행렬 및 제2 위치 데이터에 기초하여 상기 제1 로봇의 도구 좌표계와 상기 제2 로봇의 기본 좌표계 사이의 변환 행렬을 결정하는 단계
를 포함하는,
로봇 캘리브레이션 방법.
According to claim 1,
Determining the transformation matrix
Determining a transformation matrix between a tool coordinate system of the first robot and a basic coordinate system of the second robot based on a second rotation transformation matrix and second position data
including,
Robot calibration method.
제1 로봇의 자세를 고정시킨 상태에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 제1 로봇의 위치 및 제2 로봇의 자세를 반복하여 변경시킴으로써 획득한 데이터를 기초로 제1 로봇 도구 좌표계와 제2 로봇 기본 좌표계 사이의 회전 변환 행렬을 산출하고,
상기 제1 로봇의 자세를 변경시킨 상태에서, 사전 결정된 지점에 반복해서 로봇 도구의 중심이 위치하도록 상기 제1 로봇의 위치 및 상기 제2 로봇의 자세를 반복하여 변경시킴으로써 획득한 데이터를 기초로 제1 로봇 도구 좌표계를 기준으로 제2 로봇 기본 좌표계의 위치 데이터를 산출하고, 그리고
상기 회전 변환 행렬 및 상기 위치 데이터에 기초하여 상기 제1 로봇의 도구 좌표계와 상기 제2 로봇의 기본 좌표계 사이의 변환 행렬을 결정하는,
로봇 제어 장치.
A control device for performing robot calibration, the control device comprising:
In a state where the posture of the first robot is fixed, the first robot tool based on data obtained by repeatedly changing the position of the first robot and the posture of the second robot so that the center of the robot tool is repeatedly located at a predetermined point. Calculating a rotation transformation matrix between the coordinate system and the second robot basic coordinate system;
In a state where the posture of the first robot is changed, the position of the first robot and the posture of the second robot are repeatedly changed so that the center of the robot tool is repeatedly located at a predetermined point. 1 Calculate the positional data of the second robot basic coordinate system based on the robot tool coordinate system, and
Determining a transformation matrix between the tool coordinate system of the first robot and the basic coordinate system of the second robot based on the rotation transformation matrix and the position data,
robot control device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220013517A KR20230116502A (en) | 2022-01-28 | 2022-01-28 | Device and method for robot calibration |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220013517A KR20230116502A (en) | 2022-01-28 | 2022-01-28 | Device and method for robot calibration |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230116502A true KR20230116502A (en) | 2023-08-04 |
Family
ID=87568738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220013517A KR20230116502A (en) | 2022-01-28 | 2022-01-28 | Device and method for robot calibration |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230116502A (en) |
-
2022
- 2022-01-28 KR KR1020220013517A patent/KR20230116502A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102280663B1 (en) | Calibration method for robot using vision technology | |
US10279479B2 (en) | Robot calibrating apparatus and robot calibrating method, and robot apparatus and method of controlling robot apparatus | |
US10695910B2 (en) | Automatic calibration method for robot system | |
JP4267005B2 (en) | Measuring apparatus and calibration method | |
JP6468741B2 (en) | Robot system and robot system calibration method | |
JP5670416B2 (en) | Robot system display device | |
JP6108860B2 (en) | Robot system and control method of robot system | |
JP4171488B2 (en) | Offline programming device | |
WO2016208467A1 (en) | Calibration device and robot system using same | |
US20160279800A1 (en) | Robot, robot control device, and robotic system | |
JP5618770B2 (en) | Robot calibration apparatus and calibration method | |
CN111203861B (en) | Calibration method and calibration system for robot tool coordinate system | |
US8761936B2 (en) | Teaching line correcting apparatus, teaching line correcting method, and program thereof | |
US6823604B2 (en) | Method for adjusting assembly jig | |
JP6568172B2 (en) | ROBOT CONTROL DEVICE, MEASUREMENT SYSTEM, AND CALIBRATION METHOD FOR CALIBRATION | |
KR102561103B1 (en) | Robot calibration system and calibration method thereof | |
CN109311163B (en) | Method for correcting motion control command of robot and related equipment thereof | |
CN113799114A (en) | Origin correction method of robot arm | |
JP6912529B2 (en) | How to correct the visual guidance robot arm | |
US20230191611A1 (en) | Robot system | |
KR20230116502A (en) | Device and method for robot calibration | |
JP2005157784A (en) | Method for calibrating moving mechanism using compact artifact | |
US20230031819A1 (en) | Positioning method and positioning device | |
KR100336459B1 (en) | Method for off-line control of robot | |
KR100637378B1 (en) | Robot calibration system using perceptron sensor |