KR102422990B1 - System and Method for calibration of robot based on a scanning - Google Patents

System and Method for calibration of robot based on a scanning Download PDF

Info

Publication number
KR102422990B1
KR102422990B1 KR1020200142939A KR20200142939A KR102422990B1 KR 102422990 B1 KR102422990 B1 KR 102422990B1 KR 1020200142939 A KR1020200142939 A KR 1020200142939A KR 20200142939 A KR20200142939 A KR 20200142939A KR 102422990 B1 KR102422990 B1 KR 102422990B1
Authority
KR
South Korea
Prior art keywords
robot
calibration
pattern structure
image
error value
Prior art date
Application number
KR1020200142939A
Other languages
Korean (ko)
Other versions
KR20220058740A (en
Inventor
김동엽
전세웅
신동인
김태근
정병진
조민영
정근호
Original Assignee
한국전자기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자기술연구원 filed Critical 한국전자기술연구원
Priority to KR1020200142939A priority Critical patent/KR102422990B1/en
Publication of KR20220058740A publication Critical patent/KR20220058740A/en
Application granted granted Critical
Publication of KR102422990B1 publication Critical patent/KR102422990B1/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
    • 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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

본 발명은 3D 패턴 구조물, 상기 3D 패턴 구조물이 놓이는 작업대, 상기 작업대에 놓인 상기 3D 패턴 구조물에 대한 스캐닝 이미지를 수집하는 스캐너, 상기 스캐너가 장착된 엔드 이펙터, 상기 엔드 이펙터가 결합하는 운동 모듈을 적어도 포함하는 로봇 장치, 상기 3D 패턴 구조물에 대한 스캐닝 이미지를 획득하고, 상기 스캐닝 이미지와 기 저장된 참조 이미지 간의 비교를 기반으로 상기 운동 모듈의 캘리브레이션 수행을 위한 오차 값을 산출하고, 상기 오차 값을 기반으로 상기 로봇 장치의 캘리브레이션 수행을 제어하도록 설정된 제어 장치를 포함하는 로봇 캘리브레이션 시스템을 개시한다. The present invention provides a 3D pattern structure, a workbench on which the 3D pattern structure is placed, a scanner that collects scanning images for the 3D pattern structure placed on the workbench, an end effector equipped with the scanner, and a motion module coupled to the end effector at least Obtaining a scanning image for the robot device including the 3D pattern structure, calculating an error value for performing calibration of the exercise module based on a comparison between the scanning image and a pre-stored reference image, and based on the error value Disclosed is a robot calibration system including a control device configured to control calibration performance of the robot device.

Description

스캔을 이용한 로봇의 캘리브레이션 시스템 및 방법{System and Method for calibration of robot based on a scanning}A system and method for calibration of a robot using a scan {System and Method for calibration of robot based on a scanning}

본 발명은 로봇의 캘리브레이션에 관한 것으로, 더욱 상세하게는 패턴 구조물에 대한 스캐닝을 기반으로 하는 로봇의 캘리브레이션에 관한 것이다.The present invention relates to calibration of a robot, and more particularly, to a calibration of a robot based on scanning of a pattern structure.

머신비전이나 인공지능을 활용한 로봇 작업을 위해서, 카메라와 로봇 간 또는 깊이 센서와 로봇 사이의 캘리브레이션 성능이 매우 중요하다. 상기 캘리브레이션은 좌표계 원점의 위치와 방향을 로봇의 그것과 일치시키는 것을 의미할 수 있다. 상술한 로봇의 캘리브레이션에 이용되는 좌표계는 로봇 좌표계와 카메라 좌표계를 들 수 있다. 상기 로봇 좌표계는 보통 로봇 팔의 받침대를 기준으로, 변화하는 관절 각도에 따라 로봇 팔 끝의 엔드 이펙터의 위치(TCP, Tool Center Point)와 방향을 표현할 때 사용될 수 있다. 상기 카메라 좌표계는 카메라나 센서의 측정값을 표현할 쓰는 좌표계로서, 보통 카메라의 초점을 원점으로 하고, 카메라의 초점을 기준으로 물체가 떨어진 정도를 기반으로 캘리브레이션할 수 있다. 캘리브레이션이 완벽하다면, 센서를 통해 얻어진 정보를 바탕으로 로봇의 작업계획을 수행할 때 정확한 위치와 방향으로 작업을 할 수 있다. For robot work using machine vision or artificial intelligence, calibration performance between a camera and a robot or between a depth sensor and a robot is very important. The calibration may mean matching the position and direction of the origin of the coordinate system with that of the robot. The coordinate system used for calibration of the above-described robot may include a robot coordinate system and a camera coordinate system. The robot coordinate system can be used to express the position (TCP, Tool Center Point) and direction of the end effector of the end of the robot arm according to the joint angle that changes based on the pedestal of the normal robot arm. The camera coordinate system is a coordinate system used to express measurement values of a camera or a sensor, and can be calibrated based on the degree of separation of an object from the camera's focus, with the camera's focus as the origin. If the calibration is perfect, the robot can work in the correct position and direction when performing the work plan of the robot based on the information obtained through the sensor.

한편, 종래 카메라 좌표계-로봇 좌표계 캘리브레이션 방법들은 2D 이미지가 인쇄된 캘리브레이션 플레이트를 로봇 팔의 TCP에 부착한 후 천장 카메라 또는 로봇 팔 외부에 배치된 카메라로 캘리브레이션 플레이트의 위치를 측정 한 후, 현재의 로봇 TCP 값(캘리브레이션 플레이트 기준점)과 비교하는 방법, 캘리브레이션 플레이트를 엔드 이펙터로부터 일정 거리 이격된 수직한 위치에 배치하고 로봇 팔에 배치된 카메라를 이용하여 촬영을 수행한 후, 카메라 좌표계와 로봇 좌표계를 캘리브레이션 하는 방법 등을 제공하고 있다. 그런데, 이러한 종래 카메라 좌표계-로봇 좌표계 캘리브레이션 방법들은 좌표계의 차이 외에 별도의 오차 원인이 없다는 가정을 가지고 있다. 이에 따라, 로봇 팔 관절의 엔코더 분해능의 정확도가 기준치보다 낮거나, 반복된 작업 과정에서 로봇 팔이 틀어지거나 관절 모듈이 손상되는 경우, 엔코더 신호에 노이즈가 발생하는 경우 또는 엔드 이펙터(그리퍼, 석션, 마그네틱)의 기구가 캘리브레이션을 위해 입력된 정보와 다른 경우 등에는 좌표계와 관계없이 오차가 발생할 수 있다. 특히, 엔드 이펙터가 석션인 경우, 탭(나사산)을 조이는 과정에서 오차가 발생할 수 있다. On the other hand, conventional camera coordinate system-robot coordinate system calibration methods attach a 2D image printed calibration plate to the TCP of the robot arm, measure the position of the calibration plate with a ceiling camera or a camera placed outside the robot arm, and then A method of comparing the TCP value (calibration plate reference point), the calibration plate is placed in a vertical position spaced a certain distance from the end effector, and shooting is performed using the camera placed on the robot arm, and then the camera coordinate system and the robot coordinate system are calibrated How to do it, etc. However, these conventional camera coordinate system-robot coordinate system calibration methods have an assumption that there is no separate source of error other than the difference in the coordinate system. Accordingly, if the encoder resolution accuracy of the robot arm joint is lower than the standard value, if the robot arm is twisted or the joint module is damaged during repeated work, if noise occurs in the encoder signal, or if the end effector (gripper, suction, If the mechanism of magnetic) is different from the information input for calibration, an error may occur regardless of the coordinate system. In particular, when the end effector is a suction, an error may occur in the process of tightening the tab (thread).

본 발명은 카메라 좌표계와 로봇 좌표계를 캘리브레이션하면서, 두 좌표계의 차이뿐만 아니라 그 외의 오차까지 포함하여 캘리브레이션할 수 있는 시스템 및 방법을 제공함에 있다. An object of the present invention is to provide a system and method capable of calibrating a camera coordinate system and a robot coordinate system while calibrating the difference between the two coordinate systems and including other errors.

본 발명의 실시 예에 따른 로봇 캘리브레이션 시스템은 3D 패턴 구조물, 상기 3D 패턴 구조물이 놓이는 작업대, 상기 작업대에 놓인 상기 3D 패턴 구조물에 대한 스캐닝 이미지를 수집하는 스캐너, 상기 스캐너가 장착된 엔드 이펙터, 상기 엔드 이펙터가 결합하는 운동 모듈을 적어도 포함하는 로봇 장치, 상기 3D 패턴 구조물에 대한 스캐닝 이미지를 획득하고, 상기 스캐닝 이미지와 기 저장된 참조 이미지 간의 비교를 기반으로 상기 운동 모듈의 캘리브레이션 수행을 위한 오차 값을 산출하고, 상기 오차 값을 기반으로 상기 로봇 장치의 캘리브레이션 수행을 제어하도록 설정된 제어 장치를 포함할 수 있다.The robot calibration system according to an embodiment of the present invention includes a 3D pattern structure, a workbench on which the 3D pattern structure is placed, a scanner that collects scanning images for the 3D pattern structure placed on the workbench, an end effector equipped with the scanner, and the end A robot device including at least a motion module coupled with an effector, obtains a scanning image for the 3D pattern structure, and calculates an error value for performing calibration of the motion module based on a comparison between the scanning image and a pre-stored reference image and a control device configured to control calibration performance of the robot device based on the error value.

여기서, 상기 3D 패턴 구조물은 제1 기판, 상기 제1 기판 상에 일정 두께를 가지고 제1 방향으로 길게 형성되며, 서로 일정 간격 이격되어 배치된 복수개의 레일, 상기 복수개의 레일들 사이에 형성된 복수개의 홈을 포함할 수 있다.Here, the 3D pattern structure includes a first substrate, a plurality of rails formed to have a predetermined thickness on the first substrate and elongated in the first direction, spaced apart from each other by a predetermined distance, and a plurality of rails formed between the plurality of rails. It may include a groove.

또는, 상기 3D 패턴 구조물은 제2 기판, 상기 제2 기판 상에 일정 두께와 폭을 가지며 서로 일정 간격 이격되어 매트릭스 형태로 배치된 복수개의 돌기, 상기 복수개의 돌기들 사이에 형성된 복수개의 세로 홈 및 복수개의 가로 홈을 포함할 수 있다.Alternatively, the 3D pattern structure may include a second substrate, a plurality of protrusions having a predetermined thickness and width on the second substrate and spaced apart from each other in a matrix form, a plurality of vertical grooves formed between the plurality of protrusions, and It may include a plurality of transverse grooves.

상기 제어 장치는 상기 로봇 장치와 일체화된 형태로 형성될 수 있다.The control device may be formed integrally with the robot device.

한편, 상기 제어 장치는 상기 획득된 스캐닝 이미지에 대응하는 노멀 맵을 구성하고, 상기 참조 이미지를 기반으로 어파인 변환을 수행하여 캘리브레이션에 적용할 오차를 산출하도록 설정될 수 있다.Meanwhile, the control device may be configured to construct a normal map corresponding to the obtained scanning image, and perform an affine transformation based on the reference image to calculate an error to be applied to the calibration.

다른 예로서, 상기 로봇 장치는 상기 3D 패턴 구조물의 배치 높이를 일정 단위씩 조절할 수 있는 높이 조절 장치를 더 포함하고, 상기 제어 장치는 상기 높이 조절 장치를 기반으로 복수의 높이에서의 오차 값 산출을 수행하도록 설정될 수 있다.As another example, the robot device further includes a height adjusting device capable of adjusting the arrangement height of the 3D pattern structure by a predetermined unit, and the control device is configured to calculate error values at a plurality of heights based on the height adjusting device. can be set to perform.

본 발명의 로봇 캘리브레이션 방법은, 3D 패턴 구조물을 작업대의 지정된 위치에 배치하는 단계, 로봇 장치의 엔드 이펙터에 배치된 스캐너를 이용하여 상기 3D 패턴 구조물에 대한 스캐닝 이미지를 획득하는 단계, 상기 스캐닝된 이미지와 기 저장된 참조 이미지 간의 비교를 기반으로 상기 운동 모듈의 캘리브레이션 수행을 위한 오차 값을 산출하는 단계, 상기 산출된 오차 값을 기반으로 상기 로봇 장치의 운동 모듈에 대한 캘리브레이션을 수행하는 단계를 포함할 수 있다.The robot calibration method of the present invention includes the steps of arranging a 3D pattern structure at a designated position on a workbench, acquiring a scanning image of the 3D pattern structure using a scanner disposed on an end effector of a robot device, the scanned image Calculating an error value for performing calibration of the motion module based on a comparison between and a pre-stored reference image, and performing calibration on the motion module of the robot device based on the calculated error value. have.

여기서, 상기 오차 값을 산출하는 단계는 상기 작업대에서의 상기 3D 패턴 구조물의 높이를 조절하는 단계 및 높이 조절된 위치에서 상기 오차 값 산출을 반복 수행하는 단계를 포함하고, 상기 캘리브레이션을 수행하는 단계는 산출된 복수의 오차 값들로 상기 로봇 장치의 운동 모듈에 대한 캘리브레이션 수행을 반복 수행하는 단계를 포함할 수 있다.Here, the step of calculating the error value includes adjusting the height of the 3D pattern structure on the workbench and repeatedly performing the calculation of the error value at the height-adjusted position, and performing the calibration includes: The method may include repeatedly performing calibration on the motion module of the robot device using the calculated plurality of error values.

본 발명에 따른 시스템 및 방법은 머신비전 또는 인공지능을 활용한 로봇 팔 시스템에서 정밀한 작업 수행이 가능하도록 지원할 수 있다.The system and method according to the present invention can support to enable precise work in a robot arm system using machine vision or artificial intelligence.

또한, 본 발명의 시스템 및 방법은 작업 중 오차가 허용치 이상일 때 보정을 하거나, 공정 재배치 중에도 간단하게 캘리브레이션을 수행할 수 있다.In addition, the system and method of the present invention can correct when an error during operation is more than an allowable value or simply perform calibration during process relocation.

도 1은 본 발명의 실시 예에 따른 로봇의 캘리브레이션 시스템 구성을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 실시 예에 따른 로봇의 캘리브레이션 시스템 중 패턴 구조물의 한 예를 나타낸 도면이다.
도 3은 본 발명의 실시 예에 따른 로봇 캘리브레이션 시스템의 구성 중 로봇 장치 구성의 한 예를 보다 상세히 나타낸 도면이다.
도 4는 본 발명의 실시 예에 따른 로봇의 캘리브레이션 시스템의 보강 운용을 위한 추가 구성을 개략적으로 나타낸 도면이다.
도 5는 본 발명의 실시 예에 따른 로봇의 캘리브레이션 시스템 운용에 따라 획득될 수 있는 스캐닝 이미지의 한 예를 나타낸 도면이다.
도 6은 본 발명의 실시 예에 따른 로봇의 캘리브레이션 방법의 한 예를 나타낸 도면이다.
1 is a diagram schematically showing the configuration of a calibration system of a robot according to an embodiment of the present invention.
2 is a diagram illustrating an example of a pattern structure in a robot calibration system according to an embodiment of the present invention.
3 is a diagram illustrating in more detail an example of a configuration of a robot device among configurations of a robot calibration system according to an embodiment of the present invention.
4 is a view schematically showing an additional configuration for the reinforcement operation of the calibration system of the robot according to an embodiment of the present invention.
5 is a view showing an example of a scanning image that can be acquired according to the operation of the calibration system of the robot according to an embodiment of the present invention.
6 is a diagram illustrating an example of a method for calibrating a robot according to an embodiment of the present invention.

하기의 설명에서는 본 발명의 실시 예를 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않는 범위에서 생략될 것이라는 것을 유의하여야 한다.It should be noted that, in the following description, only the parts necessary for understanding the embodiment of the present invention will be described, and the description of other parts will be omitted in the scope not disturbing the gist of the present invention.

이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 바람직한 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.The terms or words used in the present specification and claims described below should not be construed as being limited to their ordinary or dictionary meanings, and the inventors have appropriate concepts of terms to describe their invention in the best way. It should be interpreted as meaning and concept consistent with the technical idea of the present invention based on the principle that it can be defined in Therefore, the embodiments described in this specification and the configurations shown in the drawings are only preferred embodiments of the present invention, and do not represent all the technical spirit of the present invention, so various equivalents that can be substituted for them at the time of the present application It should be understood that there may be variations and variations.

이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 보다 상세하게 설명하고자 한다.Hereinafter, embodiments of the present invention will be described in more detail with reference to the accompanying drawings.

도 1은 본 발명의 실시 예에 따른 로봇의 캘리브레이션 시스템 구성을 개략적으로 나타낸 도면이며, 도 2는 본 발명의 실시 예에 따른 로봇의 캘리브레이션 시스템 중 패턴 구조물의 한 예를 나타낸 도면이다. 도 3은 본 발명의 실시 예에 따른 로봇 캘리브레이션 시스템의 구성 중 로봇 장치 구성의 한 예를 보다 상세히 나타낸 도면이다.1 is a diagram schematically showing the configuration of a calibration system for a robot according to an embodiment of the present invention, and FIG. 2 is a diagram showing an example of a pattern structure in a calibration system for a robot according to an embodiment of the present invention. 3 is a diagram illustrating in more detail an example of a configuration of a robot device among configurations of a robot calibration system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시 예에 따른 로봇의 캘리브레이션 시스템(10)은 작업대(11), 3D 패턴 구조물(100)(또는, 3D 타입의 특정 패턴으로 형성되며, 양각 또는 음각된 패턴을 포함하는 구조물) 및 로봇 장치(200)를 포함하며, 도 3을 참조하면, 상기 로봇의 캘리브레이션 시스템(10)은 작업대(11), 3D 패턴 구조물(100)과 로봇 장치(200)와 더불어 제어 장치(300)를 더 포함할 수 있다. 도 1에서, 상기 제어 장치(300)는 로봇 장치(200) 내에 포함된 구성으로 마련되거나 또는 도 3에 나타낸 바와 같이 별도의 구성으로 마련된 후, 로봇 장치(200)와 통신을 통하여 로봇 장치(200) 제어와 관련한 제어 신호 및 정보를 제공할 수 있다.1, the robot calibration system 10 according to an embodiment of the present invention is formed in a workbench 11, a 3D pattern structure 100 (or a specific 3D type pattern, embossed or engraved pattern) structure) and a robot device 200 , and referring to FIG. 3 , the robot calibration system 10 includes a workbench 11 , a 3D pattern structure 100 , and a control device along with the robot device 200 . (300) may be further included. In FIG. 1 , the control device 300 is provided in a configuration included in the robot device 200 or as a separate configuration as shown in FIG. 3 , and then communicates with the robot device 200 through the robot device 200 . ) can provide control signals and information related to control.

상기 작업대(11)는 상기 3D 패턴 구조물(100)이 놓이며, 상기 로봇 장치(200)의 적어도 일부가 놓이거나 또는 인접되게 배치되는 기구를 포함할 수 있다. 상기 작업대(11)는 상기 로봇 장치(200)의 작업을 수행하는 장소의 적어도 일부를 제공할 수 있다. 예를 들어, 상기 작업대(11)는 지정된 물건을 이송하는 이송 장치의 일부를 포함할 수 있다. 상기 작업대(11)에 작업물에 놓이면 상기 로봇 장치(200)는 상기 작업물에 대하여 지정된 작업(예: 작업물의 파지 및 이송, 작업물의 용접, 작업물의 볼트 또는 너트 작업, 작업물에 다른 부품을 조립하는 작업 등)을 수행할 수 있다. 상기 작업대(11) 일측에는 상기 3D 패턴 구조물(100)이 지정된 위치에 놓일 수 있도록 마련된 얼라인 마크가 배치될 수 있다. 상기 얼라인 마크는 상기 작업대(11) 일측에 인쇄되거나 또는 음각될 수 있다. 상기 얼라인 마크의 적어도 일부는 상기 작업대(11)에 위치하는 작업물의 중심부와 얼라인 되는 위치에 배치될 수 있다. The workbench 11 may include a mechanism on which the 3D pattern structure 100 is placed and at least a part of the robot device 200 is placed or disposed adjacently. The work table 11 may provide at least a portion of a place for performing the work of the robot device 200 . For example, the work table 11 may include a part of a transport device for transporting a designated object. When placed on a work piece on the work table 11, the robot device 200 performs a specified task for the work piece (eg, gripping and transporting the work piece, welding the work piece, bolt or nut work of the work piece, and other parts to the work piece) assembly work, etc.). An alignment mark provided so that the 3D pattern structure 100 can be placed at a designated position may be disposed on one side of the work table 11 . The alignment mark may be printed or engraved on one side of the work table 11 . At least a portion of the alignment mark may be disposed at a position aligned with the center of the work located on the work table 11 .

상기 3D 패턴 구조물(100)은 상기 작업대(11)의 일측(예: 얼라인 마크가 형성된 장소)에 배치되어 상기 로봇 장치(200)의 캘리브레이션에 이용되는 구조물이 될 수 있다. 도 2를 참조하면, 상기 3D 패턴 구조물(100)은 제1 타입 패턴 구조물(101) 및 제2 타입 패턴 구조물(102)을 포함할 수 있다. The 3D pattern structure 100 may be a structure used for calibration of the robot apparatus 200 by being disposed on one side (eg, a place where an alignment mark is formed) of the work table 11 . Referring to FIG. 2 , the 3D pattern structure 100 may include a first type pattern structure 101 and a second type pattern structure 102 .

상기 제1 타입 패턴 구조물(101)은 제1 기판(101a), 제1 기판(101a) 상에 일정 높이와 폭을 가지며 세로 방향으로 배치된 복수개의 레일(101b), 상기 복수개의 레일(101b) 사이에 배치되며 세로 방향으로 형성된 복수개의 홈(101c)들을 포함할 수 있다. 이에 따라, 제1 타입 패턴 구조물(101)은 상기 복수개의 레일(101b)과 상기 복수개의 홈(101c)들이 교번적으로 제1 기판(101a) 상에 배치되는 구조를 가질 수 있다.The first type pattern structure 101 includes a first substrate 101a, a plurality of rails 101b vertically disposed on the first substrate 101a having a predetermined height and width, and the plurality of rails 101b. It may include a plurality of grooves 101c disposed therebetween and formed in the vertical direction. Accordingly, the first type pattern structure 101 may have a structure in which the plurality of rails 101b and the plurality of grooves 101c are alternately disposed on the first substrate 101a.

상기 제2 타입 패턴 구조물(102)은 제2 기판(102a), 제2 기판(102a) 상에 일정 높이와 폭을 가지며 형성된 복수개의 돌기(102b), 상기 복수개의 돌기(102b) 사이에 세로 방향으로 형성된 복수개의 세로 홈(102c) 및 복수개의 가로 홈(102d)을 포함할 수 있다. 이에 따라, 제2 타입 패턴 구조물(102)은 상기 복수개의 돌기가 일정 간격을 가지며 반복적으로 배치된 매트릭스 구조를 가질 수 있다.The second type pattern structure 102 includes a second substrate 102a, a plurality of protrusions 102b formed on the second substrate 102a having a predetermined height and width, and a vertical direction between the plurality of protrusions 102b. It may include a plurality of vertical grooves (102c) and a plurality of horizontal grooves (102d) formed of. Accordingly, the second type pattern structure 102 may have a matrix structure in which the plurality of protrusions are repeatedly arranged at regular intervals.

상기 로봇 장치(200)는 상기 작업대(11)에 놓이는 작업물에 대한 지정된 작업을 수행할 수 있다. 상기 로봇 장치(200)는 작업물에 대한 지정된 작업을 오차 없이 수행하기 위하여 주기적으로 또는 특정 조건에 따라 캘리브레이션을 수행할 수 있다. 상기 로봇 장치(200)는 운동 모듈(250), 동력 장치(240), 프로세서(210), 통신 회로(220), 메모리(270), 엔드 이펙터(161) 및 스캐너(163)를 포함할 수 있다. The robot device 200 may perform a specified task for the work placed on the work table 11 . The robot apparatus 200 may perform calibration periodically or according to specific conditions in order to perform a specified operation on a workpiece without error. The robot device 200 may include an exercise module 250 , a power unit 240 , a processor 210 , a communication circuit 220 , a memory 270 , an end effector 161 , and a scanner 163 . .

