KR102624242B1 - System for providing two dimensional and three dimensional matching service for robot - Google Patents

System for providing two dimensional and three dimensional matching service for robot Download PDF

Info

Publication number
KR102624242B1
KR102624242B1 KR1020230088639A KR20230088639A KR102624242B1 KR 102624242 B1 KR102624242 B1 KR 102624242B1 KR 1020230088639 A KR1020230088639 A KR 1020230088639A KR 20230088639 A KR20230088639 A KR 20230088639A KR 102624242 B1 KR102624242 B1 KR 102624242B1
Authority
KR
South Korea
Prior art keywords
data
robot
matching
matching service
unit
Prior art date
Application number
KR1020230088639A
Other languages
Korean (ko)
Inventor
성노윤
남기환
Original Assignee
주식회사 아임토리
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아임토리 filed Critical 주식회사 아임토리
Priority to KR1020230088639A priority Critical patent/KR102624242B1/en
Application granted granted Critical
Publication of KR102624242B1 publication Critical patent/KR102624242B1/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/1674Programme controls characterised by safety, monitoring, diagnostic
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

로봇 기반 2D 및 3D 매칭 서비스 제공 시스템이 제공되며, 로봇을 적어도 하나의 각도에서 2D 데이터로 촬영하고, 촬영한 2D 데이터가 3D 데이터와 매칭된 콘텐츠를 출력하는 사용자 단말 및 사용자 단말로부터 로봇을 적어도 하나의 각도에서 촬영한 2D 데이터를 수집하는 수집부, 로봇의 움직임을 제어하는 3D 데이터를 추출하는 추출부, 2D 데이터를 3D 데이터에 매칭하는 매칭부, 2D 데이터가 3D 데이터와 매칭된 콘텐츠를 사용자 단말로 전송하는 전송부를 포함하는 매칭 서비스 제공 서버를 포함한다.A robot-based 2D and 3D matching service provision system is provided, and a user terminal that photographs a robot as 2D data from at least one angle and outputs content in which the captured 2D data is matched with 3D data, and at least one robot from the user terminal A collection unit that collects 2D data taken at an angle, an extraction unit that extracts 3D data that controls the robot's movement, a matching unit that matches 2D data to 3D data, and content in which 2D data is matched with 3D data is sent to the user terminal. It includes a matching service providing server including a transmission unit that transmits to.

Description

로봇 기반 2D 및 3D 매칭 서비스 제공 시스템{SYSTEM FOR PROVIDING TWO DIMENSIONAL AND THREE DIMENSIONAL MATCHING SERVICE FOR ROBOT}Robot-based 2D and 3D matching service provision system {SYSTEM FOR PROVIDING TWO DIMENSIONAL AND THREE DIMENSIONAL MATCHING SERVICE FOR ROBOT}

본 발명은 로봇 기반 2D 및 3D 매칭 서비스 제공 시스템에 관한 것으로, 2D 데이터를 3D 데이터에 매칭함으로써, 2D 데이터가 입력되는 경우 3D 데이터로 변환될 수 있도록 하는 시스템을 제공한다.The present invention relates to a robot-based 2D and 3D matching service providing system, and provides a system that matches 2D data to 3D data, allowing 2D data to be converted to 3D data when input.

스마트팩토리는 설계 및 개발, 제조, 유통 등의 생산과정에서 인공지능 기반의 자동화 솔루션이 결합된 지능형 생산공장을 말한다. 공장 내 설비와 기계에 사물인터넷(IoT) 기술이 결합되어 공정 데이터를 실시간으로 수집하고, 이를 분석해 스스로 제어할 수 있는 형태이다. 지금까지의 공정 자동화 기술은 공정별로만 자동화가 이루어져, 전체 공정을 유기적으로 관리하기 어려웠지만, IIoT(Industrial Internet of Things) 기술 개발로 인해 모든 설비가 무선 통신으로 연결되고, 전후 공정 간 데이터를 자유롭게 연계할 수 있어 스마트팩토리의 실현이 가능해졌다. 스마트팩토리에서는 인간과 같은 공간에서 작업할 수 있는 지능적인 기기가 요구되며, 대표적인 기기로 협동로봇이 투입되고 있는데, 최근 협동로봇의 수행 작업을 인식하거나, 수행 상태를 분석하기 위한 연구들이 활발히 수행되고 있다. 수행되는 작업의 종류는 크게 작업자-작업자, 로봇-작업자, 로봇-로봇 간에 이루어질 수 있는데, 자동화나 자율화 관련 기술의 도입으로 인해 작업자-작업자 간 작업 활동의 빈도는 줄어들고 있으며, 협동로봇의 적용을 통한 로봇-작업자, 로봇-로봇 간의 작업 활동의 빈도가 늘어나고 있다. A smart factory refers to an intelligent production plant that combines artificial intelligence-based automation solutions in the production process such as design and development, manufacturing, and distribution. Internet of Things (IoT) technology is combined with equipment and machines within the factory to collect process data in real time, analyze it, and control it on its own. Until now, process automation technology has been automated only for each process, making it difficult to organically manage the entire process. However, with the development of IIoT (Industrial Internet of Things) technology, all facilities are connected through wireless communication, and data can be freely exchanged before and after processes. Thanks to this connection, the realization of a smart factory has become possible. Smart factories require intelligent devices that can work in the same space as humans, and collaborative robots are being used as representative devices. Recently, research has been actively conducted to recognize the tasks performed by collaborative robots or analyze their performance status. there is. The types of work performed can largely be done between worker-worker, robot-worker, and robot-robot. However, the frequency of work activities between workers is decreasing due to the introduction of automation and automation-related technologies, and the application of collaborative robots is reducing the frequency of work activities between workers. The frequency of robot-to-worker and robot-to-robot work activities is increasing.

이때, 협동로봇을 영상 기반으로 모니터링하거나 영상 기반으로 캘리브레이션을 하는 방법이 연구 및 개발되었는데, 이와 관련하여, 선행기술인 한국공개특허 제2023-0068530호(2015년04월08일 공고) 및 한국등록특허 제10-1864329호(2018년06월05일 공고)에는, 3D 비전센서 및 RGB 카메라를 이용하여 협동로봇의 시작점, 경유지점 및 도착점을 모니터링하고, 제어 및 모니터링의 대상이 되는 협동로봇의 관절 움직임 상태에 대한 분석을 기반으로, 협동로봇의 지능제어를 수행하는 구성과, 로봇암 제어 자가진단을 위해 캘리브레이션 보드를 설치하고, 거리를 측정하는 거리센서를 로봇암에 장착하며, 로봇암이 캘리브레이션 보드까지 이동한 거리를 측정한 후 영상측정값과 거리측정값 간 오차가 발생한 경우 이상(Abnormal)을 출력하는 구성이 각각 개시되어 있다.At this time, methods for video-based monitoring or video-based calibration of collaborative robots were researched and developed. In relation to this, prior art, Korean Patent Publication No. 2023-0068530 (announced on April 8, 2015) and Korean registered patent No. 10-1864329 (announced on June 5, 2018) uses a 3D vision sensor and RGB camera to monitor the starting point, transit point, and arrival point of the collaborative robot, and the joint movements of the collaborative robot that are subject to control and monitoring. Based on the analysis of the status, a configuration that performs intelligent control of the collaborative robot is installed, a calibration board is installed for robot arm control self-diagnosis, a distance sensor that measures the distance is mounted on the robot arm, and the robot arm is connected to the calibration board. Each configuration is disclosed to output Abnormal if an error occurs between the image measurement value and the distance measurement value after measuring the distance traveled.

다만, 전자의 경우 3D 비전센서 및 RGB 카메라를 이용하여 3D 데이터를 직접 생성해내므로, 2D 이미지나 2D 영상만을 이용하여 움직임을 파악할 수 있는 구성이 아니고, 후자의 경우에도 영상측정값과 거리측정값 간 오차를 계산하기 위해서는 영상 내 3차원 거리를 파악해야 하지만 이에 대한 구성이 개시되어 있지 않다. 협동로봇의 경우 경로 데이터 및 궤적 데이터가 3D 데이터로 입력되더라도, 실제 협동로봇의 경로와 궤적이 입력된 3D 데이터와 같이 목표 데이터에 맞게 나오는지는 직접 측정을 해야하는데, 이를 3D로 측정하기 위한 장비가 추가되어야 한다. 이에, 2D 데이터를 3D 데이터로 매칭함으로써, 2D 데이터만 입력되어도 3D 데이터로 변환해줄 수 있는 시스템의 연구 및 개발이 요구된다.However, in the former case, 3D data is directly generated using a 3D vision sensor and an RGB camera, so it is not a configuration that can detect movement using only 2D images or 2D videos, and in the latter case, image measurement values and distance measurement values are also used. In order to calculate the distance error, it is necessary to determine the 3D distance in the image, but the configuration for this is not disclosed. In the case of collaborative robots, even if the path data and trajectory data are input as 3D data, it is necessary to directly measure whether the actual path and trajectory of the collaborative robot matches the target data like the input 3D data. Equipment to measure this in 3D is required. must be added Accordingly, research and development of a system that can convert only 2D data into 3D data by matching 2D data with 3D data is required.

본 발명의 일 실시예는, 로봇을 촬영한 2D 데이터를 확보하고, 2D 데이터와 로봇을 제어하는 3D 데이터 간 매칭을 통하여 2D 데이터를 3D 데이터로 변환할 수 있는 기반을 마련하고, 로봇의 2D 데이터가 입력되는 경우, 3D 데이터로 변환한 후 사용자 단말로부터 업로드된 로봇의 제어 데이터인 3D 데이터와 비교함으로써, 로봇이 제어 데이터에 따라 움직이고 있는지, 에러가 발생하거나 시간지연이 발생한 것은 아닌지 등의 상태진단을 할 수 있는, 로봇 기반 2D 및 3D 매칭 서비스 제공 시스템을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.One embodiment of the present invention secures 2D data captured by a robot, provides a basis for converting 2D data into 3D data through matching between 2D data and 3D data that controls the robot, and converts the 2D data of the robot into 3D data. When input, it is converted to 3D data and compared with the 3D data, which is the robot's control data uploaded from the user terminal, to diagnose the status of the robot, such as whether it is moving according to the control data and whether an error or time delay has occurred. A robot-based 2D and 3D matching service provision system can be provided. However, the technical challenge that this embodiment aims to achieve is not limited to the technical challenges described above, and other technical challenges may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 로봇을 적어도 하나의 각도에서 2D 데이터로 촬영하고, 촬영한 2D 데이터가 3D 데이터와 매칭된 콘텐츠를 출력하는 사용자 단말 및 사용자 단말로부터 로봇을 적어도 하나의 각도에서 촬영한 2D 데이터를 수집하는 수집부, 로봇의 움직임을 제어하는 3D 데이터를 추출하는 추출부, 2D 데이터를 3D 데이터에 매칭하는 매칭부, 2D 데이터가 3D 데이터와 매칭된 콘텐츠를 사용자 단말로 전송하는 전송부를 포함하는 매칭 서비스 제공 서버를 포함한다.As a technical means for achieving the above-described technical problem, an embodiment of the present invention includes a user terminal that photographs a robot as 2D data from at least one angle and outputs content in which the photographed 2D data is matched with 3D data, and A collection unit that collects 2D data captured from the user terminal by capturing the robot from at least one angle, an extraction unit that extracts 3D data that controls the movement of the robot, a matching unit that matches 2D data to 3D data, and the 2D data is converted into 3D data. It includes a matching service providing server including a transmission unit that transmits the matched content to the user terminal.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 로봇을 촬영한 2D 데이터를 확보하고, 2D 데이터와 로봇을 제어하는 3D 데이터 간 매칭을 통하여 2D 데이터를 3D 데이터로 변환할 수 있는 기반을 마련하고, 로봇의 2D 데이터가 입력되는 경우, 3D 데이터로 변환한 후 사용자 단말로부터 업로드된 로봇의 제어 데이터인 3D 데이터와 비교함으로써, 로봇이 제어 데이터에 따라 움직이고 있는지, 에러가 발생하거나 시간지연이 발생한 것은 아닌지 등의 상태진단을 할 수 있다.According to one of the above-described means of solving the problems of the present invention, 2D data captured by a robot is secured, and a basis for converting 2D data into 3D data is provided through matching between 2D data and 3D data that controls the robot. When the 2D data of the robot is input, it is converted to 3D data and compared with the 3D data, which is the control data of the robot uploaded from the user terminal, to check whether the robot is moving according to the control data and whether an error or time delay has occurred. You can diagnose the condition, such as whether it is healthy or not.

도 1은 본 발명의 일 실시예에 따른 로봇 기반 2D 및 3D 매칭 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 매칭 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 로봇 기반 2D 및 3D 매칭 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 로봇 기반 2D 및 3D 매칭 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
1 is a diagram illustrating a robot-based 2D and 3D matching service providing system according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a matching service providing server included in the system of FIG. 1.
Figures 3 and 4 are diagrams for explaining an embodiment in which a robot-based 2D and 3D matching service is implemented according to an embodiment of the present invention.
Figure 5 is an operation flowchart for explaining a method of providing robot-based 2D and 3D matching services according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Below, with reference to the attached drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily implement the present invention. However, the present invention may be implemented in many different forms and is not limited to the embodiments described herein. In order to clearly explain the present invention in the drawings, parts not related to the description are omitted, and similar parts are given similar reference numerals throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only the case where it is "directly connected," but also the case where it is "electrically connected" with another element in between. . In addition, when a part is said to "include" a certain component, this does not mean excluding other components unless specifically stated to the contrary, but may further include other components, and one or more other features. It should be understood that it does not exclude in advance the presence or addition of numbers, steps, operations, components, parts, or combinations thereof.

명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다. The terms "about", "substantially", etc. used throughout the specification are used to mean at or close to that value when manufacturing and material tolerances inherent in the stated meaning are presented, and are used to enhance the understanding of the present invention. Precise or absolute figures are used to assist in preventing unscrupulous infringers from taking unfair advantage of stated disclosures. The term “step of” or “step of” as used throughout the specification of the present invention does not mean “step for.”

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체 지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.In this specification, 'part' includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Additionally, one unit may be realized using two or more pieces of hardware, and two or more units may be realized using one piece of hardware. Meanwhile, '~ part' is not limited to software or hardware, and '~ part' may be configured to reside in an addressable storage medium or may be configured to reproduce one or more processors. Therefore, as an example, '~ part' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functions provided within the components and 'parts' may be combined into a smaller number of components and 'parts' or may be further separated into additional components and 'parts'. Additionally, components and 'parts' may be implemented to regenerate one or more CPUs within a device or a secure multimedia card.

본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다. In this specification, some of the operations or functions described as being performed by a terminal, apparatus, or device may instead be performed on a server connected to the terminal, apparatus, or device. Likewise, some of the operations or functions described as being performed by the server may also be performed in a terminal, apparatus, or device connected to the server.

본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.In this specification, some of the operations or functions described as mapping or matching with the terminal mean mapping or matching the terminal's unique number or personal identification information, which is identifying data of the terminal. It can be interpreted as

이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the attached drawings.

도 1은 본 발명의 일 실시예에 따른 로봇 기반 2D 및 3D 매칭 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 로봇 기반 2D 및 3D 매칭 서비스 제공 시스템(1)은, 적어도 하나의 사용자 단말(100), 매칭 서비스 제공 서버(300), 적어도 하나의 카메라(400)를 포함할 수 있다. 다만, 이러한 도 1의 로봇 기반 2D 및 3D 매칭 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.Figure 1 is a diagram for explaining a robot-based 2D and 3D matching service providing system according to an embodiment of the present invention. Referring to FIG. 1, the robot-based 2D and 3D matching service providing system 1 may include at least one user terminal 100, a matching service providing server 300, and at least one camera 400. However, since the robot-based 2D and 3D matching service providing system 1 of FIG. 1 is only an embodiment of the present invention, the present invention is not limitedly interpreted through FIG. 1.

이때, 도 1의 각 구성요소들은 일반적으로 네트워크(Network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 사용자 단말(100)은 네트워크(200)를 통하여 매칭 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 매칭 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100), 적어도 하나의 카메라(400)와 연결될 수 있다. 또한, 적어도 하나의 카메라(400)는, 네트워크(200)를 통하여 매칭 서비스 제공 서버(300)와 연결될 수 있다. At this time, each component of FIG. 1 is generally connected through a network (Network, 200). For example, as shown in FIG. 1, at least one user terminal 100 may be connected to the matching service providing server 300 through the network 200. In addition, the matching service providing server 300 may be connected to at least one user terminal 100 and at least one camera 400 through the network 200. Additionally, at least one camera 400 may be connected to the matching service providing server 300 through the network 200.

여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.Here, the network refers to a connection structure that allows information exchange between each node, such as a plurality of terminals and servers. Examples of such networks include a local area network (LAN) and a wide area network (WAN). Wide Area Network, Internet (WWW: World Wide Web), wired and wireless data communication network, telephone network, wired and wireless television communication network, etc. Examples of wireless data communication networks include 3G, 4G, 5G, 3rd Generation Partnership Project (3GPP), 5th Generation Partnership Project (5GPP), Long Term Evolution (LTE), World Interoperability for Microwave Access (WIMAX), and Wi-Fi. , Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), RF (Radio Frequency), Bluetooth network, NFC ( It includes, but is not limited to, Near-Field Communication (Near-Field Communication) network, satellite broadcasting network, analog broadcasting network, and DMB (Digital Multimedia Broadcasting) network.

하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.In the following, the term at least one is defined as a term including singular and plural, and even if the term at least one does not exist, each component may exist in singular or plural, and may mean singular or plural. This should be self-explanatory. In addition, whether each component is provided in singular or plural form may be changed depending on the embodiment.

적어도 하나의 사용자 단말(100)은, 로봇 기반 2D 및 3D 매칭 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 2D 데이터를 3D 데이터로 매칭시키고, 2D 데이터가 입력되는 경우 3D 데이터로 변환하는 사용자의 단말일 수 있다.At least one user terminal 100 matches 2D data to 3D data using a web page, app page, program, or application related to a robot-based 2D and 3D matching service, and converts 2D data into 3D data when input. It may be a user's terminal.

여기서, 적어도 하나의 사용자 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 사용자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.Here, at least one user terminal 100 may be implemented as a computer capable of accessing a remote server or terminal through a network. Here, the computer may include, for example, a laptop equipped with a navigation system and a web browser, a desktop, a laptop, etc. At this time, at least one user terminal 100 may be implemented as a terminal capable of accessing a remote server or terminal through a network. At least one user terminal 100 is, for example, a wireless communication device that guarantees portability and mobility, and includes navigation, personal communication system (PCS), global system for mobile communications (GSM), personal digital cellular (PDC), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet) ) It may include all types of handheld-based wireless communication devices such as terminals, smartphones, smartpads, and tablet PCs.

매칭 서비스 제공 서버(300)는, 로봇 기반 2D 및 3D 매칭 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 매칭 서비스 제공 서버(300)는, 사용자 단말(100)에서 카메라(400)를 통하여 수집한 2D 데이터를, 로봇의 제어 데이터인 3D 데이터와 매칭시키는 서버일 수 있다. 또한, 매칭 서비스 제공 서버(300)는, 사용자 단말(100)에서 2D 데이터가 입력되는 경우 3D 데이터로 변환하고, 3D 데이터를 이용하여 로봇의 이상진단, 상태진단, 이동경로 및 궤적파악, 오차보정 등을 수행하기 위한 서버일 수 있다. 다만, 2D 데이터를 3D 데이터로 변환하는 목적은 나열된 것들로 한정되지 않고 열거되지 않은 이유로 배제되지 않는다.The matching service providing server 300 may be a server that provides robot-based 2D and 3D matching service web pages, app pages, programs, or applications. And, the matching service providing server 300 may be a server that matches 2D data collected through the camera 400 in the user terminal 100 with 3D data that is control data of the robot. In addition, the matching service providing server 300 converts 2D data into 3D data when it is input from the user terminal 100, and uses the 3D data to diagnose robot abnormalities, diagnose status, determine movement path and trajectory, and correct errors. It may be a server for performing the following. However, the purpose of converting 2D data to 3D data is not limited to those listed and is not excluded for reasons not listed.

여기서, 매칭 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.Here, the matching service providing server 300 may be implemented as a computer that can connect to a remote server or terminal through a network. Here, the computer may include, for example, a laptop equipped with a navigation system and a web browser, a desktop, a laptop, etc.

적어도 하나의 카메라(400)는, 로봇 기반 2D 및 3D 매칭 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하거나 이용하지 않고 로봇을 촬영하여 사진 또는 영상을 제공하는 장치일 수 있다.At least one camera 400 may be a device that provides photos or videos by photographing a robot with or without using web pages, app pages, programs, or applications related to robot-based 2D and 3D matching services.

여기서, 적어도 하나의 카메라(400)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 카메라(400)는, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 카메라(400)는, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.Here, at least one camera 400 may be implemented as a computer that can connect to a remote server or terminal through a network. Here, the computer may include, for example, a laptop equipped with a navigation system and a web browser, a desktop, a laptop, etc. At this time, at least one camera 400 may be implemented as a terminal that can connect to a remote server or terminal through a network. At least one camera 400 is, for example, a wireless communication device that ensures portability and mobility, and is used for navigation, personal communication system (PCS), global system for mobile communications (GSM), personal digital cellular (PDC), and PHS. (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet) It may include all types of handheld-based wireless communication devices such as terminals, smartphones, smartpads, and tablet PCs.

도 2는 도 1의 시스템에 포함된 매칭 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3 및 도 4는 본 발명의 일 실시예에 따른 로봇 기반 2D 및 3D 매칭 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.FIG. 2 is a block diagram illustrating a matching service providing server included in the system of FIG. 1, and FIGS. 3 and 4 show an embodiment in which robot-based 2D and 3D matching services are implemented according to an embodiment of the present invention. This is a drawing to explain.

도 2를 참조하면, 매칭 서비스 제공 서버(300)는, 수집부(310), 추출부(320), 매칭부(330), 전송부(340), 입력부(350), 저장부(360), 위치선정부(370), 시점확보부(380), 변환부(390), 상태진단부(391) 및 추적대상검출부(393)를 포함할 수 있다.Referring to FIG. 2, the matching service providing server 300 includes a collection unit 310, an extraction unit 320, a matching unit 330, a transmission unit 340, an input unit 350, a storage unit 360, It may include a position selection unit 370, a viewpoint securing unit 380, a conversion unit 390, a status diagnosis unit 391, and a tracking object detection unit 393.

본 발명의 일 실시예에 따른 매칭 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 사용자 단말(100) 및 적어도 하나의 카메라(400)로 로봇 기반 2D 및 3D 매칭 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 사용자 단말(100) 및 적어도 하나의 카메라(400)는, 로봇 기반 2D 및 3D 매칭 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 사용자 단말(100) 및 적어도 하나의 카메라(400)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: World Wide Web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(Hyper Text Mark-up Language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(Chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(Application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(App)을 포함한다.The matching service providing server 300 or another server (not shown) operating in conjunction with an embodiment of the present invention performs robot-based 2D and 3D matching with at least one user terminal 100 and at least one camera 400. When transmitting a service application, program, app page, web page, etc., at least one user terminal 100 and at least one camera 400 are configured to transmit a robot-based 2D and 3D matching service application, program, app page, web page, etc. etc. can be installed or opened. Additionally, a service program may be run on at least one user terminal 100 and at least one camera 400 using a script executed in a web browser. Here, a web browser is a program that allows the use of web (WWW: World Wide Web) services and refers to a program that receives and displays hypertext written in HTML (Hyper Text Mark-up Language), for example, Netscape. , Explorer, Chrome, etc. Additionally, an application refers to an application on a terminal and includes, for example, an app running on a mobile terminal (smartphone).

도 2를 참조하면, 도 2를 설명하기 이전에, 2D 데이터를 3D 데이터로 변환하는 기본개념에 대해 설명한다. 이하에서 설명된 내용은 도 2를 설명하면서 중복하지 않는다.Referring to FIG. 2, before explaining FIG. 2, the basic concept of converting 2D data to 3D data will be explained. The content described below does not overlap with the description of FIG. 2 .

<포인트 클라우드><Point cloud>

포인트 클라우드란 어떤 좌표계에 속한 점들의 집합이다. 3D 좌표계에서 점은 일반적으로 (X, Y, Z)로 정의되며 Depth 이미지에 포인트 클라우드를 적용하여 2D 좌표계를 3D 좌표계로 변환할 수 있다. 먼저, 2D 좌표계인 Depth 이미지를 3D 좌표계로 변환하기 위해서 Depth 이미지를 촬영한 카메라의 내부 파라미터 정보 중 초점거리와 2D Depth 이미지의 좌표, 그리고 Depth Value를 이용한다. 여기서 초점거리는 카메라렌즈에서 이미지 센서까지의 거리이다. 예를 들어, 카메라가 구를 촬영할 때, 구에서 반사되는 빛은 렌즈를 통과한다. 여기서 렌즈를 통과한 빛은 이미지 센서에 상이 맺히게 되고 구에 대한 2D Depth 이미지를 얻게 된다. 2D Depth 이미지를 이용하여 2D 좌표계에서 3D 좌표계로 변환해야 한다. 여기서 Similar Triangles Rule을 사용하여 간단하게 변환할 수 있다. f는 초점거리이고, u는 Depth 이미지에서 물체가 위치하는 좌표이고, 좌표의 원점은 이미지의 좌상단이 아닌 이미지의 중점이며, z는 2D Depth 이미지에서 2D 좌표에 해당하는 Depth Value이고, x는 3D 좌표계로 변환하였을 때 물체의 X축 좌표라고 가정하면, 이를 이하 수학식 1에 대입하여 2D 이미지의 중점에서 해당 픽셀까지의 x축 방향의 거리(u)를 초점거리(f)로 나눈 값은, 3D 좌표계에서 x좌표를 Depth Value 나눈 값과 같기 때문에 x 좌표를 추정할 수 있다. 그래서 2D Depth 이미지의 u를 X축에 대한 3D 좌표로 변환할 수 있고, 위와 같은 방법을 Y축에 대해서도 반복하면 2D 좌표계를 3D 좌표계로 변환할 수 있다.A point cloud is a set of points belonging to a certain coordinate system. In a 3D coordinate system, a point is generally defined as (X, Y, Z), and a 2D coordinate system can be converted to a 3D coordinate system by applying a point cloud to the depth image. First, to convert the Depth image, which is a 2D coordinate system, into a 3D coordinate system, the focal length, the coordinates of the 2D Depth image, and Depth Value are used among the internal parameter information of the camera that captured the Depth image. Here, the focal length is the distance from the camera lens to the image sensor. For example, when a camera photographs a sphere, the light reflected from the sphere passes through the lens. Here, the light that passes through the lens is imaged on the image sensor and a 2D depth image of the sphere is obtained. The 2D depth image must be used to convert from a 2D coordinate system to a 3D coordinate system. Here, you can simply convert using the Similar Triangles Rule. f is the focal length, u is the coordinate where the object is located in the Depth image, the origin of the coordinate is the midpoint of the image, not the upper left corner of the image, z is the Depth Value corresponding to the 2D coordinate in the 2D Depth image, and x is the 3D Assuming that it is the X-axis coordinate of the object when converted to a coordinate system, by substituting this into Equation 1 below, the distance (u) in the The x coordinate can be estimated because it is equal to the value obtained by dividing the x coordinate by Depth Value in the 3D coordinate system. So, u in the 2D depth image can be converted to 3D coordinates for the X-axis, and if the above method is repeated for the Y-axis, the 2D coordinate system can be converted to a 3D coordinate system.

Figure 112023075159680-pat00001
Figure 112023075159680-pat00001

<좌표변환><Coordinate conversion>

좌표변환이란 좌표계 상에서 한 점의 위치를 다른 위치로 변환하는 것이다. 컴퓨터 비전에서는 회전변환, 확대변환, 이동변환을 이용하여 여러 이미지 사이의 매칭 관계를 모델링할 수 있다. Coordinate transformation is converting the position of one point to another position in a coordinate system. In computer vision, the matching relationship between multiple images can be modeled using rotation transformation, magnification transformation, and translation transformation.

<3D 좌표변환><3D coordinate conversion>

3D 좌표변환은 3D 공간상 좌표축의 변환이다. 3D 좌표변환은 3D 월드좌표계를 카메라 좌표계로 변경하거나 카메라 좌표계를 3D 월드 좌표계로 변환하여 활용할 수 있고, 이 과정에서 항상 좌표축을 회전변환을 통해 회전시킨 후 이동변환을 하여 카메라 좌표계의 점 (X1,Y1,Z1)을 월드 좌표계의 점 (X,Y,Z)을 구하는 것이 목적이다. 3D 월드좌표계는 X축과 Y축의 평면이 지면을 나타내고 평면과 수직 방향으로 Z축이 정의되어 있다. 카메라 좌표계는 카메라의 광학축 방향으로 Zc축, 광학축에서 오른쪽 수직 방향으로 Xc축, Xc축과 Zc축의 수직 방향으로 Yc축으로 정의되어 있다.3D coordinate transformation is the transformation of coordinate axes in 3D space. 3D coordinate transformation can be used by changing the 3D world coordinate system to the camera coordinate system or converting the camera coordinate system to the 3D world coordinate system. In this process, the coordinate axis is always rotated through rotation transformation and then translation is performed to change the point (X1, The purpose is to find (Y1,Z1) the point (X,Y,Z) in the world coordinate system. In the 3D world coordinate system, the X-axis and Y-axis planes represent the ground, and the Z-axis is defined in the direction perpendicular to the plane. The camera coordinate system is defined as the Zc axis in the direction of the camera's optical axis, the Xc axis in the direction perpendicular to the right from the optical axis, and the Yc axis in the direction perpendicular to the Xc and Zc axes.

회전변환은 X축, Y축, Z축을 중심으로 3D 공간상의 점(X,Y,Z)을 θ만큼 회전행렬을 이용하여 각 축의 방향을 기준으로 반시계 방향으로 회전한다. 각 축을 회전시키는 회전행렬은 수학식 2, 수학식 3 및 수학식 4와 같다. 수학식 2는 X축을 기준으로 회전시키는 행렬이고, 수학식 3은 Y축을 기준으로 회전시키는 행렬, 수학식 4는 Z축을 기준으로 회전시키는 행렬이다. 수학식 2 내지 수학식 4의 회전행렬을 조합하여 수학식 5와 같은 임의의 3D 회전을 표현할 수 있다.Rotation transformation rotates a point (X, Y, Z) in 3D space around the X, Y, and Z axes counterclockwise based on the direction of each axis using a rotation matrix by θ. The rotation matrix that rotates each axis is as shown in Equation 2, Equation 3, and Equation 4. Equation 2 is a matrix that rotates about the X-axis, Equation 3 is a matrix that rotates about the Y-axis, and Equation 4 is a matrix that rotates about the Z-axis. By combining the rotation matrices of Equation 2 to Equation 4, arbitrary 3D rotations such as Equation 5 can be expressed.

Figure 112023075159680-pat00002
Figure 112023075159680-pat00002

Figure 112023075159680-pat00003
Figure 112023075159680-pat00003

Figure 112023075159680-pat00004
Figure 112023075159680-pat00004

Figure 112023075159680-pat00005
Figure 112023075159680-pat00005

Figure 112023075159680-pat00006
Figure 112023075159680-pat00006

이동변환은 카메라 좌표계 상의 점(XC,YC,ZC)을 월드 좌표계 상의 점(X,Y,Z)으로 변환하기 위해 회전변환 후, 이 카메라 좌표계를 월드 좌표계의 방향으로 수학식 6을 이용하여 이동변환한다.Movement transformation is to convert a point (XC, YC, ZC) on the camera coordinate system into a point (X, Y, Z) on the world coordinate system, and then rotate this camera coordinate system in the direction of the world coordinate system using Equation 6. Convert.

상술한 기본개념을 참조하여 도 2를 참조하면, 수집부(310)는, 사용자 단말(100)로부터 로봇을 적어도 하나의 각도에서 촬영한 2D 데이터를 수집할 수 있다. 사용자 단말(100)은, 로봇을 적어도 하나의 각도에서 2D 데이터로 촬영할 수 있다. 이때, 카메라(400)와 사용자 단말(100)은 연동될 수 있다. 2D 데이터는, 2D 이미지, 2D 사진 및 2D 영상 중 어느 하나일 수 있다. 이때, 로봇은 로봇암(Arm)을 가진 로봇일 수 있고, 협동로봇일 수도 있다.Referring to FIG. 2 with reference to the above-described basic concept, the collection unit 310 may collect 2D data obtained by photographing the robot from at least one angle from the user terminal 100. The user terminal 100 can photograph the robot as 2D data from at least one angle. At this time, the camera 400 and the user terminal 100 may be linked. 2D data may be any one of 2D images, 2D photos, and 2D videos. At this time, the robot may be a robot with a robot arm, or it may be a collaborative robot.

추출부(320)는, 로봇의 움직임을 제어하는 3D 데이터를 추출할 수 있다. 이때 3D 데이터는 로봇에서 수집될 수 있는 이하 표 1의 데이터 중 위치 데이터를 의미할 수 있다.The extraction unit 320 can extract 3D data that controls the movement of the robot. At this time, 3D data may refer to location data among the data in Table 1 below that can be collected from the robot.

로봇데이터robot data 데이터 타입data type 데이터 인스턴스(Instance)Data Instance PositionPosition Angular PositionAngular Position Cartesian PositionCartesian Position SpeedSpeed Angular VelocityAngular Velocity Cartesian VelocityCartesian Velocity TorqueTorque Current-Based TorqueCurrent-Based Torque Sensor-Based TorqueSensor-Based Torque End-EffectorEnd-Effector WeightWeight PressurePressure MonitoringMonitoring TemperatureTemperature PowerPower

위치 데이터(Position Data)는, 로봇봇의 각 관절 별 위치를 의미한다. 크게 각위치(Angular Position) 데이터와 좌표 위치 데이터로 구분될 수 있다. 각위치 데이터는 모션에 의해 모터가 틀어진 각도를 나타낸다. 반면, 좌표 위치 데이터는 로봇이 설치(Mount)된 1 축의 위치를 원점으로 하여, 관찰하고자 하는 축의 위치를 3차원 좌푯값으로 나타낸 것을 의미한다. 이러한 위치 데이터는 로봇의 관절 별 움직임을 확인하기 쉬우므로, 결함 분석의 기본적인 데이터로 활용된다.매칭부(330)는, 2D 데이터를 3D 데이터에 매칭할 수 있다. 이때, 3D 데이터에 매칭하기 위하여 2D 데이터를 3D 데이터로 변환할 때 회전변환행렬(Rotation Matrix) 및 투영변환행렬(Projection Matrix)을 이용할 수 있다. 실공간과 카메라로 촬영하여 얻어지는 이미지 평면 간에는 회전변환, 이동변환, 투영변환으로 설명할 수 있는 대응관계가 존재한다. 공간 상의 네 점과 이미지 상의 네 점이 대응되는 관계를 알면 대응관계를 설명하는데 필요한 변환을 결정할 수 있다. 즉, 카메라(400)와 물체 상의 네 점의 좌표만 알고 있다면 협동로봇의 3차원 측위가 가능해지며, 경로 데이터 및 궤적 데이터를 고가의 레이저, 라이다, Depth 카메라 등 없이도 XYZ 좌표, 즉 3차원으로 추출할 수 있다. Position data refers to the location of each joint of the robot. It can be broadly divided into angular position data and coordinate position data. Angular position data represents the angle at which the motor is twisted by motion. On the other hand, coordinate position data refers to the position of the axis to be observed as a three-dimensional coordinate value, with the position of the axis where the robot is mounted as the origin. Since this position data makes it easy to check the movement of each joint of the robot, it is used as basic data for defect analysis. The matching unit 330 can match 2D data to 3D data. At this time, when converting 2D data into 3D data to match 3D data, a rotation matrix and a projection matrix can be used. There is a correspondence relationship between real space and the image plane obtained by shooting with a camera that can be explained by rotation transformation, translation transformation, and projection transformation. If we know the relationship between four points in space and four points in the image, we can determine the transformation needed to explain the relationship. In other words, if you know only the coordinates of the camera 400 and four points on the object, 3D positioning of the collaborative robot is possible, and path data and trajectory data can be converted to It can be extracted.

우선, 카메라(400)의 카메라 모델에서 3차원 공간의 점과 카메라(400)로 얻은 영상의 점은 수학식 7과 같은 관계에 의해 설명된다.First, the points in the three-dimensional space in the camera model of the camera 400 and the points of the image obtained by the camera 400 are explained by the relationship shown in Equation 7.

Figure 112023075159680-pat00007
Figure 112023075159680-pat00007

먼저, 월드 좌표계상의 좌표를 스케일 변환, 회전변환, 이동변환을 차례대로 적용하여 카메라 좌표계 상의 좌표로 바꿔준다. 이 과정을 통해 수학식 7의 행렬 [R|t]를 구할 수 있다. 이때, 각 변수의 설명은 공지기술과 같으므로 생략한다.First, the coordinates on the world coordinate system are converted to coordinates on the camera coordinate system by sequentially applying scale transformation, rotation transformation, and movement transformation. Through this process, the matrix [R|t] of Equation 7 can be obtained. At this time, the description of each variable is the same as the known technology, so it is omitted.

Figure 112023075159680-pat00008
Figure 112023075159680-pat00008

월드 좌표계와 카메라 좌표계 간에는 축적이 다르지 않으므로 스케일 변환 행렬은 단위행렬이 된다. 다음으로 회전행렬의 경우 같은 각도를 회전하더라도 어떤 축을 기준으로 먼저 회전하는가에 따라 회전행렬의 결과가 달라지므로 XYZ축을 순서로 φ, θ, ψ(오일러 회전값)만큼 회전한다고 가정하면, 수학식 8와 같이 회전행렬이 표현된다. 이동변환의 경우 카메라 좌표계의 원점에서 월드 좌표계의 원점으로 향하는 벡터를 4 차원 동차좌표계에서 더하면 된다. 이 정보들을 종합하여 일차행렬을 구하여 보면 수학식 7의 [R|t]와 같이 표현할 수 있음을 알 수 있다. 수학식 7의 H는 4차원 동차좌표계를 3차원 실좌표계로 만들어주는 역할을 한다. 동차좌표계는 실공간에서 정규화된 이미지 평면의 실공간으로 투영되므로 수학식 7의 행렬 F와 같이 표현할 수 있다. Since the scale is different between the world coordinate system and the camera coordinate system, the scale transformation matrix becomes an identity matrix. Next, in the case of the rotation matrix, even if the same angle is rotated, the result of the rotation matrix varies depending on which axis is rotated first, so assuming that the The rotation matrix is expressed as follows. In the case of movement transformation, the vectors from the origin of the camera coordinate system to the origin of the world coordinate system are added in a 4-dimensional homogeneous coordinate system. By combining this information to obtain a linear matrix, we can see that it can be expressed as [R|t] in Equation 7. H in Equation 7 plays the role of converting a 4-dimensional homogeneous coordinate system into a 3-dimensional real coordinate system. Since the homogeneous coordinate system is projected from real space to the real space of the normalized image plane, it can be expressed as matrix F in Equation 7.

카메라(400)의 위치 및 자세를 파악하기 위해서는 카메라의 초점거리(Focal Length)와 이미지 센서 상의 한 픽셀의 크기, 월드 좌표계의 네 점의 3차원 좌표와 이에 대응되는 영상 속의 2차원 좌표를 알아야 한다. 초점거리를 안다면 수학식 7의 행렬 F를 결정할 수 있다. 이미지 상의 좌표는 픽셀로 표현되므로 픽셀의 크기를 곱해줘 m 단위의 좌표를 입력한다. 회전행렬을 표현하기 위해서는 회전기준 벡터의 세 성분과 회전각, 최소한 4 개의 정보가 필요하다. 따라서, 이동행렬의 tx, ty, tz 세 가지 요소와 회전행렬의 4 가지 요소 총 7 가지 요소를 구해야 한다. 월드좌표와 대응되는 픽셀좌표로 이루어지는 좌표쌍 하나당 2 개의 방정식을 얻을 수 있으므로 월드 좌표계의 네 좌표가 이미지에 대응되는 네 좌표를 알게 된다면 방정식을 8 개 얻을 수 있어 방정식을 풀기에 충분하다. 방정식을 풀면 수학식 7의 행렬 [R|t]를 구할 수 있다. 방정식을 풀면 결과적으로, 수학식 7의 모든 값을 알 수 있다. 월드 좌표계 상의 카메라 좌표계의 원점의 좌표를 통해 물체에 대한 카메라의 위치를 알 수 있다. 카메라의 자세는 수학식 9의 행렬로부터 수학식 10과 같이 구할 수 있다. 이에 따라, 물체에 설정한 월드 좌표계에 대한 카메라의 위치와 자세를 구할 수 있다.In order to determine the position and posture of the camera 400, the focal length of the camera, the size of one pixel on the image sensor, the three-dimensional coordinates of four points in the world coordinate system and the corresponding two-dimensional coordinates in the image must be known. . If you know the focal length, you can determine the matrix F in Equation 7. Coordinates on the image are expressed in pixels, so multiply the size of the pixel and enter coordinates in m units. In order to express a rotation matrix, at least four pieces of information are required, including the three components of the rotation reference vector and the rotation angle. Therefore, a total of 7 elements must be obtained, including 3 elements of the movement matrix, tx, ty, and tz, and 4 elements of the rotation matrix. Since two equations can be obtained for each coordinate pair consisting of world coordinates and corresponding pixel coordinates, if the four coordinates of the world coordinate system are known and the four coordinates corresponding to the image are known, eight equations can be obtained, which is enough to solve the equations. By solving the equation, the matrix [R|t] of Equation 7 can be obtained. As a result, if you solve the equation, you can find all the values in Equation 7. The position of the camera with respect to the object can be known through the coordinates of the origin of the camera coordinate system on the world coordinate system. The pose of the camera can be obtained from the matrix of Equation 9 as in Equation 10. Accordingly, the position and posture of the camera with respect to the world coordinate system set for the object can be obtained.

Figure 112023075159680-pat00009
Figure 112023075159680-pat00009

Figure 112023075159680-pat00010
Figure 112023075159680-pat00010

이 외에도, 다양한 방법으로 2D 데이터를 3D 데이터로 변환할 수 있음은 물론이라 할 것이다. 보다 정밀한 좌표측정이 필요한 경우 레이저 장비 등을 더 추가하여 이용할 수 있다.In addition to this, it goes without saying that 2D data can be converted to 3D data in various ways. If more precise coordinate measurement is required, additional laser equipment, etc. can be added.

전송부(340)는, 2D 데이터가 3D 데이터와 매칭된 콘텐츠를 사용자 단말(100)로 전송할 수 있다. 사용자 단말(100)은, 촬영한 2D 데이터가 3D 데이터와 매칭된 콘텐츠를 출력할 수 있다. 이렇게 매칭을 한 이유는 이후 변환부(390)와 같이 사용자가 일반 카메라로 촬영한 사진이나 영상인 2D 데이터를 입력하더라도 이를 3D 데이터로 변환해주기 위함이다.The transmitter 340 may transmit content in which 2D data is matched with 3D data to the user terminal 100. The user terminal 100 may output content in which captured 2D data is matched with 3D data. The reason for this matching is to convert the 2D data, such as a photo or video taken with a general camera, into 3D data by the user, such as the conversion unit 390.

입력부(350)는, 로봇을 제어하는 3D 데이터를 사용자 단말(100)로부터 입력받을 수 있다. 로봇을 제어하는 3D 데이터는 상술한 바와 같이 위치 데이터일 수 있다. 예를 들어, A 로봇이 B 시점 내지 B' 시점에 C 경로 또는 D 궤적으로 이동해야한다고 가정하면, B 시점 내지 B' 시점에 C 경로 및 D 궤적으로 이동하고 있는지를 파악하기 위해서이다. 이때 경로는 속도를 고려하지 않은 개념이고 궤적은 속도를 고려한 개념이다. 이에, 특정 시점인 t0에 D 궤적 내 특정 좌표인 XYZ에 로봇이 위치하고 있는지의 여부를 파악할 수 있는 기준 데이터가 된다. The input unit 350 can receive 3D data for controlling a robot from the user terminal 100. The 3D data that controls the robot may be location data as described above. For example, assuming that robot A must move along the C path or D trajectory from time B to B', this is to determine whether it is moving along the C path and D trajectory from time B to B'. At this time, the path is a concept that does not consider speed, and the trajectory is a concept that takes speed into account. Accordingly, it becomes reference data that can determine whether the robot is located at a specific coordinate, XYZ, within the D trajectory at a specific point in time, t0.

저장부(360)는, 적어도 하나의 각도에서 2D 데이터를 확보하기 위하여 로봇이 움직일 때 로봇을 촬영하는 카메라의 적어도 하나의 XYZ 좌표와, 적어도 하나의 XYZ 좌표에서 촬영되는 2D 데이터를 매핑하여 저장할 수 있다. 본 발명의 일 실시예에서는 2D 데이터를 이용하여 3D 데이터와 매칭을 해야 하기 때문에, 로봇의 움직임이 가장 잘보이는 위치를 찾아야 한다. 이때, 로봇이 가장 잘 보이는 위치를 찾기 위해서는 우선 로봇의 주위를 카메라(400)로 둘러싼 다음, 어느 카메라(400)에서 로봇의 움직임이 가장 잘 포착되는지를 파악해야 한다. 또, 이를 위해서는 각 카메라(400)가 배치된 위치를 우선 알아야 하는데, 이를 위하여 각 카메라(400)를 로봇 주변으로 예를 들어 360도 배치해두고, 각 카메라(400)의 위치를 각각 카메라의 고유식별코드와 저장해두며, 각 카메라(400)로부터 2D 데이터, 예를 들어 사진이나 영상이 수집되었을 때, 각 사진이나 영상이 어느 카메라(400)로부터 수집되었는지 또 어느 위치의 카메라(400)에서 수집이 되었는지 구분을 해야 한다. 이에 따라, 각 카메라(400)의 위치를 저장해둘 수 있다.In order to secure 2D data from at least one angle, the storage unit 360 may map and store at least one there is. In one embodiment of the present invention, since 2D data must be used to match 3D data, the location where the robot's movement is best visible must be found. At this time, in order to find the position where the robot can be best seen, it is necessary to first surround the robot with cameras 400 and then determine which camera 400 best captures the robot's movements. In addition, in order to do this, it is necessary to first know the location where each camera 400 is placed. To this end, each camera 400 is placed, for example, 360 degrees around the robot, and the location of each camera 400 is determined by each camera's unique location. The identification code is stored and when 2D data, for example, a photo or video, is collected from each camera 400, it is possible to determine which camera 400 each photo or video was collected from and at what location the camera 400 was collected. You need to distinguish whether it has been done or not. Accordingly, the location of each camera 400 can be stored.

위치선정부(370)는, 2D 데이터 내 로봇의 움직임의 거리 및 각도가 가장 큰 2D 데이터를 추출하고, 추출된 2D 데이터와 매핑된 XYZ 좌표를 추출한 후, 추출된 XYZ 좌표를 2D 데이터를 확보하는 좌표로 선정할 수 있다. 예를 들어, 360도로 수 십 대의 카메라(400)가 로봇을 둘러싸며 촬영을 한 결과, A 위치인 (X1,Y1,Z1)에서 프레임 내 로봇의 움직임의 거리 및 각도가 가장 잘 확보되었다면, (X1,Y1,Z1)를 카메라(400)의 좌표로 설정할 수 있다. 이때, 가장 잘 확보되었다는 의미는, 움직임의 거리 및 각도가 가장 큰 2D 데이터, 즉 사진인데, 사진 내 예를 들어, 엔드-이펙터의 이동거리 및 이동각도가 (X1,Y1,Z1) 좌표에서 가장 크게, 즉 프레임 안 엔드-이펙터의 이동거리 및 이동각도가 가장 컸다면, (X1,Y1,Z1) 좌표를 카메라(400)의 좌표로 설정할 수 있다. 이렇게 카메라(400)의 위치가 선정되었다면, 이제 이하에서 시점(Timing)을 확보해야 한다.The positioning unit 370 extracts 2D data with the largest distance and angle of robot movement within the 2D data, extracts the extracted 2D data and mapped XYZ coordinates, and uses the extracted XYZ coordinates to secure the 2D data. It can be selected by coordinates. For example, as a result of dozens of cameras 400 surrounding the robot at 360 degrees, if the distance and angle of the robot's movement within the frame were best secured at position A (X1,Y1,Z1), ( X1, Y1, Z1) can be set as the coordinates of the camera 400. At this time, the best secured means is 2D data, that is, a photo, with the largest movement distance and angle. In the photo, for example, the end-effector's movement distance and movement angle are the largest in the (X1,Y1,Z1) coordinates. Largely, that is, if the movement distance and movement angle of the end-effector in the frame are the largest, the (X1,Y1,Z1) coordinates can be set as the coordinates of the camera 400. If the position of the camera 400 has been selected in this way, timing must be secured as follows.

시점확보부(380)는, 선정된 좌표에서 촬영한 2D 데이터 내 로봇의 움직임이 가장 큰 시점의 2D 데이터를 추출하고, 로봇의 움직임이 가장 큰 시점의 2D 데이터를 3D 데이터와 매칭을 수행할 수 있다. 상술한 예를 계속 인용하면, A 위치인 (X1,Y1,Z1)에 카메라(400)를 설치하고 로봇의 이동경로 및 이동궤적을 하루종일 또는 일주일 동안 등과 같이 기 설정된 기간 동안 촬영을 한다. 촬영한 사진 또는 영상 내 프레임 중 로봇의 움직임이 가장 큰 시점의 2D 데이터를 추출한 후 그 시점을 추출한다. 즉, 위치선정부(370)에서는 복수의 카메라(400) 위치에서 로봇의 움직임이 가장 크게 잡히는 카메라(400)를 선정했다면, 시점확보부(380)에서는 동일한 좌표에서 촬영하면서 가장 큰 움직임이 확보되는 시점(Timing)을 추출하는 것이다. 이렇게 움직임이 큰 위치 및 시점을 확보해야 3D 데이터와 세밀하게 매칭이 가능하고, 매칭을 할 때에도 넓은 범위의 매칭이 가능해진다.The viewpoint securing unit 380 extracts the 2D data at the viewpoint where the robot's movement is greatest from the 2D data taken at the selected coordinates, and matches the 2D data at the viewpoint where the robot's motion is the greatest with the 3D data. there is. Continuing to refer to the above-mentioned example, the camera 400 is installed at location A (X1, Y1, Z1), and the robot's movement path and movement trajectory are photographed for a preset period of time, such as all day or a week. Among the frames in the captured photo or video, 2D data is extracted at the point where the robot's movement is greatest, and then that point is extracted. That is, if the positioning unit 370 selects the camera 400 that captures the greatest movement of the robot from the positions of the plurality of cameras 400, the viewpoint securing unit 380 secures the largest movement while shooting at the same coordinates. Timing is extracted. Only by securing a location and viewpoint with such large movement can detailed matching with 3D data be possible, and even when matching, a wide range of matching becomes possible.

변환부(390)는, 매칭이 완료된 후, 로봇을 촬영한 2D 데이터가 입력되는 경우, 2D 데이터로 3D 데이터에서의 정보를 확인하도록 2D 데이터를 3D 데이터로 변환할 수 있다. 이렇게 매칭이 완료되고 나면, 2D 데이터, 즉 일반 카메라(400)로 촬영한 2D 데이터만 있어도 3D 데이터로 변환할 수 있는 변환행렬이 만들어질 수 있다. 상술한 바와 같이 실공간과 카메라로 촬영하여 얻어지는 이미지 평면 간에는 회전변환, 이동변환 및 투영변환으로 설명할 수 있는 대응관계가 존재하는데, 실제 촬영된 2D 데이터를 3D 데이터로 변환하고, 3D 데이터와 실제 제어 데이터인 3D 데이터를 매칭 및 정합시킴으로써, 각 변환행렬을 구할 수 있게 된다. 이렇게 구해진 변환행렬을 이용하는 경우 2D 데이터가 입력되더라도 3D 데이터의 XYZ 좌표를 얻을 수 있게 되며 3D 비전 카메라를 이용하지 않더라도 2D 카메라만으로도 실제 위치 및 좌표를 구할 수 있게 된다.After matching is completed, when 2D data obtained by photographing a robot is input, the conversion unit 390 may convert the 2D data into 3D data so that information in the 3D data can be confirmed with 2D data. Once matching is completed in this way, a conversion matrix can be created that can convert 2D data, that is, 2D data captured with a general camera 400, into 3D data. As described above, there is a correspondence relationship between real space and the image plane obtained by shooting with a camera that can be explained by rotation transformation, translation transformation, and projection transformation. Actually captured 2D data is converted into 3D data, and 3D data and actual data are converted into 3D data. By matching and matching 3D data, which is control data, each transformation matrix can be obtained. If you use the transformation matrix obtained in this way, even if 2D data is input, you can obtain the

상태진단부(391)는, 2D 데이터가 3D 데이터로 변환된 경우, 사용자 단말(100)에서 입력된 제어 데이터인 3D 데이터와, 2D 데이터로부터 변환된 3D 데이터의 매칭을 수행한 후, 속도 에러, 부하 에러 및 타겟 무빙 에러를 포함하는 상태진단을 수행할 수 있다. 로봇암은 작업공간이 넓고 자유도와 유연성이 높아 가공에 적용시 복잡한 형상의 가공이 가능하고, 재구성이 용이하여 생산시스템 효율을 향상시킬 수 있지만, 다자유도 로봇암은 강성이 낮아 가공에 적용 시 외란에 의한 위치오차가 발생할 수 있다. 이는 로봇암의 각 관절의 모터 엔코더에서 측정할 수 없는 오차로, 모터 엔코더 신호만 피드백 받는 기존의 피드백 제어기법으로 보상하기 어렵다. 이에 따라, 2D 데이터가 변환된 3D 데이터(비교값)와, 제어를 위한 3D 데이터 간 차이를 이용하여 오차를 보상할 수 있도록 사용될 수 있다. 이때 위치 제어 뿐만 아니라 속도 에러, 부하 에러, 타겟 무빙 에러 등의 오차를 발견할 수도 있다. 제어 데이터를 넣는다고 하더라도 로봇이 이대로 움직일 수 있는 것은 아니다. 이에 따라, 상술한 3D 데이터를 비교하는 것 외에도, 모터 엔코더 신호와 실제 위치인 3D 데이터를 동시에 이용하는 듀얼 피드백 제어를 적용할 수도 있다. 실제 위치는 외란 관측기를 적용하여 각 관절에 인가되는 외란 토크를 구하고, 실험적으로 측정한 링크와 관절의 강성모델을 이용하여 계산할 수도 있다. 듀얼 피드백 알고리즘을 Matlab Simulink를 이용하여 구성할 수 있다. 듀얼피드백 알고리즘을 각 관절에 적용하여 오차를 보상할 수 있고, 보상된 각 관절의 각도를 바탕으로 로봇 끝단의 위치를 계산할 수 있다. When 2D data is converted to 3D data, the status diagnosis unit 391 performs matching between 3D data, which is control data input from the user terminal 100, and 3D data converted from 2D data, and detects a speed error, Status diagnosis including load errors and target moving errors can be performed. Robot arms have a large work space and high degree of freedom and flexibility, enabling processing of complex shapes and improving production system efficiency through easy reconfiguration. However, multi-degree-of-freedom robot arms have low rigidity when applied to processing. Position errors may occur due to disturbance. This is an error that cannot be measured by the motor encoder of each joint of the robot arm, and is difficult to compensate for using existing feedback control techniques that only receive feedback from motor encoder signals. Accordingly, 2D data can be used to compensate for errors using the difference between converted 3D data (comparison value) and 3D data for control. At this time, errors such as speed error, load error, and target moving error as well as position control may be discovered. Even if control data is entered, the robot cannot move like this. Accordingly, in addition to comparing the above-described 3D data, dual feedback control that simultaneously uses the motor encoder signal and the actual position 3D data can be applied. The actual position can be calculated by applying a disturbance observer to obtain the disturbance torque applied to each joint and using the experimentally measured stiffness model of the link and joint. The dual feedback algorithm can be configured using Matlab Simulink. By applying the dual feedback algorithm to each joint, errors can be compensated, and the position of the robot end can be calculated based on the compensated angle of each joint.

추적대상검출부(393)는, 로봇이 협동로봇이고, 2D 데이터를 얻을 때 복수의 로봇이 프레임에 포함되는 경우, 2D 데이터를 얻을 로봇에 기 설정된 색상의 마커를 부착하고, 영상센서를 이용하여 마커가 부착된 로봇을 검출하도록 설정할 수 있다. 산업현장에서 가장 많이 쓰이는 로봇은 6축 로봇암이 대표적인데, 인간형 팔을 모사한 것이다. 6축 로봇암은 베이스로부터 3축은 로봇암 선단인 엔드-이펙터의 위치, 끝부분의 3축은 로봇팔 선단의 자세(Orientation)를 제어한다. 이렇게 1 개의 로봇암에서도 추적할 축이나 부분이 어디인지를 구분해주어야 하고, 또 복수의 협동로봇이 한 프레임 안에 함께 잡힌다면 어느 로봇을 중심으로 움직임을 파악할 것인지를 구분해주어야 한다. 예를 들어, (X1,Y1,Z1)에 위치한 카메라(400)에서 A 로봇을 촬영하는데 해당 프레임에 B 로봇도 함께 잡히는 경우에는 A 로봇을 추적할 것인지 B 로봇을 추적할 것인지를 설정해주어야 한다. 또, A 로봇을 추적한다고 가정하면 A 로봇의 각 축 및 단(End)부 중 어느 부분을 추적할 것인지를 파악해야 한다. 이에 따라, 한 프레임에 복수의 로봇이 잡히는 경우에는 YOLO를 이용하여 어느 물체를 탐지할 것인지를 설정하도록 하고, 하나의 로봇의 어느 부위를 추적할 것인지를 설정하기 위해서는 영상센서를 이용하여 추적 부위를 설정하도록 한다. 물론, 복수의 로봇이 잡힐 때 영상센서를 이용하고, 하나의 로봇에서 추적 부위를 설정할 때 YOLO를 이용할 수도 있고 이를 혼합할 수도 있다. 그리고, 가장 움직임이 큰 카메라(400)의 위치 및 3D 데이터와 비교할 시점을 지정할 때 기준값을 로봇암의 어느 부위로 할 것인지, 만약 6 축을 기준으로 한다면 어느 축을 기준으로 할 것인지를 우선 설정하고, 이를 기준으로 움직임이 큰 지 또는 작은지를 추적해야 한다. 만약, 로봇암의 가장 끝단인 엔드-이펙터, 즉 그립(Grip)을 할 수 있는 부분을 기준으로 한다면, 그립 부분에 마커를 부착하고, 이 마커의 움직임을 측정함으로써 카메라(400)의 위치 및 3D 데이터와 비교할 시점을 지정할 수 있다. If the robot is a collaborative robot and multiple robots are included in the frame when obtaining 2D data, the tracking object detection unit 393 attaches a marker of a preset color to the robot from which 2D data is to be obtained, and uses an image sensor to detect the marker. It can be set to detect robots attached. The most commonly used robot in industrial settings is the 6-axis robot arm, which imitates a humanoid arm. In a 6-axis robot arm, the 3 axes from the base control the position of the end-effector, which is the tip of the robot arm, and the 3 axes at the end control the orientation of the tip of the robot arm. In this way, even in one robot arm, it is necessary to distinguish which axis or part to track, and if multiple collaborative robots are captured together in one frame, it is necessary to distinguish which robot the movement will be centered around. For example, if the camera 400 located at (X1,Y1,Z1) captures robot A, and robot B is also caught in the frame, you must set whether to track robot A or robot B. Also, assuming that we are tracking robot A, we need to figure out which part of each axis and end of robot A to track. Accordingly, when multiple robots are caught in one frame, YOLO is used to set which object to detect, and to set which part of one robot to track, the tracking part is set using an image sensor. Set it up. Of course, when multiple robots are caught, an image sensor can be used, and when setting a tracking area on one robot, YOLO can be used, or they can be mixed. In addition, when specifying the position of the camera 400 with the greatest movement and the time point for comparison with 3D data, first set which part of the robot arm the reference value will be and, if 6 axes, which axis will be the reference, and Based on this, you need to track whether the movement is large or small. If the end-effector, the very end of the robot arm, that is, the part that can grip, is used as a reference, a marker is attached to the grip part and the movement of this marker is measured to determine the position of the camera 400 and 3D You can specify the point in time to compare data.

<영상센서 기반 추적 객체 검출><Detection of tracking objects based on video sensor>

영상센서는 로봇암의 기 설정된 부위에 부착된 마커의 색상을 인식하고, 마커의 컬러 영역을 사각형에 포함하여 인식범위 및 위치를 출력한다. 영상센서는 예를 들어, PIXY CMUCam5를 이용할 수 있는데 기 설정된 거리에서 최소면적까지 인식하여 인식 대상 컬러의 면적, 2차원상에서의 중심점의 위치를 출력한다. 영상센서는 마커의 특정 색상을 인식하고, 특정 색상의 마커 영역을 사각형으로 씌운 인식 범위의 면적 및 위치를 출력한다. 특정 컬러로 인식된 사각 영역은 배경색과 유사할 경우 많이 생기게 되어 인지 잡음이 발생할 수 있으므로, 이 경우 최대 면적의 사각 영역을 검출하여 이에 대한 위치 및 면적을 선정한다. 영상센서는 Hue-Based Color Filtering 알고리즘을 사용하여 인식하여 빛의 밝기 및 노출에 따른 색값 변화에 대해 강인한 장점이 있다. 영상센서에서는 50msec마다 영상을 캡쳐하여 인식 데이터를 출력한다. 캡쳐된 영상은 추적할 색상(컬러코드, Color Code)의 색상과 채도를 기반으로(HSV모델) Hue 및 Saturation Filtering을 적용한 후, 컬러코드와 가장 큰접한 컬러코드그룹(Color Code Group)을 검출하여 사각형태로 둘러싸고, 검출된 사각 물체를 2차원 화면사에서 위치 및 크기 정보를 출력할 수 있다. 이를 정리하면 이하 표 2와 같다.The image sensor recognizes the color of the marker attached to a preset part of the robot arm and outputs the recognition range and location by including the marker's colored area in a square. For example, the image sensor can use PIXY CMUCam5, which recognizes the minimum area from a preset distance and outputs the area of the color to be recognized and the location of the center point in two dimensions. The image sensor recognizes the specific color of the marker and outputs the area and location of the recognition range, which covers the marker area of the specific color in a rectangle. If the rectangular area recognized as a specific color is similar to the background color, it may generate a lot of recognition noise, so in this case, the rectangular area with the largest area is detected and the location and area for it are selected. The image sensor recognizes using the Hue-Based Color Filtering algorithm and has the advantage of being robust against changes in color values depending on light brightness and exposure. The image sensor captures images every 50 msec and outputs recognition data. The captured video is subjected to hue and saturation filtering (HSV model) based on the color and saturation of the color to be tracked (color code), and then detects the color code group that is closest to the color code. The detected rectangular object is surrounded by a rectangular shape, and location and size information can be output on a two-dimensional screen. This is summarized in Table 2 below.

Image CaptureImage Capture Hue&Saturation Filtering(HSV)Hue&Saturation Filtering(HSV) Color Code SettingColor Code Setting ------------------------→------------------------→ Convolution Mask(LPF)Convolution Mask (LPF) ---------------→ ---------------→ Color Range Detect
(Retangular Output)
Color Range Detection
(Retangular Output)
Color Code Object Output
(X,Y,H,W)
SPI I/F
Color Code Object Output
(X,Y,H,W)
SPI I/F

덧붙여서, 로봇이 협동로봇인 경우, 각 로봇이 수행하는 작업 프로그램을 로봇 간 파악할 수 있도록 하는 구성을 더 이용할 수 있다. 상술한 구성이 영상 기반이었다면 부가되는 사항은 센서 기반으로 이루어질 수 있다. 로봇의 작업 프로그램에 의해 추출되는 시계열의 전류, 위치 데이터, 로봇 관절의 축의 각도 데이터를 수집하여, CNN(Convolution Neural Network) 모델을 적용할 수 있다. 실제 생산 시나리오에서 수행할 수 있는 작업 프로그램을 인식하고 이를 기반으로 인간과 로봇 간 협력 뿐만 아니라, 로봇과 로봇 간의 작업효율 및 협력 프로토콜 설계의 기반을 마련할 수 있다.<작업 프로그램 인식 모델>In addition, if the robot is a collaborative robot, a configuration that allows robots to understand the work program performed by each robot can be further used. If the above-described configuration was image-based, additional information may be sensor-based. A CNN (Convolution Neural Network) model can be applied by collecting time series current, position data, and axis angle data of robot joints extracted by the robot's work program. By recognizing work programs that can be performed in actual production scenarios, it is possible to lay the foundation for not only cooperation between humans and robots, but also work efficiency and cooperation protocol design between robots. <Work program recognition model>

스마트팩토리의 생산 작업은 제조되는 제품에 따라 상이하며, 이에 따라 구동될 수 있는 프로그램의 종류도 다르다. 그러나 하나의 프로그램을 완성시키는 낱개의 동작 명령어는 조인트별 움직임을 제어하는 명령어(Move_Pose)와 말단부에 장착된 엔드 이펙터(End-Effector)를 제어하기 위한 명령어(Grab_With_Tool, Release_Tool)로 대표적으로 구분될 수 있다. 즉, 다양한 많은 명령어 중 공통적으로 사용되는 3 개의 명령어에 포커스를 맞출 수 있으나 이용가능한 명령어는 이에 한정되는 것은 아니다.The production work of a smart factory differs depending on the product being manufactured, and the types of programs that can be run are also different accordingly. However, individual operation commands that complete one program can be representatively divided into commands for controlling movement by joint (Move_Pose) and commands for controlling end-effectors mounted on the extremities (Grab_With_Tool, Release_Tool). there is. In other words, the focus can be placed on three commonly used instructions among many different instructions, but the available instructions are not limited to these.

동작 명령어action command 파라미터parameter 기능 function Move_PoseMove_Pose X, Y, Z, Roll, Pitch, YawX, Y, Z, Roll, Pitch, Yaw 로봇암 기준의 절대 위치값을 받아 끝단을 해당 위치로 이동 Receives the absolute position value based on the robot arm and moves the end to the corresponding position. Grab_with_ToolGrab_with_Tool Tool_IDTool_ID End-Effector의 종류(ID)를 받아 해당 End Effector 활성화 Receive the type (ID) of the end-effector and activate the corresponding end-effector Release_ToolRelease_Tool Tool_IDTool_ID End-Effector의 종류(ID)를 받아 해당 End Effector 비활성화 Receive the type (ID) of the end-effector and deactivate the corresponding end-effector

실제 공장 내에서 구동되는 프로그램은 이와 같은 동작 명령어의 조합으로 구동되며, 동작 명령어의 순차적인 조합을 통해 다양한 작업 프로그램을 설계할 수 있다. 예를 들어, 스마트팩토리 제조 환경에 따라 Cutting, Attaching, Gluing 등의 작업은 세부적인 작업의 종류나 작업자의 프로그래밍 방식 등에 따라 크고 작은 프로그램이 완성될 수 있다. <CNN 기반 작업 프로그램 인식 모델>Programs run in actual factories are driven by a combination of these operation instructions, and various work programs can be designed through sequential combinations of operation instructions. For example, depending on the smart factory manufacturing environment, tasks such as cutting, attaching, and gluing can be completed in large or small programs depending on the type of detailed work or the operator's programming method. <CNN-based task program recognition model>

작업 프로그램 인식 모델은 작업자에 의해 정의된 프로그램별 센서 데이터를 수집 및 학습하여, 현재 수행되고 있는 작업을 인식하기 위한 모델이다. 이를 위해 먼저, N개의 시계열 센싱 데이터를 프로그램의 시작과 끝의 시점에 따라 구분하고, 정해진 Time Step을 기준으로 1차원의 CNN 모델(1D-CNN Model)에 입력이 되어 학습을 진행할 수 있다. 이를 통하여 로봇의 수행작업에 따라 센서 데이터를 수집하고, 이를 정제하여 CNN 기반으로 작업 프로그램을 인식하도록 할 수 있고, 이를 통하여 로봇과 로봇 간 협력작업을 위한 기반을 제공할 수 있다.The work program recognition model is a model for recognizing the work currently being performed by collecting and learning sensor data for each program defined by the operator. To achieve this, first, N time series sensing data can be classified according to the start and end of the program, and then input into a one-dimensional CNN model (1D-CNN Model) based on a designated time step to proceed with learning. Through this, it is possible to collect sensor data according to the tasks performed by the robot, refine it, and recognize the work program based on CNN. Through this, it is possible to provide a basis for cooperative work between robots.

이하, 상술한 도 2의 매칭 서비스 제공 서버의 구성에 따른 동작 과정을 도 3 및 도 4를 예로 들어 상세히 설명하기로 한다. 다만, 실시예는 본 발명의 다양한 실시예 중 어느 하나일 뿐, 이에 한정되지 않음은 자명하다 할 것이다.Hereinafter, the operation process according to the configuration of the matching service providing server of FIG. 2 described above will be described in detail using FIGS. 3 and 4 as an example. However, it will be apparent that the embodiment is only one of various embodiments of the present invention and is not limited thereto.

도 3을 참조하면, (a) 매칭 서비스 제공 서버(300)는 로봇을 적어도 하나의 각도에서 촬영하고 (b) 2D 데이터를 카메라(400)의 위치좌표와 매핑하여 저장할 수 있다. 그리고, (c)와 같이 2D 데이터 중 객체인 로봇의 움직임이 가장 큰 2D 데이터를 선택하고, (d)와 같이 로봇의 움직임이 가장 큰 2D 데이터를 출력한 카메라(400)의 위치를 로봇을 촬영하는 위치로 선정한다. 물론, 카메라(400)의 자세 및 각도의 정보가 위치 데이터에 모두 포함됨은 상술한 바와 같다. 그리고, 도 4의 (a)와 같이 카메라(400)의 위치가 고정된 상태에서 로봇의 움직임을 촬영하는데, 움직임이 가장 큰 시점(t0)을 움직임 데이터에 기반하여 추출하고, (b) 해당 시점의 제어 데이터인 3D 데이터를 추출한다. 이때, 2D 데이터와 3D 데이터를 매칭함으로써 변환행렬을 조정하고, (c)와 같이 사용자 단말(100)을 통해 카메라(400)의 사진 또는 영상이 2D 데이터로 들어온다고 할지라도, 변환행렬을 통해 3D 데이터로 변환할 수 있다. 또 이러한 3D 데이터를 이용하여 (d)와 같은 용도로 활용할 수도 있지만 활용방법은 이에 한정되지 않는다.Referring to FIG. 3, (a) the matching service providing server 300 can photograph a robot from at least one angle and (b) map the 2D data to the position coordinates of the camera 400 and store it. Then, as shown in (c), the 2D data with the largest movement of the robot, which is an object, is selected among the 2D data, and the position of the camera 400 that outputs the 2D data with the largest robot movement is photographed with the robot as shown in (d). Select a location to do so. Of course, as described above, all information about the posture and angle of the camera 400 is included in the location data. Then, as shown in (a) of Figure 4, the movement of the robot is filmed while the position of the camera 400 is fixed, and the time point (t0) when the movement is greatest is extracted based on the movement data, and (b) the corresponding time point Extract 3D data, which is control data. At this time, the transformation matrix is adjusted by matching 2D data and 3D data, and even if the photo or video of the camera 400 is input as 2D data through the user terminal 100 as shown in (c), 3D data is converted into 3D data through the transformation matrix. It can be converted into data. In addition, such 3D data can be used for purposes such as (d), but the method of use is not limited to this.

이와 같은 도 2 내지 도 4의 로봇 기반 2D 및 3D 매칭 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 로봇 기반 2D 및 3D 매칭 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.Matters that are not explained regarding the method of providing robot-based 2D and 3D matching services in FIGS. 2 to 4 are the same as, or are derived from, the content previously described regarding the method of providing robot-based 2D and 3D matching services in FIG. 1. Since it can be easily inferred, the description below will be omitted.

도 5는 본 발명의 일 실시예에 따른 도 1의 로봇 기반 2D 및 3D 매칭 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 5를 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 5에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.FIG. 5 is a diagram illustrating a process in which data is transmitted and received between components included in the robot-based 2D and 3D matching service providing system of FIG. 1 according to an embodiment of the present invention. Hereinafter, an example of the process of transmitting and receiving data between each component will be described with reference to FIG. 5, but the present application is not limited to this embodiment, and the process shown in FIG. 5 according to the various embodiments described above It is obvious to those skilled in the art that the process of transmitting and receiving data can be changed.

도 5를 참조하면, 매칭 서비스 제공 서버는, 사용자 단말로부터 로봇을 적어도 하나의 각도에서 촬영한 2D 데이터를 수집한다(S5100).Referring to FIG. 5, the matching service providing server collects 2D data obtained by photographing the robot from at least one angle from the user terminal (S5100).

그리고, 매칭 서비스 제공 서버는, 로봇의 움직임을 제어하는 3D 데이터를 추출하고(S5200), 2D 데이터를 3D 데이터에 매칭한다(S5300).Then, the matching service providing server extracts 3D data that controls the movement of the robot (S5200) and matches the 2D data to 3D data (S5300).

또한, 매칭 서비스 제공 서버는, 2D 데이터가 3D 데이터와 매칭된 콘텐츠를 사용자 단말로 전송한다(S5400).Additionally, the matching service providing server transmits content in which 2D data is matched with 3D data to the user terminal (S5400).

상술한 단계들(S5100~S5400)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S5100~S5400)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.The sequence between the above-described steps (S5100 to S5400) is only an example and is not limited thereto. That is, the order between the above-described steps (S5100 to S5400) may change, and some of the steps may be executed simultaneously or deleted.

이와 같은 도 5의 로봇 기반 2D 및 3D 매칭 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 4를 통해 로봇 기반 2D 및 3D 매칭 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.Matters that are not explained regarding the method of providing robot-based 2D and 3D matching services in FIG. 5 are the same as, or are derived from, the content previously described regarding the method of providing robot-based 2D and 3D matching services in FIGS. 1 to 4. Since it can be easily inferred, the description below will be omitted.

도 5를 통해 설명된 일 실시예에 따른 로봇 기반 2D 및 3D 매칭 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. The method of providing a robot-based 2D and 3D matching service according to an embodiment described with reference to FIG. 5 may also be implemented in the form of a recording medium containing instructions executable by a computer, such as an application or program module executed by a computer. You can. Computer-readable media can be any available media that can be accessed by a computer and includes both volatile and non-volatile media, removable and non-removable media. Additionally, computer-readable media may include all computer storage media. Computer storage media includes both volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data.

전술한 본 발명의 일 실시예에 따른 로봇 기반 2D 및 3D 매칭 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 로봇 기반 2D 및 3D 매칭 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.The method of providing a robot-based 2D and 3D matching service according to an embodiment of the present invention described above is provided by an application installed by default on the terminal (this may include programs included in the platform or operating system, etc., installed by default on the terminal). It may be executed by an application (i.e., a program) installed by the user directly on the master terminal through an application providing server such as an application store server, an application, or a web server related to the service. In this sense, the method of providing robot-based 2D and 3D matching services according to an embodiment of the present invention described above is implemented as an application (i.e., program) installed by default on the terminal or directly installed by the user, and is installed on the terminal by a computer, etc. It can be recorded on a readable recording medium.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The description of the present invention described above is for illustrative purposes, and those skilled in the art will understand that the present invention can be easily modified into other specific forms without changing the technical idea or essential features of the present invention. will be. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive. For example, each component described as unitary may be implemented in a distributed manner, and similarly, components described as distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims described below rather than the detailed description above, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.

Claims (10)

로봇을 적어도 하나의 각도에서 2D 데이터로 촬영하고, 촬영한 2D 데이터가 3D 데이터와 매칭된 콘텐츠를 출력하는 사용자 단말; 및
상기 사용자 단말로부터 상기 로봇을 적어도 하나의 각도에서 촬영한 2D 데이터를 수집하는 수집부, 로봇에서 수집될 수 있는 데이터로부터 상기 로봇의 움직임을 제어하는 3D 데이터를 추출하는 추출부, 상기 2D 데이터를 상기 3D 데이터에 매칭하는 매칭부, 상기 2D 데이터가 3D 데이터와 매칭된 콘텐츠를 상기 사용자 단말로 전송하는 전송부를 포함하는 매칭 서비스 제공 서버;
를 포함하고,
상기 매칭 서비스 제공 서버는,
상기 적어도 하나의 각도에서 상기 2D 데이터를 확보하기 위하여 상기 로봇이 움직일 때 상기 로봇을 촬영하는 카메라의 적어도 하나의 XYZ 좌표와, 상기 적어도 하나의 XYZ 좌표에서 촬영되는 2D 데이터를 매핑하여 저장하는 저장부; 및
상기 카메라가 촬영한 2D 데이터 내 상기 로봇의 움직임의 거리 및 각도가 가장 큰 2D 데이터를 추출하고, 추출된 2D 데이터와 매핑된 XYZ 좌표를 추출한 후, 추출된 XYZ 좌표를 2D 데이터를 확보하는 좌표로 선정하는 위치선정부를 더 포함하는 것인, 로봇 기반 2D 및 3D 매칭 서비스 제공 시스템.
A user terminal that photographs a robot as 2D data from at least one angle and outputs content matching the photographed 2D data with 3D data; and
A collection unit that collects 2D data obtained by photographing the robot from at least one angle from the user terminal, an extraction unit that extracts 3D data for controlling the movement of the robot from data that can be collected from the robot, and the 2D data A matching service providing server including a matching unit for matching 3D data and a transmission unit for transmitting content in which the 2D data is matched with 3D data to the user terminal;
Including,
The matching service providing server,
In order to secure the 2D data from the at least one angle, a storage unit that maps and stores at least one ; and
Extract the 2D data with the largest distance and angle of movement of the robot within the 2D data captured by the camera, extract the extracted 2D data and the mapped XYZ coordinates, and then convert the extracted XYZ coordinates into coordinates for securing 2D data. A robot-based 2D and 3D matching service provision system that further includes a positioning unit for selection.
삭제delete 삭제delete 삭제delete 제 1 항에 있어서,
상기 매칭 서비스 제공 서버는,
상기 선정된 좌표에서 촬영한 2D 데이터 내 상기 로봇의 움직임이 가장 큰 시점의 2D 데이터를 추출하고, 상기 로봇의 움직임이 가장 큰 시점의 2D 데이터를 상기 3D 데이터와 매칭을 수행하는 시점확보부;
를 더 포함하는 것을 특징으로 하는 로봇 기반 2D 및 3D 매칭 서비스 제공 시스템.
According to claim 1,
The matching service providing server,
a viewpoint securing unit that extracts 2D data at a viewpoint where the robot's movement is greatest from the 2D data captured at the selected coordinates, and matches the 2D data at a viewpoint where the robot's motion is greatest with the 3D data;
A robot-based 2D and 3D matching service provision system further comprising:
제 1 항에 있어서,
상기 매칭 서비스 제공 서버는,
상기 매칭이 완료된 후, 상기 로봇을 촬영한 2D 데이터가 입력되는 경우, 상기 2D 데이터로 3D 데이터에서의 정보를 확인하도록 상기 2D 데이터를 상기 3D 데이터로 변환하는 변환부;
를 더 포함하는 것을 특징으로 하는 로봇 기반 2D 및 3D 매칭 서비스 제공 시스템.
According to claim 1,
The matching service providing server,
After the matching is completed, when 2D data captured by photographing the robot is input, a conversion unit that converts the 2D data into the 3D data to confirm information in the 3D data with the 2D data;
A robot-based 2D and 3D matching service provision system further comprising:
삭제delete 제 1 항에 있어서,
상기 2D 데이터는,
2D 이미지, 2D 사진 및 2D 영상 중 어느 하나인 것을 특징으로 하는 로봇 기반 2D 및 3D 매칭 서비스 제공 시스템.
According to claim 1,
The 2D data is,
A robot-based 2D and 3D matching service providing system characterized in that it is one of 2D images, 2D photos, and 2D videos.
제 1 항에 있어서,
상기 로봇은 로봇암(Arm)을 가진 로봇인 것을 특징으로 하는 로봇 기반 2D 및 3D 매칭 서비스 제공 시스템.
According to claim 1,
A robot-based 2D and 3D matching service providing system, characterized in that the robot is a robot with a robot arm.
제 1 항에 있어서,
상기 매칭 서비스 제공 서버는,
상기 로봇이 협동로봇이고, 상기 2D 데이터를 얻을 때 복수의 로봇이 프레임에 포함되는 경우, 상기 2D 데이터를 얻을 로봇에 기 설정된 색상의 마커를 부착하고, 영상센서를 이용하여 상기 마커가 부착된 로봇을 검출하도록 설정하는 추적대상검출부;
를 더 포함하는 것을 특징으로 하는 로봇 기반 2D 및 3D 매칭 서비스 제공 시스템.

According to claim 1,
The matching service providing server,
If the robot is a collaborative robot and a plurality of robots are included in the frame when obtaining the 2D data, a marker of a preset color is attached to the robot from which the 2D data is to be obtained, and the robot to which the marker is attached using an image sensor a tracking object detection unit configured to detect;
A robot-based 2D and 3D matching service provision system further comprising:

KR1020230088639A 2023-07-07 2023-07-07 System for providing two dimensional and three dimensional matching service for robot KR102624242B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230088639A KR102624242B1 (en) 2023-07-07 2023-07-07 System for providing two dimensional and three dimensional matching service for robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230088639A KR102624242B1 (en) 2023-07-07 2023-07-07 System for providing two dimensional and three dimensional matching service for robot

Publications (1)

Publication Number Publication Date
KR102624242B1 true KR102624242B1 (en) 2024-01-15

Family

ID=89542776

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230088639A KR102624242B1 (en) 2023-07-07 2023-07-07 System for providing two dimensional and three dimensional matching service for robot

Country Status (1)

Country Link
KR (1) KR102624242B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130075712A (en) * 2011-12-27 2013-07-05 (재)대구기계부품연구원 A laser-vision sensor and calibration method thereof
JP2016203282A (en) * 2015-04-17 2016-12-08 キヤノン電子株式会社 Robot with mechanism for changing end effector attitude
KR20200056905A (en) * 2018-11-15 2020-05-25 삼성전자주식회사 Method and apparatus for aligning 3d model
KR20220100983A (en) * 2019-12-10 2022-07-18 카와사키 주코교 카부시키가이샤 computer to check video

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130075712A (en) * 2011-12-27 2013-07-05 (재)대구기계부품연구원 A laser-vision sensor and calibration method thereof
JP2016203282A (en) * 2015-04-17 2016-12-08 キヤノン電子株式会社 Robot with mechanism for changing end effector attitude
KR20200056905A (en) * 2018-11-15 2020-05-25 삼성전자주식회사 Method and apparatus for aligning 3d model
KR20220100983A (en) * 2019-12-10 2022-07-18 카와사키 주코교 카부시키가이샤 computer to check video

Similar Documents

Publication Publication Date Title
CN110587600B (en) Point cloud-based autonomous path planning method for live working robot
CN107871328B (en) Machine vision system and calibration method implemented by machine vision system
CN110136208B (en) Joint automatic calibration method and device for robot vision servo system
WO2018137445A1 (en) Ros-based mechanical arm grabbing method and system
CN109658457B (en) Method for calibrating arbitrary relative pose relationship between laser and camera
CN103895023B (en) A kind of tracking measurement method of the mechanical arm tail end tracing measurement system based on coding azimuth device
CN110480634B (en) Arm guide motion control method for mechanical arm motion control
CN111801198A (en) Hand-eye calibration method, system and computer storage medium
CN111476841B (en) Point cloud and image-based identification and positioning method and system
CN110717943A (en) Method and system for calibrating eyes of on-hand manipulator for two-dimensional plane
CN111127568A (en) Camera pose calibration method based on space point location information
CN112184812B (en) Method for improving identification and positioning precision of unmanned aerial vehicle camera to april tag and positioning method and system
CN109807937A (en) A kind of Robotic Hand-Eye Calibration method based on natural scene
CN113379849A (en) Robot autonomous recognition intelligent grabbing method and system based on depth camera
CN111360821A (en) Picking control method, device and equipment and computer scale storage medium
CN111383263A (en) System, method and device for grabbing object by robot
WO2020063058A1 (en) Calibration method for multi-degree-of-freedom movable vision system
CN112659129B (en) Robot positioning method, device and system and computer equipment
CN110991306B (en) Self-adaptive wide-field high-resolution intelligent sensing method and system
Xin et al. 3D augmented reality teleoperated robot system based on dual vision
Du et al. Eye-to-hand robotic tracking and grabbing based on binocular vision
CN115042175A (en) Method for adjusting tail end posture of mechanical arm of robot
WO2022208963A1 (en) Calibration device for controlling robot
CN103707300A (en) Manipulator device
KR102432370B1 (en) Vision analysis apparatus for picking robot

Legal Events

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