KR102567743B1 - System for providing vision based data synchronization service between collaborative robot - Google Patents

System for providing vision based data synchronization service between collaborative robot Download PDF

Info

Publication number
KR102567743B1
KR102567743B1 KR1020230030068A KR20230030068A KR102567743B1 KR 102567743 B1 KR102567743 B1 KR 102567743B1 KR 1020230030068 A KR1020230030068 A KR 1020230030068A KR 20230030068 A KR20230030068 A KR 20230030068A KR 102567743 B1 KR102567743 B1 KR 102567743B1
Authority
KR
South Korea
Prior art keywords
data
time
real
synchronization service
synchronization
Prior art date
Application number
KR1020230030068A
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 KR1020230030068A priority Critical patent/KR102567743B1/en
Application granted granted Critical
Publication of KR102567743B1 publication Critical patent/KR102567743B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects

Abstract

비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템이 제공되며, 적어도 하나의 협동로봇(Collaborative Robot) 간 동기화된 실시간 데이터를 출력하는 사용자 단말 및 적어도 하나의 협동로봇으로부터 실시간 데이터를 수집하는 수집부, 적어도 하나의 카메라를 이용하여 적어도 하나의 협동로봇을 촬영하는 촬영부, 적어도 하나의 협동로봇의 실시간 데이터를 적어도 하나의 카메라로 촬영된 영상 데이터에 기반하여 동기화를 수행하는 동기화부, 동기화된 실시간 데이터를 사용자 단말로 전달하는 전달부를 포함하는 동기화 서비스 제공 서버를 포함한다.A system for providing a data synchronization service between vision-based collaborative robots is provided, and includes at least one user terminal outputting synchronized real-time data between at least one collaborative robot and a collection unit collecting real-time data from the at least one collaborative robot. A photographing unit that photographs at least one cobot using a camera, a synchronization unit that synchronizes real-time data of at least one cobot based on image data captured by at least one camera, and transmits the synchronized real-time data to a user. and a synchronization service providing server including a forwarding unit for transmitting to the terminal.

Description

비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템{SYSTEM FOR PROVIDING VISION BASED DATA SYNCHRONIZATION SERVICE BETWEEN COLLABORATIVE ROBOT}Data synchronization service provision system between vision-based collaborative robots {SYSTEM FOR PROVIDING VISION BASED DATA SYNCHRONIZATION SERVICE BETWEEN COLLABORATIVE ROBOT}

본 발명은 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템에 관한 것으로, 비전 기반으로 각 시점별 협업로봇의 키포인트를 이용하여 데이터 동기화를 수행함으로써 양질의 데이터를 확보할 수 있는 시스템을 제공한다.The present invention relates to a system for providing a data synchronization service between vision-based collaborative robots, and provides a system capable of securing high-quality data by performing data synchronization using a vision-based keypoint of a collaborative robot at each point in time.

대부분의 인공지능 연구는 양질의 정제된 오픈데이터에 치중되어 있으며, 현장에서 발생하는 다듬어지지 않은 날 것의 데이터로부터 CPPS(Cyber Pysical Production System) 구축에 필요한 멀티모달 데이터셋 확보까지의 프로세스에 대한 가이드라인이 부족한 상황이다. 산업현장에서 데이터를 수집하기 위한 하드웨어는 준비되어 있으나, 쏟아지는 데이터를 처리하고 다루는 데이터 파이프라인이 준비되어 있지 않다. CPS(Cyber Physical System)를 구성하는 5C(Connection, Conversion, Cyber, Cognition 및 Configure)의 각 단계들이 강건하게 상호작용 하기 위해서는, 오퍼레이션 데이터에 대한 수집이 필수적인데, IoT 장비의 센서 데이터를 취합 및 병합 시 각 데이터 간의 시간지연문제는 큰 걸림돌로 작용하고 있으며, 데이터셋의 질적향상을 위한 레이블링 작업은 큰 병목 현상을 야기해 오고 있다, 제조업의 특성상 오퍼레이션 정보는 매우 중요하지만, 센서 자체의 정밀도 한계나 통신 프로토콜의 문제로 인해 수집되는 데이터 간의 시간차는 항상 존재한다. Most artificial intelligence research is focused on high-quality refined open data, and guidelines for the process from unrefined raw data generated in the field to securing multimodal datasets necessary for CPPS (Cyber Physical Production System) construction this situation is lacking. Hardware for collecting data at industrial sites is prepared, but data pipelines that process and handle the pouring data are not prepared. In order for each step of the 5C (Connection, Conversion, Cyber, Cognition, and Configure) constituting the CPS (Cyber Physical System) to interact robustly, it is essential to collect operation data, and collect and merge sensor data from IoT equipment. The time delay problem between visual data acts as a major obstacle, and labeling work to improve the quality of datasets has caused a major bottleneck. Operation information is very important due to the nature of the manufacturing industry, but the precision limitations of the sensor itself Due to communication protocol problems, there is always a time difference between collected data.

이때, 로봇 제어 시스템에서 데이터를 동기화하는 방법이 연구 및 개발되었는데, 이와 관련하여, 선행기술인 한국공개특허 제2022-0150700호(2022년11월11일 공고) 및 한국등록특허 제10-1645260호(2016년08월04일 공고)에는, 카메라로 촬영한 로봇의 상태정보 및 제어정보를 획득하고, 상태정보 및 제어정보에 기반하여 가상환경 내 가상로봇의 시뮬레이션 결과를 출력하며, 시뮬레이션 결과에 따라 다시 로봇을 제어할 때 오차허용치를 초과하는 경우 실제환경 및 가상환경 간 동기화를 수행하는 구성과, 서버-클라이언트 구조에서 타임스탬프(TimeStamp)를 이용하여 로봇에 배치된 센서 간 데이터를 동기화하도록, 동기신호를 생성한 후 동기신호 및 기록시간을 추출하며, 오차범위가 기준값 이상인 경우 OS를 기준으로, 오차범위가 기준값 미만인 경우 동기신호를 이용하는 구성이 각각 개시되어 있다.At this time, a method of synchronizing data in the robot control system has been researched and developed. In this regard, prior art Korean Patent Publication No. 2022-0150700 (published on November 11, 2022) and Korean Patent Registration No. 10-1645260 ( Announced on August 4, 2016), acquires the status information and control information of the robot captured by the camera, outputs the simulation result of the virtual robot in the virtual environment based on the status information and control information, and re-creates it according to the simulation result. Synchronization signal to synchronize data between sensors placed in the robot by using TimeStamp in the configuration and server-client structure that performs synchronization between the real environment and the virtual environment when the error tolerance is exceeded when controlling the robot. After generating , a synchronization signal and a recording time are extracted, and a configuration using OS as a standard when the error range is greater than or equal to a reference value and using a synchronization signal when the error range is less than the reference value is disclosed.

다만, 전자의 경우 디지털 트윈의 물리세계와 가상세계 간을 정합하는 구성으로 군집로봇 또는 협동로봇 간 데이터 동기화를 수행하는 구성이 아니며, 후자의 경우에도 운영체제의 시각을 이용할 것인지 동기신호의 시각을 이용할 것인지의 문제이지, 실시간 데이터가 로딩되면서 각 협동로봇 간 데이터 동기화가 맞지 않는 문제를 해결한 구성이 아니다. 이에, 비전 기반으로 기 설정된 시점의 협동로봇의 키포인트를 기준으로 실시간 데이터 간 동기화를 수행할 수 있는 방법의 연구 및 개발이 요구된다.However, in the former case, it is a configuration that matches the physical world and the virtual world of the digital twin, and is not a configuration that performs data synchronization between swarm robots or cooperative robots. It is not a configuration that solves the problem of inconsistent data synchronization between cobots as real-time data is loaded. Therefore, it is required to research and develop a method capable of synchronizing data in real time based on a vision-based keypoint of a cobot at a preset time point.

본 발명의 일 실시예는, 스마트팩토리 내 협동로봇을 카메라로 촬영하고, 기 설정된 시점별 키포인트를 추출한 후, 키포인트가 발생한 시각의 실시간 데이터를 영상 데이터를 기준으로 동기화시킴으로써 데이터 간 동기화(Synchronization)를 수행하도록 하고, 비전 기반으로 각 협동로봇 간 데이터 동기화를 정교하게 맞추어서 양 질의 데이터를 얻을 수 있도록 하며, 실제 산업현장에서 발생하는 데이터를 이용하여 스마트팩토리 구축에 효과적으로 적용될 수 있도록 정제할 수 있고, 잘 정제된 데이터로부터 단순히 정보를 뽑아내는 데에 그치지 않고 그에 대한 의사결정을 실제 현장에 다시 돌려보내어 생산에 도움을 주는 시뮬레이션에 이용할 수 있도록 하는, 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.In one embodiment of the present invention, after photographing a collaborative robot in a smart factory with a camera, extracting keypoints for each preset time point, and then synchronizing real-time data at the time when the keypoint occurred based on image data, synchronization between data is achieved. It is possible to obtain high-quality data by elaborately adjusting the data synchronization between each collaborative robot based on vision, and to refine it so that it can be effectively applied to smart factory construction using data generated in actual industrial sites. It is possible to provide a data synchronization service provision system between vision-based collaborative robots that does not stop at simply extracting information from refined data, but sends decision-making back to the actual field so that it can be used for simulation to help production. there is. However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 적어도 하나의 협동로봇(Collaborative Robot) 간 동기화된 실시간 데이터를 출력하는 사용자 단말 및 적어도 하나의 협동로봇으로부터 실시간 데이터를 수집하는 수집부, 적어도 하나의 카메라를 이용하여 적어도 하나의 협동로봇을 촬영하는 촬영부, 적어도 하나의 협동로봇의 실시간 데이터를 적어도 하나의 카메라로 촬영된 영상 데이터에 기반하여 동기화를 수행하는 동기화부, 동기화된 실시간 데이터를 사용자 단말로 전달하는 전달부를 포함하는 동기화 서비스 제공 서버를 포함한다.As a technical means for achieving the above technical problem, an embodiment of the present invention collects real-time data from a user terminal outputting synchronized real-time data between at least one collaborative robot and at least one collaborative robot. a collection unit that captures at least one camera; a recording unit that photographs at least one cobot using at least one camera; a synchronization unit that synchronizes real-time data of at least one cooperative robot based on image data captured by at least one camera; and a synchronization service providing server including a delivery unit for delivering synchronized real-time data to a user terminal.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 스마트팩토리 내 협동로봇을 카메라로 촬영하고, 기 설정된 시점별 키포인트를 추출한 후, 키포인트가 발생한 시각의 실시간 데이터를 영상 데이터를 기준으로 동기화시킴으로써 데이터 간 동기화(Synchronization)를 수행하도록 하고, 비전 기반으로 각 협동로봇 간 데이터 동기화를 정교하게 맞추어서 양 질의 데이터를 얻을 수 있도록 하며, 실제 산업현장에서 발생하는 데이터를 이용하여 스마트팩토리 구축에 효과적으로 적용될 수 있도록 정제할 수 있고, 잘 정제된 데이터로부터 단순히 정보를 뽑아내는 데에 그치지 않고 그에 대한 의사결정을 실제 현장에 다시 돌려보내어 생산에 도움을 주는 시뮬레이션에 이용할 수 있도록 한다.According to any one of the above-described problem solving means of the present invention, after photographing a collaborative robot in a smart factory with a camera, extracting keypoints for each preset time point, and then synchronizing real-time data at the time when the keypoint occurred based on the image data, data data Synchronization is performed between them, and data synchronization between each cobot is elaborately matched based on vision so that high-quality data can be obtained, and data generated in actual industrial sites can be used effectively to build a smart factory. It does not stop at simply extracting information from refined, well-refined data, but sends decisions about it back to the field so that it can be used in simulations that help production.

도 1은 본 발명의 일 실시예에 따른 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 동기화 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 비전 기반 협업로봇 간 데이터 동기화 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
1 is a diagram for explaining a data synchronization service providing system between vision-based collaborative robots according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a synchronization service providing server included in the system of FIG. 1 .
3 and 4 are diagrams for explaining an embodiment in which a data synchronization service between vision-based collaborative robots is implemented according to an embodiment of the present invention.
5 is an operational flowchart illustrating a method of providing a data synchronization service between vision-based collaborative robots according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail so that those skilled in the art can easily practice the present invention with reference to the accompanying drawings. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts 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 interposed therebetween. . In addition, when a part "includes" a certain component, this means that it may further include other components, not excluding other components, unless otherwise stated, and one or more other characteristics. However, it should be understood that it does not preclude the possibility of existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다. As used throughout the specification, the terms "about", "substantially", etc., are used at or approximating that value when manufacturing and material tolerances inherent in the stated meaning are given, and do not convey an understanding of the present invention. Accurate or absolute figures are used to help prevent exploitation by unscrupulous infringers of the disclosed disclosure. The term "step of (doing)" 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, a "unit" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Further, one unit may be realized using two or more hardware, and two or more units may be realized by one hardware. On the other hand, '~ unit' is not limited to software or hardware, and '~ unit' may be configured to be in an addressable storage medium or configured to reproduce one or more processors. Thus, as an example, '~unit' 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, circuitry, data, databases, data structures, tables, arrays and variables. Functions provided within components and '~units' may be combined into smaller numbers of components and '~units' or further separated into additional components and '~units'. In addition, components and '~units' may be implemented to play one or more CPUs in a device or a secure multimedia card.

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

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

도 1은 본 발명의 일 실시예에 따른 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템(1)은, 적어도 하나의 사용자 단말(100), 동기화 서비스 제공 서버(300), 적어도 하나의 카메라(400)를 포함할 수 있다. 다만, 이러한 도 1의 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.1 is a diagram for explaining a data synchronization service providing system between vision-based collaborative robots according to an embodiment of the present invention. Referring to FIG. 1 , a data synchronization service providing system 1 between vision-based collaborative robots may include at least one user terminal 100, a synchronization service providing server 300, and at least one camera 400. . However, since the system 1 for providing data synchronization service between vision-based collaborative robots of FIG. 1 is only one 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 a synchronization service providing server 300 through a network 200 . Also, the synchronization service providing server 300 may be connected to at least one user terminal 100 and at least one camera 400 through the network 200 . In addition, at least one camera 400 may be connected to the synchronization 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 capable of exchanging information between nodes such as a plurality of terminals and servers, and examples of such networks include a local area network (LAN) and a wide area network (WAN: Wide Area Network), the Internet (WWW: World Wide Web), wired and wireless data communications networks, telephone networks, and wired and wireless television communications networks. 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), Wi-Fi , Internet (Internet), LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), RF (Radio Frequency), Bluetooth (Bluetooth) network, NFC ( A Near-Field Communication (Near-Field Communication) network, a satellite broadcasting network, an analog broadcasting network, a Digital Multimedia Broadcasting (DMB) network, etc. are included, but not limited thereto.

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

적어도 하나의 사용자 단말(100)은, 비전 기반 협업로봇 간 데이터 동기화 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 협업로봇 간 데이터가 동기화된 실시간 데이터를 출력하는 사용자 또는 관리자의 단말일 수 있다.At least one user terminal 100 may be a terminal of a user or manager that outputs real-time data in which data is synchronized between collaborative robots using a web page, app page, program, or application related to a data synchronization service between vision-based collaborative robots. there is.

여기서, 적어도 하나의 사용자 단말(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, a desktop, a laptop, and the like equipped with a navigation system and a web browser. In this case, 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 ensures portability and mobility, navigation, 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 ) may include all types of handheld-based wireless communication devices such as terminals, smartphones, smart pads, tablet PCs, and the like.

동기화 서비스 제공 서버(300)는, 비전 기반 협업로봇 간 데이터 동기화 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 동기화 서비스 제공 서버(300)는, 적어도 하나의 협업로봇을 촬영한 적어도 하나의 카메라(400)의 영상 데이터의 2D 데이터를 3D 데이터로 변환하여 각 시점별 키포인트를 기준으로, 협업로봇으로부터 수신되는 실시간 데이터의 싱크를 맞추는 서버일 수 있다.The synchronization service providing server 300 may be a server that provides a data synchronization service web page, app page, program, or application between vision-based collaborative robots. In addition, the synchronization service providing server 300 converts 2D data of image data of at least one camera 400 that has taken at least one collaborative robot into 3D data, and receives it from the collaborative robot based on key points for each viewpoint. It may be a server that synchronizes real-time data that is

여기서, 동기화 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.Here, the synchronization service providing server 300 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, a desktop, a laptop, and the like equipped with a navigation system and a web browser.

적어도 하나의 카메라(400)는, 비전 기반 협업로봇 간 데이터 동기화 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하거나 이용하지 않고 영상 데이터를 동기화 서비스 제공 서버(300)로 전달하는 카메라 장치일 수 있다.The at least one camera 400 may be a camera device that transmits image data to the synchronization service providing server 300 with or without using a web page, app page, program, or application related to a data synchronization service between vision-based collaborative robots. there is.

여기서, 적어도 하나의 카메라(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 capable of accessing a remote server or terminal through a network. Here, the computer may include, for example, a laptop, a desktop, a laptop, and the like equipped with a navigation system and a web browser. In this case, at least one camera 400 may be implemented as a terminal capable of accessing a remote server or terminal through a network. The at least one camera 400 is, for example, a wireless communication device that ensures portability and mobility, and includes navigation, 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) It may include all types of handheld-based wireless communication devices such as terminals, smartphones, smart pads, tablet PCs, and the like.

도 2는 도 1의 시스템에 포함된 동기화 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3 및 도 4는 본 발명의 일 실시예에 따른 비전 기반 협업로봇 간 데이터 동기화 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.2 is a block diagram illustrating a synchronization service providing server included in the system of FIG. 1, and FIGS. 3 and 4 are an embodiment in which a data synchronization service between vision-based collaborative robots is implemented according to an embodiment of the present invention. It is a drawing for explaining an example.

도 2를 참조하면, 동기화 서비스 제공 서버(300)는, 수집부(310), 촬영부(320), 동기화부(330), 전달부(340), 좌표일치부(350), 키포인트부(360), 시각동기화부(370), 임펄스추출부(380), 차원변환부(390) 및 프로토콜부(391)를 포함할 수 있다.Referring to FIG. 2 , the synchronization service providing server 300 includes a collection unit 310, a photographing unit 320, a synchronization unit 330, a transmission unit 340, a coordinate matching unit 350, and a keypoint unit 360. ), a time synchronization unit 370, an impulse extraction unit 380, a dimension conversion unit 390 and a protocol unit 391.

본 발명의 일 실시예에 따른 동기화 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 사용자 단말(100) 및 적어도 하나의 카메라(400)로 비전 기반 협업로봇 간 데이터 동기화 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 사용자 단말(100) 및 적어도 하나의 카메라(400)는, 비전 기반 협업로봇 간 데이터 동기화 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 사용자 단말(100) 및 적어도 하나의 카메라(400)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: World Wide Web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(Hyper Text Mark-up Language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(Chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(Application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(App)을 포함한다.The synchronization service providing server 300 according to an embodiment of the present invention or another server (not shown) operating in conjunction with at least one user terminal 100 and at least one camera 400 transmits data between vision-based collaborative robots. In the case of transmitting a synchronization service application, program, app page, web page, etc., at least one user terminal 100 and at least one camera 400, data synchronization service application, program, app page, You can install or open web pages, etc. Also, a service program may be driven in at least one user terminal 100 and at least one camera 400 by using a script executed in a web browser. Here, the web browser is a program that allows users to use the web (WWW: World Wide Web) service, and means a program that receives and displays hypertext described in HTML (Hyper Text Mark-up Language). For example, Netscape , Explorer, Chrome, and the like. In addition, an application means an application on a terminal, and includes, for example, an app running on a mobile terminal (smart phone).

도 2를 참조하면, 도 2를 설명하기 이전에, 2D 데이터를 3D 데이터로 변환하는 기본개념에 대해 설명한다. 이하에서 설명된 내용은 도 2를 설명하면서 중복하지 않는다.Referring to FIG. 2 , a basic concept of converting 2D data into 3D data will be described before describing FIG. 2 . The description below is not repeated while describing 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좌표를D epth 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 usually defined as (X, Y, Z), and a 2D coordinate system can be converted to a 3D coordinate system by applying a point cloud to a depth image. First, in order 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 the depth value among the internal parameter information of the camera that took the depth image are used. 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 passing through the lens is reflected on the image sensor and a 2D depth image of the sphere is obtained. The 2D coordinate system should be converted from the 2D coordinate system to the 3D coordinate system using the 2D depth image. 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 top left 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 the coordinate system, by substituting this into Equation 1 below, the value obtained by dividing the distance (u) in the x-axis direction from the midpoint of the 2D image to the pixel in the x-axis direction by the focal length (f) is, Since it is equal to the value obtained by dividing the x-coordinate by the depth value in the 3D coordinate system, the x-coordinate can be estimated. Therefore, u of the 2D depth image can be converted into 3D coordinates on the X axis, and the 2D coordinate system can be converted into a 3D coordinate system by repeating the above method for the Y axis.

Figure 112023026116993-pat00001
Figure 112023026116993-pat00001

<좌표변환><Coordinate Conversion>

좌표변환이란 좌표계 상에서 한 점의 위치를 다른 위치로 변환하는 것이다. 컴퓨터 비전에서는 회전변환, 확대변환, 이동변환을 이용하여 여러 이미지 사이의 매칭 관계를 모델링할 수 있다. Coordinate transformation is the transformation of the location of one point into another location on a coordinate system. In computer vision, a matching relationship between multiple images can be modeled using rotation transformation, enlargement 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 transformation of coordinate axes in 3D space. 3D coordinate transformation can be used by changing the 3D world coordinate system into the camera coordinate system or by converting the camera coordinate system into the 3D world coordinate system. Y1,Z1) is the purpose of finding the point (X,Y,Z) of 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 perpendicular to the plane. The camera coordinate system is defined as the Zc axis in the direction of the optical axis of the camera, the Xc axis in the vertical direction to the right of the optical axis, and the Yc axis in the vertical direction between the Xc axis and the Zc axis.

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

Figure 112023026116993-pat00002
Figure 112023026116993-pat00002

Figure 112023026116993-pat00003
Figure 112023026116993-pat00003

Figure 112023026116993-pat00004
Figure 112023026116993-pat00004

Figure 112023026116993-pat00005
Figure 112023026116993-pat00005

Figure 112023026116993-pat00006
Figure 112023026116993-pat00006

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

상술한 기본개념을 기반으로 도 2를 참조하면, 수집부(310)는, 적어도 하나의 협동로봇으로부터 실시간 데이터를 수집할 수 있다. 이때, 실시간 데이터에는 다양한 종류의 데이터가 포함될 수 있지만, 예를 들어, ① 위치 데이터(Position Data), ② 속도 데이터(Speed Data), ③ 토크 데이터(Torque Data), ④ 엔드이펙터 데이터(End-Effector Data), ⑤ 기타 모니터링 데이터(Monitoring Data), ⑥ 디바이스 데이터(Device Data), ⑦ 조인트 데이터(Joint Data), ⑧ 센서 데이터(Sensor Data) 등을 포함할 수 있다. Referring to FIG. 2 based on the above-described basic concept, the collection unit 310 may collect real-time data from at least one cobot. At this time, real-time data may include various types of data, but, for example, ① position data, ② speed data, ③ torque data, and ④ end-effector data. Data), ⑤ other monitoring data (Monitoring Data), ⑥ device data (Device Data), ⑦ joint data (Joint Data), ⑧ sensor data (Sensor Data), etc.

① 위치 데이터(Position Data)는, 위치 데이터는 협동로봇의 각 관절별 위치를 의미한다. 관점에 따라 크게 각위치(Angular Position) 데이터와 좌표위치 데이터로 구분된다. 각위치 데이터는 모션에 의해 모터가 틀어진 각도를 나타내는 반면, 좌표위치 데이터는 협동로봇이 설치(Mount)된 1축의 위치를 원점으로 하여, 관찰하고자 하는 축의 위치를 3차원 좌푯값으로 나타낸 것을 의미한다. 이러한 위치 데이터는 협동로봇의 관절별 움직임을 확인하기 쉬우므로 기본적인 데이터로 활용된다. ② 속도 데이터(Speed Data)는 ①에서 분석한 위치 데이터를 시간축에 따라 미분한 값을 의미한다. 따라서, 각위치(Angular Position)를 미분한 경우, 순간 각속도(°/sec 또는 rad/sec)가 되며, 좌표위치를 미분한 경우, 축에 따라 순간 속도 값(x/sec, y/sec, z/sec)을 얻을 수 있다. 또한, 속도 데이터를 시간축에 따라 다시 한 번 미분하게 되면, 가속도 데이터를 얻을 수 있다. 이와 같은 속도, 가속도 데이터의 경우 동일위치에 도달하기 위해 걸리는 시간을 비교 분석할 수 있으며, 결함을 갖는 경우 발생하는 민감한 차이를 검출할 수 있어 다양한 방면으로 활용되고 있다. ① Position data refers to the position of each joint of the cobot. Depending on the point of view, it is largely divided into angular position data and coordinate position data. While angular position data indicates the angle at which the motor is twisted by motion, coordinate position data means that the position of the axis to be observed is expressed as a 3-dimensional coordinate value, with the position of axis 1 where the cobot is mounted as the origin. . This location data is used as basic data because it is easy to check the movement of each joint of the cobot. ② Speed Data means the differential value of the position data analyzed in ① according to the time axis. Therefore, when the angular position is differentiated, the instantaneous angular velocity (°/sec or rad/sec) is obtained, and when the coordinate position is differentiated, the instantaneous velocity value (x/sec, y/sec, z /sec) can be obtained. In addition, when the velocity data is differentiated once again along the time axis, acceleration data can be obtained. In the case of such speed and acceleration data, the time taken to reach the same position can be compared and analyzed, and sensitive differences that occur when there are defects can be detected, so they are utilized in various fields.

③ 토크 데이터(Torque Data)는 협동로봇의 각 관절별 모션을 수행하며, 관절에 인가되고 있는 회전힘을 나타낸다. 측정방식에 따라, 전류 기반의 토크와 센서 기반의 토크 데이터로 구분된다. 전류 기반의 토크(Current-Based Torque)는 모터에 인가되는 전류값을 기반으로, 토크상수를 곱하여 획득되는 회전힘을 나타내는 것으로 관절 내부에서 작용되는 힘을 나타낸다. 반면, 센서 기반의 토크(Sensor-Based Torque)는 관절 외부에 토크 센서가 장착되어, 관절에서 감지된 토크 값을 의미한다. 이와 같은 센서 기반의 토크는 외력이 작용하는 경우, 값이 크게 달라져 충돌을 감지하기 위해 사용되기도 한다. 마지막으로 진동 데이터의 경우, 센서 기반의 토크와 마찬가지로 관절 외부에 진동 센서를 장착하여 측정된 데이터를 나타낸다. 그러나 진동 데이터의 경우, 외력에 민감하여 노이즈에 취약하다는 한계점을 지니고 있다. ④ 엔드이펙터 데이터(End-Effector Data)는 협동로봇의 말단축에 장착되는 엔드이펙터에 따라 수집될 수 있는 데이터를 의미한다. 엔드이펙터의 종류에는 픽앤플레이스(Pick and Place) 작업을 수행할 수 있는 그리퍼(Gripper), 진공 펌프(Vacuum Pump) 등이 존재한다. 따라서, 각 작업을 수행할 때, 측정이 필요한 무게(Weight), 압력(Pressure) 센서 데이터 등이 존재할 수 있다. 이와 같은 데이터는 협동로봇의 작업 수행 성능 평가를 확인하기 위한 기본적인 센서 데이터로 활용된다.③ Torque Data performs the motion of each joint of the cobot and represents the rotational force applied to the joint. According to the measurement method, it is divided into current-based torque and sensor-based torque data. Current-Based Torque represents a rotational force obtained by multiplying a torque constant based on a current value applied to a motor, and represents a force applied inside a joint. On the other hand, sensor-based torque means a torque value sensed from a joint by installing a torque sensor outside the joint. When an external force acts on such a sensor-based torque, the value varies greatly and is sometimes used to detect a collision. Lastly, in the case of vibration data, it represents data measured by mounting a vibration sensor outside the joint, similar to the sensor-based torque. However, in the case of vibration data, it has a limitation that it is sensitive to external forces and is vulnerable to noise. ④ End-effector data refers to data that can be collected according to the end-effector mounted on the end-axis of the cobot. Types of end effectors include grippers that can perform pick and place operations, vacuum pumps, and the like. Accordingly, when each task is performed, there may exist weight and pressure sensor data that need to be measured. Such data is used as basic sensor data to check the performance evaluation of the collaborative robot.

⑤ 기타 모니터링 데이터(Monitoring Data)는 협동로봇의 모션을 파악하기 위해, 직접적인 영향을 미치지는 않지만, 지속적인 모니터링이 필요한 데이터를 의미한다. 예를 들어, 온도의 경우 동작에 따라 밀접한 연관성을 지니고 있지는 않지만, 무리한 실행이 나 오류 상황이 발생한다면 모터 과열로 인한 높은 온도가 측정될 가능성이 매우 크다. 또한, 전력의 경우 역시, 모터나 브레이크에 인가되는 전력값으로 높은 전력 부하 상황을 측정할 수 있다. 달리 말하면, 온도나 전력과 같은 데이터는 협동로봇 동작에 따른 밀접한 연관성은 떨어지지만, 결함이나 고장 상황에 직결될 수 있다. 따라서, 지속적인 모니터링이 필요하고, 대부분의 협동로봇에는 안전 및 위험 관리를 위해, 온도와 전력 측정 장비가 내장된다.⑤ Other monitoring data refers to data that does not directly affect the cobot's motion, but requires continuous monitoring. For example, in the case of temperature, although it does not have a close relationship with operation, it is very likely that high temperature due to overheating of the motor will be measured if unreasonable execution or an error situation occurs. In addition, in the case of power, a high power load situation can be measured with the power value applied to the motor or brake. In other words, data such as temperature and power are less closely related to cobot operation, but can be directly related to faults or failure situations. Therefore, continuous monitoring is required, and most cobots are equipped with temperature and power measurement equipment for safety and risk management.

협동로봇은 축 자유도(Degree of Freedom, DoF)에 따라 6 개 혹은 7 개의 조인트를 가지며, 조인트별 다양한 센서, 예를 들어, 토크, 속도, 위치센서 등이 내장된다. 센서 데이터 모델의 세부 스키마는, 크게 ⑥ 디바이스, ⑦ 조인트, ⑧ 센서로 구분되며 세부적인 특성은 우선, ⑥ 디바이스 데이터(Device Data)의 경우, 협동로봇의 사양에 대한 정보로, 디바이스식별번호(ID), 디바이스명(Name), 축 자유도(DOF), 생산업체(Manufacturer), 생산날짜(Manufacturing Date), 개발버전(Version)의 정보가 포함된다. ⑦ 조인트 데이터(Joint Data)를 보면, 협동로봇의 각 조인트는 구동할 수 있는 물리적인 범위가 각각 정의되어 있다. 조인트 식별번호(ID), 부하(Payload), 수행 최대속도(MaxSpeed), 모션반경(Moving Range), 최대 토크(Peak Torque)가 포함된다. ⑧ 센서 데이터(Sensor Data)를 보면, 각 조인트는 위치, 속도, 토크, 온도, 압력, 비전 등 다양한 센서가 내장될 수 있다. 센서 데이터는 센서의 종류별로 특성에 따라 생성될 수 있으며, 센서 식별번호(ID), 센서명(Name), 측정값(Measurement)을 포함한다. 이때, 측정값 필드는 실시간으로 감지된 값이 기록되는 필드이다. 이러한 센서 데이터는 협동로봇의 실행에 따라 실시간으로 수집할 수 있지만, 로봇이 수행한 작업, 프로그램, 모션에 대한 가동 정보를 확인하기 어렵다. 따라서, 센서 데이터에 대해 협동로봇의 가동, 운행 정보를 연계하여 해석할 수 있는 로그(가동 정보, 프로그램 실행 정보, 모션 실행 정보, 오류 정보 등) 스키마를 본 발명의 일 실시예에 따른 비전 기반 동기화에 이용할 수 있다. 로그 정보는 가동, 프로그램 및 모션의 실행과 같은 이벤트가 발생하였을 때 비주기적(간헐적)으로 데이터가 생성될 수 있다.Collaborative robots have 6 or 7 joints according to degree of freedom (DoF), and various sensors such as torque, speed, and position sensors are built-in for each joint. The detailed schema of the sensor data model is largely divided into ⑥ devices, ⑦ joints, and ⑧ sensors. ), device name (Name), axis degree of freedom (DOF), manufacturer (Manufacturer), production date (Manufacturing Date), and development version (Version) information are included. ⑦ Looking at the joint data, each joint of the cobot has a defined physical range that can be driven. Joint identification number (ID), load (Payload), maximum speed (MaxSpeed), radius of motion (Moving Range), and maximum torque (Peak Torque) are included. ⑧ Looking at sensor data, each joint can have various sensors such as position, speed, torque, temperature, pressure, and vision. Sensor data may be generated according to characteristics of each type of sensor, and includes a sensor identification number (ID), a sensor name (Name), and a measurement value (Measurement). In this case, the measured value field is a field in which a value sensed in real time is recorded. Although these sensor data can be collected in real time according to the execution of the cobot, it is difficult to check operation information on the robot's work, program, and motion. Therefore, a log (operation information, program execution information, motion execution information, error information, etc.) schema that can be interpreted by linking the operation and operation information of the cobot with respect to sensor data is vision-based synchronization according to an embodiment of the present invention. available for Log information may be non-periodically (intermittently) generated when events such as operation, execution of programs and motions occur.

<데이터 인터페이스><data interface>

인터페이스(Interface)란 서로 다른 두 개 이상의 독립된 시스템 구성요소 간에 정보를 교환하는 공유 경계(Shared Boundary)를 의미한다. 구체적으로는 구성요소 간 통신(Communication)을 지원하는 장치나 프로그램(Device 또는 Program)을 의미한다. 그 중에서도 데이터 인터페이스(Data Interface)는 데이터 소스에서 데이터를 읽거나 쓰는 프로세스를 생성하는 데 사용되는 데이터 속성 템플릿을 의미한다. 예를 들어, 하나의 단위 테스크를 수행하면서 수집된 데이터를 로봇의 가동 단위(from BootOn to Off), 실행된 프로그램 단위(from ProgramOn to Off), 실행된 모션 단위(from MotionOn to Off)로 구분될 수 있다. 이러한 과정은 수집된 데이터를 정밀하게 해석하는 과정으로, 협동로봇에서 동일한 실행 상황의 데이터를 분류하기 위해 필요한 속성이다. 이때, 본 발명의 일 실시예에서는 비전 기반으로 분석된 위치를 기반으로 동기화를 수행함으로, 모션 데이터 인터페이스를 이용할 수 있다. 모션 데이터 인터페이스는, 협동로봇의 실행 모션 정보를 식별하기 위한 데이터 속성인데, 예를 들어, 모션 실행 시간, 모션 이름, 현재 위치, 목표 위치, 모션 종료시각 등의 템플릿을 나타낸다. 협동로봇에 내장된 센서, 예를 들어, 자이로센서, 전류센서, 압력센서, 전압센서 등으로부터 데이터를 수집하기 위한 데이터 수집 계층에서는 위치, 속도, 토크, 엔드이펙터, 모니터링 데이터가 수집될 수 있다.An interface refers to a shared boundary that exchanges information between two or more independent system components. Specifically, it means a device or program that supports communication between components. Among them, Data Interface refers to a data property template used to create a process for reading or writing data from a data source. For example, the data collected while performing one unit task can be divided into robot operation units (from BootOn to Off), executed program units (from ProgramOn to Off), and executed motion units (from MotionOn to Off). can This process is a process of precisely interpreting the collected data, and is a necessary attribute to classify data in the same execution situation in a cobot. At this time, in an embodiment of the present invention, a motion data interface may be used by performing synchronization based on the position analyzed based on vision. The motion data interface is a data attribute for identifying execution motion information of the cobot, and represents, for example, templates such as motion execution time, motion name, current position, target position, and motion end time. Position, speed, torque, end effector, and monitoring data may be collected in the data collection layer for collecting data from sensors built into the collaborative robot, such as gyro sensors, current sensors, pressure sensors, and voltage sensors.