상기 동력 장치(240)는 상기 운동 모듈(250)의 운동을 위한 동력을 생성하고, 생성된 동력을 프로세서(210) 제어에 따라 운동 모듈(250)에 전달할 수 있다. 예컨대, 동력 장치(240)는 적어도 하나의 모터 또는 적어도 하나의 유압 장치를 포함하여 동력을 생성하고, 생성된 동력을 운동 모듈(250)에 전달할 수 있는 동력 전달 수단을 포함할 수 있다. 상기 동력 장치(240)의 동력 생성 및 동력 전달의 정도는 프로세서(210)에 의해 제어될 수 있다. 예컨대, 동력 장치(240)는 운동 모듈(250)에 포함된 관절의 회전 동작 또는 직선 동작을 위한 동력을 생성 및 전달할 수 있다. The power unit 240 may generate power for the exercise of the exercise module 250 and transmit the generated power to the exercise module 250 under the control of the processor 210 . For example, the power device 240 may include at least one motor or at least one hydraulic device to generate power, and may include a power transmission means capable of transmitting the generated power to the exercise module 250 . The degree of power generation and power transmission of the power unit 240 may be controlled by the processor 210 . For example, the power unit 240 may generate and transmit power for a rotational motion or a linear motion of a joint included in the exercise module 250 .

상기 운동 모듈(250)은 예컨대, 받침대, 적어도 하나의 관절 및 복수개의 암을 포함할 수 있다. 상기 운동 모듈(250)의 구성은 로봇 장치(200)의 작업 목적에 따라 변경될 수 있다. 예컨대, 관절의 수, 암의 개수는 로봇 장치(200)의 작업 목적에 따라 변경될 수 있다. 상기 적어도 하나의 관절은 동력 장치(240)로부터 전달된 동력에 따라 지정된 방향 및 각도로 회전할 수 있다. The exercise module 250 may include, for example, a pedestal, at least one joint, and a plurality of arms. The configuration of the exercise module 250 may be changed according to the operation purpose of the robot device 200 . For example, the number of joints and the number of arms may be changed according to the operation purpose of the robot device 200 . The at least one joint may rotate in a designated direction and angle according to the power transmitted from the power unit 240 .

다양한 예시로서, 로봇 장치(200)는 작업대(11) 방향을 촬영할 수 있는 적어도 하나의 카메라를 포함할 수 있으며, 상기 카메라는 상기 운동 모듈(250)의 특정 암이나 관절에 배치되거나 별도의 장소(예: 작업대(11) 방향의 촬영이 가능한 천장)에 배치될 수 있다. 상기 카메라는 유선 또는 무선 방식으로 프로세서(210)에 연결되고, 프로세서(210) 제어에 따라 작업대(11)의 지정된 위치에 배치된 2D 이미지가 인쇄된 캘리브레이션 플레이트와 관련한 영상을 촬영하고, 촬영된 영상을 프로세서(210)에 전달할 수 있다. 또는, 상기 카메라는 제어 장치(300)와 유선 또는 무선 통신 인터페이스를 통해 연결되고, 제어 장치(300)의 제어에 따라 캘리브레이션과 관련한 영상(예: 작업대(11)에 놓인 캘리브레이션 플레이트 촬영 이미지)을 촬영 및 전달할 수도 있다. 상기 로봇 장치(200)는 캘리브레이션 플레이트를 이용한 카메라 좌표계(예: 캘리브레이션 플레이트를 촬영한 이미지를 기반으로 획득한 값)와, 운동 모듈(250)의 TCP에 엔드 이펙터 값을 더 한 값을 기반으로 획득한 로봇 좌표계를 이용하여 카메라 좌표계-로봇 좌표계 간의 오차 보정을 수행하는 캘리브레이션 과정을 수행할 수 있다. 본 발명의 스캐닝 기반의 오차 발생 검출 방안은, 상술한 2D 이미지가 인쇄된 캘리브레이션 플레이트 촬영을 통한 카메라 좌표계-로봇 좌표계 간의 차이를 보정하는 캘리브레이션 방법 수행 이후 적용될 수 있다. As various examples, the robot device 200 may include at least one camera capable of photographing the direction of the workbench 11 , and the camera is disposed on a specific arm or joint of the exercise module 250 or at a separate place ( For example: it can be arranged on the ceiling where the image can be taken in the direction of the workbench 11). The camera is connected to the processor 210 in a wired or wireless manner, and takes an image related to a calibration plate on which a 2D image is printed, which is disposed at a designated position of the workbench 11 according to the control of the processor 210, and the captured image may be transmitted to the processor 210 . Alternatively, the camera is connected to the control device 300 through a wired or wireless communication interface, and captures an image related to calibration (eg, a calibration plate photographed image placed on the workbench 11 ) according to the control of the control device 300 . and may be transmitted. The robot device 200 obtains based on a camera coordinate system using a calibration plate (eg, a value obtained based on an image obtained by photographing the calibration plate) and a value obtained by adding an end effector value to the TCP of the exercise module 250 A calibration process of correcting an error between the camera coordinate system and the robot coordinate system may be performed using one robot coordinate system. The scanning-based error generation detection method of the present invention can be applied after performing the calibration method for correcting the difference between the camera coordinate system and the robot coordinate system through photographing the calibration plate on which the 2D image is printed.

상기 엔드 이펙터(161)는 상기 운동 모듈(250)의 끝단에 배치될 수 있다. 예컨대, 복수개의 암과 관절을 포함한 운동 모듈(250)에서, 작업대(11)에 놓이는 작업물과 가장 가깝게 근접하는 특정 암의 끝단에 배치될 수 있다. 엔드 이펙터(161)의 운동 모듈(250)의 운동에 따라 위치가 변경될 수 있다. 엔드 이펙터(161)의 종류는 작업의 종류에 따라 달라지거나 교체될 수 있다. 예컨대, 엔드 이펙터(161)는 그리퍼, 석션, 특정 툴 등 다양한 형태를 가질 수 있다. 상기 엔드 이펙터(161)의 끝단 또는 지정된 위치에 스캐너(163)가 배치될 수 있다. 또는, 상기 스캐너(163)는 상기 엔드 이펙터(161)의 특정 위치에 일체화된 형태로 마련될 수도 있다. The end effector 161 may be disposed at an end of the exercise module 250 . For example, in the exercise module 250 including a plurality of arms and joints, it may be disposed at the end of a specific arm closest to the work placed on the work table 11 . The position of the end effector 161 may be changed according to the movement of the exercise module 250 . The type of the end effector 161 may be changed or replaced according to the type of operation. For example, the end effector 161 may have various shapes, such as a gripper, a suction, and a specific tool. The scanner 163 may be disposed at an end of the end effector 161 or at a designated position. Alternatively, the scanner 163 may be provided in an integrated form at a specific position of the end effector 161 .

상기 스캐너(163)는 작업대(11)의 중심부, 얼라인 마크가 형성된 중심부, 또는 3D 패턴 구조물(100)이 배치된 위치를 향하도록 배치될 수 있다. 상기 스캐너(163)는 고성능의 근접 촬영이 가능한 촬상 소자를 포함할 수 있다. 상기 스캐너(163)는 3D 패턴 구조물(100)의 2D 이미지 및 깊이 값 정보 중 적어도 일부를 획득할 수 있다. 상기 스캐너(163)는 프로세서(210)와 전기적으로 직접 연결되어 스캐닝한 정보를 프로세서(210)에 전달하거나 또는 통신 회로(220)를 통하여 프로세서(210)에 스캐닝한 정보를 전달할 수 있다. 상기 스캐너(163)는 상기 3D 패턴 구조물(100)의 적어도 일부 또는 전체를 한 번에 촬영할 수 있는 성능을 가지거나, 높이에 배치될 수 있다. 또는, 스캐너(163)는 일 방향(예: 세로 방향 또는 가로 방향)의 이미지를 순차적으로 스캐닝할 수 있도록 마련될 수 있다. 이 경우, 운동 모듈(250)은 프로세서(210) 제어에 대응하여 일 방향(예: 가로 방향 또는 세로 방향)으로 스캐너(163)를 이동시킬 수 있으며, 스캐너(163)가 순차적으로 획득한 정보가 프로세서(210)에 전달될 수도 있다. The scanner 163 may be disposed to face the center of the work table 11 , the center at which an alignment mark is formed, or the position at which the 3D pattern structure 100 is disposed. The scanner 163 may include an imaging device capable of high-performance close-up photography. The scanner 163 may acquire at least a part of the 2D image and depth value information of the 3D pattern structure 100 . The scanner 163 may be directly electrically connected to the processor 210 to transmit scanned information to the processor 210 or to the processor 210 through the communication circuit 220 . The scanner 163 may have a capability of photographing at least a part or the entirety of the 3D pattern structure 100 at once, or may be disposed at a height. Alternatively, the scanner 163 may be provided to sequentially scan images in one direction (eg, a vertical direction or a horizontal direction). In this case, the motion module 250 may move the scanner 163 in one direction (eg, a horizontal direction or a vertical direction) in response to the control of the processor 210 , and the information obtained by the scanner 163 sequentially It may be transmitted to the processor 210 .

상기 통신 회로(220)는 로봇 장치(200)의 통신 채널을 형성할 수 있다. 예컨대, 상기 통신 회로(220)는 제어 장치(300)와 통신 채널을 형성하고, 제어 장치(300)로부터 작업 동작과 관련한 정보, 캘리브레이션과 관련한 정보를 수신할 수 있다. 통신 회로(220)는 프로세서(210) 제어에 대응하여 스캐너(163)가 획득한 영상을 제어 장치(300)에 전달할 수도 있다. 상기 통신 회로(220)는 제어 장치(300)와 연결되는 유선 통신 인터페이스 및 무선 통신 인터페이스 중 적어도 하나를 포함할 수 있다. 또한, 상기 통신 회로(220)는 또한, 스캐너(163)가 프로세서(210)와 직접적으로 연결되지 않은 경우, 스캐너(163)와 프로세서(210) 간의 통신 채널을 유선 또는 무선 중 적어도 하나의 방식으로 지원할 수 있다.The communication circuit 220 may form a communication channel of the robot device 200 . For example, the communication circuit 220 may form a communication channel with the control device 300 , and may receive information related to a work operation and information related to calibration from the control device 300 . The communication circuit 220 may transmit the image acquired by the scanner 163 to the control device 300 in response to the control of the processor 210 . The communication circuit 220 may include at least one of a wired communication interface and a wireless communication interface connected to the control device 300 . In addition, the communication circuit 220 also, when the scanner 163 is not directly connected to the processor 210, a communication channel between the scanner 163 and the processor 210 in at least one of a wired or wireless method. can support

상기 메모리(270)는 로봇 장치(200) 운용과 관련한 적어도 하나의 프로그램 및 작업 운용과 관련한 작업 정보, 캘리브레이션 처리와 관련한 정보 등을 저장할 수 있다. 상기 메모리(270)는 스캐너(163)가 획득한 스캔 이미지(예: 3D 패턴 구조물(100) 촬영 이미지)를 임시로 저장할 수 있다. 메모리(270)에 저장된 촬영 이미지는 캘리브레이션 수행에 이용되거나, 제어 장치(300)에 전달될 수 있다. The memory 270 may store at least one program related to operation of the robot device 200 , job information related to job operation, information related to calibration processing, and the like. The memory 270 may temporarily store a scan image (eg, an image captured by the 3D pattern structure 100 ) acquired by the scanner 163 . The captured image stored in the memory 270 may be used to perform calibration or may be transmitted to the control device 300 .

상기 프로세서(210)는 로봇 장치(200) 운용과 관련한 정보의 처리 및 각 구성들(예: 운동 모듈(250), 동력 장치(240))의 동작 제어를 통한 작업을 수행할 수 있다. 본 발명의 실시 예에 따른 캘리브레이션 작업을 로봇 장치(200)가 독자적으로 수행하도록 구성되는 경우, 프로세서(210)는 운동 모듈(250)과 동력 장치(240)의 운용을 제어하면서, 주기적으로, 필요에 따라, 또는 관리자 입력에 따라 캘리브레이션과 관련한 스캐너(163) 운용을 수행할 수 있다. 상기 프로세서(210)는 동력 장치(240)와 운동 모듈(250)을 조작하여 엔드 이펙터(161)에 배치된 스캐너(163)가 3D 패턴 구조물(100)로부터 지정된 위치에 배치되도록 제어하고, 스캐너(163)를 이용하여 3D 패턴 구조물(100)에 관한 스캔 이미지를 획득하도록 제어할 수 있다. 상기 프로세서(210)는 획득된 스캔 이미지가 메모리(270)에 기 저장된 기준 이미지(또는 참조 이미지, 3D 패턴 구조물에 해당하는 3D 캐드(CAD) 모델)를 비교하여, 엔드 이펙터(161)의 위치에 관한 오차 발생 여부를 확인할 수 있다. 상기 프로세서(210)는 엔드 이펙터(161)의 위치에 관한 오차 발생 시, 캘리브레이션 작업을 요청하는 메시지를 출력할 수 있다. 상기 프로세서(210)는 상기 3D 패턴 구조물(100)을 촬영한 스캐닝 이미지를 기반으로 오차 보정을 수행하는 경우, 3차원 재구성된 결과를 normal map으로 변환한 후, 이에 대한 어파인 변환을 수행하여 오차 값을 검출하고, 그에 따른 보정을 수행할 수 있다. 상기 3D 패턴 구조물(100)을 통한 캘리브레이션 연산을 제어 장치(300)가 처리하도록 설계된 경우, 상기 프로세서(210)는 제어 장치(300) 제어에 대응하여 상기 스캐너(163)를 제어하여 3D 패턴 구조물(100)에 대한 스캐닝 이미지를 획득하여 제어 장치(300)에 전달하고, 제어 장치(300)로부터 오차 보정에 필요한 값들을 수신하여, 운동 모듈(250)의 위치 또는 동작 범위를 조정할 수 있다.The processor 210 may process information related to the operation of the robot device 200 and perform operations through operation control of respective components (eg, the exercise module 250 and the power unit 240 ). When the robot apparatus 200 is configured to independently perform a calibration operation according to an embodiment of the present invention, the processor 210 controls the operation of the exercise module 250 and the power unit 240 while periodically, if necessary The scanner 163 operation related to calibration may be performed according to the user interface or an administrator input. The processor 210 operates the power unit 240 and the exercise module 250 to control the scanner 163 disposed on the end effector 161 to be disposed at a designated position from the 3D pattern structure 100, and the scanner ( 163) may be used to control to obtain a scan image of the 3D pattern structure 100 . The processor 210 compares the acquired scan image with a reference image (or a reference image, a 3D CAD model corresponding to a 3D pattern structure) pre-stored in the memory 270 , and is located at the position of the end effector 161 . You can check whether an error has occurred. When an error occurs regarding the position of the end effector 161 , the processor 210 may output a message requesting a calibration operation. When the processor 210 performs error correction based on the scanning image of the 3D pattern structure 100, the 3D reconstructed result is converted into a normal map, and then an affine transformation is performed on the error correction. A value can be detected and correction can be performed accordingly. When the control device 300 is designed to process the calibration operation through the 3D pattern structure 100, the processor 210 controls the scanner 163 in response to the control of the control device 300 to control the 3D pattern structure ( 100) may be acquired and transmitted to the control device 300 , and values necessary for error correction may be received from the control device 300 to adjust the position or operation range of the exercise module 250 .

상기 제어 장치(300)는 상기 로봇 캘리브레이션 시스템(10)에서 로봇 장치(200)가 캘리브레이션과 관련한 연산을 처리하도록 마련되는 경우, 로봇 장치(200) 내에 마련될 수 있다. 이 경우, 상기 제어 장치(300)는 로봇 장치(200)의 프로세서(210) 및 메모리(270) 구성으로 구현될 수도 있다. 다른 예로서, 상기 제어 장치(300)는 로봇 장치(200)의 통신 회로(220)와 통신할 수 있는 통신 인터페이스를 포함하고, 로봇 장치(200)로부터 캘리브레이션과 관련한 제어 신호를 로봇 장치(200)에 전달할 수 있다. 상기 제어 장치(300)는 로봇 장치(200)의 캘리브레이션 관련 동작(예: 3D 패턴 구조물(100)의 스캐닝 이미지 획득) 이후, 3D 패턴 구조물(100)을 스캐닝한 이미지를 수신할 수 있다. 상기 제어 장치(300)는 수신된 3D 패턴 구조물(100)의 스캐닝 이미지를 기 지정된 기준 이미지와 비교하면서 normal map으로 변환한 후, 어파인 변환을 수행하여 오차 값을 산출할 수 있다. 상기 제어 장치(300)는 산출한 오차 값을 로봇 장치(200)에 전달할 수 있다.The control device 300 may be provided in the robot device 200 when the robot device 200 is provided to process a calculation related to calibration in the robot calibration system 10 . In this case, the control device 300 may be implemented with the configuration of the processor 210 and the memory 270 of the robot device 200 . As another example, the control device 300 includes a communication interface capable of communicating with the communication circuit 220 of the robot device 200 , and transmits a control signal related to calibration from the robot device 200 to the robot device 200 . can be forwarded to The control device 300 may receive a scanned image of the 3D pattern structure 100 after a calibration-related operation of the robot apparatus 200 (eg, acquiring a scanning image of the 3D pattern structure 100 ). The control device 300 may calculate an error value by performing an affine transformation after converting the received scanning image of the 3D pattern structure 100 into a normal map while comparing it with a predetermined reference image. The control device 300 may transmit the calculated error value to the robot device 200 .

