KR102531141B1 - 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법 및 시스템 - Google Patents
웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법 및 시스템 Download PDFInfo
- Publication number
- KR102531141B1 KR102531141B1 KR1020220040741A KR20220040741A KR102531141B1 KR 102531141 B1 KR102531141 B1 KR 102531141B1 KR 1020220040741 A KR1020220040741 A KR 1020220040741A KR 20220040741 A KR20220040741 A KR 20220040741A KR 102531141 B1 KR102531141 B1 KR 102531141B1
- Authority
- KR
- South Korea
- Prior art keywords
- boundary line
- extracting
- line
- list
- constituting
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000010276 construction Methods 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 239000000463 material Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/587—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
프로세서에 의해 구현되는, 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법으로서, 건물 모델을 구성하는 복수의 객체에 대한 객체 데이터를 수신하는 단계, 객체 데이터를 이용하여 내부 경계선 및 외부 경계선을 추출하는 단계, 내부 경계선 및 외부 경계선에 기초하여 자율주행 장치의 주행 가능 구간을 식별하는 단계 및 주행 가능 구간을 이용한 맵 토폴로지를 생성하는 단계를 포함할 수 있다.
Description
본 발명은 디지털트윈 환경에서의 맵 토폴로지를 구축하는 기술에 관한 것으로, 보다 상세하게는 건물 모델을 구성하는 각 객체의 경계선으로부터 맵 토폴로지가 구축되도록 하여, 드로이드 등 자율주행 장치의 경로안내 및 운행을 가능하도록 하는 기술에 관한 것이다.
최근 다양한 산업분야에서는 생산성, 경제성, 안정성을 향상시키고자 디지털트윈 기술이 주목받고 있다. 디지털트윈이란 물리적인 사물과 동일하게 컴퓨터에 표현되는 가상 모델로, 실제 제품을 만들기 전 모의 시험을 통해 발생할 수 있는 문제점을 파악하고 이를 해결하기 위해 활용되고 있다.
한편, 실내 공간이 대형화 및 다양화됨에 따라 공간정보의 위치정보 체계 고도화가 진행되고 있다. 이에 따라, 실내 공간에 디지털트윈을 적용하여 가상공간에 실제 실내 공간과 동일한 환경을 조성하고, 공간 모델의 구조화된 데이터모델을 이용한 자율주행 기반 신(新)산업들이 창출되고 있다.
그러나 실내 공간의 대형화에 따라 실내에서의 길찾기가 더욱 어려워지고 있다. 공항이나 역사, 대형병원 등 대형 실내 공간에서 자율주행 장치의 이동 경로를 제공하는 기술이 요구되며 실내 공간에서 자율주행 장치의 보다 정확한 운행 및 관리를 위하여 자율주행 장치가 이동하는 경로를 설정하기 위한 실내 맵 토폴로지 작성이 필수적이다.
기존에는 맵 토폴로지 작성에 있어 실내외 이동, 층간 이동 등 서로 다른 독립공간 간 이동을 어떻게 할 것인지에 관하여 집중되어 있고 토폴로지가 실내 장애물과의 관계에서 실제로 어떻게 구축되는지에 대한 기술은 부재하여 자율주행 장치의 실제 이동 경로를 생성하는데 어려움이 존재하였다.
이에 본 발명에서는 웹 기반으로 자율주행 장치의 이동 경로를 설정하는 맵 토폴로지를 구축하는 방안에 대해 제시하고자 한다.
본 발명은 디지털트윈 환경에서 수신한 공간 또는 개체 데이터로부터 웹 기반으로 맵 토폴로지를 구축하는 방법을 제공하는 데 그 목적이 있다.
또한, 본 발명은 생성된 맵 토폴로지를 통해 자율주행 장치의 이동 경로를 생성하는 방법을 제공하는 데 그 목적이 있다.
본 발명이 해결하고자 하는 과제가 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 본 발명의 기재로부터 당해 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
일 실시예에 관한 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법은 건물 모델을 구성하는 복수의 객체에 대한 객체 데이터를 수신하는 단계, 상기 객체 데이터를 이용하여 내부 경계선 및 외부 경계선을 추출하는 단계, 상기 내부 경계선 및 외부 경계선에 기초하여 자율주행 장치의 주행 가능 구간을 식별하는 단계 및 상기 주행 가능 구간을 이용한 맵 토폴로지를 생성하는 단계를 포함할 수 있다.
또한, 상기 내부 경계선 및 외부 경계선을 추출하는 단계는 상기 객체 데이터가 가질 수 있는 복수의 타입들 중에서 내부 장애물에 해당하는 제1 객체 타입을 결정하는 단계, 상기 제1 객체 타입을 갖는 객체 데이터의 바닥을 구성하는 제1 폴리곤을 추출하는 단계, 상기 제1 폴리곤을 구성하는 제1 라인 리스트를 추출하는 단계, 상기 제1 라인 리스트에서 교차하는 라인을 교차점을 기준으로 분리하여 제2 라인 리스트를 추출하는 단계, 상기 제2 라인 리스트에서 상기 제1 폴리곤을 구성하는 라인에 의해 양쪽 모두 닫힌 라인을 제거하여 외부 라인만 포함하는 제3 라인 리스트를 추출하는 단계 및 상기 제3 라인 리스트로부터 상기 내부 경계선을 추출하는 단계를 포함할 수 있다.
또한, 상기 내부 경계선 및 외부 경계선을 추출하는 단계는 상기 객체 데이터가 가질 수 있는 복수의 타입들 중에서 건물 외벽에 해당하는 제2 객체 타입을 결정하는 단계, 상기 제2 객체 타입을 갖는 객체 데이터의 바닥을 구성하는 제2 폴리곤을 추출하는 단계, 상기 제2 폴리곤을 구성하는 제4 라인 리스트를 추출하는 단계, 상기 제4 라인 리스트에서 닫힌 구간을 추출하는 단계 및 상기 닫힌 구간 중 하나의 폴리곤을 구성하는 라인으로만 닫힌 구간을 제거하여 외부 경계선을 추출하는 단계를 포함할 수 있다.
또한, 상기 방법은 상기 내부 경계선 및 외부 경계선의 포인트를 추출하는 단계 및 상기 포인트를 이어주는 링크를 생성하는 단계를 더 포함할 수 있다.
또한, 상기 주행 가능 구간은 상기 내부 경계선의 외부 영역과 상기 외부 경계선의 내부 영역의 공통 영역일 수 있다.
또한, 상기 방법은 상기 복수의 객체가 속한 공간 모델 데이터를 수신하는 단계를 더 포함할 수 있고, 상기 맵 토폴로지를 생성하는 단계는 상기 수신한 공간 모델 데이터에 격자를 생성하는 단계, 상기 격자를 구성하는 교점들로 이루어진 제1 교점 목록을 생성하는 단계, 상기 제1 교점 목록의 교점 중 상기 주행 가능 구간에 포함된 교점을 추출하여 제2 교점 목록을 생성하는 단계, 상기 제2 교점 목록의 교점을 상기 격자의 대각선 길이 반경 안에 있는 제2 교점 목록의 다른 교점과 연결하여 복수의 링크를 생성하는 단계 및 상기 복수의 링크 중 상기 내부 경계선 및 외부 경계선과 교차하는 링크를 제거하는 단계를 포함할 수 있다.
또한, 상기 격자를 생성하는 단계는 상기 맵 토폴로지의 용량에 따라 상기 격자의 간격을 조절할 수 있다.
또한, 상기 방법은 사용자로부터 출발 포인트 및 목적 포인트를 포함하는 복수의 포인트를 수신하는 단계, 상기 생성된 맵 토폴로지를 이용하여 상기 복수의 포인트를 연결하는 복수의 경로를 생성하는 단계 및 상기 복수의 경로 중 어느 하나의 경로를 선택하는 단계를 더 포함할 수 있다.
또한, 상기 맵 토폴로지를 이용하여 장소 대여 서비스, 길안내 서비스, 자율주행 기반 주차 서비스, 자율주행 휠체어 서비스 또는 실내 배송 서비스 중 어느 하나의 서비스를 제공할 수 있다.
또한, 상기 각 단계가 웹 기반으로 이루어질 수 있다.
일 실시예에 관한 웹기반 디지털트윈 환경에서의 맵 토폴로지를 구축하기 위한 장치는 적어도 하나의 프로그램이 저장된 메모리 및 상기 적어도 하나의 프로그램을 실행함으로써 연산을 수행하는 프로세서를 포함하고, 상기 프로세서는 건물 모델을 구성하는 복수의 객체에 대한 객체 데이터를 수신하고, 상기 객체 데이터를 이용하여 내부 경계선 및 외부 경계선을 추출하고, 상기 내부 경계선 및 외부 경계선에 기초하여 자율주행 장치의 주행 가능 구간을 식별하고, 상기 주행 가능 구간을 이용한 맵 토폴로지를 생성할 수 있다.
일 실시예에 관한 컴퓨터에 의해 판독 가능한 매체에 저장된 프로그램은 상술한 실시예들에 따른 방법을 실행시킬 수 있다.
상술한 실시예들에 관한 웹기반 디지털트윈 환경에서의 맵 토폴로지를 구축하기 위한 방법에 따르면, 디지털트윈 환경에서 공간 또는 개체 데이터의 수신과 동시에 웹 기반으로 맵 토폴로지를 구축하고 생성된 토폴로지를 통해 자율주행 장치의 경로안내 및 운행 서비스를 제공할 수 있다.
실시예들에 의한 효과가 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 본 발명의 기재로부터 당해 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 관한 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법을 설명하기 위해 도시한 흐름도이다.
도 2는 일 실시예에 관한 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 및 토폴로지가 이용되는 방법을 설명하기 위해 도시한 흐름도이다.
도 3a 내지 도 3c는 일 실시예의 구현에 따라 제1 객체 타입의 내부 경계선을 추출하는 예를 설명하기 위해 도시한 도면이다.
도 4a 내지 도 4c는 일 실시예의 구현에 따라 제2 객체 타입의 외부 경계선을 추출하는 예를 설명하기 위해 도시한 도면이다.
도 5a 내지 도 5c는 일 실시예의 구현에 따라 내부 경계선 및 외부 경계선으로부터 노드-링크 데이터를 생성하는 예 및 주행 가능 구간을 식별하는 예를 설명하기 위해 도시한 도면이다.
도 6a 내지 도 6c는 일 실시예의 구현에 따라 격자를 이용하여 맵 토폴로지를 생성하는 예를 설명하기 위해 도시한 도면이다.
도 7a 및 도 7b는 일 실시예의 구현에 따라 복수의 포인트를 입력받아 경로를 생성 및 선택하는 예를 설명하기 위해 도시한 도면이다.
도 8은 일 실시예에 관한 웹 기반의 디지털트윈 환경에서의 맵 토폴로지 구축 장치를 나타내는 블록도이다.
도 9는 일 실시예에 관한 웹 기반의 디지털트윈 환경에서의 맵 토폴로지 구축 장치를 나타내는 블록도이다.
도 2는 일 실시예에 관한 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 및 토폴로지가 이용되는 방법을 설명하기 위해 도시한 흐름도이다.
도 3a 내지 도 3c는 일 실시예의 구현에 따라 제1 객체 타입의 내부 경계선을 추출하는 예를 설명하기 위해 도시한 도면이다.
도 4a 내지 도 4c는 일 실시예의 구현에 따라 제2 객체 타입의 외부 경계선을 추출하는 예를 설명하기 위해 도시한 도면이다.
도 5a 내지 도 5c는 일 실시예의 구현에 따라 내부 경계선 및 외부 경계선으로부터 노드-링크 데이터를 생성하는 예 및 주행 가능 구간을 식별하는 예를 설명하기 위해 도시한 도면이다.
도 6a 내지 도 6c는 일 실시예의 구현에 따라 격자를 이용하여 맵 토폴로지를 생성하는 예를 설명하기 위해 도시한 도면이다.
도 7a 및 도 7b는 일 실시예의 구현에 따라 복수의 포인트를 입력받아 경로를 생성 및 선택하는 예를 설명하기 위해 도시한 도면이다.
도 8은 일 실시예에 관한 웹 기반의 디지털트윈 환경에서의 맵 토폴로지 구축 장치를 나타내는 블록도이다.
도 9는 일 실시예에 관한 웹 기반의 디지털트윈 환경에서의 맵 토폴로지 구축 장치를 나타내는 블록도이다.
본 발명을 설명함에 있어 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략할 수 있으며, 다르게 정의되지 않는 한 본 명세서에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다.
본 명세서에의 "일 실시예에 따른", "일 실시예에 관한" 또는 "일 실시예의 구현에 따라" 등의 어구는 반드시 모두 동일한 실시 예를 가리키는 것은 아니다.
실시예들은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 일부 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 실시예들을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 실시예들의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 명세서에서 사용한 용어들은 단지 실시예들의 설명을 위해 사용된 것으로, 실시예들을 한정하려는 의도가 아니다.
실시예들에서 사용되는 용어는 본 실시예들에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 실시예들이 속하는 기술 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 부분에서 상세히 그 의미를 기재할 것이다. 따라서 실시예들에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 실시예들 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다.
또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.
"데이터베이스", “요소”, “수단” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 또한, 명세서에 기재된 "-부", "-모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
또한, 본 명세서에서 사용되는 '제 1' 또는 '제 2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
또한, 도면 상의 일부 구성 요소는 그 크기나 비율 등이 다소 과장되어 도시 되었을 수 있다. 또한, 어떤 도면 상에 도시된 구성 요소가 다른 도면 상에는 도시 되지 않을 수 있다.
명세서 전체에서 '실시예'는 본 개시에서 발명을 용이하게 설명하기 위한 임의의 구분으로서, 실시예 각각이 서로 배타적일 필요는 없다. 예를 들어, 일 실시예에 개시된 구성들은 다른 실시예에 적용 및/또는 구현될 수 있으며, 본 개시의 범위를 벗어나지 않는 한도에서 변경되어 적용 및/또는 구현될 수 있다.
또한, 본 개시에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 실시예들을 제한하고자 하는 것은 아니다. 본 개시에서 단수형은 특별히 언급하지 않는 한 복수형도 포함한다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예들에 대하여 해당 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시의 실시예들은 여러 가지 상이한 형태로 구현될 수 있으며, 본 개시에서 설명하는 실시예에 한정되지 않는다.
상술한 도면을 참조하여 설명하기에 앞서, 본 발명의 일 실시예에 관한 웹기반의 디지털트윈 환경에서의 맵 토폴로지 구축 방법은, 후술하는 도 9에 기재된 컴퓨팅 장치에 의하여 수행되는 것으로 이해된다. 본 발명에서 컴퓨팅 장치는, 개인 퍼스널 컴퓨터, 서버 단말, 데이터베이스 관리용 단말, 휴대용 컴퓨터, 노트북, 스마트 패드, 스마트 폰 등 데이터의 처리, 저장, 관리, 출력 및 입력이 가능한 모든 단말을 포함하는 개념으로 이해될 것이다.
또한 컴퓨팅 장치는, 도 8에 도시된 바와 같은 본 발명의 일 실시예에 관한 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 장치(800)와 동일한 구성이거나, 해당 구성과 포함관계에 있는 단말로 구성될 수 있다.
또한 컴퓨팅 장치는, 본 발명의 일 실시예에 관한 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법이 구현되어 토폴로지 이용이 가능한 다수의 단말과 동일하거나 해당 구성에 포함된 기능적 장치를 의미할 수 있다.
이하에서는 이를 기반으로 도면을 참조하여 본 발명을 상세히 설명한다.
도 1은 일 실시예에 관한 웹 기반의 디지털트윈 환경에서의 맵 토폴로지 구축 방법을 설명하기 위해 도시한 흐름도이다.
도 1을 참조하면, 본 발명의 일 실시예에 관한 장치(900)를 이용할 경우 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법이 다음과 같이 수행될 수 있다.
먼저, 단계 110에서, 장치(900)는 건물 모델을 구성하는 복수의 객체에 대한 객체 데이터를 수신할 수 있다.
본 발명에서 외부로부터 데이터가 수신됨은, 장치(900)와 네트워크 또는 하드웨어적으로 연결되어 유무선 네트워크 라인을 통해 데이터의 송수신이 가능한 외부의 단말들, 서버 또는 데이터베이스 등으로부터 본 발명의 기능 수행을 위한 데이터가 수신됨을 의미한다.
본 발명에서 객체는, 공간을 이루는 단위를 의미한다. 예를 들어 건물 외벽, 건물 기둥, 시설물, 실내 장애물 등 일정한 공간을 이루는 독립적인 단위들이 객체에 포함될 수 있다. 객체 데이터란, 컴퓨팅 장치를 통해서 객체에 대한 도면 또는 객체를 실측한 수치 및/또는 시각 데이터 및 객체의 위치, 크기 등에 대한 정보 등을 기반으로 생성되는 데이터로서, 예를 들어 객체에 대한 3D 모델링 데이터 등이 포함될 수 있다.
예를 들어, 장치(900)는 건물 및 건물을 둘러싼 공간을 구성하는 건물 외벽, 건물 기둥, 시설물, 실내 장애물 등의 위치, 크기에 대한 정보를 서버(210)로부터 수신할 수 있다. 이 때, 장치가 수신한 정보는 객체의 좌표, Body의 좌표 정보뿐만 아니라 색상 타입, 텍스쳐 타입을 포함하는 Material 정보를 포함할 수 있다.
단계 110의 수행이 완료되면, 장치(900)는 수신한 객체 데이터를 이용하여 내부 경계선 및 외부 경계선을 추출할 수 있다(120).
이때, 단계 120에서 정의되는 내부 경계선을 추출함에 있어서 구체적인 예를 도 3a 내지 도 3c를 통해 설명하면, 장치(900)는 수신한 객체 데이터가 가질 수 있는 복수의 타입들 중에서 내부 장애물에 해당하는 제1 객체 타입(310)을 결정하는 단계를 수행한다.
내부 장애물이란, 건물의 외벽 안쪽의 공간인 실내에서 건물 기둥, 설치 매대, 가구 등 주행 장치의 이동을 방해하거나 주행 장치가 이동할 수 없도록 공간을 점유하는 물체가 포함될 수 있다. 도 3a를 참조하면 건물 기둥(310)이 제1 객체 타입으로 결정되며, 제1 객체 타입(310)은 데이터 수신시 도면에 따라 자동으로 또는 외부로부터의 입력에 의하여 수동으로 설정될 수 있다.
이후 도 3b를 참조하면, 장치(900)는 제1 객체 타입(310)을 갖는 객체 데이터의 바닥을 구성하는 제1 폴리곤(321 내지 324)을 추출하는 단계를 수행한다.
폴리곤이란 컴퓨터 그래픽에서 입체 도형을 구성하는 최소 단위의 다각형을 의미하며, 삼각형 형태를 기본으로 할 수 있다. 바닥이란 건물 모델의 가장 낮은 높이값을 갖는 좌표들의 집합을 의미하며, 복층을 가지는 건물 모델의 경우 속성값의 층 정보에 해당 층의 높이에 해당하는 높이값을 갖는 좌표들의 집합을 의미할 수 있다. 객체 데이터의 바닥을 구성하는 제1 폴리곤(321 내지 324)을 추출함에 있어, 객체 데이터의 가장 낮은 높이값을 갖는 좌표 또는 바닥 좌표를 갖는 폴리곤을 추출할 수 있다.
이후, 장치(900)는 제1 폴리곤(321 내지 324)을 구성하는 제1 라인 리스트를 추출하는 단계를 수행한다. 예를 들어, 3차원 모델을 구성하는 요소인 vertex(유클리드 좌표계 상의 포인트 x, y, z)와 index(vertex의 순서)값을 이용하여 제1 라인 리스트를 추출할 수 있다.
이후, 장치(900)는 제1 라인 리스트에서 교차하는 라인을 교차점을 기준으로 분리하여 제2 라인 리스트를 추출하는 단계를 수행한다. 교차하는 라인이란 라인들이 서로 엇갈리거나 한 점에서 마주치는 것을 의미한다. 예를 들어, CCW(Counter Clockwise) 교차 알고리즘을 이용하여 교차하는지 여부를 확인할 수 있다. CCW 교차 알고리즘이란 세 점이 주어졌을 때 그들의 방향 관계를 알 수 있는 알고리즘이다. CCW 교차 알고리즘은 아래 수학식 1과 같이 표현할 수 있다.
첫 번째 선분 AB와 두 번째 선분 CD의 좌표가 아래 수학식 2와 같을 때, 교차하는 두 선분의 조건은 아래 수학식 3과 같다.
예를 들어, 선분 AB와 선분 CD의 교차점을 P라고 할 때, 두 선분 AB, CD는 교차점 P를 기준으로 선분 AP, 선분 BP, 선분 CP, 선분 DP로 분리된다. 제2 라인리스트에는 교차하지 않는 기존의 선분들 및 선분 AP, BP, CP, DP가 포함되며, 분리되기 이전의 선분인 선분AB 및 선분 CD는 포함되지 않는다.
이후 도 3c를 참조하면, 장치(900)는 제2 라인 리스트에서 제1 폴리곤을 구성하는 라인에 의해 양쪽 모두 닫힌 라인을 제거하여 외부 라인만 포함하는 내부 경계선(330)을 추출하는 단계를 수행한다.
예를 들어, 양쪽 모두 닫힌 라인을 판별하는 방법은 다음과 같다. 제2 라인 리스트를 순차적으로 순회하면서 vertex와 index값으로 삼각형 리스트를 추출할 수 있으므로 순회 중인 현재 라인이 삼각형 리스트의 삼각형을 구성하는 라인인지 확인 후 현재 라인이 포함된 삼각형 리스트를 생성한다. 현재 라인이 포함된 삼각형 리스트의 삼각형이 현재 라인의 양쪽 면에 모두 존재할 때 양쪽 모두 닫힌 라인으로 판별한다. 예를 들어, 선분 AB와 함께 삼각형을 이루는 점 C가 있을 때 벡터와 를 외적한 결과와 Up Vector를 내적한 값이 양수이면 왼쪽, 음수이면 오른쪽에 존재하여 양쪽 모두 닫힌 라인으로 판별할 수 있다.
양쪽 모두 닫힌 라인으로 판별된 라인은 제2 라인 리스트에서 제거되고, 남은 라인은 외부 라인만 포함하게 되므로, 내부 경계선(330)이 될 수 있다.
본 발명의 단계 120에서 정의되는 외부 경계선을 추출함에 있어서 구체적인 예를 도 4a 내지 도 4c를 통해 설명한다. 장치(900)는 수신한 객체 데이터가 가질 수 있는 복수의 타입들 중에서 건물 외벽에 해당하는 제2 객체 타입(410)을 결정하는 단계를 수행한다.
건물 외벽이란, 건물 바깥쪽을 둘러싸고 있는 수직으로 공간을 막은 벽으로 공간의 실내와 실외를 구분하는 벽이라면 수직이 아닌 것도 포함될 수 있다. 도 4a를 참조하면 건물 외벽(410)이 제2 객체 타입으로 결정되며, 제2 객체 타입(410)은 데이터 수신시 도면에 따라 자동으로 또는 외부로부터의 입력에 의하여 수동으로 설정될 수 있다.
이후 도 4b를 참조하면, 장치(900)는 제2 객체 타입(410)을 갖는 객체 데이터의 바닥을 구성하는 제2 폴리곤(421 내지 424)을 추출하는 단계를 수행한다. 제2 폴리곤에 관한 내용은 제1 폴리곤에 관해 상술한 내용과 같다.
이후, 장치(900)는 제2 폴리곤(421 내지 424)을 구성하는 제4 라인 리스트를 추출하는 단계를 수행한다. 제4 라인 리스트에 관한 내용은 제2 라인 리스트에 관해 상술한 내용과 같다.
이후, 장치(900)는 제4 라인 리스트에서 닫힌 구간을 추출하는 단계를 수행한다. 닫힌 구간이란 폴리곤의 형상이 닫힌 도형으로 된 것을 의미할 수 있으며 닫힌 도형이란 시작하는 점과 끝나는 점이 같은 도형을 의미한다. 예를 들어 도 4b에서, 제4 라인 리스트는 6개의 닫힌 구간을 가진 제2 폴리곤(421), 각 2개의 닫힌 구간을 가진 제2 폴리곤(422 내지 424)을 구성하는 라인들로 구성된다.
이후 도 4c를 참조하면, 장치(900)는 닫힌 구간 중 하나의 폴리곤을 구성하는 라인으로만 닫힌 구간을 제거하여 외부 경계선을 추출하는 단계를 수행한다. 하나의 폴리곤을 구성하는 라인으로만 닫힌 구간은 폴리곤 내부의 공간이므로, 제거되고 남은 라인은 외부 경계선(430)이 될 수 있다.
본 발명의 단계 120 수행 이후 장치(900)는 내부 경계선 및 외부 경계선을 이용하여 경계선을 노드-링크 데이터로 생성 및 저장할 수 있다.
도 5a를 참조하면, 장치(900)는 상술한 내부 경계선(330)에서 포인트(510)를 추출하고 추출한 포인트를 연결하는 링크를 생성할 수 있다. 도 5b를 참조하면, 장치(900)는 상술한 외부 경계선(430)에서 포인트(520)를 추출하고 추출한 포인트를 이어주는 링크를 생성할 수 있다.
상술한 포인트는 노드 데이터가 되고 링크는 링크 데이터가 될 수 있다. 노드-링크 데이터는 매우 경량화된 데이터를 이용하여 연결 네트워크를 표현할 수 있도록 하기 위한 데이터인 것이다.
단계 110 및 120의 수행이 완료되면, 장치(900)는 내부 경계선 및 외부 경계선에 기초하여 자율주행 장치의 주행 가능 구간을 식별할 수 있다(130).
본 명세서의 자율주행 장치란 사람의 조작 없이 인공지능 또는 외부 서버와의 통신에 따라 스스로 운행하는 시스템을 가진 장치를 의미하는 것으로, 교통 수단에 한정되지 않고 휠체어, 드론 등 주행 또는 이동 기능을 가진 모든 장치를 포함할 수 있다.
또한, 본 명세서의 자율주행 장치는 추후에 추가적인 설정이나 추가적인 공정 등을 통해 자율주행이 가능한 장치를 포함할 수 있다. 따라서 자율주행 장치는 현재 자율주행 기능을 수행할 수 있는 장치뿐 아니라, 아직 자율주행 기능을 수행할 수 없는 일반 장치를 포함할 수 있다. 예를 들면, 본 명세서에서 자율주행 장치는 수동주행 장치를 포함할 수 있다.
본 발명의 단계 130에서 정의되는 주행 가능 구간을 식별함에 있어서 구체적인 예를 도 5c를 통해 설명한다.
본 발명에서 주행 가능 구간은, 내부 경계선의 외부 영역과 외부 경계선의 내부 영역의 공통 영역(530)일 수 있다. 주행 가능 구간은 상술한 자율주행 장치가 객체 데이터와의 관계에서 경로 이동시 공간을 일시적 또는 영구적으로 점유할 수 있는 구간으로, 건물 외벽의 내부 공간과 내부 장애물의 외부 공간이 될 수 있기 때문이다.
단계 110 내지 130의 수행이 완료되면, 장치(900)는 주행 가능 구간을 이용하여 맵 토폴로지를 생성할 수 있다(140). 토폴로지는 네트워크의 물리적 연결 형태 또는 방식을 의미하며 본 발명에서 맵 토폴로지는 포인트인 노드(node)와 포인트를 연결하는 링크(link)로 구성된 노드-링크 데이터일 수 있다.
이때, 단계 140에서 맵 토폴로지를 생성함에 있어서 구체적인 예를 도 6a 내지 6c를 통해 설명한다.
장치(900)는 제1 객체 타입 및 제2 객체 타입을 포함하는 복수의 객체 데이터를 수신함과 동시 또는 이시에, 복수의 객체가 속한 공간 모델 데이터를 수신할 수 있다. 본 발명에서 공간 모델 데이터는 대상 공간의 설계도를 근거로 3D 모델링 도구를 통해 제작될 수 있고, 필요에 따라 현장 실사를 통해 정보를 추가 수집할 수 있다. 공간 모델 데이터는 객체 데이터가 공간을 이룸에 따라 한정되는 공간 및 그 경계에 대한 정보가 될 수 있으며, 3차원에 한정되지 않고 2차원으로 정의될 수 있다.
도 6a를 참조하면 장치(900)는 맵 토폴로지를 생성함에 있어 수신한 공간 모델 데이터에 격자(611)를 생성하는 단계를 수행한다. 건물 모델의 World 좌표계를 기준으로 모델을 전부 덮을 수 있는 격자를 생성할 수 있고 격자는 모델의 바닥에 생성할 수 있다.
이 때, 격자를 생성하는 경우 격자의 간격(612)은 맵 토폴로지의 용량에 따라 조절할 수 있다. 예를 들어, 정밀한 토폴로지 생성을 위해서 격자의 간격(612)은 줄어들 수 있고, 경량화된 용량의 토폴로지 생성을 위해서 격자의 간격(612)은 늘어날 수 있다. 또한, 격자의 간격(612)은 서비스 응용 및 실내 측위 요구사항에 따라 다양하게 결정될 수 있다.
이후 도 6b를 참조하면, 장치(900)는 격자를 구성하는 교점들로 이루어진 제1 교점 목록을 생성하고, 제1 교점 목록의 교점 중 상술한 주행 가능 구간에 포함된 교점을 추출하여 제2 교점 목록(620)을 생성한다. 즉, 제2 교점 목록의 교점은 제1 교점 목록에도 포함되는 것이다. 제2 교점 목록의 교점은 노드 데이터를 형성할 수 있다.
이후, 장치(900)는 제2 교점 목록의 교점을 격자의 대각선 길이 반경 안에 있는 제2 교점 목록의 다른 교점과 연결하여 복수의 링크를 생성하고 복수의 링크 중 내부 경계선 및 외부 경계선과 교차하는 링크를 제거한다. 예를 들어, 제2 교점 목록의 임의의 한 교점에 대하여, 해당 교점의 격자의 대각선 길이 반경 안에 있는 다른 교점은 중심에 있는 해당 교점을 제외한 총 8개의 교점이 된다. 즉, 이웃한 교점 이외에도 대각선 방향으로의 이동이 가능하도록 복수의 링크를 생성할 수 있다.
예를 들어, 복수의 링크 중 내부 경계선 및 외부 경계선과 교차하는 링크를 제거하는 단계는 point in polygon 알고리즘을 통해 수행될 수 있다. point in polygon 알고리즘은 폴리곤과 포인트가 있을 때 포인트가 폴리곤의 내부에 있는지 여부를 판별할 수 있는 알고리즘이다. 예를 들어, 포인트를 기준으로 폴리곤과 교차하게 그린 선분과 폴리곤의 교차점이 홀수이면 포인트가 폴리곤 외부에 있고 짝수이면 폴리곤 내부에 있다고 판별할 수 있는 것이다. 도 6c를 참조하면, 상술한 링크를 제거한 후, 주행 가능 구간에 남은 복수의 링크로 구성된 네트워크(630)가 단계 140의 맵 토폴로지일 수 있다.
도 2는 일 실시예에 관한 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 및 토폴로지가 이용되는 방법을 설명하기 위해 도시한 흐름도이다.
도 2 및 도 7a 내지 도 7b를 참조하면, 단계 110 내지 140의 수행이 완료된 후 본 발명의 일 실시예의 구현에 따라 복수의 포인트를 입력받아 경로를 생성 및 선택하는 방법이 더 수행될 수 있다. 이하의 설명에 있어서 단계 201 내지 203 등 상술한 모든 설명과 중복되는 설명은 생략하기로 한다.
단계 203에서 생성된 맵 토폴로지가 서비스 이용자(230)에게 전송되면 서비스 이용자(230)는 도 7a와 같이 출발 포인트 및 목적 포인트를 포함하는 복수의 포인트(204)를 입력할 수 있고 장치(900)는 입력된 포인트(204)를 수신할 수 있다. 복수의 포인트에는 출발 포인트 및 목적 포인트뿐만 아니라 경유 포인트, 정차 포인트, 서비스 제공 시 필요에 따라 특정한 포인트 등이 포함될 수 있다. 복수의 포인트는 상술한 제2 교점목록의 교점 또는 노드 중에서 선택될 수 있다.
단계 205에서, 장치(900)는 생성된 맵 토폴로지를 이용하여 복수의 포인트를 연결하는 복수의 경로를 생성할 수 있다. 복수의 경로는 포인트 지정에 따라 달라질 수 있고 반드시 최단거리를 형성하는 경로가 아닐 수도 있다. 예를 들어, 출발 포인트, 경유 포인트 및 목적 포인트를 모두 입력한 경우 복수의 경로는 출발 포인트와 경유포인트를 잇는 경로와 경유포인트와 목적 포인트를 잇는 경로를 연결한 경로일 수 있다. 이 중 최단 거리를 표현한 경로는 도 7b과 같다. 이 때, 생성된 복수의 경로는 서버 또는/및 서비스 이용자에게 전송될 수 있다.
단계 206에서, 서비스 이용자(230)는 수신한 복수의 경로에 관한 입력값(206)을 장치(900)에 전송할 수 있다. 예를 들어, 최소 시간, 최단 시간, 휠체어 이용 가능 구간 등이 포함될 수 있다. 입력값은 복수의 값일 수 있다.
단계 207에서, 장치(900)는 입력값(206)에 기초하여 복수의 경로(205) 중 어느 하나의 경로를 선택하여 서비스 이용자(230)에 전송할 수 있다.
본 발명의 일 실시예의 구현에 따라, 장치(900)는 맵 토폴로지를 이용하여 장소 대여 서비스, 길안내 서비스, 자율주행 기반 주차 서비스, 자율주행 휠체어 서비스 또는 실내 배송 서비스 중 어느 하나의 서비스를 제공할 수 있다.
객체 데이터가 가질 수 있는 복수의 타입들 중에서 독립된 공간에 해당하는 제3 객체 타입이 포함될 수 있고, 이 경우 장치(900)는 제3 객체 타입에 해당하는 공간에 대한 장소 대여 서비스를 제공할 수 있다. 또한 장치(900)는 객체 데이터의 좌표값을 이용하여 위치 및 크기 정보를 획득할 수 있고, 객체 데이터의 위치 정보를 기초로 길안내 서비스를 제공할 수 있다. 자율주행 장치의 위치 및 크기 정보를 기초로 자율주행 기반 주차 서비스를 제공할 수 있다.
이 때 자율주행 장치는 휠체어, 자동화 기기 등이 포함될 수 있으며 이에 따라 장치(900)는 자율주행 휠체어 서비스, 실내 배송 서비스 등 자율주행 기반 서비스 중 어느 하나의 서비스를 제공할 수 있다.
도 8은 일 실시예에 관한 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 장치를 나타내는 블록도이다. 이하의 설명에 있어서 상술한 모든 설명과 중복되는 불필요한 부분에 대한 설명은 생략하기로 한다.
도 8을 참조하면, 본 발명의 일 실시예에 관한 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 장치(800, 이하 본 발명의 장치라 함)는 데이터 수신부(820), 경계선 추출부(830), 주행 가능 구간 식별부(840), 맵 토폴로지 생성부(850)를 포함하고, 통신 모듈(810)과 데이터베이스(860)를 포함할 수 있다.
본 발명에서 외부로부터 수신되는 데이터 및 본 발명의 각 기능 수행에 필요하거나 이를 통해 생성 및 관리되는 데이터는 각 데이터를 관리하는 구성에 마련된 메모리(930) 또는 별도의 데이터베이스(860)에 의하여 저장 및 관리될 수 있다.
데이터 수신부(820)는 통신 모듈(810) 또는 데이터베이스로부터 건물 모델을 구성하는 복수의 객체에 대한 객체 데이터를 수신하는 기능을 수행한다. 즉 상술한 설명에 있어서 단계 110에 대한 설명에서 언급한 장치(900)가 수행하는 모든 기능을 수행하는 구성으로 이해될 것이다.
경계선 추출부(830)는 객체 데이터를 이용하여 내부 경계선 및 외부 경계선을 추출하는 기능을 수행한다. 즉 상술한 설명에 있어서 단계 120에 대한 설명에서 언급한 장치(900)가 수행하는 모든 기능을 수행하는 구성으로 이해될 것이다.
주행 가능 구간 식별부(840)는 내부 경계선 및 외부 경계선에 기초하여 자율주행 장치의 주행 가능 구간을 식별하는 기능을 수행한다. 즉 상술한 설명에 있어서 단계 130에 대한 설명에서 언급한 장치(900)가 수행하는 모든 기능을 수행하는 구성으로 이해될 것이다.
맵 토폴로지 생성부(850)는 주행 가능 구간을 이용한 맵 토폴로지를 생성하는 기능을 수행한다. 즉 상술한 설명에 있어서 단계 140에 대한 설명에서 언급한 장치(900)가 수행하는 모든 기능을 수행하는 구성으로 이해될 것이다.
상술한 설명 중 단계 204 내지 207에 대한 설명에서 언급한 장치(900)가 수행하는 모든 기능을 수행하는 구성으로서, 이동 경로 생성부(미도시)가 추가적으로 본 발명의 장치(800)에 포함될 수 있다.
단계 110 내지 140 및 상술한 단계에 따른 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법은, 각 단계가 웹(web) 기반으로 이루어질 수 있다.
웹(web)은 World Wide Web의 줄임말로서 인터넷 상에서 정보를 교환하는 시스템으로서, HTTP 프로토콜을 기반으로 HTML로 작성된 하이퍼텍스트 페이지를 웹 브라우저라는 특정한 프로그램으로 읽을 수 있게 하도록 구성된 것을 의미한다. 장치(800)는 통신 모듈(810)을 통해 서버(210) 등 외부(미도시)와 데이터를 송수신 할 수 있으며 이에는 웹 브라우저도 포함될 수 있다. 본 발명의 각 단계가 웹 기반으로 이루어짐에 따라 어플리케이션을 포함한 별도의 프로그램의 설치 없이 맵 토폴로지를 구축하고 이용할 수 있다.
상술한 데이터 송수신에 있어 기존의 BIM(Building Information Modeling) 활용을 위한 모델링 파일의 경우 수많은 정보를 포함하고 있어 파일의 용량이 크고 무거운 단점이 있으므로 웹 또는 모바일에서 가볍게 가시화할 수 있는 파일 포맷이 필요할 수 있다. 이에 따라, 객체 데이터(201) 또는 공간 모델 데이터(202)는 형태와 맵핑정보를 기반으로 사용자에게 정보를 제공하는 SBM 파일 포맷을 가질 수 있다.
SBM 파일은 지면(XZ 평면) 및 복층 정보를 기준으로, Body 정보로 Material Information, Geometry Information, Component Information을 가지고, Material 정보로 Material ID, Color type, Material Color, Facing, Texture Name Length, Texture Name을 갖는 경량화된 파일 포맷이다.
도 9는 본 발명의 일 실시예에 관한 컴퓨팅 장치를 나타내는 블록도이다. 이하의 설명에 있어서, 상술한 도 1 내지 8에 대한 설명과 중복되는 설명은 생략하기로 한다.
도 9에 도시한 바와 같이, 장치(900)는 적어도 하나의 프로세서(910), 통신회로(920) 및 메모리(930)를 포함할 수 있다. 이 때, 장치(900)는 전술한 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 장치(800)에 해당될 수 있다.
통신회로(920)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅 장치와 통신을 가능하게 할 수 있다. 또는 상술한 바와 같이 필요에 따라 통신회로(920)는 RF 회로를 포함하여 전자기 신호라고도 알려진 RF 신호를 송수신함으로써 다른 컴퓨팅 장치와 통신을 가능하게 할 수도 있다.
메모리(930)는, 일례로 고속 랜덤 엑세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(930)는 장치(900)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그밖에 다양한 데이터를 포함할 수 있다.
이 때, 통신회로(920) 등의 다른 컴포넌트에서 메모리(930)에 엑세스하는 것은 프로세서(910)에 의해 제어될 수 있다.
프로세서(910)는 도 1 내지 도 8에서 상술한 맵 토폴로지 구축 장치의 동작 중 적어도 일부를 제어할 수 있다.
도 8의 데이터 수신부(820), 경계선 추출부(830), 주행 가능 구간 식별부(840) 및 맵 토폴로지 생성부(850)는 도 9의 프로세서(910)에 의해 구현될 수 있다. 도 9에는 하나의 프로세서(910)만이 도시되어 있으나, 장치(900)를 구성하는 프로세서(910)는 두 개 이상일 수 있고, 데이터 수신부(820), 경계선 추출부(830), 주행 가능 구간 식별부(840) 및 맵 토폴로지 생성부(850)는 두 개 이상의 프로세서(910)에 의해 구현될 수 있다.
이러한 도 9의 실시 예는, 장치(900)의 일례일 뿐이고, 장치(900)는 도 9에 도시된 일부 컴포넌트가 생략되거나, 도 9에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 장치는 도 9에 도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 통신 회로(920)에 다양한 통신방식(WiFi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 장치(900)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 어플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시 예에 따른 프로그램은 PC기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 애플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 이용자 단말에 설치될 수 있다. 일 예로, 파일 배포 시스템은 이용자 단말이기의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시 예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술 분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅 장치상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시 예들이 비록 한정된 실시 예와 도면에 의해 설명되었으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시 예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
800: 맵 토폴로지 구축 장치
810: 통신 모듈
820: 데이터 수신부
830: 경계선 추출부
840: 주행 가능 구간 식별부
850: 맵 토폴로지 생성부
860: 데이터베이스(DB)
900: 맵 토폴로지 구축 장치
910: 프로세서
920: 통신 회로
930: 메모리
810: 통신 모듈
820: 데이터 수신부
830: 경계선 추출부
840: 주행 가능 구간 식별부
850: 맵 토폴로지 생성부
860: 데이터베이스(DB)
900: 맵 토폴로지 구축 장치
910: 프로세서
920: 통신 회로
930: 메모리
Claims (10)
- 프로세서에 의해 구현되는, 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법에 있어서,
건물 모델을 구성하는 복수의 객체에 대한 객체 데이터를 수신하는 단계;
상기 객체 데이터를 이용하여 내부 경계선 및 외부 경계선을 추출하는 단계;
상기 내부 경계선 및 상기 외부 경계선에 기초하여 자율주행 장치의 주행 가능 구간을 식별하는 단계; 및
상기 주행 가능 구간을 이용한 맵 토폴로지를 생성하는 단계;를 포함하고,
상기 내부 경계선을 추출하는 단계는,
상기 객체 데이터가 가질 수 있는 복수의 타입들 중에서 내부 장애물에 해당하는 제1 객체 타입을 결정하는 단계;
상기 제1 객체 타입을 갖는 객체 데이터의 바닥을 구성하는 제1 폴리곤을 추출하는 단계;
상기 제1 폴리곤을 구성하는 제1 라인 리스트를 추출하는 단계;
상기 제1 라인 리스트에서 교차하는 라인을 교차점을 기준으로 분리하여 제2 라인 리스트를 추출하는 단계; 및
상기 제2 라인 리스트에서 상기 제1 폴리곤을 구성하는 라인에 의해 양쪽 모두 닫힌 라인을 제거하여 외부 라인만 포함하는 상기 내부 경계선을 추출하는 단계;를 포함하는, 방법. - 삭제
- 제 1 항에 있어서,
상기 외부 경계선을 추출하는 단계는,
상기 객체 데이터가 가질 수 있는 복수의 타입들 중에서 건물 외벽에 해당하는 제2 객체 타입을 결정하는 단계;
상기 제2 객체 타입을 갖는 객체 데이터의 바닥을 구성하는 제2 폴리곤을 추출하는 단계;
상기 제2 폴리곤을 구성하는 제4 라인 리스트를 추출하는 단계;
상기 제4 라인 리스트에서 닫힌 구간을 추출하는 단계; 및
상기 닫힌 구간 중 하나의 폴리곤을 구성하는 라인으로만 닫힌 구간을 제거하여 외부 경계선을 추출하는 단계;
를 포함하는, 방법. - 웹기반 디지털트윈 환경에서의 맵 토폴로지를 구축하기 위한 장치에 있어서,
적어도 하나의 프로그램이 저장된 메모리; 및
상기 적어도 하나의 프로그램을 실행함으로써 연산을 수행하는 프로세서를 포함하고,
상기 프로세서는,
건물 모델을 구성하는 복수의 객체에 대한 객체 데이터를 수신하고,
상기 객체 데이터를 이용하여 내부 경계선 및 외부 경계선을 추출하고,
상기 내부 경계선 및 상기 외부 경계선에 기초하여 자율주행 장치의 주행 가능 구간을 식별하고,
상기 주행 가능 구간을 이용한 맵 토폴로지를 생성하되,
상기 프로세서가 상기 내부 경계선을 추출하는 것은,
상기 객체 데이터가 가질 수 있는 복수의 타입들 중에서 내부 장애물에 해당하는 제1 객체 타입을 결정하고,
상기 제1 객체 타입을 갖는 객체 데이터의 바닥을 구성하는 제1 폴리곤을 추출하고,
상기 제1 폴리곤을 구성하는 제1 라인 리스트를 추출하고,
상기 제1 라인 리스트에서 교차하는 라인을 교차점을 기준으로 분리하여 제2 라인 리스트를 추출하고,
상기 제2 라인 리스트에서 상기 제1 폴리곤을 구성하는 라인에 의해 양쪽 모두 닫힌 라인을 제거하여 외부 라인만 포함하는 상기 내부 경계선을 추출하는 것을 포함하는, 장치. - 제 1 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
- 제 1 항에 있어서,
상기 방법은,
상기 내부 경계선 및 상기 외부 경계선의 포인트를 추출하는 단계; 및
상기 포인트를 이어주는 링크를 생성하는 단계;
를 더 포함하는, 방법. - 제 1 항에 있어서,
상기 주행 가능 구간은 상기 내부 경계선의 외부 영역과 상기 외부 경계선의 내부 영역의 공통 영역인 것인, 방법. - 제 1 항에 있어서,
상기 방법은,
상기 복수의 객체가 속한 공간 모델 데이터를 수신하는 단계;
를 더 포함하고,
상기 맵 토폴로지를 생성하는 단계는,
상기 수신한 공간 모델 데이터에 격자를 생성하는 단계;
상기 격자를 구성하는 교점들로 이루어진 제1 교점 목록을 생성하는 단계;
상기 제1 교점 목록의 교점 중 상기 주행 가능 구간에 포함된 교점을 추출하여 제2 교점 목록을 생성하는 단계;
상기 제2 교점 목록의 교점을 상기 격자의 대각선 길이 반경 안에 있는 제2 교점 목록의 다른 교점과 연결하여 복수의 링크를 생성하는 단계; 및
상기 복수의 링크 중 상기 내부 경계선 및 상기 외부 경계선과 교차하는 링크를 제거하는 단계;
를 포함하는, 방법. - 제 8 항에 있어서,
상기 격자를 생성하는 단계는,
상기 맵 토폴로지의 용량에 따라 상기 격자의 간격을 조절할 수 있는 것인, 방법. - 제 8 항에 있어서,
상기 방법은,
사용자로부터 출발 포인트 및 목적 포인트를 포함하는 복수의 포인트를 수신하는 단계;
상기 생성된 맵 토폴로지를 이용하여 상기 복수의 포인트를 연결하는 복수의 경로를 생성하는 단계; 및
상기 복수의 경로 중 어느 하나의 경로를 선택하는 단계;
를 더 포함하는, 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2023/002661 WO2023177113A1 (ko) | 2022-03-16 | 2023-02-24 | 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법 및 시스템 |
KR1020230058604A KR20230135544A (ko) | 2022-03-16 | 2023-05-04 | 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법 및 시스템 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220032530 | 2022-03-16 | ||
KR20220032530 | 2022-03-16 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230058604A Division KR20230135544A (ko) | 2022-03-16 | 2023-05-04 | 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102531141B1 true KR102531141B1 (ko) | 2023-05-11 |
Family
ID=86378949
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220040741A KR102531141B1 (ko) | 2022-03-16 | 2022-03-31 | 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법 및 시스템 |
KR1020230058604A KR20230135544A (ko) | 2022-03-16 | 2023-05-04 | 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법 및 시스템 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230058604A KR20230135544A (ko) | 2022-03-16 | 2023-05-04 | 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법 및 시스템 |
Country Status (2)
Country | Link |
---|---|
KR (2) | KR102531141B1 (ko) |
WO (1) | WO2023177113A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118135145B (zh) * | 2024-02-04 | 2024-10-15 | 二十一世纪空间技术应用股份有限公司 | 一种建筑物白模构建方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140112958A (ko) * | 2013-03-15 | 2014-09-24 | 버츄얼빌더스 주식회사 | 실내 공간 데이터 모델 생성 시스템 |
KR20150085088A (ko) * | 2012-11-30 | 2015-07-22 | 퀄컴 인코포레이티드 | 이미지―기반 실내 포지션 결정 |
JP2017041149A (ja) * | 2015-08-20 | 2017-02-23 | 株式会社サイバーウォーカー | 経路生成プログラム、経路生成方法及び経路生成装置 |
KR20180109410A (ko) * | 2017-03-28 | 2018-10-08 | 네이버 주식회사 | 실내지도 작성 방법 및 그 장치 |
KR20200029145A (ko) * | 2018-09-10 | 2020-03-18 | 한국과학기술원 | 지능형 실내 공간 서비스를 위한 공간의 기능 및 의미를 포함한 실내 공간 모델링 방법 및 장치 |
KR102287401B1 (ko) * | 2021-05-28 | 2021-08-09 | 주식회사 폴라리스쓰리디 | 3d 공간 지도를 2d 평면도로 변환하기 위한 방법 및 장치 |
KR102357429B1 (ko) * | 2021-01-06 | 2022-02-08 | 주식회사 플럭시티 | 3차원 모델링 데이터의 공간정보 설정 및 활용 방법, 장치 및 컴퓨터-판독가능 기록매체 |
-
2022
- 2022-03-31 KR KR1020220040741A patent/KR102531141B1/ko active IP Right Grant
-
2023
- 2023-02-24 WO PCT/KR2023/002661 patent/WO2023177113A1/ko unknown
- 2023-05-04 KR KR1020230058604A patent/KR20230135544A/ko unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150085088A (ko) * | 2012-11-30 | 2015-07-22 | 퀄컴 인코포레이티드 | 이미지―기반 실내 포지션 결정 |
KR20140112958A (ko) * | 2013-03-15 | 2014-09-24 | 버츄얼빌더스 주식회사 | 실내 공간 데이터 모델 생성 시스템 |
KR101591310B1 (ko) | 2013-03-15 | 2016-02-03 | 버츄얼빌더스 주식회사 | 실내 공간 데이터 모델 생성 시스템 |
JP2017041149A (ja) * | 2015-08-20 | 2017-02-23 | 株式会社サイバーウォーカー | 経路生成プログラム、経路生成方法及び経路生成装置 |
KR20180109410A (ko) * | 2017-03-28 | 2018-10-08 | 네이버 주식회사 | 실내지도 작성 방법 및 그 장치 |
KR20200029145A (ko) * | 2018-09-10 | 2020-03-18 | 한국과학기술원 | 지능형 실내 공간 서비스를 위한 공간의 기능 및 의미를 포함한 실내 공간 모델링 방법 및 장치 |
KR102357429B1 (ko) * | 2021-01-06 | 2022-02-08 | 주식회사 플럭시티 | 3차원 모델링 데이터의 공간정보 설정 및 활용 방법, 장치 및 컴퓨터-판독가능 기록매체 |
KR102287401B1 (ko) * | 2021-05-28 | 2021-08-09 | 주식회사 폴라리스쓰리디 | 3d 공간 지도를 2d 평면도로 변환하기 위한 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
WO2023177113A1 (ko) | 2023-09-21 |
KR20230135544A (ko) | 2023-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109979006B (zh) | 室内路网模型构建方法及装置 | |
Van Toll et al. | Navigation meshes for realistic multi-layered environments | |
KR102160990B1 (ko) | 객체 기반의 3d 도시 모델링 방법 및 이를 구현하는 서버, 그리고 이를 이용하는 시스템 | |
Hamledari et al. | Automation of inspection mission planning using 4D BIMs and in support of unmanned aerial vehicle–based data collection | |
Hamieh et al. | A BIM-based method to plan indoor paths | |
Van Toll et al. | Real‐time density‐based crowd simulation | |
CN111080786B (zh) | 基于bim的室内地图模型构建方法及装置 | |
JP6725432B2 (ja) | 配管作業経路作成装置、配管作業経路作成方法およびプログラム | |
Zlatanova et al. | Space subdivision for indoor applications | |
Pereira et al. | Platform for controlling and getting data from network connected drones in indoor environments | |
Xu et al. | Indoor guided evacuation: TIN for graph generation and crowd evacuation | |
Wang et al. | A dynamic fire escape path planning method with BIM | |
CN106980633A (zh) | 室内地图数据的生成方法及装置 | |
Xiong et al. | Free multi-floor indoor space extraction from complex 3D building models | |
KR102531141B1 (ko) | 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법 및 시스템 | |
KR20230119591A (ko) | 3차원 모델링 데이터의 공간정보 설정 및 활용 방법, 장치 및 컴퓨터-판독가능 기록매체 | |
CN111928839A (zh) | 一种通行路线规划方法、装置及计算机设备 | |
CN102682150A (zh) | 设计导航场景 | |
KR20140137068A (ko) | 피난 시뮬레이션 시스템 및 그 제공방법 | |
Boguslawski et al. | 3D building interior modelling for navigation in emergency response applications | |
JPWO2018016558A1 (ja) | シミュレーション装置、シミュレーションシステム、シミュレーション方法、及びプログラム | |
Lin et al. | Automating the generation of indoor space topology for 3D route planning using BIM and 3D-GIS techniques | |
Jiang et al. | Status quo and challenges and future development of fire emergency evacuation research and application in built environment | |
Mekni | Using gis data to build informed virtual geographic environments (ivge) | |
US10146888B2 (en) | Systems and methods for criteria analysis prototyping |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |