KR20130133591A - A method and apparatus for segmenting a grid map into a plurality of rooms - Google Patents

A method and apparatus for segmenting a grid map into a plurality of rooms Download PDF

Info

Publication number
KR20130133591A
KR20130133591A KR1020120056975A KR20120056975A KR20130133591A KR 20130133591 A KR20130133591 A KR 20130133591A KR 1020120056975 A KR1020120056975 A KR 1020120056975A KR 20120056975 A KR20120056975 A KR 20120056975A KR 20130133591 A KR20130133591 A KR 20130133591A
Authority
KR
South Korea
Prior art keywords
virtual
coordinates
rooms
grid map
doors
Prior art date
Application number
KR1020120056975A
Other languages
Korean (ko)
Other versions
KR102068745B1 (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 KR1020120056975A priority Critical patent/KR102068745B1/en
Publication of KR20130133591A publication Critical patent/KR20130133591A/en
Application granted granted Critical
Publication of KR102068745B1 publication Critical patent/KR102068745B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • G06T3/14

Abstract

According to a method and an apparatus for segmenting a grid map with a multiple rooms from the present invention, the grid map can be marked off with an optimized form of multiple rooms. The method and apparatus for segmenting the grid map of the present invention with multiple rooms can process an erosion of the grid map according to different of levels, the most frequently room number out of all the room numbers obtained according to the erosion results can be selected. The grid map can be changed based on the selected room number, and therefore, the grid map can be marked off and segmented with the optimized forms of multiple rooms. [Reference numerals] (202) Perform erosion according to multiple levels about grid map;(204) Select the number of most frequently obtained rooms among the number of rooms obtained by erosion result;(206) Transform grid map based on the selected number of rooms;(AA) START;(BB) END

Description

그리드 맵을 복수개의 룸으로 구획하는 방법 및 장치{A METHOD AND APPARATUS FOR SEGMENTING A GRID MAP INTO A PLURALITY OF ROOMS}A METHOD AND APPARATUS FOR SEGMENTING A GRID MAP INTO A PLURALITY OF ROOMS}

본 발명은 그리드 맵(Grid map)을 구획하는 방법 및 장치로서, 보다 구체적으로는 그리드 맵에 최적화된 방식으로 맵을 복수개의 룸(Rooms)으로 구획하는 방법 및 장치에 대한 것이다.The present invention relates to a method and apparatus for partitioning a grid map, and more particularly, to a method and apparatus for partitioning a map into a plurality of rooms in a manner optimized for a grid map.

그리드 맵(Grid)은 특정 공간 영역을 복수개의 셀(Cell)로 표현한 지도로서 다양한 산업 영역에서 사용된다. 일례로서 이동 로봇 청소기는 집의 실내 공간을 표현하는 그리드 맵을 이용하여 집의 실내 공간에 대한 이동 경로를 설정하고 설정된 이동 경로에 따라 청소를 수행할 수 있다. The grid map is a map representing a specific spatial region as a plurality of cells and is used in various industrial regions. As an example, the mobile robot cleaner may set a moving path for the indoor space of the home by using a grid map representing the indoor space of the home and perform cleaning according to the set moving path.

또한, 그리드 맵의 토폴로지를 분석하고 구조화하는 경우 더 효과적으로 해당 그리드 맵을 사용할 수 있는데, 일례로서 해당 그리드 맵을 복수개의 서브 영역으로 구획하여 구획된 서브 영역에 따라 해당 그리드 맵을 사용하는 것이다. 예를 들어, 집의 실내 공간을 표현하는 그리드 맵을 분석하여 해당 집의 실내 공간을 복수개의 룸으로 구획하는 경우, 이동 로봇 청소기는 구획된 복수개의 룸 각각에 대하여, 특정 룸에 대한 청소만을 실시한다거나 특정 방을 모니터링하는 것과 같은 동작을 수행할 수 있다.In addition, when analyzing and structuring the topology of the grid map, the grid map may be used more effectively. For example, the grid map may be divided into a plurality of sub areas, and the grid map may be used according to the partitioned sub areas. For example, when a grid map representing an indoor space of a house is analyzed and the indoor space of the home is partitioned into a plurality of rooms, the mobile robot cleaner only cleans a specific room for each of the divided rooms. You can do something like monitor a particular room.

위와 같은 그리드 맵을 구획하는 작업은 컴퓨터에 의해 자동으로 수행될 수 있는데, 이 때 중요한 문제 가운데 하나가 가장 정확한 형태로 그리드 맵을 구획하는 것이다. 보다 구체적으로, 그리드 맵을 구획하고자 할 때 룸의 개수가 몇 개가 되도록 구획하는 것이 가장 최적이며, 룸과 룸을 연결지어주는 지점 즉 가장 도어(virtual door)의 위치는 어디로 인식하는 것이 최적인지 등은 그리드 맵 구획에 있어야 중요한 문제가 된다.Partitioning the grid map as described above can be performed automatically by a computer, and one of the important problems is partitioning the grid map in the most accurate form. More specifically, when the grid map is to be partitioned, it is most optimal to partition the number of rooms so that the point connecting the rooms, that is, the location of the virtual door, is best to recognize. Must be in the grid map compartment to be an important issue.

본 발명의 일 실시예는 그리드 맵(Grid map)을 복수개의 룸(Room)으로 구획함에 있어서, 최적의 형태로 그리드 맵을 구획하는 방법 및 장치를 제공한다.An embodiment of the present invention provides a method and apparatus for partitioning a grid map in an optimal form in partitioning a grid map into a plurality of rooms.

상기 해결하고자 하는 과제를 달성하기 위해, 본 발명의 일 실시예에 따른 그리드 맵(Grid map)을 복수 개의 룸(Room)으로 구획하는 방법은 상기 그리드 맵에 대하여 복수개의 레벨들에 따라 침식을 수행하는 단계; 상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 룸 개수들 중, 가장 빈번하게 획득된 룸 개수를 선택하는 단계; 및 상기 선택된 룸 개수에 기초하여, 상기 그리드 맵을 변형하는 단계;를 포함하는 것을 포함한다.In order to achieve the problem to be solved, the method for partitioning a grid map (grid) into a plurality of rooms according to an embodiment of the present invention performs erosion according to a plurality of levels with respect to the grid map Making; Selecting the number of rooms most frequently obtained from the number of rooms acquired for each level according to the erosion result; And modifying the grid map based on the selected number of rooms.

일 실시예에 따라 상기 그리드 맵을 구획하는 방법은 상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어(virtual door)의 개수들 중, 상기 선택된 룸 개수에 기초하여 가장 빈번하게 획득되는 가상 도어의 개수를 선택하는 단계;를 더 포함할 수 있다.According to an embodiment, the method of partitioning the grid map may include virtually most frequently obtained based on the selected number of rooms among virtual doors obtained for each level according to a result of the erosion. The method may further include selecting a number of doors.

일 실시예에 따라 상기 그리드 맵을 구획하는 방법은 상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 개수들 중, 상기 선택된 룸 개수에 기초하여 가상 도어의 개수를 선택하는 단계;를 더 포함하고, 상기 선택되는 가상 도어의 개수는 다음 수식으로 계산되는 N 이하인 것을 특징으로 할 수 있다.According to an embodiment, the method of partitioning the grid map may include selecting a number of virtual doors based on the selected number of rooms from among the number of virtual doors obtained for each level according to the erosion result. In addition, the number of the selected virtual door may be characterized in that the N or less calculated by the following formula.

N = n(n-1)/2N = n (n-1) / 2

(N: 선택되는 가상 도어 개수의 최대값, n: 선택된 룸 개수)(N: maximum number of virtual doors selected, n: number of selected rooms)

일 실시예에 따라 상기 그리드 맵을 구획하는 방법은 상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 좌표들로부터, 상기 선택된 룸 개수 및 상기 선택된 가상 도어의 개수에 기초하여, 적어도 하나의 가상 도어의 좌표를 결정하는 단계;를 더 포함할 수 있다.According to an embodiment, the method of partitioning the grid map may include at least one based on the selected number of rooms and the selected number of virtual doors, based on the coordinates of the virtual doors obtained for the respective levels according to a result of the erosion. Determining the coordinates of the virtual door of the; may further include.

일 실시예에 따라 상기 그리드 맵을 구획하는 방법은 상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 방향들 중, 상기 선택된 룸 개수, 상기 선택된 가상 도어의 개수, 상기 선택된 적어도 하나의 가상 도어의 좌표에 기초하여 상기 선택된 적어도 하나의 가상 도어의 방향을 결정하는 단계;를 더 포함할 수 있다.According to an embodiment, the method of partitioning the grid map may include the selected number of rooms, the number of selected virtual doors, and the selected at least one of directions of a virtual door obtained for each level according to a result of the erosion. The method may further include determining a direction of the selected at least one virtual door based on the coordinates of the virtual door.

일 실시예에 따라 상기 적어도 하나의 가상 도어의 좌표를 결정하는 단계는, 상기 침식 수행 결과 획득되는 가상 도어들 중 제1 가상 도어의 좌표와 제2 가상 도어의 좌표에 대하여, 상기 제1 가상 도어의 좌표와 상기 제2 가상 도어의 좌표의 차이가 소정의 값 이하인 경우 상기 제1 가상 도어와 상기 제2 가상 도어는 서로 근접하는 것으로 결정하는 것을 특징으로 할 수 있다..The determining of the coordinates of the at least one virtual door may include determining the coordinates of the first virtual door and the coordinates of the second virtual door among the virtual doors obtained as a result of the erosion. When the difference between the coordinates of the and the second virtual door is less than a predetermined value may be determined that the first virtual door and the second virtual door is close to each other.

일 실시예에 따라 상기 적어도 하나의 가상 도어의 좌표를 결정하는 단계는, 상기 생성되는 침식 수행 결과 각 레벨들에 따라 획득되는 가상 도어들 중 다른 가상 도어와 좌표가 동일하거나 근접하는 것으로 결정되는 빈도수가 높은 순위에 기초하여 적어도 하나의 가상 도어의 좌표를 결정하는 것을 특징으로 할 수 있다.The determining of the coordinates of the at least one virtual door according to an embodiment may include: a frequency in which coordinates of the at least one virtual door are determined to be the same as or close to another virtual door among the virtual doors acquired according to the levels. May determine the coordinates of the at least one virtual door based on the high rank.

일 실시예에 따라 상기 적어도 하나의 가상 도어의 좌표를 결정하는 단계는, 상기 생성되는 침식 수행 결과 각 레벨들에 따라 획득되는 가상 도어들 중 다른 가상 도어와 좌표가 동일하거나 근접하는 것으로 결정되는 가상 도어들의 좌표들의 평균을 이용하여 적어도 하나의 가상 도어의 좌표를 결정하는 것을 특징으로 할 수 있다.The determining of the coordinates of the at least one virtual door according to an embodiment may include: determining that the coordinates of the at least one virtual door are the same as or close to the other virtual door among the virtual doors acquired according to the levels as a result of the erosion. The average of the coordinates of the doors may be used to determine the coordinates of at least one virtual door.

일 실시예에 따라 상기 그리드 맵을 구획하는 방법은 상기 그리드 맵을 변형하는 단계는, 상기 선택된 가상 도어 개수, 상기 선택된 적어도 하나의 가상 도어의 좌표, 및 상기 결정된 적어도 하나의 가상 도어의 방향에 기초하여 상기 그리드 맵을 변형하는 것을 특징으로 할 수 있다.According to an embodiment, the method of partitioning the grid map may further include modifying the grid map based on the selected number of virtual doors, coordinates of the selected at least one virtual door, and the determined direction of the at least one virtual door. The grid map may be modified.

상기 해결하고자 하는 과제를 달성하기 위해, 본 발명의 일 실시예에 따른 그리드 맵을 구획하는 장치는 적어도 하나의 메모리; 상기 적어도 하나의 메모리에 포함된 프로그램을 실행하는 적어도 하나의 프로세서;를 포함하고, 상기 프로그램은 그리드 맵에 대하여 복수개의 레벨들에 따라 침식을 수행하는 단계; 상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 룸 개수들 중, 가장 빈번하게 획득된 룸 개수를 선택하는 단계; 및 상기 선택된 룸 개수에 기초하여, 상기 그리드 맵을 변형하는 단계;를 수행하는 명령어들을 포함할 수 있다.In order to achieve the object to be solved, an apparatus for partitioning a grid map according to an embodiment of the present invention comprises at least one memory; At least one processor that executes a program included in the at least one memory; the program comprising: performing erosion according to a plurality of levels with respect to a grid map; Selecting the number of rooms most frequently obtained from the number of rooms acquired for each level according to the erosion result; And modifying the grid map based on the selected number of rooms.

또한, 상기 해결고자 하는 과제를 달성하기 위한 본 발명은 본 발명의 실시예들의 그리드 맵을 복수개의 룸으로 구획하는 방법을 포함하는 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 포함한다.The present invention also provides a computer readable recording medium having recorded thereon a program including a method of partitioning a grid map of embodiments of the present invention into a plurality of rooms.

전술한 본 발명의 과제 해결 수단에 의하면, 그리드 맵(Grid Map)을 복수개의 룸(Room)으로 구획함에 있어서, 룸 개수 및 가상 도어(Virtual Door) 위치 등과 관련하여 최적의 형태로 그리드 맵을 구획할 수 있는 방법 및 장치를 제공할 수 있다.According to the above-described problem solving means of the present invention, in partitioning the grid map (Grid Map) into a plurality of rooms, the grid map is partitioned in an optimal form with respect to the number of rooms and the position of the virtual door (Virtual Door), etc. It can provide a method and apparatus that can be.

도 1은 종래 기술에 따른 그리드 맵(Grid map)의 일례를 도시한 것이다.
도 2A는 본 발명의 일 실시예에 따른 그리드 맵을 복수개의 룸(Room)으로 구획하는 방법을 나타내는 흐름도이다.
도 2B는 본 발명의 다른 실시예에 따른 그리드 맵을 복수개의 룸으로 구획하는 방법을 나타내는 흐름도이다.
도 2C는 본 발명의 또 다른 실시예에 따른 그리드 맵을 복수개의 룸으로 구획하는 방법을 나타내는 흐름도이다.
도 2D는 도 3C에서 획득된 룸 개수, 가상 도어의 개수, 좌표, 방향에 기초하여 그리드 맵을 구획하는 단계를 보다 구체적으로 도시한 흐름도이다.
도 3A는 실내 공간을 표시하는 그리드 맵의 일례를 도시한 것이다.
도 3B 내지 3J는 본 발명의 일 실시예에 따른 그리드 맵을 복수개의 룸으로 구획하는 과정에서 생성되는 맵 또는 도형을 도시한 것이다.
도 4는 본 발명의 일 실시예에 따라 그리드 맵을 구획함에 있어서, 침식 레이어(Layer)의 개수에 따라 결과적으로 생성되는 룸의 개수를 상관 그래프로 도시한 것이다.
도 5는 본 발명의 일 실시예에 따라 구획된 그리드 맵을 사용자가 이용하는 일 실시예를 도시한 것이다.
1 shows an example of a grid map according to the prior art.
2A is a flowchart illustrating a method of dividing a grid map into a plurality of rooms according to an embodiment of the present invention.
2B is a flowchart illustrating a method of partitioning a grid map into a plurality of rooms according to another embodiment of the present invention.
2C is a flowchart illustrating a method of partitioning a grid map into a plurality of rooms according to another embodiment of the present invention.
FIG. 2D is a flowchart illustrating in more detail a step of partitioning the grid map based on the number of rooms, the number of virtual doors, coordinates, and directions obtained in FIG. 3C.
3A shows an example of a grid map displaying an indoor space.
3B to 3J illustrate a map or a figure generated in a process of partitioning a grid map into a plurality of rooms according to an embodiment of the present invention.
FIG. 4 illustrates a correlation graph of the number of rooms generated according to the number of eroding layers in partitioning a grid map according to an exemplary embodiment of the present invention.
FIG. 5 illustrates an embodiment in which a user uses a partitioned grid map according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.도 1은 종래 기술에 따른 그리드 맵(Grid map)의 일례를 도시한 것이다. 도 1에 따른 그리드 맵은 복수의 셀(Cell)로 구성되어 있다. 하나의 셀의 크기는 일례로 40cm x 40cm 일 수 있다. 복수의 셀 중, 셀(102)은 장애물이 존재하는 위치를 나타내는 셀이다. 셀(103)은 장애물로 둘러싸인 공간을 나타내는 셀이다. 셀(101)은 장애물 외부의 공간을 나타내는 셀이다. 로봇(104)은 이동하면서 장애물 셀(102)의 위치를 파악하여 그리드 맵을 생성하거나, 생성된 그리드 맵을 이용하여 특정 영역에서 특정 업무를 수행할 수 있다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. FIG. 1 shows an example of a grid map according to the prior art. The grid map according to FIG. 1 is composed of a plurality of cells. The size of one cell may be, for example, 40 cm x 40 cm. Among the plurality of cells, the cell 102 is a cell indicating a position where an obstacle exists. The cell 103 is a cell representing a space surrounded by obstacles. The cell 101 is a cell representing a space outside the obstacle. The robot 104 may generate a grid map by detecting the position of the obstacle cell 102 while moving, or perform a specific task in a specific area by using the generated grid map.

도 2A는 본 발명의 일 실시예에 따라 맵 세그멘테이션(Map segmentation)을 수행하는 장치가 그리드 맵을 복수개의 룸으로 구획하는 방법을 나타내는 흐름도이다. 2A is a flowchart illustrating a method of dividing a grid map into a plurality of rooms by an apparatus for performing map segmentation according to an embodiment of the present invention.

단계(202)에서 장치는 그리드 맵에 대하여 복수개의 레벨에 따라 침식을 수행한다.In step 202, the device erodes the grid map according to a plurality of levels.

단계(204)에서 장치는 상기 침식을 수행한 결과 각각의 침식 레벨에 따라 획득되는 룸 개수들 중 가장 빈번하게 획득된 룸개수를 선택한다.In step 204, the device selects the number of rooms most frequently obtained from the number of rooms obtained according to each level of erosion as a result of performing the erosion.

단계(206)에서 장치는 상기 선택된 룸 개수에 기초하여, 상기 그리드 맵을 변형한다.In step 206 the device transforms the grid map based on the selected number of rooms.

도 2B는 본 발명의 일 실시예에 따라 그리드 맵을 복수개의 룸으로 구획하는 방법을 나타내는 흐름도이다. 이하에서는 도 2A의 흐름도에 따라 그리드 맵을 구획하는 방법을 설명함에 있어서, 도 3A 내지 도 3J가 인용될 수 있다. 도 3A는 실내 공간을 표시하는 그리드 맵(301)의 일례를 도시한 것이다. 2B is a flowchart illustrating a method of partitioning a grid map into a plurality of rooms according to an embodiment of the present invention. Hereinafter, in describing a method of partitioning a grid map according to the flowchart of FIG. 2A, FIGS. 3A to 3J may be cited. 3A shows an example of a grid map 301 displaying an indoor space.

단계(212)에서 장치는 도 3A의 그리드 맵(301)로부터 안쪽으로 소정의 레벨만큼 침식을 수행하여 도 3C의 내부 공간(Inside space)(303)을 생성한다. 일 실시예에 따라, 침식을 수행하는 소정의 레벨은 셀 하나의 폭을 가지는 한 개의 레이어(layer)일 수 있다. 다른 실시예에 따라, 침식을 수행하는 소정의 레벨은 사용자에 의해 설정되는 특정 수치의 폭을 가지는 한 개의 레이어일 수 있다. 도 4A, 4C, 4E를 를 참조하면, 도 4A의 내부 공간(410)은 침식 레벨이 22개의 레이어인 경우에 생성되는 내부 공간이고, 도 4C의 내부 공간(420)은 침식 레벨이 23개의 레이어인 경우에 생성되는 내부 공간이고, 도 4E의 내부 공간(430)은 침식 레벨이 15개의 레이어인 경우에 생성되는 내부 공간이다. 이 때, 침식을 수행하는 레벨의 정도가 적절하게 결정되어야 도 3A의 그리드 맵을 최적의 형태로 구획할 수 있다.In step 212 the device erodes inwardly from the grid map 301 of FIG. 3A by a predetermined level to create the inner space 303 of FIG. 3C. According to one embodiment, the predetermined level of erosion may be one layer having a width of one cell. According to another embodiment, the predetermined level of erosion may be one layer having a width of a particular value set by the user. 4A, 4C, and 4E, the interior space 410 of FIG. 4A is an interior space created when the erosion level is 22 layers, and the interior space 420 of FIG. 4C is 23 layers with erosion levels. Is an internal space created when is, and the internal space 430 of FIG. 4E is an internal space created when the erosion level is 15 layers. At this time, the level of the erosion level must be properly determined so that the grid map of FIG. 3A can be partitioned into an optimal shape.

단계(214)에서 장치는 침식을 통하여 생성된 내부 공간 (303)으로부터 룸의 개수를 확인한다. In step 214 the device checks the number of rooms from the interior space 303 created through erosion.

단계(216)에서 장치는 단계(214)에서 획득된 룸의 개수가 적어도 한 개인지를 판단한다. In step 216 the device determines whether the number of rooms acquired in step 214 is at least one person.

낮은 침식 레벨에 따라 그리드 맵(301)에 대해 침식을 수행하는 경우, 도 4E의 내부 공간(430)에서와 같이 내부 공간(430)에 포함되는 룸은 한 개가 될 수 있다. 침식 레벨이 점차적으로 높아지면, 룸의 개수는 도 4A 또는 4B에서와 같이 두 개가 될 수 있다. 또 다른 침식 레벨에 따라서는, 룸의 개수가 두 개 이상이 될 수도 있다. 또한, 침식 레벨이 특정 수준 이상으로 높은 경우, 그리드 맵(301) 전체에 대하여 침식이 수행되어 내부 공간(303)이 생성될 수 없게 되며, 이 때 룸의 개수는 0 개라고 할 수 있다. When eroding the grid map 301 according to the low erosion level, there may be one room included in the interior space 430, as in the interior space 430 of FIG. 4E. If the erosion level is gradually increased, the number of rooms may be two, as in FIG. 4A or 4B. According to another erosion level, the number of rooms may be two or more. In addition, when the erosion level is higher than a certain level, the erosion is performed on the entire grid map 301 so that the internal space 303 cannot be generated, and the number of rooms may be zero.

단계(216)에서 생성된 내부 공간(303)에 포함되는 룸의 개수가 적어도 한 개인 것으로 판단하는 경우, 장치는 단계(218)을 수행하고, 그렇지 않은 경우 장치는 단계(220)을 수행한다.If it is determined that the number of rooms included in the interior space 303 created in step 216 is at least one, the device performs step 218; otherwise, the device performs step 220.

단계(218)에서 장치는 소정의 레벨을 증가시킨다. 장치는 침식에 사용되는 레이어의 개수를 증가시킴으로써 소정의 레벨을 증가시킬 수 있다.In step 218 the device increases the predetermined level. The device may increase the predetermined level by increasing the number of layers used for erosion.

장치가 단계(218)을 수행하고 나면, 장치는 이어서 증가된 소정의 레벨에 따라 단계(212) 내지 단계(216)을 다시 수행한다. After the device performs step 218, the device then performs steps 212 through 216 again according to the increased predetermined level.

단계(212) 내지 단계(218)에서 소정의 침식 레벨을 증가시켜가며 각 레벨에 따른 룸 개수들을 획득하는 방법은 여러 침식 레벨들 각각에 대하여 룸 개수들을 획득하는 일 실시예일 뿐이며, 다른 다양한 방법으로 여러 침식 레벨들 각각에 대하여 룸 개수를 획득할 수 있다. 다른 실시예에서 장치는 소정의 침식 레벨을 감소시켜가면서 각 침식 레벨에 따라 룸 개수를 확인할 수 있다. 또 다른 실시예에서 장치는 사용자가 정의한 복수의 침식 레벨들 각각에 대하여 임의의 순서로 침식을 수행하여 룸 개수를 획득할 수 있다. 또 다른 실시예에서 장치는 사용자가 정의한 복수의 침식 레벨들 각각에 대하여 사용자가 정의한 순서로 침식을 수행하여 룸 개수를 획득할 수 있다. 당업자는 앞에서 소개된 방법을 포함하여 기타 다양한 방법으로 여러 침식 레벨들 각각에 따라 룸 개수를 획득하는 것이 가능하다는 것을 이해한다.The method of increasing the predetermined erosion levels in steps 212 to 218 and acquiring the number of rooms according to each level is only one embodiment of acquiring the number of rooms for each of the various erosion levels. The number of rooms can be obtained for each of several erosion levels. In another embodiment, the device can determine the number of rooms according to each erosion level while decreasing the predetermined erosion level. In another embodiment, the device may acquire the number of rooms by performing erosion in any order for each of the plurality of erosion levels defined by the user. In another embodiment, the device may acquire the number of rooms by performing erosion in the order defined by the user for each of the plurality of erosion levels defined by the user. Those skilled in the art understand that it is possible to obtain the number of rooms according to each of the various erosion levels in a variety of other ways, including the methods introduced above.

단계(220)에서 장치는 단계(214)에서 각 침식 레벨에 따라 획득된 룸의 개수들 중 하나를 그리드 맵(301)을 구획하기 위한 최종적인 룸 개수로 선택한다. 일 실시예에 따라서, 장치는 단계(214)에서 각 침식 레벨에 따라 획득된 룸의 개수들 중 가장 빈번하게 획득된 룸 개수를 선택할 수 있다.In step 220 the device selects one of the number of rooms acquired according to each erosion level in step 214 as the final number of rooms for partitioning the grid map 301. According to one embodiment, the device may select at step 214 the number of rooms acquired most frequently among the number of rooms acquired according to each erosion level.

단계(222)에서 장치는 단계(220)에서 선택된 룸 개수에 기초하여 그리드 맵(301)을 구획한다. 일 실시예에 따라 장치는 그리드 맵(301)의 내부 셀들의 좌표 정보와 단계(220)에서 선택된 룸 개수에 기초하여 그리드 맵(301)을 구획할 수 있다.In step 222 the device partitions the grid map 301 based on the number of rooms selected in step 220. According to an embodiment, the device may partition the grid map 301 based on the coordinate information of the internal cells of the grid map 301 and the number of rooms selected in step 220.

도 2C는 본 발명의 다른 실시에에 따른 그리드 맵을 복수개의 룸으로 구획하는 방법을 나타내는 흐름도이다.2C is a flowchart illustrating a method of partitioning a grid map into a plurality of rooms according to another embodiment of the present invention.

단계(252)에서 장치는 도 3A의 그리드 맵(301)로부터 도 3B의 보로노이 그래프(Voronoi Graph)(302)를 생성한다. 보로노이 그래프는 주어진 메트릭 공간(Metric space)을 분해하여 표시하는 방법 중 하나인데, 보로노이 그래프의 각 선은 주어진 메트릭 공간 내에 오브젝트들(objects)들이 배치되어 있는 상태에서 특정 오브젝트까지의 거리가 다른 오브젝트까지의 거리보다 크지 않은 점들을 하나의 집합으로 구성하였을 때, 이와 같이 구성되는 점들의 집합들의 경계를 나타내는 선이다. 다시 말하면, 주어진 메트릭 공간 내의 두 개의 오브젝트에 대하여 같은 거리에 있는 중간 점들을 연결한 선이라고 할 수 있다. 본 발명에서는 도 3A 및 3B에서 굵게 도시된 외곽선들이 오브젝트들의 역할을 하고, 도 3B의 가늘게 도시된 내부의 선들이 이러한 오브젝트들에 기초하여 생성된 보로노이 그래프이다.In step 252 the device generates the Voronoi Graph 302 of FIG. 3B from the grid map 301 of FIG. 3A. The Voronoi graph is one of the methods of decomposing and displaying a given metric space. Each line of the Voronoi graph has a different distance from a specific object with objects arranged in the given metric space. When the points that are not larger than the distance to the object are configured as a set, the lines representing the boundaries of the sets of the points configured as described above are included. In other words, it is a line connecting intermediate points at the same distance to two objects in a given metric space. In the present invention, the outlines shown in bold in FIGS. 3A and 3B serve as objects, and the thinner inner lines in FIG. 3B are Voronoi graphs generated based on these objects.

단계(254)에서 장치는 도 3A의 그리드 맵(301)로부터 안쪽으로 소정의 레벨만큼 침식을 수행하여 도 3C의 내부 공간(303)을 생성한다. 단계(254)에서 침식을 수행하는 방식은 도 2B의 단계(212)에서와 같다. In step 254, the device erodes inward from the grid map 301 of FIG. 3A by a predetermined level to create the interior space 303 of FIG. 3C. The manner of performing erosion in step 254 is the same as in step 212 of FIG. 2B.

단계(252)와 단계(254)는 어느 것 하나가 다른 것보다 먼저 수행될 수도 있고, 동시에 수행될 수도 있다.Steps 252 and 254 may be performed either one before or the other.

단계(256)와 단계(258)의 동작은 도 2B의 단계(214) 및 단계(216)에서 설명한 바와 같다.The operation of steps 256 and 258 is as described in steps 214 and 216 of FIG. 2B.

단계(258)에서 장치는 생성된 내부 공간(303)에 포함되는 룸의 개수가 적어도 한 개인 것으로 판단하는 경우, 장치는 단계(260)을 수행하고, 그렇지 않은 경우 장치는 단계(270)을 수행한다.If the device determines in step 258 that the number of rooms included in the generated interior space 303 is at least one, the device performs step 260; otherwise, the device performs step 270. do.

단계(260)에서 장치는 단계(252)에서 생성된 보로노이 그래프(302)와 단계(254)에서 생성된 내부 공간(303)을 이용하여 도 3D의 형상공간(Configuration space)(304)를 생성한다. 형상공간(304)은 보로노이 그래프(302)와 내부 공간(303)을 중첩시켜 생성한다. 도 3D에서 보는 것과 같이 형상공간(304)는 내부 공간(303) 및 내부 공간(303)의 바깥쪽에 도시된 복수개의 테일(Tails)로 구성된다.In step 260 the device creates the configuration space 304 of FIG. 3D using the Voronoi graph 302 generated in step 252 and the internal space 303 generated in step 254. do. The shape space 304 is generated by overlapping the Voronoi graph 302 and the internal space 303. As shown in FIG. 3D, the shape space 304 is composed of an interior space 303 and a plurality of tails shown outside of the interior space 303.

단계(262)에서 장치는 형상공간(304)으로부터 내부 공간(303)을 빼내는 방식을 통하여 도 3E의 보로노이 테일(Voronoi tails)(305)을 생성한다. In step 262, the device generates the Voronoi tails 305 of FIG. 3E by pulling the interior space 303 out of the shape space 304.

단계(264)에서 장치는 보로노이 테일(305)로부터 도 3F의 보로노이 컷테일(306)(Voronoi cut tails)을 생성한다. 보로노이 컷테일(306)은 보로노이 테일(305)에 포함된 테일들(Tails) 중 도 3C의 내부 공간(303)과 한번만 교차하는 테일들을 삭제하고 남은 테일들만을 도시한 것이다. 도 3E 및 도 3F를 참조하면, 도 3E에 도시된 테일들 중 도 3F에 남겨진 테일은 도 3C의 내부 공간(303)과 두번 교차한 테일이며, 나머지는 모두 내부 공간(303)과 한번만 교차한 테일들이다.In step 264 the device generates the Voronoi cut tails 306 of FIG. 3F from the Voronoi tail 305. The Voronoi cuttail 306 shows only the tails remaining after deleting the tails intersecting the internal space 303 of FIG. 3C only once among the tails included in the Voronoi tail 305. Referring to FIGS. 3E and 3F, the tails left in FIG. 3F of the tails shown in FIG. 3E are the tails that intersect the interior space 303 of FIG. 3C twice, and the rest all intersect only once with the interior space 303. Tails.

단계(266)에서 장치는 생성된 보로노이 컷테일(306)로부터 가상 도어(virtual doors)에 대한 정보를 획득한다. 보다 구체적으로, 장치는 생성된 보로노이 컷테일(306)의 중간 지점으로부터 보로노이 컷테일(306)과 수직한 방향으로 소정의 길이의 선을 그려 해당 선을 가상 도어로 인식할 수 있다. 도 3G는 이와 같은 방법으로 인식된 가상 도어의 일례이다. 이와 같이 인식된 가상도어로부터 장치는 가상 도어의 개수, 좌표, 방향에 대한 정보를 획득할 수 있다.In step 266 the device obtains information about the virtual doors from the generated Voronoi cuttail 306. More specifically, the device may recognize a line as a virtual door by drawing a line having a predetermined length in a direction perpendicular to the Voronoi cuttail 306 from an intermediate point of the generated Voronoi cuttail 306. 3G is an example of a virtual door recognized in this manner. The device may obtain information on the number, coordinates, and directions of the virtual doors from the recognized virtual door.

단계(266)에서 결과적으로 획득되는 가상 도어에 대한 정보는 침식을 수행하는 레벨의 정도에 의해 영향을 받는다. 도 4A에서와 같이 22개의 레이어에 대해 침식을 수행한 경우 도 4B의 412와 같은 가상 도어가 인식되고, 도 4C에서와 같이 23개의 레이어에 대해 침식을 수행한 경우 도 4D의 422, 424와 같은 가상 도어가 인식되며, 도 4E에서와 같이 15개의 레이어에 대해 침식을 수행한 경우 도 4F의 432와 같은 가상 도어가 인식된다. 뒤에서 설명되는 바에 따르면, 23개의 레이어의 침식에 의해 획득된 도 4D의 가상 도어 424 및 15개의 레이어의 침식에 의해 획득된 도 3F의 가상 도어 432는 결과적으로 그리드 맵(301)을 구획하는 데에 적합하지 않은 가상 도어의 정보이다.Information about the virtual door that is obtained as a result in step 266 is affected by the degree of level of performing erosion. In the case of performing erosion on 22 layers as in FIG. 4A, a virtual door as in 412 of FIG. 4B is recognized, and in the case of performing erosion in 23 layers as in FIG. 4C, as in 422 and 424 in FIG. 4D. The virtual door is recognized, and when erosion is performed on 15 layers as shown in FIG. 4E, the virtual door as shown at 432 of FIG. 4F is recognized. As will be explained later, the virtual door 424 of FIG. 4D obtained by erosion of 23 layers and the virtual door 432 of FIG. 3F obtained by erosion of 15 layers consequently define the grid map 301. Information about the virtual door that is not suitable.

장치는 이어 단계(268)을 수행하여 소정의 레벨을 증가시킨다. 소정의 레벨을 증가시키는 동작은 도 2B의 단계(218)에서 설명한 바와 같다. The device then performs step 268 to increase the predetermined level. The operation of increasing the predetermined level is as described in step 218 of FIG. 2B.

장치가 단계(268)을 수행하고 나면, 장치는 이어서 증가된 소정의 레벨에 따라 단계(254) 내지 단계(258)을 다시 수행한다. After the device performs step 268, the device then performs steps 254 to 258 again according to the increased predetermined level.

단계(270)에서 장치는 단계(256)에서 각 침식 레벨에 따라 획득된 룸의 개수, 단계(266)에서 각 침식 레벨에 따라 획득된 가상 도어의 개수, 가상 도어의 좌표 및 방향에 기초하여 그리드 맵(301)을 구획한다.In step 270, the device determines the grid based on the number of rooms acquired according to each erosion level in step 256, the number of virtual doors acquired according to each erosion level in step 266, the coordinates and directions of the virtual doors. The map 301 is partitioned.

도 2D는 장치가 단계(270)에서 그리드 맵(301)을 구획하는 방법을 보다 구체적으로 도시한 것이다.2D more specifically illustrates how the device partitions grid map 301 at step 270.

단계(272)에서 장치는 단계(256)에서 각 침식 레벨에 따라 획득된 룸의 개수들 중 하나를 그리드 맵(301)을 구획하기 위한 최종적인 룸 개수로 선택한다. 일 실시예에 따라서, 장치는 단계(256)에서 각 침식 레벨에 따라 획득된 룸의 개수들 중 가장 빈번하게 획득된 룸 개수를 선택할 수 있다.In step 272 the device selects one of the number of rooms acquired according to each erosion level in step 256 as the final number of rooms for partitioning the grid map 301. According to one embodiment, the device may select the most frequently acquired room number from among the number of rooms acquired according to each erosion level in step 256.

단계(274)에서 장치는 단계(272)에서 선택된 룸 개수에 기초하여 가상 도어의 개수를 선택한다. 일 실시예에 따라, 장치는 각 침식 레벨에 따라 단계(266)에서 획득된 가상 도어의 개수들 중, 선택된 룸 개수에 기초하여 가장 빈번하게 획득된 가상 도어의 개수를 선택할 수 있다.In step 274 the device selects the number of virtual doors based on the number of rooms selected in step 272. According to one embodiment, the device may select the number of virtual doors most frequently obtained based on the number of rooms selected from among the number of virtual doors obtained in step 266 according to each erosion level.

단계(276)에서 장치는 선택된 룸 개수, 선택된 가상 도어의 개수에 기초하여 그리드 맵(301)을 구획할 최종적인 가상 도어의 좌표 및 방향을 결정할 수 있다. 일 실시예에 따라 그리드 맵(301)을 구획할 최종적인 가상 도어의 좌표는 단계(266)에서 각 침식 레벨들에 따라 획득된 가상 도어들의 좌표들로부터 결정되는 적어도 하나의 가상 도어의 좌표일 수 있다. In operation 276, the device may determine the coordinates and directions of the final virtual door to partition the grid map 301 based on the number of selected rooms and the number of selected virtual doors. According to one embodiment the coordinates of the final virtual door to partition grid map 301 may be the coordinates of at least one virtual door determined from the coordinates of the virtual doors obtained according to the respective erosion levels in step 266. have.

일 실시예에 따라, 장치는 단계(266)에서 각 침식 레벨에 따라 획득된 가상 도어의 좌표 중 서로 다른 두 개의 가상 도어의 좌표의 차이가 소정 값 이하인 경우 해당 두 가상 도어는 서로 근접하는 가상 도어인 것으로 결정할 수 있다. 예를 들어, 제1 가상 도어의 좌표가 (X1, Y1)이며, 제2 가상 도어의 좌표가 (X2, Y2)인 경우 제1 가상 도어와 제2 가상 도어의 좌표의 편차 D를 아래와 같이 정의 하고,According to an embodiment, the apparatus may determine that the virtual doors are adjacent to each other when the difference between the coordinates of two different virtual doors among the coordinates of the virtual doors acquired according to each erosion level is less than a predetermined value in step 266. Can be determined to be. For example, when the coordinate of the first virtual door is (X1, Y1) and the coordinate of the second virtual door is (X2, Y2), the deviation D of the coordinates of the first virtual door and the second virtual door is defined as follows. and,

Figure pat00001
Figure pat00001

D가 소정의 값 이하인 경우 두 가상 도어는 서로 근접한 가상 도어인 것으로 결정할 수 있다.When D is less than or equal to a predetermined value, the two virtual doors may be determined to be virtual doors in close proximity to each other.

일 실시예에 따라서, 장치는 단계(276)에서 최종적인 가상 도어의 좌표를 결정함에 있어서, 각 침식 레벨에 따라 획득된 가상 도어들 중 서로 좌표가 동일하거나 근접한 좌표를 가진 것으로 결정되는 빈도수가 높은 순위에 기초하여 최종적으로 그리드 맵(301)을 구획할 적어도 하나의 가상 도어의 좌표를 결정할 수 있다.According to one embodiment, in determining the coordinates of the final virtual door in step 276, the apparatus has a high frequency of determining that the virtual doors obtained according to each erosion level have the same or closest coordinates to each other. Based on the ranking, the coordinates of at least one virtual door to finally partition the grid map 301 may be determined.

단계(278)에서 장치는 단계(272)에서 선택된 룸 개수, 단계(274)에서 선택된 가상 도어의 개수, 및 단계(276)에서 선택된 적어도 하나의 가상도어의 좌표 및 방향에 따라 그리드 맵(301)을 구획한다. 일례로서, 도 3H는 도 3G에서 결정된 가상 도어의 좌표 및 방향에 기초하여 그리드 맵(301)을 구획한 것이다.In step 278 the device determines the grid map 301 according to the number of rooms selected in step 272, the number of virtual doors selected in step 274, and the coordinates and directions of the at least one virtual door selected in step 276. Section. As an example, FIG. 3H partitions the grid map 301 based on the coordinates and directions of the virtual doors determined in FIG. 3G.

표 1는 본 발명에 따라 그리드 맵(301)에 대하여 여러 침식 레벨에 따라 침식을 수행하여 획득된 룸 개수 및 가상도어의 개수의 일례를 표로서 나타낸 것이다. 표 1에서 침식 레벨은 침식되는 레이어의 개수로서 표시되었다.Table 1 shows an example of the number of rooms and the number of virtual doors obtained by performing erosion according to various erosion levels on the grid map 301 according to the present invention. In Table 1 the erosion level is indicated as the number of layers eroded.

침식 레이어의 개수Number of erosion layers 획득되는 룸 개수Number of rooms acquired 획득되는 가상 도어의 개수Number of virtual doors acquired 획득되는 룸 개수의 빈도수Frequency of number of rooms acquired 1One 1One 1One 15회15th 22 1One 00 33 1One 00 44 1One 00 55 1One 00 66 1One 00 77 1One 1One 88 1One 1One 99 1One 00 1010 1One 00 1111 1One 00 1212 1One 1One 1313 1One 00 1414 1One 00 1515 1One 1One 1616 22 1One 21회21 times 1717 22 1One 1818 22 33 1919 22 33 2020 22 1One 2121 22 1One 2222 22 1One 2323 22 22 2424 22 33 2525 22 22 2626 22 1One 2727 22 22 2828 22 1One 2929 22 1One 3030 22 22 3131 22 1One 3232 22 22 3333 22 33 3434 22 22 3535 22 22 3636 22 33 3737 33 33 3회3rd time 3838 33 33 3939 33 22 4040 1One 1One 4회4 times 4141 1One 00 4242 1One 1One 4343 1One 1One 4444 00 00 1회1 time

도 5는 표 1의 데이터를 침식 레이어의 개수에 따라 생성되는 룸 개수의 상관관계를 나타내는 그래프로 도시한 것이다.FIG. 5 is a graph illustrating the correlation of the number of rooms generated according to the number of erosion layers.

표 1 및 도 5에 따르면, 그리드 맵(301)에서 한 개의 레이어에 대해 침식을 수행했을 때 획득되는 룸 개수는 한 개이다. 침식 레이어의 개수가 증가할수록 획득되는 룸 개수는 점차 증가하는데, 16개의 레이어에 대해 침식을 수행하면 룸 개수는 두 개가 획득되고, 37개의 레이어에 대해 침식을 수행하면 룸 개수는 세 개가 획득된다. 또한, 침식 레이어의 개수가 44개가 되면 그리드맵(301)의 내부 공간 전체가 침식되어 획득되는 룸 개수는 0개가 된다. According to Table 1 and FIG. 5, the number of rooms obtained when eroding one layer in the grid map 301 is one. As the number of erosion layers increases, the number of rooms acquired gradually increases. When erosion is performed on 16 layers, two rooms are obtained. When erosion is performed on 37 layers, three rooms are obtained. In addition, when the number of erosion layers is 44, the total number of rooms obtained by eroding the entire internal space of the grid map 301 is zero.

장치는 위와 같은 결과 데이터에 기초하여 가장 빈번하게 획득된 룸 개수를 선택한다. 표 1에서의 경우, 룸 개수가 한 개인 것으로 획득된 경우의 수는 총 19회, 룸 개수가 두 개인 것으로 획득된 경우의 수는 총 21회, 룸 개수가 세 개인 것으로 획득된 경우의 수는 총 3회, 룸 개수가 0인 것으로 획득된 경우의 수는 총 1회이다. 이에 대해, 장치는 가장 빈번하게 획득된 룸 개수를 선택하므로 룸 개수는 두 개인 것으로 선택한다. The device selects the number of rooms most frequently obtained based on the result data as above. In the case of Table 1, the number of cases in which the number of rooms is obtained as one is 19 times, the number of cases in which the number of rooms is obtained as two rooms is 21, and the number of cases in which the number of rooms is three is Three times, the number of cases obtained by the number of rooms is zero is a total of one time. In this regard, the device selects the number of rooms most frequently obtained, so the number of rooms is two.

일 실시예에 따라서, 장치는 위와 같은 결과 데이터에 기초하여 가장 빈번하게 연속적으로 획득된 룸 개수를 선택할 수 있다. 예를 들어, 룸 개수가 한 개인 것으로 획득된 총 경우의 수가 22회이고, 룸 개수가 두 개인 것으로 획득된 경우의 수가 총 21회인 경우라 하더라도, 룸 개수가 두 개인 것으로 획득된 경우는 모두 침식 레이어의 개수가 증가함에 따라 연속적으로 획득된 결과인 반면, 룸 개수가 한 개인 것으로 획득된 경우는 침식 레이어의 개수가 소정의 개수 이하인 경우에 발생한 경우 획득된 것과 또 다른 소정의 개수 이상인 경우 획득된 것을 모두 합한 결과라고 한다면, 장치는 가장 빈번하게 연속적으로 획득된 룸 개수를 선택하므로, 룸 개수는 두 개인 것으로 선택할 수 있다.According to one embodiment, the device may select the number of rooms acquired most frequently consecutively based on the resulting data. For example, even if the total number of cases obtained by having one room is 22 and the number of cases obtained by having two rooms is 21, the total number of cases obtained by two rooms is eroded. The result is obtained continuously as the number of layers increases, whereas when the number of rooms is one, it is obtained when the number of erosion layers is less than or equal to a predetermined number. If the sum is a result, the device selects the number of rooms acquired most frequently in succession, so the number of rooms can be selected as two.

이상에서와 같이 장치가 룸 개수를 선택하고 나면, 장치는 선택된 룸 개수에 기초하여 가상 도어의 개수를 선택하는 동작을 수행할 수 있다. 일 실시예에 따라 장치는 조합이론에 기초하여 룸 개수로부터 다음과 같은 공식을 통하여 가상 도어의 개수를 결정할 수 있다. As described above, after the device selects the number of rooms, the device may perform an operation of selecting the number of virtual doors based on the selected number of rooms. According to an embodiment, the device may determine the number of virtual doors through the following formula from the number of rooms based on the combination theory.

N = n(n-1)/2N = n (n-1) / 2

N: 가상 도어의 개수N: number of virtual doors

n: 룸 개수n: number of rooms

예를 들어, 룸 개수가 두 개인 것으로 선택되면 장치는 가상 도어의 개수는 한 개인 것으로 선택하고(N = 2(2-1)/2 = 1), 룸 개수가 세 개인 것으로 선택되면 장치는 가상 도어의 개수는 세 개인 것으로 선택한다(N = 3(3-1)/2 = 3).For example, if the number of rooms is selected as two rooms, the device selects the number of virtual doors as one (N = 2 (2-1) / 2 = 1), and if the number of rooms is selected as three rooms, the device is virtual. Choose three doors (N = 3 (3-1) / 2 = 3).

다른 실시예에서, 단계(264)에서 획득된 가상 도어의 개수 중 단계(268)에서 선택된 룸 개수에 기초하여 가장 빈번하게 획득된 가상 도어의 개수를 선택할 수 있다. 표 1을 참조할 때, 장치는 룸 개수가 두 개인 것으로 선택하게 되므로, 룸 개수가 두 개인 것으로 나타나는 경우들, 즉 16개의 레이어에 대해 침식을 수행한 경우부터 36개의 레이어에 대해 침식을 수행한 경우에 각각 획득되는 가상 도어의 개수들 중 가장 빈번하게 획득된 가상 도어의 개수를 선택할 수 있다. 아래 표 2는 표 1에서 룸 개수가 두 개인 경우들만을 별도로 표시한 것이다.In another embodiment, the number of virtual doors most frequently obtained may be selected based on the number of rooms selected in step 268 of the number of virtual doors obtained in step 264. Referring to Table 1, since the device selects two rooms, the erosion is performed on 36 layers since the rooms appear to have two rooms, that is, the erosion on 16 layers. In this case, the number of virtual doors most frequently obtained may be selected from the number of virtual doors acquired. Table 2 below shows only the cases where the number of rooms in Table 1 is two.

침식 레이어의 개수Number of erosion layers 획득되는 룸 개수Number of rooms acquired 획득되는 가상 도어의 개수Number of virtual doors acquired 획득되는 룸 개수의 빈도수Frequency of number of rooms acquired 1616 22 1One 21회21 times 1717 22 1One 1818 22 33 1919 22 33 2020 22 1One 2121 22 1One 2222 22 1One 2323 22 22 2424 22 33 2525 22 22 2626 22 1One 2727 22 22 2828 22 1One 2929 22 1One 3030 22 22 3131 22 1One 3232 22 22 3333 22 33 3434 22 22 3535 22 22 3636 22 33

표 2를 참조하면, 가상 도어의 개수가 1개인 것으로 획득되는 경우는 9번 발생하였으며, 가상 도어의 개수가 2개인 것으로 획득되는 경우는 7번 발생하였으며, 가상 도어의 개수가 3개인 것으로 획득되는 경우는 5번 발생하였다. 따라서, 장치는 가장 빈번하게 획득된 가상 도어의 개수, 즉 1개를 선택한다. Referring to Table 2, the number of virtual doors is obtained 9 times and the number of virtual doors is 9 times, and when the number of virtual doors is 7 times, the number of virtual doors is 3 The case occurred five times. Thus, the device selects the number of virtual doors most frequently obtained, namely one.

또 다른 발명에서, 장치는 선택된 룸 개수로부터 조합이론에 기초하여 획득되는 가상 도어의 개수, 즉 N = n(n-1)/2 (N은 가상 도어의 개수, n은 룸 개수)으로부터 획득되는 가상 도어의 개수를 선택할 가상 도어 개수의 후보 최대값으로 설정하고, 설정된 최대값 이하의 가상 도어 개수 중 가장 빈번하게 획득된 가상 도어의 개수를 선택할 수 있다. 표 1을 참조할 때, 이와 같은 실시예로부터 선택되는 가상 도어의 개수는 한 개이다.In another invention, the device is obtained from the number of virtual doors obtained from the selected number of rooms based on the combination theory, i.e., N = n (n-1) / 2 (N is the number of virtual doors, n is the number of rooms). The number of virtual doors may be set as a candidate maximum value of the number of virtual doors to be selected, and the number of virtual doors most frequently obtained among the number of virtual doors having a set maximum or less may be selected. Referring to Table 1, the number of virtual doors selected from this embodiment is one.

이상에서와 같이 장치가 룸 개수 및 가상 도어의 개수를 선택하고 나면, 장치는 가상 도어의 좌표를 선택하는 동작을 수행한다. 도 2B의 단계(272)에서 설명한 것과 같이 장치는 서로 다른 두 개의 가상 도어의 좌표의 차이가 소정 값 이하인 경우 해당 두 가상 도어는 서로 근접하는 가상 도어인 것으로 결정하고, 각 침식 레벨에 따라 획득된 가상 도어들 중 서로 좌표가 동일하거나 근접한 좌표를 가진 것으로 결정되는 빈도수가 높은 순위에 기초하여 적어도 하나의 가상 도어의 좌표를 결정할 수 있다. As described above, after the device selects the number of rooms and the number of virtual doors, the device performs an operation of selecting coordinates of the virtual doors. As described in step 272 of FIG. 2B, if the difference between the coordinates of two different virtual doors is less than or equal to a predetermined value, the device determines that the two virtual doors are adjacent virtual doors, and is obtained according to each erosion level. The coordinates of the at least one virtual door may be determined based on a high frequency ranking in which the coordinates of the virtual doors are determined to have the same or adjacent coordinates with each other.

표 2를 참조하여, 룸 개수가 두 개인 것으로 획득되는 각 침식 레벨에서 가상 도어의 좌표가 각각 아래 표 3과 같이 획득된 경우 장치가 최종적으로 그리드 맵(301)을 구획하는 데에 이용될 가상 도어의 좌표를 결정하는 방식에 대하여 아래에서 설명한다.Referring to Table 2, the virtual doors that will be used to finally partition the grid map 301 when the device has finally obtained the coordinates of the virtual doors at each erosion level obtained as two room numbers are obtained as shown in Table 3 below. The method of determining the coordinates of is described below.

침식 레이어의 개수Number of erosion layers 가상 도어의 X좌표X coordinate of the virtual door 가상 도어의 Y좌표Y coordinate of the virtual door 1616 384384 235235 1717 385385 235235 18

18

386386 236236
385385 357357 390390 395395 19

19

413413 232232
385385 358358 389389 394394 2020 387387 375375 2121 387387 375375 2222 387387 375375 23
23
325325 293293
387387 375375 24

24

325325 292292
428428 333333 387387 399399 25
25
428428 333333
386386 402402 2626 427427 332332 27
27
427427 332332
393393 410410 2828 385385 405405 2929 394394 405405 30
30
383383 405405
367367 481481 3131 383383 405405 32
32
406406 316316
382382 405405 33

33

405405 317317
382382 405405 351351 490490 34
34
349349 309309
381381 405405 35
35
381381 405405
345345 482482 36

36

349349 308308
380380 404404 354354 476476

위 표 3에는 총 룸 개수가 두 개인 것으로 획득되는 경우에 해당하는 16개 레이어에 대한 침식의 경우로부터 36개 레이어에 대한 침식의 경우까지 각각 획득되는 가상 도어 총 38개의 좌표가 기록되어 있다. 앞에서 살펴본 바와 같이 표 2로부터 장치가 가상 도어의 개수가 한 개인 것으로 선택하였으므로, 장치는 위 표 3에 기록된 38개의 좌표로부터 한 개의 가상 도어의 좌표를 결정한다.In Table 3 above, a total of 38 coordinates of the virtual doors acquired from the erosion of 16 layers to the erosion of 36 layers corresponding to the total number of rooms are recorded. As described above, since the device has selected one virtual door from Table 2, the device determines the coordinate of one virtual door from the 38 coordinates recorded in Table 3 above.

일 실시예에 따르면, 도 2B의 단계(272)에서 설명한 바와 같이 장치는 제1 가상 도어의 좌표와 제2 가상 도어의 좌표의 편차 D를 정의하고, 정의된 제1 가상 도어의 좌표와 제2 가상 도어의 좌표의 편차 D가 소정의 값 이하인 경우, 제1 가상 도어와 제2 가상 도어는 좌표가 동일하거나 서로 근접한 가상 도어인 것으로 결정할 수 있다. 장치는 모든 가상 도어의 좌표들에 대해 이와 같은 근접 여부에 대한 판단을 수행하여 좌표가 동일하거나 근접한 것으로 판단되는 빈도수가 높은 순위를 결정하고, 결정되는 순위에 기초하여 좌표가 동일하거나 근접한 것으로 판단되는 가상 도어들의 좌표들의 평균을 산출하여 산출된 평균값을 그리드 맵(301)을 구획할 최종적인 가상도어의 좌표로 결정할 수 있다.According to one embodiment, as described in step 272 of FIG. 2B, the device defines a deviation D of the coordinates of the first virtual door and the coordinates of the second virtual door, and defines the coordinates of the defined first virtual door and the second. When the deviation D of the coordinates of the virtual door is less than or equal to a predetermined value, the first virtual door and the second virtual door may be determined to be virtual doors having the same coordinates or close to each other. The device performs the determination of the proximity of the coordinates of all the virtual doors to determine a high frequency ranking where the coordinates are determined to be the same or close, and based on the determined ranking, the coordinates are determined to be the same or close to each other. The average value calculated by calculating the average of the coordinates of the virtual doors may be determined as the coordinates of the final virtual door to partition the grid map 301.

도 3I는 본 발명의 일 실시예에 따라, 도 3H의 구획된 그리드 맵(308)으로부터 생성된 근사화(approximation)된 모형을 도시한 것이다. 도 3I에 따르면, 장치는 구획된 그리드 맵(308)은 룸의 개수 및 좌표, 가상 도어의 개수 및 좌표에 기초하여 근사화(approximation)된 모형(309)를 생성한다.FIG. 3I illustrates an approximated model generated from the partitioned grid map 308 of FIG. 3H, in accordance with an embodiment of the present invention. According to FIG. 3I, the device generates an approximated model 309 based on the number and coordinates of the partitioned grid map 308 and the number and coordinates of the virtual doors.

일 실시예에 따라, 근사화된 모형은 도 3H의 구획된 그리드 맵(308)의 각 룸에 대응되는 직사각형들을 포함할 수 있다. 각 룸에 대응되는 직사각형들로 그리드 맵(308)을 근사화하는 경우, 장치는 해당 직사각형의 위치 및 크기, 모양을 아래와 같은 방식을 통하여 결정할 수 있다.According to one embodiment, the approximated model may include rectangles corresponding to each room of the partitioned grid map 308 of FIG. 3H. When the grid map 308 is approximated with rectangles corresponding to each room, the device may determine the position, size, and shape of the rectangle in the following manner.

1. 각각의 룸들에 대하여 번호를 붙인다 (예를 들어, k개의 룸이 존재한다고 가정한다).1. Number each room (eg, assume k rooms exist).

2. i를 특정 룸의 번호라고 할 때, 1번째 룸부터 k번째 룸까지 아래 (i) 내지 (vi) 단계를 반복한다 (for i = 1 to K do).2. When i is the number of a specific room, repeat steps (i) to (vi) below from room 1 to room k (for i = 1 to K do).

(i) i번째 룸의 중심점의 좌표(Xi, Yi)를 계산한다. (i) Calculate the coordinates (Xi, Yi) of the center point of the i-th room.

(ii) i번째 룸의 면적 Ai를 계산한다. i번째 룸의 면적은 i번째 룸에 포함되는 셀의 개수를 통하여 계산할 수 있다.(ii) Calculate the area Ai of the i-th room. The area of the i-th room may be calculated through the number of cells included in the i-th room.

(iii) i번째 룸의 평균 가로길이 Xaveragei 및 세로 길이 Yaveragei를 계산한다. Xaveragei는 i번째 룸에 포함된 셀들을 가로 방향의 라인들에 포함된 셀들로 구분할 때, 각 라인들에 포함된 셀들의 개수의 평균을 통하여 계산할 수 있다. Yaveragei 또한 세로 방향의 라인들을 이용하여 동일한 방식으로 계산할 수 있다.(iii) Calculate the average width Xaveragei and height Yaveragei of the i-th room. When Xaveragei divides cells included in the i-th room into cells included in horizontal lines, Xaveragei may calculate the average of the number of cells included in each line. Yaveragei can also be calculated in the same way using vertical lines.

(iv) 가로 방향과 세로 방향의 비율 Ri = Yaveragei/Xaveragei를 계산한다. (iv) Calculate the ratio Ri = Yaveragei / Xaveragei in the horizontal and vertical directions.

(v) Ai 및 Ri에 기초하여 i번째 룸의 가로 길이 Xlengthi 및 세로 길이 Ylengthi를 계산한다.(v) The horizontal length Xlengthi and the vertical length Ylengthi of the i-th room are calculated based on Ai and Ri.

(vi) 가로 길이가 Xlengthi이고 세로 길이가 Ylengthi이면서 중심점의 좌표가 (Xi, Yi)인 직사각형을 도시한다.(vi) Represents a rectangle whose length is Xlengthi and whose length is Ylengthi and whose coordinates are (Xi, Yi).

3. 도 2B의 단계(272)에서 획득된 가상 도어들의 좌표에 기초하여 각각의 룸에 대응되는 직사각형들을 서로 연결하는 가상도어를 나타내는 도형을 도시한다.
3. A diagram showing a virtual door connecting rectangles corresponding to each room to each other based on the coordinates of the virtual doors obtained in step 272 of FIG. 2B is shown.

도 6은 본 발명의 일 실시예에 따라, 도 3I에서 생성된 그리드 맵(301)에 대한 근사화된 모형(309)를 사용자 제어 장치의 유저인터페이스(User Interface)에 적용한 것을 도시한 것이다.FIG. 6 illustrates an application of an approximated model 309 of the grid map 301 generated in FIG. 3I to a user interface of a user control device according to an embodiment of the present invention.

도 6의 610은 사용자 제어 장치의 화면을 도시한 것이다. 612 및 614는 도 3I에서와 같이 각각의 룸들을 근사화하였을 때 각각의 룸들에 대응되는 근사화된 직사각형이다. 616은 각각의 룸들에 대응되는 근사화된 직사각형을 연결하는 가상도어를 나타내는 도형이다.610 of FIG. 6 illustrates a screen of the user control device. 612 and 614 are approximated rectangles corresponding to the respective rooms when the respective rooms are approximated as in FIG. 3I. 616 is a diagram illustrating a virtual door connecting the approximated rectangles corresponding to the respective rooms.

620에서 사용자는 610의 사용자 제어 장치 화면을 이용하여 각 룸들의 상태를 모니터링하거나 장치가 특정 룸들에 대하여 수행할 명령을 직관적으로 입력한다. 예를 들어, 사용자는 612를 터치함으로써, 장치로 하여금 612에 대응되는 룸에서 청소를 수행하도록 명령을 입력할 수 있다. 630에서 장치는 사용자의 명령에 따라 612에 대응되는 실제 공간에 이동하여 청소를 수행할 수 있다. 다른 실시예에서 장치는 610을 이용하여 특정 룸에 대한 감사, 베이비 또는 노인의 모니터링, 오락 프로그램 실행, 구조 작업, 원격 통신 중 적어도 하나일 수 있다.In 620, the user monitors the status of each room using the user control device screen of 610 or intuitively inputs a command that the device will perform for specific rooms. For example, by touching 612, the user can enter a command to cause the device to perform cleaning in the room corresponding to 612. In operation 630, the device may move to a real space corresponding to 612 and perform cleaning according to a user's command. In another embodiment, the device may be at least one of an audit of a particular room, monitoring of a baby or elderly person, running an entertainment program, rescue work, and remote communication using the 610.

도 7은 본 발명의 일 실시예에 따른 맵 세그멘테이션을 수행하는 장치(700)에 대한 개략적인 구성을 나타낸 블럭도이다. 7 is a block diagram illustrating a schematic configuration of an apparatus 700 for performing map segmentation according to an embodiment of the present invention.

도 7에 도시된 바와 같이, 본 발명에 따른 맵 세그멘테이션 장치(700)은 적어도 하나의 프로세서(710) 및 메모리(720)을 포함한다.As shown in FIG. 7, the map segmentation apparatus 700 according to the present invention includes at least one processor 710 and a memory 720.

메모리(720)은 적어도 하나의 프로그램을 포함한다. 메모리(720)에 포함되는 프로그램은 프로세서(710)에 의해 실행될 때, 프로세서(710)가 특정 동작들을 실행하도록 할 수 있다. 일 실시예에 따라, 메모리(720)에 포함되는 프로그램은 프로세서(710)에 의해 실행될 때, 프로세서(710)가 도 2A에 포함된 방법의 전체 또는 적어도 일부분을 실행하도록 할 수 있다. 다른 실시예에 따라, 메모리(720)에 포함되는 프로그램은 프로세서(710)에 의해 실행될 때, 프로세서(710) 도 2B에 포함된 방법의 전체 또는 적어도 일부분을 실행하도록 할 수 있다. 또 다른 실시예에 따라, 메모리(720)에 포함되는 프로그램은 프로세서(710)에 의해 실행될 때, 프로세서(710) 도 2C 및 도 2D에 포함된 방법의 전체 또는 적어도 일부분을 실행하도록 할 수 있다.The memory 720 includes at least one program. A program included in the memory 720 may cause the processor 710 to execute certain operations when executed by the processor 710. According to one embodiment, a program included in memory 720 may cause processor 710 to execute all or at least a portion of the method included in FIG. 2A when executed by processor 710. According to another embodiment, a program included in memory 720 may, when executed by processor 710, cause processor 710 to execute all or at least a portion of the method included in FIG. 2B. According to another embodiment, a program included in memory 720 may, when executed by processor 710, cause processor 710 to execute all or at least a portion of the methods included in FIGS. 2C and 2D.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.The above-described embodiments of the present invention can be embodied in a general-purpose digital computer that can be embodied as a program that can be executed by a computer and operates the program using a computer-readable recording medium. The computer readable recording medium may be a magnetic storage medium such as a ROM, a floppy disk, a hard disk, etc., an optical reading medium such as a CD-ROM or a DVD and a carrier wave such as the Internet Lt; / RTI > transmission).

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

Claims (19)

맵 세그멘테이션(map segmentation)을 수행하는 장치에 의하여 그리드 맵(Grid map)을 복수개의 룸(Room)으로 구획하는 방법에 있어서,
상기 그리드 맵에 대하여 복수개의 레벨들에 따라 침식을 수행하는 단계;
상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 룸 개수들 중, 가장 빈번하게 획득된 룸 개수를 선택하는 단계; 및
상기 선택된 룸 개수에 기초하여, 상기 그리드 맵을 변형하는 단계;를 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
In a method for partitioning a grid map into a plurality of rooms by a device that performs map segmentation,
Performing erosion on the grid map according to a plurality of levels;
Selecting the number of rooms most frequently obtained from the number of rooms acquired for each level according to the erosion result; And
And modifying the grid map based on the selected number of rooms.
제 1항에 있어서,
상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어(virtual door)의 개수들 중, 상기 선택된 룸 개수에 기초하여 가장 빈번하게 획득되는 가상 도어의 개수를 선택하는 단계;를 더 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
The method of claim 1,
Selecting the number of virtual doors most frequently obtained based on the selected number of rooms among the number of virtual doors obtained for each level according to the erosion performance result; How to partition a grid map characterized by.
제 1항에 있어서,
상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 개수들 중, 상기 선택된 룸 개수에 기초하여 가상 도어의 개수를 선택하는 단계;를 더 포함하고,
상기 선택되는 가상 도어의 개수는 다음 수식으로 계산되는 N 이하이며, 여기서 N은 n(n-1)/2인 것(N: 선택되는 가상 도어 개수의 최대값, n: 선택된 룸 개수)을 특징으로 하는 그리드 맵을 구획하는 방법.
The method of claim 1,
Selecting the number of virtual doors based on the selected number of rooms from among the number of virtual doors obtained for each level according to the erosion result;
The number of the selected virtual doors is equal to or less than N calculated by the following formula, where N is n (n-1) / 2 (N: maximum value of the selected virtual doors, n: number of selected rooms) How to partition a grid map.
제 2항에 있어서,
상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 좌표들로부터, 상기 선택된 룸 개수 및 상기 선택된 가상 도어의 개수에 기초하여, 적어도 하나의 가상 도어의 좌표를 결정하는 단계;를 더 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
3. The method of claim 2,
Determining coordinates of at least one virtual door based on the selected number of rooms and the number of the selected virtual doors, from the coordinates of the virtual doors obtained for each level according to the erosion performance result. And partitioning the grid map.
제 4항에 있어서,
상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 방향들 중, 상기 선택된 룸 개수, 상기 선택된 가상 도어의 개수, 상기 선택된 적어도 하나의 가상 도어의 좌표에 기초하여 상기 선택된 적어도 하나의 가상 도어의 방향을 결정하는 단계;를 더 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
5. The method of claim 4,
The at least one virtual selected based on the selected number of rooms, the number of the selected virtual doors, and the coordinates of the selected at least one virtual door among directions of the virtual doors obtained for each level according to the erosion performance result Determining a direction of the door; the method of partitioning a grid map further comprising.
제 4항에 있어서,
상기 적어도 하나의 가상 도어의 좌표를 결정하는 단계는, 상기 침식 수행 결과 획득되는 가상 도어들 중 제1 가상 도어의 좌표와 제2 가상 도어의 좌표에 대하여, 상기 제1 가상 도어의 좌표와 상기 제2 가상 도어의 좌표의 차이가 소정의 값 이하인 경우 상기 제1 가상 도어와 상기 제2 가상 도어는 서로 근접하는 것으로 결정하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
5. The method of claim 4,
The determining of the coordinates of the at least one virtual door may include: coordinates of the first virtual door and coordinates of the first virtual door with respect to the coordinates of the first virtual door and the coordinates of the second virtual door among the virtual doors obtained as a result of the erosion. And 2, when the difference between the coordinates of the virtual door is less than or equal to a predetermined value, determining that the first virtual door and the second virtual door are close to each other.
제 6항에 있어서,
상기 적어도 하나의 가상 도어의 좌표를 결정하는 단계는, 상기 생성되는 침식 수행 결과 각 레벨들에 따라 획득되는 가상 도어들 중 다른 가상 도어와 좌표가 동일하거나 근접하는 것으로 결정되는 빈도수가 높은 순위에 기초하여 적어도 하나의 가상 도어의 좌표를 결정하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
The method according to claim 6,
The determining of the coordinates of the at least one virtual door may be based on a high frequency ranking in which coordinates of the at least one virtual door are determined to be the same as or close to another virtual door among the virtual doors acquired according to the levels. Determining the coordinates of the at least one virtual door.
제 6항에 있어서,
상기 적어도 하나의 가상 도어의 좌표를 결정하는 단계는, 상기 생성되는 침식 수행 결과 각 레벨들에 따라 획득되는 가상 도어들 중 다른 가상 도어와 좌표가 동일하거나 근접하는 것으로 결정되는 가상 도어들의 좌표들의 평균을 이용하여 적어도 하나의 가상 도어의 좌표를 결정하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
The method according to claim 6,
The determining of the coordinates of the at least one virtual door may include: an average of the coordinates of the virtual doors determined to be the same as or close to the other virtual door among the virtual doors acquired according to the levels as a result of the erosion generated. Determining the coordinates of the at least one virtual door using the method.
제 5항에 있어서,
상기 그리드 맵을 변형하는 단계는, 상기 선택된 가상 도어 개수, 상기 선택된 적어도 하나의 가상 도어의 좌표, 및 상기 결정된 적어도 하나의 가상 도어의 방향에 기초하여 상기 그리드 맵을 변형하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
6. The method of claim 5,
The modifying the grid map may include modifying the grid map based on the selected number of virtual doors, coordinates of the selected at least one virtual door, and the determined direction of the at least one virtual door. How to compartmentalize.
적어도 하나의 메모리;
상기 적어도 하나의 메모리에 포함된 프로그램을 실행하는 적어도 하나의 프로세서;를 포함하고,
상기 프로그램은
그리드 맵에 대하여 복수개의 레벨들에 따라 침식을 수행하는 단계;
상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 룸 개수들 중, 가장 빈번하게 획득된 룸 개수를 선택하는 단계; 및
상기 선택된 룸 개수에 기초하여, 상기 그리드 맵을 변형하는 단계;를 수행하는 명령어들을 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
At least one memory;
At least one processor that executes a program included in the at least one memory;
The program
Performing erosion on the grid map according to a plurality of levels;
Selecting the number of rooms most frequently obtained from the number of rooms acquired for each level according to the erosion result; And
And modifying the grid map based on the selected number of rooms.
제 10항에 있어서,
상기 프로그램은
상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어(virtual door)의 개수들 중, 상기 선택된 룸 개수에 기초하여 가장 빈번하게 획득되는 가상 도어의 개수를 선택하는 단계;를 수행하는 명령어들을 더 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
The method of claim 10,
The program
Selecting the number of virtual doors most frequently obtained based on the selected number of rooms among the number of virtual doors obtained for each level according to the erosion performance result; Apparatus for partitioning the grid map, characterized in that it further comprises.
제 10항에 있어서,
상기 프로그램은
상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 개수들 중, 상기 선택된 룸 개수에 기초하여 가상 도어의 개수를 선택하는 단계;를 수행하는 명령어들을 더 포함하고,
상기 선택되는 가상 도어의 개수는 다음 수식으로 계산되는 N 이하이며, 여기서 N은 n(n-1)/2 인 것(N: 선택되는 가상 도어 개수의 최대값, n: 선택된 룸 개수)을 특징으로 하는 그리드 맵을 구획하는 장치.
The method of claim 10,
The program
Selecting the number of virtual doors based on the selected number of rooms from among the number of virtual doors obtained for each level according to the erosion result;
The number of the selected virtual doors is equal to or less than N calculated by the following formula, where N is n (n-1) / 2 (N: maximum value of the selected virtual doors, n: number of selected rooms) A device for partitioning grid maps.
제 11항에 있어서,
상기 프로그램은
상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 좌표들로부터, 상기 선택된 룸 개수 및 상기 선택된 가상 도어의 개수에 기초하여, 적어도 하나의 가상 도어의 좌표를 결정하는 단계;를 수행하는 명령어들을 더 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
12. The method of claim 11,
The program
Determining coordinates of at least one virtual door based on the selected number of rooms and the number of the selected virtual doors from coordinates of the virtual doors obtained for each level according to the erosion performance result; And partitioning the grid map, further comprising instructions.
제 13항에 있어서,
상기 프로그램은
상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 방향들 중, 상기 선택된 룸 개수, 상기 선택된 가상 도어의 개수, 상기 선택된 적어도 하나의 가상 도어의 좌표에 기초하여 상기 선택된 적어도 하나의 가상 도어의 방향을 결정하는 단계;를 수행하는 명령어들을 더 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
The method of claim 13,
The program
The at least one virtual selected based on the selected number of rooms, the number of the selected virtual doors, and the coordinates of the selected at least one virtual door among directions of the virtual doors obtained for each level according to the erosion performance result Determining the direction of the door; and further comprising instructions for performing a grid map partition.
제 13항에 있어서,
상기 적어도 하나의 가상 도어의 좌표를 선택하는 단계는, 상기 침식 수행 결과 획득되는 가상 도어들 중 제1 가상 도어의 좌표와 제2 가상 도어의 좌표에 대하여, 상기 제1 가상 도어의 좌표와 상기 제2 가상 도어의 좌표의 차이가 소정의 값 이하인 경우 상기 제1 가상 도어와 상기 제2 가상 도어는 서로 근접하는 것으로 결정하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
The method of claim 13,
The selecting of the coordinates of the at least one virtual door may include: coordinates of the first virtual door and coordinates of the first virtual door with respect to the coordinates of the first virtual door and the coordinates of the second virtual door among the virtual doors obtained as a result of the erosion. 2. The apparatus of claim 1, wherein the first virtual door and the second virtual door are determined to be close to each other when a difference between the coordinates of the virtual door is less than or equal to a predetermined value.
제 15항에 있어서,
상기 적어도 하나의 가상 도어의 좌표를 선택하는 단계는, 상기 생성되는 침식 수행 결과 각 레벨들에 따라 획득되는 가상 도어들 중, 다른 가상 도어와 좌표가 동일하거나 근접하는 것으로 결정되는 빈도수가 높은 순위에 기초하여 적어도 하나의 가상 도어의 좌표를 결정하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
16. The method of claim 15,
The selecting of the coordinates of the at least one virtual door may include selecting the coordinates of the at least one virtual door in a rank having a high frequency in which the coordinates of the virtual doors are determined to be the same as or close to each other among the virtual doors acquired according to the levels. And determine the coordinates of the at least one virtual door based on the grid map.
제 15항에 있어서,
상기 적어도 하나의 가상 도어의 좌표를 선택하는 단계는, 상기 생성되는 침식 수행 결과 각 레벨들에 따라 획득되는 가상 도어들 중, 다른 가상 도어와 좌표가 동일하거나 근접하는 것으로 결정되는 가상 도어들의 좌표들의 평균을 이용하여 적어도 하나의 가상 도어의 좌표를 선택하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
16. The method of claim 15,
The selecting of the coordinates of the at least one virtual door may include selecting among the coordinates of the virtual doors that are determined to be the same as or close to another virtual door among the virtual doors acquired according to the levels as a result of the erosion. An apparatus for partitioning a grid map, comprising selecting coordinates of at least one virtual door using an average.
제 14항에 있어서,
상기 그리드 맵을 변형하는 단계는, 상기 선택된 가상 도어 개수, 상기 선택된 적어도 하나의 가상 도어의 좌표, 및 상기 결정된 적어도 하나의 가상 도어의 방향에 기초하여 상기 그리드 맵을 변형하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
The method of claim 14,
The modifying the grid map may include modifying the grid map based on the selected number of virtual doors, coordinates of the selected at least one virtual door, and the determined direction of the at least one virtual door. The device for partitioning.
맵 세그멘테이션을 수행하는 장치에 의하여 그리드 맵을 복수개의 룸으로 구획하는 방법에 있어서,
상기 그리드 맵에 대하여 복수개의 레벨들에 따라 침식을 수행하는 단계;
상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 룸 개수들 중, 가장 빈번하게 획득된 룸 개수를 선택하는 단계; 및
상기 선택된 룸 개수에 기초하여, 상기 그리드 맵을 변형하는 단계;를 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
In the method for partitioning the grid map into a plurality of rooms by a device for performing map segmentation,
Performing erosion on the grid map according to a plurality of levels;
Selecting the number of rooms most frequently obtained from the number of rooms acquired for each level according to the erosion result; And
And modifying the grid map based on the selected number of rooms. A computer-readable recording medium having recorded thereon a program for executing a method of partitioning a grid map on a computer.
KR1020120056975A 2012-05-29 2012-05-29 A method and apparatus for segmenting a grid map into a plurality of rooms KR102068745B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120056975A KR102068745B1 (en) 2012-05-29 2012-05-29 A method and apparatus for segmenting a grid map into a plurality of rooms

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120056975A KR102068745B1 (en) 2012-05-29 2012-05-29 A method and apparatus for segmenting a grid map into a plurality of rooms

Publications (2)

Publication Number Publication Date
KR20130133591A true KR20130133591A (en) 2013-12-09
KR102068745B1 KR102068745B1 (en) 2020-01-21

Family

ID=49981540

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120056975A KR102068745B1 (en) 2012-05-29 2012-05-29 A method and apparatus for segmenting a grid map into a plurality of rooms

Country Status (1)

Country Link
KR (1) KR102068745B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109557919A (en) * 2018-12-17 2019-04-02 盐城工学院 A kind of grating map construction method that broadens merging artificial landmark information
CN110888960A (en) * 2019-11-29 2020-03-17 深圳市银星智能科技股份有限公司 Indoor space partitioning method and device and mobile robot
KR20220124063A (en) * 2021-03-02 2022-09-13 주식회사 유진로봇 Region segmentation apparatus and method for map decomposition of robot

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100791386B1 (en) * 2006-08-18 2008-01-07 삼성전자주식회사 Method and system of cell decomposition in mobile robot

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100791386B1 (en) * 2006-08-18 2008-01-07 삼성전자주식회사 Method and system of cell decomposition in mobile robot

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109557919A (en) * 2018-12-17 2019-04-02 盐城工学院 A kind of grating map construction method that broadens merging artificial landmark information
CN110888960A (en) * 2019-11-29 2020-03-17 深圳市银星智能科技股份有限公司 Indoor space partitioning method and device and mobile robot
CN110888960B (en) * 2019-11-29 2021-06-08 深圳市银星智能科技股份有限公司 Indoor space partitioning method and device and mobile robot
KR20220124063A (en) * 2021-03-02 2022-09-13 주식회사 유진로봇 Region segmentation apparatus and method for map decomposition of robot

Also Published As

Publication number Publication date
KR102068745B1 (en) 2020-01-21

Similar Documents

Publication Publication Date Title
CN109670262B (en) Computer-aided home layout optimization method and system
US8812488B2 (en) Constructing multidimensional histograms for complex spatial geometry objects
CN104899849B (en) A kind of Multiobjective Interactive image partition method and device
CN109163722B (en) Humanoid robot path planning method and device
US11227433B2 (en) Device and method for extracting terrain boundary
CN103914865A (en) Groups of faces that form a geometrical pattern
CN107765694A (en) A kind of method for relocating, device and computer read/write memory medium
CN107678551B (en) Gesture recognition method and device and electronic equipment
US10037027B2 (en) System and method for determining an energy-efficient path of an autonomous device
CN112802204A (en) Target semantic navigation method and system for three-dimensional space scene prior in unknown environment
KR102068745B1 (en) A method and apparatus for segmenting a grid map into a plurality of rooms
US11748527B2 (en) Automated generation and evaluation of architectural designs
US20210150091A1 (en) Creating viable building designs on complex sites
CN113920451A (en) Control method and device of self-moving equipment and storage medium
WO2020215910A1 (en) Method and apparatus for area division of enclosed space, and movable device
CN110764513B (en) Map blind area identification method
US11651533B2 (en) Method and apparatus for generating a floor plan
CN113749562A (en) Sweeping robot and control method, device, equipment and storage medium thereof
WO2023179382A1 (en) Method and apparatus for marking obstacle in robot map
Chand et al. A two-tiered global path planning strategy for limited memory mobile robots
EP4300244A1 (en) Method and system for navigation of robot from one area to another area
WO2022247544A1 (en) Map partitioning method and apparatus, and autonomous mobile device and storage medium
CN115468556A (en) Method and device for updating virtual wall, electronic equipment and storage medium
CN109461198A (en) The processing method and processing device of grid model
CN114442642A (en) Path planning method and device, computer equipment and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant