KR20230092422A - System for generation of indoor map, autonomous robot and method for creating indoor map using multi-robot - Google Patents

System for generation of indoor map, autonomous robot and method for creating indoor map using multi-robot Download PDF

Info

Publication number
KR20230092422A
KR20230092422A KR1020210181799A KR20210181799A KR20230092422A KR 20230092422 A KR20230092422 A KR 20230092422A KR 1020210181799 A KR1020210181799 A KR 1020210181799A KR 20210181799 A KR20210181799 A KR 20210181799A KR 20230092422 A KR20230092422 A KR 20230092422A
Authority
KR
South Korea
Prior art keywords
robot
map
area
node
information
Prior art date
Application number
KR1020210181799A
Other languages
Korean (ko)
Other versions
KR102692853B1 (en
Inventor
김기현
김현숙
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020210181799A priority Critical patent/KR102692853B1/en
Publication of KR20230092422A publication Critical patent/KR20230092422A/en
Application granted granted Critical
Publication of KR102692853B1 publication Critical patent/KR102692853B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1684Tracking a line or surface by means of sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The present invention relates to an autonomous robot, a local map generation method of an autonomous robot, and an indoor map generation method using a plurality of autonomous robots, which can shorten the time for generating a map for a wide space. The local map generation method of a robot is configured to search a mapping area corresponding to mapping area information at a pre-set initial location when the mapping area information to generate a local map is received from the indoor map generation system, and collect surrounding environment information based on the initial location to mark the information on an occupancy grid map The local map generation method of a robot is configured to extract a plurality of points corresponding to a division surface of a detected area and a non-detected area on the occupancy grid map on which the surrounding environment information is marked to form the points as a point group, and set a central point extracted from the point group as a next driving destination to move from the initial location. The local map generation method of a robot is configured to mark the surrounding environment information collected while moving to the next driving destination on the occupancy grid map to generate a local map.

Description

자율주행 로봇 및 자율주행 로봇의 지역 맵 생성 방법, 그리고 복수의 자율주행 로봇을 이용한 실내 맵 생성 방법{System for generation of indoor map, autonomous robot and method for creating indoor map using multi-robot}An autonomous robot, a method for generating a regional map of an autonomous robot, and a method for generating an indoor map using a plurality of autonomous robots {System for generation of indoor map, autonomous robot and method for creating indoor map using multi-robot}

본 발명은 복수의 자율주행 로봇들이 분할 매핑 전략과 맵 합성 방법을 이용하여 실내 맵을 작성하는 자율주행 로봇 및 자율주행 로봇의 지역 맵 생성 방법, 그리고 복수의 자율주행 로봇을 이용한 실내 맵 생성 방법에 관한 것이다.The present invention relates to an autonomous robot in which a plurality of autonomous robots create an indoor map using a segmentation mapping strategy and a map synthesis method, a method for generating a region map of an autonomous robot, and a method for generating an indoor map using a plurality of autonomous robots. it's about

자율주행 서비스 로봇 시장이 점차적으로 확대되면서, 다양한 분야에 자율주행 로봇이 적용되어 사용되고 있다. 특히, 공장이나 물류센터에 투입된 자율주행 로봇에서부터 호텔이나 음식점 등에서 일상 서비스를 제공하기 위한 자율주행 로봇을 손쉽게 접하는 시기가 오고 있다. As the self-driving service robot market gradually expands, self-driving robots are applied and used in various fields. In particular, it is time to easily access self-driving robots used in factories or distribution centers, as well as self-driving robots that provide daily services in hotels and restaurants.

이처럼 로봇 시장이 확대되면서, 자연스럽게 한 장소에 2대 이상의 로봇들을 운용하는 곳도 많아지고 있다. 따라서, 다중 로봇이 효율적으로 운용되기 위한 기술 연구도 확대되고 있다. As the robot market expands in this way, there are naturally many places that operate two or more robots in one place. Therefore, research on technology for the efficient operation of multi-robots is also expanding.

실내 공간에서 자율주행 로봇이 양질의 서비스를 제공하기 위해서는, 자율주행 로봇의 주변 환경과 자신의 위치를 고려하여 안정적으로 움직여야 한다. 자율주행 로봇은 SLAM(Simultaneous Localization and Mapping)을 이용하여 주행하면서, 감지 센서로 주변 공간을 센싱하여 로봇 자신의 위치를 추정하고 감지한 공간에 대한 맵을 작성한다. In order for self-driving robots to provide quality service in indoor spaces, they must move stably in consideration of their surroundings and their location. While driving using SLAM (Simultaneous Localization and Mapping), an autonomous robot senses the surrounding space with a sensor to estimate its own location and create a map for the detected space.

이때, SLAM을 통해 자율주행 로봇이 자체적으로 공간을 맵에 맵핑할 수 있다. 그러나, 단일 로봇으로 맵핑하는 경우, 맵핑하고자 하는 공간의 크기에 비례하여 맵핑에 많은 시간이 소요된다. 그리고 사람이 수동으로 자율주행 로봇을 조작하거나 자율주행 로봇을 밀어서 공간을 맵핑하는 경우, 맵 유실이나 오차가 발생할 수 있다. At this time, through SLAM, the self-driving robot can map the space on its own. However, when mapping with a single robot, mapping takes a lot of time in proportion to the size of the space to be mapped. In addition, when a person maps a space by manually manipulating the self-driving robot or pushing the self-driving robot, map loss or errors may occur.

특히, 면적이 넓은 공간(예를 들어, 호텔이나 물류센터 등)은 공간의 특징에 따라 새로 공간을 맵상에 맵핑하거나, 이미 맵에 매핑된 공간을 수정해야 하는 상황이 발생한다. 따라서 단일 로봇으로 맵핑하는 방법은 비효율적이고, 다층으로 구성된 건물을 맵핑하는 경우 1주일 이상 긴 시간이 소모되는 단점이 있다. In particular, in a space with a large area (for example, a hotel or a distribution center), a situation arises in which a new space needs to be mapped on a map or a space already mapped on a map needs to be modified according to the characteristics of the space. Therefore, the method of mapping with a single robot is inefficient, and in the case of mapping a multi-story building, a long time of one week or more is consumed.

한편, 가정 내에서 로봇 청소기가 스스로 주행하면서 맵을 작성하는 경우, 주택의 공간이 좁고 로봇 청소기에 범퍼가 장착되어 있어 큰 문제없이 맵을 작성할 수 있다. 그러나 음식점의 서빙 로봇이나 호텔에 투입된 호텔 서비스 로봇 등은 스스로 맵을 작성하기 위해 음식점이나 호텔을 주행하다가 벽면이나 고객/종업원과 충돌할 경우, 고객의 부상 또는 로봇 파손의 위험이 있다. On the other hand, when a robot cleaner travels on its own in a home and creates a map, the space of the house is narrow and the robot cleaner is equipped with a bumper, so the map can be created without any major problems. However, if a serving robot in a restaurant or a hotel service robot put into a hotel collides with a wall or a customer/employee while driving through a restaurant or hotel to create a map by itself, there is a risk of injury to the customer or damage to the robot.

또한, 작성한 맵을 다른 로봇과 공유하여 같이 활용하기 때문에 정밀한 스캔이 요구되고, 공간을 스캔하기 위한 경로 계획이 중요하다. 특히, 맵 경계면을 검출하고 해당 지역에서 이동 좌표를 설정하는 방법은 많은 연구가 필요하다.In addition, because the created map is shared with other robots and used together, precise scans are required, and path planning to scan the space is important. In particular, a method of detecting the map boundary and setting the movement coordinates in the corresponding area requires a lot of research.

따라서, 본 발명은 특정 장소가 복수의 공간으로 구분되어 있고, 복수의 자율주행 로봇들이 서로 상이한 공간의 맵을 작성하여 공유하며, 각 자율주행 로봇이 매핑된 공간과 매핑되지 않은 공간을 구분하여 경로를 스스로 계획하는 자율주행 로봇 및 자율주행 로봇의 지역 맵 생성 방법, 그리고 복수의 자율주행 로봇을 이용한 실내 맵 생성 방법을 제공한다.Therefore, in the present invention, a specific place is divided into a plurality of spaces, a plurality of self-driving robots create and share maps of different spaces, and each self-driving robot separates a mapped space from a non-mapped space to route It provides an autonomous robot that plans itself, a method for generating a local map of the autonomous robot, and a method for generating an indoor map using a plurality of autonomous robots.

상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 하나의 특징인 로봇의 지역 맵 생성 방법으로서, As a method for generating a region map of a robot, which is one feature of the present invention for achieving the technical problem of the present invention,

기 설정된 초기 위치에서, 실내 맵 생성 시스템으로부터 지역 맵을 생성할 매핑 영역 정보를 수신하는 단계, 상기 매핑 영역 정보에 해당하는 매핑 영역을 탐색하며, 상기 초기 위치를 기준으로 주변 환경 정보를 수집하여 점유 격자 맵 상에 표시하는 단계, 상기 주변 환경 정보가 표시된 상기 점유 격자 맵 상에서 탐지 영역과 미탐지 영역의 경계면에 해당하는 복수의 지점들을 추출하여 지점 그룹으로 형성하는 단계, 상기 지점 그룹의 중심점을 추출하고, 추출한 중심점을 상기 초기 위치에서 이동할 다음 주행 목적지로 설정하는 단계, 그리고 상기 다음 주행 목적지로 이동하면서 수집한 주변 환경 정보를 상기 점유 격자 맵 상에 표시하여, 상기 지역 맵으로 생성하는 단계를 포함한다.Receiving mapping area information to generate a local map from an indoor map generating system at a preset initial location, searching for a mapping area corresponding to the mapping area information, and collecting and occupying surrounding environment information based on the initial location displaying on a grid map, forming a point group by extracting a plurality of points corresponding to the boundary between the detection area and the undetected area on the occupied grid map on which the surrounding environment information is displayed, extracting the center point of the point group and setting the extracted center point as the next driving destination to be moved from the initial location, and displaying the surrounding environment information collected while moving to the next driving destination on the occupancy grid map to generate the area map. do.

상기 지점 그룹으로 형성하는 단계는, 상기 점유 격자 맵 상의 토픽 메시지와 상기 매핑 영역 정보에 포함된 매핑 범위를 나타내는 토픽 메시지를 기초로 상기 경계면의 지점을 추출할 수 있다.In the forming of the point groups, points of the boundary surface may be extracted based on a topic message on the occupied grid map and a topic message indicating a mapping range included in the mapping area information.

상기 점유 격자 맵 상에 표시하는 단계는, 상기 초기 위치를 기준으로 상기 매핑 영역의 임의의 위치에 임의의 노드를 설정하는 단계, 상기 임의의 노드에서 가장 가까운 노드를 검출하고, 상기 임의의 노드와 상기 가장 가까운 노드 사이에 새로운 노드를 생성하는 단계, 그리고 상기 로봇의 주변에 장애물이 없는 경우, 상기 새로운 노드를 트리에 포함시켜 트리를 확장시키는 단계를 더 포함할 수 있다.The displaying on the occupied grid map may include setting an arbitrary node at an arbitrary location in the mapping area based on the initial location, detecting a node closest to the arbitrary node, and The method may further include generating a new node between the closest nodes, and expanding the tree by including the new node in a tree when there is no obstacle around the robot.

상기 새로운 노드를 트리에 포함시키는 단계 이후에, 상기 새로운 노드가 상기 다음 주행 목적지인지 확인하고, 상기 다음 주행 목적지에 해당하면 상기 트리의 확장을 종료하는 단계를 포함할 수 있다.After the step of including the new node in the tree, checking whether the new node is the next driving destination, and ending expansion of the tree if the new node corresponds to the next driving destination.

상기 다음 주행 목적지로 설정하는 단계는, 상기 로봇이 스캔 가능한 범위인 대역폭의 외부에 위치한 적어도 하나의 지점들을 필터링하는 단계, 필터링된 지점들을 제외한 상기 대역폭의 내부에 위치한 나머지 지점들을 후보 중심점들로 추출하는 단계, 그리고 상기 후보 중심점들 중 어느 하나의 중심점을 상기 다음 주행 목적지로 설정하는 단계를 포함할 수 있다.The step of setting as the next driving destination may include filtering at least one point located outside the bandwidth, which is a scan range of the robot, and extracting remaining points located inside the bandwidth excluding the filtered points as candidate center points. and setting one of the candidate center points as the next driving destination.

상기 다음 주행 목적지로 설정하는 단계는, 상기 후보 중심점들 각각의 이득 계산을 통해, 상기 다음 주행 목적지로 설정할 수 있다.In the setting of the next driving destination, the next driving destination may be set through a gain calculation of each of the candidate center points.

상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 복수의 로봇들과 연동한 실내 맵 생성 시스템이 실내 맵을 생성하는 방법으로서,As another feature of the present invention for achieving the technical problem of the present invention, an indoor map generation system in conjunction with a plurality of robots generates an indoor map,

상기 복수의 로봇들이 각각 지역 맵을 생성하도록, 실내 공간을 복수의 영역으로 나눈 영역 정보를 수신하는 단계, 수신한 상기 영역 정보를 상기 복수의 로봇들에 전송하는 단계, 상기 영역 정보를 기초로 상기 복수의 로봇들이 각각 생성한 지역 맵들을 수신하는 단계, 그리고 상기 지역 맵들을 병합하여 하나의 상기 실내 맵으로 생성하는 단계를 포함한다.Receiving area information obtained by dividing an indoor space into a plurality of areas so that the plurality of robots create area maps, respectively; Transmitting the received area information to the plurality of robots; Receiving regional maps generated by a plurality of robots, and generating one indoor map by merging the regional maps.

상기 실내 맵으로 생성하는 단계는, 상기 복수의 로봇들로부터 지역 맵을 모두 수신하였는지 확인하는 단계, 특정 로봇으로부터 지역 맵이 전송되지 않았다면, 상기 특정 로봇에 할당한 영역 정보와, 상기 특정 로봇이 탐지하는 영역 내에서 미탐지 영역을 확인하는 단계, 그리고 대기 영역에 위치한 적어도 하나의 로봇 중 어느 하나의 로봇으로 상기 미탐지 영역의 일부 영역을 탐지하도록 상기 미탐지 영역을 재 할당하는 단계를 포함할 수 있다.The generating of the indoor map may include checking whether all area maps have been received from the plurality of robots, and if the area map has not been transmitted from a specific robot, information on the area allocated to the specific robot and detection by the specific robot It may include identifying an undetected area within the area to be detected, and reallocating the undetected area so that a partial area of the undetected area is detected by one robot among at least one robot located in the waiting area. there is.

상기 미탐지 영역을 재 할당하는 단계는, 상기 미탐지 영역 중 상기 특정 로봇의 센싱 범위를 벗어난 영역을 상기 어느 하나의 로봇에 재 할당할 수 있다.In the reallocating of the undetected area, an area outside the sensing range of the specific robot among the undetected areas may be reallocated to the one robot.

상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 자율주행 중 지역 맵을 생성하는 로봇으로서,As another feature of the present invention for achieving the technical problem of the present invention, a robot that generates a local map during autonomous driving,

연동한 실내 맵 생성 시스템으로부터 매핑 영역 정보를 수신하는 인터페이스, 상기 매핑 영역 정보에 포함된 매핑 영역을 탐지하는 센서, 그리고 프로세서를 포함하고, 상기 프로세서는, 상기 매핑 영역을 탐색하며 점유 격자 맵 상에 환경 정보를 표시하고, 상기 점유 격자 맵을 기초로 탐지 영역과 미탐지 영역의 경계면의 지점들을 추출하여 지점 그룹으로 형성하며, 상기 지점 그룹에서 추출한 중심점을 다음 주행 목적지로 설정한다.It includes an interface for receiving mapping area information from an interlocked indoor map generating system, a sensor for detecting a mapping area included in the mapping area information, and a processor, wherein the processor searches for the mapping area and displays an occupied grid map. Environment information is displayed, points on the boundary between the detection area and the undetected area are extracted based on the occupancy grid map to form a point group, and the center point extracted from the point group is set as the next driving destination.

상기 프로세서는, 상기 점유 격자 맵 상의 토픽 메시지와 상기 매핑 영역 정보에 포함된 매핑 범위를 나타내는 토픽 메시지를 기초로 상기 경계면의 지점을 추출할 수 있다.The processor may extract a point of the boundary surface based on a topic message on the occupancy grid map and a topic message indicating a mapping range included in the mapping area information.

상기 프로세서는, 상기 초기 위치를 기준으로 주변의 복수의 노드들 중 임의 노드를 샘플링하고, 상기 임의 노드에서 가장 가까운 노드를 검출한 후 상기 임의 노드와 상기 가장 가까운 노드 사이에 새로운 노드를 생성할 수 있다.The processor may sample an arbitrary node among a plurality of nodes around the initial position based on the initial position, detect a node closest to the arbitrary node, and then create a new node between the arbitrary node and the nearest node. there is.

상기 프로세서는, 상기 로봇의 주변에 장애물이 없는 경우, 상기 새로운 노드를 트리에 포함시켜 트리를 확장시킬 수 있다.The processor may extend the tree by including the new node in the tree when there is no obstacle around the robot.

상기 프로세서는, 상기 로봇이 스캔 가능한 범위인 대역폭 외부에 포함된 적어도 하나의 지점들을 필터링하고, 필터링된 지점들을 제외한 나머지 지점들을 후보 중심점들로 추출하며, 후보 중심점들 중 이득 계산을 통해 어느 하나의 중심점을 상기 다음 주행 목적지로 설정할 수 있다.The processor filters at least one point included outside the bandwidth, which is the scannable range of the robot, extracts points other than the filtered points as candidate center points, and calculates a gain of any one of the candidate center points. The center point may be set as the next driving destination.

본 발명에 따르면, 복수의 로봇들을 이용하여 여러 공간으로 분할된 넓은 장소의 지역 맵들을 각각 제작하고, 복수의 지역 맵들을 하나의 전역 맵인 실내 맵으로로 합성함으로써, 넓은 공간에 대한 맵 제작 시간을 단축할 수 있다. According to the present invention, by using a plurality of robots to create regional maps of a large place divided into several spaces, and synthesizing the plurality of regional maps into one global map, an indoor map, the map production time for a large space is reduced. can be shortened

또한, 로봇이 매핑된 공간과 매핑되지 않은 공간을 구분하여 경로를 스스로 계획할 수 있으므로, 효율적으로 공간을 매핑할 수 있다.In addition, since the robot can plan its own path by dividing the mapped space from the non-mapped space, the space can be efficiently mapped.

도 1은 본 발명의 실시예에 따라 실내 맵을 생성하는 다중 로봇들이 적용된 환경의 예시도이다.
도 2는 본 발명의 실시예에 따른 전역 맵 생성 방법에 대한 흐름도이다.
도 3은 본 발명의 실시예에 따른 다중 로봇이 지역 맵을 생성하기 위해 동작하는 동작 방법의 흐름도이다.
도 4는 본 발명의 실시예에 따른 매핑 구역 탐색 방법에 대한 예시도이다.
도 5는 본 발명의 실시예에 따라 검출된 중심점의 예시도이다.
도 6은 본 발명의 실시예에 따른 경로 계획에 따라 다음 주행 목적지를 표시한 예시도이다.
도 7은 본 발명의 실시예에 따라 사용되는 커널 밀도 추정의 예시도이다.
도 8은 본 발명의 실시예에 따른 스캔 이득을 구하는 예시도이다.
도 9는 본 발명의 실시예에 따라 생성된 전역 맵의 예시도이다.
도 10은 본 발명의 실시예에 따라 로봇에 매핑 범위를 재설정한 예시도이다.
도 11은 본 발명의 실시예에 따른 로봇의 구조도이다.
1 is an exemplary view of an environment in which multiple robots generating an indoor map are applied according to an embodiment of the present invention.
2 is a flowchart of a method for generating a global map according to an embodiment of the present invention.
3 is a flowchart of an operation method in which multiple robots operate to generate a region map according to an embodiment of the present invention.
4 is an exemplary view of a mapping area search method according to an embodiment of the present invention.
5 is an exemplary view of a center point detected according to an embodiment of the present invention.
6 is an exemplary view showing a next driving destination according to a route plan according to an embodiment of the present invention.
7 is an exemplary diagram of kernel density estimation used in accordance with an embodiment of the present invention.
8 is an exemplary view of obtaining a scan gain according to an embodiment of the present invention.
9 is an exemplary view of a global map created according to an embodiment of the present invention.
10 is an exemplary diagram in which a mapping range is reset to a robot according to an embodiment of the present invention.
11 is a structural diagram of a robot according to an embodiment of the present invention.

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

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a certain component is said to "include", it means that it may further include other components without excluding other components unless otherwise stated.

이하, 도면을 참조로 하여 본 발명의 실시예에 따른 실내 맵 생성 시스템, 자율주행 로봇 및 다중로봇을 이용한 실내 맵 작성 방법에 대해 상세히 설명한다. Hereinafter, an indoor map creation method using an indoor map generation system, an autonomous robot, and a multi-robot according to an embodiment of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 실시예에 따라 실내 맵을 생성하는 다중 로봇들이 적용된 환경의 예시도이다.1 is an exemplary view of an environment in which multiple robots generating an indoor map are applied according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 실내 공간(10)에 다중 자율주행 로봇(이하, '로봇'이라 지칭함)(100-1~100-4)들이 실내 공간(10)에 위치한다. 본 발명의 실시예에서는 설명의 편의를 위하여 각 로봇(100-1~100-4)들을 통칭하는 표현을 사용할 경우 용어는 '다중 로봇'으로 표현하고 도면 부호는 '100'으로 표시한다.As shown in FIG. 1 , multiple self-driving robots (hereinafter referred to as 'robots') 100 - 1 to 100 - 4 are located in the indoor space 10 . In the embodiment of the present invention, for convenience of description, when using an expression collectively referring to each of the robots 100-1 to 100-4, the term is expressed as 'multiple robots' and the reference numeral is indicated as '100'.

실내 공간(10)은 복수의 영역들로 나뉠 수 있다. 본 발명의 실시예에서는 실내 공간(10)을 네 영역(10-1~10-4)으로 나뉘어 있는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다. 실내 공간(10)을 복수의 영역으로 나누는 것은 관리자 또는 사용자에 의해 실행 가능하며, 영역을 나누는 기준을 어느 하나로 한정하지 않는다.The indoor space 10 may be divided into a plurality of areas. In the embodiment of the present invention, the indoor space 10 is described as being divided into four areas 10-1 to 10-4 as an example, but is not necessarily limited thereto. Dividing the indoor space 10 into a plurality of areas can be executed by a manager or a user, and the criteria for dividing the areas is not limited to any one.

각 로봇(100-1~100-4)은 각각 할당된 영역(10-1~10-4)을 주행하면서 지역 맵을 생성한다. 그리고 각 로봇(100-1~100-4)은 실내 맵 생성 시스템(200)과 연동하며, 각 로봇(100-1~100-4)이 생성한 각 영역(10-1~10-4)을 주행하면서 생성한 지역 맵을 실내 맵 생성 시스템(200)으로 전달한다. 실내 맵 생성 시스템(200)은 복수의 지역 맵들을 수신하여 하나의 전역 맵으로 합성하고, 합성한 전역 맵을 실내 맵으로서 사용한다.Each of the robots 100-1 to 100-4 creates a regional map while driving in the respectively assigned areas 10-1 to 10-4. In addition, each robot (100-1 to 100-4) interworks with the indoor map generation system 200, and each area (10-1 to 10-4) created by each robot (100-1 to 100-4) The area map generated while driving is transferred to the indoor map generating system 200 . The indoor map generation system 200 receives a plurality of local maps, synthesizes them into one global map, and uses the synthesized global map as an indoor map.

여기서, 로봇(100-1~100-4)은 지역 맵을 생성할 영역(10-1~10-4)이 할당되기 전까지 실내 공간(10)의 기 설정된 대기 위치(20)에 대기하는 것을 예로 하여 설명한다. 본 발명의 실시예에서는 대기 위치(20)가 실내 공간(10)의 중앙에 해당하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.Here, as an example, the robots 100-1 to 100-4 stand by at a preset waiting position 20 of the indoor space 10 until the areas 10-1 to 10-4 for generating a region map are allocated. to explain. In the embodiment of the present invention, the waiting position 20 corresponds to the center of the indoor space 10 as an example, but is not limited thereto.

또한, 로봇(100-1~100-2)들이 각각 할당된 영역(10-1~10-4)에서 지역 맵 생성을 완료하면, 각 로봇(100-1~100-2)들은 대기 위치(20)로 돌아와 다른 로봇(100-1~100-2)들이 지역 맵 생성을 완료할 때까지 대기할 수도 있다. In addition, when the robots 100-1 to 100-2 complete the generation of area maps in the respectively assigned areas 10-1 to 10-4, each robot 100-1 to 100-2 is placed in a standby position 20 ) and may wait until the other robots 100-1 to 100-2 complete regional map generation.

각 로봇(100-1~100-4)은 각각 할당된 영역(10-1)을 주행하면서, 센서를 이용하여 주변 영역을 센싱한 후 지역 맵을 생성한다. 지역 맵은 점유 격자 맵 형태로 생성되며, 로봇(100)이 점유 격자 맵에 탐지 영역(예를 들어, 주행 가능 영역, 주행 불가 영역 등)을 표시하면 지역 맵으로 생성된다. Each of the robots 100-1 to 100-4 travels in the respective assigned area 10-1, senses the surrounding area using a sensor, and then creates a local map. The area map is created in the form of an occupancy grid map, and when the robot 100 displays a detection area (eg, a drivable area, a non-drivable area, etc.) on the occupancy grid map, the area map is generated.

로봇(100-1~100-4)은 지역 맵을 생성하는 과정에서, 경계면 지점을 추출한다. 경계면 지점이라 함은 점유 격자 맵 상에서 탐지 영역과 미탐지 영역의 경계면을 의미한다. The robots 100-1 to 100-4 extract boundary points in the process of generating regional maps. The boundary point refers to the boundary between the detection area and the undetected area on the occupancy grid map.

로봇(100-1~100-4)은 경계면 지점을 확인하고, 경계면 지점을 기초로 다음 주행 목적지를 선택한다. 다음 주행 목적지를 선택할 때, 로봇(100-1~100-4)은 경계면 지점의 중심점을 추출하고, 추출한 중심점을 기초로 매핑 이득과 경로 이득을 계산하고, 가장 높은 값을 가지는 중심점을 다음 주행 목적지로 선정한다. 이에 대해서는 이후 상세히 설명한다.The robots 100-1 to 100-4 check the boundary point and select the next driving destination based on the boundary point. When selecting the next driving destination, the robots 100-1 to 100-4 extract the center point of the boundary point, calculate the mapping gain and path gain based on the extracted center point, and select the center point with the highest value as the next driving destination. select as This will be described in detail later.

이상에서 설명한 환경에서, 복수의 로봇(100-1~100-4)들이 지역 맵을 생성하고, 지역 맵들을 이용하여 실내 맵 생성 시스템(200)이 전역 맵으로 생성하는 방법에 대해 도 2을 참조로 설명한다.In the environment described above, see FIG. 2 for a method in which the plurality of robots 100-1 to 100-4 generate regional maps and the indoor map generating system 200 generates a global map using the regional maps. be explained by

도 2는 본 발명의 실시예에 따른 전역 맵 생성 방법에 대한 흐름도이다.2 is a flowchart of a method for generating a global map according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 다중 로봇(100)은 지역 맵을 작성하기 위한 영역이 매핑되어 있다면, 매핑된 영역 내의 미리 설정된 일정 영역에서 대기한다. 그러나, 실내 공간(10)에 처음 투입된 다중 로봇(100)은 실내 맵 생성 시스템(200)으로부터 영역 정보를 수신할 때까지 미리 설정된 대기 위치(20)에서 대기한다(S100). As shown in FIG. 2 , if an area for creating a regional map is mapped, the multi-robot 100 waits in a predetermined area within the mapped area. However, the multi-robot 100 first put into the indoor space 10 waits at the preset standby position 20 until area information is received from the indoor map generating system 200 (S100).

즉, 다중 로봇(100)에 사전 공간 정보가 매핑되어 있는 경우에는, 다중 로봇(100)의 초기 위치는 매핑된 공간의 중앙에서 대기하도록 한다. 이 경우는, 이전에 맵핑이 완료되어 공간 구조 및 장애물 등의 정보를 알고 있는 영역 내에 내부 구조물의 이동 및 변경 등의 사유로, 해당 영역의 지역 맵을 갱신하는 경우에 해당한다.That is, when the preliminary space information is mapped to the multi-robot 100, the initial position of the multi-robot 100 waits in the center of the mapped space. This case corresponds to a case in which a region map of a corresponding region is updated for reasons such as movement or change of an internal structure in a region where mapping has been previously completed and information such as spatial structures and obstacles is known.

반면 다중 로봇(100)에 사전 공간 정보가 없는 경우, 다중 로봇(100)은 출입구 주변과 같이 사전에 기 설정된 임의 위치에서 영역이 매핑될 때까지 대기한다. 이때, 다중 로봇(100)이 이동하는 동안 발생할 수 있는 충돌을 방지하고 다중 로봇(100)이 점유하는 영역이 겹쳐지지 않게 하기 위하여, 각 로봇(100-1~100-4) 간 간격을 1m로 설정하는 것을 예로 하여 설명한다. 여기서 로봇(100-1~100-4) 간 간격은, 로봇(100-1~100-4)의 크기, 로봇(100-1~100-4)에 탑재된 정보 수집 수단인 센서의 인식 범위에 따라 다르게 설정될 수 있다.On the other hand, if the multi-robot 100 does not have prior space information, the multi-robot 100 waits until an area is mapped at a predetermined location, such as around a doorway. At this time, in order to prevent collisions that may occur while the multi-robot 100 is moving and to prevent overlapping of areas occupied by the multi-robot 100, the interval between each robot 100-1 to 100-4 is set to 1 m. Setting will be described as an example. Here, the distance between the robots 100-1 to 100-4 depends on the size of the robots 100-1 to 100-4 and the recognition range of the sensors, which are information collection means mounted on the robots 100-1 to 100-4. may be set differently.

본 발명의 실시예에서는 다중 로봇(100)이 실내 공간(10)에 최초 투입된 경우를 예로 하여 설명한다.In the embodiment of the present invention, a case where the multi-robot 100 is initially introduced into the indoor space 10 will be described as an example.

실내 맵 생성 시스템(200)은 다중 로봇(100)이 투입된 실내 공간(10)에 대한 맵을 시각화하여, 다중 로봇(100)과 실내 맵 생성 시스템(200)을 관리하는 관리자에게 제공한다. 그리고, 관리자가 다중 로봇(100)이 지역 맵을 생성할 실내 공간(10)을 복수의 영역들로 나누면, 실내 맵 생성 시스템(200)은 실내 공간에 대한 복수의 영역 정보를 수신한다(S101). The indoor map generating system 200 visualizes a map of the indoor space 10 into which the multi-robot 100 is input, and provides the map to a manager who manages the multi-robot 100 and the indoor map generating system 200 . Then, when the manager divides the indoor space 10 in which the multi-robot 100 will create a local map into a plurality of areas, the indoor map generating system 200 receives information on a plurality of areas of the indoor space (S101). .

이때, 본 발명의 실시예에서는 관리자는 각 영역에서 지역 맵을 생성할 로봇(100-1~100-4)을 결정하는 것을 예로 하여 설명한다. 즉, 실내 맵 생성 시스템(200)은 관리자가 입력한 실내 공간(10)이 복수의 영역(10-1~10-4)들로 나뉜 영역 정보와, 각 영역(10-1~10-4)에서 지역 맵을 생성할 로봇(100-1~100-4)들의 식별 정보를 수신하면, 영역 정보와 로봇(100-1~100-4)의 식별 정보를 포함하는 매핑 영역 정보를 로봇(100-1~100-4)에 전달한다(S103).At this time, in the embodiment of the present invention, the administrator determines the robots 100-1 to 100-4 to create a regional map in each region as an example. That is, the indoor map generating system 200 generates area information input by a manager in which the indoor space 10 is divided into a plurality of areas 10-1 to 10-4, and each area 10-1 to 10-4. When receiving the identification information of the robots 100-1 to 100-4 to generate the area map, the mapping area information including the area information and the identification information of the robots 100-1 to 100-4 is sent to the robot 100-100-1. 1 to 100-4) (S103).

다중 로봇(100)은 S102 단계에서 수신한 매핑 영역 정보를 기초로, 각각 로봇(100-1~100-4) 자신이 매핑되어 지역 맵을 작성할 영역을 확인한다. 그리고, 로봇(100-1~100-4)은 각각의 영역을 주행하면서 지역 맵을 각각 생성하고(S103), 생성한 지역 맵을 실내 맵 생성 시스템(200)으로 전송한다(S104). 이때, 모든 로봇(100-1~100-4)이 동시에 지역 맵 생성을 완료할 수도 있고, 동시에 완료되지 않을 수도 있다.Based on the mapping area information received in step S102, the multi-robot 100 checks the area to which the robots 100-1 to 100-4 themselves are mapped to create a regional map. Then, the robots 100-1 to 100-4 generate regional maps respectively while driving in each area (S103), and transmit the generated regional maps to the indoor map generating system 200 (S104). At this time, all of the robots 100-1 to 100-4 may or may not complete the region map generation at the same time.

따라서, 실내 맵 생성 시스템(200)은 S104 단계에서 다중 로봇(100)으로부터 전송되는 지역 맵들을 합성하여 전역 맵을 생성한다(S105). 실내 맵 생성 시스템(200)은 모든 로봇(100-1~100-4)들로부터 지역 맵을 수신하였는지 확인하고(S106), 지역 맵을 모두 수신하였다면 S106 단계에서 생성한 전역 맵을 다중 로봇(100)에 제공한다(S107). 그러나, 일부 지역 맵 생성이 완료되지 않은 로봇(100-1~100-4)이 있다면, 실내 맵 생성 시스템(200)은 지역 맵 생성을 완료한 로봇(100-1~100-4)들을, 지역 맵 생성을 완료하지 못한 로봇(100-1~100-4)의 매핑 영역에 투입하여 지역 맵을 생성할 수 있도록, 다중 로봇(100)의 작업 영역을 재 할당하는 절차를 수행한다(S108).Accordingly, the indoor map generation system 200 synthesizes the regional maps transmitted from the multi-robot 100 in step S104 to generate a global map (S105). The indoor map generation system 200 checks whether area maps have been received from all robots 100-1 to 100-4 (S106), and if all area maps have been received, the global map generated in step S106 is converted to multiple robots 100. ) (S107). However, if there are robots 100-1 to 100-4 for which some area map generation has not been completed, the indoor map generation system 200 moves the robots 100-1 to 100-4 that have completed area map generation, A procedure for reallocating the work areas of the multi-robot 100 is performed so that a region map can be created by inputting into the mapping areas of the robots 100-1 to 100-4 that have not completed map creation (S108).

이때, 다중 로봇(100)이 S103 단계에서 지역 맵을 생성하는 방법에 대해 도 3을 참조로 설명한다.At this time, a method for the multi-robot 100 to generate a region map in step S103 will be described with reference to FIG. 3 .

도 3은 본 발명의 실시예에 따른 다중 로봇이 지역 맵을 생성하기 위해 동작하는 동작 방법의 흐름도이다.3 is a flowchart of an operation method in which multiple robots operate to generate a region map according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 다중 로봇(100)은 실내 맵 생성 시스템(200)으로부터 매핑 영역 정보를 수신하면(S200), 현재 위치를 기준으로 정보 수집 수단을 이용하여 주변 환경에 대한 환경 정보를 수집한다(S201). As shown in FIG. 3, when the multi-robot 100 receives mapping area information from the indoor map generating system 200 (S200), it collects environmental information about the surrounding environment using an information collecting means based on the current location. Collect (S201).

다중 로봇(100)이 수집하는 환경 정보에는 동적 객체 정보와 정적 객체 정보를 포함하며, 정보 수집 수단이 환경 정보를 수집하는 방법은 이미 알려진 기술이므로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다. 그리고 본 발명의 실시예에서는 정보 수집 수단으로 라이다(LiDAR: Light Detection And Ranging) 센서가 사용되는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.The environment information collected by the multi-robot 100 includes dynamic object information and static object information, and since the method for collecting environment information by the information collection unit is a known technology, the embodiment of the present invention is limited to one method. I never do that. Further, in the embodiment of the present invention, an example in which a LiDAR (Light Detection And Ranging) sensor is used as an information collection means is described, but is not necessarily limited thereto.

다중 로봇(100)은 환경 정보를 점유 격자 맵 상에 표시한다(S202). 점유 격자 맵 상에 표시한 후, 다중 로봇(100)은 점유 격자 맵을 기초로 탐지 영역과 미탐지 영역의 경계면을 추출한다(S203). 다중 로봇(100)이 탐지 영역과 미탐지 영역의 경계면을 추출하기 위해, 다중 로봇(100)에 구현된 탐지 모듈을 이용하여, 점유 격자 맵 형태의 토픽 메시지 '/robot_N/gridmap'와 관리자가 설정한 맵핑 범위를 나타내는 토픽 메시지 'local_renged_point_N'를 구독하여 경계면의 지점을 추출한다.The multi-robot 100 displays environment information on the occupancy grid map (S202). After displaying on the occupied grid map, the multi-robot 100 extracts the boundary between the detected area and the undetected area based on the occupied grid map (S203). In order for the multi-robot 100 to extract the boundary between the detected area and the undetected area, the manager sets the topic message '/robot_N/gridmap' in the form of an occupied grid map using the detection module implemented in the multi-robot 100. The point of the boundary is extracted by subscribing to the topic message 'local_renged_point_N' indicating a mapping range.

이때, 다중 로봇(100)이 점유 격자 맵을 기초로 탐지 영역과 미탐지 영역을 구분하는 기술은 이미 알려진 기술이다. 즉, 오픈 소스 기반 로봇 미들웨어에서 제공하는 ROS 패키지 중, 경로 탐색 및 계획 방식의 일종인 RRT(Rapidly-exploring Random Tree) 알고리즘을 기반으로 경계면을 추출하는 방식을 이용할 수 있다. At this time, the technique of dividing the detection area and the non-detection area based on the occupied grid map by the multi-robot 100 is a known technology. That is, among the ROS packages provided by the open source-based robot middleware, a method of extracting a boundary surface based on a RRT (Rapidly-exploring Random Tree) algorithm, which is a kind of path search and planning method, can be used.

RRT는 샘플링(Sampling) 과정을 통해 공간에 임의의 지점을 생성하고, 생성한 임의의 지점을 목표 점으로 하여 트리를 성장시킨다. 다중 로봇(100)은 이미 탐지한 영역 내에서 트리의 새로운 노드를 추가하여 점진적으로 트리를 성장시킨다. RRT creates a random point in space through a sampling process, and grows a tree using the created random point as a target point. The multi-robot 100 gradually grows the tree by adding a new node of the tree within the already detected area.

이때 다중 로봇(100)이 추가한 노드가 미탐지 영역에 생성되었을 경우, 다중 로봇(100)은 해당 노드에 경계면의 지점을 검출한다. 이러한 과정을 통해 탐지 모듈이 획득한 경계면 지점은 기 설정한 메시지 규격으로 다중 로봇(100)으로 전달되며, 메시지 규격으로 전달된 토픽 메시지를 다중 로봇(100)이 수신하는 것을 구독이라 지칭한다.At this time, when the node added by the multi-robot 100 is created in the undetected area, the multi-robot 100 detects a point on the boundary of the corresponding node. The boundary point obtained by the detection module through this process is transmitted to the multi-robot 100 in a preset message standard, and the multi-robot 100 receiving the topic message delivered in the message standard is referred to as subscription.

S203 단계를 통해 경계면을 추출한 다중 로봇(100)은 경계면의 점 그룹을 확인하고, 확인한 점 그룹에서 중심점을 추출한다(S204). 다중 로봇(100)은 경계면의 점 그룹을 평균 이동(Mean Shift) 방법을 통해 그룹의 중심점을 추출하며, 평균 이동 방법은 이미 알려진 기술로 본 발명의 실시예에서는 상세한 설명을 생략한다.After extracting the boundary surface through step S203, the multi-robot 100 checks the point group of the boundary surface and extracts a center point from the checked point group (S204). The multi-robot 100 extracts the center point of a group of points on the boundary surface through a mean shift method, and the mean shift method is a known technique and detailed description is omitted in the embodiment of the present invention.

그리고, 다중 로봇(100)은 추출한 중심점을 현재 위치에서 이동할 다음 주행 목적지로 설정한다(S205). 다중 로봇(100)은 S205 단계에서 설정한 다음 주행 목적지로 이동하여(S206), 이동한 영역에서 주변 환경 정보를 수집하는 S201 단계 이후의 절차를 반복 수행한다. Then, the multi-robot 100 sets the extracted central point as the next driving destination to be moved from the current location (S205). The multi-robot 100 moves to the driving destination after setting in step S205 (S206), and repeats the procedure after step S201 of collecting surrounding environment information in the moved area.

다중 로봇(100)은 매핑된 매핑 영역을 모두 탐지할 때까지 S201 단계 이후의 절차를 반복 수행한다. 그리고 매핑 영역을 모두 탐지할 때까지 다중 로봇(100)이 환경 정보를 표시한 점유 격자 맵이 지역 맵으로 사용된다.The multi-robot 100 repeatedly performs the procedure after step S201 until all mapped mapping areas are detected. And until all mapping areas are detected, the occupied grid map on which the multi-robot 100 displays environment information is used as the area map.

상술한 다중 로봇(100)이 지역 맵을 생성하는 과정에서,S203 단계에 따라 매핑 구역을 탐색하고 점유 격자 맵 상에서 미탐지 영역과 탐지 영역의 경계면의 지점을 추출하는 방법에 대해 도 4를 참조로 설명한다.In the process of generating the region map by the above-described multi-robot 100, a method of searching for a mapping region according to step S203 and extracting a boundary point between an undetected region and a detected region on an occupied grid map is described with reference to FIG. 4 . Explain.

도 4는 본 발명의 실시예에 따른 매핑 구역 탐색 방법에 대한 예시도이다.4 is an exemplary view of a mapping area search method according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 다중 로봇(100)이 초기 노드로 표시된 지점에 위치하고 있다고 가정하면, 해당 위치를 시작 노드(xinit)라 지칭한다. 본 발명의 실시예에서 "노드"의 의미는 다중 로봇(100)의 좌표를 의미한다.As shown in FIG. 4, assuming that the multi-robot 100 is located at a point indicated as an initial node, the corresponding location is referred to as a start node (x init ). In the embodiment of the present invention, the meaning of "node" means the coordinates of the multi-robot 100.

다중 로봇(100)은 시작 노드를 기준으로 다중 로봇(100) 주변의 복수의 노드들 중 임의 노드(xrand)를 샘플링한다. 즉, 다중 로봇(100)이 탐색할 공간에 임의의 지점을 생성한다. The multi-robot 100 samples a random node (x rand ) among a plurality of nodes around the multi-robot 100 based on the starting node. That is, a random point in the space to be searched by the multi-robot 100 is created.

다중 로봇(100)은 샘플링한 임의 노드에서 거리상으로 가장 가까운 노드(xnearest)를 검출하고, 임의 노드와 가장 가까운 노드 사이에 새로운 노드(xnew)를 생성한다. The multi-robot 100 detects the closest node (x nearest ) in distance from the sampled random node, and creates a new node (x new ) between the random node and the nearest node.

그리고, 다중 로봇(100)의 주위에 장애물이 없을 경우, 다중 로봇(100)은 생성한 새로운 노드를 트리에 포함시킨다. 그리고, 새로운 노드가 다음 주행 목적지(xtarget)가 될 때까지 같은 과정을 반복하여 트리를 성장시킨다. 매핑 구역 탐색 방법을 프로그램으로 표현하면 다음 표 1과 같다.And, if there are no obstacles around the multi-robot 100, the multi-robot 100 includes the newly created node in the tree. Then, the tree is grown by repeating the same process until the new node becomes the next destination (x target ). If the mapping area search method is expressed as a program, it is shown in Table 1 below.

V ← Xinit; E ← Φ
while xnew ≠xtarget do
xrand ← SampleFree;
xnearest ← Nearest(G(V, E), xrand);
xnew ← Steer(xnearest, xrand);
if ObstacleFree(xnearest, xnew) then
V ←V ∪ {xnew}; E ← E ∪ {(xnearest, xnew)};
End if
End while
Return G = (V, E);
V ← X init ; E ← Φ
while x new ≠ x target do
x rand ← SampleFree;
x nearest ← Nearest(G(V, E), x rand );
x new ← Steer(x nearest , x rand );
if ObstacleFree(x nearest , x new ) then
V ← V ∪ {x new }; E ← E ∪ {(x nearest , x new )};
End if
End while
Return G = (V, E);

여기서, V는 노드를 의미하고, E는 트리를 성장시키면서 생성된 노드들의 집합을 의미한다. 집합에 포함된 노드들이 다중 로봇(100)이 경로 계획을 세울 때 참조하는 포인트 후보군이 된다.매핑 구역 탐색 방법에 대해 상세히 설명하면, 도 4의 (a)에 도시된 바와 같이 다중 로봇(100)의 매핑 구역을 탐색하는 과정에서, 점유 격자 맵에 RRT(Rapidly exploring Random Tree) 트리의 초기 노드인 시작 노드를 설정한다. 다중 로봇(100)은 설정한 시작 노드를 로봇의 현재 위치(xcurrent)로 보정한다. Here, V denotes a node, and E denotes a set of nodes generated while growing the tree. The nodes included in the set become a point candidate group that the multi-robot 100 refers to when planning a path. The mapping area search method will be described in detail, as shown in (a) of FIG. 4, the multi-robot 100 In the process of exploring the mapping area of , the starting node, which is the initial node of the Rapidly Exploring Random Tree (RRT) tree, is set in the occupied grid map. The multi-robot 100 corrects the set start node to the current position (x current ) of the robot.

다중 로봇(100)은 도 4의 (b)에 도시된 바와 같이 이미 스캔한 영역내에서 새로운 노드를 추가하면서 제1 표시 선(①)과 같이 트리의 길이를 늘려 스캔 영역을 확장시킨다. 이때, 새로운 노드가 미탐지된 영역에서 생성되면, 다중 로봇(100)은 미탐지 영역에서 생성된 새로운 노드의 위치를 기록하고, 탐지 영역과 미탐지 영역의 경계면에 해당하는 지점(Frontier)을 제2 표시 수단(②)과 같이 검출한다.As shown in (b) of FIG. 4, the multi-robot 100 extends the scan area by increasing the length of the tree as shown in the first display line ① while adding a new node within the already scanned area. At this time, when a new node is created in the undetected area, the multi-robot 100 records the location of the new node created in the undetected area, and removes a point (Frontier) corresponding to the boundary between the detection area and the undetected area. 2 Detected in the same way as display means (②).

다중 로봇(100)이 경계면의 지점을 검출하고 나면, 필터링을 통해 다중 로봇(100)이 주행하기 위한 중심점을 검출한다. 이에 대해 도 5를 참조로 설명한다.After the multi-robot 100 detects the point of the boundary surface, the central point for the multi-robot 100 to travel is detected through filtering. This will be described with reference to FIG. 5 .

도 5는 본 발명의 실시예에 따라 검출된 중심점의 예시도이다.5 is an exemplary view of a center point detected according to an embodiment of the present invention.

도 5의 (a)에 도시된 바와 같이, 다중 로봇(100)은 경계면 지점을 제2 표시 수단(②)으로 확인하고, 제3 표시 수단(③)으로 대역폭을 확인한다. 여기서 대역폭은 해당 노드에 다중 로봇(100)이 위치할 때 스캔 가능한 범위를 의미한다.As shown in (a) of FIG. 5, the multi-robot 100 checks the boundary point with the second display means (②), and checks the bandwidth with the third display means (③). Here, the bandwidth means a range that can be scanned when multiple robots 100 are located in a corresponding node.

다중 로봇(100)은 제3 표시 수단(③)으로 표시된 대역폭 밖으로 탐색된 지점들을 필터링하여, 도 5의 (b)에 도시된 바와 같이 제4 표시 수단(④)과 같은 중심점을 추출한다. 여기서, 중심점은 다중 로봇(100)의 특성(예를 들어, 로봇의 크기, 센싱 범위 등)에 따라 다른 위치로 추출될 수 있다. The multi-robot 100 filters the points searched for outside the bandwidth indicated by the third display means (③), and extracts the same center point as the fourth display means (④) as shown in FIG. 5 (b). Here, the center point may be extracted to a different position according to the characteristics of the multi-robot 100 (eg, size of the robot, sensing range, etc.).

다중 로봇(100)은 복수의 중심점들을 추출한 후, 추출한 중심점들 중에서 이득 계산 과정을 거쳐 다음 주행 목적지에 해당하는 중심점을 선정한다. 그리고 다중 로봇(100)은 현재 위치에서 다음 주행 목적지에 해당하는 중심점으로 이동하기 위한 경로 계획을 세운다. 이에 대해 도 6을 참조로 설명한다.After extracting a plurality of center points, the multi-robot 100 selects a center point corresponding to the next driving destination through a gain calculation process among the extracted center points. In addition, the multi-robot 100 plans a route to move from the current location to the center point corresponding to the next driving destination. This will be described with reference to FIG. 6 .

도 6은 본 발명의 실시예에 따른 경로 계획에 따라 다음 주행 목적지를 표시한 예시도이다.6 is an exemplary view showing a next driving destination according to a route plan according to an embodiment of the present invention.

도 6에 도시된 바와 같이, 다중 로봇(100)은 현재 위치에서 다음 주행 목적지를 선정하는 과정에서, 군집화 알고리즘을 사용하여 다음 주행 목적지를 선정한다.As shown in FIG. 6 , the multi-robot 100 selects the next driving destination by using a clustering algorithm in the process of selecting the next driving destination from the current location.

즉, 현재 다중 로봇(100)의 위치가 제1 위치(

Figure pat00001
)라고 가정하면, 다중 로봇(100)은 추출한 복수의 중심점들 중 밀도가 가장 높은 쪽인 위치(
Figure pat00002
, … ,
Figure pat00003
)로 이동하면서 군집화를 수행한다. 이때, 다중 로봇(100)은 데이터의 대표점을 추출하는 군집화 알고리즘인 평균 이동(Mean Shift)을 이용하여, 중심점들이 모여 있는 밀도가 가장 높은 쪽으로 평균을 이동하면서 군집화를 수행한다. 이를 통해 다중 로봇(100)은 이동할 수 있는 중심점을 찾을 수 있고, 불필요한 동선으로 이동하지 않도록 경로 계획을 최소화할 수 있다.That is, the current position of the multi-robot 100 is the first position (
Figure pat00001
), the multi-robot 100 has the highest density among the extracted plurality of center points (
Figure pat00002
, … ,
Figure pat00003
) to perform clustering. At this time, the multi-robot 100 performs clustering while moving the average to the side with the highest density where the central points are gathered using mean shift, which is a clustering algorithm that extracts representative points of data. Through this, the multi-robot 100 can find a movable central point, and can minimize route planning so as not to move in an unnecessary movement line.

이때, 다중 로봇(100)은 평균 이동을 이용하기 위해, 커널 밀도 추정(KDE: Kernel Density Estimation)을 이용하여 확률 밀도 함수를 찾는다. 이에 대해 도 7을 참조로 설명한다.At this time, the multi-robot 100 finds a probability density function using Kernel Density Estimation (KDE) in order to use the average movement. This will be described with reference to FIG. 7 .

도 7은 본 발명의 실시예에 따라 사용되는 커널 밀도 추정의 예시도이다.7 is an exemplary diagram of kernel density estimation used in accordance with an embodiment of the present invention.

도 7에 도시된 바와 같이, 커널 밀도 추정에서는 임의 변수 x에 대한 확률 밀도 함수 f(x)를 수학식 1로 추정한다. As shown in FIG. 7 , in kernel density estimation, a probability density function f(x) for a random variable x is estimated by Equation 1.

Figure pat00004
Figure pat00004

수학식 1에서 x1, x2, …, xn은 다중 로봇(100)이 주변을 스캔하는 과정에서 획득한 좌표이고, K는 커널 함수를 의미한다. 다중 로봇(100)이 스캔하여 획득한 각각의 좌표를 중심으로 하는 커널 함수가 생성되고, 커널 함수를 모두 더한 후 전체 좌표 개수로 나누어 커널 밀도를 추정한다. In Equation 1, x 1 , x 2 , … , x n are coordinates acquired in the process of scanning the surroundings of the multi-robot 100, and K means a kernel function. A kernel function centered on each coordinate obtained by scanning the multi-robot 100 is generated, and the kernel density is estimated by dividing by the total number of coordinates after adding all the kernel functions.

다음은 다중 로봇(100)이 스캔 이득을 구하는 과정에 대해 도 8을 참조로 설명한다.Next, a process of obtaining a scan gain by the multi-robot 100 will be described with reference to FIG. 8 .

도 8은 본 발명의 실시예에 따른 스캔 이득을 구하는 예시도이다.8 is an exemplary view of obtaining a scan gain according to an embodiment of the present invention.

도 8에 도시된 바와 같이, 다중 로봇(100)은 경계면 중심점의 정보 이득과 네비게이션 코스트를 계산하여 스캔 이득을 구한다. 여기서, 정보 이득은 경계면 중심점을 기반으로, 다중 로봇(100)에 탑재된 정보 수집 수단인 센서의 반경 원을 형성한 후 미탐색 영역의 셀 수를 계산하여 획득한다. As shown in FIG. 8 , the multi-robot 100 obtains a scan gain by calculating an information gain and a navigation cost of the center point of the boundary surface. Here, the information gain is obtained by calculating the number of cells in the unexplored area after forming a radius circle of a sensor, which is an information collection means mounted on the multi-robot 100, based on the center point of the boundary surface.

즉, 다중 로봇(100)이 공간을 탐색하기 위한 목표는, 스캔 이득이 높은 포인트로 경로를 계획하는 것이다. 이때, 스캔 이득은 경계면 중심점의 정보 이득과 네비게이션 코스트를 계산하여 산출한다. That is, a goal for the multi-robot 100 to search a space is to plan a path to a point with a high scan gain. At this time, the scan gain is calculated by calculating the information gain and navigation cost of the center point of the boundary surface.

다중 로봇(100)은 경계면 중심점을 기반으로 센서 반경의 원을 형성하여 미탐색 영역의 셀의 수를 계산함으로써 정보 이득을 획득한다. 미탐색 영역이 많을수록 정보 이득은 높게 계산된다. 정보 이득이 높은 포인트가 획득되면, 획득된 포인트는 다중 로봇(100)의 목적지로 지정되고, 다중 로봇(100)은 목적지까지 네비게이션 코스트를 계산한다. The multi-robot 100 obtains an information gain by calculating the number of cells in the unexplored area by forming a circle with a sensor radius based on the center point of the boundary surface. As the number of unexplored regions increases, the information gain is calculated to be higher. When a point having a high information gain is acquired, the obtained point is designated as a destination of the multi-robot 100, and the multi-robot 100 calculates a navigation cost to the destination.

그리고, 다중 로봇(100)은 다중 로봇(100)의 현재 위치와 경계면의 중심점을 대상으로 노름(norm) 연산을 통해 네비게이션 코스트를 획득한다. 이와 같이 다중 로봇(100)은 공간 탐색을 위한 최적의 경로를 계획하기 위해, 정보 이득과 네비게이션 코스트를 계산하여 다음 주행 목적지를 설정하는 경로 계획을 수행하고, 해당 경로 계획을 기초로 다음 주행 목적지로 이동한다.Then, the multi-robot 100 obtains a navigation cost through a norm operation targeting the current position of the multi-robot 100 and the center point of the boundary surface. In this way, the multi-robot 100 calculates an information gain and a navigation cost to plan an optimal route for space search, performs route planning to set the next driving destination, and moves to the next driving destination based on the route planning. move

다음은, 로봇(100-1~100-4)들이 각각 생성한 지역 맵을 이용하여 전역 맵으로 생성하는 예에 대해 도 9를 참조로 설명한다.Next, an example of generating a global map using the regional maps generated by each of the robots 100-1 to 100-4 will be described with reference to FIG. 9 .

도 9는 본 발명의 실시예에 따라 생성된 전역 맵의 예시도이다.9 is an exemplary view of a global map created according to an embodiment of the present invention.

도 9에 도시된 바와 같이, 복수 대의 로봇(100-1~100-4)들이 각각 생성한 지역 맵들을 수신한 실내 맵 생성 시스템(200)은, 지역 맵들을 병합하여 하나의 전역 맵으로 생성한다. 이를 위해, 실내 맵 생성 시스템(200)은 다음 표 2와 같이 맵 합성 모듈의 노드와 토픽을 정의하고, 이를 이용하여 복수의 지역 맵들을 하나의 전역 맵으로 생성한다. As shown in FIG. 9 , the indoor map generation system 200 receiving regional maps generated by each of the plurality of robots 100-1 to 100-4 merges the regional maps to generate a single global map. . To this end, the indoor map generating system 200 defines nodes and topics of the map synthesizing module as shown in Table 2 below, and generates a plurality of regional maps as one global map by using them.

실내 맵 생성 시스템(200)이 표 2에 정의된 토픽을 이용하여 복수의 지역 맵들을 전역 지도인 실내 맵으로 병합하는 방법은 multirobot_map_merge 패키지와 같은 공개 패키지를 이용하여 수행할 수 있으므로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하여 설명하지 않는다.Since the indoor map generating system 200 uses the topics defined in Table 2 to merge a plurality of local maps into an indoor map, which is a global map, it can be performed using an open package such as the multirobot_map_merge package. In the examples, description is not limited to any one method.

ClassClass NameName Message_TypeMessage_Type nodenode Map_mergeMap_merge Topic(publish)Topic(publish) /map/map Nav_msgs/occupancyGrid.msgNav_msgs/occupancyGrid.msg Topic(subscriber)Topic (subscriber) /robot_N/map/robot_N/map Nav_msgs/occupancyGrid.msgNav_msgs/occupancyGrid.msg

다음은, 실내 맵 생성 시스템(200)이 다중 로봇(100)의 매핑 범위를 재설정하는 예에 대해 도 10을 참조로 설명한다.Next, an example in which the indoor map generation system 200 resets the mapping range of the multi-robot 100 will be described with reference to FIG. 10 .

도 10은 본 발명의 실시예에 따라 로봇에 매핑 범위를 재설정한 예시도이다.10 is an exemplary diagram in which a mapping range is reset to a robot according to an embodiment of the present invention.

도 10에 도시된 바와 같이, 지역 맵 생성을 완료한 로봇(100-1, 100-2)이 초기 대기 영역(20)에서 대기하고 있고, 지역 맵 생성을 완료하지 못한 로봇(100-3, 100-4)이 매핑 영역에서 지역 맵을 생성하고 있다고 가정한다.As shown in FIG. 10, robots 100-1 and 100-2 that have completed generating area maps are waiting in the initial waiting area 20, and robots 100-3 and 100 that have not completed generating area maps -4) Suppose you are creating a local map in this mapping area.

그러면, 실내 맵 생성 시스템(200)은 제3 로봇(100-3)의 미탐지 영역을 확인하고(⑤), 제3 로봇(100-3)의 센싱 범위에 따라 미탐지 영역의 일부 영역(⑥)은 제3 로봇(100-3)이 지속적으로 탐지하도록 범위를 조절한다. 그리고 나머지 영역(⑦)은 대기 영역(20)에 대기중인 제1 로봇(100-1)이 탐지하도록 설정하여, 제1 로봇(100-1)으로 매핑 영역 정보를 제공한다.Then, the indoor map generation system 200 checks the undetected area of the third robot 100-3 (⑤), and some areas of the undetected area according to the sensing range of the third robot 100-3 (⑥). ) adjusts the range so that the third robot 100-3 continuously detects. The remaining area (⑦) is set to be detected by the first robot 100-1 waiting in the waiting area 20, and mapping area information is provided to the first robot 100-1.

다음은 로봇의 구조에 대해 도 11을 참조로 설명한다. Next, the structure of the robot will be described with reference to FIG. 11 .

도 11은 본 발명의 실시예에 따른 로봇의 구조도이다.11 is a structural diagram of a robot according to an embodiment of the present invention.

도 11에 도시된 바와 같이, 로봇(300)은 버스(320)를 통해 통신하는 프로세서(310), 메모리(330), 정보 수집 수단(340), 인터페이스(350), 저장 장치(360) 그리고 구동 장치(370)를 포함한다. As shown in FIG. 11, the robot 300 includes a processor 310 communicating through a bus 320, a memory 330, an information collection unit 340, an interface 350, a storage device 360, and driving Device 370 is included.

프로세서(310)는 로봇(300)의 동작을 제어하는 장치로서, 프로그램에 포함된 명령들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다. 또는 프로세서(310)는 메모리(330) 또는 저장 장치(160)에 저장된 명령을 실행하는 반도체 장치일 수 있다. 프로세서(310)는 상술한 기능들 및 방법을 실행하도록 구성될 수 있다. The processor 310 is a device for controlling the operation of the robot 300, and may be various types of processors that process commands included in a program, for example, a Central Processing Unit (CPU) or a Micro Processor Unit (MPU). , MCU (Micro Controller Unit), GPU (Graphic Processing Unit), and the like. Alternatively, the processor 310 may be a semiconductor device that executes commands stored in the memory 330 or the storage device 160 . Processor 310 may be configured to execute the functions and methods described above.

메모리(330)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(330)는 본 발명의 동작을 실행하도록 기술된 명령들이 프로세서(310)에 의해 처리되도록 해당 프로그램을 로드하며, ROM(read only memory)(331) 및 RAM(random access memory)(332)를 포함할 수 있다. The memory 330 may include various types of volatile or non-volatile storage media. For example, memory 330 loads corresponding programs so that instructions described to execute the operations of the present invention are processed by processor 310, and read only memory (ROM) 331 and random access memory (RAM) (332).

본 발명의 실시예에서 메모리(330)는 프로세서(310)의 내부 또는 외부에 위치할 수 있고, 메모리(330)는 이미 알려진 다양한 수단을 통해 프로세서(310)와 연결될 수 있다.In an embodiment of the present invention, the memory 330 may be located inside or outside the processor 310, and the memory 330 may be connected to the processor 310 through various known means.

정보 수집 수단(340)은 본 발명의 동작에 따라 주행 중인 로봇(300)이 정보를 수집하는 다양한 센서(예를 들어, 라이다, 깊이 카메라, 관성 측정 장치(IMU: Inertial Measurement Unit) 등)들에 해당한다. 본 발명의 실시예에서는 센서(340)로 라이다를 이용하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.The information collection unit 340 includes various sensors (eg, lidar, depth camera, inertial measurement unit (IMU), etc.) through which the robot 300 traveling according to the operation of the present invention collects information. corresponds to In an embodiment of the present invention, the use of lidar as the sensor 340 is described as an example, but is not necessarily limited thereto.

인터페이스(350)는 실내 맵 생성 시스템(200)과 연동하며, 로봇(300)이 생성한 지역 맵을 실내 맵 생성 시스템(200)으로 전달한다. 또한 인터페이스(350)는 실내 맵 생성 시스템(200)로부터 전송되는 매핑 영역 정보와 전역 맵을 수신하여 프로세서(310)로 전달할 수도 있다.The interface 350 interworks with the indoor map generating system 200 and transfers the area map generated by the robot 300 to the indoor map generating system 200 . In addition, the interface 350 may receive mapping area information and a global map transmitted from the indoor map generation system 200 and transmit them to the processor 310 .

저장 장치(360)는 로봇(300)이 주행하는 공간의 지역 맵을 저장할 수 있다. 또한, 저장 장치(360)는 실내 맵 생성 시스템(200)으로부터 수신한 전역 맵을 저장한다.The storage device 360 may store a region map of a space in which the robot 300 travels. Also, the storage device 360 stores the global map received from the indoor map generating system 200 .

구동 장치(370)는 프로세서(310)의 제어에 따라 로봇(300)이 매핑 영역에서 주행되도록 한다. The driving device 370 drives the robot 300 in the mapping area under the control of the processor 310 .

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements made by those skilled in the art using the basic concept of the present invention defined in the following claims are also included in the scope of the present invention. that fall within the scope of the right.

Claims (14)

로봇의 지역 맵 생성 방법으로서,
기 설정된 초기 위치에서, 실내 맵 생성 시스템으로부터 지역 맵을 생성할 매핑 영역 정보를 수신하는 단계,
상기 매핑 영역 정보에 해당하는 매핑 영역을 탐색하며, 상기 초기 위치를 기준으로 주변 환경 정보를 수집하여 점유 격자 맵 상에 표시하는 단계,
상기 주변 환경 정보가 표시된 상기 점유 격자 맵 상에서 탐지 영역과 미탐지 영역의 경계면에 해당하는 복수의 지점들을 추출하여 지점 그룹으로 형성하는 단계,
상기 지점 그룹의 중심점을 추출하고, 추출한 중심점을 상기 초기 위치에서 이동할 다음 주행 목적지로 설정하는 단계, 그리고
상기 다음 주행 목적지로 이동하면서 수집한 주변 환경 정보를 상기 점유 격자 맵 상에 표시하여, 상기 지역 맵으로 생성하는 단계
를 포함하는, 로봇의 지역 맵 생성 방법.
As a method for generating a region map of a robot,
Receiving mapping area information to generate a local map from an indoor map generating system at a preset initial location;
Searching for a mapping area corresponding to the mapping area information, collecting surrounding environment information based on the initial location, and displaying it on an occupancy grid map;
Forming a point group by extracting a plurality of points corresponding to a boundary between a detection area and an undetected area on the occupied grid map on which the surrounding environment information is displayed;
extracting the center point of the point group, and setting the extracted center point as the next driving destination to be moved from the initial location; and
Displaying the surrounding environment information collected while moving to the next driving destination on the occupancy grid map to create the area map
Including, how to create a region map of the robot.
제1항에 있어서,
상기 지점 그룹으로 형성하는 단계는,
상기 점유 격자 맵 상의 토픽 메시지와 상기 매핑 영역 정보에 포함된 매핑 범위를 나타내는 토픽 메시지를 기초로 상기 경계면의 지점을 추출하는, 로봇의 지역 맵 생성 방법.
According to claim 1,
The step of forming the point group,
A method for generating an area map of a robot, wherein a point of the boundary surface is extracted based on a topic message on the occupancy grid map and a topic message indicating a mapping range included in the mapping area information.
제2항에 있어서,
상기 점유 격자 맵 상에 표시하는 단계는,
상기 초기 위치를 기준으로 상기 매핑 영역의 임의의 위치에 임의의 노드를 설정하는 단계,
상기 임의의 노드에서 가장 가까운 노드를 검출하고, 상기 임의의 노드와 상기 가장 가까운 노드 사이에 새로운 노드를 생성하는 단계, 그리고
상기 로봇의 주변에 장애물이 없는 경우, 상기 새로운 노드를 트리에 포함시켜 트리를 확장시키는 단계
를 더 포함하는, 로봇의 지역 맵 생성 방법.
According to claim 2,
The step of displaying on the occupied grid map,
Setting an arbitrary node at an arbitrary position in the mapping area based on the initial position;
Detecting a node closest to the arbitrary node, and creating a new node between the arbitrary node and the closest node, and
Expanding the tree by including the new node in the tree when there is no obstacle around the robot
Further comprising a method for generating a region map of the robot.
제3항에 있어서,
상기 새로운 노드를 트리에 포함시키는 단계 이후에,
상기 새로운 노드가 상기 다음 주행 목적지인지 확인하고, 상기 다음 주행 목적지에 해당하면 상기 트리의 확장을 종료하는 단계
를 포함하는, 로봇의 지역 맵 생성 방법.
According to claim 3,
After the step of including the new node in the tree,
Checking whether the new node is the next driving destination, and terminating expansion of the tree if corresponding to the next driving destination
Including, how to create a region map of the robot.
제4항에 있어서,
상기 다음 주행 목적지로 설정하는 단계는,
상기 로봇이 스캔 가능한 범위인 대역폭의 외부에 위치한 적어도 하나의 지점들을 필터링하는 단계,
필터링된 지점들을 제외한 상기 대역폭의 내부에 위치한 나머지 지점들을 후보 중심점들로 추출하는 단계, 그리고
상기 후보 중심점들 중 어느 하나의 중심점을 상기 다음 주행 목적지로 설정하는 단계
를 포함하는, 로봇의 지역 맵 생성 방법.
According to claim 4,
In the step of setting the next driving destination,
Filtering at least one point located outside of a bandwidth that is a scannable range by the robot;
Extracting remaining points located inside the bandwidth, excluding the filtered points, as candidate center points; and
Setting one of the candidate center points as the next driving destination
Including, how to create a region map of the robot.
제5항에 있어서,
상기 다음 주행 목적지로 설정하는 단계는,
상기 후보 중심점들 각각의 이득 계산을 통해, 상기 다음 주행 목적지로 설정하는, 로봇의 지역 맵 생성 방법.
According to claim 5,
In the step of setting the next driving destination,
A method for generating a region map of a robot, which is set as the next driving destination through a gain calculation of each of the candidate center points.
복수의 로봇들과 연동한 실내 맵 생성 시스템이 실내 맵을 생성하는 방법으로서,
상기 복수의 로봇들이 각각 지역 맵을 생성하도록, 실내 공간을 복수의 영역으로 나눈 영역 정보를 수신하는 단계,
수신한 상기 영역 정보를 상기 복수의 로봇들에 전송하는 단계,
상기 영역 정보를 기초로 상기 복수의 로봇들이 각각 생성한 지역 맵들을 수신하는 단계, 그리고
상기 지역 맵들을 병합하여 하나의 상기 실내 맵으로 생성하는 단계
를 포함하는, 실내 맵 생성 방법.
A method for generating an indoor map by an indoor map generation system linked with a plurality of robots,
Receiving area information dividing an indoor space into a plurality of areas so that the plurality of robots respectively create a area map;
Transmitting the received area information to the plurality of robots;
Receiving regional maps generated by each of the plurality of robots based on the region information; and
merging the local maps to create one indoor map;
Including, indoor map generation method.
제7항에 있어서,
상기 실내 맵으로 생성하는 단계는,
상기 복수의 로봇들로부터 지역 맵을 모두 수신하였는지 확인하는 단계,
특정 로봇으로부터 지역 맵이 전송되지 않았다면, 상기 특정 로봇에 할당한 영역 정보와, 상기 특정 로봇이 탐지하는 영역 내에서 미탐지 영역을 확인하는 단계, 그리고
대기 영역에 위치한 적어도 하나의 로봇 중 어느 하나의 로봇으로 상기 미탐지 영역의 일부 영역을 탐지하도록 상기 미탐지 영역을 재 할당하는 단계
를 포함하는, 실내 맵 생성 방법.
According to claim 7,
The step of generating the indoor map,
Checking whether all area maps have been received from the plurality of robots;
If a region map is not transmitted from a specific robot, checking region information allocated to the specific robot and an undetected region within the region detected by the specific robot; and
Re-allocating the undetected area so that a partial area of the undetected area is detected by one of at least one robot located in the waiting area.
Including, indoor map generation method.
제8항에 있어서,
상기 미탐지 영역을 재 할당하는 단계는,
상기 미탐지 영역 중 상기 특정 로봇의 센싱 범위를 벗어난 영역을 상기 어느 하나의 로봇에 재 할당하는, 실내 맵 생성 방법.
According to claim 8,
The step of reallocating the undetected area,
An indoor map generation method of reallocating an area outside the sensing range of the specific robot among the undetected areas to the one robot.
자율주행 중 지역 맵을 생성하는 로봇으로서,
연동한 실내 맵 생성 시스템으로부터 매핑 영역 정보를 수신하는 인터페이스,
상기 매핑 영역 정보에 포함된 매핑 영역을 탐지하는 센서, 그리고
프로세서
를 포함하고,
상기 프로세서는,
상기 매핑 영역을 탐색하며 점유 격자 맵 상에 환경 정보를 표시하고, 상기 점유 격자 맵을 기초로 탐지 영역과 미탐지 영역의 경계면의 지점들을 추출하여 지점 그룹으로 형성하며, 상기 지점 그룹에서 추출한 중심점을 다음 주행 목적지로 설정하는, 로봇.
As a robot that creates a local map during autonomous driving,
An interface for receiving mapping area information from an interlocked indoor map generation system;
A sensor detecting a mapping area included in the mapping area information; and
processor
including,
the processor,
The mapping area is searched, environment information is displayed on the occupied grid map, points on the boundary between the detection area and the undetected area are extracted based on the occupancy grid map, and a point group is formed, and the center point extracted from the point group is A robot set to the next driving destination.
제10항에 있어서,
상기 프로세서는,
상기 점유 격자 맵 상의 토픽 메시지와 상기 매핑 영역 정보에 포함된 매핑 범위를 나타내는 토픽 메시지를 기초로 상기 경계면의 지점을 추출하는, 로봇.
According to claim 10,
the processor,
The robot extracts a point of the boundary surface based on a topic message on the occupancy grid map and a topic message indicating a mapping range included in the mapping area information.
제11항에 있어서,
상기 프로세서는,
상기 초기 위치를 기준으로 주변의 복수의 노드들 중 임의 노드를 샘플링하고, 상기 임의 노드에서 가장 가까운 노드를 검출한 후 상기 임의 노드와 상기 가장 가까운 노드 사이에 새로운 노드를 생성하는, 로봇.
According to claim 11,
the processor,
A robot that samples a random node among a plurality of nodes around the initial position, detects a node closest to the random node, and then creates a new node between the random node and the nearest node.
제12항에 있어서,
상기 프로세서는,
상기 로봇의 주변에 장애물이 없는 경우, 상기 새로운 노드를 트리에 포함시켜 트리를 확장시키는, 로봇.
According to claim 12,
the processor,
When there is no obstacle around the robot, the robot includes the new node in the tree to expand the tree.
제13항에 있어서,
상기 프로세서는,
상기 로봇이 스캔 가능한 범위인 대역폭 외부에 포함된 적어도 하나의 지점들을 필터링하고, 필터링된 지점들을 제외한 나머지 지점들을 후보 중심점들로 추출하며, 후보 중심점들 중 이득 계산을 통해 어느 하나의 중심점을 상기 다음 주행 목적지로 설정하는, 로봇.
According to claim 13,
the processor,
At least one point included outside the bandwidth, which is the scannable range of the robot, is filtered, points other than the filtered points are extracted as candidate center points, and any one center point among the candidate center points is selected as the next center point through gain calculation. A robot to set as a driving destination.
KR1020210181799A 2021-12-17 2021-12-17 System for generation of indoor map, autonomous robot and method for creating indoor map using multi-robot KR102692853B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210181799A KR102692853B1 (en) 2021-12-17 2021-12-17 System for generation of indoor map, autonomous robot and method for creating indoor map using multi-robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210181799A KR102692853B1 (en) 2021-12-17 2021-12-17 System for generation of indoor map, autonomous robot and method for creating indoor map using multi-robot

Publications (2)

Publication Number Publication Date
KR20230092422A true KR20230092422A (en) 2023-06-26
KR102692853B1 KR102692853B1 (en) 2024-08-06

Family

ID=86947761

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210181799A KR102692853B1 (en) 2021-12-17 2021-12-17 System for generation of indoor map, autonomous robot and method for creating indoor map using multi-robot

Country Status (1)

Country Link
KR (1) KR102692853B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102649303B1 (en) * 2024-01-09 2024-03-20 국방과학연구소 Electronic device and multirobot exploring area management method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120091937A (en) * 2011-02-10 2012-08-20 고려대학교 산학협력단 Method for building simantic grid map and method for exploring an environment using simantic grid map
KR20130056586A (en) * 2011-11-22 2013-05-30 한국전자통신연구원 Method and apparatus for building map by using collective intelligent robots
KR101415297B1 (en) * 2008-04-16 2014-07-07 삼성전자주식회사 A method for creating a robot map and using robot map and robot having robot map

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101415297B1 (en) * 2008-04-16 2014-07-07 삼성전자주식회사 A method for creating a robot map and using robot map and robot having robot map
KR20120091937A (en) * 2011-02-10 2012-08-20 고려대학교 산학협력단 Method for building simantic grid map and method for exploring an environment using simantic grid map
KR20130056586A (en) * 2011-11-22 2013-05-30 한국전자통신연구원 Method and apparatus for building map by using collective intelligent robots

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102649303B1 (en) * 2024-01-09 2024-03-20 국방과학연구소 Electronic device and multirobot exploring area management method thereof

Also Published As

Publication number Publication date
KR102692853B1 (en) 2024-08-06

Similar Documents

Publication Publication Date Title
US11808580B1 (en) Methods for finding the perimeter of a place using observed coordinates
KR102661849B1 (en) Autonomous robot, method for generation of hierarchical costmap and method for generating driving path using the same
CN107436148B (en) Robot navigation method and device based on multiple maps
JP5380789B2 (en) Information processing apparatus, information processing method, and computer program
JP4241673B2 (en) Mobile path generation device
KR100877072B1 (en) Method and apparatus of building map for a mobile robot and cleaning simultaneously
CN103984981B (en) Building environmental sensor measuring point optimization method based on Gaussian process model
JP2019523924A (en) How to automatically generate a shelf schedule that assigns products to a shelf structure in the store
JP5518579B2 (en) Movable region extraction apparatus and movable region extraction method
CN110675307A (en) Implementation method of 3D sparse point cloud to 2D grid map based on VSLAM
US10078333B1 (en) Efficient mapping of robot environment
CN108981701A (en) A kind of indoor positioning and air navigation aid based on laser SLAM
US11960297B2 (en) Robot generating map based on multi sensors and artificial intelligence and moving based on map
US20220221872A1 (en) Information processing device, information processing method, and program
Wu et al. Autonomous mobile robot exploration in unknown indoor environments based on rapidly-exploring random tree
KR102692853B1 (en) System for generation of indoor map, autonomous robot and method for creating indoor map using multi-robot
CN112015187A (en) Semantic map construction method and system for intelligent mobile robot
CN110477813A (en) A kind of laser type clean robot and its control method
Díaz Vilariño et al. Scan planning and route optimization for control of execution of as-designed BIM
CN114098529B (en) Cleaning method for cleaning robot system, and storage medium
CN112182122A (en) Method and device for acquiring navigation map of working environment of mobile robot
Ozkil et al. Practical indoor mobile robot navigation using hybrid maps
KR20220000331A (en) Apparatus and Method for Creating Indoor Spatial Structure Map through Dynamic Object Filtering
Gabriely et al. Competitive complexity of mobile robot on line motion planning problems
KR101297608B1 (en) Method and system for robot coverage of unknown environment

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