도 4는 본 발명의 실시 예에 따른 로봇의 캘리브레이션 시스템의 보강 운용을 위한 추가 구성을 개략적으로 나타낸 도면이다.4 is a view schematically showing an additional configuration for the reinforcement operation of the calibration system of the robot according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 캘리브레이션 시스템(10)은 401 상태에서와 같이, 작업대(11)에 3D 패턴 구조물(100)을 배치하고, 로봇 장치(200)에 배치된 스캐너(163)를 이용하여 상기 3D 패턴 구조물(100)에 대한 스캐닝 이미지를 획득한 후, 일반 맵 구성, 메모리(270)에 기 저장된 참조 이미지와의 비교 및 어파인 변환을 수행하여 오차 값 산출을 수행할 수 있다. 즉, 본 발명의 캘리브레이션 시스템(10)은 3D 패턴 구조물(100)의 고성능 스캐닝된 이미지를 기반으로, x, y, z축 방향으로의 오차 발생을 기 저장된 참조 이미지와의 비교를 통해 산출하는 방식이 될 수 있다. Referring to FIG. 4 , the calibration system 10 of the present invention arranges the 3D pattern structure 100 on the workbench 11 as in the 401 state, and uses the scanner 163 disposed on the robot device 200 . Thus, after obtaining a scanning image of the 3D pattern structure 100 , a general map configuration, comparison with a reference image pre-stored in the memory 270 and affine transformation may be performed to calculate an error value. That is, the calibration system 10 of the present invention calculates the generation of errors in the x, y, and z-axis directions based on the high-performance scanned image of the 3D pattern structure 100 by comparing it with a pre-stored reference image. this can be

또한, 캘리브레이션 시스템(10)은 높이 조절 장치(110)를 이용하여 3D 패턴 구조물(100)을 작업대(11)로부터 일정 높이만큼 상승 시킨 상태에서, 캘리브레이션 동작을 반복 수행할 수 있다. 상기 캘리브레이션 시스템(10)은 상술한 높이 조절을 통하여 운동 모듈(250)으 다양한 운동 상태에서의 오차 발생을 검출함으로써, 캘리브레이션 결과가 한쪽에 쏠리는(local minima, 또는 over fitting) 것을 방지할 수 있다. 상기 높이 조절 장치(110)는 작업대(11)의 상부면으로부터의 3D 패턴 구조물(100) 높이를 조절할 수 있는 다양한 구조물을 포함할 수 있다. 한 예로서, 높이 조절 장치(110)는 3D 패턴 구조물(100)을 상하로 이동시킬 수 있는 프레스를 포함할 수 있다. 상기 작업대(11) 상부면으로부터 3D 패턴 구조물(100)의 이격 거리 변화가 발생하더라도, 로봇 장치(200)의 스캐너(163)와 3D 패턴 구조물(100) 사이의 이격 거리는 유지될 수 있다.In addition, the calibration system 10 may repeatedly perform the calibration operation in a state in which the 3D pattern structure 100 is raised by a predetermined height from the work table 11 by using the height adjustment device 110 . The calibration system 10 can prevent the calibration result from being skewed to one side (local minima, or over-fitting) by detecting the occurrence of errors in various motion states of the exercise module 250 through the above-described height adjustment. The height adjusting device 110 may include various structures capable of adjusting the height of the 3D pattern structure 100 from the upper surface of the work table 11 . As an example, the height adjustment device 110 may include a press capable of moving the 3D pattern structure 100 up and down. Even if a change in the separation distance of the 3D pattern structure 100 from the upper surface of the work table 11 occurs, the separation distance between the scanner 163 of the robot apparatus 200 and the 3D pattern structure 100 may be maintained.

도 5는 본 발명의 실시 예에 따른 로봇의 캘리브레이션 시스템 운용에 따라 획득될 수 있는 스캐닝 이미지의 한 예를 나타낸 도면이다.5 is a view showing an example of a scanning image that can be acquired according to the operation of the calibration system of the robot according to an embodiment of the present invention.

도 5를 참조하면, 로봇 장치(200)의 캘리브레이션이 완료된 상태 또는 오차 없이 지정된 위치의 작업물에 대한 정상적인 작업을 수행할 수 있는 상태인 경우, 3D 패턴 구조물(100)에 대한 스캐닝 이미지는 501 상태에서와 같이, 획득될 수 있다. 예컨대, 501 상태 스캐닝 이미지는 세로로 배치된 복수개의 레일(101b)과 복수개의 레일(101b)들 사이에 형성된 복수개의 홈(101c)들이 기울어짐 없이 정렬될 수 있다. Referring to FIG. 5 , when the calibration of the robot device 200 is completed or in a state in which a normal operation can be performed on a workpiece at a specified position without error, the scanning image of the 3D pattern structure 100 is in the 501 state As in, it can be obtained. For example, in the 501 state scanning image, a plurality of vertically arranged rails 101b and a plurality of grooves 101c formed between the plurality of rails 101b may be aligned without inclination.

한편, 로봇 장치(200)의 적어도 일부분에 오차가 발생한 경우, 3D 패턴 구조물(100)에 대한 스캐닝 이미지는 503 상태에서와 같이, 획득될 수 있다. 예컨대, 503 상태 스캐닝 이미지는 세로로 배치된 복수개의 레일(101b)과 복수개의 레일(101b)들 사이에 형성된 복수개의 홈(101c)들이 기울어진 상태로 정렬될 수 있다. 다른 예로서, x축과 z축 방향으로 오차가 발행하는 경우, 복수개의 레일(101b)과 복수개의 홈(101c)의 폭이 불규칙하게 측정될 수 있다. Meanwhile, when an error occurs in at least a portion of the robot apparatus 200 , a scanning image of the 3D pattern structure 100 may be acquired as in the state 503 . For example, in the 503 state scanning image, a plurality of vertically arranged rails 101b and a plurality of grooves 101c formed between the plurality of rails 101b may be arranged in an inclined state. As another example, when an error occurs in the x-axis and z-axis directions, the widths of the plurality of rails 101b and the plurality of grooves 101c may be irregularly measured.

상기 로봇 장치(200)(또는 제어 장치(300))는 상기 기울어진 스캐닝 이미지를 참조 이미지(예: 501 이미지)에 비교하여 어파인 변환을 수행함으로써, 오차 값을 산출하고, 산출된 오차 값에 따른 운동 모듈(250) 위치 또는 배치 상태 조절을 수행할 수 있다. The robot device 200 (or the control device 300 ) calculates an error value by comparing the tilted scanning image with a reference image (eg, 501 image) and performs an affine transformation, and calculates an error value based on the calculated error value. It is possible to adjust the position or arrangement of the exercise module 250 accordingly.

도 6은 본 발명의 실시 예에 따른 로봇의 캘리브레이션 방법의 한 예를 나타낸 도면이다.6 is a diagram illustrating an example of a method for calibrating a robot according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 로봇 캘리브레이션 방법에 있어서, 601 단계에서, 작업대(11)의 지정된 위치(예: 사전 인쇄된 얼라인 마크의 중심점)에 3D 패턴 구조물(100)을 배치할 수 있다.Referring to FIG. 6 , in the robot calibration method of the present invention, in step 601 , the 3D pattern structure 100 may be disposed at a designated position (eg, the center point of the pre-printed alignment mark) of the workbench 11 . .

603 단계에서, 로봇 장치(200)에 배치된 스캐너(163)를 이용하여 상기 3D 패턴 구조물(100)에 대한 스캐닝 이미지를 획득할 수 있다. 여기서, 상기 로봇 장치(200)에 배치된 스캐너(163)의 위치는 사전 지정된 위치로서, 스캐너(163)의 스캐닝 포인트가 3D 패턴 구조물(100)의 중심점을 향하도록 배치되거나, 또는, 적어도 3D 패턴 구조물(100)의 중심점을 포함하는 스캐닝 이미지를 획득할 수 있는 위치에 배치될 수 있다. In operation 603 , a scanning image of the 3D pattern structure 100 may be acquired using the scanner 163 disposed in the robot device 200 . Here, the position of the scanner 163 disposed in the robot device 200 is a predetermined position, and the scanning point of the scanner 163 is disposed to face the center point of the 3D pattern structure 100 , or at least a 3D pattern It may be disposed at a position capable of acquiring a scanning image including the center point of the structure 100 .

605 단계에서, 로봇 장치(200)의 프로세서(210) 또는 제어 장치(300)는 획득된 스캐닝 이미지를 기반으로 캘리브레이션 수행을 위한 오차 값을 산출할 수 있다. 예컨대, 프로세서(210)는 획득된 스캐닝 이미지를 일반 맵(normal map)으로 변환하고, 기 저장된 참조 이미지를 기준으로 어파인 변환을 수행하여 오차 값을 산출할 수 있다. In step 605 , the processor 210 or the control device 300 of the robot device 200 may calculate an error value for performing calibration based on the acquired scanning image. For example, the processor 210 may convert the acquired scanning image into a normal map, and may calculate an error value by performing affine transformation based on a pre-stored reference image.

607 단계에서, 로봇 장치(200)의 프로세서(210) 또는 제어 장치(300)는 오차 값에 따른 캘리브레이션 수행을 처리할 수 있다. 예컨대, 상기 프로세서(210)는 운동 모듈(250)이 x, y, z축 오차를 적용하여 운동 모듈(250)의 위치 또는 상태의 초기 값을 조절할 수 있다. 상기 로봇 장치(200)의 프로세서(210)는 높이 조절 장치(110)를 이용하여 지정된 단위만큼씩 높이를 조절하면서, 상술한 캘리브레이션 동작을 반복 수행할 수 있다. 본 발명의 캘리브레이션 방법은 로봇 팔 기구학 캘리브레이션, 카메라 또는 센서 장착 위치 캘리브레이션, 카메라 내부-외부 캘리브레이션(intrinsic parameter - extrinsic parameter calibration), 또는 Hand-Eye calibration 처럼 캘리브레이션을 수행하고 있는 대상정보 외에는 오차가 없다는 가정을 하지 않는 방법으로서, 머신비전이나 인공지능을 활용한 로봇 팔의 작업에서, 실제 작업을 위한 전체 시스템을 단일 솔루션으로 캘리브레이션을 수행할 수 있도록 지원한다. 이와 관련하여, 본 발명의 로봇 장치(200)는 엔드 이펙터(161)에 스캐너(163)(또는 레이저 스캐너)를 배치하고, 정밀 가공된 3D 패턴 구조물(예: 금속 캘리브레이션 판)을 포함할 수 있다. 본 발명이 캘리브레이션 방법은 3D 패턴 구조물의 높이를 다양하게 하고, 3D 패턴 구조물을 수평 방향으로 이동함으로써, 캘리브레이션 정확도를 높임으로써, 데이터 쏠림(예: local minima, over fitting 문제)을 방지할 수 있다. In step 607 , the processor 210 or the control device 300 of the robot device 200 may process calibration according to the error value. For example, the processor 210 may adjust the initial value of the position or state of the exercise module 250 by applying the x, y, and z-axis errors to the exercise module 250 . The processor 210 of the robot device 200 may repeatedly perform the above-described calibration operation while adjusting the height by a specified unit using the height adjusting device 110 . The calibration method of the present invention assumes that there is no error other than the target information being calibrated, such as robot arm kinematics calibration, camera or sensor mounting position calibration, camera internal-extrinsic parameter calibration, or Hand-Eye calibration. As a method not to do this, in the work of a robot arm using machine vision or artificial intelligence, it supports calibration of the entire system for real work with a single solution. In this regard, the robot device 200 of the present invention may include a scanner 163 (or a laser scanner) disposed on the end effector 161 and a precisely processed 3D pattern structure (eg, a metal calibration plate). . According to the calibration method of the present invention, by varying the height of the 3D pattern structure and moving the 3D pattern structure in the horizontal direction, the calibration accuracy is increased, and data aggregation (eg, local minima, over fitting problem) can be prevented.

한편, 본 명세서와 도면에 개시된 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게는 자명한 것이다.On the other hand, the embodiments disclosed in the present specification and drawings are merely presented as specific examples to aid understanding, and are not intended to limit the scope of the present invention. It is obvious to those of ordinary skill in the art to which the present invention pertains that other modifications based on the technical spirit of the present invention can be implemented in addition to the embodiments disclosed herein.

10: 로봇 캘리브레이션 시스템
100: 3D 패턴 구조물
200: 로봇 장치
210: 프로세서
220: 통신 회로
240: 동력 장치
250: 운동 모듈
261: 엔드 이펙터
263: 스캐너
270: 메모리
300: 제어 장치
10: Robot Calibration System
100: 3D pattern structure
200: robot device
210: processor
220: communication circuit
240: power unit
250: exercise module
261: end effector
263: Scanner
270: memory
300: control device

Claims (8)

로봇 캘리브레이션 시스템에 있어서,
3D 패턴 구조물;
상기 3D 패턴 구조물이 놓이는 작업대, 상기 작업대에 놓인 상기 3D 패턴 구조물에 대한 스캐닝 이미지를 수집하는 스캐너, 상기 스캐너가 장착된 엔드 이펙터, 상기 엔드 이펙터가 결합하는 운동 모듈을 적어도 포함하는 로봇 장치;
상기 3D 패턴 구조물에 대한 스캐닝 이미지를 획득하고, 상기 스캐닝 이미지와 기 저장된 참조 이미지 간의 비교를 기반으로 상기 운동 모듈의 캘리브레이션 수행을 위한 오차 값을 산출하고, 상기 오차 값을 기반으로 상기 로봇 장치의 캘리브레이션 수행을 제어하도록 설정된 제어 장치;를 포함하고,
상기 제어 장치는,
상기 획득된 스캐닝 이미지에 대응하는 노멀 맵을 구성하고, 상기 참조 이미지를 기반으로 어파인 변환을 수행하여 캘리브레이션에 적용할 오차를 산출하도록 설정된 것을 특징으로 하는 로봇 캘리브레이션 시스템.
In the robot calibration system,
3D patterned structures;
A robot device comprising at least a workbench on which the 3D pattern structure is placed, a scanner for collecting a scanning image of the 3D pattern structure placed on the workbench, an end effector to which the scanner is mounted, and a motion module to which the end effector is coupled;
Obtaining a scanning image of the 3D pattern structure, calculating an error value for performing calibration of the motion module based on a comparison between the scanning image and a pre-stored reference image, and calibrating the robot device based on the error value a control device set to control the performance;
The control device is
A robot calibration system, characterized in that it is configured to construct a normal map corresponding to the obtained scanning image, and perform an affine transformation based on the reference image to calculate an error to be applied to the calibration.
제1항에 있어서,
상기 3D 패턴 구조물은
제1 기판;
상기 제1 기판 상에 일정 두께를 가지고 제1 방향으로 길게 형성되며, 서로 일정 간격 이격되어 배치된 복수개의 레일;
상기 복수개의 레일들 사이에 형성된 복수개의 홈;을 포함하는 것을 특징으로 하는 로봇 캘리브레이션 시스템.
According to claim 1,
The 3D pattern structure is
a first substrate;
a plurality of rails formed to have a predetermined thickness on the first substrate and elongated in a first direction and spaced apart from each other by a predetermined distance;
A robot calibration system comprising a; a plurality of grooves formed between the plurality of rails.
제1항에 있어서,
상기 3D 패턴 구조물은
제2 기판;
상기 제2 기판 상에 일정 두께와 폭을 가지며 서로 일정 간격 이격되어 매트릭스 형태로 배치된 복수개의 돌기;
상기 복수개의 돌기들 사이에 형성된 복수개의 세로 홈 및 복수개의 가로 홈;을 포함하는 것을 특징으로 하는 로봇 캘리브레이션 시스템.
According to claim 1,
The 3D pattern structure is
a second substrate;
a plurality of protrusions having a predetermined thickness and width on the second substrate and spaced apart from each other in a matrix form;
A robot calibration system comprising: a plurality of vertical grooves and a plurality of horizontal grooves formed between the plurality of protrusions.
제1항에 있어서,
상기 제어 장치는
상기 로봇 장치와 일체화된 형태로 형성되는 것을 특징으로 하는 로봇 캘리브레이션 시스템.
According to claim 1,
the control device
Robot calibration system, characterized in that formed in an integrated form with the robot device.
삭제delete 제1항에 있어서,
상기 3D 패턴 구조물의 배치 높이를 일정 단위씩 조절할 수 있는 높이 조절 장치;를 더 포함하고,
상기 제어 장치는
상기 높이 조절 장치를 기반으로 복수의 높이에서의 오차 값 산출을 수행하도록 설정된 것을 특징으로 하는 로봇 캘리브레이션 시스템.
According to claim 1,
Further comprising; a height adjustment device capable of adjusting the arrangement height of the 3D pattern structure by a predetermined unit;
the control device
A robot calibration system, characterized in that it is set to calculate error values at a plurality of heights based on the height adjustment device.
로봇 캘리브레이션 방법에 있어서,
3D 패턴 구조물을 작업대의 지정된 위치에 배치하는 단계;
로봇 장치의 엔드 이펙터에 배치된 스캐너를 이용하여 상기 3D 패턴 구조물에 대한 스캐닝 이미지를 획득하는 단계;
상기 스캐닝된 이미지와 기 저장된 참조 이미지 간의 비교를 기반으로 상기 로봇 장치의 운동 모듈의 캘리브레이션 수행을 위한 오차 값을 산출하는 단계;
상기 산출된 오차 값을 기반으로 상기 로봇 장치의 운동 모듈에 대한 캘리브레이션을 수행하는 단계;를 포함하며,
상기 오차 값을 산출하는 단계에서는,
상기 획득된 스캐닝 이미지에 대응하는 노멀 맵을 구성하고, 상기 참조 이미지를 기반으로 어파인 변환을 수행하여 캘리브레이션에 적용할 오차를 산출하도록 설정된 것을 특징으로 하는 로봇 캘리브레이션 방법.
In the robot calibration method,
placing the 3D pattern structure at a designated location on the workbench;
acquiring a scanning image of the 3D pattern structure using a scanner disposed on an end effector of a robot device;
calculating an error value for performing calibration of a motion module of the robot device based on a comparison between the scanned image and a pre-stored reference image;
Including; performing calibration on the motion module of the robot device based on the calculated error value,
In the step of calculating the error value,
A robot calibration method, characterized in that it is configured to construct a normal map corresponding to the obtained scanning image, and perform an affine transformation based on the reference image to calculate an error to be applied to the calibration.
제7항에 있어서,
상기 오차 값을 산출하는 단계는
상기 작업대에서의 상기 3D 패턴 구조물의 높이를 조절하는 단계;
높이 조절된 위치에서 상기 오차 값 산출을 반복 수행하는 단계;를 포함하고,
상기 캘리브레이션을 수행하는 단계는
산출된 복수의 오차 값들로 상기 로봇 장치의 운동 모듈에 대한 캘리브레이션 수행을 반복 수행하는 단계;를 포함하는 것을 특징으로 하는 로봇 캘리브레이션 방법.
8. The method of claim 7,
The step of calculating the error value is
adjusting the height of the 3D pattern structure on the workbench;
Including; repeating the calculation of the error value at the height-adjusted position;
The step of performing the calibration is
Repeatingly performing calibration on the motion module of the robot device using the calculated plurality of error values; Robot calibration method comprising: a.
KR1020200142939A 2020-10-30 2020-10-30 System and Method for calibration of robot based on a scanning KR102422990B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200142939A KR102422990B1 (en) 2020-10-30 2020-10-30 System and Method for calibration of robot based on a scanning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200142939A KR102422990B1 (en) 2020-10-30 2020-10-30 System and Method for calibration of robot based on a scanning

Publications (2)

Publication Number Publication Date
KR20220058740A KR20220058740A (en) 2022-05-10
KR102422990B1 true KR102422990B1 (en) 2022-07-21

Family

ID=81592143

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200142939A KR102422990B1 (en) 2020-10-30 2020-10-30 System and Method for calibration of robot based on a scanning

Country Status (1)

Country Link
KR (1) KR102422990B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117119115B (en) * 2023-10-23 2024-02-06 杭州百子尖科技股份有限公司 Calibration method and device based on machine vision, electronic equipment and storage medium
CN117901120A (en) * 2024-03-08 2024-04-19 北京纳通医用机器人科技有限公司 Mechanical arm control method, device, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005515675A (en) 2001-12-26 2005-05-26 イェダ リサーチ アンド デベロップメント カンパニー リミテッド System and method for enhancing spatial or temporal resolution of video
JP2007125633A (en) * 2005-11-02 2007-05-24 Pulstec Industrial Co Ltd Positioning error correcting device of multi-degree of freedom robot, positioning error correction method thereof, and positioning error correcting calibration tool
JP2010139329A (en) * 2008-12-10 2010-06-24 Fanuc Ltd Calibrating device for calibration and measurement system comprising calibration device
JP6131001B2 (en) * 2012-05-01 2017-05-17 株式会社安藤・間 3D pattern for camera calibration
WO2019152617A1 (en) 2018-02-03 2019-08-08 The Johns Hopkins University Calibration system and method to align a 3d virtual scene and 3d real world for a stereoscopic head-mounted display

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100603618B1 (en) * 2004-10-18 2006-07-24 한국전자통신연구원 Apparatus and Method for Geometric Distortion Correction of Document Image using Affine Transform

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005515675A (en) 2001-12-26 2005-05-26 イェダ リサーチ アンド デベロップメント カンパニー リミテッド System and method for enhancing spatial or temporal resolution of video
JP2007125633A (en) * 2005-11-02 2007-05-24 Pulstec Industrial Co Ltd Positioning error correcting device of multi-degree of freedom robot, positioning error correction method thereof, and positioning error correcting calibration tool
JP2010139329A (en) * 2008-12-10 2010-06-24 Fanuc Ltd Calibrating device for calibration and measurement system comprising calibration device
JP6131001B2 (en) * 2012-05-01 2017-05-17 株式会社安藤・間 3D pattern for camera calibration
WO2019152617A1 (en) 2018-02-03 2019-08-08 The Johns Hopkins University Calibration system and method to align a 3d virtual scene and 3d real world for a stereoscopic head-mounted display

Also Published As

Publication number Publication date
KR20220058740A (en) 2022-05-10

Similar Documents

Publication Publication Date Title
US20230028351A1 (en) Laser patterning skew correction
US20010055069A1 (en) One camera system for component to substrate registration
KR102422990B1 (en) System and Method for calibration of robot based on a scanning
US5671056A (en) Three-dimensional form measuring apparatus and method
US11972589B2 (en) Image processing device, work robot, substrate inspection device, and specimen inspection device
KR20020021174A (en) Calibration methods for placement machines incorporating on-head linescan sensing
KR102525704B1 (en) System and method for three-dimensional calibration of a vision system
KR20130042035A (en) Laser processing apparatus and substrate position detecting method
KR102230321B1 (en) Laser processing equipment
JPWO2018168757A1 (en) Image processing apparatus, system, image processing method, article manufacturing method, program
JP5457665B2 (en) Electronic component mounting device
JP6807450B2 (en) Articulated robot parallelism determination method and articulated robot tilt adjustment device
JP6565367B2 (en) Position correction system
JP5572247B2 (en) Image distortion correction method
JP6965422B2 (en) Camera parallelism judgment method
CN110682005B (en) Laser marking real-time correction method and control device
JP2004309318A (en) Position detection method, its device and its program, and calibration information creation method
CN112308919A (en) Method and device for correcting clamping position of chip in clamp
JP2664424B2 (en) Laser processing machine
KR101801168B1 (en) Three-dimensional calibrator for measuring of 3D alignment error and method for measuring of 3D alignment error using thereof
JP3859245B2 (en) How to center the chart
KR102384648B1 (en) System and Method for calibration of robot using a touch
CN118009889B (en) Method for measuring position of workpiece dispensing slot
US20230062780A1 (en) Measurement system, measurement method and non-transitory storage medium
JP3779118B2 (en) Method for detecting displacement of camera in imaging apparatus, method for detecting tilt of camera in imaging apparatus, and method for correcting movement amount of camera in imaging apparatus

Legal Events

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