KR102611204B1 - 모바일 디바이스의 이동 패턴에 기반한 실내 지도 어플리케이션 제어 방법 및 시스템 - Google Patents

모바일 디바이스의 이동 패턴에 기반한 실내 지도 어플리케이션 제어 방법 및 시스템 Download PDF

Info

Publication number
KR102611204B1
KR102611204B1 KR1020230041181A KR20230041181A KR102611204B1 KR 102611204 B1 KR102611204 B1 KR 102611204B1 KR 1020230041181 A KR1020230041181 A KR 1020230041181A KR 20230041181 A KR20230041181 A KR 20230041181A KR 102611204 B1 KR102611204 B1 KR 102611204B1
Authority
KR
South Korea
Prior art keywords
electronic device
data
location
processor
indoor
Prior art date
Application number
KR1020230041181A
Other languages
English (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 주식회사 프리그로우
Application granted granted Critical
Publication of KR102611204B1 publication Critical patent/KR102611204B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/04Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means
    • G01C21/08Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means involving use of the magnetic field of the earth
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3844Data obtained from position sensors only, e.g. from inertial navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C5/00Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels
    • G01C5/06Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels by using barometric means
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S2205/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S2205/01Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations specially adapted for specific applications
    • G01S2205/02Indoor

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Navigation (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Geology (AREA)
  • Signal Processing (AREA)

Abstract

본 개시의 일 실시예에 따르면, 지도 어플리케이션을 제어하는 전자 장치에 있어서, 적어도 하나의 센서, 메모리 및 상기 메모리에 전자적으로 연결되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는,제1 동작 모드에 따라 어플리케이션을 구동하여 실내 진입 여부를 식별하고, 실내 진입 식별 동작에 대응하여, 상기 전자 장치의 이동 패턴이 제1 이동 패턴인 경우, 제2 동작 모드에 따라 어플리케이션을 제어하고, 실내 진입 식별 동작에 대응하여, 상기 전자 장치의 이동 패턴이 제1 이동 패턴인 경우, 제3 동작 모드에 따라 어플리케이션을 제어하는 전자 장치가 제공될 수 있다.

Description

모바일 디바이스의 이동 패턴에 기반한 실내 지도 어플리케이션 제어 방법 및 시스템{A METHOD AND SYSTEM FOR CONTROLLING AN INDOOR MAP APPLICATION BASED ON MOVEMENT PATTERNS OF A MOBILE DEVICE}
본 개시는, 실내 측위 기능을 제공하는 전자 장치에 대한 것이다. 보다 자세하게는, 실내 지도 데이터 및 측위 데이터를 이용하여 실내 측위 기능 및 실내 지도 서비스를 제공하는 전자 장치에 관한 것이다.
핑거프린팅(Fingerprinting) 기반 실내 측위 기술은 실내에서 모바일 기기나 IoT 기기 등의 위치를 정확하게 파악하기 위해 사용되고 있다. 구체적으로, 실내 위치를 측정하기 위해, 실내에 설치된 와이파이 액세스 포인트(AP)나 블루투스 비콘 등의 기기들이 발신하는 신호를 수집함으로써 지도 데이터베이스를 만든 뒤, 위치를 파악하려는 모바일 기기나 IoT 기기 등의 기기로부터 수신된 신호를 데이터베이스와 비교하여 기기의 위치를 파악할 수 있다.
상술한 실내 측위 기술은 위치 파악에 높은 정확도를 보이기 때문에 실내에서 정확한 위치 파악이 필요한 스마트홈, 로봇, 증강현실, 산업용 자동화 등의 분야에서 활용되고 있다.
다만, 핑거프린팅 기반 실내 측위 기술은 환경 변화에 민감하기 때문에, 실내 환경에 변화가 발생하는 경우(예: 실내 구조물의 위치 변화, 입점 업체의 변경 등), 측위 정확도가 매우 떨어지는 문제가 있다.
또한, 핑거프린팅 기반 실내 측위 기술은 지도 데이터베이스를 구축하는 데 필요한 기 비용과 노력이 크다는 문제가 있다. 와이파이 AP나 블루투스 비콘의 위치와 신호 세기를 수집하여 지도 데이터베이스를 만들기 위해서는 실내 공간을 다니며 직접 데이터를 수집해야되기 때문에, 데이터베이스를 구축하는 데에 비용과 노력이 발생할 수밖에 없다.
본 개시의 일 과제는, 실내 환경의 변화를 반영하여 실내 지도 및 측위 데이터를 자동으로 업데이트하는 방법을 제공하는 것이다.
본 개시의 다른 일 과제는, 사용자의 이용 환경을 고려하여 지도 어플리케이션을 제어하는 방법을 제공하는 것이다.
본 개시의 또 다른 일 과제는, 실내 공간에 위치하는 사용자 장치들의 실내 위치 정확도를 향상시키는 것이다.
한편, 본 개시에서 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 개시에 포함된 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 실시예에 따르면, 복수의 사용자 디바이스들에 지도 서비스를 제공하기 위한 전자 장치로서, 메모리 및 상기 메모리에 전자적으로 연결되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 적어도 하나의 관심 지점을 포함하는 제1 장소 내에 위치하는 적어도 하나의 사용자 디바이스로부터 제1 데이터 셋을 수신하고, 상기 제1 데이터 셋, 상기 제1 장소에 대응되는 제1 실내 지도 데이터(indoor map data) - 이때, 상기 제1 실내 지도 데이터는 관심 지점에 대응되는 영역을 나타내는 풋프린트(footprint)를 포함함 - 및 상기 제1 실내 지도 데이터에 대응되는 제1 측위 데이터- 이때, 상기 제1 측위 데이터는 상기 제1 실내 지도 데이터에 대응되는 복수의 측위점들을 포함하는 제1 측위점 셋을 포함함 - 중 적어도 하나를 기초로 상기 적어도 하나의 사용자 디바이스의 위치를 식별하고, 식별된 상기 적어도 하나의 사용자 디바이스의 위치를 반영하는 제2 데이터 셋을 상기 메모리에 저장하고, 상기 제2 데이터 셋 및 미리 저장된 제1 이동 가능 경로 데이터 - 이때, 상기 제1 이동 가능 경로 데이터는 상기 제1 측위 데이터에 포함되는 복수의 측위점들 중 적어도 일부를 기초로 설정되거나 상기 적어도 하나의 관심 지점의 풋프린트 및 상기 제1 장소에 포함되는 적어도 하나의 고정물(fixture)의 위치를 고려하여 설정됨 - 를 기초로, 조정 대상 구역을 식별하도록 설정되는 전자 장치가 제공될 수 있다.
또한, 본 개시의 일 실시예에 따르면, 복수의 사용자 디바이스들에 지도 서비스를 제공하기 위한 전자 장치로서, 메모리 및 상기 메모리에 전자적으로 연결되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 적어도 하나의 관심 지점을 포함하는 제1 장소 내에 위치하는 적어도 하나의 사용자 디바이스로부터 제1 데이터 셋을 수신하고, 상기 제1 데이터 셋을 기초로 상기 제1 장소에 대응되는 제1 실내 지도 데이터(indoor map data)에 대응되는 제1 측위 데이터- 이때, 상기 제1 측위 데이터는 상기 제1 실내 지도 데이터에 대응되는 복수의 측위점들을 포함하는 제1 측위점 셋을 포함함 -의 적어도 하나의 속성을 조정하여 제2 측위점 셋을 포함하는 제2 측위 데이터를 획득하고, 상기 제2 측위 데이터를 기초로 상기 제1 실내 지도 데이터에 포함되는 제1 대상 구역을 식별하고, 상기 제1 실내 지도 데이터를 기초로, 상기 제1 대상 구역에 연관된 적어도 하나의 파라미터를 조정하여 제2 실내 지도 데이터를 획득하도록 설정되는 전자 장치가 제공될 수 있다.
또한, 본 개시의 일 실시예에 따르면, 복수의 사용자 디바이스들에 지도 서비스를 제공하기 위한 전자 장치로서, 메모리 및 상기 메모리에 전자적으로 연결되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 적어도 하나의 관심 지점을 포함하는 제1 장소 내에 위치하는 적어도 하나의 사용자 디바이스에 상기 제1 장소에 대응되는 제1 실내 지도를 제공하고, 상기 적어도 하나의 사용자 디바이스로부터 제1 데이터 셋- 상기 제1 데이터 셋은 상기 사용자 디바이스에 포함되는 제1 센서에 의해 수집된 제1 센서 데이터 및 제2 센서에 의해 수집된 제2 센서 데이터를 포함함 - 을 수신하고, 상기 제1 센서 데이터를 기초로 상기 적어도 하나의 사용자 디바이스의 층간 이동을 식별하고, 상기 층간 이동의 식별 동작에 대응하여, 상기 제2 센서 데이터를 기초로 미리 저장된 복수의 층간 이동 수단들 중 층간 이동에 연관되는 층간 이동 수단을 나타내는 층간 이동 수단 정보를 획득하고, 상기 층간 이동 수단 정보를 반영한 제2 실내 지도를 상기 제1 장소 내에 위치하는 복수의 사용자 디바이스들에 제공하도록 설정되는 전자 장치가 제공될 수 있다.
또한, 본 개시의 일 실시예에 따르면, 지도 어플리케이션을 제어하는 전자 장치에 있어서, 적어도 하나의 센서, 메모리 및 상기 메모리에 전자적으로 연결되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 제1 동작 모드에 따라 어플리케이션을 구동하여 실내 진입 여부를 식별하고, 실내 진입 식별 동작에 대응하여, 상기 전자 장치의 이동 패턴이 제1 이동 패턴인 경우, 제2 동작 모드에 따라 어플리케이션을 제어하고, 실내 진입 식별 동작에 대응하여, 상기 전자 장치의 이동 패턴이 제1 이동 패턴인 경우, 제3 동작 모드에 따라 어플리케이션을 제어하되, 상기 제2 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 AP(access point) 데이터 및 제1 가속도 데이터를 기초로 상기 전자 장치의 위치에 대응되는 제1 위치 데이터를 획득하는 동작을 포함하고, 상기 제3 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 제2 가속도 데이터를 기초로 상기 전자 장치의 위치에 대응되는 제2 위치 데이터를 획득하는 동작 및 상기 제2 위치 데이터를 기초로 상기 전자 장치의 이동 패턴이 상기 제2 이동 패턴에서 상기 제1 이동 패턴으로 변경되는 제1 시간 구간을 식별하여, 상기 제1 시간 구간에 대응되는 제3 위치 데이터를 상기 메모리에 저장하는 동작을 포함하는 전자 장치가 제공될 수 있다.
또한, 본 개시의 일 실시예에 따르면, 실내 공간에 위치하는 적어도 하나의 사용자 디바이스의 위치를 추정하기 위한 전자 장치로서, 메모리 및 상기 메모리에 전자적으로 연결되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 목적지 위치가 동일한 제1 사용자 디바이스 및 제2 사용자 디바이스를 식별하고, 제1 위치로 식별된 제1 사용자 디바이스의 위치가 제1 시점에 제1 앵커 위치에 대응되는 제1 보정 위치로 결정하고, 제2 위치로 식별된 제2 사용자 디바이스의 위치가 상기 제1 시점에 대응되는 제2 시점에 상기 제1 앵커 위치에 대응되는 제2 보정 위치로 결정하고, 상기 제1 사용자 디바이스의 위치가 제3 시점에 제2 앵커 위치에 대응되는 제3 보정 위치로 결정되는 경우, 상기 제2 사용자 디바이스의 위치를 상기 제3 시점에 대응되는 제4 시점에 상기 제3 보정 위치로 결정하도록 설정되고, 상기 제1 위치 및 상기 제1 보정 위치 사이의 제1 거리가 상기 제2 위치 및 상기 제2 보정 위치 사이의 제2 거리 보다 작은 것을 특징으로 하는 전자 장치가 제공될 수 있다.
다양한 실시예들에 따른, 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
다양한 실시예들에 따르면, 본 개시의 전자 장치를 이용하여, 실내 지도 및 측위 데이터를 자동으로 업데이트하여, 실내 측위를 위한 데이터베이스를 효율적으로 구축할 수 있다.
또한, 다양한 실시예들에 따르면, 본 개시의 전자 장치를 이용하여, 사용자의 이용 환경을 고려하여 지도 어플리케이션을 제어하여, 이용 환경 별로 최적화된 기능을 사용자에게 제공할 수 있다.
또한, 다양한 실시예들에 따르면, 본 개시의 전자 장치를 이용하여, 실내 공간에 위치하는 사용자 장치들의 실내 위치 정확도를 향상할 수 있다.
본 개시에 포함된 실시예들에 따른 효과들이 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은, 다양한 실시예들에 따른, 실내 지도 정보를 제공하고, 실내 위치를 추정하고, 실내 경로를 제공하기 위한 예시적인 시스템(1)을 설명하기 위한 도면이다.
도 2는, 다양한 실시예들에 따른, 도 1의 예시적인 시스템(1)에 포함되는 전자 장치의 구성을 도시한 도면이다.
도 3은, 다양한 실시예들에 따른, 실내 지도 데이터를 기반으로 지도 서비스를 제공하는 전자 장치의 상세 구성을 도시한 도면이다.
도 4는, 다양한 실시예들에 따른, 전자 장치가 포함하는 실내 지도 데이터를 설명하기 위한 도면이다.
도 5는, 다양한 실시예들에 따른, 전자 장치가 포함하는 제1 장소에 대응되는 실내 측위 데이터 셋을 설명하기 위한 도면이다.
도 6은, 다양한 실시예들에 따른, 전자 장치가 측위 데이터 셋을 구축하는 방법을 나타내는 도면이다.
도 7은, 다양한 실시예들에 따른, 전자 장치가 실내 측위 데이터 셋을 이용하여 사용자 디바이스의 위치를 측정하기 위한 방법을 도시한 흐름도이다.
도 8은, 다양한 실시예들에 따른, 전자 장치에 의해 수행되는 다양한 종류의 측위 알고리즘들에 대해 설명하기 위한 도면이다.
도 9는, 다양한 실시예들에 따른, 전자 장치가 실내 지도 데이터를 업데이트하기 위한 일 예시를 도시한 도면이다.
도 10은, 다양한 실시예들에 따른, 전자 장치가 실내 지도 데이터를 업데이트 하기 위한 일 예시를 도시한 흐름도이다.
도 11은, 다양한 실시예들에 따른, 전자 장치가 조정 대상 구역을 식별하는 구체적인 방법을 도시한 도면이다.
도 12는, 다양한 실시예들에 따른, 전자 장치가 조정 대상 구역 식별 동작에 대응하여 수행할 수 있는 동작을 설명하기 위한 도면이다.
도 13은, 다양한 실시예들에 따른, 전자 장치가 실내 측위 데이터 셋을 업데이트 하기 위한 다른 일 예시를 도시한 흐름도이다.
도 14는, 다양한 실시예들에 따른, 전자 장치가 측위 데이터를 업데이트하기 위한 일 예시를 도시한 도면이다.
도 15는, 다양한 실시예들에 따른, 전자 장치가 측위 데이터를 업데이트하기 위한 다른 일 예시를 도시한 도면이다.
도 16은, 다양한 실시예들에 따른, 전자 장치가 측위 데이터를 업데이트하기 위한 또 다른 일 예시를 도시한 도면이다.
도 17은, 다양한 실시예들에 따른, 전자 장치가 실내 지도 데이터를 업데이트하는 일 예시를 도시한 도면이다.
도 18은, 다양한 실시예들에 따른, 전자 장치가 실내 측위 데이터 셋을 업데이트하기 위한 또 다른 일 예시를 도시한 도면이다.
도 19는, 다양한 실시예에 따른, 전자 장치가 실내 지도를 업데이트하는 또 다른 일 예시를 도시한 도면이다.
도 20은, 다양한 실시예에 따른, 전자 장치가 실내 지도를 업데이트하는 또 다른 일 예시를 도시한 흐름도이다.
도 21은, 다양한 실시예들에 따른, 전자 장치가 층간 이동 수단 정보를 획득하는 방법을 도시한 도면이다.
도 22는, 다양한 실시예들에 따른, 전자 장치가 층간 이동 수단 정보를 반영하여 제2 실내 지도를 제공하는 방법을 도시한 도면이다.
도 23은, 다양한 실시예들에 따른, 전자 장치가 층간 이동 수단을 반영하여 실내 지도를 업데이트하는 다른 일 예시를 도시한 흐름도이다.
도 24는, 다양한 실시예들에 따른, 다양한 층간 이동 수단을 이용하는 상황에 획득되는 기압 데이터를 나타낸 도면이다.
도 25는, 다양한 실시예에 따른, 전자 장치가 실내 진입 여부에 따라 어플리케이션을 제어하는 방법을 도시한 도면이다.
도 26은, 다양한 실시예에 따른, 전자 장치가 실외에서 실내로 진입하는 다양한 상황들을 설명하기 위한 도면이다.
도 27은, 다양한 실시예들에 따른, 전자 장치가 이동 패턴을 기초로 어플리케이션의 실행을 제어하는 방법을 도시한 도면이다.
도 28은, 다양한 실시예들에 따른, 전자 장치가 동작 모드를 전환하는 동작을 설명하기 위한 도면이다.
도 29는, 다양한 실시예들에 따른, 전자 장치가 층 정보를 식별하기 위한 방법을 설명하기 위한 도면이다.
도 30은, 다양한 실시예들에 따른, 전자 장치 및 서버가 층 정보를 획득하기 위한 구체적인 방법을 설명하기 위한 도면이다.
도 31은, 다양한 실시예들에 따른, 전자 장치가 복수의 사용자 디바이스들의 측위 결과를 이용하여 위치를 보정하는 방법의 일 예시를 도시한 도면이다.
도 32는, 다양한 실시예들에 따른, 전자 장치가 사용자 디바이스의 위치 정보를 보정하기 위한 방법의 일 예시를 도시한 도면이다.
도 33은, 다양한 실시예들에 따른, 전자 장치가 사용자 디바이스의 경로를 기초로 위치를 보정하는 방법의 일 예시를 도시한 도면이다.
도 34는, 다양한 실시예들에 따른, 전자 장치가 사용자 디바이스의 경로를 기초로 위치를 보정하는 방법의 일 예시를 도시한 흐름도이다.
도 35는, 다양한 실시예들에 따른, 동행하는 것으로 판단되는 복수의 사용자 디바이스들의 스캔 주기 차이에 따른 위치 보정 방법 설명하기 위한 도면이다.
이하, 본 개시의 실시예를 첨부의 도면을 참조하여 상세하게 설명한다. 실시예를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
본 명세서에 기재된 실시예는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 본 발명의 사상을 명확히 설명하기 위한 것이므로, 본 발명이 본 명세서에 기재된 실시예에 한정되는 것은 아니며, 본 발명의 범위는 본 발명의 사상을 벗어나지 아니하는 수정예 또는 변형예를 포함하는 것으로 해석되어야 한다.
본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하여 가능한 현재 널리 사용되고 있는 일반적인 용어를 선택하였으나 이는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자의 의도, 판례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 다만, 이와 달리 특정한 용어를 임의의 의미로 정의하여 사용하는 경우에는 그 용어의 의미에 관하여 별도로 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가진 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 한다.
본 명세서에 첨부된 도면은 본 발명을 용이하게 설명하기 위한 것으로 도면에 도시된 형상은 본 발명의 이해를 돕기 위하여 필요에 따라 과장되어 표시된 것일 수 있으므로 본 발명이 도면에 의해 한정되는 것은 아니다.
본 명세서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다.
본 명세서에서 본 발명에 관련된 공지의 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에 이에 관한 자세한 설명은 필요에 따라 생략하기로 한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "부분" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
즉, 본 개시의 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 알려주기 위해 제공되는 것이며, 본 개시의 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
“제1” 및/또는 “제2” 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 개시의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
도면에서 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능할 수 있다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능할 수 있다.
또한, 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다. 예를 들어, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
본 개시에서 사용되는 '~부(unit)'라는 용어는 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 의미한다. '~부'는 특정한 역할들을 수행하지만 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일부 실시예에 따르면 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한 본 개시의 다양한 실시예에 따르면, '~부'는 하나 이상의 프로세서를 포함할 수 있다.
이하 첨부된 도면을 참조하여 본 개시의 동작 원리를 상세히 설명한다. 하기에서 본 개시를 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
다양한 실시예들에 따르면, 지도 어플리케이션을 제어하는 전자 장치에 있어서, 적어도 하나의 센서;메모리; 및 상기 메모리에 전자적으로 연결되는 적어도 하나의 프로세서;를 포함하고, 상기 적어도 하나의 프로세서는, 제1 동작 모드에 따라 어플리케이션을 구동하여 실내 진입 여부를 식별하고, 실내 진입 식별 동작에 대응하여, 상기 전자 장치의 이동 패턴이 제1 이동 패턴인 경우, 제2 동작 모드에 따라 어플리케이션을 제어하고, 실내 진입 식별 동작에 대응하여, 상기 전자 장치의 이동 패턴이 제1 이동 패턴인 경우, 제3 동작 모드에 따라 어플리케이션을 제어하되, 상기 제2 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 AP(access point) 데이터 및 제1 가속도 데이터를 기초로 상기 전자 장치의 위치에 대응되는 제1 위치 데이터를 획득하는 동작을 포함하고, 상기 제3 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 제2 가속도 데이터를 기초로 상기 전자 장치의 위치에 대응되는 제2 위치 데이터를 획득하는 동작 및 상기 제2 위치 데이터를 기초로 상기 전자 장치의 이동 패턴이 상기 제2 이동 패턴에서 상기 제1 이동 패턴으로 변경되는 제1 시간 구간을 식별하여, 상기 제1 시간 구간에 대응되는 제3 위치 데이터를 상기 메모리에 저장하는 동작을 포함하는 전자 장치가 제공될 수 있다.
상기 적어도 하나의 프로세서는 상기 적어도 하나의 센서를 이용하여 획득된 GPS 데이터를 기초로 실내 진입 여부를 식별하도록 설정될 수 있다.
상기 적어도 하나의 프로세서는 실내 진입을 나타내는 통신 신호를 수신하는 동작을 기초로 실내 진입 여부를 식별하도록 설정될 수 있다.
상기 제2 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 기압 데이터를 기초로 상기 전자 장치가 위치하는 층을 나타내는 층 정보를 획득하는 동작을 포함할 수 있다.
상기 층 정보는 상기 적어도 하나의 프로세서에 의해 제1 기압 데이터 셋 - 이때, 상기 제1 기압 데이터 셋은 층 별 기압 데이터의 분포를 나타냄 - 및 상기 기압 데이터를 기초로 획득될 수 있다.
상기 제1 기압 데이터 셋은 미리 정해진 시간 구간 동안 복수의 사용자 디바이스들로부터 수신된 기압 데이터를 기초로 획득될 수 있다.
상기 층 정보는 사용자 입력의 수신에 기초하여 획득될 수 있다.
상기 제3 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 자기장 데이터를 기초로 상기 제2 위치 데이터를 보정하는 동작을 포함할 수 있다.
상기 적어도 하나의 프로세서는 상기 제3 위치 데이터를 상기 메모리에 저장하는 동작을 수행한 후에, 상기 제3 동작 모드를 상기 제2 동작 모드로 전환하도록 설정될 수 있다.
상기 제1 이동 패턴은 보행 이동을 나타내고, 상기 제2 이동 패턴은 차량 이동을 나타낼 수 있다.
상기 적어도 하나의 프로세서는 제1 시간 구간 및 상기 제3 위치 데이터를 기초로 주차 정보를 생성하여 상기 메모리에 저장하도록 설정될 수 있다.
다양한 실시예들에 따르면, 지도 어플리케이션을 제어하기 위한 전자 장치의 동작 방법에 있어서, 상기 전자 장치에 포함되는 적어도 하나의 프로세서에 의해, 제1 동작 모드에 따라 어플리케이션을 구동하여 실내 진입 여부를 식별하는 단계; 및 실내 진입 식별 동작에 대응하여, 상기 전자 장치의 이동 패턴이 제1 이동 패턴인 경우, 제2 동작 모드에 따라 어플리케이션을 제어하는 단계; 및 실내 진입 식별 동작에 대응하여, 상기 전자 장치의 이동 패턴이 제1 이동 패턴인 경우, 제3 동작 모드에 따라 어플리케이션을 제어하는 단계;를 포함하고, 상기 제2 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 AP(access point) 데이터 및 제1 가속도 데이터를 기초로 상기 전자 장치의 위치에 대응되는 제1 위치 데이터를 획득하는 동작을 포함하고, 상기 제3 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 제2 가속도 데이터를 기초로 상기 전자 장치의 위치에 대응되는 제2 위치 데이터를 획득하는 동작 및 상기 제2 위치 데이터를 기초로 상기 전자 장치의 이동 패턴이 상기 제2 이동 패턴에서 상기 제1 이동 패턴으로 변경되는 제1 시간 구간을 식별하여, 상기 제1 시간 구간에 대응되는 제3 위치 데이터를 메모리에 저장하는 동작을 포함하는 전자 장치의 동작 방법이 제공될 수 있다.
다양한 실시예들에 따르면, 전자 장치; 상기 전자 장치의 실내 위치에 대한 정보를 생성하여 상기 전자 장치에 제공하는 서버;를 포함하는 시스템이 제공될 수 있다.
상기 서버는 상기 전자 장치에 상기 전자 장치가 위치하는 층을 나타내는 층 정보를 제공하도록 설정될 수 있다.
상기 층 정보는 상기 전자 장치에 의해 획득되는 기압 데이터를 기초로 획득될 수 있다.
[SYSTEM]
도 1은, 다양한 실시예들에 따른, 실내 지도 정보를 제공하고, 실내 위치를 추정하고, 실내 경로를 제공하기 위한 예시적인 시스템(1)을 설명하기 위한 도면이다.
도 1을 참조하면, 시스템(1)은 실내 지도를 기반으로 실내 위치 및 경로를 제공하기 위한 전자 장치(100, 예: 서버 장치, 이하 "전자 장치"라 함.) 및 전자 장치에 의해 제공되는 네비게이션 서비스를 이용하는 복수의 사용자 디바이스들(101)을 포함할 수 있다. 예를 들어, 전자 장치(100)는 지도(예: 네비게이션) 서비스 제공자와 연관된 컴퓨팅 디바이스 또는 복수의 컴퓨팅 디바이스들을 나타낼 수 있다. 전자 장치(100)는 서버 하드웨어 아키텍쳐에 대응될 수 있으며, 지도 및/또는 네비게이션 서비스를 제공하기 위한 적어도 하나의 프로세서를 포함할 수 있다. 전자 장치(100)의 상세 구성에 대한 설명은 도 3에 관한 개시에서 설명한다.
본 개시의 일 실시예에 따르면, 전자 장치(100)는 실내 지도 환경을 제공할 수 있다. 이때, 실내 지도 환경은 지도 서비스 제공자를 위한 백엔드 프로세싱을 제공하는 지도 소프트웨어 서버에 의해 제공될 수 있다. 예를 들어, 소프트웨어 서버는 지도 데이터베이스로부터 지도 데이터(예를 들어, 지도 이미지, 실내 지도 데이터, 관심 지점, 네비게이션 및/또는 경로 정보)를 획득하고, 사용자 디바이스들(101)이 사용자 디바이스들(101)의 이용자들에게 지도 및/또는 네비게이션 정보를 제공하도록 지도 데이터를 복수의 사용자 디바이스들로 전송할 수 있다. 예를 들어, 지도 소프트웨어 서버는 사용자 디바이스가 네트워크(예: 인터넷 등)를 통해 전자 장치(100)에 연결되어 있는 동안 지도 데이터를 사용자 디바이스로 전송할 수 있다. 사용자 디바이스는 사용자 디바이스 상의 지도 또는 네비게이션 어플리케이션을 사용하여 이용자에게 지도 데이터를 제공할 수 있다.
복수의 사용자 디바이스들(101)은 전자 장치(100)에 의해 제공되는 지도 서비스(110)를 이용하기 위한 이용자 단말들을 나타낼 수 있다. 예를 들어, 복수의 사용자 디바이스들(101)은 노트북 컴퓨터, 스마트폰, 태블릿 등과 같은 컴퓨팅 디바이스일 수 있다. 또한, 예를 들어, 복수의 사용자 디바이스들(101)은 스마트 워치, 스마트 글래스, 스마트 안경 등과 같은 웨어러블 디바이스일 수 있다. 또한, 예를 들어, 복수의 사용자 디바이스들(101)은 스트리밍 미디어 디바이스, 미디어 플레이어, 자동차 엔터테인먼트 시스템 등과 같은 미디어 디바이스일 수도 있다. 즉, 복수의 사용자 디바이스들(101)은 본 개시의 다양한 실시예들에 따른 지도 데이터를 획득하기 위해 네트워크에 접속하는 디바이스일 수 있다.
복수의 사용자 디바이스들(101) 각각은 어플리케이션을 이용하는 이용자 아이디에 대응되는 사용자 디바이스들로 구성될 수 있다. 예를 들어, 복수의 사용자 디바이스들(101)은 제1 이용자 아이디에 대응되는 제1 사용자 디바이스(101a), 제2 이용자 아이디에 대응되는 제2 사용자 디바이스(101b), 제3 이용자 아이디에 대응되는 제3 사용자 디바이스(101c) 등을 포함할 수 있다.
[전자 장치의 구성]
도 2는, 다양한 실시예들에 따른, 도 1의 예시적인 시스템(1)에 포함되는 전자 장치의 구성을 도시한 도면이다.
도 2를 참조하면, 일 실시예에 따른 전자 장치(예: 사용자 디바이스 또는 전자 장치, 이하 "전자 장치"라 함)(200)는 프로세서(210), 메모리(220), 통신 회로(230) 센서(240) 및 디스플레이(250)를 포함할 수 있다. 여기서, 전자 장치(200)는 도 1의 사용자 디바이스로 구현되는 전자 장치 및 서버 장치로 구현되는 전자 장치를 모두 포함하는 개념일 수 있다. 전자 장치(200)의 구성이 도 2에 도시된 구성이나 상술한 구성에 한정되는 것은 아니고, 일반적인 컴퓨팅 장치 또는 모바일 디바이스에 포함되는 하드웨어 또는 소프트웨어 구성을 더 포함할 수 있음은 물론이다.
프로세서(210)는 적어도 일부가 서로 다른 기능을 제공하도록 구현되는 적어도 하나의 프로세서를 포함할 수 있다. 예를 들면, 소프트웨어(예: 프로그램)를 실행하여 프로세서(210)에 연결된 전자 장치(200)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(210)는 다른 구성요소로부터 수신된 명령 또는 데이터를 메모리(220)(예: 휘발성 메모리)에 저장하고, 휘발성 메모리에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다. 일 실시예에 따르면, 프로세서(210)는 메인 프로세서(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(200)가 메인 프로세서 및 보조 프로세서를 포함하는 경우, 보조 프로세서는 메인 프로세서보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서는 메인 프로세서와 별개로, 또는 그 일부로서 구현될 수 있다. 보조 프로세서는, 예를 들면, 메인 프로세서가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서를 대신하여, 또는 메인 프로세서가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서와 함께, 전자 장치(200)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이(250), 또는 통신 회로(230))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 통신 회로(230))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(200) 자체에서 수행될 수 있고, 별도의 서버를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다. 한편, 이하에서 기술되는 전자 장치(200)의 동작은, 프로세서(210)의 동작으로 이해될 수 있다.
다양한 실시예들에 따르면, 메모리(220)는 적어도 일부가 서로 다른 기능을 제공하도록 구현되는 적어도 하나의 메모리를 포함할 수 있다. 메모리(220)는 전자 장치(200)의 적어도 하나의 구성요소(예: 프로세서(210))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(220)는, 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(220)는 운영 체제, 미들웨어 또는 어플리케이션, 및/또는 전술한 인공지능 모델을 저장하도록 구현될 수 있다.
예를 들어, 메모리(220)는 지도 서비스(110)에 접근(access)하기 위한 지도 어플리케이션을 포함할 수 있다. 지도 어플리케이션은 사용자가 목적지를 검색 및/또는 지정할 수 있는 기능을 제공할 수 있다. 일 실시예에서, 지도 애플리케이션은 사용자가 사용자 디바이스에 근접한 특정 장소 및/또는 특정 장소 내의 특정 장소 및/또는 항목을 검색할 수 있도록 구현될 수 있다. 지도 어플리케이션은 사용자가 사용자의 현재 위치에 대응하는 지도, 검색 결과 또는 다른 관심 지점과 연관된 위치에 대응하는 지도, 및/또는 사용자가 선택한 목적지 위치 또는 지리적 영역에 대응하는 지도의 표현을 볼 수 있도록 하는 기능을 제공할 수 있다. 지도 어플리케이션은 목적지까지의 경로를 요청하는 사용자 입력을 수신할 수 있고, 지도 어플리케이션은 시작 위치(예를 들어, 사용자 디바이스의 현재 위치, 사용자 지정 위치 등)로부터 지정된 목적지까지의 경로를 제공할 수 있다.
또한, 지도 어플리케이션은 장소(예: 복합 쇼핑몰, 공항, 공사장 또는 지하 주차장 등)의 물리적 구조의 표현을 제공할 수 있다. 또한, 아래에서 논의되는 바와 같이, 지도 어플리케이션은 장소 구조의 물리적 레이아웃 및 기하학적 구조 뿐만 아니라 장소 내의 관심 지점(예: 상점, 레스토랑, 보안 검색대, 화장실)의 위치, 구조 및 레이아웃을 포함하는 장소 내부의 뷰를 제공할 수 있다. 사용자가 행사장을 확대하여 관심 지점을 표시하면 뷰가 더욱 상세해질 수 있다. 일부 실시예에서, 장소 내부의 뷰는 일부 유형의 장소에 포함되는 야외 산책 공간 또는 안뜰을 포함할 수 있다.
또한, 예를 들어, 메모리(220)는 지도 서비스(110)에 의해 제공되는 기능들을 구현하기 위한 프로세서(210)의 동작들을 지시하는 복수의 지시 사항들(Instructions)을 포함할 수 있다.
이때, 프로세서(210)는 메모리(220)에 저장된 복수의 지시 사항들을 기초로 지도 서비스(110)에 의해 제공되는 기능들을 실행하는 지도 소프트웨어 서버를 포함할 수 있다.
지도 소프트웨어 서버는 실내 지도 데이터 구축(building) 기능을 제공할 수 있다. 지도 소프트웨어 서버는 장소의 물리적 구조물들을 폴리 라인(poly-line) 및 대응되는 다양한 정보를 이용하여 정의한 실내 지도 데이터를 구축하도록 설정될 수 있다.
또, 지도 소프트웨어 서버는 실내 지도 데이터에 대응되는 측위 데이터 구축 기능을 제공할 수 있다. 구체적으로, 지도 소프트웨어 서버는 센서(240)를 이용하여 획득되는 센서 데이터를 기초로 실내 지도 데이터에 대응되는 측위 데이터를 구축하도록 설정될 수 있다.
또, 지도 소프트웨어 서버는 실내 지도 데이터 및 측위 데이터로 구성되는 측위 데이터 셋의 업데이트 기능을 제공할 수 있다.
또, 지도 소프트웨어 서버는 실내 위치 보정 기능을 제공할 수 있다.
지도 소프트웨어 서버에 의해 제공되는 기능들에 대한 상세한 내용은 아래에서 자세히 설명한다.
다양한 실시예들에 따르면, 통신 회로(230)는 전자 장치(200)와 외부 전자 장치(예: 내시경 장치) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 회로(230)는 프로세서(210)(예: 프로그램 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서(예: 통신 칩)를 포함할 수 있다. 일 실시예에 따르면, 통신 회로(230)는 무선 통신 모듈(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제2 네트워크(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈은 가입자 식별 모듈에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크 또는 제2 네트워크와 같은 통신 네트워크 내에서 전자 장치(100)를 확인 또는 인증할 수 있다. 무선 통신 모듈은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈은 전자 장치(200), 내시경 장치 또는 네트워크 시스템에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
다양한 실시예들에 따르면, 센서(240)는 적어도 일부가 서로 다른 기능을 제공하도록 구현되는 적어도 하나의 센서를 포함할 수 있다. 예를 들어, 센서(240)는 무선 통신 센서(예: WiFi 센서, 블루투스(BLE) 센서 등), 자기장 센서, 관성 센서, 가속도 센서, 자이로스코프, 지자기 센서, 기압계 또는 압력 센서 등을 포함할 수 있다.
이때, 프로세서(210)는 센서(240)로부터 획득된 전기적 신호를 기초로 센서 데이터를 생성할 수 있다.
일 예로, 프로세서(210)는 무선 통신 센서(예: WiFi 센서, 블루투스(BLE) 센서 등)를 이용하여 복수의 AP(access point)들 중 적어도 하나로부터 출력되는 무선 통신 신호를 스캔함으로써 적어도 하나의 신호 강도 값(RSS)을 획득할 수 있다. 또한, 프로세서(210)는 적어도 하나의 신호 강도 값을 기초로 무선 통신 세기 데이터를 생성할 수 있다. 이때, 무선 통신 센서는 통신 회로(230)에 포함된 무선 통신 칩을 포함하는 개념일 수 있다.
다른 예로, 프로세서(210)는 자기장 센서를 이용하여 장소 내부에서 발생하는 자기장들의 세기를 식별함으로써 위치 별 자기장 세기 값들을 획득할 수 있다. 또한, 프로세서(210)는 위치 별 자기장 세기 값들을 기초로 자기장 데이터를 생성할 수 있다.
또 다른 예로, 프로세서(210)는 가속도 센서를 이용하여 전자 장치의 가속도 값을 식별함으로써 가속도 데이터를 생성할 수 있다.
또 다른 예로, 프로세서(210)는 기압계를 이용하여 측정된 기압 값을 기초로 기압 데이터를 생성할 수 있다.
다양한 실시예들에 따르면, 디스플레이(250)는 정보(예를 들어, 시각 정보, 소리 데이터를 이용한 청각 정보. 진동을 이용한 촉각 정보 등)를 제공하기 위한 구성일 수 있다. 예를 들어, 디스플레이(250)는 디스플레이 장치(예: 모니터, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로)를 포함할 수 있다. 일 실시예에 따르면, 디스플레이는 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
프로세서(210)는 디스플레이(250)를 이용하여 입출력 인터페이스를 제공하도록 구현될 수 있다. 예를 들어, 프로세서(210)는 디스플레이(250)를 이용하여 미리 저장된 그래픽 유저 인터페이스(GUI)를 제공하도록 구현될 수 있다.
전자 장치(200)는 상술한 구성들(프로세서, 통신 회로, 메모리, 센서, 디스플레이) 중 적어도 일부만 포함하도록 구현될 수 있다. 예를 들어, 사용자 디바이스는 프로세서, 통신 회로, 메모리, 센서 및 디스플레이를 포함하도록 구현될 수 있다. 또한, 예를 들어, 서버 장치는 프로세서, 통신 회로 및 메모리를 포함하도록 구현될 수 있다.
도 3은, 다양한 실시예들에 따른, 실내 지도 데이터를 기반으로 지도 서비스를 제공하는 전자 장치의 상세 구성을 도시한 도면이다.
도 3을 참조하면, 전자 장치(300)는 프로세서(310) 및 메모리(320)를 포함할 수 있다. 전자 장치(100)의 프로세서(310)는 지도 서비스(110)에 수반되는 다양한 종류의 데이터를 메모리(320)에 저장할 수 있다. 구체적으로, 프로세서(310)는 메모리(320)에 저장된 복수의 지시 사항들(Instructions)에 의해 지시되는 동작을 기초로 동작할 수 있다. 이에 따라, 프로세서(310)는 동작에 수반되는 데이터들 중 적어도 일부를 메모리(320)에 저장할 수 있다.
전자 장치(300)는 실내 지도 데이터(330)를 메모리(320)에 저장할 수 있다. 본 개시에서의 실내 지도 데이터(330)는 실내 지도 이미지 파일 또는 컴퓨터 코드를 기초로 정의된 실내 지도 데이터 등을 모두 포함하는 개념이며, 실내 공간(또는, 장소(venue))에 대한 정보를 나타내는 데이터일 수 있다. 또한, 실내 지도 데이터(330)는 복수의 실내 공간들에 각각 대응되는 복수의 실내 지도 데이터로 구성될 수 있다. 예를 들어, 실내 지도 데이터(330)는 제1 장소에 대응되는 제1 실내 지도 데이터(331) 및 제2 장소에 대응되는 제2 실내 지도 데이터(332)를 포함할 수 있으나, 이에 한정되지 않는다.
전자 장치(300)는 측위 데이터(340)를 메모리(320)에 저장할 수 있다. 본 개시에서의 측위 데이터(340)는 사용자 디바이스의 실내 위치 추적을 위해 구축된 데이터베이스를 의미하며, 위치 데이터베이스, 센싱 데이터, 센싱 지도, 위치 지문(location fingerprint), Access Point fingerprint 또는 와이파이 핑거프린트 등으로 표현될 수도 있다. 또한, 측위 데이터(340)는 복수의 실내 공간들에 각각 대응되는 복수의 측위 데이터로 구성될 수 있다. 예를 들어, 측위 데이터(340)는 제1 장소에 대응되는 제1 측위 데이터(341) 및 제2 장소에 대응되는 제2 측위 데이터(342)를 포함할 수 있으나, 이에 한정되지 않는다.
전자 장치(300)는 동일한 장소에 대응되는 실내 지도 데이터(330) 및 측위 데이터(340)를 연관지어 메모리(320)에 저장할 수 있다. 본 개시에서는 서로 연관된 실내 지도 데이터 및 측위 데이터를 "실내 측위 데이터 셋(Indoor Positioning Dataset)"으로 표현할 수 있으나, 용어 자체로 구성을 한정하려는 것은 아니다. 또한, 프로세서(310)는 서로 연관된 실내 지도 데이터(330) 및 측위 데이터(340)를 기초로 사용자 디바이스의 실내 위치를 측정(또는 포지셔닝)할 수 있다.
프로세서(310)가 실내 지도 데이터(330) 및 측위 데이터(340)를 구축하고, 실내 위치를 예측하는 방법에 대한 구체적인 내용은 아래(도 4 내지 도 8)에서 설명한다.
전자 장치(300)는 사용자 데이터(350)를 메모리(320)에 저장할 수 있다. 본 개시에서의 사용자 데이터(350)는 사용자 디바이스들로부터 수신한 데이터 및 사용자 디바이스들로부터 수신한 데이터에 기반한 데이터 등 사용자 디바이스에 의해 획득된 데이터를 의미한다. 예를 들어, 사용자 데이터(350)는 사용자 디바이스들로부터 수신한 제1 사용자 데이터(351)를 포함할 수 있다. 구체적인 예로, 제1 사용자 데이터(351)는 복수의 사용자 디바이스들에 의해 수집된 센서 데이터로 구성될 수 있다. 본 개시에서 이러한 유형의 데이터를 제1 사용자 데이터, 사용자 센싱 데이터, 사용자 수집 데이터 또는 수집 데이터(harvest data) 등의 용어로 표현될 수 있다. 또한, 예를 들어, 사용자 데이터(350)는 사용자 디바이스들로부터 수신한 데이터를 기초로 생성된 제2 사용자 데이터(352)를 포함할 수 있다. 구체적인 예로, 제2 사용자 데이터(352)는 복수의 사용자 디바이스들에 의해 수집된 센서 데이터를 기초로 생성된 위치 데이터(또는 경로 데이터)로 구성될 수 있다. 본 개시에서 이러한 유형의 데이터를 제2 사용자 데이터, (사용자) 위치 데이터, (사용자) 경로 데이터 또는 흔적(trace) 데이터 등으로 표현될 수 있다.
전자 장치(300)는 실외 지도 데이터(360)를 메모리(320)에 저장할 수 있다. 이때, 실외 지도 데이터(360)는 실외 공간에 대한 정보를 나타내는 지도 데이터일 수 있다. 이때, 전자 장치(300)는 외부(예: API, 소스 코드, 어플리케이션 등)로부터 실외 지도 데이터(360)를 획득할 수 있다.
전자 장치(300)는 사용자 정보(370)를 메모리(320)에 저장할 수 있다. 본 개시에서의 사용자 정보(370)는 사용자 디바이스들에 대한 정보로서, 사용자 디바이스들 각각의 이용자 아이디(ID) 정보 등 사용자 디바이스를 구분할 수 있는 정보를 의미한다.
[실내 측위 데이터 셋의 구축 방법]
도 4는, 다양한 실시예들에 따른, 전자 장치가 포함하는 실내 지도 데이터를 설명하기 위한 도면이다.
도 4를 참조하면, 전자 장치는 복수의 장소 지도들에 대응되는 복수의 실내 지도들을 포함하는 실내 지도 데이터를 제공할 수 있다. 이때, 실내 지도 데이터는 실외 지도 상의 적어도 일부에 포함된 복수의 장소들에 대응되는 실내 지도일 수 있다. 예를 들어, 전자 장치는 특정 영역에 위치하는 제1 장소에 대한 제1 실내 지도 데이터(400)를 포함할 수 있다.
제1 실내 지도 데이터(400)는 제1 장소와 연관된 다양한 정보를 포함할 수 있다.
제1 실내 지도 데이터(400)는 제1 장소의 층(레벨(level) 또는 플로어(floor)) 별로 포함된 물리적 구조물들을 나타내는 층 지도 정보(floor map information, 410)를 포함할 수 있다. 예를 들어, 층 지도 정보(410)는 제1 장소의 1층에 위치하는 물리적 구조물들을 나타내는 제1 층 지도(410a), 제1 장소의 2층에 위치하는 물리적 구조물들을 나타내는 제2 층 지도(410b) 등을 포함할 수 있으나, 이에 한정되지 않는다.
제1 실내 지도 데이터(400)는 제1 장소에 포함되는 복수의 관심 지점(POI, position of interest)에 대한 정보를 나타내는 관심 지점 정보(420)를 포함할 수 있다. 관심 지점 정보(420)는 복수의 관심 지점들 각각이 위치하는 층을 나타내는 층 정보 및 복수의 관심 지점들 각각의 위치 정보, 복수의 관심 지점들 각각의 상세(detail) 정보, 또는 복수의 관심 지점들 각각이 차지하는 영역(또는 풋프린트(footprint)) 정보를 포함할 수 있으나, 이에 한정되지 않는다. 예를 들어, 관심 지점의 상세 정보는 관심 지점의 상호, 관심 지점의 종류(category), 관심 지점의 상태(예: 출입 가능 여부 등) 또는 관심 지점의 이벤트(예: 판매자로부터 업로드된 정보) 등을 나타내는 정보일 수 있다.
제1 실내 지도 데이터(400)는 제1 장소에 포함되는 복수의 고정물(fixture)들에 대한 정보를 나타내는 고정물 정보(430)를 포함할 수 있다. 고정물 정보(430)는 제1 장소에 포함되는 복수의 고정물들 각각의 위치 정보, 또는 복수의 고정물들 각각이 차지하는 영역(또는 풋프린트(footprint)) 정보를 포함할 수 있으나, 이에 한정되지 않는다.
제1 실내 지도 데이터(400)는 제1 장소에 포함되는 이동 수단들에 대한 정보를 나타내는 이동 수단 정보(440)를 포함할 수 있다. 이때, 이동 수단 정보(440)는 제1 장소 내의 층 간 이동을 위한 층간 이동 수단들(예: 에스컬레이터, 엘리베이터, 계단 등)에 대한 정보를 포함할 수 있다. 예를 들어, 이동 수단 정보(440)는 이동 수단의 종류가 각각 상이한 제1 층간 이동 수단 정보(440a), 제2 층간 이동 수단 정보(440b) 및 제3 층간 이동 수단 정보(440c)를 포함할 수 있으나, 이에 한정되지 않는다. 또한, 이동 수단 정보(440)는 제1 장소에 포함되는 복수의 이동 수단들 각각의 위치 정보, 또는 복수의 이동 수단들 각각이 차지하는 영역(또는 풋프린트(footprint)) 정보를 포함할 수 있으나, 이에 한정되지 않는다.
도 4에는 도시되어 있지 않지만, 제1 실내 지도 데이터(400)는 상술한 정보 외에 제1 장소에 대한 추가적인 정보를 더 포함할 수 있다. 예를 들어, 제1 실내 지도 데이터(400)는 제1 장소에 위치한 복수의 출입구들의 위치를 나타내는 출입구 정보, 제1 장소에 포함된 적어도 두 개의 지도 요소들 사이에 물리적 또는 개념적 연결을 정의하는 관계(relationship) 정보, 제1 장소 내에서 높은 위치 예측 정확도를 가지는 위치를 나타내는 앵커(anchor) 정보 등을 더 포함할 수 있다.
제1 실내 지도 데이터(400)가 포함하는 정보에 대한 내용은 아래에서 자세히 설명한다.
전자 장치는 제1 실내 지도 데이터(400)를 사용자 디바이스에 제공할 수 있다. 구체적으로, 사용자 디바이스는 어플리케이션을 이용하여 제1 실내 지도 데이터(400)를 디스플레이에 출력할 수 있다. 또한, 제1 실내 지도 데이터(400)는 3D 도면 형태로 나타날 수 있으나, 이에 한정되지 않고, 2D 도면 형태로 나타날 수도 있다. 이 경우, 사용자 디바이스에 의해 입력되는 사용자 입력에 의해 3D 도면 및 2D 도면이 서로 전환되어 표시될 수도 있다.
도 5는, 다양한 실시예들에 따른, 전자 장치가 포함하는 제1 장소에 대응되는 실내 측위 데이터 셋을 설명하기 위한 도면이다.
도 5의 (a)는 실내 측위 데이터 셋을 구성하는 실내 지도 데이터(500)의 일 예시를 도시한다. 설명의 편의를 위해, 도 5의 (a)는 실내 지도 데이터를 2D 도면을 이용하여 표현하였지만, 도면에 도시된 사항으로 한정되는 것은 아니고, 실내 지도 데이터(500)는 실내 지도 이미지 또는 컴퓨터 코드를 기초로 정의된 복수의 폴리 라인들로 구성되는 다차원의 데이터일 수 있다.
도 5의 (b)는 실내 측위 데이터 셋을 구성하는 측위 데이터(550)의 일 예시를 도시한다. 설명의 편의를 위해, 도 5의 (b)는 측위 데이터를 2D 도면 상에 나타나는 것처럼 표현하였지만, 도면에 도시된 사항으로 한정되는 것은 아니고, 측위 데이터(550)는 특정 도메인에 정의된 데이터 값(value)들을 포함하는 데이터베이스일 수 있다. 예를 들어, 측위 데이터(550)는 실내 지도 데이터에 대응되는 위치 좌표 및 위치 좌표에 대응되는 적어도 하나의 특징 값으로 구성될 수 있다.
도 5의 (a) 및 도 5의 (b)를 참조하면, 전자 장치는 실내 지도 데이터(500)에 대응되는 측위 데이터(550)를 생성할 수 있다. 전자 장치는 제1 장소에 포함되는 복수의 지점들의 위치에 대응되는 센서 데이터(sensor data 또는 센싱 데이터(sensing data) 또는 감지 데이터(sensed data))를 획득함으로써 측위 데이터(550)를 생성할 수 있다. 이때, 측위 데이터(550)는 실내 지도 데이터(500)의 각 지점들의 위치에 대응되는 복수의 측위점들(positioning points 또는 레퍼런스 지점(reference point) 또는 노드(node))을 포함할 수 있다. 또한, 측위 데이터(550)는 복수의 격자들을 포함하고, 복수의 격자들의 교차점에 대응되는 복수의 노드들을 포함할 수 있다. 이때, 복수의 측위점들 각각은 대응되는 실내 지도 데이터 상의 위치 좌표 및 위치 좌표에 대응되는 적어도 하나의 특징 값(예: 적어도 하나의 access point에 대응되는 신호 강도 등)을 포함할 수 있으나, 이에 한정되지 않는다.
전자 장치는 복수의 센서들을 이용하여 복수의 지점들의 위치에 대응되는 센서 데이터를 획득할 수 있고, 획득된 센서 데이터를 기초로 복수의 측위점들을 포함하는 측위 데이터(550)를 획득할 수 있다.
일 예로, 전자 장치는 제1 지점(501)에서 무선 통신 센서(예: WiFi 센서 또는 BLE 센서 등)를 이용하여 복수의 AP(access point, 여기서, AP는 무선 통신 신호(예: 무선 로컬 영역 네트워크(WLAN))를 출력하는 장치를 의미할 수 있다. 예를 들어, AP는 WIFi 신호를 출력하는 이더넷 공유기, 블루투스 신호를 출력하는 비콘(beacon). UWB(ultra-wideband) 기반 단거리 무선 통신 프로토콜 등을 포함할 수 있다.)들 중 적어도 하나로부터 출력되는 무선 통신 신호를 스캔함으로써 적어도 하나의 신호 강도 값(RSS, Received Signal Strength)을 획득할 수 있다. 이때, 전자 장치는 적어도 하나의 AP에 의해 출력되는 무선 통신 신호를 스캔하여 식별되는 적어도 하나의 신호 강도 값을 기초로 제1 측위점(551)을 생성할 수 있다. 구체적인 예로, 제1 측위점(551)은 제1 AP(AP1)로부터 출력되는 무선 통신 신호를 스캔하여 식별되는 제1 신호 강도 값, 제2 AP(AP2)로부터 출력되는 무선 통신 신호를 스캔하여 식별되는 제2 신호 강도 값 및 제3 AP(AP3)로부터 출력되는 무선 통신 신호를 스캔하여 식별되는 제3 신호 강도 값을 기초로 생성될 수 있다.
다른 예로, 전자 장치는 제1 지점(501)에서 자기장 센서를 이용하여 제1 장소 내부에서 발생하는 자기장들의 세기를 식별함으로써 제1 지점(501)에서의 자기장 세기 값을 획득할 수 있다. 이때, 전자 장치는 제1 지점(501)에서의 자기장 세기 값을 기초로 제1 측위점(551)을 생성할 수 있다.
본 개시의 일 실시예에 따르면, 전자 장치는 제1 장소 내부의 지점들을 이동하면서 센서 데이터를 획득함으로써 측위 데이터(550)를 구축할 수 있다. 이때, 전자 장치는 가속도 센서(또는 관성 센서, 자이로스코프 등)를 이용하여 측위 데이터(550)에 포함되는 측위점들 사이의 간격을 설정할 수 있다. 구체적으로, 전자 장치는 가속도 데이터를 이용하여 획득된 전자 장치의 이동에 연관된 속성(예: 이동 거리, 이동 방향, 이동 속도 등)을 기초로 측위점들 사이의 간격을 설정할 수 있다. 예를 들어, 전자 장치는 가속도 데이터를 기초로 걸음 수를 추정할 수 있고, 걸음 수를 기초로 측위점들 사이의 간격을 설정할 수 있다. 물론, 이에 한정되는 것은 아니고, 복수의 측위점들 사이의 간격은 임의로 설정될 수 있다. 즉, 제1 측위점 및 제2 측위점 사이의 간격은 제3 측위점 및 제4 측위점 사이의 간격과 상이할 수 있다.
측위 데이터(550)가 포함하는 복수의 측위점들은 사용자 디바이스가 위치할 수 있는 기준 위치를 정의할 수 있다. 구체적으로, 전자 장치는 실내 지도 데이터(500) 상에서 사용자가 위치 가능한 지점에 대한 정보를 반영하여 측위 데이터(550)를 생성할 수 있다. 전자 장치는 실내 지도 데이터(500) 상에서 사용자가 이동 가능한 경로에 대한 정보를 반영하여 측위 데이터(550)를 생성할 수 있다. 전자 장치는 실내 지도 데이터(500)에 포함된 복수의 물리적 구조물(physical structures)들 중 적어도 일부를 고려하여 측위 데이터(550)를 생성할 수 있다.
전자 장치는 실내 지도 데이터(500)에 포함되는 관심 지점(POI) 정보를 반영하여 측위 데이터(550)를 획득할 수 있다. 측위 데이터(550)는 복수의 관심 지점들의 위치 정보, 복수의 관심 지점들이 차지하는 영역 정보 또는 복수의 관심 지점들의 상세 정보 중 적어도 하나를 반영한 복수의 측위점들을 포함할 수 있다. 복수의 측위점들의 위치는 복수의 관심 지점들의 위치 정보, 복수의 관심 지점들이 차지하는 영역 정보 또는 복수의 관심 지점들의 상세 정보 중 적어도 하나를 고려하여 결정될 수 있다.
예를 들어, 전자 장치는 제1 관심 지점(510)이 차지하는 영역을 나타내는 제1 관심 지점의 풋프린트(footprint. 511)를 기초로 측위점을 생성할 수 있다. 이때, 제1 관심 지점의 풋프린트(511)는 제1 관심 지점의 위치에 연관된 폴리곤(polygon) 영역을 나타낼 수 있으나, 이에 한정되지 않는다. 구체적으로, 전자 장치는 제1 관심 지점(510)의 풋프린트의 경계를 포함하는 소정 영역에는 측위점이 위치하지 않도록 측위 데이터(550)를 생성할 수 있다.
또한, 예를 들어, 전자 장치는 제2 관심 지점(520)의 상세 정보를 기초로 제2 관심 지점(520)의 접근 가능 여부를 식별할 수 있다. 이 경우, 전자 장치는 제2 관심 지점(520)의 접근 가능 여부를 기초로 측위점을 생성할 수 있다. 구체적으로, 전자 장치는 일반인의 접근이 불가능한 제2 관심 지점(520)의 내부 영역(521)에는 측위점이 위치하지 않도록 측위 데이터(550)를 생성할 수 있다. 이때, 제2 관심 지점의 내부 영역(521)은 제2 관심 지점의 풋프린트의 경계를 기초로 정의되는 영역일 수 있다.
전자 장치는 실내 지도 데이터(500)에 포함되는 고정물(fixture, 예를 들어, 벽(wall) 또는 기둥(pillar) 등) 정보를 반영하여 측위 데이터(550)를 획득할 수 있다. 측위 데이터(550)는 복수의 고정물들의 위치 정보(또는 복수의 고정물들이 차지하는 영역 정보)를 반영한 복수의 측위점들을 포함할 수 있다. 복수의 측위점들의 위치는 복수의 고정물들의 위치 정보(또는 복수의 고정물들이 차지하는 영역 정보)를 고려하여 결정될 수 있다.
예를 들어, 전자 장치는 제1 고정물(530)의 위치 또는 제1 고정물(530)이 차지하는 영역(531)을 기초로 측위점을 생성할 수 있다. 구체적으로, 전자 장치는 제1 고정물(530)의 위치에 대응되는 영역에는 측위점이 위치하지 않도록 측위 데이터(550)를 생성할 수 있다.
전자 장치는 실내 지도 데이터(500)에 포함되는 구역(section) 정보를 반영하여 측위 데이터(550)를 획득할 수 있다. 여기서, 구역 정보는 실내 지도 데이터(500)에의 특정 구역에 대한 정보를 의미할 수 있다. 측위 데이터(550)는 복수의 구역들이 차지하는 영역 정보를 반영한 복수의 측위점들을 포함할 수 있다. 복수의 측위점들의 위치는 복수의 구역들이 차지하는 영역 정보를 고려하여 결정될 수 있다.
예를 들어, 전자 장치는 제1 구역(535)이 차지하는 영역(536)을 기초로 측위점을 생성할 수 있다. 이때, 제1 구역(535)은 복수의 고정물들(예: 기둥)을 포함하는 영역을 나타낼 수 있고, 실내 지도 데이터(500)에 제1 구역에 대한 정보가 저장되어 있을 수 있다. 구체적으로, 전자 장치는 제1 구역이 차지하는 영역(536) 내부에는 측위점이 위치하지 않도록 측위 데이터(550)를 생성할 수 있다.
전자 장치는 실내 지도 데이터(500)에 포함되는 이동 가능한 객체(예: 책상, 의자, 어메니티(amenity) 등)에 대한 정보를 반영하지 않고 측위 데이터(550)를 획득할 수 있다. 측위 데이터(550)는 복수의 이동 가능한 객체들의 위치 정보(또는 복수의 이동 가능한 객체들이 차지하는 영역 정보)를 무시한 복수의 측위점들을 포함할 수 있다. 복수의 측위점들의 위치는 복수의 이동 가능한 객체들의 위치 정보(또는 복수의 이동 가능한 객체들이 차지하는 영역 정보)를 고려하지 않고 결정될 수 있다.
예를 들어, 전자 장치는 제1 객체(540)의 위치 또는 제1 객체(540)가 차지하는 영역을 고려하지 않고 측위점을 생성할 수 있다. 구체적으로, 전자 장치는 제1 객체(540)의 위치에 대응되는 영역에 측위점이 위치하도록 측위 데이터(550)를 생성할 수 있다.
다만, 이에 한정되는 것은 아니고, 전자 장치는 이동 가능한 객체에 대한 정보를 고려하여 측위점을 생성할 수도 있다. 이 경우, 전자 장치는 이동 가능한 객체의 위치에 대응되는 영역에 측위점이 위치하지 않도록 측위 데이터를 생성할 수 있다.
전자 장치에 의해 생성되는 측위 데이터(550)는 실내 지도 데이터(500) 상의 적어도 일부 영역에 대응되는 측위점이 포함되지 않을 수 있다. 이는, 해당 영역에서 센서 데이터가 획득되지 않았기 때문일 수 있다. 이 경우, 전자 장치는 사용자 디바이스에 의해 해당 영역에서의 센서 데이터가 수신되는 경우, 수신한 센서 데이터를 기초로 측위점을 생성하여 측위 데이터를 갱신할 수 있다. 전자 장치의 측위 데이터의 업데이트 방법에 대한 구체적인 내용은 아래에서 설명하기로 한다.
도 6은, 다양한 실시예들에 따른, 전자 장치가 측위 데이터 셋을 구축하는 방법을 나타내는 도면이다.
도 6의 (a)를 참조하면, 전자 장치는 실내 지도 데이터를 획득(S601)하고, 획득된 실내 지도 데이터를 기초로 측위 데이터를 구축(S602)할 수 있다. 이 경우, 전자 장치는 외부로부터 실내 지도 이미지를 수신함으로써 실내 지도 데이터를 획득할 수 있다. 또한, 전자 장치는 실내 지도 데이터에 포함되는 복수의 지점들에서 획득된 센서 데이터를 기초로 측위 데이터를 구축할 수 있다.
도 6의 (b)를 참조하면, 전자 장치는 실내 지도 데이터를 구축(S603)하고, 구축된 실내 지도 데이터를 기초로 측위 데이터를 구축(S604)할 수 있다. 이 경우, 전자 장치는 장소의 실내 지도를 복수의 폴리 라인들을 이용하여 생성함으로써 실내 지도 데이터를 획득할 수 있다. 또한, 전자 장치는 실내 지도 데이터에 포함되는 복수의 지점들에서 획득된 센서 데이터를 기초로 측위 데이터를 구축할 수 있다.
도 6의 (c)를 참조하면, 전자 장치는 실내 지도 데이터를 구축할 수 있다(S605). 또한, 전자 장치는 측위 데이터를 구축할 수 있다(S606). 이 경우, 전자 장치는 구축된 실내 지도 데이터를 기초로 측위 데이터를 구축할 수 있다. 또는, 전자 장치는 구축된 측위 데이터를 기초로 실내 지도 데이터를 구축할 수 있다. 보다 구체적으로, 전자 장치는 복수의 폴리 라인들을 이용하여 장소의 실내 지도를 생성함으로써 실내 지도 데이터를 구축할 수 있고, 구축된 실내 지도 데이터에 포함된 복수의 지점들에서 획득된 센서 데이터를 기초로 측위 데이터를 구축할 수 있다. 또는 전자 장치는 사용자 디바이스에 의해 획득되는 센서 데이터를 기반으로, 측위 데이터를 구축할 수 있고, 구축된 측위 데이터를 기초로 폴리 라인들을 생성하여 실내 지도 데이터를 구축할 수 있다.
본 개시의 상술한 기술적 사상들에 입각하여, 전자 장치는 서비스 제공자가 직접 측위 데이터를 구축하지 않더라도 사용자 디바이스로부터 획득된 데이터를 활용하여 자동으로 실내 지도 데이터 및 측위 데이터를 구축함으로써 실내 위치 서비스를 제공할 수 있다.
[실내 측위 알고리즘]
도 7은, 다양한 실시예들에 따른, 전자 장치가 실내 측위 데이터 셋을 이용하여 사용자 디바이스의 위치를 측정하기 위한 방법을 도시한 흐름도이다.
도 7을 참조하면, 전자 장치는 실내 지도 데이터 및 측위 데이터를 포함하는 측위 데이터 셋을 획득할 수 있다(S701). 전자 장치는 사용자 디바이스의 어플리케이션 실행 동작에 대응하여 메모리로부터 측위 데이터 셋을 불러올 수 있다.
또한, 전자 장치는 사용자 디바이스로부터 적어도 하나의 센서를 이용하여 획득된 제1 데이터 셋을 수신할 수 있다(S703). 예를 들어, 전자 장치는 무선 통신 센서를 이용하여 획득된 AP(access point) 데이터(및 BLE 데이터), 가속도 센서를 이용하여 획득된 가속도 데이터, 기압계를 이용하여 획득된 기압 데이터 또는 자기장 센서를 이용하여 획득된 자기장 데이터 중 적어도 하나를 포함하는 제1 데이터 셋을 수신할 수 있다.
또한, 전자 장치는 측위 데이터 셋 및 제1 데이터 셋 중 적어도 하나를 기초로 적어도 하나의 위치 예측 값을 산출할 수 있다(S705).
또한, 전자 장치는 적어도 하나의 위치 예측 값을 기초로 사용자 디바이스의 위치를 식별할 수 있다(S707)
단계 S703 내지 단계 S707에 수반되는 상세 측위 알고리즘들에 대한 내용은 도 8에 대한 기재에서 상세히 설명한다.
도 8은, 다양한 실시예들에 따른, 전자 장치에 의해 수행되는 다양한 종류의 측위 알고리즘들에 대해 설명하기 위한 도면이다.
도 8을 참조하면, 전자 장치는 복수의 측위 알고리즘들 중 적어도 일부를 이용하여 사용자 디바이스의 위치를 측정할 수 있다. 구체적으로, 전자 장치는 측위 알고리즘에 의해 산출된 예측 값을 기반으로 사용자 디바이스의 위치를 측정하거나, 복수의 측위 알고리즘들에 의해 산출된 예측 값들을 기초로 최종 예측 값을 산출하여 사용자 디바이스의 위치를 측정할 수 있다.
전자 장치는 AP 데이터를 제1 알고리즘(810)을 기초로 처리하여 제1 예측 값을 산출할 수 있다. 이때, AP 데이터는 사용자 디바이스로부터 수신함으로써 획득할 수 있다. 이때, AP 데이터는 통신 신호 강도(RSSI) 데이터, AP 위치 데이터(예: AP의 위치(gps) 좌표), AP의 MAC 주소 정보 또는 AP의 식별 정보 중 적어도 하나를 포함할 수 있다. 구체적으로, 전자 장치는 AP 데이터 및 미리 저장된 제1 측위 데이터(이때, 제1 측위 데이터는 복수의 측위점들을 포함함)를 기초로 제1 예측 값을 산출할 수 있다. 예를 들어, 전자 장치는 AP 데이터에 의해 식별되는 통신 신호 세기 값을 제1 측위 데이터와 비교함으로써 제1 예측 값을 산출할 수 있다. 이때, 전자 장치는 측위 데이터에 포함되는 복수의 측위점들 중 하나의 측위점의 위치를 기초로 제1 예측 값을 산출할 수 있다.
또한, 전자 장치는 자기장 데이터를 제2 알고리즘(820)을 기초로 처리하여 제2 예측 값을 산출할 수 있다. 구체적으로, 전자 장치는 사용자 디바이스로부터 수신한 자기장 데이터 및 미리 저장된 제2 측위 데이터를 기초로 제2 예측 값을 산출할 수 있다.
또한, 이에 한정되지 않고, 전자 장치는 제1 예측 값 및 자기장 데이터를 제2 알고리즘(820)을 기초로 처리하여 제2 예측 값을 산출할 수 있다. 구체적으로, 전자 장치는 AP 데이터를 이용하여 산출된 제1 예측 값을 자기장 데이터를 기초로 보정하여 보정된 제2 예측 값을 산출할 수 있다.
또한, 전자 장치는 가속도 데이터를 제3 알고리즘(830)을 기초로 처리하여 제3 예측 값을 산출할 수 있다. 이때, 제3 알고리즘(830)은 PDR 알고리즘을 포함할 수 있다. 본 개시에서 가속도 데이터를 처리하기 위해 구현되는 PDR 알고리즘은 당업자에게 공지된 일반적인 PDR 알고리즘의 기술적 특징이 그대로 적용될 수 있으므로, 상세한 내용은 생략하기로 한다. 또한, 전자 장치는 기압 데이터를 더 이용하여 제3 예측 값을 산출할 수 있다. 이 경우, 전자 장치는 층 정보를 포함하는 위치 예측 정보를 획득할 수 있다.
또한, 전자 장치는 궤적 데이터를 제4 알고리즘(840)을 기초로 처리하여 제4 예측 값을 산출할 수 있다. 이때, 궤적 데이터는 시간에 따른 사용자의 위치 데이터에 의해 나타나는 사용자의 궤적을 나타낼 수 있다. 예를 들어, 궤적 데이터는 소정의 시간 구간 동안 획득된 위치 데이터 셋을 포함할 수 있다. 전자 장치는 궤적 데이터를 미리 저장된 이동 가능 경로 데이터와 비교함으로써 제4 예측 값을 산출할 수 있다. 이때, 이동 가능 경로 데이터는 실내 지도 데이터 상에서 사용자가 이동이 가능한 경로를 나타낼 수 있다. 구체적으로, 이동 가능 경로 데이터는 실내 지도 데이터에 대응되는 측위 데이터에 포함된 복수의 측위점들 중 적어도 일부를 포함할 수 있다. 또한, 전자 장치는 실내 지도 데이터에 포함되는 복수의 물리적 구조물들을 고려하여 이동 가능 경로 데이터를 생성할 수 있다.
구체적인 예로, 전자 장치는 복수의 노드 및 링크로 구성된 이동 가능 경로 데이터를 획득할 수 있다. 또한, 전자 장치는 가속도 센서(또는 관성 센서 또는 자이로스코프)를 이용하여 궤적(trajectory) 데이터를 획득할 수 있다. 이 경우, 전자 장치는 궤적 데이터 및 이동 가능 경로 사이의 매칭 싱크로율을 기초로 사용자 디바이스의 위치 정보를 획득할 수 있다.
전자 장치는 제4 측위 알고리즘에 따른 위치 추정 동작이 수행하기 위한 조건이 설정되어 있을 수 있다. 구체적으로, 전자 장치는 특정 사용자 디바이스의 위치 데이터가 미리 정해진 볼륨 이상 획득된 경우, 제4 측위 알고리즘에 따라 위치 예측 값을 산출할 수 있다. 이는, 궤적 데이터를 획득하기 위해서는, 특정 사용자 디바이스의 위치 데이터가 소정 볼륨 이상 누적될 필요가 있기 때문이다.
또한, 전자 장치는 복수의 측위 알고리즘들을 이용하여 획득된 복수의 예측 값들을 가중 모델(850)을 기초로 처리하여 제5 예측 값을 산출할 수 있다. 이때, 가중 모델(850)은 복수의 예측 값들에 미리 정해진 가중치를 할당하도록 구현될 수 있다. 구체적으로, 전자 장치는 가중 모델(850)을 이용하여 복수의 예측 값들을 기초로 가중 합계(weighted sum)를 계산함으로써 제5 예측 값을 산출할 수 있다.
이때, 복수의 예측 값들에 할당되는 가중치는 위치 예측에 대한 정확도(accuracy)를 기초로 설정될 수 있다. 예를 들어, 전자 장치는 AP 데이터를 기초로 획득된 제1 예측 값에 가장 높은 가중치를 할당할 수 있다. 이는, 무선 통신 세기를 기반으로 측정한 위치의 예측 정확도가 가장 높기 때문이다. 다만, 도 8에 명시적으로 도시되지는 않았지만, 전자 장치가 BLE 신호를 기반으로 위치 예측을 수행하는 경우, BLE 기반 예측 값에 가장 낮은 가중치를 할당할 수 있다. 이는, BLE 신호 세기를 기반으로 측정한 위치의 예측 정확도가 가장 낮기 때문이다.
또한, 전자 장치는 복수의 예측 값들에 할당되는 가중치를 조정할 수 있다. 구체적으로, 전자 장치는 복수의 예측 값들 중 정확도가 높은 예측 값에 높은 가중치가 할당되도록 가중치를 조정할 수 있다.
또한, 상술한 바와 같이 전자 장치가 측위 알고리즘을 이용하여 위치 측정을 수행할 수 있을 뿐만 아니라, 사용자 디바이스의 자체 프로세서에 의해 식별되는 위치 예측 값을 수신함으로써 위치 측정을 수행할 수 있다.
또한, 복수의 측위 알고리즘들 중 적어도 일부의 예측 값 산출 주기는 각각 상이하거나, 프로세서에 의해 상이하게 설정될 수 있다.
예를 들어, 전자 장치는 WiFi 신호를 스캔하여 획득된 Wifi 데이터를 기반으로 제1 주기로 예측 값을 산출할 경우, 전자 장치는 BLE 신호를 스캔하여 획득된 BLE 데이터를 기반으로 제1 주기보다 작은 제2 주기로 예측 값을 산출할 수 있다. 또한, 이 경우, 전자 장치는 가속도 데이터를 기반으로 제2 주기 보다 작은 제3 주기로 예측 값을 산출하도록 구현될 수 있다. 또한, 이 경우, 전자 장치는 자기장 데이터를 기반으로 제2 주기보다 작은 제4 주기로 예측 값을 산출할 수 있다. 또한, 이 경우, 전자 장치는 가속도 데이터 및/또는 기압 데이터를 기반으로 제2 주기보다 작은 제5 주기로 예측 값을 산출하도록 구현될 있다. 또한, 이 경우, 전자 장치는 궤적 데이터 및 이동 가능 경로 데이터를 기반으로 제2 주기보다 작은 제6 주기로 예측 값을 산출하도록 구현될 수 있다.
[실내 측위 데이터 셋의 업데이트 방법]
본 개시의 일 실시예에 따른 전자 장치는 실내 측위 데이터 셋을 업데이트할 수 있다. 구체적으로, 전자 장치는 실내 환경의 변화를 식별함으로써 실내 측위 데이터 셋을 업데이트할 수 있다. 예를 들어, 전자 장치는 장소 내부의 물리적 구조물의 위치 변화를 식별함으로써 실내 측위 데이터 셋을 업데이트할 수 있다. 또한, 예를 들어, 전자 장치는 장소 내부의 적어도 하나의 관심 지점에 연관된 정보의 변화를 식별함으로써 실내 측위 데이터 셋을 업데이트할 수 있다. 또한, 예를 들어, 전자 장치는 실내 지도 데이터에 포함되지 않은 적어도 하나의 물리적 구조물을 식별함으로써 실내 측위 데이터 셋을 업데이트할 수 있다.
전자 장치는 실내 지도 데이터를 업데이트할 수 있다. 이 경우, 전자 장치는 실내 지도 데이터 상에서 업데이트가 필요한 조정 대상 구역을 식별할 수 있다.
또한, 전자 장치는 장소 내부에서 획득되는 데이터를 기반으로 측위 데이터 셋을 업데이트할 수 있다.
도 9는, 다양한 실시예들에 따른, 전자 장치가 실내 지도 데이터를 업데이트하기 위한 일 예시를 도시한 도면이다.
도 9의 (a) 및 도 9의 (b)를 참조하면, 전자 장치는 제1 실내 지도 데이터(900a)를 업데이트함으로써 제2 실내 지도 데이터(900b)를 획득할 수 있다.
구체적으로, 전자 장치는 미리 저장된 이동 가능 경로 데이터와 적어도 하나의 사용자 디바이스의 실제 경로를 기초로 실내 지도 데이터를 업데이트할 수 있다. 이때, 이동 가능 경로 데이터는 실내 지도 데이터 내의 이동 가능한 경로를 나타낼 수 있다. 예를 들어, 제1 이동 가능 경로 데이터(910)는 제1 실내 지도 데이터(900a) 내에서 사용자 디바이스가 이동할 수 있는 복수의 경로들을 포함할 수 있다.
이동 가능 경로 데이터는 실내 지도 데이터에 포함되는 물리적 구조물들을 기초로 설정될 수 있다. 구체적으로, 전자 장치는 실내 지도 데이터에 포함되는 적어도 하나의 관심 지점을 기초로 이동 가능 경로 데이터를 생성할 수 있다. 전자 장치는 적어도 하나의 관심 지점이 차지하는 영역을 나타내는 적어도 하나의 관심 영역의 풋프린트(footprint)를 고려하여 이동 가능 경로 데이터를 생성할 수 있다. 보다 구체적으로, 전자 장치는 적어도 하나의 관심 지점의 풋프린트에 의해 정의되는 영역 내에 이동 경로가 연관되지 않도록 이동 가능 경로를 생성할 수 있다. 또한, 전자 장치는 적어도 하나의 관심 지점의 풋프린트의 경계로부터 소정 간격 이격되도록 이동 가능 경로 데이터(910)를 생성할 수 있다. 예를 들어, 전자 장치는 제1 관심 지점(940)의 풋프린트를 고려하여 제1 이동 가능 경로 데이터(910)를 생성할 수 있으나, 이에 한정되지 않는다.
또한, 이동 가능 경로 데이터는 실내 지도 데이터에 대응되는 측위 데이터를 기초로 설정될 수 있다. 구체적으로, 전자 장치는 측위 데이터에 포함되는 복수의 측위점들 중 적어도 일부를 기초로 이동 가능 경로 데이터를 생성할 수 있다. 보다 구체적으로, 전자 장치는 복수의 측위점들 사이를 연결하는 복수의 링크들을 생성할 수 있고, 복수의 링크들을 기초로 이동 가능 경로 데이터를 생성할 수 있다. 예를 들어, 전자 장치는 제1 실내 지도 데이터(900a)에 대응되는 측위 데이터에 포함되는 복수의 측위점들(미도시) 중 적어도 일부를 기초로 제1 이동 가능 경로 데이터(910)를 생성할 수 있다.
적어도 하나의 사용자 디바이스의 실제 경로는 적어도 하나의 사용자 디바이스로부터 수신된 제1 데이터 셋을 기초로 식별될 수 있다. 이때, 제1 데이터 셋은 사용자 디바이스에 포함된 적어도 하나의 센서를 이용하여 획득된 센서 데이터 및 사용자 디바이스로부터 생성되는 위치 데이터를 포함할 수 있다. 예를 들어, 제1 데이터 셋은 사용자 디바이스로부터 수집된 AP(access point) 데이터, 가속도 데이터, 자기장 데이터, 기압 데이터 및 사용자 디바이스로부터 생성된 위치 데이터를 포함할 수 있으나, 이에 한정되지 않는다.
또한, 전자 장치는 제1 데이터 셋을 기초로 적어도 하나의 사용자 디바이스의 위치를 측정함으로써 적어도 하나의 사용자 디바이스의 실제 경로를 식별할 수 있다. 구체적으로, 전자 장치는 제1 데이터 셋, 제1 실내 지도 데이터 및 제1 실내 지도 데이터에 대응되는 제1 측위 데이터 중 적어도 하나를 기초로 적어도 하나의 사용자 디바이스의 위치를 식별할 수 있다.
또한, 전자 장치는 식별된 적어도 하나의 사용자 디바이스의 위치를 반영하는 제2 데이터 셋을 획득할 수 있다. 이때, 제2 데이터 셋은 적어도 하나의 사용자 디바이스의 위치 데이터로 구성된 트레이스 데이터 셋(trace data set)일 수 있다. 또는 제2 데이터 셋은 적어도 하나의 사용자 디바이스의 위치 데이터를 기초로 나타나는 궤적 데이터 셋(trajectory data set)일 수 있다. 이 경우, 전자 장치는 제2 데이터 셋을 기초로 적어도 하나의 사용자 디바이스의 실제 경로를 획득할 수 있다. 예를 들어, 전자 장치는 제1 실내 지도 데이터(900a) 상에서의 적어도 하나의 사용자 디바이스의 위치를 반영하는 제2 데이터 셋을 기초로 제1 실제 경로(920)를 획득할 수 있다.
또한, 전자 장치는 미리 저장된 이동 가능 경로 데이터와 실제 경로를 비교함으로써 실내 지도 데이터 상에서 업데이트가 필요한 조정 대상 구역을 식별할 수 있다. 예를 들어, 전자 장치는 제1 실내 지도 데이터(900a) 상에서 미리 저장된 이동 가능 경로 데이터(910) 및 적어도 하나의 사용자 디바이스의 제1 실제 경로(920)를 비교함으로써 조정 대상 구역(930)을 식별할 수 있다.
일 예로, 전자 장치는 이동 가능 경로 데이터(910) 및 제1 실제 경로(920)를 구성하는 제2 데이터 셋 사이의 차이를 기초로 조정 대상 구역(930)을 식별할 수 있다. 구체적으로, 전자 장치는 이동 가능 경로 데이터(910)에 대응되는 위치 좌표 및 제1 실제 경로(920)에 대응되는 위치 좌표의 차이가 특정 영역에서 미리 정해진 임계치 이상인 경우, 상기 특정 영역을 조정 대상 구역(930)으로 결정할 수 있다.
이때, 전자 장치는 조정 대상 구역(930)을 식별하기 위한 시간적 조건을 설정할 수 있다. 구체적으로, 전자 장치는 이동 가능 경로 데이터(910) 및 제2 데이터 셋의 차이가 소정 시간 이상 지속되는 경우, 차이가 발생한 영역을 조정 대상 구역으로 지정할 수 있다. 반대로, 전자 장치는 이동 가능 경로 데이터(910) 및 제2 데이터 셋의 차이가 소정 시간 이후에 식별되지 않는 경우, 일시적인 변화로 판단하고 조정 대상 구역을 지정하지 않을 수 있다.
조정 대상 구역을 식별하는 추가적인 방법에 대해서는 도 11의 기재를 통해 설명한다.
또한, 전자 장치는 조정 대상 구역(930)에 연관된 적어도 하나의 파라미터를 조정함으로써 제1 실내 지도 데이터(900a)를 업데이트할 수 있고, 이에 따라, 제2 실내 지도 데이터(900b)를 획득할 수 있다. 이때, 적어도 하나의 파라미터는 실내 지도 데이터의 물리적 구조물에 연관된 특징(feature)을 포함할 수 있다. 예를 들어, 적어도 하나의 파라미터는 실내 지도 데이터의 폴리라인(poly-line)을 조정하기 위한 제1 파라미터, 실내 지도 데이터의 풋프린트(footprint)를 조정하기 위한 제2 파라미터, 실내 지도 데이터의 고정물(fixture)을 조정하기 위한 제3 파라미터, 실내 지도 데이터의 관심 지점 정보를 조정하기 위한 제4 파라미터 등을 포함할 수 있으나, 이에 한정되지 않는다.
일 예로, 전자 장치는 조정 대상 구역(930)에 포함된 복수의 폴리 라인(poly-line)들 중 적어도 일부를 조정함으로써 실내 지도 데이터를 업데이트할 수 있다. 다른 예로, 전자 장치는 조정 대상 구역(930)에 연관된 적어도 하나의 관심 지점에 대한 정보를 수정함으로써 실내 지도 데이터를 업데이트할 수 있다.
전자 장치가 조정 대상 구역을 식별한 뒤 수행하는 추가적인 동작에 대한 내용은 도 12의 개시를 통해 설명한다.
도 10은, 다양한 실시예들에 따른, 전자 장치가 실내 지도 데이터를 업데이트 하기 위한 일 예시를 도시한 흐름도이다.
도 10을 참조하면, 전자 장치는 적어도 하나의 관심 지점을 포함하는 제1 장소 내에 위치하는 적어도 하나의 사용자 디바이스로부터 제1 데이터 셋을 수신할 수 있다(S1001). 이때, 제1 데이터 셋은 적어도 하나의 사용자 디바이스로부터 수집된 AP(access point) 데이터를 포함할 수 있다. 이때, AP 데이터는 적어도 하나의AP로부터 출력된 무선 통신 신호에 대응되는 적어도 하나의 세기 값을 나타낼 수 있으나, 이에 한정되지 않는다. 또한, 제1 데이터 셋은 적어도 하나의 사용자 디바이스로부터 생성된 위치 데이터를 포함할 수 있다. 또한, 제1 데이터 셋은 적어도 하나의 사용자 디바이스에 포함된 가속도 센서를 이용하여 획득된 가속도 데이터를 포함할 수 있다.
또한, 전자 장치는 제1 데이터 셋, 제1 장소에 대응되는 제1 실내 지도 데이터(indoor map data) 및 상기 제1 실내 지도 데이터에 대응되는 제1 측위 데이터 중 적어도 하나를 기초로 적어도 하나의 사용자 디바이스의 위치를 식별할 수 있다(S1002). 이때, 제1 실내 지도 데이터는 관심 지점에 대응되는 영역을 나타내는 풋프린트(footprint)를 포함할 수 있다. 또한, 제1 측위 데이터는 제1 실내 지도 데이터에 대응되는 복수의 측위점들을 포함하는 제1 측위점 셋을 포함할 수 있다.
예를 들어, 전자 장치는 제1 데이터 셋에 포함된 위치 데이터를 기초로 적어도 하나의 사용자 디바이스의 제1 실내 지도 데이터 상에서의 위치를 식별할 수 있다. 또한, 예를 들어, 전자 장치는 제1 데이터 셋 및 상기 제1 측위 데이터를 비교함으로써 적어도 하나의 사용자 디바이스의 제1 실내 지도 데이터 상에서의 위치를 식별할 수 있다. 또한, 예를 들어, 전자 장치는 제1 데이터 셋 및 상기 제1 측위 데이터를 비교함으로써 상기 적어도 하나의 사용자 디바이스의 제1 실내 지도 데이터 상에서의 위치를 식별할 수 있다.
또한, 전자 장치는 식별된 상기 적어도 하나의 사용자 디바이스의 위치를 반영하는 제2 데이터 셋을 메모리에 저장할 수 있다(S1003). 여기서, 제2 데이터 셋은 흔적 데이터 셋(trace data set) 또는 궤적 데이터 셋(trajectory data set) 등으로 표현될 수 있다.
이때, 제2 데이터 셋은 적어도 하나의 사용자 디바이스의 제1 장소 내에서의 궤적을 기초로 획득될 수 있다. 보다 구체적으로, 전자 장치는 미리 정해진 시간 구간에 획득된 위치 예측 데이터를 기초로 적어도 하나의 사용자 디바이스의 궤적을 식별할 수 있고, 식별된 궤적을 기초로 제2 데이터 셋을 획득할 수 있다. 예를 들어, 전자 장치는 적어도 하나의 사용자 디바이스가 실내에 진입한 시점으로부터 현재 시점까지의 위치 예측 데이터를 기초로 제2 데이터 셋을 획득할 수 있다. 또는, 전자 장치는 적어도 하나의 사용자 디바이스가 현재 시점으로부터 제1 미리 정해진 시간 구간 전의 시점으로부터 현재 시점까지의 위치 예측 데이터를 기초로 제2 데이터 셋을 획득할 수 있다.
또한, 전자 장치는 제2 데이터 셋 및 미리 저장된 제1 이동 가능 경로 데이터를 기초로, 조정 대상 구역을 식별할 수 있다(S1004). 이때, 제1 이동 가능 경로 데이터는 제1 측위 데이터에 포함되는 복수의 측위점들 중 적어도 일부를 기초로 설정되거나 적어도 하나의 관심 지점의 풋프린트 및 제1 장소에 포함되는 적어도 하나의 고정물(fixture)의 위치를 고려하여 설정될 수 있다. 구체적으로, 전자 장치는 복수의 측위점들 중 일부를 서로 연결하는 복수의 링크를 생성함으로써 이동 가능 경로 데이터를 생성할 수 있다. 이 경우, 전자 장치는 측위점 사이를 연결하는 링크가 적어도 하나의 관심 지점의 풋프린트에 연관되지 않도록(예를 들어, 링크가 풋프린트 내부 영역을 통과하지 않도록 설정됨) 이동 가능 경로 데이터를 생성할 수 있다. 또한, 전자 장치는 측위점 사이를 연결하는 링크가 제1 장소에 포함되는 적어도 하나의 고정물에 연관되지 않도록(예를 들어, 링크가 고정물의 위치가 포함된 영역을 통과하지 않도록 설정됨) 이동 가능 경로 데이터를 생성할 수 있다. 즉, 이동 가능 경로 데이터는 제1 장소 내에서 적어도 하나의 사용자 디바이스에게 제공 가능한 복수의 경로들을 포함할 수 있다.
도 11은, 다양한 실시예들에 따른, 전자 장치가 조정 대상 구역을 식별하는 구체적인 방법을 도시한 도면이다.
도 11을 참조하면, 전자 장치는 제2 데이터 셋 및 이동 가능 경로 데이터 사이의 차이를 기초로 조정 대상 구역을 식별할 수 있다. 구체적으로, 전자 장치는 제2 데이터 셋 및 제1 이동 가능 경로 데이터 사이의 차이가 미리 정해진 기준을 만족하는 경우, 상기 미리 정해진 기준을 만족하는 제1 실내 지도 데이터 상의 적어도 일부 영역을 조정 대상 구역으로 식별할 수 있다(S1101).
또한, 예를 들어, 전자 장치는 제2 데이터 셋에 포함되는 적어도 하나의 사용자 디바이스의 위치가 제1 관심 지점에 대응되는 제1 풋프린트 영역에 대응되는 경우, 상기 제1 관심 지점을 포함하는 영역을 조정 대상 구역으로 식별할 수 있다(S1102).
또한, 예를 들어, 전자 장치는 제2 데이터 셋에는 대응되지만, 제1 이동 가능 경로 데이터에는 대응되지 않는 제2 관심 지점을 포함하는 영역을 조정 대상 구역으로 식별할 수 있다(S1103).
또한, 예를 들어, 전자 장치는 제2 데이터 셋에는 포함되지만 제1 이동 가능 경로 데이터에는 포함되지 않는 적어도 일부 영역을 상기 조정 대상 구역으로 식별할 수 있다(S1104).
도 12는, 다양한 실시예들에 따른, 전자 장치가 조정 대상 구역 식별 동작에 대응하여 수행할 수 있는 동작을 설명하기 위한 도면이다.
도 12를 참조하면, 전자 장치는 조정 대상 구역의 식별 동작(S1004)에 대응하여, 제2 데이터 셋을 기초로 제1 측위 데이터에 포함된 복수의 측위점들 중 적어도 일부가 변경된 제2 측위 데이터를 획득할 수 있다(S1201).
또한, 전자 장치는 조정 대상 구역의 식별 동작(S1004)에 대응하여, 조정 대상 구역에 포함되는 적어도 하나의 폴리라인을 삭제함으로써 제2 실내 지도 데이터를 획득할 수 있다(S1202).
또한, 전자 장치는 조정 대상 구역의 식별 동작(S1004)에 대응하여, 조정 대상 구역에 적어도 하나의 폴리 라인을 추가함으로써 제3 실내 지도 데이터를 획득할 수 있다(S1203).
또한, 전자 장치는 조정 대상 구역의 식별 동작(S1004)에 대응하여, 상기 제2 데이터 셋을 기초로 상기 제1 이동 가능 데이터의 적어도 일부가 조정된 제2 이동 가능 경로 데이터를 획득할 수 있다(S1204).
또한, 전자 장치는 조정 대상 구역의 식별 동작(S1004)에 대응하여, 조정 대상 구역에 대한 정보를 적어도 하나의 사용자 디바이스에 제공할 수 있다(S1205).
본 개시의 일 실시예에 따른 전자 장치는 실내 위치 추정을 위한 측위 데이터를 복수의 사용자 디바이스들(예: API 사용 유저)에 배포한 뒤에도, 측위 데이터를 지속적으로 업데이트할 수 있다.
보다 구체적으로, 전자 장치는 실내 공간을 이용하는 복수의 사용자 디바이스들로부터 획득되는 센서 데이터를 수집할 수 있고, 수집된 센서 데이터의 변화량을 감지하여 측위 데이터를 업데이트할 사항을 통계적으로 검출할 수 있다.
이에 따라, 전자 장치는 업데이트된 최신 실내 측위 데이터 복수의 사용자 디바이스들에게 자동 배포할 수 있다.
도 13은, 다양한 실시예들에 따른, 전자 장치가 실내 측위 데이터 셋을 업데이트 하기 위한 다른 일 예시를 도시한 흐름도이다.
도 13을 참조하면, 전자 장치는 적어도 하나의 관심 지점을 포함하는 제1 장소 내에 위치하는 적어도 하나의 사용자 디바이스로부터 제1 데이터 셋을 수신할 수 있다(S1301). 이때, 제1 데이터 셋은 적어도 하나의 사용자 디바이스로부터 수집된 AP데이터, 적어도 하나의 사용자 디바이스로부터 생성된 위치 데이터 및 적어도 하나의 사용자 디바이스로부터 획득된 가속도 데이터 등을 포함할 수 있으나, 이에 한정되지 않는다.
제1 데이터 셋은 복수의 사용자 디바이스들 각각으로부터 수신된 복수의 서브 데이터 셋들을 포함하는 수집 데이터 셋(harvest dataset)으로 구성될 수 있다. 예를 들어, 전자 장치는 제1 사용자 디바이스로부터 수신된 제1 서브 데이터 셋, 제2 사용자 디바이스로부터 수신된 제2 서브 데이터 셋 및 제3 사용자 디바이스로부터 수신된 제3 서브 데이터 셋을 포함할 수 있으나, 이에 한정되지 않는다.
또한, 전자 장치는 제1 데이터 셋을 기초로 제1 장소에 대응되는 제1 실내 지도 데이터(indoor map data)에 대응되는 제1 측위 데이터의 적어도 하나의 속성을 조정하여 제2 측위 데이터를 획득할 수 있다(S1302). 이때, 제1 실내 지도 데이터는 복수의 폴리 라인들을 포함할 수 있다. 구체적으로, 제1 실내 지도 데이터는 복수의 폴리 라인들을 기초로 정의된 적어도 하나의 관심 지점의 풋프린트를 포함할 수 있다. 또한, 제1 측위 데이터는 제1 실내 지도 데이터에 대응되는 복수의 측위점들을 포함하는 제1 측위점 셋을 포함할 수 있다.
측위 데이터의 적어도 하나의 속성은 측위 데이터에 포함된 측위점의 수, 측위 데이터의 위치 속성(또는 측위점의 위치 속성) 또는 측위 데이터의 강도 속성(또는 측위점의 강도 속성)을 포함할 수 있으나, 이에 한정되지 않는다. 구체적으로, 측위 데이터의 위치 속성은 측위 데이터에 포함되는 복수의 측위점들 각각이 실내 지도 데이터 상에서 대응되는 위치를 의미할 수 있다. 또한, 측위 데이터의 강도 속성은 측위 데이터에 포함되는 복수의 측위점들 각각에 대응되는 무선 통신 신호 강도(RSS)를 의미할 수 있다.
이 경우, 전자 장치는 상기 제1 데이터 셋을 미리 정해진 조건에 따라 필터링할 수 있다. 구체적으로, 전자 장치는 적어도 하나의 사용자 디바이스로부터 수신된 제1 데이터 셋에서 노이즈 데이터를 제거함으로써 필터링된 제1 데이터 셋을 획득할 수 있다. 또한, 전자 장치는 필터링된 제1 데이터 셋을 이용하여 제1 측위 데이터를 업데이트하도록 설정될 수 있다.
또한, 전자 장치는 제1 실내 지도 데이터의 업데이트 필요 여부를 확인할 수 있다. 이는, 측위 데이터가 업데이트되더라도 실내 지도 데이터가 업데이트될 필요가 없는 상황이 있을 수 있기 때문이다. 구체적으로, 전자 장치는 측위 데이터의 업데이트로 인해 장소 내부의 물리적 구조물의 변화가 야기되었는지 여부를 기초로 실내 지도 업데이트 필요 여부를 확인할 수 있다. 예를 들어, 전자 장치는 단계 S1302의 동작을 수행한 이후에 실내 지도 데이터의 업데이트가 불필요하다고 판단되는 경우, 단계 S1301의 동작을 다시 수행할 수 있다.
또한, 전자 장치는 제2 측위 데이터를 기초로 제1 실내 지도 데이터에서 수정이 필요한 제1 대상 구역을 식별할 수 있다(S1303).
또한, 전자 장치는 제1 실내 지도 데이터를 기초로, 제1 대상 구역에 연관된 적어도 하나의 파라미터를 조정하여 제2 실내 지도 데이터 획득할 수 있다(S1304).
도 14는, 다양한 실시예들에 따른, 전자 장치가 측위 데이터를 업데이트하기 위한 일 예시를 도시한 도면이다. 도 14의 (a) 및 도 14의 (b)를 참조하면, 전자 장치는 제1 측위 데이터(1400a)를 업데이트함으로써 제2 측위 데이터(1400b)를 획득할 수 있다.
전자 장치는 적어도 하나의 사용자 디바이스의 위치를 기초로 측위 데이터를 업데이트할 수 있다. 전자 장치가 적어도 하나의 사용자 디바이스의 위치를 예측하는 방법은 상술하였으므로 생략하기로 한다. 이 경우, 전자 장치는 식별된 적어도 하나의 사용자 디바이스의 위치를 기초로 제1 측위 데이터(1400a)의 적어도 하나의 속성을 조정하여 제2 측위 데이터(1400b)를 획득할 수 있다.
도 14의 (a) 및 도 14의 (b)를 참조하면, 전자 장치는 적어도 하나의 사용자 디바이스로부터 수신한 데이터 셋을 기초로 적어도 하나의 사용자 디바이스의 위치를 나타내는 위치 데이터 셋(1410)을 획득할 수 있다. 예를 들어, 위치 데이터 셋(1410)은 제1 사용자 디바이스의 위치를 나타내는 제1 위치 데이터 및 제2 사용자 디바이스의 위치를 나타내는 제2 위치 데이터를 포함할 수 있으나, 이에 한정되지 않는다.
이때, 위치 데이터 셋(1410)은 측위점이 존재하지 않는 제1 영역(1420)에 대응될 수 있다.
이 경우, 전자 장치는 위치 데이터 셋(1410)을 기초로 제1 측위 데이터(1400a)의 측위점 수와 연관된 속성을 조정하여 제2 측위 데이터(1400b)를 획득할 수 있다. 전자 장치는 위치 데이터 셋(1410)을 기초로 측위점이 존재하지 않는 제1 영역(1410)에 측위점을 추가함으로써 제2 측위 데이터(1400b)를 획득할 수 있다. 구체적으로, 전자 장치는 상기 제1 영역(1410) 내부에 위치하는 적어도 하나의 사용자 디바이스로부터 AP 데이터를 수신할 수 있고, 수신된 AP 데이터를 기초로 상기 제1 영역(1410) 내부에 적어도 하나의 측위점(1430)을 생성하여 제2 측위 데이터(1400b)를 획득할 수 있다. 이때, 제2 측위 데이터(1400b)에 포함된 복수의 측위점들의 수는 제1 측위 데이터(1400a)에 포함된 복수의 측위점들의 수 보다 클 수 있다.
이때, 제1 영역(1420)은 제1 관심 지점(1420)에 연관될 수 있다. 예를 들어, 제1 영역(1420)은 제1 관심 지점(1420) 내부 영역에 포함될 수 있다.
이 경우, 전자 장치는 제1 관심 지점(1420)에 대응되는 영역 내부에 위치하는 적어도 하나의 사용자 디바이스로부터 AP 데이터를 수신할 수 있고, 수신된 AP 데이터를 기초로 상기 제1 관심 지점(1420)에 대응되는 영역 내부에 적어도 하나의 측위점(1430)을 생성하여 제2 측위 데이터(1400b)를 획득할 수 있다.
이를 통해, 전자 장치는 사용자로부터 획득한 데이터를 기반으로 측위점이 구축되지 않은 영역에 데이터를 보충하여 보다 정확한 측위 데이터를 구축할 수 있다. 또는, 전자 장치는 사용자 디바이스로부터 획득한 데이터를 기반으로 출입이 통제되어 있던 관심 지점이 출입이 가능해진 것으로 판단하여 관심 지점에 대한 정보를 자동으로 업데이트할 수 있다.
전자 장치는 제2 측위 데이터(1400b)를 기초로 실내 지도 데이터를 업데이트할 수 있다. 구체적으로, 전자 장치는 측위 데이터가 제2 측위 데이터(1400b)로 업데이트됨에 따라 실내 공간에 연관된 정보가 변화된 경우, 실내 지도 데이터를 업데이트할 수 있다.
예를 들어, 전자 장치는 제1 관심 지점(1420) 내부 영역에 적어도 하나의 측위점(1430)이 생성된 경우, 상기 제1 관심 지점(1420)에 대응되는 영역을 대상 구역으로 식별할 수 있다. 또한, 전자 장치는 상기 대상 구역으로 식별된 제1 관심 지점(1420)에 대한 정보를 업데이트함으로써 실내 지도 데이터를 업데이트할 수 있다. 구체적인 예로, 전자 장치는 출입이 통제된 상태로 지정된 제1 관심 지점(1420)을 출입이 가능한 상태로 업데이트할 수 있다. 또는, 전자 장치는 공사 중인 상태로 지정된 제1 관심 지점(1420)을 공사가 완료된 상태로 업데이트할 수 있다.
도 15는, 다양한 실시예들에 따른, 전자 장치가 측위 데이터를 업데이트하기 위한 다른 일 예시를 도시한 도면이다. 도 15의 (a) 및 도 15의 (b)를 참조하면, 전자 장치는 제1 측위 데이터(1500a)를 업데이트함으로써 제2 측위 데이터(1500b)를 획득할 수 있다.
전자 장치는 상술한 방식에 따라 식별된 위치가 보정되어 보정된 위치 데이터를 획득하는 경우, 보정된 위치 데이터를 기초로 측위 데이터를 업데이트할 수 있다.
일 예로, 전자 장치는 적어도 하나의 측위 알고리즘을 이용하여 보정된 위치 데이터를 획득할 수 있다. 측위 알고리즘에 대한 구체적인 내용은 상술하였으므로 생략하기로 한다. 예를 들어, 전자 장치는 제1 측위 알고리즘을 이용하여 제1 위치 데이터(1510)를 획득한 뒤, 제1 측위 알고리즘 보다 정확도가 높은 제2 측위 알고리즘을 이용하여 제2 위치 데이터를 획득하는 경우, 제2 위치 데이터를 기초로 제1 위치 데이터를 보정하여 보정된 위치 데이터(1520)를 획득할 수 있다.
다른 예로, 전자 장치는 미리 정해진 위치 보정 알고리즘을 이용하여 보정된 위치 데이터를 획득할 수 있다. 보정 알고리즘에 대한 구체적인 내용은 아래(도 31 내지 도 35)에서 설명하기로 한다. 예를 들어, 전자 장치는 위치 정확도가 높은 다른 사용자 디바이스의 위치 데이터를 기초로 보정된 위치 데이터(1520)를 획득할 수 있다.
또 다른 예로, 전자 장치는 적어도 하나의 사용자 디바이스로부터 위치 보정 입력을 수신함으로써 보정된 위치 데이터를 획득할 수 있다.
이때, 전자 장치는 제1 측위 데이터(1500a)에 포함되는 복수의 측위점들 중 보정된 위치 데이터(1520)에 대응되는 영역(1530)에 포함되는 적어도 하나의 측위점의 적어도 하나의 속성을 조정하여 제2 측위 데이터(1500b)를 획득할 수 있다. 구체적으로, 전자 장치는 보정된 위치 데이터(1520)에 대응되는 영역(1530)에 포함되는 적어도 하나의 측위점의 강도 속성을 조정하여 제2 측위 데이터(1500b)를 획득할 수 있다.
전자 장치는 보정된 위치 데이터(1520)에 대응되는 영역(1530)에 위치하는 적어도 하나의 사용자 디바이스로부터 AP 데이터를 수신할 수 있고, 수신된 AP 데이터를 기초로 상기 영역(1530) 내부의 적어도 하나의 측위 점의 강도 속성을 조정할 수 있다. 여기서, 전자 장치는 측위점이 포함하는 적어도 하나의 AP에 대응되는 통신 신호 강도 정보를 수정함으로써 측위점의 강도 속성을 조정할 수 있다.
이는, 전자 장치가 위치 보정에 의해 해당 영역(1530)에서의 위치 정확도가 떨어지는 것을 인지함에 따라 위치 정확도를 높이기 위해 측위점의 강도 속성을 조정하는 것이다. 이를 통해, 측위 데이터를 이용한 위치 예측의 정확도를 계속해서 확보할 수 있는 것이다.
또한, 전자 장치는 보정된 위치 데이터에 대응되는 영역(1530)을 실내 지도 데이터의 업데이트가 필요한 제1 대상 구역으로 설정할 수 있다. 이 경우, 전자 장치는 실내 지도 데이터 상에서 제1 대상 구역에 대응되는 영역의 적어도 하나의 파라미터를 조정함으로써 실내 지도 데이터를 업데이트할 수 있다. 이때, 적어도 하나의 파라미터는 실내 지도 데이터의 물리적 구조물에 연관된 특징(feature)을 포함할 수 있다. 예를 들어, 적어도 하나의 파라미터는 실내 지도 데이터의 폴리라인(poly-line)을 조정하기 위한 제1 파라미터, 실내 지도 데이터의 풋프린트(footprint)를 조정하기 위한 제2 파라미터, 실내 지도 데이터의 고정물(fixture)을 조정하기 위한 제3 파라미터, 실내 지도 데이터의 관심 지점 정보를 조정하기 위한 제4 파라미터 등을 포함할 수 있으나, 이에 한정되지 않는다.
도 16은, 다양한 실시예들에 따른, 전자 장치가 측위 데이터를 업데이트하기 위한 또 다른 일 예시를 도시한 도면이다. 도 16의 (a) 및 도 16의 (b)를 참조하면, 전자 장치는 제1 측위 데이터(1600a)를 업데이트함으로써 제2 측위 데이터(1600b)를 획득할 수 있다.
전자 장치는 제1 측위 데이터(1600a)에 포함되는 복수의 측위점들 중 적어도 일부의 위치 속성이 조정됨에 따라 제2 측위 데이터(1600b)를 획득할 수 있다. 구체적으로, 전자 장치는 실내 공간에 존재하는 복수의 사용자 디바이스들로부터 수집 데이터 셋(harvest dataset)을 획득할 수 있고, 수집 데이터 셋을 기초로 측위 데이터 셋을 업데이트할 수 있다. 이때, 측위 데이터 셋에 포함되는 적어도 일부의 측위점들의 실내 지도 데이터 상에서의 대응되는 위치가 상이해질 수 있다.
예를 들어, 제1 측위 데이터(1600a)는 특정 영역(1610) 내부에 대응되는 적어도 하나의 측위점을 포함할 수 있다. 이때, 특정 영역(1610) 내부에 대응되는 적어도 하나의 측위점의 위치 속성이 조정됨에 따라, 제2 측위 데이터(1600b)는 상기 특정 영역(1610) 내부에 대응되는 측위점을 포함하지 않을 수 있다.
또는 전자 장치는 제1 측위 데이터에 포함되는 복수의 측위점들 중 적어도 일부가 삭제됨에 따라 제2 측위 데이터를 획득할 수 있다. 예를 들어, 전자 장치는 특정 영역(1610) 내부에 대응되는 적어도 하나의 측위점이 삭제됨에 따라 제2 측위 데이터를 획득할 수 있다. 이 경우, 제1 측위 데이터에 포함되는 측위점의 수는 제2 측위 데이터에 포함되는 측위점의 수 보다 클 수 있다.
이는, 특정 영역(1610)에 대응되는 실내 공간 상에 물리적 구조물(예: 고정물 등)이 배치되어 특정 영역(1610)에 대응되는 위치에 사용자가 위치할 수 없기 때문일 수 있다. 즉, 특정 영역(1610)에 대응되는 위치에서 사용자 디바이스로부터 데이터가 수신되지 않음에 따라, 전자 장치는 특정 영역(1610)에 대응되는 위치에 물리적 구조물의 존재를 판단할 수 있는 것이다.
도 17은, 다양한 실시예들에 따른, 전자 장치가 실내 지도 데이터를 업데이트하는 일 예시를 도시한 도면이다. 도 17의 (a) 및 도 17의 (b)를 참조하면, 전자 장치는 도 16의(a)의 제1 측위 데이터(1600a) 대응되는 제1 실내 지도 데이터(1700a)를 기초로 도 16의 (b)의 제2 측위 데이터(1600b)에 대응되는 제2 실내 지도 데이터(1700b)를 획득할 수 있다.
전자 장치는 속성이 조정된 적어도 일부의 측위점들을 포함하는 특정 영역을 기초로 실내지도 데이터의 수정이 필요한 제1 대상 구역(1710)을 식별할 수 있다.
전자 장치는 제1 실내 지도 데이터(1700a)의 대상 구역(1710)에 대응되는 적어도 하나의 파라미터를 조정함으로써 제2 실내 지도 데이터(1700b)를 획득할 수 있다. 예를 들어, 전자 장치는 대상 구역(1710)에 적어도 하나의 폴리 라인을 추가하도록 적어도 하나의 파라미터를 조정할 수 있다. 구체적으로, 전자 장치는 대상 구역(1710)에 적어도 하나의 폴리라인을 추가함으로써 풋프린트(1720)를 생성할 수 있다. 또한, 이 경우, 전자 장치는 풋프린트(1720)에 대응되는 관심 지점에 대한 정보를 생성함으로써 제2 실내 지도 데이터(1700b)를 획득할 수 있다. 이때, 관심 지점에 대한 정보는 적어도 하나의 사용자 디바이스로부터 수신할 수 있다.
전자 장치는 대상 구역(1710)에 대응되는 적어도 하나의 측위점의 위치 속성을 기초로 풋프린트(1720)를 생성할 수 있다. 구체적으로, 전자 장치는 풋프린트(1720) 내부 영역에 측위점이 포함되지 않도록 풋프린트(1720)를 생성할 수 있다. 예를 들어, 도 16의 (b)를 다시 참조하면, 전자 장치는 적어도 하나의 측위점에 의해 둘러싸인 특정 영역(1620)에 대응되는 형상으로 풋프린트(1720)를 생성할 수 있다.
즉, 전자 장치는 측위 데이터의 위치 분포를 기반으로 실내 지도 데이터에 포함되는 물리적 구조물들의 특징을 식별할 수 있다. 이를 통해, 전자 장치는 측위 데이터가 업데이트되는 경우, 이를 기반으로 실내 지도 데이터를 자동으로 업데이트할 수 있다.
도 18은, 다양한 실시예들에 따른, 전자 장치가 실내 측위 데이터 셋을 업데이트하기 위한 또 다른 일 예시를 도시한 도면이다. 도 18의 (a) 및 도 18의 (b)를 참조하면, 전자 장치는 측위 데이터(1800)를 기초로 실내 지도 데이터(1850)를 업데이트할 수 있다.
전자 장치는 측위 데이터에 포함되는 복수의 측위점들 중 적어도 일부의 강도 속성이 조정됨에 따라 갱신된 측위 데이터(1800)를 획득할 수 있다. 구체적으로, 전자 장치는 적어도 일부의 측위점들에 연관되는 적어도 하나의 AP에 대응되는 통신 신호 강도가 조정됨에 따라 갱신된 측위 데이터(1800)를 획득할 수 있다.
이때, 전자 장치는 강도 속성이 조정된 적어도 하나의 측위점을 포함하는 특정 영역(1810)을 식별함으로써 실내 지도 데이터 상에서 업데이트할 대상 구역(1860)을 식별할 수 있다.
예를 들어, 전자 장치는 특정 영역(1810)이 제1 관심 지점에 연관되는 경우, 제1 관심 지점에 대응되는 영역을 대상 구역(1860)으로 결정할 수 있다. 구체적으로, 전자 장치는 특정 영역(1810)이 제1 관심 지점에 대응되는 영역에 포함되는 경우, 제1 관심 지점에 대응되는 영역을 대상 구역(1860)으로 결정할 수 있다. 또한, 전자 장치는 특정 영역(1810)이 제1 관심 지점에 대응되는 영역과 미리 정해진 임계 기준 이상 겹치는 경우, 제1 관심 지점에 대응되는 영역을 대상 구역(1860)으로 결정할 수 있다.
또한, 예를 들어, 전자 장치는 특정 영역(1810)에 포함된 적어도 일부의 측위점들의 강도 속성이 미리 정해진 임계치 이상 조정된 경우, 특정 영역(1810)을 포함하는 영역을 대상 구역(1860)으로 결정할 수 있다. 이때, 미리 정해진 임계치는 측위점의 강도 속성의 조정이 물리적 구조물의 변경을 수반했는지 여부를 판단하기 위해 설정될 수 있다. 전자 장치는 특정 영역(1810)에 포함된 적어도 일부의 측위점들의 강도 속성을 기초로 특정 영역(1810)에 대응되는 위치의 물리적 구조물의 변경 여부를 판단할 수 있다.
전자 장치는 특정 영역(1810)을 기초로 식별된 대상 구역(1860)에 포함되는 위치에서의 적어도 하나의 파라미터를 조정함으로써 갱신된 실내 지도 데이터(1850)를 획득할 수 있다. 예를 들어, 전자 장치는 실내 지도 데이터에 배치된 AP(1865) 정보를 변경함으로써 갱신된 실내 지도 데이터(1850)를 획득할 수 있다. 구체적인 예로, 전자 장치는 대상 구역(1860) 내에 배치된 AP(1865)의 주소 정보를 변경할 수 있다.
또한, 전자 장치는 대상 구역(1860)에 대응되는 관심 지점에 대한 정보를 수정함으로써 갱신된 실내 지도 데이터(1850)를 획득할 수 있다. 예를 들어, 전자 장치는 AP(1865) 정보가 변경된 관심 지점에 대한 정보를 수정할 수 있으나, 이에 한정되지 않는다.
이를 통해, 전자 장치는 장소 내에 위치하는 특정 가게가 다른 가게로 변경되었을 경우, 이를 반영하여 자동으로 실내 지도 데이터를 업데이트할 수 있다.
도 19는, 다양한 실시예에 따른, 전자 장치가 실내 지도를 업데이트하는 또 다른 일 예시를 도시한 도면이다. 도 19의 (a) 및 도 19의 (b)를 참조하면, 전자 장치는 제1 실내 지도(1900a)를 업데이트함으로써 제2 실내 지도(1900b)를 획득할 수 있다.
전자 장치는 적어도 하나의 관심 지점을 포함하는 제1 장소 내에 위치하는 적어도 하나의 사용자 디바이스로부터 획득한 센서 데이터를 기초로 실내 지도를 업데이트할 수 있다. 구체적으로, 전자 장치는 적어도 하나의 사용자 디바이스에 포함되는 적어도 하나의 센서를 이용하여 획득한 데이터 셋을 기초로 실내 지도 데이터를 업데이트할 수 있다.
또한, 전자 장치는 적어도 하나의 사용자 디바이스로부터 획득한 센서 데이터를 기초로 적어도 하나의 사용자 디바이스의 층 이동에 연관된 정보를 획득할 수 있다.
구체적으로, 전자 장치는 제1 센서 데이터를 기초로 층 이동 여부를 식별할 수 있다. 이때, 제1 센서 데이터는 기압 데이터를 포함할 수 있으나, 이에 한정되지 않는다. 예를 들어, 전자 장치는 제1 센서 데이터의 변화량을 기초로 층 이동을 식별할 수 있다. 전자 장치는 특정 시간 구간 동안 기압이 증가하는 경우, 적어도 하나의 사용자 디바이스가 아래층으로 이동하는 것으로 판단할 수 있다. 또한, 전자 장치는 특정 시간 구간 동안 기압이 감소하는 경우, 적어도 하나의 사용자 디바이스가 위층으로 이동하는 것으로 판단할 수 있다.
또한, 전자 장치는 층 이동의 식별 동작에 대응하여, 층 이동에 연관된 위치 정보를 획득할 수 있다. 구체적으로, 전자 장치는 층 이동이 수반되는 특정 시간 구간에 대응되는 위치 데이터를 기초로 층 이동에 연관된 위치 정보를 획득할 수 있다. 예를 들어, 전자 장치는 제1 실내 지도(1900a) 상의 제1 영역(1910)을 층 이동에 연관된 위치로 결정할 수 있다.
또한, 전자 장치는 적어도 하나의 사용자 디바이스로부터 획득된 센서 데이터를 기초로 층 이동에 수반된 층간 이동 수단을 식별할 수 있다. 구체적으로, 전자 장치는 제2 센서 데이터를 기초로 층간 이동 수단을 식별할 수 있다. 이때, 제2 센서 데이터는 가속도 데이터를 포함할 수 있으나, 이에 한정되지 않는다. 예를 들어, 전자 장치는 제2 센서 데이터의 변화율을 기초로 층 이동에 수반된 층간 이동 수단을 식별할 수 있다. 전자 장치는 층 이동이 수반된 특정 시간 구간에 대응되는 제2 센서 데이터의 데이터 윈도우를 기초로 층간 이동 수단을 식별할 수 있다. 전자 장치는 상기 제2 센서 데이터의 데이터 윈도우의 패턴을 기초로 층간 이동 수단을 식별할 수 있다.
예를 들어, 전자 장치는 특정 시간 구간의 시작점에 대응되는 시간 구간 및 종료점에 대응되는 시간 구간에서 가속도 값이 급격히 변하는 경우, 층간 이동 수단을 엘리베이터로 결정할 수 있다.
또한, 예를 들어, 전자 장치는 제2 센서 데이터의 데이터 윈도우를 기초로 보폭 수를 추정함으로써 층간 이동 수단을 에스컬레이터 및 계단 중 하나로 선택할 수 있다. 구체적으로, 전자 장치는 상기 데이터 윈도우를 기초로 판단된 보폭 수가 미리 정해진 임계치 이하인 경우, 층간 이동 수단을 에스컬레이터로 결정할 수 있고, 보폭 수가 미리 정해진 임계치 이상인 경우, 층간 이동 수단을 계단으로 결정할 수 있다.
이는, 에스컬레이터를 이용한 층 이동에 수반되는 보폭 수가 계단을 이용한 층 이동에 수반되는 보폭 수 보다 작기 때문이다.
또한, 전자 장치는 제1 실내 지도(1900a)에 층간 이동 수단 정보를 반영함으로써 제2 실내 지도(1900b)를 업데이트할 수 있다.
이때, 전자 장치는 적어도 하나의 사용자 디바이스로부터 획득된 데이터 셋을 기초로 제1 실내 지도(1900a) 상에서 층간 이동이 수반된 위치를 식별할 수 있다.
전자 장치는 식별된 위치에 층간 이동 수단에 연관되는 적어도 하나의 특징(feature)을 생성함으로써 층간 이동 수단 정보를 반영할 수 있다. 구체적으로, 전자 장치는 층간 이동 수단의 종류를 나타내는 인디케이터(1920, 또는 마커 또는 아이콘)를 추가함으로써 제2 실내 지도(1900b)를 획득할 수 있다.
이때, 층간 이동 수단 정보는 이동 수단의 구동 방향 또는 구동 시간을 나타내는 관계(relationship) 정보를 포함할 수 있다. 구체적으로, 전자 장치는 층간 이동 수단이 구동되는 방향성(예: 단방향 또는 양방향)을 정의하는 파라미터를 생성함으로써 관계 정보를 생성할 수 있다. 또는, 전자 장치는 층간 이동 수단이 구동되는 시간(예: 오전 7시 ~ 오후 7시)을 정의하는 파라미터를 생성함으로써 관계 정보를 생성할 수 있다.
전자 장치는 실내 지도에 포함되는 관계 정보를 기초로 실내 경로를 생성할 수 있다. 구체적으로, 전자 장치는 실내 지도에 포함되는 적어도 하나의 물리적 구조물들의 관계 정보를 반영하여 실내 경로를 생성할 수 있다.
일 예로, 전자 장치는 실내 지도에 포함되는 적어도 하나의 출입구의 관계 정보를 기초로 실내 경로를 생성할 수 있다. 구체적으로, 전자 장치는 실내 지도가 단방향으로의 이동만 가능한 출입구를 포함하는 경우, 상기 출입구를 이용한 이동 방향을 고려하여 실내 경로를 생성할 수 있다.
다른 예로, 전자 장치는 실내 지도에 포함되는 층간 이동 수단의 관계 정보를 기초로 실내 경로를 생성할 수 있다. 구체적으로, 전자 장치는 실내 지도가 특정 시간(예: 오전 7시 ~ 오후7시)에만 구동되는 층간 이동 수단(예: 엘리베이터)을 포함하는 경우, 상기 층간 이동 수단의 구동 시간을 고려하여 실내 경로를 생성할 수 있다. 예를 들어, 전자 장치는 상기 특정 시간 이외의 시간에 경로가 생성되는 경우, 상기 층간 이동 수단에 연관되지 않도록 실내 경로를 생성할 수 있다.
도 20은, 다양한 실시예에 따른, 전자 장치가 실내 지도를 업데이트하는 또 다른 일 예시를 도시한 흐름도이다.
도 20을 참조하면, 전자 장치는 적어도 하나의 관심 지점을 포함하는 제1 장소 내에 위치하는 적어도 하나의 사용자 디바이스에 상기 제1 장소에 대응되는 제1 실내 지도를 제공할 수 있다(S2001). 또한, 전자 장치는 상기 적어도 하나의 사용자 디바이스로부터 제1 센서 데이터 및 제2 센서 데이터를 포함하는 제1 데이터 셋을 수신할 수 있다(S2002). 또한, 전자 장치는 상기 제1 센서 데이터를 기초로 상기 적어도 하나의 사용자 디바이스의 층간 이동을 식별할 수 있다(S2003). 또한, 전자 장치는 상기 층간 이동의 식별 동작에 대응하여, 상기 제2 센서 데이터를 기초로 미리 저장된 복수의 층간 이동 수단들 중 층간 이동에 연관되는 층간 이동 수단을 나타내는 층간 이동 수단 정보를 획득할 수 있다(S2004). 이때, 복수의 층간 이동 수단들은 에스컬레이터, 계단 및 엘리베이터를 포함할 수 있으나, 이에 한정되지 않는다. 또한, 전자 장치는 층간 이동 수단 정보를 반영한 제2 실내 지도를 복수의 사용자 디바이스들에 제공할 수 있다(S2005).
도 21은, 다양한 실시예들에 따른, 전자 장치가 층간 이동 수단 정보를 획득하는 방법을 도시한 도면이다. 도 21을 참조하면, 전자 장치의 단계 S2004의 동작은 복수의 동작들을 포함할 수 있다.
전자 장치는 제1 센서 데이터를 기초로 층간 이동에 연관되는 적어도 하나의 시간 구간을 식별할 수 있다(S2101). 이때, 적어도 하나의 시간 구간은 제1 센서 데이터의 변화량이 임계치 이상인 적어도 두 개 이상의 시점들을 포함할 수 있다. 전자 장치는 제1 센서 데이터의 크기가 미리 정해진 크기 이상 변하는 적어도 하나의 시간 구간을 식별함으로써 적어도 하나의 사용자 디바이스의 층간 이동을 식별할 수 있다.
또한, 전자 장치는 상기 제2 센서 데이터 중 상기 적어도 하나의 시간 구간에 대응되는 적어도 하나의 데이터 윈도우를 식별할 수 있다(S2102).
또한, 전자 장치는 적어도 하나의 데이터 윈도우를 기초로 층간 이동 수단 정보를 획득할 수 있다(S2103).
도 22는, 다양한 실시예들에 따른, 전자 장치가 층간 이동 수단 정보를 반영하여 제2 실내 지도를 제공하는 방법을 도시한 도면이다.
도 22를 참조하면, 전자 장치는 제1 센서 데이터를 기초로 층간 이동에 연관되는 적어도 하나의 시간 구간을 식별할 수 있다(S2201). 또한, 전자 장치는 상기 제2 센서 데이터 중 상기 적어도 하나의 시간 구간에 대응되는 적어도 하나의 데이터 윈도우를 식별할 수 있다(S2202).
또한, 전자 장치는 적어도 하나의 데이터 윈도우를 기초로 적어도 하나의 사용자 디바이스의 제1 실내 지도 상의 위치를 식별할 수 있다(S2203). 예를 들어, 적어도 하나의 사용자 디바이스의 가속도 데이터를 기초로 적어도 하나의 사용자 디바이스의 위치를 예측할 수 있으나, 이에 한정되지 않는다.
또한, 전자 장치는 식별된 제1 실내 지도 상의 위치에 층간 이동 수단에 연관된 특징(feature)들을 생성할 수 있다(S2204). 이때, 층간 이동 수단에 연관된 특징은 층간 이동 수단의 종류를 나타내는 적어도 하나의 인디케이터(indicator)를 포함할 수 있다.
또한, 전자 장치는 층간 이동 수단 정보를 반영한 제2 실내 지도를 복수의 사용자 디바이스들에 제공할 수 있다(S2205).
도 23은, 다양한 실시예들에 따른, 전자 장치가 층간 이동 수단을 반영하여 실내 지도를 업데이트하는 다른 일 예시를 도시한 흐름도이다.
도 23을 참조하면, 전자 장치는 적어도 하나의 관심 지점을 포함하는 제1 장소 내에 위치하는 적어도 하나의 사용자 디바이스에 상기 제1 장소에 대응되는 제1 실내 지도를 제공할 수 있다(S2301). 또한, 전자 장치는 적어도 하나의 사용자 디바이스로부터 제1 센서 데이터를 포함하는 제1 데이터 셋을 수신할 수 있다(S2302). 이때, 제1 센서 데이터는 기압 데이터를 포함할 수 있으나, 이에 한정되지 않는다.
또한, 전자 장치는 제1 센서 데이터를 기초로 상기 적어도 하나의 사용자 디바이스의 층간 이동이 수반되는 적어도 하나의 시간 구간을 식별할 수 있다(S2303).
또한, 전자 장치는 적어도 하나의 시간 구간의 길이를 기초로 층간 이동에 수반되는 층간 이동 수단을 결정할 수 있다(S2304). 전자 장치가 적어도 하나의 시간 구간의 길이를 기초로 층간 이동에 수반되는 층간 이동 수단을 결정하는 방법은 도 24에 대한 개시에서 자세히 설명한다.
또한, 전자 장치는 층간 이동 수단에 대한 정보를 반영한 제2 실내 지도를 복수의 사용자 디바이스들에 제공할 수 있다(S2305).
도 24는, 다양한 실시예들에 따른, 다양한 층간 이동 수단을 이용하는 상황에 획득되는 기압 데이터를 나타낸 도면이다.
도 24의 (a), 도 24의 (b) 및 도 24의 (c)를 참조하면, 전자 장치는 제1 기압 데이터(2400a)를 기초로 계단을 이용한 층 이동을 식별할 수 있고, 제2 기압 데이터(2400b)를 기초로 에스컬레이터를 이용한 층 이동을 식별할 수 있고, 제3 기압 데이터(2400c)를 기초로 엘리베이터를 이용한 층 이동을 식별할 수 있다.
전자 장치는 기압 데이터에 포함되는 층 이동에 연관되는 적어도 하나의 시간 구간의 길이가 미리 정해진 길이 이상인 경우, 층간 이동에 수반되는 층간 이동 수단을 에스컬레이터 또는 계단으로 결정할 수 있고, 층이 동에 연관되는 시간 구간의 길이가 미리 정해진 길이 이하인 경우, 층간 이동에 수반되는 층간 이동 수단을 엘리베이터로 결정할 수 있다.
일 예로, 전자 장치는 제1 기압 데이터(2400a)의 제1 시간 구간(interval1)에 대응되는 제1 데이터 윈도우(2401)를 기초로 계단을 이용한 층 이동을 식별할 수 있다.
전자 장치는 제1 기압 데이터(2400a)를 기초로 층 이동에 연관되는 제1 시간 구간(interval1)을 식별할 수 있다. 또한, 전자 장치는 제1 시간 구간(interval1)의 길이를 기초로 층간 이동 수단을 식별할 수 있다. 구체적으로, 전자 장치는 제1 시간 구간(interval1)이 제1 미리 정해진 길이 이상인 경우, 제1 데이터 윈도우(2401)에 대응되는 층간 이동 수단을 계단으로 결정할 수 있다.
다른 예로, 전자 장치는 제2 기압 데이터(2400b)의 제2 시간 구간(interval2)에 대응되는 제2 데이터 윈도우(2402)를 기초로 에스컬레이터를 이용한 층 이동을 식별할 수 있다.
전자 장치는 제2 기압 데이터(2400b)를 기초로 층 이동에 연관되는 제2 시간 구간(interval2)을 식별할 수 있다. 또한, 전자 장치는 제2 시간 구간(interval 2)의 길이를 기초로 층간 이동 수단을 식별할 수 있다. 구체적으로, 전자 장치는 제2 시간 구간(interval2)이 상기 제1 미리 정해진 길이 이하이고, 제2 미리 정해진 길이 이상인 경우, 제2 데이터 윈도우(2402)에 대응되는 층간 이동 수단을 에스컬레이터로 결정할 수 있다.
여기서, 제1 미리 정해진 길이는 계단을 이용한 층 이동에 소요되는 최소 시간 및 에스컬레이터를 이용한 층 이동에 소요되는 최대 시간을 고려하여 설정될 수 있다. 또한, 제2 미리 정해진 길이는 에스컬레이터를 이용한 층 이동에 소요되는 최소 시간 및 엘리베이터를 이용한 층 이동에 소요되는 최대 시간을 고려하여 설정될 수 있다.
또한, 제2 시간 구간(interval2)은 제1 시간 구간(interval1) 보다 작을 수 있다. 이는, 에스컬레이터를 이용한 층 이동에 소요되는 시간이 계단을 이용한 층 이동에 소요되는 시간 보다 통상적으로 짧기 때문이다.
또 다른 예로, 전자 장치는 제3 기압 데이터(2400c)의 제3 시간 구간(interval3)에 대응되는 제3 데이터 윈도우(2403) 및 제4 시간 구간(interval4)에 대응되는 제4 데이터 윈도우(2404)를 기초로 엘리베이터를 이용한 층 이동을 식별할 수 있다.
전자 장치는 제3 기압 데이터(2400c)를 기초로 층 이동에 연관되는 제3 시간 구간(interval3) 및 제4 시간 구간(interval4)을 식별할 수 있다. 또한, 전자 장치는 제3 시간 구간(interval3) 및 제4 시간 구간(interval4)의 길이를 기초로 층간 이동 수단을 식별할 수 있다. 구체적으로, 전자 장치는 제3 시간 구간(interval3) 및 제4 시간 구간(interval4)의 길이가 상기 제2 미리 정해진 길이 이하인 경우, 제3 데이터 윈도우(2403) 및 제4 데이터 윈도우(2404)에 대응되는 층간 이동 수단을 엘리베이터로 결정할 수 있다.
또한, 전자 장치는 시간 구간의 개수를 기초로 층간 이동 수단을 식별할 수 있다. 구체적으로, 전자 장치는 시간 구간의 개수가 미리 정해진 개수(예: 2개) 이상인 경우, 제3 데이터 윈도우(2403) 및 제4 데이터 윈도우(2404)에 대응되는 층간 이동 수단을 엘리베이터로 결정할 수 있다.
엘리베이터를 이용한 층 이동에 연관되는 시간 구간이 복수의 시간 구간으로 식별되는 것은, 사용자가 엘리베이터를 이용하여 여러 층을 이동할 때 중간에 정지하는 층이 존재할 수 있기 때문이다.
또한, 여기서, 제4 시간 구간(interval4)은 제3 시간 구간(interval3) 보다 작을 수 있다. 이는, 사용자 디바이스가 엘리베이터를 이용하여 층 이동을 하는 경우, 한 번에 정지하지 않고 이동하는 층수가 다를 수 있기 때문이다.
[어플리케이션 제어 방법]
지도 서비스를 이용하는 사용자 디바이스(또는 모바일 디바이스 또는 전자 장치, 이하 "전자 장치"라 함)는 gps 좌표를 획득할 수 없는 공간(예: 실내 공간)에 진입하는 경우, 본 개시의 일 실시예에 따른 서버는 전자 장치에 의해 획득되는 다양한 데이터를 기반으로 전자 장치의 실내 위치를 추정할 수 있다. 이때, 서버는 전자 장치가 실내에 진입한 시점부터 실내 위치를 추적함으로써 높은 위치 추정 정확도를 달성할 수 있다.
이를 위해, 전자 장치에 포함되는 적어도 하나의 프로세서는 실내에 진입한 시점부터 어플리케이션을 제어하여 실내 위치가 측정되도록 설정될 수 있다.
도 25는, 다양한 실시예에 따른, 전자 장치가 실내 진입 여부에 따라 어플리케이션을 제어하는 방법을 도시한 도면이다.
도 25를 참조하면, 전자 장치에 포함되는 적어도 하나의 프로세서는 실내 진입 여부를 감지하기 위한 제1 동작 모드로 동작할 수 있다(S2501). 구체적으로, 적어도 하나의 프로세서는 어플리케이션을 모바일 디바이스의 백그라운드 환경에서 실행하여 최소한의 기능만 구현되도록 제어할 수 있다. 예를 들어, 적어도 하나의 프로세서는 실내 진입 여부를 감지하기 위한 기능만 구현되도록 어플리케이션을 제1 동작 모드로 실행할 수 있으나, 이에 한정되지 않는다.
또한, 적어도 하나의 프로세서는 미리 정해진 제1 조건이 달성되었는지 여부를 확인할 수 있다(S2502). 이때, 미리 정해진 제1 조건은 실내 진입 여부를 확인하기 위해 설정된 조건일 수 있다.
적어도 하나의 프로세서는 GPS 데이터를 기초로 실내 진입 여부를 감지할 수 있다. 구체적으로, 적어도 하나의 프로세서는 전자 장치에 포함되는 GPS 센서가 GPS 데이터를 획득하지 못하는 시점을 실내 진입 시점으로 결정할 수 있다. 또한, 적어도 하나의 프로세서는 GPS 데이터를 획득하지 못하는 시점에 무선 통신 신호를 스캔하는 경우, 실내에 진입한 것으로 판단할 수 있다.
또한, 적어도 하나의 프로세서는 실내 진입을 나타내는 통신 신호를 수신하는 동작을 기초로 실내 진입 여부를 감지할 수 있다. 구체적으로, 적어도 하나의 프로세서는 차량이 주차장 입구를 통과함에 따라 주차 관제 시스템으로부터 통신 신호를 수신할 수 있고, 상기 수신 동작을 기초로 실내 진입을 식별할 수 있다.
또한, 적어도 하나의 프로세서는 목적지 도착 여부를 기초로 실내 진입 여부를 감지할 수 있다. 구체적으로, 적어도 하나의 프로세서가 특정 장소로 길 안내 기능을 제공하는 경우, 상기 특정 장소에 도착한 것으로 판단된 시점을 실내 진입 시점으로 결정할 수 있다.
또한, 이에 한정되지 않고, 적어도 하나의 프로세서는 온도 정보, 조도 정보 또는 AP 정보를 기초로 실내 진입 여부를 감지할 수 있다.
또한, 적어도 하나의 프로세서는 제1 조건이 달성되지 않은 경우(예: 실외 공간에 위치하는 경우) 어플리케이션을 제1 동작 모드로 유지할 수 있다.
또한, 적어도 하나의 프로세서는, 제1 조건이 달성된 경우(예: 실내에 진입한 것으로 판단되는 경우) 전자 장치의 실내에서의 위치를 추정하기 위한 제2 동작 모드로 동작할 수 있다(S2503).
도 26은, 다양한 실시예에 따른, 전자 장치가 실외에서 실내로 진입하는 다양한 상황들을 설명하기 위한 도면이다.
예를 들어, 도 26의 (a)를 참조하면, 전자 장치는 사용자의 보행 이동을 통해 실내 공간에 진입할 수 있다. 또한, 예를 들어, 도 26의 (b)를 참조하면, 전자 장치는 사용자의 차량 이동을 통해 실내 공간에 진입할 수 있다.
전자 장치는, 실내 공간에 진입하는 방식에 따라 어플리케이션을 상이하게 제어할 수 있다.
예를 들어, 전자 장치는 사용자의 보행 이동을 통해 실내 공간에 진입하는 경우에는 실내 위치 추정 기능을 실행하도록 어플리케이션을 제어할 수 있지만, 사용자의 차량 이동을 통해 실내 공간에 진입하는 경우, 차량의 주차 위치를 식별할 필요가 있기 때문에, 실내 위치 추정 기능과 함께 주차 위치 추적 기능을 함께 실행하도록 어플리케이션을 제어할 필요가 있다.
도 27은, 다양한 실시예들에 따른, 전자 장치가 이동 패턴을 기초로 어플리케이션의 실행을 제어하는 방법을 도시한 도면이다.
도 28은, 다양한 실시예들에 따른, 전자 장치가 동작 모드를 전환하는 동작을 설명하기 위한 도면이다.
도 27을 참조하면, 전자 장치에 포함된 적어도 하나의 프로세서는 제1 동작 모드에 따라 어플리케이션을 구동하여 상기 전자 장치의 실내 진입 여부를 식별할 수 있다(S2710). 적어도 하나의 프로세서가 실내 진입 여부를 식별하는 구체적인 방법은 상술하였으므로 생략하기로 한다.
적어도 하나의 프로세서는 실내 진입 식별 동작에 대응하여, 전자 장치의 이동 패턴을 기초로 동작 모드가 설정될 수 있다. 예를 들어, 전자 장치의 이동 패턴은 보행 이동을 나타내는 제1 이동 패턴 및 차량 이동을 나타내는 제2 이동 패턴을 포함할 수 있으나, 이에 한정되지 않는다.
구체적으로, 적어도 하나의 프로세서는 실내 진입 식별 동작에 대응하여, 상기 전자 장치의 이동 패턴이 제1 이동 패턴인 경우, 제2 동작 모드에 따라 어플리케이션을 제어할 수 있다(S2720). 이때, 제2 동작 모드는 실내 위치 추정 기능을 활성화한 어플리케이션 제어 동작을 포함할 수 있다.
또한, 전자 장치는 실내 진입 식별 동작에 대응하여, 상기 전자 장치의 이동 패턴이 제2 이동 패턴인 경우, 제3 동작 모드에 따라 어플리케이션을 제어할 수 있다(S2730). 이때, 제3 동작 모드는 실내 위치 추정 기능 및 주차 위치 추적 기능을 활성화한 어플리케이션 제어 동작을 포함할 수 있다. 또한, 실내 위치 추정 기능은 제3 동작 모드 및 제2 동작 모드에서 각각 상이하게 구현될 수 있다.
적어도 하나의 프로세서의 상기 제2 동작 모드에 따른 동작은, 상기 전자 장치에 의해 수집된 AP 데이터 및 제1 가속도 데이터를 기초로 상기 전자 장치의 위치에 대응되는 제1 위치 데이터를 획득하는 동작(S2721)을 포함할 수 있다. 이 경우, 적어도 하나의 프로세서는 제2 동작 모드에 따른 실내 위치 추정을 위해, AP 데이터 및 가속도 데이터를 이용할 수 있다. AP 데이터 및 가속도 데이터를 이용한 실내 위치 추정 방법은 상술하였으므로 생략하기로 한다. 물론, 이에 한정되는 것은 아니고, 적어도 하나의 프로세서는 자기장 데이터를 더 이용하여 실내 위치를 추정할 수도 있다.
또한, 적어도 하나의 프로세서의 상기 제2 동작 모드에 따른 동작은, 상기 적어도 하나의 센서를 이용하여 획득된 기압 데이터를 기초로 상기 전자 장치가 위치하는 층을 나타내는 층 정보를 획득하는 동작을 더 포함할 수 있다. 구체적으로, 적어도 하나의 프로세서는 기압 데이터 및 층 별 기압 데이터의 분포를 나타내는 기압 데이터 셋을 기초로 층 정보를 획득할 수 있다. 층 정보를 획득하는 동작 방법에 대한 구체적인 내용은 아래(도 29 및 도30)에서 설명한다.
또한, 적어도 하나의 프로세서의 제3 동작 모드에 따른 동작은, 상기 전자 장치에 의해 수집된 제2 가속도 데이터를 기초로 상기 전자 장치의 위치에 대응되는 제2 위치 데이터를 획득하는 동작(S2731)을 포함할 수 있다. 이 경우, 적어도 하나의 프로세서는 제3 동작 모드에 따른 실내 위치 추정을 위해, 가속도 데이터를 이용할 수 있다. 즉, 제3 동작 모드에 따른 실내 위치 추정 기능에는 AP 데이터가 이용되지 않을 수 있으나, 이에 한정되지 않는다.
또한, 제3 동작 모드에 따른 동작은, 적어도 하나의 센서를 이용하여 획득된 자기장 데이터를 기초로 상기 제2 위치 데이터를 보정하는 동작을 더 포함할 수 있다.
또한, 제3 동작 모드에 따른 동작은, 전자 장치의 궤적 데이터 및 이동 가능 경로를 기초로 실내 위치를 추정하는 동작을 더 포함할 수 있다. 이때, 궤적 데이터는 특정 시간 구간 동안의 전자 장치의 위치 데이터를 포함할 수 있다. 궤적 데이터 및 이동 가능 경로를 기초로 실내 위치를 추정하는 방법에 대한 구체적인 설명은 상술하였으므로 생략하기로 한다.
또한, 제3 동작 모드에 따른 동작은, 상기 제2 위치 데이터를 기초로, 전자 장치의 이동 패턴이 상기 제2 이동 패턴에서 상기 제1 이동 패턴으로 변경되는 제1 시간 구간을 식별하여 제1 시간 구간에 대응되는 제3 위치 데이터를 메모리에 저장하는 동작(S2732)을 더 포함할 수 있다. 구체적으로, 적어도 하나의 프로세서는 이동 패턴의 변화를 기초로 차량의 주차 위치를 식별할 수 있다. 예를 들어, 적어도 하나의 프로세서는 이동 패턴이 차량 이동에서 보행(도보) 이동으로 변하는 상기 제1 시간 구간을 식별할 수 있고, 상기 제1 시간 구간에 대응되는 제3 위치 데이터를 기초로 주차 위치를 결정할 수 있다.
적어도 하나의 프로세서의 주차 위치 식별 방법이 상술한 기재에 한정되는 것은 아니고, 적어도 하나의 프로세서는 또 다른 실시예를 기초로 주차 위치를 식별할 수 있다.
예를 들어, 적어도 하나의 프로세서는 전자 장치와 차량의 통신 연결이 해제되는 시점의 위치 데이터를 기초로 주차 위치를 식별할 수 있다.
또한, 예를 들어, 적어도 하나의 프로세서는 전자 장치의 실외 네비게이션 어플리케이션의 실행이 종료되는 시점의 위치 데이터를 기초로 주차 위치를 식별할 수 있다.
적어도 하나의 프로세서는 제1 시간 구간 및 제3 위치 데이터를 기초로 주차 정보를 생성하여 메모리에 저장할 수 있다. 이때, 주차 정보는 제3 위치 데이터를 기초로 생성된 주차 위치 정보 및 제1 시간 구간을 기초로 생성된 주차 시간 정보를 포함할 수 있다.
이에 따라, 전자 장치는 주차 경과 시간 정보를 사용자에게 제공할 수 있고, 이에 따른 주차 요금에 대한 정보를 더 제공할 수 있다.
또한, 도 28을 참조하면, 적어도 하나의 프로세서는 제3 위치 데이터를 메모리에 저장하는 동작을 수행한 후에, 제3 동작 모드를 제2 동작 모드로 전환할 수 있다(S2740). 구체적으로, 적어도 하나의 프로세서는 제3 위치 데이터를 저장한 이후에, 주차 위치 추적 기능을 비활성화하고 실내 위치 추정 기능만 활성화하도록 어플리케이션을 제어할 수 있다.
또한, 적어도 하나의 프로세서는 사용자로부터 주차 위치 안내를 요청하는 입력이 수신되는 경우, 메모리에 저장된 제3 위치 데이터를 기초로 주차 위치 정보를 사용자에게 제공할 수 있다. 또한, 적어도 하나의 프로세서는 사용자로부터 주차 위치로 경로 안내를 요청하는 입력이 수신되는 경우, 상기 주차 위치까지의 경로를 생성하여 사용자에게 제공할 수 있다.
도 29는, 다양한 실시예들에 따른, 전자 장치가 층 정보를 식별하기 위한 방법을 설명하기 위한 도면이다.
도 29를 참조하면, 전자 장치에 포함된 적어도 하나의 프로세서는 어플리케이션을 실행할 수 있다(S2910). 적어도 하나의 프로세서는 전자 장치가 위치하는 층을 나타내는 층 정보를 획득할 수 있다(S2920). 또한, 적어도 하나의 프로세서는 전자 장치의 실내 위치를 나타내는 실내 위치 정보를 획득할 수 있다(S2930).
이때, 적어도 하나의 프로세서는 현재 위치하는 층 및 현재 위치를 나타내는 사용자 입력을 기초로 층 정보 및/또는 실내 위치 정보를 획득할 수 있다.
예를 들어, 적어도 하나의 프로세서는 사용자로부터 입력된 주변 관심 지점에 대한 정보를 기초로 층 정보 및 실내 위치 정보를 획득할 수 있다. 구체적으로, 적어도 하나의 프로세서는 사용자로부터 주변 상점의 명칭에 대한 입력을 수신한 경우, 상기 상점의 위치를 기초 층 정보 및 실내 위치 정보를 획득할 수 있다.
또한, 예를 들어, 적어도 하나의 프로세서는 사용자로부터 현재 층에 대한 입력 및 현재 위치에 대한 입력을 수신함으로써 층 정보 및 실내 위치 정보를 획득할 수 있다.
또한, 적어도 하나의 프로세서는 전자 장치에 포함되는 시각 센서(예: 카메라 장치, 라이다 장치 등)에 의해 획득되는 시각 정보를 기초로 층 정보 및 실내 위치 정보를 획득할 수 있다. 예를 들어, 적어도 하나의 프로세서는 주변 관심 지점에 대한 시각 정보를 기초로 층 정보 및 실내 위치 정보를 획득할 수 있다.
도 30은, 다양한 실시예들에 따른, 전자 장치 및 서버가 층 정보를 획득하기 위한 구체적인 방법을 설명하기 위한 도면이다.
도 30을 참조하면, 서버는 복수의 사용자 단말로부터 기압 데이터를 수신할 수 있다(S3001). 이때, 기압 데이터는 복수의 사용자 단말들에 포함된 기압계에 의해 획득될 수 있다.
또한, 서버는 기압 데이터를 복수의 층 별로 그룹핑함으로써 층 별 기압 데이터의 분포를 나타내는 기압 데이터 셋을 획득할 수 있다(S3002). 구체적으로, 서버는 복수의 층들에 위치한 사용자 디바이스들로부터 획득한 기압 데이터를 대응되는 층에 매칭함으로써 기압 데이터 셋을 구축할 수 있다. 예를 들어, 서버는 제1 층에 대응되는 제1 서브 기압 데이터 셋, 제2 층에 대응되는 제2 서브 기압 데이터 셋 및 제3 층에 대응되는 제3 서브 기압 데이터 셋을 포함하는 기압 데이터 셋을 구축할 수 있으나, 이에 한정되지 않는다.
이때, 서버는 미리 정해진 시간 구간 동안 획득한 기압 데이터를 기초로 상기 기압 데이터 셋을 구축하도록 설정될 수 있다. 구체적으로, 서버는 디바이스의 층 정보를 추정하기 위한 기압 데이터 셋을 구축하기 위해 미리 정해진 시간 구간 동안 기압 데이터를 수집할 수 있다. 예를 들어, 서버는 복합 쇼핑몰이 일반 고객에게 오픈되기 전인 일정 시간 구간 동안 획득된 기압 데이터를 기초로 기압 데이터 셋을 구축할 수 있다. 또는 서버는 복합 쇼핑몰이 일반 고객에게 영업이 종료된 이후의 일정 시간 구간 동안 획득된 기압 데이터를 기초로 기압 데이터 셋을 구축할 수 있다.
전자 장치는 서버에 의해 구축된 기압 데이터 셋을 기초로 전자 장치가 위치하는 층을 나타내는 층 정보를 획득할 수 있다. 구체적으로,
구체적으로, 전자 장치는 기압계를 이용하여 획득된 기압 데이터를 서버에 전송할 수 있다(S3003).
이때, 서버는 기압 데이터 및 기구축된 기압 데이터 셋을 기초로 전자 장치에 대응되는 층 정보를 획득할 수 있다(S3004). 구체적으로, 서버는 수신된 기압 데이터 및 기압 데이터 셋을 비교함으로써 전자 장치가 위치하는 층을 추정할 수 있다. 예를 들어, 서버는 기압 데이터 셋 중 수신된 기압 값에 대응되는 값을 식별할 수 있고, 상기 값에 대응되는 층을 식별함으로써 층 정보를 획득할 수 있다.
또한, 서버는 획득된 층 정보를 전자 장치에 제공할 수 있다(S3005).
[주변 디바이스를 이용한 실내 위치 보정 방법]
지도 서비스를 제공하는 서버 장치(또는 컴퓨팅 장치 또는 전자 장치, 이하 "전자 장치"라 함)는 상기 지도 서비스를 이용하는 복수의 사용자 디바이스들로부터 데이터를 수신하고, 복수의 사용자 디바이스들의 위치를 측정할 수 있다.
복수의 사용자 디바이스들 사이의 기술적 차이(예: 사용자 디바이스의 스펙 차이, 사용자 디바이스의 기종 차이 등)로 인해, 복수의 사용자 디바이스의 실내 위치 추정 정확도는 서로 상이할 수 있다.
이에 따라, 전자 장치는 복수의 사용자 디바이스들의 위치 측정 값들 중 정확도가 높은 측정 값을 이용하여 다른 사용자 디바이스의 위치 측정 값을 보정할 수 있다.
도 31은, 다양한 실시예들에 따른, 전자 장치가 복수의 사용자 디바이스들의 측위 결과를 이용하여 위치를 보정하는 방법의 일 예시를 도시한 도면이다.
도 31을 참조하면, 전자 장치는 복수의 사용자 디바이스들 각각에 대응되는 위치 예측 값들을 획득할 수 있다(S3101). 구체적으로, 전자 장치는 복수의 사용자 디바이스들로부터 수신한 데이터(예: 위치 데이터, AP 데이터, 가속도 데이터, 자기장 데이터, 기압 데이터 등)를 기초로 복수의 사용자 디바이스들의 위치를 측정함으로써 상기 위치 예측 값들을 획득할 수 있다. 전자 장치가 위치를 측정하는 방법에 대한 설명은 상술하였으므로 생략하기로 한다.
또한, 전자 장치는 복수의 사용자 디바이스들 중 적어도 일부가 미리 정해진 보정 조건을 만족하는 경우, 적어도 일부의 사용자 디바이스들의 위치 예측 값을 보정할 수 있다(S3102).
전자 장치는 메모리에 미리 정해진 보정 조건을 저장할 수 있다.
이때, 미리 정해진 보정 조건은 위치 예측 정확도, 디바이스 사이의 거리 또는 디바이스 사이의 통신 상태 중 적어도 하나를 기초로 설정될 수 있다.
전자 장치는 특정 사용자 디바이스의 위치를 예측한 후, 상기 특정 사용자 디바이스의 위치 정확도(accuracy)를 산출할 수 있다. 여기서, 위치 정확도(accuracy)는 적어도 하나의 측위 알고리즘에 따라 출력된 위치 예측 값의 신뢰도를 의미할 수 있다. 이때, 위치 정확도는 위치 측정 알고리즘의 출력 값으로서 산출될 수 있다. 보다 구체적으로, 전자 장치는 특정 사용자 디바이스로부터 수신한 데이터를 기초로 특정 사용자 디바이스의 위치 예측 값 및 위치 예측 정확도를 출력할 수 있으나, 이에 한정되지 않는다.
예를 들어, 전자 장치는 제1 사용자 디바이스로부터 수신한 데이터를 기초로 제1 사용자 디바이스의 위치를 측정하여 제1 위치 예측 값을 출력할 수 있고, 제2 사용자 디바이스로부터 수신한 데이터를 기초로 제2 사용자 디바이스의 위치를 측정하여 제2 위치 예측 값을 출력할 수 있다.
전자 장치는 적어도 두개의 사용자 디바이스들의 위치 예측 값을 정확도가 높은 위치 예측 값을 기초로 보정할 수 있다.
예를 들어, 제2 위치 예측 값의 정확도가 제1 위치 예측 값의 정확도 보다 높은 경우, 전자 장치는 제1 사용자 디바이스의 제1 위치 예측 값을 제2 사용자 디바이스의 제2 위치 예측 값을 기초로 보정할 수 있다. 구체적으로, 전자 장치는 제1 사용자 디바이스의 위치 예측 값을 상기 제2 위치 예측 값으로 보정할 수 있다. 또는 전자 장치는 제1 사용자 디바이스의 위치 예측 값을 상기 제1 위치 예측 값 및 제2 위치 예측 값을 정확도를 기반으로 보간한 값으로 보정할 수 있다.
또한, 예를 들어, 전자 장치는 제1 사용자 디바이스 및 제2 사용자 디바이스 사이의 거리가 임계 값 이내인 경우, 상기 제1 사용자 디바이스의 위치 예측 값 및 상기 제2 사용자 디바이스의 위치 예측 값 중 적어도 하나를 보정할 수 있다.
또한, 예를 들어, 전자 장치는 제1 사용자 디바이스 및 제2 사용자 디바이스가 무선 통신 연결이 가능한 상태(예: 블루투스 신호가 스캔되는 상태)인 경우, 상기 제1 사용자 디바이스의 위치 예측 값 및 상기 제2 사용자 디바이스의 위치 예측 값 중 적어도 하나를 보정할 수 있다.
또한, 예를 들어, 전자 장치는 제1 사용자 디바이스가 측위 정확도가 상대적으로 높은 제1 기종이고, 제2 사용자 디바이스가 측위 정확도가 상대적으로 낮은 제2 기종인 경우, 상기 제1 사용자 디바이스의 위치 예측 값을 기초로 상기 제2 사용자 디바이스의 위치 예측 값을 보정할 수 있다. 예를 들어, 제1 기종은 제2 기종에 비해 사양이 높은 기종(예: uwb 센서가 포함된 기종)일 수 있으나, 이에 한정되지 않는다.
도 32는, 다양한 실시예들에 따른, 전자 장치가 사용자 디바이스의 위치 정보를 보정하기 위한 방법의 일 예시를 도시한 도면이다.
도 32를 참조하면, 전자 장치는 제1 사용자 디바이스에 대응되는 제1 예상 위치 정보 및 제2 사용자 디바이스에 대응되는 제2 예상 위치 정보를 획득할 수 있다(S3201). 이때, 예상 위치 정보는 위치 예측(또는 추정) 값 및 위치 예측에 대한 정확도(accuracy) 정보를 포함할 수 있다. 이때, 정확도 정보는 위치 예측 오차 값을 기초로 나타날 수 있고, 위치 예측 오차 값에 따라 정의되는 정확도 레벨(또는 accuracy radius)을 포함할 수 있다. 예시적으로, 제1 사용자 디바이스의 위치 정확도는 제2 사용자 디바이스의 위치 정확도 보다 높을 수 있다.
또한, 전자 장치는 제1 사용자 디바이스 및 제2 사용자 디바이스 사이의 예상 거리 정보 획득할 수 있다(S3202). 구체적으로, 전자 장치는 제1 사용자 디바이스 및 제2 사용자 디바이스 사이의 무선 통신 상태를 기초로 예상 거리 정보를 획득할 수 있다.
예를 들어, 전자 장치는 제1 사용자 디바이스로부터 스캔되는 제2 사용자 디바이스의 무선 통신 신호의 강도를 기초로 예상 거리 정보를 획득할 수 있다. 구체적으로, 제1 사용자 디바이스 및 제2 사용자 디바이스 사이의 거리가 가까울수록 제1 사용자 디바이스에서 스캔되는 제2 사용자 디바이스의 무선 통신 신호의 강도가 세질 수 있다.
또한, 예를 들어, 전자 장치는 제1 사용자 디바이스 및 제2 사용자 디바이스 사이의 무선 통신 연결이 최초로 가능해지는 시점을 기초로 예상 거리 정보를 획득할 수 있다. 구체적으로, 전자 장치는 사용자 디바이스 사이에 무선 통신 연결이 가능해지는 최대 거리를 미리 저장할 수 있고, 제1 사용자 디바이스와 제2 사용자 디바이스의 통신 연결이 최초로 가능해진 시점에 대응되는 미리 저장된 거리를 기초로 예상 거리 정보를 획득할 수 있다.
또한, 전자 장치는 제1 사용자 디바이스 또는 제2 사용자 디바이스 중 적어도 하나로부터 무선 통신 상태에 대한 정보를 수신할 수 있고, 이를 기초로 예상 거리 정보를 획득할 수 있다.
또한, 전자 장치는 제1 예상 위치 정보에 포함되는 제1 정확도 정보 및 예상 거리 정보를 기초로 보정 파라미터를 결정할 수 있다(S3203). 구체적으로, 전자 장치는 제1 사용자 디바이스의 위치 예측 오차 및 제2 사용자 디바이스까지의 예상 거리를 기초로 보정 파라미터를 결정할 수 있다. 또한, 전자 장치는 상기 보정 파라미터를 기초로 상기 제2 예상 위치 정보에 포함되는 위치 추정 값을 보정할 수 있다(S3203).
도 33은, 다양한 실시예들에 따른, 전자 장치가 사용자 디바이스의 경로를 기초로 위치를 보정하는 방법의 일 예시를 도시한 도면이다.
도 33을 참조하면, 대응되는 경로에 따라 이동하는 적어도 두 개의 사용자 디바이스들을 식별할 수 있다. 예를 들어, 전자 장치는 제1 경로(3301)에 따라 이동하는 제1 사용자 디바이스 및 상기 제1 경로(3301)에 대응되는 제2 경로(3302)에 따라 이동하는 제2 사용자 디바이스를 식별할 수 있다. 이때, 제1 경로(3301)는 제1 사용자 디바이스의 시간에 따른 위치를 기초로 정의될 수 있고, 제2 경로(3302)는 제2 사용자 디바이스의 시간에 따른 위치를 기초로 정의될 수 있다.
제1 경로(3301) 및 제2 경로(3302)는 전자 장치에 의해 생성되어 사용자 디바이스에 제공된 경로일 수 있다. 예를 들어, 전자 장치는 제1 사용자 디바이스에 제1 경로(3301)를 제공하고, 제2 사용자 디바이스에 제2 경로(3302)를 제공할 수 있다. 이때, 제1 경로(3301) 및 제2 경로(3302)는 동일할 수 있다.
또한, 이에 한정되지 않고, 전자 장치는 대응되는 목적지 위치로 이동하는 적어도 두 개의 사용자 디바이스들을 식별할 수 있다. 이때, 상기 목적지 위치는 전자 장치에 의해 사용자 디바이스에 제공되는 경로에 포함된 목적지 위치일 수 있다. 예를 들어, 전자 장치는 제1 목적지 위치가 설정된 제1 사용자 디바이스 및 상기 제1 목적지 위치가 설정된 제2 사용자 디바이스를 식별할 수 있다.
전자 장치는 사용자 디바이스에 제공된 경로와 관계없이, 사용자 디바이스의 위치를 예측할 수 있다. 예를 들어, 전자 장치는 제1 사용자 디바이스의 위치를 제1 위치(3310)로 결정할 수 있고, 제2 사용자 디바이스의 위치를 제2 위치(3320)로 결정할 수 있다. 이때, 전자 장치는 실내 공간 상의 복수의 지점들에 대응되는 복수의 측위점들(또는 복수의 측위점들을 포함하는 측위 데이터)을 기초로 적어도 하나의 사용자 디바이스의 위치를 식별하도록 설정될 수 있다.
또한, 전자 장치는 식별된 위치를 적어도 하나의 앵커(anchor) 위치를 기초로 보정할 수 있다. 이때, 앵커 위치는 위치 정확도가 높은 위치를 의미할 수 있다. 구체적으로, 전자 장치는 위치 예측의 정확도가 미리 정해진 임계치 이상인 위치를 앵커 위치로 설정할 수 있다.
예를 들어, 전자 장치는 측위 데이터에 포함된 복수의 측위점들 중 적어도 하나의 측위점의 위치를 기초로 사용자 디바이스의 위치를 결정할 수 있다. 결정된 사용자 디바이스의 위치 정확도가 미리 정해진 임계치 이상이 경우, 상기 적어도 하나의 측위점에 대응되는 위치를 앵커 위치로 설정할 수 있다.
또한, 전자 장치는 실내 공간에 포함되는 복수의 지점들 중 위치 정확도가 높은 적어도 일부의 지점들을 기초로 앵커 위치 정보를 획득할 수 있다. 예를 들어, 앵커 위치 정보는 제1 앵커 위치(3330) 및 제2 앵커 위치(3340)를 포함할 수 있으나, 이에 한정되지 않는다.
전자 장치는 대응되는 시점에 대응되는 앵커 위치로 식별된 적어도 두 개의 사용자 디바이스들을 식별할 수 있다. 또한, 이 경우, 전자 장치는 식별된 적어도 두 개의 사용자 디바이스들의 위치를 위치 예측 정확도를 기초로 보정할 수 있다. 또한, 전자 장치는 목적지 위치가 동일한 적어도 두 개의 사용자 디바이스들의 위치 예측 정확도를 기초로 적어도 하나의 사용자 디바이스의 위치를 보정할 수 있다.
이때, 위치 예측 정확도는 위치가 보정된 거리를 기초로 결정될 수 있다.
구체적으로, 전자 장치는 기존에 식별된 위치로부터 앵커 위치로 보정되는 거리를 기초로 위치 예측 정확도를 결정할 수 있다. 구체적으로, 전자 장치는 적어도 하나의 사용자 디바이스의 식별된 위치의 보정된 거리가 작을수록 상기 식별된 위치의 정확도가 높은 것으로 판단할 수 있다.
일 예로, 전자 장치는 제1 위치(3310)로 식별된 제1 사용자 디바이스의 위치를 제1 앵커 위치(3330)에 대응되는 제1 보정 위치(3315)로 결정할 수 있다. 이때, 상기 제1 보정 위치(3315) 및 상기 제1 위치(3310) 사이의 거리는 제1 거리(d1)일 수 있다.
또한, 전자 장치는 제2 위치(3320)로 식별된 제2 사용자 디바이스의 위치를 상기 제1 앵커 위치(3330)에 대응되는 제2 보정 위치(3325)로 결정할 수 있다. 이때, 상기 제2 보정 위치(3325) 및 상기 제2 위치(3320) 사이의 거리는 제2 거리(d2)일 수 있다. 또한, 제2 보정 위치(3325) 및 제1 보정 위치(3315) 사이의 거리는 미리 정해진 임계치 이하일 수 있다.
전자 장치는 상기 제1 거리(d1)가 상기 제2 거리(d2)보다 작으므로 제1 사용자 디바이스의 위치 예측 정확도가 제2 사용자 디바이스의 위치 예측 정확도 보다 높은 것으로 판단할 수 있다.
전자 장치는 목적지 위치가 동일한 적어도 두 개의 사용자 디바이스들이 대응되는 시점에 대응되는 위치로 식별되는 경우, 상기 두 개의 사용자 디바이스들이 동행하는 것으로 판단할 수 있다.
이 경우, 전자 장치는 적어도 두 개의 사용자 디바이스들의 위치 중 위치 예측 정확도가 높은 사용자 디바이스의 위치를 상기 적어도 두 개의 사용자 디바이스들의 위치로 결정할 수 있다.
예시적으로, 전자 장치는 상기 제1 시점 및 상기 제2 시점 이후의 시간부터, 상기 제2 사용자 디바이스의 위치를 상기 제1 사용자 디바이스의 위치와 동일하게 결정할 수 있다. 구체적으로, 제1 사용자 디바이스 및 제2 사용자 디바이스가 목적지 위치가 동일하고 대응되는 시점(제1 시점 및 제2 시점)에 대응되는 위치(제1 보정 위치 및 제2 보정 위치)로 식별됨에 따라, 전자 장치는 상기 제1 사용자 디바이스 및 상기 제2 사용자 디바이스가 동행하는 것으로 판단하여, 제1 사용자 디바이스 및 제2 사용자 디바이스 중 하나의 위치만 연산하도록 설정될 수 있다.
예를 들어, 전자 장치는 제1 사용자 디바이스의 위치가 제3 시점에 제2 앵커 위치(3340)에 대응되는 제3 보정 위치(3350)로 결정되는 경우, 제2 사용자 디바이스의 위치를 상기 제3 시점에 대응되는(또는 동일한) 제4 시점에 상기 제3 보정 위치(3350)에 대응되는 제4 보정 위치(3360)로 결정할 수 있다. 바람직하게는, 상기 제4 보정 위치(3360)는 제3 보정 위치(3350)와 동일하게 설정될 수 있다.
또한, 전자 장치는 상기 두 개의 사용자 디바이스들의 연산 모드를 상이하게 설정할 수 있다. 구체적으로, 전자 장치는 상기 두 개의 사용자 디바이스들 중 위치 예측 정확도가 높은 사용자 디바이스는 높은 연산량을 기초로 정확한 위치를 산출하고, 위치 예측 정확도가 낮은 사용자 디바이스는 낮은 연산량을 기초로 대략적인 위치를 산출할 수 있다.
이를 통해, 전자 장치는 동행하는 복수의 사용자 디바이스들 중 위치 예측 정확도가 높은 사용자 디바이스의 위치만을 기초로 복수의 사용자 디바이스들의 위치를 예측함에 따라, 불필요한 연산량을 감소시킬 수 있다.
예시적으로, 전자 장치는 제1 연산 모드에 따라 제1 사용자 디바이스의 위치를 추정할 수 있고, 상기 제1 연산 모드보다 연산량이 작은 제2 연산 모드에 따라 제2 사용자 디바이스의 위치를 추정할 수 있다. 실시예에 따라, 전자 장치는 제2 사용자 디바이스의 위치를 추정하지 않을 수도 있다.
전자 장치는 위치 추정에 이용되는 데이터의 볼륨을 기초로 적어도 하나의 연산 모드를 설정할 수 있다.
예를 들어, 전자 장치는 제1 연산 모드에 따라, 제1 사용자 디바이스로부터 수집된 AP 데이터 및 가속도 데이터를 이용하여 상기 제1 사용자 디바이스의 위치를 추정하도록 설정될 수 있다.
또한, 이 경우, 전자 장치는 상기 제1 연산 모드보다 연산량이 작도록 설정된 제2 연산 모드에 따라, 제2 사용자 디바이스로부터 수집된 AP 데이터 또는 가속도 데이터 중 하나를 이용하여 상기 제2 사용자 디바이스의 위치를 추정하도록 설정될 수 있다. 예를 들어, 전자 장치는 제2 사용자 디바이스로부터 수신한 가속도 데이터를 기초로 제2 사용자 디바이스의 위치를 갱신하되, 상기 제1 사용자 디바이스로부터 수신된 AP 데이터를 기초로 제2 사용자 디바이스의 위치를 보정하도록 설정될 수 있다.
전자 장치는 미리 설정된 조건이 달성되는 경우, 연산 모드를 전환할 수 있다. 구체적으로, 전자 장치는 제2 사용자 디바이스가 제1 사용자 디바이스와 동행하지 않는 것으로 판단되는 경우, 제2 연산 모드를 제1 연산 모드로 전환하여 제2 사용자 디바이스의 위치를 예측할 수 있다.
구체적으로, 제2 연산 모드에 따라 예측된 제2 사용자 디바이스의 위치와 제1 사용자 디바이스의 위치에 따라 보정된 제2 사용자 디바이스의 위치가 미리 정해진 임계치 이상 차이나는 경우, 전자 장치는 제2 연산 모드를 제1 연산 모드로 전환하도록 설정될 수 있다.
도 34는, 다양한 실시예들에 따른, 전자 장치가 사용자 디바이스의 경로를 기초로 위치를 보정하는 방법의 일 예시를 도시한 흐름도이다.
도 34를 참조하면, 전자 장치는 목적지 위치가 동일한 제1 사용자 디바이스 및 제2 사용자 디바이스를 식별할 수 있다(S3401).
또한, 전자 장치는 제1 위치로 식별된 제1 사용자 디바이스의 위치가 제1 시점에 제1 앵커 위치에 대응되는 제1 보정 위치로 결정할 수 있다(S3402).
또한, 전자 장치는 제2 위치로 식별된 제2 사용자 디바이스의 위치가 상기 제1 시점에 대응되는 제2 시점에 상기 제1 앵커 위치에 대응되는 제2 보정 위치로 결정할 수 있다(S3401).
또한, 전자 장치는 제1 사용자 디바이스의 위치가 제3 시점에 제2 앵커 위치에 대응되는 제3 보정 위치로 결정되는 경우, 제3 사용자 디바이스의 위치를 제3 시점에 대응되는 제4 시점에 제3 보정 위치로 결정할 수 있다(S3401).
도 35는, 다양한 실시예들에 따른, 동행하는 것으로 판단되는 복수의 사용자 디바이스들의 스캔 주기 차이에 따른 위치 보정 방법 설명하기 위한 도면이다.
도 35의 (a)는 제1 사용자 디바이스의 AP 데이터 스캔 주기에 따른 제1 사용자 디바이스의 위치를 도시한 도면이다. 도 35의 (b)는 제2 사용자 디바이스의 AP 데이터 스캔 주기에 따른 제2 사용자 디바이스의 위치를 도시한 도면이다.
전자 장치는 사용자 디바이스로부터 수집된 AP 데이터를 기초로 사용자 디바이스의 위치를 예측할 수 있다.
예를 들어, 도 35의 (a)를 참조하면, 제1 사용자 디바이스는 제1 스캔 주기(3501)에 따라 AP 데이터를 수집할 수 있다. 또한, 전자 장치는 제1 사용자 디바이스로부터 수신된 AP 데이터를 기초로 제1 사용자 디바이스의 위치를 예측할 수 있다. 예를 들어, 전자 장치는 제1 사용자 디바이스의 제1 스캔(scan1)에 따라 제1 사용자 디바이스의 위치를 P11로 결정할 수 있다. 또한, 도 35의 (b)를 참조하면, 전자 장치는 제2 사용자 디바이스의 제1 스캔(scan1)에 따라 제2 사용자 디바이스의 위치를 P21로 결정할 수 있다.
또한, 전자 장치는 제1 사용자 디바이스의 위치를 갱신할 수 있다(3510). 구체적으로, 전자 장치는 제1 사용자 디바이스로부터 수신한 위치 데이터, 자기장 데이터, 가속도 데이터 중 적어도 하나 또는 궤적 데이터를 기초로 제1 사용자 디바이스의 위치를 갱신할 수 있다(3510).
또한, 전자 장치는 적어도 두 개의 사용자 디바이스들이 동행하는 것으로 판단하는 경우, 도 33 및 도 34에 개시된 사항에 따라 위치를 보정하도록 설정될 수 있다.
예를 들어, 특정 시점(t0)에 제1 사용자 디바이스 및 제2 사용자 디바이스가 동행하는 것으로 판단되는 경우, 제2 사용자 디바이스의 보정 위치를 제1 사용자 디바이스의 보정 위치를 기초로 결정할 수 있다. 또한, 이 경우, 전자 장치는 상기 특정 시점(t0) 전후로 제2 사용자 디바이스의 위치를 추정하기 위한 연산 모드를 전환할 수 있다. 예를 들어, 전자 장치는 상기 특정 시점(t0) 이전에는 제1 연산 모드에 따라, 제2 사용자 디바이스로부터 수집된 AP 데이터 및 가속도 데이터를 기초로 제2 사용자 디바이스의 위치를 예측할 수 있다. 이때, 전자 장치는 특정 시점(t0) 이후에는 제2 연산 모드로 전환하여, 제2 사용자 디바이스로부터 획득된 가속도 데이터를 기초로 제2 사용자 디바이스의 위치를 예측하고, 제1 사용자 디바이스의 위치를 기초로 제2 사용자 다비이스의 위치를 보정할 수 있다.
또한, 전자 장치는, 사용자 디바이스가 앵커 위치에 대응되는 위치에서 AP 데이터를 스캔하는 경우, 앵커링 이벤트(Anchoring event, AE)가 발생한 것으로 판단하고, 사용자 디바이스의 위치를 앵커 위치를 기초로 보정할 수 있다.
예를 들어, 제1 앵커 위치에 대응되는 위치에서의 제1 사용자 디바이스의 제2 스캔(scan2)에 따라 제1 앵커링 이벤트(AE1)가 발생한 경우, 제1 사용자 디바이스의 위치를 제1 앵커 위치에 대응되는 제1 보정 위치로 결정할 수 있다.
이에 따라, 전자 장치는 제1 사용자 디바이스의 위치 보정을 기초로 제2 사용자 디바이스의 위치를 보정할 수 있다. 구체적으로, 전자 장치는 제1 앵커링 이벤트(AE1)가 발생한 시점에 대응되는 제1 시점(t1)에 제2 사용자 디바이스의 위치를 상기 제1 보정 위치로 결정할 수 있다.
전자 장치는, 상술한 연산 모드에 의존하여 사용자 디바이스의 위치를 예측할 수 있다.
예를 들어, 전자 장치가 제2 사용자 디바이스의 위치를 제2 연산 모드로 예측함에 따라, 제2 사용자 디바이스가 AP 데이터를 스캔(scan2)하는 경우, 전자 장치는 스캔된 AP 데이터에 대응되는 위치를 산출하지 않을 수 있다. 이와 반대로, 전자 장치는 제1 사용자 디바이스의 위치를 제1 연산 모드로 예측함에 따라, 제1 사용자 디바이스의 제3 스캔(scan3)에 따라 획득된 AP 데이터를 기초로 제1 사용자 디바이스의 위치를 P13으로 결정할 수 있다.
또한, 제2 앵커 위치에 대응되는 위치에서의 제1 사용자 디바이스의 제4 스캔(scan4)에 따라 제2 앵커링 이벤트(AE2)가 발생한 경우, 제1 사용자 디바이스의 위치를 제2 앵커 위치에 대응되는 제2 보정 위치로 결정할 수 있다.
또한, 이 경우, 전자 장치는 제2 앵커링 이벤트(AE2)가 발생한 시점에 대응되는 제2 시점(t2)에 제2 사용자 디바이스의 위치를 상기 제2 보정 위치로 결정할 수 있다.
이때, 앵커링 이벤트의 발생에 따른 제1 사용자 디바이스의 위치 보정 간격(3502)은 제1 사용자 디바이스의 스캔 주기(3501)에 연관될 수 있다. 이는, 제1 사용자 디바이스가 앵커 위치 주변에서 AP 데이터를 스캔하는 경우 앵커링 이벤트가 발생하고, 이에 따라 제1 사용자 디바이스의 위치가 보정되기 때문이다.
예를 들어, 제1 사용자 디바이스의 위치 보정 간격(3502)은 제1 사용자 디바이스의 스캔 주기(3501)의 N(이때, N은 자연수)배일 수 있다.
또한, 제2 사용자 디바이스의 위치 보정 간격(3552)은 제2 사용자 디바이스의 스캔 주기(3551)와 연관되지 않을 수 있다. 이는, 제2 사용자 디바이스의 위치 보정은 제1 사용자 디바이스의 위치 보정에 의존하여 수행되기 때문이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 지도 어플리케이션을 제어하는 전자 장치에 있어서,
    적어도 하나의 센서;
    메모리; 및
    상기 메모리에 전자적으로 연결되는 적어도 하나의 프로세서;를 포함하고,
    상기 적어도 하나의 프로세서는,
    제1 동작 모드에 따라 어플리케이션을 구동하여 실내 진입 여부를 식별하고,
    실내 진입 식별 동작에 대응하여, 상기 적어도 하나의 센서에 의해 획득된 센싱 데이터를 기반으로 전자 장치의 이동 패턴을 식별하여, 식별된 이동 패턴을 기초로 어플리케이션의 동작 모드를 선택하되,
    실내 진입 식별 동작에 대응하여, 상기 전자 장치의 이동 패턴이 제1 이동 패턴인 경우, 제2 동작 모드에 따라 어플리케이션을 제어하고,
    실내 진입 식별 동작에 대응하여, 상기 전자 장치의 이동 패턴이 제2 이동 패턴인 경우, 제3 동작 모드에 따라 어플리케이션을 제어하고,
    상기 제2 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 AP(access point) 데이터 및 제1 가속도 데이터를 기초로 상기 전자 장치의 위치에 대응되는 제1 위치 데이터를 획득하는 동작을 포함하고,
    상기 제3 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 제2 가속도 데이터를 기초로 상기 전자 장치의 위치에 대응되는 제2 위치 데이터를 획득하는 동작 및 상기 제2 위치 데이터를 기초로 상기 전자 장치의 이동 패턴이 상기 제2 이동 패턴에서 상기 제1 이동 패턴으로 변경되는 제1 시간 구간을 식별하여, 상기 제1 시간 구간에 대응되는 제3 위치 데이터를 상기 메모리에 저장하는 동작을 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 적어도 하나의 프로세서는 상기 적어도 하나의 센서를 이용하여 획득된 GPS 데이터를 기초로 실내 진입 여부를 식별하도록 설정되는 전자 장치.
  3. 제1항에 있어서,
    상기 적어도 하나의 프로세서는 실내 진입을 나타내는 통신 신호를 수신하는 동작을 기초로 실내 진입 여부를 식별하도록 설정되는 전자 장치.
  4. 제1항에 있어서,
    상기 제2 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 기압 데이터를 기초로 상기 전자 장치가 위치하는 층을 나타내는 층 정보를 획득하는 동작을 포함하는 전자 장치.
  5. 제4항에 있어서,
    상기 층 정보는 상기 적어도 하나의 프로세서에 의해 제1 기압 데이터 셋 - 이때, 상기 제1 기압 데이터 셋은 층 별 기압 데이터의 분포를 나타냄 - 및 상기 기압 데이터를 기초로 획득되는 전자 장치.
  6. 제5항에 있어서,
    상기 제1 기압 데이터 셋은 미리 정해진 시간 구간 동안 복수의 사용자 디바이스들로부터 수신된 기압 데이터를 기초로 획득되는 전자 장치.
  7. 제4항에 있어서,
    상기 층 정보는 사용자 입력의 수신에 기초하여 획득되는 전자 장치.
  8. 제1항에 있어서,
    상기 제3 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 자기장 데이터를 기초로 상기 제2 위치 데이터를 보정하는 동작을 포함하는 전자 장치.
  9. 제1항에 있어서,
    상기 적어도 하나의 프로세서는 상기 제3 위치 데이터를 상기 메모리에 저장하는 동작을 수행한 후에, 상기 제3 동작 모드를 상기 제2 동작 모드로 전환하도록 설정되는 전자 장치.
  10. 제1항에 있어서,
    상기 제1 이동 패턴은 보행 이동을 나타내고, 상기 제2 이동 패턴은 차량 이동을 나타내는 전자 장치.
  11. 제1항에 있어서,
    상기 적어도 하나의 프로세서는 제1 시간 구간 및 상기 제3 위치 데이터를 기초로 주차 정보를 생성하여 상기 메모리에 저장하도록 설정되는 전자 장치.
  12. 지도 어플리케이션을 제어하기 위한 전자 장치의 동작 방법에 있어서, 상기 전자 장치에 포함되는 적어도 하나의 프로세서에 의해,
    제1 동작 모드에 따라 어플리케이션을 구동하여 실내 진입 여부를 식별하는 단계; 및
    실내 진입 식별 동작에 대응하여, 상기 적어도 하나의 센서에 의해 획득된 센싱 데이터를 기반으로 전자 장치의 이동 패턴을 식별하여, 식별된 이동 패턴을 기초로 어플리케이션의 동작 모드를 선택하는 단계; 를 포함하고,
    상기 동작 모드를 선택하는 단계는, 실내 진입 식별 동작에 대응하여, 상기 전자 장치의 이동 패턴이 제1 이동 패턴인 경우, 제2 동작 모드에 따라 어플리케이션을 제어하는 단계, 및 실내 진입 식별 동작에 대응하여, 상기 전자 장치의 이동 패턴이 제2 이동 패턴인 경우, 제3 동작 모드에 따라 어플리케이션을 제어하는 단계를 포함하고,
    상기 제2 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 AP(access point) 데이터 및 제1 가속도 데이터를 기초로 상기 전자 장치의 위치에 대응되는 제1 위치 데이터를 획득하는 동작을 포함하고,
    상기 제3 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 제2 가속도 데이터를 기초로 상기 전자 장치의 위치에 대응되는 제2 위치 데이터를 획득하는 동작 및 상기 제2 위치 데이터를 기초로 상기 전자 장치의 이동 패턴이 상기 제2 이동 패턴에서 상기 제1 이동 패턴으로 변경되는 제1 시간 구간을 식별하여, 상기 제1 시간 구간에 대응되는 제3 위치 데이터를 메모리에 저장하는 동작을 포함하는 전자 장치의 동작 방법.
  13. 제12항에 있어서,
    상기 실내 진입 여부를 식별하는 단계는,
    상기 적어도 하나의 센서를 이용하여 획득된 GPS 데이터를 기초로 실내 진입 여부를 식별하는 단계;를 포함하는 전자 장치의 동작 방법.
  14. 제12항에 있어서,
    상기 실내 진입 여부를 식별하는 단계는,
    실내 진입을 나타내는 통신 신호를 수신하는 동작을 기초로 실내 진입 여부를 식별하는 단계;를 포함하는 전자 장치의 동작 방법.
  15. 제12항에 있어서,
    상기 제2 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 기압 데이터를 기초로 상기 전자 장치가 위치하는 층을 나타내는 층 정보를 획득하는 동작을 포함하는 전자 장치의 동작 방법.
  16. 제12항에 있어서,
    상기 제3 동작 모드에 따른 동작은, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 센서를 이용하여 획득된 자기장 데이터를 기초로 상기 제2 위치 데이터를 보정하는 동작을 포함하는 전자 장치의 동작 방법.
  17. 제12항에 있어서,
    상기 제3 위치 데이터를 상기 메모리에 저장하는 동작을 수행한 후에, 상기 제3 동작 모드를 상기 제2 동작 모드로 전환하는 단계;를 더 포함하는 전자 장치의 동작 방법.
  18. 제1항에 따른 전자 장치;
    상기 전자 장치의 실내 위치에 대한 정보를 생성하여 상기 전자 장치에 제공하는 서버;를 포함하는 시스템.
  19. 제18항에 있어서,
    상기 서버는 상기 전자 장치에 상기 전자 장치가 위치하는 층을 나타내는 층 정보를 제공하도록 설정되는 시스템.
  20. 제19항에 있어서,
    상기 층 정보는 상기 전자 장치에 의해 획득되는 기압 데이터를 기초로 획득되는 것을 특징으로 하는 시스템.
KR1020230041181A 2022-10-26 2023-03-29 모바일 디바이스의 이동 패턴에 기반한 실내 지도 어플리케이션 제어 방법 및 시스템 KR102611204B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20220139070 2022-10-26
KR20220139071 2022-10-26
KR1020220139071 2022-10-26
KR1020220139070 2022-10-26

Publications (1)

Publication Number Publication Date
KR102611204B1 true KR102611204B1 (ko) 2023-12-07

Family

ID=88196283

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020230041181A KR102611204B1 (ko) 2022-10-26 2023-03-29 모바일 디바이스의 이동 패턴에 기반한 실내 지도 어플리케이션 제어 방법 및 시스템
KR1020230041182A KR102579579B1 (ko) 2022-10-26 2023-03-29 근접 영역에 위치하는 모바일 디바이스를 이용한 실내 위치 보정 방법 및 시스템
KR1020230041178A KR102611199B1 (ko) 2022-10-26 2023-03-29 모바일 디바이스의 이동을 반영한 실내 지도 업데이트 방법 및 시스템
KR1020230041180A KR102658152B1 (ko) 2022-10-26 2023-03-29 모바일 디바이스 사용자의 수직 이동 식별 및 이를 자동으로 업데이트 하기 위한 방법
KR1020230041179A KR102611202B1 (ko) 2022-10-26 2023-03-29 주변 환경을 감지하도록 구현된 모바일 디바이스를 이용한 실내 지도 업데이트 방법 및 시스템

Family Applications After (4)

Application Number Title Priority Date Filing Date
KR1020230041182A KR102579579B1 (ko) 2022-10-26 2023-03-29 근접 영역에 위치하는 모바일 디바이스를 이용한 실내 위치 보정 방법 및 시스템
KR1020230041178A KR102611199B1 (ko) 2022-10-26 2023-03-29 모바일 디바이스의 이동을 반영한 실내 지도 업데이트 방법 및 시스템
KR1020230041180A KR102658152B1 (ko) 2022-10-26 2023-03-29 모바일 디바이스 사용자의 수직 이동 식별 및 이를 자동으로 업데이트 하기 위한 방법
KR1020230041179A KR102611202B1 (ko) 2022-10-26 2023-03-29 주변 환경을 감지하도록 구현된 모바일 디바이스를 이용한 실내 지도 업데이트 방법 및 시스템

Country Status (1)

Country Link
KR (5) KR102611204B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110096321A (ko) * 2010-02-22 2011-08-30 현대엠엔소프트 주식회사 실내의 지도 정보를 이용하여 경로를 제공하는 장치 및 방법
KR20130067135A (ko) * 2011-12-13 2013-06-21 삼성전자주식회사 동작 모드에 기초한 네비게이션 정보 제공 시스템 및 방법
KR20160105975A (ko) * 2014-01-08 2016-09-08 퀄컴 인코포레이티드 올웨이즈 온 기압계를 통한 포지셔닝을 위한 방법 및 장치
KR20180110392A (ko) * 2017-03-29 2018-10-10 현대엘리베이터주식회사 스마트기기 기반의 실내 위치 측정을 위한 하이브리드 위치 측위 방법
KR20190106917A (ko) * 2019-02-21 2019-09-18 엘지전자 주식회사 주차 위치를 기록하기 위한 방법 및 디바이스

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100929892B1 (ko) * 2008-03-31 2009-12-04 (주)성경기술공사 수치지도의 편집방법
JP5089626B2 (ja) * 2009-02-04 2012-12-05 Kddi株式会社 推定位置に対する評価値を用いた位置推定方法、移動端末及びプログラム
KR101178041B1 (ko) * 2010-07-21 2012-08-30 한국과학기술원 실내 내비게이션을 수행하는 위치 기반 서비스 시스템 및 방법
KR101425563B1 (ko) * 2013-01-04 2014-07-31 (주)휴빌론 실내 보행자의 이동수단 판별방법
US9664520B2 (en) * 2013-11-27 2017-05-30 Qualcomm Incorporated Apparatus and method for generating assistance data with vertical access areas and predicted vertical movement models
KR20160094021A (ko) * 2015-01-30 2016-08-09 한국과학기술연구원 보행자용 실내 네비게이션을 위한 맵매칭 방법 및 장치
KR101751731B1 (ko) * 2015-08-10 2017-06-29 숭실대학교산학협력단 위치 추적 시스템 및 방법
KR20170081884A (ko) * 2016-01-05 2017-07-13 한국전자통신연구원 실내 경로 안내 장치 및 그 동작 방법
KR20170088686A (ko) * 2016-01-25 2017-08-02 버츄얼빌더스 주식회사 실내 네비게이션 시스템 및 방법
KR102079061B1 (ko) * 2017-10-27 2020-02-19 동명대학교 산학협력단 시각 장애인용 실내 경로 안내 장치 및 그 방법
KR102129258B1 (ko) * 2018-08-02 2020-07-02 주식회사 다비오 지도 제작 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110096321A (ko) * 2010-02-22 2011-08-30 현대엠엔소프트 주식회사 실내의 지도 정보를 이용하여 경로를 제공하는 장치 및 방법
KR20130067135A (ko) * 2011-12-13 2013-06-21 삼성전자주식회사 동작 모드에 기초한 네비게이션 정보 제공 시스템 및 방법
KR20160105975A (ko) * 2014-01-08 2016-09-08 퀄컴 인코포레이티드 올웨이즈 온 기압계를 통한 포지셔닝을 위한 방법 및 장치
KR20180110392A (ko) * 2017-03-29 2018-10-10 현대엘리베이터주식회사 스마트기기 기반의 실내 위치 측정을 위한 하이브리드 위치 측위 방법
KR20190106917A (ko) * 2019-02-21 2019-09-18 엘지전자 주식회사 주차 위치를 기록하기 위한 방법 및 디바이스

Also Published As

Publication number Publication date
KR102611202B1 (ko) 2023-12-07
KR102579579B1 (ko) 2023-09-18
KR102611199B1 (ko) 2023-12-07
KR102658152B1 (ko) 2024-04-17

Similar Documents

Publication Publication Date Title
Li et al. Top 10 technologies for indoor positioning on construction sites
US8825388B2 (en) Indoor likelihood heatmap
US9949090B2 (en) Location tracking system and method
US10415978B2 (en) Landmark location determination
Zhuang et al. Bluetooth localization technology: Principles, applications, and future trends
KR102147625B1 (ko) 위치지문맵의 생성 및 이용
US8954267B2 (en) Mobile device positioning
US20200304952A1 (en) Revising an unstable location fingerprint database for an area
US9797984B2 (en) Mobile portable device and positioning
CN103162683B (zh) 用于执行地图匹配的装置和方法
CN103843429A (zh) 针对设备位置的位所指示控制
KR20170130234A (ko) 실내 네비게이션을 제공하는 전자장치 및 이의 방법
US20150212191A1 (en) Method and apparatus for optimizing positioning based on positioning compatibility classification
Retscher et al. Range validation of UWB and Wi-Fi for integrated indoor positioning
KR102611204B1 (ko) 모바일 디바이스의 이동 패턴에 기반한 실내 지도 어플리케이션 제어 방법 및 시스템
Jeon et al. Indoor WPS/PDR performance enhancement using map matching algorithm with mobile phone
Veenstra et al. Guiding sensor-node deployment over 2.5 D terrain
Kessel et al. Automated WLAN calibration with a backtracking particle filter
Shin et al. Novel indoor fingerprinting method based on RSS sequence matching
Bawane et al. A Review on Wireless Sensor Network Localization Techniques: Deployment and Challenges
Zibaei et al. Evaluation of Improved K-Nearest Neighbors for Indoor Positioning System in Real Complex Buildings
Torres-Sospedra et al. A meta-review of indoor positioning systems
Hofer et al. Combined Wi-Fi and Inertial Navigation with Smart Phones in Out-and Indoor Environments
KR102528487B1 (ko) 스팟 서비스를 제공하기 위한 이미지 타입의 측위 지도를 구축하는 방법 및 장치
Triyono et al. Smartphone-based Indoor Navigation for Guidance in Finding Location Buildings Using Measured WiFi-RSSI

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant