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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000013507 mapping Methods 0.000 claims abstract description 55
- 238000001514 detection method Methods 0.000 claims description 13
- 239000000284 extract Substances 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/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/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1684—Tracking a line or surface by means of sensors
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation 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
Description
본 발명은 복수의 자율주행 로봇들이 분할 매핑 전략과 맵 합성 방법을 이용하여 실내 맵을 작성하는 자율주행 로봇 및 자율주행 로봇의 지역 맵 생성 방법, 그리고 복수의 자율주행 로봇을 이용한 실내 맵 생성 방법에 관한 것이다.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
실내 공간(10)은 복수의 영역들로 나뉠 수 있다. 본 발명의 실시예에서는 실내 공간(10)을 네 영역(10-1~10-4)으로 나뉘어 있는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다. 실내 공간(10)을 복수의 영역으로 나누는 것은 관리자 또는 사용자에 의해 실행 가능하며, 영역을 나누는 기준을 어느 하나로 한정하지 않는다.The
각 로봇(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
여기서, 로봇(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
또한, 로봇(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
로봇(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
도 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
즉, 다중 로봇(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
실내 맵 생성 시스템(200)은 다중 로봇(100)이 투입된 실내 공간(10)에 대한 맵을 시각화하여, 다중 로봇(100)과 실내 맵 생성 시스템(200)을 관리하는 관리자에게 제공한다. 그리고, 관리자가 다중 로봇(100)이 지역 맵을 생성할 실내 공간(10)을 복수의 영역들로 나누면, 실내 맵 생성 시스템(200)은 실내 공간에 대한 복수의 영역 정보를 수신한다(S101). The indoor
이때, 본 발명의 실시예에서는 관리자는 각 영역에서 지역 맵을 생성할 로봇(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
다중 로봇(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
이때, 다중 로봇(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
이때, 다중 로봇(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
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
도 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
다중 로봇(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
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
다중 로봇(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
다중 로봇(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
도 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
즉, 현재 다중 로봇(100)의 위치가 제1 위치()라고 가정하면, 다중 로봇(100)은 추출한 복수의 중심점들 중 밀도가 가장 높은 쪽인 위치(, … ,)로 이동하면서 군집화를 수행한다. 이때, 다중 로봇(100)은 데이터의 대표점을 추출하는 군집화 알고리즘인 평균 이동(Mean Shift)을 이용하여, 중심점들이 모여 있는 밀도가 가장 높은 쪽으로 평균을 이동하면서 군집화를 수행한다. 이를 통해 다중 로봇(100)은 이동할 수 있는 중심점을 찾을 수 있고, 불필요한 동선으로 이동하지 않도록 경로 계획을 최소화할 수 있다.That is, the current position of the multi-robot 100 is the first position ( ), the
이때, 다중 로봇(100)은 평균 이동을 이용하기 위해, 커널 밀도 추정(KDE: Kernel Density Estimation)을 이용하여 확률 밀도 함수를 찾는다. 이에 대해 도 7을 참조로 설명한다.At this time, the
도 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
수학식 1에서 x1, x2, …, xn은 다중 로봇(100)이 주변을 스캔하는 과정에서 획득한 좌표이고, K는 커널 함수를 의미한다. 다중 로봇(100)이 스캔하여 획득한 각각의 좌표를 중심으로 하는 커널 함수가 생성되고, 커널 함수를 모두 더한 후 전체 좌표 개수로 나누어 커널 밀도를 추정한다. In
다음은 다중 로봇(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
즉, 다중 로봇(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
다음은, 로봇(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
실내 맵 생성 시스템(200)이 표 2에 정의된 토픽을 이용하여 복수의 지역 맵들을 전역 지도인 실내 맵으로 병합하는 방법은 multirobot_map_merge 패키지와 같은 공개 패키지를 이용하여 수행할 수 있으므로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하여 설명하지 않는다.Since the indoor
다음은, 실내 맵 생성 시스템(200)이 다중 로봇(100)의 매핑 범위를 재설정하는 예에 대해 도 10을 참조로 설명한다.Next, an example in which the indoor
도 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
그러면, 실내 맵 생성 시스템(200)은 제3 로봇(100-3)의 미탐지 영역을 확인하고(⑤), 제3 로봇(100-3)의 센싱 범위에 따라 미탐지 영역의 일부 영역(⑥)은 제3 로봇(100-3)이 지속적으로 탐지하도록 범위를 조절한다. 그리고 나머지 영역(⑦)은 대기 영역(20)에 대기중인 제1 로봇(100-1)이 탐지하도록 설정하여, 제1 로봇(100-1)으로 매핑 영역 정보를 제공한다.Then, the indoor
다음은 로봇의 구조에 대해 도 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
프로세서(310)는 로봇(300)의 동작을 제어하는 장치로서, 프로그램에 포함된 명령들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다. 또는 프로세서(310)는 메모리(330) 또는 저장 장치(160)에 저장된 명령을 실행하는 반도체 장치일 수 있다. 프로세서(310)는 상술한 기능들 및 방법을 실행하도록 구성될 수 있다. The
메모리(330)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(330)는 본 발명의 동작을 실행하도록 기술된 명령들이 프로세서(310)에 의해 처리되도록 해당 프로그램을 로드하며, ROM(read only memory)(331) 및 RAM(random access memory)(332)를 포함할 수 있다. The
본 발명의 실시예에서 메모리(330)는 프로세서(310)의 내부 또는 외부에 위치할 수 있고, 메모리(330)는 이미 알려진 다양한 수단을 통해 프로세서(310)와 연결될 수 있다.In an embodiment of the present invention, the
정보 수집 수단(340)은 본 발명의 동작에 따라 주행 중인 로봇(300)이 정보를 수집하는 다양한 센서(예를 들어, 라이다, 깊이 카메라, 관성 측정 장치(IMU: Inertial Measurement Unit) 등)들에 해당한다. 본 발명의 실시예에서는 센서(340)로 라이다를 이용하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.The
인터페이스(350)는 실내 맵 생성 시스템(200)과 연동하며, 로봇(300)이 생성한 지역 맵을 실내 맵 생성 시스템(200)으로 전달한다. 또한 인터페이스(350)는 실내 맵 생성 시스템(200)로부터 전송되는 매핑 영역 정보와 전역 맵을 수신하여 프로세서(310)로 전달할 수도 있다.The
저장 장치(360)는 로봇(300)이 주행하는 공간의 지역 맵을 저장할 수 있다. 또한, 저장 장치(360)는 실내 맵 생성 시스템(200)으로부터 수신한 전역 맵을 저장한다.The
구동 장치(370)는 프로세서(310)의 제어에 따라 로봇(300)이 매핑 영역에서 주행되도록 한다. The driving device 370 drives the
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.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.
상기 지점 그룹으로 형성하는 단계는,
상기 점유 격자 맵 상의 토픽 메시지와 상기 매핑 영역 정보에 포함된 매핑 범위를 나타내는 토픽 메시지를 기초로 상기 경계면의 지점을 추출하는, 로봇의 지역 맵 생성 방법.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.
상기 점유 격자 맵 상에 표시하는 단계는,
상기 초기 위치를 기준으로 상기 매핑 영역의 임의의 위치에 임의의 노드를 설정하는 단계,
상기 임의의 노드에서 가장 가까운 노드를 검출하고, 상기 임의의 노드와 상기 가장 가까운 노드 사이에 새로운 노드를 생성하는 단계, 그리고
상기 로봇의 주변에 장애물이 없는 경우, 상기 새로운 노드를 트리에 포함시켜 트리를 확장시키는 단계
를 더 포함하는, 로봇의 지역 맵 생성 방법.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.
상기 새로운 노드를 트리에 포함시키는 단계 이후에,
상기 새로운 노드가 상기 다음 주행 목적지인지 확인하고, 상기 다음 주행 목적지에 해당하면 상기 트리의 확장을 종료하는 단계
를 포함하는, 로봇의 지역 맵 생성 방법.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.
상기 다음 주행 목적지로 설정하는 단계는,
상기 로봇이 스캔 가능한 범위인 대역폭의 외부에 위치한 적어도 하나의 지점들을 필터링하는 단계,
필터링된 지점들을 제외한 상기 대역폭의 내부에 위치한 나머지 지점들을 후보 중심점들로 추출하는 단계, 그리고
상기 후보 중심점들 중 어느 하나의 중심점을 상기 다음 주행 목적지로 설정하는 단계
를 포함하는, 로봇의 지역 맵 생성 방법.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.
상기 다음 주행 목적지로 설정하는 단계는,
상기 후보 중심점들 각각의 이득 계산을 통해, 상기 다음 주행 목적지로 설정하는, 로봇의 지역 맵 생성 방법.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.
상기 실내 맵으로 생성하는 단계는,
상기 복수의 로봇들로부터 지역 맵을 모두 수신하였는지 확인하는 단계,
특정 로봇으로부터 지역 맵이 전송되지 않았다면, 상기 특정 로봇에 할당한 영역 정보와, 상기 특정 로봇이 탐지하는 영역 내에서 미탐지 영역을 확인하는 단계, 그리고
대기 영역에 위치한 적어도 하나의 로봇 중 어느 하나의 로봇으로 상기 미탐지 영역의 일부 영역을 탐지하도록 상기 미탐지 영역을 재 할당하는 단계
를 포함하는, 실내 맵 생성 방법.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.
상기 미탐지 영역을 재 할당하는 단계는,
상기 미탐지 영역 중 상기 특정 로봇의 센싱 범위를 벗어난 영역을 상기 어느 하나의 로봇에 재 할당하는, 실내 맵 생성 방법.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.
상기 프로세서는,
상기 점유 격자 맵 상의 토픽 메시지와 상기 매핑 영역 정보에 포함된 매핑 범위를 나타내는 토픽 메시지를 기초로 상기 경계면의 지점을 추출하는, 로봇.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.
상기 프로세서는,
상기 초기 위치를 기준으로 주변의 복수의 노드들 중 임의 노드를 샘플링하고, 상기 임의 노드에서 가장 가까운 노드를 검출한 후 상기 임의 노드와 상기 가장 가까운 노드 사이에 새로운 노드를 생성하는, 로봇.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.
상기 프로세서는,
상기 로봇의 주변에 장애물이 없는 경우, 상기 새로운 노드를 트리에 포함시켜 트리를 확장시키는, 로봇.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.
상기 프로세서는,
상기 로봇이 스캔 가능한 범위인 대역폭 외부에 포함된 적어도 하나의 지점들을 필터링하고, 필터링된 지점들을 제외한 나머지 지점들을 후보 중심점들로 추출하며, 후보 중심점들 중 이득 계산을 통해 어느 하나의 중심점을 상기 다음 주행 목적지로 설정하는, 로봇.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.
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)
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)
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 |
-
2021
- 2021-12-17 KR KR1020210181799A patent/KR102692853B1/en active IP Right Grant
Patent Citations (3)
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)
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 |