Movatterモバイル変換


[0]ホーム

URL:


KR102800405B1 - Device and Method for Teaching Computer Vision-Based Robotic Arm - Google Patents

Device and Method for Teaching Computer Vision-Based Robotic Arm
Download PDF

Info

Publication number
KR102800405B1
KR102800405B1KR1020240106509AKR20240106509AKR102800405B1KR 102800405 B1KR102800405 B1KR 102800405B1KR 1020240106509 AKR1020240106509 AKR 1020240106509AKR 20240106509 AKR20240106509 AKR 20240106509AKR 102800405 B1KR102800405 B1KR 102800405B1
Authority
KR
South Korea
Prior art keywords
worker
robot arm
movement
movements
work
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020240106509A
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 주식회사 아임토리filedCritical주식회사 아임토리
Priority to KR1020240106509ApriorityCriticalpatent/KR102800405B1/en
Application grantedgrantedCritical
Publication of KR102800405B1publicationCriticalpatent/KR102800405B1/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Classifications

Landscapes

Abstract

Translated fromKorean

일 실시예는 컴퓨터 비전을 활용한 로봇팔 티칭 기술에 관한 것으로, 작업자의 업무 수행 모습을 촬영한 작업자 영상을 수집하는 단계, 수집된 영상에 컴퓨터 비전을 적용하여 작업자의 움직임 패턴을 분석하는 단계, 상기 분석하는 단계에서의 작업자의 움직임 패턴에 맞게 로봇팔의 움직임을 매칭시키기 위한 로봇팔 움직임 좌표값을 도출하는 단계 및 상기 도출하는 단계에서 도출된 움직임 좌표값에 기반하여 로봇팔에게 작업을 학습시키는 단계를 포함하는, 컴퓨터 비전을 활용한 로봇팔 티칭 방법에 의해 실제 작업자의 작업 동작을 촬영한 영상에 기반하여 로봇팔의 움직임을 자동 티칭하여 작업 효율을 크게 향상시키고 특히 반복적인 작업을 자동화하는 데 유용한 컴퓨터 비전을 활용한 로봇팔 티칭 장치 및 방법을 제공할 수 있는 효과가 도출된다.One embodiment relates to a robot arm teaching technology using computer vision, comprising the steps of collecting a worker video taken of the worker performing a task, analyzing the worker's movement pattern by applying computer vision to the collected video, deriving robot arm movement coordinate values for matching the robot arm movement to the worker's movement pattern in the analyzing step, and teaching the robot arm a task based on the movement coordinate values derived in the deriving step, thereby providing a robot arm teaching device and method using computer vision, which significantly improves work efficiency by automatically teaching the robot arm movement based on a video taken of an actual worker's work movements, and is particularly useful for automating repetitive tasks.

Description

Translated fromKorean
컴퓨터 비전을 활용한 로봇팔 티칭 장치 및 방법{Device and Method for Teaching Computer Vision-Based Robotic Arm}{Device and Method for Teaching Computer Vision-Based Robotic Arm}

실시예는 컴퓨터 비전을 활용한 로봇팔 티칭 기술에 관한 것이다.The embodiment relates to a robotic arm teaching technology using computer vision.

4차 산업혁명은 정보통신기술과 기존 산업 분야의 융합을 통해, 지능화, 자동화 및 연결성이 극대화된 산업 환경의 변화를 의미하는 것으로서, 인공지능, 사물인터넷, 빅데이터, 로봇, 자율주행, 클라우드 컴퓨팅 등이 주요 기술 동력으로 알려져 있다.The 4th Industrial Revolution refers to a change in the industrial environment that maximizes intelligence, automation, and connectivity through the convergence of information and communication technology and existing industrial fields. Artificial intelligence, the Internet of Things, big data, robots, autonomous driving, and cloud computing are known as the main technological driving forces.

이 중에서 로봇 분야는 인공지능 기술과 정보통신기술의 발달을 바탕으로 새로운 제품과 시장을 모색하고 있으며, 저출산과 고령화로 인한 노동 인구 감소와 생산성 혁신에 대한 사회적 요구, 제4차 산업혁명의 기술적 토대를 바탕으로 로봇에 대한 대중과 시장의 관심이 점점 커지고 있다.Among these, the robotics field is seeking new products and markets based on the development of artificial intelligence technology and information and communication technology, and the public and market interest in robots is growing based on the social demand for productivity innovation and the decreasing working population due to low birth rates and aging population, as well as the technological foundation of the 4th industrial revolution.

일반적으로, 로봇은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계로서, 특히 산업 현장에서의 로봇은 사람이 수행하지 못하는 작업을 수행할 수 있을 뿐만 아니라, 적은 시간 및 적은 비용으로 많은 작업량을 수행할 수 있다.In general, a robot is a machine that automatically processes or operates a given task with the abilities it possesses. In particular, robots in industrial settings can perform tasks that humans cannot perform, and can also perform a large amount of work in less time and at less cost.

하지만, 산업 현장에서는 작업의 빈번한 변화에 따른 로봇의 재배치와 로봇의 테스트로 인하여 많은 비용이 소모된다.However, in industrial settings, a lot of costs are incurred due to the relocation of robots and testing of robots according to frequent changes in tasks.

또한 분업화된 로봇에 의하여 라인작업 공정을 수행하는 많은 대량생산을 위한 제조현장에서는 자동화 기계 등을 이용하여 작업 라인의 공정을 수행하는 많은 로봇의 작업 위치나 티칭 포인트 등을 교정(calibration)하여 이용하고 있다.In addition, in many manufacturing sites for mass production where line work processes are performed by specialized robots, the work positions and teaching points of many robots that perform the work line processes are calibrated and utilized using automated machines, etc.

그러나, 라인을 따라 행거에 의하여 이동하는 작업대상물은 그 적재 위치나 상태 등이 동일할 수 없으므로 상기와 같은 교정 작업에는 라인을 중단시키고 각각의 작업대상물에 대한 교정데이터를 하나씩 작업 로봇에 티칭해야하는 번거로움이 있다.However, since the workpieces moving along the line by hangers cannot have the same loading positions or states, there is a hassle in the above-mentioned correction work, which requires stopping the line and teaching the correction data for each workpiece to the work robot one by one.

또한, 실제 작업 대상물을 중심으로 작업이 이용되므로 작업의 효율이나 작업성능에 대한 예상이나 모의 작업등을 수행할 수 없는 문제가 있다.In addition, since the work is centered on the actual work target, there is a problem in that it is impossible to predict or simulate work efficiency or work performance.

KRKR 10-2022-006771910-2022-0067719AAKRKR 10-2024-003683910-2024-0036839AA

본 발명은 이 같은 기술적 배경에서 도출된 것으로, 실제 작업자의 작업 동작을 촬영한 영상에 기반하여 로봇팔의 움직임을 자동 티칭하여 작업 효율을 크게 향상시키고 특히 반복적인 작업을 자동화하는 데 유용한 컴퓨터 비전을 활용한 로봇팔 티칭 장치 및 방법을 제공함에 그 목적이 있다.The present invention was derived from this technical background, and its purpose is to provide a robot arm teaching device and method utilizing computer vision, which is useful for significantly improving work efficiency by automatically teaching the movements of a robot arm based on a video of an actual worker's work movements, and in particular, for automating repetitive tasks.

상기의 과제를 달성하기 위한 본 발명은 다음과 같은 구성을 포함한다.To achieve the above-mentioned task, the present invention includes the following configuration.

즉 본 발명의 일 실시예에 따른 컴퓨터 비전을 활용한 로봇팔 티칭 방법은 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 작업자의 업무 수행 모습을 촬영한 작업자 영상을 수집하는 단계, 수집된 영상에 컴퓨터 비전을 적용하여 작업자의 움직임 패턴을 분석하는 단계, 상기 분석하는 단계에서의 작업자의 움직임 패턴에 맞게 로봇팔의 움직임을 매칭시키기 위한 로봇팔 움직임 좌표값을 도출하는 단계 및 상기 도출하는 단계에서 도출된 움직임 좌표값에 기반하여 로봇팔에게 작업을 학습시키는 단계를 포함한다.That is, a method for teaching a robot arm using computer vision according to one embodiment of the present invention is a method performed in a computing device having one or more processors and a memory storing one or more programs executed by the one or more processors, the method including the steps of collecting a video of a worker performing a task, analyzing a movement pattern of the worker by applying computer vision to the collected video, deriving a robot arm movement coordinate value for matching the movement of the robot arm to the movement pattern of the worker in the analyzing step, and teaching a task to the robot arm based on the movement coordinate value derived in the deriving step.

한편, 일 실시예에 따른 컴퓨터 비전을 활용한 로봇팔 티칭 장치는, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨터 장치로서, 작업자의 업무 수행 모습을 촬영한 작업자 영상을 수집하는 영상 수집부, 상기 영상 수집부에서 수집된 영상에 컴퓨터 비전을 적용하여 작업자의 움직임 패턴을 분석하는 패턴 분석부, 상기 패턴 분석부에서의 작업자의 움직임 패턴에 맞게 로봇팔의 움직임을 매칭시키기 위한 로봇팔 움직임 좌표값을 도출하는 좌표값 도출부 및 상기 좌표값 도출부에서 도출된 움직임 좌표값에 기반하여 로봇팔에게 작업을 학습시키는 작업 학습부를 포함한다.Meanwhile, a robot arm teaching device utilizing computer vision according to one embodiment is a computer device having one or more processors and a memory storing one or more programs executed by the one or more processors, the device including an image collection unit that collects an image of a worker performing a task, a pattern analysis unit that applies computer vision to the image collected by the image collection unit to analyze the movement pattern of the worker, a coordinate value derivation unit that derives robot arm movement coordinate values for matching the movement of the robot arm to the movement pattern of the worker in the pattern analysis unit, and a task learning unit that teaches the robot arm a task based on the movement coordinate values derived by the coordinate value derivation unit.

본 발명의 일 실시예에 따르면 실제 작업자의 작업 동작을 촬영한 영상에 기반하여 로봇팔의 움직임을 자동 티칭하여 작업 효율을 크게 향상시키고 특히 반복적인 작업을 자동화하는 데 유용한 컴퓨터 비전을 활용한 로봇팔 티칭 장치 및 방법을 제공할 수 있는 효과가 도출된다.According to one embodiment of the present invention, the effect of providing a robot arm teaching device and method utilizing computer vision, which automatically teaches the movement of a robot arm based on a video of an actual worker's work movements, thereby greatly improving work efficiency and being particularly useful for automating repetitive tasks, is achieved.

도 1 은 본 발명의 일 실시예에 따른 컴퓨터 비전을 활용한 로봇팔 티칭 장치의 구성을 도시한 블록도이다.
도 2 는 본 발명의 일 실시예에 따른 컴퓨터 비전을 활용한 로봇팔 티칭 방법의 흐름도이다.
FIG. 1 is a block diagram illustrating the configuration of a robot arm teaching device utilizing computer vision according to one embodiment of the present invention.
FIG. 2 is a flowchart of a robot arm teaching method using computer vision according to one embodiment of the present invention.

본 발명에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used in the present invention are only used to describe specific embodiments and are not intended to limit the present invention. In addition, the technical terms used in the present invention should be interpreted as having a meaning generally understood by a person having ordinary skill in the technical field to which the present invention belongs, unless specifically defined to have a different meaning in the present invention, and should not be interpreted in an overly comprehensive meaning or an overly narrow meaning.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the attached drawings.

본 발명의 실시예들에 따른 로봇팔 티칭 장치는 적어도 하나의 컴퓨터 장치에 의해 구현될 수 있으며, 본 발명의 실시예들에 따른 로봇팔 티칭 방법은 로봇팔 티칭 장치에 포함되는 적어도 하나의 컴퓨터 장치를 통해 수행될 수 있다. 이때, 컴퓨터 장치에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치는 구동된 컴퓨터 프로그램의 제어에 따라 본 발명의 실시예들에 따른 로봇팔 티칭 방법을 수행할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터 장치와 결합되어 로봇팔 티칭 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.The robot arm teaching device according to embodiments of the present invention can be implemented by at least one computer device, and the robot arm teaching method according to embodiments of the present invention can be performed by at least one computer device included in the robot arm teaching device. At this time, the computer device can have a computer program according to an embodiment of the present invention installed and driven, and the computer device can perform the robot arm teaching method according to embodiments of the present invention under the control of the driven computer program. The above-described computer program can be stored in a computer-readable recording medium so as to be combined with the computer device and cause the computer to execute the robot arm teaching method.

로봇팔 티칭 장치(Teaching Device for Robotic Arm)는 로봇팔의 동작을 프로그래밍하고 동작을 조정할 수 있다. 로봇팔 티칭 장치는 로봇팔의 경로, 작업 방식, 동작 파라미터 등을 설정하여 로봇이 특정 작업을 정확히 수행할 수 있도록 할수 있다.The Teaching Device for Robotic Arm can program and control the movements of the robotic arm. The Teaching Device for Robotic Arm can set the path, working method, and operating parameters of the robotic arm so that the robot can accurately perform a specific task.

일 실시예에 있어서 로봇팔 티칭 장치는 비전 시스템에서 제공하는 데이터를 바탕으로 로봇팔의 동작을 제어할 수 있다. 예를들어 ROS(Robot Operating System)와 같은 플랫폼을 포함할 수 있다. 또한, 비전 데이터를 실시간으로 처리하여 실시간 제어 알고리즘에 따라 로봇팔의 동작을 조정할 수도 있다.In one embodiment, the robot arm teaching device can control the movement of the robot arm based on data provided by the vision system. For example, it can include a platform such as ROS (Robot Operating System). In addition, it can process the vision data in real time and adjust the movement of the robot arm according to a real-time control algorithm.

구체적으로 로봇팔 티칭 장치는 작업자의 실제 업무 수행하는 모습을 컴퓨터 비전을 통해 패턴 분석한다. 그리고 이를 로봇팔 움직임에 적용할 수 있도록 로봇 좌표값을 분석한다.Specifically, the robot arm teaching device analyzes patterns of the worker's actual work performance through computer vision. Then, it analyzes the robot coordinate values so that they can be applied to the robot arm movements.

또한 일 실시예에 따른 로봇팔 티칭 장치는 로봇이 작업자의 움직임을 모방할 수 있도록 작업자의 움직임과 로봇의 움직임이 최적화 및 매칭을 이루기 위해서 어떤 방향으로 매칭이 되어야 하는지를 명확하게 파악할 수 있다.In addition, the robot arm teaching device according to one embodiment can clearly determine in which direction the movements of the worker and the movements of the robot should be matched in order to optimize and match them so that the robot can imitate the movements of the worker.

즉, 일 실시예에 있어서, 로봇팔 티칭 장치는 다양한 여러 작업자들의 움직임을 모니터링하여 최적의 작업자 움직임값을 도출해낼 수 있다. 그리고 컴퓨터 비전을 통해 작업자의 움직임 패턴과 로봇의 움직임 좌표값을 매칭하여 로봇팔이 최적의 작업 효과를 내는 작업자 움직임을 따라 티칭을 수행할 수 있다.That is, in one embodiment, the robot arm teaching device can monitor the movements of various workers to derive optimal worker movement values. Then, by matching the movement patterns of the workers with the movement coordinate values of the robot through computer vision, the robot arm can perform teaching following the worker movements that produce optimal work effects.

이때 작업자의 움직임은 동영상으로 촬영하여 2차원 공간으로 변경하고, 로봇팔의 움직임 좌표값도 2 차원으로 변경하여 최적 매칭 지점을 추출할 수 있다.At this time, the worker's movements are captured in a video and converted into a two-dimensional space, and the movement coordinate values of the robot arm are also converted into two dimensions to extract the optimal matching point.

도 1 은 본 발명의 일 실시예에 따른 컴퓨터 비전을 활용한 로봇팔 티칭 장치의 구성을 도시한 블록도이다.FIG. 1 is a block diagram illustrating the configuration of a robot arm teaching device utilizing computer vision according to one embodiment of the present invention.

도 1 에 도시된 바와 같이 일 실시예에 따른 컴퓨터 비전을 활용한 로봇팔 티칭 장치(10)는 구체적으로 통신 인터페이스(110), 메모리(120), 입출력 인터페이스(130) 및 프로세서(140)를 포함한다.As illustrated in FIG. 1, a robot arm teaching device (10) utilizing computer vision according to one embodiment specifically includes a communication interface (110), a memory (120), an input/output interface (130), and a processor (140).

통신 인터페이스(110)는 컴퓨터 비전을 활용한 로봇팔 티칭 장치(10)가 다른 장치와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 비전을 활용한 로봇팔 티칭 장치(10)의 프로세서(140)가 메모리(120)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(110)의 제어에 따라 네트워크(20)를 통해 적어도 하나 이상의 카메라(30) 및 로봇팔(40) 등의 다른 장치등으로 전송할 수 있다.The communication interface (110) can provide a function for the robot arm teaching device (10) utilizing computer vision to communicate with other devices. For example, requests, commands, data, files, etc. generated by the processor (140) of the robot arm teaching device (10) utilizing computer vision according to a program code stored in a recording device such as a memory (120) can be transmitted to other devices such as at least one camera (30) and a robot arm (40) through a network (20) under the control of the communication interface (110).

역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크를 거쳐 컴퓨터 비전을 활용한 로봇팔 티칭 장치(10)의 통신 인터페이스(110)를 통해 수신될 수도 있다. 통신 인터페이스(110)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(140)나 메모리(120)로 전달될 수 있고, 파일 등은 컴퓨터 비전을 활용한 로봇팔 티칭 장치(10)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.Conversely, signals, commands, data, files, etc. from other devices may be received via a network through the communication interface (110) of the robot arm teaching device (10) utilizing computer vision. Signals, commands, data, etc. received via the communication interface (110) may be transmitted to the processor (140) or memory (120), and files, etc. may be stored in a storage medium (the permanent storage device described above) that the robot arm teaching device (10) utilizing computer vision may further include.

네트워크(20)는 PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The network (20) may include any one or more of networks such as a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network (BBN), and the Internet. In addition, the network may include any one or more of network topologies including, but not limited to, a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree, or a hierarchical network.

카메라(30)는 로봇팔과 매칭되는 작업자의 동작을 촬영하기에 적합한 위치에 구비된다. 일 실시예에 있어서 카메라(30)는 다양한 해상도, 프레임 속도, 색상 처리 능력, 스캔 방식, 렌즈 및 조명 옵션을 통해 각 응용 분야의 요구사항에 맞는 최적의 솔루션을 제공할 수 있다. 예를들어 고해상도 카메라 또는 다중 카메라 시스템을 활용하여 작업 공간을 촬영하도록 구현될 수 있다. RGB 카메라, 깊이 카메라, 스테레오 카메라등일 수 있다.The camera (30) is installed at a suitable location to capture the worker's movements matching the robot arm. In one embodiment, the camera (30) can provide an optimal solution for each application's requirements through various resolutions, frame rates, color processing capabilities, scan methods, lenses, and lighting options. For example, it can be implemented to capture the workspace by utilizing a high-resolution camera or a multi-camera system. It can be an RGB camera, a depth camera, a stereo camera, etc.

로봇팔(40)은 작업 공간 내에서 특정 경로를 따라 움직이도록 프로그로밍되고 필요할 때 적절한 동작을 수행하도록 설정된다. 제조업, 조립라인, 용접, 페인팅 등 다양한 산업 분야에 적용 가능하며 로봇팔(40)은 로봇티칭을 통해 작업의 정밀도와 일관성을 높일 수 있다.The robot arm (40) is programmed to move along a specific path within the work space and is set to perform appropriate actions when necessary. It can be applied to various industrial fields such as manufacturing, assembly lines, welding, and painting, and the robot arm (40) can improve the precision and consistency of work through robot teaching.

일 실시예에 있어서 로봇팔(40)은 로보 티칭 장치(10)에 의해 작업자 움직임과 매칭 되도록 동작하는 동작 시퀀스를 입력받아서 학습할 수 있다.In one embodiment, the robot arm (40) can learn by receiving a motion sequence that matches the worker's movements through the robo-teaching device (10).

메모리(120)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브 및 서버와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량기록장치는 메모리(120)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 비전을 활용한 로봇팔 티칭 장치(10)에 포함될 수도 있다.The memory (120) is a computer-readable recording medium and may include a random access memory (RAM), a read only memory (ROM), and a permanent mass storage device such as a disk drive and a server. Here, the permanent mass storage device such as a ROM and a disk drive may be included in a robot arm teaching device (10) utilizing computer vision as a separate permanent storage device distinct from the memory (120).

또한, 메모리(120)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(120)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(120)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드, SSD, USB 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다.In addition, the memory (120) may store an operating system and at least one program code. These software components may be loaded into the memory (120) from a computer-readable recording medium separate from the memory (120). This separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD/CD-ROM drive, a memory card, an SSD, a USB, etc.

다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(110)를 통해 메모리(120)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 비전을 활용한 로봇팔 티칭 장치(10)의 메모리(120)에 로딩될 수 있다.In another embodiment, the software components may be loaded into the memory (120) via a communication interface (110) other than a computer-readable recording medium. For example, the software components may be loaded into the memory (120) of the robotic arm teaching device (10) utilizing computer vision based on a computer program installed by files received over a network.

입출력 인터페이스(130)는 입출력 장치와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입출력 장치의 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(130)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치는 컴퓨터 비전을 활용한 로봇팔 티칭 장치(10)와 하나의 장치로 구성될 수도 있다.The input/output interface (130) may be a means for interfacing with an input/output device. For example, the input device of the input/output device may include a device such as a microphone, a keyboard, or a mouse, and the output device may include a device such as a display or a speaker. As another example, the input/output interface (130) may be a means for interfacing with a device that integrates input and output functions into one, such as a touch screen. The input/output device may be configured as a single device with a robot arm teaching device (10) utilizing computer vision.

프로세서(140)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(120) 또는 통신 인터페이스(110)에 의해 프로세서(140)로 제공될 수 있다. 예를 들어 프로세서(140)는 메모리(120)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The processor (140) may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations. The instructions may be provided to the processor (140) by the memory (120) or the communication interface (110). For example, the processor (140) may be configured to execute instructions received according to program code stored in a storage device such as the memory (120).

도 1에 도시된 바와 같이 일 실시예에 따른 컴퓨터 비전을 활용한 로봇팔 티칭 장치(10)의 프로세서(140)는 보다 구체적으로 영상 수집부(1410), 패턴 분석부(1420), 좌표값 도출부(1430), 작업 학습부(1440), 패턴 비교부(1450), 좌표값 보정부(1460) 및 감지 정보 수신부(1470)를 포함한다.As illustrated in FIG. 1, the processor (140) of the robot arm teaching device (10) utilizing computer vision according to one embodiment includes, more specifically, an image collection unit (1410), a pattern analysis unit (1420), a coordinate value derivation unit (1430), a task learning unit (1440), a pattern comparison unit (1450), a coordinate value correction unit (1460), and a detection information receiving unit (1470).

영상 수집부(1410)는 작업자의 업무 수행 모습을 촬영한 작업자 영상을 수집한다.The video collection unit (1410) collects video of workers performing their work.

일 실시예에 있어서 영상 수집부(1410)는 적어도 하나 이상의 카메라(30)에서 촬영된 작업 공간 이미지를 수신할 수 있다. 작업자가 작업을 수행하는 동안의 영상은 고화질 영상일 수 있고, 다양한 각도에서 촬영된 영상일 수 있다.In one embodiment, the image collection unit (1410) can receive images of a work space captured by at least one camera (30). The images captured while the worker is performing the work can be high-definition images and can be images captured from various angles.

영상 수집부(1410)가 수집하는 영상은 하나의 영상에 동일한 작업을 수행하는 여러명의 작업자가 포함된 영상일 수도 있고, 동일한 작업을 수행하는 상이한 작업자를 각각 포함한 다수의 영상일 수도 있다.The images collected by the image collection unit (1410) may be images including multiple workers performing the same task in one image, or may be multiple images each including different workers performing the same task.

추가적으로 영상 수집부(1410)는 수집된 영상에 노이즈 제거, 프레임 변환, 해상도 조정등의 전처리를 수행할 수 있다. 이에 따라 분석의 정확도를 높이고 고품질의 데이터를 제공할 수 있다.Additionally, the image collection unit (1410) can perform preprocessing such as noise removal, frame conversion, and resolution adjustment on the collected image. Accordingly, the accuracy of the analysis can be increased and high-quality data can be provided.

패턴 분석부(1420)는 영상 수집부(1410)에서 수집된 영상에 컴퓨터 비전을 적용하여 작업자의 움직임 패턴을 분석한다. 패턴 분석부(1420)는 상이한 작업을 수행하는 다수의 작업자가 포함된 작업자 영상에서 적어도 하나 이상의 동일한 작업을 수행하는 작업자를 식별 가능하도록 구현된다. 이때 동일한 작업을 수행하는 작업자는 크게 움직임이 동일한 동작으로 인식되거나, 동일한 작업대 또는 일정 거리 이내의 특정 영역 내에서 작업하는 작업자를 인식하는 것으로 파악할 수 있다. 그러나 이에 한정되는 것은 아니다.The pattern analysis unit (1420) applies computer vision to the images collected by the image collection unit (1410) to analyze the movement patterns of the worker. The pattern analysis unit (1420) is implemented to be able to identify at least one worker performing the same task from worker images containing multiple workers performing different tasks. At this time, workers performing the same task can be recognized as having largely identical movements, or workers working at the same workstation or within a specific area within a certain distance can be recognized. However, the present invention is not limited thereto.

일 실시예에 있어서, 패턴 분석부(1420)는 작업자의 동작을 추출하기 위해 컴퓨터 비전 기술을 적용한다. 일 실시예에 있어서, 패턴 분석부(1420)는 OpenPose, MediaPipe, PoseNet과 같은 알고리즘을 사용하여 작업자의 관절 위치와 자세를 추출하거나, YOLO, SSD, Faster R-CNN과 같은 모델을 사용하여 작업자가 사용하는 도구나 물체를 인식할 수 있다.In one embodiment, the pattern analysis unit (1420) applies computer vision technology to extract the worker's motion. In one embodiment, the pattern analysis unit (1420) can extract the worker's joint positions and postures using algorithms such as OpenPose, MediaPipe, and PoseNet, or recognize tools or objects used by the worker using models such as YOLO, SSD, and Faster R-CNN.

일 실시예에 있어서, 패턴 부석부(1420)는 카메라 캘리브레이션, 투영 변환, 그리고 다양한 좌표 변환 알고리즘을 사용하여 작업자 촬영 영상에서 3D 객체의 2D 이미지에서의 위치와 모양을 추정할 수 있다.In one embodiment, the pattern detector (1420) can estimate the position and shape of a 3D object in a 2D image from the operator's captured images using camera calibration, projection transformation, and various coordinate transformation algorithms.

카메라 캘리브레이션은 3D 세계에서 2D 이미지 평면으로의 매핑을 위해 카메라 렌즈의 초점 거리, 이미지 센서의 중심 등 카메라 자체의 특성인 내부 파라미터 (Intrinsic Parameters)와 카메라와 세계 좌표계 간의 회전 및 평행 이동을 설명하는 파라미터인 외부 파라미터 (Extrinsic Parameters)를 추정하는 과정이다.Camera calibration is the process of estimating intrinsic parameters, which are the characteristics of the camera itself, such as the focal length of the camera lens and the center of the image sensor, for mapping the 3D world onto a 2D image plane, and extrinsic parameters, which are parameters that describe the rotation and translation between the camera and the world coordinate system.

투영 변환(Projection Transformation)은 카메라의 내부 및 외부 파라미터를 사용하여 3D 점을 2D 평면에 매핑하는 과정이다.Projection Transformation is the process of mapping a 3D point onto a 2D plane using the intrinsic and extrinsic parameters of the camera.

다양한 좌표 변환 알고리즘을 사용하여 좌표 변환 및 투영을 거쳐 3D 좌표를 2D 이미지 좌표로 변환하여 작업자의 동작이나 객체를 2D 평면에서 분석할수 있고 작업자의 동작을 정확히 인식하고 분석할 수 있다.By using various coordinate transformation algorithms, 3D coordinates can be transformed into 2D image coordinates through coordinate transformation and projection, so that the worker's movements or objects can be analyzed on a 2D plane, and the worker's movements can be accurately recognized and analyzed.

또한 패턴 분석부(1420)는 컴퓨터 비전과 머신 러닝 기법을 활용하여 작업자의 동작을 인식하고, 이를 기반으로 행동 패턴을 분석할 수 있다.In addition, the pattern analysis unit (1420) can recognize the worker's movements by utilizing computer vision and machine learning techniques and analyze the behavioral patterns based on this.

패턴 분석부(1420)는 작업자의 신체 각 부위의 위치와 자세를 추정하고 이를 통해 각 관절의 위치와 움직임을 추적한다. 예를들어 OpenPose 알고리즘을 통해 작업자의 신체 부위를 식별하고, 포즈를 추정하거나, MediaPipe Pose 알고리즘을 통해 실시간 포즈를 추정할 수 있다.The pattern analysis unit (1420) estimates the position and posture of each body part of the worker and tracks the position and movement of each joint through this. For example, the body part of the worker can be identified and the pose can be estimated through the OpenPose algorithm, or the pose can be estimated in real time through the MediaPipe Pose algorithm.

그리고 추정된 포즈 데이터를 사용하여 작업자 동작의 흐름 속도, 힘 등을 파악하여 동작 패턴을 분석한다. 또한 LSTM, 3D CNN등 동작 인식 알고리즘을 사용하여 시퀀스 데이터를 분석하고, 동작 패턴을 분석하여 특정 작업 단계와 동작을 식별할 수 있다.And using the estimated pose data, the movement pattern is analyzed by identifying the flow speed, force, etc. of the worker's movements. In addition, the sequence data can be analyzed using motion recognition algorithms such as LSTM and 3D CNN, and the movement pattern can be analyzed to identify specific work steps and movements.

일 양상에 있어서 패턴 분석부(1420)는 영상 수집부(1410)에서 수집된 영상에 포함되는 작업자의 움직임 중에 작업을 위해 필요한 움직임을 검출하기 위한 관심 영역을 설정하고, 관심 영역 내에 존재하는 작업자 신체의 주요 관절 움직임을 추적하거나, 주요 관절 포인트를 추출하여 패턴을 분석한다. 또한 동작의 일관성, 흐름, 속도등을 파악하여 특정 작업 단계를 식별할 수도 있다.In one aspect, the pattern analysis unit (1420) sets a region of interest to detect movements required for work among the movements of the worker included in the images collected by the image collection unit (1410), and analyzes the pattern by tracking the major joint movements of the worker's body existing within the region of interest or extracting major joint points. In addition, it is also possible to identify a specific work step by identifying the consistency, flow, and speed of the movement.

일 실시예에 있어서 패턴 분석부(1420)는 수집된 작업자 영상에서 작업이 수행되는 관심 영역(Region of Interest, ROI)을 선택할 수 있다. 예를 들어 작업자의 손이나 작업 중인 물체를 추적할 수 있다. 이에 따라 불필요한 데이터를 제외하고 중요한 동작만 분석할 수 있어 작업 효율을 향상시킬 수 있다.In one embodiment, the pattern analysis unit (1420) can select a region of interest (ROI) where work is performed from the collected worker image. For example, the worker's hand or the object being worked on can be tracked. Accordingly, unnecessary data can be excluded and only important movements can be analyzed, thereby improving work efficiency.

관심 영역은 마우스 드래그 방식으로 직접 선택 받거나, 이미지 픽셀값 기준으로 임계값 처리(Thresholding) 방식, YOLO(You Only Look Once), Faster R-CNN, SSD(Single Shot MultiBox Detector) 등 객체 검출 알고리즘을 사용하여 딥러닝 기반 객체 검출 모델을 사용한 객체 검출 방식, Semantic Segmentation 또는 Instance Segmentation을 사용하여 이미지의 각 픽셀을 특정 클래스나 객체로 분류하여 U-Net, Mask R-CNN을 이용한 방식 중 하나로 설정될 수 있다.The region of interest can be selected directly by dragging the mouse, thresholding based on image pixel values, object detection using a deep learning-based object detection model using object detection algorithms such as YOLO (You Only Look Once), Faster R-CNN, and SSD (Single Shot MultiBox Detector), or using U-Net, Mask R-CNN to classify each pixel in the image into a specific class or object using Semantic Segmentation or Instance Segmentation.

또한 OpenCV, MATLAB, Python 및 TensorFlow/PyTorch 등 머신러닝 프레임 워크를 사용하여 관심 영역을 자동으로 설정하도록 구현될 수도 있다. 예를들어 YOLO 모델을 활용하여 이미지에서 관심 객체를 자동으로 검출하고 경계 박스를 설정하도록 구현될 수도 있다. 그러나 이에 한정되는 것은 아니고 다양한 방식으로 수행될 수도 있다.It can also be implemented to automatically set the region of interest using machine learning frameworks such as OpenCV, MATLAB, Python, and TensorFlow/PyTorch. For example, it can be implemented to automatically detect objects of interest in images and set bounding boxes using the YOLO model. However, it is not limited to this and can be performed in various ways.

또 다른 양상에 있어서, 패턴 분석부(1420)는 수집된 영상에 컴퓨터 비전을 적용하여 동일한 작업에 대해 적어도 하나 이상 작업자의 움직임 패턴들을 분석하고, 그 평균값을 도출하여 평균 움직임 패턴을 분석한다.In another aspect, the pattern analysis unit (1420) applies computer vision to the collected images to analyze at least one movement pattern of a worker for the same task, derives an average value, and analyzes the average movement pattern.

이때 패턴 분석부(1420)는 하나의 촬영 영상에 포함된 다수 작업자들의 움직임 패턴을 추출하여 분석하는 것일 수도 있고, 상이한 작업자를 촬영한 다수의 촬영 영상을 취합하여 분석하는 것일 수도 있다.At this time, the pattern analysis unit (1420) may extract and analyze movement patterns of multiple workers included in a single video, or may collate and analyze multiple video footages of different workers.

즉, 일 실시예에 있어서 패턴 분석부(1420)는 기본적으로 평균값으로 패턴 분석을 수행하지만 이에 추가적으로 작업자별 작업 결과물을 모니터링하여 작업 수량 또는 정확도 중 정해진 기준에 맞는 최적의 작업자를 선별하여 해당 선별된 작업자의 작업 영상에 가중치를 적용하도록 구현될 수 있다.That is, in one embodiment, the pattern analysis unit (1420) basically performs pattern analysis using an average value, but can additionally be implemented to monitor the work results of each worker, select an optimal worker who meets a set standard among work quantity or accuracy, and apply weights to the work images of the selected worker.

작업자별 작업 결과물을 모니터링하거나, 작업 관리자에 의해 부여된 작업 성과 점수를 참조하여 성과 점수가 높은 작업자의 작업 영상에 가중치를 적용하여 성과 점수가 높은 작업자의 움직임에 유사도높은 움직임을 갖도록 로봇팔을 제어할 수 있다.By monitoring the work output of each worker or referring to the work performance score given by the work manager, the work images of workers with high performance scores can be weighted to control the robot arm to have movements similar to those of workers with high performance scores.

좌표값 도출부(1430)는 패턴 분석부(1420)에서의 작업자의 움직임 패턴에 맞게 로봇팔의 움직임을 매칭시키기 위한 로봇팔 움직임 좌표값을 도출한다. 좌표값 도출부(1430)는 작업자의 동작 패턴을 로봇팔의 움직임에 매핑하여 각 관절의 움직임과 작업자의 동작을 일치시킬 수 있다.The coordinate value derivation unit (1430) derives the robot arm movement coordinate values to match the movement of the robot arm to the movement pattern of the worker in the pattern analysis unit (1420). The coordinate value derivation unit (1430) can map the movement pattern of the worker to the movement of the robot arm to match the movement of each joint with the movement of the worker.

일 실시예에 있어서, 좌표값 도출부(1430)는 로봇팔의 움직임 좌표값을 2차원으로 변경하여 최적 매칭 지점을 추출할 수 있다.In one embodiment, the coordinate value derivation unit (1430) can extract the optimal matching point by changing the movement coordinate value of the robot arm into two dimensions.

좌표값 도출부(1430)는 작업자의 동작을 로봇팔의 작업 공간에 맞게 좌표 변환한다. 일 실시예에 있어서, 좌표값 도출부(1430)는 로봇팔의 엔드 이펙터가 목표 위치에 도달하도록 각 관절의 각도를 계산할 수도 있다.The coordinate value derivation unit (1430) transforms the worker's movements into coordinates to fit the working space of the robot arm. In one embodiment, the coordinate value derivation unit (1430) may also calculate the angle of each joint so that the end effector of the robot arm reaches the target position.

그리고 좌표값 도출부(1430)는 로봇팔의 경로를 설정하여 작업자의 동작을 재현하도록 구현될 수 있다.And the coordinate value derivation unit (1430) can be implemented to reproduce the worker's movements by setting the path of the robot arm.

작업 학습부(1440)는 좌표값 도출부(1430)에서 도출된 움직임 좌표값에 기반하여 로봇팔에게 작업을 학습시킨다.The task learning unit (1440) teaches the robot arm a task based on the movement coordinate values derived from the coordinate value derivation unit (1430).

작업 학습부(1440)는 작업자의 동작 패턴에 매핑된 동작을 로봇팔에 입력하여 실제 작업을 수행하도록하는 제어 신호를 학습시키다. 일 실시예에 있어서 PID 제어, 모델 예측 제어 알고리즘 등을 사용하여 로봇팔을 정확히 제어할 수 있고, 로봇팔이 설정된 경로를 따라 움직이도록 학습시킬 수도 있다.The task learning unit (1440) inputs movements mapped to the worker's movement patterns into the robot arm to learn control signals to perform actual tasks. In one embodiment, the robot arm can be accurately controlled using PID control, model predictive control algorithms, etc., and the robot arm can also be taught to move along a set path.

작업 학습부(1440)는 로봇팔이 작업자의 동작을 모방하여 재현할 수 있도록 로봇팔의 관절 움직임 및 경로 정보를 학습시킨다.The task learning unit (1440) learns joint movement and path information of the robot arm so that the robot arm can imitate and reproduce the worker's movements.

본 발명의 추가적인 양상에 있어서, 영상 수집부(1410)는 로봇팔의 업무 수행 모습을 촬영한 로봇팔 영상을 더 수집할 수 있다. 추가적으로 힘센서, 위치 센서등을 사용하여 로봇팔의 동작을 모니터링할 수도 있다.In an additional aspect of the present invention, the image collection unit (1410) can further collect images of the robot arm performing its work. Additionally, a force sensor, a position sensor, etc. can be used to monitor the operation of the robot arm.

그리고 패턴 분석부(1420)는 영상 수집부(1410)로 수집된 로봇팔 영상에 컴퓨터 비전을 적용하여 로봇팔의 움직임 패턴을 더 분석한다.And the pattern analysis unit (1420) applies computer vision to the robot arm images collected by the image collection unit (1410) to further analyze the movement patterns of the robot arm.

패턴 비교부(1450)는 패턴 분석부(1420)에서의 작업자의 움직임 패턴과 로봇팔 움직임 패턴을 비교한다. 패턴 비교를 통해 로봇팔의 동작을 모니터링하고 작업자의 동작과 일치하는지를 확인할 수 있다.The pattern comparison unit (1450) compares the worker's movement pattern with the robot arm movement pattern in the pattern analysis unit (1420). Through pattern comparison, the robot arm's movement can be monitored and checked to see if it matches the worker's movement.

일 실시예에 있어서 패턴 비교부(1450)는 동적 시간 왜곡(Dynamic Time Warping, DTW) 알고리즘을 포함하는 유사성 측정 알고리즘에 의해 작업자의 움직임 패턴과 로봇팔의 움직임 패턴을 비교한다.In one embodiment, the pattern comparison unit (1450) compares the movement pattern of the worker and the movement pattern of the robot arm by a similarity measurement algorithm including a dynamic time warping (DTW) algorithm.

유사성 측정 알고리즘(Similarity Measurement Algorithms)은 두 개체 또는 데이터 간의 유사성을 정량적으로 평가한다. 일 실시예에 있어서 패턴 비교부(1450)는 두 시계열 데이터 간의 유사성을 측정하는 동적 시간 왜곡(Dynamic Time Warping, DTW) 알고리즘에 의해 작업자의 움직임 패턴과 로봇팔의 움직임 패턴을 비교한다.Similarity Measurement Algorithms quantitatively evaluate the similarity between two objects or data. In one embodiment, the pattern comparison unit (1450) compares the movement pattern of the worker and the movement pattern of the robot arm by a dynamic time warping (DTW) algorithm that measures the similarity between two time series data.

동적 시간 왜곡(Dynamic Time Warping, DTW) 알고리즘은 두시계열이 비선형적으로 변형된 경우에도 유사성을 측정할 수 있고, 거리 행렬을 사용하여 두 시계열간 유사성을 계산하여 각 시점에서의 거리 정보를 누적하여 최적의 정렬 경로를 찾을 수도 있다. 즉 두 시계열간 유사성을 정량적으로 평가하여 작업자의 움직임 패턴과 로봇팔의 움직임 패턴을 비교할 수 있다.The Dynamic Time Warping (DTW) algorithm can measure similarity even when two time series are nonlinearly deformed, and can calculate the similarity between the two time series using a distance matrix, and can also find the optimal alignment path by accumulating distance information at each point in time. In other words, the similarity between the two time series can be quantitatively evaluated to compare the movement pattern of the worker and the movement pattern of the robot arm.

그러나 이에 한정되는 것은 아니고, 두 점 간의 직선 거리를 계산하는 유클리드 거리 (Euclidean Distance) 방식, 두 점 간의 거리의 절대값 합을 계산하는 맨하탄 거리 (Manhattan Distance) 방식, 두 벡터 간의 각도를 측정하여 유사성을 평가하는 코사인 유사도 (Cosine Similarity) 방식등 유사도 측정 알고리즘을 모두 수행 가능하도록 해석될 수 있다.However, it is not limited to this, and can be interpreted to be able to perform all similarity measurement algorithms, such as the Euclidean Distance method that calculates the straight-line distance between two points, the Manhattan Distance method that calculates the sum of the absolute values of the distances between two points, and the Cosine Similarity method that evaluates similarity by measuring the angle between two vectors.

즉, 패턴 비교부(1450)는 데이터의 정규화, 시계열 유사성 측정, 모델 기반 접근, 시각화 등을 포함하여 정확하고 의미 있는 비교를 수행할 수 있으며, 이 과정에서 DTW, 유클리드 거리, 상관 계수, 머신러닝 모델 등을 활용하여 시계열 간의 유사성을 정밀하게 평가하고, 로봇팔의 동작을 최적화할 수 있다.That is, the pattern comparison unit (1450) can perform accurate and meaningful comparisons including data normalization, time series similarity measurement, model-based approach, visualization, etc., and in this process, DTW, Euclidean distance, correlation coefficient, machine learning model, etc. can be utilized to precisely evaluate the similarity between time series and optimize the operation of the robot arm.

좌표값 보정부(1460)는 패턴 비교부(1450)에서의 비교 결과를 반영하여 좌표값 도출부(1430)에서 도출된 로봇팔 움직임 좌표값을 보정한다.The coordinate value correction unit (1460) corrects the robot arm movement coordinate values derived from the coordinate value derivation unit (1430) by reflecting the comparison result from the pattern comparison unit (1450).

즉 로봇팔 티칭 장치(10)에 의해 학습된 이후에, 로봇팔의 움직임을 촬영하여 실제 작업자와 움직임과 비교를 통해 보정함으로써 정확도를 향상시키고 신뢰도를 높일 수 있다.That is, after learning by the robot arm teaching device (10), the movement of the robot arm can be filmed and compared with the movement of an actual worker to improve accuracy and increase reliability.

본 발명의 또 다른 양상에 있어서, 감지 정보 수신부(1470)는 적어도 하나의 센서로부터 작업자 신체와 작업물 간의 거리 정보를 수신한다.In another aspect of the present invention, the detection information receiving unit (1470) receives distance information between the worker's body and the workpiece from at least one sensor.

또한 감지 정보 수신부(1470)는 적어도 하나의 센서로부터 작업자가 작업물에 접촉시 압력 감지 정보를 수신한다.Additionally, the detection information receiving unit (1470) receives pressure detection information from at least one sensor when the worker comes into contact with the workpiece.

감지 정보 수신부(1470)는 로봇팔을 학습시키기 위해 작업자의 힘을 포함한 활용가능한 다양한 감지 정보를 수신할 수 있다. 이는 작업자의 동작을 더 정확하게 추적하여 로봇팔 동작을 최적화하는 데 도움을 줄 수 있다.The sensing information receiving unit (1470) can receive various usable sensing information including the worker's force to teach the robot arm. This can help to optimize the robot arm movement by tracking the worker's movement more accurately.

감지 정보 수신부(1470)는 가속도계와 자이로스코프를 이용하여 물체의 가속도와 회전 각도를 측정하는 IMU(관성 측정 장치), 물체와의 접촉 시 압력을 측정하는 압력 센서, 물체에 닿을때 접촉을 감지하는 터치 센서, 물체와의 거리를 측정하는 초음파 센서 중 적어도 하나로부터 감지 정보를 수신할 수 있다. 그러나 이에 한정되는 것은 아니다.The detection information receiving unit (1470) may receive detection information from at least one of an IMU (inertial measurement unit) that measures the acceleration and rotation angle of an object using an accelerometer and a gyroscope, a pressure sensor that measures pressure when in contact with an object, a touch sensor that detects contact when in contact with an object, and an ultrasonic sensor that measures the distance to an object. However, the present invention is not limited thereto.

작업 학습부(1440)는 감지 정보 수신부(1470)에서 수신한 작업물 간 거리 정보 및 압력 감지 정보를 더 반영하여 로봇팔에게 작업을 학습시킬 수 있다. 즉, 단순히 비전 정보 뿐 아니라 실제 작업자가 작업 과정에서 수행하는 동작들에 가해지는 힘이나 압력을 더 반영할 수 있고, 카메라로 촬영 및 측정이 어려운 작업자의 움직임을 보다 세밀하게 반영함으로써 로봇팔 티칭의 정확도를 향상시킬 수 있는 효과가 있다.The task learning unit (1440) can teach the robot arm the task by further reflecting the distance information between workpieces and the pressure detection information received from the detection information receiving unit (1470). In other words, it can reflect not only the vision information but also the force or pressure applied to the movements performed by the actual worker during the work process, and it can improve the accuracy of the robot arm teaching by reflecting the movements of the worker that are difficult to capture and measure with a camera in more detail.

도 2 는 본 발명의 일 실시예에 따른 컴퓨터 비전을 활용한 로봇팔 티칭 방법의 흐름도이다.FIG. 2 is a flowchart of a robot arm teaching method using computer vision according to one embodiment of the present invention.

일 실시예에 따른 컴퓨터 비전을 활용한 로봇팔 티칭 방법은 작업자의 업무 수행 모습을 촬영한 작업자 영상을 수집한다(S200).A method for teaching a robot arm using computer vision according to one embodiment collects a video of a worker performing a task (S200).

일 실시예에 있어서 영상을 수집하는 단계는 적어도 하나 이상의 카메라에서 촬영된 작업 공간 이미지를 수신할 수 있다. 작업자가 작업을 수행하는 동안의 영상은 고화질 영상일 수 있고, 다양한 각도에서 촬영된 영상일 수 있다.In one embodiment, the step of collecting images may include receiving images of a workspace captured by at least one camera. The images of the worker performing the task may be high-definition images and may be captured from various angles.

영상을 수집하는 단계에서 수집하는 영상은 하나의 영상에 여러명의 작업자가 포함된 영상일 수도 있고, 동일한 작업을 수행하는 상이한 작업자를 포함한 다수의 영상일 수도 있다.In the video collection stage, the video being collected may be a single video containing multiple workers, or may be multiple videos containing different workers performing the same task.

그리고 수집된 영상에 컴퓨터 비전을 적용하여 작업자의 움직임 패턴을 분석한다(S210).And computer vision is applied to the collected images to analyze the worker's movement pattern (S210).

일 실시예에 있어서 패턴을 분석하는 단계는 OpenPose, MediaPipe, PoseNet과 같은 알고리즘을 사용하여 작업자의 관절 위치와 자세를 추출하거나, YOLO, SSD, Faster R-CNN과 같은 모델을 사용하여 작업자가 사용하는 도구나 물체를 인식할 수 있다.In one embodiment, the pattern analyzing step may extract the joint positions and poses of the worker using algorithms such as OpenPose, MediaPipe, and PoseNet, or recognize tools or objects used by the worker using models such as YOLO, SSD, and Faster R-CNN.

또한 패턴을 분석하는 단계는 컴퓨터 비전과 머신 러닝 기법을 활용하여 작업자의 동작을 인식하고, 이를 기반으로 행동 패턴을 분석할 수 있다.Additionally, the pattern analysis step can recognize the worker's movements by utilizing computer vision and machine learning techniques, and analyze behavioral patterns based on this.

일 양상에 있어서, 패턴을 분석하는 단계는 수집된 영상에 포함되는 작업자의 움직임 중에 작업을 위해 필요한 움직임을 검출하기 위한 관심 영역을 설정하고, 관심 영역 내에 존재하는 작업자 신체의 주요 관절 움직임을 추적하거나, 주요 관절 포인트를 추출하여 패턴을 분석한다.In one aspect, the step of analyzing the pattern sets a region of interest to detect movements required for work among the movements of the worker included in the collected image, and analyzes the pattern by tracking major joint movements of the worker's body existing within the region of interest or extracting major joint points.

또한 패턴을 분석하는 단계는 수집된 영상에 컴퓨터 비전을 적용하여 동일한 작업에 대해 적어도 하나 이상 작업자의 움직임 패턴들을 분석하고, 그 평균값을 도출하여 평균 움직임 패턴을 분석한다.Additionally, the pattern analysis step applies computer vision to the collected images to analyze the movement patterns of at least one worker for the same task, derives an average value, and analyzes the average movement pattern.

이후에 분석하는 단계에서의 작업자의 움직임 패턴에 맞게 로봇팔의 움직임을 매칭시키기 위한 로봇팔 움직임 좌표값을 도출한다(S220).In the subsequent analysis step, the coordinate values of the robot arm movement are derived to match the movement pattern of the worker to the movement of the robot arm (S220).

좌표값 도출 단계는 작업자의 동작 패턴을 로봇팔의 움직임에 매핑하여 각 관절의 움직임과 작업자의 동작을 일치시킬 수 있다.The coordinate value derivation step maps the worker's movement pattern to the movement of the robot arm, so that the movement of each joint can match the worker's movement.

또한 좌표값 도출 단계는 작업자의 동작을 로봇팔의 작업 공간에 맞게 좌표 변환한다. 일 실시예에 있어서, 좌표값 도출부(1430)는 로봇팔의 엔드 이펙터가 목표 위치에 도달하도록 각 관절의 각도를 계산할 수도 있다. 그리고 로봇팔의 경로를 설정하여 작업자의 동작을 재현하도록 할 수 있다.In addition, the coordinate value derivation step transforms the worker's movements into coordinates to fit the workspace of the robot arm. In one embodiment, the coordinate value derivation unit (1430) may calculate the angle of each joint so that the end effector of the robot arm reaches the target position. In addition, the path of the robot arm may be set to reproduce the worker's movements.

본 발명의 추가적인 양상에 있어서, 적어도 하나의 센서로부터 작업자 신체와 작업물 간의 거리 정보를 수신한다(S230).In an additional aspect of the present invention, distance information between a worker's body and a workpiece is received from at least one sensor (S230).

그리고 적어도 하나의 센서로부터 작업자가 작업물에 접촉시 압력 감지 정보를 수신한다(S240).And, pressure detection information is received from at least one sensor when the worker comes into contact with the workpiece (S240).

그리고 도출하는 단계에서 도출된 움직임 좌표값에 기반하여 로봇팔에게 작업을 학습시킨다(S250).And, in the derivation step, the robot arm is taught a task based on the derived movement coordinate values (S250).

이때 수신한 작업물간 거리 정보 및 압력 감지 정보를 더 반영하여 로봇팔에게 작업을 학습시킨다.At this time, the distance information between workpieces and pressure detection information received are further reflected to teach the robot arm the task.

이에 따라 작업물 간 거리 정보 및 압력 감지 정보를 더 반영하여 로봇팔에게 작업을 학습시킬 수 있다. 즉, 단순히 비전 정보 뿐 아니라 실제 작업자가 작업 과정에서 수행하는 동작들에 가해지는 힘이나 압력을 더 반영할 수 있고, 카메라로 촬영 및 측정이 어려운 작업자의 움직임을 보다 세밀하게 반영함으로써 로봇팔 티칭의 정확도를 향상시킬 수 있는 효과가 있다.Accordingly, it is possible to teach the robot arm the task by reflecting more information about the distance between the workpieces and pressure detection information. In other words, it is possible to reflect more force or pressure applied to the movements that the actual worker performs during the work process, not just vision information, and it is possible to improve the accuracy of robot arm teaching by reflecting the movements of the worker that are difficult to capture and measure with a camera in more detail.

이후에 로봇의 업무 수행 모습을 촬영한 로봇팔 영상을 수집한다(S260).Afterwards, a video of the robot arm performing its work is collected (S260).

그리고 수집하는 단계에서 수집된 포봇팔 영상에 컴퓨터 비전을 적용하여 로봇팔의 움직임 패턴을 분석한다(S270).And in the collecting step, computer vision is applied to the collected robot arm images to analyze the movement pattern of the robot arm (S270).

그리고 작업자의 움직임 패턴과 로봇팔 움직임 패턴을 비교하고(S280), 비교 결과를 반영하여 좌표값을 도출하는 단계에서 도출된 로봇팔 움직임 좌표값을 보정한다(S290).And in the step of comparing the worker's movement pattern with the robot arm movement pattern (S280), and deriving coordinate values by reflecting the comparison result, the derived robot arm movement coordinate values are corrected (S290).

일 실시예에 따른 컴퓨터 비전을 활용한 로봇팔 티칭 방법은 데이터의 정규화, 시계열 유사성 측정, 모델 기반 접근, 시각화 등을 포함하여 정확하고 의미 있는 비교를 수행할 수 있으며, 이 과정에서 DTW, 유클리드 거리, 상관 계수, 머신러닝 모델 등을 활용하여 시계열 간의 유사성을 정밀하게 평가하고, 로봇팔의 동작을 최적화할 수 있다.A method for teaching a robot arm using computer vision according to one embodiment can perform accurate and meaningful comparisons including data normalization, time series similarity measurement, model-based approach, visualization, etc. In this process, DTW, Euclidean distance, correlation coefficient, machine learning model, etc. can be used to precisely evaluate the similarity between time series and optimize the operation of the robot arm.

그리고 비교 결과를 반영하여 로봇팔 움직임 좌표값을 보정함으로써 학습된 이후에, 로봇팔의 움직임을 촬영하여 실제 작업자와 움직임과 비교를 통해 보정할 수 있다. 이에 따라 로봇팔의 작업 정확도를 향상시키고 신뢰도를 높일 수 있다.And after learning by reflecting the comparison results and correcting the coordinate values of the robot arm movement, the movement of the robot arm can be photographed and corrected by comparing it with the movement of the actual worker. Accordingly, the work accuracy of the robot arm can be improved and reliability can be increased.

전술한 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.The above-described method may be implemented as an application or may be implemented in the form of program commands that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program commands, data files, data structures, etc., singly or in combination.

상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.The program commands recorded on the above computer-readable recording medium are those specifically designed and configured for the present invention, and may also be known and available to those skilled in the art of computer software.

컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, and flash memory.

프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc. The hardware device may be configured to operate as one or more software modules to perform processing according to the present invention, and vice versa.

이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the present invention has been described above with reference to embodiments, it will be understood by those skilled in the art that various modifications and changes can be made to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below.

10 : 로봇팔 티칭 장치20 : 네트워크
30 : 카메라40 : 로봇팔
110 : 통신 인터페이스120 : 메모리
130 : 입출력 인터페이스140 : 프로세서
1410 : 영상 수집부1420 : 패턴 분석부
1430 : 좌표값 도출부1440 : 작업 학습부
1450 : 패턴 비교부1460 : 좌표값 보정부
1470 : 감지 정보 수신부
10: Robot arm teaching device 20: Network
30 : Camera 40 : Robot Arm
110: Communication interface 120: Memory
130: Input/output interface 140: Processor
1410: Image collection section 1420: Pattern analysis section
1430: Coordinate value derivation section 1440: Task learning section
1450: Pattern comparison section 1460: Coordinate value correction section
1470: Detection information receiving unit

Claims (6)

Translated fromKorean
하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치인 컴퓨터 비전을 활용한 로봇팔 티칭 장치에서 수행되는 방법으로서,
영상 수집부가, 작업자의 업무 수행 모습을 촬영한 작업자 영상을 수집하는 단계;
패턴 분석부가, 수집된 영상에 컴퓨터 비전을 적용하여 작업자의 움직임 패턴을 분석하는 단계;
좌표값 도출부가, 상기 분석하는 단계에서의 작업자의 움직임 패턴에 맞게 로봇팔의 움직임을 매칭시키기 위한 로봇팔 움직임 좌표값을 도출하는 단계; 및
작업 학습부가, 상기 도출하는 단계에서 도출된 움직임 좌표값에 기반하여 로봇팔에게 작업을 학습시키는 단계를 포함하고,
상기 패턴 분석부는,
분석의 수행시, 상이한 작업을 수행하는 다수의 작업자가 포함된 작업자 영상에서 적어도 하나 이상의 동일한 작업을 수행하는 작업자를 식별 가능하도록 구현되되, 움직임이 동일한 동작으로 인식되는 작업자, 동일한 작업대에서 작업하는 작업자, 또는 일정 거리 이내의 특정 영역 내에서 작업하는 작업자를 상기 동일한 작업을 수행하는 작업자로서 인식하여 식별하고,
작업자의 동작을 추출하기 위해 컴퓨터 비전을 적용하되, OpenPose, MediaPipe, 및 PoseNet에 해당하는 알고리즘을 사용하여 작업자의 관절 위치와 자세를 추출하고, YOLO, SSD, 및 Faster R-CNN에 해당하는 모델을 사용하여 작업자가 사용하는 도구나 물체에 대한 인식을 수행하고,
3D 세계에서 2D 이미지 평면으로의 매핑을 위해 카메라 렌즈의 초점 거리, 및 이미지 센서의 중심을 포함한 카메라 자체의 특성인 내부 파라미터(Intrinsic Parameters)와 카메라와 세계 좌표계 간의 회전 및 평행 이동을 설명하는 파라미터인 외부 파라미터(Extrinsic Parameters)를 추정하는 카메라 캘리브레이션, 카메라의 내부 및 외부 파라미터를 사용하여 3D 점을 2D 평면에 매핑하는 투영 변환, 및 3D 좌표를 2D 이미지 좌표로 변환하는 복수의 좌표 변환 알고리즘을 사용함으로써, 작업자 촬영 영상에서 3D 객체의 2D 이미지에서의 위치와 모양을 추정하고, 작업자의 동작이나 객체를 인식하여 2D 평면에서 분석 가능하게 하고,
추가적으로, 컴퓨터 비전과 머신 러닝 기법을 함께 활용하여 작업자의 동작을 인식하고, 인식된 작업자의 동작을 기반으로 행동 패턴을 분석하고,
작업자의 신체 각 부위의 위치와 자세를 추정하고, 추정된 정보를 통해 각 관절의 위치와 움직임을 추적하되, OpenPose 알고리즘을 통해 작업자의 신체 부위에 대한 식별과 포즈에 대한 추정을 수행하고, MediaPipe Pose 알고리즘을 통해 실시간으로 포즈에 대한 추정을 수행하며,
이후, 추정된 포즈 데이터를 사용하여 작업자의 동작의 흐름 속도, 및 힘을 파악하여 동작 패턴에 대한 분석을 수행하고, LSTM 및 3D CNN을 포함한 동작 인식 알고리즘을 사용하여 시퀀스 데이터를 분석하고, 동작 패턴을 분석하여 특정 작업 단계와 동작에 대한 식별을 수행하며,
영상 수집부에서 수집된 작업자 영상에서 작업이 수행되는 관심 영역(Region of Interest)을 선택함으로써, 작업자 영상에 포함되는 작업자의 움직임 중에 작업을 위해 필요한 움직임을 검출하기 위한 관심 영역의 설정이 이루어지도록 하고, 관심 영역 내에 존재하는 작업자 신체의 주요 관절 움직임을 추적하거나, 주요 관절 포인트를 추출하여 패턴을 분석하고, 추가로 동작의 일관성, 흐름 및 속도를 파악하여 특정 작업 단계에 대한 식별을 수행하고,
상기 관심 영역의 경우, 마우스 드래그 방식으로 직접 선택받는 제1 방식, 이미지 픽셀값 기준으로 한 임계값 처리(Thresholding) 방식에 해당하는 제2 방식, YOLO(You Only Look Once), Faster R-CNN, 및 SSD(Single Shot MultiBox Detector)를 포함한 딥러닝 기반 객체 검출 모델을 사용하는 제3 방식, 및 Semantic Segmentation 또는 Instance Segmentation을 사용하여 이미지의 각 픽셀을 특정 클래스나 객체로 분류하는 U-Net와 Mask R-CNN을 이용하는 제4 방식 중 하나로 상기 관심 영역에 대한 설정이 이루어지도록 하거나, 또는 OpenCV, MATLAB, Python 및 TensorFlow/PyTorch를 포함한 머신러닝 프레임 워크를 사용하여 관심 영역이 자동으로 설정되도록 하고,
수집된 영상에 컴퓨터 비전을 적용하여 동일한 작업에 대해 적어도 하나 이상 작업자의 움직임 패턴들을 분석하고, 그 평균값을 도출하여 평균 움직임 패턴을 분석하되, 분석시, 하나의 촬영 영상에 포함된 다수 작업자들의 움직임 패턴을 추출하여 분석하거나, 상이한 작업자를 촬영한 다수의 촬영 영상을 취합하여 분석을 수행하고,
상기 평균값으로 평균 움직임 패턴을 분석한 후, 추가적으로 작업자별 작업 결과물을 모니터링함으로써 작업 수량 또는 작업 정확도 중 정해진 기준에 맞는 최적의 작업자를 선별하고 선별된 작업자의 작업 영상에 가중치가 적용되도록 하고,
작업 관리자에 의해 부여된 작업 성과 점수를 참조하여 일정값 이상으로 성과 점수가 높은 작업자의 작업 영상에 가중치가 적용되도록 함으로써, 상기 성과 점수가 높은 작업자의 움직임에 대응되는 움직임을 갖도록 하는 로봇팔의 제어가 이루어지도록 하고,
상기 좌표값 도출부는,
작업자의 동작 패턴을 로봇팔의 움직임에 매핑하여 각 관절의 움직임과 작업자의 동작을 일치시키고,
로봇팔의 움직임 좌표값을 2차원으로 변경하여 최적 매칭 지점을 추출하고,
작업자의 동작을 로봇팔의 작업 공간에 맞게 좌표 변환하고,
로봇팔의 엔드 이펙터가 목표 위치에 도달하도록 각 관절의 각도에 대한 계산을 수행하고,
로봇팔의 경로를 설정함으로써 작업자의 동작의 재현이 구현되도록 하고,
상기 작업 학습부는,
작업자의 동작 패턴에 매핑된 동작을 로봇팔에 입력하여 실제 작업을 수행하도록하는 제어 신호를 학습시키고,
PID 제어, 및 모델 예측 제어 알고리즘을 사용하여 로봇팔에 대한 제어가 이루어지도록 하고,
로봇팔이 설정된 경로를 따라 움직이도록 학습시키며,
로봇팔이 작업자의 동작을 모방하여 재현할 수 있도록 로봇팔의 관절 움직임 및 경로 정보를 학습시키는 것인, 컴퓨터 비전을 활용한 로봇팔 티칭 방법.
one or more processors, and
A method performed in a robotic arm teaching device utilizing computer vision, which is a computing device having a memory storing one or more programs executed by one or more processors,
The video collection unit collects video of workers performing their work;
The pattern analysis unit applies computer vision to the collected images to analyze the worker's movement patterns;
A step for deriving coordinate values of a robot arm movement to match the movement pattern of the worker in the analyzing step; and
The task learning unit includes a step of teaching a robot arm a task based on the movement coordinate values derived in the deriving step,
The above pattern analysis unit,
When performing the analysis, it is implemented so that at least one worker performing the same task can be identified from a worker image containing multiple workers performing different tasks, and workers whose movements are recognized as the same motion, workers working at the same workstation, or workers working within a specific area within a certain distance are recognized as workers performing the same task and identified.
Apply computer vision to extract the worker's motion, using algorithms corresponding to OpenPose, MediaPipe, and PoseNet to extract the worker's joint positions and poses, and models corresponding to YOLO, SSD, and Faster R-CNN to perform recognition of tools or objects used by the worker.
By using camera calibration that estimates intrinsic parameters, which are the characteristics of the camera itself including the focal length of the camera lens and the center of the image sensor, and extrinsic parameters, which are parameters that describe the rotation and translation between the camera and the world coordinate system, projection transformation that maps a 3D point to a 2D plane using the intrinsic and extrinsic parameters of the camera, and multiple coordinate transformation algorithms that transform 3D coordinates into 2D image coordinates, the position and shape of a 3D object in a 2D image is estimated from an operator's captured image, and the operator's motion or object can be recognized and analyzed on a 2D plane.
Additionally, we use computer vision and machine learning techniques together to recognize the actions of workers and analyze behavioral patterns based on the recognized actions of workers.
The position and posture of each body part of the worker are estimated, and the position and movement of each joint are tracked using the estimated information. The OpenPose algorithm is used to identify the body parts of the worker and estimate the pose, and the MediaPipe Pose algorithm is used to estimate the pose in real time.
Afterwards, the estimated pose data is used to identify the flow speed and force of the worker's movements, and analysis of the movement pattern is performed, and the sequence data is analyzed using a movement recognition algorithm including LSTM and 3D CNN, and the movement pattern is analyzed to identify specific work steps and movements.
By selecting a region of interest (Region of Interest) where work is performed in the worker image collected from the image collection unit, the region of interest is set to detect the movement required for the work among the movements of the worker included in the worker image, and the movement of the major joints of the worker's body existing in the region of interest is tracked or the major joint points are extracted to analyze the pattern, and additionally, the consistency, flow, and speed of the movement are identified to perform identification of a specific work step.
For the above region of interest, the setting of the region of interest is made by one of the following methods: a first method in which the region is directly selected by mouse dragging, a second method corresponding to a thresholding method based on image pixel values, a third method using a deep learning-based object detection model including YOLO (You Only Look Once), Faster R-CNN, and SSD (Single Shot MultiBox Detector), and a fourth method using U-Net and Mask R-CNN that classify each pixel of the image into a specific class or object using Semantic Segmentation or Instance Segmentation, or a machine learning framework including OpenCV, MATLAB, Python, and TensorFlow/PyTorch,
By applying computer vision to the collected images, the movement patterns of at least one worker for the same task are analyzed, and the average value is derived to analyze the average movement pattern. When analyzing, the movement patterns of multiple workers included in one captured image are extracted and analyzed, or multiple captured images of different workers are collated and analyzed.
After analyzing the average movement pattern with the above average value, the work results of each worker are additionally monitored to select the optimal worker that meets the set criteria of work quantity or work accuracy, and weights are applied to the work images of the selected worker.
By applying weight to the work images of workers whose performance scores are higher than a certain value with reference to the work performance scores given by the work manager, the robot arm is controlled to have movements corresponding to the movements of the workers with the high performance scores.
The above coordinate value derivation part is,
By mapping the worker's movement patterns to the movements of the robot arm, the movement of each joint is matched to the worker's movements.
The movement coordinates of the robot arm are converted into two dimensions to extract the optimal matching point.
Transform the worker's movements into coordinates to fit the robot arm's workspace,
Calculate the angle of each joint so that the end effector of the robot arm reaches the target position,
By setting the path of the robot arm, the reproduction of the worker's movements is implemented,
The above work learning department,
Teach control signals to the robot arm to perform actual tasks by inputting movements mapped to the worker's movement patterns.
Control of the robotic arm is achieved using PID control and model predictive control algorithms.
Teach the robot arm to move along a set path,
A method for teaching a robot arm using computer vision, which teaches joint movement and path information of a robot arm so that the robot arm can imitate and reproduce the movements of a worker.
삭제delete제 1 항에 있어서,
상기 학습시키는 단계 이후에,
로봇의 업무 수행 모습을 촬영한 로봇팔 영상을 수집하는 단계;
상기 수집하는 단계에서 수집된 포봇팔 영상에 컴퓨터 비전을 적용하여 로봇팔의 움직임 패턴을 분석하는 단계;
상기 작업자의 움직임 패턴을 분석하는 단계에서의 작업자의 움직임 패턴과 상기 로봇팔의 움직임 패턴을 분석하는 단계에서의 로봇팔 움직임 패턴을 비교하는단계; 및
상기 비교하는 단계에서의 비교 결과를 반영하여 상기 좌표값을 도출하는 단계에서 도출된 로봇팔 움직임 좌표값을 보정하는 단계;를 더 포함하는, 컴퓨터 비전을 활용한 로봇팔 티칭 방법.
In paragraph 1,
After the above learning step,
A step of collecting video footage of a robot arm performing its work;
A step of analyzing the movement pattern of the robot arm by applying computer vision to the robot arm images collected in the above collecting step;
A step of comparing the movement pattern of the worker in the step of analyzing the movement pattern of the worker and the movement pattern of the robot arm in the step of analyzing the movement pattern of the robot arm; and
A method for teaching a robot arm using computer vision, further comprising: a step of correcting the robot arm movement coordinate values derived in the step of deriving the coordinate values by reflecting the comparison result in the step of comparing;
제 1 항에 있어서,
적어도 하나의 센서로부터 작업자 신체와 작업물간의 거리 정보를 수신하는 단계; 및
적어도 하나의 센서로부터 작업자가 작업물에 접촉시 압력 감지 정보를 수신하는 단계;를 더 포함하고,
상기 작업을 학습시키는 단계는,
상기 작업물간 거리 정보 및 압력 감지 정보를 더 반영하여 로봇팔에게 작업을 학습시키는, 컴퓨터 비전을 활용한 로봇팔 티칭 방법.
In paragraph 1,
A step of receiving distance information between a worker's body and a workpiece from at least one sensor; and
further comprising a step of receiving pressure detection information when the worker contacts the workpiece from at least one sensor;
The steps for learning the above task are:
A method for teaching a robot arm using computer vision, which teaches a robot arm to perform a task by further reflecting information on the distance between the workpieces and pressure detection information.
삭제delete하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨터 장치로서,
작업자의 업무 수행 모습을 촬영한 작업자 영상을 수집하는 영상 수집부;
상기 영상 수집부에서 수집된 영상에 컴퓨터 비전을 적용하여 작업자의 움직임 패턴을 분석하는 패턴 분석부;
상기 패턴 분석부에서의 작업자의 움직임 패턴에 맞게 로봇팔의 움직임을 매칭시키기 위한 로봇팔 움직임 좌표값을 도출하는 좌표값 도출부; 및
상기 좌표값 도출부에서 도출된 움직임 좌표값에 기반하여 로봇팔에게 작업을 학습시키는 작업 학습부;를 포함하고,
상기 패턴 분석부는,
분석의 수행시, 상이한 작업을 수행하는 다수의 작업자가 포함된 작업자 영상에서 적어도 하나 이상의 동일한 작업을 수행하는 작업자를 식별 가능하도록 구현되되, 움직임이 동일한 동작으로 인식되는 작업자, 동일한 작업대에서 작업하는 작업자, 또는 일정 거리 이내의 특정 영역 내에서 작업하는 작업자를 상기 동일한 작업을 수행하는 작업자로서 인식하여 식별하고,
작업자의 동작을 추출하기 위해 컴퓨터 비전을 적용하되, OpenPose, MediaPipe, 및 PoseNet에 해당하는 알고리즘을 사용하여 작업자의 관절 위치와 자세를 추출하고, YOLO, SSD, 및 Faster R-CNN에 해당하는 모델을 사용하여 작업자가 사용하는 도구나 물체에 대한 인식을 수행하고,
3D 세계에서 2D 이미지 평면으로의 매핑을 위해 카메라 렌즈의 초점 거리, 및 이미지 센서의 중심을 포함한 카메라 자체의 특성인 내부 파라미터(Intrinsic Parameters)와 카메라와 세계 좌표계 간의 회전 및 평행 이동을 설명하는 파라미터인 외부 파라미터(Extrinsic Parameters)를 추정하는 카메라 캘리브레이션, 카메라의 내부 및 외부 파라미터를 사용하여 3D 점을 2D 평면에 매핑하는 투영 변환, 및 3D 좌표를 2D 이미지 좌표로 변환하는 복수의 좌표 변환 알고리즘을 사용함으로써, 작업자 촬영 영상에서 3D 객체의 2D 이미지에서의 위치와 모양을 추정하고, 작업자의 동작이나 객체를 인식하여 2D 평면에서 분석 가능하게 하고,
추가적으로, 컴퓨터 비전과 머신 러닝 기법을 함께 활용하여 작업자의 동작을 인식하고, 인식된 작업자의 동작을 기반으로 행동 패턴을 분석하고,
작업자의 신체 각 부위의 위치와 자세를 추정하고, 추정된 정보를 통해 각 관절의 위치와 움직임을 추적하되, OpenPose 알고리즘을 통해 작업자의 신체 부위에 대한 식별과 포즈에 대한 추정을 수행하고, MediaPipe Pose 알고리즘을 통해 실시간으로 포즈에 대한 추정을 수행하며,
이후, 추정된 포즈 데이터를 사용하여 작업자의 동작의 흐름 속도, 및 힘을 파악하여 동작 패턴에 대한 분석을 수행하고, LSTM 및 3D CNN을 포함한 동작 인식 알고리즘을 사용하여 시퀀스 데이터를 분석하고, 동작 패턴을 분석하여 특정 작업 단계와 동작에 대한 식별을 수행하며,
영상 수집부에서 수집된 작업자 영상에서 작업이 수행되는 관심 영역(Region of Interest)을 선택함으로써, 작업자 영상에 포함되는 작업자의 움직임 중에 작업을 위해 필요한 움직임을 검출하기 위한 관심 영역의 설정이 이루어지도록 하고, 관심 영역 내에 존재하는 작업자 신체의 주요 관절 움직임을 추적하거나, 주요 관절 포인트를 추출하여 패턴을 분석하고, 추가로 동작의 일관성, 흐름 및 속도를 파악하여 특정 작업 단계에 대한 식별을 수행하고,
상기 관심 영역의 경우, 마우스 드래그 방식으로 직접 선택받는 제1 방식, 이미지 픽셀값 기준으로 한 임계값 처리(Thresholding) 방식에 해당하는 제2 방식, YOLO(You Only Look Once), Faster R-CNN, 및 SSD(Single Shot MultiBox Detector)를 포함한 딥러닝 기반 객체 검출 모델을 사용하는 제3 방식, 및 Semantic Segmentation 또는 Instance Segmentation을 사용하여 이미지의 각 픽셀을 특정 클래스나 객체로 분류하는 U-Net와 Mask R-CNN을 이용하는 제4 방식 중 하나로 상기 관심 영역에 대한 설정이 이루어지도록 하거나, 또는 OpenCV, MATLAB, Python 및 TensorFlow/PyTorch를 포함한 머신러닝 프레임 워크를 사용하여 관심 영역이 자동으로 설정되도록 하고,
수집된 영상에 컴퓨터 비전을 적용하여 동일한 작업에 대해 적어도 하나 이상 작업자의 움직임 패턴들을 분석하고, 그 평균값을 도출하여 평균 움직임 패턴을 분석하되, 분석시, 하나의 촬영 영상에 포함된 다수 작업자들의 움직임 패턴을 추출하여 분석하거나, 상이한 작업자를 촬영한 다수의 촬영 영상을 취합하여 분석을 수행하고,
상기 평균값으로 평균 움직임 패턴을 분석한 후, 추가적으로 작업자별 작업 결과물을 모니터링함으로써 작업 수량 또는 작업 정확도 중 정해진 기준에 맞는 최적의 작업자를 선별하고 선별된 작업자의 작업 영상에 가중치가 적용되도록 하고,
작업 관리자에 의해 부여된 작업 성과 점수를 참조하여 일정값 이상으로 성과 점수가 높은 작업자의 작업 영상에 가중치가 적용되도록 함으로써, 상기 성과 점수가 높은 작업자의 움직임에 대응되는 움직임을 갖도록 하는 로봇팔의 제어가 이루어지도록 하고,
상기 좌표값 도출부는,
작업자의 동작 패턴을 로봇팔의 움직임에 매핑하여 각 관절의 움직임과 작업자의 동작을 일치시키고,
로봇팔의 움직임 좌표값을 2차원으로 변경하여 최적 매칭 지점을 추출하고,
작업자의 동작을 로봇팔의 작업 공간에 맞게 좌표 변환하고,
로봇팔의 엔드 이펙터가 목표 위치에 도달하도록 각 관절의 각도에 대한 계산을 수행하고,
로봇팔의 경로를 설정함으로써 작업자의 동작의 재현이 구현되도록 하고,
상기 작업 학습부는,
작업자의 동작 패턴에 매핑된 동작을 로봇팔에 입력하여 실제 작업을 수행하도록하는 제어 신호를 학습시키고,
PID 제어, 및 모델 예측 제어 알고리즘을 사용하여 로봇팔에 대한 제어가 이루어지도록 하고,
로봇팔이 설정된 경로를 따라 움직이도록 학습시키며,
로봇팔이 작업자의 동작을 모방하여 재현할 수 있도록 로봇팔의 관절 움직임 및 경로 정보를 학습시키는 것인, 컴퓨터 비전을 활용한 로봇팔 티칭 장치.
one or more processors, and
A computer device having a memory storing one or more programs executed by one or more processors,
A video collection unit that collects video footage of workers performing their work;
A pattern analysis unit that analyzes the worker's movement pattern by applying computer vision to the images collected from the above image collection unit;
A coordinate value derivation unit for deriving the robot arm movement coordinate values to match the robot arm movement pattern to the worker's movement pattern in the above pattern analysis unit; and
It includes a task learning unit that teaches a robot arm a task based on the movement coordinate values derived from the above coordinate value derivation unit;
The above pattern analysis unit,
When performing the analysis, it is implemented so that at least one worker performing the same task can be identified from a worker image containing multiple workers performing different tasks, and workers whose movements are recognized as the same motion, workers working at the same workstation, or workers working within a specific area within a certain distance are recognized as workers performing the same task and identified.
Apply computer vision to extract the worker's motion, extract the worker's joint positions and poses using algorithms corresponding to OpenPose, MediaPipe, and PoseNet, and perform recognition of tools or objects used by the worker using models corresponding to YOLO, SSD, and Faster R-CNN.
By using camera calibration that estimates intrinsic parameters, which are the characteristics of the camera itself including the focal length of the camera lens and the center of the image sensor, and extrinsic parameters, which are parameters that describe the rotation and translation between the camera and the world coordinate system, projection transformation that maps a 3D point to a 2D plane using the intrinsic and extrinsic parameters of the camera, and multiple coordinate transformation algorithms that transform 3D coordinates into 2D image coordinates, the position and shape of a 3D object in a 2D image is estimated from an operator's captured image, and the operator's motion or object can be recognized and analyzed on a 2D plane.
Additionally, we use computer vision and machine learning techniques together to recognize the actions of workers and analyze behavioral patterns based on the recognized actions of workers.
The position and posture of each body part of the worker are estimated, and the position and movement of each joint are tracked using the estimated information. The OpenPose algorithm is used to identify the body parts of the worker and estimate the pose, and the MediaPipe Pose algorithm is used to estimate the pose in real time.
Afterwards, the estimated pose data is used to identify the flow speed and force of the worker's movements, and analysis of the movement pattern is performed, and the sequence data is analyzed using a movement recognition algorithm including LSTM and 3D CNN, and the movement pattern is analyzed to identify specific work steps and movements.
By selecting a region of interest (Region of Interest) where work is performed in the worker image collected from the image collection unit, the region of interest is set to detect the movement required for the work among the movements of the worker included in the worker image, and the movement of the major joints of the worker's body existing in the region of interest is tracked or the major joint points are extracted to analyze the pattern, and additionally, the consistency, flow, and speed of the movement are identified to perform identification of a specific work step.
For the above region of interest, the setting of the region of interest is made by one of the following methods: a first method in which the region is directly selected by mouse dragging, a second method corresponding to a thresholding method based on image pixel values, a third method using a deep learning-based object detection model including YOLO (You Only Look Once), Faster R-CNN, and SSD (Single Shot MultiBox Detector), and a fourth method using U-Net and Mask R-CNN that classify each pixel of the image into a specific class or object using Semantic Segmentation or Instance Segmentation, or a machine learning framework including OpenCV, MATLAB, Python, and TensorFlow/PyTorch,
By applying computer vision to the collected images, the movement patterns of at least one worker for the same task are analyzed, and the average value is derived to analyze the average movement pattern. When analyzing, the movement patterns of multiple workers included in one captured image are extracted and analyzed, or multiple captured images of different workers are collated and analyzed.
After analyzing the average movement pattern with the above average value, the work results of each worker are additionally monitored to select the optimal worker that meets the set criteria of work quantity or work accuracy, and weights are applied to the work images of the selected worker.
By applying weight to the work images of workers whose performance scores are higher than a certain value with reference to the work performance scores given by the work manager, the robot arm is controlled to have movements corresponding to the movements of the workers with the high performance scores.
The above coordinate value derivation part is,
By mapping the worker's movement patterns to the movements of the robot arm, the movement of each joint is matched to the worker's movements.
The movement coordinates of the robot arm are converted into two dimensions to extract the optimal matching point.
Transform the worker's movements into coordinates to fit the robot arm's workspace,
Calculate the angle of each joint so that the end effector of the robot arm reaches the target position,
By setting the path of the robot arm, the reproduction of the worker's movements is implemented,
The above work learning department,
Teach control signals to the robot arm to perform actual tasks by inputting movements mapped to the worker's movement patterns.
Control of the robotic arm is achieved using PID control and model predictive control algorithms.
Teach the robot arm to move along a set path,
A robotic arm teaching device utilizing computer vision that teaches joint movement and path information of a robotic arm so that the robotic arm can imitate and reproduce the movements of a worker.
KR1020240106509A2024-08-092024-08-09Device and Method for Teaching Computer Vision-Based Robotic ArmActiveKR102800405B1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
KR1020240106509AKR102800405B1 (en)2024-08-092024-08-09Device and Method for Teaching Computer Vision-Based Robotic Arm

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
KR1020240106509AKR102800405B1 (en)2024-08-092024-08-09Device and Method for Teaching Computer Vision-Based Robotic Arm

Publications (1)

Publication NumberPublication Date
KR102800405B1true KR102800405B1 (en)2025-05-13

Family

ID=95708231

Family Applications (1)

Application NumberTitlePriority DateFiling Date
KR1020240106509AActiveKR102800405B1 (en)2024-08-092024-08-09Device and Method for Teaching Computer Vision-Based Robotic Arm

Country Status (1)

CountryLink
KR (1)KR102800405B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2018535459A (en)*2015-07-022018-11-29アクセンチュア グローバル サービスィズ リミテッド Robotic process automation
KR20190070386A (en)*2017-12-122019-06-21한국로봇융합연구원Robot hand for grasping object by using visual information and tactual information and control method thereof
KR20220067719A (en)2020-11-182022-05-25한국기술교육대학교 산학협력단Apparatus and method of robot control through vision recognition using deep learning and marker
KR20240036839A (en)2022-09-142024-03-21엘지전자 주식회사Apparatus and method for teaching robot path
KR20240081551A (en)*2022-11-302024-06-10(주)제스엔지니어링System and method for acquisition dataset of robot control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2018535459A (en)*2015-07-022018-11-29アクセンチュア グローバル サービスィズ リミテッド Robotic process automation
KR20190070386A (en)*2017-12-122019-06-21한국로봇융합연구원Robot hand for grasping object by using visual information and tactual information and control method thereof
KR20220067719A (en)2020-11-182022-05-25한국기술교육대학교 산학협력단Apparatus and method of robot control through vision recognition using deep learning and marker
KR20240036839A (en)2022-09-142024-03-21엘지전자 주식회사Apparatus and method for teaching robot path
KR20240081551A (en)*2022-11-302024-06-10(주)제스엔지니어링System and method for acquisition dataset of robot control

Similar Documents

PublicationPublication DateTitle
CN112476434B (en)Visual 3D pick-and-place method and system based on cooperative robot
Huang et al.Clusterslam: A slam backend for simultaneous rigid body clustering and motion estimation
Tang et al.A framework for manipulating deformable linear objects by coherent point drift
US10372228B2 (en)Method and system for 3D hand skeleton tracking
JP4972201B2 (en) Man-machine interaction based on sign
Andrianakos et al.An approach for monitoring the execution of human based assembly operations using machine learning
Wang et al.Point cloud and visual feature-based tracking method for an augmented reality-aided mechanical assembly system
Jean et al.Robust visual servo control of a mobile robot for object tracking using shape parameters
JP7200610B2 (en) POSITION DETECTION PROGRAM, POSITION DETECTION METHOD, AND POSITION DETECTION DEVICE
Patil et al.Extraction of weld seam in 3d point clouds for real time welding using 5 dof robotic arm
Yevsieiev et al.The Canny Algorithm Implementation for Obtaining the Object Contour in a Mobile Robot’s Workspace in Real Time
Rocha et al.Object recognition and pose estimation for industrial applications: A cascade system
Blank et al.6DoF pose-estimation pipeline for texture-less industrial components in bin picking applications
Zhang et al.Deep learning-based robot vision: High-end tools for smart manufacturing
Shi et al.Fuzzy dynamic obstacle avoidance algorithm for basketball robot based on multi-sensor data fusion technology
CN115464651A (en)Six groups of robot object grasping system
Lagamtzis et al.Coax: Collaborative action dataset for human motion forecasting in an industrial workspace.
Nguyen et al.Grasping moving objects with incomplete information in a low-cost robot production line using contour matching based on the Hu moments
Seppälä et al.Feature-Based Object Detection and Pose Estimation Based on 3D Cameras and CAD Models for Industrial Robot Applications
CN119748485A (en)Track planning method and system for welding robot, storage medium and welding robot
CN118295309B (en)Visual servo control system of online slag dragging robot
Sun et al.Real-time and fast RGB-D based people detection and tracking for service robots
KR102800405B1 (en)Device and Method for Teaching Computer Vision-Based Robotic Arm
TWI788253B (en)Adaptive mobile manipulation apparatus and method
Wang et al.Robot grasping in dense clutter via view-based experience transfer

Legal Events

DateCodeTitleDescription
PA0109Patent application

Patent event code:PA01091R01D

Comment text:Patent Application

Patent event date:20240809

PA0201Request for examination

Patent event code:PA02011R01I

Patent event date:20240809

Comment text:Patent Application

PA0302Request for accelerated examination

Patent event date:20240906

Patent event code:PA03022R01D

Comment text:Request for Accelerated Examination

PE0902Notice of grounds for rejection

Comment text:Notification of reason for refusal

Patent event date:20241105

Patent event code:PE09021S01D

PE0701Decision of registration

Patent event code:PE07011S01D

Comment text:Decision to Grant Registration

Patent event date:20250121

GRNTWritten decision to grant
PR0701Registration of establishment

Comment text:Registration of Establishment

Patent event date:20250421

Patent event code:PR07011E01D

PR1002Payment of registration fee

Payment date:20250421

End annual number:3

Start annual number:1

PG1601Publication of registration

[8]ページ先頭

©2009-2025 Movatter.jp