촬영부(320)는, 적어도 하나의 카메라(400)를 이용하여 적어도 하나의 협동로봇을 촬영할 수 있다. 이때, 카메라(400)는 일반 카메라일 수도 있지만, Depth 카메라나 스테레오 카메라 등일 수도 있다.The photographing unit 320 may photograph at least one cooperative robot using at least one camera 400 . In this case, the camera 400 may be a general camera, but may also be a depth camera or a stereo camera.

동기화부(330)는, 적어도 하나의 협동로봇의 실시간 데이터를 적어도 하나의 카메라로 촬영된 영상 데이터에 기반하여 동기화를 수행할 수 있다. 이에 대한 상세한 설명은 후술하기로 한다.The synchronizing unit 330 may synchronize real-time data of at least one cobot based on image data captured by at least one camera. A detailed description thereof will be described later.

전달부(340)는, 동기화된 실시간 데이터를 사용자 단말(100)로 전달할 수 있다. 사용자 단말(100)은, 적어도 하나의 협동로봇(Collaborative Robot) 간 동기화된 실시간 데이터를 출력할 수 있다.The delivery unit 340 may deliver the synchronized real-time data to the user terminal 100 . The user terminal 100 may output synchronized real-time data between at least one collaborative robot.

좌표일치부(350)는, 적어도 하나의 카메라로부터 촬영되는 적어도 하나의 협동로봇의 기 설정된 시점별 객체를 탐지하고, 탐지된 객체의 XYZ 좌표에 적어도 하나의 협동로봇으로부터 수집된 실시간 데이터 내 XYZ 좌표가 일치하는 시점을 추출한 후, 기 설정된 시점으로 적어도 하나의 협동로봇의 실시간 데이터를 동기화시킬 수 있다. 이때, 협동로봇으로부터 수집된 실시간 데이터 내 XYZ 좌표는 위치 데이터(Position Data)일 수 있는데, 위치 데이터는 협동로봇의 각 관절별 위치를 의미한다. 크게, 각위치(Angular Position) 데이터와 좌표위치 데이터로 구분되는데, 각위치 데이터는 모션에 의해 모터가 틀어진 각도를 나타낸다. 반면, 좌표위치 데이터는 협동로봇이 설치(Mount)된 1축의 위치를 원점으로 하여, 관찰하고자 하는 축의 위치를 3차원 좌푯값으로 나타낸 것을 의미한다. 이러한 위치 데이터는 협동로봇의 관절별 움직임을 확인하기 쉬우므로, [기준값-비교값]에 대응하는 [영상 데이터-실시간 데이터]의 실시간 데이터로 설정한다. The coordinate matching unit 350 detects an object for each preset viewpoint of at least one cobot captured by at least one camera, and sets the XYZ coordinates of the detected object to the XYZ coordinates in real-time data collected from at least one cobot. After extracting the coincident point in time, real-time data of at least one cobot may be synchronized with a preset point in time. In this case, the XYZ coordinates in the real-time data collected from the cobot may be position data, and the position data means the position of each joint of the cobot. Broadly, it is divided into angular position data and coordinate position data. Angular position data indicates the angle at which the motor is twisted by motion. On the other hand, the coordinate position data means that the position of the axis to be observed is expressed as a three-dimensional coordinate value with the position of axis 1 on which the collaborative robot is mounted as the origin. Since this positional data is easy to check the movement of each joint of the cobot, it is set as real-time data of [video data-real-time data] corresponding to [reference value-comparison value].

기준값reference value 영상 데이터video data 비교값comparative value 실시간 데이터real-time data

키포인트부(360)는, 기 설정된 시점별 객체를 탐지할 때, 적어도 하나의 협동로봇의 기 설정된 부위인 키포인트를 중심으로 객체를 탐지하도록 할 수 있다. 이때, 일반적인 키포인트 탐지는 이미지나 비디오에서 사람의 행동을 이해하기 위해 사람의 눈으로 직접 판단했던 작업에서 키포인트 탐지를 통해 사람의 행동을 컴퓨터가 이해하는 연구에서 비롯하는데, 인공지능 알고리즘의 기술 발전으로 키포인트 탐지 분야에도 심층 신경망을 적용하고자 하는 시도를 가져왔다. 그 결과 RGB이미지를 이용하여 높은 정확도와 속도로 2D 키포인트를 탐지할 수 있게 되었다. 이때, 키포인트란 사람의 경우 각 관절의 연결부위로, 예를 들어, 무릎, 팔꿈치, 얼굴과 몸통을 잇는 목, 발 등으로 정의된다. 이를 협동로봇에 적용하는 경우, 각 모션이 일어나는 축(Joint)에 대응할 수 있다. 물론, 각 축이 아니더라도 다른 키포인트를 설정할 수도 있다. 이때, 2D 키포인트 탐지는 키포인트를 탐지할 때 각 키포인트의 (X,Y)를 탐지하는 반면, 3D 키포인트 탐지는 키포인트를 탐지할때, 3D 공간에서 각 키포인트의(X,Y,Z) 좌표를 탐지한다. 3D 키포인트 탐지를 이용하여 각 키포인트의 (X,Y,Z)를 탐지하는 것은 2D 키포인트 탐지의 각 키포인트에 대한 (X,Y)를 추정하는 것보다 더 자세한 키포인트를 탐지할 수 있다. 키포인트부(360)는, 키포인트를 적어도 하나의 협동로봇의 마커(Marker)를 기준으로 탐지할 수 있다. 예를 들어, 얼굴의 특징점(Feature Point)을 구할 때에는 입술의 양 끝, 눈의 양 끝, 코의 너비단부점 등의 지점을 정할 수 있는데, 협동로봇의 관절의 경우 각 위치 데이터(Position Data)가 지정되어 있지만, 영상 기반으로 분석하는 것이므로, 영상에서 더욱 빠르고 쉽게 연산량을 적게하여 찾기 위해 AR(Augmented Reality) 마커와 같이 마커를 각 관절부위별로 부착해줄 수 있다. The keypoint unit 360 may detect an object centered on a keypoint, which is a preset part of at least one collaborative robot, when detecting an object for each preset viewpoint. At this time, general keypoint detection comes from a study in which a computer understands human behavior through keypoint detection in a task that was directly judged by human eyes to understand human behavior in images or videos. An attempt was made to apply deep neural networks to the field of keypoint detection. As a result, it is possible to detect 2D keypoints with high accuracy and speed using RGB images. In this case, a key point is defined as a connection part of each joint in the case of a person, for example, a knee, an elbow, a neck connecting a face and a body, a foot, and the like. When this is applied to a collaborative robot, it can correspond to an axis (joint) where each motion occurs. Of course, other keypoints can be set even for each axis. At this time, 2D keypoint detection detects (X,Y) of each keypoint when detecting keypoints, while 3D keypoint detection detects (X,Y,Z) coordinates of each keypoint in 3D space when detecting keypoints. do. Detecting (X,Y,Z) of each keypoint using 3D keypoint detection can detect keypoints in more detail than estimating (X,Y) for each keypoint of 2D keypoint detection. The keypoint unit 360 may detect a keypoint based on a marker of at least one cobot. For example, when obtaining a feature point of a face, points such as both ends of the lips, both ends of the eyes, and the end point of the width of the nose can be determined. Although is specified, since it is analyzed based on the image, markers can be attached to each joint part, such as AR (Augmented Reality) markers, in order to find them more quickly and easily with less computational effort in the image.

시각동기화부(370)는, 적어도 하나의 카메라에서 수신되는 영상 데이터의 녹화시작시각과 적어도 하나의 협동로봇으로부터 수집되는 실시간 데이터의 수집시작시각 간 차이를 조정하기 위해, 적어도 하나의 협동로봇이 구동을 시작할 때 기 설정된 궤적을 그리도록 설정함으로써 실시간 데이터 내에서 기 설정된 궤적을 그리는 시점을 찾아 수집시작시각과 일치시키도록 할 수 있다. 예를 들어, 방송에서 각 장면을 시작할 때 박수를 쳐서 각 카메라의 동기화를 수행하는 것과 같이, 실시간 데이터(센서 데이터)와 영상 데이터 간 동기화 지점을 만들어줄 수도 있다. 예를 들어, 협동로봇이 좌우로 빠르게 회전하는 경우 가속도 센서에서 수집되는 속도가 임펄스 형태를 그릴 수 있다. 이 임펄스 형태를 기준으로 실시간 데이터와 영상 데이터 간 동기화를 수행할 수 있다. 임펄스추출부(380)는, 기 설정된 궤적에 따라 임펄스(Impulse)가 발생하는 실시간 데이터 중 센서 데이터를 추출하고, 임펄스를 기준으로 협동로봇의 실시간 데이터를 동기화시킬 수 있다.The time synchronization unit 370 drives at least one cobot to adjust the difference between the recording start time of image data received from at least one camera and the collection start time of real-time data collected from at least one cobot. By setting a predetermined trajectory to be drawn at the start of the process, a point in time of drawing a preset trajectory within real-time data can be found and matched with the collection start time. For example, a synchronization point between real-time data (sensor data) and video data can be created, such as synchronizing each camera by clapping at the start of each scene in a broadcast. For example, when the cobot rapidly rotates left and right, the speed collected from the acceleration sensor may draw an impulse shape. Based on this impulse shape, synchronization between real-time data and video data can be performed. The impulse extraction unit 380 may extract sensor data from among real-time data in which an impulse is generated according to a predetermined trajectory, and may synchronize the real-time data of the cobots based on the impulse.

차원변환부(390)는, 적어도 하나의 카메라로부터 촬영된 영상 데이터인 2D 데이터를 3D 데이터로 변환하여 궤적 데이터를 3차원으로 획득할 수 있다. 차원변환부(390)는, 2D 데이터를 3D 데이터로 변환할 때 회전변환행렬(Rotation Matrix) 및 투영변환행렬(Projection Matrix)을 이용할 수 있다. 실공간과 카메라로 촬영하여 얻어지는 이미지 평면 간에는 회전변환, 이동변환, 투영변환으로 설명할 수 있는 대응관계가 존재한다. 공간 상의 네 점과 이미지 상의 네 점이 대응되는 관계를 알면 대응관계를 설명하는데 필요한 변환을 결정할 수 있다. 즉, 카메라(400)와 물체 상의 네 점의 좌표만 알고 있다면 협동로봇의 3차원 측위가 가능해지며, 경로 데이터 및 궤적 데이터를 고가의 레이저, 라이다, Depth 카메라 등 없이도 XYZ 좌표, 즉 3차원으로 추출할 수 있다. The dimension conversion unit 390 may convert 2D data, which is image data captured by at least one camera, into 3D data to obtain trajectory data in 3D. The dimension conversion unit 390 may use a rotation matrix and a projection matrix when converting 2D data into 3D data. Between the real space and the image plane obtained by shooting with a camera, there exists a correspondence that can be explained by rotation transformation, movement transformation, and projection transformation. Knowing the relationship between four points in space and four points on the image, one can determine the transformation required to describe the correspondence. That is, if only the coordinates of the camera 400 and the four points on the object are known, the 3D positioning of the collaborative robot is possible, and path data and trajectory data can be converted to XYZ coordinates, that is, 3D, without expensive lasers, lidars, depth cameras, etc. can be extracted.

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

Figure 112023026116993-pat00007
Figure 112023026116993-pat00007

먼저, 월드 좌표계상의 좌표를 스케일 변환, 회전변환, 이 동변환을 차례대로 적용하여 카메라 좌표계 상의 좌표로 바꿔준다. 이 과정을 통해 수학식 7의 행렬 [R|t]를 구할 수 있다. First, coordinates on the world coordinate system are converted to coordinates on the camera coordinate system by sequentially applying scale transformation, rotation transformation, and translation transformation. Through this process, the matrix [R|t] of Equation 7 can be obtained.

Figure 112023026116993-pat00008
Figure 112023026116993-pat00008

월드 좌표계와 카메라 좌표계 간에는 축적이 다르지 않으므로 스케일 변환 행렬은 단위행렬이 된다. 다음으로 회전행렬의 경우 같은 각도를 회전하더라도 어떤 축을 기준으로 먼저 회전하는가에 따라 회전행렬의 결과가 달라지므로 XYZ축을 순서로 φ, θ, ψ만큼 회전한다고 가정하면, 수학식 8과 같이 회전행렬이 표현된다. 이동변환의 경우 카메라 좌표계의 원점에서 월드 좌표계의 원점으로 향하는 벡터를 4 차원 동차좌표계에서 더하면 된다. 이 정보들을 종합하여 일차행렬을 구하여 보면 수학식 7의 [R|t]와 같이 표현할 수 있음을 알 수 있다. 수학식 7의 H는 4차원 동차좌표계를 3차원 실좌표계로 만들어주는 역할을 한다. 동차좌표계는 실공간에서 정규화된 이미지 평면의 실공간으로 투영되므로 수학식 7의 행렬 F와 같이 표현할 수 있다. Since the scale is not different between the world coordinate system and the camera coordinate system, the scale transformation matrix becomes the 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 XYZ axes are rotated by φ, θ, and ψ in order, the rotation matrix as shown in Equation 8 is expressed In the case of movement transformation, the vector heading from the origin of the camera coordinate system to the origin of the world coordinate system is added in the 4-dimensional homogeneous coordinate system. When a linear matrix is obtained by synthesizing these information, it can be seen that it can be expressed as [R|t] in Equation 7. H in Equation 7 serves to make a 4-dimensional homogeneous coordinate system into a 3-dimensional real coordinate system. Since the homogeneous coordinate system is projected from the real space to the real space of the normalized image plane, it can be expressed as the matrix F of 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 attitude of the camera 400, it is necessary to know 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. . If the focal length is known, matrix F in Equation 7 can be determined. Since the coordinates on the image are expressed in pixels, multiply the pixel size to enter the coordinates in m units. To express the rotation matrix, three components of the rotation reference vector, rotation angle, and at least four pieces of information are required. Therefore, a total of 7 elements must be obtained from the three elements tx, ty, and tz of the translation matrix and the four 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 correspond to the image, eight equations can be obtained, which is sufficient to solve the equations. By solving the equation, the matrix [R|t] of Equation 7 can be obtained. As a result of solving the equation, all values of Equation 7 can be found. The position of the camera relative to the object can be known through the coordinates of the origin of the camera coordinate system on the world coordinate system. The attitude of the camera can be obtained as in Equation 10 from the matrix of Equation 9. Accordingly, the position and attitude of the camera with respect to the world coordinate system set for the object can be obtained.

Figure 112023026116993-pat00009
Figure 112023026116993-pat00009

Figure 112023026116993-pat00010
Figure 112023026116993-pat00010

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

프로토콜부(391)는, 적어도 하나의 협업로봇으로부터 수집되는 실시간 데이터에 대하여 스마트팩토리 구축을 위한 적어도 하나의 시간 동기화 프로토콜을 이용하도록 할 수 있다. 이때, 적어도 하나의 시간 동기화 프로토콜은, ① OPC UA Server/Client, ② TSN 실시간 통신 기술, ③ NTP & PTP 시간 동기화 프로토콜, ④ 필드버스(Field Bus) 프로토콜 및 ⑤데이터 전송지연에 대한 동기화 프로토콜을 포함할 수 있지만, 나열된 것들로 한정되지 않고 열거되지 않은 이유로 배제되지 않는다. ① OPC UA(Open Platform Communications-Unified Architecture) Server/Client는, OPC UA 프로토콜을 사용하여 플랫폼에 의존적이지 않은 독립적 구성이 가능하고 프로토콜 내부에 구현된 안정적인 통신 메커니즘을 제공하고 있기 때문에 Industry 4.0의 구현을 위한 가장 이상적인 통신 프로토콜이다. 산업 현장에서 요구하는 플랫폼의 환경을 구축하기 위하여 OPC UA 프로토콜 내 구현한 기능은 이하 표 2와 같을 수 있다.The protocol unit 391 may use at least one time synchronization protocol for building a smart factory with respect to real-time data collected from at least one collaborative robot. At this time, at least one time synchronization protocol includes ① OPC UA Server/Client, ② TSN real-time communication technology, ③ NTP & PTP time synchronization protocol, ④ field bus protocol, and ⑤ synchronization protocol for data transmission delay. It can, but is not limited to those listed and not excluded for reasons not listed. ① OPC UA (Open Platform Communications-Unified Architecture) Server/Client uses the OPC UA protocol to enable independent configuration that is not dependent on the platform and provides a stable communication mechanism implemented inside the protocol, so Industry 4.0 can be implemented. It is the most ideal communication protocol for Functions implemented in the OPC UA protocol to build a platform environment required by industrial sites may be shown in Table 2 below.

No.No. ItemItem SpecificationSpecification 1One Core Specification Core Specification Part 1:ConceptsPart 1: Concepts Part 2:Security ModelPart 2: Security Model Part 3:Address Space ModelPart 3: Address Space Model Part 4:ServicesPart 4: Services Part 5:Information ModelPart 5: Information Model Part 6:Service MappingPart 6: Service Mapping Part 7:ProfilesPart 7: Profiles 22 Access Type Specification PartsAccess Type Specification Parts Part 8:Data AccessPart 8: Data Access Part 9:Alarms and ConditionsPart 9: Alarms and Conditions Part 10:ProgramsPart 10: Programs Part 11:Historical AccessPart 11: Historical Access 33 Utility Type Specification PartsUtility Type Specification Parts Part 12:DiscoveryPart 12: Discovery Part 13:AggregatesPart 13: Aggregates

② TSN(Time-Sensitive Networking) 실시간 통신 기술은 Layer 2(L2)의 이더넷을 기반으로 저지연 및 Low Delay Variation, 낮은 패킷 손실의 확정적(Deterministic) 서비스를 제공하는 기술이다. OPC UA를 채용함으로써 OPC UA 내부에 구현된 타이머 관련 실시간 네트워크 기능을 활용하여, 고저속 디바이스들 간의 정확한 타이밍 공유, 전송지연의 최소화를 통한 장비 동기화, 통신지연 및 손실의 최소화를 통한 동기화 등의 기능을 지원한다.③ NTP(Network Time Protocol) & PTP(Precision Time Protocol) 시간 동기화 프로토콜는 여러 임베디드 시스템이 네트워크로 연결되어 있을 때 기기 간의 시간을 동기화하기 위해 구현한 프로토콜이다. 이는 운영체제에 서 데몬(Daemon)으로 동작하여 네트워크를 통하여 타 기기와의 동기화를 수행하는데, IEEE1588 표준화를 따르며 정밀한 시간 동기화를 위해 주기적으로 동기화를 하며 각 디바이스 간 서로 시간 데이터 프레임을 주고받으며 상호시간을 동기화한다. 보다 정밀한 시간의 동기화를 위하여 Master 동작모듈과 Slave 동작모듈이 필요하며, 클럭 오프셋(Clock Offset)에 따르는 시간적 오차를 수정하기 위하여 BMC(Best Master Clock) 알고리즘을 도입하여 구현할 수도 있다. 마스터-슬레이브(Master-Slave)계층에 대한 추적경로가 성립된 후 동기화를 수행하고 Sync, Delay_Req, Delay_Resp와 같은 이벤트 메시지를 교환하여 주파수 또는 시간의 동기화를 구현하여 연산된 시간적 보상값을 시스템에 적용하여 시간을 동기화 하는 방식이다.② TSN (Time-Sensitive Networking) real-time communication technology is a technology that provides deterministic service with low delay, low delay variation, and low packet loss based on Layer 2 (L2) Ethernet. By adopting OPC UA, functions such as accurate timing sharing between high and low speed devices, synchronization of equipment through minimization of transmission delay, synchronization through minimization of communication delay and loss, etc. ③ NTP (Network Time Protocol) & PTP (Precision Time Protocol) Time synchronization protocol is a protocol implemented to synchronize time between devices when multiple embedded systems are connected through a network. It operates as a daemon in the operating system and performs synchronization with other devices through the network. It follows the IEEE1588 standard and synchronizes periodically for precise time synchronization. Synchronize. For more precise time synchronization, a master operation module and a slave operation module are required, and BMC (Best Master Clock) algorithm can be introduced and implemented to correct the time error according to the clock offset. After the tracking path for the Master-Slave layer is established, synchronization is performed, and event messages such as Sync, Delay_Req, and Delay_Resp are exchanged to implement frequency or time synchronization, and the calculated temporal compensation value is applied to the system. It is a method of synchronizing time.

④ 산업현장에서 사용되는 다양한 프로토콜을 OPC UA 프로토콜로 변환하기 위하여 Modbus TCP, Modbus RTU(Remote Terminal Unit) , Genibus, Mitshbishi MC, OPC UA 등의 다양한 프로토콜들에 대한 변환모듈을 이용할 수 있다. 필드버스(Field Bus) 프로토콜은 OPC UA 프로토콜로 변환되어 타 PLC(Programmable Logic Controller) 기기 혹은 산업용 디바이스와의 데이터 교환을 위해 변환모듈을 통하여 관리시스템과 연동된다. PLC 모듈은 각각 다른 산업용 프로토콜을 이용하지만 변환모듈을 통해 상호 FieldBus Network에서 데이터 교환을 수행할 수 있다. ⑤ 한편, 통신장치들의 아주 큰 문제점으로 서버와의 연결이 되지 않거나 네트워크의 오류로 인한 데이터 전송 지연과 데이터의 손실에 대한 해결 기능을 제공하기 위하여 데이터 저장을 위한 램(RAM)과 플래시 메모리를 사용하여 휘발성/비휘발성 메모리에 효율적인 메시지 형태의 데이터 저장기술이 개발되었는데, 데이터 전송지연에 대한 저장기술 및 동기화 프로토콜은, 메시지 큐(Message Queue) 메시징 시스템을 이용하여 트랜잭션 및 분산 트랜잭션을 모두 지원할 수 있다. 또한, 센서 및 디바이스로부터 생성된 데이터에 생성 일시의 태그를 붙여 확장 메모리 영역에 임시로 보관하고 장시간 데이터 전송의 지연에 대비하여 비휘발성 메모리에 데이터를 저장하여 데이터의 손실을 최소화하고, 서버의 연결이 감지되면 재전송 및 동기화 프로토콜에 맞추어 데이터를 전송하여 손실이 최소화된 동기화 프로토콜이다. OPC UA 서버 및 클라이언트 사이에 클럭이 동기화 되고, 상호 인터페이스를 통해 데이터를 주고받고 있는 상황에서 네트워크에 문제가 발생하는 상황, 예를 들어, 전원이 오프(OFF) 되었거나 통신선로에 문제가 발생하는 등의 물리적 외부요인에 의한 중단상황에 최근 100개 정도의 로그내용을 실시간으로 저장하여 다시 복구될 때 이를 복원하여 종래의 네트워크 환경과 같은 상황으로 되돌리는 기능을 구현하기 위하여 플래시 메모리의 로그 데이터 형태를 제공한다.④ In order to convert various protocols used in industrial sites into OPC UA protocols, conversion modules for various protocols such as Modbus TCP, Modbus RTU (Remote Terminal Unit), Genibus, Mitshbishi MC, OPC UA can be used. The Field Bus protocol is converted to the OPC UA protocol and interworks with the management system through a conversion module for data exchange with other PLC (Programmable Logic Controller) devices or industrial devices. Although each PLC module uses a different industrial protocol, data can be exchanged in the mutual FieldBus Network through the conversion module. ⑤ On the other hand, RAM and flash memory for data storage are used to provide a solution to data transmission delay and data loss due to network errors or failure to connect to the server due to a very large problem of communication devices. Therefore, a data storage technology in the form of an efficient message in volatile/non-volatile memory has been developed. A storage technology and synchronization protocol for data transfer delay can support both transactions and distributed transactions using a Message Queue messaging system. . In addition, data generated from sensors and devices is temporarily stored in an extended memory area by attaching a tag of the date and time of creation, and data loss is minimized by storing data in non-volatile memory in preparation for long-term data transmission delays, and server connection This is a synchronization protocol that minimizes loss by transmitting data according to the retransmission and synchronization protocol when this is detected. In a situation where the clocks are synchronized between the OPC UA server and the client and data is being exchanged through the mutual interface, a problem occurs in the network, for example, the power is turned off or a problem occurs in the communication line. In order to realize the function of saving the latest 100 log contents in real time in case of interruption due to physical external factors of the system and restoring them to restore them to the same situation as the conventional network environment, the log data format of the flash memory is changed. to provide.

덧붙여서, 본 발명의 일 실시예에서는 스마트팩토리에서 쏟아지는 데이터를 처리할 수 있도록 데이터 파이프라인(PipeLine)을 더 이용할 수 있다. 본 발명의 일 실시예에서 데이터 간 동기화를 하는 이유도 이를 의미있는 정보로 생성한 후 이용하기 위함이므로, 실시간 데이터를 수집(Acquisition), 자동라벨링(Auto Labeling), 압축(Compression) 및 시뮬레이션(Simulation)으로 이어지는 4 단계의 데이터 파이프라인을 더 이용할 수 있다. 제 1 단계인 수집 단계에서는, 공정 가동 중 오퍼레이션 데이터를 우회적으로 수집하고, 이를 상술한 OPC-UA)를 통해 수집된 센서 데이터와 동기화 한다. 제 2 단계인 자동라벨링 단계에서는 향후 센서 데이터가 수집될 때 오퍼레이션 데이터와 설비 조건별, 공정별로 자동으로 동기화 되고 레이블링이 될 수 있게 분류 알고리즘을 학습한다. 제 3 단계인 압축 단계는수집된 데이터를 딥러닝 기반으로 효과적으로 압축한 다음, 제 4 단계인 시뮬레이션 오퍼레이션 입력 시 다양한 공정 계획을 바탕으로 예상되는 프로파일(Profile)을 생성하여 최적조건을 탐색하도록 할 수 있다.In addition, in one embodiment of the present invention, a data pipeline (PipeLine) can be further used to process data pouring from the smart factory. The reason for synchronization between data in an embodiment of the present invention is to generate meaningful information and then use it, so real-time data is collected (Acquisition), automatic labeling (Auto Labeling), compression (Compression), and simulation (Simulation). ), a further four-stage data pipeline is available. In the first step, the collection step, operation data is indirectly collected during process operation and synchronized with the sensor data collected through the aforementioned OPC-UA). In the second step, the automatic labeling step, when sensor data is collected in the future, the classification algorithm is learned so that operation data, equipment conditions, and processes can be automatically synchronized and labeled. The third step, the compression step, effectively compresses the collected data based on deep learning, and then, when the fourth step, the simulation operation, generates an expected profile based on various process plans to search for optimal conditions. there is.

<수집 단계><Collection step>

기계는 가동 될 때 항상 미리 정해진 프로그램의 명령에 의해 움직이고, 각 명령마다 서로 다른 동작을 취하며 목적을 달성하는데, 이때 기계 가동 시 출력되는 센서 데이터는 그러한 서로 다른 동작에 따른 결과물이다. 따라서, 단순히 센서 데이터만을 수집하는 것 보다, 센서 데이터를 발생시킨 오퍼레이션 명령을 함께 데이터화 함으로써 발생된 센서 데이터의 원인 정보를 함께 저장한다면 데이터의 질을 좀 더 향상 시킬 수 있다. 기계들은 이러한 오퍼레이션 정보를 제공된 개방형 채널을 통해 데이터화하여 확보할 수 있으나, 장비가 구형인 경우 그러한 채널이 존재하지 않는 경우가 많고, 신규 장비를 사용하더라도 기계 제작사가 의도적으로 개방형 프로토콜을 지원하지 않는 경우가 많다. 이런 상황에서 오퍼레이션 정보를 얻기 위해 Retrofitting 방식을 이용할 수 있다. Retrofitting은 기계 자체에 통신 프로토콜이 제공되지 않아, 데이터를 얻을 수 없는 상황에서 우회적으로 장비의 정보와 연결하고 관리할 수 있게 하는 방법으로, 기계에 센서와 통신 장비를 부착하여 얻을 수 없었던 정보를 전송케 하는 CPPS에 흔히 사용되는 방법 역시 넓은 범주의 Retrofitting에 속한다. When the machine is in operation, it always moves according to the commands of the predetermined program and achieves its purpose by taking different actions for each command. Therefore, rather than simply collecting sensor data, the quality of data can be further improved if the cause information of the generated sensor data is stored together by converting the operation command that generated the sensor data into data. Machines can secure this operation information by converting it into data through the provided open channel, but in many cases, such a channel does not exist for old equipment, and when the machine manufacturer intentionally does not support open protocol even when using new equipment There are many. In this situation, retrofitting method can be used to obtain operation information. Retrofitting is a method of indirectly connecting and managing equipment information in a situation where data cannot be obtained because the communication protocol is not provided in the machine itself. It transmits information that could not be obtained by attaching sensors and communication equipment to the machine. The method commonly used for CPPS that makes it possible also belongs to a wide category of retrofitting.

이에 따라, 오퍼레이션 데이터 수집을 위해, 통신이 불가능한 HMI(Human Machine Interface) 화면을 녹화하여 비디오 데이터로 저장할 수 있다. 그런 다음 시간순으로 나열된 연속된 이미지 데이터로 추출하고 OCR(Optical Character Recognition) 알고리즘을 적용하여 스트링(String) 형식의 오퍼레이션 데이터를 얻는 방법을 이용할 수 있다. OCR 알고리즘을 적용하기 위해 사용된 순간마다 서로 다른 기준이 사용될 수 있을 수 있어 정확도와 속도에 문제가 발생할 수 있으므로, 기 구축된구축된 멀티모달 데이터셋(DataSet)을 바탕으로, 센서 데이터만을 통해 오퍼레이션 정보를 예측함으로써 수집 단계에서 발생할 정확도와 속도 문제를 해결할 알고리즘이 필요하다.Accordingly, in order to collect operation data, a human machine interface (HMI) screen in which communication is impossible may be recorded and stored as video data. Then, a method of extracting continuous image data listed in chronological order and applying an OCR (Optical Character Recognition) algorithm to obtain operation data in a string format can be used. Different criteria may be used for each moment used to apply the OCR algorithm, which may cause problems with accuracy and speed. By predicting the information, we need an algorithm to solve the accuracy and speed problems that will arise during the collection phase.

<자동라벨링><Auto Labeling>

자동라벨링 단계에서는 이러한 문제를 해결하기 위해 분류 모델을 이용할 수 있다. 자동라벨링 단계에서 구축된 데이터셋은 연속된 센서 데이터에 오퍼레이션 정보가 짝을 지어지는 방식으로 형성되는데, 두 데이터 간의 연관성을 알고리즘이 정확히 파악한다면, 센서 데이터만을 입력하고도 해당 시간에 기계가 명령받은 오퍼레이션 정보를 예측할 수 있으므로, 오퍼레이션 정보수집과정 및 병합과정을 생략하고 멀티모달 데이터셋을 구축할 수 있다. 따라서, 자동라벨링 단계에서는 수집 단계에서 생성된 데이터셋을 사용하여 센서 데이터를 입력하면 기계의 가동 여부를 반환하는 분류 모델과, 오퍼레이션 정보를 반환하는 분류 모델을 이용할 수 있다.In the automatic labeling step, a classification model can be used to solve this problem. The dataset built in the automatic labeling step is formed in such a way that operation information is paired with continuous sensor data. Since operation information can be predicted, a multimodal dataset can be built by omitting the operation information collection process and merging process. Therefore, in the automatic labeling step, when sensor data is input using the dataset generated in the collection step, a classification model that returns whether the machine is operating or not and a classification model that returns operation information can be used.

대부분의 설비에서 오퍼레이션을 명령 했을 때 발생하는 물리량은 오퍼레이션과 명확한 상관관계를 보여주고 있지 않다. 기계 내부의 복잡한 전체 메커니즘을 알고 있는 사용자 혹은 관리자는 많지 않으며, 입력된 오퍼레이션 이외에도 인간이 알기 힘든 여러 요소들의 영향을 받기 때문이다. 따라서, 고전적 통계 기법으로 알 수 없는 숨겨진 상관관계를 찾기 위해 딥러닝을 분류 모델로 이용할 수 있다. 딥러닝은 사람의 신경망을 모방하여 만든 인공 신경망을 통해 주어진 데이터와 그 데이터에 매칭되어 있는 레이블(Label) 간의 인간이 파악하기 힘든 상관관계를 파악하는 역할에 특화되어 있다. 특히 고전적 분류 모델과는 달리 입력 데이터와 출력 데이터의 형태에 맞게 유연하게 모델을 조정할 수 있고, 높은 정확도를 보여준다. In most facilities, the physical quantity generated when an operation is commanded does not show a clear correlation with the operation. This is because there are not many users or administrators who are aware of the entire complex mechanism inside the machine, and it is affected by various factors that are difficult for humans to understand other than the input operation. Therefore, deep learning can be used as a classification model to find hidden correlations that cannot be known by classical statistical techniques. Deep learning is specialized in the role of identifying correlations that are difficult for humans to grasp between given data and labels matched to the data through artificial neural networks made by imitating human neural networks. In particular, unlike classical classification models, the model can be flexibly adjusted according to the shape of input and output data and shows high accuracy.

자동라벨링 단계에서는 센서 데이터를 입력 데이터로 사용하고, 입력된 센서 시간대의 기계 가동 여부를 출력 데이터로 사용하는 모델과, 명령받은 오퍼레이션 출력 데이터로 하는 모델을 이용할 수 있다. 센서 데이터는 앞 시간대의 수치들에 따라 현재 시간대의 수치의 의미가 달라지는 시계열 데이터이다. 이에, 이런 시간상의 앞뒤 상관관계를 잘 파악하는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network) 기반 딥러닝을 이용할 수 있다. 레이어의 개수, 필터의 개수, 활성화 함수 등의 하이퍼파라미터를 조정하며, 레이어 유형별로 최적의 딥러닝 모델을 찾기 위해 각종 평가 척도를 비교 분석할 수 있다. 학습 및 검증된 딥러닝 모델은 추후 센서 데이터가 입력되면 자동으로 오퍼레이션 정보를 생성하는 역할을 수행함으로써, 좀 더 신속하게 다양하고 높은 가치의 분석이 가능한 멀티모달 데이터셋을 구축할 수 있게 한다.In the automatic labeling step, a model that uses sensor data as input data and whether or not a machine is operated during the input sensor time period as output data and a model that uses commanded operation output data can be used. The sensor data is time-series data in which the meaning of the values of the current time zone changes according to the values of the previous time zone. Accordingly, CNN (Convolutional Neural Network) and RNN (Recurrent Neural Network) based deep learning can be used to well understand this temporal correlation. Hyperparameters such as the number of layers, number of filters, and activation function can be adjusted, and various evaluation scales can be compared and analyzed to find the optimal deep learning model for each layer type. The trained and verified deep learning model plays a role of automatically generating operation information when sensor data is input later, enabling the construction of a multimodal dataset that can be analyzed more quickly and with various high values.

<압축 단계><compression step>

제조 현장에서는 매 시간 마다 방대한 양의 데이터가 생산된다. 특히, 더 다양한 종류의 정밀한 센서가 사용될수록 데이터의 양은 그에 비례해서 늘어난다. 현재 많은 기업들은 센서 등의 IoT 하드웨어의 발전 속도를 따라갈만한 서버 확충 등의 데이터 처리 능력이 부족한 상태이다. 그렇기에 일정시간이 지나면 데이터를 삭제하거나 데이터 해상도를 낮춤으로써 저장공간을 확보하고 있다. 하지만 결국 이런 방법은 정보량 소실로 이어져, 데이터의 양과 함께 질을 현저히 떨어뜨려, 향후 CPPS 구축에 필요한 알고리즘에 적용할 때에 좋은 결과를 가져올 수 없다. 따라서 데이터가 가지고 있는 특성을 최대한 살리면서 데이터의 부피만을 줄이는 방법을 이용할 수 있다.In the manufacturing field, a huge amount of data is produced every hour. In particular, as more and more types of precise sensors are used, the amount of data increases proportionally. Currently, many companies lack data processing capabilities such as server expansion to keep pace with the development of IoT hardware such as sensors. Therefore, storage space is secured by deleting data or lowering the data resolution after a certain period of time. However, in the end, this method leads to a loss of information, and significantly lowers the quality along with the amount of data, so that it cannot bring good results when applied to the algorithm required for CPPS construction in the future. Therefore, it is possible to use a method of reducing only the volume of data while maximizing the characteristics of the data.

자동라벨링 단계에서 딥러닝 모델은 센서 데이터를 문제로 받았고, 오퍼레이션 데이터는 딥러닝 모델이 센서 데이터에 대한 특성을 학습할 때 도움을 주는 답안지(Ground Truth) 역할을 했다. 이렇게 머신러닝 알고리즘에서 답안지 역할을 하는 레이블이 주어지는 경우는 지도학습, 반면 레이블이 없이 오로지 입력 데이터만으로 알고리즘을 통해 그 특성을 학습하는 경우를 비지도학습으로 분류한다. 지도학습을 통해 학습된 알고리즘은 추후 입력 데이터가 입력 되었을 때 그에 해당하는 답을 예측하는 역할을 하고, 비지도학습은 입력된 데이터 자체의 특성을 파악하여 군집화를 하거나 패턴을 인식하고 특징을 추출하는 역할을 한다.In the automatic labeling step, the deep learning model received the sensor data as a problem, and the operation data served as a ground truth that helped the deep learning model learn the characteristics of the sensor data. In this way, the case where a label serving as an answer sheet in a machine learning algorithm is given is supervised learning, while the case where the characteristic is learned through an algorithm only with input data without a label is classified as unsupervised learning. The algorithm learned through supervised learning plays a role in predicting the corresponding answer when input data is entered later, and unsupervised learning identifies the characteristics of the input data itself and performs clustering or recognizing patterns and extracting features. play a role

압축 단계에서는 이런 비지도학습의 특성을 사용하여 센서 데이터의 패턴을 파악하여 특성을 추출해내는 알고리즘이 이용될 수 있다. 딥러닝 알고리즘 중 이런 역할을 하는 대표적인 모델이 오토인코더이다. 오토인코더는 모델의 입력과 출력을 동일한 데이터로 두어 데이터의 특성을 학습한 다음, 학습된 특성을 통해 동일한 데 이터를 최대한 유사하게 생성하는 것을 목표로 한다. 이때, 여러 겹 쌓은 딥러닝 레이어의 중간부분을 입력보다 차원이 낮은 형태로 출력되도록 설계하면 의도적으로 정보 병목 현상을 추가하는 효과를 가져와 정보를 압축하는 역할을 수행 할 수 있다. 이러한 오토인코더의 특성을 활용하여 데이터를 압축하는데 이용할 수 있다.In the compression step, an algorithm that identifies a pattern of sensor data using the characteristics of unsupervised learning and extracts characteristics may be used. Among deep learning algorithms, the representative model that plays this role is an autoencoder. The autoencoder aims to learn the characteristics of the data by putting the same data as the input and output of the model, and then to generate the same data as similarly as possible through the learned characteristics. At this time, if the middle part of the stacked deep learning layer is designed to be output in a lower-dimensional form than the input, it can intentionally add an information bottleneck and play a role in compressing information. Utilizing these characteristics of autoencoder, it can be used to compress data.

오토인코더 모델의 각 레이어는 점점 차원이 줄어들다가 중간 지점 이후 다시 원래의 차원으로 돌아가는 방식으로 쌓는다. 이때, 중간지점 이전 부분을 인코더, 중간지점 이후 부분을 디코더라고 하며, 중간지점에 출력된 압축된 형태의 데이터는 잠재(Latent)벡터로 부른다. 따라서 이 잠재벡터는 단순히 정보량을 삭제하는 방식으로 압축된 결과가 아닌, 딥러닝 모델에 의해 특성이 유지된 채로 압축된 결과이기에, 기존의 데이터를 대체할 효과적인 압축 데이터로써 사용될 수 있으며, 사용되는 저장공간을 줄여주는 역할을 할 수 있다. 이때, 단순히 압축 데이터만을 저장하는 것이 아니라, 학습된 디코더 부분의 가중치를 함께 저장해야 추후 디코더 부분을 통해 데이터를 원래의 크기로 복원시켜 실시간으로 수집되는 데이터와 함께 사용이 가능하다.Each layer of the autoencoder model is stacked in such a way that the dimension gradually decreases and returns to the original dimension after the intermediate point. At this time, the part before the midpoint is called an encoder, the part after the midpoint is called a decoder, and the compressed data output at the midpoint is called a latent vector. Therefore, since this latent vector is not a result compressed by simply deleting the amount of information, but a result compressed with the characteristics maintained by a deep learning model, it can be used as effective compressed data to replace existing data, and the storage used It can serve as a space saver. At this time, not only the compressed data is stored, but also the weight of the learned decoder part must be stored together so that the data can be restored to its original size through the decoder part later and used together with the data collected in real time.

<시뮬레이션 단계><Simulation step>

센서가 감지하는 물리량을 사전에 시뮬레이션 할 수 있으면 공정 효율성의 증가를 기대 해 볼 수 있고, 이상(Abnormal) 발생도 예측할 수 있다. 뿐만 아니라, 이런 시뮬레이션 기능은 현장 작업자가 기계 가동을 수행할 때 보조하는 역할을 할 수도 있다. 따라서, 시뮬레이션 단계에서는 특정 프로그램을 수행시 기계가 명령받게 될 오퍼레이션 목록을 순서대로 입력하였을 때, 센서가 어떤 수치를 반환할 것인지를 예측하는 모델을 훈련한 후 이용할 수 있다. 시뮬레이션 단계 역시 자동라벨링 단계 및 압축 단계와 마찬가지로 딥러닝 모델을 이용할 수 있다. 자동라벨링 단계에서는 연속의 수치데이터인 센서 데이터를 입력으로, 이산의 범주데이터인 오퍼레이션 데이터를 출력으로 분류 모델을 학습하고 이용했다면, 시뮬레이션 단계에서의 입출력은 이와 반대로 오퍼레이션 데이터가 입력으로 질의되고 센서 데이터가 출력으로 사용되며, 모델은 연속된 수치 데이터를 예측하는 문제를 해결하는 회귀 모델을 이용할 수 있다.If the physical quantity sensed by the sensor can be simulated in advance, the increase in process efficiency can be expected and the occurrence of abnormalities can be predicted. In addition, these simulation functions can assist field workers when performing machine operation. Therefore, in the simulation step, when a machine executes a specific program and inputs a list of operations to be commanded in sequence, a model predicting what value the sensor will return can be used after training. The simulation step can also use a deep learning model like the automatic labeling step and compression step. In the automatic labeling step, if a classification model was learned and used with sensor data, which is continuous numerical data, as input, and operation data, which is discrete categorical data, as output, operation data is queried as input in the simulation step, on the contrary, and sensor data is queried as input. is used as the output, and the model can use a regression model that solves the problem of predicting continuous numerical data.

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

도 3을 참조하면, (a) 동기화 서비스 제공 서버(300)는 적어도 하나의 카메라(400)로부터 영상 데이터를 수신하고, 적어도 하나의 협업로봇으로부터 실시간 데이터를 수집한다. (b) 그리고 동기화 서비스 제공 서버(300)는 영상 데이터 내에서 각 시점별로 키포인트를 추출한 후, 실시간 데이터를 비교하며, (c)와 같이 시간지연(△t)이 + 로 발생한 경우 -△t가 되도록 데이터를 정렬해줌으로써 실시간 데이터 간 데이터 동기화를 수행할 수 있다. 또, 도 4의 (a)와 같이 영상녹화시각 및 실시간 데이터 수집시각 간의 동기화를 위하여 실시간 데이터에 임펄스 등이 나타나도록 협업로봇을 동작시키거나 환경을 변화시키고 이미지를 기반으로 임펄스가 나타난 곳을 기준으로 동기화를 수행할 수도 있다. (b)와 같이 영상 데이터인 2D 데이터를 좌표변환을 통하여 3D 데이터로 수집할 수 있고, (c)와 같이 프로토콜을 이용하여 스마트팩토리 내 존재하는 각 IoT 기기나 협업로봇 간 데이터 싱크를 맞출 수 있다.Referring to FIG. 3 , (a) a synchronization service providing server 300 receives image data from at least one camera 400 and collects real-time data from at least one collaborative robot. (b) And the synchronization service providing server 300 extracts key points for each viewpoint in the video data, compares the real-time data, and when the time delay (Δt) is + as shown in (c), -Δt is Data synchronization between real-time data can be performed by sorting the data as much as possible. In addition, as shown in (a) of FIG. 4, for synchronization between the video recording time and the real-time data collection time, the collaborative robot is operated or the environment is changed so that the impulse appears in the real-time data, and the place where the impulse appears is based on the image. Synchronization can also be performed with As in (b), 2D data, which is image data, can be collected as 3D data through coordinate transformation, and data sync can be matched between each IoT device or collaborative robot existing in the smart factory using a protocol as in (c). .

이와 같은 도 2 내지 도 4의 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.Matters not described in the method for providing data synchronization services between vision-based collaborative robots of FIGS. 2 to 4 are the same as those described for the method for providing data synchronization services between vision-based collaborative robots through FIG. 1 or described above. Since it can be easily inferred from the contents, the following description will be omitted.

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

도 5를 참조하면, 동기화 서비스 제공 서버는, 적어도 하나의 협동로봇(Collaborative Robot) 간 동기화된 실시간 데이터를 출력하는 사용자 단말 및 적어도 하나의 협동로봇으로부터 실시간 데이터를 수집한다(S5100).Referring to FIG. 5 , the synchronization service providing server collects real-time data from a user terminal outputting synchronized real-time data between at least one collaborative robot and at least one collaborative robot (S5100).

또, 동기화 서비스 제공 서버는, 적어도 하나의 카메라를 이용하여 적어도 하나의 협동로봇을 촬영하고(S5200), 적어도 하나의 협동로봇의 실시간 데이터를 적어도 하나의 카메라로 촬영된 영상 데이터에 기반하여 동기화를 수행한다(S5300).In addition, the synchronization service providing server photographs at least one cobot using at least one camera (S5200), and synchronizes the real-time data of the at least one cobot based on the image data captured by the at least one camera. It is performed (S5300).

또, 동기화 서비스 제공 서버는, 동기화된 실시간 데이터를 사용자 단말로 전달한다(S5400).In addition, the synchronization service providing server transmits the synchronized real-time data to the user terminal (S5400).

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

이와 같은 도 5의 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 4를 통해 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.Matters not described in the method for providing data synchronization services between vision-based collaborative robots in FIG. 5 are the same as those described for the method for providing data synchronization services between vision-based collaborative robots through FIGS. 1 to 4, or described above. Since it can be easily inferred from the contents, the following description will be omitted.

도 5를 통해 설명된 일 실시예에 따른 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. The method for providing a data synchronization service between vision-based collaborative robots according to an embodiment described with reference to FIG. 5 is also 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. It can be. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, computer readable media may include all computer storage media. Computer storage media includes both volatile and nonvolatile, 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.

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

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

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

Claims (10)

적어도 하나의 협동로봇(Collaborative Robot) 간 동기화된 실시간 데이터를 출력하는 사용자 단말; 및
상기 적어도 하나의 협동로봇으로부터 실시간 데이터를 수집하는 수집부, 적어도 하나의 카메라를 이용하여 상기 적어도 하나의 협동로봇을 촬영하는 촬영부, 상기 적어도 하나의 협동로봇의 실시간 데이터를 상기 적어도 하나의 카메라로 촬영된 영상 데이터에 기반하여 동기화를 수행하는 동기화부, 상기 동기화된 실시간 데이터를 상기 사용자 단말로 전달하는 전달부, 상기 적어도 하나의 카메라로부터 촬영되는 적어도 하나의 협동로봇의 기 설정된 시점별 객체를 탐지하고, 탐지된 객체의 XYZ 좌표에 상기 적어도 하나의 협동로봇으로부터 수집된 실시간 데이터 내 XYZ 좌표가 일치하는 시점을 추출한 후, 상기 기 설정된 시점으로 상기 적어도 하나의 협동로봇의 실시간 데이터를 동기화시키는 좌표일치부를 포함하는 동기화 서비스 제공 서버;
를 포함하는 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템.
A user terminal outputting synchronized real-time data between at least one collaborative robot; and
A collection unit that collects real-time data from the at least one cobot, a photographing unit that photographs the at least one cobot using at least one camera, and transmits real-time data of the at least one cobot to the at least one camera. A synchronization unit performing synchronization based on captured image data, a delivery unit transmitting the synchronized real-time data to the user terminal, and detecting an object for each preset viewpoint of at least one collaborative robot captured from the at least one camera. and extracting a time point at which the XYZ coordinates of the detected object in the real-time data collected from the at least one cobot coincide with the XYZ coordinates of the detected object, and then synchronizing the real-time data of the at least one cobot with the preset time point. a synchronization service providing server including a unit;
A data synchronization service providing system between vision-based collaborative robots.
삭제delete 제 1 항에 있어서,
상기 동기화 서비스 제공 서버는,
상기 기 설정된 시점별 객체를 탐지할 때, 상기 적어도 하나의 협동로봇의 기 설정된 부위인 키포인트를 중심으로 상기 객체를 탐지하도록 하는 키포인트부;
를 더 포함하는 것을 특징으로 하는 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템.
According to claim 1,
The synchronization service providing server,
a keypoint unit configured to detect the object around a keypoint, which is a preset part of the at least one cooperating robot, when detecting an object for each preset viewpoint;
A data synchronization service providing system between vision-based collaborative robots, characterized in that it further comprises.
제 3 항에 있어서,
상기 키포인트부는,
상기 키포인트를 상기 적어도 하나의 협동로봇의 마커(Marker)를 기준으로 탐지하는 것을 특징으로 하는 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템.
According to claim 3,
The key point part,
A system for providing a data synchronization service between vision-based collaborative robots, characterized in that the keypoint is detected based on a marker of the at least one collaborative robot.
제 1 항에 있어서,
상기 동기화 서비스 제공 서버는,
상기 적어도 하나의 카메라에서 수신되는 영상 데이터의 녹화시작시각과 상기 적어도 하나의 협동로봇으로부터 수집되는 실시간 데이터의 수집시작시각 간 차이를 조정하기 위해, 상기 적어도 하나의 협동로봇이 구동을 시작할 때 기 설정된 궤적을 그리도록 설정함으로써 상기 실시간 데이터 내에서 기 설정된 궤적을 그리는 시점을 찾아 상기 수집시작시각과 일치시키도록 하는 시각동기화부;
를 더 포함하는 것을 특징으로 하는 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템.
According to claim 1,
The synchronization service providing server,
In order to adjust the difference between the recording start time of the image data received from the at least one camera and the collection start time of the real-time data collected from the at least one cobot, when the at least one cobot starts driving, a predetermined setting is set. a time synchronizing unit for setting a trajectory to find a point in time of drawing a preset trajectory within the real-time data and matching it with the collection start time;
A data synchronization service providing system between vision-based collaborative robots, characterized in that it further comprises.
제 5 항에 있어서,
상기 동기화 서비스 제공 서버는,
상기 기 설정된 궤적에 따라 임펄스(Impulse)가 발생하는 실시간 데이터 중 센서 데이터를 추출하고, 상기 임펄스를 기준으로 상기 협동로봇의 실시간 데이터를 동기화시키는 임펄스추출부;
를 더 포함하는 것을 특징으로 하는 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템.
According to claim 5,
The synchronization service providing server,
an impulse extraction unit extracting sensor data among real-time data in which an impulse is generated according to the preset trajectory and synchronizing the real-time data of the cobot based on the impulse;
A data synchronization service providing system between vision-based collaborative robots, characterized in that it further comprises.
제 1 항에 있어서,
상기 동기화 서비스 제공 서버는,
상기 적어도 하나의 카메라로부터 촬영된 영상 데이터인 2D 데이터를 3D 데이터로 변환하여 궤적 데이터를 3차원으로 획득하는 차원변환부;
를 더 포함하는 것을 특징으로 하는 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템.
According to claim 1,
The synchronization service providing server,
a dimensional conversion unit converting 2D data, which is image data captured by the at least one camera, into 3D data to acquire trajectory data in 3D;
A data synchronization service providing system between vision-based collaborative robots, characterized in that it further comprises.
제 7 항에 있어서,
상기 차원변환부는,
상기 2D 데이터를 3D 데이터로 변환할 때 회전변환행렬(Rotation Matrix) 및 투영변환행렬(Projection Matrix)을 이용하는 것을 특징으로 하는 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템.
According to claim 7,
The dimension conversion unit,
A data synchronization service providing system between vision-based collaborative robots, characterized in that using a rotation matrix and a projection matrix when converting the 2D data to 3D data.
제 1 항에 있어서,
상기 동기화 서비스 제공 서버는,
상기 적어도 하나의 협업로봇으로부터 수집되는 실시간 데이터에 대하여 스마트팩토리 구축을 위한 적어도 하나의 시간 동기화 프로토콜을 이용하도록 하는 프로토콜부;
를 더 포함하는 것을 특징으로 하는 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템.
According to claim 1,
The synchronization service providing server,
A protocol unit for using at least one time synchronization protocol for building a smart factory with respect to real-time data collected from the at least one collaborative robot;
A data synchronization service providing system between vision-based collaborative robots, characterized in that it further comprises.
제 9 항에 있어서,
상기 적어도 하나의 시간 동기화 프로토콜은,
OPC UA Server/Client, TSN 실시간 통신 기술, NTP & PTP 시간 동기화 프로토콜, 필드버스(Field Bus) 프로토콜 및 데이터 전송지연에 대한 동기화 프로토콜을 포함하는 것을 특징으로 하는 비전 기반 협업로봇 간 데이터 동기화 서비스 제공 시스템.
According to claim 9,
The at least one time synchronization protocol,
OPC UA Server/Client, TSN real-time communication technology, NTP & PTP time synchronization protocol, Field Bus protocol, and data synchronization service provision system between vision-based collaborative robots, characterized by including synchronization protocol for data transmission delay .
KR1020230030068A 2023-03-07 2023-03-07 System for providing vision based data synchronization service between collaborative robot KR102567743B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230030068A KR102567743B1 (en) 2023-03-07 2023-03-07 System for providing vision based data synchronization service between collaborative robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230030068A KR102567743B1 (en) 2023-03-07 2023-03-07 System for providing vision based data synchronization service between collaborative robot

Publications (1)

Publication Number Publication Date
KR102567743B1 true KR102567743B1 (en) 2023-08-17

Family

ID=87800063

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230030068A KR102567743B1 (en) 2023-03-07 2023-03-07 System for providing vision based data synchronization service between collaborative robot

Country Status (1)

Country Link
KR (1) KR102567743B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140040062A (en) * 2010-07-02 2014-04-02 알데바란 로보틱스 Humanoid game-playing robot, method and system for using said robot
JP2020172011A (en) * 2019-04-15 2020-10-22 日本金銭機械株式会社 Display control system, display control method, and program
KR20210001001U (en) * 2020-11-23 2021-05-10 주식회사 뉴로메카 Cooperative Robot Monitoring System
JP2022176106A (en) * 2021-05-14 2022-11-25 台達電子工業股▲ふん▼有限公司 Dual-arm robot assembling system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140040062A (en) * 2010-07-02 2014-04-02 알데바란 로보틱스 Humanoid game-playing robot, method and system for using said robot
JP2020172011A (en) * 2019-04-15 2020-10-22 日本金銭機械株式会社 Display control system, display control method, and program
KR20210001001U (en) * 2020-11-23 2021-05-10 주식회사 뉴로메카 Cooperative Robot Monitoring System
JP2022176106A (en) * 2021-05-14 2022-11-25 台達電子工業股▲ふん▼有限公司 Dual-arm robot assembling system

Similar Documents

Publication Publication Date Title
Lei et al. Latency-aware collaborative perception
CN111415417B (en) Mobile robot topology experience map construction method integrating sparse point cloud
Elkaseer et al. Approaches to a practical implementation of industry 4.0
Xu et al. {SwarmMap}: Scaling up real-time collaborative visual {SLAM} at the edge
TW202115366A (en) System and method for probabilistic multi-robot slam
Beksi et al. Core: A cloud-based object recognition engine for robotics
WO2022247548A1 (en) Positioning method, apparatus, electronic device, and storage medium
WO2020103054A1 (en) Time synchronisation method, apparatus, and system, and storage medium
WO2014026021A1 (en) Systems and methods for image-based searching
CN115355901A (en) Multi-machine combined graph building method fusing dynamic target perception
CN116127821A (en) Three-dimensional visual presentation method and platform for operation and maintenance data
KR102567743B1 (en) System for providing vision based data synchronization service between collaborative robot
EP2973462B1 (en) Surveillance system with intelligently interchangeable cameras
US20200045113A1 (en) Data processing method, computer device and storage medium
US11258939B2 (en) System, method and apparatus for networking independent synchronized generation of a series of images
Scheuermann et al. Mobile augmented reality based annotation system: A cyber-physical human system
KR20130134986A (en) Slam system and method for mobile robots with environment picture input from user
Apicharttrisorn et al. Breaking edge shackles: Infrastructure-free collaborative mobile augmented reality
CN110888957B (en) Object positioning method and related device
CN116429112A (en) Multi-robot co-location method and device, equipment and storage medium
US20230126366A1 (en) Camera relocalization methods for real-time ar-supported network service visualization
CN114844585A (en) Data synchronization method, system and related equipment
Berndt et al. Unified Multi-Modal Data Aggregation for Complementary Sensor Networks Applied for Localization
KR102624242B1 (en) System for providing two dimensional and three dimensional matching service for robot
KR102556642B1 (en) Method of generating data for machine learning training

Legal Events

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