KR102292733B1 - System and method for allocating artificial intelligence model for autonomous driving of a plurality of mobile robots in an asynchronous distributed manner - Google Patents
System and method for allocating artificial intelligence model for autonomous driving of a plurality of mobile robots in an asynchronous distributed manner Download PDFInfo
- Publication number
- KR102292733B1 KR102292733B1 KR1020200069261A KR20200069261A KR102292733B1 KR 102292733 B1 KR102292733 B1 KR 102292733B1 KR 1020200069261 A KR1020200069261 A KR 1020200069261A KR 20200069261 A KR20200069261 A KR 20200069261A KR 102292733 B1 KR102292733 B1 KR 102292733B1
- Authority
- KR
- South Korea
- Prior art keywords
- partial
- environment
- artificial intelligence
- mobile robot
- intelligence model
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/0088—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- 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/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- 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/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/0011—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement
- G05D1/0044—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement by providing the operator with a computer generated representation of the environment of the vehicle, e.g. virtual reality, maps
Abstract
Description
본 발명은 무인 이동 로봇의 제어 기술에 관한 것으로, 보다 구체적으로 복수의 무인 이동 로봇의 자율 주행을 위해 복수의 인공지능 모델을 분산적으로 생성하고 무인 이동 로봇들에게 할당하도록 하는 비동기 분산 방식의 인공지능 모델 할당 시스템과 그 방법에 관한 것이다.The present invention relates to a control technology of an unmanned mobile robot, and more specifically, an asynchronous distributed artificial It relates to an intelligent model allocation system and method therefor.
최근 무인 이동 로봇을 활용한 다양한 형태의 서비스들이 개발되어 식품, 유통, 호텔, 제조, 물류 등 수많은 사업 분야에 적용되고 있고, 각 산업 환경에서 활용되는 로봇들은 해당 산업 환경의 요구 조건 만족 및 로봇 간 협업을 달성하기 위하여 동기종 또는 이기종으로 구성된다.Recently, various types of services using unmanned mobile robots have been developed and applied to numerous business fields such as food, distribution, hotel, manufacturing, and logistics. Consists of homogeneous or heterogeneous to achieve collaboration.
최근에는 로봇이 각 산업 환경에서 자율적으로 주행하기 위하여 규칙 또는 학습 기반의 알고리즘 및 인공지능 모델들이 로봇에 내장되고 있으며, 경우에 따라 로봇 관제 시스템에서 상기 알고리즘과 모델들을 이용하여 로봇들을 제어하는 기술이 개발되고 있다.Recently, rules or learning-based algorithms and artificial intelligence models are being built into robots so that the robots can autonomously drive in each industrial environment. is being developed
종래 규칙 기반의 자율 주행 알고리즘들은 규칙에 포함되어 있지 않은 예외 상황에 대한 처리를 개발자 및 사용자가 수작업으로 입력해줘야 하고, 새로운 구조의 환경에 대한 새로운 규칙을 추가하거나 기존 규칙을 제거하는 등의 규칙 편집 작업이 수행되어야 하므로, 예외 처리와 새로운 환경에 대한 로봇 자율 주행이 어렵다는 문제가 있다.Conventional rule-based autonomous driving algorithms require developers and users to manually input handling of exceptions that are not included in the rules, and edit rules such as adding new rules or removing existing rules for a new structured environment Since the task has to be performed, there is a problem that it is difficult to handle exceptions and autonomously drive the robot to a new environment.
기존 규칙 기반 자율 주행 알고리즘의 문제점을 해결하기 위해 종래 로봇 분야에는 학습 기반의 자율 주행 알고리즘이 연구되고 있고, 로봇은 해당 알고리즘을 기반으로 주행 환경에서 발생할 수 있는 여러 변수와 상황 자체를 학습하여 인공지능 모델을 생성하고, 상기 모델을 기반으로 로봇은 예외 상황도 대처할 수 있는 자율 주행을 수행할 수 있다.In order to solve the problems of the existing rule-based autonomous driving algorithm, a learning-based autonomous driving algorithm is being studied in the field of conventional robots, and the robot learns various variables and situations that may occur in the driving environment based on the algorithm to learn artificial intelligence. A model is generated, and based on the model, the robot can perform autonomous driving capable of coping with exceptional situations.
종래의 학습 기반 자율 주행 기술에서 로봇이 자율 주행할 수 있는 하나의 환경에 대해 하나의 인공지능 모델을 생성하고, 해당 인공지능 모델을 로봇에게 할당하여 로봇이 자율 주행을 수행하도록 한다. 따라서 종래의 학습 기반의 자율 주행 알고리즘이 탑재된 로봇들은 주행해야 할 환경의 규모가 커질수록 주행 환경에 대한 학습 시간, 즉, 인공지능 모델을 생성하는 시간이 증가할 수 밖에 없다. 또한, 환경의 규모가 커질수록 환경에서 발생 가능한 변수들 및 예외 상황들이 증가하므로 인공지능 모델의 생성 시간이 증가할 수 있다. 이는 로봇을 실제 산업 환경에서 적용하는 시간과 비용이 추가되는 것을 의미한다.In the conventional learning-based autonomous driving technology, one AI model is generated for one environment in which the robot can autonomously drive, and the AI model is assigned to the robot so that the robot performs autonomous driving. Therefore, robots equipped with conventional learning-based autonomous driving algorithms inevitably increase the learning time for the driving environment, that is, the time to generate an artificial intelligence model, as the size of the environment to be driven increases. In addition, as the size of the environment increases, variables and exceptions that can occur in the environment increase, so that the creation time of the artificial intelligence model may increase. This means that the time and cost of applying the robot in a real industrial environment is added.
본 발명은 상술한 문제점을 해결하기 위해 제안된 것으로, 하나의 환경을 복수의 부분 환경들로 분할하고, 각 부분 환경에 대한 인공지능 모델을 비동기 분산 방식으로 생성하여 각 로봇의 위치에 따라 인공지능 모델을 각 로봇에 할당하여, 인공지능 모델의 생성 시간을 줄이고 인공지능 모델을 경량화하는 비동기 분산 방식의 인공지능 모델 할당 시스템과 그 방법을 제공하는데 목적이 있다.The present invention has been proposed to solve the above-mentioned problems, by dividing one environment into a plurality of partial environments, and generating an artificial intelligence model for each partial environment in an asynchronous and distributed manner, according to the position of each robot. The purpose of this is to provide an asynchronous distributed AI model allocation system and method that reduce the creation time of an AI model and lighten the AI model by allocating a model to each robot.
일 실시예에 따른 이동 로봇의 자율 주행을 위한 인공지능 모델 할당 시스템은, 상기 이동 로봇이 주행 가능한 로봇 환경에 대한 가상 전역 환경을 구축하는 전역 환경 구축부; 상기 가상 전역 환경을 복수의 부분 환경들로 분할하고 각 부분 환경에 대한 부분 인공지능 모델을 생성하는 부분 환경 구축부; 상기 이동 로봇과 데이터 통신을 수행하는 명령 송수신부; 및 상기 이동 로봇의 상태에 따라 상기 명령 송수신부를 통해 상기 이동 로봇으로 상기 가상 전역 환경과, 상기 이동 로봇의 위치에 대응하는 부분 환경 및 부분 인공지능 모델을 할당하는 환경 모델 할당부를 포함한다.According to an embodiment, an artificial intelligence model allocation system for autonomous driving of a mobile robot includes: a global environment construction unit configured to construct a virtual global environment for a robot environment in which the mobile robot can run; a partial environment construction unit dividing the virtual global environment into a plurality of partial environments and generating a partial artificial intelligence model for each partial environment; a command transceiver for performing data communication with the mobile robot; and an environment model allocator for allocating the virtual global environment, a partial environment and a partial artificial intelligence model corresponding to the position of the mobile robot to the mobile robot through the command transceiver according to the state of the mobile robot.
상기 전역 환경 구축부는, 상기 로봇 환경에 포함된 센서 기기로부터 수신된 측정 정보와, 영상 촬영 기기로부터 수신된 영상 정보를 기초로 내/외벽을 포함한 객체들을 판별하고, 판별된 객체들을 2차원 가상 지도에 배치할 수 있다.The global environment construction unit determines objects including inner/outer walls based on the measurement information received from the sensor device included in the robot environment and the image information received from the image capturing device, and uses the determined objects as a two-dimensional virtual map. can be placed in
상기 부분 환경 구축부는, 상기 가상 전역 환경을 상기 이동 로봇의 최대 회전 반경 크기를 기초로 복수의 부분 환경들로 분할하는 부분 환경 구축 모듈; 상기 복수의 부분 환경 각각에서 상기 이동 로봇이 주행 가능한 공간의 외벽에 존재하는 객체를 이상치로 판별하여 제거하는 부분 환경 이상치 제거 모듈; 상기 이상치가 제거된 각 부분 환경을 주행 가능한 공간의 형태에 따라 정규 부분 환경으로 변환하는 정규 부분 환경 구축 모듈; 및 상기 변환된 정규 부분 환경에 대한 부분 인공지능 모델을 생성하는 부분 인공지능 모델 생성 모듈을 포함할 수 있다.The partial environment construction unit may include: a partial environment construction module configured to divide the virtual global environment into a plurality of partial environments based on a maximum rotation radius size of the mobile robot; a partial environment outlier removal module for determining and removing an object existing on an outer wall of a space in which the mobile robot can travel in each of the plurality of partial environments as an outlier; a regular partial environment construction module for converting each partial environment from which the outliers are removed into a regular partial environment according to a shape of a drivable space; and a partial artificial intelligence model generation module for generating a partial artificial intelligence model for the transformed regular partial environment.
상기 부분 환경 구축 모듈은, 상기 가상 전역 환경을 각 차원별로 분할하여 복수의 부분 환경들을 구축하되, 각 부분 환경의 최소 크기는, 상기 이동 로봇의 최대 회전 반경을 포함하는 최소 경계 사각형이 적어도 4개 이상 포함하도록 할 수 있다.The partial environment construction module is configured to construct a plurality of partial environments by dividing the virtual global environment for each dimension, wherein a minimum size of each partial environment includes at least four minimum boundary rectangles including a maximum rotation radius of the mobile robot. may be included.
상기 부분 환경 구축부는, 데이터 저장소에서 상기 변환된 정규 부분 환경과 유사한 기존 정규 부분 환경을 탐색하는 유사 부분 환경 탐색 모듈을 더 포함하고, 상기 부분 인공지능 모델 생성 모듈은, 상기 변환된 정규 부분 환경 중 기존 유사한 정규 부분 환경이 탐색되지 않은 정규 부분 환경에 대해 부분 인공지능 모델을 생성하며, 상기 환경 모델 할당부는, 상기 변환된 정규 부분 환경 중 기존 유사한 정규 부분 환경이 탐색된 정규 부분 환경에 대해서는 기존 유사한 정규 부분 환경에 연결된 부분 인공지능 모델을 할당할 수 있다.The partial environment construction unit further comprises a similar partial environment search module for searching an existing regular partial environment similar to the transformed regular partial environment in the data storage, wherein the partial artificial intelligence model generation module is configured to: Generates a partial artificial intelligence model for a regular partial environment in which an existing similar regular partial environment is not searched, and the environment model allocator is, It is possible to assign a partial AI model connected to a regular partial environment.
상기 유사 부분 환경 탐색 모듈은, 두 개의 정규 부분 환경의 주행 가능한 공간들의 교집합 면적을 합집합 면적으로 나눈 값을 기초로 유사 여부를 판단할 수 있다.The similar partial environment search module may determine whether or not similarity exists based on a value obtained by dividing an intersection area of drivable spaces of two normal partial environments by a union area.
상기 유사 부분 환경 탐색 모듈은, 두 개의 정규 부분 환경의 각 모서리에 맞닿는 주행 가능한 공간의 수를 비교하여 유사 여부를 판단할 수 있다.The similar partial environment search module may compare the number of drivable spaces in contact with each corner of the two regular partial environments to determine whether they are similar.
상기 유사 부분 환경 탐색 모듈은, 두 개의 정규 부분 환경의 각 모서리에 맞닿는 주행 가능한 공간의 면적을 비교하여 유사 여부를 판단할 수 있다.The similar partial environment search module may determine whether or not the two normal partial environments are similar by comparing an area of a drivable space in contact with each corner.
상기 주행 가능한 공간의 면적은, 이동 로봇의 최소 회전 반경에 대한 최소 경계 사각형을 생성하여 해당 주행 가능한 공간에 포함될 수 있는 상기 최소 경계 사각형의 수를 실수로 표현하여 계산될 수 있다.The area of the drivable space may be calculated by generating a minimum bounding quadrangle for the minimum rotation radius of the mobile robot and expressing the number of the minimum bounding quadrangle that can be included in the corresponding drivable space as a real number.
상기 정규 부분 환경 구축 모듈은, 각 부분 환경의 주행 가능한 공간의 형태로서, 그 주행 가능한 공간이 부분 환경의 각 모서리와 연결되는 개수로 정의하되, 폭의 1/2이 이동 로봇의 최소 회전 반경보다 작은 공간은 주행 가능한 공간에서 제외할 수 있다.The regular partial environment construction module is a form of a drivable space of each partial environment, and is defined as the number of drivable spaces connected to each corner of the partial environment, but 1/2 of the width is greater than the minimum rotation radius of the mobile robot Small spaces can be excluded from the drivable space.
상기 환경 모델 할당부는, 상기 이동 로봇의 위치에 대응하는 부분 환경 및 부분 인공지능 모델과, 해당 부분 환경의 각 차원에 인접한 부분 환경들 및 그 부분 환경들에 대한 인공지능 모델을 함께 상기 이동 로봇으로 할당할 수 있다.The environment model allocator may include a partial environment and partial artificial intelligence model corresponding to the position of the mobile robot, partial environments adjacent to each dimension of the corresponding partial environment, and artificial intelligence models for the partial environments together as the mobile robot. can be assigned
일 실시예에 따른 인공지능 모델 할당 시스템에서 이동 로봇의 자율 주행을 위한 인공지능 모델을 할당하는 방법은, 상기 이동 로봇이 주행 가능한 로봇 환경에 대한 가상 전역 환경을 구축하는 단계; 상기 가상 전역 환경을 복수의 부분 환경들로 분할하고 각 부분 환경에 대한 부분 인공지능 모델을 생성하는 단계; 및 상기 이동 로봇의 상태에 따라 상기 이동 로봇으로 상기 가상 전역 환경, 상기 이동 로봇의 위치에 대응하는 부분 환경 및 부분 인공지능 모델을 할당하는 단계를 포함한다.According to an embodiment, a method for allocating an artificial intelligence model for autonomous driving of a mobile robot in an artificial intelligence model allocating system includes: constructing a virtual global environment for a robot environment in which the mobile robot can drive; dividing the virtual global environment into a plurality of partial environments and generating a partial artificial intelligence model for each partial environment; and allocating the virtual global environment, a partial environment corresponding to the position of the mobile robot, and a partial artificial intelligence model to the mobile robot according to the state of the mobile robot.
상기 가상 전역 환경을 구축하는 단계는, 상기 로봇 환경에 포함된 센서 기기로부터 수신된 측정 정보와, 영상 촬영 기기로부터 수신된 영상 정보를 기초로 내/외벽을 포함한 객체들을 판별하고, 판별된 객체들을 2차원 가상 지도에 배치할 수 있다.The step of constructing the virtual global environment may include determining objects including inner/outer walls based on measurement information received from a sensor device included in the robot environment and image information received from an image capturing device, and selecting the determined objects. It can be placed on a two-dimensional virtual map.
상기 각 부분 환경에 대한 부분 인공지능 모델을 생성하는 단계는, 상기 가상 전역 환경을 상기 이동 로봇의 최대 회전 반경 크기를 기초로 복수의 부분 환경들로 분할하는 단계; 상기 복수의 부분 환경 각각에서 상기 이동 로봇이 주행 가능한 공간의 외벽에 존재하는 객체를 이상치로 판별하여 제거하는 단계; 상기 이상치가 제거된 각 부분 환경을 주행 가능한 공간의 형태에 따라 정규 부분 환경으로 변환하는 단계; 및 상기 변환된 정규 부분 환경에 대한 부분 인공지능 모델을 생성하는 단계를 포함할 수 있다.The generating of the partial artificial intelligence model for each partial environment may include: dividing the virtual global environment into a plurality of partial environments based on a maximum rotation radius size of the mobile robot; determining and removing an object existing on an outer wall of a space in which the mobile robot can travel in each of the plurality of partial environments as an outlier; converting each partial environment from which the outliers are removed into a regular partial environment according to a shape of a drivable space; and generating a partial artificial intelligence model for the transformed regular partial environment.
상기 복수의 부분 환경들로 분할하는 단계는, 상기 가상 전역 환경을 각 차원별로 분할하여 복수의 부분 환경들을 구축하되, 각 부분 환경의 최소 크기는, 상기 이동 로봇의 최대 회전 반경을 포함하는 최소 경계 사각형이 적어도 4개 이상 포함하도록 할 수 있다.The dividing into the plurality of partial environments may include dividing the virtual global environment for each dimension to construct a plurality of partial environments, wherein a minimum size of each partial environment is a minimum boundary including a maximum rotation radius of the mobile robot. The rectangle may contain at least four or more.
상기 상기 각 부분 환경에 대한 부분 인공지능 모델을 생성하는 단계는, 데이터 저장소에서 상기 변환된 정규 부분 환경과 유사한 기존 정규 부분 환경을 탐색하는 단계를 더 포함하고, 상기 변환된 정규 부분 환경에 대한 부분 인공지능 모델을 생성하는 단계는, 상기 변환된 정규 부분 환경 중 기존 유사한 정규 부분 환경이 탐색되지 않은 정규 부분 환경에 대해 부분 인공지능 모델을 생성하며, 상기 할당하는 단계는, 상기 변환된 정규 부분 환경 중 기존 유사한 정규 부분 환경이 탐색된 정규 부분 환경에 대해서는 기존 유사한 정규 부분 환경에 연결된 부분 인공지능 모델을 할당할 수 있다.The generating of the partial artificial intelligence model for each of the partial environments further comprises: searching for an existing regular partial environment similar to the transformed regular partial environment in a data store, wherein the part for the transformed regular partial environment The generating of the artificial intelligence model includes generating a partial artificial intelligence model for a regular partial environment in which an existing similar regular partial environment among the transformed regular partial environment is not searched, and the allocating includes: the transformed regular partial environment For the regular partial environment in which the existing similar regular partial environment is discovered, a partial artificial intelligence model connected to the existing similar regular partial environment may be assigned.
상기 유사한 기존 정규 부분 환경을 탐색하는 단계는, 두 개의 정규 부분 환경의 주행 가능한 공간들의 교집합 면적을 합집합 면적으로 나눈 값을 기초로 유사 여부를 판단할 수 있다.In the searching for the similar existing regular partial environment, whether it is similar may be determined based on a value obtained by dividing an intersection area of drivable spaces of two regular partial environments by a union area.
상기 유사한 기존 정규 부분 환경을 탐색하는 단계는, 두 개의 정규 부분 환경의 각 모서리에 맞닿는 주행 가능한 공간의 수를 비교하여 유사 여부를 판단할 수 있다.In the searching for the similar existing regular partial environment, the similarity may be determined by comparing the number of drivable spaces in contact with each corner of the two regular partial environments.
상기 유사한 기존 정규 부분 환경을 탐색하는 단계는, 두 개의 정규 부분 환경의 각 모서리에 맞닿는 주행 가능한 공간의 면적을 비교하여 유사 여부를 판단할 수 있다.In the searching for the similar existing regular partial environment, the similarity may be determined by comparing the area of the drivable space in contact with each corner of the two regular partial environments.
상기 주행 가능한 공간의 면적은, 이동 로봇의 최소 회전 반경에 대한 최소 경계 사각형을 생성하여 해당 주행 가능한 공간에 포함될 수 있는 상기 최소 경계 사각형의 수를 실수로 표현하여 계산될 수 있다.The area of the drivable space may be calculated by generating a minimum bounding quadrangle for the minimum rotation radius of the mobile robot and expressing the number of the minimum bounding quadrangle that can be included in the corresponding drivable space as a real number.
상기 정규 부분 환경으로 변환하는 단계는, 각 부분 환경의 주행 가능한 공간의 형태로서, 그 주행 가능한 공간이 부분 환경의 각 모서리와 연결되는 개수로 정의하되, 폭의 1/2이 이동 로봇의 최소 회전 반경보다 작은 공간은 주행 가능한 공간에서 제외할 수 있다.The step of converting to the regular partial environment is defined as the form of a drivable space of each partial environment, wherein the drivable space is connected to each corner of the partial environment, but 1/2 of the width is the minimum rotation of the mobile robot Spaces smaller than the radius can be excluded from the drivable space.
상기 할당하는 단계는, 상기 이동 로봇의 위치에 대응하는 부분 환경 및 부분 인공지능 모델과, 해당 부분 환경의 각 차원에 인접한 부분 환경들 및 그 부분 환경들에 대한 인공지능 모델을 함께 상기 이동 로봇으로 할당할 수 있다.In the allocating step, a partial environment and a partial artificial intelligence model corresponding to the position of the mobile robot, partial environments adjacent to each dimension of the corresponding partial environment, and an artificial intelligence model for the partial environments are combined into the mobile robot. can be assigned
본 발명의 다양한 실시예에 따르면, 로봇 주행 환경을 분할하여 구축한 부분 환경들에 대한 부분 인공지능 모델들을 이용하여 각 로봇이 처한 환경에 적합하고 해당 환경에서 최적의 경로로 주행할 수 있는 부분 인공지능 모델을 할당함으로써, 인공지능 모델을 구축하는 시간을 줄이고 이동 로봇의 주행에 빠르게 대응할 수 있다.According to various embodiments of the present invention, using partial artificial intelligence models for partial environments constructed by dividing the robot driving environment, a partial artificial intelligence that is suitable for the environment in which each robot is placed and can travel in an optimal path in the environment By allocating the intelligent model, it is possible to reduce the time to build the AI model and respond quickly to the movement of the mobile robot.
또한, 본 발명의 다양한 실시예에 따르면, 새로운 로봇 주행 환경의 정규 부분 환경들 중 기 구축된 정규 부분 환경들과 유사한 정규 부분 환경들에 대한 부분 인공지능 모델을 생성하지 않고 기존 부분 모델을 그대로 사용함으로서, 부분 인공지능 모델의 재활용성을 높이고 새로운 로봇 주행 환경에 대한 이동 로봇의 적용 시간을 줄일 수 있다.In addition, according to various embodiments of the present invention, the existing partial model is used as it is without generating a partial artificial intelligence model for the regular partial environments similar to the previously built regular partial environments among the regular partial environments of the new robot driving environment. By doing so, it is possible to increase the recyclability of the partial artificial intelligence model and reduce the application time of the mobile robot to a new robot driving environment.
또한, 본 발명의 다양한 실시예에 따르면, 로봇 주행 환경의 수가 증가할 수록 중복된 정규 부분 환경들과 이에 대한 부분 인공지능 모델들이 늘어나기 때문에, 새로운 로봇 주행 환경에 대한 새로운 부분 인공지능 모델들을 구축할 확률이 낮아지므로, 부분 인공지능 모델 구축 시간을 줄일 수 있다.In addition, according to various embodiments of the present invention, as the number of robot driving environments increases, overlapping regular partial environments and partial artificial intelligence models for them increase, thereby constructing new partial artificial intelligence models for a new robot driving environment. Since the probability of doing so is lowered, it is possible to reduce the time to build a partial artificial intelligence model.
또한, 본 발명의 다양한 실시예에 따르면, 각 부분 환경에서 로봇의 주행에 영향을 줄 수 있는 요소들의 수는 전역 환경에서 발생할 수 있는 요소들의 수보다 적고 그에 따른 종류도 상대적으로 적으므로, 각 부분 환경에 대한 부분 인공지능 모델 생성 시간은 전역 환경에 대한 인공지능 모델 생성 시간보다 적다.In addition, according to various embodiments of the present invention, since the number of factors that can affect the driving of the robot in each partial environment is less than the number of factors that can occur in the global environment and the types thereof are relatively small, each part The time to create a partial AI model for the environment is less than the time to create an AI model for the global environment.
도 1은 본 발명의 일 실시예에 따른 비동기 분산 방식의 인공지능 모델 할당 시스템과 외부 요소인 로봇 환경 및 이동 로봇을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 도 1의 인공지능 모델 할당 시스템의 구성을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 도 2의 전역 환경 구축부의 구성을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 도 2의 부분 환경 구축부의 구성을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 도 2의 명령 송수신부의 구성을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 도 2의 환경 모델 할당부의 구성을 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 도 2의 데이터 저장소의 구성을 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따라 가상의 전역 환경을 분할하여 복수의 부분 환경들을 구축하는 과정을 나타내는 도면이다.
도 9는 본 발명의 일 실시예에 따라 도 8의 각 부분 환경으로부터 이상치를 제거하고 정규 부분 환경들로 구축하는 과정을 나타내는 도면이다.
도 10은 본 발명의 일 실시예에 따라 기존 정규 부분 환경과 유사한 정규 부분 환경을 기 생성된 부분 인공지능 모델과 연결시키는 과정 및 새로운 정규 부분 환경에 대한 부분 인공지능 모델을 생성하는 과정을 나타낸다.
도 11은 본 발명의 일 실시예에 따라 부분 인공지능 모델을 이동 로봇의 상태에 따라 할당하는 과정 및 부분 인공지능 모델을 통해 각 이동 로봇의 경로를 생성하는 과정을 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따른 비동기 분산 방식의 인공지능 모델 할당 방법을 설명하는 흐름도이다. 1 is a diagram illustrating an asynchronous distributed method artificial intelligence model allocation system, a robot environment, and a mobile robot as external elements according to an embodiment of the present invention.
2 is a diagram showing the configuration of the artificial intelligence model allocation system of FIG. 1 according to an embodiment of the present invention.
3 is a diagram illustrating the configuration of the global environment building unit of FIG. 2 according to an embodiment of the present invention.
4 is a view showing the configuration of a partial environment construction unit of FIG. 2 according to an embodiment of the present invention.
5 is a diagram illustrating the configuration of the command transceiver of FIG. 2 according to an embodiment of the present invention.
6 is a diagram illustrating the configuration of the environment model allocator of FIG. 2 according to an embodiment of the present invention.
7 is a diagram showing the configuration of the data storage of FIG. 2 according to an embodiment of the present invention.
8 is a diagram illustrating a process of constructing a plurality of partial environments by dividing a virtual global environment according to an embodiment of the present invention.
FIG. 9 is a diagram illustrating a process of removing outliers from each partial environment of FIG. 8 and constructing regular partial environments according to an embodiment of the present invention.
10 illustrates a process of linking a regular partial environment similar to an existing regular partial environment with a previously generated partial artificial intelligence model and a process of generating a partial artificial intelligence model for a new regular partial environment according to an embodiment of the present invention.
11 is a diagram illustrating a process of allocating a partial artificial intelligence model according to a state of a mobile robot and a process of generating a path of each mobile robot through the partial artificial intelligence model according to an embodiment of the present invention.
12 is a flowchart illustrating a method of allocating an artificial intelligence model in an asynchronous distributed manner according to an embodiment of the present invention.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.The above-described objects, features, and advantages will become more apparent through the following detailed description in relation to the accompanying drawings, whereby those of ordinary skill in the art to which the present invention pertains can easily implement the technical idea of the present invention. There will be. In addition, in the description of the present invention, if it is determined that a detailed description of a known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 비동기 분산 방식의 인공지능 모델 할당 시스템(100)과 외부 요소인 로봇 환경(11) 및 이동 로봇(12)을 나타낸다. 1 shows an asynchronous distributed artificial intelligence
도 1을 참조하면, 본 발명의 일 실시예에 따른 인공지능 모델 할당 시스템(100)은, 적어도 하나 이상의 이동 로봇(12)이 주행할 수 있는 로봇 환경(11)에서 각 이동 로봇(12)의 상태에 따라, 자율주행을 위한 인공지능 모델과, 로봇 환경(11)에 대한 가상 환경을 각 이동 로봇(12)에 할당한다. 이때, 상기 인공지능 모델 할당 시스템(100)은, 클라우드 서버 내에 존재하거나 로봇 환경(11)의 서버로 존재할 수 있으며, 상기 인공지능 모델 할당 시스템(100)을 구성하는 각 요소는 해당 요소의 기능과 역할에 따라 클라우드 서버 또는 로봇 환경(11)의 서버로 존재할 수 있다.Referring to FIG. 1 , in the artificial intelligence
상기 로봇 환경(11)은, 지리적으로 이동 가능하고 최소한 하나 이상의 이동 로봇(12)이 주행할 수 있는 환경으로, 물류, 식품, 유통, 호텔, 제조, 물류 등 수 많은 사업 분야의 환경을 포함할 수 있다. 또한, 상기 로봇 환경(11)에는 환경의 형태와 종류에 따라, 이동 로봇(12)과 충돌 가능한 복수의 고정 장애물과 이동 장애물, 그리고 다수의 생물체가 존재할 수 있다. 상기 로봇 환경(11)은, IoT(Internet of Things) 및 유비쿼터스(Ubiquitous) 분야에서 활용될 수 있고 주변 환경 정보를 측정할 수 있는 다수의 센서 기기들과, 주변 환경을 영상으로 촬영할 수 있는 다수의 영상 촬영 기기들이 포함될 수 있다. The
상기 로봇 환경(11)에 포함될 수 있는 센서 기기들은 2차원 및 3차원 라이다 센서, 레이더 센서, 적외선 센서, 근접 센서, RGB 센서, 충돌 감지 센서 등이 있다. 또한, 상기 로봇 환경(11)에 포함될 수 있는 영상 촬영 기기들에는 RGB 카메라, 스테레오 카메라, 뎁스(depth) 카메라, 적외선 카메라, 열화상 카메라 등이 있다. 상기 로봇 환경(11)의 센서 기기들에서 측정된 환경 정보 및 영상 촬영 기기들에서 촬영된 영상 정보는, 센서 기기들 및 영상 촬영 기기와 인공지능 모델 할당 시스템(100) 간의 통신에 의해 인공지능 모델 할당 시스템(100)에 저장될 수 있다. Sensor devices that may be included in the
상기 이동 로봇(12)은, 유/무선 통신을 통해 로봇 이동 명령어 등의 데이터를 송/수신할 수 있는 기능을 갖고, 사용자 또는 시스템이 정의한 명령에 따라 지리적으로 이동할 수 있는 기능을 갖는 장치로서, 로봇의 물리 구조 및 논리 구조에 관계없이 상기 기능들을 수행할 수 있는 모든 이동 장치를 칭한다. 이 때, 상기 이동 로봇(12)은 실내 또는 실외에 관계없이 측위가 가능하고, 실내 측위의 경우에는 실내형인 로봇 환경(11)의 어떤 2 및 3차원 점을 기준으로 계산된 상대적 지점을 상기 이동 로봇(12)의 위치로 간주할 수 있고, 실외 측위의 경우에는 GPS 위치 측위를 통해 이동 로봇(12)의 위치를 측정할 수 있다.The
상기 이동 로봇(12)에 탑재될 수 있는 센서 기기들은 2차원 및 3차원 라이다 센서, 레이더 센서, 적외선 센서, 가속도 센서, 자이로 센서, 초음파 센서, 근접 센서, RGB 센서, 충돌 감지 센서, 모션 센서, 자가 상태 측정 센서 등이 있으며, 상기 이동 로봇(12)에 장착될 수 있는 영상 촬영 기기들에는 RGB 카메라, 스테레오 카메라, 뎁스 (depth) 카메라, 적외선 카메라, 열화상 카메라 등이 있다.The sensor devices that can be mounted on the
인공지능 모델 할당 시스템(100)은, 상기 로봇 환경(11) 및 상기 이동 로봇(12)에서 측정 및 촬영된 데이터를 클라우드 서버의 저장소에 저장할 수 있고, 또는 자체 저장소에 저장할 수 있다. 클라우드 서버의 저장소에 저장할 경우, 상기 인공지능 모델 할당 시스템(100)은 유/무선 통신을 통해 클라우드 서버에 존재하는 저장소들을 접근하여 저장소에 저장된 데이터에 대해 추가, 삭제, 그리고 갱신이 가능하다. 또한, 상기 클라우드 서버는 데이터 처리 및 저장이 가능한 다수의 컴퓨터 내지 서버들로 구성될 수 있다.The artificial intelligence
도 2는 본 발명의 일 실시예에 따른 도 1의 인공지능 모델 할당 시스템의 구성을 나타낸 도면이다. 도 2를 참조하면, 상기 인공지능 모델 할당 시스템(100)은, 전역 환경 구축부(110), 부분 환경 구축부(120), 환경 모델 할당부(130), 명령 송수신부(140) 및 데이터 저장소(150)을 포함할 수 있다. 상기 인공지능 모델 할당 시스템(100)은 통신 회로, 메모리 및 적어도 하나 이상의 프로세서를 포함할 수 있고, 전역 환경 구축부(110), 부분 환경 구축부(120), 환경 모델 할당부(130), 명령 송수신부(140)는 프로그램으로 구현되어 메모리에 저장되고 적어도 하나 이상의 프로세서에 의해 실행되어 동작할 수 있고, 또는 소프트웨어와 하드웨어의 조합으로 구현되어 동작할 수 있다. 상기 데이터 저장소(150)는 메모리, 하드디스크 드라이브 또는 네트워크로 연결 가능한 네트워크 부착 저장장치 등을 포함한다. 2 is a diagram showing the configuration of the artificial intelligence model allocation system of FIG. 1 according to an embodiment of the present invention. Referring to FIG. 2 , the artificial intelligence
상기 전역 환경 구축부(110)은, 로봇 환경(11)에 포함된 복수의 센서 기기에서 측정된 측정 정보와 복수의 영상 촬영 기기에서 촬영된 영상 정보를 기반으로 가상의 전역(全域) 환경을 구축하여 데이터 저장소(150)에 저장한다. 여기서 가상의 전역 환경은 이동 로봇(12)이 주행할 수 있는 전체 로봇 환경(11)에 대응하는 가상 환경이다. 이때, 측정 정보 및 영상 정보에는 해당 정보가 측정 및 촬영된 로봇 환경(11)의 식별자, 해당 정보가 측정 및 촬영된 이동 로봇(12)의 식별자, 측정 및 촬영 기기의 식별자, 위치, 측정 및 촬영 시간 등이 포함될 수 있다.The global
상기 부분 환경 구축부(120)는, 상기 전역 환경 구축부(110)에서 구축된 가상의 전역 환경을 분할하여 복수의 부분 환경들을 구축하고, 각 부분 환경을 일정한 패턴을 갖는 정규 부분 환경으로 변환하여, 상기 부분 환경들 및 이로부터 변환된 정규 부분 환경들을 데이터 저장소(150)에 저장한다. 또한 상기 부분 환경 구축부(120)는, 복수의 정규 부분 환경들에 대해 비동기 분산 방식으로 각 정규 부분 환경에 대응하는 인공지능 모델인 부분 인공지능 모델을 생성하여 데이터 저장소(150)에 저장한다.The partial
상기 명령 송수신부(130)는. 로봇 환경(11) 및 각 이동 로봇(12)과 유/무선 통신하여 데이터를 송수신한다. 상기 명령 송수신부(130)는 각 이동 로봇(12)으로 상태 정보를 요청하여 수신할 수 있고, 각 이동 로봇(12)에 포함된 센서 기기에서 측정된 측정 정보 및 영상 촬영 기기에서 촬영된 영상 정보를 수신할 수 있다. 또한 상기 명령 송수신부(130)는, 로봇 환경(11) 내의 센서 기기에서 측정된 측정 정보와 영상 촬영 기기에서 촬영된 영상 정보를 수신할 수 있다. 상기 명령 송수신부(130)는 수신된 데이터를 데이터 저장소(150)에 저장한다. 상기 명령 송수신부(130)는, 환경 모델 할당부(140)의 요청에 따라 각 이동 로봇(12)으로 각 이동 로봇(12)에 대응하는 전역 환경, 부분 환경 및 부분 인공지능 모델을 전송한다. 상기 유/무선 통신 기술에는 CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless Local Area Network), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association) 등이 있으나 여기에 제한되지 않으며 데이터를 송수신할 수 있는 기술이라면 특별히 제한되지 않는다.The
상기 환경 모델 할당부(140)는 데이터 저장소(150)로부터 전역 환경들, 부분 환경들 및 부분 인공지능 모델들을 각 이동 로봇(12)의 상태에 따라 각 이동 로봇(12)에 할당한다. 이때, 상기 환경 모델 할당부(140)는 각 이동 로봇(12)의 상태를 파악하기 위해 명령 송수신부(130)를 통해 각 이동 로봇(12)으로 상태 정보를 요청하고 수신한다.The
상기 데이터 저장소(150)는 로봇 환경(11), 이동 로봇(12), 전역 환경 구축부(110), 부분 환경 구축부(120), 명령 송수신부(130) 및 환경 모델 할당부(140)에서 발생, 정제 및 처리되는 모든 데이터를 각 데이터의 종류별로 저장할 수 있고, 모든 데이터는 클라우드 서버로 동기화되어 클라우드 서버에도 저장될 수 있다. 여기서, 상기 데이터 저장소(150)에서 취급하는 데이터의 종류는 2차원 및 3차원 영상 데이터, 다차원 숫자 및 글자 데이터, 2차원 및 3차원 공간 데이터, 인공지능 모델 데이터 등이 포함된다. 또한, 상기 데이터 저장소(150)는, 관계형 데이터베이스, 인메모리 데이터베이스, 그래프 데이터베이스, 계층형 데이터베이스, NoSQL 데이터베이스, 실시간 데이터베이스, 객체 저장소(Object storage) 등을 포함하여 구현될 수 있다. 구조적 측면에서, 상기 데이터 저장소(150)는 클라우드 서버에 존재할 수 있으며, 전역 환경 구축부(110), 부분 환경 구축부(120), 명령 송수신부(130) 및 환경 모델 할당부(140)와 유/무선 통신을 통해 데이터를 송수신할 수 있다. 이때, 상기 유/무선 통신 기술에는 CDMA, LTE, 5G, WLAN 및 Wi-Fi가 포함된다.The
도 3은 본 발명의 일 실시예에 따른 도 2의 전역 환경 구축부의 구성을 나타낸 도면이다. 도 3을 참조하면, 전역 환경 구축부(110)는, 환경 정보 측정 모듈(111), 환경 영상 촬영 모듈(112), 정합 모듈(113) 및 전역 환경 구축 모듈(114)을 포함할 수 있다.3 is a diagram illustrating the configuration of the global environment building unit of FIG. 2 according to an embodiment of the present invention. Referring to FIG. 3 , the global
상기 환경 정보 측정 모듈(111)은, 로봇 환경(11)에서 다수의 센서 기기들로부터 측정된 측정 정보를 유/무선 통신을 통해 수신하여 데이터 저장소(150)에 저장한다. 이때, 상기 유/무선 통신 기술에는 CDMA, LTE, 5G, WLAN 및 Wi-Fi가 포함된다. 상기 환경 정보 측정 모듈(111)은 측정 정보들에 대해 평탄화, 정규화 및 일반화를 수행하는 기능, 측정 정보들에서 이상치를 제거하는 기능 및 서로 관련있는 측정 정보들간 보정하는 기능을 수행할 수 있다.The environment
상기 환경 영상 촬영 모듈(112)은, 로봇 환경(11)에 포함된 다수의 영상 촬영 기기들로부터 촬영된 영상 정보를 유/무선 통신을 통해 수신하여 데이터 저장소(150)에 저장한다. 이때, 상기 유/무선 통신 기술에는 CDMA, LTE, 5G, WLAN 및 Wi-Fi가 포함된다. The environment
상기 정합 모듈(113)은, 상기 환경 정보 측정 모듈(111)에서 수집한 측정 정보 및 상기 환경 영상 촬영 모듈(112)에서 수집한 영상 정보를 분석하여 상기 로봇 환경(11)에 존재하는 내/외벽을 포함한 객체들을 판별하고 상기 로봇 환경(11)과 동일한 크기의 2차원 또는 3차원 가상 지도에 배치한다. The
상기 환경 정보 측정 모듈(111)에서 수집한 측정 정보는, 예를 들어 라이다와 같은 센서 기기들에서 측정한 값을 포함하여, 이 측정 정보부터 로봇 환경(11) 내에 존재하는 상자, 선반, 사람과 같은 움직이는 물체 등을 판별할 수 있다. 또한 상기 환경 영상 촬영 모듈(112)에서 수집한 영상 정보로부터 영상 분석을 통해 로봇 환경(11) 내에 존재하는 상자, 선반, 사람과 같은 움직이는 물체 등을 판별할 수 있다. 측정 정보로부터 판별된 객체와 영상 정보로부터 판별된 객체가 동일하면 가상 지도 상에 하나의 객체로 표시되고, 서로 다른 객체는 각각 가상 지도 상에 각각 표시된다. 동일 여부는 위치, 형상 등을 통해 구별할 수 있다.The measurement information collected by the environment
이때, 상기 객체들은 2차원 사각형 또는 3차원 정육면체로 표시될 수 있다. 각 객체는 인공지능 모델에서 표현하는 클래스를 의미한다. 또한, 객체들은 객체의 종류별로 분류되어 표시될 수 있으며, 2차원 사각형 또는 3차원 정육면체로 표시될 수 있다. 상기 정합 모듈(113)에서는 객체들을 판별하는 단계에서 인공지능 모델, 종래 객체 인식 알고리즘 및 종래 객체 감지 알고리즘 등이 사용될 수 있다.In this case, the objects may be displayed as a two-dimensional rectangle or a three-dimensional cube. Each object means a class expressed in the AI model. Also, the objects may be classified and displayed according to the type of object, and may be displayed as a 2D rectangle or a 3D cube. In the
상기 전역 환경 구축 모듈(114)은, 상기 정합 모듈(113)에서 생성한 2차원 또는 3차원 가상 지도들을 병합하여 2차원 가상 전역 환경을 구축한다. 이때, 상기 전역 환경 구축 모듈(114)은 3차원 가상 전역 환경의 경우 3차원 가상 전역 환경을 2차원으로 사영(slanting shadow)시켜서 2차원 전역 환경으로 구축할 수 있다.The global
도 4는 본 발명의 일 실시예에 따른 도 2의 부분 환경 구축부의 구성을 나타낸 도면이다. 도 4를 참조하면, 부분 환경 구축부(120)는, 부분 환경 구축 모듈(121), 부분 환경 이상치 제거 모듈(122), 정규 부분 환경 구축(123), 유사 부분 환경 탐색(124) 및 비동기 분산 부분 모델 생성(125)을 포함할 수 있다.4 is a view showing the configuration of a partial environment construction unit of FIG. 2 according to an embodiment of the present invention. Referring to FIG. 4 , the partial
상기 부분 환경 구축 모듈(121)은 전역 환경 구축 모듈(114)에서 구축한 2차원 가상 전역 환경을 각 차원별로 균등 또는 비균등하게 분할하여 복수의 부분 환경들을 구축한다. 여기서 차원은 2차원에서의 선분을 의미하여, 2차원 공간의 가로 또는 세로를 균등 또는 비균등 분할한다. 이때, 각 부분 환경은 최소 0부터 최대 이동 로봇(12)의 최소 회전 반경만큼 각 차원별로 겹치게 분할될 수 있다.The partial
상기 부분 환경 구축 모듈(121)에서 구축한 각 부분 환경은 2차원 사각형으로 표현되며, 각 부분 환경의 가로, 세로 길이는 각각 전역 환경의 가로, 세로 길이와 1/n을 곱한 값으로 정의된다. 이때, n은 0보다 큰 실수이다. 또한, 각 부분 환경의 최소 크기는, 이동 로봇(12)의 최대 회전 반경을 포함하는 최소 경계 사각형(MBR, Minimum Bounding Rectangle)을 기준으로, 이 최소 경계 사각형을 적어도 4개 이상을 포함할 수 있는 크기이다.Each partial environment constructed by the partial
상기 부분 환경 이상치 제거 모듈(122)은, 각 부분 환경에 포함된 객체들 중 이동 로봇(12)이 주행 가능한 공간의 외벽에 존재하는 객체를 제거하여, 상기 부분 환경에서의 주행 가능한 공간을 정제한다. 이때, 각 부분 환경의 주행 가능한 공간은, 복도와 같이 이동 로봇(12)이 주행할 수 있는 빈 공간이다. 여기서, 각 부분 환경의 주행 가능한 공간을 단순화시키는 과정은 2차원에 대한 평탄화(smoothing) 기술 및 선분에 대한 평탄화인 스플라인(spline) 기술 등을 포함할 수 있다. 또한, 군집 기반, 밀도 기반, 거리 기반 및 계측 기반 등 기존 다차원 데이터 집합에 대한 이상치 탐지 기술 등도 포함할 수 있다.The partial environment
상기 정규 부분 환경 구축 모듈(123)은, 이상치가 제거된 각 부분 환경을 정규화하여 정규 부분 환경으로 변환하여 데이터 저장소(150)에 저장한다. 여기서, 부분 환경의 정규화는 각 부분 환경의 주행 가능한 공간 형태에 따라 다수의 부분 환경들을 정해진 형태를 갖는 소수의 정규 부분 환경들로 변환하는 작업을 의미한다. 즉, 주행 가능한 공간 형태에 따라 복수의 정규 부분 환경들이 정의되고, 상기 이상치가 제거된 각 부분 환경을 복수의 정규 부분 환경들 중 하나로 매칭하는 작업이다. The regular partial
여기서, 상기 각 부분 환경에 대한 정규화의 일 실시예로서, 각 부분 환경의 각 차원 값을 0과 k 사이의 값으로 변환하여 수행할 수 있으며, 이때, k는 0보다 큰 실수이다. 예컨대, 정사각형의 2차원 부분 환경의 경우 해당 부분 환경의 가로 및 세로 길이를 각각 0과 k 사이의 값으로 변환한다. 상기 주행 가능한 공간의 형태는 예를 들어, 직선 공간, 또는 L자형 공간 또는 십자 형상의 공간 등으로서, 그 주행 가능한 공간이 각 부분 환경의 각 모서리와 연결되는 개수로 정의될 수 있다. 예를 들어, 주행 가능한 공간이, 사각형인 부분 환경의 4개의 모서리 각각에 연결될 경우, 십자 형상으로 정의된다. Here, as an embodiment of the normalization for each partial environment, it may be performed by converting each dimension value of each partial environment into a value between 0 and k, where k is a real number greater than 0. For example, in the case of a square two-dimensional partial environment, the horizontal and vertical lengths of the corresponding partial environment are converted into values between 0 and k, respectively. The shape of the drivable space may be, for example, a straight space, an L-shaped space or a cross-shaped space, and the number of drivable spaces connected to each corner of each partial environment may be defined. For example, when a drivable space is connected to each of the four corners of a rectangular partial environment, it is defined as a cross shape.
상기 정규 부분 환경 구축 모듈(123)은, 이상치가 제거된 각 부분 환경을 정규화하여 정규 부분 환경을 구축하는 데 있어서, 주행 가능한 공간의 폭의 1/2이 이동 로봇(12)의 최소 회전 반경보다 작은 경우 해당 주행 가능한 공간은 이동 로봇(12)이 주행할 수 없는 공간이므로, 해당 주행 가능한 공간의 형태를 고려하는데 있어서 고려하지 않는다. 예를 들어, L자형 주행 가능한 공간에서 밑변 부분의 공간의 폭의 1/2이 이동 로봇(12)의 최소 회전 반경보다 작은 경우, 해당 L자형 주행 가능한 공간은 L자형이 아닌, 직선형으로 고려된다. The regular partial
상기 유사 부분 환경 탐색 모듈(124)은, 정규 부분 환경 구축 모듈(123)에서 구축된 각 정규 부분 환경과 유사한 정규 부분 환경들을 데이터 저장소(150)에서 탐색한다. 이미 유사한 정규 부분 환경들이 있는 경우 그 유사한 정규 부분 환경들을 이용하기 위함이다. 상기 유사 부분 환경 탐색 모듈(124)은 두 정규 부분 환경의 유사도가 소정 값 이상인 경우 유사한 정규 부분 환경으로 판단할 수 있다.The similar partial
이때, 각 정규 부분 환경 쌍에 대한 유사도는 해당 정규 부분 환경에 포함된 주행 가능한 공간에 대한 자카드(Jaccard) 유사도로 정의될 수 있으며, 이에 따른 일 실시예로 두 정규 부분 환경들의 주행 가능한 공간들에 대한 합집합 면적으로 교집합 면적을 나눈 값을 유사도로 사용할 수 있다. 또한, 각 정규 부분 환경 쌍에 대한 유사도 계산을 수행하기 위해서, 각 정규 부분 환경은 회전될 수 있다.In this case, the similarity for each regular partial environment pair may be defined as a Jaccard similarity degree to the drivable space included in the corresponding regular partial environment, and according to this, according to an embodiment, in the drivable spaces of the two regular partial environments. The value obtained by dividing the intersection area by the union area for Also, each canonical subenvironment may be rotated to perform a similarity calculation for each pair of canonical subenvironments.
상기 각 정규 부분 환경 쌍에 대한 유사도 계산에 대한 다른 일 실시예로, 각 정규 부분 환경 쌍의 모서리들에 대한 순서가 주어졌을 때, 각 모서리와 맞닿은 주행 가능한 공간의 수 또는 면적을 수치화하여 두 순열들 간의 비교 방법으로 해당 쌍의 유사도가 정의될 수 있다. 예를 들어, 기 저장된 사각형의 제1정규 부분 환경의 4개의 모서리에 대해 순서가 주어지고, 새로 만들어진 사각형의 정규 부분 환경의 4개의 모서리에 대해서도 순서가 주어졌을 때, 두 정규 부분 환경 쌍의 각 모서리에 맞닿는 주행 가능한 공간의 수 또는 면적을 각 모서리의 순서에 따라 비교하여 유사도를 계산할 수 있다. 여기서, 상기 주행 가능한 공간의 면적은 이동 로봇(12)의 최소 회전 반경에 대한 최소 경계 사각형을 생성하여 해당 주행 가능한 공간에 포함될 수 있는 상기 최소 경계 사각형의 수를 실수로 표현하여 계산될 수 있다.As another example of calculating the similarity for each pair of regular sub-environments, when an order for the edges of each pair of regular sub-environments is given, the number or area of drivable spaces in contact with each edge is digitized to quantify the two permutations A degree of similarity of a corresponding pair may be defined as a comparison method between them. For example, when an order is given for four corners of a first regular subenvironment of a pre-stored rectangle, and an order is also given for four corners of a regular subenvironment of a newly created quadrangle, each of the two regular subenvironment pairs The similarity can be calculated by comparing the number or area of drivable spaces in contact with the corners according to the order of each corner. Here, the area of the drivable space may be calculated by generating a minimum bounding quadrangle for the minimum rotation radius of the
상기 부분 인공지능 모델 생성 모듈(125)은, 상기 정규 부분 환경 구축 모듈(123)에서 구축된 정규 부분 환경들 중에 기존 정규 부분 환경들과 유사하지 않다고 판별된 각 정규 부분 환경에 대해, 부분 인공지능 모델을 비동기 분산 방식으로 생성하여 데이터 저장소(150)에 저장한다. 이때, 상기 정규 부분 환경과 상기 생성된 부분 인공지능 모델은 논리적으로 연결된다.The partial artificial intelligence
구조적 측면에서, 상기 부분 인공지능 모델 생성 모듈(125)은, 연산이 가능한 다수의 프로세서들 또는 서버들로 구성될 수 있으며, 각 프로세서 또는 서버는 독립된 연산이 가능하여 다른 프로세서 또는 서버에 영향을 주지 않는다. 또한, 상기 부분 인공지능 모델 생성 모듈(125)에 대한 구조적 측면에서의 다른 일 실시예는 상기 각 프로세서 또는 서버는 독립적으로 이동 로봇(12)의 주행에 대한 부분 인공지능 모델을 생성할 수 있다. 또한, 상기 부분 인공지능 모델 생성 모듈(125)에 대한 구조적 측면에서의 또 다른 일 실시예는 상기 각 프로세서 또는 서버는 중앙 처리 장치(CPU) 또는 그래픽 처리 장치(GPU)를 구성 요소로서 포함할 수 있다.From a structural point of view, the partial artificial intelligence
부분 인공지능 모델을 생성하기 위해, 상기 부분 인공지능 모델 생성 모듈(125)은, 2차원 가상 환경 실험기(simulator), 2차원 가상 환경 실험기에서 주행 가능한 이동 로봇(12)에 대한 가상 2차원 모델, 및 2차원 가상 환경 실험기에서 이동 가능한 다수의 장애물들에 대한 가상 2차원 모델들을 포함할 수 있다. 이때, 장애물들은 상기 정합 모듈(113)에서 판별된 객체에 종속된다.In order to generate a partial artificial intelligence model, the partial artificial intelligence
여기서, 상기 2차원 가상 환경 실험기 상에서 하나의 이동 로봇(12)에 대한 가상 모델을 주행시켜서 부분 인공지능 모델을 생성하는 방법은 다수의 인공지능 학습 알고리즘 및 종래 경로 알고리즘을 각기 독립적으로 또는 혼합하여 사용할 수 있다. 이때, 상기 인공지능 학습 알고리즘의 일 실시예로, 모방 학습 알고리즘 및 강화 학습 알고리즘 등을 사용할 수 있고, 상기 종래 경로 알고리즘의 일 실시예로, A*(A star) 알고리즘 등을 사용할 수 있다.Here, the method of generating a partial artificial intelligence model by driving a virtual model for one
상기 인공지능 학습 알고리즘의 수행 과정에 대한 일 실시예로, 상기 2차원 가상 환경 실험기가 상기 정규 부분 환경에 상기 2차원 장애물 모델들을 배치하고, 정규 부분 환경의 주행 가능한 공간에서 정규 부분 환경을 벗어날 수 있는 각 부분 공간에 상기 2차원 이동 로봇 모델을 배치하면서, 해당 2차원 이동 로봇 모델이 해당 정규 부분 환경을 벗어나는 모든 상황을 경험하여 경로와 행동 결정을 위한 정책들을 생성한다. 이때, 상기 행동 결정을 위한 정책은 상기 2차원 이동 로봇 모델 및 이동 로봇(12)이 어떤 상황에서 어떤 행동을 수행하는지에 대한 내용을 포함한다.As an embodiment of the execution process of the artificial intelligence learning algorithm, the two-dimensional virtual environment experimenter may place the two-dimensional obstacle models in the regular partial environment and deviate from the regular partial environment in the drivable space of the regular partial environment. While disposing the 2D mobile robot model in each subspace in which the 2D mobile robot model is located, it experiences all situations in which the corresponding 2D mobile robot model deviates from the corresponding regular subenvironment to generate policies for path and action decision. In this case, the policy for determining the action includes the contents of the two-dimensional mobile robot model and the action in which situation the
또한, 상기 종래 경로 알고리즘의 수행 과정에 대한 일 실시예로, 상기 2차원 가상 환경 실험기가 상기 정규 부분 환경에 상기 2차원 장애물 모델들을 배치하고, 정규 부분 환경의 주행 가능한 공간에서 정규 부분 환경을 벗어날 수 있는 각 부분 공간에 상기 2차원 이동 로봇 모델을 배치하면서, 해당 2차원 이동 로봇 모델이 해당 정규 부분 환경을 벗어나는 모든 경로들 중 상기 각 부분 공간별로 최단 경로를 생성한다.In addition, as an embodiment of the process of performing the conventional path algorithm, the two-dimensional virtual environment experimenter arranges the two-dimensional obstacle models in the regular partial environment, and deviates from the regular partial environment in the drivable space of the regular partial environment. While arranging the 2D mobile robot model in each possible subspace, the shortest path is generated for each subspace among all paths in which the 2D mobile robot model deviates from the corresponding regular subenvironment.
이때, 상기 인공지능 학습 알고리즘을 통해 생성된 인공지능 모델 및 종래 경로 알고리즘의 결과에 대한 일 실시예는, 이동 로봇(12)의 행동 결정을 위한 정책, 지역 경로, 전역 경로, 긴급 정지, 주행 방향, 주행 속도 및 주행 시간 등이 포함될 수 있다.At this time, an embodiment of the artificial intelligence model generated through the artificial intelligence learning algorithm and the result of the conventional route algorithm is a policy for determining the behavior of the
상기 부분 인공지능 모델 생성 모듈(125)은, 상기 정규 부분 환경 구축 모듈(123)에서 구축된 정규 부분 환경들 중에 기존 정규 부분 환경들과 유사하다고 판별된 정규 부분 환경은 그 유사한 기존 정규 부분 환경과 연결된 부분 인공지능 모델을 연결하여 이용한다. The partial artificial intelligence
도 5는 본 발명의 일 실시예에 따른 도 2의 명령 송수신부의 구성을 나타낸 도면이다. 도 5를 참조하면, 상기 명령 송수신부(130)는 로봇 게이트웨이 모듈(131), 로봇 중계기 모듈(132) 및 로봇 상태 확인 모듈(133)을 포함할 수 있다.5 is a diagram illustrating the configuration of the command transceiver of FIG. 2 according to an embodiment of the present invention. Referring to FIG. 5 , the
상기 로봇 중계기 모듈(132)은 로봇 환경(11)에 배치된 각 이동 로봇(12)과 일대일로 대응되어 상기 이동 로봇(12)에서 발생되는 데이터를 수신하여 로봇 게이트웨이 모듈(131)에 전달하고, 상기 이동 로봇(12)에 전달될 명령 및 데이터를 송신한다.The
여기서, 상기 이동 로봇(12)으로부터 수신한 데이터의 종류는 센서 기기들의 측정 정보, 영상 촬영 기기들이 촬영한 영상 정보 및 이동 로봇(12)의 활동 상태 등이 포함될 수 있고, 상기 이동 로봇(12)에게 전달한 데이터의 종류는 이동 로봇(12)의 주행과 관련된 정보인 긴급 정지, 주행 방향, 주행 속도, 주행 시간, 지역 경로, 전역 경로, 행동 결정을 위한 정책, 부분 인공지능 모델, 전역 환경 및 부분 환경 등이 포함될 수 있다.Here, the type of data received from the
또한, 상기 로봇 중계기 모듈(132)은 시스템(100)의 내부 또는 이동 로봇(12)의 내부에 탑재되어 그 역할을 수행할 수 있으며, 상기 중계기 모듈(132)이 상기 이동 로봇(12)의 내부에 탑재되는 경우에는, 상기 중계기 모듈(132)이 CDMA, LTE, 5G, WLAN 및 Wi-Fi 등의 무선 통신 방식을 사용하여 로봇 게이트웨이 모듈(131)과 통신을 수행할 수 있다. 이와 다르게, 상기 로봇 중계기 모듈(132)이 상기 명령 송수신부(130) 내부에 있는 경우에는 상기 로봇 중계기 모듈(132)과 상기 이동 로봇(12)이 CDMA, LTE, 5G, WLAN 및 Wi-Fi 등의 무선 통신 방식을 사용하여 통신을 수행할 수 있다.In addition, the
상기 로봇 중계기 모듈(132)의 역할 측면에서, 상기 로봇 중계기 모듈(132)은 발행자와 구독자의 역할을 갖고 있으며, 발행자 역할은 상기 이동 로봇(12)에서 발생한 데이터를 다른 이동 로봇(12) 및 로봇 게이트웨이 모듈(131)에게 전파하는 기능을 수행하고, 구독자 역할은 다른 이동 로봇(12) 및 로봇 게이트웨이 모듈(131)로부터 상기 이동 로봇(12)에게 전달되는 데이터를 수신하는 기능을 수행한다. 이때, 각 역할인 발행자와 구독자에 따른 처리 과정은 독립적으로 수행된다.In terms of the role of the
상기 로봇 중계기 모듈(132)에 대한 고장 대처 방안의 측면에서, 상기 로봇 중계기 모듈(132)은 주기적으로 로봇 게이트웨이 모듈(131)에게 하트비트(heartbeat) 신호를 전송하여 로봇 게이트웨이 모듈(131)의 활성 상태와 비활성 상태를 점검할 수 있다. 이때, 로봇 게이트웨이 모듈(131)이 비활성화한 경우에는 데이터를 상기 로봇 게이트웨이 모듈(131)에 전달하지 않고 상기 로봇 중계기 모듈(131) 내부에 별도 저장소에 해당 데이터를 기록할 수 있다. 추후, 로봇 게이트웨이 모듈(131)이 활성 상태가 되었을 때, 상기 기록된 데이터를 송신할 수 있다.In terms of countermeasures against failure of the
이기종 이동 로봇들 간의 통신 측면에서, 다수의 이동 로봇(12)들이 서로 다른 기종이어서, 각 이동 로봇(12)이 고유의 데이터 구조를 사용하는 경우에는, 상기 로봇 중계기 모듈(132)이 시스템(100)에서 사용하는 데이터 구조로 번역 및 변환하여 사용한다.In terms of communication between heterogeneous mobile robots, when a plurality of
상기 로봇 게이트웨이 모듈(131)은, 상기 복수 개의 로봇 중계기 모듈(132)들로부터 받은 데이터를 데이터 종류 별로 데이터 저장소(150)에 저장하고, 각 이동 로봇(12)별로 환경 모델 할당부(140)에서 할당한 전역 환경, 부분 환경 및 부분 인공지능 모델을 로봇 중계기 모듈(132)에게 전달한다.The
여기서, 상기 로봇 게이트웨이 모듈(131)이 수신한 데이터 중 이동 로봇(12)의 상태와 관련된 데이터는 로봇 상태 확인 모듈(133)로 전달된다. 또한, 상기 로봇 게이트웨이 모듈(131)이 수신하여 로봇 중계기 모듈(132)로 전송할 데이터와 데이터 저장소(150)에 저장할 데이터는 자료 구조 큐(queue), 스택(stack) 및 힙(heap) 구조를 사용하되 우선순위에 따라 전송될 수 있다.Here, data related to the state of the
상기 로봇 게이트웨이 모듈(131)에 대한 고장 대처 방안의 측면에서, 상기 로봇 게이트웨이 모듈(131)은 주기적으로 로봇 중계기 모듈(132)에게 하트비트 신호를 전송하여 로봇 중계기 모듈(132)의 활성 상태와 비활성 상태를 점거할 수 있다. 이때, 로봇 중계기 모듈(132)이 비활성화한 경우에는 상기 로봇 게이트웨어 모듈(131) 내부에 별도로 해당 로봇 중계기 모듈(132)에 전달할 데이터를 누적시켜 보관한다. 추후, 로봇 중계기 모듈(132)이 활성 상태가 되었을 때, 상기 기록된 데이터를 송신할 수 있다.In terms of countermeasures against failure of the
상기 로봇 상태 확인 모듈(133)은, 상기 로봇 게이트웨어 모듈(131)로부터 전달된 상기 이동 로봇(12)의 상태 정보와 관련된 데이터를 데이터 저장소(150)에 저장한다. 이때, 이동 로봇(12)의 상태 정보에는 GPS(Global Positioning System) 및 IPS(Indoor Positioning System)로 계산된 위치 정보, 상기 로봇 환경(11)에 존재하는 기준점으로부터의 상대적 위치 정보, 활성 상태, 탑재 센서 기기의 상태, 탑재 영상 촬영 기기의 상태, 사용하는 부분 인공지능 모델 정보, 할당된 전역 환경 정보 및 부분 환경 정보 등이 포함될 수 있다.The robot status check module 133 stores data related to the status information of the
도 6은 본 발명의 일 실시예에 따른 도 2의 환경 모델 할당부의 구성을 나타낸 도면이다. 도 6을 참조하면, 환경 모델 할당부(140)는, 환경 모델 할당 관리 모듈(141), 전역 환경 할당 모듈(142), 부분 환경 할당 모듈(143) 및 부분 인공지능 모델 할당 모듈(144)을 포함할 수 있다.6 is a diagram illustrating the configuration of the environment model allocator of FIG. 2 according to an embodiment of the present invention. Referring to FIG. 6 , the environment
상기 환경 모델 할당 관리 모듈(141)은, 상기 로봇 상태 확인 모듈(133)으로부터 주기적 또는 실시간으로 이동 로봇(12)의 상태 정보를 수신하여, 그 상태에 따라 각 이동 로봇(12)에게 전역 환경, 부분 환경, 부분 인공지능 모델, 행동 결정을 위한 정책, 긴급 정지 명령, 주행 방향, 주행 속도, 주행 시간, 전역 경로 및 지역 경로 등을 할당한다. 이때, 상기 환경 모델 할당 관리 모듈(141)은 동일한 로봇 환경(11)에 포함된 모든 이동 로봇(12)들에게 상기 전역 환경 할당 모듈(142)로부터 전달받은 가상의 전역 환경을 할당한다.The environment model
또한, 상기 환경 모델 할당 관리 모듈(141)은, 각 이동 로봇(12)에게 상기 가상의 전역 환경뿐만 아니라 해당 이동 로봇(12)이 로봇 환경(11)에서 주행하기 위한 전역 경로를 생성하여 상기 전역 환경과 같이 할당한다. 이때, 상기 환경 모델 할당 관리 모듈(141)은, 상기 로봇 상태 확인 모듈(133)으로부터 주기적 또는 실시간으로 해당 이동 로봇(12)의 위치를 포함한 상태 정보를 수신하므로 상기 전역 경로는 상기 이동 로봇(12)의 위치에 따라 주기적 또는 실시간으로 해당 이동 로봇(12)에 할당된다. 상기 환경 모델 할당 관리 모듈(141)은, 이동 로봇(12)이 가야할 최종 목적지를 확인하고, 그 최종 목적지에 따라 상기 전역 경로를 생성하여 해당 이동 로봇(12)으로 할당한다.In addition, the environment model
부분 환경 및 부분 인공지능 모델 할당 과정에 있어서, 상기 환경 모델 할당 관리 모듈(141)은, 각 이동 로봇(12)의 위치를 포함하는 부분 환경과 부분 인공지능 모델을 각각 부분 환경 할당 모듈(143)과 부분 인공지능 모델 할당 모델(144)로부터 전달받아서 해당 이동 로봇(12)에게 할당한다. 상기 환경 모델 할당 관리 모듈(141)은, 각 이동 로봇(12)에게 부분 환경뿐만 아니라, 해당 이동 로봇(12)이 부분 환경에서 주행하기 위한 지역 경로를 생성하여 상기 부분 환경과 같이 할당한다.In the partial environment and partial artificial intelligence model allocation process, the environment model
여기서, 상기 부분 인공지능 모델을 전달할 이동 로봇(12)이 인공지능 모델을 탑재하지 못하는 경우에는 해당 부분 인공지능 모델을 수행시켜서 결과인 주행 방향, 주행 속도, 주행 시간, 행동을 결정하는 정책, 전역 경로 및 지역 경로 등을 생성하고, 상기 생성된 부분 인공지능 모델의 결과를 해당 이동 로봇(12)에게 전달할 수 있다.Here, if the
상기 전역 환경 할당 모듈(142)은 데이터 저장소(150)에 저장된 가상의 전역 환경들 중 상기 환경 모델 할당 관리 모듈(141)에서 전달받은 이동 로봇(12)의 로봇 환경(11)에 대응하는 가상의 전역 환경을 환경 모델 할당 관리 모듈(141)에 전달한다.The global
상기 부분 환경 할당 모듈(143)은 데이터 저장소(150)에 저장된 부분 환경들 중 상기 환경 모델 할당 관리 모듈(141)에서 전달받은 이동 로봇(12)의 위치를 포함하는 부분 환경과, 해당 부분 환경과 각 차원별로 인접한 부분 환경들을 환경 모델 할당 관리 모듈(141)에 전달한다.The partial
상기 부분 인공지능 모델 할당 모듈(144)은 데이터 저장소(150)에 저장된 부분 인공지능 모델들 중 상기 환경 모델 할당 관리 모듈(141)에서 전달받은 이동 로봇(12)의 위치를 포함하는 부분 환경에 대한 부분 인공지능 모델과, 해당 부분 환경과 각 차원별로 인접한 부분 환경들에 대한 부분 인공지능 모델들을 환경 모델 할당 관리 모듈(141)에 전달한다.The partial artificial intelligence model allocation module 144 is a partial environment including the location of the
도 7은 본 발명의 일 실시예에 따른 도 2의 데이터 저장소의 구성을 나타낸 도면이다. 도 7을 참조하면, 데이터 저장소(150)는 저장소 동기화기(151), 영상 저장소(152), 측정 정보 저장소(153), 로봇 정보 저장소(154), 전역 환경 저장소(155), 부분 환경 저장소(156), 정규 부분 환경 저장소(157) 및 부분 인공지능 모델 저장소(158)를 포함할 수 있다.7 is a diagram showing the configuration of the data storage of FIG. 2 according to an embodiment of the present invention. Referring to FIG. 7 , the
상기 저장소 동기화기(151)는 상기 데이터 저장소(150)에 포함된 모든 저장소들의 데이터를 클라우드 서버에 복재 및 동기화시킨다. 여기서, 저장소 동기화기(151)가 클라우드 서버에 포함된 경우에는 클라우드 서버 내에 별도의 복재본을 생성하여 동기화시킨다.The
상기 영상 저장소(152)는 로봇 환경(11) 및 이동 로봇(12)에 포함된 영상 촬영 기기가 촬영한 영상 정보를 저장하는 저장소로, 각 영상 정보에는 영상 촬영 시간, 촬영한 기기, 촬영한 기기를 포함한 로봇 환경(11) 또는 이동 로봇(12)의 정보 등이 포함될 수 있다.The
상기 측정 정보 저장소(153)는 로봇 환경(11) 및 이동 로봇(12)에 포함된 센서 기기가 측정한 측정 정보를 저장하는 저장소로, 각 측정 정보에는 계측 시간, 계측한 센서 기기, 계측한 센서 기기를 포함한 로봇 환경(11) 또는 이동 로봇(12)의 정보 등이 포함될 수 있다.The
상기 로봇 정보 저장소(154)는 각 이동 로봇(12)별로 해당 이동 로봇(12)의 상태 정보, 이동 로봇(12)이 포함하는 영상 촬영 기기들의 정보 및 센서 기기들의 정보 등을 저장할 수 있다.The
상기 전역 환경 저장소(155)는 상기 전역 환경 구축부(110)의 전역 환경 구축 모듈(114)에서 구축한 복수의 가상 2차원 전역 환경을 저장할 수 있다. 상기 부분 환경 저장소(156)는 부분 환경 구축부(120)의 부분 환경 구축 모듈(121)에서 구축한 복수의 부분 환경을 저장할 수 있다. 상기 정규 부분 환경 저장소(157)는 부분 환경 구축부(120)의 정규 부분 환경 구축 모듈(123)에서 생성한 정규 부분 환경을 저장할 수 있다. 상기 부분 인공지능 모델 저장소(158)는 부분 환경 구축부(120)의 부분 인공지능 모델 생성 모듈(125)에서 생성한 부분 인공지능 모델을 저장할 수 있다.The
도 8은 본 발명의 일 실시예에 따라 가상의 전역 환경을 분할하여 복수의 부분 환경들을 구축하는 과정을 나타내는 도면이다. 도 8은 전역 환경을 각 차원별로 균등하게 분할하여 4개의 부분 환경들을 생성하는 것을 가정하여 설명한다.8 is a diagram illustrating a process of constructing a plurality of partial environments by dividing a virtual global environment according to an embodiment of the present invention. FIG. 8 will be described on the assumption that the global environment is equally divided for each dimension to generate four partial environments.
도 8의 (a) 및 (b)를 참조하면, 상기 전역 환경 구축부(110)의 전역 환경 구축 모듈(114)은, 가상 3차원 전역 환경(210)을 2차원으로 사영시켜 가상 2차원 전역 환경(220)을 생성한다. 다음으로, 도 8의 (c)에 도시된 바와 같이, 상기 부분 환경 구축부(120)의 부분 환경 구축 모듈(121)은, 가상 2차원 전역 환경(220)의 각 차원별로 균등하게 분할하여 4개의 부분 환경들(230)을 생성한다. 즉, 가상 2차원 전역 환경(220)의 가로를 2등분하고 세로를 2등분하여 4개의 부분 환경들(230)을 생성한다. Referring to (a) and (b) of FIG. 8 , the global
도 8의 (a)에 도시된 바와 같이, 가상 3차원 전역 환경(210)은 로봇 환경(11)의 바닥 부분을 의미하는 3차원 바닥 모델(211)과 로봇 환경(11)에 포함된 장애물 및 외벽을 의미하는 3차원 객체 모델(212)로 구성될 수 있다. 이때, 가상 3차원 전역 환경(210)은 차원 축소 및 2차원 사영되어 가상 2차원 전역 환경(220)으로 변환될 수 있다.As shown in (a) of FIG. 8 , the virtual three-dimensional
도 8의 (b)에 도시된 바와 같이, 가상 2차원 전역 환경(220)은 상기 3차원 바닥 모델(211)과 대응되는 2차원 바닥 모델(221) 및 상기 3차원 객체 모델(212)과 대응되는 2차원 객체 모델(222)로 구성될 수 있다. 상기 부분 환경 구축 모델(121)은 가상 2차원 전역 환경(220)에 대해 분할 선(223)을 생성하며, 2차원 바닥 모델(221) 및 2차원 객체 모델(222)은 상기 분할 선(223)으로 분할된다. 도 8의 (c)에 도시된 바와 같이, 분할된 각 부분 환경(231-234)은 분할된 2차원 바닥 모델(221) 및 2차원 객체 모델(222)을 포함한다.As shown in FIG. 8B , the virtual two-dimensional
도 9는 본 발명의 일 실시예에 따라 각 부분 환경(231-234)으로부터 이상치(311-316)를 제거하고 정규 부분 환경들(320)로 구축하는 과정(300)을 나타낸다. 도 9는 4개의 부분 환경들(231-234)에 대한 4개의 정규 부분 환경들을 생성하는 것을 가정하여 설명한다.9 illustrates a process 300 of removing outliers 311-316 from each sub-environment 231-234 and building into
도 9의 (a)를 참조하면, 상기 부분 환경 구축부(120)의 부분 환경 이상치 제거 모듈(122)은 부분 환경 구축 모듈(121)에서 구축한 각 부분 환경(231-234)에 대해 이상치(311-316)를 제거한다. 정규 부분 환경 구축 모듈(123)은 이상치가 제거된 각 부분 환경(231-234)에 대해 도 9의 (b)에 도시된 바와 같이 정규 부분 환경(321-324)으로 구축한다. 여기서 이상치는 이동 로봇(12)이 주행 가능한 공간의 외벽에 부착된 객체들을 포함한다. Referring to (a) of FIG. 9 , the partial environment
이상치 제거 과정을 통해, 부분 환경(231)에서는 하나의 이상치(311)가, 부분 환경(232)에서는 하나의 이상치(312)가, 부분 환경(233)에서는 세 개의 이상치(313-314)가, 부분 환경(234)에서는 두 개의 이상치(315-316)가 각각 제거된다. 이 후, 이상치가 제거된 모든 부분 환경들(310)에 대해 정규화 과정을 수행하여, 부분 환경(231)은 정규 부분 환경(321)으로, 부분 환경(232)은 정규 부분 환경(322)으로, 부분 환경(233)은 정규 부분 환경(323)으로, 부분 환경(324)은 정규 부분 환경(324)으로 각각 변환되어 4개의 정규 부분 환경들(320)로 구축된다.Through the outlier removal process, one
도 10은 본 발명의 일 실시예에 따라 기존 정규 부분 환경과 유사한 정규 부분 환경을 기 생성된 부분 인공지능 모델과 연결시키는 과정 및 새로운 정규 부분 환경에 대한 부분 인공지능 모델을 생성하는 과정을 나타낸다. 도 10은 도 9에서 구축한 4개의 정규 부분 환경(321-324)에 대한 부분 인공지능 모델 연결 및 생성 과정을 가정하여 설명한다.10 illustrates a process of linking a regular partial environment similar to an existing regular partial environment with a previously generated partial artificial intelligence model and a process of generating a partial artificial intelligence model for a new regular partial environment according to an embodiment of the present invention. FIG. 10 will be described assuming a partial AI model connection and generation process for the four regular partial environments 321-324 constructed in FIG. 9 .
도 10의 (a)는 도 9에서 생성된 새로운 정규 부분 환경들 중 일부 정규 부분 환경과 유사한 정규 부분 환경을 기 저장되어 있는 정규 부분 환경들에서 찾아 해당 기 저장되어 있는 정규 부분 환경들의 부분 인공지능 모델과 연결하는 과정을 나타낸다. FIG. 10( a ) shows partial artificial intelligence of pre-stored regular partial environments by finding regular partial environments similar to some regular partial environments among the new regular partial environments generated in FIG. 9 from pre-stored regular partial environments. It shows the process of connecting with the model.
도 9에서 생성된 정규 부분 환경들 중 정규 부분 환경(321-323)은, 기존 정규 부분 환경(411-414)과 유사하다. 즉, 정규 부분 환경(321)은 주행 가능 공간이 해당 정규 부분 환경(321)의 하나의 모서리에 닿아있는 형태이고, 이는 기존 정규 부분 환경(411)의 형태와 유사한다. 따라서, 정규 부분 환경(321)은 기존 정규 부분 환경(411)과 유사하므로 기존 정규 부분 환경(411)에 연결된 기존 부분 인공지능 모델(415)과 연결된다. Among the regular partial environments generated in FIG. 9 , the regular partial environment 321-323 is similar to the existing regular partial environment 411-414 . That is, the regular
정규 부분 환경(322)은, 주행 가능 공간이 해당 정규 부분 환경(322)의 두 개의 모서리에 닿아있는 형태이고, 이는 기존 정규 부분 환경(412)의 형태와 유사하다. 따라서, 정규 부분 환경(322)은, 기존 정규 부분 환경(412)에 연결된 기존 부분 인공지능 모델(416)과 연결된다. The regular
한편, 정규 부분 환경(323)은 주행 가능 공간이 해당 정규 부분 환경(323)의 세 개의 모서리에 닿아있는 형태이고, 이는 기존 정규 부분 환경(414)과 유사하다. 따라서, 정규 부분 환경(323)은, 기존 정규 부분 환경(414)과 연결된 기존 부분 인공지능 모델(418)과 연결된다. Meanwhile, in the regular
이때, 새롭게 생성된 정규 부분 환경(321-324) 중 어떠한 것도 기존 정규 부분 환경(413)과 유사하지 않으므로, 그 기존 정규 부분 환경(413)과 연결된 기존 인공지능 모델(417)과 연결되는 새로운 정규 부분 환경(321-324)은 존재하지 않는다.At this time, since none of the newly created regular sub-environments 321-324 are similar to the existing regular sub-environment 413 , the new canonical Partial environments 321-324 do not exist.
다시 도 10을 참조하면, 도 10의 (b)는, 도 9에서 생성된 새로운 정규 부분 환경들 중 유사한 기존 정규 부분 환경이 없는 정규 부분 환경에 대해 새로운 부분 인공지능 모델을 생성하는 과정을 나타낸다. 도 9에서 생성된 새로운 정규 부분 환경들(321-324) 중 정규 부분 환경(324)은 유사한 기존 정규 부분 환경이 없다. 따라서, 해당 정규 부분 환경(324)은, 새로운 부분 인공지능 모델(421)이 생성되어 연결된다.Referring again to FIG. 10 , FIG. 10 ( b ) shows a process of generating a new partial artificial intelligence model for a regular partial environment without a similar existing regular partial environment among the new regular partial environments generated in FIG. 9 . Of the new regular partial environments 321-324 created in FIG. 9 , the regular
도 11은 본 발명의 일 실시예에 따라 부분 인공지능 모델을 이동 로봇의 상태에 따라 할당하는 과정 및 부분 인공지능 모델을 통해 각 이동 로봇의 경로를 생성하는 과정을 나타낸 도면이다.11 is a diagram illustrating a process of allocating a partial artificial intelligence model according to a state of a mobile robot and a process of generating a path of each mobile robot through the partial artificial intelligence model according to an embodiment of the present invention.
도 11은 도 9 및 도 10에서 생성한 부분 환경들(231-234)의 정규 부분 환경들(321-324)과 연결된 부분 인공지능 모델들(415, 416, 418 및 421)을 2대의 이동 로봇들(12a 및 12b)에 할당하는 것을 가정하여 설명한다.11 shows partial
도 11을 참조하면, 상기 부분 환경 구축부(120)의 부분 환경 구축 모듈(121)에서 분할 선(223)으로 분할한 2차원 전역 환경(220)에 대해, 상기 환경 모델 할당부(140)의 환경 모델 할당 관리 모듈(141)이 두 대의 이동 로봇(12a 및 12b)에 두 개의 부분 인공지능 모델(416 및 421)을 할당한다. 이때, 상기 이동 로봇(12a)은 상기 2차원 전역 환경(220)과 함께 전역 경로(510)를, 상기 이동 로봇(12b)은 상기 2차원 전역 환경(220)과 함께 전역 경로(520)를 각각 할당 받는다고 가정한다.Referring to FIG. 11 , for the two-dimensional
상기 전역 경로(510)는 부분 환경(232)에 존재하는 이동 로봇(12a)의 위치에 따라 환경 모델 할당 관리 모듈(141)이 생성한 경로이다. 상기 전역 경로(510)는 상기 부분 환경(232)과 상기 부분 환경(233)에 걸쳐 있으므로, 상기 환경 모델 할당 관리 모듈(141)은 상기 두 부분 환경들(232 및 233)에 대한 부분 인공지능 모델들(416 및 418)을 해당 이동 로봇(12a)의 위치에 따라 할당한다. 또한 상기 환경 모델 할당 관리 모듈(141)은 부분 환경(232)에서의 지역 경로(511)도 함께 이동 로봇(12a)으로 할당한다.The
또한, 상기 전역 경로(520)는 부분 환경(234)에 존재하는 이동 로봇(12b)의 위치에 따라 환경 모델 할당 관리 모듈(141)이 생성한 경로이다. 상기 전역 경로(520)는 상기 부분 환경(233)과 부분 환경(234)에 걸쳐 있으므로, 상기 환경 모델 할당 관리 모듈(141)은 상기 두 부분 환경들(233 및 234)에 대한 부분 인공지능 모델들(418 및 421)을 해당 이동 로봇(12b)의 위치에 따라 할당한다. 또한 상기 환경 모델 할당 관리 모듈(141)은 부분 환경(234)에서의 지역 경로(523)도 함께 이동 로봇(12b)으로 할당한다.Also, the
도 11에 나타난 상태에서 이동 로봇(12a)은 부분 환경(232)에 위치해 있으므로 정규 부분 환경(322)와 연결된 부분 인공지능 모델(416)을 할당받아서 경로(511)를 생성하거나 정책에 따른 행동을 선택하여 주행할 수 있다. 또한, 도 11에 나타난 상태에서 이동 로봇(12b)은 부분 환경(234)에 위치해 있으므로 정규 부분 환경(324)와 연결된 부분 인공지능 모델(421)을 할당받아서 세 개의 경로(521, 522 및 523)들을 생성하거나 정책에 따른 행동을 선택하여 주행할 수 있다.11, since the
도 12는 본 발명의 일 실시예에 따른 비동기 분산 방식의 인공지능 모델 할당 방법을 설명하는 흐름도이다. 12 is a flowchart illustrating a method of allocating an artificial intelligence model in an asynchronous distributed manner according to an embodiment of the present invention.
도 12를 참조하면, 단계 S1201에서, 인공지능 모델 할당 시스템(100)은, 로봇 환경(11)에서 다수의 센서 기기들로부터 측정된 측정 정보를 유/무선 통신을 통해 수신하여 데이터 저장소(150)에 저장한다. 또한, 인공지능 모델 할당 시스템(100)은, 로봇 환경(11)에 포함된 다수의 영상 촬영 기기들로부터 촬영된 영상 정보를 유/무선 통신을 통해 수신하여 데이터 저장소(150)에 저장한다.Referring to FIG. 12 , in step S1201 , the artificial intelligence
단계 S1202에서, 인공지능 모델 할당 시스템(100)은 상기 측정 정보와, 상기 영상 정보를 기반으로 상기 로봇 환경(11)에 대한 가상의 전역(全域) 환경을 구축하여 데이터 저장소(150)에 저장한다. 이때, 인공지능 모델 할당 시스템(100)은, 상기 측정 정보 및 상기 환경 영상 촬영 모듈(112)에서 수집한 영상 정보를 분석하여 상기 로봇 환경(11)에 존재하는 내/외벽을 포함한 객체들을 판별하고 상기 로봇 환경(11)과 동일한 크기의 2차원 또는 3차원 가상 지도에 배치한다. 인공지능 모델 할당 시스템(100)은, 3차원 가상 전역 환경의 경우 3차원 가상 전역 환경을 2차원으로 사영(slanting shadow)시켜서 2차원 전역 환경으로 구축한다.In step S1202, the artificial intelligence
단계 S1203에서, 인공지능 모델 할당 시스템(100)은, 상기 가상의 전역 환경을 분할하여 복수의 부분 환경들을 구축한다. 구체적으로, 인공지능 모델 할당 시스템(100)은, 2차원 가상 전역 환경을 각 차원별로 균등 또는 비균등하게 분할하여 복수의 부분 환경들을 구축한다. 이때, 각 부분 환경은 최소 0부터 최대 이동 로봇(12)의 최소 회전 반경만큼 각 차원별로 겹치게 분할될 수 있다. 또한, 각 부분 환경의 최소 크기는, 이동 로봇(12)의 최대 회전 반경을 포함하는 최소 경계 사각형(MBR, Minimum Bounding Rectangle)을 기준으로, 이 최소 경계 사각형을 적어도 4개 이상을 포함할 수 있는 크기이다.In step S1203, the artificial intelligence
단계 S1204에서, 인공지능 모델 할당 시스템(100)은, 각 부분 환경을 정규화하여 정규 부분 환경을 생성하여 데이터 저장소(150)에 저장한다. 구체적으로, 인공지능 모델 할당 시스템(100)은, 각 부분 환경에 포함된 객체들 중 이동 로봇(12)이 주행 가능한 공간의 외벽에 존재하는 객체를 제거하여, 상기 부분 환경에서의 주행 가능한 공간을 정제하고, 이상치가 제거된 각 부분 환경을 주행 가능한 공간 형태에 따라 일정한 패턴을 갖는 정규 부분 환경으로 변환한다. 여기서, 상기 각 부분 환경에 대한 정규화의 일 실시예로서, 각 부분 환경의 각 차원 값을 0과 k 사이의 값으로 변환하여 수행할 수 있으며, 이때, k는 0보다 큰 실수이다. 그리고 각 부분 환경을 정규화하여 정규 부분 환경을 구축하는 데 있어서, 주행 가능한 공간의 폭의 1/2이 이동 로봇(12)의 최소 회전 반경보다 작은 경우 해당 주행 가능한 공간은 이동 로봇(12)이 주행할 수 없는 공간이므로, 해당 주행 가능한 공간의 형태를 고려하는데 있어서 고려하지 않는다. In step S1204 , the artificial intelligence
단계 S1205에서, 인공지능 모델 할당 시스템(100)은, 상기 단계 S1204에서 생성한 정규 부분 환경들에 대해 기존 유사한 정규 부분 환경이 데이터 저장소(150)에 존재하는지 확인한다. 이때, 각 정규 부분 환경 쌍에 대한 유사도는 해당 정규 부분 환경에 포함된 주행 가능한 공간에 대한 자카드(Jaccard) 유사도로 정의될 수 있으며, 이에 따른 일 실시예로 두 정규 부분 환경들의 주행 가능한 공간들에 대한 합집합 면적으로 교집합 면적을 나눈 값을 유사도로 사용할 수 있다. 또한, 각 정규 부분 환경 쌍에 대한 유사도 계산을 수행하기 위해서, 각 정규 부분 환경은 회전될 수 있다. 상기 각 정규 부분 환경 쌍에 대한 유사도 계산에 대한 다른 일 실시예로, 각 정규 부분 환경 쌍의 모서리들에 대한 순서가 주어졌을 때, 각 모서리와 맞닿은 주행 가능한 공간의 수 또는 면적을 수치화하여 두 순열들 간의 비교 방법으로 해당 쌍의 유사도가 정의될 수 있다. In step S1205 , the artificial intelligence
단계 S1206에서, 인공지능 모델 할당 시스템(100)은, 기존 유사한 정규 부분 환경이 있는 정규 부분 환경에 대해서, 그 유사한 기존 정규 부분 환경과 연결된 부분 인공지능 모델을 연결한다. In step S1206, the artificial intelligence
단계 S1207에서, 인공지능 모델 할당 시스템(100)은, 기존 유사한 정규 부분 환경이 없는 정규 부분 환경에 대해서는, 부분 인공지능 모델을 생성하여 데이터 저장소(150)에 저장하고 그 정규 부분 환경에 연결한다. 부분 인공지능 모델의 생성 방법은 앞서 설명한 바와 같다.In step S1207, the artificial intelligence
단계 S1208에서, 인공지능 모델 할당 시스템(100)은, 주기적 또는 실시간으로 이동 로봇(12)의 상태 정보를 수신하여, 그 상태에 따라 각 이동 로봇(12)에게 전역 환경, 부분 환경, 부분 인공지능 모델, 전역 경로 및 지역 경로 등을 할당한다. 이때, 인공지능 모델 할당 시스템(100)은, 각 이동 로봇(12)에게 그 위치에 따라 부분 환경을 할당하는 과정에서, 그 위치를 포함하는 부분 환경과 해당 부분 환경의 각 차원별로 인접한 부분 환경들을 함께 할당한다. In step S1208, the artificial intelligence
이와 같이 각 이동 로봇(12)에 전역 환경, 부분 환경, 부분 인공지능 모델, 전역 경로 및 지역 경로 등이 할당되면, 이에 기초하여 각 이동 로봇(12)은 최종 목적지까지의 행동을 선택하여 주행을 하게 된다. In this way, when a global environment, a partial environment, a partial artificial intelligence model, a global path, and a local path are assigned to each
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.While this specification contains many features, such features should not be construed as limiting the scope of the invention or the claims. Also, features described in individual embodiments herein may be implemented in combination in a single embodiment. Conversely, various features described herein in a single embodiment may be implemented in various embodiments individually, or may be implemented in appropriate combination.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.The method of the present invention as described above may be implemented as a program and stored in a computer-readable form in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.). Since this process can be easily performed by a person skilled in the art to which the present invention pertains, it will not be described in detail any more.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above, for those of ordinary skill in the art to which the present invention pertains, various substitutions, modifications and changes are possible without departing from the technical spirit of the present invention. It is not limited by the drawing.
11 : 로봇 환경 12 : 이동 로봇
100 : 인공지능 모델 할당 시스템 110 : 전역 환경 구축부
120 : 부분 환경 구축부 130 : 명령 송수신부
140 : 환경 모델 할당부 150 : 데이터 저장소
111 : 환경 정보 측정 모듈 112 : 환경 영상 촬영 모듈
113 : 정합 모듈 114 : 전역 환경 구축 모듈
121 : 부분 환경 구축 모듈 122 : 부분 환경 이상치 제거 모듈
123 : 정규 부분 환경 구축 모듈 124 : 유사 부분 환경 탐색 모듈
125 : 부분 인공지능 모델 생성 모듈 131 : 로봇 게이트웨이 모듈
132 : 로봇 중계기 모듈 133 : 로봇 상태 확인 모듈
141 : 환경 모델 할당 관리 모듈 142 : 전역 환경 할당 모듈
143 : 부분 환경 할당 모듈 144 : 부분 인공지능 모델 할당 모듈11: robot environment 12: mobile robot
100: artificial intelligence model allocation system 110: global environment construction department
120: partial environment construction unit 130: command transceiver unit
140: environment model allocation unit 150: data storage
111: environmental information measurement module 112: environmental image capturing module
113: matching module 114: global environment building module
121: partial environment building module 122: partial environment outlier removal module
123: regular partial environment construction module 124: similar partial environment search module
125: partial artificial intelligence model generation module 131: robot gateway module
132: robot repeater module 133: robot status check module
141: environment model allocation management module 142: global environment allocation module
143: partial environment allocation module 144: partial artificial intelligence model allocation module
Claims (22)
상기 이동 로봇이 주행 가능한 로봇 환경에 대한 가상 전역 환경을 구축하는 전역 환경 구축부;
상기 가상 전역 환경을 복수의 부분 환경들로 분할하고 각 부분 환경에 대한 부분 인공지능 모델을 생성하는 부분 환경 구축부;
상기 이동 로봇과 데이터 통신을 수행하는 명령 송수신부; 및
상기 이동 로봇의 상태에 따라 상기 명령 송수신부를 통해 상기 이동 로봇으로 상기 가상 전역 환경과, 상기 이동 로봇의 위치에 대응하는 부분 환경 및 부분 인공지능 모델을 할당하는 환경 모델 할당부를 포함하고,
상기 전역 환경 구축부는,
상기 로봇 환경에 포함된 센서 기기로부터 수신된 측정 정보와, 영상 촬영 기기로부터 수신된 영상 정보를 기초로 내/외벽을 포함한 객체들을 판별하고, 판별된 객체들을 2차원 가상 지도에 배치하는 것을 특징으로 하는 인공지능 모델 할당 시스템.In the artificial intelligence model allocation system for autonomous driving of a mobile robot,
a global environment building unit for constructing a virtual global environment for a robot environment in which the mobile robot can run;
a partial environment construction unit dividing the virtual global environment into a plurality of partial environments and generating a partial artificial intelligence model for each partial environment;
a command transceiver for performing data communication with the mobile robot; and
An environment model allocator for allocating the virtual global environment, a partial environment and a partial artificial intelligence model corresponding to the position of the mobile robot to the mobile robot through the command transceiver according to the state of the mobile robot,
The global environment construction unit,
Based on the measurement information received from the sensor device included in the robot environment and the image information received from the image capturing device, objects including inner and outer walls are determined, and the determined objects are arranged on a two-dimensional virtual map. AI model allocation system.
상기 이동 로봇이 주행 가능한 로봇 환경에 대한 가상 전역 환경을 구축하는 전역 환경 구축부;
상기 가상 전역 환경을 복수의 부분 환경들로 분할하고 각 부분 환경에 대한 부분 인공지능 모델을 생성하는 부분 환경 구축부;
상기 이동 로봇과 데이터 통신을 수행하는 명령 송수신부; 및
상기 이동 로봇의 상태에 따라 상기 명령 송수신부를 통해 상기 이동 로봇으로 상기 가상 전역 환경과, 상기 이동 로봇의 위치에 대응하는 부분 환경 및 부분 인공지능 모델을 할당하는 환경 모델 할당부를 포함하고,
상기 부분 환경 구축부는,
상기 가상 전역 환경을 상기 이동 로봇의 최대 회전 반경 크기를 기초로 복수의 부분 환경들로 분할하는 부분 환경 구축 모듈;
상기 복수의 부분 환경 각각에서 상기 이동 로봇이 주행 가능한 공간의 외벽에 존재하는 객체를 이상치로 판별하여 제거하는 부분 환경 이상치 제거 모듈;
상기 이상치가 제거된 각 부분 환경을 주행 가능한 공간의 형태에 따라 정규 부분 환경으로 변환하는 정규 부분 환경 구축 모듈; 및
상기 변환된 정규 부분 환경에 대한 부분 인공지능 모델을 생성하는 부분 인공지능 모델 생성 모듈을 포함하는 것을 특징으로 하는 인공지능 모델 할당 시스템.In the artificial intelligence model allocation system for autonomous driving of a mobile robot,
a global environment building unit for constructing a virtual global environment for a robot environment in which the mobile robot can run;
a partial environment construction unit dividing the virtual global environment into a plurality of partial environments and generating a partial artificial intelligence model for each partial environment;
a command transceiver for performing data communication with the mobile robot; and
An environment model allocator for allocating the virtual global environment, a partial environment and a partial artificial intelligence model corresponding to the position of the mobile robot to the mobile robot through the command transceiver according to the state of the mobile robot,
The partial environment construction unit,
a partial environment construction module that divides the virtual global environment into a plurality of partial environments based on a maximum rotation radius size of the mobile robot;
a partial environment outlier removal module for determining and removing an object existing on an outer wall of a space in which the mobile robot can travel in each of the plurality of partial environments as an outlier;
a regular partial environment construction module for converting each partial environment from which the outliers are removed into a regular partial environment according to a shape of a drivable space; and
and a partial artificial intelligence model generation module for generating a partial artificial intelligence model for the transformed regular partial environment.
상기 부분 환경 구축 모듈은,
상기 가상 전역 환경을 각 차원별로 분할하여 복수의 부분 환경들을 구축하되, 각 부분 환경의 최소 크기는, 상기 이동 로봇의 최대 회전 반경을 포함하는 최소 경계 사각형이 적어도 4개 이상 포함하도록 하는 것을 특징으로 하는 인공지능 모델 할당 시스템.4. The method of claim 3,
The partial environment building module,
A plurality of partial environments are constructed by dividing the virtual global environment for each dimension, and the minimum size of each partial environment is such that at least four minimum boundary rectangles including the maximum rotation radius of the mobile robot are included. AI model allocation system.
상기 부분 환경 구축부는,
데이터 저장소에서 상기 변환된 정규 부분 환경과 유사한 기존 정규 부분 환경을 탐색하는 유사 부분 환경 탐색 모듈을 더 포함하고,
상기 부분 인공지능 모델 생성 모듈은,
상기 변환된 정규 부분 환경 중 기존 유사한 정규 부분 환경이 탐색되지 않은 정규 부분 환경에 대해 부분 인공지능 모델을 생성하며,
상기 환경 모델 할당부는,
상기 변환된 정규 부분 환경 중 기존 유사한 정규 부분 환경이 탐색된 정규 부분 환경에 대해서는 기존 유사한 정규 부분 환경에 연결된 부분 인공지능 모델을 할당하는 것을 특징으로 하는 인공지능 모델 할당 시스템.4. The method of claim 3,
The partial environment construction unit,
Further comprising a similar partial environment search module for searching an existing regular partial environment similar to the transformed regular partial environment in the data store,
The partial artificial intelligence model generation module,
A partial artificial intelligence model is generated for a regular partial environment in which an existing similar regular partial environment is not searched among the transformed regular partial environment,
The environment model allocating unit,
An artificial intelligence model allocation system, characterized in that for a regular partial environment in which an existing similar regular partial environment is found among the transformed regular partial environment, a partial artificial intelligence model connected to an existing similar regular partial environment is allocated.
상기 유사 부분 환경 탐색 모듈은,
두 개의 정규 부분 환경의 주행 가능한 공간들의 교집합 면적을 합집합 면적으로 나눈 값을 기초로 유사 여부를 판단하는 것을 특징으로 하는 인공지능 모델 할당 시스템.6. The method of claim 5,
The similar part environment search module,
An artificial intelligence model allocation system, characterized in that it is determined whether similarity is based on a value obtained by dividing the intersection area of the drivable spaces of two regular partial environments by the union area.
상기 유사 부분 환경 탐색 모듈은,
두 개의 정규 부분 환경의 각 모서리에 맞닿는 주행 가능한 공간의 수를 비교하여 유사 여부를 판단하는 것을 특징으로 하는 인공지능 모델 할당 시스템.6. The method of claim 5,
The similar part environment search module,
An artificial intelligence model allocation system, characterized in that it is determined whether similarity is found by comparing the number of drivable spaces in contact with each corner of two regular partial environments.
상기 유사 부분 환경 탐색 모듈은,
두 개의 정규 부분 환경의 각 모서리에 맞닿는 주행 가능한 공간의 면적을 비교하여 유사 여부를 판단하는 것을 특징으로 하는 인공지능 모델 할당 시스템.6. The method of claim 5,
The similar part environment search module,
An artificial intelligence model allocation system, characterized in that it is determined whether similarity is achieved by comparing the area of the drivable space in contact with each corner of the two regular partial environments.
상기 주행 가능한 공간의 면적은,
이동 로봇의 최소 회전 반경에 대한 최소 경계 사각형을 생성하여 해당 주행 가능한 공간에 포함될 수 있는 상기 최소 경계 사각형의 수를 실수로 표현하여 계산되는 것을 특징으로 하는 인공지능 모델 할당 시스템.9. The method of claim 8,
The area of the drivable space is,
An artificial intelligence model allocation system, characterized in that it is calculated by generating a minimum bounding quadrangle for the minimum turning radius of the mobile robot and expressing the number of the minimum bounding quadrangle that can be included in a corresponding drivable space as a real number.
상기 정규 부분 환경 구축 모듈은,
각 부분 환경의 주행 가능한 공간의 형태로서, 그 주행 가능한 공간이 부분 환경의 각 모서리와 연결되는 개수로 정의하되, 폭의 1/2이 이동 로봇의 최소 회전 반경보다 작은 공간은 주행 가능한 공간에서 제외하는 것을 특징으로 하는 인공지능 모델 할당 시스템.4. The method of claim 3,
The regular partial environment building module,
The shape of the drivable space of each partial environment, defined as the number of drivable spaces connected to each corner of the partial environment, except for spaces whose width is smaller than the minimum turning radius of the mobile robot is excluded from the drivable space Artificial intelligence model allocation system, characterized in that.
상기 이동 로봇이 주행 가능한 로봇 환경에 대한 가상 전역 환경을 구축하는 전역 환경 구축부;
상기 가상 전역 환경을 복수의 부분 환경들로 분할하고 각 부분 환경에 대한 부분 인공지능 모델을 생성하는 부분 환경 구축부;
상기 이동 로봇과 데이터 통신을 수행하는 명령 송수신부; 및
상기 이동 로봇의 상태에 따라 상기 명령 송수신부를 통해 상기 이동 로봇으로 상기 가상 전역 환경과, 상기 이동 로봇의 위치에 대응하는 부분 환경 및 부분 인공지능 모델을 할당하는 환경 모델 할당부를 포함하고,
상기 환경 모델 할당부는,
상기 이동 로봇의 위치에 대응하는 부분 환경 및 부분 인공지능 모델과, 해당 부분 환경의 각 차원에 인접한 부분 환경들 및 그 부분 환경들에 대한 인공지능 모델을 함께 상기 이동 로봇으로 할당하는 것을 특징으로 하는 인공지능 모델 할당 시스템.In the artificial intelligence model allocation system for autonomous driving of a mobile robot,
a global environment building unit for constructing a virtual global environment for a robot environment in which the mobile robot can run;
a partial environment construction unit dividing the virtual global environment into a plurality of partial environments and generating a partial artificial intelligence model for each partial environment;
a command transceiver for performing data communication with the mobile robot; and
An environment model allocator for allocating the virtual global environment, a partial environment and a partial artificial intelligence model corresponding to the position of the mobile robot to the mobile robot through the command transceiver according to the state of the mobile robot,
The environment model allocating unit,
A partial environment and a partial artificial intelligence model corresponding to the position of the mobile robot, partial environments adjacent to each dimension of the corresponding partial environment, and an artificial intelligence model for the partial environments are allocated to the mobile robot together. Artificial intelligence model allocation system.
상기 이동 로봇이 주행 가능한 로봇 환경에 대한 가상 전역 환경을 구축하는 단계;
상기 가상 전역 환경을 복수의 부분 환경들로 분할하고 각 부분 환경에 대한 부분 인공지능 모델을 생성하는 단계; 및
상기 이동 로봇의 상태에 따라 상기 이동 로봇으로 상기 가상 전역 환경, 상기 이동 로봇의 위치에 대응하는 부분 환경 및 부분 인공지능 모델을 할당하는 단계를 포함하고,
상기 가상 전역 환경을 구축하는 단계는,
상기 로봇 환경에 포함된 센서 기기로부터 수신된 측정 정보와, 영상 촬영 기기로부터 수신된 영상 정보를 기초로 내/외벽을 포함한 객체들을 판별하고, 판별된 객체들을 2차원 가상 지도에 배치하는 것을 특징으로 하는 방법.A method of allocating an artificial intelligence model for autonomous driving of a mobile robot in an artificial intelligence model allocation system, the method comprising:
constructing a virtual global environment for a robot environment in which the mobile robot can run;
dividing the virtual global environment into a plurality of partial environments and generating a partial artificial intelligence model for each partial environment; and
Allocating the virtual global environment, a partial environment and a partial artificial intelligence model corresponding to the position of the mobile robot to the mobile robot according to the state of the mobile robot,
The step of building the virtual global environment includes:
Based on the measurement information received from the sensor device included in the robot environment and the image information received from the image capturing device, objects including inner and outer walls are determined, and the determined objects are arranged on a two-dimensional virtual map. How to.
상기 이동 로봇이 주행 가능한 로봇 환경에 대한 가상 전역 환경을 구축하는 단계;
상기 가상 전역 환경을 복수의 부분 환경들로 분할하고 각 부분 환경에 대한 부분 인공지능 모델을 생성하는 단계; 및
상기 이동 로봇의 상태에 따라 상기 이동 로봇으로 상기 가상 전역 환경, 상기 이동 로봇의 위치에 대응하는 부분 환경 및 부분 인공지능 모델을 할당하는 단계를 포함하고,
상기 각 부분 환경에 대한 부분 인공지능 모델을 생성하는 단계는,
상기 가상 전역 환경을 상기 이동 로봇의 최대 회전 반경 크기를 기초로 복수의 부분 환경들로 분할하는 단계;
상기 복수의 부분 환경 각각에서 상기 이동 로봇이 주행 가능한 공간의 외벽에 존재하는 객체를 이상치로 판별하여 제거하는 단계;
상기 이상치가 제거된 각 부분 환경을 주행 가능한 공간의 형태에 따라 정규 부분 환경으로 변환하는 단계; 및
상기 변환된 정규 부분 환경에 대한 부분 인공지능 모델을 생성하는 단계를 포함하는 방법.A method of allocating an artificial intelligence model for autonomous driving of a mobile robot in an artificial intelligence model allocation system, the method comprising:
constructing a virtual global environment for a robot environment in which the mobile robot can run;
dividing the virtual global environment into a plurality of partial environments and generating a partial artificial intelligence model for each partial environment; and
Allocating the virtual global environment, a partial environment and a partial artificial intelligence model corresponding to the position of the mobile robot to the mobile robot according to the state of the mobile robot,
The step of generating a partial artificial intelligence model for each partial environment comprises:
dividing the virtual global environment into a plurality of partial environments based on a maximum rotation radius size of the mobile robot;
determining and removing an object existing on an outer wall of a space in which the mobile robot can travel in each of the plurality of partial environments as an outlier;
converting each partial environment from which the outliers are removed into a regular partial environment according to a shape of a drivable space; and
and generating a partial artificial intelligence model for the transformed regular partial environment.
상기 복수의 부분 환경들로 분할하는 단계는,
상기 가상 전역 환경을 각 차원별로 분할하여 복수의 부분 환경들을 구축하되, 각 부분 환경의 최소 크기는, 상기 이동 로봇의 최대 회전 반경을 포함하는 최소 경계 사각형이 적어도 4개 이상 포함하도록 하는 것을 특징으로 하는 방법.15. The method of claim 14,
The dividing into the plurality of partial environments comprises:
A plurality of partial environments are constructed by dividing the virtual global environment for each dimension, and the minimum size of each partial environment is such that at least four minimum boundary rectangles including the maximum rotation radius of the mobile robot are included. How to.
상기 상기 각 부분 환경에 대한 부분 인공지능 모델을 생성하는 단계는,
데이터 저장소에서 상기 변환된 정규 부분 환경과 유사한 기존 정규 부분 환경을 탐색하는 단계를 더 포함하고,
상기 변환된 정규 부분 환경에 대한 부분 인공지능 모델을 생성하는 단계는,
상기 변환된 정규 부분 환경 중 기존 유사한 정규 부분 환경이 탐색되지 않은 정규 부분 환경에 대해 부분 인공지능 모델을 생성하며,
상기 할당하는 단계는,
상기 변환된 정규 부분 환경 중 기존 유사한 정규 부분 환경이 탐색된 정규 부분 환경에 대해서는 기존 유사한 정규 부분 환경에 연결된 부분 인공지능 모델을 할당하는 것을 특징으로 하는 방법.15. The method of claim 14,
The step of generating a partial artificial intelligence model for each of the partial environments comprises:
Further comprising the step of searching for an existing canonical partial environment similar to the transformed canonical partial environment in the data store,
The step of generating a partial artificial intelligence model for the transformed regular partial environment comprises:
A partial artificial intelligence model is generated for a regular partial environment in which an existing similar regular partial environment is not searched among the transformed regular partial environment,
The allocating step is
Method according to claim 1 , wherein a partial artificial intelligence model connected to an existing similar regular partial environment is assigned to a regular partial environment in which an existing similar regular partial environment is found among the transformed regular partial environment.
상기 유사한 기존 정규 부분 환경을 탐색하는 단계는,
두 개의 정규 부분 환경의 주행 가능한 공간들의 교집합 면적을 합집합 면적으로 나눈 값을 기초로 유사 여부를 판단하는 것을 특징으로 하는 방법.17. The method of claim 16,
The step of searching for the similar existing regular partial environment,
A method, characterized in that it is determined whether similarity is obtained based on a value obtained by dividing an intersection area of drivable spaces of two normal partial environments by an intersection area.
상기 유사한 기존 정규 부분 환경을 탐색하는 단계는,
두 개의 정규 부분 환경의 각 모서리에 맞닿는 주행 가능한 공간의 수를 비교하여 유사 여부를 판단하는 것을 특징으로 하는 방법.17. The method of claim 16,
The step of searching for the similar existing regular partial environment,
A method comprising comparing the number of drivable spaces abutting each corner of two regular partial environments to determine whether they are similar.
상기 유사한 기존 정규 부분 환경을 탐색하는 단계는,
두 개의 정규 부분 환경의 각 모서리에 맞닿는 주행 가능한 공간의 면적을 비교하여 유사 여부를 판단하는 것을 특징으로 하는 방법.17. The method of claim 16,
The step of searching for the similar existing regular partial environment,
A method, characterized in that it is determined whether or not similarity is achieved by comparing the area of the drivable space in contact with each corner of the two regular partial environments.
상기 주행 가능한 공간의 면적은,
이동 로봇의 최소 회전 반경에 대한 최소 경계 사각형을 생성하여 해당 주행 가능한 공간에 포함될 수 있는 상기 최소 경계 사각형의 수를 실수로 표현하여 계산되는 것을 특징으로 하는 방법.20. The method of claim 19,
The area of the drivable space is,
A method, characterized in that it is calculated by generating a minimum bounding rectangle for the minimum rotation radius of the mobile robot and expressing the number of the minimum bounding rectangle that can be included in a corresponding traversable space by real number.
상기 정규 부분 환경으로 변환하는 단계는,
각 부분 환경의 주행 가능한 공간의 형태로서, 그 주행 가능한 공간이 부분 환경의 각 모서리와 연결되는 개수로 정의하되, 폭의 1/2이 이동 로봇의 최소 회전 반경보다 작은 공간은 주행 가능한 공간에서 제외하는 것을 특징으로 하는 방법.15. The method of claim 14,
The step of converting to the regular partial environment comprises:
The shape of the drivable space of each partial environment, defined as the number of drivable spaces connected to each corner of the partial environment, except for spaces whose width is smaller than the minimum turning radius of the mobile robot is excluded from the drivable space A method characterized in that
상기 이동 로봇이 주행 가능한 로봇 환경에 대한 가상 전역 환경을 구축하는 단계;
상기 가상 전역 환경을 복수의 부분 환경들로 분할하고 각 부분 환경에 대한 부분 인공지능 모델을 생성하는 단계; 및
상기 이동 로봇의 상태에 따라 상기 이동 로봇으로 상기 가상 전역 환경, 상기 이동 로봇의 위치에 대응하는 부분 환경 및 부분 인공지능 모델을 할당하는 단계를 포함하고,
상기 할당하는 단계는,
상기 이동 로봇의 위치에 대응하는 부분 환경 및 부분 인공지능 모델과, 해당 부분 환경의 각 차원에 인접한 부분 환경들 및 그 부분 환경들에 대한 인공지능 모델을 함께 상기 이동 로봇으로 할당하는 것을 특징으로 하는 방법.A method of allocating an artificial intelligence model for autonomous driving of a mobile robot in an artificial intelligence model allocation system, the method comprising:
constructing a virtual global environment for a robot environment in which the mobile robot can run;
dividing the virtual global environment into a plurality of partial environments and generating a partial artificial intelligence model for each partial environment; and
Allocating the virtual global environment, a partial environment and a partial artificial intelligence model corresponding to the position of the mobile robot to the mobile robot according to the state of the mobile robot,
The allocating step is
A partial environment and a partial artificial intelligence model corresponding to the position of the mobile robot, partial environments adjacent to each dimension of the corresponding partial environment, and an artificial intelligence model for the partial environments are allocated to the mobile robot together. Way.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200069261A KR102292733B1 (en) | 2020-06-08 | 2020-06-08 | System and method for allocating artificial intelligence model for autonomous driving of a plurality of mobile robots in an asynchronous distributed manner |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200069261A KR102292733B1 (en) | 2020-06-08 | 2020-06-08 | System and method for allocating artificial intelligence model for autonomous driving of a plurality of mobile robots in an asynchronous distributed manner |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102292733B1 true KR102292733B1 (en) | 2021-08-20 |
Family
ID=77466515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200069261A KR102292733B1 (en) | 2020-06-08 | 2020-06-08 | System and method for allocating artificial intelligence model for autonomous driving of a plurality of mobile robots in an asynchronous distributed manner |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102292733B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1185240A (en) * | 1997-09-04 | 1999-03-30 | Nippon Telegr & Teleph Corp <Ntt> | Robot programming method, device therefor and recording medium recorded with generating program |
JP2009163156A (en) * | 2008-01-10 | 2009-07-23 | Hitachi Industrial Equipment Systems Co Ltd | Moving robot system and control method therefor |
KR20150004568A (en) * | 2013-07-03 | 2015-01-13 | 삼성전자주식회사 | Method for recognizing position of autonomous mobile robot |
KR20200063879A (en) * | 2018-11-28 | 2020-06-05 | 성균관대학교산학협력단 | Method and system for coverage of multiple mobile robots of environment adaptation type time synchronization based on artificial intelligence |
-
2020
- 2020-06-08 KR KR1020200069261A patent/KR102292733B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1185240A (en) * | 1997-09-04 | 1999-03-30 | Nippon Telegr & Teleph Corp <Ntt> | Robot programming method, device therefor and recording medium recorded with generating program |
JP2009163156A (en) * | 2008-01-10 | 2009-07-23 | Hitachi Industrial Equipment Systems Co Ltd | Moving robot system and control method therefor |
KR20150004568A (en) * | 2013-07-03 | 2015-01-13 | 삼성전자주식회사 | Method for recognizing position of autonomous mobile robot |
KR20200063879A (en) * | 2018-11-28 | 2020-06-05 | 성균관대학교산학협력단 | Method and system for coverage of multiple mobile robots of environment adaptation type time synchronization based on artificial intelligence |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10935383B1 (en) | Methods for finding the perimeter of a place using observed coordinates | |
Li et al. | Universal path planning for an indoor drone | |
Vincent et al. | Distributed multirobot exploration, mapping, and task allocation | |
Zhang et al. | Rapidly-exploring Random Trees multi-robot map exploration under optimization framework | |
US11592299B2 (en) | Using static scores to control vehicle operations | |
KR20200015348A (en) | Mobile Robot Setting Boundary of Attribute Block | |
CN110470308A (en) | A kind of obstacle avoidance system and method | |
Mannucci et al. | Autonomous 3D exploration of large areas: A cooperative frontier-based approach | |
KR20230066323A (en) | Autonomous Robot Exploration in Storage Sites | |
US20220276058A1 (en) | Systems and methods for utilizing modeling to automatically generate paths for indoor navigation | |
KR102292733B1 (en) | System and method for allocating artificial intelligence model for autonomous driving of a plurality of mobile robots in an asynchronous distributed manner | |
WO2022128896A1 (en) | Method and apparatus for multiple robotic devices in an environment | |
Belavadi et al. | Frontier exploration technique for 3d autonomous slam using k-means based divisive clustering | |
KR102537364B1 (en) | Autonomous robot, location estimation server of autonomous robot and location estimation or autonomous robot using the same | |
Austin et al. | Geometric constraint identification and mapping for mobile robots | |
CN116698043A (en) | Visual navigation method for indoor mobile robot | |
Chikhalikar et al. | An object-oriented navigation strategy for service robots leveraging semantic information | |
WO2021235100A1 (en) | Information processing device, information processing method, and program | |
Trevai et al. | Multiple mobile robot surveillance in unknown environments | |
Chen et al. | Social crowd navigation of a mobile robot based on human trajectory prediction and hybrid sensing | |
Umari | Multi-robot map exploration based on multiple rapidly-exploring randomized trees | |
CN112987720A (en) | Multi-scale map construction method and construction device for mobile robot | |
Felder et al. | Automatic generation of waypoint graphs from distributed ceiling-mounted smart cameras for decentralized multi-robot indoor navigation | |
KR20210044463A (en) | Robot and method for identifying areas by the robot | |
US20240004399A1 (en) | Method and system for remotely controlling robots, and building having traveling robots flexibly responding to obstacles |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |