KR102068745B1 - 그리드 맵을 복수개의 룸으로 구획하는 방법 및 장치 - Google Patents

그리드 맵을 복수개의 룸으로 구획하는 방법 및 장치 Download PDF

Info

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

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/14Transformations for image registration, e.g. adjusting or mapping for alignment of images

Abstract

본 발명의 그리드 맵을 복수개의 룸으로 구획하는 방법 및 장치에 의하면, 그리드 맵(Grid map)을 최적화된 형태로 복수개의 룸으로 구획할 수 있다. 본 발명의 그리드 맵을 복수개의 룸으로 구획하는 방법 및 장치는, 그리드 맵에 대하여 복수개의 레벨들에 따라 침식을 수행하고, 상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 룸 개수들 중, 가장 빈번하게 획득된 룸 개수를 선택하고, 상기 선택된 룸 개수에 기초하여, 상기 그리드 맵을 변형함으로써, 그리드 맵을 최적화된 형태로 복수개의 룸으로 구획할 수 있다.

Description

그리드 맵을 복수개의 룸으로 구획하는 방법 및 장치{A METHOD AND APPARATUS FOR SEGMENTING A GRID MAP INTO A PLURALITY OF ROOMS}
본 발명은 그리드 맵(Grid map)을 구획하는 방법 및 장치로서, 보다 구체적으로는 그리드 맵에 최적화된 방식으로 맵을 복수개의 룸(Rooms)으로 구획하는 방법 및 장치에 대한 것이다.
그리드 맵(Grid)은 특정 공간 영역을 복수개의 셀(Cell)로 표현한 지도로서 다양한 산업 영역에서 사용된다. 일례로서 이동 로봇 청소기는 집의 실내 공간을 표현하는 그리드 맵을 이용하여 집의 실내 공간에 대한 이동 경로를 설정하고 설정된 이동 경로에 따라 청소를 수행할 수 있다.
또한, 그리드 맵의 토폴로지를 분석하고 구조화하는 경우 더 효과적으로 해당 그리드 맵을 사용할 수 있는데, 일례로서 해당 그리드 맵을 복수개의 서브 영역으로 구획하여 구획된 서브 영역에 따라 해당 그리드 맵을 사용하는 것이다. 예를 들어, 집의 실내 공간을 표현하는 그리드 맵을 분석하여 해당 집의 실내 공간을 복수개의 룸으로 구획하는 경우, 이동 로봇 청소기는 구획된 복수개의 룸 각각에 대하여, 특정 룸에 대한 청소만을 실시한다거나 특정 방을 모니터링하는 것과 같은 동작을 수행할 수 있다.
위와 같은 그리드 맵을 구획하는 작업은 컴퓨터에 의해 자동으로 수행될 수 있는데, 이 때 중요한 문제 가운데 하나가 가장 정확한 형태로 그리드 맵을 구획하는 것이다. 보다 구체적으로, 그리드 맵을 구획하고자 할 때 룸의 개수가 몇 개가 되도록 구획하는 것이 가장 최적이며, 룸과 룸을 연결지어주는 지점 즉 가장 도어(virtual door)의 위치는 어디로 인식하는 것이 최적인지 등은 그리드 맵 구획에 있어야 중요한 문제가 된다.
본 발명의 일 실시예는 그리드 맵(Grid map)을 복수개의 룸(Room)으로 구획함에 있어서, 최적의 형태로 그리드 맵을 구획하는 방법 및 장치를 제공한다.
상기 해결하고자 하는 과제를 달성하기 위해, 본 발명의 일 실시예에 따른 그리드 맵(Grid map)을 복수 개의 룸(Room)으로 구획하는 방법은 상기 그리드 맵에 대하여 복수개의 레벨들에 따라 침식을 수행하는 단계; 상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 룸 개수들 중, 가장 빈번하게 획득된 룸 개수를 선택하는 단계; 및 상기 선택된 룸 개수에 기초하여, 상기 그리드 맵을 변형하는 단계;를 포함하는 것을 포함한다.
일 실시예에 따라 상기 그리드 맵을 구획하는 방법은 상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어(virtual door)의 개수들 중, 상기 선택된 룸 개수에 기초하여 가장 빈번하게 획득되는 가상 도어의 개수를 선택하는 단계;를 더 포함할 수 있다.
일 실시예에 따라 상기 그리드 맵을 구획하는 방법은 상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 개수들 중, 상기 선택된 룸 개수에 기초하여 가상 도어의 개수를 선택하는 단계;를 더 포함하고, 상기 선택되는 가상 도어의 개수는 다음 수식으로 계산되는 N 이하인 것을 특징으로 할 수 있다.
N = n(n-1)/2
(N: 선택되는 가상 도어 개수의 최대값, n: 선택된 룸 개수)
일 실시예에 따라 상기 그리드 맵을 구획하는 방법은 상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 좌표들로부터, 상기 선택된 룸 개수 및 상기 선택된 가상 도어의 개수에 기초하여, 적어도 하나의 가상 도어의 좌표를 결정하는 단계;를 더 포함할 수 있다.
일 실시예에 따라 상기 그리드 맵을 구획하는 방법은 상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 방향들 중, 상기 선택된 룸 개수, 상기 선택된 가상 도어의 개수, 상기 선택된 적어도 하나의 가상 도어의 좌표에 기초하여 상기 선택된 적어도 하나의 가상 도어의 방향을 결정하는 단계;를 더 포함할 수 있다.
일 실시예에 따라 상기 적어도 하나의 가상 도어의 좌표를 결정하는 단계는, 상기 침식 수행 결과 획득되는 가상 도어들 중 제1 가상 도어의 좌표와 제2 가상 도어의 좌표에 대하여, 상기 제1 가상 도어의 좌표와 상기 제2 가상 도어의 좌표의 차이가 소정의 값 이하인 경우 상기 제1 가상 도어와 상기 제2 가상 도어는 서로 근접하는 것으로 결정하는 것을 특징으로 할 수 있다..
일 실시예에 따라 상기 적어도 하나의 가상 도어의 좌표를 결정하는 단계는, 상기 생성되는 침식 수행 결과 각 레벨들에 따라 획득되는 가상 도어들 중 다른 가상 도어와 좌표가 동일하거나 근접하는 것으로 결정되는 빈도수가 높은 순위에 기초하여 적어도 하나의 가상 도어의 좌표를 결정하는 것을 특징으로 할 수 있다.
일 실시예에 따라 상기 적어도 하나의 가상 도어의 좌표를 결정하는 단계는, 상기 생성되는 침식 수행 결과 각 레벨들에 따라 획득되는 가상 도어들 중 다른 가상 도어와 좌표가 동일하거나 근접하는 것으로 결정되는 가상 도어들의 좌표들의 평균을 이용하여 적어도 하나의 가상 도어의 좌표를 결정하는 것을 특징으로 할 수 있다.
일 실시예에 따라 상기 그리드 맵을 구획하는 방법은 상기 그리드 맵을 변형하는 단계는, 상기 선택된 가상 도어 개수, 상기 선택된 적어도 하나의 가상 도어의 좌표, 및 상기 결정된 적어도 하나의 가상 도어의 방향에 기초하여 상기 그리드 맵을 변형하는 것을 특징으로 할 수 있다.
상기 해결하고자 하는 과제를 달성하기 위해, 본 발명의 일 실시예에 따른 그리드 맵을 구획하는 장치는 적어도 하나의 메모리; 상기 적어도 하나의 메모리에 포함된 프로그램을 실행하는 적어도 하나의 프로세서;를 포함하고, 상기 프로그램은 그리드 맵에 대하여 복수개의 레벨들에 따라 침식을 수행하는 단계; 상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 룸 개수들 중, 가장 빈번하게 획득된 룸 개수를 선택하는 단계; 및 상기 선택된 룸 개수에 기초하여, 상기 그리드 맵을 변형하는 단계;를 수행하는 명령어들을 포함할 수 있다.
또한, 상기 해결고자 하는 과제를 달성하기 위한 본 발명은 본 발명의 실시예들의 그리드 맵을 복수개의 룸으로 구획하는 방법을 포함하는 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 포함한다.
전술한 본 발명의 과제 해결 수단에 의하면, 그리드 맵(Grid Map)을 복수개의 룸(Room)으로 구획함에 있어서, 룸 개수 및 가상 도어(Virtual Door) 위치 등과 관련하여 최적의 형태로 그리드 맵을 구획할 수 있는 방법 및 장치를 제공할 수 있다.
도 1은 종래 기술에 따른 그리드 맵(Grid map)의 일례를 도시한 것이다.
도 2A는 본 발명의 일 실시예에 따른 그리드 맵을 복수개의 룸(Room)으로 구획하는 방법을 나타내는 흐름도이다.
도 2B는 본 발명의 다른 실시예에 따른 그리드 맵을 복수개의 룸으로 구획하는 방법을 나타내는 흐름도이다.
도 2C는 본 발명의 또 다른 실시예에 따른 그리드 맵을 복수개의 룸으로 구획하는 방법을 나타내는 흐름도이다.
도 2D는 도 3C에서 획득된 룸 개수, 가상 도어의 개수, 좌표, 방향에 기초하여 그리드 맵을 구획하는 단계를 보다 구체적으로 도시한 흐름도이다.
도 3A는 실내 공간을 표시하는 그리드 맵의 일례를 도시한 것이다.
도 3B 내지 3J는 본 발명의 일 실시예에 따른 그리드 맵을 복수개의 룸으로 구획하는 과정에서 생성되는 맵 또는 도형을 도시한 것이다.
도 4는 본 발명의 일 실시예에 따라 그리드 맵을 구획함에 있어서, 침식 레이어(Layer)의 개수에 따라 결과적으로 생성되는 룸의 개수를 상관 그래프로 도시한 것이다.
도 5는 본 발명의 일 실시예에 따라 구획된 그리드 맵을 사용자가 이용하는 일 실시예를 도시한 것이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.도 1은 종래 기술에 따른 그리드 맵(Grid map)의 일례를 도시한 것이다. 도 1에 따른 그리드 맵은 복수의 셀(Cell)로 구성되어 있다. 하나의 셀의 크기는 일례로 40cm x 40cm 일 수 있다. 복수의 셀 중, 셀(102)은 장애물이 존재하는 위치를 나타내는 셀이다. 셀(103)은 장애물로 둘러싸인 공간을 나타내는 셀이다. 셀(101)은 장애물 외부의 공간을 나타내는 셀이다. 로봇(104)은 이동하면서 장애물 셀(102)의 위치를 파악하여 그리드 맵을 생성하거나, 생성된 그리드 맵을 이용하여 특정 영역에서 특정 업무를 수행할 수 있다.
도 2A는 본 발명의 일 실시예에 따라 맵 세그멘테이션(Map segmentation)을 수행하는 장치가 그리드 맵을 복수개의 룸으로 구획하는 방법을 나타내는 흐름도이다.
단계(202)에서 장치는 그리드 맵에 대하여 복수개의 레벨에 따라 침식을 수행한다.
단계(204)에서 장치는 상기 침식을 수행한 결과 각각의 침식 레벨에 따라 획득되는 룸 개수들 중 가장 빈번하게 획득된 룸개수를 선택한다.
단계(206)에서 장치는 상기 선택된 룸 개수에 기초하여, 상기 그리드 맵을 변형한다.
도 2B는 본 발명의 일 실시예에 따라 그리드 맵을 복수개의 룸으로 구획하는 방법을 나타내는 흐름도이다. 이하에서는 도 2A의 흐름도에 따라 그리드 맵을 구획하는 방법을 설명함에 있어서, 도 3A 내지 도 3J가 인용될 수 있다. 도 3A는 실내 공간을 표시하는 그리드 맵(301)의 일례를 도시한 것이다.
단계(212)에서 장치는 도 3A의 그리드 맵(301)로부터 안쪽으로 소정의 레벨만큼 침식을 수행하여 도 3C의 내부 공간(Inside space)(303)을 생성한다. 일 실시예에 따라, 침식을 수행하는 소정의 레벨은 셀 하나의 폭을 가지는 한 개의 레이어(layer)일 수 있다. 다른 실시예에 따라, 침식을 수행하는 소정의 레벨은 사용자에 의해 설정되는 특정 수치의 폭을 가지는 한 개의 레이어일 수 있다. 도 4A, 4C, 4E를 를 참조하면, 도 4A의 내부 공간(410)은 침식 레벨이 22개의 레이어인 경우에 생성되는 내부 공간이고, 도 4C의 내부 공간(420)은 침식 레벨이 23개의 레이어인 경우에 생성되는 내부 공간이고, 도 4E의 내부 공간(430)은 침식 레벨이 15개의 레이어인 경우에 생성되는 내부 공간이다. 이 때, 침식을 수행하는 레벨의 정도가 적절하게 결정되어야 도 3A의 그리드 맵을 최적의 형태로 구획할 수 있다.
단계(214)에서 장치는 침식을 통하여 생성된 내부 공간 (303)으로부터 룸의 개수를 확인한다.
단계(216)에서 장치는 단계(214)에서 획득된 룸의 개수가 적어도 한 개인지를 판단한다.
낮은 침식 레벨에 따라 그리드 맵(301)에 대해 침식을 수행하는 경우, 도 4E의 내부 공간(430)에서와 같이 내부 공간(430)에 포함되는 룸은 한 개가 될 수 있다. 침식 레벨이 점차적으로 높아지면, 룸의 개수는 도 4A 또는 4B에서와 같이 두 개가 될 수 있다. 또 다른 침식 레벨에 따라서는, 룸의 개수가 두 개 이상이 될 수도 있다. 또한, 침식 레벨이 특정 수준 이상으로 높은 경우, 그리드 맵(301) 전체에 대하여 침식이 수행되어 내부 공간(303)이 생성될 수 없게 되며, 이 때 룸의 개수는 0 개라고 할 수 있다.
단계(216)에서 생성된 내부 공간(303)에 포함되는 룸의 개수가 적어도 한 개인 것으로 판단하는 경우, 장치는 단계(218)을 수행하고, 그렇지 않은 경우 장치는 단계(220)을 수행한다.
단계(218)에서 장치는 소정의 레벨을 증가시킨다. 장치는 침식에 사용되는 레이어의 개수를 증가시킴으로써 소정의 레벨을 증가시킬 수 있다.
장치가 단계(218)을 수행하고 나면, 장치는 이어서 증가된 소정의 레벨에 따라 단계(212) 내지 단계(216)을 다시 수행한다.
단계(212) 내지 단계(218)에서 소정의 침식 레벨을 증가시켜가며 각 레벨에 따른 룸 개수들을 획득하는 방법은 여러 침식 레벨들 각각에 대하여 룸 개수들을 획득하는 일 실시예일 뿐이며, 다른 다양한 방법으로 여러 침식 레벨들 각각에 대하여 룸 개수를 획득할 수 있다. 다른 실시예에서 장치는 소정의 침식 레벨을 감소시켜가면서 각 침식 레벨에 따라 룸 개수를 확인할 수 있다. 또 다른 실시예에서 장치는 사용자가 정의한 복수의 침식 레벨들 각각에 대하여 임의의 순서로 침식을 수행하여 룸 개수를 획득할 수 있다. 또 다른 실시예에서 장치는 사용자가 정의한 복수의 침식 레벨들 각각에 대하여 사용자가 정의한 순서로 침식을 수행하여 룸 개수를 획득할 수 있다. 당업자는 앞에서 소개된 방법을 포함하여 기타 다양한 방법으로 여러 침식 레벨들 각각에 따라 룸 개수를 획득하는 것이 가능하다는 것을 이해한다.
단계(220)에서 장치는 단계(214)에서 각 침식 레벨에 따라 획득된 룸의 개수들 중 하나를 그리드 맵(301)을 구획하기 위한 최종적인 룸 개수로 선택한다. 일 실시예에 따라서, 장치는 단계(214)에서 각 침식 레벨에 따라 획득된 룸의 개수들 중 가장 빈번하게 획득된 룸 개수를 선택할 수 있다.
단계(222)에서 장치는 단계(220)에서 선택된 룸 개수에 기초하여 그리드 맵(301)을 구획한다. 일 실시예에 따라 장치는 그리드 맵(301)의 내부 셀들의 좌표 정보와 단계(220)에서 선택된 룸 개수에 기초하여 그리드 맵(301)을 구획할 수 있다.
도 2C는 본 발명의 다른 실시에에 따른 그리드 맵을 복수개의 룸으로 구획하는 방법을 나타내는 흐름도이다.
단계(252)에서 장치는 도 3A의 그리드 맵(301)로부터 도 3B의 보로노이 그래프(Voronoi Graph)(302)를 생성한다. 보로노이 그래프는 주어진 메트릭 공간(Metric space)을 분해하여 표시하는 방법 중 하나인데, 보로노이 그래프의 각 선은 주어진 메트릭 공간 내에 오브젝트들(objects)들이 배치되어 있는 상태에서 특정 오브젝트까지의 거리가 다른 오브젝트까지의 거리보다 크지 않은 점들을 하나의 집합으로 구성하였을 때, 이와 같이 구성되는 점들의 집합들의 경계를 나타내는 선이다. 다시 말하면, 주어진 메트릭 공간 내의 두 개의 오브젝트에 대하여 같은 거리에 있는 중간 점들을 연결한 선이라고 할 수 있다. 본 발명에서는 도 3A 및 3B에서 굵게 도시된 외곽선들이 오브젝트들의 역할을 하고, 도 3B의 가늘게 도시된 내부의 선들이 이러한 오브젝트들에 기초하여 생성된 보로노이 그래프이다.
단계(254)에서 장치는 도 3A의 그리드 맵(301)로부터 안쪽으로 소정의 레벨만큼 침식을 수행하여 도 3C의 내부 공간(303)을 생성한다. 단계(254)에서 침식을 수행하는 방식은 도 2B의 단계(212)에서와 같다.
단계(252)와 단계(254)는 어느 것 하나가 다른 것보다 먼저 수행될 수도 있고, 동시에 수행될 수도 있다.
단계(256)와 단계(258)의 동작은 도 2B의 단계(214) 및 단계(216)에서 설명한 바와 같다.
단계(258)에서 장치는 생성된 내부 공간(303)에 포함되는 룸의 개수가 적어도 한 개인 것으로 판단하는 경우, 장치는 단계(260)을 수행하고, 그렇지 않은 경우 장치는 단계(270)을 수행한다.
단계(260)에서 장치는 단계(252)에서 생성된 보로노이 그래프(302)와 단계(254)에서 생성된 내부 공간(303)을 이용하여 도 3D의 형상공간(Configuration space)(304)를 생성한다. 형상공간(304)은 보로노이 그래프(302)와 내부 공간(303)을 중첩시켜 생성한다. 도 3D에서 보는 것과 같이 형상공간(304)는 내부 공간(303) 및 내부 공간(303)의 바깥쪽에 도시된 복수개의 테일(Tails)로 구성된다.
단계(262)에서 장치는 형상공간(304)으로부터 내부 공간(303)을 빼내는 방식을 통하여 도 3E의 보로노이 테일(Voronoi tails)(305)을 생성한다.
단계(264)에서 장치는 보로노이 테일(305)로부터 도 3F의 보로노이 컷테일(306)(Voronoi cut tails)을 생성한다. 보로노이 컷테일(306)은 보로노이 테일(305)에 포함된 테일들(Tails) 중 도 3C의 내부 공간(303)과 한번만 교차하는 테일들을 삭제하고 남은 테일들만을 도시한 것이다. 도 3E 및 도 3F를 참조하면, 도 3E에 도시된 테일들 중 도 3F에 남겨진 테일은 도 3C의 내부 공간(303)과 두번 교차한 테일이며, 나머지는 모두 내부 공간(303)과 한번만 교차한 테일들이다.
단계(266)에서 장치는 생성된 보로노이 컷테일(306)로부터 가상 도어(virtual doors)에 대한 정보를 획득한다. 보다 구체적으로, 장치는 생성된 보로노이 컷테일(306)의 중간 지점으로부터 보로노이 컷테일(306)과 수직한 방향으로 소정의 길이의 선을 그려 해당 선을 가상 도어로 인식할 수 있다. 도 3G는 이와 같은 방법으로 인식된 가상 도어의 일례이다. 이와 같이 인식된 가상도어로부터 장치는 가상 도어의 개수, 좌표, 방향에 대한 정보를 획득할 수 있다.
단계(266)에서 결과적으로 획득되는 가상 도어에 대한 정보는 침식을 수행하는 레벨의 정도에 의해 영향을 받는다. 도 4A에서와 같이 22개의 레이어에 대해 침식을 수행한 경우 도 4B의 412와 같은 가상 도어가 인식되고, 도 4C에서와 같이 23개의 레이어에 대해 침식을 수행한 경우 도 4D의 422, 424와 같은 가상 도어가 인식되며, 도 4E에서와 같이 15개의 레이어에 대해 침식을 수행한 경우 도 4F의 432와 같은 가상 도어가 인식된다. 뒤에서 설명되는 바에 따르면, 23개의 레이어의 침식에 의해 획득된 도 4D의 가상 도어 424 및 15개의 레이어의 침식에 의해 획득된 도 3F의 가상 도어 432는 결과적으로 그리드 맵(301)을 구획하는 데에 적합하지 않은 가상 도어의 정보이다.
장치는 이어 단계(268)을 수행하여 소정의 레벨을 증가시킨다. 소정의 레벨을 증가시키는 동작은 도 2B의 단계(218)에서 설명한 바와 같다.
장치가 단계(268)을 수행하고 나면, 장치는 이어서 증가된 소정의 레벨에 따라 단계(254) 내지 단계(258)을 다시 수행한다.
단계(270)에서 장치는 단계(256)에서 각 침식 레벨에 따라 획득된 룸의 개수, 단계(266)에서 각 침식 레벨에 따라 획득된 가상 도어의 개수, 가상 도어의 좌표 및 방향에 기초하여 그리드 맵(301)을 구획한다.
도 2D는 장치가 단계(270)에서 그리드 맵(301)을 구획하는 방법을 보다 구체적으로 도시한 것이다.
단계(272)에서 장치는 단계(256)에서 각 침식 레벨에 따라 획득된 룸의 개수들 중 하나를 그리드 맵(301)을 구획하기 위한 최종적인 룸 개수로 선택한다. 일 실시예에 따라서, 장치는 단계(256)에서 각 침식 레벨에 따라 획득된 룸의 개수들 중 가장 빈번하게 획득된 룸 개수를 선택할 수 있다.
단계(274)에서 장치는 단계(272)에서 선택된 룸 개수에 기초하여 가상 도어의 개수를 선택한다. 일 실시예에 따라, 장치는 각 침식 레벨에 따라 단계(266)에서 획득된 가상 도어의 개수들 중, 선택된 룸 개수에 기초하여 가장 빈번하게 획득된 가상 도어의 개수를 선택할 수 있다.
단계(276)에서 장치는 선택된 룸 개수, 선택된 가상 도어의 개수에 기초하여 그리드 맵(301)을 구획할 최종적인 가상 도어의 좌표 및 방향을 결정할 수 있다. 일 실시예에 따라 그리드 맵(301)을 구획할 최종적인 가상 도어의 좌표는 단계(266)에서 각 침식 레벨들에 따라 획득된 가상 도어들의 좌표들로부터 결정되는 적어도 하나의 가상 도어의 좌표일 수 있다.
일 실시예에 따라, 장치는 단계(266)에서 각 침식 레벨에 따라 획득된 가상 도어의 좌표 중 서로 다른 두 개의 가상 도어의 좌표의 차이가 소정 값 이하인 경우 해당 두 가상 도어는 서로 근접하는 가상 도어인 것으로 결정할 수 있다. 예를 들어, 제1 가상 도어의 좌표가 (X1, Y1)이며, 제2 가상 도어의 좌표가 (X2, Y2)인 경우 제1 가상 도어와 제2 가상 도어의 좌표의 편차 D를 아래와 같이 정의 하고,
Figure 112012042986949-pat00001
D가 소정의 값 이하인 경우 두 가상 도어는 서로 근접한 가상 도어인 것으로 결정할 수 있다.
일 실시예에 따라서, 장치는 단계(276)에서 최종적인 가상 도어의 좌표를 결정함에 있어서, 각 침식 레벨에 따라 획득된 가상 도어들 중 서로 좌표가 동일하거나 근접한 좌표를 가진 것으로 결정되는 빈도수가 높은 순위에 기초하여 최종적으로 그리드 맵(301)을 구획할 적어도 하나의 가상 도어의 좌표를 결정할 수 있다.
단계(278)에서 장치는 단계(272)에서 선택된 룸 개수, 단계(274)에서 선택된 가상 도어의 개수, 및 단계(276)에서 선택된 적어도 하나의 가상도어의 좌표 및 방향에 따라 그리드 맵(301)을 구획한다. 일례로서, 도 3H는 도 3G에서 결정된 가상 도어의 좌표 및 방향에 기초하여 그리드 맵(301)을 구획한 것이다.
표 1는 본 발명에 따라 그리드 맵(301)에 대하여 여러 침식 레벨에 따라 침식을 수행하여 획득된 룸 개수 및 가상도어의 개수의 일례를 표로서 나타낸 것이다. 표 1에서 침식 레벨은 침식되는 레이어의 개수로서 표시되었다.
침식 레이어의 개수 획득되는 룸 개수 획득되는 가상 도어의 개수 획득되는 룸 개수의 빈도수
1 1 1 15회
2 1 0
3 1 0
4 1 0
5 1 0
6 1 0
7 1 1
8 1 1
9 1 0
10 1 0
11 1 0
12 1 1
13 1 0
14 1 0
15 1 1
16 2 1 21회
17 2 1
18 2 3
19 2 3
20 2 1
21 2 1
22 2 1
23 2 2
24 2 3
25 2 2
26 2 1
27 2 2
28 2 1
29 2 1
30 2 2
31 2 1
32 2 2
33 2 3
34 2 2
35 2 2
36 2 3
37 3 3 3회
38 3 3
39 3 2
40 1 1 4회
41 1 0
42 1 1
43 1 1
44 0 0 1회
도 5는 표 1의 데이터를 침식 레이어의 개수에 따라 생성되는 룸 개수의 상관관계를 나타내는 그래프로 도시한 것이다.
표 1 및 도 5에 따르면, 그리드 맵(301)에서 한 개의 레이어에 대해 침식을 수행했을 때 획득되는 룸 개수는 한 개이다. 침식 레이어의 개수가 증가할수록 획득되는 룸 개수는 점차 증가하는데, 16개의 레이어에 대해 침식을 수행하면 룸 개수는 두 개가 획득되고, 37개의 레이어에 대해 침식을 수행하면 룸 개수는 세 개가 획득된다. 또한, 침식 레이어의 개수가 44개가 되면 그리드맵(301)의 내부 공간 전체가 침식되어 획득되는 룸 개수는 0개가 된다.
장치는 위와 같은 결과 데이터에 기초하여 가장 빈번하게 획득된 룸 개수를 선택한다. 표 1에서의 경우, 룸 개수가 한 개인 것으로 획득된 경우의 수는 총 19회, 룸 개수가 두 개인 것으로 획득된 경우의 수는 총 21회, 룸 개수가 세 개인 것으로 획득된 경우의 수는 총 3회, 룸 개수가 0인 것으로 획득된 경우의 수는 총 1회이다. 이에 대해, 장치는 가장 빈번하게 획득된 룸 개수를 선택하므로 룸 개수는 두 개인 것으로 선택한다.
일 실시예에 따라서, 장치는 위와 같은 결과 데이터에 기초하여 가장 빈번하게 연속적으로 획득된 룸 개수를 선택할 수 있다. 예를 들어, 룸 개수가 한 개인 것으로 획득된 총 경우의 수가 22회이고, 룸 개수가 두 개인 것으로 획득된 경우의 수가 총 21회인 경우라 하더라도, 룸 개수가 두 개인 것으로 획득된 경우는 모두 침식 레이어의 개수가 증가함에 따라 연속적으로 획득된 결과인 반면, 룸 개수가 한 개인 것으로 획득된 경우는 침식 레이어의 개수가 소정의 개수 이하인 경우에 발생한 경우 획득된 것과 또 다른 소정의 개수 이상인 경우 획득된 것을 모두 합한 결과라고 한다면, 장치는 가장 빈번하게 연속적으로 획득된 룸 개수를 선택하므로, 룸 개수는 두 개인 것으로 선택할 수 있다.
이상에서와 같이 장치가 룸 개수를 선택하고 나면, 장치는 선택된 룸 개수에 기초하여 가상 도어의 개수를 선택하는 동작을 수행할 수 있다. 일 실시예에 따라 장치는 조합이론에 기초하여 룸 개수로부터 다음과 같은 공식을 통하여 가상 도어의 개수를 결정할 수 있다.
N = n(n-1)/2
N: 가상 도어의 개수
n: 룸 개수
예를 들어, 룸 개수가 두 개인 것으로 선택되면 장치는 가상 도어의 개수는 한 개인 것으로 선택하고(N = 2(2-1)/2 = 1), 룸 개수가 세 개인 것으로 선택되면 장치는 가상 도어의 개수는 세 개인 것으로 선택한다(N = 3(3-1)/2 = 3).
다른 실시예에서, 단계(264)에서 획득된 가상 도어의 개수 중 단계(268)에서 선택된 룸 개수에 기초하여 가장 빈번하게 획득된 가상 도어의 개수를 선택할 수 있다. 표 1을 참조할 때, 장치는 룸 개수가 두 개인 것으로 선택하게 되므로, 룸 개수가 두 개인 것으로 나타나는 경우들, 즉 16개의 레이어에 대해 침식을 수행한 경우부터 36개의 레이어에 대해 침식을 수행한 경우에 각각 획득되는 가상 도어의 개수들 중 가장 빈번하게 획득된 가상 도어의 개수를 선택할 수 있다. 아래 표 2는 표 1에서 룸 개수가 두 개인 경우들만을 별도로 표시한 것이다.
침식 레이어의 개수 획득되는 룸 개수 획득되는 가상 도어의 개수 획득되는 룸 개수의 빈도수
16 2 1 21회
17 2 1
18 2 3
19 2 3
20 2 1
21 2 1
22 2 1
23 2 2
24 2 3
25 2 2
26 2 1
27 2 2
28 2 1
29 2 1
30 2 2
31 2 1
32 2 2
33 2 3
34 2 2
35 2 2
36 2 3
표 2를 참조하면, 가상 도어의 개수가 1개인 것으로 획득되는 경우는 9번 발생하였으며, 가상 도어의 개수가 2개인 것으로 획득되는 경우는 7번 발생하였으며, 가상 도어의 개수가 3개인 것으로 획득되는 경우는 5번 발생하였다. 따라서, 장치는 가장 빈번하게 획득된 가상 도어의 개수, 즉 1개를 선택한다.
또 다른 발명에서, 장치는 선택된 룸 개수로부터 조합이론에 기초하여 획득되는 가상 도어의 개수, 즉 N = n(n-1)/2 (N은 가상 도어의 개수, n은 룸 개수)으로부터 획득되는 가상 도어의 개수를 선택할 가상 도어 개수의 후보 최대값으로 설정하고, 설정된 최대값 이하의 가상 도어 개수 중 가장 빈번하게 획득된 가상 도어의 개수를 선택할 수 있다. 표 1을 참조할 때, 이와 같은 실시예로부터 선택되는 가상 도어의 개수는 한 개이다.
이상에서와 같이 장치가 룸 개수 및 가상 도어의 개수를 선택하고 나면, 장치는 가상 도어의 좌표를 선택하는 동작을 수행한다. 도 2B의 단계(272)에서 설명한 것과 같이 장치는 서로 다른 두 개의 가상 도어의 좌표의 차이가 소정 값 이하인 경우 해당 두 가상 도어는 서로 근접하는 가상 도어인 것으로 결정하고, 각 침식 레벨에 따라 획득된 가상 도어들 중 서로 좌표가 동일하거나 근접한 좌표를 가진 것으로 결정되는 빈도수가 높은 순위에 기초하여 적어도 하나의 가상 도어의 좌표를 결정할 수 있다.
표 2를 참조하여, 룸 개수가 두 개인 것으로 획득되는 각 침식 레벨에서 가상 도어의 좌표가 각각 아래 표 3과 같이 획득된 경우 장치가 최종적으로 그리드 맵(301)을 구획하는 데에 이용될 가상 도어의 좌표를 결정하는 방식에 대하여 아래에서 설명한다.
침식 레이어의 개수 가상 도어의 X좌표 가상 도어의 Y좌표
16 384 235
17 385 235
18

386 236
385 357
390 395
19

413 232
385 358
389 394
20 387 375
21 387 375
22 387 375
23
325 293
387 375
24

325 292
428 333
387 399
25
428 333
386 402
26 427 332
27
427 332
393 410
28 385 405
29 394 405
30
383 405
367 481
31 383 405
32
406 316
382 405
33

405 317
382 405
351 490
34
349 309
381 405
35
381 405
345 482
36

349 308
380 404
354 476
위 표 3에는 총 룸 개수가 두 개인 것으로 획득되는 경우에 해당하는 16개 레이어에 대한 침식의 경우로부터 36개 레이어에 대한 침식의 경우까지 각각 획득되는 가상 도어 총 38개의 좌표가 기록되어 있다. 앞에서 살펴본 바와 같이 표 2로부터 장치가 가상 도어의 개수가 한 개인 것으로 선택하였으므로, 장치는 위 표 3에 기록된 38개의 좌표로부터 한 개의 가상 도어의 좌표를 결정한다.
일 실시예에 따르면, 도 2B의 단계(272)에서 설명한 바와 같이 장치는 제1 가상 도어의 좌표와 제2 가상 도어의 좌표의 편차 D를 정의하고, 정의된 제1 가상 도어의 좌표와 제2 가상 도어의 좌표의 편차 D가 소정의 값 이하인 경우, 제1 가상 도어와 제2 가상 도어는 좌표가 동일하거나 서로 근접한 가상 도어인 것으로 결정할 수 있다. 장치는 모든 가상 도어의 좌표들에 대해 이와 같은 근접 여부에 대한 판단을 수행하여 좌표가 동일하거나 근접한 것으로 판단되는 빈도수가 높은 순위를 결정하고, 결정되는 순위에 기초하여 좌표가 동일하거나 근접한 것으로 판단되는 가상 도어들의 좌표들의 평균을 산출하여 산출된 평균값을 그리드 맵(301)을 구획할 최종적인 가상도어의 좌표로 결정할 수 있다.
도 3I는 본 발명의 일 실시예에 따라, 도 3H의 구획된 그리드 맵(308)으로부터 생성된 근사화(approximation)된 모형을 도시한 것이다. 도 3I에 따르면, 장치는 구획된 그리드 맵(308)은 룸의 개수 및 좌표, 가상 도어의 개수 및 좌표에 기초하여 근사화(approximation)된 모형(309)를 생성한다.
일 실시예에 따라, 근사화된 모형은 도 3H의 구획된 그리드 맵(308)의 각 룸에 대응되는 직사각형들을 포함할 수 있다. 각 룸에 대응되는 직사각형들로 그리드 맵(308)을 근사화하는 경우, 장치는 해당 직사각형의 위치 및 크기, 모양을 아래와 같은 방식을 통하여 결정할 수 있다.
1. 각각의 룸들에 대하여 번호를 붙인다 (예를 들어, k개의 룸이 존재한다고 가정한다).
2. i를 특정 룸의 번호라고 할 때, 1번째 룸부터 k번째 룸까지 아래 (i) 내지 (vi) 단계를 반복한다 (for i = 1 to K do).
(i) i번째 룸의 중심점의 좌표(Xi, Yi)를 계산한다.
(ii) i번째 룸의 면적 Ai를 계산한다. i번째 룸의 면적은 i번째 룸에 포함되는 셀의 개수를 통하여 계산할 수 있다.
(iii) i번째 룸의 평균 가로길이 Xaveragei 및 세로 길이 Yaveragei를 계산한다. Xaveragei는 i번째 룸에 포함된 셀들을 가로 방향의 라인들에 포함된 셀들로 구분할 때, 각 라인들에 포함된 셀들의 개수의 평균을 통하여 계산할 수 있다. Yaveragei 또한 세로 방향의 라인들을 이용하여 동일한 방식으로 계산할 수 있다.
(iv) 가로 방향과 세로 방향의 비율 Ri = Yaveragei/Xaveragei를 계산한다.
(v) Ai 및 Ri에 기초하여 i번째 룸의 가로 길이 Xlengthi 및 세로 길이 Ylengthi를 계산한다.
(vi) 가로 길이가 Xlengthi이고 세로 길이가 Ylengthi이면서 중심점의 좌표가 (Xi, Yi)인 직사각형을 도시한다.
3. 도 2B의 단계(272)에서 획득된 가상 도어들의 좌표에 기초하여 각각의 룸에 대응되는 직사각형들을 서로 연결하는 가상도어를 나타내는 도형을 도시한다.
도 6은 본 발명의 일 실시예에 따라, 도 3I에서 생성된 그리드 맵(301)에 대한 근사화된 모형(309)를 사용자 제어 장치의 유저인터페이스(User Interface)에 적용한 것을 도시한 것이다.
도 6의 610은 사용자 제어 장치의 화면을 도시한 것이다. 612 및 614는 도 3I에서와 같이 각각의 룸들을 근사화하였을 때 각각의 룸들에 대응되는 근사화된 직사각형이다. 616은 각각의 룸들에 대응되는 근사화된 직사각형을 연결하는 가상도어를 나타내는 도형이다.
620에서 사용자는 610의 사용자 제어 장치 화면을 이용하여 각 룸들의 상태를 모니터링하거나 장치가 특정 룸들에 대하여 수행할 명령을 직관적으로 입력한다. 예를 들어, 사용자는 612를 터치함으로써, 장치로 하여금 612에 대응되는 룸에서 청소를 수행하도록 명령을 입력할 수 있다. 630에서 장치는 사용자의 명령에 따라 612에 대응되는 실제 공간에 이동하여 청소를 수행할 수 있다. 다른 실시예에서 장치는 610을 이용하여 특정 룸에 대한 감사, 베이비 또는 노인의 모니터링, 오락 프로그램 실행, 구조 작업, 원격 통신 중 적어도 하나일 수 있다.
도 7은 본 발명의 일 실시예에 따른 맵 세그멘테이션을 수행하는 장치(700)에 대한 개략적인 구성을 나타낸 블럭도이다.
도 7에 도시된 바와 같이, 본 발명에 따른 맵 세그멘테이션 장치(700)은 적어도 하나의 프로세서(710) 및 메모리(720)을 포함한다.
메모리(720)은 적어도 하나의 프로그램을 포함한다. 메모리(720)에 포함되는 프로그램은 프로세서(710)에 의해 실행될 때, 프로세서(710)가 특정 동작들을 실행하도록 할 수 있다. 일 실시예에 따라, 메모리(720)에 포함되는 프로그램은 프로세서(710)에 의해 실행될 때, 프로세서(710)가 도 2A에 포함된 방법의 전체 또는 적어도 일부분을 실행하도록 할 수 있다. 다른 실시예에 따라, 메모리(720)에 포함되는 프로그램은 프로세서(710)에 의해 실행될 때, 프로세서(710) 도 2B에 포함된 방법의 전체 또는 적어도 일부분을 실행하도록 할 수 있다. 또 다른 실시예에 따라, 메모리(720)에 포함되는 프로그램은 프로세서(710)에 의해 실행될 때, 프로세서(710) 도 2C 및 도 2D에 포함된 방법의 전체 또는 적어도 일부분을 실행하도록 할 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등) 및 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (19)

  1. 맵 세그멘테이션(map segmentation)을 수행하는 장치에 의하여 그리드 맵(Grid map)을 복수개의 룸(Room)으로 구획하는 방법에 있어서,
    상기 그리드 맵에 대해 복수개의 레벨들에 따라 침식을 수행하여 내부 공간을 획득하는 단계;
    상기 침식의 수행에 의하여 각 레벨들에 대해 획득되는 상기 내부 공간에 포함된 룸 개수들을 확인하는 단계;
    확인된 상기 룸 개수들 중, 가장 빈번하게 획득된 룸 개수를 선택하는 단계; 및
    상기 선택된 룸 개수에 기초하여, 상기 그리드 맵을 변형하는 단계;를 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
  2. 제 1항에 있어서,
    상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어(virtual door)의 개수들 중, 상기 선택된 룸 개수에 대응하는 가상 도어의 개수들에 기초하여 가장 빈번하게 획득되는 가상 도어의 개수를 선택하는 단계;를 더 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
  3. 제 1항에 있어서,
    상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 개수들 중, 상기 선택된 룸 개수에 기초하여 가상 도어의 개수를 선택하는 단계;를 더 포함하고,
    상기 선택되는 가상 도어의 개수는 다음 수식으로 계산되는 N 이하이며, 여기서 N은 n(n-1)/2인 것(N: 선택되는 가상 도어 개수의 최대값, n: 선택된 룸 개수)을 특징으로 하는 그리드 맵을 구획하는 방법.
  4. 제 2항에 있어서,
    상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 좌표들 중, 상기 선택된 룸 개수 및 상기 선택된 가상 도어의 개수에 대응하는 가상 도어의 좌표들에 기초하여, 적어도 하나의 가상 도어의 좌표를 선택하는 단계;를 더 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
  5. 제 4항에 있어서,
    상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 방향들 중, 상기 선택된 룸 개수, 상기 선택된 가상 도어의 개수 및 상기 선택된 적어도 하나의 가상 도어의 좌표에 대응하는 가상 도어의 방향들에 기초하여, 적어도 하나의 가상 도어의 방향을 선택하는 단계;를 더 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
  6. 제 4항에 있어서,
    상기 적어도 하나의 가상 도어의 좌표를 선택하는 단계는, 상기 침식 수행 결과 획득되는 가상 도어들 중 제1 가상 도어의 좌표와 제2 가상 도어의 좌표에 대하여, 상기 제1 가상 도어의 좌표와 상기 제2 가상 도어의 좌표의 차이가 소정의 값 이하인 경우 상기 제1 가상 도어와 상기 제2 가상 도어는 서로 근접하는 것으로 결정하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
  7. 제 6항에 있어서,
    상기 적어도 하나의 가상 도어의 좌표를 결정하는 단계는, 상기 침식 수행 결과 각 레벨들에 따라 획득되는 가상 도어들 중 다른 가상 도어와 좌표가 동일하거나 근접하는 것으로 결정되는 빈도수가 높은 순위에 기초하여 적어도 하나의 가상 도어의 좌표를 결정하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
  8. 제 6항에 있어서,
    상기 적어도 하나의 가상 도어의 좌표를 결정하는 단계는, 상기 침식 수행 결과 각 레벨들에 따라 획득되는 가상 도어들 중 다른 가상 도어와 좌표가 동일하거나 근접하는 것으로 결정되는 가상 도어들의 좌표들의 평균을 이용하여 적어도 하나의 가상 도어의 좌표를 결정하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
  9. 제 5항에 있어서,
    상기 그리드 맵을 변형하는 단계는, 상기 선택된 가상 도어 개수, 상기 선택된 적어도 하나의 가상 도어의 좌표, 및 상기 선택된 적어도 하나의 가상 도어의 방향에 기초하여 상기 그리드 맵을 변형하는 것을 특징으로 하는 그리드 맵을 구획하는 방법.
  10. 적어도 하나의 메모리;
    상기 적어도 하나의 메모리에 포함된 프로그램을 실행하는 적어도 하나의 프로세서;를 포함하고,
    상기 프로그램은
    그리드 맵에 대해 복수개의 레벨들에 따라 침식을 수행하여 내부 공간을 획득하는 단계;
    상기 침식의 수행에 의하여 각 레벨들에 대해 획득되는 상기 내부 공간에 포함된 룸 개수들을 확인하는 단계;
    상기 확인된 룸 개수들 중, 가장 빈번하게 획득된 룸 개수를 선택하는 단계; 및
    상기 선택된 룸 개수에 기초하여, 상기 그리드 맵을 변형하는 단계;를 수행하는 명령어들을 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
  11. 제 10항에 있어서,
    상기 프로그램은
    상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어(virtual door)의 개수들 중, 상기 선택된 룸 개수에 대응하는 가상 도어의 개수들에 기초하여 가장 빈번하게 획득되는 가상 도어의 개수를 선택하는 단계;를 수행하는 명령어들을 더 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
  12. 제 10항에 있어서,
    상기 프로그램은
    상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 개수들 중, 상기 선택된 룸 개수에 기초하여 가상 도어의 개수를 선택하는 단계;를 수행하는 명령어들을 더 포함하고,
    상기 선택되는 가상 도어의 개수는 다음 수식으로 계산되는 N 이하이며, 여기서 N은 n(n-1)/2 인 것(N: 선택되는 가상 도어 개수의 최대값, n: 선택된 룸 개수)을 특징으로 하는 그리드 맵을 구획하는 장치.
  13. 제 11항에 있어서,
    상기 프로그램은
    상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 좌표들 중, 상기 선택된 룸 개수 및 상기 선택된 가상 도어의 개수에 대응하는 가상 도어의 좌표들에 기초하여, 적어도 하나의 가상 도어의 좌표를 선택하는 단계;를 수행하는 명령어들을 더 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
  14. 제 13항에 있어서,
    상기 프로그램은
    상기 침식 수행 결과에 따라 각 레벨들에 대해 획득되는 가상 도어의 방향들 중, 상기 선택된 룸 개수, 상기 선택된 가상 도어의 개수 및 상기 선택된 적어도 하나의 가상 도어의 좌표에 대응하는 가상 도어의 방향들에 기초하여, 적어도 하나의 가상 도어의 방향을 선택하는 단계;를 수행하는 명령어들을 더 포함하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
  15. 제 13항에 있어서,
    상기 적어도 하나의 가상 도어의 좌표를 선택하는 단계는, 상기 침식 수행 결과 획득되는 가상 도어들 중 제1 가상 도어의 좌표와 제2 가상 도어의 좌표에 대하여, 상기 제1 가상 도어의 좌표와 상기 제2 가상 도어의 좌표의 차이가 소정의 값 이하인 경우 상기 제1 가상 도어와 상기 제2 가상 도어는 서로 근접하는 것으로 결정하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
  16. 제 15항에 있어서,
    상기 적어도 하나의 가상 도어의 좌표를 선택하는 단계는, 상기 침식 수행 결과 각 레벨들에 따라 획득되는 가상 도어들 중, 다른 가상 도어와 좌표가 동일하거나 근접하는 것으로 결정되는 빈도수가 높은 순위에 기초하여 적어도 하나의 가상 도어의 좌표를 결정하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
  17. 제 15항에 있어서,
    상기 적어도 하나의 가상 도어의 좌표를 선택하는 단계는, 상기 침식 수행 결과 각 레벨들에 따라 획득되는 가상 도어들 중, 다른 가상 도어와 좌표가 동일하거나 근접하는 것으로 결정되는 가상 도어들의 좌표들의 평균을 이용하여 적어도 하나의 가상 도어의 좌표를 선택하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
  18. 제 14항에 있어서,
    상기 그리드 맵을 변형하는 단계는, 상기 선택된 가상 도어 개수, 상기 선택된 적어도 하나의 가상 도어의 좌표, 및 상기 선택된 적어도 하나의 가상 도어의 방향에 기초하여 상기 그리드 맵을 변형하는 것을 특징으로 하는 그리드 맵을 구획하는 장치.
  19. 그리드 맵을 구획하는 장치에 포함된 프로세서로 하여금
    그리드 맵에 대해 복수개의 레벨들에 따라 침식을 수행하여 내부 공간을 획득하는 단계;
    상기 침식의 수행에 의하여 각 레벨들에 대해 획득되는 상기 내부 공간에 포함된 룸 개수들을 확인하는 단계;
    확인된 상기 룸 개수들 중, 가장 빈번하게 획득된 룸 개수를 선택하는 단계; 및
    상기 선택된 룸 개수에 기초하여, 상기 그리드 맵을 변형하는 단계;를 수행하도록 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
KR1020120056975A 2012-05-29 2012-05-29 그리드 맵을 복수개의 룸으로 구획하는 방법 및 장치 KR102068745B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120056975A KR102068745B1 (ko) 2012-05-29 2012-05-29 그리드 맵을 복수개의 룸으로 구획하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120056975A KR102068745B1 (ko) 2012-05-29 2012-05-29 그리드 맵을 복수개의 룸으로 구획하는 방법 및 장치

Publications (2)

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

Family

ID=49981540

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120056975A KR102068745B1 (ko) 2012-05-29 2012-05-29 그리드 맵을 복수개의 룸으로 구획하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102068745B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109557919B (zh) * 2018-12-17 2020-08-14 盐城工学院 一种融合人工路标信息的可变宽栅格地图构建方法
CN110888960B (zh) * 2019-11-29 2021-06-08 深圳市银星智能科技股份有限公司 一种室内空间分区方法、装置及移动机器人
KR102564813B1 (ko) * 2021-03-02 2023-08-08 주식회사 유진로봇 로봇의 맵 디컴포지션을 위한 영역 구분 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100791386B1 (ko) * 2006-08-18 2008-01-07 삼성전자주식회사 이동 로봇의 영역 분리 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100791386B1 (ko) * 2006-08-18 2008-01-07 삼성전자주식회사 이동 로봇의 영역 분리 방법 및 장치

Also Published As

Publication number Publication date
KR20130133591A (ko) 2013-12-09

Similar Documents

Publication Publication Date Title
CN109670262B (zh) 一种计算机辅助家居布局优化方法及系统
US8326019B2 (en) Apparatus, method, and medium for dividing regions by using feature points and mobile robot using the same
JP6430944B2 (ja) 床面を自律式に点検または処理するロボットおよび方法
CN109163722B (zh) 一种仿人机器人路径规划方法及装置
US10824166B2 (en) Methods and systems of distributing task regions for a plurality of cleaning devices
CN109316134B (zh) 一种扫地机的清扫方法和扫地机
CN107765694A (zh) 一种重定位方法、装置及计算机可读取存储介质
CN103914865A (zh) 形成几何图案的面的组
CN102799621A (zh) 矢量时空数据变化检测方法及其系统
CN111539398B (zh) 自移动设备的控制方法、装置及存储介质
US10037027B2 (en) System and method for determining an energy-efficient path of an autonomous device
KR102068745B1 (ko) 그리드 맵을 복수개의 룸으로 구획하는 방법 및 장치
CN112802204A (zh) 未知环境下三维空间场景先验的目标语义导航方法及系统
CN111399507A (zh) 确定栅格地图中边界线的方法、划分栅格地图的方法
US20210217234A1 (en) Device and method for extracting terrain boundary
US11748527B2 (en) Automated generation and evaluation of architectural designs
US20170103158A1 (en) Generating root cause candidates for yield analysis
CN111862133A (zh) 封闭空间的区域分割方法、装置和可移动设备
CN113009916A (zh) 一种基于全局地图探索的路径规划方法、芯片及机器人
CN115391878A (zh) 适用于建筑人居环境仿真的建筑图纸识别与模型构建方法
CN114365974A (zh) 一种室内清洁分区方法、装置和扫地机器人
CN115668271A (zh) 用于生成平面图的方法及装置
CN113749562A (zh) 扫地机器人及其控制方法、装置、设备和存储介质
EP4300244A1 (en) Method and system for navigation of robot from one area to another area
CN114442642B (zh) 路径规划方法、装置、计算机设备和存储介质

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