KR102257746B1 - Method for controlling robot group and system thereof - Google Patents
Method for controlling robot group and system thereof Download PDFInfo
- Publication number
- KR102257746B1 KR102257746B1 KR1020180138613A KR20180138613A KR102257746B1 KR 102257746 B1 KR102257746 B1 KR 102257746B1 KR 1020180138613 A KR1020180138613 A KR 1020180138613A KR 20180138613 A KR20180138613 A KR 20180138613A KR 102257746 B1 KR102257746 B1 KR 102257746B1
- Authority
- KR
- South Korea
- Prior art keywords
- work
- robot
- sub
- work area
- map information
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1669—Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
- G09B29/003—Maps
Abstract
본 발명은 로봇군 제어 방법 및 시스템에 관한 것으로서, 보다 구체적으로는 관리 로봇이 주행하면서 작업 영역에 대한 지도 정보를 생성하고, 상기 작업 영역에서 하나 이상의 서브 작업 영역을 분할해 하나 이상의 작업 로봇에게 할당하여, 각 작업 로봇이 각 서브 작업 영역에서 주어진 작업을 수행하도록 제어하는 로봇군 제어 방법 및 시스템에 관한 것이다.
본 발명에서는, 관리 로봇이 주행하면서 작업 영역에 대한 지도 정보를 생성하는 지도 정보 생성 단계; 상기 작업 영역에서 하나 이상의 서브 작업 영역을 분할하여 하나 이상의 작업 로봇에게 할당하는 서브 작업 영역 할당 단계; 및 상기 하나 이상의 작업 로봇이 상기 하나 이상의 서브 작업 영역에서 각각 작업을 수행하도록 제어하는 작업 수행 단계;를 포함하는 것을 특징으로 하는 로봇군 제어 방법을 개시한다.The present invention relates to a robot group control method and system, and more specifically, while a management robot runs, generates map information for a work area, divides one or more sub-work areas from the work area, and assigns it to one or more work robot Thus, it relates to a robot group control method and system for controlling each work robot to perform a given task in each sub work area.
In the present invention, a map information generation step of generating map information on a work area while the management robot is traveling; A sub-work area allocating step of dividing one or more sub-work areas in the work area and assigning them to one or more work robots; And a task performing step of controlling the one or more work robots to perform respective tasks in the one or more sub-work areas.
Description
본 발명은 로봇군 제어 방법 및 시스템에 관한 것으로서, 보다 구체적으로는 관리 로봇이 주행하면서 작업 영역에 대한 지도 정보를 생성하고, 상기 작업 영역에서 하나 이상의 서브 작업 영역을 분할해 하나 이상의 작업 로봇에게 할당하여, 각 작업 로봇이 각 서브 작업 영역에서 주어진 작업을 수행하도록 제어하는 로봇군 제어 방법 및 시스템에 관한 것이다.The present invention relates to a robot group control method and system, and more specifically, while a management robot travels, it generates map information for a work area, divides one or more sub-work areas from the work area, and assigns it to one or more work robots. Thus, it relates to a robot group control method and system for controlling each work robot to perform a given task in each sub work area.
로봇의 대중화에 따라 여러 분야에서 로봇을 활용하는 다양한 서비스가 제공되고 있으며, 보다 구체적인 예를 들어, 공항이나 대형 쇼핑몰 등에서 로봇을 사용하여 안내 서비스 등을 제공하는 시도가 이루어지고 있다.With the popularization of robots, various services using robots have been provided in various fields, and for more specific examples, attempts have been made to provide information services using robots in airports or large shopping malls.
그런데, 공항이나 대형 쇼핑몰 등과 같이 넓은 공간에서 작업을 수행하는 경우에는 복수의 로봇을 사용해 공간을 나누어 할당하여 작업을 수행할 수 있으나, 이를 위해서는 관리자가 일일이 복수의 로봇에 대한 작업 영역을 할당하여야 하는 번거로움이 있었다.However, in the case of performing work in a large space such as an airport or a large shopping mall, the work can be performed by dividing and allocating the space using a plurality of robots. However, for this, the manager must allocate the work areas for the plurality of robots individually. There was a hassle.
또한, 상기 로봇이 이동하면서 작업을 수행하기 위해서는 작업 영역에 대한 지도 정보가 필요하므로 로봇이 자율 주행 등을 통해 지도 정보를 생성하도록 하게 되나, 공항이나 대형 쇼핑몰 등에서는 다양한 환경을 가지는 영역들이 존재할 수 있고, 특히 어두운 공간 등과 같이 공간 인식을 위해 필요한 조명을 적절하게 확보하기 어려운 상황에서도 정확한 지도 정보를 생성하여 작업 영역을 나누어 할당해야 하는 어려움이 따른다.In addition, in order to perform a task while the robot moves, map information on the work area is required, so that the robot generates map information through autonomous driving, but in airports or large shopping malls, areas having various environments may exist. In particular, even in a situation where it is difficult to properly secure lighting necessary for spatial recognition, such as in a dark space, it is difficult to generate accurate map information and divide and allocate the work area.
나아가, 위와 같이 복수의 로봇이 작업 영역 내에서 이동하면서 작업을 수행하는 경우, 복수의 로봇 마다 자율 주행을 위한 고가의 센서 및 자율 주행 장치가 장착되어야 하여, 로봇 및 시스템의 복잡도 및 이에 따른 제조 단가가 크게 증가하는 문제가 발생하게 된다.Furthermore, when a plurality of robots perform tasks while moving within the work area as above, expensive sensors and autonomous driving devices for autonomous driving must be installed for each of the plurality of robots, and thus the complexity of the robot and system and the manufacturing cost accordingly. There will be a problem that is greatly increased.
따라서, 관리자가 직접 복수의 로봇에게 작업 영역을 할당하지 않고도 복수의 로봇 별로 작업 영역이 나누어 할당되어 작업을 수행할 수 있고, 또한 적절한 조명이 확보되지 않은 환경 등에서도 정확한 지도 정보를 생성하여 작업 영역을 나누어 할당할 수 있으며, 나아가 로봇과 시스템의 복잡도 증가 및 이에 따른 제조 단가의 증가를 억제할 수 있는 방안이 요청되고 있으나, 아직 이에 대한 적절한 해법이 제시되지 못하고 있다.Therefore, the manager can perform tasks by dividing and assigning work areas for each of the plurality of robots without directly allocating the work areas to the plurality of robots. Also, it is possible to generate accurate map information even in environments where appropriate lighting is not secured. In addition, there is a request for a method that can be allocated by dividing and inhibiting the increase in the complexity of the robot and the system and the increase in manufacturing cost accordingly, but an appropriate solution has not yet been presented.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위해 창안된 것으로, 관리자가 직접 복수의 로봇에게 작업 영역을 할당하지 않고도 복수의 로봇 별로 작업 영역이 나누어 할당되어 작업을 수행하도록 할 수 있고, 또한 로봇이 적절한 조명이 확보되지 못한 환경 등에서도 정확한 지도 정보를 생성하여 작업 영역을 나누어 할당할 수 있으며, 나아가 로봇과 시스템의 복잡도 증가 및 그에 따른 제조 단가의 상승을 억제할 수 있는 로봇 제어 방법 및 시스템을 제공하는 것을 목적으로 한다.The present invention was invented to solve the problems of the prior art as described above, and an administrator can perform a task by dividing and assigning a work area for each of a plurality of robots without directly allocating a work area to a plurality of robots. Robot control method and system capable of dividing and allocating work areas by generating accurate map information even in environments where proper lighting is not secured, and further suppressing the increase in the complexity of the robot and the system and the increase in manufacturing cost. It aims to provide.
그 외 본 발명의 세부적인 목적은 아래에 기재되는 구체적인 내용을 통하여 이 기술 분야의 전문가나 연구자에게 자명하게 파악되고 이해될 수 있을 것이다.In addition, detailed objects of the present invention will be clearly understood and understood by experts or researchers in this technical field through the detailed contents described below.
상기 과제를 해결하기 위한 본 발명의 한 측면에 따른 로봇군 제어 방법은, 관리 로봇이 주행하면서 작업 영역에 대한 지도 정보를 생성하는 지도 정보 생성 단계; 상기 작업 영역에서 하나 이상의 서브 작업 영역을 분할하여 하나 이상의 작업 로봇에게 할당하는 서브 작업 영역 할당 단계; 및 상기 하나 이상의 작업 로봇이 상기 하나 이상의 서브 작업 영역에서 각각 작업을 수행하도록 제어하는 작업 수행 단계;를 포함하는 것을 특징으로 한다.A method for controlling a robot group according to an aspect of the present invention for solving the above problem includes: a map information generating step of generating map information for a work area while a management robot is traveling; Sub-work area allocation step of dividing one or more sub-work areas in the work area and assigning them to one or more work robots; And a task performing step of controlling the one or more work robots to perform respective tasks in the one or more sub-work areas.
이때, 상기 지도 정보 생성 단계에서, 상기 관리 로봇은 객체 감지 및 거리 측정 센서를 구비하여 상기 지도 정보를 생성하며, 상기 작업 수행 단계에서, 상기 작업 로봇은 상기 생성된 지도 정보를 이용하여 객체 감지 및 거리 측정 센서를 사용하지 않고 상기 서브 작업 영역을 주행하며 작업을 수행하는 것을 특징으로 한다.At this time, in the map information generation step, the management robot generates the map information by having an object detection and distance measurement sensor, and in the task execution step, the work robot detects an object and detects an object using the generated map information. It is characterized in that the operation is performed while traveling in the sub-work area without using a distance measurement sensor.
또한, 상기 작업 수행 단계에서, 상기 작업 로봇은 영상 카메라를 구비하여 주변에 대한 영상 정보를 생성하고, 상기 영상 정보와 상기 지도 정보를 이용하여 상기 작업 영역에서의 자신의 위치 정보를 산출하여 작업을 수행할 수 있다.In addition, in the task performing step, the working robot generates image information about the surroundings by having an image camera, and calculates its own position information in the work area using the image information and the map information to perform a task. You can do it.
나아가, 상기 관리 로봇은, 자신의 위치를 기준으로 산출되는 상기 작업 로봇의 상대적인 위치 정보를 이용하여 상기 작업 로봇의 위치 정보를 제어할 수 있다.Furthermore, the management robot may control the location information of the work robot using relative location information of the work robot calculated based on its own location.
또한, 상기 서브 작업 영역 할당 단계는, 상기 작업 영역의 특정 영역에 대하여 수집된 입체 점군(3D point cloud) 중 상기 작업 공간의 벽면에서 이탈하는 이탈 점군을 산정하고, 상기 이탈 점군의 숫자에 따라 상기 특정 영역을 서브 작업 영역으로 산출할 것인지 여부를 판단할 수 있다.In addition, in the sub-work area allocation step, among the 3D point clouds collected for a specific area of the work area, a departure point group that deviates from the wall surface of the work space is calculated, and the number of the departure point groups is calculated. It can be determined whether or not a specific area is to be calculated as a sub-work area.
여기서, 상기 서브 작업 영역 할당 단계는, 상기 작업 영역의 특정 영역에 대하여 수집된 입체 점군(3D point cloud)을 투영하여 상기 특정 영역의 벽면에 대한 평면(2D) 벡터를 산출하는 단계; 상기 평면(2D) 벡터로부터 상기 특정 영역의 벽면을 산출하는 단계; 및 상기 입체 점군 중 상기 특정 영역의 벽면에서 이탈하는 이탈 점군을 산정하는 단계;를 포함할 수 있다.Here, the sub-work area allocating step includes: calculating a plane (2D) vector for a wall surface of the specific area by projecting a 3D point cloud collected for a specific area of the work area; Calculating a wall surface of the specific area from the plane (2D) vector; And calculating a departure point group deviating from the wall surface of the specific region among the three-dimensional point groups.
또한, 상기 서브 작업 영역 할당 단계에서는, 상기 이탈 점군의 숫자가 미리 정해진 잡음 기준치보다 작거나 같은 경우에는 상기 이탈 점군을 잡음으로 판단하고, 상기 이탈 점군의 숫자가 미리 정해진 잡음 기준치보다 큰 경우에는 상기 이탈 점군을 객체로 판단할 수 있다.In addition, in the sub-work area allocation step, if the number of deviating point groups is less than or equal to a predetermined noise reference value, the deviating point group is determined as noise, and when the number of deviating point groups is greater than a predetermined noise reference value, the The deviated point group can be determined as an object.
또한, 상기 작업 수행 단계에서, 상기 작업 로봇은 적외선 센서(IR sensor)를 사용하여 생성된 적외선 영상을 이용해 상기 서브 작업 영역을 인식하여 작업을 수행할 수 있다.In addition, in the task performing step, the task robot may perform a task by recognizing the sub-work area using an infrared image generated using an infrared sensor.
나아가, 상기 작업 수행 단계는, (a) 상기 작업 로봇이 상기 적외선 영상의 히스토그램(histogram)을 정규화하는 단계; (b) 상기 적외선 영상에 모폴로지 연산-침식(erosion)-과 가우시안 필터링-블러(blur)-을 적용하는 단계; (c) 상기 적외선 영상을 이진화(binarization)하는 단계; 및 (d) 상기 적외선 영상에 대하여 레이블링(blob labeling)을 수행하는 단계;를 포함할 수 있다.Further, the step of performing the work may include: (a) normalizing, by the work robot, a histogram of the infrared image; (b) applying a morphology operation-erosion-and Gaussian filtering-blur-to the infrared image; (c) binarizing the infrared image; And (d) performing blob labeling on the infrared image.
또한, 상기 지도 정보 생성 단계에서, 상기 관리 로봇은 영상 카메라와 객체 감지 및 거리 측정 센서를 구비하여, 상기 영상 카메라의 영상 데이터를 통해 판단되는 조도가 미리 정해진 조도 기준치에 미치지 못하는 경우, 상기 객체 감지 및 거리 측정 센서를 사용하여 상기 지도 정보를 생성할 수 있다.In addition, in the map information generation step, the management robot includes an image camera and an object detection and distance measurement sensor, and when the illuminance determined through the image data of the image camera does not meet a predetermined illuminance reference value, the object is detected. And it is possible to generate the map information using a distance measurement sensor.
본 발명의 다른 측면에 따른 로봇군 제어 시스템은, 관리 로봇과 하나 이상의 작업 로봇을 포함하는 로봇군에 대한 제어 시스템에 있어서, 주행하면서 작업 영역에 대한 지도 정보를 생성하고, 상기 작업 영역에서 하나 이상의 서브 작업 영역을 분할하여 하나 이상의 작업 로봇에게 할당하는 관리 로봇; 및 상기 할당받은 하나 이상의 서브 작업 영역에서 작업을 수행하는 작업 로봇;을 포함하는 것을 특징으로 한다.In a robot group control system according to another aspect of the present invention, in a control system for a robot group including a management robot and one or more work robots, map information on a work area is generated while driving, and at least one A management robot that divides the sub work area and assigns it to one or more work robots; And a work robot that performs work in the assigned one or more sub work areas.
이때, 상기 관리 로봇은 객체 감지 및 거리 측정 센서를 구비하여 상기 지도 정보를 생성하며, 상기 작업 로봇은 상기 생성된 지도 정보를 이용하여 객체 감지 및 거리 측정 센서를 사용하지 않고 상기 서브 작업 영역을 주행하며 작업을 수행할 수 있다.At this time, the management robot is equipped with an object detection and distance measurement sensor to generate the map information, and the work robot uses the generated map information to drive the sub-work area without using an object detection and distance measurement sensor. And can do the job.
이에 따라, 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템에서는, 보다 구체적으로는 관리 로봇이 주행하면서 작업 영역에 대한 지도 정보를 생성하고, 상기 작업 영역에서 하나 이상의 서브 작업 영역을 분할해 하나 이상의 작업 로봇에게 할당하여, 각 작업 로봇이 각 서브 작업 영역에서 주어진 작업을 수행하도록 제어함으로써, 관리자가 직접 복수의 로봇에게 작업 영역을 할당하지 않고도 복수의 로봇 별로 작업 영역이 나누어 할당되어 작업을 수행하도록 할 수 있게 된다.Accordingly, in the method and system for controlling a robot group according to an embodiment of the present invention, more specifically, while the management robot is traveling, map information on a work area is generated, and at least one sub work area is divided from the work area. By assigning to one or more work robots and controlling each work robot to perform a given task in each sub work area, the work area is divided and assigned to each of the plurality of robots without the administrator directly allocating the work area to the plurality of robots. You will be able to do it.
또한, 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템에서는, 로봇이 적절한 조명이 확보되지 못한 환경 등에서도 정확한 지도 정보를 생성하여 작업 영역을 나누어 할당할 수 있으며, 나아가 로봇과 시스템의 복잡도 증가 및 그에 따른 제조 단가의 상승을 효과적으로 억제할 수 있게 된다.In addition, in the robot group control method and system according to an embodiment of the present invention, even in an environment where the robot does not have adequate lighting, it is possible to divide and allocate the work area by generating accurate map information, and furthermore, the complexity of the robot and the system It is possible to effectively suppress the increase and thus the increase in the manufacturing cost.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 본 발명의 일 실시예에 따른 로봇군 제어 방법의 순서도이다.
도 2는 본 발명의 일 실시예에 따른 로봇군 제어 시스템의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템의 동작을 설명하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템에서 관리 로봇과 작업 로봇 간의 정보 전송을 설명하는 도면이다.
도 5 내지 도 9는 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템에서 서브 작업 영역의 산출을 설명하는 도면이다.
도 10은 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템에서 관리 로봇의 위치를 기준으로 작업 로봇의 위치를 제어하는 방법을 설명하는 도면이다.
도 11은 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템에서 관리 로봇과 작업 로봇의 동작을 설명하는 도면이다.
도 12는 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템에서 적외선 영상에서 객체를 산출하는 알고리즘을 설명하는 도면이다.The accompanying drawings, which are included as part of the detailed description to aid in understanding of the present invention, provide embodiments for the present invention, and describe the technical spirit of the present invention together with the detailed description.
1 is a flowchart of a method for controlling a robot group according to an embodiment of the present invention.
2 is a block diagram of a robot group control system according to an embodiment of the present invention.
3 is a diagram illustrating an operation of a method and a system for controlling a robot group according to an embodiment of the present invention.
4 is a diagram illustrating information transmission between a management robot and a work robot in a robot group control method and system according to an embodiment of the present invention.
5 to 9 are diagrams for explaining calculation of a sub-work area in a method and system for controlling a robot group according to an embodiment of the present invention.
10 is a diagram illustrating a method of controlling a robot group and a method of controlling a position of a working robot based on a position of a management robot in a system and a method of controlling a robot group according to an embodiment of the present invention.
11 is a view for explaining the operation of a management robot and a work robot in the robot group control method and system according to an embodiment of the present invention.
12 is a diagram illustrating an algorithm for calculating an object from an infrared image in a robot group control method and system according to an embodiment of the present invention.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 이하에서는 특정 실시예들을 첨부된 도면을 기초로 상세히 설명하고자 한다.The present invention may apply various transformations and may have various embodiments. Hereinafter, specific embodiments will be described in detail based on the accompanying drawings.
이하의 실시예는 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.The following examples are provided to aid in a comprehensive understanding of the methods, apparatus and/or systems described herein. However, this is only an example and the present invention is not limited thereto.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시 예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다. In describing the embodiments of the present invention, when it is determined that a detailed description of a known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of users or operators. Therefore, the definition should be made based on the contents throughout the present specification. The terms used in the detailed description are only for describing the embodiments of the present invention, and should not be limiting. Unless explicitly used otherwise, expressions in the singular form include the meaning of the plural form. In the present description, expressions such as "comprising" or "feature" are intended to refer to certain features, numbers, steps, actions, elements, some or combination thereof, and one or more It should not be construed to exclude the presence or possibility of other features, numbers, steps, actions, elements, any part or combination thereof.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되는 것은 아니며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.In addition, terms such as first and second may be used to describe various components, but the components are not limited by the terms, and the terms are used to distinguish one component from other components. Is only used.
아래에서는, 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템에 대한 예시적인 실시 형태들을 첨부된 도면을 참조하여 차례로 설명한다.Hereinafter, exemplary embodiments of a method and system for controlling a robot group according to an embodiment of the present invention will be described in order with reference to the accompanying drawings.
먼저, 도 1에서는 본 발명의 일 실시예에 따른 로봇군 제어 방법의 순서도가 도시되어 있다. 도 1에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 로봇군 제어 방법은, 관리 로봇(100)이 주행하면서 작업 영역에 대한 지도 정보를 생성하는 지도 정보 생성 단계(S100), 상기 작업 영역에서 하나 이상의 서브 작업 영역을 분할하여 하나 이상의 작업 로봇(200)에게 할당하는 서브 작업 영역 할당 단계(S200) 및 상기 하나 이상의 작업 로봇(200)이 상기 하나 이상의 서브 작업 영역에서 각각 작업을 수행하도록 제어하는 작업 수행 단계(S300)를 포함하게 된다.First, in FIG. 1, a flow chart of a method for controlling a robot group according to an embodiment of the present invention is shown. As can be seen in FIG. 1, the robot group control method according to an embodiment of the present invention includes a map information generation step (S100) of generating map information for a work area while the
이때, 상기 관리 로봇(100)은 라이다(LiDAR), 레이다(Radar) 깊이 센서(Depth Sensor) 등 주변의 객체을 감지하고 상기 객체까지의 거리를 측정할 수 있는 객체 감지 및 거리 측정 센서를 구비하여 상기 작업 영역에 대한 지도 정보를 생성할 수 있으며, 이에 따라 상기 작업 로봇(200)은 상기 관리 로봇(100)에서 생성된 지도 정보를 이용하여 객체 감지 및 거리 측정 센서를 사용하지 않고도 상기 작업 영역에서 분할된 서브 작업 영역을 주행하며 작업을 수행할 수 있다. At this time, the
이에 따라, 본 발명의 일 실시예에 따른 로봇군 제어 방법에서는 관리 로봇(100)이 상기 객체 감지 및 거리 측정 센서를 구비하여 자율적으로 주행하면서 상기 작업 로봇(200)이 작업을 수행할 수 있는 작업 영역에 대한 지도 정보를 생성할 수 있으며, 또한 상기 작업 영역에서 하나 이상의 서브 작업 영역을 분할해 하나 이상의 작업 로봇(200)에게 할당하여 각 작업 로봇(200)이 각 서브 작업 영역에서 주어진 작업을 수행하도록 제어함으로써, 관리자가 직접 복수의 로봇(200)에게 작업 영역을 할당하지 않고도 복수의 로봇 별로 작업 영역이 나누어 할당되어 작업을 수행하도록 하게 된다. Accordingly, in the robot group control method according to an embodiment of the present invention, the
나아가, 본 발명의 일 실시예에 따른 로봇군 제어 방법에서는 작업 로봇(200)이 객체 감지 및 거리 측정 센서를 사용하지 않고도 상기 관리 로봇(100)에서 생성된 지도 정보를 이용하여 상기 서브 작업 영역을 주행하며 작업을 수행하도록 함으로써, 로봇과 시스템의 복잡도 증가 및 그에 따른 제조 단가의 상승을 효과적으로 억제할 수 있게 된다.Further, in the robot group control method according to an embodiment of the present invention, the
또한, 도 2에서는 본 발명의 일 실시예에 따른 로봇군 제어 시스템(10)의 구성도가 도시되어 있다. 도 2에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 로봇군 제어 시스템(10)은, 관리 로봇(100)과 하나 이상의 작업 로봇(200)을 포함하는 로봇군에 대한 제어 시스템으로서, 주행하면서 작업 영역에 대한 지도 정보를 생성하고, 상기 작업 영역에서 하나 이상의 서브 작업 영역을 분할하여 하나 이상의 작업 로봇에게 할당하는 관리 로봇(100) 및 상기 할당받은 하나 이상의 서브 작업 영역에서 작업을 수행하는 작업 로봇(200)을 포함하여 구성될 수 있다.In addition, FIG. 2 shows a configuration diagram of a robot
이때, 상기 관리 로봇(100)은 객체 감지 및 거리 측정 센서를 구비하여 상기 작업 영역에 대한 지도 정보를 생성할 수 있으며, 이에 따라 상기 작업 로봇(200)은 상기 생성된 지도 정보를 이용하여 객체 감지 및 거리 측정 센서를 사용하지 않고 상기 작업 영역에서 분할된 서브 작업 영역을 주행하며 작업을 수행할 수 있게 된다.At this time, the
이하, 도 1 및 도 2를 참조하여 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템(10)을 각 구성별로 나누어 보다 자세하게 살핀다.Hereinafter, a robot group control method and
먼저, 상기 지도 정보 생성 단계(S100)에서는, 상기 관리 로봇(100)이 주행하면서 작업 영역에 대한 지도 정보를 생성하게 된다.First, in the map information generating step (S100), the
이때, 상기 관리 로봇(100)은 라이다(LiDAR), 레이다(Radar) 깊이 센서(Depth Sensor) 등 주변의 객체을 감지하고 상기 객체까지의 거리를 측정할 수 있는 객체 감지 및 거리 측정 센서를 구비하여 자율적으로 주행하면서 상기 작업 영역에 대한 지도 정보를 생성할 수 있다. 이어서, 상기 관리 로봇(200)은 상기 생성된 작업 영역에 대한 지도 정보를 하나 이상의 작업 로봇(200)에게 전송될 수 있으며, 나아가 상기 작업 영역에서 하나 이상의 서브 작업 영역을 분할하여 하나 이상의 작업 로봇(200)에게 할당할 수도 있다.At this time, the
이에 따라, 상기 작업 로봇(200)은 상기 관리 로봇(100)에서 생성된 지도 정보를 이용하여 객체 감지 및 거리 측정 센서를 사용하지 않고도 상기 작업 영역에서 분할되어 할당된 서브 작업 영역을 주행하며 작업을 수행할 수 있게 된다. 나아가, 이를 통해 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템에서는, 관리 로봇(100)에만 객체 감지 및 거리 측정 센서가 구비되더라도 하나 이상의 작업 로봇(200)이 상기 관리 로봇(100)에서 생성한 지도 정보 등을 이용하여 상기 작업 영역 내에서 주행하면서 작업을 수행할 수 있는 바, 로봇 및 시스템의 복잡도 증가 및 그에 따른 제조 단가의 상승을 효과적으로 억제할 수 있게 된다.Accordingly, the
즉, 도 3에서 볼 수 있는 바와 같이, 종래 기술에서는 객체 감지 및 거리 측정 센서를 구비하지 못하는 작업 로봇(200)은 주변 환경을 감지하지 못하여 스스로 주행하면서 작업을 수행하지 못하는 문제가 있었으나(도 3(a)), 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템에서는 객체 감지 및 거리 측정 센서를 구비하는 관리 로봇(100)이 주행하면서 작업 영역에 대한 지도 정보를 생성하여 작업 로봇(200)에게 전달하고, 나아가 상기 작업 영역을 하나 이상의 서브 작업 영역으로 나누어 상기 작업 로봇(200)에게 할당하고(도 3(b)의 (A), (B), (C)) 상기 전송된 지도 정보를 이용하여 상기 서브 작업 영역에서 작업을 수행하도록 하게 된다(도 3(b)).That is, as can be seen in FIG. 3, in the prior art, the working
보다 구체적으로, 도 4에서는 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템(10)에서 관리 로봇(100)과 작업 로봇(200) 간의 정보 전송을 설명하고 있다. 도 4에서 볼 수 있는 바와 같이, 관리 로봇(100)은 작업 영역에 대한 지도 정보를 생성하여 공유하고, 나아가 작업 로봇(200)에 대하여 서브 작업 영역을 할당하며 제어 명령 등을 전달하게 된다. 이에 따라, 상기 작업 로봇(200)은 할당된 서브 작업 영역에서 작업을 수행하게 되며, 나아가 자신의 위치 정보나 영상 분석 등을 통해 감지된 고객 등의 위치 정보 등을 상기 관리 로봇(100)으로 전송하여 제어에 활용하도록 할 수도 있다.More specifically, FIG. 4 illustrates information transmission between the
나아가, 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템(10)에서, 상기 관리 로봇(100)은 영상 카메라와 객체 감지 및 거리 측정 센서를 구비하여, 상기 영상 카메라의 영상 데이터를 통해 판단되는 조도가 미리 정해진 조도 기준치에 미치지 못하는 경우, 상기 객체 감지 및 거리 측정 센서를 사용하여 상기 지도 정보를 생성하도록 함으로써, 조도가 부족한 환경에서도 높은 신뢰도를 가지는 지도 정보를 생성할 수 있게 된다.Further, in the robot group control method and
이어서, 상기 서브 작업 영역 할당 단계(S200)에서는 상기 관리 로봇(100)이 상기 작업 영역에서 하나 이상의 서브 작업 영역을 분할하여 하나 이상의 작업 로봇(200)에게 할당하게 된다.Subsequently, in the sub-work area allocation step (S200), the
이때, 상기 서브 작업 영역 할당 단계(S200)에서, 상기 관리 로봇(100)은 상기 작업 영역의 특정 영역에 대하여 수집된 입체 점군(3D point cloud) 중 상기 작업 공간의 벽면에서 이탈하는 이탈 점군을 산정하고, 상기 이탈 점군의 숫자에 따라 상기 특정 영역을 서브 작업 영역으로 산출할 것인지 여부를 판단할 수 있다.At this time, in the sub-work area allocation step (S200), the
보다 구체적으로, 도 5에서 볼 수 있는 바와 같이, 상기 서브 작업 영역 할당 단계(S200)는, 상기 작업 영역의 특정 영역에 대하여 수집된 입체 점군(3D point cloud)을 투영하여 상기 특정 영역의 벽면에 대한 평면(2D) 벡터를 산출하는 단계(도 5의 (D)), 상기 평면(2D) 벡터로부터 상기 특정 영역의 벽면을 산출하는 단계(도 5의 (E)) 및 상기 입체 점군 중 상기 특정 영역의 벽면에서 이탈하는 이탈 점군을 산정하는 단계((도 5의 (F))를 포함할 수 있다.More specifically, as can be seen in FIG. 5, in the sub-work area allocation step (S200), a 3D point cloud collected for a specific area of the work area is projected onto the wall surface of the specific area. Calculating a plane (2D) vector for (Fig. 5(D)), calculating a wall surface of the specific area from the plane (2D) vector (Fig. 5(E)), and the specific among the three-dimensional point groups It may include a step ((F) of FIG. 5) of calculating a departure point group that deviates from the wall surface of the region.
이에 따라, 상기 관리 로봇(100)은, 도 6에서 볼 수 있는 바와 같이, 상기 지도 정보 생성 단계(S100)에서 생성된 지도 정보와 영상 카메라, 적외선 센서나 키넥트(kinect) 센서 등을 사용하여 생성된 입체 점군(3D point cloud)로부터 산출된 상기 작업 영역의 특정 영역에서의 벽면을 나타내는 평면(2D) 벡터(도 6의 )로부터 가상의 선을 그어 상기 벽면의 라인을 산출한다. Accordingly, the
이어서, 상기 산출된 벽면의 라인에서 이탈하는 점들은 홀이나 방 등 작업 공간에 위치하는 고객 등의 객체이거나 잡음으로 판단될 수 있다. 이때, 도 5에서 볼 수 있는 바와 같이, 상기 이탈하는 점들이 미리 정해진 제1 기준치(Tw)를 넘어서는 경우에는 상기 점들이 위치하는 영역을 고객 등의 객체 탐색 및 대응이 가능한 대형 작업 영역으로 판단하고, 상기 이탈하는 점들이 상기 제1 기준치(Tw)보다는 작고 제2 기준치(Te)보다는 큰 경우에는 상기 대형 작업 영역보다 작은 방 등의 소형 작업 영역으로 판단하며, 상기 제2 기준치(Te)보다 작은 경우에는 잡음으로 판단할 수 있다. 이때, 상기 제1 기준치(Tw) 및 제2 기준치(Te)는 사용되는 센서의 종류 및 특성을 고려하여 산정하는 것이 바람직하다.Subsequently, the points deviating from the calculated wall line may be objects such as customers located in a work space such as a hall or a room, or may be determined as noise. In this case, as shown in FIG. 5, when the deviating points exceed a predetermined first reference value Tw, the area where the points are located is determined as a large work area capable of searching and responding to objects such as customers, and If the deviating points are smaller than the first reference value Tw and larger than the second reference value Te, it is determined as a small work area such as a room smaller than the large work area, and is smaller than the second reference value Te. In this case, it can be judged as noise. In this case, it is preferable to calculate the first reference value Tw and the second reference value Te in consideration of the type and characteristic of the sensor to be used.
이에 따라, 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템(10)에서는, 정적인 작업 공간이 아니라 수시로 변화하는 작업 환경을 반영하여 작업을 수행할 수 있는 동적 작업 공간을 확보하여 작업을 수행할 수 있다. 이때, 관리 로봇(100)은 동적으로 주행하면서 작업 수행에 방해가 되는 장애물 등이 없어 작업 로봇(200)이 원활하게 주행하면서 작업을 수행할 수 있는 영역을 작업 영역으로 판단하여 확보하게 된다.Accordingly, in the robot group control method and
본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템(10)에서, 상기 관리 로봇(100)은 영상 카메라, 적외선 센서나 키넥트(kinect) 센서 등을 사용하여 생성된 입체 점군(3D point cloud)으로부터 점군의 평면 모델 방정식을 이용해 평면을 산출하게 된다. 이때, 본 발명의 일 실시예에 따른 로봇군 제어 방법 밈 시스템에서는 RANSAC 알고리즘 등과 같이 노이즈가 심한 원본 데이터에서도 모델 파라미터를 효과적으로 도출할 수 있는 알고리즘을 적용하는 것이 바람직하다. 보다 구체적으로 상기 RANSAC 알고리즘은 전체 원본 데이터 중 모델의 파라미터를 결정하는데 필요한 최소의 데이터를 랜덤하게 샘플링하면서 반복적으로 계산해 최적의 해를 도출하게 된다. 종래의 통계적인 방법들은 초기의 해를 구하기 위해서 가능한 많은 데이터를 사용하고 그 결과로부터 유효하지 않은 데이터를 제거하는 반면, RANSAC 알고리즘에서는 가능한 적은 양의 초기 데이터를 이용하여 일관된 데기터의 집합을 늘려가는 방식을 사용하게 된다.In the robot group control method and
이에 따라, 상기 RANSAC 알고리즘을 적용함에 있어서 반복 회수 N을 결정하여야 하는데, 미리 정해진 확률 기준치(통상적으로 99%)를 보장할 수 있도록 충분히 큰 N을 선택하는 것이 바람직하다. 여기서, 데이터가 유효할 확률이 u라고 하면, 데이터가 유효하지 않을 확률 v = 1 - u가 되며, 이때 샘플 데이터 수 m에 대한 반복 회수 N은 아래 수학식 1에 의해 산출될 수 있다.Accordingly, in applying the RANSAC algorithm, the number of repetitions N must be determined, and it is preferable to select a sufficiently large N so as to guarantee a predetermined probability reference value (typically 99%). Here, if the probability that the data is valid is u, the probability that the data is not valid is v = 1-u, and at this time, the number of repetitions N for the number of sample data m can be calculated by
[수학식 1][Equation 1]
이와 관련하여, 도 7에서는 3차원 공간에서 평면 모델을 이용해 RANSAC 분할(segmentation)을 수행하여 점군이 추종하는 평면을 인식한 결과를 예시하고 있다. In this regard, FIG. 7 illustrates a result of recognizing a plane followed by a point cloud by performing RANSAC segmentation using a plane model in a three-dimensional space.
보다 구체적으로, 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템(10)에 있어서, 점군이 추종하는 평면을 산출하는 과정은 크게 2단계로 구분될 수 있다. 먼저, 첫번째 단계에서는 도 8에서 볼 수 있는 바와 같이 점군으로부터 노멀 벡터(normal vector)를 계산하고, 계산된 노멀 벡터가 같은 평면에 있는지 여부를 각도 임계값을 기준으로 판단하게 된다(예를 들어, 본 발명의 일 실시예로서 상기 각도 임계값으로 3°를 사용 가능). 이에 따라, 같은 평면에 위치하는 포인트의 노멀 벡터를 사용하여 평균 벡터 [A, B, C]T를 구할 수 있고, 이에 따라 상기 평면은 아래와 같이 수학식 2로 표현될 수 있으며, 이때 d 는 [xm, ym, zm]T 을 활용할 수 있다.More specifically, in the robot group control method and
[수학식 2][Equation 2]
이어서, 두번째 단계에서는 도 9에서 볼 수 있는 바와 같이 추정된 평면의 정확도를 개선하게 된다. 이때, 로봇이 주행하고 작업을 수행하는 바닥 평면은 장애물이 없는 안정적인 공간으로서 로봇의 작업 공간이 된다. 이에 따라, 좌, 우 및 바닥 평면을 구분하기 위해 각 평면의 대표 법선 벡터 을 구하고, 이를 중력 벡터 와의 내적을 통해 아래 수학식 3과 같이 중력 벡터와의 각도를 구한다. Subsequently, in the second step, the accuracy of the estimated plane is improved as shown in FIG. 9. At this time, the floor plane on which the robot travels and performs tasks is a stable space without obstacles and becomes the robot's work space. Accordingly, the representative normal vector of each plane is used to distinguish the left, right and floor planes. Find the gravitational vector Through the dot product of and, the angle with the gravity vector is obtained as in Equation 3 below.
[수학식 3][Equation 3]
또한, 도 9에서 볼 수 있는 바와 같이, 순차적으로 좌, 우 및 바닥 평면을 산출한다. 로봇들은 바닥 평면과 평행하게 위치하므로 초기 θ 값은 180°가 되며, 만약 θ 값이 -90° 또는 270° 일 때에는 우측 평면이 되고, 90°일 때에에는 좌측 평면으로 추정할 수 있다.In addition, as can be seen in FIG. 9, the left, right, and floor planes are sequentially calculated. Since the robots are located parallel to the floor plane, the initial value of θ is 180°, and if the value of θ is -90° or 270°, it becomes the right plane, and if it is 90°, it can be estimated as the left plane.
즉, 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템(10)에서는 평면을 탐지하기 위해 점군을 각 포인트의 노멀 벡터를 사용하여 분할하고, 그 결과로부터 바닥, 우측, 좌측 평면을 추정하게 된다. 이때, 도 6에서 볼 수 있는 바와 같이, 일측 종단의 P1 및 타측 종단의 P2로부터 가 도출될 수 있으며, 이어서 상기 평면(2D) 벡터 을 이용하여 서브 작업 영역을 산출하게 된다. 이에 따라, 본 발명에서는 영상의 단일 이미지로부터 상기 벽면 벡터를 구하여 벽면을 추정할 수 있어, 종래 기술과 같이 연속적 이미지의 분석을 통해 벽면을 추정하는 경우보다 적은 연산량으로 빠르게 처리할 수 있다는 장점을 가진다.That is, in the robot group control method and
이어서, 상기 작업 수행 단계(S300)에서는, 상기 관리 로봇(100)이 상기 하나 이상의 작업 로봇(200)을 제어하여 상기 하나 이상의 서브 작업 영역에서 각각 작업을 수행하도록 하게 된다.Subsequently, in the task execution step S300, the
이때, 상기 작업 로봇(200)은 영상 카메라를 구비하여 주변에 대한 영상 정보를 생성하고, 상기 영상 정보와 상기 관리 로봇(100)으로부터 전송된 지도 정보를 이용하여 상기 작업 영역에서의 자신의 위치 정보를 산출할 수 있고, 이에 따라 LiDAR 등 고가의 센서를 구비하지 않고도 상기 작업 영역 내에서 자유롭게 주행하면서 작업을 수행할 수 있게 된다.At this time, the working
나아가, 이때 상기 관리 로봇(100)은, 도 10에서 볼 수 있는 바와 같이, 자신의 위치를 기준으로 산출되는 상기 작업 로봇(200)의 상대적인 위치 정보를 이용하여 상기 작업 로봇(200)의 위치 정보를 제어할 수 있다.Furthermore, at this time, as shown in FIG. 10, the
즉, 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템(10)에 있어서, 지도 정보는 관리 로봇(100)을 기준으로 작성되고, 이에 따라 작업 로봇(200)들은 상기 관리 로봇(100)과의 상대적인 위치를 기준으로 위치 정보가 정의될 수 있다. 이에 따른 좌표계 설정은 아래 수학식 4와 같이 정의될 수 있다.That is, in the robot group control method and
[수학식 4][Equation 4]
즉, 도 10에서 볼 수 있는 바와 같이, 관리 로봇(100)의 좌표계 {S}를 기준으로 하는 점 sP와 작업 로봇(200)의 좌표계 {T1}을 기준으로 하는 점 T1P 사이의 관계는 {S}와 {T1} 사이의 균질 변환 행렬(homogeneous transformation matrix) 에 의해 위 수학식 4와 같이 표현될 수 있다. 여기서 는 Zs 축에 대해 θs 만큼 회전한 후, 회전된 작업 로봇(200) 1의 좌표계의 XT1축 방향으로 sPT1ORG 만큼 이동하는 변환 행렬이다. 또한, 관리 로봇(100)은 작업 로봇(200) 2와의 좌표 변환 행렬 의 관계를 이용하여 관리 로봇(100)을 기준으로 작업 로봇(200) 2의 상대 위치 및 방위도 기술할 수 있게 된다.That is, as can be seen in FIG. 10, the relationship between the point s P based on the coordinate system {S} of the management robot 100 and the point T1 P based on the coordinate system {T1} of the
이에 따라, 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템(100)에서는, 도 11에서 볼 수 있는 바와 같이, 관리 로봇(100)과 작업 로봇(200)의 분업을 통해 넓은 작업 영역에 대한 동적 작업 공간을 확보하고, 서브 작업 영역을 나누어 할당하여 하나 이상의 작업 로봇(200)이 각 서브 작업 영역에서 원활하게 작업을 수행할 수 있도록 하게 된다.Accordingly, in the robot group control method and
보다 구체적으로, 관리 로봇(100)은 작업 영역에 대한 지도 정보를 생성하고(도 11의 (G)), 상기 작업 영역에서 작업 로봇(200)의 배치가 필요한 서브 작업 영역을 선정하게 된다(도 11의 (H)). 또한, 상기 관리 로봇(100)은 자율적으로 주행하면서 동적 작업 영역을 확보하여 작업 로봇(200)에게 제공함으로써(도 11의 (I)), 작업 로봇(200)이 상기 동적 작업 영역에서 안전하게 주행하면서 고객 대응 등의 작업을 원활하게 수행할 수 있게 된다. 이에 따라, 하나 이상의 작업 로봇(200)을 산출된 여러 서브 작업 영역으로 순차 이동시켜 고객의 탐색 및 응대 등 작업을 수행하게 된다. More specifically, the
이때, 상기 작업 로봇(200)은 영상을 기반으로 고객 등을 인식하고 작업을 수행할 수 있으며(도 11의 (J)), 상기 작업 로봇(200)이 고객 응대 등 작업을 개시하면 고객의 위치 및 작업 상황 등의 정보를 상기 관리 로봇(100) 또는 관리 서버 등으로 전송할 수 있다. 상기 서브 작업 영역에 고객 등이 없는 경우 작업 로봇(200)은 다른 서브 작업 영역으로 이동하여 작업을 수행하는 과정을 반복하게 된다. 이때, 추가적인 서브 작업 영역이 남아있지 않은 경우에는, 상기 관리 로봇(100)이 다른 지역으로 이동하여 추가적인 영역에 대한 지도 정보를 생성하고, 작업 영역을 확보하여 작업 로봇(200)에게 할당하게 된다.At this time, the
또한, 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템(10)에서는, 카메라 영상을 촬영하기 위한 조도 등이 확보되지 못한 경우에도 적외선 센서 등을 사용하여 서브 작업 영역을 인식하고 고객 등 객체를 탐색하여 작업을 수행할 수 있다. In addition, in the robot group control method and
보다 구체적으로, 도 12에서 볼 수 있는 바와 같이, 상기 작업 수행 단계(S300)는 (a) 상기 작업 로봇이 상기 적외선 영상의 히스토그램(histogram)을 정규화하는 단계(S1310), (b) 상기 적외선 영상에 모폴로지 연산-침식(erosion)-과 가우시안 필터링-블러(blur)-을 적용하는 단계(S1320, S1330), (c) 상기 적외선 영상을 이진화(binarization)하는 단계(S1340) 및 (d) 상기 적외선 영상에 대하여 레이블링(blob labeling)을 수행하는 단계(S1350)를 포함하여, 적외선 영상을 이용해 서브 작업 영역을 인식하고 고객 등 객체를 탐색하여 작업을 수행할 수 있다.More specifically, as can be seen in FIG. 12, the operation performing step (S300) includes (a) normalizing the histogram of the infrared image by the working robot (S1310), (b) the infrared image Applying a morphology operation-erosion-and Gaussian filtering-blur-to (S1320, S1330), (c) binarizing the infrared image (S1340) and (d) the infrared Including the step of performing blob labeling on the image (S1350), a sub-work area may be recognized using an infrared image and an object such as a customer may be searched to perform a task.
즉, 도 12에서는 적외선 영상을 통해 서브 작업 영역을 인식하고 분할하는 과정을 예시한다. 이때, 적외선 영상의 히스토그램(histogram)은 아래의 수학식 5와 같이 정의될 수 있다. That is, FIG. 12 illustrates a process of recognizing and segmenting a sub-work area through an infrared image. In this case, the histogram of the infrared image may be defined as in Equation 5 below.
[수학식 5][Equation 5]
여기서 Xk는 k번째 밝기 값이며, nk는 영상에서 밝기 Xk를 갖는 화소들의 숫자이다. 원본 적외선 영상의 히스토그램은 대부분의 화소들이 어두운 영역에 몰려 있으므로, 히스토그램의 각 요소들을 영상 전체 화소 수로 나누어 정규화(normalization) 한다. Here, X k is the k-th brightness value, and n k is the number of pixels with brightness X k in the image. The histogram of the original infrared image is normalized by dividing each element of the histogram by the total number of pixels in the image because most of the pixels are concentrated in the dark area.
이에 따라, 정규화된 히스토그램 p(Xk)는 밝기 Xk가 발생할 확률을 나타내고 확률밀도함수(PDF)를 구하는 식은 아래 수학식 6과 같이 정의될 수 있다. Accordingly, the normalized histogram p(X k ) represents the probability of occurrence of brightness X k , and an equation for obtaining the probability density function (PDF) may be defined as in Equation 6 below.
[수학식 6][Equation 6]
여기서 n은 영상 전체 픽셀 수이고 정규화된 히스토그램의 모든 요소의 합은 1이 된다. 또한, 누적분포함수(CDF)를 구하여 최대 명암값(L-1)을 곱하면 아래의 수학식 7과 같이 히스토그램 평활화를 적용한 영상 값을 구할 수 있다. Here, n is the total number of pixels in the image, and the sum of all elements of the normalized histogram is 1. In addition, if the cumulative distribution function (CDF) is obtained and multiplied by the maximum contrast value (L-1), an image value to which the histogram smoothing is applied can be obtained as shown in Equation 7 below.
[수학식 7][Equation 7]
여기서 sk는 영상의 밝기 값 Xk에 대응되는 평활화된 밝기 값이고 전체 영상에 적용하면 평활화된 이미지는 원본 적외선 영상에 비해 명암 대비가 뚜렷해진다. Here, s k is a smoothed brightness value corresponding to the brightness value X k of the image, and when applied to the entire image, the smoothed image has a clear contrast compared to the original infrared image.
다음으로 배경과 사람을 분리하고 잡음 제거를 위해 모폴로지 연산(morphological operations)인 침식(erosion)과 가우시안 필터(Gaussian filter)를 적용한다. 우선, 침식 연산은 아래의 수학식 8과 같이 정의될 수 있다.Next, the background and the person are separated, and morphological operations such as erosion and Gaussian filter are applied to remove noise. First, the erosion operation may be defined as in Equation 8 below.
[수학식 8][Equation 8]
여기서, B를 z만큼 이동시켰을 때, 이동된 B가 완전히 A의 부분집합이 되면 B가 된다. 도 12(K)에서는 침식 연산이 적용된 적외선 영상을 예시하고 있다.Here, when B is moved by z, if the moved B is completely a subset of A, it becomes B. In FIG. 12(K), an infrared image to which an erosion operation is applied is exemplified.
다음으로 저주파 필터인 가우시안 필터는 아래의 수학식 9와 같이 정의될 수 있다. Next, a Gaussian filter, which is a low frequency filter, may be defined as in Equation 9 below.
[수학식 9][Equation 9]
여기서 (x, y)는 영상에서 화소의 위치이고 σ는 표준편차이다. 잡음이 제거된 영상에서 이진화를 적용한 뒤(도 12(L)), 고객 등 객체의 인식을 위해 4-Connectivity Blob Labeling을 수행한다. 레이블링 기법은 배경과 물체로 구분된 이진화된 영상에서 4-근방 이웃 화소들을 확인하며 각 물체의 시작점과 같은 아이디(ID)를 부여해 하나의 물체를 레이블링 하게 된다. 이와 같은 방법으로 모든 물체의 레이블링을 적용하면 여러 개의 레이블링된 물체가 인식된다. 이중에서 레이블링의 화소 수에 따라 잡음과 사람을 구분해 고객 등 객체를 인식하게 된다(도 12의 (M)). 이러한 일련의 과정을 통해, 본 발명의 일 실시예에 따른 로봇군 제어 방법 및 시스템(10)에서는, 조명 또는 빛이 들어오지 않아 조도가 부족한 공간에서도 서브 작업 영역을 인식하고 고객 등 객체를 탐색하여 작업을 원활하게 수행할 수 있게 된다.Where (x, y) is the position of the pixel in the image and σ is the standard deviation. After applying binarization in the image from which noise has been removed (FIG. 12(L)), 4-Connectivity Blob Labeling is performed to recognize objects such as customers. In the labeling technique, in a binary image divided into a background and an object, four neighboring pixels are identified, and an object is labeled by assigning the same ID as the starting point of each object. If labeling of all objects is applied in this way, several labeled objects are recognized. Among them, objects such as customers are recognized by classifying noise and people according to the number of pixels in the labeling (FIG. 12(M)). Through such a series of processes, in the robot group control method and
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명에 기재된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의해서 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains will be able to make various modifications and variations without departing from the essential characteristics of the present invention. Therefore, the embodiments described in the present invention are not intended to limit the technical idea of the present invention, but to explain, and are not limited to these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.
10 : 로봇군 제어 시스템
100 : 관리 로봇
200 : 작업 로봇10: Robot group control system
100: management robot
200: working robot
Claims (12)
상기 작업 영역에서 하나 이상의 서브 작업 영역을 분할하여 하나 이상의 작업 로봇에게 할당하는 서브 작업 영역 할당 단계; 및
상기 하나 이상의 작업 로봇이 상기 하나 이상의 서브 작업 영역에서 각각 작업을 수행하도록 제어하는 작업 수행 단계;
를 포함하며,
상기 서브 작업 영역 할당 단계는,
상기 작업 영역의 특정 영역에 대하여 수집된 입체 점군(3D point cloud) 중 상기 작업 공간의 벽면에서 이탈하는 이탈 점군을 산정하고,
상기 이탈 점군의 숫자에 따라 상기 특정 영역을 서브 작업 영역으로 산출할 것인지 여부를 판단하는 것을 특징으로 하는 로봇군 제어 방법.A map information generation step of generating map information on a work area while the management robot travels;
A sub-work area allocating step of dividing one or more sub-work areas in the work area and assigning them to one or more work robots; And
A task performing step of controlling the one or more work robots to perform tasks in the one or more sub-work areas, respectively;
Including,
The sub-work area allocation step,
Calculate a departure point group deviating from the wall surface of the work space among the 3D point clouds collected for a specific area of the work area,
And determining whether to calculate the specific area as a sub-work area according to the number of the deviated point groups.
상기 지도 정보 생성 단계에서,
상기 관리 로봇은 객체 감지 및 거리 측정 센서를 구비하여 상기 지도 정보를 생성하며,
상기 작업 수행 단계에서,
상기 작업 로봇은 상기 생성된 지도 정보를 이용하여 객체 감지 및 거리 측정 센서를 사용하지 않고 상기 서브 작업 영역을 주행하며 작업을 수행하는 것을 특징으로 하는 로봇군 제어 방법.The method of claim 1,
In the step of generating the map information,
The management robot is provided with an object detection and distance measurement sensor to generate the map information,
In the step of performing the above operation,
The robot group control method, wherein the working robot performs a task while traveling through the sub-work area without using an object detection and distance measurement sensor using the generated map information.
상기 작업 수행 단계에서,
상기 작업 로봇은 영상 카메라를 구비하여 주변에 대한 영상 정보를 생성하고,
상기 영상 정보와 상기 지도 정보를 이용하여 상기 작업 영역에서의 자신의 위치 정보를 산출하여 작업을 수행하는 것을 특징으로 하는 로봇군 제어 방법.The method of claim 2,
In the step of performing the above operation,
The working robot has an image camera to generate image information about the surroundings,
A method of controlling a robot group, characterized in that performing a task by calculating its own location information in the work area using the image information and the map information.
상기 관리 로봇은,
자신의 위치를 기준으로 산출되는 상기 작업 로봇의 상대적인 위치 정보를 이용하여 상기 작업 로봇의 위치 정보를 제어하는 것을 특징으로 하는 로봇군 제어 방법.The method of claim 3,
The management robot,
The robot group control method, characterized in that the position information of the working robot is controlled by using the relative position information of the working robot calculated based on its own position.
상기 서브 작업 영역 할당 단계는,
상기 작업 영역의 특정 영역에 대하여 수집된 입체 점군(3D point cloud)을 투영하여 상기 특정 영역의 벽면에 대한 평면(2D) 벡터를 산출하는 단계;
상기 평면(2D) 벡터로부터 상기 특정 영역의 벽면을 산출하는 단계; 및
상기 입체 점군 중 상기 특정 영역의 벽면에서 이탈하는 이탈 점군을 산정하는 단계;를 포함하는 것을 특징으로 하는 로봇군 제어 방법.The method of claim 1,
The sub-work area allocation step,
Calculating a plane (2D) vector for a wall surface of the specific area by projecting a 3D point cloud collected for a specific area of the working area;
Calculating a wall surface of the specific area from the plane (2D) vector; And
And calculating a departure point group that deviates from the wall surface of the specific area among the three-dimensional point groups.
상기 서브 작업 영역 할당 단계에서는,
상기 이탈 점군의 숫자가 미리 정해진 잡음 기준치보다 작거나 같은 경우에는 상기 이탈 점군을 잡음으로 판단하고,
상기 이탈 점군의 숫자가 미리 정해진 잡음 기준치보다 큰 경우에는 상기 이탈 점군을 객체로 판단하는 것을 특징으로 하는 로봇군 제어 방법.The method of claim 1,
In the sub-work area allocation step,
When the number of the deviated point groups is less than or equal to a predetermined noise reference value, the deviating point group is determined as noise,
When the number of the deviated point groups is greater than a predetermined noise reference value, the deviating point group is determined as an object.
상기 작업 수행 단계에서,
상기 작업 로봇은 적외선 센서(IR sensor)를 사용하여 생성된 적외선 영상을 이용해 상기 서브 작업 영역을 인식하여 작업을 수행하는 것을 특징으로 하는 로봇군 제어 방법.The method of claim 1,
In the step of performing the above operation,
The robot group control method, wherein the working robot performs a task by recognizing the sub-work area using an infrared image generated using an infrared sensor.
상기 작업 수행 단계는,
(a) 상기 작업 로봇이 상기 적외선 영상의 히스토그램(histogram)을 정규화하는 단계;
(b) 상기 적외선 영상에 모폴로지 연산-침식(erosion)-과 가우시안 필터링-블러(blur)-을 적용하는 단계;
(c) 상기 적외선 영상을 이진화(binarization)하는 단계; 및
(d) 상기 적외선 영상에 대하여 레이블링(blob labeling)을 수행하는 단계;를 포함하는 것을 특징으로 하는 로봇군 제어 방법.The method of claim 8,
The step of performing the operation,
(a) normalizing, by the working robot, a histogram of the infrared image;
(b) applying a morphology operation-erosion-and Gaussian filtering-blur-to the infrared image;
(c) binarizing the infrared image; And
(d) performing blob labeling on the infrared image.
상기 지도 정보 생성 단계에서,
상기 관리 로봇은 영상 카메라와 객체 감지 및 거리 측정 센서를 구비하여,
상기 영상 카메라의 영상 데이터를 통해 판단되는 조도가 미리 정해진 조도 기준치에 미치지 못하는 경우,
상기 객체 감지 및 거리 측정 센서를 사용하여 상기 지도 정보를 생성하는 것을 특징으로 하는 로봇군 제어 방법.The method of claim 1,
In the step of generating the map information,
The management robot includes an image camera and an object detection and distance measurement sensor,
When the illuminance determined through the image data of the video camera does not meet a predetermined illuminance reference value,
And generating the map information using the object detection and distance measurement sensor.
주행하면서 작업 영역에 대한 지도 정보를 생성하고, 상기 작업 영역에서 하나 이상의 서브 작업 영역을 분할하여 하나 이상의 작업 로봇에게 할당하는 관리 로봇; 및
상기 할당받은 하나 이상의 서브 작업 영역에서 작업을 수행하는 작업 로봇;
을 포함하며,
상기 관리 로봇은,
상기 작업 영역의 특정 영역에 대하여 수집된 입체 점군(3D point cloud) 중 상기 작업 공간의 벽면에서 이탈하는 이탈 점군을 산정하고,
상기 이탈 점군의 숫자에 따라 상기 특정 영역을 서브 작업 영역으로 분할하여 할당할 것인지 여부를 판단하는 것을 특징으로 하는 로봇군 제어 시스템.In a control system for a robot group comprising a management robot and one or more work robots,
A management robot that generates map information on a work area while driving, divides one or more sub-work areas from the work area, and assigns it to one or more work robots; And
A work robot that performs work in the assigned one or more sub work areas;
Including,
The management robot,
Calculate a departure point group deviating from the wall surface of the work space among the 3D point clouds collected for a specific area of the work area,
And determining whether to divide and allocate the specific area into sub-work areas according to the number of the deviated point groups.
상기 관리 로봇은 객체 감지 및 거리 측정 센서를 구비하여 상기 지도 정보를 생성하며,
상기 작업 로봇은 상기 생성된 지도 정보를 이용하여 객체 감지 및 거리 측정 센서를 사용하지 않고 상기 서브 작업 영역을 주행하며 작업을 수행하는 것을 특징으로 하는 로봇군 제어 시스템.The method of claim 11,
The management robot is provided with an object detection and distance measurement sensor to generate the map information,
The robot group control system, wherein the working robot performs a task while traveling through the sub-work area without using an object detection and distance measurement sensor using the generated map information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180138613A KR102257746B1 (en) | 2018-11-13 | 2018-11-13 | Method for controlling robot group and system thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180138613A KR102257746B1 (en) | 2018-11-13 | 2018-11-13 | Method for controlling robot group and system thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200055239A KR20200055239A (en) | 2020-05-21 |
KR102257746B1 true KR102257746B1 (en) | 2021-05-31 |
Family
ID=70910651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180138613A KR102257746B1 (en) | 2018-11-13 | 2018-11-13 | Method for controlling robot group and system thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102257746B1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210155283A (en) * | 2020-06-15 | 2021-12-22 | 삼성전자주식회사 | Electronic device and operating method for the same |
KR20220004453A (en) * | 2020-07-03 | 2022-01-11 | 삼성전자주식회사 | Electronic device and method for recognizing objects |
KR102405955B1 (en) * | 2020-12-29 | 2022-06-08 | 현대위아 주식회사 | Multiple mobile robot path analysis system and method thereof |
CN112967559B (en) * | 2021-03-29 | 2021-12-28 | 北京航空航天大学 | Assembly skill direct generation method based on virtual assembly environment |
WO2023068542A1 (en) * | 2021-10-21 | 2023-04-27 | 한국전자통신연구원 | Method and computing device for global localization of mobile robot |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4043289B2 (en) * | 2002-05-27 | 2008-02-06 | シャープ株式会社 | Search robot system |
KR101697857B1 (en) * | 2015-04-08 | 2017-01-18 | 엘지전자 주식회사 | Moving robot and method for recognizing a location of the same |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102608046B1 (en) | 2016-10-10 | 2023-11-30 | 엘지전자 주식회사 | Guidance robot for airport and method thereof |
KR102096875B1 (en) * | 2016-10-21 | 2020-05-28 | 네이버랩스 주식회사 | Robot for generating 3d indoor map using autonomous driving and method for controlling the robot |
-
2018
- 2018-11-13 KR KR1020180138613A patent/KR102257746B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4043289B2 (en) * | 2002-05-27 | 2008-02-06 | シャープ株式会社 | Search robot system |
KR101697857B1 (en) * | 2015-04-08 | 2017-01-18 | 엘지전자 주식회사 | Moving robot and method for recognizing a location of the same |
Also Published As
Publication number | Publication date |
---|---|
KR20200055239A (en) | 2020-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102257746B1 (en) | Method for controlling robot group and system thereof | |
US11657595B1 (en) | Detecting and locating actors in scenes based on degraded or supersaturated depth data | |
US20200334843A1 (en) | Information processing apparatus, control method for same, non-transitory computer-readable storage medium, and vehicle driving support system | |
US20190057588A1 (en) | Robust Motion Filtering for Real-time Video Surveillance | |
US10165246B2 (en) | Method and device for processing stereoscopic data | |
JP6997057B2 (en) | Devices, programs and methods for estimating terminal position from non-animal body information | |
JP2011123887A (en) | Method and system for extracting pixel from set of image | |
US20200300639A1 (en) | Mobile robots to generate reference maps for localization | |
CN111382637B (en) | Pedestrian detection tracking method, device, terminal equipment and medium | |
CN110390706B (en) | Object detection method and device | |
JP6817742B2 (en) | Information processing device and its control method | |
CN111354022A (en) | Target tracking method and system based on kernel correlation filtering | |
US20220148200A1 (en) | Estimating the movement of an image position | |
Pavlović et al. | Advanced thermal camera based system for object detection on rail tracks | |
Deepu et al. | Path generation for robot navigation using a single camera | |
WO2020046203A1 (en) | Device and method for tracking human subjects | |
Hernández et al. | Stairway detection based on single camera by motion stereo | |
KR102541959B1 (en) | Elevator control system and method for controlling elevator which robot and human board | |
KR101333459B1 (en) | Lane detecting method and apparatus thereof | |
US20230376106A1 (en) | Depth information based pose determination for mobile platforms, and associated systems and methods | |
KR100994722B1 (en) | Method for tracking moving object on multiple cameras using probabilistic camera hand-off | |
Koval et al. | An image segmentation method for obstacle detection in a mobile robot environment | |
Ruf et al. | Enhancing automated aerial reconnaissance onboard UAVs using sensor data processing-characteristics and pareto front optimization | |
Naggar et al. | A low cost indoor positioning system using computer vision | |
Hegde et al. | A recursive planar feature extraction method for 3D range data segmentation